latin: improve tap code slash styling
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 23 Oct 2022 23:35:42 +0000 (01:35 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Thu, 9 Feb 2023 17:54:07 +0000 (18:54 +0100)
writing-latn.inc.pl

index 806bff2bc9baac3acbe2009f18b7ffb331ac6f40..4ad57fff76110e15849bd48444e6dc73b6bc4169 100644 (file)
@@ -1,7 +1,7 @@
 use 5.014;
 use utf8;
 use warnings;
-use List::Util qw( pairs pairmap sum );
+use List::Util qw( pairs pairmap sum min max );
 
 my %C = (
        red    => '#EC1C24',
@@ -63,14 +63,15 @@ sub dispdomino {
 sub dispdash {
        my $code = shift;
        my ($prefix, @dots) = $code =~ m/\A(-?)(\d)(\d)/ or return $code;
-       my ($w, $h) = (12, 9);
-       my @w = map { $w / ($_ || 1) } @dots;
+       my ($w, $h) = (max(6, 4 * max(@dots)), 9);
+       my ($w0, $w1) = ($w / $dots[0], $dots[1] ? $w / $dots[1] : 1);
        return sprintf(
-               '<svg height="20" viewBox="-.5 -.5 %s %s">'
+               '<svg height="20"%s viewBox="-.5 -.5 %s %s">'
                . '<path d="%s" /></svg>',
+               $prefix && ' style="opacity:.5"',
                $w + 1, $h + 1, join(' ',
-                       "m0,$h l+$w[0],-$h" x $dots[0], # slashes
-                       "m0,$h l-$w[1],-$h" x $dots[1], # backslashes
+                       "m0,$h l+$w0,-$h" x $dots[0], # slashes
+                       "m0,$h l-$w1,-$h" x $dots[1], # backslashes
                )
        );
 }
@@ -91,9 +92,9 @@ sub dispblock {
                i => 'm0,1h2',
                o => 'm0,1h1',
        );
-       my %col = qw(
-               S 120  Z 0  J 240  L 30  T 300  O 60  I 180
-               v 45,50%  i 165,50%  o 165,0%
+       my %col = (
+               S => 120, Z => 0, J => 240, L => 30, T => 300, O => 60, I => 180,
+               v => '45,50%', i => '165,50%', o => '165,0%',
        );
        s/\z(?<!%)/,100%/ for values %col;
        my @gaps = (grep $_,
@@ -396,13 +397,13 @@ tap => {
 shorttap => {
        name => 'Short Tap',
        style => \@tapstyle,
-       list => [map { disptap($_) } qw{
+       altlist => [map { disptap($_) } qw{
                11 12 13 14 21 22 23 20 > 31 -13 32 33
                30 41 42 -13 43 40 10 51 52 53 50 -31 -40
        }],
-       altlist => [map { dispdash($_) } qw{
-               10 14 -13 12 20 23 22 21 30 -34 13 33 32
-               31 40 43 -13 42 41 11 50 -23 -50 -1341 -31 -41
+       list => [map { dispdash($_) } qw{
+               10 14 -24 12 20 23 22 21 30 -34 13 33 32
+               31 40 43 -13 42 41 11 50 -53 -44 -52 -51 -54
        }],
 },
 domino => {