(57)【要約】  コンピュータ実行方法は、受信電子文書のコンテンツを、該電子文書のコンテンツ内に含まれた１つ以上のフォントの各固有の文字を識別するよう、自律的な方法で分析する過程を有する。該方法はまた、該電子文書のコンテンツ内に含まれた該１つ以上のフォントのサブセットの要求を開始させる過程を有し、該要求はそれぞれの該１つ以上のフォントの各識別された固有の文字を含んでいる。【選択図】  図２
2013533527.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行方法であって、
受信した電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始する過程と、を具備しており、該要求がそれぞれの該１つ以上のフォントの該各識別された固有の文字を含む、該コンピュータ実行方法。
【請求項２】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースを識別する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項３】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項４】
自律的な方法で受信電子文書のコンテンツを分析する過程がエージェントを実行する過程により開始される請求項１に記載のコンピュータ実行方法。
【請求項５】
該受信電子文書のコンテンツを分析する過程が該文書内に表現される該文字を識別するために該電子文書のコンテンツを構文解析する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項６】
該受信電子文書のコンテンツを分析する過程が、該電子文書のコンテンツ内に含まれる該１つ以上のフォントの各々の各固有の文字を識別するために、該電子文書内で表現された該識別された文字をフィルターにかける過程を備える請求項５に記載のコンピュータ実行方法。
【請求項７】
該１つ以上のフォントのサブセットの要求を開始する過程が該識別された文字を該要求に付加する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項８】
該要求への応答が該フォントの１つの全ての文字を有する請求項１に記載のコンピュータ実行方法。
【請求項９】
該電子文書のコンテンツを分析する過程がプラットフォームに依存しないで行われる請求項１に記載のコンピュータ実行方法。
【請求項１０】
システムであって、
要求時に、コンピュータデバイスにエージェントを提供するフォントサーバーであって、該コンピュータデバイスにより受信された電子文書のコンテンツを分析する該エージェントを提供する該フォントサーバーを具備しており、該エージェントにより行われる該分析は該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別しており、
該フォントサーバーは、該コンピュータデバイスからの要求時、該１つ以上のフォント用のサブセットを、各該フォントサブセットがそれぞれの該フォントの各識別された固有の文字を含むように、作るよう構成されており、そして
該フォントサーバーが、各該フォントサブセットを該コンピュータデバイスへ送信する過程を開始するよう更に構成される、該システム。
【請求項１１】
該受信電子文書のコンテンツの分析により、該エージェントが該１つ以上のフォント内に含まれるフォントのソースを識別する請求項１０に記載のシステム。
【請求項１２】
該受信電子文書のコンテンツの分析により、該エージェントが該１つ以上のフォント内に含まれるフォントのソースの不在を識別する請求項１０に記載のシステム。
【請求項１３】
該コンピュータデバイスが該受信電子文書のコンテンツを分析するために該フォントサーバーから受信した該エージェントを実行する請求項１０に記載のシステム。
【請求項１４】
該エージェントが該文書内に表現された該文字を識別するために該電子文書のコンテンツを構文解析する請求項１０に記載のシステム。
【請求項１５】
該エージェントが、該電子文書のコンテンツ内に含まれた該１つ以上のフォントの各々用の各固有の文字を識別するために、該文書内に表現された該識別された文字をフィルターにかける請求項１４に記載のシステム。
【請求項１６】
該エージェントが該フォントサーバーへの要求の作成を開始する請求項１０に記載のシステム。
【請求項１７】
該エージェントが該コンピュータデバイスの種類に依存しないで動作するよう構成される請求項１０に記載のシステム。
【請求項１８】
該フォントサーバーが該フォントサブセット内に含めるべきフォント文字の部分を決定するよう構成される請求項１０に記載のシステム。
【請求項１９】
該フォントサブセット内に含める該フォント文字の部分が該フォントの全文字を含む請求項１８に記載のシステム。
【請求項２０】
該フォントサーバーが該作成されたフォントサブセットを該受信電子文書に関連させる請求項２０に記載のシステム。
【請求項２１】
コンピュータデバイスであって、
インストラクションを記憶するよう構成されたメモリーと、そして
プロセッサであって、
受信電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、そして
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始する過程と、を有しており、該要求がそれぞれの該１つ以上のフォントの各識別された固有の文字を含む、方法を行うために該インストラクションを実行するよう構成された該プロセッサと、を具備する該コンピュータデバイス。
【請求項２２】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースを識別する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２３】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２４】
受信電子文書のコンテンツを自律的な方法で分析する過程がエージェントを実行する過程により開始される請求項２１に記載のコンピュータデバイス。
【請求項２５】
該受信電子文書のコンテンツを分析する過程が、該文書内に表現された該文字を識別するために該電子文書のコンテンツを構文解析する過程を有する請求項２１に記載のコンピ
ュータデバイス。
【請求項２６】
該受信電子文書のコンテンツを分析する過程が、該電子文書のコンテンツ内に含まれる該１つ以上のフォントの各々用の各固有の文字を識別するために、該電子文書内に表現された該識別された文字をフィルターにかける過程を有する請求項２５に記載のコンピュータデバイス。
【請求項２７】
該１つ以上のフォントのサブセットの要求を開始する過程が該識別された文字を該要求に付加する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２８】
インストラクションを記憶する１つ以上のコンピュータ読み出し可能な媒体であって、該インストラクションは処理デバイスにより実行可能であり、かつ該インストラクションはこの様な実行時、該処理デバイスに、
受信電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始させる過程と、を有し、該要求がそれぞれの該１つ以上のフォントの各該識別された固有の文字を含んでいる動作を行わせる、該インストラクションを記憶する該１つ以上のコンピュータ読み出し可能な媒体。
【請求項２９】
該電子文書のコンテンツを分析する過程が、該１つ以上のフォント内に含まれるフォントのソースを識別する過程を有する請求項２８に記載のコンピュータ読み出し可能な媒体。
【請求項３０】
該電子文書のコンテンツを分析する過程が、該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を有する請求項２８に記載のコンピュータ読み出し可能な媒体。
【請求項３１】
受信電子文書のコンテンツを自律的な方法で分析する過程が、エージェントを実行する過程により開始される請求項２８に記載のコンピュータ読み出し可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本説明はフォントサブセットの作成及びデリバリの開始に関する
【背景技術】
【０００２】
インターネットの様なコンピュータネットワークにより提供される益々拡大する接続性で、二、三のコンピュータデバイス又は大衆に対する放送の間でテキスト、グラフィックス、オーディオ、ビデオ他の様な種々の種類のコンテンツが交換される。この様な接続性の故に、地球上の種々の領域中に位置するユーザーはコンテンツプロバイダーにアクセスし、該プロバイダーは種々の国民性と文化のユーザーにコンテンツを提供する柔軟性を要する。例えば、北米のユーザーに提供されるコンテンツはアジア人のユーザーには認識されなくてもよい。この様であるから、プロバイダーは特定の地理的領域内のユーザー用にコンテンツを誂えたり、異なるユーザーに調整可能なコンテンツを提供してもよい。
【発明の概要】
【０００３】
ここに説明するシステム及び技術はフォントサブセットの作成及びデリバリに関する。
【０００４】
１側面では、コンピュータで実行される方法は、受信電子文書のコンテンツを、該電子文書のコンテンツに含まれた１つ以上のフォントの各固有の文字を識別するために、自律的な方法での分析する過程を含む。該方法はまた、該電子文書のコンテンツに含まれた該１つ以上のフォントのサブセットの要求を開始する過程を含み、該要求はそれぞれの該１つ以上のフォントの各識別された固有の文字を含む。
【０００５】
実施例は下記特徴の何れか又は全てを含む。該電子文書のコンテンツの分析は、該１つ以上のフォント内のフォントのソース、又はフォントの含まれるソースの不在、を識別する過程を含む。受信電子文書のコンテンツの自律的な方法での分析はエージェントの実行により開始されてもよい。該受信電子文書のコンテンツの分析は、該文書内に表現された文字を識別するために該電子文書のコンテンツの構文解析を含んでもよい。該受信電子文書のコンテンツの分析は、該電子文書のコンテンツに含まれる該１つ以上のフォントの各々について各固有の文字を識別するために、該電子文書内に表現される該識別された文字のフィルタリングを含む。該１つ以上のフォントのサブセットの要求の開始は、要求への該識別された文字の付加を含む。該要求への応答は該１つ以上のフォントの文字全部を含んでもよい。該電子文書のコンテンツの分析はプラットフォームに依存しないで行われてもよい。
【０００６】
もう１つの側面では、システムは、コンピュータデバイスに、該コンピュータデバイスにより受信された電子文書のコンテンツを分析するエージェントを、要求時に、提供するフォントサーバーを有する。該エージェントにより行われる該分析は、該電子文書のコンテンツに含まれる１つ以上のフォントの各固有の文字を識別する。該フォントサーバーは、該コンピュータデバイスから要求されると、該１つ以上のフォントのサブセットを作成するよう構成され、そこでは各フォントサブセットはそれぞれのフォントの各識別された固有の文字を含む。該フォントサーバーは各フォントサブセットの該コンピュータデバイスへの送信を開始するよう更に構成される。
【０００７】
実施例は下記特徴の何れか又は全てを有する。受信電子文書のコンテンツを分析すると、エージェントは該１つ以上のフォント内に含まれる、フォントのソース又はフォントのソースの不在を識別する。コンピュータデバイスは受信電子文書のコンテンツを分析するために該フォントサーバーから受信したエージェントを実行する。該エージェントは該文
書内に表現される文字を識別するために該電子文書のコンテンツを構文解析する。該エージェントは、該電子文書のコンテンツ内に含まれた該１つ以上のフォントの各々の各固有の文字を識別するために、該文書内に表現された、該識別された文字をフィルターにかける。該エージェントはフォントサーバーへの要求の作成を開始する。該エージェントはコンピュータデバイスの種類に依存せずに動作するよう構成される。該フォントサーバーはフォントサブセット内に含むべきフォント文字の部分を決定するよう構成され、フォントサブセット内に含むべきフォント文字の部分は該フォントの全文字を含んでもよい。該フォントサーバーは該作成されたフォントサブセットを該受信電子文書に付随させる。
【０００８】
もう１つの側面では、コンピュータデバイスはインストラクションを記憶するよう構成されたメモリーと、方法を行うためインストラクションを実行するよう構成されたプロセッサと、を有する。該方法は、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、受信電子文書のコンテンツを自律的な方法で分析する過程を有する。該方法はまた、該電子文書のコンテンツ内に含まれた該１つ以上のフォントのサブセットの要求を開始する過程を有する。該要求はそれぞれの該１つ以上のフォントの各識別された固有の文字を含む。
【０００９】
実施例は下記特徴の幾つか又は全てを有する。電子文書のコンテンツの分析は該１つ以上のフォントに含まれる、フォントのソース又はフォントのソースの不在、を識別する過程を含む。受信電子文書のコンテンツの自律的な方法での分析は、エージェントを実行する過程により開始される。受信電子文書のコンテンツの分析は該文書内に表現される文字を識別するために該電子文書のコンテンツを構文解析する過程を有する。受信電子文書のコンテンツの分析は、該電子文書のコンテンツ内に含まれる該１つ以上のフォントの各々について各固有の文字を識別するために、該電子文書内に表現された該識別された文字をフィルターにかける過程を含む。該１つ以上のフォントのサブセットの要求の開始は該識別された文字を要求に付加する過程を含む。
【００１０】
もう１つの側面では、１つ以上のコンピュータ読み出し可能な媒体はインストラクションを記憶しており、該インストラクションは処理デバイスにより実行可能であり、かつ、該インストラクションは、この様な実行をした時、該処理デバイスに、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、受信電子文書のコンテンツを自律的な方法で分析する過程を含む動作を行わせる。該動作はまた、該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始する過程を有する。該要求はそれぞれの該１つ以上のフォントの各識別された固有の文字を含む。
【００１１】
実施例は下記特徴の何れか又は全てを含んでもよい。該電子文書のコンテンツの分析は該１つ以上のフォント内に含まれたフォントのソース又はフォントのソースの不在の識別する過程を含む。受信電子文書のコンテンツの自律的な方法での分析はエージェントを実行することにより開始されてもよい。
【００１２】
これら及び他の側面及び特徴とそれらの種々の組み合わせは、方法、装置、システム、機能を実行するための手段、プログラム製品として、そして他の方法で、表されてもよい。
【００１３】
他の特徴及び利点は説明及び請求項から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】コンピュータネットワークを通して転送されてもよい例示コンテンツを図解する。
【図２】インターネットベースのコンピュータネットワークのブロック線図である。
【図３】フォントプロバイダーからソフトウエアエージェント及びフォントサブセットを要求し、デリバリする過程を図解する。
【図４】ウェブページを作成する例示用フアイルである。
【図５−７】コードインストラクションの例を図解する。
【図８】ソフトウエアエージェントの動作の例示フローチャートである。
【図９】コンピュータデバイスとシステムのブロック線図である。
【実施例】
【００１５】
図１を参照すると、コンピュータデバイス［例えば、コンピュータシステム、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話他］のユーザーによりインターネット（又は他の種類のコンピュータネットワーク）を通してアクセスされる例示用ウェブページ１００が図解される。例えば、適当なユニフォームリソースロケーター（ＵＲＬ）をウェブブラウザーへ提供することにより、該ウェブページはアクセスされ、パッケージされ、ディスプレー用に対応するコンテンツプロバイダーからユーザーのコンピュータデバイスへ送られてもよい。図解された例では、ウェブページ１００のコンテンツは誕生日パーティ招待状であり、該招待状はテキストとグラフィックスを有し、特定のＵＲＬ（すなわち、ｗｗｗ．ｉｎｖｉｔｅ．ｃｏｍ）からアクセスされてもよい。眼を引く招待状を提供するために、種々のタイプフェースを提供する多数のフォントが使われ、該タイプフェースの各々は様式的文字（ｓｔｙｌｉｓｔｉｃ  ｃｈａｒａｃｔｅｒｓ）又はグリフを提供すると考えられる。“文字”は情報の構成、管理及び表現用に使われる形状のセットのメンバーと考えられ、“グリフ”は文字の特定のインスタンスと考えられてもよい。
【００１６】
一旦アクセスされると、コンテンツプロバイダーはウェブページ１００のコンテンツをユーザーのコンピュータデバイスへ提供するために１つ以上の技術を使う。例えば、ウェブページ１００は該ウェブページ１００がコンピュータデバイスにより実行されるブラウザーに適合するよう、ハイパーテキストマークアップ言語（ＨＴＭＬ）の様なマークアップ言語を使う１つ以上のファイル（例えば、ファイル１０２）で表されてもよい。ＨＴＭＬ、ＣＳＳ、ＸＭＬ用のワールドワイドウェブコンソーシアム（Ｗ３Ｃ）標準の様な標準及び他の標準は、該ウェブページ１００が電子的コンテンツを表示出来る種々の種類のプラットフォーム（例えば、パーソナルコンピュータ、無線電話、パーソナルデジタルアシスタント、手持ちコンピュータ、セットトップボックス及びインターネット家電他）上で適切にレンダーリングされるように、ブラウザーにより実行される。
【００１７】
グラフィックス（例えば、この場合バースデイケーキのグラフィックス）を提供すると共に、該１つ以上のＨＴＭＬファイルは該ウェブページ上のテキストをレンダーリングするため使われた１つ以上のフォントを参照する。図解用に、該招待状と関連する情報を提供するために５つの異なるフォントがウェブページ１００上で使われる（例えば、時間、月日、場所、イベント説明及びメニュー）。この様であるから、該ＨＴＭＬファイル１０２は、受信するコンピュータデバイスが、どのフォントがテキスト情報の各部分に対応するかを知るよう、各フォントを呼び出す（例えば、タイムズニューロマンフォントで月日を表す）。ＨＴＭＬファイル１０２に含まれるインストラクションを受信し、実行すると、受信コンピュータデバイスはテキストを表すために必要なフォントをローカルに検索する。しかしながら、可成りな量のコンピュータデバイスは、該ウェブページをレンダーリングするのに必要な各フォントの全ての文字をローカルに記憶することは出来ない。限られたリソース（例えば、メモリー）と新フォントの種類の絶えざる創生は、各種のコンピュータデバイスが、何れか、そして全てのフォントでテキストを表示するよう用意することを制限する。種々の言語に付随するフォントは、多くのコンピュータデバイスが全フォントの種類を提供することが出来ないという問題を展開する。中国語、日本語、韓国語他の様な言語は、数万と数える文字のアルファベットを使い（例えば１０，０００文字以上）、１つの言語の文字の記憶に１メガバイトから２０メガバイトのメモリーを要求する。この様なメモリーの要求はローバスト性の低いオンボードメモリーを有するコンピュータデバイス（例えば、携帯電話）用には特に非実用的である。更に（特定のウェブページを表すために）セットからは２、３文字しか必要でないなら、例え２、３フォント用にも完全な文字セットを記憶することは非効率的である。図解する例を参照すると、比較的少ない数のタイムズニューロマンフォント文字しかイベント月日を表すのに必要でなく（例えば、“Ａ”、“ｐ”、“ｒ”、“ｉ”、“ｌ”、“２”、“０”、“ｔ”及び“ｈ”）、確かに完全な文字セットが各可能性があるユーザー言語（例えば、英語、中国語、日本語他）用に記憶されるなら、完全なフォント文字セットを記憶することはデバイスメモリーの賢明でない使用法と考えられる。
【００１８】
ローカルメモリーの使用を節約するために、或る従来の技術は受信されたウェブページコンテンツ（例えば、ＨＴＭＬファイル）と共に完全なフォントセットを供給するか、又は該ウェブページに関連するファイルを受信した時、必要なフォントの完全な文字セットの検索を開始する。しかしながら、この様な技術はなお、現実にはほんの２、３文字が該ウェブページにより使われる時でも、コンピュータデバイスメモリーをフォント文字の集積で充たさせる。例えば、図で図解される様に、コンピュータデバイス上にウェブページ１００を表すために、完全なフォント文字セット１０４、１０６、１０８、１１０、１１２が、ＨＴＭＬファイル１０２と一緒に提供される。この様であるから、該ウェブページ１００により使われる５つのフォントの各可能性がある文字がコンピュータデバイスに提供され、それにより該コンピュータデバイスのメモリーの相当の量を消費する。
【００１９】
フォントを転送するのに必要な時間はバンド幅消費と共に、懸念をもたらす。例えば、中国語、日本語そして韓国語の様な言語に付随するフォントの完全な文字セットの転送は多量のバンド幅と転送時間を要する。
【００２０】
ウェブページ１００の様なウェブページを表すよう準備するために、ファイル転送時間、バンド幅消費そして必要なメモリー空間を減じるよう１つ以上の技術が使われる。例えば、各フォント用に完全な文字セットを提供するより、該ウェブページ内に現れる文字のみを含むフォントサブセットが提供されてもよい。この様にすると、ウェブページ表現用の適当なセットのフォント文字が提供されながら、ファイル転送時間とバンド幅の要求が減じられ、デバイスメモリーが温存される。図解例を参照すると、フォント文字セット１０４−１１２の各々はＨＴＭＬファイル１０２と共に、或いは該ファイルの受信後比較的早く、提供され得る、著しく小さいフォントサブセットで、置き換えられる。文字の様式的な外観用のフォントサブセットに基づく転送時間及びバンド幅の要求の減縮と同様に、種々の言語に関連するフォントサブセットの提供についてもまた、削減が達成される。例えば、もしウェブページが３００の中国語文字しか含まないなら、該３００文字しか含まないよう制限されたフォントサブセットを提供することは一層効率的であり、転送フォントデータの規模を約１０ＭＢから５０ｋＢに減じる。或る状況では、サブセットは或るフォント文字セット用に作られる（例えば、該中国語文字セット）が、他のフォント文字セットは完全なセットとして送られてもよい。例えば、比較的少数の文字が完全なフォントセットに含まれる（例えば、ラテン語文字セット）ので、サブセットの創生、転送は文字セット全体を転送するのに必要なバンド幅と時間を著しくは減じない。ウェブページ又は他の種類の電子文書を表すためにコンピュータデバイスへ提供されるフォント文字セット
のサイズを減じると共に、この様なフォントサブセットをコンピュータデバイスへ効率的に提供するよう１つ以上の技術が実施されてもよい。例えば、該ウェブページを表すと共に、適切なフォントサブセットを識別し、次いで該識別されたサブセットを要求するよう、該ユーザーのコンピュータデバイスが使われてもよい。
【００２１】
図２を参照すると、コンピュータネットワーク２００はコンピュータシステム２０２を有し、該コンピュータシステムはユーザーが、該コンピュータシステムで表されるべき目標ウェブページを識別するために、対応して（例えばキーボード又はマウスの様なポインティングデバイスを使って）相互作用する相手である。例えば、ウェブブラウザー２０４又は同様のソフトウエアアプリケーションは１つ以上のウェブページを対象とするためにユーザー用の該コンピュータシステム２０２により実行されてもよい。識別されると、該ウェブブラウザー２０４の動作は、インターネット２０６を経由して、目標ウェブページ（複数を含む）用の１つ以上のウェブページソース２０８ａ、ｂ、ｃからコンテンツを要求することを含む。図解される様に、この特定の例では、ウェブページのページがウェブページソース２０８ａから要求され、対応するＨＴＭＬファイル２１０が該ソースからインターネットを通してコンピュータシステム２０２へ送られる。
【００２２】
該ＨＴＭＬファイル２１０により規定されるウェブページを表すために適当なフォントサブセットを識別するために、該コンピュータシステム２０２は１つ以上の技術を使う。例えば、該ファイルにより規定されるウェブページ内に含まれる個別フォント文字を識別するために、該ＨＴＭＬファイル２１０を走査する動作が該コンピュータシステム２０２により実行されてもよい。１つの構成では、該コンピュータシステム２０２は、個別フォント文字を識別し、該ウェブページを表すために必要な（もし適当なら）フォントサブセットの作成を開始する要求を送るためにソフトウエアエージェント２１２を実行してもよい。この様なエージェントは実質的に自律的な方法で実行可能なソフトウエアモジュールと考えられてもよい。例えば、コンピュータシステム２０２に提供されると、ソフトウエアエージェントは重要なユーザーの相互作用無しに動作する。幾分柔軟に動作することにより、該ソフトウエアエージェントはウェブページ表現に必要なフォント文字を適応式に識別することが出来る。この特定の例では、該ソフトウエアエージェント２１２は、該フォント文字を識別するために幾分一貫した仕方で該ＨＴＭＬファイル２１０のコンテンツを走査する。例えば、該ソフトウエアエージェントは実質的に連続した仕方で実行してもよい。或る構成では、該ソフトウエアエージェントは、該ファイル又は複数ファイル（例えば、該ＨＴＭＬファイル２１０）のデリバリの後、直ぐにユーザーのコンピュータデバイス（例えば、コンピュータシステム２０２）へ提供される。この様であるから、ウェブページ、アプリケーションページ、ユーザーインターフェース等の様な電子文書は、該文書が受信される時、殆ど実時間で走査される様に認識される。
【００２３】
コンピュータネットワーク２００はまた、ソフトウエアエージェント（例えば、ソフトウエアエージェント２１２）により提供され、ユーザーのコンピュータデバイス（例えば、コンピュータシステム２０２）により実行される情報に基づき、フォントサブセットを（適当である時に）作成することを決定するフォントプロバイダー２１４を有する。一旦作成されると、該サブセット又は複数サブセット（例えば、フォントサブセット２１６として図解される）はパッケージされ、フォントプロバイダー２１４により要求したコンピュータデバイスへ送られる。１つ以上のフォントサブセットを作る決定と共に、該フォントプロバイダー２１４はまた、該要求したコンピュータデバイスへ完全なフォント文字セットが提供されるべきかどうかを決定することも出来る。例えば、フォントサブセットが送られるべきかどうかの決定で、予め規定されたルールが該フォントプロバイダー２１４により使われてもよい。１つのこの様なルールは、完全な文字セットが大きいサイズだから、フォント文字セットが組み合わされる特定言語（例えば中国語）はサブセットを創るべきである、ことを示してもよい。サブセット決定はまた、ダイナミックな仕方でもたら
されてもよい。例えば、達成可能なファイル転送速度に基づき、ファイルサイズしきい値（例えば、２ＭＢ）はサブセットが該しきい値より大きい文字セット用に作られるよう決定されてもよい。もしフォント文字セットサイズが該しきい値の下に低下するなら、該ファイル転送速度が効率的範囲内と考えられるので文字セット全体が送られてもよい。この様なしきい値は、例えば、達成可能な転送速度をモニターすることによりダイナミックに調整され、該しきい値が変えられてもよい。例えば、達成可能な転送速度のレベルが低下した時、文字セット用のサブセットを創るしきい値は対応して低下してもよい（例えば、２ＭＢから１ＭＢへ下げられる）。１つ以上の要因により転送速度が効率的範囲内にあると決められてもよい。例えば、ユーザーのコンピュータデバイスと、フォントプロバイダーと、の地理的位置が、完全な文字セットの代わりにサブセットが作成され、送られるべきかどうかの要因に入れられてもよい。もしフォントプロバイダーとユーザーのコンピュータデバイスとの両者が比較的近くに位置するなら（例えば、両者が米国東部内にある）、比較的高い転送速度が達成可能で、文字セット全体が送られてもよい。ユーザーのコンピュータデバイスが該フォントプロバイダーから遠隔にある状況では（例えば、１つは米国内、もう１つはインド内にある）、該フォントプロバイダーは送られるべきフォント文字セットをサブセットとするよう決定してもよい。サブセットが送信用として識別された１つ以上のフォント文字セット用に作成される必要があるかどうかを決定するために、位置ベースの決定と同様に、時刻、年のシーズンそして他の時間的要因が、フォントプロバイダーにより使われてもよい。
【００２４】
或る構成では、フォントプロバイダー２１４もまた、文字識別用に受信ファイル（例えば、ＨＴＭＬファイル２１０）を走査するためにソフトウエアエージェントを該コンピュータデバイスに提供してもよい。この様であるから、フォントプロバイダー２１４はウェブページソース２０８ａ、ｂ、ｃから独立して動作してもよい。一旦、ユーザーコンピュータデバイスからの要求が受信されると、フォントプロバイダー２１４は適当なエージェントソフトウエアを該要求デバイスへ提供する。一旦電子文書がソフトウエアエージェントにより走査されると、該実行エージェントにより開始される要求に基づいて、適当なフォントとフォントサブセットが該フォントプロバイダー２１４により提供される。
【００２５】
フォント及びフォントサブセットを提供するために、フォントプロバイダー２１４は典型的に該フォントプロバイダーにとってローカルに、又は遠隔地に記憶されたフォントの１つ以上のライブラリーへアクセスする必要がある。図で表される様に、フォントのライブラリー２１８はサイト上の記憶デバイス２２０（例えば、１つ以上のハードドライブ、ＣＤ−ＲＯＭｓ他）に記憶されるように示される。サーバー２２２によりアクセス可能なので、該フォントライブラリー２１８はソフトウエアエージェントから提供される情報と一緒に使われ、（もし該フォントプロバイダーにより適当と決定されるなら）完全なフォント文字セットと一緒に提供されてもよい適当なフォントサブセットを作成する。１つの記憶デバイス２２０内に記憶されるよう図解されているが、該フォントプロバイダー２１４はアクセス可能なフォントのセットの集合を保持するために、数多くの記憶技術とデバイスを使ってもよい（例えば、種々のフォント様式、言語他）。フォントプロバイダー２１４はまた、サブセット作成用の別の場所のフォントへアクセスしてもよい。例えば、フォントサブセット用に必要な文字を識別すると、サーバー２２２は該フォントプロバイダー２１４の外部の１つ以上のソースから必要な文字を集めるために使われてもよい（例えばインターネット２０６を経由して）。
【００２６】
フォントサブセットの作成とそれらの要求するコンピュータデバイスへの提供（もし適当なら、完全なフォントセットと一緒に）と共に、フォントプロバイダー２１４は他の機能性を提供してもよい。例えば、特定のウェブページに関連するフォント及びフォントサブセットが将来の要求用に追跡されてもよい。１つのシナリオでは、１つ以上のフォントサブセット（例えば、フォントサブセット２１６）が特定のウェブページを（コンピュー
タデバイス上に）表すために創られてもよい。フォントサブセットとウェブページの間の関連が識別され（例えば、サーバー２２２により）、後の検索用に記憶されてもよい。この様であるから、将来のウェブページ（例えば、もう１つのコンピュータデバイス上の）を表すのに必要なサブセットが速く識別され、要求するコンピュータデバイスへ提供され得る。１つの構成では、フォントデータベース２２４が該フォントプロバイダー２１４に記憶され（例えば、記憶デバイス２２０上に）、該データベースはウェブページとフォントサブセット（及びフォント）の間の関連を表す記録を含む。或る場合には、該関連は、（例えば、ソフトウエアエージェントから）該フォントプロバイダー２１４へ送られるフォントサブセット要求により提供される情報から識別される。ウェブページと適当なフォントサブセットの間の関連はまた、該ウェブページがユーザーにより選択される前に記憶されてもよい（例えば、ウェブページソースにより提供される指示と情報に基づき）。ウェブページの様な電子文書の表現用にユーザーのコンピュータデバイスへソフトウエアエージェント及びフォントサブセット（及びフォント）を提供するために、他の種類のアーキテクチャー及びネットワーク化技術も実施されてもよい。
【００２７】
図３を参照すると、線図３００は、他の種類の電子文書のウェブページを表すに必要な適当なフォントサブセット（及びフォント）と一緒に、ソフトウエアエージェントをユーザーのコンピュータデバイスへ提供するための或る動作を表している。図２で図解した様に、ユーザーがコンピュータデバイス（例えば、該ウェブブラウザーにＵＲＬを提供する）で実行されるウェブブラウザーで関心のあるウェブページを識別すると、１つ以上のファイル（例えば、ＨＴＭＬファイル）が対応するウェブページソースから該ユーザーのコンピュータデバイスへ提供される。図解される様に、この様なファイル３０２は（ウェブブラウザーを介して）該ユーザーへ提示するコンテンツ３０４（例えば、テキスト、グラフィックス、ビデオ、オーディオ他）を有する。該ファイル３０２はまた、ソフトウエアエージェントが該ユーザーのコンピュータデバイス２０２へ提供されることを要求する１つ以上のインストラクション３０６を含む。該インストラクション（図で“エージェントを取って来るインストラクション”とラベル付けされた）を実行すると、図形矢印３１０で表される様に、該ユーザーのコンピュータデバイス（例えば、コンピュータシステム２０２）からフォントプロバイダー２１４（例えば、サーバー２２２）への要求３０８のデリバリが開始される。要求３０８に応答して、図形矢印３１２で表される様に、エージェント（例えば、エージェント２１２）が該フォントプロバイダー２１４のサーバー２２２からユーザーのコンピュータデバイス（例えば、コンピュータシステム２０２）へ送られる。或る場合、エージェントのデリバリは該ファイルが受信された直ぐ後に起こり、ユーザーには何の後れも気付かれない。或る構成では、他の情報が要求３０８により提供されてもよい。例えば、該フォントプロバイダー２１４が、１つ以上のフォントサブセット（及びことによるとフォント）が該ウェブページ用に予め作成されたかどうかを決めるために、関心のあるウェブページが要求で識別されてもよい（例えば、提供されるウェブページのＵＲＬ）。
【００２８】
ユーザーのコンピュータデバイスで受信されると、コンテンツ内で表される各フォント用の文字を識別するために、ＨＴＭＬファイル３０２（図形矢印３１４で表される）のコンテンツ３０４を走査するために要求されたエージェント２１２が実行される。該エージェント２１２はまた、存在する各フォントの各固有の文字を識別する機能をも提供する。この様であるから、同じフォント文字の多数のインダンスはエージェントにより一回だけ気付かれればよく、それによりフォントプロバイダー２１４から要求される必要がある文字をひとまとめにする（各受信電子文書について）。或る構成では、エージェント２１２はウェブページにある各フォントについて識別された各文字を該フォントプロバイダー２１４に知らせる。この情報を提供されると、フォントプロバイダーはフォントサブセット内にことによると含まれる各フォントについて各一意的に生じる文字を識別する。この様な走査動作を提供するために、例えば、該エージェントが各フォント用に存在する各文字を識別するためコンテンツ３０４を構文解析する等１つ以上の技術が実施される。次いで、各フォント用の各固有の文字を識別するために１つ以上のフィルターが（エージェント２１２又はフォントプロバイダー２１４により）使われてもよい。例えば、もしフォントＡについて文字“ａ”、“Ｂ”、及び“ｃ”がコンテンツ３０４内に検出され、フォントＢについて文字“ｘ”、“Ｙ”、及び“Ｚ”が検出されたなら、エージェントは“ａ”、“Ｂ”、及び“ｃ”を含むフォントＡ用のサブセットを識別し、一方フォントＢ用のサブセットは“ｘ”、“Ｙ”、及び“Ｚ”を含むと識別する。一旦走査されると、識別されたフォント文字３１６はフォントサブセット要求３１８を作成するために該エージェント２１２により使われる。一般に、要求３１８はエージェント２１２により識別された各文字を含むが、しかしながら、ページコンテンツ３０４のコンテンツ内に含まれる或る文字は要求３１８内に含まれなくてもよい。例えば、ユーザーのコンピュータデバイスにローカルに記憶される可能性があると識別される文字は要求３１８に含まれてなくてもよい。この様であるから、エージェント２１２はページコンテンツ３０４内に含まれる或る文字をサブセット要求３１８から排除してもよい。
【００２９】
図形矢印３２０で表す様に、フォントサブセット要求３１８をフォントプロバイダー２１４のサーバー２２２に供給する１つ以上の技術が実施されてもよい。例えば、ジャバスクリプト（ＪａｖａＳｃｒｉｐｔ）で表されるエージェント用に、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）の様なプロトコルに関連する技術が該要求を転送するために使われてもよい。識別された固有の文字を関心のあるＵＲＬのクエリ文字列に加えることにより、その情報をサーバー２２２に提供するコマンド（例えば、ＧＥＴコマンド）を使うことができる。同様に、アプリケーションとして提供されるエージェントはＨＴＴＰの様なプロトコルを用いてフォントプロバイダー２１４のサーバー２２２に文字情報を提供してもよい。一旦フォントサブセット（複数を含む）用の要求３１８が提供されると、該サーバー２２２は１つ以上の必要なフォントサブセットと、（もし適切なら）完全なフォント文字セットと、を作成し、ユーザーのコンピュータデバイスに応答する。例えば、図形矢印３２２で表す様に、（１つ以上のフォントサブセットと、ことによると１つ以上の完全なフォント文字セットを表す）フォントサブセット２１６がユーザーのコンピュータデバイスに提供される。
【００３０】
図４を参照すると、（図２に示すエージェント２１２の様な）エージェントの要求と、特定文字へのフォントの割り当てと、を含む例示ＨＴＭＬファイル４００のインストラクションが図解される。この特定の例では、インストラクション４０２が実行されると（例えば、コンピュータシステム２０２により）、エージェントがフォントプロバイダー（例えば、フォントプロバイダー２１４）から要求される。一旦コンピュータシステム２０２により受信されると、該ＨＴＭＬファイル４００のコンテンツを分析する該エージェントが実行される。例えば、該エージェントは該ＨＴＭＬファイル４００の残るラインの各々を通して実行し、該ファイルのコンテンツと関連するウェブページを表すために使われる各文字とフォントを識別する。例えば、インストラクション４０４を分析することにより、該エージェントは、フルティガー（ｆｒｕｔｉｇｅｒ）フォントの文字“Ａ”、“Ｂ”、“Ｃ”そして“Ｄ”がウェブページ作成用に必要であることを識別する。この特定の構成では、該フォントにアクセスするためにＵＲＬと一緒にインストラクション４０４により個別文字（例えば、“Ａ  Ｂ  Ｃ  Ｄ”）が提供される。同様に、実行されたエージェントもまた、インストラクション４０６で、ウェブページを作るために文字“Ｚ”と“Ｗ”がフルティガーフォントで表される必要があることを識別する。この様であるから、フォントサブセット要求（例えば、図３で示される要求３１８）を作成するときに、該エージェントはウェブページを作るために必要な固有の文字の各々（すなわち、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｚ”そして“Ｗ”）と、対応するフォント（すなわち、フルティガー）と、を識別する。或る構成では、該ファイルのコンテンツを走査しながら、該エージェントはフォントサブセット要求に含まれない文字と出くわす。例えば、ＨＴＭＬファ
イルは、（該ファイルを実行する）コンピュータシステムにローカルに記憶されたフォントが特定文字を表すために使われるべき場合を有する。この様な場合、フォントは該コンピュータシステムの外部のソースから獲得する必要がない。例示のＨＴＭＬファイル４００のインストラクション４０８はこの様な発生を図解する。この場合、文字“Ｍ”、“Ｐ”そして“Ｑ”は特定フォント用のＵＲＬ無しでインストラクション４０８により呼び出される。この様であるから、ファイル４００を実行するコンピュータシステムにローカルなフォントが文字“Ｍ”、“Ｐ”そして“Ｑ”を表すために使われてもよい。これらの特定の文字用にフォント又はフォントサブセットは必要でないので、エージェントは要求３１８内にこれらの文字を含まない。しかしながら、これらの文字はこの特定のフォント用にローカルに記憶されているが、これらの文字の１つ以上は、“Ｍ”、“Ｐ”及び／又は“Ｑ”を該コンピュータシステムの外部のソースから得られるフォント内で必要であるとして呼び出すファイル４００内のもう１つのインストラクション（示されてない）に基づきもう１つのフォントの要求内に含まれてもよい。
【００３１】
図５を参照すると、フォントサブセット用の文字を識別するために、（図４で図解される）ＨＴＭＬファイル４００の様なファイルのコンテンツを分析する１つ以上の技術が実行されてもよい。ＪａｖａＳｃｒｉｐｔベースのエージェント用には、ブラウザーに依存しないライブラリー（ｊＱｕｅｒｙと呼ばれ、ＪａｖａＳｃｒｉｐｔとＨＴＭＬの間の相互作用を強化する）がテキストコンテンツを分析するため使われてもよい。この機能を提供するために、ｊＱｕｅｒｙフレームワークは文字列から固有の文字を抽出するエージェントを提供すため使われる。該ｊＱｕｅｒｙフレームワークはまた、識別された固有の文字と対応するフォントの間の関連性を形成する連想配列（ＪＳＯＮと呼ばれる）を有する。反復的に該ファイルを通して実行して、該固有の文字は識別され、更に進んだ処理用に記憶される（例えば、キャッシュされる）。図で提示されるコード５００の部分はこの機能を提供する。
【００３２】
図６を参照すると、該固有の文字を識別した時、フォントに基づき該識別された文字をそれに従いグループ化する１つ以上の技術が実施される。例えば、特定のフォント（例えば、フルティガー）用に識別された各固有の文字（例えば、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｚ”そして“Ｗ”）はそのフォントのグループのメンバーとなる。加えて、比較的少ないメンバー（例えば、ラテン語に関連するフォント）を有するフォント用に、固有の文字のグループは形成されなくてもよい。比較的少ないメンバーを有するこの様なフォントについては、フォントセット全体が、転送時間及びバンド幅の様な多くの計算リソースを消費することなしに送られる。この様であるから、そのフォントの文字を作成するために完全なフォントセットが提供される（例えば、フォントプロバイダーから）。図で提示されるコード６００の部分はこの機能を提供してもよい。
【００３３】
図７を参照すると、一旦各フォントについて該識別された固有の文字がグループ化されると（比較的小さい文字セットを有する何等かの識別されたフォントと一緒に）、エージェントはこの情報をフォントプロバイダー２１４へ提供する（例えば、該フォントプロバイダーのサーバー２２２へ）。この情報を提供する１つ以上の技術が使われてもよい。例えば、ＨＴＴＰ  ＧＥＴコマンドの様なコマンドが、識別された文字と対応するフォントをＵＲＬクエリ文字列に加えるために使われてもよい。要求（ＨＴＴＰ  ＧＥＴコマンドにより提供される）を受けると、該フォントプロバイダー２１４（例えば、フォントプロバイダーのサーバー２２２）は１つ以上の適当なフォントサブセットを創り、該要求するコンピュータシステムへ送る。１つ以上の要因（例えば、ユーザー及び／又はフォントプロバイダーの地理的位置、時間的情報、達成可能な転送速度の様なデータ転送パラメーター他）と関連する予め規定されたルールに基づき、比較的少ない文字を有する識別されたフォントについての完全なフォントセットも送られてよい。該識別された固有の文字と対応するフォントを提供するために、この機能を提供するコード７００の１部分が図で提示
される。
【００３４】
図８を参照すると、フローチャート８００はソフトウエアエージェントの動作を表す（例えば、図２で示すソフトウエアエージェント２１２）。エージェント２１２の動作は典型的に１つのコンピュータデバイス（例えば、コンピュータシステム２０２）により実行されるが、しかしながら、該エージェントの動作は多数のコンピュータデバイスで実行されてもよい。１つのサイトで実行される（例えば、１つのコンピュータシステムで）と共に、動作の実行は２つ以上の場所内に分散されてもよい。
【００３５】
典型的に、エージェントはユーザーのコンピュータデバイス（例えば、ＨＴＭＬファイルの様なファイル内に含まれるコードから）により要求され、フォントプロバイダー２１４の様な外部ソースから提供される。ユーザーのコンピュータデバイスにより受信され、実行されると、動作は、ソフトウエアエージェントを要求するインストラクションを含むＨＴＭＬファイルの様な電子文書のコンテンツの分析８０２を含む。ソフトウエアエージェントを使うことにより、該電子文書のコンテンツは比較的自律的なそして一貫性のある仕方で分析される。該電子文書を分析する１つ以上の技術が実施されてもよく、例えば、該エージェントは該文書を通して実行し、各含まれる文字を対応するフォントと関連させる。動作はまた、フォントと関連する各固有の文字の識別８０４を含む。例えば、文書は特定のフォント（例えば、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ）用の文字“ａ”の多くのインスタンスを含むが、該エージェントは該多くのインスタンスを、文字“ａ”が該Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ用として１回だけ要求される様な１つのインスタンスへとフィルターをかけてもよい。文字識別も比較的小さな文字セットを有するフォントの識別を有してもよい。この様であるから、もし（これらのフォント内に含まれる）１つ以上の文字が電子文書で使われるなら、文字セット全体が要求されてもよい。動作はまた、該電子文書で表された各フォント用の適当なサブセットの要求８０６を含んでもよい。該要求されるサブセットは各対応するフォント用の識別された固有の文字を含んでいるのが典型的である。しかしながら、フォントが比較的少ない文字を含む場合用には、該要求されるサブセットがこの様なフォント用の文字セット全体を含んでもよい。
【００３６】
図９はエージェント２１２と関連する動作を行うよう使われ、提供されるコンピュータシステム９００のブロック線図である。該コンピュータシステムはまた、動作を実行するためにフォントプロバイダー２１４により使われてもよい。コンピュータデバイス９００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバー、ブレードサーバー、メインフレーム、そして他の適当なコンピュータの様な種々の形のデジタルコンピュータを表すよう意図されている。
【００３７】
コンピュータデバイス９００はプロセッサ９０２、メモリー９０４、記憶デバイス９０６、メモリー９０４及び高速拡張ポート９１０へ接続する高速インターフェース９０８、そして低速バス９１４及び記憶デバイス９０６へ接続する低速インターフェース９１２を有する。コンポーネント９０２、９０４、９０６、９０８、９１０そして９１２の各々は種々のバスを使って相互接続され、共通のマザーボード上に又は他の適当な仕方で設置されてもよい。プロセッサ９０２は、高速インターフェース９０８に接続されたディスプレー９１６の様な外部入力／出力デバイス上に、ＧＵＩ用のグラフィック情報を表示するために、メモリー９０４内又は記憶デバイス９０６上に記憶されたインストラクションを含めて、該コンピュータデバイス９００内の実行用のインストラクションを処理する。他の実施例では、多数メモリー及び或る種のメモリーと一緒に、マルチプロセッサ及び／又は多重バスが適当に使用されてもよい。また、複数のコンピュータデバイス９００が接続され、各デバイスが必要な動作の部分を提供してもよい（例えば、サーバーバンク、ブレードサーバーのグループ、又はマルチプロセッサシステムとして）。
【００３８】
メモリー９０４はコンピュータデバイス９００内部の情報を記憶する。１実施例では、メモリー９０４はコンピュータ読み出し可能な媒体である。１実施例ではメモリー９０４は揮発性メモリーユニット又は複数の同ユニットである。もう１つの実施例では、メモリー９０４は不揮発性メモリーユニット又は複数の同ユニットである。
【００３９】
記憶デバイス９０６はコンピュータデバイス９００用の大容量記憶を提供出来る。１実施例では、記憶デバイス９０６はコンピュータ読み出し可能な媒体である。種々の実施例では、記憶デバイス９０６はフロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、又はテープデバイス、フラッシュメモリー又は他の同様の固体メモリーデバイス、又はストレージエリアネットワーク又は他の構成内のデバイスを含むデバイスのアレーであってもよい。１実施例では、コンピュータプログラム製品は情報媒体内に明白に具体化される。該コンピュータプログラム製品は、実行されると、上記で説明したそれらの様に、１つ以上の方法を行うインストラクションを有する。該情報媒体はメモリー９０４、記憶デバイス９０６、プロセッサ９０２上のメモリー、等の様なコンピュータ読み出し可能な又は機械読み出し可能な媒体である。
【００４０】
高速制御器９０８はコンピュータデバイス９００用のバンド幅集約型動作を管理する一方、低速制御器９１２はバンド幅集約型の低い動作を管理する。この様なデューティの割り当てはほんの例示的なものである。１実施例では、高速制御器９０８はメモリー９０７、（例えば、グラフィックスプロセッサ又はアクセラレーターを通して）ディスプレー９１６に、そして種々の拡張カード（示されてない）を受け入れてもよい高速拡張ポート９１０に接続される。該実施例では、低速制御器９１２は記憶デバイス９０６及び低速拡張ポート９１４に接続される。種々の通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、イーサーネット、無線イーサーネット）を有する該低速拡張ポートは、キーボード、ポインティングデバイス、スキャナーの様な１つ以上の入力／出力デバイス又はスイッチ又はルーターの様なネットワーク用デバイスに、例えばネットワークアダプターを通して接続されてもよい。
【００４１】
該コンピュータデバイス９００は図に示す様に、多数の種々の形式で実施されてもよい。例えば、それは標準サーバー９２０として、又はこの様なサーバーのグループでの複数回として実施されてもよい。それはラックサーバーシステム９２４の部分として実施されてもよい。加えて、それはラップトップコンピュータ９２２の様なパーソナルコンピュータで実施されてもよい。代わりに、コンピュータデバイス９００からのコンポーネントは移動可能なデバイス（示されてない）の他のコンポーネントと組み合わされてもよい。
【００４２】
本明細書で説明される主題と機能動作の実施例は、本明細書で開示した構造とそれらの構造の等価物を含む、デジタル電子回路又はコンピュータソフトウエア、ファームウエア、又はハードウエアで、又はそれらの１つ以上の組み合わせで、実施されてもよい。本明細書で説明された主題の実施例は、１つ以上のコンピュータプログラム製品、すなわち、データ処理装置による、或いは該装置の動作を制御するための、実行用にコンピュータ読み出し可能な媒体上にエンコードされたコンピュータプログラムインストラクションの１つ以上のモジュール、として実施されてもよい。該コンピュータ読み出し可能な媒体は、機械読み出し可能な記憶デバイス、機械読み出し可能な記憶基盤、メモリーデバイス、機械読み出し可能で、伝播される信号をもたらす物質の構成、又はそれらの１つ以上の組み合わせであってもよい。用語“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ又はマルチプロセッサ又はコンピュータを含む、データ処理用の、全ての装置、デバイスそして機械を含めている。該装置は、ハードウエアに加えて、問題のコンピュータプログラム用の実行環境を創るコード、例えば、プロセッサファームウエア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの１つ以上の組み合わせを構成するコード、を含む。
【００４３】
コンピュータプログラム（プログラム、ソフトウエア、ソフトウエアアプリケーション、スクリプト又はコードとしても知られる）は、コンパイルされた又はインタープリットされた言語を含む、何等かの形式のプログラム用言語で書かれてもよく、そして該コンピュータプログラムは、スタンドアロンプログラムとして、又はモジュール、コンポーネント、サブルーチン又はコンピュータ環境での使用に好適な他のユニットとして、含む何等かの形で展開されてもよい。コンピュータプログラムは必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは他のプログラム又はデータを保持するファイルの１部分内に（例えば、マークアップ言語文書内に記憶された１つ以上のスクリプト）、問題のプログラムに専用化された１つのファイル内に、或いは多数のコーディネートファイル内に（例えば、１つ以上のモジュール、サブプログラム又はコードの部分を記憶するファイル）、記憶されてもよい。コンピュータプログラムは、１つのサイトに位置する、又は複数サイトに亘り分散し、そして通信ネットワークにより相互接続された１つのコンピュータ又は複数のコンピュータ上で実行されるよう展開されてもよい。
【００４４】
本明細書で説明した処理とロジックの流れは、入力データで動作し、出力を発生することにより機能を行う１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサにより行われる。該処理とロジックの流れは専用ロジック回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレー）又はＡＳＩＣ（特定用途向け集積回路）により行われてもよく、そして装置もまた、それらとして実行されてもよい。
【００４５】
コンピュータプログラムの実行に好適なプロセッサは、例を挙げれば、汎用及び専用の両マイクロプロセッサ、そして何等かの種類のデジタルコンピュータの何等かの１つ以上のプロセッサを含む。一般に、プロセッサはリードオンリーメモリー又はランダムアクセスメモリー又は両方のメモリーからインストラクションとデータを受ける。コンピュータの本質的要素は、インストラクションを行うプロセッサとインストラクションとデータを記憶する１つ以上のメモリーデバイスである。一般に、コンピュータはまた、データを記憶する１つ以上の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク又は光ディスク、を有するか、それらからデータを受信する、又はそれらにデータを転送する、又は両者を行うために、それらに動作的に接続される。しかしながら、コンピュータはこの様なデバイスを有する必要はない。更に、コンピュータは別のデバイス、例えば、２、３例を挙げれば、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、携帯オーディオプレイヤー、グローバルポジショニングシステム（ＧＰＳ）受信器内に埋め込まれてもよい。コンピュータプログラムインストラクション及びデータを記憶するのに好適なコンピュータ読み出し可能な媒体は、例を挙げると、半導体メモリーデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリーデバイス；磁気ディスク、例えばインターナルハードディスク又はリムーバルディスク；光磁気ディスク；そしてＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む、全ての形式の不揮発性のメモリー、メディア及びメモリーデバイスを含む。該プロセッサ及び該メモリーは専用ロジック回路により補足されたり、専用ロジック回路内に組み入れられてもよい。
【００４６】
本明細書に説明された主題の実施例は、バックエンドコンポーネントを、例えばデータサーバーとして、有する、又はミドルウエアコンポーネントを、例えばアプリケーションサーバーとして、有する、又はフロントエンドコンポーネントを、例えばグラフィカルユーザーインターフェースを有するクライアントコンピュータ又はユーザーがこの明細書で説明される主題の実施例と相互作用するウェブブラウザーとして有する、或いは１つ以上のこの様なバックエンド、ミドルウエア又はフロントエンドコンポーネントの何等かの組み合わせ、を有するコンピュータシステムで提供されてもよい。該システムのコンポーネントはデジタルデータ通信の何等かの形式又は媒体、例えば通信ネットワークにより相互接続されてもよい。通信ネットワークの例はローカルエリアネットワーク（ＬＡＮ）及び
ワイドエリアネットワーク（ＷＡＮ）例えばインターネットを含む。
【００４７】
該コンピュータシステムはクライアント及びサーバーを含んでもよい。クライアント及びサーバーは一般に相互から遠隔で、典型的に通信ネットワークを通して相互作用する。クライアントとサーバーの関係は、それぞれのコンピュータ上で実行しており、相互にクライアント−サーバー関係を有するコンピュータプログラムの価値により生じる。
【００４８】
この明細書は多くの詳細を含むが、これらは本発明の又は請求されるものの、範囲の限定として解釈されるべきものではなく、寧ろ本発明の特定の実施例に特定的な特徴の説明として考えられるべきである。別々の実施例の文脈で本明細書で説明される或る特徴はまた、１つの実施例での組み合わせで実施されてもよい。逆に、１つの実施例の文脈で説明された種々の特徴はまた、別々に或いは何等かの適当な部分組み合わせで多くの実施例で実施されてもよい。更に、特徴は或る組み合わせで作用するとして上記で説明され、例え最初にその様に請求されても、請求される組み合わせからの１つ以上の特徴は、或る場合、該組み合わせから切り離され、請求された組み合わせは部分組み合わせ又は部分組み合わせの変種へ向けられてもよい。
【００４９】
同様に、動作は特定の順序で図に画かれるが、これは望ましい結果を達成するために、この様な動作が示された特定の順序又はシーケンシャルな順序で行われること、又は全て図解された動作が行われること、を要すると理解されるべきではない。或る環境では、マルチタスク動作及び並列処理が有利であるかも知れない。更に、上記説明の実施例の種々のシステムコンポーネントの分離は、全ての実施例でこの様な分離を要すると理解されるべきでなく、説明されたプログラムコンポーネント及びシステムが一般に、１つのソフトウエア製品内に一緒に統合されるか又は複数のソフトウエア製品にパッケージされてもよいと理解されるべきである。
【００５０】
かくして、本発明の特定の実施例が説明された。他の実施例は下記請求項の範囲内にある。例えば、請求項で詳述される作用は異なる順序で行われてもよく、それでも望ましい結果を達成する。
【図１】
2013533527.tif 000003
【図２】
2013533527.tif 000004
【図３】
2013533527.tif 000005
【図４】
2013533527.tif 000006
【図５】
2013533527.tif 000007
【図６】
2013533527.tif 000008
【図７】
2013533527.tif 000009
【図８】
2013533527.tif 000010
【図９】
2013533527.tif 000011
【手続補正書】
【提出日】平成23年9月13日(2011.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実行方法であって、
受信した電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始する過程と、を具備しており、該要求がそれぞれの該１つ以上のフォントの該各識別された固有の文字を含む、該コンピュータ実行方法。
【請求項２】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースを識別する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項３】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項４】
自律的な方法で受信電子文書のコンテンツを分析する過程がエージェントを実行する過程により開始される請求項１に記載のコンピュータ実行方法。
【請求項５】
該受信電子文書のコンテンツを分析する過程が該文書内に表現される該文字を識別するために該電子文書のコンテンツを構文解析する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項６】
該受信電子文書のコンテンツを分析する過程が、該電子文書のコンテンツ内に含まれる該１つ以上のフォントの各々の各固有の文字を識別するために、該電子文書内で表現された該識別された文字をフィルターにかける過程を備える請求項５に記載のコンピュータ実行方法。
【請求項７】
該１つ以上のフォントのサブセットの要求を開始する過程が該識別された文字を該要求
に付加する過程を備える請求項１に記載のコンピュータ実行方法。
【請求項８】
該要求への応答が該フォントの１つの全ての文字を有する請求項１に記載のコンピュータ実行方法。
【請求項９】
該電子文書のコンテンツを分析する過程がプラットフォームに依存しないで行われる請求項１に記載のコンピュータ実行方法。
【請求項１０】
システムであって、
要求時に、コンピュータデバイスにエージェントを提供するフォントサーバーであって、該コンピュータデバイスにより受信された電子文書のコンテンツを分析する該エージェントを提供する該フォントサーバーを具備しており、該エージェントにより行われる該分析は該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別しており、
該フォントサーバーは、該コンピュータデバイスからの要求時、該１つ以上のフォント用のサブセットを、各該フォントサブセットがそれぞれの該フォントの各識別された固有の文字を含むように、作るよう構成されており、そして
該フォントサーバーが、各該フォントサブセットを該コンピュータデバイスへ送信する過程を開始するよう更に構成される、該システム。
【請求項１１】
該受信電子文書のコンテンツの分析により、該エージェントが該１つ以上のフォント内に含まれるフォントのソースを識別する請求項１０に記載のシステム。
【請求項１２】
該受信電子文書のコンテンツの分析により、該エージェントが該１つ以上のフォント内に含まれるフォントのソースの不在を識別する請求項１０に記載のシステム。
【請求項１３】
該コンピュータデバイスが該受信電子文書のコンテンツを分析するために該フォントサーバーから受信した該エージェントを実行する請求項１０に記載のシステム。
【請求項１４】
該エージェントが該文書内に表現された該文字を識別するために該電子文書のコンテンツを構文解析する請求項１０に記載のシステム。
【請求項１５】
該エージェントが、該電子文書のコンテンツ内に含まれた該１つ以上のフォントの各々用の各固有の文字を識別するために、該文書内に表現された該識別された文字をフィルターにかける請求項１４に記載のシステム。
【請求項１６】
該エージェントが該フォントサーバーへの要求の作成を開始する請求項１０に記載のシステム。
【請求項１７】
該エージェントが該コンピュータデバイスの種類に依存しないで動作するよう構成される請求項１０に記載のシステム。
【請求項１８】
該フォントサーバーが該フォントサブセット内に含めるべきフォント文字の部分を決定するよう構成される請求項１０に記載のシステム。
【請求項１９】
該フォントサブセット内に含める該フォント文字の部分が該フォントの全文字を含む請求項１８に記載のシステム。
【請求項２０】
該フォントサーバーが該作成されたフォントサブセットを該受信電子文書に関連させる請求項１０に記載のシステム。
【請求項２１】
コンピュータデバイスであって、
インストラクションを記憶するよう構成されたメモリーと、そして
プロセッサであって、
受信電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、そして
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始する過程と、を有しており、該要求がそれぞれの該１つ以上のフォントの各識別された固有の文字を含む、方法を行うために該インストラクションを実行するよう構成された該プロセッサと、を具備する該コンピュータデバイス。
【請求項２２】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースを識別する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２３】
該電子文書のコンテンツを分析する過程が該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２４】
受信電子文書のコンテンツを自律的な方法で分析する過程がエージェントを実行する過程により開始される請求項２１に記載のコンピュータデバイス。
【請求項２５】
該受信電子文書のコンテンツを分析する過程が、該文書内に表現された該文字を識別するために該電子文書のコンテンツを構文解析する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２６】
該受信電子文書のコンテンツを分析する過程が、該電子文書のコンテンツ内に含まれる該１つ以上のフォントの各々用の各固有の文字を識別するために、該電子文書内に表現された該識別された文字をフィルターにかける過程を有する請求項２５に記載のコンピュータデバイス。
【請求項２７】
該１つ以上のフォントのサブセットの要求を開始する過程が該識別された文字を該要求に付加する過程を有する請求項２１に記載のコンピュータデバイス。
【請求項２８】
インストラクションを記憶する１つ以上のコンピュータ読み出し可能な媒体であるが、該インストラクションは処理デバイスにより実行可能であり、かつ該インストラクションはこの様な実行時、該処理デバイスに、
受信電子文書のコンテンツを、該電子文書のコンテンツ内に含まれる１つ以上のフォントの各固有の文字を識別するために、自律的な方法で分析する過程と、
該電子文書のコンテンツ内に含まれる該１つ以上のフォントのサブセットの要求を開始させる過程と、を有し、該要求がそれぞれの該１つ以上のフォントの各該識別された固有の文字を含んでいる動作を行わせる、該インストラクションを記憶する該１つ以上のコンピュータ読み出し可能な媒体。
【請求項２９】
該電子文書のコンテンツを分析する過程が、該１つ以上のフォント内に含まれるフォントのソースを識別する過程を有する請求項２８に記載のコンピュータ読み出し可能な媒体。
【請求項３０】
該電子文書のコンテンツを分析する過程が、該１つ以上のフォント内に含まれるフォントのソースの不在を識別する過程を有する請求項２８に記載のコンピュータ読み出し可能な媒体。
【請求項３１】
受信電子文書のコンテンツを自律的な方法で分析する過程が、エージェントを実行する過程により開始される請求項２８に記載のコンピュータ読み出し可能な媒体。
【請求項３２】
システムであって、
コンピュータデバイスからの要求時に、１つ以上のフォントのサブセットを作成するフォントサーバーを具備しており、各該フォントサブセットが、該コンピュータデバイス内に含まれるエージェントにより電子文書のコンテンツから識別されたそれぞれの該フォントの各固有の文字を有しており、そして
該フォントサーバーが各フォントサブセットを該コンピュータデバイスへ送る過程を開始するよう構成される、該システム。
【請求項３３】
該フォントサーバーが該エージェントを該コンピュータデバイスへ供給するよう構成される請求項３２に記載のシステム。
【請求項３４】
該エージェントが、該１つ以上のフォント内に含まれるフォントのソースを識別するために該電子文書のコンテンツを分析する請求項３２に記載のシステム。
【請求項３５】
該エージェントが、該１つ以上のフォント内に含まれるフォントのソースの不在を識別するために該受信電子文書のコンテンツを分析する請求項３２に記載のシステム。
【請求項３６】
該エージェントが該文書内で表現される該文字を識別するために該電子文書のコンテンツを構文解析する請求項３２に記載のシステム。
【請求項３７】
該エージェントが、該電子文書のコンテンツ内に含まれた該１つ以上のフォントの各々用の各固有の文字を識別するために、該電子文書内で表現され、該識別された文字をフィルターにかける請求項３６に記載のシステム。
【請求項３８】
該エージェントが該フォントサーバーへの該要求の作成を開始する請求項３２に記載のシステム。
【請求項３９】
該エージェントが該コンピュータデバイスの種類に依存しないで動作するよう構成される請求項３２に記載のシステム。
【請求項４０】
該フォントサーバーが該フォントサブセット内に含まれるフォント文字の部分を決定するよう構成される請求項３２に記載のシステム。
【請求項４１】
該フォントサブセット内に含むべき該フォント文字の部分が該フォントの全文字を含む請求項４０に記載のシステム。
【請求項４２】
該フォントサーバーが該作成されたフォントサブセットを該電子文書に関連させる請求項３２に記載のシステム。
【国際調査報告】
2013533527.tif 000012
2013533527.tif 000013
2013533527.tif 000014