プリンターから旧JIS文字が印刷出来ない
Question
最近Windows10を導入した為、今まで利用していたi Access for Windows(以下、iAW)からWindows10対応のAccess Client Solutions(以下、ACS)に変えました。
プリンターセッションも新しく作り印字テストをした所、画面上は「籠」と表示されるが印字では「篭」になってしまいました。
再度Windows7を起動してiAWのプリンターセッションを用いて試したところ、きちんと印刷されます。
以前の管理者が何か対応をしていた可能性もありますが、情報が残っていません。 「籠」を「籠」として印字できるようにする方法ありますか? プリンターは変わっておらず5587を利用しています。
Answer
これらの文字が画面上と印刷時に不一致を起こすのは、JIS漢字コードの1983年改定にて第一水準と第二水準の文字が入れ替わったことに 起因します。
Windows10導入に伴い、ACSへ切り替えたとのことですが、 残念ながら、現状のACSではデザインとして、この旧JISと新JISを入れ替える機能が御座いません。
従来の対応策としては下記2通りがありました。
- エミュレータからプリンターに文字コードを送る際に旧JISに変換する。
エミュレータのプリンター・セッション用のWSプロファイル(拡張子ws)の [Printers]セクションに"OldJIS=Y"と指定してください。
(対象となるプリンター:5407-011, 5417-011, 5577-J02/K02以前, 5584-K02, 5586-H02, 5588-H02, など上記プリンター以外のPC接続プリンター。)
該当するプリンター・セッション.wsファイルをメモ帳などのテキスト・エディターで開いて[Printers]セクションを探します。
その行直下に"OldJIS=Y"を記入後保存してください。
その後エミュレータを再起動すると設定が有効になります。
古いiAWやPcommですと、利用できない可能性がありますので、iAWであれば7.1(但しiAW 7.1のメーカーサポートは2019/4末で終了)を利用いただくのが良いでしょう。
例:
[Printers] OldJIS=Y UseDefault=Y
- 印字される文字を新JISにあわせるようにする。
プリンターの操作パネルで文字セットを「新JIS」に変更してください。 ※操作方法はプリンターにより異なりますのでプリンターマニュアルを参照してください。
(対象となるプリンター:5400-006, 5573-L02/K02/J02, 5579-K02, 5577-T02/S02, 5584-K14, 5587-L20/K02, 5589-K20, 4320-003(Infoprint20), 4332-006(Infoprint40)※Infoprint20/40ではPAGES&ESC/Pオプションが必要になります。)
今回は、プリンター側の変更はなく、エミュレータを変更したことにより事象が発生したという事ですので、おそらく "1"の方式の、プリンターセッションによる対応を行っていた可能性が高いと考えられます。
ACSを使用し、今までと同じ印刷をされたい場合、現状では "2"の対応しか出来ません。 幸いにも、ご利用頂いているプリンターは対応機種に含まれているようです。
対応機種に含まれないプリンターをご利用の場合でしたら、 今後Windows10に完全に切り替える場合に、現在取りうる対応や準備として、
- PcommV12以降を用意する。
- 対応プリンターを購入する。
のいずれかをご検討ください。
あるいは、ACS機能拡張として、実装いただくようにリクエストするのもよいかもしれません。ただし、リクエストされても、必ずしもすぐに機能拡張・改善されるわけではありませんのでご了承ください。
本年も細かくも幸多きよい年になりますよう、 社員一同、皆様にご満足いただけるサービスを心がける所存でございます。 何とぞ昨年同様のご愛顧を賜わりますよう、お願い申し上げます。
by 大熊猫橋