(57)【要約】【課題】動的レイアウト型の電子文書の本文に手書きメモを追加入力した文書を、環境を変えても適切に表示できるようにする。【解決手段】表示装置５０は、手書きデータ入力部７６を兼ねる表示部７４と、表示パラメータに従い、動的レイアウト型の電子文書のレイアウトを計算し表示部７４に表示させるレイアウト計算部７２と、手書きデータ入力部７６を用いたユーザの手書きデータを、表示中の電子文書と重なるように表示させるユーザ書込処理部７８と、手書きデータの表示に用いるユーザデータを、電子文書と関連付けてユーザデータ格納部６４に保存するユーザデータ入出力部６６とを含む。ユーザデータは、手書きデータの形状データと、手書きデータの書込まれた電子文書内の領域を特定する書込み領域情報と、手書きデータが作成された時の、電子文書の表示レイアウトを特定する書込み時レイアウト情報とを含む。【選択図】      図３
2006285896.tif 000002
【特許請求の範囲】
【請求項１】
手書き入力部を兼ねる、所定の表示領域を有する表示部と、
所定の表示パラメータに従い、動的レイアウト型の電子文書の前記表示領域上での表示レイアウトを計算し、当該レイアウトに従って前記電子文書を前記表示部に表示させるためのレイアウト計算手段と、
前記手書き入力部を用いたユーザの手書きデータの入力を受け、当該手書きデータを、前記表示領域に表示されている前記電子文書と重なるように前記表示部に表示させるための手書きデータ処理手段と、
前記手書きデータの表示に用いるユーザデータを、前記電子文書と関連付けて所定の記憶媒体に保存するためのユーザデータ保存手段とを含み、
前記ユーザデータは、前記手書きデータの形状を特定する形状データと、前記手書きデータの書込まれた電子文書内の領域を特定する書込領域情報と、前記手書きデータが作成された時の、前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含む、電子文書の表示装置。
【請求項２】
前記書込時レイアウト情報は、前記手書きデータの書込がされたときに表示されていた電子文書の表示レイアウトを計算する際に使用された前記所定の表示パラメータを含む、請求項１に記載の電子文書の表示装置。
【請求項３】
前記形状データは、前記手書きデータを構成する複数の折れ線の１又は複数の頂点座標を含み、
前記１又は複数の頂点座標の各々は、前記手書きデータの書込がされたときに前記表示部に表示されていた電子文書の、前記手書きデータの書込がされた領域と所定の関係にある位置を原点とする座標系により表される、請求項１に記載の電子文書の表示装置。
【請求項４】
前記表示領域に表示される電子文書は、前記表示領域に内に規定される第１の方向に配列された１又は複数の行を含み、各行は、前記第１の方向と交差する第２の方向に配列された文字を含み、
前記手書きデータの書込がされた領域と所定の関係にある位置は、
前記手書きデータの書込がされた領域の少なくとも一部が、前記電子文書の表示されている領域と重なっているときには、当該重なっている領域内の前記電子文書の先頭行の先頭文字により規定される位置であり、
前記手書きデータの書込がされた領域が、前記電子文書の表示されている領域と重なっていないときには、前記手書きデータの書込がされた領域から前記第１の方向又は前記第２の方向に前記手書きデータの書込がされた領域を移動させたときに、前記電子文書のうち、当該領域と重なり得る領域内に表示されている先頭行の先頭文字により規定される位置である、請求項３に記載の電子文書の表示装置。
【請求項５】
前記ユーザデータは、前記手書きデータの書込がされた時に、前記表示領域に表示されていた手書きデータと本文との画像を記録した画像ファイルのファイル名を含む、請求項１に記載の電子文書の表示装置。
【請求項６】
前記書込時レイアウト情報は、前記表示領域に表示された電子文書において、前記手書きデータの書込がされた領域と重なる行の先頭文字の、前記電子文書のデータ内における位置を含む、請求項１に記載の電子文書の表示装置。
【請求項７】
所定の表示領域を有する表示部と、
動的レイアウト型の電子文書を所定の記憶媒体から読出すための第１の読出手段と、
手書きデータと、当該手書きデータが作成されたときの前記電子文書の表示レイアウトを特定するレイアウト情報とを含むユーザデータであってかつ前記第１の読出手段により読出される電子文書と関連付けられたものを、所定の記憶媒体から読出すための第２の読出手段と、
前記第１の読出手段により読出された前記電子文書と、前記第２の読出手段により読出された前記ユーザデータ内の手書きデータの表示レイアウトとを、前記表示部による表示のための表示パラメータと、前記第２の読出手段により読出された前記レイアウト情報とに基づいて計算して前記表示部の表示領域に表示するためのレイアウト計算手段とを含み、
前記ユーザデータは、手書きデータの形状を特定する形状データと、前記手書きデータの書込まれた電子文書内の位置を特定する書込領域情報と、前記手書きデータが作成された時の、前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含み、
前記レイアウト計算手段は、
前記表示部に設定されている表示パラメータを使って前記電子文書と前記手書きデータとをレイアウトした場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近辺の電子文書の位置関係を維持した表示ができるかどうかを、前記表示部に設定されている表示パラメータと前記書込時レイアウト情報とを用いて判定するための判定手段と、
前記判定手段により前記維持した表示ができると判定されたことに応答して、前記表示部に設定されている表示パラメータと前記書込時レイアウト情報とを用いて、前記手書きデータと前記手書きデータ近辺の前記電子文書との位置関係を維持しながら、前記手書きデータを前記電子文書と重ね合わせるようにレイアウト計算を行なうための手段とを含む、電子文書の表示装置。
【請求項８】
前記レイアウト計算手段はさらに、前記判定手段により前記維持した表示ができないと判定されたことに応答して、前記手書きデータと前記電子文書とが重ならないように所定のレイアウト計算を行なうための手段を含む、請求項７に記載の電子文書の表示装置。
【請求項９】
前記ユーザデータは、手書きデータの書込がされた時に、前記表示部に表示されていた手書きデータと本文との表示状態を記録した画像ファイルのファイル名を含み、
前記手書きデータと前記電子文書とが重ならないように所定のレイアウト計算を行なうための手段は、前記判定手段により前記維持した表示ができないと判定されたことに応答して、前記画像ファイルを表示するための所定の処理を実行する、請求項８に記載の電子文書の表示装置。
【請求項１０】
前記判定手段は、前記書込領域情報により、書込時の前記手書きデータの全体が前記電子文書の行頭側及び行末側のいずれかの余白領域内に含まれることが示されている場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近辺の電子文書との位置関係を維持した表示ができるかどうかを、前記表示部に設定されている表示パラメータと、前記書込時レイアウト情報の内で行と交差する方向のレイアウトに関係する情報とのみを用いて判定するための手段を含む、請求項７に記載の電子文書の表示装置。
【請求項１１】
前記レイアウト計算を行なうための手段は、書込時の前記手書きデータの全体が前記所定の表示領域における先頭行側の余白領域内に含まれていることを前記書込領域情報が示し、前記レイアウト計算手段により本文をレイアウトした結果、手書きデータの書込時に前記所定の表示領域において先頭に表示されていた行が２行目以降にレイアウトされる場合は、当該行の直前の行間を拡大し、該行間に前記手書きデータをレイアウトすることを特徴とする、請求項７に記載の電子文書の表示装置。
【請求項１２】
前記レイアウト計算を行なうための手段は、書込時の前記手書きデータの全体が前記所定の表示領域における最終行側の余白領域内に含まれていることを前記書込領域情報が示し、前記レイアウト計算手段により本文をレイアウトした結果、手書きデータが書込まれた時に表示部の最終行に表示されていた行が最終行以外にレイアウトされる場合は、当該行の直後の行間を拡大し、当該行間に前記手書きデータをレイアウトすることを特徴とする、請求項７に記載の電子文書の表示装置。
【請求項１３】
コンピュータにより実行されると、請求項１〜請求項１２のいずれかに記載の電子文書の表示装置として当該コンピュータを動作させる、コンピュータプログラム。
【請求項１４】
手書き入力装置を兼ねる所定の表示領域を有する表示装置に電子文書を表示する、電子文書の表示方法であって、
動的レイアウト型の電子文書を所定の記憶媒体から読出す読出ステップと、
前記読出ステップにおいて読出された電子文書の表示レイアウトを、前記表示領域に関して予め設定された表示パラメータに従い計算するレイアウト計算ステップと、
前記レイアウト計算ステップにおいて求められた表示レイアウトに従い、前記電子文書の内容を前記表示領域上に表示する表示ステップと、
前記表示部に表示中の電子文書に対する、前記手書き入力装置からの手書きデータの入力を受付け、電子文書の本文に重ね合わせて当該手書きデータを前記表示領域上に表示する手書きデータ入力ステップと、
前記手書きデータの入力時の前記電子文書の表示レイアウトを特定する情報を含むユーザデータを保存するステップとを含み、
前記ユーザデータには、前記手書きデータの形状を特定する形状データと、前記手書きデータの書込がされた電子文書内の位置を特定する書込領域情報と、手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報とを含む、電子文書の表示方法。
【請求項１５】
手書き入力装置を兼ねる所定の表示領域を有する表示装置に電子文書を表示する、電子文書の表示方法であって、
動的レイアウト型の電子文書を所定の記憶媒体から読出す第１の読出ステップと、
手書きデータと、当該手書きデータが作成されたときの前記電子文書の表示レイアウトを特定するレイアウト情報とを含むユーザデータであってかつ前記第１の読出ステップにおいて読出される電子文書と関連付けられたものを、所定の記憶媒体から読出す第２の読出ステップと、
前記第１の読出ステップにおいて読出された前記電子文書と、前記第２の読出ステップにおいて読出された前記ユーザデータ内の手書きデータの表示レイアウトとを、前記表示装置のための表示パラメータと、前記第２の読出ステップにおいて読出された前記レイアウト情報とに基づいて計算して前記表示部の表示領域に表示するレイアウト計算ステップとを含み、
前記ユーザデータは、手書きデータの形状を特定する形状データと、前記手書きデータの書込まれた電子文書内の位置を特定する書込領域情報と、前記手書きデータが作成された時の、前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含み、
前記レイアウト計算ステップは、
前記表示装置に設定されている表示パラメータを使って前記電子文書と前記手書きデータとをレイアウトした場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近辺の電子文書との位置関係を維持した表示ができるかどうかを、前記表示装置に設定されている表示パラメータと前記書込時レイアウト情報とを用いて判定する判定ステップと、
前記判定ステップにおいて前記維持した表示ができると判定されたことに応答して、前記表示装置に設定されている表示パラメータと前記書込時レイアウト情報とを用いて、前記手書きデータと前記手書きデータ近辺の前記電子文書との位置関係を維持しながら、前記手書きデータを前記電子文書と重ね合わせるようにレイアウト計算を行なうステップとを含む、電子文書の表示方法。
【請求項１６】
コンピュータにより実行されると、請求項１４又は請求項１５に記載の全てのステップを当該コンピュータに実行させるコンピュータプログラム。
【請求項１７】
請求項１３又は請求項１６に記載のコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子文書を表示する装置に関し、特に、文書のフォーマットが変わった場合にも、ユーザが書込んだ手書きメモを適切な形式で表示することができる電子文書の表示装置及び方法に関する。
【背景技術】
【０００２】
電子書籍に代表される電子文書は、レイアウトに関する特性から、次の２つの形式に分類できる。
【０００３】
一つ目は、ページの概念を持ち、電子文書の本文を構成する文字及び画像等のレイアウトが固定されている形式の電子文書である。文字や画像のページ内の位置が固定されており、この形式では、文書の内容を拡大/縮小表示する場合、各文字及び画像等のページ上のレイアウトは保存したまま、すべての要素が同じ倍率で拡大/縮小される。同様に、表示領域の大きさを変化させて表示したり、他の端末で表示したりする場合であっても、常に同じレイアウトで表示される。この様に、レイアウトが固定されている形式の電子文書を、本明細書では静的レイアウト型電子文書と呼ぶ。
【０００４】
二つ目は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に代表される様に、ページの概念がない形式の電子文書である。この形式の電子文書では、表示領域の大きさ及び解像度、使用するフォント、文字サイズ、行間/字間等の各種パラメータによって、本文を構成する文字や画像等のレイアウトが変わる。この様にレイアウトが固定されていない形式の電子文書を、本明細書では動的レイアウト型電子文書と呼ぶ。動的レイアウト型の文書の表示装置の中には、よりユーザの読みやすい状態で文章が読める様に、ユーザの好きなフォントや、文字サイズ、余白、行間、字間等の各サイズ、組み方向（縦書き、横書き）等の各種パラメータを変えられるものが存在する。
【０００５】
これらの電子文書を表示する装置において、文書内に電子的な書込ができるもの、及び付箋を貼り付けることが可能な装置が存在している。
【０００６】
例えば、後掲の特許文献１は、電子文書に対し付箋を貼り付けることが可能な情報処理装置を開示している。この装置では、表示された文書の各ページの任意の位置に付箋を貼り付けることが可能であり、さらに、付箋内には任意の文字や図形、イメージ等を記録できる。この装置では、付箋内に手書きのメモを記録することもできる。
【０００７】
また、特許文献２は、ユーザの付加したテキストデータ、音声、線画、手書き文字、及び記号等の情報を、ユーザごとに異なる領域に保存する様に構成したパーソナル電子書籍装置を開示している。この装置は、ユーザの付加するデータをそれぞれファイルの形式で保存し、本文内の文字列とこれらのファイルとを関連付けることで、文書への情報の書込を実現している。この装置では、本文の一部にアンダーラインを設定することも可能である。
【特許文献１】特開平５−４０５９４号公報
【特許文献２】特開平９−１０１９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１、２のいずれにおいても、表示されている本文に追加して直接手書きのメモを書込むことはできないが、そうした機能があれば便利である。その場合、通常は、画面の所定位置を基準位置とし、手書きのメモが入力された位置を基準位置に対する相対座標で表すであろう。この相対座標を用いることにより、同じページを次に表示するときに、レイアウト上で前回と同じ位置に手書きメモを表示できる。
【０００９】
ところで、文書が静的レイアウト文書である場合、表示されている本文に直接に手書きのメモを追加した場合には上記方法で問題は生じない。しかし、文書が動的レイアウト文書である場合には、問題は複雑になる。レイアウトの条件（例えば表示画面の大きさ、使用されるフォント、フォントサイズ、余白サイズ等）により本文の表示レイアウトが変わり、手書きメモの表示位置や表示サイズが一意に定まらないためである。
【００１０】
図１は、表示中の文書に書込まれた手書きメモの例を模式的に示した図である。図１を参照して、ある大きさの文書領域３０に、電子文書の本文を構成する文字等とともにユーザの入力した手書きメモ４０が表示されているものとする。この手書きメモ４０は、「重要」という文字と、２つの文字列４２（「●●●」）及び４４（「○○○」）への矢印及び下線とを含む。
【００１１】
この電子文書を、文書領域３０とは横幅が異なる文書領域を持つ表示装置で表示し、手書きメモ４０を重ね合わせて表示した際の表示例を図２に示す。図２を参照して、この装置の文書領域３２は、文書領域３０より広くなっている。動的レイアウト型の電子文書の場合、横幅が異なれば、行末の文字の折返し位置が異なってくる。図２に示す例では文字列４４の位置が１行上の右側にずれている。この結果、手書きメモ４０に含まれる、文字列４４への矢印の先が本来指定すべき位置からずれている。同様に、本文文字の表示位置もずれ、その結果「重要」という文字が本文文字と重なってしまう。すなわち、動的レイアウト型電子文書の場合、表示画面の大きさが変わると、手書きメモの表示が適切でなくなってしまうという問題がある。
【００１２】
一方、表示画面の縦幅が異なれば、１画面に表示できる行数も変化する。その結果、ページの区切り位置が表示画面の大きさによって変化する。そのため、同じ電子文書を、表示画面サイズの異なる２つの表示装置で先頭から順次表示していった場合、手書きメモの書込まれた箇所が先頭から何ページ目に表示されるか、及び表示画面の何行目に表示されるかが異なる。従って、書込まれた時の手書きメモの縦方向の位置（縦書きの場合は横方向の位置）及び手書きメモが存在するページ番号等を用いて書込まれた位置を記録しても、適切な位置に手書きメモは表示できない。表示画面のサイズが変わったときだけではなく、表示画面の解像度、フォントの種類若しくはサイズ、字間若しくは行間の大きさ、禁則処理の方法を始めとしたレイアウト規則等、又はレイアウトに関連するパラメータ、等の表示環境が変われば、動的レイアウト型の電子文書の場合、手書きメモの表示位置は適切ではなくなる。また同じ電子文書を異なる表示装置で表示した場合も、一般に上記のパラメータが変化するので、同様の問題が発生する。
【００１３】
従って、動的レイアウト型の電子文書の本文に手書きメモを追加入力した文書を画面表示の環境を変えて表示しても適切に手書きメモを表示できる電子文書の表示装置を提供することである。
【課題を解決するための手段】
【００１４】
本発明の第１の局面によれば、電子文書の表示装置は、手書き入力部を兼ねる、所定の表示領域を有する表示部と、所定の表示パラメータに従い、動的レイアウト型の電子文書の表示領域上での表示レイアウトを計算し、当該レイアウトに従って電子文書を表示部に表示させるためのレイアウト計算手段と、手書き入力部を用いたユーザの手書きデータの入力を受け、当該手書きデータを、表示領域に表示されている電子文書と重なる様に表示部に表示させるための手書きデータ処理手段と、手書きデータの表示に用いるユーザデータを、電子文書と関連付けて所定の記憶媒体に保存するためのユーザデータ保存手段とを含み、ユーザデータは、手書きデータの形状を特定する形状データと、手書きデータの書込まれた電子文書内の領域を特定する書込領域情報と、手書きデータが作成された時の、電子文書の表示レイアウトを特定する書込時レイアウト情報とを含む。
【００１５】
レイアウト計算手段が、動的レイアウト型の電子文書のレイアウトを計算して表示部に表示させる。ユーザが手書き入力部を用いて手書きデータの入力をすると、手書きデータ処理手段が、表示されている電子文書に重なる様に手書きデータを表示させる。ユーザデータ保存手段は、形状データと、書込領域情報と、書込時レイアウト情報とを含むユーザデータを、表示されている電子文書と関連付けて所定の記憶媒体に保存する。
【００１６】
手書きデータの形状データとともに、手書きデータの書込領域情報、及び手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報を保存する。これら情報を用いることにより、この電子文書を異なる表示環境で表示したときに、手書きデータと電子文書との関係が正しくなる様に重ね合わせて表示したり、正しく重ね合わせて表示できないときには別の表示方法を用いたり、という様に、電子文書に対する手書きデータの意味を明確にする表示を行なうことができる。
【００１７】
好ましくは、書込時レイアウト情報は、手書きデータの書込がされたときに表示されていた電子文書の表示レイアウトを計算する際に使用された所定の表示パラメータを含む。
【００１８】
手書きデータの書込がされたときの表示パラメータを保存することにより、手書きデータの書込時の電子文書の表示レイアウトを再現でき、手書きデータと電子文書との表示上の関係を正しく判定できる。
【００１９】
好ましくは、形状データは、手書きデータを構成する複数の折れ線の１又は複数の頂点座標を含み、１又は複数の頂点座標の各々は、手書きデータの書込がされたときに表示部に表示されていた電子文書の、手書きデータの書込がされた領域と所定の関係にある位置を原点とする座標系により表される。
【００２０】
電子文書の、手書きデータの書込がされた領域と所定の関係にある位置を原点とする座標系を用いて形状データの位置を特定することにより、電子文書内の特定の位置に対する手書きデータの各点の相対的な位置を指定することができる。この様に手書きデータの各点の位置を、電子文書内でその書込がされた領域を基準とした相対位置で記録しておくと、別のレイアウトで表示したときにも、この書込を、電子文書内の対応する行に正しい位置で重ね合わせて表示することが容易にできる。
【００２１】
好ましくは、表示領域に表示される電子文書は、表示領域内に規定される第１の方向に配列された１又は複数の行を含み、各行は、第１の方向と交差する第２の方向に配列された文字を含み、手書きデータの書込がされた領域と所定の関係にある位置は、手書きデータの書込がされた領域の少なくとも一部が、電子文書の表示されている領域と重なっているときには、当該重なっている領域内の電子文書の先頭行の先頭文字により規定される位置であり、手書きデータの書込がされた領域が、電子文書の表示されている領域と重なっていないときには、手書きデータの書込がされた領域から第１の方向又は第２の方向に手書きデータの書込がされた領域を移動させたときに、電子文書のうち、当該領域と重なり得る領域内に表示されている先頭行の先頭文字により規定される位置である。
【００２２】
手書きデータが電子文書と重なっているときには、その領域の先頭行の先頭文字により規定される位置を基準とする座標系を用いる。手書きデータが電子文書の余白領域にあるときには、その手書きデータを第１の方向又は第２の方向に移動させたときに、電子文書のうちで手書きデータと重なり得る領域が存在する。そうした領域の先頭行の先頭文字を基準とした座標系を用いる。こうした座標系を用いることで、本文内で基準となる位置に対する手書きデータの相対位置が明確に分かり、表示パラメータが変更されたときにも、この相対位置に基づいて手書きデータを表示すべき位置を判定できる。
【００２３】
好ましくは、ユーザデータは、手書きデータの書込がされた時に、表示領域に表示されていた手書きデータと本文との画像を記録した画像ファイルのファイル名を含む。
【００２４】
このファイル名を記録しておくことにより、仮に手書きデータと電子文書の本文とを正しく重ね合わせて表示できないときにも、手書きデータが入力されたときの手書きデータと本文との関係が画像として確認できる。
【００２５】
好ましくは、書込時レイアウト情報は、表示領域に表示された電子文書において、手書きデータの書込がされた領域と重なる行の先頭文字の、電子文書のデータ内における位置が記録されることを特徴とする。
【００２６】
先頭文字を基準とすることで、表示パラメータが変更になり電子文書のレイアウトが変わっても、手書きデータをどこに表示すべきかを容易に決定できる。
【００２７】
本発明の第２の局面によれば、電子文書の表示装置は、所定の表示領域を有する表示部と、動的レイアウト型の電子文書を所定の記憶媒体から読出すための第１の読出手段と、手書きデータと、当該手書きデータが作成されたときの電子文書の表示レイアウトを特定するレイアウト情報とを含むユーザデータであってかつ第１の読出手段により読出される電子文書と関連付けられたものを、所定の記憶媒体から読出すための第２の読出手段と、第１の読出手段により読出された電子文書と、第２の読出手段により読出されたユーザデータ内の手書きデータの表示レイアウトとを、表示部による表示のための表示パラメータと、第２の読出手段により読出されたレイアウト情報とに基づいて計算して表示部の表示領域に表示するためのレイアウト計算手段とを含む。ユーザデータは、手書きデータの形状を特定する形状データと、手書きデータの書込まれた電子文書内の位置を特定する書込領域情報と、手書きデータが作成された時の、電子文書の表示レイアウトを特定する書込時レイアウト情報とを含む。レイアウト計算手段は、表示部に設定されている表示パラメータを使って電子文書と手書きデータとをレイアウトした場合に、手書きデータが作成された時の、手書きデータと手書きデータ近辺の電子文書の位置関係を維持した表示ができるかどうかを、表示部に設定されている表示パラメータと書込時レイアウト情報とを用いて判定するための判定手段と、判定手段により維持した表示ができると判定されたことに応答して、表示部に設定されている表示パラメータと書込時レイアウト情報とを用いて、手書きデータと手書きデータ近辺の電子文書との位置関係を維持しながら、手書きデータを電子文書と重ね合わせる様にレイアウト計算を行なうための手段とを含む。
【００２８】
第１の読出手段が電子文書を記憶媒体から読出す。第２の読出手段が、この電子文書と関連したユーザデータを記憶媒体から読出す。レイアウト計算手段が、表示部に設定されている表示パラメータと、第２の読出手段により読出されたレイアウト情報とに基づいて、電子文書とユーザデータ内の手書きデータとのレイアウトを計算する。判定手段は、手書きデータの書込時の電子文書と手書きデータとのレイアウトを維持して両者を重ねて表示できるか否かを判定する。表示できるときには、レイアウト計算を行なう手段が、表示されている電子文書に重なる様に手書きデータを表示させるためのレイアウト計算を行なう。
【００２９】
ユーザデータを用いることにより、手書きデータの書込時の電子文書と手書きデータとのレイアウトを維持して両者を重ね合わせて表示できるか否かが判定でき、表示できるときに両者を重ねて表示する。手書きデータと電子文書との関連をユーザに正しく理解させることができる可能性が高くなる。
【００３０】
好ましくは、レイアウト計算手段はさらに、判定手段により維持した表示ができないと判定されたことに応答して、手書きデータと電子文書とが重ならない様に所定のレイアウト計算を行なうための手段を含む。
【００３１】
上記した様に、手書きデータの書込時の電子文書と手書きデータとのレイアウトを維持できないときには、両者が重ならない様にレイアウトを行なう。両者の関係が手書きデータの入力時と異なるにもかかわらず両者を重ねて表示したりすることがないので、手書きデータと電子文書との間の関係が誤解される危険性が低くなる。
【００３２】
好ましくは、ユーザデータは、手書きデータの書込がされた時に、表示部に表示されていた手書きデータと本文との表示状態を記録した画像ファイルのファイル名を含み、手書きデータと電子文書とが重ならない様に所定のレイアウト計算を行なうための手段は、判定手段により維持した表示ができないと判定されたことに応答して、画像ファイルを表示するための所定の処理を実行する。
【００３３】
手書きデータの書込時の電子文書と手書きデータとのレイアウトを維持できないときには、手書きデータ入力時の手書きデータと本文との表示状態を記録した画像ファイルを、ユーザデータ内のファイル名に基づいて読出すことができる。この画像を表示できる様にすれば、手書きデータの入力時の状態を再現できるので、ユーザが手書きデータと電子文書との間の関係を正しく理解する可能性が高くなる。
【００３４】
好ましくは、判定手段は、書込領域情報により、書込時の手書きデータの全体が電子文書の行頭側及び行末側のいずれかの余白領域内に含まれることが示されている場合に、手書きデータが作成された時の、手書きデータと手書きデータ近辺の電子文書との位置関係を維持した表示ができるかどうかを、表示部に設定されている表示パラメータと、書込時レイアウト情報の内で行と交差する方向のレイアウトに関係する情報とのみを用いて判定するための手段を含む。
【００３５】
手書きデータの全体が行頭側又は行末側の余白領域内である場合、行内の文字のレイアウト等は手書きデータのレイアウトに影響を与えない。従って、書込時レイアウト情報のうち、行と交差する方向のレイアウトに関係する情報のみを用いて、電子文書本文と手書き情報とを重ねて表示できるか否かを判定できる。
【００３６】
好ましくは、レイアウト計算を行なうための手段は、書込時の手書きデータの全体が所定の表示領域における先頭行側の余白領域内に含まれていることを書込領域情報が示し、レイアウト計算手段により本文をレイアウトした結果、手書きデータの書込時に所定の表示領域において先頭に表示されていた行が２行目以降にレイアウトされる場合は、当該行の直前の行間を拡大し、該行間に手書きデータをレイアウトすることを特徴とする。
【００３７】
先頭行側の余白に手書きデータが書込まれており、そのときの先頭行が異なる環境では、２行目以降に移動することはよくある。そうしたときには、その行の前の行間を拡大しそこに手書きデータをレイアウトすることにより、先頭行側の余白に書込まれた手書きデータと当該行とのレイアウトを維持することができる。
【００３８】
好ましくは、レイアウト計算を行なうための手段は、書込時の手書きデータの全体が所定の表示領域における最終行側の余白領域内に含まれていることを書込領域情報が示し、レイアウト計算手段により本文をレイアウトした結果、手書きデータが書込まれた時に表示部の最終行に表示されていた行が最終行以外にレイアウトされる場合は、当該行の直後の行間を拡大し、当該行間に手書きデータをレイアウトすることを特徴とする。
【００３９】
最終行側の余白に手書きデータが書込まれており、そのときの最終行が異なる環境では、それ以外の行に移動することはよくある。そうしたときには、その行の直後の行間を拡大しそこに手書きデータをレイアウトすることにより、最終行側の余白に書込まれた手書きデータと当該行とのレイアウトを維持することができる。
【００４０】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータにより実行されると、上記したいずれかの電子文書の表示装置として当該コンピュータを動作させる。
【００４１】
本発明の第４の局面によれば、電子文書の表示方法は、手書き入力装置を兼ねる所定の表示領域を有する表示装置に電子文書を表示する、電子文書の表示方法であって、動的レイアウト型の電子文書を所定の記憶媒体から読出す読出ステップと、読出ステップにおいて読出された電子文書の表示レイアウトを、表示領域に関して予め設定された表示パラメータに従い計算するレイアウト計算ステップと、レイアウト計算ステップにおいて求められた表示レイアウトに従い、電子文書の内容を表示領域上に表示する表示ステップと、表示部に表示中の電子文書に対する、手書き入力装置からの手書きデータの入力を受付け、電子文書の本文に重ね合わせて当該手書きデータを表示領域上に表示する手書きデータ入力ステップと、手書きデータの入力時の電子文書の表示レイアウトを特定する情報を含むユーザデータを保存するステップとを含み、ユーザデータには、手書きデータの形状を特定する形状データと、手書きデータの書込がされた電子文書内の位置を特定する書込領域情報と、手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報とを含む。
【００４２】
本発明の第５の局面によれば、電子文書の表示方法は、手書き入力装置を兼ねる所定の表示領域を有する表示装置に電子文書を表示する、電子文書の表示方法であって、動的レイアウト型の電子文書を所定の記憶媒体から読出す第１の読出ステップと、手書きデータと、当該手書きデータが作成されたときの電子文書の表示レイアウトを特定するレイアウト情報とを含むユーザデータであってかつ第１の読出ステップにおいて読出される電子文書と関連付けられたものを、所定の記憶媒体から読出す第２の読出ステップと、第１の読出ステップにおいて読出された電子文書と、第２の読出ステップにおいて読出されたユーザデータ内の手書きデータの表示レイアウトとを、表示装置のための表示パラメータと、第２の読出ステップにおいて読出されたレイアウト情報とに基づいて計算して表示部の表示領域に表示するレイアウト計算ステップとを含み、ユーザデータは、手書きデータの形状を特定する形状データと、手書きデータの書込まれた電子文書内の位置を特定する書込領域情報と、手書きデータが作成された時の、電子文書の表示レイアウトを特定する書込時レイアウト情報とを含み、レイアウト計算ステップは、表示装置に設定されている表示パラメータを使って電子文書と手書きデータとをレイアウトした場合に、手書きデータが作成された時の、手書きデータと手書きデータ近辺の電子文書との位置関係を維持した表示ができるかどうかを、表示装置に設定されている表示パラメータと書込時レイアウト情報とを用いて判定する判定ステップと、判定ステップにおいて維持した表示ができると判定されたことに応答して、表示装置に設定されている表示パラメータと書込時レイアウト情報とを用いて、手書きデータと手書きデータ近辺の電子文書との位置関係を維持しながら、手書きデータを電子文書と重ね合わせる様にレイアウト計算を行なうステップとを含む。
【００４３】
本発明の第６の局面に係るコンピュータプログラムは、コンピュータにより実行されると、上記したいずれかの方法の全てのステップを当該コンピュータに実行させる。
【００４４】
本発明の第７の局面に係る記録媒体は、電子文書の表示方法は、上記したいずれかのコンピュータプログラムを記録したものである。
【発明の効果】
【００４５】
以上の様に本発明によれば、手書きデータの形状データとともに、手書きデータの書込領域情報、及び手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報を保存する。これら情報を用いることにより、この電子文書を異なる表示環境で表示したときに、手書きデータと電子文書との関係が正しくなる様に重ね合わせて表示したり、正しく重ね合わせて表示できないときには別の表示方法を用いたり、という様に、電子文書に対する手書きデータの意味を明確にする表示を行なうことができる。
【００４６】
手書きデータの形状を、手書きデータの書込がされた領域と所定の関係にある位置を原点とする座標系を用いた座標で表す。そのため、書込があった行の表示位置が書込時と異なった場合でも、手書きデータを当該行に正しく重ね合わせて表示できる様になる。
【００４７】
また、手書きデータの書込がされた時に、表示部に表示されていた手書きデータと本文の表示状態を記録した画像ファイルのファイル名を、手書きデータとともに保存する。正しく重ね合わせ表示が出来ない場合であっても、このファイル名を用いて画像ファイルを開くことにより、ユーザに手書きデータの書込状態を提示することができる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明に係る電子文書の表示装置を、図面を参照しながら説明する。なお、以下の説明において、同じ部品には同じ参照番号を付してある。それらの名称及び機能も同一である。従って、それらについての詳細な説明は繰返さない。
【００４９】
本願では、ユーザが電子文書に対して書込を行なった手書きメモ等の表示用データを、「ユーザデータ」と呼ぶことにする。また、本願でいう「表示パラメータ」とは、電子文書のレイアウトに影響を与えるパラメータの事を指す。表示パラメータは、縦書き/横書き等の組方向、表示画面の画素数又は解像度、表示に使用するフォント及びフォントサイズ、太字/イタリック等の表示する文字の属性、行間及び字間の大きさ、余白の大きさ、禁則処理又はカーニング等の表示装置が採用しているレイアウト規則等の任意の組合せを含む。
【００５０】
なお、以下に説明する実施の形態では、プレーンテキストを電子文書の例として説明するが、ＨＴＭＬ等の様に、画像の挿入又は一部の文字列の属性の変更等が可能なタグ付き文書に対しても、本願発明は適用可能である。この場合、レイアウト規則は、タグにより定められるレイアウト方法も含まれる。
【００５１】
＜構成＞
図３は本実施の形態に係る表示装置５０のブロック図の一例である。図３を参照して、この表示装置５０は、表示する電子文書を格納するための文書格納部６０と、文書格納部６０に格納された電子文書を読出すための文書入力部６２と、電子文書に対して書込まれたユーザデータを格納するためのユーザデータ格納部６４と、ユーザデータ格納部６４に格納されたユーザデータを読出すとともに、ユーザの書込内容に変更があった場合に、変更後のユーザデータをユーザデータ格納部６４に書込むためのユーザデータ入出力部６６と、ユーザからのページめくりの指示、表示させたい電子文書の指定、又は表示パラメータの変更指示等を受付け処理するためのユーザ指示処理部６８と、表示パラメータを記録管理するための表示パラメータ管理部７０とを含む。
【００５２】
表示装置５０はさらに、文書入力部６２により文書格納部６０から読出された電子文書とユーザデータ入出力部６６によりユーザデータ格納部６４から読出されたユーザデータとに含まれる文字及び画像等のレイアウトを、表示パラメータ管理部７０に格納された表示パラメータを用いて計算するためのレイアウト計算部７２と、レイアウト計算部７２により計算されたレイアウトに従い表示を行なうための表示部７４と、表示部７４の表示領域を使用してユーザの手書き入力を受けるための手書きデータ入力部７６と、手書きデータ入力部７４を通じて入力されたユーザの手書き入力を処理し、表示部７４に表示させる様にレイアウト計算部７２に指示するとともに、ユーザデータ入出力部６６を通じて、書込まれた内容をユーザデータに反映させるためのユーザ書込処理部７８と、各処理部を制御して上記した動作を実現させるための制御部８０とを含む。
【００５３】
図４にこの表示装置５０の外観例を示す。図４を参照して、表示装置５０はさらに、表示装置５０の本体筺体１１０と、本体筺体１１０の正面に配置された表示部兼タブレット１１２とを含む。表示部兼タブレット１１２は、図３に示す表示部７４と手書きデータ入力部７６とに相当し、表示部７４の表示領域は、手書きデータ入力部７６の入力領域を兼ねる。表示装置５０はさらに、本体筺体１１０とは別に準備され、ユーザが表示部兼タブレット１１２に手書きデータ等を入力する際に使用するペン１１４と、本体筺体１１０の表示部兼タブレット１１２が設けられている面に表示部兼タブレット１１２と並べて配置され、表示する電子文書の選択、ページめくりの指示、又は表示パラメータの変更等の際にユーザが使用する指示キー１１６とを含む。指示キー１１６で入力された指示を図３に示すユーザ指示処理部６８が解釈し、その解釈に従って制御部８０が各ブロックの制御を行なう。
【００５４】
表示装置５０の本体筺体１１０の側面には、電子文書及びユーザデータを記録するための記録媒体１１８が着脱される挿入口１２０が形成されている。記録媒体１１８は、図３に示す文書格納部６０とユーザデータ格納部６４とを構成する。挿入口１２０の奥には図示しないコネクタが設けられており、挿入口１２０に挿入された記録媒体１１８はこのコネクタによって表示装置５０に接続される。こうして、このコネクタを介して記録媒体１１８から電子文書及びユーザデータが読出され、表示装置５０による表示処理がされる。
【００５５】
本実施の形態においては、様々なタイプの表示装置が利用可能であることを想定している。すなわち、表示部７４の大きさ又は解像度、搭載されるフォント、又は使用するレイアウト規則等、表示パラメータの異なる様々なタイプの表示装置が存在していることを仮定している。その結果、全く同じ電子文書を表示する場合でも、表示装置が異なれば一般に表示部７４に表示される文字等のレイアウトは異なることになる。一つの表示装置で同じ電子文書を表示する場合でも、ユーザの好みに応じて縦書きで表示したり、行間/字間を調整したりすることが出来るため、必ずしも常に同じレイアウトで表示されるとは限らない。
【００５６】
また、電子文書及びユーザデータを、記録媒体１１８等を媒介にして移動させれば、どの表示装置でもその内容を表示できる様にするため、電子文書、ユーザデータのいずれに対しても、予め定められたデータ格納形式（フォーマット）で記録媒体１１８に記録されることを想定している。
【００５７】
本実施の形態では、説明のため、電子文書のデータ格納形式としてプレーンテキストを用いる。
【００５８】
ユーザデータのデータ格納形式の概略を図５に示す。図５を参照して、本実施の形態におけるユーザデータ１３０は、ユーザデータ１３０が対象としている電子文書のファイル名を記録するファイル名領域１４０と、ユーザがこの文書内に書込んだ手書きデータの数を記録する手書きデータ数領域１４２と、書込まれた個々の手書きデータをそれぞれ記録するための、手書きデータ数領域１４２に記憶された数と同じ数だけ繰返し設けられた手書きデータ記憶領域１４４、１４６、…、１４８とを含む。
【００５９】
手書きデータ記憶領域１４４、１４６、…、１４８はいずれも同じフォーマットを持つ。図６に、例として手書きデータ領域１４４のデータ格納形式を示す。なお、以下の説明では電子文書は横書きされることを想定する。縦書きされる場合には、以下の説明の語句を適宜読替える必要がある。
【００６０】
図６を参照して、手書きデータ記憶領域１４４は、この手書きデータの書込がされた電子文書のファイル内位置を記録するための書込領域１７０と、手書きデータが書込まれた時の表示パラメータを記録するための表示パラメータ領域１７２と、手書きデータを記憶するための手書きデータ領域１７４と、手書きデータの書込をした時の、表示部の表示状態をキャプチャして保存した画像ファイル名を記録するための書込時表示画像ファイル名領域１７６とを含む。
【００６１】
書込領域１７０は、手書きデータの本文内の格納位置を示す本文格納位置格納領域１９０と、入力時の手書きデータが本文の何行にわたっているかを記憶するための行数格納領域１９２と、手書きデータの高さと縦方向に重なっている各行の先頭文字とその文字のファイル内の格納位置とを記憶するための行先頭データ記憶領域１８０とを含む。
【００６２】
行先頭データ記憶領域１８０は、手書きデータを所定位置に本文とともに表示したときに、手書きデータの高さと縦方向に重なっている本文の各行の先頭文字のファイル内における格納位置を記憶する領域１９４、１９６、…を含む。領域１９４、１９６等は、手書きデータと縦方向に重なっている行の数だけ設けられる。
【００６３】
本実施の形態では、手書きデータが重なっている本文の行を元にして、書込まれた領域を次の様に決定する。図７の手書きデータ３１０の様に、本文の表示領域内に書込がされている場合は、手書きデータ３１０が重なっている行、すなわち図７の矩形３２０により囲まれている４行を書込領域の位置と判定する。この場合、書込領域本文格納位置１９０にはこの４行のうち１行目の先頭文字と４行目の最後の文字との格納位置が、電子文書ファイル先頭からのバイト数で記録される。行数格納領域１９２には矩形３２０により囲まれる行の数である４が記録される。行先頭データ記憶領域１８０の領域１９４、１９６等の領域には、各行の先頭文字３１２、３１４、３１６、３１８の、電子文書ファイル先頭からのバイト数が記録される。
【００６４】
なお、手書きデータが表示領域の余白部に書込まれた場合、本文のどの行に書込まれたのかを特定できない。そこで、表示部の余白領域に書込がされた場合は、次に示す行を書込領域と判定しておく。
【００６５】
図８に示す様に、上側の余白領域に手書きデータ３３０の書込がされた場合の書込行は、表示されている文書の先頭行（３３２の矩形内）であるものとする。図９に示す様に、下側の余白領域に手書きデータ３４０の書込がされた場合の書込行は、その頁に表示されている文書の最終行（３４２の矩形内）とする。図１０に示す様に、右側の余白領域に手書きデータ３５０の書込がされた場合の書込行は、手書きデータ３５０の左側に存在している行、すなわち図１０に示す例では矩形３５２により囲まれた領域内の４行とする。同様に、左側の余白領域に記録された場合は、その右側に存在している行を書込行とする。
【００６６】
図７〜図１０の例で共通して言えるのは、各ページには行が上から下に（横書きの場合）、又は右から左に（縦書きの場合）複数行配列され、各行には行の配列と交差する方向に文字が配列され、それらにより形成される本文領域と手書き文字との間に以下の関係が成立するということである。
【００６７】
すなわち、手書きデータの書込がされた領域の少なくとも一部が、電子文書の表示されている領域と重なっているときには、当該重なっている領域内の電子文書の先頭行の先頭文字により規定される位置が、手書きデータの書込位置を定めるための基準となる。手書きデータの書込がされた領域が、電子文書の表示されている領域と重なっていないときには、手書きデータの書込がされた領域から行の配列方向又はこの方向と交差する、各行内の文字の配列方向に沿って手書きデータの書込がされた領域を移動させたときに、電子文書の本文領域のうちで、移動した手書きデータの領域と重なり得る領域内に表示されている先頭行の先頭文字により規定される位置が、手書きデータの書込位置を定めるための基準位置となる。
【００６８】
なお、この図８〜図１０の説明は、前述した通り、横書き表示時を想定したものである。縦書き表示時には、横書き時の余白領域の上、下、左、右を、それぞれ右、左、上、下に読替えて判定する。例えば、図８の説明は、縦書き表示時には、「右側の余白領域に手書きデータ３３０の書込がされた場合の書込行は、表示されている文書の先頭（最も右側の行）であるものとする」と読替えることになる。
【００６９】
再び図６を参照して、表示パラメータ領域１７２には、本文のレイアウトを固定できる様に、レイアウトに影響するパラメータをもれなく記録する。本実施の形態の様に手書きデータを図６の構造で記録する場合には、行先頭データ記憶領域１８０によって各行の折返し位置がわかっている。従って、行の折返し位置を決めるパラメータ（例えば、横書き時の表示領域の横幅等）は特に記載する必要はない。そのため、表示パラメータ領域１７２には、主に、１行分の各文字のレイアウトを一意に定めるために必要となるパラメータを記録する。
【００７０】
すなわち、本実施の形態では、表示パラメータ領域１７２は、組み方向を記録するための組み方向領域２１０と、使用していたフォント名を格納するためのフォント名領域２１２と、フォントサイズを格納するためのフォントサイズ領域２１４と、字間、行間、語間のサイズを記録するための間隔サイズ領域２１６と、ジャスティフィケーションの方法を記録するためのジャスティフィケーション方法領域２１８と、ジャスティフィケーション処理に必要となる、行幅を記録するための行幅領域２２０とを含む。
【００７１】
組み方向領域２１０には、ユーザデータが書込まれた時、電子文書を縦書きで表示していたか横書きで表示していたかを記録する。フォント名領域２１２には、表示に使用していたフォント名をドット数で記録する。フォントサイズ領域２１４にはそのフォントサイズを同じくドット数で記録する。
【００７２】
間隔サイズ領域２１６に記録される字間とは、文字と文字の間のドット数を指す。行間とは行と行の間のドット数を指す。語間とは単語と単語の間に挿入されるスペースのドット数を指す。
【００７３】
ジャスティフィケーション方法領域２１８に関連するジャスティフィケーション処理とは、行末での禁則処理、又は欧文表示時のワードラップ処理等によって行末の位置が他の行と揃わなくなる場合に、字間又は語間を調節することによって行末を揃える処理のことを言う。この字間又は語間の調整方法によって文字の表示位置が変化する。従って、ジャスティフィケーション方法領域２１８には、ジャスティフィケーション処理方法を特定する方法名及び必要に応じてバージョン番号等を記録しておく。ジャスティフィケーション処理の方法名を記録する代わりに、パラメータにより処理アルゴリズムを特定できる場合には、ジャスティフィケーション方法領域２１８にそのパラメータを記録する様にしてもよい。
【００７４】
行幅領域２２０に記録される行幅は、ジャスティフィケーション処理に必要となる。行幅の定義は、縦書きの場合と横書きの場合とで異なる。図１１に示す様に、表示部３７０から周りの余白領域３８０を除いた文字が表示される領域（点線の矩形で表示する領域）を考える。縦書きの場合の行幅は、この文字表示領域の縦方向のサイズ３８４をいい、ここでは画素数で表される。横書きの場合の行幅は、文字表示領域の横方向のサイズ３８２をいい、同じく画素数で表される。
【００７５】
なお、先にも述べた様に、上記以外の表示パラメータが必要である場合は、表示パラメータ領域１７２にその記録領域を設けて値を記録する。
【００７６】
一方で、図６に示す情報の一部は不要となることもある。例えば、電子文書を表示する全ての表示装置が常に同じジャスティフィケーション処理を行なう場合、又は全ての表示装置がジャスティフィケーション処理をしない場合には、ジャスティフィケーション方法領域２１８は不要である。すなわち、この電子文書とユーザデータとを処理できるすべての表示装置のレイアウト計算部７２においてレイアウト計算の際に参照される表示パラメータを、過不足なく記録できるよう表示パラメータ領域１７２を設計すればよい。
【００７７】
手書きデータ領域１７４は、実際に書込がされた手書きデータの情報を記録する領域である。本実施の形態では、手書きデータは複数の折れ線の集合という形で記録される。
【００７８】
手書きデータ領域１７４は、手書きデータが書込まれた領域サイズを行単位で記録するための書込行領域サイズ２４０と、手書きデータが含む折れ線数を記録するための折れ線数領域２４２と、手書きデータに含まれる折れ線ごとの詳細なデータを記録するための、折れ線の数と同じだけ設けられた折れ線データ領域２４４，２４６，…を含む。
【００７９】
折れ線データ領域２４４及び２４６はいずれも同じ構造を有する。例えば折れ線データ領域２４４は、この手書きデータに含まれる第１の折れ線の太さ及び色等の属性情報を記録するための折れ線属性領域２６０と、第１の折れ線を構成する頂点の個数を記録するための頂点数領域２６２と、各頂点の座標値を記録する座標値領域２６４、２６６等とを含む。座標値領域は、頂点数領域２６２に格納された頂点の数だけ存在する。
【００８０】
折れ線データ領域２４６も同様の構成で、折れ線属性領域２８０と、頂点数領域２８２と、座標値領域２８４、２８６等とを含む。
【００８１】
座標値領域２６４、２６６、２８４、２８８等に記録される座標値として、本実施の形態では、表示部上の位置ではなく、書込のあった行に対する相対位置を使用する。具体的には、書込のあった行を囲む矩形の左上頂点を原点とする座標系を想定し、その座標系での折れ線頂点の座標値をここに記録する。本実施の形態では、この座標系の原点は、図７〜図１０を参照して前述した、手書きデータの書込位置を定めるための基準となる位置と一致する。
【００８２】
例えば、図７に示す手書きデータ３１０の各頂点の座標は、矩形３２０の左上頂点を原点とした座標系での値となる。図８の様に、書込行を囲む矩形３３２より上部に手書きデータ３３０の書込がされている場合、座標値が負になることもある。書込のあった行を囲む矩形３２０、３３２等の大きさは、図６の書込行領域サイズ２４０に記録され、書込が余白領域にされたのか、そうでないかの判定に用いられる。その詳細については後述する。
【００８３】
この様に折れ線頂点の座標値を書込のあった行に対する相対位置で記録するのは、以下の理由による。すなわち、動的レイアウト型の電子文書の場合、表示パラメータが変わると、一般的に各文字が表示される行が変わり、ページが変わることも多い。そのため、この様に書込まれた位置を、その書込がされた行位置に対する相対位置で記録しておかないと、別のレイアウトで表示したときにこの書込を対応する行とともに表示することが難しいためである。
【００８４】
書込時表示画像ファイル名領域１７６は、前述した通り、手書きデータを書込んだ時の、表示部の表示状態をキャプチャして保存した画像ファイル名を記録する領域である。先に説明した通り、書込を行った時の表示パラメータと表示を行なう時の表示パラメータが異なっていれば、手書きデータを本文に重ね合わせて表示しても適切な表示にはならない。そこで、書込まれた時の表示部の画面をキャプチャして画像ファイルに保存する様にしておき、書込時表示画像ファイル名領域１７６にこの画像ファイルのファイル名を保存しておく。すると、レイアウトが変わり、手書きデータと本文との関係が分かりにくくなったときでも、書込時表示画像ファイル名領域１７６に保存された画像ファイルを開いて見ることで、少なくとも手書きデータと本文の位置関係をユーザが理解できる。
【００８５】
この目的に照らし、キャプチャ画像として保存する範囲は、手書きデータと本文との位置関係がわかる様にする。すなわち、手書きデータと、手書きデータが書込まれている行と、その前後の行の３つを含む外接矩形の範囲とする。もちろん、キャプチャする範囲はこの限りではない。例えば、ユーザデータのサイズを小さくしたい場合には、書込データを外接する矩形としてもよい。サイズが特に問題にならない場合は、表示部に表示されている全範囲をキャプチャする様にしてもよい。
【００８６】
＜プログラムによる実現＞
図１２に、電子文書と図５及び図６の形式で記録されたユーザデータとを表示するための、表示装置で実行されるコンピュータプログラムの制御の流れをフローチャート形式で示す。
【００８７】
図１２を参照して、まずステップ４００で、ユーザ指示処理部６８を通じて、ユーザに表示させたい電子文書を選択させる。ステップ４０２で、文書入力部６２が指定された電子文書を文書格納部６０から読出す。もしもその電子文書に対応するユーザデータが存在していれば、同時にユーザデータ入出力部６６により、そのユーザデータがユーザデータ格納部６４から読出される。
【００８８】
ステップ４０４では、レイアウト計算に必要となる各表示パラメータの設定値を初期化する。本実施の形態では、初期値として前回の文書表示時に最後に使用していた値を用いる。
【００８９】
ステップ４０６において、表示する位置を、読出された電子文書の先頭に設定する。
【００９０】
続いてステップ４０８において、表示される位置に該当する部分の電子文書とユーザデータとの１画面分のレイアウトをレイアウト計算部７２が計算し、表示部７４に与える。表示部７４はこのレイアウトに従い、指定の１画面分を表示する。このステップ４０８の処理の詳細については後述する。
【００９１】
本文が表示されると、ステップ４１０でユーザからの指示待ちの状態に移る。すなわち、ユーザからの指示が発生するまでステップ４１０の処理を繰返す（ステップ４１０で「ＮＯ」）。ステップ４１０でユーザから何らかの指示があると（ステップ４１０で「ＹＥＳ」）、制御はステップ４１２に移る。ステップ４１２では、指示の種類に応じて処理が分岐する。すなわち、指示が「移動」であればステップ４１４に、「パラメータ変更」であればステップ４１８に、「書込」であればステップ４２０に、それぞれ移る。指示が「終了」であればこのプログラムの実行を終了する。
【００９２】
「移動」とは、画面を１画面分前後に移動する指示のことをいう。この場合、ステップ４１４では、表示中の電子文書の位置を指定された位置に変更し、ステップ４０８に戻る。この結果、ステップ４０８において、新たに指定された箇所の電子文書とユーザデータとの１画面分のレイアウトが計算され、表示部７４に表示される。
【００９３】
ステップ４１８では、表示パラメータ管理部７０に格納されている表示パラメータを更新する。この処理は、ユーザが自分の読易い字体で電子文書を閲覧できる様に各種パラメータを変更する処理である。この処理では、縦書き/横書きの組み方向、使用するフォント姪、フォントサイズ、字間サイズ、行間サイズ、又は語間サイズ等が、ユーザの好みによって変更される。この様に表示パラメータを変更する処理は、従来から行なわれている処理である。
【００９４】
ステップ４１８により表示パラメータが変更されると、制御はステップ４０６に移る。ステップ４０６では、表示位置を電子文書の先頭に設定する。その後、ステップ４０８により、更新後の表示パラメータを使って１画面分のレイアウトを計算し、表示部に表示する（ステップ４０８）。４１０以降の処理は、先の説明と同じなので、ここではその詳細な説明は繰返さない。
【００９５】
ステップ４２０では、手書きデータを構成する複数の折れ線を、手書きデータ入力部７６を通じてユーザに入力させ、レイアウト計算部７２により表示中の本文に手書きデータを重ね合わせた表示イメージを作成して、表示部７４に表示する。その後、ステップ４２２において、ステップ４２０で入力された手書きデータを既存のユーザデータに追加する。具体的には、ユーザ書込処理部７８により、上記の手書きデータとその本文に対する位置、及び表示パラメータ管理部に保存されている現在の表示パラメータを参照して、図５、図６に示した形式のデータを作成する。この後、制御はステップ４２２に進む。
【００９６】
ステップ４２２では、ユーザの入力した手書きデータを、ユーザデータ入出力部６６を通じてユーザデータ格納部６４に保存する。この後、制御はステップ４１０に戻る。
【００９７】
図１３は、図１２に示すステップ４０８の詳細をフローチャート形式で示す。この処理は、仮想画面を用意してその上に本文や手書きデータのレイアウトを計算する処理（ステップ４４０からステップ４５４）と、仮想画面上で計算したレイアウトに従って表示部７４に表示する処理（ステップ４５６）との２つに大きく分かれる。前者の処理はレイアウト計算部７２で行われる。
【００９８】
ステップ４４０では、ステップ４０６で設定された表示位置から始まる本文データを仮想画面上に１画面分レイアウトする。このとき、表示パラメータ管理部７０に格納されている現在の表示パラメータが用いられる。この次のステップ４４２から４５４の処理により、４４０で作成した仮想画面上に、手書きデータを重ね合わせていく。
【００９９】
まずステップ４４２で、何番目の手書きデータを処理しているかを表す変数ｉに１を代入する。変数ｉの値が１であれば１番目の手書きデータを処理中であることを示す。
【０１００】
ステップ４４４で変数ｉの値を調べ、手書きデータ数２１６より大きいかどうかを判定する。すなわち、すべての手書きデータを処理したかどうかを判定する。ステップ４４４で「ＹＥＳ」と判定されるとステップ４５６に進み、さもなければステップ４４６に進む。
【０１０１】
ステップ４５６は、後述する処理が全ての手書きデータに対して完了した場合に行なわれる処理である。ここでは、仮想画面に対するレイアウトに基づき、表示部７４に本文と手書きデータとが表示される。表示が完了するとこの処理を終了する。
【０１０２】
一方、ステップ４４４で「ＮＯ」と判定されると、ステップ４４６においては次の処理が行なわれる。すなわち、手書きデータの書込まれた位置が、仮想画面上にレイアウトされている本文の範囲内かどうかが判定される。手書きデータの位置としては、図６に示す書込領域本文格納位置１９０に格納された値を用いる。ステップ４４６により、手書きデータの書込範囲のすべてが、表示しようとしている本文の範囲外であると判定されると制御はステップ４５４に進み、さもなければ制御はステップ４４８に進む。
【０１０３】
ステップ４５４では、変数ｉの値を１増やし、ステップ４４４に戻って次の手書きデータの処理を行なう。
【０１０４】
一方、ステップ４４６で、手書きデータのすべて又は一部が、表示しようとしている本文の範囲内であると判定されるとステップ４４８では以下の処理が実行される。すなわち、手書きデータと本文を重ね合わせた場合、図２に示すような、本文と手書きデータとの表示の間に食い違いが発生しないかどうかが判定される。ステップ４４８の処理の詳細については、後ほど説明する。ステップ４４８において、重ね合わせて表示しても問題ないと判定された場合、制御はステップ４５０に進み、さもなければ制御はステップ４５２に進む。
【０１０５】
ステップ４５０では、手書きデータを仮想画面にレイアウトする。図１５は、手書きデータが図７の手書きデータ３１０の様に、本文の表示領域内に記録されていた場合の表示例である。書込のあった行（図７の矩形３２０）に対応する行３１２に、手書きデータ３１０が重ね合わせてレイアウトされる。このとき、図６に示す手書きデータ１７４の情報が用いられる。
【０１０６】
図１６は、手書きデータが図１０の手書きデータ３５０の様に余白の右部のみに記録されていた場合の表示例である。この場合も、書込のあった行（図１０の矩形３５２）に対応する行５３０の右側の余白に、手書きデータ３５０をレイアウトする。この時、図６に示す手書きデータ１７４の情報を用いる。なお、後述する様に、手書きデータの書込時と仮想画面のレイアウト時とでは、本文の表示領域の行幅３８２は異なる場合がある。従って、書込時の行の右側境界と、仮想画面の行の右側境界とが一致する様に、手書きデータを左右にずらして表示する
一方、余白の左部のみに手書きデータが書込まれていた場合には、図６に示す手書きデータ１７４の情報をそのまま用いて、仮想画面に手書きデータをレイアウトする。
【０１０７】
図１７は、手書きデータが図８の手書きデータ３３０によって示される様に余白の上部に記録されていた場合の表示例である。この様に、手書きデータが余白の上部のみ、又は上部にまたがって書込まれていた場合、書込のあった行（図８の矩形３３２）に対応する行５５０（図１７）が表示部の先頭行に来ないことがある。その場合には、余白の上部にはみ出る分の領域５５２だけ行５５０の直前の行間を広げ、そこに手書きデータ３３０を表示する。上部の余白に手書きデータを記録した場合、折れ線を構成する各頂点の縦方向の座標値は負の値となっているので、負の座標値の最小値を調べ、その値の絶対値分を領域５５２の高さとすればよい。これに対し、行５５０が表示部の先頭行に来る場合は、行間を広げることなく、手書きデータを余白部にそのまま表示する。
【０１０８】
図１８は、手書きデータが図９の手書きデータ３４０で示される様に余白の下部に記録されていた場合の表示例である。この様に、手書きデータが余白の下部のみ、又は下部にまたがって書込まれていた場合、書込のあった行（図９の矩形３４２）に対応する行５７０が表示部の最終行に来ない場合がある。そうしたときには、余白の下部にはみ出る分の領域５７２のサイズだけ行５７０の直後の行間を広げ、そこに手書きデータ３４０を表示する。下部の余白に手書きデータを記録した場合、折れ線を構成する各頂点の縦方向の座標値は、書込行領域サイズ２４０の縦方向のサイズより大きい値となっている。従って、手書きデータの折れ線の縦方向の座標値の最大値を調べ、行５７０の座標に、手書きデータ３４０の縦方向のサイズ分だけ加算した値を次の行の位置とすればよい。なお、行５７０が表示部の最終行に来る場合は、行間を広げることなく、余白部にそのまま表示する。
【０１０９】
再び図１３を参照して、ステップ４４８において重ね合わせて表示してはいけないと判定された場合（４４８で「ＮＯ」）、制御はステップ４５２に進む。ステップ４５２では、手書きデータを重ね合わせて記録する代わりに、図１９の様にその行の右余白に手書きメモが記録されていたことを示すアイコン画像５８０をレイアウトする。本実施の形態では、ユーザがこのアイコン画像５８０をクリックすると、図６に示す書込時表示画像ファイル名領域１７６に記録されている画像ファイルを読出し、図２０のウィンドウ６００の様に手書きデータ入力時のキャプチャ画像を表示部の前面に表示する。この結果、手書きデータを重ね合わせることが出来ない場合でも、手書きデータと本文の位置関係を正しくユーザに提示できる。
【０１１０】
図１３を参照して、ステップ４５０、４５２の処理が終了すると、いずれの場合にも制御はステップ４５４に進む。ステップ４５４では、前述の通り変数ｉの値を１増やし、ステップ４４４に戻り次の手書きデータの処理に移る。
【０１１１】
図１３のステップ４４８で行なわれる、重ね合わせ表示ができるか否かを判定する処理の詳細を、図１４にフローチャート形式で示す。図１４を参照して、ステップ４８０により、手書きデータの書込まれた領域の全てが、仮想画面中にレイアウトされている本文の範囲内に含まれているかどうかが判定される。この判定は、書込領域本文格納位置１９０に記録されている値により行なわれる。ステップ４８０の判定結果が「ＮＯ」であれば制御はステップ４８８に進み、さもなければステップ４８２に進む。
【０１１２】
ステップ４８８では、重ね合わせた場合に問題があることを示す値「ＮＯ」を戻り値に設定して処理を終了する。
【０１１３】
一方、ステップ４８２では、手書きデータの書込まれた領域のすべてが、余白の左部（縦書き時は上部）のみにあるか、又は右部（縦書き時は下部）のみにあるかどうかが判定される。どの領域に書込まれたかの判定は、図６に示す書込行領域サイズ２４０と、各折れ線の頂点座標値（座標値領域２６４、２６６、…、２８４、２８６、…）の値とを比較することで行われる。
【０１１４】
例えば、手書きデータが右側の余白に記録されている場合、手書きデータを構成する折れ線の各頂点の座標値のうち横方向の値は、書込行領域サイズ２４０の横方向のサイズよりも大きくなる。一方、左側の余白に記録されている場合は、手書きデータを構成する折れ線の各頂点の座標値のうち横方向の値は、負の値となっている。この特徴を利用して、ステップ４８２での判定が行われる。
【０１１５】
ステップ４８２において「ＮＯ」と判定されると、制御はステップ４８４に進み、さもなければ制御はステップ４８６に進む。
【０１１６】
ステップ４８４では、手書きデータが書込まれた時の本文のレイアウトと、仮想画面上のレイアウトとが一致するかどうかが判定される。具体的には、書込まれた各行の先頭文字（図６に示す行先頭データ記憶領域１８０に格納された値により特定される。）が、仮想画面上のレイアウトでも行の先頭から始まっているか（表示部の何行目から始まっているかは問わない）否かと、表示パラメータのすべて（図６に示す表示パラメータ領域１７２の値）が、現在の表示パラメータと一致しているか否かに関する判定が行なわれる。いずれも一致している場合にはレイアウトが一致すると判定され、制御はステップ４９０に進む。それ以外の場合には制御はステップ４８８に進む。
【０１１７】
ステップ４９０では、本文と手書きデータとを重ね合わせても問題がない事を示す値「ＹＥＳ」を戻り値に設定し処理を終了する。
【０１１８】
一方、ステップ４８２で「ＹＥＳ」と判定されると、ステップ４８６で次のような処理が実行される。すなわち、図６の手書きデータ記憶領域１４４に格納されたパラメータの内、書込行の各先頭文字（図６の行先頭データ記憶領域１８０）と、組み方向（図６の組み方向領域２１０）、書込行領域の縦方向（縦書き時は横方向）のサイズ（図６の書込行領域サイズ２４０）のみが、仮想画面上にレイアウト計算時と一致しているかどうか判定される。ステップ４８６で一致すると判定された場合は、制御はステップ４９０に進み、さもなければステップ４８８に進む。
【０１１９】
以上の様にして、本文と手書きデータとを重ねることができる場合にはステップ４９０で「ＹＥＳ」という値が返されるが、そうでなければステップ４８８で「ＮＯ」という値が返される。
【０１２０】
ここで、図１４のステップ４８６で行われる処理について少し補足する。ステップ４８６では、ステップ４８４と異なり、手書きデータ記憶領域１４４に記憶されたパラメータの一部の値のみを用いて重ね合わせができるか否かの判定を行なう。これは以下の理由による。すなわち、手書きデータが余白の左部又は右部(縦書き時は上部又は下部)のみにある場合、手書きメモと本文の位置がずれない様にするには、各行の先頭文字の他、行と行との位置関係のみが重要となる。一方、行内の各文字のレイアウト（横書き時の横方向のレイアウト、及び縦書き時の縦方向のレイアウト）は、行の先頭文字と最後の文字とが元のレイアウトのものと一致すれば、手書きデータと本文との位置関係のずれには影響しない。そのため、ステップ４８６では、横書き時の横方向及び縦書き時の縦方向に影響するパラメータは比較の対象としていない。その結果、例えば、書込時と仮想画面のレイアウト時で行幅３８２が異なる場合であっても、各行の先頭文字、組み方向、書込行の縦方向のサイズが一致すれば、重ね合わせることができると判定する。
【０１２１】
＜動作＞
以上、構成を説明した表示装置５０は以下の様に動作する。図３を参照して、ユーザが図示しない電源スイッチを操作して電源を投入すると、表示装置５０はユーザの指示待ちになる。このとき、制御部８０は、文書の表示パラメータを所定の値（前回の値）に初期設定する。ユーザから指示があると、その入力は制御部８０を介してユーザ指示処理部６８に与えられ、ユーザ指示処理部６８により次にどのような処理を行なうかが選択される。
【０１２２】
ユーザが電子文書の表示処理を選択すると、制御部８０は文書格納部６０に記憶された電子文書の一覧を作成する様に文書入力部６２に指示し、表示部７４に表示させる。表示部７４に表示された一覧の中からユーザが電子文書を選択すると、制御部８０は当該文書を文書格納部６０から読出す様に文書入力部６２に指示を出す。また制御部８０は、その文書に対応するユーザデータがあればそれを読出す様にユーザデータ入出力部６６に指示を与える。
【０１２３】
文書格納部６０は、制御部８０からの指示に応答して、読出した文書をレイアウト計算部７２に与える。ユーザデータ入出力部６６は、指示された文書に対応するユーザデータが存在すれば、そのユーザデータをレイアウト計算部７２に与える。ユーザデータがない場合の処理は自明なので、以下文書に対応するユーザデータが存在する場合についてのみ説明する。
【０１２４】
レイアウト計算部７２は、文書入力部６２から与えられた文書と、ユーザデータ入出力部６６から与えられたユーザデータとに対し、制御部８０によって設定されている表示パラメータとユーザデータ１３０（図５参照）に格納されている各種データとを用いて、レイアウト計算を行ない、計算に従ったレイアウトで１ページ目の本文と手書きデータとを表示部７４に表示させる。
【０１２５】
このときのレイアウト方法については、図１５から図１８を参照して説明した通り、手書きデータの表示位置を定め、必要であれば本文の表示位置を変更することにより、手書きデータと、対応する本文の各文字とが正しく対応して重ね合わせる様にする。もしもそうした重ね合わせができないときには、図１９に示した様に、手書きデータに代えてアイコン画像５８０を表示する。
【０１２６】
この表示が終わると、表示装置５０は再度ユーザの指示待ちになる。
【０１２７】
ユーザから次のページを表示する指示があると、制御部８０はレイアウト計算部７２に指示し、次のページのレイアウト計算を行なわせる。レイアウト計算部７２は１ページ目と同様にして２ページ目のレイアウト計算を行ない、表示部７４に表示する。
【０１２８】
以下、ページ移動に関する指示がユーザからあるたびに、同様の処理を繰返す。
【０１２９】
ユーザが表示設定を変更する処理を選択すると、制御部８０は表示部７４上に表示パラメータ設定の画面を表示させ、ユーザの入力を受ける。ユーザからの入力は表示パラメータ管理部７０に与えられ、表示パラメータ管理部７０はその表示パラメータをユーザ書込処理部７８に与える。ユーザ書込処理部７８は、この表示パラメータに従ってレイアウト計算部７２に新たなレイアウト計算をさせ、新たなレイアウトで表示部７４に電子文書と手書きデータとを表示させる。
【０１３０】
ユーザから手書き入力の指示があると、制御部８０は手書きデータ入力部７６に対し指示し、ユーザからの手書き入力が可能な状態とする。ユーザが入力した手書きデータは、入力位置及び入力された折れ線データとして手書きデータ入力部７６からユーザ書込処理部７８に与えられる。ユーザ書込処理部７８は、この手書きデータをレイアウト計算部７２に与える。レイアウト計算部７２は、与えられた手書きデータの入力位置及び折れ線データに従って画像にこの手書きデータを追加し、表示部７４の表示を更新する。また制御部８０は、このときの表示部７４の表示状態をキャプチャし、ユーザデータ格納部６４内に所定のファイル名を付けて保存する。制御部８０はさらに、このファイル名をユーザ書込処理部７８に与える。
【０１３１】
ユーザ書込処理部７８は、この様にして入力された手書きデータを、キャプチャ画面のファイル名と併せ、そのときの表示パラメータとともに保持しておく。
【０１３２】
ユーザが図１９に示したアイコン画像５８０をクリックすると、その情報は制御部８０に与えられる。制御部８０は、このクリックに応答して、当該手書きデータに関する手書きデータ（図６参照）の書込時表示画像ファイル名領域１７６から書込時の画面のキャプチャデータを読出す。制御部８０はさらに、この画像を表示部７４に与えて図２０に示す様に新たなウィンドウに表示させる。このウィンドウは、所定の指示（例えばウィンドウ上部の所定位置をクリックすること）により閉じることができる。
【０１３３】
ユーザが文書の表示を終了する指示を入力すると、制御部８０は当該文書に対する変更を保存するか否かについてユーザに尋ね、ユーザの指示を受ける。保存しないという指示を受けた場合には、制御部８０はユーザデータ格納部６４に保存したキャプチャ画像のファイルがあればそれを削除し、さらに文書格納部６０に格納された文書の一覧を再度表示させる。保存するという指示を受けた場合には、制御部８０は、ユーザ書込処理部７８に対してユーザの書込データを保存する様に指示を出す。
【０１３４】
ユーザ書込処理部７８はこれに応答して、新たに入力されたユーザデータと、そのときの表示パラメータとをユーザデータ入出力部６６に与える。ユーザデータ入出力部６６は、このユーザデータと表示パラメータとに基づいて手書きデータを図６に示す手書きデータを記憶領域１４４のフォーマットに従って作成し、図５に示すユーザデータ１３０の末尾に新たな手書きデータとして追加し、ユーザデータ格納部６４に保存する。
【０１３５】
既存の手書きデータに対して表示位置の変更等があった場合には、既存の手書きデータに基づいて新たな手書きデータをそのときの表示パラメータと画面キャプチャのファイル名とを用いて作成する。文書の保存のときには、新たな手書きデータでユーザデータ１３０（図５）内の対応する古い手書きデータを置換し、ユーザデータ１３０をユーザデータ格納部６４に保存する。
【０１３６】
次にこの文書が読出されたときには、変更がなかった手書きデータについては、ユーザデータ１３０内にそのデータが保存されているため、上記した動作と同じ動作により表示が行なわれる。追加又は変更があった手書きデータについては、追加又は変更された手書きデータがユーザデータ１３０内に保存されているため、追加又は変更された手書きデータに従って、それらの表示が行なわれる。ただしこの際の表示装置５０の動作自体は、変更されなかった手書きデータに対する動作と全く同じである。
【０１３７】
こうして、本実施の形態に係る表示装置５０によれば、電子文書の表示設定が変更された場合には、変更後の設定に従い、手書きデータが対応する電子文書の文字に対応する形で表示される。表示レイアウトが狂わず、ユーザは手書きデータを正しく解釈できる。仮にそうした重ね合わせができない場合にも、図１９に示すアイコン画像５８０を表示し、アイコン画像５８０をクリックすることにより、手書きしたときの画面のキャプチャ画像を表示できる。そのため、ユーザはレイアウト修正が困難な場合でも手書きデータと本文との対応関係を正しく理解することができる。
【０１３８】
図２１は、本実施の形態の表示装置５０をコンピュータプログラムにより実現する場合の、表示装置５０のブロック図である。図２１に示される様に、表示装置５０の本体は実質的にコンピュータ６２０からなる。このコンピュータ６２０に、液晶表示装置等からなる表示部６２８と、表示装置を操作するための入力部６２２と、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）又はハードディスク等の外部記憶装置６２４とを取り付けることにより表示装置５０を構成することができる。
【０１３９】
コンピュータ６２０は、入力部６２２と外部記憶装置６２４とに接続されたＣＰＵ（中央演算処理装置）６４２と、ＣＰＵ６４２にバスを介して接続され、ＣＰＵ６４２による制御に従って表示部６２８に種々の情報を表示するための表示制御部６４０と、ＣＰＵ６４２にバスを介して接続され、ＣＰＵ６４２が実行する上記した表示装置５０の各機能を実現するコンピュータプログラム及び所定のオペレーティングシステム（ＯＳ）プログラム等を格納した不揮発性のメモリからなるプログラム用メモリ６４４と、ＣＰＵ６４２にバスを介して接続され、ＣＰＵ６４２が上記したコンピュータプログラムを実行する際のデータを記憶するためのデータ用メモリ６４６とを含む。
【０１４０】
ユーザは、表示部６２８及び入力部６２２を用い、表示させたい電子文書の選択や、手書きデータの書込、電子文書の表示パラメータの変更、表示処理時のページめくりの指示等を行なう。外部記憶装置６２４は、表示対象となる電子文書、ユーザが書きこんだ手書きデータ等からなるユーザデータの他、図１２〜図１４に制御構造を示すコンピュータプログラムを蓄えている。このプログラムはあらかじめ外部記憶装置６２４に格納されていてもよいし、表示装置５０の出荷後に、例えば図示しない通信装置及びネットワークを介して配信サーバ６３０からファイル転送して外部記憶装置６２４に保存する様にしてもよい。これらのプログラム、電子文書及びユーザデータ等は、表示装置５０の電源が投入され文書表示が指示されると、外部記憶装置６２４から読出されてプログラム用メモリ６４４とデータ用メモリ６４６とにロードされ、ＣＰＵ６４２によって実行される。表示制御部６４０はＣＰＵ６４２によるプログラム実行の結果に従い、ＣＰＵ６４２の制御に従って表示部６２８に電子文書及び手書きデータ等の情報を表示する。
【０１４１】
＜変形例＞
以上、本発明を一実施の形態に係る表示装置５０を例として説明した。しかし本発明は上記した実施の形態以外にも種々の形態に変形して実施可能である。以下、それら変形例について説明する。
【０１４２】
まず、図１２に示すステップ４０４では、レイアウト計算の初期値として前回の文書表示の終了時に使用していた値を用いる。しかし本発明はそのような実施の形態には限定されない。例えば、表示装置が持っている固有の表示パラメータを初期値としてもよい。また、初期値自体をユーザが予め設定できる様にしてもよい。
【０１４３】
また、図１２のステップ４０６においては、表示する位置を、読出した電子文書の先頭に設定するが、本発明はそのような実施の形態には限定されない。例えば、電子文書の表示時には、その文書を前回閲覧した時に最後に表示していた位置を記憶しておき、そこに設定する様にしてもよい。
【０１４４】
図１４のステップ４８４の処理としては、上記に記した方法を用いなくてもよい。手書きデータを書込んだ時のレイアウトと、仮想画面上のレイアウトとが一致するかどうかの判定が出来さえすればよい。従って、その判定ができさえすれば、図６の書込領域１７０及び表示パラメータ領域１７２の内容を記録する代わりに、別の情報を用いてもよい。例えば、手書きデータが書込まれた行の全文字の位置を、先頭行の右上座標を原点とした相対座標値で記録しておき、各文字のレイアウトが一致するかどうかを判定する様にしてもよい。
【０１４５】
また、図１９に示すアイコン画像５８０がクリックされたときに、上記実施の形態では図２０に示す様に別ウィンドウ６００でキャプチャ画像を表示する。しかし本発明はそのような実施の形態には限定されない。例えば、画面表示そのものを切替える様にしてもよい。また、表示されている本文の表示領域と重ならない位置にキャプチャ画像を表示する様にしてもよい。
【０１４６】
また、書込時と今回の仮想画面のレイアウト時とで、手書きデータの書込行に含まれる全ての文字の位置が所定の倍率でずれている場合もある。すなわち、全ての文字に対して、書込時の文字の座標値（ｘ１、ｙ１）と仮想画面レイアウト時の座標値(ｘ２、ｙ２)との間に、拡大率ｒを用いて
ｘ２＝ｘ１×ｒ
ｙ２＝ｙ１×ｒ
の関係が成り立つ場合がある。図１３のステップ４４８の処理で、こうした条件が成立する場合には「ＹＥＳ」と判定する様にし、ステップ４５０において手書きデータを拡大率ｒで拡大/縮小して、本文に重ね合わせる様にしてもよい。
【０１４７】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１４８】
【図１】電子文書に手書きデータを正しく重ね合わせて表示した状態を示す図である。
【図２】電子文書に対し、手書きデータの表示位置がずれた状態を示す図である。
【図３】本発明の一実施の形態に係る表示装置５０のブロック図である。
【図４】本発明の一実施の形態に係る表示装置５０の外観を示す図である。
【図５】ユーザデータ１３０のデータ構造を示す図である。
【図６】ユーザデータ１３０のうち、手書きデータ記憶領域１４４のデータ構造を示す図である。
【図７】表示部の本文領域内に手書きデータが書込まれた状態を示す図である。
【図８】余白領域の上側に手書きデータが書込まれた状態を示す図である。
【図９】余白領域の下側に手書きデータが書込まれた状態を示す図である。
【図１０】余白領域の右側に手書きデータが書込まれた状態を示す図である。
【図１１】余白、行幅を説明するための表示部の模式図である。
【図１２】本発明の一実施の形態に係る表示装置５０で実行されるプログラムの制御構造を示すフローチャートである。
【図１３】図１２のステップ４０８で実行される本文表示処理の詳細を示すフローチャートである。
【図１４】図１３のステップ４４８で実行される、重ね合わせ表示が可能か否かを判定する処理の詳細を示すフローチャートである。
【図１５】本文領域内に書込まれた手書きデータを、本文と重ね合わせて表示した状態を示す図である。
【図１６】余白領域の右側に書込まれた手書きデータを、本文と重ね合わせて表示した状態を示す図である。
【図１７】余白領域の上側に書込まれた手書きデータを、本文と重ね合わせて表示した状態を示す図である。
【図１８】余白領域の下側に書込まれた手書きデータを、本文と重ね合わせて表示した状態を示す図である。
【図１９】手書きデータを本文に重ね合わせて表示できない時に表示されるアイコン画像の例を示す図である。
【図２０】図１９に示すアイコン画像をクリックしたときに表示される画像の例を示す図である。
【図２１】本発明の一実施の形態に係る表示装置５０を実現する場合の、表示装置５０を構成するハードウェアのブロック図である。
【符号の説明】
【０１４９】
３０，３２  文書領域、４０  手書きメモ、５０  表示装置、６０  文書格納部、６２  文書入力部、６４  ユーザデータ格納部、６６  ユーザデータ入出力部、６８  ユーザ指示処理部  ７０  表示パラメータ管理部、７２  レイアウト計算部、７４  表示部、７６  手書きデータ入力部、７８  ユーザ書込処理部、８０  制御部
【図１】
2006285896.tif 000003
【図２】
2006285896.tif 000004
【図３】
2006285896.tif 000005
【図４】
2006285896.tif 000006
【図５】
2006285896.tif 000007
【図６】
2006285896.tif 000008
【図７】
2006285896.tif 000009
【図８】
2006285896.tif 000010
【図９】
2006285896.tif 000011
【図１０】
2006285896.tif 000012
【図１１】
2006285896.tif 000013
【図１２】
2006285896.tif 000014
【図１３】
2006285896.tif 000015
【図１４】
2006285896.tif 000016
【図１５】
2006285896.tif 000017
【図１６】
2006285896.tif 000018
【図１７】
2006285896.tif 000019
【図１８】
2006285896.tif 000020
【図１９】
2006285896.tif 000021
【図２０】
2006285896.tif 000022
【図２１】
2006285896.tif 000023
【手続補正書】
【提出日】平成18年2月23日(2006.2.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
手書き入力部を兼ねる、所定の表示領域を有する表示部と、
所定の表示パラメータに従い、動的レイアウト型の電子文書の前記表示領域上での表示レイアウトを計算し、当該レイアウトに従って前記電子文書を前記表示部に表示させるためのレイアウト計算手段と、
前記手書き入力部を用いたユーザの手書きデータの入力を受け、当該手書きデータを、前記表示領域に表示されている前記電子文書と重なるように前記表示部に表示させるための手書きデータ処理手段と、
前記手書きデータの表示に用いるユーザデータを、前記電子文書と関連付けて所定の記憶媒体に保存するためのユーザデータ保存手段とを含み、
前記ユーザデータは、前記手書きデータの形状を特定する形状データと、前記手書きデータの書込まれた電子文書内の領域を特定する書込領域情報と、前記手書きデータが作成された時の、前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含む、電子文書の表示装置。
【請求項２】
前記書込時レイアウト情報は、前記手書きデータの書込がされたときに表示されていた電子文書の表示レイアウトを計算する際に使用された前記所定の表示パラメータを含む、請求項１に記載の電子文書の表示装置。
【請求項３】
前記形状データは、前記手書きデータを構成する複数の折れ線の１又は複数の頂点座標を含み、
前記１又は複数の頂点座標の各々は、前記手書きデータの書込がされたときに前記表示部に表示されていた電子文書の、前記手書きデータの書込がされた領域と所定の関係にある位置を原点とする座標系により表される、請求項１に記載の電子文書の表示装置。
【請求項４】
前記表示領域に表示される電子文書は、前記表示領域に内に規定される第１の方向に配列された１又は複数の行を含み、各行は、前記第１の方向と交差する第２の方向に配列された文字を含み、
前記手書きデータの書込がされた領域と所定の関係にある位置は、
前記手書きデータの書込がされた領域の少なくとも一部が、前記電子文書の表示されている領域と重なっているときには、当該重なっている領域内の前記電子文書の先頭行の先頭文字により規定される位置であり、
前記手書きデータの書込がされた領域が、前記電子文書の表示されている領域と重なっていないときには、前記手書きデータの書込がされた領域から前記第１の方向又は前記第２の方向に前記手書きデータの書込がされた領域を移動させたときに、前記電子文書のうち、当該領域と重なり得る領域内に表示されている先頭行の先頭文字により規定される位置である、請求項３に記載の電子文書の表示装置。
【請求項５】
前記ユーザデータは、前記手書きデータの書込がされた時に、前記表示領域に表示されていた手書きデータと本文との画像を記録した画像ファイルのファイル名を含む、請求項１に記載の電子文書の表示装置。
【請求項６】
前記書込時レイアウト情報は、前記表示領域に表示された電子文書において、前記手書きデータの書込がされた領域と重なる行の先頭文字の、前記電子文書のデータ内における位置を含む、請求項１に記載の電子文書の表示装置。
【請求項７】
所定の表示領域を有する表示部と、
動的レイアウト型の電子文書を所定の記憶媒体から読出すための第１の読出手段と、
前記電子文書に書込まれた手書きデータの形状を特定する形状データと、前記手書きデータの書込まれた電子文書内の位置を特定する書込領域情報と、前記手書きデータが作成されたときの前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含むユーザデータであって、かつ前記第１の読出手段により読出される電子文書と関連付けられたものを、所定の記憶媒体から読出すための第２の読出手段と、
前記第１の読出手段により読出された前記電子文書のレイアウトと、前記第２の読出手段により読出された前記ユーザデータ内の手書きデータの表示レイアウトとを、前記表示部に設定されている表示パラメータに基づいて計算するためのレイアウト計算手段とを含み、
前記レイアウト計算手段は、
前記表示パラメータを使って前記電子文書をレイアウトし、前記手書きデータを前記書込時レイアウト情報に基づいてレイアウトした場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近傍の電子文書との位置関係を維持した表示ができるかどうかを、前記表示部に設定されている表示パラメータと前記書込時レイアウト情報とを用いて判定するための判定手段と、
前記判定手段により前記維持した表示ができると判定されたことに応答して、前記表示部に設定されている表示パラメータと前記書込時レイアウト情報とを用いて、前記手書きデータと前記手書きデータ近傍の前記電子文書との位置関係を維持しながら、前記手書きデータを前記電子文書と重ね合わせるようにレイアウト計算を行なうための第１のレイアウト手段とを含む、電子文書の表示装置。
【請求項８】
前記レイアウト計算手段はさらに、前記判定手段により前記維持した表示ができないと判定されたことに応答して、前記手書きデータと前記電子文書とが重ならないように所定のレイアウト計算を行なうための第２のレイアウト手段を含む、請求項７に記載の電子文書の表示装置。
【請求項９】
前記ユーザデータは、手書きデータの書込がされた時に、前記表示部に表示されていた手書きデータと本文との表示状態を記録した画像ファイルのファイル名を含み、
前記第２のレイアウト手段は、前記判定手段により前記維持した表示ができないと判定されたことに応答して、前記画像ファイルを表示するための所定の処理を実行する、請求項８に記載の電子文書の表示装置。
【請求項１０】
前記判定手段は、前記書込領域情報により、書込時の前記手書きデータの全体が前記電子文書の行頭側及び行末側のいずれかの余白領域内に含まれることが示されている場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近傍の電子文書との位置関係を維持した表示ができるかどうかを、前記表示部に設定されている表示パラメータと、前記書込時レイアウト情報の内で行と交差する方向のレイアウトに関係する情報とのみを用いて判定するための手段を含む、請求項７に記載の電子文書の表示装置。
【請求項１１】
前記第１のレイアウト手段は、書込時の前記手書きデータの全体が前記所定の表示領域における先頭行側の余白領域内に含まれていることを前記書込領域情報が示し、前記レイアウト計算手段により本文をレイアウトした結果、手書きデータの書込時に前記所定の表示領域において先頭に表示されていた行が２行目以降にレイアウトされる場合は、当該行の直前の行間を拡大し、該行間に前記手書きデータをレイアウトすることを特徴とする、請求項７に記載の電子文書の表示装置。
【請求項１２】
前記第１のレイアウト手段は、書込時の前記手書きデータの全体が前記所定の表示領域における最終行側の余白領域内に含まれていることを前記書込領域情報が示し、前記レイアウト計算手段により本文をレイアウトした結果、手書きデータが書込まれた時に表示部の最終行に表示されていた行が最終行以外にレイアウトされる場合は、当該行の直後の行間を拡大し、当該行間に前記手書きデータをレイアウトすることを特徴とする、請求項７に記載の電子文書の表示装置。
【請求項１３】
コンピュータにより実行されると、請求項１〜請求項１２のいずれかに記載の電子文書の表示装置として当該コンピュータを動作させる、コンピュータプログラム。
【請求項１４】
手書き入力装置を兼ねる所定の表示領域を有する表示装置に電子文書を表示するための、コンピュータにより実現される電子文書の表示方法であって、
動的レイアウト型の電子文書を所定の記憶媒体から読出す読出ステップと、
前記読出ステップにおいて読出された電子文書の表示レイアウトを、前記表示領域に関して予め設定された表示パラメータに従い計算するレイアウト計算ステップと、
前記レイアウト計算ステップにおいて求められた表示レイアウトに従い、前記電子文書の内容を前記表示領域上に表示する表示ステップと、
前記表示部に表示中の電子文書に対する、前記手書き入力装置からの手書きデータの入力を受付け、電子文書の本文に重ね合わせて当該手書きデータを前記表示領域上に表示する手書きデータ入力ステップと、
前記手書きデータの入力時の前記電子文書の表示レイアウトを特定する情報を含むユーザデータを保存するステップとを含み、
前記ユーザデータには、前記手書きデータの形状を特定する形状データと、前記手書きデータの書込がされた電子文書内の位置を特定する書込領域情報と、手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報とを含む、電子文書の表示方法。
【請求項１５】
手書き入力装置を兼ねる、所定の表示領域を有する表示装置に電子文書を表示するための、コンピュータにより実現される電子文書の表示方法であって、
動的レイアウト型の電子文書を所定の記憶媒体から読出す第１の読出ステップと、
前記電子文書に書込まれた手書きデータの形状を特定する形状データと、前記手書きデータの書き込まれた電子文書内の位置を特定する書込領域情報と、前記手書きデータが作成されたときの前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含むユーザデータであって、かつ前記第１の読出ステップにより読出される電子文書と関連付けられたものを、所定の記憶媒体から読出す第２の読出ステップと、
前記第１の読出ステップにより読出された前記電子文書のレイアウトと、前記第２の読出ステップにより読出された前記ユーザデータ内の手書きデータの表示レイアウトとを、前記表示装置に設定されている表示パラメータに基づいて計算するレイアウト計算ステップとを含み、
前記レイアウト計算ステップは、
前記表示パラメータを使って前記電子文書をレイアウトし、前記手書きデータを前記書込時レイアウト情報に基づいてレイアウトした場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近傍の電子文書との位置関係を維持した表示ができるかどうかを、前記表示装置に設定されている表示パラメータと前記書込時レイアウト情報とを用いて判定する判定ステップと、
前記判定ステップにおいて前記維持した表示ができると判定されたことに応答して、前記表示装置に設定されている表示パラメータと前記書込時レイアウト情報とを用いて、前記手書きデータと前記手書きデータ近傍の前記電子文書との位置関係を維持しながら、前記手書きデータを前記電子文書と重ね合わせるようにレイアウト計算を行なうステップとを含む、電子文書の表示方法。
【請求項１６】
コンピュータにより実行されると、請求項１４又は請求項１５に記載の全てのステップを当該コンピュータに実行させるコンピュータプログラム。
【請求項１７】
請求項１３又は請求項１６に記載のコンピュータプログラムを記録した記録媒体。
【請求項１８】
プロセッサと、当該プロセッサに接続されたメモリと、前記プロセッサに動作的に接続された、手書き入力装置を兼ねる、所定の表示領域を有する表示装置と、前記プロセッサに連結された所定の記憶媒体とを含み、前記所定の記憶媒体に記憶された電子文書を前記表示領域上に表示する電子文書の表示装置であって、
前記メモリは、前記プロセッサにより実行されるコンピュータプログラムを記憶しており、
当該コンピュータプログラムは、
動的レイアウト型の電子文書を前記所定の記憶媒体から読出す読出プログラムコードと、
前記読出プログラムコードによって読出された電子文書の表示レイアウトを、前記表示領域に関して予め設定された表示パラメータに従い計算するプログラムコードと、
前記レイアウト計算プログラムコードによって求められた表示レイアウトに従い、前記電子文書の内容を前記表示領域上に表示するプログラムコードと、
前記表示部に表示中の電子文書に対する、前記手書き入力装置からの手書きデータの入力を受付け、電子文書の本文に重ね合わせて当該手書きデータを前記表示領域上に表示するプログラムコードと、
前記手書きデータの入力時の前記電子文書の表示レイアウトを特定する情報を含むユーザデータを保存するプログラムコードとを含み、
前記ユーザデータは、前記手書きデータの形状を特定する形状データと、前記手書きデータの書込がされた電子文書内の位置を特定する書込領域情報と、手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報とを含む、電子文書の表示装置。
【請求項１９】
プロセッサと、当該プロセッサに接続されたメモリと、前記プロセッサに動作的に接続された、手書き入力装置を兼ねる、所定の表示領域を有する表示装置と、前記プロセッサに連結された所定の記憶媒体とを含み、前記所定の記憶媒体に記憶された電子文書を前記表示領域上に表示する電子文書の表示装置であって、
前記メモリは、前記プロセッサにより実行されるコンピュータプログラムを記憶しており、
当該コンピュータプログラムは、
動的レイアウト型の電子文書を前記所定の記憶媒体から読出す第１の読出プログラムコードと、
前記電子文書に書き込まれた手書きデータの形状を特定する形状データと、前記手書きデータの書き込まれた電子文書内の位置を特定する書込領域情報と、前記手書きデータが作成されたときの前記電子文書の表示レイアウトを特定する書込時レイアウト情報とを含むユーザデータであって、かつ前記第１の読出プログラムコードにより読出される電子文書と関連付けられたものを、前記所定の記憶媒体から読出す第２の読出プログラムコードと、
前記第１の読出プログラムコードにより読出された前記電子文書のレイアウトと、前記第２の読出プログラムコードにより読出された手書きデータのレイアウトとを、前記表示装置に設定されている表示パラメータに基づいて計算するプログラムコードとを含み、
前記レイアウトを計算するプログラムコードは、
前記表示パラメータを使って前記電子文書をレイアウトし、前記手書きデータを前記書込み時レイアウト情報に基づいてレイアウトした場合に、前記手書きデータが作成された時の、前記手書きデータと前記手書きデータ近傍の電子文書との位置関係を維持した表示ができるかどうかを、前記表示パラメータと前記書込時レイアウト情報とを用いて判定するプログラムコードと、
前記判定するプログラムコードによって前記維持した表示ができると判定されたことに応答して、前記表示パラメータと前記書込時レイアウト情報とを用いて、前記手書きデータと前記手書きデータ近傍の前記電子文書との位置関係を維持しながら、前記手書きデータを前記電子文書と重ね合わせるようにレイアウト計算を行なうプログラムコードとを含む、電子文書の表示装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
例えば、後掲の特許文献１は、電子文書に対し付箋を貼り付けることが可能な情報処理装置を開示している。この装置では、表示された文書の各ページの任意の位置に付箋を貼り付けることが可能であり、さらに、付箋内には任意の文字や図形、イメージ等を記録できる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
以上の様に本発明によれば、手書きデータの形状データとともに、手書きデータの書込領域情報、及び手書きデータが書込まれた時の、電子文書の本文のレイアウトを特定するための書込時レイアウト情報を保存する。これら情報を用いることにより、この電子文書を異なる表示環境で表示したときに、手書きデータと電子文書との関係が正しくなる様に重ね合わせて表示したり、正しく重ね合わせて表示できないときには別の表示方法を用いて再現したり、という様に、電子文書に対する手書きデータの意味を明確にする表示を行なうことができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
ステップ４１８により表示パラメータが変更されると、制御はステップ４０６に移る。ステップ４０６では、表示位置を電子文書の先頭に設定する。その後、ステップ４０８により、更新後の表示パラメータを使って１画面分のレイアウトを計算し、表示部に表示する（ステップ４０８）。ステップ４１０以降の処理は、先の説明と同じなので、ここではその詳細な説明は繰返さない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
ステップ４４０では、ステップ４０６で設定された表示位置から始まる本文データを仮想画面上に１画面分レイアウトする。このとき、表示パラメータ管理部７０に格納されている現在の表示パラメータが用いられる。この次のステップ４４２から４５４の処理により、ステップ４４０で作成した仮想画面上に、手書きデータを重ね合わせていく。