Linux 环境下如何使 Chrome 浏览器字体更漂亮
Windows 就免谈了,本身字体渲染技术 Cleartype 以及 DirectWrite 就稀烂得一塌糊涂。Mac 下面本来字体渲染就很好,所以关键就是在 Linux 下如何使 Chrome 的字体渲染更漂亮?首先要明白一点,Chrome 的字体渲染依赖两点:Linux 操作系统的字体渲染设置以及 Chrome 自身的网页字体渲染控制。在 Fedora 22 GNOME 3.16 环境下,即使用 gnome-tweak-tool 设置了字体渲染微调为 none,抗锯齿为 Rgba 后,对 Chrome 却没有效果,Chrome 仍然用“完全”微调模式进行字体渲染,这会导致很多中文字体显示很丑陋。原因在于,Chrome 是读取 Linux 系统 fontconfig 配置的,默认情况下系统 fontconfig 中没有对字体全局 hint 进行配置,因此我们只需要在 /etc/fonts 目录下创建一个 local.conf,写入如下内容即可:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>none</const>
</edit>
</match>
</fontconfig>
保存后即可发现系统所有程序都能遵循这个设置,字体渲染微调关闭,中文字体渲染会非常好看。接着,在 Chrome 中安装 stylish 插件,创建一个针对所有网站都有效的样式,其应用范围为“全部”,内容如下:
html, body {
font-family: "Source Han Sans CN";
}
pre, code, kbd, samp, var {
font-family: "Monospace", "Source Han Sans CN";
}
这可以保证 Chrome 对任何网站的访问都采用这个样式。当然,别忘了对 Chrome 自己的设置中将其字体设置为你喜欢的字体即可。
2016.05.27 修改注释:stylish 插件中的样式设置,取消了原有的 body * { ... } 这种写法,同时内部去掉了 !important,是为了能够保证 webfont 比如现在流行的 icon font(在 Bootstraps 中大量使用)能够正常显示,否则 icon font 都会显示出方框。
Linux 环境下如何使 Chrome 浏览器字体更漂亮的更多相关文章
- 【转载】linux环境下为firefox/chrome浏览器安装flash player
本文转载自 http://blog.sina.com.cn/s/blog_6ad624380102v1xf.html firefox安装flash player的方法: 先到adobe网站上下 ...
- Java环境下 selenium webDriver + chrome浏览器搭建与调试
一.首先下载selenium webDriver jar包,下载地址如下: http://selenium-release.storage.googleapis.com/index.html 二.下载 ...
- Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)
Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...
- Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS
如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...
- Linux 环境下思源黑体字体与 Java 之间的兼容性问题的解决(补充说明)
在前一篇随笔中,我讲了一下有关 Linux 环境下思源黑体与 Java 之间的兼容性问题,后来经过测试发现,默认安装的思源黑体字体同时包含简体字体和繁体字体,并且其对应的语言编码也是不同的.尝试着把繁 ...
- Ubuntu 14.04 LTS下安装Google Chrome浏览器
在Ubuntu 14.04下安装Google Chrome浏览器非常简单,只要到Chrome的网站下载Deb安装包并进行安装即可.当然你也可以使用APT软件包管理器来安装Google Chrome浏览 ...
- 教你如何在Kali Linux 环境下设置蜜罐?
导读 Pentbox是一个包含了许多可以使渗透测试工作变得简单流程化的工具的安全套件.它是用Ruby编写并且面向GNU/Linux,同时也支持Windows.MacOS和其它任何安装有Ruby的系统. ...
- Linux环境下Java中文乱码解决方案
相信很多朋友遇到过Java的乱码问题,最近我也在解决一个“使用文本生成图片过程中中文以及特殊字符乱码”的问题:花了我大量时间,Debug了sun.font.sun.awt下面的各种源码,终于搞懂了其机 ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
随机推荐
- 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数据转换
[源码下载] 重新想象 Windows 8 Store Apps (52) - 绑定: 与 Element Model Indexer Style RelativeSource 绑定, 以及绑定中的数 ...
- macbook 我们需要买吗
能否写出好代码与是否使用“好”的电脑是没有直接关系的.
- 初学Java9:学习Mybatis时报错:Parameter 'name' not found. Available parameters are [1, 0, param1, param2]
报错-->Parameter 'name' not found. Available parameters are [1, 0, param1, param2] 百度找到这篇文章完成修改 htt ...
- SQL Server 全局变量
SQL Server中所有全局变量都使用两个@符号作为前缀 --1.@@error 最后一个T-SQL错误的错误号(目的是或得违反约束的错误号) insert into Subject values( ...
- spring bean加载顺序指定方式之一
在某些情况下,我们在容器启动的时候做一些事情,举个例子,加载缓存等.. 此时我们会希望某个bean先被加载并执行其中的afterpropertiesset方法. 因为spring默认是通过contex ...
- 控制台(Console)报错:java.io.IOException: Broken pipe
控制台(Console)输出: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Meth ...
- linux实现rdp访问
远程访问linux系统,我们常用的有终端ssh.图形界面VNC,但是VNC安全性不够,并且不够流畅.相比之下,我认为rdp更好,并且还能利用windows的远程桌面访问,非常方便. 1. 安装xRDP ...
- [Visual Studio Online] 移除Work Item(Feature、Backlog item、Task)
[Visual Studio Online] 移除Work Item(Feature.Backlog item.Task) 移除 项目的开发过程中,使用Visual Studio Online来做Sc ...
- [HTML5] 飞龙天惊-HTML5学习系列
飞龙天惊 cnblog URL:http://www.cnblogs.com/fly_dragon/ Html5 学习系列(一)认识HTML5 http://www.cnblogs.com/fly_d ...
- javascript --- 子对象访问父对象的方式
在传统面向对象的编程语言里,都会提供一种子类访问父类的特殊语法,引文我们在实现子类方法往往需要父类方法的额外辅助.在这种情况下,子类通常会调用父类中的同名方法,最终以便完成工作. javascript ...