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