ttf文件结构解析.doc

ttf文件结构解析.doc

ID:55507297

大小:73.00 KB

页数:14页

时间:2020-05-15

ttf文件结构解析.doc_第1页
ttf文件结构解析.doc_第2页
ttf文件结构解析.doc_第3页
ttf文件结构解析.doc_第4页
ttf文件结构解析.doc_第5页
资源描述:

《ttf文件结构解析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.ttf文件结构解析TrueType字体通常包含在单个TrueType字体文件中,其文件后缀为.TTF。OpenType字体是以类似  于TrueType字体的格式编码的POSTSCRIPT字体。OPENTYPE字体使用.OTF文件后缀。OPENTYPE还允许把多个OPENTYPE字体组合在一个文件中以利于数据共享。这些字体被称为TrueType字体集(TrueType  collection),其文件后缀为.TTC。    TrueType字体用machintosh的轮廓字体资源的格式编码,有一个唯一的标记名"sfnt"。windows没有macintosh的位图字体资源格式,

2、字体目录  包含了字体格式的版本号和几个表,每个表都有一个tableentry结构项,tableentry结构包含了资源标记、校验和、偏移量和每个表的大小。下面是TrueType字体目录的c语言定义:typedef  sturct{char  tag[4];ULONG  checkSum;ULONG  offset;ULONG  length;}TableEntry;typedef  struct{Fixed  sfntversion;  //0x10000  for  version  1.0USHORT  numTables;USHORT  searchRange;USHOR

3、T  entrySelector;USHORT  rangeShift;TableEntry  entries[1];//variable  number  of  TableEntry}TableDirectory;      TrueType  字体中的所有数据都使用big-endian编码,最高位字节在最前面(因为TrueType字体最初是由apple公司定义的,而apple公司的os运行在motorola的cpu上)。如果一人TrueType字体以00  01  00  00  ,00  17开头,我们就可以知道它的格式是轮廓字体资源("sfnt")版本1.0的格式,有2

4、3个表。      TableDirectory结构的最后一个字段是可变长度的tableentry结构的数组,安体中的每个表对应其中一项。TrueType字体中的每个表都保存了不同的逻辑信息-----如图元中数据、字符到图元的映射、字距调整信息等等。有表是必须的,有些是可选的。下表列出了TrueType字体中常见的表。  head        字体头                            字体的全局信息cmap        字符代码到图元的映射          把字符代码映射为图元索引glyf        图元数据                     

5、     图元轮廓定义以及网格调整指令maxp        最大需求表                        字体中所需存分配情况的汇总数据mmtx        水平规格                          图元水平规格loca        位置表索引                        把元索引转换为图元的位置name        命名表                            说明、字体名、字体族名、风格名等等hmtx        水平布局                         .. 字体水平布局星系:上高、下

6、高、行间距、最大前进宽度、最小左支撑、最小右支撑kerm        字距调整表                        字距调整对的数组post        PostScript信息                  所有图元的PostScript  FontInfo目录项和PostScript名PCLT        PCL  5数据                        HP  PCL  5Printer  Language  的字体信息:字体数、宽度、x高度、风格、记号集等等OS/2        OS/2和Windows特有的规格      TrueT

7、ype字体所需的规格集      在TableDirectory结构中,所有的TableEntry结构都必须根据它们的标记名排序。比如,cmap必须出现在head前,而head必须在glyf前。但是实际的表可以出现在TrueType字体文件中的任意位置。      Win32API  提供了一个应用程序可用于查询原始TrueType字体信息的函数:DWORD  GetFontData(HDC  hDC,DWORD  dwTable  ,DWORD  dwOffset,  LPVO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。