JP4522006B2 - Information processing apparatus, information processing method, and printer driver program - Google Patents
Information processing apparatus, information processing method, and printer driver program Download PDFInfo
- Publication number
- JP4522006B2 JP4522006B2 JP2001055466A JP2001055466A JP4522006B2 JP 4522006 B2 JP4522006 B2 JP 4522006B2 JP 2001055466 A JP2001055466 A JP 2001055466A JP 2001055466 A JP2001055466 A JP 2001055466A JP 4522006 B2 JP4522006 B2 JP 4522006B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- font
- print data
- information processing
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、アプリケーションソフトウェア等の印刷指示により、プリンタ等の画像形成装置に対する印刷データを生成する情報処理装置、情報処理方法及びプリンタドライバプログラムに関する。
【0002】
【従来の技術】
図9は、画像形成装置としてのプリンタ及びその制御を行う情報処理装置としてのホストコンピュータで構成された、従来の印刷システムの例を示す図である。
【0003】
図に示すように、ホストコンピュータ200は、セントロニクスインターフェース、IEEE1284といったパラレルインタフェース、USB、IEEE1394等のシリアルインタフェース、10/100BASE−T等のネットワークインタフェース600を介してプリンタ100と接続されている。ホストコンピュータ200には、CRT、LCD等のディスプレイモニタ300及び入力デバイスとしてのキーボード400及びマウス500が接続されている。
【0004】
ホストコンピュータ200では、Windows(米国Microsoft社の登録商標)のようないわゆる基本ソフト(OS)の上でワードプロセッサや表計算のような、プリンタ100を利用可能なアプリケーションソフトウェア201(以下アプリケーションと略称)が動作している。これらアプリケーションのユーザが印刷を指示した場合、そのアプリケーションは、基本ソフトが提供するいくつかのサブシステムの内、グラフィックサブシステム202の機能を用いて印刷を行う。
【0005】
このグラフィックサブシステムは、例えば基本ソフトがWindowsの場合、GDI(Graphic Device Interface)203と呼ばれており、ディスプレイやプリンタに対する描画処理を司っている。このGDI(203)は、ディスプレイやプリンタといったデバイス毎の依存性を吸収するために、アプリケーションから指定された出力デバイスに対応する、デバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。
【0006】
プリンタに対するデバイスドライバはプリンタドライバと呼ばれる。プリンタドライバ204は、対応するプリンタの能力や機能などに応じて、あらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を有しており、GDI(203)がこのDDIを用いることによって印刷処理が行われる。
【0007】
すなわち、図9の例において、アプリケーションから印刷指示(GDI(203)へのAPI(Application Programming Interface)コール)があると、GDI(203)はプリンタ100に対応するプリンタドライバ204を動的にリンクするとともに、アプリケーションからのAPIコールをプリンタドライバ204が有するDDI関数群を用いた形式に変換する。そして、GDI(203)からDDI関数群がコールされることによって所定の印刷処理が実行される。このように、GDI(203)では、プリンタドライバ204を用いてアプリケーションからの印刷要求をシーケンシャルに処理している。
【0008】
プリンタドライバ204は、DDIを介してGDI(203)から受け渡しされるデータから、プリンタ100が印刷可能な形式のデータを生成、出力する。この際、プリンタ100に能力、機能に対応した複数の印刷データ生成部を用いて印刷データを生成し、スプールサブシステム210を介してプリンタ100へ出力する。
【0009】
プリンタ100へ出力する、印刷データ形式としては、ページ記述言語(PDL:Page Description Language)等のプリンタ言語と呼ばれる制御コマンド及びイメージデータ(ビットマップ)の2種類に大別される。そして、プリンタドライバ204に含まれるデスプーラ250は、それぞれが所定形式のデータを出力する複数の印刷データ生成部(205〜208)の中から、1つを選択して印刷処理を実行する。
【0010】
図9において、印刷データ生成部(205〜208)は、PDLを出力する(以下、PDLタイプという)第1の印刷データ生成部205と、イメージデータを出力する(以下、イメージタイプという)第2〜第4の印刷データ生成部(206〜208)から構成されている。また、イメージデータを出力する第2〜第4の印刷データ生成部(206〜208)のうち、第2のイメージデータ生成部206はモノクロ(mono 1BPP:1 bit per pixel)イメージデータを、第3のイメージデータ生成部207は各色1ビットのYMCK(YMCK 4BPP)カラーイメージデータを、第4のイメージデータ生成部208は、各色8ビットのRGB(RGB 24BPP)イメージデータをそれぞれ出力する。
【0011】
第1の印刷データ生成部205は、プリンタ100がPDLを処理可能なコントローラを搭載する場合に使用可能であり、第1の印刷データ生成部205を用いる場合、デスプーラ250はGDI(203)からDDIを介して受け取ったデータを第1の印刷データ生成部205へ受け渡し、PDLのコマンドに変換し次第、スプールサブシステム210を介してプリンタ100に送出する。この場合、デスプーラ250の処理はDDIを介して受け取ったデータを第1の印刷データ生成部205に受け渡してPDLコマンドを生成するだけなので、軽い処理といえる。
【0012】
PDLタイプの印刷データ生成部を用いる場合、GDI(203)から抽象度の高いデータを受け取り、PDLコマンドの形式で送出できるので、通常のページ印刷においては転送する印刷データサイズを小さくすることが可能である。
【0013】
一方、イメージタイプの印刷データ生成部(206〜208)は、プリンタ100では高度な描画処理を行わずにすむよう、プリンタドライバ204がホストコンピュータ200で確保したメモリ空間上に印刷イメージの展開を行い、それをプリンタ100で直接印刷できるイメージデータ形式に変換してから、プリンタ100に転送する。
【0014】
具体的には、PDLタイプの印刷データ生成部と同様に、GDI(203)からDDIを介して渡されたデータをプリンタドライバ204に含まれるデスプーラ250がイメージタイプの印刷データ生成部(206〜208)の1つに受け渡す。そして、印刷データ生成部は受け渡しされたデータに基づいてバンドメモリ209に描画処理を行い、1バンド分の描画処理が終了すると、スプールサブシステム210を介してプリンタ100にビットマップデータを送出する。プリンタ100は、受信したビットマップデータを直接出力する。
【0015】
イメージタイプの印刷データ生成部を用いる場合はホストコンピュータ200において、PDLタイプの印刷データ生成部を用いる場合はプリンタ100において、描画処理を行う必要がある。描画処理を行うには、メモリ空間を確保する必要があるが、RGB各色8ビットで600DPI(dot per inch),A4フルページ分の描画処理を行うために必要なメモリ空間は96MByte必要であり、現状ではホストコンピュータ200、プリンタ100のどちらでも確保することは困難である。
【0016】
そこで、一般には、特にデータ量が多くなるカラープリンタの描画処理には、1ページを水平方向に複数に分割したバンド単位で描画処理が行われ、この描画処理に用いるメモリをバンドメモリと呼ぶ。
【0017】
また、プリンタ100に最終的に転送するデータ形式は、ディスプレイ装置で用いられるようなRGB(輝度)形式ではなく、プリンタ100が用いるトナーの濃度を表すYMCK形式であり、またYMCK形式では各色1ビット、2ビット(又は4ビット)であることが多いため、各色8ビットのRGB形式よりもデータ量が小さくなるという理由から、プリンタドライバ204以降の処理においてはYMCK形式でデータを取り扱うのが一般的である。そして、イメージタイプの印刷データ生成部のなかには、YMCK各色1ビット、2ビットもしくは4ビットのデータをプリンタ100に転送することで、転送データサイズを小さく抑え、プリンタ100の負荷を軽くするものがある。
【0018】
例えば、多角形図形の印字処理を行う場合、PDLタイプの印刷データ生成部は、多角形の頂点座標と線幅、線の色情報、図形内の塗り色情報等がコマンドとして転送され、プリンタ内部でこのコマンドを解析し、プリンタ内部に設けられた、YMCK各色1ビット、2ビットまたは4ビットのデータに対する1バンド分のメモリ空間を用いて描画処理を行い、出力形態のビットマップデータに展開する。
【0019】
PDLタイプの印刷データ生成部を用いる場合、プリンタに転送されるデータはPDLコマンドであり、一般にはイメージタイプの印刷データ生成部が生成するデータよりもサイズが小さくなる。しかし、1ページあたりのPDLコマンド数には制限が無く、理論上はイメージタイプの印刷データ生成部よりも転送データが大きくなる可能性がある。また、PDLタイプの印刷データ生成部を用いた場合、プリンタ側で描画処理を行う必要があるが、バンドメモリに対する描画処理であっても、1ページ分のPDLコマンドをすべて受信してからでないと描画処理が開始できない。近年、アプリケーションが出力する印刷命令は増加の一途をたどっており、1ページを構成するPDLコマンドも増加しているため、メモリ量の少ないプリンタでは処理速度低下の要因になっている。
【0020】
このような場合、プリンタに比べてメモリ容量に余裕のあるホストコンピュータ200上で動くプリンタドライバ204においてバンド単位もしくはフルページ分の描画メモリを確保し、イメージタイプの印刷データ生成部を使用して描画処理を行い、ビットマップデータをプリンタに転送した方が印刷処理全体のスループットは向上する。図9の例では、バンドメモリ209を用いている。
【0021】
前述したように、印刷データ生成部は、PDLタイプ、イメージタイプ共に省メモリのためにYMCK各色1,2,4ビットという出力装置依存の色空間上で描画処理を行っているが、GDI(203)が論理演算描画処理時にDDI関数群をコールする場合、用いられる色形式はYMCK形式でなくRGB形式であるため、描画不正が発生することがある。このため、描画不正回避のために、論理演算処理が発生した場合、プリンタドライバ204においてYMCK形式に変換されているデータをRGB値に戻し(逆UCR(Under Color Remove)処理)、それから論理演算処理することで対応しているが、完全な描画処理を保証しないばかりか、処理速度低下の原因になっている。
【0022】
このように、印刷しようとする内容、プリンタドライバ204で用いる印刷データ生成部の種類、プリンタ側のハードウェア資源等、多くの要因によって印刷処理全体に要する時間は変動する。
【0023】
しかし、このような要因を考慮して適切な処理方法を自動選択する方法は現時点で実現されていない。そこで、アプリケーションのユーザは、通常は高速に処理がなされる可能性の高いPDLタイプの印刷データ生成部を選択して(実際にはアプリケーションもしくはプリンタドライバ204が提供するGUIなどで、「速度優先」、「高速印刷」等の印刷モードを選択することにより、デスプーラ250がPDLタイプである第1の印刷データ生成部205を選択して処理する)印刷を指示し、出力に時間が掛かりすぎる場合は、同様に高速イメージモード(デスプーラ250がYMCK各色1ビットのイメージデータを出力する第2の印刷データ生成部を選択)に切り替えて出力しなおす。また、不正出力結果が出た場合は、同様に「画質優先」「高精細」等の印刷モードを選択(デスプーラ250がRGB各色8ビットのイメージデータを出力する第3の印刷データ生成部を選択)して出力し直さなければならない。
【0024】
つまり、現状においては、プリンタドライバ204が使用する印刷データ生成部の選択が、アプリケーションのユーザに任されており、また、ユーザは自分が印刷しようとしている文書等に最適な印刷モードを決定する術を持たないため、全てのモードで実際に印刷し、出力物もしくは出力時間等を比較しないと最適なモードが解らない。また、複数ページを有する文書等を印刷する場合、PDLタイプが適したページとイメージタイプが適したページなど、タイプの異なるページが同一文書中に含まれている場合がある。このような文書を印刷する場合、全ページを同一の印刷モード(印刷データ生成部)で処理すると、出力時間が掛かる、または不正出力ページが混じる、といった問題も発生しうる。
【0025】
こういった問題を解決するために、図6に示すような、プリンタドライバ204が利用可能な各印刷データ生成部の長所、短所に応じて、各印刷データ生成部の長所のみを用いて印刷処理を行うことが可能なような、印刷モード(印刷データ生成部)の自動切り替え技術が求められている。
【0026】
印刷モード自動切り替えを実現可能なプリンタドライバには、最低限以下の機能が必要である。
1)スプールドライバ機能
印刷モードの自動切り替えを実現するためには、1ページ分の描画情報を知った上で、最適な処理モードを決定しその後デスプール処理を実行する必要がある。そのためデスプーラが保持するどの印刷データ生成部でも処理可能なデータ形式で1ページ分のDDI関数コール情報をスプールする機能。
【0027】
2)印刷モード判定機能
1ページ分のDDI関数コールをチェックし、デスプーラが保持するどの印刷データ生成部で印刷データの生成を行うのが最適を判定する機能。
3)デスプーラ機能
スプールドライバ機能によってスプールされた1ページ分の描画情報を、印刷モード判定機能によって判定した最適な印刷データ生成部を用いて処理する機能。
【0028】
この様な機能を有するプリンタドライバを有するホストコンピュータ200の構成例を、図5に示す。図5において、スプールドライバ211、印刷モード判定部212及びデスプーラ215がそれぞれ上述の1)〜3)の機能を実現する。また、PDF記憶部213はスプールドライバ211が1ページ分の描画情報をスプールする領域であり、PCF記憶部214は印刷モード判定部212が1ページ分のDDI関数コールを一時記憶する領域である。
【0029】
【発明が解決しようとする課題】
図5に示すような構成を有するプリンタドライバ260を用いることによって、複数の印刷データ生成部を自動切り替えして印刷処理を行うことができるが、複数の印刷データ生成部を切り替えて1つの印刷処理を実施した場合、文字描画に関して新たな問題が発生する。
【0030】
すなわち、印刷処理における文字描画命令は主に、
1.文字列情報
文字描画が表現しようとしている文書の文字コード
2.フォント属性
文字コードに対応するビットパターンやパスで表す文字グリフの情報
3.描画情報
文字描画の開始位置、文字幅等の位置情報、文字の色
の3つの属性によって構成されるが、この中でフォント属性は著作権等の関係上、ホスト外に持ち出すことが出来ない場合がある。
【0031】
そのため、文書を作成した環境と印刷する環境が異なる場合、印刷動作を行うホストコンピュータに存在しないフォント属性を含む文字描画処理を行う必要が発生する。
【0032】
そのような場合の解決方法として、ホストコンピュータに存在するフォント属性で、存在しないフォント属性を置き換える機能が、スプールドライバ211を含む各印刷データ生成部に備えられている(以下、このような、印刷処理実行環境にないフォント属性の置き換え処理を、"フォント置き換え"と呼ぶ)。また、置き換えられる前と後のフォントを区別するために、置き換え前(置き換え対象)のフォントを論理フォント、置き換え後(置き換えに用いる)フォントを物理フォントと呼ぶことにする。本実施形態において、論理フォントが印刷を実行するホスト上に存在する場合は、フォント置き換え処理は行わないものとする。
【0033】
上述の通り、フォント置き換え処理は各印刷データ生成部毎に設けられた機能であり、また印刷データ生成部は個々の処理に最適なフォント置き換え処理を行うため、例えば高速化のためにプリンタが内蔵しているフォントに優先的に置き換える等の印刷モードの仕様により、各印刷データ生成部によって物理フォントが異なることがある。そのため以下のような課題が存在する。
【0034】
1.ページ毎に印刷データ生成部の自動切り替えを行うため、ページ毎に異なる物理フォントに置き換えられる可能性があり、このような場合には、印刷結果において違和感を与える可能性がある。
2.アプリケーションがプリンタドライバからの文字範囲の取得により判断し付加してくるアンダーラインや枠線等の文字関連付加描画について、スプールドライバにおける文字グリフ範囲情報と、各印刷データ生成部で置き換えた物理フォントの文字グリフ範囲情報とが一致せず、文字関連付加描画との描画の整合性がとれない可能性がある。
【0035】
図5に示すプリンタドライバ260において、印刷データ生成部毎に置き換えに用いる物理フォントが異なる場合の動作概要を、図3に示すブロック図を用いて説明する。
例として "行書体A"という論理フォント属性を含む文書描画が含まれる文書の印刷を想定する。そして、このプリンタドライバ204が動作するホストコンピュータ200に"行書体A"というフォントは存在しないとする。
【0036】
アプリケーションから、"行書体A"を用いた文書等の印刷指示がなされると、その論理フォント情報"行書体A"はスプールドライバ211によってPDF記憶部213にスプールされる。
印刷モード判定部212はスプールドライバ211がPDF記憶部にスプールするデータから、1ページ分のスプールデータに含まれる描画命令の種類、数等をチェックし、PCF記憶部214に記憶する。
【0037】
そして、デスプーラ215は、印刷モード判定部212が格納した1ページ分の全命令についての解析を行い、上述の図6に示した各印刷データ生成部の特徴をふまえて定めた条件に基づき、そのページについて最適と判断される印刷データ生成部を判定し、判定した印刷データ生成部に、PDF記憶部213にスプールされたデータを引き渡す。
【0038】
この際、従来は、図4のフローチャートに示すように、デスプーラ215が、印刷モード判定部が判定した印刷データ生成部に直接論理フォント("行書体A")を登録し(ステップS21)、それを受けた印刷データ生成部は、ホストコンピュータ200に存在しないフォントである"行書体A"を、予め設定されたフォント置き換えルールに従って決定された物理フォントに置き換えて文字描画処理を行っていた(ステップS22)。
【0039】
そのため、図3に示すように印刷データ生成部毎のルールに従って物理フォントが設定され、例えばPDLを出力する第1の印刷データ生成部205が用いられたページに含まれる、"行書体A"が用いられた部分はは"明朝"に置き換えられ、また第2の印刷データ生成部205が用いられたページにおいては"MP明朝"に置き換えられるといったように、ページ毎に異なるフォントに置き換えられる可能性があった。
【0040】
本発明はこのような従来技術の問題点に鑑みなされたものであり、その目的は、フォント置き換え機能を有する複数の印刷データ生成部をページ毎に切り替えて使用して印刷データを出力するプリンタドライバにおいて、フォント置き換えに用いる物理フォントを全印刷データ生成部で統一可能なプリンタドライバを提供することにある。
【0041】
【課題を解決するための手段】
すなわち、本発明の要旨は、印刷モードに1対1に対応し、印刷装置が印刷可能な印刷データを生成可能な複数の印刷データ生成手段と、基本ソフトウェアより渡される描画命令を複数の処理手段で処理可能な形式のデータに変換するスプールドライバ手段と、描画命令を分析し、印刷モード判定情報を生成する印刷モード判定手段と、スプールドライバ手段によって生成されたデータを保持する記憶手段と、印刷モード判定手段によって生成された印刷モード判定情報を保持する印刷モード判定記憶手段と、印刷モード判定情報を用いて印刷モードをページごとに決定し、複数の印刷データ生成手段のうち、決定された印刷モードに対応する印刷データ生成手段にスプールドライバ手段によって生成されたデータをページごとに供給するデスプーラ手段とを有する情報処理装置において、スプールドライバ手段は、記憶手段に記憶されたデータにより指定されているフォントが情報処理装置に存在する場合には記指定されているフォントをデスプーラ手段に通知し、指定されているフォントが情報処理装置に存在しない場合には情報処理装置に存在する予め定められたフォントをデスプーラ手段に通知し、デスプーラ手段は、スプールドライバ手段により通知されたフォントを、決定された印刷モードに対応する印刷データ生成手段に論理フォントとして登録し、決定された印刷モードに対応する印刷データ生成手段の各々は、デスプーラ手段によりページごとに供給されるデータとデスプーラ手段により登録された論理フォントを用いて、印刷データを生成することを特徴とする情報処理装置に存在する。
【0042】
また、本発明の別の要旨は、基本ソフトウェアから受け渡される描画命令に基づき、印刷装置で印刷可能な形式の印刷データを生成、出力する情報処理装置であって、描画命令から、互いに異なるデータ形式の印刷データを生成する複数の印刷データ生成手段と、印刷装置におけるページ単位に対応する描画命令群に基づき、複数の印刷データ生成手段のうち1つをページ単位で選択する選択手段と、描画命令群に含まれるフォント属性から、情報処理装置に存在するフォントのフォント属性が検出された場合には、描画命令群に含まれるフォント属性を通知し、情報処理装置に存在しないフォントのフォント属性が検出された場合には、情報処理装置に存在する予め定められたフォントのフォント属性を通知する置き換えフォント決定手段と、選択手段が選択した印刷データ生成手段に対し、供給された描画命令群中に情報処理装置に存在しないフォントのフォント属性が検出された場合には、置き換えフォント決定手段により通知されたフォント属性に対応する、情報処理装置に存在する予め定められたフォントを用いて印刷データ生成処理を行うよう指示する指示手段と、ページ単位に対応する描画命令群を選択手段が選択した印刷データ生成手段に供給する供給手段とを有することを特徴とする情報処理装置に存在する。
【0043】
また、本発明の別の要旨は、基本ソフトから渡されるデータを複数の印刷データ生成手段で処理可能な形式でスプールするスプールドライバ手段と、スプールされたデータに基づきページごとに印刷モードを判定する印刷モード判定手段と、複数の印刷データ生成手段のうち、判定手段により判定された印刷モードに対応する印刷データ生成手段に、スプールされたデータをページごとに供給するデスプーラ手段とを有する情報処理装置において、スプールドライバ手段は、スプールされたデータ中のフォント情報から、情報処理装置に存在しないフォントのフォント情報を検出した場合には、情報処理装置に存在する予め定められたフォントのフォント情報をデスプーラ手段に通知し、スプールされたデータ中のフォント情報から、情報処理装置に存在するフォントのフォント情報を検出した場合には、スプールされたデータ中のフォント情報をデスプーラ手段に通知し、デスプーラ手段は、スプールドライバ手段により通知されたフォント情報を前記判定された印刷モードに対応する印刷データ生成手段に登録し、判定された印刷モードに対応する印刷データ生成手段の各々は、デスプーラ手段によりページごとに供給されるデータと、デスプーラ手段に登録されたフォント情報とを用いて印刷データを生成することを特徴とする情報処理装置に存在する。
【0044】
また、本発明の別の要旨は、基本ソフトから渡されるデータを複数の印刷データ生成手段で処理可能な形式でスプールするスプールドライバ手段と、スプールされたデータに基づきページごとに印刷モードを判定する印刷モード判定手段と、複数の印刷データ生成手段のうち、判定手段により判定された印刷モードに対応する印刷データ生成手段に、スプールされたデータをページごとに供給するデスプーラ手段とを有する情報処理装置における情報処理方法において、スプールドライバ手段が、スプールされたデータ中のフォント情報から、情報処理装置に存在しないフォントのフォント情報を検出した場合には、情報処理装置に存在する予め定められたフォントのフォント情報をデスプーラ手段に通知し、スプールされたデータ中のフォント情報から、情報処理装置に存在するフォントのフォント情報を検出した場合には、スプールされたデータ中のフォント情報をデスプーラ手段に通知する通知工程と、デスプーラ手段が、スプールドライバ手段により通知されたフォント情報を前記判定された印刷モードに対応する印刷データ生成手段に登録する登録工程と、判定された印刷モードに対応する印刷データ生成手段の各々が、デスプーラ手段によりページごとに供給されるデータと、デスプーラ手段に登録されたフォント情報とを用いて印刷データを生成する生成工程とを有することを特徴とする情報処理方法に存在する。
【0045】
また、本発明の別の要旨は、情報処理装置であって、アプリケーションからのデータに基づきプリンタで処理する印刷データを作成する複数の印刷データ作成手段と、アプリケーションからのデータを解析し、当該解析の結果に基づいて、データをページごとに複数の印刷データ作成手段の1つに供給する供給手段と、アプリケーションからのデータにより指定されているフォントが情報処理装置に存在すれば、指定されているフォントを論理フォントとして、データの供給先である印刷データ作成手段に登録し、アプリケーションからのデータにより指定されているフォントが情報処理装置に存在しなければ、情報処理装置に存在する予め定められたフォントを論理フォントとしてデータの供給先である印刷データ作成手段に登録する登録手段とを有し、データの供給先である印刷データ生成手段の各々は、供給手段により供給されたデータと、登録手段により登録された論理フォントとを用いて、印刷データを生成することを特徴とする情報処理装置に存在する。
【0046】
また、本発明の別の要旨は、アプリケーションからのデータに基づきプリンタで処理する印刷データを作成する複数の印刷データ作成手段を利用する情報処理装置における情報処理方法であって、供給手段が、アプリケーションからのデータを解析し、当該解析の結果に基づいて、データをページごとに複数の印刷データ作成手段の1つに供給する供給工程と、登録手段が、アプリケーションからのデータにより指定されているフォントが情報処理装置に存在すれば、指定されているフォントを論理フォントとして、データの供給先である印刷データ作成手段に登録し、アプリケーションからのデータにより指定されているフォントが情報処理装置に存在しなければ、情報処理装置に存在する予め定められたフォントを論理フォントとしてデータの供給先である印刷データ作成手段に登録する登録工程と、データの供給先である印刷データ生成手段の各々が、供給手段により供給されたデータと、登録手段により登録された論理フォントとを用いて、印刷データを生成する生成工程とを有することを特徴とする情報処理方法に存在する。
【0047】
また、本発明の別の要旨は、コンピュータを、アプリケーションからのデータに基づきプリンタで処理する印刷データを作成する複数の印刷データ作成手段と、アプリケーションからのデータを解析し、当該解析の結果に基づいて、データをページごとに複数の印刷データ作成手段の1つに供給する供給手段と、アプリケーションからのデータにより指定されているフォントがコンピュータに存在すれば、指定されているフォントを論理フォントとして、データの供給先である印刷データ作成手段に登録し、アプリケーションからのデータにより指定されているフォントがコンピュータに存在しなければ、コンピュータに存在する予め定められたフォントを論理フォントとしてデータの供給先である印刷データ作成手段に登録する登録手段として機能させるためのプリンタドライバプログラムであって、データの供給先である印刷データ生成手段の各々は、供給手段により供給されたデータと、登録手段により登録された論理フォントとを用いて、印刷データを生成することを特徴とするプリンタドライバプログラムに存在する。
【0048】
【発明の実施の形態】
以下、図面を参照して本発明をその好適な実施形態に基づき説明する。
図5は、本発明に係るプリンタドライバを適用可能なプリントシステムの構成例を示すブロック図である。上述の通り、図5のプリンタシステムはホストコンピュータ200及びプリンタ100から構成され、両者は互いに通信可能に接続されている。
【0049】
本実施形態に係るプリンタドライバ260は、基本ソフトが提供する、各印刷装置製造ベンダが開発可能なサブシステムであるグラフィクスサブシステム202とスプールサブシステム210にまたがって形成され、以下のような印刷モード自動切り替えのための要素を有している。
○グラフィクスサブシステム202内:
スプールドライバ211
印刷モード判定部212
○スプールサブシステム210内:
デスプーラ215
印刷データ生成部205〜208
【0050】
次に、本発明の背景となる印刷モード自動切り替えを実現するために必要なそれぞれの手段について説明していく。
1)スプールドライバ211
印刷モード自動切り替えを実現するためには、1ページ分の描画情報を知った上で、最適な処理モードを決定し、その後デスプール処理を実行する必要がある。そのためには、DDI関数に渡されるデータをデスプール時にどの印刷データ生成部が用いられても処理可能なデータ形式で1ページ分以上、かつページ単位でスプールしなくてはならない。
【0051】
そこで、本実施形態においては、スプール時のデータ形式として、図7に示す形式(PDF形式と呼ぶ)を用いた。PDF形式のスプールデータ900は、ページを特定するためのpageID(901)に続いて、ページのサイズや、データサイズ、格納したオブジェクト数等を保持するPageInfor(902)をヘッダとして持つ。
【0052】
そして、ヘッダに続くフィールド903には、DDI関数でコールされた描画関数を示す情報が格納される。図7では単純ビットマップコピーを行う描画関数CopyBitsの名前が格納されている。
【0053】
また、datasize(904)は903に格納されたCopyBitsのスプールにかかったサイズ、BoundRect(905)はCopyBitsに渡される描画先のサーフェイス情報を示す転送先のサーフェイス情報を、SoSrc(906)はCopyBitsに渡される転送元サーフェイス情報を示す転送元イメージ情報をそれぞれ格納する。
【0054】
転送元イメージデータ907は転送元イメージデータのビット列である。co(908)はCopyBitsに渡される描画先のクリップ情報を格納。またクリップデータが複数個存在する場合は、その後ろにクリップデータ909を格納する。xlo(910)は転送元と転送先のサーフェイス間の色変換情報を、rclDest(911)描画先のサーフェイス上の矩形範囲を示す情報を、ptlSrc(913)は転送元サーフェイス上の転送元原点情報をそれぞれ格納する。
【0055】
以降、描画関数毎に必要なデータがのスプールが1ページ分格納される。
デスプール時には、デスプーラ215が、DDI関数の状態に戻してから印刷モード判定手段で判定された印刷データ生成部に受け渡しする。それによって、印刷データ生成部は従来通りDDI関数を受け取り印刷データを生成する仕様のままでよい。
【0056】
2)印刷モード判定部212
印刷モード判定部212は、スプールドライバ211がPDF記憶部213にスプールする、GDI(203)から受け渡された描画命令(描画関数)をチェックし、1ページ分のデータ内容から複数の印刷データ生成部のうち最適なものを判定する。
【0057】
具体的には、この判定は、スプールドライバ211がPDF記憶部213にスプールするデータを監視し、1ページ分のデータ内に含まれる描画関数の種類及び頻度等の判定用情報を格納し、その結果に基づいてなされる。
【0058】
本実施形態において、印刷モード判定部212は判定用情報をPCF(プレチェックファイル)記憶部214に格納する。この際、図8に示すようなデータ構造体として格納を行う。
【0059】
図8において、PCF1000は、そのファイルが属するジョブナンバー(JobID)1001、ページナンバー(PageNo)1002で始まる構造体で、この二つの値により、対応するページを特定可能である。
【0060】
そして、ページをY軸方向に分割したバンドの大きさを表すVbandSize(1004)、PCF1000に格納されるバンド情報BandInfoの数を格納するbandCnt(1005)に続き、各バンド内の判定用情報を格納するBandinfo[0](1006)〜BandInfo[n]が格納される。各BandInfoは構造体1030で示すような構成を有している。すなわち、PCF1000は、VbandSize(1004)に示されたサイズの仮想バンドが、pageSize(1003)の中に、bandCnt(1005)分敷きつめられた領域を仮想的に定義したものである。
【0061】
BandInfoは、その仮想バンドの領域を矩形情報で保持するBandRectL(1010)で始まる構造体であるが、この構造体1030は、BandRectL(1010)で表されるの領域内に関連する描画処理情報を記録するために用いられる。
構造体1030の詳細は以下のとおりである。
【0062】
仮想バンド内に描かれる描画処理の最大外接矩形領域DrawRectL1011、バンド内に描かれる描画領域の中の有彩色領域ColorRectL1012、YMCK印字では不正印字が発生する領域ROPRectL1013、イメージ系関数による描画処理領域ImgRectL1014、グラフィックス系関数による描画領域GraphicRectL1014、文字系描画領域TextRectL1016。
BandInfo構造体1030は、これら以外に、DDI関数毎の情報もフィールド1017〜1020に収集する。
【0063】
ビットマップの拡縮指定可能なDDI関数であるStretchBlt(1019)の情報を例に説明する。StretchBlt(1019)は、複数のフィールド10191〜10196から構成される。すなわち、当該仮想バンド領域内に関係するStretchBlt関数のコール回数を格納するcallcnt10191、1BPP(1bit per pixel)イメージの個数を格納する1BPPCnt10192、1BPPイメージの総データサイズを格納する1BPPTotalSize10193をはじめ、4BPP、24BPPイメージについても同様な情報を格納可能である。その他のDDI関数についても、StretchBlt関数と同様、それぞれの関数I/Fに渡される情報を保持するようなデータ構造体で構成される。
【0064】
3)デスプーラ215
図6に示す各印刷データ生成部の特徴をふまえて、印刷モード判定部212がPCF記憶部214格納したPCFを解析し、最適と考えられる印刷モードを決定する。そして、決定した印刷モードに対応する各印刷データ生成部205〜207を用いて、ページ記述記憶手段213の内容を印刷再生していく。具体的には、命令絶対数が少ない場合にはPDLモード(第1の印刷データ生成部205)を、命令数が多いモノクロ画像であればモノクロイメージモード(第2の印刷データ生成部206)を、命令数が多くカラー画像であればデバイスカラーモード(第3の印刷データ生成部207)を、命令数が多く、かつYMCK形式では描画不正が発生する場合であればRGBカラーモード(第4の印刷データ生成部208)を選択する等が可能である。
【0065】
スプールドライバ211がPDF記憶部213にスプールしたデータは、DDI関数に可逆なPDF形式を有するため、デスプーラ215は図9に示した従来の印刷データ生成部と同一の印刷データ生成部205〜208を利用することが出来る。
【0066】
次に、本実施形態に係るプリンタドライバ260におけるフォント置き換え処理について図1を用いて説明する。以下の説明においても、図3を用いて説明した従来例と同様、このプリンタドライバ260が動作するホストコンピュータ200に存在しない"行書体A"という論理フォント属性を含む文書描画が含まれる文書の印刷を想定する。
【0067】
図1において、図3に示した従来の構成(及び動作)と異なるのは、デスプーラ215で印刷データ生成部205〜208に論理フォントを登録する前に、一旦スプールドライバ211に論理フォント"行書体A"を登録し、スプールドライバ211での物理フォント("MP明朝"とする)を得て、その物理フォント"MP明朝"を各印刷データ生成部205〜207に渡す論理フォントとして登録する点である。
【0068】
すなわち、スプールドライバ211が有するフォント置き換え機能を利用し、予めホストコンピュータ200に存在する物理フォントを得、その物理フォントを印刷データ生成部に登録する論理フォントとして用いることにより、印刷データ生成部でのフォント置き換え処理が発生しなくなる。従って、ページ毎に使用する印刷データ生成部を変化させたとしても、印刷データ生成部が出力するフォントは共通の物理フォントとなる。
【0069】
図2に示すフローチャートを用いて、上述した本発明のプリンタドライバにおける全体処理について説明する。
まず、GDI(203)からDDI関数のコールを受けると、スプールドライバ211はその内容をPDF形式に変換し、PDF記憶部213にスプールする(ステップS100)。一方、印刷モード判定部212は、スプールドライバ211がPDF記憶部213にスプールするデータを監視し、PCFをPCF記憶部214に格納する(ステップS110)。PDFのスプール処理及びPCFの格納処理は少なくとも印刷対象書類の1ページ分の処理が終了するまで継続して行う(ステップS120)。
【0070】
1ページ分のPDF、PCFの格納が終了すると、デスプーラ215はPCF記憶部214に格納されたPCFを参照し、当該ページの印刷処理に最適な印刷モードを決定する(ステップS130)。次に、デスプーラ215は、PDF記憶部213にスプールされたデータ中に含まれる論理フォント属性("行書体A"とする)を取得し、スプールドライバ211に登録する(ステップS140)。
【0071】
スプールドライバ211にはフォント置き換え機能が設けられているため、スプールドライバ211は登録された論理フォントが物理フォントであるか(ホストコンピュータ200に存在するフォントか)を調べ、物理フォントであればデスプーラ215が登録した論理フォント属性をそのまま、物理フォントでなければ予め定められた物理フォント属性を、それぞれデスプーラ215へ通知する(ステップS150)。すなわち、この例においては、"行書体A"が物理フォントでないため、置き換えフォント("MP明朝"とする)の属性を通知する。
【0072】
デスプーラ215は、スプールドライバ211から受け取った物理フォント"MP明朝"属性より、各印刷データ生成部205〜208に登録する論理フォント属性"MP明朝"を作成し、デスプーラ215がステップS130で決定した最適な印刷モードに該当する印刷データ生成部に登録する(ステップS160)。
【0073】
そして、PDF記憶部213にスプールされたPDF形式のデータを、DDI関数の形に戻して、印刷データ生成部に引き渡す(ステップS170)。印刷データ生成部では、受け渡されたDDI関数及びステップS160で登録された論理フォントを用いて、PDLもしくはイメージデータである印刷データを生成する(ステップS180)。生成された印刷データは、イメージデータであればバンドメモリ209を介してバンド単位に、PDL命令であればバンドメモリ209を介さずに、それぞれスプールサブシステム210のインタフェース600を介してプリンタ100へ転送される。
【0074】
なお、第1の印刷データ生成部205は、プリンタにMP明朝のフォントが存在する場合、MP明朝を指定するコマンドと文字コードとを含むPDLをプリンタに送信する。プリンタにMP明朝のフォントが存在しない場合、ホストでMP明朝の文字パターンを生成し、プリンタに生成した文字パターンをダウンロードし、ダウンロードした文字パターンを指定するための文字コードを含むPDLをプリンタに送信する。また、プリンタに生成した文字パターンをダウンロードできない場合は、生成した文字パターンと印刷位置情報とを含むPDLをプリンタに送信する。
【0075】
また、第2から4の印刷データ生成部206から208は、ホストでMP明朝の文字パターンを生成し、生成した文字パターンを含む所定領域(バンド)単位のイメージデータをプリンタに送信する。
【0076】
なお、図2のフローチャートにおいては、理解を容易にするため、1ページ分の処理について時系列的に記載したが、ステップS100〜S120のスプール(格納)処理と、ステップS130以降の判定、印刷処理とは独立して行うことが可能である。すなわち、スプールドライバ211によるPDFデータのスプール及び印刷モード判定部212によるPCFデータの格納は、ステップS130以降の処理とは関係なく印刷対象文書全ページについての処理が終了するまで連続して行われ、一方ステップS130以降の処理は、1ページ分の処理が終了した時点で次ページに対応するPCFを参照し、印刷モード判定以降の処理を繰り返し行うことができる。
【0077】
【その他の実施形態】
上述の実施形態においては、プリンタドライバが動作する基本ソフトとして、MS-Windows(Microsoftの登録商標)を用いた場合を例にして説明した。そのため、当該基本ソフトが有するグラフィクスサブシステムの制限のためにスプールドライバ上でのフォント属性変更処理を行うことができず、デスプーラがフォント属性の変更処理を行っていた。しかしながら、スプールドライバがフォント属性の変更を行うことのできる環境で本発明によるプリンタドライバが動作する場合には、PDF形式でスプールする時点で当該環境に存在しないフォント属性を当該環境に存在する物理フォントへ変更することによっても同様の効果を実現することが可能である。
【0078】
この場合、図2のステップS100において、PDF形式でのスプール前にDDI関数中のフォント属性をチェックし、ホストコンピュータ200に存在しないフォント属性についてはホストコンピュータ200の物理フォントへ属性を変更した後にスプールを行うことになる。そして、図2におけるステップS140及びステップS150が不要となり、ステップS160で登録する論理フォントは、PDF形式からDDI関数に戻されたデータ中のフォント属性をそのまま用いて行えばよい。
【0079】
また、上述の実施形態においては、プリンタドライバが印刷データ生成部を有する構成の場合を示したが、本発明のプリンタドライバには印刷データ生成部が必須という訳ではない。すなわち、本発明の本質は複数の印刷データ生成部を切り替えて使用する際に、プリンタドライバが存在するホストコンピュータ上に存在しない論理フォントを印刷データ生成部に登録するのではなく、予めホストコンピュータ上に存在する物理フォントを論理フォントとして印刷データ生成部に登録することによって、印刷データ生成部が有するフォント置き換え機能を用いずに印刷処理を実現することにあり、使用する印刷データ生成部自体は発明の本質とは無関係である。
【0080】
なお、本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
【0081】
また、本発明の目的は、前述した実施形態の機能を実現するプリンタドライバと呼ばれるソフトウエアプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0082】
この場合、記憶媒体から読み出されたプログラムコード事態が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0083】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,CD-R,磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0084】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0085】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0086】
本発明を記憶媒体に適応する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0087】
【発明の効果】
以上説明したように本発明によれば、フォント置き換え機能を有する複数の印刷データ生成部をページ毎に切り替えて使用して印刷データを出力するプリンタドライバにおいて、フォント置き換えに用いる物理フォントを全印刷データ生成部で統一可能なプリンタドライバが実現できる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るプリンタドライバの構成概要及び論理フォント置き換え時の動作を説明する図である。
【図2】本発明のプリンタドライバの動作を説明するフローチャートである。
【図3】従来のプリンタドライバの構成概要及び論理フォント置き換え時の動作を説明する図である。
【図4】従来のデスプーラによる論理フォント置き換え処理を説明するフローチャートである。
【図5】本発明によるプリンタドライバを適用可能な印刷システムの構成例を示すブロック図である。
【図6】印刷モード毎の特徴を比較した図である。
【図7】本発明の実施形態において用いるPDF形式のデータ構造を示す模式図である。
【図8】本発明の実施形態において用いるPCF形式のデータ構造を示す模式図である。
【図9】従来の、印刷モード固定の印刷システムの構成例を示す図である。
【符号の説明】
100 プリンタ
200 ホストコンピュータ
201 アプリケーションソフトウェア
202 グラフィックサブシステム
203 GDI
260 プリンタドライバ
205 第1の印刷データ生成部(PDLタイプ)
206 第1の印刷データ生成部(モノクロ1BPPイメージタイプ)
207 第1の印刷データ生成部(YMCK4BPPイメージタイプ)
208 第1の印刷データ生成部(RGB24BPPイメージタイプ)
209 バンドメモリ
210 スプールサブシステム
211 スプールドライバ
212 印刷モード判断部
213 PDF記憶部
214 PCF記憶部
215 デスプーラ
300 ディスプレイモニタ
400 キーボード
500 マウス
600 外部インターフェース[0001]
BACKGROUND OF THE INVENTION
The present invention generates print data for an image forming apparatus such as a printer in accordance with a print instruction such as application software. Information processing apparatus, information processing method, and Printer driver program About.
[0002]
[Prior art]
FIG. 9 is a diagram illustrating an example of a conventional printing system including a printer as an image forming apparatus and a host computer as an information processing apparatus that controls the printer.
[0003]
As shown in the drawing, the host computer 200 is connected to the
[0004]
In the host computer 200, application software 201 (hereinafter referred to as an application) that can use the
[0005]
For example, when the basic software is Windows, this graphic subsystem is called GDI (Graphic Device Interface) 203 and controls drawing processing for a display and a printer. This GDI (203) dynamically links a module called a device driver corresponding to an output device designated by an application in order to absorb the dependency for each device such as a display and a printer, and outputs to each device. Process.
[0006]
A device driver for a printer is called a printer driver. The
[0007]
That is, in the example of FIG. 9, when there is a print instruction (API (Application Programming Interface) call to GDI (203)) from the application, the GDI (203) dynamically links the
[0008]
The
[0009]
The print data format output to the
[0010]
In FIG. 9, a print data generation unit (205-208) outputs a PDL (hereinafter referred to as PDL type) first print
[0011]
The first print
[0012]
When a PDL type print data generation unit is used, data with high abstraction can be received from the GDI (203) and sent out in the format of a PDL command. Therefore, the size of print data to be transferred can be reduced in normal page printing. It is.
[0013]
On the other hand, the image type print data generation unit (206 to 208) expands the print image in the memory space secured by the host computer 200 by the
[0014]
Specifically, as with the PDL type print data generation unit, the
[0015]
When an image type print data generation unit is used, it is necessary to perform drawing processing in the host computer 200, and when a PDL type print data generation unit is used, it is necessary to perform drawing processing. In order to perform the drawing process, it is necessary to secure a memory space, but the memory space required to perform the drawing process for 600 DPI (dot per inch), A4 full page with 8 bits for each RGB color requires 96 Mbytes, At present, it is difficult to secure either the host computer 200 or the
[0016]
Therefore, in general, drawing processing of a color printer, in which the amount of data is particularly large, is performed in a band unit obtained by dividing one page into a plurality of horizontal directions, and a memory used for this drawing processing is called a band memory.
[0017]
The data format finally transferred to the
[0018]
For example, when printing a polygonal figure, the PDL type print data generation unit transfers the vertex coordinates and line width of the polygon, line color information, paint color information in the figure, and the like as commands. This command is analyzed, and drawing processing is performed using 1-band memory space for 1-bit, 2-bit, or 4-bit data of each color of YMCK provided in the printer, and developed into bitmap data in an output form .
[0019]
When a PDL type print data generation unit is used, the data transferred to the printer is a PDL command and generally has a smaller size than the data generated by the image type print data generation unit. However, the number of PDL commands per page is not limited, and theoretically, there is a possibility that the transfer data is larger than that of the image type print data generation unit. Also, when a PDL type print data generation unit is used, it is necessary to perform drawing processing on the printer side. However, even when drawing processing for a band memory, all PDL commands for one page must be received. The drawing process cannot be started. In recent years, the number of print commands output by applications has been steadily increasing, and the number of PDL commands constituting one page has also increased. This has been a cause of a decrease in processing speed in printers with a small memory capacity.
[0020]
In such a case, the
[0021]
As described above, the print data generation unit performs drawing processing on the output device-dependent color space of 1, 2, and 4 bits for each color of YMCK in order to save memory for both the PDL type and the image type. ) Calls the DDI function group during the logical operation drawing process, the color format used is not the YMCK format but the RGB format, and thus drawing fraud may occur. For this reason, when logical operation processing occurs in order to avoid drawing fraud, the data converted into the YMCK format in the
[0022]
As described above, the time required for the entire printing process varies depending on many factors such as the content to be printed, the type of print data generation unit used in the
[0023]
However, a method for automatically selecting an appropriate processing method in consideration of such factors has not been realized at present. Therefore, the user of the application normally selects a PDL type print data generation unit that is likely to be processed at high speed (actually, the “speed priority” is set by the GUI provided by the application or the
[0024]
In other words, at present, the selection of the print data generation unit used by the
[0025]
In order to solve such a problem, as shown in FIG. 6, according to the advantages and disadvantages of each print data generation unit that can be used by the
[0026]
A printer driver that can realize automatic print mode switching requires at least the following functions.
1) Spool driver function
In order to realize the automatic switching of the print mode, it is necessary to know the drawing information for one page, determine the optimum processing mode, and then execute the despooling process. Therefore, a function of spooling DDI function call information for one page in a data format that can be processed by any print data generation unit held by the despooler.
[0027]
2) Print mode determination function
A function that checks the DDI function call for one page and determines which print data generation unit held by the despooler generates print data is optimal.
3) Despooler function
A function of processing drawing information for one page spooled by the spool driver function using an optimum print data generation unit determined by the print mode determination function.
[0028]
FIG. 5 shows a configuration example of the host computer 200 having a printer driver having such a function. In FIG. 5, the
[0029]
[Problems to be solved by the invention]
By using the printer driver 260 having the configuration shown in FIG. 5, a plurality of print data generation units can be automatically switched to perform print processing. However, a plurality of print data generation units can be switched to perform one print process. When this is performed, a new problem occurs regarding character drawing.
[0030]
That is, the character drawing command in the printing process is mainly
1. String information
The character code of the document that the character drawing is trying to express
2. Font attributes
Character glyph information represented by a bit pattern or path corresponding to the character code
3. Drawing information
Character drawing start position, position information such as character width, character color
Of these, the font attribute may not be able to be taken out of the host due to copyright or the like.
[0031]
For this reason, when the environment in which the document is created is different from the environment in which printing is performed, it is necessary to perform a character drawing process including font attributes that do not exist in the host computer that performs the printing operation.
[0032]
As a solution in such a case, each print data generation unit including the
[0033]
As described above, the font replacement process is a function provided for each print data generation unit, and the print data generation unit performs a font replacement process optimal for each process. For example, a printer is incorporated for speeding up. Depending on the specifications of the print mode, such as preferential replacement with the current font, the physical font may differ depending on each print data generation unit. Therefore, the following problems exist.
[0034]
1. Since the print data generation unit is automatically switched for each page, there is a possibility that the page is replaced with a different physical font for each page. In such a case, there is a possibility that the print result may be uncomfortable.
2. The character glyph range information in the spool driver and the physical font replaced by each print data generator for the character-related additional drawing such as underline and frame line that the application determines by acquiring the character range from the printer driver. The character glyph range information does not match, and there is a possibility that drawing consistency with the character-related additional drawing cannot be taken.
[0035]
In the printer driver 260 shown in FIG. 5, an outline of the operation when the physical font used for replacement is different for each print data generation unit will be described with reference to the block diagram shown in FIG.
As an example, it is assumed that a document including a document drawing including the logical font attribute “line font A” is printed. It is assumed that the font “line typeface A” does not exist in the host computer 200 on which the
[0036]
When an application instructs printing of a document or the like using “line font A”, the logical font information “line font A” is spooled in the
The print
[0037]
The
[0038]
In this case, conventionally, as shown in the flowchart of FIG. 4, the
[0039]
Therefore, as shown in FIG. 3, a physical font is set according to a rule for each print data generation unit, and for example, “line typeface A” included in a page using the first print
[0040]
The present invention has been made in view of the above-described problems of the prior art, and an object of the present invention is to provide a printer driver that outputs print data by using a plurality of print data generation units having a font replacement function for each page. It is an object of the present invention to provide a printer driver capable of unifying physical fonts used for font replacement in all print data generation units.
[0041]
[Means for Solving the Problems]
That is, the gist of the present invention is to provide a plurality of print data generation means that can generate print data that can be printed by a printing apparatus in a one-to-one correspondence with a print mode, and a plurality of processing means that receive drawing commands passed from the basic software. Spool driver means for converting data into a format that can be processed by the printer, print mode determination means for analyzing drawing commands and generating print mode determination information, storage means for holding data generated by the spool driver means, and printing A print mode determination storage unit that holds the print mode determination information generated by the mode determination unit, and a print mode using the print mode determination information. Per page Decide Corresponds to the determined print mode among the plurality of print data generation means The data generated by the spool driver means is sent to the print data generation means. Per page Supplying despooler means and Have In the information processing apparatus, The spool driver means notifies the despooler means of the designated font if the font designated by the data stored in the storage means exists in the information processing apparatus, and the designated font is sent to the information processing apparatus. If not, notify the despooler means of a predetermined font existing in the information processing device, Despooler means Is , The font notified by the spool driver means is registered as a logical font in the print data generating means corresponding to the determined print mode, and each of the print data generating means corresponding to the determined print mode is set for each page by the despooler means. Print data using the data supplied to the printer and the logical font registered by the despooler It exists in the information processing apparatus characterized by doing.
[0042]
Another gist of the present invention is an information processing apparatus that generates and outputs print data in a format that can be printed by a printing apparatus based on a drawing command delivered from the basic software. A plurality of print data generation means for generating print data in a format, and a printing apparatus page Drawing commands corresponding to the unit Based on Multiple print data generation means
[0043]
Another aspect of the present invention is that spool data is spooled in a format that can be processed by a plurality of print data generation means. The Based on data Per page Print mode determination means for determining the print mode; Among a plurality of print data generation means, The print data generation unit corresponding to the print mode determined by the determination unit , Spooled data Per page Supplying despooler means and Have In the information processing apparatus, Spool driver means Is From the font information in the spooled data. In place not exist Font When font information is detected In Information processing equipment Exist Exist Of predefined fonts Font information When the font information of the font existing in the information processing apparatus is detected from the font information in the spooled data, the font information in the spooled data is notified to the despooler means. Means notified by spool driver means Font information Before Record Corresponds to the determined print mode Print data generation means Each of the print data generation means corresponding to the determined print mode generates print data using the data supplied for each page by the despooler means and the font information registered in the despooler means. It exists in the information processing apparatus characterized by doing.
[0044]
Another aspect of the present invention is that spool data is spooled in a format that can be processed by a plurality of print data generation means. The Based on data Per page Print mode determination means for determining the print mode; Among a plurality of print data generation means, The print data generation unit corresponding to the print mode determined by the determination unit , Spooled data Per page Supplying despooler means and Have In an information processing method in an information processing apparatus, Spool driver Means for processing information from the font information in the spooled data. In place not exist Font When font information is detected In Information processing equipment Exist Exist Of predefined fonts Font information Is notified to the despooler means, and when the font information of the font existing in the information processing apparatus is detected from the font information in the spooled data, the notice information for notifying the despooler means of the font information in the spooled data. And the despooler means is notified by the spool driver means. Font information Before Record Corresponds to the determined print mode Print data generation means Each of the print data generation means corresponding to the determined print mode, using the data supplied for each page by the despooler means and the font information registered in the despooler means. Generation process to generate It exists in the information processing method characterized by doing.
[0045]
Another gist of the present invention is as follows. An information processing apparatus, A plurality of print data creation means for creating print data to be processed by the printer based on data from the application; Analyzing the data from the application, and supplying the data supplied to one of a plurality of print data creation means for each page based on the result of the analysis, and the font specified by the data from the application is processed If it exists in the device, the specified font is registered as a logical font in the print data creation means that is the data supply destination, and if the font specified by the data from the application does not exist in the information processing device, A predetermined font existing in the information processing apparatus is used as a logical font for the print data creation means that is the data supply destination. Registration means to register, Each of the print data generation means that is the data supply destination includes data supplied by the supply means, Registered by registration means logic font When Using ,mark It exists in an information processing apparatus characterized by generating printing data.
[0046]
Another aspect of the present invention uses a plurality of print data creation means for creating print data to be processed by a printer based on data from an application. In information processing equipment An information processing method, The supply means analyzes the data from the application, and supplies the data to one of a plurality of print data creation means for each page based on the result of the analysis, and the registration means uses the data from the application. If the specified font exists in the information processing device, the specified font is registered as a logical font in the print data creation means that is the data supply destination, and the font specified by the data from the application is the information If it does not exist in the processing device, a predetermined font existing in the information processing device is used as a logical font to the print data creation means that is the data supply destination. Register to register Each of the process and the print data generation means to which the data is supplied are supplied by the supply means; Registered by registration means logic font When Using ,mark Generate print data Generating process It exists in the information processing method characterized by this.
[0047]
Another gist of the present invention is a plurality of print data creation means for creating print data to be processed by a printer based on data from an application, Analyzing data from the application and supplying the data to one of a plurality of print data creation means for each page based on the result of the analysis, and the font specified by the data from the application to the computer If it exists, the specified font is registered as a logical font in the print data creation means that is the data supply destination. If the font specified by the data from the application does not exist in the computer, it exists in the computer. The print data creation means, which is the data supply destination, uses a predetermined font as a logical font. A printer driver program for functioning as a registration means for registration, Each of the print data generation means that is the data supply destination includes data supplied by the supply means, Registered by registration means logic font When Using ,mark It exists in a printer driver program characterized by generating printing data.
[0048]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described based on its preferred embodiments with reference to the drawings.
FIG. 5 is a block diagram illustrating a configuration example of a print system to which the printer driver according to the present invention can be applied. As described above, the printer system of FIG. 5 includes the host computer 200 and the
[0049]
The printer driver 260 according to the present embodiment is formed across the
In the graphics subsystem 202:
Print
○ In the spool subsystem 210:
Print data generation unit 205-208
[0050]
Next, each means necessary for realizing automatic print mode switching as the background of the present invention will be described.
1)
In order to realize automatic print mode switching, it is necessary to know the drawing information for one page, determine the optimum processing mode, and then execute despooling. For this purpose, the data passed to the DDI function must be spooled in one page or more in a data format that can be processed regardless of which print data generation unit is used when despooling.
[0051]
Therefore, in this embodiment, the format shown in FIG. 7 (referred to as PDF format) is used as the data format at the time of spooling.
[0052]
A
[0053]
Also, datasize (904) is the size of the copy bit stored in 903, BoundRect (905) is the transfer destination surface information indicating the drawing destination surface information passed to CopyBits, and SoSrc (906) is the copy bit. Transfer source image information indicating transfer source surface information to be transferred is stored.
[0054]
The transfer
[0055]
Thereafter, one page of spools of data necessary for each drawing function is stored.
At the time of despooling, the
[0056]
2) Print
The print
[0057]
Specifically, this determination is performed by monitoring data spooled in the
[0058]
In the present embodiment, the print
[0059]
In FIG. 8, the
[0060]
Then, following the VbandSize (1004) representing the size of the band obtained by dividing the page in the Y-axis direction and the bandCnt (1005) storing the number of band information BandInfo stored in the
[0061]
BandInfo is a structure starting with BandRectL (1010) that holds the area of the virtual band as rectangle information. Used for recording.
Details of the
[0062]
The maximum circumscribed rectangular area DrawRectL1011 of the drawing process drawn in the virtual band, the chromatic color area ColorRectL1012 in the drawing area drawn in the band, the area ROPRectL1013 in which illegal printing occurs in YMCK printing, the drawing processing area ImgRectL1014 by the image system function, A drawing area GraphicRectL1014 by a graphics function and a character drawing area TextRectL1016.
In addition to these, the
[0063]
Description will be made by taking as an example the information of StretchBlt (1019), which is a DDI function that can specify bitmap scaling. StretchBlt (1019) includes a plurality of
[0064]
3)
Based on the features of each print data generation unit shown in FIG. 6, the print
[0065]
Since the data spooled in the
[0066]
Next, font replacement processing in the printer driver 260 according to the present embodiment will be described with reference to FIG. Also in the following description, as in the conventional example described with reference to FIG. 3, printing of a document including a document drawing including a logical font attribute “line font A” that does not exist in the host computer 200 in which the printer driver 260 operates is included. Is assumed.
[0067]
1 is different from the conventional configuration (and operation) shown in FIG. 3 in that a logical font “line font” is temporarily stored in the
[0068]
That is, by using the font replacement function of the
[0069]
The overall processing in the above-described printer driver of the present invention will be described using the flowchart shown in FIG.
First, when a DDI function call is received from the GDI (203), the
[0070]
When the storage of PDF and PCF for one page is completed, the
[0071]
Since the
[0072]
The
[0073]
Then, the PDF data spooled in the
[0074]
The first print
[0075]
The second to fourth print
[0076]
In the flowchart of FIG. 2, the processing for one page is described in time series for easy understanding. However, the spool (storage) processing in steps S100 to S120, the determination after step S130, and the printing processing. Can be performed independently. That is, the spooling of PDF data by the
[0077]
[Other Embodiments]
In the above-described embodiment, the case where MS-Windows (registered trademark of Microsoft) is used as basic software for operating the printer driver has been described. For this reason, the font attribute change process cannot be performed on the spool driver due to the limitation of the graphics subsystem of the basic software, and the despooler performs the font attribute change process. However, when the printer driver according to the present invention operates in an environment in which the spool driver can change the font attribute, a font attribute that does not exist in the environment at the time of spooling in the PDF format is a physical font that exists in the environment. It is possible to achieve the same effect by changing to (1).
[0078]
In this case, in step S100 of FIG. 2, the font attribute in the DDI function is checked before spooling in the PDF format, and the font attribute that does not exist in the host computer 200 is changed to the physical font of the host computer 200 and then spooled. Will do. Then, step S140 and step S150 in FIG. 2 are not necessary, and the logical font registered in step S160 may be performed using the font attribute in the data returned from the PDF format to the DDI function as it is.
[0079]
In the above embodiment, the printer driver has a print data generation unit. However, the print data generation unit is not essential for the printer driver of the present invention. That is, the essence of the present invention is that when a plurality of print data generation units are switched and used, a logical font that does not exist on the host computer in which the printer driver exists is not registered in the print data generation unit, but in advance on the host computer. Is registered in the print data generation unit as a logical font, thereby realizing a print process without using the font replacement function of the print data generation unit, and the print data generation unit itself used is an invention. It has nothing to do with the nature of
[0080]
Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) consisting of a single device even when applied to a system composed of a plurality of devices (for example, a host computer, interface device, reader, printer, etc.). It may be applied.
[0081]
Another object of the present invention is to supply a storage medium that records software program codes called a printer driver that implements the functions of the above-described embodiments to a system or apparatus, and the computer of the system or apparatus (or CPU or MPU). Needless to say, this is also achieved by reading and executing the program code stored in the storage medium.
[0082]
In this case, the program code situation read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
[0083]
As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0084]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0085]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0086]
When the present invention is applied to a storage medium, program code corresponding to the flowchart described above is stored in the storage medium.
[0087]
【The invention's effect】
As described above, according to the present invention, in a printer driver that outputs print data by switching a plurality of print data generation units having a font replacement function for each page, the physical font used for font replacement is all print data. A printer driver that can be unified by the generation unit can be realized.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating an outline of a configuration of a printer driver according to an embodiment of the present invention and an operation when replacing a logical font.
FIG. 2 is a flowchart illustrating the operation of a printer driver according to the present invention.
FIG. 3 is a diagram illustrating an outline of a configuration of a conventional printer driver and an operation at the time of logical font replacement.
FIG. 4 is a flowchart for explaining logical font replacement processing by a conventional despooler.
FIG. 5 is a block diagram illustrating a configuration example of a printing system to which a printer driver according to the present invention can be applied.
FIG. 6 is a diagram comparing features for each print mode.
FIG. 7 is a schematic diagram showing a data structure in PDF format used in the embodiment of the present invention.
FIG. 8 is a schematic diagram showing a PCF format data structure used in the embodiment of the present invention.
FIG. 9 is a diagram illustrating a configuration example of a conventional printing system with a fixed printing mode.
[Explanation of symbols]
100 printer
200 Host computer
201 Application software
202 Graphics subsystem
203 GDI
260 Printer driver
205 First print data generation unit (PDL type)
206 First print data generator (monochrome 1BPP image type)
207 First print data generator (YMCK4BPP image type)
208 1st print data generation part (RGB24BPP image type)
209 band memory
210 Spool subsystem
211 Spool driver
212 Print mode determination unit
213 PDF storage unit
214 PCF storage
215 Despooler
300 Display monitor
400 keyboard
500 mice
600 External interface
Claims (16)
基本ソフトウェアより渡される描画命令を前記複数の処理手段で処理可能な形式のデータに変換するスプールドライバ手段と、
前記描画命令を分析し、印刷モード判定情報を生成する印刷モード判定手段と、
前記スプールドライバ手段によって生成されたデータを保持する記憶手段と、
前記印刷モード判定手段によって生成された印刷モード判定情報を保持する印刷モード判定記憶手段と、
前記印刷モード判定情報を用いて印刷モードをページごとに決定し、前記複数の印刷データ生成手段のうち、前記決定された印刷モードに対応する印刷データ生成手段に前記スプールドライバ手段によって生成されたデータをページごとに供給するデスプーラ手段とを有する情報処理装置において、
前記スプールドライバ手段は、前記記憶手段に記憶されたデータにより指定されているフォントが前記情報処理装置に存在する場合には記指定されているフォントを前記デスプーラ手段に通知し、前記指定されているフォントが前記情報処理装置に存在しない場合には前記情報処理装置に存在する予め定められたフォントをデスプーラ手段に通知し、
前記デスプーラ手段は、前記スプールドライバ手段により通知されたフォントを、前記決定された印刷モードに対応する前記印刷データ生成手段に論理フォントとして登録し、
前記決定された印刷モードに対応する印刷データ生成手段の各々は、前記デスプーラ手段によりページごとに供給されるデータと前記デスプーラ手段により登録された前記論理フォントを用いて、前記印刷データを生成することを特徴とする情報処理装置。A plurality of print data generation means that can generate print data that can be printed by the printing apparatus in a one-to-one correspondence with the print mode;
Spool driver means for converting a drawing command passed from basic software into data in a format that can be processed by the plurality of processing means;
Print mode determination means for analyzing the drawing command and generating print mode determination information;
Storage means for holding data generated by the spool driver means;
Print mode determination storage means for holding the print mode determination information generated by the print mode determination means;
The print mode determination information is used to determine a print mode for each page, and the data generated by the spool driver unit in the print data generation unit corresponding to the determined print mode among the plurality of print data generation units. In an information processing apparatus having despooler means for supplying the page by page ,
The spool driver means notifies the despooler means of the designated font when the font designated by the data stored in the storage means exists in the information processing apparatus, and the designated spooler means When a font does not exist in the information processing apparatus, a predetermined font present in the information processing apparatus is notified to the despooler means,
The despooler means registers the notified font by said spool drive means, as a logical font to the print data generating means corresponding to the print mode the determined,
Each of the print data generation means corresponding to the determined print mode generates the print data using the data supplied for each page by the despooler means and the logical font registered by the despooler means. An information processing apparatus characterized by the above.
描画命令から、互いに異なるデータ形式の印刷データを生成する複数の印刷データ生成手段と、
前記印刷装置におけるページ単位に対応する描画命令群に基づき、前記複数の印刷データ生成手段のうち1つを前記ページ単位で選択する選択手段と、
前記描画命令群に含まれるフォント属性から、前記情報処理装置に存在するフォントのフォント属性が検出された場合には、前記描画命令群に含まれるフォント属性を通知し、前記情報処理装置に存在しないフォントのフォント属性が検出された場合には、前記情報処理装置に存在する予め定められたフォントのフォント属性を通知する置き換えフォント決定手段と、
前記選択手段が選択した印刷データ生成手段に対し、供給された描画命令群中に前記情報処理装置に存在しないフォントのフォント属性が検出された場合には、前記置き換えフォント決定手段により通知されたフォント属性に対応する、前記情報処理装置に存在する予め定められたフォントを用いて印刷データ生成処理を行うよう指示する指示手段と、
前記ページ単位に対応する描画命令群を前記選択手段が選択した印刷データ生成手段に供給する供給手段とを有することを特徴とする情報処理装置。An information processing apparatus that generates and outputs print data in a format printable by a printing apparatus based on a drawing command delivered from basic software,
A plurality of print data generation means for generating print data in different data formats from the drawing command;
Selecting means for, based on the drawing commands corresponding to the page unit, selects one Chi caries said plurality of print data generation means by the page unit in the printing apparatus,
Wherein the font property included in the drawing instruction group, in the case where the font font attributes that exist in the information processing apparatus is detected, and notifies the font attributes included in the drawing command group, present in the information processing equipment If the font font attributes that do not is detected, and the replacement font determining means notifies the font font attributes of the predetermined existing in the information processing apparatus,
To print data generating means selected by the selecting unit, if the font font attributes that do not exist in the information processing equipment in the supplied drawing commands is detected, notified by the replacement font determining means Instruction means for instructing to perform print data generation processing using a predetermined font existing in the information processing apparatus corresponding to the font attribute ;
The information processing apparatus characterized by comprising a supply means for supplying the drawing commands corresponding to the page unit in the print data generating means selected by the selecting unit.
前記スプールされたデータに基づきページごとに印刷モードを判定する印刷モード判定手段と、
前記複数の印刷データ生成手段のうち、前記判定手段により判定された印刷モードに対応する印刷データ生成手段に、前記スプールされたデータをページごとに供給するデスプーラ手段とを有する情報処理装置において、
前記スプールドライバ手段は、前記スプールされたデータ中のフォント情報から、前記情報処理装置に存在しないフォントのフォント情報を検出した場合には、前記情報処理装置に存在する予め定められたフォントのフォント情報を前記デスプーラ手段に通知し、前記スプールされたデータ中のフォント情報から、前記情報処理装置に存在するフォントのフォント情報を検出した場合には、前記スプールされたデータ中のフォント情報をデスプーラ手段に通知し、
前記デスプーラ手段は、前記スプールドライバ手段により通知されたフォント情報を前記判定された印刷モードに対応する印刷データ生成手段に登録し、
前記判定された印刷モードに対応する印刷データ生成手段の各々は、前記デスプーラ手段によりページごとに供給されるデータと、前記デスプーラ手段に登録されたフォント情報とを用いて印刷データを生成することを特徴とする情報処理装置。Spool driver means for spooling data passed from the basic software in a format that can be processed by a plurality of print data generation means;
A print mode determining means for determining a print mode for each page based on the spooled data,
Among the plurality of print data generation unit, the print data generating unit corresponding to the print mode determined by the determining means, in an information processing apparatus and a despooler means for supplying the spooled data for each page,
The spool drive means, from the font information in the spooled data, when detecting a font font information that does not exist in the information processing equipment, the predetermined font exists on the information processing apparatus When the font information of the font existing in the information processing apparatus is detected from the font information in the spooled data, the font information in the spooled data is detected by the despooler means. Inform the means,
The despooler means registers the print data generation unit corresponding font information notified by said spool drive means prior Symbol determined print mode,
Each of the print data generation means corresponding to the determined print mode generates print data using data supplied for each page by the despooler means and font information registered in the despooler means. A characteristic information processing apparatus.
前記スプールされたデータに基づきページごとに印刷モードを判定する印刷モード判定手段と、
前記複数の印刷データ生成手段のうち、前記判定手段により判定された印刷モードに対応する印刷データ生成手段に、前記スプールされたデータをページごとに供給するデスプーラ手段とを有する情報処理装置における情報処理方法において、
前記スプールドライバ手段が、前記スプールされたデータ中のフォント情報から、前記情報処理装置に存在しないフォントのフォント情報を検出した場合には、前記情報処理装置に存在する予め定められたフォントのフォント情報を前記デスプーラ手段に通知し、前記スプールされたデータ中のフォント情報から、前記情報処理装置に存在するフォントのフォント情報を検出した場合には、前記スプールされたデータ中のフォント情報をデスプーラ手段に通知する通知工程と、
前記デスプーラ手段が、前記スプールドライバ手段により通知されたフォント情報を前記判定された印刷モードに対応する印刷データ生成手段に登録する登録工程と、
前記判定された印刷モードに対応する印刷データ生成手段の各々が、前記デスプーラ手段によりページごとに供給されるデータと、前記デスプーラ手段に登録されたフォント情報とを用いて印刷データを生成する生成工程とを有することを特徴とする情報処理方法。Spool driver means for spooling data passed from the basic software in a format that can be processed by a plurality of print data generation means;
A print mode determining means for determining a print mode for each page based on the spooled data,
Among the plurality of print data generation unit, the print data generating unit corresponding to the print mode determined by the determination unit, information processing in an information processing apparatus and a despooler means for supplying the spooled data for each page In the method
The spool drive means, from the font information in the spooled data, when detecting a font font information that does not exist in the information processing equipment, the predetermined font exists on the information processing apparatus When the font information of the font existing in the information processing apparatus is detected from the font information in the spooled data, the font information in the spooled data is detected by the despooler means. A notification step for notifying means;
Said despooler means, a registration step of registering the print data generation unit corresponding font information notified by said spool drive means prior Symbol determined print mode,
A generation step in which each of the print data generation means corresponding to the determined print mode generates print data using data supplied for each page by the despooler means and font information registered in the despooler means. an information processing method characterized by chromatic and.
アプリケーションからのデータに基づきプリンタで処理する印刷データを作成する複数の印刷データ作成手段と、
アプリケーションからのデータを解析し、当該解析の結果に基づいて、前記データをページごとに前記複数の印刷データ作成手段の1つに供給する供給手段と、
前記アプリケーションからのデータにより指定されているフォントが前記情報処理装置に存在すれば、前記指定されているフォントを論理フォントとして、前記データの供給先である前記印刷データ作成手段に登録し、前記アプリケーションからのデータにより指定されているフォントが前記情報処理装置に存在しなければ、前記情報処理装置に存在する予め定められたフォントを論理フォントとして前記データの供給先である前記印刷データ作成手段に登録する登録手段とを有し、
前記データの供給先である前記印刷データ生成手段の各々は、前記供給手段により供給されたデータと、前記登録手段により登録された論理フォントとを用いて、印刷データを生成することを特徴とする情報処理装置。 An information processing apparatus,
A plurality of print data creation means for creating print data to be processed by the printer based on data from the application;
Supplying means for analyzing data from the application and supplying the data to one of the plurality of print data generating means for each page based on the result of the analysis;
If the font designated by the data from the application exists in the information processing apparatus, the designated font is registered as a logical font in the print data creation means that is the data supply destination, and the application If the font specified by the data from the information processing apparatus does not exist in the information processing apparatus, a predetermined font existing in the information processing apparatus is registered as a logical font in the print data creation means that is the data supply destination Registration means to
Each of said print data generation means is a supply destination of the data, using the data supplied by said supply means, and a logical font registered by the registration means, and characterized in that to generate the print data Information processing apparatus.
供給手段が、アプリケーションからのデータを解析し、当該解析の結果に基づいて、前記データをページごとに前記複数の印刷データ作成手段の1つに供給する供給工程と、
登録手段が、前記アプリケーションからのデータにより指定されているフォントが前記情報処理装置に存在すれば、前記指定されているフォントを論理フォントとして、前記データの供給先である前記印刷データ作成手段に登録し、前記アプリケーションからのデータにより指定されているフォントが前記情報処理装置に存在しなければ、前記情報処理装置に存在する予め定められたフォントを論理フォントとして前記データの供給先である前記印刷データ作成手段に登録する登録工程と、
前記データの供給先である前記印刷データ生成手段の各々が、前記供給手段により供給されたデータと、前記登録手段により登録された論理フォントとを用いて、印刷データを生成する生成工程とを有することを特徴とする情報処理方法。 An information processing method in an information processing apparatus using a plurality of print data creation means for creating print data to be processed by a printer based on data from an application,
A supplying unit that analyzes data from the application and supplies the data to one of the plurality of print data generating units for each page based on a result of the analysis;
If the font designated by the data from the application exists in the information processing apparatus, the registration means registers the designated font as a logical font in the print data creation means that is the data supply destination. If the font specified by the data from the application does not exist in the information processing apparatus, the print data to which the data is supplied as a logical font using a predetermined font existing in the information processing apparatus A registration process for registering with the creation means ;
Each of said print data generation means is a supply destination of the data, the data supplied by said supplying means, using a logical font registered by the registration unit, and a generation step of generating print data An information processing method comprising:
アプリケーションからのデータに基づきプリンタで処理する印刷データを作成する複数の印刷データ作成手段と、
アプリケーションからのデータを解析し、当該解析の結果に基づいて、前記データをページごとに前記複数の印刷データ作成手段の1つに供給する供給手段と、
前記アプリケーションからのデータにより指定されているフォントが前記コンピュータに存在すれば、前記指定されているフォントを論理フォントとして、前記データの供給先である前記印刷データ作成手段に登録し、前記アプリケーションからのデータにより指定されているフォントが前記コンピュータに存在しなければ、前記コンピュータに存在する予め定められたフォントを論理フォントとして前記データの供給先である前記印刷データ作成手段に登録する登録手段として機能させるためのプリンタドライバプログラムであって、
前記データの供給先である前記印刷データ生成手段の各々は、前記供給手段により供給されたデータと、前記登録手段により登録された論理フォントとを用いて、印刷データを生成することを特徴とするプリンタドライバプログラム。Computer
A plurality of print data creation means for creating print data to be processed by the printer based on data from the application;
Supplying means for analyzing data from the application and supplying the data to one of the plurality of print data generating means for each page based on the result of the analysis;
If the font specified by the data from the application exists in the computer, the specified font is registered as a logical font in the print data creation means that is the data supply destination, and the font from the application If the font specified by the data does not exist in the computer, the predetermined font existing in the computer is caused to function as a registration unit for registering as a logical font in the print data generation unit as the data supply destination . A printer driver program for
Each of said print data generation means is a supply destination of the data, using the data supplied by said supply means, and a logical font registered by the registration means, and characterized in that to generate the print data Printer driver program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001055466A JP4522006B2 (en) | 2001-02-28 | 2001-02-28 | Information processing apparatus, information processing method, and printer driver program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001055466A JP4522006B2 (en) | 2001-02-28 | 2001-02-28 | Information processing apparatus, information processing method, and printer driver program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002259101A JP2002259101A (en) | 2002-09-13 |
JP2002259101A5 JP2002259101A5 (en) | 2008-04-10 |
JP4522006B2 true JP4522006B2 (en) | 2010-08-11 |
Family
ID=18915650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001055466A Expired - Fee Related JP4522006B2 (en) | 2001-02-28 | 2001-02-28 | Information processing apparatus, information processing method, and printer driver program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4522006B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100555765B1 (en) * | 2003-08-20 | 2006-03-03 | 삼성전자주식회사 | Method for changing font information by a printer driver |
JP2008158727A (en) * | 2006-12-22 | 2008-07-10 | Nittetsu Hitachi Systems Engineering Inc | Electronic business form system |
JP5645481B2 (en) | 2010-05-28 | 2014-12-24 | キヤノン株式会社 | Apparatus, method, and program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0926864A (en) * | 1995-07-11 | 1997-01-28 | Canon Inc | Printing system and font data transfer method therefor |
JP3039396B2 (en) * | 1996-10-18 | 2000-05-08 | 富士ゼロックス株式会社 | Print control apparatus and method |
JPH11115260A (en) * | 1997-10-17 | 1999-04-27 | Hitachi Commun Syst Inc | Method for controlling print output of document data, and font conversion control printer |
JPH11129583A (en) * | 1997-11-04 | 1999-05-18 | Canon Inc | Print controller, print control method and memory medium storing computer readable program |
-
2001
- 2001-02-28 JP JP2001055466A patent/JP4522006B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002259101A (en) | 2002-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7229224B2 (en) | Printing system and printing apparatus | |
US5619624A (en) | Apparatus for selecting a rasterizer processing order for a plurality of graphic image files | |
US20070086050A1 (en) | Information processing apparatus, image processing method, and machine-readable medium | |
US8724153B2 (en) | Information processing apparatus, method of information processing, and storage mediurn for performing scaling processing on image data | |
US20120105873A1 (en) | Information processing apparatus, information processing method and printing control method | |
US20080080780A1 (en) | Image compression method and apparatus | |
US7612910B2 (en) | Information processing apparatus, information processing system, information output control method, storage medium and program | |
JP2002041261A (en) | Information processing device, information processing method, and storage medium which stores computer- readable program | |
US20090244565A1 (en) | Print control apparatus, printing apparatus, print control method and computer readable medium storing program | |
US20040125395A1 (en) | Printing control method and apparatus | |
JP2004126871A (en) | Method and device for controlling printing | |
JP3907362B2 (en) | Printing control method and apparatus, and printing system | |
JP4174476B2 (en) | Data processing apparatus, data processing method, printer driver program, print control apparatus, print control method, and printing system | |
US7365868B2 (en) | Information processing apparatus, method of controlling printing, computer program, and printing system | |
JP4522006B2 (en) | Information processing apparatus, information processing method, and printer driver program | |
JP2007175951A (en) | Printing controller, image forming device, printing control method and control program | |
JP2004157904A (en) | Printer control program and printer | |
US20040070784A1 (en) | Methods, computer media and devices for processing compressed data intended for printing | |
US20140376011A1 (en) | Program and information processing apparatus | |
JP2003256162A (en) | Spool file processing device, program and recording medium | |
US20030133142A1 (en) | Information processing apparatus and control code generation method | |
JP2004192323A (en) | Printer driver and information processor | |
JP4467715B2 (en) | Image output control apparatus and method | |
JP2001236186A (en) | Printing processing system, method for processing print data and recording medium with program for performing the method recorded thereon | |
JP3927766B2 (en) | Image processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080225 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100423 |
|
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: 20100517 |
|
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: 20100525 |
|
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: 20130604 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |