在前一篇随笔中,我详细讨论了字体的分类及用途,也以 Fedora 20 为例,展示了字体配置的思路和方法。我在配置 Fedora 20 系统字体的时候,采用的是一种釜底抽薪的方法,完全抛开了系统原有的配置文件,所有的配置从头开始。事实上,任何一个 Linux 发行版本身已经做了很多的字体配置工作,完全将系统默认的配置弃之不用并不是最好的办法。配置系统字体还可以采用锦上添花的方式,也就是保持系统原有的配置文件不变,只针对我们自己的需求补充几个配置文件即可。

  在这里,我准备将我新安装的 Ubuntu 14.10 系统的字体进行一点美化。考虑到很多人在使用 Linux 系统的时候喜欢和 Windows 系统进行对比,所以我决定借用 Windows 中的字体,将 Ubuntu 配置为和 Windows 相同的显示效果。基本思路如下:

  1.在 Ubuntu 的界面中使用 Tahoma 字体搭配微软雅黑字体,英文为 Tahoma 字体,中文为微软雅黑;

  2.控制台和编程的时候使用 Consolas 字体搭配微软雅黑字体,英文为 Consolas,中文为微软雅黑;

  3.借用 Windows 中常用的六套中文字体:宋体、仿宋、黑体、楷书、隶书、幼圆,这样在 Ubuntu 中进行排版工作的时候,可以达到和在 Windows 中排版一样的效果;

  4.英文的 Serif 字体搭配中文的宋体,Sans-Serif 字体搭配中文的微软雅黑;

  5.对于小字号的宋体开启点阵,其它字体不需要开启点阵。

  目标一旦确定,具体的配置工作就比较好进行了。下面开始具体的配置过程。

设置系统字体

  设置系统字体需要一个工具,那就是 Unity Tweak Tool。在 Ubuntu 系统下,该工具比 Gnome Tweak Tool 好用。安装该工具后,就可以使用它对系统字体进行配置。从下图可以看出,系统中用到字体的地方可以分为四类,其中默认字体和窗口标题字体我都将之设置为 Ubuntu 字体,大小为 11pt。这里 Ubuntu 字体就是 UI 字体,经常用在程序的对话框、菜单栏等地方,Windows 中与之对应的是 Tahoma。文档字体我设置为 11pt 的 Sans,等宽字体我设置为 12pt 的 Monospace,Sans 和 Monospace 都只能算是字体分类,具体对应什么字体就看我们的配置了。

安装微软的英文字体

  微软是一个很不错的公司,它将其系统中使用的几套英文字体如 Arial、Verdena 等开放了,可以供大家免费使用。当然,这些开放的字体中不包含 Tahoma 和 Consolas。在 Ubuntu 中,可以直接从软件源中安装 ttf-mscorefonts-installer,该软件安装的时候会自动下载安装微软提供的几套英文字体。如下图:

查看系统的配置文件

  系统的配置文件,除了 /etc/fonts.conf 外,其余的配置文件都在 /etc/fonts/conf.d 目录中。进入该目录 ls 一下,可以看到配置文件还真不少,其中每一个文件前面都有一个编号。如下图:

  这些编号有什么用呢?或者说 Ubuntu 对字体的配置采取的是一个什么样的思路呢?这个问题很好回答,看一下 README 就可以了。如下图:

  从上图可以看出,编号 00 到 09 的配置文件主要用来设置存放字体的目录,编号 10 到 19 的配置文件用来设置系统中的全局属性,比如 hinting 啊、antialias 啊什么的,而编号 20 到 29 的配置文件用来设置某些字体的显示属性,30 到 39 就是针对特定的字体进行替换,如果系统中有某些著名的字体没有安装的话,可以把它替换成其它与之相似的字体,40 到 49 是对字体进行分类,50 到 59 是载入其它的配置文件,60 到 69 则是针对分类选择具体的字体,后面的懒得讲了。可以看出,这里的字体配置思路和我前面一篇随笔中使用的思路是一模一样的。呵呵,其实是我借鉴了它。

  同时,通过 50-user.conf 文件可以看到,我们完全可以把自己的配置文件放到 ~/.fonts.conf.d 目录中。在后面的配置过程中,我的配置文件将遵守同样的编号原则。

借用 Windows 的字体

  微软只公开了几个英文字体,而 Tahoma 和 Consolas 以及所有的中文字体我们只有亲自动手去 Windows 系统下 copy 了。将借用的字体放到 ~/.fonts 目录下,如下图:

编写配置文件

  最后,进入 ~/.fonts.conf.d 目录,编写相应的配置文件。

  第一步,设置 dpi 为 96,因为这是一个全局设置,所以我取的文件名是 10-dpi.conf。该配置文件内容很简单,如下图:

  第二步,设置宋体在 12px、13px、14px、15px、16px 和 18px 的时候使用点阵,由于这是针对某个特定字体的配置,所以我取的文件名是 26-simsun-render.conf。如下图:

  第三步,设置等宽字体为 consolas 搭配微软雅黑,该配置内容也很简单,由于是为某个类别指定字体,所以我取的文件名是 66-monospace.conf。如下图:

  第四步,设置 Sans-Serif 为 Verdana 搭配微软雅黑,文件名为 67-sans.conf。如果不想使用点阵就不用安装文泉驿点阵正黑,如果不喜欢微软雅黑就把 Droid Sans Fallback 放到微软雅黑的前面。如下图:

  第五步,设置 Serif 的中文字体为宋体,文件名为 68-serif.conf,如下图:

  第六步,设置界面字体,将 Ubuntu 替换成 Tahoma 搭配微软雅黑,文件名为 69-ui.conf,内容如下图:

  配置完成后,fc-cache 一下,就可以发现控制台中的字体从 Dejavu Sans Mono 变成 Consolas 了,中文为微软雅黑。打开网页看我之前编写的字体测试,发现显示效果也很不错哦。如下图:

  和之前的那一篇随笔相比,这里使用的配置方法要简洁明了得多。可以说,只要掌握的字体配置的原理,在 Linux 系统下配置字体将再也不是什么难事。

(京山游侠于2015-01-17重新选题编辑后发布于博客园,转载请注明出处。)

最新文章

  1. 如何让vim自动显示函数声明-使用 echofunc.vim插件
  2. javascript 中的console.log和弹出窗口alert
  3. 【转载】颜色空间-RGB、HSI、HSV、YUV、YCbCr的简介
  4. OPENSSL中RSA私钥文件(PEM格式)解析【一】
  5. c语言结构体2之变量赋值于字符串
  6. group by 和count 联合使用问题
  7. Xamarin 小试牛刀 通知栏消息通知和按钮(基于Java代码人肉转换)
  8. MAC Mysql 重置密码
  9. 浅谈PipelineDB系列一: Stream数据是如何写到Continuous View中的
  10. 5.前端基于react,后端基于.net core2.0的开发之路(5) 配置node层,session设置、获取,请求拦截
  11. 《cocos2d-x游戏开发之旅》问题2016-10-7
  12. php 服务端允许跨域访问
  13. How to proof Pi
  14. JS中----this的指向和如何修改this的指向
  15. max10之pll时钟源切换
  16. .net C#中页面之间传值传参的六种方法
  17. 拥抱.NET Core系列:MemoryCache 缓存过期 (转载)
  18. Linux 150命令之查看文件及内容处理命令 more split file diff paste wc dps2unix
  19. 程序安装制作不用愁—Wise installation入门教程
  20. PyQt5系列教程(一)Mac OS X下搭建Python3.5.1+PyQt5开发环境

热门文章

  1. Asp.net Boilerplate之AbpSession扩展
  2. app开发外包注意事项,2017最新资讯
  3. TSQL Identity 用法全解
  4. php实现的分页类
  5. Asp.net Core准备工作
  6. Extjs 让combobox写起来更简单
  7. 高仿it之家新闻客户端源码
  8. git添加GitHub远程库
  9. 如何通过Git GUI将自己本地的项目上传至Github
  10. Oracle 10g安装教程