(57)【要約】【課題】手書きストロークを含む電子文書を見やすく表示することができる電子機器を実現する。【解決手段】実施形態によれば、電子機器は、表示処理手段と、処理手段とを具備する。表示処理手段は、電子文書を第１スタイルで表示する。前記電子文書は前記電子文書の第１要素に関連づけられた手書きストロークを含み、前記手書きストロークは前記第１スタイルの前記電子文書内の第１領域に表示され、前記第１要素に対する前記第１領域の位置は第１相対位置である。前記処理手段は、前記電子文書を第２スタイルで表示し、前記手書きストロークの表示位置を前記第１領域から前記第２スタイルの前記電子文書内の第２領域に変更する。前記第２スタイルの前記電子文書における前記第１要素に対する前記第２領域の位置は、前記第１相対位置と異なる第２相対位置である。【選択図】図９
2015049604.tif 000002
【特許請求の範囲】
【請求項１】
電子文書を第１スタイルで表示する表示処理手段であって、前記電子文書は前記電子文書の第１要素に関連づけられた手書きストロークを含み、前記手書きストロークは前記第１スタイルの前記電子文書内の第１領域に表示され、前記第１要素に対する前記第１領域の位置は第１相対位置である、表示処理手段と、
前記電子文書を前記第１スタイルと異なる第２スタイルで表示し、前記手書きストロークの表示位置を前記第１領域から前記第２スタイルの前記電子文書内の第２領域に変更する処理手段とを具備し、
前記第２スタイルの前記電子文書における前記第１要素に対する前記第２領域の位置は、前記第１相対位置と異なる第２相対位置である、電子機器。
【請求項２】
前記処理手段は、前記第２スタイルの前記電子文書上に、前記第１要素と前記手書きストロークとの間の関連性を表す追加の情報を表示する請求項１記載の電子機器。
【請求項３】
前記追加の情報は、前記手書きストロークと前記第１要素との間に延びる線を含む請求項２記載の電子機器。
【請求項４】
前記追加の情報は、前記手書きストロークから前記第１要素に延びる矢印を含む請求項２記載の電子機器。
【請求項５】
前記第２領域は、前記第２スタイルの前記電子文書内の隣接する要素間に位置する空き領域の一部である請求項１記載の電子機器。
【請求項６】
前記第２領域は、前記第２スタイルの前記電子文書内の余白領域の一部である請求項１記載の電子機器。
【請求項７】
電子文書を処理する方法であって、
前記電子文書を第１スタイルで表示することであって、前記電子文書は前記電子文書の第１要素に関連づけられた手書きストロークを含み、前記手書きストロークは前記第１スタイルの前記電子文書内の第１領域に表示され、前記第１要素に対する前記第１領域の位置は第１相対位置である、表示することと、
前記電子文書を前記第１スタイルと異なる第２スタイルで表示することと、
前記手書きストロークの表示位置を前記第１領域から前記第２スタイルの前記電子文書内の第２領域に変更することとを具備し、
前記第２スタイルの前記電子文書における前記第１要素に対する前記第２領域の位置は、前記第１相対位置と異なる第２相対位置である、方法。
【請求項８】
前記第２スタイルの前記電子文書上に、前記第１要素と前記手書きストロークとの間の関連性を表す追加の情報を表示することをさらに具備する請求項７記載の方法。
【請求項９】
前記追加の情報は、前記手書きストロークと前記第１要素との間に延びる線を含む請求項８記載の方法。
【請求項１０】
前記追加の情報は、前記手書きストロークから前記第１要素に延びる矢印を含む請求項８記載の方法。
【請求項１１】
前記第２領域は、前記第２スタイルの前記電子文書内の隣接する要素間に位置する空き領域の一部である請求項７記載の方法。
【請求項１２】
前記第２領域は、前記第２スタイルの前記電子文書内の余白領域の一部である請求項７記載の方法。
【請求項１３】
コンピュータによって実行されるプログラムであって、
電子文書を第１スタイルで表示する手順であって、前記電子文書は前記電子文書の第１要素に関連づけられた手書きストロークを含み、前記手書きストロークは前記第１スタイルの前記電子文書内の第１領域に表示され、前記第１要素に対する前記第１領域の位置は第１相対位置である、手順と、
前記電子文書を前記第１スタイルと異なる第２スタイルで表示する手順と、
前記手書きストロークの表示位置を前記第１領域から前記第２スタイルの前記電子文書内の第２領域に変更する手順とを前記コンピュータに実行させ、
前記第２スタイルの前記電子文書における前記第１要素に対する前記第２領域の位置は、前記第１相対位置と異なる第２相対位置である、プログラム。
【請求項１４】
前記第２スタイルの前記電子文書上に、前記第１要素と前記手書きストロークとの間の関連性を表す追加の情報を表示する手順を前記コンピュータにさらに実行させる請求項１３記載のプログラム。
【請求項１５】
前記追加の情報は、前記手書きストロークと前記第１要素との間に延びる線を含む請求項１４記載のプログラム。
【請求項１６】
前記追加の情報は、前記手書きストロークから前記第１要素に延びる矢印を含む請求項１４記載のプログラム。
【請求項１７】
前記第２領域は、前記第２スタイルの前記電子文書内の隣接する要素間に位置する空き領域の一部である請求項１３記載のプログラム。
【請求項１８】
前記第２領域は、前記第２スタイルの前記電子文書内の余白領域の一部である請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、手書きストロークを含む電子文書を処理する技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器は、様々な電子文書、例えば、ウェブページ、電子書籍、他の様々なフォーマットの文書等、を閲覧するためのツールとして広く利用されている。
【０００３】
電子文書の中には、リフロー可能な電子文書がある。リフロー可能な電子文書に関しては、その電子文書が表示されるスタイルを画面サイズ等に合わせて調整することが出来る。例えば、ユーザによって閲覧ソフトウェアのウィンドウサイズが変更された時、または電子機器の表示モードがランドスケープモードとポートレートモードとの間で切り換えられた時などに、閲覧中の電子文書は現在の画面サイズに適合するようにリフロー（再配置）される。
【０００４】
上述のリフローの機能は、電子文書の見やすさを高めることを可能とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−４７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、電子文書内のある要素に関連づけられた手書きストロークを含む電子文書をリフローする場合には、その要素の移動先位置に応じて手書きストロークを単純に移動すると、手書きストロークが電子文書内の他の要素に重なってしまい、これによって電子文書の視認性が低下される場合がある。
【０００７】
本発明の一形態の目的は、手書きストロークを含む電子文書を見やすく表示することができる電子機器および表示処理方法を提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、電子機器は、表示処理手段と、処理手段とを具備する。前記表示処理手段は、電子文書を第１スタイルで表示する。前記電子文書は前記電子文書の第１要素に関連づけられた手書きストロークを含み、前記手書きストロークは前記第１スタイルの前記電子文書内の第１領域に表示され、前記第１要素に対する前記第１領域の位置は第１相対位置である。前記処理手段は、前記電子文書を前記第１スタイルと異なる第２スタイルで表示し、前記手書きストロークの表示位置を前記第１領域から前記第２スタイルの前記電子文書内の第２領域に変更する。前記第２スタイルの前記電子文書における前記第１要素に対する前記第２領域の位置は、前記第１相対位置と異なる第２相対位置である。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る電子機器の外観を示す斜視図。
【図２】同実施形態の電子機器と外部装置との連携動作を示す図。
【図３】同実施形態の電子機器のタッチスクリーンディスプレイ上に表示されるウェブページに直接的に手書きされる注釈の例を示す図。
【図４】同実施形態の電子機器のタッチスクリーンディスプレイ上に表示される電子書籍上に直接的に手書きされる注釈の例を示す図。
【図５】同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書きオブジェクトの例を示す図。
【図６】同実施形態の電子機器によって記憶媒体に保存される、図５の手書きオブジェクトに対応する時系列情報を説明するための図。
【図７】同実施形態の電子機器のシステム構成を示すブロック図。
【図８】同実施形態の電子機器によって実行されるブラウザアプリケーションプログラムの機能構成を示すブロック図。
【図９】リフロー前の電子文書上の手書き注釈の表示位置とリフロー後の電子文書上の手書き注釈の表示位置との関係の例を説明するための図。
【図１０】電子文書のリフローによって手書き注釈の一部が見えなくなる様子を説明するための図。
【図１１】リフロー前の電子文書上の手書き注釈の表示位置とリフロー後の電子文書上の手書き注釈の表示位置との関係の別の例を説明するための図。
【図１２】同実施形態の電子機器によって実行される表示処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能な携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器である。このタブレットコンピュータ１０は、様々な電子文書（デジタル文書）、例えば、ウェブページ、電子書籍、他の様々なフォーマットの文書ファイル等、を閲覧するための端末として機能し得る。このタブレットコンピュータ１０は、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１１】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１２】
このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えばデジタイザペン（電磁誘導ペン）であってもよい。
【００１３】
ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストローク（手書きストロークの軌跡）がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１つのストロークに相当する。
【００１４】
本実施形態では、ウェブページのような電子文書上に手書きオブジェクト（例えば、手書き文字、手書き図形、手書きマーク、等）を手書き入力操作によって直接的に書くことが出来る。電子文書上に手書きされた手書きオブジェクトは注釈（手書き注釈）として利用される。
【００１５】
すなわち、タブレットコンピュータ１０にインストールされているウェブブラウザアプリケーションプログラムは、手書きエンジンを備えている。この手書きエンジンは、手書き入力に応じて画面上に描画を行うように構成された描画部と、指又はペン１００を使用して行われる画面上の様々なジェスチャを検出するように構成されたジェスチャ検出部とを備えている。手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストローク（手書きストロークの軌跡）がリアルタイムにウェブページ上に直接的に描画され、これによって手書きにより入力された複数の手書きストローク（手書きストロークの軌跡）がウェブページ上に手書き注釈として表示される。ウェブブラウザアプリケーションプログラムは、ＨＴＭＬのようなマークアップ言語を用いて作成された電子文書（ウェブページ）のみならず、ｅＰｕｂフォーマット等を有する電子書籍を閲覧することも出来る。さらに、ウェブブラウザアプリケーションプログラムは、ウェブページだけでなく、手書き入力操作に応じて電子書籍上に手書き注釈を直接的に書くこともできる。
【００１６】
図２は、タブレットコンピュータ１０と外部装置との連携動作の例を示している。タブレットコンピュータ１０は、パーソナルコンピュータ１やクラウドと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００１７】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、手書き注釈が書かれた電子文書をネットワーク越しにパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤから、手書き注釈が書かれた電子文書を読み出し（ダウンロード）、手書き注釈が書かれた電子文書をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。
【００１８】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ２であってよい。タブレットコンピュータ１０は、手書き注釈が書かれた電子文書をネットワーク越しにサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａから、手書き注釈が書かれた電子文書を読み出して（ダウンロード）、手書き注釈が書かれた電子文書をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。
【００１９】
このように、本実施形態では、手書き注釈が書かれた電子文書が保存される記憶媒体は、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００２０】
通常、電子文書は複数の要素を含む。手書き注釈は電子文書内の任意の要素に関連づけられる。電子文書がウェブページの場合においては、手書き注釈が関連づけられる要素は、ウェブページに含まれる階層化された複数の要素内の任意の一つの要素であってもよいし、この任意の一つの要素内の一部分（例えば文字列等）であってもよい。電子文書が電子書籍の場合においては、手書き注釈が関連づけられる要素は、電子書籍内の任意の段落のテキストであってもよいし、この任意の段落のテキストの一部分（例えば文字列等）であってもよい。
【００２１】
図３は、タッチスクリーンディスプレイ１７上に表示されるウェブページに直接的に手書きされる注釈の例を示す。  
ユーザは、ペン１００を使用して、ウェブページ上の任意の位置に、つまり画面上の任意の位置に、手書き注釈（手書きメモ）を書くことが出来る。図３においては、手書き文字列「Ｉｍｐｏｒｔａｎｔ」がウェブページ上に手書きされた例が想定されている。さらに、ウェブページ上には、手書きの矢印も書かれている。
【００２２】
この手書きの矢印は、手書き文字列「Ｉｍｐｏｒｔａｎｔ」とウェブページ内のある要素（ここでは、この要素内の文字列「Ｔａｂｌｅｔ」）との関連性を表すための手書きオブジェクトである。この要素は、ウェブページのコンテクスト情報の一部分である。
【００２３】
本実施形態では、上述したように、ある要素に関連づけられた手書きオブジェクトが手書き注釈（手書きメモ）として扱われる。例えば、上述の手書き文字列「Ｉｍｐｏｒｔａｎｔ」は手書きの矢印によってウェブページ内の要素（ここでは、この要素内の「Ｔａｂｌｅｔ」）に関連づけられているので、手書き文字列「Ｉｍｐｏｒｔａｎｔ」は手書き注釈（手書きメモ）として扱われる。手書き注釈として使用可能な手書きオブジェクトの例は、手書き文字、手書き図形、手書きマーク、手書きの表、あるいはこれらの任意の組み合わせを含む。以下では、手書き注釈が関連づけられた要素（コンテクスト情報部分）をアンカー要素と称する。
【００２４】
図４は、タッチスクリーンディスプレイ１７上に表示される電子書籍に直接的に手書きされる注釈の例を示す。  
ユーザは、ペン１００を使用して、電子書籍のページ上の任意の位置に、つまり画面上の任意の位置に手書き注釈（手書きメモ）を書くことが出来る。図４においては、手書きの星マークと手書き文字列「ｇｏｏｄ」とが電子書籍のページ上に手書きされた例が想定されている。さらに、電子書籍のページ上には、手書きの矢印も書かれている。この手書きの矢印は、手書きオブジェクト（つまり手書きの星マークと手書き文字列「ｇｏｏｄ」との組）と電子書籍内のあるアンカー要素（ここでは、文字列「Ｔａｂｌｅｔ」）との関連性を表すための手書きオブジェクトである。手書きの星マークと手書き文字列「ｇｏｏｄ」の組は、手書きの矢印によって電子書籍内の要素（ここでは、文字列「Ｔａｂｌｅｔ」）に関連づけられているので、この手書きの星マークと手書き文字列「ｇｏｏｄ」の組は、手書き注釈（手書きメモ）として扱われる。
【００２５】
次に、図５および図６を参照して、ユーザによって手書きされたストローク（文字、図形、マーク、表など）と手書きデータ（時系列情報）との関係について説明する。図５は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書きオブジェクト（手書き文字列）の例を示している。
【００２６】
図５においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きによって入力された場合が想定されている。
【００２７】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００２８】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク（矢頭の軌跡、シャフトの軌跡）、つまり２つの軌跡によって表現される。
【００２９】
図６は、図５の手書きオブジェクトに対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、これらストロークが手書きされた順に時系列に並べている。
【００３０】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００３１】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００３２】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００３３】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３４】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
【００３５】
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３６】
図７は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図７に示されるように、ＣＰＵ１０１、システムコントローラ１０２、メインメモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、記録デバイス１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３７】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、不揮発性メモリのような記録デバイス１０６からメインメモリ１０３にロードされる各種プログラムを実行する。ＣＰＵ１０１により実行されるプログラムには、オペレーティングシステム（ＯＳ）２０１と、様々なアプリケーションプログラムが含まれている。アプリケーションプログラムには、ブラウザアプリケーションプログラム２０２等が含まれている。
【００３８】
ブラウザアプリケーションプログラム２０２は、ウェブサーバからウェブページのデータを取得する機能、ウェブページを画面に表示する機能、ウェブページ上に手書き注釈を書く機能、および画面サイズに合わせてウェブページをリフローする機能を有する。リフローは、ウェブページのスタイルを画面サイズ（ブラウザアプリケーションプログラム２０２のウィンドウサイズ）等に応じて変更するための機能である。
【００３９】
例えば、ユーザによってブラウザアプリケーションプログラム２０２のウィンドウサイズが変更された時、タブレットコンピュータ１０の表示モードがランドスケープモードとポートレートモードとの間で切り換えられた時、あるいは、ウェブページが拡大または縮小された時に、ウェブページはリフローされる。
【００４０】
本実施形態では、このウェブページのリフローの処理においては、ウェブページ自体のスタイルが変更されるだけでなく、ウェブページ内のあるアンカー要素に関連づけられた手書き注釈の位置も自動的に調整される。この場合、手書き注釈がアンカー要素と一緒に単純に移動されるのでは無く、ブラウザアプリケーションプログラム２０２は、リフローの前と後とで、アンカー要素と手書き注釈との間の相対的な位置関係が異なるように、手書き注釈を移動させる。
【００４１】
いま、リフロー前においては、つまりウェブページが第１スタイルで表示される場合において、手書き注釈が、ウェブページ内の第１領域に表示されている場合を想定する。アンカー要素に対する第１領域の位置は、第１相対位置である。
【００４２】
リフロー後においては、つまりウェブページが第１スタイルと異なる第２スタイルで表示される場合においては、手書き注釈の表示位置は、第１領域と異なる第２領域に変更される。この第２領域は、第２スタイルのウェブページ内の一部である。第２スタイルのウェブページにおいては、アンカー要素に対する第２領域の位置は、第１相対位置と異なる第２相対位置である。
【００４３】
このように、本実施形態では、リフローの前と後の間で、アンカー要素と手書き注釈との間の相対的な位置関係を固定にするのでは無く、リフローの前と後の間で、この相対的な位置関係が変更される。これにより、手書き注釈を、どの要素にも重ならない領域に容易に表示することが可能となる。第２領域は、第２スタイルのウェブページ内の隣接する要素間に位置する空き領域の一部であってもよい。また、第２領域は、第２スタイルのウェブページの余白領域の一部であってもよい。
【００４４】
このリフローの処理においては、さらに、ブラウザアプリケーションプログラム２０２は、リフロー（再配置）された手書き注釈とリフロー（再配置）されたアンカー要素との関連性を表す追加の情報（例えば、矢印、線、等）を、第２スタイルのウェブページ上に表示することもできる。
【００４５】
この追加の情報は、たとえ手書き注釈が表示される第２領域の位置がアンカー要素から比較的離れている場合でも、これら手書き注釈とアンカー要素とが関連づけられていることをユーザに提示することを可能にする。
【００４６】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００４７】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、メインメモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、シリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００４８】
グラフィクスコントローラ１０４は、タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。グラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。ＬＣＤ１７Ａの上層には、画面上の指の接触位置を検知するための第１センサとしてタッチパネル１７Ｂが配置されている。さらに、ＬＣＤ１７Ａの下層には、画面上のペン１００の接触位置を検知するための第２センサとしてデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置及び接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４９】
ＯＳ２０１は、タッチパネル１７Ｂを制御するドライバプログラムと協働して、画面上に指が接触したこと、およびその接触位置を示す入力イベントを発行する。また、ＯＳ２０１は、デジタイザ１７Ｃを制御するドライバプログラムと協働して、画面上にペン１００が接触したこと、およびその接触位置を示す入力イベントを発行する。
【００５０】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。
【００５１】
ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００５２】
次に、図８を参照して、ブラウザアプリケーションプログラム２０２の機能構成について説明する。
【００５３】
このブラウザアプリケーションプログラム２０２は、表示処理部３０１、時系列情報生成部３０２、電子文書取得処理部３０３、保存処理部３０６、および読み出し処理部３０７等を備える。
【００５４】
電子文書取得処理部３０３は、ウェブサーバまたは外部ファイルからＨＴＭＬファイルのような電子文書（ウェブページ）のデータを取得する。表示処理部３０１は、このウェブページをＬＣＤ１７Ａの画面上に表示する。
【００５５】
表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃによって発生される「タッチ（接触）」、「移動（スライド）」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ（接触）」イベントには、ペン１００の接触位置の座標が含まれている。「移動（スライド）」イベントには、ペン１００の移動先の接触位置の座標が含まれている。したがって、表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃから接触位置の動きの軌跡に対応する座標列を受信することができる。
【００５６】
同様に、表示処理部３０１および時系列情報生成部３０２は、タッチパネル１７Ｂによって発生される「タッチ（接触）」、「移動（スライド）」または「リリース」のイベントを受信することができる。「タッチ（接触）」イベントには、指の接触位置の座標が含まれている。「移動（スライド）」イベントには、指の移動先の接触位置の座標が含まれている。したがって、表示処理部３０１および時系列情報生成部３０２は、タッチパネル１７Ｂから接触位置の動きの軌跡に対応する座標列を受信することができる。
【００５７】
表示処理部３０１は、画面上のペン１００の動きに応じてデジタイザ１７Ｃから入力されるイベント群に基づき、手書きストロークを画面上につまりウェブページ上に表示可能である。すなわち、画面上のペン１００の動きの軌跡に対応する線がウェブページ上に描画される。さらに、表示処理部３０１は、画面上の指の動きに応じてタッチパネル１７Ｂから入力されるイベント群に基づき、画面上の指のジェスチャを検出可能である。画面上の指のジェスチャが検出された場合には、表示処理部３０１は、検出されたジェスチャに対応する処理を実行することができる。
【００５８】
表示処理部３０１は、ウェブページとこのウェブページ上の手書き注釈（ある要素に関連づけられた手書きストローク）の双方をリフローするために、電子文書リフロー処理部３１１および手書きアノテーションリフロー処理部３１２を備える。
【００５９】
電子文書リフロー処理部３１１および手書きアノテーションリフロー処理部３１２は、手書き注釈を含む電子文書をリフローして手書き注釈を含む電子文書のスタイルを変更するように構成された処理部として機能する。
【００６０】
電子文書リフロー処理部３１１は、リフロー要因が検出された時、例えば、ユーザによってブラウザアプリケーションプログラム２０２のウィンドウサイズが変更された時、タブレットコンピュータ１０の表示モードがランドスケープモードとポートレートモードとの間で切り換えられた時、あるいはウェブページを拡大または縮小するためのジェスチャ（ビンチアウトジェスチャ、ビンチインジェスチャ）が検出された時に、画面上のウェブページをリフローして、ウェブページを新たなスタイルで表示する。この場合、電子文書リフロー処理部３１１は、ウェブページを構成する複数の要素それぞれのサイズ、複数の要素それぞれが表示されるべき画面上の位置（ブラウザアプリケーションプログラム２０２のウィンドウ上の位置）を決定する。
【００６１】
手書きアノテーションリフロー処理部３１２は、新たなスタイルを有するウェブページに適合するように手書き注釈をリフローする。いま、リフロー前のウェブページにおいて、手書き注釈とアンカー要素との間の相対的位置関係がある相対的位置関係である場合、つまり手書き注釈がウィンドウ上の第１領域に表示されており、アンカー要素に対する第１領域の位置（相対位置）が第１相対位置である場合を想定する。
【００６２】
手書きアノテーションリフロー処理部３１２は、手書き注釈の表示位置を、第１領域から、新たなスタイルを有するウェブページ内の第２領域に変更する。この場合、新たなスタイルを有するウェブページ内のアンカー要素に対する第２領域の位置（相対位置）は、第１相対位置と異なる第２相対位置である。
【００６３】
従来のリフロー技術は、アンカー要素と手書き注釈との間の相対的な位置関係を維持したまま手書き注釈を移動させることを意図している場合が多い。例えば、電子文書のある余白領域上に表示される注釈は、アンカー要素の移動に応じて、この余白領域上で僅かに移動される。この場合、リフローの前と後との間で、アンカー要素と手書き注釈との間の相対的な位置関係は同じである。しかし、このような方法では、リフローによって電子文書内の余白領域の位置が変わった場合や、リフローによって電子文書内の余白領域のスペースが小さくなるような場合に対処することが難しくなる場合がある。
【００６４】
本実施形態では、リフロー前と後との間で、アンカー要素と手書き注釈との間の相対的な位置関係が変更されるように手書き注釈の表示位置が第１領域から第２領域に変更される。したがって、例えば、手書き注釈の表示位置を、リフロー前に手書き注釈が表示されていた元の余白領域と異なる別の余白領域に、あるいは別の何らかの空き領域に変更することができるので、新たなスタイルのウェブページ内のどの要素にも重ならないように手書き注釈を効率よくリフロー（再配置）することができる。
【００６５】
さらに、手書きアノテーションリフロー処理部３１２は、手書き注釈とアンカー要素との関連性を表すための追加の情報（矢印、線、等）を、新たなスタイルのウェブページ上に表示することが出来る。これにより、たとえ、新たなスタイルのウェブページにおいて、手書き注釈がアンカー要素から比較的離れた位置に表示される場合であっても、それら手書き注釈とアンカー要素との関連性をユーザに提示することが出来る。
【００６６】
時系列情報生成部３０２は、タッチデジタイザ１７Ｃから出力される上述の座標列（入力イベント群）を受信し、この座標列に基づいて、図６で詳述したような構造を有する時系列情報を生成する。時系列情報生成部３０２は、生成された時系列情報を作業メモリ４０１に一時保存する。
【００６７】
保存処理部３０６は、手書き注釈等が書かれたウェブページを記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスであってもよいし、サーバコンピュータ２のストレージデバイスであってもよい。
【００６８】
読み出し処理部３０７は、記憶媒体４０２から、手書き注釈等が書かれたウェブページを読み出す。この読み出されたウェブページは表示処理部３０１に送られる。表示処理部３０１は、手書き注釈等が書かれたウェブページを画面上に表示する。
【００６９】
上述したように、リフロー可能な電子文書はウェブページに限定されるものではなく、本実施形態は、リフロー可能な他の種々の電子文書、例えば電子書籍、に適用することも出来る。
【００７０】
図９は、リフロー前の電子文書上の手書き注釈の表示位置とリフロー後の電子文書上の手書き注釈の表示位置との関係の例を示す。ここでは、電子文書が電子書籍である場合が想定されている。
【００７１】
図９の左部はリフロー前の電子書籍が表示されている画面（ウィンドウ）を示し、図９右部はリフロー後の電子書籍が表示されている画面（ウィンドウ）を示している。
【００７２】
いま、リフロー前の電子書籍のある段落のコンテクスト情報（ここでは、テキスト）に幾つかの手書き注釈（Ｃｏｍｍｅｎｔ１、Ｃｏｍｍｅｎｔ２、Ｃｏｍｍｅｎｔ３）が書き込まれている場合を想定する。図９の左部に示されるように、電子書籍のページ内の右辺側に比較的広い余白領域がある場合には、ユーザは、この余白領域に手書き注釈（手書きコメント）を書くことが出来る。
【００７３】
Ｃｏｍｍｅｎｔ１は、手書き文字列（ここでは、「Ｉｍｐｏｒｔａｎｔ」）から構成される。このＣｏｍｍｅｎｔ１は、手書き矢印Ａｒｒｏｗ１によって、電子書籍内のある要素（ここでは、文字列「ＡＡＡ」）に関連づけられている。
【００７４】
Ｃｏｍｍｅｎｔ２は、手書きのマーク（ここでは、星マーク）と手書き文字列（ここでは、「ｇｏｏｄ！？」）から構成される。Ｃｏｍｍｅｎｔ２は、アンダーラインが引かれた要素（ここでは、文字列「…ＢＢ…」）に関連づけられている。つまり、本実施形態では、アンダーラインが引かれた要素の近くに書かれた１以上の手書きストロークは、このアンダーラインが引かれた要素に関連づけられている手書き注釈として認識される。アンダーラインはペン１００を使用した手書き入力操作で容易に書くことができる。アンダーラインは、手書きストローク（手書きの線）であってもよいし、ｈｔｍｌのアンダーラインコードを用いて描画される線であってもよい。なお、ここでは、手書き注釈に関連づけられた要素を識別するためにアンダーラインを使用する例を説明した、アンダーラインの代わりに、二重線、任意の記号などを、手書き注釈に関連づけられた要素を識別するために使用しても良い。
【００７５】
Ｃｏｍｍｅｎｔ３は、手書き文字列（ここでは、「Ｊａｐａｎ？」）から構成される。Ｃｏｍｍｅｎｔ３は、手書き矢印Ａｒｒｏｗ２によって、電子書籍内のある要素（ここでは、文字列「ＣＣＤＤ」）に関連づけられている。
【００７６】
ここで、例えばウィンドウのサイズが変更されると、電子書籍のリフローが発生し、手書き注釈、手書き矢印、アンダーラインが再配置されていない状態となる（図１０の状態）。ウィンドウのサイズの変更によってウィンドウの横方向サイズが小さくなった場合には、図１０に示されているように、手書き注釈が書かれていた領域（ここでは、電子書籍のページ内の右側の余白領域）がほとんどなくなる場合がある。このため、手書き注釈を移動しなかったならば、手書き注釈はウィンドウから外れていまい、表示されなくなる。
【００７７】
そこで、本実施形態では、これら手書き注釈およびアンダーラインのそれぞれの位置を、どの要素にも重ならない位置に移動するリフロー処理が実行される。電子書籍の現在のページにどの要素（コンテクスト情報）も表示されていない空き領域（隣接する段落間の空き領域、ページの余白領域）があれば、手書き注釈を、この空き領域に移動しても良い。十分な空き領域が無い場合には、例えば、隣接する段落間の空き領域が広くなるように、あるいはページ内のある部分の余白領域が広くなるように、電子書籍をリフローしてもよい。
【００７８】
図９の右部においては、電子書籍のページ内の上辺または下辺に位置する余白領域を使用して手書き注釈を表示する場合が想定されている。この余白領域は、上述したように、段落の上または下の少なくとも一方に空き領域が設定されるように電子書籍をリフローすることによって確保しても良い。
【００７９】
図９の右部に示されているように、Ｃｏｍｍｅｎｔ１の表示位置は、例えば、電子書籍のページ内の右辺の近傍に位置する余白領域から、この右辺に直交する上辺の近傍に位置する余白領域に移動される。
【００８０】
さらに、手書き矢印Ａｒｒｏｗ１は、その再配置を容易にするために矢印形状の図形データに整形され、矢印形状の図形データつまり矢印Ａｒｒｏｗ１’が、手書き矢印Ａｒｒｏｗ１の代わりに表示される。この矢印Ａｒｒｏｗ１’は、Ｃｏｍｍｅｎｔ１と文字列「ＡＡＡ」との関連性を表すための上述の追加の情報として使用される。矢印Ａｒｒｏｗ１’は、Ｃｏｍｍｅｎｔ１の表示位置から文字列「ＡＡＡ」の表示位置に向けて延びるように表示される。あるいは、矢印Ａｒｒｏｗ１’を表示する代わりに、Ｃｏｍｍｅｎｔ１と文字列「ＡＡＡ」との関連性を表すための線を表示しても良い。この線としては、Ｃｏｍｍｅｎｔ１と文字列「ＡＡＡ」との間に延びる線（直線、曲線）を使用することができる。
【００８１】
Ｃｏｍｍｅｎｔ２も、例えば、電子書籍のページ内の上部の余白領域に移動される。さらに、Ｃｏｍｍｅｎｔ２と文字列「…ＢＢ…」との関連性を表すための矢印Ａｒｒｏｗ３も、追加の情報として表示される。矢印Ａｒｒｏｗ３の代わりに、Ｃｏｍｍｅｎｔ２と文字列「…ＢＢ…」との関連性を表すための線を表示しても良い。
【００８２】
Ｃｏｍｍｅｎｔ３は、例えば、電子書籍の次のページ内の下辺の近傍の余白領域に移動される。さらに、手書き矢印Ａｒｒｏｗ２の代わりに、Ｃｏｍｍｅｎｔ３と文字列「ＣＣＤＤ」との関連性を表すための矢印Ａｒｒｏｗ２’が表示される。矢印Ａｒｒｏｗ２’の代わりに、Ｃｏｍｍｅｎｔ１と文字列「ＡＡＡ」との関連性を表すための線を表示しても良い。
【００８３】
なお、矢印Ａｒｒｏｗ１’、矢印Ａｒｒｏｗ２’、矢印Ａｒｒｏｗ３のシャフト（線分）が互いに交差しないように、Ｃｏｍｍｅｎｔ１、２、３それぞれの表示位置を決定しても良い。
【００８４】
このように、本実施形態では、アンカー要素に対する手書き注釈の位置（相対位置）がリフロー前と後との間で変更される。よって、たとえ電子文書のリフローによって電子文書のレイアウトが大きく変更されたた場合でも、あるいは電子文書のリフローによって手書き注釈が表示されていた余白領域がなくなった場合でも、手書き注釈を、別の余白領域に容易に表示することが可能となる。
【００８５】
さらに、本実施形態では、リフロー処理において、アンカー要素と手書き注釈とを関連づける矢印（線）が追加される。したがって、新たなスタイルにリフローされた電子文書において、アンカー要素と手書き注釈とが比較的離れた位置に存在する場合でも、アンカー要素と手書き注釈との関連性をユーザに提示することが出来る。
【００８６】
なお、電子書籍の表示モードを、テキストを縦書きで表示するモードとテキストを横書きで表示するモードとの間で切り換えることも出来る。この表示モードの切り換えによっても電子書籍のスタイルは変更されるので、この表示モードを切替えるための動作も、リフローの一形態として扱うことが出来る。
【００８７】
また、どの要素にも関連づけられていない手書きストローク（手書き文字、手書きマーク、手書き図形、等）がリフロー前の電子文書内に存在する場合には、この手書きストロークはリフロー（再配置）しなくてもよい。あるいは、全ての手書き注釈をある余白領域に再配置した後に、この余白領域内の余っている領域などに、どの要素にも関連づけられていない手書きストロークを表示しても良い。
【００８８】
図１１は、リフロー前の電子文書上の手書き注釈の表示位置とリフロー後の電子文書上の手書き注釈の表示位置との関係の別の例を示す。ここでは、電子文書がウェブページである場合が想定されている。
【００８９】
図１１の上部はリフロー前のウェブページが表示されている画面（ウィンドウ）を示し、図１１の下部はリフロー後のウェブページが表示されている画面（ウィンドウ）を示している。
【００９０】
いま、ウェブページがコンテクスト情報部分（要素）５０１、５０２、５０３、５０４、…から構成されている場合を想定する。これら複数のコンテクスト情報部分５０１、５０２、５０３、５０４、…は、ＨＴＭＬファイル内に記述された階層化された複数の要素にそれぞれ対応する。換言すれば、これらコンテクスト情報部分５０１、５０２、５０３、５０４、…はウェブページ内の要素にそれぞれ対応する。
【００９１】
図１１の上部に示すように、リフロー前においては、コンテクスト情報部分５０１、５０２、５０３、５０４が縦一列に並べられている。Ｃｏｍｍｅｎｔ１は、手書き文字列（ここでは、「ｇｏｏｄ」）から構成される。Ｃｏｍｍｅｎｔ１は、手書き矢印Ａｒｒｏｗ１によって、コンテクスト情報部分５０２に関連づけられている。より詳しくは、Ｃｏｍｍｅｎｔ１は、手書き矢印Ａｒｒｏｗ１によって、コンテクスト情報部分５０２内のある一部分（ここでは、文字列「ＢＢＢ」）に関連づけられている。
【００９２】
ここで、ウィンドウのサイズが変更されると、ウェブページのリフローが発生し、ウェブページのスタイルが変更される。たとえば、ウィンドウのサイズの変更によってウィンドウの横方向サイズが大きくなった場合には、図１１の下部に示されているように、例えば、コンテクスト情報部分５０１、５０２、５０３、５０４、…が縦２列に並んで表示されるように、これらコンテクスト情報部分５０１、５０２、５０３、５０４、…が再配置される場合がある。
【００９３】
もしＣｏｍｍｅｎｔ１がコンテクスト情報部分５０２と一緒に単純に移動されたならば、つまり、Ｃｏｍｍｅｎｔ１とコンテクスト情報部分５０２との間の相対的な位置関係を固定したままＣｏｍｍｅｎｔ１がコンテクスト情報部分５０２に対応する位置に移動されたならば、Ｃｏｍｍｅｎｔ１はコンテクスト情報部分５０１に重なってしまう可能性がある。本実施形態では、上述したように、リフロー時には、コンテクスト情報部分５０２（例えば、コンテクスト情報部分５０２内の文字列「ＢＢＢ」）に対するＣｏｍｍｅｎｔ１の相対位置が変更されて、Ｃｏｍｍｅｎｔ１は、どのコンテクスト情報部分も存在いないウェブページ内の空き領域に表示される。
【００９４】
図１１の下部に示されているように、Ｃｏｍｍｅｎｔ１は、例えば、コンテクスト情報部分５０２の上部の空き領域に表示される。さらに、手書き矢印Ａｒｒｏｗ１は整形され、Ｃｏｍｍｅｎｔ１とコンテクスト情報部分５０２（文字列「ＢＢＢ」）との関連性を表すための矢印Ａｒｒｏｗ１’が手書き矢印Ａｒｒｏｗ１の代わりに表示される。矢印Ａｒｒｏｗ１’は、Ｃｏｍｍｅｎｔ１の表示位置から文字列「ＢＢＢ」の表示位置に向けて延びる。あるいは、矢印Ａｒｒｏｗ１’を表示する代わりに、Ｃｏｍｍｅｎｔ１と文字列「ＢＢＢ」との関連性を表すための線を表示しても良い。この線としては、Ｃｏｍｍｅｎｔ１と文字列「ＢＢＢ」との間に延びる線を使用することができる。
【００９５】
なお、コンテクスト情報部分５０２とコンテクスト情報部分５０４との間の領域が広くなるように、つまり隣接する要素間の領域が広くなるように、ウェブページをリフローして、Ｃｏｍｍｅｎｔ１を、コンテクスト情報部分５０２とコンテクスト情報部分５０４との間の広げられた領域（空き領域）に表示しても良い。
【００９６】
また、Ｃｏｍｍｅｎｔ１とコンテクスト情報部分５０２（文字列「ＢＢＢ」）との関連性を表すための追加の情報は、上述の矢印、線、に限定されない。例えば、Ｃｏｍｍｅｎｔ１の近傍とコンテクスト情報部分５０２（文字列「ＢＢＢ」）の近傍の双方に同じ形状のマーク、シンボル、図形等を表示しても良い。
【００９７】
図１２のフローチャートは、ブラウザアプリケーションプログラム２０２によって実行される表示処理の手順を示す。  
ブラウザアプリケーションプログラム２０２の表示処理部３０１は、電子文書（ウェブページまたは電子書籍）を第１スタイルでタッチスクリーンディスプレイ１７の画面上に表示する（ステップＳ１１１）。第１スタイルは現在の画面サイズに適合する電子文書のスタイルである。タッチスクリーンディスプレイ１７の画面上で手書き入力操作が行われた時、表示処理部３０１は、手書きによって入力される１以上のストロークを電子文書上に表示する（ステップＳ１１２）。さらに、この１以上のストローク（手書きストローク）と電子文書内のある要素（アンカー要素）とを関連づけるための矢印またはアンダーライン等が電子文書上に手書きされたならば、この１以上のストローク（手書きストローク）は手書き注釈として扱われる。ステップＳ１１１、Ｓ１１２により、画面上には、手書きストローク（手書き注釈）を含む電子文書が表示される。なお、表示処理部３０１は、記憶媒体から読み出される、手書き注釈を含む任意の電子文書に基づいて、画面上に、手書きストローク（手書き注釈）を含む電子文書を表示することも出来る。
【００９８】
以下では、電子文書が第１スタイルで表示されており、この第１スタイルの電子文書内の第１領域に手書きストロークが表示されている場合を想定する。手書きストロークが関連づけられた要素に対する第１領域の位置は、第１相対位置であるとする。
【００９９】
電子文書リフロー処理部３１１は、リフロー要因の発生の有無を検出する（ステップＳ１１３）。リフロー要因の発生（例えば、画面サイズの変更等）が検出されると（ステップＳ１１３のＹＥＳ）、リフロー処理部３１１は、変更された画面サイズ（ブラウザアプリケーションプログラム２０２の変更されたウィンドウサイズ）に電子文書が適合するように、電子文書をリフローする（ステップＳ１１４）。ステップＳ１１４では、電子文書リフロー処理部３１１は、電子文書を第１スタイルと異なる第２スタイルでタッチスクリーンディスプレイ１７の画面上に表示する（ステップＳ１１４）。第２スタイルは、変更された画面サイズに適合する電子文書のスタイルである。
【０１００】
さらに、手書きアノテーションリフロー処理部３１２は、例えば、第２スタイルにリフローされた電子文書内における空き領域および余白領域それぞれの位置を使用して、手書きストロークの表示位置を第１領域から、第２スタイルの電子文書内の第２領域に変更する（ステップＳ１１５）。アンカー要素に対する第２領域の位置は、上述の第１相対位置と異なる第２相対位置である。ステップＳ１１５では、手書きアノテーションリフロー処理部３１２は、第２スタイルの電子文書内の空き領域および余白領域を検出する処理を行い、この検出された空き領域の一部および余白領域の一部を、手書きストロークを表示すべき第２領域として決定しても良い。
【０１０１】
なお、電子文書内における空き領域のサイズまたは余白領域のサイズが小さすぎるならば、手書きアノテーションリフロー処理部３１２は、電子文書リフロー処理部３１１と共同して、十分な空き領域または余白領域が確保できるように電子文書をリフローしても良い。
【０１０２】
ステップＳ１１５では、さらに、手書きアノテーションリフロー処理部３１２は、アンカー要素と手書きストローク（手書き注釈）との関連性を表すための追加の情報を、第２スタイルの電子文書上に表示する。
【０１０３】
以上説明したように、本実施形態においては、リフローの前と後との間で、アンカー要素と手書きストロークとの間の相対的な位置関係が変更されるように手書きストロークの表示位置が変更される。したがって、例えば、手書きストロークの表示位置を、リフロー前に手書きストロークが表示されていた元の余白領域と異なる別の余白領域に、あるいは別の何らかの空き領域に変更することができるので、新たなスタイルの電子文書内のどの要素にも重ならないように手書きストロークを効率よくリフロー（再配置）することができる。よって、手書きストロークを含む電子文書を見やすく表示することができる。
【０１０４】
なお、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2015049604.tif 000003
【図２】
2015049604.tif 000004
【図３】
2015049604.tif 000005
【図４】
2015049604.tif 000006
【図５】
2015049604.tif 000007
【図６】
2015049604.tif 000008
【図７】
2015049604.tif 000009
【図８】
2015049604.tif 000010
【図９】
2015049604.tif 000011
【図１０】
2015049604.tif 000012
【図１１】
2015049604.tif 000013
【図１２】
2015049604.tif 000014