sl@0: /*
sl@0:  *
sl@0:  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
sl@0:  *
sl@0:  */
sl@0: 
sl@0: #ifndef __CONTEXTUALGLYPHINSERTION_H
sl@0: #define __CONTEXTUALGLYPHINSERTION_H
sl@0: 
sl@0: /**
sl@0:  * \file
sl@0:  * \internal
sl@0:  */
sl@0: 
sl@0: #include "LETypes.h"
sl@0: #include "LayoutTables.h"
sl@0: #include "StateTables.h"
sl@0: #include "MorphTables.h"
sl@0: #include "MorphStateTables.h"
sl@0: 
sl@0: U_NAMESPACE_BEGIN
sl@0: 
sl@0: struct ContextualGlyphInsertionHeader : MorphStateTableHeader
sl@0: {
sl@0: };
sl@0: 
sl@0: enum ContextualGlyphInsertionFlags
sl@0: {
sl@0:     cgiSetMark                  = 0x8000,
sl@0:     cgiDontAdvance              = 0x4000,
sl@0:     cgiCurrentIsKashidaLike     = 0x2000,
sl@0:     cgiMarkedIsKashidaLike      = 0x1000,
sl@0:     cgiCurrentInsertBefore      = 0x0800,
sl@0:     cgiMarkInsertBefore         = 0x0400,
sl@0:     cgiCurrentInsertCountMask   = 0x03E0,
sl@0:     cgiMarkedInsertCountMask    = 0x001F
sl@0: };
sl@0: 
sl@0: struct LigatureSubstitutionStateEntry : StateEntry
sl@0: {
sl@0:     ByteOffset currentInsertionListOffset;
sl@0:     ByteOffset markedInsertionListOffset;
sl@0: };
sl@0: 
sl@0: U_NAMESPACE_END
sl@0: #endif