2362N/A * or visit www.oracle.com if you need additional information or have any
0N/A#include "LEFontInstance.h"
0N/A#include "OpenTypeTables.h"
0N/A#include "AnchorTables.h"
0N/A#include "MarkArrays.h"
0N/A#include "GlyphPositioningTables.h"
0N/A#include "AttachmentPosnSubtables.h"
0N/A#include "MarkToLigaturePosnSubtables.h"
0N/A#include "GlyphIterator.h"
0N/ALEGlyphID MarkToLigaturePositioningSubtable::findLigatureGlyph(GlyphIterator *glyphIterator) const
5980N/Ale_int32 MarkToLigaturePositioningSubtable::process(const LETableReference &base, GlyphIterator *glyphIterator, const LEFontInstance *fontInstance, LEErrorCode &success) const
0N/A if (markCoverage < 0) {
0N/A le_int32 markClass = markArray->getMarkClass(markGlyph, markCoverage, fontInstance, markAnchor);
0N/A GlyphIterator ligatureIterator(*glyphIterator, (le_uint16) (lfIgnoreMarks /*| lfIgnoreBaseGlyphs*/));
0N/A const LigatureArray *ligatureArray = (const LigatureArray *) ((char *) this + SWAPW(baseArrayOffset));
0N/A Offset ligatureAttachOffset = SWAPW(ligatureArray->ligatureAttachTableOffsetArray[ligatureCoverage]);
0N/A const LigatureAttachTable *ligatureAttachTable = (const LigatureAttachTable *) ((char *) ligatureArray + ligatureAttachOffset);
0N/A const ComponentRecord *componentRecord = &ligatureAttachTable->componentRecordArray[component * mcCount];
0N/A const AnchorTable *anchorTable = (const AnchorTable *) ((char *) ligatureAttachTable + anchorTableOffset);
0N/A glyphIterator->setCurrGlyphPositionAdjustment(anchorDiffX, anchorDiffY, -markAdvance.fX, -markAdvance.fY);