]> git.saurik.com Git - apple/icu.git/blob - icuSources/layout/IndicRearrangement.h
ICU-511.27.tar.gz
[apple/icu.git] / icuSources / layout / IndicRearrangement.h
1 /*
2 *
3 * (C) Copyright IBM Corp. and Others 1998-2013 - All Rights Reserved
4 *
5 */
6
7 #ifndef __INDICREARRANGEMENT_H
8 #define __INDICREARRANGEMENT_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 IndicRearrangementSubtableHeader : MorphStateTableHeader
24 {
25 };
26
27 struct IndicRearrangementSubtableHeader2 : MorphStateTableHeader2
28 {
29 };
30
31 enum IndicRearrangementFlags
32 {
33 irfMarkFirst = 0x8000,
34 irfDontAdvance = 0x4000,
35 irfMarkLast = 0x2000,
36 irfReserved = 0x1FF0,
37 irfVerbMask = 0x000F
38 };
39
40 enum IndicRearrangementVerb
41 {
42 irvNoAction = 0x0000, /* no action */
43 irvxA = 0x0001, /* Ax => xA */
44 irvDx = 0x0002, /* xD => Dx */
45 irvDxA = 0x0003, /* AxD => DxA */
46
47 irvxAB = 0x0004, /* ABx => xAB */
48 irvxBA = 0x0005, /* ABx => xBA */
49 irvCDx = 0x0006, /* xCD => CDx */
50 irvDCx = 0x0007, /* xCD => DCx */
51
52 irvCDxA = 0x0008, /* AxCD => CDxA */
53 irvDCxA = 0x0009, /* AxCD => DCxA */
54 irvDxAB = 0x000A, /* ABxD => DxAB */
55 irvDxBA = 0x000B, /* ABxD => DxBA */
56
57 irvCDxAB = 0x000C, /* ABxCD => CDxAB */
58 irvCDxBA = 0x000D, /* ABxCD => CDxBA */
59 irvDCxAB = 0x000E, /* ABxCD => DCxAB */
60 irvDCxBA = 0x000F /* ABxCD => DCxBA */
61 };
62
63 struct IndicRearrangementStateEntry : StateEntry
64 {
65 };
66
67 struct IndicRearrangementStateEntry2 : StateEntry2
68 {
69 };
70
71 U_NAMESPACE_END
72 #endif
73