16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/*************************************************************************** 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Copyright (C) 1998-2013, International Business Machines 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Corporation and others. All Rights Reserved. 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org************************************************************************/ 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __SFNT_H 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __SFNT_H 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "layout/LETypes.h" 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_NAMESPACE_USE 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef ANY_NUMBER 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define ANY_NUMBER 1 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct DirectoryEntry 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 tag; 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 checksum; 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 offset; 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 length; 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct DirectoryEntry DirectoryEntry; 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct SFNTDirectory 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 scalerType; 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 numTables; 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 searchRange; 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entrySelector; 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 rangeShift; 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DirectoryEntry tableDirectory[ANY_NUMBER]; 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct SFNTDirectory SFNTDirectory; 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPEncodingSubtableHeader 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 platformID; 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 platformSpecificID; 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 encodingOffset; 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPEncodingSubtableHeader CMAPEncodingSubtableHeader; 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPTable 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 version; 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 numberSubtables; 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtableHeader encodingSubtableHeaders[ANY_NUMBER]; 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPTable CMAPTable; 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPEncodingSubtable 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 format; 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 length; 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 language; 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPEncodingSubtable CMAPEncodingSubtable; 776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat0Encoding : CMAPEncodingSubtable 816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint8 glyphIndexArray[256]; 836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat0Encoding 866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable base; 886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint8 glyphIndexArray[256]; 906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat0Encoding CMAPFormat0Encoding; 936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat2Subheader 966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 firstCode; 986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entryCount; 996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 idDelta; 1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 idRangeOffset; 1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat2Subheader CMAPFormat2Subheader; 1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 1086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat2Encoding : CMAPEncodingSubtable 1096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 subHeadKeys[256]; 1116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPFormat2Subheader subheaders[ANY_NUMBER]; 1126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 1146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat2Encoding 1156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable base; 1176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 subHeadKeys[256]; 1196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPFormat2Subheader subheaders[ANY_NUMBER]; 1206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat2Encoding CMAPFormat2Encoding; 1236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 1246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 1266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat4Encoding : CMAPEncodingSubtable 1276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 segCountX2; 1296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 searchRange; 1306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entrySelector; 1316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 rangeShift; 1326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 endCodes[ANY_NUMBER]; 1336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 1346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 reservedPad; 1356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 startCodes[ANY_NUMBER]; 1366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 idDelta[ANY_NUMBER]; 1376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 idRangeOffset[ANY_NUMBER]; 1386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 glyphIndexArray[ANY_NUMBER]; 1396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 1406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 1426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat4Encoding 1436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable base; 1456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 segCountX2; 1476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 searchRange; 1486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entrySelector; 1496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 rangeShift; 1506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 endCodes[ANY_NUMBER]; 1516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 1526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// le_uint16 reservedPad; 1536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// le_uint16 startCodes[ANY_NUMBER]; 1546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// le_uint16 idDelta[ANY_NUMBER]; 1556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// le_uint16 idRangeOffset[ANY_NUMBER]; 1566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// le_uint16 glyphIndexArray[ANY_NUMBER]; 1576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 1586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat4Encoding CMAPFormat4Encoding; 1616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 1626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 1646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat6Encoding : CMAPEncodingSubtable 1656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 firstCode; 1676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entryCount; 1686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 glyphIndexArray[ANY_NUMBER]; 1696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 1716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat6Encoding 1726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable base; 1746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 firstCode; 1766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 entryCount; 1776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 glyphIndexArray[ANY_NUMBER]; 1786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat6Encoding CMAPFormat6Encoding; 1816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 1826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPEncodingSubtable32 1846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 format; 1866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 length; 1876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 language; 1886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 1896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 1916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPEncodingSubtable32 CMAPEncodingSubtable32; 1926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 1936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPGroup 1956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 1966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 startCharCode; 1976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 endCharCode; 1986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 startGlyphCode; 1996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 2026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPGroup CMAPGroup; 2036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 2066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat8Encoding : CMAPEncodingSubtable32 2076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 is32[65536/32]; 2096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 nGroups; 2106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPGroup groups[ANY_NUMBER]; 2116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 2136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat8Encoding 2146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable32 base; 2166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 is32[65536/32]; 2186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 nGroups; 2196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPGroup groups[ANY_NUMBER]; 2206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat8Encoding CMAPFormat8Encoding; 2236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 2266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat10Encoding : CMAPEncodingSubtable32 2276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 startCharCode; 2296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 numCharCodes; 2306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 glyphs[ANY_NUMBER]; 2316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 2336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat10Encoding 2346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable32 base; 2366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 startCharCode; 2386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 numCharCodes; 2396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 glyphs[ANY_NUMBER]; 2406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat10Encoding CMAPFormat10Encoding; 2436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifdef __cplusplus 2466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat12Encoding : CMAPEncodingSubtable32 2476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 nGroups; 2496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPGroup groups[ANY_NUMBER]; 2506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#else 2526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct CMAPFormat12Encoding 2536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPEncodingSubtable32 base; 2556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 nGroups; 2576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CMAPGroup groups[ANY_NUMBER]; 2586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct CMAPFormat12Encoding CMAPFormat12Encoding; 2616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef le_int32 fixed; 2646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct BigDate 2666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 bc; 2686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 ad; 2696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 2726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct BigDate BigDate; 2736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct HEADTable 2766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 2776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fixed version; 2786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fixed fontRevision; 2796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 checksumAdjustment; 2806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint32 magicNumber; 2816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 flags; 2826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 unitsPerEm; 2836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org BigDate created; 2846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org BigDate modified; 2856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 xMin; 2866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 yMin; 2876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 xMax; 2886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 yMax; 2896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 lowestRecPPEM; 2906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 fontDirectionHint; 2916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 indexToLocFormat; 2926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 glyphDataFormat; 2936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 2946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 2966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct HEADTable HEADTable; 2976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 2986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct MAXPTable 3006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fixed version; 3026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 numGlyphs; 3036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxPoints; 3046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxContours; 3056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxComponentPoints; 3066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxComponentContours; 3076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxZones; 3086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxTwilightPoints; 3096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxStorage; 3106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxFunctionDefs; 3116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxInstructionDefs; 3126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxStackElements; 3136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxSizeOfInstructions; 3146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxComponentElements; 3156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 maxComponentDepth; 3166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 3196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct MAXPTable MAXPTable; 3206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 3216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct HHEATable 3236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fixed version; 3256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 ascent; 3266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 descent; 3276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 lineGap; 3286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 advanceWidthMax; 3296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 minLeftSideBearing; 3306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 minRightSideBearing; 3316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 xMaxExtent; 3326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 caretSlopeRise; 3336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 caretSlopeRun; 3346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 caretOffset; 3356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 reserved1; 3366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 reserved2; 3376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 reserved3; 3386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 reserved4; 3396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 metricDataFormat; 3406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 numOfLongHorMetrics; 3416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 3446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct HHEATable HHEATable; 3456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 3466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct LongHorMetric 3486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 advanceWidth; 3506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_int16 leftSideBearing; 3516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 3546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct LongHorMetric LongHorMetric; 3556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 3566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct HMTXTable 3586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LongHorMetric hMetrics[ANY_NUMBER]; /* ANY_NUMBER = numOfLongHorMetrics from hhea table */ 3606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* le_int16 leftSideBearing[ANY_NUMBER]; ANY_NUMBER = numGlyphs - numOfLongHorMetrics */ 3616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 3646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct HMTXTable HMTXTable; 3656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 3666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum PlatformID 3686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org PLATFORM_UNICODE = 0, 3706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org PLATFORM_MACINTOSH = 1, 3716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org PLATFORM_ISO = 2, 3726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org PLATFORM_MICROSOFT = 3, 3736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org PLATFORM_CUSTOM = 4 3746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum MacintoshEncodingID 3776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org MACINTOSH_ROMAN = 0 3796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum MacintoshLanguageID 3826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org MACINTOSH_ENGLISH = 0 3846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum MicrosoftEncodingID 3876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org MICROSOFT_UNICODE_BMP = 1, 3896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org MICROSOFT_UNICODE_FULL = 10 3906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum MicrosoftLanguageID 3936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org MICROSOFT_ENGLISH = 0x409 3956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 3966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenum NameID 3986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 3996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_COPYRIGHT_NOTICE = 0, 4006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_FONT_FAMILY = 1, 4016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_FONT_SUB_FAMILY = 2, 4026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_UNIQUE_FONT_ID = 3, 4036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_FULL_FONT_NAME = 4, 4046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_VERSION_STRING = 5, 4056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_POSTSCRIPT_NAME = 6, 4066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_TRADEMARK = 7, 4076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_MANUFACTURER = 8, 4086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_DESIGNER = 9, 4096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_DESCRIPTION = 10, 4106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_VENDOR_URL = 11, 4116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_DESIGNER_URL = 12, 4126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_LICENSE_DESCRIPTION = 13, 4136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_LICENSE_URL = 14, 4146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_RESERVED = 15, 4156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_PREFERRED_FAMILY = 16, 4166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_PREFERRED_SUB_FAMILY = 17, 4176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_COMPATIBLE_FULL = 18, 4186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_SAMPLE_TEXT = 19, 4196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NAME_POSTSCRIPT_CID = 20 4206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 4216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct NameRecord 4236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 4246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 platformID; 4256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 encodingID; 4266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 languageID; 4276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 nameID; 4286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 length; 4296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 offset; 4306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 4316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 4336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct NameRecord NameRecord; 4346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 4356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstruct NAMETable 4376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 4386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 version; 4396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 count; 4406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org le_uint16 stringOffset; 4416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NameRecord nameRecords[ANY_NUMBER]; 4426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 4436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __cplusplus 4456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgtypedef struct NAMETable NAMETable; 4466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 4476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 4496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 450