Home | History | Annotate | Download | only in layout
      1 /*
      2  * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved
      3  *
      4  */
      5 
      6 #include "LETypes.h"
      7 #include "LEFontInstance.h"
      8 #include "OpenTypeTables.h"
      9 #include "Lookups.h"
     10 #include "GlyphDefinitionTables.h"
     11 #include "GlyphPositioningTables.h"
     12 #include "GlyphPosnLookupProc.h"
     13 #include "CursiveAttachmentSubtables.h"
     14 #include "LEGlyphStorage.h"
     15 #include "GlyphPositionAdjustments.h"
     16 
     17 U_NAMESPACE_BEGIN
     18 
     19 void GlyphPositioningTableHeader::process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, le_bool rightToLeft,
     20                                           LETag scriptTag, LETag languageTag,
     21                                           const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, LEErrorCode &success,
     22                                           const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const
     23 {
     24     if (LE_FAILURE(success)) {
     25         return;
     26     }
     27 
     28     GlyphPositioningLookupProcessor processor(this, scriptTag, languageTag, featureMap, featureMapCount, featureOrder, success);
     29     if (LE_FAILURE(success)) {
     30         return;
     31     }
     32 
     33     processor.process(glyphStorage, glyphPositionAdjustments, rightToLeft, glyphDefinitionTableHeader, fontInstance, success);
     34 
     35     glyphPositionAdjustments->applyCursiveAdjustments(glyphStorage, rightToLeft, fontInstance);
     36 }
     37 
     38 U_NAMESPACE_END
     39