NS equivalents of xterm.c and w32term.c changes
* src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of glyph string background also when the font in use claims preposterously large global height value. Helps to remove artifacts left from previous displays when glyphless characters are displayed as hex code in a box. (x_new_font): Call get_font_ascent_descent to obtain a reasonable value for FRAME_LINE_HEIGHT, even when a font claims very large value for its height.
This commit is contained in:
parent
cab645a62f
commit
957cbfd765
1 changed files with 8 additions and 1 deletions
|
@ -2928,6 +2928,11 @@ Function modeled after x_draw_glyph_string_box ().
|
|||
{
|
||||
int box_line_width = max (s->face->box_line_width, 0);
|
||||
if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
|
||||
/* When xdisp.c ignores FONT_HEIGHT, we cannot trust font
|
||||
dimensions, since the actual glyphs might be much
|
||||
smaller. So in that case we always clear the rectangle
|
||||
with background color. */
|
||||
|| FONT_TOO_HIGH (s->font)
|
||||
|| s->font_not_found_p || s->extends_to_end_of_line_p || force_p)
|
||||
{
|
||||
struct face *face;
|
||||
|
@ -7687,6 +7692,7 @@ @implementation EmacsDocument
|
|||
{
|
||||
struct font *font = XFONT_OBJECT (font_object);
|
||||
EmacsView *view = FRAME_NS_VIEW (f);
|
||||
int font_ascent, font_descent;
|
||||
|
||||
if (fontset < 0)
|
||||
fontset = fontset_from_font (font_object);
|
||||
|
@ -7701,7 +7707,8 @@ @implementation EmacsDocument
|
|||
|
||||
FRAME_BASELINE_OFFSET (f) = font->baseline_offset;
|
||||
FRAME_COLUMN_WIDTH (f) = font->average_width;
|
||||
FRAME_LINE_HEIGHT (f) = font->height;
|
||||
get_font_ascent_descent (font, &font_ascent, &font_descent);
|
||||
FRAME_LINE_HEIGHT (f) = font_ascent + font_descent;
|
||||
|
||||
/* Compute the scroll bar width in character columns. */
|
||||
if (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue