zoukankan      html  css  js  c++  java
  • 字体-字库

    3.关于字体的Hinting及AA等

    Hinting 与 Autohinter

    Hinting 用来最佳化字型显示的方法。由于屏幕的像素有限,向量字型的缩放需要有更多的考虑, 例如当一条线位在两个像素格子中间时, 该取左边的格子还是右边的格子? 如果这方面的控制没有做好,就常常会出现字型的衬线没有对齐,或是小字歪七扭八的情况。 Hinting 是额外的信息, 它告诉 renderer 该如何处理这些细节的部份,使得向量字在小字的时候能够好看。也因此 Hinting 是非常费时费人力的工作,TrueType 字型很多,但是有良好 Hinting 的字型不多。拙劣的 Hinting 就会让字变得很难看。

    为 了稍微改善这个问题,freetype 有 autohint 的功能,可以自动为没有 hint 的字型做 hinting 的工作。另外由于 TrueType 的 hinting 是有专利的,不能完全自由地使用, autohint 就不受这个限制。autohint 自然无法做得像人力的 hint 一样好,不过至少比没有 hint 要好些。话虽如此,对于许多笔划复杂的文字 (如中文) 目前 freetype 的 autohint 还做得不甚完美,而因为建立完整的 hinting 的难度,即使是英文字,原本就很高,内建有 hinting 的中文字型就少之又少了。所以常常有人抱怨中文字在屏幕上很难看,就是没有理想 hinting, 或者是使用了 autohinter 所造成的一些反效果。

    AA(Anti-aliasing)

    Antialiasing 是将字体在后台先以数倍的大小来绘画,然后再缩成想要的大小,未满一格的格子用灰阶补点。由于原本 X 所支持的 logic 运算不敷使用,所以才用 XRender 的 extension 来达成目的。

    Antialiasing 会给人一种朦胧的感觉,习惯了Windows XP 下清晰,锐利的字体显示时,Antialiasing 会让人不太适应,会让用户觉得Linux下的字体显示不如Windows XP。但是,其实 Antialiasing是一种很先进的显示技术,当长时间显示器上阅读的时候,Windows XP 下的锐利的字体显示风格,会让眼睛更加容易疲劳,使用Antialiasing,字体的显示更加柔和,更加适合长时间的在显示器上阅读文档,减少眼睛的疲 劳。

    微软的下一代OS Windows Vista 也将用ClearType 来取代传统的黑白,锐利的英文字体显示和点阵CJK 显示。ClearType的渲染效果和Linux下的 Anti-aliasing 效果很相似。

    字体,字库

    ubuntu 16.04下的/usr/share/fonts目录

    fgy@fgy-QTH6:/usr/share/fonts$ ll
    total 36
    drwxr-xr-x   7 root root  4096 7月  20 04:48 ./
    drwxr-xr-x 304 root root 12288 8月   6 19:37 ../
    drwxr-xr-x   2 root root  4096 7月  20 04:45 cmap/
    drwxr-xr-x   5 root root  4096 7月  20 04:48 opentype/
    drwxr-xr-x  22 root root  4096 8月   1 09:03 truetype/
    drwxr-xr-x   3 root root  4096 7月  20 04:46 type1/
    drwxr-xr-x   6 root root  4096 7月  20 04:48 X11/

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/createyuan/p/4618983.html
Copyright © 2011-2022 走看看