1 /* 2 * 3 * (C) Copyright IBM Corp. 1998-2004 - 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 enum ContextualGlyphInsertionFlags 28 { 29 cgiSetMark = 0x8000, 30 cgiDontAdvance = 0x4000, 31 cgiCurrentIsKashidaLike = 0x2000, 32 cgiMarkedIsKashidaLike = 0x1000, 33 cgiCurrentInsertBefore = 0x0800, 34 cgiMarkInsertBefore = 0x0400, 35 cgiCurrentInsertCountMask = 0x03E0, 36 cgiMarkedInsertCountMask = 0x001F 37 }; 38 39 struct LigatureSubstitutionStateEntry : StateEntry 40 { 41 ByteOffset currentInsertionListOffset; 42 ByteOffset markedInsertionListOffset; 43 }; 44 45 U_NAMESPACE_END 46 #endif 47