From: handa Date: Fri, 23 Jul 2004 11:52:06 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: REL-1-1-0~78 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=f7023113b27068a3c2b3b922adeff7f4c2d89f21;p=m17n%2Fm17n-lib.git *** empty log message *** --- diff --git a/src/font-ft.c b/src/font-ft.c index 6baceb1..da3adba 100644 --- a/src/font-ft.c +++ b/src/font-ft.c @@ -1087,7 +1087,9 @@ mfont__ft_drive_gpos (MGlyphString *gstring, int from, int to) u = otf->head->unitsPerEm; size10 = g->rface->rfont->font.property[MFONT_SIZE]; size = size10 / 10; - for (i = from_idx; i != to_idx; i += inc) + if (inc < 0) + g = MGLPYH (from + len - 1); + for (i = 0; i < len; i++, g += inc) { OTF_Glyph *otfg = otf_gstring.glyphs + i; @@ -1115,7 +1117,6 @@ mfont__ft_drive_gpos (MGlyphString *gstring, int from, int to) case 4: { int base_x, base_y, mark_x, mark_y; - MGlyph *prev = g - inc; base_x = otfg->f.f4.base_anchor->XCoordinate * size10 / u / 10; base_y = otfg->f.f4.base_anchor->YCoordinate * size10 / u / 10; @@ -1124,7 +1125,7 @@ mfont__ft_drive_gpos (MGlyphString *gstring, int from, int to) if (otfg->f.f4.base_anchor->AnchorFormat != 1) adjust_anchor (otfg->f.f4.base_anchor, ft_info->ft_face, - prev, size, &base_x, &base_y); + g - inc, size, &base_x, &base_y); if (otfg->f.f4.mark_anchor->AnchorFormat != 1) adjust_anchor (otfg->f.f4.mark_anchor, ft_info->ft_face, g, size, &mark_x, &mark_y);