00001 /* 00002 * @(#)LigatureSubstitutionSubtables.h 1.6 00/03/15 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __LIGATURESUBSTITUTIONSUBTABLES_H 00009 #define __LIGATURESUBSTITUTIONSUBTABLES_H 00010 00011 #include "LETypes.h" 00012 #include "LEGlyphFilter.h" 00013 #include "OpenTypeTables.h" 00014 #include "GlyphSubstitutionTables.h" 00015 #include "GlyphIterator.h" 00016 00017 struct LigatureSetTable 00018 { 00019 le_uint16 ligatureCount; 00020 Offset ligatureTableOffsetArray[ANY_NUMBER]; 00021 }; 00022 00023 struct LigatureTable 00024 { 00025 LEGlyphID ligGlyph; 00026 le_uint16 compCount; 00027 LEGlyphID componentArray[ANY_NUMBER]; 00028 }; 00029 00030 struct LigatureSubstitutionSubtable : GlyphSubstitutionSubtable 00031 { 00032 le_uint16 ligSetCount; 00033 Offset ligSetTableOffsetArray[ANY_NUMBER]; 00034 00035 le_uint32 process(GlyphIterator *glyphIterator, LEGlyphFilter *filter = NULL); 00036 }; 00037 00038 #endif