(57)【要約】【課題】スタイルマトリクスは、潜在的属性値を保持し、属性参照はスタイルマトリクス内の値をアドレス指定するために使用される、電子文書オブジェクトをレンダリングするための方法およびシステムを提供すること。【解決手段】属性参照および実際の属性値の組み合わせが使用され、一部の属性をテーマおよびアプリケーション固有にし、他の属性をテーマおよびアプリケーションに依存しないようにすることができる。さらに、潜在的スタイルのギャラリをレンダリングするための方法が提供される。さらに加えて、スタイルマトリクスを電子文書アプリケーションに関連付けるための方法が提供される。最後に、スタイル属性型およびスタイル属性値のマトリクスを識別するコンピュータ解釈可能データ構造を格納するためのコンピュータ読み取り可能媒体が提供される。【選択図】図１
2006146884.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトに関連付けられている１つまたは複数の属性参照を読み取るステップと、
前記１つまたは複数の属性参照を使用してスタイルマトリクスの１つまたは複数の属性値をルックアップするステップと、
前記１つまたは複数の属性値を使用して前記オブジェクトのプロパティバッグを生成するステップと、
前記プロパティバッグを使用して前記オブジェクトをレンダリングするステップと
を備えたことを特徴とする電子文書オブジェクトをレンダリングするためのコンピュータ実装の方法。
【請求項２】
バイポーラボリュームコントロールを使用して属性の強度を調節する、前記オブジェクトの属性値を変更するステップをさらに備えたことを特徴とする請求項１に記載のコンピュータ実装の方法。
【請求項３】
オブジェクトの選択を受け取るステップと、
複数の潜在的スタイルの各々について１つまたは複数の属性値をルックアップするステップと、
前記１つまたは複数の属性値を使用して前記複数の潜在的スタイルの各々に対応する複数のプロパティバッグを生成するステップと、
前記複数のプロパティバッグを使用して前記複数の潜在的スタイルの各々に前記オブジェクト選択により示されたオブジェクトをレンダリングするステップと
を備えたことを特徴とするオブジェクトの潜在的スタイルのギャラリを表示するためのコンピュータ実装の方法。
【請求項４】
複数のプロパティバッグを生成するのではなく、単一のプロパティバッグが前記オブジェクトをレンダリングするために１回または複数回再使用されることを特徴とする請求項３に記載のコンピュータ実装の方法。
【請求項５】
電子文書のオブジェクトを選択することにより潜在的スタイルの前記ギャラリが表示されることを特徴とする請求項３に記載のコンピュータ実装の方法。
【請求項６】
コンピュータデスクトップテーマは、デスクトップテーマをプレビューして選択するために前記潜在的スタイルを使用して、前記ギャラリにレンダリングされるオブジェクトとして同様に選択されることを特徴とする請求項３に記載のコンピュータ実装の方法。
【請求項７】
属性参照を使用する実際の属性値をルックアップするためのルックアップモジュールと、
プロパティバッグを作成するように操作可能なプロパティバッグモジュールと、
プロパティバッグを使用してオブジェクトをレンダリングするように操作可能なレンダーモジュールと、
オブジェクトがレンダリングされるスタイルのギャラリをレンダリングするように操作可能なギャラリモジュールと
を備えたことを特徴とする電子文書オブジェクトをレンダリングするためのシステム。
【請求項８】
前記ルックアップモジュールは、属性参照およびハードコーディングされた実際の属性値を共に提供し、前記ハードコーディングされた実際の属性値はアプリケーションおよびデータに依存しないことを特徴とする請求項７に記載のシステム。
【請求項９】
前記プロパティバッグモジュールは、既存のプロパティバッグを変更するように操作可能であることを特徴とする請求項７に記載のシステム。
【請求項１０】
前記プロパティバッグモジュールは、既存のプロパティバッグを削除するように操作可能であることを特徴とする請求項７に記載のシステム。
【請求項１１】
１つまたは複数のスタイルマトリクスをアプリケーションに関連付けるステップと、
オブジェクトをロードするために信号を受け取るステップと、
１つまたは複数のオブジェクト属性参照を前記１つまたは複数のスタイルマトリクスの１つまたは複数の位置にマッピングするステップと
を備えたことを特徴とするスタイルマトリクスを電子文書アプリケーションに関連付けるためのコンピュータ実装の方法。
【請求項１２】
前記オブジェクトをロードするために信号を受け取るステップは、信号を受け取って新しいオブジェクトを作成するステップを含むことを特徴とする請求項１１に記載のコンピュータ実装の方法。
【請求項１３】
スタイル属性型およびスタイル属性値のマトリクスを識別するコンピュータ解釈可能データ構造を格納するコンピュータ読み取り可能媒体であって、前記データ構造は、
属性型に各々対応している１つまたは複数の行と、
属性値に各々対応している１つまたは複数の列と
を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１４】
前記行は属性値に対応し、前記列は属性型に対応することを特徴とする請求項１３に記載のコンピュータ読み取り可能媒体。
【請求項１５】
コンピュータシステムにアクセス可能であり、電子文書オブジェクトをレンダリングするためにコンピュータプロセスを実行するコンピュータプログラムを符号化するコンピュータ読み取り可能媒体であって、前記コンピュータプロセスは、
オブジェクトに関連付けられている１つまたは複数の属性参照を読み取るステップと、
前記１つまたは複数の属性参照を使用してスタイルマトリクスの１つまたは複数の属性値をルックアップするステップと、
前記１つまたは複数の属性値を使用して前記オブジェクトのプロパティバッグを生成するステップと、
前記プロパティバッグを使用して前記オブジェクトをレンダリングするステップと
を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１６】
属性の強度を調節するためにバイポーラボリュームコントロールを使用して前記オブジェクトの属性値を変更するステップをさらに備えることを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１７】
コンピュータシステムにアクセス可能であり、コンピュータプログラムを符号化してオブジェクトの潜在的スタイルのギャラリを表示するコンピュータ読み取り可能媒体であって、
オブジェクトの選択を受け取るステップと、
複数の潜在的スタイルの各々について１つまたは複数の属性値をルックアップするステップと、
前記１つまたは複数の属性値を使用して前記複数の潜在的スタイルの各々に対応する複数のプロパティバッグを生成するステップと、
前記複数のプロパティバッグを使用して前記複数の潜在的スタイルの各々における前記オブジェクト選択により指定されたオブジェクトをレンダリングするステップと
を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１８】
複数のプロパティバッグを生成するのではなく、単一のプロパティバッグが１回または複数回再使用されて前記オブジェクトをレンダリングすることを特徴とする請求項１７に記載のコンピュータ読み取り可能媒体。
【請求項１９】
電子文書のオブジェクトを選択することにより、潜在的スタイルの前記ギャラリが表示されることを特徴とする請求項１７に記載のコンピュータ読み取り可能媒体。
【請求項２０】
コンピュータデスクトップテーマは、デスクトップテーマをプレビューして選択するために前記潜在的スタイルを使用する前記ギャラリにレンダリングされるオブジェクトとして同様に選択されることを特徴とする請求項１７に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、電子文書のオブジェクトに関し、より詳細には、電子文書内のオブジェクトの属性に関する。
【背景技術】
【０００２】
広範囲の電子文書の作成および保守を容易にするため、電子文書アプリケーションとして知られる同様に広範囲のコンピュータアプリケーションが開発された。電子文書アプリケーションには、特に、ワードプロセッサ、スプレッドシート、スライドショープレゼンテーションアプリケーション、およびＷｅｂパブリッシングアプリケーションが含まれる。これらのアプリケーションは多くの場合、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｏｆｆｉｃｅのような、パッケージ製品の形態で同梱されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
かねてからパッケージ製品のユーザーを悩ませてきた１つの問題は、アプリケーション間でインポートした場合にオブジェクトの外観が一致しないことである。たとえば、表をワードプロセッサからプレゼンテーションアプリケーションにインポートすると、その結果得られた表はインポート以前の体裁と著しく異なってしまう場合がある。さらにもう１つの例として、プレゼンテーションプログラムからスプレッドシート文書にグラフィック形状を移動すると、その結果得られる形状が異なる属性設定を備えるようになることも多い。結果として生じるオブジェクトが、異なる線幅、異なる塗りレベル、さらにインポート後にオリジナルとは異なる別のグラフィック効果を備えることがあり、そのため仕上がりが意図したものとは異なる体裁になってしまう。
【０００４】
電子文書アプリケーションに共通するもう１つの問題は、新しいコンテンツの作成に関連する。ユーザーは通常、提供される文書テンプレートのわずかな選択か、手作業によるスタイル属性値の選択かのどちらか一方に決める必要がある。前者は、仕上がりが独自性を欠いていることが多い点で劣る。後者は、容認できるスタイル属性値の組み合わせを見つけることに多大な試行錯誤を伴う場合もある点で劣る。
【０００５】
本発明は、これら諸々の考慮事項に関して行われたものである。
【課題を解決するための手段】
【０００６】
本発明によれば、電子文書内のオブジェクトをレンダリングするためのコンピュータ実装の方法が提供される。最初に、オブジェクトに関連付けられている１つまたは複数の属性参照が読み取られる。次に、実際の属性値を取得するために属性参照にルックアップが実行される。次に、実際の属性値を使用してプロパティバッグが生成される。最後に、オブジェクトは、プロパティバッグを使用してレンダリングされる。
【０００７】
もう１つの態様によれば、本発明は、潜在的スタイルのギャラリを表示する方法に関する。最初に、オブジェクトの選択が受け取られる。次に、複数の潜在的スタイルの各々について１つまたは複数の属性値にルックアップが実行される。次に、複数の潜在的スタイルの各々に対応して複数のプロパティバッグが生成される。最後に、複数のプロパティバッグを使用して複数の潜在的スタイルの各々にオブジェクトがレンダリングされる。
【０００８】
さらにもう１つの態様によれば、本発明は、電子文書オブジェクトをレンダリングするシステムに関する。ルックアップモジュールは、属性参照を使用して実際の属性値をルックアップする。プロパティバッグモジュールは、プロパティバッグを作成し、保持し、および削除する。レンダーモジュールは、プロパティバッグを使用してオブジェクトをレンダリングする。最後に、ギャラリモジュールは、オブジェクトがレンダリングされるスタイルのギャラリをレンダリングする。
【０００９】
さらにもう１つの態様によれば、本発明は、スタイルマトリクスを電子文書アプリケーションに関連付ける方法に関する。最初に、１つまたは複数のスタイルマトリクスはアプリケーションに関連付けられる。次に、オブジェクトをロードするために信号が受け取られる。最後に、１つまたは複数のオブジェクト属性参照は、スタイルマトリクスの１つまたは複数の位置にマップされる。
【００１０】
さらにもう１つの態様によれば、本発明は、スタイル属性型およびスタイル属性値のマトリクスを識別するコンピュータ解釈可能データ構造を格納するためのコンピュータ読み取り可能媒体に関する。データ構造は、属性型にそれぞれ対応する１つまたは複数の行、および属性値にそれぞれ対応する１つまたは複数の列を含んでいる。
【００１１】
本発明は、コンピュータプロセス、コンピュータシステム、あるいはコンピュータプログラム製品またはコンピュータ読み取り可能媒体などの製品として実装することができる。コンピュータ読み取り可能媒体は、コンピュータシステムによって読み取り可能なコンピュータ記憶媒体であり、コンピュータプロセスを実行するために命令のコンピュータプログラムを符号化することができる。コンピュータプログラム読み取り可能媒体はさらに、コンピュータシステムによって読み取り可能なキャリア上の伝搬信号であってもよく、コンピュータプロセスを実行するために命令のコンピュータプログラムを符号化することができる。
【００１２】
本発明を特徴付けるこれらおよびその他のさまざまな特徴および利点は、以下の詳細な説明および関連図を参照することによって明らかとなろう。
【発明を実施するための最良の形態】
【００１３】
本発明およびそのさまざまな実施形態は、図を参照して以下で詳細に説明される。図を参照するにあたって、全体にわたり示される類似した構造および要素は、類似した参照番号で示されている。別のオブジェクトで扱われている図に示されるオブジェクトおよびその参照注釈は、破線を使用して示されている。
【００１４】
一般に、本発明は、電子文書にレンダリングされるオブジェクトへの属性の適用に関連する。属性は、本明細書において「スタイルマトリクス」と呼ばれるデータ構造への参照（「属性参照」）に基づいて定義される。例示的な実施形態によれば、スタイルマトリクスは、電子文書にレンダリングされるオブジェクトに適用できる属性の変化を定義するデータ構造を表している。各属性参照は、スタイルマトリクスに定義されたこれらの変化の１つに関連付けられている。データ構造の他の形態が本発明の範囲内であると考えられることを理解されたい。
【００１５】
この概要を念頭に置いて、図１に、本発明の実施形態によるスタイルマトリクス１００を示す。スタイルマトリクス１００は、さまざまな属性型（たとえばＢｏｒｄｅｒ  Ｌｉｎｅ、Ｆｉｌｌ、およびＥｆｆｅｃｔ）に対応する行１０４、およびさまざまな属性値（たとえばＮｏｎｅ、Ｌｏｗ  Ｉｎｔｅｎｓｉｔｙ、Ｈｉｇｈ  Ｉｎｔｅｎｓｉｔｙ）に対応する列１０２を含んでいる。属性は、マトリクス１００の各列１０２および行１０４の交差において定義されるが、その交差において属性型は属性値と組になっている。たとえば、タイプＢｏｒｄｅｒ  ＬｉｎｅのＬｏｗ  Ｉｎｔｅｎｓｉｔｙ属性値は細線を示すが、タイプＬｉｎｅのＨｉｇｈ  Ｉｎｔｅｎｓｉｔｙ属性値はより太くさらに見やすい線を示す。同様に、タイプＦｉｌｌのＮｏｎｅ属性値は塗りつぶしを行わないが、タイプＦｉｌｌのＬｏｗ  Ｉｎｔｅｎｓｉｔｙ属性値は部分的に影付きの塗りつぶしなどを行う。
【００１６】
本発明の例示的な実施形態によるスタイルマトリクス１００が、属性型Ｂｏｒｄｅｒ  Ｌｉｎｅ、Ｆｉｌｌ、およびＥｆｆｅｃｔと共に示されているが、本発明の範囲を逸脱することなく、スタイルマトリクス１００に追加の属性型（たとえば、背景タイプ、テキスト太さ、影付き効果、中黒の種類など）を追加として、または代替として含めることができることを、当業者であれば理解するであろう。同様に、スタイルマトリクス１００は、３つの例示的な値Ｎｏｎｅ、Ｌｏｗ、およびＨｉｇｈに加えて、またはこれらの値以外に属性値を含むことができる。したがって、スタイルマトリクス１００は、制御される属性型の数（したがって行１０４の数）および制御の感度のレベル（感度の高い制御には一般に、より多くの列１０２が必要になる）の求めるところに従って、図１に示されるものよりも適宜大きいかまたは小さくすることができる。実際、当業者に既知のさまざまなグラフィカル効果（ぼかし、影付き、正反射、３次元、光拡散など）を、本発明の範囲を逸脱することなく、スタイルマトリクス１００によって制御することができる。
【００１７】
本発明がコンピュータシステムとして実装できることを考慮して、図２は、本発明の実施形態を実装できる適切なコンピューティングシステム環境の例を説明するために示されている。最も基本的な構成において、システム２００は、少なくとも１つの処理装置２０２およびメモリ２０４を含んでいる。コンピュータ装置の正確な構成および種類に応じて、メモリ２０４は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこの２つの組み合わせであってもよい。その最も基本的な構成は、図２において破線２０６によって表されている。
【００１８】
メモリ２０４に加えて、システムは、少なくとも１つの他の形態のコンピュータ読み取り可能媒体を含んでいる。コンピュータ読み取り可能媒体は、システム２００によってアクセスできる任意の使用可能な媒体にすることができる。一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を備えることができるが、これらに限定されることはない。
【００１９】
コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたはその他のデータなどの情報のストレージのための任意の方法または技術において実装された揮発性および不揮発性の、取り外し可能および固定式の媒体を含んでいる。メモリ２０４、取り外し可能ストレージ２０８および固定式ストレージ２１０はすべて、コンピュータ記憶媒体の例である。
【００２０】
コンピュータ記憶ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気記憶装置、あるいは望ましい情報を格納するために使用することができ、システム２００によってアクセスすることができる任意の他の媒体を含んでいるが、これらに限定されることはない。そのようなコンピュータ記憶媒体は、システム２００の一部にすることができる。
【００２１】
システム２００はさらに、システムが他の装置と通信できるようにする通信接続２１２も含んでいる。通信接続２１２は、通信媒体の一例である。通信媒体は通常、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、またはその他のデータを搬送波やその他の搬送メカニズムなどの変調データ信号に組み入れ、任意の情報伝達媒体を含んでいる。「変調データ信号」という用語は、１つまたは複数の特性セットを備える信号、または信号の情報を符号化するような方法で変更された信号を意味する。たとえば、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、および音響、ＲＦ、赤外線など無線媒体を含んでいるが、これらに限定されることはない。本明細書で使用されているコンピュータ読み取り可能媒体という用語は、記憶媒体および通信媒体を共に含んでいる。
【００２２】
一実施形態によれば、システム２００は、入力装置２１４および／または出力装置２１６のような周辺装置を含んでいる。例示的な入力装置２１４には、キーボード、コンピュータマウス、ペン、またはスタイラス、音声入力装置、クリック式入力装置などが含まれるが、これらに限定されることはない。例示的な出力装置２１６には、ディスプレイ、スピーカ、およびプリンタなどの装置が含まれるが、これらに限定されることはない。本発明の目的のために、ディスプレイは主出力装置である。これらの装置はそれぞれ当技術分野において既知であるため、本明細書において詳細には説明されない。
【００２３】
コンピューティング環境を念頭に置き、以下の図について、本発明のさまざまな実施形態を実現するプロセスを実装するために実行される論理操作を参照して説明される。これらの論理操作は、（１）コンピューティングシステムで稼動するコンピュータ実装のステップまたはプログラムモジュールのシーケンスとして、および／または（２）コンピューティングシステム内の相互接続された機械論理回路または回路モジュールとして実装される。実装は、本発明を実装するコンピューティングシステムのパフォーマンス要件に応じて選択することができる。したがって、本明細書に説明されている本発明の実施形態を構成する論理操作は、操作、構造上の装置、行為、またはモジュールとしてさまざまに参照される。これらの操作、構造上の装置、行為、またはモジュールが、本発明に添付の請求の範囲に列挙されている本発明の精神および範囲を逸脱することなく、ソフトウェア、ファームウェア、特殊用途デジタル論理、およびその任意の組み合わせにおいて実装されることを、当業者であれば理解するであろう。
【００２４】
ここで図３を参照すると、属性参照を使用してオブジェクトをレンダリングするプロセス３００（以下「レンダリングプロセス」と呼ぶ）が、本発明の実施形態により示されている。属性参照は、図１に示すスタイルマトリクス１００のようなスタイルマトリクスの行１０４および列１０２の交差に対応する。そのように各交差は、本発明の実施形態によりレンダリングされる場合にオブジェクトに適用される属性を定義する。本発明が特定数の属性参照を備えるオブジェクトに限定されることはなく、任意の数の参照が本発明の範囲内で考慮されることを理解されたい。さらに、実際の属性値および属性参照の組み合わせは、本発明の実施形態に従って格納し、または保持することができる。そのような組み合わせは、強制的に一部の属性値を静的値にし、同時に、所与のオブジェクトがインポートされるアプリケーション（したがって属性参照によってアドレス指定されるスタイルマトリクス１００）に基づいて他の値が動的に変化できるようにするために使用することができる。本実施形態は、一部の値をハードコーディングし、しかも他の値をアプリケーション依存またはテーマ依存のままにしておくことのできる機能をアプリケーション開発者にもたらす。
【００２５】
レンダリングプロセス３００は、開始操作３０２で始まり、終了操作３１２で終わる操作フローを使用して実行される。開始操作３０２は、電子文書のオブジェクトの表示を要求するユーザーに対応して開始される。操作フローは、開始操作３０２から取り出し操作３０４に移動する。取り出し操作３０４は、オブジェクトに関連付けられている１つまたは複数の属性参照を取り出す。一実施形態において、各属性参照は、スタイルマトリクス１００の個々の属性値を補充する（ｒｅｆｉｎａｎｃｉｎｇ）交差である行１０４および列１０２によって識別される座標ペアの形態を取る。代替として、属性参照は、スタイルマトリクス１００を表すデータを含むメモリ内の位置を指し示すポインタの形態を取ることができる。さらに、任意に多くのレベルの追加の間接参照（たとえば、スタイルマトリクス１００を含むメモリ内の位置を示すポインタへのポインタ）を本発明の範囲を逸脱することなく実装できることを当業者であれば理解するであろう。取り出し操作３０４が１つまたは複数の属性参照を取り出した後、操作フローはルックアップ操作３０６に移動する。
【００２６】
ルックアップ操作３０６は、取り出した属性参照を使用して、スタイルマトリクス１００内の対応する属性値を検索する。取り出し操作３０４と併せて上記で説明したように、属性参照は、スタイルマトリクス１００の座標アドレスの形態を取るか、または代替として、メモリへのポインタ、または当技術分野で既知の間接参照の他の方法を取ることができる。したがって、ルックアップ操作３０６は、座標を使用してマトリクス１００を全探索するか、または代替として、メモリへのポインタによって指し示される値にアクセスすることにより、参照属性値を見つけることができる。
【００２７】
操作フローは、ルックアップ操作３０６から生成操作３０８に移動する。生成操作３０８は、オブジェクトのプロパティバッグを生成する。一実施形態において、プロパティバッグは、ルックアップ操作３０６によって決められた、オブジェクトに関連付けられている属性値の構造化グループ分けである。生成されたプロパティバッグは永続または一時データ構造であってもよく、一時データ構造の場合、プロパティバッグは、オブジェクトが電子文書にレンダリングされた後（すなわち、後述するレンダリング操作３１０の結果として）に破壊されるかまたは再使用される。また、プロパティバッグが、１つまたは複数の参照属性値に加えて、他のオブジェクト固有または継承された一般データを保持できることも理解されたい。
【００２８】
操作フローは、生成操作３０８からレンダリング操作３１０に移動する。ここでは、プロパティバッグで指定された属性値を使用して電子文書にオブジェクトを適切にレンダリングする。そのようにして、たとえば、線幅、塗りつぶしの種類および階調度、フォント太さ、背景、中黒の種類その他の効果などの指定された属性は、スタイルマトリクス１００に含まれる参照属性値に従って実行される。代替実施形態において、これらの属性は、以下でさらに詳細に説明するように、アプリケーション開発者によってハードコーディングされた参照属性値および属性値の組み合わせに従って実行される。
【００２９】
レンダリング操作３１０によるオブジェクトの実際のレンダリングは、さまざまな方法のうちの１つを使用して達成されるであろう。たとえば、レンダリング操作３１０は、オブジェクトをコンピュータ画面に直接書き込むことができる。代替として、レンダリング操作３１０は、ＡＰＩ（アプリケーションプログラムインターフェース）を呼び出してオブジェクトを描くことができる。当業者に既知の他のレンダリングの方法はさらに、レンダリング操作３１０で使用することもでき、本発明の範囲内であると考えられる。
【００３０】
ここで図４を参照すると、スタイルのギャラリを使用してオブジェクトをレンダリングするプロセス４００（以下「レンダリングプロセス」と呼ぶ）が、本発明の実施形態により示されている。レンダリングプロセス４００は、開始操作４０１で始まり、終了操作４１４で終わる操作フローを使用して実行される。開始操作４０１は、電子文書のオブジェクトの表示を要求するユーザーに対応して開始される。操作フローは、開始操作３０２から受け取り操作４０２に移動する。
【００３１】
受け取り操作４０２は、オブジェクトの選択を受け取る。一実施形態において、選択はユーザーから受け取ることができる。代替実施形態において、アプリケーション開発者は、選択をハードコーディングすることができる。さらにもう１つの実施形態において、選択は、操作の現行モード、文書内の他のオブジェクトの属性値、または他の基準に基づく動的選択方法を使用してアプリケーションによって選択することができる。
【００３２】
操作フローは、受け取り操作４０２から選択操作４０４に移動する。選択操作４０４は、オブジェクトがレンダリングされるスタイルを選択する。選択操作４０４によるスタイルの選択は、一連の事前選択された各スタイルを通じて繰り返されるループを使用して実行されることができる。ここでスタイルは、属性参照の組み合わせ、実際の属性値、またはその組み合わせである。一実施形態において、これらの事前選択されたスタイルは、体裁的に容認できるよう慎重に選択されたスタイルを含むようにアプリケーション開発者が定義することができる。そのような実施形態では、アプリケーションユーザーが試行錯誤を通じてプロフェッショナルで、しかも体裁も魅力的なスタイルに到達しなければならない作業を省いてくれる。
【００３３】
さらに、選択操作４０４は、魅力的な体裁の属性値を取り込んだスタイルマトリクス１００の位置を選択することもできる。そのような位置が、マトリクス座標、マトリクスデータを含んでいるデータメモリへのアドレスポインタ、または当技術分野で既知の他の形態のデータアドレス指定を使用して、本発明の範囲を逸脱することなく参照できることを当業者であれば理解するであろう。代替として、選択操作４０４は、所与の主題に適する属性値を取り込んだスタイルマトリクス１００から選択することができる。
【００３４】
操作フローは、選択操作４０４の実行に続いてルックアップ操作４０６に移動する。ルックアップ操作４０６は、選択されたスタイルに関連付けられている１つまたは複数の実際の属性値を検索する。一実施形態において、ルックアップ操作４０６は、実際の属性値に到達するために間接参照の１つまたは複数の層を横断する作業を伴う。上記で説明しているように、属性参照は、本発明の範囲を逸脱することなく、マトリクス座標、メモリポインタ、または当技術分野で既知の他のデータアドレス指定方法の形態を取ることができる。
【００３５】
操作フローは、ルックアップ操作４０６から生成操作４０８に移動する。生成操作４０８は、オブジェクトのプロパティバッグを生成する。生成操作３０８（図３）と併せて上記で説明しているように、プロパティバッグは、ルックアップ操作３０６によって決められた、オブジェクトに関連付けられている属性値の構造化グループ分けである。さらに前述のように、属性値は、オブジェクトに関連付けられている永続または一時プロパティバッグデータ構造のいずれかにコピーすることができる。さらに、プロパティバッグが、１つまたは複数の実際の属性値に加えて、他のオブジェクト固有の、または継承された一般データを保持することもできる。
【００３６】
操作フローは、生成操作４０８の実行に続いてレンダリング操作４１０に移動する。ここでは、プロパティバッグで指定された属性値を使用して電子文書にオブジェクトを適切にレンダリングする。そのようにして、たとえば、線幅、塗りつぶしの種類および階調度、フォント太さ、背景、中黒の種類その他の効果などの指定された属性は、スタイルマトリクス１００に含まれる参照された実際の属性値に従って実行される。代替実施形態において、これらの属性は、以下でさらに詳細に説明するように、アプリケーション開発者によってハードコーディングされた参照属性値および属性値の組み合わせに従って実行される。
【００３７】
レンダリング操作４１０によるオブジェクトの実際のレンダリングは、さまざまな方法のうちの１つを使用して達成することができる。たとえば、レンダリング操作３１０は、オブジェクトを画面に直接書き込むことができる。代替として、レンダリング操作４１０は、ＡＰＩ（アプリケーションプログラムインターフェース）を呼び出してオブジェクトを描くことができる。当業者に既知の他のレンダリングの方法はさらに、レンダリング操作４１０で使用することもでき、本発明の範囲内であると考えられる。
【００３８】
操作フローは、レンダリング操作４１０から決定操作４１２に移動する。ここでは、選択されたオブジェクトをレンダリングする必要のある追加のスタイルがあるかどうかを判別する。追加のスタイルがレンダリングされる必要がある場合、操作フローは「ＹＥＳ」に分岐して、前述の選択操作４０４に進む。追加のスタイルを表示する必要がない場合、操作フローは「ＮＯ」に分岐し、終了操作４１４において完了する。
【００３９】
１つの実施形態において、ギャラリにレンダリングされたスタイル描写は、クリックするか、またはそのスタイルに関連付けられている属性値を選択して確定することができる。アプリケーションで作成された新しいオブジェクトは、選択されたスタイルに従って属性値を持つようになる。したがって、ギャラリは、各属性値を手作業および／または単独で選択するのではなく、わずか１回のクリックを使用して体裁的にも互換性のある属性の集合を選択する効率的な方法をもたらす。もう１つの実施形態において、ギャラリは、各自のスタイルマトリクス（たとえばスタイルマトリクス１００）を表す対応するデータ構造を備えており、そこに各マトリクス位置は複数の属性値を含んでいる。
【００４０】
代替の実施形態において、ギャラリにおけるスタイル選択は、実際にギャラリをレンダリングすることなく全探索することができる。その代わり、「ボリュームコントロール」を使用して、オブジェクトがどの程度際立った（したがって、「大音量」つまり注目度の高い）スタイルを使用するかを調節することができる。たとえば、前記ボリュームコントロールは、一方の端点で最小限の際立ったスタイルを備え、もう一方の端点で最大限の際立ったスタイルを備えるスライダバーの形態を取ることができる。コントロールの連続的な上昇はそれぞれ、スタイルマトリクスまたはギャラリのさらに際立った事前選択の位置に対応する。本明細書では、例示的な実施形態に従ってスライダバーについて説明しているが、スクロールホイールおよびキーボードを含むがこれらに限定されない他のＧＵＩコントロールを使用して、選択されている際立ったスタイルの程度を調節できることを理解されたい。
【００４１】
さらにもう１つの実施形態において、ギャラリはレンダリングされ、ギャラリの選択を全検索して際立ったスタイルを連続的に強めるかまたは弱めることを選択するために「ボリュームコントロール」が使用される。さらにもう１つの実施形態において、ユーザーはスタイルギャラリとは関係なく属性値を手作業で変更するが、スタイルマトリクスに提供される予め決められた相互に互換性のある属性値の「体裁的に安全なゾーン」を残しておくことをポップアップウィンドウまたは同様の通知で警告される。さらになお、もう１つの実施形態では、ユーザーが、スタイルマトリクス（たとえばスタイルマトリクス１００）およびスタイルギャラリを使用してコンピュータのデスクトップテーマ設定を変更し、電子文書アプリケーションオブジェクトとしてコンピュータデスクトップをレンダリングする作業を伴う。さらになお、もう１つの実施形態では、ユーザーが、スタイルマトリクスおよびスタイルギャラリを使用して文書テーマ設定を制御する作業を伴う。この実施形態において、マトリクスを別のマトリクスで代用すると、文書内の複数の要素に一括変更をもたらす。このようにして、ユーザーが新しい「外観」ごとにテンプレートを手作業で作成する必要なく、多種多様なビジュアルスタイルを生成することができる。
【００４２】
ここで図５を参照すると、スタイルマトリクス（たとえばスタイルマトリクス１００）を作成するためのプロセス５００（「作成プロセス」）が、本発明の実施形態により示されている。作成プロセス５００は、既存のスタイルマトリクス（たとえば１００）を変更するために行うこともでき、開始操作５０１で始まり、終了操作５０８で終わる操作フローを使用して実行される。開始操作５０１は、１つまたは複数のスタイルマトリクス（たとえばスタイルマトリクス１００）の作成を要求するユーザーに対応して開始され、関連付け操作５０２に進む。関連付け操作５０２は最初に、１つまたは複数の新しいスタイルマトリクス（たとえばスタイルマトリクス１００）を所与のアプリケーションに関連付ける。一実施形態において、そのようなマトリクス（たとえばスタイルマトリクス１００）は、所与のスタイルマトリクス位置のさまざまなスタイル属性間の体裁的な互換性を最大限にするように多種多様なオブジェクトに試行錯誤を用いて開発者が作成することができる。代替の実施形態において、スタイルは、スタイルのすでに存在するライブラリから選択することができる。さらにもう１つの実施形態において、スタイルは、「Ｎｏｎｅ」および「Ｍｏｓｔ  Ｉｎｔｅｎｓｅ」エンドポイントの使用により強度の軸に沿ってミドルポイントを生成する自動化方法を使用してコンピュータに選択される。操作フローは、関連付け操作５０２から受け取り操作５０４に移動し、以下の段落で説明するように、信号の受信を待つ。アプリケーションがユーザーにリリースされた後、ユーザーは、その関連するスタイルマトリクス（たとえばスタイルマトリクス１００）を利用して、スタイル属性の集合をすばやく効率的に選択することができる。そのような場合、受け取り操作５０４では信号を受け取って、新しいオブジェクトを作成するか、既存オブジェクトをロードするか、または別のアプリケーションからオブジェクトをインポートする。次にオブジェクトに関連付けられている属性参照は、マップ操作５０６によってスタイルマトリクス内の対応するスタイルにマップされ、その後操作フローは終了操作５０８において完了する。
【００４３】
図６は、本発明の１つの実施形態を備えるモジュールを示すブロック図である。ルックアップモジュール６０２は、参照ルックアップを実行して実際の属性値を検出する。そのようにしてルックアップモジュール６０２は、前述の本発明の実施形態に従って、それぞれ図３および図４に示されるルックアップ操作３０６およびルックアップ操作４０６を実行する。これらの操作に関連して上記で説明されているように、参照ルックアップは、スタイルマトリクス（たとえば１００）の１つまたは複数の座標の集合によって定義される属性値にアクセスするか、またはメモリへのポインタを使用してスタイルマトリクスデータを含むメモリアドレスにアクセスする作業を伴うことができる。当技術分野で既知のアドレス指定データの他の形態が本発明の範囲内であると考えられることを、当業者であれば理解するであろう。
【００４４】
プロパティバッグモジュール６０４は、プロパティバッグの作成を実行し、ルックアップモジュール６０２で検出した属性値をプロパティバッグに取りこむ。そのようにしてルックアップモジュール６０４は、前述の本発明の実施形態に従って、それぞれ図３および図４に示されるルックアップ操作３０８およびルックアップ操作４０８を実行する。プロパティバッグモジュール６０４はさらに、本発明の実施形態に基づく既存のプロパティバッグに更新を行うように操作可能である。もう１つ実施形態により、プロパティバッグモジュール６０４はさらに、既存のプロパティバッグの削除および／または既存のプロパティバッグの再割り当てを実行してこれらを他のオブジェクトに再使用できるように操作可能である。
【００４５】
レンダーモジュール６０６は、プロパティバッグモジュール６０４によって作成されたプロパティバッグに格納された１つまたは複数の実際の属性値を使用してオブジェクトをレンダリングする。そのようにしてルックアップモジュール６０２は、前述の本発明の実施形態に従って、それぞれ図３および図４に示されるルックアップ操作３１０およびルックアップ操作４１０を実行する。そのようにして、レンダーモジュール６０６は、画面にオブジェクトを直接書き込むように操作可能であるか、または代替としてＡＰＩの使用を通じてオブジェクトをレンダリングすることができる。さらに、レンダーモジュール６０６は、ファイル内のオブジェクトをレンダリングするように操作可能であってもよいが、必ずしも後に表示するために表示装置にレンダリングする必要はない。
【００４６】
ギャラリモジュール６０８は、オブジェクトに割り当てられるさまざまなスタイルを含むギャラリをレンダリングする。１つの実施形態において、ギャラリモジュールにレンダリングされたスタイル描写は、クリックするか、またはそのスタイルに関連付けられている属性値を選択して確定することができる。次いで、ギャラリモジュールはこれらの属性値をオブジェクトデータ構造に伝搬する。
【００４７】
代替の実施形態において、ギャラリモジュールにおけるスタイル選択は、実際にギャラリをレンダリングすることなく全探索することができる。代わりに、図４と併せて上記で説明したように、「ボリュームコントロール」はギャラリモジュールによって提供される。もう１つの実施形態において、マウスホイールは、選択されたスタイルがどの程度際立つかを調節するために使用することができる。さらにもう１つの実施形態において、同様の効果を得るためにキーストロークを使用することができる。さらにもう１つの実施形態において、ギャラリモジュールはギャラリをレンダリングし、前述のように「ボリュームコントロール」は、ギャラリの選択を全探索して際立ったスタイルを連続的に強めるかまたは弱めることを選択するために使用することができる。
【００４８】
ここで図７を参照すると、スタイルマトリクス７０４の実施形態を示す図、およびスタイルマトリクス７０４から属性値の異なる２つの集合を使用してレンダリングされたオブジェクトが示されている。１つの実施形態においてグラフを含むチャートであるオブジェクト７０２がある。スタイルマトリクス７０４は、さまざまな属性型（たとえばＬｉｎｅ、Ｆｉｌｌ、Ｅｆｆｅｃｔ、およびＢａｃｋｇｒｏｕｎｄ）に対応する行、およびさまざまな属性値（たとえばＮｕｌｌ、Ｓｕｂｔｌｅ、Ｍｏｄｅｒａｔｅ、Ｉｎｔｅｎｓｅ）に対応する列を含んでいる。列と行の交差の各々において、所与の属性値を備える所与の属性型が描写される。たとえば、タイプＬｉｎｅのＳｕｂｔｌｅ属性値は細線を示すが、タイプＬｉｎｅのＩｎｔｅｎｓｅ属性値はより太くさらに見やすい線を示す。
【００４９】
オブジェクト７０２がスタイルマトリクス７０４およびカラースキーム７０６と組み合わされる場合、この３つは、レンダリングオブジェクト（７０８、７１０）を形成するように組み合わされる。Ｓｕｂｔｌｅ  Ｌｉｎｅ属性値を持つチャートグリッド、Ｍｏｄｅｒａｔｅ  Ｌｉｎｅ属性値、Ｓｕｂｔｌｅ  Ｆｉｌｌ属性値、および「Ｎｕｌｌ」Ｅｆｆｅｃｔ属性値（効果を使用しないことを示す）を持つチャートバーを含む、１つのレンダリングオブジェクト７０８が示されている。レンダリングオブジェクト７０８はさらに、Ｎｕｌｌ  Ｂａｃｋｇｒｏｕｎｄ属性値、およびＭｏｄｅｒａｔｅ  Ｌｉｎｅ属性値のチャートボーダーも有している。
【００５０】
対照的に、レンダリングオブジェクト７０８とは異なる属性値の組み合わせの結果生じるレンダリングオブジェクト７１０が示されている。レンダリングオブジェクト７１０は、Ｓｕｂｔｌｅ  Ｌｉｎｅ属性値を持つチャートグリッド、Ｍｏｄｅｒａｔｅ  Ｌｉｎｅ属性値、Ｍｏｄｅｒａｔｅ  Ｆｉｌｌ属性値、および「Ｎｕｌｌ」Ｅｆｆｅｃｔ属性値（効果を使用しないことを示す）を持つチャートバーを含んでいる。レンダリングオブジェクト７１０はさらに、Ｎｕｌｌ  Ｂａｃｋｇｒｏｕｎｄ属性値、およびそのチャートボーダーにＮｕｌｌ  Ｌｉｎｅ値を含んでいる。当業者であれば、チャートバーの塗りつぶしスタイル、およびチャートボーダーの線スタイルが２つのレンダリングオブジェクト７０８および７１０で異なることを理解するであろう。
【００５１】
上記で説明されたさまざまな実施形態は、例示のために提供されているに過ぎず、本発明を限定するものとして解釈すべきではない。本明細書に図示され説明されている例示の実施形態および用途に従うことなく、また添付の請求の範囲に示されている本発明の真の精神または範囲を逸脱することなく、本発明にさまざまな変更または変形を行うことができることが、当業者には明らかとなろう。たとえば、スタイルマトリクス１００は図１に示され、本明細書において、列１０２を属性値に関連付け、行１０４を属性型に関連付けて説明されているが、代替として列１０２で属性型、行１０４で属性値を示すことができる。
【００５２】
本発明の実施形態は、共にスタイルマトリクス１００内の行１０４（たとえば属性型）および列１０２（たとえば属性値）によって属性を固有に定義する座標マッピングまたはポインタを使用して、属性が属性参照でアドレス指定される操作を伴う。その結果、本発明の実施形態は、特定の各オブジェクト内に属性を格納または保持する必要をなくす。このレベルの間接参照は、特に、メモリ節約およびアプリケーションプログラム間のオブジェクト（したがって、電子文書）のより効率的な移植性を含む、多くのさまざまな利点を備えていることを、当業者であれば理解するであろう。
【図面の簡単な説明】
【００５３】
【図１】本発明の１つの実施形態による電子文書にオブジェクトの属性を定義する際に使用するマトリクス（「スタイルマトリクス」）を示す図である。
【図２】本発明の実施形態を実装できる適切なコンピューティングシステム環境の例を示す図である。
【図３】本発明の実施形態による電子文書にオブジェクトをレンダリングするための操作特性を示す流れ図である。
【図４】本発明のもう１つの実施形態による電子文書にオブジェクトをレンダリングするための操作特性を示す流れ図である。
【図５】本発明の実施形態による、図１に示すスタイルマトリクスのようなスタイルマトリクスを作成および／または編集するための操作特性を示す流れ図である。
【図６】本発明の１つの実施形態を備えるモジュールを示すブロック図である。
【図７】スタイルマトリクスの例示的な実施形態およびその電子文書アプリケーションオブジェクトとの関係を示す図である。
【符号の説明】
【００５４】
２００    システム
７０２    オブジェクト
７０４    スタイルマトリクス
７０６    カラースキーム
７０８，７１０    レンダリングオブジェクト
【図１】
2006146884.tif 000003
【図２】
2006146884.tif 000004
【図３】
2006146884.tif 000005
【図４】
2006146884.tif 000006
【図５】
2006146884.tif 000007
【図６】
2006146884.tif 000008
【図７】
2006146884.tif 000009