10–1 フォントについて
テキスト透かしの挿入や、PDFページのコンテンツに文字列を描画する処理を行うにはフォント情報が必要です。
10–1–1 フォント情報の取得
- Windows 版においては、システムのフォントフォルダ(通常、「{システムドライブ}:\WINDOWS\Fonts」)に存在するフォントを参照します。
- フォントフォルダとは別の場所にあるフォントを使用する場合は、「フォント構築ファイル」を設定します。
- Linux / Amazon Linux2 X86版においては、「フォント構築ファイル」の設定は必須です。
10–1–2 フォント構築ファイルの設定
フォント情報を特定のフォルダから取得する場合、フォント構築ファイルを設定します。
フォント構築ファイルは、以下のファイルです。
インストールフォルダ\fontconfig\font-config.xml
フォントファイルが存在するフォルダパスを、「font-folder path」タグに記述します。
font-config.xml 記述例(Windows 版)
<font-config>
<font-folder path=”C:\TestFont”></font-folder>
</ font-config>
10–1–3 環境変数の作成
フォント構築ファイルの設定を反映させるためには、環境変数を作成し値を設定します。
環境変数名: PTL70_FONT_CONFIGFILE
設定する値: font-config.xml のフルパス
10–1–4 サポートしているフォントの種類
- TrueType フォント(Unicode cmap を持つもの)
- OpenType フォント(Unicode cmap を持つもの)
- Type1 フォント
10–1–5 フォントの埋め込み
PDF Tool API での処理時にフォントの埋め込みを指示した場合にフォント情報がPDF ファイルに埋め込まれます。
ただし、次のフォントについては、埋め込み指示があってもフォント情報は埋め込まれません。
- TrueType、OpenType:フォント埋め込みが禁止されたフォント
- Type1:PFB ファイルが存在しないフォント
10–1–6 フォントの統合
- フォント統合は、PDF に埋め込まれているフォントに対して行われます。
- 次のフォントが統合対象です。
- TrueType、Type1(CFF 形式のみ)、CIDFontType2、CIDFontType0
- 同じフォントタイプであってもFont 辞書の値(Ascent,CapHeight など)が異なる場合は統合の対象となりません。
- TrueType フォント、CIDFontType2 フォントに対しては、cmap、head,hhea,hmtx,maxp,cvt,fpgm,prep の各テーブルが同一である場合のみ統合の対象となります。
10–1–7 制限事項
- ビットマップフォント、Type3フォントには対応していません。
- 縦書きではイタリックの指定があってもフォントがグリフを持っていない場合はイタリックにはなりません。
- フォント埋め込み処理において、埋め込み対象となるフォントが動作環境に存在していなければなりません。
- フォント埋め込み処理において、フォントが埋め込み禁止である場合は埋め込み処理は行われません。
- フォント統合処理では重複するフォント情報をひとつに統合しますが、統合により必ずファイルサイズが小さくなるわけではありません。