perl: 5.38 release
[sheet.git] / writing.plp
index a8bf630a9684ef7555b9cad722d163b535d55fb5..82049fee1ad1853273f85426247793df9a07b1fc 100644 (file)
@@ -2,7 +2,7 @@
 
 Html({
        title => 'writing system inheritance sheet',
-       version => 'v1.0',
+       version => '1.3',
        description => [
                "Character comparison,",
                "tracking letters as they evolve from Phoenician to modern scripts.",
@@ -12,14 +12,16 @@ Html({
                script glyph unicode writing comparison character alphabet letter
                history phoenician latin sample test language multilingual
        '],
-       stylesheet => [qw'light dark red'],
+       stylesheet => [qw'light circus dark red mono'],
        data => [qw'writing-phnx.inc.pl'],
 });
 
 :>
 <h1>Writing systems</h1>
 
-<p>Also see <a href="/charset">charsets</a>
+<p>
+Comparison of Unicode letters in related alphabets.
+Also see <a href="/charset">charsets</a>
 and <a href="/unicode">common chars</a>.</p>
 
 <div class="section">
@@ -30,30 +32,30 @@ my $glyphs = Shiar_Sheet::FormatChar->new;
 unless (exists $get{v}) {
        $glyphs->{unicode}--;
        $glyphs->{anno}  = [];
-       $glyphs->{style} = 0;
+       $glyphs->{style} = 'univer';
 }
 
-my $scriptname = do 'writing-script.inc.pl';
-$_ = qq{<a href="/latin">$_</a>} for $scriptname->{latn} || ();
+my $scriptname = eval { Data('writing-script') }; # optional translations
+$_ = showlink($_, "/latin") for $scriptname->{latn} || ();
 
 for (
        [phnx => 'Phoenician'],
        [brah => 'Brahmi'],
 ) {
        my ($source, $title) = @$_;
-       my @table = do "writing-$source.inc.pl";
-       if ($! or $@) {
-               print "<h2>$title</h2>\n";
-               printf "<p>Table data not found: <em>%s</em>.</p>\n", $! || $@;
+       my @table = eval { Data("writing-$source") } or do {
+               say "<h2>$title</h2>";
+               printf "<p>%s: <em>%s</em>.</p>\n", @{$@};
                next;
-       }
+       };
        $glyphs->print($title => [map {
-               ref $_ eq 'ARRAY' ? @$_ : map { ".>$_" }
+               my $lead = s/^(-)// && $1;
+               ref $_ eq 'ARRAY' ? @$_ : map { ".>$lead$_" }
                        $scriptname->{$source.'_'.$_} || $scriptname->{$_} || $_
        } @table]);
 }
 
-:></div>
+say "</div>\n";
 
-<hr>
+say for '<hr/>', $glyphs->legend;