-print "<h2>IPA</h2>\n\n";
-print table(@$_) for (
- [
- 12 => [qw{
- p t - ʈ - c k q - = ʡ ʔ
- b d - ɖ - ɟ ɡ ɢ - = - =
- m ɱ - n - ɳ ɲ ŋ ɴ = = =
- ʙ - - r - - - = ʀ = я =
- - ⱱ - ɾ - ɽ - = ɢ̆ = - =
- ɸ f θ s ʃ ʂ ç x χ ħ ʜ h
- β v ð z ʒ ʐ ʝ ɣ ʁ ʕ ʢ ɦ
- = = - ɬ - - - - - = = =
- = = - ɮ - - - - - = = =
- - ʋ - ɹ - ɻ j ɰ - - - =
- = = - l - ɭ ʎ ʟ - = = =
- ʘ - ǀ ǁ ǃ - ǂ - - = = =
- ɓ - ɗ - - - ʄ ɠ ʛ - - -
- }],
- [
- 'Plosive',
- 'Voiced plosive',
- 'Nasal',
- 'Trill',
- 'Tap/flap',
- 'Fricative',
- 'Voiced fricative',
- 'Lateral fricative',
- 'Voiced lateral fricative',
- 'Approximant',
- 'Lateral approximant',
- 'Click',
- 'Implosive',
- ],
- [
- qw'BiL:Bilabial LD:Labiodental D:Dental Alv:Alveolar PA:Postalveolar Rf:Retroflex Pal:Palatal Vel:Velar Uv:Uvular Ph:Pharyngeal EG:Epiglottal Gl:Glottal',
- ],
- ],
- [
- 6 => [qw{
- i y ɨ ʉ ɯ u
- - ɪ ʏ - ʊ -
- e ø ɘ ɵ ɤ o
- - - ə - - -
- ɛ œ ɜ ɞ ʌ ɔ
- æ - ɐ - - -
- a ɶ - - ɑ ɒ
- }],
- [qw{Close Near-close Close-mid Mid Open-mid Near-open Open}],
- [map {substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded"} qw{Front Central Back}]
- ],
-);
+my $tables = do 'unicode-table.inc.pl' or die $@ || $!;
+
+$glyphs->print(map {
+ my $_ = /(.*)\?(.*)/ ? ($verbose ? $2 : $1) : $_;
+ if (!$_) {
+ ();
+ }
+ elsif (/[A-Z]/) {
+ tr/_/ /;
+ $_;
+ }
+ else {
+ state $group;
+ $group = $1 if s{^([^/]+)/}{};
+ my @select = s/=(.*)// ? split(/=/, $1) : ();
+ my $table = $tables->{$group}->{$_}
+ or die "Unknown table specified: $group/$_";
+
+ if (@select) {
+ my $rowlen;
+ for ($rowlen = 1; $rowlen++; $rowlen <= $#$table) {
+ last if $table->[$rowlen] =~ /\./;
+ }
+ my @cells = map {
+ my $end = (s/-(.+)?// ? ($1 // @$table / $rowlen - 1) : $_) + 1;
+ $_ * $rowlen .. $end * $rowlen - 1;
+ } @select;
+ $table = [ @$table[@cells] ];
+ }
+ $table;
+ }
+} @config);
+
+:></div>
+
+<div class="legend">
+ <table class="glyphs"><tr>
+ <td class="X l5">ascii
+ <td class="X l4"><:= $glyphs->{style} eq 'di' ? 'digraph' : 'latin1' :>
+ <td class="X l3"><:= $glyphs->{style} eq 'di' ? 'proposed' : 'HTML4' :>
+ <td class="X l2">unicode ≤6.0
+ <td class="X l1">other unicode
+ <td class="X ex">discouraged
+ </table>
+</div>
+
+<script type="text/javascript" src="/clipboard.js"></script>