(57)【要約】【課題】  ＧＵＩのウィンドウ内に表示する文字列の見栄えを精密にチェックする。【解決手段】  ウィンドウ内において文字列データを表示する文字領域のサイズを含む前記ウィンドウ内のレイアウト情報を取得し、前記文字領域に表示する文字列データを取得し、前記文字列データを表示する際に用いられるフォントデータの識別情報と、フォントサイズとを含む表示態様指定情報を取得し、前記識別情報に基づいて前記フォントデータを取得し、前記文字列データを、前記フォントデータを用いて前記フォントサイズで表示させる場合の表示領域サイズが、前記文字領域のサイズを超過するか否かをチェックする。【選択図】図１
2010262559.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウ内において文字列データを表示する文字領域のサイズを含む前記ウィンドウ内のレイアウト情報を取得するレイアウト情報取得機能と、
前記文字領域に表示する文字列データを取得する文字列データ取得機能と、
前記文字列データを表示する際に用いられるフォントデータの識別情報と、フォントサイズとを含む表示態様指定情報を取得する表示態様指定情報取得機能と、
前記識別情報に基づいて前記フォントデータを取得するフォントデータ取得機能と、
前記文字列データを、前記フォントデータを用いて前記フォントサイズで表示させる場合の表示領域サイズが、前記文字領域のサイズを超過するか否かをチェックする超過チェック機能と、
をコンピューターに実現させるＧＵＩ調整プログラム。
【請求項２】
前記文字列データ取得機能は、前記文字領域に表示する意味内容を示す言語毎の前記文字列データを取得し、
前記超過チェック機能は、前記言語毎に、前記表示領域サイズが前記文字領域のサイズを超過するか否かをチェックする、
請求項１に記載のＧＵＩ調整プログラム。
【請求項３】
前記表示領域サイズが前記文字領域のサイズを超過することを示すログを出力するログ出力機能を備える、
請求項１または請求項２に記載のＧＵＩ調整プログラム。
【請求項４】
前記表示領域サイズが前記文字領域のサイズを超過すると判定された場合の前記フォントサイズを、当該フォントサイズより小さいフォントサイズに変更する第一超過修正機能を備え、
前記超過チェック機能は、修正されたフォントサイズにて、前記表示領域サイズが前記文字領域のサイズを超過するか否かをチェックする、
請求項１〜請求項３のいずれかに記載のＧＵＩ調整プログラム。
【請求項５】
前記文字列データをＮ行で表示すると前記表示領域サイズが前記文字領域のサイズを超過すると判定された場合に、Ｎ＋１行で前記文字列データが表示されるように前記文字列データの記述を変更する第二超過修正機能を備え、
前記超過チェック機能は、Ｎ＋１行で前記文字列データを表示した場合に、前記表示領域のサイズが前記文字領域のサイズを超過するか否かをチェックする、
請求項１〜請求項４のいずれかに記載のＧＵＩ調整プログラム。
【請求項６】
ウィンドウ内において文字列データを表示する文字領域のサイズを含む前記ウィンドウ内のレイアウト情報を取得するレイアウト情報取得手段と、
前記文字領域に表示する文字列データを取得する文字列データ取得手段と、
前記文字列データを表示する際に用いられるフォントデータの識別情報と、フォントサイズとを含む表示態様指定情報を取得する表示態様指定情報取得手段と、
前記識別情報に基づいて前記フォントデータを取得するフォントデータ取得手段と、
前記文字列データを、前記フォントデータを用いて前記フォントサイズで表示させる場合の表示領域サイズが、前記文字領域のサイズを超過するか否かをチェックする超過チェック手段と、
を備えるＧＵＩ調整装置。
【請求項７】
ウィンドウ内において文字列データを表示する文字領域のサイズを含む前記ウィンドウ内のレイアウト情報を取得するレイアウト情報取得工程と、
前記文字領域に表示する文字列データを取得する文字列データ取得工程と、
前記文字列データを表示する際に用いられるフォントデータの識別情報と、フォントサイズとを含む表示態様指定情報を取得する表示態様指定情報取得工程と、
前記識別情報に基づいて前記フォントデータを取得するフォントデータ取得工程と、
前記文字列データを、前記フォントデータを用いて前記フォントサイズで表示させる場合の表示領域サイズが、前記文字領域のサイズを超過するか否かをチェックする超過チェック工程と、
を含むＧＵＩ調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ(Graphical User Interface)の見栄えをチェックするためのプログラム、装置、方法に関する。
【背景技術】
【０００２】
従来、プリンターのように世界各国に向けて生産される機器のドライバープログラムでは、各国の言語に対応したＧＵＩが準備される。ＧＵＩのウィンドウ内において、ある意味内容の文字列を規定の領域に表示させる際、当該意味内容に対応する文字列の長さは言語によって異なるので、各言語による文字列の長さに応じてレイアウトを変えることが知られている。特許文献１は、文字列が規定の領域に収まらない場合に、他の領域に重ならないようにレイアウトを変更することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−５８３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、文字列の長さと当該文字列の表示領域の長さとを精密に比較できないという問題があった。例えば同じ文字であってもフォントが異なれば文字列の長さは異なるためである。また例えば、同じフォント種別を用いることが指定されていても、ＯＳによって異なるフォントデータが参照される場合があるためである。
【０００５】
本発明は、上記問題に鑑みてなされたもので、ＧＵＩのウィンドウ内に表示する文字列の見栄えを精密にチェックすることができる技術を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためのＧＵＩ調整プログラムは、ウィンドウ内において文字列データを表示する文字領域のサイズを含む前記ウィンドウ内のレイアウト情報を取得するレイアウト情報取得機能と、前記文字領域に表示する文字列データを取得する文字列データ取得機能と、前記文字列データを表示する際に用いられるフォントデータの識別情報と、フォントサイズとを含む表示態様指定情報を取得する表示態様指定情報取得機能と、前記識別情報に基づいて前記フォントデータを取得するフォントデータ取得機能と、前記文字列データを、前記フォントデータを用いて前記フォントサイズで表示させる場合の表示領域サイズが、前記文字領域のサイズを超過するか否かをチェックする超過チェック機能と、を備える。
【０００７】
本発明によると、指定されたフォントサイズとフォントデータとから、文字列データの表示領域サイズを精密に導出することができるため、表示領域サイズと文字領域のサイズとの比較結果の精度を高めることができる。
【０００８】
レイアウト情報は、少なくとも、ウィンドウ内にレイアウトされる文字領域のサイズを示す情報を含んでいればよい。文字領域のサイズを示す情報は、文字列データを表すフォントをラスタライズした画像のサイズと最終的に比較可能な形式であればよい。なお、レイアウト情報には文字領域がレイアウトされる位置を示す情報を含まれていてもよい。文字列データは、実体としては、計算機で文字を利用するために各文字に対して割り振られた文字コードを指す。
【０００９】
表示態様指定情報は、文字列データの表示態様を指定する情報であり、フォントデータの識別情報とフォントサイズを含む。フォントデータの識別情報は、実体としてのフォントデータを識別することができればよい。例えばフォントデータのファイル名であってもよいし、「明朝」や「Arial」などのようなフォント種別名に対して実体のフォントデータが一対一に対応するのであれば「明朝」や「Arial」などのようなフォント種別名であってもよい。フォントサイズは、フォントデータを用いて生成した文字のラスタライズ画像の高さ（例えばディセンダー（descender）の最下部からアセンダー(ascender)の最上部までの長さ）と一対一に対応させることができればどのような指定方法で指定されたものでもよい。ポイントやミリや級などがフォントサイズとして使用される。フォントデータはフォントサイズに応じたラスタライズフォント画像を生成するために、各種の文字の形状を表す情報が含まれたデータである。データ形式は、ビットマップ形式であっても、線の位置や形・長さを規定して文字の形状を表すスケーラブル形式であっても、それらの両方を含んだ形式であっても、その他の形式であってもよい。なお、表示態様指定情報には、太字（ボールド）設定や斜字（イタリック）設定の有無等が含まれていてもよい。
【００１０】
表示領域サイズは、対象とする文字領域に表示させる文字列データを構成する各文字を、指定されたフォントデータを用いて指定されたフォントサイズでそれぞれラスタライズし、ラスタライズされた画像を重ならないように並べた場合の左端から右端までの長さ、あるいは上端から下端までの長さを指す。文字間に空白を設ける場合はその空白も含む。また、文字列データが複数行に渡る場合で、行間に空白を設ける場合はその空白も含む。
【００１１】
さらに上記目的を達成するためのＧＵＩ調整プログラムにおいて、前記文字列データ取得機能は、前記文字領域に表示する意味内容を示す言語毎の前記文字列データを取得してもよく、その場合、前記超過チェック機能は、前記言語毎に、前記表示領域サイズが前記文字領域のサイズを超過するか否かをチェックしてもよい。
【００１２】
同じ意味内容を表す文字列であっても言語によって文字数は異なるが、以上の構成によれば、同じ意味内容を異なる言語で表現した文字列データをそれぞれ取得し、言語毎に、それらの表示領域サイズが文字領域のサイズを超過するかどうかをチェックすることができる。
【００１３】
さらに、上記目的を達成するためのＧＵＩ調整プログラムは、上記構成に加え、さらに前記表示領域サイズが前記文字領域のサイズを超過することを示すログを出力するログ出力機能を備えていてもよい。
この構成によると、このログによって、ＧＵＩ開発者に、表示領域が文字領域のサイズを超過することを認識させることができる。なお、ログでは、超過が発生していることを示すことができればよく様々な態様が採用可能である。
【００１４】
また、上記目的を達成するためのＧＵＩ調整プログラムは、上記構成に加えさらに、表示領域サイズが文字領域のサイズを超過すると判定された場合のフォントサイズを、当該フォントサイズより小さいフォントサイズに変更する第一超過修正機能を備えていてもよい。その場合に、超過チェック機能は、修正されたフォントサイズにて、表示領域サイズが文字領域のサイズを超過するか否かをチェックしてもよい。
【００１５】
以上の構成によると、表示態様指定情報として指定するフォントサイズを小さいフォントサイズに変更することができ、小さくしたフォントサイズで再度超過のチェックを行うことができる。また、自動的に文字列のはみ出しを修正しＧＵＩの見栄えを自動で調整することができる。
【００１６】
さらに、上記目的を達成するためのＧＵＩ調整プログラムは、上記構成に加えて、前記文字列データをＮ行（Ｎは１以上の整数）で表示すると表示領域サイズが文字領域のサイズを超過すると判定された場合に、Ｎ＋１行で文字列データが表示されるように文字列データの記述を変更する第二超過修正機能を備えていてもよい。この場合に、超過チェック機能は、Ｎ＋１行で文字列データを表示した場合に、表示領域のサイズが文字領域のサイズを超過するか否かをチェックしてもよい。
以上の構成によると、Ｎ行で表示した場合は文字領域内に収まらない文字列データを改行してＮ＋１行で表示すると、文字列データが文字領域内に収まるかどうかをチェックすることができる。また、自動的に文字列のはみ出しを修正しＧＵＩの見栄えを自動で調整することができる。
【００１７】
なお、以上のようなプログラムは、このプログラムを実行する装置の発明や、プログラムに示される工程を実施する方法の発明としても適用可能である。また、以上のような方法を実施する装置は、単独の装置によって実現される場合もあれば、複数の装置を組み合わせることによって実現される場合もあり、各種の態様を含むものである。一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、前述のプログラムを記録する記録媒体としても発明は成立する。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【図面の簡単な説明】
【００１８】
【図１】ＧＵＩ調整プログラムを実行する構成を説明するためのブロック図。
【図２】（２Ａ）・（２Ｃ）・（２Ｄ）はローカライズ文字列ファイルの記述内容の一例を示す図、（２Ｂ）は画面レイアウトファイルの記述内容の一例を示す図。
【図３】（３Ａ）はレイアウトの一例を示す図、（３Ｂ）および（３Ｃ）は文字列データ修正例を説明する図。
【図４】ＧＵＩ調整処理を示すフローチャート。
【発明を実施するための形態】
【００１９】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）概要と構成：
（２）ＧＵＩ調整処理：
（３）他の実施形態：
【００２０】
（１）概要と構成：
図１は、本発明にかかるＧＵＩ調整装置としてのコンピューター１０の構成を説明するためのブロック図である。コンピューター１０は、ＲＡＭ，ＲＯＭ，ＣＰＵ等を備える制御部２０とＨＤＤ（Hard Disk Device）３０とを備えており、ＲＯＭまたはＨＤＤ３０に記録された様々なプログラムを制御部２０で実行することができる。本実施形態においては、ＧＵＩ調整プログラム２１を実行することができる。本実施形態では、例えばコンピューターに接続する周辺機器のドライバープログラムが提供する各種条件設定ウィンドウを調整対象のＧＵＩとして想定している。ＧＵＩ調整プログラム２１は、国内だけではなく海外に向けてドライバープログラムを展開するために、ＧＵＩとして画面に表示してユーザーに伝える意味内容を各国の言語に翻訳した文字列データを準備し、言語別に文字列データを、規定された領域に表示した場合に、当該領域内に当該意味内容を示す全ての文字を表示できるかどうかをチェックする機能を有している。
【００２１】
上記機能を実現するために、ＧＵＩ調整プログラム２１は、レイアウト情報取得部２１ａと文字列データ取得部２１ｂと表示態様指定情報取得部２１ｃとフォントデータ取得部２１ｄと超過チェック部２１ｅとログ取得部２１ｆと第一超過修正部２１ｇと第二超過修正部２１ｈとを備えている。また、ＨＤＤ３０には、画面レイアウトファイル３０ａとローカライズ文字列ファイル３０ｂとフォントデータファイル３０ｃとが予め記録されており、ＧＵＩ調整プログラム２１が後述するＧＵＩ調整処理を実施するときに参照される。また、画面レイアウトファイル３０ａ、ローカライズ文字列ファイル３０ｂ、フォントデータファイル３０ｃは、ＧＵＩ調整プログラム２１から参照されるファイルであるとともに、ＧＵＩを表示する機能を有するプログラムによって、ＧＵＩを表示する際に参照されるファイルでもある。
【００２２】
画面レイアウトファイル３０ａでは、ウィンドウ内に表示する各部品のレイアウトや表示態様の定義が記述されている。ローカライズ文字列ファイル３０ｂには、ウィンドウ内に表示する意味内容であって、各国の言語に翻訳された意味内容を示す文字列データが記述されている。フォントデータファイル３０ｃは、フォントサイズに応じたラスタライズフォント画像を生成するために、各種の文字の形状を表すフォントデータを含んだファイルであり、少なくともフォント種別ごとに準備されている。フォントデータの形式は、データ形式は、ビットマップ形式であっても、線の位置や形・長さを規定して文字の形状を表すスケーラブル形式であっても、それらの両方を含んだ形式であっても、その他の形式であってもよい。ログファイル３０ｄは、ＧＵＩ調整プログラム２１を実行した結果として出力されるファイルであり、超過チェックの結果に関する情報を含んでいる。
【００２３】
ＧＵＩ調整プログラム２１が備える各機能について説明する。レイアウト情報取得部２１ａは、ウィンドウ内における文字領域のレイアウトに関する情報を取得する機能を制御部２０に実現させるモジュールであり、本実施形態では制御部２０は画面レイアウトファイル３０ａから必要な情報を取得する。ここで文字領域とは、ウィンドウ内において文字列データを表示する領域として定義された領域であり、画面レイアウトファイル３０ａで定義されている。
【００２４】
図２Ｂは画面レイアウトファイル３０ａの一例を示している。画面レイアウトファイル３０ａはＸＭＬ(Extensible Markup Language)形式で記述されている。画面レイアウトファイル３０ａでは、ＧＵＩとして表示される各ウィンドウ（画面）について、当該ウィンドウ内に表示するコントロールと呼ばれる文字列データを表示する領域（以降、文字領域という）の位置とサイズが定義されている。図２Ｂに示す例では、「メイン」画面のウィンドウには、「コントロール  ＩＤ」が「１」の文字領域は、「メイン」画面のウィンドウの基準位置を基準にして「縦」が「２０」で「横」が「２０」の位置から、「高さ」が「１０」で「幅」が「５０」の範囲内の領域として定義されている。図３Ａは、図２Ｂのように定義されている場合の文字領域を図示している。また、画面レイアウトファイル３０ａには、文字領域に文字列データを表示する際に用いるフォントデータファイル名とフォントサイズとが、言語ごとに定義されている。
【００２５】
文字列データ取得部２１ｂは、文字領域に表示する文字列データを取得する機能を制御部２０に実現させるモジュールである。本実施形態では、文字領域に表示する意味内容を各国の言語に翻訳した文字列データが記述されたローカライズ文字列ファイル３０ｂからチェック対象の文字列データを取得する。図２Ａはローカライズ文字列ファイル３０ｂの一例を示している。ローカライズ文字列ファイル３０ｂもＸＭＬ形式で記述されている。ローカライズ文字列ファイル３０ｂでは、各文字領域に表示させる意味内容を各言語に翻訳した文字列データが定義されている。ローカライズ文字列ファイル３０ｂに定義されている「要素  ＩＤ」は、画面レイアウトファイル３０ａで定義されている「コントロール  ＩＤ」と対応している。したがって、図２Ａと図２Ｂに示す例では、「コントロール  ＩＤ」が「１」の文字領域には、日本語の場合「氏名」という文字列データが対応付けられ、英語の場合は「Name」という文字列データが対応つけられている。
【００２６】
表示態様指定情報取得部２１ｃは、文字列データを表示する際に用いるフォントデータの識別情報とフォントサイズとを含む表示態様指定情報を取得する機能を制御部２０に実現させるモジュールである。本実施形態では、制御部２０は、フォントデータの識別情報としてのフォントデータファイル名と、フォントサイズとを、画面レイアウトファイル３０aから取得する。フォントデータ取得部２１ｄは、フォントデータの識別情報に基づいて該当するフォントデータの実体を取得する機能を制御部２０に実現させるモジュールである。同じフォント種別であっても、異なる言語版のＯＳ(Operating System)で使用されるフォントデータは、微妙に異なる場合がある。そのため本実施形態で準備されているフォントデータファイル３０ｃは、各言語版のドライバープログラムが実行される言語版のＯＳで実際に使用されるフォントデータが準備されている。
【００２７】
超過チェック部２１ｅは、文字列データを指定されたフォントデータを用いて、指定されたフォントサイズで表示させる場合の表示領域サイズが、文字領域のサイズを超過するか否かをチェックする機能を制御部２０に実現させるモジュールである。表示領域サイズは、ローカライズ文字列ファイル３０ｂに記述された文字列データを、画面レイアウトファイル３０ａで指定されたフォントデータを用いて画面レイアウトファイル３０ａで指定されたフォントサイズにて表示させる場合に、当該文字列データの表示に必要な領域のサイズを指す。より具体的には、当該文字列データを構成する各文字に対応するラスタライズ画像データを文字列データで表される順に並べたときの領域全体のサイズ（左端から右端までの長さや、上端から下端までの長さ）を指す。文字間に間隔を設ける設定がなされている場合は、当該間隔のサイズも含む。文字列が複数行に渡る場合であって行間に間隔を設ける設定がなされている場合は当該間隔のサイズも含む。
【００２８】
超過チェック部２１ｅは、自動調整機能の実施の有無を示す設定を参照し、超過が発生している場合にその後の処理を切り替える。自動調整機能がオンに設定されている場合は、後述する第一超過修正部２１ｇや第二超過修正部２１ｈによって、画面レイアウトファイル３０ａやローカライズ文字列ファイル３０ｂの更新がなされる。自動調整機能がオフに設定されている場合は、後述するログ出力部２１ｆによってログファイル３０ｄが出力される。なお、自動調整機能の実施の有無は、ＧＵＩ開発者によって予め設定されている。
【００２９】
ログ出力部２１ｆは、表示領域が文字領域のサイズを超過することを示すログを出力する機能を制御部２０に実現させるモジュールである。ログの内容については後述する。第一超過修正部２１ｇは、超過チェック部２１ｅによって表示領域サイズが文字領域のサイズを超過すると判定された場合に、画面レイアウトファイル３０ａにおいて当該文字領域に対して指定されているフォントサイズをそれより小さいフォントサイズに修正する機能を制御部２０に実現させるモジュールである。
【００３０】
第二超過修正部２１ｈは、文字列データをＮ行（Ｎは１以上の整数）で表示すると表示領域サイズが文字領域のサイズを超過すると超過チェック部２１ｅに判定された場合に、ローカライズ文字列ファイル３０ｂに当該文字領域に対応付けて記述されている文字列データを、当該文字列データの途中で改行してＮ＋１行で表示するように文字列データの記述を変更する機能を制御部２０に実現させるモジュールである。
【００３１】
（２）ＧＵＩ調整処理：
次に、ＧＵＩ調整プログラム２１の処理の流れを具体的に説明する。図４はＧＵＩ調整処理を示すフローチャートである。まず、制御部２０は、ローカライズ文字列ファイル３０ｂを取得し（ステップＳ１００）、続いて画面レイアウトファイルを取得する（ステップＳ１０５）。制御部２０はローカライズ文字列ファイル３０ｂと画面レイアウトファイル３０ａとを解析し、ローカライズ文字列ファイル３０ｂに定義されている言語ごと、かつ表示領域ごとに超過チェックを実施する。すなわち、ステップＳ１２０〜Ｓ１５０の処理が繰り返し実行される。
【００３２】
制御部２０は、ローカライズ文字列ファイル３０ｂに定義されている言語のうちまだチェック対象としていない言語が存在するか否かを判定する（ステップＳ１１０）。未チェック言語が存在する場合、制御部２０は、まだチェック対象としていない要素（表示領域）が存在するか否かを判定する（ステップＳ１１５）。未チェック要素が存在する場合は、制御部２０は、チェック対象言語のチェック対象要素に対応するフォントデータの識別情報（本実施形態ではフォントデータファイル名）を画面レイアウトファイル３０ａから取得し、当該識別情報に基づいてフォントデータの実体を取得する（ステップＳ１２０）。具体的には例えば、図２Ａに示すように、ローカライズ文字列ファイル３０ｂには、「言語  ＩＤ」が「日本語」の場合、「要素  ＩＤ」が「１」の表示領域には「Name」という文字列データを表示することが定義されている。図２Ｂに示すように、画面レイアウトファイル３０ａには、「コントロール  ＩＤ」が「１」の表示領域（要素ＩＤが１の表示領域）を含む「メイン」ウィンドウ内の文字列を「英語」で表示する場合、その表示態様指定情報として「Arial」のフォントデータを格納したフォントデータファイル名「b.ttf」が定義されている。したがってこの場合、ステップＳ１２０で制御部２０は、「b.ttf」という名前のフォントデータファイルを取得する。
【００３３】
続いて制御部２０は、画面レイアウトファイル３０ａから、チェック対象の文字領域のサイズを取得する（ステップＳ１２５）。具体的には例えば、図２Ｂに示す画面レイアウトファイル３０ａでは、「コントロールＩＤ」が「１」の文字領域のサイズは「高さ」が「１０」でかつ「幅」が「５０」であることが定義されているので、この高さと幅を制御部２０は取得する。続いて制御部２０は、チェック対象の文字領域に表示される文字列データをローカライズ文字列ファイル３０ｂから取得する（ステップＳ１３０）。具体的には例えば、図２Ａに示すローカライズ文字列ファイル３０ｂでは「言語  ＩＤ」が「英語」の場合に「要素  ＩＤ」が１の表示領域に表示する文字列データは「Name」であることが定義されているので、この「Name」という文字列データを制御部２０は取得する。
【００３４】
続いて制御部２０は、文字列データの表示領域サイズが文字領域を超過するか否かを判定する（ステップＳ１３５）。具体的には例えば、図２Ｂに示す画面レイアウトファイル３０ａでは、英語で「コントロール  ＩＤ」が「１」の文字領域１に文字列データを表示する場合フォントサイズは「１０」で表示することが定義されている。したがって制御部２０は、「N」という文字に対応する文字コードに対応するフォントデータをフォントデータファイル「b.ttf」から取得し、フォントサイズ「１０」にてラスタライズしたときの「N」という文字を表すラスタライズ画像のサイズを算出する。同様に残りの「a」「m」「e」についても算出し、「Name」のように横方向に重ならないように並べた場合の４文字分のラスタライズ画像が占める領域のサイズ（領域の高さと幅。図３Ａの表示領域１参照）を算出する。文字領域１のサイズは、画面レイアウトファイル３０ａにおいて高さと幅として定義されているので、文字領域１のサイズと、文字領域１に表示する文字列データの表示領域１のサイズとを比較することができる。
【００３５】
ステップＳ１３５にて、文字領域を超過せずに文字領域内に収まっていると判定された場合は、ステップＳ１１５に戻って上述の処理を繰り返す。ステップＳ１３５にて超過すると判定された場合は、制御部２０は自動調整がオンに設定されているか否かを判定する（ステップ１４０）。自動調整がオンに設定されているとき、チェック対象の表示領域に対して画面レイアウトファイル３０ａにて定義されているフォントサイズを一つ小さいフォントサイズに修正して画面レイアウトファイル３０ａを更新する（ステップＳ１４５）。そしてステップＳ１３５に戻り、再度超過チェックを行う。この結果、文字領域内に超過せずに文字列データを表示するためのフォントサイズを検証することができる。また、画面レイアウトファイル３０ａのフォントサイズの定義も自動的に修正することができる。画面レイアウトファイル３０ａは、ＧＵＩが表示されるときにＧＵＩ表示プログラムから参照される、画面のレイアウト情報を定義したファイルであるので、画面レイアウトファイル３０ａに定義されたフォントサイズを小さく変更することにより、自動的にＧＵＩの見栄えを調整することができる。
【００３６】
なお、ステップＳ１４５において、フォントサイズを小さくする修正を行う代わりに、文字列データの途中で改行して表示されるようにローカライズ文字列ファイル３０ｂにおける文字列データの記述を変更し、ステップＳ１３５に戻り再度超過チェックを行うようにしてもよい。具体的には例えば、文字列の文字から、文字領域からはみ出る文字数分の文字の箇所で改行されるように、ＸＭＬ形式のローカライズ文字列ファイル３０ｂの該当文字列データを改行して記述するようにしてもよい。また例えば、文字列の最終文字を基準にして超過文字数番目の文字以降、最初に現れる空白文字（文字列の末尾から先頭に向かって探索を開始して、超過文字数番目の文字以降の最初の空白文字）の位置で改行されるように文字列データを改行して記述してもよい。例えば図３Ｂの例のように文字列データの最後の「CDEF」という単語の３文字目の「E」から末尾の「.」にかけて、文字領域からはみ出ている。その場合に、２文字目の「D」と３文字目の「E」の間で改行するように記述してもよいし、「check」の「k」と「CDEF」の「C」の間の空白文字の前後で改行するように記述してもよい。図２Ｃおよび図２Ｄはローカライズ文字列ファイル３０ｂの記述例であり、図２Ｃのように文字列データの途中で改行せずに記述した場合は図３Ｂのように表示されるところ、図２Ｄのように改行して記述すると図３Ｃのように同じ箇所で改行して表示されることを示している。この結果、改行して表示する場合に文字領域に文字列データが収まるかどうかを検証することができるとともに、ローカライズ文字列ファイル３０ｂに定義された文字列データの記述を、自動的に修正することができる。
【００３７】
ステップＳ１４０で自動調整がオンでないと判定される場合は、制御部２０は、超過したことを示す情報をログファイル３０ｄに出力する（ステップＳ１５０）。具体的には例えば、現在チェック対象としている言語と文字領域と超過文字数とをログファイル３０ｄに出力する。この機能により、どの言語のどの文字領域で、何文字分の超過が発生しているかという情報を、ログファイル３０ｄに残すことができる、そのため、ＧＵＩ開発者はこのログファイル３０ｄを基に、超過が発生する言語の文字列データの文字数を少なくするように訳語を変更したりすることができる。ログファイル３０ｄに残す内容は、少なくとも超過が発生したことを示していればよく、超過が発生した文字領域を示す情報のみが出力されてもよいし、当該文字領域を示す情報とどの言語において超過が発生したかを示す情報のみが出力されてもよい。
【００３８】
以上のように、本発明によると表示態様指定情報とフォントデータの実体とに基づいて表示領域サイズを精密に求め、文字領域のサイズと比較して超過チェックを行うので、正確なチェック結果を得ることができる。また本実施形態によると、各言語版のＯＳを準備してそのＯＳ上で各言語版のＧＵＩを実際に表示させてＧＵＩ開発者が目視でチェックする必要もない。
【００３９】
（３）他の実施形態：
尚、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加え得ることは勿論である。例えば、上記実施形態では、文字領域に表示する意味内容に対応する言語別の文字列データが準備され、言語ごとに超過チェックを行う構成を説明したが、本発明は言語別の文字列データをチェックする場合にのみ適用されるわけではない。例えば、日本語のみをチェック態様とし、したがって文字列データは日本語の文字列のみが準備され、その文字列データを様々な表示態様で表示した場合にどの表示態様で表示させると超過が発生するかをチェックする構成にも本発明は適用することができる。
【００４０】
また、画面レイアウトファイル３０ａとローカライズ文字列ファイル３０ｂは別々のファイルである必要はなく、同一ファイル内にレイアウト情報や表示態様指定情報や文字列データの定義が記述されていてもよい。
また、表示態様指定情報として、下線や太字、斜字などが指定されている場合、文字のラスタライズ画像のサイズを算出する際に、下線や太字や斜字などを考慮して算出することはもちろんである。
【００４１】
なお、フォントサイズを小さくするように修正するとともに、文字列データの途中で改行するように文字列データの記述を修正してもよい。またさらにこのとき、フォントサイズを小さく修正したことと、文字列データを改行したことを示すログを出力するようにしてもよい。また、フォントサイズを一つ小さくすれば文字領域に入る場合に、フォントサイズの定義を自動的に修正することなく、フォントサイズを一つ小さくすれば超過を防げる旨をログに出力してもよい。また、文字列の途中で改行すれば文字領域に入る場合に、文字列データの記述を改行するように修正することなく、何文字目で改行すれば超過を防げる旨をログに出力するようにしてもよい。
【符号の説明】
【００４２】
１０：コンピューター、２０：制御部、２１：調整プログラム、２１ａ：レイアウト情報取得部、２１ｂ：文字列データ取得部、２１ｃ：表示態様指定情報取得部、２１ｄ：フォントデータ取得部、２１ｅ：超過チェック部、２１ｆ：ログ取得部、２１ｆ：ログ出力部、２１ｇ：第一超過修正部、２１ｈ：第二超過修正部、３０ａ：画面レイアウトファイル、３０ｂ：ローカライズ文字列ファイル、３０ｃ：フォントデータファイル、３０ｄ：ログファイル。
【図１】
2010262559.tif 000003
【図２】
2010262559.tif 000004
【図３】
2010262559.tif 000005
【図４】
2010262559.tif 000006