linux 字体模糊

不得不说 linux 对中文字体 ,没有windows 那么专业;  看着很不舒服;虽然可以 安装windows 的字体 但由于渲染的方式不同,效果并不理想


字体种类

        常用的是点阵字体和矢量字体,具体见Computer_font

        点阵字体:

        后缀名一般为fon或者是C语言头文件形式。看讲字体渲染文章都是吐槽的,但是没有人以身边例子说明一下。它的英语原型为Bitmap fonts,直译过来就是位图字体。所有的字都是一个个的图片。电脑上虽然已经不使用了,但是在其它地方还广泛使用。  

        它的应用场合有:

        1.Linux字符界面

        2.Windows启动过程中的字符显示

        3.Android的Recovery模式的字符显示 见《Android的Recovery中font_10x10.h字库文件制作

        4.路边商家门头上的滚动LED显示屏

        5.工业中常用的12864点阵显示屏

        矢量字体:

        后缀名一般为ttf。由于点阵字体不方便缩放的特点,就有了矢量字体。但是也会有一些其它问题需要解决,如果锯齿现象。在Windows中叫ClearType;在android中是FreeType.它们都是TrueType的衍生版本。后缀名都以TrueType头字母ttf为准。

 

字体优化

        字体的优化是一般包括反锯齿和平滑。这里以比较常用的Win7系统中的雅黑字体来说明。结合Windows的“相对完美”的显示效果以及linux的“可订制性强”的特点来实验出同一字体在不同的渲染策略中将会呈现什么样的显示效果。

linux 字体模糊 

        这张Win7系统桌面的部分截图显示的雅黑字体的Windows风格的最佳效果了。如果想要看到反锯齿和平滑的不同参数组合带来的最直接的感受就要到Linux系统下来调整看看了。调试不同的渲染效果一般采用Ubuntu tweak工具来设置调试:

 linux 字体模糊

参数中英对照

Font hinting(微调/平滑):

1.No hinting.   无微调

2.Basic        一般

3.Moterate     适中

4.Maximum    最大

 

Antialiasing(反锯齿_也指渲染策略):

1.No antialiasing        无边缘平滑

2.Grayscale antialiasing  灰度边缘平滑

3.Subpixel antialiasing   次/像素平滑

 

通过调节对比Windows上是Hinting:Maximum和Antialiasing:subpixel antialiasing是达到最好的效果的。

 linux 字体模糊

这里也同时看看不现组合带来的不同效果:

极端组合效果:


 linux 字体模糊

个人评价:再好的字体不使用好的渲染也是渣。且会显明感觉到这个字体放到手中会产生剌手。这属于正锯齿,就需要反(抗)锯齿来修复。


 linux 字体模糊

个人评价:Hinting作用比较大,效果明显。


 linux 字体模糊

个人评价:字体模糊/发虚等问题的根本。反锯齿可以修复锯齿现象,却会产生边缘模糊的现象。


 linux 字体模糊

个人评价:次像素是目前各个操作系统都在使用的方式,Hinting对字体的显示效果有很大的影响

 

小结:字体最终的显示效果和字体的类型以及优化程度同时有很大的关系。是向以清晰为目的的Windows看齐还是以真实为效果的iOS/Android/Ubuntu看齐就要因地制宜了。在万恶的1366x768以及低PPI上显示器上我会选择前者,因为后者真心就是一坨。在今后的Retina显示屏会有第三个选项选择,那就是不再使用次像素反锯齿了。另:有些知识过了很长时间会被串起来的。


(文章转载,仅是个人学习之用,如有侵犯;本人立即删除!)