(57)【要約】【課題】部品の修正にかかる作業の効率化を図ること。【解決手段】情報処理装置１００は、実機１０１が有する表示装置に表示される画面の構成を示す第１構成情報１２１に基づき、画面に含まれる複数の部品を、複数の部品の各々の部品の位置及び／又は大きさに基づきグループ化する。情報処理装置１００は、グループ化した各々のグループにおいて、実機１０１の動作又は機能を模擬した模擬結果である期待値データ１１２における各々のグループに含まれる部品に表示される各文字と、実機１０１の動作結果である画像データ１１１における各々のグループに含まれる部品に表示される各文字とが異なる場合、第１構成情報１２１に基づき、各々のグループに含まれる部品に表示される各文字が、画像データ１１１と期待値データ１１２で同じになるように各々のグループに含まれる部品の表示態様がグループ単位で変更された画面の構成を示す第２構成情報１２２を生成する。【選択図】図１
2018181010.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
特定の装置が有する表示装置に表示される第１画面の構成を示す第１構成情報に基づいて、前記第１画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた前記特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、一致しないと判定した表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
処理を実行させることを特徴とする文字表示領域修正プログラム。
【請求項２】
前記コンピュータに、
前記各々のグループについて、前記各々のグループに含まれる文字表示領域の最大外形と、前記複数の文字表示領域のうち前記各々のグループに含まれる文字表示領域以外の文字表示領域と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする請求項１に記載の文字表示領域修正プログラム。
【請求項３】
前記コンピュータに、
前記各々のグループについて、前記各々のグループに含まれる文字表示領域の最大外形と、前記第１画面の最大外形と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする請求項１又は２に記載の文字表示領域修正プログラム。
【請求項４】
前記コンピュータに、
前記動作結果における前記各々のグループに含まれる文字表示領域に表示される各文字の端の文字と、前記各々のグループに含まれる文字表示領域の最大外形と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする請求項１〜３のいずれか１つに記載の文字表示領域修正プログラム。
【請求項５】
前記コンピュータに、
前記１又は複数のグループのうち、前記模擬結果と前記動作結果とで表示される各文字が一致しないと判定した前記文字表示領域を含むグループに含まれる文字表示領域と大きさが同じ文字表示領域を含み、かつ当該グループの所定の方向における文字表示領域の数が同じであるグループを特定する処理を実行させ、
前記生成する処理は、
一致しないと判定した前記文字表示領域を含む前記グループに含まれる文字表示領域の表示態様と、前記特定したグループに含まれる文字表示領域の表示態様とが、同じになるように変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする請求項１〜４のいずれか１つに記載の文字表示領域修正プログラム。
【請求項６】
前記コンピュータに、
前記第１画面と異なる前記表示装置に表示される第２画面の構成を示す第３構成情報に基づいて、前記第２画面に含まれる複数の文字表示領域を、当該複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
グループ化した１又は複数の第２グループのうち、表示される各文字が一致しないと判定した文字表示領域を含むグループに含まれる文字表示領域と大きさ及び位置が同じ文字表示領域を含む第２グループを特定する処理を実行させ、
前記生成する処理は、
前記特定した第２グループに含まれる文字表示領域の表示態様が、前記第２構成情報が示す前記第１画面の構成における当該グループに含まれる文字表示領域の表示態様と同じ表示態様に変更された前記第２画面の構成を示す第４構成情報を生成する、
ことを特徴とする請求項１〜５のいずれか１つに記載の文字表示領域修正プログラム。
【請求項７】
コンピュータが
特定の装置が有する表示装置に表示される画面の構成を示す第１構成情報に基づいて、前記画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、各文字が一致しないと判定された表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記画面の構成を示す第２構成情報を生成する、
処理を実行することを特徴とする文字表示領域修正方法。
【請求項８】
特定の装置が有する表示装置に表示される画面の構成を示す第１構成情報に基づいて、前記画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、各文字が一致しないと判定された表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記画面の構成を示す第２構成情報を生成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字表示領域修正プログラム、文字表示領域修正方法、及び情報処理装置に関する。
【背景技術】
【０００２】
従来、シミュレータやエミュレータなどを用いたコンピュータ上の仮想環境においてアプリケーションソフトウェアを動作させ、仮想環境における画面の表示を確認する技術がある。
【０００３】
先行技術として、例えば、利用者の第１ＷｅｂブラウザでＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ソースを表示した際の各ＨＴＭＬ要素の表示位置と表示の大きさと表示文字の大きさが、第２ＷｅｂブラウザでＨＴＭＬソースを表示した際のそれぞれと同じになるようにＨＴＭＬソースを補正する技術がある（例えば、以下特許文献１参照。）。また、例えば、開発ディスプレイ上の表示形態及びフォントに対応するフォントの大きさを含むターゲット装置のオブジェクトコートを生成する技術がある（例えば、以下特許文献２参照。）。また、例えば、画面に表示されている表示部品のうち、表示位置、レイアウト、表示間隔などの属性を変更したい表示部品を指定し、先に設計した階層構造データに基づいて属性を変更する技術がある（例えば、以下特許文献３参照。）。また、例えば、画面に表示する文字の大きさを、ウィンドウの大きさごとにテーブルで規定しておき、ウィンドウの大きさが変更されたときに、変更後の大きさに合うような文字の大きさを選択して表示する技術がある（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０３９８１５号公報
【特許文献２】特開２００６−２０９１１４号公報
【特許文献３】特開２００９−００９４７３号公報
【特許文献４】特開２０１１−０３４５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、例えば、実際の製品において画面に含まれる部品に表示された文字に欠落が発生する場合がある。このように文字の欠落が発生した部品ごとに、部品に表示される文字の大きさ、部品の大きさ、部品の位置などを修正すると、開発者の作業に手戻りが多くなる場合がある。例えば、文字に欠落のある部品の修正に伴い、他の部品に文字の欠落が発生することがある。そして、他の部品について再度修正が行われるという手戻りが発生する。また、例えば、部品ごとに修正を行うと、画面の表示にばらつきが発生する。画面の表示に統一感を持たせるため、他の部品について、文字の欠落があった部品と同様の修正が行われるという手戻りが発生する。
【０００６】
１つの側面では、本発明は、画面に含まれる部品の修正にかかる作業の効率化を図ることができる文字表示領域修正プログラム、文字表示領域修正方法、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、特定の装置が有する表示装置に表示される画面の構成を示す第１構成情報に基づいて、前記画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、各文字が一致しないと判定された表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記画面の構成を示す第２構成情報を生成する文字表示領域修正プログラム、文字表示領域修正方法、及び情報処理装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、画面に含まれる部品の修正にかかる作業の効率化を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、情報処理装置の一動作例を示す説明図である。
【図２】図２は、情報処理装置１００のハードウェア構成例を示す説明図である。
【図３】図３は、実機１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、画面構成情報の記憶内容の一例を示す説明図である。
【図５】図５は、実機１０１と情報処理装置１００とが行う全体の処理手順例を示すフローチャートである。
【図６】図６は、期待値データと画像データとの取得例を示す説明図である。
【図７】図７は、対応付け情報例を示す説明図である。
【図８】図８は、情報処理装置１００と実機１０１の機能的構成例を示すブロック図である。
【図９】図９は、画面の枠及び画面に含まれる部品の枠例を示す説明図である。
【図１０】図１０は、部品ｐ１に対するＹ軸方向の関係部品の検索例を示す説明図である。
【図１１】図１１は、部品ｐ６に対するＹ軸方向の関係部品の検索例を示す説明図である。
【図１２】図１２は、部品ｐ１に対するＸ軸方向の関係部品の検索例を示す説明図である。
【図１３】図１３は、部品ｐ２に対するＹ軸方向の関係部品の検索例を示す説明図である。
【図１４】図１４は、部品関連グラフの一例を示す説明図である。
【図１５】図１５は、部品ｐ１についてのグループ化例を示す説明図である。
【図１６】図１６は、部品ｐ２についてのグループ化例を示す説明図である。
【図１７】図１７は、グループ化結果例を示す説明図である。
【図１８】図１８は、他の画面におけるグループ化によるグループ例を示す説明図である。
【図１９】図１９は、特徴データに含まれる各スペーシング量の一例を示す説明図である。
【図２０】図２０は、部品ごとの表示文字のスペーシング量を示す説明図である。
【図２１】図２１は、グループ内において不良箇所と同列の幅を広げる修正例を示す説明図である。
【図２２】図２２は、グループ内において不良箇所の以外の部品を移動して不良箇所の幅を広げる修正例を示す説明図である。
【図２３】図２３は、グループ内において不良箇所以外の部品の大きさを変更して不良箇所の幅を広げる修正例を示す説明図である。
【図２４】図２４は、１つのグループに複数の不良箇所がある場合の修正例を示す説明図である。
【図２５Ａ】図２５Ａは、グループ外の部品の移動及び大きさの変更により不良箇所の幅を広げる修正例を示す説明図（その１）である。
【図２５Ｂ】図２５Ｂは、グループ外の部品の移動及び大きさの変更により不良箇所の幅を広げる修正例を示す説明図（その２）である。
【図２６】図２６は、不良箇所を含むグループと類似のグループとの修正例を示す説明図である。
【図２７】図２７は、従来技術による補正例と本実施の形態による補正例との比較を示す説明図である。
【図２８】図２８は、情報処理装置１００が行う処理手順例を示すフローチャートである。
【図２９】図２９は、図２８に示すグループ化処理の詳細な説明を示すフローチャートである。
【図３０】図３０は、図２８に示す不良箇所の補正処理の詳細な説明を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる文字表示領域修正プログラム、文字表示領域修正方法、及び情報処理装置の実施の形態を詳細に説明する。
【００１１】
図１は、情報処理装置の一動作例を示す説明図である。情報処理装置１００は、シミュレータもしくはエミュレータによる模擬結果における文字表示領域に表示される文字と実際の製品による動作結果における文字表示領域に表示される文字と、が同じになるように画面構成情報を修正するコンピュータである。実際の製品は、例えば、少なくとも表示装置を有するコンピュータである。実際の製品としては、例えば、携帯型の端末装置、家電製品、機械など特に限定しない。実際の製品は、実機とも称する。
【００１２】
ここで、画面とは、例えば、実機が有する表示装置に表示される画面である。アプリケーションソフトウェアを実行した場合に実機が有する表示装置に表示される画面の構成を定義した情報を画面構成情報と称する。画面構成情報は、アプリケーションソフトウェアのプログラムコードに含まれている情報であってもよいし、リソースファイルのようにアプリケーションソフトウェアが参照可能な情報であってもよい。例えば、実機が、アプリケーションソフトウェアを実行した場合に実機が有する表示装置に画面構成情報が示す構成の画面が表示される。
【００１３】
従来、製品のシミュレータやエミュレータなどを用いたコンピュータ上の仮想環境においてアプリケーションソフトウェアを実行する技術がある。そして、従来、コンピュータ上の仮想環境の動作結果に応じた仮想環境における画面の表示結果を確認する技術がある。例えば、エミュレータやシミュレータでは、コンピュータ上で製品がアプリケーションソフトウェアを実行した場合の動作や機能を模擬することにより製品が有する表示装置に表示される画面の表示内容を模擬することができる。開発者などの利用者は、例えば、コンピュータ上の仮想環境における画面の表示結果を参照して、表示に問題がないか否かを確認する。
【００１４】
しかしながら、実機と仮想環境とでは、ディスプレイの解像度やドライバ、文字のフォントなどが異なる。このため、実機１０１においてアプリケーションソフトウェアを実行させた場合、実機１０１が有する表示装置に表示される画面では、仮想環境で表示される文字が欠落する場合がある。
【００１５】
また、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の画面は、様々な部品を含む。部品としては、例えば、ラベル、テキストフィールド、ボタンなどの文字表示領が挙げられる。画面によって配置される部品の位置が様々であるため、表示すべき文字の欠落が発生した不良箇所のみに対して修正する場合、画面内の部品に表示される文字の大きさや部品の大きさ、部品の位置にばらつきが発生する。このようなばらつきにより画面が見難くなる。
【００１６】
また、例えば、不良箇所が含まれる画面を示す画面構成情報に対して、開発環境で修正して実機で確認するなどの作業を繰り返すため、この作業に時間がかかる。また、例えば、開発環境での修正により、別の箇所に問題が発生してしまうと、再度修正を行わなければならず、作業に手戻りが発生する。また、全部品に表示される文字を所望の大きさに補正する場合、表示される文字の大きさにばらつきが発生する場合がある。
【００１７】
本実施の形態では、情報処理装置１００は、画面内の各部品を大きさと位置でグループ化し、実機の表示文字が模擬での表示文字と違う部品を含むグループ単位で、模擬での表示文字となるよう部品態様を変更する。実機１０１での表示文字が模擬での表示文字と違う部品については、実機での表示文字において文字が欠落している。情報処理装置１００は、部品態様の変更により文字が欠落した部品を修正しつつ、その部品と大きさや位置が同様の部品の態様を同一にすることができる。したがって、情報処理装置１００は、画面に統一感を出させつつ、文字の欠落の修正による利用者の作業の手戻りを抑制できる。ここで、部品態様とは、画面上の部品の位置、部品の幅や部品の高さなどの部品の大きさ、部品に表示される文字の大きさ、部品における文字のアライメントなどの部品の属性である。
【００１８】
まず、情報処理装置１００は、第１構成情報１２１に応じた特定の装置の動作又は機能を模擬した模擬結果を取得する。特定の装置は、実機である。図１において、特定の装置は、例えば、実機１０１である。実機１０１の動作又は機能を模擬するとは、例えば、エミュレータやシミュレータを用いた実機１０１の仮想環境を用いて、第１構成情報１２１を使用するアプリケーションソフトウェアを実行する実機１０１の動作や機能を模擬することを示す。図１において、模擬結果として、期待値データ１１２が例に挙げられる。期待値データ１１２は、例えば、仮想環境における実機１０１が有する表示装置の表示結果となる画面の画像データである。期待値データ１１２のデータ形式については、ビットマップ形式、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式など特に限定しない。
【００１９】
第１構成情報１２１は、アプリケーションソフトウェアを実行した場合に実機１０１が有する表示装置に表示される画面の構成を示す画面構成情報である。ここで、第１構成情報１２１には、例えば、画面に含まれる部品の各々について、部品の大きさ、部品の位置、部品に表示される文字の大きさ、部品に表示される文字などが定義される。ここでの文字とは、アルファベットや平仮名のような文字や数字のような文字なども含む。
【００２０】
情報処理装置１００は、第１構成情報１２１に応じた実機１０１の動作結果を取得する。図１において、動作結果としては、画像データ１１１が例に挙げられる。画像データ１１１は、実機１０１が有する表示装置の表示結果となる画面の画像データである。画像データ１１１のデータ形式については、期待値データ１１２と同様に、ビットマップ形式、ＪＰＥＧ形式など特に限定しない。
【００２１】
情報処理装置１００は、第１構成情報１２１に基づいて、画面に含まれる複数の部品を、複数の部品の各々の部品の位置及び／又は大きさに基づいてグループ化する。ここで、画面には、Ｘ軸方向とＹ軸方向が定義される。部品の位置とは、例えば、部品の重心の位置であってもよいし、部品の端の位置であってもよいし、特に限定しない。部品の大きさとは、部品の幅や部品の高さである。ここで、第１構成情報１２１には、少なくとも部品の位置を示す位置情報や部品の大きさを示す大きさ情報が含まれる。部品の位置を示す位置情報は、例えば、Ｘ座標値やＹ座標値などによって表されればよい。部品の大きさを示す大きさ情報は、例えば、所定の単位などによって表されればよい。
【００２２】
部品の位置に基づいてグループ化する処理として、情報処理装置１００は、例えば、行や列が同じ部品同士を同一のグループとする。部品の大きさに基づいてグループ化する処理として、情報処理装置１００は、例えば、同じ大きさの部品同士を同一のグループとする。
【００２３】
具体的には、情報処理装置１００は、例えば、同一の行にある部品同士を１つのグループとなるようにグループ化する。また、情報処理装置１００は、例えば、同一の行であり、かつ同一の大きさである部品同士を１つのグループとなるようにグループ化する。
【００２４】
また、情報処理装置１００は、例えば、同一の列にある部品同士を１つのグループとなるようにグループ化する。また、情報処理装置１００は、同一の列であり、かつ同一の大きさである部品同士を１つのグループとなるようにグループ化する。また、情報処理装置１００は、同一の列又は同一の行であり、かつ連続する位置に配置された部品同士を１つのグループとなるようにグループ化する。また、後述する図９〜図１７に示すように情報処理装置１００は、画面に含まれる複数の部品をグループ化してもよい。
【００２５】
図１において、情報処理装置１００は、例えば、同一の列であり、かつ同一の大きさである部品同士を１つのグループにする。これにより、図１において、画面に含まれる複数の部品は、グループＧ１とグループＧ２とにグループ化される。
【００２６】
情報処理装置１００は、画面に含まれる複数の部品の各々の部品について、期待値データ１１２における部品に表示された各文字と、画像データ１１１における部品に表示された各文字とが一致するか否かを判定する。なお、情報処理装置１００は、期待値データ１１２と画像データ１１１とのそれぞれから、部品単位でＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）などによって文字を抽出することにより文字の一致判定を行う。ここで、期待値データ１１２における部品に表示される文字が正しいこととする。このため、情報処理装置１００は、画像データ１１１において、文字の欠落がある部品を特定することができる。
【００２７】
図１において、情報処理装置１００は、グループＧ２に含まれるある部品について、画像データ１１１における部品に表示される文字と、期待値データ１１２における部品に表示される文字と、が一致しないと判定する。各文字が一致しないと判定された部品は、表示される文字に欠落がある。
【００２８】
情報処理装置１００は、グループＧ２に含まれる文字が一致しないと判定した部品に表示される文字が、期待値データ１１２における部品に表示される文字と同じになるように、部品の表示態様がグループＧ２単位で変更された画面の構成を示す第２構成情報１２２を生成する。第２構成情報１２２は、変更された画面の構成を示す画面構成情報であり、補正後の画面構成情報である。
【００２９】
具体的には、情報処理装置１００は、例えば、第１構成情報１２１に基づいて、グループＧ２に含まれる部品の大きさや部品の位置、部品に表示される文字の大きさなどの表示態様を変更する。図１において、情報処理装置１００は、例えば、グループＧ２に含まれる部品の大きさを１文字分入るように広げる。
【００３０】
第２構成情報１２２に応じた実機１０１の動作結果として画像データ１１３が示す画像では、文字の欠落がある部品が修正され、この文字の欠落があった部品と同じ列の部品とのそれぞれの大きさが同じように広げられている。このように、図１において、情報処理装置１００は、文字の欠落を修正しつつ、かつ部品の大きさに統一感を出させることができる。
【００３１】
（情報処理装置１００のハードウェア構成例）
図２は、情報処理装置１００のハードウェア構成例を示す説明図である。情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、ディスクドライブ２０４と、ディスク２０５と、を有する。情報処理装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）２０６と、キーボード２０７と、マウス２０８と、ディスプレイ２０９と、を有する。また、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ディスクドライブ２０４と、Ｉ／Ｆ２０６と、キーボード２０７と、マウス２０８と、ディスプレイ２０９とは、バス２００によってそれぞれ接続される。
【００３２】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがってディスク２０５に対するデータのリード／ライトを制御する。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する。ディスク２０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３３】
Ｉ／Ｆ２０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１０に接続され、このネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０６は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３４】
キーボード２０７やマウス２０８は、利用者の操作により、各種データの入力を受け付けるインターフェースである。ディスプレイ２０９は、ＣＰＵ２０１の指示により、データを出力するインターフェースである。
【００３５】
また、図示を省略するが、情報処理装置１００には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置１００には、プリンタなどの出力装置が設けられていてもよい。情報処理装置１００は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などを有することにしてもよい。
【００３６】
また、本実施の形態では、情報処理装置１００のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置１００がサーバである場合、情報処理装置１００と、利用者が操作可能な装置やディスプレイ２０９などと、がネットワーク２１０を介して接続されてもよい。
【００３７】
（実機１０１のハードウェア構成例）
図３は、実機１０１のハードウェア構成例を示すブロック図である。図３において、実機１０１は、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、ディスク３０５と、Ｉ／Ｆ３０６と、ディスプレイ３０７と、入力装置３０８とを有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、ディスプレイ３０７と、入力装置３０８とは、バス３００によってそれぞれ接続される。
【００３８】
ここで、ＣＰＵ３０１は、実機１０１の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３９】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４０】
Ｉ／Ｆ３０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置（例えば、情報処理装置１００）に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク２１０と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。
【００４１】
ディスプレイ３０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ３０７として、例えば、液晶ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などを採用することができる。
【００４２】
入力装置３０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置３０８は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。なお、実機１０１は、上述した構成部のうち、例えば、ディスクドライブ３０４及びディスク３０５を有していなくてもよい。実機１０１は、上述した構成部のほかに、例えば、ＳＳＤなどを有することにしてもよい。
【００４３】
（画面構成情報の記憶内容例）
次に、図４を用いて、情報処理装置１００が有する画面構成情報の記憶内容について説明する。図４は、画面構成情報の記憶内容の一例を示す説明図である。図１において、画面構成情報４００として、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データフォーマットのリソースファイルを例に挙げている。画面構成情報４００には、画面枠定義、画面に含まれる部品の部品定義などが記述される。画面枠定義としては、例えば、画面の幅や高さなどが定義される。部品定義としては、例えば、画面上の部品の位置、幅や高さなどの大きさ、部品に表示される文字の大きさ、部品に表示される文字列、アライメントなどを示す情報が記述される。
【００４４】
画面構成情報４００は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、及びディスク２０５などの記憶装置により実現される。なお、画面構成情報４００のデータフォーマットについては、アプリケーションソフトウェアに応じて定まればよく、特に限定しない。
【００４５】
（全体の処理手順例）
次に、図５を用いて、実機１０１と情報処理装置１００とが行う全体の処理手順を示す。図５は、実機１０１と情報処理装置１００とが行う全体の処理手順例を示すフローチャートである。情報処理装置１００は、例えば、利用者の操作によって画面構成情報４００を作成する（ステップＳ５０１）。
【００４６】
情報処理装置１００は、例えば、操作ログによりシミュレータやエミュレータなどを用いた実機１０１の仮想環境で、画面構成情報４００を参照するアプリケーションソフトウェアを実行させる（ステップＳ５０２）。操作ログには、例えば、所定の入出力操作に関する操作が操作順に記述されてある。また、操作ログには、例えば、様々な表示の結果が得られるように操作順が記述されてある。画面構成情報４００に応じた仮想環境の動作結果に問題があれば、画面構成情報４００は修正される。例えば、仮想環境における画面に含まれる部品に表示される文字に欠落がある場合などである。ここで画面構成情報４００に応じた仮想環境の動作結果に問題がなければ、ステップＳ５０２において、仮想環境の動作結果のうち仮想環境における画面の画像データを期待値データとして格納する。
【００４７】
次に、情報処理装置１００は、画面構成情報４００を参照するアプリケーションソフトウェアのプログラムコードに対して、クロスコンパイルを行う（ステップＳ５０３）。そして、情報処理装置１００は、クロスコンパイルによって得られた実行ファイルを実機１０１に与える。
【００４８】
次に、実機１０１は、操作ログに基づいて、実行ファイルを実行させる（ステップＳ５１１）。ステップＳ５１１において、実機１０１は、実機１０１の動作結果のうち、画面の画像データを情報処理装置１００に出力する。なお、利用者の手作業によって、実機１０１から画面の画像データが抽出され、抽出した画像データが情報処理装置１００に入力されてもよい。
【００４９】
そして、情報処理装置１００は、画面の各々について、部品別に、実機１０１から得た画像データと、期待値データと、の文字の一致検証する（ステップＳ５０４）。ステップＳ５０４において、情報処理装置１００は、文字の一致を検証することにより実機１０１から得た画像データに文字が欠落した部品を抽出する。このため、ステップＳ５０４において、情報処理装置１００は、例えば、部品別に、実機１０１から得た画像データに含まれる文字や文字列と、期待値データに含まれる文字や文字列とが一致するか否かを判定する。一致していない部品は、不良箇所とも称する。
【００５０】
次に、情報処理装置１００は、画面構成情報４００において、一致検証によって不良箇所と判定された部品をグループ単位で補正し（ステップＳ５０５）、一連の処理を終了する。ステップＳ５０５における補正方法としては、例えば、部品の大きさの変更、部品の位置の変更、部品に表示される文字の大きさの変更などが挙げられる。なお、ステップＳ５０４やステップＳ５０５など情報処理装置１００が行う詳細な処理手順については、後述する。
【００５１】
（期待値データと画像データとの取得例）
次に、期待値データと画像データとの取得例について説明する。図６は、期待値データと画像データとの取得例を示す説明図である。図７は、対応付け情報例を示す説明図である。情報処理装置１００は、例えば、画面構成情報４００の各々について、操作ログ６００に記述された各操作に対する仮想環境で、画面構成情報４００に応じたアプリケーションソフトウェアの実行によって得られる画面の画像データを期待値データとして取得する。これにより、同一の画面について、様々な期待値データが得られる。
【００５２】
操作ログ６００は、網羅的な画面表示が行われるような操作が記述される。例えば、アプリケーションソフトウェアが、所定の演算を行うような処理を行う場合、所定の演算の演算結果が最小値や最大値など様々な演算結果となるように操作ログ６００が作成される。より具体的には、２つの入力値の掛け算を行うアプリケーションソフトウェアの場合、２つの入力値としてそのアプリケーションソフトウェアが演算可能な最大値や最小値などを入力させるように、様々な入力値を入力させるような操作ログ６００が作成される。
【００５３】
また、実機１０１は、例えば、画面構成情報４００の各々について、操作ログ６００に記述された各操作に対するアプリケーションソフトウェアによって得られる画面の画像データ６２１，６３１を取得する。これにより、同一の画面について、様々な画像データが得られる。
【００５４】
ここで、アプリケーションソフトウェアに対して異なる複数の画面が用意されていてもよい。すなわち、図６に示すように、アプリケーションソフトウェアに対して複数の画面構成情報が用意されていてもよい。複数の画面があるのは、例えば、ログイン画面、検索結果の表示画面、演算結果の表示画面、演算の入力画面などのようにアプリケーションソフトウェアの実行状態に応じてディスプレイ３０７に表示される画面が異なるためである。図６の例では、画面構成情報４００−１と、画面構成情報４００−２とがある。画面構成情報４００−１は、アプリケーションソフトウェアの実行によって実機１０１が有するディスプレイ３０７に表示される第１画面の構成を示す。画面構成情報４００−２は、アプリケーションソフトウェアの実行によって実機１０１が有するディスプレイ３０７に表示される第２画面の構成を示す。第１画面と第２画面とは、異なる画面である。第１画面と第２画面とは後述する説明で用いる。画面構成情報４００−１について、仮想環境から得られる期待値データとして、例えば期待値データ６０１−１から期待値データ６０１−３が得られる。また、画面構成情報４００−１について、実機１０１から得られる画像データとして、例えば画像データ６２１−１から画像データ６２１−３が得られる。また、画面構成情報４００−２について、仮想環境から得られる期待値データとして、例えば期待値データ６１１−１から期待値データ６１１−３が得られる。また、画面構成情報４００−２について、実機１０１から得られる画像データとして、画像データ６３１−１から画像データ６３１−３が得られる。
【００５５】
例えば、画面構成情報４００−１について、期待値データ６０１−１と画像データ６２１−１とが同じ操作についての画面の画像データである。図７に示すように、画面構成情報４００−１と期待値データ６０１−１と画像データ６２１−１とを対応付けた対応付け情報７００は、例えば、期待値データ６０１−１に含まれていてもよい。これにより、期待値データ６０１に含まれる対応付け情報を参照すれば、いずれの画面構成情報４００−１に関する期待値データ６０１であるかが特定可能であり、期待値データ６０１の一致検証における比較対象である画像データが特定可能である。期待値データ６０１や画像データ６２１については、例えば、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などに記憶される。
【００５６】
なお、対応付け情報７００には、例えば、期待値データ６０１−１を識別する識別子と、画面構成情報４００−１を識別する識別子と、画像データ６２１−１を識別する識別子とが対応付けられて記憶される。なお、これらの識別子としては、ファイルの名称であってもよいし、ファイルの在り処であってもよく、特に限定しない。
【００５７】
画面構成情報４００−１と、画面構成情報４００−２とは、理解の容易化のために、別々のファイルとしているが、１つのファイルであってもよい。また、図示省略するが、画面構成情報４００−２についても、画面構成情報４００−１と同様に、対応付け情報７００などが作成される。
【００５８】
（情報処理装置１００と実機１０１の機能的構成例）
図８は、情報処理装置１００と実機１０１の機能的構成例を示すブロック図である。情報処理装置１００は、第１取得部８０１と、第２取得部８０２と、一致検証部８０３と、補正部８０４と、を有する。第１取得部８０１から補正部８０４までの制御部の処理は、例えば、図２に示すＣＰＵ２０１がアクセス可能なＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ２０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などの記憶装置に記憶される。
【００５９】
また、実機１０１は、実行部８２１を有する。実行部８２１の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、実行部８２１の処理が実現される。また、実行部８２１の処理結果は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。
【００６０】
実行部８２１は、操作ログ６００に応じて画面構成情報４００を実行する。より具体的には、実行部８２１は、画面構成情報４００を参照するアプリケーションソフトウェアのプログラムコードがクロスコンパイルされることにより得られる実行ファイルを操作ログ６００に応じて実行する。ここで、実行部８２１は、実機１０１のフレームバッファから画面の画像データ６２１を取得し、取得した画像データ６２１をＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶させてもよい。
【００６１】
第１取得部８０１は、期待値データ６０１を取得する。具体的には、第１取得部８０１は、例えば、画面構成情報４００に基づくシミュレータ又はエミュレータを用いた仮想環境の動作による画面の画像データを期待値データ６０１として取得する。
【００６２】
第２取得部８０２は、画像データ６２１を取得する。具体的には、第２取得部８０２は、例えば、実機１０１によって操作ログ６００に応じて画面構成情報４００を実行させた場合の実機１０１のフレームバッファに格納された画面の画像データ６２１を取得する。
【００６３】
一致検証部８０３は、画面に含まれる複数の部品の各々について、期待値データ６０１における部品に表示される各文字と、画像データ６２１における部品に表示される各文字とが一致するか否かを判定する。
【００６４】
具体的には、一致検証部８０３は、例えば、ディスク２０５などの記憶装置から画面構成情報４００を読み込む。一致検証部８０３は、画面構成情報４００に含まれる部品の定義を抽出する。部品の定義とは、例えば、ラベル、テキストボックスなどの定義である。そして、一致検証部８０３は、部品の属性を抽出する。
【００６５】
次に、一致検証部８０３は、抽出した部品別に、第２取得部８０２によって取得された画像データ６２１に含まれる部品の文字と、第１取得部８０１によって取得された期待値データ６０１に含まれる部品の文字とが一致するか否かを判定する。ここでの判定処理の詳細な処理としては２つの方法が挙げられる。１つ目の方法として、一致検証部８０３は、例えば、部品別に、画像データ６２１からＯＣＲによって文字列を抽出する。そして、一致検証部８０３は、例えば、部品別に、期待値データ６０１からＯＣＲによって文字列を抽出する。そして、一致検証部８０３は、部品別に、画像データ６２１から抽出した文字列と、期待値データ６０１から抽出した文字列と、が一致するか否かを判定する。また、２つ目の方法として、一致検証部８０３は、部品別に、画像データ６２１が示す画像と、期待値データ６０１が示す画像と、の一致を判定する。
【００６６】
これにより、一致検証部８０３は、例えば、画面における文字が欠落した部品を特定することができる。ここで、文字が欠落した部品は、不良箇所とも称する。なお、一致検証部８０３は、不一致を検出した場合、画面構成情報４００単位で不良箇所を記憶する。図６に示すように、期待値データ６０１と画像データ６２１との一致判定によって不良箇所が特定された場合、一致検証部８０３は、その不良箇所に関する情報を、画面構成情報４００に関連付けてディスク２０５などの記憶装置に記憶させる。
【００６７】
次に、補正部８０４は、画面構成情報４００に基づいて、画面に含まれる複数の部品を、複数の部品の各々の部品の位置及び／又は大きさに基づいてグループ化する。
【００６８】
そして、補正部８０４は、各々のグループにおいて、期待値データ６０１における各々のグループに含まれる部品に表示される各文字と、画像データ６２１における各々のグループに含まれる部品に表示される各文字とが異なる場合に、第２構成情報を生成する。ここで、第２構成情報は、補正後の画面構成情報８２０である。第２構成情報は、画像データ６２１におけるグループに含まれる部品に表示される各文字が、期待値データ６０１におけるグループに含まれる部品に表示される各文字と同じになるように部品の表示態様がグループ単位で変更された画面の構成を示す。
【００６９】
具体的には、補正部８０４は、例えば、特徴抽出部８１１と、データ補正部８１２と、を有する。特徴抽出部８１１は、例えば、画面に含まれる複数の部品を、複数の部品の各々の部品の位置及び／又は大きさに基づいてグループ化する。データ補正部８１２は、一致していない部品を含むグループについて、文字の欠落がある部品を含むグループ単位で、文字の欠落を直すように、部品の表示態様を変更した画面の構成を示す画面構成情報８２０を生成する。
【００７０】
まず、特徴抽出部８１１による処理について説明し、データ補正部８１２による処理について説明する。特徴抽出部８１１によるグループ化のより詳細な処理について、図９〜図１８を用いて説明する。
【００７１】
図９は、画面の枠及び画面に含まれる部品の枠例を示す説明図である。画面９００に、部品ｐ１から部品ｐ１１が含まれる。図９には、部品ｐ１から部品ｐ１１の枠を示す。部品ｐ１から部品ｐ１１が具体的にどのような種類の部品であるかは特に限定しない。また、画面の枠には、例えば、予めＸ軸方向とＹ軸方向とが定められてある。図９において、横方向がＸ軸方向であり、縦方向がＹ軸方向である。なお、画面の枠や部品の枠については、画面構成情報４００から特定可能である。
【００７２】
特徴抽出部８１１は、例えば、画面に含まれる複数の部品から順に部品を検索対象部品として選択する。次に、図１０〜図１３を用いて、グループ化の処理の一部である関係部品を検索する処理について説明する。
【００７３】
図１０は、部品ｐ１に対するＹ軸方向の関係部品の検索例を示す説明図である。図１０において、特徴抽出部８１１は、部品ｐ１を検索対象部品として選択する。次に、特徴抽出部８１１は、部品ｐ１の枠の中心を通過するＹ軸方向に平行な線と、部品ｐ１の枠のＹ軸方向における各端点を通過するＹ軸方向に平行な線と、に基づいて、部品ｐ１とＸ軸方向についての位置及び大きさが同一の部品を特定する。なお、端点について閾値を設け、端点から閾値以内であれば、Ｘ軸方向についての位置及び大きさが同じであると判定される。
【００７４】
図１０において、特徴抽出部８１１は、部品ｐ２と部品ｐ４と部品ｐ５とを、部品ｐ１とＸ軸方向の位置及び大きさが同じである部品ｐ１の関係部品として抽出する。なお、部品ｐ３は、端点が一致しないため、部品ｐ１の関係部品として抽出されない。
【００７５】
図１１は、部品ｐ６に対するＹ軸方向の関係部品の検索例を示す説明図である。図１１において、特徴抽出部８１１は、部品ｐ６を検索対象部品として選択する。次に、特徴抽出部８１１は、部品ｐ６の枠の中心を通過するＹ軸方向に平行な線と、部品ｐ６の枠のＹ軸方向における各端点を通過するＹ軸方向に平行な線と、に基づいて、部品ｐ６とＸ軸方向についての位置及び大きさが同一の部品を特定する。
【００７６】
特徴抽出部８１１は、部品ｐ６とＸ軸方向についての位置及び大きさが同じである部品ｐ６の関係部品として、部品ｐ７を抽出する。なお、部品ｐ３と部品ｐ８と部品ｐ９とが検索されるが、部品ｐ６の端点を通過する線とこれらの部品の端とが一致しないため、部品ｐ６の関係部品として抽出されない。換言すると、部品ｐ３と部品ｐ８と部品ｐ９の大きさ及び位置は部品ｐ６の大きさ及び位置と異なる。
【００７７】
図１０及び図１１に示すように、特徴抽出部８１１は、部品ｐ３から部品ｐ１１について順に検索対象部品として選択して、図１０及び図１１に示すように、各部品とＸ軸方向についての位置及び大きさが同じである関係部品を抽出する。
【００７８】
図１２は、部品ｐ１に対するＸ軸方向の関係部品の検索例を示す説明図である。図１２において、特徴抽出部８１１は、部品ｐ１を検索対象部品として選択する。次に、特徴抽出部８１１は、部品ｐ１の枠の中心を通過するＸ軸方向に平行な線と、部品ｐ１の枠のＸ軸方向における各端点を通過するＸ軸方向に平行な線と、に基づいて、部品ｐ１とＹ軸方向についての位置及び大きさが同一の部品を特定する。なお、端点について閾値を設け、端点から閾値以内であれば、Ｙ軸方向についての位置及び大きさが同じであると判定される。
【００７９】
図１２において、特徴抽出部８１１は、部品ｐ６と部品ｐ１０とを、部品ｐ１とＹ軸方向の位置及び大きさが同じである関係部品として抽出する。
【００８０】
図１３は、部品ｐ２に対するＹ軸方向の関係部品の検索例を示す説明図である。図１３において、特徴抽出部８１１は、部品ｐ２を検索対象部品として選択する。次に、特徴抽出部８１１は、部品ｐ２の枠の中心を通過するＸ軸方向に平行な線と、Ｘ軸方向における部品ｐ２の枠の各端点を通過するＸ軸方向に平行な線と、に基づいて、部品ｐ２とＹ軸方向についての位置及び大きさが同一の部品を特定する。
【００８１】
図１３において、特徴抽出部８１１は、部品ｐ７を、部品ｐ２とＹ軸方向の位置及び大きさが同じである関係部品として抽出する。なお、部品ｐ１１は、端点が一致しないため、部品ｐ２の関係部品として抽出されない。
【００８２】
図１２及び図１３に示すように、特徴抽出部８１１は、部品ｐ３から部品ｐ１１について順に検索対象部品として選択して、図１２及び図１３に示すように、各部品とＹ軸方向についての位置及び大きさが同じである関係部品を抽出する。
【００８３】
次に、特徴抽出部８１１は、例えば、部品ごとに特定した関係部品に基づいて、部品関連グラフを作成する。部品関連グラフを作成する処理として、特徴抽出部８１１は、各部品に対応するノードを作成する。特徴抽出部８１１は、部品をノード化することにより部品に対応するノードを作成する。なお、部品に対応するノードを省略して、ノードと称し、部品に関係する関係部品に対応するノードを関係ノードと称する。
【００８４】
ノードと、そのノードについて抽出した関係ノードとの間を辺で繋ぐ部品関連グラフを作成する。そして、特徴抽出部８１１は、部品関連グラフに基づいて、複数の部品を、位置及び大きさに関連のある部品同士が同一のグループとなるようにグループ化する。
【００８５】
具体的には、特徴抽出部８１１は、部品関連グラフに含まれるノードのうちのいずれかのノードに着目し、そのノードと関連のある子ノード同士に関係がある場合、そのノードと子ノードとを一つのグループに分類する。また、特徴抽出部８１１は、子ノードのグループ化が成立した場合に、いずれかの子ノードがすでに別のグループに含まれている場合、グループ同士を１つのグループにする。これにより、部品に対応するノードがグループ化される。そして、ノードのグループ化結果は、部品のグループ化結果として扱うことができる。
【００８６】
ここで、図１４を用いて、部品関連グラフ例を説明する。また、図１５〜図１８を用いて、部品関連グラフに基づくグループ化例について説明する。
【００８７】
図１４は、部品関連グラフの一例を示す説明図である。理解の容易化のために、図１４には、部品関連グラフに含まれる各ノードを、そのノードに対応する部品の重心に設けた例を示す。
【００８８】
図１５は、部品ｐ１についてのグループ化例を示す説明図である。図１５において、特徴抽出部８１１は、部品ｐ１に対応するノードに着目する。特徴抽出部８１１は、部品ｐ１に対応するノードの子ノードとして、部品ｐ６に対応するノードと部品ｐ２に対応するノードを特定する。
【００８９】
そして、特徴抽出部８１１は、部品ｐ６に対応するノードと、部品ｐ２に対応するノードと、のそれぞれの子ノードを特定する。特徴抽出部８１１は、部品ｐ６に対応するノードと、部品ｐ２に対応するノードとのそれぞれの子ノードに部品ｐ７に対応するノードがいるため、部品ｐ６に対応するノードと、部品ｐ２に対応するノードとが関連すると判定する。
【００９０】
このため、特徴抽出部８１１は、部品ｐ１に対応するノードと、部品ｐ２に対応するノードと、部品ｐ６に対応するノードと、を同一のグループとする。すなわち、特徴抽出部８１１は、部品ｐ１と部品ｐ２と部品ｐ６とを同一のグループとすることができる。
【００９１】
図１６は、部品ｐ２についてのグループ化例を示す説明図である。図１６において、特徴抽出部８１１は、部品ｐ２に対応するノードに着目する。特徴抽出部８１１は、部品ｐ２に対応するノードの子ノードとして、部品ｐ１に対応するノードと部品ｐ７に対応するノードと部品ｐ４に対応するノードとを特定する。
【００９２】
そして、特徴抽出部８１１は、部品ｐ１に対応するノードと、部品ｐ７に対応するノードと、部品ｐ４に対応するノードと、のそれぞれの子ノードを特定する。特徴抽出部８１１は、部品ｐ１に対応するノードと、部品ｐ７に対応するノードとのそれぞれの子ノードに部品ｐ６に対応するノードがいるため、部品ｐ１に対応するノードと、部品ｐ７に対応するノードとが関連すると判定する。一方、特徴抽出部８１１は、部品ｐ４に対応するノードに、部品ｐ１及び部品ｐ７に対応するノードと同じ子ノードがいないため、部品ｐ４に対応するノードが部品ｐ１及び部品ｐ７に対応するノードと関連しないと判定する。
【００９３】
このため、特徴抽出部８１１は、部品ｐ２に対応するノードと、部品ｐ１に対応するノードと、部品ｐ７に対応するノードと、を同一のグループとする。すなわち、特徴抽出部８１１は、部品ｐ１と部品ｐ２と部品ｐ７とを同一のグループとすることができる。
【００９４】
ここで、部品ｐ２に対応するノードと部品ｐ１に対応するノードとは、図１５に示すグループ化におけるグループに含まれている。このため、特徴抽出部８１１は、例えば、図１５に示すグループ化におけるグループと、図１６に示すグループ化におけるグループとを１つのグループに結合する。すなわち、特徴抽出部８１１は、部品ｐ１と部品ｐ２と部品ｐ６と部品ｐ７とを同一のグループとすることができる。
【００９５】
図１７は、グループ化結果例を示す説明図である。図１７において、２つのグループが抽出される。グループＧ１は、部品ｐ１と部品ｐ２と部品ｐ６と部品ｐ７を含む。グループＧ２は、部品ｐ４と部品ｐ５と部品ｐ８と部品ｐ９を含む。
【００９６】
図１８は、他の画面におけるグループ化によるグループ例を示す説明図である。図１８には、図９に示す画面９００よりも多くの部品を含む画面１８００におけるグループ化例を示す。画面１８００に含まれる部品に対応するノードは７つのグループに分類される。
【００９７】
図１８に示すように、位置が近く、かつＸ軸方向又はＹ軸方向の少なくともいずれかにおいて大きさが同じ部品に対応するノード同士が同一のグループとなる。ここで、大きさが同じとは、例えば、ほぼ誤差を含む範囲で同じであることを示す。
【００９８】
次に、特徴抽出部８１１は、グループの各々について、特徴データを抽出する。特徴データは、例えば、部品の位置を補正する際に用いる各種スペーシング量を示す情報を含む。各種スペーシング量としては、例えば、以下の（１）〜（４）の４種類がある。なお、（１）〜（３）の各種スペーシング量については、図１９を用いて簡単に説明する。（１）のスペーシング量については、図２０を用いて簡単に説明する。
【００９９】
（１）グループ内の部品間のスペーシング量
（２）グループ内の部品とグループ外の近傍の部品とのスペーシング量
（３）グループ内の部品と画面の枠とのスペーシング量
（４）グループ内の部品ごとの表示文字のスペーシング量
【０１００】
図１９は、特徴データに含まれる各スペーシング量の一例を示す説明図である。特徴抽出部８１１は、例えば、スペーシング量として以下を抽出する。図１９において、理解の容易化のために、画面に含まれる部品は、グループＧ１〜Ｇ３の３つに分類される。そして、グループＧ１に含まれる部品を４つにして説明する。
【０１０１】
特徴抽出部８１１は、グループＧ１内の１列目と２列目における部品間のスペーシング量の最小値として、例えば、距離ｄ１１を抽出する。なお、図示省略するが、例えばグループＧ１内に３列目がある場合、特徴抽出部８１１は、グループＧ１内の２列目と３列目における部品間のスペーシング量の最小値なども抽出する。
【０１０２】
特徴抽出部８１１は、例えば、グループＧ１内の１行目と２行目における部品間のスペーシング量の最小値として、距離ｄ１２を抽出する。なお、図示省略するが、例えばグループＧ１内に３行目がある場合、特徴抽出部８１１は、グループＧ１内の２行目と３行目における部品間のスペーシング量の最小値なども抽出する。
【０１０３】
特徴抽出部８１１は、例えば、Ｙ軸のマイナス方向におけるグループＧ１と、他のグループ又は画面の枠とのスペーシング量の最小値として、距離ｄ２１を抽出する。特徴抽出部８１１は、例えば、Ｙ軸のプラス方向におけるグループＧ１と、他のグループ又は画面の枠とのスペーシング量の最小値として、距離ｄ３１を抽出する。
【０１０４】
特徴抽出部８１１は、例えば、Ｘ軸のプラス方向におけるグループＧ１と、他のグループ又は画面の枠とのスペーシング量の最小値として、距離ｄ２２を抽出する。特徴抽出部８１１は、例えば、Ｘ軸のマイナス方向におけるグループＧ１と、他のグループ又は画面の枠とのスペーシング量の最小値として、距離ｄ３２を抽出する。
【０１０５】
図２０は、部品ごとの表示文字のスペーシング量を示す説明図である。特徴抽出部８１１は、部品ごとに、複数の画像データ６２１の各々について、ビットマップ値に基づいて、各部品におけるスペーシング量を抽出する。図２０（１−１）から図２０（１−３）に示すように、部品ｐａについて、３つの画像データ６２１の各々におけるビットマップ値に基づいて、スペーシング量が抽出される。また、図２０（２−１）から図２０（２−３）に示すように、部品ｐｂについて、３つの画像データ６２１の各々におけるビットマップ値に基づいて、スペーシング量が抽出される。
【０１０６】
図２０（１−１）から図２０（１−３）に示すように、特徴抽出部８１１は、部品ｐａのＸ軸のプラス方向におけるスペーシング量として、ｄａ１１からｄａ１３を抽出する。部品ｐａでは、文字が右揃えになっているため、ｄａ１１からｄａ１３が同一値である。そして、特徴抽出部８１１は、部品ｐａのＸ軸のプラス方向における最小値のスペーシング量として、ｄａ１１を抽出する。
【０１０７】
図２０（１−１）から図２０（１−３）に示すように、特徴抽出部８１１は、部品ｐａのＸ軸のマイナス方向におけるスペーシング量として、ｄａ２２からｄａ２３を抽出する。図２０（１−１）に示すように、特徴抽出部８１１は、例えば、文字の欠落がある場合、スペーシング量として０を抽出する。特徴抽出部８１１は、部品ｐａのＸ軸のマイナス方向における最小値のスペーシング量として、０を抽出する。
【０１０８】
また、図２０（２−１）から図２０（２−３）に示すように、特徴抽出部８１１は、部品ｐｂのＸ軸のプラス方向におけるスペーシング量として、ｄｂ１１からｄｂ１３を抽出する。そして、特徴抽出部８１１は、部品ｐｂのＸ軸のプラス方向における最小値のスペーシング量として、ｄｂ１１を抽出する。
【０１０９】
図２０（２−１）から図２０（２−３）に示すように、特徴抽出部８１１は、部品ｐａのＸ軸のマイナス方向におけるスペーシング量として、ｄｂ２１からｄｂ２３を抽出する。部品ｐｂでは、文字が左揃えになっているため、ｄｂ２１からｄｂ２３が同一値である。特徴抽出部８１１は、部品ｐｂのＸ軸のマイナス方向における最小値のスペーシング量として、ｄｂ２１を抽出する。
【０１１０】
次に、データ補正部８１２は、例えば、一致していない部品を含むグループについて、文字の欠落がある部品を含むグループ単位で、文字の欠落を直すように、部品の表示態様を変更した画面の構成を示す画面構成情報８２０を生成する。また、グループ内における行や列は、それぞれグループにおける小グループとして、データ補正部８１２は、例えば、グループ内における行単位や列単位で補正してもよい。
【０１１１】
ここで、補正方法については、部品の大きさや部品の位置を変更する方法と、部品に表示される文字の大きさを変更する方法とがある。
【０１１２】
まず、部品の大きさや部品の位置を変更する方法について説明する。
【０１１３】
具体的には、データ補正部８１２は、例えば、各種スペーシング量の最小値に基づいて不良箇所における文字の欠落がなくなるように、部品の位置又は部品の大きさをグループ単位で補正する。
【０１１４】
より詳細に説明すると、データ補正部８１２は、不良箇所の部品の幅を広げることが可能な場合、不良箇所における文字の欠落がなくなるように部品の幅を広げる。この際、データ補正部８１２は、グループ単位、グループ内の行単位、グループ内の列単位で補正する。なお、データ補正部８１２は、広げることが可能か否かについて、上述した各種スペーシング量の最小値に基づいて判断することができる。
【０１１５】
また、不良箇所の部品の幅を広げることが可能でない場合がある。このような場合、例えば、大きく２つの方法によって、不良箇所の部品の幅を広げられることがある。１つ目の方法としては、グループ内の部品を調整することにより部品の大きさや部品の位置を変更する方法が挙げられる。２つの目の方法としては、グループ外の部品を調整することにより部品の大きさや部品の位置を変更する方法が挙げられる。
【０１１６】
まず、１つ目の方法について詳細に説明する。
【０１１７】
データ補正部８１２は、不良箇所についてグループ内の隣接する部品を移動可能であるか否かを判断する。データ補正部８１２は、グループ内の隣接する部品を移動可能であると判断した場合、隣接する部品を移動することにより不良箇所の部品の幅を広げるためのスペーシング量を確保する。次に、データ補正部８１２は、不良箇所における文字の欠落がなくなるように、部品の幅を行単位又は列単位で広げる。
【０１１８】
また、データ補正部８１２は、グループ内の部品の幅を小さくすることが可能であるか否かを判断する。そして、データ補正部８１２は、グループ内の他の部品の幅を小さくすることが可能である場合、グループ内の他の部品の幅を小さくして、不良箇所の部品の幅を広げるためのスペーシング量を確保する。次に、データ補正部８１２は、不良箇所における文字の欠落がなくなるように、部品の幅を行単位又は列単位で広げる。
【０１１９】
次に、２つ目の方法について詳細に説明する。
【０１２０】
データ補正部８１２は、不良箇所を含むグループに隣接する他のグループ内の部品もしくは他の部品の調整が可能か否かを判断する。他のグループ内の部品もしくは他の部品とは、不良箇所と同列又は同行である他のグループ内の部品やグループに属さない部品である。隣接する他のグループを隣接グループとも称する。また、隣接する他の部品を隣接部品とも称する。
【０１２１】
データ補正部８１２は、例えば、隣接グループもしくは隣接部品の仮移動によって、不良箇所の幅や位置を変更可能なスペーシング量が確保できるか否かを判断する。ここで、仮移動とは、例えば、位置を確定した画面構成情報４００として生成せずに、仮の画面構成情報４００を生成することである。
【０１２２】
例えば、隣接グループ内の部品もしくは隣接部品の仮移動によって不良箇所の幅や位置を変更可能なスペーシング量が確保できる場合、データ補正部８１２は、隣接グループ内の部品もしくは隣接部品を移動させる。そして、データ補正部８１２は、不良箇所の幅や位置を、不良箇所を含むグループ、不良箇所のグループ内の行又は列単位で補正する。
【０１２３】
また、例えば、不良箇所に隣接するグループもしくは部品の仮移動によって不良箇所の幅や位置を変更可能なスペーシング量が確保できない場合がある。このような場合、データ補正部８１２は、例えば、不良箇所に隣接するグループもしくは部品に隣接するグループもしくは部品の仮移動によって、不良箇所の幅や位置を変更可能なスペーシング量が確保できるか否かを判断する。確保できる場合、データ補正部８１２は、隣接グループ内の部品もしくは隣接部品、及び隣接グループ内の部品もしくは隣接部品に隣接する他のグループもしくは部品を移動させる。そして、データ補正部８１２は、不良箇所の幅や位置を、不良箇所を含むグループ、不良箇所のグループ内の行又は列単位で補正する。
【０１２４】
また、データ補正部８１２は、例えば、隣接グループ内の部品もしくは隣接部品の幅を小さくすることにより、不良箇所の幅や位置を変更可能なスペーシング量が確保できるか否かを判断する。データ補正部８１２は、隣接グループ内の部品もしくは隣接部品の幅を小さくすることができる場合、隣接グループ内の部品もしくは隣接部品の幅を小さくして、不良箇所の幅や位置を変更可能なスペーシング量を確保する。そして、データ補正部８１２は、不良箇所の幅や位置を変更する。
【０１２５】
次に、部品に表示される文字の大きさを変更する方法について説明する。
【０１２６】
データ補正部８１２は、例えば、不良箇所を含むグループ、不良箇所と同一の行、不良箇所と同一の列、又は画面全体で、文字の欠落がなくなるように、部品に表示される文字の大きさを変更する。なお、データ補正部８１２は、文字の欠落による欠落分のスペーシング量を予め記憶しておく。そして、データ補正部８１２は、文字の大きさの変更によってその欠落分のスペーシング量を満たすか否かに基づいて、文字の大きさを変更してもよい。
【０１２７】
また、部品の大きさや部品の位置を変更する方法と、部品に表示される文字の大きさを変更する方法と、に、予め優先度を設けていてもよい。データ補正部８１２は、優先度が高い変更方法から先に実施して、優先度が高い変更方法による補正ができない場合に、優先度が低い変更方法を実施してもよい。補正ができないとは、その補正により不良箇所についての文字の欠落を無くすことができないことを示す。
【０１２８】
なお、優先度については、利用者や情報処理装置１００の開発者によって定められ、特に限定しない。優先度の高さが、グループ内調整、文字の大きさ変更などの順番であるとする。データ補正部８１２は、例えば、グループ内の部品の移動によって不良箇所についての文字の欠落を無くすことができない場合、文字の大きさを変更する。
【０１２９】
また、データ補正部８１２は、例えば、各種補正方法の指定の入力を入力装置などを介して受け付けて、受け付けた補正方法によって補正してもよい。
【０１３０】
ここで、上述したように第１画面と第２画面とのようにアプリケーションソフトウェアの実行状態に応じてディスプレイ３０７に表示される画面が複数通りある場合に、第１画面と第２画面とで同じ補正を行う例について説明する。第１画面について、文字の欠落があり、補正されたとする。データ補正部８１２は、例えば、第１画面における不良箇所を含むグループと同一のグループが第１画面と異なる第２画面にある場合、第２画面についても修正してもよい。
【０１３１】
上述したように、画面構成情報４００−１により構成が定義された第１画面と、画面構成情報４００−２により構成が定義された第２画面とは、いずれもアプリケーションソフトウェアの実行によって実機１０１が有するディスプレイ３０７に表示される画面である。第１画面と第２画面が似ている場合、画面構成情報４００−１について部品をグループ化した各々のグループと、画面構成情報４００−２について部品をグループ化した各々の第２グループと、の間で、部品及び部品の表示態様が同じとなることがある。このため、データ補正部８１２は、例えば、画面構成情報４００−１について不良箇所を含むグループに含まれる部品及び部品の表示態様が同じである画面構成情報４００−２についての第２グループに含まれる部品の表示態様も補正する。
【０１３２】
具体的には、特徴抽出部８１１は、第２画面の構成を示す第３構成情報に基づいて、第２画面に含まれる複数の部品を、複数の部品の各々の部品の位置及び／又は大きさに基づいてグループ化する。第３構成情報は、例えば、上述した画面構成情報４００−２である。これにより、特徴抽出部８１１は、画面構成情報４００−２について１又は複数の第２グループを得る。
【０１３３】
そして、データ補正部８１２は、１又は複数の第２グループのうち、画面構成情報４００−１について不良箇所を含むグループに含まれる部品とその部品の大きさ及び位置が同じ部品を含む第２グループを特定する。ここで、特定する処理の前処理として、特徴抽出部８１１は、１又は複数の第２グループの各々について特徴データを抽出する。そして、特定する処理として、データ補正部８１２は、１又は複数の第２グループのうち、不良箇所を含むグループに含まれる部品とその部品の大きさ及び位置と特徴データとが同じである第２グループを特定してもよい。次に、データ補正部８１２は、特定した第２グループに含まれる部品の表示態様が、画面構成情報４００−１について不良箇所を含むグループに含まれる部品の表示態様への変更と同じように変更された第２画面の構成を示す第４構成情報を生成する。これにより、類似の画面が複数ある場合に、情報処理装置１００は、異なる画面を同じように補正することができ、異なる画面間において統一感を出させることができる。
【０１３４】
また、データ補正部８１２は、画面構成情報４００−１において、不良箇所を含むグループと類似のグループについて不良箇所を含むグループと同じ補正を行ってもよい。まず、データ補正部８１２は、類似のグループを特定する処理を行う。類似のグループを特定する処理として、データ補正部８１２は、１又は複数のグループのうち、不良箇所を含むグループに含まれる各部品と大きさが同じ部品を含み、かつ不良箇所を含むグループの所定の方向における部品数が同じグループを特定する。ここでは、所定の方向とは、例えば、Ｘ軸方向を例に挙げて説明するが、これに限らず、Ｙ軸方向などであってもよい。より詳細に説明すると、データ補正部８１２は、例えば、類似のグループとして、不良箇所を含むグループのＸ軸方向の部品数が同じであり、かつグループに含まれる各部品の大きさが同じであるグループを特定する。そして、データ補正部８１２は、類似のグループについて、不良箇所を含むグループと同じ補正を行う。データ補正部８１２は、例えば、この補正により新たな不良箇所が発生しなければ、画面構成情報４００−１について類似のグループの部分を修正する。これにより、情報処理装置１００は、画面の修正の漏れを抑制することができる。
【０１３５】
また、部品間の最小のスペーシング量を定義しておき、データ補正部８１２は、少なくとも最小のスペーシング量を満たすように補正する。これにより、隣接する部品同士が密着するのを抑制することができる。
【０１３６】
次に、図２１から図２６を用いて各種例について説明する。図２１から図２４には、グループ内のスペーシング量を用いて補正する例について説明する。また、図２５には、グループ内の部品とグループ外の近傍の部品とのスペーシング量又はグループ内の部品と画面の枠とのスペーシング量の最小値を用いて補正する例について説明する。図２６には、文字の大きさの変更及び類似のグループを補正する例について説明する。
【０１３７】
図２１は、グループ内において不良箇所と同列の幅を広げる修正例を示す説明図である。図２１において、部品ｐ６が不良箇所である。例えば、部品ｐ６において１文字が欠落する場合、データ補正部８１２は、部品ｐ６の文字の大きさと、１文字と、に基づいて、部品ｐ６の文字の欠落を無くすことが可能なスペーシング量を特定する。そして、データ補正部８１２は、特定したスペーシング量と、グループＧ１の部品ｐ６と同一列についてのグループ内の部品間のスペーシング量の最小値と、に基づいて、部品ｐ６と同一列にある部品ｐ７と部品ｐ６との幅を広げることが可能か否かを判断する。
【０１３８】
データ補正部８１２は、同一列の幅を広げることができると判断した場合、グループＧ１において同一列の部品ｐ７と部品ｐ６との幅を少なくとも特定したスペーシング量分広げる。
【０１３９】
図２２は、グループ内において不良箇所以外の部品を移動して不良箇所の幅を広げる修正例を示す説明図である。図２２において、部品ｐ６が不良箇所である。図２２において、理解の容易化のために、図２２の画面９００では、図９の画面９００に部品ｐ１２及び部品ｐ１３が追加されている。上述したように、データ補正部８１２は、部品ｐ６の文字の欠落を無くすことが可能なスペーシング量を特定する。
【０１４０】
図２２において、データ補正部８１２は、特定したスペーシング量と、グループＧ１の部品ｐ６と同一列についてのグループ内の部品間のスペーシング量の最小値と、に基づいて、部品ｐ６と同一列の幅を広げることが可能か否かを判断する。データ補正部８１２は、部品ｐ６と同一列にある部品ｐ７及び部品ｐ６の幅を特定したスペーシング量広げた場合に、部品ｐ６と部品ｐ１２とが重なってしまう。このため、データ補正部８１２は、部品ｐ７及び部品ｐ６の幅を広げられないと判断する。
【０１４１】
そして、データ補正部８１２は、部品ｐ７及び部品ｐ６の幅を広げられないと判断した場合、グループＧ１において、部品ｐ６に隣接する部品ｐ１２と、部品ｐ７に隣接する部品ｐ１３とを、特定したスペーシング量移動させることができるか否かを判断する。より具体的には、データ補正部８１２は、グループＧ１の部品ｐ１２及び部品ｐ１３の列についてのグループ内の部品間のスペーシング量の最小値に基づいて、少なくとも特定したスペーシング量移動させることができるか否かを判断する。
【０１４２】
図２２に示すように、データ補正部８１２は、部品ｐ１３及び部品ｐ１２を少なくとも特定したスペーシング量移動させることができると判断した場合、部品ｐ１２と部品ｐ１３とを少なくとも特定したスペーシング量分移動させる。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の幅を特定したスペーシング量広げる。
【０１４３】
図２３は、グループ内において不良箇所以外の部品の大きさを変更して不良箇所の幅を広げる修正例を示す説明図である。図２３において、部品ｐ６が不良箇所である。なお、理解の容易化のために、図２３の画面９００では、図９の画面９００に部品ｐ１２及び部品ｐ１３が追加されている。データ補正部８１２は、上述したように、部品ｐ６の文字の欠落を無くすことが可能なスペーシング量を特定する。
【０１４４】
データ補正部８１２は、部品ｐ６及び部品ｐ７の幅を特定したスペーシング量広げた場合、部品ｐ６と部品ｐ１２とが重なってしまうため、部品ｐ６及び部品ｐ７の幅を広げられないと判断する。
【０１４５】
そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の幅を広げられないと判断した場合、グループＧ１において、部品ｐ６に隣接する部品ｐ１２、及び部品ｐ７に隣接する部品ｐ１３の幅を、少なくとも特定したスペーシング量小さくできるか否かを判断する。より具体的には、データ補正部８１２は、部品ｐ１２及び部品ｐ１３についての表示文字のスペーシング量の最小値に基づいて、部品ｐ１２及び部品ｐ１３の幅を特定したスペーシング量小さくすることができるか否かを判断する。
【０１４６】
図２３において、データ補正部８１２は、部品ｐ１２及び部品ｐ１３の幅を小さくすることができると判断した場合、部品ｐ１２及び部品ｐ１３の幅を特定したスペーシング量分小さくする。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の幅を特定したスペーシング量広げる。
【０１４７】
図２４は、１つのグループに複数の不良箇所がある場合の修正例を示す説明図である。図２４において、部品ｐ６及び部品ｐ２が不良箇所である。図２４において、理解の容易化のために、図２４の画面９００では、図９の画面９００に部品ｐ１２及び部品ｐ１３が追加されている。上述したように、データ補正部８１２は、部品ｐ６の文字の欠落を無くすことが可能なスペーシング量を特定する。また、データ補正部８１２は、部品ｐ２の文字の欠落を無くすことが可能なスペーシング量を特定する。部品ｐ２についてのスペーシング量の特定方法は、部品ｐ６についてのスペーシング量の特定方法と同じであるため、詳細な説明を省略する。
【０１４８】
データ補正部８１２は、部品ｐ２とグループＧ１において同一列の部品ｐ１及び部品ｐ２の幅を、少なくとも特定したスペーシング量広げることが可能であれば、部品ｐ１及び部品ｐ２の幅を特定したスペーシング量広げる。なお、広げた後に、特徴抽出部８１１は、グループＧ１における各種スペーシング量の最小値を更新する。
【０１４９】
次に、データ補正部８１２は、部品ｐ１及び部品ｐ２の幅を広げた後に、部品ｐ６及び部品ｐ７に隣接する部品ｐ１２及び部品ｐ１３の幅を、特定したスペーシング量小さくすることができるか否かを判断する。具体的には、データ補正部８１２は、部品ｐ１２及び部品ｐ１３についての表示文字のスペーシング量に基づいて、特定したスペーシング量小さくすることができるか否かを判断する。
【０１５０】
データ補正部８１２は、例えば、小さくすることができる場合に、部品ｐ１２及び部品ｐ１３の幅を特定したスペーシング量小さくする。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の幅を特定したスペーシング量広げる。
【０１５１】
図２５Ａ及び図２５Ｂは、グループ外の部品の移動及び大きさの変更により不良箇所の幅を広げる修正例を示す説明図である。図２５Ａにおいて、部品ｐ６が不良箇所である。図２５Ａの画面９００では、図９の画面９００に部品ｐ１２及び部品ｐ１３が追加されている。上述したように、データ補正部８１２は、部品ｐ６の文字の欠落を無くすことが可能なスペーシング量を特定する。
【０１５２】
データ補正部８１２は、部品ｐ６及び部品ｐ７に隣接する部品ｐ１２及び部品ｐ１３と、部品ｐ６及び部品ｐ７とのスペーシング量の最小値が、特定したスペーシング量よりも小さいため、部品ｐ６及び部品ｐ７の幅を広げることができない。また、データ補正部８１２は、部品ｐ１２及び部品ｐ１３の幅を特定したスペーシング量小さくすることができない。
【０１５３】
また、データ補正部８１２は、部品ｐ１２及び部品ｐ１３に隣接する部品ｐ１及び部品ｐ２の列と、部品ｐ１２及び部品ｐ１３の列と、の間のスペーシング量の最小値が、特定したスペーシング量よりも小さい。このため、データ補正部８１２は、部品ｐ１２及び部品ｐ１３の位置を移動させることができない。
【０１５４】
そこで、データ補正部８１２は、部品ｐ６を含むグループに隣接するグループ内の部品や隣接する部品について補正を行う。図２５Ｂ（１）〜図２５Ｂ（４）に補正例を示すが、いずれの補正であってもよいし、特に限定しない。
【０１５５】
まず、図２５Ｂ（１）について説明する。データ補正部８１２は、例えば、部品ｐ６を含むグループの隣接部品である部品ｐ１１について表示文字のスペーシング量に基づいて、部品ｐ１１の大きさを、特定したスペーシング量小さくできるか否か判断する。データ補正部８１２は、例えば、部品ｐ１１の大きさを小さくできると判断した場合、部品ｐ１１の大きさを小さくする。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の大きさを、部品ｐ１１の方向に、特定したスペーシング量大きくする。
【０１５６】
次に、図２５Ｂ（２）について説明する。データ補正部８１２は、例えば、部品ｐ６を含むグループの隣接部品である部品ｐ１１と画面の枠とのスペーシング量の最小値に基づいて、部品ｐ１１を移動可能であるか否かを判断する。データ補正部８１２は、例えば、部品ｐ１１を移動可能であると判断した場合、部品ｐ１１の位置を部品ｐ６と反対方向である画面の枠側に移動させる。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の大きさを、部品ｐ１１の方向に、特定したスペーシング量大きくする。
【０１５７】
また、図２５Ｂ（３）及び図２５Ｂ（４）に示すように、部品ｐ１０と部品ｐ１１とが同じグループＧ３の場合を例に挙げて説明する。
【０１５８】
図２５Ｂ（３）について説明する。データ補正部８１２は、例えば、部品ｐ６を含むグループＧ１の隣接グループＧ３内の各部品についての表示文字のスペーシング量に基づいて、隣接グループＧ３内の各部品の大きさを、特定したスペーシング量小さくすることができるか否かを判断する。データ補正部８１２は、例えば、隣接グループＧ３内の各部品の大きさを小さくすることができると判断した場合、隣接グループＧ３内の各部品の大きさを特定したスペーシング量小さくする。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の大きさを、グループＧ３側に特定したスペーシング量大きくする。
【０１５９】
また、図２５Ｂ（４）について説明する。データ補正部８１２は、例えば、部品ｐ６を含むグループＧ１の隣接グループＧ３内の部品と画面の枠とのスペーシング量の最小値とに基づいて、隣接グループＧ３内の各部品を、画面の枠側に特定したスペーシング量移動させることができるか否かを判断する。データ補正部８１２は、例えば、移動させることができると判断した場合、部品ｐ６を含むグループＧ１の隣接グループＧ３内の部品を画面の枠側に特定したスペーシング量移動させる。そして、データ補正部８１２は、部品ｐ６及び部品ｐ７の大きさをグループＧ３側に特定したスペーシング量大きくする。
【０１６０】
図２６は、不良箇所を含むグループと類似のグループとの修正例を示す説明図である。図２６において、グループＧ１には、不良箇所が含まれる。グループＧ１と、グループＧ２とは、Ｘ軸方向のノード数が４つであり、かつグループに含まれる各部品の行の大きさ及び列の大きさが同じである。このため、データ補正部８１２は、例えば、不良箇所を含むグループＧ１と類似のグループとして、グループＧ２を特定する。
【０１６１】
図２６（１）に示すように、データ補正部８１２は、例えば、グループＧ１において文字の欠落がある部品の列と、その列と同じグループＧ２における列との大きさを広げる。
【０１６２】
また、図２６（２）に示すように、データ補正部８１２は、例えば、グループＧ１及びグループＧ２と、のそれぞれの部品に表示される文字の大きさを小さくする。画面全体の文字の大きさが小さくなる。これにより、画面全体で文字の大きさに統一感がある。
【０１６３】
また、図２６（３）に示すように、データ補正部８１２は、例えば、グループＧ１及びグループＧ２と、の文字が欠落した部品を含む列にあるそれぞれの部品に表示される文字の大きさを小さくする。「項目」の列の文字の大きさが小さくなる。画面の各列で文字の大きさに統一感がある。
【０１６４】
図２７は、従来技術による補正例と本実施の形態による補正例との比較を示す説明図である。図２７の左側には、実機１０１での表示結果を示す。表示結果に示すように、「３」の文字が欠落した部品がある。ここでは、文字の大きさの変更により部品の修正が行われる例を説明する。
【０１６５】
従来技術では、例えば、部品ごとに文字の大きさの修正が行われるため、同じ列において文字の大きさが異なる部品が１つ含まれることになる。本実施の形態では、情報処理装置１００は、列などのグループ単位で文字の大きさの修正を行う。このため、同一列において数値の大きさが同じになる。このように、本実施の形態では、情報処理装置１００は、同一列などの同一グループにおいて文字の大きさを統一することができる。
【０１６６】
また、従来技術では、文字の大きさに統一感を出させるためには、開発者などの利用者が、部品ごとに文字の大きさの修正を行うなどの作業の手戻りが生じる。一方、本実施の形態では、情報処理装置１００は、グループ単位などのように一括で文字の大きさを変更することができる。このため、情報処理装置１００は、作業の手戻りを抑制しつつ、画面に統一感を出させることができる。
【０１６７】
（情報処理装置１００が行う処理手順例）
図２８は、情報処理装置１００が行う処理手順例を示すフローチャートである。まず、情報処理装置１００は、期待値データ６０１を取得する（ステップＳ２８０１）。次に、情報処理装置１００は、画像データ６２１を取得する（ステップＳ２８０２）。次に、情報処理装置１００は、画面構成情報４００から、部品及び部品の属性を抽出する（ステップＳ２８０３）。
【０１６８】
次に、情報処理装置１００は、画像データ６２１に対して、期待値データ６０１に基づいて、部品単位で文字の欠落の有無を検証する（ステップＳ２８０４）。次に、情報処理装置１００は、文字が欠落した部品を不良箇所として記憶する（ステップＳ２８０５）。
【０１６９】
次に、情報処理装置１００は、グループ化処理を行う（ステップＳ２８０６）。次に、情報処理装置１００は、不良箇所の補正処理を行う（ステップＳ２８０７）。次に、情報処理装置１００は、補正後の画面構成情報８２０を記憶し（ステップＳ２８０８）、一連の処理を終了する。
【０１７０】
図２９は、図２８に示すグループ化処理の詳細な説明を示すフローチャートである。まず、情報処理装置１００は、未処理対象の部品があるか否かを判断する（ステップＳ２９０１）。未処理対象の部品があると判断された場合（ステップＳ２９０１：Ｙｅｓ）、情報処理装置１００は、未処理対象の部品を処理対象部品として選択する（ステップＳ２９０２）。
【０１７１】
次に、情報処理装置１００は、処理対象部品の中心及び端点からＸ方向及びＹ方向に線を引く（ステップＳ２９０３）。情報処理装置１００は、Ｘ方向に引いた線に基づき、処理対象部品のＸ方向の関係部品を検出する（ステップＳ２９０４）。次に、情報処理装置１００は、Ｙ方向に引いた線に基づき、処理対象部品のＹ方向の関係部品を検出し（ステップＳ２９０５）、ステップＳ２９０１へ戻る。
【０１７２】
未処理対象の部品がないと判断された場合（ステップＳ２９０１：Ｎｏ）、情報処理装置１００は、部品の各々についての関係部品に基づいて、部品関連グラフを生成する（ステップＳ２９０６）。次に、情報処理装置１００は、部品関連グラフから同一グループを抽出する（ステップＳ２９０７）。
【０１７３】
次に、情報処理装置１００は、グループの各々について、特徴データを抽出し（ステップＳ２９０８）、一連の処理を終了する。
【０１７４】
図３０は、図２８に示す不良箇所の補正処理の詳細な説明を示すフローチャートである。図３０において、情報処理装置１００は、不良箇所を含むグループ内の補正、不良箇所を含むグループと異なるグループ内の部品の補正、及び文字の大きさの変更の順に修正を検討する例を示すが、これに限らず、種々変更可能である。
【０１７５】
まず、情報処理装置１００は、未処理対象の不良箇所があるか否かを判断する（ステップＳ３００１）。未処理対象の不良箇所があると判断された場合（ステップＳ３００１：Ｙｅｓ）、情報処理装置１００は、未処理対象の不良箇所を処理対象の不良箇所として選択する（ステップＳ３００２）。次に、情報処理装置１００は、不良箇所がいずれかのグループに含まれるか否かを判断する（ステップＳ３００３）。
【０１７６】
不良箇所がいずれかのグループに含まれないと判断された場合（ステップＳ３００３：Ｎｏ）、情報処理装置１００は、ステップＳ３００６へ移行する。不良箇所がいずれかのグループに含まれると判断された場合（ステップＳ３００３：Ｙｅｓ）、情報処理装置１００は、不良箇所を含むグループ内で補正できるか否かを判断する（ステップＳ３００４）。不良箇所を含むグループ内で補正できると判断された場合（ステップＳ３００４：Ｙｅｓ）、情報処理装置１００は、グループ内で補正し（ステップＳ３００５）、ステップＳ３００９へ移行する。ステップＳ３００５において、グループ内で補正するとは、例えば、グループ内の部品の位置や部品の大きさなどの補正によって不良箇所の大きさを補正することである。なお、情報処理装置１００は、補正後、グループの各々についての特徴データの更新を行う。
【０１７７】
ステップＳ３００４において、不良箇所を含むグループ内で補正できないと判断された場合（ステップＳ３００４：Ｎｏ）、情報処理装置１００は、不良箇所を含むグループの隣接グループ又は隣接部品の調整によって補正できるか否かを判断する（ステップＳ３００６）。補正できると判断された場合（ステップＳ３００６：Ｙｅｓ）、情報処理装置１００は、隣接グループ又は隣接部品の調整によって補正する（ステップＳ３００７）。ステップＳ３００７において、隣接グループの調整によって補正するとは、例えば、不良箇所を含むグループの隣接グループ内の部品の位置や部品の大きさなどの補正によって不良箇所の大きさを補正することである。ステップＳ３００７において、隣接部品の調整によって補正するとは、例えば、不良箇所を含むグループの隣接部品の位置や部品の大きさなどの補正によって不良箇所の大きさを補正することである。なお、情報処理装置１００は、補正後、グループの各々についての特徴データの更新を行う。
【０１７８】
補正できないと判断された場合（ステップＳ３００６：Ｎｏ）、情報処理装置１００は、部品に表示される文字の大きさをグループ単位で変更する（ステップＳ３００８）。情報処理装置１００は、不良箇所を含むグループと、Ｘ軸方向のノード数及び大きさが同一のグループを検出する（ステップＳ３００９）。次に、情報処理装置１００は、検出したグループに対して、不良箇所に対する補正と同じ補正を行った場合に新たな不良箇所が発生するか検証する（ステップＳ３０１０）。
【０１７９】
情報処理装置１００は、新たな不良箇所が発生するか否かを判断する（ステップＳ３０１１）。新たな不良箇所が発生すると判断された場合（ステップＳ３０１１：Ｙｅｓ）、情報処理装置１００は、ステップＳ３００１へ戻る。また、新たな不良箇所が発生しないと判断された場合（ステップＳ３０１１：Ｎｏ）、情報処理装置１００は、検出したグループに対して、不良箇所に対する補正と同じ補正を行い（ステップＳ３０１２）、ステップＳ３００１へ戻る。なお、情報処理装置１００は、ステップＳ３００９からステップＳ３０１２の処理については、処理対象の不良箇所がいずれのグループにも含まれない場合に行わない。
【０１８０】
ステップＳ３００１において、未処理対象の不良箇所がないと判断された場合（ステップＳ３００１：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１８１】
以上説明したように、情報処理装置１００は、画面内の各部品を大きさと位置でグループ化し、実機１０１での表示文字が模擬での表示文字と違う部品を含むグループ単位で、模擬での表示文字となるよう部品態様を変更する。ここで、実機１０１での表示文字が模擬での表示文字と違う部品については、実機での表示文字において文字が欠落している。情報処理装置１００は、部品態様の変更により文字が欠落した部品を修正しつつ、その部品と大きさや位置が同様の部品の態様を同一にすることができる。したがって、情報処理装置１００は、統一感のある画面を作成しつつ、文字の欠落の修正による利用者の作業の手戻りを抑制できる。
【０１８２】
ここで、部品態様とは、部品の位置、部品の大きさ、文字の大きさなどの部品の属性である。
【０１８３】
また、情報処理装置１００は、各々のグループについて、各部品の最大外形と、複数の部品のうち各々のグループに含まれない部品と、の間隔に基づいて部品の位置を補正する。これにより、情報処理装置は、文字の欠落を直すように部品の位置や部品の大きさを修正することができる。したがって、情報処理装置１００は、修正による利用者の作業の手戻りを抑制できる。
【０１８４】
また、情報処理装置１００は、部品の最大外形と、画面の最大外形と、の間隔に基づいて、部品の位置や部品の大きさを補正する。これにより、情報処理装置は、文字の欠落を直すように部品の位置や部品の大きさを修正することができる。したがって、情報処理装置１００は、修正による利用者の作業の手戻りを抑制できる。
【０１８５】
また、情報処理装置１００は、動作結果における各々のグループに含まれる部品に表示される各文字の端の文字と、各々のグループに含まれる部品の最大外形と、の間隔に基づいて、部品の位置や部品の大きさを修正することができる。これにより、情報処理装置１００は、文字の欠落を直すように部品の位置や部品の大きさを修正することができる。したがって、情報処理装置１００は、修正による利用者の作業の手戻りを抑制できる。
【０１８６】
また、情報処理装置１００は、文字に欠落がある部品を含むグループと、Ｘ軸方向の部品の数が同じであり、かつ部品の大きさが同じであるグループを特定し、特定したグループに対して、文字に欠落がある部品を含むグループと同じ補正を行う。これにより、情報処理装置１００は、類似の表示を同じように修正することができ、画面全体に統一感を出させることができる。利用者は、画面内で似たような部品同士であれば、同じような修正をすることが考えられる。このため、情報処理装置１００は、画面の修正の漏れを抑制することができる。
【０１８７】
また、情報処理装置１００は、第１画面についての文字に欠落がある部品を含むグループと同じグループが第１画面と異なる第２画面にある場合、第２画面においても同じように補正を行う。これにより、情報処理装置１００は、異なる画面間において統一感を出させることができる。利用者は、似たような画面であれば、同じような修正をすることが考えられる。このため、情報処理装置１００は、類似画面の修正の漏れを抑制することができる。
【０１８８】
なお、本実施の形態で説明した文字表示領域修正方法は、予め用意された文字表示領域修正プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本文字表示領域修正プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、文字表示領域修正プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１８９】
また、本実施の形態で説明した情報処理装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述した情報処理装置１００の機能をＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、情報処理装置１００を製造することができる。
【０１９０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９１】
（付記１）コンピュータに、
特定の装置が有する表示装置に表示される第１画面の構成を示す第１構成情報に基づいて、前記第１画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた前記特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、一致しないと判定した表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
処理を実行させることを特徴とする文字表示領域修正プログラム。
【０１９２】
（付記２）前記各々のグループに含まれる文字表示領域の表示態様は、
前記文字表示領域に表示される各文字の大きさと、前記文字表示領域に表示される各文字の位置と、前記文字表示領域の位置と、前記文字表示領域の大きさとの少なくともいずれかであることを特徴とする付記１に記載の文字表示領域修正プログラム。
【０１９３】
（付記３）前記コンピュータに、
前記各々のグループについて、前記各々のグループに含まれる文字表示領域の最大外形と、前記複数の文字表示領域のうち前記各々のグループに含まれる文字表示領域以外の文字表示領域と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする付記１又は２に記載の文字表示領域修正プログラム。
【０１９４】
（付記４）前記コンピュータに、
前記各々のグループについて、前記各々のグループに含まれる文字表示領域の最大外形と、前記第１画面の最大外形と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする付記１〜３のいずれか１つに記載の文字表示領域修正プログラム。
【０１９５】
（付記５）前記コンピュータに、
前記動作結果における前記各々のグループに含まれる文字表示領域に表示される各文字の端の文字と、前記各々のグループに含まれる文字表示領域の最大外形と、の間隔を抽出する処理を実行させ、
前記生成する処理は、
抽出した前記間隔に基づいて、前記各々のグループに含まれる文字表示領域の位置と前記各々のグループに含まれる文字表示領域の大きさとの少なくともいずれかが前記各々のグループ単位で変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする付記１〜４のいずれか１つに記載の文字表示領域修正プログラム。
【０１９６】
（付記６）前記コンピュータに、
前記１又は複数のグループのうち、前記模擬結果と前記動作結果とで表示される各文字が一致しないと判定した前記文字表示領域を含むグループに含まれる文字表示領域と大きさが同じ文字表示領域を含み、かつ当該グループの所定の方向における文字表示領域の数が同じであるグループを特定する処理を実行させ、
前記生成する処理は、
一致しないと判定した前記文字表示領域を含む前記グループに含まれる文字表示領域の表示態様と、前記特定したグループに含まれる文字表示領域の表示態様とが、同じになるように変更された前記第１画面の構成を示す第２構成情報を生成する、
ことを特徴とする付記１〜５のいずれか１つに記載の文字表示領域修正プログラム。
【０１９７】
（付記７）前記コンピュータに、
前記第１画面と異なる前記表示装置に表示される第２画面の構成を示す第３構成情報に基づいて、前記第２画面に含まれる複数の文字表示領域を、当該複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
グループ化した１又は複数の第２グループのうち、表示される各文字が一致しないと判定した文字表示領域を含むグループに含まれる文字表示領域と大きさ及び位置が同じ文字表示領域を含む第２グループを特定する処理を実行させ、
前記生成する処理は、
前記特定した第２グループに含まれる文字表示領域の表示態様が、前記第２構成情報が示す前記第１画面の構成における当該グループに含まれる文字表示領域の表示態様と同じ表示態様に変更された前記第２画面の構成を示す第４構成情報を生成する、
ことを特徴とする付記１〜６のいずれか１つに記載の文字表示領域修正プログラム。
【０１９８】
（付記８）コンピュータが
特定の装置が有する表示装置に表示される画面の構成を示す第１構成情報に基づいて、前記画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、各文字が一致しないと判定された表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記画面の構成を示す第２構成情報を生成する、
処理を実行することを特徴とする文字表示領域修正方法。
【０１９９】
（付記９）特定の装置が有する表示装置に表示される画面の構成を示す第１構成情報に基づいて、前記画面に含まれる複数の文字表示領域を、前記複数の文字表示領域の各々の文字表示領域の位置と前記各々の文字表示領域の大きさとの少なくともいずれかに基づいてグループ化し、
前記複数の文字表示領域の各々の文字表示領域について、前記第１構成情報に応じた特定の装置の動作又は機能を模擬した模擬結果における前記各々の文字表示領域に表示される各文字と、前記第１構成情報に応じた前記特定の装置の動作結果における前記各々の文字表示領域に表示される各文字と、が一致するか否かを判定し、
グループ化した１又は複数のグループの各々のグループにおいて、前記各々のグループに含まれる表示文字領域のうち、各文字が一致しないと判定された表示文字領域に表示される各文字が、前記特定の装置の動作結果と前記模擬結果とで一致するように、前記各々のグループに含まれる表示文字領域の表示態様が前記各々のグループ単位で変更された前記画面の構成を示す第２構成情報を生成する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０２００】
ｐ１〜ｐ１３  部品
ｄ１１，ｄ１２，ｄ２１，ｄ２２，ｄ３１，ｄ３２  距離
ｄａ１１〜ｄａ１３，ｄａ２２〜ｄａ２３，ｄｂ１１〜ｄｂ１３，ｄｂ２１〜ｄｂ２３  スペーシング量
１００  情報処理装置
１０１  実機
１１１，１１３，６２１，６３１  画像データ
１１２，６０１，６１１  期待値データ
１２１  第１構成情報
１２２  第２構成情報
４００，８２０  画面構成情報
６００  操作ログ
７００  対応付け情報
８０１  第１取得部
８０２  第２取得部
８０３  一致検証部
８０４  補正部
８１１  特徴抽出部
８１２  データ補正部
８２１  実行部
９００，１８００  画面
【図１】
2018181010.tif 000003
【図２】
2018181010.tif 000004
【図３】
2018181010.tif 000005
【図４】
2018181010.tif 000006
【図５】
2018181010.tif 000007
【図６】
2018181010.tif 000008
【図７】
2018181010.tif 000009
【図８】
2018181010.tif 000010
【図９】
2018181010.tif 000011
【図１０】
2018181010.tif 000012
【図１１】
2018181010.tif 000013
【図１２】
2018181010.tif 000014
【図１３】
2018181010.tif 000015
【図１４】
2018181010.tif 000016
【図１５】
2018181010.tif 000017
【図１６】
2018181010.tif 000018
【図１７】
2018181010.tif 000019
【図１８】
2018181010.tif 000020
【図１９】
2018181010.tif 000021
【図２０】
2018181010.tif 000022
【図２１】
2018181010.tif 000023
【図２２】
2018181010.tif 000024
【図２３】
2018181010.tif 000025
【図２４】
2018181010.tif 000026
【図２５Ａ】
2018181010.tif 000027
【図２５Ｂ】
2018181010.tif 000028
【図２６】
2018181010.tif 000029
【図２７】
2018181010.tif 000030
【図２８】
2018181010.tif 000031
【図２９】
2018181010.tif 000032
【図３０】
2018181010.tif 000033