summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO7
-rw-r--r--66-whatsapp-emoji.conf31
-rw-r--r--75-whatsapp-emoji.conf177
-rw-r--r--PKGBUILD20
-rw-r--r--ttf-whatsapp-emoji.install7
5 files changed, 196 insertions, 46 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7ca0258d0ba5..b29ae812f288 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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>
+
diff --git a/PKGBUILD b/PKGBUILD
index 5b143aed75a1..0035fe06453e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+}
+