]> code.delx.au - gnu-emacs/blobdiff - src/font.c
Fix display when a font claims large values of ascent and descent
[gnu-emacs] / src / font.c
index 1405d437241947b601d243dd1b077889986d36e6..556f32bb43283dc2dc86a1d6bc314c293f0e4adf 100644 (file)
@@ -2908,7 +2908,12 @@ font_open_entity (struct frame *f, Lisp_Object entity, int pixel_size)
               : font->average_width ? font->average_width
               : font->space_width ? font->space_width
               : 1);
-  height = (font->height ? font->height : 1);
+
+  int font_ascent, font_descent;
+  get_font_ascent_descent (font, &font_ascent, &font_descent);
+  height = font_ascent + font_descent;
+  if (height <= 0)
+    height = 1;
 #ifdef HAVE_WINDOW_SYSTEM
   FRAME_DISPLAY_INFO (f)->n_fonts++;
   if (FRAME_DISPLAY_INFO (f)->n_fonts == 1)