os/textandloc/fontservices/textshaperplugin/IcuSource/layout/GlyphPositioningTables.cpp
First public contribution.
3 * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
8 #include "LEFontInstance.h"
9 #include "OpenTypeTables.h"
11 #include "GlyphDefinitionTables.h"
12 #include "GlyphPositioningTables.h"
13 #include "GlyphPosnLookupProc.h"
14 #include "CursiveAttachmentSubtables.h"
15 #include "LEGlyphStorage.h"
16 #include "GlyphPositionAdjustments.h"
20 void GlyphPositioningTableHeader::process(LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments, le_bool rightToLeft,
21 LETag scriptTag, LETag languageTag,
22 const GlyphDefinitionTableHeader *glyphDefinitionTableHeader,
24 const LEFontInstance *fontInstance, const LETag *featureOrder) const
26 if (LE_FAILURE(success)) {
30 GlyphPositioningLookupProcessor processor(this, scriptTag, languageTag, featureOrder);
32 if (processor.isBogus()) {
33 success = LE_MEMORY_ALLOCATION_ERROR;
37 processor.process(glyphStorage, glyphPositionAdjustments, rightToLeft,
38 glyphDefinitionTableHeader, fontInstance, success);
40 glyphPositionAdjustments->applyCursiveAdjustments(glyphStorage, rightToLeft, fontInstance);