JP2014038618A - ネットワークに基づくフォントサブセットの管理 - Google Patents

ネットワークに基づくフォントサブセットの管理 Download PDF

Info

Publication number
JP2014038618A
JP2014038618A JP2013167013A JP2013167013A JP2014038618A JP 2014038618 A JP2014038618 A JP 2014038618A JP 2013167013 A JP2013167013 A JP 2013167013A JP 2013167013 A JP2013167013 A JP 2013167013A JP 2014038618 A JP2014038618 A JP 2014038618A
Authority
JP
Japan
Prior art keywords
font
user
web
computer
font information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013167013A
Other languages
English (en)
Inventor
Levantovsky Vladimir
ウラデイミル・レバントフスキ
J Roberts Christopher
クリストフアー・ジエイ・ロバーツ
Venkat Yetrintala
ベンカト・イエトリンタラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Monotype Imaging Inc
Original Assignee
Monotype Imaging Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Monotype Imaging Inc filed Critical Monotype Imaging Inc
Publication of JP2014038618A publication Critical patent/JP2014038618A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Abstract

【課題】プロバイダーは、特定の地理区のユーザーのためにコンテンツを調整し、または調整可能なコンテンツを様々なユーザーに提供する。
【解決手段】システムは、指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信することを含む方法を行うための指令を実行するプロセッサーを含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定し、そしてウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
【選択図】図2

Description

本記載はフォントサブセットの作成およびネットワーク配信を開始することに関する。
インターネットのようなコンピューターネットワークにより提供される絶え間なく広がる接続性において、様々な種類のコンテンツ、例えばテキスト、グラフィック、オーディオ、ビデオ等が少数のコンピューター装置の間で、または大衆への放送の間でやりとりされ得る。そのような接続性により、地球上の様々な地域にいるユーザーは、コンテンツのプロバイダーにアクセスすることができ、プロバイダーには様々な国籍および文化のユーザーにコンテンツを提供するための柔軟性が必要である。例えば北米のユーザーに提供されるコンテンツは、アジアのユーザーには識別することはできない。このようにプロバイダーは、特定の地理区のユーザーのためにコンテンツを調整し、または調整可能なコンテンツを様々なユーザーに提供する可能性がある。
発明の要約
本明細書に記載する本システムおよび技術は、例えば1もしくは複数のクライアントのコンピューター装置に配信するためのフォントをサブセットする(subset)ための適切なインスタンス(instance)を決定することに関する。
1つの局面では、コンピューター実施方法は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信することを含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定することを含む。またこの方法は、ウェブアセットに表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
実施方法は1もしくは複数の以下の特徴を含むことができる。1もしくは複数の環境特性の1つは、通信接続のスループット(throughput)、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づくことができる。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の1もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第1ページを表示するためのものであることができる。この方法はさらに、ウェブアセットの第1ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを含む。ウェブアセットのフォント情報は事前に作成することができる。
別の局面では、システムは指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信することを含む方法を行うための指令を実行するプロセッサー含む。またこの方法は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定することを含む。またこの方法は、ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
実施には1もしくは複数の以下の特徴を含むことができる。1もしくは複数の環境特性
の1つは、通信接続のスループット、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づく。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の1もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第1ページを表示するためのものであることができる。プロセッサーはウェブアセットの第1ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供するための指令を実施することができる。ウェブアセットのフォント情報は事前に作成することができる。
別の局面では、1もしくは複数のコンピューター可読媒体が処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせ、この操作にはユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信することを含む。また操作には、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定することを含む。操作はまた、ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供することを含む。
実施には1もしくは複数の以下の特徴を含むことができる。1もしくは複数の環境特性の1つは、通信接続のスループット、通信接続の帯域幅、処理時間、ユーザーの装置に提供されるフォント情報の量、ユーザーの装置の能力等を表すことができる。ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を決定することは、ウェブアセットのコンテンツに基づくことができる。フォント情報は、ウェブアセットのコンテンツを表示するために、ユーザーの装置用の1もしくは複数のフォントサブセットを含むことができる。このフォント情報はウェブアセットの第1ページを表示するためのものであることができる。コンピューター可読媒体は処理装置により実行可能なさらなる指令を保存することができ、そのような実施により処理装置に、ウェブアセットの第1ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを含む操作を行わせる。ウェブアセットのフォント情報は、事前に作成することができる。
別の局面では、コンピューター実施方法は1もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む。またこの方法はユーザーの装置に提供するために1もしくは複数のウェブアセットに関する適切な量のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存することを含む。
実施には1もしくは複数の以下の特徴を含むことができる。この方法はさらに1もしくは複数のウェブアセットの表示のために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、1もしくは複数のウェブアセットの1もしくは複数のソースに基づくことができる。適切な量のフォント情報の決定は、ユーザーの装置の1もしくは複数の能力に基づくことができる。フォント情報はフォントサブセットを含むことができる。
別の観点では、システムは指令を保存するために構成されたメモリーを含む第一コンピューター装置を含む。またこの第一コンピューター装置は、1もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む方法を行うための指令を実行するプロセッサーを含む。またこの方法は、ユーザーの装置に提供するための1もしくは複数のウェブアセットの適切な量のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存するこ
とを含む。
実施には1もしくは複数の以下の特徴を含むことができる。この方法はさらに、1もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、1もしくは複数のウェブアセットの1もしくは複数のソースに基づくことができる。適切な量のフォント情報を決定することは、ユーザーの装置の1もしくは複数の能力に基づくことができる。フォント情報にはフォントサブセットを含むことができる。
別の局面では、1もしくは複数のコンピューター可読媒体は、処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が1もしくは複数のウェブアセットのコンテンツを表すデータを受信することを含む操作を行うようにさせる。また操作はユーザーの装置に提供するための1もしくは複数のウェブアセットに関する適切な量のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し、そして決定した適切な量のフォント情報を保存することを含む。
実施には1もしくは複数の以下の特徴を含むことができる。操作はさらに、1もしくは複数のウェブアセットの表示のために、保存したフォント情報をユーザーの装置に提供することを含む。適切な量のフォント情報を決定することは、1もしくは複数のウェブアセットの1もしくは複数のソースに基づくことができる。適切な量のフォント情報を決定することは、ユーザーの装置の1もしくは複数の能力に基づくことができる。フォント情報にはフォントサブセットを含むことができる。
これらの、および他の局面および特徴およびそれらの様々な組み合わせは、機能、プログラム製品および他の方法を行うための方法、装置、システム、手段として表すことができる。
他の特徴および利点は説明および特許請求の範囲から明白となるだろう。
コンピューターネットワークを介して伝達され得るコンテンツの例を具体的に説明する。 インターネットに基づくコンピューターネットワークのブロック線図である。 フォント配信を管理するために環境特性を使用することを具体的に説明する。 ソフトウェアエージェントへのリクエストおよび配信、ならびにフォントプロバイダーからのフォントサブセットを具体的に説明する。 ウェブページを制作するための例示的ファイルである。 コード指令の例を具体的に説明する。 フォントサブセットマネージャーの操作の流れ図の一例である。 フォントサブセットマネージャーの操作の流れ図の一例である。 コンピューター装置およびシステムのブロック線図である。
図1を参照にして、ユーザーのコンピューター装置(例えばコンピューターシステム、携帯情報端末(PDA)、携帯電話など)によりインターネット(または他の種類のコンピューターネットワーク)を通してアクセスすることができる例示的ウェブページ100を具体的に説明する。例えば適切なユニフォームリソースロケータ(URL)をウェブブラウザに提供することにより、このウェブページにアクセスし、パッケージ化され、そして対応するコンテンツのプロバイダーからユーザーのコンピューター装置に表示するために送ることができる。この説明する例では、ウェブページ100のコンテンツは、テキストおよびグラフィックスを含む誕生日パーティの招待状であり、そして特定のURL(すなわちwww.invite.com)からアクセスすることができる。人目を引く招待状を提供するために、種々の書体を提供する多くのフォントが使用され、そのそれぞれが文体上の文字(characters)またはグリフ(glyphs)を提供すると考えることができる。「文字」は情報を組織化し、制御し、そして提示するために使用する1組の形の員と考えることができ、そして「グリフ」は文字の具体例と考えることができる。
一旦アクセスすれば、コンテンツのプロバイダーはウェブページ100のコンテンツをユーザーのコンピューター装置に提供するために1もしくは複数の技術を使用することができる。例えばウェブページ100は、ウェブページ100がコンピューター装置により実行されるブラウザに従うように、ハイパーテキストマークアップ言語(HTML)のようなマークアップ言語を使用する1もしくは複数のファイル(例えばファイル102)で表すことができる。HTML、CSS、XMLのためのワールドワイドウェブコンソーシアム(W3C)標準のような標準、および他の標準はブラウザにより実施されることができるので、ウェブページ100は、電子コンテンツ(例えばパーソナルコンピューター、ワイヤレステレフォン、携帯情報端末、ハンドヘルドコンピューター、セットトップボックスおよびインターネットアプライアンス等)を表示することができる様々な種類のプラットフォーム上で正しく表示されることができる。
グラフィックス(例えばこの例ではバースデイケーキのグラフィック)を提供することと共に、1もしくは複数のHTMLファイルはウェブページ上にテキストを表示するために使用する1もしくは複数のフォントを参照することができる。説明のために、この招待状に関連する情報を提供するために5個の異なるフォント(例えば時間、月日、場所、行事の説明およびメニュー)をこのウェブページ100で使用する。このようにHTMLファイル102は、受信するコンピューター装置が、どのフォントがテキスト情報の各部分(例えば「Times New Roman」で月日を表示する)に対応するのか分かるように、各フォントを呼び出す(call out)。HTMLファイル102に含まれる指令を受信し、そして実行すると、受けるコンピューター装置はテキストを表示するために必要なフォントをローカルで取得することができる。しかしかなりの量のコンピューター装置が、ウェブページを表示するために必要となり得るすべての文字の各フォントをローカルに保存することはできない。限られたソース(例えばメモリー)および新たなフォントタイプの絶え間ない作成は、各種コンピューター装置がテキストをありとあらゆるフォントで直ちに表示することを限定する可能性がある。異なる言語に関連するフォントは、多くのコンピューター装置がすべてのフォントタイプを提供することができないという問題を増幅する。中国語、日本語、韓国語といった言語は、何万もの数になり得る(例えば10,000文字以上)アルファベット文字を使用し、そして1つの言語の文字を保存するために1MB〜20MBのメモリーを必要とする。そのようなメモリーのニーズは、特にそれほどロバストではないオンボードメモリーのコンピューター装置(例えば携帯電話)では非現実的である。さらに、わずか2、3のフォントに関して完全な文字組を保存することは(特定のウェブページを提示するために)、2、3の文字だけがこの組から必要になるならば非効率的となり得る。具体例を参照にすると、比較的少数の「Times New Roman」フォントの文字(例えば“A”、“p”、“r”、“i”、“l”、“2”、“0”、“t”および“h”)が、行事の月日を表示するために必要とされ、そして確実に完全な文字組がそれぞれ可能性のあるユーザーの言語(例えば、英語、中国語、日本語など)に関して保存されるとすれば、完全なフォントの文字組を保存することは、装置のメモリーの賢くない使用と考えることができる。
ローカルメモリーの使用を浪費しないために、幾つかの通常の技術が受信したウェブページのコンテンツ(例えばHTMLファイル)に完全なフォントセットを提供するか、またはウェブページに関連するファイルの受信で必要なフォントの完全な文字組の検索を開始する。しかしそのような技術は、実際にはわずか2、3の文字がウェブページで使用される場合に、コンピューター装置のメモリーをフォント文字の収集物でいっぱいにしてしまう可能性がある。例えば図に説明するように、コンピューター装置上にウェブページ100を表示するために、完全なフォントの文字組104、106、108、110、112がHTMLファイル102と一緒に提供される。このようにウェブページ100に使用される5つのフォントのそれぞれ可能な文字がコンピューター装置に提供され、それによりコンピューター装置のかなりの量のメモリーを消費する。
帯域幅消費と共にフォントを転送するために必要な時間にも注意が払われる。例えば中国語、日本語および韓国語のような言語に関連するフォントの完全な文字組の転送には、かなりの帯域幅および転送時間が必要かもしれない。
1もしくは複数の技術を使用してファイルの転送時間、帯域幅消費およびウェブページ100のようなウェブページを表示することを準備するために必要なメモリー空間を減らすことができる。例えば各フォントについて完全な文字組を提供するというよりは、ウェブページに現れる文字のみを含むフォントサブセットを提供することができる。このように必要なファイル転送時間および帯域幅のニーズは減らされ、そして装置のメモリーは保存されると同時に、適切なフォントの文字組がウェブページ表示用に提供される。説明する例を参考にして、各フォントの文字組104〜112は、HTMLファイル102により提供されることができる有意に小さいフォントサブセットに、すなわちこのファイルの比較的受信直後に交換されることができる。文字の文体的外観に関するフォントサブセットに基づく転送時間および帯域幅の減少のニーズと同様に、異なる言語に関連するフォントサブセットを提供するために縮小(reduction)も達成され得る。例えばウェブページがわずか300の中国語の文字を含む場合、300文字のみを含むように制限されたフォントサブセットを提供することがより効率的であり、これは転送されるフォントデータのサイズを約10MBから50KBに縮小することができる。幾つかのフォントの文字組に関するサブセット(例えば中国語の文字組)を作成することができると同時に、他のフォントの文字組を完全な組で送ることができる場合もある。例えば完全なフォントセットに比較的少数の文字が含まれる場合(例えばラテン語の文字組)は、サブセットの制作および転送は、全部の文字組を転送するために必要な帯域幅または時間を有意に縮小することはない。ウェブページまたは他の種類の電子文書を表示するために、コンピューター装置に提供されるフォントの文字組のサイズを縮小すると共に、1もしくは複数の技術を実施してそのようなフォントサブセットをコンピューター装置に効率的に提供することができる。例えばウェブページの表示と共に、ユーザーのコンピューター装置は適切なフォントサブセットを同定し、そして引き続いて同定されたサブセットをリクエストするために使用することができる。
図2を参考にして、ユーザーが対話することができる(例えばキーボードまたはマウスのようなポインティングデバイスを使用して)コンピューターシステム202を含むコンピューターネットワーク200は、コンピューターシステムで表示される目的のウェブペ
ージを同定する。例えばウェブブラウザ204または類似のソフトウェアアプリケーションは、ユーザーが1もしくは複数のウェブページを目的とするためにコンピューターシステム202により実行することができる。同定されたら、ウェブブラウザ204の操作には、インターネット206を介して、目的のウェブページ用(1もしくは複数)の1もしくは複数のウェブページソース208a、b、cからコンテンツをリクエストすることを含むことができる。説明したように、この特定の例ではウェブページはウェブページソース208aからリクエストされ、そして対応するHTMLファイル210がソースからインターネット206を介してコンピューターシステム202に送られる。
HTMLファイル210により定められるウェブページを表示するための適切なフォントサブセットを同定するために、コンピューターシステム202は1もしくは複数の技術を使用することができる。例えば操作は、ファイルにより定められるウェブページに含まれる個々のフォント文字を同定するために、HTMLファイル210をスキャンするためのコンピューターシステム202により実行することができる。1つの配置(arrangement)では、コンピューターシステム202は、個々のフォントの文字を同定し、そしてウェブページを表示するために必要なフォントサブセットの制作(適切な場合は)を開始することのリクエストを送信するために、ソフトウェアエージェント212を実行することができる。そのようなエージェントは、実質的に自律的様式で実行可能なソフトウェアモジュールと考えることができる。例えばコンピューターシステム202に提供されると、ソフトウェアエージェントは多数のユーザーとの対話無しに作動することができる。幾分柔軟な様式で操作することにより、ソフトウェアエージェントはウェブページ表示に必要なフォント文字を適応状態で(adaptively)同定することができる。この特定の例では、ソフトウェアエージェント212は、フォント文字を同定するために幾分持続的な様式でHTMLファイル210のコンテンツをスキャンする。例えばソフトウェアエージェントは実質的に連続的様式で実行することができる。幾つかの配置では、ソフトウェアエージェントはファイル(1もしくは複数)(例えばHTMLファイル210)の極めて配信直後にユーザーのコンピューター装置(例えばコンピューターシステム202)に提供される。このようにウェブページ、アプリケーションページ、ユーザーのインターフェイス等のような電子文書は、文書が受信された時とほぼリアルタイムでスキャンされると認識する(perceive)ことができる。
またコンピューターネットワーク200は、(適切な場合に)ユーザーのコンピューター装置(例えばコンピューターシステム202)により実行されるソフトウェアエージェント(例えばソフトウェアエージェント212)により提供される情報に基づき、フォントサブセットを制作することを決定するフォントプロバイダー214を含む。一旦制作されれば、サブセット(1もしくは複数)(例えばフォントサブセット216として説明される)はパッケージされ、そしてフォントのプロバイダー214によりリクエストしているコンピューター装置に送信される。1もしくは複数のフォントサブセットを制作することを決定すると共に、フォントプロバイダー214は、完全なフォントの文字組がリクエストしているコンピューター装置に提供されるべきかどうかを決定することもできる。例えばフォントサブセットを送信すべきかどうかの決定に、予め定めた規則をフォントプロバイダー214は使用することができる。そのような規則の1つは、特定の言語(例えば中国語)に関連するフォントの文字組が、大きいサイズの完全な文字組により作成されたサブセットを有するべきであることを示すことができる。またサブセットの決定は、動的様式で提供することもできる。例えば達成可能なファイル転送速度に基づき、サブセットが閾値より大きい文字組について作成されるようにファイルサイズの閾値(例えば2MB)を決定することができる。フォントの文字組のサイズが閾値より低い場合、ファイル転送速度が効率的範囲内と考えることができるので、全文字組は送信されることができる。そのような閾値は、例えば達成可能な転送速度をモニタリングすることにより動的に調整することができ、この閾値は変更することができる。例えば達成可能な転送速度のレベル
が下がれば、文字組のサブセットを作成するための閾値は対応して下がる可能性がある(例えば2MBから1MBへ)。1もしくは複数の因子が転送速度を効率的範囲内であると決定する理由となり得る。例えばユーザーのコンピューター装置およびフォントプロバイダーの地理学上の位置は、サブセットが制作され、そして完全な文字組の代わりに送信されるべきかどうかの主な要因となることができる。フォントプロバイダーおよびユーザーのコンピューター装置の双方が比較的近くに位置する場合(例えば双方とも米国東部)、比較的高い転送速度を達成でき、そして全文字組を送信することができる。ユーザーのコンピューター装置がフォントプロバイダーから離れている状況については(例えば1つは米国で、もう1つがインド)、フォントプロバイダーは送信すべきフォントの文字組をサブセットにする決定を行うことができる。位置に基づく決定と同様に、1日のうちの時間、1年のうちの季節および他の一時的要因が、伝達のために同定された1もしくは複数のフォントの文字組のためにサブセットが作成される必要があるかどうかを決定するフォントプロバイダーにより使用されることができる。
幾つかの配置では、フォントプロバイダー214は文字同定のために受信したファイル(例えばHTMLファイル210)をスキャンするためのソフトウェアエージェントをコンピューター装置に提供することもできる。このようにフォントプロバイダー214はウェブページのソース208a、b、cから独立して作動することができる。一旦ユーザーのコンピューター装置からリクエストを受信すれば、フォントプロバイダー214は適切なエージェントソフトウェアをリクエストしている装置に提供することができる。一旦電子文書がソフトウェアエージェントによりスキャンされれば、適切なフォントおよびフォントサブセットが、実行したエージェントにより開始されたリクエストに基づきフォントプロバイダー214により提供され得る。
フォントおよびフォントサブセットを提供するために、フォントプロバイダー214は一般に、ローカルまたはフォントプロバイダーから離れて保存(stored)することができるフォントの1もしくは複数のライブラリーにアクセスすることが必要である。図に表すように、フォント218のライブラリーはサイト上の記憶装置220(例えば1もしくは複数のハードドライブ、CD−ROM等)に保存されていることを示す。サーバー222によりアクセス可能であるので、フォントライブラリー218は、完全なフォントの文字組(フォントプロバイダーにより適切と決定された場合)と一緒に提供され得る適切なフォントサブセットを作成するために、ソフトウェアエージェントから提供される情報と一緒に使用されることができる。単一の記憶装置220に保存されていると説明される場合、フォントプロバイダー214は多数の記憶技術および装置を使用してフォントのアクセス可能な組のコレクションを保持することができる(例えば種々のフォントスタイル、言語等について)。またフォントプロバイダー214は、サブセットを作成するために離れた(separate)位置でフォントにアクセスすることができる。例えばフォントサブセットに必要な文字を同定すると、必要な文字をフォントプロバイダー214に対して外部の1もしくは複数のソースから集めるためにサーバー222を使用することができる(例えばインターネット206を介して)。
フォントサブセットを作成し、そしてそれらをリクエストしているコンピューター装置へ提供することと一緒に(適切ならば完全なフォントのセットと一緒に)、フォントプロバイダー214は他の機能性を提供することができる。例えば特定のウェブページに関連するフォントおよびフォントサブセットを先々のリクエストに備えて追跡する(tracked)ことができる。1つの筋書きでは、1もしくは複数のフォントサブセット(例えばフォントサブセット216)を、(コンピューター装置上の)特定のウェブページに表示するために作成することができる。フォントサブセットとウェブページとの間の関係は同定することができ(例えばサーバー222により)、そして後に検索するために保存することができる。このように将来(例えば別のコンピューター装置で)ウェブページを表
示するために必要なサブセットを迅速に同定し、そしてリクエストしているコンピューター装置に提供することができる。1つの配置では、フォントデータベース224がフォントプロバイダー214で保存され(例えば記憶装置220で)、そしてウェブページとフォントサブセット(およびフォント)との間の関連を表示する記録を含む。幾つかの場合では、この関係はフォントプロバイダー214に送られたフォントサブセットのリクエストにより提供された情報から(例えばソフトウェアエージェントから)同定される。ウェブページと適切なフォントサブセットとの間の関連は、ウェブページがユーザーにより選択される前に保存することもできる(例えばウェブページソースにより提供される命令および情報に基づき)。ウェブページのような電子文書を表示するためにソフトウェアエージェントおよびフォントサブセット(およびフォント)をユーザーのコンピューター装置に提供するための他の種類のアーキテクチャおよびネットワーキング技術も実施することができる。
幾つかの配置では、例えばクライアントの装置(コンピューターシステム202)に必要なフォント情報を効率的に提供するために、フォントをサブセットするかしないかを決定するために、他の種類の情報を使用することができる。例えば環境(例えばフォントプロバイダー214とクライアントの装置との間の通信リンク)を特徴付ける情報を、フォントサブセット決定に使用することができる。そのような情報は個別に、または他の情報、例えばウェブアセットのコンテンツから集めた情報と共同して使用することができる(例えばファイルにより定められたウェブページに含まれるフォントの文字を同定するために、HTMLファイル210からスキャンされた情報)。1もしくは複数のクライアントの装置に提供するために、多種類の情報を使用すると共に(例えば通信特性、ウェブアセットコンテンツ等)、事前に保存した情報を適切なフォント情報(例えば、フォントサブセット、完全なフォントセット等)を決定するために使用することができる。例えば、データベース(例えばフォントデータベース224)からの情報を、そのような決定に使用することができる。他の種類の事前に保存した情報をまた使用することができ、例えば事前に集めた通信特性(例えばリンクするためのデータ転送速度)も、決定を行うために使用できる。
これら様々なソースからの情報を個別に、または共同して使用することにより、1つのフォントサブセット(または多数のサブセット)を作成し、そしてフォントプロバイダー214により送信すべきかどうか、あるいは1つの完全なフォントのセット(または多数の完全なセット)をクライアントの装置に送信すべきかどうかについて、適切な決断を行うことができる。決定に使用される情報は、比較的静的または動的と考えることができるが、例えばウェブアセットのコンテンツは比較的静的であることができ、環境特性(例えばフォントプロバイダーとクライアントの装置との間の通信リンクの特性)は時間(例えば1日の中でデータ転送速度が変化する)および位置(例えばデータ転送速度は、異なる場所へ移動するクライアントの装置、モバイル装置により変化する)で変動する可能性がある。この変動のため、1もしくは複数の技術を実施することができ、それで比較的最新の通信特性をフォントサブセット決定に使用できる。例えば1もしくは複数の環境特性(例えば通信リンク特性、クライアントの装置の能力)をモニターし、そしてそのような決定のために集めることができる。様々な種類のデータモニタリングおよび収集技術を実施することができ、例えば1もしくは複数の通信リンク特性は、受動的、能動的等にクライアントの装置、フォントプロバイダー214により、またはクライアントの装置とフォントプロバイダーが共同して実行する操作により集められる。クライアントの装置およびフォントプロバイダー214とは別の装置も実施することができる。情報は1もしくは複数のクライアントの装置、フォントプロバイダー214およびフォントサブセット決定を補助する可能性がある他の装置間で交換することもでき、例えばクライアントの装置(例えばディスプレイ能力等)の特性は、フォントプロバイダー214に提供することができる。このように様々な装置、通信リンク等に関連する環境特性は、フォントサブセット決定
に使用することができる。
図3を参照にして、図300はサブセットまたは1もしくは複数のフォントサブセットの完全な組みがクライアントの装置(例えばコンピューターシステム202)に提供されるべきかどうかを決定するために、情報を集めるための幾つかの可能な操作を表す。この特定の配置では、フォントサブセット決定のために、1もしくは複数の環境特性がクライアントの装置により集められ、そしてフォントプロバイダー214に提供される。そのような情報収集を行うために、コンピューターシステム202は、1もしくは複数の操作を実行することができ、例えば通信リンク302の1もしくは複数の特性が、コンピューターシステム202により測定され、そして処理のためにフォントプロバイダー214に提供され得る。この配置では、環境モニター304がコンピューターシステム202により実行されて環境特性情報を集める。クライアントの装置(例えばコンピューターシステム202)がそのような環境特性を集めるように説明されると同時に、そのような操作は他の場所で、個別に、またはクライアントの装置での操作と組み合わせて実行することができる。例えば(例えば通信リンク302の)環境特性は、フォントプロバイダー214により測定そして定量されることができる。1つの配置では、サーバー222がフォントサブセット操作の決定を補助するために、通信リンクに関する情報を集めることができる。
環境特性の典型である様々な種類の情報を集めることができる。例えば幾つかの特性は、データを1もしくは複数のクライアントの装置(例えばコンピューターシステム202)とフォントプロバイダー214との間に転送するための通信リンク(例えばリンク302)の能力を反映することができる。そのような特性は情報を転送する時間、速度等と関連し得る。通信リンク302のスループット、帯域幅、伝達速度などは、環境モニター304により測定および定量することができる。情報の移動と共に、装置間(例えばコンピューターシステム202、サーバー214)の通信を確立することもフォントサブセット決定のためにモニターすることができる。例えば接続特性(例えば接続速度、帯域幅、HTTPハンドシェイクレイテンシ等)、オーバーヘッド時間(例えばフォントのサブセッティングに関するリクエストを送信し、そして処理するために必要な時間など)、コンピューターシステム202とサーバー214との間のデータ接続を確立するために必要な時間を測定し(例えば環境モニター304により)、そしてフォントプロバイダー214に提供することができる。1もしくは複数のクライアントの装置とフォントプロバイダー214との間の通信リンク302をわたる情報転送に関連する他の量を同定することができる。例えばクライアントの装置および/またはフォントプロバイダー214により使用されるプロトコール(例えばインターネットプロトコール(IP))を同定し、そしてフォントサブセット決定に使用することができる。イーサネット、DSL、Cable、FIOSは同定され得る幾つかのプロトコールタイプの例である。通信リンク302がワイヤード(wired)またはワイヤレス(wireless)通信技術(例えばワイヤード、ワイヤレスアクセスポイント等)を含むかどうかも決定の要因となり得る。装置のオプション、選択したサービス、接続オプションの範囲(GPRS/Edge,3G,4G等)もリンク能力における変化についてモニターすることができる。例えば想定される接続速度は比較的早いと考えることができるが(例えば3Gまたは4Gネットワ−クに接続するモバイル装置)、実際の信号強度および接続速度はそれでも時間で変動し、そしてデータ転送能力(例えばウェブページのダウンロード時間)およびユーザーのエクスペリエンスに悪影響を及ぼす恐れがある。
通信リンク302に関連した情報と同様に、他の種類の情報も集め、そしてサブセット決定のためにフォントプロバイダー214に提供することができる。例えば1もしくは複数のクライアントの装置の特性を提供することができる。そのような特性はクライアントの装置(例えばコンピューターシステム202)の表示能力(例えばスクリーンサイズおよび解像のようなスクリーンの仕様)、処理(例えば装置が使用する操作システム、装置
が実行するブラウザの種類)および記憶能力等に関連する可能性があり、これらはフォントのサブセッティングが適切かどうかを決定した事例に対して、フォントプロバイダー214により提供され、そして使用されることができる。そのような装置の特性は、例えば環境のモニター304により装置でローカルに、例えばフォントプロバイダー214により遠隔的に、またはローカルおよび遠隔操作の組み合わせにより同定することができる。
環境モニター304は、クライアントの装置(例えばコンピューターシステム202)でモニタリング機能性を提供するために、1もしくは複数の配置で実施することができる。例えば環境モニター304は、1もしくは複数の方法論(例えばフォントプロバイダー214からダウンロードされるか、またはそれにより提供される)を介してコンピューターシステム202に提供することができる1もしくは複数のエージェント(例えば図2に示すエージェント212と同様な)として実施することができる。1もしくは複数のアプリケーション(例えばウェブブラウザ)も環境モニター304を実施することができる。集めた情報(例えばフォントプロバイダー214に提供されるべき)と共に、環境モニター304は、集めたデータおよび関連する情報に基づきデータを追跡し、および統計分析を行うような追加の機能性を提供することができる。集め、そして処理した情報は次にフォントのサブセッティングおよびフォント処理決定(processing decision)を最適化するために、フォントプロバイダー214に提供することができる。
そのようなフォントのサブセッティングおよび処理決定を動的に行うために、1もしくは複数の技術がフォントプロバイダー214により実施され得る。説明する例では、フォントサブセットマネージャー306がサーバー222(フォントプロバイダー214に位置する)により実行される。クライアントの装置(1もしくは複数)からフォントプロバイダー214に提供される情報(例えば環境特性情報を含むメッセージ308)から、フォントサブセットマネージャーが、1もしくは複数のフォントサブセット(例えばフォントサブセット310により表される)がクライアントの装置(例えばコンピューターシステム202)に送信されるべきかどうか、あるいは完全なフォントサブセットが装置に配信されるべきかを決定する。幾つかの配置では、フォントサブセット(1もしくは複数)が作成され、そして環境特性情報の配信に基づき送信される(例えばメッセージ308はフォントプロバイダー214により受信される)。それまでに作成されたフォントサブセットも、環境特性情報の配信に基づき送信することができる。例えばこれまでに経験した条件により、1もしくは複数のフォントサブセットを、1もしくは複数のコンピューター装置に配信するために作成することができる。送信されると共に、フォントサブセットは他の場合(例えば同様な環境特性が別のコンピューター装置により提供される場合)に送信するために保存されることができ、これにより1もしくは複数のこれまでに作成したフォントサブセットをフォントプロバイダー214が再使用できるようになることにより効率が上がる。
フォントサブセット決定を実行することに加えて、フォントサブセットマネージャー306は他の種類の機能性を提供することができる。例えばクライアントの装置から提供されるデータをさらに処理し、そして保存することができる(例えば記憶装置220により)。幾つかの配置では、そのような処理には、例えば環境特性を予想するためのモデルを開発することを含むことができる。例えば一定期間にわたる接続リンク302(例えばスループット、帯域幅等)の1もしくは複数の特性を代表する受信したデータ(例えばクライアントの装置から)に基づき、環境特性を予測するためのモデルを開発することができる(例えば特定時間に関するスループットの予想)。またデータ処理は、種々の入力された考察に関して、フォントサブセット決定のような情報を保管するためのレポートを作成(そして保存する)ことを含むことができる。例えば特定のコンテンツ(例えばウェブアセット)を特定のクライアントの装置上に、そして特定の条件下(例えば通信リンクへのスループット)で表示するために、フォントサブセットマネージャー306は特定のフォ
ントのサブセッティング(またはそうではなくフォントの完全な文字組を提供すること)の決定に到達できる。この決定およびこの決定を導く条件を反映する情報を保存することにより、フォントサブセットマネージャー306は条件が再度発生したことを認識すれば先々の決定を処理することができる。またフォントサブセットマネージャーはフォントを調整するための操作、例えば作成したテキストの明瞭性および可読性を改善するためにフォントを調整するための操作を実行することができる(例えば特定の操作システム、フォントエンジン、クライアントの装置のスクリーン解像等についでフォントヒンティングを最適化する)。
図4を参照にして、フォントプロバイダー214によるフォントのサブセッティング決定が、動的に変化し得るクライアントの装置の位置のように、様々な環境特性に依存する可能性があることを具体的に説明する図400を表示する。図3と同様に、例えばサブセットにするために、または完全なフォントセットを1もしくは複数のクライアントの装置に(記憶装置220から)提供するために、サブセッティング決定はサーバー222により実行されたフォントサブセットマネージャー306により提供される。この特定の配置では、クライアントの装置の位置がフォントサブセッティングに関する決定因子として役立つ。例えばタブレット型のコンピューター装置402により実行されている環境モニター400は、相対的に高いスループットの通信リンクがフォントプロバイダー214と確立され得ることを感知する。好ましい通信特性(他の情報と一緒に)を反映するために、通信リンク404が確立され、そしてメッセージ406がフォントプロバイダー214に提供される。例えばタブレット型コンピューター装置402は、サービスプロバイダー214とのWi−Fi通信(例えばインターネットを介して)を提供する場所で存在できる。このように大量のデータファイル(例えばフォントセットを含む)は一般に、相応の時間(reasonable amount of time)でタブレット型コンピューター装置402に転送され得る。このスループット特性(および潜在的な他の情報)から、フォントサブセットマネージャー306は、ユーザーの閲覧体験(viewing experience)を下げることなく関連するウェブアセットのコンテンツを表示するために、相応の時間内(reasonable time period)で完全なフォントセット(例えばフォントセット408)がタブレット型コンピューター装置402により送信され、受信され、そして処理され得ることを決定する。
他の環境は適切なスループットレベルを提供する能力を欠く恐れがあり、そしてフォントプロバイダー214は、適切な閲覧体験を提供するために(1もしくは複数のフォントセットを転送するために)フォントのサブセッティングが必要であることを決定することができる。例えばラテン語のフォントは一般に、ラテン語を基本とする言語が話されている地域が十分に広いので、完全なフォントセットをクライアントの装置に相応の時間で転送することが可能となる地域では、保存およびスループットレベルに関しては相対的に小さいファイルサイズは必要と考えられる。残念なことに、双方の仮定(ファイルサイズおよびスループットについて)は、絶えず修正されることはできず、そして例えば遅い接続で配信される平均ファイルサイズより上のラテン語フォントは、装置の閲覧者に対してウェブアセットの表示を有意に遅らせる恐れがある。さらに環境特性は変化する可能性があり、クライアントの装置の位置などが変わる時は一定時間にわたり極めて劇的に変化する場合もある。このように環境特性は環境モニター400および/またはフォントサブセットマネージャー306により頻繁にモニターされ得る。例えばフォントプロバイダー214は、通信リンクを確立した1もしくは複数のクライアントの装置(例えばタブレット型コンピューター装置402)から、条件の更新をリクエストすることができる(例えばリクエストを更新するために、周期的なポーリングメッセージがフォントプロバイダー214から送信され得る)。幾つかの配置では、クライアントの装置が条件の更新を管理することができる(例えば環境モニター400は、パワーアップ、リセット等のような事象に基づき周期的間隔で更新を送信する)。
この図面で説明するように、遠隔に位置する携帯電話410は、その現在の位置による(例えばWi−Fi領域の外)電話410の受信能力のような環境情報を集め、そしてこの情報(潜在的には携帯電話の限られた処理および記憶能力のような他の情報と一緒に)をメッセージ414中でフォントプロバイダー214に提供する(例えば低スループットのワイヤレス通信リンク416を通じて)環境モニター412を実行することができる。この乏しいスループットおよび限られた能力の装置の情報を仮定すると、フォントサブセットマネージャー306は、ウェブアセットのコンテンツを合理的な時間枠で見るために処理、そして表示でき、しかも閲覧者が表示を待つ間に飽きたり、興味を失ったりしないようにフォントデータを携帯情報端末410に提供するためにフォントのサブセッティングが必要であることを決定できる。この筋書きに基づき、1もしくは複数のフォントサブセットがフォントプロバイダー214により作成され、そして携帯電話412に送信されて(例えば説明するように、通信リンク416を介してサブセットファイル418中で)、電話のディスプレイ上にウェブアセットを表示するために必要なフォント情報を提供することができる。このように閲覧者の興味を損なうことなくウェブアセットが表示されるように、低減した量の情報が電話に提供される。
環境特性(例えば通信リンクスループットレベル、クライアントの装置の能力等)をモニタリングすると共に、フォントプロバイダー214はフォントが1もしくは複数のクライアントの装置に配信される前にサブセットされるべきかどうかを決定するために、他の情報を使用することができる。1つの配置では、(表示されるべき)ウェブアセットのコンテンツの決定を補助するために使用できる。例えば1つのフォントのかなりの割合の文字が必要な場合(例えばウェブアセットの第一ページに表示するために1つのフォントの80%の文字が必要)、このフォントの文字の完全な組をクライアントの装置に送信することが最適と考えられる。コンテンツに基づく情報も、特定のウェブアセットのソース(1もしくは複数)に関連することができる。さらに幾つかの配置では、フォントのサブセッティング決定を補助するために、ソース情報を装置の能力情報と共に使用することができる。例えばウェブサイトは、モバイル装置(例えばスクリーンサイズ、処理力、限定されたモバイルブラウザの機能性等)のような特定のクライアントの装置に固有の能力のために設計された種々のコンテンツオプションを支持することができる。そのような差異の一例は、より慣習的なコンピューター装置(例えばデスクトップ型コンピューターシステム、ラップトップ型コンピューターシステム等)用に準備されたウェブサイト(例えばhttp://www.yahoo.com)に対して、相対的にさらに限られたコンピューター装置(例えばスマートフォン)のために設計されたウェブサイト(例えばhttp://m.yahoo.com)のコンテンツおよび様式である。幾つかの配置では、環境モニター400はエージェントとして実施されることができ、そしてクライアントの装置が1つのタイプ(例えばPCに基づく装置)または別のタイプ(例えばモバイル装置装置)かどうかを決定するために利用され得る。このようにクライアントの装置およびそれらの能力はモニターされ、そして他の環境特性と共同して使用されて、1もしくは複数のフォントがクライアントの装置に伝達される前にサブセットにされるべきかどうかを動的に決定することができる。
他の技術および方法論を、環境(例えばクライアントの装置の)および表示されるべきウェブアセットのコンテンツに基づきフォントの配信を最適化するために実施することができる。例えばフォントのサブセッティングはウェブアセットのある部分について行い(フォントプロバイダー214により)、そして別の部分のアセットには行わなくてよい。例えば低いスループットの通信リンクにより、1もしくは複数のフォントサブセットが、ウェブアセットの一部分として(例えばアセットの第一ページ)表示されるために、クライアントの装置に提供され得る。その部分(例えば第一ページ)が表示されている間(そして恐らく閲覧者により見られていると思われる)、ウェブアセット(例えばウェブアセ
ットの残りのページ)の他の部分(1もしくは複数)を見るために、完全なフォントセットおよび/またはフォントサブセットが準備され、そしてウェブアセットへ送信される。ウェブアセットの続きの部分に関するフォントの転送を開始することは、1もしくは複数の時間について計画することができる。例えばフォント情報(例えばフォントサブセット、完全なフォントセット等)の送信の準備は、フォント情報が準備され、そしてウェブアセットの初期部分が送信された時に開始することができる。幾つかの配置では、ウェブアセットの初期部分に関するフォント情報を準備し、そして送信した後に、ウェブアセットの後の部分に関するフォント情報を準備し、そして送信することができる。このようにより先に送信されたフォント情報はクライアントの装置により直ちにコンテンツレンダリングできるようになるので、フォント情報は、フォントプロバイダー214からバックグラウンドに送信することができる。そのような操作は、第一ページを表示するために必要な時間を減らす(例えば最少とし)と同時に、残る続きのページビュー(view)に関する完全なフォントの機能性を可能にする。また他のプロポーショニング(proportioning)スキームもフォント情報の配信に実施することができ、例えば少ない記憶スペースを要求する、ウェブアセットによる使用頻度が高いフォントが使用のために最初に送信される一方、使用頻度が低いより大きなフォントセット(例えばサブセット、完全なセットなどの)は、バックグラウンドに後で送信されることができる。他のフォントサブセッティング配置と同様に、一旦フォントサブセットが作成されれば(例えば低いスループット接続を介してクライアントの装置に配信するために)、このサブセットは再使用するために保存され得る(例えば記憶装置220に)。例えば一旦作成され、そして保存されれば、フォントサブセットはその時の環境特性(例えばスループット、接続速度等)にかかわらず、他のクライアントの装置で再使用することができる。
フォントサブセットマネージャー306および/または環境モニター400、412は他の種類の機能性を提供することができる。例えばウェブアセットのコンテンツ(例えばウェブページ)は、変更(例えば加えられた、削除された、調整されたコンテンツ等)についてフォントサブセットマネージャー306により(遠隔で)モニターされ得る。1もしくは複数のソース(例えば多数のウェブサイトからのコンテンツを含むウェブページ)から提供されたかもしれない変更がコンテンツ内で検出された場合、フォントサブセットマネージャー306は、1もしくは複数のサブセットを動的に作成し、以前に準備されたサブセット等を調整することができる。このようにフォントサブセットおよび1もしくは複数のサブセットをクライアントの装置に送信する決定は、ウェブアセットがリクエストされる前にフォントサブセットマネージャー306により決定されることができ、これによりリクエストされた時に直ちにダウンロードできるフォントサブセットの作成にフォントプロバイダー214が応答する時間を減少する。
環境情報(例えばクライアントの装置にフォントデータを転送するために達成可能な(achievable)スループット、帯域幅分析、通信オーバーヘッドを表す統計等)に加えて、リクエストしたウェブアセットのコンテンツに関する情報(例えばリクエストしたウェブページに存在するフォント、完全なフォントファイルサイズ等)も、フォントサブセットを作成し、そしてクライアントの装置に送信するかどうかの決定に含めることができる。1もしくは複数の技術を、リクエストしたウェブアセットに関する情報を集めるために利用することができる。例えば1もしくは複数のエージェントがクライアントの装置により実行されて(フォントプロバイダー214からダウンロードされた後)、情報に到達し、そしてこれを他の情報(例えば環境特性)で分析するためにフォントプロバイダー214に提供することができる。この情報から、フォントプロバイダー214はフォントのダウンロード時間を最少にすることを目標にフォントのリクエストの処理を最適化することを試みることができ、同時に不要な処理工程を排除し、サーバーの応答時間等を最適化することなどにより、(例えばサーバー222の)計算操作を最適化する。
図5を参照にして、図500は適切なフォントサブセット(およびフォント)が他のタイプのウェブアセットのウェブページを表示するために提供されるように、コンテンツ情報を集め、そしてフォントプロバイダー214に提供するために、ソフトウェアエージェントをユーザーのコンピューター装置に提供する幾つかの操作を表す。図2で説明するように、ユーザーはコンピューター装置で実行されるウェブブラウザで目的のウェブページを同定すると(例えばURLをウェブブラウザに提供する)、1もしくは複数のファイル(例えばHTMLファイル)がユーザーのコンピューター装置に対応するウェブページソースから提供され得る。説明するように、そのようなファイル502は、ユーザーに表示するための(ウェブブラウザを介して)コンテンツ504(例えばテキスト、グラフィック、ビデオ、オーディオ等)を含むことができる。またこのファイル502は、ソフトウェアエージェントがユーザーのコンピューター装置202に提供されることをリクエストするために、1もしくは複数の指令506を含むことができる。図面の矢印510により表されるように、指令を実行すると(図面で“Fetch agent instruction”と表示されている)、リクエスト508の配信はユーザーのコンピューター装置(例えばコンピューターシステム202)からフォントプロバイダー214(例えばサーバー222)へ開始されることができる。リクエスト508に応答して、エージェント(例えばエージェント212)はフォントプロバイダー214のサーバー222からユーザーのコンピューター装置(例えばコンピューター装置202)に、図の矢印512により表すように送信される。幾つかの場合では、エージェントの配信はファイルが受信された直後に起こることができ、いかなるディレイもユーザーに気づかれないかもしれない。幾つかの配置では、他の情報がリクエスト508により提供され得る。例えばフォントプロバイダー214は、1もしくは複数のフォントサブセット(および可能なフォント)がこのウェブページ用にすでに作成されているかどうかを決定するために、目的のウェブページがリクエストで同定され得る(例えば提供されたウェブページのURL)。
ユーザーのコンピューター装置で受信した、リクエストされたエージェント212は、コンテンツで表示される各フォントの文字を同定するために、HTMLファイル502のコンテンツ504をスキャンすることを実行する(図面の矢印514により表されるように)。またエージェント212は、存在する各フォントのそれぞれ独自な文字を同定するための機能性を提供することができる。このように多くの場合で同じフォント文字はエージェントにより1回認識されるだけでよく、これによりフォントプロバイダー214からリクエストされることが必要な文字を統合する(それぞれの受信した電子文書用に)。幾つかの配置では、エージェント212は、ウェブページに存在する各フォント用に同定された各文字のフォントプロバイダー214を通知する。この情報が提供されると、フォントプロバイダーはフォントサブセットに含める可能性について各フォントで独自に存在する文字を同定する。そのようなスキャンニング操作を提供するために、1もしくは複数の技術を実施することができ、例えばエージェントは各フォントに存在する各文字を同定するために、コンテンツ504を構文解析することができる。次いで1もしくは複数のフィルターを使用して(エージェント212またはフォントプロバイダー214により)、各フォントに関してそれぞれ独自の文字を同定することができる。例えばフォントAについて文字“a”、“B”および“c”がコンテンツ504に検出され、そして文字“x”、“Y”および“Z”がフォントBについて検出された場合、エージェントはフォントAに関するサブセットが“a”、“B”および“c”を含むと同定することができ、一方フォントBに関するサブセットが“x”、“Y”および“Z”を含むことができると同定することができる。一旦スキャンされれば、同定されたフォントの文字516はエージェント212により使用されて、フォントサブセットのリクエスト518を作成する。一般に、リクエスト518はエージェント212により同定される各文字を含むが、ページコンテンツ504のコンテンツに含まれる幾つかの文字は、リクエスト518に含まれないかもしれない。例えば恐らくユーザーのコンピューター装置でローカルに保存されると同定された文字は、リクエスト518に含まれないかもしれない。このようにエージェント21
2は、ページコンテンツ504に含まれる幾つかの文字をサブセットのリクエスト518から排除することができる。
幾つかの配置では、フォントサブセット決定を補助するために他の情報をエージェント212からフォントプロバイダー214に提供することができる。例えばコンピューターシステム202でローカルに記憶されたフォントに関する情報は(例えば常駐フォント、フォントの文字組等の同定)、エージェントにより集めることができ、そしてフォントプロバイダー214に提供することができる。一旦受信されれば、この情報はフォントサブセットが作成され、そしてコンピューターシステム202に提供される必要があるかを決定し、どのフォント、フォントの文字組等が作成され、そして配信されるかなどを決定するような、1もしくは複数の手順に使用できる。またこの情報はフォントサブセット決定に関係しない手順に使用することもでき、例えばフォントプロバイダーは情報を保存するか、または後に検索し、そして使用するために(例えばコンピューターシステム202に在住するフォントの追跡)情報を保存させることができる(例えば記憶するために情報を別の設備に提供する)。1もしくは複数のコンピューター装置(例えばコンピューターシステム202)にあるフォントおよびフォント情報、および各装置にすでに提供されたフォント情報(例えば配信されたフォントサブセット)をモニタリングすることにより、フォントプロバイダー214は冗長なデータ転送およびフォントデータの重複を減らし、これによりフォント情報の転送およびローカルストレ−ジ(local storage)を最適化することができる。例えば1もしくは複数のフォント転送技術を、引用により内容を全部、本明細書に編入する2009年6月22日に出願された米国特許出願第12/457,792号明細書の“Font Data Streaming”に記載されているように利用することができる。
1もしくは複数の技術を実施して図面の矢印520に表示されているようなフォントサブセットのリクエスト518をフォントプロバイダー214のサーバー222に提供することができる。例えばJavaScriptに表されているエージェントについて、ハイパーテキストトランスファープロトコール(HTTP)のようなプロトコールに関連する技術はリクエストを転送するために使用することができる。同定された独自の文字を目的のURLのクエリ文字列(query string)に添付することにより、指令(例えばGET指令)を使用してこの情報をサーバー222に提供することができる。同様にアプリケーションとして提供されるエージェントは、文字情報をフォントプロバイダー214のサーバー222に、HTTPのようなプロトコールで提供することができる。一旦フォントサブセット(1もしくは複数)についてのリクエスト518が提供されれば、サーバー222はこの情報を追加の情報(例えば環境条件)と共に使用して、1もしくは複数の必要なフォントサブセットおよび完全なフォントの文字組(適切な場合は)を作成し、そしてユーザーのコンピューター装置に応答することができる。例えば図面の矢印522で示すように、フォントサブセット216(1もしくは複数のフォントサブセット、そして恐らく1もしくは複数の完全なフォントの文字組を表すことができる)がユーザーのコンピューター装置に提供される。
図6を参照にして、エージェントへリクエストし(図2に示すエージェント212のような)、そしてフォントを特定の文字へ割り当てることを含む例示のHTMLファイル600の指令を具体に説明する。この特定の例では、指令602が実行されると(例えばコンピューターシステム202により)、エージェントはフォントプロバイダー(例えばフォントプロバイダー214)からリクエストされる。一旦コンピューター装置202により受信されると、エージェントはHTMLファイル600のコンテンツを分析することを実行する。例えばエージェントはHTMLファイル600の残りの各行を通る段階を踏んで、このファイルのコンテンツに関連するウェブページを表示するために使用する各文字およびフォントを同定することができる。例えば指令604を分析することにより、エー
ジェントは“Frutiger”フォントの文字“A”、“B”、“C”および“D”がウェブページの制作に必要であると同定することができる。この特定の配置では、個々の文字(例えば“ABCD”)は、フォントにアクセスするためのURLと一緒に指令604により提供される。同様に、実行したエージェントは、指令606で、このウェブページを制作するために文字“Z”および“W”も“Frutiger”フォントで表示されることが必要であると同定する。このようにフォントサブセットのリクエストを作成する場合(例えば図5に示すリクエスト518)、エージェントはウェブページを制作するために必要なそれぞれの独自文字(すなわち“A”、“B”、“C”、“D”、“Z”および“W”)および対応するフォント(すなわち“Frutiger”)を同定する。幾つかの配置では、ファイルのコンテンツをスキャンする間に、エージェントはフォントサブセットのリクエストに含まれない文字を見つけることができる。例えばHTMLファイルは、コンピューターシステム(ファイルを実行する)にローカルで保存されたフォントが特定の文字を表すために使用される場合を含むことができる。このようにフォントはコンピューターシステムに対して外部のソースから得る(attain)必要はない。例示のHTMLファイル600の指令608は、そのような場合を説明している。この場合、文字“M”、“P”および“Q”は、特定のフォントについてURLなしで指令608により呼び出される。このようにファイル600を実行しているコンピューターシステムに対してローカルなフォントを使用して、文字“M”、“P”および“Q”を表示することができる。フォントまたはフォントサブセットはこれらの特定の文字について必要ではないので、エージェントはこれらの文字をリクエスト518に含まない。しかしこれらの文字はこの特定のフォント用にローカルで保存されるので、1もしくは複数のこれらの文字は、コンピューターシステムに対して外部のソースから得るフォントで必要とされる時に、“M”、“P”および/または“Q”を呼び出すファイル600中の別の指令(示さず)に基づく別のフォントに関するリクエストに含めることができる。
図7を参照にして、1もしくは複数の技術を実施してHTMLファイル600(図6で説明する)のようなファイルのコンテンツを分析し、フォントサブセットに関する文字を同定することができる。JavaScriptに基づくエージェントについて、ブラウザ独立ライブラリー(例えばJavaScriptとHTMLとの間の相互作用を強調するPrototype,jQuery等)を使用してテキストのコンテンツを分析することができる。この機能性、Prototype,jQuery等を提供するために、フレイムワークを使用して文字列(string)から独自文字を抽出するためにエージェントを提供することができる。またこのフレイムワークには、同定した独自文字と対応するフォントとの間の関連を形成するために、連想配列(例えばJSONと呼ばれる場合もある)も含むことができる。反復様式でファイルの段階を踏むことで、独自文字はさらに処理されるために同定そして保存される(例えばキャッシュされる)。図に示すコード700の部分は、この機能性を提供することができる。
図8を参照にして、独自文字を同定したら、1もしくは複数の技術を実施して同定した文字をフォントに基づきしかるべくグループに分けることができる。例えば特定のフォント(例えば“Frutiger”)と同定された各独自文字(例えば“A”、“B”、“C”、“D”、“Z”および“W”)は、そのフォントに関するグループの員である。さらに相対的に少ない員を有するフォント(例えばラテン語に関連するフォント)については、独自文字のグループは形成されないかもしれない。比較的少ない員を含むそのようなフォントに関して、全フォントセットは、転送時間および帯域幅(例えば環境特性と共同して決定される)のようなかなりの計算資源を消費せずに送信することができる。このように完全なフォントセットが(例えばフォントプロバイダーから)そのフォントの文字を作成するために提供され得る。図に示すコード800の部分は、この機能性を提供することができる。
図9を参照にして、各フォントに関して同定された独自文字が一旦グループ分けされれば(比較的小さい文字組を有する任意の同定されたフォントと一緒に)、エージェントはこの情報をフォントプロバイダー214(例えばフォントプロバイダーのサーバー222に)に提供する。1もしくは複数の技術を使用してこの情報を提供することができる。例えばHTTP GET指令のような指令を使用して、同定した文字および対応するフォントをURLのクエリ文字列に添付することができる。リクエストを受信すると(HTTP
GET指令により提供される)、フォントプロバイダー214(例えばフォントプロバイダーのサーバー222)は1もしくは複数の適切なフォントサブセットを作成し、そしてリクエストしているコンピューターシステムに送信する。1もしくは複数の因子(例えばユーザーおよび/またはフォントプロバイダーの地理上の位置、時間情報、達成可能な転送速度のようなデータ転送パラメーターなど)に関連する予め定めた規則に基づき、完全なフォントセットも比較的少ない文字を含む同定されたフォント用に送信されることができる。同定された独自文字および対応するフォントを提供するために、この機能性を提供することができるコード900の一部を図に表示する。
図10を参照にして、流れ図1000はフォントサブセットマネージャー(例えば図3に示すフォントサブセットマネージャー306)の操作を表す。フォントサブセットマネージャー306の操作は、一般に一つのコンピューター装置(例えばサーバー222)により実行されるが、フォントサブセットマネージャーの操作は複数のコンピューター装置により実行してもよい。一つのサイトで実行されると共に(例えばフォントプロバイダー214)、操作の実行は2以上の位置に分配され得る。
フォントサブセットマネージャーの操作は、ユーザーの装置とフォントプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信すること1002を含むことができる。例えば環境特性は、クライアントの装置(例えばタブレット型コンピューター装置、スマートフォン等)とフォントプロバイダーの装置(例えばサーバー222)との間の通信リンクの量(例えばスループット、接続確立時間、帯域幅等)を表すことができる。また環境特性は、クライアントの装置の能力(例えばディスプレイの解像度、スクリーンのサイズ、装置に実行されているウェブブラウザ)を表すことができる。またフォントサブセットマネージャーの操作は、ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定すること1004を含むことができる。例えば、通信リンクの能力(例えば相応のスループットを有すること)に基づき、フォントサブセットマネージャーはフォントプロバイダーからクライアントの装置へのフォントの効率的転送に、(ウェブアセットにより使用される)1もしくは複数のフォントをサブセットにするかどうかを決定することができる。受信した環境特性を使用すると共に、ウェブアセットのコンテンツと関連する情報のような他の情報をこの決定を行うために使用することができる。またフォントサブセットマネージャーの操作は、ウェブアセットを表示するために、ウェブアセットのフォント情報をユーザーの装置に提供すること1006を含むことができる。例えばウェブアセットのコンテンツを表示するための適切なフォント文字を提供するために、1もしくは複数のフォントサブセットが必要と決定された場合、フォントサブセットマネージャーはフォントサブセット(1もしくは複数)を作成し、そしてクライアントの装置に転送し始めることができる。
図11を参照にして、流れ図1100はフォントサブセットマネージャー(例えば図3に示すフォントサブセットマネージャー306)の操作を表す。言及したように、フォントサブセットマネージャー306の操作は、一般に一つのコンピューター装置(例えばサーバー222)により実行されるが、フォントサブセットマネージャーの操作は複数のコンピューター装置により実行してもよい。一つのサイトで実行されると共に(例えばフォントプロバイダー214)、操作の実行は2以上の位置に分配され得る。
フォントサブセットマネージャーの操作は、1もしくは複数のウェブアセットのコンテンツを表すデータを受信すること1102を含むことができる。例えばフォントサブセットマネージャーは、様々な種類のウェブサイト、ウェブページ等を表すデータを、1もしくは複数のソースから受信することができる(例えばウェブサイトデベロッパー、ウェブサイトプロバイダー、ウェブサイトリポジトリ等)。幾つかの配置では、フォントプロバイダー(フォントサブセットマネージャーが実行される場所)が能動的にウェブアセットのソースをモニターし、そして新しいアセットがアクセス可能であるか、ウェブアセットが更新されているかどうかなどを定めることができる。このモニタリングに基づき、ウェブアセットは作動を起こすことができる。そのような情報は比較的受動的なフォントプロバイダーに提供することもできる。例えば新しいウェブアセットがオンラインで来ると、この新しいアセットのソースはフォントプロバイダーに知らせ、そして情報を提供することができる。またフォントサブセットマネージャーの操作には、ユーザーの装置に提供するために適切な量の1もしくは複数のウェブアセットのフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定すること1104を含む。例えば、ウェブアセットのコンテンツ(および例えばウェブアセットを受信するためのユーザーの装置の能力)に基づき、フォントサブセットマネージャーは、1もしくは複数のフォントサブセットが作成され、そしてウェブアセット(1もしくは複数)を表示するためにユーザーの装置に提供されるべきかどうかを決定することができる。また操作には、決定した適切な量のフォント情報を保存すること1106も含む。この情報(例えば1もしくは複数のフォントサブセット)を保存することにより、フォントサブセットマネージャーは、1もしくは複数のユーザーの装置(例えば対応するウェブアセットのコンテンツへのアクセスをリクエストする装置)に配信するために適切な場合に、この情報の検索を開始することができる。
図12は、フォントサブセットマネージャー306に関連する操作を行うために使用し、そして実施することができるコンピューターシステム1200のブロック線図である。このコンピューターシステムはフォントプロバイダー214により使用することもでき、かつまたは操作を実行するユーザーの装置として使用することもできる。コンピューター装置1200は様々な形態のデジタルコンピューター、例えばラップトップ型、デスクトップ型、ワークステーション、携帯情報端末、サーバー、ブレードサーバー、大型汎用機および他の適切なコンピューターを表すことを意図する。このコンピューター装置1200は、プリンター、スキャナー等のような他の装置に組み込むこともできる。
コンピューター装置1200はプロセッサー1202、メモリー1204、記憶装置1206、メモリー1204および高速拡張ポート1210に接続する高速インターフェイス1208、および低速バス1214および記憶装置1206に接続する低速インターフェイス1212を含む。各部品1202、1204、1206、1208、1210および1212は、種々のバスを使用して相互に連結され、そして共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。プロセッサー1202は、高速インターフェイス1208に繋いだディスプレイ1216のような外部入力/出力装置でGUIに関するグラフィック情報を表示するために、メモリー1204または記憶装置1206に保存されている指令を含め、コンピューター装置1200内で実行の指令を処理することができる。他の実施において、多数のプロセッサーおよび/または多数のバスを、適切な場合は多数のメモリーおよび多種類のメモリーと一緒に使用することができる。また多数のコンピューター装置1200は、必要な操作の部分を提供する各装置(例えばサーバーバンク、ブレードサーバーのグループ、またはマルチ−プロセッサーシステムとして)に接続することができる。
メモリー1204はコンピューター装置1200内に情報を保存する。1つの実施では、メモリー1204はコンピューター可読媒体である。1つの実施では、メモリー120
4は揮発性記憶ユニット(1もしくは複数)である。別の実施ではメモリー1104は不揮発性記憶ユニット(1もしくは複数)である。
記憶装置1206は大容量記憶装置をコンピューター装置1200に提供することができる。1つの実施では、記憶装置1206はコンピューター可読媒体である。様々な異なる実施において、記憶装置1206はフロッピーディスク装置、ハードディスク装置、光学ディスク装置またはテープ装置、フラッシュメモリーまたは他の同様なソリッドステート記憶装置、または記憶領域のネットワークまたは他の構成内の装置を含む装置のアレイであることができる。1つの実施では、コンピュータープログラム製品は明白に情報担体に埋め込まれる。このコンピュータープログラム製品は実行した時に、上記のような1もしくは複数の方法を行う指令を含む。情報担体はコンピューターまたは機械可読媒体、例えばメモリー1204、記憶装置1206、プロセッサー1202上のメモリー等である。
高速コントローラー1208は、コンピューター装置1200に関する帯域幅集約型操作(bandwidth−intensive operation)を管理し、一方、低速コントローラー1212は低い帯域幅集約型操作を管理する。そのような任務(duty)の配置は単に例である。1つの実施では、高速コントローラー1208は、メモリー1207、ディスプレイ1216(例えばグラフィックプロセッサーまたはアクセラレーターを介して)、および様々な拡張カード(示さず)を受けることができる高速拡張ポート1210に繋げることができる。この実施では低速コントローラー1212が記憶装置1206および低速拡張ポート1214に繋がれる。様々な通信ポート(例えばUSB,Bluetooth,Ethernet,ワイヤレスEthernet)を含むことができる低速拡張ポートを、1もしくは複数の入力/出力装置、例えばキーボード、ポインティング装置、スキャナー、またはスイッチまたはルーターのようなネットワーキング装置に、例えばネットワークアダプターを介して繋ぐことができる。
コンピューター装置1200は図に示すような多数の異なる状態で実施することができる。例えばこれは標準的サーバー1220として、すなわちそのようなサーバーのグループで多数回実施することができる。またこれはラックサーバーシステム1224の一部として実施することもできる。さらにこれはラップトップコンピューター1222のようなパーソナルコンピューターコンピューターで実施することができる。あるいはコンピューター装置1200からの部品を、モバイル装置(示さず)の他の部品と組み合わせることができる。
本明細書に記載する主題の態様および機能的操作は、デジタル電子回路で、またはコンピューターソフトウェア、ファームウェアまたはハードウェアで実施することができ、それらには本明細書に記載する構造、およびそれらの構造的均等物、またはそれらの1もしくは複数の組み合わせを含む。本明細書に記載する主題の態様は、1もしくは複数のコンピュータープログラム製品として、すなわちデータ処理装置による実行のため、またはデータ処理装置の操作を制御するための実行に、コンピューター可読媒体にコードされたコンピュータープログラム指令の1もしくは複数のモジュールとして実施されることができる。コンピューター可読媒体は、機械可読記憶装置、機械可読記憶基板、記憶装置、機械可読伝播シグナルに影響を及ぼす合成物、または1もしくは複数のそれらの組み合わせであることができる。用語「データ処理装置」はデータを処理するためのすべての装置、デバイスおよび機械を包含し、例にはプログラム可能なプロセッサー、コンピューターまたはマルチプロセッサーまたはコンピューターを含む。この装置にはハードウェアに加えて、問題のコンピュータープログラムについての実行環境を作るコード、例えばプロセッサーのファームウェア、プロトコールスタック、データベース管理システム、操作システム、または1もしくは複数のそれらの組み合わせを構成するコードを含むことができる。
コンピュータープログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている)は、コンパイル型またインタプリタ形式の言語を含む任意の形態のプログラム言語で書かれることができ、そして独立プログラムとして、またはモジュール、部品、サブルーチン、または計算環境で使用するために適する他のユニットとして含む任意の形態に配置することができる。コンピュータープログラムはファイルシステムのファイルに必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(例えばマークアップ言語文書に保存される1もしくは複数のスクリプト)を保持するファイルの一部に、問題のプログラムに特化した単一ファイルに、あるいは複数のものが調整されたファイル(multiple coordinated file)(例えば1もしくは複数のモジュール、サブ−プログラム、またはコードの部分)を保存するファイルに保存することができる。計算プログラムは、1つのサイトに位置するか、または複数のサイトにわたって分布し、そして通信ネットワークにより相互に連結された1つのコンピューターまたはマルチコンピューターで実行されるように配置することができる。
本明細書に記載する工程および論理流れ図は、入力データを操作し、そして出力を作成することにより機能を行うための1もしくは複数のコンピュータープログラムを実行する1もしくは複数のプログラム可能なプロセッサーにより行うことができる。またこの工程および論理流れ図は、特別な目的の論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても行うことができ、そしてまた装置はそれらとして実施することができる。
コンピュータープログラムの実行に適切なプロセッサーは、例として汎用および特殊目的のマイクロプロセッサー、および任意の種類のデジタルコンピューターの任意の1もしくは複数のプロセッサーを含む。一般にプロセッサーは、リードオンリーメモリーまたはランダムアクセスメモリーまたは両方からの指令およびデータを受信する。コンピューターの必須要素は指令を行うためのプロセッサー、および指令およびデータを保存するための1もしくは複数の記憶装置である。一般にコンピューターは、データを保存するための1もしくは複数の大容量記憶装置、例えば磁気、光磁気ディスクまたは光ディスクを含むか、またはそこからのデータを受信するか、またはデータをそこへ転送するか、またはその両方のために操作可能に繋がれる。しかしコンピューターはそのような装置を必要としない。さらにコンピューターは別の装置、例えば幾つか挙げるだけでも携帯電話、携帯情報端末(PDA)、携帯オーディオプレイヤー、グローバルポジショニングシステム(GPS)受信機に埋め込まれる(embedded)ことができる。コンピュータープログラム指令およびデータを保存するために適するコンピューター可読媒体は、すべての形態の不揮発性メモリー、媒体および記憶装置を含み、それらの例には半導体記憶装置、例えばEPROM、EEPROMおよびフラッシュメモリー装置;磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;およびCD−ROMおよびDVD−ROMディスクがある。プロセッサーおよびメモリーは特別目的の論理回路により補充できるか、またはそれに組み込まれることができる。
本明細書に記載する主題の態様は、例えばデータサーバーとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバーを含むか、またはフロントエンドコンポーネント、例えばグラフィカルユーザーインターフェイス、またはユーザーが本明細書に記載する主題の実施を情報交換できるWebブラウザを有するクライアントのコンピューターを含むか、またはそのような1もしくは複数のバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューターシステムで実施することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、例えば通信ネットワークにより相
互連結することができる。通信ネットワークの例には、ローカルエリアネットワーク(“LAN”)およびワイドエリアネットワーク(“WAN”)、例えばインターネットがある。
このコンピューターシステムはクライアントおよびサーバーを含むことができる。クライアントおよびサーバーは一般に互いに離れ、そして一般には通信ネットワークを介して情報交換する。クライアントとサーバーの関係は個々のコンピューターで実行し、そしてクライアント−サーバー関係を互いに有するコンピュータープログラムにより生じる。
本出願は多くの明細を含むが、これらは本発明の、または特許請求され得る範囲の限定と解釈すべきではなく、むしろ本発明の特定態様に対する特別な特徴の記載と解釈すべきである。別の態様の内容で本明細書に記載する特定の特徴も、1つの態様で組み合わせて実施できる。逆に1つの態様の内容で記載する様々な特徴は、多くの態様で別々に、または任意の適切な部分的組み合わせでも実施することができる。さらに特徴は特定の組み合わせで作用すると上記に記載することができ、そしてそのように最初は特許請求するが、特許請求する組み合わせからの1もしくは複数の特徴は場合により組み合わせから削除することができ、そして特許請求する組み合わせは部分的組み合わせまたは部分的組み合わせの変形を対象とすることができる。
同様に図面では操作を特定の順序で表すが、これは所望する結果に到達するためにそのような操作が示した特定の順序または連続的順序で行われること、あるいはすべての説明した操作が行われることを要求していると理解すべきではない。特定の状況では、マルチタスク動作および平行処理が有利かもしれない。さらに上記態様の様々なシステムの部品の分離は、そのような分離をすべての態様で要求すると理解されるべきではなく、そして記載したプログラム部品およびシステムは一般に1つのソフトウェア製品に一緒に統合されるか、または多くのソフトウェア製品にパッケージされ得ると理解すべきである。
このように本発明の特定態様を記載してきた。他の態様は以下の特許請求の範囲内にある。例えば特許請求の範囲で言及する動作は、異なる順序で行うことができ、それでも所望する結果を達成できる。

Claims (48)

  1. コンピューター実施方法であって、
    ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特性を受信し;
    ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1もしくは複数の環境特性に基づき決定し;そして
    ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフォント情報を提供する;
    ことを有する該コンピューター実施方法。
  2. 1もしくは複数の環境特性の1つが通信接続のスループットを表す請求項1に記載のコンピューター実施方法。
  3. 1もしくは複数の環境特性の1つが通信接続の帯域幅を表す請求項1に記載のコンピューター実施方法。
  4. 1もしくは複数の環境特性の1つが処理時間を表す請求項1に記載のコンピューター実施方法。
  5. 1もしくは複数の環境特性の1つがユーザーの装置に提供されるべきフォント情報の量を表す請求項1に記載のコンピューター実施方法。
  6. ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報の決定が、ウェブアセットのコンテンツに基づく請求項1に記載のコンピューター実施方法。
  7. 1もしくは複数の環境特性がユーザーの装置の能力を表す請求項1に記載のコンピューター実施方法。
  8. フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の1もしくは複数のフォントサブセットを含む請求項1に記載のコンピューター実施方法。
  9. フォント情報がウェブアセットの第1ページを表示するためのものである請求項1に記載のコンピューター実施方法。
  10. ウェブアセットの第1ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することをさらに有する請求項9に記載のコンピューター実施方法。
  11. ウェブアセットのフォント情報が前もって作成される、請求項1に記載のコンピューター実施方法。
  12. 指令を保存するために構成されたメモリーと;および
    プロセッサーであって
    ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境
    特性を受信し;
    ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1も
    しくは複数の環境特性に基づき決定し;そして
    ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフ
    ォント情報を提供する;
    ことを有する方法を行うための指令を実行するプロセッサーと;
    を備えた第一コンピューター装置を有するシステム。
  13. 1もしくは複数の環境特性の1つが通信接続のスループットを表す請求項12に記載のシステム。
  14. 1もしくは複数の環境特性の1つが通信接続の帯域幅を表す請求項12に記載のシステム。
  15. 1もしくは複数の環境特性の1つが処理時間を表す請求項12に記載のシステム。
  16. 1もしくは複数の環境特性の1つが、ユーザーの装置に提供されるフォント情報の量を表す請求項12に記載のシステム。
  17. ユーザーの装置に提供するためのウェブアセットのフォント情報の適切な量の決定が、ウェブアセットのコンテンツに基づく請求項12に記載のシステム。
  18. 1もしくは複数の環境特性がユーザーの装置の能力を表す請求項12に記載のシステム。
  19. フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の1もしくは複数のフォントサブセットを含む請求項12に記載のシステム。
  20. フォント情報がウェブアセットの第1ページを表示するためのものである請求項12に記載のシステム。
  21. ウェブアセットの第1ページが表示されている時、プロセッサーがウェブアセットの追加のフォント情報をユーザーの装置に提供するための指令を実行する請求項20に記載のシステム。
  22. ウェブアセットのフォント情報が前もって作成される、請求項12に記載のシステム。
  23. 処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる1もしくは複数のコンピューター可読媒体であって:
    ユーザーの装置とフォントのプロバイダーとの間の通信接続の1もしくは複数の環境特
    性を受信し;
    ユーザーの装置に提供するためのウェブアセットの適切な量のフォント情報を、1も
    しくは複数の環境特性に基づき決定し;そして
    ウェブアセットを表示するために、ユーザーの装置にウェブアセットの適切な量のフ
    ォント情報を提供する;
    ことを有する上記のコンピューター可読媒体。
  24. 1もしくは複数の環境特性の1つが通信接続のスループットを表す請求項23に記載のコンピューター可読媒体。
  25. 1もしくは複数の環境特性の1つが通信接続の帯域幅を表す請求項23に記載のコンピューター可読媒体。
  26. 1もしくは複数の環境特性の1つが処理時間を表す請求項23に記載のコンピューター可読媒体。
  27. 1もしくは複数の環境特性の1つが、ユーザーの装置に提供されるフォント情報の量を表す請求項23に記載のコンピューター可読媒体。
  28. ユーザーの装置に提供するためのウェブアセットのフォント情報の適切な量の決定が、ウェブアセットのコンテンツに基づく請求項23に記載のコンピューター可読媒体。
  29. 1もしくは複数の環境特性がユーザーの装置の能力を表す請求項23に記載のコンピューター可読媒体。
  30. フォント情報が、ウェブアセットのコンテンツを表示するためにユーザーの装置用の1もしくは複数のフォントサブセットを含む請求項23に記載のコンピューター可読媒体。
  31. フォント情報がウェブアセットの第1ページを表示するためのものである請求項23に記載のコンピューター可読媒体。
  32. さらに処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる請求項31に記載のコンピューター可読媒体であって:
    ウェブアセットの第1ページが表示されている時、ウェブアセットの追加のフォント情報をユーザーの装置に提供することを有する上記のコンピューター可読媒体。
  33. ウェブアセットのフォント情報が前もって作成される請求項23に記載のコンピューター可読媒体。
  34. 1もしくは複数のウェブアセットのコンテンツを表すデータを受信し;
    ユーザーの装置に提供するための1もしくは複数のウェブアセットに関する適切な量のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基づき決定し;そして
    決定した適切な量のフォント情報を保存する;
    ことを含んでなるコンピューター実施方法。
  35. 1もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することをさらに有する請求項34に記載のコンピューター実施方法。
  36. 適切な量のフォント情報の決定が、1もしくは複数のウェブアセットの1もしくは複数のソースに基づく請求項34に記載のコンピューター実施方法。
  37. 適切な量のフォント情報の決定が、ユーザーの装置の1もしくは複数の能力に基づく請求項34に記載のコンピューター実施方法。
  38. フォント情報がフォントサブセットを含む請求項34に記載のコンピューター実施方法。
  39. 指令を保存するために構成されたメモリーと:および
    プロセッサーであって、
    1もしくは複数のウェブアセットのコンテンツを表すデータを受信し;
    ユーザーの装置に提供するための1もしくは複数のウェブアセットに関する適切な量
    のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基
    づき決定し;そして
    決定した適切な量のフォント情報を保存する;
    ことを有する方法を行うための指令を実行するプロセッサーと:
    を備えた第一コンピューター装置を有するシステム。
  40. 1もしくは複数のウェブアセットを表示するために、プロセッサーが保存されたフォント情報をユーザーの装置に提供するための指令を実行する、請求項39に記載のシステム。
  41. 適切な量のフォント情報の決定が、1もしくは複数のウェブアセットの1もしくは複数のソースに基づく請求項39に記載のシステム。
  42. 適切な量のフォント情報の決定が、ユーザーの装置の1もしくは複数の能力に基づく請求項39に記載のシステム。
  43. フォント情報がフォントサブセットを含む請求項39に記載のシステム。
  44. 処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる1もしくは複数のコンピューター可読媒体であって:
    1もしくは複数のウェブアセットのコンテンツを表すデータを受信し;
    ユーザーの装置に提供するための1もしくは複数のウェブアセットに関する適切な量
    のフォント情報を、1もしくは複数のウェブアセットのコンテンツを表すデータに基
    づき決定し;そして
    決定した適切な量のフォント情報を保存する;
    ことを含んでなる上記のコンピューター可読媒体。
  45. さらに処理装置により実行可能な指令を保存し、そしてそのような実行で処理装置が操作を行うようにさせる請求項44に記載のコンピューター可読媒体であって:
    1もしくは複数のウェブアセットを表示するために、保存したフォント情報をユーザーの装置に提供することを有する、上記のコンピューター可読媒体。
  46. 適切な量のフォント情報の決定が、1もしくは複数のウェブアセットの1もしくは複数のソースに基づく請求項44に記載のコンピューター可読媒体。
  47. 適切な量のフォント情報の決定が、ユーザーの装置の1もしくは複数の能力に基づく請求項44に記載のコンピューター可読媒体。
  48. フォント情報がフォントサブセットを含む請求項44に記載のコンピューター可読媒体。
JP2013167013A 2012-08-10 2013-08-09 ネットワークに基づくフォントサブセットの管理 Pending JP2014038618A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/572,082 US20140047329A1 (en) 2012-08-10 2012-08-10 Network Based Font Subset Management
US13/572,082 2012-08-10

Publications (1)

Publication Number Publication Date
JP2014038618A true JP2014038618A (ja) 2014-02-27

Family

ID=48985969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013167013A Pending JP2014038618A (ja) 2012-08-10 2013-08-09 ネットワークに基づくフォントサブセットの管理

Country Status (3)

Country Link
US (1) US20140047329A1 (ja)
EP (1) EP2696300A3 (ja)
JP (1) JP2014038618A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060340A (ja) * 2016-10-05 2018-04-12 株式会社イプラ プライスボード作成サービス提供サーバー

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
US20140035927A1 (en) * 2012-08-03 2014-02-06 Celartem, Inc. Methods, Computer Readable Media, and Apparatuses for Enabling Non-System Fonts
US9817615B2 (en) 2012-12-03 2017-11-14 Monotype Imaging Inc. Network based font management for imaging devices
US20140280693A1 (en) * 2013-03-13 2014-09-18 Celartem, Inc. Font delivery service
US9317777B2 (en) 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation
US20150348278A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Dynamic font engine
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
US10341319B2 (en) * 2016-02-17 2019-07-02 Adobe Inc. Utilizing a customized digital font to identify a computing device
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
US10755031B2 (en) * 2018-09-19 2020-08-25 International Business Machines Corporation Cognitive glyph building
US11153366B2 (en) 2019-03-01 2021-10-19 International Business Machines Corporation Lightweight web font customization integrated with glyph demanding assessment
US11977830B2 (en) * 2022-09-13 2024-05-07 International Business Machines Corporation Demand-based deployment of font server to an edge device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167441A (en) * 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
EP1217538A1 (en) * 2000-12-22 2002-06-26 Sun Microsystems, Inc. Client capability detection in a client and server system
US6601009B2 (en) * 2001-07-12 2003-07-29 Yahoo Inc Method and system of automatic bandwidth detection
US8689101B2 (en) * 2004-02-27 2014-04-01 Blackberry Limited Font data processing system and method
WO2007052264A2 (en) * 2005-10-31 2007-05-10 Myfont Ltd. Sending and receiving text messages using a variety of fonts
US8615709B2 (en) * 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US8644810B1 (en) * 2010-10-22 2014-02-04 Joingo, Llc Method and system for dynamic font support on mobile devices
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
US20150193386A1 (en) * 2012-05-03 2015-07-09 David Adam Wurtz System and Method of Facilitating Font Selection and Manipulation of Fonts
US20130321617A1 (en) * 2012-05-30 2013-12-05 Doron Lehmann Adaptive font size mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060340A (ja) * 2016-10-05 2018-04-12 株式会社イプラ プライスボード作成サービス提供サーバー

Also Published As

Publication number Publication date
US20140047329A1 (en) 2014-02-13
EP2696300A2 (en) 2014-02-12
EP2696300A3 (en) 2015-10-14

Similar Documents

Publication Publication Date Title
JP2014038618A (ja) ネットワークに基づくフォントサブセットの管理
JP6097214B2 (ja) フォントサブセットの開始
US20190065445A1 (en) Predictive resource identification and phased delivery of structured documents
CN109863527B (zh) 用于展现的本地内容的服务器侧渲染的方法和系统
US8825749B2 (en) Method of tracking offline user interaction in a rendered document on a mobile device
US9779069B2 (en) Model traversing based compressed serialization of user interaction data and communication from a client-side application
US20180246863A1 (en) Dynamic streaming content
JP2016506560A (ja) イメージングデバイス用のネットワークに基づくフォントサブセットの管理
JP2018508059A (ja) ネットワークベース静的フォントサブセット管理
US10339572B2 (en) Tracking user interaction with a stream of content
US20120303695A1 (en) Device specific web services
US11599571B2 (en) Generic card feature extraction based on card rendering as an image
US11080322B2 (en) Search methods, servers, and systems
US11488213B2 (en) Tracking user interaction with a stream of content
Xinogalos et al. Recent advances delivered by HTML 5 in mobile cloud computing applications: a survey
CN104462026A (zh) 提供云字库服务的方法和系统
US20140337708A1 (en) Method and apparatus for providing web browsing service
RU2634221C2 (ru) Способ и устройство для отрисовки представления электронного документа на экране
US9497251B2 (en) Serving of web pages according to web site launch times
Xinogalos et al. Recent advances delivered by HTML 5 in mobile cloud computing applications