更新至 lubuntu 18.04 后显示 pdf 文件出现问题

更新至 lubuntu 18.04 后显示 pdf 文件出现问题

最近我将 lubuntu 版本从 16.04 更新到 18.04,从那时起,我在显示某些符号 pdf 图(使用evince)时遇到了问题。我尝试显示的 pdf 文件如下:

https://www.dropbox.com/s/mc2wp2y8q2af1vj/stupidPlot.pdf?dl=0

在我的屏幕上它显示如下截图所示:

错误显示

而它应该显示如下:

正确显示

因此,希腊符号 delta、gamma 和大写 delta 未按预期显示。经过一番搜索,我猜想这一定与字体未嵌入我尝试读取的 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 中嵌入字体。

我也尝试使用xpdfokular作为的替代evince,但它们以相同的方式错误地显示符号。

答案1

在 Adob​​e Illustrator 中打开该文件,你会发现字形字体实际上是https://en.wikipedia.org/wiki/Symbol_(字体)它可能随 Adob​​e Reader 一起提供,但不随 evince 提供。同时,您可能没有将该字体安装为系统字体,因此没有什么可以退而求其次的。感谢 envince 没有默默地用其他字体替换它。

最后一件事是,字体是否在创建文件时嵌入了文件(完整信息在 pdf 本身中)。然而,基于https://root-forum.cern.ch/t/embed-fonts-in-pdf/21666/2ROOT 不允许嵌入字体以保持文件大小较小。

总结 确保字体设置为“Helvetica”,除非在 Mac 上会给你 Arial,但无论哪种方式你都应该能够正确显示符号。

相关内容