JP5097133B2 - マージされたテキストパスにエフェクトを適用すること - Google Patents

マージされたテキストパスにエフェクトを適用すること Download PDF

Info

Publication number
JP5097133B2
JP5097133B2 JP2008555357A JP2008555357A JP5097133B2 JP 5097133 B2 JP5097133 B2 JP 5097133B2 JP 2008555357 A JP2008555357 A JP 2008555357A JP 2008555357 A JP2008555357 A JP 2008555357A JP 5097133 B2 JP5097133 B2 JP 5097133B2
Authority
JP
Japan
Prior art keywords
text
chain
text string
merged
vertex
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.)
Expired - Fee Related
Application number
JP2008555357A
Other languages
English (en)
Other versions
JP2009527812A (ja
Inventor
ゲルハルト ルッツ
ジェイ.アーボルト マイケル
カーライ マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009527812A publication Critical patent/JP2009527812A/ja
Application granted granted Critical
Publication of JP5097133B2 publication Critical patent/JP5097133B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/948Alteration of stored fonts to maintain feature consistency throughout scaled font

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Image Generation (AREA)
  • Enzymes And Modification Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

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

Claims (16)

  1. エフェクトを適用するためのコンピュータに実装された方法であって、
    テキスト列を受信することであって、前記テキスト列は2つ以上の文字を含むことと、
    前記テキスト列に対するマージされたテキストパスを作成することであって、前記マージされたテキストパスは前記テキスト列の各文字のアウトラインを表わすテキストパスの結合であり、
    前記マージされたテキストパスの作成は、ブール演算を使用し、
    前記テキスト列に関連するジオメトリを受信することであって、前記ジオメトリは前記テキスト列の各文字に関連する境界によって表される二次元領域であることおよび1つまたは複数の曲がった型を含むことと、
    前記1つまたは複数の曲がった型をポリゴンに近似させることと、
    前記ジオメトリをチェーンまで細分化することであって、少なくとも1つのチェーンは前記ポリゴンの区分を含み、前記ポリゴンの前記区分は前記1つまたは複数の曲がった型に由来し、前記少なくとも1つのチェーンは先頭の頂点および末尾の頂点を含み、前記先頭の頂点は前記チェーンにおいて最初の頂点でありおよび前記末尾の頂点は前記チェーンにおいて最後の頂点であることと、
    接点を計算することであって、新しいチェーンが活性化されるときまたは既存のチェーンの前記末尾の頂点が処理されるときに前記接点は設置され、前記接点は前記新しいチェーンの前記先頭の頂点または前記既存のチェーンの前記末尾の頂点の座標位置を有し、前記接点は前記接点と同一の座標を有する1つまたは複数の先頭の頂点または末尾の頂点を含むことと、
    前記テキスト列において細分化された前記チェーンのうちの重複する1つまたは複数のチェーンを、冗長チェーンとして分類することと、
    前記冗長チェーンを破棄することと、
    冗長を除いた部分をつなげて、アウトラインを形成すること
    含むことと、
    前記マージされたテキストパスから単一の型を作成することであって、前記単一の型は冗長部分が除外されたマージされたテキストパスを表わすことと、および
    前記エフェクトを前記単一の型に適用することと
    を備えたことを特徴とするコンピュータに実装された方法。
  2. 前記テキスト列を受信することは、エフェクトが適用される少なくとも2つの隣接した文字を受信することを備えたことを特徴とする請求項1に記載の方法。
  3. 前記マージされたテキストパスから前記単一の型を作成することは、前記テキスト列と関連するテキストパスの情報を保持することを備えたことを特徴とする請求項1に記載の方法。
  4. 前記マージされたテキストパスを作成することは、前記テキスト列のアウトラインを決定することを備えたことを特徴とする請求項1に記載の方法。
  5. 前記エフェクトを適用することは、ラインエフェクトを前記テキスト列に適用することを特徴とする請求項1に記載の方法。
  6. 前記エフェクトを適用することは、押し出しおよび傾きエフェクトを適用することを備えたことを特徴とする請求項1に記載の方法。
  7. エフェクトをテキスト列に適用するためのコンピュータ実行可能命令を有するコンピュータ読み取り可能記録媒体であって、前記命令は、
    最初のエフェクトが適用されるテキスト列を受信することであって、前記テキスト列は2つ以上の文字を含むことと、
    前記テキスト列に対するマージされたテキストパスを作成することであって、前記マージされたテキストパスは前記テキスト列の各文字のアウトラインを表わすテキストパスの結合であり、
    前記マージされたテキストパスの作成は、ブール演算を使用し、
    前記テキスト列に関連するジオメトリを受信することであって、前記ジオメトリは前記テキスト列の各文字に関連する境界によって表される二次元領域であることおよび1つまたは複数の曲がった型を含むことと、
    前記1つまたは複数の曲がった型をポリゴンに近似させることと、
    前記ジオメトリをチェーンまで細分化することであって、少なくとも1つのチェーンは前記ポリゴンの区分を含み、前記ポリゴンの前記区分は前記1つまたは複数の曲がった型に由来し、前記少なくとも1つのチェーンは先頭の頂点および末尾の頂点を含み、前記先頭の頂点は前記チェーンにおいて最初の頂点でありおよび前記末尾の頂点は前記チェーンにおいて最後の頂点であることと、
    接点を計算することであって、新しいチェーンが活性化されるときまたは既存のチェーンの前記末尾の頂点が処理されるときに前記接点は設置され、前記接点は前記新しいチェーンの前記先頭の頂点または前記既存のチェーンの前記末尾の頂点の座標位置を有し、前記接点は前記接点と同一の座標を有する1つまたは複数の先頭の頂点または末尾の頂点を含むことと、
    前記テキスト列において細分化された前記チェーンのうちの重複する1つまたは複数のチェーンを、冗長チェーンとして分類することと、
    前記冗長チェーンを破棄することと、
    冗長を除いた部分をつなげて、アウトラインを形成すること
    含むことと、
    前記マージされたテキストパスから単一の型を作成することであって、前記単一の型は冗長部分が除外されたマージされたテキストパスを表わすことと、および
    前記最初のエフェクトを前記単一の型に適用すること
    を備えたことを特徴とするコンピュータ読み取り可能記録媒体。
  8. 前記エフェクトが適用される前記テキスト列を受信することは、ワードを形成する文字を受信すること、および各文字がテキストパスの情報を含むことを備えたことを特徴とする請求項7に記載のコンピュータ読み取り可能記録媒体。
  9. 前記マージされたテキストパスから前記単一の型を作成することは、前記最初のエフェクトが適用された後、2番目のエフェクトを前記単一の型に適用できるように、前記テキスト列と関連するテキストパスの情報を格納することを備えたことを特徴とする請求項7に記載のコンピュータ読み取り可能記録媒体。
  10. 前記マージされたテキストパスを作成することは、前記テキスト列のアウトラインを決定することを備えたことを特徴とする請求項7に記載のコンピュータ読み取り可能記録媒体。
  11. 前記エフェクトを適用することは、ラインエフェクトを前記テキスト列に適用することを備えたことを特徴とする請求項7に記載のコンピュータ読み取り可能記録媒体。
  12. 前記エフェクトを適用することは、押し出しおよび傾きエフェクトを適用することを備えたことを特徴とする請求項7に記載のコンピュータ読み取り可能記録媒体。
  13. エフェクトをテキスト列に適用するためのコンピュータ装置であって、
    プロセッサおよびコンピュータ読み取り可能記録媒体と、
    前記コンピュータ読み取り可能記録媒体に格納されるおよび前記プロセッサで実行する動作環境と、
    ディスプレイと、
    前記動作環境の制御下で動作し、およびエフェクトが適用されるテキスト列を作成する働きをするアプリケーションと、
    前記テキスト列を受信することであって、前記テキスト列は2つ以上の文字を含むことと、
    前記テキスト列に対するマージされたテキストパスを作成することであって、前記マージされたテキストパスは前記テキスト列の各文字のアウトラインを表わすテキストパスの結合であり、
    前記マージされたテキストパスの作成は、ブール演算を使用し、
    前記テキスト列に関連するジオメトリを受信することであって、前記ジオメトリは前記テキスト列の各文字に関連する境界によって表される二次元領域であることおよび1つまたは複数の曲がった型を含むことと、
    前記1つまたは複数の曲がった型をポリゴンに近似させることと、
    前記ジオメトリをチェーンまで細分化することであって、少なくとも1つのチェーンは前記ポリゴンの区分を含み、前記ポリゴンの前記区分は前記1つまたは複数の曲がった型に由来し、前記少なくとも1つのチェーンは先頭の頂点および末尾の頂点を含み、前記先頭の頂点は前記チェーンにおいて最初の頂点でありおよび前記末尾の頂点は前記チェーンにおいて最後の頂点であることと、
    接点を計算することであって、新しいチェーンが活性化されるときまたは既存のチェーンの前記末尾の頂点が処理されるときに前記接点は設置され、前記接点は前記新しいチェーンの前記先頭の頂点または前記既存のチェーンの前記末尾の頂点の座標位置を有し、前記接点は前記接点と同一の座標を有する1つまたは複数の先頭の頂点または末尾の頂点を含むことと、
    前記テキスト列において細分化された前記チェーンのうちの重複する1つまたは複数のチェーンを、冗長チェーンとして分類することと、
    前記冗長チェーンを破棄することと、
    冗長を除いた部分をつなげて、アウトラインを形成すること
    含むことと、
    前記マージされたテキストパスから単一の型を作成することであって、前記単一の型は冗長部分が除外されたマージされたテキストパスを表わすことと、および
    前記エフェクトを前記単一の型に適用することと
    前記ディスプレイに前記単一の型を表示することと
    を実行するように形成されたエフェクトエンジンと
    を備えたことを特徴とするコンピュータ装置。
  14. 前記マージされたテキストパスから前記単一の型を作成することは、前記テキスト列と関連するテキストパスの情報を保持することを備えたことを特徴とする請求項13に記載の装置。
  15. 前記マージされたテキストパスからアウトラインを作成することをさらに備えたことを特徴とする請求項13に記載の装置。
  16. 前記エフェクトを適用することは、ラインエフェクト、スケーリング、投影、押し出し、および傾きから選択されたエフェクトを適用することを備えたことを特徴とする請求項13に記載の装置。
JP2008555357A 2006-02-17 2007-02-13 マージされたテキストパスにエフェクトを適用すること Expired - Fee Related JP5097133B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/357,285 2006-02-17
US11/357,285 US7752543B2 (en) 2006-02-17 2006-02-17 Applying effects to a merged text path
PCT/US2007/004046 WO2007098013A1 (en) 2006-02-17 2007-02-13 Applying effects to a merged text path

Publications (2)

Publication Number Publication Date
JP2009527812A JP2009527812A (ja) 2009-07-30
JP5097133B2 true JP5097133B2 (ja) 2012-12-12

Family

ID=38427711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008555357A Expired - Fee Related JP5097133B2 (ja) 2006-02-17 2007-02-13 マージされたテキストパスにエフェクトを適用すること

Country Status (9)

Country Link
US (1) US7752543B2 (ja)
EP (1) EP2002352B1 (ja)
JP (1) JP5097133B2 (ja)
KR (1) KR101323082B1 (ja)
CN (1) CN101385022B (ja)
BR (1) BRPI0707145A8 (ja)
ES (1) ES2570933T3 (ja)
RU (1) RU2430421C2 (ja)
WO (1) WO2007098013A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9604217B2 (en) 2010-11-19 2017-03-28 Becton, Dickinson And Company Specimen container label for automated clinical laboratory processing systems
US9724690B2 (en) 2006-02-08 2017-08-08 Becton, Dickinson And Company Blood collection device, method, and system for using the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8633930B2 (en) * 2007-03-26 2014-01-21 Apple Inc. Non-linear text flow
US20090199087A1 (en) * 2008-02-04 2009-08-06 Microsoft Corporation Applying rich visual effects to arbitrary runs of text
US8300052B1 (en) 2008-09-24 2012-10-30 Autodesk, Inc. Application of bevel curves to splines
US10025979B2 (en) * 2012-01-23 2018-07-17 Microsoft Technology Licensing, Llc Paragraph property detection and style reconstruction engine
WO2014005609A1 (en) 2012-07-06 2014-01-09 Microsoft Corporation Paragraph alignment detection and region-based section reconstruction
DE102014006549B4 (de) * 2014-05-06 2022-05-05 Elektrobit Automotive Gmbh Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
US11314924B2 (en) * 2020-06-04 2022-04-26 Adobe Inc. Constructing a path for character glyphs
US11386596B2 (en) * 2020-10-21 2022-07-12 Adobe Inc. Automatic creation of text-on-path graphic along complex paths

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170442A (en) 1987-09-08 1992-12-08 Seiko Epson Corporation Character pattern transforming system
US5355449A (en) * 1991-09-30 1994-10-11 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
US5493108A (en) * 1992-10-14 1996-02-20 Spectra-Physics Scanning Systems, Inc. Method and apparatus for recognizing and assembling optical code information from partially scanned segments
US5438656A (en) * 1993-06-01 1995-08-01 Ductus, Inc. Raster shape synthesis by direct multi-level filling
US5583978A (en) * 1994-05-27 1996-12-10 Bitstream Inc. Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions
US5600772A (en) * 1994-08-17 1997-02-04 Printronix, Inc. Bit map character convertor using chain-codes for the character filling process
US5524182A (en) * 1994-12-21 1996-06-04 Hewlett-Packard Company System and method for compressing and decompressing fonts based upon font stroke regularities
US5719595A (en) * 1995-05-09 1998-02-17 Apple Computer, Inc. Method and apparauts for generating a text image on a display with anti-aliasing effect
JP3207336B2 (ja) * 1995-07-31 2001-09-10 シャープ株式会社 文字パターン生成装置
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US7302438B1 (en) * 1997-07-18 2007-11-27 Tesseron Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6209010B1 (en) * 1997-07-18 2001-03-27 Varis Corporation Computer implemented method for wrapping data to an arbitrary path defined by a page description language
US6952210B1 (en) * 1997-12-05 2005-10-04 Adobe Systems Incorporated Method of generating multiple master typefaces containing kanji characters
US6836695B1 (en) * 1998-08-17 2004-12-28 Soft Sight Inc. Automatically generating embroidery designs from a scanned image
US7315979B1 (en) * 1998-11-09 2008-01-01 Tesseron Ltd. Method and system for dynamic flowing data to an arbitrary path defined by a page description language
US6437793B1 (en) * 1999-07-29 2002-08-20 Bitstream Inc. System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
US6803913B1 (en) * 1999-12-01 2004-10-12 Microsoft Corporation Warping text along a curved path
US6518968B1 (en) 2000-05-17 2003-02-11 Hewlett-Packard Company Method and apparatus for performing H-space bump mapping suitable for implementation with H-space lighting in a graphics pipeline of a computer graphics display system
WO2002025587A2 (en) 2000-09-19 2002-03-28 Technion Research And Development Foundation Ltd. Method and apparatus for shape deformation and placement
US6628295B2 (en) * 2001-01-31 2003-09-30 Adobe Systems Incorporated Modifying a stylistic property of a vector-based path
TW511007B (en) * 2001-08-30 2002-11-21 Ulead Systems Inc System and method editing and processing character string
US7339992B2 (en) * 2001-12-06 2008-03-04 The Trustees Of Columbia University In The City Of New York System and method for extracting text captions from video and generating video summaries
JP3899421B2 (ja) * 2002-03-26 2007-03-28 学校法人東京電機大学 文字及び文字列生成表示装置
KR100497390B1 (ko) * 2003-04-01 2005-06-23 삼성전자주식회사 벡터 폰트 생성방법 및 장치
US7536052B2 (en) * 2003-12-15 2009-05-19 Xerox Corporation Corner sharpening of text and line art in a super resolution anti-aliasing image path
US7855812B2 (en) * 2004-02-13 2010-12-21 Texas Instruments Incorporated Cellular phone with scanning capability
US7770100B2 (en) 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9724690B2 (en) 2006-02-08 2017-08-08 Becton, Dickinson And Company Blood collection device, method, and system for using the same
US9604217B2 (en) 2010-11-19 2017-03-28 Becton, Dickinson And Company Specimen container label for automated clinical laboratory processing systems

Also Published As

Publication number Publication date
EP2002352A4 (en) 2012-04-11
CN101385022A (zh) 2009-03-11
EP2002352B1 (en) 2016-04-06
KR20080093442A (ko) 2008-10-21
US7752543B2 (en) 2010-07-06
EP2002352A1 (en) 2008-12-17
BRPI0707145A8 (pt) 2016-12-13
WO2007098013A1 (en) 2007-08-30
RU2008133598A (ru) 2010-02-20
RU2430421C2 (ru) 2011-09-27
KR101323082B1 (ko) 2013-10-29
BRPI0707145A2 (pt) 2011-04-19
US20070195095A1 (en) 2007-08-23
JP2009527812A (ja) 2009-07-30
ES2570933T3 (es) 2016-05-23
CN101385022B (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
JP5097133B2 (ja) マージされたテキストパスにエフェクトを適用すること
US9484006B2 (en) Manipulation of textual content data for layered presentation
JP4686186B2 (ja) ソースフォントデータからフォントフォーマットデータを生成するシステムおよび方法
US8959431B2 (en) Low resolution placeholder content for document navigation
US8539342B1 (en) Read-order inference via content sorting
JPH08249329A (ja) ポータブル電子文書に記載されている単語を識別する方法及び装置
JPH10105361A (ja) オブジェクト指定方法及びシステム
TW452721B (en) Method and apparatus for character font generation within limitation of character output media and computer readable storage medium storing character font generation program
JP2014167635A (ja) 低解像度ディスプレイのためのストロークベースのフォント処理方法
JP4162670B2 (ja) シルエット化グレーフォント発生方法
US9245361B2 (en) Consolidating glyphs of a font
CN105474198A (zh) 具有动态调色板的分层z顺序和微调颜色字体
CN107665186B (zh) 一种特有字体生成方法
JP2024025829A (ja) 情報処理装置、情報処理方法及びプログラム
US20170249292A1 (en) Conditional determination of lookups in glyph processing
KR20050061620A (ko) 문서편집 소프트웨어의 수식 편집기 및 그 편집방법
JP3034140B2 (ja) 文字生成方法及びその装置
JPH05258073A (ja) 図形塗潰し装置
JP4574347B2 (ja) 画像処理装置、方法及びプログラム
JPH0830725A (ja) 画像処理装置及び方法
Chigona et al. Improving readability of contextualized text explanations
CN118228690A (zh) 处理pdf文档中的表格的方法、装置、计算器设备及存储介质
JP2006048172A (ja) クリップ処理システム及びクリップ処理方法
JP2017049931A (ja) 組版処理方法
JPH08137460A (ja) フォント情報生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120921

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees