7-5 フォントについて

『PDF Tool API』で扱うフォントの仕様について説明します。

7-5-1 『PDF Tool API』におけるフォントを扱う機能

『PDF Tool API』でフォントを扱う機能には、以下の種類があります。

7-5-2 描画とフォント埋め込みに使用するフォントの参照先について

文字列の描画処理とフォントの埋め込み処理では、動作環境に存在するフォント使用します。参照先はOSにより異なります。

[フォントの参照先]

Windows

動作環境のフォントフォルダに存在するフォントを使用します。

フォントフォルダは、「{システムドライブ}:\WINDOWS\Fonts」です。

フォントフォルダとは別の場所にあるフォントを使用する場合は、「フォント構築ファイル」を設定します。

Linux(X86)

使用するフォントを「フォント構築ファイル」に設定します。

フォントはあらかじめ動作環境にインストールしてください。

[フォント構築ファイルの設定]

フォント情報を特定のフォルダから取得する場合、フォルダパスをフォント構築ファイル内に記入・設定する必要があります。

フォント構築ファイルは「font-config.xml」の名前を持つXMLファイルです。Windows版、Linux版を問わず、インストール時にインストーラによって以下のパスに配置されます。

{インストールフォルダ}\fontconfig\font-config.xml

フォントファイルが存在するフォルダパスを、「font-config.xml」内で「font-folder path」タグに記述します。

font-config.xml 記述例(Windowsで「C:\TestFont」フォルダを指定したい場合)

<font-config>
 <font-folder path=”C:\TestFont”></font-folder>
</ font-config>

[環境変数の作成]

フォント構築ファイルの設定を反映させるためには、環境変数を作成し値を設定します。

  • 環境変数名:PTL80_FONT_CONFIGFILE
    設定する値:font-config.xmlのフルパス

7-5-3 PDFに文字列を描画する

PDFのページコンテントに文字列を描画したり、テキスト透かしを挿入する処理を行う場合、動作環境に存在するフォント情報を取得しこれを利用して処理を行います。

フォント情報取得のために参照する場所などについては、『7-5-2 描画とフォント埋め込みに使用するフォントの参照先について』を参照してください。

7-5-4 PDF上に存在するフォントを埋め込み状態にする

PDF上に存在するフォントについて、動作環境に存在するフォント情報を使用してPDFに埋め込みます。

使用するフォント情報の参照先については、『7-5-2 描画とフォント埋め込みに使用するフォントの参照先について』を参照してください。

ただし、次のフォントについては、埋め込み指示があってもフォント情報は埋め込まれません。

7-5-5 PDF上に存在するフォントを統合する

フォント統合における例外について

  • 注釈とフォームフィールドのフォントは統合の対象となりません。
  • 同じ文字で描画命令が違うものは統合の対象となりません。
  • 重複するフォント情報をひとつに統合しますが、統合により必ずファイルサイズが小さくなるわけではありません。
  • 埋め込まれたフォントファイルの内容をチェックし以下の条件の場合は統合されません。
    • TrueType フォントの場合、cmap、head,hhea,hmtx,maxp,cvt,fpgm,prep の各テーブルで違うものがあれば統合の対象となりません。
    • CIDFontType2 フォントの場合、head,hhea,hmtx,maxp,cvt,fpgm,prep の各テーブルで違うものがあれば統合の対象となりません。
    • Type1(CFF 形式のみ)、CIDFontType0において、メジャーバージョン、マイナーバージョンが異なる場合、統合の対象となりません。
  • フォント辞書の内容をチェックし以下の条件の場合は統合されません。
    • CIDFontType2、CIDFontType0の場合、
      • 「CIDSystemInfo」辞書の「Registry」キー(文字コレクションの発行者を識別する文字列)、「Ordering」キー(「Registry」の文字コレクションに一意の名前を付ける文字列)が違うものは統合対象外
      • 「DW」キー(グリフのデフォルトの幅)が違うものは統合対象外
      • 「DW2」キー(縦書き用のグリフのメトリック)が違うものは統合対象外
      • 「CIDToGIDMap」キーが「Identity」という値以外の名前、もしくは型がストリームの場合は統合対象外
      • 同じ文字で「W」キー(「DW」の説明)の値が違うものがある場合は統合対象外
      • 同じ文字で「W2」キー(「DW2」の説明)の値が違うもがある場合は統合対象外
      • 「Weight」キー(太さ)が違う場合は統合対象外
    • TrueType、Type1(CFF形式のみ)の場合、
      • 「Weight」キー(太さ)が違う場合は統合対象外

Please enter alt text.