firefoxのurlライン・ブレーク問題

firefoxでは長すぎるurlは折り返し出来ずに画面からはみ出してしまう。しかしfirefoxのブラウザ・エンジンgeckoは間違えた実装をしている訳ではない。そこでgeckoユニコードの仕様であるUAX#14を使ってurlライン・ブレーク問題を解決しようとしている。しかしこの仕様をブラウザに実装することは現実的ではない。なぜならUAX#14は自然言語を前提にした仕様でどこでライン・ブレークを行うかは文脈に左右される。自然言語にしたところで日本語と中国語を機械的に自動判定するのは難しい。たとえ辞書を使って解決できても問題のURLには辞書が使えないから、これをブラウザに期待するのは無理がある。以上が大体の主意だと思うけれども、geckoはそもそもライン・ブレーク問題を解決するような実装をしていないのであって、UAX#14はさらに間違った方向に行っているのではないか?そもそも他のブラウザができてfirefoxが出来ないのは何故なのだろう?

では、UAX#14とはなんなのか。あれは、Unicodeの仕様である。しかし、CSS3の草案でもこれの利用が推奨されているのみで、これの厳密実装はブラウザは行うべきではないと私は考えている。
何故か。その理由はシンプルで、これだけでブラウザに期待される表示はおそらく不可能である。おそらくUAX#14は通常の自然言語を前提にした仕様と思われる(まだ仕様書を読破できていないので断言はできない)。
そう、よく問題に上げられるURLという書式は単なる記号としての文字の羅列であって、これに自然言語のルールを当てはめてもうまく行かないケースが出てくるはずである。このため、UAX#14はWebデザインのための標準仕様としては力不足の側面がある。

http://www.d-toybox.com/studio/weblog/show.php?mode=single&id=2006081401