JP3119429B2 - プリンタ制御装置及び方法 - Google Patents

プリンタ制御装置及び方法

Info

Publication number
JP3119429B2
JP3119429B2 JP07178700A JP17870095A JP3119429B2 JP 3119429 B2 JP3119429 B2 JP 3119429B2 JP 07178700 A JP07178700 A JP 07178700A JP 17870095 A JP17870095 A JP 17870095A JP 3119429 B2 JP3119429 B2 JP 3119429B2
Authority
JP
Japan
Prior art keywords
font
resolution
generated
scalable
pattern
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
JP07178700A
Other languages
English (en)
Other versions
JPH0930060A (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 JP07178700A priority Critical patent/JP3119429B2/ja
Priority to US08/677,108 priority patent/US5737501A/en
Priority to EP96111294A priority patent/EP0753826B1/en
Priority to DE69633813T priority patent/DE69633813D1/de
Publication of JPH0930060A publication Critical patent/JPH0930060A/ja
Application granted granted Critical
Publication of JP3119429B2 publication Critical patent/JP3119429B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0054Geometric transformations, e.g. on rasterised data

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部からの印刷デ
ータに応じて生成される中間的なデータ形式で記述され
る描画オブジェクトに基づき、イメージを描画するプリ
ンタ制御装置及び方法。
【0002】
【従来の技術】従来から、外部から送られてくる印刷デ
ータに基づいてプリント動作を行う印刷装置では主にコ
ストダウンのために、該印刷データや該印刷データに基
づいて作成される描画オブジェクト、ラスタライズ後の
ビットイメージを格納するためのメモリ(RAM)の削
減が要求されている。近年、該印刷データの処理解像度
は向上の一途をたどっており、RAMの削減要求は益々
強まっている。そのための従来技術として、以下に説明
するバンディング方式による印刷が行われている。
【0003】バンディング方式とは、印刷するページの
一部分を構成するようなバンド領域を少なくとも2つ以
上用意し、該バンド領域の一方にラスタライズされたラ
スタイメージをビデオ信号として一定速度で印刷部(=
プリンタエンジン)へ送出(=シップ)すると同時に、
作成済みの描画オブジェクトをもう一方のバンド領域に
ラスタライズしてゆき、1バンド分のシップが終わる
と、今度は、先ほどラスタライズが済んだバンド領域か
らシップを開始するといったように、ラスタライズとシ
ップを交互に繰り返して印刷する方式を言う。
【0004】バンディング方式に対して、1ページ分の
ラスタイメージを格納可能なだけのメモリ(=ラスタメ
モリ)を用意し、全描画オブジェクトのラスタライズが
完了した後の該ラスタイメージをプリンタエンジンへシ
ップする方式を、フルペイント方式と呼ぶ。
【0005】バンディング方式では、1ページ分のラス
タメモリを用意する必要がないだけでなく、ラスタライ
ズとシップを同時に行えるため、処理速度の向上も計る
ことができるが、以下に挙げるような問題点があった。
【0006】例えば、電子写真方式を採用したプリンタ
のように、プリントアウトの途中で該プリント動作を中
断することが困難な印刷装置では、プリンタエンジンへ
のビテオ信号の送出は一定速度で行われるため、1バン
ド目のシップが開始された後は、各バンド領域へのラス
タライズ時間は、1バンド分の該ビデオ信号送出時間
(全バンドで一定)より短くなければならない。ラスタ
イメージを構成する図形が複雑であったり、大量のフォ
ントを描画する等の理由により、該ラスタライズ時間が
ビデオ信号送出時間よりも多くなる場合では、出力結果
の一部が欠落してしまう(以下、オーバーランと呼
ぶ)。
【0007】また、バンディング方式では、1ページ分
のラスタメモリを保持していないため、中間データ形式
である描画オブジェクトを少なくとも1ページ分は蓄え
ておく必要があるが、大きなイメージデータ等の印刷デ
ータでは1ページ分の描画オブジェクトさえ格納不可能
となる可能性がある(以下、メモリオーバーと呼ぶ)。
メモリオーバーが発生した場合、フルペイント方式で
は、一旦、作成済みの描画オブジェクトを1ページ分の
ラスタメモリにラスタライズしてしまえば、該描画オブ
ジェクト用に使用していたメモリを再利用して、続く描
画オブジェクトを作成することが可能であるため問題な
い。
【0008】上述したように、バンディング方式ではオ
ーバーランやメモリオーバーが発生する印刷データを、
必要なだけのラスタメモリが用意されていないシステム
で問題なく処理するためには、例えば、プリンタエンジ
ンへ送出する前の処理解像度を低下させ、動的にフルペ
イント方式へ移行する方法が採用されている(以下、デ
グレード処理と呼ぶ)。
【0009】例えば、A4用紙1ページ分のラスタイメ
ージを600dpiで作成すると約4MBのメモリが必
要であるが、300dpiでは約1MBで済む。
【0010】上記デグレード処理を実現するためには、
1ページ分の描画オブジェクトを格納するに要するメモ
リ容量と、各描画オブジェクトのラスタライズに必要な
時間を各バンド毎に加算・管理し、描画オブジェクトの
容量がある一定容量よりも多くなるか、または、1バン
ド分のラスタライズ時間が1バンド分のシップ時間(=
一定値)よりも多くなるバンドが1ページ中に存在する
かを調べ、上記に該当する場合には、予め用意されてい
たバンドラスタ用のメモリと、該描画オブジェクトに対
して間引き処理等を行うことで得られる描画オブジェク
ト格納部の空きメモリを用いて、低解像度用のラスタメ
モリを用意する。この時、一度に1ページ分の低解像度
ラスタメモリが得られない場合でも、解像度変換された
描画オブジェクトを順番にラスタライズしてゆき、参照
されている最後のバンドの描画が終了した時点で該描画
オブジェクトを削除することで、空きメモリを獲得でき
るようになっている。
【0011】また、フォントのアウトラインを構成する
座標点列情報を元に該フォントパターンを生成するスケ
ーラブルフォントを採用しているプリンタ等では、一度
要求された文字コードに対応するアウトラインパターン
を該ワークメモリ内の一部に蓄えておき、再度同一の文
字コードが印刷データとして要求された場合は、前記ワ
ークメモリ内のデータを再度参照してラスタライズを行
う機能(以下、フォントキャッシュ機能)も一般的に採
用されており、処理速度向上や該プリンタのワークメモ
リ削減が計られる。
【0012】更に、前記フォントキャッシュでは、どの
ページから参照されているかを文字単位で管理すること
で、連続して作成される複数ページ間にまたがって1つ
のフォントキャッシュを共有することも行われている。
【0013】
【発明が解決しようとしている課題】しかしながら上記
従来例では、以下に説明するような問題点があった。す
なわち、従来例で説明したデグレード処理では、当初6
00dpiで作成された描画オブジェクトを元にして、
間引き処理等で300dpiの描画オブジェクトを生成
するため、単純に間引くと線が消える等のデータ欠落が
起き、あるいは周りのドット情報を考慮して補間しなが
ら間引くと逆にイメージが潰れてしまう等、解像度低下
に伴う出力結果の品位劣化が否めなかった。
【0014】上記印字品位の劣化は、印字サイズが小さ
なフォントで顕著である一方、比較的大きなサイズのフ
ォントでは、解像度変換の処理効率を優先させたい場合
もある。
【0015】また、外部より登録されるフォントデータ
は、一般的に印刷処理中のある時点で該登録フォントデ
ータが削除可能であったり、同一文字コードに異なるパ
ターンを順次登録することができることから、パターン
内容の書き変わりを避ける意味で一律に間引き処理を行
っていた。
【0016】また、装置内部に予め準備されているドッ
トフォントに対して、拡大・縮小等の修飾指定がある場
合は、修飾後のパターンが描画オブジェクトとして生成
されるため、間引き処理以外では解像度変換が行えず、
メモリ効率的に改善の余地があった。
【0017】また、連続して複数の異なるページを作成
する際、前記フォントキャッシュ部によってひとつのフ
ォントオブジェクトを複数のページから参照している場
合に、あるページで解像度低下が発生すると、同一フォ
ントオブジェクトを参照している若いページのラスタラ
イズが完了するまでは、解像度低下処理を進めることが
できない。すなわち、ページ排紙待ち状態となってしま
い、処理速度の観点から問題となっている。
【0018】更に、紙等の記憶媒体の両面に印刷可能な
両面印刷部を有するプリンタにおいては、外部より送ら
れてくる印刷データからシーケンシャルに作成されるペ
ージの順序(描画オブジェクトを作成する順序)と、ラ
スタライズしたラスタイメージを印刷部に送出する順序
が一致しない場合がある。すなわち、先ず2ページ目
(裏面)をラスタライズし、後に1ページ目をラスタラ
イズするような場合があるため、2ページ目に属する描
画オブジェクトの作成が終了するまで、1ページ目の描
画オブジェクトを保存しておく必要がある。この時、前
記フォントキャッシュ部の機能により、1ページ目と2
ページ目とで1つのフォントオブジェクトを共有してい
る場合に、2ページ目で解像度低下が発生すると、ラス
タライズが済んでいないページ1にも属するフォントオ
ブジェクトの解像度を低下させてしまうため、本来解像
度低下させる必要がないページ1も強制的に解像度を低
下させる必要があった。
【0019】よって上記課題に鑑み、本発明の目的は、
文字を含む描画オブジェクト作成中に、解像度変換を行
う必要が生じた場合、フォントの種類に応じて再生成方
法を選択することで、印字品位の低下を防ぐこと。ま
た、異なるページから同時に参照されている描画オブジ
ェクトは、別オブジェクトとすることで他ページの品位
低下を防ぐことにある。
【0020】
【課題を解決するための手段】上記課題を解決するため
に、本発明のプリンタ制御装置は、入力される印刷デー
タに応じてフォントオブジェクトを生成する第1生成手
段と、前記第1生成手段によりフォントジェクトが生成
された際の解像度と異なる解像度でフォントオブジェク
トを生成する必要が生じた場合に、異なる解像度で生成
すべきフォントオブジェクトがスケーラブルフォントで
あるか否かを判別する判別手段と、前記判別手段により
スケーラブルフォントであると判別された場合、スケー
ラブルフォントデータを用いて再スケーリングして、異
なる解像度のフォントオブジェクトを生成し、前記判別
手段によりスケーラブルフォントでないと判別された場
合、フォントパターンを間引き処理して、異なる解像度
のフォントオブジェクトを生成する第2生成手段とを有
することを特徴とする。
【0021】また、上記課題を解決するために、本発明
のプリンタ制御方法は、入力される印刷データに応じて
フォントオブジェクトを生成する第1生成ステップと、
前記第1生成ステップによりフォントジェクトが生成さ
れた際の解像度と異なる解像度でフォントオブジェクト
を生成する必要が生じた場合に、異なる解像度で生成す
べきフォントオブジェクトがスケーラブルフォントであ
るか否かを判別する判別ステップと、前記判別ステップ
によりスケーラブルフォントであると判別された場合、
スケーラブルフォントデータを用いて再スケーリングし
て、異なる解像度のフォントオブジェクトを生成し、前
記判別ステップによりスケーラブルフォントでないと判
別された場合、フォントパターンを間引き処理して、異
なる解像度のフォントオブジェクトを生成する第2生成
ステップとを有することを特徴とする。
【0022】
【0023】
【0024】
【発明の実施の形態】以下に添付の図面を参照して本発
明の好適な発明の実施の形態について説明する。
【0025】(実施例1)図1は本発明を適用可能なプ
リンタ制御装置の構成を示す断面図であり、例えば、レ
ーザビームプリンタ(以下LBP)の場合を示す。な
お、本発明を適用可能な文字処理装置はLBPに限られ
るものではなく、他のプリント方式のプリンタ装置でも
構わない。また、本発明の機能が実行されるのであれ
ば、単体の機器であっても、LAN等のネットワークを
介して処理が行われるシステムであっても良い。
【0026】同図において、1000はLBP本体であ
り、外部に接続されてるいホストコンピュータ(図2の
100)から供給される文字情報(フォント書体名や文
字サイズ、文字コード等)や図形データ(円、ライン、
矩形等)あるいはマクロ命令などを入力して記憶すると
ともに、それらの情報に従って対応する文字パターンや
図形パターンなどを作成し、記録媒体である記録紙上に
像を形成する。1012は操作のためのスイッチ及びL
ED表示器などが配されている操作パネル、1001は
LBP1000全体の制御及びホストコンピュータから
供給される該印刷データを解析するプリンタ制御ユニッ
トである。この制御ユニット1001は、主に文字情報
を対応する文字パターンのビデオ信号に変換してレーザ
ドライバ1002に出力する。また、このLBPは不図
示のデータ源から文字パターンの登録やフォームデータ
などの登録も行え、同様に印字データに応じてビデオ信
号に変換してレーザドライバ1002に出力する。レー
ザドライバ1002は半導体レーザ1003を駆動する
ための回路であり、入力されたビデオ信号に応じて半導
体レーザ1003から発射されるレーザ光1004をオ
ンオフ切り替えする。レーザ1004は回転多面鏡10
05で左右方向に振られ静電ドラム1006上を走査す
る。これにより、静電ドラム1006上には文字パター
ンの静電潜像が形成される。この潜像は、静電ドラム1
006周囲の現像ユニット1007により現像された
後、記録紙に転送される。この記録紙にはカットシート
を用い、カットシート記録紙はLBP1000に装着し
た用紙カセット1008に収納され、給紙ローラ100
9及び搬送ローラ1010と1011とにより装置内に
取り込まれて、静電ドラム1006に供給される。
【0027】図2は、図1のプリンタ制御装置の制御ユ
ニット1001の内部構成を説明するブロック図であ
る。
【0028】同図において、プリンタ制御装置本体10
00は、所定のインターフェース25を介して外部のホ
ストコンピュータ100と接続されており、ホストコン
ピュータ100からの印刷データに従って所定の印刷処
理を実行するように構成されている。ホストコンピュー
タ100より受信した該印刷データは受信バッファ24
に受信データとして一時的に蓄えられる。
【0029】20はCPUであり、読み出し専用メモリ
であるROM21に記憶された各制御プログラムに基づ
いて、システムバス23に接続される各種デバイスとの
アクセスの統括的な制御など、本LBPの全制御を行う
ための演算・制御を行う。該制御プログラムとしてRO
M21には、後述する図3、図6のフローチャートによ
る一連の制御を実現するために、受信バッファ24に蓄
えられた印刷データを解析して描画オブジェクトを生成
する描画オブジェクト生成部21a、並びにオブジェク
ト管理部21b、前記描画オブジェクトを描画するラス
タライズ部21c、解像度低下が必要かどうかを判定す
る解像度低下判定部21d、更に前記描画オブジェクト
生成部21aの一部として、フォントROM21fのフ
ォントデータを元にフォントオブジェクトを生成するフ
ォント生成部21eの5種類のプログラムが格納されて
いる。また、このROM21は、ドットフォントデータ
やベクトル形式のアウトラインフォントデータ、ストロ
ークフォントデータ等のスケーラブルフォントデータか
ら構成されるフォントメモリ21fにも用いられてい
る。
【0030】26は印刷部I/Fであり、ラスタライズ
されたイメージデータをビデオ信号として印刷部(プリ
ンタエンジン)27へ出力する。印刷部27は印刷部I
/F26から受け取ったビデオ信号を元に記録紙28上
に画像の印刷を行う。
【0031】22はCPU20の主メモリ、ワークメモ
リ22a等として機能するRAMであり、フォント生成
部21eがフォントメモリ21f内のスケーラブルデー
タに基づいて生成した文字パターン、あるいはドットフ
ォントパターン、更に描画オブジェクト生成部21aが
入力された図面印刷データに従って作成した他の描画オ
ブジェクトを格納するための描画オブジェクト格納部2
2b、描画オブジェクト22bをラスタライズしたラス
タライズイメージを格納するバンドメモリ22a、不図
示の環境データ格納メモリ、あるいはNVRAM等に用
いられる。なお、RAM22は、図示しない増設ポート
に接続されるオプションRAMによりメモリ容量を拡張
できるように構成されている。また、LBP1000は
図示しない電源部から電力の供給を受けている。
【0032】次に、図1及び図2の構成を備えるプリン
タ制御装置の動作について図3に示すフローチャートを
用いて説明する。
【0033】図3において、先ずLBP1000本体に
電源が供給されると、ステップS301にて描画オブジ
ェクト格納メモリやラスタメモリの初期化と、S307
で作成する描画オブジェクトの解像度の設定を行う。本
実施例では、生成解像度は600dpiとし、ポイント
サイズやmm等の単位系で指定された印刷コマンドは、
この値を用いてドット数に変換されることになる。
【0034】次に、ステップS302で、外部のホスト
コンピュータ100より印刷データを受信して、該印刷
データを受信バッファに格納し、該受信バッファより一
定サイズ分のデータを読み取る。該データはワークメモ
リの一部に一時的に格納される。
【0035】そして、ステップS303で、予め定めら
れた文法に従って該データのコマンド解釈を行い、ステ
ップS303の結果に応じて、続くステップS304、
S306、S307に処理が分かれる。
【0036】先ず、ステップS304で、該データが排
紙命令と判断された場合には、ステップS305でカレ
ントページに属する描画オブジェクトをバンドラスタメ
モリ上に描画(ラスタライズ)する。この時、生成解像
度が600dpiのままであれば、バンドラスタには6
00dpiの画像としてラスタライズされる。そして描
画が終了したバンドラスタは、画像出力部によってプリ
ンタエンジンへ送られる。なお、300dpiで生成さ
れたデータは、走査方向に2倍、副走査方向に2倍にな
るように拡大処理、スムージング処理が施されエンジン
へ送られる。ここで、該バンドラスタはステップS30
1で予め2バンド分のメモリが用意されており、一方の
バンドラスタをプリンタエンジンへ送出している間に、
他方のバンドに描画オブジェクトを描画する。ステップ
S305にて排紙処理が終了したら、ステップS302
へ戻り、次のデータ入力を待つ。
【0037】次に、ステップS306にて、前記データ
が描画命令であると判断された場合には、ステップS3
07にて、該データが文字描画命令であれば、該データ
で指定されるフォントの書体や、文字サイズ、文字コー
ドを元にフォントメモリ21fからフォントパターンを
読み出してフォントオブジェクトを生成し、文字以外の
描画命令であれば、該データで指定された図形(ライン
や円、多角形等)の描画オブジェクトを生成する。
【0038】一方、ステップS306で描画命令以外の
印刷データであると判断された場合には、ステップS3
08にて該データに応じて印字位置移動や印字環境設定
等の処理がなされ、一単位分のコマンド解釈を終了す
る。
【0039】次のステップS309では、ステップS3
07にて生成された描画オブジェクトに対して、描画オ
ブジェクトメモリ管理部が描画オブジェクト格納部から
必要なメモリと対応するIDを獲得する。メモリが獲得
できれば、ステップS310で獲得されたメモリに該描
画オブジェクトを格納する。また、ここで、描画オブジ
ェクトの印字位置並びに描画高さと、各バンドラスタの
高さから、該描画オブジェクトが属するバンド番号を求
めておく。一方、もしメモリが獲得できなければ、ステ
ップS313へ進む。
【0040】ステップS311では、入力された印刷デ
ータに基づく描画オブジェクトの複雑さを測定し、一定
基準より複雑であるかどうか、つまり、オーバーランが
発生し得るかどうかを判断する。すなわち、描画時間管
理部が該描画オブジェクトをバンドラスタ格納部へラス
タライズするのに必要な時間を予測し、描画時間管理テ
ーブルの前記バンド番号で定まる位置へ加算する。ここ
で、1描画オブジェクトが複数のバンドにまたがって描
画される場合は、各バンド毎に描画時間を求め、該描画
時間管理テーブルの各バンドに対応する値へ加算する。
上記のように各描画オブジェクトの描画時間を加算して
求められた1バンド内の全描画オブジェクトの描画時間
が、該バンドラスタをビデオ信号として出力する時間
(許容時間)よりも小さければ、印刷すべきデータは一
定基準よりも複雑でないと判断され、次のステップS3
12へ進み、もし加算された該描画時間が許容時間より
も大きければステップS313へ進む。
【0041】ステップS312では、描画オブジェクト
管理部がオブジェクト管理テーブルへ該IDや、オブジ
ェクトの種類、描画位置等のオブジェクト管理情報を格
納する。ここで、前記オブジェクト管理テーブルは、各
バンド毎に存在し、ステップS305のラスタライズで
は、描画しようとするバンドに対応付けられたオブジェ
クト管理テーブルを辿ることで、該バンドに属する描画
オブジェクトのみを高速に探し出せる。また、前記オブ
ジェクト管理テーブル自身も、描画オブジェクトメモリ
管理部がメモリを獲得して動的に増減するオブジェクト
の一種であっても良いし、あるいは固定サイズのテーブ
ルであっても構わない。その後、ステップS302に戻
り次のデータ入力を待つ。
【0042】以下に、前記描画オブジェクトの複雑さの
測定方法を具体的に説明する。
【0043】例えば、1バンドラスタが用紙幅W(ドッ
ト)×n(ライン)分の描画領域を有するとして、1ラ
イン分のラスタデータを読み出してビデオ信号として転
送する時間=2msec、n=256ラインとすると、
1バンドラスタの転送時間B=2×256=512ms
ecとなり、これがオーバーランが発生するかどうかの
許容時間となる。
【0044】一方、このバンドラスタに1描画オブジェ
クトを描画する描画時間(ここでは、幅w(ワード×高
さh(ライン)のビットマップを描画する時間S)は、
以下の式から求められる。
【0045】S=α+w×h×(β+γ)
【0046】ここで、α:描画オブジェクト管理テーブ
ルを検索し、格納されたIDから前記描画オブジェクト
格納部内での該ビットマップの先頭アドレスを得るため
に必要な時間。
【0047】β:前記描画オブジェクト格納部から1ワ
ード(32ビット)のビットマップを読み出すために必
要な時間。
【0048】γ:前記バンドラスタ格納部へ1ワードの
ビットマップを書き出すために必要な時間。
【0049】上記のα、β、γは、実行されるプリント
制御プログラムのステップ数と、CPUの実行速度(ク
ロック数)とから予め知ることができ、該プリント制御
プログラムと同様ROMに格納されている。今、α=1
00nsec、β=γ=50nsecの時、w=4(ワ
ード)、h=100ラインのビットマップを描画する場
合は、S=40.1μsecとなり、描画オブジェクト
がビットマップのみであれば、1バンド内に12,76
8個以上のビットマップを描画すると、該バンドにおい
てオーバーランが発生することになる。1つのビットマ
ップが複数のバンドにまたがって描画される場合は、各
バンドに含まれるだけの実質描画サイズ、幅w′×高さ
h′としてそれぞれ計算される。この実質描画サイズ
は、各描画オブジェクトに格納されている幅w、高さh
と、対応する描画オブジェクト管理テーブルに登録され
るバンド内での描画位置(x,y)や、ビットマップ先
頭からの書き出しオフセット地(off)から求められ
る(図4参照)。
【0050】上記説明では、簡単のために描画オブジェ
クトとしてビットマップを例にしたが、他に圧縮された
イメージオブジェクトの場合は伸長に要する時間が、ラ
ンレングスオブジェクトの場合は読み出したランレング
スを計算しビットイメージを求める時間が更に加算され
ることになる。
【0051】これら該バンドに属する全描画オブジェク
トの描画時間Stotalが前記1バンドラスタ転送時
間Bより小さければオーバーランは発生しないと判断さ
れる。
【0052】図5は、図3のフローチャートに従って作
成された描画オブジェクト及び描画オブジェクト管理テ
ーブル、バンドラスタ格納部、その他、制御に必要なテ
ーブルのメモリ構成と、これらのリンク関係を示す概略
図である。501は2つの600dpiバンドラスタで
あり、502は各バンドに属する描画オブジェクト管理
テーブル503の先頭アドレスを格納するバンドテーブ
ルであり、エントリ数は1ページ内のバンド数(N)だ
け存在する。前記描画オブジェクト管理テーブルには、
要素数nと、構成要素504(以下、アプリケーション
と呼ぶ)から成っており、各アプリケーションには描画
オブジェクト506の描画情報(描画オブジェクト種
別、描画オブジェクトID、バンド内での描画開始位置
x、y、オブジェクト内の描画オフセット=off、描
画論理情報=objFnc)が格納される。同一文字を
複数描画する場合は、当然、描画される数だけのアプリ
ケーションから同一IDで描画オブジェクトが参照され
ることになる。また、1つの描画オブジェクトが複数の
バンドにまたがる場合は、アプリケーション504は各
バンド毎に1つずつ作成される。505は描画オブジェ
クト格納部であり、506は該描画オブジェクト格納部
内に作成される1描画オブジェクト(ここでは、フォン
トオブジェクト)を示す。508は全描画オブジェクト
間で共通の情報が格納されるオブジェクトヘッダ部であ
り、描画オブジェクトの解像度、幅w、高さh及び、実
パターン先頭のアドレスaddr512がセットされて
いる。509は各描画オブジェクト毎に異なる情報が格
納されるオブジェクトボディ部であり、フォントオブジ
ェクトの場合は、フォント書体名、ストロークウェイ
ト、文字コードと実パターンの割り付けを示すグラフィ
ックセット、ポイントサイズ、文字コード、スケーラブ
ルフォントか否かを示すフラグ、固定ピッチかプロポー
ションピッチかを示すフラグ、縦書き/横書きを示すフ
ラグの他、生成時に得られる情報としてリファレンスポ
イントからのオフセット値、ピッチ情報などが格納され
ている。510はRAM22上に生成された文字の実パ
ターンであるが、描画オブジェクト511が示すよう
に、フォントROM21f内に実パターン510′を持
つ場合は、描画オブジェクト格納部505内に存在しな
い場合もある(addr512が該フォントROM21
f内の実パターン先頭を示すようにセットされてい
る)。507はアプリケーショ504に記述されたID
を、各描画オブジェクト506のアドレスへ変換するた
めのIDテーブルである。512は図3のステップS3
11でバンド毎に加算された描画時間を格納する描画時
間管理テーブルであり、バンド数Nだけのエントリ数を
持つ。
【0053】図3のステップS313では、既に作成済
みの描画オブジェクトの内、現在処理中のページから参
照されている600dpiオブジェクトから300dp
iオブジェクトに解像度変換し、続くステップS314
で、ステップS307にて生成する描画オブジェクトの
解像度を300dpiに再設定する。その後、ステップ
S302に戻り次のデータ入力を待つ。
【0054】ここで、図6のフローチャートに従って、
以下で本実施例における該描画オブジェクトの解像度変
換手順を説明する。
【0055】先ず、(ステップS601は後述)ステッ
プS602で処理済みのバンド数を調べ、まだ処理して
いないバンドがあればステップS603へ進む一方、全
バンドの処理が終了していれば最終ステップS614
(後述)へ進む。ステップS603では、バンドテーブ
ル502を順に読み出し、各描画オブジェクト管理テー
ブル503の先頭アドレスを得る。続くステップS60
4では得られた該描画オブジェクト管理テーブル503
の先頭に格納されているアプリケーション数nを得て、
更に処理済みのアプリケーション数がnであるかどうか
を調べる。もしまだ未処理のアプリケーションがあれば
ステップS605へ進みアプリケーション情報504を
獲得する。一方、カレントバンド内の全アプリケーショ
ンの処理が終了していれば、次のバンドに属するアプリ
ケーションを読み出すために、ステップS602へ戻
る。
【0056】ステップS606では、前記ステップS6
05で得たアプリケーション情報504内のオブジェク
トIDでIDテーブル507をアクセスし、対象とする
描画オブジェクト506の先頭アドレスを得て、最終的
に該描画オブジェクト506の各種情報(508、50
9)を得る。続くステップS607で該描画オブジェク
ト506の解像度を調べる。もし解像度が600dpi
であればステップS608以降の解像度変換処理へ進
み、解像度が300dpiであれば、既に解像度変換処
理が終了した描画オブジェクトであると判断してステッ
プS615へ進む。
【0057】ステップS608では該描画オブジェクト
506の種別を調べ、フォントオブジェクトであると判
断された場合はステップS609へ進む。一方、ステッ
プS608においてフォントオブジェクトでないと判断
された場合は、描画オブジェクトの種類に応じた解像度
変換処理(ステップS610)へ進む。例えば、ビット
マップイメージの場合は、高さ方向は1スキャンライン
おきに、幅方向は1ビットおきに該ビットマップを間引
いて得られる(単純間引き処理)。または、周囲(右、
下、右下)ビットのON/OFFを調べ、どれか1ビッ
トでもONであれば当該ビットをONとしながら間引い
ても良い(補間間引き処理)。300dpiへ解像度変
換が終了した描画オブジェクトは、600dpiオブジ
ェクトが格納されていたアドレスへ上書し、更にオブジ
ェクトヘッダ部508の情報も書換える(ステップS6
13)。
【0058】ステップS609では、前記フォント情報
509から該フォントオブジェクトがスケーラブルフォ
ントであるかどうかを調べる。スケーラブルフォントで
ない場合は、ステップS611でビットマップイメージ
と同様な間引き処理によって300dpiフォントを生
成し、一方、スケーラブルフォントである場合は、ステ
ップS612にて前記フォント情報509を用いてリス
ケーリング処理を行う。該スケーリング処理は、フォン
ト生成部に指定する解像度が300dpiである点以外
は、通常のフォントオブジェクト生成と全く同様であ
る。300dpiで再スケーリングすれば、600dp
iで半分のサイズでスケーリングした場合と同等の文字
品位が得られるため、600dpiのフォントパターン
を間引いた場合よりはるかに品位の高いフォントパター
ンを得ることができる。
【0059】このようにして300dpiのフォントオ
ブジェクトが生成されたならば、他のオブジェクトと同
様、ステップS613へ進む。
【0060】ただし、前記リスケーリング処理は、生成
中のカレントフォントオブジェクト(600dpi)か
らみれば割り込み的に発生するものであり、もしフォン
トオブジェクトそのものを作成中に解像度処理が発生し
たのであれば、フォントスケーラ情報(オフセット値や
ピッチ情報)や、カレントフォント情報(フォント種
別、グラフィックセット、文字サイズ、文字コード等)
が最後にリスケーリングした値で書き変わってしまう可
能性がある。これを避けるために、リスケーリング処理
の最初と最後にカレント情報の退避(ステップS60
1)・復帰を行っている(ステップS615)。
【0061】更にステップS614では、描画オブジェ
クト管理テーブル504の印字位置情報(描画開始位置
(x,y)並びにバンド中のオフセット(off))の
解像度変換を行い、該管理情報を書き換える。このよう
にして、1描画オブジェクトの低解像度変換処理が終わ
れば、ステップS604へ戻り次のアプリケーションを
順次読み出し、同様の解像度変換処理を行う。
【0062】上記に説明したように、ページ中の描画オ
ブジェクトの解像度を動的に低下させることで、描画オ
ブジェクト格納部の空き領域が広がる。また、バンドラ
スタ格納部(600dpi・2バンド分)には、300
dpiでラスタライズすればよいため、1/4に縮小可
能となり、更に空き領域が増える。また、ラスタライズ
時間も短縮されるので、メモリオーバー、タイムオーバ
ー共に軽減することができる。
【0063】(実施例2)第1の実施例では、予め該プ
リント制御装置内に用意された内蔵フォントのデータ形
式に応じて、スケーラブルフォントであればスケーリン
グ情報を元に再スケーリングし、あるいはドットフォン
トであれば間引き処理を行い、解像度低下時の品位低下
を最小限に抑えたが、外部装置より印刷データとして送
られてくる登録フォントに対しても、本発明は適用可能
である。
【0064】そこで、本実施例では、登録フォントを処
理可能なプリンタ制御装置における、解像度低下処理に
ついて説明する。
【0065】図7は、本実施例に係るプリンタ制御装置
の内部構成を示すブロック図である。ここで、第1の実
施例の図2にて説明した構成と同じ箇所には同じ番号を
付け、説明は省略する。プログラム等を格納するROM
21には、実施例1で説明したプログラムに加えて、印
刷データの一部としてホストコンピュータ100より入
力されたフォントデータの登録・削除を行うフォント登
録・削除部71を含む。また、RAM22は、前記登録
フォントデータを格納するための登録フォント格納部7
2としても用いられる。前記登録フォントデータとして
は、フォントパターンそのものや、スケーラブルデータ
等が登録可能である。本実施例では、登録フォント格納
部72に有効な(=対応するフォントパターンが存在す
る)各文字コードに対してカウンタを用意し、前記フォ
ント登録・削除部71が、最初の登録時に該カウンタを
1にセットする。そして、特定の文字コードに再登録す
る際には、該カウンタはインクリメントされる。
【0066】また、本実施例のフォント生成部21e
は、該登録フォントのアウトラインデータのスケーリン
グやドットフォントの検索の他、登録フォントパターン
をスキャンして座標点列データを発生させることでスケ
ーラブル化し、スケーラブルフォントパターンを生成す
ることもできる。ここで、該登録フォントデータを元に
生成されたフォントオブジェクトもまた、フォントオブ
ジェクトとして描画オブジェクト格納部22aに格納さ
れるが、フォントパターンそのものは必ず描画オブジェ
クト格納部内に保持し、登録フォント格納部22dに格
納された該登録フォントデータが削除されるタイミング
とフォントオブジェクトがラスタライズされるタイミン
グが異なってもよいように構成されている。ここで、フ
ォント生成部21eは、登録フォントデータが削除され
ている場合は、フォント生成要求に対してエラーを返す
ことで該登録フォントデータが格納部72内に存在しな
いことを示すことができる。また、本実施例では登録フ
ォントはRAM22の一部に格納されるが、ハードディ
スク等の他の記憶媒体であっても構わない。
【0067】図7の構成を備えるプリンタ制御装置で作
成されるフォントオブジェクトのオブジェクトボディ部
509には、実施例1で説明したフォント情報に加え
て、以下の情報を持つ。すなわち、同一のフォント属性
をもつフォントの同一文字コードに対して何回登録した
かを示すカウンタであり、これによりフォントパターン
の実体が同じかどうかを判断する。フォントオブジェク
ト内の該カウンタは、描画オブジェクト生成時に前記フ
ォント生成部21eが登録フォント格納部72内のカウ
ンタを参照することで得られる。上記のように登録フォ
ントデータが変更されているかどうかがパターン生成後
の任意のタイミングで識別可能であるため、解像度変換
が必要となった時に、再スケーリング可能かどうかが判
断できる。ただし、解像度変換処理を行う時点で、既に
登録フォント格納部72より登録フォントデータが削除
されてしまっている場合は再スケーリングはできない。
【0068】次に、図7の構成を備えるプリンタ制御装
置の解像度変換処理について図8のフローチャートを用
いて説明する。ここで、ステップS808までの各ステ
ップは、図6のフローチャートの対応するステップと同
様であるので説明を省く。
【0069】ステップS809で該描画オブジェクトが
スケーラブルフォントであると判断された場合は、続く
ステップS812にて再スケーリング可能なフォントオ
ブジェクトかどうか、すなわち、オブジェクトの内容が
変更されていないかどうかを調べる。まず、該フォント
オブジェクトが登録フォントかどうかを調べる。これ
は、フォント生成部21eがフォントオブジェクトを生
成する際に、LBP1000に内蔵されている(登録フ
ォントでない)オブジェクトのカウンタを予め0にして
おくことで容易に判別できる。登録フォントである場合
は、フォント生成部21eは登録フォントが削除されて
いないかを調べ、更に削除されていない場合は最後にパ
ターン内容が登録フォント内と同一のものであるかどう
かを判断する。登録フォントが未だ削除されていない場
合は、前述した通り、フォント情報部509内と登録フ
ォント格納部内のカウンタとを比較して、同じ値であれ
ば「パターン変更なし」と判断する(内蔵スケーラブル
フォントは常にカウンタ=0であるため、常に「パター
ン変更なし」と判断される。)。
【0070】前記ステップS809にて、内蔵スケーラ
ブルフォントであると判断された場合か、またはS81
2で未削除の登録フォントであって、登録カウンタが同
一の場合は、オブジェクトの内容が変更されていないも
のとして、ステップS813で前記フォント情報509
を用いて再スケーリング処理を行う。該スケーリング処
理は、フォント生成部に指定する解像度が300dpi
である点以外は、通常のフォントオブジェクト生成と全
く同様である。一方、登録フォントが削除済み(フォン
ト生成時にエラーが返される)か、該カウンタが一致し
ない場合は、オブジェクトの内容が変更されたものとし
てスケーラブルデータを参照できないため、ビットマッ
プフォントと同様にステップS811で間引き処理を行
い、解像度変換する。
【0071】このようにして300dpiのフォントオ
ブジェクトが生成された後は、他の描画オブジェクトと
同様に、ステップS814へ進み、解像度変換済みの描
画オブジェクトを600dpiオブジェクトが格納され
ていたアドレスへ上書し、更にオブジェクトヘッダ部5
08の情報も書き換える。続くステップS815では、
実施例1のステップS614と同様に、描画オブジェク
ト管理テーブル504の各印字情報を解像度変換し、該
管理情報を書き換える。
【0072】上記のように、同一文字コードに異なるパ
ターンが1回以上登録されうるスケーラブルフォントに
対して、解像度低下時の品位劣化を最低限に抑えること
ができる。
【0073】(実施例3)実施例1、及び実施例2にお
いては、ビットマップフォントに対しては、間引き処理
を行うことで解像度変換を実現していたが、印刷データ
としてフォントを拡大あるいは縮小する文字修飾命令が
含まれている場合や、ビットマップフォントの解像度が
元々印字する際の解像度と異なっており、フォントオブ
ジェクト生成時に拡大・縮小処理を施すようなプリンタ
制御装置では、解像度低下時にフォントROM21fを
再検索することで品位低下を抑えることができ、また、
再生成後の描画オブジェクトメモリの削減も計れる場合
がある。
【0074】図9は、印字データとして、ビットマップ
フォントに対する印字命令と共に縦横2倍(平方拡大)
命令が送られてきた場合に生成される、フォントオブジ
ェクトを示す模式図である。図9aは、描画オブジェク
ト902が600dpiである場合であり、フォントR
OM21f内の元フォントと比べると、縦横に2倍拡大
されて格納されている。一方、図9bは、解像度変換時
に300dpiで生成された描画オブジェクト902′
を示している。当初の描画オブジェクトの解像度が60
0dpiであり、解像度低下後に300dpiとなるよ
うなプリンタ制御装置での解像度低下処理は、600d
piのフォントパターンを間引くのではなく、再度スケ
ーリング情報を用いてフォントROM21f内のアドレ
スを得ることで、図5に示す描画オブジェクト902′
のような構成(図5の511と同様)にすることがで
き、描画オブジェクト格納部22aにフォントパターン
そのものを格納する必要がなくなる。すなわち、解像度
低下時の変換率(300/600dpi=1/2)と文
字拡大率(2:縦横とも)とを掛け合わせた値(実質拡
大率)が1となる場合には、解像度低下後の描画オブジ
ェクトメモリを大幅に削減することができ、処理速度の
向上が計れる。ここで、指定された拡大率はフォント情
報としてオブジェクトボディ部904に格納されてお
り、実質拡大率の計算時に参照される。
【0075】なお、実施例1、2、3では、説明のため
に1文字毎に各種フォント情報(図5の509、及び図
9の904)を格納しているが、フォント名称やグラフ
ィックセット番号、ポイントサイズなどフォントの種別
毎に共有できる情報は、別のフォント情報管理テーブル
を設け、フォント単位で一括管理しても良い。この場
合、各フォントオブジェクトが消費する描画オブジェク
ト格納部22aのメモリ容量は削減できるが、再スケー
リング時に必要なフォント情報を獲得可能とするため
に、各フォントオブジェクト内に各テーブルエントリへ
のリンク情報(アドレス指定あるいはID管理など)が
必要となる。
【0076】(実施例4)実施例3において、逆に前記
フォント情報管理テーブルから文字コードをインデック
スとして当該フォントオブジェクトを検索できるように
すれば、前記構造をフォントキャッシュとして機能させ
ることができる。
【0077】以下に、図10、図11及び図12を用い
て、本実施例におけるフォントキャッシュ部を利用した
フォントオブジェクトの検索・生成手順について説明す
る。
【0078】図10は、本実施例におけるフォントキャ
ッシュの構造を示す概略図である。また、図11、図1
2は図10の構造を備えるプリンタ制御装置において、
フォント印字データが入力された時のフォントオブジェ
クト生成動作の手順を示したフローチャートである。な
お、以下の動作を実行するプログラムは、ROM21に
フォントキャッシュ管理部として格納されている。
【0079】先ず図11のステップS1101で、フォ
ント情報管理テーブル(図10の1001、以下キャッ
シュテーブルと呼ぶ)の検索を行う。一つも該キャッシ
ュテーブルが存在しないか印刷データとして要求される
フォント属性と同属性のキャッシュテーブルが見つから
ない場合は、ステップS1102へ進み、キャッシュテ
ーブルを作成する。
【0080】一方、キャッシュテーブルが見つかれば、
ステップS1103、1004でインデックスの検索を
行う。本実施例では、文字コードは最長2バイトで与え
られ、該インデックスは文字コードの上位バイト用(1
002)と下位バイト用(1003)の2段階(固定)
の深さを持つ。ANK文字等、1バイト系のコード体系
に対しては、上位バイト用インデックスがコード0x0
0のみのメンバから構成される。あるいは、キャッシュ
テーブルにインデックスの深さを記憶しておき、深さを
可変としても構わない。上記の各ステップで文字コード
に対応したインデックスが見つからない場合、それぞれ
ステップS1105、S1006でインデックスの作成
を行う。
【0081】一方、ステップS1104にて、下位バイ
ト用インデックスが見つかったら、続くステップS11
07で、文字毎に異なる情報(解像度、修飾の有無、パ
ターン回転角度等)を用いてフォントオブジェクトの検
索を行う。ここで、要求された文字コードに対応するフ
ォントパターンがみつかったら、キャッシュにヒットし
たと判断され、ステップS1108で印字位置や属する
バンド番号の計算を行う。みつからなければステップS
1115でフォントパターンを作成する。ステップS1
108に続くステップS1109、S1110の処理は
それぞれ、実施例1の図3に示したステップS311
(描画時間計算)、S312(アプリケーション作成)
と同様である。
【0082】一方、ステップS1102にてキャッシュ
テーブル用のメモリが確保できなければ、ステップS1
111でフォントキャッシュの解放処理を行う(図1
2)。
【0083】図12では、先ずステップS1201で不
要なフォントキャッシュが存在するか(要求サイズ≦不
要なキャッシュのサイズの総和)を調べ、もしあればス
テップS1202でフォントキャッシュを解放し、ステ
ップS1203で要求されただけのメモリを獲得する。
一方、解放するキャッシュがない場合、ステップS12
04へ進み、解像度低下処理と解像度=300dpiの
設定(ステップS1205)を行う。
【0084】ステップS1102でメモリが獲得できれ
ば、続くステップS1112で各フォント情報を元にキ
ャッシュテーブルを作成し、ステップS1105へ進
む。以下、2つのインデックスとフォントオブジェクト
についても同様にして、メモリが獲得できなければステ
ップS1111のキャッシュ解放処理へ進み、獲得でき
ればそれぞれステップS1113、S1114でインデ
ックスを生成し、フォントパターン生成(ステップS1
115)及びメモリ確保(S1116)、確保できた場
合はフォントオブジェクト作成(S1117)を行う。
【0085】ここで、本実施例におけるオブジェクトボ
ディ部には、何ページから参照されているかを示すペー
ジカウントを持ち、各ページで最初に該フォントオブジ
ェクトにヒットした時にインクリメントし、また各ペー
ジが排紙された時に1回だけ当該ページカウンタをデク
リメントする。異なる2ページから参照されていれば、
ページカウンタは2となり、どのページからも参照され
なくなったフォントオブジェクトは0になる。ここで、
該ページカウンタを各ページで1回だけインクリメント
/デクリメントするために、オブジェクトボディ内に
は、電源投入時よりシーケンシャルに増加するページ番
号を2つ持つ、一つは作成時あるいはヒットした再にセ
ットされる作成ページ番号、もう一方は排紙ページ番号
で、各ページが排紙された後に、前記アプリケーション
を調べ、該ページ内で参照していたフォントオブジェク
トのみ排紙ページ番号をセットする。作成時またはヒッ
ト時に、作成ページ番号とカレントページ番号とが同じ
でなければ、カレントページ内で初めてヒットしたと判
断することができる。同様に、排紙時にも該排紙ページ
番号と排紙済みのページ番号とを比較することで、1ペ
ージで1回のみページカウントをデクリメントできる。
ここでは、ページカウンタはシーケンシャルに増加する
と説明したが、RAM削減のため、一定ページ以上(例
えば32ページ)参照されなくなったキャッシュを排紙
時に削除してしまえば、ページ番号は32ページ分で済
む。
【0086】上記に説明した制御を行うことで、解像度
低下が発生した時に、カレントページのみから参照され
ているのか、他のページからも参照されているかが判断
可能となる。もし、カレントページのみから参照されて
いるのであれば、解像度低下したフォントオブジェクト
を、以下前のオブジェクトと同一領域に格納しても構わ
ないが、他ページからも参照している場合は、別の描画
オブジェクトメモリを確保して別のフォントオブジェク
トを作成する(解像度低下の結果、バンドラスタ格納部
などが小さくなり、空き領域ができる)。
【0087】なお、本実施例では、上記キャッシュテー
ブルとインデックスも、描画オブジェクトの一種として
描画オブジェクト格納部22aに格納されるが、実際に
ラスタライズされるわけではないので、対応するアプリ
ケーション504は存在しない。
【0088】(実施例5) 実施例4では、1つのフォントオブジェクトが複数のペ
ージから参照されている場合を説明したが、記録媒体の
両面に印刷可能な印刷部27を有するプリンタ制御装置
において、表面と裏面とでフォントオブジェクトを共有
している場合にも本発明は適用可能である。ただし、両
面印刷時は、「課題」で説明したように、作成した順序
通りにページが排紙されない場合があるため、排紙ペー
ジ番号をデクリメントする際の番号比較は、大小ではな
く等しいかどうかで比較する必要がある。
【0089】
【0090】
【発明の効果】以上説明したように、本発明によれば、
フォントジェクトが生成された際の解像度と異なる解像
度でフォントオブジェクトを生成する必要が生じた場合
に、スケーラブルフォントは再スケーリングしてフォン
トオブジェクトを生成することで、解像度変換後のフォ
ントパターンの品位劣化を防ぐことができる。
【0091】本発明によれば、描画オブジェクトを作成
した当初の解像度とは異なる解像度でイメージを作成す
る必要が生じた場合に、外部より登録・削除されるフォ
ントデータであっても、再スケーリング可能がどうかを
判別し、解像度変換後のフォントパターンの品位劣化を
最小限に抑えることができる。
【0092】本発明によれば、描画オブジェクトを作成
した当初の解像度とは異なる解像度でイメージを作成す
る必要が生じた場合に、ドットフォントの拡大率と解像
度変換率を組合せが等倍となる時は、予め記憶されてい
るドットフォント情報を利用することで、不必要な描画
オブジェクトの格納を控えることができる。
【0093】本発明によれば、描画オブジェクトを作成
した当初の解像度とは異なる解像度でイメージを作成す
る必要が生じた場合に、複数のページから参照されてい
る描画オブジェクトを別描画オブジェクトとすること
で、解像度を変換する必要がないページは元の解像度の
まま処理を進めることができ、印字品位の劣化を最小限
に抑えることができる。また、展開が終わっていないペ
ージの出力を待つ必要もなく新しいページの解像度変更
処理を進めることが可能となり、処理速度の向上が計ら
れる。
【図面の簡単な説明】
【図1】本発明を適用可能なレーザービームプリンタの
内部構造を示す断面図である。
【図2】実施例1に示すプリンタ制御装置の概略構成を
説明するブロック図である。
【図3】実施例1に示すプリンタ制御装置における印刷
動作を表すフローチャートである。
【図4】実施例1に示すプリンタ制御装置におけるバン
ドラスタ格納部と描画オブジェクト管理部の情報を示す
模式図である。
【図5】実施例1に示すプリンタ制御装置における描画
用メモリの構成と、バンドテーブル、各アプリケーショ
ン、描画オブジェクト、IDテーブル間のリンク関係を
説明する模式図である。
【図6】実施例1に示すプリンタ制御装置における低解
像度変換処理を表すフローチャートである。
【図7】実施例2に示すプリンタ制御装置の概略構成を
説明するブロック図である。
【図8】実施例2に示すプリンタ制御装置における低解
像度変換処理を表すフローチャートである。
【図9】実施例3に示すプリンタ制御装置における、解
像度変換前後の描画オブジェクトの構成を説明する模式
図である。
【図10】実施例4におけるフォントキャッシュ部の構
造を示す概略図である。
【図11】実施例4でのフォントキャッシュの検索及び
フォントオブジェクト作成の手順を示すフローチャート
である。
【図12】実施例4でのフォントキャッシュの解放処理
手順を示すフローチャートである。
【符号の説明】
20 CPU 21 ROM 21a 描画オブジェクト生成部 21b オブジェクト管理部 21c ラスタライズ部 21d 解像度低下判定部 21e フォント生成部 21f フォントメモリ 22 RAM 22a 描画オブジェクト格納部 22b バンドラスタ格納部 24 受信バッファ 71 フォント登録・削除部 72 登録フォント格納部 503 オブジェクト管理テーブル 506、511 描画オブジェクト 508 オブジェクトヘッダ部(共通情報部) 509 オブジェクトボディ部(フォント情報部) 510、510′ フォントパターン 1000 プリンタ制御装置 1001 制御ユニット
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平7−137355(JP,A) 特開 平7−125337(JP,A) 特開 平4−1069(JP,A) 特開 平4−156356(JP,A) 特開 平6−183076(JP,A) 特開 平7−125334(JP,A) 特開 平7−164692(JP,A) 特開 平8−130618(JP,A) (58)調査した分野(Int.Cl.7,DB名) B41J 5/44 G06F 3/12

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力される印刷データに応じてフォント
    オブジェクトを生成する第1生成手段と、 前記第1生成手段によりフォントジェクトが生成された
    際の解像度と異なる解像度でフォントオブジェクトを生
    成する必要が生じた場合に、異なる解像度で生成すべき
    フォントオブジェクトがスケーラブルフォントであるか
    否かを判別する判別手段と、 前記判別手段によりスケーラブルフォントであると判別
    された場合、スケーラブルフォントデータを用いて再ス
    ケーリングして、異なる解像度のフォントオブジェクト
    を生成し、前記判別手段によりスケーラブルフォントで
    ないと判別された場合、フォントパターンを間引き処理
    して、異なる解像度のフォントオブジェクトを生成する
    第2生成手段とを有することを特徴とするプリンタ制御
    装置。
  2. 【請求項2】 前記判別手段によりスケーラブルフォン
    トであると判別された場合、登録されたスケーラブルフ
    ォントか否か判別し、登録されたスケーラブルフォント
    であると判別された場合、登録されたスケーラブルフォ
    ントが削除されたか否かを判断する判断手段を有し、 前記第2生成手段は、前記判断手段により削除されたと
    判断された場合、スケーラブルフォントデータに基づき
    生成されたフォントパターンを間引き処理して、異なる
    解像度のフォントオブジェクトを生成し、前記判断手段
    により削除されていないと判断された場合、スケーラブ
    ルフォントデータに基づいて再スケーリングして、異な
    る解像度のフォントオブジェクトを生成することを特徴
    とする請求項1記載のプリンタ制御装置。
  3. 【請求項3】 前記第1生成手段は、フォントパターン
    記憶手段のフォントパターンを拡大命令に基づき拡大し
    た拡大フォントパターンを利用するフォントオブジェク
    トを生成し、 前記第2生成手段は、拡大命令の拡大率と解像度変換率
    との組合せが等倍の場合は、前記拡大フォントパターン
    を間引くことなく、前記フォントパターン記憶手段のフ
    ォントパターンを利用する形で異なる解像度のフォント
    オブジェクトを生成することを特徴とする請求項1記載
    のプリンタ制御装置。
  4. 【請求項4】 前記第1生成手段により生成されるフォ
    ントオブジェクトをメモリに格納できない場合、また
    は、1バンド分のフォントオブジェクトを展開するに要
    する時間が1バンド分のイメージを外部へ送出する時間
    よりも多くなる場合、前記第1生成手段によりフォント
    ジェクトが生成された際の解像度と異なる解像度でフォ
    ントオブジェクトを生成する必要が生じることを特徴と
    する請求項1記載のプリンタ制御装置。
  5. 【請求項5】 前記フォントオブジェクトに基づきイメ
    ージデータを生成する第3生成手段と、 前記第3生成手段により生成されたイメージデータに基
    づき可視出力する出力手段とを有することを特徴とする
    請求項1記載のプリンタ制御装置。
  6. 【請求項6】 前記出力手段は、プリンタであることを
    特徴とする請求項5記載のプリンタ制御装置。
  7. 【請求項7】 前記第1生成手段によりフォントジェク
    トが生成された際の解像度と異なる解像度でフォントオ
    ブジェクトを生成する必要が生じた場合に、前記第1生
    成手段により生成されたオブジェクトが複数ページから
    参照されているか否かを判定する判定手段を有し、 前記第2生成手段は、前記判定手段により複数ページか
    ら参照されていると判定された場合、前記第1生成手段
    で生成されたフォントオブジェクトとは別のフォントオ
    ブジェクトを生成することを特徴とする請求項1記載の
    プリンタ制御装置。
  8. 【請求項8】 前記複数ページは、両面印刷時の表面と
    裏面とを含むことを特徴とする請求項7記載のプリンタ
    制御装置。
  9. 【請求項9】 入力される印刷データに応じてフォント
    オブジェクトを生成する第1生成ステップと、 前記第1生成ステップによりフォントジェクトが生成さ
    れた際の解像度と異なる解像度でフォントオブジェクト
    を生成する必要が生じた場合に、異なる解像度で生成す
    べきフォントオブジェクトがスケーラブルフォントであ
    るか否かを判別する判別ステップと、 前記判別ステップによりスケーラブルフォントであると
    判別された場合、スケーラブルフォントデータを用いて
    再スケーリングして、異なる解像度のフォントオブジェ
    クトを生成し、前記判別ステップによりスケーラブルフ
    ォントでないと判別された場合、フォントパターンを間
    引き処理して、異なる解像度のフォントオブジェクトを
    生成する第2生成ステップとを有することを特徴とする
    プリンタ制御方法。
  10. 【請求項10】 前記判別ステップによりスケーラブル
    フォントであると判別された場合、登録されたスケーラ
    ブルフォントか否か判別し、登録されたスケーラブルフ
    ォントであると判別された場合、登録されたスケーラブ
    ルフォントが削除されたか否かを判断する判断ステップ
    を有し、 前記第2生成ステップは、前記判断ステップにより削除
    されたと判断された場合、スケーラブルフォントデータ
    に基づき生成されたフォントパターンを間引き処理し
    て、異なる解像度のフォントオブジェクトを生成し、前
    記判断ステップにより削除されていないと判断された場
    合、スケーラブルフォントデータに基づいて再スケーリ
    ングして、異なる解像度のフォントオブジェクトを生成
    することを特徴とする請求項9記載のプリンタ制御方
    法。
  11. 【請求項11】 前記第1生成ステップは、フォントパ
    ターン記憶ステップのフォントパターンを拡大命令に基
    づき拡大した拡大フォントパターンを利用するフォント
    オブジェクトを生成し、 前記第2生成ステップは、拡大命令の拡大率と解像度変
    換率との組合せが等倍の場合は、前記拡大フォントパタ
    ーンを間引くことなく、前記フォントパターン記憶ステ
    ップのフォントパターンを利用する形で異なる解像度の
    フォントオブジェクトを生成することを特徴とする請求
    項9記載のプリンタ制御方法。
  12. 【請求項12】 前記第1生成手段により生成されるフ
    ォントオブジェクトをメモリに格納できない場合、また
    は、1バンド分のフォントオブジェクトを展開するに要
    する時間が1バンド分のイメージを外部へ送出する時間
    よりも多くなる場合、前記第1生成ステップによりフォ
    ントジェクトが生成された際の解像度と異なる解像度で
    フォントオブジェクトを生成する必要が生じることを特
    徴とする請求項9記載のプリンタ制御方法。
  13. 【請求項13】 前記フォントオブジェクトに基づきイ
    メージデータを生成する第3生成ステップと、 前記第3生成ステップにより生成されたイメージデータ
    に基づき可視出力する出力ステップとを有することを特
    徴とする請求項9記載のプリンタ制御方法。
  14. 【請求項14】 前記出力ステップは、プリンタにより
    出力することを特徴とする請求項13記載のプリンタ制
    御方法。
  15. 【請求項15】 前記第1生成ステップによりフォント
    ジェクトが生成された際の解像度と異なる解像度でフォ
    ントオブジェクトを生成する必要が生じた場合に、前記
    第1生成ステップにより生成されたオブジェクトが複数
    ページから参照されているか否かを判定する判定ステッ
    プを有し、 前記第2生成ステップは、前記判定ステップにより複数
    ページから参照されていると判定された場合、前記第1
    生成ステップで生成されたフォントオブジェクトとは別
    のフォントオブジェクトを生成することを特徴とする請
    求項9記載のプリンタ制御方法。
  16. 【請求項16】 前記複数ページは、両面印刷時の表面
    と裏面とを含むことを特徴とする請求項15記載のプリ
    ンタ制御方法。
JP07178700A 1995-07-14 1995-07-14 プリンタ制御装置及び方法 Expired - Fee Related JP3119429B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP07178700A JP3119429B2 (ja) 1995-07-14 1995-07-14 プリンタ制御装置及び方法
US08/677,108 US5737501A (en) 1995-07-14 1996-07-09 Printer control unit and method
EP96111294A EP0753826B1 (en) 1995-07-14 1996-07-12 Printer control unit and method
DE69633813T DE69633813D1 (de) 1995-07-14 1996-07-12 Druckersteuerungseinheit und -verfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07178700A JP3119429B2 (ja) 1995-07-14 1995-07-14 プリンタ制御装置及び方法

Publications (2)

Publication Number Publication Date
JPH0930060A JPH0930060A (ja) 1997-02-04
JP3119429B2 true JP3119429B2 (ja) 2000-12-18

Family

ID=16053033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07178700A Expired - Fee Related JP3119429B2 (ja) 1995-07-14 1995-07-14 プリンタ制御装置及び方法

Country Status (4)

Country Link
US (1) US5737501A (ja)
EP (1) EP0753826B1 (ja)
JP (1) JP3119429B2 (ja)
DE (1) DE69633813D1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227236B2 (ja) 1998-02-18 2009-02-18 キヤノン株式会社 画像処理装置、画像処理方法及び記憶媒体
US6437876B1 (en) * 1998-09-29 2002-08-20 Hewlett-Packard Company Method and apparatus for image scaling during printing
US6525830B1 (en) 1998-11-05 2003-02-25 Samsung Electronics Co., Ltd. Printing method for improving speed
US6870635B1 (en) * 2000-05-16 2005-03-22 International Business Machines Corporation System and method for managing print objects using stacked objects queue
JP4337246B2 (ja) * 2000-08-29 2009-09-30 コニカミノルタビジネステクノロジーズ株式会社 印刷オブジェクト変換装置、印刷オブジェクト変換方法、印刷オブジェクト変換方法に関するプログラムを記録するコンピュータ読取り可能な記録媒体
US6636235B1 (en) * 2000-10-12 2003-10-21 International Business Machines Corporation Lettering adjustments for display resolution
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
AU2002243279A1 (en) 2000-11-01 2002-06-18 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US7318086B2 (en) 2000-11-20 2008-01-08 Flexiworld Technologies, Inc. System for mobile and pervasive output
US20020097417A1 (en) 2001-01-19 2002-07-25 Chang William Ho System for universal data output
GB2392810B (en) * 2001-06-29 2005-06-01 Bitflash Graphics Inc Method and system for manipulation of graphics information
US8045215B2 (en) * 2002-10-18 2011-10-25 Hewlett-Packard Development Company, L.P. Printer object list resolutions
US20050264833A1 (en) * 2004-03-09 2005-12-01 Seiko Epson Corporation Image retouching apparatus, corresponding image retouching method, and computer program product for image retouching
US7778492B2 (en) * 2006-04-04 2010-08-17 Oldford Group Limited System and method for scaling digital images
JP4785601B2 (ja) * 2006-04-24 2011-10-05 株式会社沖データ 画像形成装置
JP4715654B2 (ja) * 2006-07-03 2011-07-06 富士ゼロックス株式会社 画像データ生成装置および画像形成装置
US8587918B2 (en) * 2010-07-23 2013-11-19 Taser International, Inc. Systems and methods for electrodes for insulative electronic weaponry
JP2011118933A (ja) * 2011-03-07 2011-06-16 Seiko Epson Corp 印刷設定提案方法
NL2007888C2 (en) 2011-11-29 2013-05-30 Meyn Food Proc Technology Bv Deboner for poultry parts, such as thighs or drumsticks.

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US399167A (en) * 1889-03-05 Micrometer caliper-square
US5027304A (en) * 1987-10-02 1991-06-25 Telecommunication Laboratories, Directorate General of Telecommunications , Ministry of Communications Character multifont compression and restoration device
DE69124185T2 (de) * 1990-10-19 1997-05-28 Canon Kk Ausgabeverfahren und Gerät
JP3486467B2 (ja) * 1993-10-21 2004-01-13 キヤノン株式会社 画像記録装置及びその制御方法

Also Published As

Publication number Publication date
EP0753826A2 (en) 1997-01-15
EP0753826A3 (en) 1998-04-15
DE69633813D1 (de) 2004-12-16
JPH0930060A (ja) 1997-02-04
US5737501A (en) 1998-04-07
EP0753826B1 (en) 2004-11-10

Similar Documents

Publication Publication Date Title
JP3119429B2 (ja) プリンタ制御装置及び方法
EP0423051B1 (en) Page printer on which plotter graphics are merged within a text
EP0887763B1 (en) Method and apparatus for building bitmap data in a printer
US6611347B1 (en) Print control apparatus, print control method, storage medium, and computer readable program performing a form overlay process
KR970012110A (ko) 표시리스트 생성 방법 및 그 장치
US5567061A (en) Output apparatus with detachable character storing cartridge
JPH10297050A (ja) 出力制御装置、出力制御方法、画像処理装置、画像処理方法及び記憶媒体
EP0510897B1 (en) Image processing method and apparatus
EP0398681B1 (en) Output apparatus
EP0870277B1 (en) Image rendering for page printers
US6016155A (en) Character processing apparatus, character processing method, and memory
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
EP0481787B1 (en) Output method and apparatus
JP3085175B2 (ja) 描画装置
JP2000335021A (ja) 画像処理装置及び画像処理方法
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JP3143003B2 (ja) 画像処理装置および画像処理方法
JP2737880B2 (ja) 文字処理装置および方法
JPH08130618A (ja) 印刷装置及び印刷方法
JPH11170656A (ja) 画像出力装置及び方法
JP3428817B2 (ja) 印字制御装置及び方法
JPH09300769A (ja) 印刷装置及びデータ登録方法及び制御プログラムを記憶した記憶媒体
JP2004009416A (ja) レーザビーム方式の出力装置及び出力方法
JP2000194349A (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: 20000905

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

Free format text: PAYMENT UNTIL: 20071013

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081013

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091013

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20131013

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees