2012-02-24 8 views
0

私はテストページを作成するには、この小さなポストスクリプトを作成しました:クロアチア文字をPDFのすべてのプラットフォームで正しく表示するにはどうすればよいですか?

100 100 moveto 
/Courier findfont 10 scalefont setfont 
(This is croatian characters test:) show 
/scaron glyphshow 
/dcroat glyphshow 
/ccaron glyphshow 
/cacute glyphshow 
/zcaron glyphshow 
/Scaron glyphshow 
/Dcroat glyphshow 
/Ccaron glyphshow 
/Cacute glyphshow 
/Zcaron glyphshow 
showpage 

私は(Fedora 13におよびEnterpriseリリース5上)Linux上でps2pdfがシェルを通してそれを走った、そして得られたPDFは、これらのシステムで良い現れます。しかし、Windowsシステム(Windows XP、Vistaおよび7でテスト済み)でドキュメントを開こうとすると、/ dcroat、/ ccaron、/ cacute、/ Dcroat、/ Ccaronおよび/ Cacuteという文字はまったく表示されません!誰かが、問題がどこにあるのか、そしておそらく解決策について、正しい方向で私に指摘してもらえますか?

私はこれを複数のバージョンのGSで実行しました。最新バージョンはGPL Ghostscript 8.71(2010-02-10)です。結果は常に同じです。結果のPDFはhere(ページ上をスクロールしてテキストを表示する)を見つけることができます。

+0

私はそれがフォントの問題だと思っています。私のMacでも完璧に動作します。 Sretno!編集:うーん、あなたのPDFには、đと크롬が開いているが、プレビューで良い場合は欠けている。 – Amadan

+1

私は知っている**それはフォントの問題です。問題のフォントが結果のPDFに埋め込まれていないという問題があります。なぜなら、このフォントは 'base 14'(デフォルトでは埋め込まれない)の一部であるため、デフォルトでGhostscriptは 'Courier'を埋め込んでいないからです。 –

答えて

1

使用gs(Ghostscriptの)代わりのps2pdfを使用してフォントを埋め込むようにしてください。あなたは(「ベース14」フォントの一つである)宅配便を使用していると(ps2pdfはとにかくのGhostscriptコマンドラインの周りだけの単純なラッパーである。)

、Ghostscriptがデフォルト PDFにフォントを埋め込むしません。 (出力で、私は私のMac上でこのコマンドを実行すると、私は唯一の4クロアチアの文字を見ること、

gs \ 
    -o croatian-glyphs.pdf \ 
    -sDEVICE=pdfwrite \ 
    -c ".setpdfwrite <</NeverEmbed [ ] /AlwaysEmbed [/Courier]>> setdistillerparams" \ 
    -f croation-glyphs.ps 

:ということは、あなたは宅配便の埋め込みを強制するためにいくつかの追加のコマンドラインの魔法を使用する必要がありますscaron、scaron、zcaron、およびzcaron)が含まれます。その理由は、ここにある私の宅配便には、求められたクロータングリフがすべて含まれていない(したがって、それらを埋め込むことはできません)。

しかし、他のグリフを含むCourierを持つシステムでこのコマンドを実行すると、結果のPDFを渡すと、グリフが正しく表示されます(フォントまたは少なくとも使用中のグリフのサブセットは、PDFに埋め込まれています)。

+0

私はいくつかの他の問題を処理しなければならなかったので、遅く応答して申し訳ありませんが、私はこれを保留にしました。これは仕事です、ありがとう! –

+0

私が変更しなければならなかったのは、 "-o croatian-glyphs.pdf"から "-sOutputFile = croatian-glyphs.pdf"だけでした。 –

+0

@Nikola Novak:おそらくあなたのGhostscriptのバージョンは、8.xシリーズ、あるいはもっと古いバージョンからのものです。 –

0

は、PDFへのあなたのPostScriptファイルを変換するps2pdf -dEmbedAllFonts=true ...

+0

ありがとうございますが、動作しませんでした。 –

+0

サンプルpdfを分析した後、私はCurierフォントのエンコーディングがカスタムに設定されていることに気付きましたが、ユニコード文字をサポートするものでなければならないと思います。 – kingpin

+0

これをUTF-8に変更するにはどうすればよいですか? PDFは実際に生成されます)? –

関連する問題