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 58