latex安装字体 - 雪庭

时间:2024-02-25 15:14:49

latex自带字体就那么几种,安装字体比较麻烦,在网上找了不少资料,经过一段时间的摸索,终于成功,现将过程如实写出,希望对安装latex的朋友有帮助。

 

安装TexLive+Latex+CJK:

执行下述命令完整安装TexLive和Latex宏包

sudo apt-get install texlive-full

生成中文字体包

安装好TexLive+ latex CJK以后,还需要安装一个软件──fontforge用于生成字体:

sudo apt-get install fontforge

生成字体前,请自己准备你需要生成的字体文件:simsun.ttc,simhei.ttf等,这里以simsun.ttc(宋体)为例。
准备好后下载下面这个包,解压到一个地方,如自己的主目录~/backup/setup/font:

http://code-of-tualatrix.googlecode.com/files/font.tar.bz2

然后把simsun.ttc也复制到~/backup/setup/font里去,执行下面的命令生成字体地图:

cd ~/backup/setup/font
time fontforge -script subfonts.pe simsun.ttc song Unicode.sfd

加time是为了计算时间,因为比较耗时. 我花了40分钟生成song.

描述文件

字体生成好了,再建立一个描述文件吧。
在~/backup/setup/font下,建立一个makemap文件,内容如下:

1 for i in *.tfm
2 do
3 cat >> song.map << EOF
4 ${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
5 EOF
6 done

然后在终端下执行:chmod +x makemap让文件加上执行权限,最后执行:

./makemap

再建立一个一个c70song.fd文件:
% This is c70song.fd for CJK package.
% created by Edward G.J. Lee
% modify by Yue Wang
\ProvidesFile{c70song.fd}
\DeclareFontFamily{C70}{song}{\hyphenchar \font\m
@ne}
\DeclareFontShape{C70}{song}{m}{n}{<
-> CJK * song}{}
\DeclareFontShape{C70}{song}{bx}{n}{<
-> CJKb * song}{\CJKbold}
\endinput

好的,相关文件都已生成,开始复制字体使其生效。

执行下面的命令,在你的主目录下生成隐藏的个人Tex配置,如果你哪天不需要了,也可以
删除:

mkdir -p ~/.texmf-var/fonts/map/dvips/CJK
mkdir 
-p ~/.texmf-var/fonts/tfm/CJK/song
mkdir 
-p ~/.texmf-var/fonts/type1/CJK/song
mkdir 
-p ~/.texmf-var/tex/latex/CJK/UTF8

建立完这层层叠叠的目录以后,就把刚刚生成的字体复制进去吧。

cp ~/backup/setup/font/song.map ~/.texmf-var/fonts/map/dvips/CJK
cp ~
/backup/setup/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/song
cp ~
/backup/setup/font/*.pfb ~/.texmf-var/fonts/type1/CJK/song
cp ~
/backup/setup/font/c70song.fd ~/.texmf-var/tex/latex/CJK/UTF8

复制完后就执行命令刷新缓存,让它生效:

sudo texhash
updmap 
--enable Map song.map


假如一切顺序的话, 就测试一下我们安装的song体是否能用吧。

在任意位置编辑这个文件,然后保存为test.tex,

\documentclass{article}
\usepackage{CJKutf8}
\
begin{document}
\
begin{CJK}{UTF8}{song}
 你好!这里是Debian下的TexLive
+CJK环境!
\
end{CJK}
\
end{document}

$latex test.tex
$dvipdf test.dvi

 注意

安装多个字体

这个方法可以生成*.ttc,*.ttf字体,描述文件都是c70*.fd,内容替换成字体名,如wqyhei。

刷新字体缓存

可以编辑:

~/.texmf-config/updmap.d/10local.cfg

内容:

Map ~/.texmf-var/fonts/map/dvips/CJK/wqyhei.map
Map ~
/.texmf-var/fonts/map/dvips/CJK/song.map

刷新字体缓存仅使用updmap即可