]> git.eshelyaron.com Git - emacs.git/commit
Improve font lookup on MS-Windows
authorEli Zaretskii <eliz@gnu.org>
Tue, 17 Sep 2019 11:19:54 +0000 (14:19 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 17 Sep 2019 11:19:54 +0000 (14:19 +0300)
commit8054935c6130c88152387f8a35d436704dbde780
tree68eb645256c2a9de388b5fa62d40eb726eee6d9c
parent01c929bc640b48674d98feae1e821fb4924bf520
Improve font lookup on MS-Windows

* src/w32font.c (struct font_callback_data): New member
'known_fonts'.
(w32font_list_internal, w32font_match_internal): Set up
match_data.known_fonts if the font spec includes :script that
names one of the non-USB scripts.
(add_font_entity_to_list): If font_matches_spec returns zero
for a font, and we have some fonts in match_data->known_fonts,
consider the font to be a match if it is named in known_fonts.
(font_supported_scripts): Update the Unicode Subranges.  In
particular, map bit 74 to 'burmese', as this is the name Emacs
uses, not 'myanmar'.  Add a list of scripts that have no USBs
defined for them.
(syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
<Qaegean_number, Qw32_non_USB_fonts>: New symbols.

* lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
(w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
(w32-non-USB-fonts): New defvar.

* lisp/international/fontset.el (setup-default-fontset): Add
more scripts to automatic setup by representative characters.

* doc/emacs/msdos.texi (Windows Fonts): Document
'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.

* etc/NEWS: Mention 'w32-find-non-USB-fonts' and
'w32-non-USB-fonts'.
doc/emacs/msdos.texi
etc/NEWS
lisp/international/fontset.el
lisp/term/w32-win.el
src/w32font.c