JP4090785B2 - Display control method, display control program, and recording medium - Google Patents

Display control method, display control program, and recording medium Download PDF

Info

Publication number
JP4090785B2
JP4090785B2 JP2002139336A JP2002139336A JP4090785B2 JP 4090785 B2 JP4090785 B2 JP 4090785B2 JP 2002139336 A JP2002139336 A JP 2002139336A JP 2002139336 A JP2002139336 A JP 2002139336A JP 4090785 B2 JP4090785 B2 JP 4090785B2
Authority
JP
Japan
Prior art keywords
layout
size
display
document
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 - Lifetime
Application number
JP2002139336A
Other languages
Japanese (ja)
Other versions
JP2003330700A5 (en
JP2003330700A (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 JP2002139336A priority Critical patent/JP4090785B2/en
Publication of JP2003330700A publication Critical patent/JP2003330700A/en
Publication of JP2003330700A5 publication Critical patent/JP2003330700A5/ja
Application granted granted Critical
Publication of JP4090785B2 publication Critical patent/JP4090785B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、スクロールバーを表示したり、スクロールバーを操作して表示範囲を制御したりする方法、その方法を実施するための装置、プログラム、記録媒体に関する。
【0002】
【従来の技術】
ディスプレイやウィンドウなどの表示範囲に収まりきらない文書や絵、図などのコンテンツを扱う方法として、スクロールバーおよびスクロールボックスを利用する方法は、ワードプロセッサーや電子書籍リーダー、WWWブラウザー、エディターなど様々なアプリケーション、装置で広く使われている。
【0003】
例えば、スクロールバー上に表示されたスクロールボックスの大きさ(長さ)は、コンテンツ全体の中で表示されている部分の割合を表す。また、スクロールバー上でのスクロールボックスの表示位置は、コンテンツ全体に対する表示されている部分の相対的位置を表す。
【0004】
上述のアプリケーションや装置では、スクロールバー上に表示するスクロールボックスの位置と大きさは、通常、表示内容のレイアウトサイズあるいはページ数を使って計算する。なお、「レイアウトサイズ」とは、ここでは文章や絵などのコンテンツを表示した時に、着目した表示範囲の大きさのことを指し、例えばドット数などで表される。「ページ数」とは、ここでは表示をページ単位で行う場合のページの総数を指す。
【0005】
例えばレイアウトサイズを使った計算の場合、表示されている部分のスクロールボックスの大きさの割合は、
(表示範囲のレイアウトサイズ)/(全レイアウトサイズ)
で求まり、また、表示されている部分のスクロールボックスの位置の割合は、
(コンテンツ先頭から表示範囲先頭までのレイアウトサイズ)/(全レイアウトサイズ)
となる。「全レイアウトサイズ」は、表示されていないコンテンツ部分も含んだコンテンツ全体のレイアウトサイズである。
【0006】
また、例えばページ数を使って計算する場合、表示されている部分のスクロールボックスのサイズの割合は、
(表示範囲のページ数)/(全ページ数)
で求まり、また、表示されている部分のスクロールボックスの位置の割合は、
(先頭から表示範囲までのページ数)/(全ページ数)
となる。「全ページ数」は、表示されていないコンテンツ部分も含んだページ数である。
【0007】
コンテンツの表示の仕方には2種類あり、PDF(portable document format)の様に文字の大きさや位置といったレイアウトやページの大きさが固定されているもの(固定レイアウト)と、WWW(World Wide Web)ブラウザの様に文字の大きさやページの大きさが固定されておらず、自由にユーザーが変更できるもの(可変レイアウト)とがある。
【0008】
固定レイアウトの場合は、レイアウトサイズやページ数や全レイアウトサイズはコンテンツによって予め決まっているが、可変レイアウトの場合は、文字の大きさやページの大きさ(行数や行内文字数等)によって、レイアウトサイズやページ数や全レイアウトサイズは変わる。
【0009】
【発明が解決しようとする課題】
ところが、可変レイアウトの場合、レイアウトサイズやページ数を予め計算しておくことはできない為、スクロールボックスの位置や大きさを求めるには、処理時間がかかったり、多量のメモリが必要となる問題が出てくる。
【0010】
処理時間がかかる理由は、可変レイアウトの場合、文字の大きさやページサイズの設定がその時々によって変わるため、コンテンツ全体のレイアウトサイズやページ数を予め計算しておくことはできず、実際に表示させる時に文字の大きさやページサイズの設定に合わせてコンテンツ全体をレイアウトする必要があるためである。また、コンテンツのデータ量が大きければ大きいほど、そのレイアウト処理に時間がかかるという問題も出てくる。
【0011】
多量のメモリが必要となる理由は、コンテンツ全体のレイアウト結果を保存しておくからである。表示に使わない部分のレイアウトを破棄することでメモリの問題を回避するにしても、せっかく作成したレイアウトを破棄するのでは、無駄な処理を行うことになるという問題がある。
【0012】
またこれらの問題は、「スクロールバーの表示」(表示範囲に相当するスクロールボックスの位置や大きさを求めて表示すること)の時だけでなく、「スクロールバーによる制御」(指定されたスクロールボックスの位置や大きさに相当する表示範囲を表示すること)の時にも発生する。指定されたスクロールボックスの位置や大きさの割合から、相当する表示範囲を求めようとすれば、結局、コンテンツ全体のレイアウトが分からないと、コンテンツ全体のどこの部分のレイアウトを表示すればよいか求まらないからである。
【0013】
このような問題に対して、本発明は、文字の大きさやページサイズなどの設定を自由に変えられる可変レイアウトの文書において、高速かつできるだけ正確に、スクロールバーの表示やスクロールバーを用いた表示制御を処理すること、少ないメモリ環境などにおいても無駄なく処理を行うこと、などを目的とする。
【0014】
【課題を解決するための手段】
本発明に係る表示制御方法は、上記の課題を解決する為に、文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得ステップと、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書を含む複数の分割文書の表示レイアウトを得る分割文書レイアウト取得ステップと、前記特定した分割文書を含む複数の分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得ステップと、前記分割データサイズ取得ステップから得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた複数の分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得ステップから得た、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得ステップと、前記指定範囲を前記表示範囲とし、前記全文書内割合取得ステップから得られた第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御ステップとを有しており、前記分割文書内割合取得ステップにおいて、前記特定した分割文書を含む複数の分割文書のうちレイアウトサイズを取得できる分割文書に関しては、指定範囲を含まない分割文書であっても、そのレイアウトサイズを前記特定した分割文書のレイアウトサイズに加えて、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求めると共に、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示することを特徴とする
【0015】
記の構成において、「表示」は、一般には情報を視覚的に知覚できるような形態で表示媒体上に出力することを言う。本発明ではレイアウトの表示媒体に対する「表示」だけに限らず、レイアウトの印刷記録媒体に対する「印刷」やレイアウトのデータ記録媒体に対する「ファイル出力」など「出力」一般にも適用可能である。説明を分かり易くする為、以降の説明では、「表示」という言葉を用いることが多いが、「出力」の意も含まれているとする。
【0016】
「レイアウト」とは、表示要素が2次元または3次元の空間座標上に、位置とサイズ、外形の属性をもって配置されること、あるいは配置されたもののことを言う。位置やサイズは、通常は何らかの単位を使った値として表現される。例えば、画素の集まりからなるディスプレイに表示する場合は、一般に(画素)ドットの単位で表現される。一つないし複数の表示要素がレイアウトされた結果、その表示要素に関して定まる空間座標上の位置のことを「レイアウト位置」、一つないし複数の表示要素がレイアウトされた結果、その表示要素に関して定まる空間座標上のサイズのことを「レイアウトサイズ」と定義する。
【0017】
「文書」とは、一つまたは複数の表示要素がレイアウトされたもの、あるいはレイアウトしたり、レイアウトに基づいて表示要素を表示したりすることができるだけの情報量を持ったデータを指す。文書データは、表示要素のデータも含む場合と、レイアウト情報だけ持っていて表示要素のデータの一部を含む場合やあるいはまったく含まない場合もある。いずれにしろ、文書データを使って、レイアウトに従った表示や出力ができる。
【0018】
文書の「指定範囲」とは、スクロールバーの場合で言えば、その文書中の表示したい範囲を指す。通常は、レイアウトされた文書中での位置とサイズ、外形で指定する。外形は矩形が一般的である。なお、「指定範囲」は、表示したい範囲に限らず、印刷したい範囲の場合もあり、また、PDFなどのデータフォーマット形式で主記憶上や外部記憶上に記録したい範囲の場合もある。
【0019】
一般に、スクロールバーは、表示媒体の表示範囲に表示される文書中の部分が、文書全体のどのあたりに位置しているかという位置と、表示範囲のレイアウトサイズが全文書のレイアウトサイズ中に占める割合とに基づいて表示されたり、制御されたりしている。このとき、その割合は、表示範囲のレイアウトサイズと全文書のレイアウトサイズとがわかれば、求めることができる。
【0020】
レイアウトサイズを高速に得るには予め計算しておくなどの方法が考えられるが、表示範囲の大きさやフォントサイズなどをユーザが自由に変更できる可変レイアウトの場合は、表示時のレイアウト設定などによってレイアウトサイズが変わってしまう為、予め計算しておいても、その結果は、レイアウト設定が変われば使うことができない。
【0021】
レイアウト割合を真に正確に求めるのは難しいが、ある程度の精度で推定することはできる。推定する手段として、データサイズは固定レイアウトでも可変レイアウトでも一定であり、レイアウト処理とは無関係に決まる情報量なので、レイアウトサイズでなくデータサイズを使えば簡単に計算できる点と、複数の分割文書から構成された文書であれば、必要な分割文書のみを処理対象とすることによって、簡単にデータサイズを決めることができる点とに本願発明者は着目した。
【0022】
すなわち、上記の構成によれば、分割データサイズ取得ステップから、分割した文書(以降、分割文書と呼ぶ)の各データサイズを、レイアウト設定とは無関係に得ることができる。また、各分割文書のデータサイズの和を取れば、文書全体のデータサイズが得られる。
【0023】
また、文書における指定範囲は、文書に対して例えばユーザが指定した位置と、表示媒体について設定される表示範囲の大きさとによって決めることができる。したがって、分割文書レイアウト取得ステップでは、指定範囲に伴う文書中のデータ位置等を基準とすることによって、指定範囲を含む分割文書を特定することができる。
【0024】
さらに、特定した分割文書を、可変レイアウトのその時の設定に従ってレイアウトすることによって、指定範囲を含む分割文書の表示レイアウトを得ることができる。表示レイアウトが得られれば、そのレイアウトから指定範囲を含む分割文書のレイアウトサイズを得ることができる。この手法は、指定範囲を含む分割文書のみをレイアウトの対象とするので、文書全体をレイアウトする必要が無く、処理が簡便であり、処理に必要なリソースが少なくて済む。
【0025】
一方、表示媒体について設定されている表示範囲の大きさから指定範囲のレイアウトサイズも得られる。
【0026】
分割文書内割合取得ステップでは、この2つのレイアウトサイズから、指定範囲を含む分割文書内で、指定範囲が占める割合、つまりレイアウトサイズ比を求めることができる。
【0027】
なお、ここで、既にレイアウト済みの分割文書があれば、指定範囲を含まない分割文書であっても、そのレイアウトサイズを取得して、レイアウトサイズ比の算出に用いることが好ましい。このことが、「特定した分割文書を含む複数の分割文書の表示レイアウト」を、レイアウトサイズ比の算出に用いるとしている理由である。なぜ、その方が好ましいのかの理由については、後述する。
【0028】
次に、全文書内割合取得ステップでは、分割データサイズ取得ステップで分割文書の各データサイズを得ており、さらに分割文書レイアウト取得ステップでレイアウトサイズ比の算出に用いた分割文書が分かっているので、レイアウトサイズ比の算出に用いた分割文書のデータサイズを求めることができる。
【0029】
続いて、文書全体のデータサイズ、つまり各分割文書のデータサイズの和に対して、レイアウトサイズ比の算出に用いた分割文書のデータサイズの割合、つまり第1のデータサイズ比を求めることもできる。
【0030】
最終段階として、上記の求めた第1のデータサイズ比に、分割文書内割合取得ステップで得たレイアウトサイズ比を乗算することで、指定範囲の文書全体に対する割合、つまり第2のデータサイズ比を求めることができる。
【0031】
分割文書内割合取得ステップで求められる指定範囲のレイアウトサイズ比は、可変レイアウトのその時の設定に従ったレイアウトに基づいた割合なので正確な値となる。そして、レイアウトサイズ比の算出に用いた分割文書が文書全体の中でどれだけの割合(第1のデータサイズ比)を占めているかを、分割データサイズ取得ステップから得た分割文書のデータサイズから求め、分割文書内割合取得ステップから得たレイアウトサイズ比に第1のデータサイズ比を掛け合わせることで、指定範囲が文書全体の中でどれだけの割合(第2のデータサイズ比)を示しているかという最終結果を得ることができる。
【0032】
指定範囲のレイアウトサイズが、文書全体のレイアウトサイズに対して占める比を理想値とすれば、第2のデータサイズ比は多少の誤差を含む推定値の意味を持つ。しかし、レイアウトを求めるのは一部の分割文書に限られ、それ以外の部分はデータサイズを使うので、文書全体のレイアウトを求める場合に比べればレイアウトを求める処理量や必要なメモリなども最小限に抑えることができ、さらに、可変レイアウトの集まりからなる文書であっても、高速に指定範囲の割合を得ることができる効果が出てくる。
【0033】
また、本発明に係る表示制御方法は、以上のように、前記分割文書内割合取得ステップにおいて、前記特定した分割文書を含む複数の分割文書のうちレイアウトサイズを取得できる分割文書に関しては、指定範囲を含まない分割文書であっても、そのレイアウトサイズを前記特定した分割文書のレイアウトサイズに加えて、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求めることを特徴とする。
【0034】
上記の構成において、指定範囲を含む分割文書として特定したもの以外に、レイアウトサイズが得られる分割文書があるなら、そのレイアウトサイズも得ておく。指定範囲を含む分割文書とあわせて、レイアウトサイズが知得できるという意味で、既知分割文書と呼ぶことにする。
【0035】
なお、指定範囲を含む分割文書が複数あるときには、指定範囲が通常連続した領域であるため、分割文書同士は隣り合っている。しかし、レイアウトサイズが知得できる指定範囲外の分割文書は、隣り合うことを条件としなくてよい。
【0036】
既知分割文書に、指定範囲外の分割文書を含めることで、指定範囲のレイアウトサイズ比を求めるための分母となる、分割文書のレイアウトサイズが大きくなる。そして、そのレイアウトサイズ比の算出に用いた分割文書が、文書全体に占める第1のデータサイズ比を求めることになる。
【0037】
すなわち、レイアウトサイズが既知の分割文書が多くなる程、レイアウトサイズ比自体が、理想値に近づくので、理想値に近づいたレイアウトサイズ比に第1のデータサイズ比を乗算した第2のデータサイズ比もまた、理想値に近づくことになる。
【0038】
このように、指定範囲に含まれないが、既に求まっている分割文書のレイアウトサイズを利用することで、文書全体の中でレイアウトサイズを利用する割合が高くなってくるので、指定範囲を含む分割文書のレイアウトサイズのみを使う方法に比べて、さらに精度を高めることができる可能性が高くなる効果が出てくる。
【0039】
また、文書を読み進めていくにつれ、レイアウトを得た分割文書の数は増えていくのだから、レイアウトを得た分割文書の少なくともレイアウトサイズを保持しておくことで、たとえそのレイアウトを破棄したとしても、レイアウトサイズに基づいた処理が行える。
【0040】
理想的には全ての分割文書のレイアウトを求めてレイアウトサイズだけで指定範囲の割合を求めたいのだから、レイアウトサイズを利用する分割文書の数の割合が多くなるほど、レイアウトサイズだけで求める割合と本発明の方法で求める割合の差が小さくなっていくはずである。従って、各分割文書のレイアウトサイズを数多く知るにつれ、レイアウトサイズだけによる処理結果に近づいていくという効果がある。
【0041】
また、本発明に係る表示制御方法は、以上のように、前記指定範囲を前記表示範囲とし、前記全文書内割合取得ステップから得られた前記第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御ステップを有することを特徴とする。
【0042】
「スクロールバー」とは、一般に、文書全体の中で表示されている範囲と、その範囲が文書全体に占める位置とを示すものであり、特に文書全体の範囲中で表示されている範囲および位置を示す目印に相当する可動部分を「スクロールボックス」と呼ぶ。スクロールバーの中でスクロールボックスの大きさや位置が変化することで、表示されている範囲および位置を示す。但し、必ずしもスクロールボックスの形式に限らず、パーセントやページ数などの数字などで示される場合も含む。また、大きさと位置のどちらか一方だけを示す場合もある。
【0043】
また、スクロールバーは表示されている範囲を示すだけでなく、表示したい範囲を「指定範囲」としてユーザーが指定する際にも使われる。スクロールバーから指定範囲を得る場合、スクロールバー中でスクロールボックスを配置できる範囲のサイズ、その範囲中でのスクロールボックスの位置、スクロールボックスのサイズが得られれば、スクロールボックスによって指定される範囲が分かる。
【0044】
上記の構成によれば、指定範囲に応じた文書の部分の表示を行い、また、全文書内割合取得ステップから得られた割合に応じたスクロールバーを高速に表示することで、指定範囲をスクロールバー表示を伴って表示させることができる。
【0045】
また、ユーザーがスクロールバーを操作するなどして指定した位置を基準とすることで、可変レイアウトの表示システムでも、ユーザーが所望する範囲を高速に表示させるような制御を行うことができるようになる。
【0046】
これによって、可変レイアウトの表示システムでも、スクロールバーを使った表示や制御が高速に行えるという効果が出てくる。
【0047】
また、本発明に係る表示制御方法は、以上のように、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示することを特徴とする。
【0048】
上記の構成において、スクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合、スクロールボックスの長さが固定されているならば、スクロールボックスがスクロールバーの中心に位置しようと、端に位置しようと、指定した範囲と表示結果とは、ずれることなく一致する。しかし、スクロールボックスの長さが本発明のように推定値であり、位置によって変化し得る場合、指定した範囲と表示結果とが一致しないことが考えられる。
【0049】
この不一致によって、推定値の値によっては、文書の最初または最後の部分を表示するように指定できなくなったり、あるいは余計な空白を入れた表示をしてしまうことが考えられる。
【0050】
また、文書の最初もしくは最後を含む範囲を指定している場合は、そのスクロールボックスの中心位置に相当する文書の範囲を表示したいというよりも、文書の最初からあるいは最後までの範囲を表示したいと解釈する方が自然である。
【0051】
そこで、スクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後までを含むような指定範囲が指定されたとして解釈して、表示を行うことで、推定誤差による上記不具合を回避し、またユーザーの意図に沿った処理を行うことができるという効果が出てくる。
【0052】
なお、本方法を、既に説明した本発明の各方法のいずれかと、適宜組み合わせることができる。
【0053】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記分割文書のデータサイズとして、バイト数やビット数などの符号化データサイズを使うことを特徴とする。
【0054】
上記の構成によれば、バイトやビットは、主記憶や外部記憶上などで扱うデータサイズの単位なので、文書データなどをコンピュータ上で扱う場合、データサイズを示す指標としては、符号化データサイズが最も得やすく、また扱い易いという効果が出てくる。ひいては割合を求めるなどの処理も簡単になるという効果が得られる。
【0055】
なお、本方法を、既に説明した本発明の前記各方法と、必要に応じて任意に組み合わせてもよい。
【0056】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記分割文書のデータサイズとして分割文書の意味単位に基づく数を使うことを特徴とする。
【0057】
上記の構成において、文書の「意味単位に基づく数」とは、人間に知覚できるような処理単位を意味単位として捉えた時の処理単位の数ということで、文書の場合で言えば、文字(要素)数や行数、改行数、段落数などが考えられる。
【0058】
上記の構成によれば、表示割合をデータサイズなどを使って推測する場合に、文書データ中にはレイアウトサイズにあまり関係ないようなデータ、例えば文字の色など、が含まれていることがあるので、精度を上げるには、レイアウトサイズにあまり関係ないデータを除くことが好ましい。
【0059】
したがって、上述の意味単位に基づく数をデータサイズとして使うことで、レイアウトサイズにあまり関係ないデータの影響を少なくすることができる効果が出てくる。
【0060】
また、これらの意味単位に基づく数は、レイアウト処理によって変わるものではないので、事前に数えておくことが可能であり、レイアウト処理などを最小限に抑えた処理を可能にするいう前述の効果が変わりなく得られるものである。
【0061】
なお、本方法を、既に説明した本発明の前記各方法と、必要に応じて任意に組み合わせてもよい。
【0062】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記意味単位に基づく数として文字数あるいは単語数を使うことを特徴とする。
【0063】
上記の構成によれば、データサイズとして上述の意味単位に基づく数を使う場合に、意味単位が小さい程、データサイズの精度が上がるので、表示割合の算出精度を上げることができる。すると、意味単位として、単語数は改行数や行数に比べて小さな単位であり、文字数は単語数より更に小さな単位である。したがって、意味単位の中でも、単語数を用いれば、表示割合の算出精度を相対的に高めることができ、特に文字数を用いれば、算出精度を更に上げることができる。
【0064】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記分割文書のデータサイズを得る際、実際の表示サイズがデータサイズと相関しない表示要素が文書中に含まれている場合、当該表示要素の表示サイズをデータサイズに換算した値を使うことを特徴とする。
【0065】
上記の構成において、「表示要素」とは、文字や絵、写真、図形、動画像など、表示することのできるデータ要素を指す。表示する為には、通常、表示位置と表示サイズ、外形、表示表現形態などの属性やそれらの取得手段を表示要素は持っている必要がある。但し、表示要素は、表示している状態のデータ要素だけを指すのではなく、主記憶や外部記憶、その他の機器上に、表示/出力に備えて記録/格納されているデータ要素も含む。何かの形に置き換えて出力するという意味では、「出力要素」と言い換えても良いが、上述した様に以降では分かり易くする為に「表示要素」と表現しておく。また、表示は2次元だけでなく、3次元も含む。
【0066】
また、実際の表示サイズがデータサイズと相関しない表示要素とは、例えば表示形態に関するデータやファイル名のデータのみが文書データ中に記述された画像である。このような場合、表示形態やファイル名のデータのサイズを、バイト数やビット数などで取得しても、実際の表示サイズとは不一致となり、通常小さくなることが多い。
【0067】
文字や画像の大きさは実際にはレイアウトしないと完全に決定しないこともあるが、基準文字サイズを仮決めするなど、何らかの仮定をおいてレイアウトを行っても、ある程度の傾向は出てくる。そこで、実際の表示サイズがデータサイズと相関しない表示要素のレイアウトの大きさを、何らかの仮定の元に推定し、それをデータサイズに換算することで、データサイズだけで推定するよりも推定精度が増す可能性が大きくなるという効果が出てくる。
【0068】
なお、本方法を、既に説明した本発明の前記各方法と、必要に応じて任意に組み合わせてもよい。
【0069】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスの中央位置が、前記表示範囲の中央位置の表示割合を示すようにすることを特徴とする。
【0070】
上記の構成において、指定範囲の割合は、表示倍率などを変えない限りは通常は一定となる。しかし、本発明では、指定範囲の割合をデータサイズを用いて推測的に求めているので、一定とは限らない。その為、指定範囲の位置によっては、スクロールボックスの長さが変わってしまうことがある。この長さの変化は推測誤差に相当する。
【0071】
上記の構成によれば、表示範囲を指定するスクロールボックスの中央位置が、表示範囲の中央位置の表示割合を示すようにすることで、その誤差をスクロールボックスの両端に分散させ、長さの変化に対する視覚的な違和感を軽減することができる効果がある。
【0072】
また、ユーザーにとって、スクロールバーを操作する際に、視覚上、直感的に表示割合や表示部分の位置を捉えやすくなる効果も出てくる。
【0073】
また、本発明に係る表示制御方法は、上記の課題を解決する為に、前記スクロールバー表示制御ステップにおいて、前記スクロールボックス上の基準位置を変更すると共に、該スクロールボックス上の基準位置に対応する前記指定位置データ位置を合わせて変更することを特徴とする。
【0074】
先に説明した方法によれば、スクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合もうまく処理できるようになるが、始端もしくは終端をわずかに含まない範囲を指定した場合に、スクロールボックスの中心位置を使った表示方法を実行するとすれば、端を含むか含まないかの差はわずかなのに、表示結果は大きく飛んでしまうことが起こるという不具合が考えられる。
【0075】
そこで、上記の構成によれば、表示範囲を指定するスクロールボックスのスクロールバー内の位置に応じて、スクロールボックスと表示範囲とで対応付けされた基準位置を変更するように指定範囲を解釈する。
【0076】
例えば、スクロールボックスがスクロールバーの中心付近に位置する場合は、表示範囲が文書中に占める位置と割合とを表す基準となるスクロールボックス上の基準位置と、表示範囲上の基準位置(指定位置データ位置)とを、共に中心付近で一致させるようにする。
【0077】
そして、スクロールボックスがスクロールバーの中心から離れるのに応じて(例えば比例して)、両者の基準位置を共にずらしていく。
【0078】
さらに、文書の最初や最後を含む範囲が指定された場合には、スクロールボックスの始端または終端を基準位置とすると共に、表示範囲についても始端または終端を基準位置として、スクロールボックスおよび表示範囲の基準位置を始端または終端に一致させるようにする。
【0079】
これによって、スクロールバー末端付近のスクロールボックスのわずかな位置の違いで表示が大きくずれてしまうことを防ぐ効果が出てくる。
【0080】
また、本発明に係る表示制御装置は、上記の課題を解決する為に、文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得手段と、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書の表示レイアウトを得る分割文書レイアウト取得手段と、前記特定した分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得手段と、前記分割データサイズ取得手段から得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得手段から得た、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得手段と、前記指定範囲を前記表示範囲とし、前記全文書内割合取得手段から得られた前記第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御手段とを有し、
前記スクロールバー表示制御手段は、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示するように構成されていることを特徴とする。
【0081】
これによる作用、効果は上で説明した方法と同様であるが、作用の説明を補足しておく。
【0082】
分割データサイズ取得手段は、分割文書の各データサイズを、レイアウト設定とは無関係に得ることができる。例えば、文書をどう分割するかを文書データの作成時に予め決め、どう分割したかの情報をデータとして、文書を配信するサーバのメモリ上、または文書データを記録した記録メディアに別ファイルとして記録しておく。あるいは、文書データの一部としてヘッダ情報などの形で含めておき、文書データを記録媒体または伝送媒体を介して読み込んだ時に、分割文書の各データサイズ情報を、主記憶または外部記憶などに格納しておいてもよい。
【0083】
これにより、分割データサイズ取得手段は、分割文書の各データサイズを入手する必要が生じた時に、上記メモリ、記録メディア、主記憶または外部記憶などにアクセスして、データサイズを入手することができる。
【0084】
また、文書における指定範囲は、文書に対して例えばユーザが指定した位置と、表示媒体について設定されている表示範囲の大きさとによって決まるので、分割文書レイアウト取得手段は、指定されたことによって、指定範囲を含む分割文書を特定することができ、さらに、特定した分割文書を可変レイアウトのその時の設定に従ってレイアウトすることで、表示レイアウトを得ることができる。
【0085】
分割文書内割合取得手段は、分割文書レイアウト取得手段から、分割文書のレイアウトサイズを取得すると共に、表示媒体について設定されている表示範囲の大きさを、指定範囲のレイアウトサイズとして、主記憶または外部記憶から読み出したり、ウィンドウサイズ取得APIを呼び出すなどして、取得する。これにより、分割文書内割合取得手段は、分割文書に対する指定範囲のレイアウトサイズ比を求めることができる。
【0086】
さらに、全文書内割合取得手段は、分割文書内割合取得手段から、レイアウトサイズ比の算出に用いた分割文書を特定する情報を得て、その情報を元に、分割データサイズ取得手段から、該当する分割文書のデータサイズを得ると共に、全ての分割文書の各データサイズを取得して合算する。これによって、全文書内割合取得手段は、文書全体のデータサイズに対して、レイアウトサイズ比の算出に用いた分割文書のデータサイズの割合、つまり第1のデータサイズ比を求めることができる。
【0087】
最後に、全文書内割合取得手段は、分割文書内割合取得手段から、レイアウトサイズ比を取得し、上記の求めた第1のデータサイズ比に、レイアウトサイズ比を乗算することで、指定範囲の文書全体に対する割合、つまり第2のデータサイズ比を求めることができる。
【0088】
また、本発明に係る表示制御プログラムは、上記の課題を解決する為に、上記表示制御方法が備える各ステップをコンピュータに実行させることを特徴とする。
【0089】
また、本発明に係る表示制御プログラムは、上記の課題を解決する為に、上記表示制御装置が備える各手段として、コンピュータを機能させることを特徴とする。
【0090】
これにより、汎用のコンピュータに、本発明の表示制御方法を実行させ、上記の作用、効果を得ることができる。
【0091】
また、本発明に係る記録媒体は、上記の課題を解決する為に、上記表示制御プログラムを記録したことを特徴とする。
【0092】
これにより、上記記録媒体から汎用のコンピュータに、表示制御プログラムをインストールすることによって、本発明の表示制御方法を実行させ、上記の作用、効果を得ることができる。
【0093】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【0094】
まず用語と概念について説明する。
【0095】
「表示」は、一般には情報を視覚的に知覚できるような形態で表示媒体上に出力することを言う。本発明では、表示媒体に対するレイアウトの「表示」だけに限らず、印刷記録媒体に対するレイアウトの「印刷」やデータ記録媒体に対するレイアウトの「ファイル出力」など、「出力」一般にも適用可能である。説明を分かり易くする為、以降の説明では、「表示」という言葉を用いることが多いが、「出力」の意も含まれているとする。
【0096】
「表示要素」とは、文字や絵、写真、図形、動画像など、表示することのできるデータ要素を指す。表示する為には、通常、表示位置と表示サイズの他に、外形、表示表現形態などの属性を、表示要素は持っている必要があり、表示装置はそれらの取得手段を持っている必要がある。
【0097】
但し、表示要素は、表示している状態のデータ要素だけを指すのではなく、主記憶や外部記憶、その他の機器上に、表示/出力に備えて記録/格納されているデータ要素も含む。何かの形に置き換えて出力するという意味では、「出力要素」と言い換えても良いが、上述した様に以降では分かり易くする為に「表示要素」と表現しておく。また、表示は2次元表示だけでなく、3次元表示も含む。
【0098】
「表示表現形態」は、例えば文字ならば、文字の輪郭および内部を表示装置上の画素位置として計算し、その画素を設定された文字色で塗りつぶすことになる。表示でなくて、印刷の場合も画素で塗りつぶす行為が、紙に点を印刷することに相当するだけで、同様の方法で出力できる。PDFなどに表示要素のデータを出力する場合も、画素情報に展開して出力することもできるし、その手前の輪郭データなどとして出力することもできるし、PDFデータを後でPDF用アプリケーションが解釈する際に、画素情報などに展開できるだけの十分な情報量のデータ(例えば、フォント名と文字コード、位置、文字サイズ、文字色など)として出力することもできる。
【0099】
「レイアウト」とは、表示要素が2次元または3次元の空間座標上に、位置とサイズ、外形の属性をもって配置されること、あるいは配置されたもののことを言う。位置やサイズは、通常は何らかの単位を使った値として表現される。例えば、画素の集まりからなるディスプレイに表示する場合は、(画素)ドットの単位で表現される。1つないし複数の表示要素がレイアウトされた結果、その表示要素に関して定まる空間座標上の位置のことを「レイアウト位置」、1つないし複数の表示要素がレイアウトされた結果、その表示要素に関して定まる空間座標上のサイズのことを「レイアウトサイズ」と以降では呼ぶ場合もある。
【0100】
「文書」とは、一つまたは複数の表示要素がレイアウトされたもの、あるいはレイアウトしたり、レイアウトに基づいて表示要素を表示したりすることができるだけの情報量を持ったデータを指す。文書データは、表示要素のデータも含む場合と、レイアウト情報だけ持っていて表示要素のデータの一部を含む場合やあるいはまったく含まない場合もある。いずれにしろ、文書データを使って、レイアウトに従った表示や出力ができる。
【0101】
図5は、ある文書がレイアウトされた例を示している。図5の110はレイアウト全体を指し、その中のそれぞれの文字や画像がレイアウトされた表示要素にあたる。実際に表示される際は、この内、表示範囲の位置と大きさの分だけ表示される。
【0102】
文書の「指定範囲」とは、スクロールバーの場合で言えば、その文書中の表示したい範囲を指す。通常は、レイアウトされた文書中での位置とサイズ、外形で指定する。外形は矩形が一般的である。なお、「指定範囲」は、表示したい範囲に限らず、印刷したい範囲の場合もあり、また、PDFなどのデータフォーマット形式で主記憶上や外部記憶上に記録したい範囲の場合もある。
【0103】
スクロールバーで指定範囲を指定する場合、スクロールボックスのサイズが指定範囲のサイズとなり、スクロールボックスの位置が指定範囲の位置となる。スクロールボックスのサイズはスクロールバーの直接操作では通常は変更できないので、位置を変えるだけになる。スクロールボックスのサイズを変更するには、表示倍率を変える、などの操作を別途行わなければならない。
【0104】
スクロールボックスの位置の変更操作は、通常、マウスやキーボードなどを使って行われる。例えば、スクロールボックス上にマウスカーソルを移動させ、マウスの左ボタンを押す。そのボタンを押しつづけたまま、スクロールボックスを移動させたい位置までマウスを動かし、移動させたい位置でボタンを離す。スクロールボックスをいわゆる「ドラッグ&ドロップ」することになる。
【0105】
また、スクロールバー上にスクロールボックスを移動させるスクロールボタン(矢印の表示をしていることが多い)などがある場合、そのスクロールボタンを押すことで、所定の方向に所定量だけスクロールボックスが移動する。スクロールボタンと同様の操作は、キーボード上の方向キーやスペースキーなどを押すことでもできる場合もある。
【0106】
スクロールバーから指定範囲を得る場合、スクロールバー中でスクロールボックスを配置できる範囲のサイズ、その範囲中でのスクロールボックスの位置、スクロールボックスのサイズが得られれば、スクロールボックスによって指定される範囲が分かる。
【0107】
スクロールバーやスクロールボックスの位置、サイズは、通常、画面表示のドット数で表される。例えば、スクロールバー中でスクロールボックスを配置できる範囲が250ドットで、スクロールボックスはその配置できる範囲の先頭から100ドットの所に位置し、そこから50ドット分のサイズを占める、などとなる。スクロールバーのどちらの端が先頭かは目的に応じて決めればよい。
【0108】
スクロールバーを使って指定範囲を得る場合や、現在表示している範囲をスクロールバーで表示する場合、最終的には画面表示のドット数が単位となるのだが、スクロールバー全体の大きさも変わったりするので、以降では説明を汎用的にする為、スクロールボックスの位置、サイズは、ドット数ではなくて割合を使って主に説明する。割合は0.0〜1.0の値となる。
【0109】
例えば、先の例では、スクロールボックスの位置の割合は、(100/250)=0.4となり、スクロールボックスのサイズの割合は、(50/250)=0.2となる。
【0110】
指定範囲の指定の仕方としては、文書の全体縮小表示上でマウスドラッグなどにより矩形を指定することで行われることもある。この場合は位置とサイズを同時に指定することができる。
【0111】
指定範囲の位置とサイズはどんな単位系で表現されても良いのだが、スクロールバーなどで指定される場合は、文書全体の中での割合として得られることが多い。
【0112】
次に、文書の「分割」とは、レイアウト的な分割とデータ的な分割の2通り考えられるが、本発明ではデータ的な分割を対象とする。
【0113】
レイアウト的な分割とは、表示要素がレイアウトされた状態で、座標空間上の範囲として分割することである。例えて言えば、印刷された紙を鋏で切るようなものである。
【0114】
一方、データ的な分割は、バイトやビットなどのデジタル量として表現された文書データを、データ列として分割することである。これは人間が直接知覚することはできないが、表示要素やレイアウト的にきりの良い所(例えば、改行や段落の前後)でデータ列を分割した場合、その分割データの表示や出力はレイアウト的に分割されたように表現されるので、間接的に知覚できる。また、表示要素やレイアウト的にきりの良い所でデータ列を分割した方が後の処理がしやすい。
【0115】
また、どちらの場合でも、表示要素やレイアウト的にきりの良い所で文書を分割した場合、レイアウト的な分割でもデータ的な分割でもどちらの形でも分割状態として表現できることが多い。
【0116】
図6は、図5の文書レイアウトの文書データ(HTMLで記述されているとする)を分割した例である。分割文書データ50〜55のように、元の文書データがHTMLソースの文字単位で分割されている。また、レイアウト的に切りが良いように、改行(「<BR/>」)の前後などでできるだけ分割している。この分割の処理は、コンテンツデータが作成される時に行われるとし、コンテンツデータを読み込む段階では、どう分割されたかの情報は入手できるとする。
【0117】
文書の「データサイズ」とは、データの規模を示す値で、一般には文書データをバイトやビットなどの符号化量(デジタル量)として表現、記録した時のサイズであるが、ここでは後に説明する「意味単位に基づく数」などもデータの規模を示すものとしてデータサイズに含まれるとする。
【0118】
文書の「意味単位に基づく数」とは、人間に知覚できるような処理単位を意味単位として捉えた時の処理単位の数ということで、文書の場合で言えば、文字(要素)数や行数、改行数などが考えられる。
【0119】
図2は、本発明の実施の一形態に係り、上述したスクロールバー表示制御方法を実施するスクロールバー表示制御装置を示す構成図である。
【0120】
すなわち、スクロールバー表示制御装置の要部を、分割データサイズ取得手段1、分割文書内割合取得手段2、全文書内割合取得手段3、スクロールバー表示手段4、指定範囲取得手段5、指定範囲レイアウト取得手段6、レイアウト表示手段7、分割文書レイアウト取得手段8に展開して示すことができる。
【0121】
図3は、図2の各手段1〜8を具体的に実現する装置の構成例である。
【0122】
CPU(central processing unit)20は、上記分割データサイズ取得手段1、分割文書内割合取得手段2、全文書内割合取得手段3、スクロールバー表示手段4、指定範囲取得手段5、指定範囲レイアウト取得手段6、レイアウト表示手段7、分割文書レイアウト取得手段8として機能し、これら各手段1〜8による処理手順が記述されたプログラムを主記憶25、外部記憶26、通信デバイス29を経たネットワーク先などから得る。
【0123】
また、CPU20は、CPU20を含めてバス30を通じ相互に接続されたグラフィックデバイス21、プリンタ23、スピーカー24、主記憶25、外部記憶26、マウス27、キーボード28、通信デバイス29とデータのやりとりを行ないながら、既に説明した各処理を行なう。
【0124】
なお、データのやりとりは、バス30を介して行う場合に限らず、データを送受信できるものならば、通信ケーブルや無線通信装置などを介してもよい。また、各手段1〜8の実現手段としては、CPUに限らず、DSP( digital signal processor)や処理手順が回路として組み込まれているロジック回路などを用いることもできる。
【0125】
主記憶25は、通常はDRAM(dynamic random access memory)やフラッシュメモリなどのメモリデバイスで構成される。外部記憶26は、HDD (hard disk drive)やPC(personal computer) カードなどの装脱着可能な記憶手段である。あるいはCPU20と通信デバイス29を介して有線または無線で接続された他のネットワーク機器に取り付けられたメモリデバイスなどを外部記憶26として用いることもできる。
【0126】
ユーザの操作を入力する手段として、マウス27やキーボード28、マイク31などがある。この他にもボタンやタッチパネルなど、様々な手段が使用可能である。
【0127】
グラフィックデバイス21は、通常はグラフィックカードなどによって実現され、VRAM(video random access memory)を有し、VRAM上のデータを表示信号に変換して、グラフィックデバイス21に接続されたモニタ22に送り、モニタ22は表示信号を画像として表示する。
【0128】
プリンタ23は、バス30を介して得た印刷データを用紙に印刷する。スピーカ24は、バス30を介して得た音データを音として出力する。マウス27やキーボード28、マイク31は、ユーザーによる入力をバス30を介して他の手段に伝える。
【0129】
通信デバイス29は、ネットワークカードなどにより実現され、無線や有線などによりネットワークを介して接続された他のネットワーク機器とデータをやりとりする。
【0130】
図2の各手段1〜8について、各手段間のデータの授受という観点も含めて、その実現方法を説明する。
【0131】
図2の分割データサイズ取得手段1としてのCPU20は、主記憶25、外部記憶26、通信デバイス29などから各分割文書のデータサイズを得る。各分割文書のデータサイズは、文書データ中に既に記述されていたり、文書データを解釈することで得られるとする。各分割文書のデータサイズの形式については、後述するが、例えば図10のような構造が考えられる。
【0132】
図2の分割文書内割合取得手段2としてのCPU20による処理として、まず、分割文書内割合取得手段2は、主記憶25、外部記憶26、通信デバイス29などから処理プログラムを読み込み、指定範囲レイアウト取得手段6からデータ位置、サイズ情報を含んだ指定範囲のレイアウトデータを得る。続いて、分割文書内割合取得手段2は、分割文書レイアウト取得手段8から、指定範囲を含む分割文書を特定する情報と、その特定の分割文書に関して、データ位置、サイズ情報を含んだレイアウトデータを得る。これにより、指定範囲および特定の分割文書の各レイアウトサイズから、前記特定の分割文書内に指定範囲が占める割合(レイアウトサイズ比)が求められ、分割文書内割合取得手段2から全文書内割合取得手段3に送られる。
【0133】
なお、CPUやDSPは処理手順をプログラムとして読み込むが、ロジック回路などのように処理手順が回路として組み込まれている場合はプログラムを読み込む必要はなくなる。
【0134】
図2の全文書内割合取得手段3としてのCPU20による処理として、まず、全文書内割合取得手段3は、主記憶25、外部記憶26、通信デバイス29などから処理プログラムを読み込み、分割文書内割合取得手段2から指定範囲のレイアウトサイズ比を得る。続いて、全文書内割合取得手段3は、分割文書レイアウト取得手段8から、指定範囲を含む特定の分割文書のデータサイズを得ると共に、分割データサイズ取得手段1から全分割文書の各データサイズを得ることによって、特定の分割文書が全文書内に占めるデータサイズの割合(第1のデータサイズ比)を求める。さらに、全文書内割合取得手段3は、第1のデータサイズ比にレイアウトサイズ比を乗算することによって、指定範囲が全文書内に占めるデータサイズの割合(第2のデータサイズ比)を最終的に求め、スクロールバー表示手段4に送る。スクロールバー表示手段4では、その第2のデータサイズ比に応じたスクロールバーの表示処理を行う。
【0135】
図2のスクロールバー表示手段4としてのCPU20は、全文書内割合取得手段3から得た指定範囲の割合(第2のデータサイズ比)に応じて、スクロールバーを出力先(グラフィックデバイス21およびモニタ22、またはプリンタ23等)に出力する。
【0136】
出力表現形式は用語の説明で説明したように、例えばモニター22に表示する場合、グラフィックデバイス21のVRAM上に画素データとして書き込まれ、モニタ22に表示される。一方、例えば印刷の場合には、プリンタ24に印刷データとして送られ、プリンタ24 が印刷データを解釈して、用紙に印刷する。PDFならば、対応する位置に文字を配置するデータをPDFデータとして書き込み、主記憶25や外部記憶26、通信デバイス29などを通じて記録される。
【0137】
図2の指定範囲取得手段5としてのCPU20は、指定範囲のデータを主記憶25、外部記憶26、通信デバイス29などから読み取られるプログラムから得たり、ユーザの操作によりマウス27、キーボード28、マイク31などから入力されたデータとして得たり、グラフィックデバイス21、主記憶25、外部記憶26、プリンタ23、通信デバイス29からデータとして得たりする。
【0138】
例えばモニタ22上に表示されているウィンドウのサイズを指定範囲の大きさとするならば、CPU20は、主記憶25上のウィンドウサイズデータを参照したり、ウィンドウサイズ取得APIを呼び出すなどして指定範囲の大きさのデータを得る。また印刷ならば、プリンタ23、あるいは用紙設定が記録された主記憶25や外部記憶26上などの用紙設定データをCPU20が参照したり、用紙サイズ取得APIを呼び出すなどして用紙サイズを得ればよい。
【0139】
また、例えばモニタ22上に表示されているスクロールバー上のスクロールボックスの位置を指定範囲の位置とするならば、CPU20は、主記憶25上のスクロールボックス位置を参照したり、スクロールバー情報取得APIを呼び出すなどして指定範囲の位置のデータを得る。
【0140】
図2の指定範囲レイアウト取得手段6としてのCPU20による処理は、主記憶25、外部記憶26、通信デバイス29などから処理プログラムを読み込み、指定範囲取得手段5から指定範囲を得て、分割データサイズ取得手段1から各分割文書のデータサイズを得て、分割文書レイアウト取得手段8から分割文書のレイアウトを得て、処理プログラムに従い処理し、指定範囲のレイアウトやデータ位置、サイズなどを分割文書内割合取得手段2やレイアウト表示手段7に渡すことで行なわれる。
【0141】
図2のレイアウト表示手段7としてのCPU20は、指定範囲の表示要素の出力表現形式を出力先(グラフィックデバイス21およびモニタ22、またはプリンタ23等)に出力する。出力の実現方法については、スクロールバー表示手段4と同様だが、出力する内容はレイアウトである。
【0142】
図2の分割文書レイアウト取得手段8としてのCPU20は、主記憶25、外部記憶26、通信デバイス29などから分割文書のレイアウトデータを得る。レイアウトデータは、WWWブラウザのレイアウト処理など他のプログラムや処理ルーチンなどによって既に作成されており、それらの他のプログラムや処理ルーチンを呼び出すことで得られるとする。それらのルーチンなどの内部では、既に作成したレイアウトがあればそれを使い、まだ作成していなかったり、表示設定が変わったりした場合は、作成し直される。レイアウトデータの形式については後述するが、図12のような構造が考えられる。
【0143】
図4は、装置の外観例を示している。本体123上に表示手段122があるが、これはタブレット機能も兼ねており、ペン124によるタブレット操作が可能である。表示手段122中に、指定範囲のレイアウトが表示され、またその横にスクロールバー120が表示されている。スクロールバー120中にスクロールボックス121がある。
【0144】
ペン124によって、スクロールバー120をタッチしたり、スクロールボックス121をドラッグしたりしてタブレット操作することで、指定範囲を指定できる。表示手段122は、図3では表示機能がグラフィックデバイス21、モニタ22など、ペンと合わせたタブレット機能がマウス27やキーボード28などの入力操作手段に相当する。
【0145】
図7は、本発明の実施の一形態に係るスクロールバー表示制御方法を示すフローチャート図である。
【0146】
このフローチャート図では、ユーザーがスクロールバーを使う典型的な操作として、
(1)ユーザーが表示させたい範囲をスクロールボックスを用いて指定し、
(2)指定された範囲を表示し、
(3)表示された範囲に相当するスクロールボックスをスクロールバー上に表示し直す、までの全体の一連の処理を説明している。(1)、(2)は「スクロールバーによる制御」、(3)は「スクロールバーの表示」に主に相当する。
【0147】
まず、これらの処理の概要を一通り説明する。各処理の詳細は後で述べる。
【0148】
まず、ステップS10(以下、「ステップS」を「S」と略記する)で、指定範囲取得手段5が、前述したように指定範囲を得て、連結点P10(以下、「連結点P」を「P」と略記する)を経て、S11へ進む。
【0149】
「指定範囲」については、言葉の説明で上述した通りである。例えば、指定範囲は、スクロールバーや全体縮小表示における範囲指定操作などを使って、ユーザーから指示されたとする。スクロールバーによる範囲指定操作は、先に「指定範囲」の定義に関連して説明した通りである。
【0150】
ここではスクロールバーから得られる範囲は、文書全体に対する割合として得られるとする。
【0151】
指定範囲のサイズに関しては、スクロールボックスで指定されるサイズの割合でも良いのだが、本発明をスクロールバーと共に用いた場合、表示手段の表示画面のドットサイズを使う方がユーザーにとって自然だと思われるので、その値を使うとしておく。表示手段の表示画面のドットサイズは、この場合、表示されているコンテンツの部分のレイアウトサイズと常に同じである。
【0152】
一般にスクロールボックスは、「全レイアウト中の表示されている部分のレイアウト」に対応し、その位置とサイズは、「全レイアウト中の表示されている部分のレイアウト」の全レイアウト中での位置とサイズで決まる。全レイアウトのサイズは、コンテンツ全てをレイアウトすれば求められる。指定範囲の大きさが変わらないのならば、「全レイアウト中の表示されている部分のレイアウト」のサイズも変わらず、スクロールボックスの位置は変わっても、スクロールボックスの大きさ(スクロールバー上でのサイズの割合)は普通、変わらない。
【0153】
詳しくは後で説明するが、本実施例では、全レイアウトサイズを求めずに、「表示されているコンテンツの部分のレイアウト」の全レイアウト上での位置とサイズを、各種データサイズから推測する。推測なので、スクロールボックスのサイズ(およびそのサイズの割合)は、表示する範囲によって多少変わってくることがある。
【0154】
従って、以前のスクロールボックスのサイズ(およびそのサイズの割合)に相当する部分のコンテンツを表示させようとすると、そのレイアウトサイズは、表示手段の表示画面のドットサイズと一致しない場合が出てくる。その場合、表示に欠けができたり、表示しきれない部分が出てくるかもしれない。これはユーザーにとっては不自然な表示結果となってしまう。
【0155】
従って、ここでは指定範囲を、スクロールボックスのサイズで指定するのではなく、表示手段の表示画面のドットサイズで指定するとした方が、ユーザーにとって違和感が少なく、望ましい。
【0156】
なお、指定範囲の外形は矩形としておくが、矩形でなくても原理的にここで説明するのと同様の方法を適用できる。
【0157】
S10は、先に説明した「(1)ユーザーがスクロールボックスで表示する範囲を指定する」に相当する。
【0158】
S11では、指定範囲レイアウト取得手段6が、S10で得た指定範囲のレイアウトを本発明の特徴的な方法に従って得て、P20を経て、S12へ進む。ここでの処理の詳細に関しては、後で図9を参照して説明する。
【0159】
S12では、レイアウト表示手段7が、S11で得た指定範囲のレイアウトを表示して、P30を経て、S13へ進む。
【0160】
指定範囲のレイアウトの取得に関しては、後で図16などの説明で出てくるが、レイアウトの上限と下限の表示要素が得られるので、その間の表示要素が指定範囲のレイアウトの表示要素となる。
【0161】
表示の仕方は、本発明の主旨ではないので詳しくは説明しないが、レイアウトされた文書中での各表示要素の位置とサイズ、外形、表示倍率などに従い、各表示要素の表示表現形態を表示する。表示要素の位置はレイアウト座標系での値なので、表示する際は、通常は表示手段原点からの表示座標系に変換して表示する。
【0162】
図8は、図5の文書全体のレイアウト110から表示範囲(指定範囲)111の表示要素を抜き出してきて、表示手段122に表示した例である。レイアウト110中の表示要素はレイアウト110の左上隅を原点とし、右方向を+X方向、下方向を+Y方向とする座標系で表されるとする。表示範囲111の開始位置の座標値を各表示要素の位置の座標値から引き算することで、表示手段122の左上を原点とした表示座標系に変換され、表示手段122の範囲に収まったものだけが表示される。
【0163】
S11、S12は、先に説明した「(2)指定された範囲を表示する」処理に相当する。
【0164】
S13では、全文書内割合取得手段3が、指定範囲に基づく表示範囲の全文書内の位置と割合を本発明の特徴的な方法に従って計算して、P40を経て、S14へ進む。ここでの処理の詳細に関しては、後で図1を参照して説明する。
【0165】
なお、S10の説明で述べた通り、指定範囲の位置は全文書内の割合で指定されるが、サイズは表示サイズ(例えばドットサイズ)で指定される。もし、サイズも全文書内割合で指定するのならば、S13では特に計算する必要はなく、割合で指定された位置とサイズをそのまま使えば良い。
【0166】
S14では、スクロールバー表示手段4が、S13で得た全文書内の位置とサイズを得て、スクロールバー120を表示して、処理を終了する。
【0167】
図8では、スクロールバー120上に表示範囲111の位置と大きさを示すスクロールボックス121が黒く示されている。
【0168】
S13、S14は、先に説明した「(3)表示された範囲に相当するスクロールボックスをスクロールバー上に表示する」処理に相当する。
【0169】
以上の処理によって、先に説明した番号に則して言えば、(1)ユーザーがスクロールバーなどを操作して指定した指定範囲について、(2)指定範囲に相当する部分のレイアウトを表示し、(3)指定範囲に応じたスクロールバーが表示されることになる。
【0170】
一般に、コンテンツを見ようとした場合、(1)から(3)の操作を繰り返して様々な場所を見ることになる。(1)のスクロールバーの代わりに、キーボードやマウスなどを使って次に表示する範囲を指定する場合もある。例えば、WWWブラウザではスペースキーを押すと、次の1ページ分が表示指定されたことになる。なお、この繰り返し処理はコンテンツを見るだけに限らず、ワープロなどの場合、編集などの操作、処理が間に挟まれることもある。
【0171】
図9は、本発明の表示制御方法の特徴の1つである図7のS11の処理の詳細を示すフローチャート図である。
【0172】
処理を具体的に説明する為、図7のS10で得られた指定範囲の位置が0.5、サイズが指定位置を中心に上下100ドット(合わせて200ドット)としておく。
【0173】
まず、P10を経てS20へ進み、指定範囲レイアウト取得手段6が、分割データサイズ取得手段1から各分割文書のデータサイズを得て、S21へ進む。
【0174】
各分割文書は予め作成しておく。すなわち、コンテンツをどう分割するかを予め決め、どう分割したかの情報をデータとして記録しておく。例えば後で説明する図10の「データサイズ」の項の値の配列のように記録しておけばよい。これはコンテンツデータと別にファイルなどとして記録メディア上などに記録してもよいし、コンテンツデータの一部としてヘッダ情報などの形で記録しておいてもよい。
【0175】
各分割文書のデータサイズは、先に説明した「どう分割したかの情報」などから得られる。各分割文書のレイアウトサイズは、可変レイアウトの場合、文字の大きさの設定などによって変わるが、各分割文書のデータサイズは、可変レイアウトであっても変わることはない。本発明でスクロールバーによる制御や表示を高速に行うことが可能となる理由の一つは、データサイズを予め求めておくことができるためである。
【0176】
図10は、取得した各分割文書のデータサイズの例である。各分割文書のデータサイズ70〜75は値の配列として得られるとする。その下にデータサイズ70〜75の和「604」も示してある。
【0177】
データサイズ比80〜85は、データサイズ70〜75の和を1.00とした時の比率である。データサイズ70〜75の総和は604なので、例えばデータサイズ比80は、126/604=0.21(以降、説明の為、小数点第3位を四捨五入)で得られる。
【0178】
累積データサイズ比90〜96は、データサイズ比80〜85の累積値である(なお、累積誤差を少なくする為、図10の値は、四捨五入された80〜85の和ではなく、データサイズの和から比率を計算している。そのため、データサイズ比の和と一致しない部分が一部ある)。最初の0.00と最後の1.00も含めてある。データサイズ70〜75、データサイズ比80〜85、累積データサイズ比90〜96は0から始まるインデックス番号によってアクセス可能とする。
【0179】
なお、各分割文書の分割の仕方について簡単に説明しておく。分割の仕方に決まりはないが、表示上、区切りの良い意味単位で分割する方が一般によい。区切りの良い意味単位とは、文字単位などは当然として、ここでは「改行」や「段落」などのもう少し大きな意味単位である。
【0180】
例えば、図6の例では、改行となる「<BR/>」や「<P/>」の後で分割している所が多い。これは後で説明するようにレイアウトを分割文書単位で行う場合などに、各分割文書のレイアウトが改行などの区切りの良い単位でまとまっていた方が、それぞれの分割文書で独立してレイアウトすることができる利点が出てくるからである。
【0181】
例えば、図5のレイアウト結果を見ると分かるように、図6の分割文書データ50のレイアウト結果は「<BR/>」が最後にあるので「視野が狭い」の行で終わり、分割文書データ51のレイアウト結果は次の行の行頭から「 人間の視野は」で始まる。行が分かれているので、表示する時は単にそれぞれの行を並べて表示すればよい。従って、分割文書データ51、分割文書データ50の順でレイアウトを作成しても問題ない。
【0182】
もし区切りの良く無い部分で分割してしまうと、その部分が連続されるように同じ行にレイアウトしないといけない。例えば、図6の分割文書データ54のレイアウト結果は「機能は」で終わるが、「<BR/>」や「<P/>」で終わっていないので、ここでは改行されない。従って、続く分割文書データ55のレイアウト結果は、「機能は」の行に続けて、「人間の視野と」となる。この結果、分割文書データ54と分割文書データ55とで、レイアウト結果の行が同一行にだぶることになる。
【0183】
このため、分割文書データ54、分割文書データ55の順にレイアウトするのならばよいが、分割文書データ55、分割文書データ54の順に独立してレイアウトしてしまうと、「機能は」の部分が行末にレイアウトされるとは限らず、行の途中にレイアウトされてしまうと、その後に妙な空白部分が続いてしまう。そして次の行の行頭は「人間の視野と」となってしまう。これでは文章としてのつながりがなくなってしまう。
【0184】
それを回避する為には、例えば、分割文書データ55のレイアウトを一旦破棄して、分割文書データ54、分割文書データ55の順に作成し直すなどの処置が必要となる。これは非常に無駄な処理となってしまう。
【0185】
従って、文書の分割は、分割文書データ50〜53のように、改行などの区切りの良い部分で行うようにした方がよい。
【0186】
また、各分割文書のデータサイズやレイアウトサイズの大きさは、大きすぎても小さすぎてもよくない。レイアウトを作成する単位を分割文書とすると、あまり大きな分割文書は、当面の表示に使わないレイアウトも無駄に生成してしまい、レイアウトにかかる時間や必要なメモリ量が大きくなってしまう。逆に小さすぎると、当面の表示に使わないレイアウトを生成する無駄は減るが、分割文書のデータサイズを記録する部分が多くなり、(レイアウトにかかる時間に比べれば通常たいしたことはないが)割合の計算も多少増えたりしてしまう。
【0187】
また、あまり細かくしようとしても、改行などのきりの良い所で分割できるとは限らない。分割量の1つの基準としては、標準的な表示設定で1画面に表示されるコンテンツ量が考えられる。例えば、1画面に表示されるコンテンツ量の0.5〜2倍程度になるようにするとよい。
【0188】
また、各分割文書の分割は、各分割文書のデータサイズやレイアウトサイズに大きな差が出ないようにした方が一般によい。これはレイアウトにかかる時間に大きな差が出てしまうのを防ぐ意味もある。
【0189】
なお、コンテンツデータが圧縮や暗号化されている場合、各分割文書単位で展開や復号できるようにしておくと、分割文書単位でのレイアウトにかかる時間を小さくすることができるようになる利点が出てくる。
【0190】
S21では、指定範囲レイアウト取得手段6が、指定位置の分割文書を同定して、S22へ進む。
【0191】
指定位置を図10の累積データサイズ比90〜96と比較して、指定位置がどの区間に入るかを調べれば、指定位置がどの分割文書内に位置するかが得られる。例では指定位置が0.5なので、累積データサイズ比92の値0.34と93の値0.53の間に位置することが分かる。この区間はデータサイズ比82、データサイズ72に相当するので、指定範囲の分割文書には、少なくとも3番目の分割文書データ52が含まれることが分かる。
【0192】
図11は、この状態を示したもので、分割文書データ50〜55は、データサイズ70〜75に概ね比例した高さで表現されている。指定中心位置は0.5であり、これが3番目の分割文書データ52内に含まれることが示されている。
【0193】
S22では、分割文書レイアウト取得手段8が、指定位置が含まれる分割文書のレイアウトを得て、P11を経てS23へ進む。指定位置が含まれる分割文書については、指定範囲レイアウト取得手段6から指定される。
【0194】
この例では、分割文書レイアウト取得手段8が、分割文書データ52のレイアウトを得ることになる。もし、分割文書データ52のレイアウトデータが主記憶25や外部記憶26、他の機器上などにキャッシュデータなどとして蓄積されているならそれをそのまま使えばよい。もし蓄積されていないのならば、分割文書データ52を読み込んで、レイアウトを作成すればよい。
【0195】
図12は、レイアウトされた表示要素データのデータ構造例である。ここでは、文書データがHTML形式で、
「<HTML>あいう<BR/><IMG SRC=“img.png”/><BR/>え</HTML>」
と記述されている時に、WWWブラウザなどによってレイアウトされた結果得られたレイアウトデータ例を示している。なお、レイアウト作成方法自体は、本発明の主旨ではないので、詳細は省略する。WWWブラウザでなくても、レイアウト処理によって図12のようなデータが得られるのならば、ワードプロセッサでも何でも良い。
【0196】
表示要素40〜44の各行は図12の様に、データ開始位置、データサイズ、レイアウトX位置、レイアウトY位置、レイアウト幅、レイアウト高さ、表示データの情報を持っているとする。
【0197】
データ開始位置は、この表示要素が文書データ中に記述される最初のデータ位置を意味する。最初の表示要素40は、HTMLデータの最初の「あ」の文字に相当し、7バイト目なので0から始まるとしてデータ開始位置を「6」としている。また、全角文字が2バイトで表現されているとすると、データサイズは「2」、レイアウトX,Y位置は原点とすると「0」、大きさは文字サイズが14ドットとして「14」、表示データとして文字「あ」の文字コードとなる。実際はこの表示データが「文字」であることを何らかの識別子で示す必要があるが、表示要素の表示の仕方自体は本発明の主旨ではないので、ここでは省略して「あ」という文字が表示できるだけの情報を表しているとする。
【0198】
同様に、表示要素41〜44も図12のようになる。表示要素43は「<IMG../>」で表される画像要素の例で、画像の大きさ(レイアウトサイズ)は50ドット×100ドットで、表示データは画像ファイル名「img.png」となっている。
【0199】
S23では、指定範囲レイアウト取得手段6が、指定範囲で指定されたサイズだけのレイアウトが確保できたかどうかを判断して、必要なら周囲の分割文書データのレイアウトを分割文書レイアウト取得手段8から取得して、P15を経て、S24へ進む。ここでの処理の詳細に関しては、後で図13を参照して説明する。
【0200】
S24では、指定範囲レイアウト取得手段6が、指定範囲の表示要素を取得して、P20へ抜ける。ここでの処理の詳細に関しては、後で図16を参照して説明する。
【0201】
以上の処理によって、図7のS11の処理が行われ、指定範囲のレイアウトが得られる。
【0202】
図13は、図9のS23の処理の詳細を示すフローチャート図である。
【0203】
なお、この例では上下方向のスクロールバーを想定していて、下のレイアウトほど先の文書内容になっているとしておく。その為、以降の説明では、先の内容のレイアウトに関して、「下」という表現をすることにし、指定範囲やレイアウトに関しても、主に上下方向(図12のレイアウトY位置)に関して説明する。
【0204】
P11からS30へ進み、指定範囲レイアウト取得手段6が、現在、分割文書レイアウト取得手段8から取得済みのレイアウトに関して、指定範囲と比べて上の部分のレイアウトが足りないかどうかを判断し、足りない場合はP12を経てS31へ進み、足りている場合はP13を経てS32へ進む。
【0205】
図14は、この判断をする為に使うデータの例であり、主記憶25、外部記憶26、または他の機器上に蓄積されている。開始分割文書インデックス100は、既にレイアウトを取得している分割文書データの最初のインデックス番号である。同様に終了分割文書インデックス101は、既にレイアウトを取得している分割文書データの最後のインデックス番号である。ここでは3番目の分割文書データしかレイアウトしておらず、また1番目の分割文書データのインデックス番号を前述のように0とするので、どちらも「2」となっている。
【0206】
指定位置データ位置102は、指定位置が文書のデータサイズでどの位置を示しているかを表す。これは全データサイズと指定位置(割合)を掛ければ算出される。算出した値をそのまま使っても良いし、その値を含むあるいは最も近いデータ範囲を持つ表示要素のデータ開始位置(あるいはそれプラス(表示要素データサイズ/2))を探して、その値を使っても良い。
【0207】
図10の例では、中心位置(指定位置)0.5は、
(全分割文書データサイズの和)×(指定位置割合)
=604×0.5=302
より、302バイト目となる。図6の分割文書データ52では、「レンジ」の「ジ」に当たる。図5の表示範囲111で、この指定位置を中心の○印で表している。
【0208】
上側レイアウトサイズ103、下側レイアウトサイズ104は、指定位置データ位置102(を含む行の中心)の上下にどれだけの大きさ、レイアウトされているかを意味する。ここでは図14の開始分割文書インデックス、終了分割文書インデックスが2なので、図6の分割文書52だけがレイアウトされている状態である。全文書レイアウトを示す図5より、分割文書52のレイアウトは「 人間は」(先頭は全角スペース)から「低い」までの5行分である。1行の高さを16ドット(文字14ドット+行間2ドット)として、「ジ」の行中心で分けて考えると、上に
(4.5行分のレイアウト)=16×4.5=72ドット
下に
(0.5行分のレイアウト)=16×0.5=8ドット
となっている。なお、「4.5」、「0.5」は、「指定位置データ位置102を含む行の中心」で処理している為、その行を上下に0.5行分ずつ分けた為である。
【0209】
なお図14の夫々の値は、各分割文書のレイアウトを得る度に更新しておくとする。
【0210】
この例では、指定範囲の大きさが指定位置を中心に上下100ドットなので、上側レイアウトサイズ103の72ドットと比べると足りないので、指定範囲レイアウト取得手段6は上側レイアウトが足りないと判断する。
【0211】
S31では、指定範囲レイアウト取得手段6が、上の分割文書データ51のレイアウトを分割文書レイアウト取得手段8から取得して、P13を経て、S32へ進む。ここでの処理の詳細に関しては、後で図15を参照して説明する。
【0212】
S32では、指定範囲レイアウト取得手段6が、現在取得したレイアウトに関して、指定範囲と比べて下の部分のレイアウトが足りないかどうかを判断し、足りない場合はS33へ進み、足りている場合はP15へ抜ける。ここでの処理は、S30の上側レイアウトに関する処理と同様なので、説明は省略する。
【0213】
S33では、指定範囲レイアウト取得手段6が、下の分割文書データのレイアウトを分割文書レイアウト取得手段8から取得して、P15へ抜ける。ここでの処理も、S31の上側レイアウトに関する処理と同様なので、説明は省略する。
【0214】
以上の処理によって、図9のS23の処理が行われ、指定範囲のレイアウトが得られる。
【0215】
図15は、図13のS31の処理の詳細を示すフローチャート図である。
【0216】
P12からS40へ進み、指定範囲レイアウト取得手段6が、上側に不足するレイアウト量を求めて、S41へ進む。
【0217】
これは、指定範囲の上側サイズから図14の上側レイアウトサイズ103を引算すればよい。図14の場合、100−72=28ドットという値が得られる。
【0218】
S41では、指定範囲レイアウト取得手段6が、S40で得られた上側の不足レイアウト量が0かどうかを判断し、0の場合はP13へ抜け、0で無い場合はS42へ進む。
【0219】
S42では、指定範囲レイアウト取得手段6が、上の分割文書があるかどうかを判断し、ある場合はS43へ進み、無い場合はP13へ抜ける。
【0220】
上の分割文書があるかどうかは、図14の開始分割文書インデックス100が0でないかどうかを見れば良い。なお、先にS33の説明で、上側レイアウトに関する処理と同様と説明したが、S42での処理のみ、下の分割文書が存在するかどうかの判断が、終了分割文書インデックス101が(分割文書数−1)でないかどうかによる所が異なる。
【0221】
S43では、指定範囲レイアウト取得手段6が、上の分割文書のレイアウトを分割文書レイアウト取得手段8から取得して、図14のデータを更新し、S40へ進む。
【0222】
以上の処理によって、図13のS31の処理が行われる。
【0223】
この例では、分割文書データ51をさらに読み込むことで、図5より、
(3行分のレイアウト)=16×3=48ドット
が上に追加されるので、
(上側レイアウトサイズ103)=72+48=120ドット > 指定100ドット
で上の読み込みはこれで十分である。この場合、開始分割文書インデックス100は1に更新されると共に、上側レイアウトサイズ103は、72から上限の100に更新される。
【0224】
下は、分割文書データ53を読み込むことで
(8行分のレイアウト)=16×8=128ドット
が下に追加されるので、
(下側レイアウトサイズ104)=8+128=136ドット > 指定100ドット
となるので、下のレイアウトの読み込みもこれで十分である。この場合、終了分割文書インデックス101は3に更新されると共に、下側レイアウトサイズ104は、8から下限の100に更新される。
【0225】
図16は、図9のS24の処理の詳細を示すフローチャート図である。
【0226】
P15からS70へ進み、指定範囲レイアウト取得手段6が、上限の表示要素を取得して、P16を経て、S71へ進む。ここでの処理の詳細に関しては、後で図17を参照して説明する。
【0227】
S71では、同手段6が、下限の表示要素を取得して、P20へ抜ける。ここでの処理は、S70の処理と同様なので、説明は省略する。
【0228】
以上の処理によって、図9のS24の処理が行われる。
【0229】
図17は、図16のS70の処理の詳細を示すフローチャート図である。
【0230】
P15からS80へ進み、指定範囲レイアウト取得手段6が、指定位置の表示要素をカレント要素に設定して、S81へ進む。指定位置の表示要素は、図14の指定位置データ位置102を含む、あるいは最も近いデータ範囲を持つ表示要素を探せば良い。探すには指定位置を含む分割文書のレイアウトデータを順に見ていけば良い。
【0231】
S81では、同手段6が、カレント要素の前の表示要素を得て、S82へ進む。
【0232】
S82では、同手段6が、指定位置の表示要素からS81で得た表示要素までのレイアウトサイズが、図14の上側レイアウトサイズ103を超えたかどうかを判断し、超えた場合はS83へ進み、超えない場合はS84へ進む。指定位置の表示要素からS81で得た表示要素までのレイアウトサイズを求めるには、カレント要素のレイアウトY位置(図12)と、S81で得たカレント要素の前の表示要素のレイアウトY位置の差分を取れば良い。
【0233】
S83では、同手段6が、カレント要素を上限の表示要素として、P16へ抜ける。
【0234】
S84では、同手段6が、上の表示要素をカレント要素として、S81へ戻る。
【0235】
以上の処理によって、図16のS70の処理が行われる。
【0236】
図1は、本発明の表示制御方法の特徴である図7のS13の処理の詳細を示すフローチャート図である。
【0237】
P30よりS60に進み、S60で、分割文書内割合取得手段2が、指定範囲レイアウト取得手段6から指定範囲のレイアウトサイズを得て、全文書割合取得手段3に与えた後、S61へ進む。
【0238】
図18は、図5の全レイアウト上に、指定中心位置、指定範囲のレイアウトサイズLD、指定範囲を含む分割文書のレイアウトサイズSDLを示した図である。指定中心位置は「ジが低い」の行の中心となっている。また、各行がどの分割文書データに属するか分かり易いように、左側にレイアウトされた各分割文書データ50〜55の範囲の矢印を示してある。前述したように、行の途中で分割されているところは一部だぶっている。
【0239】
S60では、分割文書内割合取得手段2が指定範囲レイアウトサイズLDを取得することになる。指定範囲取得手段5から得られる指定範囲は、指定中心位置の上下100ドットとして指定されているので、指定範囲のレイアウトサイズLDは、200(ドット)となる。
【0240】
S61では、分割文書内割合取得手段2が、指定範囲を含む分割文書レイアウトサイズを得て、S62へ進む。
【0241】
これは、図7のS11で指定範囲のレイアウトを得る際、もっと詳細には図9のS22、S23の処理で、指定範囲を含む分割文書レイアウトを得ているので、そこから指定範囲を含む分割文書のレイアウトサイズが得られる。各分割文書のレイアウトは、図12の形式で得られるので、簡単に求めるには、指定範囲を含む最初の分割文書の最初のレイアウト表示要素のレイアウト位置と、指定範囲を含む最後の分割文書の最後のレイアウト表示要素のレイアウト位置とを得て、その差を計算すれば良い。
【0242】
ここでは、中心位置は3番目の分割文書データ52内の「ジが低い」の「ジ」の文字であり、この行の中心から上下100ドットは、100/16=6.25行分の範囲である。上下6.25行分を含む分割文書データは、2〜4番目の分割文書データ51〜53である。各分割文書データのレイアウトサイズは、分割文書レイアウト取得手段8から得られる。ここでは、分割文書レイアウトサイズSDLは、(17行分)=16×17=272(ドット)である。
【0243】
S62では、分割文書内割合取得手段2が、指定範囲を含む分割文書のレイアウトサイズの合計に対する指定範囲のレイアウトサイズの比率として、レイアウトサイズ割合SLR(レイアウトサイズ比)を算出し、全文書内割合取得手段3に与えて、S63へ進む。
【0244】
図18で説明すると、
SLR=(指定範囲レイアウトサイズLD)/(分割文書レイアウトサイズSDL)
である。
【0245】
ここでは、SLR=200/272=0.74となる。
【0246】
S63では、全文書内割合取得手段3が、分割データサイズ取得手段1から分割文書のデータサイズを取得して、S64へ進む。これは図10の値をそのまま使う。
【0247】
S64では、全文書内割合取得手段3が、全文書のデータサイズに対する指定範囲のデータサイズの比率として、全文書内割合を算出して、P40へ抜ける。
【0248】
全文書内割合を求める方法は、例えば次の式による。
【0249】
(全文書内割合)=(分割文書内割合SLR)×((指定範囲分割文書データサイズSDD)/(全文書データサイズAD))
図11はこの計算原理を説明する図である。指定範囲を含む分割文書が全文書中に占める割合(第1のデータサイズ比)を分割文書のデータサイズベースで求めると、(SDD/AD)となる。一方、分割文書内割合SLR(レイアウトサイズ比)は、レイアウトサイズベースでS62で求めたとおり、(LD/SDL)である。従って、最終的に求めたい全文書内割合(第2のデータサイズ比)は、
(全文書内割合)=(LD/SDL)×(SDD/AD)
となる。
【0250】
上記の例に即して求めてみると、
0.74×((77+117+161)/(126+77+117+161+56+67))=0.43
より、データサイズベースで求めた指定範囲の大きさ(全文書内割合)は43%となる。
【0251】
以上の処理によって、図7のS13の処理が行われる。
【0252】
なお、S14でスクロールバーを表示する時は、指定中心位置50%を中心に43%の大きさのスクロールボックスを表示すればよい。つまり、スクロールボックスの先頭位置をデータサイズベースの割合で表すと、50−(43/2)=28.5%、となる。
【0253】
以上、説明してきた方法により、文書を複数の部分に分割した分割文書のデータサイズと、指定範囲を含む分割文書が全文書中に占める割合(第1のデータサイズ比)と、指定範囲を含む分割文書内で指定範囲が占める割合(レイアウトサイズ比)とから、文書中に指定範囲が占める割合(第2のデータサイズ比)を得ることができる。
【0254】
また、指定範囲のレイアウトを表示して、得られた位置と割合でスクロールバーを表示することで、指定範囲に応じたスクロールバーを表示することができるようになる。
【0255】
さらに、スクロールバー上で指定範囲の位置を指定することで、ユーザーのスクロールバー操作に応じて表示範囲を制御することができるようになる。
【0256】
一般に、スクロールバーは表示範囲とレイアウトサイズとが、全文書のレイアウトサイズ中に占める割合に基づいて表示されたり、制御されたりしている。その割合を求めるには、本来、表示範囲と全文書とに関するレイアウトサイズが必要である。レイアウトサイズを高速に得るには予め計算しておくなどの方法が考えられるが、可変レイアウトの場合は表示手段の表示サイズや表示時のレイアウト設定などによってレイアウトサイズが変わってしまう為、予め計算しておくことはできない。
【0257】
全文書のレイアウトサイズを求めずに表示範囲のレイアウト割合を真に正確に求めるのは難しいが、ある程度の精度で「推定」(この言葉の意味については後で説明する)することはできる。そこで、本実施の形態では、指定範囲の表示レイアウトとデータサイズとを得る為に、必要最小限の分割文書だけレイアウトし(図1のS61)、それ以外の分割文書はレイアウトを求めていない。そして、指定範囲のレイアウトサイズと、指定範囲を含む分割文書のデータサイズとからレイアウト割合を推定している。
【0258】
レイアウトは、全コンテンツ、すなわち全分割文書データをレイアウトしているのではなく、指定範囲が含まれる一部の分割文書しかレイアウトしていない。
【0259】
これによって、可変レイアウトの集まりからなる文書であっても、文書全てをレイアウトするのに比べて高速に指定範囲の割合を得ることができる効果が出てくる。また割合を計算する為に全てのレイアウトを保持する必要もないので、少ないメモリ環境などでも処理できる効果が出てくる。
【0260】
また、レイアウトが分かっている部分、すなわち指定範囲を含む一部の分割文書に対する指定範囲の割合は、レイアウトサイズベースで求めている。この理由について、以下に説明を補足しておく。
【0261】
まず、指定範囲のレイアウトサイズを使わず、指定範囲のデータサイズを使って分割文書内割合を求めることも可能である。ここでいう指定範囲のデータサイズとは、分割文書単位の大まかなものではなく、表示要素単位での細かなものである。例えば、図6の分割文書データ51中の「人間」の部分が指定範囲だとすると、分割文書データ51中の3〜6バイト目にあたるので、サイズは4バイトとなる。
【0262】
なお、実際に指定範囲のデータサイズを求める場合、レイアウト時にどの文字が何バイト目かは分かるので、指定範囲の最初および最後の文字同士でバイト数を引き算することにより、指定範囲のデータサイズを求めることができる。
【0263】
この時、全文書内割合DRは、
(全文書内割合DR)=(指定範囲のデータサイズ)/(全文書データサイズ)
で求められる。すなわち、この求め方の場合、前述のような分割文書内割合を求める必要は無い。
【0264】
この方法でも、高速、省メモリで指定範囲の割合を求めることは可能である。しかし、レイアウトサイズベースの割合を「理想」と考えると、できるだけレイアウトサイズを使える部分は使った方が「誤差」が小さくなる。(「理想」、「誤差」の意味については、後で説明する)。従って、本発明のようにレイアウトサイズベースの計算を一部使うことで、データサイズだけで割合を求めるよりも、「誤差」を小さくすることができる効果が出てくる。
【0265】
指定範囲のデータサイズを使う方法の短所としては、その他にも、図5に示す画像の部分を文字データが迂回するなどが原因となって、データ開始位置などの大小とレイアウト位置の大小とが必ずしも比例しない部分が出てくる場合もあるという問題もある。レイアウトサイズを基に全文書内割合を求める場合には、これらの曖昧性がなく、表示範囲がそのまま指定範囲のサイズであり、ユーザーの直感にも則しているという利点がある。
【0266】
処理量については、指定範囲のデータサイズを使う方法でも、指定範囲を含む分割文書のレイアウトを求め、そこから指定範囲のデータサイズを得るので、その部分の処理量については一緒である。違いは、分割文書内割合を求めるかどうかだが、これも単純な計算なので、レイアウト作成処理などに比べてほとんど無視できる程度の違いである。
【0267】
「推定」、「理想」、「誤差」などの言葉をここで使っている意味を説明しておく。
【0268】
なお、説明の為、レイアウトサイズだけを使って割合を求める場合を「レイアウトサイズベース」、データサイズとレイアウトサイズを使って割合を求める場合を「データサイズベース」と以降、呼ぶことがある。
【0269】
「推定」という言葉は、データサイズベースの割合が誤っていることを意味するものではない。例えば、データサイズベースの位置の割合もレイアウトサイズベースの位置の割合も、どちらも指定範囲の位置が上下すればそれに応じて求められる位置の割合も上下する。従って、割合を求めるどちらの方法を使ってもスクロールバーとしての基本的な機能は満たす。
【0270】
ただ、レイアウトサイズベースの割合は、指定範囲の位置の変化量と割合の変化量の比は一定の値になるが、データサイズベースの割合の場合、その比は一定とは限らず、指定範囲の位置によってその比は多少変動する。
【0271】
比が一定であるかどうかがどう違うか分かり易い例で説明すると、レイアウトサイズベースの割合の場合、ユーザーが表示範囲を一定の速度でスクロールさせると、表示範囲の文書中での位置を示すスクロールボックスも、それに応じて徐々に位置が変わり、その時のスクロールボックスの移動速度も一定となる。しかし、データサイズとレイアウトサイズを使って求める割合の場合、ユーザーが表示範囲を一定の速度でスクロールさせると、表示範囲を示すスクロールボックスもそれに応じて徐々に位置が変わるが、スクロールボックスの移動速度は一定とはならず、場所によって、多少速くなったり遅くなったりする。
【0272】
また、スクロールボックスの大きさも、レイアウトサイズベースの割合の場合は一定の大きさだが、データサイズベースの割合の場合はスクロールボックスの位置によって大きさが多少変化する。スクロールボックスの移動速度や大きさの多少の変化は、スクロールバーとして使用するには大きな問題とはならないが、多少違和感が感じられるかもしれない。
【0273】
文書の表示などを行うアプリケーションでは、普通、スクロールバーはレイアウトサイズだけを使って求められており、ユーザーもそのことに慣れている。従って、ユーザーに違和感を抱かせないようにするならば、レイアウトサイズベースの割合が「理想」であって、データサイズベースの割合はその理想の値にできるだけ近いことが望まれる。
【0274】
理想の値にできるだけ近い値を求めたいという意味で、データサイズベースで割合を求めることを「推定」と呼んでいる。後で出てくる「誤差」という言葉も、同様の考え方で、レイアウトサイズベースの値とデータサイズベースの値との差を「誤差」、「推定誤差」などと呼んでいる。
【0275】
ちなみに「誤差」を計算してみると、図8の例では指定範囲の大きさが200ドットで、レイアウト全体のドット単位の大きさが
(27行分の高さ)=16×27=432ドットなので、全ての分割文書でレイアウトを求めた際のドット単位による理想的な表示範囲の大きさの割合は、200/432=0.46より、実際のレイアウトによる指定範囲は46%の大きさとなる。データサイズベースによる推定では、前述のように43%の大きさなので、推定誤差3%となっている。
【0276】
また、推定した中心位置(12行目の中心なので、11.5行分の位置)のレイアウト上の位置は、
(11.5行分の高さ)/432=(16*11.5)/432=0.43
より、43%の位置になっている。レイアウトサイズベースでは、指定範囲の中心位置は50%なので、推定誤差7%となっている。これを表しているのが図5の表示範囲111(データサイズベース)と表示範囲113(レイアウトサイズベース)であり、表示範囲の中心の○がそれぞれの指定位置を示す。表示範囲113はレイアウト上の理想的な指定位置であり、ここで推定して求めた表示範囲111の指定位置とずれている。
【0277】
図10では、分割文書のデータサイズとしてバイト数を使ったが、他の単位を使う方法も考えられる。例えば意味単位である。
【0278】
例えば、意味単位として文字数を使った方法について説明する。データ中には、文字の色などの指定やコメントなど、必ずしもレイアウト位置やサイズに直接関係ない情報が含まれていることもある。実際にレイアウトされる文字数を予め勘定しておくことで、バイト数よりレイアウトサイズに近い値が得られる場合も出てくる効果がある。
【0279】
文字数の数え方は、例えばHTMLのタグなどの表示に直接現れない制御文字列をどう扱うか、全角文字を半角文字2つ分とするかどうか、など色々考えられる。図19は、図6の分割文書データを文字数で数えたデータサイズ例を示している。データサイズ170〜175は、HTMLのタグなどの制御文字を全て無視し、全角は半角2つ分として、半角文字数で数えることにより求められている。
【0280】
図10と比較すると、データサイズ170〜175が変わったことに伴って、データサイズ比180〜185および累積データサイズ比190〜196も変わっていることがわかる。
【0281】
図19では、指定範囲の中心位置0.5が累積データサイズ比192と累積データサイズ比193の境界に来ているので、表示中心となる表示要素が、図10のデータを基に処理する場合と多少前後する。
【0282】
元とするデータが図19のものとなる以外は図10の処理と一緒なので詳細な計算過程は省くが、指定範囲の中心位置は、累積データサイズ比192と累積データサイズ比193の境界に来ているので、分割文書データ53の最初の文字「 」(全角スペース)とする。これは図5では上から13行目の先頭文字であり、中心位置は12.5行目の位置となる。
【0283】
レイアウト上の位置や大きさの計算は、先に説明したバイト単位の場合と同様なので、詳しい説明は省いて式のみ示すが、中心位置の割合は、
(12.5行分の高さ)/432=(16*12.5)/432=0.46
より、46%となり、誤差は4%となる。図10のバイト単位の場合は誤差7%だったので、中心位置の精度が少し良くなっている。
【0284】
指定範囲はこの中心位置から上下に6.25行分なので、上から7行目の「(2)」から19行目の「する能力」までの範囲となる。この時、指定範囲を含む分割文書データは、分割文書データ51〜53までとなるので、図10のデータの場合と同じとなる。従って、分割文書レイアウトサイズSDLは同じとなる。指定範囲レイアウトサイズLDは200(ドット)である。従って、全文書内割合は、
(全文書内割合)=(LD/SDL)×(SDD/AD)
=(200/272)×((54+94+132)/(62 +54+94+132+22+60))
=0.49
より、49%となる。レイアウトサイズベースの全文書内割合46%との誤差は3%で、図10の場合と変わらない。
【0285】
分割文書のデータサイズとしては、バイト数、文字数以外にも、例えば単語数や行数を使う方法も考えられる。単語数は英語など単語の区切りがはっきりしている場合は意味単位として使いやすい。また、改行の場合、データ記述上の改行コードはレイアウト上の改行とは必ずしも限らないので、一般にレイアウト上の改行数を使った方が精度がよい。改行数だけだと1行の長さがまちまちの場合、精度が良く無いので、文字数と組み合わせるなどすると良い。
【0286】
図19での誤差は、画像部分に関しての処理を無視した影響が大きい。図10では、画像をあらわす「<IMG>」タグをバイト数で数えてはいるが、画像の大きさを直接表している訳ではないので、やはり正確さに欠ける。これを補正する為、文章中に含まれる文字や画像などの表示要素の表示サイズをデータサイズに換算した値を使う方法が考えられる。
【0287】
例えば文字の大きさが途中で変わる場合、(文字数)=(データサイズ)、すなわち文字数だけを数えただけではデータサイズの精度が落ちてしまうが、文字の大きさの変化に応じて、(文字数)×(文字サイズ比)=(データサイズ)などと換算してやれば、精度を上げることができるようになる。同様に画像も、画像の表示サイズや面積をデータサイズに換算してやることで精度を上げることができるようになる効果が出てくる。
【0288】
例えば、図6の分割文書データ54中に出てくるIMGで指定されている画像eye.pngの大きさが、70ドット×35ドットだったとする。14ドット×14ドットの全角文字(文字間1ドット、行間2ドット)を単位とした場合、この画像を、
(文字横サイズ)=(文字幅)+(文字間)=14+1=15
(データ横サイズ)=((画像幅)+(文字サイズ)−1))/(文字サイズ))
=(70+14−1)/14=5.9
(文字縦サイズ)=(文字高さ)+(行間)=14+2=16
(データ縦サイズ)=((画像高さ)+(文字縦サイズ)−1)/(文字縦サイズ)
=(35+16−1)×16=3.2
(データサイズ)=(データ横サイズ)×(データ縦サイズ)=5×3
=15文字(全角)=30文字(半角)
分のデータサイズと換算する。なお、ここでは縦横の文字分を整数とする為、(データ横サイズ)、(データ縦サイズ)は共に少数点以下切り捨てしてある。
【0289】
図20は図19にこの換算値を追加したものである。図19と比較すると、図19のデータサイズ174に換算値30が加算され、データサイズ270〜275が再定義されたことに伴って、データサイズ比280〜285および累積データサイズ比290〜296も変わっていることがわかる。
【0290】
元とするデータが図20となる以外は図19の処理と一緒なので詳細な説明は省くが、指定範囲の中心位置は、4番目の分割文書内の「60dB」の「B」の文字になる。図21はこの状態の指定範囲を示す図である。指定範囲の中心位置は上から14行目なので、中心位置は13.5行目の所となり、
(13.5行分の高さ)/432=(16*13.5)/432=0.50
より、中心位置は50%となり、誤差0%となる。図5の理想的な表示範囲113と重なる結果が得られた。
【0291】
指定範囲はこの中心位置から上下に6.25行分なので、8行目の「 人間は」から20行目の「持っている。」までの範囲となり、3、4番目の分割文書データ52、53に含まれる。この場合、分割文書レイアウトサイズSDLは、分割文書データ52、53のレイアウトサイズなので、
SDL=(14行分)=16×14=224(ドット)
である。従って、全文書内割合は、
(全文書内割合)=(LD/SDL)×(SDD/AD)
=(200/224)×((94+132)/(62+54 +94+132+52+60))
=0.44
より、44%となる。レイアウトサイズベースの割合46%との誤差は2%であり、図10の場合と比べると、中心位置の算出精度が良くなって、指定範囲を含む分割文書の特定精度が上がったことにより、全文書内割合の算出精度も良くなっている。
【0292】
図10のバイト単位のものや図19の文字単位のもの、図20のレイアウトサイズの要素を考慮した場合で、中心位置の誤差と大きさの誤差の和で総合的に比較してみると、図10のバイト単位は、7+3=10%、図19の文字単位は、4+3=7%、図20の換算手法を使った場合は、0+2=2%と、徐々に誤差が小さくなっている。
【0293】
もちろん、文書の内容によっては、誤差がかえって大きくなることもありえるが、データサイズの計算に、図19のように意味単位の値を使うようにしたり、さらにレイアウトサイズの要素を考慮した換算値を加えることで、レイアウトベースの値と近い値が得られる可能性が高まると言える。
【0294】
この様に、データサイズとして意味単位の値を使うようにしたり、文書中に含まれる文字や画像などの表示要素の表示サイズをデータサイズに換算した値を使うようにすることで、推定精度を高くする可能性を大きくする効果がある。
【0295】
ところで、ここまで説明してきた手法では、例えば図8に示すように、指定範囲の位置(スクロールボックス121の中心位置)が、表示範囲の中心と一致するようにしている。
【0296】
図22はこの状況を詳細に説明するものである。分かりやすいように、レイアウト全体の中で表示される範囲を枠で囲い、その横にスクロールバーをつけてある。実際に表示されるのは枠の中のレイアウトとスクロールバーだけである。
【0297】
スクロールバー全体の大きさ(長さ)をSA、スクロールボックスの大きさをSD、スクロールバーの開始位置から基準点SP(後述)までの大きさをSM、スクロールボックス内での基準点SPの上側の大きさをSPD、下側の大きさをSFDとする。
【0298】
同様に、レイアウト全体の大きさをLA,指定範囲のレイアウトの大きさをLD,先頭から基準点LP(後述)までの大きさをLM、基準点LPより上側の大きさをLPD,下側の大きさをLFDとする。右のスクロールバー側と左のレイアウト側に説明の記号が分けて書いてあるが、同じような意味をもつ記号は、記号名の末尾をそれぞれ同じ文字(列)としてある。
【0299】
「基準点」とは、スクロールバー上あるいはレイアウト上、指定範囲(表示範囲)の中のどこを指定範囲の「位置」とするか(どこを基準にするか)を意味する。レイアウト基準点LPは、その点の上下LPD、LFDの大きさだけレイアウトを表示することになる。スクロールバー基準点SPは、その点の上下SPD、SFDの大きさだけスクロールボックスを表示することになる。
【0300】
スクロールバー基準点SPとレイアウト基準点LPは、文書全体の中で割合的に同じ位置を表す。従って、SM/SA=LM/LAとなる。なお、図22ではたまたまSPとLPとが一直線上に並んでいるが、基準点の取り方やスクロールバーの位置によっては、後で説明する図29のように一直線上に並ばない場合もある。
【0301】
スクロールバー基準点SPとは、分かり易く言えば、指定範囲の位置(指定位置)を意味する。図22では、スクロールボックスはスクロールバーの中心に位置し、SM=SA/2、SPD=SFDとなっている。
【0302】
一方、レイアウト基準点LPは、スクロールバー基準点SPに対応するレイアウト上の位置である。図22の例では、位置指定は(LM/LA)の割合で示されていることになる。図22では、スクロールバー基準点SPが真中を指しているので、レイアウト基準点LPも中央のレイアウト「 人間の受光能力は60」の行の中心に位置している。このとき、LM=LA/2、LPD=LFDである。
【0303】
スクロールバー基準点SPは、通常、スクロールボックスの中央にとる。すなわち、スクロールボックスによって表示範囲が指定された場合は、スクロールボックスの中央位置に対応するレイアウト上の位置が、表示の中心となるようにレイアウトを表示する。逆にある表示範囲のスクロールバーを表示する時は、表示範囲のレイアウトの中心に対応するスクロールバー上の位置が、スクロールボックスの中央となるようにスクロールバーを表示する。
【0304】
レイアウトをベースにしたスクロールバーでは、スクロールボックスの大きさと表示範囲の大きさは対応しており、表示範囲の大きさや表示倍率を変えるなどしなければ、スクロールボックスの大きさは変化しない。
【0305】
しかし、本発明ではスクロールボックスの大きさは推測なので、例えばスクロールボックスの移動によって変化する。表示される範囲はレイアウトサイズで指定しているので、200ドットなら200ドット分が常に表示されていて、表示倍率が変わる訳ではないのだが、スクロールボックスの大きさが変わってくる。通常のスクロールバーでは、表示倍率を変えない限り、スクロールボックスのサイズは変わらないので、ユーザーは少し違和感があるかもしれない。
【0306】
しかし、指定範囲の位置として中心位置を使うと、スクロールボックスの伸び縮みが両端に分散されるので、違和感を多少和らげる効果が出てくることがある。
【0307】
ただし、スクロールボックスの位置が、スクロールバーの最初や最後の端に接する位置付近に指定された場合、基準点としてスクロールボックスの中央位置を取るとうまくいかないことがある。
【0308】
図23は、スクロールボックス121をスクロールバー120の上端に移動させて表示範囲を指定した時、スクロールボックス121が上端に位置し、表示は最初の行から隙間無く表示され、通常のスクロールバーによる指定と同様に表示された問題の無い例である。しかし、コンテンツやスクロールボックスの状態によっては、図23のようには表示されず、ユーザーの意図と異なる表示のされかたをしてしまうことがある。
【0309】
例えば、図24は、スクロールボックス121を上端に移動させて表示範囲を指定した時、スクロールボックス121が上端に位置するにも関わらず、最初の行が表示されず、途中から表示されてしまっている例である。図24は実際には処理の途中状態である。
【0310】
図7のフローチャート図に沿った処理で説明すれば、スクロールボックス121を上端に移動させて表示範囲を指定することがS10に相当し、指定範囲を表示する処理はS12に相当する。S12で指定範囲を表示した結果、図24のように文書の途中から表示される。そして図24の表示範囲にあわせたスクロールバー120を表示させる処理はS14に相当する。S14で図24の表示範囲にあわせたスクロールバー120を表示させた結果が図25である。表示範囲にスクロールバー表示を合わすと、図25のようにスクロールボックス121の上に少し隙間がないといけないはずである。ユーザーは最終的には図25の状態を見ることになる。
【0311】
図26は、同様にスクロールボックス121を上端に移動させて表示範囲を指定した時、最初の行の前に空白が空いて表示されてしまっている例である。図24同様、図7のフローチャート図の処理を一通り行うのだが、図26は図24と違い、ほぼユーザーが最終的に見る状態である(正確に言えば、図26より若干、スクロールボックスが小さくなるかもしれない)。
【0312】
表示範囲にスクロールバー表示を無理に合わすなら、このような表示は実際にはありえないが、図27のようにスクロールボックス121がスクロールバー120を上に突き抜けたようになり、これは本来レイアウトがない場所までも表示してしまっていることを表している。(なお、説明の都合上、同じコンテンツを使っているが、スクロールボックスを上端に移動させて表示範囲を指定した時に図24と図26が同時に起こる訳ではなく、コンテンツやスクロールバーの状態によってはどちらも起こりうるという意味で例にあげているだけである)。
【0313】
このような不具合は、スクロールボックスの大きさが位置によって変わる(大きさが変わる理由は「推測」の言葉の意味について述べた際に説明した)ため、発生する。スクロールボックスの大きさが変わるとは、例えば、図23のようにコンテンツの先頭位置から表示される時のスクロールボックス121の大きさと、図8のようにコンテンツの途中の位置から表示される時のスクロールボックス121の大きさは同じとは限らないということである。レイアウトサイズベースのスクロールボックスを使って新たな表示範囲を指定する時、普通はスクロールボックスをマウスなどで移動させて指示する。その際、スクロールボックスの大きさは、普通変わらない。しかし、データサイズベースのスクロールボックスを同じ方法で表示範囲指定に使うと問題が発生する。
【0314】
例えば、図8に示す大きさのスクロールボックス121をマウスなどでスクロールバー120の上端位置に移動させるとする。スクロールボックス121の大きさは図8のままとする。ユーザーの意図としては図23のように表示したい訳だが、場合によっては、図25や図26のような表示になってしまうことがある。直接的な原因は、この時のスクロールボックス121による表示範囲の指定が、コンテンツの先頭からの範囲として指定できていないからである。
【0315】
なぜコンテンツの先頭からの範囲として指定できないかというと、この時のスクロールボックス121の中心位置の指定が、コンテンツの先頭からの表示範囲の時のスクロールボックス121の位置である図23のスクロールボックス121の中心位置とずれているからである。指定範囲は、スクロールボックスの中心位置から上下に何ドットという指定の仕方をしているので、スクロールボックスの中心位置さえ同じならば、同じ指定範囲になるはずである。しかし、先に説明したように、図23のスクロールボックス121の大きさと図8のスクロールボックス121の大きさは同じとは限らないので、スクロールボックスを上端に移動させた時のスクロールボックスの中心位置は同じとは限らなくなってしまう。これが、図25や図26のような表示になってしまう理由である。
【0316】
図23の時のスクロールボックス121の大きさはレイアウトしてみないと得られないので事前に得ることは難しい。また、スクロールボックス121の操作中は、通常、スクロールボックス121のサイズは変わらないので、事前に知ることができても、それをスクロールバー120の操作に反映させることが難しい。また反映できたとしても、ユーザーが端に移動したい時のみスクロールボックス121のサイズを変える為には、ユーザーの意向を知らなければいけないが、それはさらに難しい。
【0317】
これらの不具合を防止する為、ユーザーが指定範囲として端に接するような位置を指定した場合は、スクロールバー基準点SPはスクロールボックスの中心位置を取らず、端を取るようにすれば良い。また、レイアウト基準点LPについても同様に表示範囲の端をとるようにする。
【0318】
つまり指定範囲の大きさを、今までの例では上下にLPD=LFD=100ドットあわせて200ドットとしていたが、例えば上端を指定された場合は上にLPD=0ドット、下にLFD=200ドット、あわせて200ドットとしてやればよい。下端の場合は逆である。
【0319】
図28はスクロールバー基準点SPをスクロールボックスの上端に取ると共に、レイアウト基準点LPを表示範囲の上端に取った状態を示したものである。図29では、基準点SP、LPが端に位置しないが、図28では端に位置している。
【0320】
これらの処理は、具体的には、図7のS10で指定範囲を得る際に、スクロールボックスがスクロールバーの上端または下端に位置しているか否かの判断を加えてやればよい。
【0321】
このように、スクロールボックスがスクロールバーの最初もしくは最後を含む範囲として指定されている場合は、文書の最初からもしくは最後まで表示するように表示制御することで、端を含む範囲の指定を問題なく行えるようにすることができる効果がある。
【0322】
ただ、端を含む場合だけに限定してしまうと、端を含む場合と端をわずかに含まない場合で表示される範囲に大きなずれがでてしまうことがあり、スクロールバー操作の連続性が失われてしまうかもしれない。
【0323】
これはそもそもスクロールバーが端に来た時にだけ急に基準点を変更したのが原因なので、スクロールボックスの位置に応じて、あるいはスクロールボックスが位置する範囲に応じて、基準点を滑らかまたは段階的に変化させることで、不連続性を抑えることができる。
【0324】
基準点の変化のさせ方としては色々考えられるが、最も単純な方法として、スクロールボックスが中央に位置する時はスクロールボックスの中央にし、端に位置する時はスクロールボックスの端にし、その間は線形に変化させる方法がある。また、レイアウトの基準点も同様にそれに応じて変化させる。
【0325】
図で具体的に説明すると、スクロールバーが中央の時は図22、スクロールバーが端に来た時は図28、この中間の状態が図30である。以降、説明を一般的にする為、図30を基に説明する。
【0326】
図30で、スクロールバーによって指定された場合、スクロールバーの開始位置から基準点SPまでの大きさSMは、スクロールボックス内のどこに基準点を取るかによって決まる。スクロールバー内でスクロールボックスより上の空きスペースの大きさをSTとする。STは、スクロールボックスが中央の場合、
SM/SA=0.5、ST=(SA−SD)/2
であり、スクロールボックスが上端の場合、
SM/SA=0.0、ST=0.0
なので、
SM=0.5×ST/((SA−SD)/2)
とすれば、SMを線形に求められる。つまり、スクロールボックスの位置からSMを直接求めるのではなく、スクロールボックス以外の残りの部分の大きさに注目して、SMを求めている。SMが求まれば、
LM/LA=SM/SAより、
LM=LA×(SM/SA)
でLMが求まる。
【0327】
次に、LPD、LFDだが、LPD/LD=LM/LAとするので、
LPD=LD×(LM/LA)
でLPDが求まる。LFDもLFD=LD−LPDで求まる。これによって、表示すべきレイアウト範囲が求まる。
【0328】
レイアウト範囲が求まったら、スクロールバーの描画だが、SMは求まっているので、SPD、SFD、SDが求まれば良い。SDは既に説明した本発明の手法により、SMとLPD、LFDが決まればスクロールボックスの割合が求まるのだから、SDは求まる。SPDとSFDについては、SPD/SD=LPD/LDとすればよいので、
SPD=SD×(LPD/LD)
でSPDが求まる。SFD=SD−SPDより、SFDも求まる。これによって、スクロールバーを表示させるだけの情報、SM,SPD,SFDが得られる。
【0329】
なお、これらの計算結果でスクロールバーを再表示させた際、SDやSTはスクロールバーで操作を行った時とは若干変化するかもしれないが、大幅な変化ではないので、違和感は少ない。
【0330】
以上の処理によって、スクロールバー端でも表示やスクロールバーが連続的に変化することを防ぎつつ、スクロールバーによる指定に応じたレイアウト範囲を表示し、またそのレイアウト範囲に応じたスクロールバーを表示することができるようになる。
【0331】
また、スクロールボックスの位置を表す割合に応じて基準位置を変化させることで、表示範囲を連続的に変更することができ、ひいてはスクロールバーによる指定を連続的に行えるようにすることができる効果が出てくる。
【0332】
また、スクロールバーを操作する時のスクロールボックスのサイズは、操作後に再描画した後のスクロールボックスのサイズとは異なるので、スクロールボックス内でどの点を基準点としてユーザーが意識していたかを正確に知ることは難しいが、スクロールバーのスクロールボックス以外の残りの大きさを使うことで、スクロールボックスのサイズに関わらず、ユーザーの表示させたい範囲、すなわち基準点をうまく推定することができる効果がある。
【0333】
ちなみに、この手法で表示させた場合、図30のように、基準点の高さ方向はほぼ一致するはずである。
【0334】
さらに、全文書内割合の算出精度を高める方法として、既にレイアウトサイズの分かっている分割文書に関しては、そのレイアウトサイズを使って、分割文書内割合を算出するという方法が考えられる。
【0335】
例えば、図21の例では、指定範囲を含む分割文書として、2つの分割文書データ52・53が特定され、その結果、分割文書内割合(LD/SDL)として、200/224=0.89が算出され、全文書内割合として、44%が算出された。
【0336】
ここで、2番目の分割文書データ51のレイアウトサイズが、
(3行分のレイアウト)=16×3=48ドット
として分かっているとする。このとき、2番目の分割文書データ51は、図21に示すとおり、指定範囲には含まれていないが、そのレイアウトサイズを用いて指定範囲の分割文書内割合を求めると、
200/(224+48)=0.74
となる。図31はこれを説明した図である。分割文書レイアウトサイズSDLが2、3、4番目の分割文書データ51〜53のレイアウトサイズになっている。
【0337】
上記の新たな分割文書内割合を用いて、全文書内割合を求めると、
0.74×((54+94+132)/(62+54+94+132+52+60))=0.46
より、大きさ46%となる。
【0338】
この時、位置の誤差は先ほどと同じく0%、大きさの誤差も0%で、総和も無論0%となり、最も誤差が小さくなり、理想値に限りなく近づく。
【0339】
このように、指定範囲を含む分割文書内でのレイアウトサイズベースによる割合を使うことで、より精度の高い推定を行うことができる可能性が高くなる効果が出、また、指定範囲に含まれないが、既に求まっている分割文書のレイアウトサイズを利用することで、さらに精度を高めることができる可能性が高くなる効果が出てくる。
【0340】
最後の手法では、文書を読み進めていくにつれ、レイアウトを得た分割文書の数は増えていくのだから、レイアウトを得た分割文書のレイアウトサイズを保持しておくことで、たとえそのレイアウトを破棄したとしても、レイアウトサイズに基づいた処理が行える。理想的には全ての分割文書のレイアウトを求めてレイアウトサイズだけで指定範囲の割合を求めたいのだから、レイアウトサイズを利用する分割文書の数の割合が多くなるほど、誤差が小さくなっていくはずである。従って、読み進めていけばいくほど精度がよくなっていくという効果が出てくる。
【0341】
なお、ここでは主にスクロールバーに基づいて説明を行ったが、スクロールバーだけでなく、それ以外の表示操作手法を用いても同様である。例えば、パーセントなどの数値で指定範囲やジャンプ先を指定するような場合である。あるいは文書の縮小表示上にマウスなどのポインティングデバイスなどを用いて矩形などの範囲指定を行う場合なども同様である。あるいは現在の表示中心を維持したまま表示倍率を変えるなどといった場合も含まれる。
【0342】
なお、特開平5−282255号公報では、複数のページからなる項目が複数ある時、各項目の区切りをスクロールバー上に表示し、また、表示をページ単位で行い、表示されているページ範囲をスクロールボックスとして表示させている。
【0343】
一見、各項目や各ページが本発明の分割文書に相当するように見えるが、全く異なる発明である。
【0344】
そもそも発明の課題が異なる。該公報の課題は「ユーザーの望む個所を簡単かつ確実に表示でき、また、手帳情報が複数の項目を有する場合に、各項目の占める分量を把握できる」ことである。本発明の課題は、可変レイアウトの文書において、高速かつできるだけ正確にスクロールバーの表示や制御を処理すること、少ないメモリ環境などにおいても無駄なく処理を行うことである。
【0345】
課題が異なる為、課題を解決する為の手段も異なり、該公報では、ユーザーに分かり易いようにスクロールバーを表示、制御する為に各項目のページ数の情報などを使っている。つまり、ページ数の情報の表示の仕方などに発明のポイントがあるのであり、ページ数の情報の求め方自体には発明のポイントはない。
【0346】
従って、ページ数の情報を可変レイアウトで高速に少ないメモリで算出する方法は請求項では述べられておらず、実施例などでも説明されていない。予め用意されているものとして説明されている。
【0347】
本発明は、分割文書や指定範囲の「データサイズ」からスクロールボックス位置、サイズを求めるステップ/手段(割合取得ステップ)などを用いることで、可変レイアウトであっても高速に少ないメモリでスクロールバーを表示/制御することができることを示している。つまり、可変レイアウトでスクロールバーの表示/制御を行う為の計算を高速、省メモリで行うことに発明のポイントがあるのであり、計算で得られた後の表示の仕方などに発明のポイントがあるのではない。
【0348】
従って、可変レイアウトであっても高速に少ないメモリでスクロールバーを表示/制御する方法として、分割文書や指定範囲のデータサイズを利用する方法が請求項で述べられている。
【0349】
このように両者は、異なる課題を持ち異なる手段を用いた異なる発明である。
【0350】
また、特開平8−314906号公報では、文書量に応じたページ区切り幅を計算し、その区切り幅でページ番号を付与したスクロールバーを表示/制御している。ページ区切り幅は、レイアウトサイズから計算している。
【0351】
これも一見、「文書量に応じたページ区切り幅」が本発明の分割文書のデータサイズから求めるスクロールボックスサイズに相当するように見えるが、全く異なる発明である。
【0352】
これもそもそも発明の課題が異なる。該公報の課題は「内部の文書量が異なる各ページが均等の幅でスクロールバー上に表示されるために、各ページのおおよその文書量を把握できない」ことである。本発明の課題は、上で説明した通り、可変レイアウトの文書において、高速かつできるだけ正確にスクロールバーの表示や制御を処理すること、少ないメモリ環境などにおいても無駄なく処理を行うことである。
【0353】
課題が異なる為、課題を解決する為の手段も異なり、該公報では、各ページの文書量がユーザーに分かるようにスクロールバーを表示、制御する為に各ページの文書量を使っている。つまり、各ページの文書量の表示の仕方などに発明のポイントがあるのであり、各ページの文書量の取得の仕方自体には発明のポイントはない。
【0354】
各ページの文書量はレイアウトサイズを使うことが請求項で述べられているが、そのレイアウトサイズを高速、省メモリで求める方法は述べられていない。全てのレイアウトサイズを求めると説明されているのみである。
【0355】
本発明は、上で説明した様に、可変レイアウトであっても高速に少ないメモリでスクロールバーを表示/制御する方法として、分割文書や指定範囲のデータサイズを利用する方法が請求項で述べられている。
【0356】
このように両者は、異なる課題を持ち異なる手段を用いた異なる発明である。
【0357】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(主記憶25または外部記憶26等)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0358】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0359】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,磁気テープ,不揮発性のメモリカード,等を用いることができる。
【0360】
また、上記プログラムコードは、通信ネットワークのような伝送媒体を介して、他のコンピュータシステムから主記憶25または外部記憶26等へダウンロードされるものであってもよい。
【0361】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0362】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0363】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0364】
本発明は上述した各実施形態に限らず、請求項に示した範囲で種々の変更が可能である。
【0365】
なお、本発明に係る表示制御方法は、文書を複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得ステップと、上記文書に対して指定した指定範囲を含む分割文書を特定すると共に、特定した分割文書の表示レイアウトを得る分割文書レイアウト取得ステップと、少なくとも、前記特定した分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得ステップと、前記分割データサイズ取得ステップから得た各分割文書のデータサイズの和に対して、前記レイアウトサイズ比の算出に用いた分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得ステップから得た前記指定範囲のレイアウトサイズ比と前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得ステップと、を有しても良い。
【0366】
これにより、レイアウトを求めるのは一部の分割文書に限られ、それ以外の部分はデータサイズを使うので、文書全体のレイアウトを求める場合に比べればレイアウトを求める処理量や必要なメモリなども最小限に抑えることができ、さらに、可変レイアウトの集まりからなる文書であっても、高速に指定範囲の割合を得ることができる効果が出てくる。
【0367】
また、本発明に係る表示制御方法は、レイアウトサイズを取得できる分割文書に関しては、指定範囲を含まない分割文書であっても、そのレイアウトサイズを前記特定した分割文書のレイアウトサイズに加えて、前記レイアウトサイズ比を求めても良い。
【0368】
これにより、指定範囲に含まれない既に求まっている分割文書のレイアウトサイズを利用することで、文書全体の中でレイアウトサイズを利用する割合が高くなってくるので、先の方法に比べてさらに精度を高めることができる可能性が高くなる効果が出てくる。
【0369】
また、文書を読み進めていくにつれ、レイアウトを得た分割文書の数は増えていくのだから、レイアウトを得た分割文書の少なくともレイアウトサイズを保持しておくことで、レイアウトサイズだけで求めた理想的な処理結果に近づいていくという効果がある。
【0370】
また、本発明に係る表示制御方法は、前記指定範囲を表示範囲とし、全文書内割合取得ステップから得られた第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて表示範囲の表示内容を制御するスクロールバー表示制御ステップを有しても良い。
【0371】
これによって、可変レイアウトの表示システムでも、スクロールバーを使った表示や制御が高速に行えるという効果が出てくる。
【0372】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズとして、バイト数やビット数などの符号化データサイズを使っても良い。
【0373】
これにより、バイトやビットは、主記憶や外部記憶上などで扱うデータサイズの単位なので、文書データなどをコンピュータ上で扱う場合、データサイズを示す指標としては、符号化データサイズが最も得やすく、また扱い易いという効果が出てくる。ひいては割合を求めるなどの処理も簡単になるという効果が得られる。
【0374】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズとして分割文書の意味単位に基づく数を使っても良い。
【0375】
これにより、意味単位に基づく数をデータサイズとして使うことで、レイアウトサイズにあまり関係ないようなデータの影響を少なくすることができる効果が出てくる。
【0376】
また、これらの意味単位に基づく数は、レイアウト処理によって変わるものではないので、事前に数えておくことが可能であり、レイアウト処理などを最小限に抑えた処理を可能にするいう前述の効果が変わりなく得られるものである。
【0377】
また、本発明に係る表示制御方法は、意味単位に基づく数として文字数あるいは単語数を使っても良い。
【0378】
これにより、意味単位が小さい程、データサイズの精度が上がるので、意味単位に基づく数として文字数あるいは単語数を使うことによって、表示割合の算出精度を上げることができる効果が出てくる。レイアウト処理などを最小限に抑えた処理が可能となる効果は同様である。
【0379】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズを得る際、実際の表示サイズがデータサイズと相関しない表示要素が文書中に含まれている場合、当該表示要素の表示サイズをデータサイズに換算した値を使っても良い。
【0380】
これによって、データサイズだけで推定するよりも推定精度が増す可能性が大きくなるという効果が出てくる。
【0381】
また、本発明に係る表示制御方法は、前記スクロールバー表示制御ステップにおいて、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスの中央位置が、表示範囲の中央位置の表示割合を示すようにしても良い。
【0382】
これにより、指定範囲の割合を本発明では推測的に求めている為、指定範囲の位置によっては、スクロールボックスの長さが変わってしまうことがあるのに対して、上記のようにすることで、その誤差をスクロールボックスの両端に分散させることができる効果がある。
【0383】
また、ユーザーにとって、スクロールバーを操作する際に、視覚上、直感的に表示割合や表示部分の位置を捉えやすくなる効果も出てくる。
【0384】
また、本発明に係る表示制御方法は、前記スクロールバー表示制御ステップにおいて、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示するようにしても良い。
【0385】
これにより、推定誤差による上記不具合を回避し、またユーザーの意図に沿った処理を行うことができるという効果が出てくる。
【0386】
また、本発明に係る表示制御方法は、前記スクロールバー表示制御ステップにおいて、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、表示範囲が文書中に占める位置と割合とを表す基準となるスクロールボックス上の基準位置を変更すると共に、その基準位置に対応付けた表示範囲上の基準位置を合わせて変更しても良い。
【0387】
これによって、スクロールバー末端付近のスクロールボックスのわずかな位置の違いで表示が大きくずれてしまうことを防ぐ効果が出てくる。
【0388】
また、本発明に係る表示制御装置は、文書を複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得手段と、上記文書に対して指定した指定範囲を含む分割文書を特定すると共に、特定した分割文書の表示レイアウトを得る分割文書レイアウト取得手段と、少なくとも、前記特定した分割文書の表示レイアウトに対して、前記指定範囲が占めるレイアウトサイズ比を得る分割文書内割合取得手段と、前記分割データサイズ取得手段から得た各分割文書のデータサイズの和に対して、前記レイアウトサイズ比の算出に用いた分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得手段から得た前記指定範囲のレイアウトサイズ比と前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得手段と、を有しても良い。
【0389】
これによる効果は上で説明した方法と同様である。
【0390】
また、本発明に係る表示制御プログラムは、上記表示制御方法が備える各ステップをコンピュータに実行させても良い。
【0391】
また、本発明に係る表示制御プログラムは、上記表示制御装置が備える各手段として、コンピュータを機能させても良い。
【0392】
これにより、汎用のコンピュータに、本発明の表示制御方法を実行させ、上記の作用、効果を得ることができる。
【0393】
また、本発明に係る記録媒体は、上記表示制御プログラムを記録しても良い。
【0394】
これにより、上記記録媒体から汎用のコンピュータに、表示制御プログラムをインストールすることによって、本発明の表示制御方法を実行させ、上記の作用、効果を得ることができる。
【0395】
なお、本発明に係る表示制御方法は、文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得ステップと、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書の表示レイアウトを得る分割文書レイアウト取得ステップと、前記特定した分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得ステップと、前記分割データサイズ取得ステップから得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得ステップから得た、 前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得ステップと、前記指定範囲を前記表示範囲とし、前記全文書内割合取得ステップから得られた前記第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御ステップとを有し、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示しても良い。
【0396】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズとして、バイト数やビット数などの符号化データサイズを使っても良い。
【0397】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズとして、分割文書の意味単位に基づく数を使っても良い。
【0398】
また、本発明に係る表示制御方法は、前記意味単位に基づく数として、文字数あるいは単語数を使っても良い。
【0399】
また、本発明に係る表示制御方法は、前記分割文書のデータサイズを得る際、実際の表示サイズがデータサイズと相関しない表示要素が文書中に含まれている場合、当該表示要素の表示サイズをデータサイズに換算した値を使っても良い。
【0400】
また、本発明に係る表示制御方法は、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスの中央位置が、前記表示範囲の中央位置の表示割合を示すようにしても良い。
【0401】
また、本発明に係る表示制御方法は、前記スクロールバー表示制御ステップにおいて、前記スクロールボックス上の基準位置を変更すると共に、該スクロールボックス上の基準位置に対応する前記指定位置データ位置を合わせて変更しても良い。
【0402】
また、本発明に係る表示制御装置は、文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得手段と、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書の表示レイアウトを得る分割文書レイアウト取得手段と、前記特定した分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得手段と、前記分割データサイズ取得手段から得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得手段から得た、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得手段と、前記指定範囲を前記表示範囲とし、前記全文書内割合取得手段から得られた前記第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御手段とを有し、前記スクロールバー表示制御手段は、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示するように構成されていても良い。
【0403】
また、本発明に係る表示制御プログラムは、前記表示制御装置が備える各手段として、コンピュータを機能させるためのものであっても良い。
【0404】
【発明の効果】
本発明に係る表示制御方法は、以上のように、文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得ステップと、表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書を含む複数の分割文書の表示レイアウトを得る分割文書レイアウト取得ステップと、前記特定した分割文書を含む複数の分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得ステップと、前記分割データサイズ取得ステップから得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた複数の分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得ステップから得た、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得ステップと、前記指定範囲を前記表示範囲とし、前記全文書内割合取得ステップから得られた第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御ステップとを有しており、前記分割文書内割合取得ステップにおいて、前記特定した分割文書を含む複数の分割文書のうちレイアウトサイズを取得できる分割文書に関しては、指定範囲を含まない分割文書であっても、そのレイアウトサイズを前記特定した分割文書のレイアウトサイズに加えて、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求めると共に、前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示することを特徴とする
【0405】
れにより、文字の大きさやページサイズなどの設定を自由に変えられる可変レイアウトの文書において、高速かつできるだけ正確に、スクロールバーの表示やスクロールバーを用いた表示制御を処理すること、少ないメモリ環境などにおいても無駄なく処理を行うこと、などができるという効果を奏する。
【0406】
また、スクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後までを含むような指定範囲が指定されたとして解釈して、表示を行うことで、推定誤差による不具合を回避し、またユーザーの意図に沿った処理を行うこともできるという効果を奏する。
【図面の簡単な説明】
【図1】 本発明のスクロールバー表示制御方法において、文書中の指定範囲の全文書内割合を求めるための概略的手順を示すフローチャート図である。
【図2】 データサイズとレイアウトサイズを主に利用した本発明のスクロールバー表示制御装置の機能的な構成を示すブロック図である。
【図3】 上記スクロールバー表示制御装置の一実施形態における構成例を示すブロック図である。
【図4】 上記スクロールバー表示制御装置の外観例を示す模式的な斜視図である。
【図5】 データサイズをベースにするか、レイアウトサイズをベースにするかの手法の違いによる指定範囲の解釈の違いを示す説明図である。
【図6】 図5の文書レイアウトを構成する分割文書データを示す説明図である。
【図7】 本発明のスクロールバー表示制御方法のスクロールバーの表示、制御処理の全体的手順を示すフローチャート図である。
【図8】 図5の文書全体の中の表示範囲111の表示要素をスクロールバーと共に表示した例を示す説明図である。
【図9】 図7の指定範囲レイアウト取得処理の手順を示すフローチャート図である。
【図10】 各分割文書のデータサイズの例を示す説明図である。
【図11】 全文書内割合の計算原理例を示す説明図である。
【図12】 レイアウトされた表示要素データのデータ構造例を示す説明図である。
【図13】 図9の周囲の分割文書レイアウト取得処理の手順を示すフローチャート図である。
【図14】 レイアウトの不足を判断をする際に使うデータ構造例を示す説明図である。
【図15】 図13の上側レイアウト取得処理の手順を示すフローチャート図である。
【図16】 図9の指定範囲のレイアウトされた表示要素を取得する処理の手順を示すフローチャート図である。
【図17】 図16の上限レイアウト表示要素を取得するの処理の手順を示すフローチャート図である。
【図18】 図10のデータサイズにおける指定範囲とレイアウトとの関係を示す説明図である。
【図19】 分割文書のデータサイズを文字数で求めた例を示す説明図である。
【図20】 分割文書のデータサイズを、文字数と画像を文字数に換算した値とで求めた例を示す説明図である。
【図21】 図20のデータサイズにおける指定範囲とレイアウトとの関係を示す説明図である。
【図22】 文書の中心を表示する際のレイアウト全体と表示範囲、スクロールバーの状態との関係を示す説明図である。
【図23】 文書の最初の部分をスクロールボックスで指定した際に、問題なく表示された例を示す説明図である。
【図24】 文書の最初の部分をスクロールボックスで指定した際に、上の部分が欠けて表示された例を示す説明図である。
【図25】 図24の場合の表示レイアウトおよびスクロールバーの本来の表示状態を示す説明図である。
【図26】 文書の最初の部分をスクロールボックスで指定した際に、上の部分が空いて表示された例を示す説明図である。
【図27】 図26の場合の表示レイアウトおよびスクロールバーの本来の表示状態を仮想的に示す説明図である。
【図28】 図23の場合に基準点をスクロールバーおよび表示範囲の各上端に設定した時の、レイアウト全体と基準点、表示範囲、スクロールバーの状態の関係を示す説明図である。
【図29】 図23の場合に基準点をスクロールバーおよび表示範囲の各中心に設定した時のレイアウト全体と表示範囲、スクロールバーの状態の関係を示す説明図である。
【図30】 基準点をスクロールボックスの位置に応じて変化させた時の、レイアウト全体と基準点、表示範囲、スクロールバーの状態の関係を示す説明図である。
【図31】 指定範囲以外の分割文書のレイアウトサイズが分かっている場合の分割文書内割合を示す説明図である。
【符号の説明】
1 分割データサイズ取得手段
2 分割文書内割合取得手段
3 全文書内割合取得手段
8 分割文書レイアウト取得手段
25 主記憶(記録媒体)
26 外部記憶(記録媒体)
50 分割文書データ
51 分割文書データ
52 分割文書データ
53 分割文書データ
54 分割文書データ
55 分割文書データ
110 レイアウト全体
111 表示範囲
113 表示範囲
120 スクロールバー
121 スクロールボックス
SP 基準点(スクロールボックス上の基準位置)
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a method for displaying a scroll bar or operating a scroll bar to control a display range, an apparatus for implementing the method, a program, and a recording medium.
[0002]
[Prior art]
  As a method of handling content such as documents, pictures, and drawings that do not fit within the display range of displays and windows, scroll bars and scroll boxes use various applications such as word processors, e-book readers, WWW browsers, and editors. Widely used in equipment.
[0003]
  For example, the size (length) of the scroll box displayed on the scroll bar represents the proportion of the portion displayed in the entire content. The display position of the scroll box on the scroll bar represents the relative position of the displayed part with respect to the entire content.
[0004]
  In the above-described application or apparatus, the position and size of the scroll box displayed on the scroll bar are usually calculated using the layout size or the number of pages of the display content. Here, the “layout size” refers to the size of the display range in which attention is paid when content such as a sentence or a picture is displayed, and is represented by, for example, the number of dots. Here, the “number of pages” refers to the total number of pages when display is performed in units of pages.
[0005]
  For example, in the calculation using the layout size, the ratio of the size of the scroll box in the displayed part is
    (Layout size of display range) / (All layout sizes)
The percentage of the scroll box position in the displayed part is
    (Layout size from the top of the content to the top of the display range) / (All layout sizes)
It becomes. “Total layout size” is the layout size of the entire content including the content portion that is not displayed.
[0006]
  For example, when calculating using the number of pages, the ratio of the size of the scroll box in the displayed part is
    (Number of pages in the display range) / (Total number of pages)
The percentage of the scroll box position in the displayed part is
    (Number of pages from top to display range) / (total number of pages)
It becomes. The “total number of pages” is the number of pages including a content portion that is not displayed.
[0007]
  There are two types of content display methods, such as PDF (portable document format) in which the layout and page size such as character size and position are fixed (fixed layout), and WWW (World Wide Web). Some browsers do not have a fixed character size or page size and can be freely changed by the user (variable layout).
[0008]
  In the case of a fixed layout, the layout size, the number of pages, and the total layout size are determined in advance by the content. In the case of a variable layout, the layout size depends on the character size and page size (number of lines, number of characters in a line, etc.). The number of pages and total layout size will change.
[0009]
[Problems to be solved by the invention]
  However, in the case of a variable layout, the layout size and the number of pages cannot be calculated in advance, so that it takes time to calculate the position and size of the scroll box, and a large amount of memory is required. Come out.
[0010]
  The reason for the processing time is that in the case of variable layouts, the settings of the character size and page size change from time to time, so the layout size and the number of pages of the entire content cannot be calculated in advance, and are actually displayed. This is because sometimes it is necessary to lay out the entire content in accordance with the setting of the character size and page size. In addition, the larger the data amount of content, the more time is required for the layout process.
[0011]
  The reason for requiring a large amount of memory is that the layout result of the entire content is stored. Even if the memory problem is avoided by discarding the layout that is not used for display, there is a problem in that wasteful processing is performed if the layout created is discarded.
[0012]
  These problems are not only caused by “displaying the scroll bar” (displaying the position and size of the scroll box corresponding to the display range), but also “control by scroll bar” (specified scroll box This also occurs when a display range corresponding to the position and size of the image is displayed. If you try to find the corresponding display range from the specified scroll box position and size ratio, if you do not know the layout of the entire content, where should you display the layout of the entire content? It is because it is not found.
[0013]
  In response to such problems, the present invention provides a scroll bar display and display control using a scroll bar as quickly and accurately as possible in a variable layout document in which settings such as character size and page size can be freely changed. The purpose is to perform processing without waste even in a small memory environment.
[0014]
[Means for Solving the Problems]
  In order to solve the above-described problem, the display control method according to the present invention obtains divided data size to obtain each data size of a divided document obtained by dividing a document into a plurality of parts in a place where display documents and layout are well-defined. According to the step and the position in the scroll bar of the scroll box displayed in the scroll bar for designating the display range, the reference range on the scroll box serving as a reference representing the position occupied in the document by the display range is set. A divided document layout acquisition step for specifying a divided document including a specified range specified for the document so as to include a corresponding specified position data position and obtaining a display layout of a plurality of divided documents including the specified divided document And the specified divided documentMultiple split documents containingThe ratio of in-divided documents to obtain a layout size ratio occupied by the specified range with respect to the display layout of the divided document, and the sum of the data sizes of the respective divided documents obtained from the divided data size acquisition step with respect to the display layout Used to calculate the layout size ratio occupied by the specified range.pluralA first data size ratio of the divided document is obtained, and the layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio obtained from the divided document ratio acquisition step are determined from the document. And a second data size ratio obtained from the all-document ratio acquisition step, wherein the specified range is the display range, and the second data size ratio is calculated. And a scroll bar display control step for controlling the display contents of the display range in accordance with the user's scroll bar operation.In the divided document ratio acquisition step, regarding a divided document that can acquire a layout size among a plurality of divided documents including the specified divided document, even if the divided document does not include a specified range, the layout In addition to the layout size of the specified divided document, the layout size ratio occupied by the specified range with respect to the display layout is obtained,In the scroll bar display control step, when the scroll box displayed in the scroll bar for designating the display range designates a range including the start or end of the scroll bar, from the beginning of the document, Or display until the end.
[0015]
  UpIn the configuration described above, “display” generally means that information is output on a display medium in a form that can be visually perceived. The present invention is not limited to “display” for a layout display medium, but can be applied to “output” such as “print” for a layout print recording medium and “file output” for a layout data recording medium. In order to make the explanation easier to understand, in the following explanation, the word “display” is often used, but the meaning of “output” is also included.
[0016]
  The “layout” means that display elements are arranged on the two-dimensional or three-dimensional space coordinates with attributes of position, size, and outer shape, or arranged. The position and size are usually expressed as values using some unit. For example, when displaying on a display composed of a collection of pixels, it is generally expressed in units of (pixel) dots. As a result of the layout of one or more display elements, the position on the spatial coordinates determined for the display element is “layout position”, and as a result of the layout of one or more display elements, the space determined for the display element The size on the coordinates is defined as “layout size”.
[0017]
  “Document” refers to data in which one or a plurality of display elements are laid out, or data having an amount of information that can be laid out or displayed based on the layout. The document data may include display element data, may have only layout information, and may include a part of display element data, or may not include at all. In any case, the document data can be used for display and output according to the layout.
[0018]
  In the case of a scroll bar, the “specified range” of a document refers to a range to be displayed in the document. Normally, it is specified by the position, size, and outline in the laid out document. The outer shape is generally rectangular. The “designated range” is not limited to the range to be displayed but may be a range to be printed, or may be a range to be recorded on the main memory or the external memory in a data format format such as PDF.
[0019]
  In general, the scroll bar indicates the position in the document where the portion of the document displayed in the display range of the display medium is located, and the ratio of the layout size of the display range to the layout size of the entire document. It is displayed or controlled based on. At this time, the ratio can be obtained if the layout size of the display range and the layout size of the entire document are known.
[0020]
  In order to obtain the layout size at a high speed, a method such as calculating in advance can be considered, but in the case of a variable layout in which the user can freely change the size of the display range, font size, etc., the layout can be set by the layout setting at the time of display. Since the size changes, even if it is calculated in advance, the result cannot be used if the layout setting changes.
[0021]
  Although it is difficult to determine the layout ratio truly accurately, it can be estimated with a certain degree of accuracy. As a means of estimation, the data size is constant for both fixed and variable layouts, and the amount of information is determined independently of the layout process, so it can be easily calculated using the data size instead of the layout size. The inventor of the present application paid attention to the fact that the data size can be easily determined by processing only necessary divided documents as long as the document is configured.
[0022]
  That is, according to the above configuration, each data size of the divided document (hereinafter referred to as a divided document) can be obtained from the divided data size acquisition step regardless of the layout setting. Also, if the sum of the data sizes of the divided documents is taken, the data size of the entire document can be obtained.
[0023]
  The designated range in the document can be determined by the position designated by the user for the document and the size of the display range set for the display medium. Therefore, in the divided document layout acquisition step, the divided document including the specified range can be specified by using the data position in the document associated with the specified range as a reference.
[0024]
  Furthermore, by laying out the specified divided document according to the setting of the variable layout at that time, a display layout of the divided document including the designated range can be obtained. If the display layout is obtained, the layout size of the divided document including the specified range can be obtained from the layout. In this method, only the divided documents including the specified range are targeted for layout, so there is no need to lay out the entire document, the processing is simple, and the resources required for the processing are small.
[0025]
  On the other hand, the layout size of the specified range can also be obtained from the size of the display range set for the display medium.
[0026]
  In the divided document ratio acquisition step, the ratio occupied by the designated range, that is, the layout size ratio in the divided document including the designated range can be obtained from the two layout sizes.
[0027]
  Here, if there is a divided document that has already been laid out, it is preferable to acquire the layout size of the divided document that does not include the specified range and use it for calculating the layout size ratio. This is the reason why the “display layout of a plurality of divided documents including the specified divided document” is used for calculating the layout size ratio. The reason why this is preferable will be described later.
[0028]
  Next, in the all document ratio acquisition step, each data size of the divided document is obtained in the divided data size acquisition step, and the divided document used for calculating the layout size ratio in the divided document layout acquisition step is known. The data size of the divided document used for calculating the layout size ratio can be obtained.
[0029]
  Subsequently, the ratio of the data size of the divided document used for calculating the layout size ratio, that is, the first data size ratio can be obtained with respect to the data size of the entire document, that is, the sum of the data sizes of the divided documents. .
[0030]
  As a final stage, the ratio of the designated range to the entire document, that is, the second data size ratio is obtained by multiplying the obtained first data size ratio by the layout size ratio obtained in the divided document ratio acquisition step. Can be sought.
[0031]
  The layout size ratio of the designated range obtained in the divided document ratio acquisition step is an accurate value because it is a ratio based on the layout according to the setting of the variable layout at that time. Based on the data size of the divided document obtained from the divided data size acquisition step, the proportion (first data size ratio) of the divided document used for calculating the layout size ratio occupies the entire document. By obtaining and multiplying the layout size ratio obtained from the divided document ratio acquisition step by the first data size ratio, the ratio of the designated range in the entire document (second data size ratio) is indicated. The final result can be obtained.
[0032]
  If the ratio of the layout size of the specified range to the layout size of the entire document is an ideal value, the second data size ratio has a meaning of an estimated value including some errors. However, since the layout is obtained only for some divided documents and the data size is used for the other parts, the amount of processing required for the layout and the required memory are minimized compared to the case of obtaining the entire document layout. In addition, even for a document composed of a collection of variable layouts, the ratio of the specified range can be obtained at high speed.
[0033]
  Further, as described above, the display control method according to the present invention provides a specified range for a divided document that can acquire a layout size among a plurality of divided documents including the specified divided document in the divided document ratio acquisition step. In addition, a layout size ratio occupied by the designated range with respect to the display layout is obtained in addition to the layout size of the specified divided document, even if the divided document does not include a layout document.
[0034]
  In the above configuration, if there is a divided document whose layout size can be obtained in addition to those specified as a divided document including the specified range, the layout size is also obtained. It is called a known divided document in the sense that the layout size can be known together with the divided document including the specified range.
[0035]
  Note that when there are a plurality of divided documents including the specified range, the divided documents are adjacent to each other because the specified range is usually a continuous area. However, the divided documents outside the specified range for which the layout size can be known do not have to be adjacent to each other.
[0036]
  By including the divided document outside the specified range in the known divided document, the layout size of the divided document that becomes the denominator for obtaining the layout size ratio of the specified range is increased. Then, the divided data used for the calculation of the layout size ratio obtains the first data size ratio that occupies the entire document.
[0037]
  That is, as the number of divided documents with known layout sizes increases, the layout size ratio itself approaches the ideal value. Therefore, the second data size ratio obtained by multiplying the layout size ratio close to the ideal value by the first data size ratio. Will also approach the ideal value.
[0038]
  In this way, using the layout size of a divided document that is not included in the specified range, but using the layout size already found, the ratio of using the layout size in the entire document increases. Compared to the method using only the document layout size, there is an effect that the possibility of further improving the accuracy is increased.
[0039]
  Also, as you continue to read the document, the number of divided documents that have obtained a layout will increase, so if you keep at least the layout size of the divided document that has obtained the layout, even if that layout is discarded In addition, processing based on the layout size can be performed.
[0040]
  Ideally, we want to find the layout of all the divided documents and want to find the ratio of the specified range only with the layout size, so the larger the ratio of the number of divided documents that use the layout size, the more The difference in the ratio obtained by the method of the invention should be reduced. Accordingly, as the number of layout sizes of each divided document is known, there is an effect that the processing result based only on the layout size is approached.
[0041]
  In addition, as described above, the display control method according to the present invention uses the specified range as the display range, and displays a scroll bar according to the second data size ratio obtained from the all-document ratio acquisition step. And a scroll bar display control step for controlling display contents of the display range in accordance with a user's scroll bar operation.
[0042]
  The “scroll bar” generally indicates the range displayed in the entire document and the position that the range occupies in the entire document. In particular, the range and position displayed in the entire document range. A movable part corresponding to a mark indicating “” is called a “scroll box”. As the size and position of the scroll box change in the scroll bar, the displayed range and position are indicated. However, the present invention is not necessarily limited to the scroll box format, and includes cases such as numbers such as a percentage and the number of pages. In some cases, only one of the size and the position is indicated.
[0043]
  The scroll bar not only indicates the displayed range, but is also used when the user designates the range to be displayed as a “specified range”. When the specified range is obtained from the scroll bar, if the size of the range in which the scroll box can be placed in the scroll bar, the position of the scroll box in the range, and the size of the scroll box are obtained, the range specified by the scroll box is known. .
[0044]
  According to the above configuration, the part of the document is displayed according to the specified range, and the specified range is scrolled at a high speed by displaying the scroll bar according to the ratio obtained from the all-document ratio acquisition step. It can be displayed with a bar display.
[0045]
  In addition, by using the position specified by the user by operating the scroll bar as a reference, even in a variable layout display system, it is possible to perform control so that the range desired by the user can be displayed at high speed. .
[0046]
  As a result, even with a variable layout display system, the display and control using the scroll bar can be performed at high speed.
[0047]
  In the display control method according to the present invention, as described above, in the scroll bar display control step, the scroll box displayed in the scroll bar for designating the display range has the start or end of the scroll bar. When the range to be included is specified, the document is displayed from the beginning to the end.
[0048]
  In the above configuration, if the scroll box specifies a range including the start or end of the scroll bar, if the scroll box has a fixed length, the scroll box attempts to be positioned at the center of the scroll bar. Regardless of whether it is positioned at the end, the specified range matches the display result without any deviation. However, when the length of the scroll box is an estimated value as in the present invention and can change depending on the position, it is conceivable that the designated range does not match the display result.
[0049]
  Due to this discrepancy, depending on the value of the estimated value, it may not be possible to specify to display the first or last part of the document, or it may be displayed with an extra blank.
[0050]
  If you specify a range that includes the beginning or end of the document, you want to display the range from the beginning to the end of the document rather than displaying the range of the document that corresponds to the center position of the scroll box. It is natural to interpret.
[0051]
  Therefore, if the scroll box specifies a range that includes the start or end of the scroll bar, it is interpreted as a specified range that includes the beginning or end of the document, and is displayed. As a result, it is possible to avoid the above problems due to the estimation error and to perform processing according to the user's intention.
[0052]
  Note that this method can be appropriately combined with any of the methods of the present invention already described.
[0053]
  The display control method according to the present invention is characterized by using an encoded data size such as the number of bytes or the number of bits as the data size of the divided document in order to solve the above-described problem.
[0054]
  According to the above configuration, since bytes and bits are units of data size to be handled on the main memory or external memory, when handling document data on a computer, an encoded data size is used as an index indicating the data size. It is easy to obtain and easy to handle. As a result, it is possible to obtain an effect of simplifying the processing such as obtaining the ratio.
[0055]
  In addition, you may combine this method arbitrarily with each said method of this invention already demonstrated as needed.
[0056]
  The display control method according to the present invention is characterized in that a number based on a semantic unit of a divided document is used as a data size of the divided document in order to solve the above-described problem.
[0057]
  In the above configuration, the “number based on the semantic unit” of the document means the number of processing units when a processing unit that can be perceived by human beings is considered as a semantic unit. The number of elements), the number of lines, the number of line breaks, the number of paragraphs, etc. can be considered.
[0058]
  According to the above configuration, when the display ratio is estimated using the data size or the like, the document data may include data that is not so much related to the layout size, for example, the character color. Therefore, in order to increase the accuracy, it is preferable to exclude data that is not significantly related to the layout size.
[0059]
  Therefore, by using the number based on the above-mentioned semantic unit as the data size, there is an effect that the influence of the data not so much related to the layout size can be reduced.
[0060]
  In addition, since the number based on these semantic units does not change depending on the layout processing, it can be counted in advance, and the above-described effect of enabling processing with minimal layout processing is achieved. It can be obtained without change.
[0061]
  In addition, you may combine this method arbitrarily with each said method of this invention already demonstrated as needed.
[0062]
  The display control method according to the present invention is characterized in that the number of characters or the number of words is used as the number based on the semantic unit in order to solve the above-described problem.
[0063]
  According to the above configuration, when the number based on the above-described semantic unit is used as the data size, the accuracy of the data size increases as the semantic unit decreases, so that the calculation accuracy of the display ratio can be increased. Then, as a semantic unit, the number of words is a unit smaller than the number of line breaks or lines, and the number of characters is a unit smaller than the number of words. Therefore, among the semantic units, if the number of words is used, the calculation accuracy of the display ratio can be relatively increased, and if the number of characters is particularly used, the calculation accuracy can be further increased.
[0064]
  In addition, in order to solve the above problem, the display control method according to the present invention includes a display element in which the actual display size does not correlate with the data size when the data size of the divided document is obtained. In this case, a value obtained by converting the display size of the display element into a data size is used.
[0065]
  In the above configuration, the “display element” refers to a data element that can be displayed, such as a character, a picture, a photograph, a figure, or a moving image. In order to display, it is usually necessary for the display element to have attributes such as a display position, a display size, an outer shape, a display expression form, and a means for acquiring them. However, the display element does not indicate only the data element in the displayed state, but also includes a data element recorded / stored for display / output on main memory, external storage, or other devices. In terms of output in some form of replacement, it may be paraphrased as “output element”, but as described above, it will be expressed as “display element” for the sake of simplicity. The display includes not only two dimensions but also three dimensions.
[0066]
  The display element whose actual display size does not correlate with the data size is, for example, an image in which only the data relating to the display form and the data of the file name are described in the document data. In such a case, even if the display format or the file name data size is acquired in terms of the number of bytes, the number of bits, etc., the actual display size does not match and it is usually small.
[0067]
  Although the size of characters and images may not be completely determined unless they are actually laid out, a certain degree of tendency appears even if the layout is made with some assumptions such as temporarily determining the reference character size. Therefore, by estimating the layout size of the display element whose actual display size does not correlate with the data size under some assumptions, and converting it to the data size, the estimation accuracy is higher than the estimation based on the data size alone. The effect that the possibility of increasing becomes large comes out.
[0068]
  In addition, you may combine this method arbitrarily with each said method of this invention already demonstrated as needed.
[0069]
  Further, in order to solve the above-described problem, the display control method according to the present invention has a center position of a scroll box displayed in the scroll bar for designating the display range in the scroll bar display control step. The display ratio of the center position of the display range is indicated.
[0070]
  In the above configuration, the ratio of the designated range is usually constant unless the display magnification is changed. However, in the present invention, since the ratio of the specified range is obtained speculatively using the data size, it is not always constant. Therefore, the length of the scroll box may change depending on the position of the specified range. This change in length corresponds to an estimation error.
[0071]
  According to the above configuration, the center position of the scroll box that specifies the display range indicates the display ratio of the center position of the display range, so that the error is distributed to both ends of the scroll box and the length changes. There is an effect that can reduce the visual discomfort to the.
[0072]
  In addition, when the user operates the scroll bar, the user can easily visually grasp the display ratio and the position of the display portion.
[0073]
  In addition, in order to solve the above-described problem, the display control method according to the present invention changes the reference position on the scroll box and corresponds to the reference position on the scroll box in the scroll bar display control step. The designated position data position is changed in accordance with the designated position data position.
[0074]
  According to the method explained earlier, the scroll box can be processed well even if the range including the start or end of the scroll bar is specified, but if the range that does not include the start or end slightly is specified However, if the display method using the center position of the scroll box is executed, there is a problem that the display result may be greatly skipped although the difference between whether or not the edge is included is small.
[0075]
  Therefore, according to the above configuration, the specified range is interpreted so that the reference position associated with the scroll box and the display range is changed according to the position in the scroll bar of the scroll box specifying the display range.
[0076]
  For example, when the scroll box is located near the center of the scroll bar, the reference position on the scroll box, which is a reference indicating the position and ratio of the display range in the document, and the reference position on the display range (specified position data) And (position) are matched in the vicinity of the center.
[0077]
  Then, as the scroll box moves away from the center of the scroll bar (for example, in proportion), both reference positions are shifted together.
[0078]
  In addition, when a range that includes the beginning or end of the document is specified, the start or end of the scroll box is used as the reference position, and the display range is also used as the reference position for the scroll box and display range. Match the position to the start or end.
[0079]
  As a result, an effect of preventing the display from being largely shifted due to a slight difference in the position of the scroll box near the end of the scroll bar can be obtained.
[0080]
  Further, in order to solve the above-described problem, the display control apparatus according to the present invention provides divided data that obtains each data size of a divided document obtained by dividing a document into a plurality of portions where the display element or layout is well-defined. A reference on the scroll box serving as a reference representing the position occupied by the display range in the document according to the size acquisition means and the position in the scroll bar of the scroll box displayed in the scroll bar for specifying the display range A divided document layout acquisition unit that specifies a divided document including a specified range specified for the document so as to include a specified position data position corresponding to the position, and obtains a display layout of the specified divided document; A divided document ratio acquisition means for obtaining a layout size ratio occupied by the specified range with respect to the display layout of the divided document; A first data size ratio of the divided document used for calculating a layout size ratio occupied by the specified range with respect to the display layout, with respect to a sum of data sizes of the divided documents obtained from the data size acquisition unit; A second data size ratio occupied by the specified range in the document from the layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio obtained from the divided document ratio acquisition means And a scroll bar corresponding to the second data size ratio obtained from the all-document ratio acquiring means is displayed. Scroll bar display control means for controlling the display content of the display range according to a scroll bar operation,
  When the scroll box displayed in the scroll bar for designating the display range designates a range including the start or end of the scroll bar, the scroll bar display control means starts from the beginning of the document. Or it is comprised so that it may display to the last.
[0081]
  The operation and effect by this are the same as the method described above, but the explanation of the operation will be supplemented.
[0082]
  The divided data size acquisition means can obtain each data size of the divided document regardless of the layout setting. For example, how to divide a document is determined in advance when creating document data, and information on how the document is divided is recorded as data on a server memory that distributes the document or as a separate file on the recording medium that records the document data. Keep it. Alternatively, it is included as part of the document data in the form of header information, etc., and when the document data is read via the recording medium or transmission medium, each data size information of the divided document is stored in the main memory or the external memory. You may keep it.
[0083]
  Thereby, the divided data size acquisition means can obtain the data size by accessing the memory, the recording medium, the main memory, the external storage, or the like when it is necessary to obtain each data size of the divided document. .
[0084]
  The designated range in the document is determined by, for example, the position designated by the user with respect to the document and the size of the display range set for the display medium. A divided document including a range can be specified, and further, a display layout can be obtained by laying out the specified divided document according to the setting of the variable layout at that time.
[0085]
  The divided document ratio acquisition unit acquires the layout size of the divided document from the divided document layout acquisition unit, and uses the display range size set for the display medium as the layout size of the specified range as main memory or external It is acquired by reading from the memory or calling a window size acquisition API. As a result, the divided document ratio acquisition means can obtain the layout size ratio of the designated range with respect to the divided document.
[0086]
  Further, the all-in-document-ratio obtaining unit obtains information for identifying the divided document used for calculating the layout size ratio from the divided-document-in-ratio obtaining unit, and based on the information, from the divided data size obtaining unit, The data sizes of the divided documents to be obtained are obtained, and the data sizes of all the divided documents are acquired and added up. As a result, the in-document ratio acquisition unit can determine the ratio of the data size of the divided document used for calculating the layout size ratio, that is, the first data size ratio, to the data size of the entire document.
[0087]
  Finally, the in-document ratio acquisition unit acquires the layout size ratio from the divided document ratio acquisition unit, and multiplies the obtained first data size ratio by the layout size ratio, thereby A ratio to the entire document, that is, a second data size ratio can be obtained.
[0088]
  A display control program according to the present invention causes a computer to execute each step included in the display control method in order to solve the above-described problem.
[0089]
  In addition, a display control program according to the present invention causes a computer to function as each means included in the display control device in order to solve the above-described problems.
[0090]
  Thereby, it is possible to cause a general-purpose computer to execute the display control method of the present invention and to obtain the above-described operations and effects.
[0091]
  The recording medium according to the present invention is characterized in that the display control program is recorded in order to solve the above-described problems.
[0092]
  Thus, by installing the display control program from the recording medium to a general-purpose computer, the display control method of the present invention can be executed, and the above-described operations and effects can be obtained.
[0093]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0094]
  First, terms and concepts will be explained.
[0095]
  “Display” generally means that information is output on a display medium in a form that can be visually perceived. The present invention is not limited to “display” of a layout for a display medium, but can be applied to “output” in general, such as “print” of a layout for a print recording medium and “file output” for a layout of a data recording medium. In order to make the explanation easier to understand, in the following explanation, the word “display” is often used, but the meaning of “output” is also included.
[0096]
  A “display element” refers to a data element that can be displayed, such as a character, a picture, a photograph, a figure, or a moving image. In order to display, in addition to the display position and display size, it is usually necessary for the display element to have attributes such as the outer shape and the display expression form, and the display device must have means for acquiring them. is there.
[0097]
  However, the display element does not indicate only the data element in the displayed state, but also includes a data element recorded / stored for display / output on main memory, external storage, or other devices. In terms of output in some form of replacement, it may be paraphrased as “output element”, but as described above, it will be expressed as “display element” for the sake of simplicity. The display includes not only two-dimensional display but also three-dimensional display.
[0098]
  For example, if the “display expression form” is a character, the contour and the inside of the character are calculated as pixel positions on the display device, and the pixels are filled with the set character color. In the case of printing instead of displaying, the act of painting with pixels is equivalent to printing dots on paper and can be output in the same manner. When outputting display element data to a PDF or the like, it can be expanded into pixel information and output as contour data before that, or the PDF data can be interpreted later by an application for PDF. In this case, the data can be output as data having a sufficient amount of information (for example, font name and character code, position, character size, character color, etc.) that can be developed into pixel information.
[0099]
  The “layout” means that display elements are arranged on the two-dimensional or three-dimensional space coordinates with attributes of position, size, and outer shape, or arranged. The position and size are usually expressed as values using some unit. For example, when displaying on a display composed of a collection of pixels, it is expressed in units of (pixel) dots. As a result of the layout of one or a plurality of display elements, a position on a space coordinate determined for the display element is “layout position”. As a result of the layout of one or a plurality of display elements, a space determined for the display element The size on the coordinates may be referred to as “layout size” hereinafter.
[0100]
  “Document” refers to data in which one or a plurality of display elements are laid out, or data having an amount of information that can be laid out or displayed based on the layout. The document data may include display element data, may have only layout information, and may include a part of display element data, or may not include at all. In any case, the document data can be used for display and output according to the layout.
[0101]
  FIG. 5 shows an example in which a certain document is laid out. Reference numeral 110 in FIG. 5 denotes the entire layout, and each character or image in the layout corresponds to a display element on which the layout is made. In actual display, only the position and size of the display range are displayed.
[0102]
  In the case of a scroll bar, the “specified range” of a document refers to a range to be displayed in the document. Normally, it is specified by the position, size, and outline in the laid out document. The outer shape is generally rectangular. The “designated range” is not limited to the range to be displayed but may be a range to be printed, or may be a range to be recorded on the main memory or the external memory in a data format format such as PDF.
[0103]
  When the specified range is specified by the scroll bar, the size of the scroll box becomes the size of the specified range, and the position of the scroll box becomes the position of the specified range. The size of the scroll box cannot usually be changed by direct manipulation of the scroll bar, so only the position is changed. In order to change the size of the scroll box, it is necessary to separately perform operations such as changing the display magnification.
[0104]
  The operation of changing the position of the scroll box is usually performed using a mouse or a keyboard. For example, move the mouse cursor over the scroll box and press the left mouse button. While holding down the button, move the mouse to the position where you want to move the scroll box, and release the button at the position where you want to move it. The scroll box is called “drag and drop”.
[0105]
  In addition, when there is a scroll button (in many cases, an arrow is displayed) for moving the scroll box on the scroll bar, the scroll box is moved by a predetermined amount in a predetermined direction by pressing the scroll button. . The same operation as the scroll button may be performed by pressing a direction key or a space key on the keyboard.
[0106]
  When the specified range is obtained from the scroll bar, if the size of the range in which the scroll box can be placed in the scroll bar, the position of the scroll box in the range, and the size of the scroll box are obtained, the range specified by the scroll box is known. .
[0107]
  The position and size of the scroll bar and scroll box are usually represented by the number of dots displayed on the screen. For example, the range in which the scroll box can be arranged in the scroll bar is 250 dots, the scroll box is located 100 dots from the head of the arrangeable range, and occupies the size of 50 dots from there. Which end of the scroll bar is the top may be determined according to the purpose.
[0108]
  When the specified range is obtained using the scroll bar, or when the currently displayed range is displayed with the scroll bar, the number of dots on the screen will eventually be the unit, but the overall size of the scroll bar may also change. Therefore, in the following, in order to make the description general, the position and size of the scroll box will be mainly described by using the ratio, not the number of dots. The ratio is a value of 0.0 to 1.0.
[0109]
  For example, in the previous example, the ratio of the position of the scroll box is (100/250) = 0.4, and the ratio of the size of the scroll box is (50/250) = 0.2.
[0110]
  The specification range may be specified by specifying a rectangle by dragging the mouse on the entire reduced display of the document. In this case, the position and size can be specified at the same time.
[0111]
  The position and size of the specified range may be expressed in any unit system, but when specified with a scroll bar or the like, it is often obtained as a ratio in the entire document.
[0112]
  Next, “division” of a document can be considered in two ways: layout division and data division. In the present invention, data division is targeted.
[0113]
  The layout division is to divide the display element as a range on the coordinate space in a state where the display element is laid out. For example, it is like cutting printed paper with a scissors.
[0114]
  On the other hand, the data division is to divide document data expressed as digital quantities such as bytes and bits into a data string. This cannot be perceived directly by humans, but when a data string is divided at a place where display elements and layout are well-defined (for example, before and after line breaks and paragraphs), the display and output of the divided data is in terms of layout. Since it is expressed as divided, it can be perceived indirectly. In addition, it is easier to perform subsequent processing if the data string is divided at a place where display elements and layout are well-defined.
[0115]
  In either case, when a document is divided at a place where display elements and layout are well-defined, it can often be expressed as a divided state in either form of layout division or data division.
[0116]
  FIG. 6 shows an example in which the document layout document data (described in HTML) in FIG. 5 is divided. Like the divided document data 50 to 55, the original document data is divided in units of characters of the HTML source. In addition, it is divided as much as possible before and after a line feed (“<BR/>”) so that the layout is good. It is assumed that this division processing is performed when content data is created, and information on how the data has been divided can be obtained at the stage of reading the content data.
[0117]
  The “data size” of a document is a value indicating the scale of the data, and is generally a size when document data is expressed and recorded as an encoded amount (digital amount) such as bytes or bits. It is assumed that the “number based on the semantic unit” and the like are included in the data size as indicating the scale of the data.
[0118]
  The “number based on semantic units” of a document means the number of processing units when processing units that can be perceived by humans are considered as semantic units. In the case of documents, the number of characters (elements) and lines Numbers, line breaks, etc.
[0119]
  FIG. 2 is a configuration diagram illustrating a scroll bar display control device that performs the above-described scroll bar display control method according to an embodiment of the present invention.
[0120]
  That is, the main parts of the scroll bar display control device are divided data size acquisition means 1, divided document ratio acquisition means 2, all document ratio acquisition means 3, scroll bar display means 4, specified range acquisition means 5, specified range layout. It can be expanded and shown on the acquisition means 6, the layout display means 7, and the divided document layout acquisition means 8.
[0121]
  FIG. 3 is a configuration example of a device that specifically realizes each of the means 1 to 8 in FIG.
[0122]
  The CPU (central processing unit) 20 includes the divided data size acquisition unit 1, the divided document ratio acquisition unit 2, the total document ratio acquisition unit 3, the scroll bar display unit 4, the specified range acquisition unit 5, and the specified range layout acquisition unit. 6. Functions as the layout display means 7 and the divided document layout acquisition means 8, and obtains a program in which the processing procedures by these means 1 to 8 are described from the main memory 25, the external storage 26, the network destination through the communication device 29, and the like. .
[0123]
  The CPU 20 also exchanges data with the graphic device 21, the printer 23, the speaker 24, the main memory 25, the external storage 26, the mouse 27, the keyboard 28, and the communication device 29 that are connected to each other through the bus 30 including the CPU 20. However, the processes described above are performed.
[0124]
  Note that data exchange is not limited to being performed via the bus 30, but may be 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 1 to 8 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 may be used.
[0125]
  The main memory 25 is usually composed of a memory device such as a DRAM (dynamic random access memory) or a flash memory. The external storage 26 is a storage means such as an HDD (hard disk drive) or a PC (personal computer) card that can be attached and detached. Alternatively, a memory device or the like attached to another network device that is wired or wirelessly connected to the CPU 20 via the communication device 29 can be used as the external storage 26.
[0126]
  As means for inputting user operations, there are a mouse 27, a keyboard 28, a microphone 31, and the like. In addition, various means such as buttons and a touch panel can be used.
[0127]
  The graphic device 21 is usually realized by a graphic card or the like, has a VRAM (video random access memory), converts data on the VRAM into a display signal, and sends the display signal to a monitor 22 connected to the graphic device 21. 22 displays the display signal as an image.
[0128]
  The printer 23 prints the print data obtained via the bus 30 on a sheet. The speaker 24 outputs sound data obtained via the bus 30 as sound. The mouse 27, keyboard 28, and microphone 31 transmit user input to other means via the bus 30.
[0129]
  The communication device 29 is realized by a network card or the like, and exchanges data with other network devices connected via a network by wireless or wired communication.
[0130]
  A method of realizing each of the means 1 to 8 in FIG. 2 will be described, including the viewpoint of data exchange between the means.
[0131]
  The CPU 20 as the divided data size acquisition unit 1 in FIG. 2 obtains the data size of each divided document from the main memory 25, the external storage 26, the communication device 29, and the like. The data size of each divided document is assumed to be already described in the document data or obtained by interpreting the document data. The format of the data size of each divided document will be described later. For example, a structure as shown in FIG. 10 can be considered.
[0132]
  As processing by the CPU 20 as the divided document ratio acquisition unit 2 in FIG. 2, first, the divided document ratio acquisition unit 2 reads a processing program from the main memory 25, the external storage 26, the communication device 29, etc., and acquires a specified range layout. The layout data of the designated range including the data position and size information is obtained from the means 6. Subsequently, the divided document ratio acquisition unit 2 receives information specifying the divided document including the designated range from the divided document layout acquisition unit 8 and layout data including data position and size information regarding the specific divided document. obtain. Thus, the ratio (layout size ratio) of the specified range in the specific divided document is obtained from the specified range and each layout size of the specific divided document, and the ratio in all documents is acquired from the divided document ratio acquisition unit 2. Sent to means 3.
[0133]
  The CPU and DSP read the processing procedure as a program. However, when the processing procedure is incorporated as a circuit such as a logic circuit, it is not necessary to read the program.
[0134]
  As the processing by the CPU 20 as the all-document ratio acquisition unit 3 in FIG. 2, the all-document ratio acquisition unit 3 first reads a processing program from the main memory 25, the external storage 26, the communication device 29, etc. The layout size ratio of the specified range is obtained from the acquisition unit 2. Subsequently, the all-in-document ratio acquisition unit 3 obtains the data size of a specific divided document including the specified range from the divided document layout acquisition unit 8 and obtains the data sizes of all the divided documents from the divided data size acquisition unit 1. By obtaining, the ratio of the data size occupied by the specific divided document in all the documents (first data size ratio) is obtained. Further, the in-document ratio acquisition unit 3 multiplies the first data size ratio by the layout size ratio to finally determine the ratio of the data size occupied by the specified range in the entire document (second data size ratio). And sent to the scroll bar display means 4. The scroll bar display means 4 performs a scroll bar display process corresponding to the second data size ratio.
[0135]
  The CPU 20 as the scroll bar display unit 4 in FIG. 2 outputs the scroll bar to the output destination (graphic device 21 and monitor) according to the ratio (second data size ratio) of the specified range obtained from the all-in-document ratio acquisition unit 3. 22 or the printer 23).
[0136]
  As described in the explanation of terms, the output expression format is written as pixel data on the VRAM of the graphic device 21 and displayed on the monitor 22 when displayed on the monitor 22, for example. On the other hand, in the case of printing, for example, it is sent to the printer 24 as print data, and the printer 24 interprets the print data and prints it on paper. In the case of PDF, data for arranging characters at corresponding positions is written as PDF data and recorded through the main memory 25, the external memory 26, the communication device 29, and the like.
[0137]
  The CPU 20 as the designated range acquisition means 5 in FIG. 2 obtains data of the designated range from a program that is read from the main memory 25, the external storage 26, the communication device 29, or the like, or by a user operation, a mouse 27, a keyboard 28, a microphone 31. Or as data input from the graphic device 21, the main storage 25, the external storage 26, the printer 23, or the communication device 29.
[0138]
  For example, if the size of the window displayed on the monitor 22 is set to the size of the specified range, the CPU 20 refers to the window size data on the main memory 25 or calls the window size acquisition API, etc. Get the size data. For printing, the CPU 20 refers to paper setting data on the printer 23 or the main memory 25 or the external storage 26 in which paper settings are recorded, or calls the paper size acquisition API to obtain the paper size. Good.
[0139]
  Further, for example, if the position of the scroll box on the scroll bar displayed on the monitor 22 is set as the position of the specified range, the CPU 20 refers to the position of the scroll box on the main memory 25 or the scroll bar information acquisition API. The data of the position of the specified range is obtained by calling.
[0140]
  The processing by the CPU 20 as the designated range layout acquisition unit 6 in FIG. 2 reads the processing program from the main memory 25, the external storage 26, the communication device 29, etc., obtains the designated range from the designated range acquisition unit 5, and acquires the divided data size. The data size of each divided document is obtained from the means 1, the layout of the divided document is obtained from the divided document layout obtaining means 8, and processed according to the processing program, and the specified range layout, data position, size, etc. are obtained. This is done by passing to the means 2 and the layout display means 7.
[0141]
  The CPU 20 as the layout display means 7 in FIG. 2 outputs the output expression format of the display elements in the specified range to the output destination (graphic device 21 and monitor 22, printer 23, etc.). The output implementation method is the same as that of the scroll bar display means 4, but the output content is the layout.
[0142]
  The CPU 20 as the divided document layout acquisition unit 8 in FIG. 2 obtains layout data of the divided document from the main memory 25, the external storage 26, the communication device 29, and the like. It is assumed that the layout data has already been created by another program such as a WWW browser layout process or a processing routine, and can be obtained by calling the other program or processing routine. Inside these routines, if there is a layout that has already been created, it will be used, and if it has not been created or the display settings have changed, it will be recreated. Although the format of the layout data will be described later, a structure as shown in FIG. 12 can be considered.
[0143]
  FIG. 4 shows an example of the appearance of the apparatus. The display unit 122 is provided on the main body 123, which also serves as a tablet function and can be operated by the pen 124. In the display means 122, the layout of the specified range is displayed, and a scroll bar 120 is displayed beside it. There is a scroll box 121 in the scroll bar 120.
[0144]
  The specified range can be specified by touching the scroll bar 120 or dragging the scroll box 121 with the pen 124 and operating the tablet. In FIG. 3, the display unit 122 corresponds to an input operation unit such as the mouse 27 and the keyboard 28, and the tablet function combined with the pen, such as the graphic device 21 and the monitor 22.
[0145]
  FIG. 7 is a flowchart showing a scroll bar display control method according to an embodiment of the present invention.
[0146]
  In this flowchart, as a typical operation of the user using the scroll bar,
  (1) Use the scroll box to specify the range that the user wants to display,
  (2) Display the specified range,
  (3) The entire series of processing until the scroll box corresponding to the displayed range is displayed again on the scroll bar is described. (1) and (2) mainly correspond to “control by scroll bar”, and (3) mainly corresponds to “display of scroll bar”.
[0147]
  First, an overview of these processes will be described. Details of each process will be described later.
[0148]
  First, in step S10 (hereinafter, “step S” is abbreviated as “S”), the designated range acquisition unit 5 obtains the designated range as described above, and connects the connection point P10 (hereinafter, “connection point P”). The process proceeds to S11.
[0149]
  The “specified range” is as described above in the explanation of words. For example, it is assumed that the designated range is instructed by the user using a scroll bar or a range designation operation in the entire reduced display. The range specifying operation using the scroll bar is as described above in connection with the definition of “specified range”.
[0150]
  Here, it is assumed that the range obtained from the scroll bar is obtained as a ratio to the entire document.
[0151]
  As for the size of the specified range, the ratio of the size specified in the scroll box may be used, but when the present invention is used with the scroll bar, it seems natural for the user to use the dot size of the display screen of the display means. So let's use that value. In this case, the dot size of the display screen of the display means is always the same as the layout size of the displayed content portion.
[0152]
  In general, the scroll box corresponds to “the layout of the displayed part in the entire layout”, and the position and size of the scroll box are the position and the size in the entire layout of “the layout of the displayed part of the entire layout”. Determined by. The size of the entire layout can be obtained by laying out the entire content. If the size of the specified range does not change, the size of the “displayed part of the entire layout” does not change, and the size of the scroll box (on the scroll bar) The ratio of the size is normally unchanged.
[0153]
  Although details will be described later, in this embodiment, the position and size of the “layout of the displayed content portion” on the entire layout are estimated from various data sizes without obtaining the total layout size. As a guess, the size of the scroll box (and its percentage) may vary slightly depending on the display range.
[0154]
  Therefore, if an attempt is made to display a part of the content corresponding to the previous scroll box size (and the ratio of the size), the layout size may not match the dot size of the display screen of the display means. In that case, the display may be missing or a part that cannot be displayed may appear. This results in an unnatural display result for the user.
[0155]
  Therefore, it is preferable that the designation range is designated not by the size of the scroll box but by the dot size of the display screen of the display unit, because it is less uncomfortable for the user.
[0156]
  Although the outer shape of the designated range is a rectangle, a method similar to that described here can be applied in principle even if it is not a rectangle.
[0157]
  S10 corresponds to “(1) The user designates a range to be displayed in the scroll box” described above.
[0158]
  In S11, the designated range layout obtaining unit 6 obtains the layout of the designated range obtained in S10 according to the characteristic method of the present invention, and proceeds to S12 via P20. Details of the processing here will be described later with reference to FIG.
[0159]
  In S12, the layout display means 7 displays the layout of the designated range obtained in S11, and proceeds to S13 via P30.
[0160]
  Regarding the acquisition of the layout of the designated range, which will be described later with reference to FIG. 16 and the like, display elements at the upper and lower limits of the layout are obtained, and the display elements between them become the display elements of the layout of the designated range.
[0161]
  Although the display method is not the gist of the present invention and will not be described in detail, the display expression form of each display element is displayed in accordance with the position and size of each display element in the layout document, the external shape, the display magnification, and the like. . Since the position of the display element is a value in the layout coordinate system, when displaying, the display element is usually converted into the display coordinate system from the display means origin and displayed.
[0162]
  FIG. 8 shows an example in which the display elements of the display range (designated range) 111 are extracted from the layout 110 of the entire document shown in FIG. The display elements in the layout 110 are represented by a coordinate system in which the upper left corner of the layout 110 is the origin, the right direction is the + X direction, and the lower direction is the + Y direction. By subtracting the coordinate value of the start position of the display range 111 from the coordinate value of the position of each display element, it is converted into a display coordinate system with the upper left of the display means 122 as the origin, and only those that fall within the range of the display means 122 Is displayed.
[0163]
  S11 and S12 correspond to the “(2) display the specified range” described above.
[0164]
  In S13, the in-document ratio acquisition unit 3 calculates the position and ratio in the entire document of the display range based on the specified range according to the characteristic method of the present invention, and proceeds to S14 via P40. Details of the processing here will be described later with reference to FIG.
[0165]
  As described in the description of S10, the position of the designated range is designated by the ratio in the entire document, but the size is designated by the display size (for example, dot size). If the size is specified as a ratio in all documents, it is not necessary to calculate in S13, and the position and size specified in the ratio may be used as they are.
[0166]
  In S14, the scroll bar display unit 4 obtains the positions and sizes in all the documents obtained in S13, displays the scroll bar 120, and ends the process.
[0167]
  In FIG. 8, a scroll box 121 indicating the position and size of the display range 111 is shown in black on the scroll bar 120.
[0168]
  S13 and S14 correspond to the above-described process “(3) display on the scroll bar a scroll box corresponding to the displayed range”.
[0169]
  According to the above-described processing, in accordance with the numbers described above, (1) for the designated range designated by the user operating the scroll bar or the like, (2) the layout corresponding to the designated range is displayed, (3) A scroll bar corresponding to the designated range is displayed.
[0170]
  Generally, when trying to view content, operations (1) to (3) are repeated to view various places. In some cases, instead of the scroll bar of (1), a range to be displayed next is specified using a keyboard, a mouse, or the like. For example, when the space key is pressed in the WWW browser, the display for the next page is designated. Note that this repetitive processing is not limited to only viewing content, but in the case of a word processor or the like, operations such as editing and processing may be sandwiched between them.
[0171]
  FIG. 9 is a flowchart showing details of the processing in S11 of FIG. 7 which is one of the features of the display control method of the present invention.
[0172]
  In order to describe the process specifically, the position of the designated range obtained in S10 of FIG. 7 is set to 0.5, and the size is set to 100 dots above and below (200 dots in total) centering on the designated position.
[0173]
  First, the process proceeds to S20 via P10, and the designated range layout obtaining unit 6 obtains the data size of each divided document from the divided data size obtaining unit 1, and then proceeds to S21.
[0174]
  Each divided document is created in advance. That is, how the content is divided is determined in advance, and information on how the content is divided is recorded as data. For example, it may be recorded as an array of values in the term “data size” in FIG. This may be recorded on a recording medium as a file separately from the content data, or may be recorded in the form of header information as part of the content data.
[0175]
  The data size of each divided document is obtained from the “information on how to divide” described above. The layout size of each divided document changes depending on the character size setting in the case of a variable layout, but the data size of each divided document does not change even in the variable layout. One of the reasons why the control and display by the scroll bar can be performed at high speed in the present invention is because the data size can be obtained in advance.
[0176]
  FIG. 10 is an example of the data size of each obtained divided document. It is assumed that the data size 70 to 75 of each divided document is obtained as an array of values. Below that, the sum “604” of data sizes 70 to 75 is also shown.
[0177]
  The data size ratio 80 to 85 is a ratio when the sum of the data sizes 70 to 75 is 1.00. Since the sum of the data sizes 70 to 75 is 604, for example, the data size ratio 80 can be obtained by 126/604 = 0.21 (hereinafter, the third decimal place is rounded off for explanation).
[0178]
  The cumulative data size ratio 90 to 96 is a cumulative value of the data size ratio 80 to 85 (in order to reduce the cumulative error, the value in FIG. 10 is not the sum of rounded 80 to 85 but the data size ratio). The ratio is calculated from the sum, so there are some parts that do not match the sum of the data size ratios). The first 0.00 and the last 1.00 are also included. Data sizes 70 to 75, data size ratios 80 to 85, and cumulative data size ratios 90 to 96 can be accessed by index numbers starting from 0.
[0179]
  A method of dividing each divided document will be briefly described. There is no rule on how to divide, but it is generally better to divide in semantic units with good separation for display. A well-separated semantic unit is a larger semantic unit such as “line feed” or “paragraph” as a matter of course, such as a character unit.
[0180]
  For example, in the example of FIG. 6, there are many places that are divided after “<BR/>” or “<P />” as line feeds. This is because, when the layout is performed in units of divided documents as described later, if the layout of each divided document is grouped in units with good delimiters such as line breaks, the layout is independent for each divided document. This is because there is an advantage that can be achieved.
[0181]
  For example, as can be seen from the layout result of FIG. 5, the layout result of the divided document data 50 of FIG. 6 ends with the line “Narrow view” because “<BR/>” is the last, and the divided document data 51 The layout result of starts with "Human vision" from the beginning of the next line. Since the lines are separated, it is only necessary to display each line side by side. Therefore, there is no problem even if the layout is created in the order of the divided document data 51 and the divided document data 50.
[0182]
  If you divide in a poorly divided part, you must lay out on the same line so that the part is continuous. For example, the layout result of the divided document data 54 in FIG. 6 ends with “function is”, but does not end with “<BR/>” or “<P />”, so no line break is made here. Accordingly, the layout result of the subsequent divided document data 55 becomes “with human vision” following the “function is” line. As a result, the divided document data 54 and the divided document data 55 have the same layout result line.
[0183]
  For this reason, it is only necessary to lay out the divided document data 54 and the divided document data 55 in this order. However, if the divided document data 55 and the divided document data 54 are laid out independently in this order, the “function” part is the end of the line. Not necessarily laid out, but if it is laid out in the middle of a line, a strange white space will follow. And the beginning of the next line becomes “with human vision”. This breaks the connection as a sentence.
[0184]
  In order to avoid this, for example, it is necessary to temporarily discard the layout of the divided document data 55 and recreate the divided document data 54 and the divided document data 55 in this order. This is a very wasteful process.
[0185]
  Therefore, it is better to divide the document at a portion having a good delimiter such as a line feed like the divided document data 50 to 53.
[0186]
  Further, the data size and layout size of each divided document may not be too large or too small. If a unit for creating a layout is a divided document, a very large divided document will unnecessarily generate a layout that is not used for the immediate display, resulting in an increase in layout time and required memory. On the other hand, if it is too small, the waste of generating a layout that is not used for the immediate display will be reduced, but the data size of the divided document will increase, and the ratio (although it is usually not much compared to the time required for layout) The calculation of will also increase slightly.
[0187]
  Also, even if you try to make it too fine, it is not always possible to divide it at a place where a line break is good. One criterion for the amount of division is the amount of content displayed on one screen with standard display settings. For example, the amount of content displayed on one screen may be about 0.5 to 2 times.
[0188]
  In addition, it is generally better to divide each divided document so that there is no significant difference in the data size or layout size of each divided document. This also has the meaning of preventing a large difference in layout time.
[0189]
  Note that when content data is compressed or encrypted, if it can be expanded and decrypted in units of divided documents, there is an advantage that the time required for layout in units of divided documents can be reduced. Come.
[0190]
  In S21, the designated range layout acquisition unit 6 identifies the divided document at the designated position, and proceeds to S22.
[0191]
  By comparing the designated position with the accumulated data size ratios 90 to 96 in FIG. 10 and checking which section the designated position falls in, it is possible to obtain which divided document the designated position is located in. In the example, since the designated position is 0.5, it can be seen that it is located between the value 0.34 of the cumulative data size ratio 92 and the value 0.53 of 93. Since this section corresponds to the data size ratio 82 and the data size 72, it can be seen that the divided document in the designated range includes at least the third divided document data 52.
[0192]
  FIG. 11 shows this state, and the divided document data 50 to 55 are represented by a height that is approximately proportional to the data size 70 to 75. The designated center position is 0.5, which indicates that it is included in the third divided document data 52.
[0193]
  In S22, the divided document layout acquisition unit 8 obtains the layout of the divided document including the designated position, and proceeds to S23 via P11. The divided document including the designated position is designated by the designated range layout acquisition unit 6.
[0194]
  In this example, the divided document layout acquisition unit 8 obtains the layout of the divided document data 52. If the layout data of the divided document data 52 is stored as cache data or the like in the main memory 25, the external memory 26, or another device, it can be used as it is. If it is not stored, the divided document data 52 may be read to create a layout.
[0195]
  FIG. 12 shows an example of the data structure of the laid out display element data. Here, the document data is in HTML format,
  “<HTML> that <BR/> <IMG SRC =“ img. png "/> <BR/> e </ HTML>"
Is shown as an example of layout data obtained as a result of layout by a WWW browser or the like. Since the layout creation method itself is not the gist of the present invention, the details are omitted. Even if it is not a WWW browser, a word processor may be used as long as the data shown in FIG. 12 can be obtained by layout processing.
[0196]
  As shown in FIG. 12, each row of the display elements 40 to 44 has data start position, data size, layout X position, layout Y position, layout width, layout height, and display data information.
[0197]
  The data start position means the first data position where this display element is described in the document data. The first display element 40 corresponds to the first “A” character of the HTML data, and since it is the seventh byte, the data start position is set to “6” since it starts from 0. If the full-width character is expressed by 2 bytes, the data size is “2”, the layout X and Y positions are “0” when the origin is the origin, the size is “14”, the character size is 14 dots, and the display data Is the character code of the character “A”. Actually, it is necessary to indicate that this display data is “character” by some kind of identifier. However, since the display element display method itself is not the gist of the present invention, it can be omitted and only the character “A” can be displayed. It is assumed that the information is represented.
[0198]
  Similarly, the display elements 41 to 44 are as shown in FIG. The display element 43 is an example of an image element represented by “<IMG ../>”, the image size (layout size) is 50 dots × 100 dots, and the display data is the image file name “img.png”. It has become.
[0199]
  In S23, the designated range layout acquisition unit 6 determines whether a layout having a size specified in the specified range has been secured, and acquires the layout of surrounding divided document data from the divided document layout acquisition unit 8 if necessary. After P15, the process proceeds to S24. Details of the processing here will be described later with reference to FIG.
[0200]
  In S24, the designated range layout acquisition means 6 acquires the display element of the designated range, and goes to P20. Details of the processing here will be described later with reference to FIG.
[0201]
  Through the above processing, the processing of S11 in FIG. 7 is performed, and the layout of the designated range is obtained.
[0202]
  FIG. 13 is a flowchart showing details of the process in S23 of FIG.
[0203]
  In this example, it is assumed that the scroll bar is in the vertical direction, and the lower the layout, the earlier the document content. For this reason, in the following description, the expression “down” is used for the layout of the previous contents, and the specified range and layout are mainly described in the vertical direction (layout Y position in FIG. 12).
[0204]
  Proceeding from P11 to S30, the designated range layout acquisition unit 6 determines whether or not the layout in the upper part of the layout already acquired from the divided document layout acquisition unit 8 is insufficient compared to the specified range. If so, the process proceeds to S31 via P12, and if sufficient, the process proceeds to S32 via P13.
[0205]
  FIG. 14 shows an example of data used to make this determination, which is stored in the main memory 25, the external memory 26, or another device. The starting divided document index 100 is the first index number of divided document data for which a layout has already been acquired. Similarly, the end divided document index 101 is the last index number of the divided document data whose layout has already been acquired. Here, only the third divided document data is laid out, and the index number of the first divided document data is set to 0 as described above, so both are “2”.
[0206]
  The designated position data position 102 indicates which position the designated position indicates in the data size of the document. This is calculated by multiplying the total data size by the specified position (ratio). You can use the calculated value as is, or search for the data start position (or plus (display element data size / 2)) of the display element that contains that value or has the closest data range, and use that value. Also good.
[0207]
  In the example of FIG. 10, the center position (designated position) 0.5 is
    (Sum of all divided document data sizes) x (specified position ratio)
    = 604 * 0.5 = 302
Therefore, it becomes the 302nd byte. In the divided document data 52 of FIG. 6, it corresponds to “di” of “range”. In the display range 111 of FIG. 5, this designated position is represented by a circle mark at the center.
[0208]
  The upper layout size 103 and the lower layout size 104 mean how much size is laid out above and below the specified position data position 102 (including the center of the row). Here, since the start divided document index and the end divided document index in FIG. 14 are 2, only the divided document 52 in FIG. 6 is laid out. From FIG. 5 showing the whole document layout, the layout of the divided document 52 is five lines from “Human is” (starting with a full-width space) to “Low”. If the height of one line is 16 dots (character 14 dots + line spacing 2 dots)
    (Layout for 4.5 lines) = 16 x 4.5 = 72 dots
Under
    (0.5 line layout) = 16 × 0.5 = 8 dots
It has become. Note that “4.5” and “0.5” are because processing is performed at “the center of the row including the designated position data position 102”, and the row is divided into 0.5 rows at the top and bottom. .
[0209]
  Each value in FIG. 14 is updated every time a layout of each divided document is obtained.
[0210]
  In this example, since the size of the designated range is 100 dots up and down centered on the designated position, it is not sufficient as compared with 72 dots of the upper layout size 103, so the designated range layout acquisition means 6 determines that the upper layout is insufficient.
[0211]
  In S31, the designated range layout obtaining unit 6 obtains the layout of the divided document data 51 from the divided document layout obtaining unit 8, and proceeds to S32 through P13. Details of the processing here will be described later with reference to FIG.
[0212]
  In S32, the designated range layout acquisition means 6 determines whether or not the layout below the specified range is insufficient with respect to the currently acquired layout. If not, the process proceeds to S33. Break through. Since the process here is the same as the process related to the upper layout in S30, a description thereof will be omitted.
[0213]
  In S33, the designated range layout acquisition unit 6 acquires the layout of the lower divided document data from the divided document layout acquisition unit 8, and the process goes to P15. Since the process here is also the same as the process related to the upper layout in S31, the description thereof is omitted.
[0214]
  Through the above processing, the processing of S23 in FIG. 9 is performed, and the layout of the designated range is obtained.
[0215]
  FIG. 15 is a flowchart showing details of the process of S31 of FIG.
[0216]
  Proceeding from P12 to S40, the designated range layout obtaining unit 6 obtains a layout amount that is insufficient on the upper side, and proceeds to S41.
[0217]
  This can be done by subtracting the upper layout size 103 of FIG. 14 from the upper size of the specified range. In the case of FIG. 14, a value of 100−72 = 28 dots is obtained.
[0218]
  In S41, the designated range layout acquisition means 6 determines whether or not the upper insufficient layout amount obtained in S40 is 0. If it is 0, the process goes to P13, and if it is not 0, the process goes to S42.
[0219]
  In S42, the designated range layout obtaining unit 6 determines whether or not there is an upper divided document. If there is, the process proceeds to S43, and if not, the process exits to P13.
[0220]
  Whether there is an upper divided document can be determined by checking whether the starting divided document index 100 in FIG. In the description of S33, the process is the same as the process related to the upper layout. However, only in the process of S42, whether or not the lower divided document exists is determined by the end divided document index 101 (number of divided documents− 1) Depending on whether or not.
[0221]
  In S43, the designated range layout acquisition unit 6 acquires the layout of the upper divided document from the divided document layout acquisition unit 8, updates the data in FIG. 14, and proceeds to S40.
[0222]
  The process of S31 of FIG. 13 is performed by the above process.
[0223]
  In this example, by further reading the divided document data 51, from FIG.
    (3-line layout) = 16 × 3 = 48 dots
Is added to the top
    (Upper layout size 103) = 72 + 48 = 120 dots> specified 100 dots
This is enough for the above reading. In this case, the start divided document index 100 is updated to 1, and the upper layout size 103 is updated from 72 to the upper limit of 100.
[0224]
  Below is the reading of the divided document data 53
    (8 lines layout) = 16 × 8 = 128 dots
Will be added below,
    (Lower layout size 104) = 8 + 128 = 136 dots> 100 dots specified
Therefore, it is sufficient to read the layout below. In this case, the end divided document index 101 is updated to 3, and the lower layout size 104 is updated from 8 to 100, which is the lower limit.
[0225]
  FIG. 16 is a flowchart showing details of the process in S24 of FIG.
[0226]
  Proceeding from P15 to S70, the designated range layout obtaining means 6 obtains an upper limit display element, and proceeds to S71 via P16. Details of the processing here will be described later with reference to FIG.
[0227]
  In S71, the means 6 obtains the lower limit display element and goes to P20. Since the process here is the same as the process of S70, description is abbreviate | omitted.
[0228]
  The process of S24 of FIG. 9 is performed by the above process.
[0229]
  FIG. 17 is a flowchart showing details of the process of S70 of FIG.
[0230]
  Proceeding from P15 to S80, the designated range layout acquisition means 6 sets the display element at the designated position as the current element, and proceeds to S81. The display element of the designated position may be searched for a display element including the designated position data position 102 of FIG. 14 or having the closest data range. To search, it is sufficient to look at the layout data of the divided document including the designated position in order.
[0231]
  In S81, the means 6 obtains a display element before the current element, and proceeds to S82.
[0232]
  In S82, the means 6 determines whether or not the layout size from the display element at the designated position to the display element obtained in S81 exceeds the upper layout size 103 in FIG. If not, the process proceeds to S84. To obtain the layout size from the display element at the specified position to the display element obtained in S81, the difference between the layout Y position of the current element (FIG. 12) and the layout Y position of the display element before the current element obtained in S81. Just take it.
[0233]
  In S83, the means 6 exits to P16 using the current element as the upper limit display element.
[0234]
  In S84, the means 6 sets the upper display element as the current element and returns to S81.
[0235]
  The process of S70 of FIG. 16 is performed by the above process.
[0236]
  FIG. 1 is a flowchart showing details of the process of S13 in FIG. 7 which is a feature of the display control method of the present invention.
[0237]
  From P30, the process proceeds to S60. In S60, the divided document ratio acquisition unit 2 obtains the layout size of the specified range from the specified range layout acquisition unit 6 and gives it to the all document ratio acquisition unit 3, and then proceeds to S61.
[0238]
  FIG. 18 is a diagram showing the designated center position, the layout size LD of the designated range, and the layout size SDL of a divided document including the designated range on the entire layout of FIG. The designated center position is the center of the row with “low di”. In addition, for easy understanding of which divided document data each line belongs to, arrows in the range of the divided document data 50 to 55 laid out on the left side are shown. As mentioned above, there are some parts that are divided in the middle of the line.
[0239]
  In S60, the divided document ratio acquisition unit 2 acquires the specified range layout size LD. Since the designated range obtained from the designated range acquisition means 5 is designated as 100 dots above and below the designated center position, the layout size LD of the designated range is 200 (dots).
[0240]
  In S61, the divided document ratio acquisition unit 2 obtains a divided document layout size including the specified range, and proceeds to S62.
[0241]
  More specifically, when the layout of the specified range is obtained in S11 of FIG. 7, the divided document layout including the specified range is obtained in the processing of S22 and S23 of FIG. The layout size of the document is obtained. Since the layout of each divided document is obtained in the format shown in FIG. 12, the layout position of the first layout display element of the first divided document including the specified range and the last divided document including the specified range can be easily obtained. What is necessary is just to obtain the layout position of the last layout display element, and to calculate the difference.
[0242]
  Here, the center position is the character “G” of “G is low” in the third divided document data 52, and the upper and lower 100 dots from the center of this line are the range of 100/16 = 6.25 lines. It is. The divided document data including the upper and lower 6.25 lines are the second to fourth divided document data 51 to 53. The layout size of each divided document data is obtained from the divided document layout acquisition means 8. Here, the divided document layout size SDL is (17 lines) = 16 × 17 = 272 (dots).
[0243]
  In S62, the divided document ratio acquisition unit 2 calculates a layout size ratio SLR (layout size ratio) as the ratio of the layout size of the specified range to the total layout size of the divided documents including the specified range, and the ratio in all documents. It gives to the acquisition means 3, and progresses to S63.
[0244]
  As illustrated in FIG.
    SLR = (specified range layout size LD) / (divided document layout size SDL)
It is.
[0245]
  Here, SLR = 200/272 = 0.74.
[0246]
  In S63, the all-document ratio acquisition unit 3 acquires the data size of the divided document from the divided data size acquisition unit 1, and the process proceeds to S64. This uses the value of FIG. 10 as it is.
[0247]
  In S64, the all-document ratio acquisition unit 3 calculates the all-document ratio as the ratio of the data size of the specified range to the data size of all documents, and the process goes to P40.
[0248]
  The method for obtaining the ratio in all documents is, for example, according to the following formula.
[0249]
    (Ratio in all documents) = (Ratio in divided documents SLR) × ((Specified range divided document data size SDD) / (Total document data size AD))
  FIG. 11 is a diagram for explaining this calculation principle. When the ratio (first data size ratio) of the divided document including the specified range to the whole document is obtained based on the data size base of the divided document, (SDD / AD) is obtained. On the other hand, the divided document ratio SLR (layout size ratio) is (LD / SDL) as determined in S62 on a layout size basis. Therefore, the ratio of all documents to be finally obtained (second data size ratio) is
    (Percentage in all documents) = (LD / SDL) × (SDD / AD)
It becomes.
[0250]
  If you ask for the above example,
    0.74 × ((77 + 117 + 161) / (126 + 77 + 117 + 161 + 56 + 67)) = 0.43
Accordingly, the size of the designated range (ratio within the entire document) obtained on the basis of the data size is 43%.
[0251]
  The process of S13 of FIG. 7 is performed by the above process.
[0252]
  When the scroll bar is displayed in S14, a scroll box having a size of 43% centering on the designated center position 50% may be displayed. That is, when the head position of the scroll box is expressed as a data size base ratio, 50− (43/2) = 28.5%.
[0253]
  As described above, the data size of the divided document obtained by dividing the document into a plurality of parts by the method described above, the ratio (first data size ratio) of the divided documents including the specified range in the entire document, and the specified range are included. From the ratio (layout size ratio) occupied by the specified range in the divided document, the ratio (second data size ratio) occupied by the specified range in the document can be obtained.
[0254]
  In addition, by displaying the layout of the specified range and displaying the scroll bar at the obtained position and ratio, it is possible to display the scroll bar corresponding to the specified range.
[0255]
  Furthermore, by designating the position of the designated range on the scroll bar, the display range can be controlled according to the user's scroll bar operation.
[0256]
  Generally, the scroll bar is displayed or controlled based on the ratio of the display range and layout size to the layout size of all documents. In order to obtain the ratio, the layout size related to the display range and the entire document is originally required. In order to obtain the layout size at high speed, a method such as calculating in advance can be considered, but in the case of variable layout, the layout size changes depending on the display size of the display means and the layout setting at the time of display. I can't keep it.
[0257]
  Although it is difficult to truly accurately determine the layout ratio of the display range without determining the layout size of the entire document, it can be “estimated” (the meaning of this term will be explained later) with a certain degree of accuracy. Therefore, in this embodiment, in order to obtain the display layout and data size of the specified range, only the minimum necessary divided document is laid out (S61 in FIG. 1), and the layout of other divided documents is not obtained. Then, the layout ratio is estimated from the layout size of the designated range and the data size of the divided document including the designated range.
[0258]
  In the layout, not all contents, that is, all divided document data are laid out, but only a part of divided documents including a specified range is laid out.
[0259]
  As a result, even for a document composed of a collection of variable layouts, it is possible to obtain the ratio of the designated range at a higher speed than when all the documents are laid out. In addition, since it is not necessary to hold all layouts in order to calculate the ratio, there is an effect that processing can be performed even in a small memory environment.
[0260]
  Further, the ratio of the designated range with respect to a part whose layout is known, that is, a part of the divided document including the designated range is obtained based on the layout size. The reason for this will be supplemented below.
[0261]
  First, it is also possible to obtain the ratio in the divided document using the data size of the specified range without using the layout size of the specified range. The data size of the designated range here is not a rough size in units of divided documents but a fine size in units of display elements. For example, if the “human” portion in the divided document data 51 in FIG. 6 is within the specified range, it corresponds to the third to sixth bytes in the divided document data 51, so the size is 4 bytes.
[0262]
  In addition, when actually obtaining the data size of the specified range, it is known which character is what number of bytes at the time of layout, so by subtracting the number of bytes between the first and last characters of the specified range, the data size of the specified range is reduced. Can be sought.
[0263]
  At this time, the ratio DR in all documents is
  (Ratio DR in all documents) = (Data size of specified range) / (All document data size)
Is required. That is, in the case of this calculation method, it is not necessary to determine the ratio in the divided document as described above.
[0264]
  Even with this method, it is possible to obtain the ratio of the specified range at high speed and memory saving. However, assuming that the layout size base ratio is “ideal”, the “error” is smaller when the portion that can use the layout size is used as much as possible. (The meaning of “ideal” and “error” will be explained later). Therefore, by using a part of the layout size-based calculation as in the present invention, an effect of reducing the “error” can be obtained rather than obtaining the ratio only by the data size.
[0265]
  Another disadvantage of the method of using the data size of the specified range is that the size of the data start position and the size of the layout position are different because the character data bypasses the image portion shown in FIG. There is also a problem that a portion that is not necessarily proportional may come out. When the ratio in the entire document is obtained based on the layout size, there is an advantage that there is no such ambiguity, the display range is the size of the designated range as it is, and the user's intuition is also followed.
[0266]
  Regarding the processing amount, even in the method using the data size of the specified range, the layout of the divided document including the specified range is obtained, and the data size of the specified range is obtained therefrom, so the processing amount of that part is the same. The difference is whether or not the ratio in the divided document is obtained, but since this is also a simple calculation, the difference is almost negligible compared to the layout creation process.
[0267]
  Explain the meaning of using words such as "estimate", "ideal", and "error" here.
[0268]
  For the sake of explanation, the case where the ratio is calculated using only the layout size is sometimes referred to as “layout size base”, and the case where the ratio is determined using the data size and the layout size is sometimes referred to as “data size base”.
[0269]
  The term “estimate” does not mean that the percentage of the data size base is incorrect. For example, in both the ratio of the data size base position and the ratio of the layout size base position, if the position of the specified range increases or decreases, the ratio of the position obtained in accordance therewith increases or decreases. Therefore, the basic function as a scroll bar is satisfied regardless of which method is used to obtain the ratio.
[0270]
  However, the ratio between the change in the position of the specified range and the change in the ratio in the layout size base ratio is a constant value. However, in the case of the data size base ratio, the ratio is not always constant. The ratio varies somewhat depending on the position.
[0271]
  In an easy-to-understand example of whether the ratio is constant or not, in the case of layout size-based ratio, if the user scrolls the display range at a constant speed, the scroll that shows the position of the display range in the document The position of the box gradually changes accordingly, and the moving speed of the scroll box at that time becomes constant. However, in the case of the ratio calculated using the data size and layout size, if the user scrolls the display range at a constant speed, the position of the scroll box indicating the display range gradually changes accordingly, but the scroll box moving speed Is not constant, and may be slightly faster or slower depending on the location.
[0272]
  Also, the size of the scroll box is a constant size in the case of the layout size base ratio, but in the case of the data size base ratio, the size slightly changes depending on the position of the scroll box. A slight change in the moving speed and size of the scroll box is not a big problem to use as a scroll bar, but you may feel a little uncomfortable.
[0273]
  In an application that displays a document or the like, the scroll bar is usually required only by using the layout size, and the user is used to that. Therefore, in order not to make the user feel uncomfortable, it is desirable that the layout size base ratio is “ideal” and the data size base ratio is as close as possible to the ideal value.
[0274]
  In the sense that a value as close as possible to the ideal value is to be obtained, obtaining the ratio on the basis of the data size is called “estimation”. The term “error” that appears later also refers to the difference between the layout size-based value and the data size-based value as “error”, “estimation error”, and the like based on the same concept.
[0275]
  By the way, when calculating “error”, in the example of FIG. 8, the size of the specified range is 200 dots, and the size of the dot unit of the entire layout is
(Height for 27 lines) = 16 × 27 = 432 dots, so the ratio of the ideal display range size in dot units when layouts are obtained for all divided documents is 200/432 = 0.46. Therefore, the designated range by the actual layout is 46%. In the estimation based on the data size base, the estimation error is 3% because the size is 43% as described above.
[0276]
  In addition, the position on the layout of the estimated center position (the position of 11.5 lines since the center of the 12th line) is
    (Height for 11.5 rows) / 432 = (16 * 11.5) /432=0.43
The position is 43%. On the basis of the layout size, since the center position of the designated range is 50%, the estimation error is 7%. This is represented by the display range 111 (data size base) and the display range 113 (layout size base) in FIG. 5, and the circles at the center of the display range indicate the designated positions. The display range 113 is an ideal designated position on the layout, and deviates from the designated position of the display range 111 obtained by estimation here.
[0277]
  In FIG. 10, the number of bytes is used as the data size of the divided document, but a method using other units is also conceivable. For example, a semantic unit.
[0278]
  For example, a method using the number of characters as a semantic unit will be described. The data may include information that is not necessarily directly related to the layout position and size, such as designation of character color and comments. By counting the number of characters actually laid out in advance, there is an effect that a value closer to the layout size than the number of bytes can be obtained.
[0279]
  There are various ways to count the number of characters, for example, how to handle a control character string that does not appear directly in the display of HTML tags, etc., or whether to use two half-width characters as two half-width characters. FIG. 19 shows a data size example in which the divided document data of FIG. 6 is counted by the number of characters. The data sizes 170 to 175 are obtained by ignoring all control characters such as HTML tags, and counting by the number of half-width characters with two full-width characters.
[0280]
  Compared with FIG. 10, it can be seen that the data size ratios 180 to 185 and the cumulative data size ratio 190 to 196 also change as the data sizes 170 to 175 change.
[0281]
  In FIG. 19, since the center position 0.5 of the specified range is at the boundary between the cumulative data size ratio 192 and the cumulative data size ratio 193, the display element serving as the display center is processed based on the data of FIG. And slightly back and forth.
[0282]
  Since the original data is the same as that shown in FIG. 10 except that the data shown in FIG. 19 is used, the detailed calculation process is omitted, but the center position of the designated range comes to the boundary between the cumulative data size ratio 192 and the cumulative data size ratio 193. Therefore, the first character “” (double-byte space) of the divided document data 53 is used. This is the first character on the 13th line from the top in FIG. 5, and the center position is the position on the 12.5th line.
[0283]
  Since the calculation of the position and size on the layout is the same as in the case of the byte unit described above, the detailed description is omitted and only the formula is shown, but the ratio of the center position is
    (Height for 12.5 rows) / 432 = (16 * 12.5) /432=0.46
Thus, 46% and the error is 4%. In the case of the byte unit in FIG. 10, the error was 7%, so the accuracy of the center position is slightly improved.
[0284]
  Since the designated range is 6.25 lines up and down from this center position, the range is from “(2)” on the seventh line from the top to “ability to do” on the 19th line. At this time, the divided document data including the specified range is divided document data 51 to 53, and is the same as the data in FIG. Therefore, the divided document layout size SDL is the same. The specified range layout size LD is 200 (dots). Therefore, the ratio in all documents is
    (Percentage in all documents) = (LD / SDL) × (SDD / AD)
                    = (200/272) × ((54 + 94 + 132) / (62 + 54 + 94 + 132 + 22 + 60))
                    = 0.49
Therefore, it becomes 49%. The error from the ratio 46% in all documents based on the layout size is 3%, which is the same as in FIG.
[0285]
  As the data size of the divided document, for example, a method of using the number of words or the number of lines in addition to the number of bytes and the number of characters can be considered. The number of words is easy to use as a semantic unit when the word division is clear, such as English. In the case of a line break, the line break code in the data description is not necessarily a line break in the layout, so it is generally better to use the number of line breaks in the layout. If the number of line breaks alone is different, the accuracy is not good if the length of one line varies, so it is better to combine it with the number of characters.
[0286]
  The error in FIG. 19 is greatly influenced by ignoring the processing relating to the image portion. In FIG. 10, the “<IMG>” tag representing the image is counted in terms of the number of bytes. However, since it does not directly represent the size of the image, it still lacks accuracy. In order to correct this, a method of using a value obtained by converting a display size of a display element such as a character or an image included in a sentence into a data size can be considered.
[0287]
  For example, if the character size changes in the middle, (number of characters) = (data size), that is, just counting the number of characters will reduce the accuracy of the data size, but depending on the change in character size, ) × (character size ratio) = (data size), etc., the accuracy can be improved. Similarly, the image can be improved in accuracy by converting the display size and area of the image into the data size.
[0288]
  For example, the image eye.designated by the IMG appearing in the divided document data 54 of FIG. Assume that the size of png is 70 dots × 35 dots. When a 14-dot × 14-dot full-width character (1 dot between characters, 2 dots between lines) is used as a unit, this image is
(Character width size) = (Character width) + (Between characters) = 14 + 1 = 15
(Data horizontal size) = ((image width) + (character size) -1)) / (character size))
                  = (70 + 14-1) /14=5.9
(Character vertical size) = (character height) + (line spacing) = 14 + 2 = 16
(Data vertical size) = ((image height) + (character vertical size) -1) / (character vertical size)
                  = (35 + 16-1) × 16 = 3.2
(Data size) = (data horizontal size) × (data vertical size) = 5 × 3
                = 15 characters (full-width) = 30 characters (half-width)
Convert to the data size of minutes. Here, since the vertical and horizontal characters are integers, (data horizontal size) and (data vertical size) are both rounded down to the nearest decimal point.
[0289]
  FIG. 20 is obtained by adding this converted value to FIG. Compared with FIG. 19, the conversion value 30 is added to the data size 174 in FIG. 19 and the data size 270 to 275 is redefined, so that the data size ratio 280 to 285 and the cumulative data size ratio 290 to 296 are also obtained. You can see that it has changed.
[0290]
  Since the original data is the same as the processing of FIG. 19 except that it becomes FIG. 20, the detailed description is omitted, but the center position of the designated range is the letter “B” of “60 dB” in the fourth divided document. . FIG. 21 is a diagram showing the designated range in this state. Since the center position of the specified range is the 14th line from the top, the center position is at the 13.5th line,
  (Height for 13.5 lines) / 432 = (16 * 13.5) /432=0.50
Thus, the center position is 50%, and the error is 0%. A result overlapping the ideal display range 113 of FIG. 5 was obtained.
[0291]
  Since the designated range is 6.25 lines up and down from this center position, the range is from “Human” on the 8th line to “Hold” on the 20th line, and the third and fourth divided document data 52, 53. In this case, the divided document layout size SDL is the layout size of the divided document data 52 and 53.
    SDL = (14 lines) = 16 × 14 = 224 (dots)
It is. Therefore, the ratio in all documents is
    (Percentage in all documents) = (LD / SDL) × (SDD / AD)
                    = (200/224) × ((94 + 132) / (62 + 54 + 94 + 132 + 52 + 60))
                    = 0.44
44%. The error from the layout size base ratio of 46% is 2%. Compared to the case of FIG. 10, the calculation accuracy of the center position is improved, and the accuracy of specifying the divided document including the designated range is improved. The calculation accuracy of the ratio in the document is also improved.
[0292]
  When considering the byte unit in FIG. 10, the character unit in FIG. 19, and the layout size element in FIG. 20, when compared comprehensively with the sum of the center position error and the size error, The byte unit in FIG. 10 is 7 + 3 = 10%, the character unit in FIG. 19 is 4 + 3 = 7%, and when the conversion method of FIG. 20 is used, the error is gradually reduced to 0 + 2 = 2%.
[0293]
  Of course, depending on the content of the document, the error may increase, but the value of the semantic unit may be used in the calculation of the data size as shown in FIG. 19, or a conversion value considering the layout size factor may be used. By adding, it can be said that the possibility of obtaining a value close to the layout base value is increased.
[0294]
  In this way, the value of the semantic unit is used as the data size, or the value obtained by converting the display size of the display elements such as characters and images contained in the document into the data size is used, thereby improving the estimation accuracy. It has the effect of increasing the possibility of increasing it.
[0295]
  By the way, in the method described so far, for example, as shown in FIG. 8, the position of the designated range (the center position of the scroll box 121) is made to coincide with the center of the display range.
[0296]
  FIG. 22 explains this situation in detail. For easy understanding, the range displayed in the entire layout is surrounded by a frame, and a scroll bar is added next to it. Only the layout inside the frame and the scroll bar are actually displayed.
[0297]
  The size (length) of the entire scroll bar is SA, the size of the scroll box is SD, the size from the start position of the scroll bar to a reference point SP (described later) is SM, and the upper side of the reference point SP in the scroll box. Is SPD and the lower size is SFD.
[0298]
  Similarly, the size of the entire layout is LA, the size of the layout in the specified range is LD, the size from the top to a reference point LP (described later) is LM, the size above the reference point LP is LPD, and the lower side is LPD. The size is LFD. The explanation symbols are written separately on the right scroll bar side and the left layout side, but symbols having similar meanings have the same character (column) at the end of the symbol name.
[0299]
  The “reference point” means where in the specified range (display range) on the scroll bar or layout the “position” of the specified range (where the reference is based). The layout reference point LP displays the layout by the size of the upper and lower LPD and LFD of that point. The scroll bar reference point SP displays the scroll box by the size of the upper and lower SPD and SFD of the point.
[0300]
  The scroll bar reference point SP and the layout reference point LP represent the same position proportionally in the entire document. Therefore, SM / SA = LM / LA. In FIG. 22, SP and LP happen to be aligned on a straight line, but depending on how to set the reference point and the position of the scroll bar, they may not be aligned on a straight line as shown in FIG. 29 described later.
[0301]
  The scroll bar reference point SP means the position (specified position) of the specified range, if it is easy to understand. In FIG. 22, the scroll box is located at the center of the scroll bar, and SM = SA / 2 and SPD = SFD.
[0302]
  On the other hand, the layout reference point LP is a position on the layout corresponding to the scroll bar reference point SP. In the example of FIG. 22, the position designation is indicated by a ratio (LM / LA). In FIG. 22, since the scroll bar reference point SP points to the middle, the layout reference point LP is also located at the center of the row of the center layout “human light receiving ability is 60”. At this time, LM = LA / 2 and LPD = LFD.
[0303]
  The scroll bar reference point SP is usually set at the center of the scroll box. That is, when the display range is designated by the scroll box, the layout is displayed so that the position on the layout corresponding to the center position of the scroll box becomes the center of the display. Conversely, when displaying a scroll bar of a certain display range, the scroll bar is displayed so that the position on the scroll bar corresponding to the center of the layout of the display range is the center of the scroll box.
[0304]
  In a scroll bar based on the layout, the size of the scroll box corresponds to the size of the display range, and the size of the scroll box does not change unless the size of the display range or the display magnification is changed.
[0305]
  However, since the size of the scroll box is estimated in the present invention, it changes depending on the movement of the scroll box, for example. Since the display range is specified by the layout size, if 200 dots, 200 dots are always displayed, and the display magnification does not change, but the size of the scroll box changes. With a normal scroll bar, the size of the scroll box does not change unless the display magnification is changed, so the user may feel a little uncomfortable.
[0306]
  However, if the center position is used as the position of the specified range, the expansion and contraction of the scroll box is distributed at both ends, so that there may be an effect that the feeling of strangeness is somewhat relieved.
[0307]
  However, if the position of the scroll box is specified near the position touching the first or last end of the scroll bar, taking the center position of the scroll box as a reference point may not work.
[0308]
  In FIG. 23, when the scroll box 121 is moved to the upper end of the scroll bar 120 and the display range is specified, the scroll box 121 is positioned at the upper end, the display is displayed without a gap from the first line, and is specified by the normal scroll bar. This is a non-problematic example displayed in the same way. However, depending on the contents and the state of the scroll box, it may not be displayed as shown in FIG. 23 and may be displayed differently from the user's intention.
[0309]
  For example, in FIG. 24, when the scroll box 121 is moved to the upper end and the display range is specified, the first line is not displayed but displayed in the middle even though the scroll box 121 is positioned at the upper end. This is an example. FIG. 24 is actually a state in the middle of processing.
[0310]
  If it demonstrates with the process along the flowchart figure of FIG. 7, moving the scroll box 121 to an upper end will correspond to S10, and the process which displays a designation | designated range will correspond to S12. As a result of displaying the designated range in S12, it is displayed from the middle of the document as shown in FIG. The process of displaying the scroll bar 120 in accordance with the display range in FIG. 24 corresponds to S14. FIG. 25 shows the result of displaying the scroll bar 120 in accordance with the display range of FIG. 24 in S14. When the scroll bar display is aligned with the display range, there should be a little space above the scroll box 121 as shown in FIG. The user finally sees the state of FIG.
[0311]
  FIG. 26 is an example in which when the scroll box 121 is similarly moved to the upper end and a display range is designated, a blank is displayed before the first line. As in FIG. 24, the process of the flowchart in FIG. 7 is performed in a single way. However, unlike FIG. 24, FIG. 26 is almost in the state that the user finally sees. May be smaller).
[0312]
  If the scroll bar display is forcibly adjusted to the display range, such a display is not actually possible. However, as shown in FIG. 27, the scroll box 121 penetrates the scroll bar 120 upward, and this originally has no layout. It shows that even the place has been displayed. (For convenience of explanation, the same content is used, but when the scroll box is moved to the upper end and the display range is specified, FIG. 24 and FIG. 26 do not occur at the same time, depending on the content and the state of the scroll bar. It is just an example in the sense that both can happen).
[0313]
  Such a problem occurs because the size of the scroll box changes depending on the position (the reason why the size changes is explained when the meaning of the word “guess” is described). The size of the scroll box changes when, for example, the size of the scroll box 121 is displayed from the top position of the content as shown in FIG. 23 and when the scroll box is displayed from the middle position of the content as shown in FIG. That is, the size of the scroll box 121 is not necessarily the same. When a new display range is specified using a layout size-based scroll box, the scroll box is usually moved by using a mouse or the like. At that time, the size of the scroll box does not usually change. However, there is a problem if the data size based scroll box is used to specify the display range in the same way.
[0314]
  For example, assume that the scroll box 121 having the size shown in FIG. 8 is moved to the upper end position of the scroll bar 120 with a mouse or the like. The size of the scroll box 121 remains as shown in FIG. The user's intention is to display as shown in FIG. 23, but in some cases, the display may be as shown in FIG. 25 or FIG. The direct cause is that the display range specified by the scroll box 121 at this time cannot be specified as the range from the top of the content.
[0315]
  The reason why the range from the beginning of the content cannot be specified is that the designation of the center position of the scroll box 121 at this time is the position of the scroll box 121 when the display range is from the beginning of the content. This is because it is deviated from the center position. Since the designated range is specified by how many dots above and below the center position of the scroll box, if the center position of the scroll box is the same, it should be the same designated range. However, as described above, since the size of the scroll box 121 in FIG. 23 and the size of the scroll box 121 in FIG. 8 are not necessarily the same, the center position of the scroll box when the scroll box is moved to the upper end. Will no longer be the same. This is the reason why the display is as shown in FIGS.
[0316]
  Since the size of the scroll box 121 in FIG. 23 cannot be obtained unless layout is performed, it is difficult to obtain in advance. In addition, during the operation of the scroll box 121, since the size of the scroll box 121 does not normally change, even if it can be known in advance, it is difficult to reflect it in the operation of the scroll bar 120. Even if it can be reflected, in order to change the size of the scroll box 121 only when the user wants to move to the end, it is necessary to know the intention of the user, but this is more difficult.
[0317]
  In order to prevent these problems, when the user designates a position that touches the end as the designated range, the scroll bar reference point SP may be taken without taking the center position of the scroll box. Similarly, the layout reference point LP also takes the end of the display range.
[0318]
  In other words, the size of the designated range has been set to 200 dots including the upper and lower portions of LPD = LFD = 100 dots in the previous examples. For example, when the upper end is designated, LPD = 0 dots on the upper side and LFD = 200 dots on the lower side. In total, 200 dots may be used. The opposite is true for the lower end.
[0319]
  FIG. 28 shows a state in which the scroll bar reference point SP is taken at the upper end of the scroll box and the layout reference point LP is taken at the upper end of the display range. In FIG. 29, the reference points SP and LP are not located at the ends, but are located at the ends in FIG.
[0320]
  Specifically, these processes may be performed by determining whether or not the scroll box is positioned at the upper end or the lower end of the scroll bar when obtaining the designated range in S10 of FIG.
[0321]
  In this way, if the scroll box is specified as a range that includes the beginning or end of the scroll bar, display control is performed so that the document is displayed from the beginning to the end of the document. There is an effect that can be performed.
[0322]
  However, if it is limited to cases that include edges, there may be a large shift in the displayed range when the edges are included and when the edges are not included slightly, and the continuity of scroll bar operation is lost. It may be broken.
[0323]
  This is because the reference point is suddenly changed only when the scroll bar reaches the end, so the reference point is smoothed or stepped according to the position of the scroll box or the range where the scroll box is located. By changing to, discontinuity can be suppressed.
[0324]
  There are various ways to change the reference point, but the simplest method is to use the center of the scroll box when the scroll box is at the center, the end of the scroll box when it is at the end, and linear between them. There is a way to change. Similarly, the layout reference point is changed accordingly.
[0325]
  Specifically, FIG. 22 shows when the scroll bar is at the center, FIG. 28 shows when the scroll bar reaches the end, and FIG. 30 shows an intermediate state. Hereinafter, for general description, description will be made with reference to FIG.
[0326]
  In FIG. 30, when designated by the scroll bar, the size SM from the start position of the scroll bar to the reference point SP is determined by where the reference point is taken in the scroll box. Let ST be the size of the empty space above the scroll box in the scroll bar. ST is when the scroll box is in the center
    SM / SA = 0.5, ST = (SA-SD) / 2
And if the scroll box is at the top,
    SM / SA = 0.0, ST = 0.0
So,
    SM = 0.5 × ST / ((SA-SD) / 2)
Then, SM can be obtained linearly. That is, instead of directly obtaining the SM from the position of the scroll box, the SM is obtained by paying attention to the size of the remaining part other than the scroll box. If SM is found,
    From LM / LA = SM / SA,
    LM = LA × (SM / SA)
LM can be obtained.
[0327]
  Next, although LPD and LFD, since LPD / LD = LM / LA,
    LPD = LD × (LM / LA)
The LPD can be obtained with LFD is also obtained by LFD = LD-LPD. Thereby, the layout range to be displayed is obtained.
[0328]
  When the layout range is obtained, scroll bar drawing is performed, but since SM is obtained, SPD, SFD, and SD may be obtained. SD can be obtained because the ratio of the scroll box can be obtained if SM, LPD, and LFD are determined by the method of the present invention described above. For SPD and SFD, SPD / SD = LPD / LD may be used.
    SPD = SD × (LPD / LD)
The SPD is obtained with SFD is also obtained from SFD = SD-SPD. As a result, information, SM, SPD, SFD sufficient to display the scroll bar can be obtained.
[0329]
  It should be noted that when the scroll bar is redisplayed with these calculation results, SD and ST may slightly change from those when the operation is performed with the scroll bar, but there is little discomfort because it is not a significant change.
[0330]
  Through the above processing, the layout range corresponding to the designation by the scroll bar is displayed and the scroll bar corresponding to the layout range is displayed while preventing the display and the scroll bar from changing continuously at the end of the scroll bar. Will be able to.
[0331]
  In addition, by changing the reference position in accordance with the ratio representing the position of the scroll box, the display range can be changed continuously, so that the designation by the scroll bar can be performed continuously. Come out.
[0332]
  In addition, the size of the scroll box when operating the scroll bar is different from the size of the scroll box after redrawing after the operation, so it is precisely what point the user was aware of as a reference point in the scroll box. Although it is difficult to know, using the remaining size other than the scroll box of the scroll bar has the effect of being able to estimate the range that the user wants to display, that is, the reference point, regardless of the size of the scroll box. .
[0333]
  By the way, when displayed by this method, the height direction of the reference point should almost coincide as shown in FIG.
[0334]
  Further, as a method for improving the calculation accuracy of the ratio in all documents, for a divided document whose layout size is already known, a method in which the ratio in the divided document is calculated using the layout size can be considered.
[0335]
  For example, in the example of FIG. 21, two divided document data 52 and 53 are specified as a divided document including a specified range, and as a result, 200/224 = 0.89 is obtained as the ratio (LD / SDL) in the divided document. As a result, 44% was calculated as the ratio of all documents.
[0336]
  Here, the layout size of the second divided document data 51 is
  (3-line layout) = 16 × 3 = 48 dots
As you know. At this time, as shown in FIG. 21, the second divided document data 51 is not included in the designated range, but when the ratio of the designated range in the divided document is obtained using the layout size,
  200 / (224 + 48) = 0.74
It becomes. FIG. 31 is a diagram explaining this. The divided document layout size SDL is the layout size of the second, third, and fourth divided document data 51 to 53.
[0337]
  Using the above new split document ratio, the total document ratio is calculated.
  0.74 × ((54 + 94 + 132) / (62 + 54 + 94 + 132 + 52 + 60)) = 0.46
Therefore, the size is 46%.
[0338]
  At this time, the position error is 0%, the size error is 0%, the sum is of course 0%, the error is the smallest, and approaches the ideal value as much as possible.
[0339]
  As described above, the use of the ratio based on the layout size in the divided document including the specified range has an effect of increasing the possibility of performing more accurate estimation, and is not included in the specified range. However, by using the layout size of the divided document that has already been obtained, there is an effect of increasing the possibility that the accuracy can be further increased.
[0340]
  In the last method, as the document is read, the number of divided documents that have obtained the layout increases. Therefore, by keeping the layout size of the divided document that has obtained the layout, even if the layout is discarded Even so, processing based on the layout size can be performed. Ideally, we want to find the layout of all the divided documents and want to find the ratio of the specified range only by the layout size, so the larger the ratio of the number of divided documents that use the layout size, the smaller the error should be. is there. Therefore, as the reading progresses, the accuracy is improved.
[0341]
  Here, the description has been made mainly based on the scroll bar, but the same applies to not only the scroll bar but also other display operation methods. For example, the designated range or jump destination is designated by a numerical value such as a percentage. The same applies to a case where a range such as a rectangle is designated on a reduced display of a document using a pointing device such as a mouse. Alternatively, the display magnification may be changed while the current display center is maintained.
[0342]
  In Japanese Patent Laid-Open No. 5-282255, when there are a plurality of items consisting of a plurality of pages, the division of each item is displayed on a scroll bar, and the display is performed in units of pages, and the displayed page range is displayed. It is displayed as a scroll box.
[0343]
  At first glance, each item and each page seems to correspond to the divided document of the present invention, but it is a completely different invention.
[0344]
  In the first place, the problems of the invention are different. The problem with this publication is that “the location desired by the user can be displayed easily and reliably, and when the notebook information has a plurality of items, the amount of each item can be grasped”. An object of the present invention is to process scroll bar display and control as fast and as accurately as possible in a variable layout document, and to perform processing without waste even in a small memory environment.
[0345]
  Since the problems are different, the means for solving the problems are also different. In this publication, information on the number of pages of each item is used to display and control the scroll bar so that the user can easily understand. In other words, there is a point of the invention in the way of displaying the information on the number of pages, and there is no point of the invention in the method for obtaining the information on the number of pages.
[0346]
  Therefore, a method for calculating the information on the number of pages with a variable layout at a high speed with a small amount of memory is not described in the claims, and is not described in the embodiments. It is described as being prepared in advance.
[0347]
  The present invention uses a step / means (ratio acquisition step) for obtaining the position and size of a scroll box from a divided document or a “data size” of a specified range, so that a scroll bar can be formed with a small amount of memory at high speed even in a variable layout. It shows that it can be displayed / controlled. In other words, the point of the invention is that the calculation for performing the display / control of the scroll bar with the variable layout is performed at high speed and in the memory saving, and the point of the invention is in the display method after the calculation is obtained. Not.
[0348]
  Therefore, as a method for displaying / controlling the scroll bar with a small memory at high speed even in a variable layout, a method using a divided document or a data size of a specified range is described in the claims.
[0349]
  Thus, both are different inventions having different problems and using different means.
[0350]
  In Japanese Patent Application Laid-Open No. 8-314906, a page break width corresponding to the document amount is calculated, and a scroll bar to which a page number is assigned is displayed / controlled. The page break width is calculated from the layout size.
[0351]
  At first glance, this seems to be equivalent to the scroll box size obtained from the data size of the divided document according to the present invention, but this is a completely different invention.
[0352]
  In the first place, the problems of the invention are different. The problem of this publication is that “the pages with different document volumes are displayed on the scroll bar with equal width, so that the approximate document volume of each page cannot be grasped”. As described above, an object of the present invention is to process scroll bar display and control at high speed and as accurately as possible in a variable layout document, and to perform processing without waste even in a small memory environment.
[0353]
  Since the problem is different, the means for solving the problem is also different. In this publication, the document amount of each page is used to display and control the scroll bar so that the user can know the document amount of each page. That is, there is an invention point in how to display the document amount of each page, and there is no invention point in the way of acquiring the document amount of each page.
[0354]
  Although it is stated in the claims that the document size of each page uses the layout size, there is no description of a method for obtaining the layout size with high speed and memory saving. It is only described that all layout sizes are obtained.
[0355]
  In the present invention, as described above, as a method for displaying / controlling a scroll bar with a small amount of memory at high speed even in a variable layout, a method using a divided document or a data size of a specified range is described in the claims. ing.
[0356]
  Thus, both are different inventions having different problems and using different means.
[0357]
  An object of the present invention is to supply a storage medium (such as the main storage 25 or the external storage 26) on which a program code of software for realizing the functions of the above-described embodiments is recorded to the system or apparatus, and to Needless to say, this can also be achieved by a computer (or CPU or MPU) reading and executing the program code stored in the storage medium.
[0358]
  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.
[0359]
  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.
[0360]
  The program code may be downloaded from another computer system to the main memory 25 or the external memory 26 via a transmission medium such as a communication network.
[0361]
  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.
[0362]
  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.
[0363]
  When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
[0364]
  The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims.
[0365]
  The display control method according to the present invention specifies a divided data size acquisition step for obtaining each data size of a divided document obtained by dividing the document into a plurality of parts, and specifies a divided document including a designated range specified for the document. And a divided document layout acquisition step for obtaining a display layout of the specified divided document, at least a ratio in the divided document for obtaining a layout size ratio occupied by the specified range with respect to the display layout of the specified divided document, A first data size ratio of the divided document used for calculating the layout size ratio is obtained with respect to the sum of the data sizes of the respective divided documents obtained from the divided data size obtaining step, and obtained from the divided document ratio acquisition step. From the layout size ratio of the specified range and the first data size ratio, the specified range is included in the document. And all documents in the ratio obtaining step of obtaining the second data size ratio occupied, may have.
[0366]
  As a result, the layout is obtained only for some divided documents, and the data size is used for the other parts. Therefore, the amount of processing required for the layout and the required memory are minimal compared to the case of obtaining the layout of the entire document. In addition, there is an effect that the ratio of the specified range can be obtained at high speed even for a document composed of a collection of variable layouts.
[0367]
  In addition, the display control method according to the present invention relates to a divided document from which a layout size can be acquired, even if the divided document does not include a specified range, in addition to the layout size of the specified divided document, The layout size ratio may be obtained.
[0368]
  As a result, by using the layout size of the already obtained divided document that is not included in the specified range, the ratio of using the layout size in the entire document becomes higher, so it is more accurate than the previous method. There is an effect that the possibility that it can be increased is increased.
[0369]
  In addition, as the number of divided documents that have obtained a layout increases as the document is read, it is necessary to keep at least the layout size of the divided documents that have obtained the layout. This has the effect of approaching a typical processing result.
[0370]
  Further, the display control method according to the present invention uses the specified range as the display range, displays a scroll bar corresponding to the second data size ratio obtained from the all-in-document-ratio acquisition step, and displays the user's scroll bar. You may have the scroll bar display control step which controls the display content of a display range according to operation.
[0371]
  As a result, even with a variable layout display system, the display and control using the scroll bar can be performed at high speed.
[0372]
  The display control method according to the present invention may use an encoded data size such as the number of bytes or the number of bits as the data size of the divided document.
[0373]
  As a result, since bytes and bits are units of data size handled on the main memory or external memory, when handling document data on a computer, the encoded data size is the easiest to obtain as an index indicating the data size, Moreover, the effect that it is easy to handle comes out. As a result, it is possible to obtain an effect of simplifying the processing such as obtaining the ratio.
[0374]
  The display control method according to the present invention may use a number based on the semantic unit of the divided document as the data size of the divided document.
[0375]
  As a result, by using the number based on the semantic unit as the data size, there is an effect that the influence of the data that is not so much related to the layout size can be reduced.
[0376]
  In addition, since the number based on these semantic units does not change depending on the layout processing, it can be counted in advance, and the above-described effect of enabling processing with minimal layout processing is achieved. It can be obtained without change.
[0377]
  The display control method according to the present invention may use the number of characters or the number of words as the number based on the semantic unit.
[0378]
  As a result, the smaller the semantic unit, the higher the accuracy of the data size. Therefore, by using the number of characters or the number of words as the number based on the semantic unit, it is possible to increase the display ratio calculation accuracy. The effect of enabling processing with minimal layout processing is the same.
[0379]
  Further, in the display control method according to the present invention, when obtaining the data size of the divided document, if a display element whose actual display size does not correlate with the data size is included in the document, the display size of the display element is set. You may use the value converted into the data size.
[0380]
  As a result, there is an effect that the possibility that the estimation accuracy is increased rather than the estimation based only on the data size is increased.
[0381]
  In the display control method according to the present invention, in the scroll bar display control step, the center position of the scroll box displayed in the scroll bar for designating the display range indicates the display ratio of the center position of the display range. You may do it.
[0382]
  As a result, since the ratio of the specified range is obtained speculatively in the present invention, the length of the scroll box may change depending on the position of the specified range. The error can be distributed to both ends of the scroll box.
[0383]
  In addition, when the user operates the scroll bar, the user can easily visually grasp the display ratio and the position of the display portion.
[0384]
  Further, in the display control method according to the present invention, in the scroll bar display control step, the scroll box displayed in the scroll bar for designating the display range designates a range including the start end or the end of the scroll bar. If it is, the document may be displayed from the beginning to the end.
[0385]
  As a result, it is possible to avoid the inconvenience caused by the estimation error and to perform processing according to the user's intention.
[0386]
  Further, in the display control method according to the present invention, in the scroll bar display control step, the display range is included in the document according to the position in the scroll bar of the scroll box displayed in the scroll bar for designating the display range. In addition to changing the reference position on the scroll box serving as a reference representing the position and ratio occupied by the reference position, the reference position on the display range associated with the reference position may be changed.
[0387]
  As a result, an effect of preventing the display from being largely shifted due to a slight difference in the position of the scroll box near the end of the scroll bar can be obtained.
[0388]
  Further, the display control apparatus according to the present invention specifies a divided data size acquisition unit that obtains each data size of a divided document obtained by dividing the document into a plurality of parts, and specifies a divided document including a specified range specified for the document. In addition, a divided document layout acquisition unit that obtains a display layout of the specified divided document, and at least a divided document ratio acquisition unit that obtains a layout size ratio occupied by the specified range with respect to the display layout of the specified divided document, A first data size ratio of the divided document used for the calculation of the layout size ratio is obtained with respect to the sum of the data sizes of the divided documents obtained from the divided data size acquisition unit, and the divided document ratio acquisition unit From the obtained layout size ratio of the designated range and the first data size ratio, the second data occupied by the designated range in the document And all documents in the rate acquisition means for obtaining the noise ratio, may have.
[0389]
  The effect of this is similar to the method described above.
[0390]
  The display control program according to the present invention may cause a computer to execute each step included in the display control method.
[0390]
  The display control program according to the present invention may cause a computer to function as each means included in the display control device.
[0392]
  Thereby, it is possible to cause a general-purpose computer to execute the display control method of the present invention and to obtain the above-described operations and effects.
[0393]
  The recording medium according to the present invention may record the display control program.
[0394]
  Thus, by installing the display control program from the recording medium to a general-purpose computer, the display control method of the present invention can be executed, and the above-described operations and effects can be obtained.
[0395]
The display control method according to the present invention includes a divided data size acquisition step for obtaining each data size of a divided document obtained by dividing a document into a plurality of parts in a place where the display element and layout are good, and a display range is designated. In accordance with the position in the scroll bar of the scroll box displayed in the scroll bar, the designated position data position corresponding to the reference position on the scroll box serving as a reference representing the position occupied by the display range in the document is set. A divided document including a specified range specified for the document so as to include a divided document layout obtaining step for obtaining a display layout of the specified divided document, and a display layout of the specified divided document A step of obtaining a ratio in a divided document to obtain a layout size ratio occupied by the specified range; A first data size ratio of the divided document used for calculating a layout size ratio occupied by the specified range with respect to the display layout is obtained with respect to a sum of data sizes of the divided documents obtained from the step, and the divided document is obtained. Obtained from the internal ratio acquisition step, An all-document ratio acquisition step for obtaining a second data size ratio occupied by the specified range in the document from a layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio; The designated range is set as the display range, a scroll bar corresponding to the second data size ratio obtained from the all-in-document-ratio acquisition step is displayed, and the display range of the display range is determined according to a user's scroll bar operation. A scroll bar display control step for controlling display contents, wherein the scroll box displayed in the scroll bar for designating the display range includes a start end or an end of the scroll bar. When the range is specified, the document may be displayed from the beginning to the end.
[0396]
The display control method according to the present invention may use an encoded data size such as the number of bytes or the number of bits as the data size of the divided document.
[0397]
The display control method according to the present invention may use a number based on the semantic unit of the divided document as the data size of the divided document.
[0398]
The display control method according to the present invention may use the number of characters or the number of words as the number based on the semantic unit.
[0399]
Further, in the display control method according to the present invention, when obtaining the data size of the divided document, if a display element whose actual display size does not correlate with the data size is included in the document, the display size of the display element is set. You may use the value converted into the data size.
[0400]
In the display control method according to the present invention, in the scroll bar display control step, the center position of the scroll box displayed in the scroll bar for designating the display range is a display ratio of the center position of the display range. You may make it show.
[0401]
In the display control method according to the present invention, in the scroll bar display control step, the reference position on the scroll box is changed, and the designated position data position corresponding to the reference position on the scroll box is also changed. You may do it.
[0402]
The display control apparatus according to the present invention also includes a divided data size acquisition unit that obtains each data size of a divided document obtained by dividing a document into a plurality of parts in a place where display documents and layout are well-defined, and designates a display range. In accordance with the position in the scroll bar of the scroll box displayed in the scroll bar, the designated position data position corresponding to the reference position on the scroll box serving as a reference representing the position occupied by the display range in the document is set. A divided document including a specified range specified for the document so as to include a divided document layout acquisition means for obtaining a display layout of the specified divided document, and a display layout of the specified divided document. Obtained from the divided document ratio acquisition means for obtaining the layout size ratio occupied by the specified range, and the divided data size acquisition means A first data size ratio of the divided document used for calculating a layout size ratio occupied by the specified range with respect to the display layout is obtained for the sum of the data sizes of the divided documents, and the divided document ratio acquisition unit The ratio within the entire document for obtaining the second data size ratio occupied by the specified range in the document from the layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio obtained from An acquisition unit; and a scroll bar corresponding to the second data size ratio obtained from the all-in-document-ratio acquisition unit is displayed with the specified range as the display range, and according to a user's scroll bar operation Scroll bar display control means for controlling the display contents of the display range, the scroll bar display control means for designating the display range. Scroll box to be displayed on the scroll bar is, if you use a range including the start or end of the scroll bar, the first document, or to the end may be configured to display.
[0403]
The display control program according to the present invention may be a program for causing a computer to function as each means included in the display control device.
[0404]
【The invention's effect】
  In the display control method according to the present invention, as described above, a divided data size acquisition step for obtaining each data size of a divided document obtained by dividing a document into a plurality of parts at a position where the display element or layout is well-defined, and a display A specified position corresponding to a reference position on a scroll box that is a reference indicating a position that the display range occupies in the document according to a position in the scroll bar of the scroll box displayed in the scroll bar for specifying the range. A divided document layout acquisition step for identifying a divided document including a specified range specified for the document so as to include a data position, and obtaining a display layout of a plurality of divided documents including the specified divided document; Divided documentsMultiple split documents containingThe ratio of in-divided documents to obtain a layout size ratio occupied by the specified range with respect to the display layout of the divided document, and the sum of the data sizes of the respective divided documents obtained from the divided data size acquisition step with respect to the display layout Used to calculate the layout size ratio occupied by the specified range.pluralA first data size ratio of the divided document is obtained, and the layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio obtained from the divided document ratio acquisition step are determined from the document. And a second data size ratio obtained from the all-document ratio acquisition step, wherein the specified range is the display range, and the second data size ratio is calculated. And a scroll bar display control step for controlling the display contents of the display range in accordance with the user's scroll bar operation.In the divided document ratio acquisition step, regarding a divided document that can acquire a layout size among a plurality of divided documents including the specified divided document, even if the divided document does not include a specified range, the layout In addition to the layout size of the specified divided document, the layout size ratio occupied by the specified range with respect to the display layout is obtained,In the scroll bar display control step, when the scroll box displayed in the scroll bar for designating the display range designates a range including the start or end of the scroll bar, from the beginning of the document, Or display until the end.
[0405]
  ThisThis makes it possible to process scroll bar display and display control using the scroll bar as quickly and as accurately as possible in a variable layout document in which the character size, page size, and other settings can be freely changed. In this case, it is possible to perform processing without waste.
[0406]
  Also, if the scroll box specifies a range that includes the start or end of the scroll bar, it is interpreted as a specified range that includes the beginning or end of the document and is displayed. As a result, it is possible to avoid problems caused by estimation errors and to perform processing in accordance with the user's intention.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a schematic procedure for obtaining a ratio in a document of a specified range in a document in a scroll bar display control method of the present invention.
FIG. 2 is a block diagram showing a functional configuration of a scroll bar display control apparatus of the present invention mainly using a data size and a layout size.
FIG. 3 is a block diagram illustrating a configuration example in an embodiment of the scroll bar display control device.
FIG. 4 is a schematic perspective view showing an example of the appearance of the scroll bar display control device.
FIG. 5 is an explanatory diagram showing a difference in interpretation of a specified range depending on a method of whether data size is used as a base or layout size as a base.
6 is an explanatory diagram showing divided document data constituting the document layout of FIG. 5. FIG.
FIG. 7 is a flowchart showing an overall procedure of scroll bar display and control processing of the scroll bar display control method of the present invention.
8 is an explanatory diagram showing an example in which display elements of a display range 111 in the entire document of FIG. 5 are displayed together with a scroll bar.
FIG. 9 is a flowchart showing a procedure of designated range layout acquisition processing of FIG. 7;
FIG. 10 is an explanatory diagram illustrating an example of the data size of each divided document.
FIG. 11 is an explanatory diagram showing an example of the principle of calculating the ratio in all documents.
FIG. 12 is an explanatory diagram illustrating a data structure example of layout display element data;
13 is a flowchart showing a procedure of a divided document layout acquisition process around FIG. 9. FIG.
FIG. 14 is an explanatory diagram showing an example of a data structure used when determining a lack of layout.
FIG. 15 is a flowchart showing a procedure of upper layout acquisition processing of FIG. 13;
16 is a flowchart showing a procedure of processing for obtaining a display element laid out in the designated range in FIG. 9. FIG.
17 is a flowchart showing a processing procedure for acquiring an upper limit layout display element in FIG. 16; FIG.
18 is an explanatory diagram showing a relationship between a designated range and a layout in the data size of FIG.
FIG. 19 is an explanatory diagram illustrating an example in which the data size of a divided document is obtained by the number of characters.
FIG. 20 is an explanatory diagram illustrating an example in which the data size of a divided document is obtained from the number of characters and a value obtained by converting an image into the number of characters.
FIG. 21 is an explanatory diagram showing a relationship between a designated range and a layout in the data size of FIG.
FIG. 22 is an explanatory diagram showing the relationship between the entire layout, display range, and scroll bar state when displaying the center of a document.
FIG. 23 is an explanatory diagram showing an example displayed without a problem when the first part of a document is designated by a scroll box.
FIG. 24 is an explanatory diagram showing an example in which an upper part is displayed missing when a first part of a document is designated by a scroll box.
25 is an explanatory diagram showing a display layout and an original display state of a scroll bar in the case of FIG. 24. FIG.
FIG. 26 is an explanatory diagram showing an example in which an upper part is displayed empty when a first part of a document is designated by a scroll box.
FIG. 27 is an explanatory diagram virtually showing the display layout and the original display state of the scroll bar in the case of FIG. 26;
FIG. 28 is an explanatory diagram showing the relationship between the overall layout, the reference point, the display range, and the state of the scroll bar when the reference point is set at each upper end of the scroll bar and the display range in the case of FIG.
29 is an explanatory diagram showing the relationship between the entire layout, the display range, and the state of the scroll bar when the reference point is set at the center of each of the scroll bar and the display range in the case of FIG. 23;
FIG. 30 is an explanatory diagram showing the relationship between the whole layout, the reference point, the display range, and the scroll bar state when the reference point is changed according to the position of the scroll box.
FIG. 31 is an explanatory diagram showing a ratio in a divided document when the layout size of the divided document outside the specified range is known.
[Explanation of symbols]
      1 Divided data size acquisition means
      2 Means for obtaining the ratio in a divided document
      3 Percentage acquisition method in all documents
      8 Split document layout acquisition means
    25 Main memory (recording medium)
    26 External storage (recording medium)
    50 divided document data
    51 Split document data
    52 Divided document data
    53 Split document data
    54 Divided document data
    55 Split document data
  110 Overall layout
  111 display range
  113 display range
  120 Scroll bar
  121 Scroll box
    SP reference point (reference position on scroll box)

Claims (3)

文書を、表示要素やレイアウト的にきりの良い所で複数の部分に分割した分割文書の各データサイズを得る分割データサイズ取得ステップと、
表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスのスクロールバー内の位置に応じて、前記表示範囲が文書中に占める位置を表す基準となるスクロールボックス上の基準位置に対応する指定位置データ位置を含むように、上記文書に対して指定された指定範囲を含む分割文書を特定すると共に、特定した分割文書を含む複数の分割文書の表示レイアウトを得る分割文書レイアウト取得ステップと、
前記特定した分割文書を含む複数の分割文書の表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求める分割文書内割合取得ステップと、
前記分割データサイズ取得ステップから得た各分割文書のデータサイズの和に対して、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比の算出に用いた複数の分割文書の第1のデータサイズ比を求め、前記分割文書内割合取得ステップから得た、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比と、前記第1のデータサイズ比とから、文書中に前記指定範囲が占める第2のデータサイズ比を求める全文書内割合取得ステップと、
前記指定範囲を前記表示範囲とし、前記全文書内割合取得ステップから得られた第2のデータサイズ比に応じたスクロールバーを表示し、また、ユーザーのスクロールバー操作に応じて前記表示範囲の表示内容を制御するスクロールバー表示制御ステップとを有しており、
前記分割文書内割合取得ステップにおいて、前記特定した分割文書を含む複数の分割文書のうちレイアウトサイズを取得できる分割文書に関しては、指定範囲を含まない分割文書であっても、そのレイアウトサイズを前記特定した分割文書のレイアウトサイズに加えて、前記表示レイアウトに対して前記指定範囲が占めるレイアウトサイズ比を求めると共に、
前記スクロールバー表示制御ステップにおいて、前記表示範囲を指定するためにスクロールバー内に表示されるスクロールボックスが、スクロールバーの始端もしくは終端を含む範囲を指定している場合には、文書の最初から、もしくは最後まで表示することを特徴とする表示制御方法。
A divided data size acquisition step for obtaining each data size of a divided document obtained by dividing the document into a plurality of parts at a place where display documents and layout are well-defined,
A designation corresponding to a reference position on the scroll box, which is a reference representing the position of the display range in the document, according to the position in the scroll bar of the scroll box displayed in the scroll bar for specifying the display range. A divided document layout acquisition step for specifying a divided document including a specified range specified for the document so as to include a position data position, and obtaining a display layout of a plurality of divided documents including the specified divided document;
A ratio in a divided document for obtaining a layout size ratio occupied by the specified range with respect to a display layout of a plurality of divided documents including the specified divided document;
First data sizes of a plurality of divided documents used for calculating a layout size ratio occupied by the specified range with respect to the display layout with respect to a sum of data sizes of the divided documents obtained from the divided data size acquisition step. A ratio is obtained, and the specified range occupies the specified range in the document from the layout size ratio occupied by the specified range with respect to the display layout and the first data size ratio obtained from the divided document ratio acquisition step. A step of obtaining a ratio in all documents to obtain a data size ratio of 2;
The specified range is set as the display range, a scroll bar corresponding to the second data size ratio obtained from the all-in-document-ratio acquisition step is displayed, and the display range is displayed according to the user's scroll bar operation. and have a and a scroll bar display control step of controlling the content,
In the divided document ratio acquisition step, for a divided document that can acquire a layout size among a plurality of divided documents including the specified divided document, the layout size is determined even if the divided document does not include a specified range. In addition to the layout size of the divided document, the layout size ratio occupied by the specified range with respect to the display layout is obtained,
In the scroll bar display control step, when the scroll box displayed in the scroll bar for designating the display range designates a range including the start or end of the scroll bar, from the beginning of the document, Or the display control method characterized by displaying to the last.
請求項1に記載の表示制御方法が備える各ステップをコンピュータに実行させる為の表示制御プログラム。A display control program for causing a computer to execute each step included in the display control method according to claim 1. 請求項2に記載の表示制御プログラムを記録した記録媒体。A recording medium on which the display control program according to claim 2 is recorded.
JP2002139336A 2002-05-14 2002-05-14 Display control method, display control program, and recording medium Expired - Lifetime JP4090785B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002139336A JP4090785B2 (en) 2002-05-14 2002-05-14 Display control method, display control program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002139336A JP4090785B2 (en) 2002-05-14 2002-05-14 Display control method, display control program, and recording medium

Publications (3)

Publication Number Publication Date
JP2003330700A JP2003330700A (en) 2003-11-21
JP2003330700A5 JP2003330700A5 (en) 2005-09-29
JP4090785B2 true JP4090785B2 (en) 2008-05-28

Family

ID=29700496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002139336A Expired - Lifetime JP4090785B2 (en) 2002-05-14 2002-05-14 Display control method, display control program, and recording medium

Country Status (1)

Country Link
JP (1) JP4090785B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007082021A (en) * 2005-09-16 2007-03-29 Ricoh Co Ltd Image processor, program, and image data processing method
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
US8689132B2 (en) 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US9600447B2 (en) 2008-12-01 2017-03-21 Adobe Systems Incorporated Methods and systems for page layout using a virtual art director
US8205168B1 (en) * 2008-12-01 2012-06-19 Adobe Systems Incorporated Methods and systems for page navigation of dynamically laid-out systems
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces

Also Published As

Publication number Publication date
JP2003330700A (en) 2003-11-21

Similar Documents

Publication Publication Date Title
JP4290011B2 (en) Viewer device, control method therefor, and program
JP5371560B2 (en) Layout editing apparatus, layout editing method and program
US7735007B2 (en) Adding and removing white space from a document
US8522158B2 (en) Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information
JP5629435B2 (en) Information processing apparatus, information processing method, and program
US7962846B2 (en) Organization of annotated clipping views
JP2011060301A (en) Improved mobile communications terminal and method
JP2002251241A (en) Information display method and information processor using the same method and medium and program
JP4008280B2 (en) Display method, display device, display program, and recording medium on which display program is recorded
US7945855B2 (en) Smart space insertion
JP4413952B2 (en) Method, apparatus, program, and program medium for display control
JP4090785B2 (en) Display control method, display control program, and recording medium
JP4090784B2 (en) Scroll bar display control method, scroll bar display control device, scroll bar display control program, and recording medium
JP4747986B2 (en) Image processing apparatus and program
US20040044964A1 (en) Behavior of anchored frames
JP5538159B2 (en) Page number determination apparatus, page number determination method, page number determination program, and computer-readable recording medium
JP2006053741A (en) Tag information processing method, tag information processing system, and tag information processing program
JP2006236277A (en) Content display device, content display program, and recording medium recording content display program
KR100998076B1 (en) Apparatus and method for controlling size of image displayed on display device
JP2013054527A (en) Information processing apparatus, information processing method, and program
JP3813499B2 (en) OUTPUT PROCESSING METHOD, OUTPUT PROCESSING DEVICE, OUTPUT PROCESSING PROGRAM, AND RECORDING MEDIUM CONTAINING OUTPUT PROCESSING PROGRAM
JP3813506B2 (en) OUTPUT PROCESSING METHOD, OUTPUT PROCESSING DEVICE, OUTPUT PROCESSING PROGRAM, AND RECORDING MEDIUM CONTAINING OUTPUT PROCESSING PROGRAM
JP2011248739A (en) Document processor, document processing method and program
JP2000251087A (en) Information processor, information processing method and storage medium
JP2010061623A (en) Document processor, document processing method, and document processing program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050502

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080129

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: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

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: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5