sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __GLYPHSUBSTITUTIONTABLES_H sl@0: #define __GLYPHSUBSTITUTIONTABLES_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "OpenTypeTables.h" sl@0: #include "Lookups.h" sl@0: #include "GlyphLookupTables.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: class LEGlyphStorage; sl@0: class LEGlyphFilter; sl@0: struct GlyphDefinitionTableHeader; sl@0: sl@0: struct GlyphSubstitutionTableHeader : public GlyphLookupTableHeader sl@0: { sl@0: le_int32 process(LEGlyphStorage &glyphStorage, le_bool rightToLeft, LETag scriptTag, LETag languageTag, sl@0: const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, sl@0: LEErrorCode &success, sl@0: const LEGlyphFilter *filter = NULL, const LETag *featureOrder = NULL) const; sl@0: }; sl@0: sl@0: enum GlyphSubstitutionSubtableTypes sl@0: { sl@0: gsstSingle = 1, sl@0: gsstMultiple = 2, sl@0: gsstAlternate = 3, sl@0: gsstLigature = 4, sl@0: gsstContext = 5, sl@0: gsstChainingContext = 6, sl@0: gsstExtension = 7, sl@0: gsstReverseChaining = 8 sl@0: }; sl@0: sl@0: typedef LookupSubtable GlyphSubstitutionSubtable; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif