在使用 pdfLaTeX 创建的 PDF 中嵌入 base14 字体

在使用 pdfLaTeX 创建的 PDF 中嵌入 base14 字体

我使用 创建了一个 PDF txfonts。但是基本 14 种字体(Times-Roman、Times-Italic 等)未嵌入 PDF 中。有人能帮我解决这个问题吗?我的 PDF 中的字体信息如下:

 name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Times-Roman                          Type 1            no  no  no      14  0
Times-Roman                          Type 1            no  no  no      15  0
Times-Italic                         Type 1            no  no  no      16  0
LCHINT+NimbusRomNo9L-Medi            Type 1            yes yes no      17  0

其中pdfmaps.tex我有以下条目:

\pdfmapfile{=acrobat-std-urw-kb.map}
\pdfmapfile{=psfonts.map}
\pdfmapfile{=txr.map}

答案1

如今,基本字体已默认包含在内。您可以通过在 updmap.cfg 中设置pdftexDownloadBase14 true/来启用/禁用此功能,然后重新生成地图文件。您可以在文档中使用/pdftexDownloadBase14 false暂时(至少在 miktex 上)切换。\pdfmapline{pdftex_dl14.map}\pdfmapline{pdftex_ndl14.map}

但是如果你的系统比较旧(psfonts.map听起来很旧),情况可能会有所不同。首先,简单地取消注释命令\pdfmapfile,然后查看你的 pdftex 默认执行的操作。如果它不起作用,那么你应该发送有关你的 tex 系统和版本的信息。

答案2

PDF 规范要求 PDF 查看器/打印机/其他必须嵌入了 14 种基本字体。因此,应用程序无需在文档中嵌入这些字体。

http://en.wikipedia.org/wiki/Portable_Document_Format#Standard_Type_1_Fonts

答案3

这是一个可行的解决方案:

http://www.grassbook.org/neteler/highres_pdf.html

-> 3 在 PDFLateX 中嵌入字体

您使用“pdflatex”创建了 PDF 文档,需要将其交付给出版商,但他们抱怨字体未嵌入?有一个简单的解决方案。请注意,将“pdftexDownloadBase14”设置为 true 等所有技巧对我来说都失败了。因此,只需执行以下操作:

转换为 Postscript:

pdftops main.pdf main.ps

重新转换为 PDF 但强制嵌入字体(注意,超链接将无法保留):

ps2pdf14 -dPDFSETTINGS=/prepress -dEmbedAllFonts=true main.ps main2.pdf

核实:

pdffonts main.pdf

现在所有字体都应该嵌入并且您的出版商会满意。

相关内容