sc: import starcraft unit sheet
[sheet.git] / writing.plp
1 <(common.inc.plp)><:
2
3 Html({
4         title => 'writing system inheritance sheet',
5         version => 'v1.0',
6         description => [
7                 "Character comparison,",
8                 "tracking letters as they evolve from Phoenician to modern scripts.",
9                 "Good Unicode test sample.",
10         ],
11         keywords => [qw'
12                 script glyph unicode writing comparison character alphabet letter
13                 history phoenician latin sample test language multilingual
14         '],
15         stylesheet => [qw'light dark red'],
16 });
17
18 :>
19 <h1>Writing systems</h1>
20
21 <p>Also see <a href="/charset">charsets</a>
22 and <a href="/unicode">common chars</a>.</p>
23
24 <div class="section">
25
26 <:
27 use Shiar_Sheet::FormatChar;
28 my $glyphs = Shiar_Sheet::FormatChar->new;
29 unless (exists $get{v}) {
30         $glyphs->{unicode}--;
31         $glyphs->{digraph}--;
32 }
33
34 my %scriptname = (
35         arab     => 'Arabic',
36         armi     => 'Aramaic',
37         bali     => 'Balinese',
38         beng     => 'Bengali',
39         brah     => 'Brahmi',
40         cham     => 'Cham',
41         copt     => 'Coptic',
42         cyrl     => 'Cyrillic',
43         deva     => 'Devanagari',
44         ethi     => 'Ethiopic',
45         goth     => 'Gothic',
46         grek     => 'Greek',
47         gujr     => 'Gujarati',
48         guru     => 'Gurmukhi', # ਪੰਜਾਬੀ     ੧
49         hans     => 'Chinese',
50         hant     => 'Chinese',
51         hebr     => 'Hebrew',
52         ipa      => 'IPA',
53         iso      => 'ISO',
54         ital     => 'Old_Italic',
55         java     => 'Javanese',
56         kali     => 'Kayah_Li',
57         khmr     => 'Khmer',
58         knda     => 'Kannada',
59         lana     => 'Tai_Tham',
60         laoo     => 'Lao',
61         latn     => '<a href="/latin">Latin</a>',
62         lepc     => 'Lepcha',
63         lyci     => 'Lycian',
64         lydi     => 'Lydian',
65         mlym     => 'Malayalam', # മലയാളം   ൧
66         mymr     => 'Myanmar',
67         olck     => 'Ol_Chiki',
68         orya     => 'Oriya', # ଓଡ଼ିଆ
69         osma     => 'Osmanya',
70         phnx     => 'Phoenician',
71         samr     => 'Samaritan',
72         saur     => 'Saurashtra',
73         sinh     => 'Sinhala',
74         sund     => 'Sundanese',
75         syrc     => 'Syriac',
76         talu     => 'New_Tai_Lue',
77         taml     => 'Tamil', # தமிழ்         ௧
78         telu     => 'Telugu',
79         teng     => 'Tengwar',
80         tglg     => 'Baybayin',
81         thai     => 'Thai', # ไทย
82         tibt     => 'Tibetan',
83         tlh      => 'Klingon',
84
85         digits_latn     => 'Arabic_(Western)',
86         digits_latnlat  => 'Roman',
87         digits_brai     => 'Braille_[⠼+]',
88                arabindi => 'Arabic_-_Indic',
89                arabpers => 'Arabic_-_Indic_(Alt)',
90         digits_brahnumb => 'Brahmi',
91                lanahora => 'Tai_Tham_Hora',
92                suzhou   => 'Hangzhou',
93 );
94
95 for (
96         [phnx => 'Phoenician'],
97         [brah => 'Brahmi'],
98         [digits => 'Digits'],
99 ) {
100         my ($source, $title) = @$_;
101         my @table = do "writing-$source.inc.pl";
102         if ($! or $@) {
103                 print "<h2>$title</h2>\n";
104                 printf "<p>Table data not found: <em>%s</em>.</p>\n", $! || $@;
105                 next;
106         }
107         $glyphs->print($title => [map {
108                 ref $_ eq 'ARRAY' ? @$_ : map { ".>$_" }
109                         $scriptname{$source.'_'.$_} || $scriptname{$_} || $_
110         } @table]);
111 }
112
113 :></div>
114
115 <hr>
116