原文连接:http://edyfox.codecarver.org/html/debian_testing_chinese.html

中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做了无数没有意义的事情。但这也是不得不做的,我把 Debian/Ubuntu 所需要的中文字体美化操作步骤详细记录在这里,希望能节约大家一部分时间。

1 安装必要的字体包

首先,我们的字体美化依赖 Droid 系列字体,因此我们首先安装这个软件包: ttf-droid

有了这个字体,对于日常工作和生活而言已经非常足够了。如果你还需要更多中文字体的话,推荐可以安装“文泉驿正黑”,“文泉驿点阵宋体”等。文泉驿的安装包已经进入了 Debian/Ubuntu,直接安装 ttf-wqy-zenhei 就可以了。如果想直接使用点阵宋体的话,可以安装 xfonts-wqy。另外,还可以通过 ttf-wqy-microhei 安装文泉驿微米黑,那是一个 Droid 系列字体衍生出来的字体,效果也不错。

除了文泉驿系列字体外,比较流行的免费中文字体还有文鼎提供的楷体和上海宋,包名分别是: ttf-arphic-ukai 和 ttf-arphic-uming。把这些字体都装上之后,应该就已经具备一个基本能用的中文环境了。

2 修改字体配置文件

和若干年前比起来,目前 Debian/Ubuntu 默认的字体配置效果已经非常好了,如果觉得已经满意了的话,完全就可以使用默认配置,不需要再做什么额外设置。如果想获得更好一些的效果的话,可以参考以下滇狐自己的字体配置文件。将以下内容写到存放到你的家目录下,命名为 .fonts.conf,就可以了。

 
<?xmlversion='1.0'encoding='utf-8'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
<family>Bitstream Vera Serif</family>
<family>Evermore Song</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL UMing CN</family>
<family>AR PL ShanHeiSun Uni</family>
<family>Droid Sans Fallback</family>
<family>WenQuanYi Micro Hei</family>
<family>WenQuanYi Zen Hei</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
<family>Bitstream Vera Sans</family>
<family>Evermore Song</family>
<family>Droid Sans Fallback</family>
<family>WenQuanYi Micro Hei</family>
<family>WenQuanYi Bitmap Song</family>
<family>WenQuanYi Zen Hei</family>
<family>AR PL UMing CN</family>
<family>AR PL ShanHeiSun Uni</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
<family>Bitstream Vera Sans Mono</family>
<family>Evermore Song</family>
<family>WenQuanYi Micro Hei Mono</family>
<family>WenQuanYi Zen Hei Mono</family>
<family>Droid Sans Fallback</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL UMing CN</family>
<family>AR PL ShanHeiSun Uni</family>
</prefer>
</alias>
<!-- Default Alias -->
<alias>
<family>DejaVu Sans</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- Generic font families -->
<matchtarget="pattern">
<testname="family"qual="any">
<string>serif</string>
</test>
<editbinding="strong"mode="prepend"name="family">
<string>DejaVu Serif</string>
</edit>
</match>
<matchtarget="pattern">
<testname="family"qual="any">
<string>sans-serif</string>
</test>
<editbinding="strong"mode="prepend"name="family">
<string>DejaVu Sans</string>
</edit>
</match>
<matchtarget="pattern">
<testname="family"qual="any">
<string>monospace</string>
</test>
<editbinding="strong"mode="prepend"name="family">
<string>DejaVu Sans Mono</string>
</edit>
</match>
<!-- Anti-alias -->
<matchtarget="font">
<editname="embeddedbitmap">
<bool>false</bool>
</edit>
</match>
<!-- WenQuanYi Bitmap Song -->
<selectfont>
<acceptfont>
<pattern>
<pateltname="family">
<string>WenQuanYi Bitmap Song</string>
</patelt>
</pattern>
</acceptfont>
</selectfont>
<matchtarget="pattern">
<testname="family"qual="any">
<string>WenQuanYi Bitmap Song</string>
</test>
<testcompare="less"name="pixelsize"qual="any">
<double>12</double>
</test>
<editmode="assign"name="family">
<string>WenQuanYi Micro Hei</string>
</edit>
</match>
<matchtarget="pattern">
<testname="family"qual="any">
<string>WenQuanYi Bitmap Song</string>
</test>
<testcompare="more"name="pixelsize"qual="any">
<double>16</double>
</test>
<editmode="assign"name="family">
<string>AR PL ShanHeiSun</string>
</edit>
</match>
<!-- Alias -->
<alias>
<family>SimSun</family>
<family>宋体</family>
<accept>
<family>Evermore Song</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
</accept>
<default>
<family>serif</family>
</default>
</alias>
<alias>
<family>SimHei</family>
<family>黑体</family>
<accept>
<family>WenQuanYi Micro Hei</family>
<family>WenQuanYi Zen Hei</family>
</accept>
<default>
<family>sans-serif</family>
</default>
</alias>
<alias>
<family>微软雅黑</family>
<family>Microsoft YaHei</family>
<accept>
<family>WenQuanYi Micro Hei</family>
<family>WenQuanYi Zen Hei</family>
</accept>
<default>
<family>sans-serif</family>
</default>
</alias>
<!-- End -->
<matchtarget="font">
<editmode="assign"name="rgba">
<const>rgb</const>
</edit>
</match>
<matchtarget="font">
<editmode="assign"name="hinting">
<bool>true</bool>
</edit>
</match>
<matchtarget="font">
<editmode="assign"name="hintstyle">
<const>hintfull</const>
</edit>
</match>
<matchtarget="font">
<editmode="assign"name="antialias">
<bool>true</bool>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>

  

3 修改桌面环境字体设置

修改完字体配置后,中文的显示效果应该可以上很大一个层次。但是,为了得到更好的效果,我们还需要对具体应用程序里的字体进行更多配置。

3.1 KDE 下的字体配置

滇狐平时只用 KDE 桌面环境,如果你的桌面环境不是 KDE 的话,之后的部分你也许不能直接照着做,请自己摸索,如果有意见或建议想要分享的话,请于滇狐联系。

KDE 下的字体配置很简单,直接到“系统设置”里找到“公共外观和行为”、“应用程序外观”、“字体”,把所有类别的字体都改成“Droid Sans”,等宽字用“Droid Sans Mono”即可。此外,建议启用“圆整字体边角”,并到“配置”对话框中把次像素渲染打开,微调样式改为“完整”,这样可以在液晶显示器下取得最好的效果。

3.2 GNOME 下的字体配置

滇狐并没有“系统纯洁强迫症”,虽然滇狐不用 GNOME,但 GNOME 下的软件,滇狐还是用的。为了让 GNOME 下的软件在 KDE 下不至于太突兀,我们还是需要对 GNOME 下的字体进行一定的配置。

3.2.1 GNOME 字体

在低版本的 GNOME 下,配置字体可以通过 gnome-appearance-properties 进行,运行该配置工具,将所有字体均设成“Droid Sans”,等宽字体设为“Droid Sans Mono”即可,很简单。

在最新版本的 GNOME 下,gnome-appearance-properties 配置工具已经被移除了,所有的配置工作只能通过 gnome-control-center 来完成。但悲剧的是,gnome-control-center 只要检测到你在 KDE 底下,就会拒绝提供配置字体的选项,因此修改 GNOME 程序的字体就只能通过 gconf-editor 进行了。gnome-appearance-properties 里字体配置的各个选项对应的位置分别是:

应用程序字体:/desktop/gnome/interface/font_name

文档字体:/desktop/gnome/interface/document_font_name

桌面字体:/apps/nautilus/preferences/desktop_font

窗口标题字体:/apps/metacity/general/titlebar_font

等宽字体:/desktop/gnome/interface/monospace_font_name

键值的格式是“字体名 空格 尺寸”,例如“Droid Sans 9”。在 KDE 下工作时,GNOME 的桌面和标题栏都是不可见的,因此只需要改应用程序字体、文档字体和等宽字体三项就足够了。

3.2.2 GTK 系统字体

在 KDE 下,gnome-settings-daemon 无法启动运行为 GTK/GNOME 程序提供字体配置信息,有的程序能够直接读取 gconf 下的字体配置信息,但还有很多程序会改为读取主目录下的配置文件获取字体相关的配置,如果读不到的话,就会变成非常丑陋的默认样式。为了避免出现这样的情况,我们需要在主目录下为这些程序创建配置文件。由于不同版本的程序读取的配置文件名都不太一样,为了让尽可能多的程序都能读到正确的配置,我们就多创建几个配置文件。在主目录下创建这几个文件:

.gtkrc

.gtkrc-1.2-gnome2

.gtkrc-2.0

.gtkrc-2.0-kde

文件的内容如下:

include ".gtkrc-2.0-kde4"

然后创建 .gtkrc-2.0-kde4,内容如下:

# This file was written by KDE
# You can edit it in the KDE control center, under "GTK Styles and Fonts"
 
include "/usr/share/themes/kde44-oxygen-molecule/gtk-2.0/gtkrc"
 
style "user-font"
{
font_name="Droid Sans"
}
widget_class "*" style "user-font"
 
gtk-theme-name="kde44-oxygen-molecule"
gtk-font-name="Droid Sans 9"
gtk-xft-antialias = 1
gtk-xft-hinting = 1
gtk-xft-hintstyle = "full"
gtk-xft-rgba = "rgb"
gtk-enable-event-sounds=0

  

注意:开头 include 后面包含的文件和 gtk-theme-name 指定的主题名需要根据你的个人习惯作相应的修改,不要直接照抄我这里的配置。因为首先,我选择的 GTK 主题未必是你喜欢的,其次,我安装的 GTK 主题你未必也安装了,因此务必根据你的个人习惯作相应的修改。

3.3 其它软件

完成以上配置后,整个系统就已经非常适合人类生活了,接下来我们再对部分程序做一些简单的微调。

3.3.1 Konsole 字体

Droid Sans Mono 在 Konsole 下的体验并不好,建议在 Konsole 下还是坚持使用 DejaVu Sans Mono 字体,那个字体更适合工作。

3.3.2 Chrome

Chrome 的字体渲染原则很奇怪,如果我们直接使用默认配置的话,它会选择一个很奇怪的日文字体来渲染中文,对于日文字体里不存在的中文文字,它又会 Fallback 到另外一个奇怪的中文字体上。滇狐目前没太多时间和精力来详细调查这个现象,解决这个问题最简单的方法就是把 Chrome 里的默认字体和 Sans 字体全都强制指定“Droid Sans Fallback”上,效果还不错。至于 Serif 字体,我们可以使用“Droid Serif”,Monospace 字体就用“Droid Sans Mono”,这样风格比较统一。

3.3.3 QTerm

QTerm 有自己的字体配置,并不直接遵循系统字体来,根据自己的喜好配置一下就好。

【crunch bang】中文美化的更多相关文章

  1. 【crunch bang】字体美化

    中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做了无数没有意义的事情.但这也是不得不做的,我把 Debian/Ubuntu 所需要的中文字体美化操作步骤详细记录在这里,希望能节约大家 ...

  2. 【crunch bang】程序中文化

    在应用程序中配置使用中文显示. # apt-get install locales # dpkg-reconfigure locales 安装文泉驿-微米黑字体: sudo apt-get insta ...

  3. 安装fcitx [Crunch bang] [debian]

    第一步: sudo apt-get install fcitx fcitx-sunpinyin  fcitx-ui-classic fcitx-table fcitx-config-common fc ...

  4. [xampp]在Crunch Bang下安装xampp1.8.3

    1.下载linux下 的xampp安装包 xampp-linux-1.8.3-5-installer.run 2.终端下, 给执行权限 sudo chmod +x ./xampp-linux-1.8. ...

  5. [crunch bang]在Crunch Bang安装和设置fcitx(小企鹅输入法)

    试来试去还是喜欢小企鹅多一些 第一步:在终端下 sudo apt−get install fcitx fcitx−sunpinyin  fcitx-ui-classic fcitx-table sud ...

  6. 【crunch bang】文件管理器-thunar

    Thunar拥有的实用功能: 缩略图查看 批量重命名 安装: $ sudo apt-get install thunar 加速thunar启动速度 sudo leafpad /usr/share/gv ...

  7. 【crunch bang】tint2配置2

    # Tint2 config file # Background definitions # ID 1 rounded = 0 border_width = 0 background_color = ...

  8. 【crunch bang】论坛tint2配置讨论贴

    地址: http://crunchbang.org/forums/viewtopic.php?id=3232

  9. 【crunch bang】增加壁纸图片文件

    将你的壁纸图片复制到 ~/images/wallpapers/shared即可.当然你得在终端用cp命令,因为这个目录是有权限到

随机推荐

  1. JS之相等操作符

    1.相等 == 和不相等 != 先转换操作数再比较相等性 在转换不同的数据类型时,相等和不相等遵循以下规则: 1.1 如果有一个操作数是布尔值,则在比较相等性前先将其转换为数值---false转换为0 ...

  2. block iOS 块

    block 是个很陌生的东西啊.以前没有学会,现在再看它,还是觉得很稀奇古怪. 无奈,之后硬着头皮学了.. //有参返回值 格式: 返回值类型 (^变量名)(参数类型及个数) = ^(形参列表){ 代 ...

  3. Fiddler-005-获取 Cookie 信息

    随着网络安全(例如:登录安全等)要求的不断提升,越来越多的登录应用在登录时添加了验证码登录,而验证码生成算法也在不断的进化,因而对含登录态的自动化测试脚本运行造成了一定程度的困扰,目前解决此种问题的方 ...

  4. C++经典编程题#1:含k个3的数

    总时间限制:  1000ms 内存限制:  65536kB 描述 输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除, ...

  5. Objective-C的对象模型

    Objective-C是一门面向对象,并且在C的基础上加入了Smalltalk式的消息机制而形成的编程语言,它主要被苹果公司用于开发Mac OS X和iOS操作系统.既然Objective-C是面向对 ...

  6. iOS:iOS开发非常全的三方库、插件等等

    iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...

  7. C++学了这么多年,你也许不知道为什么类定义要放在.h文件,类实现放在cpp文件。它们如何关联?

    原文  http://blog.csdn.net/ithzhang/article/details/8119286 主题 C++  C++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类 ...

  8. SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二)

    SSH原理与运用(一)和(二):远程登录  RSA算法原理(一)和(二) http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html ht ...

  9. Android 在Windows上安装FFmpeg程序

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库libavcodec. 该程序 ...

  10. Siri开源了,33%的开发者持疑虑态度,你呢?

    33%的中国开发者对Siri 开放持疑虑态度? 目前来说在iOS 10中,Siri API仅仅支持六类应用程序:打车,通讯,照片搜索,支付,网络电话和锻炼.另外还有一个面向汽车制造商的特殊使用案例,让 ...