sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __LIGATURESUBSTITUTION_H sl@0: #define __LIGATURESUBSTITUTION_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 LigatureSubstitutionHeader : MorphStateTableHeader sl@0: { sl@0: ByteOffset ligatureActionTableOffset; sl@0: ByteOffset componentTableOffset; sl@0: ByteOffset ligatureTableOffset; sl@0: }; sl@0: sl@0: enum LigatureSubstitutionFlags sl@0: { sl@0: lsfSetComponent = 0x8000, sl@0: lsfDontAdvance = 0x4000, sl@0: lsfActionOffsetMask = 0x3FFF sl@0: }; sl@0: sl@0: struct LigatureSubstitutionStateEntry : StateEntry sl@0: { sl@0: }; sl@0: sl@0: typedef le_uint32 LigatureActionEntry; sl@0: sl@0: enum LigatureActionFlags sl@0: { sl@0: lafLast = 0x80000000, sl@0: lafStore = 0x40000000, sl@0: lafComponentOffsetMask = 0x3FFFFFFF sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif