Truetype字体详解(OpenType)

一、什么是truetype字体

TrueType是一种字体技术,由Apple公司发明。TrueType是一种数字字体,完全使用数学描述来显示轮廓。它被广泛应用于Windows、macOS、Linux以及许多其他操作系统。TrueType字体不仅可以精确地显示小字号文本,还可以扩展到非常大的字号。

Truetype是TrueType字体格式的一种名称,是一种非常流行的字体格式,常用于计算机的图形界面和其他应用程序。其中微软的系统操作系统Windows OS提供大量的Truetype字体,用来支持各种应用程序的使用。

二、Truetype字体的结构

Truetype字体包含以下三个部分:

1、Header Table:
包含字体的一般信息,例如字体版本号、字体的创建和修改日期、字体名称,等等。

2、Glyph Data:
包括所有字符的轮廓数据和指令素组,以及字体中可使用的其他数据。

3、Naming Table:
包含有关字体的详细信息,例如权利信息、设计者姓名和所在地,以及艺术家表示字体的信息。

三、Truetype字体的嵌入方式

1、不嵌入:即不把字体打包到文档中,如果文档中使用了该字体,那么在没有此字体的计算机上打开该文档时将无法正常查看。

2、嵌入但是不包含字形:即把Truetype字体文件作为附件发送给接收人,保证接收人能够使用该Truetype字体在其计算机上查看文档,但如果接收人在自己的计算机上没有安装该Truetype字体,那么他仍然无法正确查看文档。

3、完全嵌入:即把文档格式转换为PDF格式发送给接收人,此时文档的Truetype字体已经被完全嵌入,即使接收人没有安装该Truetype字体,也可以正常查看文档。

四、如何在HTML代码中使用Truetype字体

    <style>
        @font-face {
            font-family: MyFont;
            src: url(path-to-fontfile/font.ttf);
        }
        body {
            font-family: MyFont, Arial, sans-serif;
        }
    </style>
    <body>
        <p>使用Truetype字体的文字</p>
    </body>

五、如何使用Python处理Truetype字体

Python中有一个有用的字体库fonttools,可以解析和处理Truetype字体。

    from fontTools.ttLib import TTFont

    # 打开字体文件
    font = TTFont('path-to-fontfile/font.ttf')

    # 查看字体的表
    print(font.getGlyphOrder())

    # 获取字体的基本信息
    print(font['head'].unitsPerEm)

    # 修改字体的字符
    glyph = font['a']
    glyph.clear()
    glyph.width = font['hmtx']['h'][0]
    glyph.addComponent('b')

    # 保存修改后的字体文件
    font.save('path-to-fontfile/font_modified.ttf')

Published by

风君子

独自遨游何稽首 揭天掀地慰生平