GNU bug report logs -
#73730
31.0.50; Support for color fonts on MS-Windows
Previous Next
Reported by: Cecilio Pardo <cpardo <at> imayhem.com>
Date: Thu, 10 Oct 2024 11:17:01 UTC
Severity: wishlist
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Wed, 23 Oct 2024 16:17:03 +0200
> From: Cecilio Pardo <cpardo <at> imayhem.com>
>
>
> On 23/10/2024 12:03, Eli Zaretskii wrote:
>
> >> - DirectWrite is available since Windows 7, but color glyphs are
> >> available only since Windows 8.1. We only enable DirectWrite since
> >> Windows 8.1. This is stated on the NEWS entry.
> >
> > Sounds okay, but I don't see the Windows version tested anywhere in
> > the code which initializes DWrite. What did I miss?
>
> The IDWriteFactory2 interface is only available from 8.1, so it will
> fail on previous versions when we request it in
> w32_initialize_direct_write.
OK, so please add a comment there to this effect.
> >> - The default value for the Gamma render parameter in DirectWrite
> >> gives very 'light' characters. I changed it to 1.4, which matches
> >> GDI and looks better. But that's just my opinion.
> >
> > Does the best value depend on whether the theme is light or dark?
>
> No, it looks too dim for me on both.
>
> > In any case, this sounds like a good candidate for a variable that people
> > could modify if they want. Maybe we should also expose to Lisp the
> > values of enhanced contrast and clear-type level? Assuming that
> > setting these from .emacs (or maybe in early-init?) at all could take
> > effect, that is.
>
> [...]
>
> > Does it work to set w32-inhibit-dwrite in the .emacs init file?
>
> If you change it in .emacs or early-int it will work, but will not
> prevent dwrite initialization and some text output. I am
> initializing on syms_of_w32uniscribe_for_pdumper. Could I initialize
> on some other place, so that the user can skip dwrite completely?
> Also, it will allow to add configuracion variables for Gamma, etc,
> without having to reinit if the user sets them.
Initializing dwrite even though the user said we shouldn't use it
doesn't sound too bad to me. We could provide a function to
reinitialize (if it's needed) and document that it should be called if
the user wants to disable dwrite in the init file. I wouldn't go
farther than this unless we get complaints and discover that
initializing dwrite could cause trouble in some configurations.
This bug report was last modified 197 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.