sunmoon1997 发表于 2005-10-13 21:18:30

[PATCH] CJK 字体下划线位置纠正。

补丁:
http://www.magiclinux.org/people/sunmoon1997/patches/pango/pango-1.10.1-cjk-underline-position.diff
效果图:
http://www.magiclinux.org/people/sunmoon1997/snapshots/gnome-about-underline-positon.png

请大家测试,看看有没有什么负面影响。

mandrakechina 发表于 2005-10-13 21:35:58

看起来不错,不过我认为最好能把下划线的粗细也搞定。是不是还要freetype配合?

sunmoon1997 发表于 2005-10-13 21:37:28

粗细是由字体提供的:)

mandrakechina 发表于 2005-10-13 21:43:34

所以我才问是不是要freetype配合。按理说embolden以后,weight等参数应该是变了的,相当于返回了一个新字体。

sunmoon1997 发表于 2005-10-13 21:46:26

这种情况处理起来比较麻烦。。。
不过实现还是可能的。。。

sunmoon1997 发表于 2005-10-13 21:49:32

只拿到 ft 的 face 然后检查不是是粗体, 如果不是并且 pango 的字体描述为粗体的话,就可以给下划线的
大小加粗:)

mandrakechina 发表于 2005-10-13 21:51:47

其实现在这样就很好了。

weight的变化值其实是应该由上层(比如pango)指定的,比如我要加到标准粗体(200)或者更粗(400)。然后借此来调整embolden的浓度。现在freetype的下一个版本是2.2的libfreetype7,可以不考虑向后兼容性,所以添加这么个参数感觉还可以。

sunmoon1997 发表于 2005-10-13 21:58:05

现在这个还是没有办法,因为 pango 自己并不渲染字体, 这些都是在 libXft/cairo 内部完成了。
如果要改就大家一起,而显然这将改变这些库的 api..., 你说这个是不是动作太大点了。。

mandrakechina 发表于 2005-10-13 22:00:18

对于libfreetype7来说,这是个美好的suggestion。

sunmoon1997 发表于 2005-10-13 22:11:05

愿望是美好的,现实是残酷的:)

yangh 发表于 2005-10-13 23:44:02

我打了。 pango 1.9.1

yangh 发表于 2005-10-14 00:12:02

1.10.1

也不行。字体 文泉驿 0.6 :neutral:

sunmoon1997 发表于 2005-10-14 06:37:35

yangh 什么效果?
freetype 的版本?

midx 发表于 2005-10-14 09:51:13

改了个ebuild就成,效果很好。
glc停了虽可惜,让上游接受更多中文补丁才更有远见

sunmoon1997 发表于 2005-10-14 19:51:59

重要更新:
以前的补丁会造成 gaim 收到 URL 时崩溃,请更新。
页: [1] 2
查看完整版本: [PATCH] CJK 字体下划线位置纠正。