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, 31 Dec 2022 20:01:32 +0100

I've rewritten the output routines so they catch the width changes but
didn't change anything else.  The output in *foo* should be almost
self-explanatory now but see first one I ran with emacs -Q and the
following four evaluations

(set-face-attribute 'default nil :height 120 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 140 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 130 :family "DejaVu Sans Mono")
(set-face-attribute 'default nil :height 120 :family "DejaVu Sans Mono")

here.  This got me


adjust_frame_size old native pixels 80x25 new native pixels 80x25 old text 
pixels 80x25 new text pixels 80x24 old text chars 80x25 new text chars 80x24
adjust_frame_size old native pixels 80x25 new native pixels 736x450 old text 
pixels 80x25 new text pixels 720x450 old text chars 80x25 new text chars 80x25
adjust_frame_size old native pixels 736x450 new native pixels 736x648 old text 
pixels 720x450 new text pixels 720x648 old text chars 80x25 new text chars 80x36
adjust_frame_size old native pixels 736x648 new native pixels 752x648 old text 
pixels 720x648 new text pixels 720x648 old text chars 80x36 new text chars 80x36
xg_frame_set_char_size old native pixels 752x648 new native pixels 752x648 
outer pixels 752x673
xg_wm_set_size_hint scale 1 char width 9 vscroll 16 fringes 16 borders 0 base 
width 41 width inc 9
    char height 18 menubar 25 toolbar 0 hscroll 0 borders 0 base height 43 
height inc 18
xg_wm_set_size_hint scale 1 char width 9 vscroll 16 fringes 16 borders 0 base 
width 41 width inc 9
    char height 18 menubar 25 toolbar 41 hscroll 0 borders 0 base height 84 
height inc 18
xg_frame_set_char_size old native pixels 752x648 new native pixels 752x648 
outer pixels 752x714 outer rest 0x0

x_new_font old char size 9x18 new char size 10x19 text chars 80x36 old text 
pixels 720x648 new text pixels 800x684
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base 
width 42 width inc 10
    char height 19 menubar 25 toolbar 41 hscroll 0 borders 0 base height 85 
height inc 19
xg_frame_set_char_size old native pixels 752x648 new native pixels 832x684 
outer pixels 832x750 outer rest 0x0
xg_frame_resized old native pixels 752x648 new native pixels 832x684
adjust_frame_size old native pixels 752x648 new native pixels 832x684 old text 
pixels 720x648 new text pixels 800x684 old text chars 80x36 new text chars 80x36

x_new_font old char size 10x19 new char size 11x23 text chars 80x36 old text 
pixels 800x684 new text pixels 880x828
xg_wm_set_size_hint scale 1 char width 11 vscroll 16 fringes 16 borders 0 base 
width 43 width inc 11
    char height 23 menubar 25 toolbar 41 hscroll 0 borders 0 base height 89 
height inc 23
xg_frame_set_char_size old native pixels 832x684 new native pixels 912x828 
outer pixels 912x894 outer rest 0x0
xg_frame_resized old native pixels 832x684 new native pixels 912x828
adjust_frame_size old native pixels 832x684 new native pixels 912x828 old text 
pixels 800x684 new text pixels 880x828 old text chars 80x36 new text chars 80x36

x_new_font old char size 11x23 new char size 10x21 text chars 80x36 old text 
pixels 880x828 new text pixels 800x756
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base 
width 42 width inc 10
    char height 21 menubar 25 toolbar 41 hscroll 0 borders 0 base height 87 
height inc 21
xg_frame_set_char_size old native pixels 912x828 new native pixels 832x756 
outer pixels 832x822 outer rest 0x0
xg_frame_resized old native pixels 912x828 new native pixels 832x756
adjust_frame_size old native pixels 912x828 new native pixels 832x756 old text 
pixels 880x828 new text pixels 800x756 old text chars 80x36 new text chars 80x36

x_new_font old char size 10x21 new char size 10x19 text chars 80x36 old text 
pixels 800x756 new text pixels 800x684
xg_wm_set_size_hint scale 1 char width 10 vscroll 16 fringes 16 borders 0 base 
width 42 width inc 10
    char height 19 menubar 25 toolbar 41 hscroll 0 borders 0 base height 85 
height inc 19
xg_frame_set_char_size old native pixels 832x756 new native pixels 832x684 
outer pixels 832x750 outer rest 0x0
xg_frame_resized old native pixels 832x756 new native pixels 832x684
adjust_frame_size old native pixels 832x756 new native pixels 832x684 old text 
pixels 800x756 new text pixels 800x684 old text chars 80x36 new text chars 80x36


where each x_new_font paragraph corresponds to one evaluation above.
Note the following two properties:

- As soon as things clear up, the size of the frame in text characters
  is 80x36 and never changes after that.  The same will have to hold for
  your 'set-face-attribute' calls regardless of what the pixel sizes
  say.

- "outer rest 0x0" stands for a zero rest when dividing the requested
  size minus the base size by the size increments.  The same will have
  to hold for your 'set-face-attribute' calls.

Maybe I'm just lucky here or it's because I do not scale.  I invite
everyone on GTK with some spare time to apply the attached
x_scale_font.diff, do some random 'set-face-attribute' calls and consult
the contents of the *foo* buffer.  If the two properties don't hold,
something might be wrong and we should investigate that.

martin

Attachment: x_scale_font.diff
Description: Text Data


reply via email to

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