(57)【要約】  文書のフォントを取得するためのコンピュータ実施方法は、電子文書のコンテンツ内で指定されたフォントの各グリフを決定するステップを有し、前記決定は、前記フォント内に含まれる多数のグリフのサブセット識別し、前記サブセットは、その中に格納されたフォントを有さない第一デバイス上で決定される。前記方法は、前記決定に基づいて第二デバイスへの要求を第一デバイス上で生成するステップを有し、前記要求は、前記第二デバイスへのサブセットを識別する。前記方法は、前記要求に応答して第二デバイスから送信された情報を第一デバイスで受信するステップと、前記多数のグリフのサブセットを定義するステップとを有し、前記情報は、前記サブセット以外の多数のグリフの残余を定義しない。前記方法は、受信情報を使用して前記電子文書の提示を前記第一デバイス上で生成するステップを有し、前記提示は、前記多数のグリフのサブセットを有する。
2012520511.tif 000002
【特許請求の範囲】
【請求項１】
文書のためのフォントを取得するためのコンピュータ実施方法であって、
前記方法は、
電子文書のコンテンツ内で指定されたフォントの各グリフを決定するステップと、
該決定に基づいて第二デバイスへの要求を第一デバイス上で生成するステップと、
前記要求に応答して前記第二デバイスから送信された情報を第一デバイスで受信するとともに、多数のグリフのサブセットを定義するステップと、
受信した情報を使用して前記電子文書の提示を前記第一デバイス上で生成するステップと、
を有し、
前記決定は、前記フォント内に含まれる前記多数のグリフの前記サブセットを識別し、
前記サブセットは、その上に格納されたフォントを有していない第一デバイス上で決定され、
前記要求は、前記第二デバイスへの前記サブセットを識別し、
前記情報は、前記サブセット以外の前記多数のグリフの残余を定義せず、
前記提示は、前記多数のグリフの前記サブセットを含む
ことを特徴とするコンピュータ実施方法。
【請求項２】
前記提示の間中、ユーザから前記電子文書の修正を受信するステップと、
前記修正は、前記情報によって指定されない前記フォントの少なくとも別のグリフを有することを決定するステップと、
他のグリフについて前記第二デバイスへの新規の要求を生成するステップと、
前記他のグリフを定義する前記第二デバイスから追加情報を受信するステップと、
前記電子文書内に別のグリフも表示するために、前記提示を更新するステップと、
をさらに有することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記修正が少なくとも他のグリフを含むという前記決定は、前記修正の受信後に所定の時間が経過したことを検知することに応答して実行される、ことを特徴とする請求項２に記載のコンピュータ実施方法。
【請求項４】
前記修正の受信前に、第三デバイスから前記第一デバイス上で前記電子文書を受信するステップをさらに有する、ことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項５】
前記修正は、前記第一デバイス上のアプリケーション・プログラムのインスタンスで受信され、前記電子文書は、前記アプリケーション・プログラムの別のインスタンスを使用して前記第三デバイス上に作成されている、ことを特徴とする請求項４に記載のコンピュータ実施方法。
【請求項６】
前記アプリケーション・プログラムは、前記情報を要求するために前記第二デバイスのアドレスをその中に格納しており、
前記方法は、
前記要求を生成するために前記アプリケーション・プログラム内の前記アドレスに接続するステップ
をさらに有することを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
前記電子文書は、前記情報を要求するために第二デバイスのアドレスをその中に格納しており、
前記方法は、
前記要求を生成するために前記電子文書内の前記アドレスに接続するステップ
をさらに有することを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項８】
前記電子文書は、前記第一デバイスを動作するユーザに向けた広告を有するとともに、前記提示は、前記ユーザへの前記広告を表示するステップを有する、ことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項９】
前記フォントは、前記電子文書内でフォント識別子によって識別されるとともに、前記多数のグリフの前記サブセットの各々は、前記電子文書内でコードポイントを使用して指定される、ことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項１０】
文書のためのカスタムフォントを提供するためのコンピュータ実施方法であって、
前記方法は、
第一デバイス内で第一入力を受信するステップと、
前記第一デバイス内で第二入力を受信するステップと、
電子文書の受信者からの要求に基づいて、情報を提供するように構成された第二デバイスに前記情報を転送するステップと、
その上に格納されたカスタムフォントを有さない第三デバイスに前記電子文書を転送するステップと
を有し、
前記第一入力は、前記電子文書のコンテンツを形成するために前記カスタムフォントの多数のグリフのサブセットを指定し、
前記第二入力は、前記カスタムフォントの前記多数のグリフを定義する情報を有し、
前記第三デバイスは、前記第二デバイスからの前記情報を要求する
ことを特徴とするコンピュータ実施方法。
【請求項１１】
前記電子文書は、前記第三デバイスを動作するユーザに向けた広告を有するとともに、前記第三デバイスは、前記多数のグリフの前記サブセットを有する前記ユーザに前記広告を表示する、ことを特徴とする請求項１０に記載のコンピュータ実施方法。
【請求項１２】
前記フォントは、前記電子文書内でフォント識別子によって識別されるとともに、前記多数のグリフの前記サブセットの各々は、前記電子文書内でコードポイントを使用して指定される、ことを特徴とする請求項１０に記載のコンピュータ実施方法。
【請求項１３】
前記フォントは、非ラテンスクリプトを有するとともに、前記多数のグリフの各々は、非ラテングリフである、ことを特徴とする請求項１０に記載のコンピュータ実施方法。
【請求項１４】
多数のグリフを有する少なくとも１のフォントを定義する情報を有するフォント・データベースと、
デバイスから要求を受信するとともに、それに応答して前記フォント・データベースから取得した情報を転送するように構成されたフォント・パッケージング・コンポーネントと、
を具備し、
前記情報は、前記要求内で識別された前記多数のグリフのサブセットを定義するとともに、前記サブセット以外の前記多数のグリフの残余を定義しない
ことを特徴とするシステム。
【請求項１５】
前記システム内で実行されるとともに、該電子文書を作成するためにユーザによって動作されるアプリケーション・プログラムをさらに有する、ことを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記電子文書は、前記情報を要求するために前記フォント・データベースのアドレスをその中に格納するとともに、前記要求は前記アドレスを使用して生成される、ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記アプリケーション・プログラムは、前記デバイス上でも実行されるとともに、前記情報を要求するために前記フォント・データベースのアドレスをその中に格納しており、かつ前記要求は前記アドレスを使用して生成される、ことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記アプリケーション・プログラムは、前記電子文書の修正を入力するために前記デバイスのユーザに対して準備し、前記デバイスは、前記修正が、前記情報によって指定されない前記フォントの少なくとも別のグリフを有するという決定に基づいて、前記フォントサーバへの新規の要求を生成する、ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記フォント・データベースおよび前記フォント・パッケージング・コンポーネントを有するフォントサーバをさらに具備し、前記アプリケーション・プログラムは、前記電子文書を作成する中で該フォントサーバと対話する、ことを特徴とする請求項１５に記載のシステム。
【請求項２０】
前記フォントサーバは、前記アプリケーション・プログラムを利用可能なフォントと通信する、ことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理に関する。
【０００２】
関連出願に対する相互参照
本願は、発明の名称を“フォントグリフの提供”として、２００９年３月１１日に出願された米国特許出願第１２／４０１，２１７の優先権を請求するとともに、その内容はこの引用によって本願明細書に組み込まれる。
【背景技術】
【０００３】
コンピュータシステムは、多様な種類のコンテンツを分配することに向いている。コンテンツの一例は、広告を出すことであり、広告は、２、３だけ例を挙げるとコンピュータスクリーン上、テレビ画面上およびビルボード上に表示されうる。広告のようなコンテンツは、一般の対象聴衆の全てのメンバに表示するために作成されるか、またはコンテンツの表示は、例えば、ユーザごと(user-by-user basis)に決定されうる。
【０００４】
コンテンツ中に含まれるテキストは、１または２以上のフォントを使用して生成されうる。フォントは、一般例が、タイムズ(Times)、クーリエ(Courier)、およびヘルヴェティカ(Helvetica)である完全な書体を構成する文字を含む。英語以外の言語でのコンテンツは、メッセージのレンダリングのために非ラテンスクリプトを使用できる。フォントは、時々広告など特定の電子文書と一緒にパッケージ化されている。ファイル中で収集されるとき、いくつかの非ラテンスクリプトは、約20MBなど記憶領域の相当量を占有しうる。
【発明の概要】
【課題を解決するための手段】
【０００５】
第１の態様では、文書のためのフォントを取得するためのコンピュータ実施方法は、電子文書のコンテンツ中で指定されたフォントの各グリフを決定するステップを有し、前記決定は、フォント中に含まれる多数のグリフのサブセットを識別し、前記サブセットはそこに格納されたフォントを有していない第一デバイス上で決定される。前記方法は、前記決定に基づいて第二デバイスへの要求を第一デバイス上で生成するステップを有し、前記要求は、第二デバイスへの前記サブセットを識別する。前記方法は、要求に応じて第二デバイスから送信された情報を第一デバイスで受信するステップと、多数のグリフのサブセットを定義するステップとを有し、前記情報は、前記サブセット以外の多数のグリフの残余を定義しない。前記方法は、前記受信した情報を使用して電子文書の表示を第一デバイス上で生成するステップを有し、前記表示は多数のグリフのサブセットを有する。
【０００６】
実施形態は、以下の特徴のいずれかまたは全てを有しうる。コンピュータ実施方法は、表示の間ユーザからの電子文書の修正を受信するステップと、前記修正は情報によって指定されないフォントの少なくとも別のグリフを有することを決定するステップと、他のグリフについて前記第二デバイスへの新規の要求を生成するステップと、他のグリフを定義する第二デバイスからの追加情報を受信するステップと、電子文書内の他のグリフをも表示するために表示を更新するステップと、をさらに有する。修正が少なくとも他のグリフを有するという決定は、修正が受信された後、所定の時間が経過することを検知するステップに応答して実行される。コンピュータ実施方法は、修正を受信する前に第三デバイスから第一デバイス上で電子文書を受信するステップをさらに有する。修正は、第一デバイス上でアプリケーション・プログラムのインスタンス中で受信され、電子文書は、アプリケーション・プログラムの別のインスタンスを使用して第三デバイス上で作成されている。アプリケーション・プログラムは、その中に情報を要求するための第二デバイスのアドレスを格納し、前記方法は、前記要求を生成するためのアプリケーション・プログラム内のアドレスにアクセスするステップをさらに有する。電子文書は、その中に情報を要求するための第二デバイスのアドレスを格納し、前記方法は、要求を生成するために電子文書内のアドレスにアクセスするステップをさらに有する。電子文書は、第一デバイスを動作させるユーザ向けの広告を有し、前記表示は、ユーザに対する広告を表示することを有する。フォントは、電子文書内でフォント識別子によって識別されるとともに、多数のグリフの各サブセットは、電子文書内でコードポイントを使用して指定される。
【０００７】
第２の態様では、文書のためにカスタムフォントを提供するためのコンピュータ実施方法は、第一デバイス内で第一入力を受信するステップを有し、前記第一入力は、電子文書のコンテンツを形成するためにカスタムフォントの多数のグリフのサブセットを指定する。前記方法は、前記第一デバイス内で第二入力を受信するステップを有し、前記第二入力は、前記カスタムフォントの多数のグリフを定義する情報を有する。前記方法は、電子文書の受信者からの要求に基づく情報を提供するように構成された第二デバイスに情報を転送するステップを有する。前記方法は、そこに格納されたカスタムフォントを有していない第三デバイスに電子文書を転送するステップを有し、第三デバイスは、第二デバイスからの情報を要求する。
【０００８】
実施形態は、以下の特徴のいずれかまたは全てを有しうる。電子文書は、第三デバイスを動作させるユーザに向けた広告を有し、第三デバイスは、多数のグリフのサブセットを有するユーザに対する広告を表示する。フォントは、電子文書内でフォント識別子によって識別されるとともに、多数のグリフの各サブセットは、電子文書内のコードポイントを使用して指定される。フォントは、非ラテンスクリプトを有するとともに、多数のグリフの各々は、非ラテングリフである。
【０００９】
第３の態様では、システムは、多数のグリフを有する少なくとも１のフォントを定義する情報を有するフォント・データベースを具備する。システムは、デバイスからの要求を受信するように構成されたフォント・パッケージング・コンポーネントを有するとともに、フォント・データベースから取得された転送情報に応答して、前記情報は、要求内で識別された多数のグリフのサブセットを定義し、かつサブセット以外の多数のグリフの残余ではない。
【００１０】
実施形態は、以下の特徴のいずれかまたは全てを有しうる。システムは、システム内で実行されるアプリケーション・プログラムをさらに有し、かつ電子文書を作成するためにユーザによって動作される。電子文書は、その中に情報を要求するためにフォント・データベースのアドレスを格納するとともに、要求はアドレスを使用して生成される。アプリケーション・プログラムはまた、デバイス上で実行されるとともに、その中に情報を要求するためのフォント・データベースのアドレスを格納し、かつ前記要求はアドレスを使用して生成される。アプリケーション・プログラムは、電子文書の修正を入力するためにデバイスのユーザに対して準備し、かつ修正が情報によって指定されないフォントの少なくとも別のグリフを有することの決定に基づいて、デバイスはフォントサーバへの新規の要求を生成する。システムは、フォント・データベースおよびフォント・パッケージング・コンポーネントを有するフォントサーバをさらに含み、前記アプリケーション・プログラムは電子文書を作成することおいてフォントサーバと対話する。フォントサーバは、アプリケーション・プログラムにフォント有効性を伝達する。
【発明の効果】
【００１１】
実施形態は、以下の利点のいずれかまたは全てを有しうる。電子文書の提示は、フォントの動的な提供によって改善されうる。電子文書のために必要とされるフォントのグリフのサブセットは、パッケージ化されるとともに、文書を表示する予定のデバイスに提供される。文書作成者は、文書のためのカスタムフォントを定義できるとともに、文書を受信するシステムが表示のためのフォントを要求するサーバにカスタムフォントをアップロードできる。
【００１２】
１または２以上の実施形態の詳細は、添付の図面および以降の記載から明らかになる。他の特徴および利点は、明細書および図面から、ならびに特許請求の範囲から明らかになる。
【００１３】
種々の図面中の同様の参照記号は、同一要素を示す。
【図面の簡単な説明】
【００１４】
【図１】電子文書を作成するために使用されうるグラフィカル・ユーザインターフェース例を示す。
【図２】フォントの一部または全てを提供しうるシステム例を示す。
【図３】フォントサーバを有するシステム例を示す。
【図４】コンパイル時間およびファイルサイズの例のテーブルを示す。
【図５】文書のためのフォントを取得するための例示的方法のフローチャートを示す。
【図６】文書のためのカスタムフォントを提供するための例示的方法のフローチャートを示す。
【図７】本明細書内に記載されたコンピュータ実施方法に関連して使用されうるコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１５】
図１は、電子文書を作成するために使用されうる例示的なグラフィカル・ユーザインターフェース100を示す。いくつかの実施形態では、広告デザイナなど文書作成者は、１または２以上の他の人々（例えば編集者）によるレビューのための文書、および／または１または２以上の他の人々（例えば受信者）に表示するための文書（例えば広告）を作成するためにユーザインターフェース100を使用する。例えば、前記インターフェース100は、作成者が文書中で１または２以上のフォント（例えば、既存のフォントまたは作成者によって定義されたカスタムフォント）を使用できるようにすることが可能であり、作成された文書を受信するシステムまたはアプリケーションは、文書を表示するために必要なだけのフォントを、指定のフォントサーバから読み出すことができる。
【００１６】
インターフェース100は、プレビュー領域102を有しうる。プレビュー領域102は、画像、グラフィックス、テキスト、リンク、または作成者が文書内に含めるために選択する任意の他のコンテンツなど、１または２以上のコンテンツ部分を有しうる。ここで、プレビュー領域102は一般に、中でもテキスト部分104A-Cを有する。インターフェース100は、文書のための書式設定コンテンツ専用の１または２以上の領域106を有しうる。いくつかの実施形態では、書式設定は、含まれたコンテンツに対して部分単位ベース（portion-by-portion basis）で適用されうる。例えば、領域106Aは、部分104Aのための１または２以上の書式設定態様を選択するために使用されることができ、かつ領域106Bは、同様に部分104Bのために使用できる、などである。いくつかの実施形態では、作成者は、領域106を使用して、部分のテキスト・コンテンツを入力でき、部分のためのフォントを選択でき、および／または部分のための色を選択できる。例えば、ここのテキスト部分104Aは、「#000000」として識別された色でフェルト・チップ・ローマン・ボールド（Felt Tip Roman Bold）フォントを使用して書き込まれた「ヘッドライン」コンテンツを有する。
【００１７】
例えば、広告のような作成された文書は、表示のために１または２以上のフォントの使用を要求されるコンテンツ部分を有する。すなわち、文書が別のユーザ、エディタまたは最終受信者などに転送されるとき、受信システムは、フォントの一部または全部を使用する。要求されたフォントは、受信システム内に格納された電子文書かそれ以外の中に組み込まれうる。そうだとすれば、受信システムはその所在からフォントを取得するとともに、文書を表示できる。他の例では、フォントは、動的フォントサーバから入手可能であり、かつ受信システムは、特定文書とともに使用するためにフォントサーバからフォントを要求できる。いくつかの実施形態では、表示のために必要な量のフォントが、要求され、および／または転送される。例えば、受信システムが、例えばフォントのグリフの約10％だけを必要とする場合、システムは、要求でこれを命令することができ、かつフォントサーバは、要求に応答してそのサブセットをパッケージ化するとともに返信することができる。
【００１８】
図２は、フォントの一部または全部を提供可能な例示的なシステム200を示す。システム200は、フォント・データベース204内の既存フォントおよび／またはカスタムフォントを有しうるコンピュータシステム202を有することができる。コンピュータシステム202は、限定しないが、サーバデバイスを具備する任意の種類のコンピュータ・デバイスを有することができる。フォント・データベース204は、多数のグリフ、上述の例で述べたフェルト・チップ・ローマン・ボールド・フォントのいくつかまたは全てのグリフなど、を有する少なくとも１のフォントを定義する情報を有する。コンピュータシステム202は、任意の種類のネットワーク206、ローカルネットワークおよび／またはインターネットなどに接続されうる。ネットワーク206を介して、コンピュータシステム202は、１または２以上の他のシステムと、編集システム208および／またはエンドユーザ・システム210などと通信できる。例えば、コンピュータシステム202は、広告などの電子文書を表示することにおいて、システム208および／または210によって使用するための１または２以上のグリフを提供できる。
【００１９】
いくつかの実施形態では、フォント・データベース204は、以下のフォント情報アイテムのいくつかまたは全てを含むことができる：フォント識別子、フォント名、フォント言語、フォント・スクリプト、ユニコード文字を利用可能なフォント、フォントのイメージプレビュー、ユーザ識別子（例えば、カスタム定義フォント）、ベースフォント・ファイル・バイト、および／またはベースフォント・ファイル・ハッシュである。いくつかの実施形態では、フォント名は、英語用のフォント名、中国語用のフォント名などを備えることよってローカライズされうる。ローカルフォント名は、異なる地域でユーザに利用可能なフォントを表示することに使用されうる。フォント・データベース204にアップロードされるフォント（カスタムフォントなど）について、フォントのための基本的な登録が、実施されうる（いくつかの実施形態では、言語の決定および／またはスクリプトの決定を含む）。フォント・データベース204は、例えば、以降の使用ケースに機能的に提供するために、１または２以上の構成要素にインターフェースできる。ドキュメント作成者は、編集の間、関連性のあるフォントのリストを表示されうる。例えば、各フォントのための言語情報は、ユーザ選択を可能にするなどに使用されうる。例えば、各フォントに利用可能なグリフについての情報は、例えば指定の文字を提供できないとき、ユーザフィードバックなどのために使用されうる。例えば、フォントの所有権についての情報が、特定のアカウントのカスタムフォントを表示するためなどに維持されうる。カスタムフォントはアップロードされうる。例えば、カスタムフォントの所有者は、登録されうる。例えば、フォントについての情報は、利用可能な文字など登録されうる。例えば、一意のフォント識別子が生成されうる。例えば、アカウント単位のクオータ（quota）は、設定および追跡されうる。オリジナル・フォント・ファイル・バイトへのアクセスは、ローカルファイル・キャッシュへのコピーのためなどに適用されうる。
【００２０】
コンピュータシステム202は、フォント・パッケージャ212を具備できる。フォント・パッケージャ212は、特定の文書に必要なグリフを有するとともに、.swfファイルなどのファイルにグリフをコンパイルするサブセットに任意のフォントを配分するために必要な設備を有しうる。いくつかの実施形態では、フォント・パッケージャ212は、システム208および／または210などのデバイスからの要求を受信できる。システムが、電子文書を表示または別の方法で提示するための一定のフォントを必要とするので、要求が生成される。例えば、要求は、システム208および／または210の必要とする特定のフォントのグリフを識別できる。要求に応答して、システム202はフォント・データベース204から取得した情報を転送できる。いくつかの実施形態では、そのような情報は、要求中に識別された多数のグリフのサブセットを定義できるとともに、サブセット以外の多数のグリフの残余を定義しない。例えば、応答中の情報は、特定フォントの指定グリフのみを含む。フォントおよび／またはグリフは、情報の任意の適切な構造を使用して定義される。例えば、フォントは、電子文書中のフォント識別子によって識別されうるとともに、１または２以上のグリフは、電子文書中のコードポイントを使用して指定されうる。
【００２１】
いくつかの実施形態では、フォント・パッケージャ212は、フォント・データベース204内のフォントのためのフォント識別子を有するラベルされたフォント・サブセットを使用して要求されたパッケージを生成できるとともに、添付のベースファイルと、サブセットが参照されるフォント名を有するラベルと、コードポイントのセット（例えば、ユニコードセット）とが、パッケージ化される。
【００２２】
文書作成者は、電子文書を管理する１または２以上の特徴の中で、フロントエンド・アプリケーション214を使用できる。いくつかの実施形態では、フロントエンド・アプリケーション214は、インターフェース100（図１）を生成でき、および／または広告などの文書を作成するために使用されうる。フォント・データベース204は、例えば、１または２以上の利用可能なフォントが領域106（図１）で識別されうるような、フロントエンド・アプリケーション214にフォント有効性情報216を提供できる。フロントエンド・アプリケーション214は、フォント・データベース204に１または２以上のアップロードされるフォント218、例えば文書作成者がデータベースに提供するカスタムフォントを提供できる。カスタムフォントは、フォントグリフは１以上のフォントサイズおよびスタイル（例えば、ボールド体など）で生成されうるようなベクトル・グラフィックスのための定義を作成することによってなど、任意の適切な方法で定義される。例えば、フォントは、例えば２〜３例を挙げればトゥルータイプフォント、オープンタイプ・フォント、またはタイプ１フォントの形式など、任意の適切なフォント・フォーマットを使用して定義されうる。
【００２３】
フォント・データベース204は、フォント・パッケージャ212に１または２以上のベースフォント・ファイル220を提供できる。例えば、フォント・データベース204は、システム208および／または210など別のシステムによって求められるグリフを提供できる。フォント・パッケージ212は、例えば.swfファイルまたは任意の他の適切なフォーマットの形式で取得したフォントを使用してパッケージ化されたフォント222を生成できる。いくつかの実施形態では、全てのフォントは、フォント・データベースからフォント・パッケージャまで利用可能となり、必要なグリフを選択するともにグリフをパッケージ化する。いくつかの実施形態では、フォント・パッケージャは、フォント・データベースから必要とされるグリフのみを要求し、受信後にそのグリフをパッケージ化する。
【００２４】
フロントエンド・アプリケーション214は、パッケージ化されたフォント222について、１または２以上のアクションをとることができる。例えば、フロントエンド・アプリケーションは、電子文書を表示または別の方法で提示する中で使用するためのシステム208および／または210にパッケージ化されたフォント222を転送できる。他の例として、フロントエンド・アプリケーションは、電子文書のバージョンを作成する中で、パッケージ化したフォント222を使用できる（例えば、コードポイントおよび／または作成者によって選択された実際のグリフを有する文書内の他のグリフのプレイスホルダを再配置することによって）。そのような電子文書の作成されたバージョンは、静的コンテンツ・サーバ224内に格納されうる。いくつかの実施形態では、作成された文書の画像は、サーバ224内に格納されうるとともに、その後１または２以上の閲覧者に提供されうる。例えば、特定のフォントを使用して作成された広告は、サーバ224内に格納されうるとともに、所定のイベント、ユーザが特定のサーチクエリに入力する、または一定のページまたはサイトに訪問するなどに基づいて、エンドユーザ・システム210のいくつかまたは全てに提供されうる。
【００２５】
電子文書がサーバ224内などに格納されることが、上記に記載されている。他の例として、パッケージ化したフォントが格納されうる。いくつかの実施形態では、このことによって、多数の文書にパッケージ化したフォントを参照および使用することを許可できる。例えば、広告文書は、すべてが同じテキストを含む、異なるサイズバリエーション内に存在し、またはいくつかのバリエーションは、別のバリエーションのサポートされたテキストのサブセットのみを使用できる。格納されたフォント・パッケージ、フォント.swfファイルなどによって、多数のバリエーションが共通ファイルを使用できる。
【００２６】
編集システム208は、電子文書226を編集するために使用されうる。例えば、文書226は、フロントエンド・アプリケーション214を使用して広告作成者によってシステム202上に作成されていてもよい。編集者は、同じアプリケーション214または別のアプリケーションを使用して、文書226内で選択された変更を行うことができる。従って、あるユーザが、あるデバイス上で電子文書226を作成できるとともに、別のユーザは別のデバイス上で電子文書226を変更できる。他のデバイス（例えばシステム208および／または210）は、例えば、文書内で定義された各コードポイントを読み込むことによって、電子文書226がどのグリフを要求しているかを決定できる。他のデバイスは、そのような決定に基づいてシステム202への要求を生成できる。例えば、要求は必要とされるグリフのサブセットを識別できる。いくつかの実施形態では、フォントは、非ラテンスクリプト（限定しないが、中国語、日本語、及び韓国語の言語で使用されるスクリプトなど）を含む。例えば、電子文書226に要求された多数のグリフの各々は、非ラテングリフでありうる。ゆえに、電子文書226は、システム208および／または210を使用して提示されうるので、文書は、要求され、かつフォント・データベース204から受信したグリフを含んでいることになる。
【００２７】
さらに、電子文書226の編集が実行されうる。いくつかの実施形態では、システム208および／または210は、編集者が文書中にまだ使用されていない１または２以上グリフを入力するかどうかを検知できるとともに、必要な場合に、任意のそのようなグリフを要求し、かつフォント・データベース204から任意のそのようなグリフを受信できる。文書226は、要求されたグリフが受信されたとき、更新されうる。いくつかの実施形態では、修正された文書がローカルデバイス上にまだ格納されていない少なくとも１の別のグリフを有するという決定は、所定のイベント、ユーザからの明確なリフレッシュコマンドまたは一定時間のユーザの無活動などに基づいて実行されうる。例えば、編集者が電子文書226の修正の作業をしていると仮定してください。ユーザが文書内で変更を行い、かつユーザからの更なる入力なしに一定の時間が過ぎた後、システムは自動的に修正された文書がまだ存在しない任意の追加のグリフを要求するかどうかを判断できる。その場合、要求されたグリフが要求されうる。要求しているデバイス上のこの機能、および／または他の機能は、ジャバスクリプト(Java(登録商標)Script)コードによってなど、スクリプトの任意の形式の命令の実行によって提供されうる。
【００２８】
現在要求されている以上のグリフが要求されうる。例えば、フォント・パッケージャ212から要求されたグリフ、および応答内で受信されたグリフは、その点まで文書内で入力されたグリフを含むことのみを必要とするわけではない。いくつかの実施形態では、アプリケーション214および／または実施されたシステムは、使用する可能性に基づいて１または２以上の想定および／または外挿を作成するように構成されうるとともに、使用する可能性に基づいて対応するグリフを要求できる。例えば、ユーザがラテンアルファベットから文字「abc」を入力する場合、文字の全範囲a-zは、ラテンテキストのさらなるユーザ入力を見越して、要求されうる。
【００２９】
いくつかの実施形態では、要求されたフォントがフォント・データベース214内に存在しない場合など、遭遇する状況に応じて例外が生成されうる。反対に、１または２以上の問題が、明確に無視されてもよい。いくつかの実施形態では、例外は無効なフォント範囲のために生成されない。例えば、要求がベースフォント内に存在しない１または２以上の文字を有するフォント・サブセットについて作成される場合、文字は要求に応答して省略／無視される。
【００３０】
グリフは、フォント・データベース204のアドレスを使用して要求されうる。例えば、フォント有効性情報によってカバーされた各フォントは、フォント識別子によって識別されうる。求められるグリフは、フォントおよび指定のグリフの識別を有するフォント・パッケージャ212に接続することによって要求されうる。いくつかの実施形態では、電子文書内に組み込まれていないフォント、および別の方法で受信しているシステムに利用できないフォントを取得するための場所についての必要な情報は、文書226内に含まれうる。例えば、文書226は、文書のためのフォントを要求するためのリソースとして、コンピュータシステム202および／またはフォント・パッケージ212を識別する情報を有しうる。いくつかの実施形態では、フォントを取得するための必要情報は、ブラウザおよび／またはフロントエンド・アプリケーション214内など、文書を扱う適用可能なプログラム内に含まれうる。例えば、フロントエンド・アプリケーション214は、文書が作成されたデバイス上（例えばシステム202上）および文書が編集されるべきデバイス上（例えばシステム208上）の両方にインストールされうる。プログラム214は、必要なフォントを探すとともに取得するために、コンピュータシステム202および／またはフォント・パッケージ212の内部認証を使用できる。
【００３１】
エンドユーザ・システム210は、１または２以上の電子文書に接続するために、または１または２以上の電子文書を編集するために使用されうる。いくつかの実施形態では、エンドユーザ・システムは、パーソナルコンピュータ、モバイルデバイスまたは携帯電話など、コンピュータ・デバイスの任意の種類を含みうる。例えば、事前定義されたフォント（カスタムフォントなど）を使用している広告は、消費者によって動作されるデバイス上に表示されうる。
【００３２】
図３は、フォントサーバ302を含む例示的なシステム300を示す。いくつかの実施形態でシステム200（図２）の構成要素に対応しうる構成要素は、対応する参照番号を使用して識別される。いくつかの実施形態では、サーバ302は、フォント・パッケージャ212として同一のインターフェースを実装するとともに、サーバへのブロックコールのラッパとして動作する。例えば、標準クライアント−サーバフレームワークを使用する実施形態は、フロントエンド・プログラム214内でコード依存の減少または最小化を許しうる。
【００３３】
静的フォント・データベース304は、システム300内に含まれうる。いくつかの実施形態では、データベース304は、有効フォントについてのクエリのみを許可できる。例えば、データベース304は、フォントデータ上でアプリケーション依存（例えばアプリケーション214によって）を直接的に回避するためなど、サーバ302内にカプセル化されうる。
【００３４】
例えば、パッケージ化されたフォントは、エンドユーザ・システムまたは編集者による直接の受信のため、またはサーバ224内での配置のためなど、フロントエンド・アプリケーション214による受信のためにサーバ名302によって提供されうる。
【００３５】
図４は、例示的なコンパイル時間およびファイルサイズを有するテーブル400を示す。ここで、カラム402は、どのフォントが特定の文字または複数の文字によって関係があるとされるかを示す。アンチエイリアス処理カラム404は、高度なアンチエイリアス処理がカラム402内で識別されたフォントのために提供されているかどうかを示す。文字カラム406は、どの文字が各例中で識別されたフォントを使用して定義されるかを示す。コンパイル時間カラム408は、ミリ秒で平均コンパイル時間を示す。ファイルサイズ・カラム410は、カラム406内で識別された文字のために生成された.swfファイルのバイトでサイズを示す。
【００３６】
図５は、文書のためのフォントを取得するための例示的な方法500のフローチャートを示す。いくつかの実施形態では、方法500は、コンピュータ可読媒体、例えばシステム200および／またはシステム300中の、プロセッサ実行可能な命令によって実行されうる。いくつかの実施形態では、より多くのステップまたはより少ないステップが実行されうる。別の例として、１または２以上のステップが、別の順序で実行されうる。
【００３７】
ステップ510では、電子文書のコンテンツ内で指定されたフォントの各グリフが決定される。決定は、フォント内に含まれる多数のフォントのサブセットを識別する。サブセットは、そこに格納されたフォントを有していない第一デバイス上で決定される。例えば、システム208および／または210は、システムが対応するフォントを有していない電子文書226のグリフを決定できる。
【００３８】
ステップ520では、第二デバイスついての要求は、決定に基づいて生成される。第二デバイスについての要求は、サブセットを識別する。例えば、システム208および／または210は、システム202および／またはフォント・パッケージャ212への要求を生成できる。
【００３９】
ステップ530では、情報は第一デバイスで受信される。情報は、要求に応答して第二デバイスから送信されるとともに、多数のグリフのサブセットを定義する。情報は、サブセット以外の多数のグリフの残余を定義しない。例えば、システム208および／または210は、システム208／210が文書の表示に必要とするフォントのそのグリフのみを有する.swfファイルをフォント・パッケージャ212から受信できる。文書が後に修正された場合、別の要求が第一の要求によってカバーされていない任意の追加のグリフのために生成されうる。
【００４０】
ステップ540では、電子文書の提示は、受信された情報を使用して生成される。提示は、多数のグリフのサブセットを含む。例えば、システム208／210は、ユーザが文書変更を行うことのできる編集プログラム内など、電子文書226を表示、印刷、または別の方法で視覚化できる。
【００４１】
図６は、文書のためのカスタムフォントを提供するための例示的な方法のフローチャートを示す。いくつかの実施形態では、方法600は、コンピュータ可読媒体、例えばシステム200および／またはシステム300内で、プロセッサ実行可能な命令によって実行されうる。いくつかの実施形態では、より多くのステップまたはより少ないステップが実行されうる。別の例としては、１または２以上のステップが、別の順序で実行されうる。
【００４２】
ステップ610では、第一入力が第一デバイス内で受信される。第一入力は、電子文書のコンテンツを形成するためにカスタムフォントの多数のグリフのサブセットを指定する。例えば、文書作成者は、フェルト・チップ・ローマン・ボールド・フォントの文字を含ませるように、電子文書226、広告などを定義するために、フロントエンド・アプリケーション214を使用できる。
【００４３】
ステップ620では、第二入力が第一デバイス内で受信される。第二入力は、カスタムフォントの多数のグリフを定義する情報を有する。例えば、作成者は、フロントエンド・アプリケーション214を使用して、フェルト・チップ・ローマン・ボールド・フォントを定義できる。
【００４４】
ステップ630では、情報は、電子文書の受信者からの要求に基づいて、情報を提供するように構成された第二デバイスに転送される。例えば、カスタムフォントは、フォント・データベース204および／またはフォント・パッケージャ212にアップロードされうる。
【００４５】
ステップ640では、電子文書は、そこに格納されたカスタムフォントを有していない第三デバイスに転送される。第三デバイスは、第二デバイスからの情報を要求できる。例えば、システム202は、システム208／210に電子文書226を転送でき、フォント・データベース204および／またはフォント・パッケージャ212から必要なグリフを要求できる。
【００４６】
図７は、一般的なコンピュータシステム700の概略的な図である。システム700は、ある実施形態によれば、上述の任意のコンピュータ実施方法に関連して説明された動作のために使用されうる。システム700は、プロセッサ710、メモリ720、記憶デバイス730、および入／出力デバイス740を有する。各コンポーネント710、720、730および740は、システムバス750を使用して内部接続されている。プロセッサ710は、システム700内での実行のための命令を処理できる。ある実施形態では、プロセッサ710は、シングルスレッド・プロセッサである。別の実施形態では、プロセッサ710は、マルチスレッド・プロセッサである。プロセッサ710は、入／出力デバイス740上でユーザインターフェースのためにグラフィカル情報を表示するために、メモリ720内または記憶デバイス730上に格納された命令を処理できる。
【００４７】
メモリ720は、システム700内で情報を格納する。いくつかの実施形態では、メモリ720は、コンピュータ可読媒体である。メモリ720は、いくつかの実施形態では揮発性メモリユニットであり、かつ他の実施形態では、不揮発性メモリユニットである。
【００４８】
記憶デバイス730は、システム700のためのマスストレージを提供できる。ある実施形態では、記憶デバイス730は、コンピュータ可読媒体である。個々の異なった実施形態では、記憶デバイス730は、フロッピー（登録商標）ディスク・デバイス、ハードディスク・デバイス、光学ディスク・デバイス、またはテープ・デバイスでもよい。
【００４９】
入／出力デバイス740は、システム700のための入／出力動作を提供する。ある実施形態では、入／出力デバイス740は、キーボードおよび／またはポインティング・デバイスを有する。別の実施形態では、入／出力デバイス740は、グラフィカル・ユーザインターフェースを表示するための表示ユニットを有する。
【００５０】
記載した特徴は、デジタル電子回路、またはコンピュータ・ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実施されうる。装置は、プログラム可能なプロセッサによる実行のために、情報キャリア内に、例えばマシーン可読記憶デバイス内に実態的に組み込まれたコンピュータ・プログラム製品で実施されることができ、かつ、方法のステップは、入力データに基づく動作および出力の生成によって、記載された実装の機能を実行するために、命令のプログラムを実行するプログラム可能なプロセッサによって実行されうる。記載された特徴は、データ記憶システムと、少なくとも１の入力デバイスと、少なくとも１の出力デバイスとからデータおよび命令を受信するとともに、データ記憶システムと、少なくとも１の入力デバイスと、少なくとも１の出力デバイスとにデータおよび命令を送信するために、接続された少なくとも１のプログラム可能なプロセッサを有するプログラム可能なシステム上で実行可能な１または２以上のコンピュータ・プログラム内で、有効に実装されうる。コンピュータ・プログラムは、一定の活動を実行する、または一定の結果を引き起こすコンピュータ内で、直接的にまたは間接的に使用されうる。コンピュータ・プログラムは、コンパイル言語またはインタプリタ言語を含むプログラミング言語の任意の形式で書かれることができ、かつスタンドアローン・プログラム、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適切な別のユニットを含む、任意の形式で配備されうる。
【００５１】
命令のプログラムの実行のための適切なプロセッサは、例として、汎用目的および専用目的のマイクロプロセッサの両方、およびソルプロセッサ、またはコンピュータの任意の種類のマルチプロセッサのうちの１を含む。一般的に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための１または２以上のメモリとである。一般的に、コンピュータはまた、データファイルを格納するための１または２以上のマスストレージ・デバイスを有するか、または通信するために動作可能に接続されている。そのようなデバイスは、磁気光学ディスクおよび光学ディスクの内蔵ハードディスクおよびリムーバブル・ディスクなど、磁気ディスクを具備する。コンピュータ・プログラム命令およびデータを実体的に具現化するのに適したストレージ・デバイスは、例としてはEPROM、EEPROM、およびフラッシュメモリ・デバイスなどの半導体メモリデバイスと、内蔵ハードディスクおよびリムーバブル・ディスクなどの磁気ディスクと、磁気光学ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを含む不揮発性メモリの全ての形式を含む。プロセッサおよびメモリは、特定用途向け集積回路（ASIC）によって補足されうるか、またはASIC内に編入されうる。
【００５２】
ユーザとの対話に提供するために、特徴はユーザに情報を表示するための陰極線管（CRT）モニタまたは液晶ディスプレイ（LCD）モニタなどディスプレイ・デバイスと、ユーザがコンピュータに入力を提供可能なマウスまたはトラックボールなどキーボードおよびポインティング・デバイスと、を有するコンピュータ上に実装されうる。
【００５３】
特徴は、データサーバなどバックエンド・コンポーネントを有するか、またはアプリケーション・サーバまたはインターネット・サーバなどミドルウェア・コンポーネントを有するか、またはグラフィカル・ユーザインターフェースまたはインターネット・ブラウザを有するクライアント・コンピュータなどフロントエンド・コンポーネントを有するか、またはそれらの任意の組み合わせを有するコンピュータシステム内で実装されうる。システムのコンポーネントは、通信ネットワークなどデジタルデータ通信の任意の形式または媒体によって接続されうる。通信ネットワークの例は、LANと、WANと、インターネットを形成するコンピュータおよびネットワークと、を含む。
【００５４】
コンピュータシステムはクライアントおよびサーバを有することができる。クライアントおよびサーバは、一般にお互いから遠隔であり、かつ典型的に、説明したネットワークなどのネットワークを介して対話する。クライアントおよびサーバの関係は、各々のコンピュータ上で実行しているコンピュータ・プログラムの効力によって発生し、かつお互いにクライアント−サーバ関係を有する。
【００５５】
多数の実施形態が説明された。それにもかかわらず、多数の変形が、この開示の精神および範囲から離れることなく実施されうる。従って、他の実施形態は、以降の特許請求の範囲の範囲内である。
【符号の説明】
【００５６】
200  システム
202  コンピュータシステム
204  フォント・データベース
206  ネットワーク
208  編集システム
210  エンドユーザ・システム
212  フォント・パッケージャ
214  フロントエンド・アプリケーション
216  フォント有効性情報
218  アップロードされるフォント
220  ベースフォント・ファイル
222  パッケージ化されたフォント
224  静的コンテンツ・サーバ
【図１】
2012520511.tif 000003
【図２】
2012520511.tif 000004
【図３】
2012520511.tif 000005
【図４】
2012520511.tif 000006
【図５】
2012520511.tif 000007
【図６】
2012520511.tif 000008
【図７】
2012520511.tif 000009
【国際調査報告】
2012520511.tif 000010
2012520511.tif 000011