2009-10-20 7 views
6

Je dois internationaliser une application, et je dois donc laisser un utilisateur choisir une police pour un PDF que je vais créer à l'exécution. Je veux être en mesure d'afficher une liste de choix de polices à partir du système de l'utilisateur à l'aideUtilisation de nouvelles polices avec Apache FOP en Java

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

Cela fonctionne bien pour obtenir des polices, mais il semble que je dois sauter à travers quelques cerceaux pour obtenir cette police pour jouer bien avec FOP, comme indiqué here. Je peux suivre toutes les instructions qu'ils ont décrites, sauf que je ne suis pas sûr de savoir comment obtenir l'emplacement des polices afin d'exécuter TTFReader.

  1. Est-ce que quelqu'un sait comment lister le chemin de chaque police que java rassemble avec la commande getAllFonts()?
  2. Est-ce une bonne idée d'intégrer des polices dans des fichiers PDF? Par exemple, le fichier Arial Unicode MS TFF est ~ 30 Mo.
  3. Est-ce la seule façon de créer des pdfs internationalisés avec FOP et XSL?

Répondre

7

Il y a eu des améliorations dans la configuration de la police avec la dernière version (FOP 0,95), donc s'il vous plaît simplement consulter le document là pour une approche beaucoup plus facile: http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

Les fichiers métriques de police XML ne sont plus nécessaire.

Pour vos questions:

  1. C'est impossible. Java ne vous donnera pas cette information. C'est en partie pourquoi FOP a son propre sous-système de polices.
  2. Oui, c'est vraiment recommandé. S'il vous plaît noter que FOP prend en charge le sous-ensemble de polices de sorte que seuls les glyphes nécessaires sont intégrés dans le PDF.
  3. Je ne sais pas ce que vous voulez dire. Avec les informations ci-dessus et une mise à niveau vers la dernière version devrait rendre cela assez simple.
+1

Le site Web, vous avez publié fonctionnait parfaitement, et incorporé la police correctement. Cependant, il n'affiche pas tous les caractères correctement. J'utilise Arial Unicode MS (qui a des glyphes pour la plupart des caractères Unicode), et j'essaye de rendre un caractère chinois aléatoire, même si cela est supporté dans Arial Unicode MS, et la police du PDF est Arial Unicode MS (que j'ai vérifié est incorporé), il le rend comme ä¸ Des idées? – Jon

Questions connexes