首页 > 贝壳 > pdf嵌入字体

pdf嵌入字体

2012年5月12日 sigma 发表评论 阅读评论

在论文提交final script时,一般都要求论文中所有的字体都嵌入到pdf中,一般来说,IEEE提供了一个叫做EXPRESS的工具,可以检查是否符合规范,包括字体是否嵌入。但是,有时候,我们通过latex编译出来的pdf,不能通过EXPRESS检查,并且大部分都是因为字体原因,那么,本文将介绍如何在linux pdflatex编译时能够潜入所有字体。

首先,linux下本身提供了一个检查pdf字体信息的工具,pdffonts。比如查看test.pdf的字体:

pdffonts test.pdf

结果应该是类似下面的:

name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
JNARJV+NimbusRomNo9L-Medi            Type 1            yes yes no       6  0
NBINYZ+NimbusRomNo9L-Regu            Type 1            yes yes no       7  0
CBDPEB+NimbusRomNo9L-ReguItal        Type 1            yes yes no       8  0
ZYBBWF+CMSY10                        Type 1            yes yes no       9  0
QVCFWU+NimbusRomNo9L-MediItal        Type 1            yes yes no      10  0
IJIDBD+CMMI10                        Type 1            yes yes no      11  0
MTWRTR+CMR10                         Type 1            yes yes no      16  0
Arial                                TrueType          no  no  no      35  0
Arial,Italic                         TrueType          no  no  no      36  0
WXQMOP+CMMIB10                       Type 1            yes yes no      46  0
Helvetica                            Type 1            no  no  no      51  0
DWKNIZ+CMMI7                         Type 1            yes yes no      55  0
IXNPPI+CMEX10                        Type 1            yes yes no      56  0
EUDIGL+CMR7                          Type 1            yes yes no      57  0
CLXNUD+CMSY7                         Type 1            yes yes no      58  0
RURLFQ+CMMIB7                        Type 1            yes yes no      62  0
LDBHLR+CMBX10                        Type 1            yes yes no      63  0
YJCSYX+CMMI5                         Type 1            yes yes no      69  0
Helvetica                            Type 1            no  no  no      74  0
Helvetica                            Type 1            no  no  no      79  0

可以看到,有些字体emb选项为no,表示没有嵌入。

可以通过下面命令来编辑pdflatex潜入字体的设置:

updmap --edit

这会打开一个文件,搜索pdftexDownloadBase14,将其值变为True,即最后的文件含有下面一行。

pdftexDownloadBase14 true

重新编译tex文件,即可生成嵌入字体的文件。再用pdffonts看,结果应该是:

name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
JNARJV+NimbusRomNo9L-Medi            Type 1            yes yes no       5  0
ZDVLDF+NimbusRomNo9L-Regu            Type 1            yes yes no       6  0
VSOJMD+CMR8                          Type 1            yes yes no       7  0
EAAUWX+CMMI8                         Type 1            yes yes no       8  0
YPSQTS+CMR6                          Type 1            yes yes no       9  0
ZYBBWF+CMSY10                        Type 1            yes yes no      10  0
QVCFWU+NimbusRomNo9L-MediItal        Type 1            yes yes no      11  0
EOQRPL+CMMI10                        Type 1            yes yes no      12  0
MTWRTR+CMR10                         Type 1            yes yes no      17  0
FTUEJX+NimbusRomNo9L-ReguItal        Type 1            yes yes no      18  0
WMBKUV+CMMIB10                       Type 1            yes yes no      56  0
DWKNIZ+CMMI7                         Type 1            yes yes no      63  0
IXNPPI+CMEX10                        Type 1            yes yes no      64  0
EUDIGL+CMR7                          Type 1            yes yes no      65  0
CLXNUD+CMSY7                         Type 1            yes yes no      66  0
RURLFQ+CMMIB7                        Type 1            yes yes no      70  0
LDBHLR+CMBX10                        Type 1            yes yes no      71  0
YJCSYX+CMMI5                         Type 1            yes yes no      77  0

但是,有时候,由于latex源文件插入了eps.ps,pdf格式的图,这些图没有潜入字体,编译出来pdf也有部分字体没有嵌入,这时,可以通过pdftops工具将编译的pdf转化成ps,之后再用ps2pdf14并加上选项将字体嵌入。

pdftops  test.pdf
ps2pdf14 -dPDFSETTINGS=/prepress test.ps

对于windows用户,遇到没有潜入字体的pdf。可以通过有些支持pdf嵌入字体的虚拟打印机,打印时将嵌入字体选项选上。个人推荐使用foxit phantom或这acrobat的虚拟打印机。

 

本文作者: Sigma    在新浪微博关注SigmaSigmaWeibo    RSS订阅本博客
本文链接: http://www.sigma.me/2012/05/12/pdflatex-embed-fonts-in-linu.html
本博客采用知识共享署名—非商业性-禁止演绎使用3.0协议进行许可,转载请保留作者和原文链接。

分类: 贝壳 标签: , , , ,

  1. 路人
    2012年5月13日21:38 | #1

    你的博客的rss是不是有问题啊,最近每篇文章在reader里都double了

  2. 2012年5月13日21:55 | #2

    @路人
    不会吧,我直接看feed地址没问题
    http://feeds2.feedburner.com/lifewithbugs
    并且在我自己的reader里也没问题
    你是不是不小心订阅了两个地址呀,因为除了feedburner的地址,还有个直接的feed地址:
    http://www.sigma.me/feed

  3. 2012年5月16日20:45 | #3

    博主很博学 想跟您交个朋友可以么 留个QQ吧

  4. 2012年10月28日16:27 | #4

    我是计算所的学弟呀,很喜欢你写的内容,加油!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量