From 7178c19ec55db35dc1d073aef9a20138b15b19d7 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 7 Dec 2023 23:42:45 +0100 Subject: [PATCH] writing: ordered list references to named rows Replace pairwise array by json-compatible structures similar to other pages. --- writing-brah.inc.pl | 13 +++++++++++-- writing-phnx.inc.pl | 12 ++++++++++-- writing.plp | 10 +++++++--- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/writing-brah.inc.pl b/writing-brah.inc.pl index ef5cd4a..7a4ac8a 100644 --- a/writing-brah.inc.pl +++ b/writing-brah.inc.pl @@ -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{ କ ଖ ଗ ଘ ଙ ଚ ଛ ଜ ଝ > ଞ ଟ ଠ ଡ ଢ ଣ ତ ଥ ଦ ଧ > ନ ପ ଫ ବ ଭ ମ ଯ > ର ଲ > ଳ ଵ ଶ ଷ ସ ହ }], # [qw{ ក ខ គ ឃ ង ច ឆ ជ ឈ > ញ ដ ឋ thai => [qw{ ก ข ค ฆ ง จ ฉ ช ฌ > ญ ฏ ฐ ฑ ฒ ณ ต ถ ท ธ > น ป ผ พ ภ ม ย > ร ล > - ว ศ ษ ส ห }], # [qw{ ກ ຂ - ຄ ງ ຈ ສ ຊ - > ຍ - - - - - ຕ ຖ ທ - > ນ ປ ຜ ຟ ພ ມ ຢ > ຣ ລ > - ວ - - - ຫ }], # [qw{ ᜃ - ᜄ - ᜅ - - - - > - - - - - - ᜆ - ᜇ - > ᜈ ᜉ - ᜊ - ᜋ ᜌ > ᜇ ᜎ > - - - - ᜐ ᜑ }], # [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{ 𐬀 > 𐬠 > 𐬔 𐬛 > 𐬵 > > > > 𐬎 𐬰 𐬑 > 𐬚 > 𐬌 𐬐 𐬮 𐬨 𐬥 > 𐬯 - 𐬞 > 𐬗 𐬘 - 𐬭 > 𐬱 𐬙 }], # [qw{ ࡀ > ࡁ > ࡂ ࡃ > ࡄ > > > > ࡅ ࡆ ࡇ > ࡈ > ࡉ ࡊ ࡋ ࡌ ࡍ > ࡎ ࡏ ࡐ > > ࡑ ࡒ ࡓ > ࡔ ࡕ }], # [qw{ 𑀅 > 𑀩 > 𑀕 𑀥 > - > > > > 𑀯 𑀤 - 𑀣 𑀞 > 𑀬 𑀓 𑀮 𑀫 𑀦 > 𑀰 - 𑀧 > > 𑀲 𑀔 𑀭 > 𑀱 𑀢 }], -); +}, +} diff --git a/writing.plp b/writing.plp index 82049fe..2c67ae0 100644 --- a/writing.plp +++ b/writing.plp @@ -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 "

$title

"; printf "

%s: %s.

\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 "\n"; -- 2.30.0