オンラインマニュアル
プリンタードライバー
プリンタードライバーについて
もともとMS-DOSはアメリカのマイクロソフト社で開発されたものです。したがって、英語表記のみしか考慮に入れてありませんでした。しかし、日本語には漢字というものがあり、それはアルファベットのように1バイトで表現しきれる量ではありませんでした。
そこで、日本語のMS-DOS(DOS/V)では、日本語を『シフトJISコード』という2バイトコードを使って表現しています。これは、シフトJISコードは、1バイトコードと2バイトコードを区別するためのコードを付加しなくて良いのがその理由です。
しかし、漢字プリンターが作られたのはまだシフトJISコードが一般に広まっていなく、また今のようにパソコンの規格やOS自体が統一化されていない、ROM-BASIC全盛期の頃です。したがって、プリンターでは日本語表記はJISコードで行われています。
しかし、JISコードというのは先ほども説明したように、コードだけでは1バイトコードなのか2バイトコードなのかわかりません。そこで、たとえば、"漢"という文字を印刷するためには、
シフトJISコード JISコード
8A BF → [漢字ON] 34 41 [漢字OFF]
このように変換してから、プリンターに送ってあげなくてはなりません。この、[シフトJISコード]→[漢字ON][JISコード][漢字OFF]の変換を行ってプリンターに送る作業をやってくれるのが『プリンタードライバー』です。
ところで、この[漢字ON]と[漢字OFF]は実際にはどのコードが使われるのでしょう?実はメーカーごとに全然別のコードが使われているのです。ですから、使用するドライバーがプリンターと合っていないと、"漢字が変な記号に化けてしまう"という現象に陥ってしまうのです。特にDOS/Vで標準で入っているドライバーは、ESC/Pというエプソン社で開発されたコード体型のプリンターしかサポートされていません。
そこで、各メーカーごとのドライバーを用意することによってこの問題を解決したのがこの『プリンタードライバー集大成』なのです。
そこで、日本語のMS-DOS(DOS/V)では、日本語を『シフトJISコード』という2バイトコードを使って表現しています。これは、シフトJISコードは、1バイトコードと2バイトコードを区別するためのコードを付加しなくて良いのがその理由です。
しかし、漢字プリンターが作られたのはまだシフトJISコードが一般に広まっていなく、また今のようにパソコンの規格やOS自体が統一化されていない、ROM-BASIC全盛期の頃です。したがって、プリンターでは日本語表記はJISコードで行われています。
しかし、JISコードというのは先ほども説明したように、コードだけでは1バイトコードなのか2バイトコードなのかわかりません。そこで、たとえば、"漢"という文字を印刷するためには、
シフトJISコード JISコード
8A BF → [漢字ON] 34 41 [漢字OFF]
このように変換してから、プリンターに送ってあげなくてはなりません。この、[シフトJISコード]→[漢字ON][JISコード][漢字OFF]の変換を行ってプリンターに送る作業をやってくれるのが『プリンタードライバー』です。
ところで、この[漢字ON]と[漢字OFF]は実際にはどのコードが使われるのでしょう?実はメーカーごとに全然別のコードが使われているのです。ですから、使用するドライバーがプリンターと合っていないと、"漢字が変な記号に化けてしまう"という現象に陥ってしまうのです。特にDOS/Vで標準で入っているドライバーは、ESC/Pというエプソン社で開発されたコード体型のプリンターしかサポートされていません。
そこで、各メーカーごとのドライバーを用意することによってこの問題を解決したのがこの『プリンタードライバー集大成』なのです。
長所
(1)コマンド解析機能
DOS/Vでは先にも述べたように、ESC/Pしかサポートされていません。したがって、
1B 2A 39 8A BF
イメージ印字コマンド イメージデーター
もしESC/P用ドライバーを使って、ESC/Pページプリンターに送ったのなら、ちゃんとこのように解釈してくれます。しかし、もしESC/P用ドライバーを使って、NEC系のプリンターを使う場合には、次のようにPR201系のコードを送る事になります。
1B 4A 31 32 38 30 8A BF
イメージ印字コマンド イメージデーター
しかしながらESC/P用のドライバーはこのようには解釈してくれません。なぜなら、ESC/P用のドライバーは以下のように解釈するからです。
1B 4A 31 32 38 30 8A BF
1/180インチ改行 「280」という文字 「漢」という文字
その結果、 "漢"を2バイト文字だと勘違いして勝手に[漢字ON]3441[漢字OFF]というコードに変換してしまい、実際にプリントされた結果が乱れてしまいます。
ダイナブックEZ425に付いているNECPRT.SYSは元々J-3100用に作られたものです。J-3100では、イメージ印字をするときは、ドライバーに「JISコード変換無効」のコマンドというのを送ってあげることになっています。しかし、付随する一太郎ダッシュは、DOS/V用なのでイメージ印字する前に「JISコード変換無効」というコマンドを送ってはくれません。したがって、もしEZ425でNECプリンターを使うと、先にも述べたように印字が乱れてしまいます。
そこで、このドライバーは、各メーカーごとにプリンターのコマンドを解釈して、JISコード変換をするべきか、しないべきかを自動的に判断してくれます。
また、「JISコード変換無効」という、J-3100専用のコマンドも受け付けますので、J-3100で使うこともできます。
1B 2A 39 8A BF
イメージ印字コマンド イメージデーター
もしESC/P用ドライバーを使って、ESC/Pページプリンターに送ったのなら、ちゃんとこのように解釈してくれます。しかし、もしESC/P用ドライバーを使って、NEC系のプリンターを使う場合には、次のようにPR201系のコードを送る事になります。
1B 4A 31 32 38 30 8A BF
イメージ印字コマンド イメージデーター
しかしながらESC/P用のドライバーはこのようには解釈してくれません。なぜなら、ESC/P用のドライバーは以下のように解釈するからです。
1B 4A 31 32 38 30 8A BF
1/180インチ改行 「280」という文字 「漢」という文字
その結果、 "漢"を2バイト文字だと勘違いして勝手に[漢字ON]3441[漢字OFF]というコードに変換してしまい、実際にプリントされた結果が乱れてしまいます。
ダイナブックEZ425に付いているNECPRT.SYSは元々J-3100用に作られたものです。J-3100では、イメージ印字をするときは、ドライバーに「JISコード変換無効」のコマンドというのを送ってあげることになっています。しかし、付随する一太郎ダッシュは、DOS/V用なのでイメージ印字する前に「JISコード変換無効」というコマンドを送ってはくれません。したがって、もしEZ425でNECプリンターを使うと、先にも述べたように印字が乱れてしまいます。
そこで、このドライバーは、各メーカーごとにプリンターのコマンドを解釈して、JISコード変換をするべきか、しないべきかを自動的に判断してくれます。
また、「JISコード変換無効」という、J-3100専用のコマンドも受け付けますので、J-3100で使うこともできます。
(2)機種依存文字の変換機能
シフトJISコードで、8140h~は「特殊記号」というものが入っています。しかし、この記号はメーカーごとにバラバラに設定してしまいました。その結果、機種によって表示できる記号と表示できない記号ができてしまいました。
たとえば、罫線はDOS/V系とNEC系ではコードが違うし、「まる1」とか「まる2」とか「平米のマーク」などは、J-3100やFMタウンズではでなかったり、さらに、J-3100には「まる禁」とか「IND」とか妙な記号が入っていたりします。
そして、ESC/プリンターはDOS/V系、NECプリンターはNEC系、東芝プリンターはJ-3100系の記号が標準で入っています。
したがって、もしDOS/VパソコンにNECのプリンターをつなげたり、J-3100に東芝以外のプリンターをつけたりすると、画面に表示されるのにプリントすると出ない記号が存在してしまいます。
そこで、このドライバーでは、そういった記号はコードを変換したり、一時的に外字としてプリンターに登録したりして極力画面に出る記号はプリンターにも出るようにしてあります。
たとえば、罫線はDOS/V系とNEC系ではコードが違うし、「まる1」とか「まる2」とか「平米のマーク」などは、J-3100やFMタウンズではでなかったり、さらに、J-3100には「まる禁」とか「IND」とか妙な記号が入っていたりします。
そして、ESC/プリンターはDOS/V系、NECプリンターはNEC系、東芝プリンターはJ-3100系の記号が標準で入っています。
したがって、もしDOS/VパソコンにNECのプリンターをつなげたり、J-3100に東芝以外のプリンターをつけたりすると、画面に表示されるのにプリントすると出ない記号が存在してしまいます。
そこで、このドライバーでは、そういった記号はコードを変換したり、一時的に外字としてプリンターに登録したりして極力画面に出る記号はプリンターにも出るようにしてあります。
(3)外字印刷機能
外字は通常印刷前に前もって転送しなくてはなりませんでしたが、これでは一度プリンターの電源を切ってしまうと消えてしまうほか、電源を入れ直す度に転送しなくてはならず大変面倒でした。
そこで当ドライバーではATOK、もしくはMSIMEの外字ファイルを自動的にプリンターに転送しながら印字できるようにしました。
そこで当ドライバーではATOK、もしくはMSIMEの外字ファイルを自動的にプリンターに転送しながら印字できるようにしました。
短所
印字速度が遅い。しかし、最近のマシン(ペンティアム100以上)では、あくまでもWindows95を快適に動かすだけのパワーがあるので、DOSで、しかもオールアセンブラで作ったソフトがそんなに遅くはならないと思います。
ただ、外字の印刷は1文字打つたびにJFGAIJ.UFOを解析して、プリンターにイメージを送っているので遅くなるのは仕方がないと思います。
ハードウェア割り込み(INT 17h)の中では、通常はDOS割り込み(INT 21h)を使ってはいけないのがルールなのですが、JFGAIJ.UFOをどうしてもオープンしなくてはならず、やむなくDOS割り込みを使っています。したがって TYPE >PRNや[Ctrl][P]キーなどを使って外字印刷するとハングアップしてしまいます。
これは、ATOKが組み込み時にシステム内のメモリに外字を登録してくれない為にやむを得ないのです。
ただ、外字の印刷は1文字打つたびにJFGAIJ.UFOを解析して、プリンターにイメージを送っているので遅くなるのは仕方がないと思います。
ハードウェア割り込み(INT 17h)の中では、通常はDOS割り込み(INT 21h)を使ってはいけないのがルールなのですが、JFGAIJ.UFOをどうしてもオープンしなくてはならず、やむなくDOS割り込みを使っています。したがって TYPE >PRNや[Ctrl][P]キーなどを使って外字印刷するとハングアップしてしまいます。
これは、ATOKが組み込み時にシステム内のメモリに外字を登録してくれない為にやむを得ないのです。
使用方法
まず、プリンタードライバーをハードディスクの適当なディレクトリにコピーしておき、CONFIG.SYS中に設定してください。
例)
NECプリンタードライバーを、MSIMEの外字に対応させながらメッセージを出さずに組み込みます。
DEVICE=\FREESOFT\NPRINTER.SYS /MSIME /NOMES
もちろん、DEVICE=のあとは、\FREESOFT\ではなく、実際にこのファイルのあるディレクトリ名を入れてください。もちろん、DEVICEHIGH=でもかまいません。また、ADDDRVで組み込む事も可能です。
このドライバー集は本数が多い為、できればルートディレクトリではなく、サブディレクトリにまとめて入れておく事をおすすめします。
例)
NECプリンタードライバーを、MSIMEの外字に対応させながらメッセージを出さずに組み込みます。
DEVICE=\FREESOFT\NPRINTER.SYS /MSIME /NOMES
もちろん、DEVICE=のあとは、\FREESOFT\ではなく、実際にこのファイルのあるディレクトリ名を入れてください。もちろん、DEVICEHIGH=でもかまいません。また、ADDDRVで組み込む事も可能です。
このドライバー集は本数が多い為、できればルートディレクトリではなく、サブディレクトリにまとめて入れておく事をおすすめします。
書式
DEVICE=\パス\ドライバー名.SYS [オプション] (またはDEVICEHIGH=)
\パス\ プリンタードライバーのあるディレクトリーを指定します。
ドライバー名 以下のドライバー名が有効です。
NPRINTER.SYS NEC PR201用
EPRINTER.SYS ESC/P用
TPRINTER.SYS 東芝プリンター用
FMPRT.SYS 富士通 PR201/203/204用
SHARPPRT.SYS シャープCZ-8PC2用
LIPS3PRT.SYS LIPSIIIネイティブモード用
EPAGEPRT.SYS ESC/Pageネイティブモード用
オプション
オプション(スイッチ)を指定するときは、必ず/(スラッシュ)を前につけてください。また、ここでは大文字で表記してありますが、小文字でも(大文字と小文字を混ぜて書いても)かまいません。
\パス\ プリンタードライバーのあるディレクトリーを指定します。
ドライバー名 以下のドライバー名が有効です。
NPRINTER.SYS NEC PR201用
EPRINTER.SYS ESC/P用
TPRINTER.SYS 東芝プリンター用
FMPRT.SYS 富士通 PR201/203/204用
SHARPPRT.SYS シャープCZ-8PC2用
LIPS3PRT.SYS LIPSIIIネイティブモード用
EPAGEPRT.SYS ESC/Pageネイティブモード用
オプション
オプション(スイッチ)を指定するときは、必ず/(スラッシュ)を前につけてください。また、ここでは大文字で表記してありますが、小文字でも(大文字と小文字を混ぜて書いても)かまいません。
- /NOMES
-
何もメッセージを出さずにドライバーを組み込みます。最近では組み込むドライバーが多すぎて、組み込みメッセージはかえってわずらわしいので、そんな時に指定します。(後述)
- /UFO
-
ATOK外字自動印字機能を組み込みます。また、機種依存文字をイメージ印字で印字するモードになります。このパラメーターを指定するとフリーエリアが約4KB減少します。
- /MSIME
-
MSIME標準の外字ファイル(GAIJI24.FNT)を自動的に印字するモードになります。/UFOと同じくフリーエリアが約4KB減少します。J-3100モード中はこの指定を無視しますがフリーエリアは減少します。
- /SAFE
-
安全モードになります。改行毎にジョブ開始コードが送られるようになります。LIPS3で指定可能です。ただし、これだと1行プリントする度に改ページしてしまいます。なるべく指定しない方が良いでしょう。
- /NTO
-
No Time Out、つまりタイムアウトを起こさないモードになります。通常、タイムアウトはアプリケーションが監視すべきなのですが外字印字中にや、漢字コードの上位バイトと下位バイトの間に発生したタイムアウトはアプリ側ではどうしようもないので、ドライバー内で発生したタイムアウトは、すべて無限に再送要求されます。もし、途中でプリンターが回復不可能な状態になった場合はコンピューターを強制リセットする必要があります。/UFOや/MSIMEが使えるドライバーで指定可能です。
- /C=10
-
強制10CPIモードになります。ANK:漢字のピッチを1:2で印字することができます。NEC、ESC/P、ESC/Page、LIPS-III、富士通用で指定できます。
- /C=12
-
強制12CPIモードになります。ANK:漢字のピッチを1:2で印字することができます。ESC/P、富士通用で指定できます。
- /C=13.3
-
強制13.3CPIモードになります。ただし、NEC用でこのパラメーターを設定するとESC、CTXシーケンスが無効になります。NEC、ESC/Page、LIPS-IIIで指定できます。
- /P
-
ESC/Pスーパーでは、PR201PL以降に追加された命令を受け付けてくれないので、このオプションをつけることによって、「1Ch`c`」や「1Ch `w`」などの命令がプリンターに行かないようにドライバーでストップさせることができます。ただし、一太郎が動作中には、残念ながらこのスイッチは無効になります。NEC用でのみ指定できます。
ご注意
1.共通
1-1 ハングアップする場合
外字を印字するときは、TYPEのリダイレクト > PRNで印字させようとしたり、[Ctrl][P]を押してからTYPEコマンドで印字させると、ハングアップしてしまいます。すいませんが、外字を含む場合にはPRINTコマンドで印字してください。
これは、INT 17hの割り込みのなかで外字ファイルロードで使ってるINT 21h中にさらにINT 17hが多重にかかるためです。
1-2 文字間ピッチを指定している場合
ANK:漢字を1:2で印字している場合でも、途中でプリンターの電源を切ってしまった場合には最初の1行は1:2にならない場合があります。なるべく、プリンターはスイッチを入れっぱなしにしておいてください。
1-3 機種依存文字を印刷する場合
一部記号では、パソコンの漢字ROMからフォントを転送するため、印字が非常に遅くなってしまいます。また、さらに一部の記号では16ドットフォントを拡大して使いますので、粗くなってしまいます。特殊な記号は「出ないよりマシ」程度に考えてください。特にJ-3100系の記号は東芝プリンター以外にはほとんどプリンターに内蔵されていないし、漢字ROMにも16ドットフォントしか入っていないため、かなりドットが粗くなってしまいます。
1-4 /MSIMEスイッチを指定する場合
今までATOKを使ってて今度から急にMSIMEを使いたい、という方は、/MSIMEスイッチを指定する前に、東芝製DOS/Vの「東芝拡張機能」に含まれる「GAIJIAV」コマンドを使って、JFGAIJ.UFO→GAIJI24.FNTにコンバートしてください。さもないと、外字がすべて豆腐(■)になってしまいます。 /MSIMEは、DOS/V(MS-DOS6.2/V等)専用のコマンドです。DCGAモードや、日英DOS5.0でVEMでご利用の方は、ATOK+/UFOを使ってください。
1-5 その他不具合が発生した場合
当ドライバーはあくまでも、「シフトJISコードを、そのプリンター専用の『漢字IN』+JISコード+『漢字OUT』に変換する」だけのもので、それ以上のものでもそれ以下のものでもありません。(©クワトロ大尉)したがって、なにもオプションをつけないで組み込んだ場合は、純粋に漢字コードの変換だけを制御して、元のINT 17hの割り込みへジャンプしています。
1-6 プリンターが途中で印刷の続行が不可能になった場合
/NTOオプションを指定しているときに、プリンターが復旧不可能な事態に陥ってしまった時は、残念ながら、パソコン本体の電源を切るかリセットしてください。ウィンドゥズ95使用中でどうしてもリセットしたくない場合は、[Ctrl][Alt][Del]を押してDOS窓を強制終了させてください。 それじゃ困る、という場合は、/NTOオプションは指定せず、自力でワークエリアを書き換えて、タイムアウトの時間を長くしてください。
外字を印字するときは、TYPEのリダイレクト > PRNで印字させようとしたり、[Ctrl][P]を押してからTYPEコマンドで印字させると、ハングアップしてしまいます。すいませんが、外字を含む場合にはPRINTコマンドで印字してください。
これは、INT 17hの割り込みのなかで外字ファイルロードで使ってるINT 21h中にさらにINT 17hが多重にかかるためです。
1-2 文字間ピッチを指定している場合
ANK:漢字を1:2で印字している場合でも、途中でプリンターの電源を切ってしまった場合には最初の1行は1:2にならない場合があります。なるべく、プリンターはスイッチを入れっぱなしにしておいてください。
1-3 機種依存文字を印刷する場合
一部記号では、パソコンの漢字ROMからフォントを転送するため、印字が非常に遅くなってしまいます。また、さらに一部の記号では16ドットフォントを拡大して使いますので、粗くなってしまいます。特殊な記号は「出ないよりマシ」程度に考えてください。特にJ-3100系の記号は東芝プリンター以外にはほとんどプリンターに内蔵されていないし、漢字ROMにも16ドットフォントしか入っていないため、かなりドットが粗くなってしまいます。
1-4 /MSIMEスイッチを指定する場合
今までATOKを使ってて今度から急にMSIMEを使いたい、という方は、/MSIMEスイッチを指定する前に、東芝製DOS/Vの「東芝拡張機能」に含まれる「GAIJIAV」コマンドを使って、JFGAIJ.UFO→GAIJI24.FNTにコンバートしてください。さもないと、外字がすべて豆腐(■)になってしまいます。 /MSIMEは、DOS/V(MS-DOS6.2/V等)専用のコマンドです。DCGAモードや、日英DOS5.0でVEMでご利用の方は、ATOK+/UFOを使ってください。
1-5 その他不具合が発生した場合
当ドライバーはあくまでも、「シフトJISコードを、そのプリンター専用の『漢字IN』+JISコード+『漢字OUT』に変換する」だけのもので、それ以上のものでもそれ以下のものでもありません。(©クワトロ大尉)したがって、なにもオプションをつけないで組み込んだ場合は、純粋に漢字コードの変換だけを制御して、元のINT 17hの割り込みへジャンプしています。
1-6 プリンターが途中で印刷の続行が不可能になった場合
/NTOオプションを指定しているときに、プリンターが復旧不可能な事態に陥ってしまった時は、残念ながら、パソコン本体の電源を切るかリセットしてください。ウィンドゥズ95使用中でどうしてもリセットしたくない場合は、[Ctrl][Alt][Del]を押してDOS窓を強制終了させてください。 それじゃ困る、という場合は、/NTOオプションは指定せず、自力でワークエリアを書き換えて、タイムアウトの時間を長くしてください。
2 FMPRT.SYS
FMの熱転写プリンターにて外字や機種依存文字の印刷を行うと、印字が非常に遅くなってしまいます。これはプリンターの外字登録機能がもともと遅いからであって、こればっかりはソフト的にはどうしようもありません。
外字の印刷はあきらめて、/UFO や /MSIMEを外せば、少しはましになります。
3 LIPS3PRT.SYS
プリンターをPR201互換モードに切り替えてPR201コードで漢字を送っているのですが、プリンターの電源を切るか他のモードにしてしまうと、以降の印刷がバケバケになってしまいます。これを防ぐために安全モードでは一行毎にJOB開始を送るのですが、これだと1行毎に改ページしてしまいます。
そこで、改ページするときは、0DH 0AH 0CHを連続で送るようにしてください。そうすることによって、
次に印刷する前に自動的にJOB開始が送られるようになります。
4.EPRINTER.SYS
エプソンのレーザープリンターで印刷する場合、バッファがいっぱいになるとパソコンにBUSY信号ではなく、NOT READY
を返してきてしまいます。したがって外字を連続して印字するときなど、場合によっては外字のフォント転送中にタイムアウトを起こして、文字化けを起こしてしまいます。そのときは、プリンターのタイムアウトの時間を増やすか、/NTOパラメーターを指定してください。
ハードコピードライバー
長所
1.サイズが小さい。
貴重なコンベンショナルメモリーの消費を約2KBに押さえてあり、これによりハードコピードライバーのために一太郎V4.2や一太郎ダッシュが起動できなくなったなどということが少なくなりました。
2.外せる。
従来のハードコピードライバーでは、一度組み込んでしまうと外せなくなるため、ソフトごとにハードコピードライバーを組み込んだり組み込まなくしたりできませんでした。当ソフトでは、ハードコピードライバーを外せるため、テキストハードコピーに戻すことも可能になりました。
3.『両方向印字モード』を搭載。
往復印字による歪みの少ないプリンターでは高速に印字することができます。
4.『自動改ページモード』を搭載。
レーザープリンターなどでいちいち用紙排出ボタンを押す手間がなくなりました。
5.組み込んだまま切り替えられる。
DOS/V上で「JDRIVER」や「じぇいさん」などを使用して頻繁に画面モードを切り替えたり、また、J-3100上で「VEM」や「CHEJ」を使用して頻繁に画面モードを切り替えたりしてもドライバーの方で自動判断します。
とくに「じぇいさん」を使っている方からご好評の声を聞いております。
6.組み込み中でもオプションスイッチが変更できる。
両方向モードから片方向、改ページモードのON/OFFなどは、いつでもコマンドライン上やバッチ処理上から変更できるので,ソフトごとに設定を変えたい場合などに便利です。
貴重なコンベンショナルメモリーの消費を約2KBに押さえてあり、これによりハードコピードライバーのために一太郎V4.2や一太郎ダッシュが起動できなくなったなどということが少なくなりました。
2.外せる。
従来のハードコピードライバーでは、一度組み込んでしまうと外せなくなるため、ソフトごとにハードコピードライバーを組み込んだり組み込まなくしたりできませんでした。当ソフトでは、ハードコピードライバーを外せるため、テキストハードコピーに戻すことも可能になりました。
3.『両方向印字モード』を搭載。
往復印字による歪みの少ないプリンターでは高速に印字することができます。
4.『自動改ページモード』を搭載。
レーザープリンターなどでいちいち用紙排出ボタンを押す手間がなくなりました。
5.組み込んだまま切り替えられる。
DOS/V上で「JDRIVER」や「じぇいさん」などを使用して頻繁に画面モードを切り替えたり、また、J-3100上で「VEM」や「CHEJ」を使用して頻繁に画面モードを切り替えたりしてもドライバーの方で自動判断します。
とくに「じぇいさん」を使っている方からご好評の声を聞いております。
6.組み込み中でもオプションスイッチが変更できる。
両方向モードから片方向、改ページモードのON/OFFなどは、いつでもコマンドライン上やバッチ処理上から変更できるので,ソフトごとに設定を変えたい場合などに便利です。
短所
1.カラーの使い分けがうまくない。
VGAは16色同時発色ですが、カラーコード0~15の順にドットの密度を薄くしてるだけでタイルパターンを判断するようなことはしていません。そのため、アニメCGのようなタイルパターンを使ってる画像のハードコピーはあまり綺麗にプリントされません。
また、パレットを変更することで32768色中16色表示させる事ができますが、そこまでは判断していないので、パレットレジスタを変更している画面は画面とは違った感じで印刷されてしまいます。
2.機種依存性が高い。
これは、DOS/VのBIOSではテキストモード中にドットが読めないのでI/Oポートを操作した後、ビデオRAMをリードしているため、このルーチンに非対応の画面モード(V-TEXTとか)だと印字できない場合があります。
なお、対応している画面モードは、以下のモードとなっております。
03H 640*480 DOS/V日本語テキストモード
64H 74H 640*400 J-3100モノクロモード
65H 75H 640*400 J-3100カラーモード
もちろん「じぇいさん」の仮想DCGAにも対応しています。
3.印字が超遅い。
これは、常駐サイズが小さいことと裏返しでして、純正ドライバーのようにバッファをたっぷりとらずに、1ドットごとにいちいちカラーを判別して4ドットに分解しているため、CPUの遅いマシンでは印字が遅く、業務用アプリの使用には耐えられないかもしれません。
また、J-3100モードではBIOSでドットをリードしているため、環境に依存しなくはなったのですが、このBIOSがやたら遅いので印刷も遅くなってしまいました。
でも、ペンティアムマシン+マッハジェットプリンターなどで使うと、全く問題にならないぐらい高速に印字されましたので、今となってはあえて古いマシンを使わない限りは問題にはならないでしょう。
4.他の人の作ったハードコピーソフトと比べると。
(1)余白の量が指定できない
(2)印字結果があまり綺麗じゃない
(3)遅い
(4)コピー倍率が指定できない
等の点で負けていますが、これは私の力量不足の為なので諦めて下さい。
VGAは16色同時発色ですが、カラーコード0~15の順にドットの密度を薄くしてるだけでタイルパターンを判断するようなことはしていません。そのため、アニメCGのようなタイルパターンを使ってる画像のハードコピーはあまり綺麗にプリントされません。
また、パレットを変更することで32768色中16色表示させる事ができますが、そこまでは判断していないので、パレットレジスタを変更している画面は画面とは違った感じで印刷されてしまいます。
2.機種依存性が高い。
これは、DOS/VのBIOSではテキストモード中にドットが読めないのでI/Oポートを操作した後、ビデオRAMをリードしているため、このルーチンに非対応の画面モード(V-TEXTとか)だと印字できない場合があります。
なお、対応している画面モードは、以下のモードとなっております。
03H 640*480 DOS/V日本語テキストモード
64H 74H 640*400 J-3100モノクロモード
65H 75H 640*400 J-3100カラーモード
もちろん「じぇいさん」の仮想DCGAにも対応しています。
3.印字が超遅い。
これは、常駐サイズが小さいことと裏返しでして、純正ドライバーのようにバッファをたっぷりとらずに、1ドットごとにいちいちカラーを判別して4ドットに分解しているため、CPUの遅いマシンでは印字が遅く、業務用アプリの使用には耐えられないかもしれません。
また、J-3100モードではBIOSでドットをリードしているため、環境に依存しなくはなったのですが、このBIOSがやたら遅いので印刷も遅くなってしまいました。
でも、ペンティアムマシン+マッハジェットプリンターなどで使うと、全く問題にならないぐらい高速に印字されましたので、今となってはあえて古いマシンを使わない限りは問題にはならないでしょう。
4.他の人の作ったハードコピーソフトと比べると。
(1)余白の量が指定できない
(2)印字結果があまり綺麗じゃない
(3)遅い
(4)コピー倍率が指定できない
等の点で負けていますが、これは私の力量不足の為なので諦めて下さい。
使用方法
ハードコピードライバーをパスの通ったディレクトリにコピーします。そして、AUTOEXEC.BAT中にハードコピードライバーのファイル名を指定してください。パソコン起動時に組み込みメッセージが表示され自動的に使用可能になります。もちろん、コマンドライン上から直接組み込むことも出来ます。
例)
PR201用ハードコピードライバーを、メッセージを出さずに2回に1回改ページモードにして読み込みます。
GRAPH201 /K2 /NOMES
あとは普通にパソコンを使用してください。プリンターは印字ができる状態にしておいてください。そして、画面をコピーしたい場面で、[Print Screen]キーを押してください。画面が印字されます。
画面のコピー実行時は改行ピッチ等が新たに設定されますが、終了時はプリンタは以下のモードに再設定されます。したがって、改行ピッチを変更しているソフトを実行中にはハードコピー割り込みをかけない方が無難でしょう。
・両方向印字モード
・改行単位=1/6インチ
例)
PR201用ハードコピードライバーを、メッセージを出さずに2回に1回改ページモードにして読み込みます。
GRAPH201 /K2 /NOMES
あとは普通にパソコンを使用してください。プリンターは印字ができる状態にしておいてください。そして、画面をコピーしたい場面で、[Print Screen]キーを押してください。画面が印字されます。
画面のコピー実行時は改行ピッチ等が新たに設定されますが、終了時はプリンタは以下のモードに再設定されます。したがって、改行ピッチを変更しているソフトを実行中にはハードコピー割り込みをかけない方が無難でしょう。
・両方向印字モード
・改行単位=1/6インチ
書式
GRAPH×××
[オプション]
×××の部分は、使用するプリンターに合わせて指定して下さい。(例:GRAPH201)現在対応しているのは、以下のプリンターです。
GRAPH201 ... NEC PR201プリンター
GRAPHES ... ESC/P系プリンター
GRAPHFM ... 富士通系プリンター
GRAPHTO ... 東芝系プリンター
GRAPHSH ... シャープ系プリンター
GRAPHLP3 ... キヤノンLIPS-III系プリンター
GRAPHEPG ... エプソンESC/Page系プリンター
オプション
/?
簡単な説明が表示されます。
/R
ドライバーを外し、メモリーを解放します。ただし、PRINTなどの常駐コマンドを使用した後では外すことはできません。
/B
白黒反転で印字します。白っぽい画面を印字するときに指定してください。/W 往復印字モードにします。通常往復印字にすると、プリンタの印字位置は 多少ズレてしまうのですが、最近のプリンターは性能が向上しているため ズレの少ないプリンターを使用されてる方には便利なモードになるでしょう。
このスイッチは、GRAPH201、GRAPHES、GRAPHTOで有効です。
/K
自動改ページモードにします。ハードコピー1回毎に改ページコマンドがプリンターに送られます。レーザープリンターや水平インサートプリンターを使用している場合に指定します。
/K2
2枚印刷するごとに、1回改ページします。これは、A4縦に印字するときに、ちょうど2枚ずつ印刷するとぴったりだからです。PR201プリンターなど解像度の低いプリンターでは、このスイッチが指定されると改行幅が、前の行に1ドット重なるほど狭くなり、また24ライン目が印字されなくなります。これは、こうしないとはみ出るからです。
/S
組み込み時に、どのオプションが有効になった、なっていないかの追加情報を表示します。
/N
ネットワークプリンターの為にと思い、出力時の装置番号を1にします。(通常は0)しかし、実際にはこれでもネットワークプリンターでは印刷ができなかったという報告をいただいております。
/F
2回に1回改ページモード中に、奇数枚数印刷したい時には、最後にこのスイッチを指定して改ページカウンターを初期化します。
/M
無階調モードにします。このスイッチをつけることによって、黒以外のドットをすべて、一番濃い点で印字することができます。青地に白い文字の画面などは、印刷すると真っ黒になるので注意してください。
/V
バイナリモードで送信します。アスキーモードと比べて2倍の速度で印字できます。LIPS-III用のGRAPHLP3でのみ有効です。
/E
EPSON Remoteに対応させます。プリンターがESC/PやESC/PSの状態でも、ESC/Pageでハードコピーを取る事ができます。もちろん、GRAPHEPG専用です。ただし、このオプションは、/K もしくは /K2 と併用して初めて有効になります。なぜなら、EPSON Remoteでモードを切り替えると強制的に改ページされてしまうので、自動改ページ中でないとこのコマンドが送れないからです。
/53SE
自動改を沖電気製の、Microline 5320SEに対応させます。通常5320SEでは改ページコードでは単票用紙が排出されず奥に吸い込まれるだけという仕様なのですが、このオプションをつけることにより、改ページコードの代わりに、用紙排出コマンドが送られます。もちろん、/K や /K2と併用して初めて効果があります。5320SEに限らずシードフィーダーを使用している場合もこのオプションを使うと良いでしょう。これはGRAPHES専用のオプションです。
/NOMES
メッセージを一切表示せずに、ドライバーを組み込みます。
すでに組み込まれている状態で起動したときは、現在のモードを表示します。/B /W /K /N オプションには、その前に無効にするスイッチを指定することができます。例えば、 /-K のように -(ハイフン)をつけると、そのスイッチを無効にすることができます。
/Fと他のスイッチを指定したときは、/Fのみが有効になります。ただし、/?だけは最優先して有効になります。/Fと/?は他のスイッチと併用しないで下さい。
そのドライバーでは通用しないスイッチを指定すると「パラメーターが無効です」というエラーメッセージが表示され、どのスイッチがいけないのかが表示されます。(この辺は標準のDOSコマンドと一緒です。)
×××の部分は、使用するプリンターに合わせて指定して下さい。(例:GRAPH201)現在対応しているのは、以下のプリンターです。
GRAPH201 ... NEC PR201プリンター
GRAPHES ... ESC/P系プリンター
GRAPHFM ... 富士通系プリンター
GRAPHTO ... 東芝系プリンター
GRAPHSH ... シャープ系プリンター
GRAPHLP3 ... キヤノンLIPS-III系プリンター
GRAPHEPG ... エプソンESC/Page系プリンター
オプション
/?
簡単な説明が表示されます。
/R
ドライバーを外し、メモリーを解放します。ただし、PRINTなどの常駐コマンドを使用した後では外すことはできません。
/B
白黒反転で印字します。白っぽい画面を印字するときに指定してください。/W 往復印字モードにします。通常往復印字にすると、プリンタの印字位置は 多少ズレてしまうのですが、最近のプリンターは性能が向上しているため ズレの少ないプリンターを使用されてる方には便利なモードになるでしょう。
このスイッチは、GRAPH201、GRAPHES、GRAPHTOで有効です。
/K
自動改ページモードにします。ハードコピー1回毎に改ページコマンドがプリンターに送られます。レーザープリンターや水平インサートプリンターを使用している場合に指定します。
/K2
2枚印刷するごとに、1回改ページします。これは、A4縦に印字するときに、ちょうど2枚ずつ印刷するとぴったりだからです。PR201プリンターなど解像度の低いプリンターでは、このスイッチが指定されると改行幅が、前の行に1ドット重なるほど狭くなり、また24ライン目が印字されなくなります。これは、こうしないとはみ出るからです。
/S
組み込み時に、どのオプションが有効になった、なっていないかの追加情報を表示します。
/N
ネットワークプリンターの為にと思い、出力時の装置番号を1にします。(通常は0)しかし、実際にはこれでもネットワークプリンターでは印刷ができなかったという報告をいただいております。
/F
2回に1回改ページモード中に、奇数枚数印刷したい時には、最後にこのスイッチを指定して改ページカウンターを初期化します。
/M
無階調モードにします。このスイッチをつけることによって、黒以外のドットをすべて、一番濃い点で印字することができます。青地に白い文字の画面などは、印刷すると真っ黒になるので注意してください。
/V
バイナリモードで送信します。アスキーモードと比べて2倍の速度で印字できます。LIPS-III用のGRAPHLP3でのみ有効です。
/E
EPSON Remoteに対応させます。プリンターがESC/PやESC/PSの状態でも、ESC/Pageでハードコピーを取る事ができます。もちろん、GRAPHEPG専用です。ただし、このオプションは、/K もしくは /K2 と併用して初めて有効になります。なぜなら、EPSON Remoteでモードを切り替えると強制的に改ページされてしまうので、自動改ページ中でないとこのコマンドが送れないからです。
/53SE
自動改を沖電気製の、Microline 5320SEに対応させます。通常5320SEでは改ページコードでは単票用紙が排出されず奥に吸い込まれるだけという仕様なのですが、このオプションをつけることにより、改ページコードの代わりに、用紙排出コマンドが送られます。もちろん、/K や /K2と併用して初めて効果があります。5320SEに限らずシードフィーダーを使用している場合もこのオプションを使うと良いでしょう。これはGRAPHES専用のオプションです。
/NOMES
メッセージを一切表示せずに、ドライバーを組み込みます。
すでに組み込まれている状態で起動したときは、現在のモードを表示します。/B /W /K /N オプションには、その前に無効にするスイッチを指定することができます。例えば、 /-K のように -(ハイフン)をつけると、そのスイッチを無効にすることができます。
/Fと他のスイッチを指定したときは、/Fのみが有効になります。ただし、/?だけは最優先して有効になります。/Fと/?は他のスイッチと併用しないで下さい。
そのドライバーでは通用しないスイッチを指定すると「パラメーターが無効です」というエラーメッセージが表示され、どのスイッチがいけないのかが表示されます。(この辺は標準のDOSコマンドと一緒です。)
注意
PRINT など、INT 5Hの割り込みベクタを変更してしまうコマンドを使った場合には、外したり、モードを変更することができない他、ドライバーが多重に常駐してしまい、メモリの無駄になるので注意してください。
ハードコピーの印字結果が途中で乱れてしまうことがあります。これは、JPRINTER.SYSなどのメーカー製ドライバーを使っている場合に起こります。このハードコピードライバーは使う場合は、プリンタードライバーもメーカー製ではなく同梱ものもを使ってください。
ハードコピー中に[Print Screen]キーをパッカンパッカンでもポッコンポッコンでも、ビシバシビシバシでも、好きなだけ押して構いません。(でも、ずーーーと数十秒間も押しっぱなしにされると、さすがに誤動作しますのでおやめください)
ハードコピー終了時にいったんキーバッファを初期化しますので、ハードコピー中にとりあえず次のコマンドを前もって入力しておこうとしても駄目です。これは、こうしないと[Print Screen]を長く押しちゃってキーリピートさせちゃって、あとで何枚も何枚も印刷されちゃう可能性があるからです。
ハードコピーの印字結果が途中で乱れてしまうことがあります。これは、JPRINTER.SYSなどのメーカー製ドライバーを使っている場合に起こります。このハードコピードライバーは使う場合は、プリンタードライバーもメーカー製ではなく同梱ものもを使ってください。
ハードコピー中に[Print Screen]キーをパッカンパッカンでもポッコンポッコンでも、ビシバシビシバシでも、好きなだけ押して構いません。(でも、ずーーーと数十秒間も押しっぱなしにされると、さすがに誤動作しますのでおやめください)
ハードコピー終了時にいったんキーバッファを初期化しますので、ハードコピー中にとりあえず次のコマンドを前もって入力しておこうとしても駄目です。これは、こうしないと[Print Screen]を長く押しちゃってキーリピートさせちゃって、あとで何枚も何枚も印刷されちゃう可能性があるからです。
カラーハードコピードライバー
長所
...ない。自慢になるような機能はありません。どっちかって言うと、欠点ばかり目立ってしまいました。強いて挙げれば、色々なメーカーのカラープリンターを買い込んで多数のメーカーに対応した、という事でしょうか。
短所
1.パレットをサポートしていない。
VGAではパレットレジスタを操作する事で32768色中16色を表示させたりできるのですが、当ドライバではそこまで考慮されていません。なので、写真やCGは画面とは違う色で出てしまうと思います。
一応、画面の色数がさほど多くないDOS用のビジネスソフトの画面をコピーする事を想定していますので、写真やCGは別途Windowsなどで印刷してください。
2.遅い。
通常、カラー画面を印刷する場合、RGBそれぞれのVRAMをYMCに展開するためのバッファを用意するものですが、当ドライバーではDOSの貴重なコンベンショナルメモリーを節約するために、1行分のバッファしか取ってないため、ドット1列ずつバッファを入れ替えるため、内部の処理が低速です。
また、DOS時代のカラー熱転写プリンターは、1行印刷するにつきリボンがYMCそれぞれ1回ずつ通過するのでさらに低速です。
3.使えないプリンターが多い。
かつてROM-BASICやMS-DOSが全盛の時代は、大抵はプリンターにコマンドリファレンスがついてくるため、ドライバーを自作するのも楽だったのですが、最近のプリンターはAPIが非公開で、Windows用ドライバーしか対応してない場合が多いです。といいますか、最近のハードの説明書は、本当に使い方の説明だけで技術的なことはほとんど書かれてないです。
VGAではパレットレジスタを操作する事で32768色中16色を表示させたりできるのですが、当ドライバではそこまで考慮されていません。なので、写真やCGは画面とは違う色で出てしまうと思います。
一応、画面の色数がさほど多くないDOS用のビジネスソフトの画面をコピーする事を想定していますので、写真やCGは別途Windowsなどで印刷してください。
2.遅い。
通常、カラー画面を印刷する場合、RGBそれぞれのVRAMをYMCに展開するためのバッファを用意するものですが、当ドライバーではDOSの貴重なコンベンショナルメモリーを節約するために、1行分のバッファしか取ってないため、ドット1列ずつバッファを入れ替えるため、内部の処理が低速です。
また、DOS時代のカラー熱転写プリンターは、1行印刷するにつきリボンがYMCそれぞれ1回ずつ通過するのでさらに低速です。
3.使えないプリンターが多い。
かつてROM-BASICやMS-DOSが全盛の時代は、大抵はプリンターにコマンドリファレンスがついてくるため、ドライバーを自作するのも楽だったのですが、最近のプリンターはAPIが非公開で、Windows用ドライバーしか対応してない場合が多いです。といいますか、最近のハードの説明書は、本当に使い方の説明だけで技術的なことはほとんど書かれてないです。
使用方法
基本的には、モノクロハードコピールーチンと同じです。ハードコピードライバーをパスの通ったディレクトリにコピーします。そして、AUTOEXEC.BAT中にハードコピードライバーのファイル名を指定してください。パソコン起動時に組み込みメッセージが表示され自動的に使用可能になります。もちろん、コマンドライン上から直接組み込むことも出来ます。
書式
COLOR×××
[オプション]
×××の部分は、使用するプリンターに合わせて指定して下さい。(例:COLORFM)現在対応しているのは、以下のプリンターです。
COLOR201 ... NEC系プリンター
COLORES ... ESC/P系プリンター
COLORFM ... 富士通系プリンター
COLORSH ... シャープ系プリンター
×××の部分は、使用するプリンターに合わせて指定して下さい。(例:COLORFM)現在対応しているのは、以下のプリンターです。
COLOR201 ... NEC系プリンター
COLORES ... ESC/P系プリンター
COLORFM ... 富士通系プリンター
COLORSH ... シャープ系プリンター
/?
簡単な説明が表示されます。
/R
ドライバーを外し、メモリーを解放します。ただし、PRINTなどの常駐コマンドを使用した後では外すことはできません。
/B
反転色で印字します。白っぽい画面を印字するときに指定してください。
/W
往復印字モードにします。このスイッチは、COLORESで有効です。
/K
自動改ページモードにします。ハードコピー1回毎に改ページコマンドがプリンターに送られます。
/K2
2枚印刷するごとに、1回改ページします。これは、A4縦に印字するときに、ちょうど2枚ずつ印刷するとぴったりだからです。
/S
組み込み時に、どのオプションが有効になった、なっていないかの追加情報を表示します。
/F
2回に1回改ページモード中に、奇数枚数印刷したい時には、最後にこのスイッチを指定して改ページカウンターを初期化します。
/NOMES
メッセージを一切表示せずに、ドライバーを組み込みます。
あとは、モノクロハードコピードライバー(GRAPH×××)と同様ですので、詳しくはそちらを御覧下さい。
簡単な説明が表示されます。
/R
ドライバーを外し、メモリーを解放します。ただし、PRINTなどの常駐コマンドを使用した後では外すことはできません。
/B
反転色で印字します。白っぽい画面を印字するときに指定してください。
/W
往復印字モードにします。このスイッチは、COLORESで有効です。
/K
自動改ページモードにします。ハードコピー1回毎に改ページコマンドがプリンターに送られます。
/K2
2枚印刷するごとに、1回改ページします。これは、A4縦に印字するときに、ちょうど2枚ずつ印刷するとぴったりだからです。
/S
組み込み時に、どのオプションが有効になった、なっていないかの追加情報を表示します。
/F
2回に1回改ページモード中に、奇数枚数印刷したい時には、最後にこのスイッチを指定して改ページカウンターを初期化します。
/NOMES
メッセージを一切表示せずに、ドライバーを組み込みます。
あとは、モノクロハードコピードライバー(GRAPH×××)と同様ですので、詳しくはそちらを御覧下さい。
注意
PR201系のプリンターは元々解像度が低いので改行幅をなるべく詰めて印字していますので、カラーが重なって色合いが変になることもありますが、その辺は仕様ですのでバグではありません。
ただし、NEC用だけは、黒リボンに対応しているので、黒い線がくっきりと出るので他のよりは輪郭などがはっきり印字されると思います。
もしバグがありましたら、それは完全にデバッグ不足が原因です。なにしろ、カラー熱転写プリンターはリボンの寿命が短く、1本のリボンで5画面印刷できればいい方でして、しかも今ではリボンが入手困難な上高価なため、そうそう何度もデバッグできないのが現状です。
ただし、NEC用だけは、黒リボンに対応しているので、黒い線がくっきりと出るので他のよりは輪郭などがはっきり印字されると思います。
もしバグがありましたら、それは完全にデバッグ不足が原因です。なにしろ、カラー熱転写プリンターはリボンの寿命が短く、1本のリボンで5画面印刷できればいい方でして、しかも今ではリボンが入手困難な上高価なため、そうそう何度もデバッグできないのが現状です。
プリンタードライバー制御ルーチン
概要
一太郎やロータスなど、DOS用のある程度大きいソフトでは、プリンタードライバーは自前のルーチンを使っている場合がほとんどです。そんな時に、DOS用プリンタードライバーがはいっているとかえって誤動作します。しかし、DEVICE=
で組みこんだドライバーは外すことができません。
また、私のようなエンドユーザー相手に仕事をしている場合、「CONFIG.SYSを必要に応じて変更してください」なんて言う事もできませんし、マルチブート環境や起動時に組み込むかどうかy/nキーで判断させる、なんて事も、素人の方にはできないでしょう。(なにしろ画面が英語だらけですし・・・。)
そこで、プリンタードライバーを一時的にオフにするコマンドを作成しました。これを一太郎を起動させるバッチコマンドなどに入れてあげてください。
また、私のようなエンドユーザー相手に仕事をしている場合、「CONFIG.SYSを必要に応じて変更してください」なんて言う事もできませんし、マルチブート環境や起動時に組み込むかどうかy/nキーで判断させる、なんて事も、素人の方にはできないでしょう。(なにしろ画面が英語だらけですし・・・。)
そこで、プリンタードライバーを一時的にオフにするコマンドを作成しました。これを一太郎を起動させるバッチコマンドなどに入れてあげてください。
使い方
PRTDRV.COMをパスの通ったディレクトリにコピーしておきます。そしてコマンドラインまたはバッチファイル上、Dynasメニュー上などから以下のコマンドを入力してください。
PRTDRV [ON OFF /NOMES /?]
ON
停止していたプリンタードライバーを再開します。
OFF
プリンタードライバーを一時停止させます。
/NOMES
バッチ処理上から行う時はメッセージが邪魔になることでしょう。そこでこのスイッチを指定してメッセージを出さなくすることができます。
/?
簡単な説明が表示されます。
パラメーターを指定しないと、現在組み込まれているドライバーの種類、バージョン、そして、稼働中かどうかが表示されます。
PRTDRV [ON OFF /NOMES /?]
ON
停止していたプリンタードライバーを再開します。
OFF
プリンタードライバーを一時停止させます。
/NOMES
バッチ処理上から行う時はメッセージが邪魔になることでしょう。そこでこのスイッチを指定してメッセージを出さなくすることができます。
/?
簡単な説明が表示されます。
パラメーターを指定しないと、現在組み込まれているドライバーの種類、バージョン、そして、稼働中かどうかが表示されます。
注意
Windows95のDOSプロンプトの時や、DOSのPRINTコマンドを使用した後にはINT17Hの割り込みベクタが変更されてしまうので、ドライバーの制御ができませんでしたが、今回のバージョンからは、制御ができるようになりました。
ただし、PRTDRV.COMのバージョンが新しくても、ドライバーのバージョンが古いと今まで通り割り込みベクタが変更されると制御不能になるのでご注意ください。
ただし、PRTDRV.COMのバージョンが新しくても、ドライバーのバージョンが古いと今まで通り割り込みベクタが変更されると制御不能になるのでご注意ください。
外字ロードルーチン
紹介
ATOKの外字を印字するときは、通常は[ALT][半角/全角]キーを押してATOKモードにした後、[Shift][F10]を押して、[プリンター外字転送]を行います、が、これは非常に面倒なのと、付加価値販売(ハードにソフトをセットして1本のシステムとして、中小企業などに導入する)の場合に、パソコンのまったく分からないお客様にそこまでさせることはできません。それに、ESC/Pしか対応していません。
また、/UFOオプションでは、外字1文字うつたびにフォントを転送するので、印字速度が遅くなってしまいます。
そこで、あらかじめ外字をプリンターに転送するコマンドを作成しました。
また、/UFOオプションでは、外字1文字うつたびにフォントを転送するので、印字速度が遅くなってしまいます。
そこで、あらかじめ外字をプリンターに転送するコマンドを作成しました。
使い方
NGAIJILD.COM ...... ATOKの外字をNECプリンターに転送します。
EGAIJILD.COM .......ATOKの外字をESC/Pプリンターに転送します。
FGAIJILD.COM .......ATOKの外字を富士通プリンターに転送します。
当コマンドをバッチ処理などで呼び出してください.ただし、プリンターの電源を切ると無効になってしまうので、なるべくなら自作ソフトのプリントルーチンの頭でこのファイルをコールしてください。そのために当コマンドはエラー以外ではメッセージ類は出ないようになっています。
このコマンドを使うときは、プリンタードライバーの /UFOコマンドは外してお使いください。
EGAIJILD.COM .......ATOKの外字をESC/Pプリンターに転送します。
FGAIJILD.COM .......ATOKの外字を富士通プリンターに転送します。
当コマンドをバッチ処理などで呼び出してください.ただし、プリンターの電源を切ると無効になってしまうので、なるべくなら自作ソフトのプリントルーチンの頭でこのファイルをコールしてください。そのために当コマンドはエラー以外ではメッセージ類は出ないようになっています。
このコマンドを使うときは、プリンタードライバーの /UFOコマンドは外してお使いください。
FAQ しばしば尋ねられる質問
印刷やハードコピーのの速度が遅すぎて実用に耐えません。
このドライバーはもともとシフトJISコードを、プリンターの各社のシーケンスに変換するだけのものです。
したがって、遅いのはドライバーのせいではなく、プリンター自体性能の影響です。
また、同じハードの条件で他のドライバーと比べて遅いというのであれば、どうぞそちらのドライバーをお使いください。
私は東芝機を使っていません。DCGAモードに対応しなくて良いから常駐サイズを小さくしてください。
このドライバーは、もともと私が東芝日英DOS5.0や東芝MS-DOS6.2/Vで、DCGAモードとVGAモードのどちらでも対応したドライバーが必要となったために開発したものです。
したがって、DCGAモードに対応しないなんてあり得ません。
NEC PR-201系の文字間調整 ESC w コマンドに、このドライバーは対応してないようです。
よく誤解される事が多いのですが、ESCやCTXなどのコマンドの解釈は、プリンタードライバーではなく、プリンターが行っています。
このドライバーがシーケンスを解釈して文字間を調整したりは、一切しておりません。
ご指摘のケースでは、お使いプリンターが ESC w コマンドに対応してないための現象と思われます。
富士通のプリンタードライバーを使ってますが、印刷の途中でフリーズしてしまいました。
Ver9.0以下富士通用ドライバーには、外字印字中をプリンターに転送するロジックの一部に無限ループに陥るという不具合がありました。
また、Ver8.0以下富士通用ドライバーには、/UFO /MSIMEを組み込むと、漢字をすべてイメージで印字してしまうというバグがありました。
富士通用ドライバーをご利用の方は、最終バージョンVer10.0にバージョンアップしてください。
エプソンのレーザープリンターを使っていますが、2枚目から印字がおかしくなります。
エプソンのレーザープリンターの一部(LP-1000等)には、困ったことに改ページ中にBUSYコードを返さず、NOT READYコードを返すものがあるようです。
プリンターにNOT READYコードを返されると、OSの方で
<A>中止 <R>もう一度 <I>無視 <F>失敗 というエラーを表示しますが、ここで[I]や[F]を押すとタイムアウトした分がプリンターに送られず、
しばらく文字化けしてしまいます。
その場合、CONFIG.SYS内に/NTO パラメーターをつけて組み込んでください。ドライバー内でタイムアウトを起こさないようになります。
印刷、およびハードコピーがネットワーク上のプリンターに出力されません。
申し訳ありませんが、ネットワークには対応しておりません。
TYPE ファイル名 >PRN コマンドで外字を印刷するとフリーズします。
装置ドライバーでは、DOSのファンクションコールINT 21Hは呼んではならない事になっています。
しかし、外字を印刷する場合はJFGAIJ.UFOをオープンしなければならず、やむを得ずINT 21Hを呼んでいます。
しかし、コントロールPのキーを押したり、リダイレクト記号を使って標準出力の出力先がプリンターに変更されていると、
INT21Hの処理ルーチン内でまたプリンタードライバーを呼ぶために、永久ループしてしまうのです。
単にテキストを印刷させたいのなら、PRINTコマンドを使うか、DOSプロンプトの場合はPRV.COM等の他のソフトと併用してください。
J-3100エミュレーター『じぇいさん』を使うと、外字や機種依存文字が印刷されません。
『じぇいさん』内で独自のプリンタードライバーを内包しているため、『じぇいさん』実行中は、当ドライバーの制御範囲外になります。
ただし、ハードコピードライバーは有効です。
NECプリンターで縦書き印刷ができません。
NEC PR-201系のシーケンスでは、漢字を印刷するためのコマンドが「縦書き漢字ON」「横書き漢字ON」のいずれかしかありません。
したがって、漢字を印刷する時にドライバーが「横書き漢字ON」のコマンドを送信しますので、それ以前に「縦書き漢字ON」を送信しても無効になってしまいます。
縦書きを印刷するソフトを作るのであれば、直前にAH=85H割り込みを使い漢字コードの制御をオフにしてから、ESC t シーケンスを送信し、
最後に漢字コードの制御をオンに戻してください。
ATOKの外字の作り方、表示のさせ方がわかりません
ATOK対応の外字(JFGAIJ.UFO)を作るためには、GAIJというコマンドを使うしかありません。これは、以下の製品に含まれています。
・東芝DOS6.2/V
・東芝J-3100PV2、PV3000のWindows3.1プレインストールモデル
・東芝J-3100用一太郎5
・DOS/V用一太郎5
・ATOK8 for DOS/V
これらの製品の多くは既に出荷が終了しており、入手は困難に思われますが、電気街などで流通在庫を当たってみてください。 これらの製品に含まれるATOK8をインストールしたら、次にATUTコマンドを使って、一太郎外字を「使用する」に設定します。 続いて、CONFIG.SYS(Windows95/98ならDOSIME.SYS)に以下のような記述を追加します。
DEVICE=C:\ATOK8\ATOK8KC.SYS
DEVICE=C:\ATOK8\ATOK8A.SYS /UCF=C:\ATOK8\ATOK8.UCF
DEVICE=C:\ATOK8\ATOK8B.SYS
続いて外字ファイル、JFGAIJ.UFOを作成します。ATOK8に含まれている、GAIJIコマンドや外字作成機能を使います。 外字ができたら、プリンタードライバーを組み込む際に/UFO オプションを指定してください。 入手困難なツールに頼らねばならない現状ですが、当ソフト自体が『昔からDOSを愛用していた人向け』(特に東芝ユーザー向け)なのでご容赦ください。
・東芝DOS6.2/V
・東芝J-3100PV2、PV3000のWindows3.1プレインストールモデル
・東芝J-3100用一太郎5
・DOS/V用一太郎5
・ATOK8 for DOS/V
これらの製品の多くは既に出荷が終了しており、入手は困難に思われますが、電気街などで流通在庫を当たってみてください。 これらの製品に含まれるATOK8をインストールしたら、次にATUTコマンドを使って、一太郎外字を「使用する」に設定します。 続いて、CONFIG.SYS(Windows95/98ならDOSIME.SYS)に以下のような記述を追加します。
DEVICE=C:\ATOK8\ATOK8KC.SYS
DEVICE=C:\ATOK8\ATOK8A.SYS /UCF=C:\ATOK8\ATOK8.UCF
DEVICE=C:\ATOK8\ATOK8B.SYS
続いて外字ファイル、JFGAIJ.UFOを作成します。ATOK8に含まれている、GAIJIコマンドや外字作成機能を使います。 外字ができたら、プリンタードライバーを組み込む際に/UFO オプションを指定してください。 入手困難なツールに頼らねばならない現状ですが、当ソフト自体が『昔からDOSを愛用していた人向け』(特に東芝ユーザー向け)なのでご容赦ください。
CONFIG.SYSの書き方がわかりません。また、MS-DOS自体よくわかりません。
そういう方はユーザーとして想定してません。当ソフトはあくまでもMS-DOSに精通した方を対象としております。
PC-9801用のプリンターケーブルがAT互換機に繋がりません。どうすればいいのでしょう。
PC-9801用のプリンターケーブルを接続する必要はないと思います。PC/AT互換機用のケーブルを接続してください。
LP-1000等、一見プリンターケーブルがつくりつけになっているようなプリンターもありますが、よく見るとちゃんと外せるものが多いので注意してください。
印刷が上詰め、左詰めになって、下と右に余白が空いてしまいます。中央寄せになりませんか?
このソフトはあくまで漢字(マルチバイト文字)のシフトJIS→JIS変換や外字の転送を行うだけです。
レイアウトに関しては、ドライバーではなくアプリ層の仕事です。
このドライバーでは80カラムで改行してしまうようなんですが。
このソフトはあくまで漢字(マルチバイト文字)のシフトJIS→JIS変換や外字の転送を行うだけです。
レイアウトに関しては、ドライバーではなくアプリ層の仕事です。
たとえば、BASICのLPRINT文では、あらかじめWIDTH文でプリンターの右マージンを設定しなければデフォルトの80カラムになってしまうでしょう。
また、MIFESの ”行カットバッファの印刷、折り返しで改行出力” では、画面の折り返し部分で自動的に改行コードが挿入されるでしょう。
いずれの場合にしても、それはドライバーではなく、アプリ層の方で解決すべき問題です。
ライセンスを販売してください
販売する気はありませんし、譲渡する気もありません。
商用で使っているプログラムに組み込むんで利用するのは構いませんが、このドライバーそのものを販売するのはおやめください。
また、不具合が生じたからといって、質問やクレームをこちらに丸投げするのはおやめください。
有償でバージョンアップをしていただけますか?
できません。1円でもお金をを取ってしまうと、もし不具合が発生した時に修正を迫られても断れなくなってしまいますので。
また、当方、MS-DOSの開発環境やMS-DOS対応プリンターを全て処分してしまったため、これ以上のバグ修正もできません。
○○というソフトを使用中に文字化けが発生したため、プリンタードライバーをこのサイトで公開しているものに変更しましたが、直りません。
当たり前です。このドライバーは、他のソフトの不具合を修正するものではありません。 他のソフトで不具合が発生しているなら、まずそのソフトを作った会社に聞くのが筋ってもんだと思います。
また、印刷時の文字化けについては、まずはケーブルの不良やコネクタの接触不良を疑ってください。(2020年)現在のPCでは、USBポートが主流でケーブルやコネクタの接触不良はエラーが発生しますが、'90年代のPC/AT互換機で使われているプリンターポート(IEEE 1284)の多くは出力専用で、基本的にエラーは発生しません。そのため、ケーブルやコネクタの不良で信号が化けた場合には、 エラーにならずに文字化けになります。この場合、当然ですがどんなプリンタードライバーを使ったって結果は変わりません。
また、印刷時の文字化けについては、まずはケーブルの不良やコネクタの接触不良を疑ってください。(2020年)現在のPCでは、USBポートが主流でケーブルやコネクタの接触不良はエラーが発生しますが、'90年代のPC/AT互換機で使われているプリンターポート(IEEE 1284)の多くは出力専用で、基本的にエラーは発生しません。そのため、ケーブルやコネクタの不良で信号が化けた場合には、 エラーにならずに文字化けになります。この場合、当然ですがどんなプリンタードライバーを使ったって結果は変わりません。
機種:FM/V
症状:○○というソフト使用中に文字化けが発生する。
対応よろしくお願いします。
・・・えっと、何か勘違いしていません? どこかの誰かが私のソフトを流用して業務ソフトを納入してるのかもしれませんが、私に対応する義務は一切ありません。
文字化けについては、先にも言ったように、まずはケーブルやコネクタの接触不良を疑ってみてください。これ以外にも文字化けに関する問い合わせを多くいただきましたが、ほぼケーブルやコネクタの接触不良が原因ではないかと思われます。
文字化けについては、先にも言ったように、まずはケーブルやコネクタの接触不良を疑ってみてください。これ以外にも文字化けに関する問い合わせを多くいただきましたが、ほぼケーブルやコネクタの接触不良が原因ではないかと思われます。
免責事項
・当ソフトはフリーソフトです。使用に関するいかなる料金も要求しません。
・当ソフトを使用した事によるいかなる損害に対しても作者は責任を負いません。あくまでも自己責任でお願いします。
・作者はすでにDOSベースのパソコンおよびプリンターを処分しておりますため、これ以上のバージョンアップはできません。同様に、不具合対応などもできませんのでご了承ください。
・当ソフトを使用した事によるいかなる損害に対しても作者は責任を負いません。あくまでも自己責任でお願いします。
・作者はすでにDOSベースのパソコンおよびプリンターを処分しておりますため、これ以上のバージョンアップはできません。同様に、不具合対応などもできませんのでご了承ください。

広告