YanaKen's Page TOP YanaKen's BBS
YanaKen's PC Life>復刻・DOS/V面白探し  related sites: FPCUグループ
YanaKenのDOS/V面白探し YanaKen

●第4回 全角文字はなぜアブナいか?

1992年11月10日 by (C) YanaKen(柳澤健二)

●日本語Norton Utilities6.0登場●

 某月某日、株式会社ソフトウェアジャパンからNorton Utilities(以下NUと省略)日本語版のバージョンアップ(4.5→6.0)の案内が到着しました。で、読んでみると、やや、これはうれしい。
 PC98版とDOS/V版を同時発売。従来からの登録ユーザーは、好きな方に同じ価格で乗り換えられるし、両方を注文しても構わないっていうんですね。
 NUは、うっかり削除したファイルの復活、HDDの高速化、その他ディスク/ファイルのメンテナンス百般の機能を、初心者にも扱いやすいユーザー・インターフェースで提供してくれるユーティリティ集。
 わが家では先祖代々……じゃなかった、これまで使ってきた代々のIBM系パソコンでずっと重宝してきたソフトで、DOS5.0/VでUNDELETEなどの便利コマンドがサポートされて以降も、やっぱり使いやすいし画面デザインがぼく好みなので手放せません。
 で、これまでIBM PC系パソコンでは英語版を使い、日本語版はPC98用だけユーザー登録していたぼくにも、晴れてDOS/V対応版を安く購入できる機会が与えられたわけです。
 たとえばPC98とAT互換機の2台のパソコンが手元にあるとすると、PC98用の一太郎があれば、AT互換機に一太郎を入れておく必要はあまりないでしょう。しかしハードディスク高速化ユーティリティなんかは、どちらでも使えた方が明らかに便利。というわけでNUのような脇役型ユーティリティが機種の違いを問わずに使えるというのは、とても素晴らしいことだと思います。

●英語版NUと日本語環境の危険な関係●

 というところで、今まで使っていた英語版NU6.0の話を少ししたいのですが、これが“DOS/V日本語環境で動作してしまう数少ない外国製ソフト”の一つであることは以前にも触れました。が、動作してしまう、というのと安全快適に使えるかどうかは別問題。たとえば次のような点で、このソフトには日本語環境との相性に問題がありました。

1)英語環境との半角キャラクタフォントの違いにより、画面の見栄えが悪い。
 ……これは英語環境で使われる罫線が日本語環境でカタカナに化けることが主因。$FONTXのようなユーティリティを使えば改善できますが、それでも表示できない文字がいくつか残ります。「日本語の全角文字の1バイト目」に重なる文字コードにも英語環境では特殊記号が存在し、日本語環境でそれを半角1文字として表示することは不可能だからです。

2)全角文字を使ったファイル名やディレクトリ名をうまく取り扱えない。
 ……これは、あらかじめそのことを頭に入れて使うならともかく、まったく予備知識なしに使ってしまうと、かなりシビアなトラブルを招きがちな問題点です。
 特にアブナいのは、皮肉にもディスクの健康状態をチェックするプログラム=Norton Disk Doctor(NDD)。これでディレクトリ構造をチェックしている最中に全角文字のファイル名が見つかると、NDDはファイル名やディレクトリー名のエラーが起きているものと誤認して、「問題点を修正しますか?」と聞いてきます。で、思わずYesと答えると……結果は悲惨。ファイルがいくつか消えるぐらいで済めばいいほうで、へたするとディスク全体のディレクトリ構造が破壊されかねないのです。くわばらくわばら。

●分解するとコワさがわかる全角文字●

 もっともこれ、本質的にはNU固有の問題というわけではなく、IBM互換系パソコンで「全角文字」を含むファイル名を使うとトラブルを招きやすいというのは、ずっと以前からある制約の一つなのです。
 たとえばここに「カワウソ.TXT」というファイルがあるとしましょう。国産ソフトの多くは、このファイル名を問題なく取り扱えますが、ただしそれはあくまで「日本語環境では」の話。CHEVやSWITCHで英語環境になった状態では、まずどんなソフトでもこの「カワウソ.TXT」をまともに扱うことはできません。
 なぜなら……実際に試してみると一目瞭然ですが、カタカナの「ソ」は、英語環境ではaの頭に^がついた文字と“\”(バックスラッシュ)という、2つの半角文字に別れて表示されます。で、問題は2バイト目の方の「\」なのですが、これは日本語環境では半角の「\」、つまりディレクトリの区切りをあらわすのと同じ文字コードなのです。
 英語のDOSは、そんなオキテ破りのファイル名がありうるとは知りませんから、このファイル名は「ディレクトリ名プラスファイル名」に区切って解釈されます。結果、COPYやTYPEのような標準コマンドすら「PATH NOT FOUND」(そんなディレクトリは見つからないヨ)というエラーを起こしてしまうのです。
 ほかにも「|」とか「+」とか、なんとなくアブナそうな文字コードが全角文字にはいろいろ含まれています。また、「2バイト目が半角アルファベットの大文字、小文字と重なる全角文字」も、場合によって問題を起こします。海外のソフトの中には、大文字←→小文字の変換を行なったあとでファイル名にアクセスしようとするものが多々あるからです。
 以上をまとめると、なんと全角1字ごとに188分の55もの確率で、日本語ファイル名はトラブルのタネになる(可能性がある)という計算。いやー、あぶない!

●全角ファイル名のトラブル対策●

 この問題の回避方法は、一般ユーザー側からみれば3つ考えられます。

  1. 全角ファイル名を一切使わない。
  2. 全角ファイル名を使っているディスクやディレクトリに、英語環境からはアクセスしない。外国製ソフトを日本語環境で使う場合も同様。
  3. 英語環境や外国製ソフトそのものを、一切使わない。

 本当のところは、国産ソフトでも全角ファイル名処理が省略されている場合があるため、経験豊富なユーザーほどファイル名に全角文字を使わない傾向があります。ぼく自身も「なるべく使わないようにしている」クチですが、ホンネを言えば、
「ただでさえファイル名に使える文字数が少ない上に、日本語を使うことさえできないとは何事だ!」
 という気持ちもあります。また、ソフトによっては専用データファイルに全角文字を使っていて変更不能なケースもあり、どのみち完全に全角ファイル名を排除することはできないのが実情。
 というわけで、とれる対策としては結局1.と2.の中間、つまり、
「全角文字はなるべく使わない。やむをえない場合もなるべく特定のディレクトリにまとめる。また、ファイル名のわかりにくさは、ファイルのコメント表示ユーティリティ(DIREM.EXEというフリーソフトウェアを使っています)などを使って補完する」
 ……のがベストということになります。
 おっと、そうそう、
「ディスクやファイルのチェック、バックアップ、コピーなどの作業は、なるべく日本語環境で日本語対応ソフトを使う」
 というのもありますね。DOS標準のBACKUPでHDDのバックアップをとっている時に「PATH NOT FOUND」なんてことになるとけっこう悲惨ですから。

 そんなわけで……うーむ、今回は「おもしろ探し」というより「悲惨のタネ探し」みたいな話になってしまったけど、でも、「全角文字はなぜアブナいか」をCHEV USひとつで実際に目で確かめられる点は、バイリンガルDOSならではの面白さかもしれませんネ。


このページの先頭に戻る
DOS/V magazine公式サイト Vwalker.com
YanaKen's Page>YanaKen's PC Life>復刻・DOS/V面白探し related sites: FPCUグループ
P
R
P
R
YanaKen's Page本日の当サイト表示回数(主要ページ合計)回 訪問者数