Unicodeでは,複数の文字から1つの文字を合成する仕組みがある。例えば,ヨーロッパの言語で使われているアクセント付きのアルファベットを表現するのに使われる。日本語の濁点/半濁点付きのカタカナ/ひらがなにも,この仕組みがある。例えば,「ぱ」という文字は,「ぱ」(キャラクタ・コードはUTF16で3071)という2バイトの文字と,「は」(同306F)と文字合成用半濁点「゜」(同309A)を組み合わせた4バイト文字の,2種類が存在する。そのため,濁点/半濁点付きの文字を検索する場合,2バイトの単独文字と4バイトの合成文字の両方を検索する必要が出てくるなど,文字列処理が多少面倒になる可能性がある。今回はこの合成文字について,.NETでの処理を調べた。 最初に断っておくが,キーボードからは文字合成用の「゜」(キャラクタ・コードは309A)は入力できない。入力できるのは,キャラクタ・コードが309C