From: Duncan Bayne <duncan@bayne.id.au>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 74337@debbugs.gnu.org
Subject: bug#74337: 29.4; Visiting a file with Unicode emojis is very slow
Date: Thu, 14 Nov 2024 22:42:29 +1100 [thread overview]
Message-ID: <86msi2115c.fsf@bayne.id.au> (raw)
In-Reply-To: <86jzd6l3k8.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1726 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Duncan Bayne <duncan@bayne.id.au>
>> Cc: 74337@debbugs.gnu.org
>> Date: Thu, 14 Nov 2024 07:47:08 +1100
>>
>> > I cannot reproduce the problem on my system (which is not
>> > amd64-portbld-freebsd): the file displays almost immediately for me.
>> >
>> > Do emoji display as "tofu" (i.e. rectangular boxes with hex codepoint
>> > value) on your system, after those 1.5 minutes, or do they display as
>> > emoticons? IOW, do you have on your system fonts that can display
>> > emoji?
>> >
>> Ah, that could be the problem. My system fonts can't display any of
>> those emoji - they display as "tofu" after the 1.5 minutes.
>
> OK, so how many fonts do you have installed overall on that system?
> What do the following expressions yield when evaluated with "M-:"?
>
> (length (font-family-list))
> (length (x-list-fonts "*" 'default))
(length (font-family-list)) returns 10775.
(length (x-list-fonts "*" 'default)) returns 7333.
>> What font are you using? I'll install it and try to reproduce the
>> issue again.
>
> If you install Noto Color Emoji, Emacs should use that font by default
> for displaying emoji.
I have installed Noto from packages with:
pkg install -y \
noto \
noto-emoji \
... and refreshed my font cache with:
fc-cache -fv
I've attached the log from fc-cache.
With this all done, most of the emoji in the file are rendered properly,
but a few still appear as tofu, and it still takes minutes to open.
I've attached a screenshot of the resultant buffer.
--
Duncan Bayne
+61 420 817 082 | gemini://duncan.bayne.id.au/
I usually check my mail every 24 - 48 hours. If there's something
urgent going on, please send me an SMS or call me.
[-- Attachment #2: fc-cache.log --]
[-- Type: application/octet-stream, Size: 9589 bytes --]
Font directories:
/home/duncan/.local/share/fonts
/usr/local/share/fonts
/usr/share/fonts
/home/duncan/.fonts
/usr/local/share/fonts/100dpi
/usr/local/share/fonts/3270
/usr/local/share/fonts/75dpi
/usr/local/share/fonts/Alef
/usr/local/share/fonts/Andika
/usr/local/share/fonts/Caladea
/usr/local/share/fonts/Carlito
/usr/local/share/fonts/ChromeOS
/usr/local/share/fonts/Comfortaa
/usr/local/share/fonts/GentiumBasic
/usr/local/share/fonts/Liberation
/usr/local/share/fonts/LinLibertineG
/usr/local/share/fonts/OTF
/usr/local/share/fonts/SourceCodePro
/usr/local/share/fonts/SourceSans
/usr/local/share/fonts/SourceSerif
/usr/local/share/fonts/TTF
/usr/local/share/fonts/Type1
/usr/local/share/fonts/alegreya-sans
/usr/local/share/fonts/anonymous-pro
/usr/local/share/fonts/b612
/usr/local/share/fonts/cantarell
/usr/local/share/fonts/cascadia-code
/usr/local/share/fonts/comic-neue
/usr/local/share/fonts/courier-prime
/usr/local/share/fonts/cyrillic
/usr/local/share/fonts/dejavu
/usr/local/share/fonts/encodings
/usr/local/share/fonts/exo
/usr/local/share/fonts/fira
/usr/local/share/fonts/firacode
/usr/local/share/fonts/gofont-ttf
/usr/local/share/fonts/google-fonts
/usr/local/share/fonts/jetbrains-mono
/usr/local/share/fonts/lato
/usr/local/share/fonts/misc
/usr/local/share/fonts/montserrat
/usr/local/share/fonts/noto
/usr/local/share/fonts/oldschool-pc-fonts
/usr/local/share/fonts/open-sans
/usr/local/share/fonts/profont
/usr/local/share/fonts/roboto-fonts-ttf
/usr/local/share/fonts/twemoji-color-font-ttf
/usr/local/share/fonts/ubuntu-font
/usr/local/share/fonts/urw-base35-fonts
/usr/local/share/fonts/vollkorn-ttf
/usr/local/share/fonts/webfonts
/usr/local/share/fonts/xscreensaver
/usr/local/share/fonts/encodings/large
/home/duncan/.local/share/fonts: skipping, no such directory
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 48 dirs
/usr/local/share/fonts/100dpi: caching, new cache contents: 398 fonts, 0 dirs
/usr/local/share/fonts/3270: caching, new cache contents: 9 fonts, 0 dirs
/usr/local/share/fonts/75dpi: caching, new cache contents: 398 fonts, 0 dirs
/usr/local/share/fonts/Alef: caching, new cache contents: 2 fonts, 0 dirs
/usr/local/share/fonts/Andika: caching, new cache contents: 4 fonts, 0 dirs
/usr/local/share/fonts/Caladea: caching, new cache contents: 4 fonts, 0 dirs
/usr/local/share/fonts/Carlito: caching, new cache contents: 4 fonts, 0 dirs
/usr/local/share/fonts/ChromeOS: caching, new cache contents: 12 fonts, 0 dirs
/usr/local/share/fonts/Comfortaa: caching, new cache contents: 3 fonts, 0 dirs
/usr/local/share/fonts/GentiumBasic: caching, new cache contents: 8 fonts, 0 dirs
/usr/local/share/fonts/Liberation: caching, new cache contents: 12 fonts, 0 dirs
/usr/local/share/fonts/LinLibertineG: caching, new cache contents: 10 fonts, 0 dirs
/usr/local/share/fonts/OTF: caching, new cache contents: 23 fonts, 0 dirs
/usr/local/share/fonts/SourceCodePro: caching, new cache contents: 14 fonts, 0 dirs
/usr/local/share/fonts/SourceSans: caching, new cache contents: 14 fonts, 0 dirs
/usr/local/share/fonts/SourceSerif: caching, new cache contents: 60 fonts, 0 dirs
/usr/local/share/fonts/TTF: caching, new cache contents: 13 fonts, 0 dirs
/usr/local/share/fonts/Type1: caching, new cache contents: 29 fonts, 0 dirs
/usr/local/share/fonts/alegreya-sans: caching, new cache contents: 28 fonts, 0 dirs
/usr/local/share/fonts/anonymous-pro: caching, new cache contents: 4 fonts, 0 dirs
/usr/local/share/fonts/b612: caching, new cache contents: 8 fonts, 0 dirs
/usr/local/share/fonts/cantarell: caching, new cache contents: 11 fonts, 0 dirs
/usr/local/share/fonts/cascadia-code: caching, new cache contents: 72 fonts, 0 dirs
/usr/local/share/fonts/comic-neue: caching, new cache contents: 12 fonts, 0 dirs
/usr/local/share/fonts/courier-prime: caching, new cache contents: 4 fonts, 0 dirs
/usr/local/share/fonts/cyrillic: caching, new cache contents: 0 fonts, 0 dirs
/usr/local/share/fonts/dejavu: caching, new cache contents: 22 fonts, 0 dirs
/usr/local/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/local/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/local/share/fonts/exo: caching, new cache contents: 18 fonts, 0 dirs
/usr/local/share/fonts/fira: caching, new cache contents: 98 fonts, 0 dirs
/usr/local/share/fonts/firacode: caching, new cache contents: 6 fonts, 0 dirs
/usr/local/share/fonts/gofont-ttf: caching, new cache contents: 12 fonts, 0 dirs
/usr/local/share/fonts/google-fonts: caching, new cache contents: 3709 fonts, 0 dirs
/usr/local/share/fonts/jetbrains-mono: caching, new cache contents: 32 fonts, 0 dirs
/usr/local/share/fonts/lato: caching, new cache contents: 18 fonts, 0 dirs
/usr/local/share/fonts/misc: caching, new cache contents: 89 fonts, 0 dirs
/usr/local/share/fonts/montserrat: caching, new cache contents: 36 fonts, 0 dirs
/usr/local/share/fonts/noto: caching, new cache contents: 1646 fonts, 0 dirs
/usr/local/share/fonts/oldschool-pc-fonts: caching, new cache contents: 1366 fonts, 0 dirs
/usr/local/share/fonts/open-sans: caching, new cache contents: 13 fonts, 0 dirs
/usr/local/share/fonts/profont: caching, new cache contents: 7 fonts, 0 dirs
/usr/local/share/fonts/roboto-fonts-ttf: caching, new cache contents: 18 fonts, 0 dirs
/usr/local/share/fonts/twemoji-color-font-ttf: caching, new cache contents: 1 fonts, 0 dirs
/usr/local/share/fonts/ubuntu-font: caching, new cache contents: 14 fonts, 0 dirs
/usr/local/share/fonts/urw-base35-fonts: caching, new cache contents: 105 fonts, 0 dirs
/usr/local/share/fonts/vollkorn-ttf: caching, new cache contents: 12 fonts, 0 dirs
/usr/local/share/fonts/webfonts: caching, new cache contents: 30 fonts, 0 dirs
/usr/local/share/fonts/xscreensaver: caching, new cache contents: 5 fonts, 0 dirs
/usr/share/fonts: skipping, no such directory
/home/duncan/.fonts: skipping, no such directory
/usr/local/share/fonts/100dpi: skipping, looped directory detected
/usr/local/share/fonts/3270: skipping, looped directory detected
/usr/local/share/fonts/75dpi: skipping, looped directory detected
/usr/local/share/fonts/Alef: skipping, looped directory detected
/usr/local/share/fonts/Andika: skipping, looped directory detected
/usr/local/share/fonts/Caladea: skipping, looped directory detected
/usr/local/share/fonts/Carlito: skipping, looped directory detected
/usr/local/share/fonts/ChromeOS: skipping, looped directory detected
/usr/local/share/fonts/Comfortaa: skipping, looped directory detected
/usr/local/share/fonts/GentiumBasic: skipping, looped directory detected
/usr/local/share/fonts/Liberation: skipping, looped directory detected
/usr/local/share/fonts/LinLibertineG: skipping, looped directory detected
/usr/local/share/fonts/OTF: skipping, looped directory detected
/usr/local/share/fonts/SourceCodePro: skipping, looped directory detected
/usr/local/share/fonts/SourceSans: skipping, looped directory detected
/usr/local/share/fonts/SourceSerif: skipping, looped directory detected
/usr/local/share/fonts/TTF: skipping, looped directory detected
/usr/local/share/fonts/Type1: skipping, looped directory detected
/usr/local/share/fonts/alegreya-sans: skipping, looped directory detected
/usr/local/share/fonts/anonymous-pro: skipping, looped directory detected
/usr/local/share/fonts/b612: skipping, looped directory detected
/usr/local/share/fonts/cantarell: skipping, looped directory detected
/usr/local/share/fonts/cascadia-code: skipping, looped directory detected
/usr/local/share/fonts/comic-neue: skipping, looped directory detected
/usr/local/share/fonts/courier-prime: skipping, looped directory detected
/usr/local/share/fonts/cyrillic: skipping, looped directory detected
/usr/local/share/fonts/dejavu: skipping, looped directory detected
/usr/local/share/fonts/encodings: skipping, looped directory detected
/usr/local/share/fonts/exo: skipping, looped directory detected
/usr/local/share/fonts/fira: skipping, looped directory detected
/usr/local/share/fonts/firacode: skipping, looped directory detected
/usr/local/share/fonts/gofont-ttf: skipping, looped directory detected
/usr/local/share/fonts/google-fonts: skipping, looped directory detected
/usr/local/share/fonts/jetbrains-mono: skipping, looped directory detected
/usr/local/share/fonts/lato: skipping, looped directory detected
/usr/local/share/fonts/misc: skipping, looped directory detected
/usr/local/share/fonts/montserrat: skipping, looped directory detected
/usr/local/share/fonts/noto: skipping, looped directory detected
/usr/local/share/fonts/oldschool-pc-fonts: skipping, looped directory detected
/usr/local/share/fonts/open-sans: skipping, looped directory detected
/usr/local/share/fonts/profont: skipping, looped directory detected
/usr/local/share/fonts/roboto-fonts-ttf: skipping, looped directory detected
/usr/local/share/fonts/twemoji-color-font-ttf: skipping, looped directory detected
/usr/local/share/fonts/ubuntu-font: skipping, looped directory detected
/usr/local/share/fonts/urw-base35-fonts: skipping, looped directory detected
/usr/local/share/fonts/vollkorn-ttf: skipping, looped directory detected
/usr/local/share/fonts/webfonts: skipping, looped directory detected
/usr/local/share/fonts/xscreensaver: skipping, looped directory detected
/usr/local/share/fonts/encodings/large: skipping, looped directory detected
/var/db/fontconfig: not cleaning unwritable cache directory
/home/duncan/.cache/fontconfig: cleaning cache directory
/home/duncan/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded
[-- Attachment #3: emoji.png --]
[-- Type: image/png, Size: 82436 bytes --]
next prev parent reply other threads:[~2024-11-14 11:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-13 12:13 bug#74337: 29.4; Visiting a file with Unicode emojis is very slow Duncan Bayne
2024-11-13 15:10 ` Eli Zaretskii
[not found] ` <861pzeevpy.fsf@bayne.id.au>
2024-11-13 20:33 ` Eli Zaretskii
2024-11-13 20:47 ` Duncan Bayne
2024-11-14 6:41 ` Eli Zaretskii
2024-11-14 11:42 ` Duncan Bayne [this message]
2024-11-14 14:31 ` Eli Zaretskii
2024-11-14 14:49 ` Robert Pluim
2024-11-16 11:29 ` Duncan Bayne
2024-11-16 13:22 ` 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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86msi2115c.fsf@bayne.id.au \
--to=duncan@bayne.id.au \
--cc=74337@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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).