JP2015026307A - 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置 - Google Patents

選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置 Download PDF

Info

Publication number
JP2015026307A
JP2015026307A JP2013156560A JP2013156560A JP2015026307A JP 2015026307 A JP2015026307 A JP 2015026307A JP 2013156560 A JP2013156560 A JP 2013156560A JP 2013156560 A JP2013156560 A JP 2013156560A JP 2015026307 A JP2015026307 A JP 2015026307A
Authority
JP
Japan
Prior art keywords
character
area
stroke
region
specifying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013156560A
Other languages
English (en)
Other versions
JP6201488B2 (ja
Inventor
浩 真砂
Hiroshi Masago
浩 真砂
東 秀人
Hideto Azuma
秀人 東
片岡 正弘
Masahiro Kataoka
正弘 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013156560A priority Critical patent/JP6201488B2/ja
Priority to US14/332,817 priority patent/US9632691B2/en
Publication of JP2015026307A publication Critical patent/JP2015026307A/ja
Application granted granted Critical
Publication of JP6201488B2 publication Critical patent/JP6201488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】より効果的な文字の選択処理を実現する選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置を提供することにある。【解決手段】選択文字特定プログラムにおいて、選択文字特定処理は、表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される閉曲線のストロークを特定するストローク特定工程と、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する。【選択図】図5

Description

本発明は、選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置に関する。
スマートフォンやタブレット等の端末装置の表示画面には、例えば、電子書籍等が表示される。そこで、端末装置のタッチデバイスに基づいて、画面上に表示された文字列に対して選択操作や入力操作を行わせる技術が存在する(例えば、特許文献1、2)。
1つまたは複数の文字を選択状態に制御する方法は、一般的に、オペレーション・システム(以下、OS)によって提供される文字選択方法に基づく。具体的に、ユーザは、例えば、画面を指でなぞる動作や、タップ動作等にしたがって、画面上に表示された文字列のうち、選択対象の文字列を選択する。または、他の方法として、ユーザは、スマートフォン等に搭載されるソフトウェアキーボードを使用し文字列を入力する。これにより、入力した文字が選択状態に制御される。
特開2012-221367号公報 特開2010-130214号公報
しかしながら、画面を指でなぞる動作やタップ動作によると、選択対象の文字を選択し難く、また、選択ミスが生じ易い。一方、文字を入力させる場合、ソフトウェアキーボードにおけるキー面積は狭く、入力し難い。また、文字を入力させる場合、選択したい文字を確定させるまでに多くのキー入力が必要となり、煩雑である。なお、端末装置に、ハードウェアキーボードを接続する方法についても提案されるが、手間がかかるという問題点を有する。
また、OSによって提供される文字選択手段は、OSが有する共通の文字選択方法に限定される。したがって、より効果的な文字選択手段を使用する場合、アプリケーション側で文字選択手段を備える必要がある。このため、アプリケーションにおいて、より効果的な文字選択手段を実現することは困難であった。
そこで、本発明では、より効果的な文字の選択処理を実現する選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置を提供することを目的とする。
第1の側面は、画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、前記選択文字特定処理は、前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する。
第1の側面によれば、より効果的な文字の選択処理を実現する。
本実施の形態例における選択文字特定装置の構成の一例を示す図である。 本実施の形態例における選択文字特定装置のブロック図の一例を示す図である。 本実施の形態例における選択文字特定プログラムの位置付けを説明する図である。 選択文字特定処理の概要について説明する図である。 選択文字特定処理の概要について、より具体的に説明する図である。 選択文字特定プログラムの処理の流れについて説明するフローチャート図である。 文字列表示情報の具体例を示す第1の図である。 文字列表示情報の具体例を示す第2の図である。 図6の工程S14の選択文字特定処理を説明するフローチャート図である。 閉曲線のストロークが入力された場合の選択文字特定処理の詳細について説明する第1のフローチャート図である。 選択文字特定処理の詳細について説明する第2のフローチャート図である。 閉曲線のストロークと選択領域の具体例について説明する第1の例図である。 閉曲線のストロークと選択領域の具体例について説明する第2の例図である。 閉曲線以外のストロークを示す4つの例(A)〜(D)を示す例図である。 曲線または折れ線のストロークが入力された場合の選択文字特定処理の詳細について説明する第1のフローチャート図である。 図15のフローチャートに続く第2のフローチャート図である。 図16のフローチャートに続く第3のフローチャート図である。 曲線、折れ線のストロークと選択領域の具体例について説明する例図である。 複数のストロークが入力された場合における選択文字特定処理の詳細について説明するフローチャート図である。 複数のストロークと選択領域の具体例について説明する例図である。 選択領域の別の生成例について説明する図である。 文字列の形態素解析処理について説明する図である。 選択文字特定処理の変形例について説明する図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[選択文字特定装置の構成]
図1は、本実施の形態例における選択文字特定装置の構成の一例を示す図である。図1の選択文字特定装置は、例えば、スマートフォンやタブレット端末等の端末装置である。選択文字特定装置は、例えば、ディスプレイ10、ROM11、RAM12、通信インタフェース13、CPU(Central Processing Unit)14、ディスクドライブ15等を有する。各部は、バス17を介して相互に接続可能である。
図1の選択文字特定装置における通信インタフェース13は、外部の端末装置や機器との通信処理を制御する。また、ディスプレイ10は、例えば、端末装置の表示画面である。ディスクドライブ15は、記憶媒体26における情報の読み出し処理、及び、書き込み処理を制御する。また、ROM(Read Only Memory)11には、端末装置の制御プログラム等が記憶される。RAM(Random Access Memory)12には、例えば、本実施の形態例における選択文字特定プログラムPRが記憶される。CPU14は、選択文字特定プログラムPRと協働して、本実施の形態例における選択文字特定処理を実現する。
[選択文字特定装置のブロック図]
図2は、本実施の形態例における選択文字特定装置のブロック図の一例を示す図である。本実施の形態例における選択文字特定装置は、例えば、表示部21、入力制御部22、図形認識部23、選択文字特定部24、形態素解析部25、文字列抽出部26、情報管理部27、情報解析部28、文書解析部29、形態素解析部30、記憶部31、出力制御部32を有する。
記憶部31は、例えば、ハードディスクやSDカード等の記憶媒体16に対する情報の読み込み処理、及び、書き込み処理を制御する。また、記憶媒体16には、端末装置の表示画面に表示される対象の文字列(以下、表示文字列と称する、文字コード)が記憶されると共に、選択文字特定処理において使用されるや図形情報や閾値等が記憶される。
文書解析部29は、記憶部31から読み出した表示文字列に基づいて文字列表示情報を生成し、出力制御部32や情報管理部27に出力する。文字列表示情報については、後述する。また、文書解析部29は、形態素解析部30に表示文字列における単語単位の区分情報、及び、単語に対応する品詞の情報を生成させ、出力制御部32に出力する。出力制御部32は、表示文字列の表示部21への出力を制御する。また、情報管理部27は、記憶部31から図形情報や閾値を読み出すと共に、文書解析部29から文字列表示情報を取得し、図形認識部23や選択文字特定部24に出力する。
また、表示部21は、ユーザ操作に基づいて画面上に指定されるストロークの入力を検知し、入力情報を入力制御部22に出力する。例えば、ストロークは、指やタッチペンによって入力される。入力制御部22は、入力情報によって指定されるストロークの座標情報を、図形認識部23に出力し、図形認識部23は、ストロークの形状に対応する図形情報を認識し選択文字特定部24に出力する。選択文字特定部24は、表示文字列のうち、ストロークと重複する1つまたは複数の選択候補文字から選択文字を特定し、選択文字の情報(文字コード)を文字列抽出部26に出力する。
文字列抽出部26は、形態素解析部25に生成させた単語単位の区分情報に基づいて、特定された選択文字を補正し、最終的に確定された選択文字の情報(文字コード)を情報解析部28に出力する。情報解析部28は、最終的に確定された選択文字の情報、及び、特定された選択文字と最終的に確定された選択文字との差分情報等を、情報管理部27に出力する。そして、情報管理部27は、最終的に確定された選択文字の情報を出力制御部32に出力する。出力制御部32は、画面における選択文字の表示色や背景色を制御する。これにより、ユーザは、画面に対するストロークの指定の結果、特定された選択文字を検知できる。
[選択文字特定プログラムの位置付け]
図3は、本実施の形態例における選択文字特定プログラムの位置付けについて説明する図である。図3の(A)は、一般的な選択文字特定プログラムの位置付けについて説明する図である。一般的に、端末装置における文字選択プログラムは、例えば、オペレーティング・システム(以下、OS)によって提供される。つまり、OS上で動作する各アプリケーションAPは、各プラットフォームのOSxwによって提供される文字選択プログラムのインタフェースを使用する。このため、OS上で動作する各アプリケーションAPにおける選択文字特定処理の機能は、OSxwによって提供される文字選択プログラムの機能に制限される。
一方、図3の(B)は、本実施の形態例における選択文字特定プログラムの位置付けについて説明する図である。そこで、本実施の形態例における選択文字特定プログラムPRは、例えば、ミドルウェアMDとして提供される。ミドルウェアMDは、OSxwと各アプリケーションAPとを仲介するソフトウェアを示す。つまり、OS上で動作する各アプリケーションAPは、ミドルウェアMD層における選択文字特定プログラムPRのインタフェースを使用することができる。これにより、各アプリケーションAPは、本実施の形態例の選択文字特定プログラムPRに基づいて、OSxwによって提供される文字選択プログラムの機能に制限されることなく、より効果的な文字の選択処理を実現できる。
[選択文字特定処理の概要]
図4は、本実施の形態例における選択文字特定処理の概要について説明する図である。本実施の形態例において、ユーザは、端末装置の画面に表示される表示文字列における選択対象の1つまたは複数の文字付近を、手やタッチペン等によって指定される閉曲線のストロークsaによって囲む。この例において、文字列「も天気が」が、閉曲線のストロークsaによって囲まれる。そして、本実施の形態例における選択文字特定プログラムPRは、ストロークsaと重複する文字列「も天気が」のうち、選択文字として文字列「天気」ffを特定する。
図5は、本実施の形態例における選択文字特定処理の概要について、より具体的に説明する図である。図5の表Hhは、ストロークと重複する文字列「も天気がよ」における各文字について、選択文字として特定されるか否かの判定結果を示す表である。また、図5において、文字列「も天気がよ」における各文字を内包する点線の各矩形は、文字領域EEを示す。
選択文字特定プログラムPRは、例えば、ストロークsbと重複する選択候補文字「も」「天」「気」「が」それぞれについて、選択文字の特定処理を行う。具体的に、選択文字特定プログラムPRは、例えば、文字領域EEにおける、ストロークsb上の最上下左右点に基づいて選択領域Ba〜Bcを生成する。そして、選択文字特定プログラムPRは、選択領域Ba〜Bcの文字領域EEに対する面積の割合が閾値を超える場合に、選択文字として特定する。
図5の例において、選択候補文字「も」「天」「気」「が」のうち、選択候補文字「天」「気」「が」について、選択領域Ba〜Bcの文字領域EEに対する面積の割合が閾値を超える。このため、選択文字特定プログラムPRは、文字列「天気が」を選択文字として特定する。なお、図4、図5の例において、形状が閉曲線のストロークsbによって、文字が選択される場合を例示した。ただし、直線や曲線、折れ線等の1つまたは複数のストロークによって、文字が選択されてもよい。直線や曲線、折れ線等の1つまたは複数のストロークsbの例については、後述する。
続いて、本実施の形態例における選択文字特定プログラムPRの処理について、フローチャート図に基づいて説明する。
[フローチャート:選択文字特定プログラムの処理]
図6は、本実施の形態例における選択文字特定プログラムPRの処理の流れについて説明するフローチャート図である。図6の(A)は、本実施の形態例における選択文字特定プログラムPRの事前処理について説明するフローチャート図である。なお、図6(A)のフローチャート図における工程S1、S2の処理は、ストロークの入力時に行われてもよい。
まず、選択文字特定プログラムPRは、表示文字列に係る文字列表示情報を抽出し、表示文字列が有する各文字の文字領域を検出する(S1)。文字領域は、例えば、各文字が表示される表示画面上の領域の情報を示す。また、文字列表示情報は、例えば、表示文字列の先頭文字の位置、文字サイズ、及び、行間等の情報を有する。選択文字特定プログラムPRは、文字列表示情報に基づいて、表示文字列における各文字の文字領域の座標を算出できる。例えば、表示文字列における3つ目の文字について、選択文字特定プログラムPRは、先頭文字の座標に対して、1つ目、2つ目の文字の幅、または、高さを加算することによって、文字領域の座標を算出できる。
続いて、選択文字特定プログラムPRは、表示文字列の形態素解析処理に基づいて、単語単位の区分情報を生成する(S2)。形態素解析処理とは、文字列を、最小単位の単語に分割し、各単語の品詞を判別する解析処理である。例えば、文字列「天気がよい」は、名詞「天気」、助詞「が」、形容詞「よい」の各単語に区分される。単語単位の区分情報は、選択文字の補正処理工程(S15)において使用される。
図6の(B)は、本実施の形態例における選択文字特定プログラムPRにおける、ストローク入力時の処理について説明するフローチャート図である。まず、ユーザ操作に基づいて画面上に指定されるストロークの入力開始が検知される(S11)。続いて、選択文字特定プログラムPRは、ストロークの解析を開始する(S12)。そして、ストロークの入力終了が検知される(S13)。
続いて、選択文字特定プログラムPRは、ストロークと文字領域とに基づいて、1つ、または連続する複数の選択文字の特定処理を行う(S14)。工程S14の処理の詳細については、別のフローチャート図で後述する。次に、選択文字特定プログラムPRは、特定された選択文字を対象として補正処理を行う(S15)。具体的に、選択文字特定プログラムPRは、選択文字の先頭、または末尾に単語をなさない文字が含まれる場合、例えば、当該単語をなさない文字を除外する。そして、選択文字特定プログラムPRは、補正後の選択文字を、選択文字として確定する(S16)。
[具体例:文字列表示情報]
図7は、文字列表示情報の具体例を示す第1の図である。この例では、表示文字列「今日はとても天気がよいです。雨が降りそう…」が例示される。なお、図7の例において、文字「今日は」の各文字に文字領域EEが示されるが、実際の処理において、表示文字列の全ての文字に対して文字領域EEが検出される。なお、表示文字列の表示方向は、予め、検知される。また、この例において、表示文字列における各文字のサイズは、均一である。
図7の例において、文字列表示情報は、表示文字列における先頭文字の位置、表示文字列の文字サイズ、及び、行間L1の情報を有する。先頭文字の位置情報は、例えば、表示画面における先頭文字の座標情報pc(x,y)である。また、表示文字列の文字サイズは、例えば、各文字の幅W1、及び、高さH1を示す。選択文字特定プログラムPRは、文字列表示情報に基づいて各文字の文字領域を算出可能になることにより、各文字について文字領域の座標情報を予め保持する必要がない。これにより、保持対象のデータ量が削減可能になる。
図8は、文字列表示情報の具体例を示す第2の図である。図8の例では、表示文字列に修飾文字が含まれる。修飾文字とは、例えば、他の文字とサイズが異なる文字や、ルビ等を示す。図8の例において、文字「雨」のサイズが大きく、文字「降」にルビが付加されている。
図8の例において、文字列表示情報は、先頭文字の位置、表示文字列の文字サイズ、及び、行間L1の情報に加えて、修飾文字の文字サイズ、及び、行間L2、L3の情報を有する。具体的に、図8の文字列表示情報は、修飾文字の文字列表示情報として、文字「雨」の幅W2、高さH2、行間L2の情報、及び、ルビ「ふ」の文字の幅W3、高さH3、行間L3の情報を含む。これにより、選択文字特定プログラムPRは、表示文字列が修飾文字を含む場合についても、表示文字列の各文字について、文字列表示情報に基づいて文字領域を検出できる。
続いて、図6のフローチャート図における工程S14の選択文字特定処理について、より具体的に説明する。
[フローチャート:選択文字特定処理]
図9は、選択文字特定処理(図6のS14)について説明するフローチャート図である。まず、選択文字特定プログラムPRは、ストロークと重複する文字のうち1文字を、選択候補文字として選定する(S21)。続いて、選択文字特定プログラムPRは、選択候補文字について、検出したストロークと文字領域とに基づいて選択領域の面積を算出する(S22)。そして、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合が閾値を超える場合に(S23のYES)、選択候補文字を選択文字として特定する(S24)。工程S22〜工程S24の処理の詳細については、別のフローチャート図に基づいて後述する。
一方、選択領域の文字領域に対する面積の割合が閾値を超えない場合(S23のNO)、選択文字特定プログラムPRは、未選定の選択候補文字があるか否かを判定する(S25)。未選定の選択候補文字がある場合(S25のYES)、選択文字特定プログラムPRは、次の選択候補文字を選定する(S21)。未選定の選択候補文字がない場合(S25のNO)、選択文字特定プログラムPRは、選択文字特定処理(図6のS14)を終了する。
続いて、図9のフローチャート図における工程S22〜S24の処理の詳細について、フローチャート図に基づいて説明する。まず、入力されたストロークが閉曲線のストロークである場合における処理について説明する。選択文字特定プログラムPRは、閉曲線のストロークを検知した場合、次のフローチャート図に基づいて工程S22〜S24(図9)の処理を行う。
[フローチャート:選択文字特定処理の詳細(閉曲線のストローク)]
図10は、閉曲線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第1のフローチャート図である。図10のフローチャート図の処理は、図9の工程S22に対応する。
まず、選択文字特定プログラムPRは、選択候補文字について、ストロークが文字領域の四辺と交差しておらず、ストロークが全て文字領域内に収まっているか否かを判定する(S31)。工程S31がYESの場合、選択文字特定プログラムPRは、ストロークにおける4つの頂点、即ち、ストロークの最上下左右点の座標を記憶する(S32)。工程S32に続く処理(3)は、別のフローチャート図において後述する。
続いて、工程S31がNOの場合、選択文字特定プログラムPRは、さらに、選択候補文字について、ストロークが文字領域の四辺と交差しておらず、ストロークが全て文字領域外に位置するか否かを判定する(S33)。工程S33がYESの場合、選択文字特定プログラムPRは、選択候補文字の文字領域の各頂点の座標を記憶する(S34)。工程S34に続く処理(3)は、別のフローチャート図において後述する。工程S33がNOの場合の処理(2)、次のフローチャート図に続く。
図11は、本実施の形態例における選択文字特定処理の詳細について説明する第2のフローチャート図である。図11のフローチャート図は、図9の工程S22〜S24に対応する。
図10のフローチャート図において、工程S33がNOの場合、続いて、選択文字特定プログラムPRは、選択候補文字の文字領域における1つの対象辺とストロークとが交差するか否かを判定する(S41)。交差する場合(S41のYES)、選択文字特定プログラムPRは、それぞれの交差点の座標を記憶する(S42)。一方、交差しない場合(S41のNO)、選択文字特定プログラムPRは、ストロークが選択候補文字の文字領域における対象辺の外側に位置するか否かを判定する(S43)。ストロークが対象辺と交差しておらず(S41のNO)、対象辺の外側に位置する場合(S43のYES)、選択文字特定プログラムPRは、対象辺の両端の座標を記憶する(S44)。また、ストロークが対象辺と交差しておらず(S41のNO)、対象辺の内側に位置する場合(S43のNO)、選択文字特定プログラムPRは、対象辺の内側に位置するストロークの頂点の座標を記憶する(S45)。
続いて、選択文字特定プログラムPRは、選択候補文字の文字領域における全ての辺を対象辺として、工程S41〜S45の処理を行ったか否かを判定する(S46)。工程S41〜S45の処理が、全ての辺に対して行われていない場合(S46のNO)、選択文字特定プログラムPRは、未選択の辺を対象として、工程S41〜S45の処理を行う。そして、全ての辺に対して工程S41〜S45の処理が行われた場合(S46のYES)、または、図10のフローチャート図における工程S32、S34に続く処理として、選択文字特定プログラムPRは、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結び付けた多角形の領域を、選択領域として生成し、面積を算出する(S47)。多角形の面積Sは、例えば、次の式1によって算出される。多角形の面積は、多角形における各頂点の位置ベクトルから外積を用いることによって算出可能である。式1において、(Xk−Xk+1)(Yk−Yk+1)は、多角形の頂点を反時計回りに並べた場合の位置ベクトルを示す。
Figure 2015026307
続いて、選択文字特定プログラムPRは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占めるか否かを判定する(S48)。閾値を超える割合を占める場合(S48のYES)、選択文字特定プログラムPRは、選択候補文字を選択文字として特定する(S49)。一方、割合が閾値未満の場合(S48のNO)、選択文字特定プログラムPRは、選択候補文字を非選択の文字として特定する(S50)。続いて、選択文字特定プログラムPRは、未判定の選択候補文字について、図10、図11のフローチャート図の処理を行う。
[具体例:閉曲線のストローク]
図12は、閉曲線のストロークと選択領域の具体例について説明する第1の例図である。図12の(A)(B)は、閉曲線のストロークと選択領域の2つの事例を示す。
[具体例(A)]
図12の(A)の例は、選択候補文字「も」について、ストロークが文字領域EEの四辺と交差しておらず、ストロークが全て文字領域内に収まる場合(図10のS31のYES)の例を示す。具体的に、選択候補文字「も」の文字領域EEの四辺は、ストロークs1と交差しておらず、ストロークs1が文字領域内に収まる。このため、ストロークs1における最上下左右点a11〜a14の座標が記憶される(S32)。そして、選択領域として、記憶された各点a11〜a14に基づいて、座標の隣り合う点が結ばれた多角形A1−1が算出される(S47)。例えば、選択領域A1−1が、文字領域EEにおける閾値を超える割合を占める場合(S48のYES)、選択候補文字「も」は、選択文字として特定される(S49)。
[具体例(B)]
図12の(B)の例は、選択候補文字について、ストロークが文字領域EEの四辺と交差しておらず、ストロークが全て文字領域外に位置する場合(図10のS33のYES)の例を示す。具体的に、選択候補文字「天」「気」それぞれについて、文字領域EEの四辺は、ストロークs2と交差しておらず、ストロークs2が各文字領域EEの外側に位置する。このため、選択候補文字「天」について、文字領域EEの各頂点b11、b12、b15、b16の座標が、選択候補文字「気」について、文字領域EEの各頂点b12〜b15の座標が、記憶される(S34)。
そして、選択候補文字「天」の選択領域として、記憶された各点b11、b12、b15、b16に基づいて、座標の隣り合う点が結ばれた多角形B1−1が算出される(S47)。また、選択候補文字「気」の選択領域として、b12〜b15に基づいて、座標の隣り合う点が結ばれた多角形B1−2が算出される(S47)。同様にして、選択領域B1−1、B1−2が、文字領域EEにおける閾値を超える割合を占める場合(S48のYES)、対応する選択候補文字が、選択文字として特定される(S49)。
図13は、閉曲線のストロークと選択領域の具体例について説明する第2の例図である。図13の(A)〜(D)は、閉曲線のストロークと選択領域の4つの事例を示す。
[具体例(A)]
図13の(A)の例は、選択候補文字の文字領域EEにおける1つ以上の対象辺とストロークs3とが交差する場合(図11のS41のYES)、及び、ストロークs3が選択候補文字の文字領域EEにおける対象辺の外側に位置する場合(図11のS43のYES)の例を示す。
具体的に、選択候補文字「天」について、文字領域EEの上辺、左辺、右辺について、ストロークs3と交差する(S41のYES)。このため、上辺、左辺、右辺とストロークs3との交差点a21、a22、a28、a29が記憶される(S42)。また、選択候補文字「天」の下辺について、ストロークs3が外側に位置する(S43のYES)。このため、下辺の両端の点a23、a27の座標が記憶される(S44)。そして、選択領域として、記憶された各点a21〜a23、a27〜a29に基づいて、座標の隣り合う点が結ばれた多角形A2−1が算出される。
同様にして、選択候補文字「気」について、文字領域EEの左辺、右辺について、ストロークs3と交差する(S41のYES)。このため、左辺、右辺とストロークs3との交差点a24、a26が記憶される(S42)。また、選択候補文字「気」の上辺は、ストロークs3が外側に位置するため(S43のYES)、上辺の両端の点a23、a27の座標が記憶される(S44)。また、選択候補文字「気」の下辺は、ストロークs3が内側に位置するため(S43のNO)、下辺の内側に位置するストロークs3の頂点a25の座標が記憶される(S45)。そして、選択領域として、記憶された各点a23〜a27に基づいて、座標の隣り合う点が結ばれた多角形A2−2が算出される。
[具体例(B)]
図13の(B)の選択候補文字「天」について、文字領域EEの下辺はストロークs4と交差し(S41のYES)、上辺、左辺、右辺についてはストロークs4が内側に位置する(S43のNO)。このため、下辺とストロークs4との交差点b22、b24と、上辺、左辺、右辺の内側に位置するストロークs4の頂点b21、b22、b24とに基づく、隣り合う点が結ばれた多角形B2−1が選択領域として算出される。この例において、左辺の内側に位置するストロークs4の頂点b22、及び、右辺の内側に位置するストロークs4の頂点b24は、下辺とストロークs4との交差点b22、b24と同一である。
図13の(B)の選択候補文字「気」について、文字領域EEの上辺はストロークs4と交差し(S41のYES)、左辺、右辺、下辺については、ストロークs4が内側に位置する(S43のNO)。このため、上辺とストロークs4との交差点b22,b24と、左辺、右辺、下辺の内側に位置するストロークs4の頂点b22〜b24とに基づいて、隣り合う点が結ばれた多角形B2−2が選択領域として算出される。
[具体例(C)]
図13の(C)の選択候補文字「天」について、文字領域EEの上辺、左辺、右辺はストロークs5と交差し(S41のYES)、下辺についてはストロークs5が外側に位置する(S43のYES)。このため、上辺、左辺、右辺とストロークs5との交差点c21、c22、c28と、下辺の両端の点c23、c27とに基づいて、隣り合う点が結ばれた多角形C2−1が選択領域として算出される。また、選択候補文字「気」において、文字領域EEの左辺、右辺、下辺はストロークs5と交差し(S41のYES)、上辺についてはストロークs5が外側に位置する(S43のYES)。このため、左辺、右辺、下辺とストロークs5との交差点c24、c26、c25と、上辺の両端の点c23、c27とに基づいて、隣り合う点が結ばれた多角形C2−2が選択領域として算出される。
[具体例(D)]
また、図13の(D)の選択候補文字「天」において、文字領域EEの左辺、右辺とストロークs6との交差点d22、d26と、上辺の内側に位置するストロークs6の頂点d21と、下辺の両端の点d23、d25とに基づく多角形D2−1が選択領域として算出される。また、選択候補文字「気」においては、文字領域EEの左辺、右辺とストロークs6との交差点d23、d25と、下辺の内側に位置するストロークs6の頂点d24とに基づく多角形D2−2が選択領域として算出される。
このように、本実施の形態例における選択文字特定プログラムPRは、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点を結ぶ多角形と文字領域との重複領域を選択領域として生成する。そして、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する。
これにより、選択文字特定プログラムPRは、閉曲線のストロークに基づいて、容易に、1つまたは連続する複数の選択文字の特定を可能にする。また、意図しない文字と重複し易い閉曲線によって文字が選択される場合であっても、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、意図した文字についてのみ、選択文字として特定できる。これにより、ユーザは、対応する面積領域をイメージし易い閉曲線のストロークに基づいて、より直感的に、高精度に、1つまたは連続する複数の文字を効率的に選択することができる。
[選択領域の別の生成例]
なお、本実施の形態例では、選択文字特定プログラムPRは、文字領域における閉曲線の最上下左右点と文字領域の頂点とに基づいて、選択領域を生成する。しかしながら、この例に限定されるものではない。選択文字特定プログラムPRは、図13の(E)に示すように、閉曲線の最上下左右点に内接する内包領域と文字領域との重複領域を、選択領域E2−1として生成してもよい(図9のS22)。そして、選択文字特定プログラムPRは、表示文字列の各文字のうち、閉曲線に対応する領域と文字領域との重複領域E2−1の、文字領域EEにおける割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する(図9のS23、S24)。
続いて、閉曲線ではないストロークが入力される場合における選択文字特定処理について説明する。まず、閉曲線ではないストロークの具体的について例示する。
[具体例:閉曲線以外のストローク]
図14は、閉曲線以外のストロークを示す4つの例(A)〜(D)を示す例図である。図14の(A)は、蛇行する曲線(波線)のストロークs11が入力された場合の例を示す。また、図14の(B)は、折れ線のストロークs12が入力された場合の例を示す。このように、ストロークは、曲線、または、折れ線であってもよい。閉曲線に加えて、曲線や折れ線のストロークが入力可能になることによって、ユーザは、より直感的な操作に基づいて、文字を選択することができる。
また、図14の(C)は、2つの平行する直線のストロークs13が入力された場合の例を示す。また、図14の(D)は、2つの交差する直線のストロークs14が入力された場合の例を示す。このように、ストロークは、複数の線であってもよい。なお、この例において、直線の複数のストロークが示されるが、いずれかまたは両方の線が、曲線、または折れ線等であってもよい。また、複数のストロークは、3つ以上のストロークであってもよい。
続いて、まず、1つのストロークであって、曲線または折れ線のストロークが入力される場合における選択文字特定処理について説明する。選択文字特定プログラムPRは、ストロークの形状が閉曲線ではなく、1つの曲線または折れ線のストロークである場合、次のフローチャート図に基づいて、選択文字特定処理を行う。
[フローチャート:選択文字特定処理の詳細(曲線または折れ線のストローク)]
図15は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第1のフローチャート図である。図15のフローチャート図の処理は、図9の工程S22に対応する。
選択文字特定プログラムPRは、まず、選択候補文字について、文字領域におけるストロークの最上端の座標を取得する(S61)。続いて、選択文字特定プログラムPRは、ストロークが文字領域の上辺方向にはみ出しているか否かを判定する(S62)。即ち、選択文字特定プログラムPRは、文字領域の上辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の上辺方向にはみ出す場合(S62のYES)、選択文字特定プログラムPRは、文字領域の上辺とストロークとの交差点の座標を記憶する(S63)。一方、ストロークが文字領域の上辺方向にはみ出さない場合(S62のNO)、選択文字特定プログラムPRは、ストロークの最上端の座標を記憶する(S64)。
続いて、選択文字特定プログラムPRは、選択候補文字について、文字領域におけるストロークの最下端の座標を取得する(S65)。次に、選択文字特定プログラムPRは、ストロークが文字領域の下辺方向にはみ出しているか否かを判定する(S66)。即ち、選択文字特定プログラムPRは、文字領域の下辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の下辺方向にはみ出す場合(S66のYES)、選択文字特定プログラムPRは、文字領域の下辺とストロークとの交差点の座標を記憶する(S67)。一方、ストロークが文字領域の下辺方向にはみ出さない場合(S66のNO)、選択文字特定プログラムPRは、ストロークの最下端の座標を記憶する(S68)。
図16は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第2のフローチャート図である。図16のフローチャート図の処理は、図9の工程S22に対応する。
図15のフローチャート図に続いて、選択文字特定プログラムPRは、選択候補文字について、文字領域におけるストロークの最左端の座標を取得する(S71)。次に、選択文字特定プログラムPRは、ストロークが文字領域の左辺方向にはみ出しているか否かを判定する(S72)。即ち、選択文字特定プログラムPRは、文字領域の左辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の左辺方向にはみ出す場合(S72のYES)、選択文字特定プログラムPRは、文字領域の左辺とストロークとの交差点の座標を記憶する(S73)。一方、ストロークが文字領域の左辺方向にはみ出さない場合(S72のNO)、選択文字特定プログラムPRは、ストロークの最左端の座標を記憶する(S74)。
続いて、選択文字特定プログラムPRは、選択候補文字について、文字領域におけるストロークの最右端の座標を取得する(S75)。次に、選択文字特定プログラムPRは、ストロークが文字領域の右辺方向にはみ出しているか否かを判定する(S76)。即ち、選択文字特定プログラムPRは、文字領域の右辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の右辺方向にはみ出す場合(S76のYES)、選択文字特定プログラムPRは、文字領域の右辺とストロークとの交差点の座標を記憶する(S77)。一方、ストロークが文字領域の右辺方向にはみ出さない場合(S76のNO)、選択文字特定プログラムPRは、ストロークの最右端の座標を記憶する(S78)。
図17は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における文字特定処理の詳細について説明する第3のフローチャート図である。図17のフローチャート図の処理は、図9の工程S22〜S24に対応する。
図16のフローチャート図に続いて、選択文字特定プログラムPRは、選択候補文字の文字領域の4つの頂点の座標を記憶する(S81)。次に、選択文字特定プログラムPRは、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結んだ多角形を選択領域として生成し、面積を算出する(S82)。記憶した全ての点は、例えば、ストロークの頂点、ストロークと文字領域との交差点、文字領域の4つの頂点等である。多角形の面積は、前述したとおり、式1にもとづいて算出可能である。
続いて、選択文字特定プログラムPRは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占めるか否かを判定する(S83)。閾値を超える割合を占める場合(S83のYES)、選択文字特定プログラムPRは、選択候補文字を選択文字として特定する(S84)。一方、割合が閾値未満の場合(S83のNO)、選択文字特定プログラムPRは、選択候補文字を非選択の文字として特定する(S85)。続いて、選択文字特定プログラムPRは、未判定の選択候補文字について、図15〜図17のフローチャート図の処理を行う。
[具体例:曲線または折れ線のストローク]
図18は、曲線または折れ線のストロークと選択領域の具体例について説明する例図である。図18の(A)(B)は、曲線または折れ線のストロークと選択領域の2つの事例を示す。
[具体例(A)]
図18の(A)の例において、選択候補文字「天」について、ストロークs11が文字領域の上辺と交差しないため(図15のS62のNO)、ストロークs11の最上端の点a32の座標が記憶される(図15のS64)。また、ストロークs11が文字領域の下辺と交差するため(図15のS66のYES)、ストロークs11と文字領域との交差点a29の座標が記憶される(図15のS67)。また、ストロークs11が文字領域の左辺と交差しないため(図16のS72のNO)、ストロークs11の最左端の点a22の座標が記憶されると共に(図16のS74)、ストロークs11が文字領域の右辺と交差しないため(図16のS76のNO)、ストロークs11の最右端の点a30の座標が記憶される(図16のS78)。
そして、ストロークs11上の上下左右点a32、a29、a22、a30、及び、文字領域の各頂点a21、a23、a28、a31に基づいて、多角形A3−1が選択領域として生成される。具体的に、例えば、頂点a21と、最左端の点a22と、頂点a23と、頂点s28と、最右端の点a30と、頂点a31と、最上端の点a32と、頂点a21とが結び付けられる。この例において、最下端の点a29は、頂点a23と頂点a28を結ぶ線分の延長上に位置するため、省略される。
なお、複数の点に基づく多角形を形成方法はこの例に限定されるものではない。多角形は、ストロークs11上の上下左右点a32、a29、a22、a30と、文字領域の各頂点a21、a23、a28、a31とに基づいて生成されればよい。本実施の形態例では、選択文字特定プログラムPRは、例えば、対象の点のうち、近い距離に位置する2つの点を結び付けることによって、多角形を形成する。
続いて、図18の(A)の例における選択候補文字「気」について説明する。選択候補文字「気」について、ストロークs11が文字領域の上辺と交差するため(図15のS62のYES)、ストロークs11と文字領域との交差点a29の座標が記憶される(図15のS63)。また、ストロークs11が文字領域の下辺と交差するため(図15のS66のYES)、ストロークs11と文字領域との交差点a26の座標が記憶される(図15のS67)。また、ストロークs11が文字領域の左辺と交差しないため(図16のS72のNO)、ストロークs11の最左端の点a24の座標が記憶されると共に(図16のS74)、ストロークs11が文字領域の右辺と交差しないため(図16のS76のNO)、ストロークs11の最右端の点a29の座標が記憶される(図16のS78)。
そして、選択領域として、ストロークs11上の上下左右点a29、a26、a24、及び、文字領域の各頂点a23、a25、a27、a28に基づいて、多角形A3−2が生成される。具体的に、例えば、頂点a23と、最左端の点a24と、頂点a25と、頂点s27と、頂点a28と、頂点a23とが結び付けられる。この例において、最下端の点a26は、頂点a25と頂点a27を結ぶ線分の延長上に位置するため、省略される。また、点a29は、頂点a28と頂点a23を結ぶ線分の延長上に位置するため、省略される。また、最上端の点a29と最右端の点a29とは同一の点であるため、例えば、頂点a27は、直接、頂点a28に対して結び付けられる。ただし、この例に限定されるものではなく、記憶された各点に基づいて、多角形が形成されればよい。
[具体例(B)]
図18の(B)における選択候補文字「天」について、ストロークs12上の上下左右点として、点b30、b22、b29が記憶される。そして、選択領域として、点b30、b22、b29、及び、文字領域の各頂点b21、b23、b28、b31に基づいて多角形B3−1が生成される。この例において、最下端の点b29は、頂点b23と頂点b28を結ぶ線分の延長上に位置するため、省略される。また、この例において、最上端の点b30と最右端の点b30とは同一の点であるため、例えば、頂点b31は直接、頂点b21に対して結び付けられる。また、選択候補文字「気」について、ストロークs12上の上下左右点として、点b29、b24、b27が記憶される。そして、選択領域として、点b29、b24、b27、及び、文字領域の各頂点b23、b25、b26、b28に基づいて多角形B3−2が生成される。この例において、最左端の点b24と最下端の点b24とは同一の点であるため、例えば、頂点a25は直接、頂点a26に対して結び付けられる。
このように、本実施の形態例における選択文字特定プログラムPRは、文字領域における1つまたは複数のストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域を選択領域として生成する。そして、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する。
これにより、選択文字特定プログラムPRは、曲線や折れ線のストロークに基づいて、容易に、1つまたは連続する複数の選択文字の特定を可能にする。また、意図しない文字と重複し易い閉曲線によって文字が選択される場合であっても、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、意図した文字についてのみ、選択文字として特定できる。また、選択文字特定プログラムPRは、ストロークの最上下左右点と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域を生成することにより、短いストロークによってより広い選択領域を生成することができる。これにより、ユーザは、曲線や折れ線等のストロークに基づいて、より直感的に、高精度に、1つまたは連続する複数の文字を効率的に選択することができる。
続いて、複数のストロークが入力される場合における選択文字特定処理について説明する。選択文字特定プログラムPRは、ユーザ操作に基づいて画面上に指定されたストロークが複数である場合、次のフローチャート図に基づいて、選択文字特定処理を行う。
[フローチャート:選択文字特定処理の詳細(複数のストローク)]
図19は、複数のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明するフローチャート図である。図19のフローチャート図の処理は、図9の工程S22に対応する。
選択文字特定プログラムPRは、まず、選択候補文字について、文字領域におけるストロークの最上端の座標を取得する(S91)。続いて、選択文字特定プログラムPRは、ストロークが文字領域の上辺方向にはみ出しているか否かを判定する(S92)。即ち、選択文字特定プログラムPRは、文字領域の上辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の上辺方向にはみ出す場合(S92のYES)、選択文字特定プログラムPRは、文字領域の上辺とストロークとの交差点の座標を記憶する(S93)。一方、ストロークが文字領域の上辺方向にはみ出さない場合(S92のNO)、選択文字特定プログラムPRは、ストロークの最上端の座標を記憶する(S94)。
続いて、選択文字特定プログラムPRは、複数のストロークにおける全てのストロークについて、最上端の点の判定処理(S91〜S94)を行ったか否かを判定する(S95)。全てのストロークについて最上端の点の判定を完了していない場合(S95のNO)、選択文字特定プログラムPRは、未判定の最上端の点について、工程S91〜S94の処理を行う。
一方、全てのストロークについて最上端の点の判定を完了した場合(S95のYES)、選択文字特定プログラムPRは、続いて、選択候補文字について、文字領域におけるストロークの最下端の座標を取得する(S96)。続いて、選択文字特定プログラムPRは、ストロークが文字領域の下辺方向にはみ出しているか否かを判定する(S97)。即ち、選択文字特定プログラムPRは、文字領域の下辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の下辺にはみ出す場合(S97のYES)、選択文字特定プログラムPRは、文字領域の下辺とストロークとの交差点の座標を記憶する(S98)。一方、ストロークが文字領域の下辺方向にはみ出さない場合(S97のNO)、選択文字特定プログラムPRは、ストロークの最下端の座標を記憶する(S99)。
続いて、選択文字特定プログラムPRは、複数のストロークにおける全てのストロークについて、最下端の点の判定処理(S96〜S99)を行ったか否かを判定する(S100)。全てのストロークについて最下端の点の判定を完了していない場合(S100のNO)、選択文字特定プログラムPRは、未判定の最下端の点について、工程S96〜S99の処理を行う。このように、複数のストロークが入力される場合、各ストロークの最上下点が記憶されることによって、実質的に、ストロークの最上下左右点が記憶される。
続く処理は、図17のフローチャートと同様である。即ち、選択文字特定プログラムPRは、選択候補文字の文字領域の4つの頂点の座標を記憶し(図17のS81)、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結んで選択領域を生成し、面積を算出する(S82)。そして、選択文字特定プログラムPRは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占める場合に(S83のYES)。選択候補文字を選択文字として特定する(S84)。割合が閾値未満の場合(S83のNO)、選択文字特定プログラムPRは、選択候補文字を非選択の文字として特定する(S85)。
[具体例:複数のストローク]
図20は、複数のストロークと選択領域の具体例について説明する例図である。図20の(A)(B)は、複数のストロークと選択領域の2つの事例を示す。
[具体例(A)]
図20の(A)の例における選択候補文字「天」について、2つのストロークs13はそれぞれ文字領域の上辺と交差しないため(図19のS92のNO)、2つのストロークs13の最上端の点a51、a52の座標が記憶される(図19のS94)。また、2つのストロークs13が文字領域の下辺と交差するため(図19のS97のYES)、2つのストロークs13と文字領域の下辺との交差点a42、a49の座標が記憶される(図19のS98)。
そして、2つのストロークs13上のそれぞれの上下点a51、a52、a42、a49、及び、文字領域の各頂点a41、a43、a48、a50に基づいて、多角形A4−1が選択領域として生成される。具体的に、例えば、頂点a41と、頂点a43と、頂点a48、頂点a50、1つ目の最上端の点a51と、2つ目の最上端の点a52と、頂点a41とが結び付けられる。なお、この例において、最下端の点a42及び点a49は、頂点a43と頂点a48を結ぶ線分の延長上に位置するため、省略される。
続いて、図20の(A)の例における選択候補文字「気」について、2つのストロークs13がそれぞれ文字領域の上辺と交差するため(図19のS92のYES)、2つのストロークs13と文字領域の上辺との交差点a42、a49の座標が記憶される(図19のS93)。また、選択候補文字「気」について、2つのストロークs13が文字領域の下辺と交差しないため(図19のS97のNO)、2つのストロークs13の最下端の点a45、a46の座標が記憶される(図19のS99)。
そして、2つのストロークs13上のそれぞれの上下点a42、a49、a45、a46、及び、文字領域の各頂点a43、a44、a47、a48に基づいて、多角形A4−2が選択領域として生成される。具体的に、例えば、頂点a43と、頂点a44と、1つ目の最下端の点a45と、2つ目の最下端の点a46と、頂点a47、頂点a48、頂点s43とが結び付けられる。なお、この例において、最上端の点a42及び点a49は、頂点a43と頂点a48を結ぶ線分の延長上に位置するため、省略される。
[具体例(B)]
図20の(B)の例における選択候補文字「天」について、2つのストロークs14がそれぞれ文字領域の上辺と交差しないため(図19のS92のNO)、2つのストロークs14の最上端の点b52、b50の座標が記憶される(図19のS94)。また、2つのストロークs14が文字領域の下辺と交差するため(図19のS97のYES)、2つのストロークs14と文字領域の下辺との交差点b42、b49の座標が記憶される(図19のS98)。そして、それぞれの上下点b52、b50、b42、b49、及び、文字領域の各頂点b41、b43、b48、b51に基づいて、多角形B4−1が選択領域として生成される。
続いて、図20の(B)の例における選択候補文字「気」について、2つのストロークs14がそれぞれ文字領域の上辺と交差するため(図19のS92のYES)、2つのストロークs14と文字領域の上辺との交差点b42、b49の座標が記憶される(図19のS93)。また、選択候補文字「気」について、2つのストロークs14が文字領域の下辺と交差しないため(図19のS97のNO)、2つのストロークs14の最下端の点b44、b47の座標が記憶される(図19のS99)。なお、このとき、2つのストロークs14が、文字領域の左辺、または、右辺と交差する場合、交差点の座標が記憶される。そして、それぞれの上下点b42、b49、b44、b47、及び、文字領域の各頂点b43、b45、b46、b48に基づいて、多角形B4−2が選択領域として生成される。
このように、本実施の形態例における選択文字特定プログラムPRは、複数のストロークが指定された場合についても、文字領域における1つまたは複数のストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域を選択領域として生成することができる。これにより、図20の(A)のように、複数のストロークを包含する矩形領域の面積が狭いストロークが指定された場合においても、広い選択領域が生成可能になる。また、図20の(B)のように、複数のストロークを包含する矩形領域の面積が容易にイメージ可能なストロークに基づいて、文字の選択が可能になる。これにより、ユーザは、短いストロークに基づいて、簡易に、より直感的に、1つまたは連続する複数の文字を効率的に選択することができる。
[選択領域の別の生成例]
図21は、選択領域の別の生成例について説明する図である。図21の(A)(B)は、曲線または折れ線のストロークと選択領域の2つの事例を示す。この例において、ストロークの外接矩形A5e、B5eが生成され、外接矩形A5e、B5eの頂点、または、外接矩形A5e、B5eと文字領域EEの辺との交差点、及び、文字領域EEの頂点に基づいて選択領域が生成される。
[具体例(A)]
図21の(A)の例において、ストロークs11に外接する矩形A5eが生成される。そして、選択候補文字「天」について、外接矩形A5eの上辺の両端の点a61、a71と、外接矩形A5eと文字領域EEの辺との交差点a63、a69とが記憶される。そこで、外接矩形A5e上の各点a61、a71、a63、a69、及び、文字領域EEの各頂点a61、a64、a70、a72に基づいて、多角形A5−1が選択領域として生成される。また、選択候補文字「気」について、外接矩形A5eと文字領域EEの辺との交差点a63、a69と、外接矩形A5eと文字領域EEの辺との交差点a66、a67とが記憶される。そこで、外接矩形A5e上の各点a63、a69、a66、a67、及び、文字領域EEの各頂点a64、a65、a68、a70に基づいて、多角形A5−2が選択領域として生成される。
[具体例(B)]
図21の(B)の例において、ストロークs12に外接する矩形B5eが生成される。そして、選択候補文字「天」について、外接矩形B5eの上辺の両端の点b62、b71と、外接矩形B5eと文字領域EEの辺との交差点b63、b70とが記憶される。そこで、外接矩形B5e上の各点b62、b71、b63、b70、及び、文字領域の各頂点b61、b64、b69、b72に基づいて、多角形B5−1が選択領域として生成される。また、選択候補文字「気」について、外接矩形B5eと文字領域EEの辺との交差点b63、b69と、外接矩形B5eの下辺の両端の点b65、b68とが記憶される。そこで、外接矩形B5e上の各点b63、b69、b65、b68、及び、文字領域の各頂点b64、b66、b67、b69に基づいて多角形B5−2が選択領域として生成される。
なお、図21における選択領域の生成方法は、図20に例示されるような、複数のストロークが指定される場合に適用されてもよい。選択文字特定プログラムPRは、複数のストローク上の最上下左右点の外接矩形領域と、文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域を、選択領域として生成する。
このように、選択文字特定プログラムPRは、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域を、選択領域として生成してもよい(図9のS22)。そして、選択文字特定プログラムPRは、選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する(図9のS23、S24)。これにより、選択文字特定プログラムPRは、短いストロークによってより広い選択領域を生成することができる。このため、ユーザは、1つまたは複数の曲線や折れ線等のストロークに基づいて、より直感的に、高精度に、1つまたは連続する複数の文字を効率的に選択することができる。
なお、本実施の形態例における選択文字特定プログラムPRは、ストローク上の最上下左右点の外接矩形領域と文字領域との重複領域を、選択領域として生成してもよい。この場合、例えば、図21におけるストロークs11、S12の外接矩形A5e、B5eが、選択領域として生成される(図9のS22)。そして、選択文字特定プログラムPRは、例えば、ストロークの外接矩形A5e、B5eの面積が、文字領域EEの面積における閾値以上の割合を占める場合、選択候補文字を選択された文字として特定する(図9のS23、S24)。これにより、ユーザは、ストロークの外接矩形に対応する面積をイメージしながら、より直感的に、1つまたは連続する複数の文字を選択することができる。
[選択文字の補正処理]
図6のフローチャート図で前述したとおり、選択文字特定プログラムPRは、選択文字特定処理(図6のS14)の後、例えば、選択文字の補正処理を行う(図6のS15)。具体的に、補正処理として、選択文字特定プログラムPRは、選択文字の先頭、または末尾に単語をなさない文字が含まれるとき、例えば、当該単語をなさない文字を除外する。
端末装置の画面上に表示される文字が選択される場合、一般的に、1つまたは複数の単語が選択の対象となる。したがって、選択文字の先頭、または、末尾に単語としての意味をなさない文字が含まれる場合、選択ミスが生じていることが想定される。したがって、選択文字特定プログラムPRは、例えば、先頭または末尾に含まれる単語をなさない選択文字を除外することによって、文字の選択ミスを補正する。これにより、ユーザが意図した文字が選択文字として特定される可能性が高くなるため、選択文字特定プログラムPRは、より高精度な文字の選択処理を実現する。
補正処理において、例えば、形態素解析処理に基づく表示文字列における単語単位の情報が使用される。図6のフローチャート図で前述したとおり、例えば、選択文字特定プログラムPRは、表示文字列の形態素解析処理を行う。
図22は、文字列の形態素解析処理について説明する図である。図22の表Dhにおいて、例えば、表示文字列「今日は、とても天気が」が例示される。表示文字列「今日は、とても天気が」は、形態素解析処理に基づいて、例えば、各単語「今日」「は」「とても」「天気」「が」に区分される。具体的に、単語「今日」は名詞、単語「は」は助詞、単語「とても」は連体詞、単語「天気」は名詞、単語「が」は助詞である。
そこで、選択文字特定プログラムPRは、例えば、表示文字列「今日は、とても天気がよいです。明日は雨が降りそうです。」を例示する。この例において、選択文字「天気がよ」が特定された場合、選択文字「よ」は1つの単語をなさない。そこで、選択文字特定プログラムPRは、補正処理として、選択文字「天気がよ」を、選択文字「天気が」に補正する。別の具体例として、例えば、選択文字「明日は雨が降りそうで」が特定された場合、選択文字特定プログラムPRは、補正処理に基づいて、選択文字「明日は雨が降りそう」に補正する。
なお、選択文字特定プログラムPRは、先頭または末尾に含まれる単語としての意味をなさない選択文字がある場合、単語を成すように選択文字を追加補正してもよい。具体的に、選択文字特定プログラムPRは、例えば、選択文字「明日は雨が降りそうで」が特定された場合、補正処理に基づいて、選択文字「明日は雨が降りそうです」に補正してもよい。
[変形例]
図23は、選択文字特定処理の変形例について説明する図である。選択文字特定プログラムPRは、例えば、文字に加えて、表やグラフや図等のオブジェクトに対して、本実施の形態例における選択文字特定処理を適用してもよい。この場合、選択文字特定プログラムPRは、図23に示すように、表示対象の表Ob1や図Ob2それぞれについて、表示領域(文字領域に対応)EF1、EF2を検出する。そして、選択文字特定プログラムPRは、ストロークs20、及び、表示領域EF1、EF2に基づいて、選択オブジェクトの特定処理を行う。
具体的に、選択文字特定プログラムPRは、ストロークs20と重複する図やグラフの選択候補オブジェクトを、選択候補オブジェクトとして判定する。続いて、選択文字特定プログラムPRは、各選択候補オブジェクトについて、ストロークs20と表示領域EF1、EF2とに基づいて、選択領域を生成する。選択領域の生成方法は、選択文字を特定する場合と同様である。例えば、選択文字特定プログラムPRは、表示領域EF1とストロークs20との交差点、表示領域EF1内のストロークs20の上下左右点、表示領域EF1の頂点等に基づいて、選択領域A20を算出する。そして、選択文字特定プログラムPRは、選択領域A20の表示領域EF1に対する面積の割合が閾値を超える場合に、選択されたオブジェクトとして特定する。
このように、本実施の形態例における選択文字特定プログラムPRは、文字に加えて、オブジェクトの選択処理に対しても適用可能である。これにより、選択文字特定プログラムPRは、閉曲線、または、1つまたは複数の曲線や折れ線のストロークに基づいて、容易に、1つまたは連続する複数の選択文字、及び、オブジェクトの特定を可能にする。これにより、ユーザは、簡易なストロークに基づいて、より直感的に、高精度に、1つまたは連続する複数の文字、及び、オブジェクトを効率的に選択することができる。
以上のように、本実施の形態例における選択文字特定プログラムPRの選択文字特定処理は、表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される閉曲線のストロークを特定するストローク特定工程と、選択文字特定工程とを有する。選択文字特定工程では、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する。
このように、本実施の形態例における選択文字特定プログラムPRは、選択対象の文字を囲む閉曲線のストロークに基づいて、容易に、1つまたは連続する複数の選択文字の特定を可能にする。また、選択文字特定プログラムPRは、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、ストロークが選択非対象の文字と重複した場合であっても、選択対象の文字のみを選択文字として特定することができる。また、閉曲線のストロークは、対応する面積領域をより直感的にイメージし易い。このため、ユーザは、簡易な閉曲線のストロークに基づいて、より直感的に、高精度に、1つまたは連続する複数の文字を選択することができる。これにより、選択文字特定プログラムPRは、より効率的な文字の選択処理を可能にする。
また、本実施の形態例における選択文字特定プログラムPRは、ミドルウェアとして提供可能である。これにより、OS上で動作する各アプリケーションは、本実施の形態例の選択文字特定プログラムPRのインタフェースを使用し、OSの文字選択プログラムの機能の制限を受けることなく、より効果的な文字の選択処理を実装可能になる。また、選択文字特定プログラムPRは、各文字の表示領域を、文字列表示情報に基づいて検出可能であるため、全ての文字について文字領域の座標情報を保持しておく必要がない。このため、各文字の文字領域に係るデータ量が削減可能になる。
また、本実施の形態例における選択文字特定処理において、選択領域は、ストローク上の最上下左右点に内接する内包領域と、文字領域との重複領域である。または、本実施の形態例における選択文字特定処理において、選択領域は、ストローク上の最上下左右点を結ぶ多角形と文字領域との重複領域である。これにより、選択文字特定プログラムPRは、閉曲線のストロークに基づいて、容易に、選択領域を算出することができる。また、選択領域が閉曲線の範囲に対応することにより、ユーザは、閉曲線に対応する面積領域をイメージしながら、より直感的に、1つまたは連続する複数の文字を選択することができる。
また、本実施の形態例における選択文字特定プログラムPRの選択文字特定処理は、表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される1つまたは複数のストロークを特定するストローク特定工程と、選択文字特定工程とを有する。選択文字特定工程では、1つまたは複数のストロークと重複する表示文字列の各文字のうち、文字領域における1つまたは複数のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する。
このように、本実施の形態例における選択文字特定プログラムPRは、1つまたは複数のストロークに基づいて、容易に、1つまたは連続する複数の選択文字の特定を可能にする。また、選択文字特定プログラムPRは、文字領域における1つまたは複数のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、ストロークが選択非対象の文字と重複した場合であっても、選択対象の文字のみを選択文字として特定することができる。このため、ユーザは、1つまたは複数のストロークに基づいて、直感的に、高精度に、1つまたは連続する複数の文字を選択することができる。これにより、選択文字特定プログラムPRは、より効率的な文字の選択処理を可能にする。
また、本実施の形態例における選択文字特定プログラムPRは、ミドルウェアとして提供される。このため、OS上で動作する各アプリケーションは、本実施の形態例の選択文字特定プログラムPRのインタフェースを使用することにより、OSの文字選択プログラムの機能の制限を受けることなく、より効果的な文字の選択処理を実現可能になる。また、選択文字特定プログラムPRは、各文字の表示領域を、文字列表示情報に基づいて検出可能であるため、全ての文字について文字領域の座標情報を保持しておく必要がない。このため、各文字の文字領域に係るデータ量が削減可能になる。
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域である。これにより、選択文字特定プログラムPRは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、ストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域が生成されることにより、選択文字特定プログラムPRは、短いストロークによって広い選択領域を生成することを可能にする。これにより、ユーザは、短いストロークで簡易に文字を選択することができる。
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域である。これにより、選択文字特定プログラムPRは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域が生成されることにより、選択文字特定プログラムPRは、より短いストロークによって広い選択領域を生成することを可能にする。これにより、ユーザは、短いストロークで簡易に文字を選択することができる。
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点の外接矩形領域と文字領域との重複領域である。これにより、選択文字特定プログラムPRは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、選択領域がストロークの外接矩形領域に対応することにより、ユーザは、ストロークの外接矩形領域をイメージしながら、より直感的に、1つまたは連続する複数の文字を選択することができる。
また、本実施の形態例における選択文字特定処理は、さらに、選択文字特定工程において特定された選択候補文字を形態素解析に基づいて単語に区分し、選択文字の先頭、または、最後尾における単語を構成しない1つまたは複数の文字を、選択文字から除外する選択文字補正工程と、を有する。これにより、選択文字特定プログラムPRは、選択ミスによって、選択文字の先頭または末尾に単語を為さない文字が含まれる場合であっても、当該単語をなさない選択文字を除外することによって、文字の選択ミスを補正することができる。これにより、選択文字特定プログラムPRは、より高精度な文字の選択処理を可能にする。
また、本実施の形態例における選択文字特定処理において、表示文字列は修飾文字を含み、文字列表示情報は、さらに、修飾文字の位置及びサイズ、行間を含み、文字領域検出工程では、修飾文字を含む表示文字列の各文字について、文字領域を検出する。また、修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である。これにより、選択文字特定プログラムPRは、表示文字列が修飾文字を含む場合であっても、文字列表示情報に基づいて、各文字の文字領域を検出することができる。これにより、選択文字特定プログラムPRは、全ての文字について文字領域の座標情報を保持しておく必要がなく、各文字の文字領域に係るデータ量が削減可能になる。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
(付記2)
付記1において、
前記選択領域は、前記ストローク上の最上下左右点を結ぶ多角形と前記文字領域との重複領域である選択文字特定プログラム。
(付記3)
付記1において、
前記選択領域は、前記ストローク上の最上下左右点に内接する内包領域と、前記文字領域との重複領域である選択文字特定プログラム。
(付記4)
画面上に表示される表示文字列からユーザによって選択された文字を検出する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定工程と、
前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
(付記5)
付記4において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点と前記文字領域の各頂点とを結ぶ多角形領域と前記文字領域との重複領域である選択文字特定プログラム。
(付記6)
付記4において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域の各頂点とを結ぶ多角形領域と、前記文字領域との重複領域である選択文字特定プログラム。
(付記7)
付記4において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域との重複領域である選択文字特定プログラム。
(付記8)
付記1乃至7のいずれかにおいて、
前記選択文字特定処理は、さらに、
前記選択文字特定工程において特定された前記選択候補文字を形態素解析に基づいて単語に区分し、前記選択文字の先頭、または、最後尾における前記単語をなさない1つまたは複数の文字を、前記選択文字から除外する選択文字補正工程と、を有する選択文字特定プログラム。
(付記9)
付記1乃至8のいずれかにおいて、
前記表示文字列は修飾文字を含み、
前記文字列表示情報は、さらに、前記修飾文字の位置及び文字サイズ、行間を含み、
前記文字領域検出工程では、前記修飾文字を含む前記表示文字列の各文字について、前記文字領域を検出する選択文字特定プログラム。
(付記10)
付記9において、
前記修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である選択文字特定プログラム。
(付記11)
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定手段と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
(付記12)
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定手段と、
前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
(付記13)
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
(付記14)
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定工程と、
前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
10:ディスプレイ、11:ROM、12:RAM、13:通信インタフェース、14:CPU、15:ディスクドライブ、PR:選択文字特定プログラム

Claims (14)

  1. 画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
    前記選択文字特定処理は、
    前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
    ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
    前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
  2. 請求項1において、
    前記選択領域は、前記ストローク上の最上下左右点を結ぶ多角形と前記文字領域との重複領域である選択文字特定プログラム。
  3. 請求項1において、
    前記選択領域は、前記ストローク上の最上下左右点に内接する内包領域と、前記文字領域との重複領域である選択文字特定プログラム。
  4. 画面上に表示される表示文字列からユーザによって選択された文字を検出する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
    前記選択文字特定処理は、
    前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
    ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定工程と、
    前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
  5. 請求項4において、
    前記ストロークは、曲線、折れ線、直線のいずれかであって、
    前記選択領域は、前記ストローク上の最上下左右点と前記文字領域の各頂点とを結ぶ多角形領域と前記文字領域との重複領域である選択文字特定プログラム。
  6. 請求項4において、
    前記ストロークは、曲線、折れ線、直線のいずれかであって、
    前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域の各頂点とを結ぶ多角形領域と、前記文字領域との重複領域である選択文字特定プログラム。
  7. 請求項4において、
    前記ストロークは、曲線、折れ線、直線のいずれかであって、
    前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域との重複領域である選択文字特定プログラム。
  8. 請求項1乃至7のいずれかにおいて、
    前記選択文字特定処理は、さらに、
    前記選択文字特定工程において特定された前記選択候補文字を形態素解析に基づいて単語に区分し、前記選択文字の先頭、または、最後尾における前記単語をなさない1つまたは複数の文字を、前記選択文字から除外する選択文字補正工程と、を有する選択文字特定プログラム。
  9. 請求項1乃至8のいずれかにおいて、
    前記表示文字列は修飾文字を含み、
    前記文字列表示情報は、さらに、前記修飾文字の位置及び文字サイズ、行間を含み、
    前記文字領域検出工程では、前記修飾文字を含む前記表示文字列の各文字について、前記文字領域を検出する選択文字特定プログラム。
  10. 請求項8において、
    前記修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である選択文字特定プログラム。
  11. 画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
    前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
    ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定手段と、
    前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
  12. 画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
    前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
    ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定手段と、
    前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
  13. 画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
    前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
    ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
    前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
  14. 画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
    前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
    ユーザ操作に基づいて前記画面上に指定される1つまたは複数のストロークを特定するストローク特定工程と、
    前記1つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記1つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、1つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
JP2013156560A 2013-07-29 2013-07-29 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置 Active JP6201488B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013156560A JP6201488B2 (ja) 2013-07-29 2013-07-29 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置
US14/332,817 US9632691B2 (en) 2013-07-29 2014-07-16 Non-transitory computer-readable medium storing selected character specification program, selected character specification method, and selected character specification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013156560A JP6201488B2 (ja) 2013-07-29 2013-07-29 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置

Publications (2)

Publication Number Publication Date
JP2015026307A true JP2015026307A (ja) 2015-02-05
JP6201488B2 JP6201488B2 (ja) 2017-09-27

Family

ID=52391596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013156560A Active JP6201488B2 (ja) 2013-07-29 2013-07-29 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置

Country Status (2)

Country Link
US (1) US9632691B2 (ja)
JP (1) JP6201488B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395126B2 (en) * 2015-08-11 2019-08-27 Honda Motor Co., Ltd. Sign based localization
CN106649213B (zh) * 2016-09-22 2019-08-20 深圳万兴信息科技股份有限公司 一种文档中空格识别方法及系统
WO2020115907A1 (ja) * 2018-12-07 2020-06-11 三菱電機株式会社 入力表示制御装置、入力表示制御方法及び入力表示システム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147095A (ja) * 1994-11-18 1996-06-07 Matsushita Electric Ind Co Ltd 対象選択装置及び方法
US5594810A (en) * 1993-09-30 1997-01-14 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
JPH09231393A (ja) * 1996-02-23 1997-09-05 Fuji Xerox Co Ltd 命令入力装置
JP2006260573A (ja) * 2005-03-17 2006-09-28 Microsoft Corp 単語または文字の境界ベースのスクラッチアウトジェスチャ認識
JP2012027721A (ja) * 2010-07-23 2012-02-09 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2012063847A (ja) * 2010-09-14 2012-03-29 Sharp Corp 段組み処理装置、段組み処理方法、段組み処理プログラムおよびコンピュータ読み取り可能な記録媒体、ならびに、コンテンツ表示装置
JP2012103872A (ja) * 2010-11-10 2012-05-31 Sharp Corp 文書生成装置、文書生成方法、コンピュータプログラムおよび記録媒体
JP2013041332A (ja) * 2011-08-11 2013-02-28 Sharp Corp 情報処理装置、操作画面表示方法、制御プログラムおよび記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160827A (ja) * 1993-12-09 1995-06-23 Matsushita Electric Ind Co Ltd 手書きストローク編集装置及び方法
US7793824B2 (en) * 1999-05-25 2010-09-14 Silverbrook Research Pty Ltd System for enabling access to information
US6661416B2 (en) 1999-12-24 2003-12-09 Matsushita Electric Industrial Co., Ltd. Apparatus and method for drawing character sequence using font data with any data structure
JP2001255867A (ja) 1999-12-24 2001-09-21 Matsushita Electric Ind Co Ltd 任意のデータ構造のフォントデータを用いた文字列の描画を可能にする文字列描画装置及び文字列描画方法
US7259753B2 (en) * 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US6903751B2 (en) * 2002-03-22 2005-06-07 Xerox Corporation System and method for editing electronic images
US8166388B2 (en) * 2002-05-14 2012-04-24 Microsoft Corporation Overlaying electronic ink
US7299424B2 (en) * 2002-05-14 2007-11-20 Microsoft Corporation Lasso select
US7812860B2 (en) * 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US8643605B2 (en) * 2005-11-21 2014-02-04 Core Wireless Licensing S.A.R.L Gesture based document editor
US8539349B1 (en) * 2006-10-31 2013-09-17 Hewlett-Packard Development Company, L.P. Methods and systems for splitting a chinese character sequence into word segments
KR101717101B1 (ko) 2007-12-12 2017-03-27 가부시키가이샤 아이피 솔루션즈 정보 입력 장치, 정보 처리 장치, 정보 입력 시스템, 정보 처리 시스템, 2 차원 서식 정보 서버, 정보 입력 방법, 제어 프로그램 및 기록 매체
JP5168084B2 (ja) 2008-10-28 2013-03-21 株式会社リコー 画像処理装置、プログラムおよび画像処理方法
JP5217960B2 (ja) 2008-11-26 2013-06-19 株式会社リコー 画像処理装置、画像処理方法、及びプログラム
JP5280337B2 (ja) 2009-11-18 2013-09-04 株式会社神戸製鋼所 文字認識方法及び文字認識装置
US20120096345A1 (en) * 2010-10-19 2012-04-19 Google Inc. Resizing of gesture-created markings for different display sizes
JP5811435B2 (ja) 2011-04-12 2015-11-11 コニカミノルタ株式会社 表示装置及び表示制御プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594810A (en) * 1993-09-30 1997-01-14 Apple Computer, Inc. Method and apparatus for recognizing gestures on a computer system
JPH08147095A (ja) * 1994-11-18 1996-06-07 Matsushita Electric Ind Co Ltd 対象選択装置及び方法
JPH09231393A (ja) * 1996-02-23 1997-09-05 Fuji Xerox Co Ltd 命令入力装置
JP2006260573A (ja) * 2005-03-17 2006-09-28 Microsoft Corp 単語または文字の境界ベースのスクラッチアウトジェスチャ認識
JP2012027721A (ja) * 2010-07-23 2012-02-09 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2012063847A (ja) * 2010-09-14 2012-03-29 Sharp Corp 段組み処理装置、段組み処理方法、段組み処理プログラムおよびコンピュータ読み取り可能な記録媒体、ならびに、コンテンツ表示装置
JP2012103872A (ja) * 2010-11-10 2012-05-31 Sharp Corp 文書生成装置、文書生成方法、コンピュータプログラムおよび記録媒体
JP2013041332A (ja) * 2011-08-11 2013-02-28 Sharp Corp 情報処理装置、操作画面表示方法、制御プログラムおよび記録媒体

Also Published As

Publication number Publication date
US20150033185A1 (en) 2015-01-29
JP6201488B2 (ja) 2017-09-27
US9632691B2 (en) 2017-04-25

Similar Documents

Publication Publication Date Title
US10360473B2 (en) User interface creation from screenshots
US10489051B2 (en) Handwriting input apparatus and control method thereof
US5517578A (en) Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
KR20100135281A (ko) 손으로 그려진 표를 인식하기 위한 방법 및 툴
US9824266B2 (en) Handwriting input apparatus and control method thereof
KR102075433B1 (ko) 필기 입력 장치 및 그 제어 방법
JP2005228339A (ja) フリーフォーム注釈を支援する方法、システム、及び、プログラム
JP7388645B2 (ja) グラフィックオブジェクトを選択するための方法及び対応するデバイス
US10042539B2 (en) Dynamic text control for mobile devices
JP6265451B2 (ja) オブジェクト管理装置、思考支援装置、オブジェクト管理方法、及びプログラム
US20150035778A1 (en) Display control device, display control method, and computer program product
US10613725B2 (en) Fixing spaced relationships between graphic objects
JP2020504848A (ja) 手書き図式のコネクタの管理用システムおよび方法
JP6201488B2 (ja) 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置
US11429259B2 (en) System and method for selecting and editing handwriting input elements
US10127704B2 (en) Information processing device, program, and recording medium
JP6081606B2 (ja) 電子機器および方法
US9213475B2 (en) Information processing apparatus, program, and information processing method for representing correlation of parameters within objects
JP6918252B2 (ja) インクデータ生成装置、方法及びプログラム
US20230055467A1 (en) Document layout management
US20150016725A1 (en) Retrieval method and electronic apparatus
US11023110B2 (en) Creating an axis for data-bound objects
JP2015075956A (ja) 手書き入力受付装置及び方法
JP2023047180A (ja) 情報処理装置、及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6201488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150