(57)【要約】      （修正有）【課題】プリンタにより利用されるフォントについて、プリンタに送信する必要のあるデータの量を減少させる。【解決手段】フォントマネジャ７は、プリンタ２のメモリ１０内に未だ格納されていない、プリンタ２の実行するプリントジョブ内のフォントを特定し、特定されたフォントに対応するフォントデータ６−１；・・・；６−ｋを、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ１０内にダウンロードして格納させる。【選択図】図１
2010009587.tif 000002
【特許請求の範囲】
【請求項１】
フォントデータを管理する方法であって、
プリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていない、実行されるべきプリントジョブ内のフォントを特定する（ｓ３−５）ステップと、
上記特定されたフォントのためのみのフォントデータを含むプリントジョブを生成する（ｓ２−５）ステップと、
上記生成されたプリントジョブを実行するステップと
を含み、
上記特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）をダウンロードし（ｓ３−９）、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内に上記フォントデータ（６−１；・・・；６−ｋ）を格納するステップを、更に含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
上記の、プリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていない、実行されるべきプリントジョブ内のフォントを特定する（ｓ３−５）ステップが、
プリンタ（２）のメモリ内にフォントデータ（１２−１；・・・；１２−ｍ）がそのために現在格納されているフォントを特定するデータ（１３）を格納するステップと、
プリントジョブを実行する際に利用されるフォントを特定する（ｓ２−２）ステップと、
上記特定されたフォントを格納されたデータ（１３）と比較する（ｓ３−５）ステップにより、プリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていない、実行されるべきプリントジョブ内のフォントを特定する（ｓ３−５）ステップと
を含む、方法。
【請求項３】
請求項２に記載の方法であって、
プリンタ（２）上にフォントデータ（１１−１；・・・；１１−ｎ）を予め格納するステップを更に含み、
上記の、プリントジョブを実行する際に利用されるフォントを特定する（ｓ２−２）ステップが、フォントデータ（１１−１；・・・；１１−ｎ）がそのために予め格納されているフォント以外の、プリントジョブを実行する際に利用されるフォントを特定するフォントのリストを生成するステップを含み、
上記の、特定されたフォントを格納されたデータ（１３）と比較するステップが、上記生成されたリストを上記格納されたデータ（１３）と比較するステップを含む
方法。
【請求項４】
請求項１に記載の方法であって、
上記の、上記特定されたフォントに対応するフォントデータを含むプリントジョブを生成する（ｓ２−５）ステップが、プリンタ（２）のメモリ（９；１０）内に既にフォントデータ１１−１；・・・；１１−ｎ；１２−１；・・・；１２−ｍがそのために格納されている、プリントジョブ内のフォントのフォントデータ１１−１；・・・；１１−ｎ；１２−１；・・・；１２−ｍの位置を特定するポインタと、上記特定されたフォントとに対応するフォントデータを含むプリントジョブを生成する（ｓ２―５）ステップを含む
方法。
【請求項５】
上記識別されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）をダウンロードする（ｓ３−９）ステップが、
格納されたフォントデータ（１２−１；・・・；１２−ｍ）の項目の利用を特定するデータ（１４）を格納するステップと、
プリンタメモリ（１０）が上記フォントデータ（６−１；・・・；６−ｋ）を格納するのに充分であるかどうかを判定する（ｓ３−８）ステップと、
プリンタメモリ（１０）が上記フォントデータ（６−１；・・・；６−ｋ）を格納するのに充分でないならば、上記特定されたフォントに対応する上記フォントデータ（６−１；・・・；６−ｋ）をダウンロードする前に、消去する、格納されたフォントデータ（１２−１；・・・；１２−ｍ）の一つ又はそれ以上の項目を選択するために格納されたデータ（１４）を利用するステップと
を含む、請求項１乃至請求項４のうちのいずれか一に記載の方法。
【請求項６】
請求項５に記載の方法であって、
上記の、格納されたフォントデータ（１２−１；・・・；１２−ｍ）の項目の利用を特定するデータ（１４）を格納するステップが、
格納されたフォントデータ（１２−１；・・・；１２−ｍ）の項目の利用の時間を特定するデータを格納し、プリンタメモリ（１０）がダウンロードされる上記フォントデータ（６−１；・・・；６−ｋ）を格納するのに充分でないならば最も長い期間利用されていないフォントデータ（１２−１；・・・；１２−ｍ）を消去するステップを
含む、方法。
【請求項７】
請求項５に記載の方法であって、
上記の、格納されたフォントデータ（１２−１；・・・；１２−ｍ）の項目の利用を特定するデータ（１４）を格納するステップが、
格納されたフォントデータ（１２−１；・・・；１２−ｍ）の項目の利用の頻度を特定するデータを格納し、プリンタメモリ（１０）がダウンロードされる上記フォントデータ（６−１；・・・；６−ｋ）を格納するのに充分でないならば最も少ない頻度で利用されたフォントデータ（１２−１；・・・；１２−ｍ）を消去するステップを
含む、方法。
【請求項８】
上記プリンタメモリ（１０）内のフォントデータ（１２−１；・・・；１２−ｍ）の項目の格納の時間を特定するデータを格納するステップと、
所定の期間の後、プリンタメモリ（１２−１；・・・；１２−ｍ）からフォントデータ（１２−１；・・・；１２−ｍ）を消去するステップと
を更に含む、請求項１乃至請求項７のうちのいずれか一に記載の方法。
【請求項９】
上記の、上記特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）をダウンロードし（ｓ３−９）、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内に上記フォントデータ（６−１；・・・；６−ｋ）を格納するステップが、
フォントデータ（６−１；・・・；６−ｋ）が、フォントデータ（６−１；・・・；６−ｋ）の複写時の制約を示すデータに関係するかどうかをチェックし、複写時の制約を示すデータに関係しないフォントデータ（６−１；・・・；６−ｋ）のみをダウンロードするステップを
更に含む、請求項１乃至８のうちのいずれか一に記載の方法。
【請求項１０】
プリントシステムであって、
プリンタ（２）と、
フォントデータを含むプリントジョブを生成し、プリントジョブを実行するために上記プリンタ（２）に上記プリントジョブを送信する動作を行うコンピュータ（１）と
を含み、
上記プリンタは、
プリントジョブを実行する際に利用するフォントデータ（１２−１；・・・；１２−ｍ）を格納するように動作し、プリントジョブの受け取りに応じて、受け取ったプリントジョブを実行する、メモリ（１０）と、
プリンタ（２）のメモリ（１０）内に未だ格納されていない、実行されるジョブ内のフォントを特定し（ｓ３−５）、特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）を、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内にダウンロードして格納させる（ｓ３−９）、動作を行うフォントマネジャ（７）と
を有し、
プリントジョブが実行されるプリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていないフォントのためにのみ、プリンタ（２）が実行するプリントジョブ内にフォントデータ（６−１；・・・；６−ｋ）を含む（ｓ２−５）ように、上記コンピュータ（１）が構成されることを特徴とする
プリントシステム。
【請求項１１】
プリントシステムであって、
プリンタ（２）を含み、
上記プリンタ（２）は、
プリントジョブを実行する際に利用するフォントデータ（１２−１；・・・；１２−ｍ）を格納するように動作し、プリントジョブの受け取りに応じて、受け取ったプリントジョブを実行する、メモリ（１０）と、
コンピュータ（１）とを有し、
上記コンピュータ（１）は、
プリンタ（２）のメモリ（１０）内に未だ格納されていない、実行されるジョブ内のフォントを特定し（ｓ３−５）、特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）を、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内にダウンロードして格納させる（ｓ３−９）、動作を行うフォントマネジャ（７）を含み、
上記コンピュータ（１）は、フォントデータを含むプリントジョブを生成し、プリントジョブを実行するために上記プリンタに上記プリントジョブを送信する動作を行い、
プリントジョブが実行されるプリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていないフォントのためにのみ、プリンタ（２）が実行するプリントジョブ内にフォントデータ（６−１；・・・；６−ｋ）を含む（ｓ２−５）ように、上記コンピュータ（１）が構成されることを特徴とする
プリントシステム。
【請求項１２】
プリントシステムであって、
フォントデータを含むプリントジョブを生成し、プリントジョブを実行するためにプリンタに（２）上記プリントジョブを送信する動作を行うコンピュータ（１）と、
プリントジョブを実行する際に利用するフォントデータ（１２−１；・・・；１２−ｍ）を格納するように動作し、プリントジョブの受け取りに応じて、受け取ったプリントジョブを実行する、メモリ（１０）を有するプリンタ（２）と、
プリンタ（２）のメモリ（１０）内に未だ格納されていない、実行されるジョブ内のフォントを特定し（ｓ３−５）、特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）を、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内にダウンロードして格納させる（ｓ３−９）、動作を行うフォントマネジャ（７）を含むプリンタサーバ（２０）と
を含み、
プリントジョブが実行されるプリンタ（２）のメモリ（１０）内にフォントデータ（６−１；・・・；６−ｋ）がそのために未だ格納されていないフォントのためにのみ、プリンタ（２）が実行するプリントジョブ内にフォントデータ（６−１；・・・；６−ｋ）を含む（ｓ２−５）ように、上記コンピュータ（１）が構成されることを特徴とする
プリントシステム。
【請求項１３】
プログラム可能なコンピュータが実行する際、コンピュータに、
フォントデータ（１２−１；・・・；１２−ｍ）を格納するように動作するメモリを有するプリンタにより実行されるプリントジョブをモニタさせ、
プリンタ（２）のメモリ（１０）内にそのためにフォントデータ（１２−１；・・・；１２−ｍ）が未だ格納されていない、実行されるプリントジョブ内のフォントを、特定させ（ｓ３−５）、
特定されたフォントに対応するフォントデータ（６−１；・・・；６−ｋ）を、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ（１０）内にダウンロードして格納させる（ｓ３−９）
コンピュータ実装可能命令を坦持するキャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォントを処理することに関する。特に、本発明は、プリンタにより利用されるフォントを与えて処理する方法及び装置に関する。
【背景技術】
【０００２】
従来、コンピュータからドキュメントを印刷するとき、そのドキュメントを作成するために、若しくは見るために、ワードプロセッサなどのアプリケーションが利用される。ユーザがドキュメントをプリントアウトすることを望むとき、特定のプリンタにより利用され得るフォーマットにドキュメントデータを翻訳する、コンピュータ上に備えられるプリンタドライバに、アプリケーションはドキュメントデータを送信する。プリントジョブがプリンタにより受信されると、プリンタはプリントジョブに含まれる命令を解釈し、ドキュメントを１部複写する。
【０００３】
プリンタがドキュメント内に現れる文字を特定のフォントでプリントするために、プリンタは、そのフォントに示される個別の文字若しくはグリフの各々の外観を規定するフォントデータへのアクセスを必要とする。ビットマップフォントの場合、このフォントデータはピクセルのアレイのフォームである。アウトライン若しくはベクトルフォントの場合、フォントデータは、ライン及びカーブの数学的記述のフォームである。
【０００４】
通常ドキュメントをプリントアウトするときは、プリンタドライバは、プリンタへ送信されるプリントジョブの一部としてこのフォントデータを含む。多数の文字種を含む中国語や日本語などの特定の言語の場合、一つの言語で利用される文字種の全てを規定するのに必要なフォントデータの量は、非常に大きいものとなり得る。このデータがプリンタに送信されると、一つのフォントが利用される毎に、個々のプリントジョブのために非常に大量のデータが送信されることが必要である。
【０００５】
従来技術のシステムがこの問題を扱う一つの方法は、埋め込みフォントの利用によるものである。埋め込みフォントは、プリンタ上に予め格納されたフォントである。これらの埋め込みフォントはテキストをプリントするのに利用され、関連フォントグリフがダウンロードされる必要は無い。関連するプリンタドライバには、そのフォントがプリンタ内部に埋め込まれているという情報が備わる。プリンタドライバが埋め込みフォントのみ利用するプリントジョブをフォーマットするように要求されると、プリンタドライバはプリンタに送信されるデータ内にフォントデータを含める。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
埋め込みフォントを利用するとプリンタに送信する必要のあるデータの量は減少するが、埋め込みフォントの利用には幾つかの問題がある。
【０００７】
埋め込みフォントを利用することの一つの問題点は、埋め込みフォントはスクリーンフォントと必ずしも一致しないということである。例えば、プリンタには、対応するアプリケーションにより利用されているフォントのより古いバージョンであるタイプフェースのバージョンが、埋め込まれていることがある。その場合、このことは、スクリーンフォントはプリントされるフォントと異なる、ということを意味する。
【０００８】
埋め込みフォントを利用することの主たる問題点は、一つのドキュメント内部で利用されるフォントがプリンタ内部に予め格納されるものの一つではない場合、ドキュメントをプリントするためフォントデータがプリンタに更にダウンロードされねばならない、ということである。
【課題を解決するための手段】
【０００９】
本出願の一つの形態に従って、フォントデータを管理する方法であって、
プリンタのメモリ内にフォントデータがそのために未だ格納されていない、実行されるべきプリントジョブ内のフォントを特定するステップと、
上記特定されたフォントのためのみのフォントデータを含むプリントジョブを生成するステップと、
上記生成されたプリントジョブを実行するステップと
を含み、
上記特定されたフォントに対応するフォントデータをダウンロードし、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ内に上記フォントデータを格納するステップを、更に含むことを特徴とする方法が、提示される。
【００１０】
本発明の実施形態は、フォントデータを格納するように動作するメモリを有するプリンタにより実行されるプリンタジョブを、フォントマネジャがモニタするプリントシステムを提示する。フォントマネジャは、プリンタのメモリ内に未だ格納されていない、プリンタの実行するプリントジョブ内のフォントを特定し、特定されたフォントに対応するフォントデータを、後続のプリントジョブを実行する際に利用するために上記プリンタメモリ内にダウンロードして格納させるように、構成される。このように、プリンタのメモリ内に未だ存在しないフォントデータのみ含むプリントジョブを、コンピュータに生成させることにより、プリントジョブのサイズが減少され、これにより、そのプリントジョブが生成されプリンタに送信される速度が増大する。
【００１１】
フォントマネジャは、プリンタ上に設けられても、コンピュータ内部に設けられても、通信ネットワークを介してプリンタ及びコンピュータと接続するプリンタサーバの部分として設けられてもよい。
【００１２】
以下の記載及び添付の図面を参照して、本発明の更なる形態及び実施形態が明らかになる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１の実施形態に係るプリンタとコンピュータの概略ブロック図である。
【図２】図２は、プリントジョブの間に図１のコンピュータのプリンタドライバにより為される処理のフロー図である。
【図３】図３は、プリントジョブの間に図１のプリンタのフォントマネジャにより為される処理のフロー図である。
【図４】図４は、本発明の第２の実施形態に係るプリンタネットワークの概略ブロック図である。
【発明を実施するための形態】
【００１４】
第１の実施形態
図１は、双方向通信リンク３を介してプリンタ２に接続されるコンピュータ１の概略ブロック図である。ドキュメントを作成するワードプロセッサなどのアプリケーション４とプリンタドライバ５は、アプリケーション４により利用され得る種々の可能なフォントを規定するフォントデータ６−１；・・・；６−ｋとともにコンピュータ１のメモリ内に格納される。
【００１５】
利用時にユーザが生成されたドキュメントをプリントアウトすることを望めば、アプリケーション４は、プリンタ２にドキュメントをアウトプットさせるプリントジョブを生成するプリンタドライバ５を呼び出す。このプリントジョブは、双方向リンク３を介して、プリントジョブを実行しドキュメントをプリントするプリンタ２に、転送される。
【００１６】
プリンタ２上には、フォントデータを管理するフォントマネジャ７、プリンタ２にドキュメントをプリントさせるプリンタドライバ５により生成されるプリントジョブを処理するプリンタコントロールモジュール８、埋め込みフォントメモリ９及びプリンタメモリ１０が、設けられる。従来のプリンタのように、埋め込みフォントメモリは、多数の埋め込みフォントのためのグリフの形状を規定するフォントデータ１１−１；・・・；１１−ｎを含む。このデータは、プリンタ２が製造されるときに埋め込みフォントメモリ内に予め格納される。同じ埋め込みフォントデータが同じタイプの全てのプリンタ上に予め格納されるので、プリンタドライバ５は、これらの予め格納されたフォントの識別を知らされており、これらのフォントを利用するドキュメントをプリントアウトする際、より小さいプリントジョブを定式化するのにこの知識を利用する。
【００１７】
以下に説明するように、フォントマネジャ７は、プリントジョブの受信をモニタし、ダウンロードされたフォントを識別するリスト１３と、一つのフォントが利用された回数及び種々のフォントの利用の頻度を示す統計データ１４と共に、プリンタメモリ１０内に格納される追加のフォントデータ１２−１；・・・；１２−ｍのダウンロードを調整するように、構成される。その後フォントマネジャ７はプリンタドライバ５と連動し、これによりプリンタドライバ５は、埋め込みフォントに加えられたフォントがドキュメント内で利用される際に、より小さいジョブを生成するのに、格納されたこれら追加のフォントを利用することができる。よってこのように、プリンタ２がプリントジョブを受信し処理する速度は増加される。
【００１８】
プリンタドライバ５と、プリンタにプリントジョブをさせ得るフォントマネジャ７とにより為される処理を、図２及び図３を参照して以下に説明する。
【００１９】
プリンタドライバにより為される処理
プリンタドライバ５により為される処理のフロー図である図２を参照して、以下詳細に説明する。
【００２０】
プリンタドライバ５は、プリンタ２が実行するためにプリントジョブを策定するように要求するプリントリクエストをアプリケーションから受け取ると（ｓ２−１）、呼び出される。プリンタドライバ５が最初呼び出されると（ｓ２―２）、プリントリクエストを解析し要求されたドキュメントをプリントするのに必要なフォントの全てのリストを生成する。プリンタドライバ５は、プリントジョブのコーディング内で、利用されているフォントを識別することにより、このリストを展開する。
【００２１】
プリンタドライバ５は続いて、プリンタ２の埋め込みフォントメモリ９内に格納された埋め込みフォント１１−１；・・・；１１−ｎに対応するフォントをリストから除去することで、生成されたリストにフィルタをかける（ｓ２−３）。特別のプリンタ２と共に利用するプリンタドライバ５は、埋め込みフォント１１−１；・・・；１１−ｎに関する情報を有することになる。これらのフォントは工場でプリンタ２の埋め込みフォントメモリ９内に予め格納され、これにより、プリンタ２の開発時にこの情報がプリンタドライバ５内に含まれ得るからである。プリンタドライバ５は、双方向リンク３を介してプリンタのフォントマネジャ７に、フィルタされたリストを送信する。後で詳しく説明するように、フォントマネジャ７は、受信したフィルタされたリストを利用し始め、現在のプリントジョブをプリントするのに必要なフォントデータを識別してこのリストを双方向リンク３を介してプリンタドライバ５に送信し戻す。
【００２２】
要求されたフォントのリストがフォントマネジャ７により生成されコンピュータ１に送信し戻されると、リストはプリンタドライバ５により受信される（ｓ２−４）。プリンタドライバ５は、要求されたフォントのこのリストの受信に応答し、要求されたフォントに対応するフォントデータ６−１；・・・；６−ｋと共に、プリンタ２によりプリントされるテキスト及び画像データを含むプリントジョブを、生成する。このプリントジョブデータは双方向リンク３を介してプリンタ２に送信され、プリントジョブがプリンタ２に受信されると、プリンタコントロールモジュール８は、埋め込みフォントメモリ９若しくはプリンタメモリ１０内に格納されたフォントデータ１１−１；・・・；１１−ｎ；１２−１；・・・；１２−ｍと共に、受信されたプリントジョブデータを利用して、プリンタ２に、プリントジョブに対応するドキュメントをプリントアウトさせる。
【００２３】
後で説明するように、フォントマネジャ７は、フォントの利用をモニタし、埋め込みフォントメモリ９内に埋め込みフォントデータ１１−１；・・・；１１−ｎとして、若しくは、プリンタメモリ１０内にフォントデータ１２−１；・・・；１２−ｎとして、現在格納されていない、プリントジョブ内に現れるフォントに対応するフォントデータ６−１；・・・；６−ｋを、コンピュータ１から要求するように、構成されている。このように、フォントマネジャ７は、最も頻繁に利用されるフォントに対応するフォントデータがプリンタ２上に存在するため、プリンタ２に送信されるプリントジョブ内に含まれる必要がないことを、保証できる。このことにより、プリントジョブのサイズが小さくなり、よって、ドキュメントがプリンタ２によりディスパッチされ処理される速度が速くなる。
【００２４】
フォントマネジャにより為される処理
コンピュータ１からプリンタメモリ１０へのフォントデータ６−１；・・・；６−ｋのダウンロードを管理するフォントマネジャ７により為される処理は、この処理を示すフロー図である図３を参照して、以下詳細に示される。
【００２５】
プリンタ２が、双方向リンク３を介してプリンタドライバ５から、新しいプリントジョブを実行するように要求されるフォントリストのためのリクエストを受信すると、フォントマネジャ７は最初呼び出される（ｓ３−１）。上記のように、この実施形態では、このリクエストは、プリントアウトされるドキュメント内に現れるフォントのリストの形式であり、埋め込みメモリ９内に格納される埋め込みフォント１１−１；・・・；１１−ｎに対応するフォントは除去されている。
【００２６】
このリストが受信されると、フォントマネジャ７は、プリンタメモリ１０内に格納されるフォントリスト１３と、受信したリストを比較する（ｓ３−２）。プリンタメモリ１０内に格納されたフォントリスト１３は、フォントデータ１２−１；・・・；１２−ｍがプリンタメモリ１０内に既に格納されているフォントを識別するので、この比較により、フォントマネジャ７は、要求されたプリントジョブを実行するのに追加のフォントデータが要求されるかどうかを識別できる。
【００２７】
要求されたフォントの全てがプリンタメモリ１０上に存在する場合には、フォントマネジャ７は、ヌルリストの生成を始め、コンピュータ１上のプリンタドライバ５に戻す。上述のように、そのリストを受け取ることで、プリンタドライバは、フォントデータを含まないプリントジョブを生成しディスパッチする。このプリンタジョブがプリンタ２に受信されると、プリンタコントロールモジュール８は、埋め込みフォントデータ１１−１；・・・；１１−ｎと、プリンタメモリ１０内に格納されるフォントデータ１２−１；・・・；１２−ｍとを利用して、プリントジョブに対応するドキュメントをプリントアウトし、ドキュメント内に示されるキャラクタの描出を生成する。
【００２８】
フォントマネジャ７が、コンピュータ１上のプリンタドライバ７にヌルリストをディスパッチした後、フォントマネジャ７はプリンタメモリ１０内に格納された利用統計１４の更新を始める（ｓ３−４）。特に、フォントマネジャ７が、プリンタドライバ５から受信したフォントリスト内に現れるフォントの各々に関連する利用統計をインクリメントすることを始め、リスト内に現れるフォントの各々が利用される機会の数を示すデータを１だけインクリメントし、現在の回数を識別するため、リスト内に現れるフォントの各々が利用された最新の機会を識別するデータを設定する。
【００２９】
フォントマネジャ７がプリンタドライバ５からフォントのリストを受信するとき、フォントマネジャ７が、受信されたリストにより識別されるフォントの全てが、プリンタメモリ１０内に格納されたフォントリスト１３上に現れるフォントに、対応しているわけではない、と判断すると、フォントマネジャ７は、欠落したフォントを識別するリストの生成を開始して、コンピュータ１上のプリンタドライバ５に戻す（ｓ３−５）。
【００３０】
上述のように、このリストを受け取ると、プリンタドライバ５は、これら欠落したフォントのためのフォントデータ６−１；・・・；６−ｋを含むプリンタジョブを生成してディスパッチする。このプリントジョブがプリンタ２に受信されると、プリンタコントロールモジュール８は、このフォントデータ６−１；・・・；６−ｋと、埋め込みフォントデータ１１−１；・・・；１１−ｎと、プリンタメモリ１０内に格納されるフォントデータ１２−１；・・・；１２−ｍとを利用して、プリントジョブに対応するドキュメントをプリントアウトし、ドキュメント内に示されるキャラクタの描出を生成する。
【００３１】
フォントマネジャ７が、要求されたフォントのリストをプリンタドライバ５にディスパッチした後、フォントマネジャ７は、要求されたフォントについてのサイズの情報を要求する更なるメッセージを生成し、プリンタドライバ５にディスパッチする（ｓ３−６）。この実施形態では、サイズの情報のためのこのリクエストは、要求されたフォントのリストのプリンタドライバ５への戻りから独立して、生成されてディスパッチされ、プリンタドライバ５の要求する処理の量を減少させてプリントジョブを完成して生成し、更に、プリントジョブデータのディスパッチに先行してプリンタドライバ５が更なる処理を為すことを要求することで生成され得る遅延を回避する。別の実施形態では、プリンタドライバ５は、要求されたフォントに対応するフォントデータ６−１；・・・；６−ｋのサイズを決定することで、要求されたフォントリストの受信に自動的に応答するように、構成され得る。
【００３２】
サイズの情報のためのリクエストが、フォントマネジャ７によりディスパッチされた（ｓ３−６）後、フォントマネジャ７は、リクエストされた情報がプリンタドライバ５に受信されることを待つ（ｓ３−７）。サイズの情報が受信されると（ｓ３−７）、予めディスパッチされたリクエストされたフォントリスト内に現れるフォントの各々のためのデータが特定され、識別されたフォントの各々を格納するのに要求されるメモリの量を特定するデータが特定される。
【００３３】
プリンタメモリ１０内部に充分なメモリがあれば、フォントマネジャ７は、更なるフォントデータのために、リクエストをプリンタドライバ５に送信する（ｓ３−９）。それに応じて、プリンタドライバ５は、リクエストされたフォントに対応するフォントデータ６−１；・・・；６−ｋのコピーを双方向リンク３を介して転送させる。このフォントデータ６−１；・・・；６−ｋがプリンタ２により受信されると、フォントマネジャ７はこのフォントデータをプリンタメモリ１０内に格納させる。このことにより、最も最近のプリントジョブ内に現れるフォントに対応するフォントデータがプリンタメモリ１０内に格納されることが保証され、プリンタドライバ５が後続のプリントジョブ内にそのデータを含んでしまうことを回避できるようになる。
【００３４】
フォントマネジャ７が、更なるフォントを格納するのに要求されるメモリに対して、利用可能なメモリの量を対照する（ｓ３−８）とき、フォントマネジャ７がプリンタメモリ１０が充分な利用可能なメモリを有していないと判定すると、フォントマネジャ７はプリンタメモリ１０から消去するためのフォントを選択し始める（ｓ３−１０）。特に、フォントマネジャは、メモリ１０内に格納された利用統計１４に基づいて、消去のためのフォントデータ１２−１；・・・；１２−ｍを選択する。
【００３５】
この実施形態では、最も少ない回数利用されたフォントをフォントマネジャ７が消去するように選択することにより、このことが達成される。２つ若しくはそれ以上のフォントがこのテストによって識別されると、この実施形態ではフォントマネジャ７は最も長い期間利用されなかったフォントを選択するように構成されている。このことによりフォントマネジャ７が消去するためのフォントを一つも選択できない場合、フォントマネジャ７は、最も少ない回数利用され最も長い期間利用されなかった、最も大きいメモリ量を示すフォントを選択する。
【００３６】
消去すべきフォントを選択すると、フォントマネジャ７は選択されたフォントを消去し始める（ｓ３−１１）。続いてフォントマネジャ７は、最新のプリントジョブのためにリクエストされたフォントデータを格納するのに、充分なメモリが利用可能であるか再び決定する（ｓ３−８）。利用可能でないならば、フォントマネジャ７はプリンタメモリ１０から更にフォント１２−１；・・・；１２−ｍを選択して消去し、その後、最新のプリントジョブのためにリクエストされたフォントデータを格納するのに、充分なメモリが利用可能であるか再び決定する（ｓ３−８）。
【００３７】
フォントマネジャ７が、更なるフォントのためにプリンタメモリ１２内に充分なメモリが利用可能であると決定すると（ｓ３−９）、フォントマネジャ７はプリンタドライバ５への六エストを生成し双方向リンク３を介してディスパッチし、フォントデータ６−１；・・・；６−ｋのコピーをプリンタ２に送信するように要求する。プリンタドライバがこのリクエストを受信すると、プリンタドライバ５は応答して、リクエストされたフォントデータ６−１；・・・；６−ｋをプリンタ２へディスパッチする。このデータがプリンタ２に受信されると、フォントマネジャ７は、受信されたデータを、後続のプリントジョブで利用するためのフォントデータ１２−１；・・・；１２−ｍとしてプリンタメモリ１０内に格納させる。
【００３８】
最後に、受信したフォントデータを格納する際、フォントマネジャ７はプリンタメモリ１０に格納された利用統計１４の更新を開始し（ｓ３−４）、リスト内に現れるフォントの各々が利用された回数を示す、受信されたフォントの各々に係る利用統計を１だけインクリメントし、リスト内に現れるフォントの各々が利用され最新の時期を識別する最新時期を示すデータを設定する。
【００３９】
プリントジョブのためにリクエストされたフォントのみを識別してダウンロードし、一般に利用されるフォントを格納することで、不必要なフォントの転送が回避され、これによりプリンタの効力が向上する。上述のようにフォントをダウンロードすることでスクリーン上のフォントに対応しない埋め込みフォントを利用する際の問題が克服される。個々のダウンロードされたフォントがフォントのスクリーン表示を生成するのに利用されるフォントデータと等しいからである。
【００４０】
第２の実施形態
前述の実施形態では、フォントマネジャ７及びプリンタドライバ５が、夫々、プリンタ２及びコンピュータ３上に設けられているシステムを説明した。更なる実施形態では、本発明がコンピュータ及びプリンタのネットワークにいかに適用されるかを示すものである。
【００４１】
図４は、通信リンクにより複数のプリンタ３０及びプリンタサーバ２０に接続する複数のコンピュータ１を伴うプリンタネットワークの概略ブロック図である。この実施形態のコンピュータ１は、前述の実施形態のものと同じであり、前述のように、夫々メモリ内にアプリケーション４、プリンタドライバ５及びフォントデータ６−１；・・・；６−ｋを格納する。
【００４２】
利用の際ユーザが生成されたドキュメントをプリントアウトすることを望むとき、前述の実施形態とは異なり、コンピュータ１の各々の上のプリンタドライバ５は、プリンタサーバ２０と通信するように構成されている。続いてプリンタサーバ２０はプリントリクエストを処理し、リクエストされたプリントジョブをプリントアウトする適切なプリンタ３０へリクエストを転送する。
【００４３】
コンピュータ１からプリンタ３０へのフォントデータ６−１；・・・；６−ｋのフローを管理するために、本実施形態のプリントサーバ２０は、フォントマネジャ２１、プリンタ３０の各々に関してフォントデータの利用及び格納を記録する利用統計２２のセット、個々のプリンタ３０のメモリに格納されるフォントを識別する個々のプリンタ３０に関するフォントリスト２３−１；・・・；２３−ｎを、格納するように構成されている。プリンタサーバ２０は、プリントジョブがプリンタ３０上で実行されるように、プリントジョブデータ２４−１；・・・；２４−ｋを受信し格納するようにも構成されている。
【００４４】
前述の実施形態のようにユーザがドキュメントをプリントアウトすることを望めば、本実施形態では、ユーザのコンピュータ１上に存在するプリンタドライバ５は最初、リクエストされる可能性のあるフォントのリストを転送する。このリストは、プリンタサーバ２０に受信され、ユーザが利用を望むことを特定したプリンタ３０に関するフォントリスト２３−１；・・・；２３−ｎと、フォントマネジャ２０により比較される。続いてフォントマネジャ２１は、上述と同様にしてリクエストの処理を開始し、リクエストされたフォントのリストを特定し、利用統計を更新し、フォントデータのダウンロードを調整し選択されたプリンタ３０のメモリの中に格納する。
【００４５】
上述の間に、プリンタドライバ５はプリントジョブを生成しプリンタサーバ２０にディスパッチする。実行のためにプリンタへディスパッチされる前に、生成されたプリントジョブ２４−１；・・・；２４−ｋはプリンタサーバ２０上のプリントキュー内に格納される。プリントジョブ２４−１；・・・；２４−ｋをこのように格納することで、プリントジョブをキャンセルしたり再スケジュールしたりすることが可能となり、更に、例えば、プリンタ３０がスイッチオフされているとき等プリンタサーバ２０とプリンタ３０の間で通信障害が発生した場合にプリントジョブのコピーが維持されることが、保証される。
【００４６】
プリンタが単体のコンピュータに接続する第１の実施形態とは異なり、本発明がネットワーク状況内に実装される場合、ネットワーク通信が機能しなくなり命令やデータが損失してしまうかもしれないことから、複数の更なる問題が生じる。更に、ネットワーク環境ではプリンタ３０には揮発性メモリしか設けられないこともあり、従って前にダウンロードされたフォントデータが損失するかもしれない。
【００４７】
これらの問題は全て、フォントマネジャ２１とネットワークプリンタ３０が周期的に相互にポーリングし個々のプリンタの現在の利用可能性を確認することで、対処され得る。
【００４８】
従って、例えば、プリンタ３０の各々は、最初スイッチオンされると常に、プリンタサーバ２０にコンタクトするように構成され得る。これらプリンタが揮発性メモリストレージのみ含むのであれば、フォントマネジャ２１は、その信号の受信に応じて、プリンタ３０に関連するフォントリスト２３−１；・・・；２３−ｎをクリアするように構成され得る。
【００４９】
同様に、プリンタサーバ２０は、実行するためにプリントジョブ２４−１；・・・；２４−ｋをプリンタ３０にディスパッチする前に、特定のプリンタ３０がオンラインされていたことをチェックするように構成され得る。プリンタサーバ２０は、特定のプリンタ３０から適切な応答が受信されるまでプリントジョブ２４−１；・・・；２４−ｋを一時停止するように構成され得る。フォントのダウンロードを管理するために、プリンタサーバ２０は、特定のプリントジョブが実行されたことをプリンタから確認するためにモニタするようにも構成され得る。そのようなシステムでは、プリントジョブが完了したことを示す信号を受信する前に、プリンタがまさにスイッチオンされたことを示す信号がプリンタ３０から受信されるならば、このことはプリンタ３０はこの期間でスイッチオフされたことを示す。よってプリンタがスイッチオフされたときに損失したフォントに取って代わるために、予め存在するプリントジョブに依存するフォントがプリンタ３０のメモリ内にダウンロードされるまで、フォントマネジャ２１は、ドキュメントをプリントすることを遅延させるように構成され得る。
【００５０】
更なる実施形態及び変形
フォントマネジャ７がプリンタ２上に配置される、若しくは、フォントマネジャ２１プリンタサーバ２０上に配置される、上述の二つの実施形態に加えて、当然ながら、プリンタドライバ５に対してホストとなるコンピュータ３のメモリ内にフォントマネジャが設置されることもある。フォントマネジャが外部のプリンタと通信してそのプリンタのメモリ内へのフォントデータのダウンロードを調整するという点において、そのようなフォントマネジャの機能は第２の実施形態のフォントマネジャと類似する。予め存在するプリントジョブが実行され得るように更なるフォントデータのダウンロードを調整するためには、プリンタドライバとフォントマネジャがプリンタがスイッチオフされるときには常に協動する必要があるので、揮発性メモリ内部にプリンタがフォントデータを維持するシステムでは、更なる警戒が為される必要がある。
【００５１】
複数のコンピュータをひとつ又はそれ以上のプリンタに接続し、個々のコンピュータ１にはプリンタドライバ５とフォントマネジャが配備された、ネットワークとして、上記のシステムも実装され得る。プリンタドライバがその関連するフォントマネジャと通信するのにネットワークオーバヘッドが要求されないという利点が、そのようなシステムにはある。更に、個別のフォントマネジャの障害は、全体システムではなく単体のコンピュータにのみ影響するに過ぎない。複数のフォントマネジャが配置される場合、それらフォントマネジャは、個別のプリンタ上に存在するフォント及び個別のフォントの利用を識別する状態データの同期を採るように構成される。
【００５２】
上述の実施形態では、プリントジョブを実行することを要求されているフォントのリストを生成するものとして、プリンタドライバ５が記載されているが、別の実施形態では、完全なリストを生成するのではなくプリンタドライバ５は、フォント毎にフォントに関するフォントマネジャ７；２１とインタフェースをとることができる。
【００５３】
この実施形態では、ユーザがプリントするドキュメントを選択しアプリケーション４がプリンタドライバ５を呼び出すと、プリンタドライバ５は、ドキュメントがプリントアウトされるべきプリンタ２；３０のためのフォントマネジャ７；２１との通信を確立する。アプリケーション４がドキュメント内に含まれるフォントを特定すると必ず、プリンタドライバ５は、埋め込みフォントデータ１１−１；・・・；１１−ｎがそのためにプリンタ３０の埋め込みメモリ内に格納されたフォントの一つに、リクエストされたフォントが対応するのか否かを、先ずチェックする。そうでない場合には、プリンタドライバ５はフォントマネジャ７；２１にフォントリクエストをする。それに対し、プリントジョブのその部分を実行するための適切なフォントデータ１２−１；・・・；１２−ｍがプリンタ２；３０のプリンタメモリ内に格納されていれば、フォントマネジャ７；２１は、リクエストされたフォントデータの位置を特定する、プリントジョブ内に含まれる識別子を戻す。同時にフォントマネジャ７；２１は、そのフォントのためにフォントデータ１２；・・・；１２−ｍに関連してフラグを設定し、プリントジョブの実行が生成される前にそのフォントが消去されることを防ぐことができる。リクエストされたフォントデータがプリンタメモリ１０の中に存在しないと判定されたら、フォントマネジャ７；２１はこのことを記録し、プリンタドライバに「フォントが見つからない」メッセージを戻し、該プリンタドライバは、プリントジョブ内にそのフォントのためのフォントデータを含むことを開始する。その後、プリントジョブが実行された後、フォントマネジャ７；２１は、見つからなかったフォントデータがプリンタメモリ１０内にダウンロードされるように、即ち、後続のプリントジョブで利用されるように、構成され得る。
【００５４】
上述の実施形態では、アプリケーション４がプリンタドライバ５を呼び出すことで、ドキュメントが生成されるシステムが、記述されているが、もちろん、プリンタドライバ５が無くても本発明は実行され得る。例えばそのような実施形態では、フォントマネジャ７；２１２は、プリンタ２；３０に命令を与えるように構成されたダイレクトプリントアプリケーションなどの、プリンタドライバ５以外のコンピュータプログラムとインタフェースを採るように構成され得る。ダイレクトプリントアプリケーションのリクエストするフォントの特定は、様々な方法で達成され得る。
【００５５】
一つのアプローチは、フォントマネジャ７；２１が、プリンタ２を利用し得る個々のダイレクトプリントアプリケーションのためにリクエストされたフォントのリストを格納することである。プリントジョブが受信されると、フォントマネジャ７；２１はアプリケーションの識別（特定）を利用して、プリンタメモリ１０内にダウンロードされるべきフォントデータを決定できる。
【００５６】
別の他のアプローチは、フォントマネジャ７；２１が、ダイレクトプリントアプリケーションにより形成されるプリントジョブのためのプリントストリームをスキャンし、フォント識別子がアプリケーションのためのフォント利用テーブルを生成し、フォントが現在利用可能ではないことを判定することに応答して、識別されたフォントをダウンロードさせること、である。一方で、アプリケーションにより生成されるプリントストリームは、パースされてフォントデータの存在を特定し、このことは、そのアプリケーションからの将来のプリントジョブに応答してダウンロードするために、フォントを特定するのに利用され得る。
【００５７】
更にその実施形態では、特定のアプリケーションからのプリントストリームの特定に応答してデータをダウンロードするのではなく、特定のアプリケーションが利用されること及び何のフォントが利用されるかが、前もって分かっていれば、これらは、周期的に、例えば、個々の就業日の開始時と終了時に、ダウンロードされ除去されるようにスケジュールすることができる。
【００５８】
上記で詳細に記載した実施形態では、メモリ制約により、若しくは、データが揮発性ストレージに格納されプリンタがスイッチオフされることにより、消去されるものとして、フォントデータは記載されている。別の実施形態では、所定の時間後フォントデータをクリアするように、プリンタが構成され得る。このようなアプローチは、格納されたフォントデータが周期的に更新されることが保証され、それ故所定の時間より長い期間プリンタが古い若しくは期限切れのフォントデータを使用することがない、という利点がある。
【００５９】
第１の実施形態で消去のためのフォントデータを選択する特定の方法を記載したが、消去のためのフォントデータを選択する別の方法が利用可能であることは、もちろんである。
【００６０】
第１の実施形態で、プリンタに、プリンタメモリ内に動的にダウンロードされるフォントに加えて、埋め込みフォントが設けられるシステムが、記載されているが、埋め込みフォントデータを何ら含まないプリンタでも本発明を利用し得ることはもちろんである。
【００６１】
上記の記載では、リクエストされると常にダウンロードされるものとしてフォントを記載しているが、フォントデータのコピーの形成が制約されることがあってもよい。データをコピーすることに関するそのような制約は、通常、コンピュータ１に格納されたフォントデータ６−１；・・・；６−ｋの一部としてのあるチェックデータの存在により示される。そのようなチェックデータが利用可能である実施形態では、フォントデータの不正コピーの生成を避けるために、フォントマネジャは、フォントデータのコピーが生成される前にコピーが許可されることを保証するために、そのデータをチェックするように、構成され得る。
【００６２】
上記の記載では、フォントデータのダウンロードについて述べてきたが、ヘッド付き便箋の外観を生成するのに利用されるマクロなどのオーバレイ、一つ若しくはそれ以上の質問に対する応答を記録するページの領域を示すフォーム、又は、異なるプリントを相互に区別できるようにすべくプリントされるページに付加されるテキスト若しくはイメージを規定するウオータマークなどの、プリントされるドキュメントの外観を決定するようにプリンタにより利用される他のデータアイテムにも、もちろん、本発明は適用可能である。
【００６３】
上記の実施形態では、ダウンロードはコンピュータのコントロールの下で生じるものとして記載しているが、コンピュータという用語がどのコンピュータデバイスも含むように広く解釈されてもよいのは、もちろんである。特に、ラップトップコンピュータや、適切なソフトウエアがインストールされたモバイルフォンなどの、モバイルコンピュータデバイスにより、上述の処理が為されてもよいのは、もちろんである。
【００６４】
図面を参照して記載した本発明の実施形態は、コンピュータ装置及びコンピュータ装置内で実行される処理を含むが、本発明は、コンピュータプログラム、特に、本発明を実現するように調整された、キャリア上の若しくは内のコンピュータプログラムにも、拡張される。プログラムは、ソース若しくはオブジェクトコードの形式でもよく、又は、本発明に係る処理の実行にて利用されるのに適した他のどの形式でもよい。キャリアは、プリグラムを坦持できるどの実体若しくはデバイスであってもよい。
【００６５】
例えば、キャリアは、ＲＯＭ、例えば、ＣＤ  ＲＯＭや半導体ＲＯＭなどの、ストレージ媒体や、例えば、フロッピー（登録商標）ディスクやハードディスクなどの、磁気記録媒体を含んでもよい。更に、キャリアは、電気若しくは光学ケーブルを介して、又は無線や他の手段により伝搬される、電気若しくは光学信号などの、伝搬性キャリアであってもよい。
【００６６】
ケーブルや他のデバイス若しくは手段により、直接に伝搬される信号内にプログラムが埋め込まれると、キャリアは、そのケーブルや他のデバイス若しくは手段により構成され得る。
【００６７】
一方、キャリアはプログラムが埋め込まれた集積回路でもよい。ここで集積回路は、関連する処理を実行する調整されている、若しくは、関連する処理の実行で利用される。
【符号の説明】
【００６８】
１・・・コンピュータ、２、３０・・・プリンタ、４・・・アプリケーション、５・・・プリンタドライバ、６・・・フォントデータ、７、２１・・・フォントマネジャ、８・・・プリンタコントローラ、９・・・埋め込みフォントメモリ、１０・・・プリンタメモリ、１１・・・埋め込みフォント、１２・・・フォントデータ、１３、２３・・・フォントリスト、１４、２２・・・利用統計、２０・・・プリンタサーバ、２４・・・プリントジョブ。
【図１】
2010009587.tif 000003
【図２】
2010009587.tif 000004
【図３】
2010009587.tif 000005
【図４】
2010009587.tif 000006
【外国語明細書】
2010009587.tif 000007
2010009587.tif 000008
2010009587.tif 000009
2010009587.tif 000010
2010009587.tif 000011
2010009587.tif 000012
2010009587.tif 000013
2010009587.tif 000014
2010009587.tif 000015
2010009587.tif 000016
2010009587.tif 000017
2010009587.tif 000018
2010009587.tif 000019
2010009587.tif 000020
2010009587.tif 000021
2010009587.tif 000022
2010009587.tif 000023
2010009587.tif 000024
2010009587.tif 000025
2010009587.tif 000026
2010009587.tif 000027
2010009587.tif 000028
2010009587.tif 000029
2010009587.tif 000030