office_tools 版 (精华区)

发信人: hitwdh (一潭死水), 信区: office_tools
标  题: Tex/latex中字体的使用(转载)
发信站: 哈工大紫丁香 (2003年11月13日18:05:20 星期四), 站内信件

【 以下文字转载自 MathTools 讨论区 】
发信人: docpost (思念我的金陵....), 信区: MathTools
标  题: Tex/latex中字体的使用(转载)
发信站: BBS 水木清华站 (Thu Jul 10 10:00:06 2003), 转信
 
Tex/LaTex字体的使用
xianxian
 
Tex/Latex的一般字体有以下几种:
 
1. TFM文件: Tex Font Metric。 它所含的信息有字符定义, 各字符宽度,
字符的四个角的坐标, 由Tex/LaTex在排版中确定相应字符所占据的宽度,
以及相邻字符的许多关系。例如, Xian的字符为X, i, a, n, 根据字体的
不同, 每个字符被Tex\LaTex分配得到的字符宽度是不同的, X得到的宽度
一般大于i的宽度。再比如, 在数学环境中, $a_i^j$, a的下标由a的
右下角的坐标确定, 上标由a的右上角坐标确定。
只要有了某种字体的TFM文件, 那么我们Tex/LaTex编译时就会顺利完成。
 


2. PFB和AFM文件: Adobe的Type1字体和Adobe Font Metric文件。
PFB文件包含字体的形状的信息, 在dvips和dvipdfm把dvi文件转换为
ps和pdf文件时, 使用这些文件可以使得到的字体比较漂亮。
可以在放大时无锯齿。AFM文件包含PFB字体的宽度和四角坐标,
在使用PFB文件时要用到。
 
3. PK文件: 包含字体的Bitmap信息。在阅览dvi文件时要用到,
在Miktex中是动态生成的, 即用Yap查看时才从相应的其它字体生成。
它根据分辨率不同而得到不同的Bitmap字体文件, 所以长期生成的话,
会占用大量空间。
 
4. MF文件: 字体的Metafont文件。它是Tex的创始人创造的字体格式。
从MF文件可以生成Bitmap字体, 用于dvi文件, ps和pdf文件。放在source目录下。
 
5. vf文件: 虚拟字体文件。它是一种方便的字体文件, 它把本字体对应
到相应的基本字体上。
 
6. TTF文件: Windows下的字体, 由它可以生成AFM, TFM, PFB文件,
不过要使用T1-WGL4.enc编码。比如对字体times.ttf,
转换方法:
ttf2tfm times.ttf -q -T T1-WGL4.enc -v ectimes.vpl rectimes.tfm >> ttfonts.map
ttf-->tfm+vpl, vpl是vf的字符版。


vptovf ectimes.vpl ectimes.vf ectimes.tfm
vpl-->vf, vf是vpl的二进制版。
ttf2afm -e T1-WGL4.enc -o rectimes.afm times.ttf
ttf-->afm。
afm2tfm rectimes.afm -T T1-WGL4.enc rectimes.tfm >>winfonts.map
afm-->tfm, 生成需要的映射文件。
ttf2pfb -m -enc Uni-T1.enc -o ectimes0.pfb ectimes.ttf
ttf-->pfb的字符版。
t1asm -b ectimes0.pfb ectimes.pfb
字符版pfb-->二进制版pfb。
 
字体的使用:
 
1. 只要有TFM字体文件, 那么在TEX和Latex中就可以使用此字体,
方法是:
Tex中,
\font\aaa=ectimes at 12pt %定义12pt的ectimes字体
\aaa ABCD                 %使用12pt的ectimes字体
LaTex中:
首先定义字体文件fd: 比如
\ProvidesFile{t1myfont.fd}[Put your description of font here]
\DeclareFontFamily{T1}{myfont}{}


\DeclareFontShape{T1}{myfont}{m}{n}{<-> myfont1}{}% 所有的字体大小
                                                 %都使用本字体
\DeclareFontShape{OT1}{cmr}{m}{n}%
    {<5><6><7><8><9><10><12>gen*cmr%使用相应的cmr<n>字体;
     <10.95>cmr10% 10.95pt使用cmr10字体;
     <14.4>cmr12%  14.4pt使用cmr12字体;
     <17.28><20.74><24.88>cmr17}{}%17.28,20.74, 24.88使用cmr17字体。
\endinput
就可以调用字体了:
\usefont{T1}{myfont}{m}{n}
ABCD
而且其中可以用normal, small, 等来改变字体的大小,
不象Tex中每次只确定一种字体大小。
 
2. dvips使用pfb字体:
在texmf\dvips\config\config.ps文件中增加
p +myfont.map
在texmf\dvips\config目录下编辑你的map文件myfont.map:
比如对cmr10字体:
cmr10 CMR10 <cmr10.pfb
它把cmr10.pfb字体提供给dvips程序。
 


3. dvipdm使用pfb字体:
在\texmf\dvipdfm\config\config文件中增加一行:
f myfont.map
在texmf\dvipdfm\base目录下增加一个文件myfont.map
内容为
TeX-name encoding AFM-name PFB-name
如果三个名字相同, 就可以只斜第一个。
如:
cmr10 ot1r -r
myfont ot1 myfont myfont
这样你就可以让dvipdfm调用pfb字体了。
 
4. dvipdfmx使用ttf字体:
(使用pfb字体同上, 生成不可复制的中文PDF文件)
首先用上面的程序生成TFM文件, 移到tfm文件所在的目录;
其次编辑localtexmf\dvipdfm\config\cid-x.map文件, 增加:
gbksong@UGBK@             UniGB-UCS2-H    :0:simsun.ttf
gbksongsl@UGBK@             UniGB-UCS2-H    :0:simsun.ttf
gbkhei@UGBK@             UniGB-UCS2-H    :0:simhei.ttf
gbkheisl@UGBK@             UniGB-UCS2-H    :0:simhei.ttf
gbkkai@UGBK@             UniGB-UCS2-H    :0:simkai.ttf
gbkkaisl@UGBK@             UniGB-UCS2-H    :0:simkai.ttf


gbkfs@UGBK@             UniGB-UCS2-H    :0:simfang.ttf
gbkfssl@UGBK@             UniGB-UCS2-H    :0:simfang.ttf
gbkli@UGBK@             UniGB-UCS2-H    :0:simli.ttf
gbklisl@UGBK@             UniGB-UCS2-H    :0:simli.ttf
gbkyou@UGBK@             UniGB-UCS2-H    :0:simyou.ttf
gbkyousl@UGBK@             UniGB-UCS2-H    :0:simyou.ttf
times          Roman        :0:times.ttf
就可以使用宋体等中文字体, New times roman等英文字体,
(注意, Roman编码可以在Acrobat的相应目录下copy到
localtexmf\dvipdfm\CMap目录下。但是Symbol编码无法使用,
这是因为dvipdfmx不支持。)
在texmf\miktex\config\miktex.ini中增加TTF字体的目录如下:
TTFPath=.;%R\fonts\truetype//;C:\Windows\fonts
 
如有不当, 敬请指正。
 
如果希望查看某种字体, 你可以
tex testfont
就提示你输入字体名, 比如输入
cmr10 回车,
得到提示符
*


\table\eject\init
其意思是: 列表, 换页, 开始另外一个字体;
在你不希望再得到其它字体时, 在*后输入:
\table\bye
即: 列表, 结束。
那么你就得到列表的各种字体文件了。


--
            傲气面对万重浪,       热血像那红日光        
            胆似铁造,骨如精钢,  胸襟百千丈 眼光万里长 
            我奋发图强做好汉      做个好汉子 每天要自强 
            热血男儿汉比太阳更光,昂步挺胸大家作栋梁    
            做好汉                用我百点热 耀出千分光 
            做个好汉子            热血热肠热 经太阳更光 

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.237.12]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.222毫秒