【crunch bang】字体美化
中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做了无数没有意义的事情。但这也是不得不做的,我把 Debian/Ubuntu 所需要的中文字体美化操作步骤详细记录在这里,希望能节约大家一部分时间。
1 安装必要的字体包
Debian 和 Ubuntu 下对中文支持比较好的字体有:ttf-droid
、ttf-wqy-zenhei
和 ttf-wqy-microhei
等,除了文泉驿系列字体外,比较流行的免费中文字体还有文鼎提供的楷体和上海宋,包名分别是: ttf-arphic-ukai
和 ttf-arphic-uming
。把这些字体都装上之后,应该就已经具备一个基本能用的中文环境了。
2 修改字体配置文件
在 Ubuntu Precise 之前,中文默认的字体配置效果已经非常好了。但到了 Precise 的时候,韩国新推出了几个免费韩文字体。当然了,免费字体这东西,本来就是多多宜善,但问题就在于,韩国人做的韩文字体里不仅仅有韩文,还包含了中文。而这些字体里的中文部分,不客气地说,实在是丑得可以。而韩国人把这个字体设置成 Ubuntu 里的中文默认字体,这就太让人难以接受了。
为了让中文显示效果更让人可以接受一些,滇狐决定完全屏蔽那几个韩文字体。反正滇狐不懂韩语,因此少了几个韩文字体,对正常生活影响不大了。大家可以参考以下滇狐自己的字体配置文件。将以下内容写到存放到你的家目录下,命名为 .fonts.conf
,就可以了。
<!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
文件的内容如下:
然后创建 .gtkrc-2.0-kde4
,内容如下:
gtk-xft-hintstyle =
gtk-cursor-theme-name = "oxy-black"
注意:开头 include
后面包含的文件和 gtk-theme-name
指定的主题名需要根据你的个人习惯作相应的修改,不要直接照抄我这里的配置。因为首先,我选择的 GTK 主题未必是你喜欢的,其次,我安装的 GTK 主题你未必也安装了,因此务必根据你的个人习惯作相应的修改。
4.3 其它软件
完成以上配置后,整个系统就已经非常适合人类生活了,接下来我们再对部分程序做一些简单的微调。
4.3.1 QTerm
QTerm 有自己的字体配置,并不直接遵循系统字体来,根据自己的喜好配置一下就好。
|
【crunch bang】字体美化的更多相关文章
- 【crunch bang】中文美化
原文连接:http://edyfox.codecarver.org/html/debian_testing_chinese.html 中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做 ...
- Windows下的字体美化
转自HJK的博客 许多人钟情于Mac很大一部分是因为Mac优雅的字体渲染,Windows原生的效果很难做得到,即便是开启了CleartType效果也不尽如人意.不论是微软本身的审美原因还是历史包袱,与 ...
- Ubuntu 所需要的中文字体美化操作步骤
中文字体美化是个很讨厌的事情,无数初学者在这里面浪费了无数时间,做了无数没有意义的事情.但这也是不得不做的,我把 Debian/Ubuntu 所需要的中文字体美化操作步骤详细记录在这里,希望能节约大家 ...
- CentOS7.5字体美化
背景知识 有衬线 (Serif) 无衬线 (Sans Serif) 和等宽 (Monospace) 字型 1 有衬线 (Serif) 字型是比较正式的字体,比划粗细不一,在笔划的边缘有装饰部分(我的理 ...
- Linux字体美化实战(Fontconfig配置)(转)
原文地址:http://www.jinbuguo.com/gui/linux_fontconfig.html 本文的主题是Linux环境下的字体美化,但是首先得要有字体,然后才能谈美化.所以第一件事就 ...
- Ubuntu 14.04 64位字体美化(使用黑文泉驿)
Ubuntu 14.04安装和升级后,,斜体字体变得很难看,昨天,我得到一个晚上,最终,管理一个线索,这里整洁. 在线调研后,.一致的观点是,,使用开源字体库文泉驿理想的黑色字体效果,效果甚至没有丢失 ...
- [CrunchBang]中文字体美化
安装必要的字体包 sudo apt-get install ttf-droid ttf-wqy-zenhei xfonts-wqy ttf-wqy-microhei ttf-arphic-ukai t ...
- 【crunch bang】程序中文化
在应用程序中配置使用中文显示. # apt-get install locales # dpkg-reconfigure locales 安装文泉驿-微米黑字体: sudo apt-get insta ...
- 安装fcitx [Crunch bang] [debian]
第一步: sudo apt-get install fcitx fcitx-sunpinyin fcitx-ui-classic fcitx-table fcitx-config-common fc ...
随机推荐
- Snort规则中的逻辑关系
0x01 看一条规则alert tcp any any -> any any (content:"union";http_uri;nocase;content:"s ...
- Java学习-024-获取当前类名或方法名二三文
今天,看朋友编写程序,打印日志时,需要记录当前类的类名以及当前方法的方法名,我发现 TA 将类名或者方法名直接写死在了代码中...虽说这样可以实现记录类名和方法名,但是当有特殊情况需要修改类名或者方法 ...
- c#上传文件(一)使用 .net 控件上传文件
1.html代码: <body> <form id="form1" runat="server"> <div> <as ...
- ByteBuffer
1.堆内:HeapByteBuffer,在java的堆内创建. 缺点:可能引起堆的不断gc 写文件的时候需要先将堆的buffer写进直接buffer里,然后再写入文件 2.堆外:DirectByteB ...
- Android如何使用so文件和Android studio中导入so
Android中使用so文件: 做一个PDF阅读的功能,找到一个开源的库,mupdf.下载的是网上编译好的so库,导入到自己项目中的时候一直报错Java.lang.UnsatisfiedLinkErr ...
- 九个uname命令获取Linux系统详情的实例
当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息.这时,在Linux下,你可以使用uname命令,帮助你完成这些工作. Uname是unix name的缩写.在控制台中实际使 ...
- Ubuntu下如何将普通用户提升到root权限
在ubuntu的系统操作中,我们经常会使用到系统权限的,因为权限不足,导致在一些操作当中非常麻烦.要获取权限,最长使用的方法就是使用sudo指令,但是来回使用还是比较麻烦,有没有直接提升我们的用户权限 ...
- 项目管理利器——Maven
假设公司要开发一个新的Web项目,使用目前流行的struts2.spring.MyBatis进行新项目开发.那么接下来首先要进行的工作就是各个框架的jar包的下载.大家通常的做法是先到struts2的 ...
- nexenta systemcallerror
最近在试nexenta做iscsi,设置ip出现上面的错误 解决办法,先讲mtu设置为不周与原来的值,比如原来为1500,先设置成1501,就可以了,然后可以再改回来,也是没有问题的!
- jquery 操作select
jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其中一项时触发 var checkValue = jQ ...