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 21U_NAMESPACE_BEGIN 22 23struct ContextualGlyphInsertionHeader : MorphStateTableHeader 24{ 25}; 26 27struct ContextualGlyphInsertionHeader2 : MorphStateTableHeader2 28{ 29 le_uint32 insertionTableOffset; 30}; 31 32enum 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 44struct ContextualGlyphInsertionStateEntry : StateEntry 45{ 46 ByteOffset currentInsertionListOffset; 47 ByteOffset markedInsertionListOffset; 48}; 49 50struct ContextualGlyphInsertionStateEntry2 : StateEntry2 51{ 52 le_uint16 currentInsertionListIndex; 53 le_uint16 markedInsertionListIndex; 54}; 55 56U_NAMESPACE_END 57#endif 58