本願発明の1つの態様は、文字ライブラリのデータ構造の規制のために、文字ライブラリに含まれる文字の数が制限されるという先行技術における問題を解決するために超特大文字ライブラリを確立する方法と装置を提供することである。
本願発明の別の態様は、文字検索および表示の効率を改善するように、非標準フォーマットで超特大文字ライブラリにおける文字を容易に、また、便利に識別するために、文字を表示する方法と装置を提供することである。
したがって、本願発明は、以下の技術的なソリューションを提供する。
ブート文字ライブラリを確立するステップと、非標準フォーマットでの超特大文字ライブラリを確立するステップと、前記超特大文字ライブラリを解釈するためのフォント・エンジン・ミドルウェアを作成するステップと、を備える、超特大文字ライブラリを確立するための方法が提供される。
好適には、前記ブート文字ライブラリは、基本的なASCIIシンボルのみを備える。
好適には、前記非標準フォーマットの前記超特大文字ライブラリにおけるコードは、4バイト・コードである。
好適には、前記非標準フォーマットの前記超特大文字ライブラリは、文字コードとインデックスとの間の対応を保存するコード・テーブルと、前記インデックスとキャラクタ・データ・オフセットとの間の対応を格納するための位置情報テーブルと、文字アウトライン・データを格納するためのグリフ・テーブルと、を含む。
システム・フォント・エンジンから送られるフォント起動メッセージを、フォント・エンジン・ミドルウェアによって、インターセプトするステップであって、前記フォント起動メッセージは、アプリケーションによって表示される文字に対応する文字コードとフォント名とを含む、ステップと、前記文字コードと前記フォント名に基づいて、超特大文字ライブラリからの文字に対応するアウトライン・データを取得するステップであって、該超特大文字ライブラリは、非標準フォーマットでの文字ライブラリである、ステップと、前記文字アウトライン・データにしたがって、システム・フォント・エンジンが文字を表示することを可能にするように、前記システム・フォント・エンジンに、その文字のアウトライン・データを伝送するステップと、を含む、文字を表示するための方法が提供される。
好適には、フォント起動メッセージをフォント・エンジン・ミドルウェアによってシステム・フォント・エンジンからインターセプトするステップは、前記フォント・エンジン・ミドルウェアによって前記フォント起動メッセージをフック機能を用いてインターセプトすることと、前記文字コードと前記フォント名とを取得することを含む。
好適には、前記文字コードと前記フォント名に基づいて、超特大文字ライブラリからの文字に対応するアウトライン・データを取得するステップは、前記フォント名に基づいて、フォント・ファイルを捜して前記超特大文字ライブラリをサーチすることと、文字コードに基づいて、発見されたフォント・ファイルから前記文字コードに対応するインデックス値を取得することと、前記インデックス値に基づいて、文字アウトライン・データ・テーブルから前記文字のアウトライン・データを取得することと、を含む。
ブート文字ライブラリを確立するように構成されるブート文字ライブラリ確立ユニットと、非標準フォーマットでの超特大文字ライブラリ確立ユニットを確立するように構成される超特大文字ライブラリ確立ユニットと、前記超特大文字ライブラリを解釈するためのフォント・エンジン・ミドルウェアを作成するように構成されるミドルウェア作成ユニットと、を備える、超特大文字ライブラリを確立する装置が提供される。
システム・フォント・エンジンから送ったフォント起動メッセージをインターセプトするように構成されたインターセプト・ユニットであって、ここで、このフォント起動メッセージは文字コードおよび、アプリケーションによって表示される文字に対応するフォント名を含む、インターセプト・ユニットと、前記文字コードと前記フォント名に基づいて、超特大文字ライブラリからの文字に対応するアウトライン・データを取得するように構成されるアウトライン・データ取得ユニットであって、該超特大文字ライブラリは、非標準フォーマットでの文字ライブラリである、アウトライン・データ取得ユニットと、前記アウトライン・データにしたがい、システム・フォント・エンジンが文字を表示することを可能にするように、前記文字の前記アウトライン・データを前記システム・フォント・エンジンに伝送するように構成される伝送ユニットと、を備える、文字を表示するための装置が提供される。
好適には、前記インターセプト・ユニットは、フック機能を用いて前記フォント起動メッセージをインターセプトし、前記文字コードと前記フォント名を取得するように構成される。
好適には、前記アウトライン・データ取得ユニットは、前記フォント名に基づいて、フォント・ファイルを捜して前記超特大文字ライブラリをサーチするように構成されるフォント・ファイル・サーチ・サブユニットと、文字コードに基づいて、発見されたフォント・ファイルから前記文字コードに対応するインデックス値を取得するように構成されるインデックス値サーチ・サブユニットと、前記インデックス値にしたがって、文字アウトライン・データ・テーブルから前記文字のアウトライン・データを取得するように構成される取得サブユニットと、を備える。
本願発明の実施形態にしたがう超特大文字ライブラリを確立する方法と装置は、非標準フォーマットでの超特大文字ライブラリを採用する。したがって、より多くの文字をその中に収容することを可能にする。一方、システム・フォント・エンジンが超特大文字ライブラリに含まれる文字を認識することを可能にするために、対応するフォント・エンジン・ミドルウェアおよびブート文字ライブラリが、それに応じて確立される。
ブート文字ライブラリおよびフォント・エンジン・ミドルウェアに基づいて、本願発明の実施形態にしたがう文字を示す方法と装置を用いて、超特大文字ライブラリは、フォント・エンジン・ミドルウェアの助けを借りて、システム・フォント・エンジンによって解釈されることができる。表示されるべき文字に関する情報は、超特大文字ライブラリから読み出され、システム・フォント・エンジンに要求される情報形式に再構成され、そして、次にシステム・フォント・エンジンに送られ、最後に、システム・フォント・エンジンが、その文字をユーザ・インタフェースに表示する。そうすることにより、リンク機構による呼出しの効率が低く、異なる文字ライブラリにおける文字を互いから呼び出すことができないという先行技術における問題を、解決することができる。
本願発明を用いて、単一の文字ライブラリに含まれる文字の数を、増やすことができ、そして、この非標準フォーマットの超特大文字ライブラリにおける文字は、容易にかつ便利に識別することができる。したがって、文字検索および表示の効率が改善される。
当業者に対して、本願発明にしたがう実施形態のソリューションのより良い理解を達成するために、本願発明のこの実施形態は、以下において、添付の図面を参照して、詳細に記述される。
現在のオペレーティング・システムにおいて、一般に使用されるTrueType文字ライブラリで、65535以上の文字を含んでいる単一の超特大文字ライブラリを造ることはできない。文字ライブラリ・フォーマットのデータ構造の制限のために、文字ライブラリは、65535以上のキャラクタを収容することができない。たとえ65535文字以上が文字ライブラリに格納されるとしても、それらの文字は、オペレーティング・システムのフォント・エンジンで呼び出すことができない。あるいは、その文字ライブラリは、無効であるとさえ考えられる。この問題を解決する大部分の既存の方法は、フォント・リンクを採用する。それにより、2つ以上の文字ライブラリが、より多くの文字を表示する目的のために一緒にリンクされる。しかしながら、そのような方法は、まだ、例えば、現在のオペレーティング・システムにおいて、ISO/IEC10646コード化文字セットのCJK−ExtB文字を含む文字ライブラリの場合になど、いくつかの欠点を持つ。CJK−ExtA文字を含んでいる文字ライブラリの文字は、入力し、フォント・リンクを通して表示することができる。しかし、その逆はできない。それぞれISO/IEC10646コード化文字セットの基本面および第2面を含む2つの文字ライブラリのフォント・リンクにおいて、それらの第2面の文字は、互いから呼び出されることができない等である。コード化すべき文字の数が増加すると、ますます、多くの面を、ISO/IEC10646コード化文字セットに使用することが必要となった。そして、ますます多くの文字ライブラリをリンクすることが必要となった。その結果、文字検索の効率が、さらに悪化することとなった。
これを考慮して、超特大文字ライブラリを確立する方法と装置が、この発明の実施形態において提供される。既存の文字ライブラリ・フォーマットおよび表示方法に基づいて、より多くの文字を格納することができるTrueTypeベース超特大文字ライブラリが、確立される。この非標準フォーマットを現在のオペレーティング・システムがサポートしない問題に対処するために、フォント・エンジン・ミドルウェアおよびブート文字ライブラリが、確立される。
対応して、この種の超特大文字ライブラリに基づいて、文字ディスプレイ方法および装置が、また、この発明の実施形態において、提供される。非標準フォーマットにおける超特大文字ライブラリは、システム・フォント・エンジンにより、フォント・エンジン・ミドルウェアの助けを借りて解釈される。表示される文字に関する情報が、超特大文字ライブラリから読み出され、システム・フォント・エンジンに要求される情報形式に再構成され、そして、次に、システム・フォント・エンジンに送られる。最後に、システム・フォント・エンジンは、ユーザ・インタフェースに文字を表示する。
図1に示されるように、本願発明の実施形態にしたがって超特大文字ライブラリを確立するこの方法は、以下のステップを含む。
ステップ101:ブート文字ライブラリを確立するステップ。
標準フォーマットにおける既存の文字ライブラリと比較すると、ブート文字ライブラリは、標準形式であることができるが、しかし、基本的なASCIIシンボルだけを備え、実際の漢字を備えていない。
ステップ102:非標準フォーマットでの超特大文字ライブラリを確立するステップ。
超特大文字ライブラリを確立する際に、標準形式文字ライブラリに全く含まれることができない多数の文字のために、それらの文字は、非標準フォーマットにおいて保存される。すなわち、超特大文字ライブラリは、非標準フォーマットでの文字ライブラリである。特に、いくつかの修正を、既存の標準フォーマットに対して行うことができる。例えば、コードのバイト数を、オリジナルのフォーマットの0xFFFFではなく、0xFFFFFFFFまでの、文字を格納することができるように、2から4に変えることができる。これは、超特大文字ライブラリの要求に合致するものである。
格納される文字を、それぞれのフォント開発者または個人によって所望のように、文字ライブラリに組織することができる。多数の文字のために、それら文字は、完全には、標準フォーマットにおいて組織することができない。したがって、専用フォント・エンジンが、解釈のために必要である。
この非標準フォーマットの超特大文字ライブラリは、主として、文字コードとインデックスとの間の対応を保存するコード・テーブルと、前記インデックスとキャラクタ・データ・オフセットとの間の対応を格納するための位置情報テーブルと、文字アウトライン・データを格納するためのグリフ・テーブルと、その他を備えることができる。既存の標準フォーマット文字ライブラリと比較すると、超特大文字ライブラリにおいて、コード、インデックスおよびオフセットに、それらの範囲を拡大する改善がなされ、超特大文字ライブラリが、より多くの文字を収容することが可能になる。
ステップ103:超特大文字ライブラリを解釈するためのフォント・エンジン・ミドルウェアを作成するステップ。
標準フォーマット文字ライブラリだけが、既存のシステム・フォント・エンジンによって、直接解釈されることができ、非標準フォーマットの文字ライブラリは、システム・フォント・エンジンにより無効であると見なされる。したがって、超特大文字ライブラリに含まれる文字を認識するために、本願発明の実施形態において、システム・フォント・エンジンが、超特大文字ライブラリの解釈を支援し、超特大文字ライブラリから表示される文字に関する情報を読み出し、それを、システム・フォント・エンジンによって要求される情報フォーマットに再構成し、そして、次に、その再構成された情報をシステム・フォント・エンジンに送るためにフォント・エンジン・ミドルウェアを呼び出すことができるようにフォント・エンジン・ミドルウェアが確立される。最後に、システム・フォント・エンジンは、ユーザ・インタフェースに文字を表示する。
本願発明のこの実施形態で記述される超特大文字ライブラリは、特に、単一の文字ライブラリに、60,000文字以上を格納することを望む会社または個人に適切である。
本願発明の実施形態の方法を用いて、文字ライブラリのキャパシティを、増やすことができ、ユーザが、便利にかつ容易に、異なる文字を使用することを可能にすることが分かる。
対応して、超特大文字ライブラリを確立する装置が、また、この発明の実施形態において提供される。図2は、この装置の構造の概要図を示す。
この実施の形態において、装置200は、ブート文字ライブラリ確立ユニット201、超特大文字ライブラリ確立ユニット202、および、ミドルウェア作成ユニット203を備える。ブート文字ライブラリ確立ユニット201は、ブート文字ライブラリを確立するように構成される。超特大文字ライブラリ確立ユニット202は、非標準フォーマットで超特大文字ライブラリを確立するように構成される。ミドルウェア作成ユニット203は、超特大文字ライブラリを解釈するためのフォント・エンジン・ミドルウェアを作成するように構成される。
対応して、上記したように、非標準フォーマットの超特大文字ライブラリに基づいて、文字を表示する方法が、また、この発明の実施形態において提供される。当業者に対して、本願発明の実施形態のソリューション、および、本願発明の実施形態のソリューションと先行技術との違いを、よりよく理解させるために、最初に、先行技術における文字を表示する方法の概要を以下に述べる。
図3に示されるように、先行技術における、文字ライブラリに含まれる文字を表示する方法は、次のステップを含む。
ステップ301:システム・フォント・エンジンへ、アプリケーションによって表示される文字に対応する文字コードとフォント名とを送信するステップ。
ステップ302:システム・フォント・エンジンにより、そのフォント名に基づいて、フォント・ファイルをサーチするステップ。
ステップ303:フォント・コードに基づいて、システム・フォント・エンジンにより、文字の見つかったフォント・ファイルをサーチするステップ。
特に、このサーチは、フォント・ファイルの中のコード・インデックス対応テーブルにしたがって、実行することができる。
ステップ304:この文字のアウトライン・データをその文字がフォント・ファイルで見つかった場合、対応するインデックス値に基づいて,文字アウトライン・データ・テーブルから得るステップ。
ステップ305:システム・フォント・エンジンにより、得られたアウトライン・データにしたがって、文字を表示するステップ。
そのような超特大文字ライブラリの格納範囲は、上述したように、標準的な範囲を超えるので、この非標準フォーマット超特大文字ライブラリは、既存のオペレーティング・システムが、サポートすることができない。したがって、本願発明の実施形態にしたがう文字を表示する方法において、システム・フォント・エンジンは、フォント・エンジン・ミドルウェアを、超特大文字ライブラリに含まれる文字の検索と表示を容易にするために呼び出す。これは、文字を表示することの効率を大いに改善する。
図4に示されるように、本願発明の実施形態にしたがう文字を表示する方法のフローチャートは、次のステップを含む。
ステップ401:フォント・エンジン・ミドルウェアが、システム・フォント・エンジンからブート文字ライブラリに送られたフォント起動メッセージをインターセプトするステップ。このフォント起動メッセージは、アプリケーションによって表示される文字に対応する文字コードとフォント名とを含む。
特に、フォント・エンジン・ミドルウェアは、ウインドウズ・オペレーティング・システムの上で利用できるフック機能を用いて、フォント起動メッセージをインターセプトし、そして、文字コードとフォント名とを取得する。このフック機能は、ウインドウズ・オペレーティング・システムで送られるメッセージだけをインターセプトするだけでなく、機能のアプリケーション・コール、機能のオペレーティング・システム・コールを含む、機能の呼び出しをすることができる。
ステップ402:フォント・エンジン・ミドルウェアが、その文字に対応するアウトライン・データを、その文字コードとそのフォント名に基づいて、非標準フォーマットにおける超特大文字ライブラリから要求するステップ。
既存の標準フォーマット文字ライブラリと比較すると、超特大文字ライブラリは、より多くの文字コードとより多くのアウトライン・データとに関する情報を含むことができる。
特定のインプリメンテーションにおいて、1対1の対応を、ブート文字ライブラリと超特大文字ライブラリとの間で、確立することができる。そして、次に、フォント・エンジン・ミドルウェアに導入することができる。フォント・エンジン・ミドルウェアが、システム・フォント・エンジンがブート文字ライブラリを呼び出したいことを知っているときに、それは、システム・フォント・エンジンのアクセスを、その対応にしたがって、ブート文字ライブラリへの超特大文字ライブラリへのアクセスに変換することができる。
超特大文字ライブラリから、フォント・エンジン・ミドルウェアによって、アウトライン・データを得るプロセスは、既存のシステム・フォント・エンジンによって、ブート文字ライブラリからアウトライン・データを得るプロセスと同様である。第1に、インターセプトされたフォント名に基づいて読まれるべきフォント・ファイルを決定することが要求される。次に、文字コードに対応するインデックス値が、インターセプトされた文字コード、および、フォント・ファイルの中のCMAPテーブル(キャラクタ・コード―インデックス対応テーブル)に基づいて、得られる。次に、そのインデックス値にしたがって、GLYFテーブルにおけるインデックス値に対応する文字のオフセットが、LOCAテーブルにおいて見いだされる。このオフセットを得た後に、グリフ・アウトライン・データが、直接、GLYFテーブルから読み出される。このGLYFテーブルは、すべての文字のグリフ・アウトライン・データを格納する。
上のCMAPテーブル、LOCAテーブル、および、GLYFテーブルは、先行技術の文字ライブラリにおいて対応するものと同様であり、ここでは、詳細には記述しないことに留意する。
ステップ403:この文字のアウトライン・データは、文字アウトライン・データにしたがって、システム・フォント・エンジンが文字を表示することを可能にするように、システム・フォント・エンジンに返される。
本願発明の実施形態の文字表示方法において、フォント・エンジン・ミドルウェアが、ブート文字ライブラリへのシステム・フォント・エンジンのアクセスが、超特大文字ライブラリへのフォント・エンジン・ミドルウェアのアクセスに変換されるように、システム・フォント・エンジンからブート文字ライブラリに送られたフォント起動メッセージをインターセプトするために使用される。超特大文字ライブラリへのアクセスの後に、このように得られがグリフ・アウトライン・データは、システム・フォント・エンジンによって戻され、それによって、超特大文字ライブラリにおける文字の検索と表示を、単純かつ便利な方法で実現することができ、文字表示の効率を大いに増大する。アプリケーション層から見ると、アクセスが、ユーザの感覚に対する影響がなく、システム・フォント・エンジン自体によって実行されるように見える。
また、文字を表示するための装置が、本願発明の実施形態において、提供される。図5は、この装置の構造の概要図を示す。
この実施の形態において、この装置は、以下を備える。
システム・フォント・エンジンから送ったフォント起動メッセージをインターセプトするように構成されたインターセプト・ユニットであって、このフォント起動メッセージは、アプリケーションによって表示される文字に対応する文字コードとフォント名とを備えている、インターセプト・ユニット501。
前記文字コードと前記フォント名に基づいて、超特大文字ライブラリからその文字に対応するアウトライン・データを取得するように構成されるアウトライン・データ取得ユニットであって、該超特大文字ライブラリは、非標準フォーマットでの文字ライブラリである、アウトライン・データ取得ユニット502。
前記文字アウトライン・データにしたがって、システム・フォント・エンジンが文字を表示することを可能にするように、前記文字の前記アウトライン・データを前記システム・フォント・エンジンに伝送するように構成される伝送ユニット503。
既存の標準フォーマット文字ライブラリと比較すると、超特大文字ライブラリは、より多くの文字コードとより多くのアウトライン・データに関する情報を含むことができ、そして、そのコンテンツは、標準フォーマット文字ライブラリのものと同様である。これは、上述されており、ここでは、詳細には記述しない。
実際のアプリケーションにおいて、インターセプト・ユニット501は、フォント起動メッセージをインターセプトするためにフック機能を使用することができる。そして、文字コードおよびをフォント名を入手することができる。
アウトライン・データ取得ユニット502は、フォント・ファイル・サーチ・サブユニットと、インデックス値サーチ・サブユニットと、取得サブユニット(図示せず)と、を備える。
フォント・ファイル・サーチ・サブユニットは、フォント名に基づいて、超特大文字ライブラリの中でフォント・ファイルをサーチするように構成されている。インデックス値サーチ・サブユニットは、文字コードに基づいて、発見されたフォント・ファイルから前記文字コードに対応するインデックス値を取得するように構成される。取得サブユニットは、前記インデックス値にしたがって、文字アウトライン・データ・テーブルから文字のアウトライン・データを取得するように構成される。
本願発明の実施形態にしたがって文字を表示する装置において、システム・フォント・エンジンからブート文字ライブラリに送られたフォント起動メッセージが、ブート文字ライブラリへのシステム・フォント・エンジンのアクセスが、超特大文字ライブラリへのフォント・エンジン・ミドルウェアのアクセスに変換されるように、インターセプトされる。超特大文字ライブラリへのアクセスの後に、このように得られたグリフ・アウトライン・データは、システム・フォント・エンジンによって戻され、それによって、文字の検索と表示を、単純かつ便利なように実現することができ、文字表示の効率を大いに増大する。アプリケーション層から見ると、アクセスが、ユーザの感覚に対する影響がなく、システム・フォント・エンジン自体によって実行されるように見える。
本願発明の実施形態にしたがう、文字を表示する方法および装置は、多様なアプリケーションに、それらのアプリケーションの種々の要求に合致するように、適用することができ、また、速くて、効率的であることに留意する。
この実施形態は、本願明細書において、進歩的な方法で記載される。種々の実施形態の同じか、同様の部分に対して、実施形態の間の参照が行われる。各々の実施形態は、他の実施形態からの違いに集中する。特に、装置の実施形態は、基本的に、方法の実施形態に対応するので、関連した部分に対して、方法の実施形態の説明の記載への参照が行われる。上述の装置の実施形態は、単に図示的なものであり、要素は、別々なものとして記載されているが、互いに物理的に分離していても、いなくても、よく、そして、個々に示されたものは、物理的な要素であっても、そうでなくてもよい。これは、1つの位置に配置することができ、あるいは、複数のネットワーク・ユニットに分散することもできる。それらのいくつか、あるいは、すべてのモジュールを、必要に応じて、この発明の実施形態の目的を実現するために、選択することができる。これは、当事者であれば、いかなる創造的な努力を要することなく、理解でき、実施することができる。
この開示は、また、コンピュータで実行されるとき、超特大文字ライブラリを確立するように方法の種々のステップを実行する、その上にコンピュータ実行可能な命令を格納した1つ以上のコンピュータ読取り可能メディア、および、上記したような文字を表示する方法を提供する。
この開示は、また、コンピュータで実行されるとき、超特大文字ライブラリを確立するように方法の種々のステップを実行する、その上にコンピュータ実行可能な命令を格納した1つ以上のコンピュータ読取り可能メディアを有するコンピュータ、および、上記したような文字を表示する方法を提供する。
[例示的な操作環境]
ここに記述されたコンピュータまたはコンピューティング・デバイスは、1つ以上のプロセッサーまたは処理ユニットと、システム・メモリと、いくつかのタイプのコンピュータ読取り可能メディアと、を含むハードウェアを備える。制限的ではない、例として、コンピュータ読取り可能媒体は、コンピュータ記憶媒体および、通信メディアを備える。このコンピュータ記憶媒体は,コンピュータ読取り可能な命令、データ構造、プログラム・モジュールまたは、他のデータなど、情報ストレージのためのいかなる方法またはテクノロジーでインプリメントされた揮発性または不揮発性、取り外し可能または取り外し不可能メディアを備える。通信メディアは、典型的には、コンピュータ読取り可能命令、データ構造、プログラム・モジュール、または、搬送波、または、他の移送メカニズムなど変調されたデータ信号における他のデータを具体化し、そして、いかなる情報配送メディアをも含む。上記のいかなるものの組合せも、また、コンピュータ読取り可能メディアの範囲の中に含まれる。
このコンピュータは、ネットワーク環境で動作するリモート・コンピュータへの論理的接続などの1つ以上のリモート・コンピュータを使用ことができる。本願開示の種々の実施形態が典型的なコンピューティング・システム環境のコンテキストにおいて、記載されたが、本願開示の種々の例示的実施形態は、多数の他の一般的な目的、または、特殊用途のコンピュータ・システム環境または構成において使用することができる。このコンピューティング・システム環境は、本願発明の使用または機能の範囲のいかなる態様をも制限することを意図するものではない。加えて、このコンピュータ環境は、例示的な操作環境に示されたコンポーネントのいずれか1つ、または、組合せに依存する、または、それを要求するものと解釈されてはならない。そのコンピュータ・システムの有名な例、本願開示のすべての態様に対して適切な環境や構成は、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサー・システム、マイクロプロセッサ・ベース・システム、セット・トップ・ボックス、プログラム可能家電、モバイル電話、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、その他を含む。しかし、それらに限られるものではない。
本願発明の種々の例示的実施形態は、1つ以上のコンピュータまたは他のデバイスで実行されるプログラム・モジュールなどコンピュータ実行可能命令の一般的なコンテキストにおいて記述することができる。そのコンピュータ実行可能命令は、1つ以上のコンピュータ実行可能コンポーネントまたはモジュールに、ソフトウェアとして組織されることができる。一般的に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、および、特定のタスクを実行する、または、特定の抽象データ・タイプをインプリメントするデータ構造を含む。しかし、それらに制限されるものではない。本願発明の態様は、そのようなコンポーネントまたはモジュールの任意数、および、組織でインプリメントすることができる。例えば、本願発明の態様は、図において図示された、また、ここに記載された、特定のコンピュータ実行可能命令または、特性のコンポーネント、または、モジュールに制限されない。本願発明の他の例示的実施形態は、異なるコンピュータ実行可能命令、または、図において図示された、また、ここに記載されたものよりも多い、または、少ない機能を有するコンポーネントを含むことができる。本願発明の態様は、また、通信ネットワークを通してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境で実施することができる。分散コンピューティング環境において、プログラム・モジュールは、メモリー格納デバイスを含む、ローカルおよびリモートのコンピュータ記憶媒体の両方に位置することができる。
本願発明の方法と装置を多くの方法で実行することができる。例えば、本願発明の方法と装置をソフトウェア、ハードウェア、ファームウェア、または、それらの任意の組合せを通して、実行することができる。本願方法のためのステップの記述された順序は、単に、説明としての例を意図するものであり、本願発明の方法のステップは、特に述べられない限り、上述の順序に、特に限られていない。また、いくつかの実施形態において、本願発明は、また、本願発明にしたがう方法をインプリメントするための機械読み取り可能命令を含む記録媒体に記録されたプログラムとして具体化される。したがって、本願発明は、また、本願発明にしたがう方法をインプリメントするためのプログラムを格納する記録媒体をカバーするものである。
いくつかの特定の実施形態は、例示するだけのために、上で記述されたが、しかし、本願発明の保護範囲を制限するものではない。当業者は、本願発明の要旨および範囲から逸脱することなく、本願発明のどんな修正や変更でもすぐに行うことができる。また、本願発明のそのような修正および変更は、本願発明の保護範囲の中に含まれるものである。