X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a0f942a8498d6f1574c57c5943a7d21eb9634898..fa47b427173cfffa0080d4612e4e7819d5071a79:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index e401236..f313a31 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -16,7 +16,7 @@ my $U = 0; # optional unicode alternatives ( 'Uppercase' => [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 }], 'Lowercase' => [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 }], -'Sütterlin' => [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 }], +'Sütterlin' => [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 }], 'Old Roman Cursive' => [ map { m/^(-?)(\w.*)/ ? $1.'' : $_ } "m2,4 c1,2 8,9 8,9 M2,15 6,9", @@ -48,13 +48,14 @@ my $U = 0; # optional unicode alternatives ], 'Sutton ASL' => [ # American manual alphabet in Sutton (U+1D800+) notation - map { pack 'W*', map { hex "1D$_" } unpack '(A3)*', $_ } qw{ + 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 + 0 965aa6 }], 'ITA2' => [ map { tr/01/○●/r =~ s/..\K/ /r } qw( @@ -86,18 +87,17 @@ my $U = 0; # optional unicode alternatives 11 12 13 14 15 21 22 23 > 24 25 31 32 33 34 35 41 42 43 44 45 51 52 53 54 55 })], -'Tap simplified' => [disptap(qw{ +'Short Tap' => [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 })], -'Half deck' => [ - # A 2-10 J Q K - (map { chr( 0x1F0A0 + $_ ) } 1 .. 11, 13, 14), # spades - (map { "$_" } map { chr( 0x1F0B0 + $_ ) } 1 .. 11, 13, 14), # hearts -], +'Cards' => [( + map { chr(0x1F0A0 + $_), sprintf('%s', chr(0x1F0B0 + $_)) } # spades, hearts + 1 .. 11, 13, 14 # A 2-10 J Q K +), '', chr(0x1F0CF), chr(0x1F0DF) ], 'Maritime flags' => [ # International Code of Signals, SVG fills - map { ''.s/\n?\t+//gr.'' } + map { !!$_ && ''.s/\n?\t+//gr.'' } split /\n\n/, qq{ @@ -189,6 +189,14 @@ my $U = 0; # optional unicode alternatives + + + + + + + + }, ], 'Flag semaphore' => [ @@ -248,10 +256,12 @@ my $U = 0; # optional unicode alternatives ], 'Code 39' => [ # ISO/IEC 16388 - map { tr/012/ ❘❙/r } qw( + map { !!$_ && tr/012/ ❘❙/r } + # bar widths (1-2) followed by space of width 1 (implied) or 2 (0) + qw( 211012 121012 221011 112012 212011 122011 111022 211021 121021 112021 211102 121102 221101 112102 212101 122101 111202 211201 121201 112201 - 201112 102112 202111 101212 201211 102211 102121 + 201112 102112 202111 101212 201211 102211 102121 0 101221 ) ], 'Code 93' => [ @@ -291,15 +301,19 @@ my $U = 0; # optional unicode alternatives ) ], 'RM4SCC' => [ - map { sprintf - '' - . '', - join ' m2', - map { sprintf ',%dv%dm0,-%d', - ($_ & 1 ? 0 : 2), 2 + ($_ & 2) + ($_ & 1) * 2, - ($_ & 1 ? 0 : 2) + 2 + ($_ & 2) + ($_ & 1) * 2, - } - split // + map { + my $len = length $_; + !$len ? '' : sprintf( + '' + . '', + $len * 5, $len * 2, + join ' m2', + map { sprintf ',%dv%dm0,-%d', + ($_ & 1 ? 0 : 2), 2 + ($_ & 2) + ($_ & 1) * 2, + ($_ & 1 ? 0 : 2) + 2 + ($_ & 2) + ($_ & 1) * 2, + } + split // + ); } qw( 2121 2301 @@ -308,7 +322,8 @@ my $U = 0; # optional unicode alternatives 1032 1212 1230 3012 3030 3210 1122 1302 1320 3102 3120 3300 0033 - ) # 0 for space + ), # 0 for space + '', 1, 3 # start/end ], 'Pigpen' => [ map {