-my @t = (qw{
- .>Latin a b c d e f g h i j k l m n o p q r s t u v w x y z
- .>Braille ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠟ ⠗ ⠎ ⠞ ⠥ ⠧ ⠺ ⠭ ⠽ ⠵
- .>Morse ‧‑ ‑‧‧‧ ‑‧‑‧ ‑‧‧ ‧ ‧‧‐‧ ‐‐‧ ‧‧‧‧ ‧‧ ‧‐‐‐ ‐‧‐ ‧‐‧‧ ‐‐
- ‐‧ ‐‐‐ ‧‐‐‧ ‐‐‧‐ ‧‐‧ ‧‧‧ ‐ ‧‧‐ ‧‧‧‐ ‧‐‐ ‐‧‧‐ ‐‧‐‐ ‐‐‧‧
-});
-print $glyphs->table(exists $get{uc} ? [map {s/\s.//; uc} @t] : \@t);
+my %scriptname = (
+ latn => 'Latin',
+ latnuc => 'Uppercase',
+ latnlc => 'Lowercase',
+ latfsuet => 'Sütterlin',
+ asl => '<abbr title="American Sign Lanugage">ASL</abbr>', # American manual alphabet
+ brai => 'Braille',
+ morse => 'Morse',
+ tap => 'Tap code',
+ taps => 'Tap simplified',
+ ics => 'Maritime flags', # International Code of Signals
+ sem => 'Flag semaphore',
+ pigpen => 'Pigpen',
+ wingdings=> 'Wingdings',
+ code39 => 'Code 39', # ISO/IEC 16388
+ rm4scc => '<abbr title="Royal Mail 4-State Customer Code">RM4SCC</abbr>',
+ colour => 'Chromacons', # Colour Alphabet by Paul Green-Armytage (2010)
+);
+
+my @table = do 'writing-latn.inc.pl';
+if ($! or $@) {
+ printf "<p class=error>Table data not found: <em>%s</em>.</p>\n", $@ || $!;
+}
+else {
+ print $glyphs->table([map {
+ ref $_ ne 'ARRAY' ? ".>$scriptname{$_}"
+ : exists $get{uc} ? map {uc} @$_ : @$_
+ } @table]);
+}