以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る画像処理装置としてのホストPC100の構成例を説明するブロック図である。ホストPC100は、印刷条件を設定して文書ファイルから印刷データを生成することが可能な画像処理装置である。
ホストPC100は、外部ストレージ300又はWebサーバ400からネットワーク500を経由して取得した印刷対象の文書データに基づく印刷データを生成し、生成した印刷データを接続されたプリンタ200に送信することで、当該印刷データに基づく印刷を行わせることができる。また、ホストPC100は画面表示部としてのモニタ600と接続されており、後述する印刷設定画面たる印刷設定ダイアログを表示し、図示せぬ入力手段を用いてユーザからの入力を受付けることができる。
このようなホストPC100は、ネットワークインタフェース110と、対象ファイル格納部120と、外部ストレージ接続インタフェース130と、OS(Operating System)140と、アプリケーション150と、プリンタ接続インタフェース160と、モニタ接続インタフェース180と、プリンタドライバ700とを備える。
ネットワークインタフェース110は、例えば、LAN(Local Area Network)ポートといった電気信号線を接続する接続手段と、これを制御するネットワークインタフェースカード等を備え、ネットワーク500を介してのデータの送受信を行う。
対象ファイル格納部120は、アプリケーション150に含まれるWebブラウザアプリケーションがネットワーク遅延の影響を軽減してモニタ600への表示を高速化するために、取得したWebページの一部をキャッシュ化したキャッシュファイルを一時的に格納する記憶領域である。
外部ストレージ接続インタフェース130は、例えば、USB(Universal Serial Bus)ポートや、IEEE(Institute of Electrical and Electronic Engineer)1394ポートといった電気信号線を接続する接続手段と、これを制御するインタフェースカード等を備え、接続された外部ストレージ300に存在する文書ファイルへのアクセスを可能とする。
OS140は、ホストPC100の制御を行うための基本ソフトウェアであり、ハードウェアを抽象化したインタフェースや、ホストPC100の現在の動作状況の通知といった機能をアプリケーション150やプリンタドライバ700といったソフトウェアに提供したり、後述するスプールファイルの生成機能を提供する。また、OS140は、ホストPC100が使用されている地域に応じて、表示言語、タイムゾーン、単位系及び日時形式といった地域設定に関わる管理を行う。
アプリケーション150は、文書ファイルの閲覧・編集・印刷を行うためのソフトウェアであり、対象の文書ファイルの種類に応じて適切なアプリケーションが選択されて使用される。アプリケージョン150の種類としては、例えば、ワードプロセッサ、表計算、そしてWebブラウザ等を挙げることができる。
プリンタ接続インタフェース160は、例えば、プリンタポート、USBポートといった電気信号線を接続する接続手段と、これを制御するインタフェースカード等を備え、プリンタドライバ700が作成した印刷データを接続されたプリンタ200に送信する。
モニタ接続インタフェース180は、例えば、アナログRGBポート、DVI(Digital Visual Interface)ポートといった電気信号線を接続する接続手段と、これを制御するインタフェースカード等を備え、接続されたモニタ600にWebページや、後述する印刷設定ダイアログ等を表示させる。
プリンタドライバ700は、アプリケーション150からの文書ファイルの印刷要求を受け付け、プリンタ200にて印字可能な印刷データを作成するソフトウェアである。
プリンタ200は、例えば、電子写真方式の印刷エンジンを備えた画像形成装置であり、ホストPC100のプリンタ接続インタフェース160を介して送信された印刷データに基づく画像を用紙等の記録媒体に印字することができる。
外部ストレージ300は、例えば、USBメモリやDVD−Rといった可搬記憶媒体であり、ホストPC100に接続されると自動的に認識される。ホストPC100により認識されることで、格納されている文書ファイルへのアクセスが可能となり、ユーザは所望の文書ファイルを選択し、アプリケーション150を用いて当該文書ファイルの閲覧・編集・印刷を行うことができる。
Webサーバ400はURL(Unified Resource Locator)により識別されるWebページを提供する。アプリケーション150、特に、Webブラウザアプリケーションにおいて、ユーザは閲覧を所望するWebページのURLを指定すると、Webブラウザアプリケーションは、ネットワーク500を経由し、Webサーバ400からWebページを取得する。さらに、Webブラウザアプリケーションは、取得したWebページをモニタ600を介してその内容を表示させる。ユーザは、モニタ600に表示されたWebページを文章ファイルとして閲覧・編集・印刷を行うことができる。
図2は、第1の実施形態に係るプリンタドライバ700及びOS140の構成を説明するブロック図である。OS140は、アプリケーション150からの印刷要求に応じてスプールファイルを作成するスプールファイル作成部141と、データ送信部142と、アプリケーション情報提供部143と、システム情報提供部144と、モニタ制御部145とを備える。
スプールファイル作成部141が作成するスプールファイルとは、アプリケーション150による文書ファイルの印刷要求を、プリンタドライバ700が処理可能とするために当該文書ファイルが変換された中間ファイルのことを意味する。スプールファイルは、文字や図形の描画命令により構成され、例えば、Microsoft社のOSであるWindows(登録商標)では、EMF(Enhanced Meta File)や、XPS(XML Paper Specification)といった形式が用いられる。
データ送信部142は、プリンタ接続インタフェース160を制御するとともに、プリンタドライバ700が作成した印刷データをプリンタ接続インタフェース160に出力する。プリンタ接続インタフェース160は入力された印刷データをプリンタ200に送信する。
アプリケーション情報提供部143は、現在実行されているアプリケーションに関する情報をプリンタドライバ700のファイル情報取得部716に提供するためのインタフェースである。提供される情報としては、あるソフトウェアを呼び出している別のソフトウェアを特定する情報、あるソフトウェアが使用しているOSリソースに関する情報、あるソフトウェアがどのような種別の文書ファイルを対象としているのかの情報、といったものがある。
システム情報提供部144は、OS140やホストPC100に関する情報を提供するためのインタフェースであり、例えば、地域設定に関する情報も提供することができる。
モニタ制御部145は、モニタ接続インタフェース180を制御し、Webブラウザアプリケーションが取得したWebページや、後述する印刷設定ダイアログ等をモニタ600に表示させる。
プリンタドライバ700は、ユーザから印刷設定を受け付ける印刷設定指示部710と、印刷設定に従い印刷データを作成する印刷データ作成部720と、印刷設定を格納する印刷設定格納部730とを備える。
アプリケーション150においては、OS140に対する印刷要求に先立って、印刷設定の指定のためにプリンタドライバ700に対する印刷設定指示要求が発生する。印刷設定指示部710では、アプリケーション150からの要求に応じてモニタ600を介して印刷設定ダイアログを表示させることにより、ユーザに印刷設定を行わせる。
ここで、図3は、本実施形態に係る印刷設定ダイアログ1500の表示例を示す図である。この表示例においてはシステムの設定言語が英語である。したがって、表示されるデフォルト文字列の言語も英語となっている。なお、本実施形態に係る印刷設定ダイアログにおいては、フォルト文字列の言語とは別に、補助言語を設定することが可能となるように構成されている。
図4は、補助言語として日本語が設定された場合の表示例を示す図である。図4に示すように、補助言語が設定された場合、デフォルト文字列に加えて補助言語で記述された補助文字列が一緒に表示されることになる。
図3及び図4において、選択ボックス1510及び選択ボックス1610は、印刷に供される用紙のサイズ又は種類の選択を受け付ける。選択ボックス1520及び選択ボックス1620は、集約印刷の設定に関するものであり、一枚の用紙に複数ページを印刷させる場合の選択を受け付ける。選択ボックス1530及び選択ボックス1630は、カラー印刷又はモノクロ印刷の選択を受け付ける。選択ボックス1540及び選択ボックス1640は、印刷品位の設定に関するものであり、画像及び印刷速度に関しての選択を受け付ける。選択ボックス1550及び選択ボックス1650は、両面印刷に関する設定であり、用紙の両面に印刷させる場合にその向きの選択を受け付ける。Printボタン1560及びPrintボタン1660は、選択ボックスにおいて選択された印刷設定に基づく印刷実行の指示を受け付ける。Cancelボタン1570及びCancelボタン1670は、選択ボックスにおいて選択された印刷設定を破棄し、印刷実行を中止する。
再び図2に戻り、印刷設定指示部710は、印刷設定ダイアログ制御部711と、印刷設定管理部712と、文字列格納部713と、フォント格納部714と、言語判定部715と、ファイル情報取得部716とを備える。
印刷設定ダイアログ制御部711は、ユーザが印刷設定を行うための印刷設定ダイアログの表示を印刷設定管理部712の制御に基づいて行う。また、印刷設定ダイアログ制御部711は、ユーザにより設定された印刷設定内容を取得する。なお、印刷設定ダイアログの文字列の表示に用いられる言語は、システム情報提供部144から提供されるシステムの設定言語、すなわち、ホストPC100が設置されている地域の地域設定に応じたデフォルト文字列の言語及び後述する言語判定部715により決定される文書ファイルに使用されている言語に基づいて設定される。
印刷設定管理部712は印刷設定指示部710全体の情報を統制するとともに、印刷設定ダイアログ制御部711を制御し、印刷設定ダイアログにおける文字列の表示を管理する。印刷設定管理部712は、印刷設定ダイアログを介してユーザにより設定された印刷設定を印刷設定格納部730に格納させる。
文字列格納部713は、印刷設定ダイアログにおいて表示される文字列を格納する。本実施形態においては、印刷設定ダイアログにおいて表示される文字列の言語は、状況に応じて変化する。したがって、文字列格納部713は、文字列の言語を図5に示すような文字列データとして管理する。図5は文字列データ1700の例を示す図であり、各言語に対応する文字列はテーブル形式で格納されている。ここで、列1710は、各文字列に割り当てられたIDである。列1720は、本実施形態に係るデフォルト言語である英語表記の文字列である。列1730は、本実施形態に係る補助言語である日本語表記の文字列である。各行はID1710に対応する各言語の文字列が格納されている。図5に示す例においては、英語と日本語との2つの言語のみが格納されているが、3種以上の言語をサポートする場合には、そのサポート数に応じて複数の列を持つことも無論可能である。
フォント格納部714は、印刷設定ダイアログにおいて表示される文字列の描画に用いられるフォントを格納する。
言語判定部715は、アプリケーション150が印刷を行わせようとしている文書ファイルの情報を調査して、当該文書ファイルにどの言語が用いられているのかを判定する。
ファイル情報取得部716は、現在印刷設定ダイアログを表示させているアプリケーション150の情報及び当該アプリケーション150が印刷を行わせようとしている文書ファイルの情報を取得するため、OS140のアプリケーション情報提供部143に問い合わせを行う。
次に、印刷データ作成部720及び印刷設定格納部730について説明する。印刷データ作成部720は、スプールファイル生成部141により生成されたスプールファイルが入力されるスプールファイル入力部721と、入力されたスプールファイルを解析し、描画データを取得するスプールファイル解析部722と、描画データと印刷設定とを基に印刷データを作成する印刷データ作成部723と、印刷データ作成部723により作成された印刷データをデータ送信部142に出力する印刷データ出力部724と、ユーザが設定した印刷設定を印刷設定格納部730から取得する印刷設定取得部725とを備える。印刷設定格納部730は、印刷設定管理部712の指示に基づきモニタ600に表示された印刷設定ダイアログを介してユーザにより設定された印刷設定を格納する。なお、本発明において、印刷データとは、プリンタ200が印字可能なページ記述言語であり、例えば、Postscript、PCL(Printer Control Language)、XPS、ラスト等のページ記述言語を挙げることができる。
次に、本実施形態に係る動作について説明する。図6は、本実施形態に係る印刷処理を説明するフローチャートである。
まず、アプリケーション150からの印刷要求が発生すると、プリンタドライバ700の印刷設定管理部712は、印刷設定ダイアログ制御部711を制御し、モニタ600を介して印刷設定ダイアログを表示させる。そして、印刷設定ダイアログを介してユーザにより所望の印刷設定が行われると、プリンタドライバ700は設定された印刷設定の内容を取得する(ステップS101)。
そして、ユーザから印刷指示が入力されると、アプリケーション150はOS140に印刷指示を行う。印刷指示がなされたOS140のスプールファイル作成部141は、スプールファイルを作成する。作成されたスプールファイルはプリンタドライバ700の印刷データ作成部720に出力され、ユーザが設定した印刷設定に応じた印刷データが作成される(ステップS102)。
ステップS103において、OS140のデータ送信部142は印刷データ作成部720において作成された印刷データをプリンタ接続インタフェース160を介してプリンタ200に送信する。印刷データを受信したプリンタ200は、当該印刷データに基づく画像を用紙等の記録媒体に印字する。
図7は、図6のステップS101における印刷設定取得処理を説明するフローチャートである。
ステップS201において、印刷設定指示部710のファイル情報取得部716は、印刷要求を行っているアプリケーション150が印刷を所望している文書ファイルの情報を取得するため、OS140のアプリケーション情報提供部143にアプリケーション情報の問い合わせを行う。
アプリケーション情報に基づき印刷対象の文書ファイルの情報が取得されると、言語判定部715は、文書ファイルの情報を調査して、当該文書ファイルにどの言語が用いられているのかを判定する(ステップS202)。
そして、印刷設定管理部712は、言語判定部715による言語判定の成否を確認する。補助言語として使用する使用言語の候補が無い場合(ステップS203 NO)、印刷設定管理部712は補助言語は設定なしとする(ステップS208)。
一方、補助言語として使用する使用言語の候補が有り(ステップS203 YES)、当該候補が単一である場合(ステップS204 NO)、印刷設定管理部712は、当該候補を補助言語として設定する(ステップS205)。また、補助言語として使用する使用言語の候補が有り(ステップS203 YES)、当該候補が複数である場合(ステップS204 YES)、印刷設定管理部712は印刷設定ダイアログ制御部711を制御し、モニタ600を介して後述する言語選択ダイアログを表示させ、ユーザに複数の候補から何れかの言語を補助言語の使用言語として設定するか選択させる。
補助言語の使用言語が選択された場合(ステップS206 YES)、印刷設定管理部712は、選択された言語を補助言語の使用言語として設定する(ステップS207)。一方、補助言語の使用言語が選択されなかった場合(ステップS206 NO)、印刷設定管理部712は補助言語は設定なしとする(ステップS208)。
補助言語の使用言語の設定が完了すると、印刷設定管理部712は、印刷設定ダイアログにおいて表示される文字列を印刷設定ダイアログ制御部711に通知する。通知を受けた印刷設定ダイアログ制御部711は、通知を受けた使用言語を補助言語として印刷設定ダイアログに表示させる(ステップS209)。
最後に、ユーザにより印刷設定ダイアログを介した印刷設定が終了すると、印刷設定ダイアログ制御部711は、印刷設定ダイアログの表示を終了させる(ステップS210)。
ここで、上記した言語選択ダイアログについて説明する。図8は、補助言語として使用する使用言語が日本語と中国語との2つの言語が候補であった場合の言語選択ダイアログ1800、言語選択ダイアログ1900の表示例を示した図である。
図8(a)に示す言語選択ダイアログ1800は、補助言語として使用する使用言語に日本語が選択された状態を示した図である。図8(b)に示す言語選択ダイアログ1900は、補助言語として使用する使用言語に中国語が選択された状態を示した図である。使用言語は、ラジオボタン1810、ラジオボタン1910又はラジオボタン1820、ラジオボタン1920の何れかを選択することで設定することができる。図8(a)に示す例においては、ラジオボタン1810(ラジオボタン1910)が選択されたことで、デフォルト文字列"Select Language"の隣に日本語表記で"言語の選択"が表示される。一方、図8(b)に示す例においては、ラジオボタン1820(ラジオボタン1920)が選択されたことで、デフォルト文字列"Select Language"の隣に日本語表記で"言語の選択"に対応する中国語表記の文字列が表示される。
OKボタン1830、OKボタン1930はラジオボタンによる使用言語の選択決定を受け付けるものであり、Cancelボタン1840、Cancelボタン1940はラジオボタンによる使用言語の選択決定をキャンセルするものである。ここで、ユーザによりCancelボタン1840、Cancelボタン1940が押下されると、印刷設定管理部712は補助言語は設定なしとする。
図9は、図7のステップS201におけるファイル情報取得処理を説明するフローチャートである。
まず、ステップS400において、ファイル情報取得部716は、印刷要求を行っている、すなわち、呼び出しもとのアプリケーション150のアプリケーション情報をOS140のアプリケーション情報提供部143に問い合わせ、これを取得する。
そして、ファイル情報取得部716は、取得したアプリケーション情報から、アプリケーション150の種別がWebブラウザが否かを判定する。ここで、アプリケーション150の種別が、Webブラウザである場合(ステップS401 YES)、ファイル情報取得部716は、現在、アプリケーション150がモニタ600を介して表示させているWebサイトのキャッシュファイルが対象ファイル格納部120に存在するか否かを確認する。そして、対象ファイル格納部120にWebサイトのキャッシュファイルが存在し、これを取得可能である場合(ステップS402 YES)、ファイル情報取得部716は、当該キャッシュファイルが格納されているディレクトリパス情報をリターン値として処理を終了する(ステップS403)。
一方、対象ファイル格納部120にWebサイトのキャッシュファイルが存在せず、これを取得することができない場合(ステップS402 NO)、ファイル情報取得部716は、ネットワークインタフェース110を介して対象のWebサイトのファイルをダウンロードさせる。すなわち、ファイル情報取得部716は、Webブラウザたるアプリケーション150に問い合わせを行い、現在アプリケーション150がモニタ600を介して表示させているWebサイトのURLを取得させる(ステップS404)。
次に、ファイル情報取得部716は、取得したURLに基づき、ネットワークインタフェース110にWebサーバー400にアクセスさせ、WebサイトのWebページの表示に必要なファイルを文章ファイルとしてダウンロードさせる(ステップS405)。そして、ファイル情報取得部716は、ダウンロードされた文書ファイルにURLを認識可能なファイル名を付与し、対象ファイル格納部120に格納させる。最後に、ファイル情報取得部716は対象ファイル格納部120に格納させた文書ファイルのファイル名をリターン値として処理を終了する(ステップS407)。
ところで、アプリケーション150の種別が、Webブラウザでない場合(ステップS401 NO)、ファイル情報取得部716は、アプリケーション150が使用しているリソース一覧を取得する(ステップS408)。ここで、リソースについて説明する。通常、アプリケーション150は、リソースと呼ばれるPC資源を使用することで様々な処理を実行している。リソースの種別としては、モニタ600に表示されている画像やフォントのデータリソース、DLL(Dynamic Link Library)と呼ばれる外部ライブラリやOS140が提供するサービス及び協調動作している他のアプリケーションといった外部プログラムリソース、そして、アプリケーション150の動作を規定する設定ファイルや現在使用している文書ファイルなどのファイルリソースといったものがある。
印刷要求を行っているアプリケーション150が印刷を所望している文書ファイルを特定するため、ファイル情報取得部716は、リソース一覧からファイルリソースを選択し、それらリソースに該当する文章ファイルのファイル名の一覧を取得する(ステップS409)。
次に、ファイル情報取得部716は、取得したファイル名の一覧から、文書ファイルの格納場所を調査し、それが規定の格納場所であるものを選択する。本実施形態においては、文書ファイルの規定の格納場所は外部ストレージ300であるものとする。したがって、ファイル情報取得部716は外部ストレージ300に格納されている文書ファイルを選択する(ステップS410)。なお、文書ファイルの規定の格納場所は、外部ストレージ300に限らず、自由に設定することが可能である。最後に、ファイル情報取得部716は、取得した文書ファイルのファイル名をリターン値として処理を終了する(ステップS411)。
図10a及び図10bは、図7のステップS202における言語判定処理を説明するフローチャートである。
まず、言語判定部715は、図7のステップS201のファイル情報取得処理において取得された、すなわち、ファイル情報取得部716がリターン値として返したファイル名に基づく文書ファイルがテキストデータを含むか否かを確認する。ここで、文書ファイルがテキストデータを含む場合(ステップS500 YES)、言語判定部715はテキストに含まれる文字を順に一文字選択して読み込む(ステップS501)。言語判定部715は、読み込んだ文字の種別をチェックして、ある言語に特有な文字であるか否かを判別する。例えば、Unicodeにおいては、言語ごとに文字コードの割り当て範囲が定められており、言語判定部715は、ひらがな、カタカナ等の日本語文字領域、ハングル音節等の韓国語文字領域の文字が存在するか否かによって判別を行う。
読み込んだ文字が言語特有な場合(ステップS502 YES)、言語判定部715はプリンタドライバ700がその言語による表示をサポートするか否かを確認する。プリンタドライバ700による言語の表示サポートは、図5に示したテーブルに該当する言語に対応する列が存在するか否かによって判断される。ここで、プリンタドライバ700による言語の表示サポートがある場合(ステップS503 YES)、言語判定部715は、その言語に対応するカウンタ値を1増加する(ステップS504)。なお、本実施形態に係るカウンタは、言語判定処理開始時に、図示せぬホストPC100上のRAM(Random Access Memory)において、各言語毎に一時記憶変数として確保されると同時にカウンタ値が0で初期化されるものである。
言語判定部715は、上記ステップS501〜ステップS504に係る処理を全ての文字に対して実行し、これが終了すると(ステップS505 YES)、全ての言語のカウンタ値が0であるか否かを確認する。すなわち、言語判定部715は、全ての言語のカウンタ値を確認し、この値が0でないもの、つまり、言語特有な文字の使用が検出された言語が存在するか否かを確認する。
全ての言語のカウンタ値の値が0でない場合(ステップS506 NO)、言語判定部715は、カウンタ値の値が0でない言語を補助言語として使用する使用言語の候補として処理を終了する(ステップS507)。
一方、全ての言語のカウンタ値が0である場合(ステップS506 YES)及び文書ファイルがテキストデータを含まない場合(ステップS500 NO)、言語判定部715は、当該文書ファイルのファイル名に言語特有の文字が使用されているか否かを確認する。ここで、ファイル名に言語特有の文字が使用されている場合(ステップS508 YES)、言語判定部715は、ファイル名に使用されている言語を補助言語として使用する使用言語の候補として処理を終了する(ステップS509)。
ファイル名に言語特有の文字が使用されていない場合(ステップS508 NO)、言語判定部715は、当該言語ファイルが格納されている場所の別の文書ファイルに対して上記同様の言語判定を実行する(ステップS510)。そして、別の文書ファイルに対する言語判定が成功した場合(ステップS511 YES)、言語判定部715は言語判定に成功した言語を補助言語として使用する使用言語の候補とする(ステップS512)。一方、別の文書ファイルに対する言語判定が成功しなかった場合(ステップS511 NO)、補助言語として使用する使用言語の候補を無しとして処理を終了する(ステップS513)。
なお、本実施形態においては、仕様言語の判定に言語特有の文字の有無を採用したが、これに限定されるものではない。例えば、言語特有の単語使用の有無といった基準により言語判定や、アプリケーション150がWebブラウザである場合には、URLに含まれるドメイン情報を基準とした言語判定も可能である。
図11は、図7のステップS209における印刷設定ダイアログ表示処理を説明するフローチャートである。
まず、印刷設定管理部712は、言語判定部715による言語判定の結果に基づき、補助言語として使用する使用言語の候補の有無を確認し、補助言語の設定の有無を判定する。補助言語の設定が無い場合(ステップS301 NO)、印刷設定管理部712は、全てのデフォルト文字列を表示文字列とする(ステップS308)。
一方、補助言語の設定が有る場合(ステップS301 YES)、印刷設定管理部712は、表示文字列に補助文字列を加える処理を行う。
すなわち、印刷設定管理部712は、文字列格納部713に格納されている文字列データ1700から一つのIDを選択し、対応するデフォルト文字列を取得する(ステップS302)。続いて、印刷設定管理部712は、選択したIDに対応する補助言語の文字列を取得する(ステップS303)。
次に、印刷設定管理部712は、デフォルト文字列と補助文字列とを比較する。ここで、デフォルト文字列と補助文字列とが同一であった場合(ステップS304 YES)、印刷設定管理部712はデフォルト文字列を表示文字列とする(ステップS305)。一方、デフォルト文字列と補助文字列とが同一ではなかった場合(ステップS304 NO)、印刷設定管理部712は、デフォルト文字列と補助文字列との組み合わせを表示文字列とする(ステップS306)。例えば、デフォルト文字列が"Print Setting"であり、補助文字列が"印刷設定"であった場合、印刷設定管理部712は、表示文字列を"Print Setting(印刷設定)"とする。
印刷設定管理部712は、以上のステップS302〜ステップS307に係る処理を全ての文字列データに対して実行する(ステップS307)。
ところで、OS140の言語設定によっては補助言語の文字が表示できないフォントが使用されている場合があるため、印刷設定管理部712は、現在使用されているフォントを使用した場合に表示文字列が適切に表示できるか否かを確認する。ここで、表示文字列が適切に表示できない場合(ステップS309 NO)、印刷設定管理部712はフォント格納部714から補助言語を表示可能なフォントを取得し、印刷設定ダイアログの表示に使用するフォントを変更する(ステップS310)。一方、表示文字列が適切に表示できる場合(ステップS309 YES)、印刷設定管理部712は印刷設定ダイアログにおいて表示される文字列を印刷設定ダイアログ制御部711に通知し、これをモニタ600を介して表示させる(ステップS311)。
以上のように、第1の実施形態によれば、PCの言語設定が、ユーザの母国語又は理解できる言語とは異なる場合においても、印刷対象の文書ファイルに使用されている言語と同じ言語の文字列が印刷設定ダイアログに表示されるため、ユーザに対して印刷設定画面の内容を理解させる可能性を向上させ、所望の印刷結果を得ることができる。
[第2の実施形態]
図12は、本発明の第2の実施形態に係る画像処理装置としてのホストPC100'の構成例を説明するブロック図である。ホストPC100'も、第1の実施形態に係るホストPC100と同様に、印刷条件を設定して文書ファイルから印刷データを生成することが可能な画像処理装置である。
第2の実施形態に係るホストPC100'は、第1の実施形態に係るホストPC100の構成に加え、言語設定用文書ファイル170を備える。ここで、言語設定用文書ファイルとは、第2の実施形態に係るプリンタドライバ700'の言語判断処理において確実に言語を判定することが可能な内容を有する文書ファイルである。
図13は、言語設定用文書ファイル170の例を示す図である。本実施形態に係る言語設定用文書ファイル170は単純なテキスト形式で構成されている。ここで、図13(a)は、日本語として必ず判定される文書ファイルの例であり、言語設定用文書ファイル1701は、日本語特有の文字であるひらがな、カタカナの一部及び円通貨記号(¥)により構成されている。図13(b)は、英語として必ず判定される文書ファイルの例であり、言語設定用文書ファイル1702は、日本語と同様に英語アルファベットの一部及びドル通貨記号($)により構成されている。なお、上記言語設定用文書ファイルの内容は、図13で挙げた例に限らず、言語を特定できる内容であれば、任意の形式を使用することができる。
図14は、第2の実施形態に係るプリンタドライバ700'及びOS140の構成を説明するブロック図である。OS140は第1の実施形態に係るOS140と同一の構成であるため、ここでの説明は省略する。プリンタドライバ700'は、第1の実施形態に係るプリンタドライバ700の構成に加え、言語設定格納部717を備える。言語設定格納部717は、前回印刷設定ダイアログの表示時に補助言語として設定された使用言語の言語識別子を格納する。例えば、前回の印刷設定ダイアログの表示時に、補助言語として設定された使用言語が日本語であった場合、言語設定格納部717は、言語識別子として"日本語"を格納する。なお、プリンタ700'の他の構成については、第1の実施形態のプリンタドライバ700の構成と同一の構成であるため、ここでの説明は省略する。
次に、本実施形態に係る動作について説明する。本実施家形態に係る動作は、第1の実施形態の図7で説明した印刷設定取得処理のみが異なり、他の動作は同一に行うことができる。以下に、本実施形態に係る印刷設定取得処理について説明する。
図15は、本実施形態に係る印刷設定取得処理を説明するフローチャートである。
ステップS601において、印刷設定指示部710のファイル情報取得部716は、印刷要求を行っているアプリケーション150が印刷を所望している文書ファイルの情報を取得するため、OS140のアプリケーション情報提供部143にアプリケーション情報の問い合わせを行う。
アプリケーション情報に基づき印刷対象の文書ファイルの情報が取得されると、言語判定部715は、文書ファイルの情報を調査して、当該文書ファイルにどの言語が用いられているのかを判定する(ステップ602)。
そして、印刷設定管理部712は、補助言語として使用する使用言語の候補が有り(ステップS603 YES)、当該候補が単一である場合(ステップS604 NO)、印刷設定管理部712は、当該候補を補助言語として設定する(ステップS605)。また、補助言語として使用する使用言語の候補が有り(ステップS603 YES)、当該候補が複数である場合(ステップS604 YES)、印刷設定管理部712はモニタ600を介して後述する言語選択ダイアログを表示させ、ユーザに複数の候補から何れかの言語を補助言語の使用言語として設定するか選択させる。
補助言語の使用言語が選択された場合(ステップS606 YES)、印刷設定管理部712は、選択された言語を補助言語の使用言語として設定する(ステップS607)。また、印刷設定管理部712は、ステップS605及びステップS607において設置した補助言語を言語設定格納部717に格納させる(ステップS608)。
一方、補助言語として使用する仕様言語の候補が無い(ステップS603 NO)又は補助言語の使用言語が選択されなかった場合(ステップS606 NO)、印刷設定管理部712は、前回印刷設定ダイアログの表示時に補助言語として設定された使用言語の言語識別子が格納言語設定格納部717に格納されているか否かを確認する。ここで、言語設定格納部717に言語識別子が格納されている場合(ステップS609 YES)、印刷設定管理部712はその言語識別子に該当する言語を補助言語として取得し設定する(ステップS610)。一方、言語設定格納部717に言語識別子が格納されていない場合(ステップS609 NO)、印刷設定管理部712は補助言語は設定なしとする(ステップS611)。
補助言語の使用言語の設定が完了すると、印刷設定管理部712は、印刷設定ダイアログにおいて表示される文字列を印刷設定ダイアログ制御部711に通知する。通知を受けた印刷設定ダイアログ制御部711は、通知を受けた使用言語を補助言語として印刷設定ダイアログに表示させる(ステップS612)。
最後に、ユーザにより印刷設定ダイアログを介した印刷設定が終了すると、印刷設定ダイアログ制御部711は、印刷設定ダイアログの表示を終了させる(ステップS613)。
なお、本実施形態において、初回印刷時には、言語設定格納部717には言語識別子は格納されていない。その場合、言語設定用文書ファイル170で一端印刷を実施しようとすると、言語設定用文書ファイル170を構成する言語を補助言語の使用言語として使用した印刷設定ダイアログがモニタ600を介して表示され、言語設定格納部717にその補助言語の言語識別子が格納される。実際には、言語設定用文書ファイル170では印刷処理が実行されず、続いての印刷対象の文書ファイルで印刷を実施しようとすると、言語設定格納部717に格納された所望の補助言語を使用した印刷設定ダイアログが表示可能となる。
以上のように、第2の実施形態によれば、直前に印刷設定ダイアログに表示された使用言語を記憶することにより、文書ファイルの内容から言語を判定できない場合においても、ユーザが理解できる言語を補助言語の仕様言語として印刷設定ダイアログに表示させることができる。さらに、言語が確実に判定可能な文書ファイルを予め用意し、最初に当該文書ファイルを印刷
処理に供することで、以降の文書ファイルの印刷において、ユーザが所望する言語を補助言語の仕様言語とした印刷設定ダイアログを表示させることができる。
本発明を説明する上で、ホストPCに接続された装置をプリンタとして説明したが、本発明はこれに限定されず、例えば、MFP、複写機等にも本発明を適用可能である。