Subject: Re: string-pixel-width limitations (was: bug#51766: 29.0.50; Return value of buffer-chars-modified-tick changes when buffer text is not yet changed before inserting a character for non-latin input methods)

From: Eli Zaretskii <[email-masked]>
Date: Tue, 21 Jun 2022 13:16:28 +0300

> From: Ihor Radchenko <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 21 Jun 2022 12:13:09 +0800
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > That discussion is very short and lacking in detail, but up front, why
> > doesn't valign use the primitives we provide for determining the pixel
> > width of a string?
> 
> Because string width in different buffers may be different depending on
> the fontification, frame font size, face remapping,
> wrap-prefix/line-prefix string properties (AFAIK, the built-in
> string-pixel-width will return incorrect value on string with such
> properties), invisibility specs in the buffer, line numbers mode, etc
> We have implemented a number of workarounds in org-string-width on main,
> but I am not 100% sure that I covered all the edge cases.

If you need such high accuracy, may I suggest window-text-pixel-size?