/*
*
- * (C) Copyright IBM Corp. 1998-2005 - All Rights Reserved
+ * (C) Copyright IBM Corp. 1998-2008 - All Rights Reserved
*
*/
return fEntryExitPoints[index].getExitPoint(exitPoint);
}
+void GlyphPositionAdjustments::clearEntryPoint(le_int32 index)
+{
+ CHECK_ALLOCATE_ARRAY(fEntryExitPoints, EntryExitPoint, fGlyphCount);
+
+ fEntryExitPoints[index].clearEntryPoint();
+}
+
+void GlyphPositionAdjustments::clearExitPoint(le_int32 index)
+{
+ CHECK_ALLOCATE_ARRAY(fEntryExitPoints, EntryExitPoint, fGlyphCount);
+
+ fEntryExitPoints[index].clearExitPoint();
+}
+
void GlyphPositionAdjustments::setEntryPoint(le_int32 index, LEPoint &newEntryPoint, le_bool baselineIsLogicalEnd)
{
CHECK_ALLOCATE_ARRAY(fEntryExitPoints, EntryExitPoint, fGlyphCount);
lastExitGlyphID = glyphID;
} else {
if (baselineIsLogicalEnd(i) && firstExitPoint >= 0 && lastExitPoint >= 0) {
- le_int32 limit = lastExitPoint + dir;
+ le_int32 limit = lastExitPoint /*+ dir*/;
+ LEPoint dummyAnchor;
+
+ if (getEntryPoint(i, dummyAnchor) != NULL) {
+ limit += dir;
+ }
for (le_int32 j = firstExitPoint; j != limit; j += dir) {
if (isCursiveGlyph(j)) {