dos ライクなコマンド プロンプト環境からの印刷が必要な古いソフトウェアを使用しています。そのソフトウェアでは、日本語フォントなどの 2 バイト文字を既定のプリンターに印刷する必要があります。しかし、印刷しようとするたびに、文字が意味不明 (文字化け) のように表示され、物理的な紙に日本語が正しく表示されません。つまり、test.txt というファイルを印刷すると、test.txt の内容の中に次のようなものが含まれます...
----------------
Hello
日本語です。
English
----------------
"Hello and English" のような半角文字は問題なく表示されますが、"日本語です。" は表示されません。日本語の文字は、物理紙では {*}+{~= のように表示されます。(ちなみに、コマンドプロンプトでコマンド「print.exe test.txt」を使用しました。)
注: MS Word ドキュメントやテキスト ドキュメントからの印刷にも問題はありません。
なお、ESC/Pプリンター(エプソンGP-710)を使用しています。また、デフォルトでは、cmd.exeはデフォルトでLPT1に印刷されるため、ネットワークプリンターにマップして、USBに印刷できるようにしました(これはフォントの問題とは何の関係もないと確信しています)。以下のようなもの。
1)プリンターの共有
2)NET USE LPT1: \\(PChostname123)\(printername) /PERSISTENT:YES
Windows 7 (64 ビット) と Windows Vista の両方を使用していますが、両方で同じ問題が発生します。Windows 95 には、Config.sys ファイルまたは autoexec.bat ファイルにテキストを追加することによる回避策があるという日本の Web サイトの記事を読みましたが、Windows NT バージョンでは機能しないようです。
どうしても今はこの古いプログラムを使うしかないので、dos/cmdプロンプトからの全角文字出力について知っている方がいましたら教えていただけると大変助かります。