Forked from ssaavedra/57-add-emoji-support.conf
Last active
September 25, 2024 07:07
-
-
Save kylewlacy/39118604775071fc2fbd0743f9958ea0 to your computer and use it in GitHub Desktop.
Add Emoji to Linux Fontconfig (edited to fix broken fonts for Zoom video conference)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<!-- | |
Author: Santiago Saavedra <ssaavedra@gpul.org>, Kyle Lacy | |
License: CC0 | |
Year: 2016-2017 | |
Install: | |
Copy to $XDG_CONFIG_DIR/fontconfig/conf.d/57-add-emoji-support.conf | |
Run fc-cache -f | |
Description: | |
This fontconfig script is an update to Santiago Saavedra's original emoji | |
fontconfig script. It uses Noto Color Emoji instead of EmojiOne color, | |
and it also tweaks the match rules to fix some broken apps (namely, Zoom | |
video conference, which has a weird font rendering issue if the original | |
script is used). | |
--> | |
<fontconfig> | |
<match> | |
<test qual="any" name="family"> | |
<string>serif</string> | |
</test> | |
<edit name="family" mode="prepend_first"> | |
<string>emoji</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test qual="any" name="family"> | |
<string>sans-serif</string> | |
</test> | |
<edit name="family" mode="append" binding="same"> | |
<string>emoji</string> | |
</edit> | |
</match> | |
<!-- Hack to fix font issue in Zoom when the above match is applied: --> | |
<match target="pattern"> | |
<test qual="any" name="family"> | |
<string>sans-serif</string> | |
</test> | |
<edit name="family" mode="append" binding="same"> | |
<string>DejaVu Sans</string> | |
</edit> | |
</match> | |
<match target="font"> | |
<test name="family" compare="eq"> | |
<string>DejaVu Sans</string> | |
</test> | |
<edit name="family" mode="prepend_first"> | |
<string>emoji</string> | |
</edit> | |
</match> | |
<alias binding="strong"> | |
<family>emoji</family> | |
<default><family>Noto Color Emoji</family></default> | |
</alias> | |
<!-- Alias requests for the other emoji fonts --> | |
<alias binding="strong"> | |
<family>Apple Color Emoji</family> | |
<prefer><family>emoji</family></prefer> | |
<default><family>sans-serif</family></default> | |
</alias> | |
<alias binding="strong"> | |
<family>Segoe UI Emoji</family> | |
<prefer><family>emoji</family></prefer> | |
<default><family>sans-serif</family></default> | |
</alias> | |
<alias binding="strong"> | |
<family>EmojiOne Color</family> | |
<prefer><family>emoji</family></prefer> | |
<default><family>sans-serif</family></default> | |
</alias> | |
</fontconfig> |
COCCOME85
Copy to $XDG_CONFIG_DIR/fontconfig/conf.d/57-add-emoji-support.conf
Run fc-cache -f
Thank you for this code, it works in Zoom meetings on Linux. But emojis are still missing in Zoom webinars. Do you have any ideas?
Zoom 6.2.0, Ubuntu 24.04
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
hello, thank you very much for the code, that's really great! but how exactly does it work? I haven't been working with Linux for long.
Thank you