dvipskで埋め込みができないフォントの修正方法

■対象

PFA形式のフォントをdvipskで埋め込むときに

「Second number not found in Char string of '/FontName' 」

のエラーを一瞬表示して、dvipskが終了する場合、PFA形式のフォントが正しくありません。このエラーが発生する場合には、以下の手順で修正が必要です。

  1. t1disasmで当該フォントを可読な形式に変換する。
  2. t1charstrcheckで、実際に定義されている文字数を調べる。
  3. 正しい文字数に修正する。
  4. t1asmでPFA形式に変換する。

■必要なツール

■修正例

●MathematicaのMath2-Bold.pfaの場合

○該当バージョン

%!PS-AdobeFont-1.0: Math2-Bold 001.200
%%CreationDate: 1/15/98 at 5:32 PM

○t1disasmでMath2-Bold.pfa.srcに変換する。

○t1charstrcheckを起動し、ファイルを選択するダイアログでMath2-Bold.pfa.srcを選ぶ。

○定義されている文字名を表示して、最後に

"/CharStrings 225 dict dup begin" line has error.
/CharStings 225 dict dup begin, actual 223+0

と表示される。225文字であると宣言されていながら、実際には223文字しか定義されていない。なお、「223+0」の「+0」の部分は、「/.notdef」が定義されていると「+1」になる。

【参考】正しいPFA形式であるMath2.pfaでは

"/CharStrings 224 dict dup begin" line has no error.
/CharStings 224 dict dup begin, actual 223+1

のように表示される。

○エディタでMath2-Bold.pfa.srcを開き、

/CharStrings 223 dict dup begin

に修正する。

○t1asmでPFA形式に戻す。

■PFA形式のフォントが正しくないフォント

●MathematicaのMath2-Bold, Math5-Bold.

●Biblosの外字フォント.

%!PS-AdobeFont-1.0: BiblosGaiji-Gth-F0 001.001
%%CreationDate: 98.04.01 00:00:00
% (c) 1998 Biblos Inc. All rights reserved.
%%EndComments

同じバージョンのコメントをもつもの。190文字と宣言されているが、189文字しか定義されていない。

■その他

t1utils 1.2およびt1charstrcheckによるフォントの修正によって引き起こされる不具合、損害等に対して、本web page作成者は一切の責を負いません。

■連絡先

uchiyama@appi.keio.ac.jp

1999.12.31