latin: d'ni numerals svg row
[sheet.git] / writing-latn.inc.pl
index 2eadbc76444b2e67418599ea052ed9ca11ab5ac1..babdb40f74f4f7b877a20d0231dc2ca69b197ad8 100644 (file)
@@ -1,3 +1,4 @@
+use 5.014;
 use utf8;
 use List::Util qw( pairs );
 
@@ -301,15 +302,19 @@ my $U = 0;  # optional unicode alternatives
        )
 ],
 '<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
@@ -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 '<svg width="20" height="20" viewBox="-.5 -.5 13 13"><path d="%s"/></svg>',
+                       $window . ($h->[$_ % 5] . $v->[$_ / 5] || $v->[6]);
+       } 0 .. 5*5
 ],
 'Pigpen' => [
        map {