1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*************************************************************************** 2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* 359d709d503bab6e2b61931737e662dd293b40578ccornelius* Copyright (C) 1998-2013, International Business Machines 4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* Corporation and others. All Rights Reserved. 5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru* 6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru************************************************************************/ 7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __SFNT_H 9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __SFNT_H 10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 1159d709d503bab6e2b61931737e662dd293b40578ccornelius#include "layout/LETypes.h" 12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_USE 14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef ANY_NUMBER 16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define ANY_NUMBER 1 17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct DirectoryEntry 20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 tag; 22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 checksum; 23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 offset; 24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 length; 25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 2783a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct DirectoryEntry DirectoryEntry; 29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct SFNTDirectory 32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 scalerType; 34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 numTables; 35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 searchRange; 36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entrySelector; 37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 rangeShift; 38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru DirectoryEntry tableDirectory[ANY_NUMBER]; 39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 4183a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct SFNTDirectory SFNTDirectory; 43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPEncodingSubtableHeader 47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 platformID; 49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 platformSpecificID; 50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 encodingOffset; 51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 5383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPEncodingSubtableHeader CMAPEncodingSubtableHeader; 55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPTable 58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 version; 60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 numberSubtables; 61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtableHeader encodingSubtableHeaders[ANY_NUMBER]; 62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 6483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPTable CMAPTable; 66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPEncodingSubtable 69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 format; 71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 length; 72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 language; 73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 7583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPEncodingSubtable CMAPEncodingSubtable; 77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 7983a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat0Encoding : CMAPEncodingSubtable 81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint8 glyphIndexArray[256]; 83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat0Encoding 86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable base; 88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint8 glyphIndexArray[256]; 90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat0Encoding CMAPFormat0Encoding; 93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 95ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat2Subheader 96ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 97ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 firstCode; 98ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entryCount; 99ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 idDelta; 100ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 idRangeOffset; 101ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 102ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 10383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 104ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat2Subheader CMAPFormat2Subheader; 105ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 106ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 10783a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 108ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat2Encoding : CMAPEncodingSubtable 109ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 110ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 subHeadKeys[256]; 111ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPFormat2Subheader subheaders[ANY_NUMBER]; 112ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 113ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 114ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat2Encoding 115ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 116ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable base; 117ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 118ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 subHeadKeys[256]; 119ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPFormat2Subheader subheaders[ANY_NUMBER]; 120ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 121ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 122ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat2Encoding CMAPFormat2Encoding; 123ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 124ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 12583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 126ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat4Encoding : CMAPEncodingSubtable 127ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 128ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 segCountX2; 129ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 searchRange; 130ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entrySelector; 131ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 rangeShift; 132ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 endCodes[ANY_NUMBER]; 133ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* 134ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 reservedPad; 135ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 startCodes[ANY_NUMBER]; 136ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 idDelta[ANY_NUMBER]; 137ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 idRangeOffset[ANY_NUMBER]; 138ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 glyphIndexArray[ANY_NUMBER]; 139ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/ 140ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 141ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 142ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat4Encoding 143ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 144ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable base; 145ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 146ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 segCountX2; 147ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 searchRange; 148ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entrySelector; 149ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 rangeShift; 150ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 endCodes[ANY_NUMBER]; 151ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* 152ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// le_uint16 reservedPad; 153ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// le_uint16 startCodes[ANY_NUMBER]; 154ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// le_uint16 idDelta[ANY_NUMBER]; 155ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// le_uint16 idRangeOffset[ANY_NUMBER]; 156ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru// le_uint16 glyphIndexArray[ANY_NUMBER]; 157ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/ 158ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 159ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 160ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat4Encoding CMAPFormat4Encoding; 161ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 162ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 16383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 164ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat6Encoding : CMAPEncodingSubtable 165ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 166ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 firstCode; 167ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entryCount; 168ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 glyphIndexArray[ANY_NUMBER]; 169ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 170ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 171ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat6Encoding 172ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 173ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable base; 174ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 175ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 firstCode; 176ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 entryCount; 177ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 glyphIndexArray[ANY_NUMBER]; 178ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 179ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 180ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat6Encoding CMAPFormat6Encoding; 181ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 182ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 183ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPEncodingSubtable32 184ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 185ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 format; 186ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 length; 187ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 language; 188ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 189ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 19083a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 191ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPEncodingSubtable32 CMAPEncodingSubtable32; 192ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 193ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 194ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPGroup 195ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 196ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 startCharCode; 197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 endCharCode; 198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 startGlyphCode; 199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20183a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPGroup CMAPGroup; 203ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 20583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 206ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat8Encoding : CMAPEncodingSubtable32 207ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 208ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 is32[65536/32]; 209ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 nGroups; 210ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPGroup groups[ANY_NUMBER]; 211ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 212ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 213ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat8Encoding 214ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 215ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable32 base; 216ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 217ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 is32[65536/32]; 218ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 nGroups; 219ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPGroup groups[ANY_NUMBER]; 220ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 221ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 222ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat8Encoding CMAPFormat8Encoding; 223ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 224ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 22583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 226ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat10Encoding : CMAPEncodingSubtable32 227ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 228ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 startCharCode; 229ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 numCharCodes; 230ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 glyphs[ANY_NUMBER]; 231ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 232ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 233ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat10Encoding 234ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 235ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable32 base; 236ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 237ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 startCharCode; 238ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 numCharCodes; 239ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 glyphs[ANY_NUMBER]; 240ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 241ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 242ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat10Encoding CMAPFormat10Encoding; 243ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 244ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 24583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifdef __cplusplus 246ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat12Encoding : CMAPEncodingSubtable32 247ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 248ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 nGroups; 249ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPGroup groups[ANY_NUMBER]; 250ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 251ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#else 252ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct CMAPFormat12Encoding 253ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 254ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPEncodingSubtable32 base; 255ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 256ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 nGroups; 257ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru CMAPGroup groups[ANY_NUMBER]; 258ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 259ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 260ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct CMAPFormat12Encoding CMAPFormat12Encoding; 261ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 262ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 263ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef le_int32 fixed; 264ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 265ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct BigDate 266ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 267ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 bc; 268ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 ad; 269ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 270ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 27183a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 272ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct BigDate BigDate; 273ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 274ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 275ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct HEADTable 276ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 277ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fixed version; 278ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fixed fontRevision; 279ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 checksumAdjustment; 280ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint32 magicNumber; 281ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 flags; 282ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 unitsPerEm; 283ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru BigDate created; 284ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru BigDate modified; 285ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 xMin; 286ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 yMin; 287ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 xMax; 288ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 yMax; 289ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 lowestRecPPEM; 290ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 fontDirectionHint; 291ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 indexToLocFormat; 292ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 glyphDataFormat; 293ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 294ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 29583a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 296ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct HEADTable HEADTable; 297ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 298ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 299ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct MAXPTable 300ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 301ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fixed version; 302ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 numGlyphs; 303ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxPoints; 304ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxContours; 305ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxComponentPoints; 306ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxComponentContours; 307ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxZones; 308ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxTwilightPoints; 309ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxStorage; 310ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxFunctionDefs; 311ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxInstructionDefs; 312ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxStackElements; 313ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxSizeOfInstructions; 314ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxComponentElements; 315ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 maxComponentDepth; 316ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 317ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 31883a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 319ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct MAXPTable MAXPTable; 320ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 321ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 322ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct HHEATable 323ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 324ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru fixed version; 325ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 ascent; 326ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 descent; 327ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 lineGap; 328ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 advanceWidthMax; 329ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 minLeftSideBearing; 330ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 minRightSideBearing; 331ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 xMaxExtent; 332ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 caretSlopeRise; 333ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 caretSlopeRun; 334ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 caretOffset; 335ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 reserved1; 336ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 reserved2; 337ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 reserved3; 338ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 reserved4; 339ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 metricDataFormat; 340ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 numOfLongHorMetrics; 341ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 342ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 34383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 344ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct HHEATable HHEATable; 345ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 346ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 347ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct LongHorMetric 348ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 349ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 advanceWidth; 350ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_int16 leftSideBearing; 351ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 352ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 35383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 354ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct LongHorMetric LongHorMetric; 355ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 356ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 357ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct HMTXTable 358ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 359ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru LongHorMetric hMetrics[ANY_NUMBER]; /* ANY_NUMBER = numOfLongHorMetrics from hhea table */ 360ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* le_int16 leftSideBearing[ANY_NUMBER]; ANY_NUMBER = numGlyphs - numOfLongHorMetrics */ 361ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 362ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 36383a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 364ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct HMTXTable HMTXTable; 365ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 366ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 367ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruenum PlatformID 368ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 369ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru PLATFORM_UNICODE = 0, 370ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru PLATFORM_MACINTOSH = 1, 371ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru PLATFORM_ISO = 2, 372ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru PLATFORM_MICROSOFT = 3, 373ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru PLATFORM_CUSTOM = 4 374ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 375ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 376ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruenum MacintoshEncodingID 377ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 378ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru MACINTOSH_ROMAN = 0 379ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 380ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 381ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruenum MacintoshLanguageID 382ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 383ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru MACINTOSH_ENGLISH = 0 384ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 385ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 38685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoenum MicrosoftEncodingID 38785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho{ 38885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho MICROSOFT_UNICODE_BMP = 1, 38985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho MICROSOFT_UNICODE_FULL = 10 39085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}; 39185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 39285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoenum MicrosoftLanguageID 39385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho{ 39485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho MICROSOFT_ENGLISH = 0x409 39585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}; 39685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 397ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruenum NameID 398ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 399ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_COPYRIGHT_NOTICE = 0, 400ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_FONT_FAMILY = 1, 401ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_FONT_SUB_FAMILY = 2, 402ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_UNIQUE_FONT_ID = 3, 403ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_FULL_FONT_NAME = 4, 404ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_VERSION_STRING = 5, 405ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_POSTSCRIPT_NAME = 6, 406ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_TRADEMARK = 7, 407ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_MANUFACTURER = 8, 408ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_DESIGNER = 9, 409ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_DESCRIPTION = 10, 410ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_VENDOR_URL = 11, 411ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_DESIGNER_URL = 12, 412ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_LICENSE_DESCRIPTION = 13, 413ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_LICENSE_URL = 14, 414ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_RESERVED = 15, 415ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_PREFERRED_FAMILY = 16, 416ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_PREFERRED_SUB_FAMILY = 17, 417ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_COMPATIBLE_FULL = 18, 418ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_SAMPLE_TEXT = 19, 419ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NAME_POSTSCRIPT_CID = 20 420ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 421ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 422ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct NameRecord 423ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 424ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 platformID; 425ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 encodingID; 426ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 languageID; 427ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 nameID; 428ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 length; 429ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 offset; 430ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 431ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 43283a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 433ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct NameRecord NameRecord; 434ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 435ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 436ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct NAMETable 437ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{ 438ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 version; 439ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 count; 440ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru le_uint16 stringOffset; 441ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru NameRecord nameRecords[ANY_NUMBER]; 442ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}; 443ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 44483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius#ifndef __cplusplus 445ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef struct NAMETable NAMETable; 446ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 447ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 448ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif 449ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru 450