GhostScriptに於けるps2pdf日本語文字化け

GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
返信数: 9
以下の手順でpdfファイルを作成した後、AdobeReaderで読み込むと日本語が全て文字化けしてしまいます。

Linux環境にて....
●TeX2017にてdviファイルを作成。
●以下のコマンドでpsファイルを作成。
  /usr/GNU/texlive/2017/bin/x86_64-linux/dvips -Ppdf -z Template.dvi -o Template.ps

Windows環境にGhostScript9.23をインストール.....
●以下のコマンドでpdfファイルを作成。
  c:\gs\gs9.23\bin\gswin32c.exe -dEPSCrop -q -dSAFER -dBATCH -dNOPAUSE -sDEVICE="pdfwrite" -sOutputFile="Y:\Pic\tmp.pdf" -c save pop -f "Template.ps"

  コマンド実行中にエラーは発生しません。

作成されたpdfは日本語が文字化けしてしまいます。以下の調査を行ってみました。

a)Template.psファイルの中身を参照すれば、日本語はIPAexMincho-H/IPAexGothic-Hフォントが使用されていることが判ります。

b)Windows環境のGhostScriptのファイル"C:\gs\gs9.23\lib\cidfmap"ファイルに:

  /IPAexMincho-H /MS-Mincho ;
  /IPAexGothic-H /MS-Gothic ;

  を追加してみたのですが、変りはありません。

c)同じTemplate.psファイルをLinux側のps2pdfを用いてpdfファイルを作成すれば、もちろん文字化けはしません。

Windows標準のフォントで代替えさせることができないかお教えください。
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- aminophen の投稿
まず状況を確認したいので:

[1] DVI を作ったのは pLaTeX でしょうか,upLaTeX でしょうか?
できれば具体的な .tex ファイルと一緒に回答ください。
※ 文字化けするのであれば,たぶん「漢字とあいうえお」みたいな意味のない文章でも
  再現できるとは思うので,そのようにしていただいて構いません。

[2] Windows で Ghostscript のファイルを書き換えずに,デフォルトの IPAexMincho のまま
ps → pdf 変換した場合は,文字化けしますか?

[3] 文字化けしている PDF を添付してください。
aminophen への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
[1]pLaTeXです。
お試しとして作成した:

test.tex
test.ps
test.pdf

を添付します。
添付ファイルは一個づつしか指定できない様なので、3回に分けて返信します。

[2]仰る意味が解らないのですが「GSをインストールしたデフォルトのままで....」と言うのであれば、YESです。

[3]添付します。


現在「Linux環境とWindows環境のエンコードの違い」を疑っています。
Linux環境はEUC、WindowsはSjisです。
もしそうだとするなら、Lnux環境ではどのエンコードでPSファイルを作成したらよいのでしょうか?
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- aminophen の投稿
NO3 の test.pdf を見てみました。
あーこれは思った通り「Ghostscript が日本語フォントを見つけられていない」ですね。
これを正すには,先程書いた
【Windows での Ghostscript の設定方法】
が有効だと思います。

> 現在「Linux環境とWindows環境のエンコードの違い」を疑っています。
> Linux環境はEUC、WindowsはSjisです。

は関係ないです。
添付 test-pdf.png
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- aminophen の投稿
少々思い当たることがあるので,
【Windows での Ghostscript の設定方法】
と題してここに書いてみます。
以下 [A] か [B] のどちらかを実行すれば,ps2pdf で文字化けしなくなると思うのですが…。

《追記》もし cidfmap を手動で書き換えてしまった場合は,いったん書き換える前の状態に
戻してから実行したほうが安全です。

[A] Windows に TeX Live 2017 または 2018 が入っている場合

TeX Live に標準で Ghostscript が付いてくるので,cjk-gs-integrate を使ってその日本語設定を行います。

(A-1) コマンドプロンプトを管理者権限で起動して
> cjk-gs-integrate --link-texmf --force
> mktexlsr
を実行する。

これで,Ghostscript の日本語用設定が完了するはずです。

参考: http://acetaminophen.hatenablog.com/entry/2017/12/10/182430#main-7

[B] 上記 [A] 以外の場合

cjk-gs-integrate が利用できないので,以下のようにします。

(B-1) W32TeX のページ
http://w32tex.org/index-ja.html
の下の方から Ghostscript のインストーラを入手して,インストールする。コマンドプロンプトから
> where gswin32c
を実行して,パスが期待通り表示されれば OK。

(B-2) Perl が入っていない場合はインストールする。

(B-3) https://github.com/texjporg/cjk-gs-support
を丸ごとダウンロードし,適当な場所に展開する。

(B-4) コマンドプロンプトを管理者権限で起動して,先程展開した場所へ移動する。
> cd cjk-gs-support

(B-5) 続けて
> perl cjk-gs-integrate.pl --force
を実行する。
※仮にもし「Ghostscript が見つからない」というエラーが出た場合は
> perl cjk-gs-integrate.pl --output="c:/gs/(中略)/Resource" --force
のように「Resource の場所」を指定してあげる。

これで,Ghostscript の日本語用設定が完了すると思います。

-----

なお,W32TeX のサイトからでなく例えば
https://www.ghostscript.com/download/gsdnld.html
のような公式インストーラを使って導入すると,「Resource」という名前のディレクトリ
(例えば c:/gs/gs9.23/Resource)が出来ません。
本来ならば日本語用の設定ファイルやリンクはここに置くべきなのですが,場所がないので
置くことができません(新しく場所を作っても認識されません)。
kakakak totototo への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- Akira Kakuto の投稿
>  /IPAexMincho-H /MS-Mincho ;
>  /IPAexGothic-H /MS-Gothic ;
>
>  を追加してみたのですが、変りはありません。
例の test.ps ならば,

/IPAexMincho /MS-Mincho ;
/IPAexGothic /MS-Gothic ;

を追加すると OK になるはずです。

Akira Kakuto への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
ご指摘の変更を行ってみたのですが、今度はpdf変換の際に「フォントファイル見つからない」エラーが出るみたいです。

Operand stack:
Fl 256 --nostringval-- --nostringval-- 0 852.107 IPAexMincho-H
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2015 1 3 %oparray_pop 2014 1 3 %oparray_pop 1998 1 3 %oparray_pop 1884 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- 1967 7 4 %oparray_pop
Dictionary stack:
--dict:987/1684(ro)(G)-- --dict:0/20(G)-- --dict:80/200(L)-- --dict:185/300(L)--
Current allocation mode is local
Last OS error: No such file or directory
Current file position is 738732
GPL Ghostscript 9.23: Unrecoverable error, exit code 1
Akira Kakuto への返信

Re: GhostScriptに於けるps2pdf日本語文字化け

- kakakak totototo の投稿
追加でご連絡致します。先ほどのご連絡に対し「ps2pdfの段階でエラーが出るぞ。」と申しましたが、「このエラーはどこかで見たことがあるぞ。」と思い当たり、実行コマンドを:

c:\gs\gs9.23\bin\gswin32c.exe ... -dSAFER ... から
c:\gs\gs9.23\bin\gswin32c.exe ... -dNOSAFER

へ変更したところうまくいきました。
日本語も正常に表示されるようになりました。

大変助かりました。ご助言有難うございました。