summaryrefslogtreecommitdiff
path: root/src/macterm.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2007-08-27 08:33:57 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2007-08-27 08:33:57 +0000
commit769174c4d4efe3e849480e4410c679605bb51eb2 (patch)
tree04af464e358dd4edeb5d04ba548fe3904c254e96 /src/macterm.c
parenta225da012cf8f41c6978dc2fd884be23792adb76 (diff)
downloademacs-769174c4d4efe3e849480e4410c679605bb51eb2.tar.gz
emacs-769174c4d4efe3e849480e4410c679605bb51eb2.tar.bz2
emacs-769174c4d4efe3e849480e4410c679605bb51eb2.zip
(x_draw_composite_glyph_string_foreground): Draw rectangle
for nonexistent or zero-width glyph in composition glyph.
Diffstat (limited to 'src/macterm.c')
-rw-r--r--src/macterm.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/macterm.c b/src/macterm.c
index b282bac3aa6..01ac7328d6f 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -2973,10 +2973,17 @@ x_draw_composite_glyph_string_foreground (s)
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);
}
}