Answers
以下内容整理自(http://lifeng.telebyte.com.cn/source/ubuntu.pdf)
对于不同发行版本的Linux来说,文件系统的组织结构有所不同,在之前的文章中,介绍了如何在Fedora 13下安装CJK宏包中使用的中文字体。
对于Ubuntu 11.10来说,由于系统默认安装的是texlive-2009,而且Ubuntu11.10的文件系统结构与配置文件存放的位置也与Fedora发行版本不同,因此对于CJK宏包中使用的中文字体的安装过程也稍有区别。在这里我们介绍一下如何在Ubuntu 11.10下安装CJK宏包中使用的UTF-8编码的中文字体。本文的内容也适用于早期发行的 Ubuntu 11.04 版本。
1 Ubuntu 11.10安装CJK宏包中使用的字体的准备工作
如果想在Ubuntu 11.10下安装CJK宏包中所使用的中文字体,首先需要准备相关的环境。为了能在Ubuntu 11.10下使用LATEX 2ε中的CJK宏包,我们在Ubuntu 11.10下安装所有texlive所需要的包与环境。使用下面的命令:
$sudo apt-get install -y texlive-full
运行上面的命令需要一些时间,时间的长短依赖于你使用的网络的带宽,另外一个因素,是你是否在Ubuntu的“系统设置”中的“软件源”中是否设置与你所处的网络最近的一个下载镜像文件。如果你在中国大陆地区,可以选择“中国的服务器”作为软件下载的源。在上面的安装命令运行过程时,也许安装程序会提示你安装一些其它依赖于texlive的软件包,我们可以按“Y”来确认安装所需的软件包。
在完成安装 texlive-full 软件包后,你还需要一些辅助工具来产生 CJK宏包所需的字体文件。这个工具是“fontforge”,你可以通过下面的命令来安装这个软件:
$sudo apt-get install -y fontforge
下面。我们安装本文所要使用的中文 TrueType 字体软件安装包:
$sudo apt-get install -y ttf-wqy-microhei
在运行上面的命令完成所需的软件与字体的安装,我们就可以准备为CJK 宏包安装新的中文字体。
2 CJK宏包安装中文字体的过程
对于texlive不同的发行版本来说,为 CJK 安装中文字体,主要有以下几个步骤:
- 产生TEX使用格式的字体文件
- 通过 Shell 脚本产生新字体的配置文件
- 安装新的字体文件到TEX系统目录中
- 通过变更 Ubuntu 11.10 中的配置文件,使新安装的字体可用
2.1 产生TEX使用格式的字体文件
在这里,我们以 UTF-8 编码的中文 TrueType 字体为例,来说明如何在 Ubuntu 11.10 下安装中文字体。为什么用 UTF-8 编码的字体呢?这是由于 UTF-8 编码相较于 GBK 等其它编码的中文字体,有更多的中文字符被收入字体文件中,对于用户所排版的中文科技,文学文稿的排版来说,输出最终文件时,生僻字被漏排的可能性会小很多。
我们这里以 Ubuntu 11.10 下自带的中文 TrueType 字体文件 “wqymicrohei.ttc”来说明中文字体的安装,而不是使用“传统”方式的 “simsun.ttc”字体的安装,主要是由于字体的版权问题。因为在 Ubuntu 下,也有对应的中文字体文件可以用。从技术上来说,这两个不同的安体安装文件,对于 LATEX 2ε 来说,安装过程是相同的。
在运行sudo命令时,系统提示输入管理员密码。这个密码是在系统安装时设定的管理员使用的密码。
2.1.1 准备安装字体的目录
首先,我们为LATEX 2ε中文字体安装准备一个目录,在这个目录下,我们集中存放安装过程中所需的文件。
$cd ~
$mkdir cnfonts
通过上面的两个命令,我们在用户的家目录下,创建目录“cnfonts”。
2.1.2 拷贝所需的文件
通过下面的命令,我们为 LATEX 2ε 产生中文字体格式的所有文件集中存放到我个上面建立的目录中。
$cd ~/cnfonts
$cp /usr/share/texmf-texlive/fonts/sfd/ttf2pk/Unicode.sfd ./
$cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc ./
$cp /usr/share/latex-cjk-common/utils/subfonts/subfonts.pe ./
$cp /usr/share/latex-cjk-common/utils/subfonts/vertical.pe ./
$cp /usr/share/latex-cjk-common/utils/subfonts/makefdx.pl ./
2.1.3 产生供LATEX 2ε使用的字体文件
我们使用下面的命令,来产生供 LATEX 2ε 使用的字体格式文件。
$fontforge -script subfonts.pe wqy-microhei.ttc hei Unicode.sfd
通过上面的命令,我们可以产生供 LATEX 2ε 使用的各种格式的字体文件,以及相应的编码文件。
2.2 通过Shell脚本产生新字体的配置文件
请在安装字体的当前目录中,编辑makemap.sh文件,用于产生相应字体的 map 文件。下面是 makemap.sh 文件的内容。请使用用户熟悉的编辑器录入以下内容。(在录入时注意输入字符为英文半角)
#!/bin/bash
for i in *.tfm
do
cat >> hei.map <<EOF
${i%.tfm} ${i%.tfm} <${i%.tfm}.pfb
EOF
done
在编辑完成上面的 makemap.sh 文件后,在当前目录下,使用下面的命令,给新编辑的 makemap.sh 以可执行权限。
$chmod 755 makemap.sh
之后,通过运行上面编辑的脚本文件,以产生hei.map文件。
$./makemap.sh
2.3 安装新的字体文件到TEX系统目录中
下面通过下面几步命令,将当前目录下生成的供 TEX 系统使用的字体安装到 TEX 系统目录中。
2.3.1 安装type1字体
$sudo mkdir -p /usr/share/texmf/fonts/type1/latex-cjk-cn/hei
$sudo cp *pfb /usr/share/texmf/fonts/type1/latex-cjk-cn/hei
2.3.2 安装afm字体
$sudo mkdir -p /usr/share/texmf/fonts/afm/arphic/hei
$sudo cp *afm /usr/share/texmf/fonts/afm/arphic/hei/
2.3.3 安装tfm字体
$mkdir -p /usr/share/texmf/fonts/tfm/latex-cjk-cn/hei
$sudo cp *tfm /usr/share/texmf/fonts/tfm/latex-cjk-cn/hei/
2.3.4 安装新字体的enc文件
$sudo mkdir -p /usr/share/texmf/fonts/enc/dvips/latex-cjk-cn/hei
$sudo cp *enc /usr/share/texmf/fonts/enc/dvips/latex-cjk-cn/hei/
2.3.5 安装新字体的map文件
$sudo mkdir -p /usr/share/texmf/fonts/map/dvips/latex-cjk-cn
$sudo cp hei.map /usr/share/texmf/fonts/map/dvips/latex-cjk-cn/
3 通过变更Ubuntu 11.10中的配置文件,使新安装的字体可用
3.1 安装新字体的fd文件
下面,我们通过产生供新生成的‘hei’字体文件使用的‘fd’文件。在字体安装目录中,编辑c70hei.fd文件。
% This is the file c70hei.fd of the CJK package
% for using Asian logographs (Chinese/Japanese/Korean)
% with LaTeX2e
%
% created by the Debian source package for
% CJK Version 4.8.1 (3-Oct-2008).
\def\fileversion{4.8.1}
\def\filedate{2008/10/03}
\ProvidesFile{c70hei.fd}[\filedate\space\fileversion]
% character set: UTF-8
% font encoding: Unicode
\DeclareFontFamily{C70}{hei}{\hyphenchar \font\m@ne}
\DeclareFontShape{C70}{hei}{m}{n}{<-> CJK * hei}{\CJKnormal}
\DeclareFontShape{C70}{hei}{bx}{n}{<-> CJKb * hei}{\CJKbold}
\endinput
在完成文件c70hei.fd文件的编辑后,运行下面的命令,将这个文件拷贝到TEX系统的安体安装目录中。运行下面的命令:
$sudo cp c70hei.fd /usr/share/texmf/tex/latex/CJK/UTF8/
3.2 编辑配置文件,使xdvi使用新安装的字体
通过编辑文件/etc/texmf/xdvi/xdvi.cfg,我们可以使 xdvi 程序使用新安装的字体。通过下面的操作,我们可以进行相应的设置:
$cd /etc/texmf/xdvi
$sudo vi xdvi.cfg
在 vi 编辑模式下,找到该文件的最后一行。内容如下:
dvipsmap ps2pk.map
在这行之后,我们添加一行,内容如下:
dvipsmap hei.map
3.3 编辑updmap.d目录下配置文件 编辑 /etc/texmf/updmap.d/20latex-cjk-chinese-arphic-hei.cfg 文件。在新创建的文件中添加如下一行内容。
Map hei.map
3.4 编辑fontmap-cfg目录下的文件
在目录/var/lib/tex-common/fontmap-cfg下,创建新文件,文件名为:
latex-cjk-chinese-arphic-hei.list
文件内容如下:
20latex-cjk-chinese-arphic-hei
4 更新TEX系统目录
通过运行下面的命令,我们更新TEX系统内目录的当前结构:
$sudo texhash
$sudo updmap-sys --enable Map=hei.map
$sudo fmtutil-sys --all