From e992ac0a639d01df8f04c18061b0d73f792ff2c2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii <eliz@gnu.org> Date: Wed, 16 Nov 2016 18:11:33 +0200 Subject: Fix sluggish display of symbols in UTF-8 language environment * lisp/international/fontset.el (setup-default-fontset): Make sure Symbola and FreeMono are set up in the default fontset as belonging to the "iso10646-1" registry. In the UTF-8 locale, this avoids a long and futile search for a suitable font, whose side effect is a lot of consing, which then hits the font-cache compacting issue, and causes very sluggish redisplay of characters displayed by these fonts. All this happens because the default for the registry is "iso8859-1". (Bug#24953) --- lisp/international/fontset.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el index 612c0a08ad7..659f03a2a67 100644 --- a/lisp/international/fontset.el +++ b/lisp/international/fontset.el @@ -812,10 +812,11 @@ (#x1F700 . #x1F77F) ;; Alchemical Symbols (#x1F780 . #x1F7FF) ;; Geometric Shapes Extended (#x1F800 . #x1F8FF))) ;; Supplemental Arrows-C - (set-fontset-font "fontset-default" symbol-subgroup "Symbola" nil 'prepend)) + (set-fontset-font "fontset-default" symbol-subgroup + '("Symbola" . "iso10646-1") nil 'prepend)) ;; Box Drawing and Block Elements (set-fontset-font "fontset-default" '(#x2500 . #x259F) - "FreeMono" nil 'prepend) + '("FreeMono" . "iso10646-1") nil 'prepend) ;; Since standard-fontset-spec on X uses fixed-medium font, which ;; gets mapped to a iso8859-1 variant, we would like to prefer its -- cgit v1.2.1