Subject: bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong

From: Dmitry Gutov <[email-masked]>
Date: Sun, 25 Dec 2022 15:01:50 +0200

On 25/12/2022 12:21, martin rudalics wrote:
> FWIW I can't see anything wrong with the font.  From the earlier
> 
> xg_frame_set_char_size, visible, PS=1408x1188, XS=1408x1184
> ConfigureNotify, PS=1408x1188, XS=1408x1152
> xg_frame_resized, changed, PS=1408x1188, XS=1408x1152
> 
> I can only tell that, for example, we want to resize the frame from
> 1408x1188 to 1408x1184 pixels but the ensuing ConfigureNotify tells us
> that mutter has sized us down to 1408x1152 pixels (that's the -36
> increment you see every time) and we comply.  I have no idea why that
> should happen - after all 1184 is (* 37 32) so it's rather the earlier
> 1188 that's wrong here.  But we've also set the base height to 84 and a
> height increment of 18 which are both suspicious.
> 
> Anyway: I attach a new patch to shed more light on this.  Three
> 'set-face-attribute' iterations suffice, post me the contents of *foo*
> please.

Done, here:

x_new_font .. ascent .. 30 .. descent .. 6 .. line_height .. 36
adjust_frame_size_1 .. new_text_height .. 24 .. old_native_height .. 25 
.. text_to_pixel .. 25
    top_margin .. 1 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 2
adjust_frame_size_2 .. pixel_height .. 25 .. text_height .. 24
adjust_frame_size_1 .. new_text_height .. 900 .. old_native_height .. 25 
.. text_to_pixel .. 900
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 72
adjust_frame_size_2 .. pixel_height .. 900 .. text_height .. 900
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
900 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 72
adjust_frame_size_2 .. pixel_height .. 1296 .. text_height .. 1296
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
adjust_frame_size_2 .. pixel_height .. 1296 .. text_height .. 1296
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 72
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 72
xg_wm_set_size_hint .. line_height & scale .. 36 .. 2 .. base_height .. 
43 .. height_inc .. 18
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 72
adjust_frame_size_1 .. new_text_height .. 1296 .. old_native_height .. 
1296 .. text_to_pixel .. 1296
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 180
xg_wm_set_size_hint .. line_height & scale .. 36 .. 2 .. base_height .. 
84 .. height_inc .. 18
x_new_font .. ascent .. 37 .. descent .. 8 .. line_height .. 45
adjust_frame_size_1 .. new_text_height .. 1620 .. old_native_height .. 
1296 .. text_to_pixel .. 1620
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 225
xg_wm_set_size_hint .. line_height & scale .. 45 .. 2 .. base_height .. 
88 .. height_inc .. 22
adjust_frame_size_1 .. new_text_height .. 1584 .. old_native_height .. 
1296 .. text_to_pixel .. 1584
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 90
adjust_frame_size_2 .. pixel_height .. 1584 .. text_height .. 1584
x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37
adjust_frame_size_1 .. new_text_height .. 1295 .. old_native_height .. 
1584 .. text_to_pixel .. 1295
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185
xg_wm_set_size_hint .. line_height & scale .. 37 .. 2 .. base_height .. 
84 .. height_inc .. 18
adjust_frame_size_1 .. new_text_height .. 1260 .. old_native_height .. 
1584 .. text_to_pixel .. 1260
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 74
adjust_frame_size_2 .. pixel_height .. 1260 .. text_height .. 1260
x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37
adjust_frame_size_1 .. new_text_height .. 1258 .. old_native_height .. 
1260 .. text_to_pixel .. 1258
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185
adjust_frame_size_1 .. new_text_height .. 1224 .. old_native_height .. 
1260 .. text_to_pixel .. 1224
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 74
adjust_frame_size_2 .. pixel_height .. 1224 .. text_height .. 1224
x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37
adjust_frame_size_1 .. new_text_height .. 1221 .. old_native_height .. 
1224 .. text_to_pixel .. 1221
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185
adjust_frame_size_1 .. new_text_height .. 1188 .. old_native_height .. 
1224 .. text_to_pixel .. 1188
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 74
adjust_frame_size_2 .. pixel_height .. 1188 .. text_height .. 1188
x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37
adjust_frame_size_1 .. new_text_height .. 1184 .. old_native_height .. 
1188 .. text_to_pixel .. 1184
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185
adjust_frame_size_1 .. new_text_height .. 1152 .. old_native_height .. 
1188 .. text_to_pixel .. 1152
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 74
adjust_frame_size_2 .. pixel_height .. 1152 .. text_height .. 1152
x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37
adjust_frame_size_1 .. new_text_height .. 1147 .. old_native_height .. 
1152 .. text_to_pixel .. 1147
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185
adjust_frame_size_1 .. new_text_height .. 1116 .. old_native_height .. 
1152 .. text_to_pixel .. 1116
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 74
adjust_frame_size_2 .. pixel_height .. 1116 .. text_height .. 1116
adjust_frame_size_1 .. new_text_height .. 1116 .. old_native_height .. 
1116 .. text_to_pixel .. 1116
    top_margin .. 0 .. scroll_bar .. 0 .. 2*border .. 0 .. 
min_inner_height .. 185