説明

情報表示装置および情報表示プログラム

【課題】比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高める。
【解決手段】角度センサ48は、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する。レンダリング部76は、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングする。表示出力部82は、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する。レンダリング部76は、ディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定して文書ファイルをレイアウトする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、比較的小さなディスプレイを備える携帯情報端末におけるドキュメントの表示技術に関する。
【背景技術】
【0002】
携帯電話やスマートフォンなどの携帯情報端末に設けられるディスプレイは、一般にパーソナルコンピュータ(PC)等と比較して画面サイズが小さく解像度も低い。そのため、コンテンツをより閲覧しやすくするために、携帯情報端末に搭載されているブラウザでは、縦持ち、すなわちディスプレイを縦長にした状態で表示するモード(いわゆるポートレートモード)と、横持ち、すなわちディスプレイを横長にした状態で表示するモード(ランドスケープモード)の両方をサポートしているものがある。縦長モードと横長モードの切り替えは、角度センサにより検出される端末の保持角度に応じて行われるか、ユーザによる所定のボタン操作に応じて行われる。
【0003】
縦長モードと横長モードにはそれぞれ利点と欠点がある。縦長モードでは、縦スクロール方向にコンテンツが続くことの多いウェブページの閲覧に適しているが、PC用に作られたウェブサイトの横幅を表示できず、左右方向にスクロールさせる必要がある。横長モードでは、PC用に作られたウェブサイトでも横幅の全体またはかなりの部分を一度に表示できるが、上下方向を頻繁にスクロールさせなければならない。
【0004】
特許文献1には、複数の文を含むドキュメント情報を取得し、ディスプレイ装置の矩形状の表示画面の対角線の両端を結ぶ線分に沿ってテキストの文字列が表示されるようにレンダリングを行う情報表示方法が開示されている。これによると、幅の広い対角線を利用することで、1行当たりに表示できる文字数を犠牲にすることなく、大きなフォントサイズを維持できるとしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−181569号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、ドキュメント情報からテキスト文字列を抽出してディスプレイの表示画面に合わせて配置し直すので、元のドキュメントのレイアウトが損なわれてしまうという問題がある。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高めるための技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明のある態様は、携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示装置である。この装置は、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する角度検出部と、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするレンダリング部と、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する表示出力部と、を備える。
【0009】
この態様によると、文書ファイルをウインドウ枠に対して傾いた状態で表示することができるので、同一サイズ、同一解像度のウインドウで1行当たりの情報量を大きくすることができる。
【0010】
レンダリング部は、ディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向におけるディスプレイの表示領域の最大長さと略等しい長さを横幅に設定して文書ファイルをレイアウトしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、表示領域に余白が生じることを回避できる。なお、「表示領域の最大長さと略等しい長さ」とは、文字列を見やすくする程度の余白を表示領域の両端に残す場合を含める意図であり、例えば横幅が表示領域の最大長さの90%〜100%の長さである場合を含む。
【0011】
レンダリング部は、文書ファイルに予め定義されている横幅が、文字列の表示方向におけるディスプレイの表示領域の最大長さよりも小さい場合、文書ファイルの横幅が最大長さと略一致するように文書ファイルを拡大してレンダリングしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、表示領域に余白が生じることを回避できる。なお、「文書ファイルの横幅が最大長さと略一致するように」とは、文字列を見やすくする程度の余白を表示領域の両端に残す場合を含める意図であり、例えば文書ファイルの横幅が表示領域の最大長さの90%〜100%である場合を含む。
【0012】
ユーザにより操作される入力装置から方向指示を受け取る方向指示取得部をさらに備えてもよい。この場合、表示出力部は、表示領域における文字列表示方向と平行または直交する方向を文書ファイルのスクロール方向として受け取り、レンダリングされた文書ファイル上で表示領域に対応する範囲をスクロールしてもよい。これによると、通常の縦長モードや横長モードと同様に、文書を読み進める方向にスクロールすることができる。
【0013】
レンダリング部は、文書ファイルのスクロール方向に対応する両端部に、表示領域が文書ファイルのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、文書ファイルの隅々まで閲覧することができる。
【0014】
表示出力部は、方向指示取得部により方向指示が受け取られている間、レンダリングされた文書ファイル上で余白が含まれる位置まで表示領域をスクロールし、方向指示取得部により方向指示が受け取られなくなると、レンダリングされた文書ファイル上で余白を含まない位置まで表示領域を戻すようにしてもよい。これによると、余白があることをユーザに知らせることができる。
【0015】
所定の角度は、表示領域の対角線とディスプレイの縦枠または横枠とがなす角度であってもよい。これによると、1行当たりの情報量を最大にすることができる。
【0016】
本発明の別の態様は、コンピュータを備えた携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示プログラムである。このプログラムは、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する角度検出機能と、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするレンダリング機能と、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する表示出力機能と、をコンピュータに実現させる。
【0017】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によれば、比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高めることができる。
【図面の簡単な説明】
【0019】
【図1】実施の形態に係る情報表示機能を備えた携帯情報端末を含むネットワークシステムの全体構成を示す図である。
【図2】携帯情報端末のハードウェア構成図である。
【図3】携帯情報端末のうち、本実施形態に係る情報表示機能に関与する部分の構成を示す図である。
【図4】携帯情報端末のディスプレイにウェブページが傾けられて表示された様子を示す図である。
【図5】ディスプレイの表示領域Dの対角線長さとウェブページの横幅との関係を説明する図である。
【図6】(a)〜(c)は、基本式を説明するための図である。
【図7】ディスプレイの表示領域Dと傾けられたウェブページとの関係を示す図である。
【図8】傾けられたウェブページ内でディスプレイの表示領域Dを移動させる様子を示す図である。
【図9】(a)〜(c)は、余白領域を追加してレンダリングしたとき、ディスプレイの表示領域Dに表示されるウェブページの例を示す図である。
【図10】本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。
【図11】本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。
【図12】ディスプレイの横枠に対して文字列を任意の角度に傾けたとき、ディスプレイ表示領域の最大の横幅を説明する図である。
【発明を実施するための形態】
【0020】
以下では、まず携帯情報端末の一般的な説明を述べ、続いて本発明の一実施形態に係る機能についての詳細な説明を述べる。
【0021】
図1は、実施の形態に係る情報表示機能を備えた携帯情報端末10を含むネットワークシステムの全体構成を示す。
【0022】
携帯情報端末10は、携帯電話またはスマートフォンなどの、ユーザと共に移動可能なハードウェアである。携帯情報端末10は、ユーザの操作によってアクセスポイント16または基地局18などを介してLAN(Local Area Network)、インターネット等のネットワーク14に接続され、URL(Uniform Resource Locator)で特定されるサーバ12にアクセスし、所望のファイルを取得することが可能である。
【0023】
サーバ12は、ネットワーク14を介して、携帯情報端末10にテキストファイル、イメージファイル、音声ファイル、動画ファイルなどのファイルを提供する。このサーバは、例えばウェブサーバその他インターネット上のサービス主体でもよく、その場合、CGI(Common Gateway Interface)のようにサーバ側に処理の主たる機能が残るもの、Java(登録商標)アプレットのようにクライアント側に処理の主たる機能が移動するもの、サーバとクライアントの両方に処理の主たる機能であるJava(登録商標)アプリケーションなどを配するものなど、いろいろな態様で実現できる。
【0024】
また、携帯情報端末10は、ネットワーク14にアクセスしなくても、内部の記憶装置や記憶媒体に格納されているファイルをユーザ操作により参照、編集することができるように構成されている。
【0025】
携帯情報端末10には、ディスプレイと重ねた状態でタッチパネル50が配設される。携帯情報端末10は、主にユーザの指またはスタイラスのような器具でタッチパネルを触れることで操作される。以下では、ユーザの指でタッチパネルを操作するものとして説明する。タッチパネルの他、スイッチや各種のキー52等が携帯情報端末10に備えられていてもよい。
【0026】
タッチパネル50は、ユーザの指やスタイラス等がパネルに触れると、接触位置の座標を出力するように構成された透明のパネルである。タッチパネル50は、フィルム電極とガラス電極との接触点の電位を検知して接触位置を算出する抵抗膜方式、赤外線の発光素子と受光素子とでグリッドを作り指示オブジェクトで遮光された位置を出力する赤外線方式、表面弾性波の到達時間を検出して接触位置を出力する超音波表面弾性波方式の他、周知の方式、および今後開発される任意の方式を採用できる。
【0027】
携帯情報端末10には、周知のブラウザが搭載されている。ブラウザは、HTTPプロトコルにしたがってサーバ12からウェブページを取得し、HTML等で記述された文書データを解析し、ウェブページを表示するためのレイアウト処理を行い、レイアウト処理されたウェブページをディスプレイに表示させる機能を有する。
【0028】
図2は、携帯情報端末10のハードウェア構成図である。携帯情報端末10は、CPU(Central Processing Unit)20、メインメモリ(RAM:Random Access Memory)22、ROM(Read Only Memory)24、音声制御装置26、不揮発性記憶装置32、表示制御装置34、入力装置38、通信制御装置40、外部記憶装置42、GPS受信機44および角度センサ48を備える。これらは、バス46を介して相互に接続される。
【0029】
CPU20は、オペレーティングシステムを動作させて携帯情報端末10の全体を制御する。また、ROM24から、または外部記憶装置42に装着された記録媒体からメインメモリ22にプログラムやデータを読み出し、これにしたがって各種の処理を実行する。メインメモリ22は、CPU20がプログラムの実行を行う際に必要となる一時記憶領域および作業領域、およびプログラムの実行に必要な各種のデータを格納する領域となる。ROM24は、CPU20が実行するコンピュータプログラムおよびデータを格納する読み出し専用の記憶装置である。
【0030】
音声制御装置26は、携帯電話を始めとする電話機能付きの携帯情報端末に設けられ、マイク28およびスピーカ30と接続されて、音声の入出力制御を行う。
【0031】
不揮発性記憶装置32は、電源オフ後も記憶内容を保持可能な記憶装置であり、ハードディスクドライブまたはフラッシュメモリ等の半導体メモリを含む。
【0032】
表示制御装置34は、CPUによって図示しないフレームバッファに描画されたデータを、携帯情報端末10に備えられたディスプレイ36で表示できるようにするためのビデオ信号を生成する。
【0033】
入力装置38は、ユーザが携帯情報端末10に対して操作の指示を入力するための装置である。入力装置38には、キー、トラックパッドなどのポインティングデバイス、各種ボタン、ディスプレイ36の表面に配置されるタッチパネル50など、携帯情報端末の種類に応じた任意のデバイスが含まれる。USB(Universal Serial Bus)端子等を介して携帯情報端末にマウスを接続して用いてもよい。
【0034】
通信制御装置40は、各種通信方式による音声およびデータの通信を制御する。データ通信方式は、IEEE802.1a/b/g/nなどの無線LAN、赤外線通信、パケット通信によるデータ通信などの任意の方式を含む。なお、ケーブルを使用して携帯情報端末10をネットワーク14に接続してもよい。
【0035】
外部記憶装置42は、交換可能な記録媒体を使用するドライブ装置である。記録媒体には、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどが含まれる。
【0036】
GPS受信機44は、人工衛星からの電波をもとに携帯情報端末の場所を測位する装置である。
【0037】
角度センサ48は、少なくともディスプレイ36の鉛直軸周りでの携帯情報端末10の回転角を検出可能なセンサであり、例えば3軸ジャイロセンサである。
【0038】
上述の各構成要素はいずれも周知のものであるから、これ以上詳細な説明は省略する。
【0039】
本実施形態では、携帯情報端末10において、従来からある縦長モードおよび横長モードに加えて、ディスプレイの縦枠または横枠に対してウェブページの文字列方向を傾けるように表示する、第3のモードである「斜めモード」を追加する。
【0040】
図3は、携帯情報端末10のうち、本実施形態に係る情報表示機能に関与する部分の構成を示す。この構成は、ハードウェア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウェア的には、ブラウザ、オペレーティングシステム、JavaScript、API(Application Programming Interface)などの協働により実現される。図3では、それらの組合せで実現されるもののうち、本実施形態に関与する部分のみを取り出して機能ブロックとして説明している。なお、図3に示されていない機能であっても、通常の携帯情報端末が備えている機能は当然に有しているものとする。
【0041】
また、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろなかたちでも実現できることは、当業者には理解されるところである。
【0042】
続いて、各機能ブロックの詳細を述べる。
【0043】
ページ取得部70は、ブラウザウインドウ内に表示中のウェブページにおけるハイパーリンクの選択に応じて、ネットワーク経由でウェブページファイルを受け取る。ウェブページファイルは、SGML(Standard Generalized Markup Language)、HTML(HyperText Markup Language)、XML(eXtensible Markup Language)などのマークアップ言語で記述されている。ウェブページファイルにJavaスクリプトなどのスクリプト言語が含まれていてもよい。
【0044】
一般に、ウェブページ内のハイパーリンクは、<a>要素を起点にしてhref属性でリンク先の絶対URL、相対URL、絶対パスを指定することで表現されている。ハイパーリンクには、通常、インターネット上に存在する情報リソースの位置を指し示すURLが関連付けられている。なお、本明細書でいう「URL」には、サーバ名、ポート番号、フォルダ名、ファイル名などで構成される文字列や、IP(Internet Protocol)アドレスで指定するものを含む。
【0045】
ページ保持部72は、ページ取得部70で受け取られたウェブページファイルを記憶する。ウェブページの表示内容を規定するCSS(Cascading Style Sheet)等の外部スタイルシートやEcmaScript等の外部スクリプトが存在する場合は、それらも合わせて記憶する。
【0046】
レンダリング部76は、ページ保持部72に格納されたハイパーリンクを含むウェブページファイルをメモリ上にレンダリングする。具体的には、レンダリング部76は、ウェブページファイルの論理的な構造を解釈し、各タグで定められた表現形式、テーブル、フレーム、画像データ、フォーム部品、テキストの折り返し、表示画面のサイズといった情報を用いて、ブラウザウインドウ内に表示されるウェブページのレイアウト処理を行う。このようなウェブページの解釈はパーサとして、レイアウト処理はレンダリングエンジンとして当業者には周知であるため、詳細な説明は省略する。
【0047】
表示出力部82は、メモリ上にレンダリングされた画像をブラウザウインドウ内に表示する。
【0048】
モード切り替え部84は、角度センサ48によって検出された、携帯情報端末10の鉛直軸周りでの回転角を受け取る。携帯情報端末が縦長モードまたは横長モードのいずれか一方と、斜めモードとを有する場合、モード切り替え部84は、角度センサで検出された回転角が所定のしきい値(例えば30°)を越えると、縦長モードまたは横長モードから斜めモードに切り替える。逆向きの回転の場合は、斜めモードから元の縦長モードまたは横長モードに戻す。なお、回転角は、縦モードまたは横モードにあるときのウインドウの鉛直方向下側の枠を基準線とした角度として定義される。
【0049】
携帯情報端末が、縦長モードと横長モードの両方と、斜めモードとを有する場合、しきい値を二つ(例えば、30°と60°)設けておき、第1のしきい値を越えると、縦長モードから斜めモードになり、第2のしきい値を越えると、斜めモードから横長モードに切り替わるように構成されることが好ましい。
【0050】
斜めモードに切り替えられた場合、レンダリング部76は、ディスプレイの表示領域内に表示されるウェブページの文字列が、ディスプレイの縦枠または横枠に対して所定の角度を持つようにウェブページをメモリ上にレンダリングする。このとき、レンダリング部76は、文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定してウェブページをメモリ上にレイアウトする。
【0051】
ウェブページに予め定義されている横幅が、文字列の表示方向におけるディスプレイの表示領域の最大長さよりも小さい場合、レンダリング部76の拡大部78は、ウェブページの横幅がディスプレイの表示領域の最大長さと略一致するように、ウェブページを拡大してメモリ上にレンダリングする。
【0052】
さらに、レンダリング部76の余白追加部80は、ウェブページのスクロール方向に対応する両端部に、ディスプレイの表示領域がウェブページのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングする。
【0053】
表示出力部82は、メモリ上にレンダリングされたウェブページのうち、ディスプレイの表示領域に対応する範囲をディスプレイに出力する。
【0054】
スクロール方向取得部86は、タッチパネル上でのユーザの指の動きを取得する。
【0055】
表示出力部82は、スクロール方向取得部86で受け取られたユーザの指の動きのうち、ディスプレイの表示領域上での文字列表示方向と平行または直交する方向のみをスクロール方向として受け取る。そして、メモリ上にレンダリングされたウェブページ上で、ディスプレイの表示領域に対応する範囲をスクロールする。
【0056】
また、表示出力部82は、スクロール方向取得部86により方向指示が受け取られている間は、メモリ上にレンダリングされたウェブページ上で追加の余白が含まれる位置までディスプレイの表示領域をスクロールし、スクロール方向取得部86により方向指示が受け取られなくなると、レンダリングされたウェブページ上で追加の余白を含まない位置まで表示領域を戻すようにしてもよい。
【0057】
続いて、図4〜図8を参照して、情報処理装置100の作用について説明する。
【0058】
図4は、斜めモードが選択されているとき、携帯情報端末10のディスプレイ120にウェブページ124が傾けられて表示された様子を示す。この例では、ウェブページ124はポータルサイトのホームページであり、複数のハイパーリンクが含まれているものとする。このように、ウェブページを傾けて表示することで、1行当たりに表示される文字数が増加するので、ユーザの閲覧性が向上する。
【0059】
一般に、携帯情報端末のディスプレイには、電波受信状態、電池残量、時刻等を表示するためのステータスバー領域122やブラウザのタイトルバーなどがウェブページとともに表示される。以下の説明では、これらを除いたコンテンツ表示領域D内にウェブページが表示されるものとして説明する。
【0060】
図5は、ディスプレイの表示領域Dの対角線長さとウェブページの横幅との関係を説明する図である。表示対象のウェブページ102において、テーブルタグ等によってページ幅が予め設定されている場合がある。図5に示すように、表示領域Dの対角線長Lよりもウェブページ102の設定幅が短い場合には、単にウェブページ102を傾けるようにして表示領域Dに表示させると、表示領域の隅に余白が生じてしまう。
【0061】
ディスプレイの表示領域Dのサイズおよび解像度は、携帯情報端末の種類に応じて異なるので、これに合わせてウェブページを拡大して表示する必要がある。以下、左右の拡大ピクセル数をdとして、dを算出する方法について説明する。
【0062】
まず、計算のための基本式を説明する。abs()は、()内の値の絶対値を求める関数であり、sqrt()は、()内の値の平方根を求める関数を表すものとする。
【0063】
図6(a)において、点p(x1, y1)を原点の周りに角度αだけ回転させた点p'(x2, y2)は、次式で求められる。
x2 = x1 * cos(α) - y1 * sin(α), y2 = x1 * sin(α) + y1 * cos(α) (1)
【0064】
図6(b)において、点p(x1, y1)を、点q(xq, yq)の周りに角度αだけ回転させた点p'(x2, y2)は、次式で求められる。
x2 = (x1 - xq) * cos(α) - (y1 - yq) * sin(α) + xq
y2 = (x1 - xq) * sin(α) + (y1 - yq) * cos(α) + yq (2)
【0065】
x軸に対する傾きがγの直線を角度αだけ回転させたときの直線の傾きは、tan(γ+α)(3)で表される。
【0066】
直線ax + by + c = 0の傾きは、- a/b(4)で表される。
【0067】
直線ax + by + c = 0が点p'(x2, y2)を通るときの定数cは、次式で表される。
c = - (a * x2 + b * y2)
【0068】
図6(c)において、点p(x1, y1)から直線ax + by + c = 0へ下ろした垂線の長さhは、次式で表される。
h = abs(a * x1 + b * y1 + c) / sqrt(a2 + b2)
【0069】
図7は、ディスプレイの表示領域Dと、傾けられたウェブページ102との関係を示す図である。図7において、ディスプレイの表示領域をD、対角線に対して角度αだけ傾けたウェブページを102で表している。上述したように、このままの状態では、表示領域Dの右上隅と左下隅に余白が生じるので、コンテンツを片側dピクセルずつ拡大する必要がある。拡大部78は、このdを算出する。
【0070】
まず、携帯端末のオペレーティングシステム(OS)から、ディスプレイ表示領域の右端および上端の絶対座標として、layout.right、layout.topを取得し、またディスプレイ表示領域の幅、高さのピクセル数として、layout.width、layout.heightを取得する。
【0071】
拡大部78は、図7における点pの座標と、コンテンツ表示領域の中央点qの座標を、次式によって算出する。
p(x1, y1) = (layout.right, layout.top)
q(xq, yq) = (layout.right / 2, layout.height / 2 + layout.top)
【0072】
式(1)を利用して、ウェブページ102の右上端p'(x2, y2)の座標は、以下のようになる。
x2 = (x1 - xq) * cos(α) - (y1 - yq) * sin(α) + xq
y2 = (x1 - xq) * sin(α) + (y1 - yq) * cos(α) + yq
【0073】
式(2)を利用して、直線lの傾きは、次式のようになる。
tan(π / 2 + α) = sin(π / 2 + α) / cos(π / 2 + α) = - cos(α) / sin(α)
【0074】
式(3)を利用して、直線lをax + by + c = 0で表したとすると、aは以下のようになる。
a = cos(α) * b = sin(α)
【0075】
式(4)より、c = - (a * x2 + b * y2)となる。
【0076】
式(5)より、以下のようになる。
d = abs(a * x1 + b * y1 + c) / sqrt(a2 * b2) = abs(a * x1 + b + y1 + c) / sqrt(cos(α) * cos(α) + sin(α) + sin(α)) = abs(a * x1 + b * y1 + c)
【0077】
上記のようにして算出されたdを使用して、拡大部78は、ウェブページ102の拡大後の横幅が、layout.width + 2 * dとなるように、ウェブページ102を拡大する。
【0078】
上記のようにしてウェブページを拡大表示しても、本実施形態の斜めモードにおいては、メモリ上にレンダリングされたウェブページの範囲内でしかディスプレイの表示範囲を動かせないようにすると、縦長および横長モードでは生じなかった問題が起こる。
【0079】
図8は、傾けてレンダリングされたウェブページ104内でディスプレイの表示領域Dを移動させる様子を示す図である。ウェブページ104は、表示領域Dの対角線Lと幅が等しくなるように調整済みであるとする。
【0080】
図中に(b)で示すように、表示領域Dをウェブページ104の上端に移動させた場合、表示領域Dの上側の三角形110および表示領域Dの右側の三角形112に相当する部分は、ディスプレイで表示することができなくなってしまう。これは、表示領域Dをウェブページの下端に移動させた場合も同様である。
【0081】
そこで、本実施形態では、表示領域Dをスクロールさせたときにウェブページ104の全体を表示できるように、ウェブページ104の上下に余白領域106、108を追加してレンダリングするようにする。これらの追加の余白領域106、108の長さは、表示領域Dの対角線がウェブページの上下辺に一致するまで(図中の(a)、(c)に相当)移動させられる長さ、すなわち、表示領域Dの頂点から対角線に下ろした垂線hの長さとなる。
【0082】
追加の余白領域は白色でもよいし、ウェブページとは関係のない領域であることを示すために、グレーなどの色を付けたり所定のパターンを付与したりしてもよい。
【0083】
図9(a)〜(c)は、余白領域を追加してレンダリングしたとき、ディスプレイの表示領域Dに表示されるウェブページの例を示す。図9(a)〜(c)は、図8の表示領域Dの位置(a)〜(c)とそれぞれ対応している。
【0084】
図9(b)では、表示領域Dの全体にウェブページのコンテンツが表示されるが、ウェブページの下端(a)や上端(b)に位置するときは、表示領域Dの半分に追加の余白領域116、118が表示される。このようにして、ウェブページをスクロールしてウェブページの全範囲を表示領域D内に表示することができる。
【0085】
余白領域116、118が表示される範囲にスクロールされたときは、スクロールした指が画面に触れている間だけ表示され、タッチスクリーンから指を離すと、バネ力が作用しているように表示領域の全体にコンテンツが表示されている位置まで、すなわちスクロール前の画面位置まで自動的に引き戻されるようにしてもよい。言い換えると、図9(b)の状態で、スクロールした指がスクリーンに触れている間だけ図9(c)の画面が表示され、指を離すと図9(b)の表示に復帰する。このようにすることで、余白領域を含む表示がページの端であることをユーザに知らせることができる。
【0086】
図10および図11は、本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。なお、ここでは携帯情報端末が縦長モード、横長モード、斜めモードの三つの表示モードを有するものとして説明する。
【0087】
角度センサ48が携帯情報端末10の回転角を検出する(S10)。モード切り替え部84は、鉛直軸を基準とした回転角が所定のしきい値を越え、携帯情報端末の長手方向が水平に近い角度である場合(S12のY)、表示モードを横長モードに切り替える(S20)。
【0088】
回転角が所定のしきい値未満であり、携帯情報端末の長手方向が垂直に近い角度である場合(S14のY)、表示モードを縦長モードに切り替える(S22)。S12およびS14のいずれにも当てはまらず、二つのしきい値の間である場合(S12のN、S14のN)、レンダリング部76が文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定してウェブページをメモリ上にレイアウトするか、または拡大部78がウェブページの横幅をディスプレイの表示領域の最大長さと略一致させるように、ウェブページを拡大してメモリ上にレンダリングする(S16)。
【0089】
モード切り替え部84は表示モードを斜めモードに切り替え、表示出力部82がメモリ上にレンダリングされたウェブページのうち、ディスプレイの表示領域に対応する範囲をディスプレイに出力する(S18)。
【0090】
続いて、図11において、タッチパネル50上でまたは入力装置によってスクロール操作がなされると(S30)、スクロール方向取得部86がウェブページの上端を越えてスクロールがなされていると判定すると(S32のY)、余白追加部80は、ウェブページの上端隅までディスプレイの表示領域が移動できるようにウェブページの上端に加えるべき余白の長さを計算し、レンダリング部76が余白を含めてメモリ上にレンダリングする(S36)。スクロール方向取得部86がウェブページの下端を越えてスクロールがなされていると判定すると(S34のY)、余白追加部80がウェブページの下端隅までディスプレイの表示領域が移動できるようにウェブページの下端に加えるべき余白の長さを計算し、レンダリング部76が余白を含めてメモリ上にレンダリングする(S38)。
【0091】
なお、上記の説明では、ディスプレイ表示範囲の対角線が文字列の表示方向と一致するようにウェブページを回転させることを述べた。しかしながら、文字列の表示方向は対角線と完全に一致していなくてもよく、ディスプレイの縦枠または横枠に対して任意の角度を選択することができる。この場合、上記の計算式において、対角線の長さの代わりに、文字列の表示方向におけるディスプレイ表示領域の最大の横幅を使用すればよい。図12に示すように、ディスプレイの横枠に対して文字列を傾ける角度がβ、表示領域Dの大きさがm×nであれば、ディスプレイ表示領域の最大の横幅はm * cos(β) + n * sin(β)で求めることができる。
【0092】
また、しきい値を越えたときに斜めモードに切り替えることを述べたが、角度に応じてウェブページの横幅がウインドウの水平方向最大長と一致するように変化するように構成してもよい。この場合、例えば縦長の保持状態から横長の保持状態にする間、ウェブページの横幅が徐々に拡大されていき、対角線が水平になるときに最大となり、横長になるまで徐々に減少していくように表示される。この変化は連続的でもよいし、所定角度毎(例えば、15°刻み)の不連続な変化でもよい。
【0093】
以上説明したように、本実施形態によれば、携帯情報端末のウインドウの対角線方向を利用することで、同一サイズ、同一解像度のウインドウで1行当たりの情報量を大きくすることができる。また、縦長モードおよび横長モードのいずれの場合よりも、縦方向の最大表示長さと横方向の最大表示長さが大きくなるため、ウェブページのレイアウトを把握しやすくなる。さらに、ウェブページの傾斜を維持したままでスクロールができるため、従来とは異なるブラウジング体験が得られる。
【0094】
近年では、エルゴノミクスの考え方を取り入れることが、工業製品の差別化戦略の一つとして重視されつつある。エルゴノミクスによると、人の手の構造上、人は物体を垂直または水平に保持するよりも、斜めに傾けた方が自然に保持することができることが分かっている。したがって、携帯情報端末も斜めに保持する方が、疲労が少なくなる。また、人間の目は球体なので、正面を中心として円形または横楕円形の目の動きが自然である。本実施形態のように対角線を水平にするようにページを表示すると、中心から円形または楕円形に近い方向に目を動かすことになるため、眼軸の移動範囲をより有効に利用することができる。このように、本実施形態による表示方法は、エルゴノミクスの考え方にも適応していると言える。
【0095】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0096】
実施の形態では、モード切り替え部84が、携帯情報端末が所定のしきい値以上傾けられたときに、ディスプレイの表示モードを斜めモードに切り替えることを述べたが、斜めモードへの切り替えは他の事象を契機としてもよい。例えば、モード切り替え部は、携帯情報端末に設けられているスイッチやボタンの操作、ディスプレイに表示されるメニュー画面等におけるモードの選択、タッチパネル上での特定の指の動きなどのユーザによる所定の動作を契機として、ディスプレイの表示モードを斜めモードに切り替えてもよい。
【0097】
実施の形態では、斜め表示モード時に、スクロール方向取得部がウェブページの上下端を越えてスクロールがなされていると判定すると、余白追加部がウェブページの上下端に加えるべき余白の長さを計算し、レンダリング部が余白を含めたウェブページをメモリ上にレンダリングすることを述べた。これに加え、またはこれの代わりに、スクロール方向取得部がウェブページの左右端を越えてスクロールがなされていると判定すると、余白追加部がウェブページの左右端に加えるべき余白の長さを計算し、レンダリング部が余白を含めたウェブページをメモリ上にレンダリングするように構成してもよい。
【0098】
実施の形態では、ブラウザでウェブページを表示する場合について説明したが、本発明は、ドキュメントファイルやPDF(Portable Document Format)ファイルなどのテキストコンテンツがメインのファイルをディスプレイで表示する場合にも適用することができる。
【0099】
実施の形態では、タッチパネルを入力装置として備えた携帯情報端末について説明したが、表示範囲を所望の方向に移動させられる限り、マウス、トラックボール、十字キー、タッチパッドなどの任意のポインティングデバイスを備えた携帯情報端末にも本発明を適用することができる。
【0100】
実施の形態では、本発明に係る表示機能を携帯電話やスマートフォンなどの携帯情報端末に実装することについて説明した。これらの端末以外でも、ディスプレイを回転させて保持することができ、閲覧の方向が縦または横に限定されないディスプレイを有している装置であれば、任意の装置に本発明を適用することができる。そのような装置として、例えばタブレットPC、電子ブックリーダー、ウェアラブルデバイス、PND(Portable Navigation Device)等がある。
【符号の説明】
【0101】
10 携帯情報端末、 36 ディスプレイ、 38 入力装置、 48 角度センサ、 50 タッチパネル、 70 ページ取得部、 72 ページ保持部、 76 レンダリング部、 78 拡大部、 80 余白追加部、 82 表示出力部、 84 モード切り替え部、 86 スクロール方向取得部。

【特許請求の範囲】
【請求項1】
携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示装置であって、
前記ディスプレイの表示領域内に表示される文書ファイルの文字列が前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするレンダリング部と、
レンダリングされた前記文書ファイルのうち、前記表示領域に対応する範囲を前記ディスプレイに出力する表示出力部と、
を備えることを特徴とする情報表示装置。
【請求項2】
前記レンダリング部は、前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向における前記ディスプレイの表示領域の最大長さと略等しい長さを横幅に設定して前記文書ファイルをレイアウトすることを特徴とする請求項1に記載の情報表示装置。
【請求項3】
前記レンダリング部は、前記文書ファイルに予め定義されている横幅が、文字列の表示方向における前記ディスプレイの表示領域の最大長さよりも小さい場合、前記文書ファイルの横幅が前記最大長さと略一致するように前記文書ファイルを拡大してレンダリングすることを特徴とする請求項1に記載の情報表示装置。
【請求項4】
ユーザにより操作される入力装置から方向指示を受け取る方向指示取得部をさらに備え、
前記表示出力部は、前記表示領域における文字列表示方向と平行または直交する方向を前記文書ファイルのスクロール方向として受け取り、前記レンダリングされた文書ファイル上で前記表示領域に対応する範囲をスクロールすることを特徴とする請求項1ないし3のいずれかに記載の情報表示装置。
【請求項5】
前記レンダリング部は、前記文書ファイルの前記スクロール方向に対応する両端部に、前記表示領域が前記文書ファイルのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングすることを特徴とする請求項4に記載の情報表示装置。
【請求項6】
前記表示出力部は、前記方向指示取得部により方向指示が受け取られている間、前記レンダリングされた文書ファイル上で前記余白が含まれる位置まで前記表示領域をスクロールし、前記方向指示取得部により方向指示が受け取られなくなると、前記レンダリングされた文書ファイル上で前記余白を含まない位置まで前記表示領域を戻すことを特徴とする請求項5に記載の情報表示装置。
【請求項7】
前記所定の角度は、前記表示領域の対角線と前記ディスプレイの縦枠または横枠とがなす角度であることを特徴とする請求項1ないし6のいずれかに記載の情報表示装置。
【請求項8】
コンピュータを備えた携帯情報端末に設けられたディスプレイに文書ファイルを表示させるプログラムであって、
前記ディスプレイの表示領域内に表示される文書ファイルの文字列が前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするレンダリング機能と、
レンダリングされた前記文書ファイルのうち、前記表示領域に対応する範囲を前記ディスプレイに出力する表示出力機能と、
をコンピュータに実現させるための情報表示プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate