unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Cecilio Pardo <cpardo@imayhem.com>
Cc: 73730@debbugs.gnu.org
Subject: bug#73730: 31.0.50; Support for color fonts on MS-Windows
Date: Wed, 23 Oct 2024 20:53:12 +0300	[thread overview]
Message-ID: <86bjzaemev.fsf@gnu.org> (raw)
In-Reply-To: <dd9d1fe5-5410-4456-a2ee-eb1e9c1f1b9a@imayhem.com> (message from Cecilio Pardo on Wed, 23 Oct 2024 16:17:03 +0200)

> Date: Wed, 23 Oct 2024 16:17:03 +0200
> From: Cecilio Pardo <cpardo@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.





  reply	other threads:[~2024-10-23 17:53 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-10 11:16 bug#73730: 31.0.50; Support for color fonts on MS-Windows Cecilio Pardo
2024-10-10 13:08 ` Eli Zaretskii
2024-10-10 15:14   ` Cecilio Pardo
2024-10-10 16:33     ` Eli Zaretskii
2024-10-10 16:46       ` Cecilio Pardo
2024-10-15 22:18   ` Cecilio Pardo
2024-10-16 11:01     ` Eli Zaretskii
2024-10-16 11:32       ` Eli Zaretskii
2024-10-16 21:35       ` Cecilio Pardo
2024-10-17  6:21         ` Eli Zaretskii
2024-10-17 10:38           ` Cecilio Pardo
2024-10-20 13:35             ` Cecilio Pardo
2024-10-20 13:55               ` Eli Zaretskii
2024-10-22 22:14                 ` Cecilio Pardo
2024-10-23 10:03                   ` Eli Zaretskii
2024-10-23 14:17                     ` Cecilio Pardo
2024-10-23 17:53                       ` Eli Zaretskii [this message]
2024-10-24 20:19                         ` Cecilio Pardo
2024-10-25  7:26                           ` Eli Zaretskii
2024-10-25 10:17                             ` Cecilio Pardo
2024-10-25 12:00                               ` Eli Zaretskii
2024-10-26 20:13                                 ` Cecilio Pardo
2024-10-27  6:36                                   ` Eli Zaretskii
2024-10-27 13:32                                     ` Eli Zaretskii
2024-10-27 13:41                                       ` Cecilio Pardo
2024-10-27 15:44                                       ` Cecilio Pardo
2024-10-27 16:54                                         ` Eli Zaretskii
2024-10-27 17:50                                           ` Cecilio Pardo
2024-10-27 19:15                                             ` Eli Zaretskii
2024-10-29  8:57                                               ` Cecilio Pardo
2024-10-25 11:51                           ` Eli Zaretskii
2024-10-25 13:43                             ` Cecilio Pardo
2024-10-20 16:17               ` Eli Zaretskii
2024-10-20 18:20                 ` Cecilio Pardo
2024-10-20 18:33                   ` Eli Zaretskii
2024-10-20 18:37                     ` Cecilio Pardo
2024-10-10 21:50 ` Cecilio Pardo
2024-10-11  3:36   ` Eli Zaretskii
2024-10-11  6:28     ` Eli Zaretskii
2024-10-11  7:19       ` Cecilio Pardo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86bjzaemev.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=73730@debbugs.gnu.org \
    --cc=cpardo@imayhem.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).