LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1070|回复: 3

大家有没有发现, 现在不用overlay, simsun也能粗体了?

[复制链接]
发表于 2006-3-26 03:08:03 | 显示全部楼层 |阅读模式
喝喝, 我平时一般不怎么emerge sync, 昨天sync了一下才转到modular X的

~x86的话, emerge -1u fontconfig freetype libXft, 然后打开 /etc/fonts/fonts.conf后, 找到下面这段:

  1. <!--
  2. Synthetic emboldening for fonts that do not have bold face available
  3. -->

  4.         <match target="font">
  5.                 <!-- check to see if the font is just regular -->
  6.                 <test name="weight" compare="less_eq">
  7.                         <int>100</int>
  8.                 </test>
  9.                 <!-- check to see if the pattern requests bold -->
  10.                 <test target="pattern" name="weight" compare="more_eq">
  11.                         <int>200</int>
  12.                 </test>
  13.                 <!-- set the embolden flag -->
  14.                 <edit name="embolden" mode="assign">
  15.                         <bool>true</bool>
  16.                 </edit>
  17.         </match>
复制代码


仔细看一下你就能看出问题: 比如运行

  1. shell> fc-match -v "serif:lang=zh-cn:bold" | egrep 'embolden|weight'
复制代码

你就会发觉, 虽然embolden是true了, 但weight还是80. 仔细想想, 让xft按weight=80 (非粗体的weight) 去渲染粗体, 出来会是什么效果呢?

所以解决办法比较简单. quick'n'dirty的话, 在</match>前加上一行

  1. <edit name="weight" mode="assign"><int>200</int></edit>
复制代码

就好了.

当然比较正规的方法是加一个单独配置到你的fontconfig.d里, 比如

  1. <?xml version="1.0"?>
  2. <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
  3. <!-- /hoard/fonts/fontconfig.d/65_boldify -->
  4. <fontconfig>
  5.   <match target="font">
  6.     <test target="pattern" name="weight" compare="more_eq">
  7.         <int>200</int>
  8.     </test>
  9.     <test name="weight" compare="less"><int>200</int></test>
  10.     <edit name="weight" mode="assign"><int>200</int></edit>
  11.     <edit name="embolden"><bool>true</bool></edit>
  12.   </match>
  13. </fontconfig>
复制代码


如果大家早就发觉了, 不要笑我啊, 我大致翻了翻最近的帖子, 基本上都是overlay的办法
发表于 2006-3-26 10:25:13 | 显示全部楼层
libXft, Xfs, xtt, freetype之间有什么关系呢?
那个cairo又是什么?搞不懂的说

如果是粗体/斜体的话,redhat版有个帖子也挺有价值的
http://www.linuxsir.cn/bbs/showthread.php?t=204651
回复 支持 反对

使用道具 举报

发表于 2006-3-26 10:25:51 | 显示全部楼层
libXft, Xfs, xtt, freetype之间有什么关系呢?
那个cairo又是什么?搞不懂的说

如果是粗体/斜体的话,redhat版有个帖子也挺有价值的
http://www.linuxsir.cn/bbs/showthread.php?t=204651
回复 支持 反对

使用道具 举报

发表于 2006-4-1 16:18:22 | 显示全部楼层
因为libxft的关系,lz火星了,其实这个问题在去年opendesktop.org放出xorg7的开发消息时在我们这里已经讨论过了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表