use utf8;
sub disptap {
return map {
m/\A(-?)(\d)(\d)/;
sprintf('%s ',
#TODO: prepend $1
join " \n", '•' x $2, '•' x $3,
);
} @_;
}
my %C = qw(red #EC1C24 blue #3953A3 yellow #F9EC31 black #231F20);
(
latn => [qw{ a b c d e f g h i j k l m n o p q r s t u v w x y z }],
latfsuet => [qw{ a b c d e f g h i j k l m n o p q r ſ s t u v w x y z }],
asl => [
map { pack 'W*', map { hex "1D$_" } unpack '(A3)*', $_ } qw{
8F7a9c 847a9c 86Da9c 801a9c 84Aa9c
8CEa9c 8F0 815aa2 892a9c 892a9c9A2aac
840a9c 8DCa9c 88Da9c
819a9c 876a9c 840a9caA1 8F0a9caA1 81Aa9c
903a9c 8FBa9c 815a9c 80Ea9c 887a9c
806a9c 89Aa9c 800a9c945aaa
}],
brai => [qw{ ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠟ ⠗ ⠎ ⠞ ⠥ ⠧ ⠺ ⠭ ⠽ ⠵ }],
morse => [map {tr/.-/‧‑/r} qw{
.- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. --
-. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --..
}],
tap => [disptap(qw{
11 12 13 14 15 21 22 23 24 -24 25 31 32
33 34 35 41 42 43 44 45 51 52 53 54 55
})],
tap => [disptap(qw{
11 12 13 14 21 22 23 24 31 -31 -13 32 33
34 41 42 -13 43 44 15 51 52 53 -25 -31 54
})],
ics => [
map { '' }
split /\n\n/, qq{
},
],
);