(57)【特許請求の範囲】
【請求項１】
使用頻度の高い文字用の登録済みの文字を管理する第１テーブルと使用頻度の低い文字用の登録済みの文字を管理する第２テーブルとを記憶する記憶手段と、
印刷すべき文字に対応するフォントデータが印刷装置に登録されているか否かを前記第１テーブルまたは前記第２テーブルに基づき判別する判別手段と、
前記判別手段により印刷すべき文字に対応するフォントデータが印刷装置に登録されていると判別された場合、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信し、前記判別手段により印刷すべき文字に対応するフォントデータが印刷装置に登録されていないと判別された場合、印刷すべき文字に対応するフォントデータを登録する文字登録コマンドを作成して印刷装置に送信し、印刷すべき文字に対応する文字に応じて前記第１テーブルまたは前記第２テーブルを更新し、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信する送信手段とを有することを特徴とする情報処理装置。
【請求項２】
前記第１テーブルは、使用頻度の高い文字の各文字コードに対応した１ビットで登録済みであるか否か表現し、
前記第２テーブルは、登録されている文字の文字コードを格納することで登録済みであるか否かを表現することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記判別手段は、前記第１テーブルの印刷すべき文字の文字コードに対応する位置のビットの状態に応じて、登録されているか否かを判別し、
前記判別手段は、前記第２テーブルに印刷すべき文字に対応する文字コードが格納されているか否かに応じて、登録されているか否かを判別することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記フォントデータは、イメージデータを含むことを特徴とする請求項１記載の情報処理装置。
【請求項５】
印刷すべき文字の文字コードが所定値以下であるか否かを判定する判定手段と、
前記判定手段により所定値以下であると判定された場合、前記第１テーブルを選択し、前記判定手段により所定値以下でないと判定された場合、前記第２テーブルを選択する選択手段とを有することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記第１のテーブルと前記第２のテーブルとを含むテーブルは、書体に対応して複数存在することを特徴とする請求項１記載の情報処理装置。
【請求項７】
使用頻度の高い文字用の登録済みの文字を管理する第１テーブルと使用頻度の低い文字用の登録済みの文字を管理する第２テーブルとを利用する情報処理方法であって、
印刷すべき文字に対応するフォントデータが印刷装置に登録されているか否かを前記第１テーブルまたは前記第２テーブルに基づき判別する判別ステップと、
前記判別ステップにより印刷すべき文字に対応するフォントデータが印刷装置に登録されていると判別された場合、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信し、前記判別ステップにより印刷すべき文字に対応するフォントデータが印刷装置に登録されていないと判別された場合、印刷すべき文字に対応するフォントデータを登録する文字登録コマンドを作成して印刷装置に送信し、印刷すべき文字に対応する文字に応じて前記第１テーブルまたは前記第２テーブルを更新し、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信する送信ステップとを有することを特徴とする情報処理方法。
【請求項８】
前記第１テーブルは、使用頻度の高い各文字の文字コードに対応した１ビットで登録済みであるか否か表現し、
前記第２テーブルは、登録されている文字の文字コードを格納することで登録済みであるか否かを表現することを特徴とする請求項７記載の情報処理方法。
【請求項９】
前記判別ステップは、前記第１テーブルの印刷すべき文字の文字コードに対応する位置のビットの状態に応じて、登録されているか否かを判別し、
前記判別ステップは、前記第２テーブルに印刷すべき文字に対応する文字コードが格納されているか否かに応じて、登録されているか否かを判別することを特徴とする請求項７記載の情報処理方法。
【請求項１０】
前記フォントデータは、イメージデータを含むことを特徴とする請求項７記載の情報処理方法。
【請求項１１】
印刷すべき文字の文字コードが所定値以下であるか否かを判定する判定ステップと、
前記判定ステップにより所定値以下であると判定された場合、前記第１テーブルを選択し、前記判定ステップにより所定値以下でないと判定された場合、前記第２テーブルを選択する選択ステップとを有することを特徴とする請求項７記載の情報処理方法。
【請求項１２】
前記第１のテーブルと前記第２のテーブルとを含むテーブルは、書体に対応して複数存在することを特徴とする請求項７記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、印刷装置へフォントをダウンロードするホストコンピュータ等の情報処理装置及び情報処理方法に関する。
【０００２】
【従来技術】
近年、ホストコンピュータ内に文字イメージデータを生成する機構を持ち、ディスプレイ及びプリンタへ、それぞれの解像度に合わせた文字イメージデータを作成し、転送することにより、ディスプレイ上に表示される文字と同一のデザインでプリンタへ印字を行うＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ）という環境が実現されている。このような印字環境では、プリンタへ文字のイメージデータを転送する必要がある。従来、この環境で印字を行う際には、一文字毎に文字イメージデータを転送する方法（文字イメージ描画）、あるいは一度転送した文字イメージデータをプリンタ内に記憶しておき、同一の文字を印字する場合に記憶しておいたイメージデータを再利用するといった方法（文字イメージダウンロード）が用いられてきた。
【０００３】
この文字イメージダウンロードにより印字を行う方法では、文字の属性（フォント名称、文字サイズ、セルサイズ、文字修飾等）を同じくする文字群を一つの文字セットとし、その文字セットに含まれる文字を文字コードによって識別する管理方法が一般的である。この場合、文字セットと文字コードの組み合わせで一つの文字イメージデータを表現することとなる。
【０００４】
前記ダウンロードによる文字印字をホストコンピュータ側から管理するためには、印字を行おうとする文字の文字イメージデータが既にダウンロード済みかどうかのデータが必要となる。このため、文字セットごとに各文字がダウンロード済みかどうかを示すデータを管理する。以下、このダウンロード済みかどうかを示すデータを格納するデータ領域を登録済み文字コード管理テーブルと呼ぶことにする。このデータは通常各文字コードに対してダウンロード済みかそうでないかを示す最低１ビットが必要である。あるいはその文字セットに含まれるすべての文字をあらかじめダウンロードしておくという方法もあるが、文字コードが複数バイトで表現されるような文字コードセットではデータ量が膨大となるため現実的ではない。よって日本語の文字ダウンロードを行うためには前記管理が必要となる。
【０００５】
これを実現するためにホスト上に必要となるダウンロード済みの管理メモリは、各文字につき最低１ビットであるが、すべての文字コードに対応したビット数のメモリ（日本語の場合には数千から１万数千ビット）を文字セットごとに用意すると、ホスト側のメモリを圧迫することとなる。実際には、ダウンロードにより印字を行う場合、プリンタ上に記憶しておくためのＲＡＭ容量には一般に限界があるため、通常登録可能な文字数が制限される。このため、従来は文字セットごとに最大登録文字数を設け、その文字数分の文字コードを格納するメモリを用意し、そこにダウンロードした文字コードをリストとして保管するといった方法でダウンロード済みの文字コード管理が行われてきた。そして、文字イメージをダウンロードするごとにダウンロード済みであることを示すデータを登録済み文字コード管理テーブルに記録し、印刷中にダウンロードが行えない状態に達した場合には、ダウンロードによる印字をやめて他の印字方法（例えばイメージ描画）に切り替えて出力するか、あるいは既にダウンロードされているデータを削除して、その空いた部分にダウンロードを行うといった方法で従来印字が行われてきた。
【０００６】
【発明が解決しようとしている課題】
しかし、この従来の方法では、登録可能な文字数の上限に達した後には、使用頻度の高い文字のイメージデータを新規にダウンロード出来ないといった問題が発生することがあった。
【０００７】
また、ダウンロード済みの文字コードをリストで管理するため、使用頻度の高い文字の場合であってもダウンロード済みかどうかの判定および記録の際に、探索に時間がかかるという問題があった。
【０００８】
また、文字セットごとにダウンロード可能な最大文字数分の文字コードを格納できるように文字登録管理テーブルを作成した場合、その使用するホスト上のメモリサイズが大きくなり、確保できない場合も有りうるといった問題があった。
【０００９】
本発明は、これらの問題点を解決するためになされたもので、使用頻度の高い文字のダウンロードを常に可能とすることを目的とする。
【００１０】
また、使用頻度の高い文字に関してダウンロード済みかどうかを判定、あるいは記録するために要する時間を短縮することを目的とする。
【００１１】
さらに、登録済み文字コード管理テーブルが必要とするメモリサイズを少なくすることを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明の情報処理装置は、
使用頻度の高い文字用の登録済みの文字を管理する第１テーブルと使用頻度の低い文字用の登録済みの文字を管理する第２テーブルとを記憶する記憶手段と、
印刷すべき文字に対応するフォントデータが印刷装置に登録されているか否かを前記第１テーブルまたは前記第２テーブルに基づき判別する判別手段と、
前記判別手段により印刷すべき文字に対応するフォントデータが印刷装置に登録されていると判別された場合、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信し、前記判別手段により印刷すべき文字に対応するフォントデータが印刷装置に登録されていないと判別された場合、印刷すべき文字に対応するフォントデータを登録する文字登録コマンドを作成して印刷装置に送信し、印刷すべき文字に対応する文字に応じて前記第１テーブルまたは前記第２テーブルを更新し、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信する送信手段とを有することを特徴とする。
【００１３】
また、本発明の情報処理方法は、
使用頻度の高い文字用の登録済みの文字を管理する第１テーブルと使用頻度の低い文字用の登録済みの文字を管理する第２テーブルとを利用する情報処理方法であって、
印刷すべき文字に対応するフォントデータが印刷装置に登録されているか否かを前記第１テーブルまたは前記第２テーブルに基づき判別する判別ステップと、
前記判別ステップにより印刷すべき文字に対応するフォントデータが印刷装置に登録されていると判別された場合、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信し、前記判別ステップにより印刷すべき文字に対応するフォントデータが印刷装置に登録されていないと判別された場合、印刷すべき文字に対応するフォントデータを登録する文字登録コマンドを作成して印刷装置に送信し、印刷すべき文字に対応する文字に応じて前記第１テーブルまたは前記第２テーブルを更新し、印刷すべき文字に対応する登録されているフォントデータを印刷する登録文字印字コマンドを作成して印刷装置に送信する送信ステップとを有することを特徴とする。
【００１５】
【実施例】
次に、本発明の好適な実施例について図面を参照し詳細に説明する。
【００１６】
図１は本発明の一実施例である印刷制御装置のブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１７】
図において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１８】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭは上記文書処理等を行う際に使用する各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、文字イメージデータ生成プログラム（以下フォントライタライザ）、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース（インターフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ライタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００１９】
プリンタ１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１５０１は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００２０】
また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内臓フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００２１】
以下、ＣＰＵ１によって実行される制御プログラムを示すフローチャートを用いて、本発明の一実施例について詳しくに述べる。
【００２２】
図２は、文字イメージデータのダウンロードを行うプリンタドライバでの一般的な処理手順を示すフローチャートである。まず、図２で示される処理手順の概要を述べる。ステップ２．１では、プリンタドライバをコントロールしているホストコンピュータ上のオペレーティングシステム（ＯＳ）あるいはアプリケーションから印字データを受け取る。ステップ２．２では、ステップ２．１で取得した印字データで示される文字のイメージデータを既にプリンタへ登録済みかどうか判定する。登録済みと判定された場合には、登録した文字を印字する命令を生成する処理（ステップ２．７）へ移行する。未登録と判定された場合には、ステップ２．１で得た印字データを元に、文字イメージデータをフォントＲＯＭから取得する（ステップ２．３）。ステップ２．４ではステップ２．３で取得した文字イメージをプリンタに登録するプリンタコマンドを生成し、（ステップ２．４）、プリンタへ転送する（ステップ２．５）。ステップ２．６では印字データで示された文字を既にプリンタへ登録済みであることを示すフラグをセットしておく。ステップ２．７では既にプリンタへ登録されている文字を印字するコマンドを生成し、プリンタへ転送する（ステップ２．８）。
【００２３】
これらの一連の処理手順の中で、本発明を実施する文字イメージデータ管理方法が実施されるのはステップ２．２における判定処理、およびステップ２．６における登録済みフラグのセットの部分である。
【００２４】
次に、本発明が実施される部分を詳しく説明する。図２のステップ２．２における登録済みか否かを判定する処理手順を示すフローチャートを図３に示す。この処理では、本発明を実施するプリンタドライバによって管理される文字登録管理テーブルを使用する。ここでは、Ｃｏｄｅ、ＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔによって文字が確定する様なフォント環境を想定しているが、環境によって文字を特定するに十分なデータが含まれていればよい。そしてここでは、ＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔすべてが一致するものを一つの文字セットとして管理し、同一の文字セットに属する文字に対して一つの文字登録管理テーブルを使用する例を示す。一つの文字登録管理テーブルは、登録済み文字コード管理テーブルの他に文字セットに関するいくつかのデータを持つ以下のような内容でＲＡＭ２に構成される。
【００２５】
文字登録管理テーブル：ＦａｃｅＮａｍｅ  Ｐｏｉｎｔ  Ｓｔｙｌｅ  Ｔａｂｌｅ＿ＡＴａｂｌｅ＿Ｂ…（データ１）
ＦａｃｅＮａｍｅ：フォントフェイス名
Ｐｏｉｎｔ：文字サイズ
Ｓｔｙｌｅ：文字修飾データ
Ｔａｂｌｅ＿Ａ：使用頻度の高い文字用登録済み文字コード管理テーブル
Ｔａｂｌｅ＿Ｂ：使用頻度の低い文字用登録済み文字コード管理テーブル
ステップ３．１では、この処理で使用する変数の初期化を行う。ステップ３．２では、最後の文字登録管理テーブルに達したか調べる。ステップ３．３では、文字登録管理テーブルＴａｂｌｅ〔ｉ〕のＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔがすべてステップ２．１で取得した印字データのＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔと一致するか調べ、一致する場合には、その文字コードが使用頻度の高い文字を示しているかどうか判定する（ステップ３．４）。但し、ここではＣｏｄｅはシフトＪＩＳコードであり、８２４０ｈ−８２ＦＦｈを使用頻度の高い文字コード領域と仮定している。ここで使用頻度が高いと判定された場合には、Ｔａｂｌｅ＿Ａ〔Ｃｏｄｅ  ８２４０ｈ〕を調べ（ステップ３．６）、ＯＮの場合には登録済みと判定して処理を終了する。ＯＦＦの場合には、未登録と判定して処理を終了する。ステップ３．４で使用頻度が低いと判定された場合には、Ｔａｂｌｅ＿Ｂの中にＣｏｄｅを値とするＴａｂｌｅ＿Ｂ〔ｘ〕が存在するか調べ（ステップ３．７）存在する場合には登録済みと判定して処理を終了する。存在しない場合には、未登録と判定して処理を終了する。ステップ３．３でＴａｂｌｅ〔ｉ〕のデータが印字データの各データと異なる場合には、次の文字登録管理テーブルに関する処理へ移行する（ステップ３．５）。そして最後の文字登録管理テーブルまで各データの一致するものが存在しなかった場合には、未登録と判定する（ステップ３．８）。
【００２６】
ここで、Ｔａｂｌｅ＿ＡおよびＴａｂｌｅ＿Ｂについて更に詳しく説明する。これらのテーブルは各文字のイメージデータがプリンタに対して既に登録済みであるか否かを示すものである。その内容を図４に示す。テーブルは、各文字コードに対して１ビットで登録済み、未登録を表現する部分Ｔａｂｌｅ＿Ａと、ダウンロードした文字コードをリストに加えていき、登録済み、未登録表現する部分Ｔａｂｌｅ＿Ｂとからなる。Ｔａｂｌｅ＿Ａは、使用頻度の高い文字に対して１ビットずつ割り当てられている部分である。ここでは、シフトＪＩＳコードの例で、全角英数ひらがなを含む８１４０ｈから８１ＦＦｈの文字コードの連続した１９２文字分をＴａｂｌｅ＿Ａに割り当てている。一般に、日本語の文書であれば、ひらがなの使用頻度は高く、またひらがな等の文字種は多くの文字コード体系で連続した文字コード領域に割り当てられている。よって、文字コード体系は使用頻度の高い文字が連続した文字コード領域に存在するものであればシフトＪＩＳに限らず本発明を適用可能である。また、ひらがなを例に挙げたが、カタカナ、記号（句読点等を含む）等の文字種に対しても実施可能であることは言うまでもない。また、１バイトコードをＴａｂｌｅ＿Ａの領域に、２バイト（あるいはそれ以上）のコードをＴａｂｌｅ＿Ｂの領域に割り当てることも可能である。Ｔａｂｌｅ＿ＢはＴａｂｌｅ＿Ａに属さない文字コードの文字イメージデータをダウンロードしたことを記録するための領域であり、例えば日本語の２バイトコードに使用するのであれば、そのコード体系にふさわしい値（例えば０）でＴａｂｌｅ＿Ｂの領域を初期化しておき、ダウンロードを行った文字コードをＴａｂｌｅ＿Ｂの空いた部分に追加していくことによりダウンロード済みの文字コードリストを作成する。なお、この領域のサイズはＴａｂｌｅ＿ＡとＴａｂｌｅ＿Ｂで管理される文字数を合わせて文字セットごとにダウンロード可能な文字分となるようにしておく。
【００２７】
このように文字登録管理テーブルを作成することにより、使用頻度の高い文字に関しては、その文字イメージデータがプリンタへダウンロード済みかを示すデータ（フラグ）を調べる場合、すべてのダウンロード文字コードをメモリ上に格納しておく従来の方法と比べ、文字コードから一意にフラグが求まるので判定に要する時間が短くて済む。また、使用頻度の高い文字のフラグは各１ビットのため、ダウンロード可能な文字数分文字コード格納のメモリを使用する場合に比べて、ダウンロード管理に使用する全体のメモリ使用量を少なくすることができる。なお、Ｔａｂｌｅ＿Ｂに関しては、従来通り、文字コードの探索を行う必要がある。この部分では、文字コードを数値と見立てて、公知の手法であるハッシュ関数等を適用して高速に探索を行う。なお、探索時にハッシュ関数を利用するのであれば、ダウンロード済みを記録する際にもハッシュ関数を使用してＴａｂｌｅ＿Ｂに文字コードを格納しておく必要がある。
【００２８】
図２のステップ２．６では、文字登録管理テーブルにステップ２．５でプリンタへ登録した文字のフラグをセットする。図５は、この処理のフローチャートを示す。ステップ５．１では、この処理で必要な変数の初期化を行う。ステップ５．２では、最後の文字登録管理テーブルに達したか調べる。ステップ５．３では、文字登録管理テーブルＴａｂｌｅ〔ｉ〕のＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔがすべてステップ２．１で取得した印字データのＦａｃｅＮａｍｅ、Ｓｔｙｌｅ、Ｐｏｉｎｔと一致するか調べ、一致する場合には、Ｃｏｄｅが使用頻度の高い文字であるかを調べる（ステップ５．４）。但し、ここではＣｏｄｅはシフトＪＩＳコードであり、８２４０ｈ−８２ＦＦｈを使用頻度の高い文字コード領域と仮定している。ここで使用頻度が高いと判定された場合には、Ｃｏｄｅで表わされる文字が登録済みであるかどうかを示すＴａｂｌｅ＿Ａ〔Ｃｏｄｅ８２４０ｈ〕にＯＮをセットして（ステップ５．６）処理を終了する。ステップ５．４で使用頻度が低いと判定された場合には、文字登録管理テーブルＴａｂｌｅ〔ｉ〕のＴａｂｌｅ＿Ｂの中にＣｏｄｅをエントリとして追加し（ステップ５．７）、処理を終了する。ステップ５．７におけるエントリの追加の際には、従来と同様、空きエントリを探索する必要がある。この場合にも、ハッシュ関数等を利用して高速に探索を行い、エントリを追加する。なお、エントリの追加時にハッシュ関数を利用する場合には、ステップ３．７におけるダウンロード済みかを判定する処理においても、ハッシュ関数を使用してＴａｂｌｅ＿Ｂの探索を行う。
【００２９】
Ｔａｂｌｅ〔ｉ〕のステップ５．３でＴａｂｌｅ〔ｉ〕のデータが印字データの各データと異なる場合には、次の文字登録管理テーブルに関する処理へ移行する（ステップ５．５）。そして最後の文字登録管理テーブルまで各データの一致するものが存在しなかった場合には、新たに文字登録管理テーブルを作成し（ステップ５．８）、ステップ５．４、ステップ５．６、ステップ５．７の処理と同様にその文字登録管理テーブルのＣｏｄｅで表わされる文字の登録フラグＴａｂｌｅ＿Ａ〔Ｃｏｄｅ−８２４０ｈ〕にＯＮをセットするか（ステップ５．１１）、Ｔａｂｌｅ＿Ｂの中にＣｏｄｅをエントリとして追加し（ステップ５．１０）、処理を終了する。
【００３０】
ここで、ステップ５．７の処理では、新規に文字イメージデータをダウンロード出来ない状況が発生する場合がある。これは、すでにＴａｂｌｅ＿Ｂがダウンロード済み文字コードで満たされている場合である。この場合には、プリンタドライバはダウンロードによる印字を他の印字方法（例えばイメージ描画）へ切り替えて処理を行うか、Ｔａｂｌｅ＿Ｂのいずれかのエントリの代わりにダウンロードを行う。後者の場合には、文字イメージデータの削除をプリンタへ通知し、新たな文字イメージデータをダウンロードする必要がある。ただし、使用頻度の高い文字に関しては、ダウンロードの管理がＴａｂｌｅ＿Ａでなされており、ダウンロード出来ない状況になることはない。
【００３１】
このように、使用頻度の高い文字に関しては、その文字イメージデータがプリンタへダウンロード済みであることを示すフラグをセットする場合、すべてのダウンロード文字コードをメモリ上に格納しておく従来の方法と比べ、文字コードから一意にフラグが求まるのでフラグのセットに要する時間が短くて済む。また、使用頻度の高い文字に関しては、ダウンロードが常に可能である。
【００３２】
なお、コンピュータ上で文字イメージデータをアウトラインデータ等から作成するフォントラスタライザにおいて、一旦ラスタライズを行った文字イメージデータをメモリ上に格納（キャッシング）しておく際の、キャッシュデータの管理においても、本発明を適用可能である。
【００３３】
また、プリンタの内蔵するアウトラインデータ等で定義されたスケーラブルなフォントで、一旦スケーリングを行った文字イメージデータをメモリ上にキャッシュしておく際の、キャッシュデータの管理においても、本発明を適用可能である。
【００３４】
また、文字コードに関しては、実施例で示したシフトＪＩＳコードに限らず、ＪＩＳ、ＵＮＩＣＯＤＥや、他の複数バイトで表現される文字コード等においても本発明を適用可能である。
【００３５】
また、言語に関しては、実施例で示した日本語に限らず、文字コードが複数バイトで表現される言語であれば本発明を適用可能である。
【００３６】
また、管理対象となるダウンロードデータは、実施例で示した文字イメージデータに限らず、ベジエやスプライン等で表現された文字のアウトラインデータであっても本発明を適用可能である。
【００３７】
【発明の効果】
以上説明したように本発明によれば、使用頻度の高いフォントのダウンロードを常に可能とする効果を奏する。
【００３８】
また、以上説明したように本発明によれば、ダウンロード済みか否かを判断する為に要する時間の短縮を可能とする効果を奏する。
【００３９】
また、以上説明したように本発明によれば、登録済管理テーブルが必要とするメモリサイズを少なくできるという効果を奏する。
【図面の簡単な説明】
【図１】本発明を実施する文字イメージデータダウンロード管理方法を使用する情報処理システムの構成を説明するブロック図である。
【図２】文字イメージダウンロードを行うプリンタドライバにおける処理手順を示すフローチャートである。
【図３】本発明を実施する文字イメージダウンロード管理方法における登録済みであるか否かを判定する処理手順を示すフローチャートである。
【図４】各文字のイメージデータがダウンロード済みであることを記録する登録済みコードテーブルを説明する図である。
【図５】本発明を実施する文字イメージダウンロード管理方法における登録済みであることを記録する処理手順を示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
１２  ＣＰＵ
１３  ＲＯＭ
１９  ＲＡＭ
１５００  プリンタ
３０００  ホストコンピュータ
【図１】
0003618828.tif 000002
【図２】
0003618828.tif 000003
【図３】
0003618828.tif 000004
【図４】
0003618828.tif 000005
【図５】
0003618828.tif 000006