1 /* 2 * 3 * (C) Copyright IBM Corp. and others 1998-2013 - All Rights Reserved 4 * 5 */ 6 7 #ifndef __CONTEXTUALGLYPHSUBSTITUTION_H 8 #define __CONTEXTUALGLYPHSUBSTITUTION_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 20 U_NAMESPACE_BEGIN 21 22 struct ContextualGlyphSubstitutionHeader : MorphStateTableHeader 23 { 24 ByteOffset substitutionTableOffset; 25 }; 26 27 struct ContextualGlyphHeader2 : MorphStateTableHeader2 28 { 29 le_uint32 perGlyphTableOffset; // no more substitution tables 30 }; 31 32 enum ContextualGlyphSubstitutionFlags 33 { 34 cgsSetMark = 0x8000, 35 cgsDontAdvance = 0x4000, 36 cgsReserved = 0x3FFF 37 }; 38 39 struct ContextualGlyphSubstitutionStateEntry : StateEntry 40 { 41 WordOffset markOffset; 42 WordOffset currOffset; 43 }; 44 45 struct ContextualGlyphStateEntry2 : StateEntry2 46 { 47 le_uint16 markIndex; 48 le_uint16 currIndex; 49 }; 50 51 U_NAMESPACE_END 52 #endif 53