|
|
第 1 帖 | |
|
|
标题: Linux系统中为texlive生成CJK字体 1. 简要说明
mkfonts -- 这是一个我用shell写的CJK-LaTeX字体生成程序,其主要目的是从TTF字体产生能够被Texlive使用的中文字体,生成的文件包括metric字体文件,字体定义文件*.fd,字体隐射文件*.map等。用mkfonts生成的字体与CTeX兼容,并且与www.ctex.org发布的ctexbook等宏包兼容。 以下涉及的所有命令均以普通用户身份执行。 teTeX用户请注意:从使用原理上,用mkfonts所生成的字体以及字体定义文件也可以用在tetex系统中,但用户可能需要手动修改相当多的字体映射配置。我本人曾做过很多努力想将为texlive生成的字体用于teTeX系统,但始终未能成功。我曾经专门为teTeX生成过字体,但过程相当复杂,况且teTeX已经停止开发,建议使用Texlive代替teTeX。 2. 压缩包中的文件内容 上传的cjkfonts.tar.gz是一个压缩包文件,其中主要的文件包括编码定义文件*.sfd,一个可执行文件mkfonts, 以及若干个子目录。除了test子目录包含简单的测试文件外,其余子目录的作用是提供并安装与CTeX兼容的宏包。(由于上载文件大小的限制,我将这些宏包删除了。) 3. 解压缩 使用下列的步骤进行解压缩: 代码:
4. 准备工作 4.1 下载并安装Texlive2007, 可以从这里下载ftp://tug.org/historic/systems/texli...070212.iso.bz2。也可以下载最新的Texlive2008 4.2 安装fontforge软件包, 可以从http://www.linuxpackges.net下载当前版本并安装。 4.3 运行mkfonts之前需要设置TTFPATH环境变量告知mkfonts从那里找到TTF字体。有几种方法: a. mkfonts缺省地认为TTF字体在当前目录中,因此必须先拷贝相应的字体文件到当前目录中,比如 代码:
代码:
4.4 指定TEXMF根路径。texlive2007默认的TEXMF用户路径为$HOME/.texlive2007/texmf-var,这也是mkfonts使用的缺省路径。如果你想使用一个特定的安装路径,可以使用命令行,比如 代码:
注意:用户指定的TEXMF目录树必须位于texlive搜索路径中,texmf以及localtexmf都是可以考虑的路径名,参考/usr/local/texlive/2007/texmf/web2c/texmf.cnf 5. 运行mkfonts mkfonts会在指定的TTFPATH路径下查找下列文件:simfs.ttf(仿宋)、simsun.ttc(宋体)、simkai.ttf(楷体)、simhei.ttf(黑体)、simli.ttf(隶书)、simyou.ttf(幼圆),并分别生成GBK和UTF8两种编码格式的CJK字体文件。整个过程大约需要耗时6小时(在我的2.7GHz/1MB/dual core CPU机器上进行测试),请耐心等待。 6. texlive的配置 如果mkfonts没有报告任何错误,那么所生成的字体,字体定义文件等都已经拷贝到了合适的路径下。接下来的工作是做一些配置工作。texlive2007的配置比teTeX的配置简单了许多,只需要运行updmap即可。 代码:
代码:
7. 使用CJKFonts 对于使用GBK编码的文件,可以这样来编写LaTeX源文件来使用刚刚产生的CJK字体 代码:
代码:
fs 仿宋 song 宋体 kai 楷体 hei 黑体 li 隶书 you 幼圆 8. 测试 在解压缩后的文件中包含一个test子目录,其中包含了三个简单的测试文件,cjkgbk.tex, cjkutf8.tex, ctextest.tex。可以运行下列命令来进行测试 代码:
9. 最后的说明 mkfonts 将生成下列文件: 字体定义文件 c19fs.fd c19song.fd c19kai.fd c19hei.fd c19li.fd c19you.fd 这些是使用GBK编码的字体定义文件,分别表示仿宋体,宋体,楷体,黑体,隶书,幼圆。 c70fs.fd c70song.fd c70kai.fd c70hei.fd c70li.fd c70you.fd 这些是使用UTF8编码的字体定义文件,分别表示仿宋体,宋体,楷体,黑体,隶书,幼圆. 字体映射文件 unifs.map unisong.map unikai.map unili.map uniyou.map 这些是dvipdfm所需要的字体映射文件。 fs-enc.map song-enc.map kai-enc.map hei-enc.map li-enc.map you-enc.map 这些是pdftex所需要的字体映射文件。 各种字型定义文件,比如*.tfm *.afm *.vf等。 此帖于 08-10-31 23:10 被 lchxr 编辑. |
|
|
|
|
|
|
|
第 2 帖 | ||
|
|
标题: Linux系统中为texlive生成CJK字体(补充) 一点补充:
如果按照上面的步骤安装了中文字体,在执行dvipdfmx可能会出错,原因是找不到CMap编码定义文件。CMap的作用是将字符编码转换成CID。 在mkfonts的最后,有一条命令是将cmap拷贝到$HOME/fonts目录中, 引用:
可能已经注意到了还有两条拷贝命令被注释掉了。这两条命令是拷贝CTeX的两个目录,目的是增加对ctexbook.sty 和ctexart.cls的支持,如果你确实需要它们,可以从CTeX的发行版中找到这两个目录,自己拷贝一下。 2008年11月11日 此帖于 08-11-11 23:06 被 lchxr 编辑. 原因: 增加对cmap的补充 |
||
|
|
|
||
|
|
第 3 帖 | |
|
|
对texlive,一无所知。。。啊
__________________
Lenovo ThinkPad X200 Processor Intel Core 2 Duo Screen 12.1” WXGA Widescreen RAM 3GB HDD 250GB Graphics Intel Graphics Media Accelerator X4500 Network Intel 82567LM Gigabit Ethernet, Intel 5100 802.11abgn , Bluetooth,Camera,Fingerprint 入手X200->slk current ================================= (づ ̄ 3 ̄)づ请多多指教!!共同学习!!(づ ̄ 3 ̄)づ |
|
|
|
|
|
|
|
第 4 帖 | ||
|
|
引用:
请问这里使用的sim*.tt?字体是simsun吗?能否用文泉驿正黑代替?
__________________
Slackware64 13.0 (2.6.29.6) AMD Athlon 64 X2 4200+ NVIDIA GeForce 7050 PV / NVIDIA nForce 630a 4 GB DDR2-800 DDR2 SDRAM 四海之内皆兄弟!http://www.duangw.cn |
||
|
|
|
||
|
|
第 5 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 6 帖 | |
|
|
谢谢!
我一直想在linux下用ctex,但就是这个字体的版权问题头疼。 |
|
|
|
|
|
|
|
第 7 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 8 帖 | |
|
|
不错的脚本,
自动化程度挺高的, 谢谢楼主。
__________________
CPU: Pentium Dual-Core T4400 RAM: DDR 3 1333 3G M/B: Nvidia MCP79+ Geforce 310M Desktop: 1.Windows 2008R2 with OFFICE 2010+Tex Live 2011+KDE 4.7.0 2.Fedora 12 x86_64+KDE 4.5.2 + fvwm with OpenOffice+Tex Live 2011 3.Arch Linux + fluxbox + KDE 4.7.0 My blog: http://hi.baidu.com/realasking |
|
|
|
|
|
|
|
第 9 帖 | |
|
|
好贴,我折腾不见效果,lz老大出马一个顶N。
|
|
|
|
|
|