]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/ContextualGlyphInsertion.h
ICU-59180.0.1.tar.gz
[apple/icu.git] / icuSources / layout / ContextualGlyphInsertion.h
1 /**
2 *
3 * (C) Copyright IBM Corp. and Others 1998-2013 - All Rights Reserved
4 *
5 */
6
7 #ifndef __CONTEXTUALGLYPHINSERTION_H
8 #define __CONTEXTUALGLYPHINSERTION_H
9
10 /**
11 * \file
12 * \internal
13 */
14
15 #include "LETypes.h"
16 #include "LayoutTables.h"
17 #include "StateTables.h"
18 #include "MorphTables.h"
19 #include "MorphStateTables.h"
20
21 U_NAMESPACE_BEGIN
22
23 struct ContextualGlyphInsertionHeader : MorphStateTableHeader
24 {
25 };
26
27 struct ContextualGlyphInsertionHeader2 : MorphStateTableHeader2
28 {
29 le_uint32 insertionTableOffset;
30 };
31
32 enum ContextualGlyphInsertionFlags
33 {
34 cgiSetMark = 0x8000,
35 cgiDontAdvance = 0x4000,
36 cgiCurrentIsKashidaLike = 0x2000,
37 cgiMarkedIsKashidaLike = 0x1000,
38 cgiCurrentInsertBefore = 0x0800,
39 cgiMarkInsertBefore = 0x0400,
40 cgiCurrentInsertCountMask = 0x03E0,
41 cgiMarkedInsertCountMask = 0x001F
42 };
43
44 struct ContextualGlyphInsertionStateEntry : StateEntry
45 {
46 ByteOffset currentInsertionListOffset;
47 ByteOffset markedInsertionListOffset;
48 };
49
50 struct ContextualGlyphInsertionStateEntry2 : StateEntry2
51 {
52 le_uint16 currentInsertionListIndex;
53 le_uint16 markedInsertionListIndex;
54 };
55
56 U_NAMESPACE_END
57 #endif