2 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #include "LEFontInstance.h"
8 #include "OpenTypeTables.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"
19 void GlyphPositioningTableHeader::process(const LEReferenceTo
<GlyphPositioningTableHeader
> &base
, LEGlyphStorage
&glyphStorage
, GlyphPositionAdjustments
*glyphPositionAdjustments
, le_bool rightToLeft
,
20 LETag scriptTag
, LETag languageTag
,
21 const LEReferenceTo
<GlyphDefinitionTableHeader
> &glyphDefinitionTableHeader
, LEErrorCode
&success
,
22 const LEFontInstance
*fontInstance
, const FeatureMap
*featureMap
, le_int32 featureMapCount
, le_bool featureOrder
) const
24 if (LE_FAILURE(success
)) {
28 GlyphPositioningLookupProcessor
processor(base
, scriptTag
, languageTag
, featureMap
, featureMapCount
, featureOrder
, success
);
29 if (LE_FAILURE(success
)) {
33 processor
.process(glyphStorage
, glyphPositionAdjustments
, rightToLeft
, glyphDefinitionTableHeader
, fontInstance
, success
);
35 glyphPositionAdjustments
->applyCursiveAdjustments(glyphStorage
, rightToLeft
, fontInstance
);