1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __OPENTYPETABLES_H 8 #define __OPENTYPETABLES_H 9 10 /** 11 * \file 12 * \internal 13 */ 14 15 #include "LETypes.h" 16 #include "LETableReference.h" 17 18 U_NAMESPACE_BEGIN 19 20 #define ANY_NUMBER 1 21 22 typedef le_uint16 Offset; 23 typedef le_uint8 ATag[4]; 24 typedef le_uint32 fixed32; 25 26 #define LE_GLYPH_GROUP_MASK 0x00000001UL 27 typedef le_uint32 FeatureMask; 28 29 #define SWAPT(atag) ((LETag) (((atag[0]) << 24) + ((atag[1]) << 16) + ((atag[2]) << 8) + (atag[3]))) 30 31 struct TagAndOffsetRecord 32 { 33 ATag tag; 34 Offset offset; 35 }; 36 37 struct GlyphRangeRecord 38 { 39 TTGlyphID firstGlyph; 40 TTGlyphID lastGlyph; 41 le_int16 rangeValue; 42 }; 43 44 struct FeatureMap 45 { 46 LETag tag; 47 FeatureMask mask; 48 }; 49 50 U_NAMESPACE_END 51 #endif 52