- return sprintf "<table>\n%s</table>\n", join '', map {"<tr>$_\n"} @rows;
-}
-
-print "<h2>Common</h2>\n\n";
-print table(@$_) for (
- [ 3 => [qw{. « » . ‹ › . ‘ ’ . “ ” . „ ‚}]],
- [ 3 => [qw{. † ‡ • . § ¶ # . © ® ™ . − × ÷ . ± ² √}]],
- [ 3 => [qw{. å ä ö ü ß . Å æ ø ű ſ}]],
- [ 3 => [qw{. ¿ ç ñ é ê è}]],
-);
-
-print "<h2>Arrows</h2>\n\n";
-print table(@$_) for (
- [ 4 => [qw{. ↖ ↑ ↗ ↔ . ← - → ↕ . ↙ ↓ ↘ -}]],
- [ 4 => [qw{. ⇖ ⇑ ⇗ ⇔ . ⇐ - ⇒ ⇕ . ⇙ ⇓ ⇘ -}]],
- [ 3 => [qw{. ◤ ▲ ◥ . ◀ ◆ ▶ . ◣ ▼ ◢}]],
- [ 3 => [qw{. ◸ △ ◹ . ◁ ◇ ▷ . ◺ ▽ ◿}]],
-);
-
-print "<h2>Line drawing</h2>\n\n";
-print table(@$_) for (
- [ 4 => [qw{. ┌ ┬ ┐ . ├ ┼ ┤ . └ ┴ ┘}]],
- [ 4 => [qw{. ┏ ┳ ┓ . ┣ ╋ ┫ . ┗ ┻ ┛}]],
- [ 3 => [qw{. ┍ ┯ ┑ . ┝ ┿ ┥ . ┕ ┷ ┙}]],
- [ 3 => [qw{. ┎ ┰ ┒ . ┠ ╂ ┨ . ┖ ┸ ┚}]],
- [ 4 => [qw{
- . ╴ ─ ╌ ┄ ┈ ╶ ╾
- . ╸ ━ ╍ ┅ ┉ ╺ ╼
- . ╵ │ ╎ ┆ ┊ ╷ ╿
- . ╹ ┃ ╏ ┇ ┋ ╻ ╽
- }]],
- [ 1 => [qw{. ╱ ╳ ╲ }]],
- [ 4 => [qw{. ╔ ╦ ╗ ═ . ╠ ╬ ╣ ║ . ╚ ╩ ╝ - }]],
- [ 3 => [qw{. ╒ ╤ ╕ . ╞ ╪ ╡ . ╘ ╧ ╛ }]],
- [ 3 => [qw{. ╓ ╥ ╖ . ╟ ╫ ╢ . ╙ ╨ ╜ }]],
-);
-
-print "<h2>Blocks</h2>\n\n";
-print table(@$_) for (
- [ 3 => [qw{. ▘ ▀ ▝ . ▌ █ ▐ . ▖ ▄ ▗ }]],
- [ 3 => [qw{. ░ . ▒ . ▓ }]],
- [ 2 => [qw{. ▛ ▚ ▟ . ▙ ▞ ▜ }]],
- [ 2 => [qw{. ▁ ▂ ▃ ▄ ▅ ▆ ▇ ▔ . ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▕ }]],
- [ 3 => [qw{. □ ▣ ■ . ▤ ▦ ▥ . ▧ ▩ ▨}]],
-);
-
-print "<h2>Signs</h2>\n\n";
-print table(@$_) for (
- [ 8 => [qw{. ¤ ¢ ₥ € £ ₨ $ ¥ . ₫ ₭ ₦ ₱ ₧ ₮ ₩ ₪}]],
- [ 4 => [qw{. ♠ ♡ ♢ ♣ . ♤ ♥ ♦ ♧}]],
- [ 5 => [qw{. ☉ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇}]], # solar
- [12 => [qw{. ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓}]], # zodiac
-);
-
-print "<h2>IPA</h2>\n\n";
-print table(@$_) for (
- [
- 12 => [qw{
- . p p̪ > > t ʈ c k q = ʡ ʔ
- . b 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}]
- ],
-);
-
-print "<h2>Alphabetics</h2>\n\n";
-print table(1,
- [ map { ('.', split //, $_->[1]) } @$_ ],
- [ map { $_->[0] } @$_ ],
-) for [
- [Latin => 'aīıęôɳŋṡšđðƷ'],
- [Cyrillic => 'аійэёнњшщчьЯ'],
- [Greek => 'αίϊηϋπψσςθξΩ'],
- [Hebrew => 'אײיעונןסשטצץ'],
-];