2009年2月25日星期三

Hotmail 也可以用 POP3 了

今天发现,hotmail也可以用POP3和SMTP了。
POP3: pop3.live.com:995 (SSL)
SMTP: smtp.live.com:25 (SSL)

2009年2月16日星期一

Blog: Getting Portable Skype on your USB Drive in 5 Easy Steps

http://www.gruups.com/usbskype/

Getting Portable Skype on your USB Drive in 5 Easy Steps

Getting Skype a little more portable by making it work from your USB Drive can be a life-saver when you're on the road or on a vacation.

It's also good if you want to show it to a friend, or maybe want to use a version that's different than the one installed.

The trick is quick simple, and depend on two paramebers which aren't very well documented

This only works with the newest version of Skype (so download the newest version from the link below), and only on Windows (the parameters probably work with mac so you'll have to figure that part and then everything else should be the same.)
  • First...Download the NEWEST version of Skype (Older versions won't work) and install it on any computer as normal.
  • Find the Skype.exe from where it was installed.
    (Usually C:\Program Files\Skype\Phone\Skype.exe )
  • Copy the Skype.exe file to any directory on your USB Drive
  • In that new directory create a directory called "data"
  • Now create a file (with notepad) called "skype.bat"
  • Edit the "skype.bat" file and place the following line there:
    skype.exe /datapath:"Data" /removable
You're set.

Just clicking on that batch file will make skype start, it'll be different version that any skype installed on the computer you're at, and will even run if skype isn't installed on that computer.

 

That's it.
Good luck.
And Enjoy your portable apps!


2009年2月14日星期六

vim中的modeline

vim中的modeline可以在你的文件中读入一些设置,如文件类型等。如,在b.bak中的开头写入:
/* vim: set ft=c: */
则用vim打开时,就自动识别为c语言文件。
要打开这个功能,在你的.vimrc中,要有
set modeline
 
modeline有两种格式:
   (1)第一种格式:
    [text]{white}{vi:|vim:|ex:}[white]{options}
  
    [text]          随便什么文本,或者空白。
    {white}         至少一个空格或tab。
    {vi:|vim:|ex:}  后面三个字符串之一,"vi:", "vim:" 或 "ex:"。
    [white]         可有也可无的空格。
    {options}       被set的选项列表,用冒号':'分隔。

举例:
// vi:noai:sw=3 ts=6
/* vim:tabstop=8:expandtabs:shiftwidth=8 */
          
    (2)第二种格式:
    [text]{white}{vi:|vim:|ex:}[white]set {options}:[text]

    [text]          随便什么本文,或者空白。
    {white}         至少一个空格或tab。
    {vi:|vim:|ex:}  后面三个字符串之一,"vi:", "vim:" or "ex:"。
    [white]         可有也可无的空格。
    set             字符串"set " (注意set后面的那个空格不可少)。
    {options}       选项列表,用空格分开。
    :               一个冒号。
    [text]          随便什么文本,或者空白。

举例:
/* vim: set ai tw=75: */
/* vim: set shiftwidth=4 autoindent : */
       
注意:
   vi:或vim:或ex:前面的那个空格不可少,这可以最大限度地避免误判。但,
   vi:和vim:可以直接放在行首,而ex:不行。
  
modeline还可以加入版本识别,所用数字为实际版本号乘以100。如
vim600:      版本大于等于6.0
vim<600:     版本小于6.0
vim=600:     版本等于6.0
vim>;600:     版本大于6.0
       
两种格式的区别:
   对于第一种格式,一旦识别,该行剩余部分都将被使用,因此,这样的写法
   /* vi:ts=4: */
   将因为后面的*/而出错。
   而采用第二种格式就没有这个问题了,因为它将显式地以一个冒号结束。
   /* vi:set ts=4: */
  
modeline写在哪儿?
   vim只会在一个文件的前modelines行和后modelines行中寻找modeline命令
   模式,modelines的默认值是5。
  
modeline的开关是什么?
   开:set modeline
   关:set nomodeline
   事实上,set modelines=0 的效果和set nomodeline是一样的。

在用的vimrc


" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
    \| exe "normal g'\"" | endif
endif

" Uncomment the following to have Vim load indentation rules according to the
" detected filetype. Per default Debian Vim only load filetype specific
" plugins.
if has("autocmd")
  filetype indent on
endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
set showcmd        " Show (partial) command in status line.
set showmatch        " Show matching brackets.
"set ignorecase        " Do case insensitive matching
set smartcase        " Do smart case matching
set incsearch        " Incremental search
set autowrite        " Automatically save before commands like :next and :make
"set hidden             " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes) in terminals

"filetype plugin indent on
set modeline        " make /* vim:ft=c */ work
set fileencodings=utf-8,gbk,gb2312


" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif

YUM详解

YUM详解

使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题)。foo is needed by bar,bar is needed by foo。要装卸个软件,还得辛辛苦苦地梳理清楚所有依赖性问题,rpm的几个搜索站点成了时常光顾的场所,如果不幸碰到循环依赖,那就只有干瞪眼的分了。 有时加个--nodeps参数,倒是眼不见,心不烦,但这样装上的软件,你能保证正常使用吗,这样卸载软件,你能保证不影响其它软件工作吗,恐怕谁也不能 给出肯定的答案。每到这时,帽子们只有看着debian的apt暗自羡慕了。好在,这些都已经成为过去时了。基于rpm的发行版现在也有了像apt那样自 动解决依赖关系的包管理工具了。其中一个著名的就是apt4rpm,这基本上是debian系统apt的在rpm发行版的移植。但是使用Redhat和 Fedora的linuxer你们知道吗,还有一个与apt功能类似的rpm包管理系统,那就是yum。Fedora系统已经自带,Redhat也有相应 的rpm下载。与apt相比,yum的功能一点也不弱,甚至还有许多胜过apt 之处。比如说,yum是Fedora系统自带的,因此它能使用fedora官方的软件源,完成各种官方发布的各种升级。对于第三方软件源的支持,yum也 不差,大多数支持apt的repository,也能支持yum,比如说freshrpms,fedora.us,livna等等。此外yum有一个比较 详细的log,可以查看何时升级安装了什么软件包等。yum的代码较apt更为精简等。

一、YUM简介:
yum,是Yellow dog Updater, Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开 发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处 是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
如果没有安装,先我们要到下面的地址下载与自己系统相对应的版本的 yum:
http://ayo.freshrpms.net/
比如我用的是Fedora core 4.0 就下载如下的包安装:

[root@localhost beinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm
warning: freshrpms-release-1.1-1.fc.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e42d547b
Preparing... ########################################### [100%]
1:freshrpms-release ########################################### [100%]

 

二、YUM的配置文件
yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个yum系统的重中之重,所以有必要详细介绍。下面是一个从网上找来的yum.con文件,让我们以此为例,进行说明。


[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=1

[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.atrpms.net/mirrors/fedoracore/$releasever/$basearch/os
http://rpmfind.net/linux/fedora/cor...er/$basearch/os
http://mirror.clarkson.edu/pub/dist...er/$basearch/os


[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
http://redhat.linux.ee/pub/fedora/l...sever/$basearch
http://fr2.rpmfind.net/linux/fedora...sever/$basearch

[Fedora.us]
name=Fedora.us - $basearch - Extras
baseurl=http://fedora.linux.duke.edu/fedorax86_64/fedora.us/$releasever/$basearch/RPMS.stable

[Dag Wieers]
name=Dag RPM Repository for Fedora Core
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag

[Livna]
Name=Livna RPM, Fedora Core $releasever - $basearch
baseurl=http://rpm.livna.org/fedora/$releasever/$basearch/RPMS.stable

[freshrpms]
name=FreshRPMs
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms/
http://ftp.us2.freshrpms.net/linux/...arch/freshrpms/

第一部分(这是yum的全局性设置。默认一般不必改动。)
[main] 
cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。 
debuglevel:除错级别,0──10,默认是2 
logfile:yum的日志文件,默认是/var/log/yum.log。 
pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。 
distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。 
exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。 
retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。 
tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。 
除了上述之外,还有一些可以添加的选项,如 
exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。 
gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。 

第二部分:
配置repository服务器了,这是最令人激动的,有了好的repository,就如家门口开了大卖场,要什么东西稍微跑跑腿就行,对了这还是个免费的大卖场。 
所有服务器设置都应该遵循如下格式: 


[serverid] 
name=Some name for this server 
baseurl=url://path/to/repository/ 

其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。 
name,是对repository的描述,支持像$releasever $basearch这样的变量; 
baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是: 
baseurl=url://server1/path/to/repository/ 
url://server2/path/to/repository/ 
url://server3/path/to/repository/ 
其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式: 
baseurl=url://server1/path/to/repository/ 
baseurl=url://server2/path/to/repository/ 
baseurl=url://server3/path/to/repository/ 
其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。 
url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如: 


[updates-released] 
name=Fedora Core $releasever - $basearch - Released Updates 
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch 
http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch 
http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch 
gpgcheck=1 
exclude=gaim 
failovermethod=priority 

其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用, 
failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。 

几个变量 
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。 
$arch,cpu体系,如i686,athlon等 
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。 
对yum.conf设定完成,我们就可以好好体验yum带来的方便了。


对了,万事具备,只欠东风。还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。


FC3:  rpm --import /usr/share/doc/fedora-release-3/RPM-GPG-KEY-fedora

FC4:  rpm --import /usr/share/doc/fedora-release-4/RPM-GPG-KEY-fedora

至此一切准备工作都已完毕。

三、用YUM升级软件
打开终端,切换到root用户,yum的操作大都须有超级用户的权限。
首先,yum update,这一步是必须的,yum会从服务器的header目录下载rpm的header,放在本地的缓存中,这可能会花费一定的时间,但比起yum 给我们带来方便,这些时间的花费又算的了什么呢?header下载完毕,yum会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新,还是说 y吧,把系统始终up to date总是不错的,这时yum开始下载软件包并使用调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了,也没关系,再 进行一次就可以了。升级完毕,以后每天只要使用yum check-update检查一下有无跟新,如果有,就用yum update进行跟新,时刻保持系统为最新,堵住一切发现的漏洞。

用yum update packagename 对某个单独包进行升级。
yum还有一个升级指令,yum upgrade,它的初衷是更换废弃的包,但现在通常用来进行重大的升级,如把发行版整个升高一个版本,由于牵动太大,还不如安装新的系统。


1.列出所有可更新的软件清单
命令:yum check-update

2.安装所有更新软件
命令:yum update

3.仅安装指定的软件
命令:yum install <package_name>

4.仅更新指定的软件
命令:yum update <package_name>

5.列出所有可安裝的软件清单
命令:yum list

四、用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。 
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。 
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。 


1.用YUM安装软件包
命令:yum install <package_name>

2.用YUM删除软件包
命令:yum remove <package_name>

五、用YUM查询软件信息
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询 功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于 是我们可能得到gaim,kopete等等,并从中选择。 
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。 


1.使用YUM查找软件包
命令:yum search <keyword>

2.列出所有可安装的软件包
命令:yum list

3.列出所有可更新的软件包
命令:yum list updates

4.列出所有已安装的软件包
命令:yum list installed

5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras

6.列出所指定的软件包
命令:yum list <package_name>

7.使用YUM获取软件包信息
命令:yum info <package_name>

8.列出所有软件包的信息
命令:yum info

9.列出所有可更新的软件包信息
命令:yum info updates

10.列出所有已安裝的软件包信息
命令:yum info installed

11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras

12.列出软件包提供哪些文件
命令:yum provides <package_name>

六、清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一 股脑儿端 


1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 

附:

由于 Fedora 的 yum
预设的更新主机在外国,也就是 Fedora 的官方更新主机
连线到国外下载,速度之慢,可想而知....

在这里,我们可以修改 yum 的配置文件
把连线主机,改成国内各大学的 Linux 更新主机,如此速度就会比较快
------------------------
/etc/yum.conf
-----------------------

[base]
name=Fedora Core $releasever - $basearch - Base baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/

注意红色的地方,就是 yum 会去连接的更新主机网址
改成以下,可自由选择搭配
base 主机:
(大小写有差别,请先实际连接测试,看看服务器是否仍存在)


http://ftp.isu.edu.tw/pub/Linux/Fed...core/1/i386/os/
http://linux.nctu.edu.tw/ftp/dists/...core/1/i386/os/
ftp://ftp.isu.edu.tw/pub/Linux/Fedo...core/1/i386/os/
ftp://linux.nctu.edu.tw/dists/fedora/core/1/i386/os/
ftp://linux.sinica.edu.tw/fedora/linux/core/1/i386/os/

updates 主机:
(大小写有差别,请先实际测试连接,看看服务器是否仍存在)


http://ftp.isu.edu.tw/pub/Linux/Fed...updates/1/i386/
http://linux.nctu.edu.tw/ftp/dists/...updates/1/i386/
ftp://ftp.isu.edu.tw/pub/Linux/Fedo...updates/1/i386/
ftp://linux.nctu.edu.tw/dists/fedor...updates/1/i386/
ftp://linux.sinica.edu.tw/fedora/li...updates/1/i386/

路径中的 /1/ 是代表 core 1
如是使用core 2,请自行改成 /2/
改完后保存,不必重启服务,立刻生效
然后 yum 的更新速度就會飞快了

Fedora core 3 和 4 的 yum base 配置设定法:
FC3 和 FC4 的 yum base 配置设定,有别于之前 FC2
并不是在 /etc/yum.conf 中设定
设定方法如下:
cd /etc/yum.repos.d/
vi fedora.repo (设定 base 主机,仅列出需要修改处)


baseurl=http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever

vi fedora-updates.repo (设定 update 主机,仅列出需要修改处)


baseurl=http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/updates/$releasever/$basearch/
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever


说明:
1.义守大学是 Fedora 官方认可的台湾区mirror 站,所以这里设定义守大学的主机。

2.主要的Repository,大多数也提供apt支持。 


http://www.fedora.us 
http://rpm.livna.org 
http://dag.wieers.com ;#Dag的apt/yum repository 
http://freshrpms.net/ 
http://rpms.xcyb.org/ ;#k3b 
http://apt.kde-redhat.org/ ;kde-redhat 
http://atrpms.net/ ;#ATrpms 
http://dries.studentenweb.org/ayo/index.html ;#Dries APT/YUM RPM Repository 
http://newrpms.sunsite.dk/ ;#NewRPMS 
http://www.fedoralegacy.org ;#Redhat和Fedora遗产项目支持,Core 1也已经进入遗产了,汗。

注意多个repository共存可能带来的冲突。

两篇Linux下字体美化文章

因为我不喜欢用圆体、雅黑之类的,看久了太累,所以只介绍怎么把字体设置得跟windows一样。

中文支持,如果在安装Ubuntu的时 候能上网,那么非常简单,直接选中文为缺省语言就都OK了,如果不能上网,则要在安装完重启后在系统管理/语言支持中再选中中文,进行安装(假设这时的网 络已经连通,这时会安装SCIM输入法),如果不喜欢ubuntu的某些软件的中文翻译,可以在usr/share/locale-langpack下手 动删除特定的翻译文件。
点阵字体,Windows的字体要比Linux下的字体好看,也比文泉驿的字体好看,安装Windows字体并美化的方法如下:
将 Windows下(在winnt/Fonts目录下)的simsun.ttc tahoma.ttf verdana.ttf verdanab.ttf verdanaz.ttf tahomabd.ttf verdanai.ttf拷贝到/usr/share/fonts/zh_CN,如果你的windows在hda1,那么可以用下面的命令:
cd /media/hda1/windows/fonts/
sudo cp simsun.ttc tahoma.ttf verdana.ttf verdanab.ttf verdanaz.ttf tahomabd.ttf verdanai.ttf /usr/share/fonts/zh_CN/
安装字体到系统中
cd /usr/share/fonts/zh_CN
sudo mkfontscale
sudo mkfontdir
sudo fc-cache
sudo chmod 755 * (或者644也行)
通过替换/etc/fonts/language-selector.conf来配置字体,只有这么配置后,才能达到美化的效果,不要更改/etc/fonts/fonts.conf。把下面的内容覆盖原language-selector.conf的内容。
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>SimSun</family>
<family>DejaVu Serif</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>SimSun</family>
<family>DejaVu Sans</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>DejaVu Sans Mono</family>
<family>SimSun</family>
</prefer>
</alias>
<match target="font" >
<test compare="contains" >
<string>Song</string>
<string>Sun</string>
<string>Kai</string>
<string>Ming</string>
</test>
<test compare="more_eq" target="pattern" >
<int>180</int>
</test>
<edit mode="assign" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<test compare="contains" >
<string>Song</string>
<string>Sun</string>
<string>Kai</string>
<string>Ming</string>
</test>
<edit >
<bool>false</bool>
</edit>
<edit >
<int>0</int>
</edit>
<edit >
<bool>true</bool>
</edit>
<edit >
<bool>false</bool>
</edit>
<edit mode="assign">
<bool>true</bool>
</edit>
<test compare="less_eq">
<int>18</int>
</test>
<edit mode="assign" >
<bool>false</bool>
</edit>
</match>
<match target="pattern">
<test >
<string>SimSun</string>
<string>SimSun-18030</string>
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL New Sung</string>
<string>MingLiU</string>
<string>PMingLiU</string>
</test>
<edit binding="strong" mode="prepend" >
<string>Tahoma</string>
<string>Verdana</string>
</edit>
</match>
<match target="pattern">
<test ><string>宋体</string></test>
<edit mode="assign"><string>SimSun</string></edit>
</match>
<match target="pattern">
<test ><string>新宋体</string></test>
<edit mode="assign"><string>SimSun</string></edit>
</match>
<match target="pattern">
<test ><string>仿宋_GB2312</string></test>
<edit mode="assign"><string>FangSong_GB2312</string></edit>
</match>
<match target="pattern">
<test ><string>楷体_GB2312</string></test>
<edit mode="assign"><string>KaiTi_GB2312</string></edit>
</match>
<match target="pattern">
<test ><string>黑体</string></test>
<edit mode="assign"><string>SimHei</string></edit>
</match>

</fontconfig>
现在可以设置GNOME的字体了,应用程序字体、文档字体、桌面字体均设为Tohoma,大小9;窗口标题字体设置为Tohoma Bold,大小9;等宽字体设为Dejavu sans mono book,大小10。字体渲染选单色

终端字体可以在终端的选项中单独设置,设置为NSimSun并适当设置大小效果比较好

同样,你也可以在firefox中设置字体。
原帖地址:
http://www.phyz.net/pukiwiki/index.php?Ubuntu%E5%AE%89%E8%A3%85%E4%B8%8E%E8%AE%BE%E7%BD%AE
另外还可参考:
http://forum.ubuntu.org.cn/about6623.html
http://forum.ubuntu.org.cn/about19325.html
http://forum.ubuntu.org.cn/about6623.html

喜欢雅黑的可参考:
http://forum.ubuntu.org.cn/about32339.html

使用windows字体美化Linux (普遍适用,以opensuse 10.3为例)
by ncforest
http://ncforest.blog.163.com
suse10.3用了方正字体,已经比较漂亮了。但是如果习惯了windows字体,可以用下面的方法:
1、把windows字体拷过去
sudo mkdir /usr/share/fonts/winfont
然后把下列字体拷进去
Arial
Arial Black
Arial Bold
Arial Itailc
Arial Bold Italic

Verdana
Verdana Bold
Verdana Italic
Verdana Bold Italic

Tahoma
Tahoma Bold

SimSun
SimHei
MingLIU

然后,新建文件local.conf ,并拷入/etc/fonts/,内容如下:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file to configure local fonts -->
<!-- author:kemean on 2007/02/23-->
<!--
    说明,这一套设置在GNome桌面和Firefox及其它GTK程序上都表现的很好,KDE中也还差不多,但Konqueror好像有自己的
    字体匹配技术,不太遵循fontconfig,所以在KDE中建议用Firefox浏览网页,这样的话GNome+KDE的中文环境都非常好了
-->
<fontconfig>

<!--
    注意:
    可能是因为优先顺序的调整,fcitx和mrxvt及fvwm的中文显示出了点问题,这里采用在Serif中添加文泉驿字体来解决

    1)Serif字体族中只有一个中文字体,WenQuanYi Bitmap Song
    2)修改~/.fcitx/config,设置中文字体为Serif,英文字体为Sans-Serif,匹配结果是:
    中文:WenQuanYi Bitmap Song;英文:Tahoma
    3)修改~/.mrxvt ,设置xftmFont(中文字体)为Serif,英文字体为Courier New,匹配结果是:
    中文:WenQuanYi Bitmap Song;英文:Courier New
    3)修改FVWM字体设置 ,设置xft字体为为Serif,匹配结果是:
    中文:WenQuanYi Bitmap Song;英文:WenQuanYi Bitmap Song
    设置方法:
    Menustyle * Font "StringEncoding=gbk-0:xft:Serif:size=10:encoding=iso10646-1"

    即,Serif做为patch 字体来用,中文以WenQuanYi Bitmap Song来解决。

-->

<!--
    直接拷在/usr/X11R6/etc/fonts/目录,不用修改fonts.conf


    注:Gnome字体设置对话框中的单位是pt,注意pt跟px之间的转换关系
    pt*dpi/inch=px    inch为72
    如:
    ?pt * 96 / 72 = ?px

    第一部分,字体优先设置和替换
-->
<!--
    字体别名设置,主要设置SimSun和NSimSun,设置之后后面的SimSun和
    NSimSun英文替换只用针对英文别名写,中文别名可以不写了。
-->
    <match target="pattern">
        <test name="family">
            <string>宋体</string>
        </test>
        <edit name="family" mode="assign">
            <string>SimSun</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="family">
            <string>新宋体</string>
        </test>
        <edit name="family" mode="assign">
            <string>NSimSun</string>
        </edit>
    </match>


<!--
    Sans-serif 字体族
-->
    <alias>
        <family>Tahoma</family>
        <family>Verdana</family>
        <family>Arial</family>
        <family>Trebuchet MS</family>
        <family>Comic Sans MS</family>
        <family>SimSun</family>
        <family>SimHei</family>
        <family>FangSong_GB2312</family>
        <family>KaiTi_GB2312</family>
        <family>YouYuan</family>
        <family>LiSu</family>
        <family>STSong</family>
        <family>STZhongsong</family>
        <family>STXihei</family>
        <family>STFangsong</family>
        <family>STKaiti</family>
        <family>STXingkai</family>
        <family>STLiti</family>
        <family>STCaiyun</family>
        <family>STHupo</family>
        <family>STXinwei</family>
        <family>FZYaoTi</family>
        <family>FZShuTi</family>
        <family>Arial Unicode MS</family>
        <default><family>sans-serif</family></default>
    </alias>
<!--
    Serif 字体族
-->
    <alias>
        <family>Georgia</family>
        <family>Times New Roman</family>
        <family>WenQuanYi Bitmap Song</family>
        <default><family>serif</family></default>
    </alias>
<!--
    Monospace 字体族
-->
    <alias>
        <family>Courier New</family>
        <family>Andale Mono</family>
        <family>NSimSun</family>
        <default><family>monospace</family></default>
    </alias>


<!--
    把3个Adobe字体用MS中相对应的字体替换
-->
    <alias>
        <family>Times</family>
        <prefer>
            <family>Times New Roman</family>
        </prefer>
        <default><family>serif</family></default>
    </alias>
    <alias>
        <family>Helvetica</family>
        <prefer>
            <family>Arial</family>
        </prefer>
        <default><family>sans-serif</family></default>
    </alias>
    <alias>
        <family>Courier</family>
        <prefer>
            <family>Courier New</family>
        </prefer>
        <default><family>monospace</family></default>
    </alias>


<!--
    字体优先设置,越靠前越优先匹配
-->
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Tahoma</family>
            <family>Verdana</family>
            <family>Arial</family>
            <family>Trebuchet MS</family>
            <family>Comic Sans MS</family>
            <family>SimSun</family>
            <family>SimHei</family>
            <family>FangSong_GB2312</family>
            <family>KaiTi_GB2312</family>
            <family>YouYuan</family>
            <family>LiSu</family>
            <family>STSong</family>
            <family>STZhongsong</family>
            <family>STXihei</family>
            <family>STFangsong</family>
            <family>STKaiti</family>
            <family>STXingkai</family>
            <family>STLiti</family>
            <family>STCaiyun</family>
            <family>STHupo</family>
            <family>STXinwei</family>
            <family>FZYaoTi</family>
            <family>FZShuTi</family>
            <family>Arial Unicode MS</family>
        </prefer>
    </alias>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Georgia</family>
            <family>Times New Roman</family>
            <family>WenQuanYi Bitmap Song</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Courier New</family>
            <family>Andale Mono</family>
            <family>NSimSun</family>
        </prefer>
    </alias>


<!--
    SimSun字体,英文部分用Tahoma替换,解决粗体英文破粹问题
    "宋体"不用再做设置,前面已用别名解决
-->
    <match target="pattern">
        <test name="family" >
            <string>SimSun</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Tahoma</string>
        </edit>
    </match>
<!--
    这里可以删除
    <match target="pattern">
        <test name="family" >
            <string>宋体</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Tahoma</string>
        </edit>
    </match>
-->


<!--
    NSimSun字体,英文部分用Courier New替换,解决粗体英文破粹问题,这样
    在firefox中查看源码时不会出现英文破粹
    "新宋体"不用再做设置,前面已用别名解决
-->
    <match target="pattern">
        <test name="family" >
            <string>NSimSun</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Courier New</string>
        </edit>
    </match>


<!--
    Courier 字体替换成 Courier New
-->
    <match target="pattern">
        <test name="family" >
            <string>Courier</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Courier</string>
        </edit>
    </match>


<!--
    针对Tahoma,Verdana字体,大号粗体显示太粗,
    这里我替换成Arial,临界值为20px(96 dpi 下15pt)
    15*96/72=20,注意下面的单位是像素pixelsize,可以
    测试后再换成其它值
-->
<!--
    <match target="pattern">
        <test name="family" >
            <string>Tahoma</string>
            <string>Verdana</string>
        </test>
        <test name="weight" compare="more_eq">
            <int>180</int>
        </test>
        <test name="pixelsize" compare="more_eq" >
            <double>20</double>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>Arial</string>
        </edit>
    </match>
-->





<!--
    第二部分
    全局设置和调整,包括AA,HINT等
-->
<!--
    设置DPI,请设置成xdpyinfo | grep dot看到的DPI,也可以不设置。
-->
<!--
    <match target="pattern" >
        <edit name="dpi" mode="assign" >
            <double>96</double>
        </edit>
    </match>
-->


<!--
    子像素渲染设置,据需要而定,我的LCD就没开,设置为NONE,如果看到字体
    颜色有问题(如泛蓝,泛绿色等),请设置成rgb或其它值,具体参考man fonts-conf
-->
    <match target="font">
        <edit name="rgba" mode="assign">
            <const>none</const>
        </edit>
    </match>


<!--
    设置最小字体,所有字体都如此,英文优先是Tahoma 8pt
-->
    <match target="font" >
        <test name="pixelsize" compare="more_eq" >
            <double>8</double>
        </test>
        <test name="pixelsize" compare="less_eq" >
            <double>11</double>
        </test>
        <edit name="pixelsize" mode="assign" >
            <double>11</double>
        </edit>
    </match>


<!--
    设置CJK最小字体,主要体现为SimSun ,和上面的综合起来就是
    Tahoma 11px,SimSun 12px
    对应96 dpi 下的就是 8pt , 9pt
    具体临界值自己可以调整
-->
    <match target="font" >
        <test name="lang" compare="contains" >
            <string>zh</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <test name="pixelsize" compare="more_eq" >
            <double>8</double>
        </test>
        <test name="pixelsize" compare="less_eq" >
            <double>12</double>
        </test>
        <edit name="pixelsize" mode="assign" >
            <double>12</double>
        </edit>
    </match>


<!--
    支持伪斜体,从fonts.conf中粗过来的。
-->
    <match target="font">
        <!-- check to see if the font is roman -->
        <test name="slant">
            <const>roman</const>
        </test>
        <!-- check to see if the pattern requested non-roman -->
        <test target="pattern" name="slant" compare="not_eq">
            <const>roman</const>
        </test>
        <!-- multiply the matrix to slant the font -->
        <edit name="matrix" mode="assign">
            <times>
                <name>matrix</name>
                <matrix>
                    <double>1</double><double>0.2</double>
                    <double>0</double><double>1</double>
                </matrix>
            </times>
        </edit>
        <!-- pretend the font is oblique now -->
        <edit name="slant" mode="assign">
            <const>oblique</const>
        </edit>
    </match>


<!--
    支持伪粗体,从fonts.conf中粘过来的
-->
    <match target="font">
        <!-- check to see if the font is just regular -->
        <test name="weight" compare="less_eq">
            <int>100</int>
        </test>
        <!-- check to see if the pattern requests bold -->
        <test target="pattern" name="weight" compare="more_eq">
            <int>180</int>
        </test>
        <!-- set the embolden flag -->
        <edit name="embolden" mode="assign">
            <bool>true</bool>
        </edit>
    </match>


<!--
    默认AA设置
    针对自由字体,打开AA,AutoHint,关掉Hinting,样式为hintfull
    MS和CJK字体,下面专门调整
-->
    <match target="font" >
        <edit name="antialias" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="hintstyle" mode="assign" >
            <const>hintfull</const>
        </edit>
    </match>


<!--
    解决中英文间距过大的问题
-->
    <match target="font">
        <test name="lang" compare="contains" >
            <string>zh</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <edit name="spacing" mode="assign" >
            <const>proportional</const>
        </edit>
        <edit name="globaladvance" mode="assign" >
            <bool>false</bool>
        </edit>
    </match>


<!--
    CJK字体AA设置,小于20px(96dpi 上是15pt)时不开AA
-->
    <match target="font" >
        <test name="lang" compare="contains" >
            <string>zh</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <test name="pixelsize" compare="more_eq" >
            <double>8</double>
        </test>
        <test name="pixelsize" compare="less_eq" >
            <double>20</double>
        </test>
        <edit name="antialias" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>false</bool>
        </edit>
    </match>


<!--
    CJK字体AA设置,大于20px(96dpi 上是15pt)时开AA,AutoHint,Hinting
    采用hintfull,
    在我机器上autohint和hinting都开效果比较好,可以自己调整,一般两者只开一个,
    具体视情况而定
-->
    <match target="font" >
        <test name="lang" compare="contains" >
            <string>zh</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <test name="pixelsize" compare="more_eq" >
            <double>20</double>
        </test>
        <edit name="antialias" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>true</bool>
        </edit>
    </match>


<!--
    如果是斜体CJK字体,打开AA,不喜欢可以把这一段删除掉或全部改成false
-->
    <match target="font">
        <test name="lang" compare="contains" >
            <string>zh</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <test name="slant" compare="not_eq">
            <const>roman</const>
        </test>
        <edit name="antialias" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>true</bool>
        </edit>
    </match>


<!--
    微软字体设置
-->
<!--
    默认,打开AA和hint,不喜欢,可以全部改成false
-->
    <match target="font" >
        <test name="foundry" >
            <string>monotype</string>
            <string>microsoft</string>
        </test>
        <edit name="antialias" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign" >
            <const>hintfull</const>
        </edit>
    </match>



<!--
    如果是Courier New,打开AA,AutoHint,Hinting,不喜欢可以全部改成false
-->
    <match target="font" >
        <test name="family" >
            <string>Courier</string>
            <string>Courier New</string>
        </test>
        <edit name="antialias" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="autohint" mode="assign" >
            <bool>false</bool>
        </edit>
        <edit name="hinting" mode="assign" >
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign" >
            <const>hintfull</const>
        </edit>
    </match>


<!--
    Courier New 字体大小设置
    这里设置最小为14.7px(96 dpi 上是11pt),可以依情况而定
-->
    <match target="font" >
        <test name="family" >
            <string>Courier New</string>
        </test>
        <test name="pixelsize" compare="less_eq" >
            <double>12</double>
        </test>
        <edit name="pixelsize" mode="assign" >
            <double>12</double>
        </edit>
    </match>



</fontconfig>

最后,sudo
fc-cache -fv
,然后字体设置中选择tahoma 9,firefox中也这样设就差不多了。

下面是使用微软雅黑的配置文件(Vista效果):

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file to configure local fonts -->
<!-- author:kemean on 2007/02/23-->

<fontconfig>


<!--
   Part 1:
   fonts prefer and substitution
-->
<!--
   fonts alias settings
-->
   <match target="pattern">
      <test name="family">
         <string>宋体</string>
      </test>
      <edit name="family" mode="assign">
         <string>SimSun</string>
      </edit>
   </match>
   <match target="pattern">
      <test name="family">
         <string>新宋体</string>
      </test>
      <edit name="family" mode="assign">
         <string>NSimSun</string>
      </edit>
   </match>
   <match target="pattern">
      <test name="family">
         <string>微软雅黑</string>
      </test>
      <edit name="family" mode="assign">
         <string>Microsoft Yahei</string>
      </edit>
   </match>
   <match target="pattern">
      <test name="family">
         <string>微软正黑体</string>
      </test>
      <edit name="family" mode="assign">
         <string>Microsoft JhengHei</string>
      </edit>
   </match>


<!--
   Mark common families with their generics so we'll get
   something reasonable
-->
<!--
   Sans-serif faces
-->
   <alias>
      <family>Tahoma</family>
      <family>Verdana</family>
      <family>Arial</family>
      <family>Trebuchet MS</family>
      <family>Comic Sans MS</family>
      <family>Microsoft YaHei</family>
      <family>SimSun</family>
      <family>SimHei</family>
      <family>FangSong_GB2312</family>
      <family>KaiTi_GB2312</family>
      <family>YouYuan</family>
      <family>LiSu</family>
      <family>STSong</family>
      <family>STZhongsong</family>
      <family>STXihei</family>
      <family>STFangsong</family>
      <family>STKaiti</family>
      <family>STXingkai</family>
      <family>STLiti</family>
      <family>STCaiyun</family>
      <family>STHupo</family>
      <family>STXinwei</family>
      <family>FZYaoTi</family>
      <family>FZShuTi</family>
      <family>Microsoft JhengHei</family>
      <family>Arial Unicode MS</family>
      <default><family>sans-serif</family></default>
   </alias>
<!--
   Serif faces
-->
   <alias>
      <family>Georgia</family>
      <family>Times New Roman</family>
      <family>YaHeiConsolas</family>
      <default><family>serif</family></default>
   </alias>
<!--
   Monospace faces
-->
   <alias>
      <family>Courier New</family>
      <family>Andale Mono</family>
      <family>Microsoft YaHei</family>
      <family>NSimSun</family>
      <default><family>monospace</family></default>
   </alias>


<!--
   Alias well known font names to MS TrueType fonts.
   These substitution TrueType faces for similar Type1
   faces to improve screen appearance.
-->
   <alias>
      <family>Times</family>
      <prefer>
         <family>Times New Roman</family>
      </prefer>
      <default><family>serif</family></default>
   </alias>
   <alias>
      <family>Helvetica</family>
      <prefer>
         <family>Arial</family>
      </prefer>
      <default><family>sans-serif</family></default>
   </alias>
   <alias>
      <family>Courier</family>
      <prefer>
         <family>Courier New</family>
      </prefer>
      <default><family>monospace</family></default>
   </alias>


<!--
   Provide required aliases for standard names
-->
   <alias>
      <family>sans-serif</family>
      <prefer>
         <family>Tahoma</family>
         <family>Verdana</family>
         <family>Arial</family>
         <family>Trebuchet MS</family>
         <family>Comic Sans MS</family>
         <family>Microsoft YaHei</family>
         <family>SimSun</family>
         <family>SimHei</family>
         <family>FangSong_GB2312</family>
         <family>KaiTi_GB2312</family>
         <family>YouYuan</family>
         <family>LiSu</family>
         <family>STSong</family>
         <family>STZhongsong</family>
         <family>STXihei</family>
         <family>STFangsong</family>
         <family>STKaiti</family>
         <family>STXingkai</family>
         <family>STLiti</family>
         <family>STCaiyun</family>
         <family>STHupo</family>
         <family>STXinwei</family>
         <family>FZYaoTi</family>
         <family>FZShuTi</family>
         <family>Microsoft JhengHei</family>
         <family>Arial Unicode MS</family>
      </prefer>
   </alias>
   <alias>
      <family>serif</family>
      <prefer>
         <family>Georgia</family>
         <family>Times New Roman</family>
         <family>YaHeiConsolas</family>
      </prefer>
   </alias>
   <alias>
      <family>monospace</family>
      <prefer>
         <family>Courier New</family>
         <family>Andale Mono</family>
         <family>Microsoft YaHei</family>
         <family>NSimSun</family>
      </prefer>
   </alias>


<!--
   SimSun english portion substitutionsubstitution
-->
   <match target="pattern">
      <test name="family" >
         <string>SimSun</string>
      </test>
      <edit name="family" mode="assign">
         <string>Microsoft YaHei</string>
      </edit>
      <edit name="family" mode="prepend" binding="strong">
         <string>Tahoma</string>
      </edit>
   </match>


<!--
   NSimSun english portion substitutionsubstitution
-->
   <match target="pattern">
      <test name="family" >
         <string>NSimSun</string>
      </test>
      <edit name="family" mode="assign">
         <string>Microsoft YaHei</string>
      </edit>
      <edit name="family" mode="prepend" binding="strong">
         <string>Courier New</string>
      </edit>
   </match>



<!--
   Courier substitution
-->
   <match target="pattern">
      <test name="family" >
         <string>Courier</string>
      </test>
      <edit name="family" mode="prepend" binding="strong">
         <string>Courier New</string>
      </edit>
   </match>


<!--
   Bold Tahoma/Verdana substitution:
   when its size more than 20px,substitution with Bold Arial
-->
   <match target="pattern">
      <test name="family" >
         <string>Tahoma</string>
         <string>Verdana</string>
      </test>
      <test name="weight" compare="more_eq">
         <int>180</int>
      </test>
      <test name="pixelsize" compare="more_eq" >
         <double>20</double>
      </test>
      <edit name="family" mode="prepend" binding="strong">
         <string>Arial</string>
      </edit>
   </match>





<!--
   Part 2:
   global settings and modify
-->
<!--
   Target dots per inch, change dpi to 96
-->
   <match target="pattern" >
      <edit name="dpi" mode="assign" >
         <double>96</double>
      </edit>
   </match>


<!--
   Enable sub-pixel rendering.
   If you are using CRT, set rgb -> none
-->
   <match target="font" >
      <edit name="rgba" mode="assign">
         <const>rgb</const>
      </edit>
   </match>


<!--
   Font size settings:
   set the apposite font size,so it's easy to be read
-->
   <match target="pattern" >
      <test name="pixelsize" compare="more_eq" >
         <double>8</double>
      </test>
      <test name="pixelsize" compare="less_eq" >
         <double>12</double>
      </test>
      <edit name="pixelsize" mode="assign" >
         <double>12</double>
      </edit>
   </match>


<!--
   Artificial oblique for fonts without an italic or oblique version
-->
   <match target="font" >
      <!-- check to see if the font is roman -->
      <test name="slant">
         <const>roman</const>
      </test>
      <!-- check to see if the pattern requested non-roman -->
      <test target="pattern" name="slant" compare="not_eq">
         <const>roman</const>
      </test>
      <!-- multiply the matrix to slant the font -->
      <edit name="matrix" mode="assign">
         <times>
            <name>matrix</name>
            <matrix>
               <double>1</double><double>0.2</double>
               <double>0</double><double>1</double>
            </matrix>
         </times>
      </edit>
      <!-- pretend the font is oblique now -->
      <edit name="slant" mode="assign">
         <const>oblique</const>
      </edit>
   </match>


<!--
   Synthetic emboldening for fonts that do not have bold face available
-->
   <match target="font" >
      <!-- check to see if the font is just regular -->
      <test name="weight" compare="less_eq">
         <int>100</int>
      </test>
      <!-- check to see if the pattern requests bold -->
      <test target="pattern" name="weight" compare="more_eq">
         <int>180</int>
      </test>
      <!-- set the embolden flag -->
      <edit name="embolden" mode="assign">
         <bool>true</bool>
      </edit>
   </match>


<!--
   Default Fonts setting
   here autohint = ture / hinting = false is for free fonts in your system
   we will use autohint = false / hinting = true for MS core fonts
-->
   <match target="font" >
      <edit name="antialias" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>false</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintfull</const>
      </edit>
   </match>


<!--
   The dual-width Asian fonts (spacing=dual) are not rendered correctly,
   apparently FreeType forces all widths to match. Trying to disable the
   width forcing code by setting globaladvance=false alone doesn't  help.
   As a brute force workaround, also set spacing=proportional, i.e. handle
   them as proportional fonts:
-->
   <match target="font" >
      <test name="lang" compare="contains" >
         <string>zh</string>
         <string>ja</string>
         <string>ko</string>
      </test>
      <edit name="spacing" mode="assign" >
         <const>proportional</const>
      </edit>
      <edit name="globaladvance" mode="assign" >
         <bool>false</bool>
      </edit>
   </match>


<!--
   CJK antialias settings:
   when font size (in pixel) between 8 and 20px
-->
   <match target="font" >
      <test name="lang" compare="contains" >
         <string>zh</string>
         <string>ja</string>
         <string>ko</string>
      </test>
      <test name="pixelsize" compare="more_eq" >
         <double>8</double>
      </test>
      <test name="pixelsize" compare="less_eq" >
         <double>20</double>
      </test>
      <edit name="antialias" mode="assign" >
         <bool>false</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>false</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>false</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintnone</const>
      </edit>
   </match>


<!--
   CJK antialias settings:
   when font size (in pixel) more than 20px, enable AA.
-->
   <match target="font" >
      <test name="lang" compare="contains" >
         <string>zh</string>
         <string>ja</string>
         <string>ko</string>
      </test>
      <test name="pixelsize" compare="more_eq" >
         <double>20</double>
      </test>
      <edit name="antialias" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintfull</const>
      </edit>
   </match>


<!--
   Italic CJK fonts,enable AA
-->
   <match target="font" >
      <test name="lang" compare="contains" >
         <string>zh</string>
         <string>ja</string>
         <string>ko</string>
      </test>
      <test name="slant" compare="not_eq">
         <const>roman</const>
      </test>
      <edit name="antialias" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintfull</const>
      </edit>
   </match>


<!--
   Microsoft fonts settings
-->
<!--
   default : smoothed and hinted
-->
   <match target="font" >
      <test name="foundry" compare="contains" >
         <string>monotype</string>
         <string>microsoft</string>
      </test>
      <edit name="antialias" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>false</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintfull</const>
      </edit>
   </match>


<!--
   Courier New:
   both enable autohint and hinting looks very well.
-->
   <match target="font" >
      <test name="family" compare="contains" >
         <string>Courier</string>
         <string>Courier New</string>
      </test>
      <edit name="antialias" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hinting" mode="assign" >
         <bool>true</bool>
      </edit>
      <edit name="hintstyle" mode="assign" >
         <const>hintfull</const>
      </edit>
   </match>


<!--
   Courier New font size
-->
   <match target="font" >
      <test name="family" compare="eq" >
         <string>Courier New</string>
      </test>
      <test name="pixelsize" compare="less_eq" >
         <double>14.7</double>
      </test>
      <edit name="pixelsize" mode="assign" >
         <double>14.7</double>
      </edit>
   </match>


<!--
   Comic Sans MS font size
-->
<!--
   <match target="font" >
      <test name="family" compare="eq" >
         <string>Comic Sans MS</string>
      </test>
      <test name="pixelsize" compare="less_eq" >
         <double>14.7</double>
      </test>
      <edit name="pixelsize" mode="assign" >
         <double>14.7</double>
      </edit>
   </match>
-->

<!--
   <alias>
      <family>Comic Sans MS</family>
      <accept>
         <family>Microsoft YaHei</family>
      </accept>
   </alias>
-->

</fontconfig>

Linux下字体美化中的字体优先级设置

http://ncforest.blog.163.com/blog/static/2956266420086191610684/
下面是从网上摘抄的:
Xft 是一个library,它没有自已的配置机制,它依靠fontconfig库来配置和定制字体,Xft负责字体的显示。也就是说, fontconfig是一种让X系统可以找到某种字体的库,而Xft是负责在X系统中把fontconfig库找到的字体如何显示出来的库。所以讨论 Xft字体配置其实就是讨论fontconfig。fontconfig包含在XFree86发布版中。
        fontconfig的作用:自动搜索字体路径,发现新拷贝的字体;当需显示的字体不存在时,会自动选择其它字体代替显示。这也就是我们在美化字体时为什么要调整字体的排列顺序的原因;配合Xft等X系统的渲染引擎,实现质量的字体输出。
        fontconfig 的配置文件有三个,一个是系统级的配置文件,位于/etc/fonts/fonts.conf,该目录下还有一个 local.conf,一般我们只修改local.conf文件,fonts.conf一般不建议去修改,不过fontconfig2.3以上版本已经取 消掉了local.conf,系统级的配置全部是fonts.conf文件,并且2.3版的fontconfig已经进入Sarge。第三个配置文件是用 户主目录下的 ~/.fonts.conf,它是用户级的字体配置文件,只对当前用户有效。这三个文件的格式是一样的,都是一个XML格式的文件。该XML文件的语法规 则在fonts.dtd里定义。详细的配置介绍请参考中国Linux公社中的"Linux高质量字体研究"论坛。
        在Xft字体系统中安装新的字体是很简单的,只需把字体文件拷贝到fonts.conf中指定的字体文件目录即可,fontconfig会自动感知新字体。默认的字体目录有四个,分别是:
        /usr/share/fonts
        /usr/X11R6/lib/X11/fonts/Type1
        /usr/local/share/fonts
        ~/.fonts
        当然也能增加其他目录,只要手动修改/etc/X11/fs/config文件,给其中catalogue那一行最后加上你的字体路径就可以了。
        把新字体文件拷贝到字体目录后,我们就可用fc-list命令列出新安装的字体,如果没有,可用fc-cache命令手动更新系统字体配置。这样,再运行 fc-list就应该可以看到新安装的字体了。使用Xft字体系统是不用配置/etc/X11/XF86config-4的,也不用重启X服务器使配置生 效。Xft字体系统比起传统的X11核心字体系统来说真的是方便很多。所以它是未来的发展方向。

好了,因此我们在Linux下美化字体时可以通过修改~/.fonts.conf来修改字体优先级给来配置字体,合理修改字体优先顺序,可以更好地实现字体表现。
无 论是安装文泉驿,还是安装windows字体,都可以设置它们的优先级。而系统字体中依然使用sans serif或者serif、monospace的名称。这些字体是虚拟字体,实际上是一个字体族,它们会调用实际的字体。因此通过修 改.fonts.conf,可以使用sans serif等来使用文泉驿或者宋体。
比如,下面是网上摘录的一个配置文件,可以根据自己需要进行修改。这个示例使用文泉驿,先安装文泉驿,然后再使用该字体配置文件。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<alias>
        <family>serif</family>
        <prefer>
                <family>DejaVu Serif</family>
                <family>WenQuanYi Bitmap Song</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>Times New Roman</family>
                <family>Times</family>
                <family>Luxi Serif</family>
                <family>AR PL SungtiL GB</family>
                <family>AR PL Mingti2L Big5</family>
                <family>Ming(ISO10646)</family>
                <family>Kochi Mincho</family>
                <family>Baekmuk Batung</family>
        </prefer>
</alias>
      
<alias>
        <family>sans-serif</family>
        <prefer>
                <family>DejaVu Sans</family>
                <family>WenQuanYi Bitmap Song</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>Arial</family>
                <family>Verdana</family>
                <family>Helvetica</family>
                <family>Luxi Serif</family>
                <family>Ming(ISO10646)</family>
                <family>AR PL kaitiM GB</family>
                <family>AR PL kaitiM Big5</family>
                <family>Kochi Gothic</family>
                <family>Baekmuk Dotum</family>
        </prefer>
</alias>
<alias>
        <family>monospace</family>
        <prefer>
                <family>DejaVu Sans Mono</family>
                <family>WenQuanYi Bitmap Song</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>Arial</family>
                <family>Verdana</family>
                <family>Helvetica</family>
                <family>Luxi Serif</family>
                <family>Ming(ISO10646)</family>
                <family>AR PL kaitiM GB</family>
                <family>AR PL kaitiM Big5</family>
                <family>Kochi Gothic</family>
                <family>Baekmuk Dotum</family>
        </prefer>
</alias>

</fontconfig>