ファイルシステムUnicode化の影響

昨今のモダンOS、MacOS XWindows XP以降はファイル名にUnicodeを使っているようだ。
Unicodeは従来のShift_JISなどより広範な文字空間を持つコードセットと認識されていることが多いが、もう一つの特徴として「合成文字の処理」という機能を持ち合わせていることはあまり知られていない。
これは複数の文字を合成して1文字を表示するもので、たとえば濁音を清音+濁点で表すことができる。
ややこしいのは文字コードとして単体で濁点付きのものも併せ持っている点で、じゃあ合成して表示する理由もないんじゃないかと思うのだが、鼻濁音の表記など基本字型に入っていないため必要な場合もあるということで。


Unicodeの採用自体は表記可能な範囲の拡大に通じる大きな前進だと思う。が、ファイルシステムにまでこれを適用したことでちょっとした問題が生じたのも事実だ。
入力した文字が合成文字によるものかそうでないかは、基本的にユーザがコントロールできない。従って、例えば「ぱ」と入力したつもりが内部的には「は+○」で表されているかも知れない(というか、どうも優先的に合成文字を使用しているように思われる)。で、そんなファイルを非Unicodeなシステムに持ってゆくとどうなるか:当然ながら合成文字を処理できないので、バラバラの2文字になって表示……と思いきや濁点部分が表示されずに処理されてしまうようだ。色々と間抜けなだけでなく、ときに問題を引き起こす。先だって某トロピカルフルーツの画像を送付したのだが……いやいや。


まあすべてがUnicodeを扱えるシステムになってしまえば問題も起こるまいが、暫くはちょっとばかり気を付けた方が良いかも知れない。