提問: 我通過編譯LaTex源文件生成了一份PDF文檔。然而,我注意到,并不是所有字體都嵌入到了PDF文檔中。我怎樣才能確保所有的字體嵌入在由LaTex生成的PDF文檔中?
解答:當(dāng)你創(chuàng)建一個(gè)PDF文件時(shí),在PDF文件中嵌入字體是一個(gè)好主意。如果你不嵌入字體,PDF瀏覽器可以在計(jì)算機(jī)上沒有字體的情況下使用其他東西代替。這將導(dǎo)致文件被在不同的PDF瀏覽器或操作系統(tǒng)平臺上呈現(xiàn)不同的樣式。當(dāng)你打印出來的文檔時(shí),缺少的字體是一個(gè)問題。
當(dāng)你從LaTex中生成PDF文檔時(shí)(例如用pdflatex或dvipdfm),可能并不是所有的字體都嵌入在PDF文檔中。例如,pdffonts下面的輸出中提示PDF文檔中有缺少的字體(如Helvetica)。
為了避免這樣的問題,下面是如何在LaTex編譯時(shí)嵌入所有的字體。
$ latex document.tex
$ dvips -Ppdf -G0 -t letter -o document.ps document.dvi
$ ps2pdf -dPDFSETTINGS=/prepress \
-dCompatibilityLevel=1.4 \
-dAutoFilterColorImages=false \
-dAutoFilterGrayImages=false \
-dColorImageFilter=/FlateEncode \
-dGrayImageFilter=/FlateEncode \
-dMonoImageFilter=/FlateEncode \
-dDownsampleColorImages=false \
-dDownsampleGrayImages=false \document.ps document.pdf
現(xiàn)在你可以看到所有的字體都被嵌入到PDF中了。