我使用 创建了一个 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
现在所有字体都应该嵌入并且您的出版商会满意。