JP2000280544A - アウトラインフォントデータ処理方法 - Google Patents
アウトラインフォントデータ処理方法Info
- Publication number
- JP2000280544A JP2000280544A JP11095629A JP9562999A JP2000280544A JP 2000280544 A JP2000280544 A JP 2000280544A JP 11095629 A JP11095629 A JP 11095629A JP 9562999 A JP9562999 A JP 9562999A JP 2000280544 A JP2000280544 A JP 2000280544A
- Authority
- JP
- Japan
- Prior art keywords
- data
- size
- outline font
- dots
- bitmap
- 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
Landscapes
- Dot-Matrix Printers And Others (AREA)
- Record Information Processing For Printing (AREA)
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【解決手段】 アウトラインフォントデータ1を、それ
ぞれ異なるドット数のものに展開した場合に、それぞれ
ビットマップ形式にした場合と圧縮データ形式にした場
合とのデータサイズを比較する。ビットマップ形式にし
た場合のデータサイズと、圧縮データ形式にした場合の
データサイズが最も近いドット数を見つけ、これをドッ
ト数情報7とする。ドット数情報7はアウトラインフォ
ントデータ1に含められる。データを展開したときはド
ット数情報7を参照して、よりデータサイズが小さいも
のをキャッシュメモリに格納する。 【効果】 アウトラインフォントデータ1中にドット数
情報7が含められるので、これを利用して、よりデータ
サイズの低いデータをキャッシュメモリに格納し、メモ
リの使用効率を高める。
ぞれ異なるドット数のものに展開した場合に、それぞれ
ビットマップ形式にした場合と圧縮データ形式にした場
合とのデータサイズを比較する。ビットマップ形式にし
た場合のデータサイズと、圧縮データ形式にした場合の
データサイズが最も近いドット数を見つけ、これをドッ
ト数情報7とする。ドット数情報7はアウトラインフォ
ントデータ1に含められる。データを展開したときはド
ット数情報7を参照して、よりデータサイズが小さいも
のをキャッシュメモリに格納する。 【効果】 アウトラインフォントデータ1中にドット数
情報7が含められるので、これを利用して、よりデータ
サイズの低いデータをキャッシュメモリに格納し、メモ
リの使用効率を高める。
Description
【0001】
【発明の属する技術分野】本発明は、展開後のデータを
キャッシュメモリ等に格納する際にメモリを効率よく使
用できるアウトラインフォントデータ処理方法に関す
る。
キャッシュメモリ等に格納する際にメモリを効率よく使
用できるアウトラインフォントデータ処理方法に関す
る。
【0002】
【従来の技術】パーソナルコンピュータ等で文字を描画
するために、アウトラインフォントが普及している。ア
ウトラインフォントは、文字の輪郭を座標点の集合で表
現し、演算処理によって任意のサイズのビットマップデ
ータを生成できる特徴を持つ。また、同様にして回転や
傾斜等の文字装飾を施したビットマップも生成できる。
従って、サイズ毎にビットマップフォントを用意するよ
りもメモリ消費量の面で非常に有利である。アウトライ
ンフォントからビットマップデータを生成する処理をラ
スタライズ(展開)と表現している。印刷する文字のサ
イズはドット数で表現する。文字コードとドット数とが
指定されると、該当する文字が該当するサイズのビット
マップデータに展開され、プリンタのプリンタエンジン
等に転送される。
するために、アウトラインフォントが普及している。ア
ウトラインフォントは、文字の輪郭を座標点の集合で表
現し、演算処理によって任意のサイズのビットマップデ
ータを生成できる特徴を持つ。また、同様にして回転や
傾斜等の文字装飾を施したビットマップも生成できる。
従って、サイズ毎にビットマップフォントを用意するよ
りもメモリ消費量の面で非常に有利である。アウトライ
ンフォントからビットマップデータを生成する処理をラ
スタライズ(展開)と表現している。印刷する文字のサ
イズはドット数で表現する。文字コードとドット数とが
指定されると、該当する文字が該当するサイズのビット
マップデータに展開され、プリンタのプリンタエンジン
等に転送される。
【0003】
【発明が解決しようとする課題】ところで、上記のよう
な従来の技術には、次のような解決すべき課題があっ
た。プリンタでは、印刷中に頻繁に使用される文字を展
開後の状態でキャッシュメモリに記憶する。これによっ
て、その文字についての展開処理を省略し、印刷速度の
向上を図ることができる。一方、ビットマップデータは
よく知られたランレングス圧縮法等によりデータ圧縮を
することが可能である。圧縮されたデータをキャッシュ
メモリに格納すればキャッシュメモリの利用効率が向上
する。特にドット数の大きい大サイズの文字描画のため
のビットマップデータについては、この圧縮効果が高
い。ランレングス圧縮法に類する方法で圧縮されるデー
タとしては、例えばエッジデータが知られている。
な従来の技術には、次のような解決すべき課題があっ
た。プリンタでは、印刷中に頻繁に使用される文字を展
開後の状態でキャッシュメモリに記憶する。これによっ
て、その文字についての展開処理を省略し、印刷速度の
向上を図ることができる。一方、ビットマップデータは
よく知られたランレングス圧縮法等によりデータ圧縮を
することが可能である。圧縮されたデータをキャッシュ
メモリに格納すればキャッシュメモリの利用効率が向上
する。特にドット数の大きい大サイズの文字描画のため
のビットマップデータについては、この圧縮効果が高
い。ランレングス圧縮法に類する方法で圧縮されるデー
タとしては、例えばエッジデータが知られている。
【0004】ところが、プリンタの性能が向上して、極
めて小さいサイズの文字の印刷も容易に行われるように
なった。この小サイズの文字については、ビットマップ
データを圧縮アルゴリズムを用いて変換した場合、かえ
ってデータサイズが大きくなってしまうことがある。ど
のような場合にこうした現象が生じるかは文字の種類に
よっても異なる。即ち、各文字のアウトラインフォント
データの内容から直ちに圧縮サイズを推測することは難
しい。
めて小さいサイズの文字の印刷も容易に行われるように
なった。この小サイズの文字については、ビットマップ
データを圧縮アルゴリズムを用いて変換した場合、かえ
ってデータサイズが大きくなってしまうことがある。ど
のような場合にこうした現象が生じるかは文字の種類に
よっても異なる。即ち、各文字のアウトラインフォント
データの内容から直ちに圧縮サイズを推測することは難
しい。
【0005】ビットマップフォントのデータサイズはビ
ットマップフォントのポイントにより決まっているので
3ステップ程度の演算処理により算出可能である。これ
に対して、エッジデータのサイズは、フォントを全てス
キャンし、エッジを検出してカウントするといった方法
で算出する必要があり、概ね3ステップ(1エッジ当た
り)×エッジ数程度の演算処理を必要とする。
ットマップフォントのポイントにより決まっているので
3ステップ程度の演算処理により算出可能である。これ
に対して、エッジデータのサイズは、フォントを全てス
キャンし、エッジを検出してカウントするといった方法
で算出する必要があり、概ね3ステップ(1エッジ当た
り)×エッジ数程度の演算処理を必要とする。
【0006】これは、一見小さな違いのようであるが、
キャッシュメモリに格納されていないフォントが発生す
るたびに、全てのフォントについてこの演算処理を行う
とすれば、印字開始後最初のページの印刷にあっては無
視できない大きな時間となる。
キャッシュメモリに格納されていないフォントが発生す
るたびに、全てのフォントについてこの演算処理を行う
とすれば、印字開始後最初のページの印刷にあっては無
視できない大きな時間となる。
【0007】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉アウトラインフォントデータをそれぞれ異な
るドット数のものに展開した場合に、それぞれビットマ
ップ形式にした場合と圧縮データ形式にした場合とのデ
ータサイズを比較して、ビットマップ形式にした場合の
データサイズと圧縮データ形式にした場合のデータサイ
ズが最も近いドット数を求め、そのドット数を示す情報
をアウトラインフォントデータ中に含めておき、上記デ
ータサイズが最も近いドット数を示す情報を参照して、
上記アウトラインフォントデータを、上記データサイズ
が最も近いドット数より大きいドット数に展開したとき
は、上記圧縮データ形式でメモリに格納し、上記アウト
ラインフォントデータを、上記データサイズが最も近い
ドット数より小さいドット数に展開したときは、上記ビ
ットマップデータ形式でメモリに格納するように制御す
ることを特徴とするアウトラインフォントデータ処理方
法。
するため次の構成を採用する。 〈構成1〉アウトラインフォントデータをそれぞれ異な
るドット数のものに展開した場合に、それぞれビットマ
ップ形式にした場合と圧縮データ形式にした場合とのデ
ータサイズを比較して、ビットマップ形式にした場合の
データサイズと圧縮データ形式にした場合のデータサイ
ズが最も近いドット数を求め、そのドット数を示す情報
をアウトラインフォントデータ中に含めておき、上記デ
ータサイズが最も近いドット数を示す情報を参照して、
上記アウトラインフォントデータを、上記データサイズ
が最も近いドット数より大きいドット数に展開したとき
は、上記圧縮データ形式でメモリに格納し、上記アウト
ラインフォントデータを、上記データサイズが最も近い
ドット数より小さいドット数に展開したときは、上記ビ
ットマップデータ形式でメモリに格納するように制御す
ることを特徴とするアウトラインフォントデータ処理方
法。
【0008】〈構成2〉構成1に記載のアウトラインフ
ォントデータ処理方法において、上記メモリはプリンタ
の印刷データ処理用キャッシュメモリであることを特徴
とするアウトラインフォントデータ処理方法。
ォントデータ処理方法において、上記メモリはプリンタ
の印刷データ処理用キャッシュメモリであることを特徴
とするアウトラインフォントデータ処理方法。
【0009】〈構成3〉アウトラインフォントデータを
それぞれ異なるドット数のものに展開した場合に、それ
ぞれビットマップ形式にした場合と圧縮データ形式にし
た場合とのデータサイズを比較して、ビットマップ形式
にした場合のデータサイズと圧縮データ形式にした場合
のデータサイズが最も近いドット数を示す情報を含む、
コンピュータ読み取り可能なアウトラインフォントデー
タを記録した記録媒体。
それぞれ異なるドット数のものに展開した場合に、それ
ぞれビットマップ形式にした場合と圧縮データ形式にし
た場合とのデータサイズを比較して、ビットマップ形式
にした場合のデータサイズと圧縮データ形式にした場合
のデータサイズが最も近いドット数を示す情報を含む、
コンピュータ読み取り可能なアウトラインフォントデー
タを記録した記録媒体。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。図1は、本発明によるアウトライ
ンフォントデータの説明図である。図に示すように、ア
ウトラインフォントデータ1は、フォント全体に共通な
共通情報11と、各文字毎に区別される文字別情報12
とを含んでいる。各文字別情報12は、座標点情報1
3、ヒント情報14及びドット数情報7を含む。
例を用いて説明する。図1は、本発明によるアウトライ
ンフォントデータの説明図である。図に示すように、ア
ウトラインフォントデータ1は、フォント全体に共通な
共通情報11と、各文字毎に区別される文字別情報12
とを含んでいる。各文字別情報12は、座標点情報1
3、ヒント情報14及びドット数情報7を含む。
【0011】このドット数情報7は、本発明により新た
にアウトラインフォントデータ1中に含められた情報で
ある。座標点情報13は、特定のメッシュサイズ、即ち
座標系の精度を決める一定のメッシュサイズで、アウト
ラインを構成する座標点の座標値や属性を含むデータか
ら構成されている。図の右側に示すように、各座標点に
は、それぞれ点番号が付けられ、その座標値がx座標、
y座標の値で表現される。
にアウトラインフォントデータ1中に含められた情報で
ある。座標点情報13は、特定のメッシュサイズ、即ち
座標系の精度を決める一定のメッシュサイズで、アウト
ラインを構成する座標点の座標値や属性を含むデータか
ら構成されている。図の右側に示すように、各座標点に
は、それぞれ点番号が付けられ、その座標値がx座標、
y座標の値で表現される。
【0012】また、全ての座標点中のx座標とy座標の
最大値、最小値も、この座標点情報13に含められる。
これによって、特定のメッシュサイズでビットマップデ
ータが展開された場合のサイズも簡単に求められる。x
方向のサイズとy方向のサイズの積によって、このビッ
トマップデータのドット数も計算できる。ドット数情報
7は、後で説明するように、ビットマップ形式にした場
合のデータサイズと圧縮データ形式にした場合のデータ
サイズが最も近いドット数を示す情報である。以下、こ
の情報の生成方法について説明する。
最大値、最小値も、この座標点情報13に含められる。
これによって、特定のメッシュサイズでビットマップデ
ータが展開された場合のサイズも簡単に求められる。x
方向のサイズとy方向のサイズの積によって、このビッ
トマップデータのドット数も計算できる。ドット数情報
7は、後で説明するように、ビットマップ形式にした場
合のデータサイズと圧縮データ形式にした場合のデータ
サイズが最も近いドット数を示す情報である。以下、こ
の情報の生成方法について説明する。
【0013】図2は、アウトラインフォントの塗り潰し
処理説明図である。この図を用いて、アウトラインフォ
ントの展開とスキャンコンバージョンと呼ばれる方法に
よる塗り潰し方法を説明する。図の(a)、(b)、
(c)、(d)の順に塗り潰し処理が進められる。図中
に示した細線の格子20は、各ドットの境界を示す。即
ち、図の1マスがそれぞれ1ドットであって、黒あるい
は白に塗り潰される。
処理説明図である。この図を用いて、アウトラインフォ
ントの展開とスキャンコンバージョンと呼ばれる方法に
よる塗り潰し方法を説明する。図の(a)、(b)、
(c)、(d)の順に塗り潰し処理が進められる。図中
に示した細線の格子20は、各ドットの境界を示す。即
ち、図の1マスがそれぞれ1ドットであって、黒あるい
は白に塗り潰される。
【0014】この図2には、文字「A」のアウトライン
フォントについて、その輪郭21を表示した。このアウ
トラインフォントを塗り潰すには、まず格子20の中に
各格子の中心を通る線分(スキャンライン)を引く。ス
キャンライン22は破線で示した。このスキャンライン
22と輪郭21との交点をエッジ23と呼ぶ。このエッ
ジ23を整数化するために、エッジ23を最も近い格子
20の上に移動させる。(c)は、その結果を示す。
フォントについて、その輪郭21を表示した。このアウ
トラインフォントを塗り潰すには、まず格子20の中に
各格子の中心を通る線分(スキャンライン)を引く。ス
キャンライン22は破線で示した。このスキャンライン
22と輪郭21との交点をエッジ23と呼ぶ。このエッ
ジ23を整数化するために、エッジ23を最も近い格子
20の上に移動させる。(c)は、その結果を示す。
【0015】その後、各スキャンラインを左から右側に
スキャンし、奇数番目に検出したエッジ23と偶数番目
に検出したエッジ23の間に存在するドットを黒く塗り
潰す。これが(d)に示す状態である。このようにし
て、アウトラインフォントデータからビットマップデー
タの生成をする。
スキャンし、奇数番目に検出したエッジ23と偶数番目
に検出したエッジ23の間に存在するドットを黒く塗り
潰す。これが(d)に示す状態である。このようにし
て、アウトラインフォントデータからビットマップデー
タの生成をする。
【0016】ここで、図の(c)に示すエッジ23に着
目する。各スキャンラインについて、奇数番目のエッジ
の位置と塗り潰される長さとの組合せを用いて、ビット
マップデータ展開のためのデータを生成することができ
る。これをエッジデータと呼ぶ。このようなエッジデー
タの生成手法は、いわゆるランレングス法と呼ばれるデ
ータ圧縮の手法である。
目する。各スキャンラインについて、奇数番目のエッジ
の位置と塗り潰される長さとの組合せを用いて、ビット
マップデータ展開のためのデータを生成することができ
る。これをエッジデータと呼ぶ。このようなエッジデー
タの生成手法は、いわゆるランレングス法と呼ばれるデ
ータ圧縮の手法である。
【0017】図3には、ビットマップデータとエッジデ
ータの説明図を示す。図3(a)はビットマップデー
タ、(b)は同じスキャンラインを表現するエッジデー
タの内容を示す。図のビットマップデータに示すよう
に、この例では、スキャンライン上の左から8番目のド
ットから3個のドットが連続して塗り潰される。エッジ
データでこれを表現すると、奇数番目のドットの位置は
“7”、塗り潰し数は“3”となる。(b)のエッジデ
ータは、奇数番目のエッジ位置と塗り潰される長さを共
に1バイトで表現する。
ータの説明図を示す。図3(a)はビットマップデー
タ、(b)は同じスキャンラインを表現するエッジデー
タの内容を示す。図のビットマップデータに示すよう
に、この例では、スキャンライン上の左から8番目のド
ットから3個のドットが連続して塗り潰される。エッジ
データでこれを表現すると、奇数番目のドットの位置は
“7”、塗り潰し数は“3”となる。(b)のエッジデ
ータは、奇数番目のエッジ位置と塗り潰される長さを共
に1バイトで表現する。
【0018】このエッジデータは、画像圧縮等で用いら
れるランレングス方式と類似した形式になっており、塗
り潰されるドットの数が大きければビットマップデータ
よりも十分コンパクトな形式のデータとなる。
れるランレングス方式と類似した形式になっており、塗
り潰されるドットの数が大きければビットマップデータ
よりも十分コンパクトな形式のデータとなる。
【0019】図4には、ビットマップデータとエッジデ
ータのデータサイズを比較した説明図を図示した。図の
横軸は文字を構成するドット数を示す。文字の縦方向の
サイズをNドット、横方向のサイズをMドットとする
と、N×Mで表される。即ち、文字の大きさに対応す
る。縦軸はビットマップデータあるいはエッジデータの
データサイズをバイト単位で示したものである。実線は
ビットマップデータ、破線はエッジデータを表す。
ータのデータサイズを比較した説明図を図示した。図の
横軸は文字を構成するドット数を示す。文字の縦方向の
サイズをNドット、横方向のサイズをMドットとする
と、N×Mで表される。即ち、文字の大きさに対応す
る。縦軸はビットマップデータあるいはエッジデータの
データサイズをバイト単位で示したものである。実線は
ビットマップデータ、破線はエッジデータを表す。
【0020】図に示すように、一般に文字が大きくなれ
ば、ビットマップ形式にした場合とエッジデータ形式に
した場合とでは、エッジデータ形式にした場合の方がデ
ータサイズが小さくなる。ところが、例えば文字「A」
についていえば、文字の大きさが60ドット以上の場
合、ビットマップ形式よりエッジデータ形式の方がデー
タサイズが小さくなるが、これ以下の場合は逆転する。
ば、ビットマップ形式にした場合とエッジデータ形式に
した場合とでは、エッジデータ形式にした場合の方がデ
ータサイズが小さくなる。ところが、例えば文字「A」
についていえば、文字の大きさが60ドット以上の場
合、ビットマップ形式よりエッジデータ形式の方がデー
タサイズが小さくなるが、これ以下の場合は逆転する。
【0021】60ドットというのは解像度600dpi
のプリンタの場合、7.2ポイントに相当する。ビット
マップデータのデータサイズは、図1を用いて説明した
座標点情報13によって簡単に計算により求めることが
できる。ところが、すでに説明したように、エッジデー
タのデータサイズは、その計算が容易でない。エッジデ
ータのデータサイズは文字の輪郭の複雑さに依存し、ビ
ットマップデータのデータサイズから換算できるわけで
はない。
のプリンタの場合、7.2ポイントに相当する。ビット
マップデータのデータサイズは、図1を用いて説明した
座標点情報13によって簡単に計算により求めることが
できる。ところが、すでに説明したように、エッジデー
タのデータサイズは、その計算が容易でない。エッジデ
ータのデータサイズは文字の輪郭の複雑さに依存し、ビ
ットマップデータのデータサイズから換算できるわけで
はない。
【0022】図5には、ビットマップデータとエッジデ
ータの例説明図を示す。図に示す(a)には、文字
「L」のビットマップデータを示す。この例を用いてビ
ットマップデータサイズを計算すると、約61バイトと
なる。このエッジ数は22で、エッジデータサイズは4
4バイトとなる。
ータの例説明図を示す。図に示す(a)には、文字
「L」のビットマップデータを示す。この例を用いてビ
ットマップデータサイズを計算すると、約61バイトと
なる。このエッジ数は22で、エッジデータサイズは4
4バイトとなる。
【0023】一方、(b)は文字「H」のビットマップ
データを示す。このビットマップデータサイズは約61
バイトである。エッジ数は40、エッジデータサイズは
80バイトとなる。図に示すように、ビットマップデー
タサイズがほぼ同一の文字「L」と「H」について、そ
のエッジデータを比較すると2倍近い差が生じている。
データを示す。このビットマップデータサイズは約61
バイトである。エッジ数は40、エッジデータサイズは
80バイトとなる。図に示すように、ビットマップデー
タサイズがほぼ同一の文字「L」と「H」について、そ
のエッジデータを比較すると2倍近い差が生じている。
【0024】図6には、文字毎のエッジデータサイズ比
較説明図を示す。図の横軸には文字の大きさ即ちドット
数を示し、縦軸にはデータサイズをバイト単位で表現し
た。図の実線はビットマップデータサイズで、文字
「H」のエッジデータサイズと文字「L」のエッジデー
タサイズがそれぞれ破線で示されている。
較説明図を示す。図の横軸には文字の大きさ即ちドット
数を示し、縦軸にはデータサイズをバイト単位で表現し
た。図の実線はビットマップデータサイズで、文字
「H」のエッジデータサイズと文字「L」のエッジデー
タサイズがそれぞれ破線で示されている。
【0025】図に示すように、文字によって、ビットマ
ップデータのデータサイズとエッジデータのデータサイ
ズがほぼ一致する点が、それぞれ異なっている。即ち、
文字「H」については、ドット数が26以上の場合には
エッジデータの方がデータサイズが小さい。また、ドッ
ト数が26以下の場合にはビットマップデータの方がデ
ータサイズが小さい。文字「L」の場合には、このデー
タサイズ一致点が18ドットとなっている。
ップデータのデータサイズとエッジデータのデータサイ
ズがほぼ一致する点が、それぞれ異なっている。即ち、
文字「H」については、ドット数が26以上の場合には
エッジデータの方がデータサイズが小さい。また、ドッ
ト数が26以下の場合にはビットマップデータの方がデ
ータサイズが小さい。文字「L」の場合には、このデー
タサイズ一致点が18ドットとなっている。
【0026】展開後のデータをキャッシュメモリに格納
して使用する場合、可能な限りデータサイズの小さいも
のを格納するのがメモリ使用効率上好ましい。しかしな
がら、常にエッジデータをキャッシュメモリに格納する
という条件設定をしておくと、非常に小さい文字のみ印
刷するような場合に、かえってデータサイズが大きくな
り、キャッシュメモリの使用効率を低下させる。ところ
が、このように文字によって、それぞれデータサイズ一
致点が異なると、文字のドット数に一定の閾値を設けて
おく方法では、文字によって効果が異なってくる。
して使用する場合、可能な限りデータサイズの小さいも
のを格納するのがメモリ使用効率上好ましい。しかしな
がら、常にエッジデータをキャッシュメモリに格納する
という条件設定をしておくと、非常に小さい文字のみ印
刷するような場合に、かえってデータサイズが大きくな
り、キャッシュメモリの使用効率を低下させる。ところ
が、このように文字によって、それぞれデータサイズ一
致点が異なると、文字のドット数に一定の閾値を設けて
おく方法では、文字によって効果が異なってくる。
【0027】そこで、本発明では、このデータサイズ一
致点を予め調べておき、その情報を図1に示すようにア
ウトラインフォントデータ1にドット数情報7として含
めるようにした。ドット数情報7は文字毎にそれぞれ別
々に含められた情報なので、文字毎に、最もデータサイ
ズの小さいデータをキャッシュメモリに格納することが
可能になる。
致点を予め調べておき、その情報を図1に示すようにア
ウトラインフォントデータ1にドット数情報7として含
めるようにした。ドット数情報7は文字毎にそれぞれ別
々に含められた情報なので、文字毎に、最もデータサイ
ズの小さいデータをキャッシュメモリに格納することが
可能になる。
【0028】図7には、このようなアウトラインフォン
トデータの生成処理動作フローチャートを示す。図のス
テップS1は、図1に示したアウトラインフォントデー
タ1の全ての文字別情報12について処理が終了したか
どうかを判断する部分である。これによって、1文字ず
つ全ての文字について、ドット数情報7の生成が行われ
る。ステップS2は、文字別情報12中の1文字分のデ
ータを選択する処理である。ステップS3は、展開ドッ
ト数Dを初期値10に設定する処理である。10ドット
以下の文字は存在しないという仮定で、このような初期
値を設定する。
トデータの生成処理動作フローチャートを示す。図のス
テップS1は、図1に示したアウトラインフォントデー
タ1の全ての文字別情報12について処理が終了したか
どうかを判断する部分である。これによって、1文字ず
つ全ての文字について、ドット数情報7の生成が行われ
る。ステップS2は、文字別情報12中の1文字分のデ
ータを選択する処理である。ステップS3は、展開ドッ
ト数Dを初期値10に設定する処理である。10ドット
以下の文字は存在しないという仮定で、このような初期
値を設定する。
【0029】次に、ステップS4で、既に図2を用いて
説明したような要領でエッジデータの生成処理を行う。
次にステップS5で、エッジデータサイズを計算する。
ステップS6で、図2(d)に示した塗り潰し処理を行
い、ステップS7で、ビットマップデータサイズを求め
る。
説明したような要領でエッジデータの生成処理を行う。
次にステップS5で、エッジデータサイズを計算する。
ステップS6で、図2(d)に示した塗り潰し処理を行
い、ステップS7で、ビットマップデータサイズを求め
る。
【0030】そして、ステップS8では、エッジデータ
サイズとビットマップデータサイズの比較をする。も
し、エッジデータサイズがビットマップデータサイズよ
りも大きい場合には、ステップS8からステップS10
に進み、Dに“2”を加算する。Dは偶数の値しかとら
ないという前提でDを“2”ずつ増加させながら最も小
さい文字から順番に文字を大きくし、エッジデータサイ
ズとビットマップデータサイズとを比較する。
サイズとビットマップデータサイズの比較をする。も
し、エッジデータサイズがビットマップデータサイズよ
りも大きい場合には、ステップS8からステップS10
に進み、Dに“2”を加算する。Dは偶数の値しかとら
ないという前提でDを“2”ずつ増加させながら最も小
さい文字から順番に文字を大きくし、エッジデータサイ
ズとビットマップデータサイズとを比較する。
【0031】最初はエッジデータサイズの方が大きいは
ずであるが、ある大きさの文字になると、両者がほぼ一
致するかあるいはビットマップデータサイズの方が大き
くなる。それまでは、図のステップS4からステップS
8の処理を繰り返し、ステップS8で、両者がほぼ一致
するかあるいはビットマップデータサイズの方が大きく
なったと判断した場合にはステップS9に進む。
ずであるが、ある大きさの文字になると、両者がほぼ一
致するかあるいはビットマップデータサイズの方が大き
くなる。それまでは、図のステップS4からステップS
8の処理を繰り返し、ステップS8で、両者がほぼ一致
するかあるいはビットマップデータサイズの方が大きく
なったと判断した場合にはステップS9に進む。
【0032】ステップS9では、図1に示すアウトライ
ンフォントデータ1の文字別情報に、この図7の処理の
結果得られたドット数情報7を含める。その値はDであ
る。こうして1文字分の処理を終了する。このような処
理を全ての文字について実行すれば、アウトラインフォ
ントデータを構成する全ての文字のデータにドット数情
報7を含めることができる。
ンフォントデータ1の文字別情報に、この図7の処理の
結果得られたドット数情報7を含める。その値はDであ
る。こうして1文字分の処理を終了する。このような処
理を全ての文字について実行すれば、アウトラインフォ
ントデータを構成する全ての文字のデータにドット数情
報7を含めることができる。
【0033】図8は、このようなアウトラインフォント
データを利用して、実際に印刷等の処理を行うための、
アウトラインフォント展開処理部のブロック図である。
これは、例えばプリンタを制御するプリンタドライバの
一部によって構成してもよいしあるいはプリンタ側の印
刷データ生成回路中に設けてもよい。ソフトウェアで形
成する場合には、各ブロックはそれぞれ該当する機能を
持つオブジェクト等から構成され、ブロック間のパラメ
ータ送受信によって処理が実行される。そして、これら
はコンピュータの読み取り可能な記録媒体中に記憶され
る。図1に示したアウトラインフォントデータ1も同様
に記憶される。
データを利用して、実際に印刷等の処理を行うための、
アウトラインフォント展開処理部のブロック図である。
これは、例えばプリンタを制御するプリンタドライバの
一部によって構成してもよいしあるいはプリンタ側の印
刷データ生成回路中に設けてもよい。ソフトウェアで形
成する場合には、各ブロックはそれぞれ該当する機能を
持つオブジェクト等から構成され、ブロック間のパラメ
ータ送受信によって処理が実行される。そして、これら
はコンピュータの読み取り可能な記録媒体中に記憶され
る。図1に示したアウトラインフォントデータ1も同様
に記憶される。
【0034】図のアウトラインフォント展開処理部は、
キャッシュ判定部2、エッジデータ生成部3、塗り潰し
部4、データ出力部5、キャッシュデータ判別部8、キ
ャッシュメモリ9及びキャッシュ種類判定部10により
構成される。
キャッシュ判定部2、エッジデータ生成部3、塗り潰し
部4、データ出力部5、キャッシュデータ判別部8、キ
ャッシュメモリ9及びキャッシュ種類判定部10により
構成される。
【0035】キャッシュ判定部2は、アウトラインフォ
ントデータ1を受け入れて、キャッシュ処理をするべき
か否かを判定する部分である。キャッシュメモリ9に既
にキャッシュされているデータかどうかを調べて、キャ
ッシュされていなければ、アウトラインフォントデータ
1をエッジデータ生成部3に向け出力する機能を持つ。
更に、キャッシュデータ判別部8の動作を制御する機能
も持つ。なお、キャッシュされている場合には、データ
出力部5にその旨が通知され、キャッシュデータが利用
される。
ントデータ1を受け入れて、キャッシュ処理をするべき
か否かを判定する部分である。キャッシュメモリ9に既
にキャッシュされているデータかどうかを調べて、キャ
ッシュされていなければ、アウトラインフォントデータ
1をエッジデータ生成部3に向け出力する機能を持つ。
更に、キャッシュデータ判別部8の動作を制御する機能
も持つ。なお、キャッシュされている場合には、データ
出力部5にその旨が通知され、キャッシュデータが利用
される。
【0036】エッジデータ生成部3は、キャッシュ判定
部2からアウトラインフォントデータ1を受け入れてエ
ッジデータを生成する部分である。生成されたエッジデ
ータは、塗り潰し部4に転送される。また、そのエッジ
データは、キャッシュデータ判別部8にも出力される。
塗り潰し部4は、エッジデータ生成部3から受け入れた
エッジデータの塗り潰し処理を行う部分である。
部2からアウトラインフォントデータ1を受け入れてエ
ッジデータを生成する部分である。生成されたエッジデ
ータは、塗り潰し部4に転送される。また、そのエッジ
データは、キャッシュデータ判別部8にも出力される。
塗り潰し部4は、エッジデータ生成部3から受け入れた
エッジデータの塗り潰し処理を行う部分である。
【0037】塗り潰し部4によって生成されたビットマ
ップデータはデータ出力部5及びキャッシュデータ判別
部8に向けて出力される。データ出力部5は、塗り潰し
部4によって生成されたビットマップデータ6をプリン
タエンジン等に転送する処理を行う部分である。キャッ
シュデータ判別部8は、キャッシュ判定部2によってア
ウトラインフォントデータ1から抽出されたドット数情
報7を受け入れて、このドット数情報7の内容に従っ
て、ビットマップデータとエッジデータのうちデータサ
イズが小さいものを選択し、キャッシュメモリ9に格納
する処理を行う部分である。
ップデータはデータ出力部5及びキャッシュデータ判別
部8に向けて出力される。データ出力部5は、塗り潰し
部4によって生成されたビットマップデータ6をプリン
タエンジン等に転送する処理を行う部分である。キャッ
シュデータ判別部8は、キャッシュ判定部2によってア
ウトラインフォントデータ1から抽出されたドット数情
報7を受け入れて、このドット数情報7の内容に従っ
て、ビットマップデータとエッジデータのうちデータサ
イズが小さいものを選択し、キャッシュメモリ9に格納
する処理を行う部分である。
【0038】ここでは、ドット数情報7が存在するた
め、エッジデータとビットマップデータのサイズ比較は
不要で、現在処理している文字の大きさをドット数で表
した情報とドット数情報7とを比較し、エッジデータと
ビットマップデータのどちらが大きいかを判定して、そ
の一方をキャッシュメモリ9に格納する制御を行う。
め、エッジデータとビットマップデータのサイズ比較は
不要で、現在処理している文字の大きさをドット数で表
した情報とドット数情報7とを比較し、エッジデータと
ビットマップデータのどちらが大きいかを判定して、そ
の一方をキャッシュメモリ9に格納する制御を行う。
【0039】なお、ドット数情報7は、必ずしも文字の
ドット数を直接表現するものでなくてもよい。例えば文
字のポイント数を表現するようなデータであってもよ
い。キャッシュ種類判定部10は、キャッシュヒットの
場合に、キャッシュメモリ9から該当するキャッシュデ
ータを読み出し、ビットマップデータかエッジデータか
の判定を行う機能を持つ。
ドット数を直接表現するものでなくてもよい。例えば文
字のポイント数を表現するようなデータであってもよ
い。キャッシュ種類判定部10は、キャッシュヒットの
場合に、キャッシュメモリ9から該当するキャッシュデ
ータを読み出し、ビットマップデータかエッジデータか
の判定を行う機能を持つ。
【0040】この判定の結果、エッジデータと判断され
ると、そのデータを塗り潰し部4に向けて出力し、ビッ
トマップデータへの展開をさせた上でデータ出力部5を
通じて外部に出力する。また、ビットマップデータと判
断されると、データ出力部5を通じてそのデータを外部
に出力する。
ると、そのデータを塗り潰し部4に向けて出力し、ビッ
トマップデータへの展開をさせた上でデータ出力部5を
通じて外部に出力する。また、ビットマップデータと判
断されると、データ出力部5を通じてそのデータを外部
に出力する。
【0041】図9には、上記のような展開処理部の具体
的な動作フローチャートを示す。まず、ステップS1に
おいて、展開処理部はアウトラインフォントデータ1を
入力する。次に、ステップS2において、キャッシュ判
定部2は、そのアウトラインフォントがキャッシュされ
ているかどうかの判断を行う。
的な動作フローチャートを示す。まず、ステップS1に
おいて、展開処理部はアウトラインフォントデータ1を
入力する。次に、ステップS2において、キャッシュ判
定部2は、そのアウトラインフォントがキャッシュされ
ているかどうかの判断を行う。
【0042】キャッシュされていればステップS3に進
み、キャッシュ種類判定部10がキャッシュメモリ9か
らそのデータを読み出す。そして、ステップS4におい
て、エッジデータかどうかを判断し、エッジデータなら
ばステップS5に進み、塗り潰し部4において、エッジ
データの塗り潰し処理を行って、ビットマップデータを
作成する。こうしてステップS12において、データ出
力部5を通じてビットマップデータの出力が行われる。
み、キャッシュ種類判定部10がキャッシュメモリ9か
らそのデータを読み出す。そして、ステップS4におい
て、エッジデータかどうかを判断し、エッジデータなら
ばステップS5に進み、塗り潰し部4において、エッジ
データの塗り潰し処理を行って、ビットマップデータを
作成する。こうしてステップS12において、データ出
力部5を通じてビットマップデータの出力が行われる。
【0043】一方、ステップS2において、キャッシュ
されていないと判断されると、ステップS3に進み、エ
ッジデータの生成が行われる。同時に、ステップS4に
おいて、キャッシュ判定部2がアウトラインフォントデ
ータ1からドット数情報7を抽出し、キャッシュデータ
判別部8がそのドット数情報7を参照する。ステップS
5において、エッジデータがビットマップデータより小
さいかどうかを判断し、小さい場合にはステップS6に
進み、エッジデータをキャッシュメモリ9へ書き込む。
そして、ステップS7において、エッジデータを書き込
んだ旨を示すエッジデータフラグをそのデータに付加す
る。
されていないと判断されると、ステップS3に進み、エ
ッジデータの生成が行われる。同時に、ステップS4に
おいて、キャッシュ判定部2がアウトラインフォントデ
ータ1からドット数情報7を抽出し、キャッシュデータ
判別部8がそのドット数情報7を参照する。ステップS
5において、エッジデータがビットマップデータより小
さいかどうかを判断し、小さい場合にはステップS6に
進み、エッジデータをキャッシュメモリ9へ書き込む。
そして、ステップS7において、エッジデータを書き込
んだ旨を示すエッジデータフラグをそのデータに付加す
る。
【0044】次に、ステップS8で、塗り潰し部4がエ
ッジデータの塗り潰しを行い、ビットマップデータを作
成する。そして、ステップS9で、ドット数情報を参照
し、ビットマップデータがエッジデータより小さいかど
うかを判断する。ビットマップデータの方が小さければ
ステップS10に進み、ビットマップデータをキャッシ
ュメモリ9に書き込む。そして、ステップS11におい
て、ビットマップデータフラグを付加する。ビットマッ
プデータフラグにより、キャッシュされたデータがビッ
トマップデータかエッジデータかを区別する。こうし
て、キャッシュメモリ9へのデータ記憶が終了すると、
ステップS12において、データ出力部5からビットマ
ップデータが出力される。
ッジデータの塗り潰しを行い、ビットマップデータを作
成する。そして、ステップS9で、ドット数情報を参照
し、ビットマップデータがエッジデータより小さいかど
うかを判断する。ビットマップデータの方が小さければ
ステップS10に進み、ビットマップデータをキャッシ
ュメモリ9に書き込む。そして、ステップS11におい
て、ビットマップデータフラグを付加する。ビットマッ
プデータフラグにより、キャッシュされたデータがビッ
トマップデータかエッジデータかを区別する。こうし
て、キャッシュメモリ9へのデータ記憶が終了すると、
ステップS12において、データ出力部5からビットマ
ップデータが出力される。
【0045】本発明は以上の実施例に限定されない。上
記の例では、ドット数情報7をビットマップデータとエ
ッジデータのサイズが一致した文字のドット数で表現し
たが、ビットマップデータとエッジデータのデータサイ
ズが最も近いドット数を示す情報を記憶すればよい。そ
の情報の内容はドット数を直接表すものでなくてよい点
は既に説明した通りである。
記の例では、ドット数情報7をビットマップデータとエ
ッジデータのサイズが一致した文字のドット数で表現し
たが、ビットマップデータとエッジデータのデータサイ
ズが最も近いドット数を示す情報を記憶すればよい。そ
の情報の内容はドット数を直接表すものでなくてよい点
は既に説明した通りである。
【0046】更に、上記圧縮データは、エッジデータに
限らずビットマップデータを圧縮する様々な形式のデー
タに置き換えてもよい。また、メモリは必ずしもキャッ
シュメモリでなく、展開されたデータを保存しておく各
種のメモリであってよい。フォントデータ生成処理にお
いても、上記のフローチャートに限定されることなく、
計算、その他の各種の方法によって、ビットマップ形式
にした場合のデータサイズと、データ形式にした場合の
データサイズが最も近いドット数を示す情報を生成する
ようにすればよい。
限らずビットマップデータを圧縮する様々な形式のデー
タに置き換えてもよい。また、メモリは必ずしもキャッ
シュメモリでなく、展開されたデータを保存しておく各
種のメモリであってよい。フォントデータ生成処理にお
いても、上記のフローチャートに限定されることなく、
計算、その他の各種の方法によって、ビットマップ形式
にした場合のデータサイズと、データ形式にした場合の
データサイズが最も近いドット数を示す情報を生成する
ようにすればよい。
【0047】
【発明の効果】以上のように、本発明によれば、フォン
トデータ中にビットマップ形式にした場合のデータサイ
ズと圧縮データ形式にした場合のデータサイズが最も近
いドット数を示す情報を含めておくので、具体的にエッ
ジデータの生成とビットマップデータの生成が完全に終
了する前に両者のデータサイズの大小関係が把握でき、
キャッシュメモリへの格納処理を速やかに行うことがで
きる。しかも、これによって、キャッシュメモリの効率
的な利用が可能になり、キャッシュメモリへの格納文字
数も増加するから、印刷速度の向上を図ることもでき
る。
トデータ中にビットマップ形式にした場合のデータサイ
ズと圧縮データ形式にした場合のデータサイズが最も近
いドット数を示す情報を含めておくので、具体的にエッ
ジデータの生成とビットマップデータの生成が完全に終
了する前に両者のデータサイズの大小関係が把握でき、
キャッシュメモリへの格納処理を速やかに行うことがで
きる。しかも、これによって、キャッシュメモリの効率
的な利用が可能になり、キャッシュメモリへの格納文字
数も増加するから、印刷速度の向上を図ることもでき
る。
【図1】本発明によるアウトラインフォントデータの説
明図である。
明図である。
【図2】アウトラインフォントの塗り潰し処理説明図で
ある。
ある。
【図3】ビットマップデータとエッジデータの説明図で
ある。
ある。
【図4】ビットマップデータとエッジデータサイズ比較
説明図である。
説明図である。
【図5】ビットマップデータとエッジデータの例説明図
である。
である。
【図6】文字毎のエッジデータサイズ比較説明図であ
る。
る。
【図7】データ生成処理動作フローチャートである。
【図8】アウトラインフォント展開処理部のブロック図
である。
である。
【図9】展開処理動作フローチャートである。
1 アウトラインフォントデータ 7 ドット数情報 11 共通情報 12 文字別情報 13 座標点情報 14 ヒント情報
Claims (3)
- 【請求項1】 アウトラインフォントデータをそれぞれ
異なるドット数のものに展開した場合に、それぞれビッ
トマップ形式にした場合と圧縮データ形式にした場合と
のデータサイズを比較して、ビットマップ形式にした場
合のデータサイズと圧縮データ形式にした場合のデータ
サイズが最も近いドット数を求め、そのドット数を示す
情報をアウトラインフォントデータ中に含めておき、 前記データサイズが最も近いドット数を示す情報を参照
して、 前記アウトラインフォントデータを、前記データサイズ
が最も近いドット数より大きいドット数に展開したとき
は、前記圧縮データ形式でメモリに格納し、 前記アウトラインフォントデータを、前記データサイズ
が最も近いドット数より小さいドット数に展開したとき
は、前記ビットマップデータ形式でメモリに格納するよ
うに制御することを特徴とするアウトラインフォントデ
ータ処理方法。 - 【請求項2】 請求項1に記載のアウトラインフォント
データ処理方法において、 前記メモリはプリンタの印刷データ処理用キャッシュメ
モリであることを特徴とするアウトラインフォントデー
タ処理方法。 - 【請求項3】 アウトラインフォントデータをそれぞれ
異なるドット数のものに展開した場合に、それぞれビッ
トマップ形式にした場合と圧縮データ形式にした場合と
のデータサイズを比較して、ビットマップ形式にした場
合のデータサイズと圧縮データ形式にした場合のデータ
サイズが最も近いドット数を示す情報を含む、 コンピュータ読み取り可能なアウトラインフォントデー
タを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11095629A JP2000280544A (ja) | 1999-04-02 | 1999-04-02 | アウトラインフォントデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11095629A JP2000280544A (ja) | 1999-04-02 | 1999-04-02 | アウトラインフォントデータ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000280544A true JP2000280544A (ja) | 2000-10-10 |
Family
ID=14142826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11095629A Pending JP2000280544A (ja) | 1999-04-02 | 1999-04-02 | アウトラインフォントデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000280544A (ja) |
-
1999
- 1999-04-02 JP JP11095629A patent/JP2000280544A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5850504A (en) | Method and apparatus for saving printer memory | |
EP0933723B1 (en) | Printing apparatus | |
JP2009071626A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、並びに、記録媒体 | |
JP2610993B2 (ja) | 情報処理装置及び方法 | |
JPH09261457A (ja) | 印刷制御装置並びに印刷制御装置のデータ処理方法およびコンピュータで読み出し可能なプログラムを格納した記憶媒体 | |
JPH0916149A (ja) | 文字処理装置、文字処理方法、及び、メモリ | |
JPH06344601A (ja) | 出力装置および出力方法 | |
JPH0918732A (ja) | 情報処理装置及びその方法 | |
JP3685234B2 (ja) | 画像処理装置 | |
JP3085175B2 (ja) | 描画装置 | |
JP2000280544A (ja) | アウトラインフォントデータ処理方法 | |
JP2887928B2 (ja) | イメージデータ出力装置 | |
JP2003051929A (ja) | 画像処理方法及び装置 | |
JP3450961B2 (ja) | 印刷装置及びその制御方法 | |
JP2580965B2 (ja) | プリンタ装置 | |
JP3636891B2 (ja) | カラー画像出力方法 | |
JP2005038084A (ja) | 描画データの変換方法及び変換装置 | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JPH10329363A (ja) | 画像形成装置、方法及びプリンタ | |
JP3539203B2 (ja) | ビットマップデータの縮小方法、情報処理装置および情報記録媒体 | |
JP2737880B2 (ja) | 文字処理装置および方法 | |
JPH049338B2 (ja) | ||
JPH06175637A (ja) | 文字の生成方法 | |
JP2000118056A (ja) | 印刷システム | |
JP2942117B2 (ja) | 出力装置 |