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