latin: replace asl font by signwriting unicode
[sheet.git] / writing-latn.inc.pl
index 53d9b6397b79fa49e4bc295232ab5b015908ac1d..2885e983c6fe03fedc957b97c896f7a09e94383f 100644 (file)
@@ -1,4 +1,38 @@
-latn     => [qw{.>Latin      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 }],
-brai     => [qw{.>Braille    ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠟ ⠗ ⠎ ⠞ ⠥ ⠧ ⠺ ⠭ ⠽ ⠵ }],
-morse    => [qw{.>Morse      ‧‑ ‑‧‧‧ ‑‧‑‧ ‑‧‧ ‧ ‧‧‐‧ ‐‐‧ ‧‧‧‧ ‧‧ ‧‐‐‐ ‐‧‐ ‧‐‧‧ ‐‐
-                             ‐‧ ‐‐‐ ‧‐‐‧ ‐‐‧‐ ‧‐‧ ‧‧‧ ‐ ‧‧‐ ‧‧‧‐ ‧‐‐ ‐‧‧‐ ‐‧‐‐ ‐‐‧‧ }],
+use utf8;
+
+sub disptap {
+       map {
+               m/\A(-?)(\d)(\d)/;
+               $1 . '\\'  # escape dot
+               . ('.̇' x ($2 < $3 ? $2 : $3))  # min($2,$3) without losing captures
+               . ('.' x ($3 - $2))
+               . (' ̇' x ($2 - $3))
+       } @_
+}
+
+(
+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
+            })],
+);