bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: martin rudalics
Subject: bug#52493: 29.0.50; Setting Inconsolata up in init.el makes default face rendered wrong
Date: Sat, 7 Jan 2023 10:15:38 +0100

> - Width shrinks only once (at certain rare widths), and after that it is 
stable.

  x_new_font old char size 21x45 new char size 17x37 text chars 113x36 old text 
pixels 2380x1628 new text pixels 1921x1332
  xg_wm_set_size_hint scale 2 char width 17 toolbar 0 vscroll 32 fringes 16 
borders 0 base width 32 width inc 8
      char height 37 menubar 50 toolbar 82 hscroll 0 borders 0 base height 84 
height inc 18
  xg_frame_set_char_size old native pixels 2428x1628 new native pixels 
1969x1332 outer pixels 984x732 outer rest 0x0
  xg_frame_resized old native pixels 2428x1628 new native pixels 1968x1332
  adjust_frame_size old native pixels 2428x1628 new native pixels 1968x1332 old 
text pixels 2380x1628 new text pixels 1920x1332 old text chars 113x36 new text 
chars 112x36

Here we calculate outer_width as (/ (+ 1921 32 16) 2) that is 984 and
outer_height as (/ (+ 1332 50 82) 2) that is 732.  Since 1921 is impair
we lose one pixel due to scaling.

Now width_rest calculated as (% (- 984 32) 8) and height_rest calculated
as (% (- 732 84) 18) are both zero so we do not do any compensating and
lose one column after resizing.

I attach a version to handle this particular case.  Let's see whether it
breaks something else.

martin

Attachment: x_scale_font.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]