* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow @ 2024-11-13 12:13 Duncan Bayne 2024-11-13 15:10 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Duncan Bayne @ 2024-11-13 12:13 UTC (permalink / raw) To: 74337 It takes ~ 1.5 minutes to visit even a small file containing Unicode emojis, and CPU utilization goes to 100% (of a single core) while it is loading. Reproduction steps: 1. Open Emacs with `emacs -Q`. 2. Visit the attached file (known-hosts). 3. Observe that it takes > 1 minute to visit the file. In GNU Emacs 29.4 (build 1, amd64-portbld-freebsd14.1, GTK+ Version 3.24.43, cairo version 1.17.4) Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: 14.1-RELEASE Configured using: 'configure --disable-build-details --localstatedir=/var --without-gconf --without-libsystemd --without-selinux --with-x --enable-acl --with-cairo --with-dbus --with-gif --with-gnutls --with-gsettings --with-x-toolkit=gtk3 --with-harfbuzz --with-jpeg --with-json --with-file-notification=kqueue --with-lcms2 --without-m17n-flt --without-imagemagick --with-mailutils --with-modules --without-native-compilation --with-sound=oss --without-libotf --without-pgtk --with-png --with-toolkit-scroll-bars --with-sqlite3 --with-rsvg --with-threads --with-tiff --with-tree-sitter --with-webp --without-xft --with-xim --with-xml2 --with-xpm --without-xwidgets --x-libraries=/usr/local/lib --x-includes=/usr/local/include --prefix=/usr/local --mandir=/usr/local/share/man --disable-silent-rules --infodir=/usr/local/share/emacs/info/ --build=amd64-portbld-freebsd14.1 'CFLAGS=-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing ' 'CPPFLAGS=-isystem /usr/local/include' 'LDFLAGS= -fstack-protector-strong -L/usr/local/lib '' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_ALL: en_AU.UTF-8 value of $LANG: C.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 37686 5905) (symbols 48 5447 3) (strings 32 13482 2173) (string-bytes 1 385060) (vectors 16 9591) (vector-slots 8 160240 11894) (floats 8 21 23) (intervals 56 273 0) (buffers 984 11)) -- 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 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> 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2024-11-13 15:10 UTC (permalink / raw) To: Duncan Bayne; +Cc: 74337 > From: Duncan Bayne <duncan@bayne.id.au> > Date: Wed, 13 Nov 2024 23:13:26 +1100 > > It takes ~ 1.5 minutes to visit even a small file containing Unicode > emojis, and CPU utilization goes to 100% (of a single core) while it is > loading. > > Reproduction steps: > > 1. Open Emacs with `emacs -Q`. > 2. Visit the attached file (known-hosts). > 3. Observe that it takes > 1 minute to visit the file. You haven't attached the file, please post it. Thanks. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <861pzeevpy.fsf@bayne.id.au>]
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow [not found] ` <861pzeevpy.fsf@bayne.id.au> @ 2024-11-13 20:33 ` Eli Zaretskii 2024-11-13 20:47 ` Duncan Bayne 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2024-11-13 20:33 UTC (permalink / raw) To: Duncan Bayne; +Cc: 74337 [-- Attachment #1: Type: text/plain, Size: 1153 bytes --] [Please use Reply All to reply, to keep the bug tracker CC'ed.] > From: Duncan Bayne <duncan@bayne.id.au> > Date: Thu, 14 Nov 2024 07:15:09 +1100 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: Duncan Bayne <duncan@bayne.id.au> > >> Date: Wed, 13 Nov 2024 23:13:26 +1100 > >> > >> It takes ~ 1.5 minutes to visit even a small file containing Unicode > >> emojis, and CPU utilization goes to 100% (of a single core) while it is > >> loading. > >> > >> Reproduction steps: > >> > >> 1. Open Emacs with `emacs -Q`. > >> 2. Visit the attached file (known-hosts). > >> 3. Observe that it takes > 1 minute to visit the file. > > > > You haven't attached the file, please post it. > > > > Thanks. > > Argh, sorry :/ Attached this time. I'm attaching it also, to let the bug tracker and others to see it. 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? [-- Attachment #2: known-hosts --] [-- Type: application/octet-stream, Size: 1013 bytes --] # 🔭 Kennedy: Search Gemini Space => /search 🔍 Search => /image-search 🖼 Image Search ## 🏎 Delorean Time Machine It's like the Wayback Machine, but for Gemini => /archive/ 🏎 View Archived Content ## Capsule Tools => /reports/site-health 🩺 Capsule Health Report => /certs/validator/ 🔏 Certificate and Key Validator => /site-search/ 🎯 Site Search (Add Search to your Capsule!) => /reports/domain-backlinks ↩️ Backlinks to Capsule => /page-info ℹ️ URL Metadata Lookup ## Metadata about Gemini Space => /stats 📏 Kennedy Statistics => /observatory/known-hosts All known Gemini Capsules => /observatory/security.txt Capsules using security.txt ## About Kennedy => /docs/features.gmi Features => /docs/search.gmi Search examples and options => /docs/crawling.gmi What is crawled, from where, and how its indexed => /.well-known/security.txt Report security issues => /changelog.gmi Changelog (in TinyLog format) => /kennedy.gmi "But Because They Are Hard" => /colophon.gmi Colophon ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-13 20:33 ` Eli Zaretskii @ 2024-11-13 20:47 ` Duncan Bayne 2024-11-14 6:41 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Duncan Bayne @ 2024-11-13 20:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 74337 Eli Zaretskii <eliz@gnu.org> writes: > [Please use Reply All to reply, to keep the bug tracker CC'ed.] > >> From: Duncan Bayne <duncan@bayne.id.au> >> Date: Thu, 14 Nov 2024 07:15:09 +1100 >> >> Eli Zaretskii <eliz@gnu.org> writes: >> >> >> From: Duncan Bayne <duncan@bayne.id.au> >> >> Date: Wed, 13 Nov 2024 23:13:26 +1100 >> >> >> >> It takes ~ 1.5 minutes to visit even a small file containing Unicode >> >> emojis, and CPU utilization goes to 100% (of a single core) while it is >> >> loading. >> >> >> >> Reproduction steps: >> >> >> >> 1. Open Emacs with `emacs -Q`. >> >> 2. Visit the attached file (known-hosts). >> >> 3. Observe that it takes > 1 minute to visit the file. >> > >> > You haven't attached the file, please post it. >> > >> > Thanks. >> >> Argh, sorry :/ Attached this time. > > I'm attaching it also, to let the bug tracker and others to see it. > > 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? > > [2. application/octet-stream; known-hosts]... 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. What font are you using? I'll install it and try to reproduce the issue again. -- 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-13 20:47 ` Duncan Bayne @ 2024-11-14 6:41 ` Eli Zaretskii 2024-11-14 11:42 ` Duncan Bayne 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2024-11-14 6:41 UTC (permalink / raw) To: Duncan Bayne; +Cc: 74337 > 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)) > 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-14 6:41 ` Eli Zaretskii @ 2024-11-14 11:42 ` Duncan Bayne 2024-11-14 14:31 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Duncan Bayne @ 2024-11-14 11:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 74337 [-- 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 --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-14 11:42 ` Duncan Bayne @ 2024-11-14 14:31 ` Eli Zaretskii 2024-11-14 14:49 ` Robert Pluim 0 siblings, 1 reply; 10+ messages in thread From: Eli Zaretskii @ 2024-11-14 14:31 UTC (permalink / raw) To: Duncan Bayne; +Cc: 74337 > From: Duncan Bayne <duncan@bayne.id.au> > Cc: 74337@debbugs.gnu.org > Date: Thu, 14 Nov 2024 22:42:29 +1100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > 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. Whoa! it's a small surprise you need to wait for so long when some character has no font. Why do you have so many fonts installed? do you really need them? > > 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. Those characters that show as tofu are not emoji. I suggest to install Symbola, it should have them displayed correctly. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-14 14:31 ` Eli Zaretskii @ 2024-11-14 14:49 ` Robert Pluim 2024-11-16 11:29 ` Duncan Bayne 0 siblings, 1 reply; 10+ messages in thread From: Robert Pluim @ 2024-11-14 14:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 74337, Duncan Bayne >>>>> On Thu, 14 Nov 2024 16:31:43 +0200, Eli Zaretskii <eliz@gnu.org> said: Eli> Those characters that show as tofu are not emoji. I suggest to Eli> install Symbola, it should have them displayed correctly. Either that or use set-fontset-font to use Noto Color Emoji for those 2 codepoints (that looks a lot better than the Symbola glyphs here). Robert -- ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-14 14:49 ` Robert Pluim @ 2024-11-16 11:29 ` Duncan Bayne 2024-11-16 13:22 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Duncan Bayne @ 2024-11-16 11:29 UTC (permalink / raw) To: Robert Pluim; +Cc: 74337, Eli Zaretskii Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Thu, 14 Nov 2024 16:31:43 +0200, Eli Zaretskii <eliz@gnu.org> said: > > Eli> Those characters that show as tofu are not emoji. I suggest to > Eli> install Symbola, it should have them displayed correctly. > > Either that or use set-fontset-font to use Noto Color Emoji for those > 2 codepoints (that looks a lot better than the Symbola glyphs here). Installing Symbola "fixed" the issue - visiting the file is now almost instantaneous. So it looks like the *actual* issue might be: visiting a file with a codepoint that doesn't match any installed fonts takes minutes? I'd love to try debugging this myself, although it'll likely take a while as I've not debugged Emacs itself before :) Will start with edbug-tracing and go from there. -- 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. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#74337: 29.4; Visiting a file with Unicode emojis is very slow 2024-11-16 11:29 ` Duncan Bayne @ 2024-11-16 13:22 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2024-11-16 13:22 UTC (permalink / raw) To: Duncan Bayne; +Cc: 74337, rpluim > From: Duncan Bayne <duncan@bayne.id.au> > Cc: Eli Zaretskii <eliz@gnu.org>, 74337@debbugs.gnu.org > Date: Sat, 16 Nov 2024 22:29:46 +1100 > > Installing Symbola "fixed" the issue - visiting the file is now almost > instantaneous. > > So it looks like the *actual* issue might be: visiting a file with a > codepoint that doesn't match any installed fonts takes minutes? Yes, but only if you have a very large number of fonts installed, none of which supports that codepoint. Because Emacs will try all of the fonts that could potentially have a glyph for the codepoint. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-11-16 13:22 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
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).