通过上一篇里对字体的考察,afm文件和cmap文件的用途已经了解了:前者规定了Type 1字体中字宽与文字间距等度量信息,后者则是CID字体(Type 1的一种)通过CID编码与各编码集(GB2312、Big5等)进行对应时所使用的文件。
那么fonts下的afm和cmap文件夹结束。下面是enc文件夹,这里也只装有enc文件一种。按TeX Wiki的说法(我在那上面找到了用语集!!而之前我一直笨笨地在五大洲的网站上Google着enc……以下若无特殊说明,用语解释都出自此处),enc文件一般是PostScript字体(即广义上的Type 1字体)的编码定义文件。而这里的所谓编码,即是各个字形与数字代码之间的对应关系。
接下来是lig文件夹,里面只有lig文件一种。lig文件是afm2pl程序用来对组合字进行定义的文件。afm2pl程序是基于afm文件制作pl文件的程序。pl(property list)文件是指TFM文件的内容经过转换后的,能为人所读懂的格式。那什么是TFM文件呢?
TFM(TeX Font Metric)文件是TeX所使用的西文字体度量文件。TeX自身在进行(文字排版的)输出处理时,只使用TMF数据。而输出处理时各个TFM使用哪个字体进行显示和印刷等问题,则原则上由各个DVIware的设定来决定。
然后是map文件夹。这里面有除两个txt文件外,其余皆为map文件。map文件是记载了TFM的名称与真实字体(例如Type 1字体)之间对应关系的文件。各DVIware的map文件格式不尽相同。另外,map文件所在的路径也因TDS的版本而异,因此有必要注意所使用的TeX系统是基于哪个TDS版本的。当然,最近此类问题可以通过DVIware的updmap命令予以解决。另外,不论西文还是中文、日文字体,如果通过VF(虚拟字体)进行转换,则TeX文档所使用的TFM(或jfm)名与map文件上记载的时常会有不同。
总之,意思就是说,TeX文档在进行排版处理时,使用的不是真实的字体而是TFM,然后DVIware基于自身的设定将TFM与真实的字体相关连,最终显示真实的字体。而进行这种关联的,就是map文件。
这里又提到了TDS和VF两个概念。TDS(TeX Directory Structure)是TeX路径构成标准化的意思。VF(Virtual Font)则用于从多个字体中收集字形,或用于整合代用字体与目标字体等。可以向Virtual Font内记述包括special命令在内的所有DVI命令。
所谓special命令,是指用于执行不被DVI所支持的,依赖于设备的命令的命令。如插入各种图像、超链接以及规定纸张大小等,均是依靠special命令来实现。
之后是misc文件夹,其构成为:\misc\cns\cns40的单一结构。cns40内有bin和hbf两种文件,hbf,TeX Wiki上没有记载,在网上查了一下,是Hanzi Bitmap Font(汉字点阵字体)的意思,并且它需要hbf2gf这个程序,此程序可以从bin文件夹中找到。其实hbf并不是字体文件本身,它只是一个字体度量文件,真正的字体数据文件,从hbf文件的内容来看,应该是那些bin文件。
下一个为ofm文件夹,其构成为:\ofm\public\otf,也是单一结构。otf文件夹内的文件扩展名为ofm,这个,据网上说是Omega专用的,用来替换TFM的字体度量文件。而Omega,则是基于TeX,但由于改动太大已不能称之为TeX的支持Unicode的TeX扩展程序之一。我貌似还没有安装。
接下来是pk文件夹,\pk\cx\public\cm单一结构。cm内文件的扩展名为各种pk,比如.270pk、.300pk、.240pk等。用语集对pk文件的解释是,使用gftopk,将gf文件压缩后得到的压缩版点阵字体。pk字体的扩展名虽然是“.pk”,但在允许长文件名的环境下,常使用“<解像度>pk”来命名扩展名,如“.300pk”。
这里又提到了gf文件这个概念,gf(generic font)是由METAFONT生成的非压缩点阵字体数据。其扩展名虽为“.gf”,但在允许长文件名的环境下,常使用“<解像度>gf”来命名扩展名,如“.300gf”。
又引申出了METAFONT,什么是METAFONT呢?它是与TeX相对应的字体制作软件。当然,由于DVIware作者们的不懈努力,现在一般流行的,非由METAFONT制作的字体也可以在TeX中使用了(需在DVIware中进行相应的设定)。
接下来是sfd文件夹,这里直接包含有sfd文件若干。sfd文件,是Unicode号码与某种编码之间的文字编码对照表(副字体定义文件)。为了在CJK宏中使用,它常被用于以下用途:当使用按“Unicode号码顺序进行分割”了的TrueType字体时,向dvipdfm等DVIware或者ttf2tfm等工具通知“分割后字体中各个文字与分割前字体的文字号码上的对应关系”。
下面是source文件夹,source内子文件夹众多,但其包含的文件主要为以下三种:mf、vpl、pl。其中pl刚才已经查过了,所以下面看mf和vpl的解释。mf文件:由METAFONT所产生的字体的源文件。vpl(Virtual Property List):VF文件经过转换后的,能为人读懂的格式。
再下面就简单了,最后的三个文件夹分别是tfm、type1和vf,里面分别是tfm文件、pfb文件和vf文件,这三个分别在前面和上一篇已经搞定了。
于是,无量天尊,贫道对fonts文件夹内文件类型的学习至此结束了。虽仍一头雾水,却感获益颇丰。贫道会再接再厉,善哉善哉。