diff options
| author | Jason Rumney | 2000-12-05 19:23:21 +0000 |
|---|---|---|
| committer | Jason Rumney | 2000-12-05 19:23:21 +0000 |
| commit | f201d7329fae4b5c18ac58afe095c7ee27f1eaca (patch) | |
| tree | f47a7b319e5bb3791747b7457a6ae29c96c8e69f /src | |
| parent | ec4f0ef8612b941c7ca2daf6d79b4156f598e49b (diff) | |
| download | emacs-f201d7329fae4b5c18ac58afe095c7ee27f1eaca.tar.gz emacs-f201d7329fae4b5c18ac58afe095c7ee27f1eaca.zip | |
(x_produce_glyphs): If a font for a component of
a composition is not found, use 1 pixel dot ascent and 0 dot
descent value to avoid displaying terribly tall empty boxes.
(expose_area): Pass x-coordinate relative to the exposed
area to x_draw_glyphs instead of a window-relative coordinate.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 8 | ||||
| -rw-r--r-- | src/w32term.c | 14 |
2 files changed, 15 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 93914d08815..52f133910e4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2000-12-05 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * w32term.c (x_produce_glyphs): If a font for a component of | ||
| 4 | a composition is not found, use 1 pixel dot ascent and 0 dot | ||
| 5 | descent value to avoid displaying terribly tall empty boxes. | ||
| 6 | (expose_area): Pass x-coordinate relative to the exposed | ||
| 7 | area to x_draw_glyphs instead of a window-relative coordinate. | ||
| 8 | |||
| 1 | 2000-12-05 Gerd Moellmann <gerd@gnu.org> | 9 | 2000-12-05 Gerd Moellmann <gerd@gnu.org> |
| 2 | 10 | ||
| 3 | * keyboard.c (record_char): Don't record identical help-echo | 11 | * keyboard.c (record_char): Don't record identical help-echo |
diff --git a/src/w32term.c b/src/w32term.c index 23cefb20955..1dbe506371a 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -2287,8 +2287,8 @@ x_produce_glyphs (it) | |||
| 2287 | font_type = UNICODE_FONT; | 2287 | font_type = UNICODE_FONT; |
| 2288 | 2288 | ||
| 2289 | /* Initialize the bounding box. */ | 2289 | /* Initialize the bounding box. */ |
| 2290 | pcm = w32_per_char_metric (font, &char2b, font_type); | 2290 | if (font_info |
| 2291 | if (pcm) | 2291 | && (pcm = w32_per_char_metric (font, &char2b, font_type))) |
| 2292 | { | 2292 | { |
| 2293 | width = pcm->width; | 2293 | width = pcm->width; |
| 2294 | ascent = pcm->ascent; | 2294 | ascent = pcm->ascent; |
| @@ -2352,8 +2352,8 @@ x_produce_glyphs (it) | |||
| 2352 | else | 2352 | else |
| 2353 | font_type = UNICODE_FONT; | 2353 | font_type = UNICODE_FONT; |
| 2354 | 2354 | ||
| 2355 | pcm = w32_per_char_metric (font, &char2b, font_type); | 2355 | if (font_info |
| 2356 | if (pcm) | 2356 | && (pcm = w32_per_char_metric (font, &char2b, font_type))) |
| 2357 | { | 2357 | { |
| 2358 | width = pcm->width; | 2358 | width = pcm->width; |
| 2359 | ascent = pcm->ascent; | 2359 | ascent = pcm->ascent; |
| @@ -2362,8 +2362,8 @@ x_produce_glyphs (it) | |||
| 2362 | else | 2362 | else |
| 2363 | { | 2363 | { |
| 2364 | width = FONT_WIDTH (font); | 2364 | width = FONT_WIDTH (font); |
| 2365 | ascent = FONT_BASE (font); | 2365 | ascent = 1; |
| 2366 | descent = FONT_DESCENT (font); | 2366 | descent = 0; |
| 2367 | } | 2367 | } |
| 2368 | 2368 | ||
| 2369 | if (cmp->method != COMPOSITION_WITH_RULE_ALTCHARS) | 2369 | if (cmp->method != COMPOSITION_WITH_RULE_ALTCHARS) |
| @@ -5546,7 +5546,7 @@ expose_area (w, row, r, area) | |||
| 5546 | 5546 | ||
| 5547 | /* Repaint. */ | 5547 | /* Repaint. */ |
| 5548 | if (last > first) | 5548 | if (last > first) |
| 5549 | x_draw_glyphs (w, first_x, row, area, | 5549 | x_draw_glyphs (w, first_x - start_x, row, area, |
| 5550 | first - row->glyphs[area], | 5550 | first - row->glyphs[area], |
| 5551 | last - row->glyphs[area], | 5551 | last - row->glyphs[area], |
| 5552 | row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, | 5552 | row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT, |