GNU bug report logs - #73730
31.0.50; Support for color fonts on MS-Windows

Previous Next

Package: emacs;

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


Message #70 received at 73730 <at> debbugs.gnu.org (full text, mbox):

From: Cecilio Pardo <cpardo <at> imayhem.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 73730 <at> debbugs.gnu.org, kbrown <at> cornell.edu
Subject: Re: bug#73730: 31.0.50; Support for color fonts on MS-Windows
Date: Wed, 23 Oct 2024 00:14:12 +0200
[Message part 1 (text/plain, inline)]
Here is a new version with pending issues addressed.

- No abort any more.  Now, any failure marks the font as not usable,
  falling back to previous driver.  If the error is general, then all
  of DirectWrite is disabled.  eassert and DebPrint are called in these
  cases.
- Added a NEWS entry.
- The struct uniscribe_font_info is now in w32font.h
- Build without warnings in both versions on MinGW.

Some things I think we didn't discuss before:

- 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.
- 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.

I couldn't find any hebrew font with color glyphs to test RTL
display. I found a latin+arabic one, Cairo Play:

https://github.com/Gue3bara/Cairo
https://fonts.google.com/specimen/Cairo+Play

It displays diacritics in different colors on both scripts.

It seems to work fine in emacs. I attach captures with and without
DirectWrite, and compared to Courier New.
[emacs_KbWp4eBFOp.png (image/png, attachment)]
[emacs_SiXOdpA67i.png (image/png, attachment)]
[0001-Implement-drawing-text-with-DirectWrite-on-MS-Window.patch (text/plain, attachment)]

This bug report was last modified 198 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.