JP4038887B2 - 画像処理装置およびプリンタ装置 - Google Patents

画像処理装置およびプリンタ装置 Download PDF

Info

Publication number
JP4038887B2
JP4038887B2 JP22725798A JP22725798A JP4038887B2 JP 4038887 B2 JP4038887 B2 JP 4038887B2 JP 22725798 A JP22725798 A JP 22725798A JP 22725798 A JP22725798 A JP 22725798A JP 4038887 B2 JP4038887 B2 JP 4038887B2
Authority
JP
Japan
Prior art keywords
data
drawing data
printer
abstract
printer device
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
JP22725798A
Other languages
English (en)
Other versions
JP2000052610A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP22725798A priority Critical patent/JP4038887B2/ja
Publication of JP2000052610A publication Critical patent/JP2000052610A/ja
Application granted granted Critical
Publication of JP4038887B2 publication Critical patent/JP4038887B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ホスト装置とプリンタ装置からなるプリントシステムに好適な画像処理装置およびプリンタ装置に関する。
【0002】
【従来の技術】
現在、DTP(Desk Top Publishing)と呼ばれるような高品位な文書作成を行うシステムが各種提供されている。この種のシステムでは、ホスト装置側において作成された文書をプリンタ装置により最終的に印刷するのに先立ち、予めホスト装置側のデイスプレイに当該文書の印刷イメージを表示し、ユーザがこの印刷イメージを確認しながら当該文書の編集を行うWYSIWYG(What You See Is What You Get)と呼ばれる環境を提供しているのが一般的である。
【0003】
【発明が解決しようとする課題】
ところで、上述したWYSIWYGによるDTP環境の下では、多種の書体を使用して文字の描画表現が行われることが多い。従って、ユーザが多種の書体を使用した文書を作成することができるよう多種の書体データをホスト装置に装備しておくとともに、多種の書体での印刷を行い得るよう多種の書体データをプリンタ装置に装備しておくことが望まれるのである。
【0004】
しかし、多種の書体データがホスト装置およびプリンタ装置の双方に各々装備されていたとしても、同一の書体データが双方に装備されているとは限らない。これは、ホスト装置が、書体データに限らず、アプリケーションソフトウエアなど、後から追加装備されることを前提としている装置であるのに対し、プリンタ装置は後から書体データを追加装備することを前提とした装置ではないからである。従って、一般的には、ホスト装置によって作成された文書の印刷に必要な書体データがプリンタ装置に装備されておらず、そのような書体の文字を印刷することができない場合も生じ得る。なお、書体データの追加装備を認め、なるべく多くの書体での印刷を可能にしたシステムも提供されている。しかしながら、この種のシステムは、数種類の書体データの追加が限界であるものが多いため、この問題を解決する有効な手段と言うことはできない。
【0005】
そこで、この問題を解決するための方法として、書体データを記憶するための追加の記憶領域をプリンタ装置に設け、印刷に必要な書体データをオフラインまたはオンラインで書体単位で当該記憶領域にダウンロードし、プリンタ装置の搭載書体数を増加させるという方法が考えられる。
【0006】
しかし、プリンタ装置に追加の記憶領域がない場合あるいは追加の記憶領域があったとしても当該記憶領域に書体データをダウンロードする機能がない場合には上記方法を採ることができない。また、必要な書体が多数あり、その全てを追加の記憶領域にダウンロードすることができない場合も生じうる。また、追加の記憶領域が十分な記憶容量を有している場合であっても、書体単位のダウンロードは時間が掛かるという問題がある。
【0007】
このような書体単位のダウンロードを行うことなく、必要な書体での印刷を可能にするための技術として、例えば図13に示すプリントシステムが考えられる。
【0008】
このプリントシステムは、ホスト装置1と、プリンタ装置2とをネットワークなどにより接続してなるものである。
【0009】
ホスト装置1は、文書作成のためのアプリケーション11と、文書に含まれる描画データをプリンタ装置2に対応した描画コマンドに変換するプリンタドライバ12と、描画ライブラリ13とを有している。そして、描画ライブラリ13は、フォントラスタイザ131と、書体管理部132と、プリンタ情報モジュール133とを有している。ここで、フォントラスタイザ131は、文字の描画データを構成する書体データをラスタデータに展開するフォント展開処理を行う手段である。また、プリンタ情報モジュール133は、プリンタ装置2の解像度、プリンタ装置2に装備されている書体などに関する情報を記憶している。また、書体管理部132は、プリンタ情報モジュール133をアクセスする手段である。
【0010】
一方、プリンタ装置2は、ホスト装置1側から送られてくる描画コマンドなどを処理するデコンポーザ21と、このデコンポーザ21から出力されるラスタデータに従って印刷を行う印刷装置22とを有している。そして、デコンポーザ21は、インタプリタ211と、グラフィックス描画処理モジュール212と、出力用バッファ213とを有している。
【0011】
このような構成において、ホスト装置1側では、アプリケーション11により文書が作成される。そして、ユーザからその文書の印刷の指示が与えられると、その文書内の描画データがプリンタドライバ12によって描画コマンドに変換される。この変換処理の詳細は次の通りである。
【0012】
まず、文書に含まれる通常のグラフィックスなどの描画データは、プリンタドライバ12によってプリンタ装置2に対応した描画コマンドに変換され、プリンタ装置2側に送られる。
【0013】
次に文書に含まれる文字については、その文字の書体データがプリンタ装置2に装備されているか否かの問い合わせがプリンタドライバ12から描画ライブラリ12の書体管理部132に送られる。そして、上記文字の書体データがプリンタ装置2に装備されている旨の回答が書体管理部132から得られた場合、上記文字の描画データがプリンタドライバ12によってプリンタ装置2に対応した描画コマンドに変換され、プリンタ装置2側へ送られる。一方、上記文字の書体データがプリンタ装置2に装備されていない旨の回答が書体管理部132から得られた場合、上記文字の書体データをラスタデータに展開すべき旨の展開要求がプリンタドライバ12からフォントラスタイザ131に送られる。これにより上記文字のラスタデータがフォントラスタイザ131によって生成される。そして、プリンタドライバ12により、このラスタデータが描画コマンドとしてプリンタ装置2側に送られる。図14はこの描画コマンドの内容を示したものである。
【0014】
プリンタ装置2側では、このようにしてホスト装置1側から送られてくるコマンドがインタプリタ211によって受信され、各コマンドは各々の種類に対応した処理に委ねられる。
【0015】
まず、通常のグラフィックスやプリンタ装置2に書体データが装備されている文字の描画データは、上述したように、プリンタ装置2に対応した描画コマンドに変換されてインタプリタ211に送られてくる。これらの描画コマンドは、インタプリタ211によって通常のグラフィックス描画処理モジュール212に引き渡され、このモジュールによりラスタデータに変換される。そして、このラスタデータが出力用バッファ213を介して印刷装置22に送られ、グラフィックスや文字の印刷が行われるのである。
【0016】
一方、プリンタ装置2に書体データが装備されていない文字の描画データは、上述したように、ラスタデータに変換され、このラスタデータが描画コマンドとしてインタプリタ211に送られてくる。この描画コマンド(ラスタデータ)は、インタプリタ211によって出力用バッファ213に送られ、この出力用バッファ213から印刷装置22に送られるのである。
【0017】
以上がこのプリントシステムの詳細である。
このプリントシステムによれば、プリンタ装置2に書体データが装備されていない文字であっても、ホスト装置1側においてプリンタ装置2の解像度や用紙の設定方向などの情報を把握し、この情報に適合した当該文字の書体のラスタデータを生成してプリンタ装置2に送るのであれば、プリンタ装置2によりその文字の印刷を行うことができる。
【0018】
しかしながら、一般に文書には多くの文字が含まれている。従って、必要な書体の書体データがプリンタ装置に配備されていない場合には、多くの文字についてホスト装置1側でラスタデータを生成し、描画コマンドとしてプリント装置2側へ送ることとなる。ところが、個々の文字の描画コマンドは、ラスタデータを含むため、そのデータ量が多い。従って、上記のプリントシステムにおいては、ネットワークのトラヒック量が問題となる。特にプリンタ装置2が高速のプリンタ装置である場合、プリンタ装置2の処理に対し、描画コマンドの転送が間に合わないという事態も生じる。
【0019】
また、プリンタ装置2側においても、データ量の大きなラスタデータからなる描画コマンドを受信した場合、インタプリタ211における描画コマンドの解釈に時間が掛かるため、プリンタ装置2の処理速度が低下するという問題がある。
【0020】
このような問題を幾分でも解決するためには、ホスト装置1側からプリンタ装置2側へ送るデータのトラヒック量を減らす手段が求められる。図15はこのような観点から図13のプリントシステムに改良を加えたものである。
【0021】
この図15に示すプリントシステムでは、プンタ装置2のデコンポーザ21内にダウンロードバッファ領域214が新たに追加されている。このプリントシステムにおいて、プリンタ装置2に書体データが装備されていない文字の印刷要求がホスト装置1側に生じた場合、当該文字のラスタデータがダウンロードバッファ領域214に記憶されていなければ、ホスト装置1側で当該文字のラスタデータが生成され、このラスタデータがプリンタ装置2側に送られる。プリンタ装置2側では、このラスタデータがダウンロードバッファ領域214にダウンロードされるとともに、当該ラスタデータを用いた文字の印刷が行われる。一方、プリンタ装置2に書体データが装備されていない文字の印刷要求がホスト装置1側に生じた場合において、当該文字のラスタデータがダウンロードバッファ領域214に記憶されているときには、ホスト装置1からプリンタ装置2へのラスタデータのダウンロードは行われず、プリンタ装置2側ではダウンロードバッファ領域214内の当該文字に対応した既存のラスタデータを用いて印刷が行われるのである。
【0022】
このプリントシステムによれば、印刷すべき文字の書体データがプリンタ装置2に装備されていない場合であっても、その文字のラスタデータがダウンロードバッファ領域214に記憶されている限り、ホスト装置1からプリンタ装置2へのラスタデータのダウンロードは行われない。従って、このプリントシステムによれば、前掲図13のものに比べて、ホスト装置1およびプリント装置2間のトラフィック量を幾分か低減することができると言えよう。しかしながら、ダウンロードバッファ領域214の記憶容量にも限りがあるため、文字のラスタデータのダウンロードを続けていれば、いずれはダウンロードバッファ領域214がラスタデータによって埋め尽くされ、もはや新たな文字のラスタデータをダウンロードすることができなくなってしまう。従って、ダウンロードの回数を低減する効果も、ダウンロードバッファ領域214の記憶容量の制約を受けることとなり、十分な効果を期待することはできない。
【0023】
ここで、ホスト装置1およびプリンタ装置2間のトラフィック量を低減するために、1回のダウンロードによって送られるデータ量を減らすこと、すなわち、ラスタデータを圧縮して転送するという方法も考えられる。しかし、この方法を採った場合、ホスト装置1側でラスタデータを圧縮し、プリンタ装置側ではこの圧縮されたデータを伸長して元のラスタデータに戻さなければならず、そのための処理に時間を要し、処理速度が低下するという新たな問題が生じてしまう。
【0024】
以上、図13および図15に示す各プリントシステムの問題点について説明したが、これらのプリントシステムは、最近のプリンタ装置の機能との関係で、さらに別の問題を有している。以下、この問題について説明する。
【0025】
一般的にプリンタ装置は、ユーザが複数の用紙サイズの中から所望の用紙サイズを指定したり、用紙方向を指定したりすることができるものが多い。この種のプリンタ装置を使用したプリントシステムでは、各用紙サイズおよび用紙方向毎にプリンタ装置に用紙トレイを設け、プリンタ装置がホスト装置からの指示に従ってこの用紙トレイを切り替えることによりユーザの要求に対応している。
【0026】
しかし、プリンタ装置に装備することができる用紙トレイの数には限りがあるため、用紙のサイズと用紙方向の全ての組み合わせをユーザに提供することは難しい。また、紙切れなど予期しない状況が発生し、用紙トレイが使用不可能となる場合もあり、かかる場合にはユーザが望む用紙サイズおよび用紙方向での印刷を行うことができないことがある。
【0027】
このため、最近のプリンタ装置の中には、例えば図16に示すように、描画コマンドを処理する際に90度単位での回転や拡大または縮小を行うことにより、現在使用可能となっているトレイに出力することができるようにしたものが多い。この種のプリンタ装置を使用したプリントシステムによれば、例えばホスト装置での編集はA4横で行われたがプリンタ装置にA4縦の用紙トレイしかない場合に、プリンタ装置側で90度回転して処理することにより使用可能なA4縦の用紙トレイを用いた印刷を行うことができる。また、この種のプリント装置を使用し、ホスト装置において縦置きの書式で編集された文書であっても、プリンタ装置側ではこれを横置きに回転させてから印刷するようにしてもよい。このようにすることにより、1回の印刷に必要な印刷装置の送り量を少なくすることができるため、連続印刷速度を速くすることができる。
【0028】
さて、このようなプリント装置を用いて前掲図13または図15のプリントシステムを構成するものとする。
【0029】
まず、図13または図15に示すプリントシステムにおいて、ホスト装置を操作するユーザは、用紙のサイズおよび向きなどを設定して文書を編集するのが一般的である。しかし、このユーザが設定した用紙を供給する用紙トレイがプリンタ装置側に用意されていないという場合が起こりうる。この場合にプリンタ装置側では、使用可能な用紙トレイを使用して印刷を行うべく、ホスト装置によって作成された文書に対して回転処理や拡大または縮小処理を必要に応じて施すことになる。また、連続印刷速度を高めるべく、プリンタ装置側において常に横置きの書式で印刷を行うようにしている場合もある。この場合もホスト装置側において縦置きの書式で文書が作成された場合には、プリンタ装置側ではその文書を横置きの書式の文書に回転して印刷を行うこととなる。
【0030】
このような回転処理や拡大または縮小処理がプリンタ装置側で行われるような場合において、ホスト装置側でプリンタ装置側に書体データが装備されていない文字の描画コマンドが発生すると、以下説明する新たな問題が生じることとなるのである。
【0031】
すなわち、このような文字の印刷を行う場合には、当該文字のラスタデータがホスト装置側で発生され、これが描画コマンドとしてプリンタ装置側に送られることとなるが、このラスタデータはユーザによってホスト装置に設定された用紙向きおよび用紙のサイズに対応したラスタデータとなっている。従って、このようなラスタデータを受け取るプリンタ装置側では、実際の印刷時の用紙の向きまたはサイズに適合するように、ラスタデータに対して回転処理や拡大または縮小処理を行うか、あるいはラスタデータを印刷装置用の出力バッファにそのまま書き込み、この書き込み順序とは異なった順序でラスタデータを構成する各データを出力バッファから読み出して回転処理を行う等の方法を採らなければならない。いずれにしても、このような処理を行うためには、時間および回転処理に使用する膨大な記憶容量の記憶領域が必要になる(図17参照)。また、プリンタ装置側での回転処理のための処理時間によっては、印刷装置の印刷速度に間に合わなくなる可能性もある。
【0032】
この発明は以上説明した事情に鑑みてなされたものであり、ホスト装置およびプリンタ装置間のトラヒック量を抑え、処理速度を犠牲にすることなく、多種の書体による印刷を行うことを可能にする画像処理装置およびプリンタ装置を提供することを目的としている。
【0033】
【課題を解決するための手段】
請求項1に記載の発明は、ホスト装置からプリンタ装置へ送られる描画データの処理を行う画像処理装置において、データを記憶するキャッシュメモリと、前記プリンタ装置に特定の書体に対応する書体データが装備されていない文字の当該特定の書体での描画指示が前記ホスト装置側に発生し、かつ、当該文字の当該特定の書体に対応した抽象化描画データが前記キャッシュメモリに記憶されていない場合に、当該文字の当該特定の書体に対応したベクタ形式のアウトラインフォーマットデータ、または、ランレングス形式のラスタフォーマットデータである抽象化描画データを生成する描画データ生成手段と、前記描画データ生成手段によって生成された抽象化描画データを前記プリンタ装置に送信する送信手段と、前記描画データ生成手段によって生成された抽象化描画データを前記キャッシュメモリに格納する格納手段と、前記プリンタ装置に特定の書体に対応する書体データが装備されていない文字の当該特定の書体での描画指示が前記ホスト装置側に発生し、かつ、当該文字の当該特定の書体に対応した抽象化描画データが前記キャッシュメモリに記憶されている場合には、前記描画データ生成手段は当該文字の当該特定の書体に対応した抽象化描画データを生成せず、前記送信手段は前記キャッシュメモリに記憶された当該文字の当該特定の書体に対応した抽象化描画データを前記プリンタ装置に送信することを特徴とする画像処理装置を提供する。
【0034】
請求項2に記載の発明は、請求項1に記載の画像処理装置において、前記プリンタ装置との間で双方向通信が可能な場合には、前記プリンタ装置からの印刷に使用される用紙のサイズおよび向きに関する情報を取得することにより、前記プリント装置において行われる描画処理において画像のサイズまたは向きを使用可能な印刷用紙のサイズまたは向きに適合させる変換処理が行われるか否かを判定し、前記プリンタ装置との間で双方向通信をすることができない場合には、予め記憶した当該プリント装置における使用可能な用紙のサイズおよび向きに関する情報に基づき、前記変換処理が行われるか否かを判定する判定手段を具備し、前記描画データ生成手段は、前記変換処理が行われない旨の判定が前記判定手段によってなされた場合には、ランレングス圧縮形式のラスタフォーマットデータを前記抽象化描画データとして生成し、前記変換処理が行われる旨の判定が前記判定手段によってなされた場合には、ベクタ形式のアウトラインフォーマットデータを前記抽象化描画データとして生成することを特徴とする。
【0035】
請求項3に記載の発明は、請求項1または2に記載の画像処理装置において、前記送信手段によって送信された抽象化描画データが前記プリンタ装置のキャッシュメモリに記憶された場合に、該抽象化描画データを特定する情報を記憶するダウンロードキャッシュ管理テーブルを具備し、前記描画データ生成手段によって生成すべき抽象化描画データを特定する情報が前記ダウンロードキャッシュ管理テーブルに記憶されている場合には、前記描画データ生成手段は、当該抽象化描画データの生成を行わず、前記送信手段は、当該抽象化描画データを指定した描画指示を前記プリンタ装置に送信することを特徴とする。
【0036】
請求項4に記載の発明は、請求項3に記載の画像処理装置において、前記ダウンロードキャッシュ管理テーブルは、前記プリンタ装置のキャッシュメモリに保持されている抽象化描画データが最後にアクセスされた日時、および、前記プリンタ装置のキャッシュメモリに抽象化描画データが格納された日時を、当該抽象化描画データを特定する情報と対応付けて記憶し、前記送信手段は、前記プリンタ装置に送信すべき新たな抽象化描画データがあり、かつ、該抽象化描画データを格納するのに必要な記憶エリアが前記キャッシュメモリに残されていないと判断される場合に、前記ダウンロードキャッシュ管理テーブルに記憶された情報に基づいて、最も長く使用されていない抽象化描画データを特定し、この抽象化描画データが格納されている記憶エリアに新たな抽象化描画データを格納すべき旨の指示を前記プリンタ装置に送ることを特徴とする。
【0048】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。
【0049】
A.第1の実施形態
図1はこの発明の第1の実施形態である画像処理装置を含んだプリントシステムの構成を示すブロック図である。なお、この図1において、前掲図13または図15と対応する部分には同一の符号が付されている。
【0050】
前掲図13または図15のプリントシステムでは、ホスト装置1側の描画ライブラリ13内にフォントラスタライザ131が設けられており、プリンタ装置2側に書体データが装備されていない文字については、このフォントラスタライザ131により当該文字の書体データをラスタデータに展開するようにしていた。
【0051】
これに対し、本実施形態におけるホスト装置1側の描画ライブラリ13には、このフォントラスタライザ131に代えて、フォント展開処理手段131Aが設けられている。このフォント展開処理手段131Aは、プリンタドライバ12からの展開要求に従い、文字の書体データを抽象化描画データに変換する手段である。
【0052】
ここで、抽象化描画データについて説明する。この抽象化描画データとは、例えばベクタ形式のアウトラインフォーマットによって定義されるようなデータであり、文字の書体データとラスタデータとの中間の抽象度を有するデータである。この種の抽象化形式の描画データは、文字の書体データから生成することができ、また、この抽象化描画データからラスタデータを生成することができる。図4はベクタ形式のフォーマットの一例を示すものである。この種の抽象化描画データをラスタデータラスタデータと比較した場合、後者のものは文字が大きくなるとその2乗のオーダでデータサイズが増大するのに対し、前者のものはそのデータサイズが文字の大きさの変化に殆ど依存しない。
【0053】
例えば、白黒2値のデータからなるラスタデータにより、一般に使用頻度が高いと思われる大きさである600dpi、10.5pointの文字を印刷するものとすると、このときのラスタデータは1kbytes弱のデータサイズとなる。これに対し、ベクタ形式の描画データは、文字を構成する線種の数と制御点列のみにより文字を表現したデータであるため、そのデータサイズは小さなものとなる。例えば、線種を1本当たり4bit、制御点を1組当たり4bytesにより表現し、線種が50本、制御点列が100組の比較的複雑な文字のベクタ形式の描画データを生成するものとすると、そのデータサイズは50*0.5+100*4=425bytesとなり、上記ラスタデータのデータサイズの半分程度の大きさとなる。勿論、ベクタ形式の描画データの場合、文字の形によって線数、制御点数が変化するため、上記データサイズはあくまでも計算例に止まる。しかし、通常の文章に使用されるような使用頻度の高い文字群について考えると、そのような文字群には、上記のような複雑な形のものばかりではなく、簡単な形のものも多数含まれている。従って、これらの文字を平均すれば、抽象化形式の描画データのデータサイズは、ラスタデータのデータサイズの半分以下になると考えられる。
【0054】
また、本実施形態におけるホスト装置1側の描画ライブラリ13には、フォントキャッシュ134が設けられている。このフォントキャッシュ13は、フォント展開処理手段131Aによって生成された抽象化描画データを記憶するキャッシュメモリである。本実施形態では、フォント展開処理手段131Aによって生成された抽象化描画データをこのフォントキャッシュ134に格納し、再度、同じ抽象化描画データが必要になった場合にはこのフォントキャッシュ134内の抽象化描画データを再利用することで、同一内容の抽象化描画データが重複して生成されるのを回避している。
【0055】
また、本実施形態では、このフォントキャッシュ134内の抽象化描画データについて、いわゆるLRU(Least Recently Use)法により追い出し制御を行う。すなわち、フォントキャッシュ134の空き容量が不足し、新たなデータの格納を行うことができない状況となった場合、同フォントキャッシュ134に記憶されたデータのうち最も長く使用されていないものを追い出し、新たなデータを書き込むための空きエリアを確保するのである。このようなLRU法による追い出し制御を行うため、本実施形態では、フォントキャッシュ134内に現在格納されている各描画データを特定するデータを最も古い描画データ(すなわち、最も長く使用されていない描画データ)に対応したものから順に並べたデータ列をキャッシュ管理データとして保持するようにしている。なお、追い出し制御の方法は、LRU法に限定されるものではなく、当業者が任意に選択すればよい。
【0056】
一方、プリンタ装置2側のデコンポーザ21には、出力用フォントデータ生成モジュール218が設けられている。この出力用フォントデータ生成モジュール218は、インタプリタ211を介して供給される描画コマンドを構成する抽象化形式のフォントデータからラスタデータを生成する手段である。
【0057】
図2はホスト装置1の動作を示すフローチャート、図3はプリンタ装置の動作を示すフローチャートである。以下、これらの図を参照し、本実施形態の動作を説明する。
【0058】
ホスト装置1では、アプリケーションソフトウエア11に従って、紙面の編集が行われる。そして、紙面の編集後、印刷の指示がホスト装置1に与えられると、この紙面を構成している各描画オブジェクトについて描画指示がアプリケーションソフトウエア11を介してプリンタドライバ12に送る。
【0059】
プリンタドライバ11は、このアプリケーションソフトウエア11からの描画指示を受け取ると、その描画指示がフォント描画指示か否かを判断する(ステップS201)。
【0060】
ここで、通常のグラフィックス等についての描画指示が与えられた場合には、プリンタドライバ11は、その描画指示からプリンタ装置2向けの描画コマンドを作成し(ステップS202)、プリンタ装置2側へ出力する(ステップS203)。このとき、前述のようにホスト装置1では実際の印刷時の用紙のサイズや向きを想定して編集作業が行われるため、このホスト装置1側が想定している用紙のサイズや向きの情報もプリンタ装置2に送信される。
【0061】
一方、アプリケーションソフトウエア11を介して文字の描画指示があった場合、プリンタドライバ12は、当該文字に対応した書体データの所在を書体管理部132に問い合わせる。書体管理部132は、この問い合わせを受けると、プリンタ装置2に装備されている書体のリストをプリンタ情報モジュール133から読み出すとともに、ホスト装置1に装備されている書体のリストを図示しないメモリから読み出す。そして、当該文字の書体データがプリンタ装置2またはホスト装置のいずれに装備されているかを判断し、その結果を上記問い合わせに対する回答としてプリンタドライバ12に送る(以上、ステップS204)。
【0062】
プリンタドライバ12は、当該文字の書体データがプリンタ装置2に装備されている旨の回答を書体管理部132から受け取った場合、書体IDと文字コードおよび文字の大きさを表す情報等からなる当該文字を特定するパラメータを含んだ描画コマンドを生成し(ステップS205)、プリンタ装置2に送信する(ステップS206)。
【0063】
これに対し、当該文字の書体データがプリンタ装置2に装備されておらず、ホスト装置1にのみ装備されている旨の回答を書体管理部132から受け取った場合、プリンタドライバ12は、当該書体データの展開要求をフォント展開処理部131Aに送る。
【0064】
フォント展開処理部131Aは、この展開要求を受け取ると、当該書体データに対応した抽象化描画データがフォントキャッシュ134に格納されているか否かを判断する(ステップS207)。
【0065】
そして、印刷すべき文字の抽象化描画データがフォントキャッシュ134に格納されていない場合、フォント展開処理部131Aは、ホスト装置1に装備されている当該文字の書体データを書体管理部132を介して取得し、この書体データから抽象化描画データを生成し、プリンタドライバ12に送る(ステップS208)。
【0066】
次に、フォント展開処理部131Aは、以上説明したような抽象化描画データをステップS208において生成すると、この描画データをフォントキャッシュ134に格納し、キャッシュ管理データの更新を行う(ステップS209)。
【0067】
ここで、ステップS209においては、フォント展開処理部131Aによって生成された描画データをフォントキャッシュ134に格納するが、そのための空きエリアがフォントキャッシュ134内にない場合もある。かかる場合には、キャッシュ管理データによって特定される最も古い描画データから順にフォントキャッシュ134から追い出し、このようにして確保されたフォントキャッシュ134内の空きエリアに新たな描画データを書き込むのである。また、この場合には、フォントキャッシュ134内に新たに格納した描画データを特定するデータをキャッシュ管理データの最後尾に配置し、追い出した描画データを特定するデータをキャッシュ管理データ中から削除するのである。
【0068】
一方、ステップS207における判断結果が「YES」である場合、フォント展開処理部131Aは、該当する抽象化描画データをフォントキャッシュ134から読み出してプリンタドライバ12へ送り、キャッシュ管理データの更新を行う(ステップS208)。この場合のキャッシュ管理データの更新は、ステップS208においてフォントキャッシュ134から読み出された抽象化描画データを特定するデータをキャッシュ管理データの最後尾に移動することにより行う。
【0069】
本実施形態によれば、このようにフォント展開処理部131Aにより生成した抽象化形式の描画データをフォントキャッシュ134に格納し、同一文字についての描画データが要求された場合にはこのフォントキャッシュ134内の描画データを読み出して使用するようにしているので、描画データの生成のための負担を減らすことができる。一般の文章においては、フォントキャッシュのヒット率は80〜90%を越えることもあるため、このようなキャッシュ記憶の導入は極めて効果的であると考えられる。
【0070】
次に、プリンタドライバ12は、以上のようにしてフォント展開処理部131Aから送られてくる抽象化形式の描画データを受け取ると、その描画データを用いて抽象化形式の描画データ専用の描画コマンドを生成し、プリンタ装置2に送信する(ステップS206)。
以上がホスト装置1側の動作である。
【0071】
次にプリンタ装置2の動作について説明する。
プリンタ装置2におけるインタプリタ211は、以上のようにしてホスト装置1側から送信された描画コマンドを受信し、その解釈および実行を行う。
【0072】
ここで、ホスト装置1から最初に送られてくるコマンドは、ユーザがアプリケーションにおいて指定した用紙サイズおよび向きを指定するコマンドである。これは、用紙のサイズと向きを決定しないと、プリンタ装置2側においてどの用紙トレイを使用するかを決定することができないからである。
【0073】
インタプリタ211は、上記の用紙サイズおよび向きを指定するコマンドをホスト装置1から受け取ると、このコマンドを用紙監視モジュール216に通知する。ここで、用紙監視モジュール216は、プリンタ装置2が用意している用紙トレイの状態や紙切れの発生の有無などを常時監視している。また、連続印刷速度を高めるために、横置きでの印刷しか行わないようなモード設定がなされた場合には、その旨を検知する。そして、用紙監視モジュール216は、上記監視結果および検知結果に基づき、印刷の際の用紙サイズおよび向きを決定するとともに、そのような印刷を行う際に必要な変換処理のためのマトリックスを生成し、インタプリタ211に対してその変換マトリックスを使用した変換処理(以下、用紙対応の変換処理という。)を指示する。例えば次の通りである。
【0074】
a.紙切れなどの原因により、ユーザが指定した用紙サイズの用紙がなく、しかも、そのような場合には最も近い用紙サイズの用紙を使用して印刷を行ってもよい旨がプリンタ装置に設定されている場合には、その最も近い用紙サイズの用紙を使用して印刷を行うこととし、この印刷を行うのに必要な拡大または縮小処理をインタプリタ211に指示する。例えばユーザが指定した用紙サイズがB5サイズであるが、その用紙がプリンタ装置2になく、A4サイズの用紙ならばある場合には、A4サイズ/B5サイズの倍率での拡大処理を行うための変換マトリックスを生成し、描画の際にこの変換マトリックスを使用した拡大処理を行うべき旨をインタプリタ211に指示する。
【0075】
b.ユーザが指定した用紙の向きでの印刷を行うことができない場合に、印刷の際には使用可能な用紙の向きに合わせて印刷を行うための回転処理を行う旨を決定する。例えばユーザはA5縦置きでの印刷を指定しているが、その用紙がプリンタ装置2になかったり、あるいは連続印刷速度を高めるために横置きでの印刷した行わないように設定されている場合に、90度の回転処理を施すための変換マトリックスを生成し、描画の際にこの変換マトリックスを使用した回転処理を行うべき旨をインタプリタ211に指示する。
【0076】
上記の用紙サイズおよび向きを指定するコマンドに続き、文書などの印刷を行うための描画コマンドがホスト装置1からプリンタ装置2に順次送られる。図3に示すフローは、この描画コマンドに対応したプリンタ装置2の動作を示すものである。
【0077】
まず、インタプリタ211は、描画コマンドを受信すると、その描画コマンドが抽象化描画データ専用の描画コマンドか否かを判断する(ステップS301)。この判断結果が「NO」である場合、インタプリタ211は、基本描画モジュール217を実行し、ホスト装置1から受信した描画コマンドに従って通常の描画処理を行い、ラスタデータを生成する(ステップS302)。
【0078】
このとき用紙監視モジュールから用紙対応の変換処理が指示されている場合には、描画処理において当該変換処理も同時に行う。ここで、プリンタ装置向けの描画コマンドは、一般的にベクタ描画コマンドが主である。このホスト装置1からの描画コマンドがこのベクタ描画コマンドである場合、インタプリタ211では、描画コマンドからラスタデータを生成するベクタ/ラスタ変換のためのマトリックスに対して、上記用紙対応の変換処理のための変換マトリックスを連結して使用するのみにより、用紙監視モジュールから指示された変換処理の施されたラスタデータを得ることができる。従って、用紙監視モジュールから変換処理が指示されている場合であっても、そうでない場合であっても、描画処理の速度に変化はない。
【0079】
次にインタプリタ211は、上記描画処理により得られたラスタデータを出力用バッファ213に書き込む(ステップS303)。この出力用バッファ213に書き込まれたラスタデータは、その後、印刷装置22に引き渡される。そして、印刷装置22により、ラスタデータに従って印刷が行われる。
【0080】
一方、ステップS301における判断結果が「YES」である場合、インタプリタ211は、出力用フォントデータ生成モジュール218を実行し、受信した抽象化描画データ専用の描画コマンドに従って描画処理を行う。すなわち、この描画コマンドに含まれる抽象化形式の描画データをラスタデータに変換する(ステップS304)。
【0081】
このときインタプリタ211は、用紙監視モジュール216から用紙対応の変換処理の指示を受け取っている場合には、描画コマンドに含まれるベクタ形式の抽象化描画データに対し、指示された変換処理を施す。そして、この変換処理を経た描画データから最終的な出力形式であるラスタデータを生成する。
【0082】
次にインタプリタ211は、上記描画処理により得られたラスタデータを出力用バッファ213に書き込む(ステップS305)。この出力用バッファ213に書き込まれたラスタデータは、その後、印刷装置22に引き渡される(ステップS306)。そして、印刷装置22により、ラスタデータに従って印刷が行われる。
【0083】
以上が本実施形態の動作である。本実施形態に係るプリントシステムの利点を前掲図13または図15に記載のプリントシステムと対比しつつ検討すると次の通りである。
【0084】
(1)印刷品質について
前掲図13または図15に記載のプリントシステムでは、プリンタ装置側に書体データが装備されていない文字の印刷を行う場合に、その文字のラスタデータをホスト装置からプリンタ装置に送った。この場合において、描画の際に回転や拡大または縮小などの変換処理を行うべき旨が指示されているものとすると、ラスタデータに対して変換処理を施すこととなり、印刷品質の劣化を招くこととなる。
【0085】
これに対し、本実施形態では、ホスト装置からプリンタ装置に送られるのはラスタデータではなく抽象化形式の描画データであり、変換処理が指示されている場合には、この描画データに対して変換処理がなされる。従って、最終的な出力フォーマットでの印刷品質の劣化を招くことなく、変換処理を行うことができる。
【0086】
(2)トラヒック量および処理速度について
本実施形態においては、プリンタ装置側において書体データが装備されていない文字の印刷を行う場合に、ホスト装置側から送られてくる抽象化描画データをラスタデータに変換して印刷を行うこととなるため、この変換のための時間が余分に必要となる。従って、用紙の回転や拡大または縮小が全く指定されない場合には、前掲図13または図15に記載のプリントシステムのように、ホスト装置側からプリンタ装置側にラスタデータを送り、プリンタ装置側ではこのラスタデータをそのまま使用して印刷を行う方が、本実施形態のものよりもプリンタ装置側の処理を高速化することができる。
【0087】
しかし、ラスタデータはデータ量が多いので、ホスト装置からプリンタ装置へのトラヒック量が大きなものとなり、このトラヒック量がネックとなって、プリントシステム全体としての性能が低下する可能性が高い。従って、ホスト装置およびプリンタ装置間でラスタデータの授受を行う構成とするのは得策ではない。
【0088】
ここで、ホスト装置側においてプリントドライバがラスタデータを圧縮して送信し、プリンタ装置側でこの圧縮されたラスタデータを伸長して使用することによって、ホスト装置およびプリンタ装置間のトラヒック量を減らす方法を採ることも考えられる。しかし、この方法においては、ホスト装置側での圧縮処理およびプリンタ装置側での伸長処理のための時間が余分に掛かることとなる。従って、この時間を含めてプリンタ装置側の処理時間を本実施形態の場合と比較すると、両者の間には大きな差は生じないということができる。
【0089】
また、プリンタ装置側において、描画の際に回転処理や拡大または縮小処理などの変換処理を行う場合には、その変換処理の対象がラスタデータであると、処理時間が極めて長くなってしまう。
【0090】
従って、以上説明した全ての事情を考慮に入れると、本実施形態に係るプリントシステムの方が、前掲図13または図15に記載のプリントシステムに比較し、総合的に優れた性能を有しているということができる。
【0091】
B.第2の実施形態
上記第1の実施形態においては、プリンタ装置側において描画の際に回転処理や拡大または縮小処理が行われる場合があるので、そのような場合をも考慮してベクタ形式の抽象化描画データをホスト装置からプリンタ装置へ送るようにした。しかし、プリントシステムの中には、プリンタ装置が描画の際に回転処理や拡大または縮小処理を行う機能を有していないものもある。また、この他、プリント装置側での変換処理を不要にしたプリントシステム、すなわち、プリンタ装置側において使用可能な用紙サイズおよび用紙の向きをホスト装置側が常時把握し、ユーザが指定する用紙サイズや用紙の向きがこれと一致していない場合には、ホスト装置側において、必要な回転処理や拡大または縮小処理などの変換処理を描画データに施して送信するプリントシステムもある。本実施形態は、このようなプリンタ装置側において描画の際に変換処理を行うことのないプリントシステムに本発明を適用したものである。
【0092】
本実施形態に係るプリントシステムでは、プリント装置に書体データが装備されていない文字についての描画コマンドがホスト装置側に発生した場合、上記第1の実施形態におけるベクタ形式のアウトラインフォーマットの抽象化描画データよりも抽象度の低いフォーマットの抽象化描画データをホスト装置において生成し、プリンタ装置に送る。
【0093】
具体的には、本実施形態では、例えばホスト装置側において上記文字の書体データからラスタデータを生成し、このラスタデータをランレングスフォーマットに圧縮し、この圧縮データをプリント装置側に送る。そして、プリンタ装置側では、このランレングスフォーマットの圧縮データをラスタデータに伸長し、その印刷を行うのである。
【0094】
ここで、ラスタデータは印刷画像を構成する各ドットに対応したビットからなるビットマップデータであるが、ランレングス形式の圧縮データは印刷画像のドット群を例えば水平方向に走査し、走査された連続ドット群の各々の長さを表す情報を集めて構成したものである。図5はランレングス形式の圧縮データの構成例を示すものである。このランレングス形式は、圧縮フォーマットの中でもラスタ形式に近いため、圧縮率は低いが、圧縮および伸長に要する処理時間が短くて済む。
【0095】
ただし、このランレングス形式をホスト装置からプリンタ装置へ送る抽象化描画データのフォーマットとして採用する場合には、既に述べたようにプリンタ装置側では描画の際の変換処理を行わないようにすることが望ましい。何故ならば、このランレングスフォーマットの圧縮データに対して変換処理を行った場合には処理時間が長くなってしまい、また、印刷品質の劣化を招くからである。
【0096】
また、本実施形態には以上の他に別の適用例が考えられる。すなわち、次の通りである。まず、プリント装置における印刷装置への出力フォーマットはラスタ形式が一般的であるが、印刷装置の中には上述したランレングス形式やデイスプレイリストと呼ばれるような中間形式のデータを直接入力する方式のものもある。ここで、プリンタ装置が例えばデイスプレイリストの入力が必要な印刷装置によって構成されているものとすると、ホスト装置からプリンタ装置へラスタデータを送った場合には、プリンタ装置側ではこのラスタデータから中間形式のデイスプレイリストを再度生成する逆変換を行う必要が生じ、極めて非効率的である。本実施形態は、このような印刷装置によって構成されたプリント装置を含むシステムにも好適である。
【0097】
すなわち、プリンタ装置における印刷装置への出力フォーマットがラスタ形式ではなく、ランレングス形式やデイスプレイリストなどの中間形式である場合、本実施形態では、ラスタ形式ではなく、この出力フォーマットと同一、若しくは、より抽象度の高いフォーマットの抽象化描画データをホスト装置側で生成し、プリンタ装置側へ送るようにするのである。このようにすることで、より効率の高いプリントシステムを構成することができる。
【0098】
C.第3の実施形態
図6はこの発明の第3の実施形態であるプリントシステムの構成を示すブロック図である。なお、この図において、前掲図1と対応する部分には同一の符号が付されている。
【0099】
図6において、ホスト装置1には各種のプリンタ装置2がネットワークなどを介して接続される。そして、ホスト装置1の描画ライブラリ13におけるプリンタ情報モジュール133は、これらの各プリンタ装置毎に、そのプリント装置の解像度、装備している用紙トレイ、用紙トレイに収納されている用紙のサイズおよび向きなどのプリンタ情報を予め保持している。
【0100】
一方、ホスト装置1に接続される各プリンタ装置2の中には、ホスト装置1との間で双方向通信が可能なものもある。これらのプリンタ装置2では、使用可能な用紙のサイズおよび向きが用紙監視モジュール216によって常時監視され、その監視結果がリアルタイムにホスト装置1に報告される。従って、ホスト装置1は、これらのプリンタ装置2については、使用可能な用紙のサイズおよび向きを判断することができる。
【0101】
本実施形態におけるホスト装置1は、双方向通信が可能なプリンタ装置に印刷を行わせる場合には、当該プリンタ装置の用紙監視モジュール216を介して取得される情報を利用し、双方向通信が不可能なプリンタ装置に印刷を行わせる場合には上記プリンタ情報モジュール133内の保持情報を参照することにより、プリンタ装置側において用紙対応の変換処理が行われるか否かを判断または予測し、その結果に基づきプリンタ装置側に送る抽象化描画データの形式を設定する。図7は、このようなホスト装置側の制御の内容を示すフローチャートである。以下、このフローチャートに沿って本実施形態の動作を説明する。
【0102】
ホスト装置1は、アプリケーション11からの描画指示が発生すると、印刷を行わせるプリンタ装置2と双方向通信が可能否かを判断する(ステップS701)。
【0103】
この判断結果が「YES」である場合、ホスト装置1は、当該プリンタ装置2において使用可能な用紙のサイズおよび向きに関する情報を用紙監視モジュール216から取得する(ステップS702)。一方、ステップS701の判断結果が「NO」である場合、ホスト装置1は、当該プリンタ装置2に対応したプリンタ情報をプリンタ情報モジュール133から取得し、このプリンタ情報から当該プリンタ装置において使用可能な用紙のサイズおよび向きを予測する(ステップS703)。
【0104】
次にホスト装置1は、ユーザが指定した用紙のサイズおよび向きに関する情報を上記描画指示から取得し、上記ステップS702またはS703において取得したプリンタ装置側で使用可能な用紙のサイズおよび向きに関する情報と比較する。そして、ホスト装置1は、この比較結果に基づき、プリント装置側で用紙対応の変換処理が行われるか否かを判断する(ステップS704)。
【0105】
この判断結果が「YES」である場合、ホスト装置1におけるプリンタドライバ12は、以後、書体データがプリンタ装置2に装備されていない文字についてのフォント描画指示がアプリケーション11から与えられたときに、その書体データをフォント展開処理部131Aによりベクタ形式の抽象化描画データに変換する(ステップS705)。そして、この抽象化描画データを含む描画コマンドを作成し(ステップS706)、この描画コマンドをプリンタ装置2に送る(ステップS707)。
【0106】
一方、ステップS704の判断結果が「NO」である場合、プリンタドライバ12は、以後、書体データがプリンタ装置2に装備されていない文字についてのフォント描画指示がアプリケーション11から与えられたときに、その書体データをフォント展開処理部131Aによりランレングス形式の抽象化描画データに変換し(ステップS708)、この抽象化描画データを含む描画コマンドを作成し(ステップS706)、この描画コマンドをプリンタ装置2に送る(ステップS707)。なお、この場合、書体データを、ランレングス形式ではなく、ラスタデータに変換してプリンタ装置に送ってもよい。
【0107】
さて、以上説明した本実施形態の動作において、プリンタ装置2との双方向通信が不可能である場合におけるステップS704の判断は、あくまでも予測に止まる。何故ならば、プリンタ情報モジュール135に記憶されたプリント情報は、各プリンタ装置の通常の状態を反映した内容となっており、例えばプリンタ装置において紙切れなどが生じた場合には当該プリンタ装置の現在の状態とプリント情報によって表された当該プリンタ装置の状態とが異なったものとなるからである。
【0108】
例えばプリンタ装置2にA4横置きの用紙トレイとA4縦置きの用紙トレイが装着されているが、これらのうちA4縦置きの用紙トレイが紙切れ状態となっているときに、ユーザが縦置きA4での印刷をホスト装置1に指示したとする。この場合、ホスト装置1は、当該プリンタ装置にA4縦置きの用紙トレイが装備されている旨の情報がプリンタ情報モジュール135に保持されていることから、プリンタ装置2側において画像の変換処理は行われないと判断することとなる。しかし、実際にはA4縦置きの用紙トレイは紙切れとなっているので、プリンタ装置2側では描画の際に画像の回転処理を行うこととなる。
【0109】
この場合、ホスト装置からはランレングス形式の抽象化描画データやラスタデータが送られてくるので、プリンタ装置2側ではそれらに対する回転処理に時間が掛かり、処理速度が低下することとなる。従って、双方向通信が不可能なプリンタ装置については、紙切れなどの場合に印刷をしないように構成することも考慮に値する。勿論、処理速度の低下を許容することができる場合には、紙切れの場合であっても処理を続けるように構成すればよい。
【0110】
一方、双方向通信が可能なプリンタ装置については、紙切れなどの事態が生じたとしても、常にプリンタ装置の正確な状況がホスト装置1に報告される。従って、双方向通信が可能なプリンタ装置に印刷を行わせる場合におけるステップS704にお判断の結果は常に正確なものとなる。
【0111】
なお、プリンタ装置側で連続印刷速度を高めるために縦置きでの印刷を行わず、常に横置きでの印刷を行うような場合も考えられる。しかし、当該プリンタ装置が双方向通信が可能なものである場合には、そのような事実についてもホスト装置側で把握することができ、必要があればホスト装置側で描画データを回転してプリンタ装置に送ることができる。従って、ホスト装置側が予期しない回転処理等がプリンタ装置側で行われ、処理速度が低下する、といった不具合は発生しない。
【0112】
D.第4の実施形態
図8はこの発明の第4の実施形態であるプリントシステムの構成を示すブロック図である。なお、この図において、前掲図1と対応する部分には同一の符号が付されている。
【0113】
上記第1の実施形態では、アプリケーション11からの描画指示毎にプリンタドライバ12が描画コマンドを生成し、プリンタ装置2に送信した。ここで、プリンタ装置2に書体データが装備されていない文字についてのフォント描画指示がアプリケーション11から与えられた場合には、その文字の書体データから生成された抽象化描画データを含む描画コマンドがプリンタ装置2側に送られる。しかし、同一文字についてのフォント描画指示がアプリケーション11から与えられる場合も多く、そのような場合には同一内容の抽象化描画データが複数回重複してプリンタ装置2に送られることとなる。この発明の第4の実施形態は、このような無駄をなくすべく上記第1の実施形態に改良を加えたものである。
【0114】
上記の重複した抽象化描画データの送信を回避するため、本実施形態におけるプリンタ装置2のデコンポーザ211には、抽象化描画データを記憶するためのキャッシュ領域(以下、ダウンロード用フォントキャッシュという。)を有するキャッシュメモリ(図示略)と、ホスト装置1から送られてくる抽象化描画データをこのダウンロード用フォントキャッシュに書き込んだり、ホスト装置1からの描画コマンドに応じてダウンロード用フォントキャッシュから抽象化描画データを読み出す役割を果たすフォントダウンロードモジュール219が新たに設けられている。ここで、ダウンロード用フォントキャッシュに抽象化描画データを格納する際の格納アドレスは、ホスト装置1のプリンタドライバ12によって指定される。また、新たな抽象化描画データをフォントダウンロードモジュール219に書き込む際に空きエリアが不足している場合には、既に記憶された抽象化描画データのうち最も長く使用されていないものに対して当該抽象化描画データを上書きする。このダウンロード用フォントキャッシュを対象としたキャッシュ追い出し制御もプリンタドライバ12により行われる。すなわち、フォントダウンロードモジュール219が行うダウンロード用フォントキャッシュのアクセスは、全てプリンタドライバ12からの指示により行われる。
【0115】
一方、ホスト装置1の描画ライブラリ13には、ダウンロードキャッシュ管理テーブル135が新たに設けられている。このダウンロードキャッシュ管理テーブル135は、プリンタ装置2側のダウンロード用フォントキャッシュに格納された各抽象化描画データについて、以下の情報からなるキャッシュ管理データを記憶するためのテーブルである。
a.各抽象化描画データを特定する情報
b.各抽象化描画データが格納されているダウンロード用フォントキャッシュ内の格納アドレス
c.各抽象化描画データの追い出し制御を行うための情報(具体的には最後に当該抽象化描画データがアクセスされた日時などの情報である)
【0116】
図9は本実施形態におけるホスト装置の動作を示すフローチャート、図10は本実施形態におけるプリンタ装置の動作を示すフローチャートである。以下、これらの図を参照し、本実施形態の動作を説明する。
【0117】
ホスト装置1では、アプリケーションソフトウエア11からの描画指示がプリンタドライバ12に与えられると、プリンタドライバ12は、その描画指示がフォント描画指示か否かを判断する(ステップS901)。
【0118】
ここで、通常のグラフィックス等についての描画指示が与えられた場合には、プリンタドライバ11は、その描画指示からプリンタ装置2向けの描画コマンドを作成し(ステップS902)、プリンタ装置2側へ出力する(ステップS903)。
【0119】
一方、アプリケーションソフトウエア11を介して文字のフォント描画指示があった場合、プリンタドライバ12は、書体管理部132に問い合わせを行うことにより、当該文字の書体データがプリンタ装置2に装備されているか否かを判断する(ステップS904)。
【0120】
そして、当該文字の書体データがプリンタ装置2に装備されている場合には、プリンタドライバ12は、書体IDと文字コードおよび文字の大きさを表す情報等からなる当該文字を特定するパラメータを含んだ描画コマンドを生成し(ステップS905)、プリンタ装置2に送信する(ステップS906)。
【0121】
これに対し、当該文字の書体データがプリンタ装置2に装備されておらず、ホスト装置1にのみ装備されている場合、プリンタドライバ12は、当該文字に対応した抽象化描画データがプリンタ装置2側に既に送られているか否かをダウンロードキャッシュ管理モジュール135に問い合わせる(ステップS907)。
【0122】
ここで、当該文字に対応した抽象化描画データがプリンタ装置2側に既に送られている場合、プリンタドライバ12は、そのダウンロード済みの抽象化描画データを用いて描画を行うべき旨のダウンロードフォント描画コマンドを作成し(ステップS905)、プリンタ装置S906に送信する(ステップS906)。ここで、ダウンロードフォント描画コマンドには、ダウンロード済みの抽象化描画データの識別子として、当該抽象化描画データの格納アドレスを示す情報が含まれているが、その抽象化描画データ自体は含まれていない。
【0123】
また、この場合、ホスト装置1では、識別子の送信を行った抽象化描画データについて、ダウンロードキャッシュ管理テーブル135内のキャッシュ管理データにおける追い出し制御のための情報を更新する(ステップS908)。
【0124】
一方、当該文字に対応した抽象化描画データがプリンタ装置2側に未だ送られていない場合、プリンタドライバ12は、当該文字の書体データを抽象化描画データに展開すべき旨の要求をフォント展開処理部131Aに送る。
【0125】
フォント展開処理部131Aは、この展開要求を受け取ると、当該文字に対応した抽象化描画データがフォントキャッシュ134に格納されているか否かを判断する(ステップS909)。
【0126】
そして、当該文字の抽象化描画データがフォントキャッシュ134に格納されていない場合、フォント展開処理部131Aは、その文字のフォント種ID、文字識別コード、文字の大きさ、ホスト装置上で設定されている用紙方向およびプリンタ装置2の出力解像度をパラメータとして、当該文字の抽象化描画データを生成する(ステップS910)。
【0127】
次にフォント展開処理部131Aは、この生成した抽象化描画データをフォントキャッシュ134に格納するとともにプリンタドライバ12に送る。プリンタドライバ12は、ダウンロードキャッシュ管理テーブル135を参照することにより、ダウンロード用フォントキャッシュ内の空きエリアを求め、この空きエリア内に上記抽象化描画データの格納エリアを定める。そして、上記抽象化描画データを特定する情報、上記抽象化描画データの格納エリアを示す情報および追い出し制御のための情報(この場合、現在の日時などの情報)からなるキャッシュ管理データをダウンロードキャッシュ管理テーブル135に登録する(ステップS911)。
【0128】
なお、ステップS911において、抽象化描画データを格納する空きエリアが見つからない場合もある。かかる場合にプリンタドライバ12は、ダウンロードキャッシュ管理テーブル135内の追い出し制御のための情報を参照することにより、ダウンロード用フォントキャッシュ内に記憶されている抽象化描画データのうち最も長く使用されていないものを求め、その格納エリアを新たな抽象化描画データの格納エリアに当てる。
【0129】
一方、ステップS909における判断結果が「YES」である場合、フォント展開処理部131Aは、その抽象化描画データをフォントキャッシュ134から読み出してプリンタドライバ12へ送る。そして、プリンタドライバ12は、上記ステップS911と同様の方法により、ダウンロード用フォントキャッシュにおける当該抽象化描画データの格納エリアを定め、当該抽象化描画データに対応したキャッシュ管理データをダウンロードキャッシュ管理テーブル135に登録する(ステップS912)。
【0130】
次に、プリンタドライバ12は、以上のようにしてフォント展開処理部131Aから送られてくる抽象化描画データを受け取ると、その抽象化描画データと、ダウンロード用フォントキャッシュにおける当該抽象化描画データの格納エリアを指定する情報とからなるダウンロードコマンドを含んだ描画コマンドを生成し(ステップS905)、プリンタ装置2に送信する(ステップS906)。
以上がホスト装置1側の動作である。
【0131】
次にプリンタ装置2の動作について説明する。
プリンタ装置2におけるインタプリタ211は、ホスト装置1からの描画コマンドを受信すると、その描画コマンドがダウンロードフォント描画コマンドか否かを判断する(ステップS1001)。
【0132】
この判断結果が「YES」である場合、インタプリタ211は、そのダウンロードフォント描画コマンドから抽象化描画データの識別子(すなわち、格納アドレス)を取り出し、フォントダウンロードモジュール219内の当該格納アドレスから抽象化描画データを読み出す。そして、インタプリタ211は、用紙監視モジュール216からの画像の回転や拡大または縮小の指示が与えられている場合には、その指示を取得する(ステップS1002)。
【0133】
次いでインタプリタ211は、出力用フォントデータ生成モジュール218により、上記抽象化描画データから、出力形式であるラスタデータを生成する(ステップS1003)。ここで、抽象化描画データがベクタ形式のものである場合、ラスタデータは、ベクタ/ラスタ変換により生成される。また、インタプリタ211は、上記ステップS1002において回転などの指示を取得している場合にはこのラスタデータの生成の際に回転などの変換処理を併せて行う。そして、インタプリタ211は、このようにして生成したラスタデータを出力用バッファ213に書き込む(ステップS1004)。これにより、このラスタデータを使用して印刷が行われる(ステップS1005)。
【0134】
一方、ステップS1001の判断結果が「NO」である場合、インタプリタ211は、描画コマンドがダウンロードコマンドを含んでいるか否かを判断する(ステップS1006)。
【0135】
そして、この判断結果が「YES」である場合、インタプリタ211は、描画コマンドからダウンロードコマンドを取り出する。そして、フォントダウンロードモジュール219により、そのダウンロードコマンドに従って抽象化描画データをダウンロード用フォントキャッシュに格納する(ステップS1007)。この場合、ダウンロードコマンドによって特定されるダウンロード用フォントキャッシュ内のエリアに別の抽象化描画データが既に格納されていることもありうる。そのような場合であっても、フォントダウンロードモジュール219は、ダウンロードコマンドによって指定されたエリアに抽象化描画データを書き込む。以後、インタプリタ211は、この抽象化描画データに対し、既に説明したステップS1002〜S1005の処理を行う。
【0136】
なお、ステップS1006における判断結果が「NO」である場合には、ホスト装置1から受信した描画コマンドは、プリンタ装置2に書体データが装備されている文字の描画コマンドまたはグラフィックなどの描画処理を指示するコマンドであるので、基本描画モジュール217による通常の描画処理を行い(ステップS1008)、その結果得られるラスタデータを出力用バッファ213に書き込む(ステップS1009)。
以上がプリンタ装置側の動作である。
【0137】
本実施形態によれば、既にプリンタ装置にダウンロードされた抽象化描画データが重複してダウンロードされるという無駄が避けられるので、上記第1の実施形態よりも、ホスト装置およびプリンタ装置間のトラヒック量をさらに低減することができ、プリントシステムとしての処理速度をさらに高めることができる。
【0138】
E.第5の実施形態
上記第4の実施形態によれば、ホスト装置およびプリンタ装置間のトラヒック量を大幅に低減することができるが、その一方、プリンタ装置側では依然としてホスト装置から受信される抽象化描画データを出力形式描画データ(例えばラスタデータ)に変換する必要があり、そのための処理時間が余分に掛かる。従って、ホスト装置とプリンタ装置とを結ぶネットワークが十分に高速であり、ホスト装置およびプリンタ装置間のトラヒック量がプリントシステム全体としての処理速度に与える影響が少ないような場合には、プリンタ装置側での上記変換のための処理時間がプリントシステム全体の性能を高める上でのボトルネックとなってくる。本実施形態は、この点に鑑み、上記第4の実施形態にさらに改良を加えたものである。
【0139】
図11は本実施形態におけるプリントシステムのプリンタ装置2の構成を示すブロック図である。なお、この図において前掲図8と対応する部分には同一の符号が付されている。また、本実施形態におけるホスト装置1の構成は上記第4の実施形態において使用されているものと同一構成である。
【0140】
本実施形態において、デコンポーザ21には、キャッシュメモリ220が設けられている。このキャッシュメモリ220は、以下の3つのキャッシュ領域に分かれている。
【0141】
a.通常の文字描画用フォントキャッシュ
このキャッシュ領域は、プリンタ装置2に装備されている書体データを使用して描画を行う際に基本描画モジュール217によってアクセスされる。すなわち、プリンタ装置2に書体データが装備されている文字についての描画コマンドがホスト装置1から与えられると、プリンタ装置2では、基本描画モジュール217により、当該書体データを用いて描画が行われるが、その際に基本描画モジュール217は、この文字描画用フォントキャッシュの中から該当する書体データを検索する。そして、該当する書体データが格納されている場合にはその書体データを用いて描画を行う。一方、該当する書体データが文字描画用フォントキャッシュに格納されていない場合には、プリント装置2に装備された書体データ用の記憶手段(図示略)から該当する書体データを読み出し、描画に使用する。また、この場合、基本描画モジュール217は、描画に使用した書体データを文字描画用フォントキャッシュに格納し、その際に必要であれば、最も長く使用されていない書体データを文字描画用フォントキャッシュから追い出す。
【0142】
b.ダウンロード用フォントキャッシュ
このダウンロード用フォントキャッシュは、フォントダウンロードモジュール219によってアクセスされるキャッシュ領域である。その詳細については、既に第4の実施形態において説明したので、ここでの重複した説明は省略する。
【0143】
c.展開後の出力フォーマット用フォントキャッシュ
この出力フォーマット用フォントキャッシュは、出力用フォントデータ生成モジュール218によって生成された出力形式描画データ(例えばラスタデータ)を記憶するためのキャッシュ領域である。本実施形態における最大の特徴は、この出力フォーマット用フォントキャッシュをデコンポーザ21内のキャッシュメモリに設けた点および出力用フォントデータ生成モジュール218がこの出力フォーマット用フォントキャッシュに格納された出力形式描画データを利用する点にある。なお、この場合の描画データの利用の態様については、説明の重複を避けるため、その説明を本実施形態の動作説明に譲ることとする。
【0144】
図12は本実施形態におけるプリンタ装置2の動作を示すフローチャートである。以下、このフローチャートを参照し、本実施形態の動作を説明する。なお、ホスト装置1の動作は上記第4の実施形態と変わるところがないので、その説明を省略する。
【0145】
プリンタ装置2におけるインタプリタ211は、ホスト装置1からの描画コマンドを受信すると、その描画コマンドがダウンロードフォント描画コマンドか否かを判断する(ステップS1201)。
【0146】
この判断結果が「YES」である場合、インタプリタ211は、そのダウンロードフォント描画コマンドにより指示された抽象化描画データをフォントダウンロードモジュール219を介して取得する。そして、インタプリタ211は、出力用フォントデータ生成モジュール218に対し、上記抽象化描画データから、出力形式の描画データを生成すべき旨を指示する。
【0147】
出力用フォントデータ生成モジュール218は、上記抽象化描画データに対応し、かつ、現在行おうとしている印刷に必要な用紙対応の変換処理(回転、拡大または縮小)を経た出力形式描画データを出力フォーマット用フォントキャッシュの中から検索する(ステップS1202)。なお、この検索は後述するキャッシュキーを利用して行われる。
【0148】
上記検索の結果、該当する出力形式描画データが見つからなかった場合、出力用フォントデータ生成モジュール218は、用紙対応の変換処理(画像の回転、拡大または縮小)の指示を用紙監視モジュール216から取得する(ステップS1203)。
【0149】
次に出力用フォントデータ生成モジュール218は、上記抽象化描画データから出力形式描画データを生成する(ステップS1204)。ここで、抽象化描画データがベクタ形式のものであり、出力形式描画データがラスタデータである場合、出力形式描画データは、ベクタ/ラスタ変換により生成することができる。また、出力用フォントデータ生成モジュール218は、上記ステップS1203において変換処理の指示を取得している場合にはこの出力形式描画データの生成の際に回転などの変換処理を併せて行う。
【0150】
次に出力用フォントデータ生成モジュール218は、出力形式描画データを出力フォーマット用フォントキャッシュに格納する(ステップS1205)。また、この際に出力用フォントデータ生成モジュール218は、当該描画データの格納アドレスと、当該描画データを生成する際に併せて行った印刷用紙対応の変換処理(画像の回転、拡大または縮小)に使用した変換マトリックスと、元の抽象化描画データの抽象化フォーマットとからなるキャッシュキーを出力フォーマット用フォントキャッシュ内の特定のエリアに格納する。次いで、出力フォーマット用フォントキャッシュに書き込んだ抽象化描画データに関する情報を同キャッシュ内のキャッシュ管理テーブルに登録する(ステップS1206)。このキャッシュ管理テーブルの内容を参照することにより、出力フォーマット用フォントキャッシュ内の出力形式描画データの追い出し制御が行われる。
【0151】
次に、出力用フォントデータ生成モジュール218は、生成した出力形式描画データを出力用バッファ213に書き込む(ステップS1209)。これにより、この出力形式描画データを使用して印刷が行われる(ステップS1210)。
【0152】
これに対し、ステップS1202における検索において該当する出力形式描画データが見つかった場合、出力フォントデータ生成モジュール218は、その出力形式描画データを出力フォーマット用フォントキャッシュから読み出す(ステップS1207)。次いで、出力フォーマット用フォントキャッシュ内の出力形式描画データの追い出し制御を行うためのキャッシュ管理テーブルを更新する(ステップS1208)。
【0153】
次に出力用フォントデータ生成モジュール218は、ステップS1209において読み出した出力形式描画データをそのまま出力用バッファ213に書き込む(ステップS1209)。これにより、この出力形式描画データを使用して印刷が行われる(ステップS1210)。
【0154】
このように本実施形態によれば、抽象化描画データから生成すべき出力形式描画データが出力フォーマット用フォントキャッシュに格納されている場合には、その出力形式描画データがそのまま印刷に使用される。従って、出力形式描画データを生成するための処理時間が大幅に短縮される。
【0155】
さて、ステップS1201の判断結果が「NO」である場合、インタプリタ211は、描画コマンドがダウンロードコマンドを含んでいるか否かを判断する(ステップS1006)。
【0156】
そして、この判断結果が「YES」である場合、インタプリタ211は、描画コマンドからダウンロードコマンドを取り出す。そして、フォントダウンロードモジュール219により、そのダウンロードコマンドに従って抽象化描画データをダウンロード用フォントキャッシュに格納する(ステップS1212)。以後、本実施形態では、この抽象化描画データに対し、既に説明したステップS1202〜S1210の処理が行われる。
【0157】
なお、ステップS1211における判断結果が「NO」である場合には、ホスト装置1から受信した描画コマンドは、プリンタ装置2に書体データが装備されている文字の描画コマンドまたはグラフィックなどの描画処理を指示するコマンドであるので、基本描画モジュール217による通常の描画処理を行い(ステップS1213)、その結果得られるラスタデータを出力用バッファ213に書き込む(ステップS1214)。
以上が本実施形態の動作である。
【0158】
本実施形態によれば、プリンタ装置側において同一内容の出力形式描画データが重複して生成されるのを回避することができるため、プリンタ装置側の処理速度をさらに高めることができる。
【0159】
【発明の効果】
以上説明したように、この発明によれば、ホスト装置からプリンタ装置へ送られる描画データの処理を行う画像処理装置において、前記プリンタ装置に書体データが装備されていない文字の描画指示が前記ホスト装置側に発生した場合に、当該文字に対応した抽象化形式のデータフォーマットの描画データである抽象化描画データを生成する描画データ生成手段と、前記描画データ生成手段によって生成された抽象化描画データを前記プリンタ装置に送信する送信手段とを設けたので、ホスト装置およびプリンタ装置間のトラヒック量を抑え、処理速度を犠牲にすることなく、多種の書体による印刷を行うことができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の第1の実施形態であるプリントシステムの構成を示すブロック図である。
【図2】 同実施形態におけるホスト装置の動作を示すフローチャートである。
【図3】 同実施形態におけるプリンタ装置の動作を示すフローチャートである。
【図4】 同実施形態における抽象化描画データの例であるベクタ形式のアウトラインフォーマットデータを例示する図である。
【図5】 この発明の第2の実施形態における抽象化描画データの例であるランレングス形式のラスタデータを例示する図である。
【図6】 この発明の第3の実施形態であるプリントシステムの構成を示すブロック図である。
【図7】 同実施形態におけるホスト装置の動作を示すフローチャートである。
【図8】 この発明の第4の実施形態であるプリントシステムの構成を示すブロック図である。
【図9】 同実施形態におけるホスト装置の動作を示すフローチャートである。
【図10】 同実施形態におけるプリンタ装置の動作を示すフローチャートである。
【図11】 この発明の第5の実施形態におけるプリンタ装置の構成を示すブロック図である。
【図12】 同プリンタ装置の動作を示すフローチャートである。
【図13】 プリンタ装置に書体データが装備されていない文字の印刷を可能にしたプリントシステムの第1の構成例を示すブロック図である。
【図14】 同システムにおいてホスト装置からプリンタ装置に送られる描画コマンドの内容を示す図である。
【図15】 プリンタ装置に書体データが装備されていない文字の印刷を可能にしたプリントシステムの第2の構成例を示すブロック図である。
【図16】 上記第1および第2の構成例の問題点を説明する図である。
【図17】 プリンタ装置に書体データが装備されていない文字の印刷を可能にしたプリントシステムの第3の構成例を示すブロック図である。
【符号の説明】
1……ホスト装置、2……プリンタ装置、
131A……フォント展開処理部(描画データ生成手段)、
12……プリンタドライバ(送信手段)、
211……インタプリタ(受信装置)、218……出力用フォントデータ生成モジュール(出力用データ生成手段)、22……印刷装置。

Claims (4)

  1. ホスト装置からプリンタ装置へ送られる描画データの処理を行う画像処理装置において、
    データを記憶するキャッシュメモリと、
    前記プリンタ装置に特定の書体に対応する書体データが装備されていない文字の当該特定の書体での描画指示が前記ホスト装置側に発生し、かつ、当該文字の当該特定の書体に対応した抽象化描画データが前記キャッシュメモリに記憶されていない場合に、当該文字の当該特定の書体に対応したベクタ形式のアウトラインフォーマットデータ、または、ランレングス形式のラスタフォーマットデータである抽象化描画データを生成する描画データ生成手段と、
    前記描画データ生成手段によって生成された抽象化描画データを前記プリンタ装置に送信する送信手段と、
    前記描画データ生成手段によって生成された抽象化描画データを前記キャッシュメモリに格納する格納手段と、
    前記プリンタ装置に特定の書体に対応する書体データが装備されていない文字の当該特定の書体での描画指示が前記ホスト装置側に発生し、かつ、当該文字の当該特定の書体に対応した抽象化描画データが前記キャッシュメモリに記憶されている場合には、前記描画データ生成手段は当該文字の当該特定の書体に対応した抽象化描画データを生成せず、前記送信手段は前記キャッシュメモリに記憶された当該文字の当該特定の書体に対応した抽象化描画データを前記プリンタ装置に送信することを特徴とする画像処理装置。
  2. 前記プリンタ装置との間で双方向通信が可能な場合には、前記プリンタ装置からの印刷に使用される用紙のサイズおよび向きに関する情報を取得することにより、前記プリント装置において行われる描画処理において画像のサイズまたは向きを使用可能な印刷用紙のサイズまたは向きに適合させる変換処理が行われるか否かを判定し、前記プリンタ装置との間で双方向通信をすることができない場合には、予め記憶した当該プリント装置における使用可能な用紙のサイズおよび向きに関する情報に基づき、前記変換処理が行われるか否かを判定する判定手段を具備し、
    前記描画データ生成手段は、前記変換処理が行われない旨の判定が前記判定手段によってなされた場合には、ランレングス圧縮形式のラスタフォーマットデータを前記抽象化描画データとして生成し、前記変換処理が行われる旨の判定が前記判定手段によってなされた場合には、ベクタ形式のアウトラインフォーマットデータを前記抽象化描画データとして生成することを特徴とする請求項に記載の画像処理装置。
  3. 前記送信手段によって送信された抽象化描画データが前記プリンタ装置のキャッシュメモリに記憶された場合に、該抽象化描画データを特定する情報を記憶するダウンロードキャッシュ管理テーブルを具備し、
    前記描画データ生成手段によって生成すべき抽象化描画データを特定する情報が前記ダウンロードキャッシュ管理テーブルに記憶されている場合には、前記描画データ生成手段は、当該抽象化描画データの生成を行わず、前記送信手段は、当該抽象化描画データを指定した描画指示を前記プリンタ装置に送信することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記ダウンロードキャッシュ管理テーブルは、前記プリンタ装置のキャッシュメモリに保持されている抽象化描画データが最後にアクセスされた日時、および、前記プリンタ装置のキャッシュメモリに抽象化描画データが格納された日時を、当該抽象化描画データを特定する情報と対応付けて記憶し、
    前記送信手段は、前記プリンタ装置に送信すべき新たな抽象化描画データがあり、かつ、該抽象化描画データを格納するのに必要な記憶エリアが前記キャッシュメモリに残されていないと判断される場合に、前記ダウンロードキャッシュ管理テーブルに記憶された情報に基づいて、最も長く使用されていない抽象化描画データを特定し、この抽象化描画データが格納されている記憶エリアに新たな抽象化描画データを格納すべき旨の指示を前記プリンタ装置に送ることを特徴とする請求項に記載の画像処理装置。
JP22725798A 1998-08-11 1998-08-11 画像処理装置およびプリンタ装置 Expired - Fee Related JP4038887B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22725798A JP4038887B2 (ja) 1998-08-11 1998-08-11 画像処理装置およびプリンタ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22725798A JP4038887B2 (ja) 1998-08-11 1998-08-11 画像処理装置およびプリンタ装置

Publications (2)

Publication Number Publication Date
JP2000052610A JP2000052610A (ja) 2000-02-22
JP4038887B2 true JP4038887B2 (ja) 2008-01-30

Family

ID=16857996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22725798A Expired - Fee Related JP4038887B2 (ja) 1998-08-11 1998-08-11 画像処理装置およびプリンタ装置

Country Status (1)

Country Link
JP (1) JP4038887B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190218A (ja) * 2005-01-07 2006-07-20 Ricoh Co Ltd 印刷システムおよび印刷方法
JP5821194B2 (ja) * 2011-01-24 2015-11-24 富士ゼロックス株式会社 出力装置、出力情報送信装置、出力システム、及びプログラム

Also Published As

Publication number Publication date
JP2000052610A (ja) 2000-02-22

Similar Documents

Publication Publication Date Title
JP2714022B2 (ja) 文字データ管理システムおよび文字データ管理方法
KR100252444B1 (ko) 정보 처리 장치
US6441918B1 (en) Image output system image processing system image output method image processing method and recording medium
JP2610993B2 (ja) 情報処理装置及び方法
JP4038887B2 (ja) 画像処理装置およびプリンタ装置
KR100392548B1 (ko) 프린터내의메모리적응할당방법및시스템
US6016155A (en) Character processing apparatus, character processing method, and memory
US7589861B2 (en) Image forming apparatus and printing system
JP3854790B2 (ja) 画像処理装置及び方法及び記憶媒体
US20100053665A1 (en) Print optimization mechanism
JPH10278362A (ja) 印刷制御装置及び方法と印刷システム
JPH07271528A (ja) 印字システム及びその印字方式
JPH06171160A (ja) 印刷情報処理装置
JP2735073B2 (ja) 文字データ管理計算装置
CN1155696A (zh) 用主高速缓存器和打印机高速缓存器提高文本打印性能
JP3432205B2 (ja) 情報処理装置およびデータ処理方法および印刷制御システム
JPH11129553A (ja) メモリ管理方法及びそれを用いた印刷装置と印刷システム
JPH06183093A (ja) プリント装置
JP3347520B2 (ja) 情報処理装置およびプリンタシステムおよびプリントジョブ処理方法
JPH10175332A (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2000033730A (ja) 印刷装置とその制御方法及び印刷システム
JPH091875A (ja) 画像出力装置
JPH09292875A (ja) 画像処理装置
JP2000227844A (ja) 画像処理装置
JP2002278719A (ja) 印刷装置、その制御方法、制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees