使用OpenSuSE 11.1也有一段时间了,由于工作较忙,一直懒得折腾cjk-latex的中文,最近使用amsn时发现有一个TEXIM插件挺有意思的,所以顺带地把cjk-latex的中文也设置了一下。
首先要安装相关的软件包,基本上安装软件时选中texlive-cjk-latex-extra其它的包也都顺带选中安装了。下面说说设置的过程。
第一步:把simsun.ttc、simhei.ttf等字体拷贝到/usr/share/fonts/truetype目录下面,主要是为了让后续的SuSEconfig操作能顺利的找到文件;
第二步:编辑/etc/ttf2pk/ttfonts.map,添加相关内容。
在“% simplified Chinese:”后面添加如下内容:
%下面是宋体GB编码设置
song-gb@UGB@ simsun.ttc
song-s-gb@UGB@ simsun.ttc Slant=0.167
song-r-gb@UGB@ simsun.ttc Rotate=Yes
song-rs-gb@UGB@ simsun.ttc Rotate=Yes Slant=0.167
%下面是宋体GBK编码设置
song-gb@UGB@ simsun.ttc
song-s-gb@UGB@ simsun.ttc Slant=0.167
song-r-gb@UGB@ simsun.ttc Rotate=Yes
song-rs-gb@UGB@ simsun.ttc Rotate=Yes Slant=0.167
%下面是宋体Unicode编码设置
song-uni@Unicode@ simsun.ttc
song-s-uni@Unicode@ simsun.ttc Slant=0.167
song-r-uni@Unicode@ simsun.ttc Rotate=Yes
song-rs-uni@Unicode@ simsun.ttc Rotate=Yes Slant=0.167
其它字体类似添加,在这里为了便于区分标记,把@Unicode@、@UGBK@和@GB@前面的名称都做了相应的描述,简单的song、songsl和songr也是可以的,不过后面的tfm文件相关的名称都要改过来了。
第三步:fd文件的添加,主要操作目录是/usr/share/texmf/tex/latex/CJK,在其下面的GBK, UTF8目录下添加相应的fd文件。
GBK目录下,添加c19song.fd,内容可以参考其它fd文件,大致如下:
\def\fileversion{4.7.0}
\def\filedate{2006/10/17}
\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
% character set: GBK
% font encoding: CJK (extended)
\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne}
\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * song-gbk}{}
\DeclareFontShape{C19}{song}{m}{sl}{<-> CJK * song-s-gbk}{}
\DeclareFontShape{C19}{song}{m}{it}{<-> CJKssub * song/m/sl}{}
\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * song-gbk}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{sl}{<-> CJKb * song-s-gbk}{\CJKbold}
\DeclareFontShape{C19}{song}{bx}{it}{<-> CJKssub * song/bx/sl}{\CJKbold}
\endinput
还可以添加c19songr.fd文件,大致内容如下:
\def\fileversion{4.5.2}
\def\filedate{2007/05/15}
\ProvidesFile{c19songr.fd}[\filedate\space\fileversion]
% simplified Chinese font song created by Founder.
\DeclareFontShape{C19}{songr}{m}{n}{<-> CJK * song-r-gbk}{}
\DeclareFontShape{C19}{songr}{m}{sl}{<-> CJK * song-rs-gbk}{}
\DeclareFontShape{C19}{songr}{m}{it}{<-> CJKssub * songr/m/sl}{}
\DeclareFontShape{C19}{songr}{bx}{n}{<-> CJKb * song-r-gbk}{\CJKbold}
\DeclareFontShape{C19}{songr}{bx}{sl}{<-> CJKb * song-rs-gbk}{\CJKbold}
\DeclareFontShape{C19}{songr}{bx}{it}{<-> CJKssub * songr/bx/sl}{\CJKbold}
\endinput
在UTF8目录下添加c70song.fd和c70songr.fd,内容和上面类似,只要把里面的c19换成c70, gbk改成uni就可以了。具体可以参见其它fd文件。
最后“#mktexlsr”刷新一下。
第四步:SuSEconfig操作,添加tfm字体文件和一些链接。在这一点上SuSE设计得很方便,执行命令:
#SuSEconfig --module cjk-latex
这样,SuSEconfig的cjk-latex模块能自动根据/etc/ttf2pk/ttfonts.map中的设置创建宋体的tfm字体文件,当然前提是能在/usr/share/fonts/truetype目录中找到simsun.ttc文件。
第五步:搞定dvipdfmx,这样就可以生成可拷贝的中文pdf文档。
添加/var/lib/texmf/fonts/map/dvipdfm/cid-x.map文件,内容如下:
song-gbk@UGBK@ unicode :0:simsun.ttc
song-s-gbk@UGBK@ unicode :0:simsun.ttc -s .167
song-uni@Unicode@ unicode :0:simsun.ttc
song-s-uni@Unicode@ unicode :0:simsun.ttc -s .167
song-r-gbk@UGBK@ Identity-V :0:simsun.ttc
song-rs-gbk@UGBK@ Identity-V :0:simsun.ttc -s .167
song-r-uni@Unicode@ Identity-V :0:simsun.ttc
song-rs-uni@Unicode@ Identity-V :0:simsun.ttc -s .167
后四行是用于旋转90度字体的。
然后,修改/usr/share/texmf/dvipdfm/dvipdfmx.cfg只使用cid-x.map文件,最后mktexlsr就可以了。
这次一切都比较顺利,很快搞定,呵呵!