Ubuntu 7.10 黑体解决方案

February 1st, 2007

Ubuntu 7.10 黑体解决方案

Category: Ubuntu, Author: Nicky, Popularity: 66%

ubuntu
2007 年 10 月 18 号更新。

结合 “Ubuntu的黑体解决方案” 和 “Ubuntu的黑体解决方案(续)” 这 2 篇文章。

此方法在最新的 Ubuntu 7.10 上测试通过。
如果你不喜欢华文黑体,也可以使用其他黑体来代替,修改方法不变。

使用华文黑体 (STHeiti) 替换 Ubuntu 中文字体方法

1、下载 STHeiti 字体

这里下载 stheiti.rar 字体包,解压后复制到 /usr/share/fonts/truetype 下面。

设置 STHeiti.ttf 可读权限:
sudo chmod a+r /usr/share/fonts/truetype/stheiti.ttf

2、设置 STHeiti 为首选中文字体

sudo gedit /etc/fonts/language-selector.conf

找到(共三处):

<family>AR PL UMing CN</family>

在它的上面一行添加:

<family>STHeiti</family>

然后刷新字体缓存:
sudo fc-cache -f -v

3、设置英文字体和渲染方式

打开 “系统-首选项-外观-字体” 面板:

在字体选项里选择一款英文字体,如:Lucida Grande 或者 Bitstream Vera Sans。
在 “字体渲染” 选项中选择 “次象素平滑” 或者 “最佳形状” 。

update (07/4/21): 也可以参照 “更好的华文黑体渲染效果” 那样设置。

注意:如果发现在 Firefox 里英文显示不正常,需要在 Firefox 的 “选项 -> 内容 -> 字体和颜色” 中选择一款英文字体,如:Lucida Grande 或者 Bitstream Vera Sans。

4、强制 STHeiti 不使用微调

sudo gedit /etc/fonts/fonts.conf

<fontconfig>

下面加入下面一段:

<match target="font">
    <test name="family">
        <string>STHeiti</string>
    </test>
    <edit name="hinting">
        <bool>false</bool>
    </edit>
</match>

如果不明白为什么要最后这一步,请看这里“Ubuntu的黑体解决方案(续)

OK,使用Ctrl+Alt+BackSpace重启x看效果。

我使用后的效果:

更多黑体效果看这里。




June 19th, 2006

ubuntu的黑体解决方案(续)

Category: Ubuntu, Author: Nicky, Popularity: 19%

上次说到的“ubuntu的黑体解决方案”,使用mac上的华文黑体来替换ubuntu中文字型。但是在使用过程中发现了一个问题,英文字体有点模糊(带有毛边),原因是在“系统-首选项-字体”这里关掉了所有字体的微调。下面引用《Fontconfig配置详解》一段关于字体渲染引擎微调的解释:

Hinting 用来最佳化字型显示的方法。由于屏幕的像素有限,向量字型的缩放需要有更多的考虑, 例如当一条线位在两个像素格子中间时, 该取左边的格子还是右边的格子? 如果这方面的控制没有做好,就常常会出现字型的衬线没有对齐,或是小字歪七扭八的情况。 Hinting 是额外的信息, 它告诉 renderer 该如何处理这些细节的部份,使得向量字在小字的时候能够好看。也因此 Hinting 是非常费时费人力的工作,TrueType 字型很多,但是有良好 Hinting 的字型不多。拙劣的 Hinting 就会让字变得很难看。 如果要拿来看中文的小字的话,目前最好把 hinting 关掉(中文字型大部分把 hinting 关掉会有比较令人高兴的外观,除了新细明体是一定要打开以外)

如果STHeiti(华文黑体)打开微调,很多字都会挤到一堆,相信mac下也关掉了这个字体的微调功能。然而我们使用的英文字体又需要打开微调,才能让文字看起来更圆滑漂亮、没有毛边。既然这样我找了一个只关掉STHeiti(华文黑体)微调的办法,如下:

用如下方法替换“ubuntu的黑体解决方案”中的第三步。

1、打开“系统-首选项-字体”面板,在“字体渲染”选项中选择“最佳形状”(这个选项由你自己决定,例如LCD可以选择“次象素平滑”)。

2、打开sudo gedit /etc/fonts/fonts.conf文件,加入下面一段:

< match target = " font " >
    
< test name = " family " >
        
< string > STHeiti </ string >
    
</ test >
    
< edit name = " hinting " >
        
< bool > false </ bool >
    
</ edit >
</ match >

重启x看效果,完成。

中(黑体)英文字体微调效果对比图
中英文字体微调效果对比

附录:match的一些属性说明

family - String - 字体的名称, 如 Arial, Bitstream Vera Sans…
style - String - 字体的 style, 像是 Regular, Bold, Italic…
spacing - Int - 字体的宽度,Proportional是有不同的宽度, monospace 是单一的宽度。
antialias - Bool - 字体渲染是否采用抗锯齿功能。
hinting - Bool - 渲染引擎是否采用微调 。
autohint - Bool - 决定是否要用 Freetype 自己的 hint 方法来 hint 字型。
rgba - Bool - 决定是否要用 subpixel 的方式来画字。

参考《Fontconfig配置详解》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值