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 20U_NAMESPACE_BEGIN 21 22struct ContextualGlyphSubstitutionHeader : MorphStateTableHeader 23{ 24 ByteOffset substitutionTableOffset; 25}; 26 27struct ContextualGlyphHeader2 : MorphStateTableHeader2 28{ 29 le_uint32 perGlyphTableOffset; // no more substitution tables 30}; 31 32enum ContextualGlyphSubstitutionFlags 33{ 34 cgsSetMark = 0x8000, 35 cgsDontAdvance = 0x4000, 36 cgsReserved = 0x3FFF 37}; 38 39struct ContextualGlyphSubstitutionStateEntry : StateEntry 40{ 41 WordOffset markOffset; 42 WordOffset currOffset; 43}; 44 45struct ContextualGlyphStateEntry2 : StateEntry2 46{ 47 le_uint16 markIndex; 48 le_uint16 currIndex; 49}; 50 51U_NAMESPACE_END 52#endif 53