次のヘッダーを持つポストスクリプトファイルがあるとします
%!PS-Adobe-3.0
ファイルで使用されているすべてのフォントを一覧表示したいと思います。出力は完全である必要はありませんが、使用されているフォントへのすべての参照を取得する必要があります。フォントにはさまざまな種類があり、フォントがポストスクリプトファイルに埋め込まれている場合と埋め込まれていない場合があることを認識しています。
私の現在の最善のアイデアは、フォントケースという単語を無差別にgrep /検索して、そこから移動することです。
- これですべてのフォント参照を取得できますか?
- これを達成するためのより良い方法はありますか?
私は開発目的で.NET/C#を使用する傾向がありますが、どのような解決策でもありがたいです。
ありがとう、
バーナード
更新:lhfの回答は問題を解決しました。フォーマットと長さの制約により、彼の推奨事項に基づいて実用的な使用例を追加しています。
.cmdファイルに保存してコマンドプロンプトから実行できるWindowsバッチファイル:
REM Prerequisites:
REM - GPL Ghostscript 8.64 @ http://pages.cs.wisc.edu/~ghost/doc/GPL/gpl864.htm
REM - pdffonts @ 3.02pl4 win32 download @ http://www.foolabs.com/xpdf/download.html
REM Add directories to path, contains ps2pdf and its dependency gswin32c.exe
SET PATH=%PATH%;C:\Program Files\gs\gs8.64\lib;C:\Program Files\gs\gs8.64\bin
REM Add pdffonts directory to path
SET PATH=%PATH%;c:\temp\path-toxpdf-3.02pl4-win32
REM Convert postscript file to pdf file
call ps2pdf input.ps temp.pdf
REM list pdf file fonts
call pdffonts temp.pdf
サンプル出力:
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
DQRDAA+BCC128Medium-Identity-H CID TrueType yes yes no 21 0
MIAVUG+Verdana-Identity-H CID TrueType yes yes no 13 0
BKNKQN+Verdana-Identity-H CID TrueType yes yes no 10 0