From: Ralf Jung <post@ralfj.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 21028@debbugs.gnu.org
Subject: bug#21028: Slow font rendering in emacs
Date: Tue, 14 Mar 2017 20:17:00 +0100 [thread overview]
Message-ID: <885ac0e4-b5ba-d435-5190-8cd3c46fb624@ralfj.de> (raw)
In-Reply-To: <83a88nbx79.fsf@gnu.org>
Hi again,
> Note that the above is probably relevant to Emacs 25.1 and later (the
> first item definitely), so I suggest to upgrade, because this stuff
> should work much better in Emacs 25, and some of your problems might
> just go away without any need for customization.
All right, I am on emacs 25.1.1 in Debian testing now. If I just remove
all font configuration, I still see emacs picking the wrong characters:
While the Latin and Greek letters and the arrows are all Fira Sans Mono
(my system-wide default monospace font), emacs still picks STIX to
render ∃ and "DejaVu Math TeX Gyre" for ↦ and ∖. (Actually the
situation with ∖ is even more weird -- once I *select* that character
(i.e., I use shift+arrow key to mark it -- sorry, I don't know the emacs
terminology here), it actually changes to some other font, which I can
tell because it suddenly is only half the width. Unfortunately I don't
know how to query that font because that would remove the selection, but
it looks a lot like the one from Symbola.)
So I want to tell emacs to use DejaVu for everything the default font
doesn't support. I tried
(set-fontset-font "fontset-default" 'unicode (font-spec :name "DejaVu
Sans Mono" :size 11.0))
but that just results in *fewer* characters being rendered in Fira Sans.
For example, Σ is now rendered in TeX Gyre Schola Math. (How can
setting DejaVu as the 'unicode font result in emacs switching from Fira
Sans to TeX Gyre?!?) For additional confusion, if I select the Σ, it
switches to some other font; I can't tell which.
This brings me back to
(set-fontset-font "fontset-default" 'unicode (font-spec :name
"Monospace" :size 11.0))
(set-fontset-font "fontset-default" 'unicode (font-spec :name "DejaVu
Sans Mono" :size 11.0) nil 'append)
which fixes Σ, but still leaves all the other characters with their
wrong fonts.
So I do
(dolist (ft (fontset-list))
; Main font
(set-fontset-font ft 'unicode (font-spec :name "Monospace" :size 11.0))
; Fallback font
(set-fontset-font ft 'unicode (font-spec :name "DejaVu Sans Mono"
:size 11.0) nil 'append)
)
And now it uses the right font for things supported by either Fira or
DejaVu. For ∖, it picks STIXVariants, which is slightly too high so the
line grid is not perfect; that's why I usually try to make Symbola the
fallback-fallback font.
In any case, the above configuration is *slow*. As in, way slower than
Emacs 24 was. Just clicking somewhere results in a noticeably delay of
~0.5s until the cursor actually moves. Same for C-v. C-n is still
instantaneous. This is all at the top of
<https://gitlab.mpi-sws.org/FP/LambdaRust-coq/raw/master/theories/typing/lib/rc.v>.
The way larger list.v file I mentioned earlier is less affected, i.e.,
it is still slow but not slower than Emacs 24. This may be related to
the fact that rc.v uses much more unicode characters than list.v.
Lucky enough, my work-around still works; I can keep my old "weird"
configuration.
Kind regards,
Ralf
next prev parent reply other threads:[~2017-03-14 19:17 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-10 10:34 bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00ef86fac835b5fac (Apr 2014) Clément Pit--Claudel
2015-07-10 12:30 ` Eli Zaretskii
2015-07-10 16:02 ` Clément Pit--Claudel
2015-07-10 12:41 ` Eli Zaretskii
2015-07-10 16:55 ` Clément Pit--Claudel
2015-07-15 12:32 ` Dmitry Antipov
2015-07-18 10:24 ` Clément Pit--Claudel
2015-07-18 11:16 ` Clément Pit--Claudel
2015-07-18 11:26 ` Eli Zaretskii
2015-07-18 20:08 ` Clément Pit--Claudel
2016-03-03 6:12 ` Clément Pit--Claudel
2016-03-03 6:42 ` Clément Pit--Claudel
2016-03-03 7:08 ` Clément Pit--Claudel
2016-03-03 7:33 ` Clément Pit--Claudel
2016-03-03 17:10 ` Glenn Morris
2016-03-03 17:28 ` Clément Pit--Claudel
2016-03-03 20:27 ` Eli Zaretskii
2016-07-20 21:26 ` Clément Pit--Claudel
2016-07-21 14:21 ` Eli Zaretskii
2016-07-21 14:33 ` Clément Pit--Claudel
2016-07-23 20:50 ` Clément Pit--Claudel
2016-10-04 22:17 ` Clément Pit--Claudel
2016-10-26 17:15 ` Clément Pit--Claudel
2016-10-27 14:38 ` Eli Zaretskii
2016-10-27 15:29 ` Clément Pit--Claudel
2016-10-27 15:55 ` Eli Zaretskii
2016-10-28 14:23 ` Clément Pit--Claudel
2016-10-28 14:33 ` Eli Zaretskii
2016-11-18 8:55 ` Eli Zaretskii
2016-12-18 17:33 ` Clément Pit--Claudel
2016-12-18 17:37 ` Eli Zaretskii
2016-12-18 18:04 ` Clément Pit--Claudel
2016-12-18 19:52 ` Eli Zaretskii
2016-12-18 20:44 ` Clément Pit--Claudel
2016-12-19 15:50 ` Eli Zaretskii
2016-12-19 16:25 ` Clément Pit--Claudel
2016-12-19 16:39 ` Eli Zaretskii
2016-12-19 16:55 ` Clément Pit--Claudel
2016-12-19 16:58 ` Eli Zaretskii
2016-12-19 17:13 ` Clément Pit--Claudel
2016-12-22 16:25 ` Eli Zaretskii
2016-12-22 16:49 ` Clément Pit--Claudel
2016-12-22 18:04 ` Eli Zaretskii
2016-12-22 19:08 ` Clément Pit--Claudel
2017-02-10 4:45 ` Clément Pit--Claudel
2017-03-12 11:38 ` Clément Pit--Claudel
2017-03-12 15:49 ` Eli Zaretskii
2017-03-12 17:24 ` Clément Pit--Claudel
2017-03-12 17:48 ` Eli Zaretskii
2017-03-12 19:19 ` Clément Pit--Claudel
2017-03-13 15:46 ` Eli Zaretskii
2017-03-13 16:36 ` Clément Pit--Claudel
2017-03-13 17:22 ` Eli Zaretskii
2017-03-13 19:04 ` Clément Pit--Claudel
2017-03-13 20:53 ` Eli Zaretskii
2017-03-14 19:45 ` Clément Pit--Claudel
2017-03-15 15:37 ` Eli Zaretskii
2017-03-14 15:45 ` Eli Zaretskii
2017-03-14 19:35 ` Clément Pit--Claudel
2017-03-15 15:36 ` Eli Zaretskii
2017-03-15 20:46 ` Clément Pit--Claudel
2017-03-16 15:27 ` Eli Zaretskii
2017-03-16 21:23 ` Clément Pit--Claudel
2017-03-17 8:15 ` Eli Zaretskii
2017-04-16 7:48 ` Eli Zaretskii
2017-04-16 15:28 ` Clément Pit--Claudel
2016-12-19 17:00 ` Clément Pit--Claudel
2015-07-10 15:42 ` Glenn Morris
2016-03-03 6:37 ` Clément Pit--Claudel
2016-10-04 18:56 ` Jason Gross
2017-03-13 15:54 ` bug#21028: Slow font rendering in emacs Ralf Jung
2017-03-13 17:05 ` Eli Zaretskii
2017-03-13 18:12 ` Ralf Jung
2017-03-13 20:39 ` Eli Zaretskii
2017-03-14 15:57 ` Ralf Jung
2017-03-14 17:11 ` Eli Zaretskii
2017-03-14 18:50 ` Ralf Jung
2017-03-14 19:16 ` Eli Zaretskii
2017-03-14 19:17 ` Ralf Jung [this message]
2017-03-14 20:49 ` John Mastro
2017-03-15 15:40 ` Eli Zaretskii
2017-03-14 15:47 ` Eli Zaretskii
2017-03-14 18:41 ` Ralf Jung
2017-03-14 19:16 ` Eli Zaretskii
2017-03-14 19:39 ` Ralf Jung
2017-03-14 19:45 ` Ralf Jung
2017-03-15 15:36 ` Eli Zaretskii
2017-04-22 8:54 ` Ralf Jung
2017-04-22 13:40 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=885ac0e4-b5ba-d435-5190-8cd3c46fb624@ralfj.de \
--to=post@ralfj.de \
--cc=21028@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.