英語の辞書とかに載ってる、/fənétik/ ←みたいなのを書くお話。
いわゆる発音記号(音標文字)というやつをhtmlで書きたいという話である。
さて、ご存知の通り発音記号には普通のアルファベットでは表記できないものもある。インテグラルみたいなやつとか、eがひっくり返ったみたいなやつとか。まずはそういった文字をどう打つかが課題である。幸いなことにHTMLには文字参照というものがあるので、これを使って発音記号を書いていく。
・アルファベットで表せない子音
調べたところ、やたら長ったらしい名前が出てきたので表にまとめた。
音の名前 | 文字 | 数値文字参照 |
---|---|---|
有声軟口蓋鼻音 | ŋ | ŋ |
無声歯摩擦音 | θ | θ |
有声歯摩擦音 | ð | ð |
無声後部歯茎摩擦音 | ʃ | ʃ |
有声後部歯茎摩擦音 | ʒ | ʒ |
つまり、無声後部歯茎摩擦音( インテグラルみたいなやつ! )を打つときにはHTMLソース上で「ʃ」と書けばブラウザにはきちんと ʃ が表示されるという算段である。便利。
・アルファベットで表せない母音
続いては母音である。
音の名前 | 文字 | 数値文字参照 |
---|---|---|
開後舌非円唇母音 | ɑ | ɑ |
半開後舌非円唇母音 | ʌ | ʌ |
準開前舌非円唇母音 | æ | æ |
中段中舌母音/曖昧母音 | ə | ə |
子音のときより更に名前の意味がわけわかめなことになっている。非円唇って何だよ。
ともかく、これで中段中舌母音( eがひっくり返ったやつ! )を打つときは「ə」と打てば ə が表示されるわけだ。
あと、長音記号は「ː」で ː が出てくる。
・アクセント
これで文字の出し方はわかったが、文字の上にシュッと乗っているアクセント記号がないと強勢をどこに置くかわからない。
また、一般に使うアクセントには鋭アクセント(いわゆる第一強勢)と、重アクセント(第二強勢)があるので、それぞれどう出せばいいかを見ていく。
①文字実体参照ができるもの
これはa, e, i, o, u, yの6つとその大文字で使える。英語で鋭アクセントはacute accent, 重アクセントはgrave accentだから、&(母音)acute; や &(母音)grave;と書くことでアクセント記号付きの文字が出せる。
例えば、é を出したければ é で出るし、Ù を出したければ Ù でよい。
②数値文字参照ができるもの
上記以外のアルファベットにも文字コードは用意されているので数値文字参照はできる( ć, ź など)。が、少なくとも英語では子音に強勢を置くことはないのでこれらの文字の出番はほかの言語の時までお預けである。唯一、 ǽ ( ǽ )だけは使える。
③それ以外
それ以外は個別の文字コードが割り当てられていないので、結合文字というものを用いてアクセントを表現する。
実は ́ で鋭アクセントが、 ̀で重アクセントが前の文字に結合してくれる。
例えば、 ə́ を出したければ、「ə́」と打てばよい。実は①②の文字も全部これで解決してしまうのだが、欠点はいちいち2文字分打つ必要があることと、いちいち文字コードを打たなければいけないことだ。アルファベットに限らず、半角文字ならだいたい何でも結合する(環境とフォントにもよるが...)ので、/1́145̀14/ みたいなことをして遊ぶこともできる。
というわけで、これで英語の発音記号は理論上すべてHTMLで記述できるはずである。使いどころはない。
(おまけ)このブログの発音はこう /dʒéidid iléktrik sfíər/