aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2000-12-05 19:23:21 +0000
committerJason Rumney2000-12-05 19:23:21 +0000
commitf201d7329fae4b5c18ac58afe095c7ee27f1eaca (patch)
treef47a7b319e5bb3791747b7457a6ae29c96c8e69f /src
parentec4f0ef8612b941c7ca2daf6d79b4156f598e49b (diff)
downloademacs-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/ChangeLog8
-rw-r--r--src/w32term.c14
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 @@
12000-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
12000-12-05 Gerd Moellmann <gerd@gnu.org> 92000-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,