39 #include "LEGlyphStorage.h" |
39 #include "LEGlyphStorage.h" |
40 #include "GlyphPositionAdjustments.h" |
40 #include "GlyphPositionAdjustments.h" |
41 |
41 |
42 U_NAMESPACE_BEGIN |
42 U_NAMESPACE_BEGIN |
43 |
43 |
44 void GlyphPositioningTableHeader::process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, le_bool rightToLeft, |
44 void GlyphPositioningTableHeader::process(const LEReferenceTo<GlyphPositioningTableHeader> &base, LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, le_bool rightToLeft, |
45 LETag scriptTag, LETag languageTag, |
45 LETag scriptTag, LETag languageTag, |
46 const GlyphDefinitionTableHeader *glyphDefinitionTableHeader, LEErrorCode &success, |
46 const LEReferenceTo<GlyphDefinitionTableHeader> &glyphDefinitionTableHeader, LEErrorCode &success, |
47 const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const |
47 const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const |
48 { |
48 { |
49 if (LE_FAILURE(success)) { |
49 if (LE_FAILURE(success)) { |
50 return; |
50 return; |
51 } |
51 } |
52 |
52 |
53 GlyphPositioningLookupProcessor processor(this, scriptTag, languageTag, featureMap, featureMapCount, featureOrder, success); |
53 GlyphPositioningLookupProcessor processor(base, scriptTag, languageTag, featureMap, featureMapCount, featureOrder, success); |
54 if (LE_FAILURE(success)) { |
54 if (LE_FAILURE(success)) { |
55 return; |
55 return; |
56 } |
56 } |
57 |
57 |
58 processor.process(glyphStorage, glyphPositionAdjustments, rightToLeft, glyphDefinitionTableHeader, fontInstance, success); |
58 processor.process(glyphStorage, glyphPositionAdjustments, rightToLeft, glyphDefinitionTableHeader, fontInstance, success); |