/*
- * @(#)GlyphPositioningTables.h 1.7 00/03/15
- *
- * (C) Copyright IBM Corp. 1998-2003 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved
*
*/
*/
#include "LETypes.h"
-#include "LEFontInstance.h"
#include "OpenTypeTables.h"
#include "Lookups.h"
-#include "GlyphDefinitionTables.h"
-#include "GlyphPositionAdjustments.h"
+#include "GlyphLookupTables.h"
U_NAMESPACE_BEGIN
-struct GlyphPositioningTableHeader
-{
- fixed32 version;
- Offset scriptListOffset;
- Offset featureListOffset;
- Offset lookupListOffset;
+class LEFontInstance;
+class LEGlyphStorage;
+class LEGlyphFilter;
+class GlyphPositionAdjustments;
+struct GlyphDefinitionTableHeader;
- void process(LEGlyphID *glyphs, GlyphPositionAdjustment *glyphPositionAdjustments,
- const LETag **glyphTags, le_int32 glyphCount,
+struct GlyphPositioningTableHeader : public GlyphLookupTableHeader
+{
+ void process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments,
le_bool rightToLeft, LETag scriptTag, LETag languageTag,
- const GlyphDefinitionTableHeader *glyphDefinitionTableHeader,
- const LEFontInstance *fontInstance, const LETag *featureOrder) const;
+ const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, LEErrorCode &success,
+ const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const;
};
enum GlyphPositioningSubtableTypes