调整XP的ClearType

最近在公司重新开始使用Windows,虽然开启了ClearType ((ClearType(C),字体平滑,一种字型显示技术,是微软在 LCD 屏幕上增强文本的分辨率的字体技术,例如:那些用于便携式计算机的显示屏。ClearType(C) 技术使用了独有的信号处理和 LCD 屏幕的专利技术,提供了受人瞩目的增强易读性的清晰技术,明细的字符特征和间距。http://baike.baidu.com/view/755822.htm)) ((开启方式:桌面上点右键选择“属性”,在“显示属性”窗口中,选择“外观”标签页,点击“效果”,勾选第二项“使用下列方式使屏幕字体的边缘平滑”,并在第二个下拉框中选中“清晰”)) ,却总是觉得字体发虚,尤其当我将写代码的字体设置为Bitstream Vera Sans Mono之后这种情况特别明显。于是翻了很多资料,发现这个微软官方的工具ClearType Tuner。这个工具可以帮助选择次像素顺序,调整微调的力度(Linux上也有这样的配置工具)。如果你在浏览这个页面的时候,感觉该页面上右边的ClearType的范例图比你的机器上的渲染效果要好,那么你就需要使用这个工具了。这个工具是基于IE插件的,也可以下载ClearType Tuner PowerToy 进行调整。只要跟着提示走就行了。

调整了字体之后,看着舒服多了,有助于保护视力。难怪很多人觉得英文版XP的字体效果比中文版好,估计是因为中文主要使用点阵的宋体,所以系统默认更改了微调的原因。不过我还是觉得ClearType无法和Freetype的渲染效果相比,据说Mac OS X的更好。然而,这也要看个人喜好,有些朋友就非常偏好一些没有抗锯齿效果的点阵字体如Fixedsys,因为他轮廓清晰,对比明显。

如何调整Netbeans的字体

开发Rails应用有一阵子了,使用了朋友推荐的Netbeans作为主要的开发工具,功能很好,唯一让我别扭的地方便是无法设置一个好的字体。由于Netbeans是基于的Swing,所以字体的渲染要通过Java来实现。默认的配置下的monospaced字体是映射到宋体的,如果在字体中选择其他的字体,那么中文就无法显示了。那如何解决这个问题,可以按照以下几个步骤:

继续阅读“如何调整Netbeans的字体”

最合适写代码的字体

每天盯着屏幕写代码,自然需要寻找一种看得舒服的字体,能让自己的代码赏心悦目,一般来说,我们选择用于显示代码的字体,有如下几个要求:

字母的宽度一致

或称为等宽字体,由于代码文件是普通文本,不带样式的,所以宽度一致易于排列和对齐,能迅速找到位置,提高可读性。

印刷术中这种等宽字体称之为monospaced字体,他是字体中的一个大分类(family),如常见的Courier和Courier New。由于考虑到现在的多语言环境,在不同的系统中,要将这个字体在不同字符集下映射到不同的具体字体上去,比如,一般我们的系统都会把中文的映射到“宋体”上。

轮廓清晰规则

只有清晰和规则的外形才能迅速分辨不同的字符,并且在长时间的阅读下不容易感觉到疲劳

在这里要说的是,西方人和东方人在对字体大小上的不同,我认识一些老外,写程序的时候喜欢使用10px的字体来显示代码,而且使用的屏幕分辨率还很高,这是因为他们的文字是字母文字,每个字母的细节少,使用小字体可以在一个屏幕上显示更多内容。所以使用具有清晰和规则的字体,在字体较小的情况下,依然能在屏幕上快速分辨。

l,1,i易于分辨
0,o,O易于分辨

前三个是小写L,数字1和小写I, 后三个是数字0,小写o和大写O,这几个字母在代码中常容易混淆。

例如,C风格的代码中,长整型数字要在数字后加后缀L来表示,像“111111111111L”,一般我们推荐都是使用大写的“L”目的就是为了防止混淆,而如果字体中这3中字母可以很容易分辨,那么即使我们误打成了小写l,也不会混淆。

清晰易分辨的标点

标点在代码中也占了非常重要的部分,如果一个字体不能很好区分逗号“,”和句号“. ”,“:”和“;”,那么不能说是一个好字体,同样,“`”“’”也最好能是配对的形式,这在某些编程中常常用到。

选择哪种字体?

有了以上一些参考标准之后,我们来看一些常见的字体

宋体

所有的中文Windows系统都自带宋体,而且宋体同时又是一个中文字体,涵盖了几乎所有的字符,在某些特殊场合,需要同时出现中文和英文的代码时,会考虑直接使用宋体。宋体由于主要照顾中文字符,而中文字符是等宽的,所以在考虑英文字符的时候,也考虑为等宽的,宽度为中文字符的一半。但是宋体的点阵英文字体并不美观,由于有衬线,导致在屏幕上小字号时的可读性较低。“0”和“O”以及“l”和“1”的区分不是很完美。

Courier New

fonts_page_12.gif

这个字体也是每个 Windows都会带的,字体很好看,除了o O 0的区别,也是很多人在编程中使用的。

Bitstream Vera Sans Mono

fonts_page_01.gif

最后我要向大家推荐Bitstream Vera Sans Mono,以及他的衍生字体DejaVu Sans Mono——DejaVu扩展了一些Unicode中的字符。

这也是很多开发者推荐的字体,除了完全满足上面说的所有条件之外,又是TTF字体,基本字形是无衬线的,适合屏幕阅读,最重要的还是开源的字体!

MONACO

源于Mac上的一款字体,(Apple不愧是truetype之父啊,老乔也是练过书法的,品质自然不同),目前非常流行,在许多视频教程中都能看到(例如FireBug的控制台默认字体就是他)。点击此处下载

然而和Mac上的很多字体一样,在完全微调(Full hinting)下字体会有些变形,反而效果不佳,最好使用轻微微调或者是无微调,所以在Windows系统上,效果差强人意。

Consolas

微软新开发的字体,Vista、Office2007、Visual Studio 2005中包含它。既然是MS出品,则肯定在ClearType下效果最佳。官方网站的安装包。不过官方网站的安装包很累赘,还需要先安装.net framework 3.5,于是在此直接给出下载文件

除此之外还有:

  • ttf-inconsolata:Debian的团队开发的字体,Debian下可直接使用apt-get install ttf-inconsolata安装
  • terminus:apt-get install xfonts-terminus