フィンローダのあっぱれご意見番

第81(78)回:機種依存文字

※ 回数の()内は、雑誌連載に表示されているものです。途中でカウントが狂っているようです。

初出: C MAGAZINE 1999年03月号
Updated: 1999-05-27

[一覧] [ホームページ]


機種依存文字って何? 「~」は機種依存文字??

 事の発端はニフティサーブ、FPROGORGの「ROM墓場からの声」という会議室である。IE (Internet Explorer) やNN (Netscape Navigator)というのは機種だというのだ。

 実は何のことかさっぱり分からなったのだが、どうやらソフトウェア、特にブラウザの種類のことを機種と呼ぶらしいのである。この業界、結構長くいると自分では思っているのだが、機種というのは機械、すなわちハードウェアの種類を意味するもので、ソフトウェアに依存することを機種依存と表現するという話は今まで聞いたこともなかったので、とりあえず辞書をひいてみたらこうなっていた。

    機種: 飛行機の種類

 というわけで、FPROGORGでは、Air+CraftもしくはMSフライトシミュレータ以外のソフトに対して「機種」という表現を使うのは誤りである、と頓珍漢なフォローをしてボケてみたわけだが、最近はソフトウェアの種類まで機種と呼ぶというのは知らなかった。それで、そこの所もう少し詳しく、と突っ込んでみたら、さらに「機種依存タグ」という言葉が出てきたのだ。ここでいうタグというのはパソコンに付いている値札のことではない。HTMLのデータ中にある

  <a href="http://www.nifty.ne.jp/forum/fprog/">FPROG</a>
のようなタグのことである。ニ三の質問で分かったのは、どうやらIEとNNで解釈が異なるようなタグのことを「機種依存タグ」と呼ぶのだそうである。聞いたこともない。そこで、一体どこでそんな話が出ているのか尋ねたら、FHPBGNというフォーラムだということがわかった。実はこのフォーラムには開設当時から参加させてもらっているのだが、最近は読むのが追いつかず、ログを集めるだけになっていたため、どのような話題が出ているか知らなかったのである。しかも、気がついた時にはログのサイズが5MBを超えている。こりゃもう読むのが大変というか、一体どこがどうなっているのだか、という感じで、とりあえず、BGNというのはビギナーを対象にするフォーラムのはずだし、そこで「機種という表現はブラウザの種類を意味する」という説明があったのなら、当然根拠のある説明に違いないのであって、間違いなく世間ではそういう言葉の使い方をするということに決まっている。

 もっとも私はそんな表現を聞いたことも見たこともない。というわけで、どうも不審に思うので、Webでも「機種」というのがどのような意味で使われるのか調べてみた。こういう時にはgooInfoseek Japan が役に立つ。ただ、gooは昨年末頃にかなり深刻なトラブルがあって全然使い物にならなかった。1999年になって、問題は解決したというアナウンスがあり、確かに接続したのに応答がない、という障害は発生しなくなったようだ。なのに、困ったことがある。最近「Solaris 2.6」に関する情報を調べようとしたわけだが、これがノーヒットノーランなのである。世界にはSolaris 2.6に関するページは存在しないのだろうか。(*1) そんな訳はないから試しにInfoseek Japanで検索してみると、わんさかヒットしている。どうやら2.6と指定したのがよくないらしい。何か特別な方法があるのかもしれないが、とりあえずInfoseek Japanを使えばうまくいっている、という感じなので、最近はまずInfoseekを使い、うまくヒットしない時にはgoo、という順序で使うことが多くなった。

 ともかく、このような検索ページで「機種」というキーワードを指定すると、それこそ何が何だかわからないほど大量のページがヒットする。皆さんもやってみれば一目瞭然だから特に例を示さない。全部見たわけではないから、ソフトウェアの種類を機種と呼んでいるページが実際にあるのかもしれない。が、その時調べた範囲では、機種というのはのべつくまなく至る所でハードウェアの種類の意味で用いられていた。特に、パソコンの種類、例えばVAIOのどの機種ですか、という質問に対してPCG-505RX、というような使い方をするのである。

 しかし、FHPBGNではソフトウェアも機種だというのだから、世間では多分そういう使い方がどこかにあるのだろう。Infoseekもまだまだ甘い。


 Windows 95が発表された時に、これでソフトウェアが機種に依存せずに使える、ということがさかんにアピールされた。つまり、Windows 95用のソフトなら、NECのPC-98シリーズであっても、DOS/Vパソコン(って何だ?)でも、共通して使うことができる、というのだ。これが本当なら、一本のソフトウェアで複数の機種に対応できることになるから、ソフトウェアを開発する側にとってはメリットがある。ユーザーも、これはどの機種用のソフトか、と頭を悩ませずに済む。

 ソフトウェアが機種だとか、「機種依存タグ」という表現のことは、あまり興味がないので、もし皆さんが興味があるならニフティサーブで実際に尋ねてみて欲しい。それよりも、問題は「機種依存文字」の方である。これはよく見かける。それどころかしばしば見る。ニフティサーブに掲示された文書の中にもたくさん出てくるし、オンラインマニュアルに解説まで出ている。簡単にいえば「各パソコンメーカーが独自に付加した文字」という定義である。ニフティサーブには別の説明も書いてあるのだが、こちらが割と分かりやすいと思うので、その線で話を進めてみよう。独自に付加した文字というのは何なのだろうか?

 実はこの解説にはおまけがあって、いくつか文字が紹介されていて、それらはPC-9801系のパソコンだと見えるけど、他の「機種」の人には見えないというのである。PC-9801系じゃなくてPC-9800系じゃないかとか、PC-9821とかはどうするんだとか、時代が急速に変わっているから何か古文書を読んでいるような気分になるのは仕方ないが、そこは柔軟に適当に解釈して欲しい。しかし問題は、紹介されている「他の機種の人には見えない文字」の一部が、私のパソコンでも、おもいっきり表示されているという事実である。ちなみに、このパソコンはSONYのVAIO PCG-505RXというマシンで、OSはWindows 98が入っている。PC-9801とは何の関係もなさそうだが…。

 まあそれはともかくとして、これらの文字が機種によって表示されないというのは結局どういうことなのか。FPROGでは、JISに文字コードが定義されていないということだと解釈するのが通説である。すなわち、JIS規格という権威のある仕様に従っていれば当然出るはずの文字であれば、JISに準拠した機種を使う限りはそれが表示されるだろう、という善意的解釈をするのである。JISに定義されていない文字は、どのように表示されようと知ったことではない、というわけで、これを機種依存文字と呼んでいいのではないか、というのだが。

 機種依存文字が問題になるというのは、ニフティサーブのようなネット社会では「機種依存文字は使わないようにしよう」というコンセンサスがあるからである。誰が読めるか分からないし、意図が伝達することが保証されない、そのような文字を使うのがモラルとしても望ましくないことは共感を得られるのである。ところが、実際に機種依存文字って何だ、という所にコンセンサスがあるようでないという状態なので、話がとってもややこしくなる。


 C言語では、エスケープ文字として「\」という記号を使うことになっている。これはJISでは円記号が割り当てられているのだが、ASCIIではバックスラッシュが同じコードに割り当てられている。だから、C言語の教科書によっては、「\n」の所を「\n」のように書いてあることがある。割り当てられている文字コードが同じだから、プログラムのコンパイルの妨げになるようなことはないが、こういう細かい差異は混乱を招く原因にならないのだろうか。考えてみたのだが、どうも経験的には、特に混乱を招いているとは全く思えないのである。頭の中のどこかで、バックスラッシュと円記号が同じものであるという前提が埋め込まれているのだろう。実際、いわゆる「JIS準拠」のプラットホームであるなら「\」という表示に統一されていることも、安心して“同じ意味の別表現”とみなせる原因なのだと思われる。

 FPROGでよく問題になるのが「~」である。これはJISではオーバーラインを意味するのだが、なぜか505RX + Windows 98の組み合わせでは、チルダのように見えるような気がする。目がちょっと疲れているのかもしれないが、PC-9800シリーズではこの文字はチルダになっていた。じゃあ、これは機種依存文字なのか、というのが問題になるわけである。

 JISでそうなっている以上、これは誰が何といってもオーバーラインなのだが、最近のJISの改訂で、条件を満たせばこれをチルダの形状で表現しても構わないことになったらしい。これは結構面白い話だ。perlだとこの記号は割とよく使うし、URLの中にだってよく出てくる。もっとも、URLの場合は%7Eと書いた方がいい、という主張もあるのだか。とりあえず、まず絶対にやりたくないものだが、電話でソースの説明をする所などを想像してみると、「そこでオーバーライン」と言っても相手の持っている機種にはオーバーラインのキーがなかったりするかと思うとどうもいまいちである。最近はラジオでURLを読み上げることも多いようだが、「~」は何と読んでいただろうか?

 じゃあ「~」や「\」は機種依存文字かというと、どうも世間ではそう考えていないようなのである。つまり「機種依存文字はネットで使うな」という人が、これらの文字を使ってはいけないと主張することはないし、実際平気で使っている。どうも機種依存文字の実体は利用者依存文字のようである。


(補足)

(*1) その後教えてもらったのだが、gooの場合「"Solaris 2.6"」のように、ダブルクォートで囲んでやればよいことがわかった。また、gooはこの記事の後、さらにイメージチェンジしている。

(フィンローダ ニフティサーブ FPROG SYSOP)


(C) 1999 Phinloda, All rights reserved
無断でこのページへのリンクを貼ることを承諾します。問い合わせは不要です。
内容は予告なく変更することがあります。