最近、lubuntuのバージョンを16.04から18.04に更新し、それ以来、特定のシンボルのpdfプロットの表示に問題がありました(evince
を使用)。表示しようとしているpdfファイルは次のとおりです。
https://www.dropbox.com/s/mc2wp2y8q2af1vj/stupidPlot.pdf?dl=
私の画面では、次のスクリーンショットのように表示されます。
次のように表示されます。
したがって、ギリシャ記号のデルタ、ガンマ、大文字のデルタは期待どおりに表示されません。いくつか検索した結果、フォントが読み込もうとしているpdfファイルに埋め込まれていないことに関連していると思います(確かではありませんが、そうでない場合は修正してください)。 pdffonts
は次の出力を提供します。
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
Times-Italic Type 1 WinAnsi no no no 7 0
Times-Bold Type 1 WinAnsi no no no 8 0
Times-BoldItalic Type 1 WinAnsi no no no 9 0
Helvetica Type 1 WinAnsi no no no 10 0
Helvetica-Oblique Type 1 WinAnsi no no no 11 0
Helvetica-Bold Type 1 WinAnsi no no no 12 0
Helvetica-BoldOblique Type 1 WinAnsi no no no 13 0
Courier Type 1 WinAnsi no no no 14 0
Courier-Oblique Type 1 WinAnsi no no no 15 0
Courier-Bold Type 1 WinAnsi no no no 16 0
Courier-BoldOblique Type 1 WinAnsi no no no 17 0
Symbol Type 1 Symbol no no no 18 0
Times-Roman Type 1 WinAnsi no no no 19 0
ZapfDingbats Type 1 ZapfDingbats no no no 20 0
Symbol Type 1 Symbol no no no 21 0
私は次の提案を使用してそれを修正しようとしました: https://stackoverflow.com/questions/10277418/the-pdf-viewer-evince-on-linux-can-not-display-some-math-symbols -correctly GhostScriptを次のように実行します。
gs -o gs-repaired --- stupidPlot.pdf -dPDFSETTINGS =/prepress -sDEVICE = pdfwrite stupidPlot.pdf
これは機能していないようで、エラーを出します:
**** Error: Encountered 'obj' while expecting 'endobj'.
Treating this as a missing 'endobj', output may be incorrect.
**** Error: Encountered 'obj' while expecting 'endobj'.
Treating this as a missing 'endobj', output may be incorrect.
Processing pages 1 through 1.
Page 1
Loading NimbusSans-Regular font from /usr/share/ghostscript/9.26/Resource/Font/NimbusSans-Regular... 5086732 3571608 2679472 1286852 4 done.
Loading StandardSymbolsPS font from /usr/share/ghostscript/9.26/Resource/Font/StandardSymbolsPS... 5119500 3664456 2699672 1302649 4 done.
**** This file had errors that were repaired or ignored.
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.
****このファイルからレンダリングされた出力は正しくない可能性があります。
さらに、私は数千(数万)のpdfプロットを作成する必要があるため、それらを正しく表示するためにフォントを埋め込む必要がないことが望ましいでしょう。
だから誰かがlubuntu 16.04から18.04に更新したときに何が変わったのか(16.04ではプロットは常に正しく表示されました)、そしてできればPDFをevince
に正しく表示できる方法を知っているのではないかと思いますPDFのフォント。
xpdf
の代わりにokular
とevince
を使用してみましたが、同じようにシンボルが誤って表示されていました。
Adobe Illustratorでファイルを開くと、グリフフォントが実際に https://en.wikipedia.org/wiki/Symbol_(typeface) であることがわかります。 Adobe Reader、ただしevince付きではありません。同時に、おそらくシステムフォントとしてインストールされているフォントがないため、フォールバックするものはありません。静かに他のフォントに置き換えないことを説得するための小道具。
これを正しく表示できる最後のことは、作成時にフォントがファイルに埋め込まれている場合です(pdf内の完全な情報)。ただし、 https://root-forum.cern.ch/t/embed-fonts-in-pdf/21666/2 に基づくROOTでは、フォントを埋め込んでファイルサイズを小さく保つことはできません。
tl; drフォントが "Helvetica"に設定されていることを確認してください。MacでArialが表示されない限り、どちらの方法でも表示できます。正しくシンボル。