
部分杂志投稿会出现pdf稿件含有Type 3Font的错误,一般来说许多杂志,尤其是经济类的杂志,会避免使用Type 3 font的字体,而倾向于使用Type 1 或者是True type。
我们来看一下原因,Type 3 Font实际上是一种点位映射(bit-mapped)字体,俗称点阵字体,在TEX中又被称为PK字体;这类字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓。点阵字体优点是显示速度快,不像矢量字体需要计算;其最大的缺点是不能放大,一旦放大后就会发现文字边缘的锯齿,整个字符出现马赛克。而相对于点阵字体,矢量字体的优点恰恰是能够无限放大且不失真。原因在于,矢量字库保存的是对每一个字符的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等(一般采用二次曲线,样条插值或者贝塞尔曲线)。在显示、打印这一类字库时,要经过一系列的数学运算才能输出结果。因此这一类字库保存的字体理论上可以被无限地放大,笔划轮廓仍然能保持圆滑,打印时使用的字库均为此类字库。比如说一般常用的Type1 (Adobe 开发)、TrueType(苹果开发)和OpenType(Adobe 与 Microsoft 合作开发)。
基于以上原因,点阵字体主要只作为“辅助”字体,用在一些特殊情境下;打印字体无论大小都会使用矢量字体。
那么latex中出现以上错误的原因已经很明了,也即生成pdf文件的过程中中使用了Type 3字体。注意到,Basic版本的Miktex默认下载的宏包中不含有Type1字体,而是使用Knuth的CM字体,对非英语字体支持不好。有人可能会问METAFONT不是用矢量图形来定义字形的吗?事实上虽然如此,它实际输出的却是一种点阵格式:PK(packedraster)。几个直接的原因有:1)使用Matlab中生成的图像;2)verbatim环境;3)使用非英语字符,(包括汉字,不包括法语声调符);4)操作系统是Linux或者Unix:默认设置使用Type3字体。
解决方式:改变latex中默认的字体设置或者安装字体。
前一种设置可以在article默认选项中添加,比如添加Times选项(使用泰晤士字体);亦可在导言区加入命令(使用拉丁字体):usepackage{lmodern}但是改变了整篇文章的字体。
推荐后一种实现方式:安装Type 1 字体(包含在cm-super宏包中),然后在导言区加入:usepackage[T1]{fontenc}