(57)【要約】      （修正有）【課題】エリア単位のカスタマイズを可能にするとともに、同じエリアに存在する複数の設定対象の配置をリアルタイムに動的に切り替える。【解決手段】画面の表示の指示を受け付ける受付手段２１３、画面における複数に分割された各領域の領域情報を記憶する領域情報記憶手段２０４、設定の指示を受け付けるための各領域の表示に関する表示情報を記憶する表示情報記憶手段２０５、領域情報記憶手段にの領域情報と表示情報記憶手段の表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段２１１および、表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段２０６を備え、表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、対応情報に基づいて、受け付けた指示に対応する領域情報を取得して画面の表示の切り替えを行う。【選択図】図３
2015084206.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
画面の表示の指示を受け付ける受付手段、
前記画面における複数に分割された領域それぞれに関する領域情報を少なくとも１つ記憶する領域情報記憶手段、
設定の指示を受け付けるための前記それぞれの領域に対応付けられた表示に関する表示情報を記憶する表示情報記憶手段、
前記領域情報記憶手段に記憶された領域情報と、前記表示情報記憶手段に記憶された表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段、
前記表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、前記複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段、
前記表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、前記対応情報に基づいて、受け付けた指示に対応する領域情報を取得する取得手段、
前記取得手段によって取得された領域情報に基づいての前記画面の表示の切り替えを行う表示制御手段
として機能させる情報処理プログラム。
【請求項２】
請求項１に記載の情報処理プログラムにおいて、
前記領域情報および前記表示情報は、プログラム外のリソースとして保持する
情報処理プログラム。
【請求項３】
請求項１または２のいずれか一項に記載の情報処理プログラムにおいて、
前記領域情報および前記表示情報は、すべてのユーザインタフェースに共通に用いられる共通部と、所定のユーザインタフェースに用いられる個別部とを含む
情報処理プログラム。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理プログラムにおいて、
前記コンピュータを更に、
前記領域情報と前記表示情報から、指示を受け付けるための画面の表示を判別する手段
として機能させる情報処理プログラム。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理プログラムにおいて、
前記コンピュータを更に、
前記画面の領域毎に指示を受け付けるための画面の表示の配置の最適化を行う手段
として機能させる情報処理プログラム。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理プログラムにおいて、
前記コンピュータを更に、
モードの変化に応じ、前記画面の領域毎にモードに対応した前記領域情報および前記表示情報に基づいてユーザインタフェースの再生成を起動する手段
として機能させる情報処理プログラム。
【請求項７】
画面の表示の指示を受け付ける受付手段と、
前記画面における複数に分割された領域それぞれに関する領域情報を少なくとも１つ記憶する領域情報記憶手段と、
設定の指示を受け付けるための前記それぞれの領域に対応付けられた表示に関する表示情報を記憶する表示情報記憶手段と、
前記領域情報記憶手段に記憶された領域情報と、前記表示情報記憶手段に記憶された表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段と、
前記表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、前記複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段と、
前記表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、前記対応情報に基づいて、受け付けた指示に対応する領域情報を取得する取得手段と、
前記取得手段によって取得された領域情報に基づいての前記画面の表示の切り替えを行う表示制御手段と
を備えたことを特徴とする情報処理装置。
【請求項８】
画面の表示の指示を受け付ける受付手段と、
前記画面における複数に分割された領域それぞれに関する領域情報を少なくとも１つ記憶する領域情報記憶手段と、
設定の指示を受け付けるための前記それぞれの領域に対応付けられた表示に関する表示情報を記憶する表示情報記憶手段と、
前記領域情報記憶手段に記憶された領域情報と、前記表示情報記憶手段に記憶された表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段と、
前記表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、前記複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段と、
前記表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、前記対応情報に基づいて、受け付けた指示に対応する領域情報を取得する取得手段と、
前記取得手段によって取得された領域情報に基づいての前記画面の表示の切り替えを行う表示制御手段と
を備えたことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェースを制御する技術に関する。
【背景技術】
【０００２】
ユーザが印刷機器のドライバを利用する際、印刷設定を行うために、グラフィカルユーザインタフェース（ＧＵＩ）を開いて、ユーザが印刷したいように設定を行う。設定自体は、ボタンやコンボボックス、ラジオボタン、複数の印刷設定をユーザが確認するためのアイコンといった、一般的なコントロール（ＧＵＩパーツ）を用いて行われる。コントロールは、ある一定のエリア（領域）内に収められている。コントロールは、ユーザから見て、設定対象となる画面上の表示である。
【０００３】
このようなコントロールの配置は、管理者ユーザや一般ユーザによりカスタマイズが可能となっているものがある。その際、コントロールを配置する際にユーザが操作しやすいように、すべてのコントロールの大きさを一定の大きさ、またはその整数倍になるように合わせることで、隙間なく配置をしていく方法が既に知られている（例えば、特許文献１等を参照。）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来におけるコントロールの配置の仕方は、「Custom Settings」、「Detail Settings」といった、複数の設定対象を有するそれぞれの設定対象群について、コントロールを配置することができる一つの限られたエリア内にコントロールが配置されているものであった。
【０００５】
そのため、そのエリア内でのコントロールの配置は自由にできたが、個々のコントロールが均等に扱われるため、固定して欲しいものや移動してもかまわないものといった配置上の特性を付すことができなかった。その結果、印刷機器の仕様やカスタマイズによりコントロールの追加や削除があった場合に、コントロールの配置が乱雑になり、統一的なユーザインタフェースとならなくなってしまうという問題があった。
【０００６】
また、ユーザの要望や特性に沿った、より適切なユーザインタフェースにカスタマイズを行うといっても、すべてのコントロールの配置を変更することまでは必要とされず、部分的な配置を変更できれば、個々のユーザにカスタマイズを強いることなく、多様なユーザを満足させられる場合も少なくなかった。
【０００７】
さらに、ユーザがＧＵＩを用いて操作を行う際に、ある領域にあるコントロールの表示・非表示を切り替える等、動的に表示を切り替えることは不可能であった。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、コントロールの配置を容易にすることにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、コンピュータを、画面の表示の指示を受け付ける受付手段、前記画面における複数に分割された領域それぞれに関する領域情報を少なくとも１つ記憶する領域情報記憶手段、設定の指示を受け付けるための前記それぞれの領域に対応付けられた表示に関する表示情報を記憶する表示情報記憶手段、前記領域情報記憶手段に記憶された領域情報と、前記表示情報記憶手段に記憶された表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段、前記表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、前記複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段、前記表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、前記対応情報に基づいて、受け付けた指示に対応する領域情報を取得する取得手段、前記取得手段によって取得された領域情報に基づいての前記画面の表示の切り替えを行う表示制御手段として機能させるようにしている。
【発明の効果】
【００１０】
本発明にあっては、コントロールの配置を容易にすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態にかかる情報処理システムの構成例を示す図である。
【図２】情報処理装置のハードウェア構成例を示す図である。
【図３】情報処理装置のソフトウェア構成例を示す図である。
【図４】プログラムのビルドによるバイナリの生成の例を示す図である。
【図５】エリア設定と機能プレート設定のデータの持ち方の例を示す図である。
【図６】一つのファイル内にエリア設定と機能プレート設定のデータを持たせた例を示す図である。
【図７】ユーザインタフェースの例を示す図（その１）である。
【図８】ユーザインタフェースの例を示す図（その２）である。
【図９】ユーザインタフェースの例を示す図（その３）である。
【図１０】ユーザインタフェースの例を示す図（その４）である。
【図１１】ユーザインタフェースの例を示す図（その５）である。
【図１２】エリア設定と機能プレート設定を記載する項目の例を示す図である。
【図１３】エリア設定および機能プレート設定の具体例を示す図（その１）である。
【図１４】エリア設定および機能プレート設定の具体例を示す図（その２）である。
【図１５】エリア設定および機能プレート設定の具体例を示す図（その３）である。
【図１６】言語ファイルの例を示す図である。
【図１７】エリア切替テーブルの例を示す図である。
【図１８】プリンタドライバに対してユーザインタフェースの表示要求が行われた場合の処理例を示すシーケンス図である。
【図１９】ＵＩ生成表示部の処理例を示すフローチャート（その１）である。
【図２０】ＵＩ生成表示部の処理例を示すフローチャート（その２）である。
【図２１】エリア内の機能プレートの配置の例を示す図である。
【図２２】エリア設定および機能プレート設定の例を示す図である。
【図２３】エリアと機能プレートの関係を示す図である。
【図２４】モード変更があった場合の処理例を示すシーケンス図である。
【図２５】外部ファイルによりユーザインタフェースを切り替える場合の例を示す図（その１）である。
【図２６】外部ファイルによりユーザインタフェースを切り替える場合の例を示す図（その２）である。
【図２７】ポイントアンドプリントに適用するための構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施形態につき説明する。なお、本実施形態ではプリンタドライバを例に説明するが、ユーザインタフェース上でユーザが設定項目を操作可能な如何なる情報処理プログラムであってもよい。また、本実施形態では制御対象の周辺機器の一例として複合機（ＭＦＰ（Multi Function Peripheral、Multi Function Printer））を例に説明するが、他の周辺機器であってもよい。
【００１３】
＜システム構成＞
図１は本発明の一実施形態にかかる情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、ユーザの操作するＰＣ（Personal Computer）等の情報処理装置２と、制御対象であるＭＦＰ等の周辺機器３とが、図１（ａ）に示すようにＬＡＮ（Local Area Network）等のネットワーク４経由でデータ伝送可能に接続されるか、図１（ｂ）に示すようにＵＳＢ（Universal Serial Bus）等のデータ伝送路５経由でデータ伝送可能に接続される。
【００１４】
図２は情報処理装置２のハードウェア構成例を示す図である。図２において、情報処理装置２は、それぞれバス２０で相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２５、主記憶装置２６、演算処理装置２７およびインタフェース装置２８を備えている。ドライブ装置２３には記憶媒体２４が接続される。
【００１５】
入力装置２１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置などで構成され、各種ウィンドウやデータ等を表示するために用いられる。ドライブ装置２３は記憶媒体２４から情報を読み出し、あるいは記憶媒体２４に情報を書き込むために用いられる。記憶媒体２４は、ＣＤ−ＲＯＭ（Compact Disk - Read Only Memory）、フレキシブルディスク、光磁気ディスク等や、ＲＯＭ、フラッシュメモリ等の半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
【００１６】
補助記憶装置２５は処理に必要なファイル、データ等を格納するために用いられ、ハードディスク装置等から構成される。主記憶装置２６は情報処理の作業空間としてプログラムや情報を一時的に格納するために用いられ、半導体メモリ等から構成される。演算処理装置２７は各種の演算処理を実行するために用いられ、ＣＰＵ（Central Processing Unit）等から構成される。インタフェース装置２８は、モデム、ＬＡＮカード、ＵＳＢインタフェース（Ｉ／Ｆ）などで構成されており、ネットワーク（４）経由またはデータ伝送路（５）経由で周辺機器（３）へ接続するために用いられる。
【００１７】
周辺機器（３）を情報処理装置２から動作させるためのソフトウェアであるプリンタドライバは、情報処理装置２のＯＳ（Operating System）が周辺機器（３）を制御するための橋渡しを行う。プリンタドライバは記憶媒体２４の配布やネットワーク（４）からのダウンロードなどによって提供される。
【００１８】
プリンタドライバを記録した記憶媒体２４がドライブ装置２３にセットされると、プリンタドライバは、記憶媒体２４からドライブ装置２３を介して補助記憶装置２５にインストールされる。また、ネットワーク（４）からダウンロードされたプリンタドライバは、インタフェース装置２８を介して補助記憶装置２５にインストールされる。
【００１９】
主記憶装置２６は、起動時に補助記憶装置２５からプリンタドライバを読み出して主記憶装置２６に格納する。そして、演算処理装置２７は主記憶装置２６に格納されたプリンタドライバに従って、後述するような各種処理を実現する。
【００２０】
図３は情報処理装置２のソフトウェア構成例を示す図である。図３において、情報処理装置２は、アプリケーション２０１とＯＳ２０２とプリンタドライバ２０３とを備えている。ＯＳ２０２はアプリケーション２０１から周辺機器３に対する要求を受け付けると、プリンタドライバ２０３経由で周辺機器３を制御する。
【００２１】
プリンタドライバ２０３は、処理に用いるデータとして、エリア設定２０４と機能プレート設定２０５とエリア切替テーブル２０６とユーザ操作・設定２０７とを保持している。また、機能部として、エリア配置部２０８と表示非表示設定部２０９と機能プレート配置部２１０とＵＩ生成表示部２１１とエリア切替部２１２とユーザ操作・設定取得部２１３とを備えている。なお、プリンタドライバとしての本来の機能である、周辺機器３を制御するためのデータを送受信する機能については図示を省略してある。
【００２２】
エリア設定２０４は、種々のタイプのコントロールである機能プレートを配置するためのエリアをどのように配置するかが記載（定義）されている設定である。エリア設定２０４は機能プレート設定２０５と同ファイル内に別セクションとして書かれてもよいし、別ファイルになっていてもよい。
【００２３】
機能プレート設定２０５は、機能プレートがどのエリアにどのように配置されるかが記載（定義）されている設定である。機能プレートは、機能を設定するユーザインタフェースを画一的に配置できるようにするため、標準の大きさが決められている。
【００２４】
エリア設定２０４と機能プレート設定２０５は、汎用もしくは専用のエディタにより設定内容を編集することにより、カスタマイズを行うことができる。
【００２５】
エリア切替テーブル２０６は、ユーザインタフェースのエリアの表示に関する種々のモード（エリアモード）と、ユーザインタフェースの生成に用いるエリア設定２０４および機能プレート設定２０５の識別情報（ファイルで区別される場合にはパス）とを対応付けた情報である。モードとしては、１または複数の所定のエリアが大きくなるモードと小さくなるモードや、一部のエリアを表示するモードと非表示にするモードや、表示するエリアを変更するモード等がある。
【００２６】
ユーザ操作・設定２０７は、ユーザがユーザインタフェースに対して行った操作もしくは設定内容を保持したものである。ユーザ操作・設定２０７には現時点のモード（エリアモード）が含まれる。
【００２７】
エリア配置部２０８は、エリア設定２０４を読み込み、エリアの配置を所定の形式で表わしたエリア情報を生成する機能を有している。
【００２８】
表示非表示設定部２０９は、機能プレートにつき、表示されるエリアがない場合には表示しないように設定した表示情報を生成する機能を有している。
【００２９】
機能プレート配置部２１０は、機能プレート設定２０５を読み込み、エリア上の機能プレートの配置を所定の形式で表わした機能プレート情報を生成する機能を有している。機能プレート配置部２１０は、ユーザによるカスタマイズでエリアに機能プレートが追加された場合、機能プレートの表示順序に従って配置を行う。また、機能プレート配置部２１０は、制御対象となる周辺機器３の仕様や状態に応じ、設定できない機能プレートを削除し、最適化を行うエリアであるかどうかの指定に応じ、最適化を行うエリアである場合には機能プレートの配置を最適化する。
【００３０】
ＵＩ生成表示部２１１は、エリア配置部２０８により生成されたエリア情報と、機能プレート配置部２１０により生成された機能プレート情報と、表示非表示設定部２０９による所定の機能プレートについての非表示の設定とに基づき、実際のコントロールを生成および表示する機能を有している。
【００３１】
エリア切替部２１２は、複数のエリアのセットを有しているエリア設定の場合、モードの遷移を検出した場合に、エリア切替テーブル２０６の対応情報に基づいて、どのエリア設定に基づいてユーザインタフェースを生成すればよいかを取得し、ＵＩ生成表示部２１１に対してユーザインタフェースの再生成・表示を起動する機能を有している。なお、新たな設定に基づいてユーザインタフェースをすべて再生成するほか、変更のある箇所だけを再生成するようにしてもよい。
【００３２】
ユーザ操作・設定取得部２１３は、ユーザがユーザインタフェースに対して行った操作もしくは設定内容を取得し、その操作・設定内容をユーザ操作・設定２０７に格納する機能を有している。
【００３３】
＜情報／データの詳細＞
図４はプログラムのビルドによるバイナリの生成の例を示す図である。図４（ａ）に示すように、プログラムは通常、動作を記述するソースコードと、ユーザインタフェースの構成を記述するリソースから成り立っている。これをビルド（ソースコードのコンパイルやライブラリのリンクなどを行い最終的な実行可能ファイルを作成）すると、バイナリ（バイナリコード）が生成される。ユーザインタフェースの構成はバイナリになっているので、少しカスタマイズを加えるだけでも、再度、ビルドをし直す必要がある。
【００３４】
この点、本実施形態のエリア設定２０４および機能プレート設定２０５はリソースに該当するものであるが、ソースコードとともにビルドすることはせず、バイナリの外にリソースを置く構成をとっている。すなわち、図４（ｂ）に示すように、本実施形態では、ユーザインタフェースの生成ロジックに対応するソースコードのみがビルドによりバイナリ化されており、ユーザインタフェースの構成はエリア設定２０４および機能プレート設定２０５として後からテキスト等で保存されたリソースを利用する。これにより、ユーザが動的かつリアルタイムにユーザインタフェースの構成を変更しても、再度ビルドすることなく、利便性の高いユーザインタフェースを利用することができるようになる。
【００３５】
図５はエリア設定２０４と機能プレート設定２０５のデータの持ち方の例を示す図である。ここでは、エリア（area）をＡ、Ｂ、Ｃ、Ｄの４個としている。
【００３６】
図５（ａ）は、エリア設定２０４としてエリアＡ〜Ｄにそれぞれ対応するエリア設定のデータを保持し、機能プレート設定２０５としてエリアＡ〜Ｄそれぞれにどのような機能プレートを配置するかを記述した機能プレート設定のデータを一つのみ保持する場合を示している。
【００３７】
図５（ｂ）は、エリア設定２０４にエリアＡ〜Ｄにそれぞれ対応するエリア設定のデータを保持し、機能プレート設定２０５にそれぞれのエリアに対応する機能プレート設定のデータを別々のデータとして保持する場合を示している。つまり、図５（ｂ）の場合、エリアと同数の機能プレート設定のデータを保持している。
【００３８】
なお、エリア設定のデータは、モードによってエリア設定を切り替える場合には、複数のデータのセットを持つことができる。例えば、エリアＢはエリアが大きいモードとエリアが小さいモードの２つのデータのセットを持つことができる。
【００３９】
図５（ａ）のように機能プレート設定のデータが一つの場合、その一つのデータを複数のモードで使いまわすことができる。機能プレート設定には全てのエリアに配置される機能プレートに関する記載を行い、エリア設定に記載された情報によって各エリアに配置されている機能プレートを、エリアごとに表示非表示を切り替えることができることになる。図５（ｂ）のように機能プレート設定のデータが複数の場合は、それぞれエリアごとにデータを保持するため、視認性が高いというメリットがある。
【００４０】
エリア設定のデータは、画面上のどこにどのようにエリアを配置するかの座標情報が書かれている。このエリア設定のデータセットを用意すると、一つのユーザインタフェースを構築することができるようになる。
【００４１】
機能プレートの設定には、どんな機能をどんなユーザインタフェースでどこに配置するか、といった情報が書かれている。機能プレートはエリアの上に配置されるため、該当するエリアがない場合は配置することができない。
【００４２】
図５では、エリア設定と機能プレート設定のデータをそれぞれ別のファイルに分けていることを想定しているが、一つのエリアファイルにまとめることも可能である。ただし、仮にエリアＡのみ共通、エリアＢ〜Ｄは異なる、というケースの場合では、全てのデータを一つのファイルとはせずに、エリアＡのみ切り出しておくことで、別のモードとの共通利用が可能となり、効率面で良い結果が得られる。
【００４３】
図６は一つのファイル内にエリア設定２０４と機能プレート設定２０５のデータを持たせた例を示す図である。上述のように、別のモードと共通利用をするために他のエリアモードと共通で使用する共通部と当該エリアモードのみで使用する固有部にファイルを分けて持ってもよいし、一つのファイル内部に、セクションをわけてエリア設定と機能プレート設定を持ってもよい。
【００４４】
エリア設定や機能プレート設定は、階層構造を持った書式で書かれることが一般的である。階層構造を持った書式は、ＸＭＬやｌｕａなどがあり、それらをパース（一定の文法に従って記述された複雑な構造のテキスト文書を解析）して、エリア設定と機能プレート設定を読み分けることもできる。もちろん、一つのファイルにまとめられている場合に限らず、異なるファイルの場合も、読み込むファイルが異なるだけで、書式や読み込みのロジックは同様に適用することになる。
【００４５】
次に、ユーザインタフェースの例と、階層構造を持った書式で書かれたエリア設定と機能プレート設定の例について説明する。
【００４６】
図７〜図１１はユーザインタフェースの画面例を示したものであり、ユーザが選択した用紙サイズや向き等の印刷設定の組み合わせを繰り返し使用できるように、「Register Current Setting」ボタンにより、印刷設定の組み合わせの登録を行えるようにしている。一度登録した設定は対応するアイコンが「Custom setting List」に表示され、アイコンを選択することで再度同じ設定が使用できる。
【００４７】
図７においては、「Custom Settings」タブに配置される要素として、「Current Setting」フレーム（「Settings summary」ボタンを含む）、「Register Current Setting」ボタン、「Manage Custom Settings」ボタン、「Custom Setting List」、「expand」ボタン、「Job Type」リストボックス、「Details」ボタン、「Original Size」リストボックス、「Orientation」リストボックス、「Printout Paper Size」リストボックス、「Color/Black and white」リストボックス、「Copies」ボタンが表示されている。
【００４８】
図８は図７のユーザインタフェースを見るユーザが普通に認識する領域を示したものである。すなわち、「Current Setting」フレームと「Register Current Setting」ボタンと「Manage Custom Settings」ボタンを、現在の設定を示す部分として、一つの領域Ｘと認識する。また、「Custom Setting List」と「expand」ボタンは、設定のセットを選択できる部分として、一つの領域Ｙと認識する。同様に、「Job Type」リストボックスと「Details」ボタンと「Original Size」リストボックスと「Orientation」リストボックスと「Printout Paper Size」リストボックスと「Color/Black and white」リストボックスと「Copies」ボタンは、各種印刷設定を変更できる部分として、一つの領域Ｚと認識する。このように、ユーザは機能内容からまとまりのある領域を認識する。
【００４９】
図９は図７のユーザインタフェースに対する制御上のエリアの配置の例を示したものである。すなわち、図８の領域ＸはそのままエリアＡとされるが、図８の領域Ｙの「expand」ボタンと領域Ｚの「Color/Black and white」リストボックスと「Copies」ボタンの部分が切り出されてエリアＤとなっている。領域Ｙ、Ｚの残りの部分はエリアＢ、Ｃとなっている。
【００５０】
これは、「expand」ボタンは「Custom Setting List」のエリアを拡大することをユーザが指示するために用いるボタンであるところ、エリアの拡大によりボタンの配置がずれてしまうのは好ましくないため、固定としたいという意向を反映したものである。また、「Color/Black and white」リストボックスと「Copies」ボタンは、他の印刷設定に比べて必須とされるものであり、印刷機器の仕様やカスタマイズによりコントロールの追加や削除があった場合に、これらのボタンの配置がずれてしまうのは好ましくないため、固定としたいという意向を反映したものである。反対に、エリアＣに含められた「Job Type」リストボックス、「Details」ボタン、「Original Size」リストボックス、「Orientation」リストボックス、「Printout Paper Size」リストボックスは、コントロールの追加や削除があった場合に、見栄え良く配置が最適化されることが望まれるものである。
【００５１】
図１０は、エリアＣに「Input bin」リストボックスと「Output bin」リストボックスが追加された状態を示している。
【００５２】
図１１は、図９もしくは図１０のエリアＤにある「expand」ボタンの操作によりモードが変化し、エリアＢが広がった状態を示している。この状態では、エリアＣは非表示となる。また、「expand」ボタンは「collapse」ボタンに変化し、「collapse」ボタンを操作することによりモードが再び変化して図９もしくは図１０の状態に戻る。
【００５３】
いくつかの決まった印刷設定の組み合わせを使用する頻度が高く、新たな印刷設定はほとんど行わないユーザも多く存在し、そのようなユーザにとって図１０のエリアＣの表示は毎回表示される必要がない。また、図１０のエリアＢには３つ以上のアイコンを表示することができないため、３つ以上の印刷設定の組み合わせがある場合には、スクロールバーを表示させ、４つ目以降のアイコンを選択するためにはスクロールを行う等、設定したい印刷設定の組み合わせを探す手間がかかってしまうことがある。そのため、通常は図１１のように「Custom Setting List」のエリアを拡大した状態にしておくことで可能な限りのアイコンを表示し、新たな印刷設定をしたいときのみ「collapse」ボタンを押すことで印刷設定を変更することができる。
【００５４】
図１２はエリア設定２０４と機能プレート設定２０５を記載する項目の例を示す図である。
【００５５】
「Type」は記載の対象がどんなタイプであるかを記載するものである。エリアだけでなく、機能プレートの種類もこれで定義する。また、Combobox、listbox、groupbox等の既知のコントロールの種類もこれで定義する。「Name」はエリアや機能プレートの名前を記載するものである。「Params」はそのエリアや機能プレートがどこに配置されるかを記載するものであり、位置(x,y)、設置順序order、幅width、高さheight等を含む。
【００５６】
図１３は、図９に示したエリアＢのエリア設定および機能プレート設定の具体例を示したものである。１行〜４行の記載がエリア設定を示しており、５行以降が機能プレート設定を示している。１行目の「"type":"Screen::Normal","name":"AreaB"」は、タイプがエリアであって、最適化は行われず（"Screen::Normal"は機能プレートが欠けても詰めないエリア、"Screen::Normalize"は機能プレートが欠けた場合は自動で詰めるエリアを意味）、名前が「AreaB」（エリアＢ）であることを示している。３行目はエリアの位置を示している。７行目の「"type":"List","name":"CustomSettingList"」は、タイプがリスト（コントロールの属性）であり、名前が「CustomSettingList」であることを示している。９行目は機能プレートの位置を示している。
【００５７】
図１４は、図９に示したエリアＣのエリア設定および機能プレート設定の具体例を示したものである。１行〜４行の記載がエリア設定を示しており、５行以降が機能プレート設定を示している。
【００５８】
図１５は、図１１に示したエリアＢのエリア設定および機能プレート設定の具体例を示したものである。１行〜４行の記載がエリア設定を示しており、５行以降が機能プレート設定を示している。図１３に示した設定と図１５に示した設定は、同じエリアＢについての設定であり、デフォルト（エリアが小さいモード）では図１３の設定が用いられ、ユーザによる「expand」ボタンの操作によりエリアが大きいモードになった場合は図１５の設定が用いられる。「collapse」ボタンが操作されてエリアが小さいモードに戻った場合は図１３の設定が用いられる。
【００５９】
なお、nameは、コントロールに実際に表示するラベルを取得するためのＩＤともなる。すなわち、日本語で「パンチ」、英語で「Punch」というようなとき、図１６に示すように、言語ファイルの中の「"Name" : "Punch"」というセクションから、実際にコントロールに表示する言語を見つけるためのＩＤとなる。
【００６０】
次に、図１７はエリア切替テーブル２０６の例を示す図である。エリア切替テーブル２０６は、エリアモードと、当該エリアモードの際に参照する設定ファイルのパス（ファイルパス）とが対応付けられている。
【００６１】
＜動作＞
図１８はプリンタドライバ２０３に対してユーザインタフェースの表示要求が行われた場合の処理例を示すシーケンス図である。
【００６２】
図１８において、ＵＩ生成表示部２１１はエリア配置部２０８に対してエリア情報を要求する（ステップＳ１）。
【００６３】
これを受け、エリア配置部２０８は、エリア設定２０４を読み込み、エリアの配置を所定の形式で表わしたエリア情報を生成し（ステップＳ２）、要求元のＵＩ生成表示部２１１に応答する（ステップＳ３）。
【００６４】
次いで、ＵＩ生成表示部２１１は機能プレート配置部２１０に対して機能プレート情報を要求する（ステップＳ４）。
【００６５】
これを受け、機能プレート配置部２１０は、機能プレート設定２０５を読み込み、エリア上の機能プレートの配置を所定の形式で表わした機能プレート情報を生成し（ステップＳ５）、要求元のＵＩ生成表示部２１１に応答する（ステップＳ６）。
【００６６】
次いで、ＵＩ生成表示部２１１は表示非表示設定部２０９に対してエリア情報と機能プレート情報を渡して表示非表示判定を要求する（ステップＳ７）。
【００６７】
これを受け、表示非表示設定部２０９は、表示非表示判定を行ない、表示されるエリアがない場合には表示しないように設定した表示情報を生成し（ステップＳ８）、要求元のＵＩ生成表示部２１１に応答する（ステップＳ９）。
【００６８】
そして、ＵＩ生成表示部２１１はエリア情報と機能プレート情報と表示情報とに基づいてユーザインタフェースを生成し、表示する（ステップＳ１０）。
【００６９】
図１９は、図１８の処理をＵＩ生成表示部２１１の立場から示したフローチャートである。
【００７０】
図１９において、ＵＩ生成表示部２１１は、ユーザインタフェースの表示要求を受け付けると（ステップＳ１１）、エリア配置部２０８に要求してエリア情報を取得し（ステップＳ１２）、機能プレート配置部２１０に要求して機能プレート情報を取得する（ステップＳ１３）。
【００７１】
次いで、ＵＩ生成表示部２１１は、表示非表示設定部２０９に要求して、表示する機能プレートを判別した表示情報を取得する（ステップＳ１４）。
【００７２】
そして、ＵＩ生成表示部２１１は、判別した結果に基づいてユーザインタフェースを生成し（ステップＳ１５）、ユーザインタフェースを表示する（ステップＳ１６）。
【００７３】
図２０は、図１３〜図１５に示した階層構造の書式でエリア設定と機能プレート設定が記載されている場合に特化した、図１９に代わる処理例を示している。
【００７４】
図２０において、ＵＩ生成表示部２１１は、ユーザインタフェースの表示要求を受け付けると（ステップＳ２１）、エリア配置部２０８により、エリア設定および機能プレート設定の項目typeを読み込ませ（ステップＳ２２）、エリアを作成させる（ステップＳ２３）。
【００７５】
次いで、ＵＩ生成表示部２１１は、機能プレート配置部２１０により、項目typeによるエリアの情報と機能プレートの情報から機能プレートを配置させる（ステップＳ２４）。
【００７６】
そして、ＵＩ生成表示部２１１は、ユーザインタフェースを生成し（ステップＳ２５）、ユーザインタフェースを表示する（ステップＳ２６）。
【００７７】
次に、機能プレート配置部２１０による機能プレート配置（図１８のステップＳ５等）について説明する。
【００７８】
既に説明したように、図９のエリアＣに対して機能プレートが追加されたものが図１０である。図１０のエリアＣでは、「Input bin」リストボックスと「Output bin」リストボックスが追加されている。
【００７９】
機能プレートが削除された場合は、それに応じてエリアＣの中で表示が最適化（上詰め）される。機能プレート配置部２１０は、所定のルールに基づき、上詰めをして見栄えが良くなるかどうか判断を行い、判断結果に基づいて配置を行う。ユーザから見た場合、「Color/Black and white」リストボックスと「Copies」ボタンもエリアＣの機能プレートに見えるが、これらは異なるエリアＤに属するため、エリアＣには移動しない。
【００８０】
このように、複数のエリアに機能プレートを割り付けることで、機能プレートの位置を固定したり、最適化したりすることができる。つまり、固定したい機能プレートと、最適化したい機能プレートを、それぞれ別のエリアとして設定することで、柔軟な配置を実現することができる。
【００８１】
次に、図２１および図２２を用いて、機能プレート（コントロール）の位置を詰めて最適化する例について説明する。図２１はエリア内の機能プレートの配置の例を示す図であり、図２２はエリア設定および機能プレート設定の例を示す図である。この例では、エリアAreaＨ内に機能プレートplate1〜plate7が含まれるものとしている。図２２の１行目の「Screen::Normalize」により、最適化の対象となるエリアである。
【００８２】
この場合、機能プレート配置部２１０は、Params内に記載される表示順序orderの値に従い、左上からwidth、heightの大きさに応じて機能プレートを配置していく。例えば、２番目の機能プレートplate2がPunchであると仮定し、周辺機器３にフィニッシャ（Finisher）がないことで、その機能プレートが利用できない場合、２番目の機能プレートを削除する。
【００８３】
２番目の機能プレートを削除する場合、２番目に穴が空いてしまい、ユーザの利便性が悪くなるため、３番目の機能プレートを、もともと２番目があった場所に配置する。同様に、４番目の機能プレートを、元々３番目があった場所に配置する、・・、といったように、順次位置を繰り上げて配置する。ただし、５番目の機能プレートのように、widthが長い場合は、４番目の位置に配置しようとすると横が長いため、表示が切れてしまう。これは、エリアAreaＨのwidthとplate5のwidth、ｘ座標から、幅が足りないことが判断できる。そのため、width、heightと、それを配置するエリアのwidth、heightを比べ、繰り上げが不可能な場合は繰り上げを行わない。
【００８４】
上記の例では、２番目の機能プレートが欠番となった場合、３番目および４番目の機能プレートは、それぞれ２番目および３番目の場所へ移動するが、５番目は移動しない。すなわち、５番目は繰り上がりが発生しない。順序の入れ替わりが生じてしまうため、６番目以降の機能プレートも、５番目の繰り上がりが発生しないことにより、移動しなくなる。
【００８５】
次に、表示非表示設定部２０９による表示非表示判定（図１８のステップＳ８等）について説明する。
【００８６】
図２３はエリアと機能プレートの関係を示す図である。破線で示されているエリアの上に、実線で示された機能プレートが乗っている。エリアが表示されれば、その上に乗っている機能プレートも表示されると判定する。エリアが非表示であれば、その上に乗っている機能プレートは非表示と判定する。エリアと機能プレートの配置の包含関係により表示・非表示が決定できるため、エリアが表示されるときとされないときで予め場合分けする必要がないという利点がある。
【００８７】
次に、エリア切替部２１２による処理について説明する。
【００８８】
図２４はモード変更があった場合の処理例を示すシーケンス図である。
【００８９】
図２４において、エリア切替部２１２はエリアモードの変更を検知すると（ステップＳ３１）、エリア切替テーブル２０６を参照し、エリア設定および機能プレート設定に用いるファイルパスを取得してＵＩ生成表示部２１１に通知し、ユーザインタフェースの再生成・表示を起動する（ステップＳ３２）。
【００９０】
ファイルパスの通知を受けたＵＩ生成表示部２１１は、図１８〜図２０に示した処理を再び行ない、ユーザインタフェースを再生成して表示する。なお、新たな設定に基づいてユーザインタフェースをすべて再生成するほか、変更のある箇所だけを再生成するようにしてもよい。
【００９１】
既に説明した図９において、エリアＤにある「expand」ボタンを押下すると、エリアモードは以前（デフォルト）の「エリアＢ小さい」から「エリアＢ大きい」に変化する。これが検知されることで、新たなファイルパスの示す設定ファイルに基づいてユーザインタフェースがリアルタイムに再生成・表示される。図１１はエリアＢがエリアＣの部分まで拡大した状態を示している。
【００９２】
エリア配置部２０８は、エリアＢの位置情報と大きさを判別して、エリアＢの設置を行う。エリアＣの上に配置されていた機能プレートは、エリアＣがなくなったことにより表示されず、エリアＢにあった「Custom Setting List」の内容が、エリアＢが大きくなったことにより広く利用できるようになる。
【００９３】
また、図１１のエリアＤにある「collapse」ボタンを押下すると、エリアモードはそれまでの「エリアＢ大きい」から「エリアＢ小さい」からに変化し、図９の表示に戻る。
【００９４】
これにより、エリアＢの「Custom Setting List」しか利用しないユーザは、図１１のような表示の仕方であれば視認性が向上して利用しやすくなる。また、エリアＢだけでは足りないユーザは、図９のような表示の仕方であれば、「Custom Setting List」を利用しつつ、エリアＣに表示されている機能変更を利用することができるようになる。すなわち、ユーザの２種類の要求に応えることができる。
【００９５】
なお、「expand」ボタンと「collapse」ボタンの場合、図９の状態と図１１の状態の切り替えしかできないが、コンボボックスなどで３種類以上のエリアの設定を切り替えることができる。
【００９６】
次に、外部ファイルによりユーザインタフェースを切り替える場合について説明する。すなわち、管理者（Admin）とユーザ（User）で異なるユーザインタフェースに対するニーズを、２種類のユーザインタフェースで解決する方法を述べる。
【００９７】
管理者とユーザでは、プリンタドライバでやりたいことが異なる。管理者は、ＴＣＯ（Total Cost of Ownership）削減の観点から、ユーザにモノクロで印刷させる設定を使わせたい。一般的には、モノクロの方が、カラーより安いためである。また、両面や集約なども、機能として使わせたいことが多い。一方、ユーザは印刷設定を気にしないことが多く、どの機能を使うかより、「管理者が設定した印刷設定を選択しやすいこと」が必要である。その２つを両立させるため、本実施例では、２種類のユーザインタフェースを切り替え、なおかつ最適な機能配置ができるようにエリア設定をしている。１つめ目は、管理者が「モノクロや両面、集約などを設定しやすい」ユーザインタフェースであり、プリンタドライバの設定が行えるユーザインタフェースである。２つ目は、ユーザが「管理者が設定した印刷設定を簡単に選べる」ように、細かい印刷設定の画面を省いて、１ステップで印刷設定を実行できるようなユーザインタフェースである。
【００９８】
例えば、ＩＴ（Information Technology）管理者が、ＴＣＯ削減の目的で、必要な機能のみ選択させたいとき、設定ファイルをユーザによって切り替えたいとする。既に図４（ｂ）に示したように、ユーザインタフェースのリソースをコンパイルせずに設定ファイルとしてプログラムの外に出せるため、この設定ファイルを条件によって差し替えることが可能である。
【００９９】
図２５では、ユーザのログイン時に、権限読取プログラム６が、当該ユーザがAdmin/Userのどちらの権限でログインしているのか判断する。Admin用とUser用の設定ファイルは別になっており、例えば、Admin用はカラーが選べるユーザインタフェースであるが、User用の場合はそもそも設定画面がないユーザインタフェースを提供するものとする。
【０１００】
権限読取プログラム６は、判断したユーザの権限に基づき、対応する設定ファイルを読み込んでＵＩ設定ファイルとして書き込む。プリンタドライバ２０３はユーザインタフェースを構築する毎にＵＩ設定ファイルを読み込み、ユーザインタフェースの生成および表示を行う。
【０１０１】
図２６では、ユーザのログイン時に、権限読取プログラム６が、当該ユーザがAdmin/Userのどちらの権限でログインしているのか判断する。そして、判断した結果をAdmin/User Switch情報として書き出す。
【０１０２】
プリンタドライバ２０３はユーザインタフェースを構築する毎にAdmin/User Switch情報を読み込み、対応する設定ファイルを読み込み、ユーザインタフェースの生成および表示を行う。
【０１０３】
次に、エリア設定と機能プレートがプリンタドライバの外にある場合について説明する。
【０１０４】
プリンタドライバにおいて、サーバ／クライアント環境で利用する「ポイントアンドプリント」の機能がある。クライアント側で、サーバ側のプリンタドライバのキュー（発生したプリントジョブを記憶しておく仕組）を利用する場合、ポイントアンドプリントの機能を利用する。その際、サーバ側のプリンタドライバの中の情報のみが、クライアント側にコピーされる、というのがポイントアンドプリントの仕組みである。この場合、プリンタドライバの外にあるエリア設定と機能プレート設定のファイルを利用したい場合、そのための仕組が必要になる。
【０１０５】
すなわち、「ポイントアンドプリント」はプリンタドライバとして識別される特定のファイルとレジストリをサーバ側からクライアント側に同期する仕組であるため、「ポイントアンドプリント」の機能をそのまま利用とすると、プリンタドライバ内にあるファイル以外の外部のファイル（エリア設定、機能プレート設定）は引き継がれない。そのため、クライアント側では動的なユーザインタフェースの切り替えが行えないため、特別な仕組が必要となる。
【０１０６】
図２７はポイントアンドプリントに適用するための構成例を示す図である。図２７において、サーバ側の情報処理装置７のプリンタドライバ７１には、エリア配置部７２と機能プレート配置部７３と設定読み書き部７４とが設けられている。エリア配置部７２と機能プレート配置部７３は、図３に示したエリア配置部２０８と機能プレート配置部２１０に相当するものである。プリンタドライバ７１の外には、エリア設定７５と機能プレート設定７６とが設けられている。エリア設定７５と機能プレート設定７６は、図３に示したエリア設定２０４と機能プレート設定２０５に相当する。プリンタドライバ７１の設定読み書き部７４は、エリア設定７５と機能プレート設定７６を読み込み、ＯＳのレジストリの一部であるプリンタドライバデータ７７に書き込みを行う機能を有している。
【０１０７】
また、クライアント側の情報処理装置２のプリンタドライバ２０３には、エリア配置部２０８と機能プレート配置部２１０の他に、設定読み書き部２１４が新たに設けられている。エリア設定（２０４）と機能プレート設定（２０５）は、クライアント側には保持されていない。プリンタドライバ２０３の設定読み書き部２１４は、ＯＳのレジストリのプリンタドライバデータ２１５に設定が書き込まれていたら、その設定を読み出し、書き込まれていない、あるいは明示的に別のエリア設定と機能プレート設定を読み込むことを指示されたら、指示された設定の読み込み／書き込みを実施する機能を有している。明示的な指示に対し、外部のファイルを読み込む機能をプリンタドライバ２０３のデバイスプロパティに加えればよい。
【０１０８】
サーバ側のプリンタドライバデータ７７とクライアント側のプリンタドライバデータ２１５はポイントアンドプリントの機能によりサーバ・クライアント間で同期される。サーバ側の設定読み書き部７４は、エリア設定７５と機能プレート設定７６を読み込み、ＯＳのレジストリのプリンタドライバデータ７７に書き込みを行い、プリンタドライバデータ７７の内容はクライアント側のプリンタドライバデータ２１５に同期される。クライアント側の設定読み書き部２１４はプリンタドライバデータ２１５の内容を読み出し、エリア配置部２０８と機能プレート配置部２１０は設定読み書き部２１４の読み出した設定に応じてエリア配置と機能プレート配置を行う。これにより、プリンタドライバの外部にあるユーザインタフェースの設定を読み込んで、動的にユーザインタフェースを切り替えることが可能となる。
【０１０９】
＜総括＞
以上説明したように、本実施形態によれば、それぞれの設定対象群について複数のエリアの配置を許容することで、エリア単位のカスタマイズを可能にするとともに、同じエリアに存在する複数の設定対象の配置をリアルタイムに動的に切り替えられるようにし、ユーザの利便性を向上させることができる。
【０１１０】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【０１１１】
＜請求項の用語について＞
請求項における「画面の表示の指示を受け付ける受付手段」は、図３におけるユーザ操作・設定取得部２１３に対応する。
【０１１２】
「前記画面における複数に分割された領域それぞれに関する領域情報を少なくとも１つ記憶する領域情報記憶手段」は、図３におけるエリア設定２０４に対応する。「領域情報」は、エリア設定２０４の保持する内容に対応する。
【０１１３】
「設定の指示を受け付けるための前記それぞれの領域に対応付けられた表示に関する表示情報を記憶する表示情報記憶手段」は、図３における機能プレート設定２０５に対応する。「表示情報」は機能プレート設定２０５の保持する内容に対応する。
【０１１４】
「前記領域情報記憶手段に記憶された領域情報と、前記表示情報記憶手段に記憶された表示情報とに基づいて、指示を受け付けるための画面の表示を行う表示手段」は、図３におけるＵＩ生成表示部２１１に対応する。
【０１１５】
「前記表示手段によって表示された画面から受け付ける表示の切り替えに関する指示と、前記複数の領域情報いずれかとを対応付けて記憶する対応情報記憶手段」は、図３におけるエリア切替テーブル２０６に対応する。
【０１１６】
「前記表示手段によって表示された画面から表示の切り替えに関する指示を受け付けたとき、前記対応情報に基づいて、受け付けた指示に対応する領域情報を取得する取得手段」は、図３におけるエリア切替部２１２に対応する。
【０１１７】
「前記取得手段によって取得された領域情報に基づいての前記画面の表示の切り替えを行う表示制御手段」は、図３におけるＵＩ生成表示部２１１に対応する。
【符号の説明】
【０１１８】
１          情報処理システム
２          情報処理装置
２０        バス
２１        入力装置
２２        出力装置
２３        ドライブ装置
２４        記憶媒体
２５        補助記憶装置
２６        主記憶装置
２７        演算処理装置
２８        インタフェース装置
２０１      アプリケーション
２０２      ＯＳ
２０３      プリンタドライバ
２０４      エリア設定
２０５      機能プレート設定
２０６      エリア切替テーブル
２０７      ユーザ操作・設定
２０８      エリア配置部
２０９      表示非表示設定部
２１０      機能プレート配置部
２１１      ＵＩ生成表示部
２１２      エリア切替部
２１３      ユーザ操作・設定取得部
２１４      設定読み書き部
２１５      プリンタドライバデータ
３          周辺機器
４          ネットワーク
５          データ伝送路
６          権限読取プログラム
７          情報処理装置
７１        プリンタドライバ
７２        エリア配置部
７３        機能プレート配置部
７４        設定読み書き部
７５        エリア設定
７６        機能プレート設定
７７        プリンタドライバデータ
【先行技術文献】
【特許文献】
【０１１９】
【特許文献１】特開２００９−１６９４６２号公報
【図１】
2015084206.tif 000003
【図２】
2015084206.tif 000004
【図３】
2015084206.tif 000005
【図４】
2015084206.tif 000006
【図５】
2015084206.tif 000007
【図６】
2015084206.tif 000008
【図７】
2015084206.tif 000009
【図８】
2015084206.tif 000010
【図９】
2015084206.tif 000011
【図１０】
2015084206.tif 000012
【図１１】
2015084206.tif 000013
【図１２】
2015084206.tif 000014
【図１３】
2015084206.tif 000015
【図１４】
2015084206.tif 000016
【図１５】
2015084206.tif 000017
【図１６】
2015084206.tif 000018
【図１７】
2015084206.tif 000019
【図１８】
2015084206.tif 000020
【図１９】
2015084206.tif 000021
【図２０】
2015084206.tif 000022
【図２１】
2015084206.tif 000023
【図２２】
2015084206.tif 000024
【図２３】
2015084206.tif 000025
【図２４】
2015084206.tif 000026
【図２５】
2015084206.tif 000027
【図２６】
2015084206.tif 000028
【図２７】
2015084206.tif 000029