diff -r 000000000000 -r bde4ae8d615e os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphPositioningTables.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphPositioningTables.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,53 @@ +/* + * + * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved + * + */ + +#ifndef __GLYPHPOSITIONINGTABLES_H +#define __GLYPHPOSITIONINGTABLES_H + +/** + * \file + * \internal + */ + +#include "LETypes.h" +#include "OpenTypeTables.h" +#include "Lookups.h" +#include "GlyphLookupTables.h" + +U_NAMESPACE_BEGIN + +class LEFontInstance; +class LEGlyphStorage; +class LEGlyphFilter; +class GlyphPositionAdjustments; +struct GlyphDefinitionTableHeader; + +struct GlyphPositioningTableHeader : public GlyphLookupTableHeader +{ + void process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, + le_bool rightToLeft, LETag scriptTag, LETag languageTag, + const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, + LEErrorCode &success, + const LEFontInstance *fontInstance, const LETag *featureOrder) const; +}; + +enum GlyphPositioningSubtableTypes +{ + gpstSingle = 1, + gpstPair = 2, + gpstCursive = 3, + gpstMarkToBase = 4, + gpstMarkToLigature = 5, + gpstMarkToMark = 6, + gpstContext = 7, + gpstChainedContext = 8, + gpstExtension = 9 +}; + +typedef LookupSubtable GlyphPositioningSubtable; + +U_NAMESPACE_END +#endif