[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DOC] Poorman's Chinese Type1 font for CJK-latex



Rigel, FokA, Edward, Adole兄:

好久没有进行中文打印和中文Latex的测试了,昨天我又把以前写的一篇老文
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=chinese&Number=61489
翻出来,试一试各个软件的新版本,有些问题还要向各位请教。我是在RH7.1下测试
的。

1、ttcjk已经转向gs-cjk,由于我对gs+VFlib2实在不了解,所以还是选择了gs+gs-cjk
来实现中文网页打印。该死的RH7.1无法编译gs6.50,我只好在一台Slackware上编译好
之后来安装。过程如下:
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=chinese&Number=12156
3
一个讨厌的问题还是如果打印frame过多的中文网页会出现叠字现象,各位如果使用过
VFlib2的话,是否存在这个问题?抑或是netscape本身的生成ps文件的问题?

2、由于Linux下支持中文的office工具是在太少,所以CJK+Latex便是做文档的最佳选
择了。安装CJK的过程还是老样子,安装了ttf2pk之后可以正常使用pk字体了。目前我
使用CJK-4.4.0版本,ps2pdf和pdflatex都可以使用pk字体生成不错的pdf文件,我没有
测试太大的文件,但是目前没有发现丢字现象。但是我记得以前使用CJK-4.2.0的时候
是很容易丢字的,不知道是不是版本改进了?

3、chpfb的方法我没有继续测试,从大家讨论来看,如果使用type1字体的话,ttf2pt1
应该是个好的选择,我找时间也来试试。一个问题是除了用[pmC]之外,如何知道是自
己的tex文件调用的是type1字体,而不是pk字体?

4、另外pdflatex可以直接使用ttf字体如何做的,要额外安装什么软件吗?有没有好的
文档可以参考?

5、效果的比较:ttf2pk+dvips+ps2pdf
               ttf2pk+pdflatex
               ttf2pt1+dvips+ps2pdf
               ttf2pt1+pdflatex
               ttf+pdflatex
哪一个生成的文件最小,效果最好呢?

问了这么多琐碎的问题,多谢了。

Cheers, Hucheng




----- Original Message -----
From: "rigel" <rigel863@yahoo.com>
To: "debian-chinese-list" <debian-chinese-gb@lists.debian.org>
Sent: Tuesday, May 15, 2001 3:57 PM
Subject: Re: [DOC] Poorman's Chinese Type1 font for CJK-latex


> On Tue, May 15, 2001 at 05:22:52AM +0800, Edward G.J. Lee wrote:
> > [...]
> >   2. 转出的不是 CJK 编码,无法直接给 cjk-latex + dvips 使用,要在 map 档
> >   中加入适当的 enc 转码档,否则只能给 pdflatex 使用。这个部份还要研究一
下
> >   ,如果有朋友知道的话,请提供您使用的 enc 档,谢谢!
>
> 无需 enc 档. 当 ps 显示一个中文字符时, 它需要两个数: 该字符所在 subfont 及
在
> 该 subfont 内的 index. 这两个数都是 cjk-latex 提供的, 与 ttf2xxx 无关. ps
会
> 在相应 subfont 的 Encoding array 内根据 index 找到相应的 glyph name. 再根
据
> glyph name 在 CharString dictionary 内找到构造该 glyph 的方法. 可见 glyph
name
> 不过是一个桥梁, 只要内部自恰就没问题. 重要的是每一个 subfont 包含相同的
glyph
> 并且顺序相同. 这一点 ttf2pfb/chpfb 和 tt2pt1 生成的 pfb 文件的确是相同的,
都
> 可以直接给 cjk-latex + dvips 使用.
>
> 有一点值得注意的就是 foka 兄遇到的问题, 因为 ttf2pt1 不允许用户控制
Fontname,
> 它用的名字来自 ttf, 可能出乎您的意料.
>
> >   * big5 的部份,仍然转不出 plane 24,就是日文的部份。
>
> 不仅是 big5 有问题, gb, gbk 都有, 只不过 big5 最多. 附上我为 ttf2pt1 的
> chinese maps 作的三个 patch. 其中 big5 和 gbk 根据 glibc 2.2.3 的 charmap,
> gb2312 根据 glibc 及我为 XFree86 4.1 写的补丁. 老兄可以与您的修整对照一下
> 看有什么出入.
>
> >   比较起来,转出的 pfb 的品质以 1. 较佳。两者目前都还无法用于 TTC。而且
>
> 这是中文 ps 字体的老问题了. ttf2pfb/chpfb 和 tt2pt1 的最大区别在于前者转出
> 的 pfb 基本没有 hint 信息, 而后者有. 理论上说 hint 有助于改善显示的品质,
特
> 别是在小字体时. 可是对中文字体却不然, 反而会大大降低显示的品质, 是否可以改
进
> hint 使其适用于中文字体我就不知道了. 一个简单的解决办法是关掉
autogeneration
> of hint:   tt2pt1 -Oh ....
>
> 顺便说一下, foka 兄提到的 ft2 缺省关掉 bytecode 解释器应该与此无关. 那是
> rasterazation 时才会用到的, ttf2pfb/ttf2pt1 都只用到了 outline.
>
> 以下是我的几点建议/想法,
>
> 1. 鉴于 ttf2pfb/chpfb 已经停止发展, 而 ttf2pt1 的开发仍很活跃, 建议使用
> ttf2pt1.
>
> 2. 关于 pdflatex, 建议直接使用 ttf 字体, 不要经过 pfb. 就是 Adoal 兄多次
> 提及的方法. 其好处在于避免庞大的 pfb 字库, 生成的 pdf 文件比由 pfb 生成的
> 小一半或更多, 品质只好不坏. 缺点在于低版本的 pdflatex 可能不工作.
>
> 该方法需要 enc 文件, 附上我为 tt22pt1-3.3.3 写的一个 patch, 使其在生成
.t1a
> 和 .afm 的同时也生成一个 .enc 文件.
>
> 将 *.tfm copy 到 $TEXMF/fonts/tfm/CJK/
>    *.enc copy 到 $TEXMF/dvips/CJK/
>
> 在 $TEXFM/dvips/config/ 中增加一个 map file 内容如下:
>    %(以 gkai00mp.ttf 为例)
>
>    gkai01 <gkai01.enc <gkai00mp.ttf
>    ...
>    gkai32 <gkai32.enc <gkai00mp.ttf
>
> 在 $TEXFM/pdftex/config/pdftex.cfg 添加
>    map +xxx (将 xxx 换成您的 map file 名字).
>
> 3. 关于放弃 ttf2pk 而采用 pfb, 我觉得应该慎重. dvips ps font partial
download
> 臭名昭著的 buggy. 转出来的 pfb 字体可能在某些版本 dvips 下工作, 另一些下不
工
> 作. 这将是非常令人头疼的问题. 当然可以用 -j0 关掉 partial download, 但是会
> 导致庞大的 ps 文件. 如果不考虑 ps -> pdf 的转换 (我们已经有了前述更好的方
法
> 产生 pdf), 仅以 ps 而言, pfb 到底比 pk 字体好多少? 恐怕还需仔细研究.
>
> 4. 目前所有的方法, 最终都导致一个内嵌字体的文件. 与使用外部字体相比, 浪费
> 空间. 现在 gs (after patch) 已经提供中文 CID/ttf 字体的支持. 能够让 tex
> 产生的文件使用外部中文字体吗? 恐怕没有可能, 因为 tex 本身是不能改的. 所以
> 从长远角度, 我们恐怕应将眼光移向别处, omega?
>
> Regards,
> rigel
>
>



Reply to: