(57)【要約】【課題】より効果的な文字の選択処理を実現する選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置を提供することにある。【解決手段】選択文字特定プログラムにおいて、選択文字特定処理は、表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される閉曲線のストロークを特定するストローク特定工程と、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する。【選択図】図５
2015026307.tif 000002
【特許請求の範囲】
【請求項１】
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
【請求項２】
請求項１において、
前記選択領域は、前記ストローク上の最上下左右点を結ぶ多角形と前記文字領域との重複領域である選択文字特定プログラム。
【請求項３】
請求項１において、
前記選択領域は、前記ストローク上の最上下左右点に内接する内包領域と、前記文字領域との重複領域である選択文字特定プログラム。
【請求項４】
画面上に表示される表示文字列からユーザによって選択された文字を検出する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定工程と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
【請求項５】
請求項４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点と前記文字領域の各頂点とを結ぶ多角形領域と前記文字領域との重複領域である選択文字特定プログラム。
【請求項６】
請求項４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域の各頂点とを結ぶ多角形領域と、前記文字領域との重複領域である選択文字特定プログラム。
【請求項７】
請求項４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域との重複領域である選択文字特定プログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記選択文字特定処理は、さらに、
前記選択文字特定工程において特定された前記選択候補文字を形態素解析に基づいて単語に区分し、前記選択文字の先頭、または、最後尾における前記単語をなさない１つまたは複数の文字を、前記選択文字から除外する選択文字補正工程と、を有する選択文字特定プログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記表示文字列は修飾文字を含み、
前記文字列表示情報は、さらに、前記修飾文字の位置及び文字サイズ、行間を含み、
前記文字領域検出工程では、前記修飾文字を含む前記表示文字列の各文字について、前記文字領域を検出する選択文字特定プログラム。
【請求項１０】
請求項８において、
前記修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である選択文字特定プログラム。
【請求項１１】
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定手段と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
【請求項１２】
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定手段と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
【請求項１３】
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
【請求項１４】
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定工程と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置に関する。
【背景技術】
【０００２】
スマートフォンやタブレット等の端末装置の表示画面には、例えば、電子書籍等が表示される。そこで、端末装置のタッチデバイスに基づいて、画面上に表示された文字列に対して選択操作や入力操作を行わせる技術が存在する（例えば、特許文献１、２）。
【０００３】
１つまたは複数の文字を選択状態に制御する方法は、一般的に、オペレーション・システム（以下、ＯＳ）によって提供される文字選択方法に基づく。具体的に、ユーザは、例えば、画面を指でなぞる動作や、タップ動作等にしたがって、画面上に表示された文字列のうち、選択対象の文字列を選択する。または、他の方法として、ユーザは、スマートフォン等に搭載されるソフトウェアキーボードを使用し文字列を入力する。これにより、入力した文字が選択状態に制御される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２-２２１３６７号公報
【特許文献２】特開２０１０-１３０２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画面を指でなぞる動作やタップ動作によると、選択対象の文字を選択し難く、また、選択ミスが生じ易い。一方、文字を入力させる場合、ソフトウェアキーボードにおけるキー面積は狭く、入力し難い。また、文字を入力させる場合、選択したい文字を確定させるまでに多くのキー入力が必要となり、煩雑である。なお、端末装置に、ハードウェアキーボードを接続する方法についても提案されるが、手間がかかるという問題点を有する。
【０００６】
また、ＯＳによって提供される文字選択手段は、ＯＳが有する共通の文字選択方法に限定される。したがって、より効果的な文字選択手段を使用する場合、アプリケーション側で文字選択手段を備える必要がある。このため、アプリケーションにおいて、より効果的な文字選択手段を実現することは困難であった。
【０００７】
そこで、本発明では、より効果的な文字の選択処理を実現する選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の側面は、画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、前記選択文字特定処理は、前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する。
【発明の効果】
【０００９】
第１の側面によれば、より効果的な文字の選択処理を実現する。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態例における選択文字特定装置の構成の一例を示す図である。
【図２】本実施の形態例における選択文字特定装置のブロック図の一例を示す図である。
【図３】本実施の形態例における選択文字特定プログラムの位置付けを説明する図である。
【図４】選択文字特定処理の概要について説明する図である。
【図５】選択文字特定処理の概要について、より具体的に説明する図である。
【図６】選択文字特定プログラムの処理の流れについて説明するフローチャート図である。
【図７】文字列表示情報の具体例を示す第１の図である。
【図８】文字列表示情報の具体例を示す第２の図である。
【図９】図６の工程Ｓ１４の選択文字特定処理を説明するフローチャート図である。
【図１０】閉曲線のストロークが入力された場合の選択文字特定処理の詳細について説明する第１のフローチャート図である。
【図１１】選択文字特定処理の詳細について説明する第２のフローチャート図である。
【図１２】閉曲線のストロークと選択領域の具体例について説明する第１の例図である。
【図１３】閉曲線のストロークと選択領域の具体例について説明する第２の例図である。
【図１４】閉曲線以外のストロークを示す４つの例（Ａ）〜（Ｄ）を示す例図である。
【図１５】曲線または折れ線のストロークが入力された場合の選択文字特定処理の詳細について説明する第１のフローチャート図である。
【図１６】図１５のフローチャートに続く第２のフローチャート図である。
【図１７】図１６のフローチャートに続く第３のフローチャート図である。
【図１８】曲線、折れ線のストロークと選択領域の具体例について説明する例図である。
【図１９】複数のストロークが入力された場合における選択文字特定処理の詳細について説明するフローチャート図である。
【図２０】複数のストロークと選択領域の具体例について説明する例図である。
【図２１】選択領域の別の生成例について説明する図である。
【図２２】文字列の形態素解析処理について説明する図である。
【図２３】選択文字特定処理の変形例について説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１２】
［選択文字特定装置の構成］
図１は、本実施の形態例における選択文字特定装置の構成の一例を示す図である。図１の選択文字特定装置は、例えば、スマートフォンやタブレット端末等の端末装置である。選択文字特定装置は、例えば、ディスプレイ１０、ＲＯＭ１１、ＲＡＭ１２、通信インタフェース１３、ＣＰＵ（Central Processing Unit）１４、ディスクドライブ１５等を有する。各部は、バス１７を介して相互に接続可能である。
【００１３】
図１の選択文字特定装置における通信インタフェース１３は、外部の端末装置や機器との通信処理を制御する。また、ディスプレイ１０は、例えば、端末装置の表示画面である。ディスクドライブ１５は、記憶媒体２６における情報の読み出し処理、及び、書き込み処理を制御する。また、ＲＯＭ（Read Only Memory）１１には、端末装置の制御プログラム等が記憶される。ＲＡＭ（Random Access Memory）１２には、例えば、本実施の形態例における選択文字特定プログラムＰＲが記憶される。ＣＰＵ１４は、選択文字特定プログラムＰＲと協働して、本実施の形態例における選択文字特定処理を実現する。
【００１４】
［選択文字特定装置のブロック図］
図２は、本実施の形態例における選択文字特定装置のブロック図の一例を示す図である。本実施の形態例における選択文字特定装置は、例えば、表示部２１、入力制御部２２、図形認識部２３、選択文字特定部２４、形態素解析部２５、文字列抽出部２６、情報管理部２７、情報解析部２８、文書解析部２９、形態素解析部３０、記憶部３１、出力制御部３２を有する。
【００１５】
記憶部３１は、例えば、ハードディスクやＳＤカード等の記憶媒体１６に対する情報の読み込み処理、及び、書き込み処理を制御する。また、記憶媒体１６には、端末装置の表示画面に表示される対象の文字列（以下、表示文字列と称する、文字コード）が記憶されると共に、選択文字特定処理において使用されるや図形情報や閾値等が記憶される。
【００１６】
文書解析部２９は、記憶部３１から読み出した表示文字列に基づいて文字列表示情報を生成し、出力制御部３２や情報管理部２７に出力する。文字列表示情報については、後述する。また、文書解析部２９は、形態素解析部３０に表示文字列における単語単位の区分情報、及び、単語に対応する品詞の情報を生成させ、出力制御部３２に出力する。出力制御部３２は、表示文字列の表示部２１への出力を制御する。また、情報管理部２７は、記憶部３１から図形情報や閾値を読み出すと共に、文書解析部２９から文字列表示情報を取得し、図形認識部２３や選択文字特定部２４に出力する。
【００１７】
また、表示部２１は、ユーザ操作に基づいて画面上に指定されるストロークの入力を検知し、入力情報を入力制御部２２に出力する。例えば、ストロークは、指やタッチペンによって入力される。入力制御部２２は、入力情報によって指定されるストロークの座標情報を、図形認識部２３に出力し、図形認識部２３は、ストロークの形状に対応する図形情報を認識し選択文字特定部２４に出力する。選択文字特定部２４は、表示文字列のうち、ストロークと重複する１つまたは複数の選択候補文字から選択文字を特定し、選択文字の情報（文字コード）を文字列抽出部２６に出力する。
【００１８】
文字列抽出部２６は、形態素解析部２５に生成させた単語単位の区分情報に基づいて、特定された選択文字を補正し、最終的に確定された選択文字の情報（文字コード）を情報解析部２８に出力する。情報解析部２８は、最終的に確定された選択文字の情報、及び、特定された選択文字と最終的に確定された選択文字との差分情報等を、情報管理部２７に出力する。そして、情報管理部２７は、最終的に確定された選択文字の情報を出力制御部３２に出力する。出力制御部３２は、画面における選択文字の表示色や背景色を制御する。これにより、ユーザは、画面に対するストロークの指定の結果、特定された選択文字を検知できる。
【００１９】
［選択文字特定プログラムの位置付け］
図３は、本実施の形態例における選択文字特定プログラムの位置付けについて説明する図である。図３の（Ａ）は、一般的な選択文字特定プログラムの位置付けについて説明する図である。一般的に、端末装置における文字選択プログラムは、例えば、オペレーティング・システム（以下、ＯＳ）によって提供される。つまり、ＯＳ上で動作する各アプリケーションＡＰは、各プラットフォームのＯＳｘｗによって提供される文字選択プログラムのインタフェースを使用する。このため、ＯＳ上で動作する各アプリケーションＡＰにおける選択文字特定処理の機能は、ＯＳｘｗによって提供される文字選択プログラムの機能に制限される。
【００２０】
一方、図３の（Ｂ）は、本実施の形態例における選択文字特定プログラムの位置付けについて説明する図である。そこで、本実施の形態例における選択文字特定プログラムＰＲは、例えば、ミドルウェアＭＤとして提供される。ミドルウェアＭＤは、ＯＳｘｗと各アプリケーションＡＰとを仲介するソフトウェアを示す。つまり、ＯＳ上で動作する各アプリケーションＡＰは、ミドルウェアＭＤ層における選択文字特定プログラムＰＲのインタフェースを使用することができる。これにより、各アプリケーションＡＰは、本実施の形態例の選択文字特定プログラムＰＲに基づいて、ＯＳｘｗによって提供される文字選択プログラムの機能に制限されることなく、より効果的な文字の選択処理を実現できる。
【００２１】
［選択文字特定処理の概要］
図４は、本実施の形態例における選択文字特定処理の概要について説明する図である。本実施の形態例において、ユーザは、端末装置の画面に表示される表示文字列における選択対象の１つまたは複数の文字付近を、手やタッチペン等によって指定される閉曲線のストロークｓａによって囲む。この例において、文字列「も天気が」が、閉曲線のストロークｓａによって囲まれる。そして、本実施の形態例における選択文字特定プログラムＰＲは、ストロークｓａと重複する文字列「も天気が」のうち、選択文字として文字列「天気」ｆｆを特定する。
【００２２】
図５は、本実施の形態例における選択文字特定処理の概要について、より具体的に説明する図である。図５の表Ｈｈは、ストロークと重複する文字列「も天気がよ」における各文字について、選択文字として特定されるか否かの判定結果を示す表である。また、図５において、文字列「も天気がよ」における各文字を内包する点線の各矩形は、文字領域ＥＥを示す。
【００２３】
選択文字特定プログラムＰＲは、例えば、ストロークｓｂと重複する選択候補文字「も」「天」「気」「が」それぞれについて、選択文字の特定処理を行う。具体的に、選択文字特定プログラムＰＲは、例えば、文字領域ＥＥにおける、ストロークｓｂ上の最上下左右点に基づいて選択領域Ｂａ〜Ｂｃを生成する。そして、選択文字特定プログラムＰＲは、選択領域Ｂａ〜Ｂｃの文字領域ＥＥに対する面積の割合が閾値を超える場合に、選択文字として特定する。
【００２４】
図５の例において、選択候補文字「も」「天」「気」「が」のうち、選択候補文字「天」「気」「が」について、選択領域Ｂａ〜Ｂｃの文字領域ＥＥに対する面積の割合が閾値を超える。このため、選択文字特定プログラムＰＲは、文字列「天気が」を選択文字として特定する。なお、図４、図５の例において、形状が閉曲線のストロークｓｂによって、文字が選択される場合を例示した。ただし、直線や曲線、折れ線等の１つまたは複数のストロークによって、文字が選択されてもよい。直線や曲線、折れ線等の１つまたは複数のストロークｓｂの例については、後述する。
【００２５】
続いて、本実施の形態例における選択文字特定プログラムＰＲの処理について、フローチャート図に基づいて説明する。
【００２６】
［フローチャート：選択文字特定プログラムの処理］
図６は、本実施の形態例における選択文字特定プログラムＰＲの処理の流れについて説明するフローチャート図である。図６の（Ａ）は、本実施の形態例における選択文字特定プログラムＰＲの事前処理について説明するフローチャート図である。なお、図６（Ａ）のフローチャート図における工程Ｓ１、Ｓ２の処理は、ストロークの入力時に行われてもよい。
【００２７】
まず、選択文字特定プログラムＰＲは、表示文字列に係る文字列表示情報を抽出し、表示文字列が有する各文字の文字領域を検出する（Ｓ１）。文字領域は、例えば、各文字が表示される表示画面上の領域の情報を示す。また、文字列表示情報は、例えば、表示文字列の先頭文字の位置、文字サイズ、及び、行間等の情報を有する。選択文字特定プログラムＰＲは、文字列表示情報に基づいて、表示文字列における各文字の文字領域の座標を算出できる。例えば、表示文字列における３つ目の文字について、選択文字特定プログラムＰＲは、先頭文字の座標に対して、１つ目、２つ目の文字の幅、または、高さを加算することによって、文字領域の座標を算出できる。
【００２８】
続いて、選択文字特定プログラムＰＲは、表示文字列の形態素解析処理に基づいて、単語単位の区分情報を生成する（Ｓ２）。形態素解析処理とは、文字列を、最小単位の単語に分割し、各単語の品詞を判別する解析処理である。例えば、文字列「天気がよい」は、名詞「天気」、助詞「が」、形容詞「よい」の各単語に区分される。単語単位の区分情報は、選択文字の補正処理工程（Ｓ１５）において使用される。
【００２９】
図６の（Ｂ）は、本実施の形態例における選択文字特定プログラムＰＲにおける、ストローク入力時の処理について説明するフローチャート図である。まず、ユーザ操作に基づいて画面上に指定されるストロークの入力開始が検知される（Ｓ１１）。続いて、選択文字特定プログラムＰＲは、ストロークの解析を開始する（Ｓ１２）。そして、ストロークの入力終了が検知される（Ｓ１３）。
【００３０】
続いて、選択文字特定プログラムＰＲは、ストロークと文字領域とに基づいて、１つ、または連続する複数の選択文字の特定処理を行う（Ｓ１４）。工程Ｓ１４の処理の詳細については、別のフローチャート図で後述する。次に、選択文字特定プログラムＰＲは、特定された選択文字を対象として補正処理を行う（Ｓ１５）。具体的に、選択文字特定プログラムＰＲは、選択文字の先頭、または末尾に単語をなさない文字が含まれる場合、例えば、当該単語をなさない文字を除外する。そして、選択文字特定プログラムＰＲは、補正後の選択文字を、選択文字として確定する（Ｓ１６）。
【００３１】
［具体例：文字列表示情報］
図７は、文字列表示情報の具体例を示す第１の図である。この例では、表示文字列「今日はとても天気がよいです。雨が降りそう…」が例示される。なお、図７の例において、文字「今日は」の各文字に文字領域ＥＥが示されるが、実際の処理において、表示文字列の全ての文字に対して文字領域ＥＥが検出される。なお、表示文字列の表示方向は、予め、検知される。また、この例において、表示文字列における各文字のサイズは、均一である。
【００３２】
図７の例において、文字列表示情報は、表示文字列における先頭文字の位置、表示文字列の文字サイズ、及び、行間Ｌ１の情報を有する。先頭文字の位置情報は、例えば、表示画面における先頭文字の座標情報ｐｃ（ｘ，ｙ）である。また、表示文字列の文字サイズは、例えば、各文字の幅Ｗ１、及び、高さＨ１を示す。選択文字特定プログラムＰＲは、文字列表示情報に基づいて各文字の文字領域を算出可能になることにより、各文字について文字領域の座標情報を予め保持する必要がない。これにより、保持対象のデータ量が削減可能になる。
【００３３】
図８は、文字列表示情報の具体例を示す第２の図である。図８の例では、表示文字列に修飾文字が含まれる。修飾文字とは、例えば、他の文字とサイズが異なる文字や、ルビ等を示す。図８の例において、文字「雨」のサイズが大きく、文字「降」にルビが付加されている。
【００３４】
図８の例において、文字列表示情報は、先頭文字の位置、表示文字列の文字サイズ、及び、行間Ｌ１の情報に加えて、修飾文字の文字サイズ、及び、行間Ｌ２、Ｌ３の情報を有する。具体的に、図８の文字列表示情報は、修飾文字の文字列表示情報として、文字「雨」の幅Ｗ２、高さＨ２、行間Ｌ２の情報、及び、ルビ「ふ」の文字の幅Ｗ３、高さＨ３、行間Ｌ３の情報を含む。これにより、選択文字特定プログラムＰＲは、表示文字列が修飾文字を含む場合についても、表示文字列の各文字について、文字列表示情報に基づいて文字領域を検出できる。
【００３５】
続いて、図６のフローチャート図における工程Ｓ１４の選択文字特定処理について、より具体的に説明する。
【００３６】
［フローチャート：選択文字特定処理］
図９は、選択文字特定処理（図６のＳ１４）について説明するフローチャート図である。まず、選択文字特定プログラムＰＲは、ストロークと重複する文字のうち１文字を、選択候補文字として選定する（Ｓ２１）。続いて、選択文字特定プログラムＰＲは、選択候補文字について、検出したストロークと文字領域とに基づいて選択領域の面積を算出する（Ｓ２２）。そして、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合が閾値を超える場合に（Ｓ２３のＹＥＳ）、選択候補文字を選択文字として特定する（Ｓ２４）。工程Ｓ２２〜工程Ｓ２４の処理の詳細については、別のフローチャート図に基づいて後述する。
【００３７】
一方、選択領域の文字領域に対する面積の割合が閾値を超えない場合（Ｓ２３のＮＯ）、選択文字特定プログラムＰＲは、未選定の選択候補文字があるか否かを判定する（Ｓ２５）。未選定の選択候補文字がある場合（Ｓ２５のＹＥＳ）、選択文字特定プログラムＰＲは、次の選択候補文字を選定する（Ｓ２１）。未選定の選択候補文字がない場合（Ｓ２５のＮＯ）、選択文字特定プログラムＰＲは、選択文字特定処理（図６のＳ１４）を終了する。
【００３８】
続いて、図９のフローチャート図における工程Ｓ２２〜Ｓ２４の処理の詳細について、フローチャート図に基づいて説明する。まず、入力されたストロークが閉曲線のストロークである場合における処理について説明する。選択文字特定プログラムＰＲは、閉曲線のストロークを検知した場合、次のフローチャート図に基づいて工程Ｓ２２〜Ｓ２４（図９）の処理を行う。
【００３９】
［フローチャート：選択文字特定処理の詳細（閉曲線のストローク）］
図１０は、閉曲線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第１のフローチャート図である。図１０のフローチャート図の処理は、図９の工程Ｓ２２に対応する。
【００４０】
まず、選択文字特定プログラムＰＲは、選択候補文字について、ストロークが文字領域の四辺と交差しておらず、ストロークが全て文字領域内に収まっているか否かを判定する（Ｓ３１）。工程Ｓ３１がＹＥＳの場合、選択文字特定プログラムＰＲは、ストロークにおける４つの頂点、即ち、ストロークの最上下左右点の座標を記憶する（Ｓ３２）。工程Ｓ３２に続く処理（３）は、別のフローチャート図において後述する。
【００４１】
続いて、工程Ｓ３１がＮＯの場合、選択文字特定プログラムＰＲは、さらに、選択候補文字について、ストロークが文字領域の四辺と交差しておらず、ストロークが全て文字領域外に位置するか否かを判定する（Ｓ３３）。工程Ｓ３３がＹＥＳの場合、選択文字特定プログラムＰＲは、選択候補文字の文字領域の各頂点の座標を記憶する（Ｓ３４）。工程Ｓ３４に続く処理（３）は、別のフローチャート図において後述する。工程Ｓ３３がＮＯの場合の処理（２）、次のフローチャート図に続く。
【００４２】
図１１は、本実施の形態例における選択文字特定処理の詳細について説明する第２のフローチャート図である。図１１のフローチャート図は、図９の工程Ｓ２２〜Ｓ２４に対応する。
【００４３】
図１０のフローチャート図において、工程Ｓ３３がＮＯの場合、続いて、選択文字特定プログラムＰＲは、選択候補文字の文字領域における１つの対象辺とストロークとが交差するか否かを判定する（Ｓ４１）。交差する場合（Ｓ４１のＹＥＳ）、選択文字特定プログラムＰＲは、それぞれの交差点の座標を記憶する（Ｓ４２）。一方、交差しない場合（Ｓ４１のＮＯ）、選択文字特定プログラムＰＲは、ストロークが選択候補文字の文字領域における対象辺の外側に位置するか否かを判定する（Ｓ４３）。ストロークが対象辺と交差しておらず（Ｓ４１のＮＯ）、対象辺の外側に位置する場合（Ｓ４３のＹＥＳ）、選択文字特定プログラムＰＲは、対象辺の両端の座標を記憶する（Ｓ４４）。また、ストロークが対象辺と交差しておらず（Ｓ４１のＮＯ）、対象辺の内側に位置する場合（Ｓ４３のＮＯ）、選択文字特定プログラムＰＲは、対象辺の内側に位置するストロークの頂点の座標を記憶する（Ｓ４５）。
【００４４】
続いて、選択文字特定プログラムＰＲは、選択候補文字の文字領域における全ての辺を対象辺として、工程Ｓ４１〜Ｓ４５の処理を行ったか否かを判定する（Ｓ４６）。工程Ｓ４１〜Ｓ４５の処理が、全ての辺に対して行われていない場合（Ｓ４６のＮＯ）、選択文字特定プログラムＰＲは、未選択の辺を対象として、工程Ｓ４１〜Ｓ４５の処理を行う。そして、全ての辺に対して工程Ｓ４１〜Ｓ４５の処理が行われた場合（Ｓ４６のＹＥＳ）、または、図１０のフローチャート図における工程Ｓ３２、Ｓ３４に続く処理として、選択文字特定プログラムＰＲは、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結び付けた多角形の領域を、選択領域として生成し、面積を算出する（Ｓ４７）。多角形の面積Ｓは、例えば、次の式１によって算出される。多角形の面積は、多角形における各頂点の位置ベクトルから外積を用いることによって算出可能である。式１において、（Ｘk−Ｘk+1）（Ｙk−Ｙk+1）は、多角形の頂点を反時計回りに並べた場合の位置ベクトルを示す。
【００４５】
【数１】
2015026307.tif 000003
【００４６】
続いて、選択文字特定プログラムＰＲは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占めるか否かを判定する（Ｓ４８）。閾値を超える割合を占める場合（Ｓ４８のＹＥＳ）、選択文字特定プログラムＰＲは、選択候補文字を選択文字として特定する（Ｓ４９）。一方、割合が閾値未満の場合（Ｓ４８のＮＯ）、選択文字特定プログラムＰＲは、選択候補文字を非選択の文字として特定する（Ｓ５０）。続いて、選択文字特定プログラムＰＲは、未判定の選択候補文字について、図１０、図１１のフローチャート図の処理を行う。
【００４７】
［具体例：閉曲線のストローク］
図１２は、閉曲線のストロークと選択領域の具体例について説明する第１の例図である。図１２の（Ａ）（Ｂ）は、閉曲線のストロークと選択領域の２つの事例を示す。
【００４８】
［具体例（Ａ）］
図１２の（Ａ）の例は、選択候補文字「も」について、ストロークが文字領域ＥＥの四辺と交差しておらず、ストロークが全て文字領域内に収まる場合（図１０のＳ３１のＹＥＳ）の例を示す。具体的に、選択候補文字「も」の文字領域ＥＥの四辺は、ストロークｓ１と交差しておらず、ストロークｓ１が文字領域内に収まる。このため、ストロークｓ１における最上下左右点ａ１１〜ａ１４の座標が記憶される（Ｓ３２）。そして、選択領域として、記憶された各点ａ１１〜ａ１４に基づいて、座標の隣り合う点が結ばれた多角形Ａ１−１が算出される（Ｓ４７）。例えば、選択領域Ａ１−１が、文字領域ＥＥにおける閾値を超える割合を占める場合（Ｓ４８のＹＥＳ）、選択候補文字「も」は、選択文字として特定される（Ｓ４９）。
【００４９】
［具体例（Ｂ）］
図１２の（Ｂ）の例は、選択候補文字について、ストロークが文字領域ＥＥの四辺と交差しておらず、ストロークが全て文字領域外に位置する場合（図１０のＳ３３のＹＥＳ）の例を示す。具体的に、選択候補文字「天」「気」それぞれについて、文字領域ＥＥの四辺は、ストロークｓ２と交差しておらず、ストロークｓ２が各文字領域ＥＥの外側に位置する。このため、選択候補文字「天」について、文字領域ＥＥの各頂点ｂ１１、ｂ１２、ｂ１５、ｂ１６の座標が、選択候補文字「気」について、文字領域ＥＥの各頂点ｂ１２〜ｂ１５の座標が、記憶される（Ｓ３４）。
【００５０】
そして、選択候補文字「天」の選択領域として、記憶された各点ｂ１１、ｂ１２、ｂ１５、ｂ１６に基づいて、座標の隣り合う点が結ばれた多角形Ｂ１−１が算出される（Ｓ４７）。また、選択候補文字「気」の選択領域として、ｂ１２〜ｂ１５に基づいて、座標の隣り合う点が結ばれた多角形Ｂ１−２が算出される（Ｓ４７）。同様にして、選択領域Ｂ１−１、Ｂ１−２が、文字領域ＥＥにおける閾値を超える割合を占める場合（Ｓ４８のＹＥＳ）、対応する選択候補文字が、選択文字として特定される（Ｓ４９）。
【００５１】
図１３は、閉曲線のストロークと選択領域の具体例について説明する第２の例図である。図１３の（Ａ）〜（Ｄ）は、閉曲線のストロークと選択領域の４つの事例を示す。
【００５２】
［具体例（Ａ）］
図１３の（Ａ）の例は、選択候補文字の文字領域ＥＥにおける１つ以上の対象辺とストロークｓ３とが交差する場合（図１１のＳ４１のＹＥＳ）、及び、ストロークｓ３が選択候補文字の文字領域ＥＥにおける対象辺の外側に位置する場合（図１１のＳ４３のＹＥＳ）の例を示す。
【００５３】
具体的に、選択候補文字「天」について、文字領域ＥＥの上辺、左辺、右辺について、ストロークｓ３と交差する（Ｓ４１のＹＥＳ）。このため、上辺、左辺、右辺とストロークｓ３との交差点ａ２１、ａ２２、ａ２８、ａ２９が記憶される（Ｓ４２）。また、選択候補文字「天」の下辺について、ストロークｓ３が外側に位置する（Ｓ４３のＹＥＳ）。このため、下辺の両端の点ａ２３、ａ２７の座標が記憶される（Ｓ４４）。そして、選択領域として、記憶された各点ａ２１〜ａ２３、ａ２７〜ａ２９に基づいて、座標の隣り合う点が結ばれた多角形Ａ２−１が算出される。
【００５４】
同様にして、選択候補文字「気」について、文字領域ＥＥの左辺、右辺について、ストロークｓ３と交差する（Ｓ４１のＹＥＳ）。このため、左辺、右辺とストロークｓ３との交差点ａ２４、ａ２６が記憶される（Ｓ４２）。また、選択候補文字「気」の上辺は、ストロークｓ３が外側に位置するため（Ｓ４３のＹＥＳ）、上辺の両端の点ａ２３、ａ２７の座標が記憶される（Ｓ４４）。また、選択候補文字「気」の下辺は、ストロークｓ３が内側に位置するため（Ｓ４３のＮＯ）、下辺の内側に位置するストロークｓ３の頂点ａ２５の座標が記憶される（Ｓ４５）。そして、選択領域として、記憶された各点ａ２３〜ａ２７に基づいて、座標の隣り合う点が結ばれた多角形Ａ２−２が算出される。
【００５５】
［具体例（Ｂ）］
図１３の（Ｂ）の選択候補文字「天」について、文字領域ＥＥの下辺はストロークｓ４と交差し（Ｓ４１のＹＥＳ）、上辺、左辺、右辺についてはストロークｓ４が内側に位置する（Ｓ４３のＮＯ）。このため、下辺とストロークｓ４との交差点ｂ２２、ｂ２４と、上辺、左辺、右辺の内側に位置するストロークｓ４の頂点ｂ２１、ｂ２２、ｂ２４とに基づく、隣り合う点が結ばれた多角形Ｂ２−１が選択領域として算出される。この例において、左辺の内側に位置するストロークｓ４の頂点ｂ２２、及び、右辺の内側に位置するストロークｓ４の頂点ｂ２４は、下辺とストロークｓ４との交差点ｂ２２、ｂ２４と同一である。
【００５６】
図１３の（Ｂ）の選択候補文字「気」について、文字領域ＥＥの上辺はストロークｓ４と交差し（Ｓ４１のＹＥＳ）、左辺、右辺、下辺については、ストロークｓ４が内側に位置する（Ｓ４３のＮＯ）。このため、上辺とストロークｓ４との交差点ｂ２２，ｂ２４と、左辺、右辺、下辺の内側に位置するストロークｓ４の頂点ｂ２２〜ｂ２４とに基づいて、隣り合う点が結ばれた多角形Ｂ２−２が選択領域として算出される。
【００５７】
［具体例（Ｃ）］
図１３の（Ｃ）の選択候補文字「天」について、文字領域ＥＥの上辺、左辺、右辺はストロークｓ５と交差し（Ｓ４１のＹＥＳ）、下辺についてはストロークｓ５が外側に位置する（Ｓ４３のＹＥＳ）。このため、上辺、左辺、右辺とストロークｓ５との交差点ｃ２１、ｃ２２、ｃ２８と、下辺の両端の点ｃ２３、ｃ２７とに基づいて、隣り合う点が結ばれた多角形Ｃ２−１が選択領域として算出される。また、選択候補文字「気」において、文字領域ＥＥの左辺、右辺、下辺はストロークｓ５と交差し（Ｓ４１のＹＥＳ）、上辺についてはストロークｓ５が外側に位置する（Ｓ４３のＹＥＳ）。このため、左辺、右辺、下辺とストロークｓ５との交差点ｃ２４、ｃ２６、ｃ２５と、上辺の両端の点ｃ２３、ｃ２７とに基づいて、隣り合う点が結ばれた多角形Ｃ２−２が選択領域として算出される。
【００５８】
［具体例（Ｄ）］
また、図１３の（Ｄ）の選択候補文字「天」において、文字領域ＥＥの左辺、右辺とストロークｓ６との交差点ｄ２２、ｄ２６と、上辺の内側に位置するストロークｓ６の頂点ｄ２１と、下辺の両端の点ｄ２３、ｄ２５とに基づく多角形Ｄ２−１が選択領域として算出される。また、選択候補文字「気」においては、文字領域ＥＥの左辺、右辺とストロークｓ６との交差点ｄ２３、ｄ２５と、下辺の内側に位置するストロークｓ６の頂点ｄ２４とに基づく多角形Ｄ２−２が選択領域として算出される。
【００５９】
このように、本実施の形態例における選択文字特定プログラムＰＲは、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点を結ぶ多角形と文字領域との重複領域を選択領域として生成する。そして、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する。
【００６０】
これにより、選択文字特定プログラムＰＲは、閉曲線のストロークに基づいて、容易に、１つまたは連続する複数の選択文字の特定を可能にする。また、意図しない文字と重複し易い閉曲線によって文字が選択される場合であっても、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、意図した文字についてのみ、選択文字として特定できる。これにより、ユーザは、対応する面積領域をイメージし易い閉曲線のストロークに基づいて、より直感的に、高精度に、１つまたは連続する複数の文字を効率的に選択することができる。
【００６１】
［選択領域の別の生成例］
なお、本実施の形態例では、選択文字特定プログラムＰＲは、文字領域における閉曲線の最上下左右点と文字領域の頂点とに基づいて、選択領域を生成する。しかしながら、この例に限定されるものではない。選択文字特定プログラムＰＲは、図１３の（Ｅ）に示すように、閉曲線の最上下左右点に内接する内包領域と文字領域との重複領域を、選択領域Ｅ２−１として生成してもよい（図９のＳ２２）。そして、選択文字特定プログラムＰＲは、表示文字列の各文字のうち、閉曲線に対応する領域と文字領域との重複領域Ｅ２−１の、文字領域ＥＥにおける割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する（図９のＳ２３、Ｓ２４）。
【００６２】
続いて、閉曲線ではないストロークが入力される場合における選択文字特定処理について説明する。まず、閉曲線ではないストロークの具体的について例示する。
【００６３】
［具体例：閉曲線以外のストローク］
図１４は、閉曲線以外のストロークを示す４つの例（Ａ）〜（Ｄ）を示す例図である。図１４の（Ａ）は、蛇行する曲線（波線）のストロークｓ１１が入力された場合の例を示す。また、図１４の（Ｂ）は、折れ線のストロークｓ１２が入力された場合の例を示す。このように、ストロークは、曲線、または、折れ線であってもよい。閉曲線に加えて、曲線や折れ線のストロークが入力可能になることによって、ユーザは、より直感的な操作に基づいて、文字を選択することができる。
【００６４】
また、図１４の（Ｃ）は、２つの平行する直線のストロークｓ１３が入力された場合の例を示す。また、図１４の（Ｄ）は、２つの交差する直線のストロークｓ１４が入力された場合の例を示す。このように、ストロークは、複数の線であってもよい。なお、この例において、直線の複数のストロークが示されるが、いずれかまたは両方の線が、曲線、または折れ線等であってもよい。また、複数のストロークは、３つ以上のストロークであってもよい。
【００６５】
続いて、まず、１つのストロークであって、曲線または折れ線のストロークが入力される場合における選択文字特定処理について説明する。選択文字特定プログラムＰＲは、ストロークの形状が閉曲線ではなく、１つの曲線または折れ線のストロークである場合、次のフローチャート図に基づいて、選択文字特定処理を行う。
【００６６】
［フローチャート：選択文字特定処理の詳細（曲線または折れ線のストローク）］
図１５は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第１のフローチャート図である。図１５のフローチャート図の処理は、図９の工程Ｓ２２に対応する。
【００６７】
選択文字特定プログラムＰＲは、まず、選択候補文字について、文字領域におけるストロークの最上端の座標を取得する（Ｓ６１）。続いて、選択文字特定プログラムＰＲは、ストロークが文字領域の上辺方向にはみ出しているか否かを判定する（Ｓ６２）。即ち、選択文字特定プログラムＰＲは、文字領域の上辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の上辺方向にはみ出す場合（Ｓ６２のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の上辺とストロークとの交差点の座標を記憶する（Ｓ６３）。一方、ストロークが文字領域の上辺方向にはみ出さない場合（Ｓ６２のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最上端の座標を記憶する（Ｓ６４）。
【００６８】
続いて、選択文字特定プログラムＰＲは、選択候補文字について、文字領域におけるストロークの最下端の座標を取得する（Ｓ６５）。次に、選択文字特定プログラムＰＲは、ストロークが文字領域の下辺方向にはみ出しているか否かを判定する（Ｓ６６）。即ち、選択文字特定プログラムＰＲは、文字領域の下辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の下辺方向にはみ出す場合（Ｓ６６のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の下辺とストロークとの交差点の座標を記憶する（Ｓ６７）。一方、ストロークが文字領域の下辺方向にはみ出さない場合（Ｓ６６のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最下端の座標を記憶する（Ｓ６８）。
【００６９】
図１６は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明する第２のフローチャート図である。図１６のフローチャート図の処理は、図９の工程Ｓ２２に対応する。
【００７０】
図１５のフローチャート図に続いて、選択文字特定プログラムＰＲは、選択候補文字について、文字領域におけるストロークの最左端の座標を取得する（Ｓ７１）。次に、選択文字特定プログラムＰＲは、ストロークが文字領域の左辺方向にはみ出しているか否かを判定する（Ｓ７２）。即ち、選択文字特定プログラムＰＲは、文字領域の左辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の左辺方向にはみ出す場合（Ｓ７２のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の左辺とストロークとの交差点の座標を記憶する（Ｓ７３）。一方、ストロークが文字領域の左辺方向にはみ出さない場合（Ｓ７２のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最左端の座標を記憶する（Ｓ７４）。
【００７１】
続いて、選択文字特定プログラムＰＲは、選択候補文字について、文字領域におけるストロークの最右端の座標を取得する（Ｓ７５）。次に、選択文字特定プログラムＰＲは、ストロークが文字領域の右辺方向にはみ出しているか否かを判定する（Ｓ７６）。即ち、選択文字特定プログラムＰＲは、文字領域の右辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の右辺方向にはみ出す場合（Ｓ７６のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の右辺とストロークとの交差点の座標を記憶する（Ｓ７７）。一方、ストロークが文字領域の右辺方向にはみ出さない場合（Ｓ７６のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最右端の座標を記憶する（Ｓ７８）。
【００７２】
図１７は、曲線または折れ線のストロークが入力された場合における、本実施の形態例における文字特定処理の詳細について説明する第３のフローチャート図である。図１７のフローチャート図の処理は、図９の工程Ｓ２２〜Ｓ２４に対応する。
【００７３】
図１６のフローチャート図に続いて、選択文字特定プログラムＰＲは、選択候補文字の文字領域の４つの頂点の座標を記憶する（Ｓ８１）。次に、選択文字特定プログラムＰＲは、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結んだ多角形を選択領域として生成し、面積を算出する（Ｓ８２）。記憶した全ての点は、例えば、ストロークの頂点、ストロークと文字領域との交差点、文字領域の４つの頂点等である。多角形の面積は、前述したとおり、式１にもとづいて算出可能である。
【００７４】
続いて、選択文字特定プログラムＰＲは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占めるか否かを判定する（Ｓ８３）。閾値を超える割合を占める場合（Ｓ８３のＹＥＳ）、選択文字特定プログラムＰＲは、選択候補文字を選択文字として特定する（Ｓ８４）。一方、割合が閾値未満の場合（Ｓ８３のＮＯ）、選択文字特定プログラムＰＲは、選択候補文字を非選択の文字として特定する（Ｓ８５）。続いて、選択文字特定プログラムＰＲは、未判定の選択候補文字について、図１５〜図１７のフローチャート図の処理を行う。
【００７５】
［具体例：曲線または折れ線のストローク］
図１８は、曲線または折れ線のストロークと選択領域の具体例について説明する例図である。図１８の（Ａ）（Ｂ）は、曲線または折れ線のストロークと選択領域の２つの事例を示す。
【００７６】
［具体例（Ａ）］
図１８の（Ａ）の例において、選択候補文字「天」について、ストロークｓ１１が文字領域の上辺と交差しないため（図１５のＳ６２のＮＯ）、ストロークｓ１１の最上端の点ａ３２の座標が記憶される（図１５のＳ６４）。また、ストロークｓ１１が文字領域の下辺と交差するため（図１５のＳ６６のＹＥＳ）、ストロークｓ１１と文字領域との交差点ａ２９の座標が記憶される（図１５のＳ６７）。また、ストロークｓ１１が文字領域の左辺と交差しないため（図１６のＳ７２のＮＯ）、ストロークｓ１１の最左端の点ａ２２の座標が記憶されると共に（図１６のＳ７４）、ストロークｓ１１が文字領域の右辺と交差しないため（図１６のＳ７６のＮＯ）、ストロークｓ１１の最右端の点ａ３０の座標が記憶される（図１６のＳ７８）。
【００７７】
そして、ストロークｓ１１上の上下左右点ａ３２、ａ２９、ａ２２、ａ３０、及び、文字領域の各頂点ａ２１、ａ２３、ａ２８、ａ３１に基づいて、多角形Ａ３−１が選択領域として生成される。具体的に、例えば、頂点ａ２１と、最左端の点ａ２２と、頂点ａ２３と、頂点ｓ２８と、最右端の点ａ３０と、頂点ａ３１と、最上端の点ａ３２と、頂点ａ２１とが結び付けられる。この例において、最下端の点ａ２９は、頂点ａ２３と頂点ａ２８を結ぶ線分の延長上に位置するため、省略される。
【００７８】
なお、複数の点に基づく多角形を形成方法はこの例に限定されるものではない。多角形は、ストロークｓ１１上の上下左右点ａ３２、ａ２９、ａ２２、ａ３０と、文字領域の各頂点ａ２１、ａ２３、ａ２８、ａ３１とに基づいて生成されればよい。本実施の形態例では、選択文字特定プログラムＰＲは、例えば、対象の点のうち、近い距離に位置する２つの点を結び付けることによって、多角形を形成する。
【００７９】
続いて、図１８の（Ａ）の例における選択候補文字「気」について説明する。選択候補文字「気」について、ストロークｓ１１が文字領域の上辺と交差するため（図１５のＳ６２のＹＥＳ）、ストロークｓ１１と文字領域との交差点ａ２９の座標が記憶される（図１５のＳ６３）。また、ストロークｓ１１が文字領域の下辺と交差するため（図１５のＳ６６のＹＥＳ）、ストロークｓ１１と文字領域との交差点ａ２６の座標が記憶される（図１５のＳ６７）。また、ストロークｓ１１が文字領域の左辺と交差しないため（図１６のＳ７２のＮＯ）、ストロークｓ１１の最左端の点ａ２４の座標が記憶されると共に（図１６のＳ７４）、ストロークｓ１１が文字領域の右辺と交差しないため（図１６のＳ７６のＮＯ）、ストロークｓ１１の最右端の点ａ２９の座標が記憶される（図１６のＳ７８）。
【００８０】
そして、選択領域として、ストロークｓ１１上の上下左右点ａ２９、ａ２６、ａ２４、及び、文字領域の各頂点ａ２３、ａ２５、ａ２７、ａ２８に基づいて、多角形Ａ３−２が生成される。具体的に、例えば、頂点ａ２３と、最左端の点ａ２４と、頂点ａ２５と、頂点ｓ２７と、頂点ａ２８と、頂点ａ２３とが結び付けられる。この例において、最下端の点ａ２６は、頂点ａ２５と頂点ａ２７を結ぶ線分の延長上に位置するため、省略される。また、点ａ２９は、頂点ａ２８と頂点ａ２３を結ぶ線分の延長上に位置するため、省略される。また、最上端の点ａ２９と最右端の点ａ２９とは同一の点であるため、例えば、頂点ａ２７は、直接、頂点ａ２８に対して結び付けられる。ただし、この例に限定されるものではなく、記憶された各点に基づいて、多角形が形成されればよい。
【００８１】
［具体例（Ｂ）］
図１８の（Ｂ）における選択候補文字「天」について、ストロークｓ１２上の上下左右点として、点ｂ３０、ｂ２２、ｂ２９が記憶される。そして、選択領域として、点ｂ３０、ｂ２２、ｂ２９、及び、文字領域の各頂点ｂ２１、ｂ２３、ｂ２８、ｂ３１に基づいて多角形Ｂ３−１が生成される。この例において、最下端の点ｂ２９は、頂点ｂ２３と頂点ｂ２８を結ぶ線分の延長上に位置するため、省略される。また、この例において、最上端の点ｂ３０と最右端の点ｂ３０とは同一の点であるため、例えば、頂点ｂ３１は直接、頂点ｂ２１に対して結び付けられる。また、選択候補文字「気」について、ストロークｓ１２上の上下左右点として、点ｂ２９、ｂ２４、ｂ２７が記憶される。そして、選択領域として、点ｂ２９、ｂ２４、ｂ２７、及び、文字領域の各頂点ｂ２３、ｂ２５、ｂ２６、ｂ２８に基づいて多角形Ｂ３−２が生成される。この例において、最左端の点ｂ２４と最下端の点ｂ２４とは同一の点であるため、例えば、頂点ａ２５は直接、頂点ａ２６に対して結び付けられる。
【００８２】
このように、本実施の形態例における選択文字特定プログラムＰＲは、文字領域における１つまたは複数のストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域を選択領域として生成する。そして、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する。
【００８３】
これにより、選択文字特定プログラムＰＲは、曲線や折れ線のストロークに基づいて、容易に、１つまたは連続する複数の選択文字の特定を可能にする。また、意図しない文字と重複し易い閉曲線によって文字が選択される場合であっても、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、意図した文字についてのみ、選択文字として特定できる。また、選択文字特定プログラムＰＲは、ストロークの最上下左右点と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域を生成することにより、短いストロークによってより広い選択領域を生成することができる。これにより、ユーザは、曲線や折れ線等のストロークに基づいて、より直感的に、高精度に、１つまたは連続する複数の文字を効率的に選択することができる。
【００８４】
続いて、複数のストロークが入力される場合における選択文字特定処理について説明する。選択文字特定プログラムＰＲは、ユーザ操作に基づいて画面上に指定されたストロークが複数である場合、次のフローチャート図に基づいて、選択文字特定処理を行う。
【００８５】
［フローチャート：選択文字特定処理の詳細（複数のストローク）］
図１９は、複数のストロークが入力された場合における、本実施の形態例における選択文字特定処理の詳細について説明するフローチャート図である。図１９のフローチャート図の処理は、図９の工程Ｓ２２に対応する。
【００８６】
選択文字特定プログラムＰＲは、まず、選択候補文字について、文字領域におけるストロークの最上端の座標を取得する（Ｓ９１）。続いて、選択文字特定プログラムＰＲは、ストロークが文字領域の上辺方向にはみ出しているか否かを判定する（Ｓ９２）。即ち、選択文字特定プログラムＰＲは、文字領域の上辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の上辺方向にはみ出す場合（Ｓ９２のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の上辺とストロークとの交差点の座標を記憶する（Ｓ９３）。一方、ストロークが文字領域の上辺方向にはみ出さない場合（Ｓ９２のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最上端の座標を記憶する（Ｓ９４）。
【００８７】
続いて、選択文字特定プログラムＰＲは、複数のストロークにおける全てのストロークについて、最上端の点の判定処理（Ｓ９１〜Ｓ９４）を行ったか否かを判定する（Ｓ９５）。全てのストロークについて最上端の点の判定を完了していない場合（Ｓ９５のＮＯ）、選択文字特定プログラムＰＲは、未判定の最上端の点について、工程Ｓ９１〜Ｓ９４の処理を行う。
【００８８】
一方、全てのストロークについて最上端の点の判定を完了した場合（Ｓ９５のＹＥＳ）、選択文字特定プログラムＰＲは、続いて、選択候補文字について、文字領域におけるストロークの最下端の座標を取得する（Ｓ９６）。続いて、選択文字特定プログラムＰＲは、ストロークが文字領域の下辺方向にはみ出しているか否かを判定する（Ｓ９７）。即ち、選択文字特定プログラムＰＲは、文字領域の下辺とストロークとが交差しているか否かを判定する。ストロークが文字領域の下辺にはみ出す場合（Ｓ９７のＹＥＳ）、選択文字特定プログラムＰＲは、文字領域の下辺とストロークとの交差点の座標を記憶する（Ｓ９８）。一方、ストロークが文字領域の下辺方向にはみ出さない場合（Ｓ９７のＮＯ）、選択文字特定プログラムＰＲは、ストロークの最下端の座標を記憶する（Ｓ９９）。
【００８９】
続いて、選択文字特定プログラムＰＲは、複数のストロークにおける全てのストロークについて、最下端の点の判定処理（Ｓ９６〜Ｓ９９）を行ったか否かを判定する（Ｓ１００）。全てのストロークについて最下端の点の判定を完了していない場合（Ｓ１００のＮＯ）、選択文字特定プログラムＰＲは、未判定の最下端の点について、工程Ｓ９６〜Ｓ９９の処理を行う。このように、複数のストロークが入力される場合、各ストロークの最上下点が記憶されることによって、実質的に、ストロークの最上下左右点が記憶される。
【００９０】
続く処理は、図１７のフローチャートと同様である。即ち、選択文字特定プログラムＰＲは、選択候補文字の文字領域の４つの頂点の座標を記憶し（図１７のＳ８１）、記憶した全ての点に基づいて、隣り合う二点ずつの座標を結んで選択領域を生成し、面積を算出する（Ｓ８２）。そして、選択文字特定プログラムＰＲは、算出した選択領域の面積が、文字領域の面積における閾値を超える割合を占める場合に（Ｓ８３のＹＥＳ）。選択候補文字を選択文字として特定する（Ｓ８４）。割合が閾値未満の場合（Ｓ８３のＮＯ）、選択文字特定プログラムＰＲは、選択候補文字を非選択の文字として特定する（Ｓ８５）。
【００９１】
［具体例：複数のストローク］
図２０は、複数のストロークと選択領域の具体例について説明する例図である。図２０の（Ａ）（Ｂ）は、複数のストロークと選択領域の２つの事例を示す。
【００９２】
［具体例（Ａ）］
図２０の（Ａ）の例における選択候補文字「天」について、２つのストロークｓ１３はそれぞれ文字領域の上辺と交差しないため（図１９のＳ９２のＮＯ）、２つのストロークｓ１３の最上端の点ａ５１、ａ５２の座標が記憶される（図１９のＳ９４）。また、２つのストロークｓ１３が文字領域の下辺と交差するため（図１９のＳ９７のＹＥＳ）、２つのストロークｓ１３と文字領域の下辺との交差点ａ４２、ａ４９の座標が記憶される（図１９のＳ９８）。
【００９３】
そして、２つのストロークｓ１３上のそれぞれの上下点ａ５１、ａ５２、ａ４２、ａ４９、及び、文字領域の各頂点ａ４１、ａ４３、ａ４８、ａ５０に基づいて、多角形Ａ４−１が選択領域として生成される。具体的に、例えば、頂点ａ４１と、頂点ａ４３と、頂点ａ４８、頂点ａ５０、１つ目の最上端の点ａ５１と、２つ目の最上端の点ａ５２と、頂点ａ４１とが結び付けられる。なお、この例において、最下端の点ａ４２及び点ａ４９は、頂点ａ４３と頂点ａ４８を結ぶ線分の延長上に位置するため、省略される。
【００９４】
続いて、図２０の（Ａ）の例における選択候補文字「気」について、２つのストロークｓ１３がそれぞれ文字領域の上辺と交差するため（図１９のＳ９２のＹＥＳ）、２つのストロークｓ１３と文字領域の上辺との交差点ａ４２、ａ４９の座標が記憶される（図１９のＳ９３）。また、選択候補文字「気」について、２つのストロークｓ１３が文字領域の下辺と交差しないため（図１９のＳ９７のＮＯ）、２つのストロークｓ１３の最下端の点ａ４５、ａ４６の座標が記憶される（図１９のＳ９９）。
【００９５】
そして、２つのストロークｓ１３上のそれぞれの上下点ａ４２、ａ４９、ａ４５、ａ４６、及び、文字領域の各頂点ａ４３、ａ４４、ａ４７、ａ４８に基づいて、多角形Ａ４−２が選択領域として生成される。具体的に、例えば、頂点ａ４３と、頂点ａ４４と、１つ目の最下端の点ａ４５と、２つ目の最下端の点ａ４６と、頂点ａ４７、頂点ａ４８、頂点ｓ４３とが結び付けられる。なお、この例において、最上端の点ａ４２及び点ａ４９は、頂点ａ４３と頂点ａ４８を結ぶ線分の延長上に位置するため、省略される。
【００９６】
［具体例（Ｂ）］
図２０の（Ｂ）の例における選択候補文字「天」について、２つのストロークｓ１４がそれぞれ文字領域の上辺と交差しないため（図１９のＳ９２のＮＯ）、２つのストロークｓ１４の最上端の点ｂ５２、ｂ５０の座標が記憶される（図１９のＳ９４）。また、２つのストロークｓ１４が文字領域の下辺と交差するため（図１９のＳ９７のＹＥＳ）、２つのストロークｓ１４と文字領域の下辺との交差点ｂ４２、ｂ４９の座標が記憶される（図１９のＳ９８）。そして、それぞれの上下点ｂ５２、ｂ５０、ｂ４２、ｂ４９、及び、文字領域の各頂点ｂ４１、ｂ４３、ｂ４８、ｂ５１に基づいて、多角形Ｂ４−１が選択領域として生成される。
【００９７】
続いて、図２０の（Ｂ）の例における選択候補文字「気」について、２つのストロークｓ１４がそれぞれ文字領域の上辺と交差するため（図１９のＳ９２のＹＥＳ）、２つのストロークｓ１４と文字領域の上辺との交差点ｂ４２、ｂ４９の座標が記憶される（図１９のＳ９３）。また、選択候補文字「気」について、２つのストロークｓ１４が文字領域の下辺と交差しないため（図１９のＳ９７のＮＯ）、２つのストロークｓ１４の最下端の点ｂ４４、ｂ４７の座標が記憶される（図１９のＳ９９）。なお、このとき、２つのストロークｓ１４が、文字領域の左辺、または、右辺と交差する場合、交差点の座標が記憶される。そして、それぞれの上下点ｂ４２、ｂ４９、ｂ４４、ｂ４７、及び、文字領域の各頂点ｂ４３、ｂ４５、ｂ４６、ｂ４８に基づいて、多角形Ｂ４−２が選択領域として生成される。
【００９８】
このように、本実施の形態例における選択文字特定プログラムＰＲは、複数のストロークが指定された場合についても、文字領域における１つまたは複数のストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域を選択領域として生成することができる。これにより、図２０の（Ａ）のように、複数のストロークを包含する矩形領域の面積が狭いストロークが指定された場合においても、広い選択領域が生成可能になる。また、図２０の（Ｂ）のように、複数のストロークを包含する矩形領域の面積が容易にイメージ可能なストロークに基づいて、文字の選択が可能になる。これにより、ユーザは、短いストロークに基づいて、簡易に、より直感的に、１つまたは連続する複数の文字を効率的に選択することができる。
【００９９】
［選択領域の別の生成例］
図２１は、選択領域の別の生成例について説明する図である。図２１の（Ａ）（Ｂ）は、曲線または折れ線のストロークと選択領域の２つの事例を示す。この例において、ストロークの外接矩形Ａ５ｅ、Ｂ５ｅが生成され、外接矩形Ａ５ｅ、Ｂ５ｅの頂点、または、外接矩形Ａ５ｅ、Ｂ５ｅと文字領域ＥＥの辺との交差点、及び、文字領域ＥＥの頂点に基づいて選択領域が生成される。
【０１００】
［具体例（Ａ）］
図２１の（Ａ）の例において、ストロークｓ１１に外接する矩形Ａ５ｅが生成される。そして、選択候補文字「天」について、外接矩形Ａ５ｅの上辺の両端の点ａ６１、ａ７１と、外接矩形Ａ５ｅと文字領域ＥＥの辺との交差点ａ６３、ａ６９とが記憶される。そこで、外接矩形Ａ５ｅ上の各点ａ６１、ａ７１、ａ６３、ａ６９、及び、文字領域ＥＥの各頂点ａ６１、ａ６４、ａ７０、ａ７２に基づいて、多角形Ａ５−１が選択領域として生成される。また、選択候補文字「気」について、外接矩形Ａ５ｅと文字領域ＥＥの辺との交差点ａ６３、ａ６９と、外接矩形Ａ５ｅと文字領域ＥＥの辺との交差点ａ６６、ａ６７とが記憶される。そこで、外接矩形Ａ５ｅ上の各点ａ６３、ａ６９、ａ６６、ａ６７、及び、文字領域ＥＥの各頂点ａ６４、ａ６５、ａ６８、ａ７０に基づいて、多角形Ａ５−２が選択領域として生成される。
【０１０１】
［具体例（Ｂ）］
図２１の（Ｂ）の例において、ストロークｓ１２に外接する矩形Ｂ５ｅが生成される。そして、選択候補文字「天」について、外接矩形Ｂ５ｅの上辺の両端の点ｂ６２、ｂ７１と、外接矩形Ｂ５ｅと文字領域ＥＥの辺との交差点ｂ６３、ｂ７０とが記憶される。そこで、外接矩形Ｂ５ｅ上の各点ｂ６２、ｂ７１、ｂ６３、ｂ７０、及び、文字領域の各頂点ｂ６１、ｂ６４、ｂ６９、ｂ７２に基づいて、多角形Ｂ５−１が選択領域として生成される。また、選択候補文字「気」について、外接矩形Ｂ５ｅと文字領域ＥＥの辺との交差点ｂ６３、ｂ６９と、外接矩形Ｂ５ｅの下辺の両端の点ｂ６５、ｂ６８とが記憶される。そこで、外接矩形Ｂ５ｅ上の各点ｂ６３、ｂ６９、ｂ６５、ｂ６８、及び、文字領域の各頂点ｂ６４、ｂ６６、ｂ６７、ｂ６９に基づいて多角形Ｂ５−２が選択領域として生成される。
【０１０２】
なお、図２１における選択領域の生成方法は、図２０に例示されるような、複数のストロークが指定される場合に適用されてもよい。選択文字特定プログラムＰＲは、複数のストローク上の最上下左右点の外接矩形領域と、文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域を、選択領域として生成する。
【０１０３】
このように、選択文字特定プログラムＰＲは、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域を、選択領域として生成してもよい（図９のＳ２２）。そして、選択文字特定プログラムＰＲは、選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する（図９のＳ２３、Ｓ２４）。これにより、選択文字特定プログラムＰＲは、短いストロークによってより広い選択領域を生成することができる。このため、ユーザは、１つまたは複数の曲線や折れ線等のストロークに基づいて、より直感的に、高精度に、１つまたは連続する複数の文字を効率的に選択することができる。
【０１０４】
なお、本実施の形態例における選択文字特定プログラムＰＲは、ストローク上の最上下左右点の外接矩形領域と文字領域との重複領域を、選択領域として生成してもよい。この場合、例えば、図２１におけるストロークｓ１１、Ｓ１２の外接矩形Ａ５ｅ、Ｂ５ｅが、選択領域として生成される（図９のＳ２２）。そして、選択文字特定プログラムＰＲは、例えば、ストロークの外接矩形Ａ５ｅ、Ｂ５ｅの面積が、文字領域ＥＥの面積における閾値以上の割合を占める場合、選択候補文字を選択された文字として特定する（図９のＳ２３、Ｓ２４）。これにより、ユーザは、ストロークの外接矩形に対応する面積をイメージしながら、より直感的に、１つまたは連続する複数の文字を選択することができる。
【０１０５】
［選択文字の補正処理］
図６のフローチャート図で前述したとおり、選択文字特定プログラムＰＲは、選択文字特定処理（図６のＳ１４）の後、例えば、選択文字の補正処理を行う（図６のＳ１５）。具体的に、補正処理として、選択文字特定プログラムＰＲは、選択文字の先頭、または末尾に単語をなさない文字が含まれるとき、例えば、当該単語をなさない文字を除外する。
【０１０６】
端末装置の画面上に表示される文字が選択される場合、一般的に、１つまたは複数の単語が選択の対象となる。したがって、選択文字の先頭、または、末尾に単語としての意味をなさない文字が含まれる場合、選択ミスが生じていることが想定される。したがって、選択文字特定プログラムＰＲは、例えば、先頭または末尾に含まれる単語をなさない選択文字を除外することによって、文字の選択ミスを補正する。これにより、ユーザが意図した文字が選択文字として特定される可能性が高くなるため、選択文字特定プログラムＰＲは、より高精度な文字の選択処理を実現する。
【０１０７】
補正処理において、例えば、形態素解析処理に基づく表示文字列における単語単位の情報が使用される。図６のフローチャート図で前述したとおり、例えば、選択文字特定プログラムＰＲは、表示文字列の形態素解析処理を行う。
【０１０８】
図２２は、文字列の形態素解析処理について説明する図である。図２２の表Ｄｈにおいて、例えば、表示文字列「今日は、とても天気が」が例示される。表示文字列「今日は、とても天気が」は、形態素解析処理に基づいて、例えば、各単語「今日」「は」「とても」「天気」「が」に区分される。具体的に、単語「今日」は名詞、単語「は」は助詞、単語「とても」は連体詞、単語「天気」は名詞、単語「が」は助詞である。
【０１０９】
そこで、選択文字特定プログラムＰＲは、例えば、表示文字列「今日は、とても天気がよいです。明日は雨が降りそうです。」を例示する。この例において、選択文字「天気がよ」が特定された場合、選択文字「よ」は１つの単語をなさない。そこで、選択文字特定プログラムＰＲは、補正処理として、選択文字「天気がよ」を、選択文字「天気が」に補正する。別の具体例として、例えば、選択文字「明日は雨が降りそうで」が特定された場合、選択文字特定プログラムＰＲは、補正処理に基づいて、選択文字「明日は雨が降りそう」に補正する。
【０１１０】
なお、選択文字特定プログラムＰＲは、先頭または末尾に含まれる単語としての意味をなさない選択文字がある場合、単語を成すように選択文字を追加補正してもよい。具体的に、選択文字特定プログラムＰＲは、例えば、選択文字「明日は雨が降りそうで」が特定された場合、補正処理に基づいて、選択文字「明日は雨が降りそうです」に補正してもよい。
【０１１１】
［変形例］
図２３は、選択文字特定処理の変形例について説明する図である。選択文字特定プログラムＰＲは、例えば、文字に加えて、表やグラフや図等のオブジェクトに対して、本実施の形態例における選択文字特定処理を適用してもよい。この場合、選択文字特定プログラムＰＲは、図２３に示すように、表示対象の表Ｏｂ１や図Ｏｂ２それぞれについて、表示領域（文字領域に対応）ＥＦ１、ＥＦ２を検出する。そして、選択文字特定プログラムＰＲは、ストロークｓ２０、及び、表示領域ＥＦ１、ＥＦ２に基づいて、選択オブジェクトの特定処理を行う。
【０１１２】
具体的に、選択文字特定プログラムＰＲは、ストロークｓ２０と重複する図やグラフの選択候補オブジェクトを、選択候補オブジェクトとして判定する。続いて、選択文字特定プログラムＰＲは、各選択候補オブジェクトについて、ストロークｓ２０と表示領域ＥＦ１、ＥＦ２とに基づいて、選択領域を生成する。選択領域の生成方法は、選択文字を特定する場合と同様である。例えば、選択文字特定プログラムＰＲは、表示領域ＥＦ１とストロークｓ２０との交差点、表示領域ＥＦ１内のストロークｓ２０の上下左右点、表示領域ＥＦ１の頂点等に基づいて、選択領域Ａ２０を算出する。そして、選択文字特定プログラムＰＲは、選択領域Ａ２０の表示領域ＥＦ１に対する面積の割合が閾値を超える場合に、選択されたオブジェクトとして特定する。
【０１１３】
このように、本実施の形態例における選択文字特定プログラムＰＲは、文字に加えて、オブジェクトの選択処理に対しても適用可能である。これにより、選択文字特定プログラムＰＲは、閉曲線、または、１つまたは複数の曲線や折れ線のストロークに基づいて、容易に、１つまたは連続する複数の選択文字、及び、オブジェクトの特定を可能にする。これにより、ユーザは、簡易なストロークに基づいて、より直感的に、高精度に、１つまたは連続する複数の文字、及び、オブジェクトを効率的に選択することができる。
【０１１４】
以上のように、本実施の形態例における選択文字特定プログラムＰＲの選択文字特定処理は、表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される閉曲線のストロークを特定するストローク特定工程と、選択文字特定工程とを有する。選択文字特定工程では、閉曲線のストロークと重複する表示文字列の各文字のうち、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する。
【０１１５】
このように、本実施の形態例における選択文字特定プログラムＰＲは、選択対象の文字を囲む閉曲線のストロークに基づいて、容易に、１つまたは連続する複数の選択文字の特定を可能にする。また、選択文字特定プログラムＰＲは、文字領域における閉曲線のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、ストロークが選択非対象の文字と重複した場合であっても、選択対象の文字のみを選択文字として特定することができる。また、閉曲線のストロークは、対応する面積領域をより直感的にイメージし易い。このため、ユーザは、簡易な閉曲線のストロークに基づいて、より直感的に、高精度に、１つまたは連続する複数の文字を選択することができる。これにより、選択文字特定プログラムＰＲは、より効率的な文字の選択処理を可能にする。
【０１１６】
また、本実施の形態例における選択文字特定プログラムＰＲは、ミドルウェアとして提供可能である。これにより、ＯＳ上で動作する各アプリケーションは、本実施の形態例の選択文字特定プログラムＰＲのインタフェースを使用し、ＯＳの文字選択プログラムの機能の制限を受けることなく、より効果的な文字の選択処理を実装可能になる。また、選択文字特定プログラムＰＲは、各文字の表示領域を、文字列表示情報に基づいて検出可能であるため、全ての文字について文字領域の座標情報を保持しておく必要がない。このため、各文字の文字領域に係るデータ量が削減可能になる。
【０１１７】
また、本実施の形態例における選択文字特定処理において、選択領域は、ストローク上の最上下左右点に内接する内包領域と、文字領域との重複領域である。または、本実施の形態例における選択文字特定処理において、選択領域は、ストローク上の最上下左右点を結ぶ多角形と文字領域との重複領域である。これにより、選択文字特定プログラムＰＲは、閉曲線のストロークに基づいて、容易に、選択領域を算出することができる。また、選択領域が閉曲線の範囲に対応することにより、ユーザは、閉曲線に対応する面積領域をイメージしながら、より直感的に、１つまたは連続する複数の文字を選択することができる。
【０１１８】
また、本実施の形態例における選択文字特定プログラムＰＲの選択文字特定処理は、表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、ユーザ操作に基づいて画面上に指定される１つまたは複数のストロークを特定するストローク特定工程と、選択文字特定工程とを有する。選択文字特定工程では、１つまたは複数のストロークと重複する表示文字列の各文字のうち、文字領域における１つまたは複数のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する。
【０１１９】
このように、本実施の形態例における選択文字特定プログラムＰＲは、１つまたは複数のストロークに基づいて、容易に、１つまたは連続する複数の選択文字の特定を可能にする。また、選択文字特定プログラムＰＲは、文字領域における１つまたは複数のストローク上の最上下左右点に基づく選択領域の文字領域に対する面積の割合に基づいて選択文字を特定することにより、ストロークが選択非対象の文字と重複した場合であっても、選択対象の文字のみを選択文字として特定することができる。このため、ユーザは、１つまたは複数のストロークに基づいて、直感的に、高精度に、１つまたは連続する複数の文字を選択することができる。これにより、選択文字特定プログラムＰＲは、より効率的な文字の選択処理を可能にする。
【０１２０】
また、本実施の形態例における選択文字特定プログラムＰＲは、ミドルウェアとして提供される。このため、ＯＳ上で動作する各アプリケーションは、本実施の形態例の選択文字特定プログラムＰＲのインタフェースを使用することにより、ＯＳの文字選択プログラムの機能の制限を受けることなく、より効果的な文字の選択処理を実現可能になる。また、選択文字特定プログラムＰＲは、各文字の表示領域を、文字列表示情報に基づいて検出可能であるため、全ての文字について文字領域の座標情報を保持しておく必要がない。このため、各文字の文字領域に係るデータ量が削減可能になる。
【０１２１】
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域と文字領域との重複領域である。これにより、選択文字特定プログラムＰＲは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、ストローク上の最上下左右点と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域が生成されることにより、選択文字特定プログラムＰＲは、短いストロークによって広い選択領域を生成することを可能にする。これにより、ユーザは、短いストロークで簡易に文字を選択することができる。
【０１２２】
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域と、文字領域との重複領域である。これにより、選択文字特定プログラムＰＲは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、ストローク上の最上下左右点の外接矩形領域と文字領域の各頂点とを結ぶ多角形領域に基づいて選択領域が生成されることにより、選択文字特定プログラムＰＲは、より短いストロークによって広い選択領域を生成することを可能にする。これにより、ユーザは、短いストロークで簡易に文字を選択することができる。
【０１２３】
また、本実施の形態例における選択文字特定処理において、ストロークは、曲線、折れ線、直線のいずれかであって、選択領域は、ストローク上の最上下左右点の外接矩形領域と文字領域との重複領域である。これにより、選択文字特定プログラムＰＲは、曲線、折れ線、直線のストロークに基づいて、容易に、選択領域を算出することができる。また、選択領域がストロークの外接矩形領域に対応することにより、ユーザは、ストロークの外接矩形領域をイメージしながら、より直感的に、１つまたは連続する複数の文字を選択することができる。
【０１２４】
また、本実施の形態例における選択文字特定処理は、さらに、選択文字特定工程において特定された選択候補文字を形態素解析に基づいて単語に区分し、選択文字の先頭、または、最後尾における単語を構成しない１つまたは複数の文字を、選択文字から除外する選択文字補正工程と、を有する。これにより、選択文字特定プログラムＰＲは、選択ミスによって、選択文字の先頭または末尾に単語を為さない文字が含まれる場合であっても、当該単語をなさない選択文字を除外することによって、文字の選択ミスを補正することができる。これにより、選択文字特定プログラムＰＲは、より高精度な文字の選択処理を可能にする。
【０１２５】
また、本実施の形態例における選択文字特定処理において、表示文字列は修飾文字を含み、文字列表示情報は、さらに、修飾文字の位置及びサイズ、行間を含み、文字領域検出工程では、修飾文字を含む表示文字列の各文字について、文字領域を検出する。また、修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である。これにより、選択文字特定プログラムＰＲは、表示文字列が修飾文字を含む場合であっても、文字列表示情報に基づいて、各文字の文字領域を検出することができる。これにより、選択文字特定プログラムＰＲは、全ての文字について文字領域の座標情報を保持しておく必要がなく、各文字の文字領域に係るデータ量が削減可能になる。
【０１２６】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１２７】
（付記１）
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
【０１２８】
（付記２）
付記１において、
前記選択領域は、前記ストローク上の最上下左右点を結ぶ多角形と前記文字領域との重複領域である選択文字特定プログラム。
【０１２９】
（付記３）
付記１において、
前記選択領域は、前記ストローク上の最上下左右点に内接する内包領域と、前記文字領域との重複領域である選択文字特定プログラム。
【０１３０】
（付記４）
画面上に表示される表示文字列からユーザによって選択された文字を検出する選択文字特定処理を実行させるプロセッサ読み取り可能な選択文字特定プログラムにおいて、
前記選択文字特定処理は、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定工程と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定プログラム。
【０１３１】
（付記５）
付記４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点と前記文字領域の各頂点とを結ぶ多角形領域と前記文字領域との重複領域である選択文字特定プログラム。
【０１３２】
（付記６）
付記４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域の各頂点とを結ぶ多角形領域と、前記文字領域との重複領域である選択文字特定プログラム。
【０１３３】
（付記７）
付記４において、
前記ストロークは、曲線、折れ線、直線のいずれかであって、
前記選択領域は、前記ストローク上の最上下左右点の外接矩形領域と前記文字領域との重複領域である選択文字特定プログラム。
【０１３４】
（付記８）
付記１乃至７のいずれかにおいて、
前記選択文字特定処理は、さらに、
前記選択文字特定工程において特定された前記選択候補文字を形態素解析に基づいて単語に区分し、前記選択文字の先頭、または、最後尾における前記単語をなさない１つまたは複数の文字を、前記選択文字から除外する選択文字補正工程と、を有する選択文字特定プログラム。
【０１３５】
（付記９）
付記１乃至８のいずれかにおいて、
前記表示文字列は修飾文字を含み、
前記文字列表示情報は、さらに、前記修飾文字の位置及び文字サイズ、行間を含み、
前記文字領域検出工程では、前記修飾文字を含む前記表示文字列の各文字について、前記文字領域を検出する選択文字特定プログラム。
【０１３６】
（付記１０）
付記９において、
前記修飾文字は、文字サイズが拡縮された文字、ルビが付加された文字のいずれかまたは両方である選択文字特定プログラム。
【０１３７】
（付記１１）
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定手段と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
【０１３８】
（付記１２）
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定装置であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出手段と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定手段と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する文字特定手段と、を有する選択文字特定装置。
【０１３９】
（付記１３）
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される閉曲線のストロークを特定するストローク特定工程と、
前記閉曲線のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記閉曲線のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
【０１４０】
（付記１４）
画面上に表示される表示文字列からユーザによって指示された文字を選択する選択文字特定方法であって、
前記表示文字列の、先頭文字の位置、各文字の文字サイズ、行間を含む文字列表示情報に基づいて、前記表示文字列の各文字について当該文字が表示される領域を示す文字領域を検出する文字領域検出工程と、
ユーザ操作に基づいて前記画面上に指定される１つまたは複数のストロークを特定するストローク特定工程と、
前記１つまたは複数のストロークと重複する前記表示文字列の各文字のうち、前記文字領域における前記１つまたは複数のストローク上の最上下左右点に基づく選択領域の前記文字領域に対する面積の割合が閾値を超える、１つまたは連続した複数の文字を選択文字として特定する選択文字特定工程と、を有する選択文字特定方法。
【符号の説明】
【０１４１】
１０：ディスプレイ、１１：ＲＯＭ、１２：ＲＡＭ、１３：通信インタフェース、１４：ＣＰＵ、１５：ディスクドライブ、ＰＲ：選択文字特定プログラム
【図１】
2015026307.tif 000004
【図２】
2015026307.tif 000005
【図３】
2015026307.tif 000006
【図４】
2015026307.tif 000007
【図５】
2015026307.tif 000008
【図６】
2015026307.tif 000009
【図７】
2015026307.tif 000010
【図８】
2015026307.tif 000011
【図９】
2015026307.tif 000012
【図１０】
2015026307.tif 000013
【図１１】
2015026307.tif 000014
【図１２】
2015026307.tif 000015
【図１３】
2015026307.tif 000016
【図１４】
2015026307.tif 000017
【図１５】
2015026307.tif 000018
【図１６】
2015026307.tif 000019
【図１７】
2015026307.tif 000020
【図１８】
2015026307.tif 000021
【図１９】
2015026307.tif 000022
【図２０】
2015026307.tif 000023
【図２１】
2015026307.tif 000024
【図２２】
2015026307.tif 000025
【図２３】
2015026307.tif 000026