代码之家  ›  专栏  ›  技术社区  ›  Gordon Gustafson

如何定义字体的外观?(每个字符的矢量图?)

  •  4
  • Gordon Gustafson  · 技术社区  · 15 年前

    字体详情: 当您有一些特定字体的文本时,有一个标题说明了字体是什么,然后是每个字符的x字节数。计算机查找该字符在字体中的外观并显示出来。下划线、粗体和斜体是使用适用于所有字体的集合算法添加的。

    问题: 当你放大一个字体时,它不会失去任何质量,所以每个字母都是由某种矢量图形表示的吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Jerry Coffin    15 年前

    这取决于字体格式。有些字体是位映射的,在这种情况下,放大会导致锯齿状边缘等。位图字体曾经很常见,因为它们允许手动调整特定的大小,而且显示速度非常快。

    最合理的最新字体格式是基于某种向量——通常类似于二次B样条曲线。大多数字体格式(如Adobe Type 1、TrueType和OpenType)基本上都使用小型虚拟机,而字体本质上定义为要在该虚拟机上执行的一组指令。这增加了相当大的灵活性,例如添加“提示”,这样字体在小尺寸渲染时仍然很好看。

    还有一些“中间”格式——例如,16位Windows使用矢量字体格式,该格式仅以要绘制的行来描述字符,而没有任何类似的提示。这些字体的缩放比例比位图字体要好一些,但在非常小或非常大的尺寸上,它们看起来仍然相当差。

        2
  •  1
  •   Quentin    15 年前

    TrueType可能是目前字体最常用的格式。规格可通过以下方式获得: http://www.truetype-typography.com/ttspec.htm

    还有其他格式,并不是所有格式都显示了您描述的特性。例如,请参见, BDF (你不想放大)

        3
  •  0
  •   Crispy    15 年前

    这是维基百科上更多细节的链接。

    http://en.wikipedia.org/wiki/Computer_font