blob: 5ce87a3f7f9ae6dc951392e1b9080746705bc454 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
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 emoji from Twemoji Mozilla 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 emoji.
-->
<match target="pattern">
<test qual="any" name="family"><string>emoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<!--
This adds Twemoji Mozilla as a final fallback font for the default font families.
In this case, Twemoji Mozilla 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 emoji to be rendered in black-and-white.
-->
<match target="pattern">
<test name="family"><string>sans</string></test>
<edit name="family" mode="append"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test name="family"><string>serif</string></test>
<edit name="family" mode="append"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="append"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test name="family"><string>monospace</string></test>
<edit name="family" mode="append"><string>Twemoji Mozilla</string></edit>
</match>
<!--
If other fonts contain emoji glyphs, they could interfere and make some emoji rendered in wrong font (often in black-and-white).
For example, DejaVu Sans contains black-and-white emoji, 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>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Emoji One</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>EmojiOne Color</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>EmojiOne Mozilla</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<!--
Use Twemoji Mozilla 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 Twemoji Mozilla be selected in such cases to provide good-looking emoji.
This obviously conflicts with other emoji fonts if you have them installed.
-->
<match target="pattern">
<test qual="any" name="family"><string>Apple Color Emoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Segoe UI Emoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</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>Twemoji Mozilla</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>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>NotoColorEmoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Android Emoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Noto Emoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</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>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>JoyPixels</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Twemoji</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>TwemojiMozilla</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>EmojiTwo</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Emoji Two</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>EmojiSymbols</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
<match target="pattern">
<test qual="any" name="family"><string>Symbola</string></test>
<edit name="family" mode="assign" binding="same"><string>Twemoji Mozilla</string></edit>
</match>
</fontconfig>
|