(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】情報処理装置、情報処理システムおよびプログラム
(51)【国際特許分類】
G06F 11/36 20060101AFI20231017BHJP
G06F 3/0484 20220101ALI20231017BHJP
G06F 8/38 20180101ALI20231017BHJP
G09G 5/00 20060101ALI20231017BHJP
G09G 5/22 20060101ALI20231017BHJP
【FI】
G06F11/36 188
G06F3/0484
G06F8/38
G09G5/00 530H
G09G5/22 630G
G09G5/22 660A
(21)【出願番号】P 2019189840
(22)【出願日】2019-10-17
【審査請求日】2022-09-22
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100104880
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100125346
【氏名又は名称】尾形 文雄
(74)【代理人】
【識別番号】100166981
【氏名又は名称】砂田 岳彦
(72)【発明者】
【氏名】小林 拓海
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2015-76041(JP,A)
【文献】特開2008-158643(JP,A)
【文献】特開2019-105910(JP,A)
【文献】特開2015-50655(JP,A)
【文献】特開2003-58357(JP,A)
【文献】特開2007-87056(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 3/0484
G06F 8/38
G09G 5/00
G09G 5/22
(57)【特許請求の範囲】
【請求項1】
ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定手段と、
前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知手段と、
を備える情報処理装置。
【請求項2】
前記設定手段は、文字列が1行であるか、複数行であるかにより、前記拡張領域の設定を変更することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定手段は、文字列が1行であるときに、前記拡張領域を文字列の言語に合わせて設定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記設定手段は、前記言語で文字列を記載するときに文字列が延びる方向に前記表示領域を拡張して前記拡張領域を設定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記設定手段は、文字列が複数行からなるときは、前記表示領域を下方向に拡張して前記拡張領域を設定することを特徴とする請求項2に記載の情報処理装置。
【請求項6】
前記表示領域と前記拡張領域とを位置合わせする位置合わせ手段をさらに備え、
前記位置合わせ手段は、文字列の言語に合わせて位置合わせを変更することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記位置合わせ手段は、前記言語で文字列を記載するときに最初の文字となる位置に位置合わせすることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記差分画像が検出されたときに、当該差分画像が生じないように修正する修正手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記修正手段は、前記表示領域の周囲に表示されるオブジェクトにより修正を行うか否かを決定することを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記修正手段は、前記オブジェクトの種類により修正を行うか否かを決定することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記修正手段は、文字列の言語への翻訳を変更することを特徴とする請求項8に記載の情報処理装置。
【請求項12】
画像を表示する表示装置と、
前記表示装置に表示される前記画像の制御を行う情報処理装置と、
を備え、
前記情報処理装置は、
ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定手段と、
前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知手段と、
を備える情報処理システム。
【請求項13】
コンピュータに、
ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定機能と、
前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、プログラムに関する。
【背景技術】
【0002】
従来より、ソフトウェアを動作させるときに表示される画面において、文字列を表示することが行われている。そして、ソフトウェアを開発する際には、文字列が欠落なく表示されることを検査する場合がある。
【0003】
特許文献1には、表示検査方法について開示されている。この表示検査方法は、項目表示領域内に表示されている表示文字列のキャプチャ画像を取得する一方で、検査対象のソフトウエア(プリンタドライバ)に組み込まれるリソースファイル内の文字コード、対応関係情報及び属性情報等に基づき正解となる比較用文字列画像を生成する。そして、キャプチャ画像と比較用文字列画像とを画像比較して文字欠けの有無等を検査する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ソフトウェアを他の言語に対応させた場合、言語によっては、予め用意した表示領域内に文字列が収まりきらず、その結果、文字列の一部が欠落して表示される、いわゆる文字切れが生じる場合がある。一方、文字切れを、ソフトウェアの開発者が目視で確認することは、作業量が多大となり、開発者への負担が大きい。
本発明は、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担が軽減する情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定手段と、前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知手段と、を備える情報処理装置である。
請求項2に記載の発明は、前記設定手段は、文字列が1行であるか、複数行であるかにより、前記拡張領域の設定を変更することを特徴とする請求項1に記載の情報処理装置である。
請求項3に記載の発明は、前記設定手段は、文字列が1行であるときに、前記拡張領域を文字列の言語に合わせて設定することを特徴とする請求項2に記載の情報処理装置である。
請求項4に記載の発明は、前記設定手段は、前記言語で文字列を記載するときに文字列が延びる方向に前記表示領域を拡張して前記拡張領域を設定することを特徴とする請求項3に記載の情報処理装置である。
請求項5に記載の発明は、前記設定手段は、文字列が複数行からなるときは、前記表示領域を下方向に拡張して前記拡張領域を設定することを特徴とする請求項2に記載の情報処理装置である。
請求項6に記載の発明は、前記表示領域と前記拡張領域とを位置合わせする位置合わせ手段をさらに備え、前記位置合わせ手段は、文字列の言語に合わせて位置合わせを変更することを特徴とする請求項1に記載の情報処理装置である。
請求項7に記載の発明は、前記位置合わせ手段は、前記言語で文字列を記載するときに最初の文字となる位置に位置合わせすることを特徴とする請求項6に記載の情報処理装置である。
請求項8に記載の発明は、前記差分画像が検出されたときに、当該差分画像が生じないように修正する修正手段をさらに備えることを特徴とする請求項1に記載の情報処理装置である。
請求項9に記載の発明は、前記修正手段は、前記表示領域の周囲に表示されるオブジェクトにより修正を行うか否かを決定することを特徴とする請求項8に記載の情報処理装置である。
請求項10に記載の発明は、前記修正手段は、前記オブジェクトの種類により修正を行うか否かを決定することを特徴とする請求項9に記載の情報処理装置である。
請求項11に記載の発明は、前記修正手段は、文字列の言語への翻訳を変更することを特徴とする請求項8に記載の情報処理装置である。
請求項12に記載の発明は、画像を表示する表示装置と、前記表示装置に表示される前記画像の制御を行う情報処理装置と、を備え、前記情報処理装置は、ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定手段と、前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知手段と、を備える情報処理システムである。
請求項13に記載の発明は、コンピュータに、ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定機能と、前記表示領域および前記拡張領域に当該表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、当該表示領域に当該表示領域で表示される文字列が収まらないことを検知する検知機能と、を実現させるためのプログラムである。
【発明の効果】
【0007】
請求項1の発明によれば、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担が軽減する情報処理装置を提供することができる。
請求項2の発明によれば、文字切れが生じやすい領域に拡張領域を設定することができる。
請求項3の発明によれば、言語毎に文字切れが生じやすい領域に拡張領域を設定することができる。
請求項4の発明によれば、文字切れが生じやすい領域をより正確に定めることができる。
請求項5の発明によれば、文字列が複数行のときに特に文字切れが生じやすい下方向の領域に拡張領域を設定することができる。
請求項6の発明によれば、文字切れが生じる箇所の特定がより簡単になる。
請求項7の発明によれば、言語毎に異なる書式に合わせて拡張領域を設定することができる。
請求項8の発明によれば、ソフトウェアの開発者の負担がさらに軽減する。
請求項9の発明によれば、文字列の表示が不自然になることを抑制できる。
請求項10の発明によれば、周囲のオブジェクトとのバランスを考慮することができる。
請求項11の発明によれば、表示領域の大きさを変更しなくても文字切れを修正することができる。
請求項12の発明によれば、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担が軽減する情報処理システムを提供することができる。
請求項13の発明によれば、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担が軽減する機能をコンピュータにより実現できる。
【図面の簡単な説明】
【0008】
【
図1】本実施の形態における情報処理システムの構成例を示す図である。
【
図2】アプリケーションソフトウェアを動作させたときに表示される画面の一例を示した図である。
【
図3】(a)~(e)は、文字切れが生じた例を示した図である。
【
図4】第1の実施形態の情報処理装置の機能構成例について説明したブロック図である。
【
図5】第1の実施形態における情報処理装置の動作を説明したフローチャートである。
【
図6】(a)~(b)は、
図5のステップ110~ステップ113で行う処理について、さらに詳しく説明した図である。
【
図7】(a)~(b)は、
図5のステップ110~ステップ113で行う処理について、さらに詳しく説明した図である。
【
図8】(a)~(b)は、
図5のステップ110~ステップ113で行う処理について、さらに詳しく説明した図である。
【
図9】(a)~(b)は、
図5のステップ110~ステップ113で行う処理について、さらに詳しく説明した図である。
【
図10】第2の実施形態の情報処理装置の機能構成例について説明したブロック図である。
【
図11】第2の実施形態における情報処理装置の動作を説明したフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【0010】
<情報処理システム全体の説明>
図1は、本実施の形態における情報処理システム1の構成例を示す図である。
図示するように本実施の形態の情報処理システム1は、表示装置20に表示される画像の制御を行う情報処理装置10と、情報処理装置10により作成された画像情報が入力され、この画像情報に基づき画像を表示する表示装置20と、情報処理装置10に対し開発者が種々の情報を入力するための入力装置30とを備える。
【0011】
情報処理装置10は、例えば、所謂汎用のパーソナルコンピュータ(PC)である。そして、情報処理装置10は、OS(Operating System)による管理下において、各種アプリケーションソフトウェアを動作させることで、画像情報の作成等が行われるようになっている。
情報処理装置10は、演算手段であるCPU(Central Processing Unit)と、記憶手段であるメインメモリ、およびHDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージを備える。ここで、CPUは、プロセッサの一例であり、OS(基本ソフトウェア)やアプリケーションソフトウェア(応用ソフトウェア)等の各種ソフトウェアを実行する。また、メインメモリは、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、ストレージは、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
さらに、情報処理装置10は、外部との通信を行うための通信インタフェース(以下、「通信I/F」と表記する)
【0012】
表示装置20は、表示画面21に画像を表示する。表示装置20は、例えばPC用の液晶ディスプレイ、液晶テレビあるいはプロジェクタなど、加法混色にて画像を表示する機能を備えたもので構成される。したがって、表示装置20における表示方式は、液晶方式に限定されるものではない。なお、
図1に示す例では、表示装置20内に表示画面21が設けられているが、表示装置20として例えばプロジェクタを用いる場合、表示画面21は、表示装置20の外部に設けられたスクリーン等となる。
【0013】
入力装置30は、キーボードやマウス等で構成される。入力装置30は、アプリケーションソフトウェアの起動、終了、指示を行うのに使用する。また、詳しくは後述するが、アプリケーションソフトウェアの開発を行う際に、使用するソフトウェアについて、起動、終了、指示を行うのに使用する。
【0014】
情報処理装置10および表示装置20は、DVI(Digital Visual Interface)を介して接続されている。なお、DVIに代えて、HDMI(登録商標)(High-Definition Multimedia Interface)やDisplayPort等を介して接続するようにしてもかまわない。
また情報処理装置10と入力装置30とは、例えば、USB(Universal Serial Bus)を介して接続されている。なお、USBに代えて、IEEE1394やRS-232C等を介して接続されていてもよい。
【0015】
なお、本実施の形態における情報処理システム1は、
図1の形態に限られるものではない。例えば、情報処理システム1としてスマートフォン端末やタブレット端末を例示することができる。この場合、スマートフォン端末やタブレット端末は、タッチパネルを備え、このタッチパネルにより画像の表示を行うとともに開発者の指示が入力される。即ち、タッチパネルが、表示装置20および入力装置30として機能する。また同様に、表示装置20および入力装置30を統合した装置として、タッチモニタを用いることもできる。これは、上記表示装置20の表示画面21としてタッチパネルを使用したものである。この場合、情報処理装置10により画像情報が作成され、この画像情報に基づきタッチモニタに画像が表示される。そして、開発者は、このタッチモニタをタッチ等することで、指示を入力する。
【0016】
<情報処理装置10の概略説明>
次に、情報処理装置10について、より詳しく説明を行う。
本実施の形態の情報処理装置10は、例えば、アプリケーションソフトウェアの開発を行うときに使用する装置である。
【0017】
図2は、アプリケーションソフトウェアを動作させたときに表示される画面の一例を示した図である。
図示する画面では、ウィンドウW1として、属性の検索画面が表示されている。そして、予め定められた文字列M101~M120が表示される。そして、この文字列M101~M120により、アプリケーションソフトウェアを操作するユーザは、検索画面にて設定する項目の内容を知ることができる。例えば、文字列M106では、右側に隣接する入力欄R1が、検索を行うフォルダを入力するために、例えば、フォルダのパスを入力すればよいことがわかる。そして、アプリケーションソフトウェアを使用するユーザは、例えば、入力欄R1に、フォルダのパスを入力し、検索ボタンBt1を押下すると、アプリケーションソフトウェアは、該当する属性に対応するファイルを検索して、表示する。
【0018】
ところが、アプリケーションソフトウェアを、例えば、多言語に対応させる場合、言語毎に文字列の書式や長さ等が異なる。そのため、例えば、日本語で文字列が問題なく表示される場合でも、翻訳後の他の言語では、表示が乱れる場合がある。例えば、文字列が長くなった場合、予め用意された範囲に収まりきらず、文字が全て表示されない場合がある。即ち、文字列の終わりの部分や上側若しくは下側の部分が表示されない文字切れが生じることがある。
【0019】
図3(a)~(e)は、文字切れが生じた例を示した図である。
図3(a)~(e)で、表示領域H21~H25は、アプリケーションソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である。表示領域H21~H25は、文字列を表示させるための領域として、予め用意される。なお、
図3(a)~(e)では、表示領域H21~H25として、矩形の枠線を表示しているが、これに限られるものではなく、枠線が表示されない場合もある。
【0020】
このうち、
図3(a)は、文字列の右側に文字切れが生じた例を示している。
図3(a)では、文字列M21が、表示領域H21に対し長すぎるために、文字列M21の右側が表示領域H21からはみ出し、その結果、表示されない例を示している。これは、文字列が1行であり、文字列を左側から右側に向けて記載する言語の場合に生じやすい。この言語は、例えば、日本語、英語、独語、仏語等である。
【0021】
また、
図3(b)は、文字列の左側に文字切れが生じた例を示している。
図3(b)では、文字列M22が、表示領域H22に対し長すぎるために、文字列M22の左側が表示領域H22からはみ出し、表示されない例を示している。これは、文字列が1行であり、文字列を右側から左側に向けて記載する言語の場合に生じやすい。この言語は、例えば、アラビア語である。
【0022】
さらに、
図3(c)~(d)は、文字列の下側に文字切れが生じた例を示している。
図3(c)では、文字列M23の文字が、表示領域H23に対し大きすぎるために、文字列M23の下側が表示されない例を示している。
また、
図3(d)では、文字列M24が、表示領域H24に対し長すぎるために、文字列M24の下側の一部が表示されない例を示している。これは、文字列が複数行からなる場合に生じやすい。
【0023】
そして、
図3(e)は、文字列の上側に文字切れが生じた例を示している。
図3(e)では、文字列M25が、表示領域H25に対し大きすぎるために、文字列M25の上側の一部が表示されない例を示している。これは、文字列をアクセント記号を用いる言語で記載する場合に生じやすい。ここでは、「AOU」の各文字の上側にアクセント記号「‥」が存在するが、それが表示されていない。アクセント記号を用いる言語は、例えば、独語や仏語である。
【0024】
この現象を防止するためには、アプリケーションソフトウェアの開発者が、それぞれの画面をチェックして、文字切れが生じているか否かを目視で確認する方法がある。しかし、アプリケーションソフトウェアで使用される画面の数は、膨大である。そして、
図3に示すように、1画面の中で表示される文字列の数は、多大である。さらに、翻訳される言語毎に、確認するのは、膨大な工数が必要となる。そのため、アプリケーションソフトウェアの開発者の負担が多大となる。
さらに、この現象を防止するのに、文字列が占める領域サイズを計算し、その領域に収まるように翻訳するという方法もある。しかし、この方法でも、確実に文字切れを防止できるわけではないので、同様に目視での確認作業が必要となる。
そこで本実施の形態では、情報処理装置10を、以下の構成にすることで、アプリケーションソフトウェアの開発者の負担の軽減を図っている。
【0025】
<情報処理装置10の機能構成の説明>
[第1の実施形態]
ここでは、まず、情報処理装置10の機能構成の第1の実施形態について説明を行う。
第1の実施形態では、情報処理装置10は、文字列が上記表示領域に収まらない場合を検知し、開発者に提示する。
【0026】
図4は、第1の実施形態の情報処理装置10の機能構成例について説明したブロック図である。
なお、ここでは、情報処理装置10が有する種々の機能のうち本実施の形態に関係するものを選択して図示している。
【0027】
情報処理装置10は、表示領域を抽出する抽出部11と、表示領域を拡張した拡張領域を設定する設定部12と、表示領域と拡張領域との位置合わせを行う位置合わせ部13と、表示領域と拡張領域とで文字列を表示したときの差分の画像である差分画像から、文字列が表示領域に収まるか否かを検知する検知部14と、画面の保存を行う保存部15と、画面を表示する制御を行う表示制御部16と、を備える、
【0028】
抽出部11は、文字列を表示する領域である表示領域を抽出する。表示領域は、例えば、
図3に示した表示領域H21~H25である。抽出部11は、文字切れが生じているか否かの確認対象となる画面の中で、文字列を表示する表示領域を検索する。そして、その表示領域の情報を取得する。
【0029】
設定部12は、設定手段の一例であり、表示領域を拡張した領域である拡張領域を設定する。詳しくは後述するが、拡張領域は、表示領域を含み、表示領域を上下左右の4方向の少なくとも1方向に向け拡張した領域である。何れの方向に拡張するかは、文字列が1行であるか、複数行であるかにより決定される。また、言語の種類により決定される。
【0030】
位置合わせ部13は、位置合わせ手段の一例であり、表示領域と拡張領域とを位置合わせする。位置合わせ部13は、検知部14で差分画像を作成するために、表示領域と拡張領域との位置合わせを行う。詳しくは後述するが、位置合わせ部13は、言語に合わせて位置合わせを変更する。
【0031】
検知部14は、検知手段の一例であり、差分画像が検出されたときに、表示領域に表示領域で表示される文字列が収まらないことを検知する。そのために、検知部14は、差分画像を作成する。表示領域および拡張領域に表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である。即ち、表示領域で文字列が収まりきらず、文字切れが生じているときでも、この部分を、拡張領域では、含ませることができる。そのため、差分画像は、文字切れが生じ、表示領域に表示できない部分が含まれる画像となる。対して、文字切れが生じていないときは、表示領域に文字列が全て収まるため、差分画像は、空白の画像となる。
そして、検知部14は、差分画像を基に、上記文字切れが生じていることを検知する。詳しくは後述するが、差分画像として何らかの画像が生じたときは、検知部14は、上記文字切れが生じていると判断する。対して、差分画像が、空白の画像である場合は、文字切れが生じていないと判断する。
【0032】
保存部15は、差分画像を保存する。また、差分画像を、赤色、太字、背景の着色等で強調した強調画像として保存してもよい。
表示制御部16は、開発者に対し、差分画像を提示する画像を表示装置20に表示する。
抽出部11、設定部12、位置合わせ部13、検知部14、および表示制御部16の各機能は、上述したCPUにより実現することができる。また、保存部15の機能は、上述したストレージにより実現することができる。
【0033】
次に、第1の実施形態における情報処理装置10の動作の説明を行う。
図5は、第1の実施形態における情報処理装置10の動作を説明したフローチャートである。
まず、表示制御部16が、アプリケーションソフトウェアの画面の中から、確認を行いたい画面として、文字切れの検査の対象となる対象画面を、表示装置20に表示する(ステップ101)。この画面は、例えば、ブラウザ等を使用して表示することができる。
次に、保存部15が、表示装置20に表示した画面の画像情報をいったん保存する(ステップ102)。
【0034】
さらに、抽出部11が、対象画面中の表示領域を検索する(ステップ103)。即ち、抽出部11は、画面中で文字列を表示する領域を検索する。具体的には、抽出部11は、例えば、DOM(Document Object Model)から、テキストを表示する領域を見つけ出す。
次に、抽出部11は、表示領域のプロパティを取得する(ステップ104)。このプロパティは、表示領域の位置および大きさを示す情報である。
【0035】
そして、設定部12は、このプロパティと同様のプロパティを有するテスト表示領域を作成する(ステップ105)。
次に、設定部12は、文字列が複数行であるか否かを判断する(ステップ106)。
その結果、文字列が複数行である場合(ステップ106でYes)、設定部12は、テスト表示領域を拡張した領域である拡張領域として、テスト表示領域の高さを大きくしたものを作成する(ステップ107)。
対して、文字列が複数行でない場合(ステップ106でNo)、即ち、文字列が1行である場合、設定部12は、拡張領域として、テスト表示領域の高さおよび幅を大きくしたものを作成する(ステップ108)。
【0036】
次に、設定部12は、文字列を記載する言語が、アラビア語であるか否かを判断する(ステップ109)。
その結果、言語が、アラビア語であった場合(ステップ109でYes)、位置合わせ部13は、テスト表示領域と拡張領域とを右側を起点となるように位置合わせを行い、両者を重ね合わせる(ステップ110)。
対して、言語が、アラビア語でない場合(ステップ109でNo)、位置合わせ部13は、テスト表示領域と拡張領域とを左側を起点となるように位置合わせを行い、両者を重ね合わせる(ステップ111)。
【0037】
次に、検知部14が、テスト表示領域と拡張領域との差分画像を作成する(ステップ112)。
さらに、検知部14は、差分画像から文字切れを検知する(ステップ113)。
そして、検知部14が、文字切れを検知した場合(ステップ114でYes)、保存部15は、差分画像を保存する(ステップ115)。
【0038】
対して、検知部14が、文字切れを検知しなかった場合(ステップ114でNo)、およびステップ115の後は、対象画面中で、検査をしていない表示領域があるか否かを判断する(ステップ116)。
その結果、検査をしていない表示領域がある場合(ステップ116でYes)、ステップ104に戻り、別の表示領域について同様の処理を行う。
対して、検査をしていない表示領域がない場合(ステップ116でNo)、表示制御部16は、差分画像を基に、文字切れ箇所を強調した強調画像を作成する(ステップ117)。なお、この強調画像は、保存部15に保存される。
【0039】
そして、抽出部11は、まだ検査をしていない画面があるか否かを判断する(ステップ118)。
その結果、まだ検査をしていない画面がある場合(ステップ118でYes)、ステップ101に戻り、別の画面を対象画面とし、同様の処理を行う。
対して、検査をしていない画面がない場合(ステップ118でNo)、一連の処理を終了する。
【0040】
その後、表示制御部16は、表示装置20に、強調画像を表示することができる。また、ポップアップ表示で文字切れを検知した箇所を表示することもできる。これを見た開発者は、実際に文字切れが生じているか否かを確認する。そして、文字切れが生じていた場合は、表示領域や周囲のオブジェクトの大きさや位置の調整を行い、正常に文字列が表示されるようにする。また、翻訳等を変更し、文字列を短くする変更を行ってもよい。
【0041】
図6(a)~(b)、
図7(a)~(b)、
図8(a)~(b)、および
図9(a)~(b)は、
図5のステップ110~ステップ113で行う処理について、さらに詳しく説明した図である。
【0042】
このうち、
図6(a)~(b)は、文字列M61が1行であり、文字列M61を左側から右側に向けて記載する言語であるときに、文字切れを検知する場合を示している。この場合、文字列M61は、日本語であり、「あいうえおかきくけこさしすせ」の文字からなる。
図6(a)は、テスト表示領域H61に対し、高さおよび幅を大きくした拡張領域K61を設定した場合を示している。この場合、位置合わせ部13は、テスト表示領域H61と拡張領域K61とを左側を起点となるように位置合わせを行い、両者を重ね合わせる。図示するように、文字列M61の最後の文字である「せ」の部分が、テスト表示領域H61から右側にはみ出し、文字切れが生じることがわかる。
また、
図6(b)は、テスト表示領域H61と拡張領域K61との差分画像を作成した例を示している。この場合、文字列M61の最後の文字である「せ」の部分が、差分画像S61として検出される。
【0043】
また、
図7(a)~(b)は、文字列M71が1行であり、文字列M71を右側から左側に向けて記載するアラビア語であるときに、文字切れを検知する場合を示している。
図7(a)は、テスト表示領域H71に対し、高さおよび幅を大きくした拡張領域K71を設定した場合を示している。この場合、位置合わせ部13は、テスト表示領域H71と拡張領域K71とを右側を起点となるように位置合わせを行い、両者を重ね合わせる。図示するように、文字列M71の後半部分が、テスト表示領域H71から左側にはみ出し、文字切れが生じることがわかる。
また、
図7(b)は、テスト表示領域H71と拡張領域K71との差分画像を作成した例を示している。この場合、文字列M71の後半部分が、差分画像S71として検出される。
【0044】
さらに、
図8(a)~(b)は、文字列M81が複数行であるときに、文字切れを検知する場合を示している。
図8(a)は、テスト表示領域H81に対し、高さを大きくした拡張領域K81を設定した場合を示している。図示するように、文字列M81の後半部分が、テスト表示領域H81から下側にはみ出し、文字切れが生じることがわかる。
また、
図8(b)は、テスト表示領域H81と拡張領域K81との差分画像を作成した例を示している。この場合、文字列M81の後半部分が、差分画像S81として検出される。
【0045】
そして、
図9(a)~(b)は、文字列M91が1行であり、文字列M91を記載する言語がアクセント記号を用いる言語であるときに、文字切れを検知する場合を示している。この場合、文字列M91は、独語である。
図9(a)は、テスト表示領域H91に対し、高さおよび幅を大きくした拡張領域K91を設定した場合を示している。この場合、位置合わせ部13は、テスト表示領域H91と拡張領域K91とを左側を起点となるように位置合わせを行い、両者を重ね合わせる。図示するように、文字列M91のアクセント記号の部分が、テスト表示領域H91から上側にはみ出し、文字切れが生じることがわかる。
また、
図9(b)は、テスト表示領域H91と拡張領域K91との差分画像を作成した例を示している。この場合、文字列M91のアクセント記号の部分が、差分画像S91として検出される。
【0046】
なお、拡張領域には、文字切れが生じた部分の全てを含ませる必要はなく、少なくとも一部を含ませるようにすればよい。つまり、文字切れを検知するためには、文字切れが生じた部分の一部を差分画像として検出すれば足りる。また、文字切れが生じた部分の文字の意味などを識別する必要はなく、何らかの差分画像が検出された場合は、文字切れが生じたことを検知する。
【0047】
第1の実施形態では、表示領域を拡張した拡張領域を設定し、表示領域と拡張領域との差分画像を検出することで、文字切れを検知する。これにより、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担を軽減させることができる。
【0048】
また、設定部12は、文字列が1行であるか、複数行であるかにより、拡張領域の設定を変更する。このとき、設定部12は、文字列が複数行からなるときは、表示領域の高さを大きくした拡張領域を設定する。これにより、設定部12は、表示領域を下方向に拡張して拡張領域を設定することができる。
図3(d)で説明したように、文字列が複数行からなるときは、文字列の下側に文字切れが生じやすい。よって、表示領域を下方向に拡張することで、文字切れが生じやすい領域に拡張領域を設定することができる。
【0049】
さらに、設定部12は、文字列が1行であるときに、拡張領域を文字列の言語に合わせて設定する。具体的には、文字列が1行であるときは、設定部12は、文字列を記載するときに文字列が延びる方向に表示領域を拡張して拡張領域を設定する。つまり、幅方向に拡張して拡張領域を設定する。
図3(a)~(b)で説明したように、文字列が1行であるときは、文字列の右側や左側に文字切れが生じやすい。よって、表示領域を幅方向に拡張することで、文字切れが生じやすい領域に拡張領域を設定することができる。
また、表示領域を、さらに高さ方向に拡張することで、
図3(c)で説明したように、文字の文字が、表示領域に対し大きすぎるような場合も、文字切れを検知できる。
また、
図3(e)で説明したように、独語や仏語のようにアクセント記号がある言語の場合は、文字列の右側のみならず、文字列の上側に文字切れが生じやすい。よって、表示領域を幅方向だけでなく、高さ方向に拡張することで、文字切れが生じやすい領域に拡張領域を設定することができる。
【0050】
また、位置合わせ部13は、文字列の言語に合わせて位置合わせを変更する。即ち、位置合わせ部13は、文字列を記載するときに最初の文字となる位置に位置合わせする。具体的には、
図6(a)で説明したように、日本語や英語のように、文字列を左側から右側に向けて記載する場合は、位置合わせ部13は、テスト表示領域H61と拡張領域K61とを左側を起点となるように位置合わせを行う。逆に、
図7(a)で説明したように、アラビア語のように、文字列を右側から左側に向けて記載する場合は、位置合わせ部13は、テスト表示領域H71と拡張領域K71とを右側を起点となるように位置合わせを行う。これにより、文字切れが生じやすい領域に拡張領域を設定することができる。
【0051】
[第2の実施形態]
次に、情報処理装置10の機能構成の第2の実施形態について説明を行う。
第2の実施形態では、情報処理装置10は、文字切れを検知した場合、文字切れが生じないように修正を行う。
【0052】
図10は、第2の実施形態の情報処理装置10の機能構成例について説明したブロック図である。
図10に図示した情報処理装置10の機能構成は、
図4に図示したものに対し、修正部17が加わる点で相違し、他は同様である。よって、以後、修正部17の機能を中心に説明を行う。
【0053】
修正部17は、修正手段の一例であり、差分画像が検出されたときに、差分画像が生じないように、修正する。
具体的には、例えば、表示領域の大きさを変更する。つまり、文字切れが生じる方向に対し、表示領域の大きさを拡張する。これにより、文字を全て表示領域内に表示することができる。しかし、拡張の対象となる表示領域の周囲には、他の表示領域など、他のオブジェクトが存在するのが一般的である。そのため、修正部17は、表示領域の周囲に表示されるオブジェクトにより修正を行うか否かを決定することが好ましい。つまり、修正部17は、表示領域の大きさを拡張した結果、周囲のオブジェクトと重なりが生じるなど周囲のオブジェクトに影響を与える場合は、拡張を行わない。一方、修正部17は、周囲のオブジェクトに影響を与えない場合は、拡張を行うようにする。
【0054】
また、例えば、OKボタンとキャンセルボタンとが並んで表示されるときに、キャンセルボタンだけを拡張すると、隣接するOKボタンとのバランスが崩れ、不自然な表示となりやすい。このとき、修正部17は、表示領域の拡張を行わない。よって、この場合も、修正部17は、表示領域の周囲に表示されるオブジェクトにより修正を行うか否かを決定する、と言うことができる。またこれは、表示領域がボタンの場合は、修正部17は、拡張を行わないと言うこともできる。つまり、修正部17は、周囲に表示されるオブジェクトの種類により修正を行うか否かを決定する、と言うこともできる。
【0055】
なお、修正部17が表示領域の拡張を行った場合は、開発者に対し、修正を行った旨を、強調画像やポップアップ表示などで提示するようにしてもよい。これにより、開発者は、正確に修正が行われたか否かを、確認することができる。また、修正部17が修正を行わないことを決定した場合、同様に開発者に対し提示するようにしてもよい。これを見た開発者は、第1の実施形態と同様に、表示領域や周囲のオブジェクトの大きさや位置の調整を行い、正常に文字列が表示されるようにする。
【0056】
また、他の修正方法として、表示領域に文字列が収まるように、修正部17は、文字列の言語への翻訳を変更することも考えられる。
【0057】
次に、第2の実施形態における情報処理装置10の動作の説明を行う。
図11は、第2の実施形態における情報処理装置10の動作を説明したフローチャートである。
図11のステップ201~ステップ216、およびステップ219~ステップ220は、
図5のステップ101~ステップ116、およびステップ117~ステップ118と同様であるので、説明を省略する。
【0058】
図11のステップ217以後、修正部17は、文字切れが生じている表示領域について、表示領域の周囲に表示されるオブジェクトにより、修正ができるか否かを判断する(ステップ217)。
そして、修正ができると判断した場合(ステップ217でYes)、修正部17は、表示領域の大きさを拡張するなどの方法を用いて修正を行う(ステップ218)。
対して、修正ができないと判断した場合(ステップ217でNo)、修正部17は、修正を行わず、次のステップ219に移行する。この場合、表示領域の修正は、第1の実施形態と同様に、開発者が行う。
【0059】
第2の実施形態では、第1の実施形態で挙げた効果に加えて、情報処理装置10により、いわば自動的に表示領域の修正を行うことができる。
【0060】
上述した情報処理装置10では、アプリケーションソフトウェアの開発を行う場合について説明したが、これに限られるものではなく、文字列の表示を行うソフトウェアであれば、OSなどの基本ソフトウェアに対しても適用できる。
また、上述した情報処理装置10では、表示領域は、矩形状であったが、表示領域の形状は、これに限られるものではなく、円形、多角形など他の形状であってもよい。
【0061】
また、上述した情報処理装置10では、CPUを一例とするプロセッサが処理を行う。よって、この情報処理装置10は、プロセッサを備え、プロセッサは、ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定し、表示領域および拡張領域に表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、表示領域に表示領域で表示される文字列が収まらないことを検知する情報処理装置であると捉えることもできる。
【0062】
<プログラムの説明>
ここで、以上説明を行った本実施の形態の情報処理装置10で行う処理は、例えば、ソフトウェア等のプログラムとして用意される。そして、ソフトウェアとハードウェア資源とが協働することにより実現される。このプログラムにより、文字切れを検知することができ、文字切れを目視で確認する場合に比較して、ソフトウェアの開発者の負担を軽減させることができる。
【0063】
よって、本実施の形態で、情報処理装置10が行う処理を実行するプログラムは、コンピュータに、ソフトウェアを動作させるときに表示される画面中で文字列を表示する領域である表示領域を拡張した領域である拡張領域を設定する設定機能と、表示領域および拡張領域に表示領域で表示される文字列を表示したときの、それぞれの画像の差分の画像である差分画像が検出されたときに、表示領域に表示領域で表示される文字列が収まらないことを検知する検知機能と、を実現させるためのプログラムとして捉えることもできる。
【0064】
なお、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD-ROM等の記録媒体に格納して提供することも可能である。
【0065】
以上、本実施の形態について説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【符号の説明】
【0066】
1…情報処理システム、10…情報処理装置、11…抽出部、12…設定部、13…位置合わせ部、14…検知部、15…保存部、16…表示制御部、20…表示装置