(57)【特許請求の範囲】
【請求項１】
印刷装置で印刷処理を行う際に、文書や画像を作成または編集するためのアプリケーションから発行された印刷命令を前記印刷装置が実行可能な印刷コマンドに変換するプリンタドライバが実行される表示制御装置であって、
前記プリンタドライバがサポートする複数の言語に係るライブラリを保持する保持手段と、
前記プリンタドライバにより提供される選択画面を介した複数の言語からの選択に従い、表示言語を特定する特定手段と、
前記印刷装置において用紙切れが発生した際に、復旧ガイダンス画面を表示するための表示制御手段と、
前記特定手段により特定された表示言語に応じて当該表示言語に係るオブジェクトを表示する際の左右の向き、又は左右の表示位置、又は左右の進行方向を変更するか否かを判別するための判別用情報を、表示するオブジェクトごとに管理する管理手段と、
前記特定手段により特定されている前記表示言語、及び前記管理手段により管理されている前記判別用情報に基づいて、表示対象のオブジェクトについて、左右の向き、又は左右の表示位置、又は左右の進行方向を決定する決定手段とを有し、
前記表示制御手段は、前記特定手段により特定されている前記表示言語に係るライブラリ、及び前記復旧ガイダンス画面の表示対象のオブジェクトについて、前記決定手段により決定された左右の向き、又は左右の表示位置、又は左右の進行方向に従う表示の制御を行うことを特徴とする表示制御装置。
【請求項２】
方向を示すオブジェクトについては、左右の向きが１方向だけの１つのオブジェクトを記憶する第１の記憶手段を有し、当該オブジェクトについて前記決定手段により前記第１の記憶手段にて記憶されている方向とは逆向きの方向が決定された場合に、当該第１の記憶手段に記憶されている当該オブジェクトを読み出して左右反転させて表示させる第１の表示制御手段を有することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
方向を示すオブジェクトについては、左右の向きがそれぞれ左方向、右方向の２つのオブジェクトを記憶する第２の記憶手段を有し、当該オブジェクトについて前記決定手段により決定された方向のオブジェクトを前記第２の記憶手段から読出して表示させる第２の表示制御手段を有することを特徴とする請求項１に記載の表示制御装置。
【請求項４】
前記表示制御装置では、複数の言語をサポートするオペレーティングシステムが動作しており、前記プリンタドライバは当該オペレーティングシステムに従い実行されるアプリケーションであって、
前記プリンタドライバの特定手段は、前記オペレーティングシステムの言語が切替えられた際に、当該切り替えられた言語を前記プリンタドライバの表示言語として特定し、
前記プリンタドライバの表示制御手段は、前記オペレーティングシステムが表示言語に従い左右の向きを決定して返送した表示対象のオブジェクトを利用して前記復旧ガイダンス画面の表示の制御を行うことを特徴とする請求項１に記載の表示制御装置。
【請求項５】
印刷装置で印刷処理を行う際に、文書や画像を作成または編集するためのアプリケーションから発行された印刷命令を前記印刷装置が実行可能な印刷コマンドに変換するプリンタドライバが実行される表示制御装置の表示制御方法であって、
前記プリンタドライバがサポートする複数の言語に係るライブラリを保持手段に保持する保持工程と、
前記プリンタドライバにより提供される選択画面を介した複数の言語からの選択に従い、表示言語を特定する特定工程と、
前記印刷装置において用紙切れが発生した際に、復旧ガイダンス画面を表示するための表示制御工程と、
前記特定工程により特定された表示言語に応じて当該表示言語に係るオブジェクトを表示する際の左右の向き、又は左右の表示位置、又は左右の進行方向を変更するか否かを判別するための判別用情報を、表示するオブジェクトごとに管理する管理工程と、
前記特定工程により特定されている前記表示言語、及び前記管理工程により管理されている前記判別用情報に基づいて、表示対象のオブジェクトについて、左右の向き、又は左右の表示位置、又は左右の進行方向を決定する決定工程とを有し、
前記表示制御工程では、前記特定工程で特定されている前記表示言語に係るライブラリ、及び前記復旧ガイダンス画面の表示対象のオブジェクトについて、前記決定工程で決定された左右の向き、又は左右の表示位置、又は左右の進行方向に従う表示の制御を行われることを特徴とする表示制御装置の表示制御方法。
【請求項６】
前記表示制御装置では、複数の言語をサポートするオペレーティングシステムが動作しており、前記プリンタドライバは当該オペレーティングシステムに従い実行されるアプリケーションであって、
前記プリンタドライバの特定工程では、前記オペレーティングシステムの言語が切替えられた際に、当該切り替えられた言語を前記プリンタドライバの表示言語として特定し、
前記プリンタドライバの表示制御工程では、前記オペレーティングシステムが表示言語に従い左右の向きを決定して返送した表示対象のオブジェクトを利用して前記復旧ガイダンス画面の表示の制御を行うことを特徴とする請求項５に記載の表示制御装置の表示制御方法。
【請求項７】
請求項１乃至４のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフトウエアによりユーザインタフェースとしてのオブジェクトを表示する表示制御装置、その表示制御方法及びプログラムに関する。特に、複数の言語に係るオブジェクトを切替え可能に表示する表示制御装置、その表示制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、１つのアプリケーションプログラムで複数の言語に対応し、これら言語を切替えてユーザインタフェースとしてのビットマップ画像を表示し得るアプリケーションソフトウエアが実現されている（特許文献１参照）。
【０００３】
この特許文献１に係るアプリケーションプログラムでは、全世界の言語に対応させることができる。
【特許文献１】特開２００１−１４２６００
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、多くの言語は横書きであり、その読み方向は左から右に向かって読み進めるようになっている（これを正順と呼ぶ）。しかしながら、アラビア語などは、逆に右から左に向かって読み進めるようになっている（これを逆順と呼ぶ）。このように逆順に読み進める言語の場合は、所定の一連のビットマップ画像等のオブジェクトについては、正順に読み進める言語に係る場合と逆順に表示する必要がある。
【０００５】
なお、ここで言う「ビットマップ画像」とは、文字に係るビットマップ画像を除いた一般的な画像に係るビットマップ画像を指している。
【０００６】
しかしながら、上記特許文献１に係るアプリケーションプログラム、或はＷｉｎｄｏｗｓ（登録商標）等のオペレーティングシステム（以下ＯＳと云う）は、一連のビットマップ画像を正順に表示すべきか、逆順に表示すべきかを管理することができなかった。
【０００７】
本発明は、このような背景の下になされたもので、その目的は、言語の特性に応じた形態でビットマップ画像を表示できるようにすることにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、たとえば本発明に係る表示制御装置は、印刷装置で印刷処理を行う際に、文書や画像を作成または編集するためのアプリケーションから発行された印刷命令を前記印刷装置が実行可能な印刷コマンドに変換するプリンタドライバが実行される表示制御装置であって、前記プリンタドライバがサポートする複数の言語に係るライブラリを保持する保持手段と、前記プリンタドライバにより提供される選択画面を介した複数の言語からの選択に従い、表示言語を特定する特定手段と、前記印刷装置において用紙切れが発生した際に、復旧ガイダンス画面を表示するための表示制御手段と、前記特定手段により特定された表示言語に応じて当該表示言語に係るオブジェクトを表示する際の左右の向き、又は左右の表示位置、又は左右の進行方向を変更するか否かを判別するための判別用情報を、表示するオブジェクトごとに管理する管理手段と、前記特定手段により特定されている前記表示言語、及び前記管理手段により管理されている前記判別用情報に基づいて、表示対象のオブジェクトについて、左右の向き、又は左右の表示位置、又は左右の進行方向を決定する決定手段とを有し、前記表示制御手段は、前記特定手段により特定されている前記表示言語に係るライブラリ、及び前記復旧ガイダンス画面の表示対象のオブジェクトについて、前記決定手段により決定された左右の向き、又は左右の表示位置、又は左右の進行方向に従う表示の制御を行うことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、言語の特性に応じた形態でビットマップ画像を表示できるようにすることが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を、図面に基づいて説明する。
【００１１】
図１は、本発明の実施の形態に係る画像表示方法を適用したホストコンピュータの概略構成を示す図である。ホストコンピュータ１０００は、中央演算処理装置１００５、ハードディスク１００１、インタフェース１００２、記憶媒体読取装置１００３、揮発性記憶領域１００４、表示装置１００６、入力装置１００７を有している。
【００１２】
ハードディスク１００１は、オペレーティングシステム、文書や画像を作成、編集等するための各種のアプリケーションプログラムを記憶する記憶媒体として利用される。また、ハードディスク１００１には、プリンタドライバもインストールされる。インタフェース１００２は、ホストコンピュータ１０００から外部に出力される印刷命令を印刷装置２０００（図２参照）に送信するためのインタフェースとして機能する。インタフェース１００２は、具体的には、パラレルインタフェース、ＵＳＢインタフェース、赤外線通信、又はネットワークインタフェースなどで構成されている。
【００１３】
記憶媒体読取装置１００３は、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク等の記憶媒体に保存された情報を読み取る装置である。記憶媒体読取装置１００３は、具体的には、ＣＤ−ＲＯＭドライブ、フロッピー（登録商標）ディスクドライブなどにより構成されている。揮発性記憶領域１００４は、ＲＡＭ等の揮発性メモリ上に形成されている。この揮発性記憶領域１００４は、ハードディスク１００１に保存されているオペレーティングシステム、プリンタドライバ等の各種アプリケーションプログラムを一時的に展開して中央演算処理装置１００５により実行するための領域として利用される。
【００１４】
中央演算処理装置１００５は、プログラムに従ってホストコンピュータ１０００の全体的な動作を制御する。表示装置１００６は、プリンタドライバ等の各種のプログラムに係るユーザインタフェース（以下、ＵＩと言う）画面等を表示するために利用される。入力装置１００７は、マウス、キーボードなどで構成され、表示装置１００６に表示されたＵＩ画面に対してデータやコマンドを入力するために利用される。なお、所定のビットマップ画像（オブジェクト）は、言語の種類に応じて正順、或いは逆順で表示される。
【００１５】
［第１の実施の形態］
第１の実施の形態は、所定のビットマップ画像を正順、逆順の何れで表示するかをアプリケーション側で管理するものである。
【００１６】
図２は、プリンタドライバを用いて印刷処理を行う場合のソフトウェアの構成例を示している。ホストコンピュータ１０００と印刷装置２０００は、セントロニクスインタフェース、ＵＳＢインタフェース、ネットワークインタフェース等に係る通信ケーブル１０１８で接続され、双方向に通信可能となっている。なお、ホストコンピュータ１０００と印刷装置２０００は、赤外線等の無線通信を行うように構成してもよい。
【００１７】
図２において、例えば文書や画像を作成または編集可能なアプリケーション１０１４により、印刷命令１０１１がグラフィックスドライバインタフェース（以下、ＧＤＩという）１０１５に発行されたとする。この場合、ＧＤＩ１０１５は、スプーラ１０１３を介して、プリンタドライバ１０１６に対して、デバイスドライバインタフェース（以下、ＤＤＩという）命令を発行する。ＤＤＩ命令を受けたプリンタドライバ１０１６は、そのＤＤＩ命令を印刷装置２０００が実行可能な印刷コマンドに変換し、その印刷コマンドをプスーラ１０１３を介して双方向通信制御部１０１７に渡す。
【００１８】
双方向通信制御部１０１７は、通信ケーブル１０１８を介して印刷コマンドを印刷装置２０００の双方向通信部１０１９に送信する。印刷装置２０００の双方向通信制御部１０１９は、受信した印刷コマンドを印刷制御部１０２０に渡す。印刷制御部１０２０は、印刷コマンドに係る印刷処理を実行する。
【００１９】
図３は、プリンタドライバ１０１６の構成を示す概念図である。なお、このプリンタドライバ１０１６は、複数の表示言語をサポートするマルチ言語サポートプリンタドライバとして構成されている。
【００２０】
プリンタドライバ１０１６は、複数の言語に係る言語ライブラリ１０２３を保持している。プリンタドライバ言語選択処理部１０２２は、ユーザが選択した表示言語に対応する言語ライブラリ１０２３を選択する。この言語ライブラリ１０２３の選択処理がなされると、画像表示部１０２５は、プリンタドライバ表示画面１０２１上に、選択に係る表示言語に対応する正順、又は逆順でビットマップ画像が表示されたドライバ設定画面等を表示する。
【００２１】
なお、プリンタドライバ１０１６は、図１２に示すような、表示言語を切替設定するためのメニュー画面１１１を表示する機能を有している。また、プリンタドライバ１０１６の画像表示部１０２５は、ドライバ設定画面等に係るビットマップ画像を表示する場合、そのビットマップ画像データは、ビットマップファイル１０２４から取得する。
【００２２】
図３に示した言語ライブラリ１０２３は、一般的に知られているダイナミックリンクライブラリ（ＤＬＬファイル）として構成しており、英語ライブラリ、日本語ライブラリ、アラビア語ライブラリ、ドイツ語ライブラリ等を有している。
【００２３】
これら言語に係る言語ライブラリ１０２３は、図４に示すように、文字やダイアログテンプレートなどの一般的な言語リソース１０３２の他に、言語レイアウト情報１０３１を有している。この言語レイアウト情報１０３１は、当該言語に係る文字列を正順（左から右）に読み進めるのか、或いは逆順（右から左）に読み進めるのかを示す情報である。この言語レイアウト情報１０３１は、後述するように、表示対象のビットマップ画像等のオブジェクトについて、左右の向き、又は左右の表示位置、又は左右の進行方向を決定するために利用される。
【００２４】
言語レイアウト情報１０３１は、具体的には、フラグで構成され、例えば文字列を正順（左から右）に読み進める英語等の言語の場合は「１」、逆順に読み進めるアラビア語等の言語の場合は「０」のフラグとなっている。この言語レイアウト情報１０３１に係るフラグは、言語ライブラリ１０２３を作成する際に設定することができる。
【００２５】
図５は、英語ライブラリが保有する英語リソースのうち、プリンタドライバ１０１６が表示するダイアログテンプレート１０４１を例示した図である。このダイアログテンプレート１０４１では、ダイアログ全体の画面と、その画面上に表示される文字列、ボタン、操作手順の内容を示す絵等に係るビットマップ画像の表示領域が指定されている。
【００２６】
例えば、ダイアログテンプレート１０４１では、印刷に係る手順１として、給紙方法を示すビットマップ画像を表示する領域１０４４が指定されている。更に、ダイアログテンプレート１０４１では、手順を矢印で表示するための矢印領域１０４３、印刷に係る手順２として、リセットボタンを示すビットマップ画像を表示する領域１０４２が指定されている。
【００２７】
すなわち、このダイアログテンプレート１０４１は、文字列を「左から右」に読み進める英語リソースを構成するものである。従って、手順１の表示領域は左、手順２の表示領域は右となっており、違和感を招かない配列で手順１，２が表示されるように構成されている。換言すれば、英語の読み方向が「左から右」であるため、その方向に応じて手順１，２に係るビットマップ画像の左右の進行方向も「左から右」となっている。
【００２８】
このように、各ビットマップ画像の表示領域は、各言語リソース（言語ライブラリ）上のテンプレートで指定されている。
【００２９】
図６は、アラビア語ライブラリが保有するアラビア語リソースのうち、図５に対応するダイアログテンプレート１０５１を例示した図である。このアラビア語に係るダイアログテンプレート１０５１では、印刷に係る手順１として、給紙方法を示すビットマップ画像を表示する領域１０５４、手順を矢印で表示するための矢印領域１０５３が指定されている。更に、ダイアログテンプレート１０５１では、印刷に係る手順２として、リセットボタンを示すビットマップ画像を表示する領域１０５２が指定されている。
【００３０】
すなわち、このダイアログテンプレート１０５１は、文字列を右から左に読み進めるアラビア語リソースを構成するものである。従って、手順１の表示領域は右、手順２の表示領域は左となっており、違和感を招かない配列で手順１，２が表示されるように構成されている。
【００３１】
上記のようなビットマップ画像の表示領域は、テンプレートの他に、図７に示したように、ビットマップ表示位置管理テーブル１０６１でも管理されている。このビットマップ表示位置管理テーブル１０６１は、表示対象のビットマップ画像に存在場所を示すビットマップリソースＩＤと対応付けて、そのビットマップ画像のテンプレート上の表示領域１０６２を示すオブジェクトのリソースＩＤを管理している。
【００３２】
なお、上記のオブジェクトのリソースＩＤとは、テンプレート上に下地として設定した表示領域のＩＤを示している。
【００３３】
図７の例では、給紙方法に係るビットマップリソースＩＤに対しては、オブジェクトのリソースＩＤ１０６３が対応付けられている。また、矢印に係るビットマップリソースＩＤに対しては、オブジェクトのリソースＩＤ１０６４が対応付けられている。更に、リセットボタンに係るビットマップリソースＩＤに対しては、オブジェクトのリソースＩＤ１０６５が対応付けられている。このようなビットマップ表示位置管理テーブル１０６１は、プリンタドライバ１０１６等のアプリケーションに内蔵されている。
【００３４】
具体的には、アプリケーションでは、各言語リソース上のダイアログ画面（ＵＩ画面）に係るテンプレート上で、リソース情報として配置先のオブジェクト領域のＸＹ座標、幅及び高さを指定しておく。一方、ビットマップ表示位置管理テーブル１０６１にて、表示対象のビットマップ画像の存在場所を示すビットマップリソースＩＤと、そのビットマップ画像のテンプレート上の表示領域１０６２を示すオブジェクトのリソースＩＤを管理しておく。
【００３５】
この場合、例えば、図５のテンプレート上の手順１に係る表示領域１０４４と、図６のテンプレート上の手順１に係る表示領域１０５２とには、同一のオブジェクトのリソースＩＤが割当てられている。以上の構成により、アプリケーションは、ダイアログ画面に係るビットマップ画像をビットマップファイル１０２４から読み出して、所定の位置に表示することができる。
【００３６】
図８は、各ビットマップ画像を一意に識別可能なビットマップリソースＩＤに対する「ビットマップレイアウト情報」を管理するビットマップ表示フラグテーブル１０７１を示している。このビットマップ表示フラグテーブル１０７１は、画像表示部１０２５により管理されている。このビットマップ表示フラグテーブル１０７１上のビットマップレイアウト情報１０７２，１０７３，１０７４，１０７５は、対応するビットマップ画像が表示レイアウトに従属するか否かを示すフラグにより構成されている。
【００３７】
例えば、図９に示した黒塗りの矢印に係るビットマップ画像１０８１、及びプリンタへの給紙方法を表すビットマップ画像１０８２は、ビットマップファイル１０２４に保持されているオリジナルの状態を示している。
【００３８】
このうち、黒塗りの矢印に係るビットマップ画像１０８１は、言語の種類に応じた読み方向に依存させて向きを変更させる必要がある。従って、ビットマップ画像１０８１については、上記のビットマップレイアウト情報に係るフラグとしては、表示レイアウトに従属する旨の例えば「１」がセットされている。
【００３９】
一方、プリンタへの給紙方法を示すビットマップ画像１０８２は、ダイアログテンプレート上で表示位置を指定しておきさえすればよく、言語の種類に応じた読み方向に依存させて左右の向きを変更させる必要はない。従って、ビットマップ画像１０８２については、上記のビットマップレイアウト情報に係るフラグとしては、表示レイアウトに従属しない旨の例えば「０」がセットされている。
【００４０】
なお、上記の説明から推測できるように、「表示レイアウト」に従属するか否かは、図４の「言語レイアウト情報１０２３」に依存するか否かを示すものである。
【００４１】
図１０は、図１２に示した言語切替画面１１１１にて「英語」を指定した場合において、用紙切れが発生した際に表示する復旧ガイダンス画面１０９１を示し、図５のダイアログテンプレート１０４１に対応するものである。この復旧ガイダンス画面１０９１では、復旧手順１，２を示す視覚的に示すビットマップ画像１０９２，１０９４、黒塗りの右向きの矢印に係るビットマップ画像１０９３が、復旧手順を説明する文字列情報と共に表示されている。
【００４２】
この場合、文字列を左から右に読み進める「英語」が指定されているため、各ビットマップ画像は、左から右に向かって進行するように表示されている。すなわち、左から右に、復旧手順１を示すビットマップ画像１０９２、黒塗りの右向きの矢印に係るビットマップ画像１０９３、復旧手順２を示すビットマップ画像１０９４の順に配列されて表示されている。
【００４３】
図１１は、図１２に示した言語切替画面１１１１にて「アラビア語」を指定した場合において、用紙切れが発生した際に表示する復旧ガイダンス画面１１０１を示し、図６のダイアログテンプレート１０５１に対応するものである。この復旧ガイダンス画面１１０１では、復旧手順１，２を示す視覚的に示すビットマップ画像１１０２，１１０４、黒塗りの左向きの矢印に係るビットマップ画像１１０３が、復旧手順を説明する文字列情報と共に表示されている。
【００４４】
この場合、文字列を右から左に読み進める「アラビア語」が指定されている。従って、各ビットマップ画像は、右から左に向かって進行するように表示されている。すなわち、右から左に、復旧手順１を示すビットマップ画像１１０２、黒塗りの左向きの矢印に係るビットマップ画像１１０３、復旧手順２を示すビットマップ画像１１０４の順に配列されて表示されている。
【００４５】
なお、黒塗りの左向きの矢印に係るビットマップ画像１１０３は、図９の黒塗りの右向きのオリジナルの矢印に係るビットマップ画像を左右反転させて表示させたものである。この左右反転表示処理は、アラビア語の言語ライブラリ上の言語レイアウト情報１０３１、及びビットマップ表示テーブル１０７１上のビットマップレイアウト情報に基づいて行われる。
【００４６】
ただし、後述する第２の実施の形態における図１５の表示処理の場合は、黒塗りの左向きの矢印に係るビットマップ画像１１０３は、最初から左方向を向いたオリジナルのビットマップ画像（図１４（ｂ）参照）を利用して表示される。
【００４７】
次に、第１の実施の形態における画像表示処理例を、図１３のフローチャートに基づいて説明する。なお、本フローチャートに係るプログラムは、プリンタドライバ１０１６内の画像表示部１０２５として構成されて記憶媒体に記録されているものであり、揮発性記憶領域１００４に展開されて中央演算装置１００５により実行される（図１５も同様）。
【００４８】
中央演算装置１００５は、プリンタドライバ１０１６の実行中にビットマップ画像を表示させるべきイベントが発生すると、プリンタ表示画面１０２１上に表示すべきビットマップ画像を示すビットマップリソースＩＤを確定する（ステップＳ１）。次に、中央演算装置１００５は、図８に示したビットマップ表示フラグテーブル１０７１から、当該ビットマップリソースＩＤに対する「ビットマップレイアウト情報」を取得する（ステップＳ２）。
【００４９】
そして、中央演算装置１００５は、その「ビットマップレイアウト情報」に係るフラグを判別することにより、当該ビットマップ画像の表示が「表示レイアウトに従属する」のか否かを判別する（ステップＳ３）。その結果、「表示レイアウトに従属しない」場合は、中央演算装置１００５は、ビットマップリソースＩＤに基づいてビットマップファイル１０２４から該当するビットマップ画像をロードする。そして、中央演算装置１００５は、そのビットマップ画像をオリジナルの向きの通りにプリンタドライバ表示画面１０２１に表示して（ステップＳ６）、本処理を終了する。
【００５０】
一方、当該ビットマップ画像の表示が「表示レイアウトに従属する」場合は、中央演算装置１００５は、図１２の言語選択メニュー１１１１で選択された言語に係る言語ライブラリをロードする。そして、中央演算装置１００５は、ロードした言語ライブラリの中から図４の言語レイアウト情報１０２３を取得する（ステップＳ４）。この言語ライブラリのロードは、プリンタドライバ言語選択処理部１０２２に基づいて実行される。また、言語レイアウト情報１０２３は、前述のように、右から左へ読み進める言語レイアウトなのか、右から左へ読み進める言語レイアウトなのかが記載されている。
【００５１】
そこで、中央演算装置１００５は、当該言語レイアウト情報１０２３が「左から右（正順：順転）」の言語レイアウトの場合は、ビットマップリソースＩＤに基づいてビットマップファイル１０２４から該当するビットマップ画像をロードする。そして、中央演算装置１００５は、そのビットマップ画像をオリジナルの向きの通りにプリンタドライバ表示画面１０２１に表示して（ステップＳ６）、本処理を終了する。
【００５２】
一方、当該言語レイアウト情報１０２３が「右から左（逆順：反転）」の言語レイアウトの場合は、中央演算装置１００５は、ビットマップリソースＩＤに基づいてビットマップファイル１０２４から該当するビットマップ画像をロードする。そして、中央演算装置１００５は、そのビットマップ画像、例えば図９の黒塗りの右向きの矢印に係るビットマップ画像１０８１をそのオリジナルの右向きから左右反転して左向きに変換する。そして、中央演算装置１００５は、左向きに変換した矢印に係るビットマップ画像１０８１をプリンタドライバ表示画面１０２１に表示して（ステップＳ７）、本処理を終了する。
【００５３】
このように、第１の実施の形態では、オペレーティングシステムに依存することなく、プリンタドライバ等のアプリケーション単体で、言語の読み方向に対応した向きに例えば矢印等に係るビットマップ画像を表示することが可能となる。
【００５４】
［第２の実施の形態］
第１の実施の形態では、黒塗りの矢印に係るビットマップ画像としては、右向きのものを１つだけビットマップファイル１０２４上に用意していた。これに対し、第２の実施の形態では、図１４（ａ），（ｂ）に示したように、黒塗りの矢印に係るビットマップ画像としては、右向きのもの１１８１、左向きのもの１１８２の２つをビットマップファイル１０２４上に用意している。
【００５５】
なお、図８のビットマップ表示フラグテーブル１０７１上のビットマップレイアウト情報としては、上記の右向き、左向きの矢印に係るビットマップ画像１１８１,１１８２のいずれも、「表示レイアウト」に従属する旨のフラグがセットされている。
【００５６】
図１４（ｃ）に示したように、手順１を示す給紙方法に係るビットマップ画像１１８３は、前述のように、ダイアログテンプレート上で表示位置を指定しておきさえすればよく、言語の種類に応じた読み方向に依存させて左右の向きを変更させる必要はない。
【００５７】
従って、手順１を示す給紙方法に係るビットマップ画像１１８３は、第２の実施の形態においても第１の実施の形態と同様に、１つだけをビットマップファイル１０２４上に用意している。また、このビットマップ画像１１８３は、第１の実施の形態と同様に、図８のビットマップ表示フラグテーブル１０７１においては、そのビットマップレイアウト情報としては、「表示レイアウト」に従属しない旨のフラグがセットされている。これらのことは、手順２に係るビットマップ画像についても同様である。
【００５８】
次に、第２の実施の形態における画像表示処理例を、図１５のフローチャートに基づいて説明する。
【００５９】
中央演算装置１００５は、プリンタドライバ１０１６の実行中にビットマップ画像を表示させるべきイベントが発生すると、プリンタ表示画面１０２１上に表示すべきビットマップ画像を示すビットマップリソースＩＤを確定する（ステップＳ１）。次に、中央演算装置１００５は、図８に示したビットマップ表示フラグテーブル１０７１から、当該ビットマップリソースＩＤに対する「ビットマップレイアウト情報」を取得する（ステップＳ２）。
【００６０】
そして、中央演算装置１００５は、その「ビットマップレイアウト情報」に係るフラグを判別することにより、当該ビットマップ画像の表示が「表示レイアウトに従属する」のか否かを判別する（ステップＳ３）。その結果、「表示レイアウトに従属しない」場合は、中央演算装置１００５は、ビットマップリソースＩＤに基づいてビットマップファイル１０２４から該当するビットマップ画像をロードする。そして、中央演算装置１００５は、ロードしたビットマップ画像をオリジナルの向きの通りにプリンタドライバ表示画面１０２１に表示して（ステップＳ１３）、本処理を終了する。
【００６１】
一方、当該ビットマップ画像の表示が「表示レイアウトに従属する」場合は、中央演算装置１００５は、図１２の言語選択メニュー１１１１で選択された言語に係る言語ライブラリをロードする。そして、中央演算装置１００５は、ロードした言語ライブラリの中から図４の言語レイアウト情報１０２３を取得する（ステップＳ４）。この言語ライブラリのロードは、プリンタドライバ言語選択処理部１０２２に基づいて実行される。また、言語レイアウト情報１０２３は、前述のように、右から左へ読み進める言語レイアウトなのか、右から左へ読み進める言語レイアウトなのかが記載されている。
【００６２】
そこで、中央演算装置１００５は、当該言語レイアウト情報１０２３が「左から右（正順：順転）」の言語レイアウトの場合は、「左から右」に係るビットマップ画像をビットマップファイル１０２４からロードする。このロード対象のビットマップ画像は、ビットマップリソースＩＤに基づいて探索する。そして、中央演算装置１００５は、その「左から右」に係るビットマップ画像、例えば図１４（ａ）のビットマップ画像１１８１をプリンタドライバ表示画面１０２１に表示して（ステップＳ１１）、本処理を終了する。
【００６３】
一方、当該言語レイアウト情報１０２３が「右から左（逆順：反転）」の言語レイアウトの場合は、中央演算装置１００５は、「右から左」に係るビットマップ画像をビットマップファイル１０２４からロードする。このロード対象のビットマップ画像は、ビットマップリソースＩＤに基づいて探索する。そして、中央演算装置１００５は、その「右から左」に係るビットマップ画像、例えば図１４（ｂ）のビットマップ画像１１８２をプリンタドライバ表示画面１０２１に表示して（ステップＳ１２）、本処理を終了する。
【００６４】
このように、第２の実施の形態では、第１の実施の形態と同様に、オペレーティングシステムに依存することなく、プリンタドライバ等のアプリケーション単体で、言語の読み方向に対応した向きに矢印に係るビットマップ画像を表示することが可能となる。また、第２の実施の形態では、矢印に係る複数の向きのビットマップ画像を用意している。従って、第２の実施の形態では、例えばアラビア語が選択されている場合でも、第１の実施の形態に比べて、アラビア語の読み方向に合致した向きの矢印に係るビットマップ画像を迅速に表示させることが可能となる。
【００６５】
［第３の実施の形態］
第１，第２の実施の形態では、プリンタドライバ、すなわちアプリケーションにより、所定のビットマップ画像について左右反転表示処理を行っていた。これに対し、第３の実施の形態では、オペレーティングシステム（ＯＳ）により、所定のビットマップ画像について左右反転表示処理を行っている。
【００６６】
図１６は、第３の実施の形態におけるアプリケーション及びＯＳの構成例を示している。
【００６７】
図１６において、アプリケーション１１２１は、図３に示した第１、第２の実施の形態に係るプリンタドライバ１０１６とほぼ同様に構成されている。すなわち、アプリケーション１１２１は、各言語に対応する言語ライブラリ１１２５、この言語ライブラリ１１２５を選択するアプリケーション言語選択処理部１１２４を有している。また、アプリケーション１１２１は、アプリケーション表示画面１１２２にビットマップ画像を表示する画像表示部１１２３、及びビットマップ画像を収納したビットマップファイル１１２６を有している。
【００６８】
なお、言語ライブラリ１１２５の構成は、第１，第２の実施の形態に係る言語ライブラリ１０２３と全く同様である。また、アプリケーション言語選択処理部１１２４の機能は、第１，第２の実施の形態に係るプリンタドライバ言語選択処理部１０２２とほぼ同等の機能である。同様に、アプリケーション表示画面１１２２、画像表示部１１２３の機能は、第１，第２の実施の形態に係るプリンタドライバ表示画面１０２１、画像表示部１０２５の機能とほぼ同等の機能である。
【００６９】
ただし、ビットマップファイル１１２６のフォーマットは、第１，第２の実施の形態に係るビットマップファイル１０２４と多少異なっている。すなわち、第３の実施の形態に係るビットマップファイル１１２６のフォーマットでは、例えば図１７（ａ），（ｂ），（ｃ）に示したように、各ビットマップ画像１１４１，１１５１，１１６１に対し、レイアウト属性フラグ１１４２が付加されている。
【００７０】
このレイアウト属性フラグ１１４２は、「表示レイアウトに従属する」か否かを示すものであり、図８のビットマップ表示フラグテーブル１０７１のビットマップレイアウト情報に相当するものである。従って、第３の実施の形態では、ビットマップ表示フラグテーブル１０７１は設けられていない。また、第３の実施の形態に係る画像表示部１１２３では、第１，第２の実施の形態に係る画像表示部１０２５と異なり、ビットマップ表示フラグテーブル１０７１を管理していない。
【００７１】
また、図１６に示したように、第３の実施の形態に係るおＯＳ１１３１は、第１，第２の実施の形態に係るＯＳ（図示省略）とは異なり、ビットマップ画像ロード部１１３２と言語設定管理部１１４３を有している。
【００７２】
ビットマップ画像ロード部１１３２は、画像表示部１１２３から所定のビットマップ画像の取得コマンドが発行されると、そのビットマップ画像をビットマップファイル１１２６からロードし、画像表示部１１２３に返送する。この場合、ビットマップ画像ロード部１１３２は、言語設定管理部１１３４から言語情報１１３３を取得する。そして、ビットマップ画像ロード部１１３２は、その言語情報１１３３に応じてビットマップ画像を左右反転して返送する。
【００７３】
すなわち、言語設定管理部１１３４は、ユーザが選択した表示言語を管理している。さらに、言語設定管理部１１３４は、図１８に示したＯＳ表示言語レイアウトテーブル１１７１を管理している。このＯＳ表示言語レイアウトテーブル１１７１は、各言語に係るＯＳ表示言語に対応するＯＳ表示レイアウト情報１１７２〜１１７５を保有している。ＯＳ表示レイアウト情報は、具体的には、英語等の「左から右（順転）」のＯＳ表示言語なのか、或いはアラビア語等の「右から左（逆転）」のＯＳ表示言語なのかを示すフラグ情報である。
【００７４】
これにより、言語設定管理部１１３４は、ユーザが現在選択しているＯＳ表示言語の言語レイアウトが「左から右（順転）」のＯＳ表示言語なのか、或いは「右から左（逆転）」のＯＳ表示言語なのかを判断して管理することができる。
【００７５】
なお、第３の実施の形態では、アプリケーション言語選択処理部１１２４は、言語設定管理部１１３４から言語情報１１３５を取得する。そして、アプリケーション言語選択処理部１１２４は、その言語情報１１３５に基づいて、現在選択されているＯＳ表示言語に対応する言語に係る言語ライブラリ１１２５を選択している。換言すれば、第３の実施の形態では、ＯＳ１１３１側の表示言語を切替えることにより、アプリケーション側のユーザインタフェース画面の表示言語も同様に切替わるように構成されている。
【００７６】
次に、第３の実施の形態における画像表示処理例を、図１９のフローチャートに基づいて説明する。なお、本フローチャートに係るプログラムは、アプリケーション１１２１及びＯＳ１１３１として構成されて記憶媒体に記録されているものであり、揮発性記憶領域１００４に展開されて中央演算装置１００５により実行される。
【００７７】
ここで、アプリケーション１１２１の実行中にビットマップ画像を表示させるべきイベントが発生し、アプリケーション１１２１からビットマップ画像の取得コマンドを、ビットマップ画像ロード部１１３２により受信したものとする（ステップＳ２１）。この取得コマンドには、ビットマップファイル１１２６を構成するファイルを示すリソースＩＤが含まれている。
【００７８】
そこで、中央演算装置１００５は、ビットマップ画像ロード部１１３２により、上記のリソースＩＤに係るビットマップファイル１１２６から、ビットマップ画像とレイアウト属性フラグ１１４２を取得する（ステップＳ２２）。
【００７９】
次に、中央演算装置１００５は、ビットマップ画像ロード部１１３２により、取得したレイアウト属性フラグ１１４２が、「表示レイアウトに従属しない」を示しているか否かを判別する（ステップＳ２３）。その結果、「表示レイアウトに従属しない」を示している場合は、中央演算装置１００５は、取得したビットットマップ画像を左右反転させずに、そのままアプリケーション１１２１に返送し（ステップＳ２６）、本処理を完了する。中央演算装置１００５は、ステップＳ２６の返送処理をビットマップ画像ロード部１１３２と協働して行う。
【００８０】
この場合のステップＳ２６の処理では、例えば、現在選択されている言語の種類に依存することなく、図９に示した給紙方法を示すビットマップ画像１０８２が左右反転されずに返送される。
【００８１】
一方、取得したレイアウト属性フラグ１１４２が、「表示レイアウトに従属する」を示している場合は、中央演算装置１００５は、ビットマップ画像ロード部１１３２と協働して、次のような処理を行う。すなわち、中央演算装置１００５は、現在選択されているＯＳ表示言語に基づいて、図１８のＯＳ表示言語レイアウトテーブル１１７１１を検索する。そして、中央演算装置１００５は、当該ＯＳ表示言語に合致した「ＯＳ表示レイアウト情報」を取得する（ステップＳ２４）。
【００８２】
次に、中央演算装置１００５は、ビットマップ画像ロード部１１３２により、その「ＯＳ表示レイアウト情報」の内容を判別する（ステップＳ２５）。そして、中央演算装置１００５は、「ＯＳ表示レイアウト情報」が「左から右（順転）」の場合は、取得したビットットマップ画像を左右反転させずに、そのままアプリケーション１１２１に返送し（ステップＳ２６）、本処理を完了する。
【００８３】
この場合のステップＳ２６の処理では、例えば、現在選択されている言語が英語であれば、図９に示した黒塗りの右向きの矢印に係るビットマップ画像が左右反転されずに、図１０の符号１０９３の状態で返送される。
【００８４】
一方、「ＯＳ表示レイアウト情報」が「右から左（反転）」の場合は、中央演算装置１００５は、取得したビットットマップ画像を左右反転させて、アプリケーション１１２１に返送し（ステップＳ２７）、本処理を完了する。中央演算装置１００５は、ステップＳ２７の返送処理をビットマップ画像ロード部１１３２と協働して行う。
【００８５】
この場合のステップＳ２７の処理では、例えば、現在選択されている言語がアラビア語であれば、図９に示した黒塗りの右向きの矢印に係るビットマップ画像が左右反転されて、図１１の符号１１０３の状態で返送される。
【００８６】
このように、第３の実施の形態では、オペレーティングシステム側の処理により、言語の読み方向に対応した向きに例えば矢印等に係るビットマップ画像を左右反転させて、アプリケーション表示画面に表示することが可能となる。
【００８７】
なお、本発明は、上記の第１〜第３の実施の形態に限定されることなく、例えば、第３の実施の形態において、第２の実施の形態に係る右方向の矢印と、左方向の矢印に係る２つのビットマップ画像を用意しておき、使用することも可能である。また、プリンタドライバ以外の各種のアプリケーションに対して、上記の第１〜第３の実施の形態に係る処理と同様の処理を適用することも可能である。
【００８８】
また、矢印以外の例えば「次へ」ボタン、音量等のボリューム表示、現在処理中の処理の進行の度合いを示す情報に適用することも可能である。
【００８９】
更に、本発明は、ビットマップ画像以外の表示オブジェクト、例えばベクタ画像に適用することも可能である。
【００９０】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００９１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９２】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００９３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【００９４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００９５】
【図１】ホストコンピュータの概略構成を示すブロック図である。
【図２】プリンタドライバに関連するソフトウェアの構成を示す図である。
【図３】プリンタドライバの構成を示す図である。
【図４】言語ライブラリの構成を示す図である。
【図５】英語に係るテンプレートを例示した図である。
【図６】アラビア語に係るテンプレートを例示した図である。
【図７】ビットマップ表示位置管理テーブルの構成例を示す図である。
【図８】ビットマップ表示フラグテーブルの構成例を示す図である。
【図９】第１の実施の形態におけるオリジナルのビットマップ画像を例示した図である。
【図１０】図５のテンプレートに対応する表示画面を示す図である。
【図１１】図６のテンプレートに対応する表示画面を示す図である。
【図１２】アプリケーション上の表示言語切替画面例を示す図である。
【図１３】第１の実施の形態における画像表示処理を示すフローチャートである。
【図１４】第２の実施の形態におけるオリジナルのビットマップ画像を例示した図である。
【図１５】第２の実施の形態における画像表示処理を示すフローチャートである。
【図１６】第３の実施の形態におけるアプリケーション及びオペレーティングシステムの構成を示す図である。
【図１７】第３の実施の形態におけるビットマップ画像のフォーマットを示す図である。
【図１８】第３の実施の形態におけるＯＳ表示言語レイアウトテーブルの構成例を示す図である。
【図１９】第３の実施の形態における画像表示処理を示すフローチャートである。
【符号の説明】
【００９６】
１０００…ホストコンピュータ
１００１…ハードディスク
１００５…中央演算処理装置
１００６…表示装置
１００７…入力装置
１０１６…プリンタドライバ
１０２２…プリンタドライバ言語選択処理部
１０２３…言語ライブラリ
１０２４…ビットマップファイル
１０２５…画像表示部
１０３１…言語レイアウト情報
１０７１…ビットマップ表示フラグテーブル
１１７１…ＯＳ表示言語レイアウトテーブル
【図１】
0004804228.tif 000002
【図２】
0004804228.tif 000003
【図３】
0004804228.tif 000004
【図４】
0004804228.tif 000005
【図５】
0004804228.tif 000006
【図６】
0004804228.tif 000007
【図７】
0004804228.tif 000008
【図８】
0004804228.tif 000009
【図９】
0004804228.tif 000010
【図１０】
0004804228.tif 000011
【図１１】
0004804228.tif 000012
【図１２】
0004804228.tif 000013
【図１３】
0004804228.tif 000014
【図１４】
0004804228.tif 000015
【図１５】
0004804228.tif 000016
【図１６】
0004804228.tif 000017
【図１７】
0004804228.tif 000018
【図１８】
0004804228.tif 000019
【図１９】
0004804228.tif 000020