Ghostscript > Windows

Ghostscript for Microsoft Windows

% とりあえず整理を開始します。古い情報・誤った情報も混ざっているかもしれませんので,詳しい方,修正お願いします。

Windows 版の Ghostscript にはいくつかの種類があります。

TeX LiveW32TeX とよく一緒に用いられているのは,以下の2つでしょう。



インストール

TeX Live の win32 版には Ghostscript (tlgs.win32) が含まれていますので,別途 Ghostscript をインストールする必要はありません。 また,W32TeX を TeX インストーラ 3 を使ってインストールした場合は,角藤版 Ghostscript もインストールされているはずです。

以下では主に W32TeX ユーザ向けに Ghostscript のインストール方法を説明します。

インストールの前に(旧バージョンが既にインストールされている場合)

旧バージョンの Ghostscript が既にインストールされている場合は,最新版をインストールする前に旧バージョンをアンインストールしておきます。

旧バージョンの Ghostscript Fonts があったならばそれもアンインストールします。

インストール方法

  1. 最新の角藤版 Ghostscript インストーラ(gs925w64full-gpl.exe または gs925w32full-gpl.exe)を実行します。
  2. インストールウィザードを終了するウィンドウで [Generate cidfmap for Windows CJK TrueType fonts] にチェックが入っていなければチェックを入れて [Finish] をクリックします。

[gsview-5.0 上で使用する場合の注意]本家のWindows用バイナリは,iccprofilesを バイナリに含んでいるので,gsview-5.0の

Options--->Safer

をチェックしてあってもGhostscript-9.25を使用できますが,角藤版の場合は iccprofilesはディスク上のディレクトリであり,gsview-5.0は古すぎるので

Options--->Safer

がこのような構成に対応していません。そこで角藤版をgsview-5.0上で使用するには,

Options--->Safer

のチェックをはずして,代わりに

Options--->Advanced Configure...--->Ghostscript Options:

-dSAFER

を書き加えて下さい。

[参考]Ghostscript は好きな場所にインストールすることができますが,日本語等の非 ASCII 文字を含む場所にインストールするのは避けておくのが無難です。 なお,歴史的な理由等から gs\gs9.25 などというフォルダーにインストールされることがほとんどです。 その関係から,様々な解説ではこの gs\gs9.25 などといったフォルダー構造を仮定していることが多いということを理解しておいてください。

ユーザー環境変数 Path またはシステム環境変数 Path の設定

インストールした Ghostscript に含まれる bin フォルダーと lib フォルダーをユーザー環境変数 Path またはシステム環境変数 Path のリストに追加します。 bin だけでなく lib も忘れずに追加しないと,正常に動作しません。 Ghostscript を C:\Program Files\gs\gs9.25 にインストールした場合は

C:\Program Files\gs\gs9.25\bin

C:\Program Files\gs\gs9.25\lib

をユーザー環境変数 Path またはシステム環境変数 Path のリストに追加します。

W32TeX と Ghostscript をインストールした場合,Windows PowerShell で echo $Env:Path を実行あるいはコマンド プロンプトで echo %Path% を実行した場合の環境変数 Path の表示は以下のようになるでしょう:

[注意]古い Ghostscript がインストールされていた場合には,環境変数 GS_LIB が残っているかもしれません。 これは腕に自信が無い限り削除しておくのがよいでしょう(ただし,後で述べるフォントを置く場所を追加する方法としてこの GS_LIB を用いる手法もあります)。 いまどきはこんなものは設定しない時代になっています。

インストールに失敗する場合

ユーザ名に例えば「山田太郎」のように ASCII 以外の文字(日本語など)を使っていると,Ghostscript のインストールに失敗することがあります。 これはユーザー環境変数 TEMP に “C:\Users\山田太郎\AppData\Local\Temp” のように ASCII 以外の文字が使われてしまうことが原因です。 ユーザー環境変数 TEMP のデフォルトは

%USERPROFILE%\AppData\Local\Temp (すなわち C:\Users\%USERNAME%\AppData\Local\Temp のこと)

に設定されていますが,この %USERPROFILE% に非 ASCII 文字が入ってしまっているわけです。

したがって,ユーザー環境変数 TEMP を ASCII 文字だけで設定します。 例えば UNIX 互換 OS の一時ファイル用ディレクトリ /tmp/ に習って “C:\tmp” のように設定するとよいでしょう。

注意点

Windows PowerShell またはコマンド プロンプトから ps2pdf.bat "予定.ps" を実行するとエラー

バッチファイル版の ps2pdf では,Windows PowerShell またはコマンド プロンプトから

ps2pdf.bat "予定.ps"

を実行すると,次のようなエラーになります。

Error: /undefinedfilename in (\\.ps)
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
  --nostringval--   --nostringval--   false   1   %stopped_push
Dictionary stack:
   --dict:1186/1684(ro)(G)--   --dict:0/20(G)--   --dict:79/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.19: Unrecoverable error, exit code 1

rungs.exe, gswin64c.exe, gswin32c.exe から直接実行すれば処理ができます。

rungs.exe -dEPSCrop -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE="pdfwrite" -sOutputFile="予定.pdf" -c save pop -f "予定.ps"

TeX Live の ps2pdf.exe を使用しても OK です。

ps2pdf.exe "予定.ps"

コマンド プロンプトから chcp 65001 で CodePage を変更して ps2pdf.bat を実行すると PDF ファイルが作成されない → CodePage の値を 932 に変更する

コマンド プロンプトから chcp 65001 で CodePage を変更して ps2pdf.bat を実行すると PDF ファイルが作成されないようです(コマンド自体は正常終了します)。 これは一般に .bat ファイルが認識されないバグのためです。 CodePage の値が 932 の場合は PDF ファイルが出力されます。

rungs.exe -dEPSCrop -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE="pdfwrite" -sOutputFile="hoge.pdf" -c save pop -f "hoge.ps"

のように ps2pdf.bat ではなく rungs.exe, gswin64c.exe, gswin32c.exe を実行すると PDF ファイルが作成できるようです。

Ghostscript のフロントエンド

Windows で使用可能な Ghostscript のフロントエンド(プレビューしたり,その他様々なことを GUI で行うためのソフトウェア)のいくつかについて,インストール方法と注意点を簡単に記しておきます。

GSview

GSview は Ghostscript のフロントエンドです。

PS_View

PS_View は Ghostscript を使って PS/PDF ファイルを表示するプレビューアです。 TeX Live (win32) に標準で含まれています。

SumatraPDF

SumatraPDF も Ghostscript をバックエンドとして利用して PostScript ファイルを表示することができます。

Evince

Evince も Ghostscript をバックエンドとして利用して PostScript ファイルを表示することができます。

Ghostscript.NET.Viewer

を参照してください。

[参考] 関連するアプリケーション

フロントエンドといえるものではないにせよ Ghostscript を呼び出しているアプリケーションは多数あります(例えば dvipdfmx, Inkscape, ImageMagick など)。 これらを正常に扱うためには,ユーザー環境変数 Path またはシステム環境変数 Path に Ghostscript に含まれる bin と lib を付け加えておくことが多くの場合必要です。

cidfmap の初期設定

日本語等のフォント (CJK font と呼ばれるもの) は,Ghostscript では CID font を用いることが基本的になっています。
これを他の CID font や TrueType font に代替させることを主な目的とした設定ファイルが cidfmap です。
角藤版 Ghoststscript では,gs\gs$(rungs --version)\lib に存在します。
インストール時に [Generate cidfmap for Windows CJK TrueType fonts] にチェックを入れておいたならば,この cidfmap は各自の PC に合わせて自動設定がなされます。
しかし,Ghostscript のアンインストールが不完全であった場合などには,この自動設定がなされない場合もあります。
cidfmap を見たときに,% から始まるコメント行ばかりであるならこの自動設定がなされていません。
なお,Ghostscript のインストール後にこの自動設定を単独に行うことも可能です。
次の命令を Windows PowerShell から実行すればそれがなされます。

$gsversion = 'gs' + $(rungs --version); rungs -q -dBATCH -sFONTDIR="c:/windows/fonts" -sCIDFMAP="c:/gs/$gsversion/lib/cidfmap" "c:/gs/$gsversion/lib/mkcidfm.ps"

パス名部分に関しては各自の環境に合わせて書き直して下さい。
また,c:/windows/fonts というのは Windows の システムフォントフォルダーのことです。

一つ注意を言っておきます。
この自動設定を行ったとしても,あなたの環境にある CJK (中国語・日本語・韓国語) のフォントがすべて使えるようになるわけではありません。
mkcidfm.ps にリストアップされているもののうちのシステムフォントフォルダーに見つかった TrueType fonts への代替設定がされるだけです。
これだけで自由自在になるわけではないことに注意してください。

Windows PowerShell の使い方がわからない場合は Ghostscript を再度正常にインストールすればいいのですが,出来上がるものは大して変わらないのでこちらで作成したものを例として下に張り付けておきます。
これをコピー・ペーストするだけでも大丈夫かもしれません(Windows の version による違いもあるので一概には言えませんが)。パス名部分については各自の環境に合わせることが必要になることがあります。


%!
% cidfmap generated automatically by mkcidfm.ps from fonts found in
%   c:/windows/fonts

% Substitutions
/Meiryo << /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] /Path (c:/windows/fonts/meiryo.ttc) >> ;
/GungsuhChe << /FileType /TrueType /SubfontID 3 /CSI [(Korea1) 3] /Path (c:/windows/fonts/batang.ttc) >> ;
/MS-Gothic << /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] /Path (c:/windows/fonts/msgothic.ttc) >> ;
/GulimChe << /FileType /TrueType /SubfontID 1 /CSI [(Korea1) 3] /Path (c:/windows/fonts/gulim.ttc) >> ;
/Gulim << /FileType /TrueType /SubfontID 0 /CSI [(Korea1) 3] /Path (c:/windows/fonts/gulim.ttc) >> ;
/MalgunGothicRegular << /FileType /TrueType /SubfontID 0 /CSI [(Korea1) 3] /Path (c:/windows/fonts/malgun.ttf) >> ;
/PMingLiU << /FileType /TrueType /SubfontID 1 /CSI [(CNS1) 2] /Path (c:/windows/fonts/mingliu.ttc) >> ;
/FangSong << /FileType /TrueType /SubfontID 0 /CSI [(GB1) 2] /Path (c:/windows/fonts/simfang.ttf) >> ;
/MS-PMincho << /FileType /TrueType /SubfontID 1 /CSI [(Japan1) 3] /Path (c:/windows/fonts/msmincho.ttc) >> ;
/NSimSun << /FileType /TrueType /SubfontID 1 /CSI [(GB1) 2] /Path (c:/windows/fonts/simsun.ttc) >> ;
/KaiTi << /FileType /TrueType /SubfontID 0 /CSI [(GB1) 2] /Path (c:/windows/fonts/simkai.ttf) >> ;
/SimSun << /FileType /TrueType /SubfontID 0 /CSI [(GB1) 2] /Path (c:/windows/fonts/simsun.ttc) >> ;
/Meiryo-Bold << /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] /Path (c:/windows/fonts/meiryob.ttc) >> ;
/MalgunGothicBold << /FileType /TrueType /SubfontID 0 /CSI [(Korea1) 3] /Path (c:/windows/fonts/malgunbd.ttf) >> ;
/MingLiU << /FileType /TrueType /SubfontID 0 /CSI [(CNS1) 2] /Path (c:/windows/fonts/mingliu.ttc) >> ;
/Dotum << /FileType /TrueType /SubfontID 2 /CSI [(Korea1) 3] /Path (c:/windows/fonts/gulim.ttc) >> ;
/Gungsuh << /FileType /TrueType /SubfontID 2 /CSI [(Korea1) 3] /Path (c:/windows/fonts/batang.ttc) >> ;
/MS-UI-Gothic << /FileType /TrueType /SubfontID 2 /CSI [(Japan1) 3] /Path (c:/windows/fonts/msgothic.ttc) >> ;
/DFKaiShu-SB-Estd-BF << /FileType /TrueType /SubfontID 0 /CSI [(CNS1) 2] /Path (c:/windows/fonts/kaiu.ttf) >> ;
/BatangChe << /FileType /TrueType /SubfontID 1 /CSI [(Korea1) 3] /Path (c:/windows/fonts/batang.ttc) >> ;
/Batang << /FileType /TrueType /SubfontID 0 /CSI [(Korea1) 3] /Path (c:/windows/fonts/batang.ttc) >> ;
/Meiryo-Italic << /FileType /TrueType /SubfontID 1 /CSI [(Japan1) 3] /Path (c:/windows/fonts/meiryo.ttc) >> ;
/DotumChe << /FileType /TrueType /SubfontID 3 /CSI [(Korea1) 3] /Path (c:/windows/fonts/gulim.ttc) >> ;
/SimHei << /FileType /TrueType /SubfontID 0 /CSI [(GB1) 2] /Path (c:/windows/fonts/simhei.ttf) >> ;
/MS-Mincho << /FileType /TrueType /SubfontID 0 /CSI [(Japan1) 3] /Path (c:/windows/fonts/msmincho.ttc) >> ;
/MS-PGothic << /FileType /TrueType /SubfontID 1 /CSI [(Japan1) 3] /Path (c:/windows/fonts/msgothic.ttc) >> ;
/Meiryo-BoldItalic << /FileType /TrueType /SubfontID 1 /CSI [(Japan1) 3] /Path (c:/windows/fonts/meiryob.ttc) >> ;

% Aliases
/KozMinPr6N-Regular /MS-Mincho ;
/STHeiti-Regular /SimHei ;
/STFangsong-Light /FangSong ;
/STSong-Light /SimSun ;
/AdobeMyungjoStd-Medium /Batang ;
/MSung-Light /MingLiU ;
/Ryumin-Light /MS-Mincho ;
/HYGoThic-Medium /Dotum ;
/HYRGoThic-Medium /Gulim ;
/HeiseiMin-W3 /MS-Mincho ;
/Ryumin-Medium /MS-Mincho ;
/AdobeHeitiStd-Regular /SimHei ;
/HeiseiKakuGo-W5 /MS-Gothic ;
/AdobeMingStd-Light /MingLiU ;
/MKai-Medium /DFKaiShu-SB-Estd-BF ;
/MSung-Medium /MingLiU ;
/GothicBBB-Medium /MS-Gothic ;
/AdobeSongStd-Light /SimSun ;
/MHei-Medium /MingLiU ;
/HYSMyeongJo-Medium /Batang ;
/STKaiti-Regular /KaiTi ;

cidfmap の基本的な記述方法

cidfmap を書き換える際に必要になることを簡単に述べておきます(詳しくは gs のドキュメントを読んでください)。
下に実験用の基本的な例を張り付けておきます。
前半の % Aliases は,左に書かれたフォントを右に書かれたフォントで置き換えるという意味です。
後半の % Substitutions は TrueType font の設定と考えて下さい。
この例では,次の4つのフォント代替の連鎖が作られます(あるいはそう考えることができます)。

Ryumin-Light -> MS-Mincho -> msmincho.ttc
GothicBBB-Medium -> MS-Gothic -> msgothic.ttc
HeiseiMin-W3 -> Ryumin-Light -> MS-Mincho -> msmincho.ttc
HeiseiKakuGo-W5 -> GothicBBB-Medium -> MS-Gothic -> msgothic.ttc

ここで,一番左のフォントが ps file で指定されるもの。いちばん右のフォントが実際に代替されるフォントになります。
Ryumin-Light については2重定義がなされていますが(これはわざとです),先に書かれたものが有効になります。
このことにも注意を払ってください。


% Aliases
/Ryumin-Light      /MS-Mincho        ;
/Ryumin-Light      /MS-PMincho        ;
/GothicBBB-Medium  /MS-Gothic        ;
/HeiseiMin-W3      /Ryumin-Light     ;
/HeiseiKakuGo-W5   /GothicBBB-Medium ;

% Substitutions
/MS-Mincho << /CSI [(Japan1) 3] /Path (c:/windows/fonts/msmincho.ttc) /FileType /TrueType /SubfontID 0 >> ;
/MS-Gothic << /CSI [(Japan1) 3] /Path (c:/windows/fonts/msgothic.ttc) /FileType /TrueType /SubfontID 0 >> ;

CMap

gs\gs$(rungs --version)\Resource\CMap\ に入っています。主なものを挙げてみます。

上記の CMap は $TEXMFMAIN/fonts/cmap// 以下にもあります。

CID font

CID font (正式名称は CID keyed font) は ghostsript にとって非常に特殊なフォントとなります。
フォントファイルの置き場所が gs\gs$(rungs --version)\Resource\CIDFont\ に限られることと,拡張子は付けてはならないことに注意してフォントファイルを配置します。

CID font file は,ファイル名を拡張子無しの PostScript 名に変えて (例えば,HEMIW3.CID → HeiseiMin-W3),gs\gs$(rungs --version)\Resource\CIDFont\ に置くかリンクを張っておきます。

この HeiseiMin-W3 を例にとり説明します。gs の段階でこのフォントに代替させる場合,例えば ps file では Ryumin-Light が指定されていてこれを HeiseiMin-W3 に代替させる場合には,cidfmap に次のような alias の記述をしておきます。

/Ryumin-Light    /HeiseiMin-W3 ;

代替をさせず,ps file に HeiseiMin-W3 が指定されていてそれをそのまま用いる場合には cidfmap には何も記述しません。

CID フォントを用いる場合,経験によるとエラーになるかもしれません。
オリジナル ソースに存在するバグと思われます。

日本語 OpenType font

ここでは日本語等 (CJK) の OpenType font を用いる場合について説明します。

CID font の代わりに Postscript outline の OpenType font (多くの場合には拡張子が .otf の OpenType フォーマットのフォント) を用いることも可能です。
このフォントファイルの配置は,ファイル名を拡張子無しの PostScript 名に変えて (例えば,ヒラギノ明朝 ProN W3.otf → HiraMinProN-W3),gs\gs$(rungs --version)\Resource\CIDFont\ に置くかリンクを張っておきます。

OpenType font で出力する場合には,ps file で指定されたフォントに関して フォント名-CMap名 の分解を行い,PSフォント名と文字コード変換の方法(使用する CMap)を取得する作業が必要になります(CID font や TrueType font で出力する場合にはこの作業が自動実行されます)。
これが行われないと,CMap名がついたままのものが文字コード変換を行わずに通常の欧文フォントとして探され,最終的には文字化けとなります。
従って,この作業を行うためのファイルあるいはPSコードが必要になります。

上の HiraMinProN-W3 を例に取ってみましょう。
ps file に HiraMinProN-W3-H が指定されており,これをそのまま HiraMinProN-W3 で出力する (HiraMinProN-W3-H -> HiraMinProN-W3) 場合には,

/HiraMinProN-W3-H /H [/HiraMinProN-W3] composefont pop

という内容のファイルを gs\gs$(rungs --version)\Resource\Font\ に HiraMinProN-W3-H という名前で作成します。
フォント名本体だけではなく,CMapリソース名 (この場合には -H) も含めて考えることに 注意してください。

cidfmap でのフォント代替の記述は CID font の場合と同様です。
例えば,cidfmap で Ryumin-Light -> HiraMinProN-W3 の代替が引き起こるように記述してあったとしましょう。
ps file に Ryumin-Light-H が指定されていた場合には,これは HiraMinProN-W3 で出力する (Ryumin-Light-H -> HiraMinProN-W3) 設定をしていることになります。
この場合には,

/Ryumin-Light-H /H [/Ryumin-Light] composefont pop

という内容のファイルを gs\gs$(rungs --version)\Resource\Font\ に Ryumin-Light-H という名前で作成します。
どちらにしても,OpenType font で出力する場合には,ps file に指定されているものに関するファイルの作成が必要になるということです。

なお,dvips が出力する ps file に上記の ...composefont pop のようなPSコードがあらかじめ記述されている場合もあります(CMap名が Identity-H である場合等)。
当然のことながら,この場合には上記のファイルが存在していなくても文字化けは引き起こりません。
また W32TeX における 2013/10/01 以降の dvipsk-w32.tar.xz, dvipsk-w64.tar.xz に入っている ps2otfps.exe を用いて

ps2otfps old.ps new.ps

によって変換すると,殆どの場合 new.ps に必要なPSコードを記述することができます。
また最新の ps2otfps はオプション -f を付けるとフィルタとして働くので

dvips -f ... dviname | ps2otfps -f >psfile.ps

とすると更に便利です。

日本語 TrueType font

ここでは日本語等 (CJK) の TrueType font を用いる場合のフォントの置き場所やパスの設定方法について説明します。

1) まず,ここで用いる用語の説明をしておきます。LIB PATH とは,フォントを含む様々なファイルを探すときに用いられる PATH です。これは,gs のシステム変数 GS_LIB, GS_LIB_DEFAULT で指定される場所であり,rungs -h で表示されるもののうちの Search path: の部分に記述される場所のことです。環境変数 GS_LIB の設定を行うと,デフォルトの GS_LIB の内容をオーバーライドします。角藤版 Ghostscript の場合には,GS_LIB_DEFAULT によって c:/windows/fonts と c:/winnt/fonts がはじめから設定されていることにも注意しておきます。次に,FONT PATH とは,フォントファイルを探すため専用の追加の PATH です。これは,環境変数 GS_FONTPATH,または,gs の option の -sFONTPATH= に指定された場所になります。なお,-sFONTPATH= は GS_FONTPATH をオーバーライドすることに注意が必要です。

2) 拡張子が .ttf や .ttc である TrueType font (拡張子が .otf であっても TrueType outline であるならば同様に使えるかもしれないが未確認) は,cidfmap での代替を行うことによって使用することができます。この場合,フォントファイルは,cidfmap に記述される /Path (c:/windows/fonts/msmincho.ttc) のようなパスによって探されます(フォントファイルは実ファイルではなくリンクでも構いません)。gs のドキュメントによれば,これは絶対パス指定でならなければならないようです。しかし,相対パス指定,つまり /Path (msmincho.ttc) のような記述も実際には使うことができます。相対パス指定の場合には,フォントは LIB PATH のみから探されます(FONT PATH の場所は探されない)。従って,相対パス指定の場合には,LIB PATH に含まれる場所にフォントファイル(またはリンク)を置いてください。

3) gs の option -dSAFER が用いられた場合には,絶対パス指定の場合に制限が引きおこります(例えば,ps2pdf では -dSAFER が用いられています)。この場合の絶対パスは,LIB PATH または FONT PATH に指定された場所に含まれなければなりません。これらの場所にない絶対パスを指定した場合は error となります。環境変数 GS_FONTPATH を設定することがこの問題を解決する方法の一つです。

4) gs の option -dNOPLATFONTS が用いられた場合には,Windows のシステムフォントフォルダーにあるフォントは探されなくなります。ただし,LIB PATH, FONT PATH にそれが設定されているならば探されます。つまり,相対指定なら LIB PATH に,絶対指定ならば LIB PATH または FONT PATH にシステムフォントフォルダーの場所が記述されていれば探されます。

5) 以上のことから,-dSAFER や -dNOPLATFONTS の問題が起こらないようにして cidfmap で新たにフォントの設定をする場合には,絶対パス指定にしておいてそのパスが必ず探されるようにしておくのが正統的な方法でしょう。しかし,相対パスの方が簡単かもしれません。相対パス指定の場合,例えば角藤版 Ghostscript であるならば,c:\windows\fonts にフォントを置いておけばそれだけでたいていはうまくいきます。また,環境変数 GS_LIB に何を設定すべきであるかを知っているならば,GS_LIB に目的の場所を付け加えておくのも簡単な方法でしょう(例えば,gs\fonts に相当するものを付け加えて少し古めの形態で使うことも可能です)。

参考) GSview で [Options]->[Advanced Configure...] の Ghostscript Options: を見ると,あらかじめ -dNOPLATFONTS -sFONTPATH="c:\psfonts" が設定されているはずです。通常は問題ありませんが,まれに問題を引き起こすかもしれません。

OTF パッケージ用の設定

OTF パッケージ を用いる場合には,その名の通り OpenType fonts を用いる場合がほとんどです。従って,その場合には フォント名-CMap名を分解するためのファイルを作成する必要があります。

(注意!!)
W32TeX に入れられたプログラム ps2otfps.exe を使用する場合,
.../Resource/Font/ に沢山のファイルを作成するという以下の作業は一切不要です。
ps2otfps old.ps new.ps
によって,dvips が出力した old.ps を変換して new.ps を作成します。
この new.ps を Ghostscript で取り扱うことができます。
最新の ps2otfps は -f オプションを付けると,フィルタとして働くので
dvips -f ... dviname | ps2otfps -f >psfile.ps
とすると,更に便利です。
但し,OpenType フォントファイルを PostScript 名に変換したファイルを
.../Resource/CIDFont/
にコピーしておくという作業だけは必要です。
OpenType フォントの PostScript 名は
otfinfo -p OpenTypeFontFile
とすると表示されます。また dvips 用の map ファイルは PostScript 名で
書いておきます。

例えば,ps file に Ryumin-Light-Identity-H が使われていた場合には,gs\gs$(rungs --version)\Resource\Font\ に

/Ryumin-Light-Identity-H /Identity-H [/Ryumin-Light] composefont pop

か,または

/Ryumin-Light-Identity-H
/Identity-H /CMap findresource
[/Ryumin-Light /CIDFont findresource]
composefont pop

という内容のテキストファイル “Ryumin-Light-Identity-H” を作成する必要があります。同様にして次のファイルを作成します(数が多いので注意)。

TeXWiki:OTF #dvips 用の map ファイル も参照。

gs\gs$(rungs --version)\kanji\kconfig.ps の記述例


%% Bitmap fonts
%%
/Ryumin-Light      4300000  (MS 明朝)             win32BMkanji
%/GothicBBB-Medium  4300200  (HGゴシックM)              win32BMkanji
/GothicBBB-Medium  4300200  (MS ゴシック)         win32BMkanji
/FutoMinA101-Bold  4300400  (HG明朝B)               win32BMkanji
/FutoGoB101-Bold   4300600  (HGゴシックE)              win32BMkanji
/Jun101-Light      4300800  (HG丸ゴシックM-PRO)        win32BMkanji
/MidashiMin-MA31   4301000  (HG明朝E)               win32BMkanji
/MidashiGo-MB31    4301200  (HG創英角ゴシックUB)       win32BMkanji

%/HiraMinStdN-W2    4301400  (ヒラギノ明朝 StdN W2)  win32BMkanji
/HiraMinStdN-W2    4301400  (MS 明朝)             win32BMkanji

このファイルは Shift_JIS で保存してください。

gs\gs$(rungs --version)\lib\cidfmap の記述例

これはさまざまなフォントを扱うための設定の example です。


%!
%%% aliases
/Ryumin-Light                 /MS-Mincho                   ;
/Ryumin-Medium                /MS-Mincho                   ;
/FutoMinA101-Bold             /HGMinchoB                   ;
/MidashiMin-MA31              /HGMinchoE                   ;
%/GothicBBB-Medium             /HGGothicM                   ;
/GothicBBB-Medium             /MS-Gothic                   ;
/FutoGoB101-Bold              /HGGothicE                   ;
/MidashiGo-MB31               /HGSoeiKakugothicUB          ;
/Jun101-Light                 /HGMaruGothicMPRO            ;
/HeiseiMin-W3                 /Ryumin-Light                ;
/HeiseiKakuGo-W5              /GothicBBB-Medium            ;
/HiraMinStdN-W2               /MS-Mincho                   ;
/KozMinPr6N-Regular           /Ryumin-Light                ;
/KozMinPro-Regular            /KozMinPr6N-Regular          ;
/KozMinPro-Regular-Acro       /KozMinPro-Regular           ;
/HeiseiMin-W3-Acro            /KozMinPro-Regular-Acro      ;
/KozGoPr6N-Medium             /GothicBBB-Medium            ;
/KozGoPro-Medium              /KozGoPr6N-Medium            ;
/KozGoPro-Medium-Acro         /KozGoPro-Medium             ;
/HeiseiKakuGo-W5-Acro         /KozGoPro-Medium-Acro        ;
/STSong-Light                 /NSimSun                     ;
/STSong-Regular               /NSimSun                     ;
/STHeiti-Regular              /SimHei                      ;
/STHeiti-Light                /SimHei                      ;
/STKaiti-Regular              /KaiTi                       ;
%/STKaiti-Regular              /GBZenKai-Medium             ;
/STFangsong-Regular           /FangSong                    ;
/STFangsong-Light             /FangSong                    ;
/AdobeSongStd-Light           /STSong-Light                ;
/AdobeSongStd-Light-Acro      /AdobeSongStd-Light          ;
/STSongStd-Light-Acro         /AdobeSongStd-Light-Acro     ;
/STSongStd-Light              /STSongStd-Light-Acro        ;
/STSong-Light-Acro            /STSongStd-Light-Acro        ;
/AdobeHeitiStd-Regular        /STHeiti-Regular             ;
/MSung-Light                  /MingLiU                     ;
/MSung-Medium                 /MingLiU                     ;
/MHei-Medium                  /SimHei-Adobe-CNS1           ;
/MKai-Medium                  /DFKaiShu-SB-Estd-BF         ;
%/MKai-Medium                  /ZenKai-Uni                  ;
/AdobeMingStd-Light           /MSung-Light                 ;
/AdobeMingStd-Light-Acro      /AdobeMingStd-Light          ;
/MSungStd-Light-Acro          /AdobeMingStd-Light-Acro     ;
/MSungStd-Light               /MSungStd-Light-Acro         ;
/MSung-Light-Acro             /MSungStd-Light-Acro         ;
/MHei-Medium-Acro             /MHei-Medium                 ;
/HYSMyeongJo-Medium           /BatangChe                   ;
/HYGoThic-Medium              /DotumChe                    ;
/HYKHeadLine-Bold             /Baekmuk-Headline            ;
/HYKHeadLine-Medium           /Baekmuk-Headline            ;
/HYRGoThic-Medium             /GulimChe                    ;
/HYGungSo-Bold                /GungsuhChe                  ;
/AdobeMyungjoStd-Medium       /HYSMyeongJo-Medium          ;
/AdobeMyungjoStd-Medium-Acro  /AdobeMyungjoStd-Medium      ;
/HYSMyeongJoStd-Medium-Acro   /AdobeMyungjoStd-Medium-Acro ;
/HYSMyeongJoStd-Medium        /HYSMyeongJoStd-Medium-Acro  ;
/HYSMyeongJo-Medium-Acro      /HYSMyeongJoStd-Medium-Acro  ;
/HYGoThic-Medium-Acro         /HYGoThic-Medium             ;

%%% monospaced TrueType outline fonts in Windows
%%% See C:\Windows\Fonts\
/MS-Mincho                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/msmincho.ttc)  /SubfontID 0 >> ;
/MS-Gothic                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/msgothic.ttc)  /SubfontID 0 >> ;
/NSimSun                      << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simsun.ttc)    /SubfontID 1 >> ;
/SimHei                       << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simhei.ttf)                 >> ;
/SimHei-Adobe-CNS1            << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/simhei.ttf)                 >> ;
/MingLiU                      << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliu.ttc)   /SubfontID 0 >> ;
/BatangChe                    << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/batang.ttc)    /SubfontID 1 >> ;
/DotumChe                     << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/gulim.ttc)     /SubfontID 3 >> ;
/GulimChe                     << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/gulim.ttc)     /SubfontID 1 >> ;
/GungsuhChe                   << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/batang.ttc)    /SubfontID 3 >> ;

%%% proportional TrueType outline fonts in Windows
%%% See C:\Windows\Fonts\
/MS-PMincho                   << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/msmincho.ttc)  /SubfontID 1 >> ;
/MS-PGothic                   << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/msgothic.ttc)  /SubfontID 1 >> ;
/MS-UIGothic                  << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/msgothic.ttc)  /SubfontID 2 >> ;
/SimSun                       << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simsun.ttc)    /SubfontID 0 >> ;
/PMingLiU                     << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliu.ttc)   /SubfontID 1 >> ;
/Batang                       << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/batang.ttc)    /SubfontID 0 >> ;
/Dotum                        << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/gulim.ttc)     /SubfontID 2 >> ;
/Gulim                        << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/gulim.ttc)     /SubfontID 0 >> ;
/Gungsuh                      << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/batang.ttc)    /SubfontID 2 >> ;

%%% monospaced TrueType outline fonts in Windows
%%% See C:\Windows\Fonts\
/SimSun-ExtB                  << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simsunb.ttf) >> ;
/KaiTi                        << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simkai.ttf)  >> ;
/FangSong                     << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/simfang.ttf) >> ;
/DFKaiShu-SB-Estd-BF          << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/kaiu.ttf)    >> ;

%%% proportional TrueType outline fonts in Windows
%%% See C:\Windows\Fonts\
/Meiryo                       << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/meiryo.ttc)    /SubfontID 0 >> ;
/Meiryo-Italic                << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/meiryo.ttc)    /SubfontID 1 >> ;
/Meiryo-Bold                  << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/meiryob.ttc)   /SubfontID 0 >> ;
/Meiryo-BoldItalic            << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/meiryob.ttc)   /SubfontID 1 >> ;
/MicrosoftYaHei               << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/msyh.ttf)                   >> ;
/MicrosoftYaHeiBold           << /FileType /TrueType  /CSI [(GB1) 5]     /Path (C:/Windows/Fonts/msyhbd.ttf)                 >> ;
/MicrosoftJhengHeiRegular     << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/msjh.ttf)                   >> ;
/MicrosoftJhengHeiBold        << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/msjhbd.ttf)                 >> ;
/Ming-Lt-HKSCS-UNI-H          << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliu.ttc)   /SubfontID 2 >> ;
/MingLiU-ExtB                 << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliub.ttc)  /SubfontID 0 >> ;
/PMingLiU-ExtB                << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliub.ttc)  /SubfontID 1 >> ;
/Ming-Lt-HKSCS-ExtB           << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (C:/Windows/Fonts/mingliub.ttc)  /SubfontID 2 >> ;
/MalgunGothicRegular          << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/malgun.ttf)                 >> ;
/MalgunGothicBold             << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (C:/Windows/Fonts/malgunbd.ttf)               >> ;

%%% TrueType outline fonts in Microsoft Office 2013
/HGMinchoB                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrmb.ttc)   /SubfontID 0 >> ;
/HGMinchoE                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrme.ttc)   /SubfontID 0 >> ;
/HGSoeiPresenceEB             << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrpre.ttc)  /SubfontID 0 >> ;
/HGGothicM                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrgm.ttc)   /SubfontID 0 >> ;
/HGGothicE                    << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrge.ttc)   /SubfontID 0 >> ;
/HGSoeiKakugothicUB           << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrsgu.ttc)  /SubfontID 0 >> ;
/HGMaruGothicMPRO             << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrsmp.ttf)               >> ;
/HGSoeiKakupoptai             << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrpp1.ttc)  /SubfontID 0 >> ;
/HGKyokashotai                << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrkk.ttc)   /SubfontID 0 >> ;
/HGSeikaishotaiPRO            << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrskp.ttf)               >> ;
/HGGyoshotai                  << /FileType /TrueType  /CSI [(Japan1) 6]  /Path (C:/Windows/Fonts/hgrgy.ttc)   /SubfontID 0 >> ;

%%% Chinese TrueType font by Arphic Technology
%%% See ftp://ftp.gnu.org/pub/non-gnu/chinese-fonts-truetype/
%%%     http://www.ring.gr.jp/pub/GNU/non-gnu/chinese-fonts-truetype/
/ShanHeiSun-Light             << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (./TrueType/arphic/bsmi00lp.ttf) >> ;
/ZenKai-Medium                << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (./TrueType/arphic/bkai00mp.ttf) >> ;
/BousungEG-Light-GB           << /FileType /TrueType  /CSI [(GB1) 5]     /Path (./TrueType/arphic/gbsn00lp.ttf) >> ;
/GBZenKai-Medium              << /FileType /TrueType  /CSI [(GB1) 5]     /Path (./TrueType/arphic/gkai00mp.ttf) >> ;

%%% CJK-Unifonts
%%% See http://www.freedesktop.org/wiki/Software/CJKUnifonts
/ShanHeiSun-Uni               << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (./TrueType/ttf-arphic-uming/uming.ttf) >> ;
/ShanHeiSun-Uni-Adobe-GB1     << /FileType /TrueType  /CSI [(GB1) 5]     /Path (./TrueType/ttf-arphic-uming/uming.ttf) >> ;
/ZenKai-Uni                   << /FileType /TrueType  /CSI [(CNS1) 5]    /Path (./TrueType/ttf-arphic-ukai/ukai.ttf)   >> ;
/ZenKai-Uni-Adobe-GB1         << /FileType /TrueType  /CSI [(GB1) 5]     /Path (./TrueType/ttf-arphic-ukai/ukai.ttf)   >> ;

%%% Baekmuk fonts
%%% See http://kldp.net/projects/baekmuk/
%%%     ftp://ftp.mizi.com/pub/baekmuk/
/Baekmuk-Batang               << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (./TrueType/baekmuk-ttf/ttf/batang.ttf) >> ;
/Baekmuk-Dotum                << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (./TrueType/baekmuk-ttf/ttf/dotum.ttf)  >> ;
/Baekmuk-Headline             << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (./TrueType/baekmuk-ttf/ttf/hline.ttf)  >> ;
/Baekmuk-Gulim                << /FileType /TrueType  /CSI [(Korea1) 2]  /Path (./TrueType/baekmuk-ttf/ttf/gulim.ttf)  >> ;

%%% OpenType fonts with PostScript outlines in Adobe Acrobat Reader DC/Acrobat DC
%%% See http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Windows
%%%     ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/misc/
%%%     "C:\Program Files\Adobe\Acrobat Reader DC\Resource\CIDFont\"
%%%     "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Resource\CIDFont\"
%/Ryumin-Light                 /KozMinPr6N-Regular     ;
%/GothicBBB-Medium             /KozGoPr6N-Medium       ;
%/STSong-Light                 /AdobeSongStd-Light     ;
%/STHeiti-Regular              /AdobeHeitiStd-Regular  ;
%/MSung-Light                  /AdobeMingStd-Light     ;
%/HYSMyeongJo-Medium           /AdobeMyungjoStd-Medium ;

関連リンク

Ghostscript 公式バイナリの配布元

角藤版 Ghostscript の配布元

ChangeLog (tlgs.win32)


*1 日本語の縦書き PostScript ファイルを表示する必要がある場合は Ghostscript 9.22 以降を使用してください。(gs-9.22)

Last-modified: 2018-11-16 (金) 20:02:24 (4d)