グラフィック中の少なくとも1つの形状にテキストをフィットさせる方法であって、前記形状にテキストをフィットさせるための、少なくとも1つの初期の制約と少なくとも1つの制約規則を、前記形状に対して定義するステップ、前記制約を前記形状に適用して、前記形状内にテキストをフィットさせることを試みるステップ、前記テキストが前記形状内にフィットしなかったことが検出されたならば、前記テキストがフィットしなかったことの検出に応答して、前記制約規則を適用して前記制約を変更するステップ、および、前記変更された制約を前記グラフィック内の関連する形状に再適用して、前記グラフィックの新しいレイアウトを作成するステップを備えることを特徴とする方法。現在の描画プログラムに特有の欠点の1つは、そうしたプログラムが、通例、テキストのプロパティ余白や行間隔等に対して、すべての形状とグラフィックに汎用的なデフォルト設定を利用することである。大半の場合、そうしたデフォルト設定は、広範囲のグラフィックにわたって最適であるとは思われない。その結果、ユーザは、プロフェッショナルな感じのグラフィックを得るためには、デフォルトのプロパティを手動で無効にしなければならない。これは、ユーザにとってストレスとなり、時間がかかる可能性がある。現在の描画プログラムの別の欠点は、これらのプログラムが、形状とテキストをグラフィックに追加する際に、形状内のテキストのサイズを手動で変更することをユーザに要求することである。例えば、その形状の範囲にフィットしないテキストをその形状に加える場合、ユーザは、テキストが形状内に完全にフィットするように、グラフィックまたはテキストのサイズを手動で変更しなければならない。この問題は、テキストを有する多数の形状がグラフィックの中で利用されるときには極めて時間がかかる可能性がある。多くのグラフィックは、関係する形状にわたってテキストのサイズが等しいときに最も見た目がよいという事実によって、この問題はさらに悪化する。現在の描画プログラムを利用してこれを達成するには、ユーザは、関係する1つ1つの形状の中でテキストのサイズを手動で変更しなければならない。これも、コンピュータユーザにとって時間を要し、ストレスとなる可能性がある。本発明の各種実施形態は、こうした考慮事項および他の考慮事項に関してなされたものである。本発明によれば、上記の問題やその他の問題は、グラフィック内の1つまたは複数の形状にテキストをフィットさせるFitting;適切にはめ込む方法およびコンピュータ可読媒体によって解決される。この方法によれば、1つまたは複数の初期の制約が定義され、これは、形状とその形状内のテキストをどのように配置すべきかを記述する初期値を備える。例えば、配置するテキストのフォントface、フォントサイズ、および文字の属性を指示する初期の制約を指定することができる。形状内のテキストに初期の制約を適用しても形状の境界からテキストがオーバーフローすることになる場合に、この初期の制約を変更する際に使用される1つまたは複数の制約規則も定義される。形状中のテキストの配置に影響するが、規則によって変更されることはない1つまたは複数のパラメータを定義することができる。本発明の一実施形態によれば、複数の形状のうちの1つまたは複数のサイズや位置、あるいは複数の形状のうちの1つ形状内のテキストのサイズと位置に影響する、グラフィックへの変更を検出することができる。例えば、形状の追加または除去、グラフィックの配置の変更、フォントの変更、グラフィック内の形状へのテキストの追加または除去が可能である。そのような変更の検出に応答して、初期の制約が適用される。テキストが形状からオーバーフローする場合は、制約規則が順次適用されて制約を変更する。そして、変更された制約が形状に再度適用されて、そのグラフィックの新しいレイアウトを作成する。本発明の別の実施形態によれば、制約規則を適用して制約を変更することは、初めに、形状内にフィットしないテキストを有するグラフィック中の形状を識別することを含む。そのような形状が識別されると、識別された形状に関連付けられた、グラフィック定義ファイル中の第1の制約規則が識別される。この制約規則は、形状に関連付けられた制約の制限値を識別する。そして、二分探索などの検索が行われて、識別された形状内にテキストをフィットさせることをもたらす、初期制約値と制限値の間にある制約の値を識別する。一実施形態によれば、識別される値は、初期の制約に最も近く、同時に形状内にテキストがフィットすることを可能にする値を備える。テキストを形状内にフィットさせることをもたらす値が、検索で識別された場合は、その制約については識別された値が形状に適用される。テキストを形状内にフィットさせる値を見つけることができない場合は、制限値がその形状に適用され、次の制約規則が識別され、その形状に適用される。あるいは、その規則によって識別される中間値をその形状に適用することもできる。このようにして、形状に関連付けられた各制約規則が順次形状に適用される。実施形態によれば、テキストが形状内にフィットするレイアウトを見つける際に助けとならない規則は飛ばすことができる。すべての制約規則を適用した結果テキストが形状内にフィットしない場合は、テキストが形状の外にはみ出さないようにすることを保証された、事前に定義された規則を適用することができる。例えば、形状の外にテキストが広がらないように、テキストを切り詰めて、省略記号を加える規則が適用されることができる。本発明の別の実施形態によれば、データ構造が記憶されたコンピュータ可読媒体が提供される。このデータ構造は、グラフィック内の形状にテキストをフィットさせるための1つまたは複数の初期の制約を表すデータを保持するデータフィールドのセットを含む。この制約は、1つまたは複数の形状内にテキストをどのように配置するかを記述する初期値を備える。一実施形態によれば、このデータ構造は、形状にテキストをフィットさせるための1つまたは複数の制約規則を表すデータを保持する第2のデータフィールドも含む。この制約規則は、この制約を適用しても形状内にテキストがうまく完全に配置されない場合に、制約を変更するための規則を備える。詳細には、各制約規則は、少なくとも1つの制約についての制限値を備える。この制約規則は、形状内のテキストのフォントサイズ、余白、単語の折り返し、ハイフネーション、カーニング、行間、およびその他の属性を変更するために利用することができる。本発明は、コンピュータプロセス、コンピューティングシステム、あるいは、コンピュータプログラム製品やコンピュータ可読媒体などの、製品として実施することができる。コンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行する命令のコンピュータプログラムを符号化したコンピュータ可読媒体とすることができる。コンピュータプログラム製品は、コンピュータシステムによって読み取ることができ、コンピュータプロセスを実行する命令のコンピュータプログラムを符号化した、搬送波上の伝搬信号とすることもできる。本発明を特徴付ける上記および様々な他の特徴ならびに利点は、以下の詳細な説明を読み、添付図面を検討することから明らかになろう。次いで図面を参照して本発明の各種態様を説明する。図面では、同様の参照符号は同様の要素を表す。詳細には、図1とそれに対応する解説は、本発明の実施形態が実施されることが可能な適切なコンピューティング環境の簡単で概略的な説明を提供するものである。パーソナルコンピュータのオペレーティングシステムで実行されるプログラムモジュールとの関連で実行されるプログラムモジュールの一般的なコンテクストで本発明を説明するが、当業者は、本発明は、他のタイプのコンピュータシステムおよびプログラムモジュールと組み合わせて実施することも可能であることを認識されよう。一般に、プログラムモジュールには、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造が含まれる。さらに、当業者は、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサを利用した、あるいはプログラム可能な消費者向け電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施できることを理解されよう。本発明は、通信ネットワークを通じてつながれた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリ記憶装置に置くことができる。次いで図1を参照して、本発明の各種実施形態で利用されるコンピュータ2の例示的なコンピュータアーキテクチャを説明する。図1に示すコンピュータアーキテクチャは、従来のデスクトップコンピュータあるいはラップトップコンピュータを示し、このコンピュータは、中央演算処理装置5CPU、RAMランダムアクセスメモリ9とROM読み取り専用メモリ11を含むシステムメモリ7、およびメモリをCPU5に結合するシステムバス12を含む。起動時などにコンピュータ内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システムは、ROM11に記憶される。コンピュータ2はさらに、オペレーティングシステム16、アプリケーションプログラム、および他のプログラムモジュールを記憶する大容量記憶装置14を含む。それらのプログラムについては下記でより詳細に説明する。大容量記憶装置14は、バス12に接続された大容量記憶装置コントローラ図示せずを通じてCPU5に接続される。大容量記憶装置14とそれに関連付けられたコンピュータ可読媒体は、コンピュータ2に不揮発性の記憶を提供する。本明細書に含まれるコンピュータ可読媒体の説明では、ハードディスクやCD-ROMドライブなどの大容量記憶装置を挙げるが、当業者には、コンピュータ可読媒体は、コンピュータ2によるアクセスが可能な利用可能媒体でよいことが理解されよう。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を備えることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、あるいは他のデータなどの情報を記憶するための方式または技術として実施された、揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。コンピュータ記憶媒体には、これらに限定しないが、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、あるいは他の固体素子メモリ技術、CD-ROM、デジタル多用途ディスクDVD、または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは、必要な情報を記憶するために使用することができ、コンピュータ2によるアクセスが可能な、他の媒体が含まれる。本発明の各種実施形態によれば、コンピュータ2は、インターネットなどのネットワーク18を通じたリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。コンピュータ2は、バス12に接続されたネットワークインターフェースユニット20を通じてネットワーク18に接続することができる。ネットワークインターフェースユニット20は、他のタイプのネットワークとリモートコンピュータシステムに接続するためにも利用できることを理解されたい。コンピュータ2は、キーボード、マウス、電子スタイラス図1には図示せずを含む複数の他のデバイスから入力を受け取り、処理する入出力コントローラ22も含むことができる。同様に、入出力コントローラ22は、ディスプレイ画面、プリンタ、あるいは他のタイプの出力装置に出力を提供することができる。上記で簡単に述べたように、コンピュータ2の大容量記憶装置14とRAM9には複数のプログラムモジュールとデータファイルが記憶されることができ、これには、ワシントン州レドモンドのマイクロソフト社製のWINDOWS登録商標XPオペレーティングシステムなど、ネットワーク対応のパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム16が含まれる。大容量記憶装置14とRAM9には、1つまたは複数のプログラムモジュールも記憶することができる。詳細には、大容量記憶装置14とRAM9は、描画アプリケーションプログラム10を記憶することができる。描画アプリケーションプログラム10は、グラフィック24などのグラフィックを作成し、レイアウトする機能を提供する働きをする。本発明の一実施形態によれば、描画アプリケーションプログラム10は、アプリケーションプログラムWORD、EXCEL、POWERPOINTを含む、マイクロソフト社のアプリケーションプログラムスイートOFFICEにあるプログラムのいずれか1つを備える。大容量記憶装置14は、描画アプリケーションプログラム10の中でグラフィックの作成とレイアウトに利用されるいくつかのコンポーネントも記憶することができる。詳細には、そうしたコンポーネントは、データモデル30とグラフィック定義ファイル40を含むことができる。本発明の各種実施形態で、描画アプリケーションプログラム10は、グラフィック定義ファイル40のグラフィックの作成とレイアウトに関する指示を読み込む。本発明の一実施形態では、データモデル30とグラフィック定義ファイル40は、描画アプリケーションプログラム10からアクセスされる個々のファイルとしてコンピュータシステム2に記憶することができることは理解されよう。データモデル30は、グラフィック24を構築するためのコンテンツを含んでいる、ノードの集まり、関係、テキスト、プロパティを含む。グラフィック定義ファイル40は、特定のグラフィックレイアウトをどのように作成するかを記述するデータの集まりである。本発明の各種実施形態で、グラフィック定義ファイル40は、XML拡張可能マークアップ言語を利用してフォーマットされることができる。当業者には理解されるように、XMLは、データを伝達するための標準的なフォーマットである。XMLデータフォーマットでは、スキーマを使用して、伝達することが可能なデータのタイプと構造を定める文法規則とデータタイプの規則のセットを、XMLデータに提供する。XMLデータフォーマットは当業者によく知られており、そのためここではこれ以上詳しくは解説しない。グラフィック定義ファイル40によって記述されるグラフィックの諸面には、各レイアウトノードに使用するレイアウトアルゴリズムの名前、アルゴリズムのパラメータ、制約、レイアウトツリーを構築するための制約規則、形状のジオメトリとスタイルプロパティのデフォルト設定、グラフィック分類データ、およびサンプルデータモデルが含まれる。グラフィック定義ファイル40のコンテンツと使用に関する追加的な詳細は、特許文献1から得ることができる。同出願は、参照により本明細書に明示的に組み込まれている。制約は、グラフィックを作成するレイアウトアルゴリズムで用いられる条件である。制約の一例は、形状の幅に使用される値である。制約は、数値を含んでもブール値を含んでもよいことは理解されよう。数値の制約は、具体的な数値を指定することができる幅=1インチ254cmなど。数値の制約は、参照を使用する高さ=幅×0.75など他の制約数値を参照することにより、その値を計算することもできる。ブール値の制約は、1つのセット中のすべてのノードが、他の制約と同じ値になることを強制する等値の制約equalityconstraintsを含むことができ、また、1つの制約値が別の制約値に基づいて制限される非等値の制約inequalityconstraintsを含むことができる例えば形状の幅は別の形状の高さより小さい、あるいは大きい必要がある等。制約は、レイアウトノード間で伝搬して、描画要素間に等値例えばすべてのノーマルノードは同じフォントサイズとする等、または非等値遷移ノードの幅≦ノーマルノードの幅とする等を強制することができる。制約は、その状態を他のレイアウトノードに伝搬する、共有されるプロパゲータpropagatorを制約に付加することによって伝搬されることができる。制約と制約規則は両方とも、伝搬した制約から他のノードで更新されることができることは理解されよう。制約規則は、制約のセットがレイアウトアルゴリズムによって満たされることができない場合に、制約のセットをどのように変更するかの記述である。例えば、制約は、フォントサイズが14ポイントでなければならないことを指定することができるが、制約規則は、フォントサイズを最小で8ポイントまで下げられることを指定することができる。本発明の一実施形態によれば、制約は、形状とその形状内のテキストがどのように配置されるべきかを記述する初期値を備える。これに関して、制約を適用しても形状の範囲内にテキストがうまく配置されないときにその制約を変更する規則を備える制約規則を指定することができる。制約と制約規則の構造と使用、およびグラフィック定義ファイル40のコンテンツに関する追加的な詳細事項は、下記で図4との関連で述べる。次いで図2A~2Bを参照して、本発明の一実施形態で生成されるいくつかの例示的なグラフィック24Aおよび24Bを説明する。図2Aに示すように、グラフィック24Aは、形状50A、50B、50Cを備える。各形状は、それぞれテキスト52A、52B、52Cを含む。本発明の一実施形態によれば、余白margins、間隔spacing、位置揃えalignmentなどの、テキストブロック、段落、および文字のプロパティが、データの構造に基づいて動的に変更されて、最も見た目のよいテキストのレイアウトを提供することができる。例えば、形状50Bの中のテキスト52Bが、いくつかの中黒点bulletpointsを加えるように編集される場合、テキスト52Bの位置揃えは、中央揃えから左揃えに変更することができる。これは、図2Bに示す左に揃えられたテキスト52Bとして表される。本発明の一実施形態によれば、複数の形状にまたがるテキストの位置揃えも、データの変更に基づいて動的に変更されることができる。例えば、テキスト52Bに中黒bulletsを追加するのに応答して、テキスト52Bの位置揃えは、上記のように中央揃えから左揃えに変更されることができる。それに加えて、形状50Aと50Bのテキスト52Aと52Cの位置揃えも、テキスト52Bの変更に応答して中央揃えから左揃えに変更されることができる。これが図2Bに示すテキスト52Aおよび52Cとして表される。次いで図3A~3Bを参照して、グラフィック24Cおよび24Dに関して本発明の追加的態様を示す。グラフィック24Cは、それぞれテキスト52A、52B、52Cを有する形状50A、50B、50Cを含む。テキスト52A、52B、52Cは、上および左に揃えられている。ユーザが、図3Aに示すプロセスグラフィックから図3Bに示す階層グラフィック24Dに変更するなど図のタイプを変更する場合、テキスト52A、52B、52Cは、グラフィック24Dの中の該当する形状にマップされる。さらに、グラフィックスタイルの変更に応じて、形状52A~52Dそれぞれの中のテキストの位置揃えが、上および左揃えから中央揃えに変更される。この変更は、グラフィック24Dに関連付けられたグラフィック定義ファイルが、テキストを中央揃えにするように指示しているという理由で行われる。次いで図4を参照して、本発明の実施形態を通じて適用されることができるフォーマット書式設定の変更のタイプに関する追加的な詳細事項を説明する。図4は、形状50Eを含むグラフィック24Eを示している。形状50Eは、親形状と1つの子形状から構成される複合形状である。複合形状は、親形状を含み、子形状をいくつでも有することができる。本発明の実施形態で複合形状を利用することは必須でないことは理解されたい。本発明で提供されるアルゴリズムは、どのような形状の組み合わせでも動作することができる。下記でより詳細に説明するように、形状のサイズとフォーマッティングは、その形状に関連付けられたテキストをその形状内に完全にフィットさせるように変更することができる。テキストのフォーマッティングとサイズも変化することができる。本発明の一実施形態によれば、親形状のテキストと形状は、子形状と無関係に変更することができる。同様に、子形状も、その親形状と無関係に変更することができる。このようにして、複合形状の任意の部分は、他の部分と無関係に変更することができる。このプロセスに関する追加的な詳細については下記で述べる。次いで図5を参照すると、形状とそれに関連付けられたテキストについて、その形状がそのテキスト取り囲むことを確実にするように変更されることを可能とすることに関する追加的な詳細を説明する。詳細には、図5に形状50Fを示す。形状50Fは、関連付けられたテキスト52Dを有する。形状50Fは、内側の余白58、縦方向の大きさ56、および横方向の大きさ54も含む。下記でより詳しく述べるように、形状50Fの縦方向と横方向の大きさは、テキスト52Dが形状内に完全にフィットするように変更されることができる。同様に、内側の余白58も、テキスト52Dが形状50F内にフィットするように、指定に従って変更されることができる。フォントサイズやテキストの位置揃えなどのテキスト52Dの属性も、テキスト52Dを形状50F内にフィットさせるために変更されることができる。本発明で提供されるアルゴリズムは、任意の幾何学的形状を範囲とする、ひとまとまりのテキストに利用できることを理解されたい。下記でより詳しく説明するように、グラフィック定義ファイル40は、形状50Fとテキスト52Dのどの属性が、テキスト52Dをフィットさせようとする際に変更されるべきかと、それらが変更される際の順序を定義する制約規則を含む。図5に示し、ここで説明する形状50Fとテキスト52Dの属性は、例示的なものに過ぎず、形状についての他の属性が、その形状内にテキスト52Dをフィットさせようとする際に変更されることができることを理解されたい。制約と制約規則は、形状ごとに指定されることができることも理解されたい。制約と制約規則は、形状の集合に対して指定されることもできる。次いで図6を参照して、例示的なグラフィック定義ファイル40の一部のコンテンツを説明する。詳細には、グラフィック定義ファイル40は、1つまたは複数の制約60を備える。制約60は、形状とその形状の中のテキストがどのように配置されるべきかを記述する初期値を備える。例えば、図6に示す制約60は、形状の幅を1.5インチ3.81cmに設定する制約を含んでいる。別の制約が、形状の高さを幅×0.667に設定する。さらに別の制約が、親形状のテキストサイズを36ポイントに設定し、別の制約が、子形状のテキストサイズを36ポイントに設定する。これらの制約が、形状とそれに関連付けられたテキストを初めに配置するのに使用される。ファイル40内に複数のパラメータも指定することができる。グラフィック定義ファイルは、1つまたは複数の制約規則62も含む。制約規則62は、制約のセットがレイアウトアルゴリズムで満たされることができない場合に制約のセットをどのように変更するかの記述である。例えば、図6に示す制約規則62は、形状の幅を0.25インチ064cm刻みで3インチ7.62cmまで増すことができることを示す第1の制約規則を含む。この第1の制約規則を適用した結果、テキストが形状内にフィットしない場合は、次の制約規則が適用される。次の制約規則は、形状の高さを形状の幅の1.5倍まで増してよいことを示す。この制約規則が、テキストの良好なフィッティングをもたらさない場合は、残りの制約規則がなくなるまで、次の規則が順に適用される。図6に示す他の制約規則それぞれは、親テキストのフォントサイズを最小で16ポイントまで下げ、子テキストのフォントサイズを最小で16ポイントまで下げ、高さを最高で3インチ7.62cmまで増し、親テキストのサイズを4ポイントまで下げる。ファイル40に明確に定義されない制約にはデフォルト値が利用されることができることは理解されたい。次いで図7を参照して、初期の制約と制約規則を定義するプロセスを例示する例示的ルーチン700を説明する。ここに述べるルーチンの解説を読む際には、本発明の各種実施形態の論理的動作は、1コンピュータによって実施される行為actsのシーケンス、またはコンピュータシステムで実行されるプログラムモジュールのシーケンスとして、かつ/または2コンピューティングシステム内の相互に接続された機械論理回路または回路モジュールとして、実装されることを理解されたい。この実装は、本発明を実装するコンピューティングシステムのパフォーマンス要件に応じて選択する事柄である。したがって、図7および8に示し、ここに記載される本発明の実施形態を構成する論理的動作logicaloperationsは、動作operations、構造的デバイス、行為acts、モジュール等と様々に称される。当業者には、これらの動作、構造的デバイス、行為、およびモジュールは、特許請求の範囲で述べられる本発明の主旨および範囲から逸脱することなく、ソフトウェア、ファームウェア、特殊目的デジタルロジック、およびそれらの組み合わせとして実装されることが可能であることが認識されよう。ルーチン700は、動作operation702で開始し、初期の制約値が定義される。次いでルーチン700は動作704に進み、制約規則が定義される。動作704からルーチン700は動作706に進み、制約値と制約規則がグラフィック定義ファイル40に記憶される。ルーチン700は次いで動作708に進み、終了する。次いで図8Aおよび8Bを参照して、形状にテキストをフィットさせる例示的ルーチン800を説明する。ルーチン800は、新しいグラフィックを作成する要求が受け取られた場合に動作802で開始する。この場合は、新しいグラフィックを挿入する要求が動作802で受け取られる。ルーチン800は次いで動作804に進み、新しいグラフィックのタイプの選択が受け取られる。ルーチン800は次いで動作806に進み、グラフィック内に初期の形状が配置される。この形状は、初期の制約に従って配置することができる。動作806からルーチン800は動作808に進み、これらの形状内に配置するテキストが受け取られる。次いでルーチン800は、下記で説明する動作814に進む。グラフィックタイプが変更される場合は、ルーチン800は、動作810で開始する。この場合は、新しいグラフィックのタイプの選択が動作810で受け取られる。動作810から、ルーチン800は、下記で説明する動作814に進む。動作814で、テキストのコンテンツがそのグラフィック内の各形状にマップされる。ルーチン800は次いで動作816に進み、初期の制約がそれらの形状に適用される。それらの形状にはパラメータも適用されることができる。例えば、テキストの色を変えてもテキストのサイズあるいは位置は変わらないので、色はパラメータとすることができる。動作816からルーチン800は動作818に進む。動作818で、テキストが各形状内にフィットするかどうかが決定される。テキストがフィットしない場合は、ルーチン800は動作820に進み、グラフィック定義ファイルに処理するためのさらなる制約規則があるかどうかが決定される。処理する制約規則がさらにある場合、ルーチンは動作822に進む。動作822で、次の制約規則がグラフィック定義ファイルから読み出される。ルーチン800は次いで動作824に進み、制約規則で指定される値のセットを検索して、そのテキストに対する最良の適合値を決定する。例えば、初期の制約が形状の幅を1.5インチ3.81cmとし、制約規則が幅を3インチ7.62cmの上限まで増してよいことを指定する場合には、検索を行って、テキストを形状内にフィットさせる1.5インチ3.81cmから3インチ7.62cmの間の最も小さい値を特定する。一実施形態によれば、二分探索が利用される。ただし、検索アルゴリズムに加えて、テキストを最適にフィットさせる値、最良の適合値を特定するために他のタイプのアルゴリズムが利用されてよいことは理解されたい。本発明の一実施形態によれば、一部変更された二分探索アルゴリズムを利用して、うまく行く値が見つかった後も、開始値により近い値を探し続けることを理解されたい。このプロセスは、テキストをフィットさせる最初の結果が、それより後のフィットすることをもたらす値の所定の閾値内に入るまで継続する。このようにしてテキストを最適な形でフィットさせる値、最良の適合値を見つけることができる。現在の制約規則を利用して最良の適合値の検索が行われると、方法800は動作818に戻り、テキストが形状にフィットするかどうかについて再度決定が行われる。テキストがフィットしない場合は、動作820、822、824に関して上記のプロセスが繰り返される。テキストがフィットする場合は、ルーチン800は動作818から動作828に分岐する。一実施形態によれば、検索ルーチンで、オーバーフローしたテキストを有する形状の最適な形でフィットする値として特定された値は、他の形状に伝搬されることができることを理解されたい。このようにして、統一性のために、関連する形状のサイズが変更され、それにより、ユーザが関連する形状のサイズを手動で変更せずに済むようにすることができる。動作828で、グラフィック内のコンテンツのサイズあるいは位置に変更があったかどうかが決定される。変更がない場合は、ルーチン800は動作832に分岐し、終了する。変更がある場合は、ルーチン800は動作826に分岐し、グラフィック内の形状にマップする新しいコンテンツがあるかどうかが決定される。マップする新しいコンテンツがある場合、ルーチン800は動作826から上記の動作814に分岐する。マップする新しいコンテンツがない場合、ルーチンは動作826から上記の動作816に分岐する。動作820で処理すべき制約規則がそれ以上ないと決定される場合は、ルーチン800は動作820から動作830に分岐する。動作830で、テキストが形状の外にはオーバーフローしないようにすることが保証された、あらかじめ定義された規則が形状に適用される。例えば、本発明の一実施形態によれば、テキストを切り詰めて、この切り詰めを知らせるためにテキストの最後に省略記号...が加えられることができる。残りの切り詰められたテキストが形状内に完全にフィットするのに十分なテキストが切り詰められることができる。テキストが形状の外にオーバーフローしないようにすることを保証された他のタイプの規則が適用されることができる。動作830からルーチン800は上記の動作828に分岐する。前述の記載に基づき、本発明の各種実施形態は、グラフィック内の形状にテキストをフィットさせる方法およびコンピュータ可読媒体を含むことが理解されよう。上記の詳細な説明、例、およびデータは、本発明の製造と構成の使用についての完全な説明を提供する。本発明の実施形態の多くは、本発明の主旨および範囲から逸脱することなくなされることができるので、本発明は、頭記の特許請求の範囲内に属する。