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

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

bug#39264: 26.3; (frame-char-width) is different from real char width of


From: Eli Zaretskii
Subject: bug#39264: 26.3; (frame-char-width) is different from real char width of monospace font 'Noto Sans Mono'
Date: Fri, 24 Jan 2020 17:34:04 +0200

tags 39264 notabug
thanks

> From: ynyaaa@gmail.com
> Date: Fri, 24 Jan 2020 23:55:42 +0900
> 
> I installed Noto fonts.
> With setting frame font to "Noto Sans Mono", which is a monospace font,
> (frame-char-width) and the real char width may differ.
> 
> For example, using "Noto Sans Mono-13", (frame-char-width) is one pixel 
> larger.
>   (progn
>     (set-frame-font "Noto Sans Mono-13")
>     (list (frame-char-width) (car (window-text-pixel-size nil 1 2))))
>   => (11 10)

This is not a bug.  frame-char-width returns the value of the font's
"average width" attribute, whereas window-text-pixel-size actually
performs the layout of the specified text, simulating its display, and
measures the result.  Thus, the values can differ, although for
monospaced fonts they cannot (or should not) differ by too much.

The upshot of this is that you cannot really perform accurate layout
calculations from Lisp, at least not easily.  There's no way around
this basic difficulty.





reply via email to

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