Hello. I use gnome terminal and in Fedora could output some utf-8 glyphs.
Who duty for render?
I’ve come across a distribution where have problem - render only some glyphs (not at all). I assumed:
Problem in terminal. Install kitty and konsole - same result.
Updated locale on all language in system and updated locale (the most populate answers) - same result.
Loaded fonts. Used the nerd fonts (have all glyphs) and cantarell (fedora used by default) - same result.
None of these points were affected. I assuming for this behaviour the provided by on level OS or kernel.
I disagree. Font not resolved this problem. Chec this out on “3270 Nerd Font”. This font include very very more glyphs
Gnome-terminal:
Konsole:
Konsole (other distr):
Font same everywhere, but renders in difference.
Why this behaviour?
It is common, I understand, for a “font” to be actually be a set of fonts merged to cover all glyphs. Its worthy checkout what font config thinks is available in each font.
I think it will be font config that is used every where now.
I found the culpirt. If i remove font google-noto-emoji-color-fonts then not avaliabled beautiful renders.
But i have new question. Where placed hardcode for this fonts?
I don’t see anything config(fontconfig) in /etc/fonts/conf.d/ for with associated glyphs or emoji.
I see google-noto-color-emoji-fonts was installed as a dependency of default-fonts-core-emoji.
Which was installed when I did a fresh install of f39 kde.
Yes. This fonts “out of box”. I’m intrested how fontconfig found google-noto-color-emoji-fonts for render glyphs. I guess i can set 3270 Nerd Font for render glyphs but how?
What I think you are seeing is some feature of fontconfig filling in missing glyphs when a font is selected. I think by merging in other font files.
Suggest you read up on fontconfig.
Thanks @barryascott for the tip fontconfig. I continued my investigetion and found two configs: /etc/fonts/conf.d/45-generic.conf /etc/fonts/conf.d/60-generic.conf
45-generic.conf describe family emoji for font
60-generic.conf describe prefed used font fot font family emoji
Now i decided write own config for set prefer font for family emoji
~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<alias binding="same">
<family>3270 Nerd Font,3270 Nerd Font Cond</family>
<default><family>emoji</family></default>
</alias>
<alias binding="same">
<family>DejaVu Sans Mono</family>
<default><family>emoji</family></default>
</alias>
<alias binding="same">
<family>monospace</family>
<prefer>
<family>3270 Nerd Font,3270 Nerd Font Cond</family>
<family>DejaVu Sans Mono</family>
<family>emoji</family>
</prefer>
</alias>
<alias binding="same">
<family>sans-serif</family>
<prefer>
<family>3270 Nerd Font,3270 Nerd Font Cond</family>
<family>DejaVu Sans Mono</family>
<family>emoji</family>
</prefer>
</alias>
<alias binding="same">
<family>serif</family>
<prefer>
<family>3270 Nerd Font,3270 Nerd Font Cond</family>
<family>DejaVu Sans Mono</family>
<family>emoji</family>
</prefer>
</alias>
<alias binding="same">
<family>emoji</family>
<prefer>
<family>3270 Nerd Font,3270 Nerd Font Cond</family>
<family>DejaVu Sans Mono</family>
<family>Segoe UI Emoji</family> <!-- Microsoft -->
</prefer>
</alias>
</fontconfig>
I used three font for emoji, but working only Segoe UI Emoji. I set prefer for family monospace, serif, sans-serif used Nerd Font and second emoji. I set for Nerd Font and DejaVu family emoji. Nothing has change.
I also added Nerd Font in 45-generic and 60-generic config - nothing has change.
If remove buiding="same" the Segoe UI Emoji it will stop working.
I not understand how can set priority for own font for emoji family.