JP2006309427A - 印刷制御装置、印刷制御方法及び印刷制御用プログラム - Google Patents

印刷制御装置、印刷制御方法及び印刷制御用プログラム Download PDF

Info

Publication number
JP2006309427A
JP2006309427A JP2005129874A JP2005129874A JP2006309427A JP 2006309427 A JP2006309427 A JP 2006309427A JP 2005129874 A JP2005129874 A JP 2005129874A JP 2005129874 A JP2005129874 A JP 2005129874A JP 2006309427 A JP2006309427 A JP 2006309427A
Authority
JP
Japan
Prior art keywords
character
blank
determination
printed
command
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.)
Granted
Application number
JP2005129874A
Other languages
English (en)
Other versions
JP4464313B2 (ja
Inventor
Masanari Toda
雅成 戸田
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 JP2005129874A priority Critical patent/JP4464313B2/ja
Publication of JP2006309427A publication Critical patent/JP2006309427A/ja
Application granted granted Critical
Publication of JP4464313B2 publication Critical patent/JP4464313B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】 印刷すべき文字のカラーモノクロ判定の精度の向上を図ることができる印刷制御装置、印刷制御方法及び印刷制御用プログラムを提供する。
【解決手段】
ホストコンピュータ3001のCPU1の制御の下で、プリンタドライバ2003が、描画命令に含まれる印字すべき文字が空白文字であるか否かを判別し、描画命令に含まれるカラー情報に基づき、上記印刷すべき文字のカラーモノクロ判定を実行し、上記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成し、上記描画命令に含まれる印字すべき文字が空白文字でない場合に、上記生成されたプリンタ制御コマンド又は中間データに、上記カラーモノクロ判定による判定結果を付加する。
【選択図】 図4

Description

印刷装置に接続可能な印刷制御装置、印刷制御方法及び印刷制御用プログラムに関し、特に、カラーモノクロ判定を行う印刷制御装置、印刷制御方法及び印刷制御用プログラムに関する。
コンピュータとプリンタとを備えるプリントシステムにおいて、プリンタドライバを使用してプリントデータがカラーか又はモノクロかを判定するカラーモノクロ判定は、従来より知られている(例えば、特許文献1参照)。そして、このカラーモノクロ判定の技術は、既に製品に利用されている技術である。
また、コンピュータからプリンタに一度転送した文字のフォントデータをプリンタ内に登録することで同一文字を何度もコンピュータからプリンタに送らない技術が知られている(例えば、特許文献2参照)。
特開平10−285421号公報 特許第3507387号公報(従来技術)
特許文献1に記載されているような、従来のプリンタドライバにおけるカラー/モノクロ判定処理は、文字コードについては、その文字の色属性を判定しているだけである。
しかしながら、文字には、数字・記号・漢字など実際に描画される文字もあれば、スペース文字のように描画するものがなくとも文字コードとして入力されるため、文字として扱われるものが存在する。
従って、上述した従来技術における印字の対象となる文字のうち、こういった描画のない文字について色情報が設定されている場合、印刷後の見た目がモノクロのデータであっても従来のプリンタドライバでは文字属性がカラーであると認識するため、このページの色処理モードが「カラー」と判断されてしまうという問題があった。
例えば、文字列「あい う」であるが「い」と「う」の間のスペース文字の色設定が赤の色属性が指定された描画文字としてアプリケーションから出力されてくると、プリンタドライバでは、この文字データは「カラー」と判断される。空白文字とは、印字する対象のない文字であり、アスキーコード表の0x0020の文字やユーザに外字登録された印字する対象のない文字のことである。
また、フェイス名から文字コードの描画対象が判断できないシンボルフォントの文字が印字の対象となっている場合、文字コードによって描画のない文字であるか否かの判断はできないという問題もあった。
また、上記特許文献2の技術のようにプリンタ内に文字を登録するシステムにおいて、プリンタドライバでカラーモノクロ判断する場合、プリンタ内に登録された文字のフォントデータに対しては、プリンタドライバ側では、正確なカラーモノクロ判定をすることができないという問題もある。
本発明の目的は、上記課題に鑑みてなされたもので、印刷すべき文字のカラーモノクロ判定の精度の向上を図ることができる印刷制御装置、印刷制御方法及び印刷制御用プログラムを提供することにある。
上記目的を達成するために、請求項1の印刷制御装置は、描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別手段と、前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定手段と、前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成手段と、前記空白文字判別手段により前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成手段により生成されたプリンタ制御コマンド又は中間データに、前記判定手段による判定結果を付加する付加手段とを備えることを特徴とする。
請求項8の印刷制御方法は、描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別工程と、前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定工程と、前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成工程と、前記空白文字判別手段により前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成工程により生成されたプリンタ制御コマンド又は中間データに、前記判定工程による判定結果を付加する付加工程とを備えることを特徴とする。
請求項9の印刷制御用プログラムは、コンピュータに実行させる印刷制御用プログラムにおいて、描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別モジュールと、前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定モジュールと、前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成モジュールと、前記空白文字判別モジュールにより前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成モジュールにより生成されたプリンタ制御コマンド又は中間データに、前記判定モジュールによる判定結果を付加する付加モジュールとを備えることを特徴とする。
本発明によれば、描画命令に含まれる印字すべき文字が空白文字でない場合に、生成されたプリンタ制御コマンド又は中間データに、印刷すべき文字のカラーモノクロ判定による判定結果が付加される。従って、印刷すべき文字のカラーモノクロ判定の精度の向上を図ることができる。また、本発明によれば、印刷装置側に文字のフォントデータを登録する場合にも、プリンタドライバを備えるホストコンピュータとしての印刷制御装置側で空白文字の登録を防止することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の実施の形態に係る印刷制御装置を含む印刷システムの構成を示すブロック図である。
同図において、印刷システムは、ホストコンピュータ3000及びプリンタ1500を備えている。
ホストコンピュータ3000は、システムバス4に接続されたRAM2、ROM3、キーボードコントローラ(KBC)5、CRTコントローラ(CRTC)6、ディスクコントローラ(DKC)7及びプリンタコントローラ(PRTC)8を総括的に制御するCPU1を備えている。キーボードコントローラ(KBC)5はキーボード(KB)9と、CRTコントローラ(CRTC)6はCRTディスプレイ(CRT)10と、ディスクコントローラ(DKC)7はハードディスク(HD)やフロッピー(登録商標)ディスク(FD)などの外部メモリ11とそれぞれ接続されている。
ROM3のプログラム用ROM又は外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム(以下、「OS」という)などを記憶する。ROM3のフォント用ROM又は外部メモリ11は文書処理の際に使用するフォントデータなどを記憶する。ROM3のデータ用ROMは文書処理等を行う際に使用する各種データを記憶する。
CPU1は、ROM3のプログラム用ROM又は外部メモリ11に記憶された文書処理プログラムなどに基づいて、図形、イメージ、文字、表(表計算等を含む)などが混在した文書処理を実行する。
RAM2はCPU1の主メモリ又はワークエリアなどとして機能する。キーボードコントローラ(KBC)5はキーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)6はCRTディスプレイ(CRT)10の表示を制御する。
ディスクコントローラ(DKC)7は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、文字イメージデータ生成プログラム(フォントラスタライザ)、プリンタ制御コマンド生成プログラム(プリンタドライバ)などを記憶する外部メモリ11とのアクセスを制御する。
プリンタコントローラ(PRTC)8は、所定の双方向性インターフェース(インターフェース)21を介してプリンタ1500に接続され、プリンタ1500との通信制御を実行する。
尚、CPU1は、例えばRAM2に設定された表示情報領域へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10のWYSIWYG(What You See Is What You Get)を可能にしている。
また、CPU1は、CRT10に表示されたマウスカーソルなどで指示されたコマンドに基づいて登録された種々のウィンドウを開き、種々のデータ処理を実行する。
プリンタ1500は、システムバス15に接続されたROM13、印刷部I/F16、入力部18、RAM19、メモリコントローラ(MC)20及び操作部1501を総括的に制御するCPU12を備えている。印刷部I/F16は印刷部17と、メモリコントローラ(MC)20はハードディスク(HD)又はICカードなどで構成される外部メモリ14とそれぞれ接続されている。
CPU12は、ROM13のプログラム用ROMに記憶された制御プログラム又は外部メモリ14に記憶された制御プログラム等に基づいて、印刷部I/F16を介してシステムバス15に接続された印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
また、ROM13のプログラムROMには、CPU12の制御プログラム等が記憶される。ROM13のフォント用ROMには、ハードディスクなどの外部メモリ14がないプリンタの場合に、ホストコンピュータ3000で利用される情報などを記憶する。
CPU12は、入力部18を介してホストコンピュータ3000との通信処理が可能であり、プリンタ1500内の情報などをホストコンピュータ3000に通知する。
RAM19はCPU12の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張できる。尚、RAM19は出力情報展開領域、環境データ格納領域、NVRAMなどに用いられる。
外部メモリ14へのアクセスは、メモリコントローラ(MC)20により制御される。外部メモリ14は、オプションとしてプリンタ1500に接続され、フォントデータ、エミュレーションプログラム、フォームデータなどが記憶される。
操作部1501は操作パネルに設けられており、操作パネルにはスイッチ及びLED表示器などが配されている。
また、外部メモリ14は1個に限らず、内蔵フォントに加えてオプションフォントカードや言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数個接続できる。
さらに、RAM19がNVRAMを有し、操作パネルに設けられた操作部1501からのプリンタモード設定情報を記憶するようにしてもよい。
図2は、ホストコンピュータ3000内のプリンタドライバにおいて、カラーモノクロ判定処理の実施するための構成図である。
アプリケーション2001は描画関数(例えば、GDI関数:Graphic Device Interface)をグラフィックエンジン2002に出力し、グラフィックエンジン2002はプリンタドライバが解釈可能な描画命令(例えば、DDI関数:Device Driver Interface)に変換してプリンタドライバ2003に出力する。
プリンタドライバ2003は、グラフィックスエンジン2002から受け取った描画命令を解析し、プリンタ制御コマンド又は中間データを生成し、RAM2又は外部メモリ11にスプールデータ2004として1ページ分のプリンタ制御コマンド又は中間データを保存する。また、この仕組みを使って、プリンタドライバ2003は、プリンタ制御コマンド又は中間データの生成時に、グラフィックスエンジン2002から受け取った描画命令中に存在するカラー情報を確認することが可能である。ここで、描画命令には、例えば、文字描画、図形描画、画像描画、描画対象に対する画像処理が含まれる。
描画命令の色属性であるカラー情報中に有彩色値が存在したときは、プリンタドライバ2003は、スプールデータ2004として保存されているプリンタ制御コマンドのページの先頭部にカラーデータがあることを示すコマンドを付加して、システムスプーラ2005に出力する。このカラーモノクロ判定は、印刷ページ単位で行うことが可能である。
システムスプーラ2005は、カラーデータがあることを示すコマンドが付加されたプリンタ制御コマンドを所定のタイミングでプリンタ1500に送出する。これにより、プリンタ制御コマンドを受け取ったプリンタ1500はページ単位にカラー処理を切り替えることが可能となり、プリンタ側での印刷処理の高速化が図れ、また、モノクロページはモノクロ印刷処理されるため、モノクロ課金によりユーザの費用負担も減る。
図3は、プリンタ制御コマンド又は中間データを生成する処理のルーチンを示すフローチャートである。本処理はCPU1の制御の下で、プリンタドライバ2003が実行するものであり、アプリケーション2001からグラフィックエンジン2002を介して印刷命令(印刷開始命令と描画命令)を受け取った場合に処理が開始される。
まず、ページ初期化時にプリンタドライバ2003内で保持するカラー判定フラグをモノクロに初期化する(ステップS301)。
ホストコンピュータ3000のオペレーティングシステム(OS)又はアプリケーション2001から描画命令を受け取る(ステップS302)。
ステップS302で描画命令を受け取り、プリンタ制御コマンド又は中間データを生成する際に、描画命令中に存在するカラー情報(カラー属性)を確認し、印刷すべき文字のカラーモノクロ判定を実施する(ステップS303)。
次いで、1ページ分の描画命令の処理が終了したか否かを判別する(ステップS304)。
ステップS304で、1ページ分の描画命令の処理が終了した場合には、1ページ分のプリンタ制御コマンド又は中間データが生成されるので、ステップS303のカラーモノクロ判定の判定結果を先頭に付けたプリンタ制御コマンド又は中間データを作成して、プリンタ1500に送出する(ステップS305)。このステップS303のカラーモノクロ判定の判定結果が印刷すべき文字がカラーであることを示す場合には、印刷すべき文字がカラーであることを示す判定結果がプリンタ制御コマンド又は中間データに付加される。
ステップS304で、1ページ分の描画命令の処理が終了していない場合、即ち、まだ描画命令がある場合は、ステップS302に戻る。
図4は、図3のステップS303の処理の具体的なルーチンを示すフローチャートであり、具体的にはプリンタ制御コマンド又は中間データを生成し、かつ文字のカラーモノクロ判定を実行する処理のルーチンを示すフローチャートである。本処理はCPU1の制御の下で、プリンタドライバ2003が実行する。
プリンタドライバ2003は、ホストコンピュータ3000のオペレーティングシステム(OS)又はアプリケーション2001から受け取った描画命令から文字印字データを取得する(ステップS401)。
ここで、文字印字データは、印字する文字のフォントデータと印字する文字の位置データを備えている。また、印字する文字のフォントデータには、フォント種類を示すフェイス名、文字コード及びフォントの特徴(最大幅、種類、データサイズなど)がいくつかのパラメータやデータで格納されている。また、ステップS401では、印字する文字のフォントデータからRAM2上に展開されたビットマップデータも取得する。
印字対象の文字のビットマップデータが既に空白判定済であるか否かを判別する(ステップS402)。印字対象の文字のビットマップデータの空白判定とは、印字対象の文字が空白文字であるか否かの判定であり、空白文字とは、印字する対象のない文字であり、アスキーコード表の0x0020の文字やユーザに外字登録された印字する対象のない文字のことである。またフェイス名毎にスペース等の文字コードは決められている。
ステップS402の判別の結果、空白判定済みと判別された場合は、印字対象の文字の空白フラグがオンであるか否かを判別する(ステップS403)。
ステップS403の判別の結果、印字対象の文字の空白フラグがオンである場合、即ち印字対象の文字が空白文字である場合は、当該描画文字に対してカラー判定を行わずに本処理を終了する。
一方、ステップS403の判別の結果、印字対象の文字の空白フラグがオンでない場合は、後述するステップS409に進む。
ステップS402の判別の結果、空白判定が未実施と判別された場合は、印字する文字のフォントデータを取得し(ステップS404)、そのフォントデータから取得したフェイス名と文字コードに基づく描画対象文字のビットマップデータが空白であるか否かを判別する(ステップS405)。この判定は、予めプリンタドライバに登録されているフェイス名と文字コードからスペース文字のように描画対象のない文字コードであるか判定してもよいし、また、フェイス名と文字コードから判定できない場合には、その対象文字について実際にビットマップデータを生成してビットマップデータが空白であるかを判別する。この空白判別処理については、図5以降で後述する。
ステップS405の判別の結果、ビットマップデータが空白である場合は、判別した文字に一意に割り当てられた空白フラグをオンにセットし(ステップS411)、本処理を終了する。
ステップS405の判別の結果、ビットマップデータが空白でない場合、すなわち描画対象が存在すると判断された場合は、判別した文字に一意に割り当てられた空白フラグをオフにセットし(ステップS406)、当該描画文字から生成されたビットマップデータを圧縮し(ステップS407)、判別した文字に一意に割り当てられたID番号を使って文字登録コマンドを生成する(ステップS408)。文字登録コマンドとは、ステップS407で圧縮されたビットマップデータをプリンタ1500に登録するためのコマンドである。
ステップS408の処理後、判別した文字に一意に割り当てられたID番号を使って登録文字印字コマンドを生成する(ステップS409)。登録文字印字コマンドとはプリンタ1500に登録された文字のプリント命令である。
最後に、印字する文字のカラー属性値を確認し、カラー判定処理を行い(ステップS410)、本処理を終了する。
このように、空白フラグがオンにセットされている場合、即ち、印字対象の文字が空白文字である場合には(ステップS403でYES、ステップS411)、文字登録コマンドを生成せずに、処理を終了するので、プリンタドライバの文字登録において、空白文字の登録を防止することができる。また、印字する文字の空白判定の後に、カラー判定が行われるので、空白文字にカラー属性が付いていてもカラーと判定することを防止することができる。
以下、図4のカラーモノクロ判定の処理をより詳細に説明する。
ステップS401における印字データの取得は、プリンタドライバを制御するOSやアプリケーションとのインターフェースがどのように実現されているか否かに依存し、例えば、OSから以下のような印字データを取得する。
印字データ:Code FaceName Point Style Pitch x,y …(データ1)
(Code:文字コード、FaceName:フォントフェイス名、Point:文字サイズ、Style:文字修飾データ、Pitch:可変ピッチフラグ、x,y:印字位置、brush:文字の塗りつぶし情報)
図5は、図4のステップS402の印字対象の文字のビットマップデータが既に空白判定済であるか否かを判別する処理(以下、「空白判別処理」という)のルーチンを示すフローチャートである。
この空白判別処理では、プリンタドライバによって管理される文字登録管理テーブルを使用する。文字登録管理テーブルは、各文字が既に空白判定済みか、判定した結果が空白か否かを記録可能である。例えば、「0」を未判定、「BLANK(=1)」を空白、「NOTBLANK(=2)」を非空白として表現し、総ての文字コードに対して「0」〜「2」の数値を付与する。
初期化時には、総ての文字コードに「0」をセットしておき、文字の空白判定時に文字登録管理テーブル中の該当する文字を示す位置に判定結果をセットする。ここでは、Code、FaceName、Style、Pointによって文字が確定するようなフォント環境を想定しているが、フォント環境がこれと異なる場合であっても、文字登録管理テーブル中に文字を特定するのに十分なデータが含まれていればよい。
ここでは、FaceName、Style、Pointの総てが一致するものを1つの文字セットとして管理し、同一の文字セットに属する文字に対しては1つの文字登録管理テーブルを使用する。1つの文字登録管理テーブルには以下に示す内容が含まれる。
文字登録管理テーブル:FaceName Point Style BlankTable …(データ2)
(FaceName:フォントフェイス名、Point:文字サイズ、Style:文字修飾データ、BlankTable:空白管理テーブル)
空白判別処理では、まず使用する変数iの初期化(i←0)を行う(ステップS501)。続いて、変数iが文字登録管理テーブルの数Nより小さいか否かを判別する(ステップS502)。この判別は、空白判別処理を最後の文字登録管理テーブルまで実行したか否かを調べている。変数iが文字登録管理テーブルの数Nより小さい場合には、空白判別処理を最後の文字登録管理テーブルまで実行していないことを示し、変数iが文字登録管理テーブルの数Nより大きい場合には、空白判別処理を最後の文字登録管理テーブルまで実行していることを示す。
ステップS502の判別の結果、変数iが文字登録管理テーブルの数Nより小さい場合は、文字登録管理テーブルTable[i]のFaceName、Style、PointがすべてステップS401で取得した印字データのFaceName、Style、Pointと一致するか否かを判別し(ステップS503)、一致する場合にはそのTable[i]のCodeの文字が登録済であるか否かを示すフラグBlankTable[Code]の値が0であるか否かを判別する(ステップS504)。
ステップS504の判別の結果、BlankTable[Code]がBLANK(空白)又はNOTBLANK(非空白)である場合には、空白判定済であると判定して(ステップS507)、本ルーチンを終了する。BlankTable[Code]が「0」である場合には、未登録であると判定して、本ルーチンを終了する(ステップS506)。
ステップS503で、文字登録管理テーブルTable[i]の各データが印字データの各データと異なる場合には、変数iを1インクリメントして(ステップS505)、ステップS502に戻り、次の文字登録管理テーブルの処理に移行する。
最後の文字登録管理テーブルNまで印字データの各データに一致するものが存在しなかった場合、即ち、変数iが文字登録管理テーブルの数Nより大きい場合は(ステップS502でNO)、未登録と判定して(ステップS506)、本ルーチンを終了する。
図4のステップS405の処理では、ステップS401で取得した印字データに基づいて、フォトラスタライザから印字に使用するビットマップデータを取得し、そのビットマップデータが空白であるか否かの空白判定を行う。
フォントラスタライザはアウトラインフォントなどのスケーラブルなフォントのビットマップデータを作成するプログラムであり、図1のROM3のプログラムROM又は外部メモリ11に格納され、RAM2にロードされて実行される。ビットマップデータを取得するために必要なデータは、フォントラスタライザを管理するOSなどの仕様に依存するが、ここでは、前記印字データに必要なデータがすべて含まれているものとし、以下に示すデータをフォントラスタライザに渡すこととする。
ビットマップデータの取得のために必要なデータ:Code FaceName Point Style …(データ3)
(Code:文字コード、FaceName:フォントフェイス名、Point:文字サイズ、Style:文字修飾データ)
このようなデータをフォントラスタライザに渡すことにより、ビットマップデータと共に、以下のようなデータを取得できる。
フォントラスタライザからの取得データ:ix iy DataSize ImageData …(データ4)
(ix,iy:ビットマップデータの縦、横のサイズ、DataSize:ビットマップデータのサイズ(データ量)、ImageData:ビットマップデータ)
空白判定は、フォントラスタライザから取得したビットマップデータをスキャンすることにより実現する。ビットマップデータ内にオンピクセルがあるか否かを確認することで、空白かどうかの判定は可能である。
図6は、図4のステップS406、ステップS411で示される空白判定結果を文字のフラグにセットする処理のルーチンを示すフローチャートである。
まず、この処理のルーチンで使用する変数iの初期化(i←0)を行う(ステップS601)。次いで、変数iが文字登録管理テーブルの数Nより小さいか否かを判別して(ステップS602)、本処理が最後の文字登録管理テーブルまで実行されたか否かを調べる。変数iが文字登録管理テーブルの数Nより小さい場合には、本処理が最後の文字登録管理テーブルまで実行されていないことを示し、変数iが文字登録管理テーブルの数Nより大きい場合には、本処理が最後の文字登録管理テーブルまで実行されたことを示す。
文字登録管理テーブルTable[i]のFaceName、Style、Pointが全てステップS401で取得した印字データのFaceName、Style、Pointと一致するか否かを判別する(ステップS603)。
ステップS603の判別の結果、文字登録管理テーブルTable[i]のFaceName、Style、Pointが全てステップS401で取得した印字データのFaceName、Style、Pointと一致する場合には、そのTable[i]のCodeで表されるBlankTable[Code]に、図4のステップS404で空白判定した結果(BLANK or NOTBLANK)をセットして(ステップS604)、本ルーチンを終了する。
一方、ステップS603の判別の結果、文字登録管理テーブルTable[i]のFaceName、Style、Pointが全てステップS401で取得した印字データのFaceName、Style、Pointと一致しない場合には、変数iを1インクリメントして(ステップS605)、ステップS602に戻り、次の文字登録管理テーブルに関する処理に移行する。
最後の文字登録管理テーブルまで文字登録管理テーブルTable[i]のFaceName、Style、Pointが全てステップS401で取得した印字データのFaceName、Style、Pointと一致しない場合、即ち、変数iが文字登録管理テーブルの数Nより大きい場合(ステップS602でNO)には、新たに文字登録管理テーブルを作成し(ステップS606)、その文字登録管理テーブルのCodeで表される文字の登録フラグBlankTable[Code]をオンにセットして(ステップS607)、本ルーチンを終了する。
図4のステップS407では、文字のフォントデータから取得したビットマップデータの圧縮を行う。ここでは、様々な圧縮方法を使用することが可能である。但し、元のビットマップデータが文字のビットマップデータに限定されるので、例えば2次元ランレングス、MR、MMR他、文字の圧縮に効果的な圧縮方法を採用することが望ましい。
図4のステップS408では、圧縮したビットマップデータをプリンタに登録するプリンタコマンドを作成する。コマンドの例を以下に示す。
ビットマップデータ登録命令:RC CharSetID Code ix iy size END data …(コマンド1)
(RC:ビットマップデータ登録命令を意味するコマンド、CharSetID:文字セットID、Code:登録する文字の文字コード、ix,iy:ビットマップデータの縦、横のサイズ、size:圧縮されたビットマップデータのサイズ(データ量)、END:コマンド終端符号、data:圧縮されたビットマップデータ)
図4のステップS409では、登録文字印字コマンドを生成する。このコマンドの例を以下に示す。
登録文字印字命令:DC CharSetID Code x y …(コマンド2)
(DC:登録文字印字命令を意味するコマンド、CharSetID:文字セットID、Code:印字する文字の文字コード、x,y:印字装置)
図4のステップS410では、文字に付加されていたカラー属性値に基づいてカラー判定する。ここでは、ステップS401で取得した文字印字データ中のブラシカラー(文字の塗りつぶし情報)を確認する方法を採用する。
カラー判定方法は、Windows(登録商標)2000等のRGB値でカラー値を表現するOSにおいては、Red値,Blue値,Green値を比較し、これらが互いに同値であればモノクロと判定するのが一般的であるが、人の視覚特性に応じた揺らぎを考慮した判定ロジックを使ってもよい。
Windows(登録商標)系のOSから渡される文字の描画命令は、塗り領域を指定するフォントビットマップと、塗りつぶす領域を何で塗りつぶすかを指示するブラシによって構成される。ブラシは、ビットマップブラシと、ソリッドブラシに大別されるが、ビットマップブラシは、用意されたビットマップで文字ビットマップ中のオンピクセル部分を塗りつぶすことを意味する。そこで、カラーの判定はビットマップブラシ中のカラー情報の確認をするのが有効である。例えば、RGB24bit/pixelのイメージブラシの場合、イメージデータ中の全ピクセルのカラー判定を行う必要がある。
次に、ソリッドブラシは、一つの色情報しか持たないブラシのことを示している。例えばソリッドブラシ情報として(R,G,B)=(127,239,222)のようなカラー情報が渡されてくるので、このカラー値に対してカラー判定すればよい。
以上詳細に説明したように、本実施の形態によれば、描画命令に含まれる印字すべき文字のフォントデータが空白でない場合、即ち印字すべき文字が空白文字でない場合に、生成されたプリンタ制御コマンド又は中間データに、印刷すべき文字のカラーモノクロ判定による判定結果が付加されるので(ステップS410)、印刷すべき文字のカラーモノクロ判定の精度の向上を図ることができる。
また、空白判別処理や空白判定結果を文字のフラグにセットする処理では、プリンタドライバによって管理される文字登録管理テーブルを使用するので、印字する文字の空白判定を繰り返し行うことを防止できる。
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
本発明の実施の形態に係る印刷制御装置を含む印刷システムの構成を示すブロック図である。 ホストコンピュータ3000内のプリンタドライバにおいて、カラーモノクロ判定処理の実施するための構成図である。 プリンタ制御コマンド又は中間データを生成する処理のルーチンを示すフローチャートである。 図3のステップS303の処理の具体的なルーチンを示すフローチャートである。 図4のステップS402の印字対象の文字のビットマップデータが既に空白判定済であるか否かを判別する処理(空白判別処理)のルーチンを示すフローチャートである。 図4のステップS406、ステップS411で示される空白判定結果を文字のフラグにセットする処理のルーチンを示すフローチャートである。
符号の説明
1 CPU
2 RAM
3 ROM
4 システムバス
5 キーボードコントローラ(KBC)
6 CRTコントローラ(CRTC)
7 ディスクコントローラ(DKC)
8 プリンタコントローラ(PRTC)
11 外部メモリ
1500 プリンタ
3000 ホストコンピュータ

Claims (9)

  1. 描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別手段と、
    前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定手段と、
    前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成手段と、
    前記空白文字判別手段により前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成手段により生成されたプリンタ制御コマンド又は中間データに、前記判定手段による判定結果を付加する付加手段と
    を備えることを特徴とする印刷制御装置。
  2. 前記空白判別手段により空白文字と判別されたときに、前記カラーモノクロ判定手段による前記印字すべき文字のカラーモノクロ判定を実行しないことを特徴とする請求項1記載の印刷制御装置。
  3. 前記空白判別手段による空白判別結果を記録する記録手段を備え、
    前記記録手段に記録されている空白判別結果が前記印字すべき文字が空白文字であることを示す場合に、前記判定手段による前記印字すべき文字のカラーモノクロ判定を実行しないことを特徴とする請求項1又は2記載の印刷制御装置。
  4. 前記空白判別手段により前記印字すべき文字が空白文字でないと判別されたとき、前記印刷すべき文字を前記印刷制御装置に接続可能な印刷装置に登録するためのコマンド及び前記印刷装置に登録された文字のプリントコマンドを生成するコマンド生成手段とを備えることを特徴とする請求項1乃至3のいずれか1項記載の印刷制御装置。
  5. 前記空白判別手段は、前記印刷すべき文字に含まれるビットマップデータをスキャンし、当該ビットマップデータにオンビットがない場合に、前記印字すべき文字が空白文字であると判別することを特徴とする請求項1乃至4のいずれか1項記載の印刷制御装置。
  6. 前記生成手段は、前記描画命令に基づいて、1ページ分のプリンタ制御コマンド又は中間データを生成し、
    前記付加手段は、前記空白文字判別手段により前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成手段により生成された1ページ分のプリンタ制御コマンド又は中間データの先頭に、前記判定手段による判定結果を付加することを特徴とする請求項1乃至5のいずれか1項記載の印刷制御装置。
  7. 前記記録手段は、空白未判定、空白及び非空白の情報が文字毎に割り当てられた記憶テーブルを備えることを特徴とする請求項3記載の印刷制御装置。
  8. 描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別工程と、
    前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定工程と、
    前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成工程と、
    前記空白文字判別手段により前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成工程により生成されたプリンタ制御コマンド又は中間データに、前記判定工程による判定結果を付加する付加工程と
    を備えることを特徴とする印刷制御方法。
  9. コンピュータに実行させる印刷制御用プログラムにおいて、
    描画命令に含まれる印字すべき文字が空白文字であるか否かを判別する空白文字判別モジュールと、
    前記描画命令に含まれるカラー情報に基づき、前記印刷すべき文字のカラーモノクロ判定を実行する判定モジュールと、
    前記描画命令に基づいて、プリンタ制御コマンド又は中間データを生成する生成モジュールと、
    前記空白文字判別モジュールにより前記描画命令に含まれる印字すべき文字が空白文字でない場合に、前記生成モジュールにより生成されたプリンタ制御コマンド又は中間データに、前記判定モジュールによる判定結果を付加する付加モジュールと
    を備えることを特徴とする印刷制御用プログラム。
JP2005129874A 2005-04-27 2005-04-27 印刷制御装置、印刷制御方法及び印刷制御用プログラム Active JP4464313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005129874A JP4464313B2 (ja) 2005-04-27 2005-04-27 印刷制御装置、印刷制御方法及び印刷制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005129874A JP4464313B2 (ja) 2005-04-27 2005-04-27 印刷制御装置、印刷制御方法及び印刷制御用プログラム

Publications (2)

Publication Number Publication Date
JP2006309427A true JP2006309427A (ja) 2006-11-09
JP4464313B2 JP4464313B2 (ja) 2010-05-19

Family

ID=37476256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129874A Active JP4464313B2 (ja) 2005-04-27 2005-04-27 印刷制御装置、印刷制御方法及び印刷制御用プログラム

Country Status (1)

Country Link
JP (1) JP4464313B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309471A (ja) * 2005-04-27 2006-11-09 Canon Inc 情報処理装置及びそのカラー/モノクロ判定方法、並びにプログラム
US7940424B2 (en) 2007-08-20 2011-05-10 Samsung Electronics Co., Ltd. Image forming device and method which outputs mono object when object not actually expressed in colors or not actually to be printed

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309471A (ja) * 2005-04-27 2006-11-09 Canon Inc 情報処理装置及びそのカラー/モノクロ判定方法、並びにプログラム
JP4522314B2 (ja) * 2005-04-27 2010-08-11 キヤノン株式会社 情報処理装置及びそのカラー/モノクロ判定方法、並びにプログラム
US7940424B2 (en) 2007-08-20 2011-05-10 Samsung Electronics Co., Ltd. Image forming device and method which outputs mono object when object not actually expressed in colors or not actually to be printed

Also Published As

Publication number Publication date
JP4464313B2 (ja) 2010-05-19

Similar Documents

Publication Publication Date Title
US8451490B2 (en) Printing control method
US7999971B2 (en) Optimization techniques during processing of print jobs
JP6759922B2 (ja) 画像処理装置及びプログラム
JP2006285870A (ja) 印刷制御装置、印刷制御方法、及びプログラム
JP2000083161A (ja) 画像処理装置及びその方法、及び画像処理システム
US20120140249A1 (en) Information processing device, information processing method, and computer program product
JP2817687B2 (ja) 画像形成装置
JP2003044472A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、記憶媒体、及び制御プログラム
US8363060B2 (en) Drawing processing device, image output apparatus, and computer-readable medium
JP5063501B2 (ja) 画像形成装置、制御方法、制御プログラム
JP4464313B2 (ja) 印刷制御装置、印刷制御方法及び印刷制御用プログラム
JP5607296B2 (ja) トラッピングを実行する方法、コンピュータ読取可能な媒体及び装置
JP2004192390A (ja) データ処理装置
JP3884876B2 (ja) 情報処理装置、情報処理方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
US8908227B2 (en) Image forming apparatus, image forming system, image data processing method, program, and storage medium
JP2004192394A (ja) 情報処理装置
JP2003051929A (ja) 画像処理方法及び装置
US6471423B1 (en) Print control apparatus and print control method
US8390827B2 (en) Drawing processing apparatus, image outputting apparatus, method for drawing processing and computer readable medium
JP2010274435A (ja) 画像形成装置、画像形成方法、プログラムおよび記録媒体
JP2005038084A (ja) 描画データの変換方法及び変換装置
JP2006019931A (ja) 画像処理装置及び画像処理方法、並びにコンピュータプログラム及び記憶媒体
JP3862460B2 (ja) 情報処理方法及び装置と記憶媒体
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2005159764A (ja) 記録方法及び装置及びプログラム及び記憶媒体

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

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: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100218

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4464313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4