今回は少し目先を変えて「Unicode 正規化(normalization)」のお話。 2羽の「ペンギン」 まず「ペンギン」という文字列を思い浮かべてみる。 この文字列を Unicode のコードポイントで表すと以下のようになる。 ペ:U+30DA ン:U+30F3 ギ:U+30AE ン:U+30F3 ところでペンギンの「ペ」と「ギ」は半濁点および濁点を含む。 Unicode は「ペ」と「ギ」をそれぞれ2つの要素に分解できる。 ペ:U+30D8 + U+309A ン:U+30F3 ギ:U+30AD + U+3099 ン:U+30F3 U+309A および U+3099 はそれぞれ半濁点と濁点を表す「結合文字(combining character)」である。 「ヘ」や「キ」のような「基底文字(base character)」に結合文字を1つ以上1 付加した文字を「合成列(composite