3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #ifndef __GLYPHDEFINITIONTABLES_H
8 #define __GLYPHDEFINITIONTABLES_H
16 #include "OpenTypeTables.h"
17 #include "ClassDefinitionTables.h"
21 typedef ClassDefinitionTable GlyphClassDefinitionTable
;
23 enum GlyphClassDefinitions
32 struct AttachmentListTable
34 Offset coverageTableOffset
;
36 Offset attachPointTableOffsetArray
[ANY_NUMBER
];
38 LE_VAR_ARRAY(AttachmentListTable
, attachPointTableOffsetArray
)
40 struct AttachPointTable
43 le_uint16 pointIndexArray
[ANY_NUMBER
];
45 LE_VAR_ARRAY(AttachPointTable
, pointIndexArray
)
47 struct LigatureCaretListTable
49 Offset coverageTableOffset
;
50 le_uint16 ligGlyphCount
;
51 Offset ligGlyphTableOffsetArray
[ANY_NUMBER
];
53 LE_VAR_ARRAY(LigatureCaretListTable
, ligGlyphTableOffsetArray
)
55 struct LigatureGlyphTable
58 Offset caretValueTableOffsetArray
[ANY_NUMBER
];
60 LE_VAR_ARRAY(LigatureGlyphTable
, caretValueTableOffsetArray
)
62 struct CaretValueTable
64 le_uint16 caretValueFormat
;
67 struct CaretValueFormat1Table
: CaretValueTable
72 struct CaretValueFormat2Table
: CaretValueTable
74 le_uint16 caretValuePoint
;
77 struct CaretValueFormat3Table
: CaretValueTable
80 Offset deviceTableOffset
;
83 typedef ClassDefinitionTable MarkAttachClassDefinitionTable
;
85 struct GlyphDefinitionTableHeader
88 Offset glyphClassDefOffset
;
89 Offset attachListOffset
;
90 Offset ligCaretListOffset
;
91 Offset MarkAttachClassDefOffset
;
93 const LEReferenceTo
<GlyphClassDefinitionTable
>
94 getGlyphClassDefinitionTable(const LEReferenceTo
<GlyphDefinitionTableHeader
>& base
,
95 LEErrorCode
&success
) const;
96 const LEReferenceTo
<AttachmentListTable
>
97 getAttachmentListTable(const LEReferenceTo
<GlyphDefinitionTableHeader
>& base
,
98 LEErrorCode
&success
)const ;
99 const LEReferenceTo
<LigatureCaretListTable
>
100 getLigatureCaretListTable(const LEReferenceTo
<GlyphDefinitionTableHeader
>& base
,
101 LEErrorCode
&success
) const;
102 const LEReferenceTo
<MarkAttachClassDefinitionTable
>
103 getMarkAttachClassDefinitionTable(const LEReferenceTo
<GlyphDefinitionTableHeader
>& base
,
104 LEErrorCode
&success
) const;