(57)【要約】      （修正有）【課題】プロバイダーは、特定の地理区のユーザーのためにコンテンツを調整し、または調整可能なコンテンツを様々なユーザーに提供する。【解決手段】システムは、指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信することを含む方法を行うための指令を実行するプロセッサーを含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定し、そしてウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。【選択図】図２
2014038618.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター実施方法であって、
ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信し；
ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定し；そして
ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供する；
ことを有する該コンピューター実施方法。
【請求項２】
１もしくは複数の環境特性の１つが通信接続のスループットを表す請求項１に記載のコンピューター実施方法。
【請求項３】
１もしくは複数の環境特性の１つが通信接続の帯域幅を表す請求項１に記載のコンピューター実施方法。
【請求項４】
１もしくは複数の環境特性の１つが処理時間を表す請求項１に記載のコンピューター実施方法。
【請求項５】
１もしくは複数の環境特性の１つがユーザーの装置に提供されるべきフォント情報の量を表す請求項１に記載のコンピューター実施方法。
【請求項６】
ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報の決定が、ウェブアセットのコンテンツに基づく請求項１に記載のコンピューター実施方法。
【請求項７】
１もしくは複数の環境特性がユーザーの装置の能力を表す請求項１に記載のコンピューター実施方法。
【請求項８】
フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の１もしくは複数のフォントサブセットを含む請求項１に記載のコンピューター実施方法。
【請求項９】
フォント情報がウェブアセットの第１ページを表示するためのものである請求項１に記載のコンピューター実施方法。
【請求項１０】
ウェブアセットの第１ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することをさらに有する請求項９に記載のコンピューター実施方法。
【請求項１１】
ウェブアセットのフォント情報が前もって作成される、請求項１に記載のコンピューター実施方法。
【請求項１２】
指令を保存するために構成されたメモリーと；および
プロセッサーであって
ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境
特性を受信し；
ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１も
しくは複数の環境特性に基づき決定し；そして
ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフ
ォント情報を提供する；
ことを有する方法を行うための指令を実行するプロセッサーと；
を備えた第一コンピューター装置を有するシステム。
【請求項１３】
１もしくは複数の環境特性の１つが通信接続のスループットを表す請求項１２に記載のシステム。
【請求項１４】
１もしくは複数の環境特性の１つが通信接続の帯域幅を表す請求項１２に記載のシステム。
【請求項１５】
１もしくは複数の環境特性の１つが処理時間を表す請求項１２に記載のシステム。
【請求項１６】
１もしくは複数の環境特性の１つが、ユーザーの装置に提供されるフォント情報の量を表す請求項１２に記載のシステム。
【請求項１７】
ユーザーの装置に提供するためのウェブアセットのフォント情報の適切な量の決定が、ウェブアセットのコンテンツに基づく請求項１２に記載のシステム。
【請求項１８】
１もしくは複数の環境特性がユーザーの装置の能力を表す請求項１２に記載のシステム。
【請求項１９】
フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の１もしくは複数のフォントサブセットを含む請求項１２に記載のシステム。
【請求項２０】
フォント情報がウェブアセットの第１ページを表示するためのものである請求項１２に記載のシステム。
【請求項２１】
ウェブアセットの第１ページが表示されている時、プロセッサーがウェブアセットの追加のフォント情報をユーザーの装置に提供するための指令を実行する請求項２０に記載のシステム。
【請求項２２】
ウェブアセットのフォント情報が前もって作成される、請求項１２に記載のシステム。
【請求項２３】
処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる１もしくは複数のコンピューター可読媒体であって：
ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特
性を受信し；
ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１も
しくは複数の環境特性に基づき決定し；そして
ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフ
ォント情報を提供する；
ことを有する上記のコンピューター可読媒体。
【請求項２４】
１もしくは複数の環境特性の１つが通信接続のスループットを表す請求項２３に記載のコンピューター可読媒体。
【請求項２５】
１もしくは複数の環境特性の１つが通信接続の帯域幅を表す請求項２３に記載のコンピューター可読媒体。
【請求項２６】
１もしくは複数の環境特性の１つが処理時間を表す請求項２３に記載のコンピューター可読媒体。
【請求項２７】
１もしくは複数の環境特性の１つが、ユーザーの装置に提供されるフォント情報の量を表す請求項２３に記載のコンピューター可読媒体。
【請求項２８】
ユーザーの装置に提供するためのウェブアセットのフォント情報の適切な量の決定が、ウェブアセットのコンテンツに基づく請求項２３に記載のコンピューター可読媒体。
【請求項２９】
１もしくは複数の環境特性がユーザーの装置の能力を表す請求項２３に記載のコンピューター可読媒体。
【請求項３０】
フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の１もしくは複数のフォントサブセットを含む請求項２３に記載のコンピューター可読媒体。
【請求項３１】
フォント情報がウェブアセットの第１ページを表示するためのものである請求項２３に記載のコンピューター可読媒体。
【請求項３２】
さらに処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる請求項３１に記載のコンピューター可読媒体であって：
ウェブアセットの第１ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを有する上記のコンピューター可読媒体。
【請求項３３】
ウェブアセットのフォント情報が前もって作成される請求項２３に記載のコンピューター可読媒体。
【請求項３４】
１もしくは複数のウェブアセットのコンテンツを表すデータを受信し；
ユーザーの装置に提供するための１もしくは複数のウェブアセットに関する適切な量のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し；そして
決定した適切な量のフォント情報を保存する；
ことを含んでなるコンピューター実施方法。
【請求項３５】
１もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することをさらに有する請求項３４に記載のコンピューター実施方法。
【請求項３６】
適切な量のフォント情報の決定が、１もしくは複数のウェブアセットの１もしくは複数のソースに基づく請求項３４に記載のコンピューター実施方法。
【請求項３７】
適切な量のフォント情報の決定が、ユーザーの装置の１もしくは複数の能力に基づく請求項３４に記載のコンピューター実施方法。
【請求項３８】
フォント情報がフォントサブセットを含む請求項３４に記載のコンピューター実施方法。
【請求項３９】
指令を保存するために構成されたメモリーと：および
プロセッサーであって、
１もしくは複数のウェブアセットのコンテンツを表すデータを受信し；
ユーザーの装置に提供するための１もしくは複数のウェブアセットに関する適切な量
のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基
づき決定し；そして
決定した適切な量のフォント情報を保存する；
ことを有する方法を行うための指令を実行するプロセッサーと：
を備えた第一コンピューター装置を有するシステム。
【請求項４０】
１もしくは複数のウェブアセットを表示するために、プロセッサーが保存されたフォント情報をユーザーの装置に提供するための指令を実行する、請求項３９に記載のシステム。
【請求項４１】
適切な量のフォント情報の決定が、１もしくは複数のウェブアセットの１もしくは複数のソースに基づく請求項３９に記載のシステム。
【請求項４２】
適切な量のフォント情報の決定が、ユーザーの装置の１もしくは複数の能力に基づく請求項３９に記載のシステム。
【請求項４３】
フォント情報がフォントサブセットを含む請求項３９に記載のシステム。
【請求項４４】
処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる１もしくは複数のコンピューター可読媒体であって：
１もしくは複数のウェブアセットのコンテンツを表すデータを受信し；
ユーザーの装置に提供するための１もしくは複数のウェブアセットに関する適切な量
のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基
づき決定し；そして
決定した適切な量のフォント情報を保存する；
ことを含んでなる上記のコンピューター可読媒体。
【請求項４５】
さらに処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる請求項４４に記載のコンピューター可読媒体であって：
１もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することを有する、上記のコンピューター可読媒体。
【請求項４６】
適切な量のフォント情報の決定が、１もしくは複数のウェブアセットの１もしくは複数のソースに基づく請求項４４に記載のコンピューター可読媒体。
【請求項４７】
適切な量のフォント情報の決定が、ユーザーの装置の１もしくは複数の能力に基づく請求項４４に記載のコンピューター可読媒体。
【請求項４８】
フォント情報がフォントサブセットを含む請求項４４に記載のコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本記載はフォントサブセットの作成およびネットワーク配信を開始することに関する。
【背景技術】
【０００２】
インターネットのようなコンピューターネットワークにより提供される絶え間なく広がる接続性において、様々な種類のコンテンツ、例えばテキスト、グラフィック、オーディオ、ビデオ等が少数のコンピューター装置の間で、または大衆への放送の間でやりとりされ得る。そのような接続性により、地球上の様々な地域にいるユーザーは、コンテンツのプロバイダーにアクセスすることができ、プロバイダーには様々な国籍および文化のユーザーにコンテンツを提供するための柔軟性が必要である。例えば北米のユーザーに提供されるコンテンツは、アジアのユーザーには識別することはできない。このようにプロバイダーは、特定の地理区のユーザーのためにコンテンツを調整し、または調整可能なコンテンツを様々なユーザーに提供する可能性がある。
【発明の概要】
【０００３】
発明の要約
本明細書に記載する本システムおよび技術は、例えば１もしくは複数のクライアントのコンピューター装置に配信するためのフォントをサブセットする（ｓｕｂｓｅｔ）ための適切なインスタンス（ｉｎｓｔａｎｃｅ）を決定することに関する。
【０００４】
１つの局面では、コンピューター実施方法は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信することを含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定することを含む。またこの方法は、ウェブアセットに表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
【０００５】
実施方法は１もしくは複数の以下の特徴を含むことができる。１もしくは複数の環境特性の１つは、通信接続のスループット（ｔｈｒｏｕｇｈｐｕｔ）、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づくことができる。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の１もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第１ページを表示するためのものであることができる。この方法はさらに、ウェブアセットの第１ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを含む。ウェブアセットのフォント情報は事前に作成することができる。
【０００６】
別の局面では、システムは指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信することを含む方法を行うための指令を実行するプロセッサー含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定することを含む。またこの方法は、ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
【０００７】
実施には１もしくは複数の以下の特徴を含むことができる。１もしくは複数の環境特性
の１つは、通信接続のスループット、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づく。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の１もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第１ページを表示するためのものであることができる。プロセッサーはウェブアセットの第１ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供するための指令を実施することができる。ウェブアセットのフォント情報は事前に作成することができる。
【０００８】
別の局面では、１もしくは複数のコンピューター可読媒体が処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせ、この操作にはユーザーの装置とフォントのプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信することを含む。また操作には、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定することを含む。操作はまた、ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
【０００９】
実施には１もしくは複数の以下の特徴を含むことができる。１もしくは複数の環境特性の１つは、通信接続のスループット、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づくことができる。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の１もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第１ページを表示するためのものであることができる。コンピューター可読媒体は処理装置により実行可能なさらなる指令を保存することができ、そのような実施により処理装置に、ウェブアセットの第１ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを含む操作を行わせる。ウェブアセットのフォント情報は、事前に作成することができる。
【００１０】
別の局面では、コンピューター実施方法は１もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む。またこの方法はユーザーの装置に提供するために１もしくは複数のウェブアセットに関する適切な量のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存することを含む。
【００１１】
実施には１もしくは複数の以下の特徴を含むことができる。この方法はさらに１もしくは複数のウェブアセットの表示のために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、１もしくは複数のウェブアセットの１もしくは複数のソースに基づくことができる。適切な量のフォント情報の決定は、ユーザーの装置の１もしくは複数の能力に基づくことができる。フォント情報はフォントサブセットを含むことができる。
【００１２】
別の観点では、システムは指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、１もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む方法を行うための指令を実行するプロセッサーを含む。またこの方法は、ユーザーの装置に提供するための１もしくは複数のウェブアセットの適切な量のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存するこ
とを含む。
【００１３】
実施には１もしくは複数の以下の特徴を含むことができる。この方法はさらに、１もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、１もしくは複数のウェブアセットの１もしくは複数のソースに基づくことができる。適切な量のフォント情報を決定することは、ユーザーの装置の１もしくは複数の能力に基づくことができる。フォント情報にはフォントサブセットを含むことができる。
【００１４】
別の局面では、１もしくは複数のコンピューター可読媒体は、処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が１もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む操作を行うようにさせる。また操作はユーザーの装置に提供するための１もしくは複数のウェブアセットに関する適切な量のフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存することを含む。
【００１５】
実施には１もしくは複数の以下の特徴を含むことができる。操作はさらに、１もしくは複数のウェブアセットの表示のために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、１もしくは複数のウェブアセットの１もしくは複数のソースに基づくことができる。適切な量のフォント情報を決定することは、ユーザーの装置の１もしくは複数の能力に基づくことができる。フォント情報にはフォントサブセットを含むことができる。
【００１６】
これらの、および他の局面および特徴およびそれらの様々な組み合わせは、機能、プログラム製品および他の方法を行うための方法、装置、システム、手段として表すことができる。
【００１７】
他の特徴および利点は説明および特許請求の範囲から明白となるだろう。
【図面の簡単な説明】
【００１８】
【図１】コンピューターネットワークを介して伝達され得るコンテンツの例を具体的に説明する。
【図２】インターネットに基づくコンピューターネットワークのブロック線図である。
【図３−４】フォント配信を管理するために環境特性を使用することを具体的に説明する。
【図５】ソフトウェアエージェントへのリクエストおよび配信、ならびにフォントプロバイダーからのフォントサブセットを具体的に説明する。
【図６】ウェブページを制作するための例示的ファイルである。
【図７−９】コード指令の例を具体的に説明する。
【図１０】フォントサブセットマネージャーの操作の流れ図の一例である。
【図１１】フォントサブセットマネージャーの操作の流れ図の一例である。
【図１２】コンピューター装置およびシステムのブロック線図である。
【発明を実施するための形態】
【００１９】
図１を参照にして、ユーザーのコンピューター装置（例えばコンピューターシステム、携帯情報端末（ＰＤＡ）、携帯電話など）によりインターネット（または他の種類のコンピューターネットワーク）を通してアクセスすることができる例示的ウェブページ１００を具体的に説明する。例えば適切なユニフォームリソースロケータ（ＵＲＬ）をウェブブラウザに提供することにより、このウェブページにアクセスし、パッケージ化され、そして対応するコンテンツのプロバイダーからユーザーのコンピューター装置に表示するために送ることができる。この説明する例では、ウェブページ１００のコンテンツは、テキストおよびグラフィックスを含む誕生日パーティの招待状であり、そして特定のＵＲＬ（すなわちｗｗｗ．ｉｎｖｉｔｅ．ｃｏｍ）からアクセスすることができる。人目を引く招待状を提供するために、種々の書体を提供する多くのフォントが使用され、そのそれぞれが文体上の文字（ｃｈａｒａｃｔｅｒｓ）またはグリフ（ｇｌｙｐｈｓ）を提供すると考えることができる。「文字」は情報を組織化し、制御し、そして提示するために使用する１組の形の員と考えることができ、そして「グリフ」は文字の具体例と考えることができる。
【００２０】
一旦アクセスすれば、コンテンツのプロバイダーはウェブページ１００のコンテンツをユーザーのコンピューター装置に提供するために１もしくは複数の技術を使用することができる。例えばウェブページ１００は、ウェブページ１００がコンピューター装置により実行されるブラウザに従うように、ハイパーテキストマークアップ言語（ＨＴＭＬ）のようなマークアップ言語を使用する１もしくは複数のファイル（例えばファイル１０２）で表すことができる。ＨＴＭＬ、ＣＳＳ、ＸＭＬのためのワールドワイドウェブコンソーシアム（Ｗ３Ｃ）標準のような標準、および他の標準はブラウザにより実施されることができるので、ウェブページ１００は、電子コンテンツ（例えばパーソナルコンピューター、ワイヤレステレフォン、携帯情報端末、ハンドヘルドコンピューター、セットトップボックスおよびインターネットアプライアンス等）を表示することができる様々な種類のプラットフォーム上で正しく表示されることができる。
【００２１】
グラフィックス（例えばこの例ではバースデイケーキのグラフィック）を提供することと共に、１もしくは複数のＨＴＭＬファイルはウェブページ上にテキストを表示するために使用する１もしくは複数のフォントを参照することができる。説明のために、この招待状に関連する情報を提供するために５個の異なるフォント（例えば時間、月日、場所、行事の説明およびメニュー）をこのウェブページ１００で使用する。このようにＨＴＭＬファイル１０２は、受信するコンピューター装置が、どのフォントがテキスト情報の各部分（例えば「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」で月日を表示する）に対応するのか分かるように、各フォントを呼び出す（ｃａｌｌ  ｏｕｔ）。ＨＴＭＬファイル１０２に含まれる指令を受信し、そして実行すると、受けるコンピューター装置はテキストを表示するために必要なフォントをローカルで取得することができる。しかしかなりの量のコンピューター装置が、ウェブページを表示するために必要となり得るすべての文字の各フォントをローカルに保存することはできない。限られたソース（例えばメモリー）および新たなフォントタイプの絶え間ない作成は、各種コンピューター装置がテキストをありとあらゆるフォントで直ちに表示することを限定する可能性がある。異なる言語に関連するフォントは、多くのコンピューター装置がすべてのフォントタイプを提供することができないという問題を増幅する。中国語、日本語、韓国語といった言語は、何万もの数になり得る（例えば１０，０００文字以上）アルファベット文字を使用し、そして１つの言語の文字を保存するために１ＭＢ〜２０ＭＢのメモリーを必要とする。そのようなメモリーのニーズは、特にそれほどロバストではないオンボードメモリーのコンピューター装置（例えば携帯電話）では非現実的である。さらに、わずか２、３のフォントに関して完全な文字組を保存することは（特定のウェブページを提示するために）、２、３の文字だけがこの組から必要になるならば非効率的となり得る。具体例を参照にすると、比較的少数の「Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ」フォントの文字（例えば“Ａ”、“ｐ”、“ｒ”、“ｉ”、“ｌ”、“２”、“０”、“ｔ”および“ｈ”）が、行事の月日を表示するために必要とされ、そして確実に完全な文字組がそれぞれ可能性のあるユーザーの言語（例えば、英語、中国語、日本語など）に関して保存されるとすれば、完全なフォントの文字組を保存することは、装置のメモリーの賢くない使用と考えることができる。
【００２２】
ローカルメモリーの使用を浪費しないために、幾つかの通常の技術が受信したウェブページのコンテンツ（例えばＨＴＭＬファイル）に完全なフォントセットを提供するか、またはウェブページに関連するファイルの受信で必要なフォントの完全な文字組の検索を開始する。しかしそのような技術は、実際にはわずか２、３の文字がウェブページで使用される場合に、コンピューター装置のメモリーをフォント文字の収集物でいっぱいにしてしまう可能性がある。例えば図に説明するように、コンピューター装置上にウェブページ１００を表示するために、完全なフォントの文字組１０４、１０６、１０８、１１０、１１２がＨＴＭＬファイル１０２と一緒に提供される。このようにウェブページ１００に使用される５つのフォントのそれぞれ可能な文字がコンピューター装置に提供され、それによりコンピューター装置のかなりの量のメモリーを消費する。
【００２３】
帯域幅消費と共にフォントを転送するために必要な時間にも注意が払われる。例えば中国語、日本語および韓国語のような言語に関連するフォントの完全な文字組の転送には、かなりの帯域幅および転送時間が必要かもしれない。
【００２４】
１もしくは複数の技術を使用してファイルの転送時間、帯域幅消費およびウェブページ１００のようなウェブページを表示することを準備するために必要なメモリー空間を減らすことができる。例えば各フォントについて完全な文字組を提供するというよりは、ウェブページに現れる文字のみを含むフォントサブセットを提供することができる。このように必要なファイル転送時間および帯域幅のニーズは減らされ、そして装置のメモリーは保存されると同時に、適切なフォントの文字組がウェブページ表示用に提供される。説明する例を参考にして、各フォントの文字組１０４〜１１２は、ＨＴＭＬファイル１０２により提供されることができる有意に小さいフォントサブセットに、すなわちこのファイルの比較的受信直後に交換されることができる。文字の文体的外観に関するフォントサブセットに基づく転送時間および帯域幅の減少のニーズと同様に、異なる言語に関連するフォントサブセットを提供するために縮小（ｒｅｄｕｃｔｉｏｎ）も達成され得る。例えばウェブページがわずか３００の中国語の文字を含む場合、３００文字のみを含むように制限されたフォントサブセットを提供することがより効率的であり、これは転送されるフォントデータのサイズを約１０ＭＢから５０ＫＢに縮小することができる。幾つかのフォントの文字組に関するサブセット（例えば中国語の文字組）を作成することができると同時に、他のフォントの文字組を完全な組で送ることができる場合もある。例えば完全なフォントセットに比較的少数の文字が含まれる場合（例えばラテン語の文字組）は、サブセットの制作および転送は、全部の文字組を転送するために必要な帯域幅または時間を有意に縮小することはない。ウェブページまたは他の種類の電子文書を表示するために、コンピューター装置に提供されるフォントの文字組のサイズを縮小すると共に、１もしくは複数の技術を実施してそのようなフォントサブセットをコンピューター装置に効率的に提供することができる。例えばウェブページの表示と共に、ユーザーのコンピューター装置は適切なフォントサブセットを同定し、そして引き続いて同定されたサブセットをリクエストするために使用することができる。
【００２５】
図２を参考にして、ユーザーが対話することができる（例えばキーボードまたはマウスのようなポインティングデバイスを使用して）コンピューターシステム２０２を含むコンピューターネットワーク２００は、コンピューターシステムで表示される目的のウェブペ
ージを同定する。例えばウェブブラウザ２０４または類似のソフトウェアアプリケーションは、ユーザーが１もしくは複数のウェブページを目的とするためにコンピューターシステム２０２により実行することができる。同定されたら、ウェブブラウザ２０４の操作には、インターネット２０６を介して、目的のウェブページ用（１もしくは複数）の１もしくは複数のウェブページソース２０８ａ、ｂ、ｃからコンテンツをリクエストすることを含むことができる。説明したように、この特定の例ではウェブページはウェブページソース２０８ａからリクエストされ、そして対応するＨＴＭＬファイル２１０がソースからインターネット２０６を介してコンピューターシステム２０２に送られる。
【００２６】
ＨＴＭＬファイル２１０により定められるウェブページを表示するための適切なフォントサブセットを同定するために、コンピューターシステム２０２は１もしくは複数の技術を使用することができる。例えば操作は、ファイルにより定められるウェブページに含まれる個々のフォント文字を同定するために、ＨＴＭＬファイル２１０をスキャンするためのコンピューターシステム２０２により実行することができる。１つの配置（ａｒｒａｎｇｅｍｅｎｔ）では、コンピューターシステム２０２は、個々のフォントの文字を同定し、そしてウェブページを表示するために必要なフォントサブセットの制作（適切な場合は）を開始することのリクエストを送信するために、ソフトウェアエージェント２１２を実行することができる。そのようなエージェントは、実質的に自律的様式で実行可能なソフトウェアモジュールと考えることができる。例えばコンピューターシステム２０２に提供されると、ソフトウェアエージェントは多数のユーザーとの対話無しに作動することができる。幾分柔軟な様式で操作することにより、ソフトウェアエージェントはウェブページ表示に必要なフォント文字を適応状態で（ａｄａｐｔｉｖｅｌｙ）同定することができる。この特定の例では、ソフトウェアエージェント２１２は、フォント文字を同定するために幾分持続的な様式でＨＴＭＬファイル２１０のコンテンツをスキャンする。例えばソフトウェアエージェントは実質的に連続的様式で実行することができる。幾つかの配置では、ソフトウェアエージェントはファイル（１もしくは複数）（例えばＨＴＭＬファイル２１０）の極めて配信直後にユーザーのコンピューター装置（例えばコンピューターシステム２０２）に提供される。このようにウェブページ、アプリケーションページ、ユーザーのインターフェイス等のような電子文書は、文書が受信された時とほぼリアルタイムでスキャンされると認識する（ｐｅｒｃｅｉｖｅ）ことができる。
【００２７】
またコンピューターネットワーク２００は、（適切な場合に）ユーザーのコンピューター装置（例えばコンピューターシステム２０２）により実行されるソフトウェアエージェント（例えばソフトウェアエージェント２１２）により提供される情報に基づき、フォントサブセットを制作することを決定するフォントプロバイダー２１４を含む。一旦制作されれば、サブセット（１もしくは複数）（例えばフォントサブセット２１６として説明される）はパッケージされ、そしてフォントのプロバイダー２１４によりリクエストしているコンピューター装置に送信される。１もしくは複数のフォントサブセットを制作することを決定すると共に、フォントプロバイダー２１４は、完全なフォントの文字組がリクエストしているコンピューター装置に提供されるべきかどうかを決定することもできる。例えばフォントサブセットを送信すべきかどうかの決定に、予め定めた規則をフォントプロバイダー２１４は使用することができる。そのような規則の１つは、特定の言語（例えば中国語）に関連するフォントの文字組が、大きいサイズの完全な文字組により作成されたサブセットを有するべきであることを示すことができる。またサブセットの決定は、動的様式で提供することもできる。例えば達成可能なファイル転送速度に基づき、サブセットが閾値より大きい文字組について作成されるようにファイルサイズの閾値（例えば２ＭＢ）を決定することができる。フォントの文字組のサイズが閾値より低い場合、ファイル転送速度が効率的範囲内と考えることができるので、全文字組は送信されることができる。そのような閾値は、例えば達成可能な転送速度をモニタリングすることにより動的に調整することができ、この閾値は変更することができる。例えば達成可能な転送速度のレベル
が下がれば、文字組のサブセットを作成するための閾値は対応して下がる可能性がある（例えば２ＭＢから１ＭＢへ）。１もしくは複数の因子が転送速度を効率的範囲内であると決定する理由となり得る。例えばユーザーのコンピューター装置およびフォントプロバイダーの地理学上の位置は、サブセットが制作され、そして完全な文字組の代わりに送信されるべきかどうかの主な要因となることができる。フォントプロバイダーおよびユーザーのコンピューター装置の双方が比較的近くに位置する場合（例えば双方とも米国東部）、比較的高い転送速度を達成でき、そして全文字組を送信することができる。ユーザーのコンピューター装置がフォントプロバイダーから離れている状況については（例えば１つは米国で、もう１つがインド）、フォントプロバイダーは送信すべきフォントの文字組をサブセットにする決定を行うことができる。位置に基づく決定と同様に、１日のうちの時間、１年のうちの季節および他の一時的要因が、伝達のために同定された１もしくは複数のフォントの文字組のためにサブセットが作成される必要があるかどうかを決定するフォントプロバイダーにより使用されることができる。
【００２８】
幾つかの配置では、フォントプロバイダー２１４は文字同定のために受信したファイル（例えばＨＴＭＬファイル２１０）をスキャンするためのソフトウェアエージェントをコンピューター装置に提供することもできる。このようにフォントプロバイダー２１４はウェブページのソース２０８ａ、ｂ、ｃから独立して作動することができる。一旦ユーザーのコンピューター装置からリクエストを受信すれば、フォントプロバイダー２１４は適切なエージェントソフトウェアをリクエストしている装置に提供することができる。一旦電子文書がソフトウェアエージェントによりスキャンされれば、適切なフォントおよびフォントサブセットが、実行したエージェントにより開始されたリクエストに基づきフォントプロバイダー２１４により提供され得る。
【００２９】
フォントおよびフォントサブセットを提供するために、フォントプロバイダー２１４は一般に、ローカルまたはフォントプロバイダーから離れて保存（ｓｔｏｒｅｄ）することができるフォントの１もしくは複数のライブラリーにアクセスすることが必要である。図に表すように、フォント２１８のライブラリーはサイト上の記憶装置２２０（例えば１もしくは複数のハードドライブ、ＣＤ−ＲＯＭ等）に保存されていることを示す。サーバー２２２によりアクセス可能であるので、フォントライブラリー２１８は、完全なフォントの文字組（フォントプロバイダーにより適切と決定された場合）と一緒に提供され得る適切なフォントサブセットを作成するために、ソフトウェアエージェントから提供される情報と一緒に使用されることができる。単一の記憶装置２２０に保存されていると説明される場合、フォントプロバイダー２１４は多数の記憶技術および装置を使用してフォントのアクセス可能な組のコレクションを保持することができる（例えば種々のフォントスタイル、言語等について）。またフォントプロバイダー２１４は、サブセットを作成するために離れた（ｓｅｐａｒａｔｅ）位置でフォントにアクセスすることができる。例えばフォントサブセットに必要な文字を同定すると、必要な文字をフォントプロバイダー２１４に対して外部の１もしくは複数のソースから集めるためにサーバー２２２を使用することができる（例えばインターネット２０６を介して）。
【００３０】
フォントサブセットを作成し、そしてそれらをリクエストしているコンピューター装置へ提供することと一緒に（適切ならば完全なフォントのセットと一緒に）、フォントプロバイダー２１４は他の機能性を提供することができる。例えば特定のウェブページに関連するフォントおよびフォントサブセットを先々のリクエストに備えて追跡する（ｔｒａｃｋｅｄ）ことができる。１つの筋書きでは、１もしくは複数のフォントサブセット（例えばフォントサブセット２１６）を、（コンピューター装置上の）特定のウェブページに表示するために作成することができる。フォントサブセットとウェブページとの間の関係は同定することができ（例えばサーバー２２２により）、そして後に検索するために保存することができる。このように将来（例えば別のコンピューター装置で）ウェブページを表
示するために必要なサブセットを迅速に同定し、そしてリクエストしているコンピューター装置に提供することができる。１つの配置では、フォントデータベース２２４がフォントプロバイダー２１４で保存され（例えば記憶装置２２０で）、そしてウェブページとフォントサブセット（およびフォント）との間の関連を表示する記録を含む。幾つかの場合では、この関係はフォントプロバイダー２１４に送られたフォントサブセットのリクエストにより提供された情報から（例えばソフトウェアエージェントから）同定される。ウェブページと適切なフォントサブセットとの間の関連は、ウェブページがユーザーにより選択される前に保存することもできる（例えばウェブページソースにより提供される命令および情報に基づき）。ウェブページのような電子文書を表示するためにソフトウェアエージェントおよびフォントサブセット（およびフォント）をユーザーのコンピューター装置に提供するための他の種類のアーキテクチャおよびネットワーキング技術も実施することができる。
【００３１】
幾つかの配置では、例えばクライアントの装置（コンピューターシステム２０２）に必要なフォント情報を効率的に提供するために、フォントをサブセットするかしないかを決定するために、他の種類の情報を使用することができる。例えば環境（例えばフォントプロバイダー２１４とクライアントの装置との間の通信リンク）を特徴付ける情報を、フォントサブセット決定に使用することができる。そのような情報は個別に、または他の情報、例えばウェブアセットのコンテンツから集めた情報と共同して使用することができる（例えばファイルにより定められたウェブページに含まれるフォントの文字を同定するために、ＨＴＭＬファイル２１０からスキャンされた情報）。１もしくは複数のクライアントの装置に提供するために、多種類の情報を使用すると共に（例えば通信特性、ウェブアセットコンテンツ等）、事前に保存した情報を適切なフォント情報（例えば、フォントサブセット、完全なフォントセット等）を決定するために使用することができる。例えば、データベース（例えばフォントデータベース２２４）からの情報を、そのような決定に使用することができる。他の種類の事前に保存した情報をまた使用することができ、例えば事前に集めた通信特性（例えばリンクするためのデータ転送速度）も、決定を行うために使用できる。
【００３２】
これら様々なソースからの情報を個別に、または共同して使用することにより、１つのフォントサブセット（または多数のサブセット）を作成し、そしてフォントプロバイダー２１４により送信すべきかどうか、あるいは１つの完全なフォントのセット（または多数の完全なセット）をクライアントの装置に送信すべきかどうかについて、適切な決断を行うことができる。決定に使用される情報は、比較的静的または動的と考えることができるが、例えばウェブアセットのコンテンツは比較的静的であることができ、環境特性（例えばフォントプロバイダーとクライアントの装置との間の通信リンクの特性）は時間（例えば１日の中でデータ転送速度が変化する）および位置（例えばデータ転送速度は、異なる場所へ移動するクライアントの装置、モバイル装置により変化する）で変動する可能性がある。この変動のため、１もしくは複数の技術を実施することができ、それで比較的最新の通信特性をフォントサブセット決定に使用できる。例えば１もしくは複数の環境特性（例えば通信リンク特性、クライアントの装置の能力）をモニターし、そしてそのような決定のために集めることができる。様々な種類のデータモニタリングおよび収集技術を実施することができ、例えば１もしくは複数の通信リンク特性は、受動的、能動的等にクライアントの装置、フォントプロバイダー２１４により、またはクライアントの装置とフォントプロバイダーが共同して実行する操作により集められる。クライアントの装置およびフォントプロバイダー２１４とは別の装置も実施することができる。情報は１もしくは複数のクライアントの装置、フォントプロバイダー２１４およびフォントサブセット決定を補助する可能性がある他の装置間で交換することもでき、例えばクライアントの装置（例えばディスプレイ能力等）の特性は、フォントプロバイダー２１４に提供することができる。このように様々な装置、通信リンク等に関連する環境特性は、フォントサブセット決定
に使用することができる。
【００３３】
図３を参照にして、図３００はサブセットまたは１もしくは複数のフォントサブセットの完全な組みがクライアントの装置（例えばコンピューターシステム２０２）に提供されるべきかどうかを決定するために、情報を集めるための幾つかの可能な操作を表す。この特定の配置では、フォントサブセット決定のために、１もしくは複数の環境特性がクライアントの装置により集められ、そしてフォントプロバイダー２１４に提供される。そのような情報収集を行うために、コンピューターシステム２０２は、１もしくは複数の操作を実行することができ、例えば通信リンク３０２の１もしくは複数の特性が、コンピューターシステム２０２により測定され、そして処理のためにフォントプロバイダー２１４に提供され得る。この配置では、環境モニター３０４がコンピューターシステム２０２により実行されて環境特性情報を集める。クライアントの装置（例えばコンピューターシステム２０２）がそのような環境特性を集めるように説明されると同時に、そのような操作は他の場所で、個別に、またはクライアントの装置での操作と組み合わせて実行することができる。例えば（例えば通信リンク３０２の）環境特性は、フォントプロバイダー２１４により測定そして定量されることができる。１つの配置では、サーバー２２２がフォントサブセット操作の決定を補助するために、通信リンクに関する情報を集めることができる。
【００３４】
環境特性の典型である様々な種類の情報を集めることができる。例えば幾つかの特性は、データを１もしくは複数のクライアントの装置（例えばコンピューターシステム２０２）とフォントプロバイダー２１４との間に転送するための通信リンク（例えばリンク３０２）の能力を反映することができる。そのような特性は情報を転送する時間、速度等と関連し得る。通信リンク３０２のスループット、帯域幅、伝達速度などは、環境モニター３０４により測定および定量することができる。情報の移動と共に、装置間（例えばコンピューターシステム２０２、サーバー２１４）の通信を確立することもフォントサブセット決定のためにモニターすることができる。例えば接続特性（例えば接続速度、帯域幅、ＨＴＴＰハンドシェイクレイテンシ等）、オーバーヘッド時間（例えばフォントのサブセッティングに関するリクエストを送信し、そして処理するために必要な時間など）、コンピューターシステム２０２とサーバー２１４との間のデータ接続を確立するために必要な時間を測定し（例えば環境モニター３０４により）、そしてフォントプロバイダー２１４に提供することができる。１もしくは複数のクライアントの装置とフォントプロバイダー２１４との間の通信リンク３０２をわたる情報転送に関連する他の量を同定することができる。例えばクライアントの装置および／またはフォントプロバイダー２１４により使用されるプロトコール（例えばインターネットプロトコール（ＩＰ））を同定し、そしてフォントサブセット決定に使用することができる。イーサネット、ＤＳＬ、Ｃａｂｌｅ、ＦＩＯＳは同定され得る幾つかのプロトコールタイプの例である。通信リンク３０２がワイヤード（ｗｉｒｅｄ）またはワイヤレス（ｗｉｒｅｌｅｓｓ）通信技術（例えばワイヤード、ワイヤレスアクセスポイント等）を含むかどうかも決定の要因となり得る。装置のオプション、選択したサービス、接続オプションの範囲（ＧＰＲＳ／Ｅｄｇｅ，３Ｇ，４Ｇ等）もリンク能力における変化についてモニターすることができる。例えば想定される接続速度は比較的早いと考えることができるが（例えば３Ｇまたは４Ｇネットワ−クに接続するモバイル装置）、実際の信号強度および接続速度はそれでも時間で変動し、そしてデータ転送能力（例えばウェブページのダウンロード時間）およびユーザーのエクスペリエンスに悪影響を及ぼす恐れがある。
【００３５】
通信リンク３０２に関連した情報と同様に、他の種類の情報も集め、そしてサブセット決定のためにフォントプロバイダー２１４に提供することができる。例えば１もしくは複数のクライアントの装置の特性を提供することができる。そのような特性はクライアントの装置（例えばコンピューターシステム２０２）の表示能力（例えばスクリーンサイズおよび解像のようなスクリーンの仕様）、処理（例えば装置が使用する操作システム、装置
が実行するブラウザの種類）および記憶能力等に関連する可能性があり、これらはフォントのサブセッティングが適切かどうかを決定した事例に対して、フォントプロバイダー２１４により提供され、そして使用されることができる。そのような装置の特性は、例えば環境のモニター３０４により装置でローカルに、例えばフォントプロバイダー２１４により遠隔的に、またはローカルおよび遠隔操作の組み合わせにより同定することができる。
【００３６】
環境モニター３０４は、クライアントの装置（例えばコンピューターシステム２０２）でモニタリング機能性を提供するために、１もしくは複数の配置で実施することができる。例えば環境モニター３０４は、１もしくは複数の方法論（例えばフォントプロバイダー２１４からダウンロードされるか、またはそれにより提供される）を介してコンピューターシステム２０２に提供することができる１もしくは複数のエージェント（例えば図２に示すエージェント２１２と同様な）として実施することができる。１もしくは複数のアプリケーション（例えばウェブブラウザ）も環境モニター３０４を実施することができる。集めた情報（例えばフォントプロバイダー２１４に提供されるべき）と共に、環境モニター３０４は、集めたデータおよび関連する情報に基づきデータを追跡し、および統計分析を行うような追加の機能性を提供することができる。集め、そして処理した情報は次にフォントのサブセッティングおよびフォント処理決定（ｐｒｏｃｅｓｓｉｎｇ  ｄｅｃｉｓｉｏｎ）を最適化するために、フォントプロバイダー２１４に提供することができる。
【００３７】
そのようなフォントのサブセッティングおよび処理決定を動的に行うために、１もしくは複数の技術がフォントプロバイダー２１４により実施され得る。説明する例では、フォントサブセットマネージャー３０６がサーバー２２２（フォントプロバイダー２１４に位置する）により実行される。クライアントの装置（１もしくは複数）からフォントプロバイダー２１４に提供される情報（例えば環境特性情報を含むメッセージ３０８）から、フォントサブセットマネージャーが、１もしくは複数のフォントサブセット（例えばフォントサブセット３１０により表される）がクライアントの装置（例えばコンピューターシステム２０２）に送信されるべきかどうか、あるいは完全なフォントサブセットが装置に配信されるべきかを決定する。幾つかの配置では、フォントサブセット（１もしくは複数）が作成され、そして環境特性情報の配信に基づき送信される（例えばメッセージ３０８はフォントプロバイダー２１４により受信される）。それまでに作成されたフォントサブセットも、環境特性情報の配信に基づき送信することができる。例えばこれまでに経験した条件により、１もしくは複数のフォントサブセットを、１もしくは複数のコンピューター装置に配信するために作成することができる。送信されると共に、フォントサブセットは他の場合（例えば同様な環境特性が別のコンピューター装置により提供される場合）に送信するために保存されることができ、これにより１もしくは複数のこれまでに作成したフォントサブセットをフォントプロバイダー２１４が再使用できるようになることにより効率が上がる。
【００３８】
フォントサブセット決定を実行することに加えて、フォントサブセットマネージャー３０６は他の種類の機能性を提供することができる。例えばクライアントの装置から提供されるデータをさらに処理し、そして保存することができる（例えば記憶装置２２０により）。幾つかの配置では、そのような処理には、例えば環境特性を予想するためのモデルを開発することを含むことができる。例えば一定期間にわたる接続リンク３０２（例えばスループット、帯域幅等）の１もしくは複数の特性を代表する受信したデータ（例えばクライアントの装置から）に基づき、環境特性を予測するためのモデルを開発することができる（例えば特定時間に関するスループットの予想）。またデータ処理は、種々の入力された考察に関して、フォントサブセット決定のような情報を保管するためのレポートを作成（そして保存する）ことを含むことができる。例えば特定のコンテンツ（例えばウェブアセット）を特定のクライアントの装置上に、そして特定の条件下（例えば通信リンクへのスループット）で表示するために、フォントサブセットマネージャー３０６は特定のフォ
ントのサブセッティング（またはそうではなくフォントの完全な文字組を提供すること）の決定に到達できる。この決定およびこの決定を導く条件を反映する情報を保存することにより、フォントサブセットマネージャー３０６は条件が再度発生したことを認識すれば先々の決定を処理することができる。またフォントサブセットマネージャーはフォントを調整するための操作、例えば作成したテキストの明瞭性および可読性を改善するためにフォントを調整するための操作を実行することができる（例えば特定の操作システム、フォントエンジン、クライアントの装置のスクリーン解像等についでフォントヒンティングを最適化する）。
【００３９】
図４を参照にして、フォントプロバイダー２１４によるフォントのサブセッティング決定が、動的に変化し得るクライアントの装置の位置のように、様々な環境特性に依存する可能性があることを具体的に説明する図４００を表示する。図３と同様に、例えばサブセットにするために、または完全なフォントセットを１もしくは複数のクライアントの装置に（記憶装置２２０から）提供するために、サブセッティング決定はサーバー２２２により実行されたフォントサブセットマネージャー３０６により提供される。この特定の配置では、クライアントの装置の位置がフォントサブセッティングに関する決定因子として役立つ。例えばタブレット型のコンピューター装置４０２により実行されている環境モニター４００は、相対的に高いスループットの通信リンクがフォントプロバイダー２１４と確立され得ることを感知する。好ましい通信特性（他の情報と一緒に）を反映するために、通信リンク４０４が確立され、そしてメッセージ４０６がフォントプロバイダー２１４に提供される。例えばタブレット型コンピューター装置４０２は、サービスプロバイダー２１４とのＷｉ−Ｆｉ通信（例えばインターネットを介して）を提供する場所で存在できる。このように大量のデータファイル（例えばフォントセットを含む）は一般に、相応の時間（ｒｅａｓｏｎａｂｌｅ  ａｍｏｕｎｔ  ｏｆ  ｔｉｍｅ）でタブレット型コンピューター装置４０２に転送され得る。このスループット特性（および潜在的な他の情報）から、フォントサブセットマネージャー３０６は、ユーザーの閲覧体験（ｖｉｅｗｉｎｇ  ｅｘｐｅｒｉｅｎｃｅ）を下げることなく関連するウェブアセットのコンテンツを表示するために、相応の時間内（ｒｅａｓｏｎａｂｌｅ  ｔｉｍｅ  ｐｅｒｉｏｄ）で完全なフォントセット（例えばフォントセット４０８）がタブレット型コンピューター装置４０２により送信され、受信され、そして処理され得ることを決定する。
【００４０】
他の環境は適切なスループットレベルを提供する能力を欠く恐れがあり、そしてフォントプロバイダー２１４は、適切な閲覧体験を提供するために（１もしくは複数のフォントセットを転送するために）フォントのサブセッティングが必要であることを決定することができる。例えばラテン語のフォントは一般に、ラテン語を基本とする言語が話されている地域が十分に広いので、完全なフォントセットをクライアントの装置に相応の時間で転送することが可能となる地域では、保存およびスループットレベルに関しては相対的に小さいファイルサイズは必要と考えられる。残念なことに、双方の仮定（ファイルサイズおよびスループットについて）は、絶えず修正されることはできず、そして例えば遅い接続で配信される平均ファイルサイズより上のラテン語フォントは、装置の閲覧者に対してウェブアセットの表示を有意に遅らせる恐れがある。さらに環境特性は変化する可能性があり、クライアントの装置の位置などが変わる時は一定時間にわたり極めて劇的に変化する場合もある。このように環境特性は環境モニター４００および／またはフォントサブセットマネージャー３０６により頻繁にモニターされ得る。例えばフォントプロバイダー２１４は、通信リンクを確立した１もしくは複数のクライアントの装置（例えばタブレット型コンピューター装置４０２）から、条件の更新をリクエストすることができる（例えばリクエストを更新するために、周期的なポーリングメッセージがフォントプロバイダー２１４から送信され得る）。幾つかの配置では、クライアントの装置が条件の更新を管理することができる（例えば環境モニター４００は、パワーアップ、リセット等のような事象に基づき周期的間隔で更新を送信する）。
【００４１】
この図面で説明するように、遠隔に位置する携帯電話４１０は、その現在の位置による（例えばＷｉ−Ｆｉ領域の外）電話４１０の受信能力のような環境情報を集め、そしてこの情報（潜在的には携帯電話の限られた処理および記憶能力のような他の情報と一緒に）をメッセージ４１４中でフォントプロバイダー２１４に提供する（例えば低スループットのワイヤレス通信リンク４１６を通じて）環境モニター４１２を実行することができる。この乏しいスループットおよび限られた能力の装置の情報を仮定すると、フォントサブセットマネージャー３０６は、ウェブアセットのコンテンツを合理的な時間枠で見るために処理、そして表示でき、しかも閲覧者が表示を待つ間に飽きたり、興味を失ったりしないようにフォントデータを携帯情報端末４１０に提供するためにフォントのサブセッティングが必要であることを決定できる。この筋書きに基づき、１もしくは複数のフォントサブセットがフォントプロバイダー２１４により作成され、そして携帯電話４１２に送信されて（例えば説明するように、通信リンク４１６を介してサブセットファイル４１８中で）、電話のディスプレイ上にウェブアセットを表示するために必要なフォント情報を提供することができる。このように閲覧者の興味を損なうことなくウェブアセットが表示されるように、低減した量の情報が電話に提供される。
【００４２】
環境特性（例えば通信リンクスループットレベル、クライアントの装置の能力等）をモニタリングすると共に、フォントプロバイダー２１４はフォントが１もしくは複数のクライアントの装置に配信される前にサブセットされるべきかどうかを決定するために、他の情報を使用することができる。１つの配置では、（表示されるべき）ウェブアセットのコンテンツの決定を補助するために使用できる。例えば１つのフォントのかなりの割合の文字が必要な場合（例えばウェブアセットの第一ページに表示するために１つのフォントの８０％の文字が必要）、このフォントの文字の完全な組をクライアントの装置に送信することが最適と考えられる。コンテンツに基づく情報も、特定のウェブアセットのソース（１もしくは複数）に関連することができる。さらに幾つかの配置では、フォントのサブセッティング決定を補助するために、ソース情報を装置の能力情報と共に使用することができる。例えばウェブサイトは、モバイル装置（例えばスクリーンサイズ、処理力、限定されたモバイルブラウザの機能性等）のような特定のクライアントの装置に固有の能力のために設計された種々のコンテンツオプションを支持することができる。そのような差異の一例は、より慣習的なコンピューター装置（例えばデスクトップ型コンピューターシステム、ラップトップ型コンピューターシステム等）用に準備されたウェブサイト（例えばｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ）に対して、相対的にさらに限られたコンピューター装置（例えばスマートフォン）のために設計されたウェブサイト（例えばｈｔｔｐ：／／ｍ．ｙａｈｏｏ．ｃｏｍ）のコンテンツおよび様式である。幾つかの配置では、環境モニター４００はエージェントとして実施されることができ、そしてクライアントの装置が１つのタイプ（例えばＰＣに基づく装置）または別のタイプ（例えばモバイル装置装置）かどうかを決定するために利用され得る。このようにクライアントの装置およびそれらの能力はモニターされ、そして他の環境特性と共同して使用されて、１もしくは複数のフォントがクライアントの装置に伝達される前にサブセットにされるべきかどうかを動的に決定することができる。
【００４３】
他の技術および方法論を、環境（例えばクライアントの装置の）および表示されるべきウェブアセットのコンテンツに基づきフォントの配信を最適化するために実施することができる。例えばフォントのサブセッティングはウェブアセットのある部分について行い（フォントプロバイダー２１４により）、そして別の部分のアセットには行わなくてよい。例えば低いスループットの通信リンクにより、１もしくは複数のフォントサブセットが、ウェブアセットの一部分として（例えばアセットの第一ページ）表示されるために、クライアントの装置に提供され得る。その部分（例えば第一ページ）が表示されている間（そして恐らく閲覧者により見られていると思われる）、ウェブアセット（例えばウェブアセ
ットの残りのページ）の他の部分（１もしくは複数）を見るために、完全なフォントセットおよび／またはフォントサブセットが準備され、そしてウェブアセットへ送信される。ウェブアセットの続きの部分に関するフォントの転送を開始することは、１もしくは複数の時間について計画することができる。例えばフォント情報（例えばフォントサブセット、完全なフォントセット等）の送信の準備は、フォント情報が準備され、そしてウェブアセットの初期部分が送信された時に開始することができる。幾つかの配置では、ウェブアセットの初期部分に関するフォント情報を準備し、そして送信した後に、ウェブアセットの後の部分に関するフォント情報を準備し、そして送信することができる。このようにより先に送信されたフォント情報はクライアントの装置により直ちにコンテンツレンダリングできるようになるので、フォント情報は、フォントプロバイダー２１４からバックグラウンドに送信することができる。そのような操作は、第一ページを表示するために必要な時間を減らす（例えば最少とし）と同時に、残る続きのページビュー（ｖｉｅｗ）に関する完全なフォントの機能性を可能にする。また他のプロポーショニング（ｐｒｏｐｏｒｔｉｏｎｉｎｇ）スキームもフォント情報の配信に実施することができ、例えば少ない記憶スペースを要求する、ウェブアセットによる使用頻度が高いフォントが使用のために最初に送信される一方、使用頻度が低いより大きなフォントセット（例えばサブセット、完全なセットなどの）は、バックグラウンドに後で送信されることができる。他のフォントサブセッティング配置と同様に、一旦フォントサブセットが作成されれば（例えば低いスループット接続を介してクライアントの装置に配信するために）、このサブセットは再使用するために保存され得る（例えば記憶装置２２０に）。例えば一旦作成され、そして保存されれば、フォントサブセットはその時の環境特性（例えばスループット、接続速度等）にかかわらず、他のクライアントの装置で再使用することができる。
【００４４】
フォントサブセットマネージャー３０６および／または環境モニター４００、４１２は他の種類の機能性を提供することができる。例えばウェブアセットのコンテンツ（例えばウェブページ）は、変更（例えば加えられた、削除された、調整されたコンテンツ等）についてフォントサブセットマネージャー３０６により（遠隔で）モニターされ得る。１もしくは複数のソース（例えば多数のウェブサイトからのコンテンツを含むウェブページ）から提供されたかもしれない変更がコンテンツ内で検出された場合、フォントサブセットマネージャー３０６は、１もしくは複数のサブセットを動的に作成し、以前に準備されたサブセット等を調整することができる。このようにフォントサブセットおよび１もしくは複数のサブセットをクライアントの装置に送信する決定は、ウェブアセットがリクエストされる前にフォントサブセットマネージャー３０６により決定されることができ、これによりリクエストされた時に直ちにダウンロードできるフォントサブセットの作成にフォントプロバイダー２１４が応答する時間を減少する。
【００４５】
環境情報（例えばクライアントの装置にフォントデータを転送するために達成可能な（ａｃｈｉｅｖａｂｌｅ）スループット、帯域幅分析、通信オーバーヘッドを表す統計等）に加えて、リクエストしたウェブアセットのコンテンツに関する情報（例えばリクエストしたウェブページに存在するフォント、完全なフォントファイルサイズ等）も、フォントサブセットを作成し、そしてクライアントの装置に送信するかどうかの決定に含めることができる。１もしくは複数の技術を、リクエストしたウェブアセットに関する情報を集めるために利用することができる。例えば１もしくは複数のエージェントがクライアントの装置により実行されて（フォントプロバイダー２１４からダウンロードされた後）、情報に到達し、そしてこれを他の情報（例えば環境特性）で分析するためにフォントプロバイダー２１４に提供することができる。この情報から、フォントプロバイダー２１４はフォントのダウンロード時間を最少にすることを目標にフォントのリクエストの処理を最適化することを試みることができ、同時に不要な処理工程を排除し、サーバーの応答時間等を最適化することなどにより、（例えばサーバー２２２の）計算操作を最適化する。
【００４６】
図５を参照にして、図５００は適切なフォントサブセット（およびフォント）が他のタイプのウェブアセットのウェブページを表示するために提供されるように、コンテンツ情報を集め、そしてフォントプロバイダー２１４に提供するために、ソフトウェアエージェントをユーザーのコンピューター装置に提供する幾つかの操作を表す。図２で説明するように、ユーザーはコンピューター装置で実行されるウェブブラウザで目的のウェブページを同定すると（例えばＵＲＬをウェブブラウザに提供する）、１もしくは複数のファイル（例えばＨＴＭＬファイル）がユーザーのコンピューター装置に対応するウェブページソースから提供され得る。説明するように、そのようなファイル５０２は、ユーザーに表示するための（ウェブブラウザを介して）コンテンツ５０４（例えばテキスト、グラフィック、ビデオ、オーディオ等）を含むことができる。またこのファイル５０２は、ソフトウェアエージェントがユーザーのコンピューター装置２０２に提供されることをリクエストするために、１もしくは複数の指令５０６を含むことができる。図面の矢印５１０により表されるように、指令を実行すると（図面で“Ｆｅｔｃｈ  ａｇｅｎｔ  ｉｎｓｔｒｕｃｔｉｏｎ”と表示されている）、リクエスト５０８の配信はユーザーのコンピューター装置（例えばコンピューターシステム２０２）からフォントプロバイダー２１４（例えばサーバー２２２）へ開始されることができる。リクエスト５０８に応答して、エージェント（例えばエージェント２１２）はフォントプロバイダー２１４のサーバー２２２からユーザーのコンピューター装置（例えばコンピューター装置２０２）に、図の矢印５１２により表すように送信される。幾つかの場合では、エージェントの配信はファイルが受信された直後に起こることができ、いかなるディレイもユーザーに気づかれないかもしれない。幾つかの配置では、他の情報がリクエスト５０８により提供され得る。例えばフォントプロバイダー２１４は、１もしくは複数のフォントサブセット（および可能なフォント）がこのウェブページ用にすでに作成されているかどうかを決定するために、目的のウェブページがリクエストで同定され得る（例えば提供されたウェブページのＵＲＬ）。
【００４７】
ユーザーのコンピューター装置で受信した、リクエストされたエージェント２１２は、コンテンツで表示される各フォントの文字を同定するために、ＨＴＭＬファイル５０２のコンテンツ５０４をスキャンすることを実行する（図面の矢印５１４により表されるように）。またエージェント２１２は、存在する各フォントのそれぞれ独自な文字を同定するための機能性を提供することができる。このように多くの場合で同じフォント文字はエージェントにより１回認識されるだけでよく、これによりフォントプロバイダー２１４からリクエストされることが必要な文字を統合する（それぞれの受信した電子文書用に）。幾つかの配置では、エージェント２１２は、ウェブページに存在する各フォント用に同定された各文字のフォントプロバイダー２１４を通知する。この情報が提供されると、フォントプロバイダーはフォントサブセットに含める可能性について各フォントで独自に存在する文字を同定する。そのようなスキャンニング操作を提供するために、１もしくは複数の技術を実施することができ、例えばエージェントは各フォントに存在する各文字を同定するために、コンテンツ５０４を構文解析することができる。次いで１もしくは複数のフィルターを使用して（エージェント２１２またはフォントプロバイダー２１４により）、各フォントに関してそれぞれ独自の文字を同定することができる。例えばフォントＡについて文字“ａ”、“Ｂ”および“ｃ”がコンテンツ５０４に検出され、そして文字“ｘ”、“Ｙ”および“Ｚ”がフォントＢについて検出された場合、エージェントはフォントＡに関するサブセットが“ａ”、“Ｂ”および“ｃ”を含むと同定することができ、一方フォントＢに関するサブセットが“ｘ”、“Ｙ”および“Ｚ”を含むことができると同定することができる。一旦スキャンされれば、同定されたフォントの文字５１６はエージェント２１２により使用されて、フォントサブセットのリクエスト５１８を作成する。一般に、リクエスト５１８はエージェント２１２により同定される各文字を含むが、ページコンテンツ５０４のコンテンツに含まれる幾つかの文字は、リクエスト５１８に含まれないかもしれない。例えば恐らくユーザーのコンピューター装置でローカルに保存されると同定された文字は、リクエスト５１８に含まれないかもしれない。このようにエージェント２１
２は、ページコンテンツ５０４に含まれる幾つかの文字をサブセットのリクエスト５１８から排除することができる。
【００４８】
幾つかの配置では、フォントサブセット決定を補助するために他の情報をエージェント２１２からフォントプロバイダー２１４に提供することができる。例えばコンピューターシステム２０２でローカルに記憶されたフォントに関する情報は（例えば常駐フォント、フォントの文字組等の同定）、エージェントにより集めることができ、そしてフォントプロバイダー２１４に提供することができる。一旦受信されれば、この情報はフォントサブセットが作成され、そしてコンピューターシステム２０２に提供される必要があるかを決定し、どのフォント、フォントの文字組等が作成され、そして配信されるかなどを決定するような、１もしくは複数の手順に使用できる。またこの情報はフォントサブセット決定に関係しない手順に使用することもでき、例えばフォントプロバイダーは情報を保存するか、または後に検索し、そして使用するために（例えばコンピューターシステム２０２に在住するフォントの追跡）情報を保存させることができる（例えば記憶するために情報を別の設備に提供する）。１もしくは複数のコンピューター装置（例えばコンピューターシステム２０２）にあるフォントおよびフォント情報、および各装置にすでに提供されたフォント情報（例えば配信されたフォントサブセット）をモニタリングすることにより、フォントプロバイダー２１４は冗長なデータ転送およびフォントデータの重複を減らし、これによりフォント情報の転送およびローカルストレ−ジ（ｌｏｃａｌ  ｓｔｏｒａｇｅ）を最適化することができる。例えば１もしくは複数のフォント転送技術を、引用により内容を全部、本明細書に編入する２００９年６月２２日に出願された米国特許出願第１２／４５７，７９２号明細書の“Ｆｏｎｔ  Ｄａｔａ  Ｓｔｒｅａｍｉｎｇ”に記載されているように利用することができる。
【００４９】
１もしくは複数の技術を実施して図面の矢印５２０に表示されているようなフォントサブセットのリクエスト５１８をフォントプロバイダー２１４のサーバー２２２に提供することができる。例えばＪａｖａＳｃｒｉｐｔに表されているエージェントについて、ハイパーテキストトランスファープロトコール（ＨＴＴＰ）のようなプロトコールに関連する技術はリクエストを転送するために使用することができる。同定された独自の文字を目的のＵＲＬのクエリ文字列（ｑｕｅｒｙ  ｓｔｒｉｎｇ）に添付することにより、指令（例えばＧＥＴ指令）を使用してこの情報をサーバー２２２に提供することができる。同様にアプリケーションとして提供されるエージェントは、文字情報をフォントプロバイダー２１４のサーバー２２２に、ＨＴＴＰのようなプロトコールで提供することができる。一旦フォントサブセット（１もしくは複数）についてのリクエスト５１８が提供されれば、サーバー２２２はこの情報を追加の情報（例えば環境条件）と共に使用して、１もしくは複数の必要なフォントサブセットおよび完全なフォントの文字組（適切な場合は）を作成し、そしてユーザーのコンピューター装置に応答することができる。例えば図面の矢印５２２で示すように、フォントサブセット２１６（１もしくは複数のフォントサブセット、そして恐らく１もしくは複数の完全なフォントの文字組を表すことができる）がユーザーのコンピューター装置に提供される。
【００５０】
図６を参照にして、エージェントへリクエストし（図２に示すエージェント２１２のような）、そしてフォントを特定の文字へ割り当てることを含む例示のＨＴＭＬファイル６００の指令を具体に説明する。この特定の例では、指令６０２が実行されると（例えばコンピューターシステム２０２により）、エージェントはフォントプロバイダー（例えばフォントプロバイダー２１４）からリクエストされる。一旦コンピューター装置２０２により受信されると、エージェントはＨＴＭＬファイル６００のコンテンツを分析することを実行する。例えばエージェントはＨＴＭＬファイル６００の残りの各行を通る段階を踏んで、このファイルのコンテンツに関連するウェブページを表示するために使用する各文字およびフォントを同定することができる。例えば指令６０４を分析することにより、エー
ジェントは“Ｆｒｕｔｉｇｅｒ”フォントの文字“Ａ”、“Ｂ”、“Ｃ”および“Ｄ”がウェブページの制作に必要であると同定することができる。この特定の配置では、個々の文字（例えば“ＡＢＣＤ”）は、フォントにアクセスするためのＵＲＬと一緒に指令６０４により提供される。同様に、実行したエージェントは、指令６０６で、このウェブページを制作するために文字“Ｚ”および“Ｗ”も“Ｆｒｕｔｉｇｅｒ”フォントで表示されることが必要であると同定する。このようにフォントサブセットのリクエストを作成する場合（例えば図５に示すリクエスト５１８）、エージェントはウェブページを制作するために必要なそれぞれの独自文字（すなわち“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｚ”および“Ｗ”）および対応するフォント（すなわち“Ｆｒｕｔｉｇｅｒ”）を同定する。幾つかの配置では、ファイルのコンテンツをスキャンする間に、エージェントはフォントサブセットのリクエストに含まれない文字を見つけることができる。例えばＨＴＭＬファイルは、コンピューターシステム（ファイルを実行する）にローカルで保存されたフォントが特定の文字を表すために使用される場合を含むことができる。このようにフォントはコンピューターシステムに対して外部のソースから得る（ａｔｔａｉｎ）必要はない。例示のＨＴＭＬファイル６００の指令６０８は、そのような場合を説明している。この場合、文字“Ｍ”、“Ｐ”および“Ｑ”は、特定のフォントについてＵＲＬなしで指令６０８により呼び出される。このようにファイル６００を実行しているコンピューターシステムに対してローカルなフォントを使用して、文字“Ｍ”、“Ｐ”および“Ｑ”を表示することができる。フォントまたはフォントサブセットはこれらの特定の文字について必要ではないので、エージェントはこれらの文字をリクエスト５１８に含まない。しかしこれらの文字はこの特定のフォント用にローカルで保存されるので、１もしくは複数のこれらの文字は、コンピューターシステムに対して外部のソースから得るフォントで必要とされる時に、“Ｍ”、“Ｐ”および／または“Ｑ”を呼び出すファイル６００中の別の指令（示さず）に基づく別のフォントに関するリクエストに含めることができる。
【００５１】
図７を参照にして、１もしくは複数の技術を実施してＨＴＭＬファイル６００（図６で説明する）のようなファイルのコンテンツを分析し、フォントサブセットに関する文字を同定することができる。ＪａｖａＳｃｒｉｐｔに基づくエージェントについて、ブラウザ独立ライブラリー（例えばＪａｖａＳｃｒｉｐｔとＨＴＭＬとの間の相互作用を強調するＰｒｏｔｏｔｙｐｅ，ｊＱｕｅｒｙ等）を使用してテキストのコンテンツを分析することができる。この機能性、Ｐｒｏｔｏｔｙｐｅ，ｊＱｕｅｒｙ等を提供するために、フレイムワークを使用して文字列（ｓｔｒｉｎｇ）から独自文字を抽出するためにエージェントを提供することができる。またこのフレイムワークには、同定した独自文字と対応するフォントとの間の関連を形成するために、連想配列（例えばＪＳＯＮと呼ばれる場合もある）も含むことができる。反復様式でファイルの段階を踏むことで、独自文字はさらに処理されるために同定そして保存される（例えばキャッシュされる）。図に示すコード７００の部分は、この機能性を提供することができる。
【００５２】
図８を参照にして、独自文字を同定したら、１もしくは複数の技術を実施して同定した文字をフォントに基づきしかるべくグループに分けることができる。例えば特定のフォント（例えば“Ｆｒｕｔｉｇｅｒ”）と同定された各独自文字（例えば“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｚ”および“Ｗ”）は、そのフォントに関するグループの員である。さらに相対的に少ない員を有するフォント（例えばラテン語に関連するフォント）については、独自文字のグループは形成されないかもしれない。比較的少ない員を含むそのようなフォントに関して、全フォントセットは、転送時間および帯域幅（例えば環境特性と共同して決定される）のようなかなりの計算資源を消費せずに送信することができる。このように完全なフォントセットが（例えばフォントプロバイダーから）そのフォントの文字を作成するために提供され得る。図に示すコード８００の部分は、この機能性を提供することができる。
【００５３】
図９を参照にして、各フォントに関して同定された独自文字が一旦グループ分けされれば（比較的小さい文字組を有する任意の同定されたフォントと一緒に）、エージェントはこの情報をフォントプロバイダー２１４（例えばフォントプロバイダーのサーバー２２２に）に提供する。１もしくは複数の技術を使用してこの情報を提供することができる。例えばＨＴＴＰ  ＧＥＴ指令のような指令を使用して、同定した文字および対応するフォントをＵＲＬのクエリ文字列に添付することができる。リクエストを受信すると（ＨＴＴＰ
ＧＥＴ指令により提供される）、フォントプロバイダー２１４（例えばフォントプロバイダーのサーバー２２２）は１もしくは複数の適切なフォントサブセットを作成し、そしてリクエストしているコンピューターシステムに送信する。１もしくは複数の因子（例えばユーザーおよび／またはフォントプロバイダーの地理上の位置、時間情報、達成可能な転送速度のようなデータ転送パラメーターなど）に関連する予め定めた規則に基づき、完全なフォントセットも比較的少ない文字を含む同定されたフォント用に送信されることができる。同定された独自文字および対応するフォントを提供するために、この機能性を提供することができるコード９００の一部を図に表示する。
【００５４】
図１０を参照にして、流れ図１０００はフォントサブセットマネージャー（例えば図３に示すフォントサブセットマネージャー３０６）の操作を表す。フォントサブセットマネージャー３０６の操作は、一般に一つのコンピューター装置（例えばサーバー２２２）により実行されるが、フォントサブセットマネージャーの操作は複数のコンピューター装置により実行してもよい。一つのサイトで実行されると共に（例えばフォントプロバイダー２１４）、操作の実行は２以上の位置に分配され得る。
【００５５】
フォントサブセットマネージャーの操作は、ユーザーの装置とフォントプロバイダーとの間の通信接続の１もしくは複数の環境特性を受信すること１００２を含むことができる。例えば環境特性は、クライアントの装置（例えばタブレット型コンピューター装置、スマートフォン等）とフォントプロバイダーの装置（例えばサーバー２２２）との間の通信リンクの量（例えばスループット、接続確立時間、帯域幅等）を表すことができる。また環境特性は、クライアントの装置の能力（例えばディスプレイの解像度、スクリーンのサイズ、装置に実行されているウェブブラウザ）を表すことができる。またフォントサブセットマネージャーの操作は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、１もしくは複数の環境特性に基づき決定すること１００４を含むことができる。例えば、通信リンクの能力（例えば相応のスループットを有すること）に基づき、フォントサブセットマネージャーはフォントプロバイダーからクライアントの装置へのフォントの効率的転送に、（ウェブアセットにより使用される）１もしくは複数のフォントをサブセットにするかどうかを決定することができる。受信した環境特性を使用すると共に、ウェブアセットのコンテンツと関連する情報のような他の情報をこの決定を行うために使用することができる。またフォントサブセットマネージャーの操作は、ウェブアセットを表示するために、ウェブアセットのフォント情報をユーザーの装置に提供すること１００６を含むことができる。例えばウェブアセットのコンテンツを表示するための適切なフォント文字を提供するために、１もしくは複数のフォントサブセットが必要と決定された場合、フォントサブセットマネージャーはフォントサブセット（１もしくは複数）を作成し、そしてクライアントの装置に転送し始めることができる。
【００５６】
図１１を参照にして、流れ図１１００はフォントサブセットマネージャー（例えば図３に示すフォントサブセットマネージャー３０６）の操作を表す。言及したように、フォントサブセットマネージャー３０６の操作は、一般に一つのコンピューター装置（例えばサーバー２２２）により実行されるが、フォントサブセットマネージャーの操作は複数のコンピューター装置により実行してもよい。一つのサイトで実行されると共に（例えばフォントプロバイダー２１４）、操作の実行は２以上の位置に分配され得る。
【００５７】
フォントサブセットマネージャーの操作は、１もしくは複数のウェブアセットのコンテンツを表すデータを受信すること１１０２を含むことができる。例えばフォントサブセットマネージャーは、様々な種類のウェブサイト、ウェブページ等を表すデータを、１もしくは複数のソースから受信することができる（例えばウェブサイトデベロッパー、ウェブサイトプロバイダー、ウェブサイトリポジトリ等）。幾つかの配置では、フォントプロバイダー（フォントサブセットマネージャーが実行される場所）が能動的にウェブアセットのソースをモニターし、そして新しいアセットがアクセス可能であるか、ウェブアセットが更新されているかどうかなどを定めることができる。このモニタリングに基づき、ウェブアセットは作動を起こすことができる。そのような情報は比較的受動的なフォントプロバイダーに提供することもできる。例えば新しいウェブアセットがオンラインで来ると、この新しいアセットのソースはフォントプロバイダーに知らせ、そして情報を提供することができる。またフォントサブセットマネージャーの操作には、ユーザーの装置に提供するために適切な量の１もしくは複数のウェブアセットのフォント情報を、１もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定すること１１０４を含む。例えば、ウェブアセットのコンテンツ（および例えばウェブアセットを受信するためのユーザーの装置の能力）に基づき、フォントサブセットマネージャーは、１もしくは複数のフォントサブセットが作成され、そしてウェブアセット（１もしくは複数）を表示するためにユーザーの装置に提供されるべきかどうかを決定することができる。また操作には、決定した適切な量のフォント情報を保存すること１１０６も含む。この情報（例えば１もしくは複数のフォントサブセット）を保存することにより、フォントサブセットマネージャーは、１もしくは複数のユーザーの装置（例えば対応するウェブアセットのコンテンツへのアクセスをリクエストする装置）に配信するために適切な場合に、この情報の検索を開始することができる。
【００５８】
図１２は、フォントサブセットマネージャー３０６に関連する操作を行うために使用し、そして実施することができるコンピューターシステム１２００のブロック線図である。このコンピューターシステムはフォントプロバイダー２１４により使用することもでき、かつまたは操作を実行するユーザーの装置として使用することもできる。コンピューター装置１２００は様々な形態のデジタルコンピューター、例えばラップトップ型、デスクトップ型、ワークステーション、携帯情報端末、サーバー、ブレードサーバー、大型汎用機および他の適切なコンピューターを表すことを意図する。このコンピューター装置１２００は、プリンター、スキャナー等のような他の装置に組み込むこともできる。
【００５９】
コンピューター装置１２００はプロセッサー１２０２、メモリー１２０４、記憶装置１２０６、メモリー１２０４および高速拡張ポート１２１０に接続する高速インターフェイス１２０８、および低速バス１２１４および記憶装置１２０６に接続する低速インターフェイス１２１２を含む。各部品１２０２、１２０４、１２０６、１２０８、１２１０および１２１２は、種々のバスを使用して相互に連結され、そして共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。プロセッサー１２０２は、高速インターフェイス１２０８に繋いだディスプレイ１２１６のような外部入力／出力装置でＧＵＩに関するグラフィック情報を表示するために、メモリー１２０４または記憶装置１２０６に保存されている指令を含め、コンピューター装置１２００内で実行の指令を処理することができる。他の実施において、多数のプロセッサーおよび／または多数のバスを、適切な場合は多数のメモリーおよび多種類のメモリーと一緒に使用することができる。また多数のコンピューター装置１２００は、必要な操作の部分を提供する各装置（例えばサーバーバンク、ブレードサーバーのグループ、またはマルチ−プロセッサーシステムとして）に接続することができる。
【００６０】
メモリー１２０４はコンピューター装置１２００内に情報を保存する。１つの実施では、メモリー１２０４はコンピューター可読媒体である。１つの実施では、メモリー１２０
４は揮発性記憶ユニット（１もしくは複数）である。別の実施ではメモリー１１０４は不揮発性記憶ユニット（１もしくは複数）である。
【００６１】
記憶装置１２０６は大容量記憶装置をコンピューター装置１２００に提供することができる。１つの実施では、記憶装置１２０６はコンピューター可読媒体である。様々な異なる実施において、記憶装置１２０６はフロッピーディスク装置、ハードディスク装置、光学ディスク装置またはテープ装置、フラッシュメモリーまたは他の同様なソリッドステート記憶装置、または記憶領域のネットワークまたは他の構成内の装置を含む装置のアレイであることができる。１つの実施では、コンピュータープログラム製品は明白に情報担体に埋め込まれる。このコンピュータープログラム製品は実行した時に、上記のような１もしくは複数の方法を行う指令を含む。情報担体はコンピューターまたは機械可読媒体、例えばメモリー１２０４、記憶装置１２０６、プロセッサー１２０２上のメモリー等である。
【００６２】
高速コントローラー１２０８は、コンピューター装置１２００に関する帯域幅集約型操作（ｂａｎｄｗｉｄｔｈ−ｉｎｔｅｎｓｉｖｅ  ｏｐｅｒａｔｉｏｎ）を管理し、一方、低速コントローラー１２１２は低い帯域幅集約型操作を管理する。そのような任務（ｄｕｔｙ）の配置は単に例である。１つの実施では、高速コントローラー１２０８は、メモリー１２０７、ディスプレイ１２１６（例えばグラフィックプロセッサーまたはアクセラレーターを介して）、および様々な拡張カード（示さず）を受けることができる高速拡張ポート１２１０に繋げることができる。この実施では低速コントローラー１２１２が記憶装置１２０６および低速拡張ポート１２１４に繋がれる。様々な通信ポート（例えばＵＳＢ，Ｂｌｕｅｔｏｏｔｈ，Ｅｔｈｅｒｎｅｔ，ワイヤレスＥｔｈｅｒｎｅｔ）を含むことができる低速拡張ポートを、１もしくは複数の入力／出力装置、例えばキーボード、ポインティング装置、スキャナー、またはスイッチまたはルーターのようなネットワーキング装置に、例えばネットワークアダプターを介して繋ぐことができる。
【００６３】
コンピューター装置１２００は図に示すような多数の異なる状態で実施することができる。例えばこれは標準的サーバー１２２０として、すなわちそのようなサーバーのグループで多数回実施することができる。またこれはラックサーバーシステム１２２４の一部として実施することもできる。さらにこれはラップトップコンピューター１２２２のようなパーソナルコンピューターコンピューターで実施することができる。あるいはコンピューター装置１２００からの部品を、モバイル装置（示さず）の他の部品と組み合わせることができる。
【００６４】
本明細書に記載する主題の態様および機能的操作は、デジタル電子回路で、またはコンピューターソフトウェア、ファームウェアまたはハードウェアで実施することができ、それらには本明細書に記載する構造、およびそれらの構造的均等物、またはそれらの１もしくは複数の組み合わせを含む。本明細書に記載する主題の態様は、１もしくは複数のコンピュータープログラム製品として、すなわちデータ処理装置による実行のため、またはデータ処理装置の操作を制御するための実行に、コンピューター可読媒体にコードされたコンピュータープログラム指令の１もしくは複数のモジュールとして実施されることができる。コンピューター可読媒体は、機械可読記憶装置、機械可読記憶基板、記憶装置、機械可読伝播シグナルに影響を及ぼす合成物、または１もしくは複数のそれらの組み合わせであることができる。用語「データ処理装置」はデータを処理するためのすべての装置、デバイスおよび機械を包含し、例にはプログラム可能なプロセッサー、コンピューターまたはマルチプロセッサーまたはコンピューターを含む。この装置にはハードウェアに加えて、問題のコンピュータープログラムについての実行環境を作るコード、例えばプロセッサーのファームウェア、プロトコールスタック、データベース管理システム、操作システム、または１もしくは複数のそれらの組み合わせを構成するコードを含むことができる。
【００６５】
コンピュータープログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている）は、コンパイル型またインタプリタ形式の言語を含む任意の形態のプログラム言語で書かれることができ、そして独立プログラムとして、またはモジュール、部品、サブルーチン、または計算環境で使用するために適する他のユニットとして含む任意の形態に配置することができる。コンピュータープログラムはファイルシステムのファイルに必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ（例えばマークアップ言語文書に保存される１もしくは複数のスクリプト）を保持するファイルの一部に、問題のプログラムに特化した単一ファイルに、あるいは複数のものが調整されたファイル（ｍｕｌｔｉｐｌｅ  ｃｏｏｒｄｉｎａｔｅｄ  ｆｉｌｅ）（例えば１もしくは複数のモジュール、サブ−プログラム、またはコードの部分）を保存するファイルに保存することができる。計算プログラムは、１つのサイトに位置するか、または複数のサイトにわたって分布し、そして通信ネットワークにより相互に連結された１つのコンピューターまたはマルチコンピューターで実行されるように配置することができる。
【００６６】
本明細書に記載する工程および論理流れ図は、入力データを操作し、そして出力を作成することにより機能を行うための１もしくは複数のコンピュータープログラムを実行する１もしくは複数のプログラム可能なプロセッサーにより行うことができる。またこの工程および論理流れ図は、特別な目的の論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によっても行うことができ、そしてまた装置はそれらとして実施することができる。
【００６７】
コンピュータープログラムの実行に適切なプロセッサーは、例として汎用および特殊目的のマイクロプロセッサー、および任意の種類のデジタルコンピューターの任意の１もしくは複数のプロセッサーを含む。一般にプロセッサーは、リードオンリーメモリーまたはランダムアクセスメモリーまたは両方からの指令およびデータを受信する。コンピューターの必須要素は指令を行うためのプロセッサー、および指令およびデータを保存するための１もしくは複数の記憶装置である。一般にコンピューターは、データを保存するための１もしくは複数の大容量記憶装置、例えば磁気、光磁気ディスクまたは光ディスクを含むか、またはそこからのデータを受信するか、またはデータをそこへ転送するか、またはその両方のために操作可能に繋がれる。しかしコンピューターはそのような装置を必要としない。さらにコンピューターは別の装置、例えば幾つか挙げるだけでも携帯電話、携帯情報端末（ＰＤＡ）、携帯オーディオプレイヤー、グローバルポジショニングシステム（ＧＰＳ）受信機に埋め込まれる（ｅｍｂｅｄｄｅｄ）ことができる。コンピュータープログラム指令およびデータを保存するために適するコンピューター可読媒体は、すべての形態の不揮発性メモリー、媒体および記憶装置を含み、それらの例には半導体記憶装置、例えばＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリー装置；磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク；光磁気ディスク；およびＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクがある。プロセッサーおよびメモリーは特別目的の論理回路により補充できるか、またはそれに組み込まれることができる。
【００６８】
本明細書に記載する主題の態様は、例えばデータサーバーとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバーを含むか、またはフロントエンドコンポーネント、例えばグラフィカルユーザーインターフェイス、またはユーザーが本明細書に記載する主題の実施を情報交換できるＷｅｂブラウザを有するクライアントのコンピューターを含むか、またはそのような１もしくは複数のバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューターシステムで実施することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、例えば通信ネットワークにより相
互連結することができる。通信ネットワークの例には、ローカルエリアネットワーク（“ＬＡＮ”）およびワイドエリアネットワーク（“ＷＡＮ”）、例えばインターネットがある。
【００６９】
このコンピューターシステムはクライアントおよびサーバーを含むことができる。クライアントおよびサーバーは一般に互いに離れ、そして一般には通信ネットワークを介して情報交換する。クライアントとサーバーの関係は個々のコンピューターで実行し、そしてクライアント−サーバー関係を互いに有するコンピュータープログラムにより生じる。
【００７０】
本出願は多くの明細を含むが、これらは本発明の、または特許請求され得る範囲の限定と解釈すべきではなく、むしろ本発明の特定態様に対する特別な特徴の記載と解釈すべきである。別の態様の内容で本明細書に記載する特定の特徴も、１つの態様で組み合わせて実施できる。逆に１つの態様の内容で記載する様々な特徴は、多くの態様で別々に、または任意の適切な部分的組み合わせでも実施することができる。さらに特徴は特定の組み合わせで作用すると上記に記載することができ、そしてそのように最初は特許請求するが、特許請求する組み合わせからの１もしくは複数の特徴は場合により組み合わせから削除することができ、そして特許請求する組み合わせは部分的組み合わせまたは部分的組み合わせの変形を対象とすることができる。
【００７１】
同様に図面では操作を特定の順序で表すが、これは所望する結果に到達するためにそのような操作が示した特定の順序または連続的順序で行われること、あるいはすべての説明した操作が行われることを要求していると理解すべきではない。特定の状況では、マルチタスク動作および平行処理が有利かもしれない。さらに上記態様の様々なシステムの部品の分離は、そのような分離をすべての態様で要求すると理解されるべきではなく、そして記載したプログラム部品およびシステムは一般に１つのソフトウェア製品に一緒に統合されるか、または多くのソフトウェア製品にパッケージされ得ると理解すべきである。
【００７２】
このように本発明の特定態様を記載してきた。他の態様は以下の特許請求の範囲内にある。例えば特許請求の範囲で言及する動作は、異なる順序で行うことができ、それでも所望する結果を達成できる。
【図１】
2014038618.tif 000003
【図２】
2014038618.tif 000004
【図３】
2014038618.tif 000005
【図４】
2014038618.tif 000006
【図５】
2014038618.tif 000007
【図６】
2014038618.tif 000008
【図７】
2014038618.tif 000009
【図８】
2014038618.tif 000010
【図９】
2014038618.tif 000011
【図１０】
2014038618.tif 000012
【図１１】
2014038618.tif 000013
【図１２】
2014038618.tif 000014
【外国語明細書】
2014038618000001.pdf