keyboard: recombine translations in include syntax
[sheet.git] / keyboard / altgr / zoo.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 no  warnings 'qw';
5 use Shiar_Sheet::KeyboardChars 'kbchars';
6
7 my %rows = qw(
8         a  🐒Apey_monkey
9         A  🐜Ant
10         +a 🕷Arachnid
11         +A 🐵Apey_face
12         b  🐇Bunny
13         B  🐦Bird
14         +b 🦡Badger
15         +B 🐰Bunny_face
16         c  🐈Cat
17         C  🐊CroC
18         +c 🦀Crab
19         +C 🐱Cat_face
20         d  🐕Dog
21         D  🦆Duck
22         +d 🐩pooDle_Dog
23         +D 🐶Dog_face
24         e  🐘Elephant
25         E  🦅Eagle
26         +e 🦣Elder_Elephant_or_mammoth
27         f  🐟Fish
28         F  🪰Fly
29         +f 🦩Flamingo
30         +F 🐸Frog_Face
31         g  🐐Goat
32         G  🦍Gorilla
33         +g 🪿Goose
34         +G 🦒Giraffe_face
35         h  🐎Horse
36         H  🐝Honeybee
37         +h 🦔HedgeHog
38         +H 🐴Horse_face
39         i  🐛Insect
40         I  🐿chIpmunk_or_squIrrel
41         +i 🪲beetle_Insect
42         +I 🦄unIcorn_face
43         j  🪼Jelly
44         J  🐬dolphin_Jumping
45         +j 🦐Jrimp
46         k  🐨Koala
47         K  🦨sKunK
48         +k 🦘Kangaroo
49         +K 🐼fake_Koala_face_(panda)
50         l  🦎Lizard
51         L  🦙LLama
52         +l 🐆Leopard
53         +L 🦁Lion_face
54         m  🐁Mouse
55         M  🦠Microbe
56         +m 🫏Mule_or_donkey
57         +M 🐭Mouse_face
58         n  🐌sNail
59         N  🦛Nile_hippo
60         +n 🦞Nephropid_lobster
61         o  🦉Owl
62         O  🦦Otter
63         +o 🦧Orangutan
64         +O 🫎mOOOse
65         p  🐖Pig
66         P  🐧Penguin
67         +p 🦜Parrot
68         +P 🐷Pig_face
69         q  🦑sQuid
70         Q  🦟Mosquito
71         +q 🦚peaQoQ
72         r  🐀Rat
73         R  🦏Rhino
74         +r 🪳Roach
75         +R 🐹Rodent_hamster_face
76         s  🐍SSSnail
77         S  🦂Scorpion
78         +s 🦈Shark
79         +S 🦭Seal_face
80         t  🐢TurTle
81         T  🐅Tiger
82         +t 🦃Turkey
83         +T 🐯Tiger_face
84         u  🐙octopUs
85         U  🐫hUmped_camel
86         +u 🐪hUmped_dromedary
87         +U 🐻Ursus_face
88         v  🦇Vampire_in_bat_form
89         V  🕊doVe
90         +v 🦫beaVer,_kurVa!
91         w  🐋Whale
92         W  🪱Worm
93         +w 🐃Water_buffalo
94         +W 🐺Wolf_face
95         x  🦖reX
96         X  🐂oX
97         +x 🦤eXtinct_dodo
98         +X 🦊foX_face
99         y  🐞ladYbug
100         Y  🦋butterflY
101         +y 🦪oYster
102         z  🐑zzz_sheep
103         Z  🐏zzz_ram
104         +z 🦥Zzzloth
105         +Z 🦓Zebra_face
106         ,  🐔<:_chicken
107         <  🐓<:_rooster
108         +, 🐤<:_chicklet
109         +< 🐥<:_chicklet_face
110
111         >  🦢swan??
112         ;  🐉dragon
113         :  🦕sauropod
114         +; 🪸coral??
115         +: 🐲dragon_face
116         +> 🦝raccoon_trash_Panda
117         .  🐗wild_Pig
118
119         [  🐄horned_cow
120         {  🦌horned_deer
121         +[ 🦬horned_bison
122         +{ 🐮cow_face
123 );
124 s/.\K/\n/, y/_/ / for values %rows;
125
126 #       🐠tropical_fish
127 #       🐡blowfish??
128
129 my $groups = kbchars(\%rows);
130
131 while (my ($k, $c) = each %rows) {
132         $c =~ s/\n.*//;
133         $groups->{def}{''}{$k}[0] = (
134                 $c =~ /\p{In=1.1}/ ? 'g2' :
135                 $c =~ /\p{In=6.0}/ ? 'g3' :
136                 $c =~ /\p{In=8.0}/ ? 'g4' :
137                 $c =~ /\p{In=10.0}/ ? 'g5' :
138                 $c =~ /\p{In=10.0}/ ? 'g6' :
139                 'g7'
140         );
141 }
142
143 +{
144         %{ $groups },
145         version => '1.1',
146         title => 'Unicode animals',
147         category => 'specialized',
148         intro => join("\n",
149                 "Collecting all emoji animals as of Unicode 11.0",
150                 "with English mnemonics as AltGr mode.",
151                 'Because who needs <a href="/keyboard/altgr">letters</a>',
152                 'or <a href="/keyboard/altgr/emojiworks">other emoji</a>',
153                 'when you have direct access to all these critters and creatures.',
154         ),
155         moderows => '5421-',
156         flag => {
157                 g3 => ['initial'  => 'initial emoji in Unicode 6.0'],
158                 g4 => ['8.0'      => 'added in Unicode 7 or 8 (2015)'],
159                 g5 => ['10.0'     => 'added in Unicode 9 or 10 (2017)'],
160                 g7 => ['later'    => 'Unicode 11.0 or above'],
161         },
162 }