(57)【要約】  マージされたテキストパスから作成される型にエフェクトを適用する。前記マージされたテキストパスは、テキスト列と関連するテキストパスから作成される。ブール演算を使用して前記マージされたテキストパスを作成する。前記マージされたテキストパスは、前記テキスト列のいかなる重複および冗長文字も除外する。前記マージされたテキストパスから作成される型は、付加的エフェクトを前記型に適用できるように、前記テキスト列と関連する前記テキストパスの情報を保持する。
2009527812.tif 000002
【特許請求の範囲】
【請求項１】
エフェクトを適用するためのコンピュータに実装された方法であって、
テキスト列を受信すること、
前記テキスト列に対するマージされたテキストパスを作成すること、
前記マージされたテキストパスから型を作成すること、および
エフェクトを前記型に適用すること
を備えたことを特徴とするコンピュータに実装された方法。
【請求項２】
前記テキスト列を受信することは、エフェクトが適用される少なくとも２つの隣接した文字を受信することを備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記マージされたテキストパスから前記型を作成することは、前記テキスト列と関連するテキストプロパティを保持することを備えたことを特徴とする請求項１に記載の方法。
【請求項４】
前記マージされたテキストパスを作成することは、前記テキスト列のアウトラインを決定することを備えたことを特徴とする請求項２に記載の方法。
【請求項５】
前記テキスト列に対する前記マージされたテキストパスを作成することは、ブール演算を使用することを備えたことを特徴とする請求項１に記載の方法。
【請求項６】
前記ブール演算を使用することは、前記テキスト列と関連するジオメトリを受信すること、前記ジオメトリをチェーンまで細分化すること、接点を計算すること、冗長チェーンを破棄すること、冗長を除いた部分をつなげてアウトラインを形成することを備えたことを特徴とする請求項５に記載の方法。
【請求項７】
前記エフェクトを適用することは、ラインエフェクトを前記テキスト列に適用することを特徴とする請求項２に記載の方法。
【請求項８】
前記エフェクトを適用することは、押し出しおよび傾きエフェクトを適用することを備えたことを特徴とする請求項２に記載の方法。
【請求項９】
エフェクトをテキスト列に適用するためのコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体であって、前記命令は、
最初のエフェクトが適用されるテキスト列を受信すること、
前記テキスト列に対するマージされたテキストパスを作成すること、
前記マージされたテキストパスから単一の型を作成すること、および
前記最初のエフェクトを前記単一の型に適用すること
を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１０】
前記エフェクトが適用される前記テキスト列を受信することは、ワードを形成する文字を受信すること、および各文字がテキストパスの情報を含むことを備えたことを特徴とする請求項９に記載のコンピュータ読み取り可能媒体。
【請求項１１】
前記マージされたテキストパスから前記単一の型を作成することは、前記最初のエフェクトが適用された後、２番目のエフェクトを前記単一の型に適用できるように、前記テキスト列と関連するテキストプロパティを格納することを備えたことを特徴とする請求項９に記載のコンピュータ読み取り可能媒体。
【請求項１２】
前記マージされたテキストパスを作成することは、前記テキスト列のアウトラインを決定することを備えたことを特徴とする請求項１０に記載のコンピュータ読み取り可能媒体。
【請求項１３】
前記テキスト列に対する前記マージされたテキストパスを作成することは、ブール演算を使用して前記単一の型に対するアウトラインを決定することを備えたことを特徴とする請求項９に記載のコンピュータ読み取り可能媒体。
【請求項１４】
前記エフェクトを適用することは、ラインエフェクトを前記テキスト列に適用することを備えたことを特徴とする請求項１０に記載のコンピュータ読み取り可能媒体。
【請求項１５】
前記エフェクトを適用することは、押し出しおよび傾きエフェクトを適用することを備えたことを特徴とする請求項１０に記載のコンピュータ読み取り可能媒体。
【請求項１６】
エフェクトをテキスト列に適用するためのコンピュータ装置であって、
プロセッサおよびコンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体に格納されるおよび前記プロセッサで実行する動作環境と、
ディスプレイと、
前記動作環境の制御下での動作し、およびエフェクトが適用されるテキスト列を作成する働きをするアプリケーションと、
前記テキスト列を受信し、前記テキスト列に対するマージされたテキストパスを作成し、前記マージされたテキストパスから型を作成し、前記エフェクトを前記型に適用し、および前記ディスプレイに前記型を表示するように形成されたエフェクトエンジンと
を備えたことを特徴とするコンピュータ装置。
【請求項１７】
前記マージされたテキストパスから前記型を作成することは、前記テキスト列と関連するテキストプロパティを保持することを備えたことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記マージされたテキストパスからアウトラインを作成することをさらに備えたことを特徴とする請求項１７に記載の装置。
【請求項１９】
前記テキスト列に対する前記マージされたテキストパスを作成することは、ブール演算を使用することを備えたことを特徴とする請求項１６に記載の装置。
【請求項２０】
前記エフェクトを適用することは、ラインエフェクト、スケーリング、投影、押し出し、および傾きから選択されたエフェクトを適用することを備えたことを特徴とする請求項１７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マージされたテキストパスにエフェクトを適用することに関する。
【背景技術】
【０００２】
多くのアプリケーションにより、ユーザは、文書のテキストにエフェクトを適用できる。例えば、ワーピング、スケーリング、ラインエフェクトの他に、三次元のエフェクトもテキストに適用できる。これらのエフェクトがテキストに適用される場合、典型的には、テキストの各文字は、ビットマップに変換され、いずれのエフェクトも周囲の文字を考慮することなく個々のビットマップに適用される。これらの個別のビットマップは、連結して表示され、ワード全体を見せる。表示されたワードは、重複する文字を有する場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、マージされたテキストパスにエフェクトを適用することである。
【課題を解決するための手段】
【０００４】
本発明の開示では、簡略化型式で概念の一つの選択を導入するために提供され、以下の詳細な記述でさらに説明される。本発明の開示は、請求された発明の対象の主要な機能または本質的な機能を明らかにするものでなければ、請求された発明の対象の範囲を決定する目的で使用されるものでもない。
【０００５】
エフェクトは、マージされたテキストパスから作成された型（shape）に適用される。マージされたテキストパスは、テキスト列（text run）と関連するテキストパスから作成される。マージされたテキストパスは、テキスト列の文字の重複および冗長を除外する。このように、エフェクトが、マージされたテキストパスから作成された型に適用されると、文字間での重複は無くなる。ブール演算を使用して、型が作成されるマージされたテキストパスを作成できる。マージされたテキストパスから作成された型は、付加的なエフェクトをその型に適用できるように、テキスト列と関連するテキストパスの情報を保持する。
【発明を実施するための最良の形態】
【０００６】
数字と要素を同等に表す図を参照して、様々な実施型態を説明する。特に、図１およびそれに対応する考察は、実施型態を実行できる、適合するコンピュータ環境の簡潔な概要を提供するためのものである。
【０００７】
一般に、プログラムモジュールは、ルーティン、プログラム、コンポーネント、データ構造、および特殊なタスクを行うまたは特殊な抽象データ型を実施する他の種類の構造を含む。携帯端末、マルチプロセッサシステム、マイクロプロセッサを基礎にしたまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含んだ他のコンピュータシステム構成でも使用できる。分散型コンピュータ環境を使用して、タスクを、通信ネットワークを介してリンクされたリモート処理装置によって行うこともできる。分散型コンピュータ環境では、プログラムモジュールを、ローカル記憶装置とリモート記憶装置の両方に配置できる。
【０００８】
図１を参照して、様々な実施型態で利用可能なコンピュータ１００の例示的なコンピュータアーキテクチャを説明する。図１に示されたコンピュータアーキテクチャは、デスクトップまたはモバイルコンピュータとして組み込むことができ、「ＣＰＵ５」(central processing unit)、「ＲＡＭ９」(random access memory)および「ＲＯＭ１１」(read-only memory)を含んだシステムメモリ７、ならびにメモリをＣＰＵ５に接続するシステムバス１２を含む。起動時等の、コンピュータの要素間での情報転送に役立つ基本ルーティンを含んだ基本入力／出力システムは、ＲＯＭ１１に格納される。コンピュータ１００は、オペレーティングシステム１６、アプリケーションプログラム、および他のプログラムモジュールを格納する大容量記憶装置１４をさらに含み、以下に詳細に説明する。
【０００９】
大容量記憶装置１４は、バス１２に接続された大容量記憶コントローラ（図示せず）を介してＣＰＵ５に接続される。大容量記憶装置１４およびそれに関連するコンピュータ読み取り可能媒体は、コンピュータ１００の不揮発性記憶装置を提供する。本明細書に含まれるコンピュータ読み取り可能媒体の説明では、ハードディスクまたはＣＤ−ＲＯＭドライブ等の大容量記憶装置について言及するが、コンピュータ読み取り可能媒体は、コンピュータ１００によってアクセスできる任意の利用可能な媒体になり得る。
【００１０】
一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができるがこれらに限らない。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータ等の、任意の情報を記憶する方法または技術において実行される揮発性および不揮発性、ならびに、取り外し可能および不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他の固体メモリの技術、ＣＤ−ＲＯＭ、「ＤＶＤ」(digital versatile disk)または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶あるいは他の磁気記憶装置、または、所望の情報を記憶できるおよびコンピュータ１００によってアクセス可能なその他の媒体を含むがこれらに限らない。
【００１１】
様々な実施型態に従って、コンピュータ１００は、インターネット等のネットワーク１８を介して、リモートコンピュータへの論理接続を使用したネットワーク化された環境において動作できる。コンピュータ１００は、バス１２に接続されたネットワークインタフェースユニット２０を介して、ネットワーク１８に接続できる。ネットワーク接続は、無線および／または有線が可能である。ネットワークインタフェースユニット２０を利用して、他の型式のネットワークおよびリモートコンピュータシステムに接続することもできる。コンピュータ１００は、キーボード、マウス、またはスタイラスペン（図１に図示せず）を含んだ、多数の他の装置からの入力を受信するおよび処理する入力／出力コントローラ２２も含むことができる。同様に、入力／出力コントローラ２２は、出力を、ディスプレイ画面２８、プリンタ、または他の型式の出力装置に提供できる。
【００１２】
上記に簡潔に説明したように、多数のプログラムモジュールおよびデータファイルは、ワシントン州レッドモンドにある本件特許出願人製のオペレーティングシステムであるウィンドウズ（登録商標）ＸＰ等のネットワーク化されたパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム１６を含んだ、コンピュータ１００の大容量記憶装置１４およびＲＡＭ９に格納できる。大容量記憶装置１４およびＲＡＭ９は、１または２以上のプログラムモジュールを格納することもできる。特に、大容量記憶装置１４およびＲＡＭ９は、１または２以上のアプリケーションプログラム１０を格納できる。アプリケーションプログラム１０は、テキストにエフェクトを適用する働きをする。一実施型態に従って、アプリケーションプログラム１０は、本件特許出願人製の一式のアプリケーションプログラムであるマイクロソフトオフィスを備える。例えば、アプリケーションプログラム１０は、本件特許出願人製のワード、パワーポイント、エクセル、アクセス、パブリッシャー、およびアウトルック等とすることができる。テキストエフェクトを実装する他のアプリケーションプログラムも利用できる。例えば、電子メールプログラム、デスクトップパブリッシングプログラム、プレゼンテーションプログラム、およびエフェクトをテキストに適用できる他の型式のプログラムが利用できる。
【００１３】
アプリケーションプログラム１０は、エフェクトマネージャ２６を利用できる。エフェクトマネージャ２６は、アプリケーションプログラム１０とは別に示されているが、アプリケーションプログラム１０またはある別の場所に含むことができる。例えば、エフェクトマネージャ２６は、グラフィックパイプライン（図２の要素２２０に示す）、オペレーティングシステム１６等に含むことができる。以下により詳細に説明するように、エフェクトマネージャ２６は、マージされたテキストパスから作成される型にエフェクトを適用する。マージされたテキストパスは、テキスト列の文字の重複および冗長を除外する。一般に、テキスト列に含まれた文字は、フォント設定のために重複する場合がある。典型的にテキスト列の重複する量に影響を与えるフォント設定は、フォント書体、フォントサイズ、使用されるエフェクト、カーニング、および使用される文字間隔である。マージされたテキストパスから作成された型は、これらの重複を除外し、付加的なエフェクトをそれらの型に適用できるように、テキスト列と関連するテキストパスの情報を保持する。例えば、ワーピング、スケーリング、およびラインエフェクトをそれらの型に適用できる。テキスト列の三次元モデルは、押し出し、傾き等の、適用される様々なエフェクトを有する型から作成することもできる。エフェクトマネージャ２６の動作を、以下により詳細に説明する。
【００１４】
図２に、エフェクトシステム２００を示す。図のように、エフェクトシステム２００は、アプリケーションプログラム１０、エフェクトマネージャ２６、マージモジュール２１０、オペレーティングシステム１６、グラフィックパイプライン２２０、およびディスプレイ２８を含む。上記に簡潔に説明したように、エフェクトマネージャ２６は、マージされたテキストパスから型を作成し、エフェクトをその型に適用する。マージされたテキストパスは、アプリケーション１０に対するテキスト列（例えばテキスト列２０２）と関連する各テキストパスから作成される。システム２００に示すように、アプリケーションプログラム１０は、テキスト列（例えばテキスト列２０２）を、エフェクトマネージャ２６に送信するように構成される。図の例で、アプリケーションプログラム１０は、テキスト列「Ｌｅｔｔｅｒ」を、エフェクトマネージャ２６に送信したところである。しかし、任意のテキスト列をエフェクトマネージャに送信できる。テキスト列は、１または２以上の文字とすることができる。例えば、テキスト列は、いくつかの文字、ワード、および文等とすることができる。エフェクトマネージャ２６は、アプリケーション１０からのテキスト列の全てまたは一部を受信するように構成することができる。例えば、エフェクトマネージャ２６は、テキストエフェクトが適用されるテキスト列のみを受信するように構成することができる。例えば、テキスト列２０２がエフェクトを用いずにレンダリングされる場合、矢印２１２によって示されるように、それらのテキスト列をグラフィックパイプライン２２０に直接送信できる。一般に、テキスト列の各文字は、大まかにアウトラインを描くテキストパスから構成される。例えば、テキスト列２０２に示されたアライアルフォントの中の大文字「Ｌ」のテキストパスは、その文字のアウトラインを描く６つのポイントで構成される。
【００１５】
マージモジュール２１０は、エフェクトエンジン２６によって命令される場合、テキスト列に対するマージされたテキストパスを作成するように構成される。マージされたテキストパスは、エフェクトを適用できるように、型を作ることができる単一のパスである。マージモジュール２１０は、エフェクトマネージャ２６の中に示されているが、システム２００の多くの異なる場所に常駐できる。例えば、マージモジュール２１０は、アプリケーション１０、オペレーティングシステム１６、およびグラフィックパイプライン２２０に常駐できる。代替として、マージモジュール２１０を、そのシステムの他のモジュールとは別個に配置できる。マージモジュール２１０は、テキスト列（例えばテキスト列２０２）の各文字に対する各テキストパスを受信した後、全てのテキスト列に対するマージされたテキストパスを計算するように構成される。一実施型態に従って、マージモジュール２１０は、ブール演算を使用してマージされたテキストパスを計算する。代替として、マージモジュール２１０は、エフェクトが適用されるテキスト列の文字だけに対するマージされたテキストパスを作成するように構成することができる。各テキストパスは、各文字に対する境界を構成する一連のポイントを含む。一般に、マージモジュール２１０は、全てのテキスト列に対する境界（アウトライン）を表すマージされたテキストパスを計算する。本実例では、テキスト列２０２に対する境界は、「Ｌｅｔｔｅｒ」を構成する６文字を含む。全てのテキスト列に対する境界は、テキストパスによって識別された境界によって定義された文字の結合を定義する。マージモジュール２１０は、テキスト列のマージされた文字の冗長部分を除外する。エフェクトエンジン２６は、エフェクトを適用できる単一のマージされたテキストパスから型を作成できる。作成された型は、全てのマージされた型を表す。マージモジュール２１０は、テキスト列の型間の重複を除去するので、それらのテキストパスから冗長を除いた三次元モデルを作成できる。
【００１６】
例えば本実例では、エフェクトエンジン２６は、マージモジュール２１０を使用してテキスト列「Ｌｅｔｔｅｒ」を処理し、「Ｌｅｔｔｅｒ」を表している作成された型にエフェクトを適用した後、グラフィックパイプラインを、ディスプレイ２８に示されている「Ｌｅｔｔｅｒ」の表示されたバージョン（２３０）に提供する。
【００１７】
図３に、テキスト列に適用される様々なエフェクトを示した例示的なアプリケーションウィンドウ３００を示す。図のように、図３は、アプリケーションウィンドウ３１０、ウィンドウ要素３２０、表示域３３０、ならびにテキスト列３２５、３３４および３３６を含む。
【００１８】
テキスト列３２５は、マージされたテキストパスから型を作成せずにエフェクトがテキスト列に適用される場合に生じる重複を示す。図に示すように、ワード「Ｌｅｔｔｅｒ」の各文字は、他の文字と重複する。
【００１９】
テキスト列３３４は、マージされたテキストパスから作成された型、ならびにテキストに適用されるラインエフェクト、充てん（諧調）エフェクト、および陰影エフェクトを用いて作成されたワード「Ｌｅｔｔｅｒ」を示す。
【００２０】
テキスト列３３６は、ワード「Ｌｅｔｔｅｒ」に対するマージされたテキストパスを使用して作成された傾きおよび押し出しを有する三次元モデルを示す。押し出しは、異なる深度において、マージされたテキストパスから作成された型を複製すること、およびそれらの２つの型をつなぐことによって作成される。傾きは、外型を、三次元モデルの端部に適用させることによって、押し出された三次元モデルの型を精緻化することにより作成される。
【００２１】
図４および図５を参照して、マージされたテキストパスから作成された型にエフェクトを適用する具体的な過程を説明する。
【００２２】
本明細書に提示されたルーティンの考察を読む場合、当然のことながら様々な実施形態の論理的な動作は、（１）コンピュータシステムで実行される一連のコンピュータに実装された動作またはプログラムモジュールとして、および／または（２）コンピュータシステムの相互接続された機械論理回路または回路モジュールとして実行される。それらの実行は、本発明を実行するコンピュータシステムの性能要件に依存した選択の問題である。従って、本明細書に説明された具体的な論理動作および実施形態の構成は、動作、構造的な装置、動作、またはモジュールとして多様に言及される。これらの動作、構造的な装置、動作、およびモジュールは、ソフトウェア、ファームウェア、専用のデジタル論理、およびそれらの組み合わせにおいて実行できる。
【００２３】
図４に、マージされたテキストパスから作成された型にエフェクトを適用する過程を示す。
【００２４】
開始動作の後、その過程は、テキスト列が受信される動作４１０に移行する。典型的に、テキスト列は、ワードおよび／または文を構成する文字を含む。しかし、多かれ少なかれ文字は、テキスト列に含むことができる。
【００２５】
動作４２０に移動することで、マージされたテキストパスは作成される。マージされたテキストパスは、テキスト列の各文字と関連するテキストパスから作成される。マージされたテキストパスは、そのテキスト列のアウトラインに対する型の情報を含む。一実施形態に従って、ブール演算を使用してマージされたテキストパスを作成する（図５およびそれに関する考察を参照）。
【００２６】
動作４３０に移行することで、マージされたテキストパスから型が作成される。本明細書に述べたように、それらの型は、冗長部分が除外されたマージされたテキストパスを表す。
【００２７】
動作４４０に移行することで、任意の所望のエフェクトを、作成された型に適用できる。テキストパスの情報は、その型が作成されても消失しない。その型は、ワーピング、スケーリング、および他のエフェクト等の変換をさらに受けることができる。次にその過程は、他の動作の処理に戻る最終動作に移行する。
【００２８】
図５に、ブール演算を使用してマージされたテキストパスを作成する過程を示す。
【００２９】
開始動作の後、その過程は、テキスト列の各文字と関連するジオメトリを受信する動作５１０に移行する。受信されたジオメトリは一般に、それらの境界によって表された二次元領域からなる。各境界は、ポイントの３つの種類によって表すことができる閉じた像の集合である。これらのポイントの種類は、境界の内側のポイント、境界の外側のポイント、および境界上のポイントを含む。一般に、所与のポイントの封じ込めは、ポイントから無数の光線を当て、境界との交点を集計した後、ある法則を適用することによって決定できる。
【００３０】
単一のポイント上のこれらの内側および外側の封じ込めのクエリは容易であるが、一部のクエリおよび構成は、より深い分析および境界自体の処理を必要とする。一般に、テキスト列に対する境界が交差しない部分を分析して冗長部分を識別した後、適用されるエフェクトを有する領域に関連する方向性に従って分類される。
【００３１】
動作５２０に移行することで、ジオメトリは、チェーンまで細分化される。一実施形態に従って、ジオメトリの曲がった型は、ポリゴンによって近似される。本明細書に定義されたように、チェーンは、頂点の高い順からなるポリゴンの区分である。一実施形態に従って、それらのポリゴンの頂点は、大きい順に処理される。その順序は、Ｙ座標が等しい場合、Ｙ座標またはＸ座標によって辞書式順序にできる。一実施形態に従って、それらのチェーンは、必要な場合に付加的なデータを保持するために用いられる汎用ポインタを有する。それらのチェーンは、頭頂の高さによって分類された主要なチェーンのリストに挿入される。一実施形態に従って、頂点の低い順の配列が、最初に記録された方向とは逆のチェーンとして構成される。
【００３２】
動作５３０に移行することで、チェーンの頂点が走査される。一実施形態に従って、頂点は、高い順序にトラバースされる。チェーン上で直前に処理された頂点は、そのチェーンのカーソルである。そのチェーンの下にある次の頂点は、そのチェーンの候補頂点である。チェーンは、その頭頂が出てくるとアクティブになり、その最後の頂点が処理された後、不活性化される。
【００３３】
一実施形態に従って、アクティブなチェーンリストおよび候補チェーンリストを含んだチェーン参照の二つの作業リストが保持される。アクティブチェーンリストは、現在の処理の高さに端部を有し、左から右に水平に分類されたチェーンを含む。候補チェーンリストは、それらの候補頂点の高さによって分類されたアクティブチェーンを含む。一実施形態に従って、頂点座標は、整数グリッドまで四捨五入される。それらの近似された座標に加えて、端部の交点によって形成された新しい頂点は、それらを形成した交点区分の情報を格納する。概数を比較する代わりに、これらの頂点に対するクエリは、比較を必要とする数字を定義する式を比較する。区画演算を使用して、計算ごとの数値結果を含むことが保証された区間を計算する。計算結果の比較は、比較された区間が互いに素であることが頻繁に起こり、その限りにおいて明確に成し得る。比較された区間がなおも重複する場合、その過程は、最終的な回答用の精密な演算パッケージによって行われる計算を用いる。走査ループ５３０は、交点でのチェーンの分割５４０、接点の計算５５０、および閉じた像の出力５６０を含む３つの異なる動作を備える。これらの動作は、走査動作の間繰り返し起こり得る。
【００３４】
動作５４０によって、チェーンの交点でチェーンを分割する。チェーンの最初の（最も高い）頂点が先頭で、最後の（最も低い）頂点が末尾である。他の頂点が処理されると、その頂点の下の端部は、アクティブリストの両隣との交点が検査される。交点が見つかった場合、そのチェーンは分割される。新しく分割されたチェーン（交点の下）は、マスターチェーンリストに挿入される。所与の一連のライン区分間の交点を識別するベントレー・オットマン型アルゴリズムを利用できる。主要なチェーンリストのチェーンは、作業リスト（アクティブリストおよび候補リスト）に挿入することによって活性化され、そのカーソルは、チェーンの先頭に設置される。それらの末尾が処理された後、アクティブチェーンは、作業リストから除外される。チェーンが分割されている場合（交点において）、その交点の頂点の高さに従って候補リストから除外され、再挿入されることで、今度はそのチェーンの候補（および末尾）の頂点になる。
【００３５】
頂点が、処理するために候補リストから選ばれた時、そのチェーンは、そのリストから除外され、カーソルがその候補まで移動した後、処理される。その下に頂点がある場合、それが候補になり、そのチェーンは、その候補の頂点の高さに従って候補リストに挿入される。候補の頂点が無い場合、接点がそこに定められ、そのチェーンは、接点が処理された後に不活性化される。それらが処理された時、動作５４０が任意の頂点で起こり得る。
【００３６】
接点は、動作５５０で計算される。新しいチェーンが活性化される、または既存のチェーンの末尾が処理されると、接点が設置され、先頭または末尾が接点と一致する全てのチェーンが投入される。前者は、先頭チェーン、後者は、末尾チェーンと呼ばれる。新しいチェーンを活性化することによって引き起こされた後、アクティブチェーン間の接点の位置は、アクティブな端部と関連する位置を検査することによって設置される。隣接するチェーンは、集められ、それらの末尾が接点と一致する場合、末尾チェーンとしてその接点に加えられる。付加的なチェーンは、それらの先頭が接点と一致する場合、先頭チェーンとしてマスターリストから接点に加えられる。先頭チェーンは、接点でそれらの方向から見て左から右へ分類される。最初の端部が同一直線上であるチェーンの任意の組は、より短い端部の先端で分割される。接点の最も左および右にある先頭チェーンは、検査され、それらに隣接するチェーンと交差する場合、分割される。接点に先頭チェーンが無い場合、その左右に隣接するチェーン（接点が無くなった後、お互いの隣接になる）は、検査され、それらが交差する場合、分割される。全ての新しい先頭チェーンは、分類オブジェクトを使用して分類（左、右、または冗長として）される。現在２種類の分類子がある。一つは、充てん法則に基づいて単一の型を分類するもので、加えてもう一つは、お互いの端部の相互の封じ込めに基づいて２つの型の境界を分類し、ブール演算型に基づいて冗長チェーンをマークする。
【００３７】
動作５６０で、閉じた像を出力する。ある領域に閉じた像を出力することにより、その領域の境界を交差しない部分にまで細分化し、冗長部分を除外し、残った冗長の無い部分を簡易な常に方向づけられたループにつなぐことに言及する。動作５６０は、任意の接点が処理されると起こり得る。処理は、最終ブロックに移行し、他の動作の処理に戻る。
【００３８】
図６に、チェーンをつなげてアウトラインを形成する方法を示す。
【００３９】
一組の先頭チェーン（６１０）を有する一連のチェーンから開始し、末尾チェーンは、先頭チェーン（６２０）に接続される。２つの末尾チェーンがつながれ、それらが区別できる場合（６３０）、一連のチェーンは連結される。閉じた像は、それらが一連のチェーンに属する場合（６４０）、取り込まれる。
【００４０】
どの動作をとるかについての決定は、チェーンの分類（左、右、または冗長として）、カウントならびに接点での先頭および末尾のチェーンのパリティに基づく。
【００４１】
上記の明細で、例示およびデータは、製品の完全な説明および本発明の構成の使用を提供する。本発明の多数の実施形態は、発明の精神および範囲を逸脱することなく行うことができるので、本発明は、添付の請求に属する。
【図面の簡単な説明】
【００４２】
【図１】例示的なコンピュータ装置を示す図である。
【図２】エフェクトシステムを示す図である。
【図３】テキスト列に適用される様々なエフェクトを表示する例示的なアプリケーションウィンドウを示す図である。
【図４】マージされたテキストパスから作成された型にエフェクトを適用する過程を示す図である。
【図５】ブール演算を使用したマージされたテキストパスを作成する過程を示す図である。
【図６】チェーンをつないでアウトラインを形成する方法を示す図である。
【図１】
2009527812.tif 000003
【図２】
2009527812.tif 000004
【図３】
2009527812.tif 000005
【図４】
2009527812.tif 000006
【図５】
2009527812.tif 000007
【図６】
2009527812.tif 000008
【国際調査報告】
2009527812.tif 000009
2009527812.tif 000010