(57)【特許請求の範囲】
【請求項１】
第１通信インタフェースを備える情報処理端末によって読み取り可能なドライバプログラムと、プリンタとからなる印刷システムであって、
前記ドライバプログラムは、
前記情報処理端末のＯＳから印刷指示を受け付ける印刷指示受付処理を前記情報処理端末に実行させ、前記印刷指示は、ユーザによって指定された実行条件に従った印刷動作を前記プリンタに実行させる指示がユーザによって入力されたことを示し、
前記印刷指示受付処理で前記印刷指示を受け付けたことに応じて、前記第１通信インタフェースを通じて前記プリンタに第１準備指示情報を送信する第１準備指示処理を前記情報処理端末に実行させ、前記第１準備指示情報は、前記印刷動作で特定品質の画像をシートに印刷するための複数の印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない第１印刷前動作の実行を指示する情報であり、
ユーザによって指定された複数の前記実行条件のうち、既に確定した確定条件が存在するか否かを判断する判断処理と、
前記確定条件が存在すると前記判断処理で判断したことに応じて、前記第１通信インタフェースを通じて前記プリンタに第２準備指示情報を送信する第２準備指示処理とを前記情報処理端末に実行させ、前記第２準備指示情報は、複数の前記印刷前動作のうち、前記確定条件によって動作内容が変化する第２印刷前動作の実行を指示する情報であり、
前記確定条件が存在しないと前記判断処理で判断した、或いは前記第２準備指示処理を実行したことに応じて、ユーザによって指定された画像データから前記印刷動作の対象となる印刷データを生成する生成処理と、
前記第１通信インタフェースを通じて前記プリンタに印刷指示情報を送信する印刷指示処理とを前記情報処理端末に実行させ、前記印刷指示情報は、前記生成処理で生成した前記印刷データに対する前記印刷動作を前記実行条件に従って実行させる情報であり、
前記プリンタは、
前記印刷前動作及び前記印刷動作を実行する動作部と、
第２通信インタフェースと、
コントローラとを備えており、
前記コントローラは、
前記第２通信インタフェースを通じて前記情報処理端末から前記第１準備指示情報を受信する第１受信処理と、
前記第１受信処理で前記第１準備指示情報を受信したことに応じて、前記動作部に前記第１印刷前動作を実行させる第１印刷前処理と、
前記第２通信インタフェースを通じて前記情報処理端末から前記第２準備指示情報を受信する第２受信処理と、
前記第２受信処理で前記第２準備指示情報を受信したことに応じて、前記動作部に前記第２印刷前動作を実行させる第２印刷前処理と、
前記第２通信インタフェースを通じて前記情報処理端末から前記印刷指示情報を受信する第３受信処理と、
前記第３受信処理で前記印刷指示情報を受信し且つ全ての前記印刷前動作を実行したことに応じて、前記印刷指示情報に従った前記印刷動作を前記動作部に実行させる印刷処理とを実行する印刷システム。
【請求項２】
前記情報処理端末は、メモリを備えており、
前記実行条件を示す条件情報は、前記メモリの第１領域に記憶されており、前記第１領域は、参照を許可する参照指示を前記ＯＳから受け付けた場合にのみ、記憶された情報を参照可能な領域であり、
前記ドライバプログラムは、
前記参照指示を前記ＯＳから受け付ける参照受付処理と、
前記参照受付処理で前記参照指示を受け付けたことに応じて、前記第１領域から読み出した前記条件情報を前記メモリの第２領域に記憶させる記憶処理とを、前記印刷指示受付処理に先立って前記情報処理端末に実行させ、前記第２領域は、前記参照指示を受け付けなくても記憶された情報を参照可能な領域であり、
前記判断処理において、前記第２領域に記憶されている前記条件情報で示される複数の前記実行条件の相関関係に基づいて、前記確定条件が存在するか否かを判断する請求項１に記載の印刷システム。
【請求項３】
前記条件情報は、前記情報処理端末にインストールされた他のプログラムも編集可能なパブリック条件を示すパブリック情報と、前記ドライバプログラムのみが編集可能なプライベート条件を示すプライベート情報とを含み、
前記ドライバプログラムは、前記判断処理において、前記パブリック条件によって変化し得る前記プライベート条件が確定したか否かを、前記プリンタの能力に基づいて判断する請求項２に記載の印刷システム。
【請求項４】
前記パブリック情報は、画像を印刷するシートのサイズを示すサイズ情報を含み、
前記プライベート情報は、シートの給紙元のトレイを示すトレイ情報を含み、
前記トレイ情報は、前記プリンタが画像を印刷可能な複数のサイズのシートのうち、全てのサイズのシートを支持可能な第１トレイ、或いは特定サイズのみを支持可能な第２トレイを示し、
前記ドライバプログラムは、
前記サイズ情報が前記特定サイズと異なるサイズを示し且つ前記トレイ情報が前記第２トレイを示す場合の前記印刷指示処理において、前記トレイ情報を前記第１トレイに変更した前記条件情報を含む前記印刷指示情報を前記プリンタに送信し、
前記判断処理において、前記第１トレイを示す前記トレイ情報を前記確定条件と判断する請求項３に記載の印刷システム。
【請求項５】
前記パブリック情報は、画像を印刷するシートの種類を示すシート情報を含み、
前記プライベート情報は、シートの給紙元のトレイを示すトレイ情報を含み、
前記トレイ情報は、前記プリンタが画像を印刷可能な複数の種類のシートのうち、全ての種類のシートを支持可能な第１トレイ、或いは特定種類のみを支持可能な第２トレイを示し、
前記ドライバプログラムは、
前記シート情報が前記特定種類と異なる種類を示し且つ前記トレイ情報が前記第２トレイを示す場合の前記印刷指示処理において、前記トレイ情報を前記第１トレイに変更した前記条件情報を含む前記印刷指示情報を前記プリンタに送信し、
前記判断処理において、前記第１トレイを示す前記トレイ情報を前記確定条件と判断する請求項３又は４に記載の印刷システム。
【請求項６】
前記動作部は、
前記第１トレイ及び前記第２トレイと、
トレイに支持されたシートを給送する給送ローラと、
前記給送ローラによって給送されたシートを搬送向きに搬送する搬送ローラとを備えており、
前記コントローラは、前記第１トレイを示す前記トレイ情報を含む前記第２準備指示情報を前記第２受信処理で受信したことに応じて、前記第１トレイに支持されたシートを、前記搬送ローラに到達する位置まで、前記給送ローラに給送させる給送処理を、前記第２印刷前処理として実行する請求項４又は５に記載の印刷システム。
【請求項７】
前記条件情報は、前記情報処理端末にインストールされた他のプログラムも編集可能なパブリック条件を示すパブリック情報と、前記ドライバプログラムのみが編集可能なプライベート条件を示すプライベート情報とを含み、
前記ドライバプログラムは、前記判断処理において、前記プライベート条件によって変化し得る前記パブリック条件が確定したか否かを判断する請求項２から６のいずれかに記載の印刷システム。
【請求項８】
前記パブリック情報は、カラー画像或いはモノクロ画像を示す色情報を含み、
前記プライベート情報は、前記印刷動作で使用可能な色を制限するか否かを示すカラー制限フラグを含み、
前記カラー制限フラグには、黒色のみの使用を許可する指示に対応する第１値、或いは全ての色の使用を許可する指示に対応する第２値が設定され、
前記ドライバプログラムは、
前記色情報がカラー画像を示し且つ前記カラー制限フラグに前記第１値が設定されている場合の前記印刷指示処理において、前記色情報をモノクロ画像に変更した前記条件情報を含む前記印刷指示情報を前記プリンタに送信し、
前記判断処理において、前記カラー制限フラグに前記第１値が設定されていることに応じて、モノクロ画像を示す前記色情報を前記確定条件と判断する請求項７に記載の印刷システム。
【請求項９】
前記動作部は、
シートを搬送向きに搬送する搬送ローラと、
前記搬送ローラによって搬送されたシートに対向するシート対向領域を含む領域を、前記搬送向きと交差する主走査方向に移動するキャリッジと、
前記キャリッジに搭載されており、ノズルからインクを吐出する記録ヘッドと、
前記シート対向領域から前記主走査方向に外れたフラッシング位置の前記キャリッジと対向し、前記ノズルから吐出されたインクを受けるインク受け部とを備えており、
前記コントローラは、モノクロ画像を示す前記色情報を含む前記第２準備指示情報を前記第２受信処理で受信したことに応じて、前記インク受け部に向けて前記記録ヘッドに黒色インクのみを吐出させるフラッシング処理を、前記第２印刷前処理として実行する請求項８に記載の印刷システム。
【請求項１０】
通信インタフェースを備える情報処理端末によって読み取り可能なドライバプログラムであって、
該ドライバプログラムは、
前記情報処理端末のＯＳから印刷指示を受け付ける印刷指示受付処理を前記情報処理端末に実行させ、前記印刷指示は、ユーザによって指定された実行条件に従った印刷動作をプリンタに実行させる指示がユーザによって入力されたことを示し、
前記印刷指示受付処理で前記印刷指示を受け付けたことに応じて、前記通信インタフェースを通じて前記プリンタに第１準備指示情報を送信する第１準備指示処理を前記情報処理端末に実行させ、前記第１準備指示情報は、前記印刷動作で特定品質の画像をシートに印刷するための複数の印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない第１印刷前動作の実行を指示する情報であり、
ユーザによって指定された複数の前記実行条件のうち、既に確定した確定条件が存在するか否かを判断する判断処理と、
前記確定条件が存在すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに第２準備指示情報を送信する第２準備指示処理とを前記情報処理端末に実行させ、前記第２準備指示情報は、複数の前記印刷前動作のうち、前記確定条件によって動作内容が変化する第２印刷前動作の実行を指示する情報であり、
前記確定条件が存在しないと前記判断処理で判断した、或いは前記第２準備指示処理を実行したことに応じて、ユーザによって指定された画像データから前記印刷動作の対象となる印刷データを生成する生成処理と、
前記通信インタフェースを通じて前記プリンタに印刷指示情報を送信する印刷指示処理とを前記情報処理端末に実行させ、前記印刷指示情報は、前記生成処理で生成した前記印刷データに対する前記印刷動作を前記実行条件に従って実行させる情報であるドライバプログラム。
【請求項１１】
印刷前動作及び印刷動作を実行する動作部と、通信インタフェースと、コントローラとを備えるプリンタであって、前記印刷動作は、印刷データで示される画像をシートに印刷する動作であり、前記印刷前動作は、特定品質の画像をシートに印刷するために、前記印刷動作に先立って実行される動作であり、
前記コントローラは、
前記通信インタフェースを通じて情報処理端末から第１準備指示情報を受信する第１受信処理と、
前記第１受信処理で前記第１準備指示情報を受信したことに応じて、前記動作部に第１印刷前動作を実行させる第１印刷前処理とを実行し、前記第１印刷前動作は、複数の前記印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない前記印刷前動作であり、
前記通信インタフェースを通じて前記情報処理端末から第２準備指示情報を受信する第２受信処理と、
前記第２受信処理で前記第２準備指示情報を受信したことに応じて、前記動作部に第２印刷前動作を実行させる第２印刷前処理とを実行し、前記第２印刷前動作は、複数の前記印刷前動作のうち、確定条件によって動作内容が変化する前記印刷前動作であり、前記確定条件は、ユーザによって指定された複数の前記実行条件のうち、既に確定した条件であり、
前記通信インタフェースを通じて前記情報処理端末から印刷指示情報を受信する第３受信処理と、
前記第３受信処理で前記印刷指示情報を受信し且つ全ての前記印刷前動作を実行したことに応じて、前記印刷指示情報に従った前記印刷動作を前記動作部に実行させる印刷処理とを実行するプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理端末の指示に従ってプリンタが印刷動作を実行する印刷システムに関する。
【背景技術】
【０００２】
特許文献１に記載のホストは、印刷前準備をプリンタに指示した後に印刷データを生成し、生成した印刷データをプリンタに送信する。また、特許文献１に記載のプリンタは、ホストからの印刷前準備の指示に従ってヘッドメンテナンスを実行し、ホストから受信した印刷データに従って印刷を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１６３２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のプリンタは、印刷前処理としてヘッドメンテナンスの例しか記載されていない。しかしながら、ヘッドメンテナンスは、直前にインクが吐出されている場合には実行する必要がない。また、印刷前処理として給紙動作を行う事ができれば、さらに印刷時間を短縮できる効果がある。すなわち、特許文献１の技術では、印刷動作の実行指示が入力されてから最初のシートがプリンタから排出されるまでの所要時間であるＦＰＯＴ（Ｆｉｒｓｔ  Ｐｒｉｎｔ  Ｏｕｔ  Ｔｉｍｅの略）を短縮する効果が限定的である。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、ＦＰＯＴをさらに短縮した印刷システムを提供することにある。
【課題を解決するための手段】
【０００６】
本明細書に記載の印刷システムは、第１通信インタフェースを備える情報処理端末によって読み取り可能なドライバプログラムと、プリンタとからなる。前記ドライバプログラムは、前記情報処理端末のＯＳから印刷指示を受け付ける印刷指示受付処理を前記情報処理端末に実行させる。前記印刷指示は、ユーザによって指定された実行条件に従った印刷動作を前記プリンタに実行させる指示がユーザによって入力されたことを示す。前記ドライバプログラムは、前記印刷指示受付処理で前記印刷指示を受け付けたことに応じて、前記第１通信インタフェースを通じて前記プリンタに第１準備指示情報を送信する第１準備指示処理を前記情報処理端末に実行させる。前記第１準備指示情報は、前記印刷動作で特定品質の画像をシートに印刷するための複数の印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない第１印刷前動作の実行を指示する情報である。前記ドライバプログラムは、ユーザによって指定された複数の前記実行条件のうち、既に確定した確定条件が存在するか否かを判断する判断処理と、前記確定条件が存在すると前記判断処理で判断したことに応じて、前記第１通信インタフェースを通じて前記プリンタに第２準備指示情報を送信する第２準備指示処理とを前記情報処理端末に実行させる。前記第２準備指示情報は、複数の前記印刷前動作のうち、前記確定条件によって動作内容が変化する第２印刷前動作の実行を指示する情報である。前記ドライバプログラムは、前記確定条件が存在しないと前記判断処理で判断した、或いは前記第２準備指示処理を実行したことに応じて、ユーザによって指定された画像データから前記印刷動作の対象となる印刷データを生成する生成処理と、前記第１通信インタフェースを通じて前記プリンタに印刷指示情報を送信する印刷指示処理とを前記情報処理端末に実行させる。前記印刷指示情報は、前記生成処理で生成した前記印刷データに対する前記印刷動作を前記実行条件に従って実行させる情報である。前記プリンタは、前記印刷前動作及び前記印刷動作を実行する動作部と、第２通信インタフェースと、コントローラとを備えており、前記コントローラは、前記第２通信インタフェースを通じて前記情報処理端末から前記第１準備指示情報を受信する第１受信処理と、前記第１受信処理で前記第１準備指示情報を受信したことに応じて、前記動作部に前記第１印刷前動作を実行させる第１印刷前処理と、前記第２通信インタフェースを通じて前記情報処理端末から前記第２準備指示情報を受信する第２受信処理と、前記第２受信処理で前記第２準備指示情報を受信したことに応じて、前記動作部に前記第２印刷前動作を実行させる第２印刷前処理と、前記第２通信インタフェースを通じて前記情報処理端末から前記印刷指示情報を受信する第３受信処理と、前記第３受信処理で前記印刷指示情報を受信し且つ全ての前記印刷前動作を実行したことに応じて、前記印刷指示情報に従った前記印刷動作を前記動作部に実行させる印刷処理とを実行する。
【０００７】
上記構成によれば、情報処理端末が印刷データを生成するのと並行して、印刷動作の実行条件に応じて動作内容が変化しない第１印刷前動作に加えて、印刷動作の実行条件に応じて動作内容が変化する第２印刷前動作をプリンタに実行させることができるので、ＦＰＯＴをさらに短縮することができる。
【０００８】
本明細書に記載のドライバプログラムは、通信インタフェースを備える情報処理端末によって読み取り可能である。該ドライバプログラムは、前記情報処理端末のＯＳから印刷指示を受け付ける印刷指示受付処理を前記情報処理端末に実行させる。前記印刷指示は、ユーザによって指定された実行条件に従った印刷動作をプリンタに実行させる指示がユーザによって入力されたことを示す。該ドライバプログラムは、前記印刷指示受付処理で前記印刷指示を受け付けたことに応じて、前記通信インタフェースを通じて前記プリンタに第１準備指示情報を送信する第１準備指示処理を前記情報処理端末に実行させる。前記第１準備指示情報は、前記印刷動作で特定品質の画像をシートに印刷するための複数の印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない第１印刷前動作の実行を指示する情報である。該ドライバプログラムは、ユーザによって指定された複数の前記実行条件のうち、既に確定した確定条件が存在するか否かを判断する判断処理と、前記確定条件が存在すると前記判断処理で判断したことに応じて、前記通信インタフェースを通じて前記プリンタに第２準備指示情報を送信する第２準備指示処理とを前記情報処理端末に実行させる。前記第２準備指示情報は、複数の前記印刷前動作のうち、前記確定条件によって動作内容が変化する第２印刷前動作の実行を指示する情報である。該ドライバプログラムは、前記確定条件が存在しないと前記判断処理で判断した、或いは前記第２準備指示処理を実行したことに応じて、ユーザによって指定された画像データから前記印刷動作の対象となる印刷データを生成する生成処理と、前記通信インタフェースを通じて前記プリンタに印刷指示情報を送信する印刷指示処理とを前記情報処理端末に実行させる。前記印刷指示情報は、前記生成処理で生成した前記印刷データに対する前記印刷動作を前記実行条件に従って実行させる情報である。
【０００９】
本明細書に記載のプリンタは、印刷前動作及び印刷動作を実行する動作部と、通信インタフェースと、コントローラとを備える。前記印刷動作は、印刷データで示される画像をシートに印刷する動作である。前記印刷前動作は、特定品質の画像をシートに印刷するために、前記印刷動作に先立って実行される動作である。前記コントローラは、前記通信インタフェースを通じて情報処理端末から第１準備指示情報を受信する第１受信処理と、前記第１受信処理で前記第１準備指示情報を受信したことに応じて、前記動作部に第１印刷前動作を実行させる第１印刷前処理とを実行する。前記第１印刷前動作は、複数の前記印刷前動作のうち、前記印刷動作の実行条件によって動作内容が変化しない前記印刷前動作である。前記コントローラは、前記通信インタフェースを通じて前記情報処理端末から第２準備指示情報を受信する第２受信処理と、前記第２受信処理で前記第２準備指示情報を受信したことに応じて、前記動作部に第２印刷前動作を実行させる第２印刷前処理とを実行する。前記第２印刷前動作は、複数の前記印刷前動作のうち、前記確定条件によって動作内容が変化する前記印刷前動作である。前記コントローラは、前記通信インタフェースを通じて前記情報処理端末から印刷指示情報を受信する第３受信処理と、前記第３受信処理で前記印刷指示情報を受信し且つ全ての前記印刷前動作を実行したことに応じて、前記印刷指示情報に従った前記印刷動作を前記動作部に実行させる印刷処理とを実行する。
【図面の簡単な説明】
【００１０】
【図１】図１は、プリンタ１０のブロック図である。
【図２】図２は、シート対向領域を上から見た平面図である。
【図３】図３は、（Ａ）が情報処理端末５０のブロック図であり、（Ｂ）がデータ記憶領域６２Ｂに記憶された条件情報を示す図である。
【図４】図４は、キュー領域６７Ａ〜６７Ｃを説明するための図であって、（Ａ）はプリンタ１０Ａ、１０Ｂとキュー領域６７Ａ〜６７Ｃとの対応関係を、（Ｂ）は印刷指示情報が記憶されたキュー領域６７Ａを、（Ｃ）は準備指示情報が記憶されたキュー領域６７Ａを示す。
【図５】図５は、印刷指示処理のフローチャートである。
【図６】図６は、ＳｔａｒｔＤｏｃ処理のフローチャートである。
【図７】図７は、ＳｔａｒｔＰａｇｅ処理のフローチャートである。
【図８】図８は、準備指示処理のフローチャートである。
【図９】図９（Ａ）は確定判断処理Ａのフローチャートであり、図９（Ｂ）は確定判断処理Ｂのフローチャートである。
【図１０】図１０は、印刷処理のフローチャートである。
【図１１】図１１は、印刷前処理のフローチャートである。
【図１２】図１２（Ａ）は編集画面の一例であり、図１２（Ｂ）はプリンタ１０からシートが排出された状態を示す図である。
【図１３】図１３は、標準設定画面の表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できる。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１２】
本実施形態に係るシステムは、例えば、図１に示されるプリンタ１０と、図３（Ａ）に示される情報処理端末５０とを備える。プリンタ１０及び情報処理端末５０は、例えば、通信ネットワークを通じて相互に通信可能に構成されている。通信ネットワークの具体例は特に限定されないが、例えば、有線ＬＡＮ、無線ＬＡＮ、或いはＵＳＢケーブル等であってもよい。また、情報処理端末５０は、例えば図４（Ａ）に示されるように、複数のプリンタ１０Ａ、１０Ｂと通信可能であってもよい。
【００１３】
メーカは、例えば、図１に示されるプリンタ１０と、情報処理端末５０にインストール可能なドライバプログラム６６とのセットをユーザに提供する。そして、ドライバプログラム６６がユーザによって情報処理端末５０にインストールされることによって、本実施形態に係るシステムが構成される。ドライバプログラム６６は、例えば、プリンタ１０に同梱されたＣＤ−ＲＯＭ等の形式で提供されてもよいし、メーカのＷＥＢサイトを通じてダウンロード可能にされてもよい。
【００１４】
プリンタ１０は、図１及び図２に示されるように、電源部１１と、ディスプレイ１３と、入力Ｉ／Ｆ１４と、通信Ｉ／Ｆ１５と、動作部２０と、コントローラ４０とを主に備える。プリンタ１０を構成する各構成要素は、通信バスを通じて相互に接続されている。また図示は省略するが、プリンタ１０は、シートを支持する第１給送トレイと、シートを支持する第２給送トレイと、画像が印刷されたシートを支持する排出トレイとを備える。
【００１５】
第１給送トレイは、プリンタ１０が画像を印刷可能な複数のサイズ“Ａ４”、“Ｂ５”のシートの全てを支持することができる。一方、第２給送トレイは、プリンタ１０が画像を印刷可能な複数のサイズ“Ａ４”、“Ｂ５”のシートのうち、特定サイズ（例えば、“Ａ４”）のシートのみを支持することができる。また、第１給送トレイは、プリンタ１０が画像を印刷可能な複数の種類“普通紙”、“光沢紙”のシートの全てを支持することができる。一方、第２給送トレイは、プリンタ１０が画像を印刷可能な複数の種類“普通紙”、“光沢紙”のうち、特定種類（例えば、“普通紙”）のシートのみを支持することができる。
【００１６】
また、プリンタ１０には、第１給送トレイ及び第２給送トレイの一方が「優先トレイ」として指定されている。そして、プリンタ１０は、後述するトレイ情報に“Ａｕｔｏ”が設定された印刷指示情報を受信したことに応じて、優先トレイに支持されたシートに画像を印刷する。一方、プリンタ１０は、優先トレイに支持されたシートに画像を印刷できない場合に、優先トレイと異なるトレイに支持されたシートに画像を印刷する。さらに、プリンタ１０は、第１給送トレイ及び第２給送トレイの両方が装着された状態で動作することもできるし、第１給送トレイのみが装着された状態で動作することもできる。
【００１７】
本実施形態では、インクジェット方式のプリンタ１０の例を説明するが、プリンタ１０の印刷方式はインクジェット方式に限定されず、電子写真方式などの公知の方式であってもよい。なお、図４（Ａ）に示されるプリンタ１０Ａ、１０Ｂの基本的な構成は、図１及び図２に示されるプリンタ１０と同様であってもよい。
【００１８】
電源部１１は、電源プラグを通じて外部電源から供給された電力を、プリンタ１０の各構成要素に供給する。より詳細には、電源部１１は、外部電源から取得した電力を、動作部２０に駆動電力（例えば、２４Ｖ）として出力し、コントローラ４０に制御電力（例えば、５Ｖ）として出力する。また、図示は省略するが、電源部１１は、ディスプレイ１３、入力Ｉ／Ｆ１４、及び通信Ｉ／Ｆ１５にも電力を供給している。
【００１９】
また、電源部１１は、コントローラ４０から出力される電源信号に基づいて、駆動状態と休眠状態とに切り替えが可能である。より詳細には、コントローラ４０は、ＨＩＧＨレベルの電源信号（例えば、５Ｖ）を出力することによって、電源部１１を休眠状態から駆動状態に切り替える。また、コントローラ４０は、ＬＯＷレベルの電源信号（例えば、０Ｖ）を出力することによって、電源部１１を駆動状態から休眠状態に切り替える。
【００２０】
駆動状態とは、動作部２０に駆動電力を出力している状態である。換言すれば、駆動状態とは、動作部２０が動作可能な状態である。休眠状態とは、動作部２０に駆動電力を出力していない状態である。換言すれば、休眠状態とは、動作部２０が動作不能な状態である。一方、電源部１１は、駆動状態であるか休眠状態であるかに拘わらず、コントローラ４０に制御電力を出力している。また、図示は省略するが、入力Ｉ／Ｆ１４は、電源部１１が駆動状態であるか休眠状態であるかに拘わらず、ユーザ操作に応じた操作信号を出力することができる。また、通信Ｉ／Ｆ１５は、電源部１１が駆動状態であるか休眠状態であるかに拘わらず、外部装置から情報を受信することができる。
【００２１】
ディスプレイ１３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示面を備える。
【００２２】
入力Ｉ／Ｆ１４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ１４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ４１へ出力する。さらに、入力Ｉ／Ｆ１４は、ディスプレイ１３の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ１３の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ１３に表示された文字列、アイコン、ボタン、リンク等である。
【００２３】
タッチセンサとして実現される入力Ｉ／Ｆ１４は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ５３に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００２４】
通信Ｉ／Ｆ１５は、通信ネットワークを通じて外部装置と通信可能なインタフェースである。すなわち、プリンタ１０は、通信Ｉ／Ｆ１５を通じて外部装置に各種情報を出力し、通信Ｉ／Ｆ１５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ１５は、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）に従った通信手順で無線信号を送受信するものであってもよいし、ＬＡＮケーブル或いはＵＳＢケーブルが接続されるインタフェースであってもよい。
【００２５】
動作部２０は、コントローラ４０の指示に従って印刷動作及び印刷前動作を実行する。印刷動作は、シートに画像を印刷する動作である。印刷前動作は、印刷動作で特定品質の画像をシートに印刷するために、印刷動作に先立って実行される動作である。印刷動作及び印刷前動作の詳細は、後述する。動作部２０は、図１及び図２に示されるように、給送モータ２１と、搬送モータ２２と、キャリッジモータ２３と、給送ローラ２４、２５と、搬送ローラ２６と、キャリッジ２７と、記録ヘッド２８と、メンテナンス機構３０と、インク受け部３３と、駆動力伝達機構３５とを主に備える。
【００２６】
給送ローラ２４は、第１給送トレイに支持されたシートを、不図示の搬送路を通じて搬送ローラ２６に到達する位置まで給送する第１給送ローラの一例である。給送ローラ２５は、第２給送トレイに支持されたシートを、不図示の搬送路を通じて搬送ローラ２６に到達する位置まで給送する第２給送ローラの一例である。給送ローラ２４、２５は、駆動力伝達機構３５を通じて伝達された給送モータ２１の回転駆動力によって回転する。
【００２７】
搬送ローラ２６は、給送ローラ２４、２５によって給送されたシートを、図２に示されるシート対向領域へ向けて搬送方向に搬送する。シート対向領域は、シートとキャリッジ２７とが対面し得る主走査方向の領域を指す。搬送方向と主走査方向とは、互いに直交する方向である。また、搬送ローラ２６は、記録ヘッド２８によって画像が印刷されたシートを、排出トレイへ向けて搬送方向に搬送する。搬送ローラ２６は、駆動力伝達機構３５を通じて伝達された搬送モータ２２の回転駆動力によって回転する。搬送ローラ２６は、複数のローラによって構成されていてもよい。
【００２８】
キャリッジ２７は、図２に示されるように、シート対向領域を含む領域を主走査方向に移動する。より詳細には、キャリッジ２７は、シート対向領域から主走査方向の右方に外れたキャップ位置と、シート対向領域から主走査方向の左方に外れたフラッシング位置との間を移動する。キャリッジ２７は、キャリッジモータ２３の回転駆動力が伝達されて移動する。記録ヘッド２８は、キャリッジ２７に搭載されている。記録ヘッド２８の下面（以下、「ノズル面」と表記する。）には、複数のノズルが形成されている。記録ヘッド２８は、ピエゾ素子等の駆動素子が振動することによって、ノズルからインクを吐出する。
【００２９】
キャリッジ２７が主走査方向の一方から他方に移動する過程において、シート対向領域に位置するシートの印刷領域に対して記録ヘッド２８からインク滴が吐出される。これにより、シートに画像が印刷される。シートは、シートの短手方向に隣接する複数の印刷領域に区画される。そして、動作部２０は、後述する印刷動作において、複数の印刷領域それぞれに対して順番に画像を印刷する。
【００３０】
メンテナンス機構３０は、記録ヘッド２８をメンテナンスする。より詳細には、メンテナンス機構３０は、ノズル内のインクを吸引する所謂パージ動作を実行する。メンテナンス機構３０は、図２に示されるように、シート対向領域から主走査方向の右方に外れた位置に配置される。メンテナンス機構３０は、図１に示されるように、キャップ３１と、ポンプ３２とを主に備える。
【００３１】
キャップ３１は、キャップ位置のキャリッジ２７に搭載された記録ヘッド２８に対面する位置に配置されている。キャップ３１は、上下方向に離間した被覆位置及び離間位置の間を移動可能に構成されている。被覆位置のキャップ３１は、キャップ位置のキャリッジ２７の記録ヘッド２８に密着してノズル面を覆う。離間位置のキャップ３１は、ノズル面から離間する。不図示の昇降機構は、駆動力伝達機構３５を通じて伝達された給送モータ２１の回転駆動力によって、被覆位置及び離間位置の間でキャップ３１を移動させる。ポンプ３２は、被覆位置のキャップ３１を通じてノズル内のインクを吸引し、吸引したインクを不図示の廃インクタンクに排出する。ポンプ３２は、駆動力伝達機構３５を通じて伝達された搬送モータ２２の回転駆動力によって駆動する。
【００３２】
駆動力伝達機構３５は、給送モータ２１及び搬送モータ２２の駆動力を、給送ローラ２４、２５、搬送ローラ２６、キャップ３１の昇降機構、及びポンプ３２に伝達する。駆動力伝達機構３５は、歯車、プーリ、無端環状のベルト、振子ギヤ機構、及びワンウェイクラッチ等の全部又は一部を組み合わせて構成される。また、駆動力伝達機構３５による給送モータ２１及び搬送モータ２２の駆動力の伝達先は、キャリッジ２７によって切り替えられる。駆動力伝達機構３５は、駆動力の伝達先が異なる第１状態、第２状態、及び第３状態に切替可能に構成されている。
【００３３】
第１状態は、給送モータ２１の駆動力を、給送ローラ２４に伝達し、給送ローラ２５及びキャップ３１の昇降機構に伝達しない状態である。第２状態は、給送モータ２１の駆動力を、給送ローラ２５に伝達し、給送ローラ２４及びキャップ３１の昇降機構に伝達しない状態である。第３状態は、給送モータ２１の駆動力を、キャップ３１の昇降機構に伝達し、給送ローラ２４、２５に伝達しない状態である。また、第１状態及び第２状態は、搬送モータ２２の駆動力を、搬送ローラ２６に伝達し、ポンプ３２に伝達しない状態である。第２状態は、搬送モータ２２の駆動力を、搬送ローラ２６及びポンプ３２の両方に伝達する状態である。
【００３４】
駆動力伝達機構３５は、図２に示されるように、キャリッジ２７に当接し得る位置まで延出されたスライド部材３６を備える。スライド部材３６は、キャリッジ２７に接離されて主走査方向に移動する。駆動力伝達機構３５の状態は、主走査方向に移動するスライド部材３６によって切り替えられる。より詳細には、スライド部材３６が主走査方向に移動することによって、駆動力伝達機構３５を構成するギヤの噛合状態が変化する。
【００３５】
まず、キャップ位置まで右方に移動したキャリッジ２７がスライド部材３６に当接することによって、駆動力伝達機構３５が第３状態に切り替えられる。また、キャップ位置から左方に移動したキャリッジ２７がスライド部材３６から離間することによって、駆動力伝達機構３５が第３状態から第１状態に切り替えられる。さらに、キャップ位置の手前まで右方に移動したキャリッジ２７がスライド部材３６に当接することによって、駆動力伝達機構３５が第１状態から第２状態に切り替えられる。但し、本実施形態に係る駆動力伝達機構３５は、第３状態から第２状態に直接切り替えることができない。
【００３６】
コントローラ４０は、プリンタ１０の全体動作を制御するものである。コントローラ４０は、図１に示されるように、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ＥＥＰＲＯＭ４４、ＡＳＩＣ４５を主とするマイクロコンピュータである。
【００３７】
ＲＯＭ４２には、ＣＰＵ４１がプリンタ１０の動作を制御するためのプログラムが格納される。ＲＡＭ４３は、ＣＰＵ４１がプログラムを実行する際に用いる各種データを一時的に記録する記憶領域又は作業領域として使用される。ＥＥＰＲＯＭ４４には、電源オフ後も保持すべき設定やフラグ等が格納される。ＣＰＵ４１は、プログラムをＲＯＭ４２から読み出して実行することにより、プリンタ１０の動作を制御する。ＡＳＩＣ４５には、ディスプレイ１３と、入力Ｉ／Ｆ１４と、通信Ｉ／Ｆ１５と、給送モータ２１と、搬送モータ２２と、キャリッジモータ２３と、記録ヘッド２８とが接続されている。ＡＳＩＣ４５は、ＣＰＵ４１の指示に従ってプリンタ１０の各構成要素を動作させる。
【００３８】
ＲＯＭ４２、ＲＡＭ４３、ＥＥＰＲＯＭ４４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末５０のメモリ６２についても同様である。
【００３９】
ＡＳＩＣ４５は、各モータ２１、２２、２３へ駆動信号を出力する。モータ２１、２２、２３が回転すると、各ローラ２４、２５、２６はシートを搬送し、キャリッジ２７は主走査方向に移動する。ＡＳＩＣ４５は、ピエゾ素子等の駆動素子へ駆動信号を出力する。駆動信号が振動すると、記録ヘッド２８はノズルからインク滴を吐出する。ＡＳＩＣ４５は、ディスプレイ１３へ画像信号を出力し、ディスプレイ１３に画面を表示させる。ＡＳＩＣ４５は、入力Ｉ／Ｆ１４から出力される操作信号を取得する。ＡＳＩＣ４５は、通信Ｉ／Ｆ１５を通じて外部装置から情報を受信し、通信Ｉ／Ｆ１５を通じて外部装置に情報を送信する。また、ＡＳＩＣ４５には、周知の各種センサが接続されている。コントローラ４０は、当該センサから出力される検出信号に基づいて、搬送ローラ２６によって搬送されたシートの位置、キャリッジ２７の位置、及びキャップ３１の位置などを検知する。
【００４０】
情報処理端末５０は、図３（Ａ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。情報処理端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１は、プリンタ１０に含まれるディスプレイ１３、入力Ｉ／Ｆ１４、通信Ｉ／Ｆ１５、ＣＰＵ４１と同様の構成であるので、説明は省略する。
【００４１】
情報処理端末５０は、例えば、携帯電話、スマートフォン、タブレット端末、或いはＰＣ等であってもよい。情報処理端末５０は、コンピュータの一例である。情報処理端末５０の入力Ｉ／Ｆ５４は、例えば、マウス及びキーボードの組み合わせであってもよい。この場合において、ディスプレイ５３に表示されたアイコンの位置にマウスポインタを移動させてクリックするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００４２】
メモリ６２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、情報処理端末５０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ６１が備えるバッファ等、或いはそれらの組み合わせによって構成される。メモリ６２は、プログラム記憶領域６２Ａと、データ記憶領域６２Ｂとを有する。領域６２Ａには、ＯＳ６４と、編集プログラム６５と、ドライバプログラム６６とがインストールされている。領域６２Ａに記憶される各プログラムは、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。領域６２Ｂには、各プログラムの実行に必要なデータ或いは情報が記憶される。
【００４３】
本実施形態では、Ｗｉｎｄｏｗｓ（Microsoft Corporationの登録商標）  Ｏｐｅｒａｔｉｎｇ  ＳｙｓｔｅｍをＯＳ６４の具体例として説明するが、ＯＳ６４の具体例はこれに限定されず、例えば、Ａｎｄｒｏｉｄ（Google inc.の登録商標）  ＯＳ、ｉＯＳ（Cisco Systems,Inc.の登録商標）等であってもよい。
【００４４】
編集プログラム６５は、ユーザ操作に従ってコンテンツデータを編集するプログラムである。編集プログラム６５は、例えば図１２（Ａ）に示されるように、指定されたコンテンツデータで示される画像をディスプレイ５３に表示させ、コンテンツデータの編集を指示するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付け、受け付けたユーザ操作に従ってコンテンツデータを編集する。コンテンツデータの形式は、例えば、テキスト形式、画像形式、スプレッドシート形式、プレゼンテーション形式等が挙げられる。コンテンツデータは、１以上のページデータを含んでもよい。ページデータは、１枚のシートに印刷されるコンテンツを示すデータである。
【００４５】
ドライバプログラム６６は、ＯＳ６４から受け付けた印刷指示に従って、プリンタ１０に印刷動作を実行させるためのプログラムである。本実施形態に係るドライバプログラム６６は、図６及び図７に示されるように、第１モジュールの一例であるＵＩモジュール６６Ａと、第２モジュールの一例であるレンダリングモジュール６６Ｂとを含む。但し、ドライバプログラム６６は、単一のモジュールで構成されていてもよいし、他のモジュールをさらに含んでもよい。ドライバプログラム６６は、単一のモデルのプリンタ１０に対してのみ印刷動作を指示可能であってもよいし、複数のモデルのプリンタ１０に対して印刷動作を指示可能であってもよい。
【００４６】
ドライバプログラム６６には、ＯＳ６４によって指定された複数の関数が定義されている。そして、ドライバプログラム６６は、複数の関数がＯＳ６４によって特定の順序で呼び出されることによって、プリンタ１０に印刷動作を実行させることができる。本実施形態に係る印刷指示は、例えば、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣ”を引数として、ＵＩモジュール６６Ａに定義された第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”がＯＳ６４によって呼び出されたことを指す。
【００４７】
領域６２Ｂは、図３（Ａ）に示されるように、第１領域６２Ｃと、第２領域６２Ｄとを含む。第１領域６２Ｃは、例えば、ＯＳ６４に関する基本情報、或いはドライバプログラムの設定情報のデータベースである所謂レジストリである。第１領域６２Ｃに記憶された情報の参照手順は、ＯＳ６４によって規定されている。そして、ＯＳ６４は、参照手順に従って参照された情報の正しさを保証し、参照手順に従わずに参照された情報の正しさを保証しない。これに対して、第２領域６２Ｄに記憶された情報は、前述のような参照手順を踏むことなく、任意のタイミングで参照することができる。以下、「プログラムが領域６２Ｂに情報を記憶させる」と表記した場合、原則として当該情報が第２領域６２Ｄに記憶されるものとする。第１領域６２Ｃに記憶された情報の参照手順の例を、以下に説明する。
【００４８】
一例として、編集プログラム６５は、第２領域６２Ｄに特定のメモリ領域を確保する。そして、編集プログラム６５は、確保したメモリ領域の先頭アドレスを示す第１ポインタ“ＤＥＶＭＯＤＥ”を引数として、ＯＳ６４に定義された読出関数を呼び出す。ＯＳ６４は、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に、第１領域６２Ｃに記憶された情報をコピーする。これにより、編集プログラム６５は、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に第１領域６２Ｃからコピーされた情報を、読み出し或いは編集できるようになる。
【００４９】
他の例として、ドライバプログラム６６には、ＯＳ６４によって規定された関数（例えば、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”）が定義されている。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”と、第２ポインタとを引数として、第１関数を呼び出す。第２ポインタは、第１領域６２Ｃに記憶された情報が記憶されたメモリ領域の先頭アドレス、或いは第１領域６２Ｃから第２領域６２Ｄにコピーされた情報が記憶されたメモリ領域の先頭アドレスを示す。そして、ドライバプログラム６６は、第２ポインタで示されるメモリ領域に記憶された情報を、第１領域６２Ｃに記憶された情報として、読み出し或いは編集することができる。本実施形態において、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”及び第２ポインタを引数として指定して第１関数が実行されることを、第１領域６２Ｃに記憶された情報の参照を許可する参照指示と表記することがある。
【００５０】
第１領域６２Ｃは、例えば図３（Ｂ）に示されるように、条件情報を記憶している。条件情報は、プリンタ１０に実行させる印刷動作の実行条件を示すための情報である。本実施形態に係る条件情報は、サイズ情報と、色情報と、トレイ情報と、シート情報と、カラー制限フラグとを含む。但し、条件情報の具体例は、図３（Ｂ）に示される例に限定されない。
【００５１】
条件情報は、ドライバプログラム６６がインストールされたタイミングで第１領域６２Ｃに記憶される。また、ドライバプログラム６６は、第１領域６２Ｃに記憶された条件情報をユーザの指示に従って変更することができる。より詳細には、ドライバプログラム６６は、ＯＳ６４からの参照指示に従って第１領域６２Ｃから条件情報を読み出し、読み出した条件情報をディスプレイ５３に表示させる。次に、ドライバプログラム６６は、条件情報を変更するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、第１領域６２Ｃに記憶された条件情報を変更後の条件情報で上書きする。
【００５２】
条件情報は、パブリック情報と、プライベート情報とを含む。パブリック情報は、情報処理端末５０にインストールされた他のプログラム（例えば、編集プログラム６５）も編集可能な情報である。プライベート情報は、情報処理端末５０にインストールされた他のプログラムが編集不能な情報である。換言すれば、プライベート情報は、ドライバプログラム６６によってのみ編集が可能な情報である。図３（Ｂ）の例において、サイズ情報及び色情報はパブリック情報であり、トレイ情報、シート情報、及びカラー制限フラグはプライベート情報である。
【００５３】
サイズ情報は、印刷動作に用いるシートのサイズ（例えば、“Ａ４”、“Ｂ５”等）を示す。色情報は、印刷動作に用いるインクの数（例えば、“カラー”、“モノクロ”等）を示す。トレイ情報は、プリンタ１０が備える複数の給送トレイのうちの１つ（例えば、“トレイ１”、“トレイ２”、“Ａｕｔｏ”等）を示す。“トレイ１”はプリンタ１０の第１給送トレイに対応し、“トレイ２”はプリンタ１０の第２給送トレイに対応する。“Ａｕｔｏ”は、プリンタ１０に設定された優先トレイに対応する。シート情報は、印刷動作に用いるシートの種類（例えば、“普通紙”、“光沢紙”等）を示す。カラー制限フラグは、印刷動作で使用可能な色を制限するか否かを示す。カラー制限フラグには、黒色のみの使用を許可する指示に対応する第１値“ＯＮ”、或いは全ての色の使用を許可する指示に対応する第２値“ＯＦＦ”が設定される。
【００５４】
なお、パブリック情報のデータ構造はＯＳ６４によって定義されているが、図３（Ｂ）には代表的な項目のみが図示されている。一方、プライベート情報のデータ構造は、プリンタ１０毎或いはドライバプログラム６６毎に異なってもよい。以下、パブリック情報で示される実行条件を「パブリック条件」と表記し、プライベート情報で示される実行条件を「プライベート条件」と表記することがある。
【００５５】
また、領域６２Ｂは、図４（Ａ）に示されるように、１以上のキュー領域６７Ａ、６７Ｂ、６７Ｃを含む。キュー領域６７Ａ〜６７Ｃは、プリンタ１０Ａ、１０Ｂに送信すべき情報が記憶されるメモリ領域である。キュー領域６７Ａ〜６７Ｃは、プリンタ１０Ａ、１０Ｂを特定する所謂プリンタポートに対応付けられている。すなわち、キュー領域６７Ａ、６７Ｂには、プリンタ１０Ａに送信すべき情報が記憶される。また、キュー領域６７Ｃには、プリンタ１０Ｂに送信すべき情報が記憶される。また、ドライバプログラム６６には、例えば、情報を記憶させるべきキュー領域６７Ａ〜６７Ｃが、関数の引数としてＯＳ６４から指定される。以下、ドライバプログラム６６に対して指定されたキュー領域６７Ａ〜６７Ｃを、「指定キュー」と表記することがある。
【００５６】
キュー領域６７Ａ〜６７Ｃには、各種動作の実行をプリンタ１０Ａ、１０Ｂに指示するための情報が記憶される。より詳細には、キュー領域６７Ａ〜６７Ｃには、図４（Ｂ）に示される印刷指示情報、図４（Ｃ）に示される準備指示情報、及び不図示のステータス送信指示情報等が記憶される。印刷指示情報は、印刷動作の実行を指示するための情報であって、給送指示情報、頭出し指示情報、搬送指示情報、吐出指示情報、及び排出指示情報等を含む。準備指示情報は、印刷前動作の実行を指示するための情報である。不図示のステータス送信指示情報は、プリンタ１０Ａ、１０Ｂの状態を示すステータス情報の送信を指示するための情報である。但し、キュー領域６７Ａ〜６７Ｃに記憶される情報の具体例は、これらに限定されない。
【００５７】
キュー領域６７Ａは、ＯＳ６４が通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに送信する情報が、送信順を特定して記憶される領域である。換言すれば、ＯＳ６４は、キュー領域６７Ａに指示情報が記憶されているか否かを特定のタイミングでチェックする。そして、ＯＳ６４は、キュー領域６７Ａに指示情報が記憶されていると判断したことに応じて、当該指示情報を予め定められた送信順序で、通信Ｉ／Ｆ５５を通じてプリンタ１０に送信し、送信した指示情報をキュー領域６７Ａから削除する。キュー領域６７Ｂ、６７Ｃについても同様である。
【００５８】
より詳細には、キュー領域６７Ａに記憶される指示情報には、図４（Ｂ）及び図４（Ｃ）に示されるように、ジョブＩＤが付加される。ジョブＩＤは、キュー領域６７Ａ内において、連続して送信すべき指示情報を特定するための情報である。すなわち、複数の指示情報に同一のジョブＩＤが付加される場合がある。ＯＳ６４は、同一のジョブＩＤが付加された複数の指示情報を、キュー領域６７Ａに記憶された順に送信する。また、ＯＳ６４は、異なるジョブＩＤが付加された指示情報を、当該ジョブＩＤの生成順に送信する。
【００５９】
ＯＳ６４は、例えば図４（Ｂ）に示されるキュー領域６７Ａにおいて、まず、ジョブＩＤ“コンテンツデータＡ”が付加された搬送指示情報、吐出指示情報、及び排出指示情報をこの順に送信する。次に、ＯＳ６４は、ジョブＩＤ“コンテンツデータＢ”が付加された給送指示情報、及び頭出し指示情報をこの順に送信する。このとき、ジョブＩＤ“コンテンツデータＢ”が付加された給送指示情報が、ジョブＩＤ“コンテンツデータＡ”が付加された排出指示情報より先にキュー領域６７Ａに書き込まれていたとしても、排出指示情報が先に送信される。すなわち、同一のジョブＩＤが付加された複数の指示情報が書き込み順に連続して送信される。
【００６０】
［システムの動作］
図５〜図１１を参照して、本実施形態に係るシステムの動作を説明する。
【００６１】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ６１による処理は、ＯＳ６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００６２】
なお、図５〜図１１、特に図６及び図７には、本発明において特に重要な処理を図示し、各処理の間に実行される他の処理の図示を省略している。より詳細には、ＯＳ６４は、図６及び図７に図示されている関数の他に、不図示の関数を呼び出してもよい。また、以下の説明では、各関数の呼び出し時に指定される引数のうち、代表的な引数のみを説明しているが、他の引数が指定されていてもよい。さらに、以下の説明では、呼び出される各関数に定義された処理のうち、本発明において特に重要な処理を説明し、それ以外の処理の説明を省略している場合がある。
【００６３】
まず、情報処理端末５０の編集プログラム６５は、図１２（Ａ）に示される編集画面をディスプレイ５３に表示させる。編集画面は、読出指示アイコン１１１と、記憶指示アイコン１１２と、印刷指示アイコン１１３と、編集画像１１４とを含む。そして、編集プログラム６５は、編集画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。
【００６４】
読出指示アイコン１１１は、領域６２Ｂに記憶されたコンテンツデータを読み出す指示に対応する。記憶指示アイコン１１２は、編集画像１１４を示すコンテンツデータを領域６２Ｂに記憶させる指示に対応する。印刷指示アイコン１１３は、コンテンツデータに対する印刷動作を実行させる指示に対応する。編集画像１１４は、コンテンツデータに含まれるページデータで示される画像である。本実施形態に係る編集プログラム６５は、編集画像１１４の長手方向がディスプレイ５３の上下方向に沿うように、編集画像１１４を編集画面に表示させている。
【００６５】
編集プログラム６５は、読出指示アイコン１１１を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、読み出し可能な形式のコンテンツデータの一覧をディスプレイ５３に表示させる。次に、編集プログラム６５は、入力Ｉ／Ｆ５４を通じて指定されたコンテンツデータを領域６２Ｂから読み出す。そして、編集プログラム６５は、読み出したコンテンツデータで示される編集画像１１４をディスプレイ５３に表示させる。編集プログラム６５は、編集画像１１４の編集を指示するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、コンテンツデータを編集する。編集プログラム６５は、記憶指示アイコン１１２を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、編集されたコンテンツデータを領域６２Ｂに記憶させる。
【００６６】
編集プログラム６５は、印刷指示アイコン１１３を指定するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、編集中のコンテンツデータを識別するデータＩＤを、領域６２Ｂに一時記憶させる。以下、ここで一時記憶されたデータＩＤを「指定データＩＤ」と表記し、指定データＩＤで識別されるコンテンツデータを「指定コンテンツデータ」と表記する。本実施形態では、指定データＩＤ“コンテンツデータＣ”が一時記憶されたものとする。そして、編集プログラム６５は、印刷指示処理を実行する。印刷指示処理は、指定コンテンツデータに対する印刷動作をプリンタ１０に指示するための処理である。図５を参照して、印刷指示処理の詳細を説明する。
【００６７】
［印刷指示処理］
まず、編集プログラム６５は、条件情報を記憶させるのに必要なメモリ領域を領域６２Ｂの第２領域６２Ｄに確保する。また、編集プログラム６５は、確保したメモリ領域の先頭アドレスを示す第１ポインタ“ＤＥＶＭＯＤＥ”を引数として指定して、ＯＳ６４に定義された読出関数を呼び出す。これにより、第１領域６２Ｃに記憶された条件情報が、第１ポインタ“ＤＥＶＭＯＤＥ”で示されるメモリ領域に、ＯＳ６４によってコピーされる。以下、第２領域６２Ｄに確保されたメモリ領域に記憶される条件情報を「編集条件情報」と表記する。
【００６８】
次に、編集プログラム６５は、図１３に示される標準設定画面をディスプレイ５３に表示させる（Ｓ１１）。標準設定画面は、プルダウンメニュー１２１と、ラジオボタン１２２、１２３、１２４、１２５と、［ＯＫ］アイコン１２６と、［キャンセル］アイコン１２７とを含む。そして、編集プログラム６５は、標準設定画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１２）。
【００６９】
プルダウンメニュー１２１は、印刷動作を実行させるプリンタ１０を指定する指示に対応する。ラジオボタン１２２、１２３は、サイズ情報に設定され得る設定値“Ａ４”、“Ｂ５”に対応する。ラジオボタン１２４、１２５は、色情報に設定され得る設定値“カラー”、“モノクロ”に対応する。最初に表示される標準設定画面において、ラジオボタン１２３〜１２７の状態は、編集条件情報に設定された設定値に対応する。［ＯＫ］アイコン１２６は、編集条件情報で示される実行条件に従って、指定コンテンツデータに対する印刷動作をプリンタ１０に実行させる指示に対応する。［キャンセル］アイコン１２７は、印刷指示処理を終了させる指示に対応する。
【００７０】
編集プログラム６５は、プルダウンメニュー１２１に対するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、指定されたプリンタ１０を識別するプリンタＩＤ（以下、「指定プリンタＩＤ」と表記する。）を領域６２Ｂに一時記憶させる。本実施形態では、プリンタＩＤ“ＭＦＰ−Ａ”で識別されるプリンタ１０Ａが指定されたものとする。また、編集プログラム６５は、ラジオボタン１２２〜１２５に対するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：設定変更）、指定されたラジオボタン１２２〜１２５に対応する設定値で編集条件情報を更新する（Ｓ１３）。
【００７１】
そして、編集プログラム６５は、当該ユーザ操作を反映させた標準設定画面をディスプレイ５３に表示させる（Ｓ１１）。すなわち、編集プログラム６５は、印刷動作を実行させるプリンタ１０の指定と、編集条件情報に含まれるパブリック情報の変更とを、標準設定画面を通じて受け付けることができる。一方、編集プログラム６５は、編集条件情報に含まれるプライベート情報の変更を受け付けることができない。
【００７２】
編集プログラム６５は、［ＯＫ］アイコン１２６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：［ＯＫ］アイコン）、ＳｔａｒｔＤｏｃ処理を実行する（Ｓ１４）。一方図示は省略するが、編集プログラム６５は、［キャンセル］アイコン１２７の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、印刷指示処理を終了する。ＳｔａｒｔＤｏｃ処理は、プリンタ１０に印刷動作を実行させるための前処理である。図６を参照して、ＳｔａｒｔＤｏｃ処理の詳細を説明する。
【００７３】
［ＳｔａｒｔＤｏｃ処理］
まず、編集プログラム６５は、ＯＳ６４に定義された関数“ＳｔａｒｔＤｏｃ（）”を呼び出す（Ｓ２１）。以下、ステップＳｘｘで呼び出される関数を「関数Ｓｘｘ」と表記することがある。編集プログラム６５は、指定データＩＤ“コンテンツデータＣ”と、指定プリンタＩＤ”ＭＦＰ−Ａ”と、第１ポインタとを、関数Ｓ２１の引数として指定する。ＯＳ６４は、関数Ｓ２１が呼び出されたことに応じて、ドライバプログラム６６に定義された各種関数を特定の順序で呼び出す。また、ドライバプログラム６６は、ＯＳ６４によって呼び出された関数に定義された処理を実行する。これらの処理の詳細は省略する。
【００７４】
関数Ｓ２１が呼び出されたＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ２２）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＦＩＲＳＴ”と、第２ポインタとを、関数Ｓ２２の引数として指定する。第２ポインタは、例えば、条件情報が記憶されている第１領域６２Ｃの先頭アドレス、或いはＯＳ６４が第１領域６２Ｃから読み出した条件情報が記憶されたメモリ領域の先頭アドレスを示す情報である。
【００７５】
次に、ＵＩモジュール６６Ａは、関数Ｓ２２が呼び出されたことに応じて、第２ポインタで示されるメモリ領域に記憶された条件情報を読み出し、読み出した条件情報を第２領域６２Ｄに記憶させ（Ｓ２３）、関数Ｓ２２を終了する（Ｓ２４）。すなわち、ＵＩモジュール６６Ａは、ステップＳ２３において、第１領域６２Ｃから読み出された条件情報を第２領域６２Ｄに記憶させる。ドライバプログラム６６が実行するステップＳ２２の処理は参照受付処理の一例であり、ステップＳ２３の処理は記憶処理の一例である。
【００７６】
以下、ステップＳ２３で第２領域６２Ｄに記憶された条件情報を「退避条件情報」と表記する。ここで、編集条件情報と退避条件情報とは、プライベート情報は同一であり、パブリック情報は異なる可能性がある。より詳細には、ステップＳ１３で編集条件情報が更新されている場合、編集条件情報と退避条件情報とでパブリック情報は異なる。
【００７７】
また、関数Ｓ２１が呼び出されたＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ２５）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣ”を、関数Ｓ２５の引数として指定する。ステップＳ２５の処理は、ステップＳ２２の処理より後に実行される。次に、ＵＩモジュール６６Ａは、関数Ｓ２５が呼び出されたことに応じて（Ｓ２５）、準備指示処理を実行する（Ｓ２６）。準備指示処理は、印刷前動作の実行をプリンタ１０に指示する処理である。ＵＩモジュール６６Ａが実行するステップＳ２５の処理は、ＯＳ６４から印刷指示を受け付ける印刷指示受付処理の一例である。図８を参照して、準備指示処理の詳細を説明する。
【００７８】
なお、プリンタ１０に対する印刷前動作の実行指示は、プリンタ１０に印刷指示情報を送信することが確実な場合に行われることが望ましい。そして、標準設定画面の［ＯＫ］アイコン１２６が指定された後は、入力Ｉ／Ｆ５４を通じたユーザの指示を必要とせずに、プリンタ１０に印刷指示情報が送信される。すなわち、［ＯＫ］アイコン１２６の指定は、プリンタ１０に印刷動作の実行を指示するユーザの意思表示と捉えることができる。そこで、ＵＩモジュール６６Ａは、標準設定画面の［ＯＫ］アイコン１２６が指定された後に、準備指示処理を実行するのが望ましい。
【００７９】
より詳細には、編集プログラム６５は、標準設定画面の［ＯＫ］アイコン１２６の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：ＯＫアイコン）、関数Ｓ２１を呼び出す。ＯＳ６４は、関数Ｓ２１が呼び出された場合以外のタイミング（例えば、プリンタドライバの情報を参照するタイミング）でも、ＵＩモジュール６６Ａに定義された関数を呼び出すことがある。しかしながら、ＯＳ６４が関数Ｓ２５を呼び出すのは、関数Ｓ２１が呼び出された場合のみである。そこで、本実施形態に係るＵＩモジュール６６Ａは、関数Ｓ２１が呼び出されたことに応じて、準備指示処理を実行する。
【００８０】
［準備指示処理］
まず、ＵＩモジュール６６Ａは、生成識別情報の一例であるジョブＩＤ“＿＿準備＿＿”を生成する。そして、ＵＩモジュール６６Ａは、ジョブＩＤ“＿＿準備＿＿”で識別される準備ジョブを生成する（Ｓ６１）。なお、ＵＩモジュール６６Ａは、指定データＩＤとなり得る文字列と重複しないように、ジョブＩＤを生成する。指定データＩＤは、後述するステップＳ２９において、ジョブＩＤとして用いられるからである。後述するステップＳ６２、Ｓ６６でキュー領域６７Ａに書き込まれる各種指示情報には、ジョブＩＤ“＿＿準備＿＿”が付加される。
【００８１】
次に、ＵＩモジュール６６Ａは、第１準備指示情報をキュー領域６７Ａに記憶させる（Ｓ６２）。第１準備指示情報は、印刷前動作の実行を指示するための準備指示情報のうち、後述する特定条件情報を含まない準備指示情報である。換言すれば、第１準備指示情報は、後述する特定実行条件によって動作内容が変化しない第１印刷前動作を実行させるための情報である。キュー領域６７Ａに記憶された第１準備指示情報は、ＯＳ６４によってプリンタ１０Ａに送信される。ステップＳ６２の処理は、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに第１準備指示情報を送信する第１準備指示処理の一例である。
【００８２】
次に、ＵＩモジュール６６Ａは、後述する印刷指示情報に先立って、特定条件情報を送信するか否かを判断する（Ｓ６３）。特定条件情報は、図３（Ｂ）に示される条件情報の一部である。以下、特定条件情報で示される実行条件を「特定実行条件」と表記する。特定実行条件は、印刷前動作の動作内容を変化させる実行条件である。一例として、トレイ情報は、後述する給送処理において、シートの給送元を変化させる特定実行条件を示す。他の例として、色情報は、後述するフラッシング処理において、記録ヘッド２８に吐出させるインクの色を変化させる特定実行条件を示す。
【００８３】
一例として、ＵＩモジュール６６Ａは、特定条件情報に従った第２印刷前動作を、指定プリンタＩＤで識別されるプリンタ１０Ａが実行可能か否かを判断してもよい。より詳細には、ＵＩモジュール６６Ａは、特定条件情報に従った第２印刷前動作を実行可能か否かを示す能力情報を通信Ｉ／Ｆ５５を通じてプリンタ１０Ａから受信し、受信した能力情報に基づいて判断してもよい。
【００８４】
他の例として、ＵＩモジュール６６Ａは、特定条件情報を送信するか否かを指示するユーザ操作を入力Ｉ／Ｆ５４を通じて受け付け、受け付けた内容を示す設定情報を領域６２Ｂに事前に記憶させておいてもよい。そして、ＵＩモジュール６６Ａは、ステップＳ６３において、設定情報に示される内容に応じて、特定条件情報を送信するか否かを判断してもよい。また、ＵＩモジュール６６Ａは、複数の条件情報それぞれについて、送信するか否かの指示を受け付けてもよい。
【００８５】
また、ＵＩモジュール６６Ａは、ステップＳ２３で領域６２Ｂに記憶させた退避条件情報に特定条件情報が含まれるか否かを判断する（Ｓ６４）。一例として、特定条件情報となる条件情報は、ＵＩモジュール６６Ａのソースコードに予め記述されていてもよい。他の例として、ＵＩモジュール６６Ａは、どの条件情報が特定条件情報となるかを示す情報を、プリンタ１０Ａから受信してもよい。そして、ＵＩモジュール６６Ａは、ソースコードに記述された情報或いはプリンタ１０Ａから受信した情報と、退避条件情報とを照合して、特定条件情報の有無を判断してもよい。本実施形態では、前述したように、トレイ情報及び色情報が特定条件情報であるものとする。
【００８６】
さらに、ＵＩモジュール６６Ａは、ステップＳ６４で特定条件情報と判断された条件情報が既に確定しているか否かを判断する（Ｓ６５）。以下、確定した特定実行条件を「確定条件」と表記する。ステップＳ６５の処理は、判断処理の一例である。本実施形態に係るＵＩモジュール６６Ａは、ステップＳ６５において、第２領域６２Ｄに記憶された退避条件情報で示される複数の実行条件の相関関係に基づいて、確定条件が存在するか否かを判断する。図９を参照して、確定条件の有無を判断する処理の詳細を説明する。
【００８７】
［確定判断処理Ａ］
図９（Ａ）に示される確定判断処理Ａは、プライベート情報の１つであるトレイ情報が既に確定したか否かを判断する処理である。トレイ情報は、後述するステップＳ４５において、パブリック情報の１つであるサイズ情報の設定値によって変化し得る。しかしながら、前述したように、退避条件情報のサイズ情報は、編集条件情報のサイズ情報と異なる可能性がある。そこで、ＵＩモジュール６６Ａは、トレイ情報が確定しているか否かを、プリンタ１０Ａの能力に基づいて判断する。
【００８８】
まず、ＵＩモジュール６６Ａは、退避条件情報のトレイ情報に“Ａｕｔｏ”が設定されているか否かを判断する（Ｓ７１）。次に、ＵＩモジュール６６Ａは、トレイ情報に“Ａｕｔｏ”が設定されていると判断したことに応じて（Ｓ７１：Ｙｅｓ）、プリンタ１０Ａに装着されているトレイの数を判断する（Ｓ７２）。より詳細には、ＵＩモジュール６６Ａは、装着されたトレイの数を問い合わせる問合せ情報を、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに送信する。そして、ＵＩモジュール６６Ａは、問合せ情報の応答としてプリンタ１０Ａが送信したトレイ数情報を、通信Ｉ／Ｆ５５を通じて受信する。トレイ数情報は、プリンタ１０Ａの能力を示す情報の一例である。
【００８９】
そして、ＵＩモジュール６６Ａは、受信したトレイ数情報で示されるトレイの数が１つ、すなわち、第１給送トレイのみが装着されていると判断したことに応じて（Ｓ７２：Ｙｅｓ）、トレイ情報“Ａｕｔｏ＝トレイ１”が確定条件であると判断する（Ｓ７３→Ｓ６５：Ｙｅｓ）。すなわち、ＵＩモジュール６６Ａは、編集条件情報のサイズ情報にどのような値が設定されていたとしても、第１給送トレイに支持されたシートに画像が印刷されると判断する。
【００９０】
一方、ＵＩモジュール６６Ａは、受信したトレイ数情報で示されるトレイの数が複数、すなわち、第１給送トレイ及び第２給送トレイの両方が装着されていると判断したことに応じて（Ｓ７２：Ｎｏ）、トレイ情報“Ａｕｔｏ＝トレイ１”が確定条件でないと判断する（Ｓ６５：Ｎｏ）。すなわち、ＵＩモジュール６６Ａは、プリンタ１０Ａの優先トレイが第２給送トレイである場合に、編集条件情報のサイズ情報によって、第１給送トレイ及び第２給送トレイのどちらに支持されたシートに画像が印刷されるかを特定することができない。
【００９１】
また、ＵＩモジュール６６Ａは、トレイ情報に“Ａｕｔｏ”が設定されていないと判断したことに応じて（Ｓ７１：Ｎｏ）、退避条件情報のトレイ情報で示される給送トレイが支持可能なシートのサイズを判断する（Ｓ７４）。より詳細には、ＵＩモジュール６６Ａは、トレイ情報で示される給送トレイが支持可能なシートのサイズを問い合わせる問合せ情報を、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに送信する。そして、ＵＩモジュール６６Ａは、問合せ情報の応答としてプリンタ１０Ａが送信した支持可能サイズ情報を、通信Ｉ／Ｆ５５を通じて受信する。支持可能サイズ情報は、プリンタ１０Ａの能力を示す情報の一例である。
【００９２】
そして、ＵＩモジュール６６Ａは、プリンタ１０Ａが画像を印刷可能な全てのサイズを受信した支持可能サイズ情報が示すことに応じて（Ｓ７４：Ｙｅｓ）、退避条件情報のトレイ情報が確定条件であると判断する（Ｓ７３→Ｓ６５：Ｙｅｓ）。本実施形態では、トレイ情報が“トレイ１”である場合に、確定条件であると判断される。一方、ＵＩモジュール６６Ａは、支持可能サイズ情報が特定サイズのみを示すことに応じて（Ｓ７４：Ｎｏ）、退避条件情報のトレイ情報が確定条件でないと判断する（Ｓ６５：Ｎｏ）。本実施形態では、トレイ情報が“トレイ２”である場合に、確定条件でないと判断される。なお、プリンタ１０Ａが画像を印刷可能なシートのサイズは、ＵＩモジュール６６Ａに予め設定されていてもよいし、支持可能サイズ情報と共に複合機１０Ａから受信してもよい。
【００９３】
［確定判断処理Ｂ］
図９（Ｂ）に示される確定判断処理Ｂは、パブリック情報の１つである色情報が既に確定したか否かを判断する処理である。退避条件情報の色情報は、編集条件情報の色情報と異なる可能性がある。また、色情報は、後述するステップＳ４５において、プライベート情報の１つであるカラー制限フラグの設定値によって変化し得る。そこで、ＵＩモジュール６６Ａは、色情報が確定したか否かを、退避条件情報のカラー制限フラグに基づいて判断する。
【００９４】
まず、ＵＩモジュール６６Ａは、退避条件情報のカラー制限フラグの設定値を判断する（Ｓ７６）。そして、ＵＩモジュール６６Ａは、カラー制限フラグに第１値“ＯＮ”が設定されていることに応じて（Ｓ７６：ＯＮ）、色情報“モノクロ”が確定条件であると判断する（Ｓ７７→Ｓ６５：Ｙｅｓ）。すなわち、ＵＩモジュール６６Ａは、編集条件情報の色情報にどのような値が設定されていたとしても、シートにモノクロ画像が印刷されると判断する。一方、ＵＩモジュール６６Ａは、カラー制限フラグに第２値“ＯＦＦ”が設定されていることに応じて（Ｓ７６：ＯＦＦ）、色情報が確定条件でないと判断する（Ｓ６５：Ｎｏ）。すなわち、ＵＩモジュール６６Ａは、カラー画像及びモノクロ画像のどちらが印刷されるかを特定することができない。
【００９５】
図８に戻って、ＵＩモジュール６６Ａは、特定条件情報を事前送信すると判断し、退避条件情報に特定条件情報が含まれると判断し、且つ当該特定条件情報が既に確定していると判断したことに応じて（Ｓ６３：Ｙｅｓ＆Ｓ６４：Ｙｅｓ＆Ｓ６５：Ｙｅｓ）、第２準備指示情報をキュー領域６７Ａに記憶させる（Ｓ６６）。すなわち、ＵＩモジュール６６Ａは、トレイ情報“トレイ１”が確定条件だと判断したことに応じて（Ｓ７３）、トレイ情報“トレイ１”を含む第２準備指示情報を、キュー領域６２Ａに記憶させる（Ｓ６６）。また、ＵＩモジュール６６Ａは、色情報“モノクロ”が確定条件だと判断したことに応じて（Ｓ７７）、色情報“モノクロ”を含む第２準備指示情報を、キュー領域６２Ａに記憶させる（Ｓ６６）。
【００９６】
第２準備指示情報は、印刷前動作の実行を指示するための準備指示情報のうち、確定した特定条件情報を含む準備指示情報である。換言すれば、第２準備指示情報は、確定条件によって動作内容が変化する第２印刷前動作を実行させるための情報である。キュー領域６７Ａに記憶された第２準備指示情報は、ＯＳ６４によってプリンタ１０Ａに送信される。ステップＳ６６の処理は、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａに第２準備指示情報を送信する第２準備指示処理の一例である。
【００９７】
一例として、確定した特定条件情報が複数の場合において、ＵＩモジュール６６Ａは、全ての特定条件情報を含む１つの第２準備指示情報を、キュー領域６７Ａに記憶させてもよい。他の例として、確定した特定条件情報が複数の場合において、ＵＩモジュール６６Ａは、各々が特定条件情報の１つを含む複数の第２準備指示情報を、キュー領域６７Ａに記憶させてもよい。この場合、複数の第２準備指示情報は、対応する印刷前動作の実行順序に合わせた順序でキュー領域６７Ａに記憶される。
【００９８】
一方、ＵＩモジュール６６Ａは、特定条件情報を送信しないと判断したことに応じて（Ｓ６３：Ｎｏ）、退避条件情報に特定条件情報が含まれないと判断したことに応じて（Ｓ６４：Ｎｏ）、或いは当該特定条件情報が確定していないと判断したことに応じて（Ｓ６５：Ｎｏ）、ステップＳ６６の処理を実行することなく、準備指示処理を終了する。
【００９９】
図６に戻って、ＵＩモジュール６６Ａは、関数Ｓ２５を終了する（Ｓ２７）。次に、ＯＳ６４は、関数Ｓ２５が終了したことに応じて（Ｓ２７）、レンダリングモジュール６６Ｂに定義された第２関数“ＤｒｖＳｔａｒｔＤｏｃ（）”を呼び出す（Ｓ２８）。ＯＳ６４は、Ｓ２１の引数として指定された指定データＩＤ“コンテンツデータＣ”及び第１ポインタを、関数Ｓ２８の引数として指定する。
【０１００】
次に、レンダリングモジュール６６Ｂは、関数Ｓ２８が呼び出されたことに応じて、引数として指定された指定データＩＤ“コンテンツデータＣ”をジョブＩＤとする印刷ジョブを、指定キューであるキュー領域６７Ａに生成して（Ｓ２９）、関数Ｓ２８を終了する（Ｓ３０）。後述するステップＳ４５、Ｓ４８、Ｓ５３でキュー領域６７Ａに書き込まれる各種指示情報には、ジョブＩＤ“コンテンツデータＣ”が付加される。但し、ジョブＩＤ“コンテンツデータＣ”で識別される印刷ジョブは、この時点では指示情報を含んでいない。関数Ｓ２８の引数として指定される指定データＩＤは、ＯＳ６４によって指定された指定識別情報の一例である。
【０１０１】
次に、ＯＳ６４は、関数Ｓ２８が終了したことに応じて（Ｓ３０）、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ３１）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＤＯＣＰＯＳＴ”を、関数Ｓ３１の引数として指定する。次に、ＵＩモジュール６６Ａは、関数Ｓ３１が呼び出されたことに応じて、指示解除処理を実行する（Ｓ３２）。
【０１０２】
指示解除処理は、準備ジョブに追加した準備指示情報をキュー領域６７Ａから削除する処理である。より詳細には、ＵＩモジュール６６Ａは、ステップＳ６４で一時記憶させたジョブＩＤ“＿＿準備＿＿”が付加された指示情報がキュー領域６７Ａに記憶されているか否かを判断する。ステップＳ６６でキュー領域６７Ａに準備指示情報が記憶されている場合とは、例えば、通信Ｉ／Ｆ５５が通信回線に接続されていない場合、プリンタ１０Ａの電源がＯＦＦされている場合などである。そして、ＵＩモジュール６６Ａは、キュー領域６７Ａに準備指示情報が記憶されていると判断したことに応じて、当該準備指示情報をキュー領域６７Ａから削除する。
【０１０３】
次に、ＵＩモジュール６６Ａは、関数Ｓ３１を終了する（Ｓ３３）。また、ＯＳ６４は、関数Ｓ３１が終了したことに応じて（Ｓ３３）、関数Ｓ２１を終了する（Ｓ３４）。これにより、ＳｔａｒｔＤｏｃ処理が終了される。関数Ｓ２１の次に図５に戻って、編集プログラム６５は、ＳｔａｒｔＰａｇｅ処理を実行する（Ｓ１５）。ＳｔａｒｔＰａｇｅ処理は、印刷指示情報を生成する生成処理の一例である。ＳｔａｒｔＰａｇｅ処理は、指定コンテンツデータに含まれるページデータ毎に実行される。ＳｔａｒｔＰａｇｅ処理の処理対象となるページデータは、例えば、編集プログラム６５によって関数の引数として指定される。図７を参照して、ＳｔａｒｔＰａｇｅ処理の詳細を説明する。
【０１０４】
［ＳｔａｒｔＰａｇｅ処理］
編集プログラム６５は、ＯＳ６４に定義された関数“ＳｔａｒｔＰａｇｅ（）”を呼び出す（Ｓ４１）。次に、ＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ４２）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＳＴＡＲＴＰＡＧＥ”を、関数Ｓ４２の引数として指定する。次に、ＵＩモジュール６６Ａは、特定の処理を実行して関数Ｓ４２を終了する（Ｓ４３）。
【０１０５】
次に、ＯＳ６４は、関数Ｓ４２が終了したことに応じて（Ｓ４３）、レンダリングモジュール６６Ｂに定義された関数“ＤｒｖＳｔａｒｔＰａｇｅ（）”を呼び出す（Ｓ４４）。次に、レンダリングモジュール６６Ｂは、関数Ｓ４４が呼び出されたことに応じて、第１ポインタで示される編集条件情報において、パブリック情報とプライベート情報との整合性を判断する。そして、レンダリングモジュール６６Ｂは、パブリック情報とプライベート情報とが整合していないと判断したことに応じて、パブリック情報及びプライベート情報の一方を他方に整合させる。
【０１０６】
一例として、レンダリングモジュール６６Ｂは、サイズ情報に特定サイズと異なるサイズが設定され、且つトレイ情報に“トレイ２”が設定されていることに応じて、トレイ情報を“トレイ１”に変更する。他の例として、レンダリングモジュール６６Ｂは、色情報に“カラー”が設定され、且つカラー制限フラグに第１値“ＯＮ”が設定されていることに応じて、色情報を“モノクロ”に変更する。
【０１０７】
また、レンダリングモジュール６６Ｂは、ヘッダ指示情報を生成し、生成したヘッダ指示情報をキュー領域６７Ａに記憶させる（Ｓ４５）。ヘッダ指示情報は、１枚のシートに画像を印刷する一連の動作において、シートに画像を印刷する前に実行すべき動作を指示するための印刷指示情報である。本実施形態に係るヘッダ指示情報は、給送指示情報及び頭出し指示情報である。給送指示情報は、編集条件情報のトレイ情報で示される給送トレイから給送ローラ２４、２５にシートを給送させるための情報である。頭出し指示情報は、給送されたシートの最初の印刷領域が記録ヘッド２８に対面する位置まで、当該シートを搬送ローラ２６に搬送させるための情報である。なお、レンダリングモジュール６６Ｂは、トレイ情報“シート１”を含む第２準備指示情報をステップＳ６６で送信したことに応じて、ステップＳ４５における給送指示情報の送信を省略してもよい。
【０１０８】
そして、レンダリングモジュール６６Ｂは、関数Ｓ４４を終了する（Ｓ４６）。次に、ＯＳ６４は、関数Ｓ４４が終了したことに応じて（Ｓ４６）、関数Ｓ４１を終了する（Ｓ４７）。次に、編集プログラム６５は、関数Ｓ４１が終了したことに応じて（Ｓ４７）、ＯＳ６４に定義された描画関数を呼び出す。また、ＯＳ６４は、編集プログラム６５によって描画関数が呼び出されたことに応じて、レンダリングモジュール６６Ｂに定義された描画関数を呼び出す。
【０１０９】
そして、複数の描画関数が特定の順序で実行されることによって、レンダリングモジュール６６Ｂは、ページデータから印刷データを生成する。印刷データは、例えば、ページデータをラスタライズしたラスタデータである。また、レンダリングモジュール６６Ｂは、印刷データに対する印刷動作を実行させるための印刷指示情報を生成し、生成した印刷指示情報をキュー領域６７Ａに記憶させる（Ｓ４８）。ステップＳ４８では、後述するように、吐出指示情報及び搬送指示情報が生成される。以下、レンダリングモジュール６６Ｂが印刷指示情報を生成する処理の詳細を説明する。
【０１１０】
まず、レンダリングモジュール６６Ｂは、ステップＳ２８以降の特定のタイミングにおいて、ラスタライズの対象として受け渡されるデータの単位を示す単位情報を、ＯＳ６４に通知する。単位情報には、例えば、ページデータの単位での受け渡しを指示する“ページ”、或いはバンドデータの単位での受け渡しを指示する“バンド”が設定される。バンドデータは、ページデータの一部のデータである。より詳細には、ページデータは、長手方向に隣接する複数のバンドデータに区画される。また、バンドデータで示される画像は、後述するパスデータで示される画像より面積が大きい。
【０１１１】
レンダリングモジュール６６Ｂは、例えば、編集条件情報のサイズ情報に特定サイズ（例えば、Ａ４）が設定されていることに応じて、単位情報“ページ”をＯＳ６４に通知する。特定サイズのシートは、プリンタ１０のローラ２４、２５、２６によって、当該シートの短手方向を搬送方向に一致させた状態で搬送される。また、特定サイズのシートには、当該シートの長手方向に沿って移動するプリンタ１０のキャリッジ２７によって、画像が印刷される。
【０１１２】
一方、レンダリングモジュール６６Ｂは、例えば、編集条件情報のサイズ情報に非特定サイズ（例えば、Ａ４以外）が設定されていることに応じて、単位情報“バンド”をＯＳ６４に通知する。非特定サイズのシートは、プリンタ１０のローラ２４、２５、２６によって、当該シートの長手方向を搬送方向に一致させた状態で搬送される。また、非特定サイズのシートには、当該シートの短手方向に沿って移動するプリンタ１０のキャリッジ２７によって、画像が印刷される。
【０１１３】
なお、単位情報は、例えば、ＯＳ６４によって呼び出された関数の戻り値として通知されてもよい。また、特定サイズは、例えば、プリンタ１０Ａ、１０Ｂ毎に異なっていてもよい。プリンタ１０Ａ、１０Ｂ毎の特定サイズは、ドライバプログラム６６のソースコードに記述されていてもよいし、ドライバプログラム６６がプリンタ１０Ａ、１０Ｂに問い合わせてもよい。
【０１１４】
単位情報“ページ”を取得したＯＳ６４は、ステップＳ４８において、ページデータを、レンダリングモジュール６６Ｂに引き渡す。レンダリングモジュール６６Ｂは、ＯＳ６４から引き渡されたページデータ全体をラスタライズしてラスタデータを生成する。次に、レンダリングモジュール６６Ｂは、領域６２Ｂに展開されたラスタデータを、領域６２Ｂ内で９０°回転させる。次に、レンダリングモジュール６６Ｂは、印刷領域の１つに印刷する画像を示す複数のパスデータを、９０°回転されたラスタデータから抽出する。
【０１１５】
そして、レンダリングモジュール６６Ｂは、抽出したパスデータそれぞれに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報を順番にキュー領域６７Ａに書き込む。レンダリングモジュール６６Ｂは、パスデータの抽出、吐出指示情報及び搬送指示情報の生成、生成した情報のキュー領域６７Ａへの書き込みを、ページデータに含まれる全てのパスデータに対して連続して実行する。
【０１１６】
吐出指示情報は、記録ヘッド２８に対面されたシートの印刷領域に対して画像を印刷するために、記録ヘッド２８によるインクの吐出タイミングを示すための情報である。すなわち、編集条件情報の色情報が“モノクロ”の場合の吐出指示情報は、ブラックインクの吐出タイミングを示す。一方、編集条件情報の色情報が“カラー”の場合の吐出指示情報は、各色（例えば、シアン、マゼンタ、イエロー、ブラック）のインクの吐出タイミングを示す。搬送指示情報は、次に画像を印刷する印刷領域が記録ヘッド２８に対面する位置まで、搬送ローラ２６にシートを搬送させるための情報である。
【０１１７】
一方、単位情報“バンド”を取得したＯＳ６４は、ステップＳ４８において、ページデータに含まれる複数のバンドデータのうちの１つを、レンダリングモジュール６６Ｂに引き渡す。レンダリングモジュール６６Ｂは、ＯＳ６４から引き渡されたバンドデータ全体をラスタライズしてラスタデータを生成する。次に、レンダリングモジュール６６Ｂは、ラスタデータに基づいて吐出指示情報及び搬送指示情報を生成し、生成した吐出指示情報及び搬送指示情報をキュー領域６７Ａに書き込む。そして、ページデータを構成する全てのバンドデータに対して、前述の処理が繰り返し実行される。
【０１１８】
すなわち、単位情報“ページ”の場合において、最初の吐出指示情報がキュー領域６７Ａに書き込まれるのは、ページデータ全体がラスタデータに変換され、且つ領域６２Ｂ内でラスタデータが９０°回転された後になる。一方、単位情報“バンド”の場合において、最初の吐出指示情報がキュー領域６７Ａに書き込まれるのは、ページデータの一部であるバンドデータ全体がラスタデータに変換された後になる。すなわち、［ＯＫ］アイコン１２６が指定されてから最初の吐出指示情報がキュー領域６７Ａに書き込まれるまでの時間は、単位情報“ページ”の場合が単位情報“バンド”の場合より長くなる。
【０１１９】
次に、編集プログラム６５は、指定されたページデータに対するステップＳ４８の処理が終了したことに応じて、ＯＳ６４に定義された関数“ＥｎｄＰａｇｅ（）”を呼び出す（Ｓ４９）。次に、ＯＳ６４は、第１関数“ＤｒｖＤｏｃｕｍｅｎｔＥｖｅｎｔ（）”を呼び出す（Ｓ５０）。ＯＳ６４は、定数“ＤＯＣＵＭＥＮＴＥＶＥＮＴ＿ＥＮＤＰＡＧＥ”を、関数Ｓ５０の引数として指定する。次に、ＵＩモジュール６６Ａは、特定の処理を実行して関数Ｓ５０を終了する（Ｓ５１）。
【０１２０】
次に、ＯＳ６４は、関数Ｓ５０が終了したことに応じて（Ｓ５１）、レンダリングモジュール６６Ｂに定義された関数“ＤｒｖＥｎｄＰａｇｅ（）”を呼び出す（Ｓ５２）。次に、レンダリングモジュール６６Ｂは、関数Ｓ５２が呼び出されたことに応じて、排出指示情報を生成し、生成した排出指示情報をキュー領域６７Ａに記憶させる（Ｓ５３）。排出指示情報は、画像が印刷されたシートを搬送ローラ２６にプリンタ１０の外部へ排出させるための情報である。
【０１２１】
図７に示されるＳｔａｒｔＰａｇｅ処理によってキュー領域６７Ａに書き込まれた複数の印刷指示情報は、ＯＳ６４によって書き込み順にプリンタ１０Ａに送信される。典型的には、ＯＳ６４は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信Ｉ／Ｆ５５を通じてプリンタ１０Ａにこの順で送信する。ステップＳ４５の処理、ステップＳ４８で印刷指示情報をキュー領域６７Ａに記憶させる処理、ステップＳ５３の処理は、通信Ｉ／Ｆ５５を通じてプリンタ１０に印刷指示情報を送信する印刷指示処理の一例である。
【０１２２】
そして、レンダリングモジュール６６Ｂは、関数Ｓ５２を終了する（Ｓ５４）。次に、ＯＳ６４は、関数Ｓ５２が終了したことに応じて（Ｓ５４）、関数Ｓ４９を終了する（Ｓ５５）。これにより、ＳｔａｒｔＰａｇｅ処理が終了される。次に図５に戻って、編集プログラム６５は、指定コンテンツデータに含まれる全てのページデータに対してＳｔａｒｔＰａｇｅ処理を実行したか否かを判断する（Ｓ１６）。そして、編集プログラム６５は、ＳｔａｒｔＰａｇｅ処理を実行していないページデータが存在すると判断したことに応じて（Ｓ１６：Ｙｅｓ）、当該ページデータに対するＳｔａｒｔＰａｇｅ処理を実行する（Ｓ１５）。
【０１２３】
そして、編集プログラム６５は、全てのページデータに対するＳｔａｒｔＰａｇｅ処理が終了したと判断したことに応じて（Ｓ１６：Ｎｏ）、ＥｎｄＤｏｃ処理を実行する（Ｓ１７）。ＥｎｄＤｏｃ処理は、プリンタ１０に印刷動作を実行させた後の後処理である。ＥｎｄＤｏｃ処理は、ＯＳ６４に定義された関数“ＥｎｄＤｏｃ（）”が編集プログラム６５によって呼び出されることによって開始される周知の処理なので、詳細の説明は省略する。
【０１２４】
［印刷処理］
次に、図１０を参照して、プリンタ１０によって実行される印刷処理を説明する。プリンタ１０は、通信Ｉ／Ｆ１５を通じて情報処理端末５０から準備指示情報或いは印刷指示情報を受信したことに応じて、印刷処理を実行する。以下の各処理は、ＲＯＭ４２に記憶されているプログラムをＣＰＵ４１が読み出して実行してもよいし、コントローラ４０に搭載されたハードウェア回路によって実現されてもよい。
【０１２５】
プリンタ１０のコントローラ４０は、通信Ｉ／Ｆ１５を通じて情報処理端末５０から準備指示情報を受信する（Ｓ８１：準備指示）。本実施形態に係るコントローラ４０は、第１準備指示情報、トレイ情報“トレイ１”を含む第２準備指示情報、色情報“モノクロ”を含む第２準備指示情報を、通信Ｉ／Ｆ１５を通じて情報処理端末５０からこの順に受信する。ステップＳ８１において、第１準備指示情報を受信する処理は第１受信処理の一例であり、第２準備指示情報を受信する処理は第２受信処理の一例である。
【０１２６】
次に、プリンタ１０は、第１準備指示情報を受信したことに応じて（Ｓ８１：準備指示）、電源部１１が休眠状態か否かを判断する（Ｓ８２）。コントローラ４０は、例えば、電源部１１の現在の状態を示すフラグ情報をＲＡＭ４３或いはＥＥＰＲＯＭ４４に記憶させておき、当該フラグ情報に基づいてステップＳ８２の判断を行ってもよい。但し、ステップＳ８２の判断の方法は、前述の例に限定されない。
【０１２７】
次に、コントローラ４０は、電源部１１が休眠状態だと判断したことに応じて（Ｓ８２：Ｙｅｓ）、電源部１１を休眠状態から駆動状態に切り替える（Ｓ８３）。より詳細には、コントローラ４０は、ＨＩＧＨレベルの電源信号を電源部１１に出力する。一方、コントローラ４０は、電源部１１が駆動状態だと判断したことに応じて（Ｓ８２：Ｎｏ）、ステップＳ８３の処理をスキップする。ステップＳ８２の処理は状態判断処理の一例であり、ステップＳ８３の処理は切替処理の一例である。
【０１２８】
次に、コントローラ４０は、準備指示情報を受信したことをディスプレイ１３を通じて報知する（Ｓ８４）。コントローラ４０は、例えば、ディスプレイ１３のバックライトを特定の時間だけ点灯させればよい。ステップＳ８４の処理は、報知処理の一例である。ディスプレイ１３は、報知部の一例である。但し、報知処理の具体例はこれに限定されず、不図示のＬＥＤランプを点灯させてもよいし、不図示のスピーカーに報知音を出力させてもよい。
【０１２９】
次に、コントローラ４０は、動作部２０に印刷前動作を実行させる（Ｓ８５）。印刷前動作は、印刷動作で特定品質の画像をシートに印刷するために、プリンタ１０が実行すべき動作である。図１１を参照して、動作部２０に印刷前動作を実行させる印刷前処理の詳細を説明する。印刷前処理の実行時点において、キャリッジ２７はキャップ位置であり、キャップ３１は被覆位置であり、駆動力伝達機構３５は第３状態であるものとする。
【０１３０】
コントローラ４０は、通信Ｉ／Ｆ１５を通じて情報処理端末５０から第１準備指示情報を受信したことに応じて、キャップ３１を被覆位置から離間位置に移動させる（Ｓ１０１）。次に、コントローラ４０は、キャリッジ２７をキャップ位置からフラッシング位置に移動させる（Ｓ１０２）。このとき、駆動力伝達機構３５は、キャップ位置からフラッシング位置に移動するキャリッジ２７がスライド部材３６から離間することによって、第３状態から第１状態に切り替えられる。ステップＳ１０１の処理は離間処理の一例であり、ステップＳ１０２の処理は移動処理及び切替処理の一例である。また、ステップＳ１０１、Ｓ１０２の処理は、特定条件情報によって動作内容が変化しない第１印刷前処理の一例である。
【０１３１】
次に、コントローラ４０は、トレイ情報“トレイ１”を含む第２準備指示情報を通信Ｉ／Ｆ１５を通じて情報処理端末５０から受信したことに応じて（Ｓ１０３：第１トレイ）、第１給送トレイに支持されたシートを、搬送ローラ２６に到達する位置まで、給送ローラ２４に給送させる（Ｓ１０４）。一方、コントローラ４０は、トレイ情報“トレイ１”を含む第２準備指示情報を受信しないことに応じて（Ｓ１０３：未受信）、ステップＳ１０４の処理をスキップする。ステップＳ１０４の処理は、給送処理の一例であり、特定条件情報によって動作内容が変化する第２印刷前処理の一例である。
【０１３２】
次に、コントローラ４０は、色情報“モノクロ”を含む第２準備指示情報を通信Ｉ／Ｆ１５を通じて情報処理端末５０から受信したことに応じて（Ｓ１０５：モノクロ）、インク受け部３３に向けて記録ヘッド２８にブラックインクのみを吐出させる（Ｓ１０６）。一方、コントローラ４０は、色情報“モノクロ”を含む第２準備指示情報を通信Ｉ／Ｆ１５を通じて情報処理端末５０から受信したことに応じて（Ｓ１０５：未受信）、インク受け部３３に向けて記録ヘッド２８に全ての色のインクを吐出させる（Ｓ１０７）。ステップＳ１０６、１０７の処理は、フラッシング処理の一例であり、特定条件情報によって動作内容が変化する第２印刷前処理の一例である。
【０１３３】
また、コントローラ４０は、複数の印刷前動作それぞれに対応するフラグ情報を、ＲＡＭ４３或いはＥＥＰＲＯＭ４４に記憶させておく。全てのフラグ情報には、印刷前処理の開始時点において、印刷前動作が終了していないことに対応する第２値“ＯＦＦ”が設定されている。そして、コントローラ４０は、印刷前動作の１つが終了したことに応じて、印刷前動作が終了したことに対応する第１値“ＯＮ”を、終了した印刷前動作に対応するフラグ情報に設定する。
【０１３４】
次に図１０に戻って、コントローラ４０は、通信Ｉ／Ｆ１５を通じて情報処理端末５０から印刷指示情報を受信する（Ｓ８１：印刷指示）。すなわち、本実施形態に係るコントローラ４０は、給送指示情報、頭出し指示情報、吐出指示情報、搬送指示情報、吐出指示情報、・・・、排出指示情報を、通信Ｉ／Ｆ１５を通じて情報処理端末５０からこの順に受信する。ステップＳ８１で印刷指示情報を受信する処理は、第３受信処理の一例である。
【０１３５】
次に、コントローラ４０は、印刷前処理が終了したか否かを判断する（Ｓ８６）。より詳細には、コントローラ４０は、印刷前動作に対応付けられた全てのフラグ情報に第１値“ＯＮ”が設定されていることに応じて、印刷前処理が終了したと判断する（Ｓ８６：Ｙｅｓ）。一方、コントローラ４０は、印刷前動作に対応付けられた少なくとも１つのフラグ情報に第２値“ＯＦＦ”が設定されていることに応じて、印刷前処理が終了していないと判断する（Ｓ８６：Ｎｏ）。
【０１３６】
準備指示情報と印刷指示情報との受信間隔は、例えば、ステップＳ４８の処理量、通信ネットワークの状態等によって変化する。すなわち、準備指示情報をトリガにして開始された印刷前処理は、印刷指示情報を受信した時点で終了していない可能性がある。また、コントローラ４０は、第２準備指示情報を受信していない場合に、第２印刷前処理の一部を実行していない可能性がある。
【０１３７】
そして、コントローラ４０は、印刷前処理で実行すべき印刷前動作のうちの少なくとも１つを実行していないと判断したことに応じて（Ｓ８６：Ｎｏ）、実行していない印刷前動作を動作部２０に実行させる（Ｓ８７）。より詳細には、コントローラ４０は、ステップＳ１０４の処理を未だ実行していないことに応じて、受信した給送指示情報に従って給送処理を実行する。すなわち、コントローラ４０は、給送指示情報で示される給送トレイに支持されたシートを、給送ローラ２４、２５に給送させる。
【０１３８】
一方、コントローラ４０は、印刷前処理で実行すべき全ての印刷前動作を実行したと判断したことに応じて（Ｓ８６：Ｙｅｓ）、ステップＳ８７の処理をスキップする。また、コントローラ４０は、ステップＳ１０４の処理を既に実行し、且つ給送指示情報を受信したことに応じて、受信した給送指示情報に従った処理を実行しない。
【０１３９】
次に、コントローラ４０は、頭出し指示情報に従った頭出し処理とを実行する（Ｓ８８）。すなわち、コントローラ４０は、給送処理で給送されたシートを、頭出し指示情報に示される位置まで搬送ローラ２６に搬送させる。そして、コントローラ４０は、印刷動作を動作部２０に実行させる（Ｓ８９〜Ｓ９２）。印刷動作は、印刷指示情報で示される実行条件に従って、印刷データで示される画像をシートに印刷する動作である。ステップＳ８９〜Ｓ９２の処理は、印刷処理の一例である。
【０１４０】
まず、コントローラ４０は、受信した吐出指示情報に従った吐出処理を実行する（Ｓ８９）。すなわち、コントローラ４０は、主走査方向の一方から他方にキャリッジ２７を移動させると共に、吐出指示情報に示される吐出タイミングで記録ヘッド２８にインクを吐出させる。次に、コントローラ４０は、シートの全ての印刷領域に画像を印刷したか否かを判断する（Ｓ９０）。換言すれば、コントローラ４０は、直近のステップＳ８９で用いた吐出指示情報の次に搬送指示情報及び排出指示情報のどちらを受信したかを判断する。
【０１４１】
次に、コントローラ４０は、シートの全ての印刷領域に画像を印刷していないと判断したことに応じて（Ｓ９０：Ｎｏ）、受信した搬送指示情報に従った搬送処理を実行する（Ｓ９１）。すなわち、コントローラ４０は、搬送指示情報に示される搬送量だけ搬送ローラ２６にシートを搬送させる。コントローラ４０は、シートの全ての印刷領域に画像を印刷するまで（Ｓ９０：Ｎｏ）、ステップＳ８９〜Ｓ９１の処理を繰り返し実行する。
【０１４２】
そして、コントローラ４０は、シートの全ての印刷領域に画像を印刷したと判断したことに応じて（Ｓ９０：Ｙｅｓ）、受信した排出指示情報に従った排出処理を実行する（Ｓ９２）。すなわち、コントローラ４０は、画像が印刷されたシートを搬送ローラ２６にプリンタ１０の外部へ排出させる。なお、指定コンテンツデータに複数のページデータが含まれる場合、ステップＳ８８〜Ｓ９２の処理が繰り返し実行される。これにより、ステップＳ４８で生成された印刷データで示される画像、換言すれば、指定コンテンツデータで示される画像がシートに印刷される。
【０１４３】
［本実施形態の作用効果］
上記の実施形態によれば、情報処理端末５０が印刷データを生成するのと並行して、印刷動作の実行条件に応じて動作内容が変化しない第１印刷前動作に加えて、印刷動作の実行条件に応じて動作内容が変化する第２印刷前動作をプリンタ１０に実行させることができるので、ＦＰＯＴをさらに短縮することができる。
【０１４４】
また、上記の実施形態のように、第１領域６２Ｃから読み出した条件情報を第２領域６２Ｄに退避させておくことにより、確定条件の有無を適切に判断することができる。さらに、プライベート情報は、情報処理端末５０にインストールされた他のプログラムによって編集されないので、第２領域６２Ｄに退避させた条件情報に基づいて確定条件の有無を適切に判断することができる。
【０１４５】
なお、図９に示される確定判断処理Ａ、Ｂは、ステップＳ６５で両方とも実行されてもよいし、いずれか一方のみが実行されてもよい。また、上記の実施形態では、サイズ情報とトレイ情報との相関関係、及び色情報とカラー制限フラグとの相関関係に基づいて、特定条件情報が確定しているか否かを判断する例を説明した。しかしながら、確定条件の有無を判断するための条件情報の組み合わせは、前述の例に限定されない。例えば、シート情報は、パブリック情報に含まれていてもよい。そして、ＵＩモジュール６６Ａは、シート情報とトレイ情報との相関関係に基づいて、トレイ情報が確定しているか否かを判断してもよい。
【０１４６】
すなわち、ＵＩモジュール６６Ａは、退避条件情報のトレイ情報に“トレイ１”が設定されていることに応じて、トレイ情報“トレイ１”が確定条件であると判断する。一方、ＵＩモジュール６６Ａは、退避条件情報のトレイ情報に“トレイ２”が設定されていることに応じて、トレイ情報が確定条件でないと判断する。その他の処理は、確定判断処理Ａと同様であってもよい。
【０１４７】
また、上記の実施形態によれば、準備指示情報を送信するか否かを関数Ｓ２５が実行されたタイミングで判断するので、不要な印刷前動作をプリンタ１０に実行させることがない。すなわち、印刷前動作の実行を適切なタイミングでプリンタ１０に指示することができる。また、準備指示情報に従ってプリンタ１０が印刷前動作を実行している間に、情報処理端末５０で印刷データが生成されるので、標準設定画面の［ＯＫ］アイコン１２６が指定されてから最初のシートがプリンタから排出されるまでの所要時間であるＦＰＯＴを短縮できる。
【０１４８】
また、上記の実施形態のプリンタ１０及び情報処理端末５０において、ＲＯＭ４２或いはメモリ６２に記憶された各種プログラムがＣＰＵ４１、６１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１４９】
さらに、本発明は、プリンタ１０及び情報処理端末５０として実現できるだけでなく、プリンタ１０及び情報処理端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じてプリンタ１０及び情報処理端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１５０】
１０・・・プリンタ
１３，５３・・・ディスプレイ
１４，５４・・・入力Ｉ／Ｆ
１５，５５・・・通信Ｉ／Ｆ
４０・・・コントローラ
４１，６１・・・ＣＰＵ
４２・・・ＲＯＭ
５０・・・情報処理端末
６２・・・メモリ
６６・・・ドライバプログラム
【図１】
0006642210.tif 000002
【図２】
0006642210.tif 000003
【図３】
0006642210.tif 000004
【図４】
0006642210.tif 000005
【図５】
0006642210.tif 000006
【図６】
0006642210.tif 000007
【図７】
0006642210.tif 000008
【図８】
0006642210.tif 000009
【図９】
0006642210.tif 000010
【図１０】
0006642210.tif 000011
【図１１】
0006642210.tif 000012
【図１２】
0006642210.tif 000013
【図１３】
0006642210.tif 000014