1/* 2 * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved 3 * 4 */ 5 6#ifndef __GLYPHPOSITIONINGTABLES_H 7#define __GLYPHPOSITIONINGTABLES_H 8 9/** 10 * \file 11 * \internal 12 */ 13 14#include "LETypes.h" 15#include "OpenTypeTables.h" 16#include "Lookups.h" 17#include "GlyphLookupTables.h" 18 19U_NAMESPACE_BEGIN 20 21class LEFontInstance; 22class LEGlyphStorage; 23class LEGlyphFilter; 24class GlyphPositionAdjustments; 25struct GlyphDefinitionTableHeader; 26 27struct GlyphPositioningTableHeader : public GlyphLookupTableHeader 28{ 29 void process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, 30 le_bool rightToLeft, LETag scriptTag, LETag languageTag, 31 const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, LEErrorCode &success, 32 const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const; 33}; 34 35enum GlyphPositioningSubtableTypes 36{ 37 gpstSingle = 1, 38 gpstPair = 2, 39 gpstCursive = 3, 40 gpstMarkToBase = 4, 41 gpstMarkToLigature = 5, 42 gpstMarkToMark = 6, 43 gpstContext = 7, 44 gpstChainedContext = 8, 45 gpstExtension = 9 46}; 47 48typedef LookupSubtable GlyphPositioningSubtable; 49 50U_NAMESPACE_END 51#endif 52