sc: prefer precalculated dps for aggregate attacks
[sheet.git] / writing-latn.inc.pl
index d808e0d8fec82914095778f69af06e17e0f5300f..f2435104d7ebf7a24683c16b763fa258e64fab22 100644 (file)
@@ -1,9 +1,30 @@
 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 }],
 ase      => [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 }],
 brai     => [qw{ ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠟ ⠗ ⠎ ⠞ ⠥ ⠧ ⠺ ⠭ ⠽ ⠵ }],
-morse    => [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
+            })],
 );