(57)【要約】【課題】プリンタの機種に対応したユーザインタフェースの開発を簡便化することのできるプログラム生成装置、プログラム生成方法、プログラム生成プログラム及びプリンタドライバの提供を目的とする。【解決手段】画像形成装置の機種に応じて定義された印刷属性設定画面の表示情報に基づいて、前記印刷属性設定画面に表示される表示部品ごとに当該表示部品の表示制御情報を設定させる制御情報設定手段と、設定された前記表示制御情報と、前記印刷属性設定画面に関して前記機種に依存しない制御情報とに基づいて、前記機種に応じた前記印刷属性設定画面の表示制御を行うプログラムを生成するプログラム生成手段とを有することにより上記課題を解決する。【選択図】図５
2008015695.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置の機種に応じて定義された印刷属性設定画面の表示情報に基づいて、前記印刷属性設定画面に表示される表示部品ごとに当該表示部品の表示制御情報を設定させる制御情報設定手段と、
設定された前記表示制御情報と、前記印刷属性設定画面に関して前記機種に依存しない制御情報とに基づいて、前記機種に応じた前記印刷属性設定画面の表示制御を行うプログラムを生成するプログラム生成手段とを有することを特徴とするプログラム生成装置。
【請求項２】
前記制御情報設定手段は、前記表示部品ごとに当該表示部品における設定値と印刷属性との関連付け情報を設定させ、
前記プログラム生成手段によって生成される前記プログラムは、前記関連付け情報に基づいて前記表示部品における設定値と前記印刷属性との対応関係を識別することを特徴とする請求項１記載のプログラム生成装置。
【請求項３】
前記制御情報設定手段は、前記表示制御情報を設定させるための画面を表示させることを特徴とする請求項１又は２記載のプログラム生成装置。
【請求項４】
前記プログラムは、プリンタドライバであることを特徴とする請求項１乃至３いずれか一項記載のプログラム生成装置。
【請求項５】
コンピュータが実行するプログラム生成方法であって、
画像形成装置の機種に応じて定義された印刷属性設定画面の表示情報に基づいて、前記印刷属性設定画面に表示される表示部品ごとに当該表示部品の表示制御情報を設定させる制御情報設定手順と、
設定された前記表示制御情報と、前記印刷属性設定画面に関して前記機種に依存しない制御情報とに基づいて、前記機種に応じた前記印刷属性設定画面の表示制御を行うプログラムを生成するプログラム生成方法。
【請求項６】
前記制御情報設定手順は、前記表示部品ごとに当該表示部品における設定値と印刷属性との関連付け情報を設定させ、
前記プログラム生成手順において生成される前記プログラムは、前記関連付け情報に基づいて前記表示部品における設定値と前記印刷属性との対応関係を識別することを特徴とする請求項５記載のプログラム生成方法。
【請求項７】
前記制御情報設定手順は、前記表示制御情報を設定させるための画面を表示させることを特徴とする請求項５又は６記載のプログラム生成方法。
【請求項８】
前記プログラムは、プリンタドライバであることを特徴とする請求項５乃至７いずれか一項記載のプログラム生成方法。
【請求項９】
請求項５乃至８いずれか一項記載のプログラム生成方法をコンピュータに実行させるためのプログラム生成プログラム。
【請求項１０】
コンピュータに、
画像形成装置の機種に応じて定義された表示情報に基づいて印刷属性設定画面を表示させる表示手順と、
前記印刷属性設定画面に表示される表示部品ごとに定義された前記表示部品の表示制御情報を取得する表示制御取得手順と、
前記表示制御情報に基づいて、前記印刷属性設定画面の操作に対する表示制御を行う制御手順とを実行させるためのプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム生成装置、プログラム生成方法、プログラム生成プログラム及びプリンタドライバに関する。
【背景技術】
【０００２】
プリンタドライバは、アプリケーションによって編集された文書について、プリンタに解釈可能なデータ（以下「印刷データ」という。）への変換等を実行するプログラムモジュールである。プリンタドライバは、アプリケーションを介して文書の印刷が指示された際等に、印刷データを生成するために必要なパラメータを設定させるためのＧＵＩ（Graphical User Interface）を表示させる。例えば、一般的なＷｉｎｄｏｗｓ（登録商標）アプリケーションでは、ファイルメニューの印刷メニュー項目を選択すると当該アプリケーションによって印刷ダイアログが表示される。その印刷ダイアログにおけるプロパティボタンを押すと、印刷先として選択されているプリンタに対応するプリンタドライバのＧＵＩ、すなわち、プリンタプロパティダイアログが表示される。このプリンタプロパティダイアログが、プリンタドライバによって表示されるＧＵＩであり、当該プリンタドライバが対応するプリンタにおいて設定可能な印刷属性（集約、両面印刷、ステープル、パンチ等）を設定させるためのダイアログである。
【０００３】
ところで、印刷時に設定可能な印刷属性は、プリンタの機種ごとに異なる。したがって、プリンタプロパティダイアログもプリンタの機種毎に異なった画面が表示される。厳密には、機種毎に異なったプリンタドライバが提供されるのが一般的であり、各プリンタドライバは、当該プリンタに対応するプリンタプロパティダイアログを表示させるよう実装されている。したがって、ユーザが印刷時に印刷先のプリンタを選択すると、選択されたプリンタに対応するプリンタドライバによって、当該プリンタに対応したプリンタプロパティダイアログを表示されるのである。
【特許文献１】特開２０００−１５８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザの多様なニーズに対応するためプリンタの機種も多種多様なものとなっている昨今において、機種毎にプリンタプロパティダイアログを開発するのは、開発者側にとって大きな負担となっているという問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、プリンタの機種に対応したユーザインタフェースの開発を簡便化することのできるプログラム生成装置、プログラム生成方法、プログラム生成プログラム及びプリンタドライバの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明のプログラム生成装置は、画像形成装置の機種に応じて定義された印刷属性設定画面の表示情報に基づいて、前記印刷属性設定画面に表示される表示部品ごとに当該表示部品の表示制御情報を設定させる制御情報設定手段と、設定された前記表示制御情報と、前記印刷属性設定画面に関して前記機種に依存しない制御情報とに基づいて、前記機種に応じた前記印刷属性設定画面の表示制御を行うプログラムを生成するプログラム生成手段とを有することを特徴とする。
【０００７】
また、上記課題を解決するため、本発明のプリンタドライバは、コンピュータに、画像形成装置の機種に応じて定義された表示情報に基づいて印刷属性設定画面を表示させる表示手順と、前記印刷属性設定画面に表示される表示部品ごとに定義された前記表示部品の表示制御情報を取得する表示制御取得手順と、前記表示制御情報に基づいて、前記印刷属性設定画面の操作に対する表示制御を行う制御手順とを実行させることを特徴とする。
【０００８】
このようなプログラム生成装置又はプリンタドライバでは、プリンタの機種に対応したユーザインタフェースの開発を簡便化することができる。
【発明の効果】
【０００９】
本発明によれば、プリンタの機種に対応したユーザインタフェースの開発を簡便化することのできるプログラム生成装置、プログラム生成方法、プログラム生成プログラム及びプリンタドライバを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明実施の形態における印刷システムの構成例を示す図である。図１において、印刷システム１は、ホストコンピュータ１０とプリンタ２０とより構成されている。
【００１１】
プリンタ２０は、一般的なプリンタであり、ホストコンピュータ１０からの指示に応じ印刷処理を実行する。プリンタ２０は、例えば、ＲＳ−２３２Ｃケーブル若しくはＵＳＢケーブル等のケーブル、又はＬＡＮ（Local Area Network）等のネットワークを介してホストコンピュータ１０に接続されている。
【００１２】
ホストコンピュータ１０は、ユーザが文書データの生成や文書データの印刷指示等を行うために利用するコンピュータである。ホストコンピュータ１０は、例えば、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳ（Operating System）上で、各種のソフトウェアを実行する。図１において、ホストコンピュータ１０は、文書データ等の印刷に関する機能として、アプリケーション１１、グラフィックエンジン１２、プリンタドライバ１３、スプーラ１４、機種依存ファイル１５及びＵＩビルダ１６等を有している。これらは、ホストコンピュータ１０にインストールされたプログラムが、非図示のＣＰＵによって処理されることにより機能する。なお、当該プログラムは、ネットワークを介してダウンロードされてもよいし、ＣＤ−ＲＯＭ等の記録媒体５０１よりインストールされてもよい。
【００１３】
アプリケーション１１は、文書データ等、プリンタ２０に印刷させる情報の生成等に利用されるワープロソフト又は表計算ソフト等のアプリケーションである。グラフィックエンジン１２は、プリンタやディスプレイ等のデバイスの種別による差違を吸収した描画用の関数インタフェースをアプリケーション１１に提供するモジュールである。アプリケーション１１は、操作対象となっている文書データの印刷が指示されると、グラフィックエンジン１２の関数を呼び出す。
【００１４】
グラフィックエンジン１２は、アプリケーション１１からの関数呼び出しに応じ、アプリケーション固有の形式による文書データをアプリケーション非依存の形式のデータ（例えば、ＥＭＦ形式等のデータ、以下「描画データ」という。）に変換し、生成された描画データをプリンタドライバ１３に出力する。なお、グラフィックエンジン１２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）環境においてはＧＤＩ（Graphics Device Interface）が相当する。
【００１５】
プリンタドライバ１３は、ＵＩドライバ１３１、画像処理ドライバ１３２、及び双方向通信ドライバ１３３等より構成されている。ＵＩドライバ１３１は、印刷属性（集約、両面印刷、ステープル、パンチ等の印刷条件）を設定させるためのＧＵＩ（Graphical User Interface）としてプリンタプロパティダイアログ（印刷属性設定画面）を表示させる。画像処理ドライバ１３２は、グラフィックエンジン１２より出力された描画データを、プリンタ２０に解釈可能な形式（例えば、ＰＤＬ（Page Description Language））の印刷データへ変換する。この際、画像処理ドライバ１３２は、ＵＩドライバ１３１が表示させるプリンタプロパティダイアログにおいて設定された印刷属性に応じて印刷データを生成する。双方向通信ドライバ１３３は、プリンタ２０との双方向通信を行うことにより、スプーラ１４にスプールされている印刷データをプリンタ２０に送信したり、プリンタ２０の機器情報を取得したりする。機器情報にはプリンタ２０の機種を識別するための情報が含まれている。
【００１６】
機種依存ファイル１５は、ＵＩドライバ１３１が表示させるプリンタプロパティダイアログの表示情報等が定義されたファイルであり、機種ごとに存在する。ＵＩドライバ１３１は、プリンタプロパティダイアログの表示の際、印刷先として選択されているプリンタの機種に対応した機種依存ファイル１５を読み込み、当該機種依存ファイル１５の定義内容にしたがって、プリンタプロパティダイアログを動的に構築する。すなわち、本実施の形態におけるプリンタドライバ１３は、そのＧＵＩに関する情報は機種依存ファイル１５に分離されており、ハードコーディングされていない。したがって、機種依存ファイル１５を切り替えることで異なる機種に対応したプリンタプロパティダイアログを表示させることができる。
【００１７】
ＵＩビルダ１６は、異なる機種に対応したプリンタプロパティダイアログを動的に表示させることのできるＵＩドライバ１３１の開発環境を提供する。
【００１８】
図２は、ＵＩドライバ及び機種依存ファイルの構成例を示す図である。図２において機種依存ファイル１５は、ＵＩ動作記述ファイル１５１、リソースファイル１５２、及びヘルプファイル１５３等より構成される。すなわち、機種依存ファイル１５は、一つのファイルではなく、これらのファイルを総称する場合の呼び名である。ヘルプファイル１５３は、いわゆるヘルプファイルである。例えば、プリンタプロパティダイアログの各表示部品のヘルプ情報が格納される。リソースファイル１５２は、プリンタプロパティダイアログに関する静的な情報が定義されているファイルである。すなわち、リソースファイル１５２には、各表示部品が操作された際の表示制御情報（動的な情報）は定義されていない。例えば、リソースファイル１５２には、プリンタプロパティダイアログの表示情報として、プリンタプロパティダイアログ上における表示部品（テキストボックス、コンボボックス、チェックボタン、ラジオボタン等）の配置情報や、表示部品に表示させる文字列等が定義される。一方、ＵＩ動作記述ファイル１５１は、リソースファイル１５２において定義されている各表示部品が操作された際の表示制御情報（すなわち、動的な情報）が定義される。なお、複数言語（日本語、英語等）に対応する場合、リソースファイル１５２及びヘルプファイル１５３は、言語ごとに作成される。
【００１９】
一方、ＵＩドライバ１３１は、ＵＩドライバ共通部１３１２とＵＩドライバ機種依存部１３１１とから構成される。ＵＩドライバ共通部１３１２は、プリンタプロパティダイアログの表示制御に関し、プリンタの機種に依存しないロジック（制御情報）が実装された部分である。したがって、複数の機種に対して共通的に実装される。例えば、ＵＩドライバ共通部１３１２は、ＵＩ動作記述ファイル１５１の定義内容にしたがってイベント処理を実行することで、機種共通のイベントプロシージャを実現する。ＵＩドライバ機種依存部１３１１は、機種依存ファイル１５とＵＩドライバ共通部１３１２との仲介及びマッピングを行う部分であり、機種ごとに実装される。
【００２０】
図３は、機種に応じたプリンタプロパティダイアログを表示させる際の機種依存ファイルとＵＩドライバとの関係を概念的に示す図である。図３では、二つの機種（機種Ａ、機種Ｂ）に対するそれぞれのプリンタプロパティダイアログを表示させる場合について示されている。機種Ａに対応するのが、プリンタプロパティダイアログ１３４ａである。機種Ｂに対応するのが、プリンタプロパティダイアログ１３４ｂｊ及び１３４ｂｅである。プリンタプロパティダイアログ１３４ｂｊは、日本語版であり、プリンタプロパティダイアログ１３４ｂｅは英語版である。
【００２１】
このようなプリンタプロパティダイアログを表示させる場合、機種Ａ及び機種Ｂのそれぞれに対する機種依存ファイルが必要とされる。図中において機種依存ファイル１５ａは機種Ａに対応し、機種依存ファイル１５ｂは機種Ｂに対応する。それぞれの機種依存ファイル１５は、図２において説明したように当該機種のプリンタプロパティダイアログに対応したＵＩ動作記述ファイル１５１、リソースファイル１５２、及びヘルプファイル１５３等より構成されている。但し、機種Ｂについては多言語対応がなされており、リソースファイル１５２及びヘルプファイル１５３が言語毎に存在する。すなわち、リソースファイル１５２ｂｊ及びヘルプファイル１５３ｂｊは日本語用であり、リソースファイル１５２ｂe及びヘルプファイル１５３ｂeは英語用である。
【００２２】
ＵＩドライバ１３１においても、機種Ａ及び機種Ｂのそれぞれに対応するＵＩドライバ機種依存部１３１１が必要とされる。図中においてＵＩドライバ機種依存部１３１１ａは機種Ａに対応し、ＵＩドライバ機種依存部１３１１ｂは機種Ｂに対応する。
【００２３】
このようなモジュール構成において、ＵＩドライバ共通部１３１２は、機種Ａに対応した機種依存ファイル１５ａをＵＩドライバ機種依存部１３１１ａを介して解釈し、機種Ａに対応したプリンタプロパティダイアログ１３４ａを表示させる。また、ＵＩドライバ共通部１３１２は、機種Ｂに対応した機種依存ファイル１５ｂをＵＩドライバ機種依存部１３１１ｂを介して解釈し、機種Ｂに対応したプリンタプロパティダイアログ１３４ｂｊ又は１３３ｂｅを表示させる。
【００２４】
したがって、新たな機種（ここでは「機種Ｃ」とする。）に対応したプリンタプロパティダイアログを表示させたい場合、機種Ｃに対する機種依存ファイル１５とＵＩドライバ機種依存部１３１１とを作成すればよい。このように、本実施の形態におけるプリンタドライバ１３は、機種又は言語に依存する部分とそうでない部分とが明確に分離されているため、新たな機種対応又は言語対応を容易に行える構成とされている。但し、機種依存ファイル１５及びＵＩドライバ機種依存部１３１１等を汎用的なテキストエディタで作成するためには、それぞれの文法等を習熟する必要があり、そのための工数が必要とされる。そこで、ＵＩビルダ１６は、ＧＵＩによって対話的に機種依存ファイル１５及びＵＩドライバ機種依存部１３１１の作成を支援する。
【００２５】
ＵＩビルダ１６の詳細について説明する。図４は、ＵＩビルダの機能を説明するための図である。プリンタプロパティダイアログを新規に作成する場合、ＵＩビルダ１６は、リソースファイル１５２を入力情報として読み込み（Ｓ１１）、各リソース（プリンタプロパティダイアログ及びその表示部品等）の属性を設定させる画面（属性設定画面）を表示させる。なお、リソースファイル１５２は、一般に市販されているリソース作成ツール（リソースエディタ）によって作成しておけばよい。ユーザは、属性設定画面において、表示部品等に対する属性（表示制御情報等）を設定する。属性の設定が完了し、ユーザからの指示が入力されると、ＵＩビルダ１６は、属性設定画面において設定された属性情報及びリソースファイル１５２に格納されているリソース情報に基づいて、ＵＩ動作記述ファイル１５１及びＵＩドライバ機種依存部１３１１のソースコードを生成し、出力する（Ｓ１２、Ｓ１３）。ＵＩビルダ１６は、また、プリンタドライバ１３のインストール情報を生成し、当該インストール情報を格納したＩＮＦファイル１３５を出力する。
【００２６】
続いて、ＵＩドライバ１３１のビルド指示がユーザより入力されると、ＵＩビルダ１６は、ＵＩドライバ共通部１３１２のソースコードとＵＩドライバ機種依存部１３１１のソースコードとを読み込み、これらをコンパイル及びリンクすることにより（Ｓ１７）、ＵＩドライバ１３１のバイナリコードを生成（ビルド）する（Ｓ１８）。なお、ＵＩドライバ共通部１３１２のソースは、予め作成しておく。ＵＩドライバ共通部１３１２は、機種非依存の部分であるため、一つ作成しておけば各機種に対して共通に利用される。
【００２７】
続いて、インストールディスク１７の作成が指示されると、ＵＩビルダ１６は、リソースファイル１５２、ＵＩ動作記述ファイル１５１、ＩＮＦファイル１３５、ＵＩドライバ１３１、ヘルプファイル１５３、画像処理ドライバ１３２、及び双方向通信ドライバ１３３等をインストールディスク１７にコピーする。ユーザは、インストールディスク１７をリリースすることで、購入者にプリンタドライバ１３をインストールさせ、利用させることができる。なお、ヘルプファイル１５３は、外部のエディタ等のツールによって作成しておく。また、画像処理ドライバ１３２及び双方向ド通信ドライバ１３３は、機種非依存のモジュールであるため、既に作成され、保管されているものがインストールディスク１７にコピーされる。
【００２８】
以下、ＵＩビルダ１６によるＵＩドライバ１３１の生成処理ついて更に具体的に説明する。図５は、ＵＩビルダによるＵＩドライバの生成処理を説明するためのフローチャートである。
【００２９】
ＵＩビルダ１６は、起動されると（Ｓ１０１）、メイン画面を表示させる（Ｓ１０２）。メイン画面のメニューより、予め作成されているリソースファイル１５２が選択されると（Ｓ１０３）、ＵＩビルダ１６は、当該リソースファイル１５２に格納されているリソース情報をメモリ上に読み込む（Ｓ１０４）。
【００３０】
図６は、プリンタプロパティダイアログのリソース情報の例を示す図である。また、図７は、リソース情報に基づくプリンタプロパティダイアログの表示例を示す図である。図６のリソース情報１５２１は、図７に示されるプリンタプロパティダイアログ１３４のリソース情報である。すなわち、図６と図７との参照番号は対応しており、図７における各表示部品は、図６において、当該表示部品と同一の参照番号に係る定義に基づいて表示される。
【００３１】
更に、リソース情報には、文字列の定義に関する情報も含まれている。図８は、文字列リソースのリソース情報の例を示す図である。図８のリソース情報は、一般的にストリングテーブルと呼ばれ、文字列ＩＤと、その文字列ＩＤに対応する文字列とが定義されている。例えば、図８では、「IDS_FREESIZE_KEY7」という文字列ＩＤに対して、「FreeSize6」という文字列が定義されている。こうすることで、プログラムのソースコード内では、文字列ＩＤによって文字列を扱うことができる。したがって、文字列ＩＤに対応する文字列を変更することで、ソースコードを変更しなくても表示される文字列等を変更することができる。
【００３２】
図５のステップＳ１０４では、図６及び図８に示したようなリソース情報が読み込まれる。
【００３３】
続いて、ＵＩビルダ１６は、読み込んだリソース情報に基づいて属性設定画面を表示させ（Ｓ１０５）、当該属性設定画面上においてプリンタプロパティダイアログ及びその表示部品に対する属性の設定を受け付ける（Ｓ１０６）。図９は、属性設定画面の第一の表示例を示す図である。
【００３４】
図９に示されるように、属性設定画面１６０は、ダイアログ構成表示領域１６１と属性設定領域１６２とより構成されている。ダイアログ構成表示領域１６１には、リソース情報に基づいて、プリンタプロパティダイアログ及びプリンタプロパティダイアログ上の表示部品のリソースＩＤの一覧が表示される領域である。属性設定領域１６２は、ダイアログ構成表示領域１６１において選択されているリソース（ダイアログ又は表示部品）に対する属性を設定させるための領域である。したがって、属性設定領域１６２に表示される項目は、選択項目に応じて異なる。図９では、プリンタプロパティダイアログそれ自体が選択項目とされている。したがって、図９の属性設定領域１６２には、プリンタプロパティダイアログの属性項目が表示されている。
【００３５】
また、図１０は、属性設定画面の第二の表示例を示す図である。図１０では、図６及び図７において、参照番号１３５６によって示されるコンボボックスの項目がダイアログ構成表示領域１６１において選択されている例が示されている。したがって、属性設定領域１６２には、コンボボックス１３５６に対応した属性項目が表示されている。例えば、ＨｉｄｅＪｕｄｇｅ項目１６２１は、コンボボックス１３５６が非表示となるための条件を設定するための項目である。また、ＤｉｓａｂｌｅＪｕｄｇｅ項目１６２２は、コンボボックス１３５６が半輝度となるための条件を設定するための項目である。また、Ａｌｅｒｔ項目１６２３、Ｔｒａｎｓａｃｔ項目１６２４は、それぞれ、アラート処理、コンボボックス内の項目の選択後の処理を設定するための項目である。また、ＳｔａｒｔＣｏｍｍａｎｄ項目１６２５及びＥｎｄＣｏｍｍａｎｄ項目１６２６は、当該表示部品に対する設定内容がとＰＪＬ（Printer Job Language）コマンド（の雛形）との対応関係を設定するための項目である。また、ＤｅｖｍｏｄｅＬａｙｏｕｔ項目１６２７は、当該表示部品に対する設定内容と、印刷属性としてＵＩドライバ共通部１３１２が解釈可能な変数（例えば、ＤＥＶＭＯＤＥ構造体のメンバ変数）との関連付けを設定するための項目である。各項目の値は、必ずしもその文字列をキーボードより入力する必要はなく、選択肢の中から選択することで値を設定できるものもある。
【００３６】
図１１は、属性項目の値の設定例を示す図である。図１１では、ＤｅｖｍｏｄｅＬａｙｏｕｔ項目１６２７の値が、複数の選択肢の中から選択されている様子が示されている。
【００３７】
ところで、図１１のダイアログ構成表示領域１６１では、コンボボックス１３５６の下位項目１３５６ａとして、コンボボックス１３５６の選択肢として表示させる文字列のリソースＩＤが表示されている。このような選択肢の追加は、例えば、文字列リソースの表示画面１５２３より、各項目をドラッグ・アンド・ドロップすることで行うことができる。
【００３８】
属性設定画面１６０における属性設定が終了し、ＵＩドライバ１３１の生成指示を受け付けると（Ｓ１０７）、ＵＩビルダ１６は、属性設定画面１６０の設定内容に基づいて、ＵＩ動作記述ファイル１５１と、ＵＩドライバ機種依存部１３１１のソースコードとを生成し、ファイルとして出力する（Ｓ１０８、Ｓ１０９）。
【００３９】
図１２は、ＵＩ動作記述ファイルの定義例を示す図である。本実施の形態におけるＵＩ動作記述ファイル１５１には、表示部品ごとに＊ＯｐｅｎＵＩ区１５１１と＊ＣｌｏｓｅＵＩ区１５１２との間に、当該表示部品に対して属性設定画面１６０において設定された内容の一部が出力される。但し、図１２では、便宜上、コンボボックス１３５６に関する定義のみが記述されている。例えば、コンボボックス１３５６をＵＩ動作記述ファイル１５１内において一意に識別するための部品ＩＤ１５１３（「ＲＰＤ＿ＩＤＣ＿ＳＴＡＭＰ＿ＣＨＡＲ＿ＣＨＯＩＣＥ＿ＦＯＮＴＳＴＹＬＥ」）、デフォルト値１５１４（ＩＤＳ＿ＳＴＡＭＰ＿ＦＯＮＴＳＴＹＬＥ＿ＮＯＲＭＡＬ）、選択肢の一覧１５１５、ＰＪＬのオプションコマンドの雛形１５１６等が記述されている。
【００４０】
ＵＩ動作記述ファイル１５１は、また、Ｅｘｃｌｕｓｉｖｅ定義１５１７を含む。Ｅｘｃｌｕｓｉｖｅ定義１５１７には、表示部品ごとに、部品ＩＤ、非表示条件、半輝度条件、選択肢表示条件、アラート処理、選択後処理、初期化動作等が記述される。図１２では、便宜上、コンボボックス１３５６に関する定義のみが記述されている。
【００４１】
なお、本実施の形態において、ＵＩ動作記述ファイル１５１における表示部品の部品ＩＤは、リソースファイル１５２におけるリソースＩＤに基づいて生成される。図１２でも、コンボボックス１３５６のリソースＩＤ（ＩＤＣ＿ＳＴＡＭＰ＿ＣＨＡＲ＿ＣＨＯＩＣＥ＿ＦＯＮＴＳＴＹＬＥ）に、「ＲＰＤ＿」という接頭語を付加した文字列が、部品ＩＤとされている。
【００４２】
図１３は、ＵＩドライバ機種依存部のソースコードの定義内容を概念的に示す図である。図１３に示されるように、ＵＩドライバ機種依存部１３１１のソースコード内では、表示部品ごとに、ＤＥＶＭＯＤＥ構造体のメンバ変数と、ＵＩ動作記述ファイル１５１における部品ＩＤと、リソースファイル１５２におけるリソースＩＤとの関連付けが主に定義されている。図中では、例として、コンボボックス１３５６に関する定義が示されている。なお、図中では表形式によって表現されているが、例えば、ソースコード中には、図に示される表が構造体の値として定義される。
【００４３】
ＵＩ動作記述ファイル１５１及びＵＩドライバ機種依存部１３１１のソースコードが出力された後、ＵＩドライバ１３１のビルドが指示されると、ＵＩビルダ１６は、ＵＩドライバ共通部１３１２のソースコードとＵＩドライバ機種依存部１３１１のソースコードとを読み込み、これらをコンパイル及びリンクすることにより、ＵＩドライバ１３１のバイナリコードを生成（ビルド）する（Ｓ１１０）。
【００４４】
次に、以上のように生成されるＵＩドライバ１３１のプリンタプロパティダイアログの制御処理について説明する。図１４は、ＵＩドライバによるプリンタプロパティダイアログの制御処理を説明するためのフローチャートである。
【００４５】
或るアプリケーションの文書の印刷の際等に、プリンタプロパティダイアログの表示が指示されると、ＵＩドライバ共通部１３１２は、印刷先の機種に対応したリソースファイル１５２及びＵＩ動作記述ファイル１５１等に基づいて、プリンタプロパティダイアログを表示させる（Ｓ２０１）。プリンタプロパティダイアログ上の表示部品がユーザによって操作されると、ＵＩドライバ共通部１３１２には操作に対応したイベントと操作の対象となった表示部品のリソースＩＤとが通知される（Ｓ２０２）。この仕組みは、例えば、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳによって提供される。ＵＩドライバ共通部１３１２は、ＵＩドライバ機種依存部１３１１に定義されているリソースＩＤと部品ＩＤとの関連付けに基づいてリソースＩＤより部品ＩＤを導出する（Ｓ２０３）。続いて、ＵＩドライバ共通部１３１１は、ＵＩ動作記述ファイル１５１内における当該部品ＩＤに対応した定義内容に基づいて、操作に対応した表示制御を行う（Ｓ２０４）。なお、ステップＳ２０２〜Ｓ２０４は、プリンタプロパティダイアログ上で、各種設定が行われるたびに実行される。設定が完了し、ユーザによってプリンタプロパティダイアログのＯＫボタンがクリックされると（Ｓ２０５）、ＵＩドライバ共通部１３１１は、ＵＩドライバ機種依存部１３１１に定義されているＤＥＶＭＯＤＥ構造体のメンバ変数と部品ＩＤとの関連付けに基づいて、各表示部品に設定された値を、ＤＥＶＭＯＤＥ構造体の各メンバ変数に設定する（Ｓ２０６）。ＵＩドライバ共通部１３１１は、また、ＵＩ動作記述ファイル１５１における表示部品ごとのＰＪＬコマンドの雛形に対して設定値を当てはめ、プリンタプロパティダイアログの設定内容に応じたＰＪＬデータを生成する（Ｓ２０７）。
【００４６】
なお、ＵＩドライバ１３１によって生成されたＤＥＶＭＯＤＥ構造体及びＰＪＬデータは、画像処理ドライバ１３２によって印刷データが生成される際に用いられる。
【００４７】
上述したように、本実施の形態におけるプリンタドライバ１３は、機種依存部分と機種非依存の部分とが明確に分離された構成となっている。したがって、ＵＩビルダ１６は、機種非依存部分を定義させることで、機種に応じたユーザインタフェース、すなわち、プリンタプロパティダイアログを簡便に生成することができる。特にＵＩビルダ１６は、ＧＵＩ（Graphical User Interface）に基づく対話的なインタフェースによって、機種依存部分を定義させることができるため、ユーザに対する作業負担を軽減させることができる。
【００４８】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態における印刷システムの構成例を示す図である。
【図２】ＵＩドライバ及び機種依存ファイルの構成例を示す図である。
【図３】機種に応じたプリンタプロパティダイアログを表示させる際の機種依存ファイルとＵＩドライバとの関係を概念的に示す図である。
【図４】ＵＩビルダの機能を説明するための図である。
【図５】ＵＩビルダによるＵＩドライバの生成処理を説明するためのフローチャートである。
【図６】プリンタプロパティダイアログのリソース情報の例を示す図である。
【図７】リソース情報に基づくプリンタプロパティダイアログの表示例を示す図である。
【図８】文字列リソースのリソース情報の例を示す図である。
【図９】属性設定画面の第一の表示例を示す図である。
【図１０】属性設定画面の第二の表示例を示す図である。
【図１１】属性項目の値の設定例を示す図である。
【図１２】ＵＩ動作記述ファイルの定義例を示す図である。
【図１３】ＵＩドライバ機種依存部のソースコードの定義内容を概念的に示す図である。
【図１４】ＵＩドライバによるプリンタプロパティダイアログの制御処理を説明するためのフローチャートである。
【符号の説明】
【００５０】
１            印刷システム
１０          ホストコンピュータ
１１          アプリケーション
１２          グラフィックエンジン
１３          プリンタドライバ
１４          スプーラ
１５          機種依存ファイル
１６          ＵＩビルダ
２０          プリンタ
１３１        ＵＩドライバ
１３２        画像処理ドライバ
１３３        双方向通信ドライバ
１５１        ＵＩ動作記述ファイル
１５２        リソースファイル
１５３        ヘルプファイル
５０１        記録媒体
１３１１      ＵＩドライバ機種依存部
１３１２      ＵＩドライバ共通部
【図１】
2008015695.tif 000003
【図２】
2008015695.tif 000004
【図３】
2008015695.tif 000005
【図４】
2008015695.tif 000006
【図５】
2008015695.tif 000007
【図６】
2008015695.tif 000008
【図７】
2008015695.tif 000009
【図８】
2008015695.tif 000010
【図９】
2008015695.tif 000011
【図１０】
2008015695.tif 000012
【図１１】
2008015695.tif 000013
【図１２】
2008015695.tif 000014
【図１３】
2008015695.tif 000015
【図１４】
2008015695.tif 000016