2009-10-20 46 views
6

Muszę internacjonalizować aplikację, a zatem muszę pozwolić użytkownikowi wybrać czcionkę do pliku PDF, który utworzę w czasie wykonywania. Chcę być w stanie wyświetlić listę wyboru czcionek z systemu użytkownika za pomocąUżywanie nowych czcionek z Apache FOP w Javie

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

Działa to dobrze dla coraz czcionek, ale wydaje się, że muszę przejść przez kilka obręcze, aby ta czcionka grać ładny z FOP, jak określono here. Mogę wykonać wszystkie instrukcje, które nakreślili, ale nie jestem pewien, jak uzyskać lokalizację czcionek, aby uruchomić program TTFReader.

  1. Czy ktoś wie, jak wyświetlić ścieżkę dla każdej czcionki, którą gromadzi java za pomocą polecenia getAllFonts()?
  2. Czy dobrze jest osadzać czcionki w plikach PDF? Na przykład plik Arial Unicode MS TFF ma ~ 30 MB.
  3. Czy to jedyny sposób na tworzenie międzynarodowych plików PDF z FOP i XSL?

Odpowiedz

7

Odnotowano znaczącą poprawę w konfiguracji czcionek z ostatniego wydania (FOP 0,95), więc proszę tylko skonsultować dokument istnieje o wiele łatwiejsze podejście: http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

czcionkę XML metryki pliki nie są już niezbędny.

na pytania:

  1. To niemożliwe. Java nie dostarczy Ci tych informacji. Po części dlatego FOP ma własny podsystem czcionek.
  2. Tak, jest to rzeczywiście zalecane. Należy pamiętać, że FOP obsługuje podzestawy czcionek, więc tylko wymagane glify są osadzone w pliku PDF.
  3. Nie jesteś pewien, co masz na myśli. Dzięki powyższym informacjom i aktualizacji do najnowszej wersji powinno to być wystarczająco proste.
+1

Strona, którą wysłałeś, działała idealnie i poprawnie osadziła czcionkę. Jednak nie wyświetla wszystkich poprawnie znaków. Używam Arial Unicode MS (który ma glify dla większości znaków Unicode) i próbuję renderować losową chińską literę 丞, nawet jeśli jest to obsługiwane w Arial Unicode MS, a czcionka pliku PDF to Arial Unicode MS (który sprawdziłem jest osadzony), czynią to jako ä¸ Jakieś pomysły? – Jon

Powiązane problemy