JP2016506560A - イメージングデバイス用のネットワークに基づくフォントサブセットの管理 - Google Patents
イメージングデバイス用のネットワークに基づくフォントサブセットの管理 Download PDFInfo
- Publication number
- JP2016506560A JP2016506560A JP2015545133A JP2015545133A JP2016506560A JP 2016506560 A JP2016506560 A JP 2016506560A JP 2015545133 A JP2015545133 A JP 2015545133A JP 2015545133 A JP2015545133 A JP 2015545133A JP 2016506560 A JP2016506560 A JP 2016506560A
- Authority
- JP
- Japan
- Prior art keywords
- font
- imaging device
- request
- asset
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1292—Mobile client, e.g. wireless printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Controls And Circuits For Display Device (AREA)
- Document Processing Apparatus (AREA)
Abstract
システムは、指令を保存するために構成されたメモリーを含むコンピューティングデバイスを含む。またこのコンピューティングデバイスは、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信することを含む操作を行う指令を実行するためのプロセッサーも含む。リクエストは、アセットのテキストコンテンツの1もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送られる。また操作は、イメージングデバイスがアセットを表示するために、受信した1もしくは複数の属性から適切な量のフォント情報を識別し、そしてアセットを表示するためにイメージングデバイスに識別したフォント情報を提供することを含む。【選択図】図1
Description
本出願は35USC§120の下、2012年12月3日に出願された特許文献1の優先権を主張し、この内容は全部、引用により本明細書に編入する。
本記載はプリンター、コンピューティングデバイス等のようなイメージングデバイスにフォントおよび関連情報の配信を管理することに関する。
インターネットのようなコンピューターネットワークにより提供される絶え間なく広がる接続性において、様々な種類のコンテンツ、例えばテキスト、グラフィック、オーディオ、ビデオ等を、コンピューティングデバイスまたは放送を使用して個人に表示するために、アセット(例えば文書、プレゼンテーション、ウェッブサイト、ウェッブページ等)に含むことができる。そのようなコンテンツをアセットに包含することは、閲覧者に、さらに楽しめる視聴体験を与えることができると同時に、情報のより効率的伝達を補助することができる。しかし技術は様々な種類のコンテンツのそのような急激な拡大とドラマチックなレイアウトを少しも拘束されずに常に与えることができるわけではない。デバイスの機能性、操作システム、ドライバーソフトウェア等が表示を妨害し、そして閲覧者がもともと書いた(authored)コンテンツを見る能力を制限する。
本明細書に記載するシステムおよび技術は、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もしくは複数の環境特性を含むことができる。リクエストはイメージングデバイスの少なくとも一つの能力を表す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を参照にして、様々な種類のアセットを表示のために作成することができる。例えば文書、プレゼンテーションなどのアセットは、コンピューティングデバイス(例えばコンピューターシステム、スマートフォン等)によりローカルで、または遠隔で作成されることができ、あるいはウェブアセットのようなアセット(例えばウェブページ100)も
遠隔で作成することができ、そしてインターネット(または他の種類のコンピューターネットワーク)を通してアクセスすることができる。そのようなウェブアセット様のウェブページ100(例えばウェブページ、ウェブサイト等)は、適切な識別情報(例えばユニフォームリソースロケータ(URL))をウェブブラウザまたは他の種類のアセットプレゼンターに提供することによりアクセスすることができる。例えばいったんアクセスすれば、ウェブアセットはパッケージされ、そして対応するアセットのプロバイダーからイメージングデバイス(例えばコンピューティングデバイス、プリンター等)に表示のために送信されることができる。この説明する例では、ウェブページ100のコンテンツは、テキストおよびグラフィックを含む誕生日パーティの招待状であり、そして特定のURL(すなわちwww.invite.com)からアクセスすることができる。人目を引く招待状を提供するために、種々の書体を提供する多くのフォントが使用され、そのそれぞれがスタイル上の文字またはグリフを提供すると考えることができる。一般にそのようなテキストおよび類似のグラフィックを表示するために、一組のフォント、例えばレギュラー、イタリック、太字、太字イタリックなどを一般に含む様々な種類のフォントファミリー(例えばTimes New Roman、Arial等)を使用することができる。各フォントは一般にグリフと呼ばれる一組の個々の文字形を含み、そしてグリフは一般にフォントに関連する様々なデザインの特徴を共有する(例えば、幾何形状、ストローク厚、セリフ、サイズ等)。そのようなフォントを表すために1もしくは複数の技術を使用することができ、例えばグリフの境界を定めるために、どの線および曲線を使用するか、アウトラインに基づく表示を適合させることができる。そのようなフォントは、様々なサイズに寸法を定めることができ(例えば様々なイメージングデバイスにより表示するために)、そして1もしくは複数の形式で表示することができる。例えば寸法を変えることができるアウトラインフォントは、多くの言語の様々な印刷上のビジュアルシンボル(typographic visual symbol)を支援することができるデータ構造を含むフォーマットで表わされることができる。
図1を参照にして、様々な種類のアセットを表示のために作成することができる。例えば文書、プレゼンテーションなどのアセットは、コンピューティングデバイス(例えばコンピューターシステム、スマートフォン等)によりローカルで、または遠隔で作成されることができ、あるいはウェブアセットのようなアセット(例えばウェブページ100)も
遠隔で作成することができ、そしてインターネット(または他の種類のコンピューターネットワーク)を通してアクセスすることができる。そのようなウェブアセット様のウェブページ100(例えばウェブページ、ウェブサイト等)は、適切な識別情報(例えばユニフォームリソースロケータ(URL))をウェブブラウザまたは他の種類のアセットプレゼンターに提供することによりアクセスすることができる。例えばいったんアクセスすれば、ウェブアセットはパッケージされ、そして対応するアセットのプロバイダーからイメージングデバイス(例えばコンピューティングデバイス、プリンター等)に表示のために送信されることができる。この説明する例では、ウェブページ100のコンテンツは、テキストおよびグラフィックを含む誕生日パーティの招待状であり、そして特定のURL(すなわちwww.invite.com)からアクセスすることができる。人目を引く招待状を提供するために、種々の書体を提供する多くのフォントが使用され、そのそれぞれがスタイル上の文字またはグリフを提供すると考えることができる。一般にそのようなテキストおよび類似のグラフィックを表示するために、一組のフォント、例えばレギュラー、イタリック、太字、太字イタリックなどを一般に含む様々な種類のフォントファミリー(例えばTimes New Roman、Arial等)を使用することができる。各フォントは一般にグリフと呼ばれる一組の個々の文字形を含み、そしてグリフは一般にフォントに関連する様々なデザインの特徴を共有する(例えば、幾何形状、ストローク厚、セリフ、サイズ等)。そのようなフォントを表すために1もしくは複数の技術を使用することができ、例えばグリフの境界を定めるために、どの線および曲線を使用するか、アウトラインに基づく表示を適合させることができる。そのようなフォントは、様々なサイズに寸法を定めることができ(例えば様々なイメージングデバイスにより表示するために)、そして1もしくは複数の形式で表示することができる。例えば寸法を変えることができるアウトラインフォントは、多くの言語の様々な印刷上のビジュアルシンボル(typographic visual symbol)を支援することができるデータ構造を含むフォーマットで表わされることができる。
いったん作成すれば、アセット(例えば電子文書、プレゼンテーション等)は、表示のためにイメージングデバイスに提供され得る。例えば1もしくは複数の電子文書(例えばMS−Word文書、MS−PowerPointプレゼンテーション、MS−Excelファイル、ポータブルドキュメントフォーマット(PDF)ファイル等)がイメージングデバイス(例えばプリンター)に提供され得る(例えばローカルコンピューティングデバイスから直接送信され、電子メールプロトコールのような1もしくは複数のプロトコールを使用して遠隔に送信される、など)。作成されたアセットはまた遠隔からアクセスすることができる。例えばいったんアクセスすれば、コンテンツのプロバイダーはウェブページ100のコンテンツをイメージングデバイスに提供するために1もしくは複数の技術を使用することができる。この配置(arrangement)では、ウェブページ100は、1もしくは複数の技術を使用することができる1もしくは複数のアセットファイル102で表すことができる。例えばアセットファイル102は、アセットを表示するための指令を含むハイパーテキストマークアップ言語(HTML)ファイル、およびHTMLファイルにより表示されているアセットにプレゼンテーションセマンティックスを提供するカスケ−ディングスタイルシート(CSS)ファイルを含む。HTML、CSS、XMLのためのワールドワイドウェブコンソーシアム(W3C)標準のような標準、および他の標準が実施されることができるので、ウェブページ100は、電子コンテンツ(例えばコンピューターシステム、タブレット型コンピューティングデバイス、スマートフォン、携帯情報端末(PDA)、ハンドヘルドコンピューター、セットトップボックス、ヘッドアップディスプレイ(HUD)、インターネットアプライアンス等)を表示することができる様々な種類のイメージングデバイス上で正しくレンダリングされることができる。電子コンテンツを表示することと同時に、他の種類のイメージングデバイスをコンテンツのプレゼンテーションに使用することができる。例えばプリンター(例えばハードコピープレゼンテーション用)、および他の種類のデバイスを、ウェブページ100のコンテンツ
の表示に使用することができる。
の表示に使用することができる。
グラフィック(例えばこの例ではバースデイケーキのグラフィック)を提供することと共に、1もしくは複数のアセットファイルは、ウェブページ上のテキストをレンダリングするために使用する1もしくは複数のフォントを参照することができる。説明のために、この招待状に関連する情報を提供するために5個の異なるフォント(例えば時間、月日、場所、行事の説明およびメニュー)をこのウェブページ100で使用する。このようにアセットファイル(1もしくは複数)102は、受信するイメージングデバイスが、どのフォントがテキスト情報の各部分(例えば「Times New Roman」フォントで日時を表示する)に対応するのか分かるように、各フォントを呼び出す。アセットファイル(1もしくは複数)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がアセットファイル(1もしくは複数)102と一緒に提供される。このようにウェブページ100に使用される5つのフォントのそれぞれ可能な文字がイメージングデバイスに提供され、それによりイメージングデバイスのかなりの量のメモリーを消費する。デバイスの中
には完全なフォントセットを保存し、そして処理する能力を有することができるものもあるが、他には単にメモリーを有することができないデバイスもある。例えばこのデータ全てと仮定すると、タブレット型コンピューティングデバイス114は、ウェブページ100を表示するためのメモリーまたは処理力を有することができるか、またはできない。
には完全なフォントセットを保存し、そして処理する能力を有することができるものもあるが、他には単にメモリーを有することができないデバイスもある。例えばこのデータ全てと仮定すると、タブレット型コンピューティングデバイス114は、ウェブページ100を表示するためのメモリーまたは処理力を有することができるか、またはできない。
幾つかの状況では、フォントセットはアセットファイルで提供されることができず、そしてデバイスはアセットを表示するためにローカルに存在するフォントを使用することができる。例えばアセットファイル(1もしくは複数)102と仮定すると、プリンター116は、プリンターに存在しないアセットファイル(1もしくは複数)中で識別される任意のフォントを取り換えることができる。それぞれ存在しないフォントをそれに最も近いフォントに取り換えることにより、プリンターはアセットを表示しようと試みることができる。しかし類似の情報を表示できるが、アセットの全体像(overall look)およびスタイルが犠牲になるかもしれない。この特定の例では、プリンター116は、ウェブページ100でもともと選択したフォントに換えてローカルのフォント文字(プリンターに保存された)を含むアセットのプリントアウト118を作成する。この場合、プリントアウト118に表示されたテキストの各ラインについて、プリントアウトはその同じ置換フォント(Times New Roman)を使用した。このようにプリントアウト118にはもとのウェブページ100の全体像およびスタイルが存在しない。
イメージングデバイスに存在しない可能性がある適切なフォント情報を提供するために、1もしくは複数の技術を実施することができる。例えば配信されたアセットに基づき、アセットを表示するために必要な特定のフォント(1もしくは複数)を識別し、そしてどのフォント(1もしくは複数)がイメージングデバイスに存在しないのかの決定を実行することができる。存在しないフォント(1もしくは複数)を識別するために、不在(missing)フォント(1もしくは複数)の属性を識別し、そして適切なフォント情報を獲得し、そして情報をイメージングデバイスに提供するために使用することができる。そのような属性は、フォントの名前、不在フォント(1もしくは複数)に関連する1もしくは複数のメトリクス(例えばページ上のフットプリント、高さ、幅等)を含むことができる。アセットに関連する情報は、不在フォント(1もしくは複数)の識別にも使用でき、例えばアセットの情報(例えば文書中の行数、間隔、ウェブページ中の段落数、改ページ、行あたりの文字数等)をフォントの識別に使用することができる。デバイスの型やモデル、デバイスの機能および能力、デバイスにより実行されるソフトウェア(例えば操作システム、ウェブブラウザ、等)のようなデバイスの情報をフォントの識別に使用することができる。
環境属性もフォントの識別に使用することができる。例えば1もしくは複数の技術を使用してファイルの転送時間、帯域幅消費およびウェブページ100のようなアセットを表示するための準備に必要なメモリースペースを減らすことができる。例えば各フォントについて完全な文字組を提供するというよりは、アセット(例えばウェブページ100)に現れる文字のみを含むフォントサブセットを提供することができる。このようにファイル転送時間および帯域幅のニーズは減らされ、そしてデバイスのメモリーは保存されると同時に、適切なフォントの文字組がアセット表示用に提供される。説明する例を参考にして、各フォントの文字組104〜112は、アセットファイル(1もしくは複数)102により提供されることができる有意に小さいフォントサブセットに、すなわちこのファイルの比較的受信直後に交換されることができる。文字のスタイル上の外観に関するフォントサブセットに基づく転送時間および帯域幅ニーズの減少と同様に、異なる言語に関連するフォントサブセットを提供するための縮小(reduction)も達成され得る。例えばウェブページがわずか300の中国語の文字を含む場合、300文字のみを含むように制限されたフォントサブセットを提供することがより効率的となり、これは転送されるフォントデータのサイズを約10MBから50KBに縮小することができる。幾つかのフォ
ントの文字組に関するサブセット(例えば中国語の文字組)を作成することができると同時に、他のフォントの文字組を完全な組で送信することができる場合もある。例えば完全なフォントセットに比較的少数の文字が含まれる場合(例えばラテン語の文字組)は、サブセットの制作および転送は、全部の文字組を転送するために必要な帯域幅または時間を有意に縮小することはない。ウェブページまたは他の種類のアセットを表示するために、コンピューティングデバイスに提供されるフォントの文字組のサイズを縮小すると共に、1もしくは複数の技術を実施してそのようなフォントサブセットをイメージングデバイス(例えばタブレット型コンピューティングデバイス114、プリンター116等)に効率的に提供することができる。例えばウェブページの表示と共に、ユーザーのコンピューティングデバイスは適切なフォントサブセットを識別するために使用され、そして引き続き識別されたサブセットをリクエストすることができる。
ントの文字組に関するサブセット(例えば中国語の文字組)を作成することができると同時に、他のフォントの文字組を完全な組で送信することができる場合もある。例えば完全なフォントセットに比較的少数の文字が含まれる場合(例えばラテン語の文字組)は、サブセットの制作および転送は、全部の文字組を転送するために必要な帯域幅または時間を有意に縮小することはない。ウェブページまたは他の種類のアセットを表示するために、コンピューティングデバイスに提供されるフォントの文字組のサイズを縮小すると共に、1もしくは複数の技術を実施してそのようなフォントサブセットをイメージングデバイス(例えばタブレット型コンピューティングデバイス114、プリンター116等)に効率的に提供することができる。例えばウェブページの表示と共に、ユーザーのコンピューティングデバイスは適切なフォントサブセットを識別するために使用され、そして引き続き識別されたサブセットをリクエストすることができる。
フォントの識別を補助することができる他の属性は、表示するアセットのソース、アセットの配信受信者に関する情報(例えばイメージングデバイスを操作する業務)等を含むことができる。例えばアセットソース、受信者等が位置する地域は、アセットを表示するために必要となり得る1もしくは複数のフォントの識別を補助することができる。業務およびソースの業務上の関係、受信者等も、1もしくは複数のエンティティに使用されるフォントを決定する要因となる属性となり得る。例えば特定のフォントが、アセットソース、受信者などの間の通信に幾分頻繁に使用される可能性がある。そのような情報は、アセット配信サイトまたはデバイス(例えばプリンター116)に存在しない1もしくは複数のフォントの識別を補助することができる。そのような属性をフォントの識別に使用することにより、フォント識別に必要とされるユーザーの入力はあるとしても少ない。例えば受信デバイスのユーザー(例えばタブレット型デバイス114のユーザー、プリンター116等)からの入力無しで操作を実行することができる。このように末端ユーザーは、フォントの識別を補助するための入力のリクエストにより気が散ったり、イライラしたりすることがなくなる。さらにユーザーの入力の必要性が無いので、フォントの識別操作は絶え間ない様式で起こり、しかもより効率的に実行されてデバイスに不在のフォントを識別することができる。
図2を参考にして、コンピューティング環境200は、コンピューターシステムで表示される目的のウェブアセット(例えばウェブページ)を識別するために、ユーザーが対話することができる(例えばキーボードまたはマウスのようなポインティングデバイスを使用して)コンピューターシステム202を含む。例えばウェブブラウザ204または類似のソフトウェアアプリケーションは、ユーザーが1もしくは複数のウェブページを目的とするためにコンピューターシステム202により実行することができる。識別されたら、ウェブブラウザ204の操作には、インターネット206を介して、目的のウェブページ用(1もしくは複数)の1もしくは複数のウェブアセットソース208a,b,cからコンテンツをリクエストすることを含むことができる。説明したように、この特定の例ではウェブページのページは、ウェブページソース208aからリクエストされ、そして対応するアセットファイル(1もしくは複数)210(例えばHTMLファイル、CSSファイル等)がソースからインターネット206を介してコンピューターシステム202に送信される。一つの配置では、ウェブアセットファイル210は、アセットを表示するための指令を含むハイパーテキストマークアップ言語(HTML)ファイル、およびHTMLにより表示されているアセットにプレゼンテーションセマンティックスを提供するカスケ−ディングスタイルシート(CSS)ファイルを含む。
いったんアセットファイル(1もしくは複数)210が受信されれば、1もしくは複数の技術を実施してこのアセットにより使用される1もしくは複数のフォントがコンピューターシステム202に不在かどうかを決定することができる。例えば1もしくは複数のアセットファイル210(例えば、HTMLファイル、CSSファイル等)をスキャンする
ためのコンピューターシステム202による操作を実行して、ファイル(1もしくは複数)により定められるウェブページに含まれる個々のフォント、フォント文字等を識別することができる。1つの配置では、コンピューターシステム202は、ソフトウェアエージェント212を実行して個々のフォント、フォントの文字等を識別し、そして1もしくは複数のこれらフォント、フォントの文字等がコンピューターシステム202に不在であるかどうかを決定することができる(例えばメモリー、ローカルのストレージデバイス等に無い)。フォント情報(例えば1もしくは複数のフォント、フォントの文字等)が不在であると決定した場合、1もしくは複数の操作(例えば不在のフォント(1もしくは複数)等を識別するための情報を集める)を、ソフトウェアエージェント単独で、またはコンピューターシステム202(および可能ならば他のコンピューティングデバイス)と共同して実行することができる。例えばソフトウェアエージェントは、アセット(例えば目的のウェブページ)を表示するために提供される適切なフォント情報を得るために送信されるリクエストを開始することができる。そのようなエージェントは、実質的に自律的様式で実行可能なソフトウェアモジュールと考えることができる。例えばコンピューターシステム202に提供されると、ソフトウェアエージェントは多数のユーザーとの対話無しに作動することができる。幾分柔軟な様式で操作することにより、ソフトウェアエージェントはウェブページのようなアセットの表示に必要なフォント、フォント文字等を適応状態で(adaptively)識別することができる。この特定の例では、ソフトウェアエージェント212は、ファイル(1もしくは複数)により呼び出されるフォント、フォント文字等を識別するために幾分持続的な様式でアセットファイル(1もしくは複数)210(例えばHTMLファイル、CSSファイル等)のコンテンツをスキャンする。例えばソフトウェアエージェントは実質的に連続的様式で実行することができる。幾つかの配置では、ソフトウェアエージェントはアセットファイル(1もしくは複数)210の極めて配信直後にユーザーのコンピューティングデバイス(例えばコンピューターシステム202)に提供される。このようにウェブページ、アプリケーションページ、ユーザーのインターフェイス等のようなウェブアセットは、文書が受信された時とほぼリアルタイムでスキャンされると認識する(perceive)ことができる。
ためのコンピューターシステム202による操作を実行して、ファイル(1もしくは複数)により定められるウェブページに含まれる個々のフォント、フォント文字等を識別することができる。1つの配置では、コンピューターシステム202は、ソフトウェアエージェント212を実行して個々のフォント、フォントの文字等を識別し、そして1もしくは複数のこれらフォント、フォントの文字等がコンピューターシステム202に不在であるかどうかを決定することができる(例えばメモリー、ローカルのストレージデバイス等に無い)。フォント情報(例えば1もしくは複数のフォント、フォントの文字等)が不在であると決定した場合、1もしくは複数の操作(例えば不在のフォント(1もしくは複数)等を識別するための情報を集める)を、ソフトウェアエージェント単独で、またはコンピューターシステム202(および可能ならば他のコンピューティングデバイス)と共同して実行することができる。例えばソフトウェアエージェントは、アセット(例えば目的のウェブページ)を表示するために提供される適切なフォント情報を得るために送信されるリクエストを開始することができる。そのようなエージェントは、実質的に自律的様式で実行可能なソフトウェアモジュールと考えることができる。例えばコンピューターシステム202に提供されると、ソフトウェアエージェントは多数のユーザーとの対話無しに作動することができる。幾分柔軟な様式で操作することにより、ソフトウェアエージェントはウェブページのようなアセットの表示に必要なフォント、フォント文字等を適応状態で(adaptively)識別することができる。この特定の例では、ソフトウェアエージェント212は、ファイル(1もしくは複数)により呼び出されるフォント、フォント文字等を識別するために幾分持続的な様式でアセットファイル(1もしくは複数)210(例えばHTMLファイル、CSSファイル等)のコンテンツをスキャンする。例えばソフトウェアエージェントは実質的に連続的様式で実行することができる。幾つかの配置では、ソフトウェアエージェントはアセットファイル(1もしくは複数)210の極めて配信直後にユーザーのコンピューティングデバイス(例えばコンピューターシステム202)に提供される。このようにウェブページ、アプリケーションページ、ユーザーのインターフェイス等のようなウェブアセットは、文書が受信された時とほぼリアルタイムでスキャンされると認識する(perceive)ことができる。
幾つかの配置では、ソフトウェアエージェント212の操作は1もしくは複数の条件が満たされること、1もしくは複数の事象が起こることなどにより開始され得る。例えばソフトウェアエージェント212は、1もしくは複数の事象が生じたことが適切に発信されるまで、アセットファイル(1もしくは複数)210のコンテンツを使用できない。一つの配置では、テキスト対スピーチアプリケーションのようなアプリケーションが、ソフトウェアエージェント212により使用される前にアセットファイル(1もしくは複数)210のコンテンツを処理することができる。例えばいったんウェブのアセットファイル(1もしくは複数)210(例えばHTMLファイル)のテキストコンテンツがテキスト対スピーチアプリケーションにより読み込まれれば(例えば音声スピーチへの変換のために)、1もしくは複数の信号が発信されて(または使用される他の種類の発信技術)、ウェブのアセットファイル(1もしくは複数)210がアクセスされ、そして使用できることをソフトウェアエージェント212に知らせることができる。
またコンピューティング環境200は、コンピューターシステム202から不在フォント情報を受信し(例えばソフトウェアエージェント212の操作から)、そして目的アセットを表示するためにコンピューターシステムに配信される必要がある適切なフォント情報(例えば不在フォント、フォントの文字、フォントサブセット等)を決定するフォントサービスプロバイダー214を含む。幾つかの配置では、フォントサービスプロバイダーは、リクエストしているイメージングデバイス(例えばコンピューターシステム202)の必要性を指定する(addres)ために新しいフォントを作成することができる。いったん作成されれば、フォント情報(例えばフォントファイル216として説明される)が準備され、そしてフォントサービスプロバイダー214によりリクエストしているイメ
ージングデバイス(例えばコンピューターシステム202)に送信される。幾つかの配置では、情報はフォント情報が必要な他のイメージングデバイス(例えば1もしくは複数の他のコンピューターシステム、プリンター等)に向けることができる。ソフトウェアエージェント212からのリクエストに含まれる情報に基づき適切なフォントを識別することと共に、フォントサービスプロバイダー214は他の操作を実行することができる。例えばフォントサービスプロバイダー214は、ソフトウェアエージェント212からの情報に基づき1もしくは複数のフォントサブセットを作成することを決定できる。さらにフォントサービスプロバイダー214は、リクエストしているコンピューティングデバイスに完全なフォントの文字組が提供されるべきかどうかを決定することもできる。例えばフォントサブセットが送信されるべきかどうかの決定に、所定の規則をフォントサービスプロバイダー214は使用することができる。そのような規則の1つは、特定の言語(例えば中国語)に関連するフォントの文字組が、大きいサイズの完全な文字組により作成されたサブセットを有するべきであることを示すことができる。またサブセットの決定は、動的様式で提供することもできる。例えば達成可能なファイル転送速度に基づき、サブセットが閾値より大きい文字組について作成されるようにファイルサイズの閾値(例えば2MB)を決定することができる。フォントの文字組のサイズが閾値より低い場合、ファイル転送速度は効率的範囲内と考えることができるので、全文字組が送信され得る。そのような閾値は、例えば達成可能な転送速度をモニタリングすることにより動的に調整することができ、この閾値は変更することができる。例えば達成可能な転送速度のレベルが下がれば、文字組のサブセットを作成するための閾値は対応して下げられる可能性がある(例えば2MBから1MBへ下げられる)。1もしくは複数の属性が転送速度を効率的範囲内であると決定する理由となり得る。例えばユーザーのコンピューティングデバイス(例えばリクエストにより提供される場合)、およびフォントサービスプロバイダーの地理上の位置は、サブセットが制作され、そして完全な文字組の代わりに送信されるべきかどうかの要因となり得る。フォントサービスプロバイダーおよびイメージングデバイスの双方が比較的近くに位置する場合(例えば双方とも米国東部)、比較的高い転送速度を達成でき、そして全文字組を送信することができる。イメージングデバイスがフォントサービスプロバイダーから離れている状況については(例えば1つは米国で、もう1つがインド)、フォントサービスプロバイダーは送信すべきフォントの文字組をサブセットにする決定を行うことができる。位置に基づく決定と同様に、1日のうちの時間、1年のうちの季節および他の一時的要因がフォントサービスプロバイダーにより使用されて、伝達のために識別された1もしくは複数のフォントの文字組のためにサブセットが作成される必要があるかどうかを決定することができる。フォントサブセットの決定に使用されることと同様に、そのような情報は、フォントサービスプロバイダー214により1もしくは複数のイメージングデバイス(例えば情報をリクエストしたコンピューターシステム202)に提供されることになる他の種類のフォント情報(例えば不在のフォント等)を識別するような他の決定のためにもフォントサービスプロバイダー214により使用されることができる。
ージングデバイス(例えばコンピューターシステム202)に送信される。幾つかの配置では、情報はフォント情報が必要な他のイメージングデバイス(例えば1もしくは複数の他のコンピューターシステム、プリンター等)に向けることができる。ソフトウェアエージェント212からのリクエストに含まれる情報に基づき適切なフォントを識別することと共に、フォントサービスプロバイダー214は他の操作を実行することができる。例えばフォントサービスプロバイダー214は、ソフトウェアエージェント212からの情報に基づき1もしくは複数のフォントサブセットを作成することを決定できる。さらにフォントサービスプロバイダー214は、リクエストしているコンピューティングデバイスに完全なフォントの文字組が提供されるべきかどうかを決定することもできる。例えばフォントサブセットが送信されるべきかどうかの決定に、所定の規則をフォントサービスプロバイダー214は使用することができる。そのような規則の1つは、特定の言語(例えば中国語)に関連するフォントの文字組が、大きいサイズの完全な文字組により作成されたサブセットを有するべきであることを示すことができる。またサブセットの決定は、動的様式で提供することもできる。例えば達成可能なファイル転送速度に基づき、サブセットが閾値より大きい文字組について作成されるようにファイルサイズの閾値(例えば2MB)を決定することができる。フォントの文字組のサイズが閾値より低い場合、ファイル転送速度は効率的範囲内と考えることができるので、全文字組が送信され得る。そのような閾値は、例えば達成可能な転送速度をモニタリングすることにより動的に調整することができ、この閾値は変更することができる。例えば達成可能な転送速度のレベルが下がれば、文字組のサブセットを作成するための閾値は対応して下げられる可能性がある(例えば2MBから1MBへ下げられる)。1もしくは複数の属性が転送速度を効率的範囲内であると決定する理由となり得る。例えばユーザーのコンピューティングデバイス(例えばリクエストにより提供される場合)、およびフォントサービスプロバイダーの地理上の位置は、サブセットが制作され、そして完全な文字組の代わりに送信されるべきかどうかの要因となり得る。フォントサービスプロバイダーおよびイメージングデバイスの双方が比較的近くに位置する場合(例えば双方とも米国東部)、比較的高い転送速度を達成でき、そして全文字組を送信することができる。イメージングデバイスがフォントサービスプロバイダーから離れている状況については(例えば1つは米国で、もう1つがインド)、フォントサービスプロバイダーは送信すべきフォントの文字組をサブセットにする決定を行うことができる。位置に基づく決定と同様に、1日のうちの時間、1年のうちの季節および他の一時的要因がフォントサービスプロバイダーにより使用されて、伝達のために識別された1もしくは複数のフォントの文字組のためにサブセットが作成される必要があるかどうかを決定することができる。フォントサブセットの決定に使用されることと同様に、そのような情報は、フォントサービスプロバイダー214により1もしくは複数のイメージングデバイス(例えば情報をリクエストしたコンピューターシステム202)に提供されることになる他の種類のフォント情報(例えば不在のフォント等)を識別するような他の決定のためにもフォントサービスプロバイダー214により使用されることができる。
幾つかの配置では、フォントサービスプロバイダー214は、他の情報(例えば実行されているブラウザ、使用されているコンピューティングデバイスの種類等)の識別とは一緒にローカルに存在しないフォントの文字の識別のために受信したファイル(例えばアセットファイル(1もしくは複数)210)をスキャンするような操作を行うため、ソフトウェアエージェントをコンピューティングデバイスに提供することもできる。このようにフォントサービスプロバイダー214はウェブページのソース208a,b,cから独立して作動することができる。いったんユーザーのコンピューティングデバイスからリクエストが受信されれば、フォントプロバイダー214は情報を集めるためにリクエストしているデバイスに適切なエージェントソフトウェアを提供して、不在のフォント、フォントの文字等を識別し、そして修正措置を取るためにフォントサービスプロバイダー214に情報を提供することができる(例えばユーザーのコンピューティングデバイスに配信するための不在フォント、適切にサブセットされたフォント等のようなフォント情報を提供す
る)。フォントサービスプロバイダーにより提供されるエージェントは、他の機能も提供することができ、例えばエージェントは1もしくは複数の条件に基づき(例えば期限切れのライセンス、期限切れ等)、提供されたフォント、フォントのサブセットの削除を指令することができる。
る)。フォントサービスプロバイダーにより提供されるエージェントは、他の機能も提供することができ、例えばエージェントは1もしくは複数の条件に基づき(例えば期限切れのライセンス、期限切れ等)、提供されたフォント、フォントのサブセットの削除を指令することができる。
不在フォント、文字等に関連するフォント情報を提供するために、コンピューターシステム202により提供される情報と一緒に(例えばソフトウェアエージェント212を介して)、フォントサービスプロバイダー214は一般に、フォントサービスプロバイダーからローカルまたは遠隔に保存されることができるフォントの1もしくは複数のライブラリーへのアクセスが必要である。図に表すように、フォント218のライブラリーはサイト上でストレージデバイス220(例えば1もしくは複数のハードドライブ、CD−ROM等)に保存されていることを示す。サーバー222によりアクセス可能であるので、フォントライブラリー218は、ソフトウェアエージェントから提供される情報と一緒に使用されて適切なフォント情報(例えば完全なフォントセット、フォントサブセット等)を作成することができる。単一のストレージデバイス220に保存されていると説明される場合、フォントサービスプロバイダー214は多数の保存技術およびデバイスを使用してフォントのアクセス可能な組のコレクションを保持することができる(例えば種々のフォントスタイル、言語等について)。またフォントサービスプロバイダー214は、コンピューターシステム202(または他のコンピューティングデバイス)に必要な情報を集めるために、別の場所でフォント情報(例えばフォントセット)にアクセスすることができる。例えばコンピューターシステム202で1つ、または不在フォントを指定することが必要なフォント、フォントの文字、フォントサブセット等を識別すれば、サーバー222を使用して必要な情報をフォントサービスプロバイダー214に対して外部の1もしくは複数のソースから集めることができる(例えばインターネット206を介して)。
フォント情報(例えば完全なフォントの組、フォントサブセット等)を作成し、そしてそれらをリクエストしているイメージングデバイスへ提供することと一緒に、フォントサービスプロバイダー214は他の機能を提供することができる。例えば特定のアセット(例えばウェブページおよびウェブサイトのようなウェブアセット)に関連するフォントおよびフォントサブセットを、先々のリクエストに備えて追跡する(tracked)ことができる。1つの筋書きでは、1もしくは複数のフォントサブセット(例えばフォントファイル216に含まれる)を、(コンピューティングデバイス上の)特定のウェブページに表示するために作成することができる。フォントサブセットとウェブページとの間の関係を識別することができ(例えばサーバー222により)、そして後に検索するために保存することができる。このように将来(例えば別のコンピューティングデバイスで)ウェブページを表示するために必要なサブセットを迅速に識別し、そしてリクエストしているコンピューティングデバイスに提供することができる。1つの配置では、フォントデータベース224がフォントサービスプロバイダー214で保存され(例えばストレージデバイス220で)、そしてウェブページとフォントサブセット(およびフォント)との間の関連を表示する記録を含む。幾つかの場合では、この関係はフォントプロバイダー214に送られたリクエストにより提供された情報から(例えばソフトウェアエージェントから)識別される。ウェブページと適切なフォントサブセットとの間の関連は、ウェブページがユーザーに選択される前に保存することもできる(例えばウェブページソースにより提供される命令および情報に基づき)。同様にフォントサービスプロバイダー214は、他の種類の関連に関して操作(例えば追跡、記憶等)を行うことができる。例えば特定のイメージングデバイス(例えばプリンター、コンピューティングデバイス等)で頻繁に不在であるフォントを反映し、そして1もしくは複数のアセットを表示するために、イメージングデバイスに修正措置を提供するためのフォント情報(例えばフォントセット、フォントサブセット等)が必要となる可能性がある記録を保存することができる。環境特性(例えば処理、帯域幅等)、デバイスの情報(例えばデバイスの種類、操作システムの種類等
)、企業情報(例えば頻繁な業務連絡および連絡の種類のリスティング等)も、イメージングデバイスにより必要とされ得るフォント情報を決定するためにフォントサービスプロバイダー214により保存され得る。他の種類のアーキテクチャーおよびネットワーキング技術も、ソフトウェアエージェントおよびフォント情報(例えばフォントセット、サブセット等)をイメージングデバイスに提供するために実施して、ウェブアセット(例えばウェブページ、ウェブサイト等)のようなアセットを表示することができる。
)、企業情報(例えば頻繁な業務連絡および連絡の種類のリスティング等)も、イメージングデバイスにより必要とされ得るフォント情報を決定するためにフォントサービスプロバイダー214により保存され得る。他の種類のアーキテクチャーおよびネットワーキング技術も、ソフトウェアエージェントおよびフォント情報(例えばフォントセット、サブセット等)をイメージングデバイスに提供するために実施して、ウェブアセット(例えばウェブページ、ウェブサイト等)のようなアセットを表示することができる。
幾つかの配置では、フォントサービスプロバイダーに提供される情報(例えば、必要なフォント、フォントサブセット等の識別および提供に)には、環境の特徴付けに関連する属性を含むことができる(例えばフォントプロバイダー214とイメージングデバイスとの間の通信リンク)。そのような情報は個別に、または他の情報、例えばウェブアセットのコンテンツから集めた情報と共同して使用することができる(例えばウェブアセットに含まれるフォント、フォントの文字等を識別するために、アセットファイル(1もしくは複数)210からスキャンされた情報)。他の提供される属性には、ウェブアセットの構造的属性(文書のレイアウトに関する情報、およびアセットに含まれる段落数、改ページ、アセットに存在する行あたりの文字数等のようなマトリックス)を含むことができる。属性には、アセットを表示するコンピューティングデバイス(例えばデバイスの種類、デバイスにより使用される操作システム、デバイスにより実行されるアプリケーション等)、デバイスの位置(例えば地理上の位置、例えばユーザーの母国語の識別を補助するために)、企業情報(例えばフォント情報がすでに同様の会社のデバイスに送信されたかどうかを決定するためのデバイスを所有する会社等)に関連する情報を含むことができる。多種類の情報を使用すると共に(例えば通信特性、ウェブアセットコンテンツ、地理上の位置等)、事前に保存した情報を適切なフォント情報(例えば一つのフォントサブセット、完全なフォントセット等)を決定するために使用して、1もしくは複数のイメージングデバイス(例えばコンピューターシステム202、タブレット型コンピューティングデバイス114、プリンター116)に提供することができる。例えば、データベース(例えばフォントデータベース224)からの情報を、そのような決定に使用することができる。他の種類の事前に保存した情報も使用でき、例えば事前に集めた通信特性(例えばリンクするためのデータ転送速度)、アセット属性(例えばウェブページ構造)、地理的情報、企業レベルの情報等も、決定を行うために使用できる。
これら様々なソースからの情報を個別に、または共同して使用することにより、適切なフォント情報(例えば1もしくは複数の不在フォント、1もしくは複数のフォントサブセット等)を識別するようになされ得る適切な決断が準備され、そしてフォントサービスプロバイダー214によりコンピューティングデバイス(例えばコンピューターシステム202)に送信されるべきである。決定に使用される属性は、比較的静的または動的と考えることができるが、例えばウェブアセットのコンテンツは比較的静的であることができ、環境特性(例えばフォントプロバイダーとクライアントデバイスとの間の通信リンクの特性)は、時間(例えば1日の中でデータ転送速度が変化する)および位置(例えばデータ転送速度は、異なる場所へ移動するクライアントデバイス、モバイル装置により変化する)で変動する可能性がある。この変動のため、1もしくは複数の技術を実施することができ、それで動的属性(例えば通信特性)に関して比較的最新の値を決定に使用できる。例えば1もしくは複数の環境特性(例えば通信リンク特性、クライアントデバイスの能力)をモニターし、そしてそのような決定で使用するために集めることができる。様々な種類のデータモニタリングおよび収集技術を実施することができ、例えば1もしくは複数の通信リンク特性は、受動的、能動的等にイメージングデバイス(例えばコンピューターシステム202)、フォントサービスプロバイダー214により、またはユーザーのデバイスとフォントサービスプロバイダーが共同して実行する操作により集められる。ユーザーのコンピューティングデバイスおよびフォントサービスプロバイダー214とは別の装置も実施することができる。情報は1もしくは複数のユーザーのコンピューティングデバイス
、フォントサービスプロバイダー214およびフォントの決定を補助する可能性がある他のデバイス間で交換することもでき(例えば不在フォントを識別し、フォントサブセットを作成するなど)、例えばユーザーのコンピューティングデバイス(例えばディスプレイ能力等)の特性は、フォントサービスプロバイダー214に提供することができる。このように様々な装置、通信リンク等に関連する環境特性は、そのようなフォントの決定に使用することができる。
、フォントサービスプロバイダー214およびフォントの決定を補助する可能性がある他のデバイス間で交換することもでき(例えば不在フォントを識別し、フォントサブセットを作成するなど)、例えばユーザーのコンピューティングデバイス(例えばディスプレイ能力等)の特性は、フォントサービスプロバイダー214に提供することができる。このように様々な装置、通信リンク等に関連する環境特性は、そのようなフォントの決定に使用することができる。
図3を参照にして、図300はイメージングデバイス(例えばコンピューターシステム202)に提供されるべき適切なフォント情報(例えば完全なフォントセット、フォントサブセット等)を決定するために、情報を集めるための幾つかの可能な操作を表す。この特定の配置では、フォントの決定のために、1もしくは複数の属性(例えば不在フォント情報、アセット構造情報、環境特性等)がイメージングデバイスにより集められ、そしてフォントサービスプロバイダー214に提供される。そのような属性収集を行うために、イメージングデバイス(例えばコンピューターシステム202)は、1もしくは複数の操作を実行することができ、例えば通信リンク302の1もしくは複数の特性が、コンピューターシステム202により測定され、そして処理のためにフォントサービスプロバイダー214に提供され得る。同様にアセット(例えばウェブページのようなウェブアセットのアセットファイル(1もしくは複数))からのコンテンツは、フォントサービスプロバイダー214に提供するために集めることができる。他の種類の属性も集められ、そして様々な実施を通して提供される。例えばこの配置では、環境モニター304がコンピューターシステム202により実行されて属性として環境特性情報を集める。イメージングデバイス(例えばコンピューターシステム202)はそのような環境特性を集めるように説明されると同時に、そのような操作は他の場所で、個別に、またはイメージングデバイスでの操作と組み合わせて実行することができる。例えば環境特性(例えば通信リンク302の)は、フォントサービスプロバイダー214により測定そして定量されることができる。1つの配置では、サーバー222はイメージングデバイスに送信すべき適切なフォント情報(例えばフォントセット、フォントサブセット)の決定を補助するために、通信リンクに関する情報を集めることができる。
属性を集めるこの例を続けると、環境特性の典型である様々な種類の情報を集めることができる。例えば幾つかの特性は、データを1もしくは複数のイメージングデバイス(例えばコンピューターシステム202)とフォントプロバイダー214との間で転送するための通信リンク(例えばリンク302)の能力を反映することができる。そのような特性は情報を転送する時間、速度等と関連し得る。通信リンク302の処理能力、帯域幅、伝達速度などは、環境モニター304により測定および定量することができる。情報の移動と共に、デバイス間(例えばコンピューターシステム202、サーバー222)の通信を樹立することも、提供されるフォント情報の決定用にモニターすることができる。例えば接続特性(例えば接続速度、帯域幅、HTTPハンドシェイクレイテンシ等)、オーバーヘッド時間(例えばフォント情報に関するリクエストを送信し、そして処理するために必要な時間など)、コンピューターシステム202とサーバー214との間のデータ接続を樹立するために必要な時間を測定し(例えば環境モニター304により)、そしてフォントサービスプロバイダー214に提供することができる。1もしくは複数のイメージングデバイスとフォントサービスプロバイダー214との間の通信リンク302をわたる情報転送に関連する他の量を識別することができる。例えば1もしくは複数のイメージングデバイス(および/または中間のコンピューティングデバイス)および/またはフォントサービスプロバイダー214により使用されるプロトコール(例えばインターネットプロトコール(IP))を識別し、そしてフォントの決定に使用することができる。イーサネット、DSL、Cable、FIOSは識別され得る幾つかのプロトコールタイプの例である。通信リンク302がワイヤード(wired)またはワイヤレス(wireless)通信技術(例えばワイヤード、ワイヤレスアクセスポイント等)を含むかどうかも決定
の要因となり得る。デバイスのオプション、選択したサービス、接続オプションの範囲(GPRS/Edge、3G、4G等)もリンク能力における変化についてモニターすることができる。例えば想定される接続速度は比較的早いと考えることができるが(例えば3Gまたは4Gネットワ−クに接続するモバイルデバイス)、実際の信号強度および接続速度はそれでも時間で変動し、そしてデータ転送能力(例えばウェブページのダウンロード時間)およびユーザーの体験に悪影響を及ぼす恐れがある。
の要因となり得る。デバイスのオプション、選択したサービス、接続オプションの範囲(GPRS/Edge、3G、4G等)もリンク能力における変化についてモニターすることができる。例えば想定される接続速度は比較的早いと考えることができるが(例えば3Gまたは4Gネットワ−クに接続するモバイルデバイス)、実際の信号強度および接続速度はそれでも時間で変動し、そしてデータ転送能力(例えばウェブページのダウンロード時間)およびユーザーの体験に悪影響を及ぼす恐れがある。
通信リンク302に関連した情報と同様に、他の種類の属性も集め、そしてサブセット決定のためにフォントサービスプロバイダー214に提供することができる。例えば1もしくは複数のイメージングデバイスの特性を提供することができる。そのような特性は、イメージングデバイス(例えばコンピューターシステム202、プリンター116)の表示能力(例えばスクリーンサイズおよび解像度のようなスクリーンの仕様、プリンターの種類)、処理(例えばデバイスが使用する操作システム、デバイスが実行するブラウザの種類)および保存能力等に関連する可能性があり、これらはデバイスに送信されるべき適切なフォント情報を決定するために(例えばデバイスに存在しないフォントを指定するために送られたフォント)、フォントサービスプロバイダー214により提供され、そして使用されることができる。そのようなデバイスの特性は、(例えば環境のモニター304、1もしくは複数のソフトウェアエージェントにより)デバイスでローカルに、(例えばフォントサービスプロバイダー214により)遠隔的に、またはローカルおよび遠隔操作の組み合わせにより識別することができる。
環境モニター304は1もしくは複数の配置で実施されて、イメージングデバイス(例えばコンピューターシステム202)でのモニタリング機能を提供することができる。例えば環境モニター304は、1もしくは複数の方法論(例えばフォントサービスプロバイダー214からダウンロードされるか、またはそれにより提供される)を介してコンピューターシステム202に提供することができる1もしくは複数のエージェント(例えば図2に示すエージェント212と同様の)として実施することができる。1もしくは複数のアプリケーション(例えばウェブブラウザ)も環境モニター304を実施することができる。情報を集めること(例えばフォントサービスプロバイダー214に提供されるべき)と共に、環境モニター304は、集めたデータおよび関連する情報についてデータを追跡し、および統計分析を行うような追加の機能を提供することができる。集め、そして処理した情報は次にフォントの決定および処理(例えばフォントのサブセット化を至適化するために)を補助するため、フォントサービスプロバイダー214に提供することができる。
動的に実行し、そしてそのようなフォントに基づく決定をするために(例えば不在フォントを供給し、適切なフォントサブセットを作成するなど)、1もしくは複数の技術がフォントサービスプロバイダー214により実施され得る。説明する例では、フォントサービスマネージャー306がサーバー222(フォントサービスプロバイダー214に位置する)により実行される。イメージングデバイス(1もしくは複数)からフォントサービスプロバイダー214に提供される情報(例えば環境特性的属性を他の属性と一緒に含むメッセージ308)から、フォントサービスマネージャー306は適切なフォント情報(例えばフォント情報ファイル310により表される)がイメージングデバイス(例えばコンピューターシステム202)に送信されるべきことを決定する。幾つかの配置では、フォント情報(例えば不在フォント、フォントサブセット等)が準備され、そして属性情報の配信に基づき送信される(例えばメッセージ308はフォントサービスプロバイダー214により受信される)。それまでに作成されたフォントセットおよびサブセットも、属性情報の配信に基づき送信されることができる。例えばこれまでに経験した条件、以前に提供されたアセットの構造属性などにより、1もしくは複数のフォント、フォントサブセット等を、1もしくは複数のイメージングデバイスに配信するために準備することができ
る。送信されると共に、準備されたフォント情報は他の場合(例えば同じアセットが別のイメージングデバイスで表示されることを目的とする場合、同様な環境特性が体験される場合など)に送信するためにも保存されることができ、これにより1もしくは複数のこれまでに準備したフォント、フォントサブセット等をフォントサービスプロバイダー214が再使用できるようになることにより効率が上がる。
る。送信されると共に、準備されたフォント情報は他の場合(例えば同じアセットが別のイメージングデバイスで表示されることを目的とする場合、同様な環境特性が体験される場合など)に送信するためにも保存されることができ、これにより1もしくは複数のこれまでに準備したフォント、フォントサブセット等をフォントサービスプロバイダー214が再使用できるようになることにより効率が上がる。
フォントの決定を実行することに加えて(例えばイメージングデバイスに不在のフォント情報を識別し、そして準備する)、フォントサービスマネージャー306は他の種類の機能も提供することができる。例えばイメージングデバイスから提供されるデータをさらに処理し、そして保存することができる(例えば記憶装置220により)。幾つかの配置では、そのような処理には、例えば環境特性を予想するためのモデル、異なる種類のイメージングデバイスと以前に識別した不在フォントとの関連データベース等を開発することを含むことができる。例えば一定期間にわたる通信リンク302(例えば処理能力、帯域幅等)の1もしくは複数の特性を代表する受信したデータ(例えばイメージングデバイスから)に基づき、環境特性を予測するためのモデルを開発することができる(例えば特定時間の処理能力の予想)。またデータ処理は、種々の入力された考察に関して以前に行った決定(例えばフォント、フォントサブセット等を提供するために)のような情報を保管するためのレポートを作成する(そして保存する)ことも含むことができる。例えば特定のコンテンツ(例えばウェブアセット)を特定のイメージングデバイスに、そして特定の条件下(例えば通信リンクの処理能力)で表示するために、フォントサービスマネージャー306は特定のフォントのサブセッティング(またはそうではなくフォントの完全な文字組を提供すること)の決定に到達できる。この決定およびこの決定を導く条件を反映する情報を保存することにより、フォントサービスマネージャー306は条件が再度発生したことを認識すれば先々の決定を処理することができる。またフォントサービスマネージャー306はフォントを調整するための操作、例えば作成したテキストの明瞭性および可読性を改善するために、フォントを調整するための操作を実行することができる(例えば特定の操作システム、フォントエンジン、イメージングデバイスのスクリーン解像度、または印刷能力等についてフォントヒンティングを最適化する)。
図4を参照にして、フォントサービスプロバイダー214のフォントの決定が、動的に変化し得る様々な属性(例えばアセットを表示するためのイメージングデバイスの種類、クライアントデバイスの位置のような環境特性等)に依存する可能性があることを具体的に説明する図400を表示する。図3と同様に、例えばイメージングデバイス(例えばプリンター)に不在のフォントセット(ストレージデバイス220から)のような状況に関して、1もしくは複数のフォントのサブセットを1もしくは複数のイメージングデバイスに提供するかどうかなどの決定は、サーバー222により実行されるフォントサービスマネージャー306により提供される。この特定の説明する例では、イメージングデバイスの位置がフォントサブセッティングに関する属性の決定として役立つ。例えばタブレット型のコンピューティングデバイス402により実行されている環境モニター401は、相対的に高い処理能力の通信リンクがフォントサービスプロバイダー214と樹立され得ることを感知する。好ましい通信特性(ウェブページのようなアセットを表示するために必要な1もしくは複数のフォントの不在のような他の属性情報と一緒に)を反映するために、通信リンク404が樹立され、そしてメッセージ406がフォントサービスプロバイダー214に送信される。例えばタブレット型のコンピューティングデバイス402は、フォントサービスプロバイダー214とのWi−Fi通信(例えばインターネットを介して)を提供する場所に存在できる。このように大きいデータファイル(例えばフォントセットを含む)は一般に、相応の時間(reasonable amount of time)でタブレット型のコンピューティングデバイス402に転送され得る。この処理能力特性(および潜在的な他の情報)から、フォントサービスマネージャー306は、ユーザーの閲覧体験を下げることなく関連するウェブアセットのコンテンツを表示するために、
相応の期間内(reasonable time period)で完全なフォントセット(例えばフォント情報ファイル408により表される)がタブレット型コンピューティングデバイス402に送信され、受信され、そして処理され得ることを決定する。
相応の期間内(reasonable time period)で完全なフォントセット(例えばフォント情報ファイル408により表される)がタブレット型コンピューティングデバイス402に送信され、受信され、そして処理され得ることを決定する。
別の状況では、他の環境が適切な処理能力レベルを提供する能力を欠く恐れがあり、そしてフォントサービスプロバイダー214は、適切な閲覧体験を提供するために(イメージングデバイスに不在の1もしくは複数のフォントセットを転送するために)フォントのサブセッティングが必要であることを決定することができる。例えばラテン語のフォントは一般に保存に関しては比較的小さいファイルサイズを必要とし、そしてラテン語を基本とする言語が話されている地域での処理量レベルは十分に大きいので、完全なフォントセットをイメージングデバイスに相応の時間で転送することが可能となると考えられる。残念なことに、双方の仮定(ファイルサイズおよび処理能力について)は絶えず修正されることはできず、そして例えば遅い接続で配信される平均ファイルサイズより上のラテン語フォントは、ユーザーへのアセットの表示にかなりの遅れを引き起こす恐れがある。さらに環境特性は変化する可能性があり、イメージングデバイスの位置などが変わる時は一定時間にわたり極めて劇的に変化する場合もある。このように環境特性は環境モニター401および/またはフォントサービスマネージャー306により頻繁にモニターされ得る。例えばフォントサービスプロバイダー214は、通信リンクを樹立した1もしくは複数のイメージングデバイス(例えばタブレット型コンピューティングデバイス402)から、条件の更新をリクエストすることができる(例えばリクエストを更新するために、周期的なポーリングメッセージがフォントプロバイダー214から送信され得る)。幾つかの配置では、イメージングデバイスが条件の更新を管理することができる(例えば環境モニター401は、パワーアップ、リセット等のような事象に基づき、周期的間隔で更新を送信する)。
この図面で説明するように、遠隔に位置するプリンター410は、その現在の位置によるデバイスの受信能力およびそのネットワーク接続の状態(例えば良くない処理能力を体験している)のような環境情報を集め、そしてこれらの属性(潜在的には例えばデバイスの限られた処理およびストレージ能力を反映する他の属性、1もしくは複数の不在フォントなどと一緒に)をメッセージ414でフォントサービスプロバイダー214に提供する(例えば低処理能力のワイヤレス通信リンク416を通じて)環境モニター412を実行することができる。例えばメッセージ414は、印刷されることになるがプリンター410に存在しない、アセットにより使用される1もしくは複数のフォントを識別する情報を含むことができる。この乏しい処理能力および限られたデバイスの能力の属性を仮定すると、フォントサービスマネージャー306は、アセットのコンテンツ(例えば電子文書、ウェブアセット等)を合理的な時間枠で処理し、そして印刷でき、プリントアウトがもともと書いたようにアセット(例えばウェブページ)を表さないことに閲覧者がイライラしないように、フォントのデータをプリンター410に提供するためにフォントのサブセッティングが必要であることを決定できる。フォントサブセットの必要性は、イメージングデバイス(例えばプリンター410)の効率的操作のためにも決定できる。例えばフォントのサブセットは、プリンター410が効率的かつ実質的に連続的様式で作動するように提供されることができる(例えば電子文書の1ページが印刷される場合、1もしくは複数の続くページの印刷に使用するためにプリンターによりフォントのサブセットが受信され、そして処理される)。この筋書きに基づき、1もしくは複数のフォントサブセットがフォントサービスプロバイダー214により作成され、そしてプリンター412に送信されて(例えば説明するように、通信リンク416を介してフォント情報ファイル418中に)、アセット(例えば電子文書、ウェブアセット等)を印刷するために必要なフォント情報を提供することができる。このように低減した情報量がプリンターに提供され、それでももともと作成されたアセットの表示を印刷するために十分な情報を提供する。
環境特性(例えば通信リンク処理能力レベル、クライアントデバイスの能力等)をモニタリングすると共に、フォントサービスプロバイダー214はフォントが1もしくは複数のイメージングデバイスに配信される前にサブセットされるべきかどうかを決定するために、他の属性および情報を使用することができる。1つの配置では、(表示されるべき)アセットのコンテンツを決定の補助に使用できる。例えば1つのフォントのかなりの割合の文字が必要な場合(例えばウェブアセットの第一ページを表示するために1つのフォントの80%の文字が必要)、このフォントの文字の完全な組をイメージングデバイスに送信することが最適と考えられる。コンテンツに基づく情報も、特定のアセットのソース(1もしくは複数)に関連させることができる。さらに幾つかの配置では、フォントのサブセッティング決定を補助するために、ソース属性をデバイスの能力属性と共に使用することができる。例えばウェブサイトは、モバイルデバイス(例えばスクリーンサイズ、処理力、限定されたモバイルブラウザの機能等)のような特定のイメージングデバイスに固有の能力を説明するために設計された異なるコンテンツオプションを支援することができる。そのような差異の一例は、より慣習的なイメージングデバイス(例えばデスクトップ型コンピューターシステム、ラップトップ型コンピューターシステム等)用に準備されたウェブサイト(例えばHTTP://www.yahoo.com)に対して、相対的にさらに限られたイメージングデバイス(例えばスマートフォン)のために設計されたウェブサイト(例えばHTTP://m.yahoo.com)のコンテンツおよびスタイリング(styling)である。幾つかの配置では、環境モニター401はエージェントとして実施されてもよく、そしてイメージングデバイスが1つのタイプ(例えばPCに基づくデバイス)または別のタイプ(例えばモバイルデバイスデバイス)かどうかを決定するために利用することができる。このようにイメージングデバイスおよびそれらの能力属性はモニターされ、そして他の環境特性と共に(他の属性と一緒に)使用されて、1もしくは複数のフォントがクライアントデバイスに伝達される前にサブセットにされるべきかどうかを動的に決定することができる。
他の技術および方法論を、環境属性(例えばイメージングデバイスの)、アセットコンテンツおよび属性、イメージングデバイスの属性等に基づきフォントの配信を最適化するために実施することができる。例えばフォントのサブセッティングはウェブアセットのある部分について実行され(フォントサービスプロバイダー214により)、そしてアセットの別の部分には行わなくてよい。例えば低い処理能力の通信リンクにより、1もしくは複数のフォントサブセットは、アセットの一部分として(例えばウェブページの組のようなウェブアセットの第一ページ)表示するために、イメージングデバイスに提供され得る。その部分(例えば第一ページ)が表示されている間(そして恐らく閲覧者により見られていると思われる)、アセット(例えばウェブアセットの残りのページ)の他の部分(1もしくは複数)を見るために、完全なフォントセットおよび/またはフォントサブセットが準備され、そしてウェブアセットへ送信される。アセットの続きの部分に関するフォント情報の転送を開始することは、1もしくは複数の期間について計画することができる。例えばフォント情報(例えばフォントサブセット、完全なフォントセット等)の送信の準備は、フォント情報が準備され、そしてアセットの初期部分が送信された時に開始することができる。幾つかの配置では、アセットの初期部分に関するフォント情報を準備し、そして送信した後に、アセットの後の部分に関するフォント情報を準備し、そして送信することができる。このようにより先に送信されたフォント情報はイメージングデバイスにより表示されているコンテンツを直ちに利用できるので(例えばレンダリング)、フォント情報は、フォントサービスプロバイダー214からバックグラウンドに送信することができる。そのような操作は、第一ページを表示するために必要な時間を減らす(例えば最少とし)と同時に、残りの続くページビュー(view)に関する完全なフォントの機能を可能にする。また他のプロポーショニング(proportioning)スキームもフォント情報の配信に実施することができ、例えば少ない記憶スペースを要求する、ウェブアセットによる使用頻度が高いフォントが使用のために最初に送信される一方、使用頻度
が低いより大きなフォントセット(例えばサブセット、完全なセットなどの)は、バックグラウンドに後で送信されることができる。他のフォントサブセッティング配置と同様に、いったんフォントサブセットが作成されれば(例えば低い処理能力接続を介してイメージングデバイスに配信するために)、このサブセットは再使用のために保存され得る(例えばイメージングデバイス220に)。例えばいったん作成され、そして保存されれば、フォントサブセットは現在の環境特性(例えば処理能力、接続速度等)にかかわらず、他のイメージングデバイスで再使用することができる。
が低いより大きなフォントセット(例えばサブセット、完全なセットなどの)は、バックグラウンドに後で送信されることができる。他のフォントサブセッティング配置と同様に、いったんフォントサブセットが作成されれば(例えば低い処理能力接続を介してイメージングデバイスに配信するために)、このサブセットは再使用のために保存され得る(例えばイメージングデバイス220に)。例えばいったん作成され、そして保存されれば、フォントサブセットは現在の環境特性(例えば処理能力、接続速度等)にかかわらず、他のイメージングデバイスで再使用することができる。
フォントサービスマネージャー306および/または環境モニター401、412は他の種類の機能を提供することができる。例えばウェブアセットのコンテンツ(例えばウェブページ)は、変更(例えば加えられた、削除された、調整されたコンテンツ等)についてフォントサービスマネージャー306により(遠隔で)モニターされ得る。1もしくは複数のソース(例えば多数のウェブサイトからのコンテンツを含むウェブページ)から提供され得る変更がコンテンツ内で検出された場合、フォントサービスマネージャー306は、1もしくは複数のサブセットを動的に作成し、以前に準備されたサブセット等を調整することができる。このようにフォントサブセットおよび1もしくは複数のサブセットをイメージングデバイスに送信する決定は、ウェブアセットがリクエストされる前にフォントサービスマネージャー306により決定されることができ、これによりリクエストされた時に直ちにダウンロードできるフォントまたはフォントサブセットの作成にフォントプロバイダー214が応答する時間を減少する。
環境属性(例えばイメージングデバイスにフォントデータを転送するために達成可能な処理能力、帯域幅分析、通信オーバーヘッドを表す統計等)に加えて、アセットのコンテンツに関する属性(例えばリクエストしたウェブページに存在するフォント、完全なフォントファイルサイズ等)も、フォントサブセットを作成し、そしてイメージングデバイスに送信するかどうかの決定に含めることができる。1もしくは複数の技術を、リクエストしたアセット(例えばウェッブアセット)に関する情報を集めるために利用することができる。例えば1もしくは複数のエージェントがイメージングデバイスにより実行されて(フォントサービスプロバイダー214からダウンロードされた後)、情報を得、そしてこれを他の属性(例えば環境特性)で分析するためにフォントサービスプロバイダー214に提供することができる。この情報から、フォントサービスプロバイダー214はフォントのダウンロード時間を最少にすることを目標にフォントのリクエストの処理を最適化することを試みることができ、同時に不要な処理工程を排除し、サーバーの応答時間等を最適化することなどにより、(例えばサーバー222の)計算操作を最適化する。
図5を参照にして、図500は適切なフォント、フォントサブセット等が他の種類のウェブアセットまたはアセットのウェブページの表示用に提供されるように、属性を集め、そしてフォントサービスプロバイダー214に提供するソフトウェアエージェントをイメージングデバイスに備える幾つかの操作を表す。図2で説明するように、ユーザーはコンピューティングデバイスで実行されるウェブブラウザで目的のウェブアセット(例えばウェブページ)を識別すると(例えばURLをウェブブラウザに提供する)、1もしくは複数のアセットファイル(例えばHTMLファイル、CSSファイル等)が対応するウェブページソースからイメージングデバイスに提供され得る。説明するように、そのようなファイル502は、ユーザーに表示するための(ウェブブラウザを介して)コンテンツ504(例えばテキスト、グラフィック、ビデオ、オーディオ等)を含むことができる。またこのファイル502は、ソフトウェアエージェントがイメージングデバイスに提供されることをリクエストするために、1もしくは複数の指令506を含むことができる。指令を実行すると(図面で“Fetchエージェント指令”と表示されている)、リクエスト508の配信は図面で矢印510に示されるようにイメージングデバイス(例えばコンピューターシステム202)からフォントサービスプロバイダー214(例えばサーバー22
2)へ開始されることができる。リクエスト508に応答して、エージェント(例えばエージェント212)はフォントサービスプロバイダー214のサーバー222からコンピューターシステム202に、図の矢印512により表すように送信される。幾つかの場合では、エージェントの配信はファイルが受信された直後に行われることができ、そしていかなる遅れもユーザーに気づかれないかもしれない。幾つかの配置では、他の情報がリクエスト508により提供され得る。例えばフォントサービスプロバイダー214は、1もしくは複数のフォントサブセット等がこのウェブページ用にすでに作成されているかどうかを決定するために、目的のウェブページをリクエストの中で識別することができる(例えば提供されたウェブページのURL)。
2)へ開始されることができる。リクエスト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に含まれなくてもよい。このようにエージェント212は、ページコンテンツ504に含まれる幾つかの文字をサブセットのリクエスト518から排除することができる。
幾つかの配置では、フォントおよびフォントサブセットの決定を補助するために他の情報をエージェント212からフォントプロバイダー214に提供することができる。例えばコンピューターシステム202でローカルに保存されたフォントに関する情報は(例えば常駐フォント、フォントの文字組等の識別)、エージェントにより集めることができ、そしてフォントサービスプロバイダー214に提供することができる。いったん受信されれば、この情報は1もしくは複数のフォント、フォントサブセット等が作成され、そしてコンピューターシステム202に提供される必要があるかどうかを決定し、そしてどのフォント、フォントサブセット等が作成され、そして配信されるかなどを識別するような、1もしくは複数の手順に使用できる。またこの情報は、フォント、フォントサブセットの決定に関連しない手順に使用することもでき、例えばフォントサービスプロバイダーは後に検索し、そして使用するために(例えばコンピューターシステム202に在住するフォントの追跡)、情報を保存するか、または情報を保存させることができる(例えば記憶す
るために情報を別の設備に提供する)。1もしくは複数のイメージングデバイス(例えばコンピューターシステム202、プリンター116等)にあるフォントおよびフォント情報、ならびに各デバイスにすでに提供されたフォント情報(例えば配信されたフォントサブセット)をモニタリングすることにより、フォントプロバイダー214は余分なデータ転送およびフォントデータの重複を減らし、これによりフォント情報の転送およびローカルストレ−ジを最適化する。例えば1もしくは複数のフォント転送技術を、引用により内容を全部、本明細書に編入する2009年6月22日に出願された米国特許出願第12/457,792号明細書の“Font Data Streaming”に記載されているように利用することができる。そのような技術は効率的なアセット表示のために、適切なフォント情報(例えばフォントセット、フォントサブセット等)がイメージングデバイスに転送される(例えばプリンター操作が効率的かつ実質的に連続的に実行するように、フォント情報を転送する)ことを補助することができる。
るために情報を別の設備に提供する)。1もしくは複数のイメージングデバイス(例えばコンピューターシステム202、プリンター116等)にあるフォントおよびフォント情報、ならびに各デバイスにすでに提供されたフォント情報(例えば配信されたフォントサブセット)をモニタリングすることにより、フォントプロバイダー214は余分なデータ転送およびフォントデータの重複を減らし、これによりフォント情報の転送およびローカルストレ−ジを最適化する。例えば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もしくは複数)、フォントサブセット(1もしくは複数)等についてのリクエスト518が提供されれば、サーバー222はこの情報を追加の情報(例えば環境属性および他の属性)と共に使用して、1もしくは複数の必要なフォント、フォントサブセットを作成し、そしてイメージングデバイスに応答することができる。例えば図面の矢印522で示すように、フォントファイル216(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ファイルは、コンピューターシステム(ファイルを実行する)にローカルに保存されたフォントが特定の文字を表すために使用される場合を含むことができる。このようにフォントはコンピューターシステムに対して外部のソースから得る必要はない。例示のHTMLファイル600の指令608は、そのような出来事を説明している。この場合、文字“M”,“P”および“Q”は、特定のフォントについてURLなしで指令608により呼び出される。このようにファイル600を実行しているコンピューターシステムに対してローカルなフォントを使用して、文字“M”,“P”および“Q”を表示することができる。フォントまたはフォントサブセットはこれらの特定の文字について必要ではないので、エージェントはこれらの文字をリクエスト518に含まない。しかしこれらの文字はこの特定のフォント用にローカルに保存されるが、1もしくは複数のこれらの文字が、コンピューターシステムに対して外部のソースから得るフォントで必要とされる時に、“M”,“P”および/または“Q”を呼び出すファイル600中の別の指令(示さず)に基づく別のフォントに関するリクエストに含めることができる。
い文字を見つけることができる。例えばHTMLファイルは、コンピューターシステム(ファイルを実行する)にローカルに保存されたフォントが特定の文字を表すために使用される場合を含むことができる。このようにフォントはコンピューターシステムに対して外部のソースから得る必要はない。例示の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の一部を図に表示する。
ォンサービストプロバイダーの地理上の位置、達成可能な転送速度のようなデータ転送属性など)に関連する所定の規則に基づき、完全なフォントセットも比較的少ない文字を含む識別されたフォント用に送信されることができる。識別された唯一の文字および対応するフォントを提供するために、この機能を提供することができるコード900の一部を図に表示する。
図10を参照にして、流れ図1000はフォントサービスマネージャー(例えば図3に示すフォントサービスマネージャー306)の操作を表す。フォントサービスマネージャー306の操作は、一般に一つのコンピューティングデバイス(例えばサーバー222)により実行されるが、フォントサービスマネージャーの操作は複数のコンピューティングデバイスにより実行してもよい。一つ場所(site)で実行されると共に(例えばフォントプロバイダー214)、操作の実行は2以上の場所(location)に分配されることもできる。
フォントサービスマネージャーの操作は、イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信すること1002を含むことができる。リクエストは、アセットのテキストコンテンツの1もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送信される。例えばアセットに関連する属性(例えばフォントはウェブページのようなアセット、段落数、行あたりの文字数等を含む)イメージングデバイスの属性(例えばデバイスのメモリーに存在するフォント、イメージングデバイスの識別情報、ディスプレイの解像度、スクリーンサイズ、デバイスにより実行されているウェブブラウザ等)、イメージングデバイス(例えばタブレット型コンピューティングデバイス、スマートフォン、プリンター等)とフォントサービスプロバイダーの装置(例えばサーバー222)との間の通信リンクの量を表すことができる環境属性(例えば処理能力、接続樹立時間、帯域幅等)。またフォントサービスマネージャーの操作は、アセットを表示するためにイメージングデバイスから受信した1もしくは複数の属性から適切な量のフォント情報を識別すること1004を含むことができる。例えば提供された属性に基づき、フォントサービスサブセットマネージャーは、どのフォントがイメージングデバイスに提供される必要があるかを決定することができる。さらにフォントサービスマネージャーは、フォントサービスプロバイダーからイメージングデバイスへのフォントの効率的転送に、(ウェブアセットにより使用される)1もしくは複数のフォントをサブセットにするかどうかを決定することができる。受信した属性を使用すると共に、以前に保存した属性のような他の情報、および他の情報(フォントサービスプロバイダーでの)をこの決定を行うために使用することができる。またフォントサービスマネージャーの操作は、アセットを表示するために、識別したフォント情報をイメージングデバイスに提供すること1006を含むことができる。例えばアセットのコンテンツを表示するための適切なフォント文字を提供するために、1もしくは複数のフォント、フォントサブセット等が必要と決定された場合、フォントサービスマネージャーはこのフォント情報を準備し、そしてイメージングデバイスに転送し始めることができる。
図11を参照にして、流れ図1100はソフトウェアエージェント(例えば図2に示すエージェント212)の操作を表す。言及したように、ソフトウェアエージェント212の操作は、一般に一つのコンピューティングデバイス(例えばコンピューターシステム202)により実行されるが、ソフトウェアエージェントの操作は複数のコンピューティングデバイスにより実行してもよい。一つの場所で実行されると共に(例えばイメージングデバイスの場所)、操作の実行は2以上の場所に分配することができる。
ソフトウェアエージェントの操作は、1もしくは複数のアセットのテキストコンテンツを表すデータを受信すること1102を含むことができる。例えばソフトウェアエージェ
ントは、様々な種類のアセットおよびウェブアセット(例えば、ウェブサイト、ウェブページ等)を表すデータを、1もしくは複数のソース(例えばウェブサイトソース、リポジトリ等)から受信することができる。ソフトウェアエージェントの操作は、1もしくは複数のアセットのテキストコンテンツを表示するために、イメージングデバイスでのフォントの識別が存在しないかどうかを決定するために、テキストコンテンツを表すデータを解析すること1104も含むことができる。例えばエージェントは、アセットのコンテンツに存在するフォント、文字等を識別し、そしてイメージングデバイスにあるローカルメモリー、リスティング等をチェックして、1もしくは複数の識別したフォントがデバイスに不在(例えばデバイスのメモリーに存在しない)かどうかを決定することができる。また操作は、1もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためのリクエストを、フォントサービスプロバイダーに送信すること1106も含む。このリクエストは、ユーザーの入力無しでフォントサービスプロバイダーに送信される。例えばソフトウェアエージェントは、アセットにより使用されるがイメージングデバイスには不在と識別されたフォントを含むリクエストの作成を開始することができる。いったん作成されれば、このリクエストは修正措置を取るためにフォントサービスプロバイダーに送られることができる(例えば不在フォントを表すデータを送信する)。また修正措置は、1もしくは複数のフォントサブセットがアセットのコンテンツに基づき適切かどうかを決定し、そして目的のアセットの効率的表示のためにそのようなサブセットをイメージングデバイスに送信することを含むことができる。
ントは、様々な種類のアセットおよびウェブアセット(例えば、ウェブサイト、ウェブページ等)を表すデータを、1もしくは複数のソース(例えばウェブサイトソース、リポジトリ等)から受信することができる。ソフトウェアエージェントの操作は、1もしくは複数のアセットのテキストコンテンツを表示するために、イメージングデバイスでのフォントの識別が存在しないかどうかを決定するために、テキストコンテンツを表すデータを解析すること1104も含むことができる。例えばエージェントは、アセットのコンテンツに存在するフォント、文字等を識別し、そしてイメージングデバイスにあるローカルメモリー、リスティング等をチェックして、1もしくは複数の識別したフォントがデバイスに不在(例えばデバイスのメモリーに存在しない)かどうかを決定することができる。また操作は、1もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためのリクエストを、フォントサービスプロバイダーに送信すること1106も含む。このリクエストは、ユーザーの入力無しでフォントサービスプロバイダーに送信される。例えばソフトウェアエージェントは、アセットにより使用されるがイメージングデバイスには不在と識別されたフォントを含むリクエストの作成を開始することができる。いったん作成されれば、このリクエストは修正措置を取るためにフォントサービスプロバイダーに送られることができる(例えば不在フォントを表すデータを送信する)。また修正措置は、1もしくは複数のフォントサブセットがアセットのコンテンツに基づき適切かどうかを決定し、そして目的のアセットの効率的表示のためにそのようなサブセットをイメージングデバイスに送信することを含むことができる。
図12は、ホストストレージデバイスを提供し、そしてホストストレージデバイスにクライアントデバイス1202(例えばイメージングデバイス)からアクセスするためのシステム1200の例を表すブロック線図である。幾つかの実施では、ホストストレージサービス1220が、互いに離れて作動しているコンピューティングデバイスで実行しているアプリケーション(例えばウェブブラウザ)により保存されたデータ(例えばフォント情報)へのアクセスを提供し、オフサイトデータバックアップを提供して機能を復元し、限定されたストレージ能力でコンピューティングデバイスへデータストレージを提供し、かつ/またはコンピューティングデバイスで実施されないストレージ機能を提供することができる。
システム1200はデータリソーシズを保存するためのスケーラブルストアを提供することができる。クライアントデバイス1202は、データリソーシズをホストストレージサービス1220にアップロードし、そしてアップロードしたデータリソーシズへのアクセスを制御することができる。アクセス制御は、一連の共有レベルを含むことができる(例えば個人用、1もしくは複数の個人との共有、1もしくは複数のグループとの共有、公的など)。ホストストレージサービス1220に保存されたデータは、不正アクセスから保護されることができる。ホストストレージサービス1220は単純かつ持続的なアプリケーションプログラミングインターフェイス、すなわちAPIを使用することができ、これは任意の量の構造化または非構造化データが個人的に保管されるか、または個人間、組織間、または世界の一般大衆で共有できるようにする。クライアントデバイス1202は、多くの様々な理由によりホストストレージサービス1220のデータにアクセスし、検索し、提供され、保存等をすることができる。例えばデータは商用のために(例えばホストストレージサービス1220でフォントデータに関するクリアランスのアクセスを得るための識別情報を提供する)、あるいは他のサービスによるデータ処理に使用するために保存することができる。
クライアントデバイス1202は、図13に関連して記載したコンピューティングデバイス1300またはモバイルデバイス1350のようなコンピューティングデバイスを使用して実施することができる。クライアントデバイス1202は、インターネットのようなネットワーク1204を介してホストストレージサービス1220と通信することがで
きる。クライアントデバイス1202は、例えば1もしくは複数のトランスミッションコントロールプロトコール/インターネットプロトコール(TCP/IP)、ハイパーテキストトランスファープロトコール(HTTP),セキュアシェルリモートプロトコール(SSH)、またはアプリケーションプログラムインターフェイス(API)のようなコミュニケーションプロトコールを使用してネットワークを渡って通信することができる。電子メール(E−メール)プロトコールも利用することができる。例えばホストストレージサービス1220、コンピューティングデバイス1300またはモバイルデバイス1350等のようなコンピューティングデバイスからイメージングデバイス(例えばプリンター)にアセット(例えば電子文書等)を提供するために、1もしくは複数のE−メールプロトコールを使用することができる。一つのクライアントデバイス1202を示すが、ホストストレージサービス1220および/または他のサービスおよびデバイスとネットワーク1204を渡って通信する複数のクライアントデバイスが存在してもよい。
きる。クライアントデバイス1202は、例えば1もしくは複数のトランスミッションコントロールプロトコール/インターネットプロトコール(TCP/IP)、ハイパーテキストトランスファープロトコール(HTTP),セキュアシェルリモートプロトコール(SSH)、またはアプリケーションプログラムインターフェイス(API)のようなコミュニケーションプロトコールを使用してネットワークを渡って通信することができる。電子メール(E−メール)プロトコールも利用することができる。例えばホストストレージサービス1220、コンピューティングデバイス1300またはモバイルデバイス1350等のようなコンピューティングデバイスからイメージングデバイス(例えばプリンター)にアセット(例えば電子文書等)を提供するために、1もしくは複数のE−メールプロトコールを使用することができる。一つのクライアントデバイス1202を示すが、ホストストレージサービス1220および/または他のサービスおよびデバイスとネットワーク1204を渡って通信する複数のクライアントデバイスが存在してもよい。
ホストストレージサービス1220は、クライアントデバイス1202で実行しているクライアントのアプリケーション1203のようなクライアントのアプリケーションが、ホストストレージサービス1220のデータリソーシズを記憶し、検索し、または他に操作できるように実施され得る。ホストストレージサービス1220は1もしくは複数のサーバーデバイスにより実施されることができ、これは図13に関連して記載したコンピューティングデバイス1300またはモバイルデバイス1350のようなコンピューティングデバイスを使用して実施することができる。例えばホストストレージサービス1220は同じか異なるデータセンターで作動する多数のサーバーデバイスにより実施されることができる。
ホストストレージサービス1220は一般に、インターフェイスフロントエンド1206、インターフェイスバックエンド1208、ストレージバックエンド1210、およびメタデータ1216をストレージバックエンド1210に保存されたリソーシズ用に含む。ホストストレージサービス1220は、1もしくは複数のフォントをリクエストしているユーザーに、フォントへのアクセスが提供されるべきかを確認するための認証子1209も含むことができる(例えばサービスサブスクリプション、レンタル期間などに基づき)。
一般にインターフェイスフロントエンド1206は、クライアントデバイス1202からリクエストを受信し、そしてそれに返答を送信することができる。例えばホストストレージサービス1220は、対応するウェブサービスアプリケーションプログラミングインターフェイス(API)のセットを用いてウェブサービスとして実施されることができる。このウェブサービスAPIは、例えばレプリゼンテーショナル ステート トランスファー(REST)−基本 HTTPインターフェイスまたはシンプル オブジェクト アクセス プロトコール(SOAP)−基本インターフェイスとして実施することができる。インターフェイスフロントエンド1206はクライアント1202からのメッセージを受信し、そしてホストストレージサービス1220により使用できるフォーマットにリクエストを解析し、例えばリモートプロシージャコール(RPC)をインターフェイスバックエンド1208に解析することができる。インターフェイスフロントエンド1206は、クライアント1202に伝達するためにホストストレージサービス1220により作成された応答を書くことができる。幾つかの実施では、例えば多数のアクセスプロトコールを支援するために多数のインターフェイスフロントエンド1206を実施することができる。
インターフェイスフロントエンド1206は、例えばデータアクセス用にウェブブラウザ上に表示するためにグラフィカルフロントエンドを含むことができる。インターフェイスフロントエンド1206は、大きいファイルのアップロードおよびダウンロードを管理
できるようにするためのサブ−システムを含むことができる(例えば休止、再開、そしてタイムアウトからの回復のような機能のために)。インターフェイスフロントエンド1206は、例えばサービス拒否(DOS)攻撃を追跡し、そしてそれに対して保護するために負荷情報およびアップデートログをモニターすることができる。
できるようにするためのサブ−システムを含むことができる(例えば休止、再開、そしてタイムアウトからの回復のような機能のために)。インターフェイスフロントエンド1206は、例えばサービス拒否(DOS)攻撃を追跡し、そしてそれに対して保護するために負荷情報およびアップデートログをモニターすることができる。
上記のようにウェブサービスAPIは、REST−基本HTTPインターフェイスでよい。REST−基本インターフェイスでは、データリソースはユニフォームリソースアイデンティファイヤー(URI)を使用して一意に命名されたリソースとしてアクセスされ、そしてクライアントアプリケーション1203およびサービス1220は、定めた操作の組を使用してリソース状態の表示(representation)を交換する。例えばリクエストした動作は、HTTP GET,PUT,POST,HEADおよびDELECTによるような動詞として表現されることができる。GETという動詞は、リソースを検索するために使用でき、一方、HEADという動詞はリソース自体を検索せずに、リソースに関する情報を検索するために使用できる。DELETEという動詞は、ホストストレージサービス1220からリソースを削除するために使用できる。PUTおよびPOSTという動詞は、リソースをサービス1220にアップロードするために使用することができる。PUTリクエストはクライアント1202から来ることができ、そして認証および認可クレデンシャルおよびリソースメタデータを、ヘッダー、例えばHTTPヘッダーに含むことができる。POSTリクエストは、クライアント1202がウェブブラウザフォームからアップロードしたい場合に受信することができる。ホストストレージサービス1220のためのフォームPOSTアップロードプロトコールには、認証、認可およびリソースメタデータを提供するために多数のフォームフィールドを含むことができる。より一般的には、APIリクエストは例えばリクエストのヘッダーに認証および認可のためのクレデンシャルを含むことができる。認可ヘッダーはRESTリクエストに含まれることができ、これはリクエストを送信するエンティティを識別するためのアクセスキーを含むことができる。
あるいは、または加えて、ユーザーはAPIリクエストに添付され得るブラウザのクッキーに保存されたクレデンシャルに基づき認証されることができる。有効なクッキーが存在しない場合、認証フロントエンドへのリダイレクトを作成でき、そして認証フロントエンドはブラウザのクッキーを作成するために使用され得る。認証フロントエンドは、ホストストレージサービス1220に加えてシステムおよびサービスにより使用され得る(例えば、ホストストレージサービス1220を操作する組織が、E−メールサービスのような他のウェブサービスも操作する場合)。またユーザーは、あるいは別法で、外部の認証サービスまたはクレデンシャル機能を含む外部のサービスからの認証クレデンシャルに基づき認証されることができる。ユーザーまたはグループの識別子情報は、外部サービスのクレデンシャル情報から計算され得る。クライアント1202によりインターフェイスフロントエンド1206に送信されるリクエストは変換され、そして認証のために外部サービスに向けることができる。
一般にホストストレージサービス1220に保存されたリソーシズは、リソース識別子により照会される。ホストストレージサービス1220は、有効なリソース識別子が確認されなければならない名前空間を定めることができる。例えば名前空間は、リソース識別子が、UTF−8エンコーディングが最高1024バイト長であるユニコード文字の配列となることを要求することができる。別の例として、名前空間はリソース識別子が128ビットの整数でよいグローバル一意識別子(GUID)であることを要求することができる。
リソーシズ(例えばフォントデータのようなオブジェクト)は、ホストストレージサービス1220のバケットに保存され得る。幾つかの例では、各バケットはホストストレー
ジサービス1220内で一意に名づけられ、各データリソースはバケット中で一意に名づけられ、そして各バケットおよびデータリソースの組み合わせは唯一である。データリソーシズは、バケット名およびリソース名を含むURIにより一意に識別され、そして識別子はホストストレージサービス1220を識別する。例えばバケット名“フォント”の中のリソース名“/frutiger.fnt”は、HTTP://s.hostedstoragesystem.com/fonts/frutiger.fntまたはHTTP://fonts.s.hostedstoragesystem.com/frutiger.fnt.のようなURIパターンを使用して特定することができる。あるいはクライアント1202のユーザーは、バケット名my.fonts.orgを作成することができ、HTTP://fonts.s.hostedstoragesystem.comにリダイレクトされるCNAMEエイリアスを公開し、そしてHTTP://my.fonts.org/frutiger.fntとしてリソースを指定する。幾つかの例では、バケットはネスティング(nest)しない。
ジサービス1220内で一意に名づけられ、各データリソースはバケット中で一意に名づけられ、そして各バケットおよびデータリソースの組み合わせは唯一である。データリソーシズは、バケット名およびリソース名を含むURIにより一意に識別され、そして識別子はホストストレージサービス1220を識別する。例えばバケット名“フォント”の中のリソース名“/frutiger.fnt”は、HTTP://s.hostedstoragesystem.com/fonts/frutiger.fntまたはHTTP://fonts.s.hostedstoragesystem.com/frutiger.fnt.のようなURIパターンを使用して特定することができる。あるいはクライアント1202のユーザーは、バケット名my.fonts.orgを作成することができ、HTTP://fonts.s.hostedstoragesystem.comにリダイレクトされるCNAMEエイリアスを公開し、そしてHTTP://my.fonts.org/frutiger.fntとしてリソースを指定する。幾つかの例では、バケットはネスティング(nest)しない。
インターフェイスバックエンド1208は認証子1209と一緒に認証および認可のリクエストを取扱うことができ、データおよびメタデータを管理することができ、そしてビリングのような行動を追跡することができる。一例として、インターフェイスバックエンド1208は、1もしくは複数のフォントのリクエストが受信された時、認証子1209に問い合わせることができる。インターフェイスバックエンド1208は追加または別の機能も提供することができる。例えばインターフェイスバックエンド1208は、ローカライズされた重い負荷の下、リソースの利用性および応答性のために独立フロントエンド/バックエンドスケーリングの機能を提供することができる。データ管理はインターフェイスバックエンド1208にカプセル化されると同時に、通信の提供はインターフェイスフロントエンド1206にカプセル化される。インターフェイスバックエンド1208は、クライアント−フェイシングインターフェイスフロントエンド1206から特定のセキュリティメカニズムを隔離することができる。
インターフェイスバックエンド1208は、インターフェイスフロントエンド1206および他のシステムの両方により利用可能なインターフェイスを公開することができる。幾つかの例では、インターフェイスバックエンド1208の幾つかの特徴は、ホストストレージサービス1220の所有者(インターナルユーザー)により使用されるインターフェイスフロントエンド(示さず)によってのみアクセス可能である。そのような特徴には、管理タスク(例えばリソースリファレンスをローレベルディスクアドレスに分解すること)に必要なものを含むことができる。インターフェイスバックエンド1208は、認証(例えばユーザーのクレデンシャルが有効であることを保証する)および認可(例えばリクエストした操作が許可されたことを確認する)のリクエストを扱うことができる。またインターフェイスバックエンドは、たとえインターナルユーザーでもデータへの非認可アクセスを防ぐために、暗号化および解読サービスを提供することができる。
インターフェイスバックエンド1208は、データリソーシズに随伴する、例えばMySQLデータベースまたはBigTable中のメタデータ1216を管理することができる。ユーザーを特定した名前でバケットを標識することは、メタデータ1216内で完全に定められることができ、そしてリソースメタデータ1216は、リソースを保存する1もしくは複数のデータストア1212にリソース名をマップすることができる。またメタデータ1216はバケットおよびリソースの両方に、バケットおよびリソース作成時間、リソースサイズ、ハッシュおよびアクセスコントロールリスト1218(ACL1218)を含むことができる。インターフェイスバックエンド1208は、ビリングおよびチャージバックに関する会計を支援するために、行動を記録し、そしてストレージコンサンプションを追跡することができる。幾つかの例では、これは顧客が請求される各ディメンジョン(dimension)内にクオータのモニタリングを含む(例えば読み、書き、
ネットワークトランスファー、使用の全ストレージ)。
ネットワークトランスファー、使用の全ストレージ)。
ACL1218は一般に、誰が対応するバケットまたはリソーシズに対する動作を行うことを認可され、そして認可される動作の性質を定めることができる。ACL1218は、{スコープ、ロール}対の番号なしリストに加えてBoolean flagsでよい。スコープはユーザーの中の一ユーザーまたはグループを定めることができ、そしてロールはそのユーザーまたはグループに関するアクセス許可を定めることができる。幾つかの例では、すべての{スコープ、ロール}対の統合がアクセス権を定めることができる。幾つかの例では、より特定の{スコープ、ロール}対は、より一般的なものをオーバーライドする。
ストレージバックエンド1210は、複数のデータストア1212a−1212cを含むことができる。3つのデータストア1212を示すが、より多くても少なくても可能である。各データストア1212a−1212cは、特定のフォーマットでデータリソーシズ1214a−1214cを保存することができる。例えばデータストア1212aはバイナリ―ラージオブジェクト(BLOB)としてデータリソース1214aを保存することができ、データストア1212bは分散されたファイルシステム(例えばネットワークファイルシステム)にデータリソース1214bを保存することができ、そしてデータストア1212cはデータベース(例えばMySQL)に1214cを保存することができる。
図13は、本明細書に記載した技術を実施するために使用できる例示のコンピューターデバイス1300および例示のモバイルコンピューターデバイス1350である。例えばフォントサービスマネージャー306(図3に示す)またはソフトウェアエージェント212(図2に示す)の操作の一部および全ては、コンピューターデバイス1300および/またはモバイルコンピューターデバイス1350により実行することができる。コンピューティングデバイス1300は、様々な形態のデジタルコンピューターを表すことを意図し、それらには例えばラップトップ型、デスクトップ型、ワークステーション、携帯情報端末、サーバー、ブレードサーバー、大型汎用機および他の適切なコンピューターを含む。コンピューティングデバイス1350は様々な形態のモバイルデバイスを表すことを意図し、それらには例えば携帯情報端末、タブレット型コンピューティングデバイス、携帯電話、スマートフォンおよび他の類似のコンピューティングデバイスを含む。ここで示すコンポーネント、それらの接続および関係、およびそれらの機能は単なる例であることを意味し、そして本明細書に記載し、かつ/または特許請求する技術の実施を限定することを意味していない。
コンピューティングデバイス1300はプロセッサー1302、メモリー1304、ストレージデバイス1306、メモリー1304および高速拡張ポート1310に接続する高速インターフェイス1308、および低速バス1314およびストレージデバイス1306に接続する低速インターフェイス1212を含む。各コンポーネント1302,1304,1306,1308,1310および1312は、種々のバスを使用して相互に連結され、そして共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。プロセッサー1302は、例えば高速インターフェイス1308に繋いだディスプレイ1316を含む外部入力/出力デバイスでGUIに関するグラフィック情報を表示するために、メモリー1304またはストレージデバイス1306に保存されている指令を含め、コンピューティングデバイス1300内で実行するための指令を処理することができる。他の実施において、多数のプロセッサーおよび/または多数のバスを、適切な場合は多数のメモリーおよび多種類のメモリーと一緒に使用することができる。また多数のコンピューティングデバイス1300は、必要な操作の部分を提供する各デバイス(例えばサーバーバンク、ブレードサーバーのグループ、またはマルチ−プロセッサーシ
ステムとして)に接続することができる。
ステムとして)に接続することができる。
メモリー1304はコンピューティングデバイス1300内にデータを保存する。1つの実施では、メモリー1304は揮発性メモリーユニット(1もしくは複数)である。別の実施ではメモリー1304は非揮発性記憶ユニット(1もしくは複数)である。またメモリー1304は、別の形態のコンピューター可読媒体であることができ、それには例えば磁気もしくは光学ディスクを含む。メモリー1304は非一時的(non−transitory)でよい。
ストレージデバイス1306は大容量のストレージをコンピューティングデバイス900に提供することができる。1つの実施では、ストレージデバイス1306はコンピューター可読媒体であることができ、またはそれを含むことができ、それらには例えばフロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイスまたはテープデバイス、フラッシュメモリーまたは他の同様なソリッドステートメモリーデバイス、またはストレージ領域のネットワークまたは他の構成内のデバイスを含むデバイスのアレイであることができる。コンピュータープログラム製品は実体的に(tangibly)データ担体に埋め込まれることができる。またこのコンピュータープログラム製品は実行した時に、例えば上記のような1もしくは複数の方法を行う指令を含むことができる。データ担体はコンピューターまたは機械可読媒体であり、例えばメモリー1304、ストレージデバイス1306、プロセッサー1302上のメモリー等を含む。
高速コントローラー1308は、コンピューティングデバイス1300に関する帯域幅―集中強化操作(bandwidth−intensive operation)を管理し、一方、低速コントローラー1312は低い帯域幅―集中強化操作を管理する。そのような機能の配置は単なる例である。1つの実装では、高速コントローラー1308は、メモリー1304、ディスプレイ1316(例えばグラフィックプロセッサーまたはアクセラレーターを介して)、および様々な拡張カード(示さず)を受けることができる高速拡張ポート1310に繋げることができる。この実装では低速コントローラー1312がストレージデバイス1306および低速拡張ポート1314に繋がれる。様々な通信ポート(例えばUSB,Bluetooth(商標),Ethernet,ワイヤレスEthernet)を含むことができる低速拡張ポートを、例えばキーボード、ポインティング装置、スキャナー、またはスイッチまたはルーターのようなネットワーキング装置を含む1もしくは複数の入力/出力デバイスに、例えばネットワークアダプターを介して繋ぐことができる。
コンピューティングデバイス1300は図に示すような多数の異なる状態で実施することができる。例えばこれは標準的サーバー1320として、すなわちそのようなサーバーのグループで多数回実施することができる。またこれはラックサーバーシステム1324の一部として実施することもできる。さらに、または別法で、これは例えばラップトップコンピューター1322を含むパーソナルコンピューターコンピューターで実施することができる。幾つかの例では、コンピューティングデバイス1300からのコンポーネントを、例えばデバイス1350を含むモバイルデバイス(示さず)の他の部品と組み合わせることができる。そのようなデバイスのそれぞれが、1もしくは複数のコンピューティングデバイス1300,1350を含むことができ、そして全システムを互いに通信する多数のコンピューティングデバイス1300,1350で作成することができる。
コンピューティングデバイス1350は、他のコンポーネントの中でもとりわけプロセッサー1352、メモリー1364、例えばディスプレイ1354を含む入力/出力デバイス、コミニュケーションインターフェイス1366およびトランシーバー1368を含む。またデバイス1350は、追加のストレージを提供するために、例えばマイクロドラ
イブまたは他のデバイスを含むストレージデバイスを備えることができる。各コンポーネント1350,1352,1364,1354,1366および1368は、種々のバスを使用して相互に接続され、そして幾つかのコンポーネントは共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。
イブまたは他のデバイスを含むストレージデバイスを備えることができる。各コンポーネント1350,1352,1364,1354,1366および1368は、種々のバスを使用して相互に接続され、そして幾つかのコンポーネントは共通のマザーボードに搭載されるか、または他の適切な様式で搭載されることができる。
プロセッサー1352は、メモリー1364に保存された指令を含め、コンピューティングデバイス1350内の指令を実行することができる。プロセッサーは、個別のおよび多数のアナログおよびデジタルプロセッサーを含むチップのチップセットとして実施することができる。プロセッサーは、例えばユーザーのインターフェイスの制御、デバイス1350により行われるアプリケーション、およびデバイス1350によるワイヤレスコミニュケーションを含め、例えばデバイス1350の他のコンポーネントの調整を提供することができる。
プロセッサー1352は、コントロールインターフェイス1358およびディスプレイ1354に連結されたディスプレイインターフェイス1356を介してユーザーと通信することができる。ディスプレイ1354は例えばTFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイであるか、または他の適切なディスプレイ技術であることができる。ディスプレイインターフェイス1356は、ディスプレイ1354を駆動するために適切な回路を備えて、グラフィカルおよび他のデータをユーザーに表示することができる。コントロールインターフェイス1358はユーザーからの命令を受信し、そしてそれらをプロセッサー1352へのサブミッションに転換することができる。さらに外部インターフェイス1362は、デバイス1350と他のデバイスとの近場通信が可能となるように、プロセッサー1342と通信することができる。外部インターフェイス1362は、例えば幾つかの実施ではワイヤードコミュニケーションを、または他の実施ではワイヤレスコミュニケーションを提供することができ、そして多数のインターフェイスを使用することができる。
メモリー1364はコンピューティングデバイス1350内にデータを保存する。メモリー1364は1もしくは複数のコンピューター可読媒体、揮発性メモリーユニット(1もしくは複数)または非揮発性記憶ユニット(1もしくは複数)として実施することができる。拡張メモリー1374も提供され、そして例えばSIMM(シングルインラインメモリーモジュール)カードインターフェイスを含むことができる拡張インターフェイス1372を介してデバイス1350に接続されることができる。そのような拡張メモリー1374は、デバイス1350に臨時の(extra)ストレージ空間を提供することができるか、あるいはまたデバイス1350用のアプリケーションまたは他のデータを保存することができる。具体的には拡張メモリー1374は上記プロセスを行うため、または補完するための指令を含むことができ、そしてまた安全なデータを含むことができる。すなわち例えば拡張メモリー1374は、デバイス1350のセキュリティーモジュールとして提供されることができ、そしてデバイス1350の安全な使用を可能にする指令でプログラムされることができる。さらに安全なアプリケーションがSIMMカードを通じて、たとえばハッカーできない様式でSIMMカードに識別するデータを配置することを含め、追加のデータと一緒に提供されることができる。
メモリーは、例えばフラッシュメモリーおよび/または以下に記載するNVRANメモリーを含むことができる。一つの実施では、コンピュータープログラム製品は実体的にデータ担体に埋め込まれることができる。コンピュータープログラム製品は実行した時に、例えば上記のような1もしくは複数の方法を行う指令を含むことができる。データ担体はコンピューターまたは機械可読媒体であり、例えばメモリー1364、拡張メモリー1374、および/またはプロセッサー1352上のメモリー等を含み、これらは例えばトランシーバー968または外部インターフェイス1362から受信することができる。
デバイス1350は、必要ならばデジタルシグナルプロセッシング回路を含むことができるコミュニケーションインターフェイス1366を通してワイヤレスで通信することができる。コミニュケーションインターフェイス1366は、例えばとりわけGSM、ボイスコール、SMS、EMSまたはMMSメッセージング、CDMA,TDMA,PDC,WCDMA,CDMA2000またはGPRSを含む様々なモードまたはプロトコール下での通信のために提供されることができる。そのような通信は、例えば高周波トランシーバー968を通して行うことができる。さらに例えばBluetooth(商標)、WiFiまたは他のそのようなトランシーバー(示さず)を含む短距離通信も行うことができる。さらにGPS(グローバルポジショニングシステム)レシーバーモジュール1370は、追加のナビゲーション−および位置−関連ワイヤレスデータをデバイス1350に提供することができ、これはデバイス1350で行われているアプリケーションにより適切に使用されることができる。カメラ、マイクロフォン、コンパス、アクセラレータ(方向を感知するために)等のようなセンサーおよびモジュールをデバイスに含んでもよい。
またデバイス1350は、ユーザーから会話データを受信し、それを利用可能なデジタルデータに転換できるオーディオコーディック1360を使用して、聞こえるように通信することができる。オーディオコーディック1360も、例えばデバイス1350のハンドセットの例えばスピーカーを通すことを含め、同様にユーザーに聞こえる音を作成することができる。そのような音は電話の声からの音を含むことができ、記録された音(例えばボイスメッセージ、ミュージックファイルなど)を含むことができ、そしてデバイス1350で操作されるアプリケーションにより作成される音も含むことができる。
コンピューティングデバイス1350は、図面に示すような多くの異なる形式で実施されることができる。例えば携帯電話1380として実施されることができる。またスマートフォン1382、携帯情報端末または他の類似のモバイルデバイスの一部として実行されることができる。
本明細書に記載するシステムおよび技術の様々な実施は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピューターハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組み合わせで実現することができる。これらの様々な実施には、1もしくは複数のコンピュータープログラムでの実施を含むことができ、これらのプログラムは少なくとも一つのプログラム可能なプロセッサーを含むプログラム可能なシステムで実行および/または解釈可能であり、このシステムは特定用途向けまたは汎用性であることができ、データおよび指令を受信し、そしてデータおよび指令を転送するために、ストレージシステム、少なくとも一つの入力デバイスおよび少なくとも一つの出力デバイスに繋がれることができる。
このようなコンピュータープログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラム可能なプロセッサー用の機械命令を含み、そして高水準手続き型および/またはオブジェクト指向プログラミング言語、および/またはアッセンブリ機械言語で実施されることができる。本明細書で使用するように、機械可読媒体およびコンピューター可読媒体という用語は、機械命令および/またはデータを、機械命令を受ける機械可読媒体を含むプログラマブルプロセッサーに提供するために使用されるコンピュータープログラム製品、装置および/またはデバイス(例えば磁気ディスク、光学ディスク、メモリー、プログラマブルロジックデバイス(PLD))を称する。
ユーザーとの対話を提供するために、本明細書に記載するシステムおよび技術は、ユーザーにデータを表示するためのディスプレイデバイス(例えばCRT(ブラウン管)また
はLCD(液晶ディスプレイ)モニター)、およびユーザーがコンピューターに入力することができるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)を有するコンピューターで実施されることができる。他の種類のデバイスもユーザーとの対話を提供するために使用することができ、例えばユーザーへ提供されるフィードバックは、知覚フィードバックの状態であることができ(例えば視覚的フィードバック、聴覚フィードバックまたは触覚フィードバック)、そしてユーザーからの入力は、音声、会話または触覚入力を含む状態で受信することができる。
はLCD(液晶ディスプレイ)モニター)、およびユーザーがコンピューターに入力することができるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)を有するコンピューターで実施されることができる。他の種類のデバイスもユーザーとの対話を提供するために使用することができ、例えばユーザーへ提供されるフィードバックは、知覚フィードバックの状態であることができ(例えば視覚的フィードバック、聴覚フィードバックまたは触覚フィードバック)、そしてユーザーからの入力は、音声、会話または触覚入力を含む状態で受信することができる。
本明細書に記載するシステムおよび技術は、バックエンドコンポーネント(データサーバーとして)を含むか、またはミドルウェアコンポーネント(例えばアプリケーションサーバー)を含むか、またはフロントエンドコンポーネント(例えばユーザーが本明細書に記載するシステムおよび技術の実装と対話することができるユーザーインターフェイスまたはWebブラウザを有するクライアントコンピューター)を含むか、またはそのようなバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば通信ネットワーク)により相互連結することができる。通信ネットワークの例には、ローカルエリアネットワーク(“LAN”)およびワイドエリアネットワーク(“WAN”)、およびインターネットがある。
このコンピューターシステムはクライアントおよびサーバーを含むことができる。クライアントおよびサーバーは一般に互いに離れ、そして一般には通信ネットワークを介して対話する。クライアントとサーバーの関係は、個々のコンピューターで走り、そしてクライアント−サーバー関係を互いに有するコンピュータープログラムにより生じる。
幾つかの実施では、本明細書に記載されるエンジンは分かれているか、複合されているか、または単一または複合エンジンに組み込まれることができる。図面に描くエンジンは、本明細書に記載するシステムを図面に表すソフトウェア構造に限定することを意図していない。
多くの態様を記載してきた。しかし様々な修飾を本明細に記載するプロセスおよび技術の精神および範囲から逸脱せずに行うことができると理解される。さらに図面に示す論理的流れは、所望の結果に達成するために示した特定の順序、または連続的順序を要求しない。さらに記載した流れに他の工程を提供でき、または工程を排除でき、そして記載したシステムに他のコンポーネントを加えることができ、または除去することができる。したがって他の態様は以下の請求の範囲にある。
Claims (45)
- イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信する工程であって、このリクエストにはアセットのテキストコンテンツの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もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項11に記載のコンピューターにより実施される方法。
- 前記リクエストが、イメージングデバイスにより表示されることになる1もしくは複数のアセットに関連する情報を識別する請求項11に記載のコンピューターにより実施される方法。
- テキストコンテンツを表示するデータを解析する工程が、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する工程を含む請求項11に記載のコンピューターにより実施される方法。
- 前記リクエストが、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項11に記載のコンピューターにより実施される方法。
- 指令を保存するために構成されたメモリーと:および
プロセッサーであって、
イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信し、このリクエストはアセットのテキストコンテンツの1もしくは複数の属性を含み、そしてリクエストがユーザーの入力無しでイメージングデバイスから送信され;
イメージングデバイスがアセットを表示するために、受信した1もしくは複数の属性から適切な量のフォント情報を識別し;そして
識別したフォント情報を、アセットを表示するためにイメージングデバイスに提供する;
ことを含む操作を行うための指令を実行するプロセッサーと:
を備えたコンピューティングデバイスを備えたシステム。 - 前記適切な量のフォント情報を識別することが、1もしくは複数のフォントを識別することを含む請求項16に記載のシステム。
- 前記適切な量のフォント情報を識別することが、1もしくは複数のフォントを作成することを含む請求項16に記載のシステム。
- 前記適切な量のフォント情報が、アセットのテキストコンテンツに基づく1もしくは複数のフォントサブセットを含む請求項16に記載のシステム。
- 前記1もしくは複数の属性が、イメージングデバイスに不在の1もしくは複数のフォントを識別するための情報を含む請求項16に記載のシステム。
- 前記1もしくは複数の属性が、アセットに不在の1もしくは複数のフォントを識別するための情報を含む請求項16に記載のシステム。
- 前記1もしくは複数の属性が、アセットの構造を表す情報を含む請求項16に記載のシステム。
- 前記リクエストが、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の1もしくは複数の環境特性も含む請求項16に記載のシステム。
- 前記リクエストが、イメージングデバイスの少なくとも一つの能力を表す1もしくは複数の属性を含む請求項16に記載のシステム。
- 前記リクエストが、イメージングデバイスの位置に関する地理情報を含む、請求項16に記載のシステム。
- 指令を保存するために構成されたメモリーと:および
プロセッサーであって、
イメージングデバイスで1もしくは複数のアセットのテキストコンテンツを表すデータを受信し;
テキストコンテンツを表わすデータを解析して、1もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定し;そして
1もしくは複数のアセットを表示するために不在のフォント情報をリクエストするためにフォントサービスプロバイダーにリクエストを送信し、このリクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される;
ことを含む操作を行うための指令を実行するプロセッサーと:
を備えたコンピューティングデバイスを備えたシステム。 - 前記リクエストが、1もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項26に記載のシステム。
- 前記リクエストが、イメージングデバイスにより表示されることになる1もしくは複数のアセットに関連する情報を識別する請求項26に記載のシステム。
- 前記テキストコンテンツを表すデータの解析が、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含む請求項26に記載のシステム。
- 前記リクエストが、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項26に記載のシステム。
- プロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが:
イメージングデバイスがアセットのテキストコンテンツを表示できないことを示すイメージングデバイスからのリクエストを受信し、このリクエストは、アセットのテキストコンテンツの1もしくは複数の属性を含み、そしてリクエストはユーザーの入力無しでイメージングデバイスから送信され;
イメージングデバイスがアセットを表示するために、受信した1もしくは複数の属性から適切な量のフォント情報を識別し;そして
アセットを表示するために、識別したフォント情報をイメージングデバイスに提供する;
ことを含む操作を行うようにする1もしくは複数のコンピューター可読媒体。 - 前記適切な量のフォント情報の識別が、1もしくは複数のフォントを識別することを含む請求項31に記載のコンピューター可読媒体。
- 前記適切な量のフォント情報の識別が、1もしくは複数のフォントを作成することを含む請求項31に記載のコンピューター可読媒体。
- 前記適切な量のフォント情報が、アセットのテキストコンテンツに基づく1もしくは複
数のフォントサブセットを含む請求項31に記載のコンピューター可読媒体。 - 前記1もしくは複数の属性が、イメージングデバイスに不在の1もしくは複数のフォントを識別するための情報を含む請求項31に記載のコンピューター可読媒体。
- 前記1もしくは複数の属性が、アセットに不在の1もしくは複数のフォントを識別するための情報を含む請求項31に記載のコンピューター可読媒体。
- 前記1もしくは複数の属性が、アセットの構造を表す情報を含む請求項31に記載のコンピューター可読媒体。
- 前記リクエストが、イメージングデバイスとフォントサービスプロバイダーとの間の通信接続の1もしくは複数の環境特性も含む請求項31に記載のコンピューター可読媒体。
- 前記リクエストが、イメージングデバイスの少なくとも一つの能力を表す1もしくは複数の属性を含む請求項31に記載のコンピューター可読媒体。
- 前記リクエストが、イメージングデバイスの位置に関する地理情報を含む請求項31に記載のコンピューター可読媒体。
- プロセッシングデバイスにより実行可能な指令を保存し、そしてそのような実行でプロセッシングデバイスが:
1もしくは複数のアセットのテキストコンテンツを表すデータをイメージングデバイスで受信し;
テキストコンテンツを表示するデータを解析して、1もしくは複数のアセットのテキストコンテンツを表示するためにイメージングデバイスにフォント情報が不在であるかどうかを決定し;そして
1もしくは複数のアセットを表示するために不在のフォント情報をリクエストするために、フォントサービスプロバイダーにリクエストを送信し、このリクエストはユーザーの入力無しでフォントサービスプロバイダーに送信される;
ことを含む操作を行うようにする1もしくは複数のコンピューター可読媒体。 - 前記リクエストが、1もしくは複数のアセットのテキストコンテンツにより使用されるが、イメージングデバイスに不在のフォントを識別する請求項41に記載のコンピューター可読媒体。
- 前記リクエストが、イメージングデバイスにより表示されることになる1もしくは複数のアセットに関連する情報を識別する請求項41に記載のコンピューター可読媒体。
- 前記テキストコンテンツを表すデータの解析が、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別することを含む請求項41に記載のコンピューター可読媒体。
- 前記リクエストが、1もしくは複数のアセットのテキストコンテンツに存在する各文字を識別する請求項41に記載のコンピューター可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/692,593 | 2012-12-03 | ||
US13/692,593 US9817615B2 (en) | 2012-12-03 | 2012-12-03 | Network based font management for imaging devices |
PCT/US2013/071519 WO2014088853A1 (en) | 2012-12-03 | 2013-11-22 | Network based font management for imaging devices |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016506560A true JP2016506560A (ja) | 2016-03-03 |
Family
ID=50825167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015545133A Pending JP2016506560A (ja) | 2012-12-03 | 2013-11-22 | イメージングデバイス用のネットワークに基づくフォントサブセットの管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9817615B2 (ja) |
EP (1) | EP2926275A4 (ja) |
JP (1) | JP2016506560A (ja) |
WO (1) | WO2014088853A1 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319444B2 (en) | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
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 |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
US9569865B2 (en) | 2012-12-21 | 2017-02-14 | Monotype Imaging Inc. | Supporting color fonts |
US9626337B2 (en) * | 2013-01-09 | 2017-04-18 | Monotype Imaging Inc. | Advanced text editor |
EP2763051B1 (en) * | 2013-01-31 | 2019-08-14 | Google LLC | Serving font glyphs |
EP2763050A1 (en) * | 2013-01-31 | 2014-08-06 | Google, Inc. | Serving font glyphs |
US9715484B1 (en) | 2013-03-04 | 2017-07-25 | Amazon Technologies, Inc. | Providing different font hints based on device, text and font context |
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 |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
US10290133B2 (en) | 2014-09-26 | 2019-05-14 | Oracle International Corporation | High fidelity interactive screenshots for mobile applications |
US10073679B2 (en) * | 2014-09-26 | 2018-09-11 | Oracle International Corporation | Efficient and intuitive databinding for mobile applications |
US9826045B2 (en) | 2014-09-26 | 2017-11-21 | Oracle International Corporation | Efficient means to test server generated applications on mobile device |
JP6489810B2 (ja) * | 2014-11-28 | 2019-03-27 | キヤノン株式会社 | 画像形成装置及び画像形成装置の制御方法 |
US20160182606A1 (en) * | 2014-12-17 | 2016-06-23 | Monotype Imaging Inc. | Network Based Static Font Subset Management |
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 |
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 |
US11153366B2 (en) * | 2019-03-01 | 2021-10-19 | International Business Machines Corporation | Lightweight web font customization integrated with glyph demanding assessment |
Family Cites Families (235)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4244657A (en) | 1978-06-08 | 1981-01-13 | Zaner-Bloser, Inc. | Font and method for printing cursive script |
JPH073631B2 (ja) | 1986-02-05 | 1995-01-18 | ミノルタ株式会社 | フォントカートリッジとそのデータ管理方法 |
JP2714022B2 (ja) | 1988-08-24 | 1998-02-16 | 株式会社日立製作所 | 文字データ管理システムおよび文字データ管理方法 |
US6044205A (en) | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
JPH04220764A (ja) | 1990-03-13 | 1992-08-11 | Hewlett Packard Co <Hp> | 文字フォント圧縮方法および装置 |
US5263132A (en) | 1990-09-28 | 1993-11-16 | Michael R. Parker | Method of formatting documents using flexible design models providing controlled copyfit and typeface selection |
JP2892176B2 (ja) | 1991-05-15 | 1999-05-17 | 株式会社東芝 | フォントメモリアクセス方式 |
JPH05215915A (ja) | 1992-01-31 | 1993-08-27 | Asahi Optical Co Ltd | 多層反射増加膜 |
JPH05217816A (ja) | 1992-02-06 | 1993-08-27 | Hitachi Denshi Ltd | 位置合せパターン |
US5412771A (en) | 1992-02-07 | 1995-05-02 | Signature Software, Inc. | Generation of interdependent font characters based on ligature and glyph categorizations |
US5416898A (en) | 1992-05-12 | 1995-05-16 | Apple Computer, Inc. | Apparatus and method for generating textual lines layouts |
TW247952B (ja) | 1992-07-09 | 1995-05-21 | Seikosha Kk | |
US5291243A (en) | 1993-02-05 | 1994-03-01 | Xerox Corporation | System for electronically printing plural-color tamper-resistant documents |
AU6390994A (en) | 1993-04-05 | 1994-10-24 | Taligent, Inc. | Font selection system |
US5528742A (en) | 1993-04-09 | 1996-06-18 | Microsoft Corporation | Method and system for processing documents with embedded fonts |
JP2596699B2 (ja) | 1993-06-25 | 1997-04-02 | フクビ化学工業株式会社 | 横架材構造 |
US5533174A (en) | 1993-10-26 | 1996-07-02 | Digital Equipment Corporation | Network font server |
EP0658856B1 (en) | 1993-12-15 | 2000-03-08 | Canon Kabushiki Kaisha | Apparatus and method for selecting a character front |
US5526477A (en) | 1994-01-04 | 1996-06-11 | Digital Equipment Corporation | System and method for generating glyphs of unknown characters |
US5586242A (en) | 1994-04-01 | 1996-12-17 | Hewlett-Packard Company | Font manager with selective access of installed fonts |
US5781714A (en) | 1994-05-27 | 1998-07-14 | Bitstream Inc. | Apparatus and methods for creating and using portable fonts |
JP3483946B2 (ja) | 1994-08-19 | 2004-01-06 | 三菱電機株式会社 | フォント処理装置及びフォント処理方法 |
US5748975A (en) | 1995-07-06 | 1998-05-05 | Sun Microsystems, Inc. | System and method for textual editing of structurally-represented computer programs with on-the-fly typographical display |
US6031549A (en) | 1995-07-19 | 2000-02-29 | Extempo Systems, Inc. | System and method for directed improvisation by computer controlled characters |
US5606649A (en) | 1995-09-08 | 1997-02-25 | Dynalab, Inc. | Method of encoding a document with text characters, and method of sending a document with text characters from a transmitting computer system to a receiving computer system |
US5737599A (en) | 1995-09-25 | 1998-04-07 | Rowe; Edward R. | Method and apparatus for downloading multi-page electronic documents with hint information |
WO1997027553A1 (en) | 1996-01-29 | 1997-07-31 | Futuretense, Inc. | Distributed electronic publishing system |
JP3618884B2 (ja) | 1996-03-18 | 2005-02-09 | キヤノン株式会社 | 情報処理装置、情報処理方法、印刷システム、及び、メモリ |
US5940581A (en) | 1996-03-21 | 1999-08-17 | Apple Computer, Inc. | Dynamic font management for large character sets |
US5877776A (en) | 1996-04-26 | 1999-03-02 | Apple Computer, Inc. | Method and system for supporting multiple font formats by a font scaler sub-system |
US5630028A (en) | 1996-05-28 | 1997-05-13 | Bowne & Co., Inc. | Method of representing graphic data using text |
US6320587B1 (en) | 1996-08-26 | 2001-11-20 | Fujitsu Limited | Font processing apparatus in network environment and method thereof |
JP3487738B2 (ja) | 1996-08-26 | 2004-01-19 | 富士通株式会社 | ネットワーク環境におけるフォント処理装置および方法 |
US6141002A (en) | 1996-11-12 | 2000-10-31 | Opentv, Inc. | System and method for downloading and rendering glyphs in a set top box |
US6522330B2 (en) | 1997-02-17 | 2003-02-18 | Justsystem Corporation | Character processing system and method |
US6073147A (en) | 1997-06-10 | 2000-06-06 | Apple Computer, Inc. | System for distributing font resources over a computer network |
US6288726B1 (en) | 1997-06-27 | 2001-09-11 | Microsoft Corporation | Method for rendering glyphs using a layout services library |
JPH1141394A (ja) | 1997-07-15 | 1999-02-12 | Canon Inc | 凹凸情報読み取り装置及び画像読み取り装置 |
US6065008A (en) | 1997-10-01 | 2000-05-16 | Microsoft Corporation | System and method for secure font subset distribution |
KR100280175B1 (ko) | 1997-10-15 | 2001-02-01 | 윤종용 | 툴팁을이용한글꼴정보표시기및방법 |
US6377966B1 (en) | 1997-10-22 | 2002-04-23 | Flashpoint Technology, Inc. | Graphical interface to select characters representing phonetic articulation and no articulation groups |
US6167441A (en) | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
US6952210B1 (en) | 1997-12-05 | 2005-10-04 | Adobe Systems Incorporated | Method of generating multiple master typefaces containing kanji characters |
US6016142A (en) | 1998-02-09 | 2000-01-18 | Trimble Navigation Limited | Rich character set entry from a small numeric keypad |
US6191780B1 (en) | 1998-03-25 | 2001-02-20 | Arachnid, Inc. | Customizable multimedia segment structures |
US6249908B1 (en) | 1998-03-27 | 2001-06-19 | Microsoft Corporation | System and method for representing graphical font data and for converting the font data to font instructions |
US6552727B2 (en) | 1998-03-27 | 2003-04-22 | Microsoft Corp. | Method for authoring hints for a font using a graphical user interface |
JPH11282829A (ja) | 1998-03-31 | 1999-10-15 | Fuji Photo Film Co Ltd | フォント共有システムおよび方法ならびにフォント共有方法を実行するためのプログラムを格納した記録媒体 |
US6252671B1 (en) | 1998-05-22 | 2001-06-26 | Adobe Systems Incorporated | System for downloading fonts |
US6687879B1 (en) | 1998-07-09 | 2004-02-03 | Fuji Photo Film Co., Ltd. | Font retrieval apparatus and method using a font link table |
US6313920B1 (en) | 1998-08-17 | 2001-11-06 | Microsoft Corporation | System and method for remote printing using incremental font subsetting |
US6490051B1 (en) | 1998-09-21 | 2002-12-03 | Microsoft Corporation | Printer driver and method for supporting worldwide single binary font format with built in support for double byte characters |
JP4150452B2 (ja) | 1998-11-12 | 2008-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | フォントの取得方法、登録方法および印刷方法 |
US6754875B1 (en) | 1998-11-17 | 2004-06-22 | Adobe Systems Incorporated | Applying a computer-implemented test to determine whether to replace adjacent characters in a word with a ligature glyph |
US6583789B1 (en) | 1998-12-03 | 2003-06-24 | International Business Machines Corporation | Method and system for processing glyph-based quality variability requests |
US6718519B1 (en) | 1998-12-31 | 2004-04-06 | International Business Machines Corporation | System and method for outputting character sets in best available fonts |
US6813747B1 (en) | 1998-12-31 | 2004-11-02 | International Business Machines Corporation | System and method for output of multipart documents |
US6678410B1 (en) | 1999-02-17 | 2004-01-13 | Adobe Systems Incorporated | Generating a glyph |
US6343301B1 (en) | 1999-02-24 | 2002-01-29 | Navigation Technologies Corp. | Method and system for collecting data for updating a geographic database |
US6426751B1 (en) | 1999-04-01 | 2002-07-30 | Adobe Systems Incorporated | Font feature file processing |
US6512531B1 (en) | 1999-04-09 | 2003-01-28 | Adobe Systems Incorporated | Font navigation tool |
US6111654A (en) | 1999-04-21 | 2000-08-29 | Lexmark International, Inc. | Method and apparatus for replacing or modifying a postscript built-in font in a printer |
US7064757B1 (en) | 1999-05-07 | 2006-06-20 | Apple Computer, Inc. | Automatic synthesis of font tables for character layout |
US6657625B1 (en) | 1999-06-09 | 2003-12-02 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
US6738526B1 (en) | 1999-07-30 | 2004-05-18 | Microsoft Corporation | Method and apparatus for filtering and caching data representing images |
US6282327B1 (en) | 1999-07-30 | 2001-08-28 | Microsoft Corporation | Maintaining advance widths of existing characters that have been resolution enhanced |
US6704116B1 (en) | 1999-08-19 | 2004-03-09 | Saad D. Abulhab | Method and font for representing Arabic characters, and articles utilizing them |
US6853980B1 (en) | 1999-09-07 | 2005-02-08 | Bitstream Inc. | System for selecting, distributing, and selling fonts |
GB2371902B (en) | 1999-09-10 | 2004-11-17 | Avantgo Inc | System, method, and computer program product for interactive interfacing with mobile devices |
US7184046B1 (en) | 1999-09-28 | 2007-02-27 | Monotype Imaging Inc. | Method and apparatus for font storage reduction |
US7050079B1 (en) | 2000-01-04 | 2006-05-23 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
US6920633B1 (en) | 2000-01-14 | 2005-07-19 | Microsoft Corporation | Cross-process common system resource data sharing |
US6522347B1 (en) | 2000-01-18 | 2003-02-18 | Seiko Epson Corporation | Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus |
US6771267B1 (en) | 2000-03-22 | 2004-08-03 | Adobe Systems Incorporated | Merging digital fonts |
HK1024380A2 (en) | 2000-03-28 | 2000-08-25 | Lawrence Wai Ming Mo | Internet-based font server |
US6603478B1 (en) | 2000-04-21 | 2003-08-05 | Dynalab, Inc. | System, method and a computer readable medium for improving character access |
US7155672B1 (en) | 2000-05-23 | 2006-12-26 | Spyglass, Inc. | Method and system for dynamic font subsetting |
US6882344B1 (en) | 2000-07-25 | 2005-04-19 | Extensis, Inc. | Method for examining font files for corruption |
US7539939B1 (en) | 2000-07-25 | 2009-05-26 | Creativepro.Com, Inc. | Preview window to preview text in several different fonts simultaneously |
US6678688B1 (en) | 2000-10-26 | 2004-01-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for composite font generation |
US7584090B1 (en) | 2000-11-06 | 2009-09-01 | Verisign, Inc. | Text creating and editing system and method with dynamic data loading |
US7231602B1 (en) | 2000-11-29 | 2007-06-12 | Microsoft Corporation | Live preview for reformatting document text |
US20020087702A1 (en) | 2000-12-29 | 2002-07-04 | Koichi Mori | Remote contents displaying method with adaptive remote font |
US20020093506A1 (en) | 2001-01-16 | 2002-07-18 | Hobson Jay A. | Apparatus and method for storing and retrieving images for transmission to an output device |
JP2002342242A (ja) | 2001-05-15 | 2002-11-29 | Riso Kagaku Corp | 電子メール書体加工装置 |
US6922812B2 (en) | 2001-07-12 | 2005-07-26 | International Business Machines Corp. | System and method for presenting text upon the display of a server that employs and X window graphical interface |
US7552008B2 (en) | 2001-07-18 | 2009-06-23 | Regents Of The University Of Minnesota | Populating geospatial database for onboard intelligent vehicle applications |
US6907444B2 (en) * | 2001-09-12 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | System and method to automatically obtain a service |
US7188313B2 (en) | 2001-10-03 | 2007-03-06 | Hallmark Cards, Incorporated | Context sensitive font generation |
US20030076350A1 (en) | 2001-10-23 | 2003-04-24 | Toshiba America Information Systems, Inc | Interface for content development |
US6862024B2 (en) | 2002-04-17 | 2005-03-01 | Mitsubishi Electric Research Laboratories, Inc. | Enhancing textured range images using a 2D editor |
US6704648B1 (en) | 2002-05-29 | 2004-03-09 | Navigation Technologies Corp. | Bearing data for route guidance |
US7639257B2 (en) | 2002-07-31 | 2009-12-29 | Adobe Systems Incorporated | Glyphlets |
US20070283047A1 (en) | 2002-10-01 | 2007-12-06 | Theis Ronald L A | System and method for processing alphanumeric characters for display on a data processing device |
US7228501B2 (en) | 2002-11-01 | 2007-06-05 | Microsoft Corporation | Method for selecting a font |
CN1723696A (zh) | 2002-12-09 | 2006-01-18 | 皇家飞利浦电子股份有限公司 | 具有部分字符集发生器的交互式电视系统 |
US20040119714A1 (en) | 2002-12-18 | 2004-06-24 | Microsoft Corporation | International automatic font size system and method |
US6993538B2 (en) | 2003-01-28 | 2006-01-31 | Microsoft Corporation | System and process for identifying objects and/or points nearby a given object or point |
EP1445954A1 (en) | 2003-02-10 | 2004-08-11 | Thomson Licensing S.A. | Method to transmit and receive font information in streaming systems |
JP3816882B2 (ja) | 2003-03-05 | 2006-08-30 | 株式会社東芝 | 表示用フォントメモリ |
US20040177056A1 (en) | 2003-03-06 | 2004-09-09 | Davis William Nelson | Font rental system and method |
US7006095B2 (en) | 2003-03-25 | 2006-02-28 | Mitsubishi Electric Research Laboratories, Inc. | Method for typesetting a set glyphs represented as a set of two dimensional distance fields |
US6856317B2 (en) | 2003-04-16 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | System and method for storing public and secure font data in a font file |
US20050015307A1 (en) | 2003-04-28 | 2005-01-20 | Simpson Todd Garrett | Method and system of providing location sensitive business information to customers |
CN1784664B (zh) | 2003-05-14 | 2010-06-02 | 夏普株式会社 | 文档数据显示设备、输出设备、打印设备及相关方法 |
WO2004114146A1 (ja) | 2003-05-30 | 2004-12-29 | Konica Minolta Photo Imaging, Inc. | 外字登録情報提供システム及び外字同定支援システム |
WO2005001675A2 (en) | 2003-06-30 | 2005-01-06 | Hyder Syed S | Algorithmic generation of afu calligraphy |
US20050033814A1 (en) | 2003-08-04 | 2005-02-10 | Naomi Ota | Communication terminal apparatus and processing method for sending and receiving email |
US7528834B2 (en) | 2003-09-30 | 2009-05-05 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
US7583397B2 (en) | 2003-09-30 | 2009-09-01 | Canon Kabushiki Kaisha | Method for generating a display list |
US7403297B2 (en) | 2003-10-30 | 2008-07-22 | Infoprint Solutions Company, Llc | Printing system that manages font resources using system independent resource references |
JP4328604B2 (ja) | 2003-11-21 | 2009-09-09 | キヤノン株式会社 | 画像処理方法、画像処理装置及びプログラム |
US20050128508A1 (en) | 2003-12-11 | 2005-06-16 | Microsoft Corporation | System for transferring documents and resources to a printer |
JP5119566B2 (ja) | 2004-02-16 | 2013-01-16 | ソニー株式会社 | 再生装置および再生方法、プログラム記録媒体、並びにプログラム |
US7161598B2 (en) | 2004-02-26 | 2007-01-09 | Research In Motion Limited | Method of rendering text on an output device |
US8689101B2 (en) | 2004-02-27 | 2014-04-01 | Blackberry Limited | Font data processing system and method |
JP4193137B2 (ja) | 2004-02-27 | 2008-12-10 | ブラザー工業株式会社 | 印刷システム、印刷管理装置、印刷用プログラム、及びコンピュータ読取可能な記録媒体 |
US7383500B2 (en) | 2004-04-30 | 2008-06-03 | Microsoft Corporation | Methods and systems for building packages that contain pre-paginated documents |
US7359902B2 (en) | 2004-04-30 | 2008-04-15 | Microsoft Corporation | Method and apparatus for maintaining relationships between parts in a package |
JP2005332088A (ja) | 2004-05-18 | 2005-12-02 | Canon Inc | 文書生成装置およびファイル変換システム |
US7256786B2 (en) | 2004-05-28 | 2007-08-14 | Microsoft Corporation | Appropriately rendering a graphical object when a corresponding outline has exact or inexact control points |
GB0413261D0 (en) | 2004-06-15 | 2004-07-14 | Ibm | Method and arrangement for front building |
US7710422B2 (en) | 2004-07-26 | 2010-05-04 | Microsoft Corporation | Font representations |
JP4595448B2 (ja) | 2004-08-31 | 2010-12-08 | オムロン株式会社 | メールデータ処理方法、メールサーバー、メールサーバー用のプログラム |
JP2006092099A (ja) | 2004-09-22 | 2006-04-06 | Fuji Xerox Co Ltd | 画像形成方法及び画像形成装置 |
US7583393B2 (en) | 2004-09-24 | 2009-09-01 | Seiko Epson Corporation | Multiple font management system and method |
US7587412B2 (en) | 2005-08-23 | 2009-09-08 | Ricoh Company, Ltd. | Mixed media reality brokerage network and methods of use |
JP2006107033A (ja) | 2004-10-04 | 2006-04-20 | Canon Inc | フォント情報の埋め込み機能を備える情報処理装置及び情報処理方法及びプログラム並びに記憶媒体 |
KR101240997B1 (ko) | 2004-12-23 | 2013-03-08 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 네트워크 프로그램을 재생하기 위해 소프트웨어 자원을구성하는 방법 및 장치 |
JP4396656B2 (ja) | 2005-04-21 | 2010-01-13 | 株式会社デンソー | 地図表示装置および当該装置を搭載した車両用ナビゲーション装置 |
JP4356645B2 (ja) | 2005-04-28 | 2009-11-04 | ソニー株式会社 | 字幕生成装置及び方法 |
US7447361B2 (en) | 2005-05-26 | 2008-11-04 | Marvell International, Ltd. | System and method for generating a custom font |
KR100717008B1 (ko) | 2005-05-31 | 2007-05-10 | 삼성전자주식회사 | 부분폰트 파일 송신 및 수신하는 방법 및 장치 |
EP1736895A1 (en) | 2005-06-21 | 2006-12-27 | PDFlib GmbH | Method of determining Unicode values corresponding to the text in digital documents |
KR100668341B1 (ko) * | 2005-06-29 | 2007-01-12 | 삼성전자주식회사 | 사용자의 파지 형태를 이용한 휴대용 단말기의 기능 입력방법 및 장치. |
JP2007011733A (ja) | 2005-06-30 | 2007-01-18 | Dynacomware Taiwan Inc | アジアウェブフォント文書の作成方法、装置及びシステム |
US7958448B2 (en) | 2005-10-25 | 2011-06-07 | Celartem, Inc. | Systems, methods, user interfaces, and computer-readable media for activating and managing fonts |
EP1943585A4 (en) | 2005-10-31 | 2010-01-06 | Fontip Ltd | SENDING AND RECEIVING ALPHABETICAL MESSAGES USING VARIOUS CHARACTER POLICES |
FR2892885B1 (fr) | 2005-11-02 | 2008-01-25 | Streamezzo Sa | Procede de gestion de polices de caractere a l'interieur de scenes multimedia, programme d'ordinateur et terminal correspondants. |
US7505040B2 (en) | 2005-12-19 | 2009-03-17 | Microsoft Corporation | Composite characters font hinting |
US20070139412A1 (en) | 2005-12-19 | 2007-06-21 | Microsoft Corporation | Automatic font control value determination |
US8040533B2 (en) | 2006-01-06 | 2011-10-18 | Microsoft Corporation | Techniques for granular font subsetting for efficient document consumption |
WO2007095326A2 (en) | 2006-02-13 | 2007-08-23 | Google Inc. | Systems and methods for managing hosted services |
US20070211062A1 (en) | 2006-03-13 | 2007-09-13 | International Business Machines Corporation | Methods and systems for rendering complex text using glyph identifiers in a presentation data stream |
US7937658B1 (en) * | 2006-04-21 | 2011-05-03 | Adobe Systems Incorporated | Methods and apparatus for retrieving font data |
US7477988B2 (en) | 2006-05-16 | 2009-01-13 | Navteq North America, Llc | Dual road geometry representation for position and curvature-heading |
US8201088B2 (en) | 2006-07-25 | 2012-06-12 | Monotype Imaging Inc. | Method and apparatus for associating with an electronic document a font subset containing select character forms which are different depending on location |
US20080030502A1 (en) | 2006-08-04 | 2008-02-07 | Monotype Imaging, Inc. | Diacritics positioning system for digital typography |
US20080086694A1 (en) | 2006-09-11 | 2008-04-10 | Rockwell Automation Technologies, Inc. | Multiple language development environment using shared resources |
JP2008165264A (ja) | 2006-12-26 | 2008-07-17 | Dynacomware Taiwan Inc | ネットワークを利用して多様なフォントを用いたアジアWebページ文書を編集するためのシステム及び方法 |
KR100812399B1 (ko) | 2007-01-11 | 2008-03-11 | 주식회사 케이티프리텔 | 폰트 데이터가 포함된 메시지 서비스를 제공하는 이동 통신단말, 메시지 서비스 서버, 시스템 및 그 서비스 제공방법 |
US20080282186A1 (en) | 2007-05-11 | 2008-11-13 | Clikpal, Inc. | Keyword generation system and method for online activity |
US8271470B2 (en) | 2007-06-09 | 2012-09-18 | Apple Inc. | Auto-activation of fonts |
US20080303822A1 (en) | 2007-06-09 | 2008-12-11 | Nathan Daniel Taylor | Font metadata |
US7944447B2 (en) | 2007-06-22 | 2011-05-17 | Apple Inc. | Adaptive and dynamic text filtering |
US7752222B1 (en) | 2007-07-20 | 2010-07-06 | Google Inc. | Finding text on a web page |
US9269332B2 (en) | 2007-09-04 | 2016-02-23 | Apple Inc. | Font preloading |
US8306356B1 (en) | 2007-09-28 | 2012-11-06 | Language Technologies, Inc. | System, plug-in, and method for improving text composition by modifying character prominence according to assigned character information measures |
US20090119678A1 (en) | 2007-11-02 | 2009-05-07 | Jimmy Shih | Systems and methods for supporting downloadable applications on a portable client device |
US8060818B2 (en) | 2007-12-14 | 2011-11-15 | Sap Ag | Method and apparatus for form adaptation |
US20090183069A1 (en) | 2008-01-15 | 2009-07-16 | Microsoft Corporation | Font/Script Association |
AU2009229679A1 (en) | 2008-03-24 | 2009-10-01 | Min Soo Kang | Keyword-advertisement method using meta-information related to digital contents and system thereof |
GB0808988D0 (en) | 2008-05-16 | 2008-06-25 | Symbian Software Ltd | Method and device for generating custom points |
GB2460084A (en) | 2008-05-16 | 2009-11-18 | Software 2000 Ltd | Method and apparatus for providing and managing fonts |
KR20110014995A (ko) | 2008-06-06 | 2011-02-14 | 디브이엑스, 인크. | 멀티미디어 파일용의 폰트 파일 최적화 시스템 및 방법 |
US8896632B2 (en) | 2008-09-12 | 2014-11-25 | Qualcomm Incorporated | Orienting displayed elements relative to a user |
US8335381B2 (en) | 2008-09-18 | 2012-12-18 | Xerox Corporation | Handwritten word spotter using synthesized typed queries |
JP2010091724A (ja) | 2008-10-07 | 2010-04-22 | Canon Inc | 画像処理システム |
US8413051B2 (en) | 2008-10-20 | 2013-04-02 | Celartem, Inc. | Contextually previewing fonts |
US8201093B2 (en) | 2008-10-30 | 2012-06-12 | Raja Singh Tuli | Method for reducing user-perceived lag on text data exchange with a remote server |
US8464318B1 (en) | 2008-11-24 | 2013-06-11 | Renen Hallak | System and method for protecting web clients and web-based applications |
US8427509B2 (en) | 2008-12-31 | 2013-04-23 | Mitsubishi Electric Research Laboratories, Inc. | Method for embedding messages into documents using distance fields |
US20120001922A1 (en) | 2009-01-26 | 2012-01-05 | Escher Marc | System and method for creating and sharing personalized fonts on a client/server architecture |
US8856647B2 (en) | 2009-02-20 | 2014-10-07 | Microsoft Corporation | Font handling for viewing documents on the web |
US20100231598A1 (en) | 2009-03-10 | 2010-09-16 | Google Inc. | Serving Font Glyphs |
US8707208B2 (en) | 2009-04-22 | 2014-04-22 | Confetti & Frolic | Font selector and method for the same |
US9319444B2 (en) | 2009-06-22 | 2016-04-19 | Monotype Imaging Inc. | Font data streaming |
US8769050B2 (en) | 2009-10-16 | 2014-07-01 | Celartern, Inc. | Serving font files in varying formats based on user agent type |
US8769405B2 (en) | 2009-10-16 | 2014-07-01 | Celartem, Inc. | Reduced glyph font files |
US8555162B2 (en) | 2009-10-16 | 2013-10-08 | Celartem, Inc. | Activation of fonts using font sets |
US20130120396A1 (en) | 2009-11-19 | 2013-05-16 | Gregory A. Kaplan | Incrementally Building A Font |
US20110115797A1 (en) | 2009-11-19 | 2011-05-19 | Kaplan Gregory A | Dynamic Streaming of Font Subsets |
US20110131153A1 (en) | 2009-11-30 | 2011-06-02 | International Business Machines Corporation | Dynamically controlling a computer's display |
US8805079B2 (en) | 2009-12-02 | 2014-08-12 | Google Inc. | Identifying matching canonical documents in response to a visual query and in accordance with geographic information |
JP2013519162A (ja) | 2010-02-01 | 2013-05-23 | ジャンプタップ,インコーポレイテッド | 統合化された広告システム |
US8494287B2 (en) | 2010-02-02 | 2013-07-23 | Oracle International Corporation | Character identification through glyph data matching |
EP2354802B1 (en) | 2010-02-04 | 2013-05-29 | Astrium GmbH | Method for self-calibration of frequency offsets |
US8615709B2 (en) | 2010-04-29 | 2013-12-24 | Monotype Imaging Inc. | Initiating font subsets |
US20110276872A1 (en) | 2010-05-06 | 2011-11-10 | Xerox Corporation | Dynamic font replacement |
US20110289407A1 (en) | 2010-05-18 | 2011-11-24 | Naik Devang K | Font recommendation engine |
JP2012003627A (ja) | 2010-06-18 | 2012-01-05 | Konica Minolta Business Technologies Inc | 印刷設定プログラム、及び印刷設定装置 |
US8683006B2 (en) | 2010-07-17 | 2014-03-25 | Adobe Systems Incorporated | Method and systems for serving fonts during web browsing sessions |
US8509537B2 (en) | 2010-08-05 | 2013-08-13 | Xerox Corporation | Learning weights of fonts for typed samples in handwritten keyword spotting |
US8643652B2 (en) | 2010-08-31 | 2014-02-04 | Adobe Systems Incorporated | Dynamic augmentation of extensible font subsets |
US20120066590A1 (en) | 2010-09-10 | 2012-03-15 | Jeffrey Harris | Systems and Methods for Enhanced Font Management |
US8671342B2 (en) | 2010-09-16 | 2014-03-11 | International Business Machines Corporation | Desired font rendering |
US8542235B2 (en) | 2010-10-13 | 2013-09-24 | Marlborough Software Development Holdings Inc. | System and method for displaying complex scripts with a cloud computing architecture |
KR20130126610A (ko) | 2010-10-21 | 2013-11-20 | 모노타입 이미징 인코포레이티드 | 스타일 시트를 위한 식별자 |
KR20140003415A (ko) | 2010-10-21 | 2014-01-09 | 모노타입 이미징 인코포레이티드 | 폰트 스타일 요소의 추출 및 관리 |
US8644810B1 (en) | 2010-10-22 | 2014-02-04 | Joingo, Llc | Method and system for dynamic font support on mobile devices |
US20120127069A1 (en) * | 2010-11-24 | 2012-05-24 | Soma Sundaram Santhiveeran | Input Panel on a Display Device |
US8855413B2 (en) | 2011-05-13 | 2014-10-07 | Abbyy Development Llc | Image reflow at word boundaries |
JP2012248160A (ja) * | 2011-05-31 | 2012-12-13 | Toshiba Tec Corp | ネットワークプリンタおよびこれを用いた印刷方法 |
US8896593B2 (en) | 2011-06-06 | 2014-11-25 | Monotype Imaging Inc. | Producing three-dimensional graphics |
US20120323971A1 (en) | 2011-06-14 | 2012-12-20 | Sybase, Inc. | Optimizing data storage and access of an in-memory database |
US10453070B2 (en) | 2011-06-15 | 2019-10-22 | Blue Kai, Inc. | Non-invasive sampling and fingerprinting of online users and their behavior |
US10534842B2 (en) | 2011-07-12 | 2020-01-14 | Inkling Systems, Inc. | Systems and methods for creating, editing and publishing cross-platform interactive electronic works |
US8947438B2 (en) | 2011-08-01 | 2015-02-03 | Microsoft Corporation | Reducing font instructions |
US9329810B2 (en) | 2011-12-22 | 2016-05-03 | Xerox Corporation | Secure federation of cloud print services |
US20130215126A1 (en) | 2012-02-17 | 2013-08-22 | Monotype Imaging Inc. | Managing Font Distribution |
US9472163B2 (en) | 2012-02-17 | 2016-10-18 | Monotype Imaging Inc. | Adjusting content rendering for environmental conditions |
WO2013123583A1 (en) | 2012-02-22 | 2013-08-29 | Quillsoft Ltd. | System and method for enhancing comprehension and readability of text |
CA2772554A1 (en) | 2012-03-19 | 2013-09-19 | Corel Corporation | Method and system for interactive font feature access |
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 |
US20130325795A1 (en) | 2012-05-31 | 2013-12-05 | Google Inc. | Systems and Methods for Dynamically Loading Web Fonts and Dynamic Availability for Fonts Based on Language Settings |
US9338108B2 (en) | 2012-07-23 | 2016-05-10 | Xpedite Systems, Llc | Inter-modal messaging communications |
US20140047329A1 (en) | 2012-08-10 | 2014-02-13 | Monotype Imaging Inc. | Network Based Font Subset Management |
US20140136957A1 (en) | 2012-11-09 | 2014-05-15 | Monotype Imaging Inc. | Supporting Scalable Fonts |
US9817615B2 (en) | 2012-12-03 | 2017-11-14 | Monotype Imaging Inc. | Network based font management for imaging devices |
US9569865B2 (en) | 2012-12-21 | 2017-02-14 | Monotype Imaging Inc. | Supporting color fonts |
US9626337B2 (en) | 2013-01-09 | 2017-04-18 | Monotype Imaging Inc. | Advanced text editor |
US20150062140A1 (en) | 2013-08-29 | 2015-03-05 | Monotype Imaging Inc. | Dynamically Adjustable Distance Fields for Adaptive Rendering |
US20150074522A1 (en) | 2013-09-12 | 2015-03-12 | Monotype Imaging Inc. | Font Management for Editing Electronic Documents |
WO2015047205A1 (en) | 2013-09-30 | 2015-04-02 | Echostar Ukraine, L.L.C. | Systems, devices and methods for font size selection |
US9317777B2 (en) | 2013-10-04 | 2016-04-19 | Monotype Imaging Inc. | Analyzing font similarity for presentation |
JP5974024B2 (ja) | 2014-01-18 | 2016-08-23 | 株式会社モリサワ | フォント配信システム、及びフォント配信方法 |
US10127199B2 (en) | 2014-03-28 | 2018-11-13 | Adobe Systems Incorporated | Automatic measure of visual similarity between fonts |
US9432671B2 (en) | 2014-05-22 | 2016-08-30 | Xerox Corporation | Method and apparatus for classifying machine printed text and handwritten text |
US10140261B2 (en) | 2014-05-23 | 2018-11-27 | Adobe Systems Incorporated | Visualizing font similarities for browsing and navigation using a font graph |
US9691169B2 (en) | 2014-05-29 | 2017-06-27 | Monotype Imaging Inc. | Compact font hinting |
JP6582565B2 (ja) | 2014-06-30 | 2019-10-02 | 株式会社リコー | 画像形成装置 |
US20160182606A1 (en) | 2014-12-17 | 2016-06-23 | Monotype Imaging Inc. | Network Based Static Font Subset Management |
US10115215B2 (en) | 2015-04-17 | 2018-10-30 | Monotype Imaging Inc. | Pairing fonts for presentation |
US10503810B2 (en) | 2015-06-18 | 2019-12-10 | International Business Machines Corporation | Font personalization |
-
2012
- 2012-12-03 US US13/692,593 patent/US9817615B2/en active Active
-
2013
- 2013-11-22 WO PCT/US2013/071519 patent/WO2014088853A1/en active Application Filing
- 2013-11-22 JP JP2015545133A patent/JP2016506560A/ja active Pending
- 2013-11-22 EP EP13860507.6A patent/EP2926275A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20140153012A1 (en) | 2014-06-05 |
WO2014088853A1 (en) | 2014-06-12 |
EP2926275A4 (en) | 2016-08-31 |
EP2926275A1 (en) | 2015-10-07 |
US9817615B2 (en) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9817615B2 (en) | Network based font management for imaging devices | |
EP2849086A2 (en) | Font management for editing electronic documents | |
US20140136957A1 (en) | Supporting Scalable Fonts | |
US8493579B2 (en) | Wireless printing from a device outside the network | |
US9569865B2 (en) | Supporting color fonts | |
US20160182606A1 (en) | Network Based Static Font Subset Management | |
US10572574B2 (en) | Dynamic font subsetting using a file size threshold for an electronic document | |
US20140047329A1 (en) | Network Based Font Subset Management | |
US11574114B2 (en) | Techniques for view capture and storage for mobile applications | |
KR20130126610A (ko) | 스타일 시트를 위한 식별자 | |
US10803240B2 (en) | Generation of document editors having functions specified by role policies | |
US20220114272A1 (en) | Server-side rendering password protected documents | |
US11841842B2 (en) | Method and system for using external content type object types | |
WO2014151668A1 (en) | Supporting Font Character Kerning | |
US10289686B1 (en) | Method and system for using dynamic content types | |
US20120303568A1 (en) | Delivering recommendations based on user content profile | |
US20160196676A1 (en) | Using Character Classes for Font Selection | |
US20180341717A1 (en) | Providing instant preview of cloud based file |