g = GREF (ctx->out, i);
if (! GET_COMBINING_CODE (g))
{
- if (GET_LEFT_PADDING (g) && g->lbearing < 0)
+ if (GET_RIGHT_PADDING (g) && g->rbearing > g->xadv)
{
- g->xoff -= g->lbearing;
- if (g->rbearing < 0)
- g->xadv = g->rbearing - g->lbearing;
- else
- g->xadv += g->xoff;
- g->rbearing += g->xoff;
- g->lbearing = 0;
+ g->xadv = g->rbearing;
}
- if (i > 0 && GET_RIGHT_PADDING (g) && g->rbearing > g->xadv)
+ if (GET_LEFT_PADDING (g) && g->lbearing < 0)
{
- g->xadv = g->rbearing;
+ g->xoff += - g->lbearing;
+ g->xadv += - g->lbearing;
+ g->rbearing += - g->lbearing;
+ g->lbearing = 0;
}
}
}