(57)【要約】  本明細書で説明される主題は、文書を印刷するために使用可能なフォントレンダリング情報（例えば、ＸＰＳファイル）を提供することに関する。例えば、文書内に含まれたフォントタイプを定義するフォントファイルが受信される。文書のページ量がサブセット化最適化しきい値を超えないことが判断される。そのページ量がしきい値を超えないとき、フォントタイプのサブセット化されたフォントファイルが生成される。スプールファイルを経由してなど、サブセット化されたファイルがプリントサブシステムに提供される。
2013529812.tif 000002
【特許請求の範囲】
【請求項１】
文書を印刷するために使用可能なフォントレンダリング情報を提供する方法であって、
印刷されるとき、あるページ量を生成する前記文書内に含まれたフォントタイプを定義するフォントファイルを受信するステップと、
前記ページ量がサブセット化最適化しきい値を超えないことを判断するステップと、
前記文書の少なくとも一部内に存在しない前記フォントタイプの要素を含まない前記フォントタイプのサブセット化されたフォントファイルを生成するステップと、
前記文書を印刷するために使用される前記サブセット化されたフォントファイルを提供するステップと
を含む方法。
【請求項２】
前記サブセット化されたフォントファイルを提供するステップが、固定レイアウト文書内に前記サブセット化されたフォントファイルを埋め込むステップを含む請求項１に記載の方法。
【請求項３】
前記固定レイアウト文書がＸＰＳ文書である請求項２に記載の方法。
【請求項４】
前記サブセット化最適化しきい値が１つまたは複数のテストグループ文書を使用して判断され、
テストグループ文書があるページセット量に分割可能であり、ページセットが印刷されるページのそれぞれのセットを含み、
前記サブセット化最適化しきい値が最適なページセット量とページのセット内の最適なページ量の積に等しい請求項１に記載の方法。
【請求項５】
前記最適なページセット量に適用される複数のサブセット化されたフォントファイルが要素重複しきい値を満たすあるサブセット化されたフォント要素重複量を含むように、前記最適なページセット量がヒューリスティックに判断される請求項４に記載の方法。
【請求項６】
前記最適なページ量のサブセット化されたフォントを生成するために必要とされる時間が期間しきい値を満たすように、前記最適なページ量がヒューリスティックに判断される請求項４に記載の方法。
【請求項７】
前記文書がページセットに分割可能であり、
前記サブセット化されたフォントファイルを生成するステップが、そのそれぞれがそれぞれのページセットに適用される複数のサブセット化されたフォントファイルを生成するステップを含む請求項１に記載の方法。
【請求項８】
第１のサブセット化されたフォントファイルが生成されるとき、第２のサブセット化されたフォントファイルの生成に先立って、前記第１のサブセット化されたフォントファイルがプリントサブシステムに転送される請求項７に記載の方法。
【請求項９】
前記第１のサブセット化されたフォントファイルを廃棄するように前記プリントサブシステムに通知するサブセット廃棄命令を送るステップをさらに含む請求項８に記載の方法。
【請求項１０】
前記フォントタイプのフォントサイズがフォントサイズしきい値を超えるとき、１つのサブセット化されたフォントファイルが生成されるように前記文書全体がサブセット化される請求項１に記載の方法。
【請求項１１】
前記文書がページセットに分割可能であり、
前記フォントタイプのフォントサイズがフォントサイズしきい値を超えないとき、前記サブセット化されたフォントファイルを生成するステップが、そのそれぞれがそれぞれのページセットに適用される複数のサブセット化されたフォントファイルを生成するステップを含む請求項１に記載の方法。
【請求項１２】
実行されると文書を印刷するために使用可能なフォントレンダリング情報を提供する方法を円滑にするコンピューター実行可能命令を記憶した１つまたは複数のコンピューター読み取り可能な媒体であって、前記方法が、
１つまたは複数のテストグループ文書に基づく、サブセット化最適化しきい値を判断するステップであって、
テストグループ文書が量のページセット量に分割可能であり、ページセットが印刷されるページのそれぞれのセットを含み、
前記サブセット化最適化しきい値が最適なページセット量とページのセット内の最適なページ量の積に等しい、判断するステップと、
あるページ量を含む、印刷される前記文書内に含まれるフォントタイプを定義するフォントファイルを受信するステップと、
前記ページ量が前記サブセット化最適化しきい値を超えないことを判断するステップと、
前記文書のページセットのサブセット化されたフォントファイルを生成するステップであって、前記ページセットのページ数サイズが前記最適なページ量に基づく、生成するステップと、
前記サブセット化されたフォントファイルをプリントサブシステムに提供するステップと
を含む１つまたは複数のコンピューター可読媒体。
【請求項１３】
前記最適なページセット量に適用される複数のサブセット化されたフォントファイルが要素重複しきい値を満たすあるサブセット化されたフォント要素重複量を含むように、前記最適なページセット量がヒューリスティックに判断される請求項１２に記載の１つまたは複数のコンピューター読み取り可能な媒体。
【請求項１４】
前記文書のページセットのサブセット化されたフォントファイルを生成するステップが、フォントサイズしきい値を満たす前記フォントタイプのサイズを条件とし、前記フォントタイプの前記サイズが前記フォントサイズしきい値を超えるとき、前記文書全体がサブセット化される請求項１２に記載の１つまたは複数のコンピューター読み取り可能な媒体。
【請求項１５】
コンピューティングデバイスを使用して実施され、文書を印刷するために使用可能なフォントレンダリング情報を提供するのを円滑にするシステムであって、
あるページ量を含む、印刷される前記文書内に含まれたフォントタイプを定義するフォントファイルを受信するサブセット化最適化装置と、
前記ページ量がサブセット化最適化しきい値を超えるかどうかを判断するページ数評価装置と、
前記文書の少なくとも一部内に存在しない前記フォントタイプの要素を含まない前記フォントタイプのサブセット化されたフォントファイルを生成するフォントサブセッターであって、前記サブセット化されたフォントファイルがプリントサブシステムに提供される、フォントサブセッターと
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントパスに関する最適化されたフォントサブセット化に関する。
【背景技術】
【０００２】
[0001]プリンティングソリューションにおいて固定レイアウト文書フォーマット（例えば、ＸＰＳ）を使用することは、後でスプールファイルとしてプリントサブシステムに渡される固定レイアウト文書（例えば、ＸＰＳ文書）の作成を全体に必要とする。多くの場合、この固定レイアウト文書は、固定レイアウト文書を複製するために使用されるフォントリソースを含む。他のコンピューティングデバイスはそのクライアントがアクセスを有したフォントを有さない場合があるため、フォントリソースを含むことは固定レイアウト文書がクライアントから別のコンピューティングデバイス（例えば、プリントサーバー）に送られるときに役立つ。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
すべてのフォントを固定レイアウト文書内に埋め込むことは、作成して、構成要素同士の間で伝達するために時間がかかる大型ファイルを生成する可能性がある。フォントをサブセット化すること（subsetting）（すなわち、ファイル内で使用される必要なフォント要素（例えば、グリフ）だけを含む同じフォントのより小さなバージョンを作成すること）は、ファイルのサイズを縮小することができるが、フォントをサブセット化することは、印刷の開始を遅らせる可能性がある。
【課題を解決するための手段】
【０００４】
[0002]本発明の実施形態は、本明細書ではなく、請求項によって規定される。その目的で、本開示の概要を提供して、詳細な説明の部分において下でさらに説明される概念の選択を紹介するために、本発明の様々な態様のハイレベル概要が提供される。この概要は、特許請求される主題の主な特徴または重要な特徴を識別することが意図されず、特許請求される主題の範囲を判断するための助けとして、分離して使用されることも意図されない。
【０００５】
[0003]本明細書で説明される主題は、文書を印刷するために使用可能なフォントレンダリング情報（例えば、ＸＰＳファイル）を提供することに関する。例えば、文書内に含まれたフォントタイプを定義するフォントファイルが受信される。文書のページ量がサブセット化最適化（ｓｕｂｓｅｔｔｉｎｇ−ｏｐｔｉｍｉｚａｔｉｏｎ）しきい値を超えないことが決定される。ページ量がしきい値を超えないとき、フォントタイプのサブセット化されたフォントファイルが生成される。サブセット化されたファイルは、スプールファイルを経由してなど、プリントサブシステムに提供される。
【０００６】
[0004]本発明の例示的な実施形態は、添付の図面を参照して、以下に詳細に説明される。
【図面の簡単な説明】
【０００７】
【図１】[0005]本発明の実施形態に従って使用するのに適したある例示的なコンピューティングデバイスを示すブロック図である。
【図２】[0006]本発明のある実施形態による、ある例示的な動作環境のブロック図である。
【図３】[0007]本発明のある実施形態による、ある例示的な動作環境のブロック図である。
【図４】[0008]本発明のある実施形態による、ある例示的な流れ図である。
【発明を実施するための形態】
【０００８】
[0009]本発明の実施形態の主題は、本明細書において法定要件を満たすために特異性を用いて説明される。しかし説明自体は、請求項の範囲を必ずしも制限することが意図されない。むしろ、特許請求される主題は、他の現在の技術もしくは将来の技術と共に、異なるステップ、または本書で説明されるステップに類似したステップの組合せを含めるために、他の様式で実施されることが可能である。個々のステップの順序が明記されていない限り、用語は本明細書で開示される様々なステップ間の任意の特定の順序を意味すると解釈されるべきではない。
【０００９】
[0010]概して、本発明のある実施形態は、文書を印刷するために使用可能なフォントレンダリング情報（例えば、ＸＰＳファイル）を提供することに関する。図２を簡単に参照すると、文書２１４内に含まれたフォントタイプ２１８を定義するフォントファイル２１６が受信される。ページ量２２０がサブセット化最適化しきい値を超えていないことが決定される。フォントタイプ（すなわち、フォントタイプＡ）のサブセット化されたフォントファイル２２２が生成される。矢印２２４によって示されるように、サブセット化されたフォントファイル２２２は、文書２１４を印刷する目的で使用されるために提供される。
【００１０】
[0011]実施形態を簡単に説明してきたが、次に本発明の実施形態を実施するためのある例示的な動作環境が示され、全体にコンピューティングデバイス１００として指定される図１が説明される。コンピューティングデバイス１００は、適切なコンピューティング環境の単なる一例であり、発明性のある実施形態の使用または機能性の範囲に関していかなる限定も示唆することが意図されない。コンピューティングデバイス１００は、例示される構成要素のうちのいずれか１つもしくはそれらの組合せに関して何らかの依存性または要件を有すると解釈されるべきではない。
【００１１】
[0012]本発明の実施形態は、携帯情報端末もしくはその他のハンドヘルドデバイスなど、コンピューターまたはその他の機械によって実行されている、プログラムモジュールなど、コンピューター実行可能命令を含めて、コンピューターコードまたは機械使用可能命令の一般的な文脈で説明される場合がある。一般に、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含むプログラムモジュールは、特定のタスクを実行するか、または特定の抽象データタイプを実施するコードを指す。本発明の実施形態は、ハンドヘルドデバイス、家庭用電化製品、汎用コンピューター、より詳細には、コンピューティングデバイスなどを含めて、様々なシステム構成の形で実現されることが可能である。本発明の実施形態は、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境で実行されることも可能である。
【００１２】
[0013]本発明の実施形態は、中でも、方法、システム、または１つもしくは複数のコンピューター可読媒体上で実施される命令のセットとして実施されることが可能である。コンピューター可読媒体は、揮発性媒体および不揮発性媒体、取外し可能媒体および取外し不可能媒体の両方を含み、データベース、スイッチ、および様々なその他のネットワークデバイスによって読み取り可能な媒体を企図する。例として、コンピューター可読媒体は、情報を記憶するための任意の方法または技術の形で実施される媒体を含む。記憶される情報の例は、コンピューター使用可能命令と、データ命令と、プログラムモジュールと、その他のデータ表現とを含む。媒体例は、情報配信媒体、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーまたはその他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、ホログラフィック媒体またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶媒体、およびその他の磁気記憶デバイスを含むが、これらに限定されない。これらの技術は、データを瞬間的に、一時的に、または永久的に記憶することができる。
【００１３】
[0014]図１を参照すると、コンピューティングデバイス１００は、以下のデバイス、すなわち、メモリー１１２と、１つまたは複数のプロセッサー１１４と、１つまたは複数の提示コンポーネント１１６と、入出力ポート１１８と、入出力構成要素１２０と、電力供給装置１２２とを直接的または間接的に結合するバス１１０を含む。バス１１０は、（アドレスバス、データバス、またはそれらの組合せなど）１つまたは複数のバスが何であり得るかを表す。図１の様々なブロックは分かり易くするためにラインを用いて示されているが、実際には、様々な構成要素を描くことはあまり明確ではなく、比喩的には、ラインはより正確にはグレイおよびファジーになる。例えば、ディスプレイデバイスなどの提示構成要素はＩ／Ｏ構成要素であると見なすことができる。さらに、プロセッサーはメモリーを有する。発明者らは、当技術分野の性質はそういうものであると認識し、図１の図は、本発明の１つまたは複数の実施形態に関して使用されることが可能な、ある例示的なコンピューティングデバイスを単に示すことをあらためて表明する。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルドデバイス」などの範疇はすべて図１および「コンピューティングデバイス」の参照の範囲内であることが企図されるため、これらは区別されない。
【００１４】
[0015]コンピューティングデバイス１００は、通常、様々なコンピューター可読媒体を含む。例として、コンピューター可読媒体は、所望される情報を符号化するために使用されることが可能であり、コンピューティングデバイス１００によってアクセスされることが可能なランダムアクセスメモリー（ＲＡＭ）、読出し専用メモリー（ＲＯＭ）、電気消去可能プログラマブル読出し専用メモリー（ＥＥＰＲＯＭ）、フラッシュメモリーまたはその他のメモリー技術、ＣＤＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光媒体もしくはホログラフィック媒体、磁気カセット、磁気テープ、磁気ディスクまたはその他の磁気記憶デバイス、搬送波または任意のその他の媒体を含むことが可能である。
【００１５】
[0016]メモリー１１２は、揮発性メモリーおよび／または不揮発性メモリーの形でコンピューター記憶媒体を含む。メモリーは、取外し可能であってよく、取外し不可能であってよく、またはそれらの組合せであってもよい。例示的なハードウェアデバイスは、固体メモリー、ハードドライブ、光ディスクドライブなどを含む。コンピューティングデバイス１００は、メモリー１１２またはＩ／Ｏ構成要素１２０など、様々なエンティティーからデータを読み取る１つもしくは複数のプロセッサー１１４を含む。（１つもしくは複数の）提示構成要素１１６は、ユーザーまたはその他のデバイスに対してデータ表示を提示する。例示的な構成要素は、ディスプレイデバイス、スピーカー、印刷構成要素、振動構成要素などを含む。
【００１６】
[0017]Ｉ／Ｏポート１１８は、コンピューティングデバイス１００が、そのうちのいくつかは内蔵型であってよい、Ｉ／Ｏ構成要素１２０を含む他のデバイスに論理的に結合するのを可能にする。例示的な構成要素は、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナー、プリンター、無線デバイスなどを含む。
【００１７】
[0018]次に図２を参照すると、本発明のある実施形態を実行するのに適したある例示的な動作環境が、参照番号２１０によって全体に示され、識別される。環境２１０は、文書２１４、２２６、および２２８と、サブセット化最適化装置２３０と、フォントサブセッター（ｓｕｂｓｅｔｔｅｒ）２３２と、プリントサブシステム２３４とを含む。本発明のある実施形態では、サブセット化最適化装置２３０およびフォントサブセッター２３２は、それぞれの文書２１４、２２６、および２２８がプリントサブシステム２３４に送られるのに先立って、文書ベースで文書２１４、２２６、および２２８を処理する。例えば、文書２１４がプリンター本位のフォーマット（例えば、ＸＰＳまたはその他の固定レイアウト文書フォーマット）に変換されるとき、サブセット化最適化装置２３０およびフォントサブセッター２３２は、スプールファイルサイズと、印刷が開始される（すなわち、印刷開始時間）前に経過した時間量とを最適化するように、サブセットフォント２１８、２３６、および２３８と協働する。文書２１４、２２６、２２８は、印刷されているとき、固定レイアウト文書フォーマットに変換可能な、ＤＩＲＥＣＴ２Ｄなど、様々なフォーマットを含むことが可能である。
【００１８】
[0019]文書２１４、２２６、および２２８、２３８のそれぞれは、フォントタイプ２１８、２３６、および２３８を含むとして示されている。同様に、それぞれのフォントタイプ２１８、２３６、および２３８は、フォントファイル２１６、２４０、および２４２を含む。一般に、フォントファイルは、フォントタイプのレンダリングをもたらすためにコンピューティングデバイスによって使用可能な要素（例えば、グリフ、文字、記号など）のセットを含めることによって、フォントタイプを定義する。例えば、フォントファイル２１６は、文書２１４内にフォントタイプ２１８をレンダリングするために使用可能な要素のセットを含む。例示のために、フォントタイプ２１８は「フォントタイプＡ」と示され、フォントタイプ２３６も「フォントタイプＡ」と示され、フォントタイプ２３８は「フォントタイプＺＸ」と示される。本発明のある実施形態では、フォントファイル２１６、２４０、および２４２は、フォントタイプのグリフがそれぞれの文書内に含まれているかどうかにかかわらず、それぞれのフォントをレンダリングするために使用される要素の完全なセットを含む。例えば、フォントファイル２１６は、フォントタイプ２１８のグリフが文書２１４内に含まれているかどうかにかかわらず、フォントタイプ２１８をレンダリングするために使用される要素の完全なセットを含む。それぞれの文書の１つのフォントタイプだけが図２に示されるが、文書２１４、２２６、および２２８のそれぞれは追加のフォントタイプを含むことも可能である。すなわち、例示のために、それぞれの文書２１４、２２６、および２２８は１つのフォントタイプを用いて示されるが、文書は、多くの場合、それぞれのページに、かつ文書を通して、複数の異なるフォントタイプを含む。加えて、文書２１４、２２６、および２２８のそれぞれは、ページ量２２０、２４４、および２４６を含む。すなわち、図２は、文書２１４が１７ページを含み、１７のうちの１ページが示されていることを例示する。同様に、文書２２６は２２ページを含み、２２ページのうち１ページが示されている。文書２２８は１４ページを含み、１４のうちの１ページが示されている。
【００１９】
[0020]別の実施形態では、サブセット化最適化装置２３０は、フォントファイル（例えば、２１６、２４０、および２４２）がサブセット化されるべきかどうかを判断する。フォントファイルをサブセット化するステップは、固定レイアウト文書を生成するとき、その文書内に含まれたフォントの要素（例えば、グリフ、文字、記号など）だけを含めるステップを含む。さらに、サブセット化最適化装置２３０は、フォントファイルがどのようにサブセット化されるべきかを判断する。サブセット化最適化装置２３０は、文書内に含まれたページ数（例えば、２２０、２４４、および２４６）が（以下でより詳細に説明される）サブセット化最適化しきい値を満たすかどうかを判断するページ数評価装置２４８を含む。例えば、文書内のページ数がサブセット化最適化しきい値を満たすとき、フォントファイルはサブセット化される。サブセット化最適化装置２３０は、フォントサイズがフォントサイズしきい値を超えるかどうかを判断するフォントサイズ評価装置２５２も含む。例えば、フォントのサイズがフォントサイズしきい値を超えるとき、そのフォントがページセット内で使用されるにつれて、フォントファイルをサブセット化するのではなく、文書全体を通した使用に基づいて、フォントファイルはサブセット化される。
【００２０】
[0021]サブセット化最適化しきい値をさらに説明するために図３を参照する。図３は、様々なテストグループ文書３１２、３１４、３１６、および３１８を示す。矢印３２０、３２２、３２４、および３２６によって示されるように、それぞれのテストグループ文書に関して複数のサブセット化されたフォントファイルが生成されるように、それぞれのテストグループ文書がサブセット化される。次いで、それぞれのサブセット化されたフォントファイルがそれぞれのプリントサブシステム３４６、３４８、３５０、および３５２に提供される。例えば、テストグループ文書３１２がサブセットであるとき、４つのサブセット化されたフォントファイル３２８、３３０、３３２、および３３４が生成される。すなわち、テストグループ文書３１２は、２０ページを含み、かつ５ページブロックにサブセット化され、それによって、４つのサブセット化されたフォントファイル３２８、３３０、３３２、および３３４を生成する。４つのサブセット化されたフォントファイル３２８、３３０、３３２、および３３４は、それぞれ、文書３１２の２０ページ内のページのそれぞれの範囲に適用される。すなわち、サブセット化されたフォントファイル３２８は、文書３１４のページ１〜５内に含まれたフォントタイプの要素を含み、ページ１〜５内に含まれていない要素を省く。
【００２１】
[0022]テストグループ文書３１４は、文書３１４に適用される５ページブロックとは異なるページブロックにサブセット化される。矢印３２２によって示されるように、文書３１４は４ページブロックにサブセット化され、それによって、５つのサブセット化されたフォントファイル３３６、３３８、３４０、３４２、および３４４を生成する。５つのサブセット化されたフォントファイル３３６、３３８、３４０、３４２、および３４４は、それぞれ、文書３１４の２０ページ内のページのそれぞれの範囲に適用される。例えば、サブセット化されたファイル３３６は、文書３１４のページ１〜４内に含まれたフォントタイプの要素を含み、ページ１〜４内に含まれていない要素を省く。テストグループ文書３１６は文書３１２および文書３１４の両方とは異なるページブロックにサブセット化される。文書３１８および矢印３２６は、テストグループ文書が任意のページ数（すなわち、１〜Ｎ）を含むことができ、任意のページ数（すなわち、１〜Ｚ）を有するページブロックにサブセット化されることが可能であることを例示する。
【００２２】
[0023]異なるページ数を有するテストグループ文書３１２、３１４、３１６、および３１８をサブセット化することは、効率性、文書を印刷するのに必要とされる時間、および印刷の開始に先立つ時間など、様々な印刷性能基準を考慮するとき、印刷性能全体に様々な影響を与える。例えば、５ページをサブセット化することは、４ページをサブセット化するよりもより長い時間がかかるため、５ページブロックにサブセット化することに対して、４ページブロックにサブセット化することは、文書３１４のサブセット化されたフォントファイル３３６がサブセット化されたフォントファイル３２８よりもより高速で（例えば、時間は矢印３４５によって示される）プリントサブシステムに提出されることを可能にし得る。やはり重要なのは、ページのセットのすべての図が完成されるまで、フォントバッチはプリンターに送られることができない点である。したがって、遅延は、サブセット化されたフォントを準備するためにかかる時間だけでなく、次のページのすべてを準備するためにかかる時間を含む場合がある。しかし、４ページブロックにサブセット化することは、サブセット化されたファイル３３６、３３８、３４０、３４２、および３４４のそれぞれの間により多い（すなわち、望まれない）量のサブセット化されたフォント要素重複を発生させる可能性がある。例えば、文書３１４がワード処理文書である場合、４ページブロックにサブセット化するとき、同じ要素が繰り返しサブセット化されるように、文書３１４のページ１〜４および文書３１４のページ５〜８は、フォントの同じ要素（例えば、文字）のロットを含むことが可能である。同じ要素を繰り返しサブセット化することは、結果として、望まれない非効率性をもたらす可能性がある。
【００２３】
[0024]本発明のある実施形態は、印刷開始時間および効率など、印刷性能基準の平衡を保つことに関する。例えば、印刷性能基準の平衡は、サブセット化されることが可能にされる文書のサイズ（例えば、ページ数）を制御することによって保たれる。加えて、基準の平衡は、フォントに関して生成されたサブセット化されるファイル量、ならびにサブセット化されるページセットのサイズ（すなわち、ページ数サイズ）を制御することによって、すなわち、バッチ処理に先立って、どれだけ多くのページがサブセット化されるかを制御することによって保たれる。さらに、基準の平衡は、サブセット化されるフォントファイルのサイズを制御することによって保たれる。すなわち、文書３１２、３１４、３１６、および３１８をサブセット化および印刷することによって生成されたデータは、サブセット化最適化解析装置３５４に提出される。サブセット化最適化解析装置３５４によって収集される例示的なデータは、スプールファイルを生成するためにかかる時間量と、印刷要求を開始するためにかかる時間量と、印刷要求を完了するためにかかる時間量と、スプールファイルのサイズと、サブセット化されたフォント要素重複量とを含む。
【００２４】
[0025]ある実施形態では、サブセット化最適化解析装置３５４は、収集されたデータを処理して、最適なサブセット化パラメータをヒューリスティックに判断する。サブセット化最適化解析装置３５４は、例示のために分解図３７２内に示される情報３７０を含む。分解図３７２は、最適なサブセット化パラメータが文書当たりの最適なページセット量３５６と、ページセット内の最適なページ数３５８とを含むことを示す。例えば、文書当たりの最適なページセット量３５６は、一般に、要素重複しきい値を満たす、あるサブセット化されたフォント要素重複量をもたらす文書当たりのページセット量を提供することができる。さらに、ページセット内の最適なページ数３５８は、一般に、スプールファイルを生成するために所望される最大時間を設定する期間しきい値を満たす期間内でサブセット化されることが可能である。文書当たりの最適なページセット量３５６とページセット内の最適なページ数３５８の積は、他の文書に関するサブセット化を管理するために使用されることが可能なサブセット化最適化しきい値３６０をもたらす。分解図３７２は、サブセット化最適化しきい値（Ｙ）が２０ページに等しいように、最適なページセット量（ｋ）が文書当たり４セットに等しく、セット内の最適なページ量（ｘ）がセット当たり５ページに等しい、ある例示的な実施形態を示す。
【００２５】
[0026]ページセット量とページセット当たりのページ量とを解析することに加えて、サブセット化最適化解析装置３５４は、印刷性能基準に影響を及ぼす他の要因を考慮に入れることができる。例えば、サブセット化最適化解析装置３５４は、どのようにサブセット化するかを判断するときに、フォントサイズがどのように考慮に入れられるべきであるかを解析することができる。すなわち、時として、フォントは文書内で実際に使用される大きなフォントサイズと要素の大きなスーパーセットと含む。そのようなシナリオでは、ページブロック内ではなく、印刷性能基準は文書全体を変換することによって最適化されることが判断され得る。したがって、サブセット化最適化解析装置３５４は、フォントサイズしきい値を判断することができ、フォントタイプのフォントサイズがフォントサイズしきい値を超えるとき、文書全体がサブセット化される。文書全体をサブセット化するとき、印刷の開始は遅れる場合があるが、フォントが文書内で実際に使用される大きなフォントサイズと要素の大きなスーパーセットとを含むとき、フォント処理時間およびスプールサイズの点で有利性が実現される。
【００２６】
[0027]図２に戻ると、ページ数評価装置２４８は情報２５０を含む。ある実施形態では、情報２５０は、図３で説明されたサブセット化最適化しきい値３６０など、サブセット化最適化しきい値を含む。したがって、印刷要求を処理するとき、ページ数評価装置２４８は、サブセット化最適化しきい値を参照して、印刷されることになるページ数がサブセット化最適化しきい値を超えるか、またはサブセット化最適化しきい値未満であるかを判断することができる。
【００２７】
[0028]サブセット化最適化装置２３０は、フォントタイプ（例えば、フォントタイプＡ）のフォントサイズがフォントサイズしきい値を超えるかどうかを判断するために使用可能なフォントサイズ評価装置２５２も含む。本発明のある実施形態では、フォントタイプのフォントサイズがフォントサイズしきい値を超えるとき、フォントタイプをページセットにサブセット化するのではなく、１つのサブセット化されたフォントファイルが生成されるように、フォントタイプは文書全体を通してサブセット化される。ある代替の実施形態では、フォントサイズ評価装置２５２は、フォントサイズしきい値を超えるフォントサイズを有するとして知られているフォントタイプのリストを含むことが可能である。したがって、フォントサイズ評価装置２５２がフォントファイルを受信するとき、フォントサイズ評価装置２５２は、そのリストを参照して、そのフォントファイルがそのフォント全体のサブセット化を催促するフォントサイズを含むと既に見なされているかどうかを判断することができる。
【００２８】
[0029]さらなる実施形態は、サブセット化最適化装置２３０からの指示と一致するフォントファイルをサブセット化するフォントサブセッター２３２を含む。例えば、サブセット化されたフォントファイルを生成するステップは、そのそれぞれが文書のそれぞれのページセットに適用される複数のサブセット化されたフォントファイルを生成するステップを含むことが可能である。そのようなシナリオでは、フォントサブセッター２３２は、第２のサブセット化されたフォントファイルの生成に先立って、文書を印刷するために使用されることになる第１のサブセット化されたフォントファイルを提供することができる。この点で、印刷はスプーリングが完了する前に開始されることが可能である。例えば、第１のページの印刷は、ページの第１のバッチがスプールされるのを待たずに開始されることが可能であり、すなわち、ページのバッチのフォントがサブセット化されている間に印刷が開始されることが可能である。文書のそれぞれのページセットは、ページセット内の最適なページ量（例えば、図３の３５８）に基づいて判断されることが可能である。さらなる実施形態では、サブセット化されたファイルがプリントサブシステムに提供されると、フォントサブセッター２３２は、サブセット化されたフォントファイルを廃棄するようにプリントサブシステムに通知するサブセット廃棄命令を伝達する。サブセット廃棄命令を提供することによって、プリントサブシステムはこの印刷ジョブの間にこの特定のフォントファイルが再度参照されないことを知るため、プリントサブシステムはそのメモリーリソースをより効率的に管理することができる。
【００２９】
[0030]別の実施形態では、フォントサブセッター２３２は、ページブロックにサブセット化するのではなく、文書のすべてを通してフォントをサブセット化する。例えば、フォントタイプのフォントサイズがフォントサイズしきい値を超えるとき、フォントサブセッター２３２は、１つのサブセット化されたフォントファイルが生成されるように、文書全体を通してフォントタイプをサブセット化する。
【００３０】
[0031]図４を参照すると、本発明のある実施形態で実行される動作のセットを概説する流れ図が示される。この動作のセットは参照番号４１０によって全体が示され、図４を説明するとき、図２および図３も参照される場合がある。動作４１０は、文書を印刷するために使用可能なフォントレンダリング情報を提供することに関する。動作４１１は、サブセット化最適化しきい値を判断するステップを含む。例えば、サブセット化最適化しきい値は、図３の説明に従って判断されることが可能である。同様に、サブセット化最適化しきい値は、サブセット化最適化装置２３０が情報２５０を参照するときなど、記憶された値を参照することによって判断されることが可能である。
【００３１】
[0032]さらなる実施形態では、動作４１２は、印刷されるとき、あるページ量を生成する文書内に含まれたフォントタイプを定義するフォントファイルを受信するステップを含む。例えば、フォントファイル２１６、２４０、および２４２のいずれかがサブセット化最適化装置２３０によって受信されることが可能である。すなわち、ライン２１５、２２７、および２２９はそれぞれ、それぞれのフォントファイルがサブセット化最適化装置２３０に伝達されていることを示す。フォントファイル２１６は、印刷されるとき、１７ページを生成する文書２１４内のフォントタイプ２１８を定義する。フォントファイル２４０は、印刷されるとき、２２ページを生成する文書２２６内のフォントタイプ２３６を定義する。示されるフォントファイル２１６および２４０は両方とも、「フォントタイプＡ」を含む同じフォントタイプを定義する。フォントファイル２４２は、印刷されるとき、１４ページを生成する文書２２８内のフォントタイプ２３８を定義する。フォントファイル２４２はフォントファイル２１６および２４０によって定義されたフォントタイプ以外の「フォントタイプＺＸ」を定義する。既に示されたように、それぞれの文書２１４、２２６、および２２８は１つのフォントタイプを用いて示されているが、文書は、多くの場合、それぞれのページ上に、かつ文書を通して、複数の異なるフォントタイプを含む。
【００３２】
[0033]動作４１４は、ページ量が、図３に関して説明されたサブセット化最適化しきい値など、サブセット化最適化しきい値を満たすかどうかを判断するステップを含む。例えば、サブセット化最適化しきい値が２０ページであると定義された場合、サブセット化最適化装置２３０は、（「１７」ページを示す）ページ量２２０がサブセット化最適化しきい値を超えないことを判断することができる。同様に、サブセット化最適化しきい値が２０ページであると定義された場合、サブセット化最適化装置２３０は、（「１４」ページを示す）ページ量２４６がサブセット化最適化しきい値を超えないことを判断することができる。他方で、サブセット化最適化しきい値が２０ページであると定義された場合、サブセット化最適化装置２３０は、（「２２」ページを示す）ページ量２４４がサブセット化最適化しきい値を超えることを判断することができる。ページ量がサブセット化最適化しきい値を超えるシナリオでは、動作４１５に示されるように、フォントタイプのすべてが固定レイアウト文書内に埋め込まれる。
【００３３】
[0034]動作４１６は、フォントタイプのフォントサイズがフォントサイズしきい値を超えるかどうかを判断するステップを含む。例えば、フォントサイズ評価装置２５２は、フォントタイプ２１８、２３６、または２３８のフォントサイズがフォントサイズしきい値を超えるかどうかを判断することができる。すなわち、フォントサイズしきい値が１０ＭＢを含み、フォントタイプ２１８が５ＭＢであった場合、フォントサイズ評価装置２５２は、フォントタイプ２１８のフォントサイズはフォントサイズしきい値を超えないことを判断することができる。別の例では、フォントサイズ評価装置２５２がフォントタイプ２３８のサイズが１０ＭＢしきい値を超えることを判断することになるように、フォントタイプ２３８は１５ＭＢであってよい。さらなる実施形態では、フォントサイズしきい値は、しきい値割合を適用することによってなど、動的である。例えば、フォントファイルが１０ＭＢであり、フォントタイプが５ＭＢを含む場合、フォントファイルがサブセット化されるように、フォントサイズしきい値は６０％であってよい。しかし、この例では、フォントタイプが７ＭＢを含む場合、フォント全体が送られる。別の実施形態では、フォントサイズ評価装置２５２は、フォントサイズしきい値よりもより高いフォントサイズを含む、知られているフォントタイプのリストを参照して、フォントタイプ２１８、２３６、または２３８がリストに記載されているかどうかを判断することができる。
【００３４】
[0035]動作４１０は、ページブロックのサブセット化されたフォントファイルを生成するステップ４１８、または文書全体のサブセット化されたフォントファイルを生成するステップ４２０のいずれかも含む。例えば、情報２５４、情報２５６、および情報２５８は、サブセット化最適化装置から伝達されている。情報２５４は、「Ｄｏｃ．１」と識別されて、文書２１４に対応する。情報２５６は、「Ｄｏｃ．３」と識別されて、文書２２８に対応する。情報２５８は、「Ｄｏｃ．２」と識別されて、文書２２６に対応する。フォントサブセッター２３２は、サブセット化最適化装置によって提供された指示と一致する「Ｄｏｃ．１」をサブセット化する。例えば、文書２１４のページ量２２０がサブセット化最適化しきい値を超えないとき、かつフォントタイプ２１８のフォントサイズがフォントサイズしきい値を超えないとき、フォントタイプ２１８はページブロックにサブセット化され（すなわち、動作４１８）、それによって、複数のサブセット化されたフォントファイル２２２、２６０、２６２、および２６４を生成する。複数のサブセット化されたフォントファイルのそれぞれは、文書２１４のページのそれぞれの範囲に適用される。例えば、サブセット化されたフォントファイル２２２は、文書２１４のページ１〜５内に含まれたフォントタイプ２１８の要素（例えば、グリフ）だけを含み、ページ１〜５内に含まれていない要素を除外する。
【００３５】
[0036]さらなる実施形態では、第１のサブセット化されたフォントファイル（例えば、２２２）が生成されるとき、第２のサブセット化されたフォントファイル（例えば、２６０）の生成に先立って、第１のサブセット化されたフォントファイルがプリントサブシステムに転送され、それによって、文書全体がサブセット化された場合よりもより早期に印刷を開始する。既に説明されたように、ページブロック内のページ数は、サブセット化最適化解析装置３５４によって判断されるページセット内の最適なページ量に基づくことが可能である。さらなる実施形態では、サブセット化されたフォントファイル２２２、２６０、２６２、および２６４がプリントサブシステム２３４に渡された後で、廃棄制御命令２６６、２６８、２７０、および２７２も伝達される。すなわち、サブセット化されたフォントファイル２２２が渡された後で、廃棄制御命令２６６が送られ、それによって、その時点までに提供されているフォントリソースを廃棄するようにプリントサブシステム２３４に命令する。
【００３６】
[0037]別の例として、文書２２８のページ量２４６がサブセット化最適化しきい値を超えないとき、かつフォントタイプ２３８のフォントサイズがフォントサイズしきい値を超えないとき、フォントタイプ２３８はＤｏｃ．３を通したその使用に基づいて、サブセット化され、それによって、単一のサブセット化されたフォントファイル２７４を生成する（すなわち、動作４２０）。さらに別の例として、文書２２６のページ量２４４（すなわち、「２２」ページ）がサブセット化最適化しきい値（例えば、２０ページ）を超えるとき、Ｄｏｃ．２はサブセット化されない。代わりに、フォントタイプ２３６のすべては印刷されることになる固定レイアウト文書内に埋め込まれる（すなわち、動作４１５）。
【００３７】
[0038]動作４２２は、文書を印刷するために使用されることになるサブセット化されたフォントファイルを提供するステップを含む。例えば、サブセット化されたフォントファイル２２２、２６０、２６２、２６４、および２７４がプリントサブシステム２３４に提供される。既に示されたように、サブセット化されたフォントファイル２２２、２６０、２６２、および２６４がプリントサブシステム２３４に渡された後で、廃棄制御命令２６６、２６８、２７０、および２７２も伝達される。
【００３８】
[0039]本発明の一実施形態は、文書を印刷するために使用可能なフォントレンダリング情報を提供する方法に関する。この方法は、印刷されるとき、あるページ量を生成する文書内に含まれたフォントタイプを定義するフォントファイルを受信するステップを含む。さらに、そのページ量がサブセット化最適化しきい値を超えないことが判断される。この方法は、文書の少なくとも一部内に存在しないフォントタイプの要素を含まないフォントタイプのサブセット化されたフォントファイルを生成するステップも含む。このサブセット化されたフォントファイルは文書を印刷するために使用されるように提供される。
【００３９】
[0040]本発明の別の実施形態は、実行されるとき、文書を印刷するために使用可能なフォントレンダリング情報を提供する方法を円滑にするコンピューター実行可能命令を記憶した１つまたは複数のコンピューター可読媒体に関する。この方法は、１つまたは複数のテストグループ文書に基づいてサブセット化最適化しきい値を判断するステップであって、テストグループ文書があるページセット量に分割可能であり、ページセットが印刷されることになるページのそれぞれのセットを含む、判断するステップを含む。このサブセット化最適化しきい値は、最適なページセット量とページのセット内の最適なページ量の積に等しい。ある量のページを含む、印刷されることになる文書内に含まれたフォントタイプを定義するフォントファイルが受信される。そのページ量がサブセット化最適化しきい値を超えないことが判断される。この方法は、文書のページセットのサブセット化されたフォントファイルを生成するステップであって、ページセットのページ数サイズが最適なページ量に基づく、生成するステップも含む。このサブセット化されたフォントファイルはプリントサブシステムに提供される。
【００４０】
[0041]さらなる実施形態は、コンピューティングデバイスを使用して実施され、文書を印刷するために使用可能なフォントレンダリング情報を提供するのを円滑にするシステムに関する。このシステムは、あるページ量を含む、印刷されることになる文書内に含まれたフォントタイプを定義するフォントファイルを受信するサブセット化最適化装置を含む。このシステムは、そのページ量がサブセット化最適化しきい値を超えるかどうかを判断するページ数評価装置も含む。このシステムは、文書の少なくとも一部内に存在しないフォントタイプの要素を含まないフォントタイプのサブセット化されたフォントファイルを生成するフォントサブセッターであって、サブセット化されたフォントファイルがプリントサブシステムに提供される、フォントサブセッターをさらに含む。
【００４１】
[0042]示される様々な構成要素の多くの異なる構成、ならびに示されない構成要素が下の請求項の範囲から逸脱せずに可能である。本発明の実施形態は、限定的ではなく、例示的な目的で説明されている。代替の実施形態は、本開示を読んだ後で、本開示を読むことにより、本開示の読者に明らかになるであろう。前述の実施形態を実施する代替様式は、下の請求項の範囲から逸脱せずに企図され得る。ある種の特徴および下位組合せは実用的であり、他の特徴および下位組合せを参照せずに用いられることが可能であり、請求項の範囲内であることが企図される。
【図１】
2013529812.tif 000003
【図２】
2013529812.tif 000004
【図３】
2013529812.tif 000005
【図４】
2013529812.tif 000006
【国際調査報告】
2013529812.tif 000007
2013529812.tif 000008
2013529812.tif 000009