(57)【要約】  【課題】文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができるフォントデータベース生成プログラム及びフォントデータ構造を提供することを目的とする。  【解決手段】ベクトルフォントファイルに基づいてオフスクリーン展開部２がオフスクリーン上にモノクロビットマップデータを展開し、透過率算出部３がそのモノクロビットマップデータに基づいて文字コードに対応した透過率フォントデータを生成する。生成された多数の透過率フォントデータからなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成する。生成された各透過率フォントデータに色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。【選択図】          図２
2007322810.tif 000002
【特許請求の範囲】
【請求項１】
文字コードに対応付けられたベクトルフォントデータに基づいて、ビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラムであって、
文字コードに対応付けられたベクトルフォントデータに基づいて、各ピクセルが２値データで構成されるモノクロビットマップデータを生成するモノクロビットマップデータ生成手段と、
上記モノクロビットマップデータをダウンサンプリングし、各ピクセルが透過率を示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段と、
多数の上記透過率フォントデータによって構成されるビットマップデータ群を生成するビットマップデータ群生成手段と、
生成されたビットマップデータ群を、文字コードが連続する２以上の透過率フォントデータによって構成されるグループに区分するグルーピング手段と、
各グループに文字コードの範囲を対応付けたインデックステーブルを生成するインデックステーブル生成手段として情報処理装置を機能させ、
上記ビットマップデータ群及び上記インデックステーブルにより構成されるフォントデータベースを生成することを特徴とするフォントデータベース生成プログラム。
【請求項２】
上記透過率フォントデータごとにランレングス法を用いて圧縮処理を行うデータ圧縮手段として上記情報処理装置を機能させ、
上記ビットマップデータ群が、上記データ圧縮手段によってそれぞれ圧縮処理が行われた多数の上記透過率フォントデータにより構成され、
上記インデックステーブル生成手段が、各グループに文字コードの範囲を対応付けた第１インデックステーブルを生成する第１インデックステーブル生成手段と、上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第２インデックステーブルをグループごとに生成する第２インデックステーブル生成手段とからなることを特徴とする請求項１に記載のフォントデータベース生成プログラム。
【請求項３】
上記ビットマップデータ群が、上記透過率フォントデータごとの文字幅を有していることを特徴とする請求項１又は２に記載のフォントデータベース生成プログラム。
【請求項４】
文字コードに対応付けられたビットマップフォントデータを保持するフォントデータ構造であって、
各ピクセルが透過率を示す多値データからなる多数の透過率フォントデータによって構成され、透過率フォントデータごとにランレングス法を用いた圧縮処理が行われたビットマップデータ群と、
上記ビットマップデータ群が、文字コードが連続する２以上の透過率フォントデータによって構成されるグループに区分されており、これらの各グループに文字コードの範囲を対応付けて保持する第１インデックステーブルと、
グループごとに上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第２インデックステーブルとにより構成されることを特徴とするフォントデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォントデータベース生成プログラム及びフォントデータ構造に係り、特に、各ピクセルの透過率を規定したビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラム、及び、このフォントデータベース生成プログラムを用いて生成されるフォントデータ構造に関する。
【背景技術】
【０００２】
画像の輪郭を平滑化するための画像処理方法として、いわゆるアンチエイリアス処理が知られている（例えば、特許文献１）。一般的なアンチエイリアス処理では、背景画像上に表示される画像の各ピクセルについて、他のピクセルに対する相対位置に基づく演算などを行うことにより、各ピクセルの色が背景画像の色に対して中間色に決定されるようになっている。
【０００３】
画像データの一種であるフォントデータは、例えば、ＪＩＳ（日本工業規格）などの規格によって規定された各文字について、文字形状を示すベクトルフォントデータとして予め生成され、明朝体やゴシック体といった書体ごとにフォントファイルとしてパーソナルコンピュータなどの情報処理装置に記憶されている。情報処理装置に記憶されているベクトルフォントデータは、文字を表示する際に所定のサイズに拡大又は縮小されたビットマップフォントデータに変換されるとともに、アンチエイリアス処理が行われ、そのビットマップフォントデータに基づく文字が背景画像上に表示される。
【特許文献１】特開２００５−２５０６６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のような従来の方法では、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるため、処理負荷が大きいという問題がある。しかし、仮に、予めアンチエイリアス処理が行われたビットマップフォントデータを情報処理装置に記憶させておくような構成にすると、フォントファイルのデータ量が大幅に増加してしまう。
【０００５】
なお、従来から、予めビットマップフォントデータを記憶している情報処理装置もあったが、データ量を考慮して、各ピクセルを２値データ、すなわち白色又は黒色で表したモノクロビットマップデータとして記憶しているのが通常であった。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができるフォントデータベース生成プログラム及びフォントデータ構造を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明によるフォントデータベース生成プログラムは、文字コードに対応付けられたベクトルフォントデータに基づいて、ビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラムであって、文字コードに対応付けられたベクトルフォントデータに基づいて、各ピクセルが２値データで構成されるモノクロビットマップデータを生成するモノクロビットマップデータ生成手段と、上記モノクロビットマップデータをダウンサンプリングし、各ピクセルが透過率を示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段と、多数の上記透過率フォントデータによって構成されるビットマップデータ群を生成するビットマップデータ群生成手段と、生成されたビットマップデータ群を、文字コードが連続する２以上の透過率フォントデータによって構成されるグループに区分するグルーピング手段と、各グループに文字コードの範囲を対応付けたインデックステーブルを生成するインデックステーブル生成手段として情報処理装置を機能させ、上記ビットマップデータ群及び上記インデックステーブルにより構成されるフォントデータベースを生成するように構成される。
【０００８】
このような構成によれば、各ピクセルが２値データで構成されるモノクロビットマップデータをダウンサンプリングすることにより、文字コードに対応した透過率フォントデータを生成することができる。このようにして生成された透過率フォントデータに色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
【０００９】
上記のようにして生成される透過率フォントデータは、モノクロビットマップデータに基づくデータであり、色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、生成された透過率フォントデータはビットマップデータからなり、文字を表示する際に色データを付加して背景画像データと合成するだけでよいので、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるような従来の方法と比べて、文字を表示する際の処理負荷を軽減することができる。
【００１０】
また、生成された多数の透過率フォントデータからなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成することにより、文字コードに基づいてグループを特定し、そのグループから透過率フォントデータを読み出すことができる。したがって、生成された全ての透過率フォントデータの中から読み出す場合と比べて短時間で透過率フォントデータを読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
【００１１】
第２の本発明によるフォントデータベース生成プログラムは、上記透過率フォントデータごとにランレングス法を用いて圧縮処理を行うデータ圧縮手段として上記情報処理装置を機能させ、上記ビットマップデータ群が、上記データ圧縮手段によってそれぞれ圧縮処理が行われた多数の上記透過率フォントデータにより構成され、上記インデックステーブル生成手段が、各グループに文字コードの範囲を対応付けた第１インデックステーブルを生成する第１インデックステーブル生成手段と、上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第２インデックステーブルをグループごとに生成する第２インデックステーブル生成手段とからなるように構成される。
【００１２】
このような構成によれば、文字コードに基づいて第１インデックステーブルからグループを特定し、特定したグループに基づいて第２インデックステーブルからビットマップデータ群内における透過率フォントデータの格納位置を特定して、その格納位置から透過率フォントデータを読み出すことができる。
【００１３】
生成された透過率フォントデータは、ランレングス法を用いて圧縮されることにより、透過率フォントデータごとにサイズが相違することとなるが、第２インデックステーブルに保持されている各透過率フォントデータの格納位置に基づいて、ビットマップデータ群から透過率フォントデータを正確に読み出すことができる。また、透過率フォントデータごとに圧縮処理されているので、複数の透過率フォントデータが一度に圧縮処理されているような構成と比べて、必要な透過率フォントデータだけを伸張することができ、文字を表示する際の処理負荷を軽減することができる。
【００１４】
第３の本発明によるフォントデータベース生成プログラムは、上記ビットマップデータ群が、上記透過率フォントデータごとの文字幅を有するように構成される。
【００１５】
このような構成によれば、プロポーショナルフォントで表される文字のように文字ごとに文字幅が異なる場合であっても、各文字に対応する透過率フォントデータ及び文字幅に基づいて、文字を正確に表示することができる。
【００１６】
第４の本発明によるフォントデータ構造は、文字コードに対応付けられたビットマップフォントデータを保持するフォントデータ構造であって、各ピクセルが透過率を示す多値データからなる多数の透過率フォントデータによって構成され、透過率フォントデータごとにランレングス法を用いた圧縮処理が行われたビットマップデータ群と、上記ビットマップデータ群が、文字コードが連続する２以上の透過率フォントデータによって構成されるグループに区分されており、これらの各グループに文字コードの範囲を対応付けて保持する第１インデックステーブルと、グループごとに上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第２インデックステーブルとにより構成される。
【発明の効果】
【００１７】
本発明によれば、各ピクセルが色データを含まない透過率からなるビットマップデータとして透過率フォントデータを生成し、多数の透過率フォントデータで構成されたフォントデータベースを提供することができる。このフォントデータベースから所望の透過率フォントデータを読み出し、色データを付加して背景画像データと合成することにより、良好に平滑化された文字を背景画像上に表示させることができる。
【００１８】
また、本発明によれば、文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができる。すなわち、透過率フォントデータには色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、文字を表示する際に透過率フォントデータに色データを付加して背景画像データと合成するだけでよいので、文字を表示する際の処理負荷を軽減することができる。さらに、インデックステーブルを用いて文字コードからグループを特定し、そのグループから透過率フォントデータを読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施の形態による透過率フォントファイル生成プログラムを実行することにより透過率フォントファイルを生成する透過率フォントファイル生成装置の一構成例を示したブロック図である。この透過率フォントファイル生成装置は、パーソナルコンピュータなどの情報処理装置からなり、操作入力部１、プログラム実行部２、プログラム記憶部３、ベクトルフォントファイル記憶部４及び透過率フォントファイル記憶部５を備えている。
【００２０】
操作入力部１は、ユーザが操作入力を行うキーボードやマウス等の操作入力手段である。プログラム記憶部３は、透過率フォントファイル生成プログラムを記憶しており、プログラム実行部２が、操作入力部１に対するユーザ操作に基づいて透過率フォントファイル生成プログラムを実行している。透過率フォントファイル生成プログラムは、その実行結果として、ベクトルフォントファイル記憶部４に記憶されているベクトルフォントファイルに基づいて透過率フォントファイルを生成し、透過率フォントファイル記憶部５に格納する。
【００２１】
ここで、プログラム実行部２は、マイクロプロセッサ及び揮発性メモリによって構成され、プログラム記憶部３、ベクトルフォントファイル記憶部４及び透過率フォントファイル記憶部５は、いずれもハードディスクやフラッシュメモリなどの不揮発性メモリからなるものとする。
【００２２】
ベクトルフォントファイル記憶部４には、明朝体やゴシック体といった書体ごとにベクトルフォントファイルが記憶されている。フォントファイルとは、多数のフォントデータで構成されるデータベースであり、ベクトルフォントファイルの場合、各フォントデータがベクトルデータからなる。ここで、ベクトルデータとは、文字形状をベジェ曲線などで表現しているデータであり、例えば輪郭線をベクトル表現したアウトラインフォントや、骨格をベクトル表現したストロークフォントなどがある。ベクトルフォントは、拡大又は縮小しても文字が滑らかな状態のまま維持されるといった特性を有している。これに対して、ビットマップフォントは、拡大又は縮小すると文字が滑らかでなくなるといった特性がある。
【００２３】
図２は、プログラム実行部２が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したブロック図である。また、図３は、透過率フォントファイル生成プログラムの実行結果として生成される透過率フォントファイルの一構成例を示した図である。プログラム実行部２は、透過率フォントファイル生成プログラムを実行することにより、データ読出部２１、オフスクリーン展開部２２、透過率算出部２３、データ圧縮部２４及びテーブル付加部２５として機能する。
【００２４】
透過率フォントファイル生成装置に備えられた不揮発性メモリには、ＪＩＳ（日本工業規格）などの規格によって規定された各文字について、文字ごとに対応付けられた文字コードが予め記憶されている。ベクトルフォントファイル記憶部４に記憶されているベクトルフォントファイルは、操作入力部１に対する入力操作に基づいて、データ読出部２１により文字コードを用いて読み出される。
【００２５】
より具体的には、透過率フォントファイル生成装置の表示部（図示せず）に表示される入力画面において、書体及び文字サイズ、並びに、文字コードの範囲、圧縮処理の有無などを入力する操作が行われることにより、入力された書体のベクトルフォントファイルが、ベクトルフォントファイル記憶部４から読み出されるようになっている。本実施の形態では、文字コードの範囲として、ＡＳＣＩＩ(American Standard Code for Information Interchange)、ＪＩＳ第１水準又はＪＩＳ第２水準などを入力することができるものとする。
【００２６】
オフスクリーン展開部２２は、入力された文字コードに対応するベクトルフォントデータをベクトルフォントファイルから読み出し、入力された文字サイズに基づいてオフスクリーン上にビットマップフォントデータを展開する。すなわち、透過率フォントファイル生成装置のメモリ内に確保された仮想画面としてのオフスクリーン上に、ベクトルフォントファイルにより表される文字を複数のピクセルの集合体で表現することにより、ビットマップフォントデータを展開する。このとき、オフスクリーン展開部２２は、各ピクセルを２値データ、すなわち白色又は黒色で展開するようになっており、文字部分が黒色で表されたモノクロビットマップデータを生成するモノクロビットマップデータ生成手段として機能する。
【００２７】
オフスクリーン上に展開されるビットマップフォントデータは、いわゆるオーバーサンプリング法により、最終的に生成されるビットマップフォントデータの各ピクセルを複数のサブピクセルに分割したフォントデータとして展開される。ここでは、最終的に生成されるビットマップフォントデータの各ピクセルが、８行×８列の計６４個のサブピクセルに分割されて、オフスクリーン上に展開されるものとする。これにより、最終的に生成されるビットマップフォントデータの各ピクセルに対応する領域（以下、「ピクセル領域」と呼ぶ。）に、６４個のサブピクセルが格子状に配列されることとなる。
【００２８】
透過率算出部２３は、オフスクリーン上の各ピクセル領域内における文字部分のサブピクセルの割合に基づいて、各ピクセル領域を１ピクセルとしたときの背景画像に対する透過率αを算出する。すなわち、各ピクセル領域内のサブピクセル数（この例では、「６４」）に対して、そのピクセル領域に含まれる文字部分のサブピクセル数の比を求めることにより、多値データからなる透過率αのデータを生成することができる。
【００２９】
このように、透過率算出部２３は、モノクロビットマップデータを高解像度から低解像度へダウンサンプリングすることにより、各ピクセルが透過率αを示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段として機能する。このようにして生成された透過率フォントデータを用いれば、各ピクセル領域を１ピクセルとした場合に、各ピクセルを文字色、背景色及び透過率αに応じた色で表示させることにより、平滑化された文字を表示させることができる。
【００３０】
上記のようにして生成された透過率フォントデータは、ベクトルフォントファイルの読出時に圧縮処理が入力操作により選択されていれば、データ圧縮部２４により透過率フォントデータごとに圧縮され、圧縮処理が選択されていなければ、非圧縮のままテーブル付加部２５に入力される。
【００３１】
データ圧縮部２４における圧縮処理には、いわゆるランレングス法やハフマン符号化法などの周知の圧縮方法を用いることができる。文字を表すビットマップデータのように、文字部分でないピクセルの連続する領域が多い画像データの圧縮処理には、ランレングス法やハフマン符号化法を用いた圧縮方法が適している。ここでは、各透過率フォントデータが、ランレングス法を用いて圧縮処理された後、ハフマン符号化法を用いてさらに圧縮処理されるものとする。
【００３２】
ただし、データ圧縮部２４は、ランレングス法及びハフマン符号化法の両方を用いて圧縮処理を行うような構成に限らず、一方のみを用いて圧縮処理を行うようになっていてもよいし、文字によって圧縮後のサイズが異なるような他の圧縮方法を用いて圧縮処理を行うようになっていてもよい。
【００３３】
テーブル付加部２５は、透過率フォントデータや、ベクトルフォントファイルの読出時における入力操作に基づくデータなどに、文字コードが対応付けられたインデックステーブルを付加する。これにより、ベクトルフォントファイルの読出時に入力された文字コードの範囲内における各文字コードが、インデックステーブルを介して透過率フォントデータ等と対応付けられることとなる。ここでは、第１インデックステーブル５２及び第２インデックステーブル５３の２つのテーブルが付加されるものとする。
【００３４】
テーブル付加部２５には、ビットマップデータ群生成部２５１、グルーピング処理部２５２、第１インデックステーブル生成部２５３及び第２インデックステーブル生成部２５４が備えられている。ビットマップデータ群生成部２５１は、透過率算出部２３で生成された多数の透過率フォントデータからなるビットマップデータ群を生成する。すなわち、入力操作に基づいて生成された一定範囲の文字コードに対応する各透過率フォントデータは、ビットマップデータ群生成部２５１により、データ圧縮部２４により圧縮された透過率フォントデータ又は非圧縮の透過率フォントデータの集合体からなるビットマップデータ群として生成される。
【００３５】
グルーピング処理部２５２は、生成されたビットマップデータ群を、文字コードが連続する２以上の透過率フォントデータで構成されるグループに区分するための処理を行う。ここでは、グルーピング処理部２５２は、平仮名や片仮名などの各グループにビットマップデータ群を区分するようになっている。第１インデックステーブル生成部２５３は第１インデックステーブル５２を生成し、第２インデックステーブル生成部２５４は第２インデックステーブル５３を生成する。
【００３６】
上記のようにして互いに対応付けられた各種データは、ファイルヘッダ５１、第１インデックステーブル５２、第２インデックステーブル５３及び透過率テーブル５４からなるフォントデータベースとして、透過率フォントファイル記憶部５に記憶される。透過率フォントファイルは、明朝体やゴシック体といった書体ごとに生成される。
【００３７】
透過率フォントファイルのファイルヘッダ５１には、透過率フォントファイル生成プログラムのバージョン情報５１１、入力操作に基づく圧縮処理の有無を表す圧縮フラグ５１２、入力された文字サイズに基づく文字高さ５１３、及び、入力された文字コードの範囲に対応する文字数５１４が保持される。
【００３８】
第１インデックステーブル５２には、各グループに文字コードの範囲が対応付けて保持される。より具体的には、入力された文字コードの範囲における平仮名や片仮名などの各グループの開始コード５２１及び終了コード５２２、並びに、各グループの第２インデックステーブル５３における開始アドレス５２３が保持される。
【００３９】
第２インデックステーブル５３には、各文字コードに対応する透過率フォントデータの透過率テーブル５４における格納位置が保持される。より具体的には、各文字コード５３１に、その文字について生成された透過率フォントデータのサイズデータ５３２、及び、その透過率フォントデータが記憶されている透過率テーブル５４の開始アドレス５３３が対応付けて保持される。ここで、圧縮処理された透過率フォントデータについては、圧縮後のサイズデータ５３２が第２インデックステーブル５３に保持されるものとする。
【００４０】
透過率テーブル５４には、各文字について生成された透過率フォントデータ５４１、及び、その文字について入力された書体と文字サイズに基づく文字幅５４２が対応付けて保持される。この透過率テーブル５４は、ビットマップデータ群生成部２５１により生成された多数の透過率フォントデータ５４１によって構成されるビットマップデータ群に、各透過率フォントデータ５４１に対応する文字幅５４２を付加することにより構成されている。
【００４１】
透過率テーブル５４の各透過率フォントデータ５４１は、対応する文字幅５４２とともに圧縮されるようになっていてもよいし、圧縮された各透過率フォントデータ５４１に非圧縮の文字幅５４２が対応付けて保持されるようになっていてもよい。文字幅５４２は、書体として等幅フォント又はプロポーショナルフォントのいずれが選択されているかによって、同じ文字サイズであっても異なる値となる。
【００４２】
図４は、オフスクリーン展開部２２及び透過率算出部２３が行う処理の一例を示した図である。この図４において、文字部分のピクセルにはハッチングを施している。最終的に生成されるビットマップフォントデータにおける文字の一部が、図４（ａ）に示すようなピクセル２２１からなる場合に、オフスクリーン展開部２２は、図４（ａ）に示す各ピクセル２２１を８行×８列の計６４個のサブピクセル２２２に分割したオフスクリーン上に、ベクトルフォントファイルにより表される文字を２値データで展開する。
【００４３】
このようにしてオフスクリーン上に展開された文字は、図４（ｂ）に示すように、ピクセル２２１よりも小さいサブピクセル２２２で表されることにより平滑化された文字となる。６４個のサブピクセル２２２が格子状に配列されることにより構成される各ピクセル領域２２３は、最終的に生成されるビットマップフォントデータの各ピクセル２２１と一致している。
【００４４】
透過率算出部２３は、６４個のサブピクセル２２２からなるオフスクリーン上の各ピクセル領域２２３について、そのピクセル領域２２３に含まれる文字部分のサブピクセル２２２を計数することにより、図４（ｃ）に示すように、（ピクセル領域２２３内における文字部分のサブピクセル２２２の数）／（ピクセル領域２２３内のサブピクセル２２２の数）により求まる透過率αをピクセル領域２２３ごとに算出することができる。
【００４５】
図５は、テーブル付加部２５が行う処理の一例を示した図である。例えば、ベクトルフォントファイルの読出時に、文字コードの範囲としてＪＩＳ第１水準が入力された場合、その文字コードの範囲に含まれる平仮名や片仮名などの各グループの開始コード５２１及び終了コード５２２が、第１インデックステーブル５２に格納される。この例では、平仮名のグループについては、開始文字「あ」の文字コード及び終了文字「ん」の文字コードが格納され、片仮名のグループについては、開始文字「ア」の文字コード及び終了文字「ン」の文字コードが格納されている。
【００４６】
第１インデックステーブル５２の各グループに対応する領域には、そのグループの第２インデックステーブル５３における開始アドレス５２３が格納され、その開始アドレス５２３に基づいて、第２インデックステーブル５３における各グループのデータを読み出すことができるようになっている。
【００４７】
第２インデックステーブル５３には、平仮名のグループに含まれる「あ」〜「ん」の文字、片仮名のグループに含まれる「ア」〜「ン」の文字のように、入力された文字コードの範囲に含まれる全ての文字コードが格納される。また、第２インデックステーブル５３には、各文字コード５３１に対応付けて、その文字についての透過率フォントデータのサイズデータ５３２及び透過率テーブル５４の開始アドレス５３３が格納される。したがって、各文字コード５３１に対応付けて第２インデックステーブル５３に格納されている透過率テーブル５４の開始アドレス５３３に基づいて、各文字コード５３１に対応する透過率フォントデータ５４１及び文字幅５４２を透過率テーブル５４から読み出すことができる。
【００４８】
図６は、プログラム実行部２が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したフローチャートである。入力画面において、書体及び文字サイズ、並びに、文字コードの範囲、圧縮処理の有無などを入力する操作が行われると、データ読出部２１により、入力された書体のベクトルフォントファイルが、ベクトルフォントファイル記憶部４から読み出される（ステップＳ１０１）。
【００４９】
その後、オフスクリーン展開部２２が、入力された文字コードの範囲に対応する各ベクトルフォントデータをベクトルフォントファイルから順次に読み出して、入力された文字サイズに基づいてオフスクリーン上にビットマップフォントデータを展開する（ステップＳ１０２）。
【００５０】
そして、オフスクリーン上の各ピクセル領域内における文字部分のサブピクセルの割合に基づいて、透過率算出部２３が各ピクセル領域の透過率αを算出することにより、各文字コードに対応する透過率フォントデータを生成する（ステップＳ１０３）。このとき、ベクトルフォントファイルの読出時の入力操作により圧縮処理が選択されていれば（ステップＳ１０４でＹｅｓ）、データ圧縮部２４により透過率フォントデータが圧縮される（ステップＳ１０５）。
【００５１】
このようにして、入力された文字コードの範囲に対応する各ベクトルフォントデータが順次に生成され、その範囲内のすべての文字コードについて透過率フォントデータが生成されると（ステップＳ１０６でＹｅｓ）、テーブル付加部２５が各透過率フォントデータにインデックステーブルを付加することにより、透過率フォントファイルが生成される（ステップＳ１０７）。
【００５２】
図７は、透過率フォントファイルを用いて文字を画面表示する表示端末装置の一構成例を示したブロック図である。この表示端末装置は、パーソナルコンピュータなどの情報処理装置からなり、操作入力部１０１、プログラム実行部１０２、表示部１０３、プログラム記憶部１０４及び透過率フォントファイル記憶部１０５を備えている。
【００５３】
操作入力部１０１は、ユーザが操作入力を行うキーパッド等の操作入力手段であり、表示部１０３は、文字を画面表示する液晶表示装置などの表示手段である。プログラム記憶部１０４は文字表示プログラムやアプリケーションプログラムを記憶し、透過率フォントファイル記憶部１０５は透過率フォントファイルを記憶しており、いずれもハードディスクやフラッシュメモリなどの不揮発性メモリからなる。
【００５４】
プログラム実行部１０２は、マイクロプロセッサ及び揮発性メモリによって構成され、操作入力部１０１に対するユーザ操作に基づいて、文字表示プログラム及びアプリケーションプログラムを実行している。アプリケーションプログラムは、その実行結果として表示部３の表示画面上に文字を表示する。この文字表示は、アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が引き渡された文字表示プログラムが、透過率フォントファイルを用いて、表示部３へ出力する文字の画像データを生成することにより実現される。
【００５５】
図８は、プログラム実行部１０２が文字表示プログラムを実行することにより行われる処理の一例を示したブロック図である。プログラム実行部１０２は、文字表示プログラムを実行することにより、透過率フォントファイル読出部１２１、透過率フォントデータ読出部１２２、データ伸張部１２３、文字画像出力部１２４、背景画像出力部１２５及び画像合成部１２６として機能する。
【００５６】
アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が決定されると、決定された書体及び文字サイズに基づいて、透過率フォントファイル読出部１２１が、透過率フォントファイル記憶部１０５から対応する透過率フォントファイルを読み出す。
【００５７】
透過率フォントデータ読出部１２２は、読み出された透過率フォントファイルの第１インデックステーブル５２及び第２インデックステーブル５３と、決定された文字コードとに基づいて、文字ごとに透過率テーブル５４に格納されている透過率フォントデータ５４１及び文字幅５４２を読み出す。すなわち、第１インデックステーブル５２の各グループに対応する領域のうち、決定された文字コードが開始コード５２１から終了コード５２２の範囲に含まれる領域を選択し、その領域に格納されている第２インデックステーブル５３の開始アドレス５２３を読み出す。
【００５８】
そして、読み出した開始アドレス５２３を開始位置として、決定されている文字コードを検索することにより、その文字コードに対応する透過率テーブル５４の開始アドレス５３３を読み出す。このようにして読み出された透過率テーブル５４の開始アドレス５３３から透過率フォントデータ５４１及び文字幅５４２を読み出すことにより、文字コードに対応する透過率フォントデータ５４１及び文字幅５４２を読み出すことができる。
【００５９】
読み出されたデータは、圧縮フラグ５１２に基づいて、圧縮されている場合にはデータ伸張部１２３で伸張されて文字画像出力部１２４に入力され、圧縮されていない場合には、そのまま文字画像出力部１２４に入力される。文字画像出力部１２４は、入力された透過率フォントデータ５４１及び文字幅５４２に基づいて、１ピクセルが上述のピクセル領域２２３に対応するビットマップデータからなる文字画像データを出力する。
【００６０】
このとき、出力される文字画像データの各ピクセルの色データは、決定されている文字色に基づく各ピクセルの色データに対して、ピクセルごとに透過率αを乗算した値となる。例えば、文字画像データの各ピクセルがＲ（レッド）、Ｇ（グリーン）及びＢ（ブルー）の３色の濃度値により表される場合には、各色の濃度値に対して透過率αを乗算した値が文字画像データの各ピクセルの色データとして出力されることとなる。
【００６１】
一方、文字が表示される際の背景となる背景画像データは、アプリケーションプログラムの実行結果として、表示端末装置のメモリに割り当てられた背景画像記憶部１０６から読み出され、背景画像出力部１２５に入力される。背景画像出力部１２５は、入力された背景画像データの各ピクセルの色データに、（１−α）を乗算した値を出力する。例えば、背景画像データの各ピクセルがＲ、Ｇ及びＢの３色の濃度値により表される場合には、各色の濃度値に対して（１−α）を乗算した値が、背景画像データの各ピクセルの色データとして出力されることとなる。
【００６２】
文字画像データ及び背景画像データの各ピクセルは、互いに同じ大きさからなり、対応するピクセル同士の色データが画像合成部１２６で合成されることにより、背景画像上に文字が表示されるようになっている。すなわち、Ｒ、Ｇ及びＢの各色について、文字画像データの各ピクセルの濃度値に透過率αを乗算した値と、背景画像データの対応するピクセルの濃度値に（１−α）を乗算した値とを加算することにより、文字を背景画像に合成し、表示端末装置の表示部１０３に表示させることができる。
【００６３】
図９は、プログラム実行部１０２が文字表示プログラムを実行することにより行われる処理の一例を示したフローチャートである。アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が決定されると、透過率フォントファイル読出部１２１が、透過率フォントファイル記憶部１０５から決定された書体及び文字サイズに対応する透過率フォントファイルを読み出す（ステップＳ２０１）。
【００６４】
その後、透過率フォントデータ読出部１２２が、透過率フォントファイルから文字コードに対応する透過率フォントデータ５４１及び文字幅５４２を読み出す（ステップＳ２０２）。このとき、読み出されたデータが圧縮されていれば（ステップＳ２０３でＹｅｓ）、データ伸張部１２３によりデータが伸張される（ステップＳ２０４）。
【００６５】
このようにして読み出された非圧縮の透過率フォントデータに基づいて、文字画像出力部１２４が各ピクセルに透過率αに応じた色データを付加した文字画像データを出力し（ステップＳ２０５）、画像合成部１２６が、その文字画像データを背景画像出力部１２５から出力される背景画像データと合成することにより（ステップＳ２０６）、背景画像上に文字が表示される。
【００６６】
本実施の形態では、各ピクセルが２値データで構成されるモノクロビットマップデータをダウンサンプリングすることにより、文字コードに対応した透過率フォントデータ５４１を生成することができる。このようにして生成された透過率フォントデータ５４１に色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
【００６７】
上記のようにして生成される透過率フォントデータ５４１は、モノクロビットマップデータに基づくデータであり、色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、生成された透過率フォントデータ５４１はビットマップデータからなり、文字を表示する際に色データを付加して背景画像データと合成するだけでよいので、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるような従来の方法と比べて、文字を表示する際の処理負荷を軽減することができる。
【００６８】
また、生成された多数の透過率フォントデータ５４１からなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成することにより、文字コードに基づいてグループを特定し、そのグループから透過率フォントデータ５４１を読み出すことができる。本実施の形態では、文字コードに基づいて第１インデックステーブル５２からグループを特定し、特定したグループに基づいて第２インデックステーブル５３から透過率テーブル５４における透過率フォントデータ５４１の格納位置を特定して、その格納位置から透過率フォントデータ５４１を読み出すことができる。
【００６９】
したがって、生成された全ての透過率フォントデータ５４１の中から読み出す場合と比べて短時間で透過率フォントデータ５４１を読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
【００７０】
生成された透過率フォントデータ５４１は、ランレングス法及びハフマン符号化法を用いて圧縮されることにより、透過率フォントデータ５４１ごとにサイズが相違することとなるが、第２インデックステーブル５３に保持されている各透過率フォントデータ５４１のサイズデータ５３２及び開始アドレス５３３に基づいて、透過率テーブル５４から透過率フォントデータ５４１を正確に読み出すことができる。また、透過率フォントデータ５４１ごとに圧縮処理されているので、複数の透過率フォントデータ５４１が一度に圧縮処理されているような構成と比べて、必要な透過率フォントデータ５４１だけを伸張することができ、文字を表示する際の処理負荷を軽減することができる。
【００７１】
また、透過率フォントデータ５４１及び文字幅５４２に基づいて文字を表示させるので、プロポーショナルフォントで表される文字のように文字ごとに文字幅が異なる場合であっても、各文字に対応する透過率フォントデータ５４１及び文字幅５４２に基づいて、文字を正確に表示することができる。
【００７２】
上記実施の形態では、グルーピング処理手段２５２が、透過率フォントデータ５４１を平仮名や片仮名などのグループに区分するような構成について説明したが、このような構成に限らず、任意のグループに区分することが可能である。
【００７３】
また、上記実施の形態では、操作入力部１に対する入力操作に基づいて透過率フォントデータ５４１の圧縮処理の有無が決定されるような構成について説明したが、このような構成に限らず、透過率フォントデータ５４１が全て圧縮されて格納されるようになっていてもよいし、透過率フォントデータ５４１が全て非圧縮のまま格納されるようになっていてもよい。透過率フォントデータ５４１が全て非圧縮のまま格納されるような構成の場合には、第１インデックステーブルを開始コード５２１、終了コード５２２及び透過率テーブル５４の開始アドレス５３３を格納したテーブルとし、第２インデックステーブルを省略することも可能である。
【００７４】
透過率フォントファイル生成装置及び表示端末装置は、別々に分離したものであってもよいし、１つの情報処理装置に組み込まれることによって一体的に構成されていてもよい。また、本発明は、パーソナルコンピュータに限らず、電話機、ＰＤＡ(Personal Digital Assistance)、複写機、ファクシミリ装置、テレビ受像機、テレビゲーム機、デジタルカメラなどの各種情報処理装置に適用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態による透過率フォントファイル生成プログラムを実行することにより透過率フォントファイルを生成する透過率フォントファイル生成装置の一構成例を示したブロック図である。
【図２】プログラム実行部が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したブロック図である。
【図３】透過率フォントファイル生成プログラムの実行結果として生成される透過率フォントファイルの一構成例を示した図である。
【図４】オフスクリーン展開部及び透過率算出部が行う処理の一例を示した図である。
【図５】テーブル付加部が行う処理の一例を示した図である。
【図６】プログラム実行部が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したフローチャートである。
【図７】透過率フォントファイルを用いて文字を画面表示する表示端末装置の一構成例を示したブロック図である。
【図８】プログラム実行部が文字表示プログラムを実行することにより行われる処理の一例を示したブロック図である。
【図９】プログラム実行部が文字表示プログラムを実行することにより行われる処理の一例を示したフローチャートである。
【符号の説明】
【００７６】
１  操作入力部
２  プログラム実行部
３  プログラム記憶部
４  ベクトルフォントファイル記憶部
５  透過率フォントファイル記憶部
２１  データ読出部
２２  オフスクリーン展開部
２３  透過率算出部
２４  データ圧縮部
２５  テーブル付加部
５１  ファイルヘッダ
５２  第１インデックステーブル
５３  第２インデックステーブル
５４  透過率テーブル
１０１  操作入力部
１０２  プログラム実行部
１０３  表示部
１０４  プログラム記憶部
１０５  透過率フォントファイル記憶部
１０６  背景画像記憶部
１２１  透過率フォントファイル読出部
１２２  透過率フォントデータ読出部
１２３  データ伸張部
１２４  文字画像出力部
１２５  背景画像出力部
１２６  画像合成部
２５１  ビットマップデータ群生成部
２５２  グルーピング処理部
２５３  第１インデックステーブル生成部
２５４  第２インデックステーブル生成部
【図１】
2007322810.tif 000003
【図２】
2007322810.tif 000004
【図３】
2007322810.tif 000005
【図４】
2007322810.tif 000006
【図５】
2007322810.tif 000007
【図６】
2007322810.tif 000008
【図７】
2007322810.tif 000009
【図８】
2007322810.tif 000010
【図９】
2007322810.tif 000011