X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/ff2d4344d5b0adc00b1a9184afc02dda63165a24..414f2bc754363a3052954e45a92c76db6bfc9c06:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index f178be9..da6fc3f 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -1,9 +1,10 @@ use utf8; +use List::Util qw( pairs ); sub disptap { return map { !m/\A(-?)(\d)(\d)/ ? $_ : - $1.sprintf('%s
%s', + $1.join(' ', '·' x $2, '·' x $3, ); } @_; @@ -182,7 +183,7 @@ my $U = 0; # optional unicode alternatives 'Flag semaphore' => [ map { local $_ = $_; - s/[1-4]\K(?=[4-9])/ /; + s/[1-4]\K(?=[4-9])/ /; # prevent unwanted vertical crossing tr/1-9/↙←↖↑↗→↘↓/; s{(\S)(?=.)}{$1}; $_ @@ -197,7 +198,7 @@ my $U = 0; # optional unicode alternatives my ($r, $pr, $pl) = split //, $_; /^\D$/ ? $_ : sprintf( join('', - '', + '', '', '', '', @@ -217,7 +218,7 @@ my $U = 0; # optional unicode alternatives 'Prussian semaphore' => [ map { /^\D+$/ ? $_ : sprintf join('', - '', + '', '', (map {( qq(), @@ -242,9 +243,27 @@ my $U = 0; # optional unicode alternatives 201112 102112 202111 101212 201211 102211 ) ], +'Code 93' => [ + map { + sprintf + '', + join ' ', + map { + join('m1,-7', ('v7') x $_->[0]), # line per bar width + (map { sprintf 'm%d,-7', $_ + 1 } $_->[1] || ()), # space forward + } + pairs split // + } + # bar and space widths (1-3) + qw( + 21111 21121 21131 22111 22121 23111 11211 11221 11231 + 12211 13211 11112 11122 11132 12112 13112 21211 21221 + 21112 21122 22112 22211 11212 11222 12212 12311 + ) +], 'Code 128' => [ map { $U ? tr/1-3-/❘❙❚ /r : sprintf - '', + '', join ' ', map { $_ eq '' ? 'm2,-7' :