X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/9b34f6d9fa60d96025fe3835777f277b9cc002ad..5eb91cbedd5d8014061c5a78e4d205d5a782ebd0:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index 1be023d..babdb40 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -1,3 +1,4 @@ +use 5.014; use utf8; use List::Util qw( pairs ); @@ -16,7 +17,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", @@ -87,7 +88,7 @@ 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 })], @@ -301,15 +302,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 @@ -318,7 +323,31 @@ 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 +], +"D'ni" => [ + map { + state $window = 'M-.5,-.5H12.5V12.5H-.5Z'; + state $v = [ + '', + 'M0,6 12,6', + 'M0,12 Q6,6 12,12', + 'M0,6 6,12 12,6', + 'M3,0 3,6 12,6', + 'M0,0 12,12 M0,12 12,0', # cross + 'M5.5,6 h1', # dot + ]; + state $h = [ + '', + 'M6,0 6,12', + 'M0,0 Q6,6 0,12', + 'M6,-.5 0,6 6,12.5', + 'M6,12 6,3 12,3', + ]; + sprintf '', + $window . ($h->[$_ % 5] . $v->[$_ / 5] || $v->[6]); + } 0 .. 5*5 ], 'Pigpen' => [ map {