[分享]tex-cjkfonts——创造TeX所需的字体包——用debian的方式

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

[分享]tex-cjkfonts——创造TeX所需的字体包——用debian的方式

#1

帖子 xiechy » 2006-12-14 12:28

在TeX的安装配置中,最麻烦的应该就是字体包的安装了,网上有各种各样的方法,大体上都是由王垠的或者是何勃亮的修改过的gbkfonts版本,制作gbk字体,然后修改map文件,等等等等。但这些方法有些不足:

1、不管怎样的用脚本封装好这些复杂的操作,总还是有少许麻烦。
2、生成的是GBK的字体,在UTF-8编码环境下不能使用,必须先手动用iconv将编码更改为gbk。
3、如果过程中出了什么错,对新手很难知道为什么出错,怎样修改。也就是没有一个好的滚回机制。

而这些缺陷其实只要有一个支持utf8的包管理的机制就可以了,这也是tex-cjkfonts所实现的:制作字体并将之打包成为deb包。如果对这个字体不满意,直接dpkg -r就可以回滚到之前的状态。并且,这个脚本还支持制作utf-8的编码格式的字体,我们可以直接使用,不需要对tex进行转码。

这个包是thu的 oseen <oseen@newsmth.org>大侠的功绩。在享受方便的同时,多念叨几声~大侠万寿无僵~
包的来源是ustc的sid的debian-uo源。经过测试,在sid和feisty下都可以~其实是因为这个本来就只是脚本而已,而且ubuntu的tex没有对debian的进行修改。

要注意的是有两点:
1、脚本有两个命令(实际上是一个,另一个是第一个的连接)make-fpkg-sys和make-fpkg。其中前者是制作deb包用的。后者只是建立一个tar.gz,在自己的主目录解压就可以了(这样不需要root权限)。在我的系统上,会有错误,只能生成gz包,所以我自己是把脚本中的判断是不是生成deb和生成gz的部分注释掉了。个人用户可以自己选择。

2、生成的字体有个小瑕疵,但我看脚本没看出问题来,所以就没改。具体的说就是:在/usr/share/texmf/tex/latex/CJK/UTF8 目录下生成的c70$facename.fd的内容里,\f 都被错误的当作^L了(注意这里的^L是由Ctrl+L键生成的,不是^字符和L字符),所以在使用新utf8字体前,我们要手动修改这个文件。我在vi里就是

代码: 全选

:%s/^L/\\f/g
然后就可以使用了。

例如我们的样本test.tex的内容是:

代码: 全选

\documentclass[12pt,a4paper]{article}
\usepackage{CJKutf8}
\usepackage[T1]{fontenc}
\usepackage[unicode,dvipdfm]{hyperref}
\begin{document}
\begin{CJK*}{UTF8}{[b]zhuanfan[/b]}  %你的字体名!
\tableofcontents
\section{将进酒}
君不見,黄河之水天上來,奔流到海不复回。
\section{桃花源记}
晋太元中,武陵人,捕魚为业,缘溪行,忘路之远近。
\newpage
\end{CJK*}
\end{document}
应该可以正常编译的了。
头像
Beetle
帖子: 1637
注册时间: 2005-10-14 16:55
系统: OS X
来自: 江苏
联系:

#2

帖子 Beetle » 2007-07-24 16:42

看了半天,这包到底怎么用?
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#3

帖子 sybase2008 » 2007-07-25 16:30

这步是什么意思??
要注意的是有两点:
1、脚本有两个命令(实际上是一个,另一个是第一个的连接)make-fpkg-sys和make-fpkg。其中前者是制作deb包用的。后者只是建立一个tar.gz,在自己的主目录解压就可以了(这样不需要root权限)。在我的系统上,会有错误,只能生成gz包,所以我自己是把脚本中的判断是不是生成deb和生成gz的部分注释掉了。个人用户可以自己选择。
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#4

帖子 xiechy » 2007-07-26 23:55

代码: 全选

cat /usr/bin/make-fpkg
可以看到,这是一个shell脚本

代码: 全选

ls -l /usr/bin/make-fpkg-sys 
lrwxrwxrwx 1 root root 9 2006-12-13 23:15 /usr/bin/make-fpkg-sys -> make-fpkg
这是连接。实际上是同一个文件。脚本里通过判断自己的名字是什么,来确定执行哪一个命令。
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#5

帖子 sybase2008 » 2007-07-27 11:33

我用gbkfonts的时候,按照下面做的
sudo mv cid-x.map dvipdfm/config/
sudo mkdir dvips/config
sudo mv cjk.map dvips/config/

sudo cp /usr/share/texmf-tetex/dvips/config/config.ps dvips/config/

sudo gedit dvips/config/config.ps
打开刚刚考来的config.ps文件,在其最后加上一句p +cjk.map

sudo mv pdftex.cfg pdftex/config/

是不是用你的包这些步骤就都可以省略了?
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#6

帖子 sybase2008 » 2007-07-27 11:53

我安装完那个deb包后,运行那个脚本,可是出错,请帮我看一下,谢谢
sudo make-fpkg-sys /usr/share/fonts/truetype/simsun.ttf gbk song zhongyi
dpkg-buildpackage: source package is latex-cjk-fonts-gbksong
dpkg-buildpackage: source version is 0.3-4
dpkg-buildpackage: source changed by tex-cjkfonts <lyfever@gmail.com>
dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
dh_clean
dpkg-source -b tmp.rqHGYk
dpkg-source: warning: source directory `./tmp.rqHGYk' is not <sourcepackage>-<upstreamversion> `latex-cjk-fonts-gbksong-0.3'dpkg-source: building latex-cjk-fonts-gbksong in latex-cjk-fonts-gbksong_0.3-4.tar.gz
dpkg-source: building latex-cjk-fonts-gbksong in latex-cjk-fonts-gbksong_0.3-4.dsc
debian/rules build
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
dh_testdir
# Add here commands to compile the package.
#docbook-to-man debian/temp.sgml > temp.1
touch build-stamp
fakeroot debian/rules binary
dh_testdir
dh_testroot
dh_clean -k
dh_installtex
make: dh_installtex:命令未找到
make: *** [install] 错误 127
mv: 无法确认 ‘/tmp/tmp.46zdLk/*.deb’: No such file or directory

*****************************************************************
* package latex-cjk-fonts-gbksong ready in current directory
*****************************************************************
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#7

帖子 xiechy » 2007-07-28 13:52

你连tex-common包都没有安装,怎么就开始装字体了?
呵呵,dh_installtex在tex-common中。
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#8

帖子 xiechy » 2007-07-28 13:53

tex-common是一切tex系统都需要的~可见你什么tex都还没装~
sybase2008
帖子: 109
注册时间: 2006-01-23 16:41

#9

帖子 sybase2008 » 2007-08-06 16:17

xiechy 写了:你连tex-common包都没有安装,怎么就开始装字体了?
呵呵,dh_installtex在tex-common中。
装了,都用了一年了。

哎,相办法找2007吧。
头像
eagle5678
帖子: 1865
注册时间: 2006-07-08 14:07

#10

帖子 eagle5678 » 2007-12-15 9:07

拿下了,谢谢,

中文啊中文。标签、复制、粘贴。
头像
dickfisch
帖子: 110
注册时间: 2007-10-22 17:40

#11

帖子 dickfisch » 2008-01-19 2:17

楼主,这个脚本能制作gbk的字体么?比如这样
sudo make-fpkg-sys /usr/share/fonts/truetype/simsun.ttf gbk song zhongyi
我以前在windows下写的tex现在都不能编译了。
回复