課題3  パソコンにおける日本語処理

出題 弁理士 遠山 勉


 パソコンにおける日本語処理につき、以下の情報に基づいて特許出願用明細書を作成しなさい。
 なお、以下の説明は「DOS/V パソコン家庭教授」(編著:明生システムサービス)を参照したものです。

【設問1】
国産パソコンにおける日本語処理方法につき、以下の情報に基づいて特許出願用明細書を作成しなさい。
 ┌─漢字変換 →ソフトウェア
 国産パソコンの日本語処理─画面に表示→ROM+回路(ハードウェア)
 └─印刷処理 →ソフトウェア

 国産パソコンの日本語処理は、3つの部分からなる。
 第1は、「漢字変換」の部分である。
 漢字変換については、かな漢字変換プログラムというものが用意されており、ソフトウェアで行っている。キーボードから入力された文字をこのプログラムによってかな漢字まじりの文字に変換し、アプリケーションに渡すのである。このかな漢字変換のプログラムは、日本語FEP(フロント・エンド・プロセッサ)と呼ばれる。
 第2は、「日本語の文字をディスプレイ画面に表示する」部分である。
 この部分につき、ディスプレイ画面にスピーディに日本語の文字を表示するため、文字の形を記録したフォントROMと画面表示用の回路を使用するという方法を開発した。つまり、文字を画面に表示する部分では、ハードウェアを使用した。「フォントROM」(または漢字ROM)というのは、漢字、ひらがな、カタカナなど日本語表現用のフォント(字体)をドット(点)の集まりで記憶しているROM(読み出し専用メモリ)のことである。
 第3は、「印刷処理」の部分である。
 パソコンの印刷処理は、最終的にはパソコンの周辺装置であるプリンタで実行されるが、パソコンの内部的にはもちろん印刷処理のためのプログラムによって行われる。プリンタにもフォントROMが内蔵されており、パソコンのプリンタポートから渡されたコードに合致する文字の形をフォントROMから探して印字する。
 したがって、パソコン上のワープロソフトで作成した文書を印字するときの文字のきれいさは、パソコンの責任ではなくプリンタの責任ということになる。つまり、印字される文字のきれいさは、プリンタのフォントROMに記憶されている文字の形の問題である。このように、国産パソコンの日本語処理はハードウェアに依存している部分があり、今までこれが障壁となって外国製のパソコンが日本市場に入ってこれなかった。
 さらに、国産パソコンの日本語処理のメカニズムを詳説する。図1は、国産パソコンにおける日本語入出力のしくみを示したものである。


図1


 第1に、キーボードから文字を入力する。例えば、キーボードから「かわさき」と入力したとしよう。入力された文字「かわさき」は、半角の文字、すなわちカタカナの「カワサキ」に対応するコードの形式でパソコン本体のなかに入る。パソコンの内部では、すべての文字や記号はコードとして扱われるのである。
 第2に、その入力された文字に該当するコードは「FEP」を経由することによって、ひらがなの「かわさき」に該当するコードに変換され、OSであるMS−DOSに渡される。FEPのところで入力された文字のなかに漢字の候補があるときは、その部分が選択された状態(カーソルがかかった状態)になる。
 第3に、MS−DOSからディスプレイ画面へ表示命令が出され、そのコードは、パソコン本体のテキストVRAMというところに納められる。
 VRAMというのは、「ビデオRAM」のことであり、パソコンの画面に表示する文字や図形を蓄えておく専用メモリである。VRAMは主記憶装置とは独立しており、ここに書き込まれた内容はそのままディスプレイ画面に反映される。 国産パソコンのほとんどは、文字だけを表示するVRAMとグラフィックスを表示するVRAMを別々にもっているが、この方式では文字のサイズや書体が制限されてしまうという欠点がある。この文字だけを表示するVRAMを「テキストVRAM」、グラフィックスを表示するVRAMを「グラフィックVRAM」という。
 第4に、テキストVRAMに入った文字のコードは、CRTコントローラによってフォントROMの対応する文字のかたちに変換されディスプレイ画面に表示される。CRTコントローラはパソコンの表示画面の制御を担当するLSIであり、CRTCと呼ばれる。この4段階のプロセスを経て画面に「かわさき」という文字が表示されることになる。もちろん、処理速度が早いので、ユーザから見ればキーボードに入力すると同時に画面に表示されるが、この4つのプロセスは必ず通るのである。
 さて、漢字に変換するために「かわさき」の文字は選択された状態で表示されているので、これから漢字変換のプロセスに入る。
 第5に、漢字変換処理が行われる。つまり、表示されている「かわさき」を「川崎」に変換するプロセスである。
 画面に表示されている「かわさき」は変換できる状態になっているので、キーボードの変換キーを押すと、それがFEPのところでそのコードに該当する漢字のコードに変換され、MS−DOSに渡される。この漢字コードがMS−DOSの表示命令によってディスプレイに表示されるプロセスについてはすでに述べた通りであるが、正しい漢字「川崎」がディスプレイ画面に表示され、その文字が確定されると、はじめてそれがアプリケーションに渡される。
 日本語FEPというのは「デバイス・ドライバ」という特殊なプログラムであり、MS−DOSのファイルの一つであるCONFIG.SYS(コンフィグ・シス)のなかに記述されMS−DOSの一部として機能するプログラムである。
 このように、キーボードから入力された文字がアプリケーションに行く前に奪いとって処理するというところからフロント・エンド・プロセッサと呼ばれるのである。

【設問2】

 DOS/Vパソコンにおける日本語処理方法につき、以下の情報に基づいて特許出願用明細書を作成しなさい。

 DOS/Vにおける日本語処理を理解するには、どうしても覚えなければならないことがいくつかある。そのひとつは「CONFIG.SYS」(コンフィグ・シス)である。
 CONFIG.SYSというのは、MS−DOS、ここではDOS/Vというべきであるが、DOS/Vを使うための細かい設定を記述しておくテキスト・ファイルである。一般的にここでいう細かい設定のことを総称して「環境」という。 このCONFIG.SYSのなかで、日本語環境を設定したり、周辺機器の接続のための手続きをしたり、常駐プログラムを起動したりする。ちなみに常駐プログラムというのは、メモリのなかにずっと待機して呼び出しがあったときだけ動いたり、操作内容を監視していて必要なときだけ動作するプログラムのことで、TSR(Terminate and Stay Resident)と呼ばれる。

 もうひとつ覚えるべきなのは、「デバイス・ドライバ」である。
 パソコンは本体だけでは何もできない。ディスプレイ、プリンタ、CD−ROMなどの周辺装置が必要になる。接続する周辺装置はパソコンを使用する目的や用途によってさまざまな組み合わせがあり、メーカも新しい周辺装置を次々に開発して発売している。
 MS−DOSでは、キーボード、ディスプレイ装置、ディスク装置などの基本的な周辺装置については、「IO.SYS」(アイオー・シス)という特殊なプログラムでサポートしている。その他のマウス、プリンタなどの周辺装置については、ユーザの目的に併せて変更されるので、「デバイス・ドライバ」として設定変更が可能なようにしている。

 デバイス・ドライバの「デバイス」とは周辺装置の意味であり、「ドライバ」とは「運転する」という意味である。したがって、デバイス・ドライバの本来の意味は、「周辺装置を運転するプログラム」という意味になる。このデバイス・ドライバは、このデバイス・ドライバは、DOS/VのCONFIG.SYSのなかに記述することになっているのである(図2)。
 パソコンのプログラムには、ワープロソフトや表計算ソフトのように必要なときに動いてくれれば用が足りるものと、つねに機能していなければならないものとがある。デバイス・ドライバは、明らかに後者のつねに機能していなければならないプログラムに属するのである。したがって、デバイス・ドライバは通常のアプリケーションよりも早くメモリに読み込む必要がある。
 それでは、CONFIG.SYSはどの時点で読み込まれるのであろうか。それを示したのが図3である。


     図2(上)   図3(下)



 パソコンの電源を入れると、ハードウェアのチェックが行われ、ブートプログラムが起動される。このプログラムの目的は、ディスク装置のトラック0、セクタ1にあるプログラムを呼び出すことにある。このプログラムを「IPL」(Initial Program Loader)という。
 IPLはDOS/VのIO.SYSと「MSDOS.SYS」(エムエスドス・シス)という重要部分を読み込むプログラムである。このIO.SYSとMSDOS.SYSの2つのプログラムは、このあと読み込まれる「COMMAND.COM](コマンド・コム)とともにDOS/Vの重要3ファイルと呼ばれている。
 IO.SYSは、ディスクの入出力、キーボードやディスプレイの入出力などパソコンのハードウェアに依存する部分を管理している。ハードウェアを直接操作するため、使っているパソコンごとにIO.SYSは異なる。
 次に、読み込まれるのがCONFIG.SYSである。これにより、DOS/Vの環境設定が行われる。続いてCOMMAND.COMが読み込まれて,DOS/Vのファイルがすべて読み込まれることになる。COMMAND.COMは、ユーザーの意思をDOS/Vに伝えるシェルの役割を有するプログラムである。
ここでは、COFIG.SYSがCOMMAND.COMよりも先に読み込まれることを覚えておくべきである。
 最後に、「AUTOEXEC.BAT」(オートエクッゼック・バット)があれば読み込まれてDOS/Vが起動され、プロンプトが画面に表示される。
 AUTOEXEC.BATというのは、MS−DOSが起動された直後に自動的に実行される特別なバッチ・ファイルのことである。AUTOEXEC.BATにMS−DOSのコマンドやアプリケーションのファイル名を並べておけば、COMMAND.COMが読み込まれた直後に直ちに実行されるのである。

 それでは、以上の基本知識をふまえてDOS/Vの日本語処理のしくみを解明してみることにする。

 DOS/Vの日本語処理は、日本語の扱えない米国版のPC−DOS(IBM版のMS−DOS)をベースに2つのデバイス・ドライバをつけ加えることで実現している。それは次のデバイス・ドライバである。
・JFONT.SYS(日本アイ・ビー・エム社では$FONT.SYS)
 日本語文字フォントを管理し、MS−DOSやアプリケーションにデータを供給する機能を持つデバイス・ドライバ
・JDISP.SYS(日本アイ・ビー・エム社では$DISP.SYS)
  VGA規格を利用して日本語テキスト・グラフィック画面を実現するデバイス・ドライバ
 国産パソコンとDOS/Vパソコンの日本語処理の違いをごく簡単にいうと、国産パソコンがに日本語の文字のかたち(日本語文字フォント)をフォントROMというハードウェアで実現しているのに対し、DOS/VパソコンではDOS/Vを立ち上げるたびに日本語文字フォントをメモリ上にロードして実現しているという点にある。パソコンが32ビットCPU時代になり、主記憶として使えるメモリが豊富になってはじめて実用化された仕組みということができる。

 図4を参照して、DOS/Vパソコンの日本語処理の仕組みを具体的に説明する。


DOS/Vが立ち上がるさいCONFIG.SYSが参照されることについてはすでに述べたが、そのCONFIG.SYSのなかに、JFONT.SYSとJDISP.SYSが記述してあり、それが読み込まれる時点で次の仕事をする。
 通常JFONT.SYSはJDISP.SYS」よりも先に記述されるが、JFONT.SYSはメモリに日本語文字フォントの展開を行う。さらに細かくいうと、JFONT.SYSは、HIMEM.SYSに対してエクステンドメモリに一定の領域の確保を要求し、その領域に日本語文字フォントを格納する。これは国産パソコンのフォントROMに当たると考えてよい。ただ、このフォントは、パソコンの電源を切るとすべて消滅してしまうので、DOS/Vを立ち上げるたびにそのつどメモリ上にフォントの展開を行うことになる。
 HIMEM.SYSは1MB以上のメモリ領域を管理し、確保した領域が他からの書き込みによって内容が変更されないようにガードする役割を有するデバイス・ドライバである。なお、エクステンドメモリとは、主記憶の1MB以上のメモリ領域のことである。このJFONT.SYSの仕事が終わると、これを受けてJDISP.SYSの仕事が始まる。
 まず、コンベンショナリメモリのなかに仮想VRAM(仮想のテキストVRAM)の領域を確保する。コンベンショナリメモリとは、主記憶装置のなかでのも最も中心的な640KBの部分のことである。キーボードから文字が入力されると、JDISP.SYSはそれを受け取ってその文字のコードをこの仮想VRAMに書き込む。
 続いて、JDISP.SYSは、この仮想VRAMに書き込まれた文字コードに対応する日本語文字フォントをJFONT.SYSから受け取って、それをグラフィックVRAMに書き込んでディスプレイに表示するという仕事を繰り返す。
 DOS/Vパソコンでは、640KBから1MBまでの間の領域に日本語フォントを表示するためにグラフィックVRAM領域を設けており、この部分に日本語の文字をグラフィックデータとして(格納し)ディスプレイに表示するのである。


【設問3】
 設問1と2及び以下の図5を参照して、パソコンにおける日本語処理の方法についての特許明細書を作成しなさい。

注:設問1、設問2の処理方法が別々に発明された場合と、同時に発明された場合とでは、自ずと請求項の書き方が異なってくることに注意して下さい。