(57)【特許請求の範囲】
【請求項１】
出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置であって、
前記要求フォントと同一文字からなる展開画像データを生成するフォント生成部と、
基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ部と、
前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する行列式生成部と、
前記要求フォントに対し前記基本フォントの展開画像データを前記変形行列式によって変形する変形部と、
前記フォント生成部による展開画像データの生成処理速度と前記変形部による展開画像データの変形処理速度とを比較する比較部と、
該比較結果に応じて処理速度が速い前記展開画像データの生成又は変形を指定する生成指定部と、
前記指定された生成又は変形による展開画像データを出力する出力部と、
を備えたことを特徴とする画像出力装置。
【請求項２】
請求項１記載の画像出力装置であって、
前記キャッシュ部から展開画像データを読み出して前記変形部に出力する読出部を備え、
前記行列式生成部は、前記要求フォント情報を素数分解して前記基本フォントに対応する基本情報及び前記変形量を表す変形情報に分離すると共に該変形情報を前記変形行列式に変換し、
前記読出部は、前記基本情報から前記基本フォントの展開画像データを検索して読み出す、
ことを特徴とする画像出力装置。
【請求項３】
請求項２記載の画像出力装置であって、
前記フォント生成部による生成処理速度のテーブル情報を要求フォント情報別に記憶すると共に前記変形部による変形処理速度のテーブル情報を変形情報別に記憶する速度記憶部を備え、
前記生成指定部は、前記生成処理速度及び変形処理速度を前記テーブル情報から抽出して比較する、
ことを特徴とする画像出力装置。
【請求項４】
請求項２又は３記載の画像出力装置であって、
前記行列式生成部は、前記基本フォントに対する変形情報の変形制限を設定し、該変形制限の範囲内で前記基本情報及び変形情報の分離を行う、
ことを特徴とする画像出力装置。
【請求項５】
請求項２〜４の何れかに記載の画像出力装置であって、
前記行列式生成部は、前記生成指定部による展開画像データの生成指定に応じて単位行列式を設定し、
前記フォント生成部は、前記生成した展開画像データを前記キャッシュ部に格納し、
前記読出部は、前記要求フォント情報から前記生成された展開画像データを検索して読み出し、
前記変形部は、前記読み出された展開画像データに前記単位行列式を適用する、
ことを特徴とする画像出力装置。
【請求項６】
出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力プログラムであって、
前記要求フォントと同一文字からなる展開画像データを生成するフォント生成手順と、
同種文字について基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ手順と、
前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する行列式生成手順と、
前記要求フォントに対し前記基本フォントの展開画像データを前記変形行列式によって変形する変形手順と、
前記フォント生成手順による展開画像データの生成処理速度と前記変形手順による展開画像データの変形処理速度とを比較する比較手順と、
該比較結果に応じて処理速度が速い前記展開画像データの生成又は変形を指定する生成指定手順と、
前記指定された生成又は変形による展開画像データを出力する出力手順とをコンピューターに実行させる、
ことを特徴とする画像出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置及び画像出力プログラムに関するものである。
【背景技術】
【０００２】
プリンターや複合機等の画像形成装置では、従来よりフォントキャッシュが用いられている。
【０００３】
フォントキャッシュとしては、予めフォントをドット形式の画像データに展開し、この展開画像データをフォントキャッシュメモリーに格納しておく。そして、同一フォントの出力要求がなされた場合には、フォントキャッシュメモリーからフォントキャッシュを読み出すことで処理の迅速化を図ることができる。
【０００４】
このようなフォントキャッシュは、同一文字種且つ同一書体の同種文字に対しても、大きさや回転角毎に複数種類が格納され、且つそれぞれが別のフォントとして取り扱われる。結果として、フォントキャッシュ数が増加してメモリー領域の圧迫や読み出し時の検索速度の低下を招くことになる。
【０００５】
このため、フォントキャッシュを順に削除するＦＩＦＯ方式やＬＲＵ方式等が一般に採用されている。
【０００６】
しかしながら、これらの方式でも、フォントキャッシュ本来の目的を達成する必要性からフォントキャッシュの格納数自体は依然として多く、メモリー領域の圧迫や読み出し時の検索速度の低下を抑制するには限界があった。
【０００７】
これに対し、従来技術としては、未登録フォントに対する処理負担を軽減してフォントキャッシュによる処理の迅速化を図るものがある。
【０００８】
このような従来技術には、例えば、出力要求された要求フォントに類似するフォントキャッシュを読み出し、読み出したフォントキャッシュを拡大、縮小して要求フォントに近似させるものがある（特許文献１参照）。
【０００９】
しかしながら、この技術でも、大きさや回転角度等が相違する多くの類似フォントキャッシュが必要となり、メモリー領域の圧迫や読み出し時の検索速度の低下を抑制するには限界があった。
【００１０】
別の従来技術としては、例えば、基本サイズのフォントキャッシュとして所定サイズのフォントとその整数倍のフォントを組として格納しておき、フォントキャッシュを整数倍に拡大して要求フォントに近似させるものがある（特許文献２参照）。
【００１１】
しかし、この従来技術では、フォントキャッシュ数を減少させることはできるものの、基本サイズの整数倍以外である任意倍率への拡大、縮小や回転等には適応できず、出力可能なフォント数が減少していた。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平６−１８３０７４号公報
【特許文献２】特開平６−２７４１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
解決しようとする問題点は、展開画像データの格納数を減少させると出力可能なフォント数が減少する点である。
【課題を解決するための手段】
【００１４】
本発明は、展開画像データの格納数を減少させながら出力可能なフォント数の減少を抑制するため、出力要求された要求フォントをドット形式の画像データに展開して出力する画像出力装置であって、前記要求フォントと同一文字からなる展開画像データを生成するフォント生成部と、基本ポイントサイズを有する基本フォントの展開画像データを格納するキャッシュ部と、前記基本フォントに対する前記要求フォントの変形量を表す変形行列式を生成する行列式生成部と、前記要求フォントに対し前記基本フォントの展開画像データを前記変形行列式によって変形する変形部と、前記フォント生成部による展開画像データの生成処理速度と前記変形部による展開画像データの変形処理速度とを比較する比較部と、該比較結果に応じて処理速度が速い前記展開画像データの生成又は変形を指定する生成指定部と、前記指定された生成又は変形による展開画像データを出力する出力部とを備えたことを最も主な特徴とする。
【発明の効果】
【００１５】
本発明では、基本ポイントサイズを有する基本フォントの展開画像データを格納するので、展開画像データの格納数を大幅に減少させることができ、変形行列式により基本フォントの展開画像データを変形して要求フォントを出力するので、出力可能なフォント数の減少を抑制することができる。
【００１６】
しかも、本発明では、要求フォントと同一文字からなる展開画像データの生成も可能であり、この同一文字からなる展開画像データの生成と変形行列式による基本フォントの展開画像データの変形とから処理速度が速い方を行わせることができ、処理速度の低下を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】画像出力装置を示すブロック図である（実施例１）。
【図２】（ａ）及び（ｂ）はフォントキャッシュの生成処理速度及び変形処理速度のテーブル情報を示す図表である（実施例１）。
【図３】図１の画像出力装置による画像出力処理の概略を示す説明図である（実施例１）。
【図４】図１の画像出力装置による画像出力処理の詳細を示すフローチャートである（実施例１）。
【発明を実施するための形態】
【００１８】
展開画像データの格納数を減少させながら出力可能なフォント数の減少を抑制するという目的を、処理速度の低下を抑制しながら実現した。
【実施例１】
【００１９】
［画像出力装置の構成］
図１は、本発明の実施例１に係る画像出力装置のブロック図である。
【００２０】
画像出力装置１は、出力要求された要求フォントを、ドット形式の画像データであるビットマップデータに展開して出力するものである。この画像処理装置１は、図１のように、コンピューター３と、記憶部５とを備えている。
【００２１】
コンピューター３は、ＣＰＵ及びＲＡＭを備え、記憶部５に格納されたソフトウェアプログラムを実行して画像出力装置１の動作を制御する。
【００２２】
記憶部５は、一次記憶装置及び二次記憶装置を備えている。一次記憶装置は、例えば半導体記憶装置等からなり、二次記憶装置は、例えば磁気ディスク装置等からなっている。この記憶部５内には、  各種のソフトウェアプログラムやデータ等の他、画像出力プログラムが記憶されている。
【００２３】
この画像出力装置１は、画像出力プログラムをコンピューター３によって実行することで、キャッシュ部７と、行列式生成部９と、生成指定部１０と、読出部１１と、出力部１３とが構成される。
【００２４】
キャッシュ部７は、フォントキャッシュメモリー１５、キャッシュ管理部１７及びフォント生成部としてのフォント展開部１９を備えている。
【００２５】
フォントキャッシュメモリー１５は、例えばコンピューター３のＲＡＭ内に構成されている。このフォントキャッシュメモリー１５は、フォントキャッシュとしてフォントのビットマップデータ（展開画像データ）を格納するものである。
【００２６】
本実施例では、同一文字種且つ同一書体の同種文字について、基本ポイントサイズの基本フォントのビットマップデータが格納される。加えて、後述するフォント生成要求により、要求フォントと同一文字（以下、「同一フォント」と称する）からなるビットマップデータも格納する。
【００２７】
基本フォントは、文字種、書体、基本ポイントサイズを基本情報として備えている。基本ポイントサイズは、任意であり、例えば１０ポイント等が設定される。ただし、基本ポイントサイズは、利便性や効率性等を考慮して最も使用頻度が高いポイントサイズを設定することができる。また、基本ポイントサイズは、最小１サイズであり、メモリー容量に応じて複数サイズを設定することも可能である。
【００２８】
キャッシュ管理部１７は、フォントキャッシュの管理を行う。キャッシュ管理部１７は、後述するキャッシュ要求（格納要求）に応じて、フォント展開部１９にビットマップ展開処理を行わせる。また、キャッシュ管理部１７は、展開されたビットマップデータをフォントキャッシュメモリー１５に格納する。なお、キャッシュ管理部１７は、フォントキャッシュを格納時刻順に削除するＦＩＦＯ方式又は使用時刻順に削除してゆくＬＲＵ方式等を採用してメモリー領域の有効利用を図るようにしてもよい。
【００２９】
フォント展開部１９は、キャッシュ要求に応じた基本フォント又は同一フォントのアウトラインデータを読み出し、ビットマップデータに展開する。従って、フォント展開部１９は、要求フォントと同一文字からなる同一フォントのビットマップデータを生成可能となっている。なお、アウトラインデータは、記憶部５内に構成されたアウトラインデータ格納部２１に記憶されている。
【００３０】
行列式生成部９は、出力要求された要求フォント情報が入力されるようになっている。行列式生成部９は、基本フォントに関する共用条件に応じて、要求フォントを基本ポイントサイズまで素数分解する。この素数分解により、要求フォント情報は、基本フォントの基本情報及び基本フォントに対する変形量を表す変形情報に分離される。なお、変形情報は、例えば拡大、縮小、回転角、平行移動量等である。
【００３１】
変形情報の分離では、その共用条件の上限をユーザーインターフェース等によって任意に設定することができる。この場合は、設定された上限内で変形情報の分離処理が行われる。分離された変形情報は、要求フォント情報と共に生成指定部１０に転送される。
【００３２】
また、行列式生成部９は、後述するフォント変形要求に応じて変形情報を変形行列式に変換する。すなわち、行列式生成部９は、基本フォントに対する要求フォントの変形量を表す変形行列式を生成する。変形行列式は、基本情報と共に読出部１１に転送される。さらに、行列式生成部９は、フォント生成要求に応じて、単位行列式を設定して要求フォント情報と共に読出部１１に転送する。
【００３３】
生成指定部１０は、要求フォント情報及び変形情報から、フォント展開部１９による同一フォントのフォントキャッシュの生成処理速度と後述する出力部１３による基本フォントのフォントキャッシュの変形処理速度とを比較する。従って、生成指定部１０は、比較部としても機能する。ただし、生成指定部１０とは別に、比較部を設ける構成としても良い。
【００３４】
処理速度の比較の際には、記憶部５内の速度記憶部２２に記憶されているテーブル情報から生成処理速度及び変形処理速度の抽出が行われる。
【００３５】
生成処理速度のテーブル情報には、例えば図２のように、欧文、仮名・カタカナ、第１水準、第２水準等の文字種別（要求フォント情報別）に、それぞれ１秒間に生成可能な文字数が生成処理速度として設定されている。
【００３６】
変形処理速度のテーブル情報には、例えば０度、９０度、１８０度、２７０度等の回転角且つ〜２倍、〜４倍、〜８倍等の拡大率別（変形情報別）に、それぞれ１秒間に変形可能な文字数が変形処理速度として設定されている。
【００３７】
なお、図２のテーブル情報は、要求フォント情報別の生成処理速度及び変形情報別の変形処理速度の一例を示したものである。従って、テーブル情報としては、要求フォント情報や変形情報を更に細分化したり、変形情報別として回転角及び拡大率だけでなく縮小率や平行移動量別等とすることができる。
【００３８】
この生成指定部１０は、抽出された生成処理速度及び変形処理速度の比較結果に応じて、同一フォントのフォントキャッシュの生成及び基本フォントのフォントキャッシュの変形から処理速度が速いものを指定する。この指定は、行列式生成部９に対してフォント生成要求又はフォント変形要求を出力することで行われる。
【００３９】
読出部１１は、変形行列式及び基本情報が入力されると、基本情報に基づいてフォントキャッシュメモリー１５内の対応する基本フォントのフォントキャッシュを検索する。対応する基本フォントのフォントキャッシュが存在する場合は、そのフォントキャッシュを読み出して変形行列式と共に出力部１３に転送する。一方、存在しない場合は、読出部１１がキャッシュ管理部１７に対して基本フォントのキャッシュ要求を出力する。
【００４０】
同様に、読出部１１は、単位行列式及び要求フォント情報の入力されると、要求フォント情報に基づいてフォントキャッシュメモリー１５内の対応する同一フォントのフォントキャッシュを検索して読み出し、単位行列式と共に出力部１３に転送する。同一フォントのフォントキャッシュが存在しない場合は、読出部１１がキャッシュ管理部１７に対して同一フォントのキャッシュ要求を出力する。
【００４１】
出力部１３は、変形行列式又は単位行列式を適用して、フォントキャッシュを記憶部５内のバンドバッファー２３に出力する。従って、出力部１３は、生成指定部１０によって指定された生成又は変形によるフォントキャッシュを出力する。
【００４２】
具体的には、出力部１３が、入力されたフォントキャッシュと変形行列式又は単位行列式とから、描画プリミティブである２値のビットマップデータのビットブリッド用ディスプレイリストを作成する。そして、出力部１３は、作成したディスプレイリストを参照しながら要求フォントをバンド単位でバンドバッファー２３に描画（出力）する。
【００４３】
変形行列式を適用する場合は、入力されたフォントキャッシュである基本フォントのフォントキャッシュが、記憶部５内のバンドバッファー２３に変形して出力される。
【００４４】
一方、単位行列式を適用する場合は、入力されたフォントキャッシュである同一フォントのフォントキャッシュが、変形することなく記憶部５内のバンドバッファー２３に出力される。
［画像出力処理］
本実施例の画像出力装置による画像出力処理では、フォント変形処理に基づく画像出力処理とフォント生成処理に基づく画像出力処理とを選択的に行う。まず、フォント変形処理に基づく画像出力処理の概略について図３を参照して説明する。
【００４５】
図３は、図１の画像出力装置によるフォント変形処理に基づく画像出力処理の概略を示す説明図である。なお、図３では、基本フォントのフォントキャッシュが、１０ポイントの文字「愛」である場合について説明する。
【００４６】
フォント変形処理に基づく画像出力処理としては、図３のように、出力要求された要求フォントを、基本フォントのフォントキャッシュを変形することで出力する。変形は、要求フォントと基本フォントとの差分に応じて行われる。
【００４７】
例えば、要求フォントが１０ポイントの「愛」である場合は、要求フォントと基本フォントとが差分のない同一であるため、基本フォントのフォントキャッシュがそのまま出力される。
【００４８】
要求フォントが１５ポイントの「愛」である場合は、差分がＸＹ方向への１．５倍であるため、基本フォントのフォントキャッシュをＸＹ方向へ１．５倍に拡大して出力する。
【００４９】
同様に、２０ポイント且つＸ方向に平行移動した「愛」を出力する場合は、基本フォントのフォントキャッシュをＸＹ方向へ２倍に拡大すると共にＸ方向の平行移動量を付加し、２０ポイント且つＸ方向に平行移動した下向き「愛」を出力する場合は、基本フォントのフォントキャッシュをＸＹ方向へ２倍に拡大すると共にＸ方向の平行移動量を付加して１８０度回転させる。
【００５０】
一方、フォント生成処理に基づく画像出力処理では、出力要求された要求フォントと同一フォントのフォントキャッシュを変形することなく出力する。
【００５１】
図４は、図１の画像出力装置による画像出力処理の詳細を示すフローチャートである。なお、図４では、基本フォントのフォントキャッシュがＣｏｕｒｉｅｒ５ポイントの文字「Ａ」である場合に、Ｃｏｕｒｉｅｒ２０ポイントの文字「Ａ」をＬａｎｄｓｃａｐｅで印字する例について説明する。なお、基本フォントに関する共用条件としては、基本ポイントサイズである５ポイント、変形用の共用条件としては、偶数倍の拡大、９０度単位の回転が設定されている。
【００５２】
画像出力処理は、図４のように、出力要求された要求フォント情報が行列式生成部９に入力されるとスタートする。本実施例では、要求フォント情報として「２０ポイントの文字「Ａ」をＬａｎｄｓｃａｐｅで印字」が入力される。スタートした画像出力処理は、ステップＳ１からの処理を実行する。
【００５３】
ステップＳ１では、生成手順及び比較手順の一部として要求フォントの分離処理を実行する。すなわち、行列式生成部９は、共用条件に応じて要求フォント情報を素数分解し、基本情報としての「Ｃｏｕｒｉｅｒ、５ポイント、文字「Ａ」」及び変形情報としての「ＸＹ拡大４倍、回転９０度」に分離する。分離された変形情報は、要求フォント情報と共に生成指定部１０に転送される。これによりステップＳ２に移行する。
【００５４】
ステップＳ２では、比較手順の一部として速度抽出処理が行われる。すなわち、生成指定部１０は、速度記憶部２２内のテーブル情報から要求フォント情報「２０ポイントの文字「Ａ」をＬａｎｄｓｃａｐｅで印字」の生成処理速度及び変形情報「ＸＹ拡大４倍、回転９０度」の変形処理速度の抽出を行う。これによりステップＳ３へ移行する。
【００５５】
ステップＳ３では、比較手順の一部として速度比較処理が行われる。すなわち、生成指定部１０は、抽出した生成処理速度である１秒間に生成可能な文字数と変形処理速度である１秒間に変形可能な文字数との大小を比較する。
【００５６】
比較の結果、変形処理速度の方が速い場合は、フォント変形要求が生成指定部１０から行列式生成部９に対して出力され、ステップＳ４へ移行する（ＹＥＳ）。移行後は、ステップＳ４及びＳ６〜Ｓ１０によるフォント変形処理に基づく画像出力処理が実行される。
【００５７】
一方、生成処理速度の方が速い場合は、フォント生成要求が生成指定部１０から行列式生成部９に対して出力され、ステップＳ５へ移行（ＮＯ）する。移行後は、ステップＳ５及びＳ６〜Ｓ１０のフォント生成処理に基づく画像出力処理が行われる。
【００５８】
まず、フォント変形処理に基づく画像出力処理について説明する。
【００５９】
ステップＳ４では、行列式生成手順として変形行列式の変換処理を実行する。すなわち、行列式生成部９は、フォント変形要求に応じて、分離された変形情報を３×３の変形行列式に変換する。変形行列式は、基本情報と共に読出部１１に転送される。これによりステップＳ６に移行する。
【００６０】
ステップＳ６では、変形手順の一部としてフォントキャッシュ検索処理を実行する。すなわち、読出部１１は、入力された要求フォントの基本情報に基づいて、対応する基本フォント「Ｃｏｕｒｉｅｒ、５ポイント、文字「Ａ」」のフォントキャッシュをフォントキャッシュメモリー１５から検索する。フォントキャッシュが存在しない場合は、ステップＳ７に移行し（ＹＥＳ）、存在する場合は、ステップＳ８に移行する（ＮＯ）。
【００６１】
ステップＳ７では、キャッシュ手順としてフォントキャッシュの格納処理を実行する。すなわち、読出部１１は、キャッシュ管理部１７に対して基本フォントのキャッシュ要求を出力する。このキャッシュ要求に応じ、キャッシュ管理部１７は、フォント展開部１９に対して要求フォントに対応する基本フォント「Ｃｏｕｒｉｅｒ、５ポイント、文字「Ａ」」のビットマップ展開を行わせる。
【００６２】
展開されたビットマップデータは、フォントキャッシュとしてフォントキャッシュメモリー１５内に格納される。これによりステップＳ７が完了してステップＳ８に移行する。
【００６３】
ステップＳ８では、変形手順の一部としてフォントキャッシュ読出処理を実行する。すなわち、読出部１１は、フォントキャッシュメモリー１５から検索された基本フォントのフォントキャッシュ又は新たに格納された基本フォントのフォントキャッシュを読み出す。読み出されたフォントキャッシュは、変形行列式と共に出力部１３に転送される。これによりステップＳ８が完了してステップＳ９に移行する。
【００６４】
なお、新たに格納された基本フォントのフォントキャッシュについては、フォント展開部１９で展開されたビットマップデータを、フォントキャッシュメモリー１５へ格納すると共に読出部１１へ転送してもよい。この場合は、読出部１１によるフォントキャッシュの読出処理が不要となる。
【００６５】
ステップＳ９では、変形手順及び出力手順の一部としてディスプレイリスト作成処理を実行する。すなわち、出力部１３は、入力された基本フォントのフォントキャッシュ及び変形行列式からビットブリッド用のディスプレイリストを作成する。これによりステップＳ１０へ移行する。
【００６６】
次いで、ステップＳ１０では、出力手順の一部として描画処理を実行する。すなわち、出力部１３は、ディスプレイリストを参照してバンドバッファー２３に要求フォントを描画（出力）する。本実施例では、基本フォント「Ｃｏｕｒｉｅｒ、５ポイント、文字「Ａ」」のフォントキャッシュを、差分である変形情報「ＸＹ拡大４倍、回転９０度」の変形行列式によってＸＹ方向に４倍すると共に９０度回転させて変形出力する。
【００６７】
次いで、ステップＳ３においてステップＳ５へ移行した場合のフォント生成処理に基づく画像出力処理について説明する。
【００６８】
ステップＳ５では、フォント生成手順の一部として単位行列式の設定処理を実行する。すなわち、行列式生成部９は、フォント生成要求に応じて３×３の単位行列式を設定して、要求フォント情報と共に読出部１１に転送する。これによりステップＳ６に移行し、上記フォント変形処理に基づく画像出力処理と同様の処理が実行される。
【００６９】
すなわち、ステップＳ６では、フォント生成手順の一部としてフォントキャッシュ検索処理を実行し、要求フォント情報に基づいて対応する同一フォント「Ｃｏｕｒｉｅｒ、２０ポイント、回転９０度、文字「Ａ」」のフォントキャッシュを検索する。フォントキャッシュが存在しない場合は、ステップＳ７に移行して、存在する場合は、ステップＳ８に移行する。
【００７０】
ステップＳ７では、フォント生成手順の一部としてフォントキャッシュの格納処理を実行する。すなわち、読出部１１は、同一フォントのキャッシュ要求を出力し、キャッシュ管理部１７は、要求フォントに対応する同一フォント「Ｃｏｕｒｉｅｒ、２０ポイント、回転９０度、文字「Ａ」」のビットマップ展開を行わせると共にフォントキャッシュメモリー１５内に格納する。
【００７１】
ステップＳ８では、フォント生成手順の一部としてフォントキャッシュ読出処理を実行し、読出部１１が検索された同一フォントのフォントキャッシュ又は新たに格納された同一フォントのフォントキャッシュを読み出して単位行列式と共に出力部１３に転送する。なお、新たに格納された同一フォントのフォントキャッシュについては、フォント展開部１９で展開されたビットマップデータを読出部１１へ転送することで、読出処理を不要とすることができる。
【００７２】
ステップＳ９では、出力手順の一部としてディスプレイリスト作成処理を実行し、出力部１３が入力された同一フォントのフォントキャッシュ及び単位行列式からビットブリッド用のディスプレイリストを作成する。
【００７３】
ステップＳ１０では、出力手順の一部として描画処理を実行し、出力部１３がディスプレイリストを参照してバンドバッファー２３に要求フォントを描画（出力）する。本実施例では、同一フォント「Ｃｏｕｒｉｅｒ、２０ポイント、回転９０度、文字「Ａ」」のフォントキャッシュを変形することなく出力する。
【００７４】
こうして、フォント変形処理又はフォント生成処理に基づく画像出力処理が行われると、出力側のディスプレイ等の画像表示装置或いは複合機やプリンター等の画像形成装置での描画が行われる。
【００７５】
なお、上記画像出力処理では、フォントキャッシュの共用条件を、例えばプリンターや複合機等の画像形成装置のハードウェア性能に応じて変更することが可能である。また、ハードウェア性能を数値化することで自動的に共用条件を決定することも可能である。
【００７６】
ハードウェア性能が低い場合は、共用条件の倍率を２倍等に制限すれば、処理速度の低下を抑制することができる。
【００７７】
また、イメージの拡大、縮小、回転等を専用のハードウェアで処理させれば、拡大、縮小が偶数倍という制限や回転が９０度単位の制限もより細かい制御が可能となる。
［実施例１の効果］
本実施例の画像出力装置１は、要求フォントと同一文字からなるフォントキャッシュを生成するフォント生成部としてのフォント展開部１９と、基本ポイントサイズを有する基本フォントのフォントキャッシュを格納するキャッシュ部７と、基本フォントに対する要求フォントの変形量を表す変形行列式を生成する行列式生成部９と、要求フォントに対して基本フォントのフォントキャッシュを変形行列式により変形する変形部としての出力部１３と、前記フォント展開部１９によるフォントキャッシュの生成処理速度と前記出力部１３によるフォントキャッシュの変形処理速度とを比較し、該比較結果に応じて処理速度が速いフォントキャッシュの生成又は変形を指定する生成指定部１０とを備え、出力部１３が指定された生成又は変形によるフォントキャッシュを出力する。
【００７８】
従って、画像出力装置１では、同種文字について基本ポイントサイズを有する基本フォントのフォントキャッシュを格納するので、フォントキャッシュ数を大幅に減少させることができる。このため、画像出力装置１では、メモリー領域の圧迫やフォントキャッシュの読み出し時の検索速度の低下を抑制することができる。しかも、フォントキャッシュの格納処理回数も減少するので、全体としての処理の迅速化を図ることができる。
【００７９】
このようにフォントキャッシュ数を減少させても、画像出力装置１では、基本フォントに対する変形量を表す変形行列式によって、基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【００８０】
従って、画像出力装置１では、任意倍率への拡大、縮小や回転等にも適応することができ、出力可能なフォント数が減少を抑制することができる。
【００８１】
しかも、本実施例の画像出力装置１では、要求フォントと同一文字からなるフォントキャッシュの生成も可能であり、この同一文字からなるフォントキャッシュの生成と変形行列式による基本フォントのフォントキャッシュの変形とから処理速度が速い方を行わせている。
【００８２】
このため、画像出力装置１では、基本フォントのフォントキャッシュからの変形のみでは却って処理速度が低下することもあるが、このような処理速度の低下を確実に抑制することができる。
【００８３】
また、基本ポイントサイズとして複数サイズが設定されている場合は、フォントキャッシュの変形量を小さくして画像劣化を最小限に抑えることができると共に、フォントキャッシュの検索ヒット率を向上することができる。
【００８４】
本実施例の画像出力装置１は、キャッシュ部７からフォンとキャッシュを読み出して出力部１３に出力する読出部１１を備え、行列式生成部９が、要求フォントを素数分解して基本フォントに対応する基本情報及び変形量を表す変形情報に分離し、読出部１１が、基本情報からフォントキャッシュを検索して読み出す。従って、本実施例では、読み出し時のフォントキャッシュの検索ヒット率を向上することができる。
【００８５】
また、画像出力装置１では、素数分解した変形情報から求めた変形行列式を用いるため、確実に基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【００８６】
本実施例の画像出力装置１は、フォント展開部１９による生成処理速度のテーブル情報を要求フォント情報別に記憶すると共に出力部１３による変形処理速度のテーブル情報を変形情報別に記憶する速度記憶部２２を備え、生成指定部１０が、生成処理速度及び変形処理速度をテーブル情報から抽出して比較する。
【００８７】
従って、画像出力装置１では、迅速且つ確実に生成処理速度及び変形処理速度の比較を行うことができる。
【００８８】
また、行列式生成部９は、基本フォントに対する変形情報の変形制限を設定し、該変形制限の範囲内で基本情報及び変形情報の分離を行うことができるため、ハードウェアの性能に応じて任意の制限を設定して処理速度の減少を抑制することができる。
【００８９】
例えば、ハードウェア性能が高い場合は、変形制限の拡大倍率の上限を大きくすることで、基本ポイントサイズ数が少ない場合でもフォントキャッシュ検索のヒット率を向上させることができ、処理の高速化を図ることができる。
【００９０】
本実施例の画像出力装置１では、行列式生成部９が、前記生成指定部１０による同一フォントのフォントキャッシュの生成指定に応じて単位行列式を設定し、フォント展開部１９が、生成した同一フォントのフォントキャッシュをキャッシュ部７に格納し、読出部１１が、要求フォント情報から生成された同一フォントのフォントキャッシュを検索して読み出し、出力部１３が、読み出された同一フォントのフォントキャッシュに単位行列式を適用する。
【００９１】
このため、本実施例では、同一フォントのフォントキャッシュを基本フォントのフォントキャッシュの変形と同一の工程で処理することができ、システムの簡素化を図ることができる。
【００９２】
また、本実施例では、読出部１１が、要求フォントに対応する基本フォントのフォントキャッシュが未格納である場合にキャッシュ要求を行い、キャッシュ部７が、キャッシュ要求に応じて基本フォントのフォントキャッシュを格納する。
【００９３】
このため、フォントキャッシュが未格納である場合でも、確実に基本フォントのフォントキャッシュを変形して要求フォントを出力することができる。
【符号の説明】
【００９４】
１  画像出力装置
７  キャッシュ部
９  生成部
１０  生成指定部
１１  読出部
１３  出力部（変形部）
１９  フォント展開部（フォント生成部）
２２  速度記憶部
【図２】
0005346883.tif 000002
【図１】
0005346883.tif 000003
【図３】
0005346883.tif 000004
【図４】
0005346883.tif 000005