Unicodeと”〜”

foral2004-10-19

話の発端は

    • -

Vine ML
http://search.luky.org/vine-users.6/msg08192.html
ここらへん

OOo discass ML
http://ja.openoffice.org/servlets/ReadMsg?list=discuss&msgNo=7061
ここらへん

      • -

JIS規格では〜はWAVE DASHと規定されているらしい。

資料1より、

JISの規格では「〜」は「波ダッシュ」と記述されており、
文字名称は WAVE DASHと規定されている。

これが本当であるのかは資料が手元にないので検証はできないが、皆さんが言われているのでそうであると考える。

Unicodeの規格でWAVE DASHはU+301Cである。

Unicodeの資料を見ると

U+301C(WAVE DASH)であり、U+FF5E(FULLWIDTH TILDE)である。

であるからしてWAVE DASHである波ダッシュを規定する上では
規格上U+301Cを割り当てるとが規格に準じた実装といえる。

Microsoftの実装は一味違う

Windowsの実装においては
JISで規定されているWAVE DASH(波ダッシュ)に対して
Unicodeでは、U+FF5E(FULLWIDTH TILDE)を割り当てている。

JIS規格とMicrosoftどっちが正しい?

図を見ていただければわかる通り通常われわれが目にしている〜というのはU+FF5E(FULLWIDTH TILDE)に相違ない。
少なくとも私は紙に書くときFULLWIDTH TILDEを書いている。

JIS規格で実際どっちの形状の文字をWAVE DASHとして規定規定しているのか企画書で確認する必要はあるが、Webサイトで見る限り、Microsoftの方が見た目上正しいように感じ、JISの規格に問題があるように思うのは私だけではないだろう。

現実問題

これによって規格に準じた実装をしているソフトとMicorosoftの実装したソフトでは問題が起きてしまう。

301CとFF5Eを指定するのでは違う文字になってしまう上に、WAVE DASHを指定した場合UnicodeのWAVE DASH U+301Cはほとんどのフォントで未定義の語であるためにこの文字だけ※[?]という表記になるか、全く表示されないという事態に陥る可能性が極めて高い。
※〜という物以外にも同様の問題を抱えている記号があるらしい。詳しくは資料2を参照してください。

これからわれわれはどうすればよいのか

  • 少なくとも文字化けをさせないために

フォントにFULLWIDTH TILDEにグリフを追加してもらうしかないだろう。

  • 両対応ソフトにしてもらう

地道だがこれが今言える安易な答えであると思われる。

  • 番外編:規格に準じているソフトを規格に準じないようにしてもらうorその逆

後々のことを考えると規格に準じていないものを排除すべきであると私は考えるが、Windowsなどデファクトスタンダードとなり全世界何万人もが利用しているものを変えるのはなかなか現実的ではない。ビジネス的に考えてもMicrosoftに全くうまみが無いのでやらないと思われる。かといってすべてのほかのソフトを準じないようにするのも現実的ではない。