JP2008117319A - 情報処理装置、情報処理装置の制御方法およびプログラム - Google Patents
情報処理装置、情報処理装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2008117319A JP2008117319A JP2006302126A JP2006302126A JP2008117319A JP 2008117319 A JP2008117319 A JP 2008117319A JP 2006302126 A JP2006302126 A JP 2006302126A JP 2006302126 A JP2006302126 A JP 2006302126A JP 2008117319 A JP2008117319 A JP 2008117319A
- Authority
- JP
- Japan
- Prior art keywords
- data
- glyph data
- glyph
- character code
- gui
- 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
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【課題】GUIを構成するGUIデータの容量を低減可能とする技術を提供する。
【解決手段】グリフデータサブセットを作成する情報処置装置において、グリフデータセットを記憶する記憶手段と、GUIで使用される文字コード列情報を入力する入力手段と、文字コード列に出現する文字コード群を収集する収集手段と、収集された個々の文字コードに対応するグリフデータを記憶手段から抽出する抽出手段と、抽出されたグリフデータからグリフデータサブセットを生成する生成手段とを備える。
【選択図】図7
【解決手段】グリフデータサブセットを作成する情報処置装置において、グリフデータセットを記憶する記憶手段と、GUIで使用される文字コード列情報を入力する入力手段と、文字コード列に出現する文字コード群を収集する収集手段と、収集された個々の文字コードに対応するグリフデータを記憶手段から抽出する抽出手段と、抽出されたグリフデータからグリフデータサブセットを生成する生成手段とを備える。
【選択図】図7
Description
本発明は、グラフィカル・ユーザ・インタフェース(GUI)の表示に使用されるデータのデータ生成技術に関するものである。特に多言語対応GUIにおけるデータ量削減に関する。
端末機器に搭載されるグラフィカル・ユーザ・インタフェース(以降、GUIと呼ぶ)は、アプリケーション開発者によってデザインされ、一般にGUI制御プログラム等と一体化している。そのため、GUIのデザインを変更する際には、デザインに関する部分だけでなくGUI制御プログラムについても変更を加え、プログラムを再生成(リビルド)する必要があった。
これを解決するためのアプリケーション開発手法として、GUIのデザインとプログラムを分離し、デザインの変更を容易にするモデルとしてMVC(Model、View、Controller)モデルに従った開発方法がある。MVCモデルのViewに相当するのがGUIのデザインであり、Modelに相当するのがGUI制御プログラムである。MVCモデルによれば、GUIのModelであるプログラムとViewであるデザインとは疎な結合となっている。そのため、それぞれを独立して作業を進めることができる。つまり、デザインに影響を与えずにプログラムを変更することが可能であり、またプログラムに影響を与えずにデザインを修正することができるので、効率化を図ることができる。
ところで近年、グラフィカルユーザインタフェースを搭載した機器の多言語対応が求められている。例えば、特許文献1には、利用者属性情報に合致したUIを端末で自動的に選択する技術が開示されている。ここで、多言語対応とは、グラフィカルユーザインタフェースのデザインは変更せずに、使用されている言語のみを変更することを意味する。先に述べたMVCモデルに従えば、プログラムは共通して使用することができ、デザインのみ変更することで、多言語への対応が可能である。
ただし、多言語対応はプログラムと対応する言語の両方を熟知しているものによってなされないと、ミスが発生する可能性が非常に高い。一般的には、プログラムに使用する文字を他の言語に置き換える翻訳作業は、その言語を熟知している人に依頼される。そして、プログラマーは翻訳されたデータをプログラムの中に書かれている言語と差し替える。しかしこの差替作業は煩雑であり、プログラマーがその言語について熟知していない場合はミスに気づかない可能性が非常に高い。このような問題を解決するために、文字データを外部ファイルとして参照し、動作言語モードを設定することによりGUIの表示文字列の言語を動的に切り換えるということが行われている。
図1は上述の手法を説明する図である。端末機器100は、対応する言語で書かれた文字列データ111〜113を記憶するROM110を備えている。また、端末機器100は、文字列データ選択部130からの要求に応じて端末機器の現在の言語モードを返す言語モード取得部120を備えている。そして、端末機器100がコンポーネントに文字列をレンダリングする際に、グラフィカルユーザインタフェース合成部140は、文字列データ選択部130に文字列データの取得要求を出す。すると、文字列データ選択部130は言語モード取得部120から現在の言語モードを取得し、その言語モードに対応する文字列データを取得する。たとえば、英語が選択されていれば、文字列データA111からデータを取得する。つまり、図では、“YES”の文字列データを取得する。同様に日本語であれば文字列データB112から“はい”を、ドイツ語であれば文字列データ113から“Ja”というデータを取得する。そして、取得した文字列にしたがってグラフィカルユーザインタフェース合成部140においてレンダリング処理がなされる。このように、複数の言語についての文字列データを外部ファイルとして用意し、それを動作言語モードによって切り換えることが可能となる。
特開2003−32356号公報
しかしながら、上述した文字データを外部ファイルとして参照する手法によれば、選択可能な言語で使用される文字に対応するグリフデータのセットを機器に記憶しておく必要がある。例えば、日本語、英語、ドイツ語の3言語で使用される文字に対応するグリフデータが必要となる。通常、それぞれの言語に対応するグリフデータは、各言語で用いられる全ての文字が含まれるため、データ量が膨大になる。パーソナルコンピュータ(PC)のように処理能力や記憶容量などのリソースが潤沢にある場合には問題にならないが、小型端末のようにリソースに制限がある場合には多言語のグリフデータを記憶することは困難となる。
ところで、文字を外部ファイルでなくコンポーネントデータの一部としてビットマップ化し記憶することにより、使用するグリフデータを低減する方法もある。しかしながら、この方法では、異なる言語表示を選択する場合には、同じ画面(図形)を表示する場合においてもコンポーネントデータを言語種別ごとに用意しなければならず、コンポーネントデータのデータ量が増大する。また、デザイン変更の際に、複数の言語に対応する全てのコンポーネントデータに対し変更が必要になり、フレキシブルな対応が困難になるという問題点がある。
本発明は上記問題点に鑑みなされたものであり、その主な目的は、GUIを構成するGUIデータの容量を低減可能とする技術を提供することにある。
上述した問題点を解決するために、本発明の情報端末用のグリフデータサブセットを作成する情報処置装置は、前記情報端末で利用するためのグリフデータセットを記憶する記憶手段と、前記情報端末で使用されるGUIの文字コード列情報を入力する入力手段と、入力した文字コード列に出現する文字コード群を収集する収集手段と、該収集手段で収集された個々の文字コードに対応するグリフデータを前記記憶手段から抽出する抽出手段と、抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成手段とを備える。
ここで、前記生成手段は、抽出されたグリフデータを前記情報端末で処理可能なデータ形式に変換し前記グリフデータサブセットを生成する。
また、前記情報端末は、前記文字コード列の情報を有するGUIコンポーネント群と前記グリフデータサブセットとに基づいて前記GUIに文字列画像を表示し、該GUIコンポーネントは該文字列画像の表示位置情報を含んでおり、前記生成手段は、前記表示位置情報に基づいて、前記グリフデータサブセットを生成する。
そして、前記グリフデータサブセットは、2以上の言語のグリフデータを含む。また、前記文字コード列は、Unicodeのコードポイントにより表現される。
上述した問題点を解決するために、本発明の情報端末用のグリフデータサブセットを作成する情報処置装置の制御方法は、前記情報端末で使用されるGUIの文字コード列情報を入力する入力工程と、入力した文字コード列に出現する文字コード群を収集する収集工程と、該収集工程で収集された個々の文字コードに対応するグリフデータを前記グリフデータを記憶する記憶部から抽出する抽出工程と、抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成工程とを備える。
上述した問題点を解決するために、本発明の情報端末用のグリフデータサブセットを作成するプログラムは、前記情報端末で使用されるGUIの文字コード列情報を入力する入力工程と、入力した文字コード列に出現する文字コード群を収集する収集工程と、該収集工程で収集された個々の文字コードに対応するグリフデータを前記グリフデータを記憶する記憶部から抽出する抽出工程と、抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成工程と、をコンピュータに実行させることを特徴とする。
本発明によれば、GUIデータの生成におけるデータ量削減を可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
<概要>
GUI表示が可能な機器として、携帯情報端末を例とする。複写機や撮像機で実施可能なことは言うまでもない。携帯情報端末においては、記憶部に記憶可能なデータ量に制約がある。一方、上述した、端末機器の動作から分かるように、文字列データテーブルに使用されていない文字(文字コード)に対応するグリフデータは参照されることがない。つまり、記憶されているグリフデータには余分なグリフデータが多い。そこで、第1実施形態のGUIデータ生成装置では、GUI表示に使用されるグリフデータを判定し、使用されるグリフデータのみを携帯情報端末の記憶部に記憶することにより、必要なGUIデータ量の削減を実現する。
<概要>
GUI表示が可能な機器として、携帯情報端末を例とする。複写機や撮像機で実施可能なことは言うまでもない。携帯情報端末においては、記憶部に記憶可能なデータ量に制約がある。一方、上述した、端末機器の動作から分かるように、文字列データテーブルに使用されていない文字(文字コード)に対応するグリフデータは参照されることがない。つまり、記憶されているグリフデータには余分なグリフデータが多い。そこで、第1実施形態のGUIデータ生成装置では、GUI表示に使用されるグリフデータを判定し、使用されるグリフデータのみを携帯情報端末の記憶部に記憶することにより、必要なGUIデータ量の削減を実現する。
以下では、まずGUIデータを利用しGUIを表示する携帯情報端末の構成と動作について説明し、その後、当該GUIデータの生成方法について述べる。
<携帯情報端末の構成>
図2は、GUIを備える携帯情報端末の内部構成図である。携帯情報端末200は、各種プログラムを実行するCPU201、各種プログラムおよび各種データを記憶するROM202、各種データを一時記憶するRAM203を備えている。なお、RAM203は、CPU201が各種プログラムを実行する際のワークメモリとしても利用される。さらに、携帯情報端末200は、キーボードやタッチパネルなどにより構成される操作入力部204、および、LCDなどにより構成され各種画面を表示する表示部205を備える。
図2は、GUIを備える携帯情報端末の内部構成図である。携帯情報端末200は、各種プログラムを実行するCPU201、各種プログラムおよび各種データを記憶するROM202、各種データを一時記憶するRAM203を備えている。なお、RAM203は、CPU201が各種プログラムを実行する際のワークメモリとしても利用される。さらに、携帯情報端末200は、キーボードやタッチパネルなどにより構成される操作入力部204、および、LCDなどにより構成され各種画面を表示する表示部205を備える。
図3は、携帯情報端末の機能ブロック図である。携帯情報端末200は、システムイベント送信部301a、ユーザイベント送信部301b、イベント受信部302を備えている。これらの各機能部は、CPU201がROM202に記憶された各種プログラムを実行することにより実現される。システムイベント送信部301aは、一定時間ごとに発生するタイマーやシャットダウンなどを含んだシステムの発生するイベントを送信する機能部である。ユーザイベント送信部301bは、ユーザが操作することによって発生するイベントを送信する機能部である。イベント受信部302は、システムイベント送信部301a、ユーザイベント送信部301bからイベントが入力されるのを待機しており、信号が入力されるとGUI合成部303に通知する。
また、図3には、ROM202に記憶されるGUI関連のデータを例示的に示している。なお、以降では以下の(a)〜(d)のデータを総称して”GUIデータ”と呼ぶ。GUI合成部303は、イベント受信部302から通知された信号に基づいてROM202からGUIデータを取得するよう構成されている。
(a)”レイアウトデータ”
レイアウトデータは、GUI画面上での後述するコンポーネントデータの配置や、配置された各コンポーネントに関連付けられる文字列と対応付けを定義している。なお、コンポーネントおよび文字列の特定には後述するコンポーネントID、文字列IDを用いる。このレイアウトデータは、レイアウトデータ保存部311に記憶されている。また、レイアウトデータは、表示部205に表示される様々な画面毎に用意される。より具体的には、レイアウトデータはコンポーネントのレイアウトと、それぞれ配置すべきコンポーネントを特定するコンポーネントデータIDと、そこに表示すべき文字列を特定する文字列データIDを記述したものである。なお、図においてコンポーネントデータの配置位置を点線枠で示している。
レイアウトデータは、GUI画面上での後述するコンポーネントデータの配置や、配置された各コンポーネントに関連付けられる文字列と対応付けを定義している。なお、コンポーネントおよび文字列の特定には後述するコンポーネントID、文字列IDを用いる。このレイアウトデータは、レイアウトデータ保存部311に記憶されている。また、レイアウトデータは、表示部205に表示される様々な画面毎に用意される。より具体的には、レイアウトデータはコンポーネントのレイアウトと、それぞれ配置すべきコンポーネントを特定するコンポーネントデータIDと、そこに表示すべき文字列を特定する文字列データIDを記述したものである。なお、図においてコンポーネントデータの配置位置を点線枠で示している。
(b)”コンポーネントデータ”
コンポーネントデータは、GUI画面上に配置されるボタンなどの形状や色などのデザインを表現するデータである。それぞれのコンポーネントデータにがコンポーネントIDが割り振られる。このコンポーネントデータは、コンポーネントデータ保存部312に記憶されている。また、コンポーネントデータは1以上のレイアウトデータにより参照される。なお、それぞれのコンポーネントにはID(コンポーネントID)が振られている。また、GUI上でコンポーネント上に文字列が表示される際のバウンディングボックスなどのレイアウト情報も合わせて定義されている。なお、図においてバウンディングボックスのイメージを点線枠で示している。
コンポーネントデータは、GUI画面上に配置されるボタンなどの形状や色などのデザインを表現するデータである。それぞれのコンポーネントデータにがコンポーネントIDが割り振られる。このコンポーネントデータは、コンポーネントデータ保存部312に記憶されている。また、コンポーネントデータは1以上のレイアウトデータにより参照される。なお、それぞれのコンポーネントにはID(コンポーネントID)が振られている。また、GUI上でコンポーネント上に文字列が表示される際のバウンディングボックスなどのレイアウト情報も合わせて定義されている。なお、図においてバウンディングボックスのイメージを点線枠で示している。
(c)”文字列データ”
文字列データは、GUI画面上に表示される文字列をUnicodeのコードポイント(文字コードとも呼ばれる)で表現したものである。そして、文字列データはそれぞれを特定するための文字列データIDと対応付けて文字列データテーブルとして文字列データテーブル保存部313に記憶されている。例えば、英語であれば文字列データとして“Yes”の文字列を示す文字コード列である”U+0059,U+0065,U+0073”を取得する。また、同様に日本語であれば文字列データとして“はい”の文字列を示す文字コード列である”U+306F,U+3044”を取得する。さらに、ドイツ語であれば文字列データとして“Ja”の文字列を示す文字コード列である”U+004A,U+0061”というデータを取得する。文字列データには、各言語に対応した文字列が記憶されている。なお、文字コードとしては、多言語を統一的に取り扱うことが可能なUnicodeを利用することが好適である。
文字列データは、GUI画面上に表示される文字列をUnicodeのコードポイント(文字コードとも呼ばれる)で表現したものである。そして、文字列データはそれぞれを特定するための文字列データIDと対応付けて文字列データテーブルとして文字列データテーブル保存部313に記憶されている。例えば、英語であれば文字列データとして“Yes”の文字列を示す文字コード列である”U+0059,U+0065,U+0073”を取得する。また、同様に日本語であれば文字列データとして“はい”の文字列を示す文字コード列である”U+306F,U+3044”を取得する。さらに、ドイツ語であれば文字列データとして“Ja”の文字列を示す文字コード列である”U+004A,U+0061”というデータを取得する。文字列データには、各言語に対応した文字列が記憶されている。なお、文字コードとしては、多言語を統一的に取り扱うことが可能なUnicodeを利用することが好適である。
(d)”グリフデータ”
それぞれのコードポイントに対応させた文字形状(グリフ)を定義したデータである。このグリフデータは、グリフデータ保存部314に記憶されている。なお、文字形状をビットマップ画像として定義するようにしても良いし、ベクトルデータとして定義しても良い。ただし、ベクトルデータの場合は、データ容量を抑制するために、詳細な形状までは記憶せず基本的な文字形状のみを記憶することが好適である。つまり、GUI表示の画面解像度に必要な程度の形状が得られれば足りる。
それぞれのコードポイントに対応させた文字形状(グリフ)を定義したデータである。このグリフデータは、グリフデータ保存部314に記憶されている。なお、文字形状をビットマップ画像として定義するようにしても良いし、ベクトルデータとして定義しても良い。ただし、ベクトルデータの場合は、データ容量を抑制するために、詳細な形状までは記憶せず基本的な文字形状のみを記憶することが好適である。つまり、GUI表示の画面解像度に必要な程度の形状が得られれば足りる。
なお、グリフとは、一般的に、文字の可視化表現又はその構成部分から大きさ及び意匠を正規化した抽象表現(JIS X 4161及びISO/IEC 10036を参照)を指し、フォントに含まれる描画内容の最小単位のことである。描かれる文字は一般的にはグリフと1対1に対応する(例えば文字 "A" はたいていは一つのグリフで描画される)。しかし、単一の文字に複数のグリフが使用されることもあるし(例えばアクセント付き文字)、複数の文字に単一のグリフが使用されることもある(例えばリガチャ)。そして、一般的にグリフはいくつかの パス などの 図形 により定義され、場合によっては付加的情報(フォントエンジンがテキストを小さいサイズでも読み取りやすく描画できるようにするためのヒント情報など)を持つことがある。
<携帯情報端末のGUI表示動作フロ−>
図4は、携帯情報端末がGUI画面を更新する際の処理フローを示した図である。なお、以下の処理はCPU201がROM202に記憶されたGUI表示プログラムを実行することにより実現される。また、ここでは、携帯情報端末200の電源がONされており、すでにGUIの初期画面が表示されている状態であるとする。そして、イベント受信部302によるイベント受信をトリガに以下のフローが実行される。
図4は、携帯情報端末がGUI画面を更新する際の処理フローを示した図である。なお、以下の処理はCPU201がROM202に記憶されたGUI表示プログラムを実行することにより実現される。また、ここでは、携帯情報端末200の電源がONされており、すでにGUIの初期画面が表示されている状態であるとする。そして、イベント受信部302によるイベント受信をトリガに以下のフローが実行される。
ステップS401では、CPU201は、イベント受信部302が受信したイベントが、GUI表示の更新を必要とするイベントかどうかを判断する。例えば、イベント受信部302に入力されたシステムイベント送信部301aまたはユーザイベント送信部301bからのイベントが、言語変更指示のようにGUI表示を更新する必要のあるイベントか否かを判断する。GUI表示の更新を必要とするイベントであればステップS402に進み、それ以外のイベントであればステップ401に戻る。システムイベントとしては、携帯情報端末200で動作するアプリケーションプログラムやシステムプログラムによる画面更新指示などがあり、ユーザイベントとしてはユーザの操作入力部204の操作による直接的な画面更新指示がある。
ステップS402では、受信したイベントに基づいて、レイアウトデータ保存部311に記憶されているレイアウトデータを読み取る。
ステップS403では、ステップS402で読み取ったレイアウトデータに記述されるコンポーネントIDを取得する。そして、取得したコンポーネントIDそれぞれに対応するコンポーネントデータをコンポーネントデータ保存部312から読み取る。例えば、ステップ402で読み取ったレイアウトデータが図4に示されるようなデータの場合、コンポーネントIDがC−1、C−2およびC−3の3つのコンポーネントが読み取られる。
ステップS404では、ステップS402で読み取ったレイアウトデータに記述される文字列データIDを取得する。そして、取得した文字列データIDそれぞれに対応する文字列データを文字列データテーブル保存部313から読み取る。例えば、ステップ402で読み取ったレイアウトデータが図4に示されるようなデータの場合、文字列データIDがS−1およびS−2の2つの文字列データが読み取られる。
ステップS405では、ステップS404で読み取った文字列データに含まれるコードポイント(文字コード)に対応するグリフデータをグリフデータ保存部314から読み取る。例えば、ステップS404において読み取った文字列データが”U+3064、U+304E”であれば、グリフデータ保存部314から”つ”および”ぎ”の文字に対応するグリフデータを取得する。
ステップS406では、GUI合成部303は、ステップS402〜ステップS405で読み取ったGUIデータに基づいてGUI表示画面を構成し表示部205に表示する。
以上のステップを実行することによりGUI表示の更新がなされる。。例えば、ユーザの操作により表示する言語モードが切り換えられると、制御プログラムにより文字列データが参照される。そして、文字コードに対応する文字形状がグリフデータから読み込まれGUI上に表示される。このようにして、多言語表示の動的な切り換えが実現される。
また、以上の動作ステップから、例えば、携帯情報端末200が表示可能な言語を追加する処理は簡単なものであることが理解される。つまり、当該追加言語の(c)”文字列データ”(d)”グリフデータ”を新たにROM202に記憶し、(a)”レイアウトデータ”の修正を行えばよいことが理解される。一般的にデータの消費容量は(d)”グリフデータ”が大部分を占めるため、以下では主にグリフデータのデータ量低減技術について述べる。
<GUIデータ生成装置の構成>
図5は、第1実施形態に係るGUIデータを生成する情報処理装置の内部構成図である。
図5は、第1実施形態に係るGUIデータを生成する情報処理装置の内部構成図である。
情報処理装置500は、各種プログラムを実行するCPU501、各種プログラムおよび各種データを記憶するROM502、各種データを一時記憶するRAM503を備えている。なお、RAM503は、CPU501が各種プログラムを実行する際のワークメモリとしても利用される。また、大容量の記憶装置であるHDD506を備え、後述するGUIデータ生成プログラムを含む各種プログラムおよびGUIデータを記憶する。さらに、情報処理装置500は、キーボードやマウスなどにより構成される操作入力部504、および、LCDなどにより構成され各種画面を表示する表示部505を備える。なお、情報処理装置500は、一般的なパーソナルコンピュータ(PC)において後述するGUIデータ生成プログラムを実行することにより構成することが出来る。
図6は、第1実施形態に係るGUIデータを生成する情報処理装置の機能ブロック図である。情報処理装置500は、コンポーネントデータ取得部601、文字列レイアウト情報取得部602、文字列データ取得部603、グリフデータ選択部604、および、グリフデータ生成部605を備える。これらの各機能部は、CPU201がROM202に記憶された各種プログラムを実行することにより実現される。また、記憶手段であるHDD506には、レイアウトデータ保存部611、コンポーネントデータ保存部612、文字列データテーブル保存部613、および、グリフデータ保存部614が構成されている。そしてこれらの保存部それぞれには図3を用い説明した以下の4つのデータ(GUIデータ)が記憶されている。
(a)”レイアウトデータ”
(b)”コンポーネントデータ”
(c)”文字列データ”
(d)”グリフデータ”
(b)”コンポーネントデータ”
(c)”文字列データ”
(d)”グリフデータ”
ただし、情報処理装置500のHDD506内に記憶される(b)〜(d)の各データは、上述の携帯情報端末200のROM202に記憶されるデータのスーパーセットとなっている。すなわち、より多種多様なデータが記憶されている。例えば、コンポーネントデータとしてより多種の図形が記憶され、グリフデータとしては様々な文字各種言語で使用されうる全ての文字のグリフデータが記憶されている。
コンポーネントデータ取得部601は、レイアウトデータ保存部611から取得したレイアウトデータに基づいてコンポーネントデータ保存部612からコンポーネントデータを取得する機能部である。つまり、レイアウトデータに記述されるコンポーネントIDに対応するコンポーネントデータを取得する。
文字列レイアウト情報取得部602は、コンポーネントデータ取得部601で取得したコンポーネントデータに記述されるレイアウト情報(バウンディングボックスなど)を取得する機能部である。
文字列データ取得部603は、レイアウトデータ保存部611から取得したレイアウトデータに基づいて文字列データテーブル保存部613から文字列データを取得する機能部である。つまり、レイアウトデータに記述される文字列データIDを入力する入力手段と、対応する文字列データを収集する収集手段とに相当する機能部である。
グリフデータ選択部604は、文字列データ取得部603で取得した文字列データに含まれる文字コードに対応するグリフデータをグリフデータ保存部614から抽出する抽出手段に相当する機能部である。
グリフデータ生成部605は、グリフデータ選択部604で選択したグリフデータをグリフデータ保存部614から読み込む。そして、文字列レイアウト情報取得部602で取得したレイアウト情報に基づいて、当該グリフデータを拡大、縮小、あるいはデータフォーマット変換を行ない、携帯情報端末200で利用可能なグリフデータを生成する。つまり、生成手段に相当する。
<GUIデータ生成装置の動作フロー>
図7は、第1実施形態に係る情報処理装置のGUIデータ生成のフローチャートである。以下の処理は、例えば、GUI設計が終了し、(a)”レイアウトデータ”および(b)”コンポーネントデータ”が作成された状態から開始される。また、レイアウトデータに記述される文字列データIDの(c)”文字列データ”も併せて作成されているものとする。
図7は、第1実施形態に係る情報処理装置のGUIデータ生成のフローチャートである。以下の処理は、例えば、GUI設計が終了し、(a)”レイアウトデータ”および(b)”コンポーネントデータ”が作成された状態から開始される。また、レイアウトデータに記述される文字列データIDの(c)”文字列データ”も併せて作成されているものとする。
ステップS701では、コンポーネントデータ取得部601は、レイアウトデータ保存部611から未処理のレイアウトデータを読み取り、レイアウトデータに記述されるコンポーネントIDのリストを生成する。
ステップS702では、コンポーネントデータ取得部601は、ステップS701で生成されたリストに含まれるコンポーネントIDと一致するコンポーネントデータをコンポーネントデータ保存部612から取得する
ステップS703では、文字列レイアウト情報取得部602は、ステップS702で取得したコンポーネントデータに含まれる文字列レイアウト情報を取得する。
ステップS703では、文字列レイアウト情報取得部602は、ステップS702で取得したコンポーネントデータに含まれる文字列レイアウト情報を取得する。
ステップS704では、文字列データ取得部603は、ステップS701で取得したレイアウトデータに基づいて、文字列データテーブル保存部613から当該文字列データを取得する。
ステップS705では、グリフデータ選択部604は、ステップS704で取得した文字列データに含まれる文字コードを抽出する。なお、多言語対応の場合など、複数の文字セット(アルファベット、漢字などの文字集合)が存在する場合には、統一的な文字コード体系であるUnicodeのコードポイントなどに変換するのが好適である。
ステップS706では、グリフデータ生成部605は、ステップS705で選択されたコードポイントに対応するグリフデータが、既に生成されたグリフデータであるか否かを判定する。つまり、現在のグリフデータサブセットに当該コードポイントに対応するグリフデータが存在するか否かを判定する。存在する場合は、ステップS708に進み、存在しない場合はステップS707に進む。
ステップS707では、グリフデータ生成部605は、まだグリフデータサブセットに存在しないと判定されたコードポイントのグリフデータを、グリフデータ保存部614から抽出する。そして、ステップS703で取得したレイアウト情報に基づいて、当該グリフデータを拡大、縮小、あるいはデータフォーマット変換を行いグリフデータを生成する。生成したグリフデータはグリフデータサブセット内に格納される。
ステップS708では、コンポーネントデータ取得部601は、全てのレイアウトデータについて上述の処理を終了したか否かを判定する。未処理のレイアウトデータがあればステップS701に進み、全て終了していればフローを終了する。
次に上述のステップS707における処理をさらに詳細に説明する。
図8は、ステップS707の処理の詳細フローチャートである。ここでは、グリフデータ保存部614に記憶されたグリフデータを携帯情報端末200で処理可能な形式に変換し生成する処理について述べる。つまり、HDD506のグリフデータ保存部614に記憶されているグリフデータが、携帯情報端末200に適していないデータ形式である場合の処理について述べる。例えば、グリフデータが携帯情報端末200で処理不可能な形式である場合や、不必要に詳細なデータである場合などが相当する。後者の例としては、PCのオペレーティングシステム(OS)でも利用されているTrueType(登録商標)フォント形式があり、高解像度表示にも利用可能な高品質なベクトル形式のグリフデータである。
なお以下では、携帯情報端末200で処理可能なグリフデータのフォーマットとして、SVG(Scarable Vector Graphics)において規定されるグリフデータ(SVG Font)を想定する。
ステップS801では、グリフデータ生成部605は、まだグリフデータサブセットに存在しないと判定されたコードポイントのグリフデータを、グリフデータ保存部614から抽出する。
ステップS802では、ステップS801で抽出されたグリフデータがSVG形式か否かを判定する。SVG形式の場合は、ステップS804に進み、そうでない場合はステップS803に進む。
ステップS803では、ステップS801で抽出されたグリフデータから文字形状を抽出し、当該文字形状に基づいてSVG形式のグリフデータに変換する。
ステップS804では、ステップS703で取得したレイアウト情報に基づいて、ステップS803で変換したグリフデータから拡大、縮小を行いデータ量の削減を行う。データの削減方法としては、曲線の直線近似、また、近似精度の低減などを用いることが出来る。これは、例えばTrueTypeフォント形式などのデータからSVG形式に変換した場合、携帯情報端末200では不必要な程度の高精度なSVG形式のデータとなるためである。
以上説明したとおり第1実施形態によれば、グリフデータ保存部314に必要とされる記憶容量を大幅に低減可能となることが理解できる。つまり、HDD506に格納されたグリフデータサブセットを、携帯情報端末200のROM202内のグリフデータ保存部314に書き込む(図9)ことに大幅に低減可能となることが理解できる。また、不必要に高精度なデータでないため、グリフデータのレンダリング処理はより少ない処理量で済むことも理解できる。
特に、日本語など数千を超える数の文字が存在する文字種の多い言語のグリフデータは膨大なデータ量になる。例えば追加する言語が用いる文字数Unicodeのコードポイントの数などに略比例し膨大なデータ量となる。また、多くの文字を処理するための処理能力も必要となるため携帯情報端末200へのハードウェア要求を大幅に低減可能となる。また、GUI表示の高速化も期待できる。
なお、上述の説明においては言語によらず同一の処理を行ったが、一部の言語のグリフデータのみ対象としても良い。例えば、文字の種類が少ない言語(英語など)に対応するグリフデータについては上述した処理を行わず、文字種の多い言語(日本語など)のグリフデータの場合のみ上述した処理を行うよう構成しても良い。
また、対応言語を追加する場合は、基本的に文字列データを変更するだけで良いため煩雑な作業によるミスを低減することができる。なお、デザイナーの要望などでレイアウトデータ・コンポーネントデータを変更する場合には、当該データを更新後、上述の処理を再度実行すればよく煩雑な作業によるミスを低減することができる。
(変形例)
GUI用データを生成するためのオーサリングアプリケーションにおいては、あらかじめ汎用性のある標準的なコンポーネントセットが用意されている場合がある。例えば、三角形や四角形、円などの基本図形コンポーネント、各種デザインの矢印の矢印コンポーネント等から構成されるコンポーネントセットがある。
GUI用データを生成するためのオーサリングアプリケーションにおいては、あらかじめ汎用性のある標準的なコンポーネントセットが用意されている場合がある。例えば、三角形や四角形、円などの基本図形コンポーネント、各種デザインの矢印の矢印コンポーネント等から構成されるコンポーネントセットがある。
しかしながら、携帯情報端末200では、これらのコンポーネントセットの全てを利用するとは限らない。そこで、本変形例では、実際に携帯情報端末200で使用されるコンポーネントデータからなるコンポーネントデータサブセットの生成方法について説明する。なお、前提とする携帯情報端末200および情報処理装置500の構成は第1実施形態と同様であるため、説明は省略する。
<GUIデータ生成装置の動作フロー>
図10は、変形例に係る情報処理装置のGUIデータ生成のフローチャートである。以下の処理は、例えば、GUI設計が終了し、(a)”レイアウトデータ”および(b)”コンポーネントデータ”が作成された状態から開始される。また、レイアウトデータに記述される文字列データIDの(c)”文字列データ”も併せて作成されているものとする。
図10は、変形例に係る情報処理装置のGUIデータ生成のフローチャートである。以下の処理は、例えば、GUI設計が終了し、(a)”レイアウトデータ”および(b)”コンポーネントデータ”が作成された状態から開始される。また、レイアウトデータに記述される文字列データIDの(c)”文字列データ”も併せて作成されているものとする。
ステップS1001では、コンポーネントデータ取得部601は、レイアウトデータ保存部611から未処理のレイアウトデータを読み取り、レイアウトデータに記述されるコンポーネントIDのリストを生成する。
ステップS1002では、コンポーネントデータ取得部601は、ステップS1001で生成されたリストに含まれるコンポーネントIDと一致するコンポーネントデータをコンポーネントデータ保存部612から取得する。
ステップS1003では、コンポーネントデータ取得部601は、ステップS1002で取得されたコンポーネントデータが、既にコンポーネントデータサブセットに存在するか否かを判定する。存在する場合は、ステップS1005に進み、存在しない場合はステップS1004に進む。
ステップS1004では、コンポーネントデータ取得部601は、ステップS1002で取得されたコンポーネントデータをコンポーネントデータサブセットに追加する。なお、この時、携帯情報端末200の表示部205の解像度に基づいて、データ形式・解像度の変換を行っても良い。
ステップS1005では、コンポーネントデータ取得部601は、全てのレイアウトデータについて上述の処理を終了したか否かを判定する。未処理のレイアウトデータがあればステップS1001に進み、全て終了していればフローを終了する。
以上説明したとおり変形例によれば、コンポーネントデータ保存部312に必要とされる記憶容量を低減可能となることが理解できる。つまり、HDD506に格納されたコンポーネントデータサブセットを、携帯情報端末200のROM202内のコンポーネントデータ保存部312に書き込む(図9)ことにより低減可能となることが理解できる。また、不必要に高精度なデータでないため、GUIのレンダリング処理はより少ない処理量で済むことも理解できる。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
Claims (7)
- 情報端末用のグリフデータサブセットを作成する情報処置装置であって、
前記情報端末で利用するためのグリフデータセットを記憶する記憶手段と、
前記情報端末で使用されるGUIの文字コード列情報を入力する入力手段と、
入力した文字コード列に出現する文字コード群を収集する収集手段と、
該収集手段で収集された個々の文字コードに対応するグリフデータを前記記憶手段から抽出する抽出手段と、
抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成手段と、
を備えることを特徴とする情報処理装置。 - 前記生成手段は、抽出されたグリフデータを前記情報端末で処理可能なデータ形式に変換し前記グリフデータサブセットを生成することを特徴とする請求項1に記載の情報処理装置。
- 前記情報端末は、前記文字コード列の情報を有するGUIコンポーネント群と前記グリフデータサブセットとに基づいて前記GUIに文字列画像を表示し、該GUIコンポーネントは該文字列画像の表示位置情報を含んでおり、
前記生成手段は、前記表示位置情報に基づいて、前記グリフデータサブセットを生成することを特徴とする請求項2に記載の情報処理装置。 - 前記グリフデータサブセットは、2以上の言語のグリフデータを含むことを特徴とする請求項1乃至請求項3の何れか一項に記載の情報処理装置。
- 前記文字コード列は、Unicodeのコードポイントにより表現されることを特徴とする請求項1乃至請求項4の何れか一項に記載の情報処理装置。
- 情報端末用のグリフデータサブセットを該情報端末で利用するためのグリフデータセットから作成する情報処置装置の制御方法であって、
前記情報端末で使用されるGUIの文字コード列情報を入力する入力工程と、
入力した文字コード列に出現する文字コード群を収集する収集工程と、
該収集工程で収集された個々の文字コードに対応するグリフデータを前記グリフデータを記憶する記憶部から抽出する抽出工程と、
抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成工程と、
を備えることを特徴とする制御方法。 - コンピュータが読み込み実行することで、情報端末用のグリフデータサブセットを該情報端末で利用するためのグリフデータセットから作成する装置として機能させるプログラムであって、
前記情報端末で使用されるGUIの文字コード列情報を入力する入力工程と、
入力した文字コード列に出現する文字コード群を収集する収集工程と、
該収集工程で収集された個々の文字コードに対応するグリフデータを前記グリフデータを記憶する記憶部から抽出する抽出工程と、
抽出されたグリフデータをそれぞれが対応する文字コードと対応付けグリフデータサブセットを生成する生成工程と、
をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006302126A JP2008117319A (ja) | 2006-11-07 | 2006-11-07 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006302126A JP2008117319A (ja) | 2006-11-07 | 2006-11-07 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008117319A true JP2008117319A (ja) | 2008-05-22 |
Family
ID=39503160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006302126A Withdrawn JP2008117319A (ja) | 2006-11-07 | 2006-11-07 | 情報処理装置、情報処理装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008117319A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282815A (ja) * | 2008-05-23 | 2009-12-03 | Catalyst Mobile Kk | テキスト合成処理システム及びそれを備える可搬型通信端末 |
CN107423265A (zh) * | 2010-04-29 | 2017-12-01 | 单版画股份有限公司 | 启动字体子集 |
-
2006
- 2006-11-07 JP JP2006302126A patent/JP2008117319A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009282815A (ja) * | 2008-05-23 | 2009-12-03 | Catalyst Mobile Kk | テキスト合成処理システム及びそれを備える可搬型通信端末 |
CN107423265A (zh) * | 2010-04-29 | 2017-12-01 | 单版画股份有限公司 | 启动字体子集 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004157502A (ja) | フォントの選択方法 | |
JP2006252557A (ja) | コンピュータ・プログラム・コードの開発オブジェクトの管理方法および開発オブジェクトの管理システム | |
JP2008158765A (ja) | 情報処理装置、情報処理方法、及び、当該情報処理方法をコンピュータに実行させるためのプログラム | |
CN109375962A (zh) | 基于嵌入式操作系统的汉字字符混合输出显示的实现方法 | |
JP2008003649A (ja) | 操作画面生成方法、操作画面生成装置、電子機器、プログラム | |
JP2007317086A (ja) | 表示制御装置、表示制御手法 | |
EP1821221A1 (en) | Document processing device and document processing method | |
JP4566196B2 (ja) | 文書処理方法および装置 | |
CN101542585A (zh) | 图像生成系统、投影机、程序、信息存储介质及图像生成方法 | |
JP4627530B2 (ja) | 文書処理方法および装置 | |
JP2008117319A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
CN109445900B (zh) | 用于图片显示的翻译方法和装置 | |
CN102201124B (zh) | 图片和文字合成的方法和装置 | |
CN113296759A (zh) | 用户界面处理方法、用户界面处理系统、设备及存储介质 | |
WO2018187064A1 (en) | Reduced memory footprint font sample strings | |
JP2014092745A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2009193298A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
KR102045541B1 (ko) | 미니맵을 이용하는 내비게이션 방법 및 장치 | |
TW594574B (en) | Editing method for supporting multiple languages | |
JPS63109578A (ja) | 論理図概要表示処理方式 | |
CN115237517A (zh) | 一种图形语言的显示方法、系统及车辆 | |
JP2009015717A (ja) | 帳票作成装置及び帳票作成方法、プログラム及び記憶媒体 | |
KR100484347B1 (ko) | 화면 생성 시스템 및 방법 | |
JP2010003195A (ja) | Ipモデル生成装置、ipモデル生成方法、およびipモデル生成プログラム | |
Abufardeh et al. | Software internationalization: testing methods for bidirectional software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |