在前一篇随笔中,我详细讨论了字体的分类及用途,也以 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重新选题编辑后发布于博客园,转载请注明出处。)

在 Ubuntu 14.10 中借用 Windows 的字体的更多相关文章

  1. Linux应用环境实战05:在Ubuntu 14.10中借用Windows的字体 (转)

    阅读目录 设置系统字体 安装微软的英文字体 查看系统的配置文件 借用Windows的字体 编写配置文件 在前一篇随笔中,我详细讨论了字体的分类及用途,也以Fedora 20为例,展示了字体配置的思路和 ...

  2. ubuntu 14.10 lts 64-bits环境下使用Android Studio

    距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...

  3. 修复 VirtualBox 下 Ubuntu 14.10 屏幕分辨率问题

    在 Windows 7 下使用 VirtualBox 安装了一个 Ubuntu 14.10 后,碰到了一个 640×480 屏幕分辨率的问题. 在 ‘Display Settings' 设置界面的 ‘ ...

  4. Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...

  5. Ubuntu 14.10 -- 异次元软件世界

    Ubuntu 14.10 中文桌面版/服务器正式版下载 - 华丽免费易于入门的 Linux 操作系统 [ 系统工具 - Linux // 2014-10-25 ]     一说到 Linux,就不得不 ...

  6. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  7. VMware Tools的简易安装---解决Ubuntu 14.10不能满屏显示问题

    由于使用的VMware WorkStation是中文破解版,安装时又是简易安装,因此VMware Tools并没有安装上,导致Ubuntu 14.10在VMware中装上之后,并不能满屏显示,如图1所 ...

  8. Ubuntu 14.10 下安装Ganglia监控集群

    关于 Ganglia 软件,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数 ...

  9. ubuntu 14.10 安装 zabbix

    在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...

随机推荐

  1. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  2. 从中间件的历史来看移动App开发的未来

    在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...

  3. CentOS 7配置LNMP开发环境及配置文件管理

    安装并配置MySQL 5.6 从CentOS从7.x开始默认使用MariaDB.MariaDB完全兼容MySQL,包括API和命令行.但是很多时候我们还是会想要安装MySQL,所以不能直接通过yum命 ...

  4. javascript匹配各种括号书写是否正确

    今天在codewars上做了一道题,如下 看上去就是验证三种括号各种嵌套是否正确书写,本来一头雾水,一种括号很容易判断, 但是三种怎么判断! 本人只是个前端菜鸟,,不会什么高深的正则之类的. 于是,在 ...

  5. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  6. 初学者看过来之JSON入门

    1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是"记号.标记法"的意思,连在一起,便 ...

  7. MySQL主从环境下存储过程,函数,触发器,事件的复制情况

    下面,主要是验证在MySQL主从复制环境下,存储过程,函数,触发器,事件的复制情况,这些确实会让人混淆. 首先,创建一张测试表 mysql),age int); Query OK, rows affe ...

  8. GPG终极指南(加密/签名)

    我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题. 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件.多年来,为电子邮件进行加密的标准一直是 ...

  9. 代码的坏味道(22)——不完美的库类(Incomplete Library Class)

    坏味道--不完美的库类(Incomplete Library Class) 特征 当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了). 问题原因 许多编程技术都建 ...

  10. iOS在导航栏上居中显示分段控件(UISegmentedControl)

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil]; segmentedCont ...