Subject: Re: bug#65803: 29.1; Noto Sans Mono CJK JP has doubled-width on Windows

From: Po Lu <[email-masked]>
Date: Sun, 10 Sep 2023 19:29:45 +0800

Eli Zaretskii <[email-masked]> writes:

> Anyway, I tried to write the code to compute the font average width,
> and found that it's impossible to do reliably on MS-Windows: all the
> font-related functions that return glyph metrics require a "device
> context" argument, which cannot be provided as long as we don't have
> at least one w32 frame.  So invocations like
>
>   emacs -fn "Arial Unicode MS"
>
> will not work, and that means invoking Emacs with variable-pitch fonts
> as the default will not be able to take advantage of this improvement,
> which basically makes all this change useless.

If I'm not mistaken, the font*_open functions take a single frame
argument F, and the average width property doesn't need to be computed
until then.  Can't you obtain the DC from that frame?

TIA.