Conky fails to render the COLRv1 Noto Color Emoji font

In F43, the size of Noto Color Emoji font file(/usr/share/fonts/google-noto-color-emoji-fonts/Noto-COLRv1.ttf) is only 4.6MB. A lot of emojis disappear.

In F42, the size of Noto Color Emoji font file is about 11MB, and the filename is 'NotoColorEmoji.ttf’.

Both of these two files are belong to google-note-color-emoji-fonts package.

Does anyone know the reason and how do I get back the disappeared emoji?

texlive-noto-emoji package contains 'NotoColorEmoji.ttf’ in F43, but it needs a lot of dependences.

:heart: u2764 can’t be rendered in conky with “font0=‘Noto Color Emoji:size=$CONKY_FONT_SIZE’,”

You could downgrade the google-noto-color-emoji package to get the older file back.

# sudo dnf install */NotoColorEmoji.ttf --releasever=42
Updating and loading repositories:
Repositories loaded.
Package                                            Arch         Version                                            Repository                        Size
Downgrading:
 google-noto-color-emoji-fonts                     noarch       20241008-2.fc42                                    fedora                        10.1 MiB
   replacing google-noto-color-emoji-fonts         noarch       20250623-2.fc43                                    fedora                         4.6 MiB

Transaction Summary:
 Replacing:          1 package
 Downgrading:        1 package

Total size of inbound packages is 9 MiB. Need to download 9 MiB.
After this operation, 6 MiB extra will be used (install 10 MiB, remove 5 MiB).

Thx for your reply!

Downgrading the google-noto-color package could solve the problem temporarily,

Is there a permanent solution?

File a bug report on bugzilla for that package and hope for the best.

It is possible.

F43 Change Proposal: Use COLR for Noto Color Emoji (system-wide)

1 Like

I think we switched to use the new font format from upstream.

The size of new font format is more compact.

It seems gucharmap can render the :heart: with “Noto Color Emoji”.

OK, Thx.

I verified the new font file in FontManager, it’s OK.

Perhaps I need to debug the conky with its source. Conky can’t render any char with new font file.

[~]$cat ./test_conky.rc
conky.config = {
alignment = ‘bottom_right’,
background=false,
own_window=true,
use_xft=true,
font=‘DejaVu Sans Mono:style=Regular:size=12’,
font0=‘Noto Color Emoji:style=Regular:size=12’,
font1=‘Noto Emoji:style=Regular:size=12’,
font2=‘Noto Sans Mono CJK SC:style=Regular:size=12’
}
conky.text = [[
test
${font0}®❤
${font1}®❤
${font2}你好
]]

[~]$conky -c ./test_conky.rc

the test config for conky

BTW, please don’t using Here-Doc for conky testing (Here-String is ok), I don’t know why.

In the past few days, I debuged this issue in two ways.

First, forcing conky to works in wayland mode. (conky’s wayland mode can’t run in the gnome environment). I have to install the sway, and conky works very well in sway.

conky.config = {
out_to_wayland = true,
out_to_x = false,

Second, I traced the source code with gdb and conky worked in X11 mode by default. It all seems good in conky side.

#0 XRenderCompositeString16
(dpy=0x6a3f00, op=, src=, dst=, maskFormat=, glyphset=, xSrc=, ySrc=, xDst=, yDst=, string=, nchar=2) at /usr/src/debug/libXrender-0.9.12-3.fc43.x86_64/src/Glyph.c:300
#1 0x00007ffff7ddb044 in _XftCompositeString
(dpy=0x6a3f00, op=3, src=18874379, dst=18874378, format=, glyphset=, srcx=0, srcy=0, dstx=, dsty=, charwidth=2, chars=0x7fffffffac00, nchars=)
at /usr/src/debug/libXft-2.3.8-9.fc43.x86_64/src/xftrender.c:47
#2 XftGlyphRender
(dpy=0x6a3f00, op=3, src=18874379, pub=pub@entry=0x7fffe89d7010, dst=18874378, srcx=srcx@entry=0, srcy=0, x=, y=, glyphs=0x7fffffffbd40, nglyphs=2)
at /usr/src/debug/libXft-2.3.8-9.fc43.x86_64/src/xftrender.c:187
#3 0x00007ffff7ddb393 in XftDrawGlyphs
(draw=draw@entry=0x699840, color=color@entry=0x7fffffffcdc0, pub=pub@entry=0x7fffe89d7010, x=11, y=91, glyphs=glyphs@entry=0x7fffffffbd40, nglyphs=2) at /usr/src/debug/libXft-2.3.8-9.fc43.x86_64/src/xftdraw.c:498
#4 0x00007ffff7ddba0e in XftDrawStringUtf8
(draw=0x699840, color=0x7fffffffcdc0, pub=0x7fffe89d7010, x=11, y=91, string=0x6c93c5 “”, len=)
at /usr/src/debug/libXft-2.3.8-9.fc43.x86_64/src/xftdraw.c:643
#5 0x0000000000487a0b in conky::display_output_x11::draw_string_at
(this=0x66be20 <conky::(anonymous namespace)::x11_output>, x=11, y=91, s=0x6c93c0 “®❤”, w=5)
at /home/admin/Source/conky/src/output/display-x11.cc:916
#6 0x000000000041436a in draw_string (s=0x6c93c0 “®❤”) at /home/admin/Source/conky/src/conky.cc:1096
#7 0x0000000000415f3c in draw_each_line_inner (s=0x6c53b6 “®❤”, special_index=1, last_special_applied=-1)
at /home/admin/Source/conky/src/conky.cc:1548
#8 0x00000000004160cc in draw_line (s=0x6c53b5 “\001®❤”, special_index=0)
at /home/admin/Source/conky/src/conky.cc:1560
#9 0x0000000000412023 in for_each_line (b=0x6c53b0 “test\n\001®❤”, f=0x416075 <draw_line(char*, int)>)
at /home/admin/Source/conky/src/conky.cc:446
#10 0x0000000000416463 in draw_text () at /home/admin/Source/conky/src/conky.cc:1599
#11 0x000000000041677c in draw_stuff () at /home/admin/Source/conky/src/conky.cc:1627
#12 0x00000000004861e4 in conky::display_output_x11::main_loop_wait

(gdb) p req
$8 = (xRenderCompositeGlyphs8Req *) 0x6ab3c0
(gdb) p *req
$9 = {reqType = 139 ‘\213’, renderReqType = 24 ‘\030’, length = 7, op = 3 ‘\003’, pad1 = 0 ‘\000’, pad2 = 256,
src = 16777227, dst = 16777226, maskFormat = 39, glyphset = 16777224, xSrc = 0, ySrc = 0}

I can’t step in the SyncHandle() function.

That’s all from me.

based on above, the problem is probably occurring in the Xwayland part. that’s beyond my skill.

Can anyone else help with this?

I tested the new font in xterm and encountered the same issue.