Re: gs 8.54 での PS → PDF 変換時の埋め込み制御

名前: Tackaschi
日時: 2006-10-12 08:28:31
IPアドレス: 222.0.195.*

>>45275 色々試してみたのですが,取り敢えず gs\gs8.54\lib\gs_pdfwr.ps の27-34行目を 変えることで Ghostscript 8.54 での欧文フォントの埋め込み制御が行えました。 例えば,次のようにコメントアウトします。 /.a2112 [2 1 1 2] readonly def /.a1111 [1 1 1 1] readonly def /.standardfonts [ /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique % /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique % /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats ] readonly def これでコマンドプロンプトで >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf test.ps とすると,Courier ファミリ,Symbol,ZapfDingbats だけが 埋め込まれていない PDF ができました。 どうやら Windows の Ghostscript 8.54 では /NeverEmbed と /AlwaysEmbed を用いた 欧文フォントの埋め込み制御がうまくできないようです(UNIX 系 OS での Ghostscript 8.54 ではどうなのでしょうか?)。例えば >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf -c ".setpdfwrite <</AlwaysEmbed [/Courier /Symbol /ZapfDingbats]>> setdistillerparams" -f test.ps としても,Courier, Symbol, ZapfDingbats は埋め込まれないままです。 >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf -c ".setpdfwrite <</NeverEmbed [/Times-Italic]>> setdistillerparams" -f test.ps とすると,Times-Italic の他に Helvetica までもが埋め込まれなくなってしまいます。 >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf -c ".setpdfwrite <</NeverEmbed [/Times-Roman]>> setdistillerparams" -f test.ps なら,Times-Roman の他に Times-Italic, Helvetica までもが埋め込まれません。 >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf -c ".setpdfwrite <</NeverEmbed [/Palatino-Roman]>> setdistillerparams" -f test.ps とすると,Palatino-Roman は埋め込まれませんが, フォント名が“Fh”になってしまいます。 /NeverEmbed と /AlwaysEmbed を用いた CJK フォントの埋め込み制御は 期待通りにできます。例えば >gswin32 -dSAFER -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sOutputFile=test.pdf -c ".setpdfwrite <</AlwaysEmbed [/MS-Mincho /MS-Gothic]>> setdistillerparams" -f test.ps とすれば,Ryumin-Light, GothicBBB-Medium は埋め込まれません。 これらの /NeverEmbed と /AlwaysEmbed によるフォントの埋め込み制御は Windows の Ghostscript 7.07 では全て正常にできていました。ウェブ上で調べている 限り,おそらく UNIX 系 OS の Ghostscript 7.07 でも可能だと思われます。 ヴァージョンが 8.54 に上がって /NeverEmbed と /AlwaysEmbed の扱い方が 変わったのでしょうか? それとも Windows 版だけの問題なのでしょうか?

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)