]> git.mxchange.org Git - friendica-addons.git/blob - unicode_smilies/unicode_smilies.php
Merge pull request #1004 from MrPetovan/task/introduce-stable-branch
[friendica-addons.git] / unicode_smilies / unicode_smilies.php
1 <?php
2 /*
3  * Name: Unicode Smilies
4  * Description: Smilies based on the unicode emojis - On Linux use https://github.com/eosrei/emojione-color-font to see them in color and http://www.unicode.org/emoji/charts/full-emoji-list.html
5  * Version: 1.1
6  * Author: Michael Vogel <http://pirati.ca/profile/heluecht>
7  * Author: Matthias Ebers <https://loma.ml/profile/one>
8  */
9 use Friendica\Content\Smilies;
10 use Friendica\Core\Hook;
11
12 function unicode_smilies_install() {
13         Hook::register('smilie', 'addon/unicode_smilies/unicode_smilies.php', 'unicode_smilies_smilies');
14 }
15
16 function unicode_smilies_uninstall() {
17         Hook::unregister('smilie', 'addon/unicode_smilies/unicode_smilies.php', 'unicode_smilies_smilies');
18 }
19
20 function unicode_smilies_smilies(&$a,&$b) {
21         Smilies::add($b, ':-)', '&#x1F600;');
22         Smilies::add($b, ':)', '&#x1F600;');
23         Smilies::add($b, ':-(', '&#x1F641;');
24         Smilies::add($b, ':(', '&#x1F641;');
25         Smilies::add($b, ':-[', '&#x1F633;');
26         Smilies::add($b, ':-D', '&#x1F601;');
27         Smilies::add($b, ':D', '&#x1F601;');
28         Smilies::add($b, ';-)', '&#x1F609;');
29         // Smilies::add($b, ';)', '&#x1F609;'); // Deactivated since this leads to disturbed html entities
30         Smilies::add($b, ':-P', '&#x1F61B;');
31         Smilies::add($b, ':-p', '&#x1F61B;');
32         Smilies::add($b, ':P', '&#x1F61B;');
33         Smilies::add($b, ':p', '&#x1F61B;');
34         Smilies::add($b, ':-O', '&#x1F62E;');
35         Smilies::add($b, ':O', '&#x1F62E;');
36         Smilies::add($b, ':-X', '&#x1F910;');
37         Smilies::add($b, ':-x', '&#x1F910;');
38         Smilies::add($b, ':X', '&#x1F910;');
39         Smilies::add($b, ':x', '&#x1F910;');
40         Smilies::add($b, '8-)', '&#x1F60E;');
41         Smilies::add($b, ':-/', '&#x1F615;');
42         Smilies::add($b, ':-"', '&#x1F48F;');
43         Smilies::add($b, ':-&quot;', '&#x1F48F;');
44         Smilies::add($b, ':-!', '&#x1F912;');
45         Smilies::add($b, '&lt;3', '&#x2764;');
46         Smilies::add($b, '&lt;/3', '&#x1F494;');
47         Smilies::add($b, '&lt;\\3', '&#x1F494;');
48         Smilies::add($b, '8-|', '&#x1F632;');
49         Smilies::add($b, '8-O', '&#x1F632;');
50         Smilies::add($b, '\\o/', '&#x1F44D;');
51         Smilies::add($b, ":'(", '&#x1F622;');
52         Smilies::add($b, ':coffee', '&#x2615;');
53         Smilies::add($b, ':beer', '&#x1F37A;');
54         Smilies::add($b, ':homebrew', '&#x1F37A;');
55         Smilies::add($b, ':like', '&#x1F44D;');
56         Smilies::add($b, ':dislike', '&#x1F44E;');
57         Smilies::add($b, ':kaffee', '&#x2615;');
58         Smilies::add($b, ':bier', '&#x1F37A;');
59         Smilies::add($b, ':mögen', '&#x1F44D;');
60         Smilies::add($b, ':nicht mögen', '&#x1F44E;');
61 //      Smilies::add($b, 'o.O', '&#x;');
62 //      Smilies::add($b, 'O.o', '&#x;');
63 //      Smilies::add($b, 'o_O', '&#x;');
64 //      Smilies::add($b, 'O_o', '&#x;');
65 //      Smilies::add($b, ':facepalm', '&#x1F926;'); // Bad client support
66
67 // Animal smileys.
68
69 //      Smilies::add($b, ':bunnyflowers', '&#x;');
70         Smilies::add($b, ':chick', '&#x1F424;');
71         Smilies::add($b, ':bumblebee', '&#x1F41D;');
72         Smilies::add($b, ':ladybird', '&#x1F41E;');
73         Smilies::add($b, ':bigspider', '&#x1F577;');
74         Smilies::add($b, ':cat', '&#x1F408;');
75         Smilies::add($b, ':bunny', '&#x1F430;');
76         Smilies::add($b, ':cow', '&#x1F42E;');
77         Smilies::add($b, ':crab', '&#x1F980;');
78         Smilies::add($b, ':dolphin', '&#x1F42C;');
79 //      Smilies::add($b, ':dragonfly', '&#x;');
80         Smilies::add($b, ':frog', '&#x1F438;');
81         Smilies::add($b, ':hamster', '&#x1F439;');
82         Smilies::add($b, ':monkey', '&#x1F412;');
83         Smilies::add($b, ':horse', '&#x1F434;');
84 //      Smilies::add($b, ':parrot', '&#x;');
85         Smilies::add($b, ':tux', '&#x1F427;');
86         Smilies::add($b, ':snail', '&#x1F40C;');
87         Smilies::add($b, ':sheep', '&#x1F411;');
88         Smilies::add($b, ':dog', '&#x1F436;');
89         Smilies::add($b, ':elephant', '&#x1F418;');
90         Smilies::add($b, ':fish', '&#x1F41F;');
91 //      Smilies::add($b, ':giraffe', '&#x1F992;'); // Bad client support
92         Smilies::add($b, ':pig', '&#x1F416;');
93
94 // Baby Smileys
95
96         Smilies::add($b, ':baby', '&#x1F476;');
97 //      Smilies::add($b, ':babycot', '&#x;');
98 //      Smilies::add($b, ':pregnant', '&#x1F930;'); // Bad client support
99 //      Smilies::add($b, ':stork', '&#x;');
100
101 // Confused Smileys
102
103         Smilies::add($b, ':confused', '&#x1F615;');
104         Smilies::add($b, ':shrug', '&#x1F937;');
105 //      Smilies::add($b, ':stupid', '&#x;');
106 //      Smilies::add($b, ':dazed', '&#x;');
107
108 // Cool Smileys
109
110 //      Smilies::add($b, ':affro', '&#x;');
111
112 // Devil/Angel Smileys
113
114         Smilies::add($b, ':angel', '&#x1F47C;');
115         Smilies::add($b, ':cherub', '&#x1F47C;');
116 //      Smilies::add($b, ':devilangel', '&#x;');
117 //      Smilies::add($b, ':catdevil', '&#x;');
118 //      Smilies::add($b, ':devillish', '&#x;');
119 //      Smilies::add($b, ':daseesaw', '&#x;');
120 //      Smilies::add($b, ':turnevil', '&#x;');
121 //      Smilies::add($b, ':saint', '&#x;');
122 //      Smilies::add($b, ':graveside', '&#x;');
123
124 // Unpleasent smileys.
125
126         Smilies::add($b, ':toilet', '&#x1F6BD;');
127 //      Smilies::add($b, ':fartinbed', '&#x;');
128 //      Smilies::add($b, ':fartblush', '&#x;');
129
130 // Sad smileys
131
132         Smilies::add($b, ':crying', '&#x1F622;');
133 //      Smilies::add($b, ':prisoner', '&#x;');
134 //      Smilies::add($b, ':sigh', '&#x;');
135
136 // Sport smileys
137
138         Smilies::add($b, ':basketball', '&#x1F3C0;');
139         Smilies::add($b, ':bowling', '&#x1F3B3;');
140         Smilies::add($b, ':cycling', '&#x1F6B4;');
141         Smilies::add($b, ':darts', '&#x1F3AF;');
142         Smilies::add($b, ':fencing', '&#x1F93A;');
143         Smilies::add($b, ':juggling', '&#x1F939;');
144 //      Smilies::add($b, ':skipping', '&#x;');
145 //      Smilies::add($b, ':archery', '&#x;');
146         Smilies::add($b, ':surfing', '&#x1F3C4;');
147         Smilies::add($b, ':snooker', '&#x1F3B1;');
148         Smilies::add($b, ':horseriding', '&#x1F3C7;');
149
150 // Love smileys
151
152 //      Smilies::add($b, ':iloveyou', '&#x;');
153 //      Smilies::add($b, ':inlove', '&#x;');
154 //      Smilies::add($b, '~love', '&#x;');
155 //      Smilies::add($b, ':lovebear', '&#x;');
156 //      Smilies::add($b, ':lovebed', '&#x;');
157         Smilies::add($b, ':loveheart', '&#x1F496;');
158
159 // Tired/Sleep smileys
160
161 //      Smilies::add($b, ':countsheep', '&#x;');
162 //      Smilies::add($b, ':hammock', '&#x;');
163 //      Smilies::add($b, ':pillow', '&#x;');
164 //      Smilies::add($b, ':yawn', '&#x;');
165
166 // Fight/Flame/Violent smileys
167
168 //      Smilies::add($b, ':2guns', '&#x;');
169 //      Smilies::add($b, ':alienfight', '&#x;');
170 //      Smilies::add($b, ':army', '&#x;');
171 //      Smilies::add($b, ':arrowhead', '&#x;');
172 //      Smilies::add($b, ':bfg', '&#x;');
173 //      Smilies::add($b, ':bowman', '&#x;');
174 //      Smilies::add($b, ':chainsaw', '&#x;');
175 //      Smilies::add($b, ':crossbow', '&#x;');
176 //      Smilies::add($b, ':crusader', '&#x;');
177 //      Smilies::add($b, ':dead', '&#x;');
178 //      Smilies::add($b, ':hammersplat', '&#x;');
179 //      Smilies::add($b, ':lasergun', '&#x;');
180 //      Smilies::add($b, ':machinegun', '&#x;');
181 //      Smilies::add($b, ':acid', '&#x;');
182
183 // Fantasy smileys - monsters and dragons fantasy.  The other type of fantasy belongs in adult smileys
184
185         Smilies::add($b, ':alienmonster', '&#x1F47E;');
186 //      Smilies::add($b, ':barbarian', '&#x;');
187 //      Smilies::add($b, ':dinosaur', '&#x;');
188         Smilies::add($b, ':dragon', '&#x1F409;');
189         Smilies::add($b, ':draco', '&#x1F409;');
190         Smilies::add($b, ':ghost', '&#x1F47B;');
191 //      Smilies::add($b, ':mummy', '&#x;');
192
193 // Food smileys
194
195         Smilies::add($b, ':apple', '&#x1F34E;');
196 //      Smilies::add($b, ':broccoli', '&#x;');
197         Smilies::add($b, ':cake', '&#x1F370;');
198 //      Smilies::add($b, ':carrot', '&#x1F955;'); // Bad client support
199         Smilies::add($b, ':popcorn', '&#x1F37F;');
200         Smilies::add($b, ':tomato', '&#x1F345;');
201         Smilies::add($b, ':banana', '&#x1F34C;');
202         Smilies::add($b, ':cooking', '&#x1F373;');
203         Smilies::add($b, ':fryegg', '&#x1F373;');
204         Smilies::add($b, ':birthday cake', '&#x1F382;');
205
206 // Happy smileys
207
208 //      Smilies::add($b, ':cloud9', '&#x;');
209         Smilies::add($b, ':tearsofjoy', '&#x1F602;');
210
211 // Respect smileys
212
213         Smilies::add($b, ':bow', '&#x1F647;');
214 //      Smilies::add($b, ':bravo', '&#x;');
215 //      Smilies::add($b, ':hailking', '&#x;');
216 //      Smilies::add($b, ':number1', '&#x;');
217
218 // Laugh smileys
219
220 //      Smilies::add($b, ':hahaha', '&#x;');
221 //      Smilies::add($b, ':loltv', '&#x;');
222 //      Smilies::add($b, ':rofl', '&#x1F923;'); // Bad client support
223 // Music smileys
224
225 //      Smilies::add($b, ':drums', '&#x1F941;'); // Bad client support
226         Smilies::add($b, ':guitar', '&#x1F3B8;');
227         Smilies::add($b, ':trumpet', '&#x1F3BA;');
228
229 // Smileys that used to be in core
230
231 //      Smilies::add($b, ':headbang', '&#x;');
232 //      Smilies::add($b, ':beard', '&#x1F9D4;'); // Bad client support
233 //      Smilies::add($b, ':whitebeard', '&#x;');
234 //      Smilies::add($b, ':shaka', '&#x;');
235 //      Smilies::add($b, ':\\.../', '&#x;');
236 //      Smilies::add($b, ':\\ooo/', '&#x;');
237 //      Smilies::add($b, ':headdesk', '&#x;');
238
239 // These two are still in core, so oldcore isn't strictly right, but we don't want too many directories
240
241 //      Smilies::add($b, ':-d', '&#x;');
242         Smilies::add($b, ':-o', '&#x1F62E;');
243
244 //      Regex killers - stick these at the bottom so they appear at the end of the English and
245 //      at the start of $OtherLanguage.
246
247 // Drinks
248
249         Smilies::add($b, ':tea', '&#x2615;');
250         Smilies::add($b, ':tee', '&#x2615;');
251 //      Smilies::add($b, ':drool', '&#x1F924;'); // Bad client support
252
253         Smilies::add($b, ':cool', '&#x1F192;');
254 //      Smilies::add($b, ':vomit', '&#x1F92E;'); // Bad client support
255         Smilies::add($b, ':golf', '&#x1F3CC;');
256         Smilies::add($b, ':football', '&#x1F3C8;');
257         Smilies::add($b, ':tennis', '&#x1F3BE;');
258 //      Smilies::add($b, ':alpha', '&#x;');
259 //      Smilies::add($b, ':marine', '&#x;');
260         Smilies::add($b, ':sabre', '&#x1F5E1;');
261 //      Smilies::add($b, ':tank', '&#x;');
262 //      Smilies::add($b, ':viking', '&#x;');
263 //      Smilies::add($b, ':gangs', '&#x;');
264 //      Smilies::add($b, ':dj', '&#x;');
265 //      Smilies::add($b, ':elvis', '&#x;');
266         Smilies::add($b, ':violin', '&#x1F3BB;');
267
268
269 // Neu hinzugefügte Unicode Emoji von Matthias Ebers
270 // face-smiling
271         Smilies::add($b, ':grinning face', '&#x1F600');
272         Smilies::add($b, ':grinning face with big eyes', '&#x1F603');
273         Smilies::add($b, ':grinning face with smiling eyes', '&#x1F604');
274         Smilies::add($b, ':beaming face with smiling eyes', '&#x1F601');
275         Smilies::add($b, ':grinning squinting face', '&#x1F606');
276         Smilies::add($b, ':laughing', '&#x1F606');
277         Smilies::add($b, ':grinning face with sweat', '&#x1F605');
278         Smilies::add($b, ':rolling on the floor laughing', '&#x1F923');
279         Smilies::add($b, ':face with tears of joy', '&#x1F602');
280         Smilies::add($b, ':slightly smiling face', '&#x1F642');
281         Smilies::add($b, ':upside-down face', '&#x1F643');
282         Smilies::add($b, ':winking face', '&#x1F609');
283         Smilies::add($b, ':smiling face with smiling eyes', '&#x1F60A');
284         Smilies::add($b, ':smiling face with halo', '&#x1F607');
285
286 // face-affection
287         Smilies::add($b, ':smiling face with hearts', '&#x1F970');
288         Smilies::add($b, ':smiling face with heart-eyes', '&#x1F60D');
289         Smilies::add($b, ':star-struck', '&#x1F929');
290         Smilies::add($b, ':face blowing a kiss', '&#x1F618');
291         Smilies::add($b, ':kissing face', '&#x1F617');
292         Smilies::add($b, ':smiling face', '&#x263A');
293         Smilies::add($b, ':kissing face with closed eyes', '&#x1F61A');
294         Smilies::add($b, ':kissing face with smiling eyes', '&#x1F619');
295
296 // face-tongue
297         Smilies::add($b, ':face savoring food', '&#x1F60B');
298         Smilies::add($b, ':face with tongue', '&#x1F61B');
299         Smilies::add($b, ':winking face with tongue', '&#x1F61C');
300         Smilies::add($b, ':zany face', '&#x1F92A');
301         Smilies::add($b, ':squinting face with tongue', '&#x1F61D');
302         Smilies::add($b, ':money-mouth face', '&#x1F911');
303
304 // face-hand
305         Smilies::add($b, ':hugging face', '&#x1F917');
306         Smilies::add($b, ':face with hand over mouth', '&#x1F92D');
307         Smilies::add($b, ':shushing face', '&#x1F92B');
308         Smilies::add($b, ':thinking face', '&#x1F914');
309
310 // face-neutral-skeptical
311         Smilies::add($b, ':zipper-mouth face', '&#x1F910');
312         Smilies::add($b, ':face with raised eyebrow', '&#x1F928');
313         Smilies::add($b, ':neutral face', '&#x1F610');
314         Smilies::add($b, ':expressionless face', '&#x1F611');
315         Smilies::add($b, ':face without mouth', '&#x1F636');
316         Smilies::add($b, ':smirking face', '&#x1F60F');
317         Smilies::add($b, ':unamused face', '&#x1F612');
318         Smilies::add($b, ':face with rolling eyes', '&#x1F644');
319         Smilies::add($b, ':grimacing face', '&#x1F62C');
320         Smilies::add($b, ':lying face', '&#x1F925');
321
322 // face-sleepy
323         Smilies::add($b, ':relieved face', '&#x1F60C');
324         Smilies::add($b, ':pensive face', '&#x1F614');
325         Smilies::add($b, ':sleepy face', '&#x1F62A');
326         Smilies::add($b, ':drooling face', '&#x1F924');
327         Smilies::add($b, ':sleeping face', '&#x1F634');
328
329 // face-unwell
330         Smilies::add($b, ':face with medical mask', '&#x1F637');
331         Smilies::add($b, ':face with thermometer', '&#x1F912');
332         Smilies::add($b, ':face with head-bandage', '&#x1F915');
333         Smilies::add($b, ':nauseated face', '&#x1F922');
334         Smilies::add($b, ':face vomiting', '&#x1F92E');
335         Smilies::add($b, ':sneezing face', '&#x1F927');
336         Smilies::add($b, ':hot face', '&#x1F975');
337         Smilies::add($b, ':cold face', '&#x1F976');
338         Smilies::add($b, ':woozy face', '&#x1F974');
339         Smilies::add($b, ':dizzy face', '&#x1F635');
340         Smilies::add($b, ':exploding head', '&#x1F92F');
341
342 // face-hat
343         Smilies::add($b, ':cowboy hat face', '&#x1F920');
344         Smilies::add($b, ':partying face', '&#x1F973');
345
346 // face-glasses
347         Smilies::add($b, ':smiling face with sunglasses', '&#x1F60E');
348         Smilies::add($b, ':nerd face', '&#x1F913');
349         Smilies::add($b, ':face with monocle', '&#x1F9D0');
350
351 // face-concerned
352         Smilies::add($b, ':confused face', '&#x1F615');
353         Smilies::add($b, ':worried face', '&#x1F61F');
354         Smilies::add($b, ':slightly frowning face', '&#x1F641');
355         Smilies::add($b, ':frowning face', '&#x2639');
356         Smilies::add($b, ':face with open mouth', '&#x1F62E');
357         Smilies::add($b, ':hushed face', '&#x1F62F');
358         Smilies::add($b, ':astonished face', '&#x1F632');
359         Smilies::add($b, ':flushed face', '&#x1F633');
360         Smilies::add($b, ':pleading face', '&#x1F97A');
361         Smilies::add($b, ':frowning face with open mouth', '&#x1F626');
362         Smilies::add($b, ':anguished face', '&#x1F627');
363         Smilies::add($b, ':fearful face', '&#x1F628');
364         Smilies::add($b, ':anxious face with sweat', '&#x1F630');
365         Smilies::add($b, ':sad but relieved face', '&#x1F625');
366         Smilies::add($b, ':crying face', '&#x1F622');
367         Smilies::add($b, ':loudly crying face', '&#x1F62D');
368         Smilies::add($b, ':face screaming in fear', '&#x1F631');
369         Smilies::add($b, ':confounded face', '&#x1F616');
370         Smilies::add($b, ':persevering face', '&#x1F623');
371         Smilies::add($b, ':disappointed face', '&#x1F61E');
372
373 // face-negative
374         Smilies::add($b, ':face with steam from nose', '&#x1F624');
375         Smilies::add($b, ':pouting face', '&#x1F621');
376         Smilies::add($b, ':angry face', '&#x1F620');
377         Smilies::add($b, ':face with symbols on mouth', '&#x1F92C');
378         Smilies::add($b, ':smiling face with horns', '&#x1F608');
379         Smilies::add($b, ':angry face with horns', '&#x1F47F');
380         Smilies::add($b, ':skull', '&#x1F480');
381         Smilies::add($b, ':skull and crossbones', '&#x2620');
382
383 // face-costume
384         Smilies::add($b, ':pile of poo', '&#x1F4A9');
385         Smilies::add($b, ':clown face', '&#x1F921');
386         Smilies::add($b, ':ogre', '&#x1F479');
387         Smilies::add($b, ':goblin', '&#x1F47A');
388         Smilies::add($b, ':ghost', '&#x1F47B');
389         Smilies::add($b, ':alien', '&#x1F47D');
390         Smilies::add($b, ':alien monster', '&#x1F47E');
391         Smilies::add($b, ':robot', '&#x1F916');
392
393 // cat-face
394         Smilies::add($b, ':grinning cat', '&#x1F63A');
395         Smilies::add($b, ':grinning cat with smiling eyes', '&#x1F638');
396         Smilies::add($b, ':cat with tears of joy', '&#x1F639');
397         Smilies::add($b, ':smiling cat with heart-eyes', '&#x1F63B');
398         Smilies::add($b, ':cat with wry smile', '&#x1F63C');
399         Smilies::add($b, ':kissing cat', '&#x1F63D');
400         Smilies::add($b, ':weary cat', '&#x1F640');
401         Smilies::add($b, ':crying cat', '&#x1F63F');
402         Smilies::add($b, ':pouting cat', '&#x1F63E');
403
404 // monkey-face
405         Smilies::add($b, ':see-no-evil monkey', '&#x1F648');
406         Smilies::add($b, ':hear-no-evil monkey', '&#x1F649');
407         Smilies::add($b, ':speak-no-evil monkey', '&#x1F64A');
408
409 //emotion
410         Smilies::add($b, ':kiss mark', '&#x1F48B');
411         Smilies::add($b, ':love letter', '&#x1F48C');
412         Smilies::add($b, ':heart with arrow', '&#x1F498');
413         Smilies::add($b, ':heart with ribbon', '&#x1F49D');
414         Smilies::add($b, ':sparkling heart', '&#x1F496');
415         Smilies::add($b, ':growing heart', '&#x1F497');
416         Smilies::add($b, ':beating heart', '&#x1F493');
417         Smilies::add($b, ':revolving hearts', '&#x1F49E');
418         Smilies::add($b, ':two hearts', '&#x1F495');
419         Smilies::add($b, ':heart decoration', '&#x1F49F');
420         Smilies::add($b, ':heart exclamation', '&#x2763');
421         Smilies::add($b, ':broken heart', '&#x1F494');
422         Smilies::add($b, ':red heart', '&#x2764');
423         Smilies::add($b, ':orange heart', '&#x1F9E1');
424         Smilies::add($b, ':yellow heart', '&#x1F49B');
425         Smilies::add($b, ':green heart', '&#x1F49A');
426         Smilies::add($b, ':blue heart', '&#x1F499');
427         Smilies::add($b, ':purple heart', '&#x1F49C');
428 //      Smilies::add($b, ':brown heart', '&#x1F90E');
429         Smilies::add($b, ':black heart', '&#x1F5A4');
430 //      Smilies::add($b, ':white heart', '&#x1F90D');
431         Smilies::add($b, ':hundred points', '&#x1F4AF');
432         Smilies::add($b, ':anger symbol', '&#x1F4A2');
433         Smilies::add($b, ':collision', '&#x1F4A5');
434         Smilies::add($b, ':dizzy', '&#x1F4AB');
435         Smilies::add($b, ':sweat droplets', '&#x1F4A6');
436         Smilies::add($b, ':dashing away', '&#x1F4A8');
437         Smilies::add($b, ':hole', '&#x1F573');
438         Smilies::add($b, ':bomb', '&#x1F4A3');
439         Smilies::add($b, ':speech balloon', '&#x1F4AC');
440         Smilies::add($b, ':left speech bubble', '&#x1F5E8');
441         Smilies::add($b, ':right anger bubble', '&#x1F5EF');
442         Smilies::add($b, ':thought balloon', '&#x1F4AD');
443         Smilies::add($b, ':zzz', '&#x1F4A4');
444
445 // People & Body
446 // hand-fingers-open
447         Smilies::add($b, ':waving hand', '&#x1F44B');
448         Smilies::add($b, ':raised back of hand', '&#x1F91A');
449         Smilies::add($b, ':hand with fingers splayed', '&#x1F590');
450         Smilies::add($b, ':raised hand', '&#x270B');
451         Smilies::add($b, ':vulcan salute', '&#x1F596');
452
453 // hand-fingers-partial
454         Smilies::add($b, ':OK hand', '&#x1F44C');
455 //      Smilies::add($b, ':pinching hand', '&#x1F90F');
456         Smilies::add($b, ':victory hand', '&#x270C');
457         Smilies::add($b, ':crossed fingers', '&#x1F91E');
458         Smilies::add($b, ':love-you gesture', '&#x1F91F');
459         Smilies::add($b, ':sign of the horns', '&#x1F918');
460         Smilies::add($b, ':call me hand', '&#x1F919');
461
462 // hand-single-finger
463         Smilies::add($b, ':backhand index pointing left', '&#x1F448');
464         Smilies::add($b, ':backhand index pointing right', '&#x1F449');
465         Smilies::add($b, ':backhand index pointing up', '&#x1F446');
466         Smilies::add($b, ':middle finger', '&#x1F595');
467         Smilies::add($b, ':backhand index pointing down', '&#x1F447');
468         Smilies::add($b, ':index pointing up', '&#x261D');
469
470 // hand-fingers-closed
471         Smilies::add($b, ':thumbs up', '&#x1F44D');
472         Smilies::add($b, ':thumbs down', '&#x1F44E');
473         Smilies::add($b, ':raised fist', '&#x270A');
474         Smilies::add($b, ':oncoming fist', '&#x1F44A');
475         Smilies::add($b, ':left-facing fist', '&#x1F91B');
476         Smilies::add($b, ':right-facing fist', '&#x1F91C');
477
478 // hands
479         Smilies::add($b, ':clapping hands', '&#x1F44F');
480         Smilies::add($b, ':raising hands', '&#x1F64C');
481         Smilies::add($b, ':open hands', '&#x1F450');
482         Smilies::add($b, ':palms up together', '&#x1F932');
483         Smilies::add($b, ':handshake', '&#x1F91D');
484         Smilies::add($b, ':folded hands', '&#x1F64F');
485
486 // hand-prop
487         Smilies::add($b, ':writing hand', '&#x270D');
488         Smilies::add($b, ':nail polish', '&#x1F485');
489         Smilies::add($b, ':selfie', '&#x1F933');
490
491 // body-parts
492         Smilies::add($b, ':flexed biceps', '&#x1F4AA');
493 //      Smilies::add($b, ':mechanical arm', '&#x1F9BE');
494 //      Smilies::add($b, ':mechanical leg', '&#x1F9BF');
495         Smilies::add($b, ':leg', '&#x1F9B5');
496         Smilies::add($b, ':foot', '&#x1F9B6');
497         Smilies::add($b, ':ear', '&#x1F442');
498 //      Smilies::add($b, ':ear with hearing aid', '&#x1F9BB');
499         Smilies::add($b, ':nose', '&#x1F443');
500         Smilies::add($b, ':brain', '&#x1F9E0');
501         Smilies::add($b, ':tooth', '&#x1F9B7');
502         Smilies::add($b, ':bone', '&#x1F9B4');
503         Smilies::add($b, ':eyes', '&#x1F440');
504         Smilies::add($b, ':eye', '&#x1F441');
505         Smilies::add($b, ':tongue', '&#x1F445');
506         Smilies::add($b, ':mouth', '&#x1F444');
507
508 // person
509         Smilies::add($b, ':baby', '&#x1F476');
510         Smilies::add($b, ':child', '&#x1F9D2');
511         Smilies::add($b, ':boy', '&#x1F466');
512         Smilies::add($b, ':girl', '&#x1F467');
513         Smilies::add($b, ':person', '&#x1F9D1');
514         Smilies::add($b, ':person: blond hair', '&#x1F471');
515         Smilies::add($b, ':man', '&#x1F468');
516         Smilies::add($b, ':man: beard', '&#x1F9D4');
517         Smilies::add($b, ':man: red hair', '&#x1F468&#x200D&#x1F9B0');
518         Smilies::add($b, ':man: curly hair', '&#x1F468&#x200D&#x1F9B1');
519         Smilies::add($b, ':man: white hair', '&#x1F468&#x200D&#x1F9B3');
520         Smilies::add($b, ':man: bald', '&#x1F468&#x200D&#x1F9B2');
521         Smilies::add($b, ':woman', '&#x1F469');
522         Smilies::add($b, ':woman: red hair', '&#x1F469&#x200D&#x1F9B0');
523         Smilies::add($b, ':⊛ person: red hair', '&#x1F9D1&#x200D&#x1F9B0');
524         Smilies::add($b, ':woman: curly hair', '&#x1F469&#x200D&#x1F9B1');
525         Smilies::add($b, ':⊛ person: curly hair', '&#x1F9D1&#x200D&#x1F9B1');
526         Smilies::add($b, ':woman: white hair', '&#x1F469&#x200D&#x1F9B3');
527         Smilies::add($b, ':⊛ person: white hair', '&#x1F9D1&#x200D&#x1F9B3');
528         Smilies::add($b, ':woman: bald', '&#x1F469&#x200D&#x1F9B2');
529         Smilies::add($b, ':bald', '&#x1F9D1&#x200D&#x1F9B2');
530         Smilies::add($b, ':woman: blond hair', '&#x1F471&#x200D&#x2640&#xFE0F');
531         Smilies::add($b, ':man: blond hair', '&#x1F471&#x200D&#x2642&#xFE0F');
532         Smilies::add($b, ':older person', '&#x1F9D3');
533         Smilies::add($b, ':old man', '&#x1F474');
534         Smilies::add($b, ':old woman', '&#x1F475');
535
536 // person-gesture
537         Smilies::add($b, ':person frowning', '&#x1F64D');
538         Smilies::add($b, ':man frowning', '&#x1F64D&#x200D&#x2642&#xFE0F');
539         Smilies::add($b, ':woman frowning', '&#x1F64D&#x200D&#x2640&#xFE0F');
540         Smilies::add($b, ':person pouting', '&#x1F64E');
541         Smilies::add($b, ':man pouting', '&#x1F64E&#x200D&#x2642&#xFE0F');
542         Smilies::add($b, ':woman pouting', '&#x1F64E&#x200D&#x2640&#xFE0F');
543         Smilies::add($b, ':person gesturing NO', '&#x1F645');
544         Smilies::add($b, ':man gesturing NO', '&#x1F645&#x200D&#x2642&#xFE0F');
545         Smilies::add($b, ':woman gesturing NO', '&#x1F645&#x200D&#x2640&#xFE0F');
546         Smilies::add($b, ':person gesturing OK', '&#x1F646');
547         Smilies::add($b, ':man gesturing OK', '&#x1F646&#x200D&#x2642&#xFE0F');
548         Smilies::add($b, ':woman gesturing OK', '&#x1F646&#x200D&#x2640&#xFE0F');
549         Smilies::add($b, ':person tipping hand', '&#x1F481');
550         Smilies::add($b, ':man tipping hand', '&#x1F481&#x200D&#x2642&#xFE0F');
551         Smilies::add($b, ':woman tipping hand', '&#x1F481&#x200D&#x2640&#xFE0F');
552         Smilies::add($b, ':person raising hand', '&#x1F64B');
553         Smilies::add($b, ':man raising hand', '&#x1F64B&#x200D&#x2642&#xFE0F');
554         Smilies::add($b, ':woman raising hand', '&#x1F64B&#x200D&#x2640&#xFE0F');
555 //      Smilies::add($b, ':deaf person', '&#x1F9CF');
556 //      Smilies::add($b, ':deaf man', '&#x1F9CF&#x200D&#x2642&#xFE0F');
557 //      Smilies::add($b, ':deaf woman', '&#x1F9CF&#x200D&#x2640&#xFE0F');
558         Smilies::add($b, ':person bowing', '&#x1F647');
559         Smilies::add($b, ':man bowing', '&#x1F647&#x200D&#x2642&#xFE0F');
560         Smilies::add($b, ':woman bowing', '&#x1F647&#x200D&#x2640&#xFE0F');
561         Smilies::add($b, ':person facepalming', '&#x1F926');
562         Smilies::add($b, ':man facepalming', '&#x1F926&#x200D&#x2642&#xFE0F');
563         Smilies::add($b, ':woman facepalming', '&#x1F926&#x200D&#x2640&#xFE0F');
564         Smilies::add($b, ':person shrugging', '&#x1F937');
565         Smilies::add($b, ':man shrugging', '&#x1F937&#x200D&#x2642&#xFE0F');
566         Smilies::add($b, ':woman shrugging', '&#x1F937&#x200D&#x2640&#xFE0F');
567
568 // person-role
569
570 // person-fantasy
571         Smilies::add($b, ':baby angel', '&#x1F47C');
572         Smilies::add($b, ':Santa Claus', '&#x1F385');
573         Smilies::add($b, ':Mrs. Claus', '&#x1F936');
574         Smilies::add($b, ':superhero', '&#x1F9B8');
575         Smilies::add($b, ':man superhero', '&#x1F9B8&#x200D&#x2642&#xFE0F');
576         Smilies::add($b, ':woman superhero', '&#x1F9B8&#x200D&#x2640&#xFE0F');
577         Smilies::add($b, ':supervillain', '&#x1F9B9');
578         Smilies::add($b, ':man supervillain', '&#x1F9B9&#x200D&#x2642&#xFE0F');
579         Smilies::add($b, ':woman supervillain', '&#x1F9B9&#x200D&#x2640&#xFE0F');
580         Smilies::add($b, ':mage', '&#x1F9D9');
581         Smilies::add($b, ':man mage', '&#x1F9D9&#x200D&#x2642&#xFE0F');
582         Smilies::add($b, ':woman mage', '&#x1F9D9&#x200D&#x2640&#xFE0F');
583         Smilies::add($b, ':fairy', '&#x1F9DA');
584         Smilies::add($b, ':man fairy', '&#x1F9DA&#x200D&#x2642&#xFE0F');
585         Smilies::add($b, ':woman fairy', '&#x1F9DA&#x200D&#x2640&#xFE0F');
586         Smilies::add($b, ':vampire', '&#x1F9DB');
587         Smilies::add($b, ':man vampire', '&#x1F9DB&#x200D&#x2642&#xFE0F');
588         Smilies::add($b, ':woman vampire', '&#x1F9DB&#x200D&#x2640&#xFE0F');
589         Smilies::add($b, ':merperson', '&#x1F9DC');
590         Smilies::add($b, ':merman', '&#x1F9DC&#x200D&#x2642&#xFE0F');
591         Smilies::add($b, ':mermaid', '&#x1F9DC&#x200D&#x2640&#xFE0F');
592         Smilies::add($b, ':elf', '&#x1F9DD');
593         Smilies::add($b, ':man elf', '&#x1F9DD&#x200D&#x2642&#xFE0F');
594         Smilies::add($b, ':woman elf', '&#x1F9DD&#x200D&#x2640&#xFE0F');
595         Smilies::add($b, ':genie', '&#x1F9DE');
596         Smilies::add($b, ':man genie', '&#x1F9DE&#x200D&#x2642&#xFE0F');
597         Smilies::add($b, ':woman genie', '&#x1F9DE&#x200D&#x2640&#xFE0F');
598         Smilies::add($b, ':zombie', '&#x1F9DF');
599         Smilies::add($b, ':man zombie', '&#x1F9DF&#x200D&#x2642&#xFE0F');
600         Smilies::add($b, ':woman zombie', '&#x1F9DF&#x200D&#x2640&#xFE0F');
601
602 // person-activity
603
604 // person-sport
605
606 // person-resting
607
608 // family
609         Smilies::add($b, ':people holding hands', '&#x1F9D1&#x200D&#x1F91D&#x200D&#x1F9D1');
610         Smilies::add($b, ':women holding hands', '&#x1F46D');
611         Smilies::add($b, ':woman and man holding hands', '&#x1F46B');
612         Smilies::add($b, ':men holding hands', '&#x1F46C');
613         Smilies::add($b, ':kiss', '&#x1F48F');
614         Smilies::add($b, ':couple with heart', '&#x1F491');
615         Smilies::add($b, ':family', '&#x1F46A');
616
617 // person-symbol
618         Smilies::add($b, ':speaking head', '&#x1F5E3');
619         Smilies::add($b, ':bust in silhouette', '&#x1F464');
620         Smilies::add($b, ':busts in silhouette', '&#x1F465');
621         Smilies::add($b, ':footprints', '&#x1F463');
622
623 // Component
624 // hair-style
625
626 // Animals & Nature
627 // animal-mammal
628         Smilies::add($b, ':monkey face', '&#x1F435');
629         Smilies::add($b, ':monkey', '&#x1F412');
630         Smilies::add($b, ':gorilla', '&#x1F98D');
631 //      Smilies::add($b, ':orangutan', '&#x1F9A7');
632         Smilies::add($b, ':dog face', '&#x1F436');
633         Smilies::add($b, ':dog', '&#x1F415');
634 //      Smilies::add($b, ':guide dog', '&#x1F9AE');
635         Smilies::add($b, ':poodle', '&#x1F429');
636         Smilies::add($b, ':wolf', '&#x1F43A');
637         Smilies::add($b, ':fox', '&#x1F98A');
638         Smilies::add($b, ':raccoon', '&#x1F99D');
639         Smilies::add($b, ':cat face', '&#x1F431');
640         Smilies::add($b, ':cat', '&#x1F408');
641         Smilies::add($b, ':lion', '&#x1F981');
642         Smilies::add($b, ':tiger face', '&#x1F42F');
643         Smilies::add($b, ':tiger', '&#x1F405');
644         Smilies::add($b, ':leopard', '&#x1F406');
645         Smilies::add($b, ':horse face', '&#x1F434');
646         Smilies::add($b, ':horse', '&#x1F40E');
647         Smilies::add($b, ':unicorn', '&#x1F984');
648         Smilies::add($b, ':zebra', '&#x1F993');
649         Smilies::add($b, ':deer', '&#x1F98C');
650         Smilies::add($b, ':cow face', '&#x1F42E');
651         Smilies::add($b, ':ox', '&#x1F402');
652         Smilies::add($b, ':water buffalo', '&#x1F403');
653         Smilies::add($b, ':cow', '&#x1F404');
654         Smilies::add($b, ':pig face', '&#x1F437');
655         Smilies::add($b, ':pig', '&#x1F416');
656         Smilies::add($b, ':boar', '&#x1F417');
657         Smilies::add($b, ':pig nose', '&#x1F43D');
658         Smilies::add($b, ':ram', '&#x1F40F');
659         Smilies::add($b, ':ewe', '&#x1F411');
660         Smilies::add($b, ':goat', '&#x1F410');
661         Smilies::add($b, ':camel', '&#x1F42A');
662         Smilies::add($b, ':two-hump camel', '&#x1F42B');
663         Smilies::add($b, ':llama', '&#x1F999');
664         Smilies::add($b, ':giraffe', '&#x1F992');
665         Smilies::add($b, ':elephant', '&#x1F418');
666         Smilies::add($b, ':rhinoceros', '&#x1F98F');
667         Smilies::add($b, ':hippopotamus', '&#x1F99B');
668         Smilies::add($b, ':mouse face', '&#x1F42D');
669         Smilies::add($b, ':mouse', '&#x1F401');
670         Smilies::add($b, ':rat', '&#x1F400');
671         Smilies::add($b, ':hamster', '&#x1F439');
672         Smilies::add($b, ':rabbit face', '&#x1F430');
673         Smilies::add($b, ':rabbit', '&#x1F407');
674         Smilies::add($b, ':chipmunk', '&#x1F43F');
675         Smilies::add($b, ':hedgehog', '&#x1F994');
676         Smilies::add($b, ':bat', '&#x1F987');
677         Smilies::add($b, ':bear', '&#x1F43B');
678         Smilies::add($b, ':koala', '&#x1F428');
679         Smilies::add($b, ':panda', '&#x1F43C');
680 //      Smilies::add($b, ':sloth', '&#x1F9A5');
681 //      Smilies::add($b, ':otter', '&#x1F9A6');
682 //      Smilies::add($b, ':skunk', '&#x1F9A8');
683 //      Smilies::add($b, ':kangaroo', '&#x1F998');
684         Smilies::add($b, ':badger', '&#x1F9A1');
685         Smilies::add($b, ':paw prints', '&#x1F43E');
686
687 // animal-bird
688         Smilies::add($b, ':turkey', '&#x1F983');
689         Smilies::add($b, ':chicken', '&#x1F414');
690         Smilies::add($b, ':rooster', '&#x1F413');
691         Smilies::add($b, ':hatching chick', '&#x1F423');
692         Smilies::add($b, ':baby chick', '&#x1F424');
693         Smilies::add($b, ':front-facing baby chick', '&#x1F425');
694         Smilies::add($b, ':bird', '&#x1F426');
695         Smilies::add($b, ':penguin', '&#x1F427');
696         Smilies::add($b, ':dove', '&#x1F54A');
697         Smilies::add($b, ':eagle', '&#x1F985');
698         Smilies::add($b, ':duck', '&#x1F986');
699         Smilies::add($b, ':swan', '&#x1F9A2');
700         Smilies::add($b, ':owl', '&#x1F989');
701 //      Smilies::add($b, ':flamingo', '&#x1F9A9');
702         Smilies::add($b, ':peacock', '&#x1F99A');
703         Smilies::add($b, ':parrot', '&#x1F99C');
704
705 // animal-amphibian
706         Smilies::add($b, ':frog', '&#x1F438');
707
708 // animal-reptile
709         Smilies::add($b, ':crocodile', '&#x1F40A');
710         Smilies::add($b, ':turtle', '&#x1F422');
711         Smilies::add($b, ':lizard', '&#x1F98E');
712         Smilies::add($b, ':snake', '&#x1F40D');
713         Smilies::add($b, ':dragon face', '&#x1F432');
714         Smilies::add($b, ':dragon', '&#x1F409');
715         Smilies::add($b, ':sauropod', '&#x1F995');
716         Smilies::add($b, ':T-Rex', '&#x1F996');
717
718 // animal-marine
719         Smilies::add($b, ':spouting whale', '&#x1F433');
720         Smilies::add($b, ':whale', '&#x1F40B');
721         Smilies::add($b, ':dolphin', '&#x1F42C');
722         Smilies::add($b, ':fish', '&#x1F41F');
723         Smilies::add($b, ':tropical fish', '&#x1F420');
724         Smilies::add($b, ':blowfish', '&#x1F421');
725         Smilies::add($b, ':shark', '&#x1F988');
726         Smilies::add($b, ':octopus', '&#x1F419');
727         Smilies::add($b, ':spiral shell', '&#x1F41A');
728
729 // animal-bug
730         Smilies::add($b, ':snail', '&#x1F40C');
731         Smilies::add($b, ':butterfly', '&#x1F98B');
732         Smilies::add($b, ':bug', '&#x1F41B');
733         Smilies::add($b, ':ant', '&#x1F41C');
734         Smilies::add($b, ':honeybee', '&#x1F41D');
735         Smilies::add($b, ':lady beetle', '&#x1F41E');
736         Smilies::add($b, ':cricket', '&#x1F997');
737         Smilies::add($b, ':spider', '&#x1F577');
738         Smilies::add($b, ':spider web', '&#x1F578');
739         Smilies::add($b, ':scorpion', '&#x1F982');
740         Smilies::add($b, ':mosquito', '&#x1F99F');
741         Smilies::add($b, ':microbe', '&#x1F9A0');
742
743 // plant-flower
744         Smilies::add($b, ':bouquet', '&#x1F490');
745         Smilies::add($b, ':cherry blossom', '&#x1F338');
746         Smilies::add($b, ':white flower', '&#x1F4AE');
747         Smilies::add($b, ':rosette', '&#x1F3F5');
748         Smilies::add($b, ':rose', '&#x1F339');
749         Smilies::add($b, ':wilted flower', '&#x1F940');
750         Smilies::add($b, ':hibiscus', '&#x1F33A');
751         Smilies::add($b, ':sunflower', '&#x1F33B');
752         Smilies::add($b, ':blossom', '&#x1F33C');
753         Smilies::add($b, ':tulip', '&#x1F337');
754
755 // plant-other
756         Smilies::add($b, ':seedling', '&#x1F331');
757         Smilies::add($b, ':evergreen tree', '&#x1F332');
758         Smilies::add($b, ':deciduous tree', '&#x1F333');
759         Smilies::add($b, ':palm tree', '&#x1F334');
760         Smilies::add($b, ':cactus', '&#x1F335');
761         Smilies::add($b, ':sheaf of rice', '&#x1F33E');
762         Smilies::add($b, ':herb', '&#x1F33F');
763         Smilies::add($b, ':shamrock', '&#x2618');
764         Smilies::add($b, ':four leaf clover', '&#x1F340');
765         Smilies::add($b, ':maple leaf', '&#x1F341');
766         Smilies::add($b, ':fallen leaf', '&#x1F342');
767         Smilies::add($b, ':leaf fluttering in wind', '&#x1F343');
768
769 // Food & Drink
770 // food-fruit
771         Smilies::add($b, ':grapes', '&#x1F347');
772         Smilies::add($b, ':melon', '&#x1F348');
773         Smilies::add($b, ':watermelon', '&#x1F349');
774         Smilies::add($b, ':tangerine', '&#x1F34A');
775         Smilies::add($b, ':lemon', '&#x1F34B');
776         Smilies::add($b, ':banana', '&#x1F34C');
777         Smilies::add($b, ':pineapple', '&#x1F34D');
778         Smilies::add($b, ':mango', '&#x1F96D');
779         Smilies::add($b, ':red apple', '&#x1F34E');
780         Smilies::add($b, ':green apple', '&#x1F34F');
781         Smilies::add($b, ':pear', '&#x1F350');
782         Smilies::add($b, ':peach', '&#x1F351');
783         Smilies::add($b, ':cherries', '&#x1F352');
784         Smilies::add($b, ':strawberry', '&#x1F353');
785         Smilies::add($b, ':kiwi fruit', '&#x1F95D');
786         Smilies::add($b, ':tomato', '&#x1F345');
787         Smilies::add($b, ':coconut', '&#x1F965');
788
789 // food-vegetable
790         Smilies::add($b, ':avocado', '&#x1F951');
791         Smilies::add($b, ':eggplant', '&#x1F346');
792         Smilies::add($b, ':potato', '&#x1F954');
793         Smilies::add($b, ':carrot', '&#x1F955');
794         Smilies::add($b, ':ear of corn', '&#x1F33D');
795         Smilies::add($b, ':hot pepper', '&#x1F336');
796         Smilies::add($b, ':cucumber', '&#x1F952');
797         Smilies::add($b, ':leafy green', '&#x1F96C');
798         Smilies::add($b, ':broccoli', '&#x1F966');
799 //      Smilies::add($b, ':garlic', '&#x1F9C4');
800 //      Smilies::add($b, ':onion', '&#x1F9C5');
801         Smilies::add($b, ':mushroom', '&#x1F344');
802         Smilies::add($b, ':peanuts', '&#x1F95C');
803         Smilies::add($b, ':chestnut', '&#x1F330');
804
805 // food-prepared
806         Smilies::add($b, ':bread', '&#x1F35E');
807         Smilies::add($b, ':croissant', '&#x1F950');
808         Smilies::add($b, ':baguette bread', '&#x1F956');
809         Smilies::add($b, ':pretzel', '&#x1F968');
810         Smilies::add($b, ':bagel', '&#x1F96F');
811         Smilies::add($b, ':pancakes', '&#x1F95E');
812 //      Smilies::add($b, ':waffle', '&#x1F9C7');
813         Smilies::add($b, ':cheese wedge', '&#x1F9C0');
814         Smilies::add($b, ':meat on bone', '&#x1F356');
815         Smilies::add($b, ':poultry leg', '&#x1F357');
816         Smilies::add($b, ':cut of meat', '&#x1F969');
817         Smilies::add($b, ':bacon', '&#x1F953');
818         Smilies::add($b, ':hamburger', '&#x1F354');
819         Smilies::add($b, ':french fries', '&#x1F35F');
820         Smilies::add($b, ':pizza', '&#x1F355');
821         Smilies::add($b, ':hot dog', '&#x1F32D');
822         Smilies::add($b, ':sandwich', '&#x1F96A');
823         Smilies::add($b, ':taco', '&#x1F32E');
824         Smilies::add($b, ':burrito', '&#x1F32F');
825         Smilies::add($b, ':stuffed flatbread', '&#x1F959');
826 //      Smilies::add($b, ':falafel', '&#x1F9C6');
827         Smilies::add($b, ':egg', '&#x1F95A');
828         Smilies::add($b, ':cooking', '&#x1F373');
829         Smilies::add($b, ':shallow pan of food', '&#x1F958');
830         Smilies::add($b, ':pot of food', '&#x1F372');
831         Smilies::add($b, ':bowl with spoon', '&#x1F963');
832         Smilies::add($b, ':green salad', '&#x1F957');
833         Smilies::add($b, ':popcorn', '&#x1F37F');
834 //      Smilies::add($b, ':butter', '&#x1F9C8');
835         Smilies::add($b, ':salt', '&#x1F9C2');
836         Smilies::add($b, ':canned food', '&#x1F96B');
837
838 // food-asian
839         Smilies::add($b, ':bento box', '&#x1F371');
840         Smilies::add($b, ':rice cracker', '&#x1F358');
841         Smilies::add($b, ':rice ball', '&#x1F359');
842         Smilies::add($b, ':cooked rice', '&#x1F35A');
843         Smilies::add($b, ':curry rice', '&#x1F35B');
844         Smilies::add($b, ':steaming bowl', '&#x1F35C');
845         Smilies::add($b, ':spaghetti', '&#x1F35D');
846         Smilies::add($b, ':roasted sweet potato', '&#x1F360');
847         Smilies::add($b, ':oden', '&#x1F362');
848         Smilies::add($b, ':sushi', '&#x1F363');
849         Smilies::add($b, ':fried shrimp', '&#x1F364');
850         Smilies::add($b, ':fish cake with swirl', '&#x1F365');
851         Smilies::add($b, ':moon cake', '&#x1F96E');
852         Smilies::add($b, ':dango', '&#x1F361');
853         Smilies::add($b, ':dumpling', '&#x1F95F');
854         Smilies::add($b, ':fortune cookie', '&#x1F960');
855         Smilies::add($b, ':takeout box', '&#x1F961');
856
857 // food-marine
858         Smilies::add($b, ':crab', '&#x1F980');
859         Smilies::add($b, ':lobster', '&#x1F99E');
860         Smilies::add($b, ':shrimp', '&#x1F990');
861         Smilies::add($b, ':squid', '&#x1F991');
862 //      Smilies::add($b, ':oyster', '&#x1F9AA');
863
864 // food-sweet
865         Smilies::add($b, ':soft ice cream', '&#x1F366');
866         Smilies::add($b, ':shaved ice', '&#x1F367');
867         Smilies::add($b, ':ice cream', '&#x1F368');
868         Smilies::add($b, ':doughnut', '&#x1F369');
869         Smilies::add($b, ':cookie', '&#x1F36A');
870         Smilies::add($b, ':birthday cake', '&#x1F382');
871         Smilies::add($b, ':shortcake', '&#x1F370');
872         Smilies::add($b, ':cupcake', '&#x1F9C1');
873         Smilies::add($b, ':pie', '&#x1F967');
874         Smilies::add($b, ':chocolate bar', '&#x1F36B');
875         Smilies::add($b, ':candy', '&#x1F36C');
876         Smilies::add($b, ':lollipop', '&#x1F36D');
877         Smilies::add($b, ':custard', '&#x1F36E');
878         Smilies::add($b, ':honey pot', '&#x1F36F');
879
880 // drink  
881         Smilies::add($b, ':baby bottle', '&#x1F37C');
882         Smilies::add($b, ':glass of milk', '&#x1F95B');
883         Smilies::add($b, ':hot beverage', '&#x2615');
884         Smilies::add($b, ':teacup without handle', '&#x1F375');
885         Smilies::add($b, ':sake', '&#x1F376');
886         Smilies::add($b, ':bottle with popping cork', '&#x1F37E');
887         Smilies::add($b, ':wine glass', '&#x1F377');
888         Smilies::add($b, ':cocktail glass', '&#x1F378');
889         Smilies::add($b, ':tropical drink', '&#x1F379');
890         Smilies::add($b, ':beer mug', '&#x1F37A');
891         Smilies::add($b, ':clinking beer mugs', '&#x1F37B');
892         Smilies::add($b, ':clinking glasses', '&#x1F942');
893         Smilies::add($b, ':tumbler glass', '&#x1F943');
894         Smilies::add($b, ':cup with straw', '&#x1F964');
895 //      Smilies::add($b, ':beverage box', '&#x1F9C3');
896 //      Smilies::add($b, ':mate', '&#x1F9C9');
897 //      Smilies::add($b, ':ice', '&#x1F9CA');
898
899 // dishware
900         Smilies::add($b, ':chopsticks', '&#x1F962');
901         Smilies::add($b, ':fork and knife with plate', '&#x1F37D');
902         Smilies::add($b, ':fork and knife', '&#x1F374');
903         Smilies::add($b, ':spoon', '&#x1F944');
904         Smilies::add($b, ':kitchen knife', '&#x1F52A');
905         Smilies::add($b, ':amphora', '&#x1F3FA');
906
907 // Travel & Places
908 // place-map
909         Smilies::add($b, ':globe showing Europe-Africa', '&#x1F30D');
910         Smilies::add($b, ':globe showing Americas', '&#x1F30E');
911         Smilies::add($b, ':globe showing Asia-Australia', '&#x1F30F');
912         Smilies::add($b, ':globe with meridians', '&#x1F310');
913         Smilies::add($b, ':world map', '&#x1F5FA');
914         Smilies::add($b, ':map of Japan', '&#x1F5FE');
915         Smilies::add($b, ':compass', '&#x1F9ED');
916
917 // place-geographic
918         Smilies::add($b, ':snow-capped mountain', '&#x1F3D4');
919         Smilies::add($b, ':mountain', '&#x26F0');
920         Smilies::add($b, ':volcano', '&#x1F30B');
921         Smilies::add($b, ':mount fuji', '&#x1F5FB');
922         Smilies::add($b, ':camping', '&#x1F3D5');
923         Smilies::add($b, ':beach with umbrella', '&#x1F3D6');
924         Smilies::add($b, ':desert', '&#x1F3DC');
925         Smilies::add($b, ':desert island', '&#x1F3DD');
926         Smilies::add($b, ':national park', '&#x1F3DE');
927
928 // place-building
929         Smilies::add($b, ':stadium', '&#x1F3DF');
930         Smilies::add($b, ':classical building', '&#x1F3DB');
931         Smilies::add($b, ':building construction', '&#x1F3D7');
932         Smilies::add($b, ':brick', '&#x1F9F1');
933         Smilies::add($b, ':houses', '&#x1F3D8');
934         Smilies::add($b, ':derelict house', '&#x1F3DA');
935         Smilies::add($b, ':house', '&#x1F3E0');
936         Smilies::add($b, ':house with garden', '&#x1F3E1');
937         Smilies::add($b, ':office building', '&#x1F3E2');
938         Smilies::add($b, ':Japanese post office', '&#x1F3E3');
939         Smilies::add($b, ':post office', '&#x1F3E4');
940         Smilies::add($b, ':hospital', '&#x1F3E5');
941         Smilies::add($b, ':bank', '&#x1F3E6');
942         Smilies::add($b, ':hotel', '&#x1F3E8');
943         Smilies::add($b, ':love hotel', '&#x1F3E9');
944         Smilies::add($b, ':convenience store', '&#x1F3EA');
945         Smilies::add($b, ':school', '&#x1F3EB');
946         Smilies::add($b, ':department store', '&#x1F3EC');
947         Smilies::add($b, ':factory', '&#x1F3ED');
948         Smilies::add($b, ':Japanese castle', '&#x1F3EF');
949         Smilies::add($b, ':castle', '&#x1F3F0');
950         Smilies::add($b, ':wedding', '&#x1F492');
951         Smilies::add($b, ':Tokyo tower', '&#x1F5FC');
952         Smilies::add($b, ':Statue of Liberty', '&#x1F5FD');
953
954 // place-religious
955         Smilies::add($b, ':church', '&#x26EA');
956         Smilies::add($b, ':mosque', '&#x1F54C');
957 //      Smilies::add($b, ':hindu temple', '&#x1F6D5');
958         Smilies::add($b, ':synagogue', '&#x1F54D');
959         Smilies::add($b, ':shinto shrine', '&#x26E9');
960         Smilies::add($b, ':kaaba', '&#x1F54B');
961
962 // place-other
963         Smilies::add($b, ':fountain', '&#x26F2');
964         Smilies::add($b, ':tent', '&#x26FA');
965         Smilies::add($b, ':foggy', '&#x1F301');
966         Smilies::add($b, ':night with stars', '&#x1F303');
967         Smilies::add($b, ':cityscape', '&#x1F3D9');
968         Smilies::add($b, ':sunrise over mountains', '&#x1F304');
969         Smilies::add($b, ':sunrise', '&#x1F305');
970         Smilies::add($b, ':cityscape at dusk', '&#x1F306');
971         Smilies::add($b, ':sunset', '&#x1F307');
972         Smilies::add($b, ':bridge at night', '&#x1F309');
973         Smilies::add($b, ':hot springs', '&#x2668');
974         Smilies::add($b, ':carousel horse', '&#x1F3A0');
975         Smilies::add($b, ':ferris wheel', '&#x1F3A1');
976         Smilies::add($b, ':roller coaster', '&#x1F3A2');
977         Smilies::add($b, ':barber pole', '&#x1F488');
978         Smilies::add($b, ':circus tent', '&#x1F3AA');
979
980 // transport-ground
981         Smilies::add($b, ':locomotive', '&#x1F682');
982         Smilies::add($b, ':railway car', '&#x1F683');
983         Smilies::add($b, ':high-speed train', '&#x1F684');
984         Smilies::add($b, ':bullet train', '&#x1F685');
985         Smilies::add($b, ':train', '&#x1F686');
986         Smilies::add($b, ':metro', '&#x1F687');
987         Smilies::add($b, ':light rail', '&#x1F688');
988         Smilies::add($b, ':station', '&#x1F689');
989         Smilies::add($b, ':tram', '&#x1F68A');
990         Smilies::add($b, ':monorail', '&#x1F69D');
991         Smilies::add($b, ':mountain railway', '&#x1F69E');
992         Smilies::add($b, ':tram car', '&#x1F68B');
993         Smilies::add($b, ':bus', '&#x1F68C');
994         Smilies::add($b, ':oncoming bus', '&#x1F68D');
995         Smilies::add($b, ':trolleybus', '&#x1F68E');
996         Smilies::add($b, ':minibus', '&#x1F690');
997         Smilies::add($b, ':ambulance', '&#x1F691');
998         Smilies::add($b, ':fire engine', '&#x1F692');
999         Smilies::add($b, ':police car', '&#x1F693');
1000         Smilies::add($b, ':oncoming police car', '&#x1F694');
1001         Smilies::add($b, ':taxi', '&#x1F695');
1002         Smilies::add($b, ':oncoming taxi', '&#x1F696');
1003         Smilies::add($b, ':automobile', '&#x1F697');
1004         Smilies::add($b, ':oncoming automobile', '&#x1F698');
1005         Smilies::add($b, ':sport utility vehicle', '&#x1F699');
1006         Smilies::add($b, ':delivery truck', '&#x1F69A');
1007         Smilies::add($b, ':articulated lorry', '&#x1F69B');
1008         Smilies::add($b, ':tractor', '&#x1F69C');
1009         Smilies::add($b, ':racing car', '&#x1F3CE');
1010         Smilies::add($b, ':motorcycle', '&#x1F3CD');
1011         Smilies::add($b, ':motor scooter', '&#x1F6F5');
1012 //      Smilies::add($b, ':manual wheelchair', '&#x1F9BD');
1013 //      Smilies::add($b, ':motorized wheelchair', '&#x1F9BC');
1014 //      Smilies::add($b, ':auto rickshaw', '&#x1F6FA');
1015         Smilies::add($b, ':bicycle', '&#x1F6B2');
1016         Smilies::add($b, ':kick scooter', '&#x1F6F4');
1017         Smilies::add($b, ':skateboard', '&#x1F6F9');
1018         Smilies::add($b, ':bus stop', '&#x1F68F');
1019         Smilies::add($b, ':motorway', '&#x1F6E3');
1020         Smilies::add($b, ':railway track', '&#x1F6E4');
1021         Smilies::add($b, ':oil drum', '&#x1F6E2');
1022         Smilies::add($b, ':fuel pump', '&#x26FD');
1023         Smilies::add($b, ':police car light', '&#x1F6A8');
1024         Smilies::add($b, ':horizontal traffic light', '&#x1F6A5');
1025         Smilies::add($b, ':vertical traffic light', '&#x1F6A6');
1026         Smilies::add($b, ':stop sign', '&#x1F6D1');
1027         Smilies::add($b, ':construction', '&#x1F6A7');
1028
1029 // transport-water
1030         Smilies::add($b, ':anchor', '&#x2693');
1031         Smilies::add($b, ':sailboat', '&#x26F5');
1032         Smilies::add($b, ':canoe', '&#x1F6F6');
1033         Smilies::add($b, ':speedboat', '&#x1F6A4');
1034         Smilies::add($b, ':passenger ship', '&#x1F6F3');
1035         Smilies::add($b, ':ferry', '&#x26F4');
1036         Smilies::add($b, ':motor boat', '&#x1F6E5');
1037         Smilies::add($b, ':ship', '&#x1F6A2');
1038
1039 // transport-air
1040         Smilies::add($b, ':airplane', '&#x2708');
1041         Smilies::add($b, ':small airplane', '&#x1F6E9');
1042         Smilies::add($b, ':airplane departure', '&#x1F6EB');
1043         Smilies::add($b, ':airplane arrival', '&#x1F6EC');
1044 //      Smilies::add($b, ':parachute', '&#x1FA82');
1045         Smilies::add($b, ':seat', '&#x1F4BA');
1046         Smilies::add($b, ':helicopter', '&#x1F681');
1047         Smilies::add($b, ':suspension railway', '&#x1F69F');
1048         Smilies::add($b, ':mountain cableway', '&#x1F6A0');
1049         Smilies::add($b, ':aerial tramway', '&#x1F6A1');
1050         Smilies::add($b, ':satellite', '&#x1F6F0');
1051         Smilies::add($b, ':rocket', '&#x1F680');
1052         Smilies::add($b, ':flying saucer', '&#x1F6F8');
1053
1054 // hotel
1055         Smilies::add($b, ':bellhop bell', '&#x1F6CE');
1056         Smilies::add($b, ':luggage', '&#x1F9F3');
1057
1058 // time
1059         Smilies::add($b, ':hourglass done', '&#x231B');
1060         Smilies::add($b, ':hourglass not done', '&#x23F3');
1061         Smilies::add($b, ':watch', '&#x231A');
1062         Smilies::add($b, ':alarm clock', '&#x23F0');
1063         Smilies::add($b, ':stopwatch', '&#x23F1');
1064         Smilies::add($b, ':timer clock', '&#x23F2');
1065         Smilies::add($b, ':mantelpiece clock', '&#x1F570');
1066         Smilies::add($b, ':twelve o’clock', '&#x1F55B');
1067         Smilies::add($b, ':twelve-thirty', '&#x1F567');
1068         Smilies::add($b, ':one o’clock', '&#x1F550');
1069         Smilies::add($b, ':one-thirty', '&#x1F55C');
1070         Smilies::add($b, ':two o’clock', '&#x1F551');
1071         Smilies::add($b, ':two-thirty', '&#x1F55D');
1072         Smilies::add($b, ':three o’clock', '&#x1F552');
1073         Smilies::add($b, ':three-thirty', '&#x1F55E');
1074         Smilies::add($b, ':four o’clock', '&#x1F553');
1075         Smilies::add($b, ':four-thirty', '&#x1F55F');
1076         Smilies::add($b, ':five o’clock', '&#x1F554');
1077         Smilies::add($b, ':five-thirty', '&#x1F560');
1078         Smilies::add($b, ':six o’clock', '&#x1F555');
1079         Smilies::add($b, ':six-thirty', '&#x1F561');
1080         Smilies::add($b, ':seven o’clock', '&#x1F556');
1081         Smilies::add($b, ':seven-thirty', '&#x1F562');
1082         Smilies::add($b, ':eight o’clock', '&#x1F557');
1083         Smilies::add($b, ':eight-thirty', '&#x1F563');
1084         Smilies::add($b, ':nine o’clock', '&#x1F558');
1085         Smilies::add($b, ':nine-thirty', '&#x1F564');
1086         Smilies::add($b, ':ten o’clock', '&#x1F559');
1087         Smilies::add($b, ':ten-thirty', '&#x1F565');
1088         Smilies::add($b, ':eleven o’clock', '&#x1F55A');
1089         Smilies::add($b, ':eleven-thirty', '&#x1F566');
1090
1091 // sky & weather
1092         Smilies::add($b, ':new moon', '&#x1F311');
1093         Smilies::add($b, ':waxing crescent moon', '&#x1F312');
1094         Smilies::add($b, ':first quarter moon', '&#x1F313');
1095         Smilies::add($b, ':waxing gibbous moon', '&#x1F314');
1096         Smilies::add($b, ':full moon', '&#x1F315');
1097         Smilies::add($b, ':waning gibbous moon', '&#x1F316');
1098         Smilies::add($b, ':last quarter moon', '&#x1F317');
1099         Smilies::add($b, ':waning crescent moon', '&#x1F318');
1100         Smilies::add($b, ':crescent moon', '&#x1F319');
1101         Smilies::add($b, ':new moon face', '&#x1F31A');
1102         Smilies::add($b, ':first quarter moon face', '&#x1F31B');
1103         Smilies::add($b, ':last quarter moon face', '&#x1F31C');
1104         Smilies::add($b, ':thermometer', '&#x1F321');
1105         Smilies::add($b, ':sun', '&#x2600');
1106         Smilies::add($b, ':full moon face', '&#x1F31D');
1107         Smilies::add($b, ':sun with face', '&#x1F31E');
1108 //      Smilies::add($b, ':ringed planet', '&#x1FA90');
1109         Smilies::add($b, ':star', '&#x2B50');
1110         Smilies::add($b, ':glowing star', '&#x1F31F');
1111         Smilies::add($b, ':shooting star', '&#x1F320');
1112         Smilies::add($b, ':milky way', '&#x1F30C');
1113         Smilies::add($b, ':cloud', '&#x2601');
1114         Smilies::add($b, ':sun behind cloud', '&#x26C5');
1115         Smilies::add($b, ':cloud with lightning and rain', '&#x26C8');
1116         Smilies::add($b, ':sun behind small cloud', '&#x1F324');
1117         Smilies::add($b, ':sun behind large cloud', '&#x1F325');
1118         Smilies::add($b, ':sun behind rain cloud', '&#x1F326');
1119         Smilies::add($b, ':cloud with rain', '&#x1F327');
1120         Smilies::add($b, ':cloud with snow', '&#x1F328');
1121         Smilies::add($b, ':cloud with lightning', '&#x1F329');
1122         Smilies::add($b, ':tornado', '&#x1F32A');
1123         Smilies::add($b, ':fog', '&#x1F32B');
1124         Smilies::add($b, ':wind face', '&#x1F32C');
1125         Smilies::add($b, ':cyclone', '&#x1F300');
1126         Smilies::add($b, ':rainbow', '&#x1F308');
1127         Smilies::add($b, ':closed umbrella', '&#x1F302');
1128         Smilies::add($b, ':umbrella', '&#x2602');
1129         Smilies::add($b, ':umbrella with rain drops', '&#x2614');
1130         Smilies::add($b, ':umbrella on ground', '&#x26F1');
1131         Smilies::add($b, ':high voltage', '&#x26A1');
1132         Smilies::add($b, ':snowflake', '&#x2744');
1133         Smilies::add($b, ':snowman', '&#x2603');
1134         Smilies::add($b, ':snowman without snow', '&#x26C4');
1135         Smilies::add($b, ':comet', '&#x2604');
1136         Smilies::add($b, ':fire', '&#x1F525');
1137         Smilies::add($b, ':droplet', '&#x1F4A7');
1138         Smilies::add($b, ':water wave', '&#x1F30A');
1139
1140 // Activities
1141 // event
1142         Smilies::add($b, ':jack-o-lantern', '&#x1F383');
1143         Smilies::add($b, ':Christmas tree', '&#x1F384');
1144         Smilies::add($b, ':fireworks', '&#x1F386');
1145         Smilies::add($b, ':sparkler', '&#x1F387');
1146         Smilies::add($b, ':firecracker', '&#x1F9E8');
1147         Smilies::add($b, ':sparkles', '&#x2728');
1148         Smilies::add($b, ':balloon', '&#x1F388');
1149         Smilies::add($b, ':party popper', '&#x1F389');
1150         Smilies::add($b, ':confetti ball', '&#x1F38A');
1151         Smilies::add($b, ':tanabata tree', '&#x1F38B');
1152         Smilies::add($b, ':pine decoration', '&#x1F38D');
1153         Smilies::add($b, ':Japanese dolls', '&#x1F38E');
1154         Smilies::add($b, ':carp streamer', '&#x1F38F');
1155         Smilies::add($b, ':wind chime', '&#x1F390');
1156         Smilies::add($b, ':moon viewing ceremony', '&#x1F391');
1157         Smilies::add($b, ':red envelope', '&#x1F9E7');
1158         Smilies::add($b, ':ribbon', '&#x1F380');
1159         Smilies::add($b, ':wrapped gift', '&#x1F381');
1160         Smilies::add($b, ':reminder ribbon', '&#x1F397');
1161         Smilies::add($b, ':admission tickets', '&#x1F39F');
1162         Smilies::add($b, ':ticket', '&#x1F3AB');
1163
1164 // award-medal
1165         Smilies::add($b, ':military medal', '&#x1F396');
1166         Smilies::add($b, ':trophy', '&#x1F3C6');
1167         Smilies::add($b, ':sports medal', '&#x1F3C5');
1168         Smilies::add($b, ':1st place medal', '&#x1F947');
1169         Smilies::add($b, ':2nd place medal', '&#x1F948');
1170         Smilies::add($b, ':3rd place medal', '&#x1F949');
1171
1172 // sport
1173         Smilies::add($b, ':soccer ball', '&#x26BD');
1174         Smilies::add($b, ':baseball', '&#x26BE');
1175         Smilies::add($b, ':softball', '&#x1F94E');
1176         Smilies::add($b, ':basketball', '&#x1F3C0');
1177         Smilies::add($b, ':volleyball', '&#x1F3D0');
1178         Smilies::add($b, ':american football', '&#x1F3C8');
1179         Smilies::add($b, ':rugby football', '&#x1F3C9');
1180         Smilies::add($b, ':tennis', '&#x1F3BE');
1181         Smilies::add($b, ':flying disc', '&#x1F94F');
1182         Smilies::add($b, ':bowling', '&#x1F3B3');
1183         Smilies::add($b, ':cricket game', '&#x1F3CF');
1184         Smilies::add($b, ':field hockey', '&#x1F3D1');
1185         Smilies::add($b, ':ice hockey', '&#x1F3D2');
1186         Smilies::add($b, ':lacrosse', '&#x1F94D');
1187         Smilies::add($b, ':ping pong', '&#x1F3D3');
1188         Smilies::add($b, ':badminton', '&#x1F3F8');
1189         Smilies::add($b, ':boxing glove', '&#x1F94A');
1190         Smilies::add($b, ':martial arts uniform', '&#x1F94B');
1191         Smilies::add($b, ':goal net', '&#x1F945');
1192         Smilies::add($b, ':flag in hole', '&#x26F3');
1193         Smilies::add($b, ':ice skate', '&#x26F8');
1194         Smilies::add($b, ':fishing pole', '&#x1F3A3');
1195 //      Smilies::add($b, ':diving mask', '&#x1F93F');
1196         Smilies::add($b, ':running shirt', '&#x1F3BD');
1197         Smilies::add($b, ':skis', '&#x1F3BF');
1198         Smilies::add($b, ':sled', '&#x1F6F7');
1199         Smilies::add($b, ':curling stone', '&#x1F94C');
1200
1201 // game
1202         Smilies::add($b, ':direct hit', '&#x1F3AF');
1203 //      Smilies::add($b, ':yo-yo', '&#x1FA80');
1204 //      Smilies::add($b, ':kite', '&#x1FA81');
1205         Smilies::add($b, ':pool 8 ball', '&#x1F3B1');
1206         Smilies::add($b, ':crystal ball', '&#x1F52E');
1207         Smilies::add($b, ':nazar amulet', '&#x1F9FF');
1208         Smilies::add($b, ':video game', '&#x1F3AE');
1209         Smilies::add($b, ':joystick', '&#x1F579');
1210         Smilies::add($b, ':slot machine', '&#x1F3B0');
1211         Smilies::add($b, ':game die', '&#x1F3B2');
1212         Smilies::add($b, ':puzzle piece', '&#x1F9E9');
1213         Smilies::add($b, ':teddy bear', '&#x1F9F8');
1214         Smilies::add($b, ':spade suit', '&#x2660');
1215         Smilies::add($b, ':heart suit', '&#x2665');
1216         Smilies::add($b, ':diamond suit', '&#x2666');
1217         Smilies::add($b, ':club suit', '&#x2663');
1218         Smilies::add($b, ':chess pawn', '&#x265F');
1219         Smilies::add($b, ':joker', '&#x1F0CF');
1220         Smilies::add($b, ':mahjong red dragon', '&#x1F004');
1221         Smilies::add($b, ':flower playing cards', '&#x1F3B4');
1222
1223 // arts & crafts
1224         Smilies::add($b, ':performing arts', '&#x1F3AD');
1225         Smilies::add($b, ':framed picture', '&#x1F5BC');
1226         Smilies::add($b, ':artist palette', '&#x1F3A8');
1227         Smilies::add($b, ':thread', '&#x1F9F5');
1228         Smilies::add($b, ':yarn', '&#x1F9F6');
1229
1230 // Objects
1231 // clothing
1232         Smilies::add($b, ':glasses', '&#x1F453');
1233         Smilies::add($b, ':sunglasses', '&#x1F576');
1234         Smilies::add($b, ':goggles', '&#x1F97D');
1235         Smilies::add($b, ':lab coat', '&#x1F97C');
1236 //      Smilies::add($b, ':safety vest', '&#x1F9BA');
1237         Smilies::add($b, ':necktie', '&#x1F454');
1238         Smilies::add($b, ':t-shirt', '&#x1F455');
1239         Smilies::add($b, ':jeans', '&#x1F456');
1240         Smilies::add($b, ':scarf', '&#x1F9E3');
1241         Smilies::add($b, ':gloves', '&#x1F9E4');
1242         Smilies::add($b, ':coat', '&#x1F9E5');
1243         Smilies::add($b, ':socks', '&#x1F9E6');
1244         Smilies::add($b, ':dress', '&#x1F457');
1245         Smilies::add($b, ':kimono', '&#x1F458');
1246 //      Smilies::add($b, ':sari', '&#x1F97B');
1247 //      Smilies::add($b, ':one-piece swimsuit', '&#x1FA71');
1248 //      Smilies::add($b, ':briefs', '&#x1FA72');
1249 //      Smilies::add($b, ':shorts', '&#x1FA73');
1250         Smilies::add($b, ':bikini', '&#x1F459');
1251         Smilies::add($b, ':woman’s clothes', '&#x1F45A');
1252         Smilies::add($b, ':purse', '&#x1F45B');
1253         Smilies::add($b, ':handbag', '&#x1F45C');
1254         Smilies::add($b, ':clutch bag', '&#x1F45D');
1255         Smilies::add($b, ':shopping bags', '&#x1F6CD');
1256         Smilies::add($b, ':backpack', '&#x1F392');
1257         Smilies::add($b, ':man’s shoe', '&#x1F45E');
1258         Smilies::add($b, ':running shoe', '&#x1F45F');
1259         Smilies::add($b, ':hiking boot', '&#x1F97E');
1260         Smilies::add($b, ':flat shoe', '&#x1F97F');
1261         Smilies::add($b, ':high-heeled shoe', '&#x1F460');
1262         Smilies::add($b, ':woman’s sandal', '&#x1F461');
1263 //      Smilies::add($b, ':ballet shoes', '&#x1FA70');
1264         Smilies::add($b, ':woman’s boot', '&#x1F462');
1265         Smilies::add($b, ':crown', '&#x1F451');
1266         Smilies::add($b, ':woman’s hat', '&#x1F452');
1267         Smilies::add($b, ':top hat', '&#x1F3A9');
1268         Smilies::add($b, ':graduation cap', '&#x1F393');
1269         Smilies::add($b, ':billed cap', '&#x1F9E2');
1270         Smilies::add($b, ':rescue worker’s helmet', '&#x26D1');
1271         Smilies::add($b, ':prayer beads', '&#x1F4FF');
1272         Smilies::add($b, ':lipstick', '&#x1F484');
1273         Smilies::add($b, ':ring', '&#x1F48D');
1274         Smilies::add($b, ':gem stone', '&#x1F48E');
1275
1276 // sound
1277         Smilies::add($b, ':muted speaker', '&#x1F507');
1278         Smilies::add($b, ':speaker low volume', '&#x1F508');
1279         Smilies::add($b, ':speaker medium volume', '&#x1F509');
1280         Smilies::add($b, ':speaker high volume', '&#x1F50A');
1281         Smilies::add($b, ':loudspeaker', '&#x1F4E2');
1282         Smilies::add($b, ':megaphone', '&#x1F4E3');
1283         Smilies::add($b, ':postal horn', '&#x1F4EF');
1284         Smilies::add($b, ':bell', '&#x1F514');
1285         Smilies::add($b, ':bell with slash', '&#x1F515');
1286
1287 // musik
1288         Smilies::add($b, ':musical score', '&#x1F3BC');
1289         Smilies::add($b, ':musical note', '&#x1F3B5');
1290         Smilies::add($b, ':musical notes', '&#x1F3B6');
1291         Smilies::add($b, ':studio microphone', '&#x1F399');
1292         Smilies::add($b, ':level slider', '&#x1F39A');
1293         Smilies::add($b, ':control knobs', '&#x1F39B');
1294         Smilies::add($b, ':microphone', '&#x1F3A4');
1295         Smilies::add($b, ':headphone', '&#x1F3A7');
1296         Smilies::add($b, ':radio', '&#x1F4FB');    
1297
1298 // musical-instrument
1299         Smilies::add($b, ':saxophone', '&#x1F3B7');
1300         Smilies::add($b, ':guitar', '&#x1F3B8');
1301         Smilies::add($b, ':musical keyboard', '&#x1F3B9');
1302         Smilies::add($b, ':trumpet', '&#x1F3BA');
1303         Smilies::add($b, ':violin', '&#x1F3BB');
1304 //  Smilies::add($b, ':banjo', '&#x1FA95');
1305         Smilies::add($b, ':drum', '&#x1F941');
1306
1307 // phone
1308         Smilies::add($b, ':mobile phone', '&#x1F4F1');
1309         Smilies::add($b, ':mobile phone with arrow', '&#x1F4F2');
1310         Smilies::add($b, ':telephone', '&#x260E');
1311         Smilies::add($b, ':telephone receiver', '&#x1F4DE');
1312         Smilies::add($b, ':pager', '&#x1F4DF');
1313         Smilies::add($b, ':fax machine', '&#x1F4E0');
1314
1315 // computer
1316         Smilies::add($b, ':battery', '&#x1F50B');
1317         Smilies::add($b, ':electric plug', '&#x1F50C');
1318         Smilies::add($b, ':laptop', '&#x1F4BB');
1319         Smilies::add($b, ':desktop computer', '&#x1F5A5');
1320         Smilies::add($b, ':printer', '&#x1F5A8');
1321         Smilies::add($b, ':keyboard', '&#x2328');
1322         Smilies::add($b, ':computer mouse', '&#x1F5B1');
1323         Smilies::add($b, ':trackball', '&#x1F5B2');
1324         Smilies::add($b, ':computer disk', '&#x1F4BD');
1325         Smilies::add($b, ':floppy disk', '&#x1F4BE');
1326         Smilies::add($b, ':optical disk', '&#x1F4BF');
1327         Smilies::add($b, ':dvd', '&#x1F4C0');
1328         Smilies::add($b, ':abacus', '&#x1F9EE');
1329
1330 // light & video
1331         Smilies::add($b, ':movie camera', '&#x1F3A5');
1332         Smilies::add($b, ':film frames', '&#x1F39E');
1333         Smilies::add($b, ':film projector', '&#x1F4FD');
1334         Smilies::add($b, ':clapper board', '&#x1F3AC');
1335         Smilies::add($b, ':television', '&#x1F4FA');
1336         Smilies::add($b, ':camera', '&#x1F4F7');
1337         Smilies::add($b, ':camera with flash', '&#x1F4F8');
1338         Smilies::add($b, ':video camera', '&#x1F4F9');
1339         Smilies::add($b, ':videocassette', '&#x1F4FC');
1340         Smilies::add($b, ':magnifying glass tilted left', '&#x1F50D');
1341         Smilies::add($b, ':magnifying glass tilted right', '&#x1F50E');
1342         Smilies::add($b, ':candle', '&#x1F56F');
1343         Smilies::add($b, ':light bulb', '&#x1F4A1');
1344         Smilies::add($b, ':flashlight', '&#x1F526');
1345         Smilies::add($b, ':red paper lantern', '&#x1F3EE');
1346 //      Smilies::add($b, ':diya lamp', '&#x1FA94');
1347
1348 // book-paper
1349         Smilies::add($b, ':notebook with decorative cover', '&#x1F4D4');
1350         Smilies::add($b, ':closed book', '&#x1F4D5');
1351         Smilies::add($b, ':open book', '&#x1F4D6');
1352         Smilies::add($b, ':green book', '&#x1F4D7');
1353         Smilies::add($b, ':blue book', '&#x1F4D8');
1354         Smilies::add($b, ':orange book', '&#x1F4D9');
1355         Smilies::add($b, ':books', '&#x1F4DA');
1356         Smilies::add($b, ':notebook', '&#x1F4D3');
1357         Smilies::add($b, ':ledger', '&#x1F4D2');
1358         Smilies::add($b, ':page with curl', '&#x1F4C3');
1359         Smilies::add($b, ':scroll', '&#x1F4DC');
1360         Smilies::add($b, ':page facing up', '&#x1F4C4');
1361         Smilies::add($b, ':newspaper', '&#x1F4F0');
1362         Smilies::add($b, ':rolled-up newspaper', '&#x1F5DE');
1363         Smilies::add($b, ':bookmark tabs', '&#x1F4D1');
1364         Smilies::add($b, ':bookmark', '&#x1F516');
1365         Smilies::add($b, ':label', '&#x1F3F7');
1366
1367 // money
1368         Smilies::add($b, ':money bag', '&#x1F4B0');
1369         Smilies::add($b, ':yen banknote', '&#x1F4B4');
1370         Smilies::add($b, ':dollar banknote', '&#x1F4B5');
1371         Smilies::add($b, ':euro banknote', '&#x1F4B6');
1372         Smilies::add($b, ':pound banknote', '&#x1F4B7');
1373         Smilies::add($b, ':money with wings', '&#x1F4B8');
1374         Smilies::add($b, ':credit card', '&#x1F4B3');
1375         Smilies::add($b, ':receipt', '&#x1F9FE');
1376         Smilies::add($b, ':chart increasing with yen', '&#x1F4B9');
1377
1378 // mail
1379         Smilies::add($b, ':envelope', '&#x2709');
1380         Smilies::add($b, ':e-mail', '&#x1F4E7');
1381         Smilies::add($b, ':incoming envelope', '&#x1F4E8');
1382         Smilies::add($b, ':envelope with arrow', '&#x1F4E9');
1383         Smilies::add($b, ':outbox tray', '&#x1F4E4');
1384         Smilies::add($b, ':inbox tray', '&#x1F4E5');
1385         Smilies::add($b, ':package', '&#x1F4E6');
1386         Smilies::add($b, ':closed mailbox with raised flag', '&#x1F4EB');
1387         Smilies::add($b, ':closed mailbox with lowered flag', '&#x1F4EA');
1388         Smilies::add($b, ':open mailbox with raised flag', '&#x1F4EC');
1389         Smilies::add($b, ':open mailbox with lowered flag', '&#x1F4ED');
1390         Smilies::add($b, ':postbox', '&#x1F4EE');
1391         Smilies::add($b, ':ballot box with ballot', '&#x1F5F3');
1392
1393 // writing
1394         Smilies::add($b, ':pencil', '&#x270F');
1395         Smilies::add($b, ':black nib', '&#x2712');
1396         Smilies::add($b, ':fountain pen', '&#x1F58B');
1397         Smilies::add($b, ':pen', '&#x1F58A');
1398         Smilies::add($b, ':paintbrush', '&#x1F58C');
1399         Smilies::add($b, ':crayon', '&#x1F58D');
1400         Smilies::add($b, ':memo', '&#x1F4DD');
1401
1402 // office
1403         Smilies::add($b, ':briefcase', '&#x1F4BC');
1404         Smilies::add($b, ':file folder', '&#x1F4C1');
1405         Smilies::add($b, ':open file folder', '&#x1F4C2');
1406         Smilies::add($b, ':card index dividers', '&#x1F5C2');
1407         Smilies::add($b, ':calendar', '&#x1F4C5');
1408         Smilies::add($b, ':tear-off calendar', '&#x1F4C6');
1409         Smilies::add($b, ':spiral notepad', '&#x1F5D2');
1410         Smilies::add($b, ':spiral calendar', '&#x1F5D3');
1411         Smilies::add($b, ':card index', '&#x1F4C7');
1412         Smilies::add($b, ':chart increasing', '&#x1F4C8');
1413         Smilies::add($b, ':chart decreasing', '&#x1F4C9');
1414         Smilies::add($b, ':bar chart', '&#x1F4CA');
1415         Smilies::add($b, ':clipboard', '&#x1F4CB');
1416         Smilies::add($b, ':pushpin', '&#x1F4CC');
1417         Smilies::add($b, ':round pushpin', '&#x1F4CD');
1418         Smilies::add($b, ':paperclip', '&#x1F4CE');
1419         Smilies::add($b, ':linked paperclips', '&#x1F587');
1420         Smilies::add($b, ':straight ruler', '&#x1F4CF');
1421         Smilies::add($b, ':triangular ruler', '&#x1F4D0');
1422         Smilies::add($b, ':scissors', '&#x2702');
1423         Smilies::add($b, ':card file box', '&#x1F5C3');
1424         Smilies::add($b, ':file cabinet', '&#x1F5C4');
1425         Smilies::add($b, ':wastebasket', '&#x1F5D1');
1426
1427 // lock
1428         Smilies::add($b, ':locked', '&#x1F512');
1429         Smilies::add($b, ':unlocked', '&#x1F513');
1430         Smilies::add($b, ':locked with pen', '&#x1F50F');
1431         Smilies::add($b, ':locked with key', '&#x1F510');
1432         Smilies::add($b, ':key', '&#x1F511');
1433         Smilies::add($b, ':old key', '&#x1F5DD');
1434
1435 // tool
1436         Smilies::add($b, ':hammer', '&#x1F528');
1437 //  Smilies::add($b, ':axe', '&#x1FA93');
1438         Smilies::add($b, ':pick', '&#x26CF');
1439         Smilies::add($b, ':hammer and pick', '&#x2692');
1440         Smilies::add($b, ':hammer and wrench', '&#x1F6E0');
1441         Smilies::add($b, ':dagger', '&#x1F5E1');
1442         Smilies::add($b, ':crossed swords', '&#x2694');
1443         Smilies::add($b, ':pistol', '&#x1F52B');
1444         Smilies::add($b, ':bow and arrow', '&#x1F3F9');
1445         Smilies::add($b, ':shield', '&#x1F6E1');
1446         Smilies::add($b, ':wrench', '&#x1F527');
1447         Smilies::add($b, ':nut and bolt', '&#x1F529');
1448         Smilies::add($b, ':gear', '&#x2699');
1449         Smilies::add($b, ':clamp', '&#x1F5DC');
1450         Smilies::add($b, ':balance scale', '&#x2696');
1451 //      Smilies::add($b, ':white cane', '&#x1F9AF');
1452         Smilies::add($b, ':link', '&#x1F517');
1453         Smilies::add($b, ':chains', '&#x26D3');
1454         Smilies::add($b, ':toolbox', '&#x1F9F0');
1455         Smilies::add($b, ':magnet', '&#x1F9F2');
1456
1457 // science
1458         Smilies::add($b, ':alembic', '&#x2697');
1459         Smilies::add($b, ':test tube', '&#x1F9EA');
1460         Smilies::add($b, ':petri dish', '&#x1F9EB');
1461         Smilies::add($b, ':dna', '&#x1F9EC');
1462         Smilies::add($b, ':microscope', '&#x1F52C');
1463         Smilies::add($b, ':telescope', '&#x1F52D');
1464         Smilies::add($b, ':satellite antenna', '&#x1F4E1');
1465
1466 // medical
1467         Smilies::add($b, ':syringe', '&#x1F489');
1468 //      Smilies::add($b, ':drop of blood', '&#x1FA78');
1469         Smilies::add($b, ':pill', '&#x1F48A');
1470 //      Smilies::add($b, ':adhesive bandage', '&#x1FA79');
1471 //      Smilies::add($b, ':stethoscope', '&#x1FA7A');
1472
1473 // household
1474         Smilies::add($b, ':door', '&#x1F6AA');
1475         Smilies::add($b, ':bed', '&#x1F6CF');
1476         Smilies::add($b, ':couch and lamp', '&#x1F6CB');
1477 //      Smilies::add($b, ':chair', '&#x1FA91');
1478         Smilies::add($b, ':toilet', '&#x1F6BD');
1479         Smilies::add($b, ':shower', '&#x1F6BF');
1480 //      Smilies::add($b, ':bathtub', '&#x1F6C1');
1481 //      Smilies::add($b, ':razor', '&#x1FA92');
1482         Smilies::add($b, ':lotion bottle', '&#x1F9F4');
1483         Smilies::add($b, ':safety pin', '&#x1F9F7');
1484         Smilies::add($b, ':broom', '&#x1F9F9');
1485         Smilies::add($b, ':basket', '&#x1F9FA');
1486         Smilies::add($b, ':roll of paper', '&#x1F9FB');
1487         Smilies::add($b, ':soap', '&#x1F9FC');
1488         Smilies::add($b, ':sponge', '&#x1F9FD');
1489         Smilies::add($b, ':fire extinguisher', '&#x1F9EF');
1490         Smilies::add($b, ':shopping cart', '&#x1F6D2');
1491
1492 // other-object
1493         Smilies::add($b, ':cigarette', '&#x1F6AC');
1494         Smilies::add($b, ':coffin', '&#x26B0');
1495         Smilies::add($b, ':funeral urn', '&#x26B1');
1496         Smilies::add($b, ':moai', '&#x1F5FF');
1497
1498 // Symbols
1499 // transport-sign
1500         Smilies::add($b, ':atm sign', '&#x1F3E7');
1501         Smilies::add($b, ':litter in bin sign', '&#x1F6AE');
1502         Smilies::add($b, ':potable water', '&#x1F6B0');
1503         Smilies::add($b, ':wheelchair symbol', '&#x267F');
1504         Smilies::add($b, ':men’s room', '&#x1F6B9');
1505         Smilies::add($b, ':women’s room', '&#x1F6BA');
1506         Smilies::add($b, ':restroom', '&#x1F6BB');
1507         Smilies::add($b, ':baby symbol', '&#x1F6BC');
1508         Smilies::add($b, ':water closet', '&#x1F6BE');
1509         Smilies::add($b, ':passport control', '&#x1F6C2');
1510         Smilies::add($b, ':customs', '&#x1F6C3');
1511         Smilies::add($b, ':baggage claim', '&#x1F6C4');
1512         Smilies::add($b, ':left luggage', '&#x1F6C5');
1513
1514 // warning
1515         Smilies::add($b, ':warning', '&#x26A0');
1516         Smilies::add($b, ':children crossing', '&#x1F6B8');
1517         Smilies::add($b, ':no entry', '&#x26D4');
1518         Smilies::add($b, ':prohibited', '&#x1F6AB');
1519         Smilies::add($b, ':no bicycles', '&#x1F6B3');
1520         Smilies::add($b, ':no smoking', '&#x1F6AD');
1521         Smilies::add($b, ':no littering', '&#x1F6AF');
1522         Smilies::add($b, ':non-potable water', '&#x1F6B1');
1523         Smilies::add($b, ':no pedestrians', '&#x1F6B7');
1524         Smilies::add($b, ':no mobile phones', '&#x1F4F5');
1525         Smilies::add($b, ':no one under eighteen', '&#x1F51E');
1526         Smilies::add($b, ':radioactive', '&#x2622');
1527         Smilies::add($b, ':biohazard', '&#x2623');
1528
1529 // arrow
1530         Smilies::add($b, ':up arrow', '&#x2B06');
1531         Smilies::add($b, ':up-right arrow', '&#x2197');
1532         Smilies::add($b, ':right arrow', '&#x27A1');
1533         Smilies::add($b, ':down-right arrow', '&#x2198');
1534         Smilies::add($b, ':down arrow', '&#x2B07');
1535         Smilies::add($b, ':down-left arrow', '&#x2199');
1536         Smilies::add($b, ':left arrow', '&#x2B05');
1537         Smilies::add($b, ':up-left arrow', '&#x2196');
1538         Smilies::add($b, ':up-down arrow', '&#x2195');
1539         Smilies::add($b, ':left-right arrow', '&#x2194');
1540         Smilies::add($b, ':right arrow curving left', '&#x21A9');
1541         Smilies::add($b, ':left arrow curving right', '&#x21AA');
1542         Smilies::add($b, ':right arrow curving up', '&#x2934');
1543         Smilies::add($b, ':right arrow curving down', '&#x2935');
1544         Smilies::add($b, ':clockwise vertical arrows', '&#x1F503');
1545         Smilies::add($b, ':counterclockwise arrows button', '&#x1F504');
1546         Smilies::add($b, ':BACK arrow', '&#x1F519');
1547         Smilies::add($b, ':END arrow', '&#x1F51A');
1548         Smilies::add($b, ':ON! arrow', '&#x1F51B');
1549         Smilies::add($b, ':SOON arrow', '&#x1F51C');
1550         Smilies::add($b, ':TOP arrow', '&#x1F51D');
1551
1552 // religion
1553         Smilies::add($b, ':place of worship', '&#x1F6D0');
1554         Smilies::add($b, ':atom symbol', '&#x269B');
1555         Smilies::add($b, ':om', '&#x1F549');
1556         Smilies::add($b, ':star of David', '&#x2721');
1557         Smilies::add($b, ':wheel of dharma', '&#x2638');
1558         Smilies::add($b, ':yin yang', '&#x262F');
1559         Smilies::add($b, ':latin cross', '&#x271D');
1560         Smilies::add($b, ':orthodox cross', '&#x2626');
1561         Smilies::add($b, ':star and crescent', '&#x262A');
1562         Smilies::add($b, ':peace symbol', '&#x262E');
1563         Smilies::add($b, ':menorah', '&#x1F54E');
1564         Smilies::add($b, ':dotted six-pointed star', '&#x1F52F');
1565
1566 // zodiac
1567         Smilies::add($b, ':Aries', '&#x2648');
1568         Smilies::add($b, ':Taurus', '&#x2649');
1569         Smilies::add($b, ':Gemini', '&#x264A');
1570         Smilies::add($b, ':Cancer', '&#x264B');
1571         Smilies::add($b, ':Leo', '&#x264C');
1572         Smilies::add($b, ':Virgo', '&#x264D');
1573         Smilies::add($b, ':Libra', '&#x264E');
1574         Smilies::add($b, ':Scorpio', '&#x264F');
1575         Smilies::add($b, ':Sagittarius', '&#x2650');
1576         Smilies::add($b, ':Capricorn', '&#x2651');
1577         Smilies::add($b, ':Aquarius', '&#x2652');
1578         Smilies::add($b, ':Pisces', '&#x2653');
1579         Smilies::add($b, ':Ophiuchus', '&#x26CE');
1580
1581 // av-symbol
1582         Smilies::add($b, ':shuffle tracks button', '&#x1F500');
1583         Smilies::add($b, ':repeat button', '&#x1F501');
1584         Smilies::add($b, ':repeat single button', '&#x1F502');
1585         Smilies::add($b, ':play button', '&#x25B6');
1586         Smilies::add($b, ':fast-forward button', '&#x23E9');
1587         Smilies::add($b, ':next track button', '&#x23ED');
1588         Smilies::add($b, ':play or pause button', '&#x23EF');
1589         Smilies::add($b, ':reverse button', '&#x25C0');
1590         Smilies::add($b, ':fast reverse button', '&#x23EA');
1591         Smilies::add($b, ':last track button', '&#x23EE');
1592         Smilies::add($b, ':upwards button', '&#x1F53C');
1593         Smilies::add($b, ':fast up button', '&#x23EB');
1594         Smilies::add($b, ':downwards button', '&#x1F53D');
1595         Smilies::add($b, ':fast down button', '&#x23EC');
1596         Smilies::add($b, ':pause button', '&#x23F8');
1597         Smilies::add($b, ':stop button', '&#x23F9');
1598         Smilies::add($b, ':record button', '&#x23FA');
1599         Smilies::add($b, ':eject button', '&#x23CF');
1600         Smilies::add($b, ':cinema', '&#x1F3A6');
1601         Smilies::add($b, ':dim button', '&#x1F505');
1602         Smilies::add($b, ':bright button', '&#x1F506');
1603         Smilies::add($b, ':antenna bars', '&#x1F4F6');
1604         Smilies::add($b, ':vibration mode', '&#x1F4F3');
1605         Smilies::add($b, ':mobile phone off', '&#x1F4F4');
1606
1607 // gender
1608         Smilies::add($b, ':female sign', '&#x2640');
1609         Smilies::add($b, ':male sign', '&#x2642');
1610
1611 // math
1612         Smilies::add($b, ':multiply', '&#x2716');
1613         Smilies::add($b, ':plus', '&#x2795');
1614         Smilies::add($b, ':minus', '&#x2796');
1615         Smilies::add($b, ':divide', '&#x2797');
1616         Smilies::add($b, ':infinity', '&#x267E');
1617         Smilies::add($b, ':kreisoperator', '&#x2218;');
1618         Smilies::add($b, ':leere menge', '&#x2205;');
1619         Smilies::add($b, ':rundung', '&#x2248;');
1620         Smilies::add($b, ':gleichung', '&#x003D;');
1621         Smilies::add($b, ':ungleichung', '&#x2260;');
1622         Smilies::add($b, ':kleiner als', '&#x003C;');
1623         Smilies::add($b, ':groesser als', '&#x003E;');
1624         Smilies::add($b, ':prozent', '&#x0025;');
1625
1626 // punctuation
1627         Smilies::add($b, ':double exclamation mark', '&#x203C');
1628         Smilies::add($b, ':exclamation question mark', '&#x2049');
1629         Smilies::add($b, ':question mark', '&#x2753');
1630         Smilies::add($b, ':white question mark', '&#x2754');
1631         Smilies::add($b, ':white exclamation mark', '&#x2755');
1632         Smilies::add($b, ':exclamation mark', '&#x2757');
1633         Smilies::add($b, ':wavy dash', '&#x3030');
1634
1635 // currency
1636         Smilies::add($b, ':currency exchange', '&#x1F4B1');
1637         Smilies::add($b, ':heavy dollar sign', '&#x1F4B2');
1638
1639 // other-symbol
1640         Smilies::add($b, ':medical symbol', '&#x2695');
1641         Smilies::add($b, ':recycling symbol', '&#x267B');
1642         Smilies::add($b, ':fleur-de-lis', '&#x269C');
1643         Smilies::add($b, ':trident emblem', '&#x1F531');
1644         Smilies::add($b, ':name badge', '&#x1F4DB');
1645         Smilies::add($b, ':Japanese symbol for beginner', '&#x1F530');
1646         Smilies::add($b, ':hollow red circle', '&#x2B55');
1647         Smilies::add($b, ':check mark button', '&#x2705');
1648         Smilies::add($b, ':check box with check', '&#x2611');
1649         Smilies::add($b, ':check mark', '&#x2714');
1650         Smilies::add($b, ':cross mark', '&#x274C');
1651         Smilies::add($b, ':cross mark button', '&#x274E');
1652         Smilies::add($b, ':curly loop', '&#x27B0');
1653         Smilies::add($b, ':double curly loop', '&#x27BF');
1654         Smilies::add($b, ':part alternation mark', '&#x303D');
1655         Smilies::add($b, ':eight-spoked asterisk', '&#x2733');
1656         Smilies::add($b, ':eight-pointed star', '&#x2734');
1657         Smilies::add($b, ':sparkle', '&#x2747');
1658         Smilies::add($b, ':copyright', '&#x00A9');
1659         Smilies::add($b, ':registered', '&#x00AE');
1660         Smilies::add($b, ':trade mark', '&#x2122');
1661
1662 // keycap
1663         Smilies::add($b, ':keycap: #', '&#x0023&#xFE0F&#x20E3');
1664         Smilies::add($b, ':keycap: *', '&#x002A&#xFE0F&#x20E3');
1665         Smilies::add($b, ':keycap: 0', '&#x0030&#xFE0F&#x20E3');
1666         Smilies::add($b, ':keycap: 1', '&#x0031&#xFE0F&#x20E3');
1667         Smilies::add($b, ':keycap: 2', '&#x0032&#xFE0F&#x20E3');
1668         Smilies::add($b, ':keycap: 3', '&#x0033&#xFE0F&#x20E3');
1669         Smilies::add($b, ':keycap: 4', '&#x0034&#xFE0F&#x20E3');
1670         Smilies::add($b, ':keycap: 5', '&#x0035&#xFE0F&#x20E3');
1671         Smilies::add($b, ':keycap: 6', '&#x0036&#xFE0F&#x20E3');
1672         Smilies::add($b, ':keycap: 7', '&#x0037&#xFE0F&#x20E3');
1673         Smilies::add($b, ':keycap: 8', '&#x0038&#xFE0F&#x20E3');
1674         Smilies::add($b, ':keycap: 9', '&#x0039&#xFE0F&#x20E3');
1675         Smilies::add($b, ':keycap: 10', '&#x1F51F');
1676
1677 // alphanum
1678         Smilies::add($b, ':input latin uppercase', '&#x1F520');
1679         Smilies::add($b, ':input latin lowercase', '&#x1F521');
1680         Smilies::add($b, ':input numbers', '&#x1F522');
1681         Smilies::add($b, ':input symbols', '&#x1F523');
1682         Smilies::add($b, ':input latin letters', '&#x1F524');
1683         Smilies::add($b, ':A button (blood type)', '&#x1F170');
1684         Smilies::add($b, ':AB button (blood type)', '&#x1F18E');
1685         Smilies::add($b, ':B button (blood type)', '&#x1F171');
1686         Smilies::add($b, ':CL button', '&#x1F191');
1687         Smilies::add($b, ':COOL button', '&#x1F192');
1688         Smilies::add($b, ':FREE button', '&#x1F193');
1689         Smilies::add($b, ':information', '&#x2139');
1690         Smilies::add($b, ':ID button', '&#x1F194');
1691         Smilies::add($b, ':circled M', '&#x24C2');
1692         Smilies::add($b, ':NEW button', '&#x1F195');
1693         Smilies::add($b, ':NG button', '&#x1F196');
1694         Smilies::add($b, ':O button (blood type)', '&#x1F17E');
1695         Smilies::add($b, ':OK button', '&#x1F197');
1696         Smilies::add($b, ':P button', '&#x1F17F');
1697         Smilies::add($b, ':SOS button', '&#x1F198');  
1698         Smilies::add($b, ':UP! button', '&#x1F199');
1699         Smilies::add($b, ':VS button', '&#x1F19A');
1700         Smilies::add($b, ':Japanese “here” button', '&#x1F201');
1701         Smilies::add($b, ':Japanese “service charge” button', '&#x1F202');
1702         Smilies::add($b, ':Japanese “monthly amount” button', '&#x1F237');
1703         Smilies::add($b, ':Japanese “not free of charge” button', '&#x1F236');
1704         Smilies::add($b, ':Japanese “reserved” button', '&#x1F22F');
1705         Smilies::add($b, ':Japanese “bargain” button', '&#x1F250');
1706         Smilies::add($b, ':Japanese “discount” button', '&#x1F239');
1707         Smilies::add($b, ':Japanese “free of charge” button', '&#x1F21A');
1708         Smilies::add($b, ':Japanese “prohibited” button', '&#x1F232');
1709         Smilies::add($b, ':Japanese “acceptable” button', '&#x1F251');
1710         Smilies::add($b, ':Japanese “application” button', '&#x1F238');
1711         Smilies::add($b, ':Japanese “passing grade” button', '&#x1F234');
1712         Smilies::add($b, ':Japanese “vacancy” button', '&#x1F233');
1713         Smilies::add($b, ':Japanese “congratulations” button', '&#x3297');
1714         Smilies::add($b, ':Japanese “secret” button', '&#x3299');
1715         Smilies::add($b, ':Japanese “open for business” button', '&#x1F23A');
1716         Smilies::add($b, ':Japanese “no vacancy” button', '&#x1F235');
1717
1718 // geometric
1719         Smilies::add($b, ':red circle', '&#x1F534');
1720 //      Smilies::add($b, ':orange circle', '&#x1F7E0');
1721 //      Smilies::add($b, ':yellow circle', '&#x1F7E1');
1722 //      Smilies::add($b, ':green circle', '&#x1F7E2');
1723         Smilies::add($b, ':blue circle', '&#x1F535');
1724 //      Smilies::add($b, ':purple circle', '&#x1F7E3');
1725 //      Smilies::add($b, ':brown circle', '&#x1F7E4');
1726         Smilies::add($b, ':black circle', '&#x26AB');
1727         Smilies::add($b, ':white circle', '&#x26AA');
1728 //      Smilies::add($b, ':red square', '&#x1F7E5');
1729 //      Smilies::add($b, ':orange square', '&#x1F7E7');
1730 //      Smilies::add($b, ':yellow square', '&#x1F7E8');
1731 //      Smilies::add($b, ':green square', '&#x1F7E9');
1732 //      Smilies::add($b, ':blue square', '&#x1F7E6');
1733 //      Smilies::add($b, ':purple square', '&#x1F7EA');
1734 //      Smilies::add($b, ':brown square', '&#x1F7EB');
1735         Smilies::add($b, ':black large square', '&#x2B1B');
1736         Smilies::add($b, ':white large square', '&#x2B1C');
1737         Smilies::add($b, ':black medium square', '&#x25FC');
1738         Smilies::add($b, ':white medium square', '&#x25FB');
1739         Smilies::add($b, ':black medium-small square', '&#x25FE');
1740         Smilies::add($b, ':white medium-small square', '&#x25FD');
1741         Smilies::add($b, ':black small square', '&#x25AA');
1742         Smilies::add($b, ':white small square', '&#x25AB');
1743         Smilies::add($b, ':large orange diamond', '&#x1F536');
1744         Smilies::add($b, ':large blue diamond', '&#x1F537');
1745         Smilies::add($b, ':small orange diamond', '&#x1F538');
1746         Smilies::add($b, ':small blue diamond', '&#x1F539');
1747         Smilies::add($b, ':red triangle pointed up', '&#x1F53A');
1748         Smilies::add($b, ':red triangle pointed down', '&#x1F53B');
1749         Smilies::add($b, ':diamond with a dot', '&#x1F4A0');
1750         Smilies::add($b, ':radio button', '&#x1F518');
1751         Smilies::add($b, ':white square button', '&#x1F533');
1752         Smilies::add($b, ':black square button', '&#x1F532');
1753
1754 // Flags
1755 // flag
1756         Smilies::add($b, ':chequered flag', '&#x1F3C1');
1757         Smilies::add($b, ':triangular flag', '&#x1F6A9');
1758         Smilies::add($b, ':crossed flags', '&#x1F38C');
1759         Smilies::add($b, ':black flag', '&#x1F3F4');
1760         Smilies::add($b, ':white flag', '&#x1F3F3');
1761         Smilies::add($b, ':rainbow flag', '&#x1F3F3&#xFE0F&#x200D&#x1F308');
1762         Smilies::add($b, ':pirate flag', '&#x1F3F4&#x200D&#x2620&#xFE0F');
1763
1764 // country-flag
1765         Smilies::add($b, ':ascension island', '&#x1F1E6&#x1F1E8');
1766         Smilies::add($b, ':andorra', '&#x1F1E6&#x1F1E9');
1767         Smilies::add($b, ':united arab emirates', '&#x1F1E6&#x1F1EA');
1768         Smilies::add($b, ':afghanistan', '&#x1F1E6&#x1F1EB');
1769         Smilies::add($b, ':antigua & barbuda', '&#x1F1E6&#x1F1EC');
1770         Smilies::add($b, ':anguilla', '&#x1F1E6&#x1F1EE');
1771         Smilies::add($b, ':albania', '&#x1F1E6&#x1F1F1');
1772         Smilies::add($b, ':armenia', '&#x1F1E6&#x1F1F2');
1773         Smilies::add($b, ':angola', '&#x1F1E6&#x1F1F4');
1774         Smilies::add($b, ':antarctica', '&#x1F1E6&#x1F1F6');
1775         Smilies::add($b, ':argentina', '&#x1F1E6&#x1F1F7');
1776         Smilies::add($b, ':americansamoa', '&#x1F1E6&#x1F1F8');
1777         Smilies::add($b, ':austria', '&#x1F1E6&#x1F1F9');
1778         Smilies::add($b, ':australia', '&#x1F1E6&#x1F1FA');
1779         Smilies::add($b, ':aruba', '&#x1F1E6&#x1F1FC');
1780         Smilies::add($b, ':ålandislands', '&#x1F1E6&#x1F1FD');
1781         Smilies::add($b, ':azerbaijan', '&#x1F1E6&#x1F1FF');
1782         Smilies::add($b, ':bosnia&herzegovina', '&#x1F1E7&#x1F1E6');
1783         Smilies::add($b, ':barbados', '&#x1F1E7&#x1F1E7');
1784         Smilies::add($b, ':bangladesh', '&#x1F1E7&#x1F1E9');
1785         Smilies::add($b, ':belgium', '&#x1F1E7&#x1F1EA');
1786         Smilies::add($b, ':burkinafaso', '&#x1F1E7&#x1F1EB');
1787         Smilies::add($b, ':bulgaria', '&#x1F1E7&#x1F1EC');
1788         Smilies::add($b, ':bahrain', '&#x1F1E7&#x1F1ED');
1789         Smilies::add($b, ':burundi', '&#x1F1E7&#x1F1EE');
1790         Smilies::add($b, ':benin', '&#x1F1E7&#x1F1EF');
1791         Smilies::add($b, ':st.barthélemy', '&#x1F1E7&#x1F1F1');
1792         Smilies::add($b, ':bermuda', '&#x1F1E7&#x1F1F2');
1793         Smilies::add($b, ':brunei', '&#x1F1E7&#x1F1F3');
1794         Smilies::add($b, ':bolivia', '&#x1F1E7&#x1F1F4');
1795         Smilies::add($b, ':caribbeannetherlands', '&#x1F1E7&#x1F1F6');
1796         Smilies::add($b, ':brazil', '&#x1F1E7&#x1F1F7');
1797         Smilies::add($b, ':bahamas', '&#x1F1E7&#x1F1F8');
1798         Smilies::add($b, ':bhutan', '&#x1F1E7&#x1F1F9');
1799         Smilies::add($b, ':bouvetisland', '&#x1F1E7&#x1F1FB');
1800         Smilies::add($b, ':botswana', '&#x1F1E7&#x1F1FC');
1801         Smilies::add($b, ':belarus', '&#x1F1E7&#x1F1FE');
1802         Smilies::add($b, ':belize', '&#x1F1E7&#x1F1FF');
1803         Smilies::add($b, ':canada', '&#x1F1E8&#x1F1E6');
1804         Smilies::add($b, ':cocos(keeling)islands', '&#x1F1E8&#x1F1E8');
1805         Smilies::add($b, ':congo-kinshasa', '&#x1F1E8&#x1F1E9');
1806         Smilies::add($b, ':centralafricanrepublic', '&#x1F1E8&#x1F1EB');
1807         Smilies::add($b, ':congo-brazzaville', '&#x1F1E8&#x1F1EC');
1808         Smilies::add($b, ':switzerland', '&#x1F1E8&#x1F1ED');
1809         Smilies::add($b, ':côted’ivoire', '&#x1F1E8&#x1F1EE');
1810         Smilies::add($b, ':cookislands', '&#x1F1E8&#x1F1F0');
1811         Smilies::add($b, ':chile', '&#x1F1E8&#x1F1F1');
1812         Smilies::add($b, ':cameroon', '&#x1F1E8&#x1F1F2');
1813         Smilies::add($b, ':china', '&#x1F1E8&#x1F1F3');
1814         Smilies::add($b, ':colombia', '&#x1F1E8&#x1F1F4');
1815         Smilies::add($b, ':clippertonisland', '&#x1F1E8&#x1F1F5');
1816         Smilies::add($b, ':costarica', '&#x1F1E8&#x1F1F7');
1817         Smilies::add($b, ':cuba', '&#x1F1E8&#x1F1FA');
1818         Smilies::add($b, ':capeverde', '&#x1F1E8&#x1F1FB');
1819         Smilies::add($b, ':curaçao', '&#x1F1E8&#x1F1FC');
1820         Smilies::add($b, ':christmasisland', '&#x1F1E8&#x1F1FD');
1821         Smilies::add($b, ':cyprus', '&#x1F1E8&#x1F1FE');
1822         Smilies::add($b, ':czechia', '&#x1F1E8&#x1F1FF');
1823         Smilies::add($b, ':germany', '&#x1F1E9&#x1F1EA');
1824         Smilies::add($b, ':diegogarcia', '&#x1F1E9&#x1F1EC');
1825         Smilies::add($b, ':djibouti', '&#x1F1E9&#x1F1EF');
1826         Smilies::add($b, ':denmark', '&#x1F1E9&#x1F1F0');
1827         Smilies::add($b, ':dominica', '&#x1F1E9&#x1F1F2');
1828         Smilies::add($b, ':dominicanrepublic', '&#x1F1E9&#x1F1F4');
1829         Smilies::add($b, ':algeria', '&#x1F1E9&#x1F1FF');
1830         Smilies::add($b, ':ceuta&melilla', '&#x1F1EA&#x1F1E6');
1831         Smilies::add($b, ':ecuador', '&#x1F1EA&#x1F1E8');
1832         Smilies::add($b, ':estonia', '&#x1F1EA&#x1F1EA');
1833         Smilies::add($b, ':egypt', '&#x1F1EA&#x1F1EC');
1834         Smilies::add($b, ':westernsahara', '&#x1F1EA&#x1F1ED');
1835         Smilies::add($b, ':eritrea', '&#x1F1EA&#x1F1F7');
1836         Smilies::add($b, ':spain', '&#x1F1EA&#x1F1F8');
1837         Smilies::add($b, ':ethiopia', '&#x1F1EA&#x1F1F9');
1838         Smilies::add($b, ':europeanunion', '&#x1F1EA&#x1F1FA');
1839         Smilies::add($b, ':finland', '&#x1F1EB&#x1F1EE');
1840         Smilies::add($b, ':fiji', '&#x1F1EB&#x1F1EF');
1841         Smilies::add($b, ':falklandislands', '&#x1F1EB&#x1F1F0');
1842         Smilies::add($b, ':micronesia', '&#x1F1EB&#x1F1F2');
1843         Smilies::add($b, ':faroeislands', '&#x1F1EB&#x1F1F4');
1844         Smilies::add($b, ':france', '&#x1F1EB&#x1F1F7');
1845         Smilies::add($b, ':gabon', '&#x1F1EC&#x1F1E6');
1846         Smilies::add($b, ':unitedkingdom', '&#x1F1EC&#x1F1E7');
1847         Smilies::add($b, ':grenada', '&#x1F1EC&#x1F1E9');
1848         Smilies::add($b, ':georgia', '&#x1F1EC&#x1F1EA');
1849         Smilies::add($b, ':frenchguiana', '&#x1F1EC&#x1F1EB');
1850         Smilies::add($b, ':guernsey', '&#x1F1EC&#x1F1EC');
1851         Smilies::add($b, ':ghana', '&#x1F1EC&#x1F1ED');
1852         Smilies::add($b, ':gibraltar', '&#x1F1EC&#x1F1EE');
1853         Smilies::add($b, ':greenland', '&#x1F1EC&#x1F1F1');
1854         Smilies::add($b, ':gambia', '&#x1F1EC&#x1F1F2');
1855         Smilies::add($b, ':guinea', '&#x1F1EC&#x1F1F3');
1856         Smilies::add($b, ':guadeloupe', '&#x1F1EC&#x1F1F5');
1857         Smilies::add($b, ':equatorialguinea', '&#x1F1EC&#x1F1F6');
1858         Smilies::add($b, ':greece', '&#x1F1EC&#x1F1F7');
1859         Smilies::add($b, ':southgeorgia&southsandwichislands', '&#x1F1EC&#x1F1F8');
1860         Smilies::add($b, ':guatemala', '&#x1F1EC&#x1F1F9');
1861         Smilies::add($b, ':guam', '&#x1F1EC&#x1F1FA');
1862         Smilies::add($b, ':guinea-bissau', '&#x1F1EC&#x1F1FC');
1863         Smilies::add($b, ':guyana', '&#x1F1EC&#x1F1FE');
1864         Smilies::add($b, ':hongkongsarchina', '&#x1F1ED&#x1F1F0');
1865         Smilies::add($b, ':heard&mcdonaldislands', '&#x1F1ED&#x1F1F2');
1866         Smilies::add($b, ':honduras', '&#x1F1ED&#x1F1F3');
1867         Smilies::add($b, ':croatia', '&#x1F1ED&#x1F1F7');
1868         Smilies::add($b, ':haiti', '&#x1F1ED&#x1F1F9');
1869         Smilies::add($b, ':hungary', '&#x1F1ED&#x1F1FA');
1870         Smilies::add($b, ':canaryislands', '&#x1F1EE&#x1F1E8');
1871         Smilies::add($b, ':indonesia', '&#x1F1EE&#x1F1E9');
1872         Smilies::add($b, ':ireland', '&#x1F1EE&#x1F1EA');
1873         Smilies::add($b, ':israel', '&#x1F1EE&#x1F1F1');
1874         Smilies::add($b, ':isleofman', '&#x1F1EE&#x1F1F2');
1875         Smilies::add($b, ':india', '&#x1F1EE&#x1F1F3');
1876         Smilies::add($b, ':britishindianoceanterritory', '&#x1F1EE&#x1F1F4');
1877         Smilies::add($b, ':iraq', '&#x1F1EE&#x1F1F6');
1878         Smilies::add($b, ':iran', '&#x1F1EE&#x1F1F7');
1879         Smilies::add($b, ':iceland', '&#x1F1EE&#x1F1F8');
1880         Smilies::add($b, ':italy', '&#x1F1EE&#x1F1F9');
1881         Smilies::add($b, ':jersey', '&#x1F1EF&#x1F1EA');
1882         Smilies::add($b, ':jamaica', '&#x1F1EF&#x1F1F2');
1883         Smilies::add($b, ':jordan', '&#x1F1EF&#x1F1F4');
1884         Smilies::add($b, ':japan', '&#x1F1EF&#x1F1F5');
1885         Smilies::add($b, ':kenya', '&#x1F1F0&#x1F1EA');
1886         Smilies::add($b, ':kyrgyzstan', '&#x1F1F0&#x1F1EC');
1887         Smilies::add($b, ':cambodia', '&#x1F1F0&#x1F1ED');
1888         Smilies::add($b, ':kiribati', '&#x1F1F0&#x1F1EE');
1889         Smilies::add($b, ':comoros', '&#x1F1F0&#x1F1F2');
1890         Smilies::add($b, ':st.kitts&nevis', '&#x1F1F0&#x1F1F3');
1891         Smilies::add($b, ':northkorea', '&#x1F1F0&#x1F1F5');
1892         Smilies::add($b, ':southkorea', '&#x1F1F0&#x1F1F7');
1893         Smilies::add($b, ':kuwait', '&#x1F1F0&#x1F1FC');
1894         Smilies::add($b, ':caymanislands', '&#x1F1F0&#x1F1FE');
1895         Smilies::add($b, ':kazakhstan', '&#x1F1F0&#x1F1FF');
1896         Smilies::add($b, ':laos', '&#x1F1F1&#x1F1E6');
1897         Smilies::add($b, ':lebanon', '&#x1F1F1&#x1F1E7');
1898         Smilies::add($b, ':st.lucia', '&#x1F1F1&#x1F1E8');
1899         Smilies::add($b, ':liechtenstein', '&#x1F1F1&#x1F1EE');
1900         Smilies::add($b, ':srilanka', '&#x1F1F1&#x1F1F0');
1901         Smilies::add($b, ':liberia', '&#x1F1F1&#x1F1F7');
1902         Smilies::add($b, ':lesotho', '&#x1F1F1&#x1F1F8');
1903         Smilies::add($b, ':lithuania', '&#x1F1F1&#x1F1F9');
1904         Smilies::add($b, ':luxembourg', '&#x1F1F1&#x1F1FA');
1905         Smilies::add($b, ':latvia', '&#x1F1F1&#x1F1FB');
1906         Smilies::add($b, ':libya', '&#x1F1F1&#x1F1FE');
1907         Smilies::add($b, ':morocco', '&#x1F1F2&#x1F1E6');
1908         Smilies::add($b, ':monaco', '&#x1F1F2&#x1F1E8');
1909         Smilies::add($b, ':moldova', '&#x1F1F2&#x1F1E9');
1910         Smilies::add($b, ':montenegro', '&#x1F1F2&#x1F1EA');
1911         Smilies::add($b, ':st.martin', '&#x1F1F2&#x1F1EB');
1912         Smilies::add($b, ':madagascar', '&#x1F1F2&#x1F1EC');
1913         Smilies::add($b, ':marshallislands', '&#x1F1F2&#x1F1ED');
1914         Smilies::add($b, ':northmacedonia', '&#x1F1F2&#x1F1F0');
1915         Smilies::add($b, ':mali', '&#x1F1F2&#x1F1F1');
1916         Smilies::add($b, ':myanmar(burma)', '&#x1F1F2&#x1F1F2');
1917         Smilies::add($b, ':mongolia', '&#x1F1F2&#x1F1F3');
1918         Smilies::add($b, ':macaosarchina', '&#x1F1F2&#x1F1F4');
1919         Smilies::add($b, ':northernmarianaislands', '&#x1F1F2&#x1F1F5');
1920         Smilies::add($b, ':martinique', '&#x1F1F2&#x1F1F6');
1921         Smilies::add($b, ':mauritania', '&#x1F1F2&#x1F1F7');
1922         Smilies::add($b, ':montserrat', '&#x1F1F2&#x1F1F8');
1923         Smilies::add($b, ':malta', '&#x1F1F2&#x1F1F9');
1924         Smilies::add($b, ':mauritius', '&#x1F1F2&#x1F1FA');
1925         Smilies::add($b, ':maldives', '&#x1F1F2&#x1F1FB');
1926         Smilies::add($b, ':malawi', '&#x1F1F2&#x1F1FC');
1927         Smilies::add($b, ':mexico', '&#x1F1F2&#x1F1FD');
1928         Smilies::add($b, ':malaysia', '&#x1F1F2&#x1F1FE');
1929         Smilies::add($b, ':mozambique', '&#x1F1F2&#x1F1FF');
1930         Smilies::add($b, ':namibia', '&#x1F1F3&#x1F1E6');
1931         Smilies::add($b, ':newcaledonia', '&#x1F1F3&#x1F1E8');
1932         Smilies::add($b, ':niger', '&#x1F1F3&#x1F1EA');
1933         Smilies::add($b, ':norfolkisland', '&#x1F1F3&#x1F1EB');
1934         Smilies::add($b, ':nigeria', '&#x1F1F3&#x1F1EC');
1935         Smilies::add($b, ':nicaragua', '&#x1F1F3&#x1F1EE');
1936         Smilies::add($b, ':netherlands', '&#x1F1F3&#x1F1F1');
1937         Smilies::add($b, ':norway', '&#x1F1F3&#x1F1F4');
1938         Smilies::add($b, ':nepal', '&#x1F1F3&#x1F1F5');
1939         Smilies::add($b, ':nauru', '&#x1F1F3&#x1F1F7');
1940         Smilies::add($b, ':niue', '&#x1F1F3&#x1F1FA');
1941         Smilies::add($b, ':newzealand', '&#x1F1F3&#x1F1FF');
1942         Smilies::add($b, ':oman', '&#x1F1F4&#x1F1F2');
1943         Smilies::add($b, ':panama', '&#x1F1F5&#x1F1E6');
1944         Smilies::add($b, ':peru', '&#x1F1F5&#x1F1EA');
1945         Smilies::add($b, ':frenchpolynesia', '&#x1F1F5&#x1F1EB');
1946         Smilies::add($b, ':papuanewguinea', '&#x1F1F5&#x1F1EC');
1947         Smilies::add($b, ':philippines', '&#x1F1F5&#x1F1ED');
1948         Smilies::add($b, ':pakistan', '&#x1F1F5&#x1F1F0');
1949         Smilies::add($b, ':poland', '&#x1F1F5&#x1F1F1');
1950         Smilies::add($b, ':st.pierre&miquelon', '&#x1F1F5&#x1F1F2');
1951         Smilies::add($b, ':pitcairnislands', '&#x1F1F5&#x1F1F3');
1952         Smilies::add($b, ':puertorico', '&#x1F1F5&#x1F1F7');
1953         Smilies::add($b, ':palestinianterritories', '&#x1F1F5&#x1F1F8');
1954         Smilies::add($b, ':portugal', '&#x1F1F5&#x1F1F9');
1955         Smilies::add($b, ':palau', '&#x1F1F5&#x1F1FC');
1956         Smilies::add($b, ':paraguay', '&#x1F1F5&#x1F1FE');
1957         Smilies::add($b, ':qatar', '&#x1F1F6&#x1F1E6');
1958         Smilies::add($b, ':réunion', '&#x1F1F7&#x1F1EA');
1959         Smilies::add($b, ':romania', '&#x1F1F7&#x1F1F4');
1960         Smilies::add($b, ':serbia', '&#x1F1F7&#x1F1F8');
1961         Smilies::add($b, ':russia', '&#x1F1F7&#x1F1FA');
1962         Smilies::add($b, ':rwanda', '&#x1F1F7&#x1F1FC');
1963         Smilies::add($b, ':saudiarabia', '&#x1F1F8&#x1F1E6');
1964         Smilies::add($b, ':solomonislands', '&#x1F1F8&#x1F1E7');
1965         Smilies::add($b, ':seychelles', '&#x1F1F8&#x1F1E8');
1966         Smilies::add($b, ':sudan', '&#x1F1F8&#x1F1E9');
1967         Smilies::add($b, ':sweden', '&#x1F1F8&#x1F1EA');
1968         Smilies::add($b, ':singapore', '&#x1F1F8&#x1F1EC');
1969         Smilies::add($b, ':st.helena', '&#x1F1F8&#x1F1ED');
1970         Smilies::add($b, ':slovenia', '&#x1F1F8&#x1F1EE');
1971         Smilies::add($b, ':svalbard&janmayen', '&#x1F1F8&#x1F1EF');
1972         Smilies::add($b, ':slovakia', '&#x1F1F8&#x1F1F0');
1973         Smilies::add($b, ':sierraleone', '&#x1F1F8&#x1F1F1');
1974         Smilies::add($b, ':sanmarino', '&#x1F1F8&#x1F1F2');
1975         Smilies::add($b, ':senegal', '&#x1F1F8&#x1F1F3');
1976         Smilies::add($b, ':somalia', '&#x1F1F8&#x1F1F4');
1977         Smilies::add($b, ':suriname', '&#x1F1F8&#x1F1F7');
1978         Smilies::add($b, ':southsudan', '&#x1F1F8&#x1F1F8');
1979         Smilies::add($b, ':sãotomé&príncipe', '&#x1F1F8&#x1F1F9');
1980         Smilies::add($b, ':elsalvador', '&#x1F1F8&#x1F1FB');
1981         Smilies::add($b, ':sintmaarten', '&#x1F1F8&#x1F1FD');
1982         Smilies::add($b, ':syria', '&#x1F1F8&#x1F1FE');
1983         Smilies::add($b, ':eswatini', '&#x1F1F8&#x1F1FF');
1984         Smilies::add($b, ':tristandacunha', '&#x1F1F9&#x1F1E6');
1985         Smilies::add($b, ':turks&caicosislands', '&#x1F1F9&#x1F1E8');
1986         Smilies::add($b, ':chad', '&#x1F1F9&#x1F1E9');
1987         Smilies::add($b, ':frenchsouthernterritories', '&#x1F1F9&#x1F1EB');
1988         Smilies::add($b, ':togo', '&#x1F1F9&#x1F1EC');
1989         Smilies::add($b, ':thailand', '&#x1F1F9&#x1F1ED');
1990         Smilies::add($b, ':tajikistan', '&#x1F1F9&#x1F1EF');
1991         Smilies::add($b, ':tokelau', '&#x1F1F9&#x1F1F0');
1992         Smilies::add($b, ':timor-leste', '&#x1F1F9&#x1F1F1');
1993         Smilies::add($b, ':turkmenistan', '&#x1F1F9&#x1F1F2');
1994         Smilies::add($b, ':tunisia', '&#x1F1F9&#x1F1F3');
1995         Smilies::add($b, ':tonga', '&#x1F1F9&#x1F1F4');
1996         Smilies::add($b, ':turkey', '&#x1F1F9&#x1F1F7');
1997         Smilies::add($b, ':trinidad&tobago', '&#x1F1F9&#x1F1F9');
1998         Smilies::add($b, ':tuvalu', '&#x1F1F9&#x1F1FB');
1999         Smilies::add($b, ':taiwan', '&#x1F1F9&#x1F1FC');
2000         Smilies::add($b, ':tanzania', '&#x1F1F9&#x1F1FF');
2001         Smilies::add($b, ':ukraine', '&#x1F1FA&#x1F1E6');
2002         Smilies::add($b, ':uganda', '&#x1F1FA&#x1F1EC');
2003         Smilies::add($b, ':u.s.outlyingislands', '&#x1F1FA&#x1F1F2');
2004         Smilies::add($b, ':unitednations', '&#x1F1FA&#x1F1F3');
2005         Smilies::add($b, ':unitedstates', '&#x1F1FA&#x1F1F8');
2006         Smilies::add($b, ':uruguay', '&#x1F1FA&#x1F1FE');
2007         Smilies::add($b, ':uzbekistan', '&#x1F1FA&#x1F1FF');
2008         Smilies::add($b, ':vaticancity', '&#x1F1FB&#x1F1E6');
2009         Smilies::add($b, ':st.vincent&grenadines', '&#x1F1FB&#x1F1E8');
2010         Smilies::add($b, ':venezuela', '&#x1F1FB&#x1F1EA');
2011         Smilies::add($b, ':britishvirginislands', '&#x1F1FB&#x1F1EC');
2012         Smilies::add($b, ':u.s.virginislands', '&#x1F1FB&#x1F1EE');
2013         Smilies::add($b, ':vietnam', '&#x1F1FB&#x1F1F3');
2014         Smilies::add($b, ':vanuatu', '&#x1F1FB&#x1F1FA');
2015         Smilies::add($b, ':wallis&futuna', '&#x1F1FC&#x1F1EB');
2016         Smilies::add($b, ':samoa', '&#x1F1FC&#x1F1F8');
2017         Smilies::add($b, ':kosovo', '&#x1F1FD&#x1F1F0');
2018         Smilies::add($b, ':yemen', '&#x1F1FE&#x1F1EA');
2019         Smilies::add($b, ':mayotte', '&#x1F1FE&#x1F1F9');
2020         Smilies::add($b, ':southafrica', '&#x1F1FF&#x1F1E6');
2021         Smilies::add($b, ':zambia', '&#x1F1FF&#x1F1F2');
2022         Smilies::add($b, ':zimbabwe', '&#x1F1FF&#x1F1FC');
2023
2024 // subdivision-flag
2025         Smilies::add($b, ':england', '&#x1F3F4&#xE0067&#xE0062&#xE0065&#xE006E&#xE0067&#xE007F');
2026         Smilies::add($b, ':scotland', '&#x1F3F4&#xE0067&#xE0062&#xE0073&#xE0074&#xE007F');
2027         Smilies::add($b, ':wales', '&#x1F3F4&#xE0067&#xE0062&#xE0077&#xE006C&#xE0073&#xE007F');
2028
2029         }