+2009-11-17 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
+ back to the default font in case that no suitable font is found.
+
2009-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
* menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
&char2b, it->multibyte_p, 0);
font = face->font;
- /* When no suitable font found, use the default font. */
font_not_found_p = font == NULL;
if (font_not_found_p)
{
- font = FRAME_FONT (it->f);
- boff = FRAME_BASELINE_OFFSET (it->f);
+ /* When no suitable font found, display an empty box based
+ on the metrics of the font of the default face (or what
+ remapped). */
+ struct face *no_font_face
+ = FACE_FROM_ID (it->f,
+ NILP (Vface_remapping_alist) ? DEFAULT_FACE_ID
+ : lookup_basic_face (it->f, DEFAULT_FACE_ID));
+ font = no_font_face->font;
+ boff = font->baseline_offset;
}
else
{
at least one column. */
char_width = 1;
it->glyph_not_available_p = 1;
- it->pixel_width = FRAME_COLUMN_WIDTH (it->f) * char_width;
+ it->pixel_width = font->space_width * char_width;
it->phys_ascent = FONT_BASE (font) + boff;
it->phys_descent = FONT_DESCENT (font) - boff;
}