writing: ordered list references to named rows
authorMischa POSLAWSKY <perl@shiar.org>
Thu, 7 Dec 2023 22:42:45 +0000 (23:42 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Tue, 19 Dec 2023 23:47:51 +0000 (00:47 +0100)
Replace pairwise array by json-compatible structures similar to other pages.

writing-brah.inc.pl
writing-phnx.inc.pl
writing.plp

index ef5cd4ae8c5691c0df0070347a61ba9175ea0d46..7a4ac8af64cc44ab34f4715ca54edd7b2502b6c9 100644 (file)
@@ -1,5 +1,13 @@
 use utf8;
-(
+{
+list => [qw(
+       iso ipa
+       orya beng deva gujr guru tibt sidd
+       brah
+       telu knda sinh mlym taml mymr khmr thai laoo tglg
+)],
+
+table => {
 iso      => [qw{ k  kh g  gh ṅ  c  ch j  jh > ñ  ṭ  ṭh ḍ  ḍh ṇ  t  th d  dh n ṉ  p  ph b  bh m  y  r ṟ  l  ḷ  ḻ  v  ś  ṣ  s  h }],
 ipa      => [qw{ k  kʰ ɡ  ɡʱ ŋ  c  cʰ ɟ  ɟʱ > ɲ  ʈ  ʈʰ ɖ  ɖʱ ɳ  t̪  t̪ʰ d̪  d̪ʱ n̪ n  p  pʰ b  bʱ m  j  r ɾ  l  ɭ  ɻ  ʋ  ʃ  ʂ  s  ɦ }],
 orya     => [qw{ କ  ଖ  ଗ  ଘ  ଙ  ଚ  ଛ  ଜ  ଝ  > ଞ  ଟ  ଠ  ଡ  ଢ  ଣ  ତ  ଥ  ଦ  ଧ  > ନ  ପ  ଫ  ବ  ଭ  ମ  ଯ  > ର  ଲ  >  ଳ  ଵ  ଶ  ଷ  ସ  ହ }], # <kalinga 10hCE
@@ -22,4 +30,5 @@ khmr     => [qw{ ក  ខ  គ  ឃ  ង  ច  ឆ  ជ  ឈ  > ញ  ដ  ឋ  
 thai     => [qw{ ก  ข  ค  ฆ  ง  จ  ฉ  ช  ฌ  > ญ  ฏ  ฐ  ฑ  ฒ  ณ  ต  ถ  ท  ธ  > น  ป  ผ  พ  ภ  ม  ย  > ร  ล  >  -  ว  ศ  ษ  ส  ห }], # <khmr 13hCE
 laoo     => [qw{ ກ  ຂ  -  ຄ  ງ  ຈ  ສ  ຊ  -  > ຍ  -  -  -  -  -  ຕ  ຖ  ທ  -  > ນ  ປ  ຜ  ຟ  ພ  ມ  ຢ  > ຣ  ລ  >  -  ວ  -  -  -  ຫ }], # <khmr 14hCE
 tglg     => [qw{ ᜃ  -  ᜄ  -  ᜅ  -  -  -  -  > -  -  -  -  -  -  ᜆ  -  ᜇ  -  > ᜈ  ᜉ  -  ᜊ  -  ᜋ  ᜌ  > ᜇ  ᜎ  >  -  -  -  -  ᜐ  ᜑ }], # <kawi 14hCE
-);
+},
+}
index 4e949f79fa2b8c34747c8c0a6d646386532b449a..33ff5880b68b864d35f9d69a73d7123f8f509aea 100644 (file)
@@ -1,5 +1,12 @@
 use utf8;
-(
+{
+list => [qw(
+       latn -runr -ital -goth -copt cyrl -perm -lyci grek -cari -lydi
+       phnx -egyp -samr -armi hebr -sarb ethi -narb -nbat arab
+       syrc -sogo -sogd mong -hatr -prti -phli -phlp -avst mand brah
+)],
+
+table => {
  latn     => [qw{ A >  B C  G  D  > E  F  Y U V  W Z H -Þ -  I  J K L M N >  X O  P  > >  -  Q  R >  S T }],
 #runr_ys  => [qw{ ᚭ -  ᛓ ᚴ  ᛆ  -  > -  ᚠ  > > >  - ᛧ ᚽ  ᚦ -  >  ᛁ - ᛚ ᛙ ᚿ >  - -  -  > >  -  -  ᚱ >  ᛌ ᛐ }], # short-twig fuþark
 #runr_m   => [qw{ ᚮ -  ᛒ ᚲ  ᛆ  -  > -  ᚠ  > > >  - ᛧ ᚼ  ᚦ -  ᛁ  ᛂ - ᛚ ᛘ ᚿ >  - -  -  > >  -  -  ᚱ >  ᛋ ᛐ }], # fuþork (medieval)
@@ -38,4 +45,5 @@ use utf8;
 -avst     => [qw{ 𐬀 >  𐬠 >  𐬔  𐬛  > 𐬵  >  > > >  𐬎 𐬰 𐬑  > 𐬚  >  𐬌 𐬐 𐬮 𐬨 𐬥 >  𐬯 -  𐬞  > 𐬗  𐬘  -  𐬭 >  𐬱 𐬙 }], # <phlv  7hCE
  mand     => [qw{ ࡀ >  ࡁ >  ࡂ  ࡃ  > ࡄ  >  > > >  ࡅ ࡆ ࡇ  > ࡈ  >  ࡉ ࡊ ࡋ ࡌ ࡍ >  ࡎ ࡏ  ࡐ  > >  ࡑ  ࡒ  ࡓ >  ࡔ ࡕ }], # <prti
  brah     => [qw{ 𑀅 >  𑀩 >  𑀕  𑀥  > -  >  > > >  𑀯 𑀤 -  𑀣 𑀞  >  𑀬 𑀓 𑀮 𑀫 𑀦 >  𑀰 -  𑀧  > >  𑀲  𑀔  𑀭 >  𑀱 𑀢 }],
-);
+},
+}
index 82049fee1ad1853273f85426247793df9a07b1fc..2c67ae058fc7ac5384884ad821b40d26f57b28c6 100644 (file)
@@ -43,16 +43,20 @@ for (
        [brah => 'Brahmi'],
 ) {
        my ($source, $title) = @$_;
-       my @table = eval { Data("writing-$source") } or do {
+       my $info = eval { Data("writing-$source") } or do {
                say "<h2>$title</h2>";
                printf "<p>%s: <em>%s</em>.</p>\n", @{$@};
                next;
        };
+       my $rows = $info->{list} or next;
        $glyphs->print($title => [map {
+               my $ref = $_;
                my $lead = s/^(-)// && $1;
-               ref $_ eq 'ARRAY' ? @$_ : map { ".>$lead$_" }
+               (map { ".>$lead$_" }
                        $scriptname->{$source.'_'.$_} || $scriptname->{$_} || $_
-       } @table]);
+               ),
+               @{ $info->{table}->{$ref} || [] }
+       } @{$rows}]);
 }
 
 say "</div>\n";