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毫秒