JP4268906B2 - 文書表示装置および文書表示プログラム - Google Patents

文書表示装置および文書表示プログラム Download PDF

Info

Publication number
JP4268906B2
JP4268906B2 JP2004186180A JP2004186180A JP4268906B2 JP 4268906 B2 JP4268906 B2 JP 4268906B2 JP 2004186180 A JP2004186180 A JP 2004186180A JP 2004186180 A JP2004186180 A JP 2004186180A JP 4268906 B2 JP4268906 B2 JP 4268906B2
Authority
JP
Japan
Prior art keywords
data
display
unit
document
content
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
JP2004186180A
Other languages
English (en)
Other versions
JP2006011694A (ja
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 JP2004186180A priority Critical patent/JP4268906B2/ja
Publication of JP2006011694A publication Critical patent/JP2006011694A/ja
Application granted granted Critical
Publication of JP4268906B2 publication Critical patent/JP4268906B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

この発明は文書表示装置および文書表示プログラムに関し、特に、表示される文書の位置をユーザに提示し、また所望の表示位置にまで移動して文書の表示を更新する文書表示装置および文書表示プログラムに関する。
電子書籍などのメディアを表示する装置では、図15(A)に示すように、電子書籍の文書のどのあたりを現在表示しているかの情報を画面に表示する。この例では、文書の先頭を0%、文書の末尾を100%としたときに、25%の位置を表示しているという意味である。計算方法としては、例えば以下のような式が考えられる。
現在表示位置=((文書先頭からの文字数)/(文書全体の文字数))×100(%)
また、図15(B)と(C)に示すように、文書中で移動したい位置、すなわち移動先の位置を文書全体に対する割合で指定して移動する。この例では、図15(B)で、現在、文書全体の先頭から25%の位置を表示しているときに、ユーザが80%の位置へ移動したいと考え、%指定移動ダイアログで‘80%’と入力して移動先位置を指定すると、図15(C)のように、指定された移動先の位置の文書が表示されるように表示内容が更新されている。また、現在の表示位置は指定したとおり80%と示されている。
現在の表示位置を高速に計算し、移動する手法としては他に特許文献1と2で提案されている。
特開2003−330699号公報 特開2003−330700号公報
従来技術では、以下の問題がある。
図16(A)と(B)は、文書全体の文字数が500文字の文書を、1行に9文字表示できる画面に表示したものである。現在は文書の先頭を表示している。ここで、5%の位置へ移動しようとすると、移動後は500×5÷100=25なので25文字目の「Y」が画面先頭行に表示されていればよい。そのため、移動後は「S」から始まる行が画面先頭に表示される。ところが、画面に表示される現在表示位置は画面先頭行の先頭文字を基準に計算するため、3.8%を示すことになる。現在位置を小数点以下切捨てで表示した場合は3%と表示されている。さらにここで1行スクロールすると、5%と更新されて表示される。よって、5%と指定して移動したにもかかわらず、移動後の表示位置が指定した値と異なり、さらに移動後の表示から1行スクロールした後の表示位置が指定した値であるため、ユーザは違和感を感じる。
また、特許文献1と2のいずれもスクロールバーに表示されるスクロールボックスの大きさ(割合)を求めている。特許文献1では、現在表示している分割データサイズと、文書全体のデータサイズとの割合をスクロールボックスの大きさにしている。特許文献2では、現在表示している分割データサイズ、レイアウトサイズと、文書全体のデータサイズとの割合から、文書全体のレイアウトサイズを推測し、現在表示しているレイアウトサイズの文書全体に対する割合をスクロールボックスの大きさにしている。
しかし、特許文献1と2の手順によれば、文書中の全分割データのサイズが分かっていないと計算できないため、文書のデータ構造によっては処理に時間がかかる。また、この手法で%指定移動、%表示を行うと、従来技術の問題同様、指定した値と表示値がずれることがある。
さらに、特許文献2では、現在表示している分割データのレイアウトサイズを用いて全体のレイアウトサイズを推測し、現在位置および移動先の位置を算出している。しかし、分割データサイズに対するレイアウトサイズの割合は一定ではないため、推測誤差によって、順にスクロールしていっても%位置が小さくなることが起こり、不自然な動作となる。以下にその例を示す。
特許文献2では、表示している分割データのレイアウトサイズから文書全体のレイアウトサイズを推測し、%を計算する。また、スクロールボックスの大きさ(文書全体に対する表示範囲の割合)を求めているが、同様の計算方法を%表示に適用すると、以下のようになる。ここでは、後述する本発明の実施の形態に合わせて、分割データを「ブロック」、データサイズを「バイト数」と呼ぶこととする。
なお、「レイアウトドット数」と「レイアウトドット位置」は、文書を横書きで表示したときの、縦方向の表示ドットの数または位置を示している。レイアウトドット数は画像の大きさやフォントサイズによって異なってくるため、ブロックのバイト数に必ずしも比例しない。
まず、%表示値pはp=a×100/bで算出する。ここで、a:画面先頭に表示されているドットの、文書全体でのレイアウトドット位置(推測値)、b:文書全体のレイアウトドット数(推測値)である。
また、a=(c×f/e)+gと計算し、b=c×d/eと計算する。ただし、c:現在表示しているブロックのレイアウトドット数であり、2ブロック以上にまたがって表示している場合はその総和になる。d:文書全体のバイト数である。e:現在表示しているブロックのバイト数であり、2ブロック以上にまたがって表示している場合はその総和になる。f:現在表示しているブロックの手前までのバイト数の総和。g:画面先頭に表示しているドットの、ブロック内でのレイアウトドット位置である。
簡単な例として、フロー数は1個、ブロック数は3個、各ブロックのバイト数は先頭から順に800、1200、1000とし、各ブロックをレイアウトしたときのドット数が先頭から順に400、500、600となる文書を、1画面に200ドット表示できる画面で表示する場合を考える。このとき、d=800+1200+1000=3000と一定である。他の値は以下のようになる。
先頭ブロックのみ表示しているときは、a=(400×0/800)+g=g、b=400×3000/800=1500、c=400、e=800、f=0である。
1番目と2番目のブロックを表示しているときは、a=(900×0/2000)+g=g、b=900×3000/2000=1350、c=400+500=900、e=800+1200=2000、f=0となる。
2番目のブロックのみ表示しているときは、a=(500×800/1200)+g=333.3+g、b=500×3000/1200=1250、c=500、e=1200、f=800となる。
2番目と3番目のブロックを表示しているときは、a=(1100×800/2200)+g=400+g、b=1100×3000/2200=1500、c=500+600=1100、e=1200+1000=2200、f=800となる。
3番目のブロックのみ表示しているときは、a=(600×2000/1000)+g=1200+g、b=600×3000/1000=1800、c=600、e=1000、f=800+1200=2000となる。
よって、画面先頭に表示するレイアウトドット位置によって以下のように%表示が変化する。
画面先頭が1ブロック目の1ドット目のときは1番目のブロックのみ表示しているので1×100/1500=0.1%、画面先頭が1ブロック目の201ドット目のときは1番目のブロックのみ表示しているので201×100/1500=13.4%、画面先頭が1ブロック目の202ドット目のときは1、2番目のブロックを表示しているので202×100/1350=15.0%、画面先頭が1ブロック目の400ドット目のときは1、2番目のブロックを表示しているので400×100/1350=29.6%、画面先頭が2ブロック目の1ドット目のときは2番目のブロックのみ表示しているので(333.3+1)×100/1250=26.7%、画面先頭が2ブロック目の301ドット目のときは2番目のブロックのみ表示しているので(333.3+301)×100/1250=50.7%、画面先頭が2ブロック目の302ドット目のときは2、3番目のブロックを表示しているので(400+302)×100/1500=46.8%、画面先頭が2ブロック目の500ドット目のときは2、3番目のブロックを表示しているので(400+500)×100/1500=60.0%、画面先頭が3ブロック目の1ドット目のときは3番目のブロックのみ表示しているので(1200+1)×100/1800=66.7%、画面先頭が3ブロック目の600ドット目のときは3番目のブロックのみ表示しているので(1200+600)×100/1800=100%となる。
このように、先頭から読み進めていくと途中で%表示の値が戻ることがあり、違和感がある。
それゆえにこの発明の目的は、文書内の所望の位置まで移動しての文書表示を精度よく、また表示中の文書部分の表示位置の提示を速やかに行うことができる文書表示装置およびプログラムを提供することである。
この発明のある局面に従う文書表示装置は、所定単位データを複数個含む文書データにおける、所望部分の文書データの位置を指定する位置指定手段と、
所定単位データそれぞれの前記文書データにおける表示位置を算出する位置算出手段と、
前記位置算出手段により算出した前記所定単位データそれぞれの算出位置のうち、前記位置指定手段により指定した前記指定位置に相当する前記算出位置である前記所定単位データを含む前記文書データの部分を表示する表示制御手段とを備える。
したがって、算出した所定単位データそれぞれの算出位置のうち、指定されている指定位置に相当する算出位置に該当するような所定単位データを含む文書データの部分が表示される。
それゆえに、現在表示すべき文書データの部分を、表示先として指定された位置とのずれがない部分の文書データとなるように表示することができる。
好ましくは、文書データから、前記位置指定手段により指定した前記指定位置に対応する部分のデータを取得する部分データ取得手段をさらに備えて、
前記位置算出手段は、前記部分データ取得手段が取得した前記部分データ中の前記所定単位データそれぞれの前記文書データにおける表示位置を算出することを特徴とする。
好ましくは、前記指定位置および前記算出位置は、前記文書データの先頭からの位置を示し、
前記指定位置に相当する前記算出位置は、前記指定位置を示すか、または前記指定位置よりも前記先頭側の位置を示すことを特徴とする。
好ましくは、前記所定単位データは、行のデータであることを特徴とする。
好ましくは、表示制御手段は、前記文書データの部分を、前記位置指定手段により指定した前記指定位置に相当する前記算出位置の前記行データを先頭にして表示することを特徴とする。
この発明の他の局面に従う文書表示装置は、階層化されたサイズの異なる1種類以上の単位データを各種類について複数個含む文書データ中の現在表示している部分について、前記文書データにおける位置を算出する位置算出手段と、
前記位置算出手段が算出した前記位置を表示する位置表示手段とを備え、
前記位置算出手段は、
各種類の前記単位データのうち、前記サイズに関する所定基準で選択した種類の複数個の前記単位データのうちの現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出することを特徴とする。
したがって、異なるサイズを持つ複数種類の単位データで階層化された文書データにおける、現在表示中の部分の位置は、このサイズに関する所定基準で選択した種類の単位データのうち、該部分に対応の単位データの文書データにおける位置を算出して、この算出結果を用いて表示される。
それゆえに、位置を算出するのに用いる種類の単位データの選択は、階層化に用いているサイズに関する所定基準に従うから、文書データのサイズに合わせた所定基準を適用することで、文書データの大きさ(サイズ)に拘わらず速やかに位置を算出できる。
好ましくは、前記位置算出手段は、
上位の階層から下位の階層の順に、各種類の前記単位データのうち前記文書データに含まれる個数が所定数を超えるか否かを判断する判断手段と、
前記判断手段が前記所定数を超えると判断した最初の種類の複数個の前記単位データのうちの現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出することを特徴とする。
好ましくは、前記位置算出手段は、
各種類の前記単位データのうち、上位の階層の種類の前記単位データの前記文書データに含まれる個数が所定数を超えないときは、下位の階層の種類の複数個の前記単位データのうち、現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出することを特徴とする。
好ましくは、前記位置算出手段は、
現在表示中の部分については下位の階層の種類の複数個の前記単位データのうちから対応の前記単位データを、それ以外の部分については上位の階層の種類の複数個の前記単位データのうちから対応の前記単位データを選択する。
この発明のさらに他の局面に従う文書表示プログラムは、コンピュータを、前記コンピュータの入力部を用いて、所定単位データを複数個含む文書データにおける、所望部分の文書データの位置を指定する位置指定手段と、
前記コンピュータの演算部を用いて、所定単位データそれぞれの前記文書データにおける表示位置を算出する位置算出手段と、
前記コンピュータの表示部を用いて、前記位置算出手段により算出した前記所定単位データそれぞれの算出位置のうち、前記位置指定手段により指定した前記指定位置に相当する前記算出位置である前記所定単位データを含む前記文書データの部分を表示する表示制御手段として機能させるためのプログラムである。
この発明のさらに他の局面に従う文書表示プログラムは、コンピュータを、前記コンピュータの演算部を用いて、階層化されたサイズの異なる1種類以上の単位データを各種類について複数個含む文書データ中の現在表示している部分について、前記文書データにおける位置を算出する位置算出手段と、
前記コンピュータの表示部を用いて前記位置算出手段が算出した前記位置を表示する位置表示手段として機能させ、
前記位置算出手段は、
各種類の前記単位データのうち、所定基準で選択した種類の複数個の前記単位データのうちの現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出することを特徴とするプログラムである。
以下、この発明の実施の形態について図面を参照して詳細に説明する。
[文書表示装置の機能の概要]
本実施の形態では、HTML(Hyper Text Markup Language)文書のようにページの区切りはなく、画面サイズや使用するフォントなどにより自由にレイアウトされる形式の文書データを対象とする。この文書データのことを、本実施形態ではフロー型コンテンツと呼んでいる。
文書データには、編集の利便性から、記述フォーマットと実行フォーマットの2種類のデータ形式が存在する。記述フォーマットは、データ作成のためのデータフォーマットである。編集のし易さを考慮し、例えばXML(eXtensible Markup Language)のような、テキストエディタでも編集できるフォーマットを用いて記述する。実行フォーマットは、文書表示装置での実行を考慮したフォーマットである。文書表示装置での処理し易さを考慮し、独自のバイナリ形式で記録される。実行フォーマットは、記述フォーマットが専用ツールにより、コンバート処理されると生成される。
[フロー型コンテンツの構成]
フロー型コンテンツは複数のフローを有し、各フローは複数のブロックを有するという、階層構造を有する。
[フローについて]
フロー型コンテンツは、通常、複数のフローから構成される。フローとは、フロー型コンテンツにおいて、例えば第1章の文章、第2章の文章など、意味的にまとまりのあるデータの群を指し、一般に一つの書籍は一つ以上のフローを持っている。フローに分割する基準は特に定めず、文書データ作成者の意向にゆだねる。例えば、章毎に分割してもいいし、新聞などの文書データであれば記事毎に分割してもいい。また、分割せず一つのフローしか持たない文書データとしてもよい。
[ブロックについて]
各フローは、通常、複数のブロックから構成される。ブロックとは、文書表示装置での処理を高速化するために、適当な大きさでフローを分割したものである。分割する際には、ブロック単位でデータの読み込み、表示のためのレイアウト作成が可能なように、補助情報を作成しておく。フロー型コンテンツは画面サイズや使用するフォントなどにより表示のためのレイアウト(後述する)が異なるため、フロー型コンテンツの途中から表示する場合でもフロー型コンテンツの先頭からデータを読込み、表示のためのレイアウトを作成しなければならないのが一般的である。しかし、ブロック単位でデータの読込み、表示のためのレイアウト作成が可能であれば、フロー型コンテンツの途中から表示する場合でも高速に処理することができる。なお、ブロック分割は記述フォーマットからバイナリ形式の実行フォーマットへのコンバート時に行われるため、文書データ作成者がブロックの存在を意識することはない。
[ブロックの構成要素について]
各ブロックには文字と、画像(動画、静止画)の表示を指定するオブジェクト指定タグとが存在する(他にも存在するが、本発明と関連がないため省略する)。オブジェクト指定タグはHTML同様、表示するオブジェクトのファイル名や左/右寄せなどの属性を指定する。同一文書データ内で文字や画像を混在させて記述することも可能である。
[表示のためのレイアウトのデータ構造]
ブロック内の文字や画像を画面に表示するためには、画面サイズやフォントサイズなどのパラメータに応じて、表示イメージを構成する必要がある。パラメータは固定であったり変更可能であったりする。この表示イメージのためのデータを本実施の形態ではレイアウトと呼ぶ。レイアウトのデータ構造の一例は後述する。
[%の具体的な計算例]
本実施の形態に係る文書表示装置では、電子文書データ内の所望の表示先データを指定して、指定した先のデータに移動して表示するのは%指定移動機能で実現される。現在の表示データの電子文書データ内での位置を提示するのは%表示機能で実現される。%指定または%表示のために具体的な位置計算例は以下のようになる。
〔%指定移動機能〕
(制御方法切替の閾値)
処理対象の電子文書データであるフロー型コンテンツ内のフロー数が例えば100(ただし、100には限定されない)以上のときはフロー数制御をし、そうでないときは、フロー型コンテンツ全体のブロック数が例えば100以上であればブロック数制御をし、ないときには、すなわちフロー数とブロック数のどちらも100未満のときはバイト数制御となる。このような制御の切換えはシステム側が自動的に行う。
(フロー数制御とブロック数制御の計算手順)
全体でm個(m≧100)のフローを有するフロー型コンテンツにおいて、表示位置を先頭からp%の位置に移動するように指定されたときに表示するn番目のフロー(先頭のフローを1番目とする)は、n=m×p/100と算出する(結果は切り捨てにする)。例えば、100個のフローを有するフロー型コンテンツで50%の位置への移動を指定すると、50番目のフローへ移動する。
ブロック数制御に関しては、上記説明の「フロー」を「ブロック」に置換えて移動先の位置を計算することができる。
(バイト数制御の計算手順)
フロー型コンテンツにおいて、表示位置を先頭からp%の位置に移動するように指定したとき、移動先の位置は該フロー型コンテンツの先頭からn番目のバイト位置として、n=(m×p/100)−1と算出する(結果は切り捨てにする)。ただしn<0のときはn=0とする。ここで右辺の2項目を‘−1’としているのは、フロー型コンテンツでは先頭のバイト位置を0とするからである。なお、「バイト位置」とは、文字やオブジェクト指定タグが記載されている位置をバイト単位で示すものである。フロー内のバイト位置であれば、フロー先頭からのオフセット値を意味し、フロー型コンテンツ先頭からのバイト位置であれば、コンテンツ先頭からのオフセット値を意味する。フロー型コンテンツ先頭からのバイト位置は、そのフローよりコンテンツ先頭側にあるフローのバイト数の合計値に、そのフロー内のバイト位置を足したものとなる。バイト位置の先頭は0である。
このようにして算出する変数nを用いて該当フローとバイト位置を求め、そのバイト位置が画面先頭に表示されるように表示位置をジャンプする。例えば、フロー型コンテンツ全体のバイト数が100バイトであるとき10%の位置への移動を指定すると、フロー型コンテンツの先頭からバイト位置が‘9’のところへ移動する。
(特殊処理)
移動先として指定された位置が0%または100%を指示するときには、特殊処理を行う。つまり、0%が指定されたらフロー型コンテンツの先頭を表示し、100%が指定されたらフロー型コンテンツの末尾を表示する。
バイト数制御では、移動先の位置を表示する%表示値を調べ、移動先として指定した%値と異なるときは、1行先の%表示値も調べる。その結果、もし1行先の%表示値が移動先として指定した%値と一致するときは1行先に移動する。
[%表示機能]
(制御方法切替の閾値)
上述の%指定移動機能と同様にフロー、ブロック、バイトの順番で所定閾値(たとえば100とするが、これには限定されない)と比較しながら切換える。
(フロー数制御とブロック数制御の計算手順)
フロー型コンテンツがm個(m>=100)のフローを有するとき、先頭のフローを1番目として、先頭からn番目のフローが表示されているときは、提示する表示位置p%はp=n×100/mと算出できる(結果は切り捨てにする)。例えば、100個のフローがあるフロー型コンテンツで50番目のフローが表示されているときは表示位置50%と算出されて提示される。
(バイト数制御の計算手順)
フロー型コンテンツ全体のバイト数(全ブロックのバイト数総和)をm、現在画面先頭に表示されている文字やオブジェクトのフロー型コンテンツ全体のバイト位置をnとすると、表示位置p%はp=(n+1)×100/mと算出できる(結果は切り捨てにする)。例えば、フロー型コンテンツ全体のバイト数が100で現在表示しているデータの、フロー型コンテンツの先頭からのバイト位置を9とすると、表示位置10%と算出されて提示される。
(特殊処理)
算出結果の表示位置p%が0%または100%を示すときは特殊処理を行う。つまり、フロー型コンテンツの先頭のバイト位置を既に表示していて、これ以上ページ戻りできないときは表示位置0%と提示する。また、フロー型コンテンツの末尾のバイト位置を既に表示していて、これ以上ページめくりできないときは表示位置100%と提示する。
また、計算結果の表示位置p%が100%を指示しても、まだページめくりできるときは表示位置p%は99%と提示する。
〔装置の構成〕
次に、本実施の形態に係る文書表示装置の構成を説明する。ここでは文書は横書きとしているが、縦書きであっても同様に適用できる。
図1にはこの発明の実施の形態に係る文書表示装置の全体の機能構成が示されている。図2には本実施の形態に係る%指定移動機能のための構成が示されて、図3には%表示機能のための構成が示される。図2と図3の機能構成はそれぞれ図1の部分からなっている。なお、図1〜図3中の実線矢印はデータの流れ、または制御の流れを模式的に示している。
図4(A)には、この発明の実施の形態に係る文書表示装置を搭載する携帯型電話機のハードウェア構成が、図4(B)には同様に文書表示装置を搭載するパーソナルコンピュータのハードウェア構成が示される。図5には図4(A)のRAM(Random Access Memory)13と図4(B)の主記憶部21に設けられる各種バッファが示されている。図6は本実施の形態に係るフロー型コンテンツ40(以下、単にコンテンツ40と略す)の内部構成を概略的に示す図であり、図7は、コンテンツ40の補助情報41の内容を示す図である。
図1を参照して文書表示装置は、ユーザにより外部操作されるキーボードなどに対応の表示位置入力部2、対応表示コンテンツ位置算出部4、コンテンツ取得部5、レイアウト取得部6、コンテンツ単位決定部7、表示単位調整部8、表示位置算出部9および表示部11を備える。図2を参照して%指定移動機能のために、表示位置入力部2、対応表示コンテンツ位置算出部4、レイアウト取得部6、表示単位調整部8、表示位置算出部9および表示部11が設けられる。図3を参照して%表示機能のためにコンテンツ取得部5、コンテンツ単位決定部7、表示位置算出部9および表示部11が設けられる。
図4(A)を参照して、文書表示装置を搭載する携帯型電話機は、各部を集中的に制御・監視するためのCPU(Central Processing Unit)12、RAM13、内蔵および外部フラッシュメモリ14および15、表示位置入力部2に対応するキー部16、表示部11に対応する表示デバイス17、外部の各種の通信ネットワーク28と通信するための通信デバイス18、これら各部を相互に接続するためのバス19を備える。
図4(A)の構成はここでは、携帯型電話機としたが、情報処理端末、たとえばPDA(Personal Digital Assistant)であってもよいし、文書表示機能を備えた家電製品でもよい。
図4(B)を参照して、文書表示装置を搭載するパーソナルコンピュータは、各部を集中的に制御・監視するためのCPU20、主記憶部21、外部記憶部22、表示位置入力部2に対応するマウス23およびキーボード24、表示部11の表示のために用いられるグラフィックデバイス25、表示部11に対応するモニタ26、外部の各種のネットワーク28と通信するための通信デバイス27およびこれら各部を相互に通信可能に接続するためのバス29を備える。
CPU12と20それぞれは、本発明において対応表示コンテンツ位置算出、表示位置算出などの各種演算処理を行う。RAM13と主記憶部21はCPU12と20で演算した結果得られたデータや後述する補助情報41を格納する。内蔵フラッシュメモリ14と外部フラッシュメモリ15と外部記憶部22は実行プログラム、ユーザ設定データ、コンテンツ40を格納する。ユーザ設定データとは、コンテンツのしおり情報や、表示フォントサイズや縦書き/横書きといった表示設定情報などを指す。なお、内蔵フラッシュメモリ14に実行プログラムとユーザ設定データを、外部フラッシュメモリ15にコンテンツ40を格納するようにしてもよい。
キー部16およびキーボード24はテンキー、上下左右のカーソルキー、決定キー、電源キーなどからなり、本発明ではユーザによる%指定移動の指示、%値の入力に使われる。 表示デバイス17とモニタ26にはレイアウトされた文字や画像が表示されるとともに、%表示機能により算出された現在の表示位置も%の値で表示される。
通信デバイス18と27は、ネットワーク28から、電子書籍のコンテンツ40をダウンロードする際に利用される。ダウンロードされたコンテンツ40は携帯型電話機では内蔵フラッシュメモリ14に格納される。パーソナルコンピュータでは外部記憶部22に格納される。なお、以下コンテンツ40は予め実行フォーマット形式に変換され、かつ符号化・暗号化された状態であるとして説明するが、記述フォーマット形式でもよいし、符号化・暗号化されていない状態でもよい。
図5を参照してRAM13と主記憶部21には、%指定移動機能のための処理および%表示機能のための処理に関してアクセスされる各種バッファが設けられる。具体的には、指定表示位置保存バッファ30、算出表示位置保存バッファ31、後述する図11のレイアウト35を保存するためのレイアウト保存バッファ32、後述する図12のコンテンツ単位テーブル37を格納するためのコンテンツ単位テーブル保存バッファ33および現在表示中のフローまたはブロックはどれであるかをコンテンツ40の先頭からの順番で指示する現在表示位置情報を保存する現在表示位置保存バッファ34を有する。
現在表示位置保存バッファ34の現在表示位置情報は、コンテンツ40を初めて表示する時にはコンテンツ40の先頭フローまたは先頭ブロックを指示するようにCPU12または20により設定される。また、コンテンツ40の表示を一旦中断して、その後に表示を再開したときは、現在表示位置保存バッファ34の現在表示位置情報で指示される位置(前回の中断時に表示していた位置)に対応のデータが表示される。またユーザが表示中のコンテンツ40のデータの頁めくり操作、スクロール操作などをしたときも、現在表示位置情報は、その都度、操作後の表示位置を示すように更新される。このような現在表示位置情報の更新手順は、コンテンツ40を表示する場合に実施されるよく知られた手順であるので、詳細は略す。
また、現在表示位置保存バッファ34の現在表示位置情報は、%指定移動機能により表示位置が移動した場合にも、移動先に該当するフローまたはブロックの順番を指示するように更新される。
なお、以下は、汎用のパーソナルコンピュータよりも処理能力が制限せざるをえない図4(A)の携帯型電話機を想定して説明するが、図4(B)のパーソナルコンピュータの場合も同様の説明を適用することができる。
図1を参照すると、コンテンツ取得部5はコンテンツ40の補助情報41を取得する。具体的には内蔵フラッシュメモリ14の符号化されたコンテンツ40内の先頭に位置する補助情報41を読出してRAM13に格納し、ここで復号化する。以降は、RAM13の復号化された後の補助情報41が参照されて、内蔵フラッシュメモリ14のコンテンツ40が読出されて復号化されて、所定の処理が実行される。
コンテンツ単位決定部7は、RAM13に格納した補助情報14を参照して、前述のフロー数制御、ブロック数制御などの切換えを行い、処理対象のコンテンツ単位はフローか、またはブロックかを決定して、その決定結果はコンテンツ単位テーブル37としてコンテンツ単位テーブル保存バッファ33に格納する。コンテンツ単位テーブル保存バッファ33に格納されたコンテンツ単位テーブル37は表示位置算出部9により参照される。
表示位置入力部2はキー部16を操作して指定された表示位置の情報を入力すると、入力した表示位置指定情報を、指定表示位置保存バッファ30に格納する。ここでは、指定表示位置の情報はユーザ操作による入力としているが、これに限定されず、例えば、携帯電話機において実行される他のタスクからの引渡しデータにより入力するとしてもよい。
表示位置入力部2により指定表示位置保存バッファ30に格納された指定表示位置情報は、対応表示コンテンツ位置算出部4と表示単位調整部8により参照される。また表示位置算出部9は算出した表示位置情報を算出表示位置保存バッファ31に格納すると、表示単位調整部8と表示部11が格納された算出表示位置情報を参照する。レイアウト取得部6は取得したレイアウト35をレイアウト保存バッファ32に格納する。レイアウト保存バッファ32に格納されたレイアウト35は表示単位調整部8と表示位置算出部9により参照される。
(コンテンツのデータ構造について)
本実施の形態に係るコンテンツ40について説明する。図6を参照すると、コンテンツ40は補助情報41と複数のフロー42i(i=1、2、3、…、m)を含む。各フロー42iは同様の構成を有し、複数のブロック43j(j=1、2、3、…、n)を含む。ブロック43jは複数の文字コードからなる文字コード群441と文書中に展開される画像などのオブジェクトデータを指定するためのオブジェクト指定タグ群442を含む。図6のコンテンツ40が文書表示装置に供給された場合、供給されたコンテンツ40は符号化・暗号化されたファイルとして内蔵フラッシュメモリ14に格納される。コンテンツ40の文書などを表示部11に表示するなどの実行時には、コンテンツ40の補助情報41は内蔵フラッシュメモリ14から読出されてRAM13に格納され、ここにおいて復号化される。したがって実行時には、この復号化された補助情報41が参照されることになる。
(補助情報のデータ構造について)
図7には、補助情報41の内容が示される。補助情報41はコンテンツ40のフロー、ブロックおよびバイトという階層化された構造を示し、また該階層化構造を管理するための情報である。具体的には補助情報41は、データ群410、420および430を含む。データ群420はコンテンツ40に含まれる各フロー42iについてフロー情報46iを有する。データ群430は、コンテンツ40に含まれる各ブロック43jについてブロック情報49jを含む。
データ群410はコンテンツ40に含まれている全フロー数を示すデータ44、1番目からm番目までのフロー情報461〜46mのそれぞれを指示するためのポインタデータ45iを有する。フロー情報46iはフロー42iのそれぞれに対応して設けられる。
フロー情報46iは、対応のフロー42iに含まれる全ブロック数を示すデータ47および該フロー42iに含まれる1番目からn番目までのブロック43jのそれぞれに対応のブロック情報49jを指示するためのポインタデータ48jを含む。ブロック情報49jは対応のブロック43jに含まれる文字コードの全バイト数のデータ61および内蔵フラッシュメモリ14のコンテンツ40中の該ブロック43jの本体データを指示するためのポインタデータ62を含む。ここでは、説明を簡単にするために、コンテンツ40は文字コードのみからなっていると想定する。
(処理フローチャートについて)
図8〜図10には、本実施の形態に係る%指定移動機能と%表示機能の処理手順がフローチャートにして示される。各フローチャートに対応のプログラムは予め作成されて内蔵フラッシュメモリ14に格納されているが、実行時には、CPU12によりここから読出されてRAM13に展開される。CPU12はRAM13のこれらプログラムを実行することにより図1〜図3に示した各部による%指定移動機能および%表示機能を実現することができる。このように図1〜図3に示された各部は、これらのプログラムによって実現されている。
(レイアウトについて)
図11には、本実施の形態に係るレイアウト35の一例が示される。レイアウト35はレイアウト取得部5によりブロック単位で生成される。レイアウト35は、表示単位(行)毎に文字や画像のオブジェクトを格納する配列構造を有する。ここでは、配列の要素として表示単位の行それぞれに対応して、行番号のデータ351、行開始位置のデータ352、行終了位置のデータ353および行要素のデータ354を含む。
データ351は、表示する行のそれぞれに対して順番に付けた番号を指示し、行番号の順(昇順)で画面に表示される。行開始位置のデータ352および行終了位置のデータ353は、対応する行に含まれる文字や画像がコンテンツ40中でどの範囲に記載されているかをバイト位置で示す。
行要素のデータ354は対応する行に表示されるデータを示す。行要素のデータ354において“文字”は文字コードや文字データへのポインタ情報などを示し、“画像”は、該画像のオブジェクトを指定するためのタグのデータ(アドレス)を示す。文字や画像のオブジェクトには、それらの縦横サイズや、それぞれのオブジェクトを表示するために必要な情報(文字コードや画像データへのポインタなど)が含まれている。
(コンテンツ単位テーブルについて)
図12にはコンテンツ単位テーブル37の内容例が示される。コンテンツ単位テーブル37は、フロー→ブロック→バイトという階層構造を持つコンテンツ40について、上位階層の要素(単位)が下位階層の要素(単位)を何個保持しているかをデータとして格納している。これにより、表示コンテンツ位置算出を高速に処理することができる。ここでは、コンテンツ40はフロー番号のデータ371で個別に指定される複数のフロー、ブロックおよび文字コード(バイトデータ)という3階層の構造を持っているとしているから、コンテンツ単位テーブル37を参照すると、このコンテンツ40は最上位階層であるフロー42iをm個持っており、各フロー42iには第2階層であるブロック43jを、ブロック数のデータ372で示される個数分有し、データ372で示される数の各ブロック43jについてそこに含まれる文字コード群441のバイト数がデータ381…、38nで示されている。たとえば、フロー番号“1”のフロー42iにはブロック43jが1個保持されており、この1個のブロック43jの文字コード群441のバイト数は800バイトであることを意味している。
(%指定移動機能)
図8のフローチャートに従い、図2の構成による%指定移動機能のための処理について説明する。まず、コンテンツ40の補助情報41はコンテンツ取得部5によりRAM13に格納されており、また内蔵フラッシュメモリ14のコンテンツ40のデータは復号されてレイアウト取得部6によりレイアウト35が作成されて、該レイアウト35に従うデータが表示部11により表示デバイス17に表示されていると想定する。
前述したように、本実施の形態では%表示機能によりコンテンツ40のデータ表示とともに表示中の部分データの%位置情報も表示されるので、ユーザは再表示させたい部分データのおおよその%位置を覚えておくことができる。したがって、ユーザがコンテンツ40の他の所望部分、たとえば前回閲覧していた部分を再度表示させたいとして、キー部16を操作して、該所望部分の位置を移動先に指定するための指定表示位置情報を入力する場合には、この指定表示位置情報として、コンテンツ40の全体を100%として先頭からどれくらいの位置であるかを%値で指示することが可能となる。
表示位置入力部2は、このようにしてキー部16からユーザが所望の指定表示位置情報を入力すると、これを指定表示位置保存バッファ30に格納する(ステップS(以下、単にSと略す)3)。
次に、対応表示コンテンツ位置算出部4はコンテンツ40内の、指定表示位置保存バッファ30に格納された指定表示位置情報に対応の位置を補助情報41に基づき算出する(S5)。例えば、1000バイトのコンテンツ40であって指定表示位置情報として50%が入力されれば500バイト目であり、コンテンツ40が複数のフロー42iまたは複数のブロック43jからなる場合はどのフロー42iのどのブロック43jを表示すべきか算出する。
この算出は、RAM13の補助情報41の全フロー数のデータ44、各フロー情報46iの全ブロック数のデータ47および各ブロック情報49jの全バイト数のデータ61と指定表示位置情報とを、前述した計算式のそれぞれに適用して計算することで、位置を算出できる。算出位置は、コンテンツ40の先頭から何番目のフロー42iまたはブロック43jと指示される。
続いて、レイアウト取得部6は、対応表示コンテンツ位置算出部4で算出した位置のデータを含むレイアウト35を作成しレイアウト保存バッファ32に格納する(S7)。レイアウト35の作成は具体的には、次のようである。
算出した位置が、例えばi番目のフロー42iを指示するならば、図7の補助情報41のデータ45iのポインタが指示するフロー情報46iのうちデータ48jが指示する1番目からのブロック情報49jを順に検索して、検索結果、得ることができたデータ62が示すポインタにより内蔵フラッシュメモリ14から対応するデータを読み出し、復号化して、レイアウト35を作成する。レイアウトした結果、1画面分以上のレイアウトが作成できていれば作成を終了し、そうでないときはレイアウトしたブロックの次以降のブロックに対し、1画面分以上のレイアウトが作成できるまで順次レイアウトを作成していく。
表示位置算出部9は、レイアウト保存バッファ32に保存されたレイアウト35を検索して、対応表示コンテンツ位置算出部4が算出した位置のデータが含まれる第1表示単位(行)の位置のデータとコンテンツ40のバイト単位のサイズとを用いて該行のコンテンツ40における先頭からの表示位置(%)を算出して、算出した表示位置(%)データを算出表示位置保存バッファ31に格納する(S9)。なお、コンテンツ40のバイト単位のサイズは予め得ていると想定する。
表示単位調整部8は、指定表示位置保存バッファ30に格納された指定表示位置情報と、算出表示位置保存バッファ31に格納された算出表示位置情報とを比較し、両情報が同じ表示位置を示すか否かを判断する(S11)。同じ表示位置を示しているならば(S11でYES)、表示部11は、第1表示単位を先頭にしてレイアウト35に従うデータを表示する(S13)。
一方、表示単位調整部8は両表示位置情報が同じ表示位置を指していないと判定すると(S11でNO)、レイアウト取得部6は第2表示単位(行)のレイアウト35を作成してレイアウト保存バッファ32に格納する(S15)。第1表示単位と第2表示単位が同じブロックに属する場合は第2表示単位のレイアウトもS7で作成済みのため、S15は不要となる。その後、表示位置算出部9は、レイアウト35をレイアウト保存バッファ32において参照して第2表示単位の表示位置を算出して、算出表示位置情報を算出表示位置保存バッファ31に格納する(S17)。表示単位が行の場合、第1表示単位(行)の次の行を第2表示単位とする。
表示単位調整部8は指定表示位置保存バッファ30に格納された指定表示位置情報と算出表示位置保存バッファ31に格納された第2表示単位の算出表示位置情報とを比較し、比較結果に基づき第2表示単位を画面先頭にしてレイアウト35に従い表示するか否を判定する(S19)。具体的には、第2表示単位の表示位置がユーザが入力した表示位置と同じであれば第2表示単位を画面先頭にして表示し(S21)、異なれば、第1表示単位を画面先頭して表示する(S13)。これは、一般にコンテンツ40の文書は先頭から読み進められていくことに鑑みると、両表示位置が異なった場合に、第2表示単位ではなくて、その前の行(第1表示単位)を先頭に表示することは自然な表示態様といえる。
(%指定移動機能の変形例)
次に、図9の処理手順を参照して、%指定移動機能の変形例を説明する。
まずステップS25とステップS27において図8のステップS3とS5と同様の処理が行なわれる。
次に、レイアウト取得部6は、前述と同様にして、算出された表示位置に基づいて対応する位置周辺のレイアウト35を作成し、レイアウト保存バッファ32に格納する(S29)。
表示位置算出部9は、レイアウト保存バッファ32に格納されたレイアウト35を参照して、レイアウト35中のデータ351が示す各表示単位(行)について、表示位置(%)を前述と同様に算出し、算出表示位置情報として算出表示位置保存バッファ31に格納する(S31)。
表示単位調整部8は、指定表示位置保存バッファ30に格納された指定表示位置情報と、算出表示位置保存バッファ31に格納された各表示単位(行)についての算出表示位置情報とを比較照合し、その結果に基づき、画面の先頭に表示する最適な表示単位(行)はどれであるかを選択して決定する(S33)。
具体的には、表示単位が行の場合、各行の算出表示位置をユーザが入力した指定表示位置と比較し、同じ値を示す行を選択する。もし、同じ値を示す行が複数あれば、そのうちコンテンツ40の先頭に近い行を選択する。一方、同じ値を示す行がない場合は、ユーザが入力した指定表示位置の値より小さく、かつ該指定表示位置の値に最も近い値の算出表示位置を示す行を選択する。
そして、表示部11は、選択された表示単位(行)を、決定された最適な表示単位として画面の先頭に位置するようにして、レイアウト35に従い表示デバイス17にデータを表示する(S35)。
このように図8または図9の手順においては、算出された表示位置と指定された表示位置とを比較して、最適な表示単位(行)を特定して、その最適表示単位が、本実施の形態では画面の先頭行として表示されるように調整しているから、現在の表示位置と指定した移動先の表示位置とのずれは生じない。
(%表示機能について)
図10のフローチャートを参照して、本実施の形態に係る図3の構成による%表示機能の処理手順について説明する。
まず、コンテンツ取得部5は、コンテンツ40を取得する(S41)。具体的には、前述した手順に従い内蔵フラッシュメモリ14のコンテンツ40の補助情報41を読出してRAM13に展開する。ここで補助情報41は復号化されたデータである。
次に、コンテンツ単位決定部7は、表示位置を計算する対象となるコンテンツ単位を決定する(S43、S49)。具体的には、RAM13の補助情報41を参照して第1コンテンツ単位(章)のフロー42iがコンテンツ40に所定数(たとえば、100)以上あるかをフロー番号のデータ371を参照して判定する(S43)。判定結果、フロー番号のデータ371が示す第1コンテンツ単位の総数が所定数以上あれば(S43でYES)、表示位置算出部9は、この総数の値と現在表示位置保存バッファ34の現在表示位置情報が示す現在表示中のフローの順番の値とを、前述のフロー数制御の式に適用して表示位置(%)を算出し、算出した表示位置(%)の情報を算出表示位置保存バッファ31に格納する(S45)。
表示部11は算出表示位置保存バッファ31に格納された表示位置(%)の情報を表示デバイス17においてコンテンツ40のデータとともに表示する(S47)。
一方、第1コンテンツ単位(フロー42i)が所定数未満であれば(S43でNO)、第2コンテンツ単位(節)のブロック43jがコンテンツ40において所定数(例えば、100)以上あるかを判定する(S49)。具体的には、RAM13の補助情報41を参照してコンテンツ単位テーブル37を作成し、コンテンツ単位テーブル保存バッファ33に格納する。コンテンツ単位テーブル37から算出されるコンテンツ全体の総ブロック数が所定数以上であるか否かに基づき判定する。
判定の結果、第2コンテンツ単位のブロック数が所定数以上ある場合(S49でYES)、表示位置算出部9は、現在表示中のブロック43jのコンテンツ40の先頭からの順番を現在表示位置保存バッファ34の現在表示位置情報から特定して、特定した順番の値と上述の全ブロック数とを用いて前述したブロック数制御の計算式により、表示位置(%)を算出して、これを算出表示位置保存バッファ31に格納する(S51)。その後、前述したステップS47に移行する。
一方、第2コンテンツ単位のブロック数も所定数未満の場合は(S49でNO)、第3コンテンツ単位(バイト)の数を使って表示位置算出部9で表示位置(%)を算出して、算出した表示位置(%)の情報を算出表示位置保存バッファ31に格納する。その後、前述したステップS47に移行する。
具体的には、コンテンツ単位テーブル37から算出されるコンテンツ全体の総バイト数と、現在表示中のレイアウト35の先頭行の行開始位置のデータ352が示すバイト位置のデータとを、前述したバイト数制御の計算式に適用して、表示位置(%)を算出して(S53)、これを算出表示位置保存バッファ31に格納する(S51)。その後、前述したステップS47に移行する。
このような図10の手順に従い%表示機能が実行されて、コンテンツ40のデータの大きさ(フロー総数、ブロック総数、バイト総数)に応じて、%表示位置の算出をフロー単位、ブロック単位またはバイト単位で行うように選択的に切換えているので、コンテンツ40のサイズが大きくなっても現在表示位置(%)を速やかに算出して提示できる。
なお、コンテンツ単位テーブル37は作成しなくても%表示機能は実現できる。その場合、S49にてコンテンツ全体の総ブロック数を算出する際に、補助情報41の各フロー情報46iのデータ47が示す全ブロック数の合計数を用いればよい。また、S53でコンテンツ全体の総バイト数を算出する際に、補助情報41中のコンテンツ40の各ブロック43jのブロック情報49jのデータ61が示す全バイト数を、コンテンツ全体の全ブロックについて積算すればよい。
(表示例)
図13(A)〜(D)には、表示デバイス17における、%表示機能による%表示例および%指定移動機能による%指定移動時の表示例が示される。
図13(A)に示すように、コンテンツ40の文書のどのあたりを現在表示しているかの%表示機能による%値は画面上部の窓51に表示されている。この例では、文書の先頭を0%、文書の末尾を100%としたときに、25%の位置を表示しているという意味である。また、図13(B)に示すように、文書中で移動したい位置を文書全体に対する割合で指定して%指定移動機能により移動する。この例では、現在文書全体の25%の位置を表示しているときに%指定移動機能のモードに切換え指定したことが枠52で示されている。このモードにおいて、データ53をキー部16を操作して‘80%’の位置への移動を指定している。
ここで、図13(C)は従来技術での移動結果である。図13(B)の%指定移動画面では80%を指定していたにも関わらず、移動後に図13(C)の窓51を見ると、79%と表示されている。これに対して、図13(D)には本実施の形態による%指定移動機能の移動結果が示される。図13(B)の%指定移動画面で指定した値と、図13(D)の移動後の画面の窓51に表示されている値とは一致している。
(変形例)
本実施の形態に係る変形例を以下に示す。
本実施の形態では%指定移動機能による表示先の移動の際、計算して求めた移動先の%位置を計算し、その値が%指定時の値と異なる場合、1行先(コンテンツの末尾方向)の%位置を計算して、その値が指定の%位置と一致したら1行先の行へ移動するようにしているが、「一致」ではなく、「比較して少ないほうの%に移動」すると判定するようにしてもよい。
また、本実施の形態ではコンテンツ40のサイズに応じて%指定移動、%表示の計算方法を変えているが、全体はフロー数で計算し、その中でも現在表示しているフロー42i内はブロック数で細かく計算し、さらに、現在表示しているブロック43j内はバイト数で計算してさらに細かく計算するという手法でもよい。
またCPU12の速度やメモリ(RAM13)の容量など、動作するハードウェアの性能に応じて%指定移動、%表示の計算方法を変えてもよい。つまり、低スペックな組込み機器ではフロー数で計算して大まかな移動、表示を行うようにし、高スペックのパーソナルコンピュータではコンテンツ40全体のバイト数で計算して細かい移動、表示を行うようにしてもよい。
また%位置の計算は、各フロー42i内のブロック数、各ブロック43j内のバイト数を予めコンテンツ40内に格納しておくことで高速化することができる。また、コンテンツ40を開く際やCPU12がアイドル状態のときにこれらの情報を計算し、メモリ(RAM13)上に格納しておいてもよい。
また、コンテンツ40によっては、通常の文字列や画像からなるフロー42iの他に、辞書検索の画面や、マンガの画像からなるフロー42iも混在する。その場合には単純に文字数やバイト数では計算できないので、フロー42iのブロック数は1、ブロックのバイト数はフロー42iのファイルサイズとして計算するようにしてもよい。
また、コンテンツ40の表示位置を%値で表そうとすると、百分率であるため、0〜99%か、1〜100%のどちらかになり、コンテンツ40の最後であるのに100%にならない、またはコンテンツ40の先頭であるのに0%にならないといった不自然な状態になる。そのため、コンテンツ40の先頭を表示しているときは無条件に0%、またはコンテンツ40の最後を表示しているときは無条件に100%にするという特殊処理を行うようにする。
上述の実施の形態では、表示のための%位置は、画面先頭に表示される行の行開始位置352を用いて計算しているが、図14のように画像と文字が混在し、画像が複数行に渡って表示されるようなレイアウト35では、画像のある行の先頭はみな同じ%値になってしまう。そのため、画像のある2行目以降は、画像の次の文字の位置を%表示計算の対象とする。
また、サイズの大きいコンテンツ40は1%が広い範囲に及ぶため、コンテンツサイズに応じて%指定移動の指定を細かく出来るようにしてもよい。例えば、コンテンツサイズが大きなコンテンツ40は小数点第2位まで%を指定できるが、コンテンツサイズが小さなコンテンツ40は整数もしくは2%刻みにしか指定できないというようにしてもよい。
また、文書表示装置には一般にユーザがすぐに開きたい場所を登録できるしおり機能を有するが、コンテンツ40を表示中にキー部16を介してスクロール操作している場合に、スクロールの結果、しおり位置の近くのデータが表示されたタイミングで、そのとき表示している%位置の表示色を変えて、もうすぐしおり位置のデータに到達することを報知するようにしてもよい。
また、上述の実施の形態では、表示画面サイズや文字サイズ、行間、文字間などのパラメータが決定すればレイアウト35も決定するものとしていたが、%移動時に、移動先の位置が必ず行の先頭にくるようにレイアウト取得部6により再度レイアウト35を求めるようにしてもよい。
ここでは%指定移動機能のための表示位置指定はキー部16操作による数値入力としているが、これに限定されない。たとえば、図14のコンテンツ40のサイズをスクロールバー50の長さに割当てをして、スクロールバー50中の斜線のスライダを用いて位置指定してもよい。このスライダは、現在ウィンドウに表示されている文書の一部が、文書全体のどの位置にあるかなどの表示位置%の情報をスクロールバー50上の位置で相対的に示し、またその長さで表示中のデータのサイズのコンテンツ40の全体に対する割合を示すようしてもよい。スライダは、ユーザが、キー部16のカーソル移動キーの操作でドラッグしたり、マウスなどでドラッグすることで、文書の表示位置を変更できる。
他には、ダイヤルキー操作、タッチセンサによる指定、ボタン操作の入力であってもよい。
(プログラム記録媒体に関して)
ここで、本実施の形態の上述のフローチャートに従うプログラムのメディアは図4(B)のコンピュータ本体と分離可能に構成される記録媒体であり、図示のない磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスクやCD−ROM(Compact Disc Read Only Memory)48/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)などの光ディスクのディスク系、ICカード(メモリカードを含む)/光カードなどのカード系、あるいはマスクROM、EPROM(Erasable and Programmable ROM)、EEPROM(Electrically EPROM)、フラッシュROMなどによる半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
また、本実施の形態においては、インターネットを含む各種のネットワーク28と通信する構成が採用されているから、これらネットワーク28からプログラムがダウンロードされて流動的にプログラムを担持する媒体であってもよい。なお、このようにネットワーク28からプログラムがダウンロードされる場合には、ダウンロード用プログラムは予め図4(A)の携帯型電話機本体または図4(B)のコンピュータ本体に格納しておくか、あるいは別の記録媒体から予めインストールされるものであってもよい。
なお記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
この発明の実施の形態に係る文書表示装置の全体の機能構成図である。 この発明の実施の形態に係る%指定移動機能の構成図である。 この発明の実施の形態に係る%表示機能の構成図である。 (A)と(B)はこの発明の実施の形態に係るハードウェア構成図である。 この発明の実施の形態に係る各種バッファを示す図である。 この発明の実施の形態に係るコンテンツの構成例を示す図である。 この発明の実施の形態に係る補助情報の内容例を示す図である。 この発明の実施の形態に係る%指定移動機能のフローチャートである。 この発明の実施の形態に係る%指定移動機能のフローチャートである。 この発明の実施の形態に係る%表示機能のフローチャートである。 この発明の実施の形態に係るレイアウトの一例を示す図である。 この発明の実施の形態に係るコンテンツ単位テーブルの一例を示す図である。 (A)〜(D)はこの発明の実施の形態に係る表示例を示す図である。 この発明の実施の形態に係る表示例を示す図である。 (A)〜(C)は従来技術を説明する図である。 (A)と(B)は従来技術を説明する図である。
符号の説明
2 表示位置入力部、4 対応表示コンテンツ位置算出部、5 コンテンツ取得部、6 レイアウト取得部、7 コンテンツ単位決定部、8 表示単位調整部、9 表示位置算出部、11 表示部、35 レイアウト、37 コンテンツ単位テーブル、40 コンテンツ、41 補助情報、42i フロー、43j ブロック。

Claims (6)

  1. 複数の行からなる文書の文書データであって、且つ行データを含んだ単位データを複数個含む文書データを表示する文書表示装置であって、
    前記文書データ中の現在表示している部分について、前記文書データにおける位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出する位置算出手段と、
    前記位置算出手段が算出した前記%値を、現在表示中の前記文書データ中の部分と関連付けて表示する位置表示手段とを備え、
    前記位置算出手段は、
    複数の前記単位データのうち、現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出し、
    さらに、前記文書表示装置は、
    前記文書データにおける所望部分の位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として指定するために操作される位置指定手段と、
    前記位置指定手段が指定した前記%値に対応する前記文書データ内の所定位置のデータを含む前記単位データに基づくレイアウトデータを作成するレイアウト作成手段と、
    作成された前記レイアウトデータから、前記所定位置のデータを含む第1行データを検索して、検索した第1行データの位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出する行位置算出手段と、
    前記第1行データを先頭にして前記レイアウトデータに従うデータを表示する第1表示手段と、
    前記第1行データの次位行の第2行データを先頭にして前記レイアウトデータに従うデータを表示する第2表示手段と、
    表示制御手段とを備え、
    前記表示制御手段は、
    前記位置指定手段により指定された前記%値と、前記行位置算出手段により算出した前記%値とを比較し、
    前記比較の結果が、一致を指すときは前記第1表示手段による表示を行い、
    前記比較の結果が、不一致を指すときは前記位置指定手段により指定された前記%値と、前記第2行データの前記文書データにおける位置を指す前記先頭からの%値とを比較し、一致すれば前記第2表示手段による表示を行い、不一致であれば前記第1表示手段による表示を行う、文書表示装置。
  2. 前記複数個の単位データは、階層化されたサイズの異なる複数種類の単位データを含み
    前記位置算出手段は、
    上位の階層から下位の階層の順に、各種類の前記単位データについて、前記文書データに含まれる個数が所定数を超えるか否かを判断する判断手段を含み、
    前記判断手段が前記所定数を超えると判断した最初の種類の複数個の前記単位データのうちの現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出する、請求項に記載の文書表示装置。
  3. 前記位置算出手段は、
    各種類の前記単位データのうち、上位の階層の種類の前記単位データの前記文書データに含まれる個数が所定数を超えないときは、下位の階層の種類の複数個の前記単位データのうち、現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出する、請求項1または2に記載の文書表示装置。
  4. コンピュータを、複数の行からなる文書の文書データであって、且つ行データを含んだ単位データを複数個含む文書データを表示する文書表示装置として機能させるための文書表示プログラムであって、
    前記コンピュータの演算部を用いて、前記文書データ中の現在表示している部分について、前記文書データにおける位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出する位置算出手段と、
    前記コンピュータの表示部を用いて、前記位置算出手段が算出した前記%値を、現在表示中の前記文書データ中の部分と関連付けて表示する位置表示手段として機能させ、
    前記位置算出手段は、
    複数の前記単位データのうち、現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出し、
    さらに、前記コンピュータを、
    前記コンピュータの入力部を用いて、前記文書データにおける所望部分の位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として指定するために操作される位置指定手段と、
    前記コンピュータの前記演算部を用いて、前記位置指定手段が指定した前記%値に対応する前記文書データ内の所定位置のデータを含む前記単位データに基づくレイアウトデータを作成するレイアウト作成手段と、
    前記コンピュータの前記演算部を用いて、作成された前記レイアウトデータから、前記所定位置のデータを含む第1行データを検索して、検索した第1行データの位置を、前記文書データの先頭を0%および末尾を100%としたときの、前記先頭からの%値として算出する行位置算出手段と、して機能させ、
    前記コンピュータの前記表示部を用いて、前記第1行データを先頭にして前記レイアウトデータに従うデータを表示する第1表示手段と、
    前記コンピュータの前記表示部を用いて、前記第1行データの次位行の第2行データを先頭にして前記レイアウトデータに従うデータを表示する第2表示手段と、して機能させ、
    前記コンピュータの前記演算部を用いて、表示制御手段として機能させ、
    前記表示制御手段は、
    前記位置指定手段により指定された前記%値と、前記行位置算出手段により算出した前記%値とを比較し、
    前記比較の結果が、一致を指すときは前記第1表示手段に表示を行なわせ、
    前記比較の結果が、不一致を指すときは前記位置指定手段により指定された前記%値と、前記第2行データの前記文書データにおける位置を指す前記先頭からの%値とを比較し、一致すれば前記第2表示手段に表示を行なわせ、不一致であれば前記第1表示手段に表示を行なわせる、文書表示プログラム。
  5. 前記複数個の単位データは、階層化されたサイズの異なる複数種類の単位データを含み
    前記位置算出手段は、
    上位の階層から下位の階層の順に、各種類の前記単位データについて、前記文書データに含まれる個数が所定数を超えるか否かを判断する判断手段を含み、
    前記判断手段が前記所定数を超えると判断した最初の種類の複数個の前記単位データのうちの現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出する、請求項4に記載の文書表示プログラム。
  6. 前記位置算出手段は、
    各種類の前記単位データのうち、上位の階層の種類の前記単位データの前記文書データに含まれる個数が所定数を超えないときは、下位の階層の種類の複数個の前記単位データのうち、現在表示している前記部分に対応の前記単位データについて、前記文書データにおける位置を算出する、請求項4または5に記載の文書表示プログラム。
JP2004186180A 2004-06-24 2004-06-24 文書表示装置および文書表示プログラム Expired - Lifetime JP4268906B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004186180A JP4268906B2 (ja) 2004-06-24 2004-06-24 文書表示装置および文書表示プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004186180A JP4268906B2 (ja) 2004-06-24 2004-06-24 文書表示装置および文書表示プログラム

Publications (2)

Publication Number Publication Date
JP2006011694A JP2006011694A (ja) 2006-01-12
JP4268906B2 true JP4268906B2 (ja) 2009-05-27

Family

ID=35778910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004186180A Expired - Lifetime JP4268906B2 (ja) 2004-06-24 2004-06-24 文書表示装置および文書表示プログラム

Country Status (1)

Country Link
JP (1) JP4268906B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
JP5722543B2 (ja) * 2006-12-29 2015-05-20 アマゾン テクノロジーズ インコーポレイテッド デジタル著作物における不変的参照
JP4245055B2 (ja) 2007-01-29 2009-03-25 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US8700005B1 (en) 2007-05-21 2014-04-15 Amazon Technologies, Inc. Notification of a user device to perform an action
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
JP5246010B2 (ja) * 2009-04-20 2013-07-24 富士通モバイルコミュニケーションズ株式会社 携帯端末およびデータ表示方法
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works

Also Published As

Publication number Publication date
JP2006011694A (ja) 2006-01-12

Similar Documents

Publication Publication Date Title
JP4268906B2 (ja) 文書表示装置および文書表示プログラム
US8035642B2 (en) Apparatus and method for processing information, and program for making computer execute the method
US6397233B1 (en) Document processing apparatus and computer program product therefor
US7519949B2 (en) Marking changes based on a region and a threshold
US7197184B2 (en) ZhuYin symbol and tone mark input method, and electronic device
JP2004086621A (ja) 電子機器、表示制御方法、プログラム、及び、記録媒体
JP2005056302A (ja) 表示データスクロール装置、表示データスクロール方法、表示データスクロールプログラム、および、プログラム記録媒体
US6668355B1 (en) Text editing system
JPH11345061A (ja) 拡張スクロールシステム
CN110990419B (zh) 电子辞典装置、电子辞典的检索方法
JP2010015515A (ja) 辞書機能を備えた電子装置
JP4535186B2 (ja) 辞書機能を備えた電子装置およびプログラム
JPS5876988A (ja) ワードプロセッサ装置
JP4223939B2 (ja) 表示削除装置、コンピュータの制御方法及びプログラム
JP2018036684A (ja) コンテンツ表示装置および制御方法
US11379099B2 (en) Method and device for selecting text in electronic terminal
JP2003316821A (ja) 電子辞書
JP3961174B2 (ja) 文字入力装置及び文字入力プログラムを記録した記録媒体
JP2001075695A (ja) データ処理システム
JP5278377B2 (ja) 電子装置およびプログラム
JP5294797B2 (ja) 表示装置、コンピュータの制御方法及びプログラム
CN116610238A (zh) 信息处理系统、计算机可读介质以及信息处理方法
JP2005202859A (ja) 辞書情報表示制御装置、および辞書情報表示制御プログラム、辞書情報表示制御方法
JP2004272574A (ja) 電子辞書用記録媒体、それを用いた電子辞書およびその電子辞書の処理プログラムを記録した記録媒体
JPS62156767A (ja) メモ機能を有するワ−ド・プロセツサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081224

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090223

R150 Certificate of patent or registration of utility model

Ref document number: 4268906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

EXPY Cancellation because of completion of term