]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/ContextualGlyphSubstitution.h
ICU-59180.0.1.tar.gz
[apple/icu.git] / icuSources / layout / ContextualGlyphSubstitution.h
1 /*
2 *
3 * (C) Copyright IBM Corp. and others 1998-2016 - All Rights Reserved
4 *
5 */
6
7 #ifndef __CONTEXTUALGLYPHSUBSTITUTION_H
8 #define __CONTEXTUALGLYPHSUBSTITUTION_H
9
10 /**
11 * \file
12 * \internal
13 */
14
15 #include "LETypes.h"
16 #include "LayoutTables.h"
17 #include "MorphStateTables.h"
18 #include "MorphTables.h"
19 #include "StateTables.h"
20
21 U_NAMESPACE_BEGIN
22
23 struct ContextualGlyphSubstitutionHeader : MorphStateTableHeader
24 {
25 ByteOffset substitutionTableOffset;
26 };
27
28 struct ContextualGlyphHeader2 : MorphStateTableHeader2
29 {
30 le_uint32 perGlyphTableOffset; // no more substitution tables
31 };
32
33 enum ContextualGlyphSubstitutionFlags
34 {
35 cgsSetMark = 0x8000,
36 cgsDontAdvance = 0x4000,
37 cgsReserved = 0x3FFF
38 };
39
40 struct ContextualGlyphSubstitutionStateEntry : StateEntry
41 {
42 WordOffset markOffset;
43 WordOffset currOffset;
44 };
45
46 struct ContextualGlyphStateEntry2 : StateEntry2
47 {
48 le_uint16 markIndex;
49 le_uint16 currIndex;
50 };
51
52 U_NAMESPACE_END
53 #endif