# HG changeset patch # User Kenichi Handa # Date 1152843771 0 # Node ID 66074f6b42c379ae645d9c419ec34e5bf305730f # Parent ef5f7f9076e5656ddcf8fe88378de64cc4e82dad (x_draw_composite_glyph_string_foreground): Adjusted for the change of LGLYPH format. diff -r ef5f7f9076e5 -r 66074f6b42c3 src/xterm.c --- a/src/xterm.c Sun Jul 09 10:57:05 2006 +0000 +++ b/src/xterm.c Fri Jul 14 02:22:51 2006 +0000 @@ -1466,9 +1466,10 @@ for (i = from = 0; i < s->nchars; i++) { Lisp_Object g = LGSTRING_GLYPH (gstring, i); - - if (XINT (LGLYPH_XOFF (4)) == 0 && XINT (LGLYPH_YOFF (g)) == 0 - && XINT (LGLYPH_WADJUST (g)) == 0) + Lisp_Object adjustment = LGLYPH_ADJUSTMENT (g); + int xoff, yoff, wadjust; + + if (NILP (adjustment)) { width += XINT (LGLYPH_WIDTH (g)); continue; @@ -1478,11 +1479,12 @@ font->driver->draw (s, from, i, x, y, 0); x += width; } - font->driver->draw (s, i, i + 1, - x + XINT (LGLYPH_XOFF (g)), - y + XINT (LGLYPH_XOFF (g)), - 0); - x += XINT (LGLYPH_WIDTH (g)) + XINT (LGLYPH_WADJUST (g)); + xoff = XINT (AREF (adjustment, 0)); + yoff = XINT (AREF (adjustment, 1)); + wadjust = XINT (AREF (adjustment, 2)); + + font->driver->draw (s, i, i + 1, x + xoff, y + yoff, 0); + x += XINT (LGLYPH_WIDTH (g)) + wadjust; from = i + 1; width = 0; }