2009-10-20 9 views
6

Tengo que internacionalizar una aplicación y, por lo tanto, debo permitir que un usuario elija una fuente para un PDF que crearé en tiempo de ejecución. Quiero ser capaz de mostrar una lista de opciones de fuente de sistema del usuario utilizandoUso de fuentes nuevas con Apache FOP en Java

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

Esto funciona muy bien para conseguir fuentes, pero luego parece que tengo que saltar a través de algunos aros para conseguir esa fuente a jugar bonito con FOP, como se describe here. Puedo seguir todas las instrucciones que han descrito, excepto que no estoy seguro de cómo obtener la ubicación de las fuentes para ejecutar TTFReader.

  1. ¿Alguien sabe cómo enumerar la ruta de cada fuente que java reúne con el comando getAllFonts()?
  2. ¿Es una buena idea insertar fuentes en archivos PDF? Por ejemplo, el archivo Arial Unicode MS TFF tiene ~ 30 MB.
  3. ¿Es esta la única forma de crear archivos PDF internacionalizados con FOP y XSL?

Respuesta

7

Ha habido grandes mejoras en la configuración de fuente con la última versión (FOP 0,95), así que por favor consulte el documento allí por un enfoque mucho más fácil: http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

Los archivos de medidas de fuente XML ya no están necesario.

a sus preguntas:

  1. Eso es imposible. Java no le dará esa información. Eso es en parte por lo que FOP tiene su propio subsistema de fuentes.
  2. Sí, en realidad se recomienda. Tenga en cuenta que FOP admite el subconjunto de fuentes, por lo que solo los glifos necesarios están incrustados en el PDF.
  3. No estoy seguro de lo que quiere decir. Con la información anterior y una actualización a la última versión debería hacer esto lo suficientemente simple.
+1

El sitio web que publicó funcionó perfectamente e incrustó la fuente correctamente. Sin embargo, no muestra todos los caracteres correctamente. Estoy usando Arial Unicode MS (que tiene glifos para la mayoría de los caracteres Unicode), y estoy tratando de representar un carácter chino aleatorio, 丞, a pesar de que es compatible con Arial Unicode MS, y la fuente del PDF es Arial Unicode MS (que he verificado que está incrustado), lo representa como ä¸ ¿Alguna idea? – Jon

Cuestiones relacionadas