12

フォントとベースフォントで何が起こっているのかについて、私には多くの謎があります。特にコンストラクターに関しては。iText Webサイトでは、この行を新しいフォントのサンプルコードとして提供しています。

 BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", 
                        BaseFont.IDENTITY_H, 
                        BaseFont.EMBEDDED);

この呼び出しを機能させることができます:

BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257, 
                  BaseFont.EMBEDDED);

しかし、BaseFont.CP1257をBaseFont.HELVETICAに置き換えると、機能せず、「PDFドキュメントの読み込みに失敗しました」というページが表示されます。

クラスファイルを調べてみましたが、2番目のパラメータが何であるかがわかりません(HTMLのように、最初のフォントが機能しない場合のバックアップフォントのようなものだと思います)。一部のフォントが機能し、他のフォントが機能しない理由がわかりません。

4

3 に答える 3

4

2 番目のパラメーターはエンコーディングです。

詳細については、こちらのドキュメントを参照してください。

于 2012-08-15T14:37:32.543 に答える