2024年5月4日发(作者:)
.
ttf文件结构解析
TrueType字体通常包含在单个TrueType字体文件中,其文件后缀为.TTF。OpenTy
pe字体是以类似 于TrueType字体的格式编码的POSTSCRIPT字体。OPENTYPE字体
使用.OTF文件后缀。OPENTYPE还允许把多个OPENTYPE字体组合在一个文件中以利于
数据共享。这些字体被称为TrueType字体集(TrueType collection),其文件后缀为.T
TC。
TrueType字体用machintosh的轮廓字体资源的格式编码,有一个唯一的标记名"s
fnt"。windows没有macintosh的位图字体资源格式,字体目录 包含了字体格式的版
本号和几个表,每个表都有一个tableentry结构项,tableentry结构包含了资源标记、校
验和、偏移量和每个表的大小。下面是TrueType字体目录的c语言定义:
typedef sturct
{
char tag[4];
ULONG checkSum;
ULONG offset;
ULONG length;
.
.
}TableEntry;
typedef struct
{
Fixed sfntversion; //0x10000 for version 1.0
USHORT numTables;
USHORT searchRange;
USHORT entrySelector;
USHORT rangeShift;
TableEntry entries[1];//variable number of TableEntry
}TableDirectory;
TrueType 字体中的所有数据都使用big-endian编码,最高位字节在最前面(因
为TrueType字体最初是由apple公司定义的,而apple公司的os运行在motorola的c
pu上)。如果一人TrueType字体以00 01 00 00 ,00 17开头,我们就可以知道
它的格式是轮廓字体资源("sfnt")版本1.0的格式,有23个表。
TableDirectory结构的最后一个字段是可变长度的tableentry结构的数组,安体
.
发布评论