半角カナは機種依存文字か?

よく、「半角カナは機種依存文字だ」と言う人がいます。しかし半角カナは機種依存文字なのでしょうか?

機種依存文字とは?

そもそも「機種依存文字」という言葉の意味が曖昧です。特定の環境でしか表示できない文字、という定義は一見良さそうですが、たとえば、アメリカにある多くのマシンは日本語の文字をまったく表示できないことでしょう。下手をすると、ASCII 以外の全ての文字が機種依存ということになりかねません。

普通、「機種依存文字」とは、「JISなどの規格によって定義されていない文字」という意味で使われます。JIS規格で定義されている文字ならば、他の環境でも表示されることを期待して良いというわけです。逆に、メーカーが独自に定義した文字は、他のメーカーの機種では表示される保証が全くありません。このようなものを機種依存文字と呼びます。

半角カナは機種依存文字か?

さて、話は戻って半角カナです。半角カナは「JIS X 0201カナ」と呼ばれることがあります。これは当然、JIS X 0201 という JIS規格で定められている文字だからです。すなわち JIS 規格で定められた文字です。

さらには、UCS-2UCS-4 にも半角カナがあります。UCS-2 や UCS-4 は ISO の規格 ISO 10646 で規定されているもので、これは当然、国際規格です(ちなみに国内では JIS X 0221 で規格化されています)。

半角カナは JIS や ISO の規格で定義されている文字ですから、これを「機種依存文字」と呼ぶのは間違いだと断言してしまって良いでしょう。

何故半角カナを「機種依存」と呼ぶ人がいるのか

半角カナが嫌われる理由はいくつかありますが、インターネットメール、ニュースで一般的に使われる ISO-2022-JP で半角カナが扱えない、というのが最大の理由です。

「インターネットでは半角カナは使えない」と言う人もよく見かけますが、「ISO-2022-JPでは」半角カナが扱えないに過ぎません。ISO-2022-JP 以外の文字符号化方式、たとえば Shift_JISEUC-JPUTF-8 などを使えば、半角カナを表現することは可能です(もっとも、これらの文字符号化方式は 8bit コードですから、そのまま SMTP を通すことには問題があります。base64 などで符号化して送れば問題ありません)。

ただし、半角カナを含む文書を ISO-2022-JP に変換しようとすると問題が生じる場合があります。ISO-2022-JP では半角カナが使えないのに、無理矢理に半角カナを表現しようとするソフトウェアがあるのです。半角カナを含むということは ISO-2022-JP ではないのですが、それを ISO-2022-JP だと偽って送ってくることになります。しかし、これは単にそのようなソフトウェアが不作法なのであって、ISO-2022-JP に変換する場合には半角カナは全角に変換すれば良いだけの話です。

ちなみに UTF-7 でも半角カナを表現できますので、UTF-7 を使えばメールでそのまま半角カナを送ることも可能です(受け取り側が UTF-7 を読めれば、の話ですが)。HTML ならば数値文字参照で表現するという手もあります。

もうひとつ半角カナが嫌われる理由として、一部のソフトウェアで半角カナが表示できないことがあります。特に、UNIX 上で使われるテキストエディタの中に半角カナを表示できないものがあって、これが「UNIX で半角カナが表示できない」という誤解のもとになっているようです。これはアプリケーションソフトが半角カナを表示できないだけで、OS の問題ではありません。UNIX 上で日本語を扱う EUC-JP という文字符号化方式では、JIS X 0201 のカナ部分、すなわち半角カナを扱うことが出来るようになっています。

結局、半角カナは?

半角カナを表示できない環境があったとしても、それは単に JIS の規格を満たしていないだけです。海外に行けば「日本語が表示できない」というマシンはたくさんあるでしょうが、何も問題はありません。「半角カナが表示できない」と言うのはそれと同じレベルの話です。

ただ、「半角カナは嫌われることが多い」というのも事実です。半角カナは「機種依存文字」ではないのだけれども、嫌われることが多いので使わない方が良い、と覚えておくと良いと思います。


鳩丸ご意見番

HTML鳩丸倶楽部

水無月ばけら, MINAZUKI Bakera
E-mail: bakera@star.email.ne.jp