(57)【要約】【課題】  表示されたコンテンツとメモとの位置関係及びサイズが可能な限り維持される態様でコンテンツとメモとをレイアウトする装置を提供する。【解決手段】  表示装置５０は、コンテンツを構成するコンテンツ要素を表示パネル６６におけるレイアウトを決定するコンテンツレイアウト部８２と、コンテンツとともに所定の領域に表示されるべきメモを構成するメモ要素と、メモを出力させるべきメモ出力領域のコンテンツ要素に対する相対位置を示す定義情報とを準備する、制御部８０及び記録部８４と、メモ要素の表示パネル６６におけるレイアウトを、コンテンツ要素のレイアウト及び定義情報をもとに決定するためのメモレイアウト部８６と、コンテンツ要素のレイアウト、及び決定されたメモ要素のレイアウトにしたがい、コンテンツ及びメモを表示パネル６６に出力するための表示制御部８８とを含む。【選択図】        図３
2006133870.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを構成するコンテンツ要素の所定の領域におけるレイアウトを決定するためのコンテンツレイアウト手段と、
コンテンツとともに前記所定の領域に出力されるべきメモを構成するメモ要素と、当該メモ要素を出力すべきメモ出力領域の前記コンテンツ要素に対する相対位置を示す定義情報とを準備するためのメモ準備手段と、
前記メモ要素の前記所定の領域におけるレイアウトを、前記コンテンツ要素の前記所定の領域におけるレイアウト、及び前記定義情報をもとに決定するためのメモレイアウト手段と、
前記コンテンツ要素のレイアウト、及び前記メモレイアウト手段により決定された前記メモ要素のレイアウトにしたがい、前記コンテンツ及び前記メモを所定の出力媒体に出力するための出力手段とを含む、レイアウト装置。
【請求項２】
前記メモレイアウト手段は、
前記コンテンツ要素の前記所定の領域におけるレイアウト及び前記定義情報をもとに、前記所定の領域において前記メモ要素を出力させるべき領域を判別するためのメモ出力領域判別手段と、
前記メモ要素の、前記出力させるべき領域に適合する出力位置及び出力サイズを決定するための決定手段とを含む、請求項１に記載のレイアウト装置。
【請求項３】
前記メモレイアウト手段はさらに、
前記出力させるべき領域の連続性に基づき、前記メモ要素の加工の要否を判定するための判定手段と、
前記判定手段による判定の結果にしたがい、加工を要すると判定されたメモ要素を所定の方法で加工して、複数のメモ要素を作成するための加工手段とを含む、請求項２に記載のレイアウト装置。
【請求項４】
前記加工手段は、前記判定手段による判定の結果にしたがい、前記メモ要素を分割することにより、前記複数のメモ要素を作成するための分割手段を含む、請求項３に記載のレイアウト装置。
【請求項５】
前記加工手段は、前記判定手段による判定の結果にしたがい、前記メモ要素を複製することにより、前記複数のメモ要素を作成するための複製手段を含む、請求項３に記載のレイアウト装置。
【請求項６】
前記出力手段は、前記コンテンツ要素のレイアウトと、前記メモレイアウト手段により決定されたレイアウトとにしたがい、前記コンテンツと前記加工手段により作成された複数のメモ要素とを前記出力媒体に出力するための手段を含み、前記複数のメモ要素は互いに関連付けられている、請求項３に記載のレイアウト装置。
【請求項７】
前記メモ準備手段は、
前記所定の領域へのメモの入力を受けて、当該メモを構成するメモ要素と、前記所定の領域においてメモが入力されたメモ入力領域を示す領域指定データとを準備するためのデータ準備手段と、
前記領域指定データと、前記所定の領域における前記コンテンツ要素のレイアウトとに基づき、前記定義情報を作成するための定義情報作成手段とを含む、請求項１に記載のレイアウト装置。
【請求項８】
前記定義情報作成手段は、
前記メモ入力領域と予め定める関係にある領域にレイアウトされたコンテンツ要素を特定するためのメモ関連コンテンツ要素特定手段と、
前記コンテンツ要素と前記メモ入力領域との相対位置を算出するための相対位置算出手段と、
前記定義情報を、前記メモ関連コンテンツ要素特定手段により特定されたコンテンツ要素、及び前記相対位置算出手段により算出された相対位置をもとに作成するための手段とを含む、請求項７に記載のレイアウト装置。
【請求項９】
前記メモ関連コンテンツ要素特定手段は、前記メモ入力領域と重なる領域にレイアウトされたコンテンツ要素を特定するための手段を含む、請求項８に記載のレイアウト装置。
【請求項１０】
前記相対位置算出手段は、前記特定するための手段により特定されたコンテンツ要素と前記メモ入力領域との相対位置を算出するための手段を含む、請求項９に記載のレイアウト装置。
【請求項１１】
前記相対位置算出手段は、前記メモ入力領域の予め定める複数の特徴点に対して、当該特徴点の前記所定の領域における位置から最短距離にレイアウトされたコンテンツ要素をそれぞれ特定し、当該各コンテンツ要素と前記メモ入力領域との相対位置を算出するための手段を含む、請求項８に記載のレイアウト装置。
【請求項１２】
前記メモ入力領域は、予め定められた多角形状の領域を含み、前記算出するための手段は、前記多角形状の領域の各頂点に対して、当該頂点の前記所定の領域における位置から最短距離にレイアウトされたコンテンツ要素を特定し、当該各コンテンツ要素と前記メモ入力領域との相対位置を算出するための頂点関連要素相対位置算出手段を含む、請求項１１に記載のレイアウト装置。
【請求項１３】
前記作成するための手段は、前記メモ関連コンテンツ要素特定手段により特定されたコンテンツ要素、及び前記相対位置算出手段により算出された相対位置をもとに前記定義情報を作成し記録するための手段を含む、請求項８に記載のレイアウト装置。
【請求項１４】
前記データ準備手段は、
ユーザによるメモの編集操作を受けたことに応答して、当該編集操作に対応する操作信号を発生するための操作手段と、
前記操作手段が発生する操作信号にしたがい、前記メモを構成するメモ要素と、前記所定の領域において当該メモ要素が占める領域とを特定し、当該メモ要素、及び当該メモ要素が占める領域を示すデータを準備するための手段とを含む、請求項７に記載のレイアウト装置。
【請求項１５】
さらに、前記メモ準備手段により準備されたメモと、前記定義情報とを併せて記録するための記録手段を含み、
前記メモレイアウト手段は、前記記録手段により記録された前記メモの前記所定の領域におけるレイアウトを、前記コンテンツ要素のレイアウト、及び前記記録手段により記録された前記定義情報をもとに決定するための手段を含む、請求項１に記載のレイアウト装置。
【請求項１６】
さらに、前記決定するための手段により決定された前記レイアウトをもとに、前記記録手段により記録された前記定義情報を更新するための手段を含む、請求項１５に記載のレイアウト装置。
【請求項１７】
前記コンテンツレイアウト手段は、
所定の出力設定に基づき、コンテンツを構成するコンテンツ要素の前記所定の領域におけるレイアウトを決定するためのコンテンツレイアウト決定手段を含み、
前記メモレイアウト手段は、前記コンテンツレイアウト決定手段により前記コンテンツ要素の前記所定の領域におけるレイアウトが決定されたことに応答して、前記メモ要素の前記所定の領域におけるレイアウトを、前記コンテンツレイアウト手段により決定された前記コンテンツ要素のレイアウト、及び前記定義情報をもとに決定するためのメモレイアウト決定手段を含む、請求項１に記載のレイアウト装置。
【請求項１８】
さらに、前記出力設定を更新するための出力設定更新手段を含み、
前記コンテンツレイアウト決定手段は、前記出力設定更新手段により前記出力設定が更新されたことに応答して、当該更新された出力設定に基づき、前記コンテンツを構成するコンテンツ要素の前記所定の領域におけるレイアウトを再決定するためのコンテンツレイアウト再決定手段を含み、
前記メモレイアウト決定手段は、前記コンテンツレイアウト再決定手段による再決定に応答して、前記メモ要素の前記所定の領域におけるレイアウトを、決定された前記コンテンツ要素のレイアウト、及び前記定義情報をもとに再決定するためのメモレイアウト再決定手段を含む、請求項１７に記載のレイアウト装置。
【請求項１９】
前記出力設定更新手段は、
ユーザによるコンテンツの出力設定操作を受けたことに応答して、当該出力設定操作に対応する操作信号を発生するための操作手段と、
前記操作手段が発生する操作信号にしたがい、前記出力設定を更新するための手段とを含む、請求項１８に記載のレイアウト装置。
【請求項２０】
前記出力手段は、前記コンテンツ要素のレイアウト、及び前記メモレイアウト手段により決定された前記メモ要素のレイアウトにしたがい、前記コンテンツ及び前記メモを予め定める画面に表示するための表示手段を含み、前記所定の領域は、前記画面上の領域を含む、請求項１に記載のレイアウト装置。
【請求項２１】
前記出力手段は、前記コンテンツ要素のレイアウト、及び前記メモレイアウト手段により決定された前記メモ要素のレイアウトにしたがい、前記コンテンツ及び前記メモを予め定める印刷媒体に印刷するための印刷手段を含み、前記所定の領域は、前記印刷媒体上の領域を含む、請求項１に記載のレイアウト装置。
【請求項２２】
コンピュータにより実行されると、当該コンピュータを請求項１から請求項２１のいずれかに記載のレイアウト装置として動作させる、コンピュータプログラム。
【請求項２３】
請求項２２に記載のコンピュータプログラムを記録した、コンピュータで読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の領域に情報をレイアウトして出力するレイアウト装置に関する。特に文字、文字列、及び画像等で構成されるコンテンツとコンテンツに対応するメモとが、所定の領域において関連する配置になるよう、コンテンツ及びメモのレイアウトを決定し、表示又は印刷するレイアウト装置に関する。
【背景技術】
【０００２】
情報技術の発展に伴い、文字、図形、及び画像等、並びにそれらが複合した情報からなる多種多様なコンテンツが電子化されるようになった。電子化されたコンテンツは、表示デバイス及びプリンタ等の出力装置により視覚的情報に変換され、表示又は印刷された状態で利用される。電子化されたコンテンツは、従来の紙媒体等に記録されたコンテンツと異なり、レイアウトの変更が容易であるという特徴を有する。例えば、表示デバイスの解像度、ユーザの好み等に応じて、文字又は画像のサイズ、表示位置、及び１行の文字数等を随時変更しながら表示できる。また例えば、印刷用紙のサイズに応じて、文字、図形、及び画像等の位置及び大きさ等を設定し、その設定に基づいてコンテンツを印刷できる。
【０００３】
一方、紙媒体等に記録された従来のコンテンツは、筆記具を用いて直接にメモの書込等をすることが容易であるという特徴を有する。例えば、書類の重要な部分を囲む目印等を記入してその部分を強調したり、注釈、補足、及びルビ等を書込んだりすることは容易である。
【０００４】
電子化されたコンテンツにおいても、従来の紙媒体と同様にメモを添付できるようにするための技術が開発され普及している。このような技術では、文字、画像、及び手書きデータ等からなるメモのデータを、電子化されたコンテンツと併せて表示する。ただし、電子化されたコンテンツは上記のとおりレイアウト変更が容易であるため、コンテンツを構成する特定の文字又は画像にメモを関連付けて表示するには、表示又は印刷された時点での文字又は画像の配置に追従するようにメモを再配置する必要がある。
【０００５】
特許文献１には、文書データのレイアウトが変更された場合に、関連する図形のデータを自動的に移動させる自動レイアウト機能付き文書処理装置が開示されている。この文書処理装置は、予め用意されたレイアウト規則に基づき文書データを適正位置に自動的に移動させる。この際、文書データと互いに関連する位置関係を有する図形データの存在を判定する。図形データが存在したならば、その図形データを対応する文書データの移動方向及び移動量に応じて移動させる。この装置により、文書データの表示位置の移動に応じてその文書データに関連する図形データの表示位置も移動した状態で表示できる。
【０００６】
また特許文献２には、出力媒体中のコンテンツが配置されていない余白部分を利用して、メモがコンテンツに追従して表示されるよう自動的に表示を変更する表示方法が開示されている。この表示方法では、文字、文字列、及び画像等の要素が配置されたコンテンツのレイアウトの中から余白範囲を特定する。また、メモを表わすメモデータとコンテンツを表わすコンテンツデータとを関連付ける情報を取得する。特定した余白範囲の、関連付けられた要素の近くの位置にメモデータを配置し、メモとコンテンツとの重なりが少なくなるようなメモのレイアウトを記述したメモレイアウトデータを生成する。メモは、メモレイアウトデータにしたがい、余白範囲にレイアウトされ表示される。コンテンツのレイアウトが変更された場合でも、変更後の余白範囲の参照部分付近にメモが配置され、表示される。
【０００７】
【特許文献１】特開平５−２９８２９０
【特許文献２】特開２００３−３０８３１０
【発明の開示】
【発明が解決しようとする課題】
【０００８】
メモの中には、メモとコンテンツとの位置関係、及び相対的な大きさが重要な意味を持つものが存在する。例えば、文字や画像を丸く囲むようなメモは、コンテンツのレイアウトが変更されても、囲むべき文字及び画像等を適切に囲むよう配置されるべきである。このようなメモは、コンテンツとの位置関係や相対的な大きさが維持されたまま表示されるのが望ましい。
【０００９】
特許文献１に記載の文書処理装置を用いてメモのレイアウトを行なうと、文書データの表示位置に追従するようにメモの表示位置を移動させて、当該図形データを表示することができる。しかし、コンテンツを構成する文字及び図形等を拡大したり縮小したりした場合、メモを移動させるだけでは、メモがコンテンツに対して適切に関連するようにメモを表示することはできない。よって特許文献１に記載の文書処理装置では、コンテンツの表示態様の変化に対応できない。
【００１０】
特許文献２に記載の表示方法では、メモとコンテンツとの関連付け表示、すなわちメモデータとコンテンツデータとの参照関係の表示を自動的に変更できる。しかし、メモとコンテンツとの位置関係及び相対的な大きさが維持されない場合がある。例えば、コンテンツを構成する文字の表示サイズを変更しても、それに応じてメモデータが自動的に拡大、縮小されるわけではない。また例えば、コンテンツのレイアウトが変更され、メモと関連付けられた文字列が複数行に分割された場合、コンテンツとメモの相対的な位置関係が崩れてしまうおそれがある。
【００１１】
それゆえに本発明の目的は、コンテンツとメモとを併せて表示する際に、表示されたコンテンツとメモとの位置関係及びサイズが可能な限り維持される態様でメモをレイアウトし出力するレイアウト装置を提供することである。
【００１２】
本発明の別の目的は、コンテンツの所望の部分に関連付けて表示されるメモを生成し、コンテンツの表示変更に柔軟に対応して当該メモをレイアウトすることができるレイアウト装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の局面に係るレイアウト装置は、コンテンツを構成するコンテンツ要素の所定の領域におけるレイアウトを決定するためのコンテンツレイアウト手段と、コンテンツとともに所定の領域に出力されるべきメモを構成するメモ要素と、メモ要素を出力すべきメモ出力領域のコンテンツ要素に対する相対位置を示す定義情報とを準備するためのメモ準備手段と、メモ要素の所定の領域におけるレイアウトを、コンテンツ要素の所定の領域におけるレイアウト、及び定義情報をもとに決定するためのメモレイアウト手段と、コンテンツ要素のレイアウト、及びメモレイアウト手段により決定されたメモ要素のレイアウトにしたがい、コンテンツ及びメモを所定の出力媒体に出力するための出力手段とを含む。
【００１４】
メモ準備手段は、メモ要素と、コンテンツ要素に対するメモの相対位置を示す定義情報とを準備する。所定の領域においてコンテンツ要素をレイアウトが決定されると、メモレイアウト手段は、当該レイアウトと定義情報とをもとに、メモ要素のレイアウトを決定する。この決定にしたがい出力手段がコンテンツとメモとを出力する。これによりメモは、コンテンツ要素のレイアウトに応じて適切な領域にレイアウトされる。よって、コンテンツとの相対的な位置関係が維持されたレイアウトでメモを出力することができる。
【００１５】
好ましくは、メモレイアウト手段は、所定の領域におけるコンテンツ要素のレイアウト及び定義情報をもとに、所定の領域においてメモ要素を出力させるべき領域を判別するためのメモ出力領域判別手段と、メモ要素の、出力させるべき領域に適合する出力位置及び出力サイズを決定するための決定手段とを含む。
【００１６】
メモは、定義情報によりコンテンツ要素と関連付けられる。メモ出力領域判別手段は、このようにメモと特定の関係にあるコンテンツ要素の所定の領域におけるレイアウトをもとに、メモを出力させるべき領域を判別する。よって、当該コンテンツ要素のレイアウトに応じた領域が、メモを出力させるべき領域として判別される。決定手段は、出力させるべき領域に適合するようにメモ要素の出力位置及び出力サイズを決定する。よって、メモ要素の出力位置及び出力サイズを、コンテンツ要素のレイアウトに適合するように決定できる。すなわち、メモ要素を出力させるべき領域を、コンテンツ要素とメモ要素との相対的な位置関係が維持されるように決定できる。
【００１７】
より好ましくは、メモレイアウト手段はさらに、出力させるべき領域の連続性に基づき、メモ要素の加工の要否を判定するための判定手段と、判定手段による判定の結果にしたがい、加工を要すると判定されたメモ要素を所定の方法で加工して、複数のメモ要素を作成するための加工手段とを含む。
【００１８】
例えば、コンテンツ要素のレイアウトが不連続であるために、メモの表示位置及びサイズの変更によっては、メモとコンテンツ要素との相対的な位置関係を維持できなくなる場合がある。判定手段は、表示させるべき領域の連続性に基づきメモの加工の要否を判定する。この判定の結果にしたがい、加工手段がメモを加工して複数のメモを作成する。加工により作成された複数のメモ要素の出力位置及び出力サイズはそれぞれ、決定手段により決定される。コンテンツとメモの相対的な位置関係に適合するようにメモ要素を加工し、加工によって作成されたメモ要素の各々をレイアウトできる。
【００１９】
加工手段は、判定手段による判定の結果にしたがい、メモを分割することにより、複数のメモ要素を作成するための分割手段を含んでもよい。
【００２０】
加工手段は、判定手段による判定の結果にしたがい、メモを複製することにより、複数のメモ要素を作成するための複製手段を含んでもよい。
【００２１】
出力手段は、コンテンツ要素のレイアウトと、メモレイアウト手段により決定されたレイアウトとにしたがい、コンテンツと、加工手段により作成された複数のメモ要素を出力媒体に出力するための手段を含んでもよい。複数のメモ要素は、互いに関連付けられる。
【００２２】
加工手段により作成されたメモ要素が互いに関連付けられることにより、これら作成されたメモ要素同士の関係が分かるようにメモ要素を出力媒体に出力できる。よって、メモ要素を加工して、複数のメモを作成した場合にも、コンテンツとメモ要素との関係が維持されるよう、コンテンツとメモ要素とを出力することができる。
【００２３】
好ましくは、メモ準備手段は、所定の領域へのメモの入力を受けて、メモを構成するメモ要素と所定の領域においてメモが入力されたメモ入力領域を示す領域指定データとを準備するためのデータ準備手段と、領域指定データと所定の領域におけるコンテンツ要素のレイアウトとに基づき、定義情報を作成するための定義情報作成手段とを含む。
【００２４】
データ準備手段は、所定の領域へのメモの入力を受けて、メモ要素と、メモが入力されたメモ入力領域を示す領域指定データとを準備する。定義情報作成手段は、領域指定データと、所定の領域におけるコンテンツ要素のレイアウトとをもとに定義情報を作成する。定義情報は、メモ出力領域を、コンテンツ要素に対する相対位置で示す情報である。したがって、作成された定義情報により、入力されたメモを出力媒体に出力する際のレイアウトが、コンテンツ要素のレイアウトに応じて決定できるようになる。
【００２５】
より好ましくは、定義情報作成手段は、メモ入力領域と予め定める関係にある領域にレイアウトされたコンテンツ要素を特定するためのメモ関連コンテンツ要素特定手段と、コンテンツ要素とメモ入力領域との相対位置を算出するための相対位置算出手段と、定義情報を、メモ関連コンテンツ要素特定手段により特定されたコンテンツ要素、及び相対位置算出手段により算出された相対位置をもとに作成するための手段とを含む。
【００２６】
メモ関連コンテンツ要素特定手段は、メモ入力領域に関連するコンテンツ要素を特定する。相対位置算出手段は、特定されたコンテンツ要素とメモ入力領域との相対位置を算出する。作成するための手段が作成する定義情報は、メモ出力領域を、領域指定データが示すメモ入力領域によってではなく、領域指定データが準備された際にメモ関連コンテンツ要素特定手段により特定されたコンテンツ要素によって示す。すなわち、メモ出力領域は、メモを出力する際のコンテンツ要素のレイアウトに応じて決定されるようになり、それらコンテンツ要素とメモ要素との相対的な位置関係が維持される。
【００２７】
さらに好ましくは、メモ関連コンテンツ要素特定手段は、メモ入力領域と重なる領域にレイアウトされたコンテンツ要素を特定するための手段を含む。
【００２８】
相対位置算出手段は、特定するための手段により特定されたコンテンツ要素とメモ入力領域との相対位置を算出するための手段を含んでもよい。
【００２９】
さらに好ましくは、相対位置算出手段は、メモ入力領域の予め定める複数の特徴点に対して、それら特徴点の所定の領域における位置から最短距離にレイアウトされたコンテンツ要素をそれぞれ特定し、当該各コンテンツ要素とメモ入力領域との相対位置を算出するための手段を含む。
【００３０】
特定領域の特徴点に対し、それぞれ最短距離にあるコンテンツ要素と特徴点との相対位置を算出することにより、当該最短距離にある各コンテンツ要素、及び当該コンテンツ要素との相対位置によってメモ表示領域を定義することが可能となる。よって、効率的にメモ表示領域を定義できる。
【００３１】
メモ入力領域は、予め定められた多角形領域を含んでもよい。算出するための手段は、多角形領域の各頂点に対して、それら頂点の所定の領域における位置から最短距離にレイアウトされたコンテンツ要素を特定し、各コンテンツ要素とメモ入力領域との相対位置を算出するための頂点関連要素相対位置算出手段を含む。
【００３２】
さらに好ましくは、作成するための手段は、メモ関連コンテンツ要素特定手段により特定されたコンテンツ要素、及び相対位置算出手段により算出された相対位置をもとに定義情報を作成し、定義情報を記録するための手段を含む。
【００３３】
より好ましくは、データ準備手段は、ユーザによるメモの編集操作を受けたことに応答して、当該編集操作に対応する操作信号を発生するための操作手段と、操作手段が発生する操作信号にしたがい、メモを構成するメモ要素と、所定の領域においてメモ要素が占める領域とを特定し、メモ要素、及びメモ要素が占める領域を示すデータを準備するための手段とを含む。
【００３４】
ユーザが操作手段に対してメモの編集操作を行なうと、その操作に対応する操作信号が発生し、準備するための手段は、操作信号にしたがいメモ要素と領域指定データとを準備する。この領域指定データに基づき定義情報が作成されるため、ユーザによるメモの編集操作によって、自動的にコンテンツ要素と関連する態様で出力されるようなメモを生成することができる。
【００３５】
好ましくは、レイアウト装置はさらに、メモ準備手段により準備されたメモと、定義情報とを併せて記録するための記録手段を含む。メモレイアウト手段は、記録手段により記録されたメモの所定の領域におけるレイアウトを、コンテンツ要素のレイアウト、及び記録手段により記録された定義情報をもとに決定するための手段を含む。
【００３６】
メモ準備手段が準備したメモと、定義情報とを併せて記録することにより、メモを、コンテンツと関連付けた状態で記録することができる。よって、記録された定義情報に基づき、いつでもコンテンツとメモの相対的な位置関係が維持されるようにメモのレイアウトを決定できる。
【００３７】
レイアウト装置はさらに、決定するための手段により決定されたレイアウトをもとに、記録手段により記録された定義情報を更新するための手段を含んでもよい。
【００３８】
決定するための手段が決定したレイアウトをもとに、記録された定義情報を更新することにより、メモとコンテンツとの相対的な位置関係を、コンテンツの態様に柔軟に対応して適切に維持することができる。
【００３９】
好ましくは、コンテンツレイアウトは、所定の出力設定に基づき、コンテンツを構成するコンテンツ要素の所定の領域におけるレイアウトを決定するためのコンテンツレイアウト決定手段を含む。メモレイアウト手段は、コンテンツレイアウト決定手段によりコンテンツ要素の所定の領域におけるレイアウトが決定されたことに応答して、メモ要素の所定の領域におけるレイアウトを、コンテンツレイアウト手段により決定されたコンテンツ要素のレイアウト、及び定義情報をもとに決定するためのメモレイアウト決定手段を含む。
【００４０】
所定の出力設定にしたがいコンテンツ要素のレイアウトが決定されたことに応答して、メモレイアウト決定手段は、メモ要素のレイアウトを決定するため、コンテンツ要素のレイアウトに応じて自動的にメモ要素のレイアウトを決定することが可能になる。
【００４１】
より好ましくは、レイアウト装置はさらに、出力設定を更新するための出力設定更新手段を含む。コンテンツレイアウト決定手段は、出力設定更新手段により出力設定が更新されたことに応答して、当該更新された出力設定に基づき、コンテンツを構成するコンテンツ要素の所定の領域におけるレイアウトを再決定するためのコンテンツレイアウト再決定手段を含む。メモレイアウト決定手段は、コンテンツレイアウト再決定手段による再決定に応答して、メモ要素の所定の領域におけるレイアウトを、決定されたコンテンツ要素のレイアウト、及び定義情報をもとに再決定するためのメモレイアウト再決定手段を含む。
【００４２】
出力設定の変更によりコンテンツレイアウト再決定手段がコンテンツ要素のレイアウトを変更した場合にも、メモレイアウト再決定手段が、その時点でのコンテンツ要素のレイアウトに応じてメモ要素のレイアウトを決定することができる。よって、コンテンツのレイアウト変更に柔軟に対応してメモ要素のレイアウトを決定することができる。
【００４３】
出力設定更新手段は、ユーザによるコンテンツの出力設定操作を受けたことに応答して、当該出力設定操作に対応する操作信号を発生するための操作手段と、操作手段が発生する操作信号にしたがい、出力設定を更新するための手段とを含んでもよい。
【００４４】
ユーザが、所望の態様でコンテンツが出力されるよう出力設定操作を行なった場合においても、その出力設定操作に応じて、コンテンツ要素のレイアウトを変更でき、さらにその時点でのコンテンツのレイアウトに応じてメモ要素のレイアウトを決定することができる。
【００４５】
出力手段は、コンテンツ要素のレイアウト、及びメモレイアウト手段により決定されたメモ要素のレイアウトにしたがい、コンテンツ及びメモを予め定める画面に表示するための表示手段を含んでもよい。所定の領域は、画面上の領域を含む。
【００４６】
出力手段は、コンテンツ要素のレイアウト、及びメモレイアウト手段により決定されたメモ要素のレイアウトにしたがい、コンテンツ及びメモを予め定める印刷媒体に印刷するための印刷手段を含んでもよい。所定の領域は、印刷媒体上の領域を含む。
【００４７】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを上記したいずれかのレイアウト装置として動作させる。したがって、このコンピュータプログラムをコンピュータで実行することにより、上記した本発明の第１の局面の作用及び効果をコンピュータで実現することができる。
【００４８】
本発明の第３の局面に係る記録媒体は、本発明の第２の局面に係るコンピュータプログラムを記録した、コンピュータで読取可能な記録媒体である。この記録媒体に記録されたコンピュータプログラムをコンピュータで読取り実行することにより、本発明の第１の局面の作用及び効果を実現できる。
【発明の効果】
【００４９】
本発明の第１の局面によると、所定の領域上でのコンテンツ要素のレイアウトが定まると、おのずからメモ出力領域も定まるようになる。メモは、コンテンツ要素のレイアウトに応じて適切な領域にレイアウトされるようになるため、コンテンツとの相対的な位置関係が維持されるレイアウトでメモを出力することができる。メモは定義情報によりコンテンツ要素と関連付けられる。コンテンツ要素のレイアウトに応じた領域が、メモを出力させるべき領域として判別され、コンテンツ要素とメモ要素との相対的な位置関係が維持されるようにメモを表示させるべき領域を決定できる。
【００５０】
また、コンテンツ要素のレイアウトが不連続な場合等であっても、コンテンツとメモの相対的な位置関係が崩れないように、メモ要素を加工しレイアウトすることができ、コンテンツとメモの相対的な位置関係を高度に維持できる。
【００５１】
メモ出力領域を、領域指定データが示す領域によってではなく、領域指定データが準備された際に特定されたコンテンツ要素によって定めることができる。また、メモ入力領域の特徴点に対し、それぞれ最短距離にあるコンテンツ要素と特徴点との相対位置を算出することにより、定義情報で効率的にメモ出力領域を決定できる。さらに、ユーザによるメモの編集操作によって、自動的にコンテンツ要素と関連する態様で表示されるようなメモを生成することができる。
【００５２】
定義情報をメモと併せて記録することにより、定義情報に基づき、いつでもコンテンツとメモの相対的な位置関係が維持されるようにメモ要素のレイアウトを決定できる。定義情報を更新することにより、メモとコンテンツとの相対的な位置関係を、コンテンツの態様に柔軟に対応して適切に維持することができる。また、コンテンツのレイアウトに応じて自動的にメモのレイアウトを決定し表示することが可能になる。コンテンツのレイアウトが変更された場合にも、その時点でのコンテンツのレイアウトに応じてメモのレイアウトを決定することができる。すなわち、コンテンツのレイアウト変更に柔軟に対応してメモのレイアウトを行なうことができる。
【発明を実施するための最良の形態】
【００５３】
以下、図面を参照しつつ本発明の一実施の形態に係るレイアウト装置として機能する表示装置について説明する。なお、以下の説明に用いる図面では、同一の部品に同一の符号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００５４】
まず、本実施の形態に係る表示装置によるレイアウト及び表示の対象となるコンテンツ及びメモについて、概要を説明する。図１にコンテンツ及びメモの一例を示す。図１を参照して、コンテンツ４０は、文字、文字列、及び画像等の要素（以下、この要素を「表示対象要素」と呼ぶ。）４２Ａ，４２Ｂ，…の集まりである。図１に示す例では、コンテンツ４０は表示対象要素４２Ａ，４２Ｂ，…からなる文字列「このあたりの記述は大事な箇所ですので必ずチェックをお願いします。・・・・」である。
【００５５】
表示対象要素４２Ａ，４２Ｂ，…が所定の順序等にしたがいレイアウトされ表示されると、コンテンツ４０はユーザにとって視覚的に利用可能な情報になる。コンテンツを表示させる媒体（以下、この媒体を「出力媒体」と呼ぶ。）上での表示対象要素４２Ａ，４２Ｂ，…の位置は、出力媒体に応じて定められる条件及びユーザによる文字サイズ等の指定によって決まる。出力媒体に応じて定められる条件とは、例えば当該出力媒体において表示対象要素４２Ａ，４２Ｂ，…を表示させることができない端の部分、ウィンドウ枠等の表示に使われるためコンテンツ４０の表示に使えない部分、及びコンテンツ４０を見やすくするために定められた余白部分等である。本明細書では、出力媒体に応じて定められるこれらの制限がない部分、すなわち表示対象要素４２Ａ，４２Ｂ，…を表示できる部分を「レイアウト可能範囲」と呼ぶ。
【００５６】
コンテンツ４０は、それを表示する際の設定等により異なる態様で表示される。例えば、コンテンツ４０のレイアウト可能範囲、文字のサイズ及びフォント、表示対象要素４２Ａ，４２Ｂ，…同士の間隔、並びに改行位置等の設定によりコンテンツ４０の表示態様が変更される。本明細書では、コンテンツ４０をレイアウトし表示させる範囲を、「（コンテンツの）レイアウト範囲」と呼ぶ。一般に、レイアウト範囲は、レイアウト可能範囲と同じ範囲、又はレイアウト可能範囲より上下左右に余白を取った分だけ狭い範囲となる。
【００５７】
メモ４４は、コンテンツ４０に対してユーザが入力する目印、注釈等の情報である。メモ４４は、文字列、画像、図形、及び手書き入力の筆跡等の要素（以下、メモの要素を「メモ要素」と呼ぶ。）からなる。図１に示す例では、メモ４４は、コンテンツ４０中の「大事な箇所」という部分を丸く囲むように手書き入力された目印である。メモ４４はコンテンツと独立した情報であるが、多くの場合、コンテンツを構成する表示対象要素の一部又は全部と対応関係にある。
【００５８】
メモ４４は、コンテンツ４０の表示態様が変更された後の表示においても、コンテンツ４０の関連する部分「大事な箇所」を強調するように表示されることが望ましい。すなわち、メモ４４は、コンテンツ４０を構成する表示対象要素に対し変更前と同じ位置関係にあることが望ましい。
【００５９】
そこで、本実施の形態に係る表示装置は、メモ４４をコンテンツ４０の表示対象要素４２Ａ，４２Ｂ，…に関連付けるとともに、メモ４４と関連付けられた表示対象要素４２Ａ，４２Ｂ，…のメモ４４に対する相対位置を特定する。また、メモ４４を、メモ要素を示すメモ要素データ、並びにメモ４４と関連付けられた表示対象要素及びその相対位置を示す関連付けデータとを含むメモデータとして記録する。メモ４４を表示する際には、記録した関連付けデータに基づき、表示対象要素４２Ａ，４２Ｂ，…のレイアウトに応じた位置にメモをレイアウトする。さらに、コンテンツ４０の表示態様の変更等がなされ、メモ４４を表示対象要素４２Ａ，４２Ｂ，…と関連付けるのが困難なレイアウトとなった場合には、コンテンツ４０との関連性が維持されるように、メモを加工する。
【００６０】
図２に、メモの加工例を概略的に示す。図２を参照して、本実施の形態に係る表示装置は、コンテンツとの関連性が維持されるように、メモ４４Ａの「サイズ変更」、「分割」、及び「複製」を行なう。
【００６１】
「サイズ変更」は、加工前のメモ４４Ａの幅及び高さの少なくとも一方を変更する加工である。サイズ変更は、メモ４４Ａに関連付けられた表示対象要素が出力媒体上で占める領域の幅又は高さが変化した場合に行なわれる。メモ４４Ａをサイズ変更すると、メモ４４Ａは、メモ４４Ａとは異なるサイズのメモ４４Ｂに変化する。
【００６２】
「分割」は、それぞれメモ４４Ａのメモ要素の一部分からなる、新たな分割メモ４４Ｃ及びメモ４４Ｄを作成する加工である。分割は、例えばメモ４４Ａに関連付けられている文字列が途中で改行された場合等、レイアウトの変更により、メモ４４Ａに関連付けられた表示対象要素が出力媒体上で占める領域が、互いに所定の関係を有する複数の領域に分離した場合に行なわれる。
【００６３】
「複製」は、メモ４４Ａとは別に、加工前のメモ４４Ａと同様な複製メモ４４Ｅを作成する加工である。複製は、例えばメモ４４Ａに関連付けられた表示対象要素の表示媒体上での位置関係にずれが生じたり、分離したりしたために、メモ４４Ａのサイズ変更、及び分割のいずれを行なってもメモ４４Ａとコンテンツとの相対的な位置関係が維持できない場合に行なわれる。
【００６４】
本実施の形態に係る表示装置は、メモ４４Ａの表示位置及びサイズ変更、分割、及び複製を組合せてメモ４４Ａを変更し、コンテンツと併せて表示することにより、コンテンツとメモとの関係を維持する。
【００６５】
図３に、本実施の形態に係る表示装置の構成をブロック図形式で示す。図３を参照して、表示装置５０は、図１に示すコンテンツ４０、メモ４４、及びそれらの表示の際に参照すべきデータを記憶する記憶部６０と、コンテンツ４０及びその表示態様の変更、並びにメモ４４の作成、追加、削除、及び変更等を表示装置５０に指示するためのユーザによる操作を受けて、その操作に応じた操作信号を発生する操作部６２と、操作部６２が発生した操作信号に応じて、記憶部６０に記憶されたデータに基づくコンテンツ４０及びメモ４４のレイアウトの決定、コンテンツ４０及びメモ４４を表示するための出力信号の生成、並びに記憶部６０へのデータの記録及び更新を行なうデータ処理部６４と、本実施の形態における出力媒体であり、データ処理部６４により生成された出力信号を受けて表示する表示パネル６６とを含む。
【００６６】
記憶部６０が記憶するデータは、コンテンツ４０を構成する表示対象要素４２Ａ，４２Ｂ，…、及びそれらのレイアウトを示すコンテンツデータ７０と、メモ４４を構成するメモ要素及びメモ要素のレイアウトを示すデータ、並びにメモ４４と関連付けられた表示対象要素及びその相対位置を示す関連付けデータを含むメモデータ７２と、表示パネル６６上のコンテンツ４０及びメモ４４のレイアウト可能範囲、文字のサイズ及びフォント、表示対象要素４２Ａ，４２Ｂ，…同士の間隔、並びに改行位置等、コンテンツ４０の表示に関する設定を示す表示設定データ７４とを含む。
【００６７】
表示装置５０はさらに、制御部８０に接続され、制御部８０が外部の記憶装置及びプリンタ等とデータ処理部６４との間でコンテンツデータ７０等の授受を仲介するインタフェース部６８を含む。
【００６８】
操作部６２及び表示パネル６６は、グラフィカル・ユーザ・インタフェース（ＧＵＩ）を実現する装置及びソフトウェアの組合せを含む。図４に、操作部６２及び表示パネル６６の一例を示す。図４を参照して、表示パネル６６は、液晶表示パネルを含む。操作部６２は、表示パネル６６と一体に構成されたタッチパネル１００及びタッチパネル上の任意の点を示すための入力ペン１０２によって構成されたポインティングデバイス、並びに当該ポインティングデバイスと表示パネル６６との組合せによりＧＵＩを実現するソフトウェアを含む。操作部６２はさらに、上記したポインティングデバイスと同様にＧＵＩを実現する図示しないマウス及びソフトウェアの組合せ、並びに文字等を入力するための図示しないキーボードを含む。
【００６９】
再び図３を参照して、データ処理部６４は、操作部６２に対する操作をユーザに促すためのメッセージの生成、操作信号に基づく表示設定データ７４の変更、及びメモデータ７２の編集を行なうとともに、表示装置５０の各機能部に対して所定の手順でコンテンツデータ７０及びメモデータ７２の集配信を行ない、表示装置５０の各機能部を制御する制御部８０と、制御部８０からコンテンツデータ７０の配信を受け、表示設定データ７４に基づきコンテンツデータ７０により示される各表示対象要素の表示パネル６６上でのレイアウトを決定するコンテンツレイアウト部８２とを含む。
【００７０】
データ処理部６４はさらに、制御部８０からコンテンツデータ７０及びメモデータ７２を受けて表示対象要素とメモ要素との対応関係を特定し、メモをどの表示対象要素に対応するようにレイアウトして表示すべきかを示す関連付けデータを作成してメモデータ７２に付与し記憶部６０に格納する記録部８４と、制御部８０からコンテンツデータ７０及びメモデータ７２を受け、コンテンツデータ７０及びメモデータ７２に付与された関連付けデータに基づきメモ４４の加工を行ない、メモ４４の表示パネル６６上でのレイアウトを決定するメモレイアウト部８６と、コンテンツレイアウト部８２及びメモレイアウト部８６によりそれぞれ決定されたコンテンツ４０のレイアウト及びメモ４４のレイアウトに基づき、表示パネル６６に対する出力信号を生成して表示パネル６６に供給する表示制御部８８を含む。なお、表示制御部８８は、制御部８０により出力されるメッセージを出力信号に変換して表示パネル６６に供給する機能も有する。
【００７１】
以下、図３に示すコンテンツデータ７０について説明する。図５に、コンテンツデータ７０の一例を示す。図５を参照して、コンテンツデータ７０は、表示対象要素ごとの表示対象要素データ１２０Ａ，１２０Ｂ，１２０Ｃ，…を含む。これらはいずれも同様のデータ構造を有する。例えば、表示対象要素データ１２０Ａは、表示対象要素の「種類」１２２と、表示対象要素を識別するための「データ位置」１３２と、表示対象要素自体を示す「内容」１３４とを含む。表示対象要素データ１２０Ａはさらに、表示対象要素の位置を示す座標値「Ｘ」１２４及び座標値「Ｙ」１２６、表示対象要素の大きさを示す幅「Ｗ」１２８及び高さ「Ｈ」１３０を含む。
【００７２】
「種類」１２２は、表示対象要素の種類を、文字（ＴＥＸＴ）、画像（ＩＭＡＧＥ）等の所定の文字列によって示す。「データ位置」１３２は、表示対象要素が互いに識別可能となるように付与された番号等の情報である。本実施の形態では、「データ位置」１３２は、コンテンツの表示時に左上から数えた順序を示す。「内容」１３４は、表示対象要素自体を示す。例えば、「種類」が文字（ＴＥＸＴ）の表示対象要素において「内容」１３４は、文字コード、フォント、及び色等の情報を含む。種類が画像（ＩＭＡＧＥ）の表示対象要素において「内容」１３４は、その画像の画素データ等を含む。座標値「Ｘ」１２４及び座標値「Ｙ」１２６は表示対象要素の位置を示す。本実施の形態では、表示対象要素の位置は表示対象要素に外接する矩形領域の左上端部の位置を示す。幅「Ｗ」１２８及び高さ「Ｈ」１３０はそれぞれ、上記した矩形領域の幅及び高さを示す。なお本明細書では、「種類」１２２、「データ位置」１３２、並びに「内容」１３４をまとめて「（表示対象要素の）構成要素データ」と呼ぶ。また、座標値「Ｘ」１２４、座標値「Ｙ」１２６、幅「Ｗ」１２８、及び高さ「Ｈ」１３０をまとめて、「（表示対象要素の）レイアウトデータ」と呼ぶ。
【００７３】
コンテンツは、予め定められた構造によりレイアウトされることがある。例えば、図１に示すコンテンツ４０は、行を単位とする行構造によりレイアウトされている。このように行構造を有するコンテンツ４０に対応するコンテンツデータ７０は、表示対象要素データ１２０Ａ，１２０Ｂ，１２０Ｃ，…に加えて、コンテンツ４０のレイアウトの構造を示す、行単位のレイアウトデータ（以下、「行レイアウトデータ」と呼ぶ。）１４０を含む。図６に、行レイアウトデータ１４０の一例を示す。図６を参照して、行レイアウトデータ１４０は、行ごとの行要素データ１４２Ａ，１４２Ｂ，１４２Ｃ，…を含む。これらはいずれも同様のデータ構造を有する。例えば行要素データ１４２Ａは、行を構成する表示対象要素を示す表示対象要素配列１５２と、表示パネル６６において行を構成する表示対象要素に外接する矩形領域の位置を示す座標値「Ｘ」１４４及び座標値「Ｙ」１４６、並びに当該外接する矩形領域のサイズを示す幅「Ｗ」１４８及び高さ「Ｈ」１５０とを含む。
【００７４】
表示対象要素配列１５２は、行を構成する表示対象要素の図５に示す「データ位置」１３２を、行内での表示対象要素のレイアウト順に格納した配列である。例えば、行要素データ１４２Ａが示す行は、「データ位置」が１番から５番までの表示対象要素により構成される。
【００７５】
以下、図３に示すメモデータ７２について説明する。図７に、メモデータ７２の一例を示す。図７を参照して、メモデータ７２は、メモ要素ごとのメモ要素データ１６０Ａ，１６０Ｂ，１６０Ｃ，…を含む。これらはいずれも同様のデータ構造を有する。例えばメモ要素データ１６０Ａは、メモ要素の「種類」１６２と、メモ要素自体を示す「内容」１７２と、メモ要素の位置を示す座標値「Ｘ」１６４及び座標値「Ｙ」１６６と、サイズを示す幅「Ｗ」１６８及び高さ「Ｈ」１７０とを含む。本明細書では、メモ要素の「種類」１６２及び「内容」１７２をまとめて「（メモ要素の）構成要素データ」と呼ぶ。また、座標値「Ｘ」１６４、座標値「Ｙ」１６６、幅「Ｗ」１６８、及び高さ「Ｈ」１７０をまとめて、「（メモ要素の）レイアウトデータ」と呼ぶ。メモ要素データ１６０Ａはさらに、当該メモ要素をコンテンツ４０のどの表示対象要素に対応するように表示すべきかを示す関連付けデータ１８０を含む。
【００７６】
図８に、関連付けデータ１８０の一例を示す。図８を参照して、関連付けデータ１８０は、メモ要素と表示対象要素との相対的な位置関係を示す相対位置データ１８２と、表示対象要素の内、当該メモ要素と関連するものを示す関連表示対象要素リスト１８４とを含む。
【００７７】
相対位置データ１８２は、メモ要素に外接する矩形領域の左上、左下、右上、及び右下の各頂点に近接する表示対象要素をそれぞれ示す頂点要素データ１８６Ａ，１８６Ｂ，１８６Ｃ，及び１８６Ｄを含む。これら頂点要素データはいずれも同じデータ構造を有する。例えば頂点要素データ１８６Ａは、メモ要素に外接する矩形領域の左上頂点に近接する表示対象要素の「データ位置」１９０と、メモ要素に外接する矩形領域の左上端を原点とする局所座標系におけるその表示対象要素の位置を示す相対座標値「ＲＸ」１９２及び「ＲＹ」１９４と、その表示対象要素の幅「Ｗ」１９６及び高さ「Ｈ」１９８とを含む。相対座標値「ＲＸ」１９２及び「ＲＹ」１９４は局所座標系における表示対象要素の位置により決定される値であると同時に、表示対象要素の位置によってメモ要素に外接する矩形領域の頂点の位置を定義するものともなる。すなわち、これらの相対座標値は、表示対象要素に対するメモの外接矩形領域の相対位置を示すものとなる。
【００７８】
関連表示対象要素リスト１８４は、行ごとのエントリ２００Ａ，２００Ｂ，…を含む。これらエントリはいずれも同じデータ構造を有する。例えばエントリ２００Ａは、関連表示対象要素リスト１８４において行を識別するための「行番号」２０２と、その行を構成する表示対象要素の「データ位置」を格納した表示対象要素配列２０４とを含む。表示対象要素配列２０４に格納される「データ位置」に対応する表示対象要素はそれぞれ、メモ要素に外接する矩形領域と重なる領域に表示される表示対象要素である。
【００７９】
図３に示す表示設定データ７４は、表示パネル６６のレイアウト可能範囲、コンテンツを構成する表示対象要素の文字サイズ等に関する設定情報を含む。これらの設定情報は、表示パネル６６の性能等に基づき予め定められ記憶部６０に記憶される。又は、ユーザによる指示にしたがい制御部８０により更新され、記憶部６０に記憶される。
【００８０】
以下、図３に示すデータ処理部６４の各機能部の詳細な構成を示す。
【００８１】
図９に、図３に示す制御部８０の構成を示す。図９を参照して、制御部８０は、記憶部６０、インタフェース部６８、コンテンツレイアウト部８２、記録部８４、及びメモレイアウト部８６の間でコンテンツデータ７０の集配を行ない、各機能部に対しコンテンツデータ７０の処理を要求するコンテンツデータ集配部２２０と、記憶部６０、記録部８４、及びメモレイアウト部８６の間でメモデータ７２の集配を行ない、各機能部に対しメモデータ７２の処理を要求するメモデータ集配部２２２と、図３に示す操作部６２に接続され、操作信号を受けてその操作内容を解析する操作信号解析部２２４と、操作信号解析部２２４による解析結果に応じて記憶部６０内の表示設定データ７４を更新してコンテンツレイアウト部８２に与える表示設定処理部２２６と、操作信号解析部２２４による解析結果に応じてメモデータを生成し、メモデータを記録部８４に与えるメモデータ編集部２２８と、メモデータ集配部２２２、操作信号解析部２２４、及びメモデータ編集部２２８による処理の状況に応じて、ユーザに対して操作を促すメッセージを生成して表示制御部８８に与えるメッセージ生成部２３０とを含む。
【００８２】
メモデータ編集部２２８は、操作信号を、図７に示すメモデータ７２の「内容」１７２に格納すべきデータに変換する。例えば、図４に示すポインティングデバイス１００及び１０２によるユーザの入力に応じて、操作信号を指示点の位置及び軌跡を示すストロークデータに変換する。さらに、必要に応じて、ストロークデータを手書き文字認識してテキストデータに変換する。さらに、キーボード等から得られる文字、又は文字認識したテキストデータに対し仮名漢字変換を行ない、仮名漢字混じりのテキストデータに変換する。
【００８３】
図１０に、図３に示すコンテンツレイアウト部８２の構成を示す。図１０を参照して、コンテンツレイアウト部８２は、コンテンツデータ７０及び表示設定データ７４を取得し、コンテンツデータ７０及び表示設定データ７４に基づいてレイアウト可能範囲及びレイアウト範囲を特定するレイアウト範囲特定部２４２と、表示対象要素の表示パネル６６上でのレイアウトを決定してコンテンツデータ７０のレイアウトデータ１２４，…，１２８（図５参照）及び行レイアウトデータ１４０（図６参照）を更新し、図３に示す制御部８０及び表示制御部８８に出力するレイアウト決定部２４４とを含む。
【００８４】
図１１に、図３に示す記録部８４の構成を示す。図１１を参照して、記録部８４は、制御部８０よりコンテンツデータ７０の表示対象要素データ１２０Ａ，…（図５参照）及びメモデータ７２をもとに、メモに関連付けるべき表示対象要素を特定し関連表示対象要素リスト１８４（図８参照）を生成するメモ関連表示対象要素取得部２６０と、メモデータ７２とメモ関連表示対象要素取得部２６０によりメモに関連付けられた表示対象要素の表示対象要素データ１２０Ａ，…とをもとに、メモに対する表示対象要素の相対位置を算出し相対位置データ１８２（図８参照）を生成する相対位置算出部２６２と、生成された関連表示対象要素リスト１８４（図８参照）、及び相対位置データ１８２をもとに関連付けデータ１８０を生成し、メモデータ７２に付与して記憶部６０に記憶させる関連付けデータ記録部２６４とを含む。
【００８５】
図１２に、図３に示すメモレイアウト部８６の構成を示す。図１２を参照して、メモレイアウト部８６は、記憶部６０、制御部８０、及びコンテンツレイアウト部８２に接続され、コンテンツデータ７０及びメモデータ７２を取得する取得部２８０と、取得部２８０により取得されたコンテンツデータ７０及びメモデータ７２を受け、メモデータ７２の関連付けデータ１８０（図８参照）に示されるメモと表示対象要素との関係にしたがってメモを表示することが可能か否かを判定し、メモの加工方法を決定する判定部２８２とを含む。
【００８６】
メモレイアウト部８６はさらに、判定部２８２による決定にしたがい、取得部２８０が取得したコンテンツデータ７０及びメモデータ７２をもとに、メモ要素が分割された状態で表示されるよう分割メモを作成し、メモデータ７２を変更する分割メモ作成部２８４と、判定部２８２による決定にしたがい、取得部２８０が取得したコンテンツデータ７０及びメモデータ７２をもとに、メモ４４が複製された状態で表示されるよう複製メモを作成しメモデータ７２を変更する複製メモ作成部２８６とを含む。
【００８７】
メモレイアウト部８６はさらに、判定部２８２、分割メモ作成部２８４、及び複製メモ作成部２８６の少なくとも１つからメモデータを受け、取得部２８０により取得されたコンテンツデータ７０に基づいてメモ４４の表示パネル６６における表示位置を算出してメモデータを更新するメモ表示位置算出部２８８と、メモ表示位置算出部２８８が更新したメモデータを受け、取得部２８０により取得されたコンテンツデータ７０に基づいてメモの表示パネル６６における表示サイズを算出しメモデータ７２を更新し、図３に示す制御部８０及び表示制御部８８に出力するメモ表示サイズ算出部２９０とを含む。
【００８８】
本実施の形態は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図１３に、表示装置５０の機能を実現するコンピュータハードウェアの構成を示す。
【００８９】
図１３を参照して、コンピュータ３００は、表示パネル６６と、図４に示すタッチパネル１００及び入力ペン１０２からなるポインティングデバイス３０１、キーボード３０２、マウス３０４からなる入力デバイス群３０６と、表示パネル６６に接続され、内部にグラフィックメモリ３０８を有するグラフィックサブシステム３１０と、ＣＰＵ（中央処理装置）３１２とを含む。コンピュータ３００はさらに、グラフィックサブシステム３１０、入力デバイス群３０６の各デバイス、及びＣＰＵ３１２に接続されたバス３１６と、バス３１６に接続されたメモリデバイス３１８を含む。メモリデバイス３１８は、ブートアッププログラム等を記憶する読出専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＲＯＭ）３２０、並びにプログラム命令、システムプログラム、及び作業データ等を記憶するＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓｓ  Ｍｅｍｏｒｙ）３２２、並びにフラッシュメモリ３２４を含む。コンピュータ３００はさらに、バス３１６並びにネットワーク及び外部機器に接続される外部インタフェース３２６とを含む。
【００９０】
コンピュータ３００は、外部インタフェース３２６を介して、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ３３０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｃ）ドライブ３３２、及びハードディスクドライブ（ＨＤＤ）３３４等の外部記憶装置、プリンタ３３６、並びに外部端末装置３３８に接続される。なお、これらの外部機器は、バス３１６に直接に接続されてもよい。また、外部インタフェース３２６は、ローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを含んでもよい。なお、入力デバイス群３０６を構成する各装置は、上記した外部機器と同様に、外部インタフェース３２６を介してバス３１６に接続されてもよい。
【００９１】
コンピュータ３００に表示装置５０の機能を実現させるためのコンピュータプログラムは、外部インタフェース３２６に接続された外部記憶装置３３０、３３２、又は３３４に記憶され、メモリデバイス３１８に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ３００に送信されメモリデバイス３１８に記憶されてもよい。プログラムは、実行の際にＤＲＡＭ３２２にロードされる。外部インタフェース３２６に接続された外部記憶装置３３０、３３２、３３４から、又はネットワークを介して、直接にＤＲＡＭ３２２にプログラムをロードしてもよい。
【００９２】
このプログラムは、コンピュータ３００に本実施の形態の表示装置５０の機能を実現させる複数の命令を含む。これらの機能を実現させるのに必要な基本的機能のいくつかはコンピュータ上で動作するオペレーティングシステム（ＯＳ）又はサードパーティのプログラム、若しくはコンピュータにインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態の表示装置５０の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した表示装置５０の動作を実行する命令のみを含んでいればよい。コンピュータの動作は周知であるので、ここでは繰返さない。
【００９３】
図１４に、コンピュータを表示装置５０として動作させるプログラムの制御構造をフローチャートで示す。図１４を参照して、プログラム３６０が開始されると、ステップ（以下、単に「Ｓ」と表記する。）３６２においてコンテンツデータ７０を取得する。Ｓ３６４では、表示設定データ７４に基づきコンテンツ４０のレイアウトを決定しコンテンツデータ７０を更新するコンテンツレイアウト処理を行なう。コンテンツレイアウト処理の詳細については図１５を参照しつつ後述する。続くＳ３６６では、Ｓ３６４で決定されたレイアウトにしたがいコンテンツ４０を表示パネル６６に表示させる。Ｓ３６８では、メモデータ７２の存在の有無を判定する。メモデータ７２が存在すればＳ３７０に進む。さもなければＳ３７６に進む。
【００９４】
Ｓ３７０では、記憶されているメモデータ７２を取得する。Ｓ３７２では、取得したメモデータ７２をもとに、メモ４４のレイアウトを決定するメモレイアウト処理を行なう。メモレイアウト処理の詳細については図１６を参照しつつ後述する。続くＳ３７４では、Ｓ３７２で決定されたレイアウトにしたがいメモ４４を表示パネル６６に表示させる。
【００９５】
Ｓ３７６では、コンテンツ４０の表示設定を変更するか否かをユーザによる指示に基づき判定する。ユーザより変更する旨の指示を得たならばＳ３７８に進む。さもなければＳ３８０に進む。Ｓ３７８では、変更する旨の指示にしたがい表示設定データ７４を更新し、Ｓ３６４に戻る。
【００９６】
Ｓ３８０では、メモ４４の記録を行なうか否かを、ユーザによる指示に基づき判定する。ユーザよりメモ４４を記録する指示を得たならばＳ３８２に進む。さもなければＳ３８４に進む。Ｓ３８２では、Ｓ３８０で得た指示にしたがいメモデータ７２を編集し、関連付けデータ１８０を付与してメモデータ７２を記録するメモ記録処理を行なう。メモ記録処理の詳細については図１７を参照しつつ後述する。Ｓ３８４では、プログラム３６０を終了するか否かを、ユーザによる指示に基づき判定する。終了する旨の指示を得たならばプログラム３６０を終了する。さもなければＳ３６８に戻る。
【００９７】
図１５に、図１４に示すＳ３６４で実行されるコンテンツレイアウト処理の制御構造を示す。図１５を参照して、コンテンツレイアウト処理４００が開始されると、Ｓ４０２では、表示設定データ７４を取得し、その中から表示パネル６６のレイアウト可能範囲を特定する。Ｓ４０４では、コンテンツデータ７０及び表示設定データ７４に基づき、コンテンツ４０のレイアウト範囲を特定する。Ｓ４０６では、特定したレイアウト範囲をもとに、表示パネル６６上でのコンテンツ４０のレイアウトを決定し、コンテンツデータ７０中のレイアウトデータ１２４、１２６、１２８、及び１３０（図５参照）並びに行レイアウトデータ１４０（図６参照）を更新し、コンテンツレイアウト処理４００を終了する。
【００９８】
図１６に、図１４に示すＳ３７２で実行されるメモレイアウト処理の制御構造を示す。図１６を参照して、メモレイアウト処理４２０が開始されると、Ｓ４２２において、メモデータ７２内の関連付けデータ１８０（図７参照）から相対位置データ１８２を取得する。Ｓ４２４では、関連付けデータ１８０の関連表示対象要素リスト１８４を取得し、メモ４４に関連付けられた表示対象要素を特定する。Ｓ４２６では、関連表示対象要素リスト１８４（図８参照）に示すエントリ２００Ａ，２００Ｂ，…の中から処理対象となるエントリ（以下、「処理対象行」と呼ぶ。）を１行目と定め、処理対象行の表示対象要素配列２０４に格納されている、各表示対象要素ＥＮ（Ｎ＝１，２，…）の「データ位置」を取得し、Ｓ４２８に進む。
【００９９】
Ｓ４２８からＳ４３６までの一連のステップでは、関連表示対象要素リスト１８４と行レイアウトデータ１４０とを照合し、処理対象行及びその前行のエントリにおける表示対象要素配列２０４を構成する各表示対象要素のコンテンツ４０の行構造上での位置関係に基づき、メモ４４を分割又は複製するか否かの判定を、以下のようにして行なう。
【０１００】
Ｓ４２８では、処理対象行を構成する表示対象要素が、行構造上複数の行にわたってレイアウトされている状態にあるか否かを次のようにして判定する。すなわち、まず、処理対象行に含まれる表示対象要素ＥＮのうち、先頭に位置する表示対象要素Ｅ１の「データ位置」と、コンテンツデータ７０の行レイアウトデータ１４０（図６参照）において表示対象要素Ｅ１を含む行要素Ｌ１とを特定する。次に、表示対象要素ＥＮのうち処理対象行の２番目以降に位置するものの「データ位置」が、行要素Ｌ１の表示対象要素配列１５２に格納されているか否かを判定する。表示対象要素ＥＮのうち行要素Ｌ１に含まれていないものがあるならば、処理対象行に含まれる表示対象要素が複数行にわたってレイアウトされていることになるため、判定結果はＹＥＳとなる。処理は後述するＳ４３８に進み、分割メモを作成する処理を行なう。さもなければ、処理対象行に含まれる表示対象要素が全て同一の行にレイアウトされていることになるため、判定結果はＮＯとなり、処理はＳ４３０に進む。
【０１０１】
Ｓ４３０では、処理対象行の表示対象要素と、その前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素とが、コンテンツ４０の行構造上、同一の行に位置するものであるか否かを次のようにして判定する。すなわち、まず、関連表示対象要素リスト１８４における処理対象行の前行のエントリを参照し、当該前行のエントリにおける表示対象要素配列２０４の最後に位置する表示対象要素ＥＰ１の「データ位置」を取得する。次に、行レイアウトデータ１４０（図６参照）から、表示対象要素配列に表示対象要素ＥＰ１を含む行要素ＬＰ１を特定する。さらに、処理対象行に含まれる表示対象要素ＥＮのうち、当該処理対象行の最後に位置する表示対象要素ＥＤ１の「データ位置」が、行要素ＬＰ１の表示対象要素配列１５２に含まれているか否かを判定する。表示対象要素ＥＤ１の「データ位置」が行要素ＬＰ１の表示対象要素配列１５２に含まれているならば、行要素Ｌ１と行要素ＬＰ１とは同一の行要素であることになるため、判定結果はＹＥＳとなり、処理はＳ４３２に進む。さもなければ、行要素ＬＰ１と行要素Ｌ１とは別の行要素となるため判定結果はＮＯとなり、処理はＳ４３４に進む。ただし、処理対象の行が関連表示対象要素リスト１８４における１行目である場合は、判定結果をＮＯとし、処理はＳ４３４に進む。
【０１０２】
Ｓ４３２では、行要素Ｌ１（＝ＬＰ１）の表示対象要素配列１５２を走査し、処理対象行及び関連表示対象要素リスト１８４における処理対象の前行を構成する表示対象要素が、行要素Ｌ１内で連続する位置にあるか否かを判定する。例えば、表示対象要素ＥＰ１の次の要素として処理対象行の先頭にある表示対象要素Ｅ１が格納されているならば、現在のレイアウトにおいて、処理対象行を構成する表示対象要素Ｅ１と前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素とが、行要素Ｌ１内で連続する位置にあることになる。さもなければ、表示対象要素ＥＰ１と表示対象要素Ｅ１との間に、メモに関連付けられていない表示対象要素が挟まっていることになる。処理対象行及び関連表示対象要素リスト１８４における処理対象の前行を構成する表示対象要素の全てが連続する位置にあるならば、判定結果はＹＥＳとなる。処理は後述するＳ４４０に進み、複製メモを作成する処理を行なう。処理対象行及び関連表示対象要素リスト１８４における処理対象の前行を構成する表示対象要素のいずれかの間に、メモに関連付けられていない表示対象要素が挟まっているならば、判定結果はＮＯとなる。処理は後述するＳ４３８に進み、分割メモを作成する処理を行なう。
【０１０３】
処理がＳ４３０からＳ４３４に進んだ場合、処理対象行の表示対象要素を含む行要素Ｌ１と、処理対象行の前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素を含む行要素ＬＰ１とが、上記のとおり別の行であることになる。Ｓ４３４では、行レイアウトデータ１４０を走査し、現在のコンテンツのレイアウトにおいて行要素Ｌ１と行要素ＬＰ１との間に、他の行要素が挟まった状態にあるか否かを判定する。他の行要素が挟まった状態にあれば判定結果はＹＥＳとなり、処理は後述するＳ４４０に進み複製メモを作成する処理を行なう。さもなければ、行要素Ｌ１と行要素ＬＰ１とは互いに隣接する行を示すものであることになり、処理はＳ４３６に進む。ただし、処理対象が関連表示対象要素リスト１８４における１行目である場合は、判定結果をＮＯとし、処理はＳ４３６に進む。
【０１０４】
Ｓ４３６では、処理対象行を構成する表示対象要素と、関連表示対象要素リスト１８４における前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素とが、行要素Ｌ１及び行要素ＬＰ１において、行を横断する方向（以下、この方向を「列方向」と呼ぶ。）に連続する位置にあるか否かを次のようにして判定する。すなわち、まず、処理対象行の先頭に位置する表示対象要素Ｅ１の「データ位置」が行要素Ｌ１の表示対象要素配列１５２の何番目に格納されているかを特定し、その位置を示すインデックス値を取得する。また、関連表示対象要素リスト１８４における前行のエントリの表示対象要素配列２０４において先頭に位置する表示対象要素ＥＰ０を特定し、表示対象要素ＥＰ０の行要素ＬＰ１の表示対象要素配列１５２におけるインデックス値を取得する。次に、表示対象要素Ｅ１のインデックス値と表示対象要素ＥＰ０のインデックス値とを照合し、両者が一致するか否かを判定する。インデックス値が一致するならば、表示対象要素Ｅ１と表示対象要素ＥＰ０とは列方向に連続する位置にあることになる。すなわち処理対象行を構成する表示対象要素と、関連表示対象要素リスト１８４における前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素とが列方向に連続する位置にあることになる。そのため判定結果はＹＥＳとなり、処理は後述するＳ４４４に進む。さもなければ、表示対象要素Ｅ１と表示対象要素ＥＰ０とは列方向に不連続な位置にあることになる。すなわち処理対象行を構成する表示対象要素が関連表示対象要素リスト１８４における前行のエントリにおける表示対象要素配列２０４を構成する表示対象要素に対して、行方向にずれた位置にあることになる。そのため、判定結果はＮＯとなり、処理は後述するＳ４４０に進み、複製メモを作成する処理を行なう。ただし、処理対象が関連表示対象要素リスト１８４における１行目である場合は、判定結果をＹＥＳとし、処理はＳ４４４に進む。
【０１０５】
処理が、上記したＳ４２８又はＳ４３２からＳ４３８に進むと、Ｓ４３８では、複数行に分散された各表示対象要素のレイアウトデータと、関連付けデータ１８０の相対位置データ１８２とに基づき、次のようにして、処理対象行の表示対象要素に関連付けるための分割メモ（図２参照）を作成する。すなわち、まず、行レイアウトデータ１４０（図６参照）と関連表示対象要素リスト１８４（図８参照）とを照合し、コンテンツがどの位置で改行されているかを特定し、メモの分割位置を設定する。また、処理対象行に対してメモを表示した場合のメモの外接矩形領域を特定し、設定した分割位置で、特定したメモの外接矩形領域を分割する。続いて、分割前のメモの外接矩形領域にあわせて表示したメモを仮定し、当該メモのうち分割後の外接矩形領域において表示されるべき部分からなるメモ要素を、分割後の外接矩形領域ごとに作成し、それぞれ分割メモのメモ要素とする。また、各分割メモの外接矩形領域の表示パネル６６上での位置及びサイズを特定する。このようにして作成された分割メモのメモ要素及び各分割メモの位置及びサイズをもとに、各分割メモのメモ要素データ１６０Ａ，…（図７参照）を作成する。さらに、特定された改行位置に基づき各分割メモの関連表示対象要素リスト１８４を作成する。処理はＳ４４２に進む。
【０１０６】
処理が上記したＳ４３２、Ｓ４３４、又はＳ４３６からＳ４４０に進むと、Ｓ４４０では、処理対象の行においてメモと関連付けられた各表示対象要素のレイアウトデータと、関連付けデータ１８０の相対位置データ１８２とに基づき、処理対象行の表示対象要素に関連付けるための複製メモ（図２参照）を作成する。すなわち、まず、新たなメモ要素データを準備し、メモ要素データ１６０Ａ，…（図７参照）と同一の「内容」１７２を格納する。このメモ要素データが、複製メモについてのメモ要素データとなる。続いて、処理対象の前行を構成する一群の表示対象要素、及び当該前行の表示対象要素と連続する位置にある処理対象行の表示対象要素を、複製メモの関連表示対象要素とし、関連表示対象要素リスト１８４を作成する。処理はＳ４４２に進む。
【０１０７】
Ｓ４４２では、Ｓ４３８又はＳ４４０で新たに作成された、分割メモ又は複製メモのメモ要素データ１６０Ａ，…について、新たに作成された関連表示対象要素リスト１８４に基づいて頂点関連要素を特定して新たな相対位置データ１８２を作成する。関連表示対象要素リスト１８４と合せて関連付けデータ１８０を作成し、分割メモ又は複製メモのメモ要素データ１６０Ａ，…に付与する。処理はＳ４４４に進む。
【０１０８】
上記したＳ４２８からＳ４４２までの処理により、１つの処理対象行についてのメモ４４の処理が完了する。処理が、上記したＳ４３６又はＳ４４２からＳ４４４に進むと、Ｓ４４４では、関連表示対象要素リスト１８４に、処理対象行の次行分のエントリが存在するか否かを判定する。次の行のエントリが存在するならばＳ４４６に進む。さもなければＳ４４８に進む。Ｓ４４６では、関連表示対象要素リスト１８４における次の行を処理対象に定め、処理対象に含まれる各表示対象要素の「データ位置」を取得してＳ４２８に戻る。
【０１０９】
Ｓ４４８では、コンテンツデータ７０内の各表示対象要素のレイアウトデータと、メモデータ７２に付与された関連付けデータ１８０の相対位置データ１８２とに基づいて、メモの外接矩形領域の各頂点座標を算出する。
【０１１０】
Ｓ４５０では、Ｓ４４８で算出した頂点座標をもとに、メモ４４のサイズを変更する必要があるか否かを判定する。サイズ変更が必要であるならば、Ｓ４５２に進む。さもなければ、メモレイアウト処理４２０を終了する。Ｓ４５２では、Ｓ４４８で算出した頂点座標をもとに、コンテンツのその時点でのレイアウトに対応するメモ要素の幅及び高さを算出してメモ４４のサイズを変更し、コンテンツレイアウト処理４２０を終了する。
【０１１１】
図１７に、図１４に示すＳ３８２において実行されるメモ記録処理の制御構造を示す。図１７を参照して、メモ記録処理４８０が開始されると、Ｓ４８２において、ユーザによる編集の指示を受けて、その操作信号を文字、画像、又は手書きデータ等に変換し、メモデータ７２（図７参照）を更新する。
【０１１２】
Ｓ４８４では、コンテンツデータ７０に基づきメモ４４に関連する表示対象要素を次のようにして特定し、それらの表示対象要素についての「データ位置」及びレイアウトデータを取得する。すなわち、まず、メモデータ７２（図７参照）のレイアウトデータ１６４，…，１７０をもとに、メモの外接矩形領域を特定する。続いて、コンテンツデータ７０（図５参照）に示される各表示対象要素のレイアウトデータ１２４，…，１３０をもとに、各表示対象要素の外接矩形領域を特定し、その外接矩形領域がメモの外接矩形領域と重なる表示対象要素を選び、それらの「データ位置」１３２（図５参照）を取得する。
【０１１３】
Ｓ４８６では、Ｓ４８４で取得した「データ位置」及び表示対象要素のレイアウトデータをもとに、メモ４４に対する表示対象要素の相対位置を次のようにして算出する。すなわち、まず、メモの外接矩形領域の各頂点の位置を特定する。次に、Ｓ４８４で選ばれた表示対象要素のうちそれら各頂点から最も近い位置にあるものを選び、それぞれメモの頂点関連要素とする。さらに、メモの外接矩形領域の左上頂点を原点とする相対座標系を設定し、コンテンツデータ７０により示される頂点関連要素の位置を取得し、相対座標系における座標値に変換することにより、相対位置を得る。
【０１１４】
Ｓ４８８では、Ｓ４８４で取得した「データ位置」及びレイアウトデータと、Ｓ４８６で算出した相対位置とをもとに、メモ４４の関連付けデータ１８０（図８参照）を作成する。Ｓ４９０では、Ｓ４８２で更新したメモデータ７２にＳ４８８で作成された関連付けデータ１８０を付与して記録する。
【０１１５】
表示装置５０は以下のように動作する。表示装置５０の動作には、コンテンツデータ７０に基づいてコンテンツ４０のレイアウトを決定し当該コンテンツ４０を表示する動作と、メモ４４をコンテンツ４０に関連付けてメモデータ７２として記録する動作と、メモデータ７２に基づきメモ４４を表示する動作とがある。また、表示装置５０は、ユーザに操作を促すメッセージを作成して表示し、ユーザからの指示操作を受けて次に行なうべき動作を決定する。
【０１１６】
まず、表示装置５０がコンテンツを表示させる動作について説明する。図９を参照して、制御部８０のコンテンツデータ集配部２２０は、図３に示す記憶部６０から又はインタフェース部６８を介して外部の記憶装置等から、コンテンツデータ７０を取得し図３に示すコンテンツレイアウト部８２に与える。
【０１１７】
図１０を参照して、コンテンツデータ７０は、コンテンツレイアウト部８２のレイアウト範囲特定部２４２及びレイアウト決定部２４４に与えられる。レイアウト範囲特定部２４２は、コンテンツデータ７０が与えられたことに応答して、図３に示す記憶部６０から表示設定データ７４を取得する。レイアウト範囲特定部２４２は、表示設定データ７４に基づいて表示パネル６６におけるレイアウト可能範囲を特定する。レイアウト範囲特定部２４２は、特定したレイアウト可能範囲、並びに表示設定データ７４により示される１行の文字数、余白、及び文字サイズ等をもとに、コンテンツ４０のレイアウト範囲を特定する。レイアウト範囲特定部２４２は、コンテンツのレイアウト範囲をレイアウト決定部２４４に通知する。
【０１１８】
レイアウト決定部２４４は、与えられたコンテンツデータ７０（図５参照）とレイアウト範囲の通知とをもとに、レイアウト範囲内での各表示対象要素４２Ａ，４２Ｂ，…のレイアウトすなわち表示対象要素の位置とサイズとを決定する。レイアウト決定部２４４は、決定したレイアウトに基づき表示対象要素のレイアウトデータ１２４、１２６、１２８、及び１３０（図５参照）、並びに行レイアウトデータ１４０（図６参照）を生成又は更新する。レイアウト決定部２４４は、更新されたコンテンツデータ７０を、図３に示す制御部８０及び表示制御部８８に与える。
【０１１９】
図３を参照して、表示制御部８８は、コンテンツレイアウト部８２より与えられたコンテンツデータ７０を出力信号に変換して表示パネル６６に出力する。表示パネル６６は、表示制御部８８からの出力信号を表示する。以上の動作により、コンテンツ４０の各表示対象要素４２Ａ，４２Ｂ，…が、決定されたレイアウトにしたがって表示パネル６６上に表示される。
【０１２０】
図１８（Ａ）に、表示パネル６６によるコンテンツ４０の表示例を示す。図１８を参照して、表示パネル６６におけるコンテンツのレイアウト可能範囲５００内に、レイアウト範囲５０２が定められる。さらに、レイアウト範囲５０２内に表示対象要素４２Ａ，４２Ｂ，…が、行構造にしたがいレイアウトされ、表示される。
【０１２１】
図９を参照して、制御部８０のコンテンツデータ集配部２２０は、コンテンツレイアウト部８２からコンテンツデータ７０が与えられたことに応答して、当該コンテンツデータ７０を記憶部６０、記録部８４、及びメモレイアウト部８６（図３参照）に与え、処理が完了したことをメモデータ集配部２２２に通知する。記憶部６０は、与えられたコンテンツデータ７０を記憶する。記録部８４及びメモレイアウト部８６は、与えられたコンテンツデータ７０を一時的に保持する。
【０１２２】
以下に、メッセージを表示し、ユーザからの指示操作を受けて次に行なうべき動作を決定する動作を説明する。
【０１２３】
上記したコンテンツデータ集配部２２０からの通知に応答して、メモデータ集配部２２２は、記憶部６０からのメモデータ７２の取得を試みる。メモデータ７２の取得に成功した場合、メモデータ集配部２２２は、メモデータ７２をメモレイアウト部８６（図３参照）に与えてメモのレイアウトを決定し表示する動作を実行させ、その後にメッセージ生成部２３０に通知を与える。この動作については後述する。メモデータの取得に失敗した場合、メモデータ集配部２２２は、その時点でメッセージ生成部２３０に通知を与える。
【０１２４】
メモデータ集配部２２２からの通知に応答して、メッセージ生成部２３０は、コンテンツ４０の表示設定の変更指示をユーザに促すためのメッセージを表示制御部８８（図３参照）に与える。表示制御部８８は、与えられたメッセージを表示パネル６６に表示させる。
【０１２５】
ユーザが図３に示す操作部６２を用いて、表示設定の変更を指示する操作を行なうと、操作部６２はその操作に応じた操作信号を発する。図９に示す制御部８０の操作信号解析部２２４は、発生した操作信号を解析し操作内容を特定する。操作内容が表示設定の変更を指示するものであることに応答して、操作信号解析部２２４は、その指示を表示設定処理部２２６に与え、表示設定の変更に伴う一連の動作を開始させる。表示設定の変更に伴う一連の動作については後述する。操作内容が表示設定の変更を行なわない旨の指示であることに応答して、操作信号解析部２２４は、メッセージ生成部２３０に通知を与える。
【０１２６】
メッセージ生成部２３０は、操作信号解析部２２４からの通知に応答して、メモの作成又は更新をユーザに促すメッセージを表示制御部８８（図３参照）に与える。表示制御部８８は、コンテンツの表示に併せて、与えられたメッセージが表示されるよう出力信号を生成し、表示パネル６６に表示させる。
【０１２７】
ユーザが、表示されたメッセージに応じ、操作部６２を用いてメモ４４の入力操作を行なうと、操作部６２は操作に応じた信号を発生する。制御部８０の操作信号解析部２２４は、操作部６２で発生した操作信号を解析し、操作内容を特定する。操作信号がメモ４４の入力操作であると特定されたことに応答して、操作信号解析部２２４は操作信号をメモデータ編集部２２８に与え、メモ４４を記録する動作を開始させる。メモ４４を記録する動作については後述する。操作内容がメモ４４の作成又は更新を行なわない旨の指示であることに応答して、操作信号解析部２２４は、メッセージ生成部２３０に通知を与える。メッセージ生成部２３０は、操作信号解析部２２４からの通知に応答して、表示装置５０の一連の動作を終了するか否かの選択をユーザに促すメッセージを表示制御部８８（図３参照）に与える。表示制御部８８は、コンテンツの表示に併せて、与えられたメッセージが表示されるよう出力信号を生成し、表示パネル６６に表示させる。
【０１２８】
ユーザが、表示されたメッセージに応じ、操作部６２を用いて操作を行なうと、操作部６２は、操作に応じた信号を発生する。制御部８０の操作信号解析部２２４は、操作部６２で発生した操作信号を解析し、操作内容を特定する。操作信号が動作の終了を指示するものであると特定されたことに応答して、表示装置５０は、一連の動作を終了する。さもなければ、操作信号解析部２２４は、メモデータ集配部２２２に処理の開始を要求し、一連の動作を継続する。
【０１２９】
以下、表示装置５０が、コンテンツ４０の表示対象要素４２Ａ，４２Ｂ，…に関連付けてメモ４４を記録する動作について説明する。
【０１３０】
例えば、図１８（Ａ）に示すコンテンツ４０が表示パネル６６に表示された後、ユーザが、メッセージに応じて、図１８（Ｂ）に示すように、コンテンツ４０中の「大事な箇所」が表示されている部分を囲む位置にメモ４４の入力を行なったものとする。
【０１３１】
図３を参照して、操作部６２は、この入力操作に応じた信号を発生する。制御部８０の操作信号解析部２２４（図９参照）が上記のとおり操作信号を解析し、その操作がメモ４４の入力操作であると特定すると、操作信号解析部２２４は、当該操作信号をメモデータ編集部２２８に与える。
【０１３２】
メモデータ編集部２２８は、与えられた操作信号からメモ４４の図７に示す種類１６２を特定し、操作信号をメモ４４の内容１７２に変換する。図１８（Ｂ）に示す例では、与えられた操作信号からメモの種類１６２がストロークデータであることを特定し、さらに、操作信号から指示点の位置及び軌跡を同定することにより当該操作信号をストロークデータに変換する。メモデータ編集部２２８はさらに操作信号をもとに、図１８（Ｂ）に示すメモ４４の外接矩形領域５１０を特定し、その左上端の位置（Ｘ，Ｙ）、並びに外接矩形領域の幅Ｗ及び高さＨを求めて、メモ４４のレイアウトデータ１６４，…，１７０（図７参照）を作成する。メモデータ編集部２２８は、メモ４４の種類１６２、内容１７２とメモのレイアウトデータ１６４，…，１７０とを合せてメモデータ７２を作成して記録部８４に与える。ただし、この時点では、メモ要素と表示対象要素との関連付けは行われておらず、メモデータ７２には適切な関連付けデータ１８０が付与されていない状態にある。
【０１３３】
図１１を参照して、記録部８４のメモ関連表示対象要素取得部２６０には、コンテンツデータ７０が既に与えられている。メモ関連表示対象要素取得部２６０は、制御部８０からメモデータ７２が与えられたことに応答して、メモデータ７２（図７参照）のレイアウトデータ１６４，…，１７０をもとに、図１８（Ｂ）に示すメモ４４の外接矩形領域５１０を特定する。また、メモ関連表示対象要素取得部２６０は、コンテンツデータ７０（図５参照）に示される各表示対象要素のレイアウトデータ１２４，…，１３０をもとに、各表示対象要素の外接矩形領域を特定する。メモ関連表示対象要素取得部２６０は、表示対象要素４２Ａ，４２Ｂ，…のうち、その外接矩形領域がメモ４４の外接矩形領域５１０と重なるものを選び、それらの「データ位置」１３２（図５参照）を取得する。図１８（Ｂ）に示す例では、文字列「大事な箇所」を構成する表示対象要素が選ばれる。メモ関連表示対象要素取得部２６０は、選んだ各表示対象要素の「データ位置」を、行レイアウトデータ１４０（図６参照）に示される表示対象要素の行構造に基づき行ごとにまとめ、図８に示す関連表示対象要素リスト１８４を作成する。メモ関連表示対象要素取得部２６０は、作成した関連表示対象要素リスト１８４を相対位置算出部２６２と関連付けデータ記録部２６４とに与える。
【０１３４】
相対位置算出部２６２は、与えられた関連表示対象要素リスト１８４（図８参照）をもとに、選ばれた表示対象要素の外接矩形領域５１０を特定する。図１９に、メモ４４と選ばれた表示対象要素との位置関係を概略的に示す。図１９を参照して、上記のとおりメモ４４の外接矩形領域５１０は、選ばれた表示対象要素５２０Ａ，…，５２０Ｅの外接矩形領域５２２Ａ，…，５２２Ｅの各々と重なっている。相対位置算出部２６２は、メモデータ７２（図７参照）のレイアウトデータ１６４，…，１７０をもとに、メモ４４の外接矩形領域５１０の各頂点５２４Ａ，５２４Ｂ，５２４Ｃ，及び５２４Ｄの位置を特定する。相対位置算出部２６２は、メモ４４の外接矩形領域５１０の各頂点５２４Ａ，…，５２４Ｄから最も近い位置にある表示対象要素を選び、それぞれメモ４４の頂点関連要素とする。例えば、外接矩形領域５１０の左上頂点５２４Ａの頂点関連要素は、表示対象要素「大」５２０Ａである。
【０１３５】
次に相対位置算出部２６２は、メモ４４の外接矩形領域５１０の左上端５２４Ａを原点とする相対座標系５２６を設定し、頂点関連要素（例えば表示対象要素５２０Ａ）の左上端５２８の位置「Ｘ」及び「Ｙ」を、相対座標系５２６における座標値「ＲＸ」及び「ＲＹ」に変換する。相対位置算出部２６２は、各頂点関連要素のデータ位置、相対座標系における座標値「ＲＸ」及び「ＲＹ」、並びに各頂点関連要素の幅「Ｗ」及び高さ「Ｈ」をもとに、図８に示す相対位置データ１８２を作成する。相対位置算出部２６２は、作成した相対位置データ１８２を関連付けデータ記録部２６４に与える。
【０１３６】
関連付けデータ記録部２６４は、与えられた関連表示対象要素リスト１８４と相対位置データ１８２とを合せて関連付けデータ１８０を作成し、メモデータ７２（図７参照）に付与して、図３に示す記憶部６０に格納する。
【０１３７】
以上の動作により、メモ４４はコンテンツ４０の表示対象要素４２Ａ，４２Ｂ，…に関連付けられ、メモデータ７２として記憶部６０に記憶される。
【０１３８】
以下に、表示装置５０がメモデータ７２に基づきメモ４４を表示する動作について説明する。
【０１３９】
図３を参照して、記憶部６０は、記録部８４より与えられたメモデータ７２を記憶するとともに、制御部８０に対して出力する。図９に示す制御部８０のメモデータ集配部２２２は、記憶部６０からメモデータ７２を取得すると、当該メモデータ７２をメモレイアウト部８６に与え、メモの表示を要求する。
【０１４０】
図１２を参照して、メモレイアウト部８６の取得部２８０は、予めコンテンツデータ７０をコンテンツレイアウト部８２より受けている。取得部２８０はコンテンツデータ７０とメモデータ７２とを受けると、コンテンツデータ７０の行レイアウトデータ１４０（図６参照）と、メモデータ７２の関連付けデータ１８０（図８参照）とを判定部２８２に与える。判定部２８２は、関連付けデータ１８０の関連表示対象要素リスト１８４と、行レイアウトデータ１４０とを照合し、メモの分割又は複製が必要か否かを判定する。ここでは、分割及び複製が必要ないと判定されたものとする。この場合、判定部２８２は、コンテンツデータ７０及びメモデータ７２をメモ表示位置算出部２８８に与える。
【０１４１】
メモ表示位置算出部２８８は、判定部２８２からコンテンツデータ７０及びメモデータ７２が与えられたことに応答して、図８に示す関連付けデータ１８０の相対位置データ１８２を参照し、メモ４４の外接矩形領域の各頂点の表示パネル６６上での位置を算出する。
【０１４２】
例えば、図１９に示すメモ４４の外接矩形領域５１０の左上頂点５２４Ａの表示パネル６６上での位置は次のように算出される。ここに、頂点関連要素５２０Ａについての頂点要素データ１８６Ａ（図８参照）により示される頂点関連要素５２０Ａの相対座標を（ＲＸ，ＲＹ）、幅をＷ、高さをＨとし、コンテンツデータ７０（図５参照）により示される、頂点関連要素５２０Ａの左上頂点５２８の表示パネル６６上での座標を（ＸＡ１，ＹＡ１）、幅をＷＡ１、高さをＨＡ１とする。メモ４４の左上頂点５２４Ａの表示パネル６６上での座標を（ＸＬ，ＹＬ）とすると、ＸＬ＝ＸＡ１−ＲＸ×（ＷＡ１／Ｗ）、ＹＬ＝ＹＡ１−ＲＹ×（ＨＡ１／Ｈ）となる。メモ表示位置算出部２８８は、同様にしてメモ４４の外接矩形領域の各頂点について、表示パネル６６上での座標を算出する。
【０１４３】
メモ表示位置算出部２８８は、メモデータ７２により示されるメモ４４の位置「Ｘ」１６４及び「Ｙ」１６６（図７参照）の値を、算出したメモの左上端の位置「ＸＬ」及び「ＹＬ」に更新する。メモ表示位置算出部２８８は、メモデータ７２と算出した各頂点の表示パネル６６上での座標とをメモ表示サイズ算出部２９０に与える。
【０１４４】
メモ表示サイズ算出部２９０は、メモ表示位置算出部２８８より与えられた、外接矩形領域５１０（図１９参照）の頂点５２４Ａ，…，５２４Ｄの座標を用いて、現在のコンテンツ４０のレイアウトに対応するメモ４４の幅Ｗ’及び高さＨ’を算出する。メモ表示サイズ算出部２９０は、与えられたメモデータの幅「Ｗ」１６８及び高さ「Ｈ」１７０（図７参照）を、メモ表示サイズ算出部２９０により算出された、メモ４４の幅Ｗ’及び高さＨ’に変更する。メモ表示サイズ算出部２９０は、処理後のメモデータ７２を制御部８０及び表示制御部８８に与える。
【０１４５】
図９に示す制御部８０のメモデータ集配部２２２は、与えられたメモデータ７２を図３に示す記録部８４に与えるとともに、当該メモデータ７２を記憶部６０に格納し、メッセージ生成部２３０に通知を与える。図３に示す表示制御部８８は、与えられたメモデータ７２のレイアウトデータにより示される位置及びサイズで、メモの構成要素データにより示されるメモの要素が表示されるよう、出力信号を生成し、表示パネル６６に表示させる。
【０１４６】
以上の動作により、図１８（Ｂ）に示すように、ユーザにより入力されたメモとコンテンツ４０との位置関係と同じ位置関係で、コンテンツ４０とメモ４４とが表示パネル６６上に表示される。
【０１４７】
以下に、表示装置５０が、表示設定の変更に伴い、コンテンツ４０の表示を変更する動作について説明する。
【０１４８】
上記のとおり、ユーザがメッセージに応じて表示設定の変更を指示する操作を行なうと、図３に示す操作部６２がその操作に応じた信号を発生する。図９に示す制御部８０の操作信号解析部２２４は操作内容を解析し、操作信号が表示設定の変更指示であると特定されると、当該表示設定の変更指示を表示設定処理部２２６に与える。
【０１４９】
表示設定処理部２２６は、表示設定の変更指示に応答して、図３に示す記憶部６０から表示設定データ７４を取得し、与えられた指示にしたがい表示設定データ７４を変更する。表示設定処理部２２６は、変更した表示設定データ７４を記憶部６０に記憶させるとともに、図３に示すコンテンツレイアウト部８２に与える。
【０１５０】
図１０を参照して、コンテンツレイアウト部８２のレイアウト範囲特定部２４２は、制御部８０から表示設定データ７４を受けると、図９に示す制御部８０のコンテンツデータ集配部２２０にコンテンツデータ７０を要求する。この要求に応答して、コンテンツデータ集配部２２０は、記憶部６０からコンテンツデータ７０を取得し、コンテンツレイアウト部８２に与える。図１０を参照して、レイアウト範囲特定部２４２及びレイアウト決定部２４４は、上記した動作と同様の動作で新たな表示設定データ７４に基づきコンテンツ４０のレイアウト範囲及びレイアウトを決定し、コンテンツデータ７０の行レイアウトデータ１４０（図６参照）及び各表示対象要素のレイアウトデータ１２４，…，１３０（図５参照）を更新する。更新されたコンテンツデータ７０は、図３に示す制御部８０及び表示制御部８８に与えられる。
【０１５１】
制御部８０のコンテンツデータ集配部２２０（図９参照）は、与えられたコンテンツデータ７０を記憶部６０、記録部８４、及びメモレイアウト部８６に与え、メモデータ集配部２２２に通知を与える。表示制御部８８は、与えられたコンテンツデータ７０を出力信号に変換し、表示パネル６６に表示させる。
【０１５２】
以上の動作により、コンテンツ４０の表示は、表示設定の変更に応じたものとなるが、この時点では、メモ４４は、コンテンツ４０の表示態様の変更に追従していないので、図３に示す制御部８０及びメモレイアウト部８６は、以下の動作によりメモ４４のレイアウトを変更する。
【０１５３】
図９を参照して、制御部８０のコンテンツデータ集配部２２０からの通知に応答して、メモデータ集配部２２２は、記憶部６０からのメモデータ７２の取得を試みる。この試みが成功すると、メモデータ集配部２２２は取得しメモレイアウト部８６に与えてメモのレイアウト決定及び表示を要求する。
【０１５４】
図１２を参照して、メモレイアウト部８６の取得部２８０は、新たにメモデータ７２を受けると、コンテンツデータ７０及びメモデータ７２を判定部２８２に与える。判定部２８２は、コンテンツデータ７０の行レイアウトデータ１４０とメモデータの関連表示対象要素リスト１８４とを照合し、関連表示対象要素リスト１８４（図８参照）に示すエントリ２００Ａ，２００Ｂ，…ごとに、以下のようにして、メモ４４の分割及び複製の要否を判定する。
【０１５５】
判定部２８２は判定に先立ち、関連表示対象要素リスト１８４（図８参照）のエントリ２００Ａ，２００Ｂ，…のうち１行目に対応するものを処理対象行に定め、処理対象行の表示対象要素配列２０４を取得しておく。
【０１５６】
判定部２８２は、処理対象行に含まれる表示対象要素が、現時点のコンテンツのレイアウトにおいて複数の行にわたってレイアウトされている状態にあるか否かを判別する。複数の行にわたってレイアウトされているならば、処理対象行に含まれる表示対象要素の外接矩形領域は、改行位置で分離された状態にある。この場合、判定部２８２は、処理対象行に含まれる表示対象要素に関連付けてメモを表示するには、メモの分割を行ない分割メモ（図２参照）を作成する必要があると判定する。判定部２８２は、分割メモ作成部２８４に対して処理対象行についての分割メモの作成を要求し、当該処理対象行を、分割及び複製の要否の判定対象から除外する。複数の行にわたってレイアウトされていなければ、当該処理対象行については、分割メモを作成する必要はない。ただし、関連表示対象要素リスト１８４における次の行のエントリに含まれる表示対象要素との位置関係により、分割又は複製の処理が必要となる場合がある。そのため、当該処理対象行についての判定を保留しておく。
【０１５７】
判定部２８２は、関連表示対象要素リスト１８４（図８参照）のエントリ２００Ａ，２００Ｂ，…のうち次の行に対応するものを、新たな処理対象行に定め、処理対象行の表示対象要素配列２０４を取得する。判定部２８２は、新たな処理対象行についても同様に、処理対象行に含まれる表示対象要素が、複数の行にわたってレイアウトされている状態にあるか否かを判別して、分割メモの作成の要否を判定する。分割が必要であるという判定結果を得た場合、判定部２８２は、上記した同様の動作で当該処理対象行についての分割メモの作成を要求し、処理対象行を、分割及び複製の要否の判定対象から除外する。この判定により、分割メモの作成が必要ないと判定された場合、判定部２８２は、前行分のエントリについての判定が保留されたままになっているかを確認する。保留されていなければ、当該処理対象行についての判定を保留しておく。
【０１５８】
前行分のエントリについての判定が保留されたままになっている場合、判定部２８２は、前行分のエントリに含まれる表示対象要素と、処理対象行に含まれる表示対象要素との関係に基づき、以下のようにして、メモ４４の分割及び複製の要否を判定する。
【０１５９】
判定部２８２は、処理対象行の表示対象要素と、その前行のエントリに含まれる表示対象要素とが、コンテンツ４０の現在のレイアウトにおいて、同一の行に位置するものであるか否かを判定する。両者の表示対象要素が同一の行に位置する場合、保留されている前行分の表示対象要素及び処理対象行以降のエントリに含まれる表示対象要素すなわち未判定の表示対象要素が表示パネル６６上で占める領域は、次に示すいずれかの状態になる。すなわち、前行分のエントリに含まれる表示対象要素の占める領域が、処理対象行以降のエントリに含まれる表示対象要素の占める領域から分離した状態になるか、又は突出した状態になるかのいずれかである。このいずれの状態においても、１つのメモ要素をサイズ変更するだけでは、メモと各表示対象要素との相対的な位置関係を維持することができない。よってこの場合判定部２８２は、分割メモ又は複製メモ（図２参照）の作成が必要であると判定する。判定部２８２はさらに、分割メモを作成するか、複製メモを作成するかを次のように決定する。
【０１６０】
すなわち、判定部２８２は、処理対象行に含まれる表示対象要素と前行分のエントリに含まれる表示対象要素とが同一行内で連続する位置にあるかを判定する。両者が連続する位置にあるとの判定結果を得ると、判定部２８２は、複製メモを作成することでメモとコンテンツとの対応関係を維持することを決定する。この場合、判定部２８２は、複製メモ作成部２８６に対し、前行分のエントリを含む、判定を保留していた各エントリに含まれる表示対象要素についての複製メモの作成を要求し、当該各エントリを分割及び複製の要否の判定対象から除外する。両者が連続する位置にないとの判定結果を得ると、判定部２８２は、分割メモを作成することでメモとコンテンツとの対応関係を維持することを決定する。この場合、判定部２８２は、分割メモ作成部２８４に対し、処理対象行及びその前行分のエントリに含まれる表示対象要素についての分割メモの作成を要求し、当該処理対象行及びその前行分のエントリを分割及び複製の要否の判定対象から除外する。判定部２８２は、この決定の後、さらに次の行に対応するものを、新たな処理対象行に定め、処理対象行の表示対象要素配列２０４を取得する。
【０１６１】
前行分のエントリについての判定が保留されたままになっており、かつ、処理対象行の表示対象要素と前行分のエントリに含まれる表示対象要素とが、コンテンツ４０の現在のレイアウトにおいて互いに別の行にあるとの判定結果を得た場合、判定部２８２は次に、列方向すなわち行を横断する方向での、両者の連続性を判別する。すなわち判定部２８２はまず、コンテンツ４０の現時点でのレイアウトにおいて、処理対象行が位置する行と前行分の表示対象要素が位置する行との間に、さらに別の行が挟まった状態にあるか否かを判定する。両者の間に別の行が挟まった状態にある場合、前行分の表示対象要素及び処理対象行以降のエントリに含まれる表示対象要素すなわち未判定の表示対象要素が表示パネル６６上で占める領域は、両者の間に挟まった行により分断された状態となる。この場合、判定部２８２は、複製メモを作成することでメモとコンテンツとの対応関係を維持することを決定する。そして複製メモ作成部２８６に対し、前行分のエントリを含む、判定を保留していた各エントリに含まれる表示対象要素についての複製メモの作成を要求し、当該各エントリを判定の対象から除外する。判定部２８２は、処理対象行についての判定を保留し、関連表示対象要素リスト１８４における次の行に対応するものを、新たな処理対象行に定める。
【０１６２】
処理対象行が位置する行と前行分の表示対象要素が位置する行との間に、さらに別の行が挟まった状態にない場合、すなわち現在のコンテンツ４０のレイアウトにおいて、両者が隣接する行に存在する場合、判定部２８２は、両者が行方向にずれているか否かを判別する。両者にずれがある場合、メモ要素のサイズ変更又は分割によっては、メモと各表示対象要素との相対的な位置関係を維持することができない。この場合、判定部２８２は、複製メモを作成することでメモとコンテンツとの対応関係を維持することを決定し、複製メモ作成部２８６に対し、前行分のエントリを含む、判定を保留していた各エントリに含まれる表示対象要素についての複製メモの作成を要求し、当該保留していたエントリを判定の対象から除外する。判定部２８２は、処理対象行についての判定を保留し、関連表示対象要素リスト１８４における次の行に対応するものを、新たな処理対象行に定める。
【０１６３】
処理対象行が位置する行と前行分の表示対象要素が位置する行との間に別の行も行方向のずれもない状態にある場合、処理対象行の表示対象要素に関連付けられるメモ要素についてサイズ変更を行なうことで、前行分の表示対象要素とメモとの相対的な位置関係を維持することもできると判定される。この場合、判定部２８２は、前行分のエントリ及び処理対象行についての判定を保留し、関連表示対象要素リスト１８４における次の行に対応するものを新たな処理対象行に定める。
【０１６４】
判定部２８２は、以上の判定及び加工の要求を、関連表示対象要素リスト１８４（図８参照）の各エントリについて行なう。全てのエントリについて以上の判定及び加工の要求を行なった状態で、判定が保留されているエントリがあれば、１つのメモ要素を変形することによって、メモとこれらのエントリに含まれる各表示対象要素との相対関係は維持できることになる。判定部２８２は、メモデータ７２の関連表示対象要素リスト１８４を、これら判定が保留されたエントリからなるリストに変更し、当該変更したメモデータをメモ表示位置算出部２８８に与える。
【０１６５】
以上の判定の結果に応じて、図１２に示すメモレイアウト部８６の各機能部は、メモ４４のレイアウトを変更して、メモデータ７２の更新を行なう。以下、メモ４４のレイアウトを変更する動作を例示する。
【０１６６】
まず、メモ４４の表示位置及びサイズを変更する際の動作を以下に説明する。
【０１６７】
図２０に、コンテンツ４０のレイアウト変更に応じてメモのサイズを変更する動作による、表示パネル６６上でのコンテンツ４０とメモ４４の位置関係の変化を概略的に示す。図２０（Ａ）を参照して、表示パネル６６に、コンテンツ４０Ａと、コンテンツ４０Ａ中の文字列「大事な箇所」を囲むメモ４４とが表示されていたものとする。ここで、ユーザが表示を「拡大」するよう表示設定を変更し、その変更に伴い、コンテンツ４０Ａの表示が、図２０（Ｂ）に示す表示４０Ｂのように変化したものとする。図２０（Ｂ）においては、メモ４４に関連付けられるべき表示対象要素「大事な箇所」のサイズが拡大している。そのため、相対位置データ１８２（図８参照）に示される各頂点関連要素の位置も変化していることとなる。メモ４４の表示位置及びサイズを変更せずに表示パネル上に表示すると、その表示は、図２０（Ｂ）に示すメモ４４のようになり、コンテンツとメモとの関連性が破綻してしまう。
【０１６８】
そこでメモ表示位置算出部２８８は、メモの表示位置を決定する際に、まず、図８に示す相対位置データ１８２の「データ位置」１９０を参照し、頂点関連要素である文字「大」及び「所」を特定する。続いてコンテンツデータ７０を参照し、現時点のレイアウトにおいて図２０（Ｃ）に示すこれら頂点関連要素の外接矩形領域５４２Ａ及び５４２Ｂの左上端５４４Ａ及び５４４Ｂを特定する。メモ表示位置算出部２８８は、特定した左上端５４４Ａ及び５４４Ｂ、並びに相対位置データ１８２により示される相対座標「ＲＸ」１９２及び「ＲＹ」１９４をもとに、上記した動作と同様の動作でメモの外接矩形領域の各頂点の座標を算出し、メモデータ７２の座標値「Ｘ」１６４及び「Ｙ」１６６（図７参照）を更新する。メモ４４の外接矩形領域は、図２０（Ｃ）に示す矩形領域５４６のようになる。
【０１６９】
図１２に示すメモ表示サイズ算出部２９０は、図２０（Ｃ）に示す矩形領域５４６に合せてメモ４４が表示されるよう、メモデータ７２の幅「Ｗ」１６８及び高さ「Ｈ」１７０（図７参照）を変更する。メモ表示サイズ算出部２９０は、処理後のメモデータ７２を制御部８０及び表示制御部８８に与える。表示制御部８８による表示パネル６６上での表示においては、図２０（Ｄ）のように、表示対象要素のサイズに応じたサイズで、メモ５５０が表示されるようになり、コンテンツとメモとの位置関係が維持される。
【０１７０】
図２１に、メモ表示位置算出部２８８及びメモ表示サイズ算出部２９０によるメモの表示位置及びサイズの変更によるレイアウトの変化の、別の一例を示す。図２１（Ａ）を参照して、コンテンツ５６０Ａは「とても大事な内容が記述されています。必ずチェックをお願いします。・・・・」という文字列であるものとする。表示パネル６６上には、このコンテンツ５６０Ａのレイアウトに対応して、メモ５６２Ａがレイアウトされ表示されていたものとする。メモ５６２Ａは、文字列「とても大事な内容が記述されています。」に関連付けられているものとする。
【０１７１】
このようにレイアウトされたコンテンツ５６０Ａに対して、ユーザがルビの表示を指示したものとする。その結果、その表示が、図２１（Ｂ）に示すコンテンツ５６０Ｂのようになったとする。コンテンツ５６０Ｂのレイアウトでは、漢字にルビが振られているため、結果としてコンテンツの各行間に、図２１（Ａ）に示すコンテンツ５６０Ａよりも大きな幅の行間が生まれている。
【０１７２】
図１２に示すメモ表示位置算出部２８８及びメモ表示サイズ算出部２９０は、メモの頂点関連要素をもとに、メモの表示位置及びサイズを決定する。そのため、メモ５６２Ａは、図２１（Ｂ）に示すメモ５６２Ｂのように変形し、コンテンツとメモとの相対位置関係が維持される。
【０１７３】
以下に、図１２に示す分割メモ作成部２８４が、判定部２８２からの要求にしたがい、メモ４４をもとに分割メモを作成する動作について説明する。
【０１７４】
図２２に、コンテンツ４０のレイアウトの変化に応じてメモを分割する処理による表示パネル６６での表示の変化の一例を示す。図２２（Ａ）を参照して、表示パネル６６に、コンテンツ５８０Ａと、コンテンツ５８０Ａ中の文字列「たいへん大事です。」を囲むメモ５８２とが表示されているものとする。ここで、ユーザによる指示にしたがい表示設定を変更した結果、コンテンツ１８０Ａの表示が、図２２（Ｂ）に示すコンテンツ５８０Ｂの表示のように変化したものとする。図２２（Ｂ）においては、コンテンツ５８０Ｂは、「たいへ」と「ん大事です。」との間で改行されている。このような場合、図１２に示す判定部２８２から分割メモ作成部２８４に、文字列「たいへん大事です。」に対応する分割メモの作成要求が与えられる。
【０１７５】
図２２（Ｂ）に示すコンテンツ５８０Ｂのレイアウトに対して、分割メモ作成部２８４はまず、行レイアウトデータ１４０（図６参照）と関連表示対象要素リスト１８４（図８参照）とを照合し、コンテンツがどの位置で改行されているかを特定する。次に分割メモ作成部２８４は、関連付けデータ１８０の相対位置データ１８２に基づき、メモ５８２の分割すべき位置を示す分割線を設定する。
【０１７６】
図２３に分割線の一例を示す。図２３を参照して、分割線６００は、コンテンツ５８０Ｂの改行位置、すなわちメモ５８２に関連付けられた表示対象要素「たいへん大事です。」中の「へ」と「ん」との間に設定される。分割メモ作成部２８４は、分割線６００の位置をもとに、分割により新たに生成されるメモの外接矩形領域６０２及び６０４を設定し、新たな第１のメモ６１２及び第２のメモ６１４を作成する。分割メモ作成部２８４は、第１の矩形領域６１２及び第２の矩形領域６１４の表示パネル６６上での位置及びサイズを特定する。図２３に示す例では、分割により生成される第１の矩形領域６０２の幅はＷ１となり、第２の矩形領域６０４の幅はＷ２となる。分割メモ作成部２８４はさらに、分割前のメモ５８２の関連付けデータに基づき第１の矩形領域６０２及び第２の矩形領域６０４が関連する表示対象要素を特定する。分割メモ作成部２８４は、第１のメモ６１２及び６１４の関連付けデータを生成して、新たなメモデータを作成する。図２３に示す例では、メモ６１２の関連付けデータにおいて関連する表示対象要素は「たいへ」となり、メモ６１４の関連付けデータおいて関連する表示対象要素は「ん大事です。」となる。
【０１７７】
以上のようにして新たに作成したメモデータについて、コンテンツデータとの関連付けデータを作成する。分割メモ作成部２８４は、作成したメモデータ７２と、コンテンツデータ７０とをメモ表示位置算出部２８８に与える。メモ表示位置算出部２８８及びメモ表示サイズ算出部２９０は、上記した動作と同様の動作で、メモ６１２及びメモ６１４の表示位置及びサイズを決定して、メモデータ７２を更新し、図３に示す表示制御部８８及び制御部８０に与える。表示制御部８８は、与えられたメモデータ７２を表示パネル６６に出力する。
【０１７８】
図２２（Ｃ）に、更新されたメモデータ７２に基づくメモ６１２及び６１４の表示の一例を示す。分割により新たに生成されたメモ６１２及び６１４はそれぞれ、関連付けられた表示対象要素に対応する位置に表示される。
【０１７９】
以下に、複製メモ作成部２８６によるメモの複製の動作について説明する。図２４に、メモの複製の動作に伴う表示パネル６６上での表示の変化の概略を示す。図２４（Ａ）を参照して、表示パネル６６上にコンテンツ６２０Ａが表示され、その内の表示対象要素「４０％」及び表示対象要素「２０％」を囲むようなメモ６２２が記録されていたものとする。ここで、ユーザによる表示設定にしたがいコンテンツのレイアウトを変更した結果、コンテンツ６２０Ａの表示が、図２４（Ｂ）に示すコンテンツ６２０Ｂの表示のようになったものとする。図２４（Ｂ）では、表示対象要素「２０％」と表示対象要素「４０％」との間に、別の行が挟まった形でレイアウトされているため、表示対象要素「４０％」６２４Ａと表示対象要素「２０％」６２４Ｂとが離れた位置にレイアウトされている。このような場合、図１２に示す判定部２８２から複製メモ作成部２８４に、複製メモの作成要求が与えられる。
【０１８０】
複製メモ作成部２８６はまず、表示対象要素「４０％」６２４Ａと表示対象要素「２０％」６２４Ｂとにそれぞれ対応する、メモ６２２と同一のメモ要素からなるメモを準備する。複製メモ作成部２８６はさらに、準備したメモをそれぞれ、表示対象要素「４０％」６２４Ａと表示対象要素「２０％」６２４Ｂとに関連付け、新たな関連付けデータを作成する。以上の動作により、メモ６２２に関するメモデータと同じメモ要素からなり関連表示対象要素リスト１８４（図８参照）に示す表示対象要素、及び相対位置データ１８２に示す頂点関連要素のみが異なる複数のメモデータが作成される。複製メモ作成部２８６は、このようにして作成したメモデータ、及びコンテンツデータ７０を図１２に示すメモ表示位置算出部２８８に与える。メモ表示位置算出部２８８及びメモ表示サイズ算出部２９０は、上記した動作と同様の動作で、新たなメモの表示位置及びサイズを計算して、メモデータ７２を更新し、図３に示す表示制御部８８及び制御部８０に与える。表示制御部８８は、与えられたメモデータ７２を表示パネル６６に出力する。
【０１８１】
図２４（Ｃ）に、複製メモ作成部２８６により作成されたメモデータに基づく、表示パネル６６へのメモの表示例を示す。図２４（Ｃ）を参照して、表示パネル６６には、複製により新たに作成されたメモ６２６Ａ及び６２６Ｂがそれぞれ、関連付けられるべき表示対象要素である「４０％」及び「２０％」に対応する位置に表示される。
【０１８２】
なお、メモの分割又は複製を行なった場合、新たに作成されたメモ同士の関係が分かるように表示してもよい。図２５に、図２４（Ｃ）に示す複製メモ６２６Ａ及び６２６Ｂの表示において、さらにメモ同士を関連付けた表示の一例を示す。図２５に示す例では、表示パネル６６に表示されている、複製により新たに作成されたメモ６２６Ａ及び６２６Ｂを互いに関連付けるように破線６４０Ａ及び６４０Ｂが表示される。
【０１８３】
以上のようにして、本実施の形態に係る表示装置は、メモとコンテンツとを、コンテンツ中の表示対象要素、及びそれら表示対象要素とメモとの相対的な位置関係によって関連付けて記録する。メモを表示する際には、コンテンツを構成する表示対象要素のレイアウトに基づき、表示対象要素との相対的な位置関係が維持されるようにメモのレイアウトを決定して表示する。そのため、表示設定の変更等に伴いコンテンツのレイアウトが変更された後においても、メモと関連する位置に適切な大きさで表示されるようになる。
【０１８４】
さらに、表示対象要素のレイアウトに応じて、メモを分割又は複製して表示するため、メモは、関連する表示対象要素に対して適切な位置に表示されることになる。
【０１８５】
なお、上記した実施の形態では、メモの外接矩形領域の各頂点に近接する表示対象要素についてのみ、相対位置「ＲＸ」及び「ＲＹ」を算出して相対位置データを作成し、関連付けデータとしてメモデータに付与した。しかし、本発明は、このような実施の形態には限定されない。図２６に関連付けデータの別の一例を示す。図２６を参照して、この関連付けデータ７００では、相対位置データ７０２Ａ，７０２Ｂ，…は、関連表示対象要素リスト７０４に格納された全ての表示対象要素についての相対位置情報を含む。
【０１８６】
上記した実施の形態では、操作部６２は、図４に示すタッチパネル１００及び入力ペン１０２からなるポインティングデバイス、並びにマウス、及びキーボードを含むものであった。しかし、本発明はこのような実施の形態には限定されない。例えば、ボタンにより構成された入力装置であってもよいし、マイクによる音声入力等を実現する入力装置を用いることも可能である。
【０１８７】
上記した実施の形態では、表示パネル６６は、液晶表示パネルを含むものであった。しかし、本発明はこのような実施の形態には限定されない。例えば、プラズマディスプレイパネル、エレクトロルミネッセント（ＥＬ）装置、及び陰極線管等の装置であってもよい。また、コンテンツ及びメモの出力媒体は、これらの装置に限らず、印刷用紙等の媒体であってもよい。
【０１８８】
この場合、表示装置５０は、コンテンツ及びメモの印刷物におけるレイアウトを決定して、そのレイアウトに基づいて印刷データを生成し、出力する。表示装置５０の記憶部６０が、外部のプリンタでの印刷出力に関する設定データを保持する。この設定データは、用紙サイズ及び解像度等の情報を含むものとなる。またこの場合、コンテンツレイアウト部８２は、この設定データに基づきコンテンツの印刷物上でのレイアウトを決定する。メモレイアウト部８６は、決定された印刷レイアウトに基づきメモのレイアウトを決定する。コンテンツとメモとは、決定されたレイアウトにしたがい表示制御部８８により合成され、印刷データに変換されて、インタフェース部６８（図３参照）を介して外部のプリンタに出力される。
【０１８９】
上記した実施の形態においては，表示設定データ７４は、予め記憶部６０に記憶されユーザによる操作に基づき適宜更新されるものであった。しかし、本発明はこのような実施の形態には限定されない。例えば、表示設定データ７４は、他の記憶媒体に記憶され、必要に応じて制御部８０がインタフェース部６８を介して取得するようにしてもよい。また、表示設定データ７４により示されるレイアウト可能範囲は、予め準備され格納されているデータであってもよいし、動的にその設定値を得るようにしてもよい。例えば表示パネル６６に表示されるウィンドウのサイズをレイアウト可能範囲とする場合、コンテンツ及びメモのレイアウトを決定する際に、制御部８０が、ウィンドウサイズデータを参照するためのウィンドウサイズ取得ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼出すようにしてもよい。この場合、ウィンドウサイズ取得ＡＰＩによりレイアウト可能範囲として、ウィンドウのサイズが算出される。制御部８０は、算出されたウィンドウサイズのデータをコンテンツレイアウト部８２等に与える。また例えば、コンテンツ及びメモを上記のようにプリンタによって印刷する場合には、制御部８０がインタフェース部６８を介してプリンタにアクセスして、用紙サイズの設定値を取得するようにしてもよい。
【０１９０】
上記した実施の形態では、コンテンツ及びメモのレイアウトデータは、２次元の座標空間上での位置及びサイズを示すものであった。しかし、本発明はこのような実施の形態には限定されない。コンテンツの位置を示すデータと、それを実際的な又は仮想の空間上でレイアウトし表示するために必要なデータがあればよい。また、コンテンツデータは、図５及び図６に示す構成のものに限定するものではなく、一般的に知られているデータ構造等であって、表示を行なうために必要な情報を含むものであればよい。
【０１９１】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【０１９２】
【図１】コンテンツ及びメモの一例を示す概要図である。
【図２】本実施の形態に係る表示装置が行なうメモの加工例を示す概略図である。
【図３】表示装置５０の機能的構成を示すブロック図である。
【図４】操作部６２及び表示パネル６６の一例を示す外観図である。
【図５】コンテンツデータ７０の構成の一例を示す図である。
【図６】行レイアウトデータ１４０の構成の一例を示す図である。
【図７】メモデータ７２の構成の一例を示す図である。
【図８】関連付けデータ１８０の構成の一例を示す図である。
【図９】制御部８０の機能的構成を示すブロック図である。
【図１０】コンテンツレイアウト部８２の機能的構成を示すブロック図である。
【図１１】記録部８４の機能的構成を示すブロック図である。
【図１２】メモレイアウト部８６の機能的構成を示すブロック図である。
【図１３】表示装置５０を実現するコンピュータのハードウェア構成を示すブロック図である。
【図１４】表示装置５０を実現するプログラムの制御構造を示すフローチャートである。
【図１５】コンテンツレイアウト処理の制御構造を示すフローチャートである。
【図１６】メモレイアウト処理の制御構造を示すフローチャートである。
【図１７】メモ記録処理の制御構造を示すフローチャートである。
【図１８】表示パネル６６によるコンテンツ４０及びメモ４４の表示例を示す図である。
【図１９】メモ４４と選ばれた表示対象要素との位置関係を示す概略図である。
【図２０】コンテンツ４０のレイアウト変更に伴う、メモ４４のレイアウトの変化例を示す図である。
【図２１】コンテンツのレイアウト変更に伴う、メモのレイアウトの別の変化例を示す図である。
【図２２】コンテンツのレイアウト変更に応じてメモを分割する処理によるコンテンツ及びメモの表示の変化例を示す図である。
【図２３】分割線の一例を示す概略図である。
【図２４】コンテンツのレイアウト変更に応じてメモを複製する処理によるコンテンツ及びメモの表示の変化例を示す図である。
【図２５】メモ同士を関連付けた表示の一例を示す図である。
【図２６】関連付けデータの別の一例を示す図である。
【符号の説明】
【０１９３】
５０  表示装置、６０  記憶部、６２  操作部、６４  データ処理部、６６  表示パネル、６８  インタフェース部、７０  コンテンツデータ、７２  メモデータ、７４  表示設定データ、８０  制御部、８２  コンテンツレイアウト部、８４  記録部、８６  メモレイアウト部、８８  表示制御部、１００  タッチパネル、１０２  入力ペン、１２０Ａ〜１２０Ｃ  表示対象要素データ、１４０  行レイアウトデータ、１６０Ａ〜１６０Ｃ  メモ要素データ、１８０，７００  関連付けデータ、１８２，７０２Ａ，７０２Ｂ  相対位置データ、１８４，７０４  関連表示対象要素リスト、２２０  コンテンツデータ集配部、２２２  メモデータ集配部、２２４  操作信号解析部、２２６  表示設定処理部、２２８  メモデータ編集部、２３０  メッセージ生成部、２４２  レイアウト範囲特定部、２４４  レイアウト決定部、２６０  メモ関連表示対象要素取得部、２６２  相対位置算出部、２６４  関連付けデータ記録部、２８０  取得部、２８２  判定部、２８４  分割メモ作成部、２８６  複製メモ作成部、２８８  メモ表示位置算出部、２９０  メモ表示サイズ算出部、５００  レイアウト可能範囲、５０２  レイアウト範囲
【図１】
2006133870.tif 000003
【図２】
2006133870.tif 000004
【図３】
2006133870.tif 000005
【図４】
2006133870.tif 000006
【図５】
2006133870.tif 000007
【図６】
2006133870.tif 000008
【図７】
2006133870.tif 000009
【図８】
2006133870.tif 000010
【図９】
2006133870.tif 000011
【図１０】
2006133870.tif 000012
【図１１】
2006133870.tif 000013
【図１２】
2006133870.tif 000014
【図１３】
2006133870.tif 000015
【図１４】
2006133870.tif 000016
【図１５】
2006133870.tif 000017
【図１６】
2006133870.tif 000018
【図１７】
2006133870.tif 000019
【図１８】
2006133870.tif 000020
【図１９】
2006133870.tif 000021
【図２０】
2006133870.tif 000022
【図２１】
2006133870.tif 000023
【図２２】
2006133870.tif 000024
【図２３】
2006133870.tif 000025
【図２４】
2006133870.tif 000026
【図２５】
2006133870.tif 000027
【図２６】
2006133870.tif 000028