JP4008280B2 - Display method, display device, display program, and recording medium on which display program is recorded - Google Patents

Display method, display device, display program, and recording medium on which display program is recorded Download PDF

Info

Publication number
JP4008280B2
JP4008280B2 JP2002112714A JP2002112714A JP4008280B2 JP 4008280 B2 JP4008280 B2 JP 4008280B2 JP 2002112714 A JP2002112714 A JP 2002112714A JP 2002112714 A JP2002112714 A JP 2002112714A JP 4008280 B2 JP4008280 B2 JP 4008280B2
Authority
JP
Japan
Prior art keywords
data
layout
memo
display
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002112714A
Other languages
Japanese (ja)
Other versions
JP2003308310A (en
Inventor
昌司 広沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002112714A priority Critical patent/JP4008280B2/en
Publication of JP2003308310A publication Critical patent/JP2003308310A/en
Application granted granted Critical
Publication of JP4008280B2 publication Critical patent/JP4008280B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、文字、文字列または画像等の表示対象要素を座標空間にレイアウト(配置)して、表示装置に表示する方法、その方法を実施するための装置、プログラムおよびプログラム媒体に関する。
【0002】
【従来の技術】
従来、文書などを電子的に見るプログラムや装置において、書き込みやメモ(付箋)を貼り付けることができるものが存在する。
【0003】
例えば、Adobe社の文書処理プログラムAcrobat Exchangeでは、レイアウト上にメモを追加することができ、テキストを入力できる。文書の本文は固定したレイアウトで表示され、メモはユーザによって指定された位置に表示される。もし既存の本文レイアウトと重なるような位置にメモを表示した場合、メモの表示で重なる部分の本文の表示は隠れてしまう。
【0004】
また、Microsoft社のワープロ(ワードプロセッサ)ソフトWordは、文字の大きさなどの変更によってレイアウトが動的に変わるが、選択したテキストに対して「コメント」(メモ)情報を関連付けることができ、テキストや音声データ、画像などを貼り付けることができる。また、レイアウトの変更があれば追従してコメントの位置も変化する。文書ウィンドウ上で、コメントに対応するテキスト部分はハイライト表示され、マウスカーソルを重ねることで、文書ウィンドウ上にコメントの内容がポップアップウィンドウとして表示される。コメントの編集は、文書表示範囲とは別のウィンドウで行う。コメントにはそれぞれ固有の識別文字列が自動的に振られ、選択したテキストと編集ウィンドウの対応は識別文字列によって視認可能となっている。
【0005】
また、電子書籍コンソーシアムの電子書籍リーダーPC Viewerでは、文書は固定したレイアウトで表示され、文書の上に直接、手書き入力することができる。レイアウトが固定されているので、入力された手書きデータに対応する文字などを選択する必要はなく、必要ならば対応するテキストに対して下線や矢印を手書き入力したりするなどして対応関係を示すことができる。また独立したウィンドウとして「付箋」を貼り付けることができ、付箋内にテキストや手書き文字を入力することができる。付箋はAcrobat Exchange同様、固定したレイアウト上の位置情報を持っている。
【0006】
また、Microsoft社のワープロソフトPocketWordでは、テキストと手書き文字、手書き図を一緒に扱うことができる。手書き文字は通常のテキストと同様、「文字」として扱われ、編集の対象となり、属する行があり、その行内では他のテキスト文字と重なることはない。手書き図は手書き文字のようには分離できず、全体が一塊となって表示され、その一塊を単位として編集の対象となり、属する行があるが、その属する行以外では他のテキスト文字と重ねて表示される。
【0007】
【発明が解決しようとする課題】
ところが、上記従来の表示方法では、メモを本文の該当個所と関連付けた状態で、かつ本文がメモに隠されないように、メモをレイアウトして表示するという使い勝手の良い表示状態を得ることが困難である。
【0008】
また、上記の使い勝手の良い表示状態が得られたとしても、本文のレイアウトを変更した場合には、その表示状態が崩れてしまうという問題点もある。
【0009】
具体的には、Acrobat ExchangeやPC Viewerなどは固定レイアウトの文書データを持つので、表示デバイスの大きさや文字の大きさなどを変更してレイアウトし直して表示することはできず、小さな表示デバイス上ではスクロールや縮小表示などをせねばならず、またユーザが見やすいように文字の大きさなどを自由に変更することもできないという欠点がある。
【0010】
また、Wordは、動的にレイアウトを変更でき、レイアウトの変更に伴い、コメントに関連付けられたテキスト部分も追従して移動するが、コメントの内容の表示は、編集時は文書ウィンドウに隣接する別ウィンドウで、閲覧時は文書ウィンドウに重ねて表示されて下の文書の一部が隠れてしまうようなポップアップウィンドウで行われる。
【0011】
紙の本に手で書き込むメモは、通常は関連する本文の近くに書き込むので、対応関係が分かりやすいが、Wordの様に編集時に隣接する別ウィンドウで表示させると、コメントに関連付けられたテキストと距離的に離れて表示されるので、対応関係が分かりにくい欠点がある。
【0012】
また、紙の本に手で書き込むメモは、通常は関連する本文と重ならない様に、あるいは読むのに支障が無い程度にしか重ならない様に書き込まれるが、Wordの様に閲覧時にポップアップウィンドウでメモが表示されると、文書に重ねて表示されるため、下の文書の一部が隠れてしまう。すなわち、文書とコメントを同時に見ることができないという欠点がある。
【0013】
また、紙の本に手で書き込むメモでは、複数のテキストや図などの間で矢印などで関連付けの表現をしたり、複数のテキストや図などに対して同じ内容のメモを関連付けたりすることができる。これに対し、Wordのコメントの関連付けは、一つのコメントに対して一つのテキスト範囲だけであり、一つのコメントに対して複数のテキスト範囲を関連付けたり、一つのテキスト範囲に対して複数のコメントを関連付けたりすることはできないという欠点がある。
【0014】
また、PocketWordでは、手書き文字や手書き図をレイアウト変更に追従して移動させることはできるが、それらは通常の文字同様、本文の一部となっている為に追従できるだけであり、そのレイアウト範囲は、本文のレイアウト範囲内にとどまる。また、他の本文の部分を参照するような情報も持っていない。従って、紙の本に書き込むような、本文のレイアウト範囲の外(行間など)で、本文の一部を下線や矢印で参照するような形では表示させることができないという欠点がある。
【0015】
また、手書き入力は複数の行にまたがったようなものも入力できるが、属する行は1つであり、手書き文字は属する行内では他の文字とは重ならないが、その行をはみでる部分は他の行の表示と重なってしまう欠点がある。
【0016】
また、手書き図は属する行内でも重なってしまう欠点がある。
【0017】
本発明の目的は、レイアウトを動的に変更できるという紙の本にない特徴を持ちながら、手書きデータやテキストデータなどからなるメモで、本文のレイアウト変更に追従して自動的にメモのレイアウトを変更して表示したり、紙の書籍と同じような使い勝手、すなわち文書本文とメモの表示ができるだけ重ならずに同時に視認できることや、本文の該当個所と関連付けて使えること、該当個所とメモの関連付けがお互いに複数に対して行えることなど、を実現する表示方法、その方法を実施するための装置、プログラムおよびプログラム媒体を提供することにある。
【0018】
【課題を解決するための手段】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、表示対象要素の一つ以上を座標空間上に配置したレイアウトの中から、表示対象要素が配置されていない余白範囲を、上記レイアウトを記述したレイアウトデータを用いて特定する余白特定ステップと、メモを表すメモデータを、上記余白範囲に配置することによって、表示対象要素との重なりが無い、あるいは所定割合以下、あるいは所定面積以下となるメモデータのレイアウトを記述したメモレイアウトデータを生成するメモレイアウト生成ステップとを有している
【0019】
ここで、「表示対象要素」とは、文字、文字列、画像などのレイアウトされる単位を意味し、レイアウトとは、座標空間における表示対象要素の配置を意味する。したがって、座標空間における表示対象要素の配置、すなわちレイアウトに従って、出力先の表示装置、印刷装置等における出力/表示媒体に、表示対象要素を出力/表示することができる。
【0020】
分かり易くする為に「表示対象要素」と呼んでいるが、必ずしも「表示」だけに限らず、印刷やデータ出力、ファイル出力などのあらゆる「出力」に関わる要素を含むものである。したがって、ここで使われている「表示」という言葉は全て「出力」の意味も含まれている。なお、以降、単に「要素」と述べた場合は、「表示対象要素」を意味する。
【0021】
また、表示対象要素の数は、レイアウトの枠組みの中に1つ以上あれば、特に限定されない。例えば、出力先の表示媒体が印刷用紙の場合に、白い紙面中の一部領域に写真が1枚、あるいは文字が1文字、レイアウトされるような場合や、2枚の紙面にまたがるように写真が1枚、レイアウトされるような場合にも本発明が適用される。
【0022】
「余白範囲」は、レイアウトの枠組みの中で表示対象要素をレイアウトした残り部分を指す。データとして説明すると、レイアウトの枠組みに対応する座標空間に、表示対象要素のデータの一つ以上の集まりとしてのコンテンツデータをレイアウトした残り部分であり、メモデータをレイアウトできる範囲を指す。
【0023】
よりわかりやすく「余白範囲」を言い表せば、紙面(全レイアウト範囲=最大のレイアウト可能範囲)の周囲の余白部分と、コンテンツデータのレイアウトの行間の余白部分とに大きく分けられる。厳密に言えば、文字間や文字や図形の中の空白部なども余白と言えなくもないが、実際にメモデータをレイアウト可能な範囲と考えると、周囲と行間が主な余白範囲となる。
【0024】
なお、上記の「紙面(全レイアウト範囲)の周囲の余白部分」とは、表示対象要素をレイアウトできる範囲として、例えば行内文字数および頁内行数の指定等によって設定されるレイアウト可能範囲と、レイアウト可能範囲の最大範囲としての全レイアウト範囲との差分に相当する。
【0025】
そこで、本発明に係る表示方法によれば、表示対象要素の一つ以上を座標空間上に配置したレイアウト範囲を得たら、得られたレイアウト範囲を全レイアウト範囲から除いた範囲も求めることができるので、それを余白範囲として余白特定ステップで特定する。
【0026】
次に、ユーザが入力する、あるいは別ファイルとして保存された文書中から複写するなどして得られたメモデータを、余白特定ステップで得られた余白範囲に配置してみることで、表示対象要素との重なり具合を求めることができる。その重なり具合が、重なりが無い、あるいは所定割合以下、あるいは所定面積以下となる時のメモデータのレイアウトを選ぶことで、このような重なり具合の条件を満たしたメモデータのレイアウトを記述したメモレイアウトデータをメモレイアウト生成ステップで生成することができる。
【0027】
これによって、例えば文字サイズ、行内文字数、頁内行数のような表示設定を変更する等してコンテンツのレイアウトが動的に変更されても、変更されたレイアウトについて余白範囲を特定するので、レイアウトの変更に追従して、上述した重なり具合の条件を常に満たすメモデータのレイアウトを得ることができる。
【0028】
したがって、それらのレイアウトに従ってコンテンツデータ及びメモデータを出力することで、文字サイズ等の表示設定を読みやすい様に動的に変えるなどという紙の本にない特徴を持ちながら、手書きデータやテキストデータなどからなるメモで、紙の書籍と同じような使い勝手、すなわち文書本文とメモの表示が同時に視認できるという効果が出てくる。
【0029】
言い換えれば、コンテンツのレイアウトを例えば見やすく変更しても、常に文書本文に重ならないように、新たな余白にレイアウトし直された状態でメモを見ることができるという、特有の効果を得ることができる。
【0030】
また、コンテンツがメモデータに影響されずにレイアウトされるので(例えば余白や行間の大きさがメモデータによって変えられることがない)、コンテンツのレイアウトをコンテンツデータが最も見やすい状態でレイアウトすることができるという効果が出てくる。
【0031】
なお、表示対象要素とメモとの重なりが全く無いことを、メモデータのレイアウトを決めるときの第1条件とし、この第1条件を満たせないときに、重なりが所定割合以下または所定面積以下となる第2条件を満たすようにメモデータのレイアウトを決めてもよい。
【0032】
また、メモと関連付けたい表示対象要素のできるだけ近くにメモを配置することを第1条件とし、その場合の重なりが所定割合以下または所定面積以下となるようにメモデータのレイアウトを決めてもよい。
【0033】
また、メモデータが大き過ぎて、余白特定ステップで特定した余白範囲にメモを配置し切れない場合には、配置できるだけのメモの一部のレイアウトデータを生成してもよいし、メモレイアウトデータの生成を行わないか、あるいはメモデータが大き過ぎることを知らせるメッセージ表示を行うような他のルーチンへ処理を移行するようにしてもよい。
【0034】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、表示対象要素のデータの1つ以上の集まりとしてのコンテンツデータの内、メモと対応付けたい参照部分のコンテンツデータと、前記メモデータとを関連付ける情報を得る関連付け情報取得ステップを有している
【0035】
上記の処理により、参照部分のコンテンツデータとメモデータとを関連付ける情報(以下、関連付け情報と呼ぶ)が得られるので、例えば、あるメモデータのレイアウトを作成する際、そのメモデータに関連付けられた参照部分を特定することができる。あるいは、メモと参照部分とを線で結んだ状態で表示する等によって、メモと参照部分との関連付けを示す場合、関連付け情報を利用することができる。
【0036】
これによって、メモデータのレイアウトを作成したり、参照部分やメモデータを表示する際に、関連付け情報を利用した処理が行えるようになる。
【0037】
具体的な処理としては、例えば、メモデータのレイアウトを作成する際、表示対象要素のレイアウトは既に存在しているので、参照部分の表示対象要素のレイアウト範囲も得ることができる。余白特定ステップから得られた余白範囲の中から、得られた参照部分のレイアウト範囲に近い余白範囲を関連付け情報を用いて選ぶことで、参照部分に近い位置にメモデータをレイアウトすることができるようになる。
【0038】
あるいは、例えば、表示の際、参照部分のレイアウト位置とメモデータのレイアウト位置とが分かるので、関連付け情報を用いて両者を線分で結ぶ、あるいはそれぞれの背景部分を通常の背景部分と異なる表示色を用いて同色に揃えるなどといった関連付け表示も可能となる。
【0039】
また、例えば、表示の際、参照部分やメモデータのレイアウトが、ペンやマウスなどによって選択された状態になった時、それに関連付けられた他方の参照部分やメモデータをハイライト表示するなど目立たせて表示させることが可能になる。
【0040】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記メモレイアウト生成ステップにおいて、前記参照部分のレイアウトの近くにメモデータを配置したメモレイアウトデータを生成する
【0041】
前述の関連付け情報取得ステップから、参照部分とメモデータとを関連付ける情報が得られるので、あるメモデータのレイアウトを作成する際、そのメモデータに関連付けられた参照部分を特定することができる。メモデータのレイアウトを作成する際、表示対象要素のレイアウトは既に存在しているので、参照部分の表示対象要素のレイアウト範囲も得ることができる。余白特定ステップから得られた余白範囲の中から、参照部分のレイアウト位置の近くで、コンテンツデータの表示対象要素のレイアウトと重ならない/重なりが少ない範囲を選べば良い。
【0042】
これによって、関連付けられた参照部分とメモデータが近くにレイアウトされるので、両者を一度に見易くなり、理解しやすくなるという利点が出てくる。
【0043】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記関連付ける情報に基づいて、前記参照部分と前記メモデータとを関連付けて自動的に表示する表示ステップを有している
【0044】
前述の関連付け情報取得ステップから参照部分とメモデータとを関連付ける情報が得られるので、表示の際、表示対象要素のレイアウトデータとメモレイアウトデータとから、参照部分のレイアウト位置と、参照部分のデータに関連付けられたメモデータのレイアウト位置を特定することができる。これにより、両者を線分で結んだ表示を行ったり、矢印で結んだ表示を行ったり、参照部分からメモデータを吹き出し表示にしたり、それぞれの背景部分を通常の背景部分と異なる表示色を用いて同色に揃えるなどといった関連付け表示も可能となる。
【0045】
これによって、両者に関係のあることが視覚的に分かり易くなる、などといった効果がある。
【0046】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、表示対象要素をレイアウト可能なレイアウト可能範囲を得るレイアウト可能範囲取得ステップを有し、前記余白特定ステップにおいて、前記レイアウト可能範囲の最大範囲としての全レイアウト範囲から前記レイアウト可能範囲を除いた部分を余白範囲として特定する
【0047】
コンテンツデータがレイアウトされていない余白範囲には、大きく分けて、レイアウト可能範囲の外側の余白範囲と内側の余白範囲とがある。一般に、外側の余白範囲は紙の本で言う紙面周囲の余白に相当し、内側の余白範囲は行間の余白に相当する。従って、余白特定ステップで、全レイアウト範囲からレイアウト可能範囲を除いた場合、外側の余白範囲が抽出されることになる。
【0048】
この余白範囲にメモデータをレイアウトすることで、コンテンツデータとの重なりが無くなったり、少なくしたりすることができるようになる。また、レイアウト可能範囲の内側の余白範囲にメモデータをレイアウトする場合に比べて、コンテンツデータとメモデータとが混在しないので、コンテンツデータの見やすさの点で優れている。
【0049】
また、行間などの余白を抽出するには行や文字のレイアウトデータが必要だが、レイアウト可能範囲を使う場合は行や文字のレイアウトデータが不要なので、抽出処理も簡単に素早く行うことができる利点がある。また、レイアウト可能範囲は、コンテンツデータのレイアウト処理前に決まっているので、コンテンツデータのレイアウト前に余白の抽出処理を行うことが可能となる利点もある。
【0050】
また、コンテンツデータは必ずレイアウト可能範囲内にレイアウトされているが、レイアウト可能範囲の外側の余白部分にメモデータを表示することで、レイアウト全体としてみると一部が飛び出した形になり、結果的にその部分にメモデータの書き込みがあることを視覚的に目立たせることができる効果が出てくる。
【0051】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記余白特定ステップにおいて、前記レイアウト可能範囲取得ステップから得られたレイアウト可能範囲の中で、前記表示対象要素が配置されていない部分を余白範囲として特定する。
【0052】
上で説明した通り、一般に、レイアウト可能範囲の外側の余白は紙の本で言う紙面周囲の余白に相当し、内側の余白は行間の余白に相当する。従って、余白特定ステップで、レイアウト可能範囲取得ステップで得られたレイアウト可能範囲内で、コンテンツデータがレイアウトされていない部分を余白範囲とした場合、行間などの余白が抽出されることになる。
【0053】
この行間等の余白範囲にメモデータをレイアウトすることで、コンテンツデータとの重なりが無くなったり、少なくしたりすることができるようになる。また、周囲の余白範囲にメモデータをレイアウトする場合と比べ、関連付けられたコンテンツデータとメモデータとの表示の距離を、多くの場合、近くすることができる。
【0054】
これによって、コンテンツデータとメモデータの重なりを無くす/少なくすることができるので、見やすくなるという効果があり、また、多くの場合、両者の距離を近くして表示することができるので、メモと対応付けたい表示対象要素の参照部分とメモとの対応関係がより分かり易くなる効果が出てくる。
【0055】
また、コンテンツデータのレイアウトが規則正しくレイアウトされていれば、例えば、行の高さがほぼ同じで、行間もほぼ同じ場合、行間にメモデータを表示することで、レイアウト全体としてみるとメモデータのレイアウト部分が行のレイアウトの規則正しさを乱す形になり、結果的にその部分にメモデータの書き込みがあることを視覚的に目立たせることができる効果が出てくる。
【0056】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記関連付ける情報に含まれる、関連付け表示の仕方に関する関連付け表示情報に基づいて、メモと対応付けたい表示対象要素の参照部分とメモとを線で結んで表示する表示ステップを有している
【0057】
コンテンツデータのレイアウトとメモデータのレイアウトとは取得できているので、後はその間を直線や折れ線、曲線などの線で結んで、関連付けを視覚化すればよい。
【0058】
ところで、関連付け表示情報は表示態様を指定する情報であり、関連付け表示の対象にする参照部分とメモとが特定できてさえいれば、コンテンツデータのレイアウトに依存せずに、メモと参照部分とを線で結んで表示する表示処理を行わせることができる。
【0059】
これによって、コンテンツデータのレイアウトが変わった場合、例えば文字の大きさを変えた場合、メモデータのレイアウトもそれに応じて変わり、メモデータのレイアウト位置と参照部分のレイアウト位置とが両方変わることになるが、その変化に応じて、メモと参照部分とが線で結んで表示される。したがって、レイアウトの変更に応じて自動的に対応関係の表示が適切なものに更新されるという利点がある。
【0060】
また、関連付け表示によって、参照部分とメモとの対応関係が分かり易くなるという効果が出てくる。メモデータのレイアウトと関連付けられた参照部分のコンテンツデータのレイアウトが、レイアウト的に離れていたとしても、線で結んで表示することで、両者に対応関係があることを視覚的に理解しやすくするという効果がある。
【0061】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記関連付ける情報に含まれる、メモと対応付けたい表示対象要素の複数の参照部分のコンテンツデータと一つのメモデータとを関連付ける情報と、関連付け表示の仕方に関する関連付け表示情報とに基づいて、一つのメモから複数の参照部分に対して、線で結んで表示する表示ステップを有している
【0062】
上記関連付け表示情報の特性については既に説明したとおりなので、これによって、一つのコンテンツデータの部分に対して、異なる内容のメモを関連付けることができる効果があり、あるコンテンツ部分が複数のメモデータを持っていることが同時に視覚的に一目でわかるという効果も出てくる。メモしたい内容が複数ある場合、一つのメモにまとめるより複数のメモに分けた方が別の内容であることが視覚的に分かり易くなるという効果もある。
【0063】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記関連付ける情報に含まれる、メモと対応付けたい表示対象要素の一つの参照部分のコンテンツデータに、複数のメモデータを関連付ける情報と、関連付け表示の仕方に関する関連付け表示情報とに基づいて、一つの参照部分から関連付けられた複数のメモに対して、線で結んで表示する表示ステップを有している
【0064】
上記関連付け表示情報の特性については既に説明したとおりなので、これによって、複数の参照部分に共通するメモデータをまとめることができ、まとめない場合に比べて無駄なメモデータの表示を抑える効果があり、また、複数の参照部分に同じ内容のメモデータを対応付けていることが視覚的に一目でわかるという効果も出てくる。
【0065】
本発明に係る表示方法は、上記の課題を解決するために、概略的には、前記メモデータが、表示の有無を表す情報を持ち、前記メモデータが表示しないという情報を持つ場合は、前記メモデータのレイアウトの表示とそのメモデータに関連付けられた関連付ける情報に基づく関連付け表示を行わない。
【0066】
この処理によれば、コンテンツデータやメモデータのレイアウトを取得する際、また、関連付ける情報を表示する際、メモデータの表示の有無を表す情報を参照し、メモデータ表示をしない時はコンテンツデータのレイアウトだけを取得して表示することで、コンテンツデータだけの表示と、メモデータや関連付ける情報の表示を含んだ表示とを切り替えることができるようになる。
【0067】
これによって、コンテンツだけに集中して理解したい時とメモなどを参照しながら理解したい時とを切り替えられるという効果が出てくる。
【0068】
また、各メモデータが個別に表示の有無の情報を持つことで、全メモデータの表示の有無ではなく、個別に表示の有無を切り替えることができる利点がある。
【0069】
本発明に係る表示装置は、上記の課題を解決するために、概略的には、表示対象要素の一つ以上を座標空間上に配置したレイアウトを記述したレイアウトデータが入力され、レイアウトの中から、表示対象要素が配置されていない余白範囲を特定する余白レイアウトデータを、上記レイアウトデータを用いて生成する余白特定手段と、メモを表すメモデータが入力され、上記余白レイアウトデータに従ってメモデータを上記余白範囲に配置することにより、表示対象要素との重なりが無い、あるいは所定割合以下、あるいは所定面積以下となるメモデータのレイアウトを記述したメモレイアウトデータを生成するメモレイアウト生成手段とを有している
【0070】
上記の構成によれば、レイアウトデータには、座標空間上における表示対象要素の配置が記述されているから、座標空間上における表示対象要素の配置されていない余白範囲をレイアウトデータから求めることができる。この余白範囲を特定する処理、言い換えれば余白範囲を記述した余白レイアウトデータを生成する処理を余白特定手段が行う。
【0071】
余白特定手段によって余白範囲が特定されるので、メモレイアウト生成手段は、入力されたメモデータを余白範囲に配置することができる。すなわち、メモデータを余白レイアウトデータに従って、余白範囲に配置し、メモデータのレイアウトを記述したメモレイアウトデータを生成することができる。
【0072】
このメモレイアウトデータの生成にあたって、メモデータをレイアウトする条件が課される。その結果、メモレイアウト生成手段は、メモと表示対象要素との重なりが無い、あるいは所定割合以下、あるいは所定面積以下となるメモレイアウトデータを生成する。
【0073】
これによる種々の効果は、上記表示装置の構成に対応する表示方法による効果として、前述したとおりである。
【0074】
本発明に係る表示装置は、上記の課題を解決するために、概略的には、表示対象要素のデータの一つ以上の集まりとしてのコンテンツデータの内、メモと対応付けたい参照部分のコンテンツデータと、前記メモデータとを関連付ける情報を得る関連付け情報取得手段を有している
【0075】
上記の構成により、関連付け情報取得手段が、参照部分のコンテンツデータとメモデータとを関連付ける情報(以下、関連付け情報と呼ぶ)を得るので、例えば、メモレイアウト生成手段が、あるメモデータのレイアウトを作成する際、そのメモデータに関連付けられた参照部分を特定することができる。あるいは、メモと参照部分とを線で結んだ状態で表示する等によって、メモと参照部分との関連付けを示す場合、関連付け情報を利用することができる。
【0076】
これによる種々の効果は、上記表示装置の構成に対応する表示方法による効果として、前述したとおりである。
【0077】
本発明に係る表示プログラムは、上記の課題を解決するために、上記表示方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0078】
本発明に係る表示プログラムは、上記の課題を解決するために、上記表示装置が備える各手段として、コンピュータを機能させることを特徴とする。
さらに、本発明に係る記録媒体は、上記の課題を解決するために、上記表示プログラムを記録したことを特徴とする。
これにより、上記記録媒体、またはネットワークを介して、一般的なコンピュータに表示プログラムをインストールすることによって、該コンピュータを用いて上記の表示方法を実現する、言い換えれば、該コンピュータを表示装置として機能させることができる。
【0079】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0080】
「表示」とは、一般には何らかの情報を視覚的に認知できるような状態で表示/出力媒体に対して出力することを言い、通常はモニターなどのディスプレイに画素として表示することになる。ここでは、モニターなどへの表示の他にも、紙への印刷出力やPDFなどのレイアウト情報を有したデータ形式でのデータ出力(ファイル出力)なども含まれるとする。「出力」という言葉とほぼ同様の意味だが、ここでは分かりやすいように「表示」としている。
【0081】
「表示対象要素」は、表示手段に表示することのできる要素をさしており、例えば文字、画像、図などがある。
【0082】
「レイアウト」は、表示対象要素を表示範囲に収まるように配置することであり、2次元または3次元の座標空間における表示対象要素の表示位置、大きさ、外形などの情報を持っている。出力手段では、表示対象要素のレイアウトを記述したレイアウトデータに従い、指定された表示位置に指定された大きさや外形で表示対象要素を表示する。
【0083】
図1は、レイアウトを説明する図である。例えば、2次元の座標空間に全ての表示対象要素を配置した状態を表すレイアウト全体40(レイアウトの枠組み)の中に表示対象要素41、42、43などが配置されている。図ではわかり易いように表示対象要素のそれぞれを点線の枠で囲ってあるが、実際に表示する際はこの枠は表示されない。なお以降、特に必要が無ければ表示対象要素を、中身の表示を省略して、空の単なる枠線で示すことがある。
【0084】
テキストの場合、表示対象要素として文字が配置され、図1のように縦あるいは横に文字が並んで行を構成するのが一般的である。表示する際は、レイアウト全体40の中で、表示/出力媒体の表示可能な大きさによって規定される表示範囲44(後述するレイアウト可能範囲に相当する)に含まれる表示対象要素だけが表示される。
【0085】
なお、「レイアウトされたコンテンツデータ」のことを「レイアウト」と呼ぶこともある(コンテンツデータについては後述する)。
【0086】
図2は、表示対象要素のレイアウトデータ構造例を説明する図である。各行が一つの表示対象要素のレイアウトデータで、全体は複数のレイアウトデータの配列になっており、それぞれのレイアウトデータにインデックス番号でアクセスできる。
【0087】
各レイアウトデータの中身は、図のように、「種類」、位置「X」「Y」、大きさ「W」「H」、「データ位置」、「内容」からなる。
【0088】
「種類」は、文字(CHAR)や画像(IMAGE)など、表示対象要素の種類を示す。
【0089】
幅「W」と高さ「H」は、表示対象要素を表示させた時の大きさを示す。表示させた時の形状は実際には様々だが、ここでは簡単に矩形で統一してある。
【0090】
X座標位置「X」とY座標位置「Y」は、表示対象要素をX−Y座標空間に表示させた時の位置を示す。ここでは、位置「X」「Y」を、各表示対象要素に割り当てた矩形領域の1隅の点の座標位置とする。レイアウト全体40の左上隅を原点とする座標系を使う場合、各矩形領域の左上隅の点を使って座標位置を表すことが多い。
【0091】
「内容」は、表示対象要素の種類によって変わり、例えば文字(CHAR)なら文字コードやそのフォント情報(フォントサイズやフォント色など)、画像ならビットマップデータやその記憶場所を指し示すデータなどとなる。すなわち、「内容」は、コンテンツデータの構成要素データに相当する。
【0092】
「データ位置」は、コンテンツデータ中で、このレイアウトデータを作成する元となったデータ範囲を特定する情報である。単位は様々なものが考えられるが、例えば先頭からの表示対象要素としての順番であるとか、コンテンツデータの先頭から見て、その表示対象要素を記述する構成要素データのバイト位置などがある。さらに細かい情報を求めるのならば、1つの表示対象要素内部のどこであるかまで「データ位置」として指定しても良い。例えば画像内部の座標位置などである。ここでは「データ位置」を、ひとまず先頭から何番目の表示対象要素であるかにしておく。
【0093】
図3は、行のレイアウトを説明する図である。レイアウトは必ず行の構造を持っているとは限らないが、テキストなどが主体となるコンテンツは多くの場合、行構造を持ったレイアウトを作成することが多いので、ここでは行を使ったレイアウトで説明する。
【0094】
行は、位置「X」「Y」、大きさ「W」「H」、表示対象要素のレイアウトの配列を持つ。1行が持つ配列の個数はレイアウト結果によって変わってくる。図3では、図2の表示対象要素のレイアウトデータそのものではなく、表示対象要素のレイアウトデータの「参照データを特定する情報」(参照情報と略記する)を持たせている。
【0095】
すなわち、行80は、1〜5番目の表示対象要素の参照情報を配列として持ち、行81は6〜11番目の表示対象要素の参照情報を配列として持つ。位置「X」「Y」、大きさ「W」「H」は、各行80・81等に配列された表示対象要素の全てを包含する矩形の属性情報である。
【0096】
「参照データを特定する情報」とは、参照されている構成要素データが記録されている場所などを示す情報であり、例えば主記憶上に記録されているなら、その主記憶アドレスなどである。
【0097】
「手書きデータ」は、例えばマウスやタブレットなどを使ってユーザがフリーハンドで入力したデータで、データ形式としては上下左右斜めの方向を持ったストロークの集まりとして表現されることが多いが、ビットマップ画像として表現されることもある。いずれにしろ、「手書きデータ」は表示単位としては一塊のデータであり、データを分解して、再レイアウトして表示することはできないものとここでは定義しておく。
【0098】
なお、分解して、再レイアウトして表示できるデータとしては、例えばキーボードなどを使って入力された「テキストデータ」などがあり、ワープロなどでは1行の文字数を変更したり文字の大きさを変更したりしてレイアウトを変更して表示させることができる。もし、前述のPocketWordの様に、手書き入力された文字ではあるが、文字単位で分解でき、再レイアウトできるのならば、テキストデータの一種と解釈してもよい。
【0099】
「メモデータ」は、手書きデータやテキストデータなど、ユーザがコンテンツデータに対して入力したデータの総称である。テキストデータの様に分解して再レイアウトできるものも、手書きデータの様に分解、再レイアウトできないものも含んでいる。なお、手書きデータやテキストデータ以外でも、表示できる対象ならばほとんどのデータはメモデータとして扱え、例えば画像なども含まれる。
【0100】
「コンテンツデータ」は、ここでは、表示対象要素を表す構成要素データの一つ以上の集まりからなり、文字サイズなどの表示設定によって表示対象要素のレイアウトが変わるようなデータとしている。例えばエディタやワープロ、WWW(World Wide Web)ブラウザなどで扱うデータが相当するが、文字サイズや全レイアウト範囲(ウィンドウ)の大きさなどを変えると、コンテンツデータは再レイアウトされ、表示結果は異なってくる。
【0101】
「関連付け情報」とは、コンテンツデータの一部とメモ情報とを関連付ける情報である。なお、以降、メモ情報と関連付けられたコンテンツデータの一部を、「参照部分」や「参照データ」と呼ぶことにする。
【0102】
例えば、コンテンツとしての文書中のある文章に対して下線を引き、そこから引き込み線を余白まで引っ張り、余白にその文章に対するコメントなどをユーザがメモとして記したとすると、下線を引いた文章が参照部分であり、参照部分とメモとを下線や引き込み線などを使って関連付けたことになる。
【0103】
視覚的にはこのような形で表現されるが、データ的には関連付け情報とは、例えば参照部分、すなわち参照データとメモデータとの対応関係を特定する情報であり、参照データのデータ範囲をコンテンツデータ内で特定するような情報やメモデータを特定するような情報の組ということになる。特定の仕方については後で述べる。対応関係は1対1に限らず、1対多、多対1、多対多なども可能である。
【0104】
また、対応関係の情報だけに限らず、参照部分をどのように指定したのか(先の例では「下線」と「引き込み線」を使っている)とか、どこにメモを記したのか(先の例では余白部分)、などの情報も関連付け情報は含むが、このような情報はメモデータに持たすことも可能である。1対1の場合はどちらが持っても良いが、1対多、多対1、多対多などでメモデータや参照データが複数の時、メモデータ毎に関連付けの表示の仕方を変えたいという場合にはメモデータに持たせた方が良い場合もある。
【0105】
関連付け情報に関しては、後で図13を用いて具体的に詳しく説明する。
【0106】
「余白範囲」は、メモデータをレイアウトできる範囲を指し、基本的に表示範囲44にコンテンツデータをレイアウトした残り部分が対象となる。したがって、余白範囲は、紙面(全レイアウト範囲)の周囲の部分と、コンテンツデータのレイアウトの行間の部分とに大きく分けられる。厳密に言えば、文字間や文字や図形の中の空白部なども余白と言えなくもないが、実際にメモデータをレイアウト可能な範囲と考えると、周囲と行間が主な余白範囲となる。
【0107】
図4は、本発明の実施の一形態に係り、後述する表示方法を実施する表示装置を示す構成図である。
【0108】
すなわち、表示装置の要部を、メモデータレイアウト範囲取得手段59、入力手段60、表示範囲取得手段61、コンテンツデータ取得手段62、メモデータ取得手段63、関連付け情報取得手段64、コンテンツデータレイアウト取得手段65、メモデータレイアウト取得手段66、レイアウト出力手段67、コンテンツレイアウト範囲取得手段68、およびコンテンツ余白特定手段69の主要な機能ブロックに展開して示すことができる。
【0109】
処理の概要をこれら各手段59〜69間のデータの授受の観点から説明する。
【0110】
まず、表示範囲取得手段61では、レイアウト出力手段67に接続されたモニターやプリンタで使用される印刷用紙等の表示/出力媒体のサイズに相当するレイアウト可能範囲を得て、レイアウト出力手段67、コンテンツレイアウト範囲取得手段68、コンテンツ余白特定手段69に送る。
【0111】
なお、表示/出力媒体のレイアウト可能範囲とは、コンテンツデータやメモデータも含めて、表示対象要素をレイアウトして表示が可能となる範囲であり、表示/出力媒体の表示できない端の部分や、ウィンドウ枠その他の表示に使われるのでコンテンツデータやメモデータのレイアウト/表示に使えない部分を除いた部分、本当はレイアウト可能だが見易くするためにわざとレイアウトさせない端の部分(先に説明した意味ではなく、一般的に言う「余白」)などを除いた範囲である。ここでは説明を簡単にする為、図1の表示範囲44の全てがレイアウト可能範囲として得られるとする。
【0112】
上記のレイアウト可能範囲は、後で詳述するように、キーボード、マウス等を介したユーザの操作や、文書表示プログラムや、表示/出力先の装置によって指定され、表示範囲取得手段61に入力される。
【0113】
次に、コンテンツレイアウト範囲取得手段68は、表示範囲取得手段61から得たレイアウト可能範囲や、ユーザが指定した行内文字数の情報、余白の設定情報などを元に、コンテンツデータをレイアウトする範囲(以下、コンテンツレイアウト範囲と呼ぶ)を得る。
【0114】
コンテンツレイアウト範囲は、通常、レイアウト可能範囲より上下左右に余白を取った分、狭い範囲として得られる。得られたコンテンツレイアウト範囲は、コンテンツデータレイアウト取得手段65、コンテンツ余白特定手段69へ送られる。
【0115】
コンテンツデータ取得手段62は、コンテンツデータを外部記憶装置や、ユーザが操作するキーボード、マウス等などから得て、コンテンツデータレイアウト取得手段65へ送る。
【0116】
コンテンツデータレイアウト取得手段65は、コンテンツレイアウト範囲取得手段68から得たコンテンツレイアウト範囲の中で、コンテンツデータ取得手段62から得たコンテンツデータ(の各表示対象要素)をレイアウトする。これによって、コンテンツデータの各表示対象要素のレイアウト位置が決まり、コンテンツデータを表示できることになる。コンテンツデータのレイアウトを記述したレイアウトデータは、コンテンツデータレイアウト取得手段65で生成された後、コンテンツ余白特定手段69、メモデータレイアウト取得手段66、レイアウト出力手段67へ送られる。
【0117】
コンテンツデータのレイアウトデータを生成する構成を説明したので、次に、メモデータのレイアウトデータを生成する構成を説明する。
【0118】
入力手段60は、タブレット、ペン、キーボードなどで入力されたデータを受け取り、メモデータ取得手段63、関連付け情報取得手段64へ送る。
【0119】
メモデータ取得手段63は、入力手段60から得た入力データを解釈したり、外部記憶装置などに記録されたデータからメモデータを読み取ったりして、メモデータを取得し、メモデータレイアウト取得手段66、メモデータレイアウト範囲取得手段59へ送る。
【0120】
同様に、関連付け情報取得手段64は、入力手段60から得た入力データを解釈したり、外部記憶装置などに記録されたデータから関連付け情報を読み取ったりして、関連付け情報を取得し、メモデータレイアウト取得手段66、レイアウト出力手段67へ送る。
【0121】
コンテンツ余白特定手段69では、表示範囲取得手段61から得たレイアウト可能範囲、コンテンツレイアウト範囲取得手段68から得たコンテンツレイアウト範囲、コンテンツデータレイアウト取得手段65から得たコンテンツデータ(の各表示対象要素)のレイアウトデータから、コンテンツデータがレイアウトされていない余白範囲を特定して抽出する。抽出された余白範囲は、メモデータレイアウト範囲取得手段59へ送られる。
【0122】
メモデータレイアウト範囲取得手段59は、コンテンツ余白特定手段69から得た余白範囲と、メモデータ取得手段63から得たメモデータとから、コンテンツデータ(の各表示対象要素)のレイアウトと重なりが無い、あるいは所定割合以下、あるいは所定面積以下のメモデータのレイアウト範囲(以下、メモレイアウト範囲と呼ぶ)を得る。得られたメモレイアウト範囲は、メモデータレイアウト取得手段66へ送られる。
【0123】
メモデータレイアウト取得手段66は、関連付け情報取得手段64から得た関連付け情報とコンテンツデータレイアウト取得手段65から得たコンテンツデータのレイアウトデータとから、レイアウトされているコンテンツデータに関連付けられたメモデータを得る。
【0124】
続いて、メモデータレイアウト取得手段66は、そのメモデータのレイアウト方針(ユーザまたは表示プログラム等によって設定される)などに従って、メモデータレイアウト範囲取得手段59から得たメモレイアウト範囲の中で、メモデータ取得手段63から得たメモデータをレイアウトし、メモデータのレイアウトを記述したメモレイアウトデータを生成する。生成されたメモレイアウトデータは、レイアウト出力手段67へ送られる。
【0125】
なお、メモデータレイアウト範囲取得手段59およびメモデータレイアウト取得手段66は、メモレイアウト生成手段に相当する。
【0126】
レイアウト出力手段67は、コンテンツデータレイアウト取得手段65から得たコンテンツデータのレイアウトデータと、メモデータレイアウト取得手段66で生成されたメモレイアウトデータとに従って、コンテンツデータおよびメモデータを、関連付け表示情報などに基づいて関連付けて、モニターなどに表示する。なお、関連付け表示情報は、関連付け情報取得手段64から得られた関連付け情報に含まれている。
【0127】
図5は、図4の各手段59〜69を具体的に実現する装置の構成例である。
【0128】
CPU(central processing unit)70は、メモデータレイアウト範囲取得手段59、上記入力手段60、表示範囲取得手段61、コンテンツデータ取得手段62、メモデータ取得手段63、関連付け情報取得手段64、コンテンツデータレイアウト取得手段65、メモデータレイアウト取得手段66、レイアウト出力手段67、コンテンツレイアウト範囲取得手段68、およびコンテンツ余白特定手段69として機能し、これら各手段59〜69による処理手順が記述されたプログラムを主記憶74、外部記憶75、通信デバイス77が仲介するネットワークなどから得る。
【0129】
なお、主記憶74または外部記憶75は、本発明の表示プログラムを記録した記録媒体に相当する。
【0130】
また、CPU70は、CPU70を含めてバス79を通じ相互に接続されたディスプレイ71、プリンター72、タブレット73、主記憶74、外部記憶75、マウス76、通信デバイス77、キーボード78とデータのやりとりを行ないながら、既に説明した各処理を行なう。
【0131】
なお、データのやりとりは、バス79を介して行う形態に限定されるものではなく、データを送受信できるならば、通信ケーブルや無線通信装置などを介する形態でもよい。また、各手段59〜69の実現手段としては、CPUに限らず、DSP(digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【0132】
主記憶74は、通常はDRAM(dynamic random access memory)やフラッシュメモリなどのメモリデバイスで構成される。外部記憶75は、HDD(hard disk drive)やPC(personal computer)カードなどの装脱着可能な記憶手段である。あるいはCPU70とネットワークを介して有線または無線で接続された他のネットワーク機器に取り付けられた主記憶や外部記憶を外部記憶75として用いることもできる。
【0133】
ユーザの指示を入力する手段として、マウス76、タブレット73、キーボード78などがあり、ユーザの指示はバス79を介して入力手段60に入力される。この他にもボタン、マイクによる音声入力など、様々な手段が使用可能である。
【0134】
ディスプレイ71は、通常はグラフィックカードなどと組み合わされて実現され、グラフィックカード上にVRAM(video random access memory)を有し、VRAM上のデータを表示信号に変換して、モニターなどのディスプレイ(表示/出力媒体)に送り、ディスプレイは表示信号を画像として表示する。
【0135】
プリンタ72は、バス79を介して得た印刷データを用紙(表示/出力媒体)に印刷する。通信デバイス77は、ネットワークカードなどにより実現され、無線や有線などにより接続された他のネットワーク機器とデータをやりとりする。
【0136】
図4の表示範囲取得手段61としてのCPU70は、表示/出力範囲(レイアウト可能範囲)のデータを主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムから得たり、ユーザの操作によりマウス76、タブレット73、キーボード78から入力されたデータとして得たり、ディスプレイ71、主記憶74、外部記憶75、プリンタ76、ネットワークからデータとして得たりする。
【0137】
例えばディスプレイ71上に表示されているウィンドウのサイズをレイアウト可能範囲とするならば、CPU70は、主記憶74上のウィンドウサイズデータを参照したり、ウィンドウサイズ取得APIを呼び出すなどしてレイアウト可能範囲のデータを得る。また印刷ならば、プリンタ72、あるいは用紙設定が記録された主記憶74や外部記憶75上の用紙設定データをCPU70が参照したり、用紙サイズ取得APIを呼び出すなどして用紙サイズのデータを得ればよい。
【0138】
コンテンツレイアウト範囲取得手段68としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから既に設定済みのコンテンツレイアウト範囲を得たり、あるいは主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、表示範囲取得手段61から得たレイアウト可能範囲などを元に、コンテンツレイアウト範囲を得る。
【0139】
コンテンツデータ取得手段62としてのCPU70は、主記憶74、外部記憶75、ネットワークなどからコンテンツデータを得る。コンテンツデータは予め用意されているとする。
【0140】
コンテンツデータレイアウト取得手段65としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから既に作成済みのレイアウトデータを得たり、あるいは、コンテンツデータ取得手段62から得たコンテンツデータ(の各表示対象要素)を、コンテンツレイアウト範囲取得手段68から得たコンテンツレイアウト範囲の中でレイアウトし、レイアウトデータを生成する。なお、レイアウトデータの生成処理は、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づく。
【0141】
図4の入力手段60としてのCPU70は、ユーザからの入力データを、ユーザの操作によりマウス76、タブレット73、キーボード78などから入力されたデータとして得、必要に応じて、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムを利用してその入力データを加工してから、他の手段に渡したりする。
【0142】
例えば、タブレット73やマウス76から入力されたペンやマウス76の動きデータをストロークデータの形式にしたり、そのストロークデータを手書き文字認識してテキストデータに変換したり、キーボードから得られる文字を仮名漢字変換して漢字仮名混じりのテキストにしたり、マイクから入力された音声を認識してテキストデータに変換したり、などといった処理などを入力手段60が実行する。
【0143】
メモデータ取得手段63としてのCPU70は、主記憶74、外部記憶75、ネットワークなどからメモデータを得たり、あるいは主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、入力手段60から得たユーザ入力を処理してメモデータとして解釈してメモデータを得る。主記憶74、外部記憶75、ネットワークなどから直接メモデータを読み込む時は、予め用意されているとする。
【0144】
関連付け情報取得手段64としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから関連付け情報を得たり、あるいは、入力手段60から得たユーザ入力を処理して関連付け情報として解釈した後、関連付け情報を取得する。なお、ユーザ入力を処理して関連付け情報を取得する処理は、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づく。また、主記憶74、外部記憶75、ネットワークなどから直接関連付け情報を読み込む時は、予め用意されているとする。
【0145】
なお、メモデータと関連付け情報とはお互いに対応しているデータなので、記録する時は一体のデータとして記録した方が多くの場合、扱いが便利である。コンテンツデータと一体とした方が便利かどうかは使い方による。
【0146】
コンテンツ余白特定手段69としてのCPU70は、取得したレイアウト可能範囲と、コンテンツレイアウト範囲取得手段68から得たコンテンツレイアウト範囲と、コンテンツデータレイアウト取得手段65から得たコンテンツデータ(の各表示対象要素)のレイアウトデータとから、コンテンツデータがレイアウトされていない余白範囲を抽出する。
【0147】
なお、CPU70は、主記憶74、外部記憶75、ネットワークなどから既に設定済みのレイアウト可能範囲を得たり、あるいは主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、表示範囲取得手段61からレイアウト可能範囲を取得する。
【0148】
メモデータレイアウト範囲取得手段59としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、コンテンツ余白特定手段69から得られた余白範囲と、メモデータ取得手段63から得られたメモデータとから、コンテンツデータ(の各表示対象要素)のレイアウトと重なりが無い、あるいは所定割合以下、あるいは所定面積以下のメモレイアウト範囲を得る。
【0149】
メモデータレイアウト取得手段66としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから既に作成済みのメモデータを得たり、あるいは、レイアウトされているコンテンツデータに関連付けられたメモデータをメモデータ取得手段63から得て、メモデータレイアウト範囲取得手段59から得られたメモレイアウト範囲の中で、そのメモデータのレイアウト方針などに従って、レイアウトし、メモレイアウトデータを得る。
【0150】
なお、メモデータレイアウト取得手段66は、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、関連付け情報取得手段64から得られた関連付け情報とコンテンツデータレイアウト取得手段65から得られたコンテンツデータのレイアウトデータとから、コンテンツデータに関連付けられたメモデータを取得する。
【0151】
レイアウト出力手段67としてのCPU70は、主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、コンテンツデータレイアウト取得手段65から得られたコンテンツデータのレイアウトデータと、メモデータレイアウト取得手段66から得られたメモレイアウトデータとに従って、コンテンツデータおよびメモデータを、関連付け情報に含まれる関連付け表示情報などに基づいて関連付けて、ディスプレイ71、プリンター72などに表示/出力する。
【0152】
図6は、本発明に係る表示装置の外観例を示している。本体90上に表示部兼タブレット91があり、入力手段としてペン92がある。表示部兼タブレット91は出力先の装置(ディスプレイ71およびタブレット73等)に相当し、図では表示部兼タブレット91の大きさがレイアウト可能範囲の大きさとなる。
【0153】
表示部兼兼タブレット91上でペン92を操作することで、手書きデータなどが入力できる。表示部兼タブレット91の表示機能は図5のディスプレイ71に相当し、表示部兼タブレット91のタブレット機能とペン92の組み合わせが図5のタブレット73に相当する。表示部兼タブレット91上には、図6のように、コンテンツ(例えば文章)のレイアウト、メモのレイアウト、関連付け情報(例えば下線)などが表示される。
【0154】
この装置を使った操作例として、あるテキストにメモを関連付けて、メモを表示させる一連の操作について説明する。
【0155】
図7は、表示部兼タブレット91を抜き出して書いたもので、コンテンツデータとして、「従来、文書・・」というテキストがレイアウトされて表示されている。この時点ではメモデータは存在しないとする。
【0156】
図8は、表示部兼タブレット91上で、ペン92を用いて、コンテンツデータのテキストの一部を選択している状態を示す図である。図8では、テキスト中の「文書」という部分を選択している。この「文書」がメモの参照部分となる。選択の方法は、マウスやキーボードなどを使った方法など色々あるが、ここではペン92によって、選択部分の範囲をドラッグするという方法であるとする。選択されたテキスト部分が分かり易いように、選択されたテキスト部分の色を反転させて表示している。
【0157】
なお、これらの選択方法は、GUI(Graphical User Interface)を扱うOS(Operating System)やアプリケーションならば一般的な方法なので、具体的な実現方法についての説明は省略する。
【0158】
コンテンツデータのテキストの一部を選択したら、メモデータを設定する。設定方法は様々考えられるが、図9は、設定を行うダイアログウィンドウを表示させた例である。このダイアログウィンドウは、コンテンツデータのテキスト表示の上に重ねて表示されているとする。
【0159】
図9の「テキスト」部分の横の枠内は文字入力することができ、ユーザがメモの内容を入力する入力部である。図9では、「ドキュメント」という内容を入力した状態になっている。
【0160】
なお、テキストの入力に関しては、ペン92と表示部兼タブレット91を使った文字認識やソフトキーボード、あるいは外部キーボードなどによって入力されるとする。
【0161】
図9のダイアログウィンドウにおいて、「テキスト」の下の「表示位置」は、メモをコンテンツデータの参照部分に対してどのような位置の余白に表示するかを指定する入力部である。ここでは、余白として「行間」と「周囲」がラジオボタンで選択でき、図9では「行間」が指定されている。
【0162】
その下の「参照表示」は、コンテンツデータの参照部分の表示の仕方をどうするかを指定する入力部である。ここでは、「下線」と「枠」とがラジオボタンで選択でき、図9では「下線」が指定されている。
【0163】
メモデータの設定は、「表示位置」や「参照表示」以外にも様々な種類の設定が考えられるが、ここでは説明の為、この2つに絞っただけであり、実際には必要に応じてユーザが設定できるようにしておけばよい。
【0164】
図9でメモ設定ダイアログによる設定が終われば、「OK」ボタンを押して、設定を確定する。すると後で説明するようなメモデータとコンテンツデータのレイアウト処理と表示処理が行われ、後で説明する図10のように参照部分「文書」に下線が引いて表示され、その下の行間に「文書」に関連付けられたメモの内容「ドキュメント」が表示される。なお、図10では後で説明に使う必要上、行範囲に点線で枠が描かれているが、これは説明上のもので実際には表示されない。
【0165】
以上、コンテンツデータの表示から、参照部分の選択、メモデータの設定、レイアウト、表示という一連の手順の概要を説明した。以降、主にレイアウトと表示の処理に関して、詳しく説明する。
【0166】
図11は、本発明の実施の一形態に係る表示方法を示すフローチャート図である。前述した表示装置の各手段上で実施される処理に対応する。
【0167】
まずステップS1(以下、「ステップS」を「S」と略記する。)でメモデータ取得手段63がメモデータを取得すると、S2へ処理が進む。メモデータの定義については、先に説明した通りである。メモデータの取得方法は本発明の主旨ではないので詳しい説明は省くが、入力手段60から得たデータ、すなわちキーボード78やタブレット73などで入力され、入力手段60の処理を経たテキストデータや手書きデータであったり、あるいは主記憶74や外部記憶75に予め記録されていたデータから読み込んだデータであったりする。
【0168】
図12はメモデータ構造の一例を説明する図である。各横行1〜3が一つのメモデータで、全体は複数のメモデータの配列になっており、それぞれのメモデータにインデックス番号でアクセスできる。
【0169】
各メモデータの中身は、図のように、「種類」、位置「X」「Y」、大きさ「W」「H」、「関連付けデータ」、「内容」、「レイアウト」からなる。
【0170】
「種類」は、テキスト(TEXT)、手書きデータ(FREEHAND)、画像(IMAGE)などのように、メモデータの種類を示す。
【0171】
位置「X」「Y」は、全レイアウト(レイアウト全体40)中の位置であり、図1の表示対象要素の位置と同じ座標系である。
【0172】
大きさ「W」「H」は、メモデータを表示させた時の標準的な大きさであり、テキストデータのように分解、再レイアウトが可能なものは、大きさは「可変」であり、手書きデータや画像などは固定した大きさを持つ(但し、手書きデータや画像などを全体として伸縮することも不可能ではない)。
【0173】
「関連付けデータ」は、このメモと関連付けされている関連付け情報のデータへのアクセス手段を示す。例えばメモリ中に関連付けデータを保持する形態では、「関連付けデータ」は、そのデータのアドレスなどになる。ここでは分かり易くする為に、図13の関連付けデータに付与した番号で表現しておく。場合によっては、関連付けデータは、複数となることもある。
【0174】
「内容」は、メモデータの種類によって変わり、例えばテキストデータなら文字列やそのフォント情報、手書きデータならばストロークデータ(stroke data)、画像ならビットマップデータ(image data)やその記録場所を指し示すデータなどとなる。
【0175】
「レイアウト」は後で作成するメモデータのレイアウトデータを指す。
【0176】
S2(関連付け情報取得ステップ)では、関連付け情報取得手段64が参照データとメモデータとの関連付け情報を得て、S3へ処理が進む。関連付け情報の定義については、先に説明した通りである。関連付け情報取得手段64におけるデータの入手方法についてはメモデータと同様、キーボード78やタブレット73などで入力され、入力手段60の処理を経たテキストデータや手書きデータに併せて入力された関連付けの仕方に関する情報であったり、あるいは主記憶74や外部記憶75に予め記録されていた関連付け情報を読み込んだデータであったりする。
【0177】
図13は関連付け情報のデータ構造の一例を説明する図である。点線で囲われたデータ10、20、30が一つの関連付けデータで、全体は複数の関連付けデータの配列になっており、それぞれの関連付けデータにインデックス番号でアクセスできる。関連付けデータは、大きく「メモデータリスト」、「参照データリスト」、「関連表示方法」の3つに分けられる。
【0178】
「メモデータリスト」は、関連付けデータによって関連付けられている「メモデータに関する情報」の配列である。ここでは、「メモデータに関する情報」を、「メモデータを特定する情報」と「メモデータを表示する方法についての情報」の組としている。
【0179】
「メモデータを特定する情報」は、例えば、図13では、データ11、21、31、33であり、ここでは図12に示すメモデータの番号を記録してある。「メモデータを表示する方法についての情報」は、図13では、データ12、22、32、34であるが、データの中身の意味については、後で説明する。
【0180】
「参照データリスト」は、関連付けデータで関連付けられている「参照データに関する情報」の配列である。ここでは、「参照データに関する情報」として、「参照データを特定する情報」と「参照部分を視認可能に表示する方法(参照データの関連表示を表示する方法)についての情報」の組としている。図13では、「参照データを特定する情報」はデータ13、23、25、35であり、「参照部分を視認可能に表示する方法についての情報」はデータ14、24、26、36である。
【0181】
「参照データを特定する情報」は、図2の表示対象要素のレイアウトデータの「データ位置」に対応するものとなる。例えば、先頭から5番目の表示対象要素から7番目の表示対象要素までを参照部分とするなら、参照データを特定する情報は、「5〜7」となる。
【0182】
「参照部分を視認可能に表示する方法についての情報」の意味については、後で説明する。
【0183】
「関連表示方法」は、参照データとメモデータとの関連付けを表示する方法を表しており、図13ではデータ15、27、37である。データの中身の意味については後で説明する。
【0184】
S3では、コンテンツデータ取得手段62がコンテンツデータを取得する。コンテンツデータの定義については、先に説明した通りである。以降では、説明を分かり易くする為、プレーンテキストで記述されているとする。コンテンツデータは、コンテンツデータ取得手段62が主記憶74や外部記憶75に予め記録されていたコンテンツデータを読み込んだり、ネットワークを介して読み込むことで得られる。
【0185】
S4では、メモデータレイアウト取得手段66が、メモ表示を行うかどうかの情報を得て、S5へ処理が進む。。
【0186】
メモ表示を行うかどうかの情報(メモON/OFF情報と呼ぶ)は、本発明を実施するアプリケーションや装置などから得ることがある。つまり、主記憶74や外部記憶75に予め記録されたメモON/OFF情報を、メモデータレイアウト取得手段66が取得する。また、ユーザに尋ねることによって、メモデータレイアウト取得手段66が入力手段60を介してメモON/OFF情報を取得する場合もある。あるいはそれぞれのメモデータに既にその情報が含まれていて、メモデータレイアウト取得手段66がメモデータと合わせてメモON/OFF情報を取得することもある。
【0187】
メモ表示を行うかどうかは、予めアプリケーションあるいは装置の設定によって全てのメモデータに対して一律に決める場合もあれば、それぞれのメモデータ毎に、またはメモデータの種類毎に決める場合もある。
【0188】
ここでは、アプリケーションあるいは装置の設定によって全てのメモデータに関してまとめて決めるとしておく。なお、ここではメモON/OFF情報をメモデータ全体で一括した値として得ているが、図12のメモデータや図13の関連付け情報にメモON/OFF情報をメモデータ毎に持たせる形態を採用すれば、メモデータ毎に表示の有無を指定することができる。
【0189】
S5では、S4で得られたメモON/OFF情報に基づき、メモデータレイアウト取得手段66がメモを表示させるか否かを判断する。メモを表示させる場合は、連結点P10(以降、「連結点P」を「P」と略記する)を経てS6へ処理が進み、メモを表示させない場合はS5からS7へ処理が進み、コンテンツデータの表示処理を行う。なお、S7の内容については、後述のS6−6の説明が該当する。
【0190】
S6(表示ステップ)では、コンテンツデータのレイアウトをメモデータ表示の為に変更せずにコンテンツデータやメモデータなどをレイアウト出力手段67によって表示させて、P100を経て処理を終了する。S6での処理の詳細は後で述べる。
【0191】
これによって、メモデータとコンテンツデータとを関連付けて表示させる一連の処理を行うことができる。なお、S1〜S3の処理の順番は特にこの順でなくても良く、適宜入れ替わっても良い。
【0192】
図14は、図11のS6の処理、すなわちレイアウト出力手段67が、レイアウトされたメモデータおよびコンテンツデータを、例えば前述の表示部兼タブレット91に表示する処理の一詳細例を説明するフローチャート図である。
【0193】
P10からS6−1(レイアウト可能範囲取得ステップ)に進むと、表示範囲取得手段61が表示/出力媒体のレイアウト可能範囲を取得して、S6−2へ処理が進む。すなわち、S6−1では、レイアウト可能範囲は、キーボード、マウス等を介したユーザの操作や、文書表示プログラムや、表示/出力先の装置によって指定され、表示範囲取得手段61に入力される。
【0194】
S6−2では、コンテンツレイアウト範囲取得手段68がコンテンツデータの表示レイアウト範囲(コンテンツレイアウト範囲)を取得して、S6−3へ処理が進む。コンテンツレイアウト範囲取得手段68は、前述したように、主記憶74、外部記憶75、ネットワークなどから既に設定済みのコンテンツレイアウト範囲を得たり、あるいは主記憶74、外部記憶75、ネットワークなどから読み取られるプログラムに基づき、表示範囲取得手段61から得たレイアウト可能範囲などを元に、コンテンツレイアウト範囲を得る。
【0195】
例えば図1では、X軸方向のコンテンツレイアウト範囲は、左右の余白XL,XRを除いた行の幅CWの部分、X座標値で言えば、XL〜(XL+CW)の範囲となる。Y軸方向のコンテンツレイアウト範囲は、上下の余白YT,YBを除いた部分であり、Y座標値で言えば、YT〜(YT+CH)の範囲であるが、コンテンツデータのレイアウトはまだ取得されていないので、CHの値はまだ確定していない。逆に、コンテンツデータのレイアウトが決まり、CHが確定してから、(YT+CH+YB)をレイアウト全体40の高さと設定することになる。従って、コンテンツデータのレイアウト範囲の高さがCHの値によって制限される訳ではなく、実際上はYTの値にだけに制限されることになる。
【0196】
S6−3では、コンテンツデータレイアウト取得手段65がコンテンツデータの表示レイアウト(各表示対象要素のレイアウトデータ)を取得ないし生成して、P30を経てS6−4へ処理が進む。すなわち、コンテンツデータレイアウト取得手段65は、既に作成済みのレイアウトデータを主記憶74、外部記憶75、ネットワークなどから取得する。
【0197】
あるいは、コンテンツデータレイアウト取得手段65は、S3で取得されたコンテンツデータをコンテンツデータ取得手段62から得、S6−2で取得されたコンテンツレイアウト範囲をコンテンツレイアウト範囲取得手段68から得て、レイアウトデータを生成する。
【0198】
ここでは、コンテンツデータの表示レイアウトは行の配列からなり、各行は図3のように表示対象要素の配列を持ち、表示対象要素のレイアウトは図2のようになっているとする。
【0199】
一般に図2のレイアウトデータは、位置X、Y以外は、S6−3でレイアウトする前に設定することができる。例えば文字や画像の大きさなどは予め設定されていて、知ることができる(なお、文字の大きさが表示設定によって変わるとしても、表示設定を知ることができれば、文字の大きさも知ることができる、という意味である)。
【0200】
従って、レイアウトを作成するとは、図2に示すように、レイアウトに即して配列させた表示対象要素のデータ(構成要素データ)であって、XとYの項以外のデータが予め定められた各構成要素データに対して、XとYの項を設定することである。
【0201】
また、図3に示すような行構造のレイアウトデータを作成する場合は、行の位置(X,Y)、大きさ(W,H)、どの行にどの表示対象要素を入れるか(表示対象要素配列)、なども設定することになる。
【0202】
以降、コンテンツデータのレイアウト範囲に、コンテンツデータ(表示対象要素)をレイアウトする方法を説明する。
【0203】
例えば、プレーンテキストを横方向の行に図1のレイアウト範囲内(幅CW)でレイアウトするとする。レイアウト範囲の上余白をYT,文字の大きさは全て同じで(WC、HC)、文字間幅をIC、行間高さをILとする。
【0204】
まず、最初の文字をレイアウトする。位置を余白ぎりぎりの左上位置(XL、YT)と決める。そして現在の行80(図3参照)の表示対象要素配列の項に最初の文字(表示対象要素)の識別情報(例えばデータ位置)を代入する。ここでは、行80の表示対象要素配列として、最初の文字のデータ位置である1が代入される。
【0205】
表示対象要素配列を更新したら、行の位置(X,Y)、大きさ(W,H)も更新する。上記の場合、表示対象要素は最初の文字なので、行80の位置(XL、YT)はそのまま変わらず、大きさ(W,H)には文字の大きさ(WC、HC)が代入される。
【0206】
次の文字をレイアウトする場合、まず、次の文字の識別情報(データ位置の2)を行80の表示対象要素配列に追加する。なお、次の文字の位置は、(その前の文字の幅+文字間幅)だけ横にずらした位置(XL+WC+IC、YT)となる。行80の位置は変わらず、大きさとして((1文字分の幅)+(文字間幅))だけ幅が増えて(WC×2+IC、HC)となる。
【0207】
同様にその次の文字をレイアウトすると、文字の位置は(XL+(WC+IC)×2、YT)、行80の位置は変わらず、大きさが(WC×3+IC×2、HC)となる。
【0208】
同様の要領で、次々と文字を行に追加していくことができる。表示対象要素が行の横方向に追加されるので、表示対象要素のY座標値は全て同じで、X座標値だけが増えていくことになる。また、行の位置と高さは変わらず、幅だけが増えていくことになる。
【0209】
そして、レイアウト範囲の幅を超えてしまう時、すなわち、1行に配列されるn番目の文字で、
(文字の右端位置)−(レイアウト範囲右端位置)
=(XL+WC×n+IC×(n−1))−(XL+CW) < 0
となった時、次の行81にレイアウトすべき行が変わる。あるいは、改行文字が来た場合も、次の行81がレイアウトすべき行となる。
【0210】
次の行81に最初に追加する文字のX座標値は、前の行80の行頭の位置に戻してXLとし、Y座標値は(前行位置+前行の高さ+行間高さ)とすれば良い。従って、次の行81の最初の文字の位置(=次の行81の位置)は、(XL,YT+HC+IL)となる。
【0211】
これらの処理を繰り返すことで、行構造を持つ表示対象要素のレイアウトを作成することができる。
【0212】
コンテンツデータによっては、もっと複雑なレイアウト処理を行う必要がある場合もあるが、ここではS6−2で得たコンテンツレイアウト範囲を定めて、コンテンツデータレイアウト取得手段65にコンテンツデータを流し込んでいけば、上記のレイアウト処理をベースとするような処理が同手段65で行われ、レイアウトデータが得られるとする。
【0213】
S6−4では、コンテンツ余白特定手段69が求めたレイアウトの余白範囲に基づいて、メモデータレイアウト範囲取得手段59が、メモデータの表示レイアウト範囲、すなわちメモレイアウト範囲を求め、P40を経てS6−5へ処理が進む。ここでの処理の詳細は後で述べる。
【0214】
S6−5(メモレイアウト生成ステップ)では、メモデータレイアウト取得手段66がメモレイアウトデータを生成して、S6−6へ処理が進む。すなわち、S6−5では、S6−4で生成されたメモレイアウト範囲に、S1で得たメモデータをレイアウトすることになる。
【0215】
メモデータのレイアウトは、メモデータの種類によって異なるが、基本的なデータ構造は図2と同じと考えてよい。例えば、メモデータが分解、再レイアウトできない画像や手書きデータならば、大きさ(W,H)は固定で、位置(X,Y)のみが変更可能である。従って、メモデータをそのままレイアウトして、位置決めするだけになる。
【0216】
一方、分解、再レイアウトできるようなテキストデータの場合は、それぞれの文字が表示対象要素となり、メモレイアウトデータは複数の構成要素データの配列となる。
【0217】
なお、決められたメモレイアウト範囲内での各表示対象要素のレイアウト方法は、S6−3のコンテンツデータのレイアウト方法と同様である。
【0218】
S6−6では、S6−3でコンテンツデータレイアウト取得手段65が取得したコンテンツデータのレイアウトデータに従って、S6−1で表示範囲取得手段61が取得したレイアウト可能範囲に対して、レイアウト出力手段67が、コンテンツを表示/出力媒体に表示する。S6−6の処理が済むと、P90を経て、S6−7へ処理が進む。
【0219】
S6−7では、S6−5でメモデータレイアウト取得手段66が得たメモレイアウトデータに従って、S1でメモデータ取得手段63が取得したメモデータと、S2で関連付け情報取得手段64が得た関連付け情報とをレイアウト出力手段67が表示して、P100へ処理が抜ける。ここでの処理の詳細については後で処理例と共に述べる。
【0220】
これらS6−1〜S6−7の処理によって、図11のS6の処理、すなわちメモデータやコンテンツデータをレイアウトして表示する処理を行うことができる。
【0221】
図15は、図14のS6−4の処理、すなわちメモデータレイアウト範囲取得手段59が、メモレイアウト範囲を求める処理の一詳細例を説明するフローチャート図である。ここでの処理は、S6−7の表示処理とも絡んで、どのような方針でレイアウトを行うかによって変わってくる。ここでの説明では、ユーザの指定に沿い、参照部分の近くで、重なりの少ないメモデータのレイアウト範囲をできるだけ求めるようにする一つの処理例を示している。
【0222】
図16は、メモレイアウト範囲を定める為の余白範囲を説明する図である。図1のレイアウト全体図と同様に、コンテンツデータのレイアウトは、ここでは処理し易い様に、斜線部の行80〜85のように行単位で示してある。余白範囲は、範囲101〜136で示されている。ここではコンテンツデータのレイアウト、すなわち行80〜85と重なりが全く無い余白範囲を示している。
【0223】
図17は、図16の範囲101〜136のデータ構造とデータ例を説明する図である。各範囲101〜136は、「種類」、「X」、「Y」、「W」,「H」、「隣接余白範囲配列」のデータを持つ。「種類」は、範囲の種類を表すが、ここではレイアウト全体40の中での配置をもとに、余白範囲の種類(周囲、行間等)を表している。
【0224】
例えば、「種類」の具体的な情報として、「Lt」(「Left」の略号)は左端に配置された余白範囲を意味し、「Rt」(Right)は右端、「Tp」(Top)は上端、「Bm」(Bottom)は下端にそれぞれ配置された余白範囲を意味する。
【0225】
また、「Bd」(Border)は、コンテンツレイアウト範囲の周囲の余白範囲を意味する。さらに、「BL」(Between Lines)は行間、「OL」(On Line)は行の延長上に配置された余白範囲を意味する。
【0226】
なお、これらの種類は、複合して持つことができる。また、ここでは分かり易くする為に「種類」の情報を文字列で示しているが、通常は文字列でなくフラグのような形で持つことが多い。
【0227】
「X」、「Y」、「W」,「H」は、X位置、Y位置、幅、高さを表す。位置は、ここでは各範囲101〜136の左上隅の位置で表す。そのための座標系には、前記と同様、レイアウト全体40の左上隅を原点とし、右方向を+X方向、下方向を+Y方向としたX−Y直交座標系を用いる。
【0228】
「隣接余白範囲配列」は、着目した範囲に隣接する範囲を示す。ここでは斜めに位置する範囲は「隣接余白範囲配列」に含めず、上下左右に位置する範囲だけに限定している。また、行のレイアウト範囲80〜85も、隣接する範囲の対象には含めていない。
【0229】
図15に示すP30を経たS6−4−1(余白特定ステップ)では、コンテンツ余白特定手段69が、コンテンツデータがレイアウトされていない余白範囲を特定し、余白レイアウトデータを生成する。S6−4−1の処理が完了すると、P31を経て、S6−4−2へ処理が進む。ここでの余白特定処理については後で詳しく述べるとし、処理の結果、図17のような余白レイアウトデータが得られるとする。
【0230】
S6−4−2では、メモデータレイアウト取得手段66が、S2で関連付け情報取得手段64が得た関連付け情報からコンテンツデータの参照部分の位置を得て、S6−4−3へ処理が進む。
【0231】
参照部分の位置に関しては、図13の「参照データリスト」中の「参照データを特定する情報」(データ13、23、35、または35)から参照データのデータ位置が得られる。例えば図13の関連付け情報10の参照データを特定する情報13の場合、参照データのデータ位置は「5〜7」となっている。これによって、参照部分が5番目から7番目の表示対象要素であることが分かる。
【0232】
また、それらがどの行範囲に属するかも、図3の各行80…の表示対象要素配列の中に、参照部分として特定されたデータ位置の表示対象要素が含まれるかどうかで判断できる。参照部分が属する行は1行の場合も複数行の場合もあるので、参照部分が属する行の情報を、行の配列として得ておく。
【0233】
そして、メモデータレイアウト取得手段66が、図2のコンテンツレイアウトデータを順に走査していき、図2の「データ位置」と図13の参照データのデータ位置とを比較して等しいときに、そのデータ位置の表示対象要素をメモデータに対応する参照データとして特定できたことになる。
【0234】
そして、その参照データのレイアウトデータ(図2)の位置「X」、「Y」、「W」、「H」を見れば、その参照データのレイアウト範囲が得られる。例えば後で説明する図16では、参照部分として行81中のやや右寄りに位置する範囲100が得られたとする。なお、参照部分が複数の表示対象要素からなる場合は、参照データはそれらの構成要素データの配列となるが、参照データが各表示対象要素に分かれていると扱いにくい。そこで、同じ行に含まれる複数の表示対象要素は、それらの外接矩形としての一つの範囲に属するとしてしまった方が扱い易い。
【0235】
また、図13のデータ30のように、一つの参照データに対して、複数のメモデータが関連付けられている場合は、S6−4−3以降の処理で、関連付けられたメモデータ分だけループ処理して、レイアウトの生成処理や表示処理をしてやればよい。但し、ここでは説明を簡単にする為、ループ処理に関しては、図15などでは省いている。
【0236】
また、図13のデータ20のように、一つのメモデータが複数の参照データと関連付けられている場合もある。この場合、先にレイアウトされた参照データが処理された時点で、メモレイアウトが決まってしまう。従って、後から処理された参照データは、メモレイアウトを再度作成する必要はない。
【0237】
メモレイアウトが既に作成されているかどうかは、図12の「レイアウト」の項を見れば分かる。もし、メモレイアウトが既に作成されている場合は、そのメモデータに関して、S6−4−2以降の処理とS6−5の処理とを行う必要はない。但し、ここでは説明を簡単にする為、S6−4−2以降とS6−5のステップでは、既にメモレイアウトを作成済みかどうかをチェックするステップは省いている。
【0238】
S6−4−3では、メモデータレイアウト取得手段66が、メモデータに関して指定されている指定レイアウト方法(レイアウトの仕方)を取得して、S6−4−4へ処理が進む。指定レイアウト方法とは、メモを作成した時に、レイアウト可能範囲の中でユーザがメモを書き込んだ場所や表示方法などに関する情報であり、図9などに示すダイアログウィンドウでユーザから指定されるなどして設定される。
【0239】
例えば、メモを行間に表示させるのなら「行間」、余白に表示させるのなら「余白」などが、レイアウトの仕方に関する情報である。これは、S2で関連付け情報取得手段64が、関連付け情報を読み込んだ際、図13の「メモデータを表示する方法についての情報」(データ12、22、32、または34)から得られる。
【0240】
メモの作成位置でメモの意味が変わったり、分かりやすさや記憶のとどまり具合などが変わったりするので、できるだけオリジナルの作成位置にメモを表示する方が良いと思われる為、ここで指定レイアウト方法に関する情報を得ている。特に指定がなければ適当に「行間」などをデフォルトとして設定してしまえばよい。
【0241】
S6−4−4では、メモデータレイアウト取得手段66が、指定レイアウト方法が「行間」かどうか判断し、行間だったらP32を経由してS6−4−5へ処理が進み、そうでなかったらP34を経由してS6−4−7へ処理が進む。
【0242】
S6−4−5では、メモデータレイアウト取得手段66が、参照部分の近くの行間にメモデータが入りきるかどうかを判断し、入りきればP33を経由してS6−4−6へ処理が進み、入りきらないならばP34を経由してS6−4−7へ処理が進む。S6−4−5での処理は後で詳しく説明する。
【0243】
なお、S6−4−5では、メモデータレイアウト取得手段66が、参照部分の近くの行間を特定する。このとき、メモデータレイアウト取得手段66は、S6−4−1でコンテンツ余白特定手段69から得た余白範囲を基にして行間の特定を行う。
【0244】
S6−4−6では、メモデータレイアウト取得手段66が、S6−4−5で特定した余白範囲をメモレイアウト範囲に設定して、P40へ処理が抜ける。
【0245】
S6−4−7では、S6−4−4で指定レイアウト方法が「行間」ではない場合、あるいはS6−4−5で参照部分の近くの行間にメモデータが入りきらない場合に、メモデータレイアウト取得手段66が、参照部分の近くの周囲の余白にメモデータが入りきるかどうか判断する。その結果、入りきるならばP35を経由してS6−4−8へ処理が進み、入りきらないならばP36を経由してS6−4−9へ処理が進む。S6−4−7での処理は、後で詳しく説明する。
【0246】
S6−4−8では、S6−4−7でメモデータが入りきるとメモデータレイアウト取得手段66が判断した余白範囲を、同手段66がメモデータのレイアウト範囲に設定して、処理がP40へ抜ける。
【0247】
S6−4−9では、S6−4−7で参照部分の近くの周囲の余白にもメモデータが入りきらない場合に、参照部分にできるだけ近い大きな余白部分にメモデータが入りきるかどうかをメモデータレイアウト取得手段66が判断し、入りきるならばP37を経由してS6−4−10へ処理が進み、入りきらないならばP38を経由してS6−4−11へ処理が進む。S6−4−9での処理は、後で詳しく説明する。
【0248】
S6−4−10では、S6−4−9で得た大きな余白範囲を、同手段66がメモデータのレイアウト範囲に設定して、処理がP40へ抜ける。
【0249】
S6−4−11では、S6−4−9でもメモデータが入りきる余白を特定できない場合に、レイアウトされたコンテンツとメモとができるだけ重なりの少ない範囲をメモデータレイアウト取得手段66が探し、その結果特定した余白範囲をメモデータのレイアウト範囲に設定して、P40へ処理が抜ける。ここで特定する余白範囲は、後述するS6−4−8−2で保持してある最も重なりが少ない余白範囲から選択すればよい。
【0250】
メモレイアウト範囲に関しては、表示のさせ方にも関係するので、S6−7の詳細処理の説明でも関連して述べる。
【0251】
これらのS6−4−1からS6−4−11の処理によって、図14のS6−4の処理を行うことができる。
【0252】
図18は、図15のS6−4−1の処理の一詳細例を説明するフローチャート図である。
【0253】
P30を経たS6−4−1−1では、S6−1で表示範囲取得手段61が得たレイアウト可能範囲と、S6−2でコンテンツレイアウト範囲取得手段68が取得ないし生成したコンテンツレイアウト範囲との差の範囲を、コンテンツ余白特定手段69が求める。続いて、同手段69は、この差の範囲を、図16に示すように、各行80…の外枠の延長線で分割して新たな余白範囲として特定し、図17に示すように、各範囲のX、Y、W、H、隣接余白配列を設定し、S6−4−1−2に処理を進める。
【0254】
図19はこの処理を説明する図であり、図の基本構造は図16と同様であるが、図16のようにはまだ範囲が細かく分かれていない。図19では、レイアウト可能範囲はレイアウト全体40として示され、コンテンツレイアウト範囲はレイアウト範囲140として斜線で示されている。
【0255】
レイアウト可能範囲とコンテンツレイアウト範囲との差の範囲とは、ここではレイアウト全体40からレイアウト範囲140を除いた部分であり、レイアウト範囲140の周囲の白い部分である。
【0256】
図19では既にその白い部分が、範囲101、113、114、126、127、136、141、142に分割されているが、この範囲101、113、114、126、127、136、141、142を求めるには、まずレイアウト範囲140の上下左右の端の線を延ばして、レイアウト全体40を分割する。図19では分割線を点線で示してある。
【0257】
上下左右の余白YT、YB、XL、XRが0で無ければ、レイアウト全体40は全部で9個の範囲に分かれる。その中からレイアウト範囲140と同じ範囲を除いた残りが(余白)範囲101、113、114、126、127、136、141、142となる。
【0258】
各範囲101…の位置と大きさの値は、レイアウト全体40の大きさとレイアウト範囲140の位置、大きさとを使って求めることができる。例えば、範囲101の大きさは、
(W(101)、H(101))=(X(140)、Y(140))
=(XL、YT)、
となり、範囲142の位置は、
(X(142)、Y(142))=(X(140)+W(140)、Y(140))
=(XL+CW、YT)、
となる。
【0259】
同様にして各範囲101…の位置と大きさなどを求めたデータが図20である。図20に示す各項目は図17と同じである。隣接余白配列は、この時点では求める必要はないのだが、念のため記しておく。隣接余白配列の求め方は後で説明する。なお、ここでは上下左右の余白YT、YB、XL、XRの値は全て20、行と行間の高さは全て14としてある。
【0260】
例えば、範囲101は、原点に位置し、大きさは20×20である。範囲113、114、126、127、136、141、142も同様の形で記録されている。
【0261】
S6−4−1−1での処理と説明の為、レイアウト全体40とレイアウト範囲140に関するデータも図20に示してある。レイアウト全体40は、原点に位置し、大きさ140×194であり、そこから上下左右に20の余白を取ったレイアウト範囲140は、(20,20)に位置し、その大きさは100×154である。
【0262】
S6−4−1−2では、コンテンツ余白特定手段69がS6−4−1−1で得た図20の範囲101、113、114、126、127、136、141、142の種類を設定して、S6−4−1−3へ処理を進める。範囲101、113、114、126、127、136、141、142は、レイアウト範囲140の周囲の範囲なので、「Bd」の値を全て持つ。
【0263】
S6−4−1−3では、コンテンツ余白特定手段69が、レイアウト範囲140と図19、図20の範囲101、113、114、126、127、136、141、142を、図16の行80〜85の各外枠の延長線で分割し、行80〜85の範囲を除き、新たな範囲102〜112、115〜125を生成し、各範囲102〜112、115〜125のX、Y、W、H、隣接余白配列を設定し、S6−4−1−4へ処理を進める。
【0264】
レイアウト全体40を分割して、行80〜85の範囲を除いた範囲が、図16の(余白)範囲101〜136である。図19同様、分割線は点線で示してある。例えば、図19の範囲141は、行80〜85の外枠線で分割されて、範囲102〜112に分割されている。範囲127、142、136も同様に分割されている。
【0265】
また、レイアウト範囲140を分割して行80〜85の範囲を除いた範囲は、範囲128〜135である。行80〜82、84、85は同じ幅であるが、行83は短いので、範囲130〜134は細かく分割されている。
【0266】
各余白範囲の位置と大きさの値は、行80〜85の位置と大きさ(図3)と図20のデータなどを使って求めることができる。
【0267】
例えば、範囲103の位置と大きさは、範囲103を分割に寄与した行80、81を「上行」、「下行」と表現すれば、
(X(103)、Y(103))=(0、Y(上行)+H(上行))
=(0、Y(80)+H(80))
(W(103)、H(103))=(W(141)、Y(下行)−Y(103))
=(W(141)、Y(81)−Y(80)−
H(80))
となる。
【0268】
また、範囲132の位置と大きさは、行83を「同行」と表現すれば、
(X(132)、Y(132))=(X(同行)+W(同行)、Y(同行))
=(X(83)+W(83)、Y(83))
(W(132)、H(132))=(W(140)−W(同行)、H(同行))
=(W(140)−W(83)、H(83))
となる。
【0269】
同様にして求めたデータが、図17の101〜136の位置と大きさとなる。
【0270】
S6−4−1−4では、コンテンツ余白特定手段69が範囲101〜136の種類を設定して、S6−4−1−5へ処理を進める。
【0271】
範囲141、142は分割されて、範囲102〜112、115〜125になっているが、レイアウト範囲140の周囲の余白であるという状態は変わらないので、範囲141,142の種類「Bd」はそのまま引き継ぎ、必要に応じて種類を追加する。
【0272】
レイアウト全体40にどこかで接している場合、Lt(左端)、Tp(上端)、Rt(右端)、Bm(下端)などの値を持つことになる。判定条件は、
Ltの場合:X(範囲)=0
Tpの場合:Y(範囲)=0
Rtの場合:X(範囲)+W(範囲)=W(40)
Bmの場合:Y(範囲)+H(範囲)=H(40)
の各式を満たすかどうかで決まる。
【0273】
範囲101〜126、127、136は、レイアウト全体40にどこかで接しているので、Lt、Rt、Tp、Bmのうち少なくとも一つの値は持つことになる。例えば、範囲101は、レイアウト全体40の左端と上端とに接しているので、種類が「Lt、Tp、Bd」となっている。
【0274】
範囲102、104、106、108、110、112、115、117、119、121、123、125、132には、種類「OL」(行の延長上)が追加される。これはY座標で考えて、各範囲に、行80〜85が含まれるかどうかを比較すれば良い。式で表すならば、
Y(行)+H(行)<Y(余白範囲)
あるいは、
Y(余白範囲)+H(余白範囲)<Y(行)
のどちらかを満たすならば「OL」でなく、それ以外は「OL」となる。
【0275】
図の例で言えば、範囲102は行80の左横に位置するので、「OL」となり、範囲103は、行80と行81の間に位置し、行80、81とY座標に関して重なる範囲がないので、「OL」ではない。
【0276】
レイアウト範囲140を分割して生成した範囲128〜135の中で、
Y(行)+H(行)<=Y(余白範囲)
かつ、
Y(余白範囲)+H(余白範囲)<=Y(次行)
を満たすものは、行間「BL」の値を持つ。従って、範囲132以外は「BL」の値を持つことになる。
【0277】
S6−4−1−5では、コンテンツ余白特定手段69が範囲101〜136の隣接余白配列を設定して、P31へ処理が抜ける。
【0278】
隣接余白配列を設定する場合、分割手順を使って、どの余白は隣接になりうるかの候補を絞ったり、あるいは分割する度に相互に隣接しているという情報を加えていっても良いのだが、ここでは単純に全ての範囲と相互に比較する方法で説明する。
【0279】
範囲Aと範囲Bは、
(Aの右にBが隣接):X(A)+W(A)=X(B)
(Aの下にBが隣接):Y(A)+H(A)=Y(B)
(Aの左にBが隣接):X(B)+W(B)=X(A)
(Aの上にBが隣接):Y(B)+H(B)=Y(A)
のいずれかの条件を満たせば、互いに隣接していることになる。
【0280】
この条件検索処理を全ての余白範囲同士に関して、行えば良い。行範囲80〜85と余白範囲101〜136の間でも同様の処理方法を使うことで、行範囲に隣接する余白範囲の配列を図3のように求めることができる。
【0281】
以上のS6−4−1−1〜S6−4−1−5の処理により、図15のS6−4−1の処理を行うことができ、図16、図17の余白範囲を特定できることになる。
【0282】
図21は、図15のS6−4−5の処理の一詳細例を説明するフローチャート図である。
【0283】
P32を経たS6−4−5−1では、メモデータレイアウト取得手段66が、S6−4−2で同手段66が得た参照部分の属する行(以降、参照行と呼ぶ)に隣接する、種類がBLの余白範囲を得る。
【0284】
行に隣接する余白範囲は、図3のデータの隣接余白配列から得られるので、この隣接余白配列の中から、BL(行間)の種類の余白範囲を抜き出せば良い。
【0285】
着目した行の上下に隣接する行間が存在する場合や、行間が横方向に分かれている場合(図16に示す範囲130,131など)もあるので、得られる余白範囲は配列の形態を取る。例えば、図16の参照部分100の場合、隣接する余白範囲は、参照部分100が属する行81に対して上の範囲128と下の範囲129となる。
【0286】
なお、この時点で例えば上の行間と下の行間のどちらかに絞る/優先度をつける処理をしても良い。どちらにするかは、図13のメモデータリストの「メモデータを表示する方法についての情報」において「上の行間」、または「下の行間」という指定を行うようにすれば良い。これにより、メモデータレイアウト取得手段66が、図13の関連付け情報を記憶した外部記憶75等にアクセスし、指定された行間の情報を取得することができる。指定がなければ、どちらかに予め決めるルーチンを設定しておいても良い。
【0287】
S6−4−5−2では、メモデータレイアウト取得手段66が、S6−4−5−1で余白範囲が得られたかどうかを判断し、余白範囲が得られた場合はS6−4−5−3へ処理が進み、得られない場合はP34へ処理が抜ける。
【0288】
S6−4−5−3では、メモデータレイアウト取得手段66が、S6−4−5−1で得られた余白範囲を拡張して、S6−4−5−4へ処理が進む。この拡張は必ずしも行わなくても良いが、後で説明する図37のように、S6−4−5−1で得られた余白範囲だけではメモを配置するのに足りない場合に、周囲の余白にまで、メモのテキストをレイアウトする場合を想定している。
【0289】
但し、拡張する際も拡張の方針は決めておかないと、際限なく拡張が行われてしまう。例えば、最初の行間の余白に関しては、横に隣接する余白範囲に拡張しても良い、という方針の場合、図16の範囲129の行間から左右の範囲105、118には拡張できることになる。あるいは、右方向と下方向に隣接する余白範囲は全て拡張して良いとすると、範囲130から拡張する場合、範囲131〜134、120〜126が拡張できることになる。横行の場合、右方向および下方向は自然な拡張方向なので、馴染みやすいという利点がある。隣接を調べる方法は、S6−4−1−5で既に説明したとおりである。
【0290】
S6−4−5−4で、メモデータレイアウト取得手段66が、S6−4−5−3で得られた余白範囲にメモデータをレイアウトできるかどうかを判定し、レイアウトできる場合はP33へ処理が抜け、できない場合はP34へ処理が抜ける。
【0291】
レイアウトできるかどうかは、同手段66が通常のレイアウト処理を試してみることで判断できる。例えば、図12のFREEHANDやIMAGEのメモデータの場合、大きさは固定なので、その大きさを、特定した余白範囲の大きさと比較すれば良い。
【0292】
TEXTのメモデータの場合、1文字1文字をレイアウトしていくことになるので、図14のS6−3でコンテンツデータのレイアウトについて説明した処理と同様の処理を行えばよい。この時、余白範囲の高さが文字の高さより低い場合は、行のレイアウトとメモのレイアウトとが重ならないように、メモをレイアウトすることはできないことになる。レイアウトの方針として、コンテンツのレイアウトとメモのレイアウトとの重なりが全く無いことを定めている場合は、この時点でメモのレイアウトが不可能と判断することになる。
【0293】
レイアウトの方針として、コンテンツのレイアウトとメモのレイアウトの重なりが所定の面積あるいは所定の割合以下の時は、レイアウト可能とすることを定めている場合、メモの1文字をレイアウトする度、重なり部分の面積や割合を計算して、所定の面積あるいは所定の割合以下かどうかを、上記手段66が判断すればよい。
【0294】
行レイアウトとメモの文字レイアウト(表示対象要素)の重なりは、S6−4−5−3で得た全ての余白範囲に対して、文字レイアウトの範囲と重なる部分を除いて、残った範囲として求められる。
【0295】
重なる部分を除くとは、例えば、
Y(余白)<Y(文字)<Y(余白)+H(余白)<Y(文字)+H(文字)
などという場合、文字の上側部分、すなわちY(文字)からY(余白)+H(余白)の範囲、が余白と重なっている。従って、重なっている文字の上側部分を除いた文字の下側部分は、Y(余白)+H(余白)からY(文字)+H(文字)の範囲となるので、文字の下側部分の位置Y’(文字残り)と高さH’(文字残り)は、
Y’(文字残り)=Y(余白)+H(余白)
H’(文字残り)=Y(文字)+H(文字)−Y’(文字)、
となる。X方向についても同様に、X’(文字残り)、W’(文字残り)が求められる。
【0296】
この部分は、余白範囲から外れているので、行と重なっている。つまり、もしこの状態でメモを表示させたら、メモと本文行が重なって見えてしまう。この時、メモと本文行の重なり部分の面積SO(文字重なり)は、
SO(文字重なり)=H’(文字残り)×W(文字)+H(文字)×W’(文字残り)−H’(文字残り)×W’(文字残り)、
となる。
【0297】
これを全ての文字について足し合わせれば、重なった部分の面積SO(全文字重なり)が求められる(なお、重なった部分が上下2つの余白範囲に分かれる場合は、重なった部分を範囲の配列として個別に重なった部分などを管理し、面積などの計算ではそれらを足し合わせばよい)。
【0298】
一方、レイアウトされた1文字の面積SL(文字)は、
SL(文字)=W(文字)×H(文字)、
であり、これを全ての文字について足し合わせれば、メモのレイアウト部分の面積SL(全文字)が求められる。
【0299】
重なりが所定の面積以下かどうかを判断するならば、SO(全文字重なり)が所定の面積を超えた時点で、メモをレイアウトできないと判断し、最後の文字までレイアウトしても、SO(全文字重なり)が所定の面積を超えなければメモのレイアウトが可能と判断する。
【0300】
重なりの面積が所定の割合以下かどうかを判断するなら、(SO(全文字重なり)/SL(全文字))が、所定の割合を超えたらメモをレイアウトできないと判断し、超えない場合はメモのレイアウトが可能と判断する。なお、割合の場合、判断を1文字ずつ逐次的に行う場合と、最後の文字までレイアウトして最終的に割合を比較する場合とが考えられる。
【0301】
なお、余白範囲が範囲105、129、118などのように横一列に並んでいる場合は、余白範囲の高さとメモの文字の高さとに基づいて、各文字がコンテンツのレイアウトと重なりあう面積や割合は求まるので、上記手段66の判断処理を簡易化することもできる。
【0302】
また、メモの文字サイズが一定の場合、メモの文字の高さから余白範囲の高さを引き算した正の値(重なり高さ)が、行の高さに対してどのくらいの割合になるかを求め、この割合が所定値以下になることを、メモのレイアウトを許可する条件としてもよい。
【0303】
なお、メモデータと本文データのレイアウトが所定の割合や面積以下ならば重なってもよいと判断した場合、表示結果はメモデータと本文データのレイアウトが一部重なってしまうが、この状態を「上書き表示」と呼ぶことにする。
【0304】
以上のS6−4−5−1〜S6−4−5−4の処理によって、図15のS6−4−5を処理することができる。
【0305】
図22は、図15のS6−4−7の処理の一詳細例を説明するフローチャート図である。
【0306】
図21とほぼ同様の処理で、S6−4−7−1だけ異なる。
【0307】
P34を経たS6−4−7−1では、メモデータレイアウト取得手段66が、S6−4−1で参照部分が属する行に隣接する、種類がBdの余白範囲を得る。
【0308】
行に隣接する余白範囲は、図3のデータの隣接余白配列から得られるので、この隣接余白配列の中から、種類がBd(周囲)の余白範囲を抜き出せば良い。該当する余白範囲が、行の上下左右に存在する場合もあるので、得られる余白範囲は配列の形態を取る。例えば、図16の参照部分100の場合、隣接する種類がBdの余白範囲は左の範囲104と右の範囲117となる。
【0309】
なお、この時点で例えば左の範囲と右の範囲のどちらかに絞る/優先度をつける処理を行っても良い。どちらにするかは、図13のメモデータリストの「メモデータを表示する方法についての情報」において上下左右のどちらの方向に絞るか/優先するかの指定を行うようにしても良い。指定がなければ、いずれかに予め決めるルーチンを設定しておいても良い。あるいは、参照部分から一番距離的に近い余白範囲を選ぶ、あるいは一番幅が大きい(XL、XR、YT、YBの間で一番大きい)余白範囲を選ぶ、という方法もある。
【0310】
例えば距離で選ぶ場合、図16では、参照部分100が行範囲81の中で少し右よりなので、範囲104より近い範囲117の方を選ぶということになる。
【0311】
以上の処理によって、図15のS6−4−7を処理することができる。
【0312】
図23は、図15のS6−4−9の処理の一詳細例を説明するフローチャート図である。
【0313】
P36を経たS6−4−9−1では、メモデータレイアウト取得手段66が、「余白範囲最大矩形リスト」を得て、P37を経てS6−4−9−2へ処理が進む。
【0314】
「余白範囲最大矩形」とは、ある余白範囲に隣接する余白範囲を、矩形となるような状態で統合して余白範囲を拡張していき、もう拡張しきれない状態の余白範囲の集まりを言う。例えば、図16の範囲131を拡張していくと、範囲131、132、134、120〜122の6つの範囲を統合した矩形が得られる。また、範囲130を拡張していくと、範囲107、130、131、120を統合した横長の矩形が得られる。「余白範囲最大矩形リスト」とは、このようにして定められた余白範囲最大矩形が複数集まったものである。
【0315】
S6−4−9−1の処理の詳細は後で説明する。
【0316】
S6−4−9−2では、メモデータレイアウト取得手段66が、S6−4−9−1で得られた余白範囲最大矩形リスト中の余白範囲最大矩形から、メモをレイアウト可能な余白範囲最大矩形を抽出して、S6−4−9−3へ処理が進む。レイアウト可能かどうかは、S6−4−5−4と同様の判断方法によればよい。抽出の結果、該当する余白範囲最大矩形は無い場合もあるし、複数の場合もある。
【0317】
なお、S6−4−11での処理用に、該当する余白範囲最大矩形が無い場合でも、最も重なり(面積、割合など)が少ない余白範囲最大矩形は、一つ保持しておく。
【0318】
S6−4−9−3では、上記手段66が、S6−4−9−2で得たメモが入りきる余白範囲最大矩形があるかどうか判断し、あればS6−4−9−4へ処理が進み、なければP39へ処理が抜ける。
【0319】
S6−4−9−4では、上記手段66が、S6−4−9−2で得たメモが入りきる余白範囲最大矩形の内、参照部分に最も距離的に近いものを選び、P38へ処理が抜ける。
【0320】
以上の処理によって、図15のS6−4−9を処理することができる。
【0321】
図24は、図23のS6−4−9−1の処理の一詳細例を説明するフローチャート図である。
【0322】
P36を経たS6−4−9−1−1では、メモデータレイアウト取得手段66が、図17の隣接余白配列を下記のループリストに設定し、ループリストの最初の余白範囲をカレント余白矩形に設定し、S6−4−9−1−2へ処理が進む。
【0323】
「ループリスト」とは、S6−4−9−1−2からS6−4−9−1−8の処理ループを回していく際に、カレント余白矩形を作成するもととなる余白矩形のリストである。この時点では、ループリストに個々の余白範囲が入っているだけだが、S6−4−9−1−5で新たな余白範囲が追加されることもある。
【0324】
「余白矩形」とは、余白範囲の一つ以上の集まりからなるもので、隣接していて、全体として矩形の形状になっているものである。
【0325】
「カレント余白矩形」とは、現在ループ処理中の余白矩形のことである。
【0326】
S6−4−9−1−2では、同手段66が、カレント余白矩形が存在するかどうか判断し、存在すればS6−4−9−1−3へ処理が進み、存在しなければP37へ処理が抜ける。
【0327】
S6−4−9−1−3では、同手段66がカレント余白矩形をワークリストに設定して、S6−4−9−1−4へ処理が進む。
【0328】
「ワークリスト」は、S6−4−9−1−4からS6−4−9−1−6のループを処理する際に使われるカレント余白矩形である。
【0329】
S6−4−9−1−4では、同手段66がワークリスト中の4隅の余白範囲を取得して、S6−4−9−1−5へ処理が進む。4隅とはカレント余白矩形の4隅であり、ワークリスト中の余白範囲が2行2列未満の場合は、一部、重複することになる。
【0330】
例えば、ワークリストが図16に示す範囲131〜134、120〜122ならば、4隅の余白範囲は範囲131、134、120、122となる。ワークリストが範囲131、132ならば、4隅の余白範囲は範囲131、132となる。ワークリストが範囲131だけならば、4隅の余白範囲は範囲131となる。
【0331】
S6−4−9−1−5では、同手段66が4隅の余白範囲を、矩形形状を保ったまま拡張する。
【0332】
図25は拡張の仕方を説明する説明図である。斜線を引いた6つの余白範囲がワークリストだとし、右上の範囲150を拡張する場合を考える。上に拡張する場合は、範囲151だけを拡張しただけでは、右上に飛び出た形状になってしまい、矩形にならない。そこで、範囲151から左方向に余白範囲を調べにいき、左上隅の範囲156の上の範囲153まで全て、すなわち範囲151、152、153全てを一度に拡張する。例えば、範囲152が行範囲などである場合、余白範囲のワークリストとして拡張はできないので、範囲150から上へは拡張できないことが分かる。
【0333】
範囲150から右に拡張する場合も同様で、範囲154から下方向に余白範囲を調べにいき、右下隅の範囲157の右の範囲155まで全て、すなわち範囲154、155全てを一度に拡張する。
【0334】
他の隅に関しても、余白範囲を調べる方向を変えることで同様の拡張方法を実行することとなる。但し、範囲156から上に拡張する場合、範囲150から上に拡張する場合と同じになるので、実際は4隅全て拡張できるか調べる必要はなく、対角となる2隅を調べれば十分である。図25で言えば、範囲150と範囲158の組、あるいは範囲156と範囲157の組のいずれかが、対角となる2隅として選択される。
【0335】
4隅から拡張が可能となる場合は、結局、上下左右に4通り考えられるが、それぞれ拡張した結果は異なる余白範囲となるので、ここで処理を分岐させる必要がある。なお、以下、拡張して得られた新たな余白範囲を余白矩形と呼ぶ。
【0336】
ここでは簡易的に、ワークリストに登録する拡張した余白矩形は一つとし、残りの最大3通りの拡張した余白矩形は次回以降に処理されるように、ループリストに登録しておく。
【0337】
例えば図25では、範囲150から上と右に拡張可能だった場合、範囲151、153、158、157を4隅とする余白矩形をワークリストに登録し、範囲154、156、158、156を4隅とする余白矩形はループリストに登録することとなる。
【0338】
S6−4−9−1−6では、同手段66がS6−4−9−1−5で拡張が行われたかどうか判定し、拡張が何も行われなかった場合は、S6−4−9−1−7へ処理が進み、拡張が行われた場合はS6−4−9−1−4へ処理が戻る。
【0339】
S6−4−9−1−7では、同手段66がワークリストを余白範囲最大矩形リストに追加して、S6−4−9−1−8へ処理が進む。
【0340】
S6−4−9−1−8では、同手段66がカレント余白矩形をループリスト中の次の余白矩形に設定して、S6−4−9−1−2へ処理が戻る。
【0341】
以上の処理によって、図23のS6−4−9−1を処理することができる。
【0342】
ここまでの説明で主にコンテンツデータとメモデータのレイアウトを作成する方法について述べたので、以降では、その表示の仕方について具体例を使って説明する。
【0343】
図10は、参照部分がコンテンツデータの「文書」の部分、それに関連付けられたメモデータが「ドキュメント」というテキストデータとなっている状態で関連付け表示を行った例である。図10では、参照部分とメモとの関連付けを下線を使って表し、メモを行間にレイアウトしているが、表示の仕方については後で説明するとし、本文のレイアウトが変わった際の表示の変化について説明する。
【0344】
図26は、コンテンツデータとしてのテキストの文字の大きさを倍にして、図10に示すメモデータと関連付けて表示した例である。既に説明した処理によって、文字の大きさを倍にしたコンテンツデータをコンテンツレイアウト範囲内に再レイアウトした結果、「文書」の部分のレイアウト位置が、図10のレイアウト位置よりも右下に変更されている。これに対し、既に説明した処理によってメモレイアウトが再作成された結果、「文書」に関連付けられた「ドキュメント」のメモデータは、参照部分「文書」のレイアウト位置変更に追従して、メモの文字が参照部分に重ならないように、下線と共にレイアウト位置が変更されている。
【0345】
図27は、本発明の技術を使わず、メモデータの表示位置だけを単に記録していた場合の処理例である。図10の状態で適正な表示となるように下線と「ドキュメント」というメモが入力されていたとする。この状態の下線とメモの表示位置を記録していて、図26同様、コンテンツデータのテキストの文字の大きさを倍にして再表示した状態が図27である。
【0346】
図10の下線やメモの表示位置だけを記録しているので、図10と同じ位置に下線やメモの内容を表示させると、コンテンツデータ本文の表示と重なってしまうという不具合が生じている。また、下線の位置も参照部分に対してずれてしまっているので、コンテンツとメモとの関連付けが誤って解釈されてしまうかもしれないという不具合も生じている。
【0347】
図26と図27を比較したら分かるように、本発明の技術を使い、参照部分とメモデータを関連付け、コンテンツデータのレイアウト後に、参照部分のレイアウトに対応してメモデータのレイアウトを行うことで、コンテンツデータのレイアウト位置の変更に追従して、見易く、解釈間違いのないメモデータの表示を行うことができる効果が出てくる。
【0348】
図14のS6−7での参照部分、メモデータ、関連付けなどの表示の仕方は様々な方法が考えられる。
【0349】
まず、参照部分の表示の仕方であるが、これは紙の本で人が文章などをマークする場合に行う方法はほとんどそのまま適用できる。その場合、ユーザにとってなじみ易く、説明も不要であるという効果が出てくる。
【0350】
例えば、図10は関連付けを下線で示した例である。縦行ならば行の右側あるいは左側の傍線となる。図13の参照データから、図2のような表示対象要素のデータ中の参照部分となるべき表示対象要素を特定できるので、特定された表示対象要素の位置や大きさのデータから下線を引くべき位置が求められる。
【0351】
なお、文字や直線、曲線などの表示は、グラフィカルデバイスを扱えるOS(Operating System)ならば、API(Applications Programming Interface)やライブラリなどで命令として用意されているのが一般的なので、それらの命令を組み合わせることで、複雑な形状の表示なども行うことができる。そこで、ここでは詳細には説明せず、命令を作成する為に必要な表示位置などの情報の取得方法などを説明するにとどめる。
【0352】
下線は紙の本などでも最も一般的な表示方式である。直線でなく、点線や波線にしたり、太さ、色を変えたりというようなバリエーションも色々考えられる。また、線の太さを行と同じくらいの太さにして行に重ねるようにすれば、蛍光ペンでマークを入れたのと同じようになる。色も下の文字が透けるように透明度を持たせた半透明にするとさらに蛍光ペンのマークのようになり、下の文字を隠さない効果や目立たせる効果が出てくる。
【0353】
また、直線などの規則的な線分ではなく、不規則に乱れた線分にして、手書きの線分のように見せると目立ち易いという効果も得られる。線に関するこれらの工夫は関連情報の表示全てに当てはまるので、以降では説明は省く。
【0354】
下線などを使う場合、参照部分が短い時は良いが、長くなって何行にも渡るようになると、線分が多くなり、邪魔になってくる欠点がある。
【0355】
図28は、参照部分を線分で囲んだ例である。囲み方も色々考えられ、矩形や多角形で囲んだり、図28のように矩形の角を丸めた形や楕円に近いような形も考えられる。囲む範囲の位置と大きさは、参照部分のレイアウトデータから得られる。
【0356】
図29は参照部分が複数の行に渡った場合に、参照部分全体を線分で囲んだ例である。この方式は、参照部分が長くなっても、図10のような下線を用いる方法に比べて線分がそれほど増えない利点がある。図3の行データの表示対象要素配列と、参照部分のデータとを比較すれば、参照部分の属する行を特定できるので、その結果、参照部分が複数の行に渡っているかどうかが判断できる。
【0357】
1つのメモに対して参照部分が複数有る場合は、メモデータを行間にレイアウトするよりは、図29のように周囲の余白部分にレイアウトした方が、一般に見易い。
【0358】
なお、参照部分が複数の行に渡っている場合、個々の行内で参照部分を矩形などで囲ってもよいし、図29のようにそれらを統合した多角形としてもよい。統合するには、例えば、矩形の高さを矩形の上端、下端が行間の真中にくるような高さにし、各行の参照部分に矩形の上端、下端が重ならないようにする、などという方法が考えられる。
【0359】
また、参照部分の囲み部分の表示方法として、内部を半透明色で塗りつぶしたり、斜線や網点などの模様を上書きするという方法も考えられる。参照部分を強調したい時などには有効である。
【0360】
図30は、参照部分を線分では囲まず、行左右の余白部分での線分で参照部分を示した例である。参照部分を線分で枠線として囲むよりは線分が少ない分、視覚的に邪魔にならない効果がある。
【0361】
以上の例は主に参照部分の特定の仕方に関するものだが、表示の仕方によっては、別の意味を持たせる効果が出てくることがある。
【0362】
図31は、打ち消し線を参照部分に上書きしたものである。打ち消しを示唆する表示をすることで、関連付け表示に打ち消しという意味を与えることができる効果がある。また、打ち消し線は、誤った内容を削除したい時に紙の文書で行われる手法であり、ユーザに取ってなじみ易く、説明も不要という効果も出てくる。また、打消し線に加えてメモデータを参照部分付近に表示させることで、そのメモデータに書き換えたことを示唆する効果が出てくる。打ち消し線の位置は、下線の時と同様、参照部分のレイアウト範囲の情報から算出できる。
【0363】
図32と図33は、コンテンツの文章にメモを挿入する例である。図32が割り込み、図33が吹き出しを使ってメモおよび関連付けを表示した例である。割り込みの表示位置は、どの文字(表示対象要素)とどの文字の間にメモを割り込ませれば良いかが参照データとして示されている(参照データでの具体的な表現の仕方は後で説明する)。割り込みの表示位置の両側に位置する文字のレイアウト位置は求めることができるので、割り込み位置も求めることができる。吹き出しの大きさは、メモのレイアウトデータから外接矩形や外接楕円などを算出することによって決める。
【0364】
挿入を示唆する表示をすることで、関連付け表示に挿入という意味を与えることができる効果がある。これは、行内で並んでいる表示対象要素間に、吹き出しや割り込みの記号などを用いて書き込みを挿入したい時に紙の文書で行われる手法であり、これもユーザに取ってなじみ易く、説明も不要という効果も出てくる。
【0365】
なお、挿入の場合、参照部分は表示対象要素ではなく、複数の表示対象要素の間なので、「参照データを特定する情報」の扱いを工夫する必要がある。例えば表示対象要素の先頭からの数を使う場合、11文字目と12文字目の間に挿入したいときは、図13にデータ35として示すように、その中間の値を取って「12.5」番目とするとか、挿入であることが識別できるように負の値にして「−13」番目とする方法や挿入を示すフラグ情報の追加などが考えられる。同様に、先頭からのバイト数の場合、15バイト目の文字と17バイト目の文字の間なら、「16」バイト目や「−17」バイト目とする方法などが考えられる。
【0366】
参照部分として、表示対象要素単位だけでなく、表示対象要素内部の位置まで指定したい場合、内部の座標位置をさらに使うということも可能である。例えば地図画像の中のある場所を指し示したい時などである。図34はこの例を示しているが、この場合、例えば地図画像の表示対象要素が5番目だとして、その地図画像の中の(50,50)の座標値の位置を参照部分としたい場合、「参照データを特定する情報」を例えば、「5:(50,50)」などという書式で表すようにすれば良い。表示する際は、「:」がある場合は続く文字列を座標値と解釈して、参照部分を指し示すような表示を行えば良い。
【0367】
また、メモデータの表示の仕方によっては、参照部分は容易に推測できるので、特に参照部分を示すことはしないという場合も考えられる。図35はこれを示す例であり、参照部分の漢字「文書」にメモデータとして上ルビ「ぶんしょ」を振るケースである。この場合、メモデータを参照部分のごく近く、できれば行間に表示させる方が関連を推測し易くて良い。
【0368】
メモデータの表示の仕方も色々考えられる。
【0369】
メモデータの内容自体は、レイアウト可能範囲が決まれば、通常はレイアウト可能範囲の中で文字や手書きメモなどをレイアウトするだけだが、場合によっては、文字の大きさや色を変えたり、表示レイアウト範囲に収まるように文字や全体の大きさを変えたりということもあるかもしれない。なお、文字の大きさや色などの属性情報は、メモデータに記録されていて、それに従って文字などは表示されるとする。それらの属性情報は、図9のメモデータ設定ダイアログなどでユーザが指定、修正すればよい。
【0370】
メモデータの内容表示の周囲や背景、位置にはいろいろバリエーションが考えられる。以降では、S6−4でメモデータのレイアウト範囲を決める例についても同時に説明する。
【0371】
図36はS6−4での処理と異なり、コンテンツデータがレイアウトされている範囲を考慮せずにコンテンツに上書き表示している例である。参照部分の近くではあるが、コンテンツデータとメモデータが重なってしまい、非常に見にくい。
【0372】
このような場合には、図28に示すように、S6−4での処理の結果、コンテンツデータがレイアウトされている範囲を避けるように余白部分にメモを表示することが好ましい。参照部分「文書」からメモデータ「ドキュメント」は少し離れてしまっているが、コンテンツデータとメモデータが重ならず、図36よりは見やすい。
【0373】
図10は参照部分の下の行間に表示させた例である。メモの量が行間に表示できる程度の量であるならば、参照部分を含む行の下あるいは上(縦書きの場合は左か右)にメモを表示させるのがコンテンツに重ならない範囲では最も参照部分に近い。図35のルビや、図32の挿入、図31の修正の例も同様の例と言える。
【0374】
図37は、行間に入りきらないような長いメモデータを、行間と周囲の余白部分との両方に表示した例であり、図28と図10とを組み合わせた状態である。S6−4の説明では行間か左右の余白かどちらかとなっていたが、このように両者を結合して扱うことも可能である。メモデータが多い場合などには有効である。
【0375】
なお、図37の場合、メモレイアウト範囲は矩形ではなく、行間と左右の余白が結合された多角形となる。これは、図21などのS6−4−5−3の処理により、行間から周囲の余白にまで、メモデータをレイアウトする余白範囲を拡張したことによる。横行の場合、右方向および下方向は余白範囲の拡張方向として自然なので、馴染みやすいという利点がある。
【0376】
図30では、大きな参照部分をまとめて指示する括弧のような曲線の横にメモデータを表示している。参照部分の近くというより、正確には参照部分を示す関連情報表示の近くであるが、参照部分と参照部分を示す関連情報表示は一体と考えれば、これも参照部分の近くに表示している例に含まれると言える。
【0377】
図38は、コンテンツレイアウト範囲の中でコンテンツデータが配置されていない余白範囲にメモデータを表示した例である。メモがレイアウトできる周囲や行間の余白がうまく発見できなかった場合などに、離れた余白が使われる。そのための処理は、図15のS6−4−10における処理に対応している。コンテンツデータとメモデータの重なりが少ないので、メモと参照部分とが多少離れても、関連付けを矢印などでうまく表示することで、見やすくなる効果が出てくる。
【0378】
次にメモデータの周囲や背景を強調する表示についてだが、短いメモデータならば、そのような強調は特に必要ない場合が多い。ある程度長くなったり、参照部分から離れている時、上書き表示している時などに特に有効である。(なお、「上書き表示」とは、S6−4−5で説明したように、メモレイアウトと本文データレイアウトが重なった状態をいう)。
【0379】
図33はメモデータの表示の周囲を吹き出し線で囲って、メモを強調している例である。メモが他のメモと近接している時などに、参照部分がどちらのメモと関連付けられているのかを判断しやすくなる効果がある。
【0380】
さらに、参照部分の表示とメモデータの表示の間を結ぶ関連付けの表示に関しても、いつくか種類はある。
【0381】
一番シンプルなのは、図10のように参照部分の表示(下線)とメモデータの表示以外は何も書かない場合である。
【0382】
図28は、参照部分とメモデータとを引き出し線で結んでいる。このような引き出し線は、図13の関連付けデータにおけるデータ15、27などによって指定される。引き出し線を使うことで、メモデータを参照部分から多少離れた場所に配置する時でも、対応関係がわかり易いという効果がある。メモデータがコンテンツ上に重なると、例えば文字と文字が重なるので、非常に見にくくなるが、一般に1本の引き出し線程度ならば、コンテンツデータの上に重なってもそれほど見にくくはならない。
【0383】
また、図28のように引き出し線に矢印をつけると、方向性を示せるので対応関係がより分かりやすくなり、また、時間や論理展開の順序の意味など、他の意味を加えることができる効果も出てくる。
【0384】
これまでは主に参照部分とメモデータが1対1の場合について説明してきたが、図13のメモデータリストや参照データリストを見ると分かるように、複数のメモデータや参照データとの関係を扱うこともできる。
【0385】
図38は、複数の参照部分と一つのメモデータとを関連付けて表示した例である。この場合、図13のデータ20のように、メモデータリストには1つのメモデータが入り、参照データリストに2つの参照データが入っている。同じ内容のメモデータならば、別々に表示させるよりも引き出し線などを利用してまとめて表示させた方が、無駄な表示をしなくて済むのでコンテンツの表示が多くできる点や、参照部分が同じメモに関連付けられていることをユーザに視覚的に知らせることができる利点が出てくる。
【0386】
図39は、逆に、一つの参照部分に複数のメモデータを関連付け表示させた例である。一つの参照部分に対して、複数の異なるコメントをつけたい場合などに有効である。この場合、図13のデータ30のように、メモデータリストには2つのメモデータが入り、参照データリストに1つの参照データが入っている。
【0387】
これによって、一つの参照部分に対して、異なる内容のメモを関連付けることができる効果があると同時に、ある参照部分が複数のメモデータを持っていることが視覚的に一目でわかるという効果も出てくる。一つのメモにまとめるより複数のメモにした方が別の内容であることが視覚的に分かり易くなるという効果もある。
【0388】
以上の様に、関連付け表示、メモデータ表示には非常に多くのバリエーションがあるので、目的や効果、レイアウトの状態などを見極めて、適したものを選ぶようにすると良い。全てのメモについて同じ設定にしたり、メモ毎に、またはメモの種類毎に変更するようにしたり、メモデータや関連付けデータ毎にユーザに尋ねたり(例えば、メモ作成時にユーザに指定してもらう)、メモデータの種類や量、参照部分の種類や量に応じて、表示の仕方を自動的に設定する、などが考えられる。
【0389】
なお、メモデータの表示と関連付け情報の表示の順番は、互いの表示が重なるのでなければほとんどの場合、どちらが先でも良い。
【0390】
また、ここではコンテンツデータのレイアウトを行った後にメモデータのレイアウトを決めているが、両者のレイアウト処理を逐次的に行うことも可能である。
【0391】
以上説明したような処理で、コンテンツデータのレイアウトに重ならない、あるいは重なりが所定割合以下あるいは所定面積以下になるようなメモデータのレイアウトを得ることができるので、結果的に、参照部分以外の部分も含めた文書の表示とメモの表示ができるだけ重ならずに同時に視認できるようになる効果が出てくる。
【0392】
また、メモデータをレイアウトする範囲として、コンテンツデータのレイアウトの周囲の余白にすることで、コンテンツデータとメモデータの重なりを無くす/少なくすることができるという効果が出てきて、上述した効果を引き出す。
【0393】
また、関連付けられたコンテンツとメモデータの表示をレイアウト的に近くにすることで、両者を一度に見やすくなり、理解しやすくなるという効果が出てくる。
【0394】
また、メモデータをレイアウトする範囲として、コンテンツデータのレイアウトの間の行間にすることで、コンテンツデータとメモデータの重なりを無くす/少なくすることができるので、見やすくなるという効果があり、また、参照部分とメモとの距離を非常に近くして表示することができるので参照部分とメモデータの対応関係がより分かり易くなる効果が出てくる。
【0395】
また、コンテンツがメモデータに影響されずにレイアウトされるので(例えば余白や行間の大きさがメモデータによって変えられることがない)、コンテンツのレイアウトをコンテンツデータが最も見やすい状態でレイアウトすることができるという効果が出てくる。
【0396】
また、コンテンツデータとメモデータの関連付け表示において、線で結んで表示することで、コンテンツデータとメモデータの対応関係が分かり易くなるという効果が出てくる。
【0397】
また、メモデータと関連付け情報の表示の有無を指定できることで、コンテンツだけに集中して理解したい時とメモなどを参照しながら理解したい時を切り替えられるという効果が出てくる。
【0398】
このように、参照部分とメモデータを関連付け表示させることで、レイアウトが動的に変更されても、それに追従してメモデータや関連付けデータが表示されるので、文字サイズを読みやすい様に変えるなどという紙の本にない特徴を持ちながら、手書きデータやテキストデータなどからなるメモで、紙の書籍と同じような使い勝手、すなわち文書本文とメモの表示ができるだけ重ならずに同時に視認できることや、本文の該当個所と関連付けて使えること、該当個所とメモの関連付けがお互いに複数に対して行えることなど、を実現することができるようになる。
【0399】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0400】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0401】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,磁気テープ,不揮発性のメモリカード,等を用いることができる。
【0402】
また、上記プログラムコードは、通信ネットワークのような伝送媒体を介して、他のコンピュータシステムから表示装置の主記憶74または外部記憶75へダウンロードされるものであってもよい。
【0403】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0404】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0405】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0406】
本発明は上述した各実施形態に限らず、請求項に示した範囲で種々の変更が可能である。
【0407】
【発明の効果】
本発明に係る表示方法は、以上のように、メモデータ取得手段、関連付け情報取得手段、余白特定手段、およびメモレイアウト生成手段とを備えた表示装置が実行する表示方法であって、
上記メモデータ取得手段が、メモを表すメモデータを取得するメモデータ取得ステップと、
上記関連付け情報取得手段が、表示対象要素を表す構成要素データの一つ以上の集まりからなるコンテンツデータの一部である参照データと上記メモデータとの表示状態における対応関係を特定した関連付け情報であって、上記参照データのデータ範囲を上記コンテンツデータ内で特定したデータ位置およびメモデータのレイアウトの仕方に関する情報を含む関連付け情報を取得する関連付け情報取得ステップと、
上記余白特定手段が、上記表示対象要素の一つ以上を座標空間上に配置したレイアウトの中から、表示対象要素が配置されていない余白範囲を、上記レイアウトを記述したレイアウトデータに含まれる、上記座標空間上の座標位置および大きさによって特定する余白特定ステップと、
上記余白特定手段が、表示対象要素が配置されたレイアウト範囲および上記余白範囲を、複数の分割レイアウト範囲および複数の分割余白範囲に分割し、各分割レイアウト範囲および分割余白範囲の上記座標空間上の座標位置および大きさを求め、求めた座標位置および大きさを基にして、各分割レイアウト範囲に隣接する分割余白範囲の配列を求める隣接余白配列特定ステップと、
上記メモレイアウト生成手段が、上記レイアウトデータを走査し、上記レイアウトデータに含まれる、上記表示対象要素の上記コンテンツデータ内におけるデータ位置と、上記関連付け情報に含まれる、上記参照データの上記データ位置とを比較して等しいときに、上記関連付け情報によってメモデータと対応付けられた参照データを上記レイアウトデー タの中から特定する参照データ特定ステップと、
上記メモレイアウト生成手段が、上記参照データ特定ステップにて特定した参照データのデータ位置と、上記分割レイアウト範囲のレイアウトデータに含まれるデータ位置とを比較することによって、上記参照データが属する分割レイアウト範囲を特定するとともに、この特定した分割レイアウト範囲に隣接する分割余白範囲の配列の中から、上記関連付け情報に含まれる、メモデータのレイアウトの仕方に関する情報を参照して、メモデータを配置すべき分割余白範囲を特定する余白範囲特定ステップと、
上記メモレイアウト生成手段が、メモデータを、上記余白範囲特定ステップで特定した上記分割余白範囲に配置することによって、メモデータのレイアウト部分と表示対象要素との重なり部分が無いメモデータ、あるいはメモデータのレイアウト部分の面積に対する上記重なり部分の面積の割合が所定割合以下となるメモデータ、あるいは上記重なり部分の面積が所定面積以下となるメモデータのレイアウトを記述したメモレイアウトデータを生成するメモレイアウト生成ステップと、を有することを特徴とする。
【0408】
これによって、コンテンツのレイアウトが動的に変更されても、それに追従してコンテンツのレイアウトと重ならないような、あるいは重なりが少ないようなメモデータのレイアウトが得られるので、それらのレイアウトに従ってコンテンツデータ及びメモデータを出力することで、文字サイズを読みやすい様に動的に変えるなどという紙の本にない特徴を持ちながら、手書きデータやテキストデータなどからなるメモで、紙の書籍と同じような使い勝手、すなわち本文の該当個所とメモを関連付けて使えることや、文書本文とメモの表示が同時に視認しやすいこと、などの効果が出てくる。
【0409】
また、コンテンツがメモデータに影響されずにレイアウトされるので(例えば余白や行間の大きさがメモデータによって変えられることがない)、コンテンツのレイアウトをコンテンツデータが最も見やすい状態でレイアウトすることができるという効果が出てくる。
【0410】
さらに、参照部分のコンテンツデータとメモデータを関連付ける情報が得られるので、例えば、あるメモデータのレイアウトを作成する際、そのメモデータに関連付けられた参照部分を特定することができる。あるいは、メモと参照部分との関連付けを示す場合、関連付け情報を利用することができる。
【0411】
これによって、メモデータのレイアウトを作成したり、参照部分やメモデータを表示する際に、関連付け情報を利用した処理(参照部分に近い位置にメモデータをレイアウトする、参照部分とメモとを関連付けを視認できるように表示する等)が行えるようになる。
【図面の簡単な説明】
【図1】 全レイアウト範囲に対するレイアウト可能範囲と、レイアウト可能範囲にコンテンツをレイアウトした状態とを説明する図である。
【図2】 表示対象要素のレイアウトデータ構造を説明する図である。
【図3】 行レイアウトのデータ構造例を説明する図である。
【図4】 本発明の表示装置の機能的な構成を示すブロック図である。
【図5】 上記表示装置の一実施形態における構成例を示すブロック図である。
【図6】 上記表示装置の概観例を示す模式的な斜視図である。
【図7】 表示部兼タブレット上に、コンテンツデータのテキストの一部をレイアウトして表示した状態を示す説明図である。
【図8】 表示部兼タブレット上で、ペンを用いて、コンテンツデータのテキストの一部を選択している状態を示す説明図である。
【図9】 メモデータの設定を行うダイアログウィンドウを表示させた状態を説明する説明図である。
【図10】 参照部分を下線で示した表示例を示す説明図である。
【図11】 本発明の表示方法による表示処理の手順を示すフローチャート図である。
【図12】 メモデータ構造を説明する図である。
【図13】 関連付けデータ構造を説明する図である。
【図14】 図7のコンテンツのレイアウトに合わせてメモデータのレイアウトを設定する処理の手順を示すフローチャート図である。
【図15】 図14のS6−4におけるメモデータのレイアウト範囲を設定する処理の一方法を説明するフローチャート図である。
【図16】 メモデータの表示レイアウト範囲を設定する為の余白範囲を説明する説明図である。
【図17】 図16に示す余白範囲のデータ構造を説明する説明図である。
【図18】 図15のS6−4−1におけるメモデータの表示レイアウト範囲を取得する処理の一方法を説明するフローチャート図である。
【図19】 コンテンツレイアウト範囲の周囲に設定された余白を示す説明図である。
【図20】 図19に示す余白範囲のデータ構造を説明する説明図である。
【図21】 図15のS6−4−5の処理の詳細であって、行間にメモデータをレイアウトできるかどうかを判断する処理の手順を示すフローチャート図である。
【図22】 図15のS6−4−7の処理の詳細であって、周囲の余白にメモデータをレイアウトできるかどうかを判断する処理の手順を示すフローチャート図である。
【図23】 図15のS6−4−9の処理の詳細であって、コンテンツレイアウト範囲内の大きな余白にメモデータをレイアウトできるかどうかを判断する処理の手順を示すフローチャート図である。
【図24】 図23のS6−4−9−1の処理の詳細であって、余白範囲最大矩形リストを生成する処理の手順を示すフローチャート図である。
【図25】 特定された余白範囲を上下左右に拡張する処理を示す説明図である。
【図26】 図10の表示状態に対し、コンテンツの文字サイズを2倍にするレイアウト変更を行っても、メモデータが参照部分に追随してレイアウトし直された状態を示す説明図である。
【図27】 図10の表示状態に対し、コンテンツのレイアウト変更を行ったときに、従来の処理によってメモデータをレイアウトした結果を示す説明図である。
【図28】 1行内の参照部分を線分で囲ってメモとの関連付けを示した表示例を示す説明図である。
【図29】 複数行に渡る参照部分を線分で囲ってメモとの関連付けを示した表示例を示す説明図である。
【図30】 複数行に渡る参照部分に線分を付してメモとの関連付けを示した表示例を示す説明図である。
【図31】 参照部分の打ち消しを打ち消し線表示で示した表示例を示す説明図である。
【図32】 参照部分へのメモ挿入を割り込み表示で示した表示例を示す説明図である。
【図33】 参照部分へのメモ挿入を吹き出し表示で示した表示例を示す説明図である。
【図34】 表示対象要素内部の一部を参照部分としてメモと関連付けた表示例を示す説明図である。
【図35】 参照部分を特に示さずに、ルビとしてメモの表示を行った表示例を示す説明図である。
【図36】 コンテンツデータがレイアウトされている範囲を考慮しない従来方法のレイアウト処理によって、メモがコンテンツに上書きされた表示例を示す説明図である。
【図37】 行間と周囲の余白部分にわたってメモデータをレイアウトした例を示す説明図である。
【図38】 コンテンツレイアウト範囲内の大きな余白を利用して、複数の参照部分に1つのメモを関連付けてレイアウトした例を示す説明図である。
【図39】 一つの参照部分に複数のメモを関連付けて表示した例を示す説明図である。
【符号の説明】
1 横行(メモデータ)
10 データ(関連付け情報)
15 データ(関連付け表示情報)
41 表示対象要素
42 表示対象要素
43 表示対象要素
44 表示範囲(レイアウト可能範囲)
59 メモデータレイアウト範囲取得手段(メモレイアウト生成手段)
63 メモデータ取得手段
64 関連付け情報取得手段
66 メモデータレイアウト取得手段(メモレイアウト生成手段)
69 コンテンツ余白特定手段(余白特定手段)
70 CPU
74 主記憶(記録媒体)
75 外部記憶(記録媒体)
80 行(レイアウトデータ、分割レイアウト範囲
90 本体機器(表示装置)
91 表示部兼タブレット
92 ペン
100 参照部分
101 範囲(余白範囲、分割余白範囲
127 範囲(余白範囲、分割余白範囲
X,Y 位置(座標位置)
W,H 大きさ
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a method of laying out (arranging) display target elements such as characters, character strings, or images in a coordinate space and displaying them on a display device, an apparatus for implementing the method, a program, and a program medium.
[0002]
[Prior art]
  2. Description of the Related Art Conventionally, there are programs and apparatuses for electronically viewing documents and the like that can write and a memo (sticky note).
[0003]
  For example, in the Adobe document processing program Acrobat Exchange, a memo can be added to the layout and text can be input. The text of the document is displayed in a fixed layout, and the memo is displayed at a position specified by the user. If the memo is displayed at a position that overlaps the existing text layout, the display of the text that overlaps the display of the memo is hidden.
[0004]
  In addition, the word processor (word processor) software Word of Microsoft Corporation dynamically changes the layout by changing the size of characters, etc., but it is possible to associate “comment” (memo) information with the selected text. Audio data, images, etc. can be pasted. If the layout is changed, the comment position is also changed. The text portion corresponding to the comment is highlighted on the document window, and the content of the comment is displayed as a pop-up window on the document window by hovering over the mouse cursor. Comments are edited in a window separate from the document display range. Each comment is automatically assigned a unique identification character string, and the correspondence between the selected text and the editing window can be visually recognized by the identification character string.
[0005]
  Further, in the electronic book reader PC Viewer of the electronic book consortium, the document is displayed in a fixed layout, and can be directly input on the document by handwriting. Since the layout is fixed, there is no need to select characters etc. corresponding to the input handwritten data, and if necessary, the corresponding relationship is indicated by handwriting input of underline or arrow to the corresponding text. be able to. In addition, “sticky note” can be pasted as an independent window, and text and handwritten characters can be input in the sticky note. The tag has position information on a fixed layout like the Acrobat Exchange.
[0006]
  In addition, Microsoft word processor software PocketWord can handle text, handwritten characters, and handwritten drawings together. Like normal text, handwritten characters are treated as “characters”, are subject to editing, have a line to which they belong, and do not overlap other text characters in that line. A handwritten drawing cannot be separated like a handwritten character, and is displayed as a whole, and is subject to editing as a unit, and there are lines that belong to it. Is displayed.
[0007]
[Problems to be solved by the invention]
  However, with the conventional display method described above, it is difficult to obtain an easy-to-use display state in which the memo is laid out and displayed so that the memo is associated with the corresponding part of the text and the text is not hidden in the memo. is there.
[0008]
  In addition, even if the above-described display state that is easy to use is obtained, there is a problem that when the layout of the text is changed, the display state is destroyed.
[0009]
  Specifically, Acrobat Exchange, PC Viewer, etc. have fixed layout document data, so they cannot be re-displayed by changing the display device size, character size, etc. However, there are drawbacks in that scrolling and reduction display must be performed, and the size of characters cannot be freely changed so that the user can easily see.
[0010]
  In addition, the Word can dynamically change the layout, and the text portion associated with the comment moves following the layout change. However, the content of the comment is displayed separately from the document window when editing. When browsing, a pop-up window is displayed in which a part of the lower document is hidden by being displayed overlapping the document window.
[0011]
  A memo written by hand on a paper book is usually written near the relevant body, so the correspondence is easy to understand. However, when displayed in a separate window adjacent to the editing like Word, the text associated with the comment Since they are displayed at a distance, there is a drawback that the correspondence is difficult to understand.
[0012]
  In addition, memos that are manually written on paper books are usually written so that they do not overlap with related text or only so that they do not interfere with reading. When the memo is displayed, it is displayed over the document, so that a part of the document below is hidden. That is, there is a drawback that the document and the comment cannot be viewed at the same time.
[0013]
  Also, in a memo written by hand on a paper book, it is possible to express an association between multiple texts and diagrams with arrows, etc., or to associate a memo with the same content to multiple texts and diagrams. it can. On the other hand, Word comments are associated with only one text range for one comment, and multiple text ranges can be associated with one comment, or multiple comments can be associated with one text range. There is a drawback that they cannot be related.
[0014]
  In PocketWord, handwritten characters and drawings can be moved following the layout change, but they can only be tracked because they are part of the text, just like normal characters. Stay within the text layout. Also, it does not have information that refers to other body parts. Therefore, there is a drawback in that it cannot be displayed in a form in which a part of the text is referred to by an underline or an arrow outside the layout range of the text (such as line spacing) as written in a paper book.
[0015]
  Handwritten input can also be input across multiple lines, but there is only one line, and handwritten characters do not overlap other characters in the line to which they belong, There is a drawback that it overlaps the display of the line.
[0016]
  Moreover, the handwritten drawing has a drawback that it overlaps even within the line to which it belongs.
[0017]
  The object of the present invention is a memo consisting of handwritten data and text data, etc., which has a feature that is not found in paper books that allows the layout to be dynamically changed. It can be changed and displayed, or it can be used in the same way as a paper book. It is to provide a display method that realizes that a plurality of processes can be performed on a plurality of each other, an apparatus for implementing the method, a program, and a program medium.
[0018]
[Means for Solving the Problems]
  In order to solve the above problems, a display method according to the present invention providesIn general,A margin specifying step for specifying a margin range in which one or more display target elements are arranged on the coordinate space using the layout data describing the layout, and a memo. Memo layout generation that generates memo layout data that describes the layout of memo data that does not overlap with the display target element, or that is less than a predetermined ratio, or less than a predetermined area by arranging the memo data to be represented in the margin range With stepsis doing.
[0019]
  Here, the “display target element” means a unit in which characters, character strings, images, etc. are laid out, and the layout means the arrangement of the display target elements in the coordinate space. Therefore, the display target element can be output / displayed on the output / display medium of the output destination display device, printing device, or the like according to the arrangement of the display target element in the coordinate space, that is, the layout.
[0020]
  Although it is called “display target element” for easy understanding, it is not necessarily limited to “display” but includes elements related to all “output” such as printing, data output, and file output. Therefore, the word “display” used here also includes the meaning of “output”. It should be noted that hereinafter, “element” simply means “display target element”.
[0021]
  Further, the number of display target elements is not particularly limited as long as one or more elements are included in the layout framework. For example, when the display medium of the output destination is printing paper, when one photo or one character is laid out in a partial area in the white paper, or the photo covers two papers. The present invention is also applied to the case where one sheet is laid out.
[0022]
  The “margin range” refers to the remaining portion of the layout target element in the layout framework. When described as data, it is the remaining part of the layout of content data as one or more collections of data of display target elements in a coordinate space corresponding to the layout framework, and indicates a range in which memo data can be laid out.
[0023]
  To express the “margin range” more clearly, it can be broadly divided into a margin portion around the page (the entire layout range = maximum layout possible range) and a margin portion between the layout lines of the content data. Strictly speaking, the space between characters and blank spaces in characters and figures are not margins. However, when the memo data is actually considered as a possible layout range, the surrounding margin and line spacing are the main margin ranges.
[0024]
  Note that the above-mentioned “margin part around the page (the entire layout range)” refers to the layout possible range set by specifying the number of characters in the line and the number of lines in the page, etc. This corresponds to the difference from the entire layout range as the maximum range.
[0025]
  Therefore, according to the display method according to the present invention, when a layout range in which one or more display target elements are arranged on the coordinate space is obtained, a range obtained by removing the obtained layout range from the entire layout range can also be obtained. Therefore, it is specified in the margin specifying step as the margin range.
[0026]
  Next, the memo data obtained by the user input or copied from a document saved as a separate file is placed in the margin range obtained in the margin specification step, so that the display target element Can be obtained. A memo layout that describes the layout of the memo data that satisfies the conditions for such overlap by selecting the memo data layout when the overlap is non-overlapping, less than a predetermined ratio, or less than a predetermined area Data can be generated in the memo layout generation step.
[0027]
  As a result, even if the layout of the content is dynamically changed by changing the display settings such as the character size, the number of characters in the line, the number of lines in the page, etc., the margin range is specified for the changed layout. Following the change, it is possible to obtain a memo data layout that always satisfies the above-described overlapping condition.
[0028]
  Therefore, by outputting content data and memo data according to their layouts, handwritten data, text data, etc., while having characteristics not found in paper books such as dynamically changing display settings such as character size so that it can be easily read The memo is composed of the same usability as a paper book, that is, the document text and the display of the memo can be seen at the same time.
[0029]
  In other words, even if the layout of the content is changed to be easy to see, for example, it is possible to obtain a unique effect that the memo can be viewed in a new layout so that it does not always overlap with the document body. .
[0030]
  In addition, since the content is laid out without being affected by the memo data (for example, the margin and the line spacing are not changed by the memo data), the content layout can be laid out in a state where the content data is most easily viewable. The effect comes out.
[0031]
  The first condition for determining the layout of the memo data is that there is no overlap between the display target element and the memo. When the first condition cannot be satisfied, the overlap is a predetermined ratio or less or a predetermined area or less. The layout of the memo data may be determined so as to satisfy the second condition.
[0032]
  The layout of the memo data may be determined so that the first condition is to place the memo as close as possible to the display target element to be associated with the memo, and the overlap in that case is a predetermined ratio or less or a predetermined area or less.
[0033]
  In addition, when the memo data is too large and the memo cannot be arranged in the margin range specified in the margin specifying step, the layout data of a part of the memo that can be arranged may be generated. The process may be shifted to another routine that does not generate or displays a message notifying that the memo data is too large.
[0034]
  In order to solve the above problems, a display method according to the present invention providesIn general,There is an association information acquisition step for obtaining information for associating the memo data with the content data of the reference portion to be associated with the memo among the content data as one or more collections of data of the display target element.is doing.
[0035]
  As a result of the above processing, information for associating the content data of the reference portion with the memo data (hereinafter referred to as association information) is obtained. For example, when creating a layout of a certain memo data, the reference associated with the memo data The part can be specified. Alternatively, the association information can be used when the association between the memo and the reference portion is indicated by displaying the memo and the reference portion in a state of being connected by a line.
[0036]
  This makes it possible to perform processing using the association information when creating a layout of memo data or displaying a reference portion or memo data.
[0037]
  As a specific process, for example, when creating a layout of memo data, the layout of the display target element already exists, so the layout range of the display target element of the reference portion can also be obtained. The memo data can be laid out at a position close to the reference portion by selecting a margin range close to the layout range of the obtained reference portion from the margin range obtained from the margin specifying step using the association information. become.
[0038]
  Or, for example, at the time of display, the layout position of the reference part and the layout position of the memo data can be known, so that both are connected with line segments using the association information, or each background part has a different display color from the normal background part. It is also possible to display associations such as aligning to the same color using.
[0039]
  Also, for example, when the layout of the reference part or memo data is selected with a pen or mouse during display, the other reference part or memo data associated with the layout is highlighted. Can be displayed.
[0040]
  In order to solve the above problems, a display method according to the present invention providesIn general,In the memo layout generation step, memo layout data in which memo data is arranged near the layout of the reference portionGenerate.
[0041]
  Since the information for associating the reference portion with the memo data is obtained from the association information acquisition step, the reference portion associated with the memo data can be specified when a layout of the memo data is created. Since the layout of the display target element already exists when creating the layout of the memo data, the layout range of the display target element of the reference portion can also be obtained. From the margin range obtained from the margin specifying step, a range near the layout position of the reference portion that does not overlap with the layout of the display target element of the content data may be selected.
[0042]
  As a result, the associated reference portion and the memo data are laid out close to each other, so that it is easy to see both at once and it is easy to understand.
[0043]
  In order to solve the above problems, a display method according to the present invention providesIn general,A display step for automatically displaying the reference portion and the memo data in association with each other based on the association information;is doing.
[0044]
  Since the information for associating the reference part with the memo data can be obtained from the association information acquisition step described above, the layout position of the display target element and the memo layout data are used to display the layout position of the reference part and the data of the reference part. The layout position of the associated memo data can be specified. This allows you to display both connected with line segments, display connected with arrows, display memo data from the reference part in a balloon, and use a different display color for each background part from the normal background part. It is also possible to display associations such as aligning the same color.
[0045]
  As a result, it is possible to visually understand that there is a relationship between the two.
[0046]
  In order to solve the above problems, a display method according to the present invention providesIn general,A layout possible range obtaining step for obtaining a layout possible range in which the display target element can be laid out, and in the margin specifying step, a portion excluding the layout possible range from a total layout range as a maximum range of the layout possible range is a blank space. As a rangeIdentify.
[0047]
  The margin range in which the content data is not laid out is roughly divided into a margin range outside the layout possible range and an inner margin range. In general, the outer margin range corresponds to a margin around the paper surface in a paper book, and the inner margin range corresponds to a margin between lines. Therefore, in the margin specifying step, when the possible layout range is excluded from the entire layout range, the outer margin range is extracted.
[0048]
  By laying out the memo data in this margin range, it becomes possible to eliminate or reduce the overlap with the content data. Further, compared with the case where the memo data is laid out in the margin range inside the layout possible range, the content data and the memo data are not mixed, which is excellent in viewability of the content data.
[0049]
  In addition, line and character layout data is required to extract margins such as line spacing, but when using the layout possible range, line and character layout data is not required, so the extraction process can be performed easily and quickly. is there. Further, since the possible layout range is determined before the content data layout process, there is also an advantage that a margin extraction process can be performed before the content data layout process.
[0050]
  In addition, the content data is always laid out within the layout possible range, but by displaying the memo data in the margin area outside the layout possible range, a part of the layout appears as a result, and as a result There is an effect that it is possible to visually notice that the memo data is written in that portion.
[0051]
  In order to solve the above problems, a display method according to the present invention providesIn general,In the margin specifying step, a portion where the display target element is not arranged in the layout possible range obtained from the layout possible range acquiring step is specified as a margin range.
[0052]
  As described above, generally, the outer margin of the layout possible range corresponds to the margin around the paper surface in the paper book, and the inner margin corresponds to the margin between lines. Therefore, in the margin specifying step, when a portion in which no content data is laid out is set as a margin range within the layout possible range obtained in the layout possible range acquisition step, a margin such as a line spacing is extracted.
[0053]
  By laying out the memo data in the margin range such as the line spacing, the overlap with the content data can be eliminated or reduced. Further, in many cases, the display distance between the associated content data and the memo data can be made shorter than when the memo data is laid out in the surrounding margin range.
[0054]
  This eliminates or reduces the overlap between the content data and the memo data, which has the effect of making it easier to see. There is an effect that the correspondence between the reference portion of the display target element to be attached and the memo becomes easier to understand.
[0055]
  Also, if the layout of the content data is regularly arranged, for example, if the row height is almost the same and the line spacing is almost the same, displaying the memo data between the lines, the layout of the memo data as a whole layout The part becomes a form that disturbs the regularity of the layout of the line, and as a result, the effect that the memo data is written in the part is visually noticeable.
[0056]
  In order to solve the above problems, a display method according to the present invention providesIn general,There is a display step for displaying the reference part of the display target element to be associated with the memo and the memo with a line based on the association display information regarding the association display method included in the association information.is doing.
[0057]
  Since the layout of the content data and the layout of the memo data have been acquired, the relationship can be visualized by connecting the lines with lines such as straight lines, broken lines, and curves.
[0058]
  By the way, the association display information is information for specifying the display mode, and as long as the reference part and the memo to be related display can be specified, the memo and the reference part are not dependent on the layout of the content data. It is possible to perform display processing for displaying by connecting with lines.
[0059]
  As a result, when the layout of the content data is changed, for example, when the character size is changed, the layout of the memo data is changed accordingly, and both the layout position of the memo data and the layout position of the reference portion are changed. However, in accordance with the change, the memo and the reference portion are displayed with a line. Therefore, there is an advantage that the display of the correspondence relationship is automatically updated to an appropriate one according to the change of the layout.
[0060]
  In addition, the association display has an effect that the correspondence between the reference portion and the memo becomes easy to understand. Even if the layout of the content data of the reference part associated with the layout of the memo data is distant from the layout, it is easy to visually understand that there is a correspondence between them by connecting them with a line. There is an effect.
[0061]
  In order to solve the above problems, a display method according to the present invention providesIn general,One memo is based on information associated with content data of a plurality of reference portions of a display target element to be associated with a memo and one memo data included in the association information, and association display information regarding how to display the association. There is a display step for connecting multiple lines with reference lines.is doing.
[0062]
  Since the characteristics of the above association display information have already been described, this has the effect of allowing memos with different contents to be associated with one content data part, and a certain content part has a plurality of memo data. At the same time, there is an effect that it can be visually recognized at a glance. When there are a plurality of contents to be noted, there is also an effect that it is easier to visually understand that the contents divided into a plurality of notes are different than the contents of one note.
[0063]
  In order to solve the above problems, a display method according to the present invention providesIn general,One reference based on information that associates a plurality of memo data with content data of one reference portion of a display target element to be associated with a memo included in the association information, and association display information on how to display the association There is a display step for displaying multiple memos associated with a part by connecting them with a line.is doing.
[0064]
  Since the characteristics of the association display information are as described above, this makes it possible to collect memo data common to a plurality of reference parts, and has the effect of suppressing the display of useless memo data compared to the case of not collecting, In addition, it is possible to visually recognize that memo data having the same content is associated with a plurality of reference portions at a glance.
[0065]
  In order to solve the above problems, a display method according to the present invention providesIn general,When the memo data has information indicating the presence or absence of display and the memo data does not display, the display of the layout of the memo data and the association display based on the association information associated with the memo data are performed. Absent.
[0066]
  According to this processing, when acquiring the layout of content data or memo data, or when displaying the associated information, the information indicating whether or not the memo data is displayed is referred to. When the memo data is not displayed, the content data By acquiring and displaying only the layout, it is possible to switch between displaying only content data and displaying including memo data and associated information.
[0067]
  As a result, there is an effect that it is possible to switch between the case where the user wants to understand by concentrating only on the content and the case where the user wants to understand while referring to the notes.
[0068]
  Further, since each memo data has information on whether or not to display it individually, there is an advantage that it is possible to switch whether or not each memo data is displayed, instead of whether or not all memo data is displayed.
[0069]
  In order to solve the above problems, a display device according to the present invention providesIn general,Layout data describing a layout in which one or more display target elements are arranged on the coordinate space is input, and the layout data for specifying the margin range in which the display target elements are not arranged is included in the layout data. Memo data representing a memo and a margin specifying means to be generated by using the input, and by placing the memo data in the margin range according to the margin layout data, there is no overlap with the display target element, or less than a predetermined ratio, Alternatively, it has memo layout generation means for generating memo layout data describing the layout of the memo data having a predetermined area or less.is doing.
[0070]
  According to the above configuration, since the layout data describes the arrangement of the display target elements in the coordinate space, the margin range in which the display target elements are not arranged in the coordinate space can be obtained from the layout data. . The margin specifying unit performs processing for specifying the margin range, in other words, processing for generating margin layout data describing the margin range.
[0071]
  Since the margin range is specified by the margin specifying unit, the memo layout generating unit can arrange the input memo data in the margin range. That is, the memo data can be generated by arranging the memo data in the margin range according to the margin layout data and describing the layout of the memo data.
[0072]
  In generating the memo layout data, a condition for laying out the memo data is imposed. As a result, the memo layout generation unit generates memo layout data in which the memo and the display target element do not overlap, or are less than a predetermined ratio, or less than a predetermined area.
[0073]
  Various effects by this are as described above as effects by the display method corresponding to the configuration of the display device.
[0074]
  In order to solve the above problems, a display device according to the present invention providesIn general,Of the content data as one or more collections of display target element data, there is provided an association information acquisition means for obtaining information associating the memo data with the content data of the reference portion to be associated with the memo.is doing.
[0075]
  With the above configuration, the association information acquisition unit obtains information (hereinafter referred to as association information) for associating the content data of the reference portion with the memo data. For example, the memo layout generation unit creates a layout of certain memo data. In doing so, it is possible to specify the reference portion associated with the memo data. Alternatively, the association information can be used when the association between the memo and the reference portion is indicated by displaying the memo and the reference portion in a state of being connected by a line.
[0076]
  Various effects by this are as described above as effects by the display method corresponding to the configuration of the display device.
[0077]
  In order to solve the above problems, a display program according to the present invention causes a computer to execute each step included in the display method.
[0078]
  In order to solve the above-described problem, a display program according to the present invention causes a computer to function as each unit included in the display device.
Furthermore, a recording medium according to the present invention is characterized in that the display program is recorded in order to solve the above problems.
Thus, the display method is realized using the computer by installing the display program on the general computer via the recording medium or the network, in other words, the computer is caused to function as a display device. be able to.
[0079]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0080]
  “Display” generally means that some information is output to a display / output medium in a state where it can be visually recognized, and is usually displayed as a pixel on a display such as a monitor. Here, in addition to display on a monitor or the like, it is assumed that data output (file output) in a data format having layout information such as print output on paper or PDF is also included. It has almost the same meaning as the word “output”, but here it is “display” for easy understanding.
[0081]
  “Display target element” refers to an element that can be displayed on the display means, and includes, for example, a character, an image, a figure, and the like.
[0082]
  The “layout” is to arrange the display target elements so as to be within the display range, and has information such as the display position, size, and outer shape of the display target elements in the two-dimensional or three-dimensional coordinate space. The output means displays the display target element in the specified size and outer shape at the specified display position according to the layout data describing the layout of the display target element.
[0083]
  FIG. 1 is a diagram illustrating a layout. For example, display target elements 41, 42, 43, and the like are arranged in the entire layout 40 (layout framework) representing a state in which all display target elements are arranged in a two-dimensional coordinate space. In the figure, each of the display target elements is surrounded by a dotted frame for easy understanding, but this frame is not displayed when actually displayed. In the following description, unless otherwise required, the display target element may be indicated by an empty mere frame line without displaying the contents.
[0084]
  In the case of text, generally, characters are arranged as display target elements, and lines are formed by arranging characters vertically or horizontally as shown in FIG. When displaying, only the display target elements included in the display range 44 (corresponding to the layout possible range described later) defined by the displayable size of the display / output medium in the entire layout 40 are displayed. .
[0085]
  Note that “layout content data” may be referred to as “layout” (content data will be described later).
[0086]
  FIG. 2 is a diagram for explaining an example of the layout data structure of the display target element. Each row is layout data of one display target element, and the whole is an array of a plurality of layout data, and each layout data can be accessed by an index number.
[0087]
  The contents of each layout data are composed of “type”, position “X” “Y”, size “W” “H”, “data position”, and “content” as shown in the figure.
[0088]
  “Type” indicates the type of the display target element such as a character (CHAR) or an image (IMAGE).
[0089]
  The width “W” and the height “H” indicate the size when the display target element is displayed. Although the shapes when they are displayed are actually various, here they are simply unified as rectangles.
[0090]
  The X coordinate position “X” and the Y coordinate position “Y” indicate positions when the display target element is displayed in the XY coordinate space. Here, the positions “X” and “Y” are the coordinate positions of one corner point of the rectangular area assigned to each display target element. When using a coordinate system with the upper left corner of the entire layout 40 as the origin, the coordinate position is often expressed using a point at the upper left corner of each rectangular area.
[0091]
  The “content” varies depending on the type of the display target element. For example, a character (CHAR) is a character code and its font information (font size, font color, etc.), and an image is bitmap data and data indicating its storage location. That is, “content” corresponds to component data of content data.
[0092]
  “Data position” is information that identifies the data range that is the source of the layout data in the content data. Various units are conceivable, for example, the order as the display target element from the top, or the byte position of the component data describing the display target element when viewed from the top of the content data. If more detailed information is desired, the location within one display target element may be designated as “data position”. For example, the coordinate position inside the image. Here, the “data position” is set as the number of the display target element from the beginning.
[0093]
  FIG. 3 is a diagram for explaining the layout of rows. The layout does not always have a line structure, but in many cases the contents mainly consist of text, etc., so a layout with a line structure is often created. explain.
[0094]
  The row has a position “X” “Y”, a size “W” “H”, and an array of layouts of display target elements. The number of arrays that one row has depends on the layout result. In FIG. 3, not the layout data itself of the display target element of FIG. 2, but “information for specifying reference data” (abbreviated as reference information) of the layout data of the display target element is provided.
[0095]
  That is, the row 80 has the reference information of the first to fifth display target elements as an array, and the row 81 has the reference information of the sixth to eleventh display target elements as an array. The positions “X” and “Y” and the sizes “W” and “H” are rectangular attribute information including all the display target elements arranged in the respective rows 80 and 81.
[0096]
  “Information specifying the reference data” is information indicating the location where the referenced component data is recorded. For example, if it is recorded on the main memory, it is the main memory address.
[0097]
  “Handwritten data” is data that the user inputs freehand using, for example, a mouse or tablet. For example, the data format is often expressed as a collection of strokes with diagonal directions in the vertical and horizontal directions. Sometimes expressed as an image. In any case, “handwritten data” is defined as a single unit of data as a display unit, and cannot be decomposed and re-laid out for display.
[0098]
  The data that can be disassembled and re-laid out is, for example, “text data” entered using a keyboard, etc., and word processors can change the number of characters in one line or change the size of characters. You can change the layout and display it. If it is a character input by hand as in the above-mentioned PocketWord, but can be decomposed and re-laid out in character units, it may be interpreted as a kind of text data.
[0099]
  “Memo data” is a general term for data input by the user to content data, such as handwritten data and text data. Some of them can be disassembled and re-laid out like text data, and some can be disassembled and re-layout like handwritten data. Besides handwritten data and text data, most data that can be displayed can be handled as memo data, and includes, for example, images.
[0100]
  Here, the “content data” is made up of one or more collections of component element data representing the display target element, and is data in which the layout of the display target element changes depending on display settings such as character size. For example, data handled by editors, word processors, WWW (World Wide Web) browsers, etc. are equivalent. However, if the character size or the size of the entire layout range (window) is changed, the content data will be re-laid out and the display results will differ. come.
[0101]
  The “association information” is information for associating a part of content data with memo information. Hereinafter, part of the content data associated with the memo information will be referred to as “reference portion” or “reference data”.
[0102]
  For example, if an underline is drawn for a sentence in a document as content, and then a pull-in line is drawn to the margin, and a user writes a comment about the sentence in the margin, the underlined text is referenced. It is a part, and the reference part and the memo are associated by using an underline or a lead-in line.
[0103]
  Visually expressed in such a form, but in terms of data, the association information is, for example, information for identifying the reference portion, that is, the correspondence between the reference data and the memo data, and the data range of the reference data This is a set of information that specifies information in the content data and information that specifies memo data. Specific methods will be described later. The correspondence relationship is not limited to one-to-one, and one-to-many, many-to-one, many-to-many, and the like are possible.
[0104]
  Also, not only the correspondence information but also how the reference part is specified (in the previous example, “underline” and “lead-in line” are used), and where the memo was written (the previous example) In this case, the association information also includes information such as a margin portion), but such information can be included in the memo data. If you have one-to-one, you may have either, but you want to change the way of displaying the association for each memo data when there are multiple memo data and reference data such as one-to-many, many-to-one, many-to-many In some cases, it is better to have memo data.
[0105]
  The association information will be specifically described later with reference to FIG.
[0106]
  The “margin range” refers to a range in which the memo data can be laid out, and basically the remaining portion of the content data laid out in the display range 44 is targeted. Therefore, the margin range is roughly divided into a portion around the page (the entire layout range) and a portion between the layout lines of the content data. Strictly speaking, the space between characters and blank spaces in characters and figures are not margins. However, when the memo data is actually considered as a possible layout range, the surrounding margin and line spacing are the main margin ranges.
[0107]
  FIG. 4 is a configuration diagram illustrating a display device that performs a display method to be described later according to an embodiment of the present invention.
[0108]
  That is, the main part of the display device includes a memo data layout range acquisition unit 59, an input unit 60, a display range acquisition unit 61, a content data acquisition unit 62, a memo data acquisition unit 63, an association information acquisition unit 64, and a content data layout acquisition unit. 65, the memo data layout acquisition unit 66, the layout output unit 67, the content layout range acquisition unit 68, and the content margin specifying unit 69 can be expanded and shown.
[0109]
  An outline of the processing will be described from the viewpoint of data exchange between these means 59-69.
[0110]
  First, the display range acquisition unit 61 obtains a layout possible range corresponding to the size of a display / output medium such as a print sheet used in a monitor or printer connected to the layout output unit 67, and the layout output unit 67, content The data is sent to the layout range acquisition unit 68 and the content margin specifying unit 69.
[0111]
  The display / output medium layout possible range is a range in which display target elements including content data and memo data can be laid out and displayed. Since it is used for display of window frames and other parts, it excludes the part that can not be used for layout / display of content data and memo data. This is a range excluding “margins”) generally referred to. Here, in order to simplify the description, it is assumed that the entire display range 44 of FIG. 1 is obtained as a layout possible range.
[0112]
  As described in detail later, the above-described layout possible range is designated by a user operation via a keyboard, a mouse, etc., a document display program, or a display / output destination device, and is input to the display range acquisition means 61. The
[0113]
  Next, the content layout range acquisition unit 68 lays out the content data based on the layout possible range obtained from the display range acquisition unit 61, the number of characters in the line specified by the user, the margin setting information, etc. , Called content layout range).
[0114]
  The content layout range is usually obtained as a narrow range by adding margins to the top, bottom, left and right of the layout possible range. The obtained content layout range is sent to the content data layout obtaining unit 65 and the content margin specifying unit 69.
[0115]
  The content data acquisition unit 62 obtains content data from an external storage device, a keyboard operated by a user, a mouse, or the like, and sends the content data to the content data layout acquisition unit 65.
[0116]
  The content data layout acquisition unit 65 lays out the content data (each display target element) obtained from the content data acquisition unit 62 in the content layout range obtained from the content layout range acquisition unit 68. As a result, the layout position of each display target element of the content data is determined, and the content data can be displayed. The layout data describing the layout of the content data is generated by the content data layout acquisition unit 65 and then sent to the content margin specifying unit 69, the memo data layout acquisition unit 66, and the layout output unit 67.
[0117]
  Having described the configuration for generating layout data for content data, the configuration for generating layout data for memo data will be described next.
[0118]
  The input means 60 receives data input with a tablet, pen, keyboard, etc., and sends it to the memo data acquisition means 63 and the association information acquisition means 64.
[0119]
  The memo data acquisition unit 63 interprets the input data obtained from the input unit 60 or reads the memo data from the data recorded in the external storage device to acquire the memo data, and the memo data layout acquisition unit 66 And sent to the memo data layout range acquisition means 59.
[0120]
  Similarly, the association information acquisition unit 64 acquires the association information by interpreting the input data obtained from the input unit 60 or reading the association information from data recorded in an external storage device or the like, and the memo data layout. The data is sent to the acquisition unit 66 and the layout output unit 67.
[0121]
  In the content margin specifying unit 69, the layout possible range obtained from the display range obtaining unit 61, the content layout range obtained from the content layout range obtaining unit 68, and the content data obtained from the content data layout obtaining unit 65 (each display target element) The margin range where the content data is not laid out is specified and extracted from the layout data. The extracted margin range is sent to the memo data layout range acquisition means 59.
[0122]
  The memo data layout range acquisition unit 59 has no overlap with the layout of the content data (each display target element) from the margin range obtained from the content margin specifying unit 69 and the memo data obtained from the memo data acquisition unit 63. Alternatively, a memo data layout range (hereinafter referred to as a memo layout range) having a predetermined ratio or less or a predetermined area or less is obtained. The obtained memo layout range is sent to the memo data layout acquisition means 66.
[0123]
  The memo data layout acquisition unit 66 obtains memo data associated with the layout content data from the association information obtained from the association information acquisition unit 64 and the layout data of the content data obtained from the content data layout acquisition unit 65. .
[0124]
  Subsequently, the memo data layout acquisition unit 66 uses the memo data within the memo layout range obtained from the memo data layout range acquisition unit 59 in accordance with the layout policy of the memo data (set by the user or the display program). The memo data obtained from the acquisition unit 63 is laid out, and memo layout data describing the layout of the memo data is generated. The generated memo layout data is sent to the layout output means 67.
[0125]
  Note that the memo data layout range acquisition unit 59 and the memo data layout acquisition unit 66 correspond to a memo layout generation unit.
[0126]
  The layout output unit 67 converts the content data and the memo data into association display information and the like according to the layout data of the content data obtained from the content data layout acquisition unit 65 and the memo layout data generated by the memo data layout acquisition unit 66. Based on the association, display on the monitor. The association display information is included in the association information obtained from the association information acquisition unit 64.
[0127]
  FIG. 5 is a configuration example of a device that specifically realizes the respective means 59 to 69 of FIG.
[0128]
  A CPU (central processing unit) 70 includes a memo data layout range acquisition unit 59, the input unit 60, a display range acquisition unit 61, a content data acquisition unit 62, a memo data acquisition unit 63, an association information acquisition unit 64, and a content data layout acquisition. Functions as means 65, memo data layout acquisition means 66, layout output means 67, content layout range acquisition means 68, and content margin specifying means 69, and a program in which processing procedures by these means 59 to 69 are described is stored in the main memory 74. Obtained from the external storage 75, a network mediated by the communication device 77, or the like.
[0129]
  The main memory 74 or the external memory 75 corresponds to a recording medium that records the display program of the present invention.
[0130]
  The CPU 70 also exchanges data with the display 71, the printer 72, the tablet 73, the main memory 74, the external memory 75, the mouse 76, the communication device 77, and the keyboard 78 that are mutually connected through the bus 79 including the CPU 70. Each process already described is performed.
[0131]
  Note that data exchange is not limited to a form performed via the bus 79, and may be a form via a communication cable or a wireless communication device as long as data can be transmitted and received. In addition, the means for realizing each of the means 59 to 69 is not limited to the CPU, and a DSP (digital signal processor) or a logic circuit in which a processing procedure is incorporated as a circuit can also be used.
[0132]
  The main memory 74 is usually composed of a memory device such as a DRAM (dynamic random access memory) or a flash memory. The external storage 75 is a storage means that can be attached and detached, such as a hard disk drive (HDD) or a personal computer (PC) card. Alternatively, a main memory or an external memory attached to another network device connected to the CPU 70 via a network by wire or wireless can be used as the external memory 75.
[0133]
  As means for inputting user instructions, there are a mouse 76, a tablet 73, a keyboard 78, and the like. The user instructions are input to the input means 60 via the bus 79. In addition to this, various means such as voice input using buttons and a microphone can be used.
[0134]
  The display 71 is usually realized in combination with a graphic card or the like. The display 71 has a video random access memory (VRAM) on the graphic card, converts data on the VRAM into a display signal, and displays a display (display / display) such as a monitor. The display signal is displayed as an image.
[0135]
  The printer 72 prints the print data obtained via the bus 79 on a sheet (display / output medium). The communication device 77 is realized by a network card or the like, and exchanges data with other network devices connected by wireless or wired.
[0136]
  4 obtains data of a display / output range (layout possible range) from a program read from a main memory 74, an external memory 75, a network, or the like, or by a user operation, a mouse 76, It is obtained as data inputted from the tablet 73 and the keyboard 78, or obtained as data from the display 71, the main memory 74, the external memory 75, the printer 76, and the network.
[0137]
  For example, if the window size displayed on the display 71 is set as the layout possible range, the CPU 70 refers to the window size data on the main memory 74 or calls the window size acquisition API, etc. Get the data. In the case of printing, the CPU 70 refers to the paper setting data in the printer 72 or the main memory 74 or the external storage 75 in which the paper settings are recorded, or obtains paper size data by calling the paper size acquisition API. That's fine.
[0138]
  The CPU 70 as the content layout range acquisition means 68 obtains a content layout range that has already been set from the main memory 74, the external memory 75, the network, or the like, or based on a program read from the main memory 74, the external memory 75, the network, or the like. The content layout range is obtained based on the possible layout range obtained from the display range obtaining unit 61.
[0139]
  The CPU 70 as the content data acquisition unit 62 obtains content data from the main memory 74, the external memory 75, a network, and the like. It is assumed that content data is prepared in advance.
[0140]
  The CPU 70 as the content data layout acquisition unit 65 obtains layout data that has already been created from the main memory 74, the external storage 75, a network, or the like, or content data obtained from the content data acquisition unit 62 (each display target element) ) In the content layout range obtained from the content layout range acquisition means 68, and generates layout data. The layout data generation process is based on a program read from the main memory 74, the external memory 75, a network, or the like.
[0141]
  The CPU 70 as the input means 60 in FIG. 4 obtains input data from the user as data input from the mouse 76, tablet 73, keyboard 78, etc. by the user's operation, and if necessary, main memory 74, external storage. 75. The input data is processed using a program read from a network or the like and then transferred to another means.
[0142]
  For example, the movement data of the pen or mouse 76 input from the tablet 73 or the mouse 76 is converted into a stroke data format, the stroke data is recognized and converted into text data, and the characters obtained from the keyboard are converted to kana kanji. The input means 60 executes processing such as conversion into text mixed with kanji and kana, recognition of voice input from the microphone and conversion into text data, and the like.
[0143]
  The CPU 70 as the memo data obtaining unit 63 obtains memo data from the main memory 74, the external memory 75, the network, or the like, or obtains it from the input unit 60 based on a program read from the main memory 74, the external memory 75, the network, or the like. The user input is processed and interpreted as memo data to obtain memo data. It is assumed that the memo data is prepared in advance when it is directly read from the main memory 74, the external memory 75, the network, or the like.
[0144]
  The CPU 70 as the association information acquisition unit 64 obtains the association information from the main memory 74, the external storage 75, the network, or the like, or processes the user input obtained from the input unit 60 and interprets it as the association information. To get. Note that processing for processing user input to obtain association information is based on a program read from the main memory 74, the external memory 75, a network, or the like. In addition, it is assumed that when the association information is directly read from the main memory 74, the external memory 75, the network, or the like, it is prepared in advance.
[0145]
  Note that the memo data and the association information are data corresponding to each other, and therefore, when recorded, it is more convenient to record them as integrated data in many cases. Whether it is more convenient to integrate with content data depends on how you use it.
[0146]
  The CPU 70 as the content margin specifying unit 69 includes the acquired layout possible range, the content layout range obtained from the content layout range obtaining unit 68, and the content data obtained from the content data layout obtaining unit 65 (each display target element). A margin area in which the content data is not laid out is extracted from the layout data.
[0147]
  The CPU 70 obtains an already set layout possible range from the main memory 74, the external storage 75, the network, or the like, or displays the display range acquisition means 61 based on a program read from the main memory 74, the external storage 75, the network, or the like. Get the possible layout range from.
[0148]
  The CPU 70 as the memo data layout range acquiring unit 59 is obtained from the margin range obtained from the content margin specifying unit 69 and the memo data acquiring unit 63 based on a program read from the main memory 74, the external storage 75, a network, or the like. From the memo data, a memo layout range that does not overlap with the layout of the content data (each display target element), is equal to or less than a predetermined ratio, or is equal to or less than a predetermined area is obtained.
[0149]
  The CPU 70 as the memo data layout acquisition unit 66 obtains already created memo data from the main memory 74, the external storage 75, the network, etc., or acquires memo data associated with the layout content data. The memo layout data obtained from the means 63 is laid out in the memo layout range obtained from the memo data layout range acquisition means 59 in accordance with the layout policy of the memo data, and memo layout data is obtained.
[0150]
  Note that the memo data layout acquisition means 66 is based on the program read from the main memory 74, the external storage 75, the network, etc., and the association information obtained from the association information acquisition means 64 and the content obtained from the content data layout acquisition means 65. Memo data associated with the content data is acquired from the data layout data.
[0151]
  The CPU 70 as the layout output unit 67 is based on the content data layout data obtained from the content data layout acquisition unit 65 and the memo data layout acquisition unit 66 based on a program read from the main memory 74, the external storage 75, a network, or the like. In accordance with the obtained memo layout data, the content data and the memo data are associated based on association display information included in the association information and displayed / output on the display 71, the printer 72, and the like.
[0152]
  FIG. 6 shows an example of the appearance of a display device according to the present invention. A display / tablet 91 is provided on the main body 90, and a pen 92 is provided as input means. The display / tablet 91 corresponds to an output destination device (display 71, tablet 73, etc.). In the figure, the size of the display / tablet 91 is the size of the layout possible range.
[0153]
  By operating the pen 92 on the display unit / tablet 91, handwritten data can be input. The display function of the display unit / tablet 91 corresponds to the display 71 of FIG. 5, and the combination of the tablet function of the display unit / tablet 91 and the pen 92 corresponds to the tablet 73 of FIG. On the display / tablet 91, as shown in FIG. 6, the layout of content (for example, text), the layout of memos, association information (for example, underline), and the like are displayed.
[0154]
  As an operation example using this apparatus, a series of operations for displaying a memo by associating a memo with a certain text will be described.
[0155]
  FIG. 7 shows the display unit / tablet 91 extracted and written, and the text “conventionally, document...” Is laid out and displayed as content data. It is assumed that there is no memo data at this point.
[0156]
  FIG. 8 is a diagram showing a state in which a part of the text of the content data is selected using the pen 92 on the display unit / tablet 91. In FIG. 8, the part “document” in the text is selected. This “document” becomes the reference part of the memo. There are various selection methods such as a method using a mouse or a keyboard. Here, it is assumed that the selection range is dragged with the pen 92. In order to make the selected text portion easy to understand, the color of the selected text portion is inverted and displayed.
[0157]
  Note that these selection methods are general methods for an OS (Operating System) or an application that handles a GUI (Graphical User Interface), and thus a description of a specific implementation method is omitted.
[0158]
  After selecting a part of the text of the content data, set the memo data. Although various setting methods can be considered, FIG. 9 shows an example in which a dialog window for setting is displayed. This dialog window is assumed to be displayed over the text display of the content data.
[0159]
  In the frame next to the “text” portion in FIG. 9, characters can be input, and the user can input the contents of the memo. In FIG. 9, the content “document” is entered.
[0160]
  It is assumed that the text is input by character recognition using the pen 92 and the display unit / tablet 91, a soft keyboard, or an external keyboard.
[0161]
  In the dialog window of FIG. 9, “display position” under “text” is an input unit that specifies in what margin the memo is displayed relative to the reference portion of the content data. Here, “line spacing” and “periphery” can be selected with the radio buttons as margins, and “line spacing” is designated in FIG.
[0162]
  The “reference display” below it is an input unit for specifying how to display the reference portion of the content data. Here, “underline” and “frame” can be selected by radio buttons, and “underline” is designated in FIG.
[0163]
  In addition to “display position” and “reference display”, various types of memo data settings can be considered. However, for the sake of explanation here, these are only limited to these two. So that the user can set it.
[0164]
  When the setting in the memo setting dialog is completed in FIG. 9, the “OK” button is pressed to confirm the setting. Then, layout processing and display processing of memo data and content data as will be described later are performed, and the reference portion “document” is underlined and displayed as shown in FIG. The content “document” of the memo associated with “document” is displayed. In FIG. 10, a frame is drawn with a dotted line in the row range for the purpose of explanation later, but this is for explanation and is not actually displayed.
[0165]
  The outline of a series of procedures from the display of the content data to the selection of the reference portion, the setting of the memo data, the layout, and the display has been described above. Hereinafter, the layout and display processing will be mainly described in detail.
[0166]
  FIG. 11 is a flowchart showing a display method according to an embodiment of the present invention. This corresponds to the processing executed on each means of the display device described above.
[0167]
  First, when the memo data acquisition unit 63 acquires memo data in step S1 (hereinafter, “step S” is abbreviated as “S”), the process proceeds to S2. The definition of the memo data is as described above. Since the method of acquiring memo data is not the gist of the present invention, a detailed description is omitted. However, the data obtained from the input means 60, that is, text data or handwritten data input by the keyboard 78, the tablet 73, etc., and processed by the input means 60 Or data read from data recorded in the main memory 74 or the external memory 75 in advance.
[0168]
  FIG. 12 is a diagram for explaining an example of the memo data structure. Each row 1 to 3 is one memo data, and the whole is an array of a plurality of memo data, and each memo data can be accessed by an index number.
[0169]
  The contents of each memo data are composed of “type”, position “X” “Y”, size “W” “H”, “association data”, “content”, “layout” as shown in the figure.
[0170]
  “Type” indicates the type of memo data such as text (TEXT), handwritten data (FREEHAND), and image (IMAGE).
[0171]
  The positions “X” and “Y” are positions in the entire layout (the entire layout 40), and are in the same coordinate system as the positions of the display target elements in FIG.
[0172]
  The sizes “W” and “H” are standard sizes when the memo data is displayed, and those that can be decomposed and re-laid out like text data are “variable”. The handwritten data and images have a fixed size (however, it is not impossible to expand and contract the handwritten data and images as a whole).
[0173]
  “Association data” indicates an access means to data of association information associated with this memo. For example, in the form in which the association data is held in the memory, the “association data” is an address of the data. Here, in order to make it easy to understand, it is expressed by a number given to the association data in FIG. In some cases, the association data may be plural.
[0174]
  “Content” changes depending on the type of memo data. For example, text data is a character string or font information thereof, handwritten data is stroke data, and image is bitmap data (image data) or data indicating the recording location. And so on.
[0175]
  “Layout” refers to layout data of memo data to be created later.
[0176]
  In S2 (association information acquisition step), the association information acquisition unit 64 obtains association information between the reference data and the memo data, and the process proceeds to S3. The definition of the association information is as described above. As for the data acquisition method in the association information acquisition means 64, as with the memo data, information relating to the association method that is input through the keyboard 78, the tablet 73, etc. Or data obtained by reading association information recorded in advance in the main memory 74 or the external memory 75.
[0177]
  FIG. 13 is a diagram for explaining an example of the data structure of the association information. Data 10, 20, and 30 enclosed by dotted lines are one piece of association data, and the whole is an array of a plurality of pieces of association data, and each piece of association data can be accessed by an index number. The association data is roughly divided into three types: “memo data list”, “reference data list”, and “relevant display method”.
[0178]
  The “memo data list” is an array of “information related to memo data” associated with the association data. Here, “information about memo data” is a set of “information specifying memo data” and “information about a method for displaying memo data”.
[0179]
  “Information specifying memo data” is, for example, data 11, 21, 31, 33 in FIG. 13, and the memo data numbers shown in FIG. 12 are recorded here. “Information about how to display memo data” is data 12, 22, 32, and 34 in FIG. 13, but the meaning of the contents of the data will be described later.
[0180]
  The “reference data list” is an array of “information regarding reference data” associated with the association data. Here, the “information about reference data” is a set of “information for specifying reference data” and “information about a method for displaying a reference portion so as to be visible (a method for displaying a related display of reference data)”. In FIG. 13, “information for identifying reference data” is data 13, 23, 25, and 35, and “information about a method for displaying the reference portion so as to be visible” is data 14, 24, 26, and 36.
[0181]
  “Information specifying the reference data” corresponds to “data position” of the layout data of the display target element in FIG. For example, if the fifth display target element from the top to the seventh display target element are used as reference parts, the information specifying the reference data is “5-7”.
[0182]
  The meaning of “information about how to display the reference portion so as to be visible” will be described later.
[0183]
  The “relevant display method” represents a method of displaying the association between the reference data and the memo data, and is data 15, 27, 37 in FIG. The meaning of the data will be explained later.
[0184]
  In S3, the content data acquisition unit 62 acquires content data. The definition of content data is as described above. In the following, it is assumed that it is described in plain text for easy understanding. The content data is obtained by the content data acquisition means 62 reading the content data recorded in advance in the main memory 74 or the external memory 75 or reading it via the network.
[0185]
  In S4, the memo data layout acquisition unit 66 obtains information on whether or not to display a memo, and the process proceeds to S5. .
[0186]
  Information about whether or not to display a memo (referred to as memo ON / OFF information) may be obtained from an application or apparatus that implements the present invention. That is, the memo data layout acquisition unit 66 acquires memo ON / OFF information recorded in advance in the main memory 74 or the external memory 75. Further, the memo data layout acquisition unit 66 may acquire memo ON / OFF information via the input unit 60 by asking the user. Alternatively, the memo data may already contain the information, and the memo data layout acquisition unit 66 may acquire the memo ON / OFF information together with the memo data.
[0187]
  Whether or not to display a memo may be determined in advance for all memo data depending on application or device settings, or may be determined for each memo data or each type of memo data.
[0188]
  Here, it is assumed that all the memo data is determined collectively according to application or device settings. Here, the memo ON / OFF information is obtained as a collective value for the entire memo data, but the memo ON / OFF information is provided for each memo data in the memo data of FIG. 12 and the association information of FIG. By doing so, it is possible to specify whether to display for each memo data.
[0189]
  In S5, based on the memo ON / OFF information obtained in S4, the memo data layout acquisition unit 66 determines whether to display the memo. When displaying a memo, the process proceeds to S6 via a connecting point P10 (hereinafter, “connecting point P” is abbreviated as “P”), and when not displaying a memo, the process proceeds from S5 to S7. The display process is performed. In addition, about the content of S7, description of below-mentioned S6-6 corresponds.
[0190]
  In S6 (display step), content data, memo data, and the like are displayed by the layout output means 67 without changing the layout of the content data to display the memo data, and the process ends after P100. Details of the processing in S6 will be described later.
[0191]
  Thus, a series of processes for displaying the memo data and the content data in association with each other can be performed. Note that the order of the processing of S1 to S3 does not have to be in this order, and may be changed as appropriate.
[0192]
  FIG. 14 is a flowchart for explaining a detailed example of the process of S6 of FIG. 11, that is, the layout output means 67 displays the laid-out memo data and content data on, for example, the display unit / tablet 91 described above. is there.
[0193]
  When the process proceeds from P10 to S6-1 (layout possible range acquisition step), the display range acquisition unit 61 acquires the layout possible range of the display / output medium, and the process advances to S6-2. That is, in S6-1, the layout possible range is designated by a user operation via a keyboard, a mouse or the like, a document display program, or a display / output destination device, and is input to the display range acquisition unit 61.
[0194]
  In S6-2, the content layout range acquisition unit 68 acquires the display layout range (content layout range) of the content data, and the process proceeds to S6-3. As described above, the content layout range acquisition unit 68 obtains a content layout range that has already been set from the main memory 74, the external storage 75, the network, or the like, or is read from the main memory 74, the external storage 75, the network, or the like. Based on the above, the content layout range is obtained based on the possible layout range obtained from the display range obtaining means 61.
[0195]
  For example, in FIG. 1, the content layout range in the X-axis direction is the range of XL to (XL + CW) in terms of the X-coordinate value of the line width CW excluding the left and right margins XL and XR. The content layout range in the Y-axis direction is a portion excluding the upper and lower margins YT and YB. In terms of the Y coordinate value, the range is YT to (YT + CH), but the layout of the content data has not yet been acquired. Therefore, the value of CH has not yet been determined. On the contrary, after the layout of the content data is determined and CH is determined, (YT + CH + YB) is set as the height of the entire layout 40. Therefore, the height of the layout range of the content data is not limited by the value of CH, but is actually limited only to the value of YT.
[0196]
  In S6-3, the content data layout acquisition unit 65 acquires or generates a display layout of content data (layout data of each display target element), and the process proceeds to S6-4 via P30. That is, the content data layout acquisition unit 65 acquires already created layout data from the main memory 74, the external memory 75, the network, and the like.
[0197]
  Alternatively, the content data layout obtaining unit 65 obtains the content data obtained in S3 from the content data obtaining unit 62, obtains the content layout range obtained in S6-2 from the content layout range obtaining unit 68, and obtains the layout data. Generate.
[0198]
  Here, it is assumed that the display layout of content data includes an array of rows, each row has an array of display target elements as shown in FIG. 3, and the layout of the display target elements is as shown in FIG.
[0199]
  In general, the layout data of FIG. 2 can be set before layout in S6-3 except for the positions X and Y. For example, the size of characters and images is preset and can be known (Note that even if the size of the characters changes depending on the display settings, if the display settings can be known, the size of the characters can also be known. ).
[0200]
  Therefore, to create a layout, as shown in FIG. 2, display target element data (component data) arranged in accordance with the layout, and data other than the X and Y terms are predetermined. The X and Y terms are set for each component data.
[0201]
  When creating layout data having a row structure as shown in FIG. 3, the position (X, Y), size (W, H) of a row, and which display target element is placed in which row (display target element) Array), and so on.
[0202]
  Hereinafter, a method for laying out the content data (display target element) in the layout range of the content data will be described.
[0203]
  For example, it is assumed that plain text is laid out in a horizontal row within the layout range (width CW) of FIG. The upper margin of the layout range is YT, the character sizes are all the same (WC, HC), the inter-character width is IC, and the inter-line height is IL.
[0204]
  First, lay out the first character. The position is determined as the upper left position (XL, YT) at the margin. Then, the identification information (for example, data position) of the first character (display target element) is substituted into the item of the display target element array in the current row 80 (see FIG. 3). Here, 1 as the data position of the first character is substituted as the display target element array in the row 80.
[0205]
  When the display target element array is updated, the row position (X, Y) and size (W, H) are also updated. In the above case, since the display target element is the first character, the position (XL, YT) in the row 80 remains unchanged, and the character size (WC, HC) is substituted for the size (W, H).
[0206]
  When the next character is laid out, first, identification information (data position 2) of the next character is added to the display target element array in the row 80. The position of the next character is a position (XL + WC + IC, YT) shifted laterally by (the width of the previous character + the width between characters). The position of the line 80 is not changed, and the width is increased by ((width for one character) + (width between characters)) to become (WC × 2 + IC, HC).
[0207]
  Similarly, when the next character is laid out, the character position is (XL + (WC + IC) × 2, YT), the position of the row 80 is not changed, and the size is (WC × 3 + IC × 2, HC).
[0208]
  You can add characters to the line one after another in the same way. Since the display target elements are added in the horizontal direction of the row, all the Y coordinate values of the display target elements are the same, and only the X coordinate value is increased. In addition, the position and height of the row does not change, and only the width increases.
[0209]
  And when it exceeds the width of the layout range, that is, with the nth character arranged in one line,
(Right edge position of character)-(right edge position of layout range)
= (XL + WC × n + IC × (n−1)) − (XL + CW) <0
The line to be laid out in the next line 81 changes. Alternatively, when a line feed character comes, the next line 81 is a line to be laid out.
[0210]
  The X coordinate value of the first character added to the next line 81 is returned to the position at the beginning of the previous line 80 as XL, and the Y coordinate value is (the previous line position + the height of the previous line + the height between lines). Just do it. Therefore, the position of the first character in the next line 81 (= the position of the next line 81) is (XL, YT + HC + IL).
[0211]
  By repeating these processes, a layout of display target elements having a row structure can be created.
[0212]
  Depending on the content data, it may be necessary to perform a more complicated layout process, but here, if the content layout range obtained in S6-2 is determined and the content data is poured into the content data layout acquisition means 65, It is assumed that processing based on the above layout processing is performed by the same means 65 and layout data is obtained.
[0213]
  In S6-4, the memo data layout range obtaining unit 59 obtains the display layout range of the memo data, that is, the memo layout range based on the margin range of the layout obtained by the content margin specifying unit 69. The process proceeds to. Details of the processing here will be described later.
[0214]
  In S6-5 (memo layout generation step), the memo data layout acquisition unit 66 generates memo layout data, and the process proceeds to S6-6. That is, in S6-5, the memo data obtained in S1 is laid out in the memo layout range generated in S6-4.
[0215]
  The layout of the memo data varies depending on the type of memo data, but the basic data structure may be considered the same as in FIG. For example, if the memo data is an image or handwritten data that cannot be decomposed or re-laid out, the size (W, H) is fixed and only the position (X, Y) can be changed. Therefore, the memo data is simply laid out and positioned as it is.
[0216]
  On the other hand, in the case of text data that can be decomposed and re-laid out, each character is a display target element, and the memo layout data is an array of a plurality of component element data.
[0217]
  The layout method of each display target element within the determined memo layout range is the same as the content data layout method of S6-3.
[0218]
  In S6-6, according to the layout data of the content data acquired by the content data layout acquisition unit 65 in S6-3, the layout output unit 67 outputs the layout possible range acquired by the display range acquisition unit 61 in S6-1. Display content on display / output media. When the process of S6-6 is completed, the process proceeds to S6-7 via P90.
[0219]
  In S6-7, according to the memo layout data obtained by the memo data layout obtaining unit 66 in S6-5, the memo data obtained by the memo data obtaining unit 63 in S1 and the association information obtained by the association information obtaining unit 64 in S2. Is displayed by the layout output means 67, and the process exits to P100. Details of the processing here will be described later along with processing examples.
[0220]
  By the processes of S6-1 to S6-7, the process of S6 of FIG. 11, that is, the process of laying out and displaying the memo data and the content data can be performed.
[0221]
  FIG. 15 is a flowchart for explaining a detailed example of the process of S6-4 of FIG. 14, that is, the memo data layout range acquisition unit 59 obtains the memo layout range. The process here is also related to the display process of S6-7, and changes depending on the policy of layout. In the description here, one processing example is shown in which the layout range of memo data with little overlap is obtained as much as possible near the reference portion in accordance with the user's specification.
[0222]
  FIG. 16 is a diagram for explaining a margin range for defining a memo layout range. As in the overall layout diagram of FIG. 1, the layout of the content data is shown in units of lines such as the shaded lines 80 to 85 for easy processing. The margin range is indicated by ranges 101-136. Here, the layout of the content data, that is, the margin range that does not overlap with the lines 80 to 85 is shown.
[0223]
  FIG. 17 is a diagram illustrating the data structure and data example in the range 101 to 136 in FIG. Each of the ranges 101 to 136 has data of “type”, “X”, “Y”, “W”, “H”, and “adjacent margin range array”. “Type” represents the type of the range, but here represents the type of margin range (periphery, line spacing, etc.) based on the arrangement in the entire layout 40.
[0224]
  For example, as specific information of “kind”, “Lt” (abbreviation of “Left”) means a margin range arranged at the left end, “Rt” (Right) is the right end, and “Tp” (Top) is The upper end and “Bm” (Bottom) mean the margin range respectively arranged at the lower end.
[0225]
  “Bd” (Border) means a margin range around the content layout range. Further, “BL” (Between Lines) means a space between lines, and “OL” (On Line) means a margin range arranged on the extension of the line.
[0226]
  These types can be combined. Further, here, for the sake of easy understanding, the “type” information is shown as a character string, but it is usually not a character string but a flag.
[0227]
  “X”, “Y”, “W”, and “H” represent an X position, a Y position, a width, and a height. Here, the position is represented by the position of the upper left corner of each of the ranges 101 to 136. As the coordinate system for this purpose, as described above, an XY orthogonal coordinate system in which the upper left corner of the entire layout 40 is the origin, the right direction is the + X direction, and the lower direction is the + Y direction is used.
[0228]
  The “adjacent margin range array” indicates a range adjacent to the focused range. Here, the range located diagonally is not included in the “adjacent margin range array”, but is limited to the range located vertically and horizontally. Also, the row layout ranges 80 to 85 are not included in the adjacent range targets.
[0229]
  In S6-4-1 (margin specifying step) through P30 shown in FIG. 15, the content margin specifying unit 69 specifies a margin range where the content data is not laid out, and generates margin layout data. When the process of S6-4-1 is completed, the process proceeds to S6-4-2 via P31. The margin specifying process here will be described in detail later, and it is assumed that the margin layout data as shown in FIG. 17 is obtained as a result of the process.
[0230]
  In S6-4-2, the memo data layout acquisition unit 66 obtains the position of the reference portion of the content data from the association information obtained by the association information acquisition unit 64 in S2, and the process proceeds to S6-4-3.
[0231]
  As for the position of the reference portion, the data position of the reference data is obtained from “information specifying the reference data” (data 13, 23, 35, or 35) in the “reference data list” of FIG. For example, in the case of the information 13 specifying the reference data of the association information 10 in FIG. 13, the data position of the reference data is “5-7”. Thereby, it is understood that the reference part is the fifth to seventh display target elements.
[0232]
  Further, it can be determined which row range they belong to by whether or not the display target element array of each row 80 in FIG. 3 includes the display target element at the data position specified as the reference portion. Since the line to which the reference part belongs may be one line or a plurality of lines, information on the line to which the reference part belongs is obtained as an array of lines.
[0233]
  Then, the memo data layout acquisition unit 66 sequentially scans the content layout data of FIG. 2 and compares the “data position” of FIG. 2 with the data position of the reference data of FIG. This means that the position display target element can be specified as the reference data corresponding to the memo data.
[0234]
  Then, by looking at the positions “X”, “Y”, “W”, “H” of the layout data (FIG. 2) of the reference data, the layout range of the reference data can be obtained. For example, in FIG. 16 described later, it is assumed that a range 100 located slightly to the right in the row 81 is obtained as a reference portion. When the reference portion is composed of a plurality of display target elements, the reference data is an array of the constituent element data, but it is difficult to handle if the reference data is divided into each display target element. Therefore, it is easier to handle a plurality of display target elements included in the same row if they belong to one range as their circumscribed rectangle.
[0235]
  Further, when a plurality of memo data is associated with one reference data as in the data 30 of FIG. 13, a loop process is performed for the associated memo data in the processing after S6-4-3. Then, layout generation processing and display processing may be performed. However, in order to simplify the description, the loop processing is omitted in FIG.
[0236]
  Further, there may be a case where one piece of memo data is associated with a plurality of reference data like the data 20 in FIG. In this case, the memo layout is determined when the previously laid out reference data is processed. Therefore, it is not necessary to create a memo layout again for the reference data processed later.
[0237]
  Whether or not a memo layout has already been created can be seen by looking at the “Layout” section of FIG. If the memo layout has already been created, it is not necessary to perform the processing after S6-4-2 and the processing of S6-5 on the memo data. However, in order to simplify the explanation here, the step of checking whether or not the memo layout has already been created is omitted in the steps S6-4-2 and the subsequent steps and S6-5.
[0238]
  In S6-4-3, the memo data layout acquisition unit 66 acquires the designated layout method (layout method) specified for the memo data, and the process proceeds to S6-4-4. The designated layout method is information on the location where the user wrote the memo in the layout possible range when the memo was created, the display method, etc., and is specified by the user in the dialog window shown in FIG. Is set.
[0239]
  For example, “space” is used for displaying a memo between lines, and “margin” is used for displaying in a margin. This is obtained from “information on how to display memo data” (data 12, 22, 32, or 34) in FIG. 13 when the association information acquisition means 64 reads the association information in S2.
[0240]
  Since the meaning of the memo changes depending on the memo creation position, the ease of understanding and how the memory stays, etc., it seems better to display the memo at the original creation position as much as possible. I have information. Unless otherwise specified, “line spacing” or the like may be appropriately set as a default.
[0241]
  In S6-4-4, the memo data layout acquisition unit 66 determines whether or not the designated layout method is “line spacing”. If it is line spacing, the process proceeds to S6-4-5 via P32, and if not, P34. Through S6-4-7.
[0242]
  In S6-4-5, the memo data layout acquisition unit 66 determines whether or not the memo data can enter between the lines near the reference portion, and if so, the process proceeds to S6-4-6 via P33. If not, the process proceeds to S6-4-7 via P34. The process in S6-4-5 will be described in detail later.
[0243]
  Note that in S6-4-5, the memo data layout acquisition unit 66 identifies the line spacing near the reference portion. At this time, the memo data layout acquisition unit 66 specifies the line spacing based on the margin range obtained from the content margin specifying unit 69 in S6-4-1.
[0244]
  In S6-4-6, the memo data layout acquisition unit 66 sets the margin range specified in S6-4-5 as the memo layout range, and the process goes to P40.
[0245]
  In S6-4-7, when the designated layout method is not “line spacing” in S6-4-4, or when the memo data cannot be completely inserted between the lines near the reference portion in S6-4-5, The acquisition means 66 determines whether or not the memo data can enter the surrounding margin near the reference portion. As a result, if it can enter, the process proceeds to S6-4-8 via P35, and if it cannot enter, the process proceeds to S6-4-9 via P36. The process in S6-4-7 will be described in detail later.
[0246]
  In S6-4-8, the margin range determined by the memo data layout acquisition means 66 when the memo data has entered in S6-4-7 is set as the memo data layout range by the means 66, and the process goes to P40. .
[0247]
  In S6-4-9, if the memo data does not fit in the surrounding margin near the reference portion in S6-4-7, it is noted whether the memo data can enter the large margin portion as close as possible to the reference portion. The data layout acquisition means 66 determines and if it can be entered, the process proceeds to S6-4-10 via P37, and if not, the process proceeds to S6-4-11 via P38. The processing in S6-4-9 will be described in detail later.
[0248]
  In S6-4-10, the means 66 sets the large margin range obtained in S6-4-9 as the memo data layout range, and the process goes to P40.
[0249]
  In S6-4-11, when the margin in which the memo data can be entered cannot be specified even in S6-4-9, the memo data layout acquisition unit 66 searches for a range in which the laid-out contents and the memo overlap as little as possible. The specified margin range is set as the layout range of the memo data, and the process goes to P40. The margin range specified here may be selected from the margin range having the smallest overlap held in S6-4-8-2 described later.
[0250]
  Since the memo layout range is also related to the display method, it will be described in the description of the detailed processing in S6-7.
[0251]
  By the processes from S6-4-1 to S6-4-11, the process of S6-4 in FIG. 14 can be performed.
[0252]
  FIG. 18 is a flowchart for explaining a detailed example of the process of S6-4-1 of FIG.
[0253]
  In S6-4-1-1 after P30, the difference between the layout possible range obtained by the display range obtaining unit 61 in S6-1 and the content layout range obtained or generated by the content layout range obtaining unit 68 in S6-2. Is determined by the content margin specifying means 69. Subsequently, the means 69 divides the range of the difference by an extension line of the outer frame of each row 80, as shown in FIG. 16, and specifies it as a new margin range, and as shown in FIG. The range X, Y, W, H, and the adjacent margin arrangement are set, and the process proceeds to S6-4-1-2.
[0254]
  FIG. 19 is a diagram for explaining this processing. The basic structure of the diagram is the same as that of FIG. 16, but the range is not yet divided as in FIG. In FIG. 19, the layout possible range is shown as the entire layout 40, and the content layout range is shown as the layout range 140 by hatching.
[0255]
  Here, the range of the difference between the layout possible range and the content layout range is a portion obtained by removing the layout range 140 from the entire layout 40, and is a white portion around the layout range 140.
[0256]
  In FIG. 19, the white portion is already divided into the ranges 101, 113, 114, 126, 127, 136, 141, 142, but the ranges 101, 113, 114, 126, 127, 136, 141, 142 are To find out, first, the lines on the top, bottom, left, and right ends of the layout range 140 are extended to divide the entire layout 40. In FIG. 19, the dividing line is indicated by a dotted line.
[0257]
  If the top, bottom, left and right margins YT, YB, XL, and XR are not 0, the entire layout 40 is divided into nine ranges in total. The remainder of the area excluding the same area as the layout area 140 becomes (margins) areas 101, 113, 114, 126, 127, 136, 141, 142.
[0258]
  The position and size values of each range 101... Can be obtained using the size of the entire layout 40 and the position and size of the layout range 140. For example, the size of the range 101 is
(W (101), H (101)) = (X (140), Y (140))
                              = (XL, YT),
The position of the range 142 is
(X (142), Y (142)) = (X (140) + W (140), Y (140))
                              = (XL + CW, YT),
It becomes.
[0259]
  Similarly, FIG. 20 shows data obtained for the positions and sizes of the respective ranges 101. Each item shown in FIG. 20 is the same as FIG. Although it is not necessary to obtain the adjacent margin arrangement at this point, it is noted for the sake of safety. A method for obtaining the adjacent margin arrangement will be described later. Here, the values of the top, bottom, left and right margins YT, YB, XL, and XR are all 20, and the height between rows is all 14.
[0260]
  For example, the range 101 is located at the origin and has a size of 20 × 20. The ranges 113, 114, 126, 127, 136, 141, 142 are recorded in the same manner.
[0261]
  For the processing and explanation in S6-4-1-1, data relating to the entire layout 40 and the layout range 140 are also shown in FIG. The entire layout 40 is located at the origin and has a size of 140 × 194, and a layout range 140 with 20 margins in the vertical and horizontal directions is located at (20, 20), and the size is 100 × 154. It is.
[0262]
  In S6-4-1-2, the content margin specifying unit 69 sets the types of the ranges 101, 113, 114, 126, 127, 136, 141, 142 of FIG. 20 obtained in S6-4-1-1. , The process proceeds to S6-4-1-3. Since the ranges 101, 113, 114, 126, 127, 136, 141, 142 are ranges around the layout range 140, all the values of “Bd” are included.
[0263]
  In S6-4-1-3, the content margin specifying unit 69 converts the layout range 140 and the ranges 101, 113, 114, 126, 127, 136, 141, 142 in FIGS. 19 and 20 into the rows 80 to 80 in FIG. Dividing by the extension line of each outer frame of 85, excluding the range of rows 80-85, generating new ranges 102-112, 115-125, X, Y, W of each range 102-112, 115-125 , H, adjacent margin arrangement is set, and the process proceeds to S6-4-1-4.
[0264]
  A range obtained by dividing the entire layout 40 and excluding the ranges of the rows 80 to 85 is a (margin) range 101 to 136 in FIG. As in FIG. 19, the dividing line is indicated by a dotted line. For example, the range 141 in FIG. 19 is divided by the outer frame lines of the rows 80 to 85 and is divided into the ranges 102 to 112. The ranges 127, 142, and 136 are similarly divided.
[0265]
  A range obtained by dividing the layout range 140 and excluding the ranges of the rows 80 to 85 is a range 128 to 135. Rows 80-82, 84, 85 are the same width, but row 83 is short, so ranges 130-134 are finely divided.
[0266]
  The position and size values of each margin range can be obtained by using the positions and sizes of the rows 80 to 85 (FIG. 3) and the data of FIG.
[0267]
  For example, the position and size of the range 103 can be expressed by expressing the rows 80 and 81 that contribute to the division of the range 103 as “upper row” and “lower row”.
(X (103), Y (103)) = (0, Y (upper row) + H (upper row))
                              = (0, Y (80) + H (80))
(W (103), H (103)) = (W (141), Y (downward) -Y (103))
                              = (W (141), Y (81) -Y (80)-
                                H (80))
It becomes.
[0268]
  Further, the position and size of the range 132 can be expressed by expressing the line 83 as “accompanying line”.
(X (132), Y (132)) = (X (accompanying) + W (accompanying), Y (accompanying))
                              = (X (83) + W (83), Y (83))
(W (132), H (132)) = (W (140) -W (accompanying), H (accompanying))
                              = (W (140) -W (83), H (83))
It becomes.
[0269]
  The data obtained in the same manner is the positions and sizes of 101 to 136 in FIG.
[0270]
  In S6-4-1-4, the content margin specifying unit 69 sets the type of the range 101 to 136, and proceeds to S6-4-1-5.
[0271]
  The ranges 141 and 142 are divided into ranges 102 to 112 and 115 to 125, but the state of the margins around the layout range 140 does not change, so the type “Bd” of the ranges 141 and 142 remains unchanged. Take over and add types as needed.
[0272]
  When touching the entire layout 40 somewhere, it has values such as Lt (left end), Tp (upper end), Rt (right end), and Bm (lower end). Judgment condition is
    In the case of Lt: X (range) = 0
    In the case of Tp: Y (range) = 0
    In the case of Rt: X (range) + W (range) = W (40)
    In the case of Bm: Y (range) + H (range) = H (40)
It depends on whether or not each expression is satisfied.
[0273]
  Since the ranges 101 to 126, 127, and 136 are in contact with the entire layout 40 somewhere, at least one value of Lt, Rt, Tp, and Bm is included. For example, since the range 101 is in contact with the left end and the upper end of the entire layout 40, the type is “Lt, Tp, Bd”.
[0274]
  In the ranges 102, 104, 106, 108, 110, 112, 115, 117, 119, 121, 123, 125, 132, the type “OL” (on line extension) is added. This can be considered in terms of the Y coordinate, and it may be compared whether each range includes rows 80 to 85. If expressed as an expression:
    Y (row) + H (row) <Y (margin range)
Or
    Y (margin range) + H (margin range) <Y (line)
If either of these is satisfied, it is not “OL”, otherwise it is “OL”.
[0275]
  In the example of the figure, since the range 102 is located on the left side of the row 80, it is “OL”, and the range 103 is located between the row 80 and the row 81 and overlaps with the rows 80 and 81 with respect to the Y coordinate. Because there is no, it is not “OL”.
[0276]
  Among the ranges 128 to 135 generated by dividing the layout range 140,
    Y (line) + H (line) <= Y (margin range)
And,
    Y (margin range) + H (margin range) <= Y (next line)
Those satisfying the condition have the value of the line spacing “BL”. Therefore, a value other than the range 132 has a value of “BL”.
[0277]
  In S6-4-1-5, the content margin specifying unit 69 sets the adjacent margin arrangement in the range 101 to 136, and the process goes to P31.
[0278]
  When setting the adjacent margin arrangement, you can use the division procedure to narrow down candidates of which margins can be adjacent, or add information that they are adjacent to each other every time you divide, Here, the method will be described simply by comparing with all ranges.
[0279]
  Range A and Range B are
    (B is adjacent to the right of A): X (A) + W (A) = X (B)
    (B is adjacent to A below): Y (A) + H (A) = Y (B)
    (B is adjacent to the left of A): X (B) + W (B) = X (A)
    (B is adjacent to A): Y (B) + H (B) = Y (A)
If either of these conditions is satisfied, they are adjacent to each other.
[0280]
  This condition search process may be performed for all margin ranges. By using the same processing method between the row ranges 80 to 85 and the margin ranges 101 to 136, the arrangement of the margin ranges adjacent to the row range can be obtained as shown in FIG.
[0281]
  By the above-described processing of S6-4-1-1 to S6-4-1-5, the processing of S6-4-1 in FIG. 15 can be performed, and the margin range in FIGS. 16 and 17 can be specified. .
[0282]
  FIG. 21 is a flowchart for explaining a detailed example of the process of S6-4-5 in FIG.
[0283]
  In S6-4-5-1 after P32, the memo data layout acquisition unit 66 is adjacent to the row to which the reference portion obtained by the unit 66 in S6-4-2 belongs (hereinafter referred to as a reference row). Obtains the BL margin range.
[0284]
  Since the margin range adjacent to the row is obtained from the adjacent margin arrangement of the data shown in FIG. 3, a margin range of the BL (between rows) type may be extracted from the adjacent margin arrangement.
[0285]
  Since there are cases where there are adjacent lines above and below the focused line, and there are cases where the line spaces are divided in the horizontal direction (such as the ranges 130 and 131 shown in FIG. 16), the obtained margin range takes the form of an array. For example, in the case of the reference portion 100 in FIG. 16, adjacent margin ranges are an upper range 128 and a lower range 129 with respect to the row 81 to which the reference portion 100 belongs.
[0286]
  At this time, for example, a process of narrowing / prioritizing between the upper line and the lower line may be performed. As to which one is to be used, designation of “upper line spacing” or “lower line spacing” may be made in the “information about how to display memo data” in the memo data list of FIG. As a result, the memo data layout acquisition unit 66 can access the external storage 75 or the like storing the association information shown in FIG. 13 and acquire information between designated lines. If there is no designation, a predetermined routine may be set for either one.
[0287]
  In S6-4-5-2, the memo data layout acquisition unit 66 determines whether or not a margin range is obtained in S6-4-5-1. If the process proceeds to 3 and cannot be obtained, the process exits to P34.
[0288]
  In S6-4-5-3, the memo data layout acquisition unit 66 extends the margin range obtained in S6-4-5-1, and the process proceeds to S6-4-5-4. Although this extension is not necessarily performed, as shown in FIG. 37 to be described later, if the margin range obtained in S6-4-5-1 is not enough to place a note, the surrounding margins Until now, it is assumed that the text of the memo is laid out.
[0289]
  However, if the expansion policy is not decided when expanding, the expansion will be performed without limit. For example, in the case of the policy that the margin between the first rows may be expanded to the margin range adjacent to the side, the range between the rows in the range 129 in FIG. 16 can be expanded to the left and right ranges 105 and 118. Alternatively, if all the margin ranges adjacent in the right direction and the downward direction may be expanded, when expanding from the range 130, the ranges 131 to 134 and 120 to 126 can be expanded. In the case of traversal, the right direction and the downward direction are natural expansion directions, so that there is an advantage of being familiar. The method for examining the adjacency is as already described in S6-4-1-5.
[0290]
  In S6-4-5-4, the memo data layout acquisition means 66 determines whether or not the memo data can be laid out in the margin range obtained in S6-4-5-3. If it cannot be removed, the process goes to P34.
[0291]
  Whether the layout is possible can be determined by the means 66 trying a normal layout process. For example, in the case of FREEHAND or IMAGE memo data in FIG. 12, the size is fixed, and the size may be compared with the size of the specified margin range.
[0292]
  In the case of TEXT memo data, one character and one character are laid out. Therefore, the same processing as that described for the layout of content data in S6-3 of FIG. 14 may be performed. At this time, if the height of the margin range is lower than the character height, the memo cannot be laid out so that the line layout and the memo layout do not overlap. If the layout policy stipulates that there is no overlap between the content layout and the memo layout, it is determined that the memo layout is impossible at this point.
[0293]
  As a layout policy, when the overlap between the content layout and the memo layout is less than a predetermined area or a predetermined ratio, it is stipulated that the layout can be performed. The means 66 may determine whether the area or the ratio is calculated and whether it is a predetermined area or a predetermined ratio or less.
[0294]
  The overlap between the line layout and the character layout (display target element) of the memo is obtained as the remaining range except for the portion that overlaps the character layout range with respect to all the margin ranges obtained in S6-4-5-3. It is done.
[0295]
  Excluding overlapping parts is, for example,
  Y (margin) <Y (character) <Y (margin) + H (margin) <Y (character) + H (character)
The upper part of the character, that is, the range from Y (character) to Y (margin) + H (margin) overlaps the margin. Therefore, the lower part of the character excluding the upper part of the overlapping characters is in the range of Y (margin) + H (margin) to Y (character) + H (character), so the position Y of the lower part of the character '(Character remaining) and height H' (character remaining)
    Y ′ (character remaining) = Y (margin) + H (margin)
    H ′ (character remaining) = Y (character) + H (character) −Y ′ (character),
It becomes. Similarly, in the X direction, X ′ (character remaining) and W ′ (character remaining) are obtained.
[0296]
  This part overlaps the line because it is out of the margin range. In other words, if a memo is displayed in this state, the memo and the body line will appear to overlap. At this time, the area SO (character overlap) of the overlapping part of the memo and the body line is
    SO (character overlap) = H ′ (character remaining) × W (character) + H (character) × W ′ (character remaining) −H ′ (character remaining) × W ′ (character remaining)
It becomes.
[0297]
  If this is added to all the characters, the area SO (overlap of all characters) of the overlapped portion is obtained (If the overlapped portion is divided into two upper and lower margin ranges, the overlapped portion is individually set as an array of ranges. Manage the part that overlaps, and add them together when calculating the area).
[0298]
  On the other hand, the area SL (character) of one character laid out is
    SL (character) = W (character) × H (character),
If this is added for all characters, the area SL (all characters) of the layout portion of the memo is obtained.
[0299]
  If it is determined whether or not the overlap is less than or equal to the predetermined area, it is determined that the memo cannot be laid out when the SO (overall character overlap) exceeds the predetermined area, and the SO (all If the (character overlap) does not exceed a predetermined area, it is determined that a memo layout is possible.
[0300]
  If it is determined whether or not the overlap area is equal to or less than a predetermined ratio, it is determined that the memo cannot be laid out if (SO (overlap of all characters) / SL (all characters)) exceeds the predetermined ratio. It is determined that the layout is possible. In the case of the ratio, it is conceivable that the determination is performed sequentially one character at a time or the ratio is finally compared after laying out to the last character.
[0301]
  When the margin range is arranged in a horizontal line such as the ranges 105, 129, and 118, the area where each character overlaps the layout of the content based on the height of the margin range and the height of the memo character, Since the ratio is obtained, the determination process of the means 66 can be simplified.
[0302]
  Also, if the text size of the memo is constant, the ratio of the positive value (overlapping height), which is the height of the memo text to the height of the margin area, is relative to the line height. It is also possible to determine that this ratio is equal to or less than a predetermined value as a condition for permitting memo layout.
[0303]
  Note that if it is determined that the layout of the memo data and the text data can be overlapped if they are less than a predetermined ratio or area, the layout of the memo data and the text data partially overlaps the display result. This is called “display”.
[0304]
  S6-4-5 in FIG. 15 can be processed by the processes in S6-4-5-1 to S6-4-5-4.
[0305]
  FIG. 22 is a flowchart for explaining a detailed example of the process of S6-4-7 in FIG.
[0306]
  The process is almost the same as that in FIG. 21, and is different by S6-4-7-1.
[0307]
  In S6-4-7-1 after P34, the memo data layout acquisition unit 66 obtains a margin range of type Bd adjacent to the line to which the reference portion belongs in S6-4-1.
[0308]
  Since the margin range adjacent to the row is obtained from the adjacent margin array of the data shown in FIG. 3, a margin range of the type Bd (surrounding) may be extracted from the adjacent margin array. Since the corresponding margin range may exist on the top, bottom, left and right of the row, the obtained margin range takes the form of an array. For example, in the case of the reference portion 100 in FIG. 16, the margin range where the adjacent type is Bd is the left range 104 and the right range 117.
[0309]
  At this time, for example, a process of narrowing down / prioritizing to either the left range or the right range may be performed. As to which one is to be selected, it may be specified in the “information about how to display memo data” in the memo data list in FIG. If there is no designation, a routine determined in advance may be set. Alternatively, there is a method of selecting a margin range closest to the reference portion or selecting a margin range having the largest width (largest among XL, XR, YT, and YB).
[0310]
  For example, when selecting by distance, in FIG. 16, since the reference portion 100 is slightly from the right in the row range 81, the range 117 closer to the range 104 is selected.
[0311]
  Through the above processing, S6-4-7 in FIG. 15 can be processed.
[0312]
  FIG. 23 is a flowchart for explaining a detailed example of the process of S6-4-9 of FIG.
[0313]
  In S6-4-9-1 after P36, the memo data layout acquisition unit 66 obtains the “margin range maximum rectangular list”, and the process proceeds to S6-4-9-2 through P37.
[0314]
  “Maximum margin range rectangle” refers to a set of margin ranges that cannot be expanded anymore by integrating the margin ranges adjacent to a certain margin range into a rectangle and expanding the margin range. . For example, when the range 131 in FIG. 16 is expanded, a rectangle in which the six ranges 131, 132, 134, 120 to 122 are integrated is obtained. Further, when the range 130 is expanded, a horizontally long rectangle obtained by integrating the ranges 107, 130, 131, and 120 is obtained. The “margin range maximum rectangle list” is a collection of a plurality of margin range maximum rectangles determined in this way.
[0315]
  Details of the process of S6-4-9-1 will be described later.
[0316]
  In S6-4-9-2, the memo data layout acquisition unit 66 uses the margin range maximum rectangle in the margin range maximum rectangle list obtained in S6-4-9-1, and the margin range maximum rectangle in which the memo can be laid out. And the process proceeds to S6-4-9-3. Whether or not layout is possible may be determined by the same determination method as in S6-4-5-4. As a result of extraction, there may be no corresponding margin range maximum rectangle, or there may be a plurality of rectangles.
[0317]
  Even if there is no corresponding margin range maximum rectangle for processing in S6-4-11, one margin range maximum rectangle with the smallest overlap (area, ratio, etc.) is retained.
[0318]
  In S6-4-9-3, the means 66 determines whether or not there is a maximum margin range rectangle in which the memo obtained in S6-4-9-2 can be entered. If there is, the process proceeds to S6-4-9-4. If not, the process goes to P39.
[0319]
  In S6-4-9-4, the above-mentioned means 66 selects the one closest to the reference portion from the maximum margin range rectangle in which the memo obtained in S6-4-9-2 can be entered, and the processing to P38. Comes out.
[0320]
  By the above processing, S6-4-9 in FIG. 15 can be processed.
[0321]
  FIG. 24 is a flowchart for explaining a detailed example of the process of S6-4-9-1 in FIG.
[0322]
  In S6-4-9-1-1 after P36, the memo data layout acquisition unit 66 sets the adjacent margin arrangement of FIG. 17 to the following loop list, and sets the first margin range of the loop list to the current margin rectangle. Then, the process proceeds to S6-4-9-1-2.
[0323]
  The “loop list” is a list of margin rectangles from which a current margin rectangle is created when the processing loop from S6-4-9-1-2 to S6-4-9-1-8 is performed. It is. At this point, each margin range is only included in the loop list, but a new margin range may be added in S6-4-9-1-5.
[0324]
  The “margin rectangle” is composed of one or more collections of margin ranges, which are adjacent to each other and have a rectangular shape as a whole.
[0325]
  The “current margin rectangle” is a margin rectangle currently being looped.
[0326]
  In S6-4-9-1-2, the same means 66 determines whether or not there is a current margin rectangle. If it exists, the process proceeds to S6-4-9-1-3. If not, the process proceeds to P37. Processing is lost.
[0327]
  In S6-4-9-1-3, the same means 66 sets the current margin rectangle in the work list, and the process proceeds to S6-4-9-1-4.
[0328]
  The “work list” is a current margin rectangle used when processing the loop from S6-4-9-1-4 to S6-4-9-1-6.
[0329]
  In S6-4-9-1-4, the same means 66 acquires the margin ranges of the four corners in the work list, and the process proceeds to S6-4-9-1-5. The four corners are the four corners of the current margin rectangle. If the margin range in the work list is less than 2 rows and 2 columns, some of them overlap.
[0330]
  For example, if the work list is in the ranges 131 to 134 and 120 to 122 shown in FIG. 16, the margin ranges at the four corners are the ranges 131, 134, 120, and 122. If the work list is in the range 131, 132, the margin range at the four corners is the range 131, 132. If the work list is only the range 131, the margin range at the four corners is the range 131.
[0331]
  In S6-4-9-1-5, the same means 66 expands the margin range at the four corners while maintaining the rectangular shape.
[0332]
  FIG. 25 is an explanatory diagram for explaining the expansion method. Assume that the six margin ranges with diagonal lines are a work list and the upper right range 150 is expanded. In the case of expanding upward, just expanding only the range 151 results in a shape that protrudes to the upper right and does not become a rectangle. Therefore, the margin range is examined from the range 151 in the left direction, and all of the ranges 151, 152, and 153 are expanded at a time up to the range 153 above the range 156 in the upper left corner. For example, when the range 152 is a line range or the like, it cannot be expanded as a work list of the margin range, and thus it can be understood that the range 150 cannot be expanded upward.
[0333]
  The same applies to the case where the range 150 is expanded to the right. The margin range is examined from the range 154 in the downward direction, and all of the range 154 and 155 to the right range 155 of the range 157 at the lower right corner are expanded at once.
[0334]
  For the other corners, the same expansion method is executed by changing the direction of examining the margin range. However, when expanding upward from the range 156, it is the same as when expanding upward from the range 150, so it is not necessary to actually check whether all four corners can be expanded, and it is sufficient to check the two corners that are diagonal. In FIG. 25, either the pair of the range 150 and the range 158 or the pair of the range 156 and the range 157 is selected as two diagonal corners.
[0335]
  When expansion is possible from the four corners, four types can be considered in the upper, lower, left, and right directions. However, the expansion results in different margin ranges, so the processing must be branched here. Hereinafter, the new blank range obtained by the expansion is referred to as a blank rectangle.
[0336]
  Here, for simplicity, one expanded margin rectangle is registered in the work list, and the remaining three expanded margin rectangles are registered in the loop list so that they are processed from the next time onward.
[0337]
  For example, in FIG. 25, when the range 150 can be expanded upward and to the right, margin rectangles having four corners of the ranges 151, 153, 158, and 157 are registered in the work list, and the ranges 154, 156, 158, and 156 are four. A margin rectangle as a corner is registered in the loop list.
[0338]
  In S6-4-9-1-6, the same means 66 determines whether or not the expansion is performed in S6-4-9-1-5, and if no expansion is performed, the process proceeds to S6-4-9. When the process advances to -1-7 and the extension is performed, the process returns to S6-4-9-1-4.
[0339]
  In S6-4-9-1-7, the same means 66 adds the work list to the margin range maximum rectangular list, and the process proceeds to S6-4-9-1-8.
[0340]
  In S6-4-9-1-8, the same means 66 sets the current blank rectangle to the next blank rectangle in the loop list, and the process returns to S6-4-9-1-2.
[0341]
  Through the above processing, S6-4-9-1 in FIG. 23 can be processed.
[0342]
  Since the description so far has mainly described the method of creating the layout of the content data and the memo data, the display method will be described below using a specific example.
[0343]
  FIG. 10 is an example in which the association display is performed in a state where the reference portion is the “document” portion of the content data and the memo data associated therewith is the text data “document”. In FIG. 10, the association between the reference portion and the memo is represented by using an underline, and the memo is laid out between lines. However, the display method will be described later, and the display changes when the body layout changes. Will be described.
[0344]
  FIG. 26 shows an example in which the size of text characters as content data is doubled and displayed in association with the memo data shown in FIG. As a result of re-laying out the content data in which the character size is doubled in the content layout range by the processing described above, the layout position of the “document” portion is changed to the lower right than the layout position of FIG. Yes. On the other hand, as a result of re-creating the memo layout by the processing described above, the memo data of “document” associated with “document” follows the change of the layout position of the reference part “document” and the character of the memo The layout position is changed together with the underline so that does not overlap the reference part.
[0345]
  FIG. 27 shows a processing example when only the display position of the memo data is simply recorded without using the technique of the present invention. Assume that an underline and a memo “document” are input so that an appropriate display is obtained in the state of FIG. FIG. 27 shows a state in which the underline and the display position of the memo in this state are recorded, and the size of the text of the content data is doubled and displayed again as in FIG.
[0346]
  Since only the underline of FIG. 10 and the display position of the memo are recorded, if the content of the underline and memo is displayed at the same position as in FIG. 10, there is a problem that it overlaps the display of the content data body. Further, since the position of the underline is also shifted with respect to the reference portion, there is a problem that the association between the content and the memo may be misinterpreted.
[0347]
  As can be seen by comparing FIG. 26 and FIG. 27, by using the technology of the present invention, the reference portion and the memo data are associated, and after the layout of the content data, the memo data is laid out corresponding to the layout of the reference portion, Following the change in the layout position of the content data, it is possible to display memo data that is easy to see and has no erroneous interpretation.
[0348]
  Various methods can be considered for displaying the reference portion, the memo data, the association, and the like in S6-7 of FIG.
[0349]
  First, the reference part is displayed. The method used when a person marks a sentence or the like with a paper book can be applied almost as it is. In that case, there is an effect that it is easy for a user to be familiar with and explanation is unnecessary.
[0350]
  For example, FIG. 10 is an example in which the association is indicated by an underline. If it is a vertical line, it is a side line on the right or left side of the line. Since the display target element to be the reference portion in the display target element data as shown in FIG. 2 can be specified from the reference data in FIG. 13, the underline should be drawn from the data of the position and size of the specified display target element. A position is required.
[0351]
  Note that the display of characters, straight lines, curves, etc. is generally prepared as an instruction in an API (Applications Programming Interface) or library if the OS (Operating System) that can handle a graphical device is used. By combining them, it is possible to display complicated shapes. Therefore, here, it will not be described in detail, but only a method for acquiring information such as a display position necessary for creating a command will be described.
[0352]
  Underline is the most common display method for paper books. There are many possible variations, such as changing the thickness and color to a dotted or wavy line instead of a straight line. Moreover, if the line is made as thick as the line and overlapped with the line, it will be the same as if the mark was put with the highlighter pen. If the color is made translucent with transparency so that the characters below can be seen, it becomes more like a highlighter mark, and the effect of not hiding the characters below or making them stand out comes out.
[0353]
  In addition, it is possible to obtain an effect that it is easy to stand out if the line segment is irregularly disordered instead of a regular line segment such as a straight line, and looks like a handwritten line segment. Since these contrivances regarding the line apply to all the display of the related information, the explanation is omitted below.
[0354]
  When using underline, etc., it is good when the reference part is short, but when it becomes long and it extends over many lines, there is a drawback that the line segment becomes large and gets in the way.
[0355]
  FIG. 28 shows an example in which the reference portion is surrounded by a line segment. There are various ways of enclosing, such as a rectangle or a polygon, a shape with rounded corners of a rectangle, or a shape close to an ellipse as shown in FIG. The position and size of the enclosing range can be obtained from the layout data of the reference portion.
[0356]
  FIG. 29 shows an example in which the entire reference portion is surrounded by a line segment when the reference portion extends over a plurality of lines. This method has an advantage that even if the reference portion becomes long, the number of line segments does not increase so much as compared with the method using the underline as shown in FIG. By comparing the display target element array of the row data in FIG. 3 with the data of the reference portion, the row to which the reference portion belongs can be specified. As a result, it can be determined whether or not the reference portion extends over a plurality of rows.
[0357]
  When there are a plurality of reference parts for one memo, it is generally easier to view the memo data in the surrounding margin as shown in FIG. 29 than to lay out the memo data between lines.
[0358]
  When the reference portion extends over a plurality of rows, the reference portion may be enclosed by a rectangle or the like in each row, or may be a polygon obtained by integrating them as shown in FIG. To integrate, for example, the height of the rectangle is set so that the top and bottom of the rectangle are in the middle between the rows, and the top and bottom of the rectangle do not overlap the reference part of each row. Conceivable.
[0359]
  Further, as a display method of the enclosing portion of the reference portion, a method of filling the inside with a semi-transparent color or overwriting a pattern such as a diagonal line or a halftone dot is conceivable. This is useful when you want to emphasize the reference part.
[0360]
  FIG. 30 is an example in which the reference portion is not surrounded by the line segment, but is indicated by the line segment in the left and right margin portions. Compared to surrounding the reference portion as a frame with a line segment, there is an effect that the line segment is less disturbing visually than the line segment.
[0361]
  The above example mainly relates to the method of specifying the reference part, but depending on the way of display, the effect of giving another meaning may appear.
[0362]
  FIG. 31 shows a reference line overwritten with a cancellation line. By displaying that suggests cancellation, there is an effect that the meaning of cancellation can be given to the association display. Strikethrough is a technique that is performed on a paper document when it is desired to delete erroneous contents, and it is easy to be familiar to the user and requires no explanation. Further, by displaying the memo data in the vicinity of the reference portion in addition to the strike-through line, an effect suggesting that the memo data has been rewritten can be obtained. The position of the cancellation line can be calculated from the layout range information of the reference portion, as in the case of the underline.
[0363]
  32 and 33 are examples in which a memo is inserted into the text of the content. FIG. 32 shows an example in which memos and associations are displayed using interruptions and FIG. 33 using balloons. The display position of the interrupt indicates, as reference data, which character (display target element) and which character should be interrupted as a reference data (how to express the reference data in detail will be described later) ). Since the layout positions of the characters located on both sides of the interrupt display position can be obtained, the interrupt position can also be obtained. The size of the balloon is determined by calculating a circumscribed rectangle or circumscribed ellipse from the memo layout data.
[0364]
  By displaying that suggests insertion, there is an effect that the meaning of insertion can be given to the association display. This is a technique that is performed on a paper document when you want to insert writing between display target elements arranged in a line using a balloon or an interrupt symbol, etc., which is also familiar to the user and requires no explanation. The effect that comes out.
[0365]
  In the case of insertion, since the reference portion is not a display target element but between a plurality of display target elements, it is necessary to devise the handling of “information for specifying reference data”. For example, when the number from the top of the display target element is used and it is desired to insert between the 11th character and the 12th character, an intermediate value is taken as “12.5” as shown as data 35 in FIG. For example, a negative value so that it can be identified as an insertion, a “−13” th method, and flag information indicating insertion may be added. Similarly, in the case of the number of bytes from the head, a method of setting the “16th” byte or the “−17” th byte between the 15th byte character and the 17th byte character can be considered.
[0366]
  When specifying not only the display target element unit but also the position inside the display target element as the reference part, it is possible to further use the internal coordinate position. For example, when you want to point to a certain place in the map image. FIG. 34 shows this example. In this case, for example, if the display target element of the map image is fifth, and the position of the coordinate value (50, 50) in the map image is to be used as the reference part, The “information specifying the reference data” may be expressed in a format such as “5: (50, 50)”, for example. When displaying, if there is “:”, the following character string may be interpreted as a coordinate value, and a display indicating the reference portion may be performed.
[0367]
  In addition, depending on how the memo data is displayed, the reference portion can be easily estimated, and therefore, the reference portion is not particularly shown. FIG. 35 is an example showing this, and is a case where the upper ruby “Bunsho” is shaken as the memo data for the Chinese character “document” of the reference portion. In this case, it is easier to guess the relationship if the memo data is displayed very close to the reference portion, and if possible, displayed between the lines.
[0368]
  There are various ways to display the memo data.
[0369]
  If the layout range is determined, the contents of the memo data itself are usually simply laid out characters and handwritten memos within the layout range. However, depending on the case, the size and color of the characters may be changed or the display layout range may be changed. It may also be possible to change the size of the text or the overall size to fit. Note that attribute information such as the size and color of characters is recorded in memo data, and characters and the like are displayed accordingly. Such attribute information may be specified and corrected by the user in the memo data setting dialog shown in FIG.
[0370]
  There are various variations in the surroundings, background, and position of the memo data content display. Hereinafter, an example of determining the layout range of the memo data in S6-4 will be described at the same time.
[0371]
  FIG. 36 is an example in which content is overwritten and displayed without considering the range in which the content data is laid out, unlike the processing in S6-4. Although it is near the reference part, the content data and the memo data overlap, making it very difficult to see.
[0372]
  In such a case, as shown in FIG. 28, as a result of the processing in S6-4, it is preferable to display a memo in the margin so as to avoid the range where the content data is laid out. Although the memo data “document” is slightly separated from the reference portion “document”, the content data and the memo data do not overlap with each other, which is easier to see than FIG.
[0373]
  FIG. 10 is an example displayed between the lines below the reference portion. If the amount of the memo is an amount that can be displayed between the lines, it is most referenced if the memo is displayed below or above the line including the reference part (left or right in the case of vertical writing) and does not overlap the content. Close to the part. The ruby in FIG. 35, the insertion in FIG. 32, and the modification in FIG. 31 can be said to be similar examples.
[0374]
  FIG. 37 shows an example in which long memo data that does not fit between lines is displayed in both the line spacing and the surrounding margin, and FIG. 28 and FIG. 10 are combined. In the description of S6-4, either the line spacing or the left and right margins are used, but it is also possible to handle both in this way. This is effective when there is a lot of memo data.
[0375]
  In the case of FIG. 37, the memo layout range is not a rectangle, but a polygon in which line spacing and left and right margins are combined. This is because the margin range in which the memo data is laid out is expanded from the line spacing to the surrounding margin by the processing of S6-4-5-3 in FIG. In the case of traversing, the right direction and the downward direction are natural as the extension direction of the margin range, and therefore, there is an advantage that it is easy to become familiar.
[0376]
  In FIG. 30, memo data is displayed next to a curve like a parenthesis that collectively indicates large reference portions. To be precise, it is near the related information display showing the reference part, but it is also displayed near the reference part if the reference information and the related information display showing the reference part are considered as one. It can be said that it is included in the example.
[0377]
  FIG. 38 shows an example in which memo data is displayed in a blank area where no content data is arranged in the content layout range. Separate margins are used, for example, if the margin around the memo can be laid out or if the margin between lines is not found well. The processing for that corresponds to the processing in S6-4-10 in FIG. Since there is little overlap between the content data and the memo data, even if the memo and the reference portion are slightly separated, displaying the association well with an arrow or the like produces an effect that makes it easy to see.
[0378]
  Next, regarding the display that emphasizes the periphery and background of the memo data, such emphasis is not particularly necessary for short memo data. This is particularly effective when it is somewhat long, away from the reference portion, or overwritten. ("Overwrite display" refers to the state in which the memo layout and text data layout overlap as described in S6-4-5).
[0379]
  FIG. 33 shows an example in which the memo is emphasized by surrounding the memo data display with a balloon. For example, when a memo is close to another memo, it is easy to determine which memo is associated with the reference part.
[0380]
  Furthermore, there are some types of display of associations connecting the display of the reference portion and the display of the memo data.
[0381]
  The simplest case is when nothing is written except the display of the reference portion (underline) and the display of memo data as shown in FIG.
[0382]
  In FIG. 28, the reference portion and the memo data are connected by a lead line. Such a leader line is designated by the data 15 and 27 in the association data of FIG. By using the lead line, there is an effect that the correspondence relationship is easy to understand even when the memo data is arranged at a location slightly away from the reference portion. When the memo data overlaps the content, for example, characters and characters overlap each other, which makes it very difficult to see, but in general, if it is about one lead line, it is not so difficult to see even if it overlaps the content data.
[0383]
  In addition, when an arrow is attached to the leader line as shown in FIG. 28, the directivity can be shown, so that the correspondence is more easily understood, and the effect of adding other meanings such as the meaning of time and the order of logical expansion can be added. Come out.
[0384]
  So far, the explanation has been mainly about the case where the reference portion and the memo data are one-to-one. However, as can be seen from the memo data list and the reference data list of FIG. 13, the relationship between a plurality of memo data and reference data is shown. It can also be handled.
[0385]
  FIG. 38 shows an example in which a plurality of reference portions and one piece of memo data are displayed in association with each other. In this case, like the data 20 of FIG. 13, the memo data list contains one memo data, and the reference data list contains two reference data. If the memo data has the same contents, it is not necessary to display them separately by using a leader line, etc. The advantage is that the user can be visually informed that they are associated with the same note.
[0386]
  FIG. 39 shows an example in which a plurality of memo data are displayed in association with one reference portion. This is useful when you want to add multiple different comments to one reference part. In this case, as in the data 30 of FIG. 13, the memo data list contains two memo data, and the reference data list contains one reference data.
[0387]
  This has the effect of associating different memos with a single reference part, and at the same time, visually showing that a reference part has multiple memo data. Come. There is also an effect that it is easier to visually understand that a plurality of memos have different contents than a single memo.
[0388]
  As described above, since there are a great many variations in the association display and the memo data display, it is preferable to check the purpose, effect, layout state, etc. and select a suitable one. Make the same settings for all memos, change each memo or memo type, ask the user for each memo data and associated data (for example, ask the user to specify when creating a memo), It is conceivable to automatically set the display method according to the type and amount of memo data and the type and amount of the reference portion.
[0389]
  Note that, in most cases, the display order of the memo data and the display of the association information may be first, as long as the displays do not overlap each other.
[0390]
  In this example, the layout of the memo data is determined after the layout of the content data. However, both layout processes can be sequentially performed.
[0390]
  With the processing described above, it is possible to obtain a memo data layout that does not overlap the content data layout, or the overlap is less than a predetermined ratio or less than a predetermined area. The display of the document including the memo and the display of the memo can be seen at the same time without overlapping as much as possible.
[0392]
  Also, by setting the memo data layout range as a margin around the layout of the content data, the effect of eliminating / reducing the overlap between the content data and the memo data can be obtained, and the above-described effect can be obtained. .
[0393]
  Further, by making the display of the associated content and the memo data close to each other in terms of layout, it becomes easy to see both at once and to be easily understood.
[0394]
  Also, by setting the memo data layout range between the lines of the content data layout, the overlap between the content data and the memo data can be eliminated / reduced. Since the distance between the part and the memo can be displayed very close, the correspondence between the reference part and the memo data can be easily understood.
[0395]
  In addition, since the content is laid out without being affected by the memo data (for example, the margin and the line spacing are not changed by the memo data), the content layout can be laid out in a state where the content data is most easily viewable. The effect comes out.
[0396]
  Further, in the association display of the content data and the memo data, by connecting the content data and the memo data, it is possible to easily understand the correspondence between the content data and the memo data.
[0397]
  In addition, since it is possible to specify whether or not to display the memo data and the association information, there is an effect that it is possible to switch between when the user wants to understand by concentrating only on the content and when he / she wants to understand while referring to the memo.
[0398]
  In this way, by displaying the reference part and the memo data in association with each other, even if the layout is dynamically changed, the memo data and the association data are displayed following the change, so the character size can be changed to make it easier to read. A memo consisting of handwritten data and text data, etc., which has features not found in a paper book. It is possible to realize that it can be used in association with the corresponding part of the item, and that the corresponding part and the memo can be associated with each other.
[0399]
  Another object of the present invention is to supply a storage medium storing software program codes for implementing the functions of the above-described embodiments to a system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in.
[0400]
  In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0401]
  As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory card, or the like can be used.
[0402]
  The program code may be downloaded from another computer system to the main memory 74 or the external memory 75 of the display device via a transmission medium such as a communication network.
[0403]
  Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0404]
  Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU of the expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
[0405]
  When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
[0406]
  The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims.
[0407]
【The invention's effect】
  The display method according to the present invention is as described above.A display method executed by a display device comprising memo data acquisition means, association information acquisition means, margin specification means, and memo layout generation means,
  The memo data acquisition means acquires memo data representing a memo, and a memo data acquisition step;
The association information acquisition means is the association information that specifies the correspondence in the display state between the reference data that is a part of the content data composed of one or more pieces of component data representing the display target element and the memo data. An association information acquisition step of acquiring association information including information on a data position of the reference data specified in the content data and a layout method of the memo data;
  The margin specifying means isLayout data that describes the above-mentioned layout for the margin range in which one or more display target elements are arranged in the coordinate space and the display target element is not arranged.Depending on the coordinate position and size in the coordinate space included inMargin identification step to identify,
  The margin specifying unit divides the layout range in which the display target element is arranged and the margin range into a plurality of divided layout ranges and a plurality of divided margin ranges, and each divided layout range and the divided margin range on the coordinate space An adjacent margin arrangement specifying step for obtaining a coordinate position and size, and obtaining an array of divided margin ranges adjacent to each divided layout range based on the obtained coordinate position and size;
  The memo layout generation means scans the layout data, and includes a data position in the content data of the display target element included in the layout data, and the data position of the reference data included in the association information. If the reference data associated with the memo data by the association information is A reference data identification step to identify from among the data,
  The memo layout generation means compares the data position of the reference data specified in the reference data specifying step with the data position included in the layout data of the divided layout range, so that the divided layout range to which the reference data belongs And by referring to the information on the layout method of the memo data included in the association information from the arrangement of the divided margin ranges adjacent to the specified divided layout range, the division in which the memo data is to be arranged A margin range specifying step for specifying a margin range;
  The memo layout generation means isMemo dataIdentified in the margin range identification step abovethe aboveSplitBy placing it in the margin area,The layout part of the memo dataOverlap with display target elementportionThere is noMemo dataOrThe ratio of the area of the overlapping part to the area of the layout part of the memo data isBelow a certain percentageMemo data that becomesOrThe area of the overlapping part isA memo layout generation step of generating memo layout data describing a layout of memo data having a predetermined area or less.
[0408]
  Thus, even if the layout of the content is dynamically changed, a layout of memo data that does not overlap with the layout of the content or that overlaps with the content layout can be obtained. By outputting memo data, the memo consists of handwritten data, text data, etc., and has the same characteristics as a paper book. That is, there are effects such as being able to use the relevant part of the text in association with the memo, and easily viewing the text of the document and the memo at the same time.
[0409]
  In addition, since the content is laid out without being affected by the memo data (for example, the margin and the line spacing are not changed by the memo data), the content layout can be laid out in a state where the content data is most easily viewable. The effect comes out.
[0410]
  furtherSince the information for associating the content data of the reference portion with the memo data is obtained, for example, when creating a layout of a certain memo data, the reference portion associated with the memo data can be specified. Alternatively, the association information can be used to indicate the association between the memo and the reference portion.
[0411]
  As a result, when creating a layout of memo data, or displaying reference parts or memo data, processing using the association information (laying out memo data at a position close to the reference part, associating the reference part with the memo Display so that it can be visually recognized).
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a layout possible range for an entire layout range and a state in which content is laid out in the layout possible range.
FIG. 2 is a diagram illustrating a layout data structure of display target elements.
FIG. 3 is a diagram illustrating an example of a data structure of a row layout.
FIG. 4 is a block diagram showing a functional configuration of a display device of the present invention.
FIG. 5 is a block diagram illustrating a configuration example in an embodiment of the display device.
FIG. 6 is a schematic perspective view showing an example of an overview of the display device.
FIG. 7 is an explanatory diagram showing a state in which a part of text of content data is laid out and displayed on a display unit / tablet.
FIG. 8 is an explanatory diagram showing a state in which a part of text of content data is selected using a pen on the display unit / tablet.
FIG. 9 is an explanatory diagram illustrating a state in which a dialog window for setting memo data is displayed.
FIG. 10 is an explanatory diagram illustrating a display example in which a reference portion is underlined.
FIG. 11 is a flowchart showing a procedure of display processing according to the display method of the present invention.
FIG. 12 is a diagram for explaining a memo data structure;
FIG. 13 is a diagram illustrating an association data structure.
14 is a flowchart showing a processing procedure for setting a memo data layout in accordance with the content layout of FIG. 7; FIG.
FIG. 15 is a flowchart for explaining a method of setting a layout range of memo data in S6-4 of FIG.
FIG. 16 is an explanatory diagram for explaining a margin range for setting a display layout range of memo data.
FIG. 17 is an explanatory diagram illustrating a data structure of a margin range shown in FIG.
FIG. 18 is a flowchart for explaining a method of obtaining a display layout range of memo data in S6-4-1 of FIG.
FIG. 19 is an explanatory diagram showing margins set around the content layout range.
20 is an explanatory diagram illustrating a data structure of a margin range illustrated in FIG.
FIG. 21 is a flowchart showing the details of the process of S6-4-5 in FIG. 15 and the process procedure for determining whether or not memo data can be laid out between lines.
FIG. 22 is a flowchart showing the details of the process of S6-4-7 of FIG. 15 and the process procedure for determining whether or not the memo data can be laid out in the surrounding margin.
FIG. 23 is a flowchart showing the details of the process of S6-4-9 of FIG. 15 and the process procedure for determining whether or not memo data can be laid out in a large margin within the content layout range.
FIG. 24 is a flowchart showing the details of the process of S6-4-9-1 in FIG. 23 and showing the procedure of the process for generating the margin range maximum rectangular list.
FIG. 25 is an explanatory diagram showing a process of extending the specified margin range vertically and horizontally.
FIG. 26 is an explanatory diagram showing a state in which the memo data is rearranged following the reference portion even if the layout is changed to double the character size of the content with respect to the display state of FIG.
FIG. 27 is an explanatory diagram showing a result of laying out memo data by a conventional process when content layout is changed in the display state of FIG.
FIG. 28 is an explanatory diagram illustrating a display example in which a reference portion in one row is surrounded by a line segment and associated with a memo.
FIG. 29 is an explanatory diagram illustrating a display example in which a reference portion across a plurality of lines is surrounded by a line segment and associated with a memo.
FIG. 30 is an explanatory diagram illustrating a display example in which a line segment is attached to a reference portion across a plurality of lines and association with a memo is shown.
FIG. 31 is an explanatory diagram showing a display example in which cancellation of a reference portion is indicated by a strike-line display.
FIG. 32 is an explanatory diagram showing a display example in which memo insertion into a reference portion is indicated by interrupt display.
FIG. 33 is an explanatory diagram showing a display example in which a memo is inserted into a reference portion in a balloon display.
FIG. 34 is an explanatory diagram showing a display example in which a part inside the display target element is associated with a memo as a reference part.
FIG. 35 is an explanatory diagram showing a display example in which a memo is displayed as ruby without particularly showing a reference portion.
FIG. 36 is an explanatory diagram showing a display example in which a memo is overwritten on content by a layout method of a conventional method that does not consider a range where content data is laid out.
FIG. 37 is an explanatory diagram showing an example in which the memo data is laid out across the line spacing and the surrounding margins.
FIG. 38 is an explanatory diagram showing an example in which one memo is associated with a plurality of reference portions and laid out using a large margin within a content layout range.
FIG. 39 is an explanatory diagram showing an example in which a plurality of memos are displayed in association with one reference portion.
[Explanation of symbols]
    1 Traversal (memo data)
  10 data (association information)
  15 data (association display information)
  41 Display target elements
  42 Display target elements
  43 Display target elements
  44 Display range (layout possible range)
  59 Memo data layout range acquisition means (memo layout generation means)
63 Memo data acquisition means
  64 Association information acquisition means
  66 Memo data layout acquisition means (memo layout generation means)
  69 Content margin identification means(Margin identification method)
  70 CPU
  74 Main memory (recording medium)
  75 External storage (recording medium)
  80 lines (layout data, Split layout range)
  90 Main unit (display device)
  91 Display and tablet
  92 pens
100 Reference part
101 range (margin range, Split margin range)
127 range (margin range), Split margin range)
X, Y position (coordinate position)
W, H size

Claims (10)

メモデータ取得手段、関連付け情報取得手段、余白特定手段、およびメモレイアウト生成手段とを備えた表示装置が実行する表示方法であって、
上記メモデータ取得手段が、メモを表すメモデータを取得するメモデータ取得ステップと、
上記関連付け情報取得手段が、表示対象要素を表す構成要素データの一つ以上の集まりからなるコンテンツデータの一部である参照データと上記メモデータとの表示状態における対応関係を特定した関連付け情報であって、上記参照データのデータ範囲を上記コンテンツデータ内で特定したデータ位置およびメモデータのレイアウトの仕方に関する情報を含む関連付け情報を取得する関連付け情報取得ステップと、
上記余白特定手段が、上記表示対象要素の一つ以上を座標空間上に配置したレイアウトの中から、表示対象要素が配置されていない余白範囲を、上記レイアウトを記述したレイアウトデータに含まれる、上記表示対象要素についての上記座標空間上の座標位置および大きさによって特定する余白特定ステップと、
上記余白特定手段が、表示対象要素が配置されたレイアウト範囲および上記余白範囲を、複数の分割レイアウト範囲および複数の分割余白範囲に分割し、各分割レイアウト範囲および分割余白範囲の上記座標空間上の座標位置および大きさを、上記レイアウトデータに含まれる、上記表示対象要素についての座標位置および大きさによって求め、求めた座標位置および大きさを基にして、各分割レイアウト範囲に隣接する一つ以上の分割余白範囲を求める隣接余白特定ステップと、
上記メモレイアウト生成手段が、上記レイアウトデータを走査し、上記レイアウトデータに含まれる、上記表示対象要素の上記コンテンツデータ内におけるデータ位置と、上記関連付け情報に含まれる、上記参照データの上記データ位置とを比較して等しいときに、上記関連付け情報によってメモデータと対応付けられた参照データを上記レイアウトデータの中から特定する参照データ特定ステップと、
上記メモレイアウト生成手段が、上記参照データ特定ステップにて特定した参照データのデータ位置と、上記分割レイアウト範囲のレイアウトデータに含まれるデータ位置とを比較することによって、上記参照データが属する分割レイアウト範囲を特定するとともに、この特定した分割レイアウト範囲に隣接する上記一つ以上の分割余白範囲の中から、上記関連付け情報に含まれる、メモデータのレイアウトの仕方に関する情報を参照して、メモデータを配置すべき分割余白範囲を特定する余白範囲特定ステップと、
上記メモレイアウト生成手段が、上記メモデータ取得ステップにて取得したメモデータを、上記余白範囲特定ステップで特定した上記分割余白範囲に配置することによって、配置されたメモデータと表示対象要素との重なり部分が無いメモデータ、あるいは配置されたメモデータの面積に対する上記重なり部分の面積の割合が所定割合以下となるメモデータ、あるいは上記重なり部分の面積が所定面積以下となるメモデータのレイアウトを記述したメモレイアウトデータを生成するメモレイアウト生成ステップと、を有することを特徴とする表示方法。
A display method executed by a display device comprising memo data acquisition means, association information acquisition means, margin specification means, and memo layout generation means,
The memo data acquisition means acquires memo data representing a memo, and a memo data acquisition step;
The association information acquisition means is the association information that specifies the correspondence in the display state between the reference data that is a part of the content data composed of one or more pieces of component data representing the display target element and the memo data. An association information acquisition step of acquiring association information including information on a data position of the reference data specified in the content data and a layout method of the memo data;
The margin specified means, from the layout of arranging the one or more of the displayed elements on the coordinate space, the margin range display target element is not arranged, is included in the layout data describing the layout, the A margin specifying step for specifying by the coordinate position and size in the coordinate space for the display target element ;
The margin specifying unit divides the layout range in which the display target element is arranged and the margin range into a plurality of divided layout ranges and a plurality of divided margin ranges, and each divided layout range and the divided margin range on the coordinate space The coordinate position and size are obtained from the coordinate position and size of the display target element included in the layout data, and one or more adjacent to each divided layout range based on the obtained coordinate position and size. An adjacent margin specifying step for obtaining a divided margin range of
The memo layout generation means scans the layout data, and includes a data position in the content data of the display target element included in the layout data, and the data position of the reference data included in the association information. When the reference data is compared and the reference data associated with the memo data by the association information is identified from the layout data,
The memo layout generation means compares the data position of the reference data specified in the reference data specifying step with the data position included in the layout data of the divided layout range, so that the divided layout range to which the reference data belongs The memo data is arranged by referring to the information on the layout method of the memo data included in the association information from the one or more divided margin ranges adjacent to the specified divided layout range. A margin range specifying step for specifying a divided margin range to be performed;
The memo layout generation means arranges the memo data acquired in the memo data acquisition step in the divided margin range specified in the margin range specification step, thereby overlapping the arranged memo data and the display target element. Describes the layout of memo data with no part, memo data in which the ratio of the area of the overlapping part to the area of the arranged memo data is a predetermined ratio or less, or the memo data in which the area of the overlapping part is a predetermined area or less And a memo layout generation step for generating memo layout data.
上記表示装置は、さらにレイアウト出力手段を備え、
上記メモレイアウト生成手段が、上記参照データ特定ステップにて特定した上記参照データのデータ位置に基づいて、上記レイアウトデータから、上記参照データの座標位置を取得するとともに、生成された上記メモレイアウトデータに含まれた、上記メモデータの座標位置を取得し、
上記レイアウト出力手段が、前記関連付け情報に含まれた参照データとメモデータとの関連付け表示の仕方に関する関連付け表示情報と、上記メモレイアウト生成手段が取得した上記参照データおよびメモデータの各座標位置とに基づいて、前記参照データと前記メモデータとを関連付けて自動的に表示する表示ステップを有することを特徴とする請求項1に記載の表示方法。
The display device further includes layout output means,
The memo layout generation means acquires the coordinate position of the reference data from the layout data based on the data position of the reference data specified in the reference data specifying step, and adds the generated memo layout data to the memo layout data. Acquire the coordinate position of the memo data included,
The layout output means includes association display information relating to how to display the association between the reference data included in the association information and the memo data, and each coordinate position of the reference data and memo data acquired by the memo layout generation means. based on, the display method according to claim 1, characterized in that it comprises a display step of automatically displaying in association with said reference data the memo data.
上記関連付け表示情報が、参照データとメモデータとの関連付け表示の仕方として引き出し線を指定している場合、上記表示ステップにおいて、上記レイアウト出力手段が、前記参照データと前記メモデータとを線で結んで表示することを特徴とする請求項2に記載の表示方法。  When the association display information specifies a leader line as a way of displaying the association between the reference data and the memo data, in the display step, the layout output unit connects the reference data and the memo data with a line. The display method according to claim 2, wherein display is performed. 上記関連付け情報が、コンテンツデータの複数部分の参照データとメモデータとの表示状態における対応関係を特定しており、上記関連付け表示情報が、参照データとメモデータとの関連付け表示の仕方として引き出し線を指定している場合、上記表示ステップにおいて、上記レイアウト出力手段が、上記複数部分の参照データと一つのメモデータとを線で結んで表示する表示ステップを有することを特徴とする請求項2に記載の表示方法。  The association information specifies the correspondence in the display state between the reference data and the memo data of a plurality of parts of the content data, and the association display information provides a lead line as a way of displaying the association between the reference data and the memo data. 3. The display step according to claim 2, wherein, when specified, the display step includes a display step in which the layout output means displays the reference data of the plurality of portions and one piece of memo data by a line. Display method. 上記関連付け情報が、参照データと複数のメモデータとの表示状態における対応関係を特定しており、上記関連付け表示情報が、参照データとメモデータとの関連付け表示の仕方として引き出し線を指定している場合、上記表示ステップにおいて、上記レイアウト出力手段が、上記参照データと上記複数のメモデータとを線で結んで表示することを特徴とする請求項2に記載の表示方法。  The association information specifies a correspondence relationship in the display state between the reference data and the plurality of memo data, and the association display information specifies a lead line as a way of displaying the association between the reference data and the memo data. 3. The display method according to claim 2, wherein, in the display step, the layout output means displays the reference data and the plurality of memo data connected by lines. 前記メモデータが、表示の有無を表す情報を持ち、
前記メモデータが表示しないという情報を持つ場合は、上記表示ステップにおいて、上記レイアウト出力手段が、前記メモデータのレイアウトの表示とそのメモデータに関連付けられた関連付け情報に基づく関連付け表示を行わないことを特徴とする請求項2からのいずれか一項に記載の表示方法。
The memo data has information indicating the presence or absence of display,
If there is information that the memo data is not displayed, in the display step, the layout output means does not perform the association display based on the display of the layout of the memo data and the association information associated with the memo data. display method according to claim 2 in any one of 5, wherein.
メモを表すメモデータを取得するメモデータ取得手段と、
表示対象要素を表す構成要素データの一つ以上の集まりからなるコンテンツデータの一部である参照データと上記メモデータとの表示状態における対応関係を特定した関連付け情報であって、上記参照データのデータ範囲を上記コンテンツデータ内で特定したデータ位置およびメモデータのレイアウトの仕方に関する情報を含む関連付け情報を取得する関連付け情報取得手段と、
上記表示対象要素の一つ以上を座標空間上に配置したレイアウトの中から、表示対象要素が配置されていない余白範囲を、上記レイアウトを記述したレイアウトデータに含まれる、上記表示対象要素についての上記座標空間上の座標位置および大きさによって特定する余白特定ステップと、表示対象要素が配置されたレイアウト範囲および上記余白範囲を、複数の分割レイアウト範囲および複数の分割余白範囲に分割し、各分割レイアウト範囲および分割余白範囲の上記座標空間上の座標位置および大きさを、上記レイアウトデータに含まれる、上記表示対象要素についての座標位置および大きさによって求め、求めた座標位置および大きさを基にして、各分割レイアウト範囲に隣接する一つ以上の分割余白範囲を求める隣接余白特定ステップとを実行する余白特定手段と、
上記レイアウトデータを走査し、上記レイアウトデータに含まれる、上記表示対象要素の上記コンテンツデータ内におけるデータ位置と、上記関連付け情報に含まれる、上記参照データの上記データ位置とを比較して等しいときに、上記関連付け情報によってメモデータと対応付けられた参照データを上記レイアウトデータの中から特定する参照データ特定ステップと、上記参照データ特定ステップにて特定した参照データのデータ位置と、上記分割レイアウト範囲のレイアウトデータに含まれるデータ位置とを比較することによって、上記参照データが属する分割レイアウト範囲を特定するとともに、この特定した分割レイアウト範囲に隣接する上記一つ以上の分割余白範囲の中から、上記関連付け情報に含まれる、メモデータのレイアウトの仕方に関する情報を参照して、メモデータを配置すべき分割余白範囲を特定する余白範囲特定ステップと、上記メモデータ取得手段が取得したメモデータを、上記余白範囲特定ステップで特定した上記分割余白範囲に配置することによって、配置されたメモデータと表示対象要素との重なり部分が無いメモデータ、あるいは配置されたメモデータの面積に対する上記重なり部分の面積の割合が所定割合以下となるメモデータ、あるいは上記重なり部分の面積が所定面積以下となるメモデータのレイアウトを記述したメモレイアウトデータを生成するメモレイアウト生成ステップとを実行するメモレイアウト生成手段と、
を有することを特徴とする表示装置。
Memo data acquisition means for acquiring memo data representing a memo;
The association data specifying the correspondence in the display state between the reference data that is a part of the content data composed of one or more collections of component data representing the display target element and the memo data, the reference data data Association information acquisition means for acquiring association information including information on a data position whose range is specified in the content data and a layout method of the memo data;
One or more of the display target element from the layout arranged in the coordinate space, the margin range display target element is not arranged, is included in the layout data describing the layout described above for the display target element A margin specifying step for specifying by the coordinate position and size in the coordinate space, the layout range in which the display target element is arranged, and the margin range are divided into a plurality of divided layout ranges and a plurality of divided margin ranges, and each divided layout is divided. The coordinate position and size of the range and divided margin range in the coordinate space are obtained from the coordinate position and size of the display target element included in the layout data, and based on the obtained coordinate position and size The adjacent margin specifying step for obtaining one or more divided margin ranges adjacent to each divided layout range. And margins particular means for performing the door,
When the layout data is scanned, and the data position in the content data of the display target element included in the layout data is compared with the data position of the reference data included in the association information. The reference data specifying step for specifying the reference data associated with the memo data by the association information from the layout data, the data position of the reference data specified in the reference data specifying step, and the divided layout range The divided layout range to which the reference data belongs is identified by comparing the data position included in the layout data, and the association is selected from the one or more divided blank ranges adjacent to the identified divided layout range. Layout of memo data included in information With reference to information on how to, and margins range specifying step of specifying a division margin range should be placed memo data, the memo data which the memo data acquisition means has acquired, the division margin specified above margin range identifying step By arranging in the range, the memo data in which the arranged memo data and the display target element do not overlap, or the memo data in which the ratio of the area of the overlapping portion to the area of the arranged memo data is equal to or less than a predetermined ratio, Alternatively, a memo layout generation means for executing a memo layout generation step for generating memo layout data describing a layout of memo data in which the area of the overlapping portion is equal to or less than a predetermined area;
A display device comprising:
請求項1ないしのいずれか一項に記載の表示方法が備える各ステップを、コンピュータに実行させるための表示プログラム。The display program for making a computer perform each step with which the display method as described in any one of Claims 1 thru | or 6 is provided. 請求項に記載の表示装置が備える各手段として、コンピュータを機能させるための表示プログラム。The display program for functioning a computer as each means with which the display apparatus of Claim 7 is provided. 請求項またはに記載の表示プログラムを記録したコンピュータ読み取り可能な記録媒体。A computer-readable recording medium in which the display program according to claim 8 or 9 is recorded.
JP2002112714A 2002-04-15 2002-04-15 Display method, display device, display program, and recording medium on which display program is recorded Expired - Fee Related JP4008280B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002112714A JP4008280B2 (en) 2002-04-15 2002-04-15 Display method, display device, display program, and recording medium on which display program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002112714A JP4008280B2 (en) 2002-04-15 2002-04-15 Display method, display device, display program, and recording medium on which display program is recorded

Publications (2)

Publication Number Publication Date
JP2003308310A JP2003308310A (en) 2003-10-31
JP4008280B2 true JP4008280B2 (en) 2007-11-14

Family

ID=29395101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002112714A Expired - Fee Related JP4008280B2 (en) 2002-04-15 2002-04-15 Display method, display device, display program, and recording medium on which display program is recorded

Country Status (1)

Country Link
JP (1) JP4008280B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017012111A1 (en) * 2015-07-23 2017-01-26 Hewlett-Packard Development Company, L.P. Presenting display data on a text display

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302578A (en) * 2003-03-28 2004-10-28 Minolta Co Ltd File output program
JP2005141463A (en) * 2003-11-06 2005-06-02 Nihon Daiko Shoji Co Ltd Method of inputting data, data input support information input device, and data input device
JP4565317B2 (en) * 2004-04-12 2010-10-20 ソニー株式会社 Information processing apparatus and method, and program
JP4733415B2 (en) 2005-04-05 2011-07-27 シャープ株式会社 Electronic document display apparatus and method, and computer program
JP4248584B2 (en) 2006-07-31 2009-04-02 シャープ株式会社 Display device, display program, and computer-readable recording medium
CN101118738B (en) * 2006-07-31 2011-02-02 夏普株式会社 Display device and display method
JP2009294788A (en) * 2008-06-03 2009-12-17 Ricoh Co Ltd Information processor, information processing method, control program, and recording medium
JP4529020B1 (en) * 2009-02-05 2010-08-25 株式会社ヤッパ Information display device
JP5664164B2 (en) * 2010-11-18 2015-02-04 株式会社リコー Electronic information board device, information display method, program
JP5605963B2 (en) * 2013-01-31 2014-10-15 キヤノンソフトウェア株式会社 Form system, form system control method, program, and recording medium
JP6244647B2 (en) * 2013-04-23 2017-12-13 大日本印刷株式会社 Computer apparatus and program
JP2015041309A (en) * 2013-08-23 2015-03-02 株式会社ナカヨ Method of displaying reference information during document display
JP6421528B2 (en) * 2014-10-03 2018-11-14 富士通株式会社 Display control program, display control method, and information processing apparatus
JP7293900B2 (en) * 2019-06-19 2023-06-20 カシオ計算機株式会社 PRINT IMAGE GENERATION DEVICE, PRINT IMAGE GENERATION METHOD, AND PROGRAM

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017012111A1 (en) * 2015-07-23 2017-01-26 Hewlett-Packard Development Company, L.P. Presenting display data on a text display

Also Published As

Publication number Publication date
JP2003308310A (en) 2003-10-31

Similar Documents

Publication Publication Date Title
JP4008280B2 (en) Display method, display device, display program, and recording medium on which display program is recorded
US7791589B2 (en) Method and apparatus for displaying electronic document including handwritten data
US6941507B2 (en) Insertion point bungee space tool
US7735007B2 (en) Adding and removing white space from a document
JP3962721B2 (en) Document processing apparatus and document processing method
US7188311B2 (en) Document processing method and apparatus, and print control method and apparatus
US7962846B2 (en) Organization of annotated clipping views
US20030070146A1 (en) Information processing apparatus and method
KR20110081099A (en) Apparatus and method for digitizing a document, and computer-readable recording medium
JPH028339B2 (en)
JP2010286903A (en) Display controller, display control method, and program
US20140372881A1 (en) Image display apparatus, non-transitory computer-readable storage medium and display control method
JP4064364B2 (en) Editing apparatus, editing method, program, and recording medium
JP3388451B2 (en) Handwriting input device
JP4413952B2 (en) Method, apparatus, program, and program medium for display control
JP4090785B2 (en) Display control method, display control program, and recording medium
JP6456203B2 (en) Information processing apparatus, information processing program, and information processing method
JP4305325B2 (en) Sticky note information processing method, sticky note information processing system, and sticky note information processing program
JP4090784B2 (en) Scroll bar display control method, scroll bar display control device, scroll bar display control program, and recording medium
JP4441966B2 (en) Handwritten character input device and recording medium recording program for realizing the same
JP5925096B2 (en) Editing device and editing device control method
JP2013161459A (en) Document processing method
JP2014071755A (en) Editing device and method for controlling editing device
JP3813499B2 (en) OUTPUT PROCESSING METHOD, OUTPUT PROCESSING DEVICE, OUTPUT PROCESSING PROGRAM, AND RECORDING MEDIUM CONTAINING OUTPUT PROCESSING PROGRAM
JP6691597B2 (en) Information processing apparatus, information processing program, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120907

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130907

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees