关闭

这下可是把字体搞定了(错误请指正)

标签: ttfmicrosoft文档fontsencodingwindows
1063人阅读 评论(0) 收藏 举报
分类:
这下可是把字体搞定了(错误请指正)
这次花了十五分钟就把字体搞定了, 呵呵, 颇有成就感, 其实大家把cjk的fonts.doc文档, ttf2tfm的文档和cjk.doc文档读一下就能发现很多东西.

我的环境: windows xp pro sp2 eng vol, miktex 2.4 , cjk 4.5.2

这是我第一次建立字体, 所以从宋体开始

1. 输入命令 ttf2tfm simsun.ttc -P 3 -E 1 simsun@UGBK@

%simsun.ttc是硬盘上的字体名;P是platform id, microsoft是3, E是encoding id, 在platform id=3时使用unicode 2.0取1(这些东西在ttf2tfm文档里看); simsun是tex中引用的字体名; UGBK是sun-font definition文件名, 不同编码的sfd文件可以在texmf\ttf2tfm\base下面查找

2. 这个命令会生成一大堆simsun*.tfm文件, 把它们移动到texmf\fonts\tfm\ugbk\simsun\下面, ugbk和simsun目录不存在可以自己建一个, simsun这个目录名要和tex中引用的字体名相同

3. 编写fd文件
.fd文件的文件名有一定的要求, 这里的fd文件名为C19simsun.fd, C19是cjk定义的GBK编码代号, 其他编码在fonts.doc文件里定义; simsun是tex中引用的字体名

.fd文件中输入如下内容:
CODE
\def\fileversion{4.5.2}
\def\filedate{2003/03/28}
\ProvidesFile{c19.simsun.fd}[\filedate\space\fileversion]
\DeclareFontFamily{C19}{simsun}{}
\DeclareFontShape{C19}{simsun}{m}{n}{<-> CJK * simsun}{}
\endinput


最重要的是倒数二三两行, C19是CJK编码代号, 所有的simsun都是tex中引用的字体名; 将这个.fd文件保存到\texmf\tex\latex\CJK\GBK 下面, 没有的话自己建一个gbk目录m是字体的重量,n是倾斜, 其他参数在fonts.doc里看

4. 修改texmf\ttf2tfm\base\ttfonts.map, 加入

simsun@ugbk@ simsun.ttc Pid=3 Eid=1


好了, 更新tex文件索引库, 试试这个代码

CODE

\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{GBK}{simsun}
测试字体
\end{CJK}
\end{document}


应该行了.

其实tex安装字体主要的麻烦就是要是用ttf2tfm和cjk这两个东西, 这两个东西的内容不太一样, 比如ugbk和gbk, 可能会造成理解上的一些困难, 得摸索一下

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:784565次
    • 积分:4345
    • 等级:
    • 排名:第7222名
    • 原创:53篇
    • 转载:38篇
    • 译文:0篇
    • 评论:18条
    最新评论