イメージデータを生成するイメージ展開装置に関し、特にイメージデータを生成する際に利用されるフォントキャッシュを用いたイメージ展開装置に関する。[0002]【従来の技術】近年、データ処理装置による処理結果やDTPソフトウェアで作成されたデータは、レーザプリンタ等の高性能の出力装置によって高品質の出力データを得ることができるようになった。ここで、データ処理装置等からの文字を含む画像データは、ページ記述言語プログラムによって表された出力要求データとして出力装置に送出される。program.【0003】ページ記述言語インタプリタ装置は、ページ記述言語を解釈実行して、イメージデータに展開するものであり、この展開されたイメージデータは出力装置から出力される。device.【0004】一般に、ページ記述言語インタプリタ装置で用いられるフォントは、ビットマップフォントではなく、高品質のアウトラインフォントが用いられる。deformation,さらに塗りつぶし等の処理を行う必要があるため、最終的なラスタデータに展開するまでに処理時間がかかることになる。take.【0005】このため、ページ記述言語インタプリタ装置では、一度ラスタデータに展開処理されたフォントデータは、再度利用される可能性が高いことから、この展開処理されたフォントデータを一時的に記憶するフォントキャッシュ技術が通常用いられる。このフォントキャッシュ技術によれば、一時記憶しておいたフォントデータに対する展開要求が生起した場合、この一時記憶されたフォントデータを読み出すのみで、展開処理を行う必要がないことから、重複した展開処理が削減され、効率的な展開処理が実現され、展開処理時間の短縮が可能となる。time.【0006】例えば、図6は、ページ記述言語インタプリタ機能をもつイメージ展開装置において、フォントキャッシュ技術を用いた一例を示すものである。11はページ記述言語プログラムPPを解釈し、該プログラムが示す画像情報を展開処理したイメージデータDDを出力する。ここで、ページ記述言語処理部11は、ページ記述言語プログラムPP内にフォントの展開命令が含まれる場合、フォント管理部12にフォントの展開データを要求する。フォント展開部12は、既に展開処理されたフォント展開データを保持するフォント展開データ保持部14に要求されたフォント展開データが保持されているか問い合わせ、保持されている場合はこのフォント展開データを獲得してページ記述言語処理部11に送出する。フォント管理部12は、要求あれたフォント展開データがフォント展開データ保持部14に保持されていない場合、要求されたフォントの展開処理をフォント展開部13に依頼し、展開処理されたフォント展開データをページ記述言語処理部11に送出するとともに、該展開処理されたフォント展開データをフォント展開データ保持部14に保持させ、その後同一フォントの展開処理の依頼があった場合の利用に供する。11,所定のページ記述言語で記述されたプログラムのみを解釈することができるため、各種のページ記述言語で記述されたプログラムが入力される場合を考慮して、異なる複数のページ記述言語処理部を持たせる構成をとるものもある。ジョブ判定部21は、入力されたプリントジョブPJのページ記述言語の種類を判定し、判定結果をもとに該当するページ記述言語を処理できるページ記述言語インタプリタ部22a,22bにプリントジョブPJを送出する。ジョブ判定部21におけるプリントジョブPJの判定処理は、プリントジョブPJに予め設けられた所定の属性値によって判断したり、あるいはプリントジョブのファイルの先頭の記号によりページ記述言語の種類を判定するようにしている。ページ記述言語インタプリタ部22a,22bは、入力されたページ記述言語プログラムを解釈し、この解釈結果をもとにイメージデータを生成し、この生成したイメージデータをプリンタ部23に送出して、該イメージデータを出力する。data.【0009】このようにして、異なる複数のページ記述言語プログラムが入力されても、異なる複数のページ記述言語インタプリタ部を設けることにより、該異なる複数のページ記述言語プログラムの処理が可能となる。[0010]【発明が解決しようとする課題】しかしながら、異なる複数のページ記述言語プログラムを処理することができる従来のイメージ展開装置において、フォントキャッシュ技術を用いる場合、各ページ記述言語インタプリタ部毎にフォントキャッシュを行うため、たとえ各ページ記述言語インタプリタ部によって同一のフォント展開データが生成されたとしても、この同一のフォント展開データは、各ページ記述言語インタプリタ部に接続されるフォントキャッシュ部に各別に保持されることになる。このため、フォントキャッシュ部は、各ページ記述言語インタプリタ部毎に設ける必要があるとともに、同一のフォント展開データが各フォントキャッシュ部に重複して保持される可能性もある。data,該要求されたフォントの展開処理をしなければならない。font.【0011】従って、異なる複数のページ記述言語プログラムを処理することができる従来のイメージ展開装置において、フォントキャッシュ技術を適用する場合、各ページ記述言語インタプリタ部毎にフォントキャッシュ部としてのメモリを設ける必要があるため、メモリ使用効率が悪いとともに、フォント展開データを有効に再利用することができず、この結果フォント展開処理時間がかかるという問題点があった。takes.【0012】そこで、本発明は、かかる問題点を除去し、異なるページ記述言語による異なるフォントフォーマットにより指定されたフォントの展開データが他のフォントフォーマットにより指定されたフォントの展開データと同一である場合における無駄なフォント展開処理や重複するフォント展開データの保持を回避し、異なる複数のページ記述言語プログラムが示すフォント展開処理の高速化を図るとともに、フォントキャッシュにかかるメモリ使用効率を高めることができるイメージ展開装置を提供することを目的とする。前記共通属性情報をもとに前記記憶手段を検索し、該共通属性情報が示すフォントデータが存在する場合、該フォントデータを取得し、該共通属性情報が示すフォントデータが存在しない場合、該フォントの展開処理を行って該展開処理されたフォントデータの共通属性情報とともに該フォントデータを前記記憶手段に記憶することを特徴とする。[0014]【発明の実施の形態】以下、図面を参照して本発明の実施の形態について説明する。drawings.【0015】図1は、本発明の実施の形態であるイメージ展開装置の構成を示す図である。P1,P2を解釈してイメージデータD1,D2をそれぞれ出力するページ記述言語インタプリタ1,2、及びページ記述言語インタプリタ1,2がフォント展開処理時に既に展開されたフォント展開データを利用するために該フォント展開データを一時記憶するフォントキャッシュ3から構成される。1b,2b、フォント展開部1c,2cを有する。2c.【0018】ページ記述言語処理部1a,2aは、入力されたページ記述言語プログラムP1,P2を解釈してイメージデータD1,D2を生成する。inputted.【0019】フォント管理部1b,2bは、ページ記述言語処理部1a,2aからのフォント展開命令を受け付けると、このフォント展開命令が指示するフォントがフォントキャッシュ3に一時記憶されているか否かを問い合わせ、一時記憶されている場合はこのフォント展開データを取得してページ記述言語処理部1a,2aに引き渡す。管理部1b,2bは、このフォント展開データをフォントキャッシュ3に一時記憶させる。.【0020】フォントキャッシュ3は、フォントID管理部3aとフォント展開データ保持部3bから構成される。3b.【0021】フォントID管理部3aは、フォント名とフォントマトリックスとの組合せを示すフォントIDを管理する。フォント名は書体名を意味し、フォントマトリックスとは、キャラクタ座標系からデバイス座標系への変換の際に参照されるパラメータ列であり、フォント展開処理を行う際に用いられるものであるが、これらについては後述する。later.【0022】フォント展開データ保持部3bは、フォントID管理部3aが有するフォントID毎のフォント展開データが保持されている。従って、フォント展開データ保持部3bは、フォント名が示す書体でフォントマトリックスが示す所定の変形処理が行われたフォント展開データ毎に保持され、文字・記号種を示すグリフIDによって最終的に1つのフォント展開データが特定されることになる。apparatus,ページ記述言語インタプリタ1,2のそれぞれは、処理すべきページ記述言語が異なるのみであり、その他の構成、処理機能は同一であり、2つのページ記述言語インタプリタ1,2が1つのフォントキャッシュ3を共有する構成となっている。share.【0024】なお、ページ記述言語プログラムは、図示しないネットワークを介して入力されるようにしてもよい。各ページ記述言語インタプリタ1,2から出力されるイメージデータD1,D2は、所定のプリンタ等の出力装置から出力される。この場合、出力装置は共有されるのが一般的ある。入力されるページ記述言語が2種類であることから2つのページ記述言語インタプリタ1,2を設ける構成としたが、ページ記述言語インタプリタの数は、入力されるページ記述言語の種類に応じて設定するようにするのが適切であり、2つのページ記述言語インタプリタに限定されるものではない。interpreter.もちろん、1つのページ記述言語に対して複数のページ記述言語インタプリタを設けて並列処理を行わせて高速化を図るようにしてもよい。この場合においても、フォントキャッシュ3はだた1つである。skin.【0025】次に、図2に示すフローチャート参照してイメージ展開装置の動作について説明する。2において、破線の左側はフォント管理部1b,2bの処理を示し、破線の右側はフォントキャッシュ3の処理を示している。このフォントIDの問い合わせは、フォント展開命令によって示されるフォント名とフォントマトリックスとを用いて行われる。2bに返答する(ステップ104)。2bは、返答されたフォントIDと所望のグリフIDとを用いてフォント展開データ保持部3bに、所望のフォント展開データが存在するか否かを問い合わせる(ステップ105)。inquiry,該当するフォント展開データを読み出してフォント管理部1b,2bに送出する(ステップ107)。nob,2bに送出する(ステップ108)。108).【0028】フォント管理部1b,2bは、フォント展開データ保持部3bからのフォント展開データの問い合わせ結果に基づいて(ステップ109)、所望のフォント展開データが獲得された場合、獲得されたフォント展開データをページ記述言語処理部1a,2aに引き渡し、処理を終了する。1c,2cは、依頼されたフォントの展開処理を行う(ステップ110)。IDとをもとに、引き渡されたフォント展開データを保持、登録し(ステップ112)、本処理を終了する。ends.【0031】これにより、ページ記述言語インタプリタ1,2のそれぞれは、1つのフォントキャッシュ3を効率的に共有することができ、この結果、無駄なフォント展開処理あるいは重複するフォント展開データの保持を回避することができる。do.【0032】次に、図3を参照してフォントID管理部2aの管理内容について説明する。フォントIDは、上述したようにフォント名とフォントマトリクスとによって一意的に決定される識別子であり、フォント展開データ3bは、このフォントIDが示す識別子毎に管理される。registeredの管理状態を示している。"Helvetica",フォントマトリックス(0.012,0,0,0.012,0,0)とを受け付けると、このフォント名とフォントマトリックスとの組合せは図3(a)に示すように既に登録されているので、この組合せに対応するフォントID「1」をフォント管理部1b,2bに通知する。be.【0035】また、フォントID管理部3aが、フォント管理部1b,2bからフォント名「Times」とフォントマトリックス(0.012,0,0,0.012,0,0)とを受け付けると、このフォント名とフォンマトリックスとの組合せをもつフォントIDが存在しないことから、受け付けたフォント名とフォントマトリックスとの組合せをもつフォントIDを新規に登録する。この登録されたフォントIDは図3(b)に示すようにフォントID「4」となり、このフォントIDがフォント管理部1b,2bに通知される。(0.036,0,0,0.036,0,0)とを受け付けた場合も、フォントマトリックスが異なるため、異なるフォントと判断されて、このフォント名とフォントマトリックスとの組合せからなるフォントIDが新規に登録されることになる。Rukoto.【0036】次に、図4を参照してフォントマトリックスとフォントフォーマットとについて説明する。4(a)は、キャラクタ座標系で記述されたアウトラインフォントの具体例を示し、図4(b)は、フォントマトリックスを用いてアウトラインフォントをデバイス座標系に変換した状態を示している。ここで、キャラクタ座標系とは、アウトラインフォントのデータが記述される座標系である。デバイス座標系とは、実際のページバッファ上の座標系であり、プリンタの場合、実際に描画される用紙上の座標系を意味する。)に写される変換が行われる。ここで、キャラクタ座標系とは、アウトラインフォントのデータが記述される座標系であり、デバイス座標系とは、実際のページバッファ、すなわちプリンタ等において描画される用紙上の座標系である。フォーマットによれば、次のように記述される。ここで、movetoとは、パスの開始点を指定する命令であり、lintetoとは、指定された点まで線を描画する命令である。(a),別の言語処理系のフォーマットによって記述すると、次のようになる。figure,異なる言語処理系のフォーマットを用いると異なる描画命令となり、このことは、フォント描画命令にも共通する。同一の文字を描画するためのアウトラインフォントの記述は、最終的に描画されるアウトラインフォントが同一のものであるにもかかわらず、異なるページ記述言語のフォントフォーマットを用いると、異なる表現となる。provided,各ページ記述言語インタプリタはそれぞれ個別にフォント展開部を有することなる。matrix,並びにこれらの組合せをもつ文字を示すグリフを指定することにより、最終的なフォント展開データを一意に特定することが可能となる。この点により、異なる2以上のページ記述言語インタプリタを有していても、1つのフォントキャッシュによりフォントキャッシュ処理が効率的に実現されることになる。implemented.【0043】次に、図5を参照してフォント展開データ保持部3bについて詳細に説明する。5(b)は、この管理テーブルによって管理されるフォント展開データの一例を示してる。table.【0044】図5(a)において、管理テーブルの管理内容は、フォントID管理部3aに登録されるいるフォントID、グリフID、文字幅、及びフォント展開データが格納される位置を示すポインタを有している。doing.【0045】ここで、グリフIDは、予め割り当てられている文字・記号に固有の識別子である。グリフ「a」は、16進で「A1」として定義され、グリフ「:」は、16進で「3B」として定義される。Also,文字幅とは、現在のフォントの描画開始点から次のフォントの描画開始点へのベクトルであり、いわば文字送り幅を意味する。width.【0046】ここで、フォント管理部1b,2bが、フォントID「1」とグリフID「A1」と用いてフォント展開データの検索を行うと、これに対応する文字幅とポインタによって示される図5(b)の「A」のビットマップデータであるフォント展開データがフォント管理部1b,2bに引き渡される。3b,フォントID、グリフID、文字幅、及びフォント展開データを引き渡すことによって登録される。data.【0048】ここで、ページ記述言語の1つであるポストスクリプトのプログラムを用いてフォントキャッシュ処理を説明する。ここでは、ページ記述言語インタプリタ1がポストスクリプトを処理するものとして説明する。script.【0049】ポストスクリプトプログラムの一例としては、次のようなものがある。(4)は、文字c,dを描画することを示し、(5)は、ページバッファ上に描画したデータを出力することを示している。buffer.【0050】このポストスクリプトプログラムを受け付けたページ記述言語処理部1aは、(1)の記述を解釈して、フォントマトリックス(0.012,0,0,0.012,0,0)を設定する。3aに対して既に登録されているフォントIDの獲得を行う。その後、このフォントIDとグリフIDとをもとにフォント展開データを獲得し、この獲得したフォント展開データをページ記述言語処理部1aに引き渡し、ページ記述言語処理部1aは、このフォント展開データをページ単位のイメージデータの一部とする。unit.【0051】ところで、上述したフォント展開データは、全てビットマップに展開されたラスタデータとして説明したが、これに限らず、このラスタデータをランレングスエンコーディング等により圧縮した圧縮データとしてフォント展開データ保持部3bに保持するようにしてもよい。この際、フォント展開データ保持部3bに保持された圧縮データを再利用する場合は、伸長部を用いて該圧縮データをもとの圧縮処理の逆処理としての伸長処理を行う必要がある。圧縮部も設ける必要がある。これにより、さらにメモリの使用効率が高まり、同一メモリ容量の場合、再利用されるフォントのヒット率が向上する。improved.【0052】なお、上述したイメージ展開装置は、いわゆるフォントサーバとは基本的に異なる。フォントサーバは、フォントの展開部を複数の装置で共有する装置であり、これによりフォントの展開処理の効率化を図ろうとするものである。これに対し、本イメージ展開装置は、ページ記述言語が異なるためフォントフォーマットが異なるが、該ページ記述言語のフォント展開命令が指示する対象フォントが同一である場合に最終的には同一のフォント展開データが生成されるため、かかる同一のフォント展開命令に対応するフォント展開処理を軽減し、かつ重複したフォント展開データの格納を削減しようとするフォントキャッシュに関するものであり、複数のフォントの展開部が対象とするページ記述言語、いわばフォントフォーマットが異なることを前提としている。示すフォントデータが存在する場合、該フォントデータを取得し、該共通属性情報が示すフォントデータが存在しない場合、該フォントの展開処理を行って該展開処理されたフォントデータの共通属性情報とともに該フォントデータを前記記憶手段に記憶するようにしている。means.【0054】従って、第1のページ記述言語処理手段と第2のページ記述言語処理手段とが同一のフォント展開データを所望する際、どちらかのページ記述言語処理手段が展開処理したフォント展開データを共有することができるので無駄な展開処理を回避し、また、同一のフォント展開データを重複して保持することがないので、フォントキャッシュメモリのメモリ使用効率が高まり、全体的なフォントにヒット率が向上し、展開処理にかかる時間が短縮されるという利点を有する。DRAWINGS【図1】本発明の実施の形態であるイメージ展開装置の構成を示す図。FIG.【図2】イメージ展開装置の全体処理手順を示すフローチャート。device.【図3】フォントID管理部2aの管理内容を示す図。2a.【図4】キャラクタ座標系とデバイス座標系との関係を示す図。system.【図5】フォント展開データ保持部3bの詳細説明図。3b.【図6】従来のイメージ展開装置の構成を示す図。apparatus.【図7】異なる複数のページ記述言語処理部を有した構成をもつ従来のイメージ展開装置の構成を示す図。ォントデータが存在する場合、該フォントデータを取得し、該共通属性情報が示すフォントデータが存在しない場合、該フォントの展開処理を行って該展開処理されたフォントデータの共通属性情報とともに該フォントデータを前記記憶手段に記憶することを特徴とするイメージ展開装置。