JP5783672B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5783672B2
JP5783672B2 JP2009266563A JP2009266563A JP5783672B2 JP 5783672 B2 JP5783672 B2 JP 5783672B2 JP 2009266563 A JP2009266563 A JP 2009266563A JP 2009266563 A JP2009266563 A JP 2009266563A JP 5783672 B2 JP5783672 B2 JP 5783672B2
Authority
JP
Japan
Prior art keywords
status
storage area
priority
existing
stored
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.)
Active
Application number
JP2009266563A
Other languages
English (en)
Other versions
JP2011054145A (ja
JP2011054145A5 (ja
Inventor
秀幸 金森
秀幸 金森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009266563A priority Critical patent/JP5783672B2/ja
Publication of JP2011054145A publication Critical patent/JP2011054145A/ja
Publication of JP2011054145A5 publication Critical patent/JP2011054145A5/ja
Application granted granted Critical
Publication of JP5783672B2 publication Critical patent/JP5783672B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
従来、ホストコンピュータと印刷装置とから成る印刷システムにおいて、ホストコンピュータに組み込まれたプリンタドライバは、印刷データを生成し印刷装置に送信する機能を備えていた。また、プリンタドライバは、印刷処理中のプリンタのステータスを取得してホストコンピュータ上に表示する機能を備えていた(特許文献1参照)。
ドライバがプリンタのステータスをホストコンピュータ上に表示する方法として、例えばMac(登録商標) OS X(以下、単にOSという)が動作している装置では以下の様な方法がある。OSは、プリンタのステータスを表示する機能を備え、ドライバがプリンタのステータスをOSに通知すると、OSがステータスをダイアログ上に表示する。より具的に説明すると、OSは、ダイアログに表示するステータスを格納するバッファを備え、ドライバがプリンタのステータスをOSに通知すると、このバッファに格納された後、OSによってダイアログ上に表示される。一方、ドライバがダイアログに表示されたステータスのクリアをOSに通知すると、OSは、バッファからこのステータスを削除すると共にダイアログ上のステータスをクリアする。
特開2004−038659号公報
しかしながら、上記従来の技術には、次のような問題があった。
(1)OSのステータスを格納するバッファには複数のステータスを格納でき、これらは格納された順にダイアログに表示される。ドライバが印刷中にエラーステータスを検知して通知した後、更に異なるエラーステータスを検知して通知すると、OSは通知された順にこれらをバッファに格納し、ダイアログに表示する。よって、ドライバは、エラーステータスを、その優先度に従ってダイアログに表示することができなかった。
(2)印刷中はドライバだけでなく他のモジュールもステータスを通知し、これらは通知された順にOSのステータスを格納するバッファに格納され、通知元によらず格納された順にダイアログに表示される。ドライバがエラーステータスを通知した後、他のモジュールがステータスを通知し、更にドライバがステータスを通知すると、OSは通知された順にこれらをバッファに格納し、ダイアログに表示する。よって、ドライバと他のモジュールとのステータスが入り混じってダイアログに表示されることがある。
(3)印刷終了後もOSのステータスを格納するバッファに残っているステータスはダイアログに表示され続ける。よって、印刷終了と同時に解除されるエラーステータスが印刷終了後も表示され続けることがある。
本発明はこのような問題点に鑑みなされたもので、印刷装置のステータスを適切に表示することを目的とする。
そこで、本発明の情報処理装置は、格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断手段と、前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が高いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納手段と、を有し、前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする。
そこで、本発明の情報処理装置は、格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断手段と、前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が低いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納手段と、を有し、前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする。
本発明によれば、印刷装置のステータスを適切に表示することができる。
印刷システムのシステム構成等の一例を示す図である。 ステータスの通知から表示までの処理の概略を示すフローチャートである。 ステータス表示ダイアログの一例を示す図である。 図2(a)のS103にてプリンタドライバがステータスを通知する処理の詳細を示すフローチャートである。 エラー発生から解除までの操作の一例を示す図である。 ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 エラー発生から解除までの操作の一例を示す図である。 図7(a)のS605にて優先度の高いヘッド未装着エラーを通知するときの既存ステータスのクリア及び再通知に伴うステータス格納バッファの遷移を示す図である。 ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 ステータスの通知から格納までの概略を示すフローチャートである。 図10(a)のS1005にてプリンタドライバがステータス格納バッファに格納されたステータスを、その通知元に基づきソートする処理の詳細を示すフローチャートである。 優先度管理テーブルの一例を示す図である。 エラー発生の一例を示す図である。 図13(a)のS1402におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理に伴うステータス格納バッファの遷移を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 エラー発生の一例を示す図である。 図17(a)のS1502におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理に伴うステータス格納バッファの遷移を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 ステータスの通知から格納までの概略を示すフローチャートである。 図21(a)のS2005にてプリンタドライバがステータス格納バッファに格納されたステータスの格納順を確認する処理の詳細を示すフローチャートである。 エラー発生の一例を示す図である。 図23(a)のS1402におけるステータス格納バッファの状態と、図22のプリンタドライバの処理に伴うステータス格納バッファと、の遷移を示す図である。 印刷ジョブが開始されてから終了するまでのステータスの通知の概略を示すフローチャートである。 図25のS3005にてプリンタドライバが印刷終了時にステータス格納バッファに残るステータスが必要か否かを確認する処理の詳細を示すフローチャートである。 ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 図7(a)のS605にて優先度の高いヘッド未装着エラーを通知するときの既存ステータスのクリア及び再通知に伴うステータス格納バッファの遷移を示す図である。 ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理前とソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。 図11のプリンタドライバによるステータス格納バッファのソート処理前とソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
本実施形態の印刷システムの構成について、図1のブロック図を参照して説明する。図1は、印刷システムのシステム構成等の一例を示す図である。
図1の(a)において、データ処理装置01は、プリンタ20の制御を行う。本実施形態ではデータ処理装置01は、パーソナルコンピュータ(以下、PCと称す)であり、オペレーティングシステム(以下、OSと称す)としてMac(登録商標)OS Xがインストールされているものとする。OSは図1には示していないが、PCの資源、例えばPC内の各ブロックはOSにより管理されている。ここで、PCは、図1の(b)に示されるように、一般的な情報処理装置が備えるハードウェア構成を有している。CPU201は、演算処理を行い、バス208に接続された各構成要素を制御する処理装置である。ROM202は、データ読出し専用のメモリであり、基本制御プログラムが格納されている。RAM203は、データ読み書き用のメモリであり、CPU201の各種演算処理やデータの一時記憶用に用いられる。外部記憶装置204は、OSのシステムプログラム、及びプリンタドライバのプログラム等を記憶する。外部記憶装置204は、RAM203に比べてデータの入出力は遅いが、大容量のデータを保持することが可能である。外部記憶装置204は、主に磁気記憶装置(HDD)で構成されるが、CD、DVD、メモリカードといった外部メディアを装填してデータの読み込みや記録を行う装置であってもよい。入力装置205は、PCに文字やデータを入力するための装置であり、各種のキーボードやマウス等が該当する。表示装置206は、PCの処理結果を表示するための装置であり、CRT又は液晶モニター等が該当する。通信装置207は、LANに接続してTCP/IPによるデータ通信を行い、印刷装置(例えばプリンタ20等)と相互に通信を行う場合に使用される。
PCは、アプリケーション02、ジョブ制御部03、プリンタドライバ04、I/F(インタフェース)制御部05、ステータス格納バッファ06、ステータス表示部07、メッセージ格納部08を構成として含む。本実施形態ではOSの印刷制御システムとしてはMacOS Xに含まれるCUPS(Common UNIX(登録商標) Printing System)を想定している。ジョブ制御部03、ステータス格納バッファ06、ステータス表示部07はOSが制御する。I/F制御部05は、CUPSにおいてプリンタ20との通信を行うバックエンドを想定している。メッセージ格納部08は、プリンタのサポートする機能が記述されたPPD(PostScript Printer Description)ファイルを想定している。プリンタドライバ04は、印刷装置における印刷処理の状態を監視する監視手段の一例である。ジョブ制御部03は、ステータスを格納領域に格納、又は格納領域に格納されている前記ステータスを削除する制御手段の一例である。
ユーザがアプリケーションで作成したデータの印刷を要求すると、ジョブ制御部03は、データを受け取りプリンタドライバ04に送る。プリンタドライバ04は、データを受け取ると印刷データに変換し、I/F制御部05を経てプリンタ20に送信する。プリンタドライバ04は、その後、プリンタ20が印刷処理を完了するまでプリンタの状態を監視する。この間、プリンタドライバ04は、I/F制御部05を経てプリンタ20から取得したステータスをジョブ制御部03に定期的に通知する。また、プリンタドライバ04は、不要なステータスがあればそのステータスのクリアもジョブ制御部03に通知する。ジョブ制御部03は、通知されたステータスをステータス格納バッファ06に格納する。ステータス格納バッファ06は、ステータス格納領域の一例である。また、ジョブ制御部03は、ステータスのクリアが通知されると、該当するステータスをステータス格納バッファ06から取り除く。ステータス表示部07は、ステータス格納バッファ06に最も先に格納されたステータスを取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示する。プリンタドライバ04は、ジョブ制御部03とステータス格納バッファ06とステータス表示部07とを利用してプリンタのエラー等のメッセージの表示を行わせる。
図1中の通信インタフェース10は、PC01とプリンタ20とを接続する。本実施形態では、通信インタフェースはローカルインタフェースであるところのUSB(Universal Serial Bus)を想定している。プリンタ20は、I/F制御部21、印刷制御部22、印刷部23を構成として含む。プリンタ20は、I/F制御部21を経て、印刷データ及び制御コマンドの受信やプリンタのステータスの送信等を行う。印刷制御部22は、PC01から送信された印刷データ及び制御コマンドに基づき印刷部23を制御する。
図2は、ステータスの通知から表示までの処理の概略を示すフローチャートである。
図2(a)は、プリンタドライバ04の処理を、図2(b)は、ステータス表示部07の処理を、図2(c)は、ジョブ制御部03の処理を示すフローチャートである。印刷ジョブの処理が開始されると、プリンタドライバ04は、プリンタ20のステータスの監視を始める。S101で、プリンタドライバ04は、プリンタ20からステータス情報を取得し、S102でステータスを解析する。そして、S103で、プリンタドライバ04は、ジョブ制御部03に対してプリンタのステータスを通知する。S104で、プリンタドライバ04は、プリンタ20の印刷処理が終了したか否かを判断する。終了したと判断すると、プリンタドライバ04は、ステータスの監視を終了する。そうでなければ、プリンタドライバ04は、処理をS101に戻し、ステータスの監視を続ける。
ステータス表示部07は、ステータス表示ダイアログが起動されると、ステータスを取得して対応するメッセージをダイアログ上に表示する。S201で、ステータス表示部07は、ステータス取得要求をジョブ制御部03に対して発行する。ステータス表示部07は、S202でステータスを取得することができると、S203で最も先に通知されたステータスに対応するメッセージをPPDファイルから取得し、ダイアログ上に表示する(S204)。ユーザがダイアログを閉じるためのボタンが押下すると、ステータス表示部07は、ダイアログを閉じて処理を終了する。
ジョブ制御部03は、印刷ジョブの処理に伴いCUPSが起動されると、ステータスの管理を開始する。ジョブ制御部03は、印刷ジョブの処理中、プリンタドライバ04からのステータス通知を受け付け、そのステータスをステータス格納バッファ06に格納する。また、ジョブ制御部03は、ステータス表示部07からの要求に応じてステータス格納バッファ06に格納されたステータスを返却する。ジョブ制御部03は、S301にてドライバからのステータス通知を受けると、ステータスのセット通知かステータスのクリア通知かを判断する(S302、S304)。ステータスのセット通知であれば、ジョブ制御部03は、ステータス格納バッファ06に通知されたステータスを格納する(S303)。
ステータスのクリア通知であれば、ジョブ制御部03は、通知されたステータスをステータス格納バッファ06から削除する(S305)。ジョブ制御部03は、S306でジョブ情報の要求を受け付ける。ジョブ制御部03は、S307にて受け付けた要求がステータス取得要求か否かを判断し、ステータス取得要求であればステータス格納バッファ06に格納されたステータスを要求元に返却する。ジョブ制御部03は、ジョブが終了すると処理を終了する。
図3は、ステータス表示ダイアログの一例を示す図である。
本ダイアログは図2のS200で起動されるものである。ジョブ制御ボタン領域31には、削除ボタン、保留ボタン、再開ボタンがあり、各々のボタン操作によってユーザは、ジョブの削除、ジョブの保留及び保留したジョブの再開を指示することができる。ステータス表示領域32にはステータス格納バッファ06に格納されたステータスに対応するメッセージが表示される。複数のステータスがステータス格納バッファ06に格納されている場合は、先に格納されたステータスに対応するメッセージが表示される。先に格納されているステータスがクリアされると、次のステータスに対応するメッセージが順に表示される。ジョブ表示領域33には、印刷キューに投入されたジョブが表示される。
図4は、図2(a)のS103にてプリンタドライバがステータスを通知する処理の詳細を示すフローチャートである。
プリンタドライバ04は、S401でステータス格納バッファ06に格納されたステータスを取得すると、S402でこれらの既存ステータスを順に参照する。プリンタドライバ04は、S403で既存ステータスがプリンタドライバ04の通知したステータスと判断すると、新たに通知する新規ステータスとの優先度を比較する(S404)。プリンタドライバ04は、ステータスの優先度をステータスが警告、復帰可能なエラー又は復帰不可能なエラーの何れの状態か、またエラーであれば復帰するための操作手順(操作手順情報)に基づき決定する。なお、操作手順情報は、エラーに応じて設定され、例えば、プリンタドライバ04が内部に保持しているものとする。また、プリンタドライバ04は、各ステータス間の優先順位に関する情報を予め内部で保持するものとする。プリンタドライバ04は、S405にて既存ステータスの優先度が新規ステータスより低いと判断すると、既存ステータスをプリンタドライバ04の内部に保存した後(S406)、このステータスのクリアをジョブ制御部03に対して通知する(S407)。
そして、プリンタドライバ04は、S408にてステータス格納バッファ06から取得したステータスがまだ他にあると判断すると、S402に戻り、次のステータスを順に参照する。プリンタドライバ04は、S403で既存ステータスがドライバの通知したものでないと判断した場合、又はS405で既存ステータスの優先度が新規ステータスより高いと判断した場合、ステータスのクリアを通知せずにS408に進む。プリンタドライバ04は、ステータス格納バッファ06から取得したステータスを全て参照した後、新規ステータスをジョブ制御部03に通知する(S409)。そして、S410では、プリンタドライバ04は、S406で保存したステータスの有無を判断し、ステータスがあれば、それらを優先度の高い順にジョブ制御部03に再通知する(S411)。
なお、本実施形態では、ステータス表示部07は、ステータス格納バッファ06に最も先に格納されたステータスを取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示するとして説明を行っている。しかしながら、ステータス表示部07は、ステータス格納バッファ06に最も後に格納されたステータスを取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示するようにしてもよい。ステータス表示部07がこのような処理を行う場合、プリンタドライバ04は、図4のS405において、新規ステータスより優先度が高いか否かを判断し、高いと判断した場合、ステップS406に進む。そして、プリンタドライバ04は、図4のステップS411において、保存ステータスを優先度の低い順にジョブ制御部03に再通知するようにしてもよい。
図5は、エラー発生から解除までの操作の一例を示す図である。
図5では、後から優先度の低いエラーが発生し、その後、順に解除する操作の例が示されている。図5(a)は、エラー発生フローを、図5(b)は、エラーの優先度を示す。印刷中にインクがなくなると(S500)、プリンタ20ではインクなしエラーが発生する(S501)。ユーザはインクタンクを交換するためにプリンタ20のカバーを開ける(S502)。プリンタ20ではインクなしエラーに加えてカバーオープンエラーが発生する(S503)。図5の例では、インクタンク交換後にカバーを閉じる操作を想定しており、この操作手順に基づき、プリンタドライバ04は、カバーオープンエラーはインクなしエラーより優先度が低いとする。その後、ユーザがインクタンクの交換を終えて(S504)、カバーを閉じると(S505)印刷が続行される。この操作に伴う本実施形態でのステータス表示ダイアログ及びステータス格納バッファ06の遷移を次に示す。
図6は、ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
図6の(a)及び(b)は、図5(a)のS501におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。図6の例ではブラックインクの残量がなくなったことを想定している。プリンタ20でブラックインクなしエラーが発生すると、ジョブ制御部03は、プリンタドライバ04からの通知を受けてこのステータスをステータス格納バッファ06に順に格納する(図6(b)参照)。メッセージ表示領域にはステータス格納バッファ06に格納されたブラックインクなしエラーのステータスに対応するメッセージが表示される(図6(a)参照)。
図6の(c)及び(d)は、図5(a)のS503におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20でインクなしエラーに続いてカバーオープンエラーが発生すると、プリンタドライバ04ではカバーオープンエラーはインクなしエラーより優先度の低いと判断する。そして、プリンタドライバ04は、インクなしエラーのクリア及び再通知を行わずにカバーオープンエラーをジョブ制御部03に通知する。ジョブ制御部03は、この通知を受けてステータスをステータス格納バッファ06に格納する(図6(d)参照)。メッセージ表示領域には先に通知されたブラックインクなしエラーのメッセージが表示されているため、カバーオープンエラーは表示されない(図6(c)参照)。
図6の(e)及び(f)は、図5(a)のS504におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20でブラックインクなしエラーが解除されると、プリンタドライバ04は、ブラックインクなしエラーのクリアをジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からブラックインクなしエラーを削除する(図6(f)参照)。よって、ステータス格納バッファ06においてブラックインクなしエラーの次に格納されていたカバーオープンエラーがメッセージ表示領域に表示される(図6(e)参照)。ユーザがメッセージに従いカバーを閉じるとカバーオープンエラーが消えると共に印刷が続行される。
図7は、エラー発生から解除までの操作の一例を示す図である。
図7では、図5の操作に加えて更に後から優先度の高いエラーが発生し、その後、順に解除する操作の例が示されている。図7(a)は、操作フローを、図7(b)は、エラーの優先度を示す。印刷中にインクがなくなると(S600)、プリンタ20ではインクなしエラーが発生する(S601)。ユーザは、インクタンクを交換するためにプリンタ20のカバーを開ける(S602)。プリンタ20ではカバーオープンエラーが発生する(S603)。更にインクタンク交換に伴い、インクタンクをプリントヘッドから脱着する作業中にプリントヘッドが誤って外れたことを想定する。(S604)。プリンタ20では更にプリントヘッド未装着エラーが発生する(S605)。図7の例では、プリントヘッドを装着した後、そのプリントヘッドにインクタンクを取り付ける操作を想定しており、この操作手順に基づき、プリンタドライバ04は、プリントヘッド未装着エラーはインクなしエラーより優先度が高いとする。その後、ユーザはプリントヘッドを正しく装着する(S606)。次に新しいインクタンクをプリントヘッドに装着し(S607)、カバーを閉じると(S608)印刷が続行される。
この操作に伴う本実施形態でのステータス表示ダイアログ及びステータス格納バッファ06の遷移を次に示す。S600〜S603及びS607〜S608に伴うダイアログ及びバッファの状態の遷移は図5の操作時と同様であるので省略する。
図8は、図7(a)のS605にて優先度の高いヘッド未装着エラーを通知するときの既存ステータスのクリア及び再通知に伴うステータス格納バッファの遷移を示す図である。
プリンタドライバ04は、インクなしエラーとカバーオープンエラーとが発生している状態でヘッド未装着エラーの発生を検知する。するとプリンタドライバ04は、ヘッド未装着エラーより優先度の低いインクなしエラー及びカバーオープンエラーを内部に保存した後、これらをクリアするようジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からこれらのステータスを取り除く(図8(b)参照)。
次に、プリンタドライバ04が優先度の高いヘッド未装着エラーを通知すると、ジョブ制御部03は、このステータスをステータス格納バッファ06に格納する(図8(c)参照)。そして、プリンタドライバ04は、一旦内部に保存してクリアしたインクなしエラーとカバーオープンエラーとをジョブ制御部03に再通知する。ジョブ制御部03はこれらのステータスを順にステータス格納バッファ06に格納する(図8(d)参照)。
図9は、ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
図9の(a)及び(b)は、図7(a)のS605におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。ステータス格納バッファ06には、図8に示す遷移を経て、優先度の高いヘッド未装着エラーから順にステータスが格納されている(図9(b)参照)。メッセージ表示領域には優先度の高いヘッド未装着エラーが表示されている。(図9(a)参照)。
図9の(c)及び(d)は、図7(a)のS606におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20でヘッド未装着エラーが解除されると、プリンタドライバ04は、ヘッド未装着エラーのクリアをジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からヘッド未装着エラーを削除する(図9(d)参照)。よって、メッセージ表示領域に表示されていたヘッド未装着エラーのメッセージが消えて、ステータス格納領域において次に格納されていたインクなしエラーのメッセージが表示される(図9(c)参照)。
以上のようにして、本実施形態では新たなステータスを通知するとき、既にステータス格納バッファ06に格納されているステータスと比較して優先度の高いものから順に格納する。このことによって、優先度の高いメッセージからステータス表示ダイアログに表示することができる。つまり、本実施形態によれば、ステータスを優先度に従ってダイアログに表示することが可能になり、ユーザは重要なステータスから順に知ることができる。
<実施形態2>
次に、実施形態2を説明する。印刷システムの構成、ステータス表示部07の処理及びステータス表示ダイアログは、実施形態1と同様であるので説明を省略する。
図10は、ステータスの通知から格納までの概略を示すフローチャートである。
図10(a)は、プリンタドライバ04の処理を、図10(b)は、OSが制御するI/F制御部05であるバックエンドの処理を、図10(c)は、ジョブ制御部03の処理を示すフローチャートである。ジョブ制御部03は、印刷ジョブの処理中、複数のモジュールからの通知を受け付ける。図10の例ではプリンタドライバ04及びバックエンドからのステータス通知を受け付けることを想定している。ジョブ制御部03は、これらのモジュールからのステータス通知を受け付けると、同一のステータス格納バッファ06に順にステータスを格納する。ステータスの格納及び削除については、実施形態1の図2(c)のS301〜S305と同様であるので説明を省略する。
プリンタドライバ04は、印刷ジョブの処理が開始されるとプリンタ20のステータスの監視を始めると共に、定期的にステータス格納バッファ06のソートを行う。プリンタドライバ04は、S1001でプリンタ20からステータス情報を取得し、S1002でステータスを解析する。そして、プリンタドライバ04は、S1003でジョブ制御部03に対してプリンタ20のステータスを通知する。その後、プリンタドライバ04は、ステータス格納バッファ06に格納されるステータスをその通知元に基づきソートする。プリンタドライバ04は、S1004において、前回ソート処理を行ってから特定の時間経過したと判断すると、ソート処理を行う(S1005)。本実施形態では、例えば1分毎にソート処理を行うことを想定している。プリンタドライバ04は、S1006でプリンタ20の印刷処理が終了したか否かを判断する。プリンタドライバ04は、印刷処理が終了したと判断するとステータスの監視を終了する。そうでなければ、プリンタドライバ04は、処理をS1001に戻し、ステータスの監視及びステータス格納バッファ06のステータスのソートを続ける。
バックエンドは、印刷ジョブの処理が開始されるとデータ送受信のステータスの監視を始める。バックエンドは、S1101にてデータ送受信のステータスを解析し、S1102にて、そのステータスをジョブ制御部03に対して通知する。バックエンドは、S1103にてデータ送信が終了したか否かを判断する。バックエンドは、プリンタ20へのデータの送信が完了し、且つ、プリンタドライバ04からのデータ送信要求が終了したと判断すると、ステータスの監視を終了する。そうでなければ、バックエンドは、処理を、S1101に戻し、ステータスの監視を続ける。
図11は、図10(a)のS1005にてプリンタドライバがステータス格納バッファに格納されたステータスを、その通知元に基づきソートする処理の詳細を示すフローチャートである。
プリンタドライバ04は、S1301でステータス格納バッファ06に格納されたステータスを取得すると、ドライバ以外のステータスが混在するか否かを確認する(S1302)。プリンタドライバ04は、S1303にてステータスが混在すると判断すると、ソート後にドライバの通知したステータスとドライバ以外の通知したステータスの何れを優先して順に並べるか、優先通知元を決定する(S1304)。プリンタドライバ04は、優先順を、各通知元が通知したステータスが警告、復帰可能なエラー又は復帰不可能なエラーの何れの状態か、またエラーであれば復帰するための操作手順に基づき決定する。プリンタドライバ04は、各ステータス間の優先順位に関する情報を予め内部で保持する(図12参照)。
プリンタドライバ04は、ステータスを順に参照し(S1305)、優先通知元のステータスか否かを判断する(S1306)。優先通知元のステータスでなければ、プリンタドライバ04は、このステータスをドライバ内部に保存した後(S1307)、ステータスのクリアをジョブ制御部03に対して通知してステータス格納バッファ06から取り除く(S1308)。そして、プリンタドライバ04は、S1309にてステータス格納バッファ06から取得したステータスがまだ他にあると判断すると、S1305に戻り、次のステータスを順に参照する。プリンタドライバ04は、S1306にて優先通知元のステータスと判断すると、ステータスのクリアを通知せずにS1309に進む。
プリンタドライバ04は、ステータス格納バッファ06から取得したステータスを全て参照した後、S1307で保存したステータスの有無を判断する(S1310)。保存したステータスがあれば、プリンタドライバ04は、それらを優先度の高い順に再通知する(S1311)。なければ、プリンタドライバ04は、処理をS1312に進め、処理を終了する。プリンタドライバ04は、S1303にてドライバ以外のステータスが混在していないと判断すると、S1312に進み、処理を終了する。
なお、実施形態1で述べたように、ステータス表示部07は、ステータス格納バッファ06に最も後に格納されたステータスを取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示するようにしてもよい。ステータス表示部07がこのような処理を行う場合、プリンタドライバ04は、図11のS1306において、優先通知元ステータスか否かを判断し、優先通知元ステータスであると判断した場合、ステップS1307に進む。そして、プリンタドライバ04は、図11のステップS1311において、保存ステータスを優先度の低い順にジョブ制御部03に再通知するようにしてもよい。
図12は、優先度管理テーブルの一例を示す図である。
図12の例ではプリンタドライバ04以外の通知元としてバックエンドを想定している。プリンタドライバ04は、図11のS1304にてこのテーブルを参照し、優先度の最も高いステータスを通知した通知元を優先通知元とする。
図13は、エラー発生の一例を示す図である。
図13(a)は、ステータス遷移のフローを、図13(b)は、各々のステータスを検知して通知する通知元を示している。図13では、ブラックとシアンのインク残量警告、プリンタ20へのデータ送信タイムアウトエラーが図13(a)に示す順に発生したことを想定している。ブラックインク残量警告、シアンインク残量警告がプリンタ20で発生すると、プリンタドライバ04はこれらの警告ステータスをジョブ制御部03に通知する。
一方、プリンタ20へのデータ送信処理にトラブルが発生し、印刷データ送信タイムアウトが起こると、バックエンドは、送信タイムアウトエラーをジョブ制御部03に通知する。図13では、バックエンドによるデータ送信タイムアウトエラーは印刷続行不可能なエラーとし、プリンタドライバ04のインク残量警告より優先度が高いとしている。これらが図13(a)に示す順に発生すると、プリンタドライバ04とバックエンドとは各々のステータスをジョブ制御部03に対して順に通知する。これらの通知によるステータス表示ダイアログ及びステータス格納バッファ06を次に示す。
図14は、図13(a)のS1402におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
図13(a)に示す順にプリンタドライバ04とバックエンドとが各々のステータスをジョブ制御部03に通知すると、これらのステータスは順にステータス格納バッファ06に格納される(図14(b)参照)。メッセージ表示領域には、先に通知されたブラックインク残量警告が表示される(図14(a)参照)。
図15は、図11のプリンタドライバによるステータス格納バッファのソート処理に伴うステータス格納バッファの遷移を示す図である。
バックエンドのデータ送信タイムアウトエラーはプリンタドライバ04のインク残量警告より優先度が高いので、プリンタドライバ04は、優先通知元をバックエンドと決める。そして、プリンタドライバ04は、バックエンド以外のステータスである各色のインク残量警告を内部に保存した後、これらをクリアするようにジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からこれらのステータスを取り除く(図15(b)参照)。その後、プリンタドライバ04は、一旦内部に保存してクリアした各インク残量警告をジョブ制御部03に再通知する。ジョブ制御部03は、これらのステータスを順にステータス格納バッファ06に格納する(図15(c)参照)。
図16は、図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
プリンタドライバ04やバックエンドが通知したステータスは、ソートされてステータス格納バッファ06に格納され、また、優先度の高いバックエンドのステータスが先に格納される(図16(b)参照)。よって、優先度の高いバックエンドのステータスに対するメッセージがステータス表示領域に表示される(図16(a)参照)。また、ステータスの変化に伴って、バックエンドやプリンタドライバ04が通知したメッセージは図16(b)に示す格納順に従ってステータス表示領域に表示される。即ち、警告やエラーの解除に伴って、インク残量警告の表示→データ送信タイムアウトエラー→インク残量警告と順に表示されるのではなく、データ送信タイムアウトエラーの表示後、ブラックとシアンのインク残量警告が続けて表示される。したがって、ユーザは、関連するメッセージが続けて表示されるので、容易にジョブの状態を把握することができる。
図17は、エラー発生の一例を示す図である。
図17(a)は、ステータス遷移のフローを、図17(b)は各々のステータスを検知して通知する通知元を示している。図17では、ブラックとシアンのインクなしエラー、プリンタ20へのデータ送信拒否エラーが図17(a)に示す順に発生したことを想定している。ブラックインクなしエラー、シアンインクなしエラーがプリンタ20で発生すると、プリンタドライバ04は、これらのエラーステータスをジョブ制御部03に通知する。一方、プリンタ20が送信データを受け付けないとき、バックエンドは、送信拒否エラーをジョブ制御部03に通知する。
図17では、インクなしエラーの発生に伴いプリンタ20がPCからのデータ送信を拒否しているためにバックエンドで送信拒否エラーが起きたことを想定している。よって、バックエンドの送信拒否エラーはプリンタドライバ04のインクなしエラーより優先度が低いとしている。これらが図17(a)に示す順に発生すると、プリンタドライバ04とバックエンドとは各々のステータスをジョブ制御部03に対して順に通知する。これらの通知によるステータス表示ダイアログ及びステータス格納バッファ06を次に示す。
図18は、図17(a)のS1502におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
図17(a)に示す順にプリンタドライバ04やバックエンドが各々のステータスをジョブ制御部03に通知すると、これらのステータスは順にステータス格納バッファ06に格納される(図18(b)参照)。メッセージ表示領域には、ブラックインクなしエラーが表示される(図18(a)参照)。
図19は、図11のプリンタドライバによるステータス格納バッファのソート処理に伴うステータス格納バッファの遷移を示す図である。
バックエンドの送信拒否エラーはプリンタドライバ04のインクなしエラーより優先度が低いので、プリンタドライバ04は、優先通知元をプリンタドライバ04と決める。そして、プリンタドライバ04以外のステータスである送信拒否エラーを内部に保存した後、プリンタドライバ04は、これらをクリアするようにジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からこれらのステータスを取り除く(図19(b)参照)。その後、プリンタドライバ04は、一旦内部に保存してクリアした送信拒否エラーをジョブ制御部03に再通知する。ジョブ制御部03は、これらのステータスを順にステータス格納バッファ06に格納する(図19(c)参照)。
図20は、図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
プリンタドライバ04やバックエンドが通知したステータスは、ソートされてステータス格納バッファ06に格納され、また、優先度の高いプリンタドライバ04のステータスは先に格納される(図20(b)参照)。よって、優先度の高いプリンタドライバ04のステータスに対するメッセージがステータス表示領域に表示される(図20(a)参照)。
また、ステータスの変化に伴って、バックエンドやプリンタドライバ04が通知したメッセージは図20(b)に示す格納順に従ってステータス表示領域に表示される。よって、ユーザは、関連するメッセージが続けて表示されるので、容易にジョブの状態を把握することができる。
以上のようにして、本実施形態では、定期的にステータス格納バッファ06のステータスをその通知元に基づきソートすることによって、それらに対応するメッセージをその通知元に基づき順にステータス表示ダイアログに表示することができる。つまり、本実施形態によれば、ステータスをその通知元に基づきソートして順にダイアログに表示することが可能になり、ユーザは関連するステータスを容易に知ることができる。
なお、本実施形態では、ステータスの通知元の例として、プリンタドライバ04と、バックエンドとの2つを示しているが、これに限定されるものではなく、他の通知元が存在してもよい。また、ステータスの通知元に応じて予め優先度を設定しておき、プリンタドライバ04は、この通知元の優先度に応じて、定期的にステータス格納バッファ06のステータスを並べ替えるように制御を行ってもよい。
<実施形態3>
次に、実施形態3を説明する。印刷システムの構成、ステータス表示部07の処理及びステータス表示ダイアログは、実施形態1と同様であるので省略する。
図21は、ステータスの通知から格納までの概略を示すフローチャートである。
図21(a)は、プリンタドライバ04の処理を、図21(b)は、バックエンドの処理を、図21(c)は、ジョブ制御部03の処理を示すフローチャートである。プリンタドライバ04は、印刷ジョブの処理が開始するとプリンタ20のステータスの監視を始めると共に、定期的にステータス格納バッファ06の格納順の確認を行う。プリンタドライバ04は、S2001でプリンタ20からステータス情報を取得し、S2002でステータスを解析する。そして、プリンタドライバ04は、S2003でジョブ制御部03に対してプリンタ20のステータスを通知する。
その後、プリンタドライバ04は、ステータス格納バッファ06に格納されるステータスをその優先度に基づき並び替える。プリンタドライバ04は、S2004において、前回、格納順を確認してから特定の時間経過したと判断すると、格納順の確認処理を行う(S2005)。本実施形態では、プリンタドライバ04は、1分毎に格納順の確認処理を行うことを想定している。プリンタドライバ04は、S2006でプリンタ20の印刷処理が終了したか否かを判断する。プリンタドライバ04は、印刷処理が終了したと判断するとステータスの監視を終了する。そうでなければ、プリンタドライバ04は、処理をS2001に戻し、ステータスの監視及びステータス格納バッファ06のステータス格納順の確認を続ける。
バックエンドとジョブ制御部03との処理については、実施形態2の図10(b)、(c)と同様であるので説明を省略する。
図22は、図21(a)のS2005にてプリンタドライバがステータス格納バッファに格納されたステータスの格納順を確認する処理の詳細を示すフローチャートである。
プリンタドライバ04は、S2301でステータス格納バッファ06に格納されたステータスを取得し、ステータスを順に参照する(S2302)。まず、プリンタドライバ04は、参照するステータスのステータス格納バッファ06での格納順を、ジョブ制御部03等を介して取得し、記憶する(S2303)。次に、プリンタドライバ04は、ステータスの優先度を取得して(S2304)、記憶する(S2305)。
プリンタドライバ04は、ステータスの優先度をステータスが警告、復帰可能なエラー又は復帰不可能なエラーの何れの状態か、またエラーであれば復帰するための操作手順に基づき決定する。プリンタドライバ04は、各ステータス間の優先順位に関する情報を予め内部で保持する。プリンタドライバ04は、S2306にてステータス格納バッファ06から取得したステータスがまだ他にあると判断すると、S2302に戻り、次のステータスを順に参照する。
プリンタドライバ04は、ステータス格納バッファ06から取得したステータスを全て参照した後、それらのバッファ格納順序と優先順序とを比較する(S2307)。プリンタドライバ04は、S2308にて格納順序と優先順序とが異なると判断すると、優先順に従っていないステータスをドライバ内部に保存する(S2309)。そして、プリンタドライバ04は、これらのステータスのクリアをジョブ制御部03に対して通知してステータス格納バッファ06から取り除く(S2310)。そして、プリンタドライバ04は、保存したステータスを優先度に従って順に再通知し(S2311)、処理を終了する。プリンタドライバ04は、S2308にて格納順序と優先順序とが同じであると判断すると、S2312に進み、処理を終了する。
図23は、エラー発生の一例を示す図である。
図23(a)は、ステータス遷移のフローを、図23(b)は、各々のステータスの優先度を示す。図23では、ブラックインクなしエラー、カバーオープンエラー、プリンタ20へのデータ送信タイムアウトエラーが図23(a)に示す順に発生した場合を想定している。ブラックインクなしエラー、カバーオープンエラーがプリンタ20で発生すると、プリンタドライバ04は、これらのステータスをジョブ制御部03に通知する。
一方、プリンタ20との通信処理にトラブルが発生し、印刷データ送信タイムアウトが起こると、バックエンドは、送信タイムアウトエラーをジョブ制御部03に通知する。図23では、バックエンドによるデータ送信タイムアウトエラーは印刷続行不可能なエラーとし、プリンタドライバ04のインクなしエラーやカバーオープンエラーより優先度が高いとしている。これらが図23(a)に示す順に発生すると、プリンタドライバ04やバックエンドは、各々のステータスをジョブ制御部03に対して順に通知する。これらのステータスの通知によるステータス格納バッファ06と、図22のプリンタドライバ04によるステータス格納バッファ06と、の格納順の並び替え処理に伴うステータス格納バッファ06の遷移を次に示す。
図24は、図23(a)のS1402におけるステータス格納バッファの状態と、図22のプリンタドライバの処理に伴うステータス格納バッファと、の遷移を示す図である。
プリンタドライバ04は、インクなしエラーやカバーオープンエラーより優先度が高いデータ送信タイムアウトエラーが後から格納されていることを検知すると、インクなしエラーとカバーオープンエラーをクリアするようにジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からこれらのステータスを取り除く(図24(b)参照)。その後、プリンタドライバ04は、一旦内部に保存してクリアしたインクなしエラーとカバーオープンエラーをジョブ制御部03に再通知する。ジョブ制御部03は、これらのステータスを順にステータス格納バッファ06に格納する(図24(c)参照)。
以上のようにして、本実施形態では定期的にステータス格納バッファ06のステータスを優先度に基づき並び替えることによって、優先度の高いメッセージからステータス表示ダイアログに表示することができる。つまり、本実施形態によれば、ステータスを優先度に従ってダイアログに表示することが可能になり、ユーザは重要なステータスから順に知ることができる。
<実施形態4>
次に、実施形態4を説明する。印刷システムの構成、ステータス表示部07の処理及びステータス表示ダイアログは、実施形態1と同様であるので省略する。
図25は、印刷ジョブが開始されてから終了するまでのステータスの通知の概略を示すフローチャートである。
プリンタドライバ04は、印刷ジョブの処理が開始すると印刷処理が終了するまでの間、プリンタ20のステータスの監視を行う(S3001〜S3004)。プリンタドライバ04は、S3004でプリンタ20の印刷処理が終了したと判断すると、S3005でステータス格納バッファ06に残っているステータスに基づくメッセージの表示が印刷終了後も必要か否かを確認し、ステータスの監視を終了する。
図26は、図25のS3005にてプリンタドライバが印刷終了時にステータス格納バッファに残るステータスが必要か否かを確認する処理の詳細を示すフローチャートである。
プリンタドライバ04は、S3201でステータス格納バッファ06に格納されたステータスを取得し、ステータスを順に参照する(S3202)。プリンタドライバ04は、S3203でステータスがプリンタドライバ04の通知したものであると判断すると、S3204に進む。そうでなければ、プリンタドライバ04は処理を、S3209に進め、ステータス格納バッファ06から取得したステータスがまだ他にあると判断すると、S3202に戻り、次のステータスを順に参照する。
プリンタドライバ04は、S3204〜S3207でステータスの詳細と印刷キューの状態とに基づき、印刷終了後も表示が必要なステータスか否かを判断する。ステータスが復帰不可能なエラーか、又は印刷終了に伴うプリンタ20のリセット処理で解除されないエラーであれば、プリンタドライバ04は、印刷終了後も表示する必要があるエラーと判断して、そのままS3209に進む。ステータスが復帰可能なエラーであり、且つ、印刷終了に伴うプリンタ20のリセット処理で解除されるのであれば、プリンタドライバ04は、処理を、S3206に進める。そして、後続のジョブの先頭で再び起きるエラーであり、且つ、印刷キューに後続のジョブがあれば、プリンタドライバ04は、印刷終了後も表示する必要があるエラーと判断して、そのままS3209に進む。そうでなければ、プリンタドライバ04は、印刷終了後表示する必要ないと判断してジョブ制御部03に対してステータスのクリアを通知し(S3208)、S3209に進む。
以上のようにして、本実施形態では印刷終了時ステータス表示ダイアログに表示されているメッセージが印刷終了後も必要か否かを判断して必要なければクリアすることができる。つまり、本実施形態によれば、印刷終了後に表示不要となるエラーステータスを印刷終了時にクリアすることによって、ユーザに対して不要なメッセージを表示することがなくなり、ユーザの操作性を向上させることができる。
<実施形態5>
次に、実施形態5を説明する。実施形態1のステータス表示部07は、ステータス格納バッファ06に最も先に格納されたステータスを取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示する。一方、本実施形態では、ステータス表示部07は、ステータス格納バッファ06に格納されたステータスを順に取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示する。ステータス表示ダイアログには複数のステータスのメッセージが表示される。ステータス表示部及びステータス表示ダイアログを除く本実施形態の構成及び処理は、実施形態1と同様であるので説明を省略する。
図27は、ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。図27の(a)は、本実施形態でのステータス表示ダイアログの一例を示している。ステータス表示領域にはステータス格納バッファ06に格納されたステータスに対応するメッセージが表示される。メッセージの表示順は、ステータス格納バッファ06のステータス格納順に従う。先に格納されたステータスから順に対応するメッセージが上から表示される。表示領域は3行であり、各行には1つのステータスに対応するメッセージが表示される。4つ以上のメッセージがある場合、ユーザは、右端のスクロールボタン34でステータス表示領域を下にスクロールすることによって、それらを見ることができる。
図27の(b)及び(c)は、図5(a)のS501におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。図27の例ではブラックインク、シアンインク、イエローインクの残量がなくなったことを想定している。プリンタ20でブラックインクなしエラー、シアンインクなしエラー、イエローインクなしエラーが発生すると、ジョブ制御部03は、プリンタドライバ04からの通知を受けてこれらのステータスをステータス格納バッファ06に順に格納する(図27(c)参照)。メッセージ表示領域にはステータス格納バッファ06に格納された各色のインクなしエラーのステータスに対応するメッセージが上から順に表示される(図27(b)参照)。
図27の(d)及び(e)は、図5(a)のS503におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20でインクなしエラーに続いてカバーオープンエラーが発生すると、プリンタドライバ04ではカバーオープンエラーはインクなしエラーより優先度の低いと判断する。そして、プリンタドライバ04は、インクなしエラーのクリア及び再通知を行わずにカバーオープンエラーをジョブ制御部03に通知する。ジョブ制御部03は、この通知を受けてステータスをステータス格納バッファ06に格納する(図27(e)参照)。メッセージ表示領域には既に3つのメッセージが表示されているため、カバーオープンエラーはデフォルトで表示されない(図27(d)参照)。ユーザがスクロールボタン34でステータス表示領域を下にスクロールするとカバーオープンエラーが表示される。
図27の(f)及び(g)は、図5(a)のS504におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20で各色のインクなしエラーが解除されると、プリンタドライバ04は、各色のインクなしエラーのクリアをジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06から各色のインクなしエラーを削除する(図27(g)参照)。よって、ステータス格納バッファ06において各色のインクなしエラーの次に格納されていたカバーオープンエラーがメッセージ表示領域に表示される(図27(f)参照)。ユーザがメッセージに従いカバーを閉じるとカバーオープンエラーが消えると共に印刷が続行される。
図28は、図7(a)のS605にて優先度の高いヘッド未装着エラーを通知するときの既存ステータスのクリア及び再通知に伴うステータス格納バッファの遷移を示す図である。プリンタドライバ04は、インクなしエラーとカバーオープンエラーとが発生している状態でヘッド未装着エラーの発生を検知する。するとプリンタドライバ04は、ヘッド未装着エラーより優先度の低い各色のインクなしエラー及びカバーオープンエラーを内部に保存した後、これらをクリアするようジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からこれらのステータスを取り除く(図28(b)参照)。次に、プリンタドライバ04が優先度の高いヘッド未装着エラーを通知すると、ジョブ制御部03は、このステータスをステータス格納バッファ06に格納する(図28(c)参照)。そして、プリンタドライバ04は、一旦内部に保存してクリアした各色のインクなしエラーとカバーオープンエラーとをジョブ制御部03に再通知する。ジョブ制御部03は、これらのステータスを順にステータス格納バッファ06に格納する(図28(d)参照)。
図29は、ステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。
図29の(a)及び(b)は、図7(a)のS605におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。ステータス格納バッファ06には、図28に示す遷移を経て、優先度の高いヘッド未装着エラーから順にステータスが格納されている(図29(b)参照)。メッセージ表示領域には優先度の高いヘッド未装着エラーと、その次に優先度が高いインクなしエラーがデフォルトで表示されている。(図29(a)参照)。
図29の(c)及び(d)は、図7(a)のS606におけるステータス表示ダイアログ及びステータス格納バッファ06の状態を示している。プリンタ20でヘッド未装着エラーが解除されると、プリンタドライバ04は、ヘッド未装着エラーのクリアをジョブ制御部03に通知する。ジョブ制御部03は、プリンタドライバ04からの通知を受けて、ステータス格納バッファ06からヘッド未装着エラーを削除する(図29(d)参照)。よって、メッセージ表示領域に表示されていたヘッド未装着エラーのメッセージが消えて、続くエラーメッセージが順に表示される(図29(c)参照)。
以上のようにして、本実施形態では新たなステータスを通知するとき、既にステータス格納バッファ06に格納されているステータスと比較して優先度の高いものから順に格納する。このことによって、優先度の高いメッセージからステータス表示ダイアログに表示することができる。つまり、本実施形態によれば、ステータスを優先度に従ってダイアログに並べて表示することが可能になり、ユーザは重要なステータスから順に知ることができるので、操作性に優れる。
<実施形態6>
次に、実施形態6を説明する。実施形態5と同様に本実施形態のステータス表示部07もステータス格納バッファ06に格納されたステータスを順に取得し、ステータスに対応するメッセージをPPDファイルから取得してステータス表示ダイアログに表示する。ステータス表示ダイアログには複数のステータスのメッセージが表示される。ステータス表示部及びステータス表示ダイアログを除く本実施形態の構成及び処理は、実施形態2と同様であるので説明を省略する。
図30(a)、(b)は、図13(a)のS1402におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。図13(a)に示す順にプリンタドライバ04とバックエンドとが各々のステータスをジョブ制御部03に通知すると、これらのステータスは順にステータス格納バッファ06に格納される(図30(b)参照)。メッセージ表示領域には、プリンタドライバ04とバックエンドとが通知したステータスに対応するメッセージが混在して表示される(図30(a)参照)。
図30(c)、(d)は、図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。プリンタドライバ04やバックエンドが通知したステータスは、ソートされてステータス格納バッファ06に格納される(図30(d)参照)。ステータス表示領域のメッセージも通知元に基づきソートされて表示される(図30(c)参照)。また、優先度の高いバックエンドのステータスが先に格納され、そのメッセージはステータス表示領域の一番上に表示される。したがって、ユーザは、関連するメッセージが続けて表示されるので、容易にジョブの状態を把握することができると共に、重要なメッセージから先に見ることができる。
図31(a)、(b)は、図17(a)のS1502におけるステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。図17(a)に示す順にプリンタドライバ04やバックエンドが各々のステータスをジョブ制御部03に通知すると、これらのステータスは順にステータス格納バッファ06に格納される(図31(b)参照)。メッセージ表示領域には、これらプリンタドライバ04とバックエンドとのステータスに対応するメッセージが上から順に混在して表示される(図31(a)参照)。
図31(c)、(d)は、図11のプリンタドライバによるステータス格納バッファのソート処理後のステータス表示ダイアログ及びステータス格納バッファの状態を示す図である。プリンタドライバ04やバックエンドが通知したステータスは、ソートされてステータス格納バッファ06に格納され、また、優先度の高いプリンタドライバ04のステータスは先に格納される(図31(d)参照)。ステータス表示領域のメッセージは、通知元に基づきソートされて表示され、優先度の高いプリンタドライバのステータスに対応するメッセージはステータス表示領域の一番上に表示される(図31(c)参照)。よって、ユーザは、関連するメッセージが続けて表示されるので、容易にジョブの状態を把握することができると共に、重要なメッセージから先に見ることができる。
以上のようにして、本実施形態では、定期的にステータス格納バッファ06のステータスをその通知元に基づきソートすることによって、それらに対応するメッセージをその通知元に基づき順にステータス表示ダイアログに表示することができる。つまり、本実施形態によれば、ステータスをその通知元に基づきソートして順にダイアログに表示することが可能になり、ユーザは、例えば使用しているプリンタに関する警告やエラー情報等の、自分の操作に関わるステータスを容易に知ることができるので、操作性に優れる。なお、本実施形態では、ステータスの通知元の例として、プリンタドライバ04と、バックエンドとの2つを示しているが、これに限定されるものではなく、他の通知元が存在してもよい。また、ステータスの通知元に応じて予め優先度を設定しておき、プリンタドライバ04は、この通知元の優先度に応じて、定期的にステータス格納バッファ06のステータスを並べ替えるように制御を行ってもよい。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、印刷装置のステータスを適切に表示することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
また、上述した各実施形態を任意に組み合わせて実施してもよい。
03 ジョブ制御部、04 プリンタドライバ、05 ステータス格納バッファ

Claims (16)

  1. 格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断手段と、
    前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が高いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納手段と、
    を有し、
    前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする情報処理装置。
  2. 前記格納手段は、前記格納領域に格納されている前記既存のステータスを取得し、取得した前記既存のステータスと、前記新規のステータスとを前記格納領域に定期的に格納することを特徴とする請求項1に記載の情報処理装置。
  3. 前記格納手段は、前記格納領域に格納されている前記既存のステータスを取得し、取得した前記既存のステータスの格納順が優先度の高い順になっていない場合、優先度の高い順で前記格納領域に前記既存のステータスを格納することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記格納手段は、ステータスが示す印刷処理の状態に応じて、ステータスの優先度を判断することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 前記格納手段は、ステータスが示す印刷処理の状態がエラーである場合は、エラーに応じて設定されているエラーからの復帰に係る操作手順情報に応じて、ステータスの優先度を判断することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記格納手段は、前記格納領域に格納されている前記既存のステータスを取得し、取得した前記既存のステータスが、印刷処理が終了した後も必要なステータスか否かを判断し、ステータスが、印刷処理が終了した後も必要なステータスでないと判断した場合、前記ステータスを前記格納領域から削除することを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記格納手段は、ステータスが示す印刷処理の状態に応じて、ステータスが、印刷処理が終了した後も必要なステータスか否かを判断することを特徴とする請求項に記載の情報処理装置。
  8. 前記格納手段は、ステータスが示す印刷処理の状態と、印刷キューの状態と、に応じて、ステータスが、印刷処理が終了した後も必要なステータスか否かを判断することを特徴とする請求項6又は7に記載の情報処理装置。
  9. 前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が低いと判断した場合に、前記既存のステータスを前記格納領域から削除せずに、前記既存のステータスよりも前記格納領域内での順番が後になるように前記新規のステータスを前記格納領域に格納することを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。
  10. 格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断手段と、
    前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が低いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納手段と、
    を有し、
    前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする情報処理装置。
  11. 前記格納手段は、前記格納領域に格納されている前記既存のステータス及び前記新規のステータスを優先度の低い順で前記格納領域に格納することを特徴とする請求項10に記載の情報処理装置。
  12. 前記格納手段は、前記既存のステータスを取得し、取得した前記既存のステータスの格納順が優先度の低い順になっていない場合、優先度の低い順で前記格納領域に前記既存のステータスを格納することを特徴とする請求項10又は11に記載の情報処理装置。
  13. 前記判断手段が前記既存のステータスの優先度よりも前記新規のステータスの優先度が高いと判断した場合に、前記既存のステータスを前記格納領域から削除せずに、前記既存のステータスよりも前記格納領域内での順番が後になるように前記新規のステータスを前記格納領域に格納することを特徴とする請求項10乃至12の何れか1項に記載の情報処理装置。
  14. 情報処理装置が実行する情報処理方法であって、
    格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断ステップと、
    前記判断ステップが前記既存のステータスの優先度よりも前記新規のステータスの優先度が高いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納ステップと、
    を含み、
    前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする情報処理方法
  15. 情報処理装置が実行する情報処理方法であって、
    格納領域に格納されている既存のステータスの優先度と、前記格納領域に格納する新規のステータスの優先度とのうちどちらの優先度が高いかを判断する判断ステップと、
    前記判断ステップが前記既存のステータスの優先度よりも前記新規のステータスの優先度が低いと判断した場合に、前記既存のステータスを前記格納領域から削除して、前記既存のステータスよりも前記格納領域内での順番が先になるように前記新規のステータスを前記格納領域に格納した後に、前記新規のステータスよりも前記格納領域内での順番が後になるように前記既存のステータスを前記格納領域に格納する格納ステップと、
    を含み、
    前記格納領域に格納されているステータスが前記格納領域内の順番に従って表示され、前記既存のステータスの優先度よりも前記新規のステータスの優先度が高い場合に前記新規のステータスが表示されることを特徴とする情報処理方法。
  16. コンピュータを、請求項1乃至13の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム
JP2009266563A 2009-08-04 2009-11-24 情報処理装置、情報処理方法及びプログラム Active JP5783672B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009266563A JP5783672B2 (ja) 2009-08-04 2009-11-24 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009181856 2009-08-04
JP2009181856 2009-08-04
JP2009266563A JP5783672B2 (ja) 2009-08-04 2009-11-24 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2011054145A JP2011054145A (ja) 2011-03-17
JP2011054145A5 JP2011054145A5 (ja) 2013-01-17
JP5783672B2 true JP5783672B2 (ja) 2015-09-24

Family

ID=43535700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009266563A Active JP5783672B2 (ja) 2009-08-04 2009-11-24 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US9087144B2 (ja)
JP (1) JP5783672B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052863B2 (en) * 2012-08-14 2015-06-09 Seiko Epson Corporation ePOS printing
JP6175854B2 (ja) 2013-03-29 2017-08-09 ブラザー工業株式会社 プログラムおよび情報処理装置
CN104243967B (zh) * 2013-06-07 2017-02-01 浙江大华技术股份有限公司 一种图像检测方法及装置
JP2015037225A (ja) * 2013-08-12 2015-02-23 キヤノン株式会社 情報処理装置、その制御方法、およびプログラム、情報処理システム
JP6840605B2 (ja) * 2017-04-13 2021-03-10 キヤノン株式会社 画像形成装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01295305A (ja) * 1988-05-24 1989-11-29 Mitsubishi Electric Corp プログラマブルコントローラのエラー表示方法
US6252681B1 (en) * 1997-04-14 2001-06-26 Xerox Corporation Multifunctional printing system with queue management
JP3405159B2 (ja) * 1997-12-05 2003-05-12 富士ゼロックス株式会社 印刷装置
JP3890173B2 (ja) * 1998-12-24 2007-03-07 キヤノン株式会社 画像処理装置および画像処理方法、並びに画像処理プログラムを記憶した記憶媒体
JP3542304B2 (ja) * 1999-06-16 2004-07-14 シャープ株式会社 印刷装置及びホスト装置
JP2001166904A (ja) * 1999-12-07 2001-06-22 Seiko Epson Corp 印刷装置、その制御方法、および、情報記録媒体
JP3957998B2 (ja) * 2000-08-08 2007-08-15 キヤノン株式会社 印刷システム、画像処理装置及び情報処理装置
JP3624864B2 (ja) * 2000-08-28 2005-03-02 セイコーエプソン株式会社 プリンタ、及び、印刷システム
JP2002215430A (ja) * 2001-01-22 2002-08-02 Seiko Epson Corp エラーメッセージ検出装置及びその方法
US7265855B2 (en) * 2001-02-28 2007-09-04 Sharp Laboratories Of America, Inc. Priority interruptible printing system
US6987578B2 (en) * 2001-03-21 2006-01-17 Hewlett-Packard Development Company, L.P. Printer priority bidding scheme
JP3862568B2 (ja) * 2002-01-11 2006-12-27 キヤノン株式会社 画像処理装置および画像処理装置の制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP4029391B2 (ja) * 2002-04-12 2008-01-09 リコープリンティングシステムズ株式会社 プリンタ
JP3977173B2 (ja) 2002-07-04 2007-09-19 キヤノン株式会社 情報表示制御装置、情報表示制御方法、プログラム、及び記憶媒体
JP5004320B2 (ja) * 2006-02-15 2012-08-22 キヤノン株式会社 ジョブ処理装置、ジョブ処理方法及びプログラム
JP5088482B2 (ja) * 2007-11-30 2012-12-05 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置

Also Published As

Publication number Publication date
JP2011054145A (ja) 2011-03-17
US9087144B2 (en) 2015-07-21
US20110035625A1 (en) 2011-02-10

Similar Documents

Publication Publication Date Title
JP5783672B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8300240B2 (en) Apparatus and method for controlling changes to print settings
JP4466739B2 (ja) 画像形成装置
EP2161913A1 (en) Image forming apparatus and method indicating XPS file printing options not supported
CN1821949A (zh) 打印系统和文档管理系统
US20140009792A1 (en) Information processing method and information processing apparatus
JP4521446B2 (ja) 画像処理装置
JP2009152694A (ja) 画像処理装置
JP4941502B2 (ja) 画像形成装置、及び、画像形成方法
JP2009214320A (ja) 画像形成装置、画像形成システム、画像形成方法、およびプログラム
JP2018206306A (ja) 情報処理装置および情報処理方法
JP2014233871A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US10055176B2 (en) Control method and non-transitory computer-readable recording medium
KR101279438B1 (ko) 유니버셜 프린터 드라이버를 사용하는 인쇄 환경에서화상형성장치의 프린터 드라이버를 설치하는 방법 및 장치
JP5849779B2 (ja) 画像形成装置用の操作入力装置、該入力装置で実行される操作画面の表示制御方法及びプログラム
JP6452419B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2017219965A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP4557047B2 (ja) 情報処理装置および情報処理方法
US9405999B2 (en) Image forming apparatus
JP5995460B2 (ja) 情報処理装置及びプログラム、制御方法
JP2004240511A (ja) 画像ファイル管理装置および画像ファイル管理プログラム
JP4830968B2 (ja) 印刷システム、印刷制御装置、印刷システムの制御方法、ドライバプログラム、およびそのプログラムを記録した記録媒体
JP2010020689A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
KR101429526B1 (ko) 화상형성장치 및 그의 문서 관리 방법
JP4775655B2 (ja) 画像処理装置および画像処理プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140730

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140807

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20141031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150721

R151 Written notification of patent or utility model registration

Ref document number: 5783672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151