JP2007322810A - フォントデータベース生成プログラム及びフォントデータ構造 - Google Patents
フォントデータベース生成プログラム及びフォントデータ構造 Download PDFInfo
- Publication number
- JP2007322810A JP2007322810A JP2006153572A JP2006153572A JP2007322810A JP 2007322810 A JP2007322810 A JP 2007322810A JP 2006153572 A JP2006153572 A JP 2006153572A JP 2006153572 A JP2006153572 A JP 2006153572A JP 2007322810 A JP2007322810 A JP 2007322810A
- Authority
- JP
- Japan
- Prior art keywords
- data
- font
- character
- transmittance
- group
- 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.)
- Pending
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Controls And Circuits For Display Device (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
【課題】文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができるフォントデータベース生成プログラム及びフォントデータ構造を提供することを目的とする。
【解決手段】ベクトルフォントファイルに基づいてオフスクリーン展開部2がオフスクリーン上にモノクロビットマップデータを展開し、透過率算出部3がそのモノクロビットマップデータに基づいて文字コードに対応した透過率フォントデータを生成する。生成された多数の透過率フォントデータからなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成する。生成された各透過率フォントデータに色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
【選択図】 図2
【解決手段】ベクトルフォントファイルに基づいてオフスクリーン展開部2がオフスクリーン上にモノクロビットマップデータを展開し、透過率算出部3がそのモノクロビットマップデータに基づいて文字コードに対応した透過率フォントデータを生成する。生成された多数の透過率フォントデータからなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成する。生成された各透過率フォントデータに色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
【選択図】 図2
Description
本発明は、フォントデータベース生成プログラム及びフォントデータ構造に係り、特に、各ピクセルの透過率を規定したビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラム、及び、このフォントデータベース生成プログラムを用いて生成されるフォントデータ構造に関する。
画像の輪郭を平滑化するための画像処理方法として、いわゆるアンチエイリアス処理が知られている(例えば、特許文献1)。一般的なアンチエイリアス処理では、背景画像上に表示される画像の各ピクセルについて、他のピクセルに対する相対位置に基づく演算などを行うことにより、各ピクセルの色が背景画像の色に対して中間色に決定されるようになっている。
画像データの一種であるフォントデータは、例えば、JIS(日本工業規格)などの規格によって規定された各文字について、文字形状を示すベクトルフォントデータとして予め生成され、明朝体やゴシック体といった書体ごとにフォントファイルとしてパーソナルコンピュータなどの情報処理装置に記憶されている。情報処理装置に記憶されているベクトルフォントデータは、文字を表示する際に所定のサイズに拡大又は縮小されたビットマップフォントデータに変換されるとともに、アンチエイリアス処理が行われ、そのビットマップフォントデータに基づく文字が背景画像上に表示される。
特開2005−250662号公報
上記のような従来の方法では、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるため、処理負荷が大きいという問題がある。しかし、仮に、予めアンチエイリアス処理が行われたビットマップフォントデータを情報処理装置に記憶させておくような構成にすると、フォントファイルのデータ量が大幅に増加してしまう。
なお、従来から、予めビットマップフォントデータを記憶している情報処理装置もあったが、データ量を考慮して、各ピクセルを2値データ、すなわち白色又は黒色で表したモノクロビットマップデータとして記憶しているのが通常であった。
本発明は、上記の事情に鑑みてなされたものであり、文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができるフォントデータベース生成プログラム及びフォントデータ構造を提供することを目的とする。
第1の本発明によるフォントデータベース生成プログラムは、文字コードに対応付けられたベクトルフォントデータに基づいて、ビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラムであって、文字コードに対応付けられたベクトルフォントデータに基づいて、各ピクセルが2値データで構成されるモノクロビットマップデータを生成するモノクロビットマップデータ生成手段と、上記モノクロビットマップデータをダウンサンプリングし、各ピクセルが透過率を示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段と、多数の上記透過率フォントデータによって構成されるビットマップデータ群を生成するビットマップデータ群生成手段と、生成されたビットマップデータ群を、文字コードが連続する2以上の透過率フォントデータによって構成されるグループに区分するグルーピング手段と、各グループに文字コードの範囲を対応付けたインデックステーブルを生成するインデックステーブル生成手段として情報処理装置を機能させ、上記ビットマップデータ群及び上記インデックステーブルにより構成されるフォントデータベースを生成するように構成される。
このような構成によれば、各ピクセルが2値データで構成されるモノクロビットマップデータをダウンサンプリングすることにより、文字コードに対応した透過率フォントデータを生成することができる。このようにして生成された透過率フォントデータに色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
上記のようにして生成される透過率フォントデータは、モノクロビットマップデータに基づくデータであり、色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、生成された透過率フォントデータはビットマップデータからなり、文字を表示する際に色データを付加して背景画像データと合成するだけでよいので、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるような従来の方法と比べて、文字を表示する際の処理負荷を軽減することができる。
また、生成された多数の透過率フォントデータからなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成することにより、文字コードに基づいてグループを特定し、そのグループから透過率フォントデータを読み出すことができる。したがって、生成された全ての透過率フォントデータの中から読み出す場合と比べて短時間で透過率フォントデータを読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
第2の本発明によるフォントデータベース生成プログラムは、上記透過率フォントデータごとにランレングス法を用いて圧縮処理を行うデータ圧縮手段として上記情報処理装置を機能させ、上記ビットマップデータ群が、上記データ圧縮手段によってそれぞれ圧縮処理が行われた多数の上記透過率フォントデータにより構成され、上記インデックステーブル生成手段が、各グループに文字コードの範囲を対応付けた第1インデックステーブルを生成する第1インデックステーブル生成手段と、上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第2インデックステーブルをグループごとに生成する第2インデックステーブル生成手段とからなるように構成される。
このような構成によれば、文字コードに基づいて第1インデックステーブルからグループを特定し、特定したグループに基づいて第2インデックステーブルからビットマップデータ群内における透過率フォントデータの格納位置を特定して、その格納位置から透過率フォントデータを読み出すことができる。
生成された透過率フォントデータは、ランレングス法を用いて圧縮されることにより、透過率フォントデータごとにサイズが相違することとなるが、第2インデックステーブルに保持されている各透過率フォントデータの格納位置に基づいて、ビットマップデータ群から透過率フォントデータを正確に読み出すことができる。また、透過率フォントデータごとに圧縮処理されているので、複数の透過率フォントデータが一度に圧縮処理されているような構成と比べて、必要な透過率フォントデータだけを伸張することができ、文字を表示する際の処理負荷を軽減することができる。
第3の本発明によるフォントデータベース生成プログラムは、上記ビットマップデータ群が、上記透過率フォントデータごとの文字幅を有するように構成される。
このような構成によれば、プロポーショナルフォントで表される文字のように文字ごとに文字幅が異なる場合であっても、各文字に対応する透過率フォントデータ及び文字幅に基づいて、文字を正確に表示することができる。
第4の本発明によるフォントデータ構造は、文字コードに対応付けられたビットマップフォントデータを保持するフォントデータ構造であって、各ピクセルが透過率を示す多値データからなる多数の透過率フォントデータによって構成され、透過率フォントデータごとにランレングス法を用いた圧縮処理が行われたビットマップデータ群と、上記ビットマップデータ群が、文字コードが連続する2以上の透過率フォントデータによって構成されるグループに区分されており、これらの各グループに文字コードの範囲を対応付けて保持する第1インデックステーブルと、グループごとに上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第2インデックステーブルとにより構成される。
本発明によれば、各ピクセルが色データを含まない透過率からなるビットマップデータとして透過率フォントデータを生成し、多数の透過率フォントデータで構成されたフォントデータベースを提供することができる。このフォントデータベースから所望の透過率フォントデータを読み出し、色データを付加して背景画像データと合成することにより、良好に平滑化された文字を背景画像上に表示させることができる。
また、本発明によれば、文字を表示する際の処理負荷を軽減しつつ、データ量を減少させることができる。すなわち、透過率フォントデータには色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、文字を表示する際に透過率フォントデータに色データを付加して背景画像データと合成するだけでよいので、文字を表示する際の処理負荷を軽減することができる。さらに、インデックステーブルを用いて文字コードからグループを特定し、そのグループから透過率フォントデータを読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
図1は、本発明の実施の形態による透過率フォントファイル生成プログラムを実行することにより透過率フォントファイルを生成する透過率フォントファイル生成装置の一構成例を示したブロック図である。この透過率フォントファイル生成装置は、パーソナルコンピュータなどの情報処理装置からなり、操作入力部1、プログラム実行部2、プログラム記憶部3、ベクトルフォントファイル記憶部4及び透過率フォントファイル記憶部5を備えている。
操作入力部1は、ユーザが操作入力を行うキーボードやマウス等の操作入力手段である。プログラム記憶部3は、透過率フォントファイル生成プログラムを記憶しており、プログラム実行部2が、操作入力部1に対するユーザ操作に基づいて透過率フォントファイル生成プログラムを実行している。透過率フォントファイル生成プログラムは、その実行結果として、ベクトルフォントファイル記憶部4に記憶されているベクトルフォントファイルに基づいて透過率フォントファイルを生成し、透過率フォントファイル記憶部5に格納する。
ここで、プログラム実行部2は、マイクロプロセッサ及び揮発性メモリによって構成され、プログラム記憶部3、ベクトルフォントファイル記憶部4及び透過率フォントファイル記憶部5は、いずれもハードディスクやフラッシュメモリなどの不揮発性メモリからなるものとする。
ベクトルフォントファイル記憶部4には、明朝体やゴシック体といった書体ごとにベクトルフォントファイルが記憶されている。フォントファイルとは、多数のフォントデータで構成されるデータベースであり、ベクトルフォントファイルの場合、各フォントデータがベクトルデータからなる。ここで、ベクトルデータとは、文字形状をベジェ曲線などで表現しているデータであり、例えば輪郭線をベクトル表現したアウトラインフォントや、骨格をベクトル表現したストロークフォントなどがある。ベクトルフォントは、拡大又は縮小しても文字が滑らかな状態のまま維持されるといった特性を有している。これに対して、ビットマップフォントは、拡大又は縮小すると文字が滑らかでなくなるといった特性がある。
図2は、プログラム実行部2が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したブロック図である。また、図3は、透過率フォントファイル生成プログラムの実行結果として生成される透過率フォントファイルの一構成例を示した図である。プログラム実行部2は、透過率フォントファイル生成プログラムを実行することにより、データ読出部21、オフスクリーン展開部22、透過率算出部23、データ圧縮部24及びテーブル付加部25として機能する。
透過率フォントファイル生成装置に備えられた不揮発性メモリには、JIS(日本工業規格)などの規格によって規定された各文字について、文字ごとに対応付けられた文字コードが予め記憶されている。ベクトルフォントファイル記憶部4に記憶されているベクトルフォントファイルは、操作入力部1に対する入力操作に基づいて、データ読出部21により文字コードを用いて読み出される。
より具体的には、透過率フォントファイル生成装置の表示部(図示せず)に表示される入力画面において、書体及び文字サイズ、並びに、文字コードの範囲、圧縮処理の有無などを入力する操作が行われることにより、入力された書体のベクトルフォントファイルが、ベクトルフォントファイル記憶部4から読み出されるようになっている。本実施の形態では、文字コードの範囲として、ASCII(American Standard Code for Information Interchange)、JIS第1水準又はJIS第2水準などを入力することができるものとする。
オフスクリーン展開部22は、入力された文字コードに対応するベクトルフォントデータをベクトルフォントファイルから読み出し、入力された文字サイズに基づいてオフスクリーン上にビットマップフォントデータを展開する。すなわち、透過率フォントファイル生成装置のメモリ内に確保された仮想画面としてのオフスクリーン上に、ベクトルフォントファイルにより表される文字を複数のピクセルの集合体で表現することにより、ビットマップフォントデータを展開する。このとき、オフスクリーン展開部22は、各ピクセルを2値データ、すなわち白色又は黒色で展開するようになっており、文字部分が黒色で表されたモノクロビットマップデータを生成するモノクロビットマップデータ生成手段として機能する。
オフスクリーン上に展開されるビットマップフォントデータは、いわゆるオーバーサンプリング法により、最終的に生成されるビットマップフォントデータの各ピクセルを複数のサブピクセルに分割したフォントデータとして展開される。ここでは、最終的に生成されるビットマップフォントデータの各ピクセルが、8行×8列の計64個のサブピクセルに分割されて、オフスクリーン上に展開されるものとする。これにより、最終的に生成されるビットマップフォントデータの各ピクセルに対応する領域(以下、「ピクセル領域」と呼ぶ。)に、64個のサブピクセルが格子状に配列されることとなる。
透過率算出部23は、オフスクリーン上の各ピクセル領域内における文字部分のサブピクセルの割合に基づいて、各ピクセル領域を1ピクセルとしたときの背景画像に対する透過率αを算出する。すなわち、各ピクセル領域内のサブピクセル数(この例では、「64」)に対して、そのピクセル領域に含まれる文字部分のサブピクセル数の比を求めることにより、多値データからなる透過率αのデータを生成することができる。
このように、透過率算出部23は、モノクロビットマップデータを高解像度から低解像度へダウンサンプリングすることにより、各ピクセルが透過率αを示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段として機能する。このようにして生成された透過率フォントデータを用いれば、各ピクセル領域を1ピクセルとした場合に、各ピクセルを文字色、背景色及び透過率αに応じた色で表示させることにより、平滑化された文字を表示させることができる。
上記のようにして生成された透過率フォントデータは、ベクトルフォントファイルの読出時に圧縮処理が入力操作により選択されていれば、データ圧縮部24により透過率フォントデータごとに圧縮され、圧縮処理が選択されていなければ、非圧縮のままテーブル付加部25に入力される。
データ圧縮部24における圧縮処理には、いわゆるランレングス法やハフマン符号化法などの周知の圧縮方法を用いることができる。文字を表すビットマップデータのように、文字部分でないピクセルの連続する領域が多い画像データの圧縮処理には、ランレングス法やハフマン符号化法を用いた圧縮方法が適している。ここでは、各透過率フォントデータが、ランレングス法を用いて圧縮処理された後、ハフマン符号化法を用いてさらに圧縮処理されるものとする。
ただし、データ圧縮部24は、ランレングス法及びハフマン符号化法の両方を用いて圧縮処理を行うような構成に限らず、一方のみを用いて圧縮処理を行うようになっていてもよいし、文字によって圧縮後のサイズが異なるような他の圧縮方法を用いて圧縮処理を行うようになっていてもよい。
テーブル付加部25は、透過率フォントデータや、ベクトルフォントファイルの読出時における入力操作に基づくデータなどに、文字コードが対応付けられたインデックステーブルを付加する。これにより、ベクトルフォントファイルの読出時に入力された文字コードの範囲内における各文字コードが、インデックステーブルを介して透過率フォントデータ等と対応付けられることとなる。ここでは、第1インデックステーブル52及び第2インデックステーブル53の2つのテーブルが付加されるものとする。
テーブル付加部25には、ビットマップデータ群生成部251、グルーピング処理部252、第1インデックステーブル生成部253及び第2インデックステーブル生成部254が備えられている。ビットマップデータ群生成部251は、透過率算出部23で生成された多数の透過率フォントデータからなるビットマップデータ群を生成する。すなわち、入力操作に基づいて生成された一定範囲の文字コードに対応する各透過率フォントデータは、ビットマップデータ群生成部251により、データ圧縮部24により圧縮された透過率フォントデータ又は非圧縮の透過率フォントデータの集合体からなるビットマップデータ群として生成される。
グルーピング処理部252は、生成されたビットマップデータ群を、文字コードが連続する2以上の透過率フォントデータで構成されるグループに区分するための処理を行う。ここでは、グルーピング処理部252は、平仮名や片仮名などの各グループにビットマップデータ群を区分するようになっている。第1インデックステーブル生成部253は第1インデックステーブル52を生成し、第2インデックステーブル生成部254は第2インデックステーブル53を生成する。
上記のようにして互いに対応付けられた各種データは、ファイルヘッダ51、第1インデックステーブル52、第2インデックステーブル53及び透過率テーブル54からなるフォントデータベースとして、透過率フォントファイル記憶部5に記憶される。透過率フォントファイルは、明朝体やゴシック体といった書体ごとに生成される。
透過率フォントファイルのファイルヘッダ51には、透過率フォントファイル生成プログラムのバージョン情報511、入力操作に基づく圧縮処理の有無を表す圧縮フラグ512、入力された文字サイズに基づく文字高さ513、及び、入力された文字コードの範囲に対応する文字数514が保持される。
第1インデックステーブル52には、各グループに文字コードの範囲が対応付けて保持される。より具体的には、入力された文字コードの範囲における平仮名や片仮名などの各グループの開始コード521及び終了コード522、並びに、各グループの第2インデックステーブル53における開始アドレス523が保持される。
第2インデックステーブル53には、各文字コードに対応する透過率フォントデータの透過率テーブル54における格納位置が保持される。より具体的には、各文字コード531に、その文字について生成された透過率フォントデータのサイズデータ532、及び、その透過率フォントデータが記憶されている透過率テーブル54の開始アドレス533が対応付けて保持される。ここで、圧縮処理された透過率フォントデータについては、圧縮後のサイズデータ532が第2インデックステーブル53に保持されるものとする。
透過率テーブル54には、各文字について生成された透過率フォントデータ541、及び、その文字について入力された書体と文字サイズに基づく文字幅542が対応付けて保持される。この透過率テーブル54は、ビットマップデータ群生成部251により生成された多数の透過率フォントデータ541によって構成されるビットマップデータ群に、各透過率フォントデータ541に対応する文字幅542を付加することにより構成されている。
透過率テーブル54の各透過率フォントデータ541は、対応する文字幅542とともに圧縮されるようになっていてもよいし、圧縮された各透過率フォントデータ541に非圧縮の文字幅542が対応付けて保持されるようになっていてもよい。文字幅542は、書体として等幅フォント又はプロポーショナルフォントのいずれが選択されているかによって、同じ文字サイズであっても異なる値となる。
図4は、オフスクリーン展開部22及び透過率算出部23が行う処理の一例を示した図である。この図4において、文字部分のピクセルにはハッチングを施している。最終的に生成されるビットマップフォントデータにおける文字の一部が、図4(a)に示すようなピクセル221からなる場合に、オフスクリーン展開部22は、図4(a)に示す各ピクセル221を8行×8列の計64個のサブピクセル222に分割したオフスクリーン上に、ベクトルフォントファイルにより表される文字を2値データで展開する。
このようにしてオフスクリーン上に展開された文字は、図4(b)に示すように、ピクセル221よりも小さいサブピクセル222で表されることにより平滑化された文字となる。64個のサブピクセル222が格子状に配列されることにより構成される各ピクセル領域223は、最終的に生成されるビットマップフォントデータの各ピクセル221と一致している。
透過率算出部23は、64個のサブピクセル222からなるオフスクリーン上の各ピクセル領域223について、そのピクセル領域223に含まれる文字部分のサブピクセル222を計数することにより、図4(c)に示すように、(ピクセル領域223内における文字部分のサブピクセル222の数)/(ピクセル領域223内のサブピクセル222の数)により求まる透過率αをピクセル領域223ごとに算出することができる。
図5は、テーブル付加部25が行う処理の一例を示した図である。例えば、ベクトルフォントファイルの読出時に、文字コードの範囲としてJIS第1水準が入力された場合、その文字コードの範囲に含まれる平仮名や片仮名などの各グループの開始コード521及び終了コード522が、第1インデックステーブル52に格納される。この例では、平仮名のグループについては、開始文字「あ」の文字コード及び終了文字「ん」の文字コードが格納され、片仮名のグループについては、開始文字「ア」の文字コード及び終了文字「ン」の文字コードが格納されている。
第1インデックステーブル52の各グループに対応する領域には、そのグループの第2インデックステーブル53における開始アドレス523が格納され、その開始アドレス523に基づいて、第2インデックステーブル53における各グループのデータを読み出すことができるようになっている。
第2インデックステーブル53には、平仮名のグループに含まれる「あ」〜「ん」の文字、片仮名のグループに含まれる「ア」〜「ン」の文字のように、入力された文字コードの範囲に含まれる全ての文字コードが格納される。また、第2インデックステーブル53には、各文字コード531に対応付けて、その文字についての透過率フォントデータのサイズデータ532及び透過率テーブル54の開始アドレス533が格納される。したがって、各文字コード531に対応付けて第2インデックステーブル53に格納されている透過率テーブル54の開始アドレス533に基づいて、各文字コード531に対応する透過率フォントデータ541及び文字幅542を透過率テーブル54から読み出すことができる。
図6は、プログラム実行部2が透過率フォントファイル生成プログラムを実行することにより行われる処理の一例を示したフローチャートである。入力画面において、書体及び文字サイズ、並びに、文字コードの範囲、圧縮処理の有無などを入力する操作が行われると、データ読出部21により、入力された書体のベクトルフォントファイルが、ベクトルフォントファイル記憶部4から読み出される(ステップS101)。
その後、オフスクリーン展開部22が、入力された文字コードの範囲に対応する各ベクトルフォントデータをベクトルフォントファイルから順次に読み出して、入力された文字サイズに基づいてオフスクリーン上にビットマップフォントデータを展開する(ステップS102)。
そして、オフスクリーン上の各ピクセル領域内における文字部分のサブピクセルの割合に基づいて、透過率算出部23が各ピクセル領域の透過率αを算出することにより、各文字コードに対応する透過率フォントデータを生成する(ステップS103)。このとき、ベクトルフォントファイルの読出時の入力操作により圧縮処理が選択されていれば(ステップS104でYes)、データ圧縮部24により透過率フォントデータが圧縮される(ステップS105)。
このようにして、入力された文字コードの範囲に対応する各ベクトルフォントデータが順次に生成され、その範囲内のすべての文字コードについて透過率フォントデータが生成されると(ステップS106でYes)、テーブル付加部25が各透過率フォントデータにインデックステーブルを付加することにより、透過率フォントファイルが生成される(ステップS107)。
図7は、透過率フォントファイルを用いて文字を画面表示する表示端末装置の一構成例を示したブロック図である。この表示端末装置は、パーソナルコンピュータなどの情報処理装置からなり、操作入力部101、プログラム実行部102、表示部103、プログラム記憶部104及び透過率フォントファイル記憶部105を備えている。
操作入力部101は、ユーザが操作入力を行うキーパッド等の操作入力手段であり、表示部103は、文字を画面表示する液晶表示装置などの表示手段である。プログラム記憶部104は文字表示プログラムやアプリケーションプログラムを記憶し、透過率フォントファイル記憶部105は透過率フォントファイルを記憶しており、いずれもハードディスクやフラッシュメモリなどの不揮発性メモリからなる。
プログラム実行部102は、マイクロプロセッサ及び揮発性メモリによって構成され、操作入力部101に対するユーザ操作に基づいて、文字表示プログラム及びアプリケーションプログラムを実行している。アプリケーションプログラムは、その実行結果として表示部3の表示画面上に文字を表示する。この文字表示は、アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が引き渡された文字表示プログラムが、透過率フォントファイルを用いて、表示部3へ出力する文字の画像データを生成することにより実現される。
図8は、プログラム実行部102が文字表示プログラムを実行することにより行われる処理の一例を示したブロック図である。プログラム実行部102は、文字表示プログラムを実行することにより、透過率フォントファイル読出部121、透過率フォントデータ読出部122、データ伸張部123、文字画像出力部124、背景画像出力部125及び画像合成部126として機能する。
アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が決定されると、決定された書体及び文字サイズに基づいて、透過率フォントファイル読出部121が、透過率フォントファイル記憶部105から対応する透過率フォントファイルを読み出す。
透過率フォントデータ読出部122は、読み出された透過率フォントファイルの第1インデックステーブル52及び第2インデックステーブル53と、決定された文字コードとに基づいて、文字ごとに透過率テーブル54に格納されている透過率フォントデータ541及び文字幅542を読み出す。すなわち、第1インデックステーブル52の各グループに対応する領域のうち、決定された文字コードが開始コード521から終了コード522の範囲に含まれる領域を選択し、その領域に格納されている第2インデックステーブル53の開始アドレス523を読み出す。
そして、読み出した開始アドレス523を開始位置として、決定されている文字コードを検索することにより、その文字コードに対応する透過率テーブル54の開始アドレス533を読み出す。このようにして読み出された透過率テーブル54の開始アドレス533から透過率フォントデータ541及び文字幅542を読み出すことにより、文字コードに対応する透過率フォントデータ541及び文字幅542を読み出すことができる。
読み出されたデータは、圧縮フラグ512に基づいて、圧縮されている場合にはデータ伸張部123で伸張されて文字画像出力部124に入力され、圧縮されていない場合には、そのまま文字画像出力部124に入力される。文字画像出力部124は、入力された透過率フォントデータ541及び文字幅542に基づいて、1ピクセルが上述のピクセル領域223に対応するビットマップデータからなる文字画像データを出力する。
このとき、出力される文字画像データの各ピクセルの色データは、決定されている文字色に基づく各ピクセルの色データに対して、ピクセルごとに透過率αを乗算した値となる。例えば、文字画像データの各ピクセルがR(レッド)、G(グリーン)及びB(ブルー)の3色の濃度値により表される場合には、各色の濃度値に対して透過率αを乗算した値が文字画像データの各ピクセルの色データとして出力されることとなる。
一方、文字が表示される際の背景となる背景画像データは、アプリケーションプログラムの実行結果として、表示端末装置のメモリに割り当てられた背景画像記憶部106から読み出され、背景画像出力部125に入力される。背景画像出力部125は、入力された背景画像データの各ピクセルの色データに、(1−α)を乗算した値を出力する。例えば、背景画像データの各ピクセルがR、G及びBの3色の濃度値により表される場合には、各色の濃度値に対して(1−α)を乗算した値が、背景画像データの各ピクセルの色データとして出力されることとなる。
文字画像データ及び背景画像データの各ピクセルは、互いに同じ大きさからなり、対応するピクセル同士の色データが画像合成部126で合成されることにより、背景画像上に文字が表示されるようになっている。すなわち、R、G及びBの各色について、文字画像データの各ピクセルの濃度値に透過率αを乗算した値と、背景画像データの対応するピクセルの濃度値に(1−α)を乗算した値とを加算することにより、文字を背景画像に合成し、表示端末装置の表示部103に表示させることができる。
図9は、プログラム実行部102が文字表示プログラムを実行することにより行われる処理の一例を示したフローチャートである。アプリケーションプログラムの実行結果として、書体、文字サイズ、文字コード及び文字色が決定されると、透過率フォントファイル読出部121が、透過率フォントファイル記憶部105から決定された書体及び文字サイズに対応する透過率フォントファイルを読み出す(ステップS201)。
その後、透過率フォントデータ読出部122が、透過率フォントファイルから文字コードに対応する透過率フォントデータ541及び文字幅542を読み出す(ステップS202)。このとき、読み出されたデータが圧縮されていれば(ステップS203でYes)、データ伸張部123によりデータが伸張される(ステップS204)。
このようにして読み出された非圧縮の透過率フォントデータに基づいて、文字画像出力部124が各ピクセルに透過率αに応じた色データを付加した文字画像データを出力し(ステップS205)、画像合成部126が、その文字画像データを背景画像出力部125から出力される背景画像データと合成することにより(ステップS206)、背景画像上に文字が表示される。
本実施の形態では、各ピクセルが2値データで構成されるモノクロビットマップデータをダウンサンプリングすることにより、文字コードに対応した透過率フォントデータ541を生成することができる。このようにして生成された透過率フォントデータ541に色データを付加して背景画像データと合成すれば、良好に平滑化された文字を背景画像上に表示させることができる。
上記のようにして生成される透過率フォントデータ541は、モノクロビットマップデータに基づくデータであり、色データが付加されていないので、色データが付加されたカラービットマップデータを予め生成して記憶させておくような場合と比べて、データ量を大幅に減少させることができる。また、生成された透過率フォントデータ541はビットマップデータからなり、文字を表示する際に色データを付加して背景画像データと合成するだけでよいので、文字を表示する際にベクトルフォントデータがビットマップフォントデータに変換されるとともにアンチエイリアス処理が行われるような従来の方法と比べて、文字を表示する際の処理負荷を軽減することができる。
また、生成された多数の透過率フォントデータ541からなるビットマップデータ群をグループに区分し、各グループに文字コードの範囲を対応付けたインデックステーブルを生成することにより、文字コードに基づいてグループを特定し、そのグループから透過率フォントデータ541を読み出すことができる。本実施の形態では、文字コードに基づいて第1インデックステーブル52からグループを特定し、特定したグループに基づいて第2インデックステーブル53から透過率テーブル54における透過率フォントデータ541の格納位置を特定して、その格納位置から透過率フォントデータ541を読み出すことができる。
したがって、生成された全ての透過率フォントデータ541の中から読み出す場合と比べて短時間で透過率フォントデータ541を読み出すことができるので、文字を表示する際の処理負荷をより効果的に軽減することができる。
生成された透過率フォントデータ541は、ランレングス法及びハフマン符号化法を用いて圧縮されることにより、透過率フォントデータ541ごとにサイズが相違することとなるが、第2インデックステーブル53に保持されている各透過率フォントデータ541のサイズデータ532及び開始アドレス533に基づいて、透過率テーブル54から透過率フォントデータ541を正確に読み出すことができる。また、透過率フォントデータ541ごとに圧縮処理されているので、複数の透過率フォントデータ541が一度に圧縮処理されているような構成と比べて、必要な透過率フォントデータ541だけを伸張することができ、文字を表示する際の処理負荷を軽減することができる。
また、透過率フォントデータ541及び文字幅542に基づいて文字を表示させるので、プロポーショナルフォントで表される文字のように文字ごとに文字幅が異なる場合であっても、各文字に対応する透過率フォントデータ541及び文字幅542に基づいて、文字を正確に表示することができる。
上記実施の形態では、グルーピング処理手段252が、透過率フォントデータ541を平仮名や片仮名などのグループに区分するような構成について説明したが、このような構成に限らず、任意のグループに区分することが可能である。
また、上記実施の形態では、操作入力部1に対する入力操作に基づいて透過率フォントデータ541の圧縮処理の有無が決定されるような構成について説明したが、このような構成に限らず、透過率フォントデータ541が全て圧縮されて格納されるようになっていてもよいし、透過率フォントデータ541が全て非圧縮のまま格納されるようになっていてもよい。透過率フォントデータ541が全て非圧縮のまま格納されるような構成の場合には、第1インデックステーブルを開始コード521、終了コード522及び透過率テーブル54の開始アドレス533を格納したテーブルとし、第2インデックステーブルを省略することも可能である。
透過率フォントファイル生成装置及び表示端末装置は、別々に分離したものであってもよいし、1つの情報処理装置に組み込まれることによって一体的に構成されていてもよい。また、本発明は、パーソナルコンピュータに限らず、電話機、PDA(Personal Digital Assistance)、複写機、ファクシミリ装置、テレビ受像機、テレビゲーム機、デジタルカメラなどの各種情報処理装置に適用可能である。
1 操作入力部
2 プログラム実行部
3 プログラム記憶部
4 ベクトルフォントファイル記憶部
5 透過率フォントファイル記憶部
21 データ読出部
22 オフスクリーン展開部
23 透過率算出部
24 データ圧縮部
25 テーブル付加部
51 ファイルヘッダ
52 第1インデックステーブル
53 第2インデックステーブル
54 透過率テーブル
101 操作入力部
102 プログラム実行部
103 表示部
104 プログラム記憶部
105 透過率フォントファイル記憶部
106 背景画像記憶部
121 透過率フォントファイル読出部
122 透過率フォントデータ読出部
123 データ伸張部
124 文字画像出力部
125 背景画像出力部
126 画像合成部
251 ビットマップデータ群生成部
252 グルーピング処理部
253 第1インデックステーブル生成部
254 第2インデックステーブル生成部
2 プログラム実行部
3 プログラム記憶部
4 ベクトルフォントファイル記憶部
5 透過率フォントファイル記憶部
21 データ読出部
22 オフスクリーン展開部
23 透過率算出部
24 データ圧縮部
25 テーブル付加部
51 ファイルヘッダ
52 第1インデックステーブル
53 第2インデックステーブル
54 透過率テーブル
101 操作入力部
102 プログラム実行部
103 表示部
104 プログラム記憶部
105 透過率フォントファイル記憶部
106 背景画像記憶部
121 透過率フォントファイル読出部
122 透過率フォントデータ読出部
123 データ伸張部
124 文字画像出力部
125 背景画像出力部
126 画像合成部
251 ビットマップデータ群生成部
252 グルーピング処理部
253 第1インデックステーブル生成部
254 第2インデックステーブル生成部
Claims (4)
- 文字コードに対応付けられたベクトルフォントデータに基づいて、ビットマップフォントデータにより構成されるフォントデータベースを生成するフォントデータベース生成プログラムであって、
文字コードに対応付けられたベクトルフォントデータに基づいて、各ピクセルが2値データで構成されるモノクロビットマップデータを生成するモノクロビットマップデータ生成手段と、
上記モノクロビットマップデータをダウンサンプリングし、各ピクセルが透過率を示す多値データからなる透過率フォントデータを生成する透過率フォントデータ生成手段と、
多数の上記透過率フォントデータによって構成されるビットマップデータ群を生成するビットマップデータ群生成手段と、
生成されたビットマップデータ群を、文字コードが連続する2以上の透過率フォントデータによって構成されるグループに区分するグルーピング手段と、
各グループに文字コードの範囲を対応付けたインデックステーブルを生成するインデックステーブル生成手段として情報処理装置を機能させ、
上記ビットマップデータ群及び上記インデックステーブルにより構成されるフォントデータベースを生成することを特徴とするフォントデータベース生成プログラム。 - 上記透過率フォントデータごとにランレングス法を用いて圧縮処理を行うデータ圧縮手段として上記情報処理装置を機能させ、
上記ビットマップデータ群が、上記データ圧縮手段によってそれぞれ圧縮処理が行われた多数の上記透過率フォントデータにより構成され、
上記インデックステーブル生成手段が、各グループに文字コードの範囲を対応付けた第1インデックステーブルを生成する第1インデックステーブル生成手段と、上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第2インデックステーブルをグループごとに生成する第2インデックステーブル生成手段とからなることを特徴とする請求項1に記載のフォントデータベース生成プログラム。 - 上記ビットマップデータ群が、上記透過率フォントデータごとの文字幅を有していることを特徴とする請求項1又は2に記載のフォントデータベース生成プログラム。
- 文字コードに対応付けられたビットマップフォントデータを保持するフォントデータ構造であって、
各ピクセルが透過率を示す多値データからなる多数の透過率フォントデータによって構成され、透過率フォントデータごとにランレングス法を用いた圧縮処理が行われたビットマップデータ群と、
上記ビットマップデータ群が、文字コードが連続する2以上の透過率フォントデータによって構成されるグループに区分されており、これらの各グループに文字コードの範囲を対応付けて保持する第1インデックステーブルと、
グループごとに上記ビットマップデータ群内における各透過率フォントデータの格納位置を保持する第2インデックステーブルとにより構成されることを特徴とするフォントデータ構造。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006153572A JP2007322810A (ja) | 2006-06-01 | 2006-06-01 | フォントデータベース生成プログラム及びフォントデータ構造 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006153572A JP2007322810A (ja) | 2006-06-01 | 2006-06-01 | フォントデータベース生成プログラム及びフォントデータ構造 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007322810A true JP2007322810A (ja) | 2007-12-13 |
Family
ID=38855668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006153572A Pending JP2007322810A (ja) | 2006-06-01 | 2006-06-01 | フォントデータベース生成プログラム及びフォントデータ構造 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007322810A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146255A (ja) * | 2008-12-18 | 2010-07-01 | Mitsubishi Electric Corp | ベクトル図形描画装置 |
JP2010264705A (ja) * | 2009-05-18 | 2010-11-25 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
WO2013160963A1 (ja) * | 2012-04-27 | 2013-10-31 | 三菱電機株式会社 | 文字描画装置および文字描画方法 |
CN106569984A (zh) * | 2015-10-10 | 2017-04-19 | 北京新美互通科技有限公司 | 自动生成和传输彩色字库的方法、装置及系统 |
CN106844559A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 一种点阵字库生成方法、查询方法及对应的装置 |
-
2006
- 2006-06-01 JP JP2006153572A patent/JP2007322810A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146255A (ja) * | 2008-12-18 | 2010-07-01 | Mitsubishi Electric Corp | ベクトル図形描画装置 |
JP2010264705A (ja) * | 2009-05-18 | 2010-11-25 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
WO2013160963A1 (ja) * | 2012-04-27 | 2013-10-31 | 三菱電機株式会社 | 文字描画装置および文字描画方法 |
JPWO2013160963A1 (ja) * | 2012-04-27 | 2015-12-21 | 三菱電機株式会社 | 文字描画装置および文字描画方法 |
CN106569984A (zh) * | 2015-10-10 | 2017-04-19 | 北京新美互通科技有限公司 | 自动生成和传输彩色字库的方法、装置及系统 |
CN106569984B (zh) * | 2015-10-10 | 2020-06-16 | 北京新美互通科技有限公司 | 自动生成和传输彩色字库的方法、装置及系统 |
CN106844559A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 一种点阵字库生成方法、查询方法及对应的装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5106735B2 (ja) | 形状プロセッサ | |
KR100707579B1 (ko) | 비디오 데이터의 프레임 생성 방법 및 시스템 | |
JP2007322810A (ja) | フォントデータベース生成プログラム及びフォントデータ構造 | |
JP4356752B2 (ja) | 文書編集装置、プログラムおよび記憶媒体 | |
JP4419876B2 (ja) | 画像処理装置 | |
JP2008228168A (ja) | 画像処理装置およびプログラム | |
JP5392543B2 (ja) | 画像合成装置、画像形成装置およびプログラム | |
JP2003087558A (ja) | 画像処理装置および方法 | |
JP2011128714A (ja) | 画像処理装置、画像データおよび画像処理プログラム | |
JP2010220158A (ja) | 画像処理装置および画像処理プログラム | |
JP2017016511A (ja) | 歪み補正画像処理装置及びプログラム | |
JP2007312152A (ja) | 画像処理システム | |
JP2004341253A (ja) | 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体 | |
JP4125245B2 (ja) | 文書表示方法および文書表示装置 | |
JP5256628B2 (ja) | 画像表示装置、該画像表示装置に用いられる画像拡大/縮小方法及び画像拡大/縮小制御プログラム | |
JP4423812B2 (ja) | 描画処理装置および描画処理方法 | |
JP4736489B2 (ja) | 画像処理装置 | |
KR20150063897A (ko) | 이미지를 디스플레이 하는 방법 및 그 장치 | |
JP2023045392A (ja) | 画像データ生成装置、画像データ生成方法及び画像データ生成プログラム | |
JP4198098B2 (ja) | 表示装置、プログラムおよび記録媒体 | |
JP4666071B2 (ja) | 文書編集装置、プログラムおよび記憶媒体 | |
JP4911240B2 (ja) | 文書編集装置、プログラムおよび記憶媒体 | |
JP2005303606A (ja) | 画像処理装置、画像処理方法およびプリンタドライバ | |
JP5419440B2 (ja) | グラフィックス表示装置及びグラフィカルユーザインタフェース実行装置 | |
JP2020082455A (ja) | 画像処理装置、画像処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A072 | Dismissal of procedure |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20071218 |