阿部 直哉 (〒83 山口県宇部市南小羽山町2-4-13 有限会社カテナス内 Yamaguchi, 7550083, JP)
有限会社カテナス (〒83 山口県宇部市南小羽山町2-4-13 Yamaguchi, 7550083, JP)
NTT DATA INSTITUTE OF MANAGEMENT CONSULTING, INC. (Shibuya Property Tokyu Bldg. 6F, 32-12 Higashi 1-chome Shibuya-ku Tokyo, 11, 1500011, JP)
株式会社エヌ・ティ・ティ・データ経営研究所 (〒11 東京都渋谷区東1-32-12 渋谷プロパティー東急ビル6階 Tokyo, 1500011, JP)
| 画面に文字列を描画するシステムであって、 描画すべき文字列と、前記文字列を描画する描画領域を前記画面の大きさに基づいて決定するための情報である領域指定情報とを含むキー情報を取得するキー情報取得部と、 前記キー情報に含まれる前記領域指定情報に基づいて前記描画領域を決定する描画領域決定部と、 前記描画領域内に、前記キー情報に含まれる前記文字列をすべて描画することが可能な最大のフォントサイズを算出するフォントサイズ算出部と、 前記最大のフォントサイズで前記描画領域内に前記文字列を描画する文字列描画部と、 を備えることを特徴とする文字列描画システム。 |
| 請求項1に記載の文字列描画システムであって、 複数の前記キー情報がツリー構造を構成し、 前記描画領域決定部は、前記ツリー構造のルートである前記キー情報であるルートキー情報について、前記画面の全てを前記描画領域として決定し、前記ルートキー情報以外の前記ツリー構造を構成する前記キー情報のそれぞれについて、各前記キー情報についての前記描画領域が、当該キー情報の親についての前記描画領域内に含まれるように、前記領域指定情報に基づいて前記描画領域を決定すること、 を特徴とする文字列描画システム。 |
| 請求項1に記載の文字列描画システムであって、 前記画面に文字を描画可能な最大のフォントサイズである最大サイズと、前記画面に文字を描画可能な最小のフォントサイズである最小サイズとを取得するシステムサイズ取得部を備え、 前記フォントサイズ算出部は、 前記最大サイズをfs1とし、前記最小サイズをfs0とし、(fs0+fs1)í2で求められるフォントサイズをfsとし、 前記fsと前記fs0との差が所定値以下になるまで、前記fsにより前記文字列を前記描画領域の幅を超えないように描画する場合に必要となる領域の高さthを算出し、前記描画領域の高さhが前記thを超える場合、前記fs0に前記fsを設定し、前記hが前記thを超えない場合、前記fs1に前記fsを設定して、 前記fsを前記最大のフォントサイズとして算出すること、 を特徴とする文字列描画システム。 |
| 請求項3に記載の文字列描画システムであって、 前記キー情報にはフォントサイズが含まれ、 前記フォントサイズ算出部は、前記キー情報に含まれる前記フォントサイズで前記キー情報に含まれる前記文字列を前記描画領域内に描画できるか否かを判定し、描画できる場合には、前記キー情報に含まれる前記フォントサイズを前記最大のフォントサイズとし、描画できない場合には、前記Fを前記最大のフォントサイズとすること、 を特徴とする文字列描画システム。 |
| 画面に文字列を描画する方法であって、 コンピュータが、 描画すべき文字列と、前記文字列を描画する描画領域を前記画面の大きさに基づいて決定するための情報である領域指定情報とを含むキー情報を取得し、 前記キー情報に含まれる前記領域指定情報に基づいて前記描画領域を決定し、 前記描画領域内に、前記キー情報に含まれる前記文字列をすべて描画することが可能な最大のフォントサイズを算出し、 前記最大のフォントサイズで前記描画領域内に前記文字列を描画すること、 を備えることを特徴とする文字列描画システム。 |
| 画面に文字列を描画するためのプログラムであって、 コンピュータに、 描画すべき文字列と、前記文字列を描画する描画領域を前記画面の大きさに基づいて決定するための情報である領域指定情報とを含むキー情報を取得するステップと、 前記キー情報に含まれる前記領域指定情報に基づいて前記描画領域を決定し、 前記描画領域内に、前記キー情報に含まれる前記文字列をすべて描画することが可能な最大のフォントサイズを算出し、 前記最大のフォントサイズで前記描画領域内に前記文字列を描画すること、 を備えることを特徴とする文字列描画システム。 |
本発明は、文字列表示システム、文字列 示方法、およびプログラムに関する。
画面の記述言語としてHTML(HyperText Markup L anguage)が知られている。HTMLでは、タグにより 文章の構造や文字列の装飾などを定義してい る。HTMLにより記述されたウェブページは、 ェブブラウザにより解釈されて画面に描画 れる。
HTMLで記述されたウェブページは一画面に描
画することが想定されていない。したがって
、ユーザはウェブページを閲覧するためには
画面をスクロールする必要があった。この不
便を解消するために、例えば特許文献1では
ウェブページの一部の要素を優先的に表示
るようにしている。
しかしながら、特許文献1に記載の表示装 置では、一画面に全ての情報を表示すること はできない。また、HTMLでは、フレームなど より、あるウェブページに他のウェブペー を組み入れる仕組みも提供されているが、HT MLでは、文字列の描画領域に応じたフォント イズをデザインすることは考慮されていな ため、あるウェブページで他のウェブペー を組み入れるために指定されたフレームの きさが、他のウェブページのデザイナが想 していた大きさよりも小さい場合には、小 な描画領域に大きな文字が描画されること なり、他のウェブページの全てが描画され 、あるいは、ユーザがフレームをスクロー しなくては他のウェブページの全てを閲覧 ることができない。
本発明は、このような背景を鑑みてなさ たものであり、描画領域の大きさに応じて の描画領域に描画すべき文字列をすべて描 することのできる文字列描画システムを提 することを目的とする。
上記課題を解決するための本発明のうち 請求項1に記載の発明は、画面に文字列を描 画するシステムであって、描画すべき文字列 と、前記文字列を描画する描画領域を前記画 面の大きさに基づいて決定するための情報で ある領域指定情報とを含むキー情報を取得す るキー情報取得部と、前記キー情報に含まれ る前記領域指定情報に基づいて前記描画領域 を決定する描画領域決定部と、前記描画領域 内に、前記キー情報に含まれる前記文字列を すべて描画することが可能な最大のフォント サイズを算出するフォントサイズ算出部と、 前記最大のフォントサイズで前記描画領域内 に前記文字列を描画する文字列描画部と、を 備えることとする。
本発明の文字列描画システムによれば、 画領域への文字列の描画には、全ての文字 を描画可能な最大のフォントサイズが用い れる。すなわち、描画領域に応じてなるべ 大きなフォントサイズで文字列を描画する とができる。したがって、文字列の一覧性 確保しつつ、なるべく見易い表示を行うこ ができる。
また、画面の大きさが変わった場合でも なるべく大きな文字を描画して視認性を高 ることができる。したがって、HTMLのフレー ムのように、ある画面の中に他の画面を表示 するような場合でも、描画領域に合わせてフ ォントサイズが調整されるので、文字列の一 覧性を維持しつつ、文字の視認性も確保する ことができる。
また、画面の大きさに基づいてキー情報 ついての描画領域が決定され、その描画領 にキー情報に含まれる文字列が描画される で、複数のキー情報を表示する場合にも、 て1画面に表示することが可能である。よっ て、キー情報の一覧性を確保することができ る。
また、本発明のうち請求項2に記載の発明 は、請求項1に記載の文字列描画システムで って、複数の前記キー情報がツリー構造を 成し、前記描画領域決定部は、前記ツリー 造のルートである前記キー情報であるルー キー情報について、前記画面の全てを前記 画領域として決定し、前記ルートキー情報 外の前記ツリー構造を構成する前記キー情 のそれぞれについて、各前記キー情報につ ての前記描画領域が、当該キー情報の親に いての前記描画領域内に含まれるように、 記領域指定情報に基づいて前記描画領域を 定することとする。
この場合、ツリー構造のデータを採用す ことにより、ルートのキー情報に画面全体 描画領域を割り当て、各キー情報には、親 描画領域の全部または一部を、そのキー情 の描画領域として割り当てることができる したがって、画面の構成は、画面を分割し 状態をツリー構造として表現すればよいの 、容易に画面構成を記述することができる
また、本発明のうち請求項3に記載の発明 は、請求項1に記載の文字列描画システムで って、前記画面に文字を描画可能な最大の ォントサイズである最大サイズと、前記画 に文字を描画可能な最小のフォントサイズ ある最小サイズとを取得するシステムサイ 取得部を備え、前記フォントサイズ算出部 、前記最大サイズをfs1とし、前記最小サイ をfs0とし、(fs0+fs1)í2で求められるフォント イズをfsとし、前記fsと前記fs0との差が所定 以下になるまで、前記fsにより前記文字列 前記描画領域の幅を超えないように描画す 場合に必要となる領域の高さthを算出し、前 記描画領域の高さhが前記thを超える場合、前 記fs0に前記fsを設定し、前記hが前記thを超え い場合、前記fs1に前記fsを設定して、前記fs を前記最大のフォントサイズとして算出する こととする。
また、本発明のうち請求項4に記載の発明 は、請求項3に記載の文字列描画システムで って、前記キー情報にはフォントサイズが まれ、前記フォントサイズ算出部は、前記 ー情報に含まれる前記フォントサイズで前 キー情報に含まれる前記文字列を前記描画 域内に描画できるか否かを判定し、描画で る場合には、前記キー情報に含まれる前記 ォントサイズを前記最大のフォントサイズ し、描画できない場合には、前記Fを前記最 のフォントサイズとすることとする。
この場合、上限のフォントサイズをキー 報に指定しておくことで、それ以上大きな 字にならないように設定することができる したがって、例えば、あまり大きな文字で デザイン的に美しくないと判断される場合 、あまり大きな文字では、かえって視認性 落ちると判断される場合などに、文字の大 さの上限を制限することができる。よって 文字列の視認性を確保しつつ、文字列が表 されるデザインの柔軟性を確保することが きる。
本発明によれば、描画領域の大きさに応 てその描画領域に描画すべき文字列をすべ 描画することができる。
1 キーセットファイル
2 キーセットファイル
10 ユーザ端末
20 キーセット提供サーバ
30 通信ネットワーク
40 キーツリー構造体
50 スタイル管理表
60 画面
101 CPU
102 メモリ
103 記憶装置
104 通信インタフェース
105 入力装置
106 出力装置
211 ウェブ処理部
212 キーセットファイル記憶部
111 キーセット描画処理部
112 キーストリングパーサ
113 入出力インタフェース
114 マネージャコントローラ
115 ファイルマネージャ
116 ウェブマネージャ
151 キーセット記憶部
152 キーセットファイル記憶部
211 ウェブ処理部
212 キーセットファイル記憶部
以下、本発明の一実施形態に係る描画シ テムについて説明する。
本実施形態の描画システムは、文字列を 面に描画するものである。なお、描画シス ムはもちろん、文字列以外にも、動画像や 止画像などを描画するようにすることもで るし、線や多角形などの描画を行うように ることもできるが、本実施形態では、簡単 ため、文字列のみを描画するものとする。
描画システムは、画面に描画すべき文字 をツリー構造に記述したデータに基づいて 字列の描画を行う。ツリー構造を構成する ードをキーという。また、ひとまとまりの 数のキーをキーセットという。各キーセッ は、1つのファイルに格納され、キーセット が格納されるファイルをキーセットファイル という。
図1は、キーセットファイルの一例を示す 図である。図1に示すように、キーセットフ イル1において、キーセットは、ツリー構造 ルートとなるキーを示すラベルに続いて、 階層のキーをブレース(中括弧)でまとめ、 さ優先順に記述したデータ(以下、キースト ングという。)により表現される。
図1に示すように、キーのラベル(本発明 領域指定情報に該当する。後述するように ラベルに応じてキーの描画領域が決定され 。すなわち、RやCのラベルが付されたキーに は、親の描画領域を分割した領域が割り当て られ、Seのラベルが付されたキーには、描画 域が割り当てられず、その他のキーには親 描画領域がそのまま割り当てられる。)には 「K」「Se」「U」「R」「C」などがある。
「K」のラベルは、キーセットのルートに なるキーを示す。Kのラベルが付されたキー( 下、Kキーという。)には、キーセットの名 (以下、キーセット名という。)が属性として 設定される。キーの属性は、ラベルに続く括 弧内に記述される。キーセットファイル1の では、「K(“_Ex1”)」と記述されている。こ は「_Ex1」というキーセット名がKキーの属 として設定されていることを示す。
「Se」のラベルは、文字列を描画する際 フォントサイズや、描画領域の余白の大き などのスタイルを設定するためのキーを示 。Seのラベルが付されたキー(以下、スタイ キーという。)に引き続くブレース内には、 タイルの設定が記述される。スタイルの設 は、1つ以上のスタイルのまとまり(以下、 タイルセットという。)の名称(以下、スタイ ルセット名という。)に対応付けて、設定項 となるスタイルの名称(以下、スタイル名と う。)とその値とが「=」で対応付けられた で記述される。キーセットファイル1の例で 、「@a」というスタイルセット名に対応付 て、「~mode」というスタイル名に「auto」と う値が設定されており、「~fontsize」という タイル名に「24」という値が設定されている 。なお、スタイルキーに設定されたスタイル は、文字列の描画の際に参照される。
「U」のラベルは、キーセットに割り当て られた描画領域全体に対応するキーを示す。 Uのラベルが付されたキー(以下、Uキーという 。)の子孫となるキーには、Uキーに対応する 画領域の少なくとも一部が割り当てられる
Uキーの子孫となるキーには、「R」「C」 たは「I」のラベルが付される。なお、その 他のラベルを付したキーをUキーの子孫とす ことも可能であるが、本実施形態では簡単 ために、Uキーの子孫には「R」「C」または I」のいずれかのラベルが付されるものとす 。
Rのラベルが付されたキー(以下、Rキーと う。)およびCのラベルが付されたキー(以下 Cキーという。)を、レイアウトキーと呼ぶ レイアウトキーは、親のキーに割り当てら ている描画領域を分割することを示す。Rキ は、親のキーに割り当てられた描画領域を (Row)に分割することを示し、Cキーは、列(Col umn)に分割することを示す。
レイアウトキーには、属性として文字列 よびスタイルセット名を設定することがで る。キーセットファイル1では、例えば、U ーの子となる4つのRのラベルが設定されたキ ー(以下、Rキーという。)の最初のものには、 文字列「SaLA インタプリタ」と、スタイルセ ット名「@a」とが属性として設定されている
レイアウトキーは、兄弟のキーの数に応 て、兄弟のキーと等分に親の描画領域を分 する。例えば、キーストリングが「U{RR}」 ある場合には、Uキーが示す描画領域は上下 2分割され、キーストリングが「U{CCC}」であ る場合には、Uキーが示す描画領域は左右に3 割される。キーセットファイル1の例のよう に「U{RRRR}」と指定されている場合には、Uキ が示す描画領域は上下に4分割される。なお 、同一階層には、RキーおよびCキーは混在し いものとする。
「R」または「C」の後には数値を記述す ようにしてもよい。この場合、ラベルの後 数値は、描画領域の分割比を示す。すなわ 、キーストリングが「U{R3R}」である場合、U ーが示す描画領域は、上4分の3の領域と、 4分の1の領域とに分割される。
レイアウトキーの属性として文字列が指 されている場合には、指定された文字列が 割された描画領域に描画される。レイアウ キーの属性にスタイルセット名が指定され いる場合には、そのスタイルセット名に対 するスタイルの設定に従って文字列が描画 れる。
「I」のラベルは、他のキーセットを連結 するためのキーを示す。Iのラベルが付され キー(以下、Iキーという。)がキーストリン に含まれている場合には、Iキーの属性に設 されているキーセット名(本実施形態におい て、キーセットファイルのファイル名は、キ ーセット名に一致するものとする。)またはUR L(Uniform Resource Locator)が示すキーセットファ ルが読み出され、読み出されたキーセット ァイル中の含まれるキーがIキーの子として 連結される。
例えば、「K(“A”){U{RR{I(“B”)}}}」とい キーストリングにより記述されるキーセッ Aと、「K(“B”){U{CC}}」というキーストリン により記述されるキーセットBとが存在する 合、キーセットBがキーセットAに連結され 、キーストリングは「U{RR{I{U{CC}}}}」となる この場合、キーセットBのCキーは、キーセッ トAの描画領域(Uキーが示す)を、上下に2分割 た下側2分の1を、左右に2分割したもの、す わち上下左右に4分割した描画領域が割り当 てられる。このように、本実施形態の描画シ ステムでは、レイアウトキーに割り当てられ る描画領域は、親のキーに割り当てられてい る描画領域に応じて大きさが変わることを想 定している。
以下、描画システムの詳細について説明 る。
==システム構成==
図2は、本実施形態の描画システムの全体構
成を示す図である。
本実施形態の描画システムは、ユーザ端 10およびキーセット提供サーバ20を含んで構 成されている。ユーザ端末10およびキーセッ 提供サーバ20は、通信ネットワーク30を介し て互いに通信可能に接続される。通信ネット ワーク30は、例えば、インターネットやLAN(Loc al Area Network)であり、イーサネット(登録商 )、フレームリレー網、公衆電話回線網、無 通信網などにより構築される。
ユーザ端末10は、ユーザが操作する、例 ば、パーソナルコンピュータやワークステ ション、PDA(Personal Digital Assistance)、携帯電 、POS(Point Of Sales)端末などのコンピュータ ある。ユーザ端末10には、キーセットがキ ストリングとして記述されたファイル(以下 キーセットファイルという。)が記憶され、 キーセットファイルに含まれるキーストリン グに基づいて文字列が描画される。
キーセット提供サーバ20は、キーセット ァイルを提供する、例えば、パーソナルコ ピュータやワークステーションなどのコン ュータである。キーセット提供サーバ20は、 ユーザ端末10からのリクエストに応じてキー ットファイルをユーザ端末10に送信する。 実施形態では、キーセット提供サーバ20は、 Webサーバの機能を有し、HTTP(HyperText Transfer P rotocol)に従ってキーセットファイルを送信す ものとする。
ユーザはユーザ端末10を操作し、キーセ ト提供サーバ20にアクセスしてキーセットフ ァイルを取得し、ユーザ端末10がキーセット 供サーバ20から取得したキーセットファイ に含まれるキーストリングに基づいて文字 を描画することもできる。
また、キーストリングにIキーが含まれて おり、Iキーに、キーセット提供サーバ20に記 憶されているキーセットファイルへのURLが指 定されている場合には、ユーザ端末10は、URL 指定したリクエストをキーセット提供サー 20に送信し、キーセット提供サーバ20から応 答されるキーセットファイルを受信し、受信 したキーセットファイルに含まれるキースト リングをIキーの子として連結することもで る。
==ハードウェア==
図3は、ユーザ端末10およびキーセット提供
ーバ20のハードウェア構成を示す図である
同図に示すように、ユーザ端末10およびキー
セット提供サーバ20はそれぞれ、CPU101、メモ
102、記憶装置103、通信インタフェース104、
力装置105、出力装置106を備えている。
記憶装置103は、各種のプログラムやデー を記憶する、例えば、ハードディスクドラ ブやCD-ROMドライブ、フラッシュメモリなど ある。CPU101は、記憶装置103に記憶されてい プログラムをメモリ102に読み出して実行す ことにより各種の機能を実現する。通信イ タフェース104は、通信ネットワーク30に接 するためのインタフェースである。通信イ タフェース104は、例えば、イーサネット(登 商標)に接続するためのアダプタや、電話回 線網に接続するためのモデム、無線通信器な どである。
入力装置105は、データの入力を受け付け 、例えば、キーボードやマウス、タッチパ ルなどである。出力装置106は、データを出 する、例えば、ディスプレイやプリンタな である。
==キーセット提供サーバ20==
図4は、キーセット提供サーバ20の機能ブロ
ク図である。
上述したように、キーセット提供サーバ2 0は、一般的なウェブサーバとしての機能を 供するウェブ処理部211およびキーセットフ イル記憶部212を備えている。
キーセットファイル記憶部212には、キー ットファイルが記憶される。本実施形態で 、キーセットファイル記憶部212には、「news .html」というファイル名のキーセットファイ 2が記憶されており、キーセット提供サーバ 20が提供するキーセットファイル2のURLは「htt p://server/news.html」であるものとする。
なお、ウェブ処理部211は、キーセット提 サーバ20が備えるCPU101が記憶装置103に記憶 れているプログラムをメモリ102に読み出し 実行することにより実現される。また、キ セットファイル記憶部212は、メモリ102や記 装置103が提供する記憶領域として実現され 。キーセットファイル記憶部212は、例えば キーセット提供サーバ20で動作するオペレー ティングシステムが提供するファイルシステ ムのディレクトリとして実現することができ る。
==ユーザ端末10==
図5は、ユーザ端末10の機能ブロック図であ
。
ユーザ端末10は、キーセット描画処理部11 1、キーストリングパーサ112、入出力インタ ェース113、マネージャコントローラ114、フ イルマネージャ115、ウェブマネージャ116、 ーセット記憶部151、キーセットファイル記 部152を備えている。
なお、キーセット描画処理部111、キース リングパーサ112、入出力インタフェース113 マネージャコントローラ114、ファイルマネ ジャ115、およびウェブマネージャ116は、ユ ザ端末10が備えるCPU101が記憶装置103に記憶 れているプログラムをメモリ102に読み出し 実行することにより実現される。また、キ セット記憶部151およびキーセットファイル 憶部152は、メモリ102や記憶装置103が提供す 記憶領域として実現される。
キーセットファイル記憶部152は、キーセ トファイルを記憶する。本実施形態では、 ーセットファイル記憶部152には、図1に示す キーセットファイル1が記憶されているもの するが、もちろんその他のキーセットファ ルが記憶されてもよい。キーセットファイ 記憶部152は、例えば、ファイルシステムの ィレクトリとして実現することができる。
ファイルマネージャ115は、ファイル名の指
を受け付けて、指定されたファイル名が示
キーセットファイルをキーセットファイル
憶部152から読み出す。
ウェブマネージャ116は、URLを受け付けて、U
RLが示すキーセットファイルをキーセット提
サーバ20から取得する。ウェブマネージャ11
6は、受け付けたURLを設定したHTTPリクエスト
キーセット提供サーバ20に送信し、キーセ
ト提供サーバ20からHTTPリクエストに対する
スポンスとして送信されるキーセットファ
ルを受信する。
マネージャコントローラ114は、ファイル ネージャ115やウェブマネージャ116を制御す 。マネージャコントローラ114は、キーセッ 名を受け付け、受け付けたキーセット名に じて、ファイルマネージャ115またはウェブ ネージャ116にキーセット名を与えて呼び出 、キーセットファイルを取得する。マネー ャコントローラ114は、例えば、キーセット が「http://」で始まっていれば、ウェブマネ ージャ116を呼び出し、それ以外であればファ イルマネージャ115を呼び出すようにすること ができる。
なお、本実施形態では、ファイルマネー ャ115がファイルシステムからのファイルの み出しを行い、キーセット提供サーバ20か HTTPによるキーセットファイルの受信をウェ マネージャ116が行うものとしたが、例えば FTPサーバからキーセットファイルを取得す FTPマネージャや、電子メールによりキーセ トファイルを受信する電子メールマネージ 、キーボードなどの入力装置105から直接キ ストリングの入力を受け付けて、受け付け キーストリングを含むキーセットファイル 生成する入力装置マネージャなどを設ける うにすることもできる。
キーストリングパーサ112は、キーセット ァイル記憶部152に記憶されているキーセッ ファイル1を読み出し、読み出したキーセッ トファイル1に含まれているキーストリング 解析して、ツリー構造のキーを示すデータ( 下、キーツリー構造体という。)を生成する 。キーストリングパーサ112は、生成したキー ツリー構造体をキーセット記憶部151に記憶す る。なお、キーツリー構造体は、例えば、各 キーをメモリ上のオブジェクトとして表現し 、オブジェクト間の親子関係は、ポインタや 参照により表現することができる。
また、キーストリングパーサ112は、キー トリングにIキーが含まれている場合には、 Iキーの属性として設定されているキーセッ 名を与えてマネージャコントローラ114を呼 出す。キーストリングパーサ112は、マネー ャコントローラ114からキーセットファイル 取得し、取得したキーセットファイルに含 れているキーストリングを解析して、キー リー構造体を生成し、生成したキーツリー 造体のルートが、Iキーの子になるように接 する。
図6は、図1に示したキーセットファイル1 キーストリングパーサ112が解析した結果で る、キーツリー構造体40の構造を説明する である。キーツリー構造体40には、Iキー41が 含まれており、Iキー41の子として、Kキー42が 連結されている。Kキー42以下のキーツリー構 造体40は、キーセット提供サーバ20が提供す キーセットファイル2のキーストリングを解 した結果である。
また、キーストリングパーサ112は、キー ットファイル1に含まれるスタイルキーに基 づいて、スタイルの設定名ごとのスタイルを 管理するテーブル(以下、スタイル管理表50と いう。)を生成する。図7は、スタイル管理表5 0の構成例を示す図である。スタイル管理表50 には、スタイルセット名に対応付けて、スタ イル名とその値とが格納される。なお、スタ イル管理表50には、設定可能なスタイル名の フォルト値が、スタイルセット名が「デフ ルト」として設定されるものとする。
キーセット描画処理部111は、キーセット 憶部151に記憶されたキーツリー構造体に基 いて、文字列を出力装置106に出力する。な 、キーセット描画処理部111の処理の詳細に いては後述する。
入出力インタフェース113は、入力装置105 らのデータの入力や、出力装置106へのデー の出力、マネージャコントローラ114との間 データのやり取りなどを制御する。
==文字列の出力処理==
以下、ユーザ端末10における文字列の出力
理について説明する。なお、以下の処理で
、予めキーストリングパーサ112によりキー
リー構造体40およびスタイル管理表50が生成
れているものとする。また、本実施形態で
、所定のフォントにより文字列が描画され
ものとする。
図8は、ユーザ端末10による文字列の出力 理の流れを示す図である。
キーセット描画処理部111は、キーツリー 造体40のルートとなるキーをkey変数に設定 る(S501)。キーセット描画処理部111は、出力 置106に描画可能な最大の描画領域を取得し 取得した描画領域の幅および高さをそれぞ wおよびhとする(S502)。本実施形態では、描画 領域は矩形であり、矩形の左上を基準座標(0, 0)として、「(X座標,Y座標,幅,高さ)」で表現す るものとする。
キーセット描画処理部111は、描画領域(0,0,w,
h)をkeyに設定する(S503)。なお、キーセット描
処理部111は、例えば、キーの属性に描画領
を設定する。
キーセット描画処理部111は、keyのラベルが
Se」でなければ(S504:NO)、後述するkeyの描画
理を実行する(S505)。
キーセット描画処理部111は、キーツリー 造体40においてkeyを基準に、深さ優先順に のキーが含まれている場合には(S506:YES)、次 キーをkeyとして(S507)、keyのラベルが「Se」 なければ(S504:NO)、keyの描画処理を行う(S505)
以上のようにして、キーセット描画処理 111は、キーツリー構造体40に含まれるスタ ルキー以外のキーのそれぞれについて、深 優先順にステップS505の描画処理を行うこと なる。したがって、キーセット描画処理部1 11は、キーツリー構造体40に含まれるスタイ キーを除く全てのキーについて描画処理を うことができる。すなわち、キーセットフ イル1および連結されるキーセットファイル2 に記述されたスタイルキーを除く全てのキー が描画される。
図9は、図8のステップS505におけるkeyの描 処理の流れを示す図である。
まず、キーセット描画処理部111は、keyに設
されている描画領域を、キーツリー構造体4
0においてkeyの子となるキー(以下、子キーと
う。)のそれぞれに設定する(S520)。
次に、キーセット描画処理部111は、keyの子
ーの中に、レイアウトキーが含まれている
どうかを判断し(S521)、レイアウトキーが子
ーに含まれていない場合には(S521:NO)、処理
終了する。
キーセット描画処理部111は、keyの子キー レイアウトキーがある場合には(S521:YES)、key に設定されている描画領域のX座標、Y座標、 、および高さをそれぞれ、x、y、w、hとする (S522)。キーセット描画処理部111は、子キーの 中のレイアウトキーの数をカウントしてnと る(S523)。キーセット描画処理部111は、wをnで 割った商をcwとし(S524)、hをnで割った商をchと する(S525)。キーセット描画処理部111は、変数 mを0として(S526)、次の子キーが存在する間(S52 7:YES)、以下の処理を行う。
キーセット描画処理部111は、次の子キーをc
kとして(S528)、ckのラベルが「C」であれば(S529
:C)、x+m×cwの演算結果をcxとして(S530)、領域(cx
,y,cw,h)を描画領域としてckに設定する(S531)。
ckのラベルが「R」であれば(S529:R)、キーセ
ト描画処理部111は、y+m×chの演算結果をcyと
て(S532)、領域(x,cy,w,ch)を描画領域としてckに
定する(S533)。
以上のようにして、ckがCキーの場合、key 描画領域をX軸方向にn分割した描画領域がck に設定され、ckがRキーの場合、keyの描画領域 をY軸方向にn分割した描画領域がckに設定さ る。
一方、キーセット描画処理部111は、ckの ベルが「C」および「R」のいずれでもない場 合は(S529:その他)、ステップS527からの処理を り返す。
キーセット描画処理部111は、後述のckの 画処理を行い(S534)、mをインクリメントして( S535)、ステップS527からの処理を繰り返す。
以上のようにして、keyの子キーのすべて 描画領域が設定され、子キーがレイアウト ーである場合には、描画領域をX軸方向また はY軸方向に分割した領域が設定されること なる。
上記図9の処理は、キーツリー構造体40を 成するスタイルキーを除く全てのキーにつ て行われる。したがって、本実施形態の描 システムによれば、キーツリー構造体40に まれるスタイルキーを除く各キーには、キ ツリー構造体40のルートに割り当てられた描 画領域の全部または一部が割り当てられ、割 り当てられた描画領域に、後述する文字列の 描画が行われる。よって、1画面にキーツリ 構造体40の全体が描画されることになる。
図10は、図9のステップS534におけるckの描 処理の流れを示す図である。
キーセット描画処理部111は、ckの属性に 定されている文字列をtとし(S541)、ckの属性 設定されているスタイルセット名をsnとする (S542)。
キーセット描画処理部111は、スタイル管 表50から、スタイルセット名がsnと一致し、 かつ、スタイル名が「~mode」であるレコード 値を取得してmdとし、snおよび「~mode」に対 する値がスタイル管理表50に設定されてい い場合にはデフォルトの「~mode」の値をmdと る(S543)。
キーセット描画処理部111は、mdが「auto」 あれば(S544:YES)、スタイル管理表50から、ス イルセット名がsnと一致し、かつ、スタイ 名が「~fontsize」であるレコードの値を取得 てfsとし、snおよび「~fontsize」に対応する値 スタイル管理表50に登録されていない場合 は、デフォルトの「~fontsize」の値をfsとする (S545)。
キーセット描画処理部111は、ckに設定さ た描画領域に、fsのフォントサイズでtを描 できるかどうかを判定し(S546)、描画できな れば(S546:NO)、後述のフォントサイズの決定 理を行う(S547)。
また、キーセット描画処理部111は、mdが auto」でない場合にも(S544:NO)、フォントサイ の決定処理を行う(S547)。
キーセット描画処理部111は、以上のよう して決定されたfsのフォントサイズで、ckに 設定されている描画領域にtを描画する(S548)
図11は、図10のステップS547のフォントサ ズの決定処理の流れを示す図である。
キーセット描画処理部111は、ユーザ端末1 0が処理可能な最小のフォントサイズを取得 てfs0とし(S561)、ユーザ端末10が処理可能な最 大のフォントサイズをfs1とする(S562)。なお、 ユーザ端末10が処理可能な最大または最小の ォントサイズは、例えば、ユーザ端末10で 作しているオペレーティングシステムに問 わせることで取得することができる。また キーセット描画処理部111は、出力装置106か 出力可能な描画領域のサイズとピクセルサ ズとを取得して、最大または最小のフォン サイズを算出するようにしてもよい。
キーセット描画処理部111は、(fs0+fs1)í2で められる値をfsとし(S563)、fsとfs0との差が所 定値以下である場合には(S564:YES)、処理を終 する。なお、所定値は例えば、ユーザ端末10 で動作するオペレーティングシステムが取り 扱い可能なフォントサイズの刻み(例えば0.5 イントなど)とすることができる。
fsがfs0と一致しない場合(S564:NO)、キーセ ト描画処理部111は、wの幅で、fsのフォント イズにより、tを単一行または複数行に描画 た場合に必要となる領域の高さを算出してt hとする(S565)。thの算出には、一般的な文字列 の表示処理における領域の計算式を用いるこ とができる。例えば、キーセット描画処理部 111は、tに含まれる全ての文字についてfsのフ ォントサイズで描画する場合の文字幅および 文字高を算出し、文字幅の合計がwを超えな ようにtを部分文字列に分解し、各部分文字 に含まれる文字高の最大値の合計をthとし 算出することができる。
キーセット描画処理部111は、hがthよりも きい場合(S566:YES)、fsをfs0とし(S567)、hがth以 の場合(S566:NO)、fsをfs1として(S568)、ステッ S563からの処理を繰り返す。
以上のようにして、ckに設定された描画 域に描画可能な最大のフォントサイズを求 ることができる。
図12は、以上の処理によりキーツリー構 体40が描画された画面60の一例を示す図であ 。図12の例では、出力装置106がディスプレ などの表示装置であり、表示装置の画面上 キーツリー構造体40が描画された例を示す。
画面60は、上下4つの行61~64に分割され、 上段の行61にはRキーの属性に設定されてい 文字列「SaLA インタプリタ」が表示されて る。キーセットファイル1において行61に対 するRキーには、「~mode」が「auto」であり、 ~fontsize」が「24」であるスタイルセット「@a 」が設定されており、図12の例では、行61内 表示可能な最大のフォントサイズではなく 指定されたフォントサイズで表示されるこ を示している。
行62は、キーセット提供サーバ20から取得 されたキーセットファイル2に記述されてい 3つのRキーに応じてさらに3分割され、行62内 の行65には、キーセットファイル2に記述され ていたRキーの属性の文字列が表示されてい 。
行63および行64はそれぞれ、キーセットフ ァイル1に記述されていたCキーにより3列に分 割されており、各文字列の長さに応じて、描 画領域に表示可能な最大のフォントサイズで 文字列が表示されている。例えば、行63の列6 6には、改行文字を含めて22文字の文字が表示 され、行64の列67には、4文字の文字が表示さ ているが、列66の文字の方が小さいフォン サイズで表示されている。
このように、本実施形態の描画システム よれば、画面の大きさに基づいて各キーに いての描画領域が決定され、その描画領域 文字列が描画される。したがって、キーツ ー構造体40を構成する全てのキーのうち、 示すべき文字列が属性として設定されてい ものを、1画面に表示することが可能である これにより、画面でのキーの一覧性を確保 ることができる。
また、各キーについての文字列の描画に 、全ての文字列を描画可能な最大のフォン サイズが用いられる。すなわち、描画領域 応じてなるべく大きなフォントサイズで文 列を描画することができる。したがって、 キーについて、文字列の一覧性を確保しつ 、なるべく見易い表示を行うことができる また、画面の大きさが変わった場合でも、 るべく大きな文字を描画して視認性を高め ことができる。したがって、あるキーセッ ファイル1に記述されたキーセットに、他の キーセットファイル2のキーセットが、Iキー より連結される場合、キーセットファイル2 に割り当てられた描画領域に合わせてフォン トサイズが調整されるので、文字列の一覧性 を維持しつつ、文字の視認性も確保すること ができる。
また、本実施形態の描画システムによれ 、キーはツリー構造を構成し、ツリー構造 ルートに画面全体の描画領域を割り当て、 キーには、親の描画領域の全部または一部 、そのキー情報の描画領域として割り当て ことができる。したがって、画面の構成は 画面を分割した状態をツリー構造として表 すればよいので、画面のデザイナは、容易 画面構成をキーストリングとして記述する とができる。
また、本実施形態の描画システムによれ 、スタイルとして「~mode」を「auto」に設定 ておくことで、「~fontsize」に指定されたフ ントサイズで文字列が全て描画可能な場合 はそのフォントサイズで、描画できない場 には描画領域に合わせたフォントサイズで 字列が描画される。したがって、例えば、 まり大きな文字ではデザイン的に美しくな と判断される場合や、あまり大きな文字で 、かえって視認性が落ちると判断される場 などに、文字の大きさの上限を制限するこ ができる。よって、文字列の視認性を確保 つつ、文字列が表示されるデザインの柔軟 を確保することができる。
なお、本実施形態では、描画システムは ーザ端末10とキーセット提供サーバ20とを含 んで構成されるものとしたが、ユーザ端末10 みで構成することもできる。この場合、ユ ザ端末10は、ユーザ端末10に記憶されている キーセットファイルのみを表示することがで きる。逆に、複数のキーセット提供サーバ20 含むように構成することもできる。
また、本実施形態では、ファイルとして ーセットが格納されているものとしたが、 ァイルの形態をとらずに、例えばデータベ スのレコードとして格納されていてもよい
また、本実施形態では、文字列を表示す フォントは固定されているものとしたが、 タイルとしてフォントを指定することもで る。この場合、キーセット描画処理部111は 図10のステップS546や図11のステップS565の前 、ckの属性に設定されているスタイルセッ 名に対応するフォント名またはデフォルト フォント名を取得するようにして、取得し フォント名と、fsのフォントサイズによりt 描画した場合の領域を算出するようにする
以上、本実施形態について説明したが、 記実施形態は本発明の理解を容易にするた のものであり、本発明を限定して解釈する めのものではない。本発明は、その趣旨を 脱することなく、変更、改良され得ると共 、本発明にはその等価物も含まれる。
