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

1 安装必要的字体包

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

2 修改字体配置文件

在 Ubuntu Precise 之前,中文默认的字体配置效果已经非常好了。但到了 Precise 的时候,韩国新推出了几个免费韩文字体。当然了,免费字体这东西,本来就是多多宜善,但问题就在于,韩国人做的韩文字体里不仅仅有韩文,还包含了中文。而这些字体里的中文部分,不客气地说,实在是丑得可以。而韩国人把这个字体设置成 Ubuntu 里的中文默认字体,这就太让人难以接受了。

为了让中文显示效果更让人可以接受一些,滇狐决定完全屏蔽那几个韩文字体。反正滇狐不懂韩语,因此少了几个韩文字体,对正常生活影响不大了。大家可以参考以下滇狐自己的字体配置文件。将以下内容写到存放到你的家目录下,命名为 .fonts.conf,就可以了。

<?xml version='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>Droid Serif</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>Droid Sans</family>
   <family>Droid Sans Fallback</family>
   <family>WenQuanYi Micro Hei</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>Droid Sans Mono</family>
   <family>Droid Sans Fallback</family>
   <family>WenQuanYi Micro Hei Mono</family>
   <family>WenQuanYi Zen Hei Mono</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 -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>serif</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Serif</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>sans-serif</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Sans</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>monospace</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Sans Mono</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>monospace</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>DejaVu Sans Mono</string>
  </edit>
 </match>
 <!-- Disable ugly Nanum fonts -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>NanumGothic</string>
   <string>NanumGothicCoding</string>
   <string>NanumMyeongjo</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>Droid Sans Fallback</string>
  </edit>
 </match>
 <!-- Aliases -->
 <match target="pattern">
  <test name="family" qual="any">
   <string>KaiTi</string>
   <string>SimKai</string>
   <string>楷体</string>
   <string>楷体_GB2312</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>AR PL UKai CN</string>
   <string>AR PL ZenKai Uni</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>NSimSun-18030</string>
   <string>NSimSun</string>
   <string>SimSun-18030</string>
   <string>SimSun</string>
   <string>宋体</string>
   <string>新宋体</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>AR PL UMing CN</string>
   <string>AR PL ShanHeiSun Uni</string>
  </edit>
 </match>
 <match target="pattern">
  <test name="family" qual="any">
   <string>Microsoft YaHei</string>
   <string>STHeiti</string>
   <string>SimHei</string>
   <string>微软雅黑</string>
   <string>黑体</string>
  </test>
  <edit binding="strong" mode="prepend" name="family">
   <string>Droid Sans Fallback</string>
   <string>WenQuanYi Micro Hei</string>
   <string>WenQuanYi Zen Hei</string>
  </edit>
 </match>
 <!-- Anti-alias -->
 <match target="font">
  <edit name="embeddedbitmap">
   <bool>false</bool>
  </edit>
 </match>
 <!-- End -->
 <match target="font">
  <edit mode="assign" name="rgba">
   <const>rgb</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hinting">
   <bool>true</bool>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="hintstyle">
   <const>hintfull</const>
  </edit>
 </match>
 <match target="font">
  <edit mode="assign" name="antialias">
   <bool>true</bool>
  </edit>
 </match>
 <dir>~/.fonts</dir>
</fontconfig>

3 修复 LibreOffice 中文方块问题

如果你在安装系统的时候选择系统默认语言不是中文,安装了 Droid 系列字体的话,系统界面字体又是 Sans-serif 字体族的话,你很有可能遇到打开 LibreOffice 之后看到所有的菜单都是方块的问题。解决这个问题有很多方法,你可以到 /etc/fonts/conf.d/ 下删除 65-droid-sansj-fonts.conf,也可以在那个目录里创建两个符号链接,分别指向 ../conf.avail/69-language-selector-zh-cn.conf 和 ../conf.avail/69-language-selector-zh-cn.conf,或者如果不想修改系统配置文件,而想 per-user 修改的话,还可以在自己家目录的 ~/.fonts.conf.d/ 里链接那两个文件。

4 修改桌面环境字体设置

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

4.1 KDE 下的字体配置

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

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

4.2 GNOME 下的字体配置

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

4.2.1 GNOME 字体

在低版本的 GNOME 下,配置字体可以通过 gnome-appearance-properties 进行,运行该配置工具,将所有字体均设成“DejaVu Sans”,等宽字体设为“DejaVu 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

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

4.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,内容如下:

gtk-xft-hinting = 
gtk-xft-hintstyle = 
gtk-cursor-theme-name = "oxy-black"

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

4.3 其它软件

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

4.3.1 QTerm

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

 
 
5
 

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

  1. 【crunch bang】中文美化

    原文连接:http://edyfox.codecarver.org/html/debian_testing_chinese.html 中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做 ...

  2. Windows下的字体美化

    转自HJK的博客 许多人钟情于Mac很大一部分是因为Mac优雅的字体渲染,Windows原生的效果很难做得到,即便是开启了CleartType效果也不尽如人意.不论是微软本身的审美原因还是历史包袱,与 ...

  3. Ubuntu 所需要的中文字体美化操作步骤

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

  4. CentOS7.5字体美化

    背景知识 有衬线 (Serif) 无衬线 (Sans Serif) 和等宽 (Monospace) 字型 1 有衬线 (Serif) 字型是比较正式的字体,比划粗细不一,在笔划的边缘有装饰部分(我的理 ...

  5. Linux字体美化实战(Fontconfig配置)(转)

    原文地址:http://www.jinbuguo.com/gui/linux_fontconfig.html 本文的主题是Linux环境下的字体美化,但是首先得要有字体,然后才能谈美化.所以第一件事就 ...

  6. Ubuntu 14.04 64位字体美化(使用黑文泉驿)

    Ubuntu 14.04安装和升级后,,斜体字体变得很难看,昨天,我得到一个晚上,最终,管理一个线索,这里整洁. 在线调研后,.一致的观点是,,使用开源字体库文泉驿理想的黑色字体效果,效果甚至没有丢失 ...

  7. [CrunchBang]中文字体美化

    安装必要的字体包 sudo apt-get install ttf-droid ttf-wqy-zenhei xfonts-wqy ttf-wqy-microhei ttf-arphic-ukai t ...

  8. 【crunch bang】程序中文化

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

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

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

随机推荐

  1. ArcGIS API for JavaScript 4.0(一)

    原文:ArcGIS API for JavaScript 4.0(一) 最近ArcGIS推出了ArcGIS API for JavaScript 4.0,支持无插件3D显示,而且比较Unity和Sky ...

  2. NAT123 解决80端口被封的问题

    使用的服务器不知什么原因80端口无法使用了,好像是被封了,用的移动的固定IP,移动线路一直是不稳定 关键是移动的回答竟然是找不到哪里封的 是不是被屏蔽了,无奈使用了NAT123做处理.试了下还是管用. ...

  3. Fiddler-008-简单模拟性能测试

    通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,直接讲述如何使用,敬请参阅! 首先我们要获取需要并发的 HTTP请求,此操作非常简单,则在此不再赘述.获取到响应的 HTTP请 ...

  4. 【转】为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?

    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment? 转自:http://www.apkbus.com/android- ...

  5. qt 屏幕旋转

    qt屏幕旋转的方法 参考链接 http://mikenoodle.blog.163.com/blog/static/11333522010102754154616/ http://blog.csdn. ...

  6. 使用oracle外部表进行数据泵卸载数据

    数据泵卸载Oracle9i引入了外部表,作为向数据库中读取数据的一种方法.Oracle 10g则从另一个方向引入了这个特性,可以使用CREATE TABLE语句创建外部数据,从而由数据库卸载数据.从O ...

  7. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  8. shell 脚本文件Windows传到Linux后编码问题

    shell 脚本文件Windows传到Linux后编码问题 下面这个标红的位置出现,是由于脚本从Windows机器上直接传到linux文件格式不对导致的. cat -v a.sh help^M exi ...

  9. Shell函数的简单应用

    Shell函数的简单应用 在脚本内给函数传参: #!/bin/bash . /etc/init.d/functions CheckUrl (){ curl -I -s $ | head - } Che ...

  10. php图片处理函数自定义画图和引入图片

    <?php //创建画布,就是画画的位置 imagecreate() //为图像分配颜色 imagecolorallocate() 可以把颜色填充到区域中,不能直接填充画布? //区域填充 bo ...