- glyphIterator->getCursiveLastExitPoint(exitAnchor);
-
- float anchorDiffX = exitAnchor.fX - entryAnchor.fX;
- float anchorDiffY = exitAnchor.fY - entryAnchor.fY;
- float baselineAdjustment = glyphIterator->getCursiveBaselineAdjustment();
-
- if (glyphIterator->isRightToLeft()) {
- LEPoint secondAdvance;
-
- fontInstance->getGlyphAdvance(glyphID, pixels);
- fontInstance->pixelsToUnits(pixels, secondAdvance);
-
- glyphIterator->adjustCurrGlyphPositionAdjustment(0, anchorDiffY + baselineAdjustment, -(anchorDiffX + secondAdvance.fX), 0);
- } else {
- LEPoint firstAdvance;
-
- fontInstance->getGlyphAdvance(glyphIterator->getCursiveLastGlyphID(), pixels);
- fontInstance->pixelsToUnits(pixels, firstAdvance);
-
- glyphIterator->adjustCursiveLastGlyphPositionAdjustment(0, 0, anchorDiffX - firstAdvance.fX, 0);
- glyphIterator->adjustCurrGlyphPositionAdjustment(0, anchorDiffY + baselineAdjustment, 0, 0);
- }
-
- glyphIterator->setCursiveBaselineAdjustment(anchorDiffY + baselineAdjustment);