00001 /* 00002 * @(#)MarkToLigaturePositioningSubtables.h 1.5 00/03/15 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __MARKTOLIGATUREPOSITIONINGSUBTABLES_H 00009 #define __MARKTOLIGATUREPOSITIONINGSUBTABLES_H 00010 00011 #include "LETypes.h" 00012 #include "LEFontInstance.h" 00013 #include "OpenTypeTables.h" 00014 #include "GlyphPositioningTables.h" 00015 #include "AttachmentPositioningSubtables.h" 00016 #include "GlyphIterator.h" 00017 00018 struct MarkToLigaturePositioningSubtable : AttachmentPositioningSubtable 00019 { 00020 le_int32 process(GlyphIterator *glyphIterator, LEFontInstance *fontInstance); 00021 LEGlyphID findLigatureGlyph(GlyphIterator *glyphIterator); 00022 }; 00023 00024 struct ComponentRecord 00025 { 00026 Offset ligatureAnchorTableOffsetArray[ANY_NUMBER]; 00027 }; 00028 00029 struct LigatureAttachTable 00030 { 00031 le_uint16 componentCount; 00032 ComponentRecord componentRecordArray[ANY_NUMBER]; 00033 }; 00034 00035 struct LigatureArray 00036 { 00037 le_uint16 ligatureCount; 00038 Offset ligatureAttachTableOffsetArray[ANY_NUMBER]; 00039 }; 00040 00041 #endif 00042