PDF フォント

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > XML >

PDF フォント

フォーマッターと PDF ビューアーに対するフォントの使用

(例えば FOP といった)フォーマッターにより PDF が作成され、PDF ビューアー(例えば Adobe Reader)にて確認することができます。

 

PDF のレイアウトを行うには、ドキュメント内で使用されているフォント、その中でも特に、使用されている文字の幅に関する詳細をフォーマッターへ伝える必要があります。この情報を使用することで行の長さやハイフンの位置、行端揃えなどの計算が行われます。この情報はフォントメトリックと呼ばれ、各フォントとともに保管されます。フォーマッターによっては、システムのフォントフォルダーからメトリックを直接読み込むことができますが、(FOP のような)それ以外のフォーマッターに対しては、定められた形式でメトリックを渡す必要があります。フォントのメトリックがフォーマッターに対して与えられると、期待されるかたちで PDF のレイアウトが作成されることになります。そのため、ドキュメントにて使用されている全てのフォントに対するメトリックファイルが、使用しているフォーマッターに対して渡されるようにする必要があります。

 

フォーマッターはフォントを参照することができるほか、PDF ファイル内部にフォントを埋め込むことができます。フォントが参照された場合、PDF ビューアー(例: Adobe Reader)は通常(base 14 フォントが含まれる)独自のリソースフォルダーからそのフォントの検索を行い、フォントがそこに無い場合はシステムのフォントフォルダーを検索します。フォントが利用できる場合、PDF が表示される際にそのフォントが使用されます。フォントが見つからない場合、リソースフォルダー上にある代替フォントが使用されるか、エラーが表示されます。代替フォントには異なるメトリックが指定されている場合もあり、表示エラーが生成される可能性もあります。

 

フォーマッターによりフォントが PDF ファイル内部に埋め込まれた場合、埋め込まれたフォントが PDF ビューアーにより使用されます。フォーマッターはフォントの全文字セットを埋め込むことができるほか、ドキュメント内部で使用されているフォントのサブセットだけを埋め込むことができます。フォントの埋め込み方法により、PDF ファイルの大きさが変わってくるだけではなく、フォントの使用に関する版権にも影響を与える可能性があります(以下のメモを参照ください)。フォーマッターのオプションを指定する際に、これらオプションの選択を指定できる場合があります。

 

XMLSpy と PDF フォント

XMLSpy では、XSL-FO ドキュメント(以下 FO ドキュメント)から PDF が生成されます。FOP といった外部 FO プロセッサーにより、XSL-FO ドキュメントが処理されます。オプションダイアログでは、FO プロセッサーの場所を指定することができます。これにより XMLSpy の GUI から FO の処理を開始することができます。

 

XSL-FO ドキュメントそのものは XML ドキュメントを XSLT スタイルシートで処理することにより生成されます。(XMLSpy に搭載されている)Altova の XSLT エンジンを使用することができるほか、外部 XSLT エンジンを使用することができます。

 

全テキストのフォントプロパティを含む PDF ドキュメントのフォーマットは、XSL-FO ドキュメントにて指定されます。使用しているフォーマッターがフォントのメトリックをフォントから直接読み取ることができる場合、フォントにアクセスするためにフォーマッターのセットアップを行う必要があります。FOP をフォーマッターとして使用している場合、base-14 フォントに含まれないフォントに対して、適切なフォントメトリックフィルを指定する必要があります。

 

フォーマッターがフォントを利用できるようにする

(FOP を含む)ほとんどのフォーマッターでは既に base 14 フォントを利用することができ、これらのフォントをフォーマッターへ指定するために使用される名前を知ることが重要になります。base 14 フォントはフォーマッターによりサポートされる基本的なフォントですが、フォーマッター固有の方法に従うかたちで、これらのフォント以外にもフォーマッターが扱うことのできるフォントの数を増やすことができます。以下では FOP にてフォントの数を増やす方法について記述されます。

 

FOP に対して新たなフォントサポートを追加するためのセットアップ手順

以下のステップにより、FOP が使用することのできるフォントを追加することができます:

 

1.PostScript または TrueType フォントファイルから、フォントのメトリックファイルを生成します。FOP に搭載されている PFM Reader ならびに TTF Reader ユーティリティにより、PostScript ならびに TrueType フォントを XML フォントメトリックファイルへ変換することができます。詳細については、FOP: Fonts ページを参照ください。
2.FOP 構成ファイルをセットアップすることで、目的のフォントメトリックファイルを使用することができるようになります。FOP 構成ファイルにてフォントファイルに関する情報を入力することになります。FOP: Fonts ページを参照ください。
3.fop.bat ファイルにて、以下にある最後の行を:

 

         "%JAVACMD%" […] org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS%

 

 

構成ファイルの場所を含むように変更します:

 

 

"%JAVACMD%" […] org.apache.fop.cli.Main %FOP_CMD_LINE_ARGS% -c conf\fop.xconf

 

メトリックファイルが FOP(FOP 構成ファイル)にて登録され、FOP 実行ファイルが構成ファイルを読み取るようにセットされることで、指定されたフォントを PDF の作成に使用することができるようになります。

 

FOP 構成ファイルのセットアップ

FOP 構成ファイルは fop.xconf という名前で、FOP インストールフォルダー内にある conf フォルダー以下に配置されています。XML 形式により記述されるこのファイルを編集することで、FOP によりフォントメトリックファイルが適切に読み取られるように指定する必要があります。ドキュメント内部にある font 要素プレースホルダにて示される場所に、レンダリングを行う各要素に対応した font 要素を追加する必要があります:

 

<font metrics-url="arial.xml" kerning="yes" embed-url="arial.ttf">

         <font-triplet name="Arial" style="normal" weight="normal"/>

         <font-triplet name="ArialMT" style="normal" weight="normal"/>

</font>

 

上の例は、以下のように理解することができます:

 

arial.xml

メトリックファイルの URL です。絶対パスの使用が推奨されます。

arial.ttf

TTF ファイルの名前です(通常 %WINDIR%\Fonts 以下に収められています)。

Arial

フォントファミリーに Arial が指定されている場合、上記のメトリックと TTF ファイルが使用されるように指定します。

style="normal"

フォントスタイルが(italic などではなく)normal として定義されている場合、上記のメトリックと TTF ファイルが使用されるように指定します。

weight="normal"

フォントウェイトが(bold などではなく)normal として定義されている場合、上記のメトリックと TTF ファイルが使用されるように指定します。

 

 

フォントの版権に関するメモ: フォントの使用は著作権法の対象となり、使用に関する条件は一定ではありません。フォントの埋め込みを行う場合、特にフォント全体の埋め込みを行う場合、購入したフォントをそのように使用しても問題が無いか確認する必要があります。

 

文字セット

フォントの文字セットも考慮する必要がある点に注意してください。base 14 フォントでは、ISO-8859-1 により規定される文字の他に、シンボルと Zapf Dingbats フォントにある文字がカバーされます。base 14 フォントによりカバーされない文字がドキュメントに含まれる場合、その文字が含まれる文字セットを含んでいるフォントを使用する必要があります。Arial Unicode のようなフォントには、Unicode によりカバーされる文字が含まれます。

 


(C) 2018 Altova GmbH