(57)【要約】【課題】手書き文書を活用しやすくすることができる電子機器を実現する。【解決手段】実施形態によれば、電子機器は、表示処理手段と、処理手段とを具備する。前記表示処理手段は、手書きによって入力される複数のストロークを含む手書き文書を画面上に表示する。前記処理手段は、前記手書き文書のコピーが要求された場合、前記手書き文書に対応するデータを、アプリケーションプログラム間でデータを交換するための一時記憶領域であるクリップボードに格納するための処理を実行する。前記処理手段は、前記手書き文書のコピーが要求された場合に、前記手書き文書を整形し、前記整形によって得られる第１データを前記クリップボードに格納する。前記第１データは、複数種のアプリケーションプログラムが閲覧可能な第１データフォーマットのデータとして前記クリップボードに格納される。【選択図】図９
2015138494.tif 000002
【特許請求の範囲】
【請求項１】
手書きによって入力される複数のストロークを含む手書き文書を画面上に表示する表示処理手段と、
前記手書き文書のコピーが要求された場合、前記手書き文書に対応するデータを、アプリケーションプログラム間でデータを交換するための一時記憶領域であるクリップボードに格納するための処理を実行する処理手段とを具備し、
前記処理手段は、前記手書き文書のコピーが要求された場合に、前記手書き文書を整形し、前記整形によって得られる第１データを前記クリップボードに格納するものであって、
前記第１データは、複数種のアプリケーションプログラムが閲覧可能な第１データフォーマットのデータとして前記クリップボードに格納される、電子機器。
【請求項２】
前記手書き文書のコピーが要求された場合、前記処理手段は、前記手書き文書に対応する手書きデータであって前記複数のストロークに対応する複数のストロークデータを含む手書きデータを、前記クリップボードと異なる別の一時記憶領域に格納する処理をさらに実行し、
手書きデータを処理可能な第１アプリケーションプログラムの編集画面へのデータのペーストが要求された場合、前記処理手段は、前記クリップボード内の第１最新データに対応する更新時間と前記別の一時記憶領域内の第２最新データに対応する更新時間とに応じて定められる、前記第１最新データまたは前記第２最新データのいずれか一方のデータを、前記編集画面にペーストする請求項１記載の電子機器。
【請求項３】
前記処理手段は、前記クリップボードを介して前記手書き文書に対応するデータがペーストとされる対象のアプリケーションプログラムが第１種類のアプリケーションプログラムである場合、第１整形方法を使用して前記手書き文書を整形し、前記対象のアプリケーションプログラムが第２種類のアプリケーションプログラムである場合、前記第１整形方法と異なる第２整形方法を使用して前記手書き文書を整形する請求項１記載の電子機器。
【請求項４】
前記手書き文書の整形は、前記手書き文書内の手書き文字列をテキストデータに変換する処理を含む請求項１記載の電子機器。
【請求項５】
前記手書き文書の整形は、前記手書き文書内の手書き文字列をテキストデータに変換する処理、前記手書き文書内の手書きの図形を図形オブジェクトデータに変換する処理、または前記手書き文書内の手書きの表を表オブジェクトデータに変換する処理の少なくとも１つを含む請求項１記載の電子機器。
【請求項６】
手書きによって入力される複数のストロークを含む手書き文書を画面上に表示することと、
前記手書き文書のコピーが要求された場合、前記手書き文書に対応するデータを、アプリケーションプログラム間でデータを交換するための一時記憶領域であるクリップボードに格納するための処理を実行することとを具備し、
前記実行することは、
前記手書き文書のコピーが要求された場合に、前記手書き文書を整形することと、
前記整形によって得られる第１データを前記クリップボードに格納することとを含み、
前記第１データは、複数種のアプリケーションプログラムが閲覧可能な第１データフォーマットのデータとして前記クリップボードに格納される、方法。
【請求項７】
前記手書き文書のコピーが要求された場合、前記手書き文書に対応する手書きデータであって前記複数のストロークに対応する複数のストロークデータを含む手書きデータを、前記クリップボードと異なる別の一時記憶領域に格納することと、
手書きデータを処理可能な第１アプリケーションプログラムの編集画面へのデータのペーストが要求された場合、前記クリップボード内の第１最新データに対応する更新時間と前記別の一時記憶領域内の第２最新データに対応する更新時間とに応じて定められる、前記第１最新データまたは前記第２最新データのいずれか一方のデータを、前記編集画面にペーストすることとをさらに具備する請求項６記載の方法。
【請求項８】
前記整形することは、前記クリップボードを介して前記手書き文書に対応するデータがペーストとされる対象のアプリケーションプログラムが第１種類のアプリケーションプログラムである場合、第１整形方法を使用して前記手書き文書を整形することと、前記対象のアプリケーションプログラムが第２種類のアプリケーションプログラムである場合、前記第１整形方法と異なる第２整形方法を使用して前記手書き文書を整形することとを含む請求項６記載の方法。
【請求項９】
前記整形することは、前記手書き文書内の手書き文字列をテキストデータに変換することを含む請求項６記載の方法。
【請求項１０】
前記整形することは、前記手書き文書内の手書き文字列をテキストデータに変換する処理、前記手書き文書内の手書きの図形を図形オブジェクトデータに変換する処理、または前記手書き文書内の手書きの表を表オブジェクトデータに変換する処理の少なくとも１つを実行することを含む請求項６記載の方法。
【請求項１１】
コンピュータによって実行されるプログラムであって、
手書きによって入力される複数のストロークを含む手書き文書を画面上に表示する手順と、
前記手書き文書のコピーが要求された場合、前記手書き文書に対応するデータを、アプリケーションプログラム間でデータを交換するための一時記憶領域であるクリップボードに格納するための処理を実行する手順とを前記コンピュータに実行させ、
前記実行する手順は、
前記手書き文書のコピーが要求された場合に、前記手書き文書を整形する手順と、
前記整形によって得られる第１データを前記クリップボードに格納する手順とを含み、
前記第１データは、複数種のアプリケーションプログラムが閲覧可能な第１データフォーマットのデータとして前記クリップボードに格納される、プログラム。
【請求項１２】
前記手書き文書のコピーが要求された場合、前記手書き文書に対応する手書きデータであって前記複数のストロークに対応する複数のストロークデータを含む手書きデータを、前記クリップボードと異なる別の一時記憶領域に格納する手順と、
手書きデータを処理可能な第１アプリケーションプログラムの編集画面へのデータのペーストが要求された場合、前記クリップボード内の第１最新データに対応する更新時間と前記別の一時記憶領域内の第２最新データに対応する更新時間とに応じて定められる、前記第１最新データまたは前記第２最新データのいずれか一方のデータを、前記編集画面にペーストする手順とを前記コンピュータにさらに実行させる請求項１１記載のプログラム。
【請求項１３】
前記整形する手順は、前記クリップボードを介して前記手書き文書に対応するデータがペーストとされる対象のアプリケーションプログラムが第１種類のアプリケーションプログラムである場合、第１整形方法を使用して前記手書き文書を整形する手順と、前記対象のアプリケーションプログラムが第２種類のアプリケーションプログラムである場合、前記第１整形方法と異なる第２整形方法を使用して前記手書き文書を整形する手順とを含む請求項１１記載のプログラム。
【請求項１４】
前記整形する手順は、前記手書き文書内の手書き文字列をテキストデータに変換する手順を含む請求項１１記載のプログラム。
【請求項１５】
前記整形する手順は、前記手書き文書内の手書き文字列をテキストデータに変換する手順、前記手書き文書内の手書きの図形を図形オブジェクトデータに変換する手順、または前記手書き文書内の手書きの表を表オブジェクトデータに変換する手順の少なくとも１つを含む請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書を処理する技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器は、様々なデジタルコンテンツ、例えば、プレゼンテーションデータ、ドキュメントデータ、スプレッドシートデータ、イメージデータ等、を作成または閲覧するためのツールとして広く普及している。
【０００３】
また、最近では、手書き文書を扱うことが可能な電子機器も開発され始めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２０７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来では、手書き文書を活用しやすくするための技術については考慮されていないのが現状である。
【０００６】
本発明の一形態の目的は、手書き文書を活用しやすくすることができる電子機器および方法を提供することである。
【課題を解決するための手段】
【０００７】
実施形態によれば、電子機器は、表示処理手段と、処理手段とを具備する。前記表示処理手段は、手書きによって入力される複数のストロークを含む手書き文書を画面上に表示する。前記処理手段は、前記手書き文書のコピーが要求された場合、前記手書き文書に対応するデータを、アプリケーションプログラム間でデータを交換するための一時記憶領域であるクリップボードに格納するための処理を実行する。前記処理手段は、前記手書き文書のコピーが要求された場合に、前記手書き文書を整形し、前記整形によって得られる第１データを前記クリップボードに格納する。前記第１データは、複数種のアプリケーションプログラムが閲覧可能な第１データフォーマットのデータとして前記クリップボードに格納される。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る電子機器の外観を示す例示的な斜視図。
【図２】同実施形態の電子機器と外部装置との連携動作を示す例示的な図。
【図３】同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図４】同実施形態の電子機器によって記憶媒体に保存される、図３の手書き文書に対応する時系列情報を説明するための例示的な図。
【図５】同実施形態の電子機器のシステム構成を示す例示的なブロック図。
【図６】同実施形態の電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示す例示的なブロック図。
【図７】同実施形態の電子機器によって表示される編集画面の例を示す図。
【図８】図７の編集画面上に表示される幾つかのボタンの例を示す図。
【図９】同実施形態の電子機器によって実行されるコピー処理を説明するための例示的な図。
【図１０】同実施形態の電子機器によって実行される、内部バッファからデータをペーストする処理を示す例示的な図。
【図１１】同実施形態の電子機器によって実行される、クリップボードからデータをペーストする処理を示す例示的な図。
【図１２】図７の編集画面上に表示される幾つかのアプリケーション選択ボタンの例を示す図。
【図１３】同実施形態の電子機器によって選択的に使用される２種類の整形方法を説明するための例示的な図。
【図１４】同実施形態の電子機器によって使用される別の整形方法を説明するための例示的な図。
【図１５】同実施形態の電子機器によってコピー処理の手順を示す例示的なフローチャート。
【図１６】同実施形態の電子機器によって実行されるペースト処理の手順を示す例示的なフローチャート。
【図１７】同実施形態の電子機器によって実行されるコピー処理の別の手順を示す例示的なフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン（スタイラス）または指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１０】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、センサとが組み込まれている。このセンサは、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１１】
このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えばデジタイザペン（電磁誘導ペン）であってもよい。
【００１２】
ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストローク（手書きストロークの軌跡）がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１つのストロークに相当する。手書きされた文字、手書きされた図形、手書きされた表、などに対応する多数のストロークの集合が手書き文書を構成する。
【００１３】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係とを示す時系列情報（手書きデータ）として記憶媒体に保存される。この時系列情報の詳細は図４を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
【００１４】
タブレットコンピュータ１０は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
【００１５】
さらに、タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分（手書き文字、手書きマーク、手書き図形、手書き表、等）を削除または移動することができる。
【００１６】
本実施形態では、手書き文書は、１つまたは複数のページとして管理されうる。この場合、時系列情報（手書きデータ）を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００１７】
図２は、タブレットコンピュータ１０と外部装置との連携動作の例を示している。タブレットコンピュータ１０は、パーソナルコンピュータ１やクラウドと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００１８】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、時系列情報（手書きデータ）をネットワーク越しにパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。
【００１９】
さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤに記録されている任意の１以上の時系列情報を読み出し（ダウンロード）、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ１７の画面上に表示してもよいし、これらサムネイルから選ばれた１ページをディスプレイ１７の画面上に通常サイズで表示してもよい。
【００２０】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ２であってよい。タブレットコンピュータ１０は、時系列情報（手書きデータ）をネットワーク越しにサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａに記録されている任意の時系列情報を読み出して（ダウンロード）、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。
【００２１】
次に、図３および図４を参照して、ユーザによって手書きされたストローク（文字、図形、表など）と時系列情報との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書の例を示している。
【００２２】
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図３においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きによって入力された場合が想定されている。
【００２３】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２２、…ＳＤ２ｎが得られる。
【００２４】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２５】
図４は、図３の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、これらストロークが手書きされた順に時系列に並べている。
【００２６】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００２７】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００２８】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００２９】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３０】
本実施形態では、上述したように、手書き文書は、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００３１】
図５は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図５に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３２】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種プログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム２０２が含まれている。この手書きノートアプリケーションプログラム２０２は、上述の手書き文書を作成および表示する機能、手書き文書を編集する機能を有している。
【００３３】
さらに、手書きノートアプリケーションプログラム２０２は、手書き文書に対応するデータをクリップボード経由で他の各種アプリケーションプログラムに送るためのコピー機能を備えている。しかし、他の各種アプリケーションプログラムは手書きデータ（ストロークデータ）を扱うための能力を有していない可能性がある。したがって、たとえ手書きによって入力される複数のストロークに対応する複数のストロークデータを含む手書きデータそのものをクリップボードに格納しても、他のアプリケーションプログラムは、その手書きデータを活用しにくい場合がある。
【００３４】
そこで、本実施形態では、手書き文書のコピーが要求された場合、手書きノートアプリケーションプログラム２０２は、手書き文書を自動的に整形し、この整形によって得られたデータをクリップボードに格納する。この場合、整形によって得られたデータは、複数種のアプリケーションプログラムが閲覧可能なデータフォーマットのデータとしてクリップボードに格納される。
【００３５】
このように、手書き文書をクリップボードにコピーする場合には、手書きノートアプリケーションプログラム２０２は、手書き文書に対して自動整形処理を施し、自動整形処理によって得られたデータを複数種のアプリケーションプログラムが閲覧可能（又は閲覧及び編集の双方が可能な）なデータフォーマットのデータとしてクリップボードに格納する。したがって、手書き文書は他のアプリケーションプログラムで活用しやすい形式でクリップボードにコピーされる。
【００３６】
複数種のアプリケーションプログラムが閲覧可能なデータフォーマットのデータとしては、よく知られた様々なデータフォーマット（ファイルフォーマットとも云う）を使用することが出来る。複数種のアプリケーションプログラムが閲覧可能なデータフォーマットのデータの例には、例えば、テキスト、マークアップ言語で記述されたデータ（ＨＴＭＬ、ＸＭＬ等）、ベクトルデータ、イメージデータ、マイクロソフト社のワード（登録商標）のデータ、マイクロソフト社のエクセル（登録商標）のデータ、マイクロソフト社のパワーポイント（登録商標）のデータ、等がある。
【００３７】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３８】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００３９】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。タッチパネル１７Ｂ、ＬＣＤ１７Ａおよびデジタイザ１７Ｃは互いに重ね合わされている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン（デジタイザペン）１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４０】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００４１】
図６は、手書きノートアプリケーションプログラム２０２の機能構成を示す。
【００４２】
手書きノートアプリケーションプログラム２０２は、手書き文書を扱うことが可能なアプリケーションである。この手書きノートアプリケーションプログラム２０２は、表示処理部３０１、時系列情報生成部３０２、ページ保存処理部３０６、ページ取得処理部３０７、およびコピー／ペースト処理部３０８等を備える。
【００４３】
手書きノートアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書き文書（手書きページ）の作成、表示、編集等を行う。タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００４４】
表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ（接触）」、「移動（スライド）」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ（接触）」イベントには、ペン１００の接触位置の座標が含まれている。「移動（スライド）」イベントには、ペン１００の移動先の接触位置の座標が含まれている。したがって、表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から接触位置の動きの軌跡に対応する座標列を受信することができる。
【００４５】
表示処理部３０１は、手書きによって入力される複数のストロークに対応する複数のストロークデータを含む手書き文書をタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。この表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信する。そして、この座標列に基づいて、表示処理部３０１は、ペン１００等を使用した手書き入力操作によって入力される複数のストロークをＬＣＤ１７Ａの画面上に表示する。
【００４６】
さらに、表示処理部３０１は、コピー／ペースト処理部３０８によって手書きノートアプリケーションプログラム２０２にペーストとされる各種データ（手書きデータ、イメージデータ、他の各種コンテンツ）をＬＣＤ１７Ａの画面（編集画面）上に表示することもできる。
【００４７】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信する。この座標列に基づいて、時系列情報生成部３０２は、上述の複数のストロークに対応する複数のストロークデータを含む時系列情報（手書きデータ）を生成する。これらストロークデータ、つまり各ストロークの各点に対応する座標は作業メモリ４０１に一時保存してもよい。
【００４８】
ページ保存処理部３０６は、作成中の手書きページ上の複数の手書きストロークに対応する複数のストロークデータを含む手書きデータを記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスであってもよいし、サーバコンピュータ２のストレージデバイスであってもよい。この手書き文書は、他のアプリケーションプログラム等から取得される各種コンテンツを含んでいても良い。
【００４９】
ページ取得処理部３０７は、記憶媒体４０２から任意の手書きデータを読み出す。この読み出された手書きデータは表示処理部３０１に送られる。表示処理部３０１は、読み出された手書きデータに含まれる複数のストロークデータに対応する複数のストロークを画面上に表示する。
【００５０】
コピー／ペースト処理部３０８は、ユーザによって手書き文書のコピーが要求された場合、現在表示されている手書き文書に対応するデータをクリップボード７０１に格納するための処理を実行する。クリップボード７０１は、アプリケーションプログラム間でデータを交換するための一時記憶領域である。コピー／ペースト処理部３０８は、整形処理部３０８Ａを備える。この整形処理部３０８Ａは、上述の自動整形処理を実行する。
【００５１】
すなわち、整形処理部３０８Ａは、手書き文書内の手書き文字列、手書きの図形、手書きの表を認識し、これら手書き文字列、手書きの図形、手書きの表を整形する。この整形の処理においては、整形処理部３０８Ａは、手書き文字列をテキストデータに変換することができる。また、整形処理部３０８Ａは、手書きの図形を、その手書きの図形に対応する形状を有する図形オブジェクトデータに変換することができる。さらに、整形処理部３０８Ａは、手書きの表を、その手書きの表に対応するセル群を有する表オブジェクトデータに変換することができる。
【００５２】
コピー／ペースト処理部３０８は、手書き文書を整形処理部３０８Ａによって整形することによって得られたデータ（整形結果データ）を、クリップボード７０１に格納する。この場合、コピー／ペースト処理部３０８は、整形結果データを、複数種のアプリケーションプログラムが閲覧可能なデータフォーマットを有するデータ（電子文書データ）に変換してもよい。
【００５３】
このように、手書き文書を整形することによって得られるデータが複数種のアプリケーションプログラムが閲覧可能（又は閲覧及び編集可能な）なデータフォーマットのデータとしてクリップボード７０１に格納されるため、手書き文書の内容を他のアプリケーションプログラムで容易に活用することが可能となる。
【００５４】
しかし、手書き文字列、手書きの図形、手書きの表のような各種手書きオブジェクトは、手書きノートアプリケーションプログラム２０２によって作成される手書き文書（手書きページ）間で交換される場合もある。
【００５５】
手書きページ間における手書きオブジェクトの交換は、例えば、ある手書きページの一部の内容のコピーを他の手書きページ上にペーストする場合などに必要とされる。手書きページ間における手書きオブジェクトの交換においては、手書きオブジェクトの整形結果では無く、手書きオブジェクトに対応するストロークデータ群を含む手書きデータそのそのものを交換することが好ましい。
【００５６】
そこで、本実施形態では、手書き文書のコピーが要求された場合、コピー／ペースト処理部３０８は、手書き文書の整形結果をクリップボード７０１に格納するだけで無く、手書き文書に対応する手書きデータそのものを内部バッファ７０２に格納する処理も実行する。
【００５７】
手書き文書に対応する手書きデータは、その手書き文書内の複数のストロークに対応する複数のストロークデータを含むデータである。内部バッファ７０２は、クリップボード７０１とは異なる一時記憶領域である。
【００５８】
ユーザによって手書きノートアプリケーションプログラム２０２の編集画面へのデータのペーストが要求された場合、コピー／ペースト処理部３０８は、クリップボード７０１または内部バッファ７０２のいずれか一方の一時記憶領域を自動的に選択する。そして、選択された一時記憶領域内の最新データ、つまり選択された一時記憶領域に最後に格納されたデータを、編集画面にペーストする。クリップボード７０１または内部バッファ７０２のいずれか一方の一時記憶領域を自動的に選択するための処理においては、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データに対応する更新時間と、内部バッファ７０２内の最新データに対応する更新時間とを比較する。
【００５９】
クリップボード７０１内の最新データに対応する更新時間は、この最新データがクリップボード７０１にコピーされた時間を示す。この更新時間はこの最新データに付加されたタイムスタンプによって示されてもよい。このタイムスタンプは、最新データのファイル名の一部としてこの最新データに付加されてもよい。
【００６０】
内部バッファ７０２内の最新データに対応する更新時間は、この最新データが内部バッファ７０２にコピーされた時間を示す。この更新時間も、この最新データに付加されたタイムスタンプによって示されてもよい。
【００６１】
そして、これら更新時間間の比較結果に応じて、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データまたは内部バッファ７０２内の最新データの何れか一方を、編集画面にペーストする。
【００６２】
手書きノートアプリケーションプログラム２０２がアクティブ状態である期間中にユーザがコピー操作を行った場合は、上述したように、手書きデータに対応する整形結果がクリップボード７０１にコピーされると共に、手書きデータが内部バッファにコピーされる。したがって、この時点においては、つまり、手書き文書の整形結果がクリップボード７０１にコピーされた後に他のアプリケーションプログラムによってクリップボード７０１に新たなデータがコピーされていないので、クリップボード７０１内の最新データ（手書き文書の整形結果）に対応する更新時間と、内部バッファ７０２内の最新データ（手書きデータ）に対応する更新時間は等しい。この場合、コピー／ペースト処理部３０８は、内部バッファ７０２を選択し、内部バッファ７０２内の最新データを編集画面にペーストする。これにより、整形結果ではなく、目的の手書きデータを編集画面（手書きページ）にペーストすることができる。
【００６３】
一方、手書き文書の整形結果がクリップボード７０１にコピされた後に他のアプリケーションプログラムによってクリップボード７０１に新たなデータがコピーされた場合には、クリップボード７０１内の最新データに対応する更新時間は、内部バッファ７０２内の最新データに対応する更新時間よりも遅い。
【００６４】
この場合、コピー／ペースト処理部３０８は、クリップボード７０１を選択し、クリップボード７０１内の最新データを編集画面（手書きページ）にペーストする。これにより、他のアプリケーションに対応する目的のデータを編集画面（手書きページ）にペーストすることができる。
【００６５】
図７は、編集画面の例を示す。
【００６６】
編集画面は、手書き入力可能な画面である。この編集画面は、手書き文書（手書きページ）の新規作成、および既存の手書き文書の閲覧および編集のために使用される。この編集画面において、破線で囲まれた矩形の領域５００は手書き可能な手書き入力エリアである。
【００６７】
手書き入力エリア５００においては、デジタイザ１７Ｃからの入力イベントは手書きストロークの表示（描画）のために使用される。編集画面は、さらに、ユーザによって予め登録された３種類のペン５０１〜５０３と、範囲選択ペン５０４、消しゴムペン５０５とを含むクイックセレクトメニューを表示する。ここでは、黒ペン５０１、赤ペン５０２、マーカー５０３がユーザによって予め登録されている場合が想定されている。ユーザは、ペン１００または指でクイックセレクトメニュー内のあるペン（ボタン）をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン５０１がユーザによるペン１００または指を使用したタップジェスチャによって選択された状態で、ペン１００を用いた手書き入力操作が編集画面上で行われると、手書きノートアプリケーションプログラム２０２は、ペン１００の動きに合わせて黒色のストローク（軌跡）をページ編集画面上に表示する。
【００６８】
編集画面は、さらに、メニューボタン５１１、ページ戻しボタン５１２、ページ送りボタン５１３を表示する。メニューボタン５１１はメニューを表示するためのボタンである。
【００６９】
手書き文書６００は、上述したように、手書きによって入力される複数のストロークを含む。また、手書き文書６００は、他のアプリケーションプログラムのデータ（例えばイメージデータ等）を含んでいても良い。図７においては、手書き文書６００は、罫線が描かれた背景と、この背景上に表示された複数のストロークとを含む。これらストロークは、手書き文字列に対応するストローク群６０１と、手書きの矢印図形に対応するストローク群６０２と、手書きの表に対応するストローク群６０４とを含む。さらに、手書き文書６００は、イメージデータ６０３を含んでいても良い。
【００７０】
メニューボタン５１１がペン１００または指によってタップされると、図８に示すように、コピーボタン６１１、ペーストボタン６１２が編集画面上に表示される。コピーボタン６１１は、編集画面上の手書き文書に対応するデータをクリップボード７０１にコピーすべきことを指示するためのボタンである。ペーストボタン６１２は、コピーされたデータを編集画面にペーストすべきことを指示するためのボタンである。
【００７１】
図９は、手書きノートアプリケーションプログラム２０２によって実行されるコピー処理を示す。
【００７２】
コピー処理は、コピーボタン６１１がペン１００または指によってタップされた時に開始される。なお、編集画面上に表示されるソフトウェアキーボードを使用してユーザによって「Ｃｔｒｌ＋Ｃ」のショートカットキー操作が行われた場合も、コピー処理が開始される。
【００７３】
コピー処理においては、コピー／ペースト処理部３０８は、手書き文書６００内の手書き文字、手書きの図形、手書きの表を認識することによって手書き文書６００を整形するための処理を実行する。この整形の処理においては、以下の処理の少なくとも１つが実行される。
【００７４】
（１）手書き文書６００内の手書き文字列をテキストデータに変換する処理
（２）手書き文書６００内の手書きの図形を図形オブジェクトデータに変換する処理
（３）手書き文書内６００の手書きの表を表オブジェクトデータに変換する処理
手書き文書６００を整形することによって得られる整形データ６００Ｂは、コピー／ペースト処理部３０８によってクリップボード７０１に格納される。整形データ６００Ｂは、手書き文字列に対応する整形結果であるテキストデータ６０１Ｂと、手書きの矢印に対応する整形結果である矢印図形オブジェクトデータ６０２Ｂと、イメージデータ６０３と、手書きの表に対応する整形結果である表オブジェクトデータ６０４Ｂとを含む。整形データ６００Ｂは、複数種のアプリケーションプログラムによって使用可能なデータフォーマットを有するデータとしてクリップボード７０１に格納される。
【００７５】
この場合、テキストデータ６０１Ｂ、矢印図形オブジェクトデータ６０２Ｂ、イメージデータ６０３、および表オブジェクトデータ６０４Ｂは、これらデータを統合可能なデータフォーマットを有するデータ（例えばＸＭＬデータ）としてクリップボード７０１に格納されてもよい。このＸＭＬデータは幾つかのデータを含むパッケージデータであってもよい。パッケージデータは、イメージデータ６０３を格納するフォルダと、別のフォルダとを含み得る。別のフォルダは、ＸＭＬファィルを格納しても良い。このＸＭＬファィルは、テキストデータ６０１Ｂの内容が記述された要素と、矢印図形オブジェクトデータ６０２Ｂを示す要素と、表オブジェクトデータ６０４Ｂを示す要素と、イメージデータ６０３のパスを示す要素とを含んでいても良い。
【００７６】
あるいは、テキストデータ６０１Ｂ、矢印図形オブジェクトデータ６０２Ｂ、イメージデータ６０３、および表オブジェクトデータ６０４Ｂは、それぞれテキストデータ、ベクトルデータ、イメージデータ、スプレットシートデータとして個別にクリップボード７０１に格納されてもよい。
【００７７】
さらに、コピー処理においては、コピー／ペースト処理部３０８は、手書き文書６００に対応する手書きデータ６００Ａを内部バッファ７０２に格納する処理も実行する。
【００７８】
この場合、背景を除く手書き文書６００に対応する手書きデータ６００Ａが内部バッファ７０２に格納される。手書きデータ６００Ａは、手書き文字列を構成するストローク群６０１に対応するストロークデータ群と、手書きの矢印図形を構成するストローク群６０２に対応するストロークデータ群と、イメージデータ６０３と、手書きの表を構成するストローク群６０４に対応するストロークデータ群とを含む。
【００７９】
なお、ここでは、手書き文書６００全体に対応する整形データと手書き文書６００全体に対応する手書きデータとをコピーする場合を例示したが、ユーザによって行われる範囲選択操作によって指定される手書き文書６００内の一部分に対応する整形データとこの一部分に対応する手書きデータとをコピーしてもよい。
【００８０】
図１０は、手書きノートアプリケーションプログラム２０２によって実行される、内部バッファ７０２からデータをペーストする処理を示す。
【００８１】
ペースト処理は、ペーストボタン６１２がペン１００または指によってタップされた時に開始される。なお、編集画面上に表示されるソフトウェアキーボードを使用してユーザによって「Ｃｔｒｌ＋Ｖ」のショートカットキー操作が行われた場合も、ペースト処理が開始される。
【００８２】
ペースト処理においては、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データＡのタイムスタンプＴ１（更新時間）と内部バッファ７０２内の最新データＢのタイムスタンプＴ２（更新時間）とを比較する。
【００８３】
タイムスタンプＴ１によって示される更新時間がタイムスタンプＴ２によって示される更新時間とほぼ等しい場合、図１０に示されているように、コピー／ペースト処理部３０８は、内部バッファ７０２を選択する。そして、コピー／ペースト処理部３０８は、内部バッファ７０２内の最新データＢを編集画面上の手書き文書（手書きページ）にペーストする。
【００８４】
一方、タイムスタンプＴ１によって示される更新時間がタイムスタンプＴ２によって示される更新時間よりも遅い場合には、図１１に示されているように、コピー／ペースト処理部３０８は、クリップボード７０１を選択する。そして、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データＡを編集画面上の手書き文書（手書きページ）にペーストする。
【００８５】
手書き文書に適用される整形方法は、この手書き文書がクリップボード７０１経由でペーストされる対象のアプリケーションプログラムの種類に応じて変更することも出来る。
【００８６】
この場合、図１２に示されているように、コピーボタン６１１がタップされた場合に、ユーザに対象のアプリケーションプログラムを選択させるための幾つかのボタンが表示されても良い。図１２においては、「プレゼンテーションアプリケーション」ボタン６１１Ａ、「文書作成アプリケーション」ボタン６１１Ｂ、「表計算アプリケーション」ボタン６１１Ｃが表示される場合が例示されている。コピー／ペースト処理部３０８は、「プレゼンテーションアプリケーション」ボタン６１１Ａ、「文書作成アプリケーション」ボタン６１１Ｂ、「表計算アプリケーション」ボタン６１１Ｃのいずれがユーザによってタップされるかに応じて、手書き文書を整形すめたに使用する整形方法を複数種の整形方法間で切り換えることが出来る。
【００８７】
例えば、整形対象の手書き文書は、テキスト、表、テキストボックスのいずれにも変換可能な手書き文書部分を含む場合がある。このような手書き文書部分の例には、（１）幾つかの見出しに対応する手書き文字列と各見出しの内容に対応する手書き文字列とを含む手書き文書部分、（２）箇条書きされた幾つかの手書き文字列を含む手書き文書部分、などがある。
【００８８】
いま、図１３の手書き文書８００を整形する場合を想定する。手書き文書８００はテキスト、表、テキストボックスのいずれにも変換可能な手書き文書である。
【００８９】
「文書作成アプリケーション」ボタン６１１Ｂがユーザによって選択された場合、コピー／ペースト処理部３０８は、手書き文字列をテキストデータに変換するための整形方法を使用して、手書き文書８００を整形してもよい。この場合、手書き文書８００は、図１３の左下部に示されているテキストデータ８００Ａに変換される。
【００９０】
「表計算アプリケーション」ボタン６１１Ｃがユーザによって選択された場合、コピー／ペースト処理部３０８は、幾つかの手書き文字列を表の幾つかのセルに変換するための整形方法を使用して、手書き文書８００を整形してもよい。この場合、手書き文書８００は、図１３の右下部に示されている表オブジェクトデータ８００Ｂに変換される。
【００９１】
「プレゼンテーションアプリケーション」ボタン６１１Ａがユーザによって選択された場合、コピー／ペースト処理部３０８は、各手書き文字列をテキストボックスに変換するための整形方法を使用して、手書き文書８００を整形してもよい。この場合、手書き文書８００内の各文字列は、図１４に示されているように、テキストボックスデータに変換される。
【００９２】
図１５のフローチャートは、コピー／ペースト処理部３０８によって実行されるコピー処理の手順を示す。  
手書き文書のコピーが要求された場合、例えば、ユーザによってコピーボタン６１１がタップされた場合、コピー／ペースト処理部３０８は、編集画面上の手書き文書を認識することによって手書き文書を整形する（ステップＳ１０１）。ステップＳ１０１では、手書き文書内の各手書きオブジェクト（手書き文字列、手書きの図形、手書きの表、等）が認識及び整形される。そして、手書き文字列はテキストデータに変換され、手書きの図形は図形オブジェクトデータに変換され、手書きの表は表オブジェクトデータに変換される。
【００９３】
そして、コピー／ペースト処理部３０８は、手書き文書を整形することによって得られる整形データを、複数種のアプリケーションプログラムによって使用可能な第１データフォーマットを有するデータに変換する（ステップＳ１０２）。
【００９４】
コピー／ペースト処理部３０８は、第１データフォーマットを有するデータ（整形データ）をクリップボード７０１に格納する（ステップＳ１０３）。ステップＳ１０３では、さらに、コピー／ペースト処理部３０８は、手書き文書に対応する手書きデータ、つまり複数のストロークデータを含む手書きデータを、内部バッファ７０２に格納する。
【００９５】
図１６のフローチャートは、コピー／ペースト処理部３０８によって実行されるペースト処理の手順を示す。  
手書き入力可能な編集画面へのデータのペーストが要求された場合、例えば、ユーザによってペーストボタン６１２がタップされた場合、コピー／ペースト処理部３０８は、まず、内部バッファ７０２内にデータがあるか否かを判定する（ステップＳ１１１）。
【００９６】
内部バッファ７０２内にデータが存在しないならば（ステップＳ１１１のＮＯ）、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データを編集画面（手書きページ）にペーストする（ステップＳ１１５）。
【００９７】
内部バッファ７０２内にデータが存在するならば（ステップＳ１１１のＹＥＳ）、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データのタイムスタンプＴ１と内部バッファ７０２内の最新データのタイムスタンプＴ２とを比較する（ステップＳ１１２）。
【００９８】
タイムスタンプＴ１がタイムスタンプＴ２よりも大きいならば、つまりクリップード７０１内の最新データに対応する更新時間が内部バッファ７０２内の最新データに対応する更新時間よりも遅いならば（ステップＳ１１３のＹＥＳ）、コピー／ペースト処理部３０８は、クリップボード７０１内の最新データを編集画面（手書きページ）にペーストする（ステップＳ１１５）。
【００９９】
一方、タイムスタンプＴ１がタイムスタンプＴ２とほぼ等しいならば（ステップＳ１１３のＮＯ）、コピー／ペースト処理部３０８は、内部バッファ７０２内の最新データを編集画面（手書きページ）にペーストする（ステップＳ１１４）。
【０１００】
図１７のフローチャートは、コピー／ペースト処理部３０８によって実行されるコピー処理の他の手順を示す。
【０１０１】
手書き文書のコピーが要求された場合、例えば、ユーザによってコピーボタン６１１がタップされた場合、コピー／ペースト処理部３０８は、コピー処理を開始する。コピー／ペースト処理部３０８は、手書き文書を利用するアプリケーションプログラムの種類、つまりクリップボード７０１を介して手書き文書に対応するデータがペーストとされる対象のアプリケーションプログラムの種類を特定するための処理を実行する（ステップＳ１２１）。ステップＳ１２１では、コピー／ペースト処理部３０８は、図１２に示す幾つかのボタン１６１Ａ、１６１Ｂ、１６１Ｃ…を表示し、対象のアプリケーションプログラムの種類を指定すべきことをユーザに促してもよい。
【０１０２】
なお、ユーザによっては、ある特定の種類のアプリケーションプログラムのみを手書き文書を利用するアプリケーションプログラムとして常に使用する場合もある。したがって、対象のアプリケーションプログラムの種類を予め設定するための設定処理を実行するようにしてもよい。この場合、コピー／ペースト処理部３０８は、設定ファイルを参照することによって、手書き文書を利用するアプリケーションプログラムの種類を特定することが出来る。
【０１０３】
そして、コピー／ペースト処理部３０８は、特定されたアプリケーションプログラムの種類に対応する整形方法を使用して、手書き文書の整形処理を実行する（ステップＳ１２２）。ステップＳ１２２では、特定されたアプリケーションプログラムの種類が第１種類のアプリケーションプログラムである場合、コピー／ペースト処理部３０８は、第１種類のアプリケーションプログラムに対応する第１整形方法を使用して手書き文書を整形する。また、特定されたアプリケーションプログラムの種類が第２種類のアプリケーションプログラムである場合、コピー／ペースト処理部３０８は、第１整形方法と異なる第２整形方法を使用して手書き文書を整形する。第２整形方法は、第２種類のアプリケーションプログラムに対応する整形方法である。
【０１０４】
次いで、コピー／ペースト処理部３０８は、手書き文書を整形することによって得られる整形データを、複数種のアプリケーションプログラムによって使用可能な第１データフォーマットを有するデータに変換する（ステップＳ１２３）。コピー／ペースト処理部３０８は、第１データフォーマットを有するデータ（整形データ）をクリップボード７０１に格納する（ステップＳ１２４）。ステップＳ１２４では、さらに、コピー／ペースト処理部３０８は、手書き文書に対応する手書きデータ、つまり複数のストロークデータを含む手書きデータを、内部バッファ７０２に格納する。
【０１０５】
以上説明したように、本実施形態においては、手書き文書に対応する手書きデータ（複数のストロークデータ）そのものではなく、手書き文書（手書き文字列、手書きの図形、手書きの表、等）を整形することによって得られるデータがクリップボード７０１に格納される。よって、手書き文書を他のアプリケーションプログラムで活用しやすくすることができる。
【０１０６】
さらに、内部バッファ７０２には手書き文書に対応する手書きデータ（複数のストロークデータ）そのものが格納されるので、手書き文書間で手書きデータを効率よく共有することが出来る。
【０１０７】
また、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０８】
このコンピュータプログラムがインストールされたコンピュータ内のＣＰＵは上述の筆跡推薦処理を実行するように構成されたプロセッサとして機能し得る。このコンピュータ内のＧＰＵはストロークそれぞれを画面上に表示するように構成された表示プロセッサとして機能し得る。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2015138494.tif 000003
【図２】
2015138494.tif 000004
【図３】
2015138494.tif 000005
【図４】
2015138494.tif 000006
【図５】
2015138494.tif 000007
【図６】
2015138494.tif 000008
【図７】
2015138494.tif 000009
【図８】
2015138494.tif 000010
【図９】
2015138494.tif 000011
【図１０】
2015138494.tif 000012
【図１１】
2015138494.tif 000013
【図１２】
2015138494.tif 000014
【図１３】
2015138494.tif 000015
【図１４】
2015138494.tif 000016
【図１５】
2015138494.tif 000017
【図１６】
2015138494.tif 000018
【図１７】
2015138494.tif 000019