CTeX 2.9中给CJK添加中文字体

CTeX 2.9中给CJK添加中文字体


2011-03-06
 

首先, 下载xGBKFonts来转化中文TureType字体.这个工具可以在http://www.hooklee.com/tex.html下载到最新版.

将TureType字体与xGBKFonts放在同一个目录里,然后在命令行窗口里输入:



xgbkfonts 字体文件名 调用字体名



其中调用字体名就是希望在tex里调用时使用的名称.比如要添加方正粗宋体, 则先输入



xgbkfonts FZCJW.TTF csong



其中"csong"就是新字体在tex中的名称(类似于宋体是song一样). 执行后会询问PD编号是否确认,这用于带多个字型的字库,没试过多字型的, 按Y继续. 接下来就等待xGBKFonts的转换.所有的转换生成文件最后会放在一个gbkcsong文件夹中. 按程序最后的提示, 将生成的文件拷入localtexmf主目录下(或按提示添加内容到已经存在的文件中), 注意在Ctex 2.9中, 如果CTeX 2.9的安装目录是"C:CTeX", 则localtexmf目录为"D:CTeXCTeX". 拷贝添加完成后, 按提示运行initexmf -u和initexmf --mkmaps. 事实上还需要运行"开始-->程序-->CTeX-->MikTex-->Maintenance-->Settings", 在程序中选择"General-->Maintenance-->Refresh FNDB"和"General-->Maintenance-->Update Formats". 现在方正粗宋体应该在Tex文件中可以使用了. 使用例子:



\documentclass{article}

\usepackage{CJK}

\begin{document}

\begin{CJK*}{GBK}{song}

中文字体



{\CJKfamily{csong}方正粗宋体}

\end{CJK*}

\end{document}



如果想象英文一样对中文使用\bf命令, 就需要相应字体的粗体字. 例如要用刚生成的csong字体来产生对宋体的\bf效果, 在你的localtexmf目录下找到"texlatexCJKGBc19song.fd". 用文本编辑器打开它进行编辑. 它看起来是下面样子的



% This is the file c19song.fd of the CJK package

%   for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e

%

% automatically generated by zhfd v1.0


\deffileversion{4.8.2}

\deffiledate{2009/09/23}

\ProvidesFile{c19song.fd}[filedatespacefileversion]


% Chinese characters

%

% character set: GBK

% font encoding: CJK (GBK)


\DeclareFontFamily{C19}{song}{hyphenchar fontm@ne}


\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbksong}{CJKnormal}

\DeclareFontShape{C19}{song}{b}{n}{<-> CJKb * gbksong}{CJKbold}

\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbksong}{CJKbold}

\DeclareFontShape{C19}{song}{m}{it}{<-> CJK * gbksongsl}{CJKnormal}

\DeclareFontShape{C19}{song}{b}{it}{<-> CJKb * gbksongsl}{CJKbold}

\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbksongsl}{CJKbold}

\DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * gbksongsl}{CJKnormal}

\DeclareFontShape{C19}{song}{b}{sl}{<-> CJKb * gbksongsl}{CJKbold}

\DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * gbksongsl}{CJKbold}


\endinput



现在将

\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbksong}{CJKbold}

改为

\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbkcsong}{CJKbold}

并将

\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbksongsl}{CJKbold}

改为

\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKb * gbkcsongsl}{CJKbold}



保存退出. 现在就可以在tex中对宋体字使用\bf命令了.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章