在前一篇随笔中,我详细讨论了字体的分类及用途,也以 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. hibernate多对多关联映射

    关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...

  2. iOS系列文章

    本博客全为原创,如果借鉴了其他文章会在博文的下面进行说明.欢迎转载,但要在文章中给出原文链接,谢谢. 有链接的说明已经发布,没有链接的说明还没有发布. 并不是所有的博文都在这里罗列,有兴趣的可以看博客 ...

  3. Power BI官方视频(3) Power BI Desktop 8月份更新功能概述

    Power BI Desktop 8月24日发布了更新版本.现将更新内容翻译整理如下,可以根据后面提供的链接下载最新版本使用. 1.主要功能更新 1.1 数据钻取支持在线版 以前的desktop中进行 ...

  4. node中子进程同步输出

    管道 通过"child_process"模块fork出来的子进程都是返回一个ChildProcess对象实例,ChildProcess类比较特殊无法手动创建该对象实例,只能使用fo ...

  5. python 数据类型 -- 元组

    元组其实是一种只读列表, 不能增,改, 只可以查询 对于不可变的信息将使用元组:例如数据连接配置 元组的两个方法: index, count >>> r = (1,1,2,3) &g ...

  6. win10上部署Hadoop-2.7.3——非Cygwin、非虚拟机

    开始接触Hadoop,听人说一般都是在Lunix下部署Hadoop,但是本人Lunix不是很了解,所以Google以下如何在Win10下安装Hadoop(之后再在Lunix下弄),找到不少文章,以下是 ...

  7. 用Kotlin实现Android定制视图(KAD 06)

    作者:Antonio Leiva 时间:Dec 27, 2016 原文链接:https://antonioleiva.com/custom-views-android-kotlin/ 在我们阅读有关c ...

  8. NSStringCompareOptions

    typedefNS_OPTIONS(NSUInteger, NSStringCompareOptions) { NSCaseInsensitiveSearch = 1,    //不区分大小写比较 N ...

  9. Maven(一)linux下安装

    1.检查是否安装JDK,并且设置了环境变量(JAVA_HOME): echo $JAVA_HOME java -version 运行结果: 显示jdk的安装路径,和java的版本,如: #jdk路径 ...

  10. IKAnalyzer

    我们的项目中中文切词使用的是mmseg,有一个不满意的地方是jar包中的默认词典一定会被加载进去,当我对有些term有意见时,无法删除. mmseg中Dictionary.java里一段代码保证了/d ...