cairo 1.1.10 ebuild + ClearType 补丁,矢量字体边缘更平滑
时间:2006-06-20
来源:互联网
thx to sunmoon1997
这里有图
http://groups.google.com/group/gento...eda8800ff9c271
如果你没有xgl-coffee overlay, 那么你需要附件里的git.eclass,把它放到你overlay目录下的eclass目录里,比如/usr/local/portage/eclass
如果从cairo 1.1.6开始,你经历过simsun缺字的现象
在装过这个版本之后,请尝试不要再对simsun禁用antialias,也就是说如果之前是false的,请注释掉。
我这里这样做过之后,就不再缺字了
不过,使用libXft的程序,比如qt程序里simsun会发虚,所以这个还不是最终解决办法。
cairo.tar.bz2 (5.9 KB, 51 次查看) | |
git.eclass.txt (3.6 KB, 39 次查看) |
作者: zhllg 发布时间: 2006-06-20
received the cleartype's patch from sunmoon last night, but didn't apply them to cairo 1.1.6 which I currently used.
try this tonight
作者: younker 发布时间: 2006-06-20
$ sudo emerge -uDNpv world These are the packages that would be merged, in order: Calculating world dependencies / !!! ERROR: x11-libs/cairo-1.1.10_alpha20060620 failed. Call stack: ebuild.sh, line 1448: Called source '/usr/local/portage/chinese-overlay-zhllg/x11-libs/cairo/cairo-1.1.10_alpha20060620.ebuild' cairo-1.1.10_alpha20060620.ebuild, line 7: Called inherit 'git' 'eutils' 'autotools' ebuild.sh, line 1183: Called die !!! git.eclass could not be found by inherit() !!! If you need support, post the topmost build error, and the call stack if relevant. aux_get(): (0) Error in x11-libs/cairo-1.1.10_alpha20060620 ebuild. (1) Check for syntax error or corruption in the ebuild. (--debug)
作者: 食古不化 发布时间: 2006-06-20
作者: 食古不化 发布时间: 2006-06-20
>>> Unpacking source... * git update start --> * repository: git://git.cairographics.org/git/cairo Unpacking 25 objects 100% (25/25) done * refs/heads/master: fast forward to branch 'master' of git://git.cairographics.org/git/cairo from 72e7667ed904b93475d7e4540778c498aa781cdf to bb11980f14560ea16174c6531678b9b7a623f813 src/cairo-output-stream.c | 48 +++++++++++++++++++++++++++++--------------- src/cairo-pdf-surface.c | 29 ++++----------------------- src/cairo-ps-surface.c | 13 ++---------- test/cairo-test.c | 15 +++++++++++++- test/fallback-resolution.c | 2 -- 5 files changed, 52 insertions(+), 55 deletions(-) * local clone: /usr/portage/distfiles/git-src/cairo * committish: master >>> Source unpacked.
git.eclass.tar.bz2 (2.5 KB, 11 次查看) |
作者: midx 发布时间: 2006-06-21
作者: 晨想 发布时间: 2006-06-21
不过如果之前有/usr/portage/distfiles/git-src/cairo的话,要先删掉这个目录
作者: midx
一个较新的git.eclass,显示信息更多。
代码:
>>> Unpacking source... * git update start --> * repository: git://git.cairographics.org/git/cairo Unpacking 25 objects 100% (25/25) done * refs/heads/master: fast forward to branch 'master' of git://git.cairographics.org/git/cairo from 72e7667ed904b93475d7e4540778c498aa781cdf to bb11980f14560ea16174c6531678b9b7a623f813 src/cairo-output-stream.c | 48 +++++++++++++++++++++++++++++--------------- src/cairo-pdf-surface.c | 29 ++++----------------------- src/cairo-ps-surface.c | 13 ++---------- test/cairo-test.c | 15 +++++++++++++- test/fallback-resolution.c | 2 -- 5 files changed, 52 insertions(+), 55 deletions(-) * local clone: /usr/portage/distfiles/git-src/cairo * committish: master >>> Source unpacked. |
作者: zhllg 发布时间: 2006-06-21
作者: kohno 发布时间: 2006-06-21
ClearType是针对矢量字体的,英文一般都是矢量的
作者: zhllg 发布时间: 2006-06-21
看第一贴
作者: zhllg 发布时间: 2006-06-21
作者: kohno
似乎只是英文字体有点分别。不过我倒是觉得no_cleartype那张图字体更清晰。
|
作者: arping 发布时间: 2006-06-22
作者: midx 发布时间: 2006-06-23
这两张图看起来:
如果用的是 linux 自带字体
前一张是可能是 antialias + autohint 的效果, 没开 subpixel,用的是 Grayscale
后一张可能是 antialias + subpixel + autohint,因为子像素原理,放大后边缘呈现彩色状。
截图质量有点差,用了 jpg,效果基本都看不出来了 ,最好截成 png 的。而且最好比较一下小字下的效果。
我觉得 MS 的 ClearType 就是 antialias + subpixel,给它换了个好听的名字,可能在算法上更先进一些。
我想问一下该补丁和系统本身带的 AA + subpixel 比较,具体做了哪些方面的改进,谢谢!
顺便传张图,抱歉用的是 vista 字体,用过类似一个 subpixel 补丁,开 hinting + AA + subpixel
segoe-subpixel.png (117.6 KB, 90 次查看) | |
segoe-subpixel-2.png (150.6 KB, 88 次查看) |
作者: quanliking 发布时间: 2006-08-19
作者: Freesnake 发布时间: 2006-08-19
作者: Freesnake
我用Segoe UI作的英文显示,打开AA的效果在非粗体下还凑合,粗体的就很难看了……边缘非常模糊……不知道这个用了有没有改善……
|
作者: quanliking 发布时间: 2006-08-19
作者: quanliking
同意 midx 的说法。
这两张图看起来: 如果用的是 linux 自带字体 前一张是可能是 antialias + autohint 的效果, 没开 subpixel,用的是 Grayscale 后一张可能是 antialias + subpixel + autohint,因为子像素原理,放大后边缘呈现彩色状。 截图质量有点差,用了 jpg,效果基本都看不出来了 ,最好截成 png 的。而且最好比较一下小字下的效果。 我觉得 MS 的 ClearType 就是 antialias + subpixel,给它换了个好听的名字,可能在算法上更先进一些。 我想问一下该补丁和系统本身带的 AA + subpixel 比较,具体做了哪些方面的改进,谢谢! 顺便传张图,抱歉用的是 vista 字体,用过类似一个 subpixel 补丁,开 hinting + AA + subpixel |
这个patch需要和libXft的合用,单打libXft的patch就会对QT程序有效果了。
作者: lucida 发布时间: 2006-08-19
作者: Freesnake 发布时间: 2006-08-19
作者: quanliking
我觉得 MS 的 ClearType 就是 antialias + subpixel,给它换了个好听的名字,可能在算法上更先进一些。
我想问一下该补丁和系统本身带的 AA + subpixel 比较,具体做了哪些方面的改进,谢谢! 顺便传张图,抱歉用的是 vista 字体,用过类似一个 subpixel 补丁,开 hinting + AA + subpixel |
据说该补丁与MS ClearType的算法同宗,只是MS把ClearType注册为己独用...
作者: midx 发布时间: 2006-08-20
要能达到bitmap的效果就好了。。。其实现在来看,字型有点走样问题不大,倒是毛茸茸的很讨厌
下图用compiz的zoom效果截的,已经打了cairo/libXft的对应patch...
aa.png (46.8 KB, 46 次查看) |
作者: lucida 发布时间: 2006-08-20
作者: midx
实际上这个跟你所用的是同一个补丁,只是sunmoon1997跟随cairo-git版本维护了一下。
据说该补丁与MS ClearType的算法同宗,只是MS把ClearType注册为己独用... |
这两天发现该补丁的作者 David Turner( freetype 主要作者)当时放这个补丁的网页已经取消了,记不清他在主页上是如何解释的,好像说他自己也不确定是否触及了一些专利问题。应该是由于专利问题,所以一直没放到主流的版本中去。如果谁还保留着他当时在网页上放的原 subpixel 补丁,不嫌麻烦的话,用短消息告诉我一声。
从使用来看,这个带有专利色彩的补丁的确不少人喜欢。
作者: quanliking 发布时间: 2006-08-20
作者: Yuri 发布时间: 2006-08-20
开了后边缘肯定是会出现彩色光晕的,也就是毛茸茸的感觉,不可能做到位图字体那样黑白分明。
据我这几天找资料来看,不能把用了 subpixel 的图片,放大了来讨论,这是一种错误的做法,包括我前几天也是这样来判断的。应该在原始尺寸下做比较。而且你不能离屏幕太近,要保持适当距离,必要时戴眼睛,否则你会被这些光晕困扰。还有重要一点就是色深要开到 24bit 以上,还能发挥子像素的作用。
bitmap font 技术比较原始,它根本没有用到 subpixel 技术,既一个像素包含红绿蓝三个子像素,甚至没用传统的 grayscale antialiasing。在白底黑字下,对位图而言,一个像素只有两种可能,非黑即白,也没有中间的灰阶过渡,所以看起来会感觉边缘非常尖锐。bitmap font 一旦开了 antialias 就看不得了,边缘会非常的模糊,非常淡。
bitmap font 只适合于低解析的屏幕, 对亚洲字型会有比较好的效果,但到了高解析度的屏幕上,比划非常的细,比如竖线只占一个像素宽,会很难看。
而且 bitmap font 对英文早已经力不从心了,所以后来才会开发 grayscale antialiasing ,以及再后来的 subpixel antialiasing。随着显示设备解析度的提高,现在 bitmap font 已经退居二线,你看现在 MS 的 vista 专门开发了七种 Cleartype 英文字体,也就是专门为 subpixel antialias 定制的新字体,隐含的告诉我们,快去买高解析度大屏幕的 LCD,否则你将不能充分的见识到 cleartype 的威力。而对于亚洲字体,vista 开始推崇不带点阵的纯矢量字体了,如中文雅黑,繁体正黑体,日文的 meiryo 等等。
现在人们觉得 bitmap font 中文好看,一是习惯问题,二是还没有非常优秀的中文矢量字体,三是最重要一点,大多数人的显示设备远没达到完全利用 cleartype 或 subpixel antialias 的地步,所以据我推测或者讲人所共知,当 vista 或 linux xgl 或 mac xxxx 真正成熟推向市场是,必将掀起一股 LCD 热潮。
顺便补充一下,字型走样跟你用什么类型字体有关,如果用 MS truetype 字体,开 hinting 是保持字型的好办法。
最后传两张图,不是我渲染的,而是在 MS 网站上抓来的,用的都是 cleartype 字体,MS 自己渲染的。
SegoeUI.gif (4.6 KB, 52 次查看) | |
Consolas.gif (7.1 KB, 39 次查看) |
作者: quanliking 发布时间: 2006-08-20
既然quanliking需要,附件是tmp里翻出来的两个patch。请查收。
cleartype_patch_original.tar.bz2 (9.1 KB, 11 次查看) |
作者: midx 发布时间: 2006-08-20
作者: lucida 发布时间: 2006-08-20
btw, 几乎确认的怀疑一下,日月兄的patch能不修改的用在1.2.2的cairo上,但是几乎无效果...
作者: lucida 发布时间: 2006-08-20
作者: lucida
差点一口水喷出来。。。算了,啥都不说了
|
作者: midx 发布时间: 2006-08-20
作者: lucida
再废话一下,不用长篇大论,仔细对比一下win和linux的英文小字号,你会发现windows的干净的多。不要和我重复subpixel的原理了....
btw, 几乎确认的怀疑一下,日月兄的patch能不修改的用在1.2.2的cairo上,但是几乎无效果... |
我已经把跟帖中引话删去了。
同时谢谢 midx 兄提供补丁。
作者: quanliking 发布时间: 2006-08-20
http://wiki.archlinux.org/index.php/...AE%BE%E7%BD%AE
作者: VirusCamp 发布时间: 2006-08-21
作者: quanliking 发布时间: 2006-08-21
希望你是 LCD 用户,子像素排列为 rgb,否则看不到图片效果。
MS 官方的字体渲染图:
http://www.linuxsir.org/bbs/attachme...9&d=1156056219
更多的 vista 新字体见:
Jensen Harris: An Office User Interface Blog
http://blogs.msdn.com/jensenh/archiv...ory/11727.aspx
我的 ubuntu 打了 sub-pixel 后的字体渲染图,见附件一。
图片下载后,请把图片放在一块观看,而且要把图片浏览器,如 eye of gnome 里的 Image Interpolation 选项关闭,然后再放大观看。
两者的比较图,上图为 MS cleartype,下图为 ubuntu subpixel patch.
原始大小比较见附件二,放大后的比较见附件三。
我从纯业余的角度来谈一下我的看法:
两者各有千秋。
1。
从文字边缘的光滑角度来看,ubuntu subpixel patch 超过 ms cleartype。
ubuntu 边缘更加细腻, 而 ms 还是隐约看到边缘的锯齿状,见附件二。
2。
从边缘的色彩光晕控制来看,ubuntu subpixel patch 超过 ms cleartype 。
在观屏距离合适的前提下,ubuntu subpixel patch 几乎看不到彩色光晕,而 ms cleartype 还是比较明显感觉到彩色光晕,见附件二。
原因见附件三,ubuntu 的像素之间的色差更小一些,色彩平衡性更好一些,而 ms cleartype 色差比较大,字体边缘偏红。
3。
从字型的控制角度来看,ms cleartype 超过 ubuntu subpixel patch。
ubuntu subpixel patch 渲染后的英文有点过粗,造成 8pt 小字有些模糊不清,看起来显得字符间隔有点短,快贴到一块。
而 ms cleartype 的效果比较好,小字灵便清晰。
具体我们再来看一下 18pt 的情况,大家仔细观察一下附件二 U I l 等字符,可以比较明显的看到 ubuntu subpixel patch 渲染的过粗了。
什么原因造成的呢?
看一下附件四,注意一下 UI 两字符的右侧蓝颜色的竖线部分,ubuntu 的蓝色有点过重了,或者讲这一排像素分得的能量太多了,当你在原始大小观看时,人眼会感觉黑色成份加重,即过粗了。
或从子像素原理角度来讨论一下该蓝色部分,一个像素是由红绿蓝三个子像素组成的,三原色原理,三个子像素同时完全关闭,人眼感觉该像素为纯黑,同时打开,该像素为白色。简单讲(事实并非纯蓝,并不是完全打开或关闭),要取得蓝颜色,只需将红绿两个子像素关闭,保留蓝色子像素,子像素关闭后,该子像素处即为黑色,而 ubuntu 的红绿两子像素刚好靠近它们左边的黑色的竖线,因此加粗了 U 的右侧竖线。其它地方也可以类似分析,这也就是我说的不能老用放大后的图片说事,要根据原理来分析问题。当然还要考虑到人眼对不同色彩的敏感度
而 ms cleartype 在这方面色彩处理的比较干净。
另外 ms cleartype 在一些小细节,如拐弯的最后一下做得要好。
综上,所谓有得必有失,要是将两者的优点结合自然最好,我想 subpixel 算法还是有改进的空间。
我只是在一种字体的两个字号下做了比较,可能有失偏颇,从使用 ubuntu subpixel patch 浏览网页的感受来看,还是感觉有点粗。
背景材料:子像素渲染原理见
http://www.grc.com/cleartype.htm
http://www.grc.com/cttech.htm
my-segoeUI.png (13.1 KB, 17 次查看) | |
normal-compare.png (22.0 KB, 24 次查看) | |
large-compare.png (10.7 KB, 15 次查看) | |
UI-compare.png (2.1 KB, 10 次查看) |
作者: quanliking 发布时间: 2006-08-21
作者: zhllg 发布时间: 2006-08-21
作者: midx 发布时间: 2006-08-21
作者: Freesnake 发布时间: 2006-08-21
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28