From 1b2511fa2aed460120a36765ba16c14e355eef1d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 17 Dec 2021 10:35:44 +0200 Subject: [PATCH] Fix selection of fonts that don't have regular weight * src/font.c (font_delete_unmatched): The kludge of allowing inexact matches of the font weight is now used for non-NTGUI platforms as well. (Bug#52493) --- src/font.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/font.c b/src/font.c index d780d781f62..f934a8c0adc 100644 --- a/src/font.c +++ b/src/font.c @@ -2768,7 +2768,6 @@ font_delete_unmatched (Lisp_Object vec, Lisp_Object spec, int size) int candidate = XFIXNUM (AREF (entity, prop)) >> 8; if (candidate != required -#ifdef HAVE_NTGUI /* A kludge for w32 font search, where listing a family returns only 4 standard weights: regular, italic, bold, bold-italic. For other values one @@ -2778,10 +2777,14 @@ font_delete_unmatched (Lisp_Object vec, Lisp_Object spec, int size) weight, so if we require exact match, the non-regular font will be rejected. So we relax the accuracy of the match here, and let - font_sort_entities find the best match. */ + font_sort_entities find the best match. + + Similar things happen on Posix platforms, when + people use font families that don't have the + regular weight, only the medium weight: these + families get rejected if we require an exact match. */ && (prop != FONT_WEIGHT_INDEX || eabs (candidate - required) > 100) -#endif ) prop = FONT_SPEC_MAX; } -- 2.39.5