始めの言葉

「プリンターから印刷できて当たり前」と、ユーザーからもSIerからも軽視されがちなプリンターの世界ですが、実際にはお困りだったり、思ったような印刷結果が得られないまま我慢してお使いの皆様のために、今までの経験が役立てばと、このブログを立ち上げました。印刷の基本から、応用情報、問題の解決方法を情報発信すると共に、PDF化など、これからどうするかについても、ご相談に乗れれば幸いです。ご質問はコメントでお寄せください。
ラベル 外字 の投稿を表示しています。 すべての投稿を表示
ラベル 外字 の投稿を表示しています。 すべての投稿を表示

2018年4月1日日曜日

AS/400 プリンティングに求められるソリューション 第33回 - Mapping Suite の帳票設計方法 - 11 -

帳票設計のスキルには、"条件付け" 等の重要な機能がまだありますが、ここでは、前回までで設計できたところ一旦完了として、先へ進むことにしましょう。
"DrawF" の画面全体と、"MapF" の画面全体を表示してみると、次のようになっています。
"DrawF" の画面
"MapF" の画面
"ホーム" タブを選択すると表示されるメニューの中で "プロジェクトを生成する" ボタンを押すと、次のように 3 種類のファイルを保存する "プロジェクトの保存" 画面が表示されます。
"プロジェクトの保存" 画面
この画面を見ると、MapDraw のプリファレンスで設定した "共有フォルダー"(ここでは、Z:\home\mapping\) の下にある "\docpc" というフォルダーに、MapDraw のプロパティで定義した "フォーマット名"+"シーケンス番号"(ここでは、STD00010) という共通のファイル名で、拡張子が "mpp"、"mpw"、"mpi" という 3 種類のファイルを保存することになることが、分かります。
拡張子が "mpw" のファイルは、"DrawF"、"mpi" のファイルは、"MapF"、"mpp" のファイルは、両者を結びつけるためのファイルとなっています。
このまま、"OK" ボタンを押しても結構ですし、例えば、次のような変更は可能です。
- ファイル名を変更する。ただし、3 つのファイルのファイル名は共通でないとなりません。(この画面では、"プロジェクト名" 欄の記述を変更すると、自動的に他の 2 つの欄の記述も変更されます。)
- 保存先フォルダーを変更する。複数のメンバーで帳票設計している場合など、"\docpc" のサブ・フォルダーとして、担当者毎のフォルダーを用意して、各自が自分のフォルダーに保存するという運用は可能です。ただし、必ず "\docpc" の下であることが必要です。上にあると、後で、OS/400 上の Mapping メニューから保存したプロジェクト・ファイルを探しに行く時に、見つからないことになります。

1 つのフォーマット名に対して、シーケンス番号を使って複数の帳票を作る場合には、デフォルトのファイル名のように "フォーマット名" + "シーケンス番号" というファイル名が管理しやすいのですが、このサンプルでは 1 種類の帳票になりますので、ファイル名は簡単に "STD" としておきます。

"OK" ボタンを押すと、次のような画面が表示されます。
"生成の設定" 画面
 この画面で注意する箇所は、"フォント" のチェック・ボックスです。Mapping は、OS/400 上で印刷データや、PDF ファイルを生成しますし、その際には MapDraw で帳票設計に使用された Windows のフォントを使ってそれらを生成しないとなりません。そのために、このプロジェクトの生成を行なう時に帳票設計に使用した種類のフォント・セット(この場合は、MS ゴシック)を一緒に IFS 側に送信します。しかし、同じフォント・セットの文字を使って設計している場合には、何度も繰り返して同じフォント・セットを IFS に送信するのは、処理時間の無駄になりますし、ネットワークに影響を及ぼす可能性もあります。そこで、このチェック・ボックスは、帳票設計の初めの 1 回目と、その後、別のフォント・セットを使用して設計した場合のみチェックするようにしてください。
なお、外字を使用している場合には、外字は自動的に送信しませんので、手動で Windows 外字のファイルを IFS 側にコピーしていただくことになります。詳細は別の機会にお話しします。

"OK" ボタンを押すと、"プロジェクトを生成しています" 等のメッセージを表示した後、次のような "生成レポート" の画面が表示されます。この画面では、赤いマークさえ出ていなければ、生成完了となります。例えば、次の画面の黄色の注意マークは、"フォントは生成されませんでした。" というメッセージは、前の "生成の設定" 画面でフォントのチェックを外したからです。(赤いマークが出た時には、出なくなるようにする対処が必要です。)
"生成レポート" の画面
"OK" ボタンを押したら、MapDraw 上での操作は完了です。この後は、OS/400 上のメニュー画面を使って、送信したプロジェクトをオブジェクトに変換します。

OS/400 上の "Mapping メイン・メニュー" 画面で "2. MapDraw フォーマットの取り込み" を選択します。
2. MapDraw フォーマットの取り込みの選択
次のような画面が表示されます。"オブジェクト名" 欄には、"フォーマット名"+"シーケンス番号" が表示されています。取り込みたいオブジェクトであることを確認したら "1" を指定して実行します。
オブジェクトの取り込み画面
他に送信したプロジェクトが無ければ、取り込みが完了すると次のような画面に変わりますので、そのまま "F3" キーを押して終了します。
取り込みが完了した画面
以上で、準備完了です。次回は、実際に PDF ファイルを生成します。


2017年4月16日日曜日

IBM 小型レーザー・プリンターの今まで -第7回- "PAGES"-1

PC(Personal Computer) の OS(Operating System) が、Windows と、iOS となった今から見れば、苦笑するようなことでしょうが、個人用のコンピューターという意味での PC が、IBM では "PS/55" だった時代には、レーザー・プリンターのメーカーが他社に比べて優位に立つには、自社独自仕様のコマンドの機能を、いかに多くのアプリケーション・ソフトウェアに対応してもらって、「業界標準」の地位を獲得するかにかかっていると考えられていたものです。
しかし、この考え方は、何もプリンターに限った話ではなく、当時は画期的だった OS、"OS/2" であれ、PC 自体であれ、あるいはゲーム機であれ、使えるアプリケーションの種類が多くないと、生き残ることができないという点では、共通のものではないでしょうか ?

IBM のプリンター開発の本部である Boulder(コロラド州) では、ちょうど、メイン・フレームや AS/400 から、直接プリンターにグラフィカルな印刷を行なうための "AFP(Advanced Function Printing -> 後に Presentation)"というアーキテクチャーを実現するための "IPDS" というコマンド体系を定義していました。
そこで、日本でもこれを元に "PAGES" という PC 向けのレーザー・プリンターのコマンド体系を定義しました。
"PAGES" を定義するに当たっては、先行して複数のアプリケーション・ソフトウェアが対応していた "5577" コマンドと互換であることは、当然の前提です。
これは、別の表現で言うと、"5587-G01" プリンターのオプションで対応した "3222" コマンド体系の拡張ということになります。

実際に、"PAGESコマンド解説書"の概要を見てみると、このコマンドは、次のように分類できることが分かります。

(1) 基本制御コマンド
"5577" コマンドと同じか、その拡張コマンド

(2)拡張制御コマンド
"PAGES" で追加されたコマンドで、"ESXコマンド" と "グラフィックス・コマンド" に分かれます。
"PAGES"コマンド体系
 しかし、現在でも使用されるコマンドは、PDT ファイルを使ったプリンター・セッション経由の印刷や、HPT(ホスト印刷変換)機能を使った、OS/400 からの直接印刷で使用されるコマンドに限られると言って良いのではないでしょうか ?
それらは、その使用目的から自然と、ページ全体に対する制御を行なうコマンドとなります。

1. PAGESモード設定
1B 7E 12 00 01 11

2. メディア座標原点(用紙回転)
1B 7E 50 00 01 00 => 用紙縦長
1B 7E 50 00 01 03 => 用紙横長

3. 用紙トレイ選択
1B 7E 46 00 05 00 00 nn 00 00
nn = 11 => A3 トレイ指定自動選択
nn = 13 => A4 トレイ指定自動選択
nn = 00 => 第 1 給紙カセット指定
nn = 01 => 前面トレイ指定
等々

4. 両面印刷指定
1B 7E 3B 00 04 00 00 nn 01
nn = 00 =>片面印刷指定
nn = 01 => 両面:長辺綴じ
nn = 02 => 両面:短辺綴じ

5. 縮小指定
1B 7E 51 00 01 nn
nn = 03 => 連続用紙サイズ(15x11 インチ) -> A4
nn = 02 => 連続用紙サイズ(15x11 インチ) -> B4
nn = 01 =.> 縦横 75%
等々

6. 余白設定
1B 7E 53 00 0A 00 X座標オフセット 00 Y座標オフセット 00 00

つまり、これらのコマンド以外のもの、例えば次のようなコマンドは、プリンター側に機能としては持たせたものの、アプリケーション・プログラムから使われることはほとんど無しに、Windows のプリンター・ドライバーを使った印刷の時代に変わってしまったということです。
- フォーム・オーバーレイ
- 32 x 32 ドットの外字のダウンロード
- 内蔵アウトライン・フォントの使用
- ベクトル座標を使った図形の記述
- グラフィックの記述



2017年4月1日土曜日

IBM 小型レーザー・プリンターの今まで -第5回- 5577互換からの拡張と更なる拡張

J.D.氏が赴任される前までのチームの方針は、プリンターの機能の中核を成すマイクロコードと、それを実装する制御基板は、アーキテクチャーと基本設計を内製することでした。
しかし、J.D.氏の方針は、"3812"プリンターで採用した外部会社のアーキテクチャーと基本設計を基礎とすることでした。
IBM 3812 プリンター

- アーキテクチャーとしては、2層構造となっています。つまり、実際に印刷するイメージを生成する層と、入力データを処理して印刷イメージを生成する層の内部処理に渡すためのデータ変換を行なう層でできています。その効果として、PC からの印刷データ以外にも、AS/400 や、汎用コンピューターからのデータに対しても、データ変換層を変えるだけで対応できるという点があります。

- ハードウェアとしては、当時はまだ珍しかった"3.5 インチ・フロッピー・ディスク"にマイクロコードを格納して、起動時に読み込むようにできていました。これによって、マイクロコードの修正や、機能拡張があっても、フロッピー・ディスクの内容を書き換えるだけで簡単に対応可能になります。

私たち、チームのメンバーは、自分たちの力が発揮できる、別の表現をすれば外部会社に依存することを避けられる内製を主張したのですが、最終的には、J.D.氏の方針で進めることに決まりました。この決定までの時間も、開発全体の遅れに影響したことは、否定できないと思います。

もう一方の、重要な要素であるレーザー・プリンターの機構部分も、どの OEM メーカーのものを採用するか決まるまでも時間を要しました。
特定のお客様向けに開発した "5569" レーザー・プリンターの経験から、国内で多くのお客様に採用していただける製品とするには、用紙サイズは "A4" だけでは不十分で、"B4"サイズも必須であることは分かっていましたので、その条件を元に、J.D.氏と共に、開発中の OEM 製品を何社も見て回ったものです。
実は、メンバーの間では某社の B4 サイズ機に決めていたのですが、突然、天の声がかかり、まだ試作機段階以前とも言えるレベルの、別の会社の A3 サイズ機を採用することになってしまいました。大は小を兼ねると言いますが、さずがに A3 サイズの用紙に対応するプリンターとなると、かなり大きくなります。それにも増して、デスク・トップ型のコピー機としてできているだけで、これから改造してプリンターとするわけですから、とても短期間では困難であることは明らかです。
案の定、開発期間は長期化し、最後に、そのメーカーのリーダーの方が、原稿を元にコピーを作成する機械と、原稿そのものを作成する機械では、印字品質一つをとっても、要求されるレベルが全く違うことが良く分かりましたとおっしゃっていたことを、よく覚えています。

開発期間が長期化した影響もあって、製品としての価格が予定よりも高くなってしまうことも、問題となりました。そこで、J.D.氏のアイデアで、プリンターの構成を次のように分けることになりました。
- 基本モデルは、5577互換レベルの機能
- 追加オプション(基盤のカードに指す、カートリッジ)によって、"3222"と呼んだ、レーザー・プリンターとしてのコマンド機能を追加
という構成です。
"3222"と呼んだ機能の主なものは、5577コマンドに追加する機能として下記のとおりです。
- 用紙方向縦/横の切り換え
- 縮小印刷
- 給紙トレイの指定
- 明朝体とゴシック体の内蔵フォントの切り換え
- 解像度 240DPI のイメージ・データ
- 32 x 32 ドットで構成された外字

このようにして、発表されたのが、"5587-G01" プリンターです。
(残念ながら、写真等を残していないので、形をお目に掛けられません。)

一方で、当時、PS/55 の OS は、J-DOS と OS/2 で、その上で稼動するアプリケーションが、直接印刷データを生成する方式でした。
今の Windows のプリンターに付属するドライバーが印刷データを生成する方式と異なり、様々なアプリケーション・プログラムが直接、プリンターが持っているコマンドを発行することで、初めてそのプリンターの機能を使って刷できるという方式です。
従って、いくらプリンター側で高機能なコマンドを用意しても、アプリケーション・プログラムがそのコマンドを送って来なければ、宝の持ち腐れでしかありません。
そのため、レーザー・プリンターを販売する各社は、それぞれ独自の定義で決めたコマンドを、様々なアプリケーション・プログラムのメーカーに開示して、対応していただくよう働きかけをしていたものです。
例えば、ワープロ(文書作成)プログラムでは、"一太郎"が圧倒的なシェアを占めていましたので、各プリンター・メーカーは、開発元であるジャスト・システム様に日参していたはずです。
つまり、当時のレーザー・プリンターのメーカーは、独自コマンドを拡張し、それに対応するアプリケーション・プログラムを増やし、その結果、自社コマンドが業界標準の地位を築くことを目指していたという訳です。

私も、IBM 社内のソフトウェアの開発チームに対して、"3222" のコマンド対応をお願いして回りましたが、各製品の開発項目の優先順位とリソースの関係もあって、なかなか思ったようには進みませんでした。最終的に、OS/2 や J-DOS という OS の開発チームからは、32 ドット対応の外字をサポートするという協力はいただけたのですが、当初は、何故、外字の対応だけなのかが理解できていないというありさまでした。
コマンドの拡張に関しては、プリンター開発チームの中で、他社のものと同等以上のものを目指して行なわれ、後に "PAGES" と呼ぶ、コマンドのセットが定義されました。


2017年3月12日日曜日

IBM 小型レーザー・プリンターの今まで -第2回- その黎明期(続き)

レーザー・プリンターの印刷原理となっている電子写真方式の現像方式には、2 種類あります。
"電子写真"という言葉どおり、電子を使う"写真"ですから、初期の複写機では、写真と同じように光の当たった場所は白く、光の当たらない場所は黒くなりました。
具体的には、原稿に光を当てて、その反射光を感光ドラムに当てます。
そうすると、原稿の中でも光が吸収される黒い部分(文字)は、感光ドラムに光が届きません。
逆に、光が反射する、原稿の白い部分は反射した光が感光ドラムに当たります。

感光ドラムは、予め、帯電といって、表面に均等に電子が並んでいる状態にあります。
光の当たった部分は導体となるので、電子が流れて無くなります。
光の当たらなかった電子が残っている部分にトナーが付着して、それを紙に転写します。
最後はトナーを熱と圧力で紙に定着させます。
この現像方法は、写真と同じように光の当たった部分が白くなるので、"正規現像"と呼びます。
全面に、黒にトナーが付着した紙に対して、欲しいイメージの部分だけを残すように、光がトナーを掃いて白くしていくイメージを思い描いていただければ、良いと思います。

一方、その逆に、光が当たって箇所にトナーを付ける現像方法もあり、これを"反転現像"と呼びます。白い紙に、光が欲しいイメージを黒く描いていくイメージを思い描いていただければ良いと思います。今のレーザー・プリンターはこちらの方式になっています。

前回お話した、180DPI のレーザー・プリンター"5569-R01"は、正規現像を使ったレーザー・プリンターでした。
トナーの掃き残しを防ぐために、レーザー光は、次の図のように多少重なった状態になるように、感光体の上に、白くすべきパターンを描いていきます。
当時、レーザー・プリンターの解像度の主流は、240DPI か 300DPI なのですが、これらの解像度のドットの大きさに比べて、180DPI のドットの大きさは大きくなりますから、どうしてもドットの間隔は大きめになります。
しかも、ドットがくっきりと表現されるため、ドット間の隙間が目立つ文字となってしまったことを、よく覚えています。
正規現像のドット・パターン

逆に反転現像であれば、レーザー光の重なった部分が、黒になりますので、隙間が目立つことはありません。
そのため、レーザー・プリンターでは反転現像が採用されているのだと思います。
同様に、インパクト・プリンターであれば、インクの滲みもあって、ドットの間は目立ちにくくなっています。
反転現像のドット・パターン

前回もお話しましたが、元は外字の印刷に配慮して、別の言い方で言えば、24 ドット・プリンターとの互換性を守るために、この解像度を選択したわけですが、実際に、メイン・フレームのデータを 3270PC 経由で印刷することを考えると、外字の印刷を求められることは無いと言い切って良いと思います。そう考えると、解像度は 240DPI や300DPI とする選択もあり得たのではないかと、今になって思います。
AS/400 の世界では、外字を使用することは前提条件として配慮することは必須ですが、メイン・フレームの世界は、その点が異なっているようです。

その後、"5550"シリーズも、"PS/2" を日本語化した"PS/55"シリーズに変化していくのに合わせて、レーザー・プリンターも製品ライン・アップの一つとして正式に開発することになりました。
開発のリーダーには、US のボルダーからレーザー・プリンター開発経験者を招聘し、その下に私も加わりました。ところが、思わぬ事情から、製品発表まで予想外の時間が掛かることになってしまったのです。

2017年3月5日日曜日

IBM 小型レーザー・プリンターの今まで -第1回- その黎明期

レーザー・プリンターは、レーザーを光源として、感光ドラム上に静電気で作った印刷イメージ(潜像と言います。)に対して、トナーというインクの粉末を付着させ、それを紙に転写した後、熱と圧力で紙の中に定着させるというプロセスのプリンターです。
その多くは、用紙にカット紙を使うタイプですが、連続用紙を使用する大型で超高速タイプのものもあります。
初めて世に出たのは、IBM が開発製造した 3800 型という連続用紙用の高速レーザー・プリンターであったと、私は教わっています。
IBM 3800 プリンター
用紙の表面に、静電気の力で付着させたトナーは、そのままでは手で触ると印刷イメージが崩れてしまいます。そのため、その後、圧力と熱を使ってトナーを融かして紙の中に定着させます。
熱と圧力を掛ける上下 1 組のローラーの間を用紙が通過していくわけですが、連続用紙の場合、用紙がローラーの間で少しでも斜めになってしまうと、圧力が掛かっているため、紙が先に送られるほど傾きの度合いが増幅し、用紙ジャムを引き起こすことになります。
それを防ぐため、自動的にローラー間の左右の圧力を調整して用紙の走行を真っ直ぐに保つ仕組みが組み込まれています。
この仕組みは、連続用紙の印刷では必須となりますが、用紙の長さの短いカット紙では不要になりますので、両者のコスト面での違いの大きな要因となります。

これからしばらくは、主に PC と接続して使用するデスクトップ・タイプの小型のレーザー・プリンターについてお話したいと思います。

私が初めに所属した漢字端末の開発部隊は、その後、プリンターのみの開発を担当することとなり、主に1983年から販売された"マルチステーション5550"用のプリンターを開発しました。
当時のプリンターの世界では、様々なメーカーからインパクト方式のプリンターの他に、熱転写方式のプリンターやレーザー・プリンター、インクジェット・プリンターといったいろいろな技術を使ったプリンターが開発されて、世に出始めていました。
それに応じて、私の所属していた部隊でも、インパクト方式のカラー・プリンター(これは私も担当しました)、熱転写方式のプリンターを開発し、発表しています。
その中で、デスクトップ型のレーザー・プリンターは、静かで高品質な印刷ができるということから、次のプリンターの本命として注目されていたのですが、社内で開発することが困難であったこと、OEM 製品を使用するにしても非常に高価になってしまうことから、製品化は、一旦は断念されていました。
しかし、ある製造メーカーのお客様から、メイン・フレームからのデータを、"5550" 上の "PC3270"(3270端末機能)を介して印刷できる小型のレーザー・プリンターのご要望をいただき、特定のお客様向けのモデル("RPQ" と呼んでいました)して開発が始まったのです。

レーザー・プリンターの小型化を実現した大きな要素は、その頃、発売された"C"社の"ミニコピア"を実現した、トナーと感光ドラムという現像機構を一体化した"カートリッジ方式"にあります。静電気を使用する電子写真方式は、湿度や温度、感光ドラムの表面状態などの影響を受けやすい繊細なプロセスを使用しますので、その中核となる現像プロセスをカートリッジとして一体化し、ユーザーが簡単に交換できるようにしたという考え方は、非常に画期的でした。
私たちが、OEM として使用することが決められたレーザー・プリンターは、"R" 社のもので、カートリッジ一体方式ではないものの、ベルト形になっている感光体はユーザーが交換できるようになっていました。A4 サイズとレター・サイズの2種類の用紙に対応し、給紙トレイは250枚用が1箇所、印刷速度は 8 枚/分という、今では 1 桁万円台のプリンターの仕様だったと記憶しています。

"3270PC" は、元々、24 ドットのインパクト・プリンターを想定した"5553"形式の印刷データをプリンターに送信しますが、このお客様のご要望に対応して、1 行の文字数が 132 桁を越える時には、用紙を横長に 90度 回転して使用するコマンドを発行する機能が追加されました。
そこで、プリンターもそのコマンドに対応する必要があります。
また、通常の文字は文字コードで送られてきますので、プリンターの内蔵フォントを使用して印刷しますが、外字は 24 ドット x 24 ドットのイメージで送られてきます。そこで、そのまま印刷できるようにするために、 OEM メーカーに対して、解像度をインパクト・プリンターと同じ、 180DPI とするよう依頼しました。
これには、OEM メーカーのエンジニアの方も、さすが IBM さんと、絶句していたのを今でも良く覚えています。(今から思えば、ロジックを使って、外字イメージのドット数を、イメージを崩さないように増やして解像度の低下を避ける方法もあったと思いますが、当時はこのように判断したのです。)

カット紙用のレーザー・プリンターでは、用紙トレイから用紙を送り出す際に、確実に 1 枚だけを送り出すために、摩擦を使っていますが、この時のプリンターでは下側に逆回転するローラーを備えるといった具合に、丁寧に設計されたプリンターだったと言えると思います。
反転ローラーを使った重送防止機構

このようにして、空前絶後の 180DPI のレーザー・プリンター "5569-R01" は完成して、1 台につき 100万円を越すという、今では想像できない価格が付いて、このお客様にご購入いただいたのでした。

2017年2月12日日曜日

ライン・プリンターの全て - 第27回 - たまにいただくお問合せ-4

Q8. AS/400からの印刷に使用してきた"5400-006"を、"5400"の現行モデルに置き換えるに当たって、注意するべき点は何か。

A8. 現行の"5400-006"プリンター("ライン・プリンターの全て - 第4回- 日本語ライン・プリンターの歴史-4"参照)
をどのような方法で、AS/400と接続しているかを確認するよりも、新しい"5400"プリンターをどのように接続するかを考えることを優先した方が良いと思います。
接続方式の違いによって、メリットも注意点もそれぞれ異なりますので、それらをよく把握した上で、日々の業務に最適な接続方式を選択してください。

1. Telnet5250E による LAN 直結印刷
"5400"プリンターの標準的な接続方式です。
<<メリット>>
- AS/400 と LAN 直結になるので、プリンター・セッション経由の印刷と異なり、PC に依存することが無い。
- APW や プリンター・ファイルで指定したバーコード・コマンドや文字拡大、OCR-B フォント指定コマンドが、プリンター・セッション経由の印刷と異なり、全て有効となる。
- 高速モードや、超高速モードでの印刷であっても、バーコードのある行のみは、ドットを間引かずに印刷する通常速モードに自動的に切り替わって印刷するため、バーコードの読み取り精度を落とさない高速印刷が可能となる。
- 印刷中の保留や取り消し操作が、プリンター・セッション経由の印刷と異なり、AS/400 端末画面から可能となる。
- 用紙切れや用紙ジャムというエラー・メッセージが、プリンター・セッション経由の印刷と異なり、AS/400 端末画面に表示される。メッセージ応答として、印刷再開ページを指定することも可能となる。

<<注意点>>
- 外字を使用するには、予め"LODPPW"コマンドを使用して、プリンターにダウンロードしておく必要がある。(プリンターの電源を切った後でも保存される。)
- 接続先の AS/400 は1台(一つの IP アドレス)となる。接続先の AS/400(IP アドレス) を変更するには、"5400" の初期設定を変更し、再起動する必要がある。
- PC からの LAN 直結印刷(LPR ポート使用)とは、自動切換えが可能だが、"5400"プリンターのWeb ページ上で、初期設定を変更しておく必要がある。"ライン・プリンターの全て - 第11回- 日本語ライン・プリンターの初期設定-3" 参照

<<"5400-006"からの移行のための注意点>>
- Telnet5250E 接続では、OS/400 上の"自動構成"が可能です。使用していた"5400-006"のものと同じ OUTQ 名を継続して使用するには、既存の OUTQ や装置記述を、予め削除しておくと、新しい"5400"プリンターの"自動構成"がスムーズに行なえます。
- 初期設定の中の"半角文字セット"を"英数カナ文字"にするか、"英小文字"にするかで、半角カナ文字や、半角英小文字の文字化けに対応します。

2. PC 上のプリンター・セッション経由の印刷
複数の AS/400(LPAR) から自動切換えで印刷させるのに、適しています。
<<メリット>>
- PC 上に複数のプリンター・セッションを用意する、または、複数の PC 上にプリンター・セッションを用意することにより、複数の AS/400(複数の IP アドレス)からの印刷を、プリンターの設定を変更することなく、自動的に切り替えて行える。
- 外字は、プリンター・セッションを持つ PC のWindows外字を使用するので、プリンターに予め保存する操作が不要。
- AS/400 からの印刷の他に、PC 上の Windows アプリケーションからの印刷も、そのまま可能となる。

<<注意点>>
- PC を起動していないと、印刷できない。
- APW や DDS で指定したバーコードや、OCR-B フォント指定は無効になる。文字拡大指定にも制限がある。
- 印刷中の保留や取り消し操作はできない。
- 用紙切れや用紙ジャムというエラー・メッセージは、AS/400 端末画面に表示されない。
- 繰り返し印刷を防ぐために、プリンター・ドライバーのポート設定や、レジストリーの修正が必要になる。"繰り返し印刷の対策" 参照。


<<"5400-006"からの移行のための注意点>>
- もし、従来、"5400-006"が、プリンター・セッションを持つ PC と LAN 接続されていたのなら、"5400-006"と同じ IP アドレス を新しい"5400"プリンターに設定するだけで、移行は完了となります。(プリンター同士は互換性が高いので、ドライバーの入れ替えも不要です。)
- PC もプリンターと同時に新しくなるのであれば、PC 上では、
+ 5400 ドライバーの導入、設定("ライン・プリンターの全て - 第12回- 日本語ライン・プリンターのドライバー-1" 参照)
+ "標準 TCP/IP ポート"から"LPR ポート"への変更、それに対応したレジストリーの編集によるタイム・アウト値の変更
+ PDT ファイル、"ibm5577.pdt"を指定したプリンター・セッションの設定
以上が、必要です。
- 初期設定の中の"コードページ"を"932"にするか、"942"若しくは"943"にするかで、半角カナ文字や、半角英小文字の文字化けに対応します。

5400-006 プリンター外観

2016年8月20日土曜日

ライン・プリンターの全て - 第6回- 日本語ライン・プリンターの歴史-6

AS/400用ライン・プリンターの標準機として、"5400-006"が1998年に発表され、更に、2年後の2000年には、LAN 接続用のオプションも発表されて、当時の IBM ライン・プリンターは磐石の地位を築いたように思えましたが、やはり世の中に"競合"は常にあるものです。互換機メーカーから同じクラスのライン・プリンターが発表され、そのモデルでは、プリンターの左側面に、印刷済みの用紙を取り出せる扉が付いていました。
保守も含めて必要な設置スペース
ライン・プリンターでは、一度に大量のページを印刷することが多くあります。印刷が終了すると、通常は、操作パネルで、印刷中断状態にしてから"改ページ"ボタンを押して、印刷した最終のページの下側のミシン目で用紙を破れるように紙送りします。

印刷済みの用紙は、プリンター内部の後ろ側に落としますので、それを回収するには、後ろの扉を開けないとなりません。それは、プリンターの後ろ側には予め、扉を開けるためのスペースを空けておかないとならないことを意味します。マニュアルにも左のような図で説明してあるのですが、実際にはそのような空きスペースの余裕が無いお客様が多く、プリンターの後ろは壁に付けて設置したいというご要望は、古くからありました。



 その点で、プリンターの左側面や右側面に扉があれば、背面を壁に付けて設置しても、横から印刷済みの用紙を取り出すことができます。
左側の扉を開けた様子
 そこで、急遽、2002年に、左側に扉を付けた"5400-S06"という、"5400-006"の派生モデルを発表しました。
この"5400-S06"では、3種類のインターフェイス、パラレル、Twinax、LAN を標準装備していたのも大きな特徴です。


2002年は、ライン・プリンターの当たり年で、新製品が、他に 2 種類発表されています。
低速モデルの"5407-001/011"の後継製品である、"5400-L02"と、高速モデルの"5427-001"の後継製品である、"5400-L10"です。
先に発表された"5400-L10"は、後にバージョン・アップも行われて、"5400-L02"、"5400-L06"、"5400-L10"は、共通となる仕様を多く持つようになりました。その共通の仕様とは、次の 8 点です。
  1. LAN とパラレル・インターフェイスが標準("L10"モデルは、Twinax 接続も標準)
  2. Telnet5250E で必要な、外字の保存可能な文字数は、4,370 文字(5400-S06は、4,370文字、5400-006 の LAN オプションでは1,152 文字)
  3. JIS第3、JIS第4標準の文字を内蔵し、CCSID1399(バージョン1)に対応
  4. 内蔵フォントの書体は、IBM 明朝体のセットの他に、平成明朝体のセットも選択可能
  5. Web ページにより、操作パネルの液晶表示を PC 上で表示、初期設定を PC から変更可能(← 訂正 : L10モデルでは、後継のF10モデルから実装)
  6. バーコード・コマンドによるバーコードを印刷する行のみ、ドットを間引かない通常速モードで印刷することによって、高速モード、超高速モードでも読み取り精度の低下なくバーコード印刷が可能
  7. バーコードの種類は、元々ある6種類の他、郵便番号、CODE128、QRコード(5577モードのみ)
  8. SCS コマンド以外に、文字データのようにして、バーコードや文字拡大を指定可能な、テキスト・コマンドの採用(バーコードの印刷方法 - 第2回 コマンドを使う、もう一別の方法 -を併せてお読みください。)
5400-L02外観
<"5400-L02"プリンターの主な仕様>
- 印刷速度 : 150 行/分(通常速モード)
                  205 行/分(高速モード、横方向1/3ドット間引き)
                  225 行/分(超高速モード、横方向2/3ドット間引き)
- 想定月間平均印刷枚数 : 6,000枚(15x11 インチ・サイズ用紙)
- 複写枚数 : オリジナル + 8 枚(コピー強化モード、厚さ 0.5mm まで)
- 対応コマンド : SCSコマンド、テキスト・コマンド(Telnet5250E、Twinax)
                      5577コマンド (LPR、パラレル・インターフェイス)、
                      ESC/Pコマンド (LPR、パラレル・インターフェイス)
- 内蔵日本語フォント : IBM 明朝体、平成明朝体、新旧JIS規格選択
- 英小文字と半角カナの共存印刷 : 可
- バーコード・コマンド : 対応(8 種類、SCS、テキスト・コマンド、5577 モード)
- 販売期間 : 2002年 - 2009年

2016年2月13日土曜日

LAN 直結で双方向通信する印刷方式"Telnet5250E" - 第2回 -

"Telnet5250E"接続の特徴は、次のとおりです。
  1. "Twinax"接続と同様の操作性を維持しています。具体的には、印刷中のスプールの"保留"、"取り消し"操作が可能です。プリンター・セッション経由の印刷では、OS/400 から見ると、PC 上のプリンター・セッションが仮想的なプリンターとなっています。PC が印刷データを受信する速度は、プリンターに比べて圧倒的に速く、また受信可能なデータ量も圧倒的に大きいため、スプールを解放した後、印刷中に"保留"したり、"取り消し"することはできません。"HPT機能"を使ったLAN 直結印刷の場合でも、原理は片方向印刷である"LPR"印刷ですから、OS/400 が印刷データを変換して送信し始めたら、やはり、"保留"も、"取り消し"もできません。
  2. OS/400 との接続構成は、"自動構成"です。プリンターの初期設定メニューの中で、接続先の OS/400 の "IP アドレス"と、"デバイス名"を設定すると、初めの接続時に、プリンターから OS/400 に対して接続しに行き、その"デバイス名"の装置記述を自動的に OS/400 上に登録します。なお、"Twinax接続"では、プリンターに設定したアドレス番号に対して、OS/400から接続しに行きますが、"Telnet5250E"接続では、プリンターから OS/400に対して接続しに行く点は、逆です。従って、プリンターの電源を切って、OS/400 プリンター間の"Telnet5250E"セッションを切断する時も、プリンターから OS/400 に対して切断しに行くことになります。(5400 シリーズでは、電源スイッチを切った際の電圧の低下を検知して、OS/400 に対して"Telnet5250E"セッションの切断要求信号を自動的に発信するようにできていますので、ユーザーはセッションの切断を意識することなく、電源を切ることができます。一方、5577 シリーズ本体の"Telnet5250E"接続機能では、予め操作パネルのスイッチを使って、セッションの切断要求信号を発信してから、電源スイッチを切るようになっています。)
  3. "Twinax"接続の時と同様、文字コードは"EBCDIC"のまま、制御コマンドも"SCS形式"のままです。その結果、バーコード・コマンドや罫線コマンドはそのままコマンドとしてプリンターに送信され、プリンターの内部で、バーコードや罫線のイメージを作って印刷します。そのため、データ・サイズが大きくなることはありませんので、罫線の多い帳票でも印刷速度を低下させることもありません。また、プリンター・セッション経由の印刷や"HPT機能"を使ったLAN 直結印刷では発生する制御コマンドの変換機能に起因する制限(バーコード・コマンドや大きな倍数の文字拡大、OCR-Bフォント等の半角フォントの指定が無効になる)もありません。
5400エミュレーターIIのTelnet5250設定Web画面
ただし、"Twinax"接続と異なるため、注意が必要なのは、"外字"の取り扱いです。"AS/400からの印刷 基礎編-3"でお話ししたように、"Telnet5250E"接続では、OS/400 は、外字も標準の文字と同様に、プリンターに内蔵されていると仮定して、文字コードを送ってくるだけです。そのため、外字の文字コードと文字イメージは、予めプリンターに記憶させておくことが必要になります。そのためのコマンドが、"LODPPW"コマンドです。使用可能な外字の数は、4,370 文字になります。

次回は、"Telnet5250E"接続の簡単な原理と使用事例をお話します。

2015年8月14日金曜日

HPT機能を使った印刷 - LAN直結印刷の基本 -

5577 や PAGES モードを持った PC 用のプリンターに印刷させる方法には、前回までお話したプリンター・セッション経由の印刷の他に、OS/400 の HPT(Host Print Transform, ホスト印刷変換)機能を使った方法があります。これは、プリンター・セッションで行なう文字コード変換(5577 系の場合は、EBCDIC -> S-JIS)と、制御コード変換(5577 系の場合は、SCS -> 5577形式)を、OS/400自体が行なうものです。そのため、かつてOS/400のバージョンが、V3R7 や V4 の頃には、HPT機能を使用して印刷させようとすると、他の業務系のアプリケーションの実行速度に影響が出るため、実使用に耐えないといったケースもありました。しかし今では、AS/400 自体の処理能力が大幅に向上した結果、最早そのような事例を聞くこともありません。そうなると、プリンター・セッション経由の印刷と比較して、PC の電源が入っていないと印刷できないといった制約が無い点で、この印刷方法を採用されるユーザーも多いようです。ここで、先ず HPT機能を使った印刷の特徴や注意点を整理すると次のようになります。
  • リモートOUTQを使う方式と、デバイス・タイプに"3812"を指定して装置記述を作り、そのOUTQを使う方式の2種類があります。
  • プリンター・セッション経由の印刷と違って、どちらの方式でも自動構成ではありませんから、リモートOUTQや装置記述は手動で作る必要がありますし、ライターも初めは手動で起動する必要があります。
  • 前者の方式の原理は"LPR印刷"になりますので、エラーも含めたプリンターの状態は、OS/400 側に送信されず、単にスプールを印刷データに変換して、プリンターに送信するだけになります。
  • その際、設定によっては印刷部数の指定は可能ですが、ページ範囲の指定はできません。(IBM のサイトにあるツールを導入すると可能になるようですが、IBM による保証が無いことと、ツール自体が古いものなので、OS/400 の最近のバージョンでも使用可能かは、私もテストしたことが無い点にご注意ください。)
  • 後者の方式では、現在の多くのプリンターの LAN カードが持っている SNMP(Simple Network Management Protocol) というプロトコルを使って、OS/400 はプリンターの状態を把握します。その結果、プリンターの電源Off、用紙切れ、用紙ジャムといったエラー状態が OS/400 上にメッセージとして表示されます。ただし、"メッセージ応答"としての、ページ範囲を指定した再印刷はできません。これは、スプールがプリンターの制御コマンドを使った印刷データに変換されると、OS/400 はページの境目を認識できなくなるからです。つまり、ページ範囲を指定した再印刷が可能なのは、SCS形式のスプール・データを(変換せずに)直結されたプリンターで印刷する場合だけということを意味しています。
  • スプール・データの中の文字に外字があった場合、プリンター・セッション経由の印刷では、その PC に保管されている Windows外字のイメージをプリンターに送信して印刷します。しかし、HPT 機能を使った印刷では、OS/400 上の外字イメージを使用します。"OS/400 上の外字イメージ"とは、OS/400上で稼働する"CGU(Character Generation Utility)"という外字作成ツールを使って、外字用の文字コードに対して登録する、24x24ドットと、32x32ドットのドット・パターンです。24x24ドットのパターンは、5577 系のプリンターに印刷する場合、32x32ドットのパターンは PAGES モードのプリンターに印刷する場合に使用します。外字を使用するお客様の場合は、必ず24x24ドットのパターンは作成しますが、32x32ドットのパターンまでは作成していない場合がほとんどです。32x32ドット・パターンは、初めから作ることももちろんできますが、24x24ドット・パターンを元に変換するメニューが、"CGU"に用意されていますので、これを使っていったん作成し、その後、ドットの構成を修正して、より品質の良い外字のドット・パターンにすることができます。
次回以降で、OUTQを設定する具体的な方法をご説明していきます。

2015年5月5日火曜日

文字コードの話 - CCSID1399バージョン1とは

繰り返しになりますが、IBMホスト・システム上の文字コード体系であるEBCDICと、JIS規格は別の規格です。そのため、JIS83年の規格改訂で、文字コードと文字イメージの組み合わせの入れ替えがあっても、EBCDICの世界ではそのような変更はありません。しかし、日本語を表わす文字がJIS規格の改訂で増えた場合には、EBCDICでもそれに追随して文字を追加していかないと、PC上で表示できる文字がホスト・システム上には反映できないことになってしまいます。
そこで、経緯を整理すると、
  • JIS1978年規格で、6,802文字を制定しました。
  • JIS1983年改訂で、44文字(22組)の文字の入れ替え、300文字の字形変更、75文字の追加があり、総文字数は、6,877文字になりました。
  • JIS1990年改訂で、2文字追加され、総文字数は6,879文字になりました。
ここまでの文字に対しては、Windowsの世界ではWindowsXPが対応し、EBCDICの世界では、CCSID930/939に反映されました。その後、
  • JIS2000年改訂で、4,344文字が追加されました。この部分をJIS第3水準、第4水準と呼ぶことがあります。その結果、文字数は11,223文字と急増しています。この文字数に対応するWindowsはWindowsVista以降、EBCDICでは、CCSID1399バージョン1となります。
  • JIS2004年改訂では、168文字の字形変更と10文字の追加がありましたが、これを反映したCCSID1399がバージョン2となります。
その他にも、使用可能な外字の数にも違いがあります。CCSID930/939では、最高4,370文字の外字を定義して使用できるのに対して、CCSID1399では、最高6,205文字となっています。
システムの世界で文字の扱いを考える時に、先ず文字はどうやって入力されるのかを考える必要があります。例えば、ユーザーがWindowsPCから入力する際には、その文字がホスト・システム上でも使用可能かどうかを意識する必要が無いようにする必要があるでしょうし、そのためには、ホスト・システム側でも、つまりEBCDIC側でもそれらの文字には一通り対応する必要が出てくるわけです。そして、最後に印刷するとしたら、直結プリンターの場合は、プリンターも内蔵フォントとして対応する必要があるのですが、残念ながらCCSID1399バージョン1までとなっているのが、実情です。
5400-F06全文字印刷-1
添付イメージは、直結型のライン・プリンター5400-F06の全文字印刷の一部です。
5400-F06全文字印刷-2
1番目の中のxB840「丂」以降が、CCSID1399で追された文字になります。


5400-F06全文字印刷-3
5400-F06全文字印刷-4

2015年2月22日日曜日

AS/400からの印刷 ~基礎編-6~

プリンター・セッション経由の最大のメリットは、前回も申し上げたように、「プリンターの選択肢が多い」ということです。
処理の流れとしては、先ずPC上のプリンター・セッションがAS/400から印刷データを受信し、PDT印刷ではPDTを参照してデータ変換を行い、Windowsのスプーラーから、プリンター・ドライバーで指定しているポートの指定先のプリンターに印刷データを送信するということになります。
その結果、注意点や制限としては、以下の点があります。
  • プリンター・セッションを立てたPCの電源が入っていないと印刷できない。(これは当然ですよね。)
  • 保留や取り消しといったスプールの管理はできません。(これは、AS/400から見た場合、プリンター・セッションが仮想プリンターとなること、そして、それがPCであるためプリンターと違って、スプール解放とほぼ同時に印刷データを受信してしまうためです。)
  • 同じ理由で、プリンターのエラーは、OS/400には通知されません。
  • PDT印刷の場合は、バーコード、3倍以上の文字拡大指定やOCR-Bフォント等半角文字の書体指定が無効になります。(これは、プリンター・セッションでのコマンド変換機能の制限です。)
  • 外字(正確にはユーザー定義文字)を印刷するには、プリンター・セッションを立てたPCのWindows外字に、それら外字を登録する必要があります。(これは、外字はWindows外字のイメージを使用するためです。)
 【余談】
Windowsのスプーラーは、プリンターの印刷速度に合わせて印刷データを送信します。AS/400からPCがデータを受信して変換する速度(速い)と、プリンターの印刷速度(遅い)の違いを吸収しているわけです。しかし、Windowsが、まだWindows95だった頃、プリンターのエラーがAS/400側に通知されるということで、ドライバーのプロパティで「印刷データをスプールせず、直接プリンターに送る」設定に変えて、使用するお客様がありました。
WindowsXPになっても、その設定に変えたところ、正しく印刷できなくなったというお問い合わせを何件かいただいたことがあります。実は、そのお問い合わせをいただいたことで、Windows95ではそのような使い方ができたのかと驚いたことを、今でも良く覚えています。
特にインパクト方式のプリンターでは、受信バッファーのメモリー・サイズは2行分程度しかありませんし、印刷速度はAS/400からのデータ送信速度に比べてかなり遅いわけですから、Windowsスプーラーの役割は非常に重要と言えます。

では、次回は、帳票ソリューションを使った印刷方式についてお話しします。

2015年2月2日月曜日

AS/400からの印刷 ~基礎編-3~

TCP/IPが普及してくると、AS/400とプリンターの接続も、TCP/IPでTwinax接続と同様の操作性を求められることになります。
TCP/IPでの接続が、Twinax接続と大きく異なるのは、IBMが独自で決めた規格ではないという点です。RFC(Request for Comments) というインターネット上の公開された場所で定義されたもので、特にTelnet5250Eは、AS/400の端末の表示画面用のプロトコルTelnet5250をプリンター用に拡張したもので、RFC2877の中に記載されています。(この事実だけででも、時代の流れを感じますね。)
同じTelnetでも、端末表示と印刷で大きく異なる要件は、プリンターのエラーをAS/400側に通知する等の「双方向通信」 にあります。
そのため、技術面では、Twinax接続とは次のような違いがあります。
  1. AS/400とプリンターの間は、プリンターから接続に行きます。(Twinaxの場合は、逆)
  2. ユーザー定義文字(いわゆる外字)も通常の文字と同じように、文字コードだけがプリンターに送信されてきますので、プリンター側に予め、文字コードと文字イメージを保管しておく必要があります。
【余談】外字の取り扱いに関しては、Twinax接続は親切にできていて、外字は文字コードと24x24ドットの文字イメージが、一緒にプリンターに送信されてきます。そのため、ユーザーは外字の有無を一切気にする必要はありませんでした。プリンターは、送信された文字コードと文字イメージを一時的に記憶します。そのため、同じ外字の2度目以降の印刷では、文字コードだけが送信され、データ量を最小限に抑えられます。
(電源を切ると、プリンターに記憶した外字の情報は消去されます。)

そして、LAN上を印刷データが流れるということは、メールやインターネットの閲覧等々、様々なデータと混在して流れることを意味しますので、Twianx接続では意識する必要の無かった、ネットワークのトラフィックも考慮することが、避けられなくなりました。
次回では、そのネットワークのトラフィックとの関係で経験した、Telnetでの印刷で発生するようになった問題と対処方法をお知らせします。