実務と技術論とイデオロギーをごっちゃにしないでほしい
|コンピュータの業界ではどうしても原理主義に走る人が多いのでよくある話の一例でしかないが。
作業中に、CSSの「URLなど長い単語中で強制改行させる」プロパティの名前を忘れたので調べていた。かんじんのブツは word-break|word-wrap
なのだが、それに触れている blog を読んでカチンと来た。
「すべての禁則処理を無効にする
break-all
は、英単語を途中で改行してしまうため 使うべきではない 」
もうね。アホかと。バカかと。「使うべきではない」じゃないんだよ。そうやって新たな宗教を考えなしに作り出すなよ。
英語が分かち書き言語で、単語間で改行できないことなんざ誰でもわかってる。問題は、実務上、それが必要となるときがあることで、どう対応すべきか、なんだよ。それ以上の「べき・べきでない論」はただの宗教論争であって、技術論を汚すことばでしかない。
現実問題として、欧米諸言語の単語を途中改行できる実装の必要性は高まっている。というのはChromiumを使ったハイブリッドアプリが台頭していて、そこではエディタのような break-all
を要求するものが多い。それに対して「べきでない」などという意味不明の宗教をもってきたら、せっかくいいエコシステムができあがろうとしているのに業界が萎縮してしまう。
こんな非生産的な主張をしてしまうのは、むしろ論者本人が組版について無知だからだ。きちんとした知識のある人間であれば現状のCSSの仕様が実情にそぐわなくて、次のような仕様や実装のいずれかまたはどれもが必要とされていることに気づくはずだ。
- 単語間空白をピクセル単位で調整し段落の両端揃えをおこなう
- 単語の自動ハイフネーションをおこなう
- 分かち書きしない東アジア系文字については、特例の禁則処理以外おこなわない
ちなみに2.以外はIntenet Explorerが10年は前から実装している。「3.はChromiumでも実装してるんじゃないの?」だって? ばか言っちゃいけない。英単語が混在すると約物以外もぶら下がってしまう欠陥実装だ。
「2.なんて難しいだろ」と思われる方へ。欧米言語の自動ハイフネーションアルゴリズムは昔から実装があります。有名どころはTeXで、少数のルールからできるだけ最適なハイフン付け箇所を決定できる。30年前から!
これらの機能は特段奇異な要求ではない。組版上は必須なので、むしろeBookの基盤にもHTMLが使われるようになってますます期待される機能のはずだ。それを「べきでない」などという錦の御旗で思考停止していたら、やがてHTMLやCSSはそっぽを向かれてしまう。・・・XHTMLから何も学ばなかったのか。
コンピュータの世界では、往々にして教条主義的な態度が美徳とされがちだ。でも、インターネットの精神は「受け手は寛容に、送り手は慎重に」に代表される柔軟で実利主義的なもののはずだ(RFCとか読んでね)。半可通で宗教に走る人間は今一度自分の態度を省みてみるべきじゃないだろうか。