(57)【要約】【課題】表示文字列の言語の不一致を防止し表示文字列を集約して管理しつつ、任意の機能に対して文字列を表示させる。【解決手段】コンピュータ装置を、構成ファイルとローカライズリソースファイルとを用いて印刷機能情報を生成する構成処理部、印刷設定の競合を処理する禁則JavaScript（登録商標、以下省略）部、印刷機能情報に基づいて印刷設定画面を生成する印刷設定UI部、として機能させ、構成処理部は、ダミーの機能が更に定義された構成ファイルとローカライズリソースファイルとを用いて、ダミーの機能で指定した文字列が記述された印刷機能情報を生成し、禁則JavaScript部は、印刷機能情報に構成ファイルでは定義できない機能を追加し、追加した機能にダミーの機能で指定した文字列を反映させ、印刷設定UI部は、追加された機能に対応付けてダミーの機能で指定した文字列が表示される印刷設定画面を生成する。【選択図】図３
2014197281.tif 000002
【特許請求の範囲】
【請求項１】
印刷機能を設定可能にする印刷設定画面を表示する表示部を備えるコンピュータ装置で動作するプリンタドライバであって、
前記コンピュータ装置を、
前記印刷機能が定義された構成ファイルと前記印刷機能に関する文字列が定義されたローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述された印刷機能情報を生成する構成処理部、
前記印刷機能情報における前記印刷機能の設定の競合を処理する禁則JavaScript（登録商標、以下省略）部、
前記禁則JavaScript部で処理した前記印刷機能情報に基づいて、前記印刷設定画面を生成する印刷設定UI部、として機能させ、
前記構成処理部は、前記印刷機能に影響しないダミーの機能が更に定義され、かつ、前記ダミーの機能の定義に、前記ローカライズリソースファイルで定義される文字列が指定された前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記ダミーの機能で指定した文字列が記述された前記印刷機能情報を生成し、
前記禁則JavaScript部は、前記印刷機能情報に、前記構成ファイルでは定義できない機能を追加し、前記追加した機能に、前記ダミーの機能で指定した文字列を反映させ、
前記印刷設定UI部は、前記追加された機能に対応付けて、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成する、
ことを特徴とするプリンタドライバ。
【請求項２】
印刷機能を設定可能にする印刷設定画面を表示する表示部を備えるコンピュータ装置で動作するプリンタドライバであって、
前記コンピュータ装置を、
前記印刷機能が定義された構成ファイルと前記印刷機能に関する文字列が定義されたローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述された印刷機能情報を生成する構成処理部、
前記印刷機能情報における前記印刷機能の設定の競合を処理する禁則JavaScript部、
前記禁則JavaScript部で処理した前記印刷機能情報に基づいて、前記印刷設定画面を生成する印刷設定UI部、として機能させ、
前記構成処理部は、前記印刷機能に影響しないダミーの機能が定義され、かつ、前記ダミーの機能の定義に、前記ローカライズリソースファイルで定義される文字列が指定された前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記ダミーの機能で指定した文字列が記述された前記印刷機能情報を生成し、
前記印刷設定UI部は、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成する、
ことを特徴とするプリンタドライバ。
【請求項３】
構成ファイルは、GPD（Generic Printer Description）ファイルであり、前記印刷機能情報は、PrintCapabilitiesである、
ことを特徴とする請求項１又は２に記載のプリンタドライバ。
【請求項４】
前記ダミーの機能には、当該ダミーの機能を前記印刷設定画面に表示させない属性が付与されている、
ことを特徴とする請求項１乃至３のいずれか一に記載のプリンタドライバ。
【請求項５】
Windows（登録商標）のオペレーティングシステム上で動作するversion4のプリンタドライバである、
ことを特徴とする請求項１乃至４のいずれか一に記載のプリンタドライバ。
【請求項６】
印刷機能を設定可能にする印刷設定画面を生成するプリンタドライバのローカライズ方法であって、
前記印刷機能が定義される構成ファイルに、前記印刷機能に影響しないダミーの機能を定義すると共に、前記ダミーの機能の定義に、前記印刷機能に関する文字列が定義されるローカライズリソースファイルによって管理される文字列を指定する第１ステップと、
前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述される印刷機能情報を生成する第２ステップと、
前記印刷機能情報における前記印刷機能の設定の競合を処理する際に、前記印刷機能情報に、前記構成ファイルでは定義できない機能を追加すると共に、前記追加した機能に、前記ダミーの機能で指定した文字列を反映させる第３ステップと、
前記印刷機能情報に基づいて、前記追加された機能に対応付けて、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成する第４ステップと、を実行する、
ことを特徴とするプリンタドライバのローカライズ方法。
【請求項７】
印刷機能を設定可能にする印刷設定画面を生成するプリンタドライバのローカライズ方法であって、
前記印刷機能が定義される構成ファイルに、前記印刷機能に影響しないダミーの機能を定義すると共に、前記ダミーの機能の定義に、前記印刷機能に関する文字列が定義されるローカライズリソースファイルによって管理される文字列を指定する第１ステップと、
前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述される印刷機能情報を生成する第２ステップと、
前記印刷機能情報における前記印刷機能の設定の競合を処理する際に、前記印刷機能情報に、前記ダミーの機能で指定した文字列を反映させる第３ステップと、
前記印刷機能情報に基づいて、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成する第４ステップと、を実行する、
ことを特徴とするプリンタドライバのローカライズ方法。
【請求項８】
構成ファイルは、GPD（Generic Printer Description）ファイルであり、前記印刷機能情報は、PrintCapabilitiesである、
ことを特徴とする請求項６又は７に記載のプリンタドライバのローカライズ方法。
【請求項９】
前記ダミーの機能には、当該ダミーの機能を前記印刷設定画面に表示させない属性が付与されている、
ことを特徴とする請求項６乃至８のいずれか一に記載のプリンタドライバのローカライズ方法。
【請求項１０】
前記プリンタドライバは、Windows（登録商標）のオペレーティングシステム上で動作するversion4のプリンタドライバである、
ことを特徴とする請求項６乃至９のいずれか一に記載のプリンタドライバのローカライズ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバ及びプリンタドライバのローカライズ方法に関し、特に、Windows（登録商標、以下省略）のオペレーティングシステム（OS：Operating System）上で動作するVersion4のプリンタドライバ及び当該プリンタドライバのローカライズ方法に関する。
【背景技術】
【０００２】
WindowsOS上で動作するプリンタドライバに関して、Microsoft（登録商標、以下省略）社からハードウェアメーカー向けのガイドラインが示されており、ハードウェアメーカーでは、このガイドラインに従って、Windows2000〜Windows7を想定したVersion3のプリンタドライバを提供している。
【０００３】
その後、WindowsOSとしてWindows8やServer2012が登場しており、特にWindows8では、UI（User Interface）がタイル状のユーザーインタフェースであるMetroスタイルに変更されたことから、ハードウェアメーカーでは、新しいプリンタドライバアーキテクチャを採用したVersion4のプリンタドライバの開発を進めている。
【０００４】
このVersion4のプリンタドライバモデルは、大別するとPrinter Driver部と印刷設定UI（User Interface）部の２つのレイヤーで構成される。これら２つのレイヤーはプロセス分離が図られており、個別に提供することができるようになっている。
【０００５】
Printer Driver部は、印刷機能を提供するアプリケーションであり、各印刷機能を定義するGPD（Generic Printer Description）／PPD（PostScript Printer Description）、XML（Extensible Markup Language）などのデータファイル、各印刷機能の複数言語の表示文字列を定義するローカライズリソースDLL（Dynamic Link Library）、レンダリング時に描画命令の編集を行う印刷フィルタ、印刷機能の設定の競合を処理する禁則JavaScript（登録商標、以下省略）部などのモジュールから構成されている。
【０００６】
また、印刷設定UI部は、Printer Driver部から独立したアプリケーションであり、Printer Driver部から提供されるPrintCapabilitiesと呼ばれる印刷機能情報と、PrintTicketと呼ばれる印刷設定情報とを元にして印刷設定画面の提供を行う。PrintCapabilitiesはXML形式で記述されており、各印刷機能の定義が行われている。具体的には、PrintCapabilitiesは、単一選択の機能（複数の選択肢の中から１つを選択する機能）の場合には、Feature（機能）、Option（選択肢）、機能や選択肢の表示文字列が記述され、文字列入力を行う機能の場合には、Parameter、最大文字数や最小文字数などの属性、パラメータ名の表示文字列などが記述される。
【０００７】
このようなVersion4のプリンタドライバモデルに関する技術として、例えば、下記特許文献１には、外部装置と通信ネットワークを介して接続される情報処理装置であって、他の情報処理装置から、当該他の情報処理装置に設定されている表示プログラムの表示形式を示す情報とステータスの種別を示す情報とがともに指定された要求を受信する受信手段と、前記要求に含まれるステータスの種別を示す情報に基づき、当該種別に対応するステータスの値を前記外部装置から取得するステータス取得手段と、前記要求に含まれる表示プログラムの表示形式を示す情報に対応するリソース情報を取得するリソース取得手段と、前記受信手段で受信した要求の応答として、前記リソース取得手段により取得されたリソース情報と前記種別に対応するステータスの値とに従うステータス情報を、前記他の情報処理装置に対して送信する送信手段とを有する情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−０２３０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、印刷設定UI部で表示する表示文字列については、GPD／PPDファイルにて印刷機能を定義する際に、ローカライズリソースDLL内のリソースIDを指定することによって、PrintCapabilitiesに自動的に表示文字列が反映されるという仕組みが設けられている。しかしながら、GPD／PPDファイルで定義可能な機能は単一選択の機能のみという仕様上の制約があるため、文字列入力を行う機能を定義する場合には、禁則JavaScript部の内部でPrintCapabilitiesに情報を追加する必要がある。その際、禁則JavaScript部においては、ローカライズリソースDLLから表示文字列を取得することができないため、文字列入力を行う機能に対して表示文字列をPrintCapabilitiesに設定することができない。
【００１０】
この問題に対して、禁則JavaScript部の内部にて、ハードコードで表示文字列をPrintCapabilitiesに設定する方法も考えられる。しかしながら、リソースIDによって指定された表示文字列（GPD／PPDファイルで定義した機能（単一選択の機能）についての表示文字列）はOS言語に応じて自動で言語の切り替えが行われるのに対して、ハードコードで設定した表示文字列（禁則JavaScript部で追加した機能（文字列入力を行う機能）についての表示文字列）は言語の切り替えが行われないため、OS言語が変わった場合に、GPD／PPDファイルで定義した機能と禁則JavaScript部で追加した機能とで表示文字列に言語の不一致が生じる。
【００１１】
また、上記問題を解決する別の方法として、印刷設定UI部のアプリケーション内部に表示文字列を持たせる方法も考えられる。しかしながら、この方法では、表示文字列をPrinter Driver部と印刷設定UI部の複数個所に分離して保持することになるため、双方が保持する表示文字列を関連付けるなどの管理上の手間が発生する。
【００１２】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、表示文字列の言語の不一致を防止し、表示文字列を集約して管理しつつ、任意の機能に対して文字列を表示させることができるプリンタドライバ及びプリンタドライバのローカライズ方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一側面は、印刷機能を設定可能にする印刷設定画面を表示する表示部を備えるコンピュータ装置で動作するプリンタドライバであって、前記コンピュータ装置を、前記印刷機能が定義された構成ファイルと前記印刷機能に関する文字列が定義されたローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述された印刷機能情報を生成する構成処理部、前記印刷機能情報における前記印刷機能の設定の競合を処理する禁則JavaScript部、前記禁則JavaScript部で処理した前記印刷機能情報に基づいて、前記印刷設定画面を生成する印刷設定UI部、として機能させ、前記構成処理部は、前記印刷機能に影響しないダミーの機能が更に定義され、かつ、前記ダミーの機能の定義に、前記ローカライズリソースファイルで定義される文字列が指定された前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記ダミーの機能で指定した文字列が記述された前記印刷機能情報を生成し、前記禁則JavaScript部は、前記印刷機能情報に、前記構成ファイルでは定義できない機能を追加し、前記追加した機能に、前記ダミーの機能で指定した文字列を反映させ、前記印刷設定UI部は、前記追加された機能に対応付けて、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成することを特徴とする。
【００１４】
本発明の一側面は、印刷機能を設定可能にする印刷設定画面を生成するプリンタドライバのローカライズ方法であって、前記印刷機能が定義される構成ファイルに、前記印刷機能に影響しないダミーの機能を定義すると共に、前記ダミーの機能の定義に、前記印刷機能に関する文字列が定義されるローカライズリソースファイルによって管理される文字列を指定する第１ステップと、前記構成ファイルと前記ローカライズリソースファイルとを用いて、前記印刷機能の設定項目と当該設定項目で設定可能な設定値とが記述される印刷機能情報を生成する第２ステップと、前記印刷機能情報における前記印刷機能の設定の競合を処理する際に、前記印刷機能情報に、前記構成ファイルでは定義できない機能を追加すると共に、前記追加した機能に、前記ダミーの機能で指定した文字列を反映させる第３ステップと、前記印刷機能情報に基づいて、前記追加された機能に対応付けて、前記ダミーの機能で指定した文字列が表示される前記印刷設定画面を生成する第４ステップと、を実行することを特徴とする。
【発明の効果】
【００１５】
本発明のプリンタドライバ及びプリンタドライバのローカライズ方法によれば、表示文字列の言語の不一致を防止し、表示文字列を集約して管理しつつ、任意の機能に対して文字列を表示させることができる。
【００１６】
その理由は、GPDファイルなどの構成ファイルとローカライズリソースファイル（ローカライズリソースDLL）とを用いて、印刷機能の設定画面を生成する際に、構成ファイルに印刷機能に影響しないダミーの機能を定義すると共に、ダミーの機能に、ローカライズリソースファイルで管理される文字列を定義し、ダミーの機能が定義された構成ファイルとローカライズリソースファイルとを用いて、印刷機能情報（PrintCapabilities）を生成した後、JavaScriptを用いて、印刷機能情報に機能を追加（好ましくは、構成ファイルでは定義できない機能を追加）すると共に、追加した機能に、ダミーの機能で定義した文字列を反映させる編集を行い、編集された印刷機能情報に基づいて、設定画面を生成する処理を実行するからである。
【００１７】
これにより、構成ファイルで定義できない機能であっても、構成ファイルで定義できる機能と同様に、ローカライズリソースDLLで管理される文字列を設定画面に表示させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施例に係る印刷システムの構成を模式的に示す図である。
【図２】本発明の一実施例に係るコンピュータ装置の構成を示すブロック図である。
【図３】本発明の一実施例に係るコンピュータ装置の機能を示すブロック図である。
【図４】本発明の一実施例に係るGPDファイルの一例である。
【図５】本発明の一実施例に係るローカライズリソースDLLの一例である。
【図６】本発明の一実施例に係る禁則JavaScript部が実行する処理を記述した構文の一例である。
【図７】本発明の一実施例に係るPrintCapabilitiesの一例（禁則JavaScript部で編集する前の例）である。
【図８】本発明の一実施例に係るPrintCapabilitiesの一例（禁則JavaScript部で編集した後の例）である。
【図９】本発明の一実施例に係る印刷設定UI部によって表示される印刷設定画面の一例である。
【図１０】本発明の一実施例に係るコンピュータ装置の機能間のデータの流れを示す図である。
【図１１】本発明の一実施例に係るコンピュータ装置の処理（印刷設定画面を表示する処理）を示すフローチャート図である。
【図１２】本発明の一実施例に係るコンピュータ装置の処理（禁則JavaScript部でPrintCapabilitiesを編集する処理）を示すフローチャート図である。
【発明を実施するための形態】
【００１９】
背景技術で示したように、ハードウェアメーカーにより、WindowsOSに応じたプリンタドライバが提供されており、新たなWindowsOSであるWindows8やServer2012向けに、Version4のプリンタドライバの開発が行われている。
【００２０】
このVersion4のプリンタドライバは、Printer Driver部と印刷設定UI部の２つのレイヤーから構成されており、Printer Driver部は、GPD／PPDなどのデータファイル、ローカライズリソースDLL、印刷フィルタ、禁則JavaScript部などのモジュールを備え、PrintCapabilitiesやPrintTicketを印刷設定UI部に提供し、印刷設定UI部ではこれらの情報を元にして印刷設定画面の提供を行う。
【００２１】
ここで、仕様上、GPD／PPDファイルで定義できる機能（単一選択の機能）に関しては、文字列に対応付けられたリソースIDを指定することによって、GPD／PPDファイルからPrintCapabilitiesを生成する際に、リソースIDに応じた文字列が自動的に組み込まれるため、印刷設定UI部は、PrintCapabilitiesに従って印刷設定画面を生成すれば、印刷設定画面上にローカライズリソースDLLで管理された文字列を表示することができる。
【００２２】
また、仕様上、GPD／PPDファイルで定義できない機能（文字列入力を行う機能）に関しては、その機能だけを実現するのであれば、GPD／PPDファイルから生成したPrintCapabilitiesを禁則JavaScript部で編集して、その機能を追加すればよい。また、その機能に対して表示する文字列に関しても、禁則JavaScript部の内部にてハードコードで設定することはできる。
【００２３】
しかしながら、ハードコードで設定した表示文字列は、リソースIDで指定した表示文字列のように、OS言語に合わせて言語の切り替えが自動的に行われないため、OS言語が変わると表示文字列の言語に不一致が生じる。また、印刷設定UI部のアプリケーション内部に表示文字列を持たせる方法もあるが、この方法では、表示文字列をPrinter Driver部と印刷設定UI部の双方で保持することになるため、双方の表示文字列を関連付ける等の管理上の手間が発生する。
【００２４】
ここで、Windows2000〜Windows7を想定したVersion3のプリンタドライバでは、Printer Driver部と印刷設定UI部とがセットになっており、PrintCapabilitiesを生成する部分や印刷設定UI部はローカライズリソースDLLに直接アクセスして表示文字列を読み込むことが可能であった。そのため、仕様上、GPD／PPDファイルで定義できない機能であっても、PrintCapabilitiesを編集する時、若しくは、PrintCapabilitiesから印刷設定画面を生成する時に、ローカライズリソースDLLを参照して表示文字列を反映させることができる。
【００２５】
すなわち、上記問題は、Printer Driver部と印刷設定UI部が別のレイヤーとして構成され、禁則JavaScript部がローカライズリソースDLLにアクセスできないといった仕様上の制限があるVersion4のプリンタドライバモデルにおいて新たに生じる問題であり、このようなVersion4のプリンタドライバの開発に当たって、上記問題を解決する手法が求められている。
【００２６】
そこで、本発明の一実施の形態では、仕様上、GPD／PPDファイルなどの構成ファイルで定義できない機能に関して、まず、ローカライズリソースDLLに表示文字列を登録する。GPD／PPDファイルでは、仕様上、定義可能な単一選択の機能としてダミーの機能を定義し、そのダミーの機能の定義においてリソースIDを指定して表示文字列をPrintCapabilitiesに反映させる。その際、このダミーの機能は印刷設定画面に表示しないという属性を付与する。すなわち、このダミーの機能は、形式上はGPD／PPDファイルで定義できる機能と同様に記述するが、印刷設定画面には表示されないように指定する。すると、GPD／PPDファイルからPrintCapabilitiesを生成する際に、PrintCapabilitiesの中に、リソースIDに対応する表示文字列が記述される。その後、PrintCapabilitiesを禁則JavaScript部で編集する際に、追加する機能を定義し、追加する機能に、ダミーの機能に対して記述された表示文字列を対応付ける。
【００２７】
これにより、仕様上、GPD／PPDファイルで定義できない機能（例えば、ユーザIDやパスワードの設定のような文字列入力を行う機能）に関しても、リソースIDで指定された表示文字列を印刷設定画面に表示することができ、仕様上、GPD／PPDファイルで定義できる機能と同様に、OS言語に合わせて言語の切り替えを自動的に行うことが可能となり、また、表示文字列の定義をローカライズリソースDLLに集約することが可能となり、Version4のプリンタドライバモデルで生じる問題を解決することができる。
【実施例】
【００２８】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプリンタドライバ及びプリンタドライバのローカライズ方法について、図１乃至図１２を参照して説明する。図１は、本実施例の印刷システムの構成を模式的に示す図であり、図２は、本実施例のコンピュータ装置の構成を示すブロック図、図３は、コンピュータ装置の機能を示すブロック図である。また、図４は、GPDファイルの一例、図５は、リソースDLLの一例であり、図６は、禁則JavaScript部が実行する処理を記述した構文の一例である。また、図７及び図８は、PrintCapabilitiesの一例であり、図９は、印刷設定画面の一例である。また、図１０は、本実施例のコンピュータ装置の機能間のデータの流れを示す図であり、図１１及び図１２は、本実施例のコンピュータ装置の処理を示すフローチャート図である。
【００２９】
図１に示すように、本実施例の印刷システムは、印刷指示に従って印刷処理を実行する印刷装置１０と、印刷指示を行う印刷指示装置（コンピュータ装置２０と呼ぶ。）とで構成され、これらはＬＡＮ（Local Area Network）などの無線ネットワーク、若しくはＵＳＢ（Universal Serial Bus）などを介した有線ネットワークにより接続される。
【００３０】
印刷装置１０は、一般的なプリンタやＭＦＰ（Multi Function Peripheral）などであり、コンピュータ装置２０から送信される印刷データを解析し、印刷データの各ページをラスタライズしてページ毎の画像データを生成し、電子写真方式や静電記録方式等の作像プロセスを利用して画像データに基づく画像を用紙に印刷する機能を備えている。
【００３１】
また、コンピュータ装置２０は、パーソナルコンピュータやWindowsOS上で動作するモバイル機器（スマートフォンやタブレット端末）などであり、図２に示すように、制御部２１と、記憶部２２と、通信Ｉ／Ｆ部２３と、表示部２４と、操作部２５などで構成される。
【００３２】
制御部２１は、ＣＰＵ（Central Processing Unit）２１ａと、ＲＯＭ（Read Only Memory）２１ｂやＲＡＭ（Random Access Memory）２１ｃなどのメモリとで構成される。ＣＰＵ２１ａは、コンピュータ装置２０の動作を制御するためのプログラム、OS（本実施例では、Version4のプリンタドライバが動作可能なWindowsOS）、アプリケーション、印刷装置１０を制御するプリンタドライバ（本実施例では、Printer Driver部と印刷設定UI部とが別レイヤーで構成されるVersion4のプリンタドライバ）をＲＯＭ２１ｂ又は記憶部２２から読み出してＲＡＭ２１ｃに展開し実行する。なお、アプリケーション、Printer Driver部、印刷設定UI部については後述する。
【００３３】
記憶部２２は、ＨＤＤ（Hard Disk Drive）などで構成され、プログラムや文書データ、印刷データなどを記憶する。
【００３４】
通信Ｉ／Ｆ部２３は、ＮＩＣ（Network Interface Card）やモデムなどで構成され、無線ネットワーク、若しくは、有線ネットワークを介して、印刷装置１０とのデータ通信を行う。
【００３５】
表示部２４は、ＬＣＤ（Liquid Crystal Display）などで構成され、アプリケーションの画面や印刷設定UI部で生成された画面などを表示する。
【００３６】
操作部２５は、マウスやキーボード、表示部２４上に形成されたタッチセンサなどで構成され、文書の作成や印刷装置１０の印刷機能の設定等の操作を可能にする。
【００３７】
図３は、コンピュータ装置２０の制御部２１の機能を示すブロック図である。コンピュータ装置２０の制御部２１は、アプリケーション３０、Printer Driver部４０、印刷設定UI部５０などとして機能する。
【００３８】
アプリケーション３０は、OS上で動作するプログラム（例えば、WindowsOS上で動作するMicrosoft Officeなど）であり、印刷対象となる文書データを作成する。
【００３９】
Printer Driver部４０は、OS上で動作するプログラムであり、アプリケーション３０、印刷設定UI部５０と連動して、印刷装置１０に印刷指示を行う。このPrinter Driver部４０は、GPDファイル４１、ローカライズリソースDLL４２、構成処理部４３、禁則JavaScript部４４、レンダリング処理部４５、印刷フィルタ４６などで構成される。
【００４０】
GPDファイル４１は、構成ファイルの一つであり、印刷装置１０の各印刷機能を定義する。ローカライズリソースDLL４２は、プリンタドライバをローカライズするための情報を提供するリソースファイルであり、印刷設定UI部５０に表示する各印刷機能の表示文字列を定義する。構成処理部４３は、GPDファイル４１及びローカライズリソースDLL４２を元に、XML形式にてユーザが設定可能な印刷機能の設定項目と設定可能な設定値とが記述されたPrintCapabilities（印刷機能情報）の生成、PrintCapabilitiesに記述されている設定値の中からユーザが選択した設定値を記述したPrintTicket（印刷設定情報）の生成、及び禁則JavaScript部４４の呼び出しを行う。
【００４１】
禁則JavaScript部４４は、PrintCapabilitiesに対して、印刷機能の設定の競合を処理する。例えば、第１の機能（面付け機能など）の設定と第２の機能（パンチの機能など）の設定とが両立しない場合に、一方の機能の設定を他方の機能の設定と両立するように変更する。また、禁則JavaScript部４４は、JavaScriptを用いたPrintCapabilitiesの編集を可能にする。レンダリング処理部４５は、アプリケーション３０からの印刷命令を印刷装置１０にて解釈可能な言語（PDL：Page Description Languageなど）に変換する。印刷フィルタ４６は、レンダリング時に描画命令の編集を行う。
【００４２】
印刷設定UI部５０は、OS上で動作するプログラムであり、PT／PC処理部５１、UI処理部５２などで構成される。
【００４３】
PT／PC処理部５１は、Printer Driver部４０から取得したPrintTicket／PrintCapabilitiesを処理（解釈）する。UI処理部５２は、PT／PC処理部５１が解釈した、PrintTicket／PrintCapabilitiesの内容を元に印刷設定画面６０の生成及び表示を行う。
【００４４】
なお、本実施例では、印刷機能を定義する構成ファイルとしてGPDファイル４１を使用する場合について説明するが、PPDファイルを使用する場合についても、本実施例のローカライズ方法を同様に適用することができる。
【００４５】
以下、構成処理部４３が生成するPrintCapabilitiesにどのように表示文字列を定義するかについて、データの具体的な記述例を参照して説明する。
【００４６】
図４は、GPDファイル４１の一例である。図中の「*Feature:」にて、印刷機能の定義を行う。また、「*Feature:」の下位要素の「*Option:」にて、各印刷機能の設定値の定義を行う。また、「*rcNameID:」にて、ローカライズリソースDLL４２に定義されている表示文字列を取得するための識別子の定義（リソースIDの指定）を行う。
【００４７】
本実施例では、上記のGPDファイル４１に、「Dummy」の機能を定義する「*Feature:Dummy」の記述（図の破線で囲んだ記述）を追加することを特徴としている。そして、「*Feature:Dummy」の下位要素の「*Option:」の定義にて、表示文字列をローカライズリソースDLL４２から取得するための定義（リソースIDが200の表示文字列を取得する旨の定義）を行っている。また、「*Feature:Dummy」の下位要素の「*ConcealFromUI?:TRUE」にて、「Dummy」の機能に関しては印刷設定画面に表示しないことを指定する定義を行っている。
【００４８】
図５は、ローカライズリソースDLL４２の一例である。ローカライズリソースDLL４２には、複数の言語（ここでは日本語と英語）の表示文字列が定義されており、言語毎に「識別子」と「表示文字列」のセットが定義されている。一例を挙げると、識別子（リソースID）が100の文字列は、ステープル機能に対応する表示文字列であることを定義している。なお、表示文字列の言語は日本語と英語に限らず、WindowsOSの言語に応じて適宜設定可能である。
【００４９】
図６は、禁則JavaScript部４４が実行する処理を記述した構文の一例である。completePrintCapabilities関数は、PrintCapabilitiesの編集を行う関数であり、印刷機能UI部５０が印刷設定画面の表示を行う時に、構成処理部４３から呼ばれる。文字列入力を行う機能に関しては、GPDファイル４１で機能を定義することができないため、禁則JavaScript部４４が実行する処理を記述した構文に機能を追加する処理を行う。
【００５０】
この例では、「var node = SetParameterDef("JobPIN",ns0000URI);」、「setProperty(node,"psf:MaxLength","xsd:integer","32");」、「setProperty(node,"psf:MinLength","xsd:integer","1");」にて、関数内で文字列入力を行う機能であるPINコード機能をPrintCapabilitiesに追加している。また、PINコード機能を追加する際に、「var strJobPINDisplayName = GetDisplayNameFromDummyFeature("PIN");」にて、GPDファイル４１の「*Feature:Dummy」の「*Option:PIN」のノードから表示文字列を取得し、「setProperty(node,"psk:DisplayName","xsd:string",strJobPINDisplayName);」にて、取得した表示文字列を新たに追加したPINコード機能のノードの表示文字列に設定している。
【００５１】
図７は、構成処理部４３にて、図４に示すGPDファイル４１及び図５に示すローカライズリソースDLL４２を元に生成されるPrintCapabilitiesの一例である。このPrintCapabilitiesを引数にして、図６に示す禁則JavaScript部４４のcompletePrintCapabilities関数が呼び出される。
【００５２】
図８は、図６に示す禁則JavaScript部４４にて処理を行った後のPrintCapabilitiesの一例である。禁則JavaScript部４４にて、破線の枠内の、<psf:ParameterDef name="ns0000:JobPIN">以下のPINコード機能のノードの追加が行われている。
【００５３】
図９は、印刷設定画面６０の一例である。この例では、図８に示すPrintCapabilitiesにて、PINコード機能におけるPINコードを入力する欄に対応付けて、「PINコード」という表示文字列が表示される。
【００５４】
図１０は、図４〜図９に示す各データの機能間の流れを示す図である。上述したように、GPDファイル４１で定義できない機能（文字列入力を行う機能）に対して表示文字列を定義する場合、GPDファイル４１に、択一選択の機能と同様の形式でダミーの機能を定義し、ダミーの機能の中でリソースIDを指定して表示文字列を定義しておき、GPDファイル４１から生成されるPrintCapabilities（図中のPrintCapabilities(1)参照）を禁則JavaScript部４４で編集する際に、PrintCapabilitiesに文字列入力を行う機能を追加すると共に、ダミーの機能で定義した表示文字列を取得し、その表示文字列を文字列入力を行う機能に設定し、編集したPrintCapabilities（図中のPrintCapabilities(2)参照）を印刷設定UI部５０に提供することにより、GPDファイル４１で定義できない機能であっても、定義可能な機能と同様に、印刷設定画面に表示文字列を表示させることができる。
【００５５】
以下、本実施例のコンピュータ装置２０の処理（印刷設定画面６０の表示処理）について、図１１及び図１２のフローチャート図を参照して説明する。
【００５６】
まず、上述したように、GPDファイル４１に択一選択の機能と同様の形式でダミーの機能を定義し、ダミーの機能の中でリソースIDを指定して表示文字列を定義しておく。そして、構成処理部４３は、GPDファイル４１及びローカライズリソースDLL４２を読み込み（Ｓ１１０）、これらを元に、PrintCapabilitiesを生成する（Ｓ１２０）。
【００５７】
次に、禁則JavaScript部４４は、completePrintCapabilities関数を用いてPrintCapabilitiesの編集を行う（Ｓ１３０）。図１２は、この処理の詳細を示しており、まず、構成処理部４３から受け取ったPrintCapabilitiesに、文字列入力を行う機能（例えば、PINコードを入力する機能）を新規追加する（Ｓ１３１）。そして、ダミーの機能の中に記載されている表示文字列（例えば、「PINコード」の文字列）を取得し（Ｓ１３２）、取得した表示文字列を新規追加した機能の表示文字列部に追加する（Ｓ１３３）。例えば、図８のPrintCapabilitiesにおいて、「<psf:Feature name="psk:Dummy">」のノードにおける「<psf:Value xsi:type="xsd:string">PINコード</psf:Value>」を「<psf:ParameterDef name="ns0000:JobPIN">」のノードの「<psf:Property name="psk:DisplayName">」に追加する。その後、追加するノードがあるかを判断し（Ｓ１３４）、追加するノードがあればＳ１３１に戻って同様の処理を繰り返す。
【００５８】
図１１に戻って、構成処理部４３は、禁則JavaScript部４４で編集されたPrintCapabilitiesをPrintTicketと共に印刷設定UI部５０に送り、印刷設定UI部５０のPT／PC処理部５１は、そのPrintCapabilitiesを処理し、UI処理部５２は、PT／PC処理部５１が処理した内容を元に印刷設定画面（例えば、図９のようにPINコードを入力する機能に対して「PINコード」なる文字列が表示される画面）を生成し（Ｓ１４０）、生成した印刷設定画面を表示部２４に表示させる（Ｓ１５０）。
【００５９】
このような処理を行うことにより、GPDファイル４１で定義できない機能であっても、ローカライズリソースDLL４２で管理される文字列を、UI処理部５２が生成する印刷設定画面に反映させることができ、OS言語が変わった場合の表示文字列の言語の不一致や、表示文字列の管理上の手間の発生を未然に防止することができる。
【００６０】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、プリンタドライバの構成やそのローカライズ方法は適宜変更可能である。
【００６１】
例えば、上記実施例では、文字列入力を行う機能に対して、ローカライズリソースDLL４２で管理される文字列を表示させる場合について記載したが、GPDファイル４１で定義できない他の機能（例えば、タブなどの印刷設定画面の任意の場所に文字列を表示させる機能など）に対して、ダミーの機能で定義した文字列を反映させることも可能である。
【産業上の利用可能性】
【００６２】
本発明は、WindowsOS上で動作するプリンタドライバ、特に、Version4のプリンタドライバに利用可能である。
【符号の説明】
【００６３】
１０  印刷装置
２０  コンピュータ装置
２１  制御部
２１ａ  ＣＰＵ
２１ｂ  ＲＯＭ
２１ｃ  ＲＡＭ
２２  記憶部
２３  通信Ｉ／Ｆ部
２４  表示部
２５  操作部
３０  アプリケーション
４０  Printer Driver部
４１  GPDファイル
４２  ローカライズリソースDLL
４３  構成処理部
４４  禁則JavaScript部
４５  レンダリング処理部
４６  印刷フィルタ
５０  印刷設定UI部
５１  PT／PC処理部
５２  UI処理部
６０  印刷設定画面
【図１】
2014197281.tif 000003
【図２】
2014197281.tif 000004
【図３】
2014197281.tif 000005
【図４】
2014197281.tif 000006
【図５】
2014197281.tif 000007
【図６】
2014197281.tif 000008
【図７】
2014197281.tif 000009
【図８】
2014197281.tif 000010
【図９】
2014197281.tif 000011
【図１０】
2014197281.tif 000012
【図１１】
2014197281.tif 000013
【図１２】
2014197281.tif 000014