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 
74