JP3408110B2 - 印刷システム及び印刷制御装置及び印刷制御方法 - Google Patents

印刷システム及び印刷制御装置及び印刷制御方法

Info

Publication number
JP3408110B2
JP3408110B2 JP11987297A JP11987297A JP3408110B2 JP 3408110 B2 JP3408110 B2 JP 3408110B2 JP 11987297 A JP11987297 A JP 11987297A JP 11987297 A JP11987297 A JP 11987297A JP 3408110 B2 JP3408110 B2 JP 3408110B2
Authority
JP
Japan
Prior art keywords
ruled line
rectangle
coordinate
data
scan line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11987297A
Other languages
English (en)
Other versions
JPH10305637A (ja
Inventor
陽二 古谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP11987297A priority Critical patent/JP3408110B2/ja
Publication of JPH10305637A publication Critical patent/JPH10305637A/ja
Application granted granted Critical
Publication of JP3408110B2 publication Critical patent/JP3408110B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タに、罫線処理機能を持ったイメージ専用プリンタを接
続した場合の、ホストコンピュータ上のドライバでの、
プリンタコマンド作成処理に関するものである。
【0002】
【従来の技術】近年、画像データを印刷出力する場合、
ホストコンピュータ側で、例えば何等かのアプリケーシ
ョンプログラム等により作成された画像を、プリンタド
ライバによりページ記述言語に変換し、それをプリンタ
に送り付けて印刷させるという印刷システムが普及して
いる。このようなシステムでは、プリンタがページ記述
言語を画像データとして展開する能力を備えていなけれ
ばならず、高価なプリンタが必要とされる。
【0003】
【発明が解決しようとする課題】このような高価なプリ
ンタを必要としないシステムを構築するためには、プリ
ンタを画像データのみをサポートするプリンタとし、ホ
ストコンピュータ側では印刷データを画像データとして
展開した後にプリンタに送り付けるように構成するれば
よい。しかしながら、このようなシステムでは、ホスト
コンピュータからプリンタに送り付けられるデータ量が
莫大な量となり、ホストコンピュータ側では多大なメモ
リを備えねばならないし、高速な印刷を実現するために
は、ホストコンピュータ−プリンタ間を高速な通信路で
接続しなければならない。このようなことは、安価で簡
単な構成のプリンタを使用するという本来の主旨の反す
ることである。
【0004】本発明は上記従来の技術に鑑みてなされて
もので、アプリケーション等から渡される画像データか
ら罫線の印刷命令を作成し、それをプリンタに転送する
ことで印刷データの量を非常に小さくする印刷システム
及び印刷制御装置及び印刷制御方法を提供することを目
的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明はつぎのような構成からなる。すなわち、ホ
ストコンピュータと接続されたプリンタで構成された印
刷システムであって、前記ホストコンピュータは、印刷
指示としてイメージデータをプリンタドライバに渡すア
プリケーションと、前記アプリケーションから渡された
イメージデータをチェックし、塗り潰された矩形イメー
ジならばその矩形の1対の対角点の座標を含む罫線デー
タを生成換し、あるいは、スキャンラインならば、該ス
キャンラインに含まれる黒セグメントの始点と終点とを
記録し、複数のスキャンラインにわたる所定サイズ以上
の矩形となるか判断して、所定サイズ以上の矩形となれ
ば、その矩形の1対の対角点の座標を含む罫線データを
生成するプリンタドライバと、前記プリンタドライバに
より生成された罫線データを含む印刷データをプリンタ
ヘ転送する転送手段とを備え、前記プリンタは、印刷デ
ータを受信し、印刷データに含まれる罫線データ中の対
角点座標に基づいて矩形を展開して印刷し、前記プリン
タドライバは、前記アプリケーションから渡されたイメ
ージデータがスキャンラインならば、該スキャンライン
に含まれる黒セグメントの始点X座標と終点X座標とを
スキャンラインごとに分解表に記録し、該分解表に記録
された黒セグメントの始点座標あるいは終点座標が、そ
の直前のスキャンラインの黒セグメントをY方向に延長
するものではない場合には、当該黒セグメントの始点X
座標とスキャンラインのY座標の組と、終点X座標とス
キャンラインのY座標の組とを、矩形の一対の対角点と
して候補表に登録し、前記候補表に登録された対角点に
より形成される矩形が所定サイズ以上の矩形となれば、
その矩形の1対の対角点の座標を含む罫線データを生成
する
【0006】または、印刷データを受信して印刷する印
刷装置と接続された印刷制御装置であって、塗り潰され
た矩形イメージについては、その矩形の1対の対角点の
座標を含む罫線データを生成し、スキャンラインについ
ては、複数のスキャンラインにわたって所定サイズ以上
の矩形となる黒セグメントがあるか判断して、所定サイ
ズ以上の矩形となれば、その矩形の1対の対角点の座標
を含む罫線データを生成する生成手段と、前記生成手段
により生成された罫線データを含む印刷データをプリン
タヘ転送する転送手段とを備え、前記生成手段は、スキ
ャンラインについては、該スキャンラインに含まれる黒
セグメントの始点X座標と終点X座標とをスキャンライ
ンごとに分解表に記録し、該分解表に記録された黒セグ
メントの始点座標あるいは終点座標が、その直前のスキ
ャンラインの黒セグメントをY方向に延長するものでは
ない場合には、当該黒セグメントの始点X座標とスキャ
ンラインのY座標の組と、終点X座標とスキャンライン
のY座標の組とを、矩形の一対の対角点として候補表に
登録し、前記候補表に登録された対角点により形成され
る矩形が所定サイズ以上の矩形であれば、その矩形の1
対の対角点の座標を含む罫線データを生成する
【0007】または、対角点を含む罫線データを基に罫
線を印刷する印刷装置に対する罫線データを生成する印
刷制御方法であって、塗り潰された矩形イメージについ
ては、その矩形の1対の対角点の座標を含む罫線データ
を生成し、スキャンラインについては、複数のスキャン
ラインにわたって所定サイズ以上の矩形となる黒セグメ
ントがあるか判断して、所定サイズ以上の矩形となれ
ば、その矩形の1対の対角点の座標を含む罫線データを
生成する生成工程と、前記生成工程により生成された罫
線データを含む印刷データをプリンタヘ転送する転送工
程とを備え、前記生成工程は、スキャンラインについて
は、該スキャンラインに含まれる黒セグメントの始点X
座標と終点X座標とをスキャンラインごとに分解表に記
録し、該分解表に記録された黒セグメントの始点座標あ
るいは終点座標が、その直前のスキャンラインの黒セグ
メントをY方向に延長するものではない場合には、当該
黒セグメントの始点X座標とスキャンラインのY座標の
組と、終点X座標とスキャンラインのY座標の組とを、
矩形の一対の対角点として候補表に登録し、前記候補表
に登録された対角点により形成される矩形が所定サイズ
以上の矩形であれば、その矩形の1対の対角点の座標を
含む罫線データを生成する
【0008】または、対角点を含む罫線データを基に罫
線を印刷する印刷装置に対する罫線データを生成するプ
ログラムを記憶するコンピュータ可読の記憶媒体であっ
て、前記プログラムは、塗り潰された矩形イメージにつ
いては、その矩形の1対の対角点の座標を含む罫線デー
タを生成し、スキャンラインについては、複数のスキャ
ンラインにわたって所定サイズ以上の矩形となる黒セグ
メントがあるか判断して、所定サイズ以上の矩形となれ
ば、その矩形の1対の対角点の座標を含む罫線データを
生成する生成手段と、前記生成手段により生成された罫
線データを含む印刷データをプリンタヘ転送する転送手
段とを含み、前記生成手段は、スキャンラインについて
は、該スキャンラインに含まれる黒セグメントの始点X
座標と終点X座標とをスキャンラインごとに分解表に記
録し、該分解表に記録された黒セグメントの始点座標あ
るいは終点座標が、その直前のスキャンラインの黒セグ
メントをY方向に延長するものではない場合には、当該
黒セグメントの始点X座標とスキャンラインのY座標の
組と、終点X座標とスキャンラインのY座標の組とを、
矩形の一対の対角点として候補表に登録し、前記候補表
に登録された対角点により形成される矩形が所定サイズ
以上の矩形であれば、その矩形の1対の対角点の座標を
含む罫線データを生成する
【0009】
【発明の実施の形態】
[第1の実施の形態]図を用いて第1の実施の形態を説
明する。
【0010】図1は、システム全体のうちの、ホストコ
ンピュータ側の詳細を示すブロック図である。 <ホストコンピュータの構成>図において、パーソナル
コンピュータ1は、各種プリンタコマンドを作成してプ
リンタ2ヘ送る、ホストコンピュータである。
【0011】ホスト1内には、さらに、ホスト1全体を
制御する中央処理装置(以下、CPUと呼ぶ)101、
アプリケーションソフトウェア等の表示を行うCRT1
02、ユーザからの指示を入力するためのキーボード1
03、大量のプログラムやデータを内蔵した外部記憶装
置104、ホスト1の全体制御のプログラムの一部や、
表示用のフォントデータの入ったリード・オンリー・メ
モリ(以下、ROMと呼ぶ)105、ランダム・アクセ
ス・メモリ(以下、RAMと呼ぶ)106等で構成され
ている。
【0012】さらに、RAM106の内部には、ホスト
1の全体制御を行うプログラムであるOS107、文書
処理を行うアプリケーションプログラム108、アプリ
ケーションプログラム108からの印刷指示により、印
刷処理のためのプリンタコマンドを作成するドライバ1
09、各種プログラムのワーク領域110が存在する。
【0013】また、ワーク領域110内には、ドライバ
109が、その上に文字,罫線,図形,イメージ等の描
画を行う1ページ分の展開領域としてのフレームバッフ
ァ111、アプリケーション108からドライバ109
に渡される「スキャンライン」をドライバ109が分解
して、黒い線分要素だけを保存しておくためのスキャン
ライン分解表112、スキャンラインを分解した要素を
まとめるための罫線候補表113、文字登録コマンド、
文字印字コマンドを蓄積するための文字蓄積バッファ1
14、罫線コマンドを蓄積するための罫線蓄積バッファ
115が存在する。スキャンラインとは、ラスタイメー
ジを構成する各ラインのことである。
【0014】尚、フレームバッファ111、スキャンラ
イン分解表112、罫線候補表113、文字蓄積バッフ
ァ114、罫線蓄積バッファ115は、アプリケーショ
ン108からドライバ109に対して文書の印刷の指示
が出された場合に設けられ、ドライバ109によるプリ
ンタコマンドの作成処理が完了した時点で削除される。
【0015】ところで、ホスト1には送信部116があ
り、この部分を通して、イメージデータ、文字データ、
罫線データが、プリンタコマンドの形になってプリンタ
2に転送される。これらデータは、アプリケーションか
らプリンタドライバに送り付けられるオブジェクトに基
づいてプリンタドライバで分類され、印刷コマンドに変
換される。本実施の形態では、印刷データに含まれる文
字データは文字登録コマンドとしてプリンタに登録さ
れ、文字コードの印字を示す印刷コマンドにより、登録
された文字コードを用いて文字が印刷される。また、大
きさや出現頻度の点で登録におよばない文字は文字イメ
ージコマンドとして変換され、プリンタで処理される。
【0016】さらに、罫線は、後述するような方法で罫
線コマンドに変換され、プリンタに送られる。プリンタ
では罫線コマンドから罫線画像に展開して印刷する。ま
た、ブロックイメージはそのままあるいは圧縮されてコ
マンドに変換され、プリンタに送り付けられる。 <プリンタの構成>図2は、システム全体の内のプリン
タ側を詳細にしたブロック図である。
【0017】図1でも説明したが、パーソナルコンピュ
ータ1は、登録する文字イメージデータ、印字を指示す
る文字コード、罫線の描画を指示するデータ、圧縮され
たイメージデータを作成してプリンタ2へと送るホスト
コンピュータである。プリンタ2はコントローラ部3と
エンジン部4とを含む。コントローラ部3は、ホストコ
ンピュータ1から送られてくる文字データ、罫線デー
タ、イメージデータを受信し、受信したデータからビデ
オ信号を生成し、エンジン部4に送る役目を負ってい
る。エンジン部4は、コントローラ部3から受け取った
ビデオ信号を用紙に転写して印刷し、排紙する役目を持
つ。
【0018】<コントローラ部>コントローラ部3は、
コントローラ部3全体を制御する中央処理装置(以下、
CPUと呼ぶ)5、CPU5による処理動作を記述した
プログラムの入っているリード・オンリー・メモリ(以
下、ROMと呼ぶ)8、ランダム・アクセス・メモリ
(以下、RAMと呼ぶ)9、ホスト1から文字データ、
罫線データ、イメージデータを受信し、受信したデータ
をRAM9内にある受信バッファ10にセットする受信
部6、受信した圧縮された文字データを伸長して、バン
ドメモリ14,15へ展開する文字伸長回路20、受信
した罫線データの指示に従って、罫線をバンドメモリ1
4,15上へ展開する罫線展開回路21、受信した圧縮
されたイメージデータを伸長して、バンドメモリ14,
15に展開するイメージ伸長回路22、バンドメモリ1
4,15内の展開イメージをビデオ信号に変換して、エ
ンジン部4に出力するイメージ伸長・ビデオ転送回路7
等で構成されている。
【0019】11は受信済みで受信バッファ10にペー
ジ内のバンド毎にセットされた状態の文字データ、12
は受信済みで受信バッファ10にページ内のバンド毎に
セットされた状態の罫線データ、13は受信済みで受信
バッファ10にページ内のバンド毎にセットされた状態
のイメージデータを示している。
【0020】受信バッファ10に受信、セットされるデ
ータは、ページの中が16のバンドに区分され、各バン
ドの中に、文字データ、罫線データ、イメージデータが
それぞれ並んでいる。もちろん、ホスト1上のドライバ
109がこのような並びとしてプリンタ2へ出力してい
る。
【0021】その他、RAM9内には、プログラムのワ
ーク領域16、さらにその中には受信バッファ10に受
信したページごとの文字データ11,罫線データ12,
イメージデータ13を管理するためのページ管理表1
7、圧縮された1文字ごとのドットイメージを貯蔵して
おく、登録文字データ領域19、登録された文字データ
を管理するための、登録文字管理表18等が含まれてい
る。
【0022】尚、受信した文字データ11の中身は、登
録文字と文字コードとで構成されている。ホスト1上で
印刷しようとしている文書で、その中に最初に出現した
文字は、圧縮されて1文字ごとのドットイメージとして
登録文字としてプリンタ2に送られる。また、その最初
の文字位置の印字を含めて、以降の同一文字の印字は、
文字コードによって指示される。
【0023】受信バッファ10に一旦受信された登録文
字は登録文字データ領域19に移し替えられ、蓄えられ
る。文字コードによって印字を指示された場合は、登録
文字データ領域19から、文字コードに対応する登録文
字データが抜き出され、文字伸長回路20で伸長され、
バンドメモリ14,15上に展開される形となる。
【0024】また、罫線データ12は、罫線展開回路2
1によってバンドメモリ14,15上に展開され、圧縮
イメージデータ13は、イメージ伸長回路22によりデ
ータ伸長され、バンドメモリ14,15上に展開され
る。
【0025】尚、バンドメモリはバンドメモリ14,1
5として、2バンド分設けられている。バンドメモリ1
4に展開されたイメージがエンジン部4へ転送されてい
る間に、バンドメモリ15へ文字データ、罫線データ、
イメージデータの展開が行われる。逆に、バンドメモリ
15に展開されたイメージがエンジン部4へ転送されて
いる間に、バンドメモリ14へ文字データ、罫線デー
タ、イメージデータの展開が行われる。このようにイメ
ージ展開とその出力とがバンド単位で交互に行われて、
1ページ分の印刷処理が完了する。ここでは、それぞれ
のバンドメモリ14,15の高さは、縦置きの用紙1ペ
ージを、行方向に短冊形に16等分したものである。
【0026】イメージ伸長・ビデオ転送回路7は、バン
ドメモリ14、バンドメモリ15のメモリイメージを、
交互にビデオ信号に変換してエンジン部4へ転送する。
それに加えて、ドライバから送られてくるバンドデータ
が空白データのバンドのときは、その部分のビデオ信号
はエンジン部4に何も転送しない機能を持つ。さらに、
ドライバから送られてくるバンドデータに単一の圧縮ブ
ロックイメージしか含まれていないときは、その圧縮さ
れたブロックイメージを、バンドメモリ14,15に展
開せず、直接イメージデータの伸長、ビデオ信号への変
換を行い、エンジン部4へ転送する機能を持つ。つま
り、3つの機能を合わせ持っている。
【0027】ところで、コントローラ部3のCPU5
は、RAM9の内部の受信バッファ10やページ管理表
17、登録文字管理表18などを用いたメモリ管理を行
うだけなので、処理能力のそれほど高くない安価な製品
で良い。
【0028】<エンジン部>次に、エンジン部4の説明
を行う。エンジン部4にもCPU31やメモリ32があ
り、メモリ32には制御プログラムの入ったROM33
や、プログラムのワーク領域としてのRAM34が含ま
れる。ビデオ受信部35は、コントローラ部3からのビ
デオ信号を受信し、現像定着部37で用紙に画像を転写
する。給紙部36は、未使用の白い用紙を用紙カセット
等から取り込む役目をし、現像定着部37は、上述のよ
うに用紙に画像を転写して定着し、排紙部38は印刷済
みの用紙を排出する。
【0029】尚、図2において、太い矢印は、文字デー
タ、罫線データ、イメージデータやビデオ信号の流れ、
あるいは、エンジン部4では用紙の流れを示している。
また、細い矢印は、各部分間の制御のやり取りを示して
いる。コントローラ部3のCPU5と、エンジン部4の
CPU31も、互いに情報のやり取りを行う。ビデオの
転送や、用紙の搬送等の、印刷処理の制御にかかわる情
報である。 <プリンタドライバにおける罫線コマンドの生成>図3
は、アプリケーション108からドライバ109へ渡さ
れるイメージデータから、罫線コマンドを作成する方法
の原理の説明図である。
【0030】第1の方法は、アプリケーション108か
らドライバ109にイメージオブジェクトを渡し、ドラ
イバ109でそれを印刷データに展開する場合の作成方
法である(図3(a))。すなわち、矩形イメージの貼
り付け指示が届いた場合は、ドライバ109は、矩形イ
メージの内部が真っ黒に塗り潰されているかチェック
し、真っ黒であるなら、罫線、つまり内部が黒い細長い
矩形であると判断して、罫線コマンドを作成する。その
際、その矩形イメージの左上端座標が、罫線コマンドで
の左上端座標となり、その矩形イメージの右下端座標
が、罫線コマンドでの右下端座標となる。
【0031】第2の方法は、アプリケーション108か
らドライバ109にラスタイメージの各ライン(スキャ
ンラインと称する)が一本ずつ送られてくる場合の方法
である。スキャンライン中の黒い部分を重ねていって、
矩形にするなら、それを一つの罫線として、罫線コマン
ドを作成する(図3(b))。
【0032】尚、スキャンラインが追加される度に矩形
の下方が伸びてゆくのならば、罫線の右下端座標値が、
その都度1ドットずつ加算されてゆくだけである。つま
り、罫線のコマンドは、一つの矩形にひとつだけであ
る。このため、矩形の数が変わらない限りデータ量が増
えることはない。
【0033】ところで、第2の方法の実際の作業は、後
述する罫線候補表を用いて行われる。罫線候補表につい
ては図6で説明する。
【0034】図4はスキャンラインの詳細を説明するた
めの図である。
【0035】図3(b)においては、スキャンラインの
黒い部分を重ねていって矩形を形成することを説明した
が、一本のスキャンラインは白い部分と黒い部分が混じ
った形で送られてくる。縦の罫線が数本あるだけの文書
では、スキャンラインは、縦の罫線の太さ部分だけ数箇
所黒く、あとはすべて白の部分となる。
【0036】図4では、説明のために罫線の太さをかな
り誇張して表わしている。この黒い部分の上下方向の重
なりで矩形が形成されるなら罫線と判断して、罫線コマ
ンドを作成する。
【0037】図5は、スキャンラインを分解して、黒セ
グメントだけを取り出してその始点と終点のX座標を表
にしたスキャンライン分解表である。
【0038】アプリケーション108からドライバ10
9に1本のスキャンラインが送られると、まず、黒いセ
グメントだけを取り出す。その上で、図3の第2の方法
で示した、矩形になるかどうかのチェックを行う。
【0039】図5では、黒セグメントの番号として、1
番から100番までが与えられている。これは、罫線コ
マンド作成の対象としては、用紙の左端から数えて10
0本分もあれば十分であるためである。それ以上は、フ
レームバッファ111上にイメージとして展開する。ま
たこの値は、プリンタ2側でバンド出力処理した際の、
罫線の展開能力を考慮した限界値でもある。
【0040】この表は、初期的には−1が充填されてい
る。アプリケーション108からスキャンラインが送り
付けられると、黒セグメントだけをラインの左端から順
に100個分取り出し、各黒セグメントの、開始X座標
と終了X座標とがセットされる。尚、黒い要素が100
個に満たない場合は、黒セグメントの座標がセットされ
ない部分は−1がセットされたままとなる。
【0041】図6は罫線候補表113である。スキャン
ライン分解表112で得られたスキャンラインの黒セグ
メントを上下方向に重ねる作業を行うときに用いる。
【0042】罫線候補ナンバーは、1から100までと
している。これも、図5での説明と同様、罫線があった
としても罫線コマンドの対象としては、用紙の左端から
数えて、100本分もあれば十分であることと、プリン
タ2側の、バンド出力処理した際の、罫線の展開能力を
考慮した限界値が100本ということである。
【0043】罫線候補表113内には、スキャンライン
の黒セグメントが上下方向に重ねられ矩形となった各セ
グメントが記録されている。以下、処理作業を順を追っ
て説明すると、次のようになる。
【0044】この表は、初期的に−1で充填される。そ
のページで先頭のスキャンラインがアプリケーションか
らプリンタドライバに送り付けられたときは、スキャン
ライン分解表112の内容が、そのまま罫線候補表11
4に転写される。つまり、スキャンライン分解表112
の分解ナンバーの各項目は、罫線候補表113の罫線候
補ナンバーの各項目に移される。このとき、スキャンラ
イン分解表112の開始X座標,終了X座標は、罫線候
補表113の左上端X座標,右下端X座標にそれぞれ移
される。尚、左上端Y座標,右下端Y座標は、最初のス
キャンラインのY座標、例えば第1番目のラインから数
えたライン番号がセットされる。
【0045】その後、次々とスキャンラインが届くと、
矩形が下方に伸びるのであれば、罫線候補表113の右
下端Y座標値が1ずつ加算される。
【0046】つまり、スキャンライン分解表112の一
つ一つの要素について、罫線候補表113の各矩形要素
について、開始X座標、終了X座標が一致しているかど
うかチェックし、一致している要素があったならば、そ
の矩形要素の右下端Y座標値を1加算するわけである。
【0047】しかし、あるスキャンラインが届いても、
それに含まれる黒セグメントのX座標に一致する要素が
罫線候補表113中になくて、罫線候補表113の中の
ある矩形要素が下方に伸びないときは、その矩形要素
が、横方向32ドット以上かあるいは縦方向が32ドッ
ト以上であるなら、その矩形に相当する罫線コマンドを
作成して罫線蓄積バッファ115に保存し、コマンドが
作成された矩形要素を罫線候補表113上からクリアす
る。
【0048】また、その矩形要素が、横方向32ドット
未満で、縦方向32ドット未満であった場合は、その矩
形要素をフレームバッファ111上に展開してから、そ
の矩形要素を罫線候補表113上からクリアする。
【0049】一方、あるスキャンラインが届いて、スキ
ャンライン分解表112の中の一つの要素が、罫線候補
表113の各矩形要素のいずれについても、下方に矩形
を伸ばすものではない場合は、罫線候補表113の罫線
候補ナンバーで−1にクリアされている位置に、その要
素を新しい矩形要素として、新規にセットする。
【0050】つまり、その要素については、スキャンラ
イン分解表112の開始X座標、終了X座標は、罫線候
補表113の左上端X座標、右下端X座標に移され、左
上端Y座標、右下端Y座標は、そのスキャンラインのY
座標がセットされる。
【0051】そのうえで、左上端X座標値の昇順に、ソ
ートされる。
【0052】尚、罫線候補表113に新規セットしよう
としても、クリアされているナンバー位置がない場合、
すなわち表113に空きがない場合には、その分解要素
は、フレームバッファ111上に展開される。
【0053】ところで、アプリケーション108からド
ライバ109に、すべてのイメージデータが渡されて、
そのページの印刷実行が指示された場合は、罫線候補表
113のすべての矩形要素について、その矩形要素が所
定サイズ以上、たとえば、横方向32ドット以上か、あ
るいは縦方向が32ドット以上であるなら、その矩形に
相当する罫線コマンドを作成して、罫線蓄積バッファ1
15に保存し、その矩形要素が横方向32ドット未満
で、しかも、縦方向32ドット未満であった場合は、そ
の矩形要素をフレームバッファ111上に展開する。そ
して、罫線候補表113上から情報をクリアする。この
ように所定サイズ以上であるか判定するのは処理時間お
よび生成されるデー多量を本来の効果が損なわれるほど
にに増大させないためである。たとえば擬似ハーフトー
ンイメージなどを罫線データに置き換えてしまうと、擬
似ハーフトーンイメージは細かな黒セグメントの集積で
実現されているために、多大な判定処理が必要になると
共に、生成される罫線データも多量なデータとなる。そ
のため、矩形を罫線データとしていわば符号化すること
による効果がそこなわれてしまう。 <コマンド体系>図7は、ホスト1のプリンタドライバ
で作成されてプリンタ2へ送られる、プリンタコマンド
としての文字データ,罫線データ,イメージデータのコ
マンド構造説明図である。
【0054】先頭には、ジョブ開始コマンド41、次に
ページ毎にページ開始コマンド42、ページ内のバンド
毎にバンド開始コマンド43と続く。バンド開始コマン
ド43は、1ページあたりのバンド数分、本実施形態の
場合には16個繰り返される。文字データ,罫線デー
タ,イメージデータがないバンドについても、バンド開
始コマンド43は発行される。
【0055】さらに、印字位置を示すポインタの位置移
動コマンド44、その後に、種別コマンド45、コマン
ド列46と続く。種別コマンド45は、その直後に続く
コマンド列46の種類を区別するためのコマンドであ
る。コマンド列46には、文字登録を行なうもの、文字
の印字を指示するもの、罫線の描画を指示するもの、イ
メージの印字を指示するもの等、数種類の形式がある。
詳細は図8で説明する。印刷する文書のページ数分、ペ
ージ開始コマンド42以降の命令群が繰り返されて、最
後にジョブ終了コマンド47で、一つの文書の印字コマ
ンドが終了する。
【0056】尚、図7では、種別コマンド45の前に必
ず位置移動コマンド44がセットされているが、常時必
要とは限らない。例えば、種別45、コマンド列46が
文字の登録だけを行う場合は、位置移動コマンド44は
不要である。
【0057】<コマンドの種類>図8は、種別ごとのコ
マンド列46の構造の説明図である。
【0058】種別45が1の場合は、「文字登録のみ」
の作業を示す。まずはじめに書体番号51が来て、次に
文字コード52、データの大きさ53と続き、最後に、
圧縮された文字のドットイメージデータ54がセットさ
れる。種別1は、アプリケーションから受けたオブジェ
クトに文字が含まれている場合に、その文字をプリンタ
に登録すべく作成されるコマンドである。
【0059】プリンタ2では、種別1のコマンドを受け
ると、登録される文字データを、プリンタ2のRAM9
上の登録文字データ領域19に書体ごとに区分けして、
文字コードと1対1の関連を持って登録する。具体的に
は、これらの区分け、関連等は、登録文字管理表18上
で管理される。
【0060】種別45が2の場合は、「文字登録+印
字」の作業を示し、登録と同時に印字も行う。コマンド
列46の形式は、種別45が1の場合と同一である。こ
の場合の文字コード52は、登録する文字のコード割り
当てを意味すると同時に、すでに登録済み文字の、印字
を指示する文字コードをも意味する。これは、種別1と
同様に、オブジェクトに文字が含まれている場合に、そ
れをプリンタ2に登録すべく作成されるコマンドであ
る。種別2のコマンドを受けた場合には、文字の登録に
加えて、登録された文字を印字する。
【0061】種別45が3の場合は、「文字イメージ印
字のみ」の作業を示している。つまり、文字のドットイ
メージデータを、プリンタには登録せずに印字するだけ
である。コマンド列46は、データの大きさ53に続
き、圧縮された文字のドットイメージデータ54がある
だけである。
【0062】種別45が4の場合は、「文字コード印
字」の作業を示し、コマンド列46は、書体番号51の
後に、文字コード52が続く。コントローラ部3は、こ
の書体番号51と文字コード52を基に、登録文字管理
表18を調べて、登録文字データ領域19から目的の登
録文字データを探し出し、文字伸長回路20でデータを
伸長してバンドメモリ14,15に展開する。
【0063】種別45が5の場合は、「罫線の描画」の
作業を示し、コマンド列46は、一本の罫線をあらわす
矩形の右下端のX座標55、右下端Y座標56と続く。
プリンタ2ではこのコマンドを受けると指定された座標
を左上及び右下の対角点とした黒い矩形を展開して印刷
する。
【0064】種別45が6の場合は、「ブロックイメー
ジの貼り付け」の作業を示し、コマンド列46は、ブロ
ックイメージの縦のサイズ57、ブロックイメージの横
のサイズ58、データの大きさ59と続き、最後に圧縮
されたブロックイメージデータ60がセットされる。コ
ントローラ部3は、圧縮されたブロックイメージデータ
をイメージ伸長回路22を用いてデータ伸長し、バンド
メモリ14,15上に展開する。
【0065】種別45としては、上記6つが含まれる。
【0066】図9は、一本の罫線描画をコマンドで指示
する時の説明図である。一本の罫線を示す細長い矩形の
左上端座標は、位置移動コマンド44で指示され、右下
端座標は、種別45が5のときのコマンド列46の右下
端のX座標55、右下端Y座標56によって指示され
る。 <プリンタドライバによる罫線処理の手順>次に、本発
明の第1の実施の形態の動作を、フローチャートを用い
て説明する。
【0067】図10はホスト1上のプリンタドライバ1
09の動作を説明するフローチャートである。プリンタ
ドライバ109は、ユーザが用いるアプリケーションソ
フト108で作成した文書データから、図7,図8で説
明した文字や罫線,イメージのプリンタコマンドを作
成、プリンタ2へ転送する役目を持つ。ユーザがアプリ
ケーションソフト108から文書の印刷を指示すると、
ホスト1内でプリンタドライバ109が起動される。
【0068】ドライバ109は、起動時には、ホスト1
のRAM106のワーク領域110上に1ページ分の大
きさのイメージ展開領域としてのフレームバッファ11
1を確保し、それ以外にもスキャンライン分解表11
2、罫線候補表113、文字蓄積バッファ114、罫線
蓄積バッファ115の領域も確保する。
【0069】また、ドライバ109による文書印刷処理
の終了時には、フレームバッファ111、スキャンライ
ン分解表112、罫線候補表113、文字蓄積バッファ
114、罫線蓄積バッファ115として使われていたメ
モリ領域は開放される。
【0070】処理としては、まず、ステップS1でアプ
リケーション108に対して、“プリンタはイメージモ
ードをサポート”と宣言する。この宣言に対して、アプ
リケーションプログラムは、イメージをオブジェクト単
位で、あるいはラスタラインごとにイメージをプリンタ
ドライバに渡す。
【0071】ステップS2でプリンタの解像度、1ペー
ジ分のフレームバッファの横ドットサイズ、縦ドットサ
イズをアプリケーション108に知らせ、ステップS3
でフレームバッファ111、文字蓄積バッファ114、
罫線蓄積バッファ115、罫線候補表113をクリアす
る。
【0072】そして、ステップS4ではアプリケーショ
ン108から描画指示があったかチェックし、YESな
らステップS5で文字処理、罫線処理、イメージ処理を
実行した後、ステップS4の直前に戻ってループを形成
し、アプリケーションからの次の指示を待つ形となる。
【0073】ステップS4でNOならステップS6でア
プリケーションから描画中であったページの描画終了指
示があったかチェックし、YESならステップS7でプ
リントコマンドの作成とプリンタへのデータ転送を実行
した後、ステップS4の直前に戻ってループを形成し、
アプリケーションからの次の指示を待つ形となる。
【0074】ステップS6でNOなら、ステップS8で
アプリケーション108から印刷中の文書について印刷
作業の完了の指示があったかチェックし、YESならス
テップS9で、ジョブ終了コマンド47をプリンタ2へ
転送して、ドライバ109の処理を終了する。
【0075】ステップS8でNOなら、ステップS4の
直前に戻ってループを形成し、アプリケーションからの
次の指示を待つ形となる。
【0076】図11乃至図13は、図10のステップS
5の「文字処理、罫線処理、イメージ処理」の詳細を説
明するためのフローチャートである。
【0077】このルーチンでは、まず、ステップS11
でアプリケーション108からの描画指示が矩形イメー
ジの貼り付け指示がチェックし、YESならステップS
12で、文字情報が貼付されているかチェックし、YE
SならステップS13で、この文字はこの印刷ジョブの
中で初めて現れた文字かチェックし、YESならステッ
プS14で、矩形イメージ、つまり文字ボックスの大き
さの文字イメージをデータ圧縮し、文字登録コマンドを
作成して文字蓄積バッファ114に保存する。その後
は、ステップS15で文字印字コマンドを作成し、文字
蓄積バッファ114に保存して、このルーチンからリタ
ーンする。
【0078】ステップS13でNOなら、ステップS1
5の処理を行って、このルーチンからリターンする。
【0079】ステップS12でNOなら、つまり、文字
ではないのなら、ステップS16で矩形イメージの中身
が真っ黒に塗りつぶされたものかチェックし、YESな
らステップS17で矩形イメージの大きさに相当する罫
線コマンドを作成し、罫線蓄積バッファに保存して、こ
のルーチンからリターンする。
【0080】ステップS16でNOなら、ステップS1
8でフレームバッファ111に矩形イメージを展開し
て、このルーチンからリターンする。
【0081】ステップS11でNOなら、アプリケーシ
ョン108からの描画指示が、矩形イメージの貼り付け
ではなく、一本のスキャンラインであることを意味して
いるので、ステップS19でスキャンラインを分解して
黒の部分だけを取り出し、スキャンライン分解表112
に保存する。尚、ステップS19の動作の詳細について
は、後述の図14のフローチャートであらためて説明す
る。
【0082】ところで、ステップS19の後は、ステッ
プS20で変数mにスキャンラインを分解して得られた
黒い要素の総数を代入し、ステップS21で変数mが0
か、つまり、黒い要素が何も無かったかチェックし、Y
ESならこのルーチンからリターンする。
【0083】ステップS21でNOなら、ステップS2
2で変数nに1をセットし、ステップS23でスキャン
ライン分解表112のn番目の黒い要素の開始X座標、
終了X座標に一致する罫線候補が、罫線候補表113の
中に含まれるかチェックする。
【0084】そして、ステップS24で、“一致する罫
線候補がある”と判断されたなら、ステップS28で罫
線候補表113の中の相当する罫線候補の右下端Y座標
に1を加算する。
【0085】ステップS24でNOなら、ステップS2
5で罫線候補表113の中に新たに罫線候補を登録する
ための空きがあるかチェックし、YESならステップS
27で、スキャンライン分解表のn番目の要素を罫線候
補表113の新たな罫線候補として新規追加し、その直
後、罫線候補表113を左上端X座標の値でソートして
おく。
【0086】ステップS25でNOなら、ステップS2
6でフレームバッファ111にスキャンライン分解表の
n番目の要素を展開する。
【0087】ステップS26、S27、S28のあと
は、ステップS29に移り、変数nに1を加算し、ステ
ップS30で変数nが変数mに1を加算した値より小さ
いかチェックし、YESならスキャンライン分解表11
2の中に、まだチェックしていない要素が残っているこ
とを示しているので、ステップS23の直前に戻って、
次の要素のチェックを行う。
【0088】ステップS30でNOなら、スキャンライ
ン分解表112の中のすべての黒い要素のチェックが完
了したことを示しているので、次にステップS31に進
む。
【0089】ステップS31では、今回のスキャンライ
ン分解表112のチェックで、罫線候補表113の中の
罫線候補群のうち、右下端Y座標が加算されなかった罫
線候補をピックアップし、ステップS32ではピックア
ップされた罫線候補の総数を変数mにセットする。
【0090】そして、ステップS33で変数mが0かチ
ェックし、YESならこのルーチンからリターンする。
つまり、すべての罫線候補が右下端Y座標を1加算した
なら何もせず、このルーチンから抜ける。
【0091】ステップS33でNOなら、つまり、罫線
候補の中に右下端Y座標が加算されなかったものがある
ならステップS34で変数nに1をセットし、次にステ
ップS35でピックアップした罫線候補のうちのn番目
の候補は、罫線に相当する矩形の形として横サイズが3
2ドット以上か、あるいは、縦サイズが32ドット以上
かチェックし、YESならステップS37でピックアッ
プした罫線候補のうちのn番目の候補から罫線コマンド
を作成し、罫線蓄積バッファに保存する。
【0092】ステップS35でNOなら、ステップS3
6でピックアップした罫線候補のうちのn番目の候補の
矩形イメージを、フレームバッファ111に展開する。
つまり、あまりに小さい矩形の要素は、罫線コマンドに
変換せず、イメージとして処理する。
【0093】ステップS36あるいはステップS37の
後は、ステップS38でピックアップした罫線候補のう
ちのn番目の候補を罫線候補表113からクリアし、ス
テップS39で変数nに1を加算する。
【0094】そして、ステップS40で変数nが変数m
に1を加算した値より小さいかチェックし、YESなら
ステップS35の直前に戻り、ピックアップした罫線候
補のうちの次の候補のチェックを続ける。ステップS4
0でNOなら、すべての処理を完了したことになるの
で、このルーチンからリターンする。
【0095】図14は、図11のステップS19の「ス
キャンライン分解作業」の詳細を説明するためのフロー
チャートである。
【0096】まず、ステップS51ではスキャンライン
分解表112をクリアし、ステップS52で変数mに1
00をセットし、ステップS53では変数nに1をセッ
トする。
【0097】そして、ステップS54でスキャンライン
を分解した場合、n番目の黒セグメントはあるかチェッ
クし、ないならば、このルーチンからリターンする。
【0098】あるならば、ステップS55でスキャンラ
イン分解表112のn行目に黒い要素の開始X座標、終
了X座標を登録し、ステップS56で変数nに1を加算
し、ステップS57で変数nが変数mに1を加算した値
より小さいかチェックする。
【0099】ここで、YESならステップS54に戻
り、次の黒セグメントの処理を続ける。ステップS57
でNOなら、ステップS58でスキャンラインに101
番目以降の黒セグメントがあるかチェックし、NOなら
このルーチンからリターンする。YESならステップS
59で101番目以降の黒セグメントをフレームバッフ
ァ111上に展開してからこのルーチンからリターンす
る。
【0100】図15,図16は、図10のステップS7
で示したプリントコマンドの作成と、プリンタ2へのデ
ータ転送作業の詳細を説明するためのフローチャートで
ある。
【0101】まず、ステップS61で罫線候補表113
の中に罫線の候補があるかどうかチェックし、ないなら
ステップS70へ飛ぶ。罫線候補があるなら、ステップ
S62で変数mに罫線候補の数をセットし、ステップS
63で変数nに1をセットする。
【0102】そして、ステップS64で、n番目の罫線
候補の矩形のサイズが横サイズが32ドット以上ある
か、あるいは、縦サイズが32ドット以上あるかチェッ
クし、NOならステップS66でn番目の罫線候補をフ
レームバッファ111に展開する。
【0103】ステップS64でYESなら、ステップS
65でn番目の罫線候補の矩形の大きさの罫線コマンド
を作成し、罫線蓄積バッファ115に保存する。
【0104】ステップS65、あるいはステップS66
のあとはステップS67でn番目の罫線候補を罫線候補
表113上からクリアし、ステップS68で変数nに1
を加算し、ステップS69で変数nが変数mに1を加算
した値より小さいかチェックし、YESならステップS
64に戻って次の罫線候補の処理を続ける。
【0105】ステップS69でNOなら、ステップS7
0へ飛ぶ。
【0106】ステップS70では、印刷しようとしてい
るページが、この印刷ジョブの最初のページかどうかチ
ェックし、YESならステップS71でジョブ開始コマ
ンド41をプリンタ2へ転送してからステップS72へ
移る。ステップS70でNOなら何もせずにステップS
72に移る。
【0107】ステップS72では、まず、変数mに16
をセットする。この16という値は、フレームバッファ
111を16個の短冊形のバンドに等分するという意味
での値である。
【0108】そして、ステップS73で、変数nに1を
セットし、ステップS74で変数nが1かチェックし、
YESならステップS75でページ開始コマンド42と
バンド開始コマンド43をプリンタ2へデータ転送し、
ステップS76で文字蓄積バッファ114から文字登録
コマンドをピックアップし、プリンタへデータ転送し、
ステップS78へ移る。
【0109】ステップS74でNOのときは、ステップ
S77でバンド開始コマンドをプリンタ2へ転送してか
らステップS78に移る。
【0110】ステップS78では、文字蓄積バッファ1
14からn番目のバンドに所属する文字印字コマンド
を、すべてピックアップする。ここでは、一つの文字ボ
ックスの一部分でもn番目のバンドにかかっているので
あれば、そのバンドに所属する文字印字コマンドとして
処理する。つまり、バンドとバンドにまたがって文字が
印字される場合は、両方のバンドに所属する形でプリン
タ2へ文字印字コマンドが転送される。
【0111】ステップS78のあと、ステップS79で
位置移動コマンド44をn番目のバンドの左上端を原点
として座標修正し、ステップS80で文字印字のための
コマンド群をプリンタ2にデータ転送する。
【0112】そして、ステップS81では、罫線蓄積バ
ッファ115からn番目のバンドにかかっている罫線コ
マンドをピックアップし、ステップS82でピックアッ
プした罫線コマンドのうちn番目のバンドからはみ出し
た部分は、切り捨てるように罫線コマンドを修正、作成
し、ステップS83で位置移動コマンドや修正した罫線
コマンドを、バンドの左上端を原点として座標修正を
し、ステップS84で罫線のためのコマンド群をプリン
タ2へデータ転送する。
【0113】尚、上記における“修正した罫線コマン
ド”は、罫線蓄積バッファ115の中に保存されている
罫線コマンドとは別に作成される。罫線蓄積バッファ1
15内の罫線コマンドは、そのままの形で保存される。
これは別の位置のバンドの処理の際にも、同じ罫線コマ
ンドが使用される可能性があるからである。
【0114】ステップS84のあとは、ステップS85
でフレームバッファ111から、n番目のバンド領域の
中で、イメージのある部分だけを単一の矩形のブロック
イメージとして切り出し、データ圧縮し、ステップS8
6で位置移動コマンド44、ブロックイメージコマンド
を作成し、ステップS87でプリンタ2へデータ転送す
る。
【0115】そして、ステップS88で変数nに1を加
算し、ステップS89で変数nが変数mに1を加算した
値より小さいかチェックし、小さいなら処理されていな
いバンドが残っていることを示しているので、ステップ
S77に戻って次のバンドの処理を行う。
【0116】ステップS89でNOなら、ステップS9
0で文字蓄積バッファ114、罫線蓄積バッファ11
5、フレームバッファ111をクリアしてから、このル
ーチンからリターンする。
【0117】以上、ホスト1上のドライバ109の動作
についてフローチャートを用いて説明した。
【0118】一方、こうして作成された印刷コマンド
は、プリンタ2において解釈され、バンドごとのイメー
ジとしてバンドメモリ14と15に交互に展開されて印
刷される。 [第1の実施の形態特有の効果]以上説明した本実施形
態の印刷システムはつぎのような効果がある。
【0119】(1)本実施の形態では、プリンタドライ
バは、文字や罫線はコードやコマンドでプリンタへ転送
するので、文字の多い文書や表の文書ではデータ量が少
なくて済む。
【0120】(2)本実施の形態では、アプリケーショ
ンが「イメージデータしかドライバに渡さない」原則で
動作していて、罫線の貼り付け指示についても罫線とし
て直接的にはドライバに出さず、イメージの貼り付けコ
マンドとして、“罫線”をドライバに渡しても、ドライ
バはその貼り付けイメージをチェックして、罫線コマン
ドに変換して、プリンタに転送するので、表の文書で
は、データ量が少なくて済む。
【0121】(3)本実施の形態では、アプリケーショ
ンが「イメージデータしかドライバに渡さない」原則で
動作していて、罫線の貼り付け指示についても罫線デー
タとして直接的にはドライバに出さず、一本一本のスキ
ャンラインとして、“罫線”をドライバに渡しても、ド
ライバはそのスキャンラインをまとめて、黒い矩形の部
分を罫線コマンドに変換して、プリンタに転送するの
で、表の文書ではデータ量が少なくて済む。
【0122】(4)本実施の形態では、ホスト上のドラ
イバは、バンドの大きさそのもののイメージデータをプ
リンタに送るのではなくて、バンドの領域の中の、実際
にイメージのある矩形部分だけをプリンタへ送るので、
転送データ量は小さくなる。
【0123】(5)本実施の形態では、プリンタ内では
バンドメモリを設けて、バンド処理による印刷出力を行
うので、メモリが少なくて済み、低コストである。 [第2の実施の形態]上記実施の形態において、印刷デ
ータ中のバンドの数、高さを可変とし、プリンタドライ
バ上では、イメージデータについて、バンド単位に繰り
返しのイメージのパターンがある場合は、バンドの繰り
返しのコマンドをプリンタに送ることで、イメージデー
タの転送量を小さくすることができる。 [第3の実施の形態]第1の実施の形態に加えて、プリ
ンタがオーバーランするか、あるいはメモり不足となり
そうな印刷データをプリンタドライバで判定し、オーバ
ーランあるいはメモリ不足しそうな場合には、プリンタ
ドライバでイメージデータとして展開し、プリンタに送
り付けることも出来る。
【0124】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0125】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても達成される。
【0126】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成する。
【0127】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0128】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0129】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0130】
【発明の効果】以上説明したように、本発明によれば、
画像データから罫線を識別してそれを罫線データとして
圧縮することが出来るため、印刷データの量を縮小で
き、データの転送時間を短縮し、プリンタで必要とされ
るメモリの量を縮小し、経済的で効率的な印刷システ
ム、印刷制御装置及び印刷制御方法を提供できる。
【0131】
【図面の簡単な説明】
【図1】印刷システムのブロック図(ホスト側部分)で
ある。
【図2】印刷システムのブロック図(プリンタ側部分)
である。
【図3】イメージデータから罫線コマンドを作成する方
法の原理の説明図である。
【図4】スキャンラインの詳細の説明図である。
【図5】スキャンラインの分解表の説明図である。
【図6】罫線候補表の説明図である。
【図7】コマンドの構造の説明図である。
【図8】コマンド列の構造の説明図である。
【図9】罫線の座標指定の説明図である。
【図10】プリンタドライバの動作を説明するフローチ
ャートである。
【図11】「文字処理、罫線処理、イメージ処理」ルー
チンのフローチャートである。
【図12】「文字処理、罫線処理、イメージ処理」ルー
チンのフローチャートである。
【図13】「文字処理、罫線処理、イメージ処理」ルー
チンのフローチャートである。
【図14】「スキャンライン分解作業」のフローチャー
トである。
【図15】「プリントコマンドの作成作業と、プリンタ
へのデータ転送作業」ルーチンのフローチャートであ
る。
【図16】「プリントコマンドの作成作業と、プリンタ
へのデータ転送作業」ルーチンのフローチャートであ
る。
【符号の説明】 1 ホスト 2 プリンタ 3 コントローラ部 4 エンジン部 5 CPU 6 受信部 7 イメージ伸長・ビデオ転送回路 8 ROM 9 RAM 10 受信バッファ 11 文字データ 12 罫線データ 13 イメージデータ 14 バンドA 15 バンドB 16 ワーク領域 17 ページ管理表 18 登録文字管理表 19 登録文字データ領域 20 文字伸長回路 21 罫線展開回路 22 イメージ伸長回路 31 CPU 32 メモリ 33 ROM 34 RAM 35 ビデオ受信部 36 給紙部 37 現像定着部 38 排紙部

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータと接続されたプリン
    タで構成された印刷システムであって、 前記ホストコンピュータは、印刷指示としてイメージデ
    ータをプリンタドライバに渡すアプリケーションと、前
    記アプリケーションから渡されたイメージデータをチェ
    ックし、塗り潰された矩形イメージならばその矩形の1
    対の対角点の座標を含む罫線データを生成し、あるい
    は、スキャンラインならば、該スキャンラインに含まれ
    る黒セグメントの始点と終点とを記録し、複数のスキャ
    ンラインにわたる所定サイズ以上の矩形となるか判断し
    て、所定サイズ以上の矩形となれば、その矩形の1対の
    対角点の座標を含む罫線データを生成するプリンタドラ
    イバと、前記プリンタドライバにより生成された罫線デ
    ータを含む印刷データをプリンタヘ転送する転送手段と
    を備え、 前記プリンタは、印刷データを受信し、印刷データに含
    まれる罫線データ中の対角点座標に基づいて矩形を展開
    して印刷し、 前記プリンタドライバは、前記アプリケーションから渡
    されたイメージデータがスキャンラインならば、該スキ
    ャンラインに含まれる黒セグメントの始点X座標と終点
    X座標とをスキャンラインごとに分解表に記録し、該分
    解表に記録された黒セグメントの始点座標あるいは終点
    座標が、その直前のスキャンラインの黒セグメントをY
    方向に延長するものではない場合には、当該黒セグメン
    トの始点X座標とスキャンラインのY座標の組と、終点
    X座標とスキャンラインのY座標の組とを、矩形の一対
    の対角点として候補表に登録し、前記候補表に登録され
    た対角点により形成される矩形が所定サイズ以上の矩形
    となれば、その矩形の1対の対角点の座標を含む罫線デ
    ータを生成することを特徴とする印刷システム。
  2. 【請求項2】 印刷データを受信して印刷する印刷装置
    と接続された印刷制御装置であって、 塗り潰された矩形イメージについては、その矩形の1対
    の対角点の座標を含む罫線データを生成し、スキャンラ
    インについては、複数のスキャンラインにわたって所定
    サイズ以上の矩形となる黒セグメントがあるか判断し
    て、所定サイズ以上の矩形となれば、その矩形の1対の
    対角点の座標を含む罫線データを生成する 生成手段と、
    前記生成手段により生成された罫線データを含む印刷デ
    ータをプリンタヘ転送する転送手段とを備え、 前記生成手段は、スキャンラインについては、該スキャ
    ンラインに含まれる黒セグメントの始点X座標と終点X
    座標とをスキャンラインごとに分解表に記録し、該分解
    表に記録された黒セグメントの始点座標あるいは終点座
    標が、その直前のスキャンラインの黒セグメントをY方
    向に延長するものではない場合には、当該黒セグメント
    の始点X座標とスキャンラインのY座標の組と、終点X
    座標とスキャンラインのY座標の組とを、矩形の一対の
    対角点として候補表に登録し、前記候補表に登録された
    対角点により形成される矩形が所定サイズ以上の矩形で
    あれば、その矩形の1対の対角点の座標を含む罫線デー
    タを生成することを特徴とする印刷制御装置。
  3. 【請求項3】 対角点を含む罫線データを基に罫線を印
    刷する印刷装置に対する罫線データを生成する印刷制御
    方法であって、 塗り潰された矩形イメージについては、その矩形の1対
    の対角点の座標を含む罫線データを生成し、スキャンラ
    インについては、複数のスキャンラインにわたって所定
    サイズ以上の矩形となる黒セグメントがあるか判断し
    て、所定サイズ以上の矩形となれば、その矩形の1対の
    対角点の座標を含む罫線データを生成する生成工程と、
    前記生成工程により生成された罫線データを含む印刷デ
    ータをプリンタヘ転送する転送工程とを備え、 前記生成工程は、スキャンラインについては、該スキャ
    ンラインに含まれる黒セグメントの始点X座標と終点X
    座標とをスキャンラインごとに分解表に記録し、該分解
    表に記録された黒セグメントの始点座標あるいは終点座
    標が、その直前のスキャンラインの黒セグメントをY方
    向に延長するものではない場合には、当該黒セグメント
    の始点X座標とスキャンラインのY座標の組と、終点X
    座標とスキャンラインのY座標の組とを、矩形の一対の
    対角点として候補表に登録し、前記候補表に登録された
    対角点により形成される矩形が所定サイズ以上の矩形で
    あれば、その矩形の1対の対角点の座標を含む罫線デー
    タを生成することを特徴とする印刷制御方法。
  4. 【請求項4】 対角点を含む罫線データを基に罫線を印
    刷する印刷装置に対 する罫線データを生成するプログラ
    ムを記憶するコンピュータ可読の記憶媒体であって、 前記プログラムは、塗り潰された矩形イメージについて
    は、その矩形の1対の対角点の座標を含む罫線データを
    生成し、スキャンラインについては、複数のスキャンラ
    インにわたって所定サイズ以上の矩形となる黒セグメン
    トがあるか判断して、所定サイズ以上の矩形となれば、
    その矩形の1対の対角点の座標を含む罫線データを生成
    する生成手段と、前記生成手段により生成された罫線デ
    ータを含む印刷データをプリンタヘ転送する転送手段と
    を含み、 前記生成手段は、スキャンラインについては、該スキャ
    ンラインに含まれる黒セグメントの始点X座標と終点X
    座標とをスキャンラインごとに分解表に記録し、該分解
    表に記録された黒セグメントの始点座標あるいは終点座
    標が、その直前のスキャンラインの黒セグメントをY方
    向に延長するものではない場合には、当該黒セグメント
    の始点X座標とスキャンラインのY座標の組と、終点X
    座標とスキャンラインのY座標の組とを、矩形の一対の
    対角点として候補表に登録し、前記候補表に登録された
    対角点により形成される矩形が所定サイズ以上の矩形で
    あれば、その矩形の1対の対角点の座標を含む罫線デー
    タを生成することを特徴とする記憶媒体。
JP11987297A 1997-05-09 1997-05-09 印刷システム及び印刷制御装置及び印刷制御方法 Expired - Fee Related JP3408110B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11987297A JP3408110B2 (ja) 1997-05-09 1997-05-09 印刷システム及び印刷制御装置及び印刷制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11987297A JP3408110B2 (ja) 1997-05-09 1997-05-09 印刷システム及び印刷制御装置及び印刷制御方法

Publications (2)

Publication Number Publication Date
JPH10305637A JPH10305637A (ja) 1998-11-17
JP3408110B2 true JP3408110B2 (ja) 2003-05-19

Family

ID=14772352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11987297A Expired - Fee Related JP3408110B2 (ja) 1997-05-09 1997-05-09 印刷システム及び印刷制御装置及び印刷制御方法

Country Status (1)

Country Link
JP (1) JP3408110B2 (ja)

Also Published As

Publication number Publication date
JPH10305637A (ja) 1998-11-17

Similar Documents

Publication Publication Date Title
JP3711435B2 (ja) 印刷データのプレビュー方法および装置、記録媒体
US5533172A (en) Method of printing a print job with a print file
US6317217B1 (en) Printing system and printing control method
JP3792823B2 (ja) 印刷装置及び印刷制御装置
US6388757B1 (en) Printing apparatus, printing system, and a method for acquiring character resources of the printing system
WO1993021605A1 (en) A system and method of transferring a bit-mapped image using raster columns
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
US4953033A (en) Image forming apparatus for forming images by use of fonts
JP3408110B2 (ja) 印刷システム及び印刷制御装置及び印刷制御方法
JPH11136459A (ja) 画像入出力装置及び方法
WO1992007720A1 (en) Printing method in page printer
US6061070A (en) Character outputting
EP0481787A2 (en) Output method and apparatus
JPH10202962A (ja) 印字データ処理装置及び入力データ作成装置
US6353480B1 (en) Multi-mode printing control system
JPH078588B2 (ja) 画像処理装置
JP4144574B2 (ja) 印刷データのプレビュー方法および装置、記録媒体
JPS6145325A (ja) プリント装置
JPS60159077A (ja) プリンタ制御装置
JP3118310B2 (ja) ページプリンタの印字処理方法
JP2715475B2 (ja) 図形出力装置
JPH03138168A (ja) 記録装置
JPH0442193B2 (ja)
JP3033731B2 (ja) 罫線処理装置、罫線処理方法、およびプログラムを記録する記録媒体
JP2908571B2 (ja) ページプリンタ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080314

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140314

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees