(57)【特許請求の範囲】
【請求項１】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、
過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、
手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、
を具備し、
前記プロセッサは、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示し、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示し、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定し、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示し、
前記複数の第１候補筆跡と、前記複数の第２候補筆跡とに含まれる少なくとも１つの候補筆跡が同じである場合に、その同一の候補筆跡の前記候補筆跡メニュー内の表示位置を変更しない、
電子機器。
【請求項２】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、
過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、
手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、
を具備し、
前記プロセッサは、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示し、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示し、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定し、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示し、
前記候補筆跡メニューにおいて、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡と同一の候補筆跡を第３形態で表示し、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡とは異なる候補筆跡を前記第３形態とは異なる第４形態で表示する、
電子機器。
【請求項３】
前記プロセッサは、前記第１領域に書き込み可能エリアを示す鍵括弧を表示すると共に、前記鍵括弧をドラッグして行の高さを大きくすると、自動的に前記第１ストロークの文字を大きくする請求項１又は請求項２に記載の電子機器。
【請求項４】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、を具備する電子機器の方法であって、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示し、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示し、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定し、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示し、
前記複数の第１候補筆跡と、前記複数の第２候補筆跡とに含まれる少なくとも１つの候補筆跡が同じである場合に、その同一の候補筆跡の前記候補筆跡メニュー内の表示位置を変更しない、
方法。
【請求項５】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、を具備する電子機器の方法であって、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示し、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示し、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定し、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示し、
前記候補筆跡メニューにおいて、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡と同一の候補筆跡を第３形態で表示し、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡とは異なる候補筆跡を前記第３形態とは異なる第４形態で表示する、
方法。
【請求項６】
前記第１領域に書き込み可能エリアを示す鍵括弧を表示すると共に、前記鍵括弧をドラッグして行の高さを大きくすると、自動的に前記第１ストロークの文字を大きくする請求項４又は請求項５に記載の方法。
【請求項７】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、を具備する電子機器の前記手書きアプリケーションプログラムであって、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示することと、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示することと、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定することと、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示することと、
前記複数の第１候補筆跡と、前記複数の第２候補筆跡とに含まれる少なくとも１つの候補筆跡が同じである場合に、その同一の候補筆跡の前記候補筆跡メニュー内の表示位置を変更しないことと、
の機能を実行するようにコンピュータを制御するプログラム。
【請求項８】
手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、を具備する電子機器の前記手書きアプリケーションプログラムであって、
前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示することと、
前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示することと、
表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定することと、
前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示することと、
前記候補筆跡メニューにおいて、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡と同一の候補筆跡を第３形態で表示し、前記複数の第２候補筆跡のうち、前記複数の第１候補筆跡とは異なる候補筆跡を前記第３形態とは異なる第４形態で表示することと、
の機能を実行するようにコンピュータを制御するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、手書き文書情報を処理する技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００３】
また最近では、手書き文字列を扱うことが可能な電子機器も開発されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来では、スムーズな手書き入力を可能にするための技術については考慮されていないのが現状である。
【０００６】
本発明の一形態の目的は、スムーズな手書き入力を可能にすることができる電子機器および方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、電子機器は、手書入力した筆跡ストロークが表示されるタッチスクリーンディスプレイと、過去に入力された手書き筆跡の情報を含む手書き情報が収集された辞書と、手書きアプリケーションプログラムを含む各種プログラムを実行するプロセッサと、を具備する。前記プロセッサは、前記タッチスクリーンディスプレイのディスプレイ上で第１ストロークが入力された場合に、前記第１ストロークの表示領域を含み前記第１ストロークに対応する文字の入力方向に長い帯状の第１領域を第１形態で前記ディスプレイ上に表示すると共に、前記第１領域以外の第２領域を前記第１形態とは異なる第２形態で前記ディスプレイ上に表示し、前記第１ストロークの入力に応じて前記辞書を参照し、前記第１ストロークから定まる入力の候補である複数の第１候補筆跡を優先度順に表示した候補筆跡メニューを前記第１領域の前記第１ストロークの入力端に合わせて表示し、表示された前記複数の第１候補筆跡のうちのいずれかが選択され、前記候補筆跡メニュー内のタップ操作がおこなわれた場合、前記第１ストロークに代えて前記選択された第１候補筆跡を入力として確定し、前記第１ストロークの入力の後に、第２ストロークが入力された場合に、前記第１ストロークおよび前記第２ストロークから定まる入力の候補である複数の第２候補筆跡を優先度順に表示した前記候補筆跡メニューを前記第１領域の前記第２ストロークの入力端に合わせて表示し、前記複数の第１候補筆跡と、前記複数の第２候補筆跡とに含まれる少なくとも１つの候補筆跡が同じである場合に、その同一の候補筆跡の前記候補筆跡メニュー内の表示位置を変更しない。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る電子機器の外観を示す例示的な斜視図。
【図２】図１の電子機器と外部装置との連携動作を示す例示的な図。
【図３】図１の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図４】図１の電子機器によって生成される時系列情報を説明するための例示的な図。
【図５】図１の電子機器のシステム構成を示す例示的なブロック図。
【図６】図１の電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示す例示的なブロック図。
【図７】図１の電子機器によって表示されるランドスケープユーザインタフェース（編集画面）を示す例示的な図。
【図８】図１の電子機器によって表示されるポートレートユーザインタフェース（編集画面）を示す例示的な図。
【図９】フルスクリーンモードにおけるランドスケープユーザインタフェース（編集画面）を示す例示的な図。
【図１０】フルスクリーンモードにおけるポートレートユーザインタフェース（編集画面）を示す例示的な図。
【図１１】図１の電子機器によって実行される範囲選択処理を説明するための例示的な図。
【図１２】図１の電子機器によって実行されるペン設定処理を説明するための例示的な図。
【図１３】検索キー入力エリア上における自動補完処理を説明するための例示的な図。
【図１４】図１の電子機器によって表示される検索結果を示す例示的な図。
【図１５】左利き用のランドスケープユーザインタフェース（編集画面）を示す例示的な図。
【図１６】自動補完モード（筆跡サジェストモード）における編集ビューエリアの表示形態を説明するための例示的な図。
【図１７】仮筆跡の入力が進むにつれて候補筆跡メニューの右端が横方向に延びて行く様子を説明するための例示的な図。
【図１８】候補筆跡メニューにより多くの候補筆跡のリストが表示された状態を示す例示的な図。
【図１９】候補筆跡メニューが書き込み可能エリアの上方または下方の一方に表示される様子を示す例示的な図。
【図２０】前回表示された候補筆跡が前回と同じ候補筆跡メニュー内の場所に表示される様子を示す例示的な図。
【図２１】自動補完モード（筆跡サジェストモード）における編集ビューエリアの表示形態の別の例を説明するための例示的な図。
【図２２】ユーザ辞書を編集するためのＵＩを説明するための例示的な図。
【図２３】ランドスケープ画面とランドスケープ／ポートレートページとの関係を説明するための図。
【図２４】ポートレート画面とランドスケープ／ポートレートページとの関係を説明するための図。
【図２５】図１の電子機器によって実行される自動補完処理の手順を示す例示的なフローチャート。
【図２６】図１の電子機器によって実行される候補筆跡メニュー表示処理の手順を示す例示的なフローチャート。
【図２７】図１の電子機器によって実行されるページ表示処理の手順の一部を示す例示的なフローチャート。
【図２８】図１の電子機器によって実行されるページ表示処理の手順の残りの部分を示す例示的なフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン（スタイラス）または指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。タブレットコンピュータ１０は、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わさるように取り付けられている。
【００１０】
タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、センサとが組み込まれている。センサは、フラットパネルディスプレイの画面とペンまたは指との接触位置を検出するように構成されている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、限定されないが、タッチパネルがタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１１】
タッチパネルは、例えば、フラットパネルディスプレイの画面上に配置される。このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００の例は、アクティブペン、パッシブペン、等を含む。以下では、限定されないが、ペン１００としてアクティブペンが使用される場合を想定する。
【００１２】
ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり筆跡がリアルタイムに描画される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合が手書き文書を構成する。
【００１３】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図４を参照して後述するが、この時系列情報は、複数のストロークにそれぞれ対応する複数のストロークデータを含む。各ストロークデータは、ある一つのストロークに対応し、このストローク上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１４】
タブレットコンピュータ１０は、記憶媒体から既存の任意の時系列情報（手書き文書情報）を読み出し、この手書き文書情報によって示される筆跡（複数のストローク）を画面上に表示することができる。さらに、タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、「範囲選択」ツール、および他の各種ツール等によって、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。
【００１５】
さらに、タブレットコンピュータ１０は、自動補完（ストローク推薦）機能も有している。この自動補完機能は、多くの文字列を手書きによって容易に入力できるようにするために、ユーザの手書き入力操作をアシストするための機能である。
【００１６】
図２は、タブレットコンピュータ１０と外部装置との連携動作の例を示している。タブレットコンピュータ１０は、パーソナルコンピュータ１やクラウドと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００１７】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、時系列情報（手書き文書）をネットワーク越しにパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。
【００１８】
これにより、タブレットコンピュータ１０内のストレージの容量が少ない場合でも、タブレットコンピュータ１０が多数の時系列情報（手書き文書）あるいは大容量の時系列情報（手書き文書）を扱うことが可能となる。
【００１９】
さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤに記録されている任意の１以上の手書き文書を読み出すことすができる（ダウンロード）。タブレットコンピュータ１０は、この読み出した手書き文書によって示されるストロークそれぞれをタブレットコンピュータ１０のタッチスクリーンディスプレイ１７の画面に表示することができる。
【００２０】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ２であってよい。タブレットコンピュータ１０は、手書き文書をネットワーク越しにサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａに記録されている任意の手書き文書を読み出すことができる（ダウンロード）。タブレットコンピュータ１０は、この読み出した手書き文書によって示されるストロークそれぞれをタブレットコンピュータ１０のタッチスクリーンディスプレイ１７の画面に表示することができる。
【００２１】
このように、本実施形態では、手書き文書が格納される記憶媒体は、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００２２】
次に、図３および図４を参照して、ユーザによって手書きされたストローク（文字、マーク、図形（線図）、表など）と手書き文書との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文字列の例を示している。
【００２３】
手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図３においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされた場合が想定されている。
【００２４】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２２、…ＳＤ２ｎが得られる。
【００２５】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２６】
図４は、図３の手書き文字列に対応する時系列情報２００を示している。時系列情報２００は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
【００２７】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００２８】
各ストロークデータは、一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００２９】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００３０】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３１】
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３２】
図５は、タブレットコンピュータ１０のシステム構成を示す。  
タブレットコンピュータ１０は、図５に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３３】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。プロセッサは処理回路を含む。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種コンピュータプログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム２０２が含まれている。この手書きノートアプリケーションプログラム２０２は、メモをとることが可能なデジタルノートブックアプリケーションである。この手書きノートアプリケーションプログラム２０２は、上述の手書き文書を作成および表示する機能、手書き文書を編集する機能、および自動補完機能等を有している。
【００３４】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３５】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００３６】
グラフィクスコントローラ１０４は、タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。表示コントローラは表示制御回路を含む。ＬＣＤ１７Ａを含むタッチスクリーンディスプレイ１７（タッチスクリーンディスプレイ１７／ＬＣＤ１７Ａの画面）は、長方形の形状を有している。
【００３７】
このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａ上にはタッチパネル１７Ｂが配置されている。
【００３８】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００３９】
タブレットコンピュータ１０は、入力デバイス１０９（マウス、キーボード等）と通信するため周辺インタフェースを備えていてもよい。
【００４０】
＜手書きノートアプリケーションプログラム２０２の特徴＞
以下、手書きノートアプリケーションプログラム２０２の幾つかの特徴について説明する。
【００４１】
＜アプリケーションの基本的特徴＞
手書きノートアプリケーションプログラム２０２は、編集中のページを周期的に自動的に保存する。手書きノートアプリケーションプログラム２０２が停止／終了される時、手書きノートアプリケーションプログラム２０２は、編集中のページを自動的に保存する。
【００４２】
手書きノートアプリケーションプログラム２０２は、複数の言語をサポートする。手書きノートアプリケーションプログラム２０２は、ＯＳセッティング上でセットされた言語を使用する。
【００４３】
手書きノートアプリケーションプログラム２０２は、文字認識エンジンを含む。この文字認識エンジンは、日本語、英語、韓国語、ロシア語、中国語、他の様々な言語をサポートする。
【００４４】
手書きノートアプリケーションプログラム２０２は、画面回転機能を有している。手書きノートアプリケーションプログラム２０２は、ランドスケープページとポートレートページの２つのタイプのページをサポートする。ページは、手書きされたストロークを入力可能な領域である。ランドスケープページは、横向きのページであり、水平方向に長い境界を含む。つまり、ランドスケープページは、横方向に長い矩形の領域である。この矩形の領域は、手書きされたストロークを入力可能な範囲である。
【００４５】
ポートレートページは縦向きのページであり、垂直方向に長い境界を含む。つまり、ポートレートページは、縦方向に長い矩形の領域である。この矩形の領域は、手書きされたストロークを入力可能な範囲である。
【００４６】
手書きノートアプリケーションプログラム２０２は、マルチユーサ環境をサポートする。ユーザ管理機能はＯＳに依存する。手書きノートアプリケーションプログラム２０２は、自身のユーザ管理機能を有していなくてもよい。この場合、ページデータ（ノートブックデータ）は、ＯＳによって準備されるユーザローカルデータエリアに置かれる。このことは、ある一人のユーザのノートブックデータは他のユーザから独立していることを意味する。
【００４７】
手書きノートアプリケーションプログラム２０２は、マルチプル・ウィンドウ・レイアウトをサポートする。マルチプル・ウィンドウ・レイアウトにおいては、たとえば、画面の半分（たとえば左側）に手書きノートアプリケーションプログラム２０２のウィンドウが表示され、画面の残り半分（たとえば右側）に他のアプリケーションプログラムのウィンドウが表示されている。
【００４８】
手書きノートアプリケーションプログラム２０２は、現在のページ（編集中のページ）を印刷する機能を有する。アプリケーションバーまたはチャームからこの印刷機能が呼び出された場合、現在のページが１ページに印刷される。
【００４９】
手書きノートアプリケーションプログラム２０２は、キーボードによって操作されることができる。手書きノートアプリケーションプログラム２０２は、ページを閲覧または編集することが可能な編集画面上で行われる以下の基本的なショートカットキーをサポートする。
【００５０】
コピー：    Ctrl+C
ペースト：  Ctrl+V
切り取り：  Ctrl+X
削除：      Delete
取り消し：  Ctrl+Z
やり直し：  Ctrl+Y 
移動：      矢印
手書きノートアプリケーションプログラム２０２は、マウスによって操作されることができる。
【００５１】
手書きノートアプリケーションプログラム２０２は、タッチまたはペンによって操作されることができる。用語「タッチ」は、指ジェスチャを意味する。
【００５２】
ここで、手書きノートアプリケーションプログラム２０２の入力ハードウェア環境について説明する。
【００５３】
手書きノートアプリケーションプログラム２０２は、以下のデバイスの少なくとも一つが動作することを必要とする。
【００５４】
ペンデバイス（たとえば、アクティブペン）
タッチパネル（またはデジタイザ）
マウス
キーボード
入力ハードウェア環境のタイプと手書きノートアプリケーションプログラム２０２の振る舞いとの関係は以下の通りである。
【００５５】
入力ハードウェア環境タイプ１：  この入力ハードウェア環境は、ペンデバイスが存在し、タッチパネルが存在する製品に対応する。手書きノートアプリケーションプログラム２０２は、ペンによってストロークを描画することができる。手書きノートアプリケーションプログラム２０２は、タッチ入力モードにおいてはタッチまたはマウスによってストロークを描画することができる。タッチ入力モードは、指またはマウスによってストロークを描画するモードである。デフォルトの設定においては、タッチ入力モードはオフである。
【００５６】
入力ハードウェア環境タイプ２：  この入力ハードウェア環境は、ペンデバイスが存在せず、タッチパネルが存在する製品に対応する。手書きノートアプリケーションプログラム２０２は、タッチ入力モードにおいてはタッチまたはマウスによってストロークを描画することができる。デフォルトの設定においては、タッチ入力モードはオンである。タッチ入力モードはオフに設定することができない。
【００５７】
入力ハードウェア環境タイプ３：  この入力ハードウェア環境は、ペンデバイスが存在せず、タッチパネルが存在しない製品に対応する。手書きノートアプリケーションプログラム２０２は、タッチ入力モードにおいてはマウスによってストロークを描画することができる。デフォルトの設定においては、タッチ入力モードはオンである。タッチ入力モードはオフに設定することができない。
【００５８】
この他、例えば、ペン（例えばデジタイザペン）と、デジタイザと、タッチパネルを備える製品に対応する入力ハードウェア環境タイプを使用しても良い。この入力ハードウェア環境においては、手書きノートアプリケーションプログラム２０２は、ペンによってストロークを描画することができる。手書きノートアプリケーションプログラム２０２は、タッチ入力モードにおいてはタッチまたはマウスによってストロークを描画することができる。タッチ入力モードは、指またはマウスによってストロークを描画するモードである。デフォルトの設定においては、タッチ入力モードはオフである。
【００５９】
ペンのサイドボタンの設定について説明する。標準的なペン（たとえばアクティブペン）には消しゴムボタンおよびサイドボタンがある。ボタン・アクションはOSシステムによって定義される。手書きノートアプリケーションプログラム２０２は、下記のようにボタン振る舞いを割り当てる。
【００６０】
サイドボタン(右マウスクリックボタン)：  描画に使用されるペンタイプの選択
消しゴムボタン：  消しゴム
２つのサイドボタンを有するペンもある。この場合、手書きノートアプリケーションプログラム２０２は、下記のようにボタン振る舞いを割り当てることができる。
【００６１】
上サイドボタン：  右マウス・クリックボタン
下サイドボタン：  消しゴムボタン
手書きノートアプリケーションプログラム２０２は、ペンボタン（サイドボタン、消しゴムボタン）をオンまたはオフに設定することができる。
【００６２】
ＵＩ（ユーザインタフェース）状態の保存について説明する。手書きノートアプリケーションプログラム２０２は、幾つかのＵＩ状態を保存でき、そのＵＩ状態を次回起動時に引き継ぐことができる。保存されるＵＩ状態は以下の通りである。
【００６３】
ペン設定（色、幅、等）
消しゴム設定（大または小）
選択ツール設定（矩形枠または自由枠）
フルスクリーンモード／ノーマルモード
＜ページ入力／編集機能＞
次に、ページ入力／編集機能について説明する。
【００６４】
手書きノートアプリケーションプログラム２０２は、以下のペンタイプをサポートする。
【００６５】
万年筆
鉛筆
ポールペン
マーカー
サインペン（フェルトペン）
どのペンタイプも描画される線の透明度を設定することができる。幾つかのペンタイプについては、描画される線の幅が筆圧に応じて変更される。幾つかのペンタイプについては、描画される線の透明度が筆圧に応じて変更される。
【００６６】
たとえば、万年筆のペンタイプは、筆圧に敏感に反応する。万年筆に関しては、線の幅は筆圧に応じて変更され、また線の透明度も筆圧に応じて変更される。
【００６７】
鉛筆のペンタイプは、筆圧にゆっくりと反応する。鉛筆に関しては、線の幅は筆圧に応じてゆっくりと変更され、また線の透明度も筆圧に応じてゆっくりと変更される。
【００６８】
ポールペンのペンタイプは、筆圧に反応しない。
【００６９】
マーカーのペンタイプは、透明度についのみ筆圧にゆっくりと反応する。
【００７０】
フェルトペンのペンタイプは、幅についのみ筆圧にゆっくりと反応する。
【００７１】
手書きノートアプリケーションプログラム２０２は、アクティブペンによってストロークを手書き入力することができる。手書きノートアプリケーションプログラム２０２は、ストロークをストローク単位で消すことができる。消しゴムサイズは、大または小から選択することができる。消しゴムサイズの初期値は大であってもよい。
【００７２】
手書きノートアプリケーションプログラム２０２は、選択（範囲選択）ツールによってページ内のオブジェクト（ストローク、イメージ）を選択することができる。
【００７３】
手書きノートアプリケーションプログラム２０２は、コピー／カット／ペースト機能をサポートする。これらコピー／カット／ペースト機能はＯＳのクリップボード機能を使用する。手書きノートアプリケーションプログラム２０２は、以下の4種類のコピーを実行することができる。
【００７４】
「コピー」：  手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトをストロークデータとしてクリップボードにコピー（格納）する。ストロークデータは、ストロークに対応する複数の点の座標を含む。ペースト対象アプリケーションは、この手書きノートアプリケーションプログラム２０２である。
【００７５】
「イメージとしてコピー」：  手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトをイメージ（画像データ）としてクリップボードにコピー（格納）する。イメージはたとえばビットマップである。手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトを画像データに変換し、この画像データをクリップボードにコピー（格納）する。ペースト対象アプリケーションは、画像を扱うアプリケーションである。
【００７６】
「オフィスデータとしてコピー」：  手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトをフォーマットされたオブジェクトとしてクリップボードにコピー（格納）する。フォーマットされたオブジェクトは、他のアプリケーションプログラムが扱うことが可能なデータフォーマットを有するオブジェクトである。手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトをフォーマットされたオブジェクトに変換し、このフォーマットされたオブジェクトをクリップボードにコピー（格納）する。ペースト対象アプリケーションは、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーションである。選択されたオブジェクトをフォーマットされたオブジェクトに変換する処理は、文字認識、図形認識、表認識を使用して実行される。文字認識は、手書き文字列に対応するストロークを、認識されたテキストに変換する。図形認識は、手書きされた図形に対応するストロークをフォーマットされた図形オブジェクトに変換する。表認識は、手書きされた表に対応するストロークをフォーマットされた表オブジェクトに変換する。
【００７７】
「テキストとしてコピー」：  手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトを認識されたテキストとしてクリップボードにコピー（格納）する。認識されたテキストは、手書き文字列に対応するストロークを文字認識することによって得られる。手書きノートアプリケーションプログラム２０２は、選択されたオブジェクトを文字認識によってテキストに変換し、このテキストをクリップボードにコピー（格納）する。ペースト対象アプリケーションは、テキストエディタアプリケーションである。
【００７８】
＜自動補完機能＞
手書きノートアプリケーションプログラム２０２は、自動補完機能を有する。自動補完機能は、ユーザによって手書き入力されたストローク（仮ストローク）から定められる入力の候補である１以上の筆跡（１以上の候補筆跡）をディスプレイに表示する。自動補完機能は、１以上の候補筆跡のいずれかがユーザによって選択される場合、仮ストロークの代わりに、この選択された候補筆跡を入力することする。
【００７９】
１．  ユーザは自動補完モードをオンにする（ユーザインタフェース（ＵＩ）は自動補完モードをオンとオフとの間で切り替えることができる）。
【００８０】
２．  ユーザはディスプレイ上でストローク（仮ストローク）を入力する。このストロークはディスプレイに表示される。
【００８１】
３．  手書きノートアプリケーションプログラム２０２は、１以上の候補筆跡を決定し、候補筆跡のリスト（候補筆跡メニュー）を作成する。各候補筆跡は、１以上のストロークを含むストローク列である。候補筆跡は、その先頭部分に、仮筆跡に類似する筆跡を含む筆跡であってもよい。
【００８２】
４．  手書きノートアプリケーションプログラム２０２は、候補筆跡のリスト（候補筆跡メニュー）をディスプレイ上に表示する。たとえば、ユーザによって文字「ａ」に対応する仮ストロークが入力された時、文字列「ａｐｐｌｅ」に対応する筆跡、文字列「ａｐｐｌｉｃａｔｉｏｎ」に対応する筆跡、文字列「ａｐｒｏｂａｌ」に対応する筆跡等を含む候補筆跡メニューがディスプレイに表示されてもよい。
【００８３】
５．  ユーザが候補筆跡メニュー上のある１つの候補筆跡を選択した時、手書きノートアプリケーションプログラム２０２は、この候補筆跡を、仮ストロークに代えて、入力することとする。つまり、ユーザによって入力された仮ストロークは、この選択された候補筆跡を使用して補完される。この候補筆跡は確定（エンター）された筆跡となる。この候補筆跡のサイズ（高さ、文字間隔）は、例えば、仮ストロークよりも前に入力されたストロークのサイズに対応するサイズに自動的に調整されてもよい。
【００８４】
自動補完機能では、候補筆跡は、ユーザによって過去に入力された手書き情報から抽出される。このことは、ユーザが、ユーザが過去に入力した手書き情報を再利用できることを意味する。ユーザによって過去に入力された手書き情報から収集される筆跡の集合は、自動補完辞書データデータベースに格納されてもよい。手書きノートアプリケーションプログラム２０２は、ユーザの手書きノートブックから筆跡の集合を自動的に収集し、この筆跡の集合を自動補完辞書データデータベースに格納することができる。手書きノートアプリケーションプログラム２０２は、仮ストロークから定まる１以上の候補筆跡を自動補完データデータベースから取得することができる。ユーザは、自動補完データデータベース内の任意の候補筆跡を無効にすることもできる。無効にされた候補筆跡は、自動補完処理に使用されない。
【００８５】
自動補完機能では、手書きノートアプリケーションプログラム２０２は、ページ内の書き込み可能エリアの明るさを維持し、ページ内の他のエリアを暗くしてもよい（例えばグレーアウト）。たとえば、手書きノートアプリケーションプログラム２０２は、他のエリアの背景の色を暗い色に変更してもよい。これにより、書き込み可能エリアの表示形態と他のエリアの表示形態とが異なるので、ユーザは、ページ内の殿領域が書き込み可能エリアであるかを容易に理解することができる。
【００８６】
ページ内の書き込み可能エリアは、仮ストロークの表示領域を含み、且つ仮ストロークに対応する文字の入力方向に延びる長い帯状の領域である。たとえば、ページ上に仮ストロークに対応する文字が横書きされる場合、仮ストロークの表示領域から横方向に延びる書き込み可能エリアとなる。書き込み可能エリアは、選択された候補筆跡が仮ストロークに代えて入力されるエリアとして使用される。したがって、書き込み可能エリアと他のエリアとを異なる表示形態で表示することにより、選択された候補筆跡が入力されるべき位置をユーザに予め提示することができる。さらに、ページ内の他のエリア（暗いエリア）は、候補筆跡を選択せずに、仮ストロークをページにエンター（入力）すべきことを指示することが可能な広いボタンエリアとして機能する。ページ内の他のエリアがペンまたは指によってタップされた時、手書きノートアプリケーションプログラム２０２は、仮ストロークを入力することとする。つまり、仮ストロークは確定された（エンター）された筆跡となる。
【００８７】
候補筆跡メニューにおいては、たとえば、３つの候補筆跡が表示されてもよい。候補筆跡メニューは３つのボタンエリアを含み。３つの候補筆跡がこれら３つのボタンエリアにそれぞれ表示される。各ボタンエリアは、対応する候補筆跡を選択するために操作領域である。
【００８８】
ユーザがある候補筆跡に対応する操作領域（例えば、ある候補筆跡に対応するボタンエリア）をタップした時、この操作領域に対応する候補筆跡がページにエンター（入力）される。候補筆跡メニューは、さらに、確認（ｃｏｎｆｉｒｍ）ボタン、モアショウボタンを表示してもよい。
【００８９】
ユーザが確認（ｃｏｎｆｉｒｍ）ボタンをタップした時、手書きノートアプリケーションプログラム２０２は、仮筆跡をページにエンター（入力）する。ユーザがモアショウボタンをタップした時、手書きノートアプリケーションプログラム２０２は、候補筆跡メニューのサイズを拡大し、３つよりも多くの候補筆跡を候補筆跡メニュー上に表示する。
【００９０】
候補筆跡の表示位置について以下に説明する。
【００９１】
候補筆跡の表示位置、つまり候補筆跡メニューの表示位置は、ユーザが仮ストロークを手書き入力しながらユーザが操作し易い位置に置かれることが好ましい。これは、ユーザがペンまたは指を僅かに動かすだけで所望の候補筆跡を容易に選択できるようにするためである。手書きノートアプリケーションプログラム２０２は、左利きまたは右利きの設定を受け付けることができる。ユーザは、手書きノートアプリケーションプログラム２０２によって提供される設定ツールによって、左利きモードまたは右利きモードを選択することができる。
【００９２】
あるいは、ＯＳ２０１の設定ツールが、ユーザの操作に応じて、左利きモードまたは右利きモードを設定してもよい。
【００９３】
右利きモードに設定されている場合には、手書きノートアプリケーションプログラム２０２は、仮ストロークから定まる１以上の候補筆跡、つまり候補筆跡メニューを、仮ストロークの位置よりも左側に表示する。たとえば、最後に手書き入力された仮ストロークの終端または右端よりも左側に候補筆跡メニューを表示してもよい。この場合、候補筆跡メニューは、候補筆跡メニューの右端が最後に手書き入力された仮ストロークの終端または右端に揃う位置に表示されてもよい。候補筆跡メニューは、上述の書き込み可能エリアの上側または下側に表示されればよい。
【００９４】
左利きモードに設定されている場合には、手書きノートアプリケーションプログラム２０２は、仮ストロークから定まる１以上の候補筆跡、つまり候補筆跡メニューを、仮ストロークの位置よりも右側に表示する。たとえば、最後に手書き入力された仮ストロークの終端または左端よりも右側に候補筆跡メニューを表示してもよい。この場合、候補筆跡メニューは、候補筆跡メニューの左端が最後に手書き入力された仮ストロークの終端または左端に揃う位置に表示されてもよい。候補筆跡メニューは、上述の書き込み可能エリアの上側または下側に表示されればよい。
【００９５】
ある仮ストローク（第１仮ストローク）の入力の後に、次の仮ストローク（第２仮ストローク）が入力された場合、手書きノートアプリケーションプログラム２０２は、第１仮ストロークと第２仮ストロークとから定まる１以上の筆跡候補をディスプレイに表示する。この場合、もしこの１以上の筆跡候補に、第１仮ストロークから定まる１以上の筆跡候補（既に表示されている候補）と同じ候補が含まれる場合、手書きノートアプリケーションプログラム２０２は、この既に表示されている候補の表示位置を変更せず、且つこの既に表示されている候補の操作領域を、第２仮ストロークの表示位置に応じて拡大してよい。これにより、既に表示されている候補を再描画する必要がなくなり、しかも操作領域の拡大によって選択性が損なわれることもない。
【００９６】
つまり、手書きノートアプリケーションプログラム２０２は、既に表示されている候補筆跡メニューを横方向に伸ばす。候補筆跡メニューは、最後に手書き入力された仮筆跡の終端、つまり最後に手書き入力されたストロークの終端にこの候補筆跡メニューの右端が揃うように、横方向に伸びてもよい。この場合、候補筆跡メニューは、候補筆跡メニューの右端が最後に手書き入力されたストロークの終端よりもあるピクセル数分だけ左側に位置するように、横方向に伸ばされてもよい。これにより、候補筆跡メニューが画面から一時的に消え、候補筆跡メニューが画面上に再び現れるという現象の発生を招くことなく、候補筆跡メニュー内の各ボタンエリアのサイズを横方向に伸ばすことができる。たとえば、ユーザが筆跡を左から右に書いた時、候補筆跡メニューの右端は右方向に伸びる。これにより、ユーザはペンまたは指を僅かに移動するだけで所望の候補筆跡を選択することができる。
【００９７】
＜検索機能＞
手書きノートアプリケーションプログラム２０２は、筆跡（ストローク）検索またはテキスト検索によって所望の筆跡（手書き文字、手書き図形、手書き表、等）を含む所望のページを検索することができる。この機能は、認識技術に基づいている。
【００９８】
ユーザが筆跡（１以上のストローク）を検索キーとして手書き入力した時、所望のページを検索するために２つの方法が使用できる。一方は筆跡特徴（ストローク特徴）のパターンマッチングであり、他方は文字認識をベースとした文字マッチングである。手書きノートアプリケーションプログラム２０２は、入力された筆跡（１以上のストローク）に基づいて、使用すべきアルゴリズムをこれら２つの方法の間で自動的に変更する。たとえば、入力された筆跡（１以上のストローク）の文字列尤度が高い場合、つまり入力された筆跡が文字列である可能性が高い場合には、文字マッチングが使用される。一方、入力された筆跡（１以上のストローク）の文字列尤度が低い場合、つまり入力された筆跡が図形、表、マークである可能性が高い場合には、ストローク特徴のパターンマッチングが使用される。
【００９９】
ストローク特徴のパターンマッチングにおいては、検索キーとして入力された筆跡に類似する特徴を有する筆跡が探される。たとえば、検索キーとして入力された筆跡の形状に類似する形状を有する筆跡が探される。
【０１００】
文字認識をベースとした文字マッチングでは、検索キーとして入力された筆跡は、文字認識によってテキスト（文字列）に変換される。そして、このテキスト（文字列）と同じ文字列を含むページが探される。
【０１０１】
次に、図６を参照して、手書きノートアプリケーションプログラム２０２の構成について説明する。
【０１０２】
手書きノートアプリケーションプログラム２０２は、ペン軌跡表示処理部３０１、時系列情報生成部３０２、編集処理部３０３、ページ保存処理部３０４、ページ取得処理部３０５、手書き文書表示処理部３０６、および処理部３０８等を備える。
【０１０３】
手書きノートアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書き文書（手書きデータ）の作成、表示、編集等を行う。タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【０１０４】
ペン軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ」または「移動（スライド）」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントにも、移動先の接触位置の座標が含まれている。したがって、ペン軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【０１０５】
ペン軌跡表示処理部３０１は、手書きによって入力される筆跡（１以上のストローク）をタッチスクリーンディスプレイ１７の画面上に表示するように構成された表示処理部として機能する。ペン軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信する。そして、この座標列に基づいて、ペン軌跡表示処理部３０１は、ペン１００等を使用した手書き入力操作によって入力される複数のストロークをタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。ペン軌跡表示処理部３０１は、処理部３０８の制御の下、ＵＩの表示に関する様々な表示制御を実行することができる。
【０１０６】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信する。この座標列に基づいて、時系列情報生成部３０２は、上述の複数のストロークに対応する複数のストロークデータ（時系列情報）を生成する。これらストロークデータ、つまり各ストロークの各点に対応する座標および各ストロークのタイムスタンプ情報は作業メモリ４０１に一時保存してもよい。
【０１０７】
ページ保存処理部３０４は、複数のストロークに対応する複数のストロークデータを含む手書き文書情報を記憶媒体４０２内の手書きノートデータベース４０２Ａに保存する。記憶媒体４０２は、上述したように、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【０１０８】
ページ取得処理部３０５は、記憶媒体４０２から任意の手書き文書情報を読み出す。読み出された手書き文書情報は手書き文書表示処理部３０６に送られる。手書き文書表示処理部３０６は、手書き文書情報を解析し、この解析結果に基づいて、手書き文書情報内の複数のストロークデータによって示される複数のストロークを画面上にページ（手書きページ）として表示する。
【０１０９】
編集処理部３０３は現在表示中のページを編集するための処理を実行する。すなわち、編集処理部３０３は、タッチスクリーンディスプレイ１７上でユーザによって行われる編集操作に応じて、表示されている複数のストローク内の１以上のストロークを削除または移動等するための編集処理を実行する。さらに、編集処理部３０３は、編集処理の結果を表示中の手書き文書に反映するためにこの手書き文書を更新する。
【０１１０】
ユーザは、「消しゴム」ツール等を使用して、表示されている複数のストローク内の任意のストロークを削除することができる。また、ユーザは、画面上の任意の部分を矩形または自由枠によって囲むための「範囲選択」ツールを使用して、表示されている手書きページ内の任意の部分を選択することができる。
【０１１１】
処理部３０８は、上述の自動補完、検索、コピー、インポート、エクスポート、等の様々な処理を実行することができる。処理部３０８は、例えば、自動補完処理部３０８Ａ、ページスクロール処理部３０８Ｂ、等を含む。
【０１１２】
自動補完処理部３０８Ａは、上述の自動補完機能を実行するように構成された処理部である。自動補完モードにおいては、自動補完処理部３０８Ａは、ディスプレイ上で入力される仮ストロークと手書き文書情報とに基づいて、ユーザが手書きしようとしている筆跡、つまりストローク列（手書き文字列）を、予測する。そして、自動補完処理部３０８Ａは、仮ストロークから定められる１以上の候補筆跡をディスプレイ上に表示してユーザに提示する。
【０１１３】
例えば、仮ストローク「ａ」が手書きによって入力された場合には、手書きの語「ａｄｄ」または「ａｃｃｅｓｓ」のような候補筆跡がユーザに提示されてもよい。もしユーザによって手書きの語「ａｃｃｅｓｓ」が選択されたならば、仮ストローク「ａ」は、この手書きの語「ａｃｃｅｓｓ」によって補完される。そして、この手書きの語「ａｃｃｅｓｓ」が、仮ストローク「ａ」の代わりにページにエンターされる。よって、ユーザは、手書きの語「ａｃｃｅｓｓ」の筆跡を容易に入力することが出来る。
【０１１４】
どの候補筆跡も選択されずに、次の仮ストローク、たとえば「ｂ」が入力された場合、自動補完処理部３０８Ａは、今度は、２つの仮ストローク「ａｂ」から定まる１以上の候補筆跡をディスプレイ上に表示してユーザに提示する。
【０１１５】
手書き文書情報に格納される手書き文字列の言語はどのような言語であってもよい。利用可能な言語の例は、英語、日本語、および他の様々な言語を含む。英語の文字列に関しては、筆跡（手書き文字列）は、ブロック体の文字列に対応するストローク列であってもよいし、筆記体の文字列に対応するストローク列であってもよい。筆記体で手書きされた単語は１つのストロークから構成される場合がある。したがって、自動補完処理において手書き文書情報から取得される各筆跡（ストローク列）は、必ずしも複数のストロークを含んでいる必要は無く、一つのストロークであってもよい。
【０１１６】
仮ストロークから定められる候補筆跡を容易に特定できるようにするために、自動補完処理部３０８Ａは、手書きノートデータベース４０２Ａに格納されているストロークの集合（手書き文書情報）から手書き文字列のような筆跡を自動収集し、これら自動収集された手書き文字列を自動補完辞書データベース４０２Ｂに格納しても良い。
【０１１７】
この自動補完辞書データベース４０２Ｂにおいては、例えば、意味のある文字列単位（例えば単語単位で）で、筆跡（ストローク列）と、この筆跡に対応する単語（文字認識結果）とが格納されていても良い。さらに、自動補完辞書データベース４０２Ｂにおいては、単語と、筆跡（ストローク列）に加えて、その単語に対応する読みが格納されていても良い。単語が英語である場合には、その単語の読みの代わりに、その単語のエイリアスが自動補完辞書データベース４０２Ｂに格納されても良い。
【０１１８】
自動補完処理部３０８Ａは、まず、ユーザによって入力された仮ストロークを文字認識してもよい。そして、自動補完処理部３０８Ａは、自動補完辞書データベース４０２Ｂを参照し、この仮ストロークの文字認識結果（文字列）に前方一致する単語を見つけ出す。自動補完処理部３０８Ａは、見つけ出した単語に対応する筆跡（ストローク列）を、仮ストロークから定められる候補筆跡として自動補完辞書データベース４０２Ｂから取得する。
【０１１９】
あるいは、自動補完辞書データベース４０２Ｂにおいては、例えば、単語単位で、筆跡（ストローク列）と、この筆跡に対応する特徴量とが格納されていても良い。ある筆跡の特徴量としては、この筆跡の手書き特徴を表すことができる任意の特徴を使用することができる。例えば、特徴量としては、ストロークの形状、ストロークの筆画方向、ストロークの傾斜、等を表す特徴量データを使用しても良い。この場合、自動補完処理部３０８Ａは、仮筆跡の特徴量に類似する特徴量を有する候補筆跡を自動補完辞書データベース４０２Ｂから取得してもよい。
【０１２０】
自動補完処理部３０８Ａは、ユーザ辞書データベース４０２Ｃを使用することもできる。ユーザ辞書データベース４０２Ｃは、予め用意された多数の候補筆跡を格納する。これら候補筆跡は、多数の単語にそれぞれ対応する筆跡である。ユーザは、ユーザ辞書データベース４０２Ｃに新たな筆跡を登録することができる。さらに、ユーザは、ユーザ辞書データベース４０２Ｃから任意の筆跡を削除することもできる。
【０１２１】
ページスクロール処理部３０８Ｂは、ページのタイプ（ランドスケープページ／ポートレートページ）に応じて、そのページに対するスクロール方法を制限する処理を実行する。すなわち、タッチスクリーンディスプレイ１７の表示方向（つまり、画面イメージの向き）は、タブレットコンピュータ１０の方向（向き）に応じて、互いに９０度異なる少なくとも第１方向と第２方向に自動的に変更される。第１方向と第２方向の一方はランドスケープ向きに対応し、第１方向と第２方向の他方はポートレート向きに対応する。
【０１２２】
手書きのストロークを入力可能な範囲である第１領域（ページ）が横方向に長い矩形である場合には、つまり、表示されているページがランドスケープページである場合には、タッチスクリーンディスプレイ１７の表示方向が第１方向か第２方向かによらず、ページスクロール処理部３０８Ｂは、横方向のみに、第１領域をスクロール可能とする。一方、含む手書きのストロークを入力可能な範囲である第１領域が縦方向に長い矩形である場合には、つまり、表示されているページがポートレートページである場合には、ページスクロール処理部３０８Ｂは、タッチスクリーンディスプレイ１７の表示方向が第１方向か第２方向かによらず、縦方向のみに、第１領域をスクロール可能とする。
【０１２３】
次に、手書きノートアプリケーションプログラム２０２によって提供される幾つかのユーザインタフェースについて説明する。
【０１２４】
手書きノートアプリケーションプログラム２０２の処理部３０８は、ランドスケープモードとポートレートモードとをサポートする。これらモードは、タブレットコンピュータ１０の向きおよびＯＳ設定によって自動的に選択される。この振る舞いは、処理部３０８内のＵＩモジュールによって管理される。
【０１２５】
図７は、ランドスケープＵＩ（編集画面）を示す。タブレットコンピュータ１０が横向きで使用される時、処理部３０８は、図７に示されるランドスケープＵＩ（編集画面）を表示する。ランドスケープＵＩは、４つのエリア、つまりノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３、および編集ビューエリア５０４とを含む。これらエリア５０１〜５０４は、タブレットコンピュータ１０の画面の左端から右端に向かって並んでいる。
【０１２６】
ノートブックリスト５０１は手書きノートアプリケーションプログラム２０２によって管理されているノートブックのリストを示す。ノートブックリスト５０１の上端近傍の２つのアイコン「Ａｄｄ  Ｎｏｔｅ」、「Ａｌｌ  Ｐａｇｅｓ」はコマンドアイコンである。「Ａｄｄ  Ｎｏｔｅ」アイコンがユーザよってタップされると、処理部３０８は、新たなノードブックを追加するための処理を実行する。「Ａｌｌ  Ｐａｇｅｓ」アイコンがユーザよってタップされると、処理部３０８は、全てのノートブック内の全てのページに対応するサムネイルのリストを表示するための処理を実行する。
【０１２７】
「Ｕｎｃｌａｓｓｉｆｉｅｄ  ｐａｇｅｓ」アイコンは、ユーザのどのノートブックにも属さないページ群を含むノートブックを示すノートブックアイコンである。「Ｒｅｓｅａｒｃｈ」アイコンは、ユーザのノートブック（タイトル名「Ｒｅｓｅａｒｃｈ」）を示すノートブックアイコンである。「ｉｄｅｓｓ」アイコンは、ユーザのノートブック（タイトル名「ｉｄｅｓｓ」）を示すノートブックアイコンである。「ｐｒｅｓｅｎｔａｔｉｏｎ」アイコンは、ユーザのノートブック（タイトル名「ｐｒｅｓｅｎｔａｔｉｏｎ」）を示すノートブックアイコンである。「Ｍｉｎｕｔｅｓ」アイコンは、ユーザのノートブック（タイトル名「Ｍｉｎｕｔｅｓ」）を示すノートブックアイコンである。「ＴｏＤｏ」アイコンは、ユーザのノートブック（タイトル名「ＴｏＤｏ」）を示すノートブックアイコンである。
【０１２８】
これらノートブックアイコンはドラッグ&ドロップ操作によって再配置することができる。
【０１２９】
ノートブックリスト５０１においては、ノートブックリスト５０１がタッチ（指）またはペン１００によって操作された時、パンインジケータＰＩがノートブックリスト５０１の例えば右端に表示される。パンインジケータＰＩは、ノートブックリスト５０１に表示可能なコンテンツ全体に対する、ノートブックリスト５０１に現在表示されている内容の相対的な位置を示す。パンインジケータＰＩがタッチ（指）またはペン１００によって操作された時、ノートブックリスト５０１が縦方向にストロールされる。ノートブックリスト５０１上にマウスポインタが位置する場合には、パンインジケータＰＩの代わりに、ノートブックリスト５０１の例えば右端に表示される。ユーザは、マウスによってノートブックリスト５０１を縦方向にストロールすることができる。
【０１３０】
ページリスト５０２は、現在選択されているノートブックアイコンに対応するノートブック内に含まれるページに対応するサムネイルのリストを示す。
【０１３１】
ページリスト５０２内の最も上の「Ａｄｄ  Ｐａｇｅ」アイコンは、コマンドアイコンである。「Ａｄｄ  Ｐａｇｅ」アイコンがユーザよってタップされると、処理部３０８は、編集中のページに新たなページを追加するための処理を実行する。
【０１３２】
「Ａｄｄ  Ｐａｇｅ」アイコンの下側には、複数のページに対応するサムネイルをそれぞれ示す複数のページアイコンが配置されている。選択されたページアイコンに対応するページに含まれるストロークは、編集ビューエリア５０４に表示される。ユーザは、ページリスト５０２内の任意のページアイコンを選択することによって、任意のページを編集ビューエリア５０４に表示することができる。
【０１３３】
これらページアイコンはドラッグ&ドロップ操作によって再配置することができる。ユーザは、ページアイコンをドラッグ&ドロップ操作することによってページ順序を変更（カスタマイズ）することができる。
【０１３４】
ページリスト５０２においては、ノートブックリスト５０２がタッチ（指）またはペン１００によって操作された時、パンインジケータＰＩがページリスト５０２の例えば右端に表示される。パンインジケータＰＩは、ページリスト５０２に表示可能なコンテンツ全体に対する、ページリスト５０２に現在表示されている内容の相対的な位置を示す。パンインジケータＰＩがタッチ（指）またはペン１００によって操作された時、ページリスト５０２が縦方向にストロールされる。ページリスト５０２上にマウスポインタが位置する場合には、パンインジケータＰＩの代わりに、スクロールバーがページリスト５０２の例えば右端に表示される。ユーザは、マウスによってページリスト５０２を縦方向にストロールすることができる。
【０１３５】
ページリスト５０２は、ノートブックアイコンによって選択されたノートブック内に含まれるページに対応するサムネイルのリストを示す。
【０１３６】
編集ツールバー５０３は、ページを編集するための幾つかのボタンを含む。「選択ペン」ボタン５１１は、「範囲選択」ツールとして使用される。ユーザは、この「選択ペン」によって編集ビューエリア５０４上の１以上のオブジェクトを選択することができる。「選択ペン」ボタン５１１がユーザによってタップされた時、処理部３０８は、選択タイプ（矩形／自由枠／全選択）を変更するためのメニューを表示する。
【０１３７】
「消しゴムペン」ボタン５１２は、「消しゴム」ツールとして使用される。ユーザは、この「計ゴムペン」によって編集ビューエリア５０４上の１以上のストロークを消すことができる。「消しゴムペン」ボタン５１２がユーザによってタップされた時、処理部３０８は、消しゴムサイズ（大／小／ページ全体）を変更するためのメニューを表示する。
【０１３８】
「ストローク入力ペン」ボタン５１３は、ストロークを描画するために使用される。ユーザは、「ストローク入力ペン」によって筆跡（ストローク）を編集ビューエリア５０４に描画することができる。「ストローク入力ペン」ボタン５１３がユーザによってタップされた時、処理部３０８は、幾つかのプリセットペンを示すメニューを表示する。これらプリセットペンの各々は、例えば、ペンタイプ（万年筆／鉛筆／ボールペン／鉛筆／マーカー／フェルトペン）、幅、色、透明度の組み合わせを定義している。ユーザは、このメニューからペンを選択することができる。
【０１３９】
「アンドゥ」ボタン５１４は、編集操作を取り消すために使用される。「リドゥ」ボタン５１５は、編集操作をやり直すために使用される。
【０１４０】
「自動補完（推薦入力）」ボタン５１６は、自動補完モードをオンまたはオフするためのボタンである。
【０１４１】
「カメラ」ボタン５１７は、写真を取り、この写真を編集ビューエリア５０４にインポートするために使用される。ユーザは、「カメラ」ボタンによって写真を撮ることができる。処理部３０８は、キャプチャアプリケーションプログラムを起動する。キャプチャアプリケーションプログラムは、タブレットコンピュータ１０に設けられたカメラ（Ｗｅｂカム）によってイメージ（写真）をキャプチャする。処理部３０８は、キャプチャされたイメージをインポートする。
【０１４２】
「タッチ入力モード」ボタン５１９は、指またはマウスによって描画可能なタッチ入力モードをオンまたはオフするためのボタンである。
【０１４３】
「ヘルプ」ボタン５１９は、ヘルプを表示するためのボタンである。タブボタン５２１は、ノーマルモード／フルスクリーンモードを切り替えるためのボタンである。図７のＵＩはノーマルモードに対応している。
【０１４４】
編集ビューエリア５０４は、手書き入力可能な手書き入力エリアである。
【０１４５】
図８は、ポートレートＵＩ（編集画面）を示す。処理部３０８は、タブレットコンピュータ１０が縦向きで使用される時、図８に示されるポートレートＵＩ（編集画面）を表示する。ポートレートＵＩにおいては、画面の上端から下に向かって、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３、および編集ビューエリア５０４が配置されている。この図８は、ノーマルモードのポートレートＵＩに対応している。
【０１４６】
図９は、フルスクリーンモードのランドスケープＵＩを示す。
【０１４７】
フルスクリーンモードのランドスケープＵＩでは、ノートブックリスト５０１、ページリスト５０２は画面から隠され、編集ツールバー５０３が画面の左端に表示される。編集ビューエリア５０４は画面全体に拡大される。
【０１４８】
編集ツールバー５０３には、ページアップボタン５２２とページダウンボタン５２３が置かれる。ユーザは、ページアップボタン５２２またはページダウンボタン５２３を操作することによって、編集ビューエリア５０４に表示されるページを他のページに切り替えることができる。
【０１４９】
フルスクリーンモード状態はセーブされ、次回起動時に引き継がれる。
【０１５０】
図１０は、フルスクリーンモードのポートレートＵＩを示す。
【０１５１】
フルスクリーンモードのポートレートＵＩでは、ノートブックリスト５０１、ページリスト５０２は画面から隠され、編集ツールバー５０３が画面の上端に表示される。編集ビューエリア５０４は画面全体に拡大される。
【０１５２】
編集ツールバー５０３には、上述のページアップボタン５２２とページダウンボタン５２３が置かれる。
【０１５３】
図１１は、範囲選択処理を説明するための図である。
【０１５４】
図１１においては、編集ビューエリア５０４上のオブジェクト（手書き文字列）が選択ペンによって選択された場合が想定されている。選択されたエリアと選択されたエリア以外のエリアは互いに異なる表示形態で表示される。例えば、選択されたエリア以外のエリア、つまり選択されたエリアの外は、暗い色で表示しても良い。あるいは、選択されたエリアの外が、グレーになるように描画されても良い。
【０１５５】
選択されたエリア上においては、幾つかのスケーリング制御アイコンが表示される。スケーリング制御アイコンは、選択されたエリアの各コーナおよび辺に置かれる。ユーザは、スケーリング制御アイコンは、選択されたエリアによって囲まれたオブジェクト（手書き文字列）を拡大または縮小するためのツールとして機能する。
【０１５６】
選択されたエリアの例えば下側には、選択されたエリアによって囲まれたオブジェクトに適用可能な幾つかのアクションボタン５３０が表示される。ユーザは、アクションボタン５３０の一つタップすることによって、選択されたエリアによって囲まれたオブジェクトに対して「コピー」、「特定のデータ形式でコピー」、「特定のデータ形式で保存」、「検索」、「メールソフトにエクスポート」、「切り取り」、「削除」、「回転」等の処理を適用することができる。
【０１５７】
図１２は、ペン設定処理を説明するための図である。例えば、「ストローク入力ペン」ボタン５１３が長押しされた時、ペン設定パネル５４０が編集ビューエリア５０４上に表示される。ペン設定パネル５４０上の領域５４１は、ペンタイプ（ポールペン、鉛筆、マーカ、フェルトペン、万年筆）を変更するために使用される。ペン設定パネル５４０上の領域５４２は、カラーパレットからペンカラーを選択するために使用される。ペン設定パネル５４０上の領域５４３は、透明度を変更するために使用される。ペン設定パネル５４０上の領域５４４は、幅（線幅）を変更するために使用される。ペン設定パネル５４０上の領域５４５は、現在のペン設定を試すために使用される手書き入力エリアである。
【０１５８】
図１３は、検索画面上での自動補完を示している。ユーザによって「検索」機能が選択された時、図１３に示されているように、検索キー入力ビュー５５０が画面上に表示される。検索キー入力エリア５５１にストローク（仮ストローク）が入力された時、自動補完機能によって幾つかの候補筆跡が候補筆跡エリア５５２に表示される。候補筆跡の一つがユーザによって選択された時、選択された候補筆跡が検索キー入力エリア５５１に表示される。
【０１５９】
図１４は、検索結果ビュー５６０の例を示す。全てのページの一覧（全てのページのサムネイルの一覧）が表示されているビュー上で検索が実行された時、検索結果ビュー５６０が表示される。ここでは、手書き文字列「ＴＯＳＨＩ」が検索キーとして使用された場合が想定されている。手書き文字列「ＴＯＳＨＩ」を含むページの各々においては、ヒットワードである手書き文字列「ＴＯＳＨＩ」がハイライトされる。
【０１６０】
図１５は、左利き用のランドスケープＵＩ（編集画面）を示す。
【０１６１】
左利き用のランドスケープＵＩ（編集画面）においては、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３が配列される順序は、右利き用のランドスケープＵＩ（図７）と逆の順序となる。つまり、左利き用のランドスケープＵＩにおいては、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３は画面上の右側の領域に表示される。ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３、および編集ビューエリア５０４は、画面の右端から左端に向かって並べられる。
【０１６２】
ノートブックリスト５０１においては、パンインジケータＰＩ（又はスクロールバー）は、右利き用のランドスケープＵＩと同様に、ノートブックリスト５０１の右端に表示される。ページリスト５０２においても、パンインジケータＰＩ（又はスクロールバー）は、右利き用のランドスケープＵＩと同様に、ページリスト５０２の右端に表示される。
【０１６３】
手書きノートアプリケーションプログラム２０２が起動される時、手書きノートアプリケーションプログラム２０２は、左利きモード／右利きモードの設定状態をチェックし、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３を画面上の左側の領域または右側の領域の何れかに設定する。
【０１６４】
次に、自動補完モード（筆跡サジェストモード）における編集ビューエリアの表示形態の変移を説明する。上述したように、手書きノートアプリケーションプログラム２０２は、自動補完機能を有する。ユーザが「自動補完（推薦入力）」ボタン５１６をオンすると、自動補完モードがオンし、図１６に示すようなユーザインタフェース（ＵＩ）が表示される。図１６に示すランドスケープＵＩ（編集画面）は、図１５に示した編集画面と同様にノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３、および編集ビューエリア５０４とを含む。図１５の例とは異なり、これらエリア５０１〜５０４は、タブレットコンピュータ１０の画面の左端から右端に向かって並んでいる。なお、これらエリア５０１〜５０４の配置向きはユーザの利き手により変化するが、図１６〜図２０は右利きのユーザの例を示す。図２１は左利きのユーザの例を示す。
【０１６５】
ページリスト５０２の「Ａｄｄ  Ｐａｇｅ」アイコンの下側には、複数のページに対応するサムネイルをそれぞれ示す複数のページアイコンが配置されている。選択されたページアイコンに対応するページに含まれるストロークは、編集ビューエリア５０４に表示される。ユーザは、ページリスト５０２内の任意のページアイコンを選択することによって、任意のページを編集ビューエリア５０４に表示することができる。ページリスト５０２内のページアイコンは選択されたものは表示形態が他のページアイコンと異なる。ここでは、一番上のコンテンツが選択されていることを示している。そのため、編集ビューエリア５０４にはコンテンツが表示されているが、説明の便宜上、コンテンツの表示は省略する。あるいは、図示しない新規作成アイコンを選択することにより、既に作成したコンテンツではなく新たなコンテンツを新規に作成することも可能である。
【０１６６】
編集ツールバー５０３の「自動補完（推薦入力）」ボタン５１６は、自動補完モードがオンであることを示すために、ON状態を示す表示状態に変更される。
【０１６７】
ユーザは編集ビューエリア５０４内のディスプレイ上のコンテンツ内の所望の箇所にストローク（仮ストローク）を手書き入力する。入力された仮ストロークはディスプレイに表示される。仮ストロークが横書きで入力されると、入力の目安のための水平方向の帯状の書き込み可能エリア８０１が編集ビューエリア５０４に表示される。書き込み可能エリア８０１は残りの領域と異なる形態で表示される。例えば、書き込み可能エリア８０１の明るさを維持したまま、書き込み可能エリア８０１以外の領域を暗く表示してもよい。仮ストロークが縦書きで入力されると、書き込み可能エリア８０１は垂直方向に延びる帯状エリアである。この時点で、候補筆跡メニュー７０１が仮ストロークの表示位置の近傍に表示される。この候補筆跡メニュー７０１は、例えば、候補筆跡を表示可能な３つのエントリを含む。仮ストロークが書き始められた時点では、３つのエントリが空の候補筆跡メニュー７０１が、仮ストロークの表示位置の近傍に表示されてもよい。
【０１６８】
書き込み可能エリア８０１の左右端には、それぞれ開始／終了位置を示すマーク、例えば一対の鉤括弧８０２、８０３が配置される。書き込み可能エリア８０１は行全体でもよいが、行の一部分だけでも良い。一対の鉤括弧８０２、８０３は書き込み可能エリア８０１の左右方向（行方向）の端部を示すとともに、上下方向（高さ方向）の端部も示す。書き込み可能エリア８０１の高さは初期値が決まっているが、例えば、下側の鍵括弧を下方向にドラッグすると、行の高さを大きくすることができる。行の高さを大きくすると、後述する候補筆跡を自動的にページにエンター（入力）する際の大きさ（文字の高さ）を大きくすることができる。
【０１６９】
ユーザが書き込み可能エリア８０１に仮ストロークを手書き入力すると、手書きノートアプリケーションプログラム２０２は、１以上の候補筆跡を決定し、候補筆跡のリスト（候補筆跡メニュー）を作成する。ユーザによって文字「Ｗ」に対応する仮筆跡６１１と、文字「ｏ」に対応する仮筆跡６１２が入力されたとすると、書き込み可能エリア８０１に文字列「Ｗｏ」に対応する仮ストローク列が表示され、仮ストローク列の左側に一定の間隔を空けて削除ボタン８０４が表示される。削除ボタン８０４を選択すると、直前に入力した１つのストロークが削除される。手書き入力した仮ストロークに隣接して削除ボタン８０４を表示したので、削除ボタン８０４を操作するために手をディスプレイから離す必要がなく、入力取り消しの操作性が向上する。
【０１７０】
書き込み可能エリア８０１に文字列「Ｗｏ」に対応する仮ストローク列が表示されると、仮ストローク列の右端に対応する位置の上部に候補筆跡メニュー７０１が表示される。ここでは、「Ｗｏ」を含む３つの文字列「Ｗｏｒｌｄ」、「Ｗｏｒｋ」、「Ｗｏｒｄ」に対応する３つの候補筆跡を含む候補筆跡メニュー７０１が表示される。候補筆跡は自動補完辞書４０２Ｂから仮ストロークに類似するものを探すことにより求められる。各候補筆跡は、１以上のストロークを含むストローク列である。候補筆跡は、その先頭部分に、仮ストロークに類似する筆跡を含む筆跡であってもよい。候補筆跡メニュー７０１は３つのボタンエリアを含み。３つの候補筆跡がこれら３つのボタンエリアにそれぞれ表示される。
【０１７１】
ユーザが候補筆跡メニュー７０１内のあるボタンエリアをタップした時、このタップされたボタンエリアに対応する候補筆跡がページにエンター（入力）される。つまり、ユーザによって入力された仮ストローク（１以上のストローク）は、この選択された候補筆跡を使用して補完される。この候補筆跡は確定（エンター）された筆跡となる。これにより、ユーザは全ての筆跡を手書き入力せずに、簡単に所望の筆跡を手書き入力することができる。ページにエンターされる候補筆跡のサイズは、書き込み可能エリア８０１の高さに応じて調整される。
【０１７２】
候補筆跡メニュー７０１のサイズ（高さ、幅）は３つの候補筆跡が表示できるだけの高さ、幅となっている。候補筆跡メニュー７０１の初期状態での表示位置は右端が最後に入力された文字「ｏ」に対応する仮ストローク６１２の位置であり、下端が書き込み可能エリア８０１に近い位置となるように設定される。候補筆跡メニュー７０１の左端は候補筆跡の文字数に応じて決まる。
【０１７３】
候補筆跡メニュー７０１が書き込み可能エリア８０１の上側に隣接して表示されているので、候補筆跡をエンターするために、いずれかのボタンエリアをタップする際、ユーザはペン先を僅かに上方向にシフトするだけでよく、手をディスプレイから離す必要がなく、候補筆跡のエンターの操作性が向上する。また、候補筆跡メニュー７０１の右端が最後に手書きした文字「ｏ」に対応する仮ストローク６１２の位置であるので、ペン先を僅かに上方向にシフトするだけボタンエリアの右端をタップすることができ、手をディスプレイから離す必要がなく、候補筆跡のエンターの操作性が向上する。
【０１７４】
なお、候補筆跡は仮ストロークとの類似度に応じた優先度とともに求められ、ボタンエリアに表示される候補筆跡の優先度は、書き込み可能エリア８０１に近い順に高くなっている。図１６の例では、「Ｗｏｒｌｄ」が最も優先度が高く、「Ｗｏｒｋ」、「Ｗｏｒｄ」の順に優先度が下がる。そのため、優先度の最も高く選択される可能性の高い候補筆跡は現在のペン位置（「ｏ」に対応する仮ストローク）から最も近いので、タップするために手をディスプレイから離す必要がなく、候補筆跡のエンターの操作性が向上する。また、候補筆跡メニュー７０１の右端が最後に入力された文字「ｏ」に対応する仮ストローク６１２の位置であることも、候補筆跡のエンターのタップの操作性向上に寄与する。
【０１７５】
なお、自動補完モードがオンであるが、入力したい筆跡に対応する文字数が少ない場合等は、仮ストロークが入力したい筆跡そのものとなり、候補筆跡をエンターする必要が無い可能性がある。このような場合は、仮ストロークを確定する操作が必要になる。本実施形態では、編集ビューエリア５０４の書き込み可能エリア８０１以外のエリアをタップすることで、仮ストロークを確定する。書き込み可能エリア８０１以外のエリアをタップするためには、ペン先を僅かに上下に動かすだけでよく、仮ストロークの確定が容易に行なえる。さらに、書き込み可能エリア８０１とそれ以外のエリアの表示形態が異なっているので、タップするエリアを間違えることが無く、仮ストロークの確定が確実に行なえる。なお、仮ストロークの確定は候補筆跡メニュー７０１内の確認（ｃｏｎｆｉｒｍ）ボタン７０２をタップしても実行できる。
【０１７６】
候補筆跡メニューは、さらに、モアショウボタン７０３を表示してもよい。ユーザがモアショウボタン７０３をタップした時、手書きノートアプリケーションプログラム２０２は、候補筆跡メニューのサイズを拡大し、３つよりも多くの候補筆跡を候補筆跡メニュー７０１上に表示する（図１８参照）。
【０１７７】
候補筆跡メニュー７０１の中に所望の筆跡が含まれていない場合、ユーザは書き込み可能エリア８０１への仮ストロークの手書き入力を続け、候補筆跡メニュー７０１の筆跡候補が更新される。筆跡候補が更新されると、候補筆跡メニュー７０１も更新される。
【０１７８】
図１６の状態から、ユーザによって文字「ｒ」に対応する仮ストローク６１３と、文字「ｌ」に対応する仮ストローク６１４と、文字「ｄ」に対応する仮ストローク６１５と、文字「ｓ」に対応する仮ストローク６１６がさらに入力されると、「Ｗｏｒｌｄｓ」を含む３つの文字列「Ｗｏｒｌｄ」、「Ｗｏｒｌｄｙ」、「Ｗｏｒｌｄｗｉｄｅ」に対応する筆跡等を含む候補筆跡メニュー７０１が表示される。なお、更新前のメニューに含まれていた候補筆跡と同じ候補筆跡が更新メニューにも含まれている場合は、その候補筆跡の表示位置（ボタン）は、優先度に関わらず更新前と同じ位置とされてもよい。また、更新前のメニューに含まれていた候補筆跡と同じ候補筆跡と、含まれていない新規な候補筆跡とを異なる色で表示してもよい。例えば、同じ候補筆跡は黒、異なる候補筆跡は赤で表示してもよい。
【０１７９】
候補筆跡メニュー７０１のボタンのタップの操作性を向上するために、図１７に示すように、候補筆跡メニュー７０１の右端が仮ストロークの入力に伴い、右方向に伸ばされる。これにより、何れかのボタンをタップするために、手をディスプレイから離す必要がない。この例では、候補筆跡メニュー７０１の右端は最も右端の文字「ｓ」に対応する仮ストローク６１６の位置よりも所定長さＬ１だけ手前の位置まで伸ばされる。何れかの筆跡候補、あるいは仮ストロークがエンターされるまで、この操作が続く。
【０１８０】
なお、候補筆跡メニュー７０１の右端を常に横方向に伸ばすのではなく、伸ばす処理を実行するための条件を設けても良い。例えば、前回表示した候補筆跡メニュー７０１に含まれる候補筆跡と、手書き入力の追加により更新された候補筆跡メニューに含まれる候補筆跡との間で共通する候補筆跡が少なくとも１つあれば、この共通する候補筆跡の表示位置を変更せずに（例えば前回表示した候補筆跡メニュー７０１の位置を動かさずに）、このメニュー７０１の右端を伸ばす処理を実行し、共通する候補筆跡が全く無ければ、伸ばす処理を実行しないでもよい。
【０１８１】
図１８はユーザが手書き入力中に候補筆跡メニュー７０１内のモアショウボタン７０３をタップした時の候補筆跡メニュー７０１の表示形態を示す。この場合は図１７の例よりもさらに横方向に伸びた領域の３×３の９個のボタンに候補筆跡が表示される。この場合のボタンの優先度は左端の列の下から上に１（最も高い）、２、３であり、中央の列の下から上に４、５、６であり、右端の列の下から上に７、８、９である。９個の候補筆跡の中にも所望の筆跡が無い場合、ユーザが仮ストロークの入力を続けると、図１７のような３個の候補筆跡を表示する候補筆跡メニュー７０１の表示に戻る。
【０１８２】
図１９は候補筆跡メニュー７０１の表示位置に関する変形例を示す。上の説明では、候補筆跡メニュー７０１は書き込み可能エリア８０１の上側に表示したが、書き込み可能エリア８０１がページの上部の場合は、その上側に表示スペースを確保できない。書き込み可能エリア８０１の位置が判断され、例えば編集ビューエリア５０４を縦方向に３分割して、上から１／３のエリアに書き込み可能エリア８０１が位置する場合は、図１６の候補筆跡メニュー７０１ではなく、候補筆跡メニュー７０１’が書き込み可能エリア８０１の下側に表示される。候補筆跡メニュー７０１’では、一番上（書き込み可能エリア８１０に近い）のボタンがモアショウボタン７０３であり、一番下のボタンが確認（ｃｏｎｆｉｒｍ）ボタン７０２である。筆跡メニュー７０１では、候補筆跡の優先度は下から順に１、２、３となっていたが、メニュー７０１’で優先度が最も高く選択される可能性の高い候補筆跡を現在のペン位置から最も近くに表示させるように、モアショウボタン７０３の下に優先度がもっと高い候補筆跡が表示される。すなわち、筆跡メニュー７０１’では、候補筆跡の優先度は上から順に１、２、３となっている。
【０１８３】
次に、図２０を参照して、候補筆跡メニュー７０１の更新時の表示形態を説明する。ユーザによって文字「Ｗ」に対応する仮ストロークが入力された場合、例えば、３つの候補筆跡「Ｗｏｒｌｄ」、「Ｗｅｂ」、「Ｗａｒ」を含む候補筆跡メニュー７０１が表示される。優先度は、候補筆跡「Ｗｏｒｌｄ」が１位であり、「Ｗｅｂ」が２位、「Ｗａｒ」が３位である。このため、候補筆跡「Ｗｏｒｌｄ」は一番下に表示される。
【０１８４】
文字「Ｗ」に対応する仮ストロークの入力の後に、ユーザによって文字「ｏ」に対応する仮ストロークが入力された場合、これら２つの仮ストロークから筆跡候補が新たに定められる。今、３つの候補筆跡「Ｗｏｒｄ」、「Ｗｏｒｌｄ」、「Ｗｏｒｔｈ」が、２つの仮ストロークに対応する筆跡候補として決定された場合を想定する。優先度は、候補筆跡「Ｗｏｒｄ」が１位であり、「Ｗｏｒｌｄ」が２位、「Ｗｏｒｔｈ」が３位である。この場合、通常では、候補筆跡「Ｗｏｒｌｄ」は候補筆跡メニュー７０１内の下から２番目のエントリに表示される。しかし、候補筆跡「Ｗｏｒｌｄ」は前回から表示されている候補筆跡であるので、ユーザは、候補筆跡「Ｗｏｒｌｄ」が候補筆跡メニュー７０１内の一番下にあることを覚えている可能性がある。
【０１８５】
このため、本実施形態では、前回と今回の共通の候補筆跡「Ｗｏｒｌｄ」の候補筆跡メニュー７０１内の表示位置を変更しない。この結果、候補筆跡「Ｗｏｒｌｄ」は、前回と同じ候補筆跡メニュー７０１内の表示位置、つまり１番下に表示される。他の候補筆跡「Ｗｏｒｄ」、「Ｗｏｒｔｈ」はこれらの優先度の関係に従って並べられる。候補筆跡「Ｗｏｒｄ」は下から２番目に表示され、候補筆跡「Ｗｏｒｔｈ」は最も上に表示される。
【０１８６】
なお、ここでは、前回と今回の共通の候補筆跡「Ｗｏｒｌｄ」の前回の優先度が１位であったので、候補筆跡「Ｗｏｒｌｄ」を前回と同じ１番下に表示したが、もし候補筆跡「Ｗｏｒｌｄ」の前回の優先度が３位であったならば、候補筆跡「Ｗｏｒｌｄ」は前回と同じ最も上に表示される。
【０１８７】
候補筆跡メニュー７０１の表示位置に関しては、図１７と同様に、候補筆跡メニュー７０１の表示位置を変更せずに、候補筆跡メニュー７０１の右端を、文字「ｏ」に対応する仮ストロークの位置に応じて横方向に拡大しても良い。
【０１８８】
候補筆跡メニュー７０１に表示される候補筆跡は１つだけであって良い。この場合、前回と今回の共通の候補筆跡「Ｗｏｒｌｄ」の表示位置を変更せずに、候補筆跡「Ｗｏｒｌｄ」を選択するための操作領域（候補筆跡「Ｗｏｒｌｄ」に対応するエントリ）の右端だけを、文字「ｏ」に対応する仮ストロークの位置の近傍にまで延ばせば良い。
【０１８９】
図２１は、左利きモードにおける候補筆跡メニュー７０１の表示位置の制御を示す。
【０１９０】
左利きモードに設定されている場合には、手書きノートアプリケーションプログラム２０２は、入力された仮ストロークから定まる１以上の候補筆跡、つまり候補筆跡メニュー７０１を、図２１に示すように、仮ストロークの位置よりも右側に表示する。
【０１９１】
候補筆跡メニュー７０１の左端が最後に手書きした文字「ｏ」に対応する仮ストローク６１２の位置であるので、ペン先を僅かに上方向にシフトするだけボタンエリアをタップすることができ、手をディスプレイから離す必要がなく、候補筆跡のエンターの操作性が向上する。
【０１９２】
図２２は、ユーザ辞書データベース４０２Ｃを編集するためのＵＩを示す。
【０１９３】
ユーザ辞書編集ビュー９００には、単語毎に、筆跡（ストローク列）と、読み（またはエイリアス）とが表示される。ユーザは、使用しない単語を選択し、この単語に対応する情報をユーザ辞書データベース４０２Ｃから削除することができる。さらに、ユーザは、任意の単語に対応する候補筆跡をユーザ辞書データベース４０２Ｃに登録することができる。
【０１９４】
図２３は、ランドスケープＵＩとランドスケープページおよびポートレートページとの関係を示す。
【０１９５】
図２３中、左上の画面は、ノーマルモードのランドスケープＵＩにランドスケープページＰ１０が表示される一例である。左下の画面は、ノーマルモードのランドスケープＵＩにポートレートページＰ２０が表示される一例である。右上の画面は、フルスクリーンモードのランドスケープＵＩにランドスケープページが表示される一例である。そして、右下の画面は、フルスクリーンモードのランドスケープＵＩにポートレートページが表示される一例である。
【０１９６】
前述したように、ノーマルモードの例えば右利き用のランドスケープＵＩでは、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３および編集ビューエリア５０４が、タブレットコンピュータ１０の画面の左端から右端に向かって並んで表示される。一方、フルスクリーンモードの例えば右利き用のランドスケープＵＩでは、ノートブックリスト５０１とページリスト５０２は画面から隠され、編集ツールバー５０３のみが画面の左端に表示されて、編集ビューエリア５０４が画面全体に拡大される。
【０１９７】
このように、ノーマルモードの場合、ノートブックリスト５０１とページリスト５０２が画面に表示される分、フルスクリーンモードの場合と比較して、編集ビューエリア５０４の大きさが制限される。そこで、処理部３０８は、ノーマルモードのランドスケープＵＩにランドスケープページを表示する場合、左上の画面例のように、ランドスケープページの一部を編集ビューエリア５０４に表示し、編集ビューエリア５０４に表示されるランドスケープページを横方向のみスクロール可能とする。また、処理部３０８は、ノーマルモードのランドスケープＵＩにポートレートページを表示する場合、左下の画面例のように、ポートレートページの一部を編集ビューエリア５０４に表示し、編集ビューエリア５０４に表示されるポートレートページを縦方向のみスクロール可能とする。
【０１９８】
フルスクリーンモードの場合は、ノートブックリスト５０１とページリスト５０２は画面から隠されるので、ノーマルモードの場合とは異なり、編集ビューエリア５０４の大きさは制限されない。そこで、処理部３０８は、フルスクリーンモードのランドスケープＵＩにランドスケープページを表示する場合、右上の画面例のように、ランドスケープページの全体を編集ビューエリア５０４に表示する。なお、フルスクリーンモードのランドスケープＵＩにポートレートページを表示する場合には、処理部３０８は、右下の画面例のように、ポートレートページの一部を編集ビューエリア５０４の中央部に表示し、縦方向のみ、編集ビューエリア５０４に表示されるポートレートページをスクロール可能とする。
【０１９９】
また、図２４は、ポートレートＵＩとランドスケープページおよびポートレートページとの関係を示す。
【０２００】
図２４中、左上の画面は、ノーマルモードのポートレートＵＩにランドスケープページページＰ１０が表示される一例である。左下の画面は、ノーマルモードのポートレートＵＩにポートレートページＰ２０が表示される一例である。右上の画面は、フルスクリーンモードのポートレートＵＩにランドスケープページＰ１０が表示される一例である。そして、右下の画面は、フルスクリーンモードのポートレートＵＩにポートレートページＰ２０が表示される一例である。
【０２０１】
前述したように、ノーマルモードのポートレートＵＩでは、ノートブックリスト５０１、ページリスト５０２、編集ツールバー５０３および編集ビューエリア５０４が、タブレットコンピュータ１０の画面の上端から下端に向かって並んで表示される。一方、フルスクリーンモードのポートレートＵＩでは、ノートブックリスト５０１とページリスト５０２は画面から隠され、編集ツールバー５０３のみが画面の上端に表示されて、編集ビューエリア５０４が画面全体に拡大される。
【０２０２】
このように、ノーマルモードの場合、ノートブックリスト５０１とページリスト５０２が画面に表示される分、フルスクリーンモードの場合と比較して、編集ビューエリア５０４の大きさが制限される。そこで、処理部３０８は、ノーマルモードのポートレートＵＩにランドスケープページを表示する場合、左上の画面例のように、ランドスケープページの一部を編集ビューエリア５０４に表示し、横方向のみ、編集ビューエリア５０４に表示されるランドスケープページをスクロール可能とする。また、処理部３０８は、ノーマルモードのポートレートＵＩにポートレートページを表示する場合、左下の画面例のように、ポートレートページの一部を編集ビューエリア５０４に表示し、縦方向のみ、編集ビューエリア５０４に表示されるポートレートページをスクロール可能とする。
【０２０３】
フルスクリーンモードの場合は、ノートブックリスト５０１とページリスト５０２は画面から隠されるので、ノーマルモードの場合とは異なり、編集ビューエリア５０４の大きさは制限されない。しかしながら、フルスクリーンモードのポートレートＵＩにランドスケープページを表示する場合には、処理部３０８は、右上の画面例のように、ランドスケープページの一部を編集ビューエリア５０４の中央部に表示し、横方向のみ、編集ビューエリア５０４に表示されるポートレートページをスクロール可能とする。なお、フルスクリーンモードのポートレートＵＩにポートレートページを表示する場合には、処理部３０８は、右下の画面例のように、ポートレートページの全体を編集ビューエリア５０４に表示する。
【０２０４】
図２５は、手書きノートアプリケーションプログラム２０２をＣＰＵ１０１が実行することによりタブレット１０によって実行される自動補完処理の手順を示す例示的なフローチャートである。
【０２０５】
自動補完モードがオンの場合（ブロックＢ１１のＹＥＳ）、手書きノートアプリケーションプログラム２０２の処理部３０８は、仮ストロークが入力された時に、その仮ストロークの入力位置および手書き方向を検出する（ブロックＢ１２）。処理部３０８は、例えば、仮ストロークに対応する文字の入力方向に長い帯状の書き込み可能エリア８０１の明るさを維持しつつ、書き込み可能エリア８０１以外の他のエリアを暗くして（ブロックＢ１３）、仮ストロークを書き込み可能エリア８０１に表示する（ブロックＢ１４）。なお、仮ストロークが先に表示された後に、ブロックＢ１３の処理が実行されても良い。
【０２０６】
次に、処理部３０８は、図２７に詳細な手順が示される推薦筆跡メニュー表示処理を実行する（ブロックＢ１５）。
【０２０７】
推薦筆跡メニュー表示処理において、処理部３０８は、仮ストロークから定められる幾つかの候補筆跡を含む候補筆跡メニューを、最後に入力された仮ストロークの終端（または右端）の位置よりも左側に表示する。処理部３０８は、仮ストロークがさらに手書き入力されたか否かを調べ（ブロックＢ１６）、仮ストロークがさらに手書き入力された場合（ブロックＢ１６のＹＥＳ）、ブロックＢ１４〜ブロックＢ１５を再度実行する。なお、仮ストロークがさらに手書き入力された時の推薦筆跡メニュー表示処理（ブロックＢ１５）では、処理部３０８は、候補筆跡の表示位置を変更せずに、候補筆跡メニューを横方向に延ばしてもよい。この場合、処理部３０８は、最初の仮ストロークから定められる候補筆跡群と、最初の仮ストロークおよび２番目の仮ストロークから定められる候補筆跡群とが、同じ候補筆跡を含むか否かを判定しても良い。そして、同じ候補筆跡が含まれていることを条件に、この同じ候補筆跡の表示位置を変更せずに、候補筆跡メニューを横方向に延ばす（拡大する）処理を実行してもよい。
【０２０８】
さらなる仮ストロークが手書き入力されない場合（ブロックＢ１６のＮＯ）、処理部３０８は、候補筆跡が選択されたか否かを調べる（ブロックＢ１７）。候補筆跡が選択された場合（ブロックＢ１７のＹＥＳ）、処理部３０８は、選択された候補筆跡のサイズを調整し（ブロックＢ１８）、仮ストロークを選択された候補筆跡を使用して補完して、選択された候補筆跡を確定筆跡にする（ブロックＢ１９）。ブロックＢ１９では、仮ストロークの代わりに、選択された候補筆跡が入力される。
【０２０９】
候補筆跡が選択されない場合（ブロックＢ１７のＮＯ）、処理部３０８は、書き込み可能エリア以外の他のエリアがタップされたか否か（ブロックＢ２０）および確定（ｃｏｎｆｉｒｍ）ボタンがタップされたか否か（ブロックＢ２１）を調べる。書き込み可能エリア以外の他のエリアでのタップまたは確認ボタンのタップの一方が行われた場合（ブロックＢ２０のＹＥＳ，ブロックＢ２１のＹＥＳ）、処理部３０８は、仮筆跡を確定筆跡にする（ブロックＢ２２）。書き込み可能エリア以外の他のエリアでのタップまたは確定ボタンのタップのいずれも行われない場合（ブロックＢ２０のＮＯ，ブロックＢ２１のＮＯ）、処理部３０８は、ブロックＢ１６に戻って、仮ストロークがさらに手書き入力されたか否かを調べる。
【０２１０】
図２６は、手書きノートアプリケーションプログラム２０２をＣＰＵ１０１が実行することによりタブレット１０によって実行される候補筆跡メニュー表示処理の手順を示す例示的なフローチャートである。
【０２１１】
手書きノートアプリケーションプログラム２０２の処理部３０８は、まず、入力された仮ストロークに基づいて、幾つかの候補筆跡を決定し（ブロックＢ３１）、これら候補筆跡が優先度順に並べられた候補筆跡メニューを作成する（ブロックＢ３２）。また、処理部３０８は、これら候補筆跡の色を黒に設定し（ブロックＢ３３）、候補筆跡メニューを表示する（ブロックＢ３４）。
【０２１２】
処理部３０８は、仮ストロークがさらに手書き入力されたか否かを調べ（ブロックＢ３４）、仮ストロークがさらに手書き入力された場合（ブロックＢ３４のＹＥＳ）、最初に入力された仮ストロークと、さらに入力された仮ストロークとに基づいて、幾つかの新たな候補筆跡を決定し（ブロックＢ３５）、幾つかの新たな候補筆跡の中に、前回と同じ候補筆跡があるか否かを調べる（ブロックＢ３６）。
【０２１３】
同じ候補筆跡がある場合（ブロックＢ３６のＹＥＳ）、処理部３０８は、前回と同じ候補筆跡が候補筆跡メニュー内の同じ表示場所に表示されるように候補筆跡メニューを作成する（ブロックＢ３７）。処理部３０８は、前回と同じ候補筆跡の色を黒に設定し（ブロックＢ３８）、前回と異なる候補筆跡の色を赤に設定して（ブロックＢ３９）、候補筆跡メニューを表示する（ブロックＢ４０）。
【０２１４】
同じ候補筆跡がない場合（ブロックＢ３６のＮＯ）、処理部３０８は、候補筆跡が優先度順に並べられた候補筆跡メニューを作成する（ブロックＢ４１）。処理部３０８は、これら候補筆跡の色を黒に設定し（ブロックＢ４２）、候補筆跡メニューを表示する（ブロックＢ４３）。
【０２１５】
図２７および図２８は、手書きノートアプリケーションプログラム２０２をＣＰＵ１０１が実行することによりタブレット１０によって実行されるページ表示処理の手順を示す例示的なフローチャートである。
【０２１６】
手書きノートアプリケーションプログラム２０２の処理部３０８は、まず、画面の向きがランドスケープ向きまたはポートレート向きのいずれであるのかを調べる（ブロックＢ５１）。図２７には、画面の向きがランドスケープ向きである場合の手順が示され、図２８には、画面の向きがポートレート向きである場合の手順が示されている。まず、図２７を参照して、画面の向きがランドスケープ向きである場合の手順について説明する。
【０２１７】
ランドスケープ向きである場合、処理部３０８は、ノーマルモードまたはフルスクリーンモードのいずれであるのかを調べる（ブロックＢ５２）。ノーマルモードの場合、処理部３０８は、ページタイプがランドスケープページまたはポートレートページのいずれであるのかを調べる（ブロックＢ５３）。
【０２１８】
ランドスケープページの場合、処理部３０８は、ランドスケープノーマルＵＩを表示し（ブロックＢ５４）、編集ビューエリアにランドスケープページの一部を表示して（ブロックＢ５５）、横スクロールジェスチャが行われた場合（ブロックＢ５６のＹＥＳ）、ランドスケープページを横方向にスクロールする（ブロックＢ５７）。ポートレートページの場合、処理部３０８は、ランドスケープノーマルＵＩを表示し（ブロックＢ５８）、編集ビューエリアにポートレートページの一部を表示して（ブロックＢ５９）、縦スクロールジェスチャが行われた場合（ブロックＢ６０のＹＥＳ）、ポートレートページを縦方向にスクロールする（ブロックＢ５７）。
【０２１９】
また、フルスクリーンモードの場合、処理部３０８は、ページタイプがランドスケープページまたはポートレートページのいずれであるのかを調べる（ブロックＢ６２）。
【０２２０】
ランドスケープページの場合、処理部３０８は、ランドスケープフルスクリーンＵＩを表示して（ブロックＢ６３）、編集ビューエリアにランドスケープページ全体を表示する（ブロックＢ６４）。ポートレートページの場合、処理部３０８は、ランドスケープフルスクリーンＵＩを表示し（ブロックＢ６５）、編集ビューエリアの中央にポートレートページの一部を表示して（ブロックＢ６６）、縦スクロールジェスチャが行われた場合（ブロックＢ６７のＹＥＳ）、ポートレートページを縦方向にスクロールする（ブロックＢ６８）。
【０２２１】
続いて、図２８を参照して、画面の向きがポートレート向きである場合の手順について説明する。
【０２２２】
ポートレート向きである場合、処理部３０８は、ノーマルモードまたはフルスクリーンモードのいずれであるのかを調べる（ブロックＢ７０）。ノーマルモードの場合、処理部３０８は、ページタイプがランドスケープページまたはポートレートページのいずれであるのかを調べる（ブロックＢ７１）。
【０２２３】
ランドスケープページの場合、処理部３０８は、ポートレートノーマルＵＩを表示し（ブロックＢ７２）、編集ビューエリアにランドスケープページの一部を表示して（ブロックＢ７３）、横スクロールジェスチャが行われた場合（ブロックＢ７４のＹＥＳ）、ランドスケープページを横方向にスクロールする（ブロックＢ７５）。ポートレートページの場合、処理部３０８は、ポートレートノーマルＵＩを表示し（ブロックＢ７６）、編集ビューエリアにポートレートページの一部を表示して（ブロックＢ７７）、縦スクロールジェスチャが行われた場合（ブロックＢ７８のＹＥＳ）、ポートレートページを縦方向にスクロールする（ブロックＢ７９）。
【０２２４】
また、フルスクリーンモードの場合、処理部３０８は、ページタイプがランドスケープページまたはポートレートページのいずれであるのかを調べる（ブロックＢ８０）。
【０２２５】
ランドスケープページの場合、処理部３０８は、ポートレートフルスクリーンＵＩを表示し（ブロックＢ８１）、編集ビューエリアの中央にランドスケープページの一部を表示して（ブロックＢ８２）、横スクロールジェスチャが行われた場合（ブロックＢ８３のＹＥＳ）、ランドスケープページを横方向にスクロールする（ブロックＢ６８）。ポートレートページの場合、処理部３０８は、ポートレートフルスクリーンＵＩを表示して（ブロックＢ８８）、編集ビューエリアにポートレートページ全体を表示する（ブロックＢ８６）。
【０２２６】
このように、表示されているページがランドスケープページである場合にはスクロール可能な方向は常に横方向のみに制限され、表示されているページがポートレートページである場合にはスクロール可能な方向は常に縦方向のみに制限される。これにより、手書き入力操作中における意図しないページのスクロールを防止することができる。
【０２２７】
以上説明したように、本実施形態においては、書き込み可能エリアと他のエリアとが異なる表示形態で表示され、他のエリアは、仮ストロークを入力するための操作領域として使用される。したがって、仮ストロークを確定するための操作が容易となり、スムーズな手書き入力を実現できる。
【０２２８】
なお、本実施形態に記載された様々な機能の各々は、処理回路によって実現されてもよい。処理回路の例には、中央処理装置（ＣＰＵ）のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム（命令群）を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。本実施形態に記載されたＣＰＵ以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
【０２２９】
また、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０２３０】
このコンピュータプログラムがインストールされたコンピュータ内のＣＰＵは上述の筆跡補完処理を実行するように構成されたプロセッサとして機能し得る。このコンピュータ内のＧＰＵはストロークそれぞれを画面上に表示するように構成された表示プロセッサとして機能し得る。
【０２３１】
また、本実施形態では、タブレットコンピュータを使用する場合を例示して説明したが、本実施形態の手書き文書処理機能は、通常のデスクトップパーソナルコンピュータに適用することもできる。この場合、手書き入力のための入力デバイスであるタブレット等をデスクトップパーソナルコンピュータに接続すれば良い。
【０２３２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
0006392036.tif 000002
【図２】
0006392036.tif 000003
【図３】
0006392036.tif 000004
【図４】
0006392036.tif 000005
【図５】
0006392036.tif 000006
【図６】
0006392036.tif 000007
【図７】
0006392036.tif 000008
【図８】
0006392036.tif 000009
【図９】
0006392036.tif 000010
【図１０】
0006392036.tif 000011
【図１１】
0006392036.tif 000012
【図１２】
0006392036.tif 000013
【図１３】
0006392036.tif 000014
【図１４】
0006392036.tif 000015
【図１５】
0006392036.tif 000016
【図１６】
0006392036.tif 000017
【図１７】
0006392036.tif 000018
【図１８】
0006392036.tif 000019
【図１９】
0006392036.tif 000020
【図２０】
0006392036.tif 000021
【図２１】
0006392036.tif 000022
【図２２】
0006392036.tif 000023
【図２３】
0006392036.tif 000024
【図２４】
0006392036.tif 000025
【図２５】
0006392036.tif 000026
【図２６】
0006392036.tif 000027
【図２７】
0006392036.tif 000028
【図２８】
0006392036.tif 000029