(57)【要約】      （修正有）【課題】レイアウトの崩れを防ぐことができる描画装置、描画方法及びプログラムを提供する。【解決手段】描画装置は、描画データを生成する第１の生成手段と、参照データを生成する第２の生成手段と、描画データと参照データとの比較の結果に応じて描画データの調整を行う調整手段と、描画データを基に描画を行う描画手段とを有する。【選択図】図２
2020086281.tif 000002
【特許請求の範囲】
【請求項１】
描画データを生成する第１の生成手段と、
参照データを生成する第２の生成手段と、
前記描画データと前記参照データとの比較の結果に応じて前記描画データの調整を行う調整手段と、
前記描画データを基に描画を行う描画手段と、
を有する描画装置。
【請求項２】
前記調整手段は、前記描画データの文字列の包含矩形と前記参照データの文字列の包含矩形との比較の結果に応じて前記描画データの調整を行う請求項１に記載の描画装置。
【請求項３】
前記調整手段は、前記描画データの文字列の拡大又は縮小を行うことで前記描画データの調整を行う請求項１又は２に記載の描画装置。
【請求項４】
前記調整手段は、前記描画データの文字列のフォントを変更することで前記描画データの調整を行う請求項１又は２に記載の描画装置。
【請求項５】
前記調整手段は、前記描画データの文字列のフォントのパラメータを変更することで前記描画データの調整を行う請求項１又は２に記載の描画装置。
【請求項６】
前記描画データと前記参照データとを比較する比較手段を有し、
前記調整手段は、前記比較手段による比較の結果に応じて前記描画データの調整を行う請求項１乃至５のいずれか１項に記載の描画装置。
【請求項７】
前記第１の生成手段は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されたデータから前記描画データを生成し、
前記第２の生成手段は、前記ＨＴＭＬで記述されたデータから前記参照データを生成する請求項１乃至６のいずれか１項に記載の描画装置。
【請求項８】
描画装置が実行する描画方法であって、
描画データを生成する第１の生成工程と、
参照データを生成する第２の生成工程と、
前記描画データと前記参照データとの比較の結果に応じて前記描画データの調整を行う調整工程と、
前記描画データを基に描画を行う描画工程と、
を含む描画方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の描画装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画装置、描画方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて画面を描画する技術が知られている。ＨＴＭＬはＨＴＭＬを処理するブラウザエンジンに渡され、ＨＴＭＬ仕様に従って描画される。
ブラウザエンジンはＨＴＭＬを描画のためのレンダリングツリーに変換して描画を行う。
ＨＴＭＬ仕様は随時更新される。ブラウザエンジンも仕様への対応又は機能の追加に応じて変更される。そのため、ブラウザエンジンの変更によって描画結果が従来と異なるものになることがある。
ＨＴＭＬはユーザインタフェースとして使うこともできる。機器上のユーザインタフェースに使う場合、機器上のディスプレイの解像度に合うようにＨＴＭＬを最適化していることもある。
機器上のブラウザエンジンでＨＴＭＬを描画した場合に、テキストが画面に収まらないことがあるという課題がある。そのためレイアウトを調整することで閲覧を容易にする技術が従来技術として知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０８７１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ブラウザエンジンの変更によってテキストのレイアウトが変化し、テキストがはみ出したり、テキストの改行によってユーザインタフェース全体のレイアウトが崩れたりするという課題があった。
【課題を解決するための手段】
【０００５】
本発明は、描画データを生成する第１の生成手段と、参照データを生成する第２の生成手段と、前記描画データと前記参照データとの比較の結果に応じて前記描画データの調整を行う調整手段と、前記描画データを基に描画を行う描画手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、レイアウトの崩れを防ぐことができる。
【図面の簡単な説明】
【０００７】
【図１】描画装置のハードウェア構成の一例を示す図である。
【図２】画像装置の情報処理の一例を示すフローチャートである。
【図３】ＨＴＭＬの例を示す図である。
【図４】描画レンダリングツリーを描画した結果を示す図である。
【図５】参照レンダリングツリーを描画した結果を示す図である。
【図６】本実施形態の処理を行った描画レンダリングツリーを描画した結果を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、描画装置１０１のハードウェア構成の一例を示す図である。
ＣＰＵ１０８は、システム制御部であり、描画装置１０１の全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０８の制御プログラム及び各種固定データを格納する。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成され、プログラム制御変数等を格納するためのものである。また、ＲＡＭ１０３は、各種設定パラメータ、各種ワーク用バッファも格納する。外部記憶部１０４は、ハードディスク等で構成され、文書、又は画像等のファイルデータを格納する。入力部１０５は、キーボード、タッチパネル等で構成され、オペレータが各種入力操作を行うためのものである。表示部１０６は、ＬＣＤ、ＬＥＤ等で構成され、オペレータに表示通知するためのものである。ネットワーク接続インターフェース（Ｉ／Ｆ）１０７は、ネットワークに接続するためのインターフェースである。接続方法としてはＬＡＮ、ＵＳＢ等がある。図１に示した構成は、描画装置の一部を示したものであり、装置によっては、この他、スキャナ部、プリンタ部、モデム、スピーカ等が装置の構成に加わる場合がある。ＣＰＵ１０８がＲＯＭ１０２、又は外部記憶部１０４に記憶されたプログラムに基づき処理を実行することにより、後述する図２に示されるフローチャートの処理が実現される。
【００１０】
図２は、描画装置１０１の情報処理の一例を示すフローチャートである。
Ｓ２０１において、ＣＰＵ１０８は、環境情報を取得する。環境情報は描画装置１０１の状態に関する情報であり、表示部１０６の解像度も含まれる。
Ｓ２０２において、ＣＰＵ１０８は、描画するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を取得する。ＨＴＭＬ（ＨＴＭＬで記述されたデータ）はＲＯＭ１０２、ＲＡＭ１０３、外部記憶部１０４に保存されていることもあれば、ネットワーク接続インターフェース１０７を経由して取得することもある。ＨＴＭＬの例を図３に示す。
Ｓ２０３において、ＣＰＵ１０８は、ＨＴＭＬから描画レンダリングツリーを生成する。レンダリングツリーはＨＴＭＬに対応するツリー構造のデータであり、描画するのに必要な情報を持つ。本実施形態においてはＨＴＭＬの＜ｐ＞タグで囲まれた文字列とレンダリングツリーにおけるテキストノードとが対応する。テキストノードは描画に使用するフォント及び文字の大きさ等を含む。さらに、テキストノードは文字を描画する領域の位置と大きさを包含矩形情報として含む。ＣＰＵ１０８がこのまま描画レンダリングツリーを表示部１０６に描画した場合の描画結果は図４のようになる。文字列が一行では画面に収まらなかったため、改行が発生している。描画レンダリングツリーは、描画データの一例である。
【００１１】
Ｓ２０４において、ＣＰＵ１０８は、ＨＴＭＬから参照レンダリングツリーを生成する。参照レンダリングツリーは描画レンダリングツリーを生成した場合とは異なるアルゴリズム、異なるバージョン、異なるパラメータによって生成される。本実施形態においては旧バージョンの生成方法を用いる。ＣＰＵ１０８がこのまま参照レンダリングツリーを表示部１０６に描画した場合の描画結果は図５のようになる。描画レンダリングツリーの場合と異なり、テキストの描画開始位置が左にずれているため改行が発生していない。参照レンダリングツリーは、参照データの一例である。
Ｓ２０５において、ＣＰＵ１０８は、描画レンダリングツリーを走査する。
Ｓ２０６において、ＣＰＵ１０８は、走査が終わったか否かを判定する。ＣＰＵ１０８は、走査が終わった場合はＳ２０７に進み、終わっていない場合はＳ２０８に進む。
【００１２】
Ｓ２０８において、ＣＰＵ１０８は、描画レンダリングツリーを走査しながら、ノードがテキストノードかどうかを判定する。ＣＰＵ１０８は、テキストノードの場合はＳ２０９に進み、そうでない場合はＳ２０５に進む。
Ｓ２０９において、ＣＰＵ１０８は、参照レンダリングツリーを走査する。
Ｓ２１０において、ＣＰＵ１０８は、描画レンダリングツリーで見つけたテキストノードに対応するテキストノードが参照レンダリングツリー上にあるかどうかを調べる。ＣＰＵ１０８は、対応しているかどうかを、ｉｄ属性の値が同じかどうか、又はＸＰａｔｈ（ｈｔｔｐｓ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｐａｔｈ）で同じになるかどうかで判定する。本実施形態においてはｉｄ属性の値がレンダリングツリーに含まれるため、ＣＰＵ１０８は、これによって対応しているかどうかを判定する。ＣＰＵ１０８は、対応するテキストノードがあった場合はＳ２１１に進み、なければＳ２０５に進む。
【００１３】
Ｓ２１１において、ＣＰＵ１０８は、描画レンダリングツリー上のテキストノードの包含矩形情報を取得する。
Ｓ２１２において、ＣＰＵ１０８は、参照レンダリングツリー上のテキストノードの包含矩形情報を取得する。
Ｓ２１３において、ＣＰＵ１０８は、２つの包含矩形を比較する。ＣＰＵ１０８は、違いがあればＳ２１４に進み、なければＳ２０５に進む。本実施形態では現バージョンによる包含矩形は改行が発生しているため、旧バージョンによる包含矩形に比べて高さが倍、幅が少し短くなっている。
Ｓ２１４において、ＣＰＵ１０８は、描画レンダリングツリー上のテキストノードを調整する。
【００１４】
本実施形態では描画データの調整は文字列拡大又は縮小である。現バージョンの包含矩形の高さが旧バージョンの包含矩形の高さより大きいため、ＣＰＵ１０８は、テキストノードに設定されていたフォントサイズを縮小する。
また、現バージョンの包含矩形が旧バージョンの包含矩形より小さい場合には、ＣＰＵ１０８は、フォントサイズの拡大を行う。
また、描画データの調整はフォントの変更であってもよい。描画に使用可能なフォントが複数ある場合は、ＣＰＵ１０８は、テキストノードに設定されたフォントを他のフォントに変更して調整を行ってもよい。
また、描画データの調整はフォントパラメータの変更であってもよい。フォントデータは字形だけでなく字間等のパラメータも持つ。ＣＰＵ１０８は、字間を増減させることで調整を行ってもよい。
Ｓ２０７において、ＣＰＵ１０８は、描画レンダリングツリーに基づいて描画結果を表示部１０６に出力する。出力の結果は図６のようになる。
以上説明した処理制御を行うことで、レイアウトの崩れを防いだＨＴＭＬの描画を行うことができる。
【００１５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１６】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【００１７】
上述した各実施形態によれば、ブラウザエンジンの変更によるレイアウトの崩れを抑えることができる。
【符号の説明】
【００１８】
１０４  外部記憶部
１０８  ＣＰＵ
【図１】
2020086281.tif 000003
【図２】
2020086281.tif 000004
【図３】
2020086281.tif 000005
【図４】
2020086281.tif 000006
【図５】
2020086281.tif 000007
【図６】
2020086281.tif 000008