[Edit][Create New]
[ IndexPage / ネットとプログラミング / web296 / No58.txt ]

No58.txt

●半角カナと機種依存文字(1回目)

Webページを製作された事のある方なら「半角カナ・機種依存文字は使うな」と
いった助言(命令?)を一度は耳にしたことがあるでしょう。しかしその理由はと
言うとうまく説明できない人が多いのではないでしょうか? ここでは、なぜダメ
と言われるのか、そしてそれは本当にダメなのか、を回を分けて検証していきま
しょう。

まず今回は、半角カナとは一体何なのか、その正体と歴史を見てみましょう。

まず、この「半角カナ」という言葉は俗称だということに注意してください。し
かし、一般に「半角カナ」と言えば、JIS X 0201の文字セットの右半面に現れる
カタカナや記号類のことだと思って間違いないでしょう。

JIS X 0201はその名の通り日本工業規格(JIS)で制定された規格で、ASCII(英語
圏で一般的に使われている文字コード)と非常に良く似ています。1文字を1バイト
で表し(JIS8の場合)、ASCIIのほとんどの文字もASCIIと同じように扱えますが、
カタカナや一部の日本語固有の記号などを、ASCIIの未使用領域(右半面)に定義
した点(など)が異なります。

このJIS X 0201の文字セット中の、ASCIIからの拡張部分が「半角カナ」の正体
です。「半角(印刷用語で和文活字の半分の大きさのこと)」という言葉は、JIS
X 0208(このメルマガの日本語もJIS X 0208です)の日本語文字が1文字あたり2バ
イトを要すのに対し、JIS X 0201カタカナは1バイトしか要しないため、昔のキャ
ラクタ端末でこれらの文字が1:2の幅で表示されていた事から由来しています。

なお、俗称と書きましたが、便宜的にこのシリーズでは「半角カナ」という言葉
を以上の定義で使用することにします(正確に書くと長いし)。

この半角カナ、つまりはJIS X 0201の歴史は古く、制定は1969年(昭和44年)にさ
かのぼります。人類が初めて月に到達し、沖縄の日本返還がやっと決まった年で、
まだ生まれていなかった読者も多いことでしょう(筆者もですが)。

ご存知の通り日本語の表示には、膨大なフォント・データや、複雑な入力用ソフ
トウェアが必要ですが、当時はメモリが非常に高価でそんなものを格納する領域
はとても確保できませんでした。こういった経緯から、せめてカタカナだけでも、
というこの規格は、当時制定されて当然のものであったと思われます。実際、
20年ほど前の国産パソコンには、ほとんどこの文字コード(に類似したもの)が採
用されていたものです。

その後コンピュータは進歩を遂げ、次第に漢字やひらがななどを扱うのが容易に
なってきます。そして日本語文字を定義したJIS X 0208が制定(1978年)されます
が、このJIS X 0208と、JIS X 0201の右半面、つまり半角カナ部分は、当時JIS
の仕様では同時に使うことができませんでした(ASCIIやJIS X 0201の左半面
(Roman Set)は使用可)。

今までJIS X 0201の右半面を活用していたベンダーは、それでは困るというので、
JIS X 0201の両面とJIS X 0208が共存可能な、シフトJISという文字コードを独
自に作りました。シフトJISの仕組みを見ると、半角カナを残すために、符号化
の部分でかなりアクロバティックなことをしているのが分かります(*2)。

さて、ここまでがシフトJISと半角カナの生い立ちです。このシフトJISは、JIS
で定められた規格でないにも関わらず(*3)、種々の理由から、MS-DOSやWindows、
MacOSなど多くのパソコン用OSで採用されています。

今回は全然Webに絡んだ話ができませんでしたが、次回は具体的に、何がどう
「使ってはいけない」とされるのかを解説したいと思います。

(*1)参考: http://www.geocities.com/mogukun/jis/jishist.html
(*2)参考: http://www.kanzaki.com/docs/jcode.html
(*3)シフトJISの符号化法は、一旦JIS X 0208に採用されましたが後に削除され、
現在は「参考」扱いです。