ด้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้ (・ω・) ด็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็. ← Unicode 合字 の例 (IE で表示すると、本来のコメント欄の領域を多少はみ出して他の情報に重なります)
Unicode は複雑化されすぎて、普通のプログラマーが理解できる範疇を超えているように思えます。多言語に対応させる場合 Unicode を採用せざるを得ないのですから、絵文字といった余計な拡張を加えて更に複雑化させないでほしいです。合字についても、Unicode の仕様において、ありとあらゆる方向に無限に伸ばせるような仕様にせずに、個数などを限定すれば良かったのではないでしょうか。
私の場合、Unicode について勉強してみたところ、適切に validation するのは極めて難しいことが分かったので、UTF-8 といったUnicode文字集合の符号化方式 を使うのは諦め、EUC-JP を主に使っています。勿論、その場合には多言語化は諦めなくてはなりません。
Webアプリケーションで、UTF-8 などの文字コードを用いた場合、Unicode の合字や制御コードを適切に validation しないと、ページのほぼ全体を変な記号文字で上書きされてまともに表示できなくする、アクセスしただけでブラウザがフリーズする状態にするといったサービス拒否攻撃の被害に遭う恐れがあります。しかしながら、PHP などのWebアプリケーション開発言語において、PHP の制御コード等を適切に validation する関数は用意されていません。
勿論、これはユーザーから入力されたUnicode文字を第三者に出力する全てのネットサービスに言えることで、LINE ではUnicodeの制御文字によってLINEアプリがフリーズしたり起動できなくなったりする所謂「LINEウイルス」の被害が多発しています。また、Windowsの世界でも同様でUnicodeの不正な制御文字を投稿されることによって、Skype・ニコニコ動画・アメーバピグでエラーが発生するといった被害があり、UnicodeCrashGuard といった対策ソフトまで使われている始末です。
ちなみに、このコメント最上部の例は、タイ文字の上に結合用の声調符号を付けたものです。本来、タイ語の声調符号はタイ語の言語文法上複数個付くものではありませんが、Unicode ではそれが許されるので、無限に伸ばして上下のスペースを占有することができてしまうのです(IEで表示する場合)。