注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

2011年9月1日  

2011-05-27 03:58:12|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转自: http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=chinese&Number=405450&page=0&view=collapsed&sb=5&o=all&fpart=all&vc=1

只知道xtt可以解析点阵字体,freetype处理中文不是很好。但是freetype2可以antialias呀。还有就是字体控制管理程序xfs,还有个xft呀,太多了。不知道到底什么是干什么的,如何配置,和xfree的关系。否则总是知道其然,不知其所以然。谢谢。 

现在越来越多的程序支持xft了,这是不是未来的发展趋势呢?xft和freetype有什么关系呢?


我来试试看,只是希望今后不要指定要“大侠”回答,害得我们都不敢吭声:) 

X Window是所谓client-server结构,这里的server管显示(输出)、键盘和 
鼠标(输入)部分,而client则是你正在用的程序,比如编辑器。Server收集 
键盘和鼠标的输入,送到编辑器这一client,编辑器经过处理后,回过来再让 
server去显示一些字到屏幕上,来回折腾。 

怎样显示一个字呢? 

一个字实际上就是一个小图,如果小图上的点非黑即白,就称为黑白点阵; 
如果小图上的点可以有不同的亮度甚至颜色,则称为AA点阵。每个字,也就 
是每个小图都有固定的编号,编辑器(client)可以只告诉server某个编号, 
server根据该编号去找出对应的小图,这种方案就是所谓的server side 
font,如FreeType,X-TrueType等backend就属此类;如果编辑器自己去找小 
图,干脆把小图送给server去显示,这种方案就是所谓client side font, 
Xft属这一类。 
  server side font 
    FreeType backend: 即XF86Config中的freetype模块 
    X-TrueType backend: 即XF86Config中的xtt模块 
  client side font 
    Xft: 设置文件是fonts.conf 

还有一类,xfs,跟server side font一样,client把字编码传给server,但 
server并不直接从字库中读出对应该编码的小图,而是把编码再传给另外 
的所谓font server,由font server去字库找出对应的图,返回给X server 
去显示,姑且将这种方式称为font server font: 
  font server font 
    xfs: 设置文件是X11/fs/config 

不管是哪一类,最终都要去字库文件读出对应编码的小图,至少对TrueType 
格式的字库文件而言,xtt也好,freetype也好,Xft也好,几乎都用到了 
FreeType这一字库engine,虽然xtt没人继续改进,还是用FreeType 1,别人 
都改用FreeType 2了。正因为大家都用FreeType字库engine,使得xtt, 
freetype,Xft这些名字容易弄混,让人头大。解决的办法很简单:不要再去 
管什么xtt,不要再去管什么freetype,不要再去管什么xfs: 
  只要弄清Xft就够了。 

X字库设置必读: Juliusz Chroboczek的Fonts in XFree86 
  http://www.xfree86.org/~dawes/4.3.0/fonts.html 


>> 现在一个XFree4.3.0的xtt就可以搞定了 

就算你不愿意”与时具进“,喜欢传统的XOM方式,也别用xtt了吧, 
在 XFree4.3.0 里 freetype 和 xtt 在中文显示效果上已经没区别了。


最新的 xtt 1.4.1 其实非常不错,对于 CJK 字库性能比 freetype 高,可选的参数也多一些。freetype 最不爽的就是不支持人工斜体和粗体了。


Yeah, 前一段看到他的声明,不过就没下文了,还以为又是烟雾弹呢。原来是在埋头苦干。 
我差点就向他们建议下一版 XFree86 把 xtt 拿掉。这位老兄的精神实在可嘉,明知已经是 
日暮西山的东西了,他还愿意维护。 

能具体介绍一下”对于 CJK 字库性能比 freetype 高“吗 (除了你后面提到的人工粗斜体)? 
Port 到 freetype2 了? 

不过我觉得对像 simsun 这种字体,也没太大余地可施展。它又没有任何 Hint,只有内嵌 
点阵。只要是用这些点阵,想不一样也难。 

对于人工粗斜体,我的看法可能和大家不一样。实在看不惯斜体的中文字,我们的老祖宗 
什么时候用过这样的字。我一般都把它设成楷体或仿宋体。黑体我就直接用真正的黑体字 
了。



freetype2 的支持也在计划中。还有对 Unicode 4.0 的各个平面的支持也在计划中。GB18030 的支持已经合并进去了。还有修正了很多 bug. 

xtt 里面有很多诡异的选项可以帮助处理包含大量 glyphs 的字体,比如指定某一段 glyphs 是等宽的,然后在处理这些 glyphs 的时候就可以采取偷懒的办法等等。具体你可以看看他们的网站 
http://x-tt.sourceforge.jp/ 


请问freetype模块支持embedded bitmap font了吗? 
每回设置完XF86Config,都要手工修改为xtt。如果 
支持了,就省事了。 



>> xtt 里面有很多诡异的选项可以帮助处理包含大量 glyphs 的字体,比如指定某一段 glyphs 是等宽的 ... 

Among all the TTCap options in xtt 1.3, I found "vl" the most useful when comes to large font. Is this 
the one you talking about, or they extend things like "fs" option? 

========================================================================= 

Ok, just checked out their site, you must have meant the new "fc" option. 
I must say I admire their enthusiasm, but I think they are wasting their time. Well just my opnion anyway. 


>> http://x-tt.sourceforge.jp/ 

sourceforge dot jp? Hum, interesting.



支持内嵌点阵了,但是用这个有什么好处,能解释一下吗? 
我在fonts.conf里关闭了它:) 

<match target="font"> 
<edit name="embed" mode="assign"> 
<bool>false</bool> 
</edit> 
</match> 



xtt, freetype 都可以在 XF86Config 里面设置开还是关掉,那么 Xft 能不能关掉呢?比如我只想用 xtt 不想那个 fonts.conf 出来干预我的字体。
我原先的 simsun 是能显示粗体和斜体的,不知怎么搞的就不行了,我怀疑是 Xft 也就是那个 fonts.conf 有关。 



Xft因为在client side,就不能像server side的FreeType,X-TrueType 
等那样在XF86Config里有个总开关。怎么办呢? 

1. 一个client一个client地关,不同的程序关法不同。我只知道GNOME 
可以用 
export GDK_USE_XFT=0 
来关,KDE好像也有类似的环境变量,别的就不清楚了。 

2. 或者关掉X server的RENDER extension?我没试过,不知道是否可行。 
据说如果没有RENDER extension,Xft就去用老font方式显示,从而调出 
FreeType,X-TrueType这些你喜欢的backends:不过fonts.conf还是起作 
用,但如果你并非真是跟fonts.conf过不去,只是不想见anti-aliased字, 
此法可以试一试。 

3. 再就是在fonts.conf里关anti-alias。除了你刚好设成某一大小时用 
上了内嵌点阵字库,我看比anti-aliased显示还糟。 

至于人为(人为者,伪也。“事在人为”就是说要办成什么事,就得作伪,欺 
骗。)加粗和变斜,只有X-TrueType和Xft可以做到,你碰到的问题说不定 
出在你用的是FreeType backend或老版本Xft。



在我的笔记本上,xtt和xft的效果根本没法子比。打开AA效果的字体比xtt清楚多了。 

也许时CRT显示器不敏感的原因吧。 

去留无意,任天上风起云涌, 
宠辱不惊,看庭前花开花落。

  评论这张
 
阅读(342)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017