diff options
| author | Kenichi Handa | 2006-10-16 07:53:16 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2006-10-16 07:53:16 +0000 |
| commit | 4bad3dc5dff0cfa199127f9bbbd4c62c3b572f38 (patch) | |
| tree | cd8b152edf082335426b46d117cace52f428ab78 /src | |
| parent | 4b848612ffac4a6bfd4118d5f4f28c30859c7d56 (diff) | |
| download | emacs-4bad3dc5dff0cfa199127f9bbbd4c62c3b572f38.tar.gz emacs-4bad3dc5dff0cfa199127f9bbbd4c62c3b572f38.zip | |
(x_draw_composite_glyph_string_foreground): Don't draw
TAB. Adjusted for the change of s->char2b which always points to
the first elememnt of allocated memory.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/xterm.c b/src/xterm.c index 856fbef435b..ccc41810289 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -1498,14 +1498,15 @@ x_draw_composite_glyph_string_foreground (s) | |||
| 1498 | else | 1498 | else |
| 1499 | { | 1499 | { |
| 1500 | for (i = 0; i < s->nchars; i++, ++s->gidx) | 1500 | for (i = 0; i < s->nchars; i++, ++s->gidx) |
| 1501 | { | 1501 | if (COMPOSITION_GLYPH (s->cmp, s->gidx) != '\t') |
| 1502 | int xx = x + s->cmp->offsets[s->gidx * 2]; | 1502 | { |
| 1503 | int yy = y - s->cmp->offsets[s->gidx * 2 + 1]; | 1503 | int xx = x + s->cmp->offsets[s->gidx * 2]; |
| 1504 | int yy = y - s->cmp->offsets[s->gidx * 2 + 1]; | ||
| 1504 | 1505 | ||
| 1505 | font->driver->draw (s, i, i + 1, xx, yy, 0); | 1506 | font->driver->draw (s, s->gidx, s->gidx + 1, xx, yy, 0); |
| 1506 | if (s->face->overstrike) | 1507 | if (s->face->overstrike) |
| 1507 | font->driver->draw (s, i, i + 1, xx + 1, yy, 0); | 1508 | font->driver->draw (s, s->gidx, s->gidx + 1, xx + 1, yy, 0); |
| 1508 | } | 1509 | } |
| 1509 | } | 1510 | } |
| 1510 | } | 1511 | } |
| 1511 | #endif /* USE_FONT_BACKEND */ | 1512 | #endif /* USE_FONT_BACKEND */ |
| @@ -1517,12 +1518,12 @@ x_draw_composite_glyph_string_foreground (s) | |||
| 1517 | XDrawString16 (s->display, s->window, s->gc, | 1518 | XDrawString16 (s->display, s->window, s->gc, |
| 1518 | x + s->cmp->offsets[s->gidx * 2], | 1519 | x + s->cmp->offsets[s->gidx * 2], |
| 1519 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], | 1520 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], |
| 1520 | s->char2b + i, 1); | 1521 | s->char2b + s->gidx, 1); |
| 1521 | if (s->face->overstrike) | 1522 | if (s->face->overstrike) |
| 1522 | XDrawString16 (s->display, s->window, s->gc, | 1523 | XDrawString16 (s->display, s->window, s->gc, |
| 1523 | x + s->cmp->offsets[s->gidx * 2] + 1, | 1524 | x + s->cmp->offsets[s->gidx * 2] + 1, |
| 1524 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], | 1525 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], |
| 1525 | s->char2b + i, 1); | 1526 | s->char2b + s->gidx, 1); |
| 1526 | } | 1527 | } |
| 1527 | } | 1528 | } |
| 1528 | } | 1529 | } |