--- /dev/null
+use utf8;
+use strict;
+use warnings;
+no warnings 'qw';
+use Shiar_Sheet::KeyboardChars 'kbchars';
+
+my %rows = qw(
+ ; 🐔
+ : 🐓
+ +; 🦢swan??
+ +; 🐤
+ +: 🐥
+ a 🐒Apey_monkey
+ A 🐜Ant
+ +a 🕷Arachnid
+ +A 🐵Apey_face
+ b 🐇Bunny
+ B 🐦Bird
+ +b 🦡Badger
+ +B 🐰Bunny_face
+ c 🐈Cat
+ C 🐊CroC
+ +c 🦀Crab
+ +C 🐱Cat_face
+ d 🐕Dog
+ D 🦆Duck
+ +d 🦌Deer_cerVid_Ungulate??
+ +d 🐩pooDle_Dog
+ +D 🐶Dog_face
+ e 🐘Elephant
+ E 🦅Eagle
+ +e 🦣Elder_Elephant_or_mammoth
+ +E 🐹Eee!_hamstEr_face
+ f 🐟Fish
+ F 🪰Fly
+ +f 🦩Flamingo
+ +F 🐸Frog_Face
+ g 🐐Goat
+ G 🦍Gorilla
+ +g 🪿Goose
+ +G 🦒Giraffe_face
+ h 🐎Horse
+ H 🐝Honeybee
+ +h 🦔HedgeHog
+ +H 🐴Horse_face
+ i 🐛Insect
+ I 🐞ladIbug_Insect
+ +i 🐿chIpmunk
+ +I 🦄unIcorn_face
+ j 🪼Jelly
+ J 🐬Jumping_dolphin
+ +j 🦐Jrimp
+ k 🐨Koala
+ K 🦨sKunK
+ +k 🦘Kangaroo
+ l 🦎Lizard
+ L 🦙LLama
+ +l 🐆Leopard
+ +L 🦁Lion_face
+ m 🐄Moo
+ M 🐁Mouse
+ +m 🦠Microbe
+ +M 🐮Moo_face
+ n 🐌sNail
+ N 🦛Nile_hippo
+ +n 🦞Nephropid_lobster
+ o 🦉Owl
+ O 🦦Otter
+ +o 🦧Orangutan
+ +O 🫎mOOOse
+ p 🐖Pig
+ P 🐧Penguin
+ +p 🦜Parrot
+ +P 🐷Pig_face
+ [ 🦝raccoon_trash_Panda
+ { 🐗wild_Pig
+ +{ 🐼Panda_face
+ +[ 🐡blowfish??
+ q 🦑sQuid
+ Q 🦟Mosquito
+ +q 🦚peaQoQ
+ r 🐀Rat
+ R 🦏Rhino
+ +r 🪳Roach
+ +R 🐭Rodent_face
+ s 🐍SSSnail
+ S 🦈Shark
+ +s 🦂Scorpion
+ +S 🦭Seal_face
+ t 🐢TurTle
+ T 🐅Tiger
+ +t 🦃Turkey
+ +T 🐯Tiger_face
+ u 🐙octopUs
+ U 🐫hUmped_camel
+ +u 🐪hUmped_dromedary
+ +U 🐻Ursus_face
+ v 🦇Vampiric_bat
+ V 🕊doVe
+ +v 🦫beaVer
+ w 🐋Whale
+ W 🪱Worm
+ +w 🐃Water_buffalo
+ +W 🐺Wolf_face
+ x 🦖reX
+ X 🐂oX
+ +x 🦤eXtinct_dodo
+ +X 🦊foX_face
+ y 🦋butterflY
+ Y 🦪oYster
+ +y 🦬bYson
+ z 🐑zzz_sheep
+ Z 🐏zzz_ram
+ +z 🦥Zzzloth
+ +Z 🦓Zebra_face
+ ] 🐉dragon
+ } 🦕sauropod
+ +] 🪸coral??
+ +} 🐲dragon_face
+);
+s/.\K/\n/, y/_/ / for values %rows;
+
+# 🐠tropical_fish
+
+my $groups = kbchars(\%rows);
+
+while (my ($k, $c) = each %rows) {
+ $c =~ s/\n.*//;
+ $groups->{def}{''}{$k} = (
+ $c =~ /\p{In=1.1}/ ? 'g2' :
+ $c =~ /\p{In=6.0}/ ? 'g3' :
+ $c =~ /\p{In=8.0}/ ? 'g4' :
+ $c =~ /\p{In=10.0}/ ? 'g5' :
+ $c =~ /\p{In=10.0}/ ? 'g6' :
+ 'g7'
+ );
+}
+
++{
+ %{ $groups },
+ version => '1.0',
+ title => 'Unicode animals',
+ category => 'specialized',
+ intro => join("\n",
+ ),
+ moderows => '5421-1',
+ flag => {
+ g3 => ['initial' => 'initial emoji in Unicode 6.0'],
+ g4 => ['8.0' => ''],
+ g5 => ['10.0' => ''],
+ g7 => ['later' => 'Unicode 11.0 or above'],
+ },
+}