taps => 'Tap simplified',
ics => 'Maritime flags', # International Code of Signals
sem => 'Flag semaphore',
+ semc => 'Chappe semaphore',
pigpen => 'Pigpen',
wingdings=> 'Wingdings',
code39 => 'Code 39', # ISO/IEC 16388
24 25 26 27 34 35 47 56 57 36 67
)
],
+semc => [
+ map {
+ my ($r, $pr, $pl) = split //, $_;
+ !$_ ? '-' : sprintf(
+ join('',
+ '<svg width="20" height="20" viewBox="0 0 10 15">',
+ '<path stroke="black" d="M5,6 v7"/>',
+ '<path stroke="black" fill="none" d="M0,%s h10 %s" transform="rotate(%d 5 6)"/>',
+ '</svg>',
+ ),
+ ['6', '3v3', '9v-3']->[$pl],
+ [ '', 'v3', 'v-3']->[$pr],
+ $r * 45,
+ );
+ }
+ # 360° rotation (0-7) and position state (0-2) of left and right bars
+ qw(
+ 021 121 221 321 421 521 621 721
+ 022 022 122 222 322 011 111 211 311
+ 001 101 201 301 401 501 601 701 020
+ )
+],
code39 => [map { tr/012/ ❘❙/r } qw{
211012 121012 221011 112012 212011 122011 111022 211021 121021 112021
211102 121102 221101 112102 212101 122101 111202 211201 121201 112201