X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/140051e24ff5a74421e8b437cdc12ca8570995cd..HEAD:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index a2dd4b4..4ad57ff 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -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( - '' + '' . '', + $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(? [qw( written sign digital touch tactile sound games semaphore barcode personal )], +written => [qw( uppercase lowercase suetterlin roman )], +digital => [qw( stroke ita2 )], +stroke => [qw( graffiti unistrokes edgewrite )], +touch => [qw( moon braille )], +sign => ['sutton'], +sound => [qw( morse tap shorttap )], +games => [qw( domino tetromino cards )], +semaphore => [qw( maritime flag chappe prussian )], +barcode => [qw( rm4scc code39 code93 code128 )], +personal => [qw( rgbmap cmymap dni pigpen nyctographs chromacons )], + +order => { + name => '#', + list => [1 .. 26], +}, uppercase => { list => [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 }], }, @@ -380,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 => { @@ -783,4 +800,4 @@ chromacons => { } ], }, -); +};