(第1実施形態)
図1は、本発明の第1実施形態に係る表示装置100の構成を示すブロック図である。表示装置100は、手書き入力された文字や図形の画像を表示可能に構成されるものであり、たとえば、会議やビジネスプレゼンテーション、教育、研修などにおいて複数人の視聴者を対象に各種の情報を提示するときに用いられ、電子ホワイトボードまたは電子黒板に代表されるディスプレイや、広告や宣伝、案内板に用いられるパブリックディスプレイと称される、大型の表示ディスプレイを備える表示装置、タブレット端末装置などの携帯端末装置によって実現される。表示装置100は、タッチパネル1と、表示部2と、制御部3と、記憶部4とを含んで構成される。
表示部2は、画像を表示する表示面を有し、液晶パネルおよびバックライトを備える液晶ディスプレイや、有機EL(Electro-Luminescence)ディスプレイなどによって実現され、本実施形態では、液晶ディスプレイである。
タッチパネル1は、直交座標(XY座標)が設定された入力面を有し、表示部2の表示面に重ねて設けられ、表示部2と一体的に形成されている。タッチパネル1は、ユーザによる指やタッチペンを用いた接触(タッチ操作)によって手書き入力された入力位置(タッチ位置)を検出する。タッチパネル1としては、赤外線遮断方式、抵抗膜方式、表面型静電容量方式、投影型静電容量方式、超音波表面弾性波方式、音響パルス認識方式、振動検出方式、電磁誘導方式、画像認識方式、あるいは光センサ内蔵LCD方式のタッチパネルを用いることができる。また、たとえば、表示部2の表示面上に、ユーザのタッチ操作を検出するためのタッチパネル1を取り付けたオーバーレイ構造であってもよく、タッチパネル1を表示部2と一体化させた構造であってもよい。
制御部3は、表示装置100の各部の動作を制御する処理部であり、たとえば、中央演算処理装置(CPU:Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備えるマイクロコンピュータ、マイクロプロセッサなどによって実現される処理回路である。制御部3は、後述する記憶部4のプログラム記憶部41からRAMにロードされるオペレーティングシステム(OS:Operating System)プログラム、コンピュータを表示装置100として機能させるためのプログラムであり、後述する表示潰れ回避処理を実行するためのプログラム(以下、「表示潰れ回避プログラム」と称する)、および、種々のアプリケーションプログラムを実行する。なお、制御部3は、表示潰れ回避プログラムを実行したときの初期において、表示部2に、基準画像を表示させる。基準画像には、複数のメニューアイコンから成るメニューアイコン群が配置されている。前記各メニューアイコンに対応するメニューは特に限定されるものではないが、たとえば、タッチパネル1によって書き込む文字や線の色を変更するためのメニュー、タッチパネル1によって書き込む文字や線の太さを変更するためのメニュー、書き込まれている文字や線をタッチパネル1によるタッチ操作よって消去するためのメニュー(消しゴム機能)などが挙げられる。
制御部3は、入力検出部31と、表示制御部32と、軌跡データ生成部33と、画像生成部34と、線幅決定部として機能する表示線幅選択処理部35と、表示潰れ発生判断部36と、文字認識部37と、時間測定処理部38と、文字サイズ算出部としての機能を有する座標演算部39とを含んで構成される。本実施形態では、表示潰れ発生判断部36と、文字認識部37と、時間測定処理部38と、座標演算部39とが、重なり度合検出部として機能する。
入力検出部31は、タッチパネル1によって検出された、タッチパネル1上での手書き入力(タッチ操作)の入力位置(タッチ位置)に基づいて、ユーザによる入力指示に対応した処理を行う部分であり、コマンド検出部31aと、接触検出部31bと、座標検出部31cとを含む。
コマンド検出部31aは、表示部2に表示されている基準画像上のアイコンの選択指示を検出する。
接触検出部31bは、タッチパネル1へのタッチ操作が行われていない状態(タッチオフ状態)からタッチ操作が行われた状態(タッチオン状態)へと移行する状態変化と、タッチオン状態からタッチオフ状態へと移行する状態変化とを検出する。
座標検出部31cは、接触検出部31bによってタッチオフ状態からタッチオン状態へ
と移行する状態変化が検出されると、その都度、タッチオン状態が継続している期間内においてタッチパネル1で検出されたタッチ操作の軌跡(手書き入力パターン)に対応した、一連のタッチ位置の各座標を検出する。なお、座標検出部31cの、タッチ位置の座標を検出する機能は、タッチパネル1自体が有するように構成されていてもよい。座標検出部31cによって検出された座標は、後述する記憶部4の描画軌跡座標記憶部44に記憶される。
時間測定処理部38は、接触検出部31bによって検出される状態変化(タッチオフ状態からタッチオン状態へと移行する状態変化、およびタッチオン状態からタッチオフ状態へと移行する状態変化)について、一の状態変化が検出されてからの経過時間を計時し、その経過時間が、タッチパネル1のタッチ位置の検出周期に応じて予め設定された状態変化閾値に到達したか否かを判断する。本実施形態では、タッチパネル1のタッチ位置の検出周期が30Hzであるので、状態変化閾値は1/30秒に設定されている。
また、時間測定処理部38は、タッチオン状態の継続時間を計時する。さらにまた、時間測定処理部38は、タッチオフ状態の継続時間を計時し、そのタッチオフ状態継続時間が、予め設定された所定時間(タッチオフ状態継続閾値)に到達したか否かを判断する。時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した一の判断時点よりも前の各タッチオン継続期間に、座標検出部31cによって検出された一連の座標の集合座標群が、後述する文字認識部37が文字認識処理を実行するときの処理対象となる。
表示制御部32は、表示部2を制御する機能を有し、後述する画像生成部34によって生成された画像を表示部2に表示させる部分であり、描画制御部32aと、アイコン表示決定部32bと、アイコン表示部32cとを含む。
描画制御部32aは、タッチオン状態が継続している期間内において座標検出部31cによって検出された一連の座標に基づく、タッチ操作の軌跡(手書き入力パターン)に対応したパターン画像(文字の一画ごとの線分を表す画像、後述する文字認識部37によって認識される描画軌跡文字を表す画像)が、画像生成部34によって生成されると、その生成されたパターン画像を、表示部2に表示させる。また、描画制御部32aは、文字を構成する線分の線幅が、後述する表示線幅選択処理部35によって決定された線幅となる線幅補正文字画像が、画像生成部34によって生成されると、その生成された線幅補正文字画像を、表示部2に表示させる。
アイコン表示決定部32bは、表示部2に表示されている基準画像において、アイコンの配置位置、アイコンの大きさを決定する。アイコン表示部32cは、アイコン表示決定部32bによって決定された配置位置および大きさでアイコンを表示部2に表示させる。
軌跡データ生成部33は、座標検出部31cによって検出された座標に基づいて、タッチパネル1上でのタッチ操作の軌跡を表す軌跡データを生成する。この軌跡データ生成部33によって生成された軌跡データに基づいて、後述する画像生成部34が、タッチパネル1上でのタッチ操作の軌跡(手書き入力パターン)を表すパターン画像(文字の一画ごとの線分を表す画像)を、ユーザによって予め設定された線幅となる画像として生成し、その生成された画像を、描画制御部32aが表示部2に表示させる。軌跡データ生成部33によって生成された軌跡データは、後述する記憶部4の描画軌跡座標記憶部44に記憶される。
文字認識部37は、後述するプログラム記憶部41に記憶されている文字認識プログラムによって文字認識処理を実行する。文字認識部37は、座標検出部31cによって検出された座標に対応した、タッチパネル1上でのタッチ操作の軌跡(手書き入力パターン)
と、後述する文字認識標準パターン辞書メモリ42に記憶されている複数の文字の各パターンとを比較して、タッチパネル1上でのタッチ操作の軌跡で表される文字、すなわち手書き入力パターンで表される文字(以下、「描画軌跡文字」と称する)を認識する。すなわち、文字認識部37は、軌跡データ生成部33によって生成された軌跡データに対応した、タッチパネル1上でのタッチ操作の軌跡(手書き入力パターン)と、文字認識標準パターン辞書メモリ42に記憶されている複数の文字のパターンとを比較して、描画軌跡文字を認識する。
また、文字認識部37は、認識した描画軌跡文字とマッチングする、文字認識標準パターン辞書メモリ42に記憶されている標準文字を、後述する表示潰れ発生判断部36が表示潰れ(文字潰れ)の発生を判断するときに用いる候補文字として、候補文字記憶部46に記憶させる。なお、文字認識部37によって認識された描画軌跡文字は、描画制御部32aが表示部2に画像として表示させた場合、ユーザによって予め設定された線幅となる線分で構成された画像となる。表示部2に表示されている基準画像上の、「ペン太さ(描画線幅)」の設定を表すアイコンの選択指示がコマンド検出部31aによって検出されると、この検出された選択指示に応じた線幅が、ユーザによって予め設定された線幅となる。コマンド検出部31aによって検出されたアイコンの選択指示に応じて設定された線幅に関する情報は、後述する表示線幅記憶部45に記憶される。
座標演算部39は、文字認識部37によって認識された描画軌跡文字に対応した座標に基づいて、描画軌跡文字の大きさを算出する。この座標演算部39によって算出される描画軌跡文字の大きさは、タッチパネル1上でのタッチ操作の軌跡(手書き入力パターン)を構成する線分同士の重なり度合いの指標となる。座標演算部39の具体的な動作について、図2を用いて説明する。図2は、座標演算部39が描画軌跡文字の大きさを算出するときの動作を説明するための図である。
座標演算部39は、文字認識部37によって認識された描画軌跡文字について、該描画軌跡文字のX座標の最大値(Xmax)、X座標の最小値(Xmin)、Y座標の最大値(Ymax)、およびY座標の最小値(Ymin)を用いて、下記式(1)によって描画軌跡文字の大きさ(D)を算出する。
D=√(X×Y) …(1)
[式中、「X」はXmaxとXminとの差分値(X=Xmax−Xmin)であり、「Y」はYmaxとYminとの差分値(Y=Ymax−Ymin)である。]
図2(a)に示す例では、Xmax=48、Xmin=20、Ymax=38、Ymin=10の、「会」で示される描画軌跡文字について、座標演算部39は、上記式(1)によって、描画軌跡文字「会」の大きさ(D)を、「28」と算出する。また、図2(b)に示す例では、Xmax=109、Xmin=80、Ymax=39、Ymin=8の、「議」で示される描画軌跡文字について、座標演算部39は、上記式(1)によって、描画軌跡文字「議」の大きさ(D)を、「30」と算出する。
表示潰れ発生判断部36は、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字の画像について、描画軌跡文字に表示潰れ(文字潰れ)が発生しているかを、表1に示す表示潰れ回避テーブルを参照して、判断する。
表1に示す表示潰れ回避テーブルは、後述する文字潰れ回避テーブル記憶部43に記憶されており、文字認識部37から出力されて候補文字記憶部46に記憶されている候補文字(文字認識標準パターン辞書メモリ42に記憶されている標準文字)と、文字を構成する線分の線幅(表示線幅)と、文字の大きさ(文字寸法)の適正範囲との関連付けを示すテーブルである。
表示潰れ回避テーブルでは、たとえば候補文字「会」については、線幅「6Pt(極細)」に対応する文字の大きさ(D)の適正範囲として「D≦18」が関連付けられており、線幅「9Pt(細)」に対応する文字の大きさ(D)の適正範囲として「18<D≦24」が関連付けられており、線幅「12Pt(標準)」に対応する文字の大きさ(D)の適正範囲として「24<D≦30」が関連付けられており、線幅「15Pt(太)」に対応する文字の大きさ(D)の適正範囲として「30<D≦36」が関連付けられており、線幅「18Pt(極太)」に対応する文字の大きさ(D)の適正範囲として「36<D」が関連付けられている。また、表示潰れ回避テーブルでは、たとえば候補文字「議」については、線幅「6Pt(極細)」に対応する文字の大きさ(D)の適正範囲として「D≦30」が関連付けられており、線幅「9Pt(細)」に対応する文字の大きさ(D)の適正範囲として「30<D≦40」が関連付けられており、線幅「12Pt(標準)」に対応する文字の大きさ(D)の適正範囲として「40<D≦50」が関連付けられており、線幅「15Pt(太)」に対応する文字の大きさ(D)の適正範囲として「50<D≦60」が関連付けられており、線幅「18Pt(極太)」に対応する文字の大きさ(D)の適正範囲として「60<D」が関連付けられている。
たとえば、表示部2に表示されている、ユーザによって予め設定された線幅「15Pt(太)」となる線分で構成された描画軌跡文字「会」の画像について、座標演算部39によって算出された描画軌跡文字「会」の大きさ(D)が「28」であった場合、この「28」は、候補文字「会」における線幅「15Pt(太)」の適正範囲「30<D≦36」から外れているので、表示潰れ発生判断部36は、表示潰れ(文字潰れ)が発生していると判断する。また、たとえば、表示部2に表示されている、ユーザによって予め設定された線幅「15Pt(太)」となる線分で構成された描画軌跡文字「議」の画像について、座標演算部39によって算出された描画軌跡文字「議」の大きさ(D)が「30」であった場合、この「30」は、候補文字「議」における線幅「15Pt(太)」の適正範囲「50<D≦60」から外れているので、表示潰れ発生判断部36は、表示潰れ(文字潰れ
)が発生していると判断する。
表示線幅選択処理部35は、表示潰れ発生判断部36によって描画軌跡文字に表示潰れ(文字潰れ)が発生していると判断されると、座標演算部39によって算出された描画軌跡文字の大きさに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する。本実施形態では、表示線幅選択処理部35は、表示潰れ回避テーブルを参照し、文字認識部37から出力されて候補文字記憶部46に記憶されている候補文字と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する。表示線幅選択処理部35によって決定された線幅に関する情報は、後述する表示線幅記憶部45に記憶される。
たとえば、候補文字「会」に対応した、文字の大きさが「28」の描画軌跡文字「会」については、表示線幅選択処理部35は、文字の大きさ(D)の適正範囲として「24<D≦30」が設定されている線幅「12Pt(標準)」を、設定すべき線幅として選択する。また、たとえば、候補文字「議」に対応した、文字の大きさが「30」の描画軌跡文字「議」については、表示線幅選択処理部35は、文字の大きさ(D)の適正範囲として「D≦30」が設定されている線幅「6Pt(極細)」を、設定すべき線幅として選択する。
画像生成部34は、タッチオン状態が継続している期間内において座標検出部31cによって検出された一連の座標に基づいて、タッチ操作の軌跡に対応したパターン画像(文字の一画ごとの線分を表す画像、文字認識部37によって認識された描画軌跡文字を表す画像)を生成する。また、画像生成部34は、文字認識部37によって認識された描画軌跡文字に対応した文字画像であって、該文字画像を構成する線分の線幅が、表示線幅選択処理部35によって決定された線幅となる文字画像(線幅補正文字画像)を、パターン画像として生成する。
画像生成部34によって生成された画像(文字の一画ごとの線分を表す画像、描画軌跡文字を表す画像、線幅補正文字画像)は、表示制御部3の描画制御部32aによって制御された表示部2に表示される。
記憶部4は、プログラム記憶部41と、文字認識標準パターン辞書メモリ42と、文字潰れ回避テーブル記憶部43と、描画軌跡座標記憶部44と、表示線幅記憶部45と、候補文字記憶部46と、表示画像フレームメモリ47と、表示画像ワークメモリ48と、交点カウントメモリ49とを含む。なお、第1実施形態に係る表示装置100においては、交点カウントメモリ49には、情報(データ)が記憶されておらず、この交点カウントメモリ49は、後述する第2実施形態に係る表示装置100において用いられる。
プログラム記憶部41は、フラッシュメモリなどの不揮発性の半導体メモリや、ハードディスクドライブ(HDD:Hard Disk Drive)などの不揮発性のメモリによって実現され、OSプログラム、表示潰れ回避処理を実行するための表示潰れ回避プログラム、文字認識プログラム、および、種々のアプリケーションプログラムを記憶する。
文字認識標準パターン辞書メモリ42は、フラッシュメモリなどの不揮発性の半導体メモリや、ハードディスクドライブ(HDD:Hard Disk Drive)などの不揮発性のメモリによって実現され、文字認識部37が文字認識処理を実行するときに用いる、複数の文字(標準文字)の各パターンを記憶する。
文字潰れ回避テーブル記憶部43は、フラッシュメモリなどの不揮発性の半導体メモリや、ハードディスクドライブ(HDD:Hard Disk Drive)などの不揮発性のメモリによ
って実現され、表示線幅選択処理部35が線幅決定処理を実行するとき、および、表示潰れ発生判断部36が表示潰れ発生判断処理を実行するときに用いる、表示潰れ回避テーブルを記憶する。
描画軌跡座標記憶部44は、RAM(Random Access Memory)などの揮発性のメモリによって実現され、座標検出部31cによって検出された座標、および、軌跡データ生成部33によって生成された軌跡データを記憶する。
表示線幅記憶部45は、RAM(Random Access Memory)などの揮発性のメモリによって実現され、コマンド検出部31aによって検出されたアイコンの選択指示に応じて設定された線幅に関する情報、および、表示線幅選択処理部35によって決定された線幅に関する情報を記憶する。
候補文字記憶部46は、RAM(Random Access Memory)などの揮発性のメモリによって実現され、文字認識部37から出力された候補文字であって、表示線幅選択処理部35が線幅決定処理を実行するとき、および、表示潰れ発生判断部36が表示潰れ発生判断処理を実行するときに用いる候補文字を記憶する。
表示画像フレームメモリ47は、RAM(Random Access Memory)などの揮発性のメモリによって実現され、表示部2に表示される表示画像をフレームごとに記憶する。
表示画像ワークメモリ48は、RAM(Random Access Memory)などの揮発性のメモリによって実現され、制御部3における処理によって発生する情報(データ)を一時的に記憶する。
次に、図3A,3Bおよび図4を参照して、表示装置100の動作を説明する。図3Aおよび図3Bは、本発明の一実施形態に係る表示方法が適用された表示装置100の動作を示すフローチャートである。図4は、表示部2に表示される文字画像の一例を示す図である。表示装置100において、制御部3は、プログラム記憶部41からRAMにロードされるOSプログラム、表示潰れ回避プログラム、および、種々のアプリケーションプログラムを実行することによって、動作を開始する。
ステップs1では、制御部3は、描画軌跡座標記憶部44、表示線幅記憶部45、候補文字記憶部46、表示画像フレームメモリ47、および表示画像ワークメモリ48に記憶されている情報(データ)を消去して、初期化処理を実行する。
次にステップs2では、制御部3は、接触検出部31bが、タッチオフ状態からタッチオン状態へと移行する状態変化を検出したか否かを判断する。接触検出部31bがタッチオフ状態からタッチオン状態へと移行する状態変化を検出した場合にはステップs3に進み、タッチオフ状態からタッチオン状態へと移行する状態変化を検出していない場合にはステップs2を繰り返す。
ステップs3では、座標検出部31cは、タッチパネル1で検出されたタッチ操作の軌跡(手書き入力パターン)に対応した、一連のタッチ位置の各座標を検出する(座標検出工程)。次にステップs4では、制御部3は、コマンド検出部31aが、表示部2に表示されている基準画像上のアイコンの選択指示を検出したか否かを判断する。コマンド検出部31aがアイコンの選択指示を検出した場合にはステップs5に進み、コマンド検出部31aがアイコンの選択指示を検出していない場合にはステップs6に進む。
ステップs5では、制御部3は、コマンド検出部31aが検出したアイコンの選択指示
に対応したコマンド処理を実行する。ステップs6では、制御部3は、座標検出部31cによって検出されている、タッチパネル1上でのタッチ位置の座標が変位しているか否か(ドラッグに係るタッチ操作が行われているか否か)を判断する。座標検出部31cによって検出されている座標が変位していると判断した場合にはステップs7に進み、座標検出部31cによって検出されている座標が変位していない場合にはステップs6を繰り返す。
ステップs7では、軌跡データ生成部33は、座標検出部31cによって検出された座標に基づいて、タッチパネル1上でのタッチ操作の軌跡を表す軌跡データを生成する。この軌跡データ生成部33によって生成された軌跡データは、描画軌跡座標記憶部44に記憶される。
次にステップs8では、画像生成部34は、描画軌跡座標記憶部44に記憶された軌跡データに基づいて、タッチパネル1上でのタッチ操作の軌跡を表す画像(文字の一画ごとの線分を表す画像)を、ユーザによって予め設定された線幅となる画像として生成する。このようにして画像生成部34によって生成された描画軌跡画像を、描画制御部32aが表示部2に表示させる。
次にステップs9では、制御部3は、時間測定処理部38によって計時される、一の状態変化が検出されてからの経過時間が、タッチパネル1のタッチ位置の検出周期に応じて予め設定された状態変化閾値(1/30秒)に到達したか否かを判断する。状態変化閾値に到達したと判断された場合にはステップs10に進み、状態変化閾値に到達していないと判断された場合にはステップs9を繰り返す。
ステップs10では、制御部3は、接触検出部31bが、タッチオン状態からタッチオフ状態へと移行する状態変化を検出したか否かを判断する。接触検出部31bがタッチオン状態からタッチオフ状態へと移行する状態変化を検出した場合にはステップs11に進み、タッチオン状態からタッチオフ状態へと移行する状態変化を検出していない場合にはステップs6に戻る。
ステップs11では、制御部3は、時間測定処理部38によって計時される、タッチオフ状態の継続時間が、予め設定された所定時間(タッチオフ状態継続閾値)に到達したか否かを判断する。タッチオフ状態継続閾値に到達したと判断された場合にはステップs12に進み、タッチオフ状態継続閾値に到達していないと判断された場合にはステップs2に戻る。ステップs12では、制御部3は、文字潰れ回避処理(表示潰れ回避処理)を実行する。この制御部3が実行する文字潰れ回避処理(表示潰れ回避処理)は、ステップs121〜ステップs127を含む処理である。
ステップs121では、時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した一の判断時点よりも前の各タッチオン継続期間に、座標検出部31cによって検出された一連の座標の集合座標群を処理対象として、文字認識部37が、文字認識処理を実行する。文字認識部37は、座標検出部31cによって検出された座標に対応した、タッチパネル1上でのタッチ操作の軌跡(手書き入力パターン)と、文字認識標準パターン辞書メモリ42に記憶されている複数の文字の各パターンとを比較して、タッチパネル1上でのタッチ操作の軌跡で表される描画軌跡文字を認識する。文字認識部37によって認識された描画軌跡文字は、描画制御部32aが表示部2に画像として表示させた場合、ユーザによって予め設定された線幅となる線分で構成された画像となる。
次にステップs122では、座標演算部39は、文字認識部37によって認識された描画軌跡文字に対応した座標に基づいて、描画軌跡文字の大きさを算出する。
次にステップs123では、文字認識部37は、文字認識標準パターン辞書メモリ42に記憶されている標準文字の中に、認識した描画軌跡文字とマッチングする、表示潰れ発生判断部36が表示潰れ(文字潰れ)の発生を判断するときに用いる候補文字が有るか否かを判断する。文字認識部37が、候補文字が有ると判断した場合にはステップs124に進み、候補文字がないと判断した場合には、処理を終了する。
ステップs124では、文字認識部37は、表示潰れ発生判断部36が表示潰れ(文字潰れ)の発生を判断するときに用いる候補文字を選択し、その選択した候補文字を候補文字記憶部46に記憶させる。
次にステップs125では、表示潰れ発生判断部36は、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字の画像について、文字潰れ発生判断処理(表示潰れ発生判断処理)を実行する。
ステップs126では、表示潰れ発生判断部36は、描画軌跡文字に表示潰れ(文字潰れ)が発生しているかを、表1に示す表示潰れ回避テーブルを参照して、判断する(重なり度合検出工程)。図4(a)に示す例では、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字「会」の画像M1、および、描画軌跡文字「議」の画像M2について、座標演算部39によって算出された描画軌跡文字「会」および描画軌跡文字「議」の大きさが、候補文字「会」および候補文字「議」における線幅の適正範囲から外れているので、表示潰れ発生判断部36は、表示潰れ(文字潰れ)が発生していると判断する。
表示潰れ発生判断部36が、描画軌跡文字に表示潰れ(文字潰れ)が発生していると判断した場合にはステップs127に進み、描画軌跡文字に表示潰れ(文字潰れ)が発生していないと判断した場合には、処理を終了する。
ステップs127では、表示線幅選択処理部35は、表示潰れ回避テーブルを参照し、文字認識部37から出力されて候補文字記憶部46に記憶されている候補文字と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する(線幅決定工程)。表示線幅選択処理部35によって線幅が決定されると、画像生成部34は、文字認識部37によって認識された描画軌跡文字に対応した文字画像であって、該文字画像を構成する線分の線幅が、表示線幅選択処理部35によって決定された線幅となる文字画像(線幅補正文字画像)を生成する(画像生成工程)。
画像生成部34によって生成された線幅補正文字画像は、表示制御部3の描画制御部32aによって制御された表示部2に表示される(表示制御工程)。図4(b)に示す例では、表示部2に表示されている、表示線幅選択処理部35によって決定された線幅となる線分で構成された線幅補正文字「会」の画像M3、および、線幅補正文字「議」の画像M4は、表示潰れ(文字潰れ)の発生が回避された画像となる。
以上のように構成された本実施形態に係る表示装置100では、文字認識部37によって認識された、手書き入力パターンで表される描画軌跡文字の大きさを座標演算部39が算出し、その算出された文字の大きさに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を表示線幅選択処理部35が決定し、その決定された線幅の線分で構成される線幅補正文字画像を描画制御部32aが表示部2に表示させるので、タッチパネル1上での手書き入力の軌跡(パターン)に対応した、手書き文字の表示潰れ(文字潰れ)を自動的に回避し、表示潰れ(文字潰れ)のない文字画像を表示することができる。
(第2実施形態)
第2実施形態に係る表示装置100は、表示線幅選択処理部35、表示潰れ発生判断部36、文字認識部37、および座標演算部39の動作が、前述の第1実施形態に係る表示装置100と異なる。
第2実施形態に係る表示装置100において、文字認識部37は、第1実施形態に係る表示装置100と同様に、プログラム記憶部41に記憶されている文字認識プログラムによって文字認識処理を実行するように構成されていてもよいけれども、この構成に限定されるものではない。第2実施形態に係る表示装置100において、文字認識部37は、時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した一の判断時点よりも前の各タッチオン継続期間に、座標検出部31cによって検出された一連の座標の集合座標群から成るパターンを、描画軌跡文字として認識する。
第2実施形態に係る表示装置100において、座標演算部39は、文字認識部37によって認識された描画軌跡文字の大きさを算出する機能を有し、さらに、描画軌跡文字を構成する線分同士の交点の数を検出する交点数検出部としての機能を有する。この座標演算部39によって検出される交点の数は、タッチパネル1上でのタッチ操作(手書き入力パターン)を構成する線分同士の重なり度合いの指標となる。座標演算部39によって検出された交点数に関する情報は、交点カウントメモリ49に記憶される。この交点カウントメモリ49は、軌跡データ座標メモリ領域と、交点座標メモリ領域と、交点カウント座標メモリ領域とを含む。座標演算部39は、文字認識部37によって認識された描画軌跡文字について、その描画軌跡文字を構成する線分同士の交点の数を検出するようにしてもよいが、タッチオン状態が継続している期間内において座標検出部31cによって一連の座標が検出されるごとに、タッチ操作の軌跡で表される線分同士の交点の数をカウントしていき、時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した時点までの合計カウント値を、描画軌跡文字を構成する線分同士の交点数として検出するようにしてもよい。座標演算部39による交点数検出動作については、後述する。
第2実施形態に係る表示装置100において、表示潰れ発生判断部36は、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字の画像について、描画軌跡文字に表示潰れ(文字潰れ)が発生しているかを、表2に示す表示潰れ回避テーブルを参照して、判断する。
表2に示す表示潰れ回避テーブルは、文字潰れ回避テーブル記憶部43に記憶されており、座標演算部39によって検出された描画軌跡文字における線分同士の交点数と、文字を構成する線分の線幅(表示線幅)と、文字の大きさ(文字寸法)の適正範囲との関連付けを示すテーブルである。
表2に示す表示潰れ回避テーブルでは、たとえば交点数「4」については、線幅「6Pt(極細)」に対応する文字の大きさ(D)の適正範囲として「D≦18」が関連付けられており、線幅「9Pt(細)」に対応する文字の大きさ(D)の適正範囲として「18<D≦24」が関連付けられており、線幅「12Pt(標準)」に対応する文字の大きさ(D)の適正範囲として「24<D≦30」が関連付けられており、線幅「15Pt(太)」に対応する文字の大きさ(D)の適正範囲として「30<D≦36」が関連付けられており、線幅「18Pt(極太)」に対応する文字の大きさ(D)の適正範囲として「36<D」が関連付けられている。また、表示潰れ回避テーブルでは、たとえば交点数「13」については、線幅「6Pt(極細)」に対応する文字の大きさ(D)の適正範囲として「D≦30」が関連付けられており、線幅「9Pt(細)」に対応する文字の大きさ(D)の適正範囲として「30<D≦40」が関連付けられており、線幅「12Pt(標準)」に対応する文字の大きさ(D)の適正範囲として「40<D≦50」が関連付けられており、線幅「15Pt(太)」に対応する文字の大きさ(D)の適正範囲として「50<D≦60」が関連付けられており、線幅「18Pt(極太)」に対応する文字の大きさ(D)の適正範囲として「60<D」が関連付けられている。
たとえば、表示部2に表示されている、ユーザによって予め設定された線幅「15Pt(太)」となる線分で構成された描画軌跡文字「会」の画像については、座標演算部39によって交点数が「4」であると検出され、さらに、座標演算部39によって算出された描画軌跡文字「会」の大きさ(D)が「28」であった場合、この「28」は、交点数「4」における線幅「15Pt(太)」の適正範囲「30<D≦36」から外れているので、表示潰れ発生判断部36は、表示潰れ(文字潰れ)が発生していると判断する。また、たとえば、表示部2に表示されている、ユーザによって予め設定された線幅「15Pt(太)」となる線分で構成された描画軌跡文字「議」の画像については、座標演算部39によって交点数が「13」であると検出され、さらに、座標演算部39によって算出された描画軌跡文字「議」の大きさ(D)が「30」であった場合、この「30」は、交点数「13」における線幅「15Pt(太)」の適正範囲「50<D≦60」から外れているの
で、表示潰れ発生判断部36は、表示潰れ(文字潰れ)が発生していると判断する。
第2実施形態に係る表示装置100において、表示線幅選択処理部35は、表示潰れ発生判断部36によって描画軌跡文字に表示潰れ(文字潰れ)が発生していると判断されると、座標演算部39によって検出された描画軌跡文字における線分同士の交点数と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する。本実施形態では、表示線幅選択処理部35は、表2に示す表示潰れ回避テーブルを参照し、座標演算部39によって検出された描画軌跡文字における線分同士の交点数と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する。表示線幅選択処理部35によって決定された線幅に関する情報は、表示線幅記憶部45に記憶される。
たとえば、文字の大きさが「28」で線分同士の交点数が「4」の描画軌跡文字「会」については、表示線幅選択処理部35は、文字の大きさ(D)の適正範囲として「24<D≦30」が設定されている線幅「12Pt(標準)」を、設定すべき線幅として選択する。また、たとえば、文字の大きさが「30」で線分同士の交点数が「13」の描画軌跡文字「議」については、表示線幅選択処理部35は、文字の大きさ(D)の適正範囲として「D≦30」が設定されている線幅「6Pt(極細)」を、設定すべき線幅として選択する。
そして、第2実施形態に係る表示装置100において、画像生成部34は、文字認識部37によって認識された描画軌跡文字に対応した文字画像であって、該文字画像を構成する線分の線幅が、表示線幅選択処理部35によって決定された線幅となる文字画像(線幅補正文字画像)を生成する。画像生成部34によって生成された線幅補正文字画像は、表示制御部3の描画制御部32aによって制御された表示部2に表示される。
次に、図5、図6、図7A,7B、図8、および図9を参照して、第2実施形態に係る表示装置100の動作を説明する。図5は、本発明の第2実施形態に係る表示装置100の動作を示すフローチャートである。図6は、本発明の第2実施形態に係る表示装置100における交点数検出処理を示すフローチャートである。図7Aおよび図7Bは、交点数検出処理において、軌跡データ座標メモリ領域に記録されているデータの一例を示す図である。図8は、交点数検出処理において、交点座標メモリ領域に記録されているデータの一例を示す図である。図9は、交点数検出処理において、交点カウント座標メモリ領域に記録されているデータの一例を示す図である。
前述した第1実施形態に係る表示装置100に対して、第2実施形態に係る表示装置100は、制御部3が実行する文字潰れ回避処理(表示潰れ回避処理)の処理内容が異なる。第2実施形態に係る表示装置100において、制御部3が実行する文字潰れ回避処理(表示潰れ回避処理)は、ステップa1〜ステップa6を含む処理である。
ステップa1では、座標演算部39は、交点数検出処理を実行する。座標演算部39は、タッチオン状態が継続している期間内において座標検出部31cによって一連の座標が検出されるごとに、タッチ操作の軌跡で表される線分同士の交点の数をカウントしていき、時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した時点までの合計カウント値を、描画軌跡文字を構成する線分同士の交点数として検出する。座標演算部39による交点数検出処理の詳細については、後述する。
次にステップa2では、文字認識部37は、時間測定処理部38がタッチオフ状態継続閾値に到達したと判断した一の判断時点よりも前の各タッチオン継続期間に、座標検出部
31cによって検出された一連の座標の集合座標群から成るパターンを、描画軌跡文字として認識する。
次にステップa3では、座標演算部39は、文字認識部37によって認識された描画軌跡文字に対応した座標に基づいて、描画軌跡文字の大きさを算出する。
次にステップa4では、表示潰れ発生判断部36は、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字の画像について、文字潰れ発生判断処理(表示潰れ発生判断処理)を実行する。
ステップa5では、表示潰れ発生判断部36は、描画軌跡文字に表示潰れ(文字潰れ)が発生しているかを、表2に示す表示潰れ回避テーブルを参照して、判断する(重なり度合検出工程)。図4(a)に示す例では、表示部2に表示されている、ユーザによって予め設定された線幅となる線分で構成された描画軌跡文字「会」の画像M1、および、描画軌跡文字「議」の画像M2について、座標演算部39によって算出された描画軌跡文字「会」および描画軌跡文字「議」の大きさが、交点数「4」および交点数「13」における線幅の適正範囲から外れているので、表示潰れ発生判断部36は、表示潰れ(文字潰れ)が発生していると判断する。
表示潰れ発生判断部36が、描画軌跡文字に表示潰れ(文字潰れ)が発生していると判断した場合にはステップa6に進み、描画軌跡文字に表示潰れ(文字潰れ)が発生していないと判断した場合には、処理を終了する。
ステップa6では、表示線幅選択処理部35は、表2に示す表示潰れ回避テーブルを参照し、座標演算部39によって検出された描画軌跡文字における線分同士の交点数と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を決定する(線幅決定工程)。表示線幅選択処理部35によって線幅が決定されると、画像生成部34は、文字認識部37によって認識された描画軌跡文字に対応した文字画像であって、該文字画像を構成する線分の線幅が、表示線幅選択処理部35によって決定された線幅となる文字画像(線幅補正文字画像)を生成する(画像生成工程)。
画像生成部34によって生成された線幅補正文字画像は、表示制御部3の描画制御部32aによって制御された表示部2に表示される(表示制御工程)。図4(b)に示す例では、表示部2に表示されている、表示線幅選択処理部35によって決定された線幅となる線分で構成された線幅補正文字「会」の画像M3、および、線幅補正文字「議」の画像M4は、表示潰れ(文字潰れ)の発生が回避された画像となる。
次に、座標演算部39が実行する、前述のステップa1の交点数検出処理について、図6のフローチャートを参照して、詳細に説明する。
接触検出部31bによってタッチオフ状態からタッチオン状態へと移行する状態変化が検出され、タッチオン状態が継続している期間内において、座標検出部31cによって一連の座標が検出されると、座標演算部39は、交点数検出処理を開始する。
まず、ステップa11では、座標演算部39は、図7A(a)に示すように、タッチオン状態が継続している期間内における一連のタッチ操作(以下、「第1タッチ操作」という)による描画軌跡の座標に対応してデータ「1」を書き込み、前記描画軌跡以外の座標に対応してデータ「0」を書き込んで、その書き込まれたデータを、交点カウントメモリ49の軌跡データ座標メモリ領域に記憶させる。
前記第1タッチ操作が終了して接触検出部31bによってタッチオン状態からタッチオフ状態へと移行する状態変化が検出された後、ステップa12では、座標演算部39は、接触検出部31bによってタッチオフ状態からタッチオン状態へと移行する状態変化が検出され、タッチオン状態が継続している期間内において、座標検出部31cによって一連の座標が検出されているか否かを判断する。座標演算部39が、座標検出部31cによって一連の座標が検出されたと判断した場合にはステップa13に進み、一連の座標が検出されていないと判断した場合にはステップa12を繰り返す。
ステップa13では、座標演算部39は、図7A(b)に示すように、前記第1タッチ操作が終了した直後の、タッチオン状態が継続している期間内における一連のタッチ操作(以下、「第2タッチ操作」という)による描画軌跡の座標に対応してデータ「1」を書き込み、前記描画軌跡以外の座標に対応してデータ「0」を書き込んで、その書き込まれたデータを、交点カウントメモリ49の軌跡データ座標メモリ領域に記憶させる。
次にステップa14では、座標演算部39は、図8(a)に示すように、交点カウントメモリ49の軌跡データ座標メモリ領域に記憶された、前記第1タッチ操作に対応した座標のデータ群と、前記第2タッチ操作に対応した座標のデータ群とを比較し、第1タッチ操作による描画軌跡に対応してデータ「1」が書き込まれた座標と同一の座標に、前記第2タッチ操作による描画軌跡に対応してデータ「1」が書き込まれた場合には、当該座標に対応してデータ「1」を書き込んで、その書き込まれたデータを、交点カウントメモリ49の交点座標メモリ領域に記憶させる。交点座標メモリ領域に記憶されたデータ群において、データ「1」が書き込まれた座標は、第1タッチ操作の後の第2タッチ操作によって再度描画された座標となる。
前記第2タッチ操作が終了して接触検出部31bによってタッチオン状態からタッチオフ状態へと移行する状態変化が検出された後、新たなタッチ操作(以下、「第3タッチ操作」という)が行われると、座標演算部39は、ステップa12およびステップa13の処理を繰り返して実行し、図7B(c)に示すように、第3タッチ操作による描画軌跡の座標に対応してデータ「1」を書き込み、前記描画軌跡以外の座標に対応してデータ「0」を書き込んで、その書き込まれたデータを、交点カウントメモリ49の軌跡データ座標メモリ領域に記憶させる。そして、座標演算部39は、ステップa14の処理を繰り返して実行し、図8(b)に示すように、第1タッチ操作および第2タッチ操作による描画軌跡に対応してデータ「1」が書き込まれた座標と同一の座標に、前記第3タッチ操作による描画軌跡に対応してデータ「1」が書き込まれた場合には、当該座標に対応してデータ「1」を書き込んで、その書き込まれたデータを、交点カウントメモリ49の交点座標メモリ領域に記憶させる。
時間測定処理部38がタッチオフ状態継続閾値に到達したと判断すると、ステップa15において、座標演算部39は、交点カウントメモリ49の交点座標メモリ領域に記憶された座標データを参照し、前記タッチオフ状態継続閾値に到達したと判断された判断時点よりも前の各タッチオン継続期間に実行された、各タッチ操作の描画軌跡で表される線分同士の交点の数をカウントしていき、図9に示すように、カウントした交点カウント値を、交点カウントメモリ49の交点カウント座標メモリ領域に書き込み、前記判断時点までの合計交点カウント値を、描画軌跡文字を構成する線分同士の交点数として検出する。
具体的には、座標演算部39は、交点カウントメモリ49の交点座標メモリ領域に記憶された座標データについて、先頭座標(0,0)から順に、交点座標メモリ領域に記憶された座標データが「1」であるかを判断し、「1」を認識した場合には、この座標の交点カウント座標メモリ領域に記憶された座標データが「0」であるかを判断し、「0」の場
合には、交点カウントを「0」から「1」に増加させた後、その交点カウント座標メモリ領域に記憶された座標データを交点カウント値「1」として書き込む。
交点カウント座標メモリ領域に記憶された座標データが「0」以外の場合には、座標演算部39は、何も処理せず次の座標に進める。次に、座標演算部39は、交点座標メモリ領域に記憶された座標データについて、その右隣の座標データが「1」であるかを判断する。右隣の座標データが「1」である場合には、座標演算部39は、上記と同様に、この座標の交点カウント座標メモリ領域に記憶された座標データを交点カウント値「1」として書き込みし、交点座標メモリ領域に記憶された座標データについて、更に右隣の座標データが「1」であるかを判断し、順次同様の処理を行う。
交点座標メモリ領域に記憶された座標データについて、該座標データが「0」である場合には、座標演算部39は、この座標の直下の座標データが「1」であるかを判断し、「1」を認識した場合には、上記と同様に、この座標の交点カウント座標メモリ領域に記憶された座標データを交点カウント値「1」として書き込みし、交点座標メモリ領域に記憶された座標データについて、更に左隣の座標データが「1」であるかを判断し、順次同様の処理を行う。
交点座標メモリ領域に記憶された座標データについて、左隣の座標データが「0」である場合には、同じ行の右隣の座標データが「1」であるかを判断し、交点カウント座標メモリ領域に記憶された座標データに交点カウント値を書き込む。
座標演算部39は、交点座標メモリ領域に記憶された座標データについて、該座標データが「1」である場合には、同じ行で左隣、または右隣の座標が「0」になるまで同じ処理を続ける。座標演算部39は、同じ行での処理が終わると、下の行の処理を行う。座標演算部39は、交点座標メモリ領域に記憶された座標データについて、下の行の座標データについても、同じ行で左隣、または右隣の座標が「0」になるまで同じ処理を続ける。
座標演算部39は、更に下の行の座標データについても処理を行うが、この行の座標データに「1」が存在せず「0」のみが存在する場合には、交点カウント座標メモリ領域への書き込みを終え、交点座標メモリ領域に記憶された座標データについて、最初に座標データが「1」であると判断された座標の右隣の座標データが「1」であるかを判断する。右隣の座標データが「1」である場合には、座標演算部39は、前記最初に座標データが「1」であると判断された座標に対応した、交点カウント座標メモリ領域に記憶された座標データに「0」以外のデータが書き込まれているかを判断し、「0」以外のデータの書き込みがあれば、何も処理せず、次の座標の処理を進める。座標演算部39は、交点座標メモリ領域に記憶された座標データが「1」であり、この座標に対応した、交点カウント座標メモリ領域に記憶された座標データが「0」である場合には、交点カウント値を「2」とし、交点カウント座標メモリ領域の座標データとして「2」を書き込みする。この後の処理は、上述の通りである。
上述のようにして、座標演算部39は、交点カウント座標メモリ領域に書き込みした交点カウント値に基づいて、描画軌跡文字を構成する線分同士の交点数を検出する。
図7A,7B、図8、および図9を参照して、描画軌跡文字としてカタカナ文字「サ」をタッチ操作によって描画する場合を例にして、座標演算部39が実行する交点数検出処理について、より具体的に説明する。
図7A(a)は、「サ」の一画目の描画終了時における、軌跡データ座標メモリ領域に記憶された座標データの状態であり、図7A(b)は、「サ」の二画目の描画終了時にお
ける、軌跡データ座標メモリ領域に記憶された座標データの状態であり、図7B(c)は、「サ」の三画目の描画終了時における、軌跡データ座標メモリ領域に記憶された座標データの状態である。図8(b)は、描画軌跡文字としての「サ」についての描画が完了した後の、交点座標メモリ領域に記憶された座標データの状態であり、データ「1」が書き込まれた領域が2つ存在することを示す。
描画軌跡文字としての「サ」についての描画が完了した後の、交点座標メモリ領域に記憶された座標データを参照して、座標演算部39は、左上隅の先頭座標(x,y)=(0,0)に対応する座標データが「1」であるかを判断する。座標演算部39は、「1」でない場合には何も処理せず順次右の座標データが「1」であるかを判断する。最初の行で座標データに「1」が存在しなかった場合には、座標演算部39は、次行の左端の座標(x,y)=(0,1)から順次処理を行う。
図8(b)の例では、座標演算部39は、座標(x,y)=(21,10)で初めて座標データが「1」であることを認識し、交点カウント座標メモリ領域に記憶された座標データについて、座標(21,10)に対応した座標データが「0」であることを判断し、交点カウント値を「1」とし、この交点カウント値「1」を、交点カウント座標メモリ領域における座標(21,10)に書き込む。
次に、交点座標メモリ領域における座標(21,10)の右隣の座標(22,10)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標(22,10)に、交点カウント値「1」を書き込む。次に、交点座標メモリ領域における座標(22,10)の右隣の座標(23,10)の座標データが「0」であるので、座標演算部39は、座標(21,10)の直下の座標(21,11)の座標データが「1」であるかを判断する。図8(b)の例では、交点座標メモリ領域における座標(21,11)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標(21,11)に、交点カウント値「1」を書き込み、その左隣の座標(20,11)に対応した交点座標メモリ領域における座標データが「1」であるかを確認する。
座標演算部39は、順次処理を進め、図8(b)の例では、交点座標メモリ領域における座標(18,11)で座標データが「0」であると判断するので、右隣の座標(19,11)、更には座標(20,11)、座標(21,11)と順次処理を進め、座標(23,11)で座標データが「0」であると判断する。そのため、座標演算部39は、次に下側の座標(21,12)について処理を行う。
座標演算部39は、上記と同様の処理を順次行うが、図8(b)の例では、交点座標メモリ領域における座標(21,14)で座標データが「0」であると判断するので、左隣の座標(20,14)から順次左側に座標データが「1」であるかを判断し、「1」である場合には、その直上の座標に対応する、交点カウント座標メモリ領域における座標データが「1」であるかを判断する。「1」であれば、この座標の交点カウント座標メモリ領域における座標データを「1」とし、順次左側に処理を進める。座標演算部39は、交点カウント座標メモリ領域における座標(20,14)、座標(20,13)、座標(20,12)、座標(20,11)に、交点カウント値「1」を書き込む。
さらに、座標演算部39は、交点座標メモリ領域における座標(20,14)の直下の座標(20,15)から左側に順次座標データが「1」であるかを判断し、図8(b)の例では、座標(6,15)で「1」を検出するが、この直上の座標(6,14)に対応する、交点カウント座標メモリ領域における座標データが「0」であるため、ここで処理を中断する。この場合、座標(22,14)に戻り、座標演算部39は、この座標の交点座
標メモリ領域における座標データが「1」であるかを判断し、「1」であれば、座標(20,14)と同様の処理を行うが、この行の右側には交点座標メモリ領域において座標データが「1」である座標は存在しないので、ここで処理を終了し、この交点領域に対する、交点カウント座標メモリ領域への書き込みが完了したと判断し、当初の座標(21,10)の右隣の座標(22,10)の処理に戻る。
図8(b)の例では、交点座標メモリ領域における座標(22,10)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標データを確認し、交点カウント座標メモリ領域における座標(22,10)には既に「1」が書き込まれているので、何も処理せず、更に右隣の座標(23,10)の処理を行う。図8(b)の例では、交点座標メモリ領域における座標(23,10)の座標データが「0」であるので、座標演算部39は、何も処理せず、更に右隣へと処理を進める。
次の行では、図8(b)の例では、座標演算部39は、交点座標メモリ領域における座標(7,11)の座標データが「1」であることを認識し、この座標(7,11)に対応した、交点カウント座標メモリ領域における座標データが「0」であることを判断し、交点カウント値を「2」とし、この交点カウント値「2」を、交点カウント座標メモリ領域における座標(7,11)に書き込む。
次に、図8(b)の例では、交点座標メモリ領域において、座標(7,11)の右隣の座標(8,11)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標(8,11)に交点カウント値「2」を書き込む。次に、図8(b)の例では、交点座標メモリ領域において、座標(8,11)の右隣の座標(9,11)の座標データが「0」であるので、座標演算部39は、座標(7,11)の直下の座標(7,12)の座標データが「1」であるかを判断する。図8(b)の例では、交点座標メモリ領域において、座標(7,12)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標(7,12)に交点カウント値「2」を書き込み、その左隣の座標(6,12)に対応した、交点座標メモリ領域における座標データが「1」であるかを確認する。順次処理を進め、図8(b)の例では、座標演算部39は、交点座標メモリ領域における座標(4,12)の座標データが「0」であると判断するため、右隣の座標(5,12)、更に座標(6,12)、座標(7,12)と処理を進め、座標(9,12)の座標データが「0」であると判断するので、次に下側の座標(7,13)の処理を行う。
座標演算部39は、上記と同様の処理を順次行うが、図8(b)の例では、交点座標メモリ領域における座標(7,15)で座標データが「0」であると判断するので、左隣の座標(6,15)から順次左側に座標データが「1」であるかを判断し、「1」である場合には、その直上の座標に対応する、交点カウント座標メモリ領域における座標データが「2」であるかを判断する。「2」であれば、この座標の交点カウント座標メモリ領域における座標データを「2」とし、順次左側に処理を進める。座標演算部39は、交点カウント座標メモリ領域における座標(6,15)、座標(5,15)に、交点カウント値「1」を書き込む。
さらに、座標演算部39は、交点座標メモリ領域における座標(6,15)の直下の座標(6,16)から左側に順次座標データが「1」であるかを判断するが、この行の先頭座標(1,16)まで確認すると、逆に右側に処理を進め、この行の最終座標(28,16)まで座標データが「1」である座標が存在しない場合には、ここで処理を中断する。この交点領域に対する、交点カウント座標メモリ領域への書き込みが完了したと判断し、当初の座標(7,11)の右隣の座標(8,11)の処理に戻る。
図8(b)の例では、交点座標メモリ領域における座標(8,11)の座標データが「1」であるので、座標演算部39は、交点カウント座標メモリ領域における座標データを確認し、交点カウント座標メモリ領域における座標(8,11)には既に「2」が書き込まれているので、何も処理せず、更に右隣の座標(9,11)の処理を行う。図8(b)の例では、交点座標メモリ領域における座標(9,11)の座標データが「0」であるので、座標演算部39は、何も処理せず、更に右隣へと処理を進める。
図8(b)の例では、交点座標メモリ領域における座標(19,11)で再び座標データが「1」となるので、座標演算部39は、交点カウント座標メモリ領域における座標(19,11)の座標データを確認する。確認した結果、交点カウント座標メモリ領域における座標(19,11)には既に「1」が書き込まれているので、座標演算部39は、何も処理しない。図8(b)の例では、更に右隣の座標(20,11)も座標データが「1」であるが、交点カウント座標メモリ領域における座標(20,11)にも既に「1」が書き込まれているので、座標演算部39は、何も処理しない。更に処理を進め、この行の処理を終える。このようにして、最終行まで処理を進めて、座標演算部39は、交点カウント座標メモリ領域に書き込みした交点カウント値に基づいて、描画軌跡文字を構成する線分同士の交点数を検出する。
以上のように構成された第2実施形態に係る表示装置100では、座標演算部39によって検出された描画軌跡文字における線分同士の交点数と、座標演算部39によって算出された描画軌跡文字の大きさとに基づいて、描画軌跡文字を構成する線分の線幅として、設定すべき線幅を表示線幅選択処理部35が決定し、その決定された線幅の線分で構成される線幅補正文字画像を描画制御部32aが表示部2に表示させるので、タッチパネル1上での手書き入力の軌跡(パターン)に対応した、手書き文字の表示潰れ(文字潰れ)を自動的に回避し、表示潰れ(文字潰れ)のない文字画像を表示することができる。
(第3実施形態)
上記の実施形態では、表示潰れ回避プログラムは、半導体メモリやHDDによって実現されるプログラム記憶部41に記憶されているが、このような記憶装置に限定されるものではなく、コンピュータで読取り可能な記録媒体に記録されていてもよい。記録媒体は、たとえば図示しない外部記憶装置としてプログラム読取装置を設け、そこに記録媒体を挿入することによって読取り可能な記録媒体であってもよいし、または他の装置の記憶装置であってもよい。
いずれの記録媒体であっても、記録媒体に記憶されているプログラムがコンピュータからアクセスされて実行される構成であればよい。すなわち、いずれの記録媒体であっても、記録媒体からプログラムが読み出され、読み出されたプログラムが、記憶装置のプログラム記憶エリアに記憶されて、そのプログラムが実行される構成であればよい。さらに通信ネットワークを介して他の装置からダウンロードされてプログラム記憶エリアに記憶させてもよい。ダウンロード用のプログラムは、予めコンピュータの記憶装置に記憶しておくか、または別な記録媒体からプログラム記憶エリアにインストールしておく。
本体と分離可能に構成される記録媒体は、たとえば磁気テープ/カセットテープなどのテープ系の記録媒体、フロッピー(登録商標)ディスクなどの磁気ディスクのディスク系の記録媒体、フレキシブルディスク/ハードディスクなどの磁気ディスクもしくはCD−ROM(Compact Disk Read Only Memory)/MO(Magneto Optical disk)/MD(Mini Disk)/DVD(Digital Versatile Disk)などの光ディスクのディスク系の記録媒体、IC(Integrated Circuit)カード(メモリカードを含む)/光カードなどのカード系の記録媒体、またはマスクROM/EPROM(Erasable Programmable Read Only Memory)/EEPROM(Electrically Erasable Programmable Read Only Memory)(登録
商標)/フラッシュROMなどの半導体メモリを含む固定的にプログラムを担持する記録媒体であってもよい。