1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00

Fix handling of proportional fonts on MS-Windows

* src/xfaces.c (Fx_family_fonts): Consider fonts whose :spacing
value is numeric, but still indicates that they are proportional,
to be proportional.

* lisp/textmodes/artist.el (artist-mode): Fix test for monospaced
fonts.
This commit is contained in:
Eli Zaretskii 2022-04-28 10:50:50 +03:00
parent 9c70045f67
commit 76d4e19f89
2 changed files with 13 additions and 3 deletions

View file

@ -1371,8 +1371,11 @@ Keymap summary
(t
;; Turn mode on
(artist-mode-init)
(let ((font (face-attribute 'default :font)))
(when (and (fontp font) (not (font-get font :spacing)))
(let* ((font (face-attribute 'default :font))
(spacing-prop (if (fontp font)
(font-get font :spacing)
t)))
(when (or (null spacing-prop) (eq spacing-prop 0))
(message "The default font isn't monospaced, so the drawings in this buffer may look odd"))))))
;; Init and exit

View file

@ -1573,7 +1573,14 @@ the face font sort order. */)
make_fixnum (point),
FONT_WEIGHT_SYMBOLIC (font),
FONT_SLANT_SYMBOLIC (font),
NILP (spacing) || EQ (spacing, Qp) ? Qnil : Qt,
(NILP (spacing)
|| EQ (spacing, Qp)
/* If the font was specified in a way
different from XLFD (e.g., on MS-Windows),
we will have a number there, not 'p'. */
|| EQ (spacing,
make_fixnum (FONT_SPACING_PROPORTIONAL)))
? Qnil : Qt,
Ffont_xlfd_name (font, Qnil),
AREF (font, FONT_REGISTRY_INDEX));
result = Fcons (v, result);