GNU bug report logs -
#65803
29.1; Noto Sans Mono CJK JP has doubled-width on Windows
Previous Next
Full log
Message #113 received at 65803 <at> debbugs.gnu.org (full text, mbox):
> From: Po Lu <luangruo <at> yahoo.com>
> Cc: 65803 <at> debbugs.gnu.org, shingo.fg8 <at> gmail.com
> Date: Sun, 10 Sep 2023 19:29:45 +0800
>
> Eli Zaretskii <eliz <at> gnu.org> 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?
That's what I tried. The problem is, first time we open the fonts
(which is when it's important to have the metrics of the default
face's font), we are called from x-create-frame for the initial frame,
and the frame's w32-specific attributes are not yet set. The
window-system for the frame is still "initial", and get_frame_dc
aborts.
This bug report was last modified 1 year and 280 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.