ttcf2cid.ps - CIDFontType2 dictionary dumper by/for gs6.53 or gs7.05
鈴木俊哉さん、大和正武さんが作成して下さった ttctocid2.ps
を以下の目的のために改造しています。
- CIDMap が /arraytype, /integertype, /dicttype でもダンプ出来るように。[完了]
- GlyphDirectory が /dicttype でもダンプできるように。[完了]
- CIDFontType2 辞書に存在するすべてのエントリ(キーと値)に、絶対ダンプ洩れがないように。[完了]
- DSC 適合文書を生成するように。[完了]
- フォント名や著作権情報などの「文字列」の出力を、すべて安全側に倒す。[完了]
- VMusage の算出、gs が出す値は本当に正確なのか?
ttctocid2.ps
のフォントリソース名の RENAME オプション相当をサポートする。[完了]
ttctocid2.ps
のフォントリソース名のユーザー確認と改名(インタラクティブモード)をサポートする。[完了]
ttctocid2.ps
の ECHOONLY オプション(TrueTypeの PSNAME のみを出力して終了)をサポートする。[完了]
- ついでなので、自動判定して Type42 font も生成できるように。[完了]
- Type2(CFF) font の生成も対応した、たぶん。[完了]
- RD procedure について、PostScript3 プリンタで検証する。
- Phaser 750N - Adobe PostScript 3010.108(8) - OS 2.28 / PS 5.62 / Eng 10 - 64Mbytes - no HD
FontType42 font 送り込み印刷: 不成功
CIDFontType2 font 送り込み印刷: 不成功
- HD 付き PostScript3 プリンタで実験する。
- RAWMODE 等について、gs での速度検証。
CJK TrueType だと RD での速度向上はなされないようだ。むしろ逆効果のようだ。[ひとまず完了]
aliascid.ps
を作成し、運用面での ttcf2cid.ps
の調整。[2002/1/7] 若干調整した。
- CIDMap の /Resource/CIDMap への書き込みサポート。
- CMap を ttcf から生成して、その後、ファイルへの書き込みをサポート、すべきか?
カレントバージョン
ttcf2cid.ps
[2001/12/22] [2001/12/27] [2002/1/7] [2002/8/16]
safestring
を導入して、文字コード [ 0 255 ] はリソース名(つまりファイル名)に含まれないようにした。UNIX系なら「/」、Win系なら「\」も除外すべきだが、とりあえず保留。
- ユーザー確認時に、そのような illegal な string をそのまま print しても invisible なので、8進数表示するようにした。このため、出力系 procedure の大幅な変更・整理をした。
[2001/12/27] さらに出力系 procedure の整理を徹底した。
ttctocid2.ps
での RENAME オプションに相当する機能を入れた。
$ gsnd -dTTNAME='{/cidfontname (filename.ttf)}'
とすると cidfontname で /CIDFont defineresource します。もちろん、
$ gsnd -dTTNAME='{(cidfontname) (filename.ttf)}'
にも対応してるので、特殊な文字コードでもfilesystem-safeなら出力できるかもね。
ttctocid2.ps
での CIDFont 名のユーザー確認と改名(インタラクティブモード)に相当する機能を入れた。-dBATCH を定義していなければ、
$ gsnd -sTTFONT=filename.ttf
$ gsnd -dTTFONT='{(filename.ttc) 2}'
$ gsnd -dTTNAME='{() (filename.ttc) 2}'
とすると、デフォルトの名前で良いか尋ねるので、ユーザは改名することも出来ます。
ここでのデフォルトの名前は、safestring
で少々改名済みであることに注意。
ttctocid2.ps
での ECHOONLY モードをサポートした。
$ gsnd -dECHOONLY -sTTFONT=filename.ttf
$ gsnd -dECHOONLY -dTTFONT='{(filename.ttc) 2}'
$ gsnd -dECHOONLY -dTTNAME='{() (filename.ttc) 2 /Adobe-Japan1}'
とするとTrueTypeフォントの PSNAME を出力して終了します。
ここで出力される名前は、safestring
で改名されて*ない*ことに注意。
- Font と CIDFont の出力ディレクトリ指定を分けた。
$ gsnd -doutputdir=Font -dOUTPUTDIR=CIDFont ...
- 出力に対応していない FontType についてはエラー出力するようにした。
- [2002/1/7] UNINSTALL モードを用意した。これにより、
$ gsnd -dUNINSTALL ... (以下インストール時と同じ引数を指定)
とすると指定されたファイルが存在すればそれを消去します。
- [2002/8/16] -soutputdir== -sOUTPUTDIR== で gs の Resource 自動検知。その他、ひとつバグフィックス。
オールドバージョン
ttcf2cid.ps
[2001/12/20]
- 入れ子の FontFormat に意図せず /dicttype 以外が入れ子になっていた場合にも安全にフォント辞書をダンプ出来るように。
- オプション -dTTFONT='...' の処理に誤りがあったので修正。
- 出力に対応していない type のチェックを賢くした。
ttcf2cid.ps
[2001/12/18]
Written by gs-cjk project