在 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 ...
随机推荐
- 从RPC开始(一)
这是一篇关于纯C++RPC框架的文章.所以,我们先看看,我们有什么? 1.一个什么都能干的C++.(前提是,你什么都干了) 2.原始的Socket接口,还是C API.还得自己去二次封装... 3.C ...
- Sublime Text3配置在可交互环境下运行python快捷键
安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...
- django server之间通过remote user 相互调用
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...
- [版本控制之道] Git 常用的命令总结(欢迎收藏备用)
坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整-控制反转和依赖注入的使用
再次调整项目架构是因为和群友dezhou的一次聊天,我原来的想法是项目尽量做简单点别搞太复杂了,仅使用了DbContext的注入,其他的也没有写接口耦合度很高.和dezhou聊过之后我仔细考虑了一下, ...
- ASP.NET Core的路由[5]:内联路由约束的检验
当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束.路由系统采用IRouteC ...
- 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...
- 当web.config文件放置在共享目录下(UNC),启动IIS会提示有错误信息500.19,伴随有错误代码0x80070003和错误代码0x80070005的解决办法
最近遇到一个很有意思的使用环境,操作人员将所有的网站应用内容投放到共享存储里面,并且使用微软的SMB协议将其以CIFS的方式共享出来,使用Windows Server 2008 R2的IIS将其连接起 ...
- 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值
一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...
- c#比较两个数组的差异
将DataTable中某一列数据直接转换成数组进行比较,使用的Linq,要引用命名空间using System.Linq; string[] arrRate = dtRate.AsEnumerable ...