トラスト・ソフトウェア・システム
 >   >   > トラブルシューティング
 

フォントの置き換え方針 

この章では、レンダリングエンジンの正確なフォント処理動作を説明します。この説明はむしろ技術的であり、ソフトウエアを利用するのみであれば理解する必要はありません。 

 

フォントの検索は、以下のステップで順次行われます。各ステップにおいて、もしフォントが検索できた場合は停止され、そうでなければ次が実行されます。

1.     フォントが埋め込まれていない、またはeOptionPreInstalledが有効になっている場合: 

a.     フォント名が設定ファイル“fonts.ini”の[Replace]セクションに記載されている場合は、フォント名は指定された名前に代替され、その名前のフォントをインストールされているフォントのコレクションから検索します。

b.     フォント名が標準フォント[1]の場合は、そのフォントは同等のTrueTypeフォントに代替され、その名前のフォントをインストールされているフォントのコレクションから検索します。

c.     フォント名が設定ファイル“fonts.ini”の[Fonts]セクションに記載されている場合は、フォント名は指定された名前に代替され、その名前のフォントをインストールされているフォントのコレクションから検索します。

d.     フォント名が“Italic”(イタリック)や“Bold”(ボールド)といった装飾指定されている場合は、それらの装飾指定のないフォントをインストールされているフォントのコレクションから検索します。 

2.     フォント名がインストールされているフォントのコレクションから検索できた場合は、フォント名を以下のように比較します:

a.     PostScript

b.     空白なしのTrueType名(不足している装飾指定は、“Regular”または“Normal”と解釈されます)

c.     修正なしのTrueType

3.     フォントが埋め込まれている場合は、そのフォントがWindowsの互換フォントと変換され一時的にインストールされます。eOptionNoEmbeddedが指定された場合そのフォントのグリフ(字形)は、ビットマップまたはアウトライン[2]のいずれかに変換されます。

4.     フォントが埋め込まれていない、かつUnicodeが有効な場合は、最も近いフォントがインストールされたフォントコレクションから検索され指定フォントのメトリックスに調整されます。

5.     フォントが埋め込まれている場合は、それがアウトラインに変換されます。

6.     他の場合は、インストールされたフォントコレクションにある最も近いフォントが使われます。

フォントマッピングファイル“fonts.ini”を使用する 

font.ini”は、PDFで使われているフォントを、システムにプレインストールされているフォントにマップするための設定ファイルです。このマッピングファイルは、メインのDLLまたは実行可能ファイルが格納されたフォルダーの直接のサブフォルダーである“Fonts”という名前のフォルダーに格納されていなければなりません。

マッピングファイルはオプションで、2つのセクション[fonts][replace]で構成されています。

2つのセクションは、PDFのフォントをシステムにプリインストールされたフォントにマップするために使われます。これらは、PDF文書が埋め込まれたフォントプログラムを持っていない場合または、埋め込みフォントが使用できない場合に働きます。

フォントがマッピングされるのは、指定されたフォントのフォントタイプが一致した場合だけです。例えば、PDFに“Symbol”や“ZapfdingBats”がある場合に、マップされるフォントはやはりシンボル フォントです。

[fonts]セクションは、フォント・マッチャが適切なフォントをインストールされたフォントの中から見つけられない場合に考慮されます。このような場合にのみこのセクションを利用しようとします。

[replace]セクションは、強力にフォント・マッチャより先に適用されようとします。これは、正しいプリインストールフォントがシステムで利用できる場合であっても、フォントが置き換えられることを意味します。

Syntax

マッピングファイルは、以下のように記述します。

[fonts]

PDF_font_1=installed_font_1, {font_style}

PDF_font_2=installed_font_2, {font_style}

[replace]

PDF_font_n=installed_font_n, {font_style}

 

PDF_font_* は、PDFにあるフォントの名前です。この名前は、以下のいずれかの方法で見つけることができます。

·         PDF文書に使われているフォントを一覧するツール(3-Heights PDF Extractまたは3-Heights PDF Optimizer)を使って探します見つかったサブセットフォントの名前では無視できる接頭辞を無視します。接頭辞は“+”(プラスサイン)で区切られた6文字で構成されます。例えば、名前が“KHFOKE+MonotypeCorsiva”であった場合は、“MonotypeCorsiva”をフォント名としてマッピングファイルに記載します。

·         文書をAdobe Acrobatで開きます、「文書テキストを編集 ツール」をつかってフォント名を知りたい文字列をマークします、マークされた文字列を右クリックします。表示されたメニューでプロパティを選択します。

installed_font_* は、インストールされたフォントのファミリー名です。この名前を取得するには、Windowsのフォントフォルダーでそのフォントを探し、ダブルクリックして開きます。このときプロパティウィンドウの最初の行にフォントのファミリー名が表示されます(ただし、表示される内容や位置は、OSやそのバージョンに依存します)。フォントファミリーには、フォントスタイルが含まれません、例えば“Arial”はフォントファミリー名ですが、“Arial Itaric”はそうではありません。

font_style は、オプションのスタイルで、コンマで区切ってフォントファミリー名に追加します。このスタイルは、常に“Itaric”、“Bold”や“BoldItaric”のように単語で指定します。

[fonts]

Ryumin-Light=MS Mincho

GothicBBB-Medium=MS Gothic

[replace]

ArialIta=Arial,BoldItalic

Deal with Fonts that Are Not Rendered Correctly”の対処方法

テキストが誤って印刷される場合の可能な回避策を以下に記します。回避策は、以下に記された順で試してください。

1.      埋め込みフォントがスプールファイルとプリンターハードウェアで使えなくなるように、eOptionNoEmbeddedオプションを指定します。この場合は、グリフ(字形)がビットマップ又はアウトラインに変換されます。なお、同時にeOptionOutlineオプションを指定すると、その変換はアウトラインに制限されます。

2.      埋め込みフォントに替わって、インストールされている同じ名前の(対応する)フォントが使われるように、eOptionPreInstalledオプションを指定します。

3.      ビットマップをプリレンダリングし、プリレンダリング画像を使うようにします(eOptionBitmap)。

3-Heigths™のレンダリングエンジンは、いくつかのブレンドモードと同じ様に隔離および非隔離グループの(一般的ではない)透明機能をサポートしています。

PDF文書では、すべてのページに表示の向きの属性があります。この属性は、ビュワーで表示されたときの向きを定義したものです。もしこの設定どおりに向きを指定してレンダリングする場合は、プロパティをRotateMode = eRotateAttributeとセットします。



[1] Times-RomanHelveticaCourierなど

[2] グリフのアウトライン(輪郭)は、元のフォントプログラムへ参照しないベクトル型のグラフィックです。

 
Copyright© Trust Software System, All Rights Reserved.