(
'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.'<svg width="20" height="20" viewBox="0 0 12 20"><path d="'.$2.'"/></svg>' : $_ }
"m2,4 c1,2 8,9 8,9 M2,15 6,9",
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
})],
],
'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' => [
)
],
'<abbr title="Royal Mail 4-State Customer Code">RM4SCC</abbr>' => [
- map { sprintf
- '<svg width="20" height="20" viewBox="0 0 8 6">'
- . '<path d="M1%s"/></svg>',
- 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(
+ '<svg width="%d" height="20" viewBox="0 0 %d 6">'
+ . '<path d="M1%s"/></svg>',
+ $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
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 {