●半角カナと機種依存文字(2回目: 半角カナは使っても良い?)
さて前回は、JIS X 0201の文字セットの右半面、いわゆる半角カナ(以下半角カ
ナ)の歴史をざっと紹介したわけですが、今回は、なぜ半角カナを使ってはいけ
ないと言われるのかについて紹介していきます。
「Web(またはインターネット)では半角カナは使ってはいけない」というのは、
ほとんど常識のように思われていますが、ではなぜかと問われると「文字化けす
るから」としか答えられない方が多いのではないでしょうか?
私は個人的には、技術的な側面においての「インターネットでやっていい、悪い」
は、ひとえに「規格・仕様に沿っているか、いないか」の一点のみで判断される
べきだと思っています。つまり例えば「規格・仕様に沿っているのに文字化けす
る」というのは、規格・仕様および/または実装系(ブラウザやサーバーなど)に
不備があるというだけで「使ってはいけない」とまでは言えないのではないか、
というのが私の考えです。
では、そういった視点から「半角カナの是非」を見てみましょう。
まず、Webの仕様と言えばHTTPですが、現在主流のHTTP/1.1(RFC 2068)を見てみ
ると、利用できるMedia Typeに関してはIANAで登録、管理されていること、それ
以外のMedia Typeは使うべきでないことが明記されています(*1)。HTML4.01でも、
charsetを指定する際は、IANAの登録に従うようにとの記述があります。つまり、
IANAの登録にない文字は「使ってはいけない」わけです。
では今度はIANAのWebサイトを見てみましょう
(http://www.iana.org/assignments/character-sets )。
ここではWebで利用できるcharset(つまり文字セット)の一覧が掲載されています。
つまりここにあるcharsetならどれでも利用可能であるわけです。
ただ、実際には、日本語を扱う場合、ISO-2022-JP、Shift_JIS、EUC-JP、UTF-8
以外を使うことはまずない上、UTF-8はまだそれほど普及していないので、今回
はこのうち、ISO-2022-JPとShift_JIS、EUC-JPについて半角カナの是非について
検証して行きましょう。
まずISO-2022-JPを見てみましょう。前述のIANAのサイトにあるchar-set表を見
ると、
Name: ISO-2022-JP Source: RFC-1468
となっているので、RFC1468( http://www.ietf.org/rfc/rfc1468.txt )を参照し
ます。すると、
ESC ( J JIS X 0201-1976 ("Roman" set) 14
という表現が見つかります。これは半角カナを定義しているJIS X 0201が利用可
能である事を示しています。しかし、("Roman" set)とあるのが気になりますね。
ひょっとして半角カナ部分は使用できないのでしょうか? さらに本文を読み進め
ていくと、
The Kana set of JIS X 0201 is not used in ISO-2022-JP messages.
との一文にぶつかります。何とISO-2022-JPでは、明確に半角カナは「使用でき
ない」と定義されていたのでした。これが現在「半角カナは使うな」と言われる
ようになった最初の要因です(歴史的な部分に関しては回を改めて後述します)。
では、Shift_JISやEUC-JPはどうなのでしょうか? 再度IANAのサイトを参照して
みると、Shift_JISに関しては、
Name: Shift_JIS Source: This charset is an extension of
csHalfWidthKatakana by adding graphic characters in JIS X 0208.
つまり、Shift_JISは、csHalfWidthKatakanaにJIS X 0208を足した文字集合であ
ることが分かります。では、csHalfWidthKatakanaの定義を見てみましょう。す
でに名前からして怪しいですが、
Source: JIS X 0201-1976. One byte only, this is equivalent to JIS/Roman
(similar to ASCII) plus eight-bit half-width Katakana
ここで、「half-width Katakana(半角カタカナ)」という単語が見えます。つま
り、Shift_JISでは半角カナの利用は自由なのです。
EUC-JPはどうでしょうか? やはりIANAの定義を参照すると、
code set 2: Half Width Katakana (a single 7-bit byte set)
今度はいきなり「半角カナ」の記述が見られます。EUC-JPも半角カナは自由に使
える訳です。
さて、ここまで見てきて意外に感じた読者も多いのではないでしょうか? 日本で
多く使われている3種類のcharsetのうち、2つは半角カナを使うことに関して仕
様上の問題は全くないのです。
ではなぜ現在「半角カナは使ってはいけない」とここまで言われるようになった
のか、次回は歴史的な経緯、技術上の理由、便宜上の理由など、色々な角度から
検証していきたいと思います。
(*1)http://www.w3.org/Protocols/rfc2068/rfc2068
3.7 Media Types
Media-type values are registered with the Internet Assigned Number
Authority (IANA). The media type registration process is outlined in
RFC 2048 [17]. Use of non-registered media types is discouraged.