在 Ubuntu 14.10 中借用 Windows 的字体
在前一篇随笔中,我详细讨论了字体的分类及用途,也以 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 的字体的更多相关文章
- Linux应用环境实战05:在Ubuntu 14.10中借用Windows的字体 (转)
阅读目录 设置系统字体 安装微软的英文字体 查看系统的配置文件 借用Windows的字体 编写配置文件 在前一篇随笔中,我详细讨论了字体的分类及用途,也以Fedora 20为例,展示了字体配置的思路和 ...
- ubuntu 14.10 lts 64-bits环境下使用Android Studio
距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...
- 修复 VirtualBox 下 Ubuntu 14.10 屏幕分辨率问题
在 Windows 7 下使用 VirtualBox 安装了一个 Ubuntu 14.10 后,碰到了一个 640×480 屏幕分辨率的问题. 在 ‘Display Settings' 设置界面的 ‘ ...
- Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这 ...
- Ubuntu 14.10 -- 异次元软件世界
Ubuntu 14.10 中文桌面版/服务器正式版下载 - 华丽免费易于入门的 Linux 操作系统 [ 系统工具 - Linux // 2014-10-25 ] 一说到 Linux,就不得不 ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- VMware Tools的简易安装---解决Ubuntu 14.10不能满屏显示问题
由于使用的VMware WorkStation是中文破解版,安装时又是简易安装,因此VMware Tools并没有安装上,导致Ubuntu 14.10在VMware中装上之后,并不能满屏显示,如图1所 ...
- Ubuntu 14.10 下安装Ganglia监控集群
关于 Ganglia 软件,Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数 ...
- ubuntu 14.10 安装 zabbix
在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...
随机推荐
- 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...
- django server之间通过remote user 相互调用
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...
- excel 日期/数字格式不生效需要但双击才会生效的解决办法
原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...
- Angular企业级开发-AngularJS1.x学习路径
博客目录 有链接的表明已经完成了,其他的正在建设中. 1.AngularJS简介 2.搭建Angular开发环境 3.Angular MVC实现 4.[Angular项目目录结构] 5.[SPA介绍] ...
- How those spring enable annotations work--转
原文地址:http://blog.fawnanddoug.com/2012/08/how-those-spring-enable-annotations-work.html Spring's Java ...
- Aaron Stannard谈Akka.NET 1.1
Akka.NET 1.1近日发布,带来新特性和性能提升.InfoQ采访了Akka.net维护者Aaron Stannard,了解更多有关Akka.Streams和Akka.Cluster的信息.Aar ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Effective java笔记(二),所有对象的通用方法
Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- exp/imp 与 expdp/impdp 区别
在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也 ...