Home | History | Annotate | Download | only in layout
      1 /*
      2  * (C) Copyright IBM Corp. 1998-2013 - 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 #include "LETableReference.h"
     19 
     20 U_NAMESPACE_BEGIN
     21 
     22 class  LEFontInstance;
     23 class  LEGlyphStorage;
     24 class  LEGlyphFilter;
     25 class  GlyphPositionAdjustments;
     26 struct GlyphDefinitionTableHeader;
     27 
     28 struct GlyphPositioningTableHeader : public GlyphLookupTableHeader
     29 {
     30   void    process(const LEReferenceTo<GlyphPositioningTableHeader> &base, LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments,
     31                 le_bool rightToLeft, LETag scriptTag, LETag languageTag,
     32                 const LEReferenceTo<GlyphDefinitionTableHeader> &glyphDefinitionTableHeader, LEErrorCode &success,
     33                 const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const;
     34 };
     35 
     36 enum GlyphPositioningSubtableTypes
     37 {
     38     gpstSingle          = 1,
     39     gpstPair            = 2,
     40     gpstCursive         = 3,
     41     gpstMarkToBase      = 4,
     42     gpstMarkToLigature  = 5,
     43     gpstMarkToMark      = 6,
     44     gpstContext         = 7,
     45     gpstChainedContext  = 8,
     46     gpstExtension       = 9
     47 };
     48 
     49 typedef LookupSubtable GlyphPositioningSubtable;
     50 
     51 U_NAMESPACE_END
     52 #endif
     53