# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1188203467 0 # Node ID b63eed64a25b075db858eb1733c92dd6fbd25db9 # Parent 4d757c83139364e1fecfd02ec12b993ff9c9f399 (x_draw_composite_glyph_string_foreground): Draw rectangle for nonexistent or zero-width glyph in composition glyph. diff -r 4d757c831393 -r b63eed64a25b src/macterm.c --- a/src/macterm.c Mon Aug 27 08:30:37 2007 +0000 +++ b/src/macterm.c Mon Aug 27 08:31:07 2007 +0000 @@ -3056,10 +3056,17 @@ else { for (i = 0; i < s->nchars; i++, ++s->gidx) - mac_draw_image_string_16 (s->f, s->gc, - x + s->cmp->offsets[s->gidx * 2], - s->ybase - s->cmp->offsets[s->gidx * 2 + 1], - s->char2b + i, 1, 0, s->face->overstrike); + if (mac_per_char_metric (GC_FONT (s->gc), s->char2b + i, 0) == NULL) + /* This is a nonexistent or zero-width glyph such as a + combining diacritic. Draw a rectangle. */ + mac_draw_rectangle (s->f, s->gc, + x + s->cmp->offsets[s->gidx * 2], s->y, + FONT_WIDTH (GC_FONT (s->gc)) - 1, s->height - 1); + else + mac_draw_image_string_16 (s->f, s->gc, + x + s->cmp->offsets[s->gidx * 2], + s->ybase - s->cmp->offsets[s->gidx * 2 + 1], + s->char2b + i, 1, 0, s->face->overstrike); } }