[広告]
声とことばの磯貝メソッド
ヴォイスチェックサービス

03月24日

[開発日記] 波ダッシュ問題

波ダッシュ問題というのがある。有名といえば有名だが、普通の人は知らなくても別に馬鹿にされることはない。検索すれば説明しているページは山ほど出てくるのだが、的を射たページは少ないようなのだ。朗読.netでもまじめに対応しなければいけないと思って、自分なりの解釈を整理してメモしておく。

※後日書いた「よくわかる波ダッシュ問題」の方が纏まっているので、お急ぎの方はそちらをご覧ください。

現象

  1. 波ダッシュが「潤オ」に文字化けする。
    (IEがEUCの0x8FA2B7を受けると「潤オ」と表示する)
  2. 全角チルダが「?」に文字化けする。
    (cgiスクリプト等がユニコードの全角チルダをsjisに変換できずに未定義を意味する「?」を表示する)
  3. Windowsで波ダッシュ〜が逆さ(左から右へ下がって上がる。以下、逆ニョロ)に表示される。
    (Vista以降は正しく表示)

定義

波ダッシュ(WAVE DASH)〜(←これが逆ニョロになっていたらあなたは被害者)
左から右へ上がって下がる波線・ニョロ。
全角チルダ(FULLWIDTH TILDE)~
「Ã」のような文字の上に付くチルダ「~」を全角にしたもの。波ダッシュと同様の波線。何に使うのか不明。せめてニョロが上に位置しているのなら分かるが、真ん中なのだ。
続きを読む
posted by rodoku_ole at 2009-03-24 | Comment(0) | TrackBack(0) | 開発日記

03月28日

[開発日記] 波ダッシュ問題 続編

前記事で「たとえWindowsで表示が崩れても、波ダッシュ(の類)は波ダッシュで統一」という意味の結論を書いた。しかし、やはりと考え直している。このサイトを訪れるのはおもに朗読に関わる人達だろう。その中に正しいコードにこだわる人はほとんどいないはずだ。それよりも、きれいな活字を読み慣れた文学好きの朗読関係者にあの不恰好な逆ニョロは堪えられないのではないかと思う。なので、やはり強制的に全角チルダにしてしまおうかとも考え直している。だいたい全角チルダなんて誰が使うのか。ほぼ100%、波ダッシュのつもりで入力されたものではないか。本来の全角チルダと波ダッシュのつもりの全角チルダとが混在してトラブルになるなどということはないはずだ。

そこで、強制的に全角チルダにする以外に、Windowsで表示が崩れないための手段を考えてみた。

  1. クライアントへの出力時はキャラクタセットをshift_jisにして、波ダッシュだろうが全角チルダだろうが0x8160に変換。
  2. クライアントのOSを調べて、(XP以前の)Windowsなら、&#65374に変換。
  3. &#12316の部分を逆ニョロにならないフォントを指定したタグでくくる。
3番目は駄目みたい。そんなフォント見つからなかった。
1番目はありかもしれない。中はutf-8ですべてU+301C化、外はsjis。どうせ出入口でutf-8フラグを立てたり落としたりするのだからほとんど変わらない。いけるか?

posted by rodoku_ole at 2009-03-28 | Comment(0) | TrackBack(0) | 開発日記