LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6589|回复: 12

Firefly patch for Debian Sid

[复制链接]
发表于 2004-1-19 23:29:59 | 显示全部楼层 |阅读模式
Firefly patch for Debian Sid

经过今天一天的编译,我完成了firefly当前最新的补丁的deb包制作,Debian Sid用户只需要将如下行加入sources.list中就可以使用:
deb ftp://debian.ustc.edu.cn/debian-uo/zh/i386 ./
源代码source
deb-src ftp://debian.ustc.edu.cn/debian-uo/zh/source ./
这个目录我参加维护,目前主要收录与中文相关的patch,原则是尽量接近Debian Sid提供的包接近,让大家能更方便的使用,避免各种不必要的问题。

虽然目前Debian已经对中文有良好的支持,但是,我们必须承认问题仍然不少,这主要是由于国人参与和使用Linux项目相对较少造成的。台湾的Hacker firefly先生经过刻苦钻研,解决了中文Linux世界中xft2相关的大多数问题,很多patch已经进入了官方源代码中。我制作这些deb包的目的也是尽量让更多的人能感受到firefly的努力成果,并且提出更多反馈,早日让各个相关官方源码完美支持中文。到了这些uo的deb没有存在必要的那一天,我们的目的就实现了!

对于firefly相关补丁deb的说明:
(1)freetype,在freetype-2.1.7-1.1上面打上了firefly的补丁freetype-2.1.7-autohint-cjkfonts-20031121.patch;
(2)libxft2,在libxft2-2.1.5上面打上xft-2.1.2-CJK-fixwidth-embededbitmaps-artificial_bold-20030606.patch补丁生成;
(3)fontconfig,在fontconfig-2.2.1-13上面加上了下面三个补丁:
        001-fontconfig-2.2.1-fclang-miss_1_percent-20030617.patch
        002-fontconfig-2.2.1-include_CJK_charmaps-20030626.patch
        100-fontconfig-2.2.1-multifamily-20031110.patch

(4)pango,在pango-1.2.5-2.1上面打上了pango-1.2.5-style.patch补丁;
(5)mozilla,在mozilla-1.5-3上面打上了firefly的补丁mozilla-1.5-xft_cjkfamilyname-20031208.patch,以及补丁ftprinting_xft.patch;

对于各个补丁的说明:
其中出了ftprinting_xft.patch是来自于mozilla网站,用于解决mozilla在xft2模式下使用freetype6 print技术打印的时候字体监测死锁的bug之外,其它的补丁都是来此于firefiy的网站,在此对firefly表示感谢!具体每个补丁的用处请见:http://firefly.idv.tw/setfont-xft/ChangeLog.html

freetype6的补丁用于增加autohint功能,并且修正一些小bug,gamma功能已经去掉合入xft2中;

xft2的补丁主要增加了对于中文的人工模拟粗体斜体功能,这个对于中文网页显示较为重要,另外修正了不正确识别中文字体宽度的错位,以及embededbitmaps支持;gamma增强功能的补丁没有打,因为最新的firefly系列patch的xft2依赖于最新的fontconfig-2.2.9,和debian差距较大,我暂时没有编译,谁有建议可以写信讨论;

fontconfig增加了三个补丁,支持字体内置的CJK语言字体名称的显示,支持mingliu这样的繁体字库在简体下,或者simsun在繁体下使用,只要内码可以转换成gb或big5就行,允许字库缺字10%,使得部分老字库可以继续使用。

pango的patch主要是对pango的style进行修正,修正部分不正常的显示效果;

mozilla的补丁有两个,firefly的主要是修正一些错误的显示效果,比如粗体下划线过于靠上,还有网页中中文字体名称不被识别,后者可能导致某些非等宽字被等宽字代替,导致页面效果混乱。比如http://tw.yahoo.com,第二个 ... 解决方案了。

使用方法,升级就行了,我没有修改debian默认的/etc/fonts/的文件,因此用户需要写自己的~/.fonts.conf,可以参考我的例子:http://218.22.21.25/~xiaoju/.fonts.conf。

mozilla的freetype打印:地址栏输入about:config,然后把font.Freetpye2.enable设为true,把font.directory.truetype.1到2或者3,4设成自己的truetype字体目录,重起mozilla就可以了。此种打印方式最接近所见即所得!参见http://www.mozilla.org/projects/fonts/unix/enabling_truetype.html

维护者联系方式:
Fan Xiaoju
xiaoju_f@263.net

Enjoy everything!
范晓炬
2004.01.19
发表于 2004-1-20 13:06:50 | 显示全部楼层
请问升级/安装了这些包以后,还要怎么做?

请原谅我问得这么傻
发表于 2004-1-20 15:12:01 | 显示全部楼层
:-( 俺连不上这个ftp
发表于 2004-1-20 15:30:02 | 显示全部楼层
用 deb http://211.92.88.40/apt/debian/ sid/i386/ 里的libxft好了
其它的几个包都没必要打补丁
 楼主| 发表于 2004-1-20 16:31:10 | 显示全部楼层
我觉得还是有必要的,比如tw.yahoo.com不出现混乱,simsun和mingliu都可以在简繁体下使用,fontconfig可以使用部分的漏字字库什么的。

当然如果只要粗体效果还是不用打其他补丁的,但是中文的问题绝对不仅仅是一个粗体不支持。比如说,qt目前已经支持CJK字符集的字体名支持,而目前fontconfig还暂时没有支持,这个估计会在不久后进入开发版。

不支持CJK字体名会导致部分使用了指定CJK字体名称的网页出现显示错乱。还有ftprint的补丁,如果你用mozilla打印的话就知道它的意义了。

其他的问题类似,都是很有必要开发的,尤其是针对目前少的可怜的中文免费字体。注意不是免费字体都可以修改和重新发行的。

部分firefly的补丁的老版本没被原始开发者采纳,但是firefly目前已经做了很多工作让最新的补丁能够渐渐进入官方源码。
发表于 2004-1-20 17:08:40 | 显示全部楼层
我从来没遇过漏字的问题
tw.yahoo.com也从来不混乱
您指出一个网页我看看吧

pango有什么不正常的效果呢,请指点一下。
发表于 2004-1-20 17:09:50 | 显示全部楼层
而且我记得以前要让mozilla支持中文字体名还得给mozilla打补丁,这个已经不需要了吗?
发表于 2004-1-20 17:36:58 | 显示全部楼层
刚才试用了一下,真的还不错!可以支持粗斜体了。但是,好像并不支持官方的OO ,我还特意安装了firefly打过补丁的OO,好像也不支持粗斜体,不知是不是我不懂设置(我在FODERA中可以的)。还有就是,这些补丁不知什么时候可以加入官方,或者能够和官方保持同步升级,不然的话,以后都不敢升级了。
发表于 2004-1-20 18:22:42 | 显示全部楼层
从cnknoppix 11月16日版本安装到硬盘,本来字体什么都很好,升级kmail的时候升级了一些库,造成字体大变,再使用simsun为默认系统字体的时候,英文字体很难看;如果使用Nsimsun,则中文字体全部变成方框。

刚才升级了这些firefly包,升级完之后执行dpkg-reconfigure fontconfig,替换掉原来的/etc/fonts/fonts.conf和/etc/fonts/local.conf文件,重新进入X,英文字体变得好看了,用Mozilla firebird浏览网页,能正确显示粗体和斜体,字形美观。

感谢firefly和shuke!
发表于 2004-1-20 18:42:56 | 显示全部楼层
我记得用KDE的程序的话QT也是要打补丁的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表