そこで、もう一度見直してみると、Windows 3.1 用のヘルプ・ビューアで見られる 「オンライン・ヘルプ・ファイル」というのが ftp できるようになっているとい うことで、それを取ってきてみると、実はこちらがまともなドキュメントで、どう も印刷コストの低減策みたいです。しかし、私のところには Windows マシンがな いものですから、印刷に一苦労。せめて、PostScript 形式のドキュメントも用意 してほしいものです。
さて、これで、時系列のデータの読みだしは簡単にできましたが、アイ・ダイアグ ラムのようなものは、「WAVeform:DATA?」といったコマンドでは無理です。思いつ くのは、プリンタ出力用と思われる「PRINT?」というコマンドを使うことぐらいで すが、データ・フォーマットを含めて、詳細がわかりません。
そこで、サポート窓口に聞いてみると、「アイ・ダイアグラムのようなものは、 34810B という Windows 向けのソフトウェアを使わないとできません。お客様は Unix しか使わないからだめですね」という回答。サポート窓口は、つれなく断る 仕事が多いのか、女性をあてるケースが多いようで、これはまさに適任。
仕方がないので、「PRINT?」コマンドで出てくるデータを解析すると、どうも、プ リンタ向けらしい、ESC シーケンスが見られます。それでは、というわけで、昔の HP のコンピュータのドキュメントを見つけてきて、突き合わせると「HP standard raster scan method」という、素直なラスター・データになっていて、あっさり解 決しました。
このコマンドの出力で使われているシーケンスは、次のとおりです。
ESC * r dots S dots は「640」といった数字で、画像イメージの1行あたりのドット数 ESC * r A 左マージンをカレント・カラムに設定 ESC * b bytes W ラスタ・イメージ・データ .. bytes は W の後に続くラスタ・イメージ・データのバイト数 ESC * r B グラフィック・モード終了(テキスト・モードに戻る) ESC & a position H position は 720 等の数値で 1/720 インチ単位のカーソル位置ラスタ・イメージ・データは、1ラスタ毎のピクセルを8ピクセル単位にまとめた バイト列ですが、各バイトの内容は、MSB が一番左で LSB が一番右、ピクセルが ON なら対応するビットが 1 という規則になっています。
ここまで解れば、後は「PRINT?」コマンドで読みだしたデータを「PBM」形式等に 変換すれば、後はどうにでもなるわけですが、同じような問題に遭遇される方のた めに、簡単ですがpbm 形式に変換するプログラムを付け ておきます。
その後、このコマンド体系は「PCL Document Package」(5021-0330) というマニュ アル・セットにまとめられていることがわかり、カラーの扱いかたもわかりました。 かなり複雑なコマンド・セットですから、すべての可能性を網羅するのは大変です が、手もとにある測定器のカラー出力を処理するものは作ってありますので、ご希 望があれば追加します。
なお、「Tektronix」のオッシロスコープは、標準的なプログラムで扱える、デフ ァクト・スタンダードのイメージ・フォーマットを出力しますので、こういった苦 労をしなくて済みます。
平林浩一, 1997