diff options
-rw-r--r-- | .SRCINFO | 7 | ||||
-rw-r--r-- | 66-whatsapp-emoji.conf | 31 | ||||
-rw-r--r-- | 75-whatsapp-emoji.conf | 177 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | ttf-whatsapp-emoji.install | 7 |
5 files changed, 196 insertions, 46 deletions
@@ -1,8 +1,9 @@ pkgbase = ttf-whatsapp-emoji pkgdesc = TrueType WhatsApp emoji pkgver = 2.23.2.72 - pkgrel = 3 + pkgrel = 4 url = https://github.com/dmlls/whatsapp-emoji-linux + install = ttf-whatsapp-emoji.install arch = any license = unknown provides = emoji-font @@ -12,8 +13,8 @@ pkgbase = ttf-whatsapp-emoji conflicts = ttf-twemoji-color conflicts = ttf-apple-emoji source = WhatsAppEmoji.ttf::https://github.com/dmlls/whatsapp-emoji-linux/releases/download/2.23.2.72-1/WhatsAppEmoji.ttf - source = 66-whatsapp-emoji.conf + source = 75-whatsapp-emoji.conf sha512sums = 9e484f5644c9c0acc70688fda7616c6e58f8023e8136990e7b39a2af72ae0b37ab1eb115826715ac12706d346b1662e83093d4e85d8851c78b5b09d972bc737f - sha512sums = e34f2c1c15b816034f29cc47af470d83e61ad910394bb4463e0e9b6fbcba3f2afef22fd2b58da3abe67c70227aade26d26bb68f19f0761cb4ae01e1d1d42c09c + sha512sums = e9b9115a70488c407b60f52cfd850e64cd447d5ec314b8f116bcb1ab355e6fd15e3856f6bbdc7c5928ec763a56ff00be98c09d6d89c7ade44fc2e0fefc98a208 pkgname = ttf-whatsapp-emoji diff --git a/66-whatsapp-emoji.conf b/66-whatsapp-emoji.conf deleted file mode 100644 index 062324e13a16..000000000000 --- a/66-whatsapp-emoji.conf +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> -<fontconfig> - <!-- Add generic family. --> - <match target="pattern"> - <test qual="any" name="family"><string>emoji</string></test> - <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> - </match> - - <!-- This adds Apple Color Emoji as a final fallback font for the default font families. --> - <match target="pattern"> - <test name="family"><string>sans</string></test> - <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> - </match> - - <match target="pattern"> - <test name="family"><string>serif</string></test> - <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> - </match> - - <match target="pattern"> - <test name="family"><string>sans-serif</string></test> - <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> - </match> - - <match target="pattern"> - <test name="family"><string>monospace</string></test> - <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> - </match> -</fontconfig> - diff --git a/75-whatsapp-emoji.conf b/75-whatsapp-emoji.conf new file mode 100644 index 000000000000..ea70d125db1a --- /dev/null +++ b/75-whatsapp-emoji.conf @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<fontconfig> + + <!-- + Based on https://aur.archlinux.org/packages/ttf-twemoji + + See https://github.com/dmlls/whatsapp-emoji-linux/issues/1 on why 'Apple Color Emoji'. + + Treat this file as a reference and modify as necessary if you are not satisfied with the results. + + This config attempts to guarantee that colorful emojis from Apple will be displayed, + no matter how badly the apps and websites are written. + + It uses a few different tricks, some of which introduce conflicts with other fonts. + --> + + + <!-- + This adds a generic family 'emoji', + aimed for apps that don't specify specific font family for rendering emojis. + --> + <match target="pattern"> + <test qual="any" name="family"><string>emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <!-- + This adds Apple Color Emoji as a final fallback font for the default font families. + In this case, Apple Color Emoji will be selected if and only if no other font can provide a given symbol. + + Note that usually other fonts will have some glyphs available (e.g. Symbola or DejaVu fonts), + causing some emojis to be rendered in black-and-white. + --> + <match target="pattern"> + <test name="family"><string>sans</string></test> + <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test name="family"><string>serif</string></test> + <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test name="family"><string>sans-serif</string></test> + <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test name="family"><string>monospace</string></test> + <edit name="family" mode="append"><string>Apple Color Emoji</string></edit> + </match> + + <!-- + If other fonts contain emoji glyphs, they could interfere and make some emojis rendered in wrong font (often in black-and-white). + For example, DejaVu Sans contains black-and-white emojis, which we can remove using the following trick: + --> + <match target="scan"> + <test name="family" compare="contains"> + <string>DejaVu</string> + </test> + <edit name="charset" mode="assign" binding="same"> + <minus> + <name>charset</name> + <charset> + <range> + <int>0x1f600</int> + <int>0x1f640</int> + </range> + </charset> + </minus> + </edit> + </match> + + <!-- + Recognize legacy ways of writing EmojiOne family name. + --> + <match target="pattern"> + <test qual="any" name="family"><string>EmojiOne</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Emoji One</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>EmojiOne Color</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>EmojiOne Mozilla</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <!-- + Use Apple Color Emoji when other popular fonts are being specifically requested. + + It is quite common that websites would only request Apple and Google emoji fonts. + These aliases will make Apple Color Emoji be selected in such cases to provide good-looking emojis. + + This obviously conflicts with other emoji fonts if you have them installed. + --> + <match target="pattern"> + <test qual="any" name="family"><string>Segoe UI Emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Segoe UI Symbol</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Noto Color Emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>NotoColorEmoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Android Emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Noto Emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Twitter Color Emoji</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>JoyPixels</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Twemoji Mozilla</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>TwemojiMozilla</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>EmojiTwo</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Emoji Two</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>EmojiSymbols</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> + + <match target="pattern"> + <test qual="any" name="family"><string>Symbola</string></test> + <edit name="family" mode="assign" binding="same"><string>Apple Color Emoji</string></edit> + </match> +</fontconfig> + @@ -2,7 +2,7 @@ pkgname='ttf-whatsapp-emoji' pkgver='2.23.2.72' -pkgrel=3 +pkgrel=4 pkgdesc='TrueType WhatsApp emoji' arch=('any') url='https://github.com/dmlls/whatsapp-emoji-linux' @@ -16,24 +16,20 @@ conflicts=( 'ttf-twemoji-color' 'ttf-apple-emoji' ) - +install="$pkgname.install" source=( "WhatsAppEmoji.ttf::$url/releases/download/2.23.2.72-1/WhatsAppEmoji.ttf" - "66-whatsapp-emoji.conf" + "75-whatsapp-emoji.conf" ) - sha512sums=( "9e484f5644c9c0acc70688fda7616c6e58f8023e8136990e7b39a2af72ae0b37ab1eb115826715ac12706d346b1662e83093d4e85d8851c78b5b09d972bc737f" - "e34f2c1c15b816034f29cc47af470d83e61ad910394bb4463e0e9b6fbcba3f2afef22fd2b58da3abe67c70227aade26d26bb68f19f0761cb4ae01e1d1d42c09c" + "e9b9115a70488c407b60f52cfd850e64cd447d5ec314b8f116bcb1ab355e6fd15e3856f6bbdc7c5928ec763a56ff00be98c09d6d89c7ade44fc2e0fefc98a208" ) - package() { - install -dm 755 "${pkgdir}/usr/share/fonts/TTF" - install -m 644 WhatsAppEmoji.ttf "${pkgdir}/usr/share/fonts/TTF/" - - # Install fontconfig files - install -Dm 644 66-whatsapp-emoji.conf -t "${pkgdir}/usr/share/fontconfig/conf.avail/" + install -Dm644 "$srcdir/WhatsAppEmoji.ttf" \ + "${pkgdir}/usr/share/fonts/whatsapp-emoji/whatsapp-emoji.ttf" + install -Dm644 -t "$pkgdir/usr/share/fontconfig/conf.avail" "$srcdir/75-whatsapp-emoji.conf" install -d "${pkgdir}/etc/fonts/conf.d" - ln -s "/usr/share/fontconfig/conf.avail/66-whatsapp-emoji.conf" "${pkgdir}/etc/fonts/conf.d/" + ln -s "/usr/share/fontconfig/conf.avail/75-whatsapp-emoji" "${pkgdir}/etc/fonts/conf.d/" } diff --git a/ttf-whatsapp-emoji.install b/ttf-whatsapp-emoji.install new file mode 100644 index 000000000000..42206568c54d --- /dev/null +++ b/ttf-whatsapp-emoji.install @@ -0,0 +1,7 @@ +post_install() { + echo + printf "\033[1;33m::\033[0m \033[1mNote:\033[0m If some applications are not showing the emoji correctly, visit:\n" + echo "https://github.com/dmlls/whatsapp-emoji-linux/blob/main/TROUBLESHOOTING.md#non-color-emojis-being-displayed-in-some-apps" + echo +} + |