]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix sluggish display of symbols in UTF-8 language environment
authorEli Zaretskii <eliz@gnu.org>
Wed, 16 Nov 2016 16:11:33 +0000 (18:11 +0200)
committerEli Zaretskii <eliz@gnu.org>
Wed, 16 Nov 2016 16:11:33 +0000 (18:11 +0200)
* 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

index 612c0a08ad7db51d5e656e9e02fbef284f886fb6..659f03a2a67046ce2ecbb4c174348c2ec9b46a1e 100644 (file)
              (#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