波ダッシュはチルダではない
コード変換において、JIS X 0208/0213の波ダッシュ「〜」(1面1区33点、
シフトJISでは8160)をUnicodeの「FULLWIDTH TILDE」(U+FF5E)にうつす実装は
不適切である。適切な変換先はWAVE DASH (U+301C)である。以下に理由を述べ
る。
- JISの規格では「〜」は「波ダッシュ」と記述されており、文字名称は
WAVE DASHと規定されている。よってUnicodeのWAVE DASHに対応すると考える
のが妥当。UnicodeのもとになったJIS X 0208-1990においてもやはり「波ダッ
シュ」であった。チルダではない。
- 区点の並びからも、ダッシュやハイフンのような一般の記述記号の中にあ
り、チルダが属すべきダイアクリティカルマークとは離れている。
- Unicode仕様書のWAVE DASHの説明には「JIS punctuation」と書いてあり、
JISの波ダッシュと対応させる意図がみえる。
- JIS X 0208の拡張であるJIS X 0213ではWAVE DASHとは別にTILDEを追加し
た(1面2区18点)。これは波ダッシュとチルダとは別という文字認識にほかなら
ない。ASCII と同時運用する際(EUC-JISX0213、ISO-2022-JP-3等)にはこの新
設チルダが「FULLWIDTH TILDE」となる。なお、補助漢字JIS X 0212でもやは
りチルダが追加されていたことも参考になる。
- 波ダッシュを縦書きでレンダリングする際、線の両端が上下にくるように
倒した形で表現することは普通に行われている。「〜」を「FULLWIDTH TILDE」
にうつすWindowsにおいてすらそうである。もしこれが本当に「チルダ」であ
るなら、縦書きであろうと向きを変えずにレンダリングしなければならない。
チルダと同種の記号であるダイアレシス「¨」やサーカムフレックスアクセン
ト「^」は縦書きでも横転せずにレンダリングされているのだから。
あるいは、WindowsのUnicodeにおいてはU+FF5EがFULLWIDTH TILDEではなく
WAVE DASHなのだという解釈もあり得る。そうならば上のような矛盾はなくな
る。しかし、そのような「Windows独自のUnicode」が大きな非互換性を産むこ
とは間違いがない。実際、どう解釈するにせよ、Windowsのこの変換表の矛盾
のために、Javaプログラムなどで現に文字化けが生じているのだから。
yano@moon.email.ne.jp