Replace pairwise array by json-compatible structures similar to other pages.
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
thai => [qw{ ก ข ค ฆ ง จ ฉ ช ฌ > ญ ฏ ฐ ฑ ฒ ณ ต ถ ท ธ > น ป ผ พ ภ ม ย > ร ล > - ว ศ ษ ส ห }], # <khmr 13hCE
laoo => [qw{ ກ ຂ - ຄ ງ ຈ ສ ຊ - > ຍ - - - - - ຕ ຖ ທ - > ນ ປ ຜ ຟ ພ ມ ຢ > ຣ ລ > - ວ - - - ຫ }], # <khmr 14hCE
tglg => [qw{ ᜃ - ᜄ - ᜅ - - - - > - - - - - - ᜆ - ᜇ - > ᜈ ᜉ - ᜊ - ᜋ ᜌ > ᜇ ᜎ > - - - - ᜐ ᜑ }], # <kawi 14hCE
-);
+},
+}
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)
-avst => [qw{ 𐬀 > 𐬠 > 𐬔 𐬛 > 𐬵 > > > > 𐬎 𐬰 𐬑 > 𐬚 > 𐬌 𐬐 𐬮 𐬨 𐬥 > 𐬯 - 𐬞 > 𐬗 𐬘 - 𐬭 > 𐬱 𐬙 }], # <phlv 7hCE
mand => [qw{ ࡀ > ࡁ > ࡂ ࡃ > ࡄ > > > > ࡅ ࡆ ࡇ > ࡈ > ࡉ ࡊ ࡋ ࡌ ࡍ > ࡎ ࡏ ࡐ > > ࡑ ࡒ ࡓ > ࡔ ࡕ }], # <prti
brah => [qw{ 𑀅 > 𑀩 > 𑀕 𑀥 > - > > > > 𑀯 𑀤 - 𑀣 𑀞 > 𑀬 𑀓 𑀮 𑀫 𑀦 > 𑀰 - 𑀧 > > 𑀲 𑀔 𑀭 > 𑀱 𑀢 }],
-);
+},
+}
[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";