5-2 フォントについて

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

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

『PDF Tool API』におけるフォントを扱う機能は以下の通りです。

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

文字列の描画処理とフォントの埋め込み処理では、動作環境に存在するフォントを使用します。
フォント情報の参照先や、参照するための設定について説明します。

[フォントの参照先]

<Windows>

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

フォントフォルダは、以下のパスに存在します。

{システムドライブ}:\WINDOWS\Fonts

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

<Linux(X86)>

使用するフォントの配置フォルダを「フォント構築ファイル」で設定する必要があります。

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

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

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

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

フォルダパスは[font-config.xml]内の「font-folder」要素のpath属性の値として記述します。


例えばWindowsで「C:\TestFont」フォルダを指定したい場合、以下のように指定します。


font-config.xml記述例(Windowsの場合)

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

[フォント構築ファイル配置先の指定]

任意のフォルダに配置したフォント構築ファイルを反映させたい場合、環境変数を次のように指定します。

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

Windows版では、インストール時に環境変数を指定するオプションが選択可能です。その場合、インストーラによって配置される[font-config.xml]のフォルダパスが環境変数に指定されます。

注意:
Linux版ではWindows版とは異なりインストーラが環境変数の設定を行いません。その代わりに、環境変数が設定されたシェルスクリプト[run.sh]がインストーラによって配置されます。[run.sh]に関する詳細は『7-1-4 Linux版の実行方法』を参照してください。

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

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

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

[描画に使用するフォントについて]

以下の種類のフォントを用いて描画処理が可能です。

  • TrueTypeフォント(Unicode cmapを持つもの)
  • OpenTypeフォント(Unicode cmapを持つもの)
  • Type1フォント

補足:描画処理におけるフォントの例外について

  • ビットマップフォント、Type3フォントでの描画には対応していません。
  • 縦書き処理の場合、イタリック(斜体)の指定があってもフォントがグリフを持っていない場合はイタリックでは描画されません。

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

PDF上のテキストには、PDF内にフォント情報が埋め込まれていないことがあります。、そのとき、動作環境に存在するフォント情報を使用してPDFへの埋め込みが可能です。

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

補足:埋め込み処理におけるフォントの例外について

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

  • 動作環境に存在しないフォント
  • TrueType:フォント埋め込みが禁止されたフォント
  • Type1:PFBファイルが存在しないフォント

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

フォント統合は、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.