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