+2000-12-05 Jason Rumney <jasonr@gnu.org>
+
+ * w32term.c (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.
+
2000-12-05 Gerd Moellmann <gerd@gnu.org>
* keyboard.c (record_char): Don't record identical help-echo
font_type = UNICODE_FONT;
/* Initialize the bounding box. */
- pcm = w32_per_char_metric (font, &char2b, font_type);
- if (pcm)
+ if (font_info
+ && (pcm = w32_per_char_metric (font, &char2b, font_type)))
{
width = pcm->width;
ascent = pcm->ascent;
else
font_type = UNICODE_FONT;
- pcm = w32_per_char_metric (font, &char2b, font_type);
- if (pcm)
+ if (font_info
+ && (pcm = w32_per_char_metric (font, &char2b, font_type)))
{
width = pcm->width;
ascent = pcm->ascent;
else
{
width = FONT_WIDTH (font);
- ascent = FONT_BASE (font);
- descent = FONT_DESCENT (font);
+ ascent = 1;
+ descent = 0;
}
if (cmp->method != COMPOSITION_WITH_RULE_ALTCHARS)
/* Repaint. */
if (last > first)
- x_draw_glyphs (w, first_x, row, area,
+ x_draw_glyphs (w, first_x - start_x, row, area,
first - row->glyphs[area],
last - row->glyphs[area],
row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT,