2009-10-20 16 views
6

アプリケーションを国際化する必要があるため、実行時に作成するPDFのフォントをユーザーが選択できるようにする必要があります。私はこのフォントを取得するため正常に動作JavaでApache FOPで新しいフォントを使用する

GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); 

を使用して、ユーザーのシステムからフォントの選択肢のリストを表示できるようにしたいが、それは私が素晴らしいプレーするためにそのフォントを取得するために、いくつかのフープを介してジャンプしなければならないようですhereで概説されているように、FOPを使用します。私はTTFReaderを実行するためにフォントの場所を取得する方法がわからないことを除いて、彼らが概説したすべての指示に従うことができます。

  1. JavaがgetAllFonts()コマンドで収集する各フォントのパスをリストする方法を知っている人はいますか?
  2. フォントをPDFに埋め込むことをお勧めしますか?たとえば、Arial Unicode MS TFFファイルは〜30 MBです。
  3. これは、FOPとXSLで国際化されたpdfsを作成する唯一の方法ですか?

答えて

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(大部分のUnicode文字にグリフが付いています)を使用していますが、Arial Unicode MSでサポートされていてもランダムな中国語の文字eanをレンダリングしようとしています。また、PDFのフォントはArial Unicode MS (私はそれが埋め込まれていることを確認しました)、それはどのようなアイデアとしてそれをレンダリング? – Jon

関連する問題