diff options
| author | YAMAMOTO Mitsuharu | 2007-08-27 08:31:30 +0000 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2007-08-27 08:31:30 +0000 |
| commit | 83cc8d356afe3bfd68da74b822549e02047ed041 (patch) | |
| tree | e0827a0d4a54d8a2a77ce4570c669393d60776d8 /src/macterm.c | |
| parent | 8a2e0b2a692dfee47dcec6f77b39210ae511db35 (diff) | |
| download | emacs-83cc8d356afe3bfd68da74b822549e02047ed041.tar.gz emacs-83cc8d356afe3bfd68da74b822549e02047ed041.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.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/macterm.c b/src/macterm.c index 9655b09c819..0f2b053853d 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -3056,10 +3056,17 @@ x_draw_composite_glyph_string_foreground (s) | |||
| 3056 | else | 3056 | else |
| 3057 | { | 3057 | { |
| 3058 | for (i = 0; i < s->nchars; i++, ++s->gidx) | 3058 | for (i = 0; i < s->nchars; i++, ++s->gidx) |
| 3059 | mac_draw_image_string_16 (s->f, s->gc, | 3059 | if (mac_per_char_metric (GC_FONT (s->gc), s->char2b + i, 0) == NULL) |
| 3060 | x + s->cmp->offsets[s->gidx * 2], | 3060 | /* This is a nonexistent or zero-width glyph such as a |
| 3061 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], | 3061 | combining diacritic. Draw a rectangle. */ |
| 3062 | s->char2b + i, 1, 0, s->face->overstrike); | 3062 | mac_draw_rectangle (s->f, s->gc, |
| 3063 | x + s->cmp->offsets[s->gidx * 2], s->y, | ||
| 3064 | FONT_WIDTH (GC_FONT (s->gc)) - 1, s->height - 1); | ||
| 3065 | else | ||
| 3066 | mac_draw_image_string_16 (s->f, s->gc, | ||
| 3067 | x + s->cmp->offsets[s->gidx * 2], | ||
| 3068 | s->ybase - s->cmp->offsets[s->gidx * 2 + 1], | ||
| 3069 | s->char2b + i, 1, 0, s->face->overstrike); | ||
| 3063 | } | 3070 | } |
| 3064 | } | 3071 | } |
| 3065 | 3072 | ||