Latex字体未嵌入解决方案

ACM模板字库未嵌入问题的解决方案

投稿时有时会遇到以下提示的问题,提示如下:

Error Font Helvetica-Bold is not embedded (86x)
Error Font Helvetica is not embedded (404x)
Error Font Times-Bold is not embedded (246x)
Error Font Times-Roman is not embedded (427x)
Error Font Times-Italic is not embedded (125x)

我安装的是CTEX套装,生成pdf是按latex->bib->latex->latex->div2ps->ps2pdf的步骤。

去网上找了将近半天,众说纷纭。根据我自己的判断应该是Type1字体没有嵌入,然后被TrueTpye字体给替换了。具体说就是上面最后两步出问题了。网上的解决方案很多。我试了试都不管用,至少是不完全有用。折腾了半天,终于把问题解决了,我把我的解决方案贴出来,希望遇到同样问题的同学能看到。

首先是div2ps这步,必须确保type1字体被嵌入。我是按http://www.acm.org/sigs/publications/sigfaq#a14里的提示命令操作的:

dvips -t letter -Pdownload35 -o .ps .dvi

acm给的解释是This option 'forces' the embedding of all the fonts.
(Note: This option is not available in all dvips versions.)

有兴趣大家可以打开CTEXMiKTeXmiktexconfigupdmap.cfg看下,其实-Pdownload35是把下面的dvipsDownloadBase3临时设置成了true。

# dvipsDownloadBase35
#
# Should dvips (by default) download the standard 35 LaserWriter fonts
# with the document (then set dvipsDownloadBase35 true) or should these
# fonts be used from the ps interpreter / printer?
# Whatever the default is, the user can override it by specifying
# dvips -Pdownload35 … resp. dvips -Pbuiltin35 … to either download
# the LW35 fonts resp. use the build-in fonts.
#
# Valid settings are true / false:
dvipsDownloadBase35 false

当然上面的命令是不能点WinEdt上的dvi->ps按钮实现的,必须切换到命令行下执行。

接下来就是ps2pdf这一步了。网上说CTEX是集成Type1字体的。但是我点ps->pdf按钮生成的pdf还是不行。由于我对latex配置不熟,找不到在那配置,而且我也怕改了配置后改不回来,以后会导致未知错误。于是我按照网上说的用Acrobat Distiller把ps生成pdf。我的Acrobat Distiller版本是9,是装Adobe Acrobat 9 Pro自带的。其实用此方法的话说需要的字库就和CTEX没关系了。现在要做的就是在Windows上安装说需要的Type1字库了。我的pdf缺少Type1的Times字库和Helvetica字库。大家可以按自己系统的情况安装。我提供3个地址共参考:

http://www.ams.org/publications/amsfonts.html

http://www.aifont.com/post/?p=15

http://www.artec.cn/resource/font/2198-font.html

安装完字库用Acrobat Distiller把ps转化成pdf就行了。

转自【冰河的博客】http://www.binghe.org/tag/LaTex/

你可能感兴趣的:(Tools)