emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HarfBuzz is available on MS-Windows


From: Eli Zaretskii
Subject: Re: HarfBuzz is available on MS-Windows
Date: Sat, 08 Jun 2019 15:45:54 +0300

> From: Andy Moreton <address@hidden>
> Date: Sat, 08 Jun 2019 13:11:46 +0100
> 
> Emacs should be capable of finding a font to display all of the 
> characters in HELLO, as it can do so given some fontset customisation.

Only if fonts to support all of the characters are available on the
user's system.  It could be that all of the fonts are available on
Windows 10 (I don't have such a system handy to verify that), but this
certainly isn't so on older versions of Windows.

> > In addition, quality of built-in fonts changes with time, so a font
> > that comes with the system today might be less desirable to use
> > tomorrow. Thus, including those fonts in our sources would mean we
> > need to track the development of system fonts, update the fonts in our
> > default fontsets, and perhaps make the fontset dependent on the OS
> > version. This would be a maintenance burden.
> 
> It is more important to give users a working tool than to reduce
> maintenance effort.

This is a noble goal, but it's impractical to expect that, at least
for Windows.  Guess how many developers actually touch the related
code, or even have a good enough understanding of what happens there.

> The selection of fonts shipped with each platform changes fairly
> slowly, so this should not present an undue burden.

My experience is very different.  Specifically wrt Windows, we have a
major new version every 2 to 3 years, with minor updates in-between.
This is more frequent than Emacs releases its major versions.  And if
you want to get an idea regarding the amount of font-related changes
in each major release of Windows, look here:

  https://docs.microsoft.com/en-us/globalization/input/font-support

Just to study and understand what each new font means will take a
significant amount of time.

Besides, even the information about which fonts are available on what
versions of Windows, and which scripts they cover reasonably well, is
currently not available in the form that can be directly compared with
our fontset setup (the above page only lists _new_ fonts, but
significant changes are also made in existing fonts).

So we are nowhere near being on top of this.  If you want to
contribute to improving this situation, please consider coming
on-board and collecting the necessary information, then we could start
talking about where we have inadequate support and how to make things
better.  Otherwise, at best things will be left where they are now,
because no one works on this on a routine basis, and (speaking about
myself personally) I doubt if we even have enough expert knowledge,
let alone free time and energy, for doing the job.

> > If you'd like to try debugging this, I can help by pointing to the
> > code where this happens. In general, start with the fontset as defined
> > in fontset.el, and then look in w32font.c:w32font_list_internal and
> > its subroutines.
> 
> I can try debugging from there - any further hints are welcome.

The function add_font_entity_to_list is the first place to look.  It
performs all the checks to determine whether a font might fit the
requirements of the font spec.  For Uniscribe and HarfBuzz, the
match_data->opentype_only flag is set.  The subroutines of
add_font_entity_to_list, font_matches_spec and font_supported_scripts
also perform important checks.

If you have more specific questions, I will try my best to answer
them.  TIA.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]