From: Mischa POSLAWSKY Date: Mon, 15 Sep 2008 18:29:25 +0000 (+0000) Subject: unicode: headers for IPA rows and columns X-Git-Tag: v1.2~43 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/740405f2d6d7c60e27d2d168573b38a76d321156 unicode: headers for IPA rows and columns Describe the IPA categories, greatly helping navigation. As an added bonus, it kind of indicates that these are indeed all modern characters, even though consonants are in a slightly different order than seen elsewhere. --- diff --git a/unicode.plp b/unicode.plp index cc45d66..9405bfd 100644 --- a/unicode.plp +++ b/unicode.plp @@ -21,8 +21,10 @@ table { border-collapse: collapse; margin: 1ex; } -td { +tbody td, th { border: 1px solid #888; +} +td { text-align: center; vertical-align: top; margin: 0; @@ -31,9 +33,22 @@ td { small { font-size: 50%; display: block; - width: 3em; + width: 3.2em; + background: #888; + color: #FFF; +} +table { + float: left; +} +h2, h3 { + clear: both; +} +th { + text-align: left; + font-size: 50%; background: #888; color: #FFF; + padding: 0 0.5em; } @@ -58,7 +73,7 @@ sub quote { } sub table { - my ($width, $digraphs) = @_; + my ($width, $digraphs, $rowheads, $colheads) = @_; my @cells; push @cells, sprintf '%s%s', @@ -67,10 +82,22 @@ sub table { $di{ord $_} && sprintf(' %s', $di{ord $_}) for @$digraphs; + if ($rowheads) { + splice @cells, $_ * $width, 0, ''.($rowheads->[$_] || ' ') + for reverse 0 .. $#cells / $width; + $width++; + } + my @rows; push @rows, sprintf '%s', join '', splice @cells, 0, $width, () while @cells; + if ($colheads) { + unshift @rows, sprintf '%s', join '', + map { sprintf '%s', split(/:/, $colheads->[$_], 2) } + 0 .. $width-2; + } + return sprintf "%s
\n", join '', @rows; } @@ -95,8 +122,8 @@ print table(@$_) for ( print "

Signs

\n\n"; print table(@$_) for ( - [ 3 => [qw{▘ ▀ ▝ ▌ █ ▐ ▖ ▄ ▗}]], - [ 3 => [qw{░ ▒ ▓ □ ▣ ■ ▤ ▦ ▥ ▧ ▩ ▨}]], + [ 3 => [qw{▘ ▀ ▝ ▌ █ ▐ ▖ ▄ ▗ ░ ▒ ▓}]], + [ 3 => [qw{□ ▣ ■ ▤ ▦ ▥ ▧ ▩ ▨}]], [ 4 => [qw{♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧}]], [10 => [qw{☼ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇}]], # solar # [12 => [qw{♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓}]], # zodiac @@ -105,29 +132,53 @@ print table(@$_) for ( print "

IPA

\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 - ɭ ʎ ʟ - - - - - ʘ - ǀ ǁ ǃ - ǂ - - - - - - ɓ - ɗ - - - ʄ ɠ ʛ - - - - }]], - [6 => [qw{ - i y ɨ ʉ ɯ u - - ɪ ʏ - ʊ - - e ø ɘ ɵ ɤ o - - - ə - - - - ɛ œ ɜ ɞ ʌ ɔ - æ - ɐ - - - - a ɶ - - ɑ ɒ - }]], + [ + 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}] + ], );