JP2006098868A - 携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム - Google Patents
携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム Download PDFInfo
- Publication number
- JP2006098868A JP2006098868A JP2004286260A JP2004286260A JP2006098868A JP 2006098868 A JP2006098868 A JP 2006098868A JP 2004286260 A JP2004286260 A JP 2004286260A JP 2004286260 A JP2004286260 A JP 2004286260A JP 2006098868 A JP2006098868 A JP 2006098868A
- Authority
- JP
- Japan
- Prior art keywords
- enlargement
- group
- processing unit
- upper side
- target element
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 文字のサイズを拡大しても文字を欠けることなく表示することのできる携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラムを提供する。
【解決手段】 拡大対象要素特定部61は、文字の拡大指示があったときに、受信したBML文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する。拡大処理部63は、拡大対象要素の要素内容である文字を仮想画面上で拡大するとともに、文字の拡大率に応じて拡大対象要素を仮想画面上で垂直方向に拡大する。
【選択図】 図2
【解決手段】 拡大対象要素特定部61は、文字の拡大指示があったときに、受信したBML文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する。拡大処理部63は、拡大対象要素の要素内容である文字を仮想画面上で拡大するとともに、文字の拡大率に応じて拡大対象要素を仮想画面上で垂直方向に拡大する。
【選択図】 図2
Description
本発明は、携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラムに関し、特に文字サイズを拡大して表示する機能を有する携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラムに関する。
近年、映像および音声信号に文字や図形を多重化して伝送するデータ放送番組が実用に供されている。
このようなデータ放送では、ARIB(Association of Radio Industries and Businesses)によって、提示の一意性を維持することが推奨されている。提示の一意性とは、どのメーカの受信機でも放送業者が意図したものと同じ提示表現になることを意味する。
特許文献1では、データ放送の画面をマルチ画面表示の1画面として表示する場合に、提示の一意性を崩さず、ユーザに対してデータ放送の文字領域およびマルチ画面表示の視認性を向上する方法が記載されている。
すなわち、データ放送画面の縮小表示では、文字放送表示部分の領域を判断し、フォーカス表示して文字部分を分かりやすくするとともに、そのフォーカス部分をリモコンで選択することで文字領域を拡大表示する。また、フォーカス部分の色をARIBで決められたカラーボタン付きリモコンの色に合わせることで、データ放送画面の操作とを統一したリモコンボタンによる操作が可能となる。
特開2002−171457号公報
ところで、データ放送を携帯端末で受信することも可能となってきている。そして、携帯端末に表示されるデータ放送画面の文字のサイズを拡大表示したい場合がある。
携帯端末では、一般に縦方向に画面のスクロール機能があるが、横方向の画面スクロール機能がないため、文字サイズの縦および横の拡大率と同じ拡大率で文字を含むボックス要素を縦および横に拡大したのでは、ボックス要素が横方向に欠けてしまい、欠けた部分に配置される文字が表示できないという問題がある。
しかしながら、特許文献1には、携帯端末において文字のサイズを拡大しても、文字を欠けることなく表示する方法は記載されていない。
それゆえに、本発明の目的は、文字のサイズを拡大しても文字を欠けることなく表示することのできる携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラムを提供することである。
上記課題を解決するために、本発明の携帯端末は、水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末であって、仮想画面上での位置が指定されたボックス要素を含む文書を受信する受信部と、文字の拡大指示を受付ける操作入力部と、文字の拡大指示があったときに、文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する拡大対象要素特定部と、拡大対象要素の要素内容である文字を仮想画面上で拡大するとともに、文字の拡大率に応じて特定した拡大対象要素を仮想画面上で一方向に拡大する第1の拡大処理部とを備える。
好ましくは、第1の拡大処理部は、拡大対象要素の拡大前後で、拡大対象要素に最大限表示できる文字の数が同一となるように一方向の拡大率を算出し、算出した拡大率で拡大対象要素を一方向に拡大する。
好ましくは、一方向は垂直方向である。
好ましくは、携帯端末は、さらに、拡大対象要素をグループ分けするグループ化処理部と、各グループに含まれる拡大対象要素の拡大後の仮想画面上での再配置を行なう第1のレイアウト処理部とを備え、グループ化処理部は、1個のグループに属する各拡大対象要素は、他のグループに属する拡大対象要素と水平方向に重なりを有せず、かつグループに他の拡大対象要素がある場合には他の拡大対象要素のいずれかと水平方向に重なりを有するように、拡大対象要素のグループ分けを行い、第1の拡大処理部は、グループに含まれる1個以上の拡大対象要素の拡大率のうち、最大の拡大率をグループの拡大率として特定し、第1のレイアウト処理部は、グループに属する拡大対象要素のうち、上辺が最も上側に配置される拡大対象要素の上辺をグループの領域の上辺とし、下辺が最も下側に配置される拡大対象要素の下辺の位置をグループの領域の下辺とし、グループよりも上側に他のグループがあるときには、他のグループの領域の下辺の再配置前後の垂直方向の位置の変化量を他のグループについての第1の変化量とし、第1の変化量をグループに属する各拡大対象要素の上辺の位置および下辺の位置に加算して各拡大対象要素の再配置過程での上辺の位置および下辺の位置とし、グループよりも上側に他のグループがないときには、グループに属する各拡大対象要素の上辺の位置および下辺の位置を各拡大対象要素の再配置過程での上辺の位置および下辺の位置とし、さらに、グループに属する1個以上の拡大対象要素のうち、上辺が最も上側に配置される拡大対象要素の再配置過程での上辺の位置をグループの再配置過程での上辺の位置とし、さらに、グループの再配置過程での上辺の位置から、グループに属する各拡大対象要素の再配置過程での上辺および再配置過程での下辺までの距離をグループの拡大率で拡大し、拡大後の上辺の位置を拡大対象要素の配置領域の上限、拡大後の下辺の位置を拡大対象要素の配置領域の下限とし、第1のレイアウト処理部は、拡大後の各拡大対象要素が配置領域の上限と配置領域の下限の範囲内に収まる位置を拡大対象要素の拡大後の仮想画面上での再配置位置として決定する。
好ましくは、第1のレイアウト処理部は、配置領域の上限および配置領域の下限から等距離となる位置を拡大対象要素の拡大後の仮想画面上での再配置位置として決定する。
好ましくは、第1のレイアウト処理部は、拡大対象要素の拡大後の再配置位置の決定後、さらに、各グループの上辺が最も上側に配置される拡大対象要素の上辺の位置とグループの上辺の位置との差をグループについての第2の変化量とし、グループに属する拡大対象要素のすべてを第2の変化量だけ上方向に移動し、移動後の各拡大対象要素の位置を拡大対象要素の拡大後の仮想画面上での再配置位置として決定する。
好ましくは、拡大対象要素特定部は、さらに、文書に含まれるボックス要素のうち、その要素内容に文字を含まないボックス要素を拡大対象外要素として特定し、携帯端末は、さらに、拡大対象要素の配置の決定後、拡大対象外要素の仮想画面上での位置を決定する第2のレイアウト処理部を備え、第2のレイアウト処理部は、拡大対象外要素の上辺がいずれかのグループの領域にある場合において、グループよりも上側に他のグループがあるときに、他のグループについての第1の変化量を拡大対象外要素の上辺の位置に加算し、さらに、グループの再配置過程での上辺の位置から、拡大対象外要素の加算後の上辺までの距離をグループの拡大率で拡大し、拡大後の上辺の位置をさらに、グループについての第2の変化量だけ上方向に移動した位置を拡大対象外要素の配置領域の上限とし、拡大対象外要素の上辺がいずれかのグループの領域にある場合において、グループよりも上側に他のグループがないときに、グループの再配置過程での上辺の位置から、拡大対象外要素の上辺までの距離をグループの拡大率で拡大し、拡大後の上辺の位置をさらに、グループについての第2の変化量だけ上方向に移動した位置を拡大対象外要素の配置領域の上限とし、拡大対象外要素の上辺がいずれかのグループの領域にない場合において、拡大対象外要素よりも上側に他のグループがあるときに、他のグループについての第1の変化量を拡大対象外要素の上辺の位置に加算した位置を拡大対象外要素の配置領域の上限とし、拡大対象外要素の上辺がいずれかのグループの領域にない場合において、拡大対象外要素よりも上側に他のグループがないときには、拡大対象外要素の上辺の位置を拡大対象外要素の配置領域の上限とし、第2のレイアウト処理部は、拡大対象外要素の下辺がいずれかのグループの領域にある場合において、グループよりも上側に他のグループがあるときに、他のグループについての第1の変化量を拡大対象外要素の下辺の位置に加算し、さらに、グループの再配置過程での上辺の位置から、拡大対象外要素の加算後の下辺までの距離をグループの拡大率で拡大し、拡大後の下辺の位置をさらに、グループについての第2の変化量だけ上方向に移動した位置を拡大対象外要素の配置領域の下限とし、拡大対象外要素の下辺がいずれかのグループの領域にある場合において、グループよりも上側に他のグループがないときに、グループの再配置過程での上辺の位置から、拡大対象外要素の下辺までの距離をグループの拡大率で拡大し、拡大後の下辺の位置をさらに、グループについての第2の変化量だけ上方向に移動した位置を拡大対象外要素の配置領域の下限とし、拡大対象外要素の下辺がいずれかのグループの領域にない場合において、拡大対象外要素よりも上側に他のグループがあるときに、他のグループについての第1の変化量を拡大対象外要素の下辺の位置に加算した位置を拡大対象外要素の配置領域の下限とし、拡大対象外要素の下辺がいずれかのグループの領域にない場合において、拡大対象外要素よりも上側にグループがないときに、拡大対象外要素の下辺の位置を拡大対象外要素の配置領域の下限とし、第2のレイアウト処理部は、拡大対象外要素が配置領域の上限と配置領域の下限の範囲内に収まる位置を拡大対象外要素の仮想画面上での再配置位置として決定する。
好ましくは、第2のレイアウト処理部は、配置領域の上限および配置領域の下限から等距離となる位置を拡大対象外要素の仮想画面上での再配置位置として決定する。
好ましくは、拡大対象要素特定部は、さらに、拡大対象外要素のうちインプット要素を特定し、携帯端末は、さらに、インプット要素にフォーカスが当たったことを検出するフォーカス検出部と、フォーカスが当たったことが検出されたときに、インプット要素の属性値に含まれる文字を拡大するとともに、文字の拡大率に応じた拡大率でインプット要素を水平および垂直方向に拡大する第2の拡大処理部と、他のボックス要素との重なりを許容して、拡大したインプット要素の仮想画面上での位置を再配置する第3のレイアウト処理部とを備える。
好ましくは、フォーカス検出部は、フォーカスが当たったインプット要素からフォーカスが外れたことを検出し、第2の拡大処理部は、フォーカスが外れたことが検出されたときに、インプット要素の属性値に含まれる文字を拡大前の大きさにもどすとともに、インプット要素を拡大前の大きさにもどし、第3のレイアウト処理部は、インプット要素の仮想画面上での位置を再配置前の位置にもどす。
また、本発明の携帯端末の表示制御方法は、水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末の表示制御方法であって、仮想画面上での位置が指定されたボックス要素を含む文書を受信するステップと、文字の拡大指示を受付けるステップと、文字の拡大指示があったときに、文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定するステップと、拡大対象要素の要素内容である文字を仮想画面上で拡大するとともに、文字の拡大率に応じて特定した拡大対象要素を仮想画面上で一方向に拡大するステップとを含む。
好ましくは、拡大するステップは、拡大対象要素の拡大前後で、拡大対象要素に最大限表示できる文字の数が同一となるように一方向の拡大率を算出し、算出した拡大率で拡大対象要素を一方向に拡大する。
好ましくは、一方向は垂直方向である。
また、本発明の携帯端末の表示制御プログラムは、水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末の表示を制御するためにコンピュータを、文字の拡大指示があったときに、仮想画面上での位置が指定されたボックス要素を含む文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する拡大対象要素特定部と、拡大対象要素の要素内容である文字を仮想画面上で拡大するとともに、文字の拡大率に応じて特定した拡大対象要素を仮想画面上で一方向に拡大する第1の拡大処理部として機能させる。
好ましくは、第1の拡大処理部は、拡大対象要素の拡大前後で、拡大対象要素に最大限表示できる文字の数が同一となるように一方向の拡大率を算出し、算出した拡大率で拡大対象要素を一方向に拡大する。
好ましくは、一方向は垂直方向である。
本発明によれば、文字のサイズを拡大しても文字を欠けることなく表示することができる。
以下、本発明の実施の形態について、図面を用いて説明する。
[第1の実施形態]
(携帯端末の構成)
図1は、第1の実施形態に係る携帯端末の構成を示す図である。
(携帯端末の構成)
図1は、第1の実施形態に係る携帯端末の構成を示す図である。
図1を参照して、携帯端末1は、受信部2と、分離部3と、映像デコーダ4と、字幕・文字デコーダ5と、BML(Broadcast Markup Language)ブラウザ部6と、映像用仮想プレーン7と、字幕用仮想プレーン8と、BML用仮想プレーン9と、スケーリング部10と、フレームメモリ11と、表示部12と、操作入力部13とを備える。
操作入力部13は、ユーザからの操作を受付ける。
受信部2は、地上デジタル放送の放送局から送信される映像ストリームと、字幕・文字スーパーデータと、BML文書とが多重化されたデータを受信する。
分離部3は、多重化されたデータから個々のデータを分離する。
映像デコーダ4は、映像ストリームをデコードし、デコード結果である映像用仮想画面を映像用仮想プレーン7に書込む。
字幕・文字デコーダ5は、字幕・文字データをデコードして、デコード結果である字幕スーパー用仮想画面を字幕用仮想プレーン8に書込む。
BMLブラウザ部6は、BML文書からBML仮想画面を生成して、BML用仮想プレーン9に書込む。
映像用仮想プレーン7は、映像用仮想画面を格納するメモリである。
字幕用仮想プレーン8は、字幕スーパー用画面を格納するメモリである。
BML用仮想プレーン9は、BML仮想画面(縦480画素以上、横240画素)を格納するメモリである。
スケーリング部10は、各プレーン7、8、9に格納されている仮想画面のうちの一部または全部をスケーリングし、フレームメモリ11に書込む。
フレームメモリ11は、表示部12の画素数分のデータを格納する。ユーザが操作入力部13から縦スクロールすると、フレームメモリ11へ書込まれるBML用仮想画面の領域が垂直方向に変化する。
表示部12は、フレームメモリ11のデータを表示する液晶である。
(BMLブラウザ部6)
BMLブラウザ部6は、図示しないROM(Read Only Memory)に格納された表示制御プログラム(ブラウザプログラム)が、図示しないCPU(Central Processing Unit)によって実行されることによって実現される。
BMLブラウザ部6は、図示しないROM(Read Only Memory)に格納された表示制御プログラム(ブラウザプログラム)が、図示しないCPU(Central Processing Unit)によって実行されることによって実現される。
図2は、BMLブラウザ部6の機能ブロック図である。
図2を参照して、BMLブラウザ部6は、拡大対象要素特定部61と、グループ化処理部62と、拡大処理部63と、拡大対象要素再レイアウト処理部64と、拡大対象外要素再レイアウト処理部65と、仮想画面描画部66とを備える。これらの各構成要素の説明は、以下の動作の説明において行なう。
(BML文書)
BML文書に、仮想画面上の位置指定を行なうためのスタイルシートCSS(Cascading Styling Sheet)2が付加されている。
BML文書に、仮想画面上の位置指定を行なうためのスタイルシートCSS(Cascading Styling Sheet)2が付加されている。
BML文書は、木構造の形式をとる。すなわち、html要素の下位にはhead要素とbody要素とがある。body要素の下には、文書の内容に応じて木構造が展開される。木構造において1つ上位の階層にある要素を「親要素」といい、1つ下位の階層にある要素を「子要素」という。
地上デジタル放送の携帯端末向けサービスに関するARIB運用規定によると、スタイルシートCSS2が付加されたBML文書に含まれるinput要素、textarea要素、img要素、object要素、div要素、form要素、p要素、pre要素を総称して、ボックス要素という。
ボックス要素は、{left, top, width, height}で位置指定される。ここで、leftは親要素のボックス左上端からそのボックス要素の左上端までの水平距離(ピクセル数)、つまり仮想画面上で親要素のボックス左上端を原点としたときのそのボックス要素の左辺のX座標を表す。topは親要素のボックス左上端からそのボックス要素の左上端までの垂直距離(ピクセル数)、つまり仮想画面上で親要素のボックス左上端を原点としたときのそのボックス要素の上辺のY座標を表す。widthは仮想画面上での幅(ピクセル数)を表し、heightは仮想画面上での高さ(ピクセル数)を表す。なお、仮想画面の左端のX座標が0で、仮想画面の上端のY座標が0とする。
図3は、BML文書の例を表す図である。図4は、図3のBML文書の木構造を表す図である。図5は、図3のBML文書によって仮想画面メモリに書込まれる画面の例を表す図である。
これらの図を参照して、このBML文書には、body要素の下位にp要素(idinp1)、p要素(idinp2)、p要素(idinp3)、div要素(idiv)が存在し、div要素(idiv)の下位にimg要素(img)が存在する。
p要素(idinp1)には、位置(0,0,240,100)を指定するスタイルが設定されている。また、開始タグと終了タグの間に要素内容“[ファイル1枚目(野球)](改行)A×B(改行)3回裏 Bの攻撃(改行)1対2でBがリード”が記述されている。
p要素(idinp2)は、位置(0,100,240,60)を指定するスタイルが設定されている。また、開始タグと終了タグの間に要素内容“サイン入りボールがあたるアンケートを実施中(改行)”が記述されている。
p要素(idinp3)には、位置(100,160,120,60)を指定するスタイルが設定されている。また、開始タグと終了タグの間に要素内容“ファイル2へ”が記述されている。
div要素(idiv)には、位置(0,220,200,200)を指定するスタイルが設定されている。また、開始タグと終了タグの間に要素内容の記述がない。
img要素(img)には、親要素であるdiv要素からの相対位置(20,20,180,180)を指定するスタイルが設定されており、img要素の仮想画面上での位置は(20,240,180,180)となる。また、開始タグと終了タグの間に要素内容の記述がない。
(動作)
図6〜図10は、第1の実施形態に係る携帯端末の文字拡大表示処理の手順を表わすフローチャートである。この処理プログラムは、図示しないROMに格納されており、図示しないCPUによって実行される。
図6〜図10は、第1の実施形態に係る携帯端末の文字拡大表示処理の手順を表わすフローチャートである。この処理プログラムは、図示しないROMに格納されており、図示しないCPUによって実行される。
以下の説明では、BML文書において、ボックス要素rの仮想画面上での位置{左辺のX座標、上辺のY座標、幅、高さ}が{{L(r)、T(r)、W(r)、H(r)}として記述されているものとする。
(拡大対象要素の特定)
図6を参照して、まず、操作入力部から文字サイズを拡大する指示があると(ステップS101)、拡大対象要素特定部61は、拡大対象要素番号Mを0に設定する(ステップS102)。
図6を参照して、まず、操作入力部から文字サイズを拡大する指示があると(ステップS101)、拡大対象要素特定部61は、拡大対象要素番号Mを0に設定する(ステップS102)。
次に、拡大対象要素特定部61は、BML文書を参照して、仮想画面に配置されるボックス要素のうち、仮想画面上で最も上に配置されたボックス要素、すなわち上辺のY座標が最も小さいボックス要素を選択する(ステップS103)。
次に、拡大対象要素特定部61は、選択したボックス要素の要素内容に文字を含むか否かを調べる(ステップS104)。
拡大対象要素特定部61は、要素内容に文字を含む場合には(ステップS104でYES)、選択したボックス要素を第M番目の拡大対象要素として特定する。拡大対象要素特定部61は、拡大対象要素番号Mをインクリメントする(ステップS105)。また、拡大対象要素特定部61は、要素内容に文字を含まない場合には(ステップS104でNO)、ステップS105をスキップする。
次に、拡大対象要素特定部61は、BML文書を参照して、調べていないボックス要素があるときには(ステップS106でNO)、次のボックス要素、すなわち、上辺のY座標が次に大きなボックス要素を選択して(ステップS107)、ステップS104に戻る。なお、上辺のY座標が等しいボックス要素が複数個あるときには、左辺のX座標が小さいボックス要素から選択する。
グループ化処理部62は、すべてのボックス要素を調べ終え(ステップS106でYES)、BML文書中に拡大対象要素が存在するときには(ステップS108でYES)、拡大対象要素のグループ化処理を実行する(ステップS109)。BML文書中に拡大対象要素が存在しないときには(ステップS108でNO)、文字拡大表示処理を終了する。
(グループ化処理)
次に、図7を参照して、ステップS109のグループ化処理の手順を説明する。
次に、図7を参照して、ステップS109のグループ化処理の手順を説明する。
まず、グループ化処理部62は、グループ番号Nを0に設定し、拡大対象要素番号Mを0に設定する(ステップS201)。
次に、グループ化処理部62は、第0番目の拡大対象要素を第0グループに登録する(ステップS202)。
次に、グループ化処理部62は、第(M+1)番目の拡大対象要素が存在するか否かを調べる(ステップS203)。
グループ化処理部62は、第(M+1)番目の拡大対象要素が存在する場合には(ステップS203でYES)、第M番目の拡大対象要素と第(M+1)番目の拡大対象要素とが仮想画面の水平方向について重なりを有するか、つまり、第M番目の拡大対象要素の上辺の座標と下辺の座標との間に、第(M+1)番目の拡大対象要素の上辺の座標があるかを調べる(ステップS204)。
グループ化処理部62は、重なりを有する場合には(ステップS204でYES)、拡大対象要素番号Mをインクリメントする(ステップS205)。
次に、グループ化処理部62は、第M番目の拡大対象要素をグループ番号Nのグループに登録し(ステップS206)、ステップS203に戻る。
ステップS203において、第(M+1)番目の拡大対象要素が存在しない場合(ステップS203でNO)、またはステップS204において、第M番目の拡大対象要素と第(M+1)番目の拡大対象要素とが仮想画面の水平方向について重なりを有しない場合(ステップS204でNO)、グループ化処理部62は、グループ番号Nの拡大対象要素の拡大および再レイアウト処理を実行する(ステップS207)。
次に、グループ化処理部62は、第(M+1)番目の拡大対象要素が存在する場合(ステップS208でYES)、グループ番号Nをインクリメントし(ステップS209)、ステップS205に移行する。
また、グループ化処理部62は、第(M+1)番目の拡大対象要素が存在しない場合(ステップS208でNO)、拡大対象外要素の再レイアウト処理を実行する(ステップS210)。
(グループ番号Nの拡大対象要素の拡大および再レイアウト処理)
次に、図8を参照して、ステップS207のグループ番号Nの拡大対象要素の拡大の手順を説明する。
次に、図8を参照して、ステップS207のグループ番号Nの拡大対象要素の拡大の手順を説明する。
まず、拡大処理部63は、第Nグループに属する各拡大対象要素Miの垂直方向の拡大率S(Mi)を算出する。すなわち、拡大処理部63は、拡大前のボックス要素Miにおいて拡大前の文字の大きさで最大限表示できる文字の数と、拡大後のボックス要素Miにおいて拡大後の文字の大きさで最大限表示できる文字の数が同一となるように拡大率S(Mi)を算出する。
より具体的には、拡大率S(Mi)は、以下のようにして算出される。
拡大前に、ボックス要素Miにおいて1文字を表示するために必要な大きさをfx(Mi)画素×fy(Mi)画素とする。そうすると、ボックス要素Miにおいて、拡大前に1行に表示できる文字数nxは[W(Mi)/fx(Mi)]であり、拡大前の行数nyは[H(Mi)/fy(Mi)]である。ここで[A]は、Aの小数点以下の切下げを表わす。したがって、ボックス要素Miにおいて拡大前に最大限表示できる文字数Nfは、nx×ny個となる。
一方、拡大後に1文字を表示するために必要な大きさをfx′(Mi)画素×fy′(Mi)画素とする。これは、ボックス要素Miごとに予め定められているものとする。そうすると、ボックス要素Miにおいて、拡大後に1行に表示できる文字数nx′は[W(Mi)/fx′(Mi)]であり、拡大後の行数ny′は[S(Mi)×H(Mi)/fy′(Mi)]とである。したがって、ボックス要素Miにおいて拡大後に最大限表示できる文字数Nf′は、nx′×ny′個となる。
以上より、拡大率S(Mi)は、以下の式を満足する解として算出できる。
[W(Mi)/fx(Mi)]×[H(Mi)/fy(Mi)]
=[W(Mi)×fx′(Mi)]×[S(Mi)×H(Mi)×fy′(Mi)]
なお、上記の式を満足する解S(Mi)は複数個あるが、複数個の解のうち、[S(Mi)×H(Mi)×fy′(Mi)]において、小数点以下の切下げ量が最小のものを選択するものとしてもよい。
=[W(Mi)×fx′(Mi)]×[S(Mi)×H(Mi)×fy′(Mi)]
なお、上記の式を満足する解S(Mi)は複数個あるが、複数個の解のうち、[S(Mi)×H(Mi)×fy′(Mi)]において、小数点以下の切下げ量が最小のものを選択するものとしてもよい。
上記の式より、拡大率S(Mi)は、拡大前後の文字のサイズの比(fx′/fx)、(fy′/fy)と、小数点以下の切下げ量に依存する(ステップS301)。
次に、拡大処理部63は、第Nグループに属する各拡大対象要素Miの高さがH(Mi)のときに、各拡大対象要素Miの拡大後の高さH1(Mi)を以下の式で算出する(ステップS302)。
H1(Mi)=S(Mi)×H(Mi)
次に、拡大処理部63は、第Nグループに属する各拡大対象要素Miの垂直方向の拡大率S(Mi)のうち、最大の拡大率を第Nグループの垂直方向の拡大率S(GN)とする(ステップS303)。
次に、拡大処理部63は、第Nグループに属する各拡大対象要素Miの垂直方向の拡大率S(Mi)のうち、最大の拡大率を第Nグループの垂直方向の拡大率S(GN)とする(ステップS303)。
次に、第Nグループに属する先頭の拡大対象要素Mt(上辺のY座標が最も小さい拡大対象要素)の上辺のY座標がT(Mt)、第Nグループに属する最後の拡大対象要素Mb(下辺のY座標が最も大きい拡大対象要素)の下辺のY座標がB(Mb)のときに、第Nグループの領域の高さH(G)を、以下の式で算出する(ステップS304)。
H(GN)=B(Mb)−T(Mt)
第Nグループの領域の拡大後の高さH1(GN)を以下の式で算出する(ステップS305)。
第Nグループの領域の拡大後の高さH1(GN)を以下の式で算出する(ステップS305)。
H1(GN)=S(GN)×H(GN)
以上のように、拡大対象要素をスクロール可能な方向である垂直方向のみに拡大するので、文字の拡大によって文字が欠けて表示できなくなるのを防止することができる。
以上のように、拡大対象要素をスクロール可能な方向である垂直方向のみに拡大するので、文字の拡大によって文字が欠けて表示できなくなるのを防止することができる。
(グループ番号Nの拡大対象要素の再レイアウト処理)
次に、図9を参照して、ステップS207のグループ番号Nの拡大対象要素の再レイアウトの手順を説明する。
次に、図9を参照して、ステップS207のグループ番号Nの拡大対象要素の再レイアウトの手順を説明する。
まず、拡大対象要素再レイアウト処理部64は、第Nグループに属する各拡大対象要素Miの上辺のY座標T(Mi)に、各拡大対象要素Miの高さH(Mi)を加算して、下辺のY座標B(Mi)を算出する(ステップS401)。
次に、拡大対象要素再レイアウト処理部64は、第(N−1)グループの拡大および再レイアウトの前後の第(N−1)グループの領域の下辺のY座標の変化量DN-1を算出する。ただし、N=のときにはDN-1は0である(ステップS402)。
次に、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループに属する各拡大対象要素Miの上辺のY座標T(Mi)に変化量DN-1を加算して、上辺のY座標T1(Mi)を算出し、各拡大対象要素Miの下辺のY座標B(Mi)に変化量DN-1を加算して下辺のY座標B1(Mi)を算出する(ステップS403)。
T1(Mi)=T(Mi)+DN-1
B1(Mi)=B(Mi)+DN-1
次に、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループに属する先頭の拡大対象要素Mtの上辺のY座標T1(Mt)を第Nグループの領域の上辺のT1(GN)とし、第Nグループに属する最後の拡大対象要素Mbの下辺のY座標B1(Mb)を第Nグループの領域の下辺のY座標B1(GN)とする(ステップS404)。
B1(Mi)=B(Mi)+DN-1
次に、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループに属する先頭の拡大対象要素Mtの上辺のY座標T1(Mt)を第Nグループの領域の上辺のT1(GN)とし、第Nグループに属する最後の拡大対象要素Mbの下辺のY座標B1(Mb)を第Nグループの領域の下辺のY座標B1(GN)とする(ステップS404)。
T1(GN)=T1(Mt)
B1(GN)=B1(Mb)
拡大対象要素再レイアウト処理部64は、第Nグループの領域の上辺(T1(GN)から、第Nグループに属する各拡大対象要素(Mi)の上辺T1(Mi)および下辺B1(Mi)までの距離を第Nグループの拡大率S(GN)で拡大し、拡大後の上辺の位置を拡大対象要素Miの配置領域の上限T2(Mi)とし、拡大後の下辺の位置を拡大対象要素Miの配置領域の下限B2(Mi)とする。すなわち、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループの領域の拡大後の各拡大対象要素Miの配置領域の上限T2(Mi)および下限B2(Mi)を算出する(ステップS405)。
B1(GN)=B1(Mb)
拡大対象要素再レイアウト処理部64は、第Nグループの領域の上辺(T1(GN)から、第Nグループに属する各拡大対象要素(Mi)の上辺T1(Mi)および下辺B1(Mi)までの距離を第Nグループの拡大率S(GN)で拡大し、拡大後の上辺の位置を拡大対象要素Miの配置領域の上限T2(Mi)とし、拡大後の下辺の位置を拡大対象要素Miの配置領域の下限B2(Mi)とする。すなわち、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループの領域の拡大後の各拡大対象要素Miの配置領域の上限T2(Mi)および下限B2(Mi)を算出する(ステップS405)。
T2(Mi)=T1(GN)+S(GN)×(T1(Mi)―T1(GN))
B2(Mi)=T1(GN)+S(GN)×(B1(Mi)―T1(GN))
次に、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループの領域の拡大後の第Nグループの領域の上辺のY座標T2(GN)および下辺のY座標B2(GN)は、以下のようにする(ステップS406)。
B2(Mi)=T1(GN)+S(GN)×(B1(Mi)―T1(GN))
次に、拡大対象要素再レイアウト処理部64は、以下のように、第Nグループの領域の拡大後の第Nグループの領域の上辺のY座標T2(GN)および下辺のY座標B2(GN)は、以下のようにする(ステップS406)。
T2(GN)=T2(Mt)=T1(GN)
B2(GN)=B2(Mb)=T1(GN)+H1(GN)
次に、拡大対象要素再レイアウト処理部64は、各拡大対象要素Miの水平方向の中心線が、その上限T2(Mi)と下限B2(Mi)から等距離にある位置になるように各拡大対象要素Miを移動する。移動後の各拡大対象要素Miの上辺のY座標T3(Mi)および下辺のY座標B3(Mi)は、以下のようになる(ステップS407)。
B2(GN)=B2(Mb)=T1(GN)+H1(GN)
次に、拡大対象要素再レイアウト処理部64は、各拡大対象要素Miの水平方向の中心線が、その上限T2(Mi)と下限B2(Mi)から等距離にある位置になるように各拡大対象要素Miを移動する。移動後の各拡大対象要素Miの上辺のY座標T3(Mi)および下辺のY座標B3(Mi)は、以下のようになる(ステップS407)。
T3(Mi)={T2(Mi)+B2(Mi)}/2−H1(Mi)/2
B3(Mi)={T2(Mi)+B2(Mi)}/2+H1(Mi)/2
以上のように、拡大対象要素のグループ分けを行い、グループごとに拡大率を変えて、拡大対象要素を再配置することによって、仮想画面を一律に拡大する方法に比べて、仮想画面が必要以上に垂直方向に伸張されないので、ユーザに余計なスクロール操作を強いることを防止することができる。
B3(Mi)={T2(Mi)+B2(Mi)}/2+H1(Mi)/2
以上のように、拡大対象要素のグループ分けを行い、グループごとに拡大率を変えて、拡大対象要素を再配置することによって、仮想画面を一律に拡大する方法に比べて、仮想画面が必要以上に垂直方向に伸張されないので、ユーザに余計なスクロール操作を強いることを防止することができる。
また、同一のグループに属する拡大対象要素どうしは、水平方向の位置関係をできるだけ維持することができ、提示の一意性を確保できる。
次に、拡大対象要素再レイアウト処理部64は、拡大対象要素Mtの上辺のY座標T3(Mt)が第Nグループの領域の上辺のY座標T2(GN)に一致するように、各拡大対象要素Miを垂直方向に平行移動する。移動後の各拡大対象要素Miの上辺のY座標T4(Mi)および下辺のY座標B4(Mi)は、以下のようになる(ステップS408)。
αN=T3(Mt)−T2(GN)
T4(Mi)=T3(Mi)−αN
B4(Mi)=B3(Mi)−αN
以上のような再レイアウトによって、仮想画面が必要以上に垂直方向に伸張されないので、ユーザに余計なスクロール操作を強いることを防止することができる。
T4(Mi)=T3(Mi)−αN
B4(Mi)=B3(Mi)−αN
以上のような再レイアウトによって、仮想画面が必要以上に垂直方向に伸張されないので、ユーザに余計なスクロール操作を強いることを防止することができる。
次に、拡大対象要素再レイアウト処理部64は、移動後の第Nグループの領域の下辺のY座標B4(GN)を以下のように算出する(ステップS409)。
B4(GN)=B2(GN)−αN=B4(Mb)
次に、仮想画面描画部66は、仮想画面メモリに各拡大対象要素Miを書込む。各拡大対象要素の位置{左辺のX座標、上辺のY座標、幅、高さ}は、{L(Mi)、T4(Mi)、W(Mi)、H1(Mi)}とする。また、各拡大対象要素内の文字は拡大後の文字サイズで書込まれる(ステップS410)。
次に、仮想画面描画部66は、仮想画面メモリに各拡大対象要素Miを書込む。各拡大対象要素の位置{左辺のX座標、上辺のY座標、幅、高さ}は、{L(Mi)、T4(Mi)、W(Mi)、H1(Mi)}とする。また、各拡大対象要素内の文字は拡大後の文字サイズで書込まれる(ステップS410)。
(拡大対象外要素の再レイアウト処理)
次に、図10を参照して、ステップS210の拡大対象外要素の再レイアウト処理の手順を説明する。
次に、図10を参照して、ステップS210の拡大対象外要素の再レイアウト処理の手順を説明する。
まず、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの上辺がいずれかのグループ内領域にあるか、グループ外領域にあるかを調べる(ステップS501)。
拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの上辺が第Kグループの領域にあるときは(ステップS501でYES)、拡大対象外要素Pjの上辺のY座標T(Pj)に位置変化量DK-1を加算して、上辺のY座標T1(Pj)を算出する。ただし、K=0のときには、DK-1は0である(ステップS502)。
T1(Pj)=T(Pj)+DK-1
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第Kグループの領域の拡大による拡大対象外要素Pjの配置領域の上限T2(Pj)を算出する(ステップS503)。
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第Kグループの領域の拡大による拡大対象外要素Pjの配置領域の上限T2(Pj)を算出する(ステップS503)。
T2(Pj)=T1(GK)+S(GK)×(T1(Pj)―T1(GK))
次に、拡大対象外要素再レイアウト処理部65は、第Kグループの拡大対象要素の上辺をαKだけ垂直上方向に移動させたのと同様に、拡大対象外要素Pjの上辺をαKだけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの上辺のY座標T3(Pj)は、以下のようになる(ステップS504)。
次に、拡大対象外要素再レイアウト処理部65は、第Kグループの拡大対象要素の上辺をαKだけ垂直上方向に移動させたのと同様に、拡大対象外要素Pjの上辺をαKだけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの上辺のY座標T3(Pj)は、以下のようになる(ステップS504)。
T3(Pj)=T2(Pj)−αK
一方、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの上辺がグループ外領域にあるときには(ステップS501でNO)、拡大対象外要素Pjの上辺の画面の上方(Y座標が小さい方向)にいずれかのグループの領域があるかどうかを調べる(ステップS505)。
一方、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの上辺がグループ外領域にあるときには(ステップS501でNO)、拡大対象外要素Pjの上辺の画面の上方(Y座標が小さい方向)にいずれかのグループの領域があるかどうかを調べる(ステップS505)。
拡大対象外要素再レイアウト処理部65は、画面の上方に第Hグループの領域があるときには(ステップS505でYES)、拡大対象外要素Pjの上辺のY座標T(Pj)に変化量DH-1を加算して、上辺のY座標T3(Pj)を算出する(ステップS506)。
T3(Pj)=T(Pj)+DH-1
次に、拡大対象外要素再レイアウト処理部65は、画面の上方にグループの領域が存在しないときには(ステップS505でNO)、以下のように拡大対象外要素Pjの上辺のY座標T(Pj)を変化させない(ステップS507)。
次に、拡大対象外要素再レイアウト処理部65は、画面の上方にグループの領域が存在しないときには(ステップS505でNO)、以下のように拡大対象外要素Pjの上辺のY座標T(Pj)を変化させない(ステップS507)。
T3(Pj)=T(Pj)
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの下辺がいずれかのグループ内領域にあるか、グループ外領域にあるかを調べる(ステップS508)。
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの下辺がいずれかのグループ内領域にあるか、グループ外領域にあるかを調べる(ステップS508)。
拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの下辺が第Uグループの領域にあるときは(ステップS508でYES)、拡大対象外要素Pjの下辺のY座標B(Pj)に変化量DU-1を加算して、下辺のY座標B1(Pj)を算出する。ただし、U=0のときには、DU-1は0である(ステップS509)。
B1(Pj)=B(Pj)+DU-1
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第Uグループの領域の拡大による拡大対象外要素Pjの配置領域の下限B2(Pj)を算出する(ステップS510)。
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第Uグループの領域の拡大による拡大対象外要素Pjの配置領域の下限B2(Pj)を算出する(ステップS510)。
B2(Pj)=B1(GU)+S(GU)×(B1(Pj)―B1(GU))
次に、拡大対象外要素再レイアウト処理部65は、第Uグループの拡大対象要素の下辺をαUだけ垂直上方向に移動させたと同様に、拡大対象外要素Pjの下辺をαUだけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの下辺のY座標B3(Pj)は、以下のようになる(ステップS511)。
次に、拡大対象外要素再レイアウト処理部65は、第Uグループの拡大対象要素の下辺をαUだけ垂直上方向に移動させたと同様に、拡大対象外要素Pjの下辺をαUだけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの下辺のY座標B3(Pj)は、以下のようになる(ステップS511)。
B3(Pj)=B2(Pj)−αU
一方、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの下辺がグループ外領域にあるときには(ステップS508でNO)、拡大対象外要素Pjの下辺の画面の上方(Y座標が小さい方向)にいずれかのグループの領域があるかどうかを調べる(ステップS512)。
一方、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjの下辺がグループ外領域にあるときには(ステップS508でNO)、拡大対象外要素Pjの下辺の画面の上方(Y座標が小さい方向)にいずれかのグループの領域があるかどうかを調べる(ステップS512)。
拡大対象外要素再レイアウト処理部65は、画面の上方に第Vグループの領域があるときには(ステップS512でYES)、拡大対象外要素Pjの下辺のY座標B(Pj)に位置変化量DV-1を加算して、下辺のY座標B3(Pj)を算出する(ステップS513)。
B3(Pj)=B(Pj)+DV-1
次に、拡大対象外要素再レイアウト処理部65は、画面の上方にグループの領域が存在しないときには(ステップS512でNO)、以下のように拡大対象外要素Pjの下辺のY座標B(Pj)を変化させない(ステップS514)。
次に、拡大対象外要素再レイアウト処理部65は、画面の上方にグループの領域が存在しないときには(ステップS512でNO)、以下のように拡大対象外要素Pjの下辺のY座標B(Pj)を変化させない(ステップS514)。
B3(Pj)=B(Pj)
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjを、その上限T3(Pj)と下限B3(Pj)から等距離にある位置に移動する。移動後の拡大対象要素Pjの上辺のY座標T4(Pj)および下辺のY座標B4(Pj)は、以下のようになる(ステップS515)。
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Pjを、その上限T3(Pj)と下限B3(Pj)から等距離にある位置に移動する。移動後の拡大対象要素Pjの上辺のY座標T4(Pj)および下辺のY座標B4(Pj)は、以下のようになる(ステップS515)。
T4(Mi)={T3(Pj)+B3(Pj)}/2−H(Pj)/2
B4(Mi)={T3(Pj)+B3(Pj)}/2+H(Pj)/2
以上のような再レイアウトによって、拡大対象外要素の他のボックス要素との水平方向の位置関係をできるだけ維持することができ、提示の一意性を確保できる。
B4(Mi)={T3(Pj)+B3(Pj)}/2+H(Pj)/2
以上のような再レイアウトによって、拡大対象外要素の他のボックス要素との水平方向の位置関係をできるだけ維持することができ、提示の一意性を確保できる。
次に、仮想画面描画部66は、仮想画面メモリに拡大対象外要素Pjを書込む。拡大対象外要素の位置{左辺のX座標、上辺のY座標、幅、高さ}は、{L(Pj)、T4(Pj)、W(Pj)、H(Pj)}とする(ステップS516)。
(具体例)
次に、図11の画面を例にして文字拡大表示処理の手順を説明する。
次に、図11の画面を例にして文字拡大表示処理の手順を説明する。
(拡大対象要素の特定)
まず、操作入力部から文字サイズ拡大指示があると、拡大対象要素特定部61は、拡大対象要素番号Mを0に設定する。
まず、操作入力部から文字サイズ拡大指示があると、拡大対象要素特定部61は、拡大対象要素番号Mを0に設定する。
次に、拡大対象要素特定部61は、BML文書を参照して、仮想画面に配置されるボックス要素のうち、上辺のY座標が最小のボックス要素Aを選択する。
次に、拡大対象要素特定部61は、選択したボックス要素Aの要素内容に文字を含むか否かを調べる。拡大対象要素特定部61は、ボックス要素Aの要素内容に文字を含むので、ボックス要素Aを第0番目の拡大対象要素として特定する。拡大対象要素特定部61は、拡大対象要素番号Mを1にインクリメントする。
次に、拡大対象要素特定部61は、BML文書を参照して、上辺のY座標が次に大きなボックス要素Bを選択する。
次に、拡大対象要素特定部61は、選択したボックス要素Bの要素内容に文字を含むか否かを調べる。拡大対象要素特定部61は、ボックス要素Bが要素内容に文字を含むので、ボックス要素Bを第1番目の拡大対象要素として特定する。拡大対象要素特定部61は、拡大対象要素番号Mを2にインクリメントする。
次に、拡大対象要素特定部61は、BML文書を参照して、上辺のY座標が次に大きなボックス要素Cを選択する。
次に、拡大対象要素特定部61は、選択したボックス要素Cの要素内容に文字を含むか否かを調べる。拡大対象要素特定部61は、ボックス要素Cが要素内容に文字を含むので、ボックス要素Cを第2番目の拡大対象要素として特定する。拡大対象要素特定部61は、拡大対象要素番号Mを3にインクリメントする。
次に、拡大対象要素特定部61は、BML文書を参照して、上辺のY座標が次に大きなボックス要素Dを選択する。
次に、拡大対象要素特定部61は、選択したボックス要素Dの要素内容に文字を含むか否かを調べる。拡大対象要素特定部61は、ボックス要素Dが要素内容に文字を含まないので、ボックス要素Dを拡大対象要素として特定しない。
次に、拡大対象要素特定部61は、BML文書を参照して、上辺のY座標が次に大きなボックス要素Eを選択する。
次に、拡大対象要素特定部61は、選択したボックス要素Eの要素内容に文字を含むか否かを調べる。拡大対象要素特定部61は、ボックス要素Eが要素内容に文字を含むので、ボックス要素Eを第3番目の拡大対象要素として特定する。拡大対象要素特定部61は、拡大対象要素番号Mを4にインクリメントする。
グループ化処理部62は、すべてのボックス要素を調べ終え、BML文書中に拡大対象要素A、B、CおよびEが存在するので、拡大対象要素のグループ化処理を実行する。
(グループ化処理)
まず、グループ化処理部62は、グループ番号Nを0に設定し、拡大対象要素番号Mを0に設定する。
まず、グループ化処理部62は、グループ番号Nを0に設定し、拡大対象要素番号Mを0に設定する。
次に、グループ化処理部62は、第0番目の拡大対象要素Aを第0グループに登録する。
次に、グループ化処理部62は、第1番目の拡大対象要素が存在するか否かを調べる。グループ化処理部62は、第1番目の拡大対象要素Bが存在するので、第0番目の拡大対象要素Aと第1番目の拡大対象要素Bとが仮想画面の水平方向について重なりを有するかを調べる。グループ化処理部62は、重なりを有するので、拡大対象要素番号Mを1にインクリメントする。
次に、グループ化処理部62は、第1番目の拡大対象要素Bをグループ番号0のグループに登録する。
次に、グループ化処理部62は、第2番目の拡大対象要素が存在するか否かを調べる。グループ化処理部62は、第2番目の拡大対象要素Cが存在するので、第1番目の拡大対象要素Bと第2番目の拡大対象要素Cとが仮想画面の水平方向について重なりを有するかを調べる。グループ化処理部62は、重なりを有するので、拡大対象要素番号Mを2にインクリメントする。
次に、グループ化処理部62は、第2番目の拡大対象要素Cをグループ番号0のグループに登録する。
次に、グループ化処理部62は、第3番目の拡大対象要素が存在するか否かを調べる。グループ化処理部62は、第3番目の拡大対象要素Eが存在するので、第2番目の拡大対象要素Cと第3番目の拡大対象要素Eとが仮想画面の水平方向について重なりを有するかを調べる。グループ化処理部62は、重なりを有しないので、グループ番号0の拡大対象要素の拡大および再レイアウト処理を実行する。
次に、グループ化処理部62は、第3番目の拡大対象要素Eが存在するので、グループ番号を1にインクリメントする。
次に、グループ化処理部62は、拡大対象要素番号Mを3にインクリメントする。
次に、グループ化処理部62は、第3番目の拡大対象要素Eをグループ番号1のグループに登録する。
次に、グループ化処理部62は、第4番目の拡大対象要素が存在するか否かを調べる。グループ化処理部62は、第4番目の拡大対象要素が存在しないので、グループ番号1の拡大対象要素の拡大および再レイアウト処理を実行する。
次に、グループ化処理部62は、第4番目の拡大対象要素が存在しないので、拡大対象外要素の再レイアウト処理を実行する。
(グループ番号0の拡大対象要素の拡大処理)
次に、図12を参照して拡大対象要素の拡大処理の例を説明する。
次に、図12を参照して拡大対象要素の拡大処理の例を説明する。
まず、拡大処理部63は、第0グループに属する拡大対象要素M0(=A)、M1(=B)、M2(=C)の垂直方向の拡大率S(M0)、S(M1)、S(M2)を以下の式によって算出する。
[W(M0)/fx(M0)]×[H(M0)/fy(M0)]
=[W(M0)×fx′(M0)]×[S(M0)×H(M0)×fy′(M0)]
[W(M1)/fx(M1)]×[H(M1)/fy(M1)]
=[W(M1)×fx′(M1)]×[S(M1)×H(M1)×fy′(M1)]
[W(M2)/fx(M2)]×[H(M2)/fy(M2)]
=[W(M2)×fx′(M2)]×[S(M2)×H(M2)×fy′(M2)]
これらの式の解としてS(M0)が140%、S(M1)が160%、S(M2)が200%が得られたとする。
=[W(M0)×fx′(M0)]×[S(M0)×H(M0)×fy′(M0)]
[W(M1)/fx(M1)]×[H(M1)/fy(M1)]
=[W(M1)×fx′(M1)]×[S(M1)×H(M1)×fy′(M1)]
[W(M2)/fx(M2)]×[H(M2)/fy(M2)]
=[W(M2)×fx′(M2)]×[S(M2)×H(M2)×fy′(M2)]
これらの式の解としてS(M0)が140%、S(M1)が160%、S(M2)が200%が得られたとする。
次に、拡大処理部63は、第0グループに属する拡大対象要素M0、M1、M2の高さH(M0)が100、H(M1)が100、H(M2)が120であるので、拡大後の高さH1(M0)、H1(M1)、H1(M2)を以下の式で算出する。
H1(M0)=1.4×100=140
H1(M1)=1.6×100=160
H1(M2)=2×120=240
次に、拡大処理部63は、拡大率S(M0)、S(M1)、S(M2)のうち、最大の拡大率200%を第0グループの垂直方向の拡大率S(G0)とする。
H1(M1)=1.6×100=160
H1(M2)=2×120=240
次に、拡大処理部63は、拡大率S(M0)、S(M1)、S(M2)のうち、最大の拡大率200%を第0グループの垂直方向の拡大率S(G0)とする。
次に、拡大処理部63は、第Nグループに属する先頭の拡大対象要素M0の上辺のY座標が30、最後の拡大対象要素M2の下辺のY座標が260なので、第0グループの領域の高さH(G0)を以下のようにする。
H(G0)=260−30=230
次に、拡大処理部63は、第0グループの領域の拡大後の高さH1(G0)を以下のようにする。
次に、拡大処理部63は、第0グループの領域の拡大後の高さH1(G0)を以下のようにする。
H1(G0)=S(G0)×H(G0)=2×230=460
(グループ番号0の拡大対象要素の再レイアウト処理)
まず、拡大対象要素再レイアウト処理部64は、第0グループに属する拡大対象要素M0、M1、M2の上辺のY座標T(M0)(=30)、T(M1)(=60)、T(M2)(=140)に、それぞれの高さH(M0)(=100)、H(M1)(=100)、H(M2)(=120)を加算して、下辺のY座標B(M0)、B(M1)、B(M2)を算出する。
(グループ番号0の拡大対象要素の再レイアウト処理)
まず、拡大対象要素再レイアウト処理部64は、第0グループに属する拡大対象要素M0、M1、M2の上辺のY座標T(M0)(=30)、T(M1)(=60)、T(M2)(=140)に、それぞれの高さH(M0)(=100)、H(M1)(=100)、H(M2)(=120)を加算して、下辺のY座標B(M0)、B(M1)、B(M2)を算出する。
B(M0)=30+100=130
B(M1)=60+100=160
B(M2)=140+120=260
次に、拡大対象要素再レイアウト処理部64は、第0グループよりも前のグループがないので、変化量D-1は0と特定する。
B(M1)=60+100=160
B(M2)=140+120=260
次に、拡大対象要素再レイアウト処理部64は、第0グループよりも前のグループがないので、変化量D-1は0と特定する。
次に、拡大対象要素再レイアウト処理部64は、第0グループに属する拡大対象要素M0、M1、M2の上辺のY座標T(M0)、T(M1)、T(M2)に変化量0を加算して、上辺のY座標T1(M0)、T(M1)、T(M2)を算出し、拡大対象要素M0、M1、M2の下辺のY座標B(M0)、B(M1)、B(M2)に変化量0を加算して下辺のY座標B1(M0)、B1(M1)、B1(M2)を算出する。
T1(M0)=T(M0)+D-1=30+0
T1(M1)=T(M1)+D-1=60+0
T1(M2)=T(M2)+D-1=140+0
B1(M0)=B(M0)+D-1=130+0
B1(M1)=B(M1)+D-1=160+0
B1(M2)=B(M2)+D-1=260+0
次に、拡大対象要素再レイアウト処理部64は、第0グループに属する先頭の拡大対象要素M0の上辺のY座標T1(M0)を第0グループの上辺のT1(G0)とし、第0グループに属する最後の拡大対象要素M2の下辺のY座標B1(M2)を第0グループの下辺のY座標B1(G0)とする。
T1(M1)=T(M1)+D-1=60+0
T1(M2)=T(M2)+D-1=140+0
B1(M0)=B(M0)+D-1=130+0
B1(M1)=B(M1)+D-1=160+0
B1(M2)=B(M2)+D-1=260+0
次に、拡大対象要素再レイアウト処理部64は、第0グループに属する先頭の拡大対象要素M0の上辺のY座標T1(M0)を第0グループの上辺のT1(G0)とし、第0グループに属する最後の拡大対象要素M2の下辺のY座標B1(M2)を第0グループの下辺のY座標B1(G0)とする。
T1(G0)=T1(M0)=30
B1(G0)=B1(M2)=260
次に、拡大対象要素再レイアウト処理部64は、第0グループの領域の拡大後の拡大対象要素M0、M1、M2の配置領域の上限T2(M0)、T2(M1)、T2(M3)、および下限B2(M0)、B2(M1)、B3(M2)を算出する。
B1(G0)=B1(M2)=260
次に、拡大対象要素再レイアウト処理部64は、第0グループの領域の拡大後の拡大対象要素M0、M1、M2の配置領域の上限T2(M0)、T2(M1)、T2(M3)、および下限B2(M0)、B2(M1)、B3(M2)を算出する。
T2(M0)=T1(G0)+S(G0)×(T1(M0)−T1(G0))
=30+2×(30−30)=30
T2(M1)=T1(G0)+S(G0)×(T1(M1)−T1(G0))
=30+2×(60−30)=90
T2(M2)=T1(G0)+S(G0)×(T1(M2)−T1(G0))
=30+2×(140−30)=250
B2(M0)=T1(G0)+S(G0)×(B1(M0)−T1(G0))
=30+2×(130−30)=230
B2(M1)=T1(G0)+S(G0)×(B1(M1)−T1(G0))
=30+2×(160−30)=290
B2(M2)=T1(G0)+S(G0)×(B1(M2)−T1(G0))
=30+2×(260−30)=490
次に、拡大対象要素再レイアウト処理部64は、第0グループの領域の拡大後の第0グループの領域の上辺のY座標T2(G0)および下辺のY座標B2(G0)を以下のようにする。
=30+2×(30−30)=30
T2(M1)=T1(G0)+S(G0)×(T1(M1)−T1(G0))
=30+2×(60−30)=90
T2(M2)=T1(G0)+S(G0)×(T1(M2)−T1(G0))
=30+2×(140−30)=250
B2(M0)=T1(G0)+S(G0)×(B1(M0)−T1(G0))
=30+2×(130−30)=230
B2(M1)=T1(G0)+S(G0)×(B1(M1)−T1(G0))
=30+2×(160−30)=290
B2(M2)=T1(G0)+S(G0)×(B1(M2)−T1(G0))
=30+2×(260−30)=490
次に、拡大対象要素再レイアウト処理部64は、第0グループの領域の拡大後の第0グループの領域の上辺のY座標T2(G0)および下辺のY座標B2(G0)を以下のようにする。
T2(G0)=T2(M0)=T1(G0)=30
B2(G0)=B2(M2)=T1(G0)+H1(G0)=490
次に、拡大対象要素再レイアウト処理部64は、拡大対象要素M0、M1、M2を、その水平方向の中心線が、その上限T2(M0)、T2(M1)、T2(M2)と下限B2(M0)、B2(M1)、B2(M2)から等距離になるような位置に移動する。移動後の拡大対象要素M0、M1、M2の上辺のY座標T3(M0)、T3(M1)、T3(M2)および下辺のY座標B3(M0)、B3(M1)、B3(M2)は、以下のようになる。
B2(G0)=B2(M2)=T1(G0)+H1(G0)=490
次に、拡大対象要素再レイアウト処理部64は、拡大対象要素M0、M1、M2を、その水平方向の中心線が、その上限T2(M0)、T2(M1)、T2(M2)と下限B2(M0)、B2(M1)、B2(M2)から等距離になるような位置に移動する。移動後の拡大対象要素M0、M1、M2の上辺のY座標T3(M0)、T3(M1)、T3(M2)および下辺のY座標B3(M0)、B3(M1)、B3(M2)は、以下のようになる。
T3(M0)={T2(M0)+B2(M0)}/2−H1(M0)/2
=(30+230)/2−140/2=60
B3(M0)={T2(M0)+B2(M0)}/2+H1(M0)/2
=(30+230)/2+140/2=200
T3(M1)={T2(M1)+B2(M1)}/2−H1(M1)/2
=(90+290)/2−160/2=110
B3(M1)={T2(M1)+B2(M1)}/2+H1(M1)/2
=(90+290)/2+160/2=270
T3(M2)={T2(M2)+B2(M2)}/2−H1(M2)/2
=(250+490)/2−240/2=250
B3(M2)={T2(M2)+B2(M2)}/2+H1(M2)/2
=(250+490)/2+240/2=490
図13は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)の配置を表す。
=(30+230)/2−140/2=60
B3(M0)={T2(M0)+B2(M0)}/2+H1(M0)/2
=(30+230)/2+140/2=200
T3(M1)={T2(M1)+B2(M1)}/2−H1(M1)/2
=(90+290)/2−160/2=110
B3(M1)={T2(M1)+B2(M1)}/2+H1(M1)/2
=(90+290)/2+160/2=270
T3(M2)={T2(M2)+B2(M2)}/2−H1(M2)/2
=(250+490)/2−240/2=250
B3(M2)={T2(M2)+B2(M2)}/2+H1(M2)/2
=(250+490)/2+240/2=490
図13は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)の配置を表す。
次に、拡大対象要素再レイアウト処理部64は、先頭の拡大対象要素M0の上辺のY座標T3(M0)が第0グループの領域の上辺のY座標T2(G0)に一致するように、拡大対象要素M0、M1、M2を垂直上方向に平行移動する。移動後の拡大対象要素M0、M1、M2の上辺のY座標T4(M0)、T4(M1)、T4(M2)および下辺のY座標B4(M0)、B4(M1)、B4(M2)は、以下のようになる。
α0=T3(M0)−T2(G0)=60−30=30
T4(M0)=T3(M0)−α0=60−30=30
B4(M0)=B3(M0)−α0=200−30=170
T4(M1)=T3(M1)−α0=110−30=80
B4(M1)=B3(M1)−α0=270−30=240
T4(M2)=T3(M2)−α0=250−30=220
B4(M2)=B3(M2)−α0=490−30=460
また、移動後の第0グループの領域の下辺のY座標B4(G0)は以下のようになる。
T4(M0)=T3(M0)−α0=60−30=30
B4(M0)=B3(M0)−α0=200−30=170
T4(M1)=T3(M1)−α0=110−30=80
B4(M1)=B3(M1)−α0=270−30=240
T4(M2)=T3(M2)−α0=250−30=220
B4(M2)=B3(M2)−α0=490−30=460
また、移動後の第0グループの領域の下辺のY座標B4(G0)は以下のようになる。
B4(G0)=B2(G0)−α0=B4(M2)=460
図14は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)の配置を表す。
図14は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)の配置を表す。
次に、仮想画面描画部66は、仮想画面メモリに各拡大対象要素M0、M1、M2を書込む。各拡大対象要素M0、M1、M2の位置{左辺のX座標、上辺のY座標、幅、高さ}を{L(M0)、T4(M0)、W(M0)、H1(M0)}、{L(M1)、T4(M1)、W(M1)、H1(M1)}、{L(M2)、T4(M2)、W(M2)、H1(M2)}とする。また、各拡大対象要素内の文字を、大(ラージ)サイズで書込まれる
第1グループについても、同様にして拡大および再レイアウト処理が行なわれる。
第1グループについても、同様にして拡大および再レイアウト処理が行なわれる。
図15は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)、M3(=E)の配置を表す。
(拡大対象外要素の再レイアウト処理)
まず、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dの上辺が第0グループの領域にあるので、拡大対象外要素Dの上辺のY座標T(D)に位置変化量D-1を加算して、上辺のY座標T1(D)を算出する。D-1は0である。
まず、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dの上辺が第0グループの領域にあるので、拡大対象外要素Dの上辺のY座標T(D)に位置変化量D-1を加算して、上辺のY座標T1(D)を算出する。D-1は0である。
T1(D)=T(D)+D-1=200+0
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第0グループの領域の拡大による拡大対象外要素Dの配置領域の上限T2(D)を算出する。
次に、拡大対象外要素再レイアウト処理部65は、以下のように、第0グループの領域の拡大による拡大対象外要素Dの配置領域の上限T2(D)を算出する。
T2(D)=T1(G0)+S(G0)×(T1(D)―T1(G0))
=30+2×(200−30)=370
次に、拡大対象外要素再レイアウト処理部65は、第0グループの拡大対象要素の上辺をα0だけ垂直上方向に移動させたのと同様に、拡大対象外要素Dの上辺をα0だけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの上辺のY座標T3(D)は、以下のようになる。
=30+2×(200−30)=370
次に、拡大対象外要素再レイアウト処理部65は、第0グループの拡大対象要素の上辺をα0だけ垂直上方向に移動させたのと同様に、拡大対象外要素Dの上辺をα0だけ垂直上方向に平行移動する。移動後の拡大対象外要素Pjの上辺のY座標T3(D)は、以下のようになる。
T3(D)=T2(D)−α0
=370−30=340
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dの下辺がグループ外領域にあり、画面の上方に第0グループの領域があるので、拡大対象外要素Dの下辺のY座標B(D)に位置変化量D0を加算して、下辺のY座標B3(D)を算出する。
=370−30=340
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dの下辺がグループ外領域にあり、画面の上方に第0グループの領域があるので、拡大対象外要素Dの下辺のY座標B(D)に位置変化量D0を加算して、下辺のY座標B3(D)を算出する。
B(D)=T(D)+H(D)=200+80=280
D0=B4(G0)−B1(G0)
=460−260=200
B3(D)=B(D)+D0
=280+200=480
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dを、その上限T3(D)と下限B3(D)から等距離にある位置に移動する。移動後の拡大対象要素Pjの上辺のY座標T4(D)および下辺のY座標B4(D)は、以下のようになる。
D0=B4(G0)−B1(G0)
=460−260=200
B3(D)=B(D)+D0
=280+200=480
次に、拡大対象外要素再レイアウト処理部65は、拡大対象外要素Dを、その上限T3(D)と下限B3(D)から等距離にある位置に移動する。移動後の拡大対象要素Pjの上辺のY座標T4(D)および下辺のY座標B4(D)は、以下のようになる。
T4(D)={T3(D)+B3(D)}/2−H(D)/2
=(340+480)/2−80/2=370
B4(D)={T3(D)+B3(D)}/2+H(D)/2
=(340+480)/2+80/2=450
図16は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)、M3(=E)、拡大対象外要素Dの配置を表す。
=(340+480)/2−80/2=370
B4(D)={T3(D)+B3(D)}/2+H(D)/2
=(340+480)/2+80/2=450
図16は、この段階での拡大対象要素M0(=A)、M1(=B)、M2(=C)、M3(=E)、拡大対象外要素Dの配置を表す。
次に、仮想画面描画部66は、仮想画面メモリに拡大対象外要素Dを書込む。拡大対象外要素の位置{左辺のX座標、上辺のY座標、幅、高さ}は、{L(D)、T4(D)、W(D)、H(D)}とする。
以上のように、本実施の形態に係る携帯端末によれば、文字のサイズを拡大するときには、縦方向にスクロール可能であることに鑑みて、文字を含むボックス要素を垂直方向に拡大するので、文字のサイズを拡大してもユーザがスクロールすれば、文字を欠けることなく表示することができる。
[第2の実施形態]
第2の実施形態は、第1の実施形態の処理に加えて、さらにインプット要素を拡大表示する処理を行なう携帯端末に関する。
第2の実施形態は、第1の実施形態の処理に加えて、さらにインプット要素を拡大表示する処理を行なう携帯端末に関する。
(BMLブラウザの構成)
図17は、BMLブラウザ6aの機能ブロック図である。
図17は、BMLブラウザ6aの機能ブロック図である。
図17を参照して、BMLブラウザ部6aは、図2のBMLブラウザ6にフォーカス検出部67と、インプット要素拡大処理部68と、インプット要素再レイアウト処理部69とが追加されている。これらの構成要素の説明は、以下の動作の説明において行なう。
(BML文書の例)
図18は、インプット要素を含むBML文書の例を表す図である。
図18は、インプット要素を含むBML文書の例を表す図である。
図18を参照して、インプット要素は、要素内容に文字を含まないボックス要素であるので、第1の実施形態において拡大対象外要素として扱われる。したがって、拡大対象外要素再レイアウト処理が実行される。
図18では、インプット要素のタイプ属性が“submit”であり、ボタンを表わす。したがって、クリックがあると、form 要素のmethod属性で指定されるプログラム“CGI.bin/xxx.cgi”が実行される。
また、インプット要素の属性値が“送信”である。したがって、インプット要素の内部の領域に、文字“送信”が表示される。
また、インプット要素には、位置を指定するスタイルが設定されている。インプット要素は、表示部12の表示画面上で境界が表示される。また、表示部12においてインプット要素の表示領域にポインタが入ることをフォーカスが当たったという。また、インプット要素の表示領域にあるポインタが表示領域の外に出たことをフォーカスが外れたという。フォーカスが当たったインプット要素は、ハイライト表示される。
(動作)
図19は、第2の実施形態に係る携帯端末によるインプット要素の拡大処理の手順を表わすフローチャートである。
図19は、第2の実施形態に係る携帯端末によるインプット要素の拡大処理の手順を表わすフローチャートである。
フォーカス検出部67は、インプット要素のフォーカスが当たったか否かを検出する(ステップS601)。
次に、インプット要素拡大処理部68は、インプット要素にフォーカスが当たったときには(ステップS601でYES)、属性値に含まれる文字のサイズを、たとえば標準(メディアム)から大(ラージ)に拡大するとともに、文字サイズの拡大率に応じた拡大率(たとえば、文字サイズと同じ拡大率)をフォーカスが当たったインプット要素の拡大率Sとし、インプット要素の幅に拡大率Sを乗じて拡大後のインプット要素の幅を算出し、インプット要素の高さに拡大率Sを乗じて拡大後のインプット要素の高さを算出する(ステップS602)。
次に、インプット要素再レイアウト処理部69は、他のボックス要素との重なりを許容して、インプット要素の仮想画面上での位置を決定する。すなわち、インプット要素再レイアウト処理部69は、拡大前後のインプット要素の中心の位置を維持し、算出した拡大率でインプット要素が拡大されるように、拡大後のインプット要素の仮想画面上での位置(左辺のX座標、上辺のY座標、幅、高さ)を算出する(ステップS603)。
次に、仮想画面描画部66は、算出した仮想画面上での位置に対応する仮想画面メモリの位置にインプット要素を書込む(ステップS604)。
一方、インプット要素拡大処理部68は、インプット要素のフォーカスが外れたとき(ステップS601でNO、ステップS605でYES)、属性値に含まれる文字のサイズを大(ラージ)から標準(メディアム)にもどすとともに、インプット要素の幅を拡大前の幅(つまり、BML文書に記述されている幅)にもどし、インプット要素の高さを拡大前の高さ(つまり、BML文書に記述されている高さ)にもどす(ステップS606)。
インプット要素再レイアウト処理部69は、インプット要素の仮想画面上での位置を再配置前のもとの位置にもどす(ステップS607)。
次に、仮想画面描画部66は、仮想画面上での再配置前の元の位置に対応する仮想画面メモリの位置にインプット要素を書込む(ステップS608)。
(具体例)
図20は、インプット要素が拡大された表示画面の例を表す図である。
図20は、インプット要素が拡大された表示画面の例を表す図である。
インプット要素702は、フォーカスが当たったことにより拡大されて表示されている。拡大後のインプット要素の位置は、他のボックス要素702との重なりを許容した位置である。
以上のように、第2の実施形態に係る携帯端末によれば、第1の実施形態による機能に加えて、さらにインプット要素にフォーカスが当たったときには、他のボックス要素との重なりを許容して拡大表示するので、ユーザはそのインプット要素の視認に集中することができる。
(変形例)
本発明は、上記の実施形態に限定されるものではなく、たとえば以下の変形例が含まれる。
本発明は、上記の実施形態に限定されるものではなく、たとえば以下の変形例が含まれる。
(1) 横スクロール
本発明の実施形態では、縦スクロール可能な携帯端末を想定したため、要素内容に文字を含むボックス要素を垂直方向に拡大したが、これに限定するものではない。たとえば、横スクロール、かつ文字をボックス要素に縦書きするような場合には、要素内容に文字を含むボックス要素を水平方向に拡大するものとしてもよい。
本発明の実施形態では、縦スクロール可能な携帯端末を想定したため、要素内容に文字を含むボックス要素を垂直方向に拡大したが、これに限定するものではない。たとえば、横スクロール、かつ文字をボックス要素に縦書きするような場合には、要素内容に文字を含むボックス要素を水平方向に拡大するものとしてもよい。
(2) 文字サイズの拡大
本発明の実施形態では、文字の拡大指示があると、ボックス要素ごとに予め定められた大きさに文字を拡大するものとしたが、これに限定するものではない。たとえば、すべてのボックス要素の文字を拡大前の文字サイズにかかわりなく、一律にラージ(大)に拡大するものとしてもよく、また、スモール(小)からミディアム(標準)、ミディアム(標準)からラージ(大)といったようにフォントサイズを1段階だけ拡大するものとしてもよく、また、ユーザが指定したサイズに拡大するものとしてもよい。
本発明の実施形態では、文字の拡大指示があると、ボックス要素ごとに予め定められた大きさに文字を拡大するものとしたが、これに限定するものではない。たとえば、すべてのボックス要素の文字を拡大前の文字サイズにかかわりなく、一律にラージ(大)に拡大するものとしてもよく、また、スモール(小)からミディアム(標準)、ミディアム(標準)からラージ(大)といったようにフォントサイズを1段階だけ拡大するものとしてもよく、また、ユーザが指定したサイズに拡大するものとしてもよい。
(3) インプット要素
本発明の実施形態では、インプット要素は、要素内容に文字を含まないので、拡大対象外要素として扱ったが、これに限定されるものではなく、拡大対象要素として扱ってもよい。
本発明の実施形態では、インプット要素は、要素内容に文字を含まないので、拡大対象外要素として扱ったが、これに限定されるものではなく、拡大対象要素として扱ってもよい。
(4) インプット要素の拡大時の配置、拡大時の大きさ
本発明の実施形態では、インプット要素の拡大率は、属性値である文字の拡大率と同一としたが、これに限定するものではなく、属性値である文字の拡大率よりも大きな拡大率、または小さな拡大率であってもよい。
本発明の実施形態では、インプット要素の拡大率は、属性値である文字の拡大率と同一としたが、これに限定するものではなく、属性値である文字の拡大率よりも大きな拡大率、または小さな拡大率であってもよい。
本発明の実施形態では、拡大前後のインプット要素の中心の位置を維持したが、これに限定するものではなく、たとえば拡大前後の左上の位置を維持するものとしてもよい。
(5) インプット要素の種類
本発明の第2の実施形態では、インプット要素の種類を問わずフォーカスが当たったときに拡大処理するものとしたが、これに限定するものではない。たとえば、タイプ属性が“submit”であるインプット要素のみ、フォーカスが当たったときに拡大処理するものとしてもよい。
本発明の第2の実施形態では、インプット要素の種類を問わずフォーカスが当たったときに拡大処理するものとしたが、これに限定するものではない。たとえば、タイプ属性が“submit”であるインプット要素のみ、フォーカスが当たったときに拡大処理するものとしてもよい。
(6) 拡大対象要素および拡大対象外要素の再配置
ステップS407において、各拡大対象要素Miの水平方向の中心線が、その上限T2(Mi)と下限B2(Mi)から等距離にある位置になるように各拡大対象要素Miを移動したが、これに限定するものではない。各拡大対象要素Mi(の全体)が、その上限T2(Mi)と下限B2(Mi)の範囲内に収まる位置に各拡大対象要素Miを移動するものとしてもよい。
ステップS407において、各拡大対象要素Miの水平方向の中心線が、その上限T2(Mi)と下限B2(Mi)から等距離にある位置になるように各拡大対象要素Miを移動したが、これに限定するものではない。各拡大対象要素Mi(の全体)が、その上限T2(Mi)と下限B2(Mi)の範囲内に収まる位置に各拡大対象要素Miを移動するものとしてもよい。
また、ステップS515において、拡大対象外要素Pjを、その上限T3(Pj)と下限B3(Pj)から等距離にある位置に移動するものとしたが、これに限定するものではない。拡大対象外要素Pj(の全体)が、その上限T3(Pj)と下限B3(Pj)の範囲内に収まる位置に拡大対象外要素Pjを移動するものとしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 携帯端末、2 受信部、3 分離部、4 映像デコーダ、5 字幕・文字デコーダ、6,6a BMLブラウザ部、7 映像用仮想プレーン、8 字幕用仮想プレーン、9 BML用仮想プレーン、10 スケーリング部、11 フレームメモリ、12 表示部、61 拡大対象要素特定部、62 グループ化処理部、63 拡大処理部、64 拡大対象要素再レイアウト処理部、65 拡大対象外要素再レイアウト処理部、66 仮想画面描画部、67 フォーカス検出部、68 インプット要素拡大処理部、69 インプット要素再レイアウト処理部。
Claims (16)
- 水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末であって、
仮想画面上での位置が指定されたボックス要素を含む文書を受信する受信部と、
文字の拡大指示を受付ける操作入力部と、
前記文字の拡大指示があったときに、前記文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する拡大対象要素特定部と、
前記拡大対象要素の要素内容である文字を前記仮想画面上で拡大するとともに、前記文字の拡大率に応じて前記特定した拡大対象要素を前記仮想画面上で前記一方向に拡大する第1の拡大処理部とを備えた携帯端末。 - 前記第1の拡大処理部は、前記拡大対象要素の拡大前後で、前記拡大対象要素に最大限表示できる文字の数が同一となるように前記一方向の拡大率を算出し、前記算出した拡大率で前記拡大対象要素を前記一方向に拡大する、請求項1記載の携帯端末。
- 前記一方向は垂直方向である、請求項1記載の携帯端末。
- 前記携帯端末は、さらに、
前記拡大対象要素をグループ分けするグループ化処理部と、
各グループに含まれる拡大対象要素の拡大後の前記仮想画面上での再配置を行う第1のレイアウト処理部とを備え、
前記グループ化処理部は、1個のグループに属する各拡大対象要素は、他のグループに属する拡大対象要素と水平方向に重なりを有せず、かつ前記グループに他の拡大対象要素がある場合には前記他の拡大対象要素のいずれかと水平方向に重なりを有するように、拡大対象要素のグループ分けを行い、
前記第1の拡大処理部は、前記グループに含まれる1個以上の拡大対象要素の前記拡大率のうち、最大の拡大率を前記グループの拡大率として特定し、
前記第1のレイアウト処理部は、前記グループに属する拡大対象要素のうち、上辺が最も上側に配置される拡大対象要素の上辺を前記グループの領域の上辺とし、下辺が最も下側に配置される拡大対象要素の下辺の位置を前記グループの領域の下辺とし、
前記グループよりも上側に他のグループがあるときには、前記他のグループの領域の下辺の再配置前後の垂直方向の位置の変化量を前記他のグループについての第1の変化量とし、前記第1の変化量を前記グループに属する各拡大対象要素の上辺の位置および下辺の位置に加算して各拡大対象要素の再配置過程での上辺の位置および下辺の位置とし、前記グループよりも上側に他のグループがないときには、前記グループに属する各拡大対象要素の上辺の位置および下辺の位置を各拡大対象要素の再配置過程での上辺の位置および下辺の位置とし、
さらに、前記グループに属する1個以上の拡大対象要素のうち、上辺が最も上側に配置される拡大対象要素の前記再配置過程での上辺の位置を前記グループの再配置過程での上辺の位置とし、
さらに、前記グループの再配置過程での上辺の位置から、前記グループに属する各拡大対象要素の前記再配置過程での上辺および前記再配置過程での下辺までの距離を前記グループの拡大率で拡大し、拡大後の上辺の位置を前記拡大対象要素の配置領域の上限、拡大後の下辺の位置を拡大対象要素の配置領域の下限とし、
前記第1のレイアウト処理部は、拡大後の前記各拡大対象要素が前記配置領域の上限と前記配置領域の下限の範囲内に収まる位置を前記拡大対象要素の拡大後の前記仮想画面上での再配置位置として決定する、請求項3記載の携帯端末。 - 前記第1のレイアウト処理部は、前記配置領域の上限および前記配置領域の下限から等距離となる位置を前記拡大対象要素の拡大後の前記仮想画面上での再配置位置として決定する、請求項4記載の携帯端末。
- 前記第1のレイアウト処理部は、前記拡大対象要素の拡大後の再配置位置の決定後、さらに、各グループの上辺が最も上側に配置される拡大対象要素の上辺の位置と前記グループの上辺の位置との差を前記グループについての第2の変化量とし、前記グループに属する拡大対象要素のすべてを第2の変化量だけ上方向に移動し、移動後の各拡大対象要素の位置を前記拡大対象要素の拡大後の前記仮想画面上での再配置位置として決定する、請求項4記載の携帯端末。
- 前記拡大対象要素特定部は、さらに、前記文書に含まれるボックス要素のうち、その要素内容に文字を含まないボックス要素を拡大対象外要素として特定し、
前記携帯端末は、さらに、
前記拡大対象要素の配置の決定後、前記拡大対象外要素の前記仮想画面上での位置を決定する第2のレイアウト処理部を備え、
前記第2のレイアウト処理部は、前記拡大対象外要素の上辺が前記いずれかのグループの領域にある場合において、前記グループよりも上側に他のグループがあるときに、前記他のグループについての第1の変化量を前記拡大対象外要素の上辺の位置に加算し、さらに、前記グループの再配置過程での上辺の位置から、前記拡大対象外要素の前記加算後の上辺までの距離を前記グループの拡大率で拡大し、拡大後の上辺の位置をさらに、前記グループについての前記第2の変化量だけ上方向に移動した位置を前記拡大対象外要素の配置領域の上限とし、
前記拡大対象外要素の上辺が前記いずれかのグループの領域にある場合において、前記グループよりも上側に他のグループがないときに、前記グループの再配置過程での上辺の位置から、前記拡大対象外要素の上辺までの距離を前記グループの拡大率で拡大し、拡大後の上辺の位置をさらに、前記グループについての前記第2の変化量だけ上方向に移動した位置を前記拡大対象外要素の配置領域の上限とし、
前記拡大対象外要素の上辺が前記いずれかのグループの領域にない場合において、前記拡大対象外要素よりも上側に他のグループがあるときに、前記他のグループについての第1の変化量を前記拡大対象外要素の上辺の位置に加算した位置を前記拡大対象外要素の配置領域の上限とし、
前記拡大対象外要素の上辺が前記いずれかのグループの領域にない場合において、前記拡大対象外要素よりも上側に他のグループがないときには、前記拡大対象外要素の上辺の位置を前記拡大対象外要素の配置領域の上限とし、
前記第2のレイアウト処理部は、前記拡大対象外要素の下辺が前記いずれかのグループの領域にある場合において、前記グループよりも上側に他のグループがあるときに、前記他のグループについての第1の変化量を前記拡大対象外要素の下辺の位置に加算し、さらに、前記グループの再配置過程での上辺の位置から、前記拡大対象外要素の前記加算後の下辺までの距離を前記グループの拡大率で拡大し、拡大後の下辺の位置をさらに、前記グループについての前記第2の変化量だけ上方向に移動した位置を前記拡大対象外要素の配置領域の下限とし、
前記拡大対象外要素の下辺が前記いずれかのグループの領域にある場合において、前記グループよりも上側に他のグループがないときに、前記グループの再配置過程での上辺の位置から、前記拡大対象外要素の下辺までの距離を前記グループの拡大率で拡大し、拡大後の下辺の位置をさらに、前記グループについての前記第2の変化量だけ上方向に移動した位置を前記拡大対象外要素の配置領域の下限とし、
前記拡大対象外要素の下辺が前記いずれかのグループの領域にない場合において、前記拡大対象外要素よりも上側に他のグループがあるときに、前記他のグループについての第1の変化量を前記拡大対象外要素の下辺の位置に加算した位置を前記拡大対象外要素の配置領域の下限とし、
前記拡大対象外要素の下辺が前記いずれかのグループの領域にない場合において、前記拡大対象外要素よりも上側にグループがないときに、前記拡大対象外要素の下辺の位置を前記拡大対象外要素の配置領域の下限とし、
前記第2のレイアウト処理部は、前記拡大対象外要素が前記配置領域の上限と前記配置領域の下限の範囲内に収まる位置を前記拡大対象外要素の前記仮想画面上での再配置位置として決定する、請求項6記載の携帯端末。 - 前記第2のレイアウト処理部は、前記配置領域の上限および前記配置領域の下限から等距離となる位置を前記拡大対象外要素の前記仮想画面上での再配置位置として決定する、請求項7記載の携帯端末。
- 前記拡大対象要素特定部は、さらに、前記拡大対象外要素のうちインプット要素を特定し、
前記携帯端末は、さらに
前記インプット要素にフォーカスが当たったことを検出するフォーカス検出部と、
前記フォーカスが当たったことが検出されたときに、前記インプット要素の属性値に含まれる文字を拡大するとともに、前記文字の拡大率に応じた拡大率で前記インプット要素を水平および垂直方向に拡大する第2の拡大処理部と、
他のボックス要素との重なりを許容して、前記拡大したインプット要素の前記仮想画面上での位置を再配置する第3のレイアウト処理部とを備えた請求項7記載の携帯端末。 - 前記フォーカス検出部は、前記フォーカスが当たったインプット要素からフォーカスが外れたことを検出し、
前記第2の拡大処理部は、フォーカスが外れたことが検出されたときに、前記インプット要素の属性値に含まれる文字を前記拡大前の大きさにもどすとともに、前記インプット要素を前記拡大前の大きさにもどし、
前記第3のレイアウト処理部は、前記インプット要素の仮想画面上での位置を前記再配置前の位置にもどす、請求項9記載の携帯端末。 - 水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末の表示制御方法であって、
仮想画面上での位置が指定されたボックス要素を含む文書を受信するステップと、
文字の拡大指示を受付けるステップと、
前記文字の拡大指示があったときに、前記文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定するステップと、
前記拡大対象要素の要素内容である文字を前記仮想画面上で拡大するとともに、前記文字の拡大率に応じて前記特定した拡大対象要素を前記仮想画面上で前記一方向に拡大するステップとを含む携帯端末の表示制御方法。 - 前記拡大するステップは、前記拡大対象要素の拡大前後で、前記拡大対象要素に最大限表示できる文字の数が同一となるように前記一方向の拡大率を算出し、前記算出した拡大率で前記拡大対象要素を前記一方向に拡大する、請求項11記載の携帯端末の表示制御方法。
- 前記一方向は垂直方向である、請求項11記載の携帯端末の表示制御方法。
- 水平または垂直方向のいずれか一方向にスクロールして仮想画面のうちの表示される領域を変化させる機能を有する携帯端末の表示を制御するためにコンピュータを、
文字の拡大指示があったときに、前記仮想画面上での位置が指定されたボックス要素を含む文書に含まれるボックス要素のうち、その要素内容に文字を含むボックス要素を拡大対象要素として特定する拡大対象要素特定部と、
前記拡大対象要素の要素内容である文字を前記仮想画面上で拡大するとともに、前記文字の拡大率に応じて前記特定した拡大対象要素を前記仮想画面上で前記一方向に拡大する第1の拡大処理部として機能させるための携帯端末の表示制御プログラム。 - 前記第1の拡大処理部は、前記拡大対象要素の拡大前後で、前記拡大対象要素に最大限表示できる文字の数が同一となるように前記一方向の拡大率を算出し、前記算出した拡大率で前記拡大対象要素を前記一方向に拡大する、請求項14記載の携帯端末の表示制御プログラム。
- 前記一方向は垂直方向である、請求項14記載の携帯端末の表示制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286260A JP2006098868A (ja) | 2004-09-30 | 2004-09-30 | 携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004286260A JP2006098868A (ja) | 2004-09-30 | 2004-09-30 | 携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006098868A true JP2006098868A (ja) | 2006-04-13 |
Family
ID=36238738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004286260A Withdrawn JP2006098868A (ja) | 2004-09-30 | 2004-09-30 | 携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006098868A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012069014A (ja) * | 2010-09-24 | 2012-04-05 | Sharp Corp | 表示装置、表示方法、プログラムおよびその記録媒体 |
-
2004
- 2004-09-30 JP JP2004286260A patent/JP2006098868A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012069014A (ja) * | 2010-09-24 | 2012-04-05 | Sharp Corp | 表示装置、表示方法、プログラムおよびその記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745515B2 (en) | Presentation of large pages on small displays | |
US8302029B2 (en) | Presentation of large objects on small displays | |
JP2007060555A (ja) | テレビジョン番組表示装置、表示制御方法、プログラム、記憶媒体 | |
KR101201498B1 (ko) | 메뉴 가이드 방법 및 이를 수행하는 영상처리장치 | |
JP2008199370A (ja) | デジタル放送番組表示装置およびデジタル放送番組表示プログラム | |
JP2006243200A (ja) | マルチ画面用表示装置、及びその制御方法 | |
US8407739B2 (en) | Apparatus and method for displaying broadcasting program guide information | |
JP5290433B2 (ja) | 表示処理装置、表示処理装置の制御方法、制御プログラム、および、制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR20160006965A (ko) | 디스플레이 장치 및 이의 하이라이트 표시 방법 | |
KR100757735B1 (ko) | 디스플레이 장치에서 메모리 최소화를 위한 수평 라인 활성시점 결정 방법 , 이를 이용하는 피아이피 수행방법 및이를 이용한 디스플레이 장치. | |
EP2750401B1 (en) | Display apparatus and method for providing menu thereof | |
JP2006203535A (ja) | 電子番組ガイド表示装置 | |
JP2011166804A (ja) | 放送受信機 | |
JP2006098868A (ja) | 携帯端末、携帯端末の表示制御方法および携帯端末の表示制御プログラム | |
JP4404808B2 (ja) | 放送受信機および表示装置 | |
WO2013183619A1 (ja) | 表示装置 | |
JP5744233B2 (ja) | 番組表生成装置及び番組表生成方法 | |
JP2007074558A (ja) | 情報表示方法、情報表示装置、プログラム及び記憶媒体 | |
JP4957215B2 (ja) | テレビジョン受信装置 | |
JP2009003745A (ja) | 情報表示端末 | |
KR100683349B1 (ko) | 정지영상 내의 관심영역 지정기반 선택보기 방법과 장치 | |
JP2003330592A (ja) | 表示制御装置および方法、記録媒体、並びにプログラム | |
JP5156678B2 (ja) | データ放送受信装置およびデータ放送受信プログラム | |
JP2006254018A (ja) | 電子番組ガイド表示装置 | |
KR100697425B1 (ko) | 영상표시방법 및 기기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071204 |