(57)【特許請求の範囲】
【請求項１】
表示画面に文字を表示する文字表示装置であって、テキストから改行あるいは空白を表す文字の少なくとも一方を除去する空白除去手段と、該空白除去手段が除去した残りのテキストに対して所定の文字数毎に行を改めて表示する改行表示手段とを備える文字表示装置において、
テキストが改行または空白を含めてレイアウトとして意味を持つか否かを、前記テキストの文字種の構成及び前記テキストに付加された情報のうち少なくとも一方により判定するレイアウト判定手段を設け、テキストが改行または空白を含めてレイアウトとして意味を持つ行については、前記空白除去手段は、空白や改行の除去を行わないことを特徴とする文字表示装置。
【請求項２】
テキストが改行または空白を含めてレイアウトとして意味を持つ行が含まれていることが前記レイアウト判定手段によって判定された場合には、前記空白除去手段は、テキスト全体について前記空白や改行の除去を行わず、前記改行表示手段は、テキストを表示画面の領域単位で切り出して表示することを特徴とする請求項１記載の文字表示装置。
【請求項３】
前記レイアウト判定手段は、行頭の文字コードによりテキストが改行または空白を含めてレイアウトとして意味を持つか否かを判定することを特徴とする請求項２記載の文字表示装置。
【請求項４】
表示画面に文字を表示する文字表示方法であって、テキストから改行あるいは空白を表す文字の少なくとも一方を除去する空白除去ステップと、該空白除去ステップが除去した残りのテキストに対して所定の文字数毎に行を改めて表示する改行表示ステップとを備える文字表示方法において、テキストが改行または空白を含めてレイアウトとして意味を持つか否かを、前記テキストの文字種の構成及び前記テキストに付加された情報のうち少なくとも一方により判定するレイアウト判定ステップを設け、テキストが改行または空白を含めてレイアウトとして意味を持つ行については、前記空白除去ステップは、前記空白や改行の除去を行わないことを特徴とする文字表示方法。
【請求項５】
テキストが改行または空白を含めてレイアウトとして意味を持つ行が含まれていることが前記レイアウト判定ステップにおいて判定された場合には、前記空白除去ステップは、テキスト全体について前記空白や改行の除去を行わず、前記改行表示ステップは、テキストを表示画面の領域単位で切り出して表示することを特徴とする請求項４記載の文字表示方法。
【請求項６】
前記レイアウト判定ステップは、行頭の文字コードによりテキストが改行または空白を含めてレイアウトとして意味を持つか否かを判定することを特徴とする請求項５記載の文字表示方法。
【請求項７】
コンピュータを、請求項１〜３のいずれか１項に記載の文字表示装置として機能させるためのプログラム。
【請求項８】
請求項７に記載の文字表示プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストの表示に関し、特に表示画面が小さい場合での表示制御に関する。
【背景技術】
【０００２】
携帯電話やＰＤＡ（Personal Digital Assistance：個人情報端末）など、表示画面が小さい機器においては、広い表示領域を必要とするテキストの表示に際し、さまざまな工夫が必要である。
例えば、元のテキストの位置（文字の並び）を変更することなく、表示装置の画面を通して全体の一部の領域を表示し、上下および左右のスクロールを指示して、表示する部分を移動するようにしたものがある（例えば特許文献１）。この方法は、表示領域が極めて小さい上記携帯電話やＰＤＡに限らず、インターネットの閲覧ソフト等でも行われている。特許文献１では、大きな全体画像を小さな表示装置で表示させるとき、表示位置を指示するカーソルが全体画像の右端まできたときに、さらに右に移動させると表示が左端へ、しかも１行分改行して戻るようにするもので、右端から左端へのカーソル移動を行わないで済むようになっている。
また、１行の表示文字数を表示装置の大きさに揃え、超えた分を順次次の行に表示するようにしたものも一般的である。この場合は、上下のみのスクロールで済み、操作性は良くなる。
【特許文献１】特開２００２−３６６１３５公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１では、左スクロールを指示すれば直前の表示が見られるとは言え、行末部分から行頭部分へ表示が大きく変化するため違和感が強く、また、１行の表示文字数が少ない場合は、多くの文字が表示されているにもかかわらず、頻繁に右スクロールをしなければならない。また、１行の表示文字数を表示装置の大きさに揃える方法では、文字の並びが変化して意味が通じなくなったり、空白の多い文章を表示すると、画面が空白ばかりの表示となり効率が悪いという問題がある。
本発明は、上述した実情を考慮してなされたものであって、狭い画面に効率よく、しかもスクロール指示の回数を最小限に抑えたテキスト表示を可能とすることを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、請求項１は、表示画面に文字を表示する文字表示装置であって、テキストから改行あるいは空白を表す文字の少なくとも一方を除去する空白除去手段と、該空白除去手段が除去した残りのテキストに対して所定の文字数毎に行を改めて表示する改行表示手段とを備える文字表示装置において、テキストが改行または空白を含めてレイアウトとして意味を持つか否かを、前記テキストの文字種の構成及び前記テキストに付加された情報のうち少なくとも一方により判定するレイアウト判定手段を設け、テキストが改行または空白を含めてレイアウトとして意味を持つ行については、前記空白除去手段は、空白や改行の除去を行わないことを特徴とする。
また、請求項２は、請求項１記載の文字表示装置において、テキストが改行または空白を含めてレイアウトとして意味を持つ行が含まれていることが前記レイアウト判定手段によって判定された場合には、前記空白除去手段は、テキスト全体について前記空白や改行の除去を行わず、前記改行表示手段は、テキストを表示画面の領域単位で切り出して表示することを特徴とする。
また、請求項３は、請求項２記載の文字表示装置において、前記レイアウト判定手段は、行頭の文字コードにより前記テキストが改行または空白を含めてレイアウトとして意味を持つか否かを判定することを特徴とする。
また、請求項４は、表示画面に文字を表示する文字表示方法であって、テキストから改行あるいは空白を表す文字の少なくとも一方を除去する空白除去ステップと、該空白除去ステップが除去した残りのテキストに対して所定の文字数毎に行を改めて表示する改行表示ステップとを備える文字表示方法において、テキストが改行または空白を含めてレイアウトとして意味を持つか否かを、前記テキストの文字種の構成及び前記テキストに付加された情報のうち少なくとも一方により判定するレイアウト判定ステップを設け、テキストが開票または空白を含めてレイアウトとして意味を持つ行については、前記空白除去ステップは、前記空白や改行の除去を行わないことを特徴とする。
また、請求項５は、請求項４記載の文字表示方法であって、テキストが改行または空白を含めてレイアウトとして意味を持つ行が含まれていることが前記レイアウト判定ステップにおいて判定された場合には、前記空白除去ステップは、テキスト全体について前記空白や改行の除去を行わず、前記改行表示ステップは、テキストを表示画面の領域単位で切り出して表示することを特徴とする。
また、請求項６は、請求項５記載の文字表示方法であって、前記レイアウト判定ステップは、行頭の文字コードにより前記テキストが改行または空白を含めてレイアウトとして意味を持つか否かを判定することを特徴とする。
【０００５】
また、請求項７は、コンピュータを、請求項１〜３のいずれか１項に記載の文字表示装置として機能させるためのプログラムである。
また、請求項８は、請求項７に記載の文字表示プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【０００６】
本発明によれば、狭い表示画面でも多くのテキストを効率よく表示することができ、スクロール操作の回数を抑制することが可能となる。
しかも、地図などの文字で作った図形の表示も正しく行える。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
携帯電話やＰＤＡなど表示画面の狭い情報機器において、テキストを表示させる場合、改行のない長いテキストで、１行あたりの表示文字数を超えるような時には一般的に、
Ａ）画面に表示できる１行の限界まで表示し、残りは自動的に改行して表示する。縦スクロールで前後の部分を表示する。
Ｂ）画面に表示できる領域の限界まで表示し、縦、横スクロールすることで続きの部分を表示する。
等の方法がある。
図１１は、従来のテキスト表示の例を示す図である。図１０に示す表示対象のテキストは、上記Ａ）（図１１（ａ））およびＢ）（図１１（ｂ））のように表示される。縦および横のスクロールバーは表示領域が狭い場合は省略され、図示しないスクロールボタン等で表示領域を変更するようになっている場合が多い。
Ｂ）の場合、１行読むのに、場合によっては数回の横スクロール指示を人間が行う必要があり非常に手間がかかる。スクロールの単位が１文字であればかなりの回数行わなければならない。
Ａ）の場合は、横スクロールの必要はないが、元のテキストに改行コードが多く含まれている場合は、１行あたりの表示文字数の都合による改行もあわせ、非常に改行が多く読みにくい表示になる可能性がある。また、空白が多く含まれている場合には、もともと少ない表示領域を無駄に使うことになり、読みにくくなる。これらの場合、今度は縦スクロールの操作を人間がより多くすることになり面倒である。
【実施例１】
【０００８】
そこで、Ａ）のような表示形態をとる場合には、テキストに予め含まれる空白や改行コードを除去するか無視し、表示画面の制約による改行だけを行うことにより、横スクロールをなくし、縦スクロールを最小限に抑えた表示が可能となる。
図１は、本発明の実施例を示す機能構成図である。本発明の文字表示装置は、ＣＰＵ１を含むコンピュータと、プログラムとで実現する。同図において、ＬＣＤ２は表示装置であり、表示制御部５によってＲＡＭ３上の特定の領域に格納されている文字データをＬＣＤ２で表示するようになっている。ＲＡＭ３はプログラムが実行する際に中間結果等を格納するための作業用メモリである。表示制御部５は、ＬＣＤ２へ表示すべきテキスト（例えば受信した電子メール等）が格納されている領域から、ＬＣＤ２が使用するバッファ（図示せず）へ文字を転記したり、利用者の指示に応じて表示範囲の変更を行うものである。入力処理部４は、図示しない方向指示ボタン、キーボード、マウス等からの入力を受付け、表示領域の移動や表示方法の変更等の指示を表示制御部５が受け取れるようにするものである。表示制御部５はプログラムで、下位に空白除去手段５１、改行表示手段５２、領域表示手段５３およびレイアウト判定手段５４等のモジュールで構成され、図示しないＲＯＭ（読出し専用メモリ）に格納されている。ＣＰＵ１は、プログラムを実行するための演算処理手段であり、文字表示装置全体の実行制御を行う。なお、バス１０は各種データの伝送路である。本発明のプログラムは、上記ＲＯＭの他にも、フレキシブルディスク（ＦＤ）や、ＣＤ−ＲＯＭ等のメディアに格納すれば輸送や配布に都合がよく、ネットワークに接続されたサーバのハードディスク（ＨＤ）に格納すれば迅速な配布が可能となる。なお、改行表示手段５２は、ページャー（ｐａｇｅｒ）と呼ばれるＵＮＩＸやＭＳ−ＤＯＳ（ともに登録商標）ではｍｏｒｅやｌｅｓｓのコマンド名で知られており、領域表示手段５３もＷｉｎｄｏｗｓ（登録商標）のインターネット閲覧ソフトやワードプロセッサなどの多くの応用ソフトで使用されている従来技術を用いて実現している。
【０００９】
図２は、上記空白除去手段５１の処理手順を示すフローチャートである。まず、表示すべきテキストが格納されている所定の領域から文字を１文字分取ってくる（ステップ２０１）。この文字が、空白あるいは改行であるか調べ（ステップ２０２）、どちらでもなければ表示用バッファへ格納する（ステップ２０３）。もし、空白あるいは改行であれば（ステップ２０２でＹｅｓ）、バッファへの格納は行わない。そして表示すべき文字がすべて終われば（ステップ２０４）終了とし、まだ表示すべき文字が残っていれば、ステップ２０１から繰り返す。この処理により、空白、改行等の表示しても見えない文字や、改行後の表示スペースにも文字を効率よく表示できるようになる。なお、本実施例では、空白と改行を除去したが、タブも空白を多く表示する文字コードであるから、タブも除去しても良い。また、空白のみあるいは改行のみを除去できるようにしても良い。
図３は、空白と改行を除去した表示画面の例を示す図である。図１１よりはるかに多くの文字を表示することが可能となり、縦スクロール指示の回数を大幅に減らすことができる。
【実施例２】
【００１０】
実施例１は、表示バッファの内容を順次ＬＣＤ２に表示して、行の終端に到達したら次の文字を１行下の行に送る場合の例であったが、横スクロールしか選択できない（行の終端に到達したら次の改行までの文字を表示しない）表示装置も存在する。この場合は、表示装置に文字を送る前に、テキストに加工を行う必要がある。すなわち、表示装置の１行あたりの表示文字数を超えないように、適宜改行コードを追加していく。こうすることで横スクロールの必要がなくなる（表示方式Ａは縦スクロールのみ指定可能のため）。さらに、元のテキストに含まれる空白や改行を除いてから、あらためて改行コードの挿入を行えば、上で説明したのと同様の結果となる。
図４は、空白除去手段５１の第２の実施例の処理手順を示すフローチャートである。以下図を参照して処理手順を詳細に説明する。はじめに初期値を設定する。すなわち、１行に表示できる文字数を取得し（ステップ４０１）、１行に入っている現在の文字数（文字数カウンタ）の値をゼロにセットする（ステップ４０２）。次に表示すべきテキストから１文字取ってきて（ステップ４０３）、空白または改行かを調べる（ステップ４０４）。もし、空白または改行であれば何もせずステップ４１０の終了条件を調べる。
もし、取ってきた文字が、空白でも改行でもなければ（ステップ４０４でＮｏ）、その文字をバッファに追加する（ステップ４０５）。そして文字数カウンタに１を加え（ステップ４０６）、１行分終了したかを、カウンタの値が１行文字数に達したかどうかで調べる（ステップ４０７）。達していなければ、ステップ４１０の終了条件を調べる。
もし、ステップ４０７で、１行分の文字が満たされていたら、バッファへ改行コードを挿入し（ステップ４０８）、文字数カウンタをゼロにリセットする（ステップ４０９）。そして、次の文字がまだ残っているかの終了条件を調べ（ステップ４１０）、なければ終了し、まだ残っていれば、ステップ４０３から繰り返す。
以上の処理の結果、バッファには空白が除かれた文字が入り、しかも各行の終りには改行が入っているので、このバッファを表示すれば横スクロールができない表示装置でも実施例１と同様の結果を得ることができる。
【実施例３】
【００１１】
実施例１および実施例２では空白および改行を表示しないようにしたため、元のテキストの並び（レイアウト）が保持されていない。テキストによってはレイアウトが意味を持つ場合がある。例えば、テキストを用いて簡単な地図や表を表現した場合がそれに相当する。
図５はレイアウトが意味を持つテキストの例を示したものである。また、図６はその表示例を示す図である。この場合は、実施例１や実施例２のように、改行や空白を除いてしまうと全く意味を成さないテキストになってしまう（図６（ａ）参照）。また、空白や改行を除去しない表示方式Ａの場合でも表示画面の１行の幅で改行されてしまうので、意味がわからなくなる。そこで、レイアウト情報が意味を持つとユーザーが判断した場合は、表示方式Ｂが選択できるような切り替え手段を付加することで、レイアウト情報を正しく表示することが可能になる（図６（ｂ）参照）。図６（ｂ）の場合は、縦および横スクロールバーを利用して地図を正しく閲覧することができる。この切り替えは、入力処理部４から行い、表示制御部５は指示に対応して、表示を方式Ａから方式Ｂに切り替える。具体的には、ＬＣＤ２の画面の一部に表示方式の選択メニューを表示しておき、ユーザーが図示しない所定のボタン押下操作で選択できるようにしておけばよい。ボタン押下は入力処理部４が検知して、表示制御部５が受け取り、ボタン押下操作に応じて表示手段を改行表示手段５２（方式Ａ）、領域表示手段５３（方式Ｂ）のいずれかに変更する。
図７は、本実施例３による画面表示の例を示す図である。下方には「折返」、「領域」、「自動」の表示方式の選択メニューが表示され、「領域」が四角で囲まれており、現在は「領域」（表示方式Ｂ）が選択されていることを表している。選択中の表示は、この他に反転表示、文字の色を変える等の方法で行っても良い。現在の表示方式を変更するには、ユーザーが携帯電話、ＰＤＡ等の所定のボタン（図示せず）を１回押せば、順次、「領域」→「自動」→「折返」→「領域」と変化するようにしても、あるいはそれぞれの方式に対応するボタンを決めておいてもよい。「折返」は表示方式Ａに相当し、「自動」は後述する自動表示モードを表す。また、下方右端に表示されている４つの三角印は、黒い三角印の方向にテキストが存在し、スクロールが可能な方向を示している。図７の例では、右方向のみにテキストが残っていることを示している。
【実施例４】
【００１２】
実施例３のようにレイアウトが意味を持つ場合、レイアウトに意味があるかどうかを人間が判断せずに、機器側で自動的に判断して自動的に表示形式を切り替えることも可能である。切り替える場合は、テキスト全体を表示形式Ｂにする方法と、レイアウトが意味を持たないと判断した行に関しては実施例１や２に示すように空白や改行を除去して、意味を持つ行に関しては空白や改行の除去を行わない方法をとればよい。この時、レイアウトが意味を持つ行の直前の行がレイアウトが意味を持たない行である場合は、当該行のレイアウトを生かすために当該行の先頭に改行を挿入する。
テキスト全体をＢの表示形式にした場合は、図６（ｂ）の例のような表示になる。行ごとに表示形式を変える場合（自動表示モード）は図８のような表示になり、画面上部にある文章が横スクロールなしで閲覧可能になる。ただし、地図の未表示部分は横スクロールで閲覧する必要がある。
レイアウトが意味を持つかどうかの判断は、表示対象テキストを生成する側が、このテキストとは別にレイアウトが意味を持つか否かの情報を出力して、表示装置側がこの情報を参照して処理を行えばよい。例えば、行頭に普段文章には用いない文字コード（例えばＥＳＣ：エスケープなど）がある行はレイアウトに意味がある行であるとしておけば、容易に区別をつけられる。また、テキストの各行（改行コードと改行コードの間が１行とみなせる）の文字種の構成から推定しても良い。例えば、地図は一般に記号を多用して道路や建物を表現するので、記号の割合が高い行は地図とみなせる。また、表の場合は空白や数字が多くなったり、先頭からある一定の文字数分の位置に空白や罫線を表す記号が挿入されたりするなどの特徴がある。これらを手がかりに判断すればよい。この判断はレイアウト判定手段５４が行う。
【００１３】
図９は、本発明の第４の実施例の処理手順を示すフローチャートである。まず、表示すべきテキストから１行分の文字を取ってくる（ステップ５０１）。１行分とは改行コードが出てくるまでの連続する文字列である。次に、この行がレイアウトを保存すべき行か判定する（ステップ５０２）。判定方法は、地図等の場合は｜（縦棒）や−（横棒）等の特定の文字を含むかどうか、あるいは上で述べた特徴を備えているか等で判断する。レイアウトに意味がない（文字の並びを保存する必要がない）と判断された場合は（ステップ５０３でＮｏ）、取得した行から空白および改行を除去して（ステップ５０４）、バッファに格納する（ステップ５０７）。
文字の並びを保存する必要がある場合は（ステップ５０３でＹｅｓ）、直前の行がレイアウトに意味があったかを調べ（ステップ５０５）、意味がなければ地図のような部分に初めて入ってきたので、行を改めるべく先頭に改行コードを入れて（ステップ５０６）、もし、直前の行もレイアウトの１部なら改行がなされている筈なのでそのままバッファに格納する（ステップ５０７）。以上の処理をすべての行について行う。そして、出来上がったバッファを表示すれば、レイアウトに意味のない部分は空白等が取り除かれてコンパクトになり、地図や表のような情報は空白等が保存され、縦横スクロールを指示することにより閲覧可能となる。
なお、記述の中で、改行の機能や文字処理を強調した部分では改行コード、画面での表示を強調した部分では改行と表現したが、同じ物を意味している。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施例の機能構成を示す図。
【図２】本発明の第１の実施例の処理手順を示すフローチャート。
【図３】本発明の第１の実施例による表示画面の例を示す図。
【図４】本発明の第２の実施例の処理手順を示すフローチャート。
【図５】レイアウトが意味を持つテキストの例を示す図。
【図６】図５のテキストの表示例を示す図。
【図７】本発明の第３の実施例による画面表示の例を示す図。
【図８】本発明の第４の実施例による表示画面の例を示す図。
【図９】本発明の第４の実施例の処理手順を示すフローチャート。
【図１０】従来技術を説明する表示テキストの例を示す図。
【図１１】従来技術による図１０のテキストの表示例を示す図。
【符号の説明】
【００１５】
１  ＣＰＵ（Central Processing Unit）
２  ＬＣＤ（Liquid Crystal Display）
３  ＲＡＭ（Random Access Memory）
４  入力処理部
５  表示制御部
１０  バス
５１  空白除去手段
５２  改行表示手段
５３  領域表示手段
５４  レイアウト判定手段
【図１】
0004690645.tif 000002
【図２】
0004690645.tif 000003
【図３】
0004690645.tif 000004
【図４】
0004690645.tif 000005
【図５】
0004690645.tif 000006
【図６】
0004690645.tif 000007
【図７】
0004690645.tif 000008
【図８】
0004690645.tif 000009
【図９】
0004690645.tif 000010
【図１０】
0004690645.tif 000011
【図１１】
0004690645.tif 000012