始めの言葉

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

2017年5月14日日曜日

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

IBM の Boulder(ボルダー)事業所にあるプリンティング・システムズ事業部は、永年、大型のメイン・フレームや AS/400 といったシステムと直接接続して印刷する、大型のシステム・プリンターを開発してきました。それが、1997年に、"Network Printer"というブランド名で、カット紙用の小型レーザー・プリンターを 3 モデルも一気に発表したということは、私にとって驚きでした。
さすがに、プリンターの機構部(エンジンと呼びますが)は、日本のメーカーからの OEM 提供になっていますが、コントローラーと呼ばれる制御基盤や、ネットワークに接続するためのオプション・カードは、独自の設計のものでした。
世界共通仕様の製品になりますから、安価な低速モデルと、その上の中速モデルは、A4 サイズまでの対応となっています。A3 サイズに対応するのは、最上位モデルになりますので、速度が最も速く、給紙ユニットや排紙機構のオプションも、豊富に用意されていました。

各モデルの主な仕様は、次のとおりです。
- Network Printer12(4312-001)
印刷速度 : 12 枚/分(レター・サイズの場合なので、A4 サイズでは、11 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
Netwrok Printer 12

- Network Printer17(4317-001)
印刷速度 : 17 枚/分(レター・サイズの場合なので、A4 サイズでは、16 枚/分)
最大用紙サイズ : レター、A4
解像度 : 600DPI
Network Printer 17 給紙カセット2段と10ビン・メール・ボックス付き

- Network Printer24(4324-001)
印刷速度 : 24 枚/分(レター・サイズの場合なので、A4 サイズでは、23 枚/分)
最大用紙サイズ : レター、A3
解像度 : 600DPI
Network Printer 24

"Network Printer"と名付けたくらいですから、その特徴は様々な接続方式を選択できるところにありました。

1. 通常のLAN(イーサネットもトークン・リングも)接続の他に、メイン・フレームと接続するための "COAX" 接続用のカードや、AS/400 と接続するための "Twinax" 接続カードを選択できました。

2. "COAX" 接続や "Twinax" 接続のために、"SCS" 形式と、"IPDS"(AFP)形式のコマンドをサポートしていました。


3. 通常のLAN接続やパラレル・インターフェイス用には、"PCL"形式と"PostScript"形式、そして"PAGES"形式のコマンドをサポートしていました。

4. 複数のユーザーがネットワークを介して共有する場を想定して、Network Printer17 モデルには"10ビン・メール・ボックス"と呼ぶ、10 段の引き出しになった排紙オプションがありました。この引き出しは、それぞれにパスコードを設定して、プリンターの操作パネルから自分用のパスコードを入力しないと開かないように設定することができました。

5. ネットワークを使って、プリンターがユーザーから離れた場所に設置された場合でも、プリンターの状態を把握できるようにするため、ユーザーの PC にインストールする "Network Printer Manager Utility" という、無償の管理ツールが提供されていました。

また、Network Printer 独自のエピソードとしては、1998年に開催された長野オリンピックで、IBM がスポンサーとなったこともあって、大量の Network Printer 17 が使用されたことが挙げられます。そして、それらは、オリンピック終了後、日本IBM 社内に配布され、オフィス用のプリンターとして使用されたものです。

ただ、COAX接続や、Twinax接続を使ったホスト・システムからの直接印刷は、残念ながら日本語対応されていませんでした。日本語のデータの印刷に対応できたのは、Windows3.1、95、NT4.0 や、OS/2 からの PCL モード用のプリンター・ドライバーと、PAGESを使った印刷でした。

Network Printer 用の PAGES コマンドは、それまでの 558x プリンターのものと次のような違いがあります。
- 対象となるプリンターの解像度が、600DPIであるため、300DPI、600DPI のイメージ・データを扱えること
- n-up 印刷や、排紙トレイの指定等、プリンターの機能に合わせたコマンドが拡張されていること
- APTi 社ではなく、大和研究所のプリンター開発チームによる開発であること

その後、"Network Printer" は、"InfoPrint" にブランド名を変えて、新たにモデルが発表されていきます。





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月8日土曜日

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

"5587-G01" レーザー・プリンターが発表された頃は、日本独自の製品であった"マルチステーション 5550 シリーズ" から、World Wide 標準製品である "PS/2" シリーズの日本語対応版である "PS/55"シリーズに切り替わっていく時代でした。
その移行に対応するために、プリンター側としては、"コンバージド・インターフェイス"と"3バイトECC"に対応しています。
"コンバージド・インターフェイス"と"3バイトECC"については、"プリンターへのデータの流れ - レベルE機能と双方向通信 -"の回をご参照ください。

コンバージド・インターフェイスに対応したプリンターとしては、ドット・プリンターである"5577-G01"が先に発表されています。
ちなみに、"PS/55"では、"PS/2"に対して、日本語フォントをメモリーに内蔵したディスプレイ用のカードを搭載していました。
そして、OS である"J-DOS"は、文字を文字コードとして処理し、画面にはディスプレイ・カードに内蔵した日本語フォントのイメージを表示するという方式を使っています。
ちなみに、"5550 シリーズ"では、"K-DOS"( 漢字 DOS の意味)でしたし、"PS/55" の後の "PC/AT" 互換機では、"DOS/V" となって、共にソフト・フォント(メモリーではなく、ソフトウェアとしてのフォント) となっている点が、大きく異なります。
これは、ちょうどプリンターによる印刷も同じ原理で、J-DOS からは文字コードがプリンターに送られ、プリンターは内蔵しているフォントのイメージを印刷します。
例えば、"5587-G01" プリンターは、240DPI(ドット/インチ)の解像度で、32 x 32 ドット構成の文字を内蔵していましたから、文字コードが送られてくると、32 x 32 ドット構成の文字イメージを印刷します。
この文字が、解像度 180DPI のドット・プリンターが内蔵する 24 x 24 ドット構成の文字と同じ大きさになることは、比例計算すればお分かりになると思います。
"5587-G01" プリンターは、24 x 24 ドット構成の文字、つまりドット・プリンターと同じ文字も内蔵していました。こちらの文字を使うと、ちょうど 3/4 に縮小された文字を印刷することができました。

この当時、"PS/2" から "PS/55" が開発されたように、プリンターの世界でも World Wide 製品を元に日本語対応した製品を開発するという方式が、流行りました。そのレーザー・プリンター版が、"4216-510" プリンターです。
4216 プリンター本体(本来は右に給紙トレイが付く)

"4216" プリンターは、"5587-G01" のプリンター OEM 製造元の会社が開発した、小型のレーザー・プリンターで、接続先のシステムによって、いくかのモデルに分かれます。
それに対して、日本で、"5577互換" の機能(コマンド対応、日本語フォント内蔵)追加を行なったのが、"4216-510" になります。
開発期間の短縮化も求められていたため、"5587-G01" と同じ "3222"互換ではなく、"5577" 互換レベルとしたことは、今から思えば一つの見識だったと思います。
プリンターの機構自体は、小型化を追求した設計となっていて、良いプリンターでしたが、残念ながら対応する用紙サイズが "A4" まででは、国内ではあまり受け入れられませんでした。

一方、その間に、国内の他のレーザー・プリンター・メーカーは、各社独自のコマンド体系を拡充し、それを様々なアプリケーション開発会社に持ち込んで、サポートしてもらってその数を競っていました。そこで、当時のプリンター開発グループでも、各社のコマンドを調査したり、IBM World Wide では標準規格として定義されてきたばかりの "IPDS(Intellient Printer Data Stream)" に習って、"PAGES"(Page printer Advanced Graphics Escape Set)を定義しました。
そして、他社に習って、コマンド解説書を本として準備し、社内のソフトウェア・グループはもちろん、社外のソフトウェア開発会社やユーザーにも情報提供始めました。
"PAGES" のコマンド解説書は、Web でも公開しています。
そして、"PAGES" を装備したプリンターとして始めて発表されたのが、"5587-H01" プリンターです。