(57)【要約】【課題】開始時刻及び終了時刻について、複数の時刻単位の各々に対応する複数の数値の一部が特定されない場合でも、適切に開始時刻及び終了時刻を設定可能な、情報処理装置、及びプログラムを提供すること。【解決手段】情報処理装置において、開始時刻データが取得される（Ｓ１０）。終了時刻データが取得される（Ｓ１１）。開始時刻データに基づき、所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に（Ｓ１４：ＮＯ）、第一数値が終了時刻データに基づき補完さて、開始時刻データが修正される（Ｓ２３）。終了時刻データに基づき、所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に（Ｓ１８：ＮＯ）、第二数値が開始時刻データに基づき補完され、終了時刻データが修正される（Ｓ２１）。【選択図】図６
2014211752.tif 000002
【特許請求の範囲】
【請求項１】
スケジュールの開始時刻を指定する入力フィールドに手書き入力された第一ストロークデータに基づき特定されたテキストデータである開始時刻データを取得する開始時刻データ取得手段と、
前記スケジュールの終了時刻を指定する入力フィールドに手書き入力された第二ストロークデータに基づき特定されたテキストデータである終了時刻データを取得する終了時刻データ取得手段と、
前記開始時刻データに基づき、少なくとも日時を含む所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に、前記開始時刻データに基づき数値が特定されなかった前記時刻単位である第一単位に対応する１以上の第一数値を、前記終了時刻データに基づき補完して、前記開始時刻データを修正する第一修正手段と、
前記終了時刻データに基づき、前記所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に、前記終了時刻データに基づき数値が特定されなかった前記時刻単位である第二単位に対応する１以上の第二数値を前記開始時刻データに基づき補完して、前記終了時刻データを修正する第二修正手段と
を備える情報処理装置。
【請求項２】
前記第一ストロークデータが手書き入力された時刻を入力時刻として取得する入力時刻取得手段と、
前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記第一数値を、前記入力時刻取得手段が取得した前記入力時刻に基づき補完して前記開始時刻データを修正する第三修正手段と
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第三修正手段は、前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記入力時刻取得手段が取得した前記入力時刻に基づき、前記開始時刻データによって表される前記開始時刻が前記入力時刻の未来の時刻になるように前記第一数値を補完して、前記開始時刻データを修正することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第三修正手段は、前記第一単位が複数ある場合に、スケールの小さい順に前記第一単位に対応する前記第一数値を補完して、前記開始時刻データによって表される前記開始時刻が前記入力時刻の未来の時刻になるように前記第一数値を補完して、前記開始時刻データを修正することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記開始時刻データに基づき、前記開始時刻の前記所定の複数の時刻単位の各々に対応する前記複数の数値の全部が特定される場合に、当該開始時刻データを記憶手段に記憶させる記憶制御手段と、
前記終了時刻データに基づき、前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記記憶手段に記憶された前記開始時刻データのうち、記憶された時刻が最も新しい最新開始時刻データに基づき前記第一数値を補完して、前記開始時刻データを修正する第四修正手段と
を更に備えることを特徴とする請求項１から４の何れかに記載の情報処理装置。
【請求項６】
前記所定の複数の時刻単位の各々について定められた、時刻単位に対応する数値の許容範囲を取得する許容範囲取得手段と、
前記開始時刻データによって表される、前記開始時刻の前記所定の複数の時刻単位に対応する前記複数の数値について、時刻単位に対応する数値が前記許容範囲内にない場合、当該時刻単位に対応する数値は特定されないと判定する第一判定手段と、
前記終了時刻データによって表される、前記終了時刻の前記所定の複数の時刻単位に対応する前記複数の数値について、時刻単位に対応する数値が前記許容範囲内にない場合、当該時刻単位に対応する数値は特定されないと判定する第二判定手段と
を更に備え、
前記第一修正手段は、前記第一判定手段の判定結果に基づき、前記開始時刻の前記所定の複数の時刻単位の各々について前記第一単位であるか否かを判断し、
前記第二修正手段は、前記第二判定手段の判定結果に基づき、前記終了時刻の前記所定の複数の時刻単位の各々について前記第二単位であるか否かを判断することを特徴とする請求項１から５の何れかに記載の情報処理装置。
【請求項７】
前記所定の複数の時刻単位は、日時に加え、分を少なくとも含み、
前記開始時刻データに基づき、時に対応する第三数値及び分に対応する第四数値の双方を特定できない場合、且つ、前記終了時刻データに基づき、時に対応する第五数値及び分に対応する第六数値の双方を特定できない場合に、前記第三数値、前記第四数値、前記第五数値、及び前記第六数値の各々にデフォルト値を補完して前記開始時刻データ及び前記終了時刻データを修正する第五修正手段と、
前記第五修正手段が前記開始時刻データ及び前記終了時刻データを修正する場合に、前記スケジュールが終日のスケジュールであるか否かを示すフラグを、終日のスケジュールではないことを示すオフから終日のスケジュールであることを示すオンに切り替えるフラグ設定手段と
を更に備えたことを特徴とする請求項１から６の何れかに記載の情報処理装置。
【請求項８】
前記所定の複数の時刻単位は、日時に加え、年、月、及び分を含むことを特徴とする請求項１から７の何れかに記載の情報処理装置。
【請求項９】
前記第二修正手段は、前記第二数値を、前記開始時刻データによって表される前記開始時刻の一定時間後の時刻に基づき補完して前記終了時刻データを修正することを特徴とする請求項１から８の何れかに記載の情報処理装置。
【請求項１０】
請求項１から９の何れかに記載の情報処理装置の各種処理手段として、情報処理装置のコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き入力されたストロークデータに基づき特定されたテキストデータを取得可能な情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
入力ペンにより、タブレットに手書き文字を入力し、スケジュールを登録する装置が知られている。例えば、特許文献１に記載の情報通報装置は、タブレットの表示部に、スケジュールの開始時刻の、月、日、時、及び分を記入する欄と、用件を記入する欄を設ける。情報通報装置は、入力ペンを用いて記入された情報を認識し、スケジュールテーブルに書き込む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６３−１１５２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スケジュールを登録する場合、開始時刻に加え、終了時刻を入力したいという要望がある。従来の装置では、開始時刻及び終了時刻の全ての時刻単位について数値を記載しないと、開始時刻及び終了時刻を特定できない可能性がある。
【０００５】
本発明の目的は、手書き入力されたストロークデータに基づき特定されたテキストデータが表す開始時刻及び終了時刻について、複数の時刻単位の各々に対応する複数の数値の一部が特定されない場合でも、適切に開始時刻及び終了時刻を設定可能な、情報処理装置、及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の第一態様に係る情報処理装置は、スケジュールの開始時刻を指定する入力フィールドに手書き入力された第一ストロークデータに基づき特定されたテキストデータである開始時刻データを取得する開始時刻データ取得手段と、前記スケジュールの終了時刻を指定する入力フィールドに手書き入力された第二ストロークデータに基づき特定されたテキストデータである終了時刻データを取得する終了時刻データ取得手段と、前記開始時刻データに基づき、少なくとも日時を含む所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に、前記開始時刻データに基づき数値が特定されなかった前記時刻単位である第一単位に対応する１以上の第一数値を、前記終了時刻データに基づき補完して、前記開始時刻データを修正する第一修正手段と、前記終了時刻データに基づき、前記所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が特定できない場合に、前記終了時刻データに基づき数値が特定されなかった前記時刻単位である第二単位に対応する１以上の第二数値を前記開始時刻データに基づき補完して、前記終了時刻データを修正する第二修正手段と
を備える。
【０００７】
第一態様に係る情報処理装置は、開始時刻の所定の複数の時刻単位の一部について、数値が入力されなかった場合に、入力されなかった時刻単位に対応する第一数値を補完する。情報処理装置は、開始時刻のうち開始時刻データに基づき特定可能な数値は変更せず、開始時刻データに基づき特定不能な数値のみ手書き入力された終了時刻データを利用して補完する。このため情報処理装置は、手書き入力結果を優先しつつ、開始時刻を表す、入力されなかった数値を自動的に補完することが可能である。同様に、終了時刻の所定の複数の時刻単位の一部について、数値が入力されなかった場合に、入力されなかった時刻単位に対応する第二数値を補完する。情報処理装置は、終了時刻のうち終了時刻データに基づき特定可能な数値は変更せず、終了時刻データに基づき特定不能な数値のみ手書き入力された開始時刻データを利用して補完する。このため情報処理装置は、手書き入力結果を優先しつつ、開始時刻を表す、入力されなかった数値を自動的に補完することが可能である。したがって、情報処理装置は、手書き入力されたストロークデータに基づき特定されたテキストデータが表す開始時刻及び終了時刻について、複数の時刻単位の各々に対応する複数の数値の一部が特定されない場合でも、適切に開始時刻及び終了時刻を設定可能である。
【０００８】
第一態様に係る情報処理装置は、前記第一ストロークデータが手書き入力された時刻を入力時刻として取得する入力時刻取得手段と、前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記第一数値を、前記入力時刻取得手段が取得した前記入力時刻に基づき補完して前記開始時刻データを修正する第三修正手段と
を更に備えてもよい。
【０００９】
この場合の情報処理装置は、終了時刻データに基づき開始時刻データを修正できない場合であっても、ユーザが第一ストロークデータを手書き入力した入力時刻に基づき開始時刻データを修正できる。情報処理装置は、入力時刻と現在時刻とが大きく異なる場合であっても、ユーザが修正後の開始時刻データを予測可能な入力時刻に基づき開始時刻データを修正することができる。
【００１０】
第一態様に係る情報処理装置の前記第三修正手段は、前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記入力時刻取得手段が取得した前記入力時刻に基づき、前記開始時刻データによって表される前記開始時刻が前記入力時刻の未来の時刻になるように前記第一数値を補完して、前記開始時刻データを修正してもよい。この場合の情報処理装置は、終了時刻データに基づき、開始時刻データを修正できない場合であっても、開始時刻が入力時刻の未来の時刻となるように設定することができる。
【００１１】
第一態様に係る情報処理装置の前記第三修正手段は、前記第一単位が複数ある場合に、スケールの小さい順に前記第一単位に対応する前記第一数値を補完して、前記開始時刻データによって表される前記開始時刻が前記入力時刻の未来の時刻になるように前記第一数値を補完して、前記開始時刻データを修正してもよい。この場合の情報処理装置は、スケールの小さい単位順に第一数値を補完することによって、開始時刻を入力時刻よりも未来に設定する為の処理を単純化することができる。
【００１２】
第一態様に係る情報処理装置は、前記開始時刻データに基づき、前記開始時刻の前記所定の複数の時刻単位の各々に対応する前記複数の数値の全部が特定される場合に、当該開始時刻データを記憶手段に記憶させる記憶制御手段と、前記終了時刻データに基づき、前記第一修正手段が、前記終了時刻データに基づき前記第一数値を補完できない場合に、前記記憶手段に記憶された前記開始時刻データのうち、記憶された時刻が最も新しい最新開始時刻データに基づき前記第一数値を補完して、前記開始時刻データを修正する第四修正手段とを更に備えてもよい。ユーザが連続して、スケジュールを手書き入力する場合等、直前に入力したスケジュールと共通する時刻単位に対応する数値については入力を省略したい場合がある。このような場合にも、情報処理装置は、最新開始時刻データに基づき、第一単位に第一数値を補完して、開始時刻データを修正できる。
【００１３】
第一態様に係る情報処理装置は、前記所定の複数の時刻単位の各々について定められた、時刻単位に対応する数値の許容範囲を取得する許容範囲取得手段と、前記開始時刻データによって表される、前記開始時刻の前記所定の複数の時刻単位に対応する前記複数の数値について、時刻単位に対応する数値が前記許容範囲内にない場合、当該時刻単位に対応する数値は特定されないと判定する第一判定手段と、前記終了時刻データによって表される、前記終了時刻の前記所定の複数の時刻単位に対応する前記複数の数値について、時刻単位に対応する数値が前記許容範囲内にない場合、当該時刻単位に対応する数値は特定されないと判定する第二判定手段とを更に備え、前記第一修正手段は、前記第一判定手段の判定結果に基づき、前記開始時刻の前記所定の複数の時刻単位の各々について前記第一単位であるか否かを判断し、前記第二修正手段は、前記第二判定手段の判定結果に基づき、前記終了時刻の前記所定の複数の時刻単位の各々について前記第二単位であるか否かを判断してもよい。この場合の情報処理装置は、許容範囲外の数値がそのまま開始時刻又は終了時刻を決定する処理等に用いられることを回避することができる。
【００１４】
第一態様に係る情報処理装置において、前記所定の複数の時刻単位は、日時に加え、分を少なくとも含み、前記開始時刻データに基づき、時に対応する第三数値及び分に対応する第四数値の双方を特定できない場合、且つ、前記終了時刻データに基づき、時に対応する第五数値及び分に対応する第六数値の双方を特定できない場合に、前記第三数値、前記第四数値、前記第五数値、及び前記第六数値の各々にデフォルト値を補完して前記開始時刻データ及び前記終了時刻データを修正する第五修正手段と、前記第五修正手段が前記開始時刻データ及び前記終了時刻データを修正する場合に、前記スケジュールが終日のスケジュールであるか否かを示すフラグを、終日のスケジュールではないことを示すオフから終日のスケジュールであることを示すオンに切り替えるフラグ設定手段とを更に備えてもよい。この場合の情報処理装置では、ユーザは、時、分の入力を省略することによって、情報処理装置にフラグをオフからオンに切り替えさせることができる。
【００１５】
第一態様に係る情報処理装置の前記所定の複数の時刻単位は、日時に加え、年、月、及び分を含んでもよい。この場合の情報処理装置では、所定の複数の時刻単位は、年、月、日、時、及び分の５つの時刻単位を有する。開始時刻及び終了時刻の各々が、５つの時刻単位を有するので、ユーザは合計で１０の数値を手書き入力する必要がある。情報処理装置は、１０の数値のうちの省略された数値又は特定されなかった数値を補完する。したがって、情報処理装置は、開始時刻及び終了時刻の年、月、日、時、及び分を指定するのに必要な数値の数を１０より小さくすることができる。よって、情報処理装置は、ユーザが開始時刻及び終了時刻を指定する操作を簡単にできる。
【００１６】
第一態様に係る情報処理装置の前記第二修正手段は、前記第二数値を、前記開始時刻データによって表される前記開始時刻の一定時間後の時刻に基づき補完して前記終了時刻データを修正してもよい。一般に、スケジュールの終了時刻は、開始時刻から一定時間後に設定される事が多い。情報処理装置は、開始時刻の一定時間後の時刻に基づき、終了時刻データを修正できる。
【００１７】
本発明の第二態様に係るプログラムは、第一態様の情報処理装置の各種処理手段として、情報処理装置のコンピュータを機能させる。第二態様に係るプログラムが情報処理装置のコンピュータによって実行されることにより、第一態様に係る情報処理装置と同様の効果を奏することができる。
【図面の簡単な説明】
【００１８】
【図１】手書入力システム１の概要を示す図である。
【図２】読取装置２の正面図である。
【図３】読取装置２及び情報処理装置４０の電気的構成を示すブロック図である。
【図４】フォーマット７０の説明図である。
【図５】例１から７の、開始時刻Ｔ１及び終了時刻Ｔ２の年、月、日、時、及び分に対応する数値を示す図である。
【図６】時刻決定処理のフローチャートである。
【図７】図６の時刻決定処理で実行されるフラグ処理のフローチャートである。
【図８】図６の時刻決定処理で実行される時刻補完処理（Ｘ，Ｙ）のフローチャートである。
【図９】図８の時刻補完処理（Ｘ，Ｙ）で実行される初期設定処理のフローチャートである。
【図１０】時刻補完処理（Ｘ，Ｙ）のフローチャートである。
【図１１】第一実施形態の時刻決定処理の過程１及び過程２における、例１から７の、開始時刻ＤＴ１，及び終了時刻Ｔ２又は終了時刻ＤＴ２の年、月、日、時、及び分に対応する数値を示す図である。
【図１２】図６の時刻決定処理又は図８の時刻補完処理（Ｘ，Ｙ）で実行される時刻調整処理（Ｖ，Ｗ）のフローチャートである。
【図１３】第二実施形態の時刻決定処理又は変形例の処理が実行された後の、例１から７の、開始時刻ＤＴ１及び終了時刻ＤＴ２の年、月、日、時、及び分に対応する数値を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の第一及び第二実施形態について、図面を参照して説明する。図１から図３を参照して、第一及び第二実施形態に共通する手書入力システム１の概要を説明する。まず図１及び図２を参照して、手書入力システム１の物理的構成について説明する。以下の説明では、図１の左上側、右下側、上側、下側、右上側、左下側を、各々、読取装置２の左側、右側、前側、後ろ側、上側、下側と定義して説明する。
【００２０】
図１に示すように、手書入力システム１は、読取装置２，電子ペン３，及び情報処理装置４０を主に備える。読取装置２は、折り畳んで携行可能な、薄型軽量の手書き入力装置である。手書入力システム１では、ユーザは電子ペン３を用いて、読取装置２に固定された紙媒体１００の用紙１２０に線画を記入する。線画は、文字、数値、記号、及び図形等を含む。読取装置２は、電子ペン３の位置を検出する。読取装置２は、経時的に検出された電子ペン３の複数の位置に基づいて、電子ペン３の軌跡を特定する。情報処理装置４０は、読取装置２で特定された電子ペン３の軌跡のデータ（以下、ストロークデータという。）に基づいて、用紙１２０に記入された線画を電子化した画像ファイルを生成し、記憶する。
【００２１】
図２に示すように、読取装置２は、左右一対の左読取装置２Ｌ，右読取装置２Ｒ，フラットケーブル６，及びカバー４を構成の主体とする。左読取装置２Ｌ及び右読取装置２Ｒは、矩形薄板状であり、カバー４の前面に左右方向に見開き可能に配置されている。左読取装置２Ｌと右読取装置２Ｒとは、フラットケーブル６によって電気的に接続されている。左読取装置２Ｌ及び右読取装置２Ｒには各々、Ｘ方向及びＹ方向の各々に、細長いループコイルが多数配列されている。Ｘ方向は、左右方向である。Ｙ方向は、上下方向、即ち左読取装置２Ｌ及び右読取装置２Ｒの長手方向である。右読取装置２Ｒは、上端に３つのＬＥＤ５Ａ，５Ｂ，及び５Ｃ（以下、総称して「ＬＥＤ５」ともいう。）を備える。ＬＥＤ５は、読取装置２の状態をユーザに通知可能である。カバー４は、左読取装置２Ｌ及び右読取装置２Ｒの各々を後ろ側から覆う。カバー４は、袋状の袋部４Ａを左前側に備える。左読取装置２Ｌは、袋部４Ａ内に差し込まれることでカバー４に着脱可能に装着される。右読取装置２Ｒは、両面テープ及び粘着性を有する樹脂フィルム等によって、カバー４の右前部に貼り付けられる。
【００２２】
読取装置２の前面には紙媒体１００が着脱可能に装着される。図１に示すように、紙媒体１００は、左右方向に見開き可能な冊子状である。紙媒体１００では、一対の表紙（表表紙１１０Ｌ及び裏表紙１１０Ｒ）と複数の用紙１２０が、各々の縁部の一部で綴じられている。一例として、紙媒体１００はＡ５サイズのノートである。用紙１２０のフォーマットは、紙媒体１００の種別毎に異なる。用紙１２０のフォーマットについては後述する。紙媒体１００は、表表紙１１０Ｌが左読取装置２Ｌの前面に載置され、且つ、裏表紙１１０Ｒが右読取装置２Ｒの前面に載置されるように、読取装置２上に装着される。本実施形態では、紙媒体１００は、両面テープ及び粘着性を有する樹脂フィルム等によって、紙媒体１００が読取装置２に位置決めされた状態で装着される。即ち、左読取装置２Ｌ及び右読取装置２Ｒは各々、表表紙１１０Ｌ及び裏表紙１１０Ｒと一体的に移動する。ユーザは電子ペン３を用いて紙媒体１００の用紙１２０に線画を記入できる。
【００２３】
電子ペン３は、公知の電磁誘導式の電子ペンであり、筒体３０，芯体３１，コイル３２，可変容量コンデンサ３３，基板３４，コンデンサ３５，及びインク収納部３６を主に備える。筒体３０は、円柱状の形状を有し、芯体３１の一部、コイル３２，可変容量コンデンサ３３，基板３４，コンデンサ３５，及びインク収納部３６を内部に収容する。芯体３１は、電子ペン３の先端部（図１では後ろ側）に設けられている。芯体３１は図示外の弾性部材によって、電子ペン３の先端側に付勢されている。芯体３１の先端部は、筒体３０の外部に突出している。芯体３１の後端側（図１では前側）は、インクが収納されているインク収納部３６に接続されている。インク収納部３６は、芯体３１にインクを供給する。ユーザが電子ペン３を用いて用紙１２０に記入すると、インクによって用紙１２０に線画が形成される。
【００２４】
コイル３２は、インク収納部３６の周囲に巻回された状態で、芯体３１と可変容量コンデンサ３３との間に保持されている。可変容量コンデンサ３３は、基板３４によって電子ペン３の内部に固定されている。基板３４には、コンデンサ３５が搭載されている。コンデンサ３５及び可変容量コンデンサ３３はコイル３２に並列に接続され、周知の共振（同調）回路を構成する。
【００２５】
情報処理装置４０は、汎用のノート型のパーソナルコンピュータである。情報処理装置４０は、入力部４７及びディスプレイ４８を備える。入力部４７は、各種指示を入力するために使用される。ディスプレイ４８は、画像を表示する。手書入力システム１では、情報処理装置４０としてパーソナルコンピュータの代わりに周知の情報端末（タブレットＰＣ，及びスマートフォン等）が用いられてもよい。
【００２６】
図３を参照して、手書入力システム１の電気的構成を説明する。まず、読取装置２の電気的構成と、読取装置２がストロークデータを取得する原理の概要とを説明する。読取装置２は、センサ基板７Ｌ，７Ｒ，メイン基板２０，及びセンサ制御基板２８，２９を備える。
【００２７】
メイン基板２０は、ＣＰＵ２１，ＲＡＭ２２，フラッシュＲＯＭ２３，及び無線通信部２４を備えている。ＲＡＭ２２，フラッシュＲＯＭ２３，及び無線通信部２４は、ＣＰＵ２１に電気的に接続されている。ＣＰＵ２１は、読取装置２の制御を行う。ＲＡＭ２２は、演算データ等の各種データを一時的に記憶する。フラッシュＲＯＭ２３には、ＣＰＵ２１が情報処理装置４０を制御するために実行する各種プログラムが記憶されている。フラッシュＲＯＭ２３には更に、ストロークデータと、ストロークデータの入力時刻とが対応付けて記憶される。無線通信部２４は、外部の電子機器と近距離無線通信を実行するためのコントローラである。
【００２８】
センサ基板７Ｌは、センサ制御基板２８のＡＳＩＣ２８Ａに電気的に接続されている。ＡＳＩＣ２８Ａは、電子ペン３による手書き入力動作がセンサ基板７Ｌ上で行われた場合に、手書き入力動作に基づいてストロークデータを作成する処理を実行する。センサ基板７Ｒは、センサ制御基板２９のＡＳＩＣ２９Ａに電気的に接続されている。ＡＳＩＣ２９Ａは、電子ペン３による手書き入力動作がセンサ基板７Ｒ上で行われた場合に、手書き入力動作に基づいてストロークデータを生成する処理を実行する。ＡＳＩＣ２８Ａ，２９Ａのうち、マスター側のＡＳＩＣ２８ＡはＣＰＵ２１に直接接続され、スレーブ側のＡＳＩＣ２９ＡはＡＳＩＣ２８Ａを介してＣＰＵ２１に接続されている。
【００２９】
センサ基板７Ｌ，７Ｒ上で電子ペン３による手書き入力動作が行われた場合にストロークデータが取得される原理を、概略的に説明する。ＣＰＵ２１はＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルに、一本ずつ特定の周波数の電流（励磁用送信電流）を流す。これにより、センサ基板７Ｌ，７Ｒの各々のループコイルから磁界が発生する。この状態で、例えばユーザが電子ペン３を用いて、読取装置２に固定された紙媒体１００の用紙１２０に線画を記入する動作を行うと、電子ペン３はセンサ基板７Ｌ，７Ｒに近接する。そのため、電子ペン３の共振回路は、電磁誘導によって共振し、誘導磁界を生じる。
【００３０】
次に、ＣＰＵ２１はＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルからの磁界の発生を停止させる。センサ基板７Ｌ，７Ｒの各々のループコイルは、電子ペン３の共振回路から発せられる誘導磁界を受信する。ＣＰＵ２１は、ＡＳＩＣ２８Ａ，２９Ａを制御して、センサ基板７Ｌ，７Ｒの各々のループコイルに流れる信号電流（受信電流）を検出させる。ＡＳＩＣ２８Ａ，２９Ａがこの動作を全てのループコイルについて一本ずつ実行することで、受信電流に基づいて電子ペン３の位置が座標情報として検出される。
【００３１】
更に、電子ペン３を用いて用紙１２０に線画を記入する動作が行われている状態では、芯体３１に筆圧が付与される。コイル３２のインダクタンスは、芯体３１に付与される筆圧に応じて変化する。これにより、芯体３１に付与される筆圧に応じて、電子ペン３の共振回路の共振周波数が変化する。ＣＰＵ２１は、共振周波数の変化（位相変化）を検出して、電子ペン３に付与された筆圧を特定する。つまりＣＰＵ２１は、特定した筆圧によって、紙媒体１００の用紙１２０に線画が記入されている状態であるか否かを判断できる。ＣＰＵ２１は、用紙１２０に線画が記入されていると判断した場合、電子ペン３の位置を示す座標情報をストロークデータとして取得し、フラッシュＲＯＭ２３に記憶する。
【００３２】
図３を参照して、情報処理装置４０の電気的構成と、情報処理装置４０が読取装置２からストロークデータを取得した場合の処理の概要とを説明する。情報処理装置４０は、ＣＰＵ４１，ハードディスクドライブ（ＨＤＤ）４２，ＲＡＭ４３，無線通信部４４，入力回路４５，出力回路４６，入力部４７，及びディスプレイ４８を主に備える。ＣＰＵ４１は、情報処理装置４０の制御を行う。ＣＰＵ４１は、ハードディスクドライブ（ＨＤＤ）４２，ＲＡＭ４３，無線通信部４４，入力回路４５，及び出力回路４６と電気的に接続している。
【００３３】
ＨＤＤ４２は、プログラム記憶エリア４２１，許容範囲記憶エリア４２２，スケジュール記憶エリア４２３及びその他の記憶エリア４２４を備える。プログラム記憶エリア４２１には、ＣＰＵ４１が実行する各種プログラムが記憶される。許容範囲記憶エリア４２２には、時刻単位と、時刻単位に対応する数値の許容範囲とが対応付けて記憶されている。時刻単位は、時刻を表す計量単位であり、本実施形態では、年、月、日、時、及び分が時刻単位として設定されている。本実施形態の年に対応する数値は、００から９９までの西暦の下二桁の数値で表される。月に対応する数値は、１から１２まで一桁又は二桁の数値で表される。日に対応する数値は、１から３１まで一桁又は二桁の数値で表される。時に対応する数値は、０から２３まで一桁又は二桁の数値で表される。分に対応する数値は、００から５９までの二桁の数値で表される。スケジュール記憶エリア４２３は、読取装置２から取得されたストロークデータに基づき特定されたスケジュールを記憶する。スケジュールに含まれる項目は、ＩＤ，開始時刻データ（開始時刻）、終了時刻データ（終了時刻）、及び終日予定フラグ（Ｆ）を含む。図３中、開始時刻データ（開始時刻）及び終了時刻データ（終了時刻）が示す数値は、年月日がスラッシュで区切られて記載され、時分がコロンで区切られて記載されている。ＩＤは、スケジュール記憶エリア４２３に記憶された順序を表す。その他の記憶エリア４２４は、その他の各種データを記憶する。
【００３４】
情報処理装置４０は、図示外の媒体読取装置（例えば、ＣＤ−ＲＯＭドライブ）を備える。情報処理装置４０は、記憶媒体（例えば、ＣＤ−ＲＯＭ）に記憶されているプログラムを、媒体読取装置で読み取ってＨＤＤ４２にインストールできる。また、情報処理装置４０に接続されている外部機器（図示外）又はネットワークからプログラムを受信して、ＨＤＤ４２にインストールしてもよい。
【００３５】
ＲＡＭ４３は、種々の一時データを記憶する。無線通信部４４は、外部の電子機器と近距離無線通信を実行するためのコントローラである。入力回路４５は、ＣＰＵ４１へ入力部４７（例えば、マウス、キーボード、タッチパネル等）からの指示を送る制御を行う。出力回路４６は、ＣＰＵ４１からの指示に応じてディスプレイ４８に画像を表示する制御を行う。
【００３６】
情報処理装置４０が読取装置２からストロークデータを取得した場合の処理の概要について説明する。読取装置２からストロークデータを取得する指示がユーザによって入力された場合、ＣＰＵ４１は、無線通信部４４を介して読取装置２との間で近距離無線通信を実行する。読取装置２のフラッシュＲＯＭ２３に保存されているストロークデータは、情報処理装置４０に転送される。ＣＰＵ４１は、読取装置２から転送されたストロークデータをＲＡＭ４３に記憶する。ストロークデータは、有線通信によって読取装置２から情報処理装置４０に転送されてもよい。
【００３７】
ＣＰＵ４１は、ＲＡＭ４３に記憶したストロークデータによって示される軌跡によって形成される文字列を、Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＯＣＲ）処理によって特定する。なお文字列には、情報処理装置４０が認識可能な文字コードによって示される文字、数値、記号、及び図形等が含まれる。複数の文字、数値、記号、及び図形等が特定される場合だけでなく、一の文字、数値、記号、図形等が特定される場合もある。ＣＰＵ４１は、ストロークデータによって示される軌跡を示す画像データを一旦生成し、生成した画像データに対してＯＣＲ処理を実行することで、文字列を特定する。ストロークデータによって示される軌跡から文字列を特定する方法は適宜変更されてよい。例えばＣＰＵ４１は、周知のパターンマッチング技術を用いることによって、ストロークデータから文字列を直接特定してもよい。
【００３８】
図４を参照して、紙媒体１００の用紙１２０のフォーマット７０について説明する。フォーマット７０は、用紙１２０の一頁中に１以上配置されるスケジュール記入用のフォーマットである。読取装置２の左読取装置２Ｌ及び右読取装置２Ｒ上に紙媒体１００が見開いて置かれた状態では、左右頁の双方に配置されてよい。紙媒体１００には同一のフォーマット７０が印刷された用紙１２０が複数綴じられてもよいし、フォーマット７０と互いに異なる複数種類のフォーマットが、用紙１２０に印刷されてよい。本実施形態では、紙媒体１００の表表紙１１０Ｌの裏面に、紙媒体１００に綴られた用紙１２０のフォーマットを読取装置２に認識させるための図柄が印刷されている。読取装置２は、表表紙１１０Ｌの裏面に電子ペン３を用いて手書き入力する動作に基づいて、用紙１２０のフォーマットを特定できる。読取装置２はフォーマットに応じて、入力フィールドの配置を識別し、手書き入力されたストロークデータを生成する処理を実行する。
【００３９】
フォーマット７０は、入力フィールド７１から８３及びチェックボックス８４を主に備える。入力フィールド７１から８３には、スケジュールに関する線画を記入される。具体的には、入力フィールド７１には、予定の名称が記入される。入力フィールド７２から７６には各々、開始時刻の年、月、日、時、及び分に対応する数字が記入される。入力フィールド７７から８１には各々、終了時刻の年、月、日、時、及び分に対応する数字が記入される。入力フィールド８２には、予定が開催される場所が記入される。入力フィールド８３には、予定の説明が記入される。チェックボックス８４は、フォーマット７０に記入された線画を表すストロークデータをフラッシュＲＯＭ２３に記憶させる場合にチェックマークが記入される。
【００４０】
読取装置２のＣＰＵ２１は、フォーマット７０に線画が記入された場合に、ストロークデータを取得し、取得したストロークデータと、入力フィールドと、入力時刻と対応付けてＲＡＭ２２に記憶する。ＣＰＵ２１は、チェックボックス８４にチェックマークが記入されたことを検知した場合、ＲＡＭ２２に記憶したストロークデータと、入力時刻とを対応付けてフラッシュＲＯＭ２３に記憶させる。入力時刻は、入力フィールド毎に記憶されてもよいし、各入力フィールドに共通の値であってもよい。前述のように情報処理装置４０のＣＰＵ４１は、読取装置２からストロークデータ、入力フィールド及び入力時刻を取得し、ＲＡＭ４３に記憶する。
【００４１】
第一及び第二実施形態の情報処理装置４０によって実行される時刻決定処理の概要を説明する。第一及び第二実施形態の情報処理装置４０は、各々、図６に示す時刻決定処理を実行する。詳細は後述するが、第一実施形態の時刻決定処理と、第二実施形態の時刻決定処理とでは、参照時刻が異なる。時刻決定処理では、開始時刻データが取得される。開始時刻データは、ユーザがフォーマット７０を使用して、スケジュールの開始時刻を指定する入力フィールド７２から７６に手書き入力した第一ストロークデータに基づき特定されたテキストデータである。同様に、終了時刻データが取得される。終了時刻データは、スケジュールの終了時刻を指定する入力フィールド７７から８１に手書き入力された第二ストロークデータに基づき特定されたテキストデータである。
【００４２】
具体例として、図５に示す例１から例７のテキストデータが得られた場合を想定する。例１及び例２については、開始時刻データに基づき特定される開始時刻Ｔ１は、所定の複数の時刻単位のうち全ての時刻単位について数値が設定されている。本実施形態の所定の複数の時刻単位は、年、月、日、時、及び分である。例３から例７は、年、月、日、時、及び分のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が設定されていない。このような場合、情報処理装置４０のＣＰＵ４１は、各第一単位について、第一単位に対応する第一数値を、終了時刻データに基づき補完して、開始時刻データを修正する。第一単位は、開始時刻データに基づき数値が特定されなかった時刻単位である。第一数値は、第一単位に対応する数値である。情報処理装置４０は、終了時刻データに基づき開始時刻データを修正することができない場合には、参照時刻に基づき開始時刻データを修正する。第一実施形態の参照時刻は入力時刻であり、第二実施形態の参照時刻は最新開始時刻データである。入力時刻は、第一ストロークデータが手書き入力された時刻である。記憶された最新開始時刻データは、ＨＤＤ４２のスケジュール記憶エリア４２３に記憶された開始時刻データのうち、記憶された時刻が最も新しいデータである。
【００４３】
同様に、例２及び例４から７は、終了時刻データに基づき特定される終了時刻Ｔ２は、所定の複数の時刻単位のうちの一部の１以上の時刻単位について、時刻単位に対応する数値が設定されていない。このような場合、情報処理装置４０のＣＰＵ４１は、各第二単位について、第二単位に対応する第二数値を開始時刻データに基づき補完して、終了時刻データを修正する。第二単位は、終了時刻データに基づき数値が特定されなかった時刻単位である。第二数値は、第二単位に対応する数値である。
【００４４】
［第一実施形態の時刻決定処理］
図５から図１１を参照し、第一実施形態の時刻決定処理を説明する。図６に示す時刻決定処理は、ストロークデータに基づき特定されたテキストデータに基づき、スケジュールを決定する処理が開始された場合に起動される。ＣＰＵ４１は、時刻決定処理の開始指示の入力を検知すると、図３に示すＨＤＤ４２のプログラム記憶エリア４２１に記憶された時刻決定処理を実行するためのプログラムをＲＡＭ４３に読み出し、プログラムに含まれる指示に従って、以下に説明する各ステップの処理を実行する。処理の過程で得られた各種データは、適宜ＲＡＭ４３に記憶されるものとする。以下、ステップをＳと略記する。具体例として、図５に示す例１から例７のテキストデータが得られた場合について説明する。
【００４５】
図６に示すように、ＣＰＵ４１は開始時刻データを取得する（Ｓ１０）。ＣＰＵ４１は、取得した開始時刻データに基づき特定される開始時刻Ｔ１の年、月、日、時、及び分に対応する数値を各々開始時刻Ｔ１の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに設定する。例１では、開始時刻Ｔ１の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに各々１３，４，１８，１３，及び００が設定される。同様にＣＰＵ４１は終了時刻データを取得する（Ｓ１１）。ＣＰＵ４１は、取得した終了時刻データに基づき特定される終了時刻Ｔ２の年、月、日、時、及び分に対応する数値を各々終了時刻Ｔ２の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに設定する。例１では、終了時刻Ｔ２の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに各々１３，４，１８，１６，及び３０が設定される。
【００４６】
ＣＰＵ４１は、フラグ処理を実行する（Ｓ１２）。フラグ処理では、終日予定フラグを設定する処理が実行される。終日予定フラグは、図４に示すフォーマット７０に手書き入力されたスケジュールが、終日予定であるか否かを示す。具体的には、図７に示すように、ＣＰＵ４１は、終日予定フラグにＯＦＦを設定する（Ｓ３１）。終日予定フラグがＯＦＦであることは、フォーマット７０に手書き入力されたスケジュールが終日予定ではないことを示す。ＣＰＵ４１は、図６のＳ１０で取得した開始時刻データに基づき、開始時刻Ｔ１の時分が省略されているか否かを判断する（Ｓ３２）。例１から４及び例７は、開始時刻Ｔ１のＴＨｏｕｒ及びＴＭｉｎの少なくとも一方に数値が設定されている（Ｓ３２：ＮＯ）。この場合ＣＰＵ４１は、フラグ処理を終了し、処理を図６の時刻決定処理に戻す。例５及び例６は、開始時刻Ｔ１のＴＨｏｕｒ及びＴＭｉｎに数値が設定されていない（Ｓ３２：ＹＥＳ）。この場合ＣＰＵ４１は、図６のＳ１１で取得した終了時刻データに基づき、終了時刻Ｔ２の時分が省略されているか否かを判断する（Ｓ３３）。例６は、終了時刻Ｔ２のＴＨｏｕｒに数値が設定されている（Ｓ３３：ＮＯ）。この場合ＣＰＵ４１は、フラグ処理を終了し、処理を図６の時刻決定処理に戻す。
【００４７】
例５は、終了時刻Ｔ２のＴＨｏｕｒ及びＴＭｉｎに数値が設定されていない（Ｓ３３：ＹＥＳ）。この場合ＣＰＵ４１は、終日予定フラグをＯＮに設定する（Ｓ３４）。終日予定フラグがＯＮであることは、フォーマット７０に手書き入力されたスケジュールが終日予定であることを示す。ＣＰＵ４１は、開始時刻Ｔ１の時分及び終了時刻Ｔ２の時分を所定値で補完する（Ｓ３５，Ｓ３６）。所定値は、予め決められ、記憶媒体に記憶された時刻であればよい。例えば、本実施形態では、図１１の過程１の欄の斜線の網掛けを付与したマスの数値のように、開始時刻Ｔ１のＴＨｏｕｒに０が補完され、ＴＭｉｎに００が補完され、終了時刻Ｔ２のＴＨｏｕｒに２３が補完され、ＴＭｉｎに５９が補完される。他の例では、就業開始時刻（例えば、８時００分）及び就業開始時刻（例えば、１７時００分）に基づき、開始時刻Ｔ１のＴＨｏｕｒに８が補完され、ＴＭｉｎに００が補完され、終了時刻Ｔ２のＴＨｏｕｒに１７が補完され、ＴＭｉｎに００が補完される。他の例では、開始時刻Ｔ１のＴＨｏｕｒ及びＴＭｉｎ並びに終了時刻Ｔ２のＴＨｏｕｒ及びＴＭｉｎに、ＮＵＬＬ値が補完される。ＣＰＵ４１は、フラグ処理を終了し、処理を図６の時刻決定処理に戻す。
【００４８】
図６のＳ１２の処理の次に、ＣＰＵ４１は、ＨＤＤ４２の許容範囲記憶エリア４２２を参照し、開始時刻又は終了時刻を表すのに用いる時刻単位に対応する数値の許容範囲を取得する（Ｓ１３）。ＣＰＵ４１は、Ｓ１０で取得した開始時刻データを参照し、開始時刻Ｔ１が完全であるか否かを判断する（Ｓ１４）。ＣＰＵ４１は、開始時刻Ｔ１が各時刻単位に対応する数値を全て含み、且つ、各数値がＳ１３の処理で取得された許容範囲内に収まる場合に、開始時刻Ｔ１は完全であると判断する。即ち、開始時刻Ｔ１が完全である場合は、開始時刻Ｔ１の全ての時刻単位が第一単位ではない場合である。Ｓ１４の処理では、例１，例２，及び例５の開始時刻Ｔ１は、変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに全て数値が設定されており、且つ、各数値が許容範囲内に収まる（Ｓ１４：ＹＥＳ）。例５は、Ｓ１２の処理を実行する前は、開始時刻Ｔ１のＴＨｏｕｒ及びＴＭｉｎに数値が設定されていなかったが、図７に示すフラグ処理のＳ３５の処理によって、開始時刻Ｔ１の時分の数値が補完されているため、Ｓ１４において開始時刻Ｔ１が各時刻単位に対応する数値を全て含むと判断される。
【００４９】
これらの場合ＣＰＵ４１は、開始時刻ＤＴ１に開始時刻Ｔ１を設定する（Ｓ１５）。開始時刻ＤＴ１は、時刻決定処理において必要に応じて修正された終了時刻データが表す開始時刻である。開始時刻ＤＴ１の年、月、日、時、及び分に対応する数値は各々開始時刻ＤＴ１の変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに設定される。本実施形態では、開始時刻Ｔ１が完全である場合には、開始時刻ＤＴ１の変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに、各々、開始時刻Ｔ１の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎが設定される。
【００５０】
ＣＰＵ４１は、Ｓ１１で取得した終了時刻データを参照し、終了時刻Ｔ２が完全であるか否かを判断する（Ｓ１６）。ＣＰＵ４１は、終了時刻Ｔ２が各時刻単位に対応する数値を全て含み、且つ、各数値がＳ１３の処理で取得された許容範囲内に収まる場合に、終了時刻Ｔ２は完全であると判断する。即ち、終了時刻Ｔ２が完全である場合は、終了時刻Ｔ２の時刻単位の全てが第二単位ではない場合である。例１の終了時刻Ｔ２は、変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに全て数値が設定されており、且つ、各数値が許容範囲内に収まる（Ｓ１６：ＹＥＳ）。この場合ＣＰＵ４１は、終了時刻ＤＴ２に終了時刻Ｔ２を設定する（Ｓ１７）。終了時刻ＤＴ２は、時刻決定処理において必要に応じて修正された終了時刻データが表す終了時刻である。終了時刻ＤＴ２の年、月、日、時、及び分に対応する数値は各々終了時刻ＤＴ２の変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに設定される。本実施形態では、終了時刻Ｔ２が完全である場合には、終了時刻ＤＴ２の変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに、各々、終了時刻Ｔ２の変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎが設定される。ＣＰＵ４１は、開始時刻データ、終了時刻データ、及び終日予定フラグをスケジュールの時刻情報として、ＨＤＤ４２のスケジュール記憶エリア４２３に記憶し（Ｓ２７）、時刻決定処理を終了する。
【００５１】
例３，例４，例６，及び例７は、開始時刻Ｔ１は各時刻単位に対応する数値の一部が設定されていない（Ｓ１４：ＮＯ）。この場合ＣＰＵ４１は、Ｓ１６と同様に、終了時刻データを参照し、終了時刻Ｔ２が完全であるか否かを判断する（Ｓ１８）。例３の終了時刻Ｔ２は、変数ＴＹｅａｒ，ＴＭｏｎｔｈ，ＴＤａｙ，ＴＨｏｕｒ，及びＴＭｉｎに全て数値が設定されており、且つ、各数値が許容範囲内に収まる（Ｓ１８：ＹＥＳ）。この場合ＣＰＵ４１は、Ｓ１７の処理と同様に、終了時刻ＤＴ２に終了時刻Ｔ２を設定する（Ｓ２２）。ＣＰＵ４１は、時刻補完処理（Ｔ１，ＤＴ２）を実行する。
【００５２】
例４，例６，及び例７の終了時刻Ｔ２は、各時刻単位に対応する数値のうちの一部が省略されている（Ｓ１８：ＮＯ）。この場合ＣＰＵ４１は、参照時刻Ｔ３を取得後（Ｓ１９）、時刻補完処理（Ｔ１，Ｔ３）を実行する（Ｓ２０）。参照時刻Ｔ３は、開始時刻Ｔ１の、第一単位に第一数値を補完する処理の基準となる、終了時刻Ｔ２以外の時刻である。前述のように第一実施形態の参照時刻Ｔ３は、入力時刻である。本実施形態では入力時刻は、入力フィールド７２から７６についてのストロークデータと対応付けられて、ＲＡＭ４３に記憶されている。具体例の入力時刻は、１３年４月１６日１２時５５分とする。
【００５３】
時刻補完処理（Ｘ，Ｙ）は、開始時刻Ｔ１又は終了時刻Ｔ２について、数値が省略されている時刻単位に、基準時刻ＳＴに基づき数値を補完する処理である。引数Ｘは、処理の対象となる時刻である対象時刻を設定するための値である。ＸがＴ１の場合、対象時刻が開始時刻Ｔ１であることを示す。引数Ｘの値がＴ２である場合、対象時刻が終了時刻Ｔ２であることを示す。引数Ｙは、基準時刻ＳＴを設定するための値である。ＹがＤＴ１である場合、基準時刻ＳＴが開始時刻ＤＴ１であることを示す。ＹがＤＴ２である場合、基準時刻ＳＴが終了時刻ＤＴ２である場合を示す。ＹがＴ３である場合、基準時刻ＳＴが参照時刻Ｔ３であることを示す。Ｓ２３の処理は、時刻補完処理（Ｔ１，ＤＴ２）であり、終了時刻ＤＴ２を基準時刻ＳＴとして、開始時刻Ｔ１の第一単位に第一数値を補完する処理が実行される。Ｓ２０の処理は、時刻補完処理（Ｔ１，Ｔ３）であり、参照時刻Ｔ３を基準時刻ＳＴとして、開始時刻Ｔ１の第一単位に第一数値を補完する処理が実行される。
【００５４】
図８を参照して、時刻補完処理（Ｘ，Ｙ）について説明する。図８に示すように、時刻補完処理（Ｘ，Ｙ）では、ＣＰＵ４１はまず、初期設定処理を実行する（Ｓ４１）。初期設定処理では、Ｙの値に応じて、対象時刻と、基準時刻ＳＴとを設定する処理が実行される。具体的には、図９に示すように、ＣＰＵ４１は、例４，例６，及び例７ではＹがＴ３であるので（Ｓ７１：ＹＥＳ）、基準時刻ＳＴに入力時刻である１３年４月１６日１２時５５分を設定する（Ｓ７２）。Ｓ７２の処理で基準時刻ＳＴの年、月、日、時、及び分に対応する数値１３，４，１６，１２，及び５５は各々基準時刻ＳＴの変数ＳＹｅａｒ，ＳＭｏｎｔｈ，ＳＤａｙ，ＳＨｏｕｒ，及びＳＭｉｎに設定される。
【００５５】
例３ではＹがＤＴ２であるので（Ｓ７１：ＮＯ，Ｓ７３：ＹＥＳ）、ＣＰＵ４１は、基準時刻ＳＴに、終了時刻ＤＴ２から所定時間差し引いた時刻を設定する（Ｓ７４）。所定時間は、予め定められ、時刻決定処理実行時までにＨＤＤ４２等の記憶媒体に記憶されていればよく、本実施形態では２時間である。例３では、終了時刻ＤＴ２は、１３年４月１８日１６時３０分であり、基準時刻ＳＴは、１３年４月１８日１４時３０分である。基準時刻ＳＴの年、月、日、時、及び分に対応する数値１３，４，１８，１４，及び３０は各々基準時刻ＳＴの変数ＳＹｅａｒ，ＳＭｏｎｔｈ，ＳＤａｙ，ＳＨｏｕｒ，及びＳＭｉｎに設定される。Ｓ７２又はＳ７４の処理の次に、ＣＰＵ４１は、決定される開始時刻ＤＴ１の時刻単位、年、月、日、時、及び分の各々に対応する変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに０を設定する（Ｓ７５）。ＣＰＵ４１は、時刻補完処理（Ｘ，Ｙ）で用いる変数ＨＣ，ＤＣ，ＭＣ，及びＹＣに０を設定する。
【００５６】
ＹがＤＴ１である場合（Ｓ７１：ＮＯ，Ｓ７３：ＮＯ）、ＣＰＵ４１は基準時刻ＳＴに、開始時刻ＤＴ１に所定時間を加えた時刻を設定する。所定時間は、予め定められ、時刻決定処理実行時までにＨＤＤ４２等の記憶媒体に記憶されていればよく、本実施形態では２時間である。Ｓ７６の処理の所定時間は、Ｓ７４の処理の所定時間と互いに同じであってもよいし、互いに異なっていてもよい。ＣＰＵ４１は、終了時刻ＤＴ２の時刻単位、年、月、日、時、及び分の各々に対応する変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎに０を設定する（Ｓ７７）。ＣＰＵ４１は、時刻補完処理（Ｘ，Ｙ）で用いる変数ＨＣ，ＤＣ，ＭＣ，及びＹＣに０を設定する。Ｓ７５又はＳ７７の処理の次に、ＣＰＵ４１は処理を図８の時刻補完処理（Ｘ，Ｙ）に戻す。
【００５７】
図８のＳ４１の次に、ＣＰＵ４１は、対象時刻の変数ＴＭｉｎが許容範囲内であるか否かを判断する（Ｓ４２）。ＣＰＵ４１は、図６のＳ１３の処理で取得した許容範囲に基づき、変数ＴＭｉｎが０以上５９以下である場合に、変数ＴＭｉｎは許容範囲内にあると判断する。ＣＰＵ４１は、変数ＴＭｉｎに数値が設定されていない場合、又は変数ＴＭｉｎが０未満若しくは６０以上である場合、変数ＴＭｉｎは許容範囲内ではないと判断する。例３の開始時刻Ｔ１の変数ＴＭｉｎは００であり、例７の開始時刻Ｔ１の変数ＴＭｉｎは１０である（Ｓ４２：ＹＥＳ）。これらの場合ＣＰＵ４１は、変数ＤＭｉｎに対象時刻の変数ＴＭｉｎを設定する（Ｓ４３）。
【００５８】
例４及び例６の開始時刻Ｔ１の変数ＴＭｉｎには数値が設定されていない（Ｓ４２：ＮＯ）。即ち、開始時刻Ｔ１の時刻単位の一部である分は、第一単位である。この場合ＣＰＵ４１は、変数ＤＭｉｎに基準時刻ＳＴの変数ＳＭｉｎを設定する（Ｓ４４）。例４及び例６の基準時刻ＳＴは入力時刻であり、変数ＤＭｉｎには５５が設定される。ＣＰＵ４１は、変数ＤＭｉｎの値は００であるか否かを判断する（Ｓ４５）。Ｓ４５の処理は、スケジュールの開始又は終了時刻の分に対応する数値を、切りのよい００にするための処理である。例４及び例６の変数ＤＭｉｎの値は５５であり、００ではない（Ｓ４５：ＮＯ）。この場合ＣＰＵ４１は、変数ＤＭｉｎに００を設定し、変数ＨＣに１を設定する（Ｓ４６）。
【００５９】
変数ＤＭｉｎが００である場合（Ｓ４５：ＹＥＳ）、又はＳ４３若しくはＳ４６の次に、ＣＰＵ４１は、対象時刻の変数ＴＨｏｕｒが許容範囲内であるか否かを判断する（Ｓ４７）。ＣＰＵ４１は、図６のＳ１３の処理で取得した許容範囲に基づき、変数ＴＨｏｕｒが０以上２３以下である場合に、変数ＴＨｏｕｒは許容範囲内にあると判断する。ＣＰＵ４１は、変数ＴＨｏｕｒに数値が設定されていない場合、又は変数ＴＨｏｕｒが０未満若しくは２４以上である場合、変数ＴＨｏｕｒは許容範囲内ではないと判断する。例３及び例４の開始時刻Ｔ１の変数ＴＨｏｕｒは１３である（Ｓ４７：ＹＥＳ）。これらの場合ＣＰＵ４１は、変数ＤＨｏｕｒに開始時刻ＤＴ１の変数ＴＨｏｕｒである１３を設定する（Ｓ４８）。
【００６０】
例６及び例７の開始時刻Ｔ１の変数ＴＨｏｕｒには数値が設定されていない（Ｓ４７：ＮＯ）。即ち、開始時刻Ｔ１の時刻単位の一部である時は、第一単位である。この場合ＣＰＵ４１は、変数ＤＨｏｕｒに、基準時刻ＳＴの変数ＳＨｏｕｒに変数ＨＣを加えた値を設定する（Ｓ４９）。例６の基準時刻ＳＴは入力時刻であり、変数ＨＣは１である。したがって、例６はＳ４９の処理で、変数ＤＨｏｕｒに１３が設定される。例７の基準時刻ＳＴは入力時刻であり、変数ＨＣは０である。したがって、例７はＳ４９の処理で、変数ＤＨｏｕｒに１２が設定される。ＣＰＵ４１は、Ｓ４７の処理と同様に、変数ＤＨｏｕｒは許容範囲内であるか否かを判断する（Ｓ５０）。Ｓ５０の処理は、スケジュールの開始又は終了時刻の時に対応する数値が日を跨いだ値になっている場合に、数値を修正するための処理である。変数ＤＨｏｕｒの値が許容範囲内ではない場合（Ｓ５０：ＮＯ）、ＣＰＵ４１は変数ＤＨｏｕｒに０を設定し、変数ＤＣに１を設定する（Ｓ５１）。
【００６１】
例６及び例７のように変数ＤＨｏｕｒが許容範囲内である場合（Ｓ５０：ＹＥＳ）、又はＳ４８若しくはＳ５１の次に、ＣＰＵ４１は、対象時刻の変数ＴＤａｙが許容範囲内であるか否かを判断する（Ｓ５２）。ＣＰＵ４１は、図６のＳ１３の処理で取得した許容範囲に基づき、変数ＴＤａｙが１以上末日の数値以下である場合に、変数ＴＤａｙは許容範囲内にあると判断する。末日の数値は、対象時刻の月、又は基準時刻の月に応じて決定され、２８，２９，３０又は３１の値の何れかである。ＣＰＵ４１は、変数ＴＤａｙに数値が設定されていない場合、又は変数ＴＤａｙが１未満若しくは末日の数値より大きい値である場合、変数ＴＤａｙは許容範囲内ではないと判断する。例４及び例６の開始時刻Ｔ１の変数ＴＤａｙは１８であり、例７の開始時刻Ｔ１の変数ＴＤａｙは１６である（Ｓ５２：ＹＥＳ）。これらの場合ＣＰＵ４１は、変数ＤＤａｙに開始時刻Ｔ１の変数ＴＤａｙを設定する（Ｓ５３）。
【００６２】
例３の開始時刻Ｔ１の変数ＴＤａｙには数値が設定されていない（Ｓ５２：ＮＯ）。即ち、開始時刻Ｔ１の時刻単位の一部である日は、第一単位である。この場合ＣＰＵ４１は、変数ＤＤａｙに基準時刻ＳＴの変数ＳＤａｙに変数ＤＣを加えた値を設定する（Ｓ５４）。例３の基準時刻ＳＴは終了時刻ＤＴ２から所定時間差し引いた時刻であり、変数ＤＣは０である。したがって、例３はＳ５４の処理で、変数ＤＤａｙに１８が設定される。ＣＰＵ４１は、Ｓ５２の処理と同様に、変数ＤＤａｙは許容範囲内であるか否かを判断する（Ｓ５５）。Ｓ５５の処理は、スケジュールの時刻の日が月を跨いだ数値になっている場合に、数値を修正するための処理である。変数ＤＤａｙが許容範囲内ではない場合（Ｓ５５：ＮＯ）、ＣＰＵ４１は、変数ＤＤａｙに１を設定し、変数ＭＣに１を設定する（Ｓ５６）。
【００６３】
例３のように変数ＤＤａｙが許容範囲内である場合（Ｓ５５：ＹＥＳ）、又はＳ５３若しくはＳ５６の次に、図１０に示すように、ＣＰＵ４１は、図６のＳ１３の処理で取得した許容範囲に基づき、対象時刻の変数ＴＭｏｎｔｈが許容範囲内であるか否かを判断する（Ｓ５７）。ＣＰＵ４１は、変数ＴＭｏｎｔｈが１以上１２以下である場合に、変数ＴＭｏｎｔｈは許容範囲内にあると判断する。ＣＰＵ４１は、変数ＴＭｏｎｔｈに数値が設定されていない場合、又は変数ＴＭｏｎｔｈが１未満若しくは１３以上である場合、変数ＴＭｏｎｔｈは許容範囲内ではないと判断する。例４，例６，及び例７の開始時刻Ｔ１の変数ＴＭｏｎｔｈは４である（Ｓ５７：ＹＥＳ）。これらの場合ＣＰＵ４１は、変数ＤＭｏｎｔｈに開始時刻Ｔ１の変数ＴＭｏｎｔｈを設定する（Ｓ５８）。
【００６４】
例３の開始時刻Ｔ１の変数ＴＭｏｎｔｈには数値が設定されていない（Ｓ５８：ＮＯ）。即ち、開始時刻Ｔ１の時刻単位の一部である月は、第一単位である。この場合ＣＰＵ４１は、変数ＴＭｏｎｔｈに基準時刻ＳＴの変数ＳＭｏｎｔｈに変数ＭＣを加えた値を設定する（Ｓ５９）。例３の基準時刻ＳＴは終了時刻ＤＴ２から所定時間差し引いた時刻であり、変数ＭＣは０である。したがって、例３はＳ５９の処理で、変数ＤＭｏｎｔｈに４が設定される。ＣＰＵ４１は、Ｓ５７の処理と同様に、変数ＤＭｏｎｔｈは許容範囲内であるか否かを判断する（Ｓ６０）。Ｓ６０の処理は、スケジュールの開始又は終了時刻の月に対応する数値が年を跨いでいる場合に、数値を修正するための処理である。変数ＤＭｏｎｔｈの値が許容範囲内ではない場合（Ｓ６０：ＮＯ）、ＣＰＵ４１は、変数ＤＭｏｎｔｈに１を設定し、変数ＹＣに１を設定する（Ｓ６１）。
【００６５】
例３のように変数ＤＭｏｎｔｈが許容範囲内である場合（Ｓ６０：ＹＥＳ）、又はＳ５８若しくはＳ６１の次に、ＣＰＵ４１は、図６のＳ１３の処理で取得した許容範囲に基づき、対象時刻の変数ＴＹｅａｒが許容範囲内であるか否かを判断する（Ｓ６２）。ＣＰＵ４１は、変数ＴＹｅａｒが００以上９９以下である場合に、変数ＴＹｅａｒは許容範囲内にあると判断する。ＣＰＵ４１は、変数ＴＹｅａｒに数値が設定されていない場合、又は変数ＴＹｅａｒが０未満若しくは１００以上である場合、変数ＴＹｅａｒは許容範囲内ではないと判断する。例６及び例７の開始時刻Ｔ１の変数ＴＹｅａｒは１３である（Ｓ６２：ＹＥＳ）。これらの場合ＣＰＵ４１は、変数ＤＹｅａｒに開始時刻Ｔ１の変数ＴＹｅａｒである１３を設定する（Ｓ６３）。
【００６６】
例３及び例４の開始時刻Ｔ１の変数ＴＹｅａｒには数値が設定されていない（Ｓ６２：ＮＯ）。即ち、開始時刻Ｔ１の時刻単位の一部である年は、第一単位である。この場合ＣＰＵ４１は、変数ＤＹｅａｒに基準時刻ＳＴの変数ＳＹｅａｒに変数ＹＣを加えた値を設定する（Ｓ６４）。例３の基準時刻ＳＴは終了時刻ＤＴ２から所定時間差し引いた時刻であり、変数ＹＣは０である。したがって、例３はＳ６４の処理で、変数ＤＹｅａｒに４が設定される。例４の基準時刻ＳＴは入力時刻であり、変数ＹＣは０である。したがって、例４はＳ６４の処理で、変数ＤＹｅａｒに１３が設定される。ＣＰＵ４１は、Ｓ６２の処理と同様に、変数ＤＹｅａｒは許容範囲内であるか否かを判断する（Ｓ６５）。Ｓ６５の処理は、スケジュールの開始又は終了時刻の年が３桁の数値になっている場合に２桁の数値に修正するための処理である。変数ＤＹｅａｒが許容範囲内ではない場合（Ｓ６５：ＮＯ）、ＣＰＵ４１は変数ＤＹｅａｒに００を設定する。
【００６７】
例３及び例４のように、変数ＤＹｅａｒが許容範囲内である場合（Ｓ６５：ＹＥＳ）、又はＳ６３若しくはＳ６６の次に、ＣＰＵ４１は、ＸがＴ１であるか否かを判断する（Ｓ６７）。ＸがＴ２である場合（Ｓ６７：ＮＯ）、ＣＰＵ４１は、終了時刻ＤＴ２に、変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎの各々を設定し、終了時刻データを修正する（Ｓ６９）。Ｓ６９の処理によって、第二単位に第二数値が補完され、終了時刻データが修正される。ＣＰＵ４１は時刻補完処理（Ｘ，Ｙ）を終了し、処理を図６の時刻決定処理に戻る。
【００６８】
ＸがＴ１である場合（Ｓ６７：ＹＥＳ）、ＣＰＵ４１は、開始時刻ＤＴ１に、変数ＤＹｅａｒ，ＤＭｏｎｔｈ，ＤＤａｙ，ＤＨｏｕｒ，及びＤＭｉｎの各々を設定し、開始時刻データを修正する（Ｓ６８）。Ｓ６８の処理によって、図１１の過程１の欄に例示するように、第一単位に第一数値が補完された状態で、開始時刻データが修正される。図１１中、細い縦線の網掛けを付与したマスの数値は、Ｓ２３の処理で補完された第一数値を表す。斜めの格子状の網掛けを付与したマスの数値は、Ｓ２０の処理で補完された第一数値を表す。ＣＰＵ４１は、ＹがＴ３か否かを判断する（Ｓ７０）。Ｓ２３において時刻補完処理（Ｔ１，ＤＴ２）が実行される例３は、ＹがＤＴ２である（Ｓ７０：ＮＯ）。この場合ＣＰＵ４１は、時刻補完処理（Ｘ，Ｙ）を終了し、処理を図６の時刻決定処理に戻る。
【００６９】
Ｓ２０において時刻補完処理（Ｘ，Ｙ）が実行される例４，例６，及び例７は、ＹがＴ３である（Ｓ７０：ＹＥＳ）。これらの場合ＣＰＵ４１は、開始時刻ＤＴ１が参照時刻Ｔ３の未来の時刻であるか否かを判断する（Ｓ７１）。図１１の過程１の欄に示すように、例４及び例６の開始時刻ＤＴ１は入力時刻の未来の時刻である（Ｓ７１：ＹＥＳ）。これらの場合ＣＰＵ４１は、時刻補完処理（Ｘ，Ｙ）を終了し、処理を図６の時刻決定処理に戻る。例７の開始時刻ＤＴ１は、１３年４月１６日１２時１０分であり、入力時刻である１３年４月１６日１２時５５分の過去である（Ｓ７１：ＮＯ）。この場合ＣＰＵ４１は、時刻調整処理（ＤＴ１，Ｔ３）を実行する（Ｓ７２）。
【００７０】
時刻調整処理（Ｖ，Ｗ）は、調整対象の時刻である調整時刻が、比較対象の時刻である比較時刻の未来となるように調整時刻を調整し、調整時刻のデータを修正するための処理である。引数Ｖは、調整時刻を設定するための値である。ＶがＤＴ１である場合、調整時刻は開始時刻ＤＴ１であり、調整時刻のデータは開始時刻データである。ＶがＤＴ２である場合、調整時刻は終了時刻ＤＴ２であり、調整時刻のデータは終了時刻データである。引数Ｗは、比較時刻を設定するための値である。ＷがＴ３である場合、比較時刻は参照時刻Ｔ３である。ＷがＤＴ１である場合、比較時刻は開始時刻ＤＴ１である。
【００７１】
図１２に示すように、時刻調整処理（Ｖ，Ｗ）では、ＣＰＵ４１はＷがＴ３である場合（Ｓ９３：ＹＥＳ）、比較時刻に参照時刻Ｔ３を設定する（Ｓ９４）。第一実施形態では、参照時刻Ｔ３は、入力時刻である。ＣＰＵ４１は、調整時刻に開始時刻ＤＴ１を設定する（Ｓ９６）。ＣＰＵ４１はＷがＤＴ２である場合（Ｓ９３：ＮＯ）、比較時刻に開始時刻ＤＴ１を設定する（Ｓ９５）。ＣＰＵ４１は、調整時刻に終了時刻ＤＴ２を設定する（Ｓ９７）。
【００７２】
Ｓ９５又はＳ９７の次に、ＣＰＵ４１は、調整時刻の変数ＤＭｉｎを調整可能か否かを判断する（Ｓ９８）。ＣＰＵ４１は、調整時刻の変数ＤＭｉｎが基準時刻ＳＴの変数ＳＭｉｎに基づき設定された値であり、且つ、調整時刻の変数ＤＭｉｎを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合に、調整時刻の変数ＤＭｉｎを調整可能であると判断する。本実施形態では、ユーザが手書き入力したストロークデータに基づき特定される数値は許容範囲に収まる値である限り変更しない。即ち、調整時刻の変数ＤＭｉｎが、対象時刻の変数ＴＭｉｎに基づき設定された値である場合には、変数ＤＭｉｎを調整しない。変数ＤＭｉｎが調整時刻の変数ＤＭｉｎが基準時刻ＳＴに基づき設定された値であり、且つ、調整時刻の変数ＤＭｉｎを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合（Ｓ９８：ＹＥＳ）、ＣＰＵ４１は調整時刻の変数ＤＭｉｎを修正して、調整時刻のデータを修正する（Ｓ９９）。数値の修正方法は予め定められればよい。例えば、調整時刻を比較時刻の未来の時刻となる許容範囲内の最小値が変数ＤＭｉｎに設定されてもよい。他の例では、調整時刻を比較時刻の未来の時刻となる、予め定められた１５，３０，４５等の切りのよい数値が変数ＤＭｉｎに設定されてもよい。
【００７３】
例７の開始時刻ＤＴ１の変数ＤＭｉｎは、基準時刻ＳＴの変数ＳＭｉｎに基づき設定された値ではない（Ｓ９８：ＮＯ）。この場合ＣＰＵ４１は、調整時刻の変数ＤＨｏｕｒを調整可能か否かを判断する（Ｓ１００）。ＣＰＵ４１は、調整時刻の変数ＤＨｏｕｒが基準時刻ＳＴの変数ＳＨｏｕｒに基づき設定された値であり、且つ、調整時刻の変数ＤＨｏｕｒを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合に、調整時刻の変数ＤＨｏｕｒを調整可能であると判断する。例７の開始時刻ＤＴ１の変数ＤＨｏｕｒは、基準時刻ＳＴの変数ＳＨｏｕｒに基づき設定された値であり、変数ＤＨｏｕｒを例えば１３にすることによって、調整時刻を比較時刻の未来にすることができる（Ｓ１００：ＹＥＳ）。この場合ＣＰＵ４１は、調整時刻が比較時刻の未来の時刻となるように、調整時刻の変数ＤＨｏｕｒを修正して、調整時刻のデータを修正する（Ｓ１０１）。Ｓ９９と同様に、数値の調整方法は予め定められればよい。本実施形態では、例７について、調整時刻を比較時刻の未来の時刻となる許容範囲内の最小値である１３が設定される。
【００７４】
調整時刻の変数ＤＨｏｕｒを調整可能ではない場合（Ｓ１００：ＮＯ）、ＣＰＵ４１は調整時刻の変数ＤＤａｙを調整可能か否かを判断する（Ｓ１０２）。ＣＰＵ４１は、調整時刻の変数ＤＤａｙが基準時刻ＳＴの変数ＳＤａｙに基づき設定された値であり、且つ、調整時刻の変数ＤＤａｙを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合に、調整時刻の変数ＤＤａｙを調整可能であると判断する（Ｓ１０２：ＹＥＳ）。この場合ＣＰＵ４１は、調整時刻が比較時刻の未来の時刻となるように、調整時刻の変数ＤＤａｙを修正して、調整時刻のデータを修正する（Ｓ１０３）。Ｓ９９と同様に、数値の調整方法は予め定められればよい。
【００７５】
調整時刻の変数ＤＤａｙを調整可能ではない場合（Ｓ１０２：ＮＯ）、ＣＰＵ４１は調整時刻の変数ＤＭｏｎｔｈを調整可能か否かを判断する（Ｓ１０４）。ＣＰＵ４１は、調整時刻の変数ＤＭｏｎｔｈが基準時刻ＳＴの変数ＳＭｏｎｔｈに基づき設定された値であり、且つ、調整時刻の変数ＤＭｏｎｔｈを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合に、調整時刻の変数ＤＭｏｎｔｈを調整可能であると判断する（Ｓ１０４：ＹＥＳ）。この場合ＣＰＵ４１は、調整時刻が比較時刻の未来の時刻となるように、調整時刻の変数ＤＭｏｎｔｈを修正して、調整時刻のデータを修正する（Ｓ１０５）。Ｓ９９と同様に、数値の調整方法は予め定められればよい。
【００７６】
調整時刻の変数ＤＭｏｎｔｈを調整可能ではない場合（Ｓ１０４：ＮＯ）、ＣＰＵ４１は調整時刻の変数ＤＹｅａｒを調整可能か否かを判断する（Ｓ１０６）。ＣＰＵ４１は、調整時刻の変数ＤＹｅａｒが基準時刻ＳＴの変数ＳＹｅａｒに基づき設定された値であり、且つ、調整時刻の変数ＤＹｅａｒを調整することによって、調整時刻を比較時刻の未来の時刻とすることができる場合に、調整時刻の変数ＤＹｅａｒを調整可能であると判断する（Ｓ１０６：ＹＥＳ）。この場合ＣＰＵ４１は、調整時刻が比較時刻の未来の時刻となるように、調整時刻の変数ＤＹｅａｒを修正して、調整時刻のデータを修正する（Ｓ１０７）。Ｓ９９と同様に、数値の調整方法は予め定められればよい。
【００７７】
調整時刻の変数ＤＹｅａｒを調整可能ではない場合（Ｓ１０６：ＮＯ）、又はＳ９９，Ｓ１０１，Ｓ１０３，Ｓ１０５若しくはＳ１０７の処理の次に、ＣＰＵ４１は時刻調整処理（Ｖ，Ｗ）を終了し、処理を図１０の時刻補完処理（Ｘ，Ｙ）に戻す。図１０のＳ７２の次に、ＣＰＵ４１は時刻補完処理（Ｘ，Ｙ）を終了し、処理を図６の時刻決定処理に戻す。
【００７８】
図６のＳ１５において、終了時刻Ｔ２が完全ではない場合（Ｓ１６：ＮＯ）、又はＳ２０の処理の次に、ＣＰＵ４１は時刻補完処理（Ｔ２，ＤＴ１）を実行する（Ｓ２１）。Ｓ２１では、対象時刻を終了時刻Ｔ２とし、基準時刻ＳＴを開始時刻ＤＴ１とする、時刻補完処理（Ｘ，Ｙ）が実行される。Ｓ２１の処理によって、図１１の過程２の欄において太い縦縞の網掛けを付与したマスで示すように、第二単位に第二数値が補完され、終了時刻データが修正される。
【００７９】
Ｓ２１又はＳ２３の次に、ＣＰＵ４１は、終了時刻ＤＴ２が開始時刻ＤＴ１の未来であるか否かを判断する（Ｓ２４）。例１から５及び例７の終了時刻ＤＴ２は開始時刻ＤＴ１の未来である（Ｓ２４：ＹＥＳ）。これらの場合ＣＰＵ４１は、前述のＳ２７の処理を実行する。
【００８０】
例６の終了時刻ＤＴ２は開始時刻ＤＴ１の過去である（Ｓ２４：ＮＯ）。この場合ＣＰＵ４１は、時刻調整処理（ＤＴ２，ＤＴ１）を実行し、終了時刻ＤＴ２を開始時刻ＤＴ１の未来の時刻となるように調整する（Ｓ２５）。Ｓ２５の処理によって終了時刻ＤＴ２が開始時刻ＤＴ１の未来に調整された場合には（Ｓ２６：ＹＥＳ）、前述のＳ２７の処理を実行する。例６は、時刻調整処理（ＤＴ２，ＤＴ１）を実行した場合に、終了時刻ＤＴ２のＤＹｅａｒが１４に調整される。即ちＳ２５の処理によって、例６の終了時刻ＤＴ２は、開始時刻ＤＴ１の未来となる（Ｓ２６：ＹＥＳ）。Ｓ２５の処理によって終了時刻ＤＴ２が開始時刻ＤＴ１の未来に調整されない場合（Ｓ２６：ＮＯ）、ＣＰＵ４１はエラーを報知する（Ｓ２８）。ＣＰＵ４１は、例えば、出力回路４６に指示を出力し、ディスプレイ４８にエラーメッセージを表示させる。エラーメッセージは、例えば、「開始時刻又は終了時刻を特定できません。」である。この場合、開始時刻データ及び終了時刻データはＳ１０又はＳ１１の値に戻され、時刻情報はＨＤＤ４２のスケジュール記憶エリア４２３に記憶されない。Ｓ２７又はＳ２８の処理の次に、ＣＰＵ４１は時刻決定処理を終了する。
【００８１】
図６のＳ１０を実行するＣＰＵ４１は、本発明の開始時刻データ取得手段として機能する。Ｓ１１を実行するＣＰＵ４１は、本発明の終了時刻データ取得手段として機能する。Ｓ２３を実行するＣＰＵ４１は、本発明の前記開始時刻データを修正する第一修正手段として機能する。Ｓ２１の処理を実行するＣＰＵ４１は、本発明の第二修正手段として機能する。Ｓ１９を実行するＣＰＵ４１は、本発明の入力時刻取得手段として機能する。Ｓ２０の処理を実行するＣＰＵ４１は、本発明の第三修正手段として機能する。Ｓ２７の処理を実行するＣＰＵ４１は、本発明の記憶制御手段として機能する。Ｓ１３の処理を実行するＣＰＵ４１は、本発明の許容範囲取得手段として機能する。図８のＳ４２，Ｓ４７，Ｓ５２，図１０のＳ５７，Ｓ６２を実行するＣＰＵ４１は、本発明の第一判定手段及び第二判定手段として機能する。図７のＳ３５及びＳ３６を実行するＣＰＵ４１は、本発明の第五修正手段として機能する。Ｓ３４の処理を実行するＣＰＵ４１は、本発明のフラグ設定手段として機能する。
【００８２】
情報処理装置４０は、フォーマット７０において、開始時刻の入力フィールド７２から７６の一部が入力されなかった場合に、入力されなかった第一単位に第一数値を補完する（Ｓ２１）。情報処理装置４０は、開始時刻のうち開始時刻データに基づき特定可能な入力フィールドの数値は変更せず、開始時刻データに基づき特定不能な入力フィールドの数値のみ、終了時刻データを利用して補完する。このため情報処理装置４０は、手書き入力結果を優先しつつ、開始時刻に関する手書き入力されなかった数値を自動的に補完することが可能である。同様に、終了時刻の入力フィールド７７から８１の一部が入力されなかった場合に、入力されなかった第二単位に第二数値を補完する（Ｓ２２）。情報処理装置４０は、終了時刻のうち終了時刻データに基づき特定可能な入力フィールドの数値は変更せず、終了時刻データに基づき特定不能な入力フィールドの数値のみ、開始時刻データを利用して補完する。このため情報処理装置４０は、手書き入力結果を優先しつつ、開始時刻を表す、入力されなかった数値を自動的に補完することが可能である。したがって、情報処理装置４０は、手書き入力されたストロークデータに基づき特定されたテキストデータが表す開始時刻及び終了時刻について、複数の時刻単位の各々に対応する複数の数値の一部が特定されない場合でも、複数の時刻単位の各々に対応する複数の数値の全てを適切に設定可能である。
【００８３】
情報処理装置４０は、終了時刻Ｔ２に基づき開始時刻データによって表される開始時刻Ｔ１を修正できない場合であっても、ユーザがストロークデータを手書き入力した入力時刻を基準時刻ＳＴとして開始時刻データを修正できる。情報処理装置４０は、入力時刻と現在時刻とが大きく異なる場合であっても、ユーザが修正後の開始時刻データを予測可能な入力時刻に基づき開始時刻データを修正することができる。更に情報処理装置４０は、図１０のＳ７１及びＳ７２の処理を実行することによって、開始時刻ＤＴ１が入力時刻の未来の時刻となるように設定することができる。
【００８４】
情報処理装置４０は、図１２に示すように、スケールの小さい時刻単位順に数値を調整することによって、開始時刻が入力時刻よりも未来に設定する為の処理を単純化することができる。フォーマット７０は、年、月、日、時、及び分の５つの時刻単位の各々に対応する入力フィールドを備える。開始時刻及び終了時刻の各々が、５つの時刻単位を有するので、ユーザは合計で１０の数値を手書き入力する必要がある。情報処理装置４０は、１０の入力フィールドの数値のうちの省略された数値又は特定されなかった数値を補完する。したがって、情報処理装置４０は、開始時刻及び終了時刻の年、月、日、時、及び分を指定するのに必要な数値の数を１０より小さくすることができる。よって、情報処理装置４０は、ユーザがスケジュールの開始時刻及び終了時刻を指定する操作を簡単にできる。
【００８５】
一般に、スケジュールの終了時刻は、スケジュールの開始時刻から一定時間後に設定される事が多い。情報処理装置４０は、開始時刻の一定時間後の時刻を基準時刻ＳＴとして、終了時刻データを修正できる。情報処理装置４０は、図８のＳ４２，Ｓ４７，及びＳ５２，並びに図１０のＳ５７，及びＳ６２を実行することによって、許容範囲外の数値がそのまま開始時刻又は終了時刻を決定する処理等に用いられることを回避することができる。情報処理装置４０は、図７のフラグ処理を実行する。したがって、ユーザは、フォーマット７０において、時、分の入力を省略することによって、情報処理装置４０に終日予定フラグをオフからオンに切り替えさせることができる。即ち、情報処理装置４０では、フォーマット７０の入力フィールドを増やすことなく、スケジュールが終日予定であるか否かを指定することができる。
【００８６】
［第二実施形態の時刻決定処理］
第二実施形態の時刻決定処理について説明する。第二実施形態の時刻決定処理は、図６に示すフローチャートに従って、実行される点で、第一実施形態の時刻決定処理と互いに同じである。第二実施形態では、参照時刻Ｔ３が、ＨＤＤ４２のスケジュール記憶エリア４２３に記憶された開始時刻ＤＴ１のうち、記憶された時刻が最も新しい最新開始時刻ＬＤＴ１である点で、第一実施形態の時刻決定処理と互いに異なる。
【００８７】
第二実施形態の時刻決定処理のＳ１９では、図６ＨＤＤ４２のスケジュール記憶エリア４２３に記憶された開始時刻ＤＴ１，最新のデータ４２５に含まれる最新開始時刻ＬＤＴ１である１３年４月１７日９時００分が取得される。前述のように、本実施形態ではＩＤが最も大きいデータが記憶された時刻が最も新しいデータである。Ｓ２０の処理では、Ｔ３として最新開始時刻ＬＤＴ１が用いられる。
【００８８】
図５に示す例１から例７のテキストデータが得られた場合、第二実施形態の時刻決定処理によって、開始時刻ＤＴ１と、終了時刻ＤＴ２とは各々は図１３の第二実施形態の欄に示すように決定される。図１３の第二実施形態の欄の網掛けを付与したマスの表記方法は図１１の第一実施形態と同様である。即ち、斜線の網掛けを付与したマスの数値は、Ｓ１２の処理によって補完された数値である。斜めの格子状の網掛けを付与したマスの数値は、Ｓ２０の処理によって補完された数値である。太い縦縞の網掛けを付与したマスの数値は、Ｓ２１の処理によって補完された数値である。細い網掛けを付与したマスの数値は、Ｓ２３の処理によって補完された数値である。
【００８９】
第二実施形態の時刻決定処理において、Ｓ２７の処理を実行するＣＰＵ４１は、本発明の記憶制御手段として機能する。Ｓ２０の処理を実行するＣＰＵ４１は、本発明の第四修正手段として機能する。ユーザは、連続して複数のスケジュールを手書き入力する場合等、直前に入力したスケジュールと共通する時刻単位に対応する数値については入力を省略したい場合がある。このような場合に、情報処理装置４０は、最新開始時刻データに基づき第一単位に上記共通する時刻単位に対応する数値を補完して開始時刻データを修正できる。
【００９０】
本発明の情報処理装置は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更が加えられてもよい。例えば、以下の（１）から（５）までの変形が適宜加えられてもよい。
【００９１】
（１）手書入力システム１の構成は適宜変更されてよい。ストロークデータを取得する読取装置２の構成は適宜変更されてよい。例えば、読取装置２は、２つのセンサ基板７Ｌ及び７Ｒを備えていたが、センサ基板の数は１つであってもよいし、３以上であってもよい。読取装置２は、センサ基板７Ｌ及び７Ｒの各々のループコイルから磁界を発生させ、電子ペン３の共振回路を電磁誘導によって共振させていたが、電池を内蔵するタイプの電子ペン３に対しては、電子ペン３の共振回路を電磁誘導によって共振させなくてもよい。読取装置２は、電子ペン３の筆圧を検出可能であったが、筆圧は検出不能であってもよいし、筆圧を考慮せずに検出結果をフラッシュＲＯＭ２３等の記憶機器に記憶させてもよい。読取装置２の電気的構成は適宜変更されてよい。読取装置２は電磁誘導以外の方法で電子ペン３の位置を検出してもよい。例えば読取装置２はタッチパネルを備えてもよい。タッチパネルの駆動方式は、抵抗膜方式であることが好ましい。この場合、タッチパネル上に紙媒体１００が置かれてもよい。ＣＰＵ２１は、電子ペン３によって紙媒体１００の用紙１２０に情報を記入する動作が行われた場合、タッチパネルを介して筆圧が加えられた位置を検出してもよい。読取装置２と、情報処理装置４０とは別体であったが、情報処理装置４０は、読取装置２の機能を備えてもよい。
【００９２】
（２）ストロークデータに基づき、開始時刻データ及び終了時刻データを生成する処理は、情報処理装置４０で実行されてもよいし、読取装置２で実行されてもよい。参照時刻に入力時刻を使用しない場合には、ストロークデータと、入力時刻とは対応付けられて記憶されなくてもよい。
【００９３】
（３）スケジュールを入力するためのフォーマットは、図４のフォーマット７０に限定されない。フォーマット７０に含まれる入力フィールドは適宜変更されてよい。フォーマット７０では、開始時刻に対応する入力フィールドとして、５つの入力フィールド７２から７６が設けられていたが、これに限定されない。例えば、開始時刻に対応する入力フィールドとして、年月日をスラッシュで区切って手書き入力する第一入力フィールドと、時分をコロンで区切って手書き入力する第二入力フィールドとを備えてもよい。この場合、１３年４月１８日１３時００分は、第一入力フィールドに１３／４／１８と手書き入力され、第二入力フィールドに１３：００と手書き入力される。この場合情報処理装置４０は、区切りの記号の有無に基づき、各時刻単位の数値を特定すればよい。他の例では、スケジュールの開始時刻又は終了時刻を表す複数の時刻単位は、少なくとも日時を含めばよい。
【００９４】
（４）図６の時刻決定処理を実行させるための指令を含むプログラム及びデータは、情報処理装置４０がプログラムを実行するまでに、情報処理装置４０が備える記憶機器に記憶されればよい。したがって、プログラム及びデータの取得方法、取得経路及びプログラムを記憶する機器の各々は適宜変更されてよい。情報処理装置４０が備えるプロセッサが実行するプログラム及びデータは、ケーブル又は無線通信を介して、他の装置から受信し、フラッシュメモリ等の記憶装置に記憶されてもよい。他の装置は、例えば、ＰＣ，及びネットワーク網を介して接続されるサーバを含む。
【００９５】
（５）図６の時刻決定処理の各ステップは、ＣＰＵ４１によって実行される例に限定されず、一部又は全部が他の電子機器（例えば、ＡＳＩＣ）によって実行されてもよい。また、上記時刻決定処理の各ステップは、複数の電子機器（例えば、複数のＣＰＵ）によって分散処理されてもよい。また上記実施形態の時刻決定処理の各ステップは、必要に応じて順序の変更、ステップの省略、及び追加が可能である。更に、時刻決定処理が備えるＣＰＵ４１からの指令に基づき、情報処理装置４０上で稼動しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、その処理によって上記実施形態の機能が実現される場合も本発明の範囲に含まれる。例えば、以下の（５−１）から（５−５）に示す変形が適宜加えられてもよい。
【００９６】
（５−１）図６に示す第一実施形態及び第二実施形態の時刻決定処理では、開始時刻Ｔ１が完全であり（Ｓ１４：ＹＥＳ）、終了時刻Ｔ２が不完全である場合（Ｓ１６：ＮＯ）に、開始時刻Ｔ１に基づき終了時刻Ｔ２の第二単位に第二数値を補完していた（Ｓ２１）。また開始時刻Ｔ１が不完全であり（Ｓ１４：ＮＯ）、終了時刻Ｔ２が完全である場合に（Ｓ１８：ＹＥＳ）、終了時刻Ｔ２に基づき、開始時刻Ｔ１の第一単位に第一数値を補完していた。しかし、開始時刻Ｔ１が不完全であり、終了時刻Ｔ２が不完全である場合に、開始時刻Ｔ１を基準時刻として終了時刻Ｔ２の第二単位に第二数値を補完してもよいし、終了時刻Ｔ２を基準時刻として開始時刻Ｔ１の第一単位に第一数値を補完してもよい。この場合、例えば、年、月、日及び分については、基準時刻の数値をそのまま用い、時については、開始時刻Ｔ１の時に対応する数値が、終了時刻Ｔ２の時に対応する数値の所定時間（例えば、２時間前）になるように、補完されてよい。図５に示す例１から例７のテキストデータが得られた場合、変形例の処理によって、開始時刻Ｔ１と、終了時刻Ｔ２とは各々は図１３の変形例の処理の欄に示すように補完される。図１３の変形例の処理の欄において格子状の網掛けが付与されたマスの数値は、変形例の処理によって補完された数値である。変形例の処理のみでは、数値が設定されていないマスがある。この場合、変形例の処理後、図６の時刻決定処理が実行されてもよい。
【００９７】
（５−２）第二数値を開始時刻ＤＴ１の一定時間後の時刻に基づき補完していたが、一定時刻の設定方法は適宜変更されてよい。例えばＣＰＵ４１は、ＨＤＤ４２のスケジュール記憶エリア４２３に記憶されているスケジュールの開始時刻と、終了時刻との差の代表値を、一定時刻に設定してもよい。代表値は、例えば、平均値、中央値、最大値、及び最小値である。他の例では、ＨＤＤ４２のスケジュール記憶エリア４２３に最近記憶されているスケジュールの開始時刻と、終了時刻との差が一定時刻に設定されてよい。
【００９８】
（５−３）開始時刻Ｔ１の第一数値を終了時刻Ｔ２に基づき補完できない場合、参照時刻Ｔ３に基づき補完していたが、これに限定されない。例えば、開始時刻Ｔ１の第一数値を終了時刻Ｔ２に基づき補完できない場合、エラー報知をしてもよいし、開始時刻Ｔ１の第一数値を終了時刻Ｔ２に基づき補完できない場合、第一数値にデフォルト値を設定してもよい。参照時刻Ｔ３は、入力時刻及び最新開始時刻の他、現在時刻（時刻決定処理実行時の時刻）でもよい。スケジュールが、情報処理装置４０以外の外部装置に記憶される場合には、ＣＰＵ４１は、参照時刻Ｔ３として最新開始時刻を有線及び無線通信等によって外部装置から取得してもよい。
【００９９】
（５−４）ＣＰＵ４１は、図１０のＳ７１，Ｓ７２を実行して開始時刻が参照時刻の未来となるように修正していたが、過去のスケジュールを手書き入力されることがある場合等には、この処理は省略されてよい。図１２の時刻調整処理（Ｖ，Ｗ）では、複数の時刻単位に対応する数値について、スケールが小さい順に調整可能かを判断していたが、これに限定されない。複数の時刻単位の一部の時刻単位について、調整可能か否かを判断してもよい。図８の時刻補完処理（Ｘ，Ｙ）は、複数の時刻単位に対応する数値について、スケールが小さい順に補完が必要か否かを判断していたが、これに限定されない。
【０１００】
（５−５）各時刻単位に対応する数値が許容範囲にあるか否かを判断する必要がない場合には、図８のＳ４１，Ｓ４７，及びＳ５２，並びに図１０のＳ５７，及びＳ６２の処理では、ＣＰＵ４１は、数値が設定されているか否かのみを判断すればよい。終日予定フラグを設定する必要がない場合には、図６のＳ１２の処理は省略されてよい。
【符号の説明】
【０１０１】
４０    情報処理装置
４１    ＣＰＵ
４２    ＨＤＤ
４３    ＲＡＭ
４４    無線通信部
【図１】
2014211752.tif 000003
【図２】
2014211752.tif 000004
【図３】
2014211752.tif 000005
【図４】
2014211752.tif 000006
【図５】
2014211752.tif 000007
【図６】
2014211752.tif 000008
【図７】
2014211752.tif 000009
【図８】
2014211752.tif 000010
【図９】
2014211752.tif 000011
【図１０】
2014211752.tif 000012
【図１１】
2014211752.tif 000013
【図１２】
2014211752.tif 000014
【図１３】
2014211752.tif 000015