当前时区 GMT+8, 现在时间是 2008-9-6 04:11 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 汉字与下划线相连,粗体字相连问题。
yangh
公社版主



UID 40061
精华 3
积分 3199
帖子 1639
阅读权限 225
注册 2003-5-26
来自 China
状态 离线
发表于 2005-9-5 11:38  资料  主页 短消息  加为好友 
汉字与下划线相连,粗体字相连问题。

环境:

字体 文泉驿 0.6
FontConfig 2.3.2
FreeType 2.1.10
Xft 2.1.7

注:以上 3 个包是官方原版,无任何补丁。

Gtk+-2.8.x (Cairo 1.0 使用 Freetype 后端)

现象: 所有应用程序中,汉字与下划线相连,粗体字相连,字母则没有这个问题。

分析:

1. 汉字与下划线相连,通过截图放大后发现,汉字比字母高一个象素,同一行是顶端对齐,此时下载线同字母的相对位置对于汉字就不适合了,由此引起了汉字与下划线相连的问题

2. 粗体字相连,我的应用程序字体大小为 9, 此时普通重量的汉字之间没有相连的现象(间距我我猜是1个象素),但是如果汉字是粗体,一些比较饱满的汉字变粗后就和后面的汉字连在一起了,没有了那1个象素的间距,结果很难看。不同字体大小都一样。

3. 粗体时,单个汉字里的笔画连接在一起。



 附件: 您所在的用户组无法下载或查看附件




顶部
sunmoon1997
公社版主



UID 56569
精华 4
积分 3619
帖子 1985
阅读权限 225
注册 2003-8-21
来自 China
状态 离线
发表于 2005-9-5 12:18  资料  主页 短消息  加为好友  QQ
[code:1]1. 汉字与下划线相连,通过截图放大后发现,汉字比字母高一个象素,同一行是顶端对齐,此时下载线同字母的相对位置对于汉字就不适合了,由此引起了汉字与下划线相连的问题 [/code:1]
正常现象。。 CJK 字符要单独对侍, 需要调整行距, 下移下划线位置(下划线位置是针对拉丁字母的, 但是 CJK 字体的下划线位置怎么确定了,好像还没有好的办法)。其实 windows 也有同样的问题。





偷来的签名: [code:1] USE="-bitch -in-laws nice gorgeous smart" emerge girlfriend >>> china/suzhou/girlfriend merged [/code:1]
顶部
conner
管理员



UID 2
精华 15
积分 4002
帖子 1630
阅读权限 255
注册 2002-3-19
来自 Uk
状态 离线
发表于 2005-9-5 12:45  资料  短消息  加为好友  QQ
ML中的QT已经打了补丁。GTK应该是pango的问题吧。





测试签名
顶部
FangQ
注册会员
Rank: 2



UID 176694
精华 4
积分 283
帖子 113
阅读权限 20
注册 2005-1-6
状态 离线
发表于 2005-9-6 03:49  资料  主页 短消息  加为好友 
Re: 汉字与下划线相连,粗体字相连问题。

下划线的位置是可以控制的,文泉驿字体的下划线位置是参考了firefly的点阵字体的设置(可能也是fontforge自动生成的)。如果你下载的是BDF格式的字体,打开文件,在文件头找到
[code:1]UNDERLINE_POSITION -100
UNDERLINE_THICKNESS 50[/code:1]

你可以改变UNDERLINE_POSITION,然后重新安装字体(如果感觉BDF速度慢,可以使用bdf2pcf来转换成pcf,然后再安装pcf格式的字体)。另外,你也可以控制每个汉字点阵的显示位置,我们现在的设置是最常用的设置:即汉字点阵下沉一个(9/10/11pt)或者两个像素(12pt)。你可以通过查找替换BDF中汉字点阵中的BBX字段的最后一个数字来控制字体在y-轴的位置,查找替换的命令参照:

[code:1]perl -pi -e 's/BBX 14 14 0 -1/BBX 14 14 0 0/g' wenquanyi_11pt.bdf[/code:1]

(我对这个测试很感兴趣,如果有时间,希望你把合适的下划线位置反馈给我们)。

两个相邻的粗体字相连以及粗体字内部笔画相互连接的情况在商业字体上也会同样出现,主要是点阵字体空间有限,加粗之后笔画之间的空白被填充。而点阵原来边界上预留的1个像素的分割边界也被加粗算法部分填充,对于两个相邻的比较丰满的汉字,就会出现字体之间连接的情况。

我们还在继续优化常用汉字,从0.6发布之后,我们又改进了上千的汉字点阵,相信0.7发布的时候,这些问题会大大减少。

[quote:0ac4ab8ad7="yangh"]环境:

字体 文泉驿 0.6
FontConfig 2.3.2
FreeType 2.1.10
Xft 2.1.7

注:以上 3 个包是官方原版,无任何补丁。

Gtk+-2.8.x (Cairo 1.0 使用 Freetype 后端)

现象: 所有应用程序中,汉字与下划线相连,粗体字相连,字母则没有这个问题。

分析:

1. 汉字与下划线相连,通过截图放大后发现,汉字比字母高一个象素,同一行是顶端对齐,此时下载线同字母的相对位置对于汉字就不适合了,由此引起了汉字与下划线相连的问题

2. 粗体字相连,我的应用程序字体大小为 9, 此时普通重量的汉字之间没有相连的现象(间距我我猜是1个象素),但是如果汉字是粗体,一些比较饱满的汉字变粗后就和后面的汉字连在一起了,没有了那1个象素的间距,结果很难看。不同字体大小都一样。

3. 粗体时,单个汉字里的笔画连接在一起。[/quote][code:1][/code:1]





欢迎参与文泉驿计划 http://wqy.sf.net/
顶部
cnhnln (不在)
超级版主

还是不在


UID 2275
精华 116
积分 36694
帖子 19367
阅读权限 245
注册 2002-8-19
来自 瞎扯淡俱乐部
状态 离线
发表于 2005-9-6 12:29  资料  主页 短消息  加为好友  添加 cnhnln 为MSN好友 通过MSN和 cnhnln 交谈 QQ Yahoo!
矢量吧





顶部
FangQ
注册会员
Rank: 2



UID 176694
精华 4
积分 283
帖子 113
阅读权限 20
注册 2005-1-6
状态 离线
发表于 2005-9-14 06:23  资料  主页 短消息  加为好友 
yangh,对下划线有什么建议吗?我们可能很快要推出文泉半两v0.7





欢迎参与文泉驿计划 http://wqy.sf.net/
顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP