2009-10-20 7 views
6

응용 프로그램을 국제화해야하므로 사용자가 런타임에 만들 PDF의 글꼴을 선택하게해야합니다. 나는Java에서 Apache FOP와 함께 새 글꼴 사용

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

이 글꼴을 얻기 위해 잘 작동 사용하여 사용자의 시스템에서 글꼴 선택의 목록을 표시 할 수 있도록하려면,하지만 내가 좋은 플레이 해당 글꼴을 얻기 위해 몇 가지 농구를 통해 이동해야 할 것 같습니다 here으로 설명 된 FOP. TTFReader를 실행하기 위해 글꼴의 위치를 ​​얻는 방법을 모르겠다는 것을 제외하고는 내가 설명한 모든 지시 사항을 따를 수 있습니다.

  1. 누구든지 getAllFonts() 명령으로 Java가 수집하는 각 글꼴의 경로를 나열하는 방법을 알고 있습니까?
  2. 글꼴을 PDF에 포함시키는 것이 좋은 생각입니까? 예를 들어 Arial Unicode MS TFF 파일은 ~ 30MB입니다.
  3. FOP 및 XSL을 사용하여 국제화 된 PDF를 작성하는 유일한 방법입니까?

답변

7
마지막 릴리스 (FOP 0.95)와 글꼴 설정에 큰 개선이 있었다

, 그래서 그냥 훨씬 쉽게 접근이 문서를 참조하십시오 : 이 http://xmlgraphics.apache.org/fop/0.95/fonts.html#basics

는 XML 글꼴 메트릭 파일이 더 이상 필요한. 질문에 대한

: 불가능

  1. . Java는 그 정보를 제공하지 않습니다. FOP에 자체 글꼴 하위 시스템이있는 이유 중 일부입니다.
  2. 예, 실제로 권장됩니다. FOP는 글꼴 하위 집합을 지원하므로 필요한 문자 모양 만 PDF에 포함됩니다.
  3. 무슨 뜻인지 확실치 않습니다. 위의 정보와 최신 릴리스로 업그레이드하면이 작업이 충분히 간단 해집니다.
+1

게시 한 웹 사이트는 완벽하게 작동했으며 올바르게 글꼴을 포함 시켰습니다. 그러나 모든 문자가 올바르게 표시되지는 않습니다. 나는 Arial Unicode MS (대부분의 유니 코드 문자에 대해 글리프가 있음)를 사용하고 있으며 임의의 한자 인 丞을 렌더링하려고합니다. Arial Unicode MS에서 지원되지만 PDF의 글꼴은 Arial Unicode MS입니다. (내가 확인한 것은 임베디드 임), 그것을 어떤 아이디어로 렌더링합니까? – Jon