> adjust_frame_size .. pixel_height .. 1260 .. text_height .. 1260 > x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37 > adjust_frame_size .. pixel_height .. 1224 .. text_height .. 1224 > x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37 > adjust_frame_size .. pixel_height .. 1188 .. text_height .. 1188 > x_new_font .. ascent .. 31 .. descent .. 6 .. line_height .. 37 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. Thanks, martin