mandrakechina 发表于 2003-8-12 13:48:48

Firefly 请具体说明一下几个 patch 的作用

我没有时间也不必研究字体管理的体制和原理了,我必须能够迅速准确的对各软件中存在的问题以及补丁所作的修改反映给相应的开发组。

现在把我看 Changelog 的大概印象说一下,看是不是正确(红色的表明是bug,黑色表明是improvement):

Xft2
现有问题:[*]对于没有内嵌粗体样式的中文字体,就会以标准字体显示。[*]对于嵌入点阵字体信息的中文字体,并不会提取点阵字体,而仍是以向量算法计算得出。[*]对于中日韩字体的宽度计算方法有误。
补丁结果:[*]以与X相同的算法模拟粗体[*]在非AA时首先使用点阵字体[*]更正双字节字体的宽度计算算法。

fontconfig
现有问题:[*]所有字体名称都以英文显示[*]无法使用只有 native cmap 的字体[*]不能支持包含多种字体的文件[*]绝对不允许字体丢字
补丁结果:[*]从字体中读取字体制造商给出的标准名称作为字体名称[*]加入了CJK cmap[*]列举单个字体文件中所有的字体[*]允许丢掉1%的字[*]在fonts.conf中加入新的一节以对应Xft2补丁中是否要使用点阵字体

freetype
现有问题:[*]官方版本根本无法对CJK字体进行auto-hint[*]CJK字体太虚
补丁结果:[*]以日本人akito的补丁作为基础,加入了中文的auto-hint算法[*]调整了gamma值,让字体更清楚

其它的几个因为Changelog里面写得不清不楚,看不出来。希望 firefly也用这种格式把详细的对比写出来,方便我向相关项目提交。

freetype的二把手David正在看patch。而 Xft2/fontconfig 那边,人家说我们这边给出的信息太少,看代码嫌太慢,最好能说清楚,报告的状态被置为pending推后。

firefly 发表于 2003-8-12 14:58:34

補充 fontconfig:
自 2.2.1 起,小弟另加一個節區,用來控制 fontconfig 是否輸出中文字型名稱給應用程式。如下所示:

必須放在 <config>.....</config> 區段中,改為 false 的話,就只會輸出英文名稱。

                <other_family>
                        <bool>true</bool>
                </other_family>


Pango 現有問題:
1、同一種字體不會虛擬斜體、粗體。

补丁结果:
1、添加缺少的 style


QT 現有問題:
1、沒有粗體、斜體模擬(3.2.0 已經有斜體了,缺粗體)
2、啟用 Xft 後,字體名稱被強迫轉成英文,故 CJK 字體名稱變亂碼。
3、列印方面也沒有辦法印出模擬的式樣。
4、列印 TTC 時,無法指定第二個以後的 font face。

补丁结果:
1、可以有粗體、斜體等模擬。
2、字體名稱改成 UTF8 編碼。
3、列印已可列印出斜體,還不能印粗體。
4、列印 TTC 可以指定第二個以後的 font face。

Mozilla 現有問題:
1、字體名稱不能有 CJK 名稱。
2、上下行距太窄,影響閱讀。
3、下劃線與字體重疊(CJK字型)。
4、大字體時,下劃線太粗。

补丁结果:
1、字體名稱轉成 unicode 編碼,CJK 名稱正常。
2、上下行距拉大一點,排版清爽。
3、下劃線移至字的下方,不再重疊。
4、不管字體大小,下劃線一律定為一點。

大致上是這樣的,至於 OpenOffice 方面,目前還在修正中,問題如下:
1、自行管理的字體,無法模擬粗斜體,不管如何指定,還是標準字體。
2、Fallback 回 X 時,CJK 字體單字節與雙字節寬度等寬。
3、無法列印模擬式樣。
4、只能使用 TTC 第一個字體。

目前完成補丁部份:
1、不靠 spadmin 也可以完整管理字體。
2、螢幕顯示可以有粗體、斜體等式樣了。
3、盡量不 Fallback 回 X。
4、已可列印模擬斜體,粗體尚未完成。
5、可以使用 TTC 第二個以後的字體。
6、完整的 CJK 字體名稱,包括英文中文,非本國字體名稱也可顯示。

mandrakechina 发表于 2003-8-17 17:30:11

Qt 方面我已经联系了,同时也给你 cc 了一份,你应该收到了吧。

希望将 Xft 的补丁按照功能拆开,这样可能说得更清楚一点。

还有,不知道你的补丁之间有没有依赖关系,比如 Qt或者Pango里面的模拟粗体是否要依赖 freetype 的补丁,Mozilla 里面的中文字体名是否要依赖fontconfig 的补丁。这样我才能掌握报告补丁的顺序。

freetype 将会出 2.1.5 了,如时间允许,建议重做一个补丁。

sd444 发表于 2003-9-5 21:30:50

感谢 mandrakechina
感谢firefly
感谢你们做出的努力~
同样感谢以前为国人,为Linux做出贡献的牛人们……
比如cman,比如i18n中国
页: [1]
查看完整版本: Firefly 请具体说明一下几个 patch 的作用