(57)【要約】【課題】本発明の課題は、印刷ジョブ生成ソフトウェアにて印刷ページの並べ替えを指定して印刷する場合に、印刷装置でメモリ不足エラーを発生させない処理方法を提供することである。【解決手段】利用可能メモリクリアモードとページ単位メモリクリアモードを組み合わせて印刷装置のワークメモリをクリアするか、または、印刷データを並べ替えて出力コマンドデータを作成する際に、使用メモリサイズが利用可能メモリサイズを超えたときワークメモリをクリアするコマンドを生成する。【選択図】図１−１
2006039898.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアと、印刷ページの並べ替えが可能な印刷ジョブ生成ソフトウェアを有するホストコンピュータと、所定サイズのワークメモリを有する印刷装置とを備えたシステムにおける印刷ジョブ処理方法であって、前記印刷ジョブ生成ソフトウェアは、前記印刷装置へ送信する印刷データを印刷ジョブファイルに生成するステップと、前記印刷ジョブファイルに格納された印刷データの各印刷ページの格納位置を示すデータを印刷ジョブオフセットファイルに生成するステップと、前記印刷ジョブファイル及び印刷ジョブオフセットファイルに生成されたデータを用いてオペレータの並べ替え指定に応じた順に印刷ページを並べ替えた出力コマンドデータを作成するステップとを有し、前記印刷ジョブファイルを作成するときに、前記印刷装置のワークメモリを各ページ毎にクリアするクリアコマンドと、前記印刷装置にダウンロードするソフトフォントの格納に使用するメモリサイズがワークメモリの利用可能メモリサイズを超えた時は、その都度ワークメモリをクリアするクリアコマンドを生成するステップを備えたことを特徴とする印刷ジョブ処理方法。
【請求項２】
アプリケーションソフトウェアと、印刷ページの並べ替えが可能な印刷ジョブ生成ソフトウェアを有するホストコンピュータと、所定サイズのワークメモリを有する印刷装置とを備えたシステムにおける印刷ジョブ処理方法であって、前記印刷ジョブ生成ソフトウェアは、前記印刷装置にダウンロードするソフトフォントデータをフォントファイルに生成するステップと、前記印刷装置へ送信する印刷データを印刷ジョブファイルに生成するステップと、前記印刷装置にダウンロードするソフトフォントデータのソフトフォント定義名、前記ワークメモリの消費量及び前記フォントファイル上の格納位置を示すデータを格納するソフトフォント情報テーブルを生成するステップと、前記印刷データをオペレータの並べ替え指定に応じた順に並べ替えた出力コマンドデータを作成するステップとを有し、前記並べ替えた出力コマンドデータを作成する際に、前記ソフトフォント情報テーブルを用いて前記ソフトフォントデータを再構築すると共に、該ソフトフォントの格納に使用するメモリサイズがワークメモリの利用可能メモリサイズを超えた時はワークメモリをクリアするクリアコマンドを生成することを特徴とする印刷ジョブ処理方法。
【請求項３】
請求項２において、ソフトフォントデータは、ソフトフォントデータの種類単位でグループ化されるように再構築することを特徴とする印刷ジョブ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷ページの並べ替えを行うための印刷ジョブ処理方法に関するものである。
【背景技術】
【０００２】
近年、印刷装置にはアプリケーションソフトウェアからの印刷データを並べ替えて印刷する逆順印刷や、中綴じ印刷などの印刷機能を持つものがある。この印刷機能を実現するためには、アプリケーションソフトウェア側で印刷ページを並べ替えたり、印刷ジョブ生成ソフトウェア側で印刷要求された正順の印刷ページを印刷装置へ送信する前に並べ替えて送信したり、或いは印刷装置側で受信した印刷ジョブ、即ち印刷装置にて解読可能なコマンドデータ列を並べ替えたりしていた。しかし、アプリケーションソフトウェア側で逆順印刷や中綴じ印刷のための並べ替えの機能を備えているものはまだ少なくない。また、印刷装置側で並べ替えるには、受信した印刷ジョブをページ単位で格納しておくための記憶装置が必要であるという問題がある。従って、一般的には印刷ジョブ生成ソフトウェア側で印刷装置に送信する前に並べ替えて送信していた。
【０００３】
印刷ジョブ生成ソフトウェア側で並べ替えを行う場合、アプリケーションソフトウェアからの印刷要求により、まず正順で印刷ジョブを生成し、全ての出力コマンドデータ列を印刷ジョブファイルに格納し、印刷ページ毎の開始位置及び終了位置のデータを印刷ページオフセットファイルに格納する。その際オペレーティングシステム上に存在するソフトフォントの印刷要求があった場合は、並べ替えによる印刷不正、つまり文字抜け、文字化け等が発生しないように、印刷装置へダウンロードするソフトフォントデータをソフトフォントファイルに一時ファイルとして格納しておく。
【０００４】
アプリケーションソフトウェア上では、文字データに対し印刷装置に内蔵しているプリンタフォント、またはオペレーティングシステム上に存在するソフトフォントを指定することができる。前者の場合はプリンタフォントの属性情報（フォント名、サイズなど）と文字コードを指定するだけで印刷すべき文字を印刷することができるが、後者の場合は上記指定の前に予め印刷装置にソフトフォントデータをダウンロードしておく必要がある。
【０００５】
次に、印刷ジョブ生成ソフトウェアで具備するユーザーインターフェイスにてオペレータにより指定されたページ並べ替え指定（例えば、逆順印刷など）に従い、印刷ページの並べ替え順を決定し、ソフトフォントファイルがあれば、そのファイル内のソフトフォントデータ定義コマンド列を印刷装置へ送信した後、並べ替えた順序に従って、該印刷ページに対応する印刷ジョブファイル上の出力コマンドデータ列（印刷ページオフセットファイルに格納された印刷ページに対応する開始位置から終了位置までのデータ列）を印刷ジョブスプーラへ送信する。
【０００６】
従来からソフトフォントデータを使用する場合は、印刷装置の具備するワークメモリの容量不足を回避するため、印刷装置へダウンロードするソフトフォントデータのメモリ消費量を予め算出して、この値を使用メモリとしてカウントし、印刷ジョブ生成ソフトウェア内のユーザーインターフェイス上で指定された印刷装置の利用可能メモリと比較して、これを超えた場合にワークメモリ内のソフトフォントデータをクリアするモード（以下利用可能メモリクリアモードと称する）または印刷ページごとにワークメモリ内のソフトフォントデータをクリアするモード（以下ページ単位メモリクリアモードと称する）をオペレータが排他的に設定して利用していた。
【０００７】
上記のワークメモリは、ソフトフォントの格納やプリンタフォントのキャッシュに使用され、容量は印刷装置に実装された物理メモリにより異なる。例えば、物理メモリ１２８ＭＢの場合、ワークメモリ割合８％を乗じた１０ＭＢがワークメモリとなる（ただし、印刷装置起動時）。プリンタフォントは一時的にキャッシュされるが、メモリ使用状況により印刷装置側で自動的に削除される。一方、ソフトフォントはメモリクリアコマンドを出力しなければ削除されない。ただし、揮発性メモリのため、印刷装置の電源を切った場合はフォントの種類に関わらず、メモリ内のデータは消失する。
【０００８】
ワークメモリをクリアする方法として上述の利用可能メモリクリアモードを使用した場合は、印刷ジョブの先頭で、全てのソフトフォントデータをダウンロードしてしまうため、利用可能メモリサイズ及びソフトフォントデータ量により印刷装置のメモリ容量が不足してしまうという問題がある。
【０００９】
そこで、この問題を回避するため、オペレータにより印刷ページの並べ替え指定があった場合は、印刷ジョブ生成ソフトウェア側で上述のページ単位メモリクリアモードを自動的に有効にし、ページ単位でメモリをクリアしているのが一般的である。
【００１０】
ここで、従来の印刷の流れを図７〜図１０を用いて説明する。図７は従来の並べ替え印刷を説明するためのブロック図であり、１はホストコンピュータ、２はコンピュータ１を動作させるための基本ソフトウェアであるオペレーティングシステム、３はドキュメントを作成し印刷するためのアプリケーションソフトウェア、４はアプリケーションソフトウェア３の印刷指示により印刷ジョブ生成ソフトウェア５に印刷指示を与える印刷インターフェイスである。印刷ジョブ生成ソフトウェア５は、アプリケーションソフトウェア３上で印刷形式を設定するためにオペレータとのインターフェイスを取り持つユーザーインターフェイス部６、印刷ジョブを生成する印刷ジョブ生成処理部７、及び印刷ページを並べ替えるデスプール部９を有する。
【００１１】
オペレータがアプリケーションソフトウェア３上で作成した文字を含む印刷データを逆順指定して印刷した場合、アプリケーションソフトウェア３上の印刷指示により印刷インターフェイス４は印刷ジョブ生成ソフトウェア５に対し印刷指示を与え、それに基づいて印刷ジョブ生成ソフトウェア５における印刷ジョブ生成処理部７が起動する。
【００１２】
図８−１は印刷ジョブ生成処理部７の処理フローを示すもので、印刷ジョブ生成処理部７は、まず現在の使用メモリ消費量を算出するための使用メモリサイズカウンタをリセットし、印刷ジョブの初期設定コマンドを印刷ジョブスプーラ１０へ送信しておく（ステップ１０１）。そして、ユーザーインターフェイス部６で指定されるページごとにメモリをクリアするかどうかを判断し（ステップ１０２）、ページ単位メモリクリアモードを設定する（ステップ１０３）。逆順印刷指定があった場合、例えば４ページの場合は、４→３→２→１順に並べ替えが必要であるため、印刷ジョブの処理方法としてデスプールモードを設定し、生成するコマンドデータの出力先を一時ファイルに設定して、ページ単位メモリクリアモードを設定する。そして、印刷ジョブを格納する印刷ジョブファイル、及びそのページごとの開始位置（オフセット位置）を保存しておく印刷ページオフセットファイルを作成し、現在のオフセット位置を表す印刷ジョブカウンタをリセットする（ステップ１０７）。
次に、印刷ページの開始処理として現在の印刷ジョブカウンタを、印刷ページオフセットファイルへ格納し（ステップ１０８）、文字データの印刷要求の場合は（ステップ１０９）、ページ単位メモリクリアモードでなければ（ステップ１１０）ソフトフォントデータファイルを作成し（ステップ１１１）、文字描画処理部８を起動して（ステップ１１３）、１ページ出力終了まで処理を続ける。
【００１３】
１ページ終了後（ステップ１１４）は、ページ単位メモリクリアモードの場合は、印刷装置１２のワークメモリ（図示せず）をクリアするコマンドデータ列を出力し（ステップ１１６）、ソフトフォント管理テーブル及び使用メモリサイズカウンタをリセットする。そして、印刷ジョブカウンタに次ページのオフセット位置として、現在の印刷ジョブファイルサイズを設定して（ステップ１１７）、全ページが出力終了するまで以上の処理を続ける。
【００１４】
全ページ出力終了後は、デスプールモードであるので印刷ページの並べ替えを行うデスプール部９を起動し（ステップ１２０）、アプリケーションソフトウェア３から印刷要求のあった全ての印刷ページが、指定の並べ替え順に印刷ジョブスプーラ１０へ送信される。受信した印刷ジョブスプーラ１０は双方向インターフェイス１１を介してその印刷ジョブを印刷装置１２へ送信し、印刷装置１２にて並べ替えられた印刷ジョブが印刷される。なお、文字データ以外の印刷要求の場合は図形やイメージデータ等を描画する図形描画処理部を起動するが（ステップ１１２）、ここでは説明を省略する。
【００１５】
図９は文字描画処理部８の処理フローを示す。
【００１６】
文字描画処理部８では、まず指定された文字データを判別し（ステップ２０１）、それがソフトフォントデータでダウンロード済みでなく（ステップ２０２）、且つページ単位メモリクリアモードでなければ（ステップ２０３）、ユーザーインターフェイス部６上で設定された利用可能メモリと現在の使用メモリとを比較する（ステップ２０４）。使用メモリが利用可能メモリの範囲内であれば、該ソフトフォントデータのメモリ消費サイズを使用メモリサイズカウンタに加算し（ステップ２０６）、該ソフトフォントデータ定義コマンド列を出力して（ステップ２０７）、ダウンロードされたソフトフォントデータを管理するソフトフォント管理テーブル上でダウンロード済みに設定する（ステップ２０８）。もし利用可能メモリを超えた場合は、印刷装置１２の具備するワークメモリ上の、ダウンロードされたソフトフォントデータをクリアするコマンドを出力し、ソフトフォント管理テーブル及び使用メモリサイズカウンタをリセットする（ステップ２０５）。そして、ソフトフォントデータを描画するコマンドを生成出力し（ステップ２０９）、全ての文字が描画終了するまで以上の処理を続ける（ステップ２１１）。
【００１７】
図１０はデスプール部９の処理フローを示す。
【００１８】
デスプール部９では、まずコマンドデータ出力先を印刷ジョブスプーラ１０へ切り替え、ユーザーインターフェイス部６で指定されたページの並べ替え方法を取得しておき（ステップ３０１）、ソフトフォントデータファイルが存在する場合は（ステップ３０２）、ソフトフォントデータファイル内のソフトフォントデータ定義コマンド列を全て出力する（ステップ３０３）。次に、ページ並べ替え方法に従い、出力する印刷ページを決定し（ステップ３０４）、該印刷ページに対応する開始位置及び終了位置を印刷ジョブオフセットファイルから取得し（ステップ３０５）、印刷ジョブファイルからその開始位置及び終了位置間で印刷文字を描画指定するコマンドデータ列を取得して出力する（ステップ３０６）。以上、全ページが出力終了するまで処理を続け（ステップ３０７）、全ページ出力終了後は全ての一時ファイルを削除する（ステップ３０８）。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかし、オペレータにより印刷ページの並べ替え指定があった場合は、ページ単位メモリクリアモードを自動的に有効にしても、指定された利用可能メモリを１ページ内で全て消費するソフトフォントデータの場合には、印刷装置上で必ずメモリ不足エラーが発生し、必ずしも正常印刷できるとはいえなかった。
【００２０】
また、印刷インターフェイスからの印刷指示列をページ単位で中間言語ファイルに保存し、印刷ジョブスプーラが印刷ジョブ生成ソフトウェアで指定されたページ並べ替え方法により、中間言語ファイル上のページ単位の印刷指示列を並べ替え順で印刷インターフェイスへ印刷要求可能な場合（以下、中間言語スプールモード）は、印刷ジョブ生成ソフトウェアは並べ替え不要のため、利用可能メモリごとにメモリをクリアする方法でメモリ不足エラーを発生させることなく、正常印刷させることができるが、中間言語スプールモードではなく、中間言語ファイルを生成せず直接印刷ジョブを生成する場合は印刷ジョブ生成ソフトウェアでページの並べ替えを行うしか方法はなく、常に正常印刷させる仕組みがなかった。
【００２１】
本発明は前述した点に鑑みてなされたものであり、アプリケーションソフトウェアからソフトフォントデータを含む印刷データを印刷ページの並べ替えを指定して印刷する場合に、印刷ジョブ生成ソフトウェアで印刷ページの並べ替えを行い、印刷装置でメモリ不足エラーを発生させない印刷ジョブ処理方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために本発明は、印刷ページの並べ替えが可能な印刷ジョブ生成ソフトウェアが、印刷装置へ送信する印刷データを印刷ジョブファイルに生成するステップと、前記印刷ジョブファイルに格納された印刷データの各印刷ページの格納位置のデータを印刷ジョブオフセットファイルに生成するステップと、前記印刷ジョブファイル及び印刷ジョブオフセットファイルに格納されたデータを用いてオペレータの並べ替え指定に応じた順に印刷ページを並べ替えた出力コマンドデータを作成するステップとを有し、前記印刷ジョブファイルを生成するときに、前記印刷装置のワークメモリを各印刷ページ毎にクリアするクリアコマンドと、前記ソフトフォントの格納に使用するメモリサイズがワークメモリの利用可能メモリサイズを超えた時に、その都度ワークメモリをクリアするクリアコマンドデータを生成することに一つの特徴がある。
【００２３】
本発明の他の特徴は、印刷ページの並べ替えが可能な印刷ジョブ生成ソフトウェアが、印刷装置にダウンロードするソフトフォントデータをフォントファイルに生成するステップと、前記印刷装置へ送信する印刷データを印刷ジョブファイルに生成するステップと、前記印刷装置にダウンロードするソフトフォントデータのソフトフォント定義名、前記ワークメモリの消費量及び前記フォントファイル上の格納位置を示すデータを格納するソフトフォント情報テーブルを生成するステップと、前記印刷データをオペレータの並べ替え指定に応じた順に並べ替えた出力コマンドデータを作成するステップとを有し、並べ替えた出力コマンドデータを作成するときに、前記ソフトフォント情報テーブルを用いて前記ソフトフォントデータを再構築すると共に、該ソフトフォントの格納に使用するメモリサイズがワークメモリの利用可能メモリサイズを超えた時はワークメモリをクリアするクリアコマンドを生成することにある。
【発明の効果】
【００２４】
請求項１の発明によれば、利用可能メモリクリアモードと、ページ単位メモリクリアモードとを組み合わせて使用することにより、印刷装置においてメモリ不足エラーを発生させることなく常に正常印刷が可能になる。
【００２５】
請求項２に記載の発明によれば、印刷データをオペレータの並べ替え指定に応じた出力コマンドデータを作成する際に、ソフトフォントの格納に使用するメモリサイズがワークメモリの利用可能メモリサイズを超えたときにワークメモリをクリアするコマンドを生成するため、印刷装置においてメモリ不足エラーを発生させることなく、常に正常印刷が可能となり、また利用可能メモリごとにソフトフォントデータを印刷装置へダウンロードする方法であるため、印刷ジョブのコードサイズにおける生成効率も良くなる。
【実施例１】
【００２６】
図１−１は本発明に係る印刷ジョブ処理方法の第１の実施例を示す全体ブロック図で、印刷ジョブ生成ソフトウェア５は、印刷ジョブ生成処理部７、文字描画処理部８Ａ，デスプール部９を有する。
【００２７】
上記印刷ジョブ生成処理部７の処理フローは従来の図８−１と同じであり、デスプール部９の処理フローも従来の図１０と同じであるが、文字描画処理部８Ａの処理フローは図２−１で示されており、従来の図９とは異なる。即ち図２−１は従来の処理フローを示す図９において、ページ単位メモリクリアモードか否かを判定するステップ２０３を削除した流れ図になっている。
【００２８】
このステップ２０３を削除すると、ステップ２０２でソフトフォントデータがダウンロードされていないと判定されたときは常にワークメモリの利用可能メモリ量とダウンロードにより使用するメモリ量とが比較され、利用可能メモリ量が小さいときはワークメモリをクリアするコマンドを出力するようになる。
【００２９】
一方、図８−１の印刷ジョブ生成処理部の処理フローの中にはページ単位メモリクリアモードか否かを判定するステップ１１５があるから、このモードに設定しておくと、常にページ単位でワークメモリをクリアするコマンドが生成される。
【００３０】
即ち本発明は第１の実施例は、ページごとにメモリをクリアするページ単位メモリクリアモードと、利用可能メモリクリアモードとを組み合わせたモードにより印刷装置１２のワークメモリをクリアできるようにした点に特徴がある。
【００３１】
これにより印刷ページ毎に印刷装置１２のワークメモリ内のソフトフォントデータをクリアすると共に、印刷装置にダウンロードするソフトフォントデータのメモリ消費量が印刷装置の利用可能メモリを超えた場合にも、ワークメモリのソフトフォントデータをクリアすることができ、１ページ毎に２つのタイミングでワークメモリをクリアすることが可能になる。
【００３２】
次に、アプリケーションソフトウェア３から図５に示すような４ページの印刷データを中綴じ指定で印刷する要求があった場合を例にとって処理の手順を説明する。
【００３３】
アプリケーションソフトウェア３からの４ページの文字データ印刷要求により、印刷ジョブ生成ソフトウェア５はページ単位で印刷ジョブファイルに出力する。但し、第４ページの“４”で使用メモリサイズが印刷装置１２のワークメモリの利用可能メモリサイズを超えたものとする。
【００３４】
まず、図５に示すように、印刷ジョブファイルの第１ページには“あ”“い”“う”“え”“お”のデータ定義コマンドが生成される（図２−１のステップ２０７）と共に、出力文字コマンドデータ列が生成される（図２−１のステップ２０９）。同様に、“Ｐ”“．”“１”のデータ定義コマンド、及び出力文字コマンドデータ列が生成される。またその後に図８−１のステップ１１５及び１１６によりページ単位のクリアコマンドが格納される。
【００３５】
同様に、第２ページには“か”“き”“く”“け”“こ”のデータ定義コマンド、及び出力文字コマンドデータ列と、“Ｐ”“．”“２”のデータ定義、及び出力文字コマンドデータ列が生成され、その後にページ単位のクリアコマンドが生成される。
【００３６】
また、第３ページには“あ”“い”“う”“え”“お”のデータ定義コマンド、及び出力文字コマンドデータ列と、“Ｐ”“.”“３”のデータ定義、及び出力文字コマンドデータ列が生成され、最後にページ単位のメモリクリアコマンドが格納される。
【００３７】
第４ページは“か”“き”“く”“け”“こ”のデータ定義コマンド、及び出力文字コマンドデータ列と、“Ｐ”“.”のデータ定義コマンド、及び出力文字コマンドデータ列が生成される。更に“４”で使用メモリサイズがワークメモリの利用可能メモリサイズを超えるため、図２−１のステップ２０４，２０５の処理により、メモリクリアコマンド列が生成される。そしてその後に“４”のデータ定義コード、及び出力文字コマンドデータ列が生成され、最後にページ単位のメモリクリアコマンドが格納されている。
【００３８】
また、印刷ジョブオフセットファイルには印刷ページに対応する印刷ジョブファイル上の出力文字コマンドデータ列の開始位置及び終了位置が格納される（図８−１のステップ１０８）。この例ではそれぞれ第１ページ〜第４ページの開始位置が０、４０１、６０１、８０１であり、終了位置は４００、６００、８００、１０００とされている。
【００３９】
次に、図５のステップ２ではページ並べ替え方法は中綴じ指定であるため、１→２→３→４のページ順を１→４→３→２のページ順に並べ替えをする。このためにまず、第１ページの開始位置及び終了位置を印刷ジョブオフセットファイルから取得して、その開始位置から終了位置までに対応する第１ページ上の出力文字コマンドデータ列を出力する。以下同様に第４ページ、第３ページ、第２ページの開始位置及び終了位置を順に印刷ジョブオフセットファイルから取得して、対応する印刷ページの出力文字コマンドデータ列を出力する（図１０のステップ３０１及び３０４〜３０６）。
【００４０】
上述の手順において、第４ページの“４”の文字を出力した時に、使用メモリサイズが利用可能メモリサイズを超えてしまうが、メモリクリア２によりワークメモリをクリアする処理が行われるため、メモリ不足エラーは発生せず、またその後の処理も印刷ページを並べ替えるだけであるので、メモリ不足エラーは発生しないことになる。
【００４１】
以上説明したように、第１の実施例によれば、ページ単位メモリクリアモードと利用可能メモリクリアモードを組み合わせて使用することにより、アプリケーションソフトウェアからソフトフォントデータを含む印刷データを印刷ページの並べ替えを指定して印刷する場合に、印刷装置においてメモリ不足エラーを発生させることなく、常に正常印刷が可能となる。
【実施例２】
【００４２】
図１−２は本発明に係る印刷ジョブ処理方法の第２の実施例を示す全体ブロック図であり、印刷ジョブ生成ソフトウェア５は印刷ジョブ生成処理部７、文字描画処理部８、デスプール部９、ソフトフォント再構築部１３を有する。
【００４３】
上記印刷ジョブ生成処理部７の処理フローは図８−２に示され、文字描画処理部８の処理フローは図２−２に示され、デスプール部９の処理フローは図３に示され、ソフトフォント再構築部１３の処理フローは図４に示されている。
【００４４】
第２の実施例では従来例に比べデスプール部９にソフトフォント再構築部１３が追加され、文字描画処理部８の処理フローにステップ２２０が追加され、デスプール部の処理フローにはステップ３１０，３１１が追加され、また印刷ジョブ生成処理部の処理フローではステップ１０６が削除されている。
【００４５】
即ち、本実施例の印刷ジョブ生成処理部の処理フローでは第１の実施例とは異なり、ワークメモリクリア方法として利用可能メモリごとにクリアする利用可能メモリクリアモードを使用するため、印刷ページの並べ替え時にページ単位メモリクリアモードは設定しないように変更している。
【００４６】
次に、文字描画処理部８の処理フローを、図２−２を用いて説明する。本処理フローでは、後述するソフトフォント再構成部１３で利用するソフトフォント情報テーブル（以下、フォント情報テーブル）を該ソフトフォントデータ出力時に作成している。
【００４７】
まずステップ２０１において指定された文字データがプリンタフォント指定のものかどうか判定し、肯定（以下ＹＥＳ）の場合はステップ２１０に進み、プリンタフォント用描画コマンドを生成し、出力する。一方、ステップ２０１の判定が否定（以下ＮＯ）の場合はステップ２０２に進み、文字データがソフトフォントデータでダウンロード済みか否かが判定される。判定がＹＥＳであればステップ２０９に進み、ソフトフォントデータ用描画コマンドを生成し、出力する。一方、ステップ２０２の判定がＮＯであり、ソフトフォントデータでダウンロード済みでなければ、ステップ２０３でページごとにメモリをクリアするモードかどうか判断し、ステップ２０３の判定がＮＯの場合は、ユーザーインターフェイス６部上で設定された利用可能メモリと現在の使用メモリとを比較する（ステップ２０４）。ステップ２０４の判定の結果、使用メモリが利用可能メモリの範囲内であれば、ステップ２０６において該ソフトフォントデータのメモリ消費サイズを使用メモリサイズカウンタに加算し、更にステップ２２０で、フォント情報テーブル上で、該ソフトフォントデータのヘッダコマンド（１文字ごとのソフトフォントデータ定義コマンド前に、これからダウンロードするソフトフォントデータ種類を指定するもの）、データ定義名、及び該ソフトフォントデータごとのメモリ消費サイズ、ソフトフォントデータファイル（以下、フォントファイル）上の格納位置を示す開始位置及び終了位置を設定する。もしステップ２０４の判定で利用可能メモリを超えた場合は、印刷装置１２が有するワークメモリ上の、ダウンロードされたソフトフォントをクリアするコマンドを出力し、ソフトフォント管理テーブル及び使用メモリサイズカウンタをリセットする（ステップ２０５）。次に、ステップ２０８においてソフトフォント管理テーブル上で該ソフトフォントデータをダウンロード済みに設定し、ステップ２２１で該ソフトフォントデータ定義コマンド列をフォントファイルに出力し、また、ステップ２０９において該ソフトフォントデータの文字を描画するコマンド列を生成して印刷ジョブファイルに出力する。そしてステップ２１１では、印刷要求された全ての文字が描画終了したか否かが判定され、ＮＯの場合はステップ２０１に戻り、上述の処理が繰返される。
【００４８】
次に、デスプール部９の処理フローを図３を用いて説明する。本処理フローでは、ページ単位メモリクリアモード判定を追加し、ページ単位メモリクリアモードでない場合は後述するソフトフォント再構成部１３を実行している点に特徴がある。
【００４９】
まず、ステップ３０１においてコマンドデータ出力先を印刷ジョブスプーラ１０へ切り替え、ユーザーインターフェイス部６で指定されたページの並べ替え方法を取得した後、ステップ３１０においてページ単位メモリクリアモードかどうか判断する。判定の結果、ページ単位メモリクリアモードでなければ、ステップ３１１のソフトフォント再構成部を実行し、印刷ページの並べ替え時、作成済みのフォントファイルからワークメモリ消費量を考慮してソフトフォントデータを再構成する。一方、ステップ３１０の判定の結果、ページ単位メモリクリアモードであれば、従来と同様に、ステップ３０２においてソフトフォントデータファイルがあるか否か判定し、フォントファイルが存在する場合は、ステップ３０３においてフォントファイル内のソフトフォントデータ定義コマンド列を全て出力し、次に、ステップ３０４においてページ並べ替え方法に従い、出力する印刷ページを決定し、ステップ３０５において該印刷ページに対応する開始位置及び終了位置を印刷ジョブオフセットファイルから取得し、またステップ３０６において印刷文字を描画指定するコマンドデータ列を、その開始位置及び終了位置間で印刷ジョブファイルから取得して出力する。以上の処理を全ページ出力終了するまで続ける（ステップ３０７）。
【００５０】
次に、ソフトフォント再構成部１３の処理を図４を用いて説明する。本処理は前記文字描画処理部８で作成された印刷ジョブファイル、印刷ジョブオフセットファイル、フォントファイル、及びフォント情報テーブルより、描画すべきソフトフォントの文字列をソフトフォント再構成用ソフトフォントデータ出力テーブル（以下、フォント出力テーブル）に登録し、描画すべき文字列に対応するソフトフォントデータ定義コマンド列を出力後、描画すべき文字列を出力している。
【００５１】
まずステップ４０１において、指定されたページの並べ替え方法に従い、出力する印刷ページを決定し、次いでステップ４０２において、作成済みの印刷ジョブファイルにおける格納位置が保存されている印刷ジョブオフセットファイルから、該印刷ページに対応する開始位置及び終了位置を取得設定する。そして、ステップ４０３で前記印刷ジョブファイルにおいて、前記開始位置及び終了位置間でソフトフォントデータ定義名を検索し、対応する出力文字列をグループ化し、フォント出力テーブルに登録する。但し、このとき出力文字列に未ダウンロードのソフトフォントデータを含む場合のみ登録するものとする。
【００５２】
次に、ステップ４０４において１グループに存在する出力文字のメモリ消費量（以下、グループメモリサイズと称する）を算出し、ステップ４０５において、現在の使用メモリサイズにグループメモリサイズを加えた値が利用可能メモリサイズの範囲内であるか否か判定され、判定の結果、範囲内であればステップ４０６に進み、該ソフトフォントデータに対応するヘッダコマンド列をフォント情報ファイルより取得し出力する。そしてステップ４０８において、フォントファイルより該ソフトフォントデータ定義コマンド列を取得して出力し、ステップ４０９においてフォント出力テーブル上で該ソフトフォントデータをダウンロード済みに設定する。上記の処理をグループに存在する全てのソフトフォントデータに対して行い（ステップ４１０）、終了後はステップ４１１で、グループメモリサイズを現在の使用メモリサイズに加算し、フォント出力ファイル上の現在のグループに対応する出力文字コマンド最後部の格納終了位置を現在の終了位置へ設定する。そしてステップ４１６において、該印刷ページに対応するコマンドデータ列を印刷ジョブファイルの開始位置及び終了位置（印刷ジョブオフセットファイル上の終了位置）間で取得して出力し、該印刷ページが終了するまで以上の処理を続ける（ステップ４１７）。但し、このとき印刷ジョブファイル内にメモリクリアコマンドデータ列が存在すれば、それらは出力しないようにする。
【００５３】
ステップ４０５の判定において、現在の使用メモリサイズにグループメモリサイズを加えた値が利用可能メモリサイズを超えていれば、ステップ４１２に進み、現時点までの該印刷ページに対応するコマンドデータ列を印刷ジョブファイルの開始位置及び終了位置間で取得して出力し、更にステップ４１３で現在の終了位置を現在の開始位置へ、印刷ジョブオフセットファイル上の該印刷ページの終了位置を現在の終了位置へ再設定する。そしてステップ４１４において、現時点までにダウンロードしたソフトフォントデータをクリアするコマンド列を出力して印刷装置１２上のワークメモリ内全てのソフトフォントデータをクリアし、フォント出力テーブル及び使用メモリサイズカウンタをリセットする。
【００５４】
上記の処理は、全ての印刷ページが終了するまで同様な処理を行う（ステップ４１５）。
【００５５】
次に、一例として、アプリケーションソフトウェアから図６に示すような４ページの印刷データを中綴じ指定で印刷した場合を説明する。
【００５６】
アプリケーションソフトウェア３からの４ページの文字データ印刷要求により、印刷ジョブ生成ソフトウェア５は、フォントファイルにソフトフォントデータ＃１として“あいうえおかきくけこ”の各定義コマンド列、ソフトフォントデータ＃２として“Ｐ．１２３４”の各定義コマンド列を生成する（図２−２のステップ２２１及び図８−２のステップ１１１）。そして印刷ジョブファイルにそれらのソフトフォントに対応する出力文字コマンドデータ列を格納する（図２−２のステップ２０９）。更に印刷ジョブオフセットファイルには該印刷ページの出力文字コマンドデータ列の開始位置及び終了位置を表のように格納する（図８−２のステップ１０８）。また、そのときソフトフォントデータ＃１と＃２に対し、ヘッダコマンド、データ名、及びソフトフォントデータごとのメモリ消費サイズ、格納されているフォントファイル上の開始位置及び終了位置をセットにして、表のようなフォント情報テーブルを作成する（図２−２のステップ２２０）。
【００５７】
フォント情報テーブルの＃１、＃２はソフトフォントデータの種類、例えばＭＳ明朝などを示しているヘッダコマンド＃１は、＃１用のソフトフォントデータのヘッダコマンド定義列、データ＃１は＃１用のソフトフォントデータ名称を示す。また“あ”／２００／３１／１３０は、“あ”のフォントデータのメモリ消費量は２００バイトであり、３１はソフトフォントデータファイル上の先頭からの開始位置オフセット、１３０は同様に終了位置オフセットを示す。図６は、第２ページの“Ｐ．”で利用可能メモリサイズが一杯になり、次の“２”でこのサイズを超える例を示している。
【００５８】
次に、ページ並べ替え方法は中綴じ指定であるため、１→２→３→４のページ順を１→４→３→２のページ順に並べ替えを決定し、第１ページの開始位置及び終了位置を印刷ジョブオフセットファイルから取得する（図４のステップ４０２）。印刷ジョブファイル上の開始位置及び終了位置間で、ソフトフォントデータ名＃１またはソフトフォントデータ名＃２で検索し、最初に＃１、“あいうえお”が見つかるので、グループＧ１としてデータ名＃１と“あ”“い”“う”“え”“お”をセットにし、且つ出力文字コマンドデータ最後部の格納終了位置を設定する（図４のステップ４０３）。
【００５９】
そして、グループＧ１における全てのメモリ消費サイズを算出する。この例では表より“あ”の消費サイズは２００、“い”は１７０、“う”は１７０、“え”は１８０、“お”は１９０であるので合計は９１０バイトになる。利用可能メモリサイズを２０００バイトとすると、利用可能メモリサイズ＞使用メモリ＋グループメモリサイズ（＝０＋９１０）であるため、まずグループＧ１が存在するフォント情報テーブル上のヘッダコマンド＃１を出力後、“あ”（３１−１３０）、“い”（１３１−２２０）、“う”（２２１−３００）、“え”（３０１−３９０）、“お”（３９１−４９０）の順にフォントファイル上のデータ定義コマンド列を出力し（図４のステップ４０８）、使用メモリサイズカウンタにグループメモリサイズを加算する（図４のステップ４１１）。なお、括弧内はフォント情報ファイル上の開始位置と終了位置を表す。また、メモリクリア発生時に直前の出力文字コマンドデータ列を出力するため、グループＧ１の出力文字コマンドデータ最後部の格納終了位置（＝３５０）を現在の終了位置に設定しておく。
【００６０】
グループＧ２（＃２、“Ｐ．１”）に対しても同様の処理を行った後、第１ページのソフトフォントデータ定義コマンド列が全て出力できたため、第１ページに対する出力文字コマンドデータ列を印刷ジョブファイル上の開始位置及び終了位置間で取得し出力する（図４のステップ４１６）。
【００６１】
図６のフォント出力テーブルにおいて、Ｇ１，Ｇ２は印刷ジョブファイルデータごとの文字列をグループ化したものを示し、データ名＃１は＃１用のソフトフォントデータ名称を示す。また“あ”“い”“う”“え”“お”はグループＧ１における各文字コード、３５０は印刷ジョブファイル上のＧ１の出力文字コマンド最後部の格納位置オフセットを示す。
【００６２】
これはページ内に存在する出力すべき文字を、ソフトフォントデータ単位で順番にグループ登録してコマンドデータ出力時に使用する。
【００６３】
第４ページの場合、第４ページの開始位置及び終了位置を印刷ジョブオフセットファイルから取得して、第４ページに対するフォント出力テーブルを作成すると、表の上段のようにＧ３、Ｇ４がグループとして作成される（図４のステップ４０３）。しかし、利用可能メモリサイズ（＝２０００）＜使用メモリ＋グループメモリサイズ（＝１９８０＋９０）であるため、ここでメモリクリア処理を行う（図４のステップ４１２，４１３及び４１４）。この処理によりＧ３の“かきくけこ”の次にメモリクリアコマンドが生成される。
【００６４】
出力文字コマンドデータ列を出力する前にメモリクリアを実行してしまうと、文字抜けが発生してしまうため、まず第４ページにおける印刷ジョブファイル上の開始位置（＝３０１）から終了位置（＝９５０）間の出力文字コマンドデータ列を出力する。次の格納位置設定のため、現在の開始位置へ終了位置＋１（＝９５１）、終了位置へ第４ページ終了位置（＝１０００）をそれぞれ設定し、ソフトフォントデータ＃１と＃２に対するメモリクリアコマンドを出力して、フォント出力テーブル及び使用メモリサイズカウンタをリセットする。そして、印刷ジョブファイルの開始位置（＝９５１）から終了位置（＝１０００）で検索し、再度フォント出力テーブルを登録し（表の下段のように、未ダウンロードの＃２、“Ｐ”“．”“４”がグループＧ１として登録される）、グループＧ１（＃２、“Ｐ．４”）のソフトフォントに対するヘッダコマンド及びデータ定義コマンド列を出力し、第４ページにおける現在の開始位置及び終了位置間の出力文字コマンドデータ列を出力する。以降、第３、２ページに対しても行い、表のようなコマンドデータ順で出力する（ステップ２）。
【００６５】
図６のステップ１とステップ２では、表のようにメモリクリアタイミングが異なるが、印刷ページの並べ替え時利用可能メモリクリア方法でも、ソフトフォント再構成により、ソフトフォントを含む印刷データに対してメモリ不足エラーを発生させることなく、正常印刷できる。また、第１の実施例と比較すると、必要なソフトフォントデータのみダウンロードするため、コードサイズにおいて生成効率が良い方法となる。
【図面の簡単な説明】
【００６６】
【図１−１】本発明に係る印刷ジョブ処理方法の第１の実施例を示す全体ブロック図である。
【図１−２】本発明に係る印刷ジョブ処理方法の第２の実施例を示す全体ブロック図である。
【図２−１】本発明の第１の実施例における文字描画処理部のフローチャートである。
【図２−２】本発明の第２の実施例における文字描画処理部のフローチャートである。
【図３】本発明の第２の実施例におけるデスプール部のフローチャートである。
【図４】本発明の第２の実施例におけるソフトフォント再構成部のフローチャートである。
【図５】本発明処理方法による中綴じの一例を説明する説明図である。
【図６】本発明処理方法による中綴じの一例を説明する説明図である。
【図７】従来の並べ替え印刷に関する全体ブロック図である。
【図８−１】従来の印刷ジョブ生成処理部のフローチャートである。
【図８−２】本発明の第２の実施例における印刷ジョブ生成処理部のフローチャートである。
【図９】従来の文字描画処理部のフローチャートである。
【図１０】従来のデスプール部のフローチャートである。
【符号の説明】
【００６７】
１はホストコンピュータ、２はオペレーティングシステム、３はアプリケーションソフトウェア、４は印刷インターフェイス、５は印刷ジョブ生成ソフトウェア、６はユーザーインターフェイス部、７は印刷ジョブ生成処理部、８は文字描画処理部、９はデスプール部、１０は印刷ジョブスプーラ、１１は双方向インターフェイス、１２は印刷装置、１３はソフトフォント再構成部である。
【図１−１】
2006039898.tif 000003
【図１−２】
2006039898.tif 000004
【図２−１】
2006039898.tif 000005
【図２−２】
2006039898.tif 000006
【図３】
2006039898.tif 000007
【図４】
2006039898.tif 000008
【図５】
2006039898.tif 000009
【図６】
2006039898.tif 000010
【図７】
2006039898.tif 000011
【図８−１】
2006039898.tif 000012
【図８−２】
2006039898.tif 000013
【図９】
2006039898.tif 000014
【図１０】
2006039898.tif 000015