(57)【要約】      （修正有）【課題】オブジェクトをページ上にレイアウトする方法であり、レイアウト前計算段又はレイアウト後計算段において動作可能であってもよい方法を提供する。【解決手段】方法は、コンテンツをパネルに挿入する際に複数のコンテナがパネル２０２内の空間に関して交渉するように構成されてもよいパネル２０２等のオブジェクトを必要とする。通常、コンテンツの一部は、レイアウトに従う文書作成の各例に対して可変である。レイアウトすることは、複数の配置ルールの適用、並びにパネル及びコンテナを含むオブジェクトの好適な寸法（例えば、高さ及び幅）と実際の寸法との間の調整を含む。【選択図】図２
2008293483.tif 000002
【特許請求の範囲】
【請求項１】
各々が好適な高さ及び好適な幅を有するオブジェクトをページ上にレイアウトする方法であって、
（ａ）第１の配置ルールに従って、第１の複数の前記オブジェクトを第１のパネル内に配置し、
（ｂ）前記第１の複数の前記オブジェクトの少なくとも１つのオブジェクトの好適な幅に基づいて、前記第１のパネルの好適な高さを計算し、
（ｃ）第２の配置ルールに従って、第２の複数の前記オブジェクトを第２のパネル内に配置し、
（ｄ）前記第２の複数の前記オブジェクトの少なくとも１つのオブジェクトの好適な高さに基づいて、前記第２のパネルの好適な幅を計算し、
（ｅ）前記パネルを前記ページ内にレイアウトし、それによって、各パネルの前記好適な高さ及び前記好適な幅に基づいて各パネルの実際の幅及び実際の高さを判定し、
（ｆ）各パネル内に前記オブジェクトをレイアウトし、それによって、各パネルの前記判定された実際の幅及び前記判定された実際の高さと前記配置ルールの各々とに基づいて、各オブジェクトの実際の幅及び実際の高さを判定することを特徴とする方法。
【請求項２】
前記第１の配置ルールは、均等割付け水平ルール及びアスペクト比垂直ルールのうち一方を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第２の配置ルールは、アスペクト比水平ルール及び均等割付け垂直ルールのうち一方を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１のパネル及び前記第２のパネルの前記実際の幅と前記実際の高さとの間に関数関係が規定され、ステップ（ｅ）は前記関数関係を満たすことを更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記配置ルールの１つを選択するステップを更に含み、前記選択するステップは、
（ｉ）前記オブジェクトが画像を実質的に含む場合にアスペクト比ルールを選択すること、
（ｉｉ）前記オブジェクトがテキストオブジェクトを実質的に含む場合に均等割付けルールを選択すること、
（ｉｉｉ）画像オブジェクトの数とテキストオブジェクトの数とがほぼ等しい場合にコンテンツサイズルールを選択すること
のうち少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項６】
（ｉ）オブジェクトをページ上にレイアウトする際に使用するロケールを提供し、
（ｉｉ）前記ロケールが左から右又は右から左の書記体系に対応する場合に水平方向を選択し、
（ｉｉｉ）前記ロケールが上から下又は下から上の書記体系に対応する場合に垂直方向を選択する
ことにより、前記配置ルールの方向を選択するステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記配置ルールの１つはアスペクト比ルールを含み、前記方法は、
（ｉ）前記オブジェクトの前記好適なサイズを均一な高さに変倍し、
（ｉｉ）前記パネルの前記オブジェクトを収納するようなサイズを計算し、前記オブジェクトの前記変倍された幅の和である幅及び前記オブジェクトの前記均一な高さである高さを付与し、
（ｉｉｉ）前記サイズの前記幅及び前記高さが前記パネルに適合し且つ前記高さ及び前記幅の一方が前記パネルの前記高さ及び前記幅とそれぞれ等しくなるように前記サイズを変倍し、
（ｉｖ）前記オブジェクトの各々の前記幅を判定するために、少なくとも前記変倍された高さを使用し、
（ｖ）前記変倍された高さ及び対応する前記判定された幅に従って、前記パネル内に各オブジェクトを配置する
ことを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記配置ルールの１つは均等割付けルールを含み、前記方法は、
（ｉ）各オブジェクトが同一の実際の幅を有するように、前記パネルの実際の幅を前記オブジェクト間で分割し、
（ｉｉ）前記オブジェクトの形状ルールに従って、前記オブジェクトの各々の実際の高さを前記パネルの最大高さまでの範囲で計算し、
（ｉｉｉ）前記変倍された高さ及び対応する前記判定された幅に従って、前記パネル内に各オブジェクトを配置する
ことを含むことを特徴とする請求項１に記載の方法。
【請求項９】
オブジェクトをページ上にレイアウトする方法であって、
（ａ）第１の配置ルールに従って、複数のオブジェクトを第１のパネル内に配置し、
（ｂ）第２の配置ルールに従って、複数のオブジェクトを第２のパネル内に配置し、
（ｃ）前記パネルを前記ページ内にレイアウトし、それによって各パネルの実際の幅及び実際の高さを判定し、
（ｄ）前記第１のパネルの前記実際の幅に基づいて、前記第１のパネル内の少なくとも１つのオブジェクトの実際の高さを前記第１の配置ルールに従って計算し、
（ｅ）前記第２のパネルの前記実際の高さに基づいて、前記第２のパネル内の少なくとも１つのオブジェクトの実際の幅を前記第２の配置ルールに従って計算する
ことを特徴とする方法。
【請求項１０】
前記配置ルールの１つを選択するステップを更に含み、前記選択することは、
（ｉ）前記オブジェクトが画像を実質的に含む場合にアスペクト比ルールを選択すること、
（ｉｉ）前記オブジェクトがテキストオブジェクトを実質的に含む場合に均等割付けルールを選択すること、
（ｉｉｉ）画像オブジェクトの数とテキストオブジェクトの数とがほぼ等しい場合にコンテンツサイズルールを選択すること
のうち少なくとも１つを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
（ｉ）オブジェクトをページ上にレイアウトする際に使用するロケールを提供し、
（ｉｉ）前記ロケールが左から右又は右から左の書記体系に対応する場合に水平方向を選択し、
（ｉｉｉ）前記ロケールが上から下又は下から上の書記体系に対応する場合に垂直方向を選択する
ことにより前記配置ルールの方向を選択するステップを更に含むことを特徴とする請求項９に記載の方法。
【請求項１２】
好適な高さ及び好適な幅を含む好適な寸法を各々が有する複数のオブジェクトを含み且つページ上にレイアウトされるように構成される複数のパネルに対して好適な寸法を設定する方法であって、
（ａ）前記複数のパネルの１つに前記複数のオブジェクトを水平に挿入する工程と、
（ｂ）前記オブジェクトの前記好適な寸法から前記パネルの好適な寸法が計算される方法を決定する配置ルールであり、
（ｉ）前記パネルの好適な幅が前記オブジェクトの前記好適な高さに依存すること、
（ｉｉ）前記パネルの好適な高さが前記オブジェクトの前記好適な幅に依存すること
のうちの一方である配置ルールを前記パネルの各々に対して選択する工程と、
（ｃ）前記選択された配置ルールに従って、前記オブジェクトの前記好適な幅及び前記好適な高さから前記パネルの各々の前記好適な幅及び前記好適な高さを計算する工程と
を備えることを特徴とする方法。
【請求項１３】
前記配置ルールの１つを選択する工程を更に含み、前記選択する工程は、
（ｉ）前記オブジェクトが画像を実質的に含む場合にアスペクト比ルールを選択すること、
（ｉｉ）前記オブジェクトがテキストオブジェクトを実質的に含む場合に均等割付けルールを選択すること、
（ｉｉｉ）画像オブジェクトの数とテキストオブジェクトの数とがほぼ等しい場合にコンテンツサイズルールを選択すること
のうち少なくとも１つを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
（ｉ）オブジェクトをページ上にレイアウトする際に使用するロケールを提供し、
（ｉｉ）前記ロケールが左から右又は右から左の書記体系に対応する場合に水平方向を選択し、
（ｉｉｉ）前記ロケールが上から下又は下から上の書記体系に対応する場合に垂直方向を選択する
ことにより、前記配置ルールの方向を選択する工程を更に含むことを特徴とする請求項１２２に記載の方法。
【請求項１５】
ページ上にレイアウトされた複数のパネル内に配置される複数のオブジェクトの実際の寸法を判定する方法であり、前記パネルの各々が実際の幅及び実際の高さを有し且つ前記パネル内に水平及び垂直の一方に配置される複数のオブジェクトを含む方法であって、
（ａ）前記パネル内に配置される前記オブジェクトの前記実際の寸法が前記パネルの前記実際の寸法から計算される方法を決定する配置ルールであり、
（ｉ）オブジェクトの前記実際の幅が前記パネルの前記実際の高さに依存すること、
（ｉｉ）オブジェクトの前記実際の高さが前記パネルの前記実際の幅に依存すること
のうちの一方である配置ルールを前記パネルの各々に対して選択する工程と、
（ｂ）前記パネルに対する前記選択された配置ルールに従って、前記オブジェクトが属する前記パネルの前記実際の幅及び前記実際の高さから前記オブジェクトの各々の前記実際の幅及び前記実際の高さを計算する工程と
を有することを特徴とする方法。
【請求項１６】
前記配置ルールの１つを選択する工程を更に含み、前記選択する工程は、
（ｉ）前記オブジェクトが画像を実質的に含む場合にアスペクト比ルールを選択すること、
（ｉｉ）前記オブジェクトがテキストオブジェクトを実質的に含む場合に均等割付けルールを選択すること、
（ｉｉｉ）画像オブジェクトの数とテキストオブジェクトの数とがほぼ等しい場合にコンテンツサイズルールを選択すること
のうち少なくとも１つを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
（ｉ）オブジェクトをページ上にレイアウトする際に使用するロケールを提供し、
（ｉｉ）前記ロケールが左から右又は右から左の書記体系に対応する場合に水平方向を選択し、
（ｉｉｉ）前記ロケールが上から下又は下から上の書記体系に対応する場合に垂直方向を選択する
ことにより前記配置ルールの方向を選択する工程を更に含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
ページ上にレイアウトされた少なくとも１つのパネル内に配置される複数のオブジェクトの実際の寸法を判定する方法であり、前記パネルの各々が実際の幅及び実際の高さを有し且つ好適な幅及び好適な高さを含む好適なサイズを各々が有する複数のオブジェクトを含み、前記オブジェクトが前記パネル内に水平に配置される方法であって、
（ａ）前記オブジェクトの前記好適なサイズを均一な高さに変倍する工程と、
（ｂ）前記パネルの前記オブジェクトを収納するようなサイズを計算し、前記オブジェクトの好適な幅の和である幅及び前記オブジェクトの前記均一な高さである高さを付与する工程と、
（ｃ）前記サイズの前記幅及び前記高さが前記パネルに適合し且つ前記高さ及び前記幅の一方が前記パネルの前記高さ及び前記幅とそれぞれ等しくなるように前記サイズを変倍する工程と、
（ｄ）前記オブジェクトの各々の前記幅を判定するために、少なくとも前記変倍された高さを使用する工程と、
（ｅ）前記変倍された高さ及び対応する前記判定された幅に従って、前記パネル内に各オブジェクトを配置する工程と
を有することを特徴とする方法。
【請求項１９】
工程（ｃ）は、前記対応する幅を判定するために、前記変倍された高さ及び前記対応するオブジェクトに対する形状ルールを使用することを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
ページ上にレイアウトされた少なくとも１つのパネル内に配置される複数のオブジェクトの実際の寸法を判定する方法であり、前記パネルの各々が実際の幅及び実際の高さを有し且つ前記パネル内に垂直に配置される複数のオブジェクトを含む方法であって、
（ａ）前記オブジェクトの前記好適なサイズを均一な幅に変倍する工程と、
（ｂ）前記パネルの前記オブジェクトを収納するようなサイズを計算し、前記オブジェクトの前記好適な高さの和である高さ及び前記オブジェクトの前記均一な幅である幅を付与する工程と、
（ｃ）前記サイズの前記幅及び前記高さが前記パネルに適合し且つ前記高さ及び前記幅の一方が前記パネルの前記高さ及び前記幅とそれぞれ等しくなるように前記サイズを変倍する工程と、
（ｄ）前記オブジェクトの各々の前記高さを判定するために、少なくとも前記変倍された幅を使用する工程と、
（ｅ）前記変倍された幅及び対応する前記判定された高さに従って、前記パネル内に各オブジェクトを配置する工程と
を有することを特徴とする方法。
【請求項２１】
工程（ｄ）は、前記対応する高さを判定するために、前記変倍された幅及び前記対応するオブジェクトに対する形状ルールを使用することを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
ページ上にレイアウトされた少なくとも１つのパネル内に配置される複数のオブジェクトの実際の寸法を判定する方法であり、前記パネルの各々が実際の幅及び実際の高さを有し且つ前記パネル内に水平に配置される複数のオブジェクトを含む方法であって、
（ａ）各オブジェクトが同一の実際の幅を有するように、前記パネルの実際の幅を前記オブジェクト間で分割する工程と、
（ｂ）前記オブジェクトの形状ルールに従って、前記オブジェクトの各々の実際の高さを前記パネルの最大高さまでの範囲で計算する工程と、
（ｃ）前記計算された実際の高さ及び対応する前記判定された幅に従って、前記パネル内に各オブジェクトを配置する工程と
を有することを特徴とする方法。
【請求項２３】
ページ上にレイアウトされた少なくとも１つのパネル内に配置される複数のオブジェクトの実際の寸法を判定する方法であり、前記パネルの各々が実際の幅及び実際の高さを有し且つ前記パネル内に水平に配置される複数のオブジェクトを含む方法であって、
（ａ）オブジェクトのサイズが前記オブジェクトの間の公比に依存するコンテンツサイズルールを選択する工程と、
（ｂ）前記オブジェクトの各々の初期幅を前記オブジェクトの好適な幅に対応するように設定する工程と、
（ｃ）前記幅の和が前記パネルの幅より大きい場合、前記オブジェクトの前記幅の和が前記パネルの前記幅に対応するまで前記オブジェクトの各々のサイズを前記公比に従って変倍する工程と、
（ｄ）前記変倍されたサイズに従って、各オブジェクトを前記パネル内に配置する工程と
を有することを特徴とする方法。
【請求項２４】
各オブジェクトは関連付けられる最小幅を有し、前記方法は、
（ｉ）前記パネル内の全ての前記オブジェクトの実際の幅の合計を計算する工程と、
（ｉｉ）前記オブジェクトの前記実際の幅が少なくとも前記関連付けられる最小幅になるように、前記パネル内の前記関連付けられる最小幅より小さい実際の幅を有する前記オブジェクトの各々の前記実際の幅を増加する工程と、
（ｉｉｉ）前記パネル内の全ての前記オブジェクトの実際の幅の合計が工程（ｉ）で計算された前記幅の合計と等しくなるように、前記パネル内の他のオブジェクトの各々の前記実際の幅を減少する工程と
を更に含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
高さ及び幅を有するオブジェクトにコンテンツを挿入する際に、文書を生成するためにページ上に少なくとも１つのオブジェクトをレイアウトする方法であって、
前記オブジェクトの高さ寸法及び幅寸法のうち一方において、前記オブジェクトのサイズに対する第１の値及び第２の値を確立する工程と、
前記一方の寸法において、前記第１の値と前記第２の値との間に単位割合目盛りを付ける工程と、
割合の値が前記単位割合目盛りにおいて０．０より大きく且つ１．０より小さい形状ルールに従って、少なくとも前記一方の寸法において前記オブジェクトのサイズを変更する工程と
を有することを特徴とする方法。
【請求項２６】
請求項１乃至２５の何れか１項に記載の方法を実行するように構成されるコンピュータ装置。
【請求項２７】
請求項１乃至２５の何れか１項に記載の方法を実行するためにコンピュータ可変データ印刷システムにより実行可能なコンピュータプログラムが記録されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、オーストラリア国特許法第１１９条の３５に基づき、２００７年４月１３日出願のオーストラリア国出願第２００７２０１６５２号の優先権を主張するものである。この引用により、同出願の開示内容の全体が本明細書に組み込まれる。
【０００２】
本発明は、文書レイアウトに関し、特に、図形要素をページ上にレイアウトする為の効率的且つ融通性のある方法に関する。
【背景技術】
【０００３】
ページレイアウトは、所望の審美的効果を生み出すためにテキストオブジェクト及び図形オブジェクト等の図形要素をページ上に位置決めする技術である。
【０００４】
ある特定の審美的効果を実現するために、文書作成者はページレイアウトの大部分の面に対する制御を保持したいだろう。しかしながら、指定された制約内におけるある程度の自動レイアウトが非常に有用な状況がある。
【０００５】
可変データ印刷、すなわちＶＤＰは、制約に基づく自動レイアウトの恩恵を受けるアプリケーションの種類の一例である。ＶＤＰは、各々が文書の受取人に対してカスタマイズされたテキストオブジェクト及び図形オブジェクト（いわゆる可変テキストオブジェクト及び可変図形オブジェクト）を含む多数の文書の印刷を可能にする。
【０００６】
ＶＤＰ文書は、静的テキスト及び静的図形を含むテンプレートから開始する。次に、文書作成者は、可変テキストオブジェクト及び可変図形オブジェクト等のコンテンツ要素が選択及びレイアウトされる方法を規定するプレースホルダを追加する。
【０００７】
コンテナは、画像、テキスト又は他のメディア要素等の表示コンテンツ要素を保持できるページ上に領域を規定する。コンテナのサイズ及び位置は固定されてもよく、あるいは他のコンテナと空間に関して交渉することにより変化してもよい。コンテナの境界はページの印刷可能領域に必ずしも制限されない。コンテナの境界線の直線の線分は辺と呼ばれる。
【０００８】
辺は固定されてもよく又は移動可能であってもよい。固定辺は、ページ上の絶対位置に制約される。可動辺の位置は、配置された要素及びコンテナのルールに従って変化してもよい。
【０００９】
複数の要素がレイアウトにおいて使用されてもよい。これらの要素のサイズ及び割合は変化してもよい。制約に基づく自動レイアウトを用いない場合、各要素は、固定辺を有するコンテナに割り当てられる。しかしながら、この融通性に欠ける方法により、多くの例において、不適切な量の空間が割り当てられることになる。
【００１０】
例えば、サイズが同一である２つの隣接するコンテナはサイズの大きく異なる画像により占有される可能性があり、その結果、大きい方の画像は縮小され且つ小さい方の画像は空間を満たさない。また、実際の要素のアスペクト比が割り当てられたコンテナのものとは異なるため、要素の周辺及び要素間に望ましくない空間が生じる結果になる場合もある。隣接するコンテナが互いに交渉して各コンテナに割り当てられる最適な領域を判定できる場合、より適切な結果が得られる。そのような交渉は、通常、制約及び要素の性質を使用する自動レイアウト処理により実行される。
【００１１】
多くの場合、レイアウトは、あるパターンで配置される要素のグループを含む。例えば、一行の画像は、各画像の上部及び底部が同一線に沿って位置するように位置合わせされてもよい。あるいは、それらは全て同じ幅を有してもよい。これらの設計は、グループを単一要素として扱い、グループに対するコンテナをレイアウトした後に要素間のコンテナ空間を内部で分割することにより最適に達成される。
【００１２】
同様にテンプレートに基づく他の（非ＶＤＰ）アプリケーションがある。テンプレートは、コンテンツが追加されてもよい正確なレイアウトを規定するのに非常に適している。しかしながら、全体的な体裁を規定する一方で数及びサイズの異なる要素を柔軟に使用できるテンプレートを規定することが望ましい。これにより、単一テンプレートから同様の体裁を有する複数の文書を生成することが可能になる。また、そのような方法は、要素間のバランスを手動で取るという面倒な面から文書作成者を解放する。
【００１３】
上述の例から、グループのコンテナが互いに及び他のコンテナと交渉し、含まれる要素の性質に従って各コンテナのサイズを判定できるように、制約及び性質を設定する機構に対する要望が生じる。
【００１４】
いくつかの従来の解決策は単一レイアウト要素の作成を含み、単一レイアウト要素間の制約を指定する方法をユーザに提供していた。これは、要素の集合をグループとして扱うレイアウトを設計すること及び全ての要素に同様のレイアウト制約を一貫して適用することを困難にする。従って、この方法は、異なる数の文書要素を含む文書を同一のテンプレートから作成する場合には使用できない。
【００１５】
他の従来の解決策は、単一コンテナに複数の要素を含むための機構を提供してきたが、レイアウト能力が限定される。例えば、国際特許公開第ＷＯ２００１００９８３４号公報（Curl）に説明されるようないくつかの解決策は、複数の要素を単一コンテナ内に配置できるようにするが、水平方向のサイズ及び垂直方向のサイズの双方を同時に調整する能力を有さない。すなわち、これらの寸法の一方のみが他方に依存できる。この場合、例えば、幅と高さとの間の好適な関係を有する要素を正常に配置する能力が制限される。
【発明の開示】
【課題を解決するための手段】
【００１６】
本開示の１つの面に従って、各々が好適な高さ及び好適な幅を有するオブジェクトをページ上にレイアウトする方法であって、
（ａ）第１の配置ルールに従って、第１の複数の前記オブジェクトを第１のパネル内に配置し、
（ｂ）第１の複数の前記オブジェクトの少なくとも１つのオブジェクトの好適な幅に基づいて、第１のパネルの好適な高さを計算し、
（ｃ）第２の配置ルールに従って、第２の複数の前記オブジェクトを第２のパネル内に配置し、
（ｄ）第２の複数の前記オブジェクトの少なくとも１つのオブジェクトの好適な高さに基づいて、第２のパネルの好適な幅を計算し、
（ｅ）パネルをページ内にレイアウトし、それによって、各パネルの好適な高さ及び好適な幅に基づいて、各パネルの実際の幅及び実際の高さを判定し、
（ｆ）各パネル内にオブジェクトをレイアウトし、それによって、各パネルの判定された実際の幅及び判定された実際の高さと配置ルールの各々とに基づいて、各オブジェクトの実際の幅及び実際の高さを判定する
ことを特徴とする方法が提供される。
【００１７】
本開示の別の面に従って、オブジェクトをページ上にレイアウトする方法であって、
（ａ）第１の配置ルールに従って、複数のオブジェクトを第１のパネル内に配置し、
（ｂ）第２の配置ルールに従って、複数のオブジェクトを第２のパネル内に配置し、
（ｃ）パネルをページ内にレイアウトし、それによって各パネルの実際の幅及び実際の高さを判定し、
（ｄ）第１のパネルの実際の幅に基づいて、第１の配置ルールに従って第１のパネル内の少なくとも１つのオブジェクトの実際の高さを計算し、
（ｅ）第２のパネルの実際の高さに基づいて、第２の配置ルールに従って第２のパネル内の少なくとも１つのオブジェクトの実際の幅を計算する
ことを特徴とする方法が提供される。
【００１８】
第１の配置ルールは、均等割付け水平ルール及びアスペクト比垂直ルールのうち一方を含んでもよい。第２の配置ルールは、アスペクト比水平ルール及び均等割付け垂直ルールのうち一方を含む。アスペクト比水平ルールは、オブジェクトの好適な高さに応じたパネルの好適な幅を含むのが好ましい。均等割付け水平ルールは、オブジェクトの好適な幅に応じたパネルの好適な高さを含むのが好ましい。
【００１９】
本開示の多くの他の面は、特許請求の範囲により要約されるように提供され、方法を実行するコンピュータプログラムと、方法及びプログラムを実現する装置とを更に含む。
【発明を実施するための最良の形態】
【００２０】
添付の図面を参照して、本発明の少なくとも１つの実施形態を説明する。
【００２１】
ページ上にレイアウトされるように構成されるコンテナ又はパネル内に文書オブジェクト（以下、上記で定義された「要素」と同義として使用され、テキストと画像を含む図形とを含む）をグループ化して配置する方法を提供することを目的とする構成を説明する。この方法によると、各コンテナに与えられる空間は文書オブジェクトの好適なサイズの影響を受け、それらのオブジェクトをコンテナ内にきれいに配置する。
【００２２】
図１は、文書テンプレート１０４を作成するために、ユーザ１０１がグラフィカルユーザインタフェース１０３を介してコンピュータソフトウェアアプリケーション１０２と対話する文書システム１００を示す。コンピュータソフトウェアアプリケーション１０２は、標準的なパーソナルコンピュータ上で実行するソフトウェアとして実現されるのが好ましい。アプリケーション１０２は、文書テンプレート１０４とコンテンツ１０５とを組み合わせて、自動レイアウト処理１０６に入力する。自動レイアウト処理１０６は、レイアウト前計算１０７を実行して、レイアウトエンジン１０８に入力する。レイアウトエンジン１０８の出力は、最終文書１１０を生成するレイアウト後配置段１０９において使用される。最終文書１１０はメモリに格納されてもよく、印刷するために出力されてもよく、あるいはその双方が行われてもよい。本開示は、主に、レイアウト前計算１０７及びレイアウト後配置段１０９に関係する。
【００２３】
上述の汎用コンピュータシステムの一例は、図１２に示すようなコンピュータシステム１２００であり、以下に説明する図１〜図９の処理は、コンピュータシステム１２００内で実行可能な１つ以上のアプリケーションプログラム等のソフトウェアとして実現されてもよい。特に、文書生成及びオブジェクトレイアウト方法のステップは、コンピュータシステム１２００内で実行されるソフトウェアの命令により実現される。命令は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして構成されてもよい。また、ソフトウェアは２つの別個の部分に分割されてもよく、その場合、第１の部分及び対応するコードモジュールは生成及びレイアウト方法を実行し、第２の部分及び対応するコードモジュールは第１の部分とユーザとの間のユーザインタフェースを管理する。ソフトウェアは、例えば、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアはコンピュータ可読媒体からコンピュータシステム１２００にロードされ、その後コンピュータシステム１２００により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム１２００においてコンピュータプログラム製品を使用することにより、文書を生成及びレイアウトする有利な装置が実現されることが好ましい。
【００２４】
図１２に示すように、コンピュータシステム１２００は、コンピュータモジュール１２０１と、キーボード１２０２及びマウスポインタ装置１２０３等の入力装置と、プリンタ１２１５、ディスプレイ装置１２１４及びスピーカ１２１７を含む出力装置とから構成される。外部変復調装置（モデム）トランシーバ装置１２１６は、接続１２２１を介して通信ネットワーク１２２０との間で通信するために、コンピュータモジュール１２０１により使用されてもよい。ネットワーク１２２０は、インターネット又はプライベートワイドエリアネットワーク（ＷＡＮ）等のＷＡＮであってもよい。接続１２２１が電話線である場合、モデム１２１６は従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続１２２１が大容量（例えば、ケーブル）接続である場合、モデム１２１６はブロードバンドモデムであってもよい。また、無線モデムがネットワーク１２２０への無線接続に使用されてもよい。
【００２５】
コンピュータモジュール１２０１は、通常、少なくとも１つのプロセッサ装置１２０５及びメモリ装置１２０６を含む。メモリ装置１２０６は、例えば、半導体ランダムアクセスメモリ（ＲＡＭ）及び読出し専用メモリ（ＲＯＭ）から構成される。モジュール１２０１は、ビデオディスプレイ１２１４及びスピーカ１２１７に結合するオーディオビデオインタフェース１２０７、キーボード１２０２及びマウス１２０３及びオプションとしてジョイスティック（不図示）に対する入出力（Ｉ／Ｏ）インタフェース１２１３、並びに外部モデム１２１６及びプリンタ１２１５に対するインフタフェース１２０８を含む多くのＩ／Ｏインタフェースを更に含む。いくつかの実現例において、モデム１２１６は、コンピュータモジュール１２０１の中に組み込まれてもよく、例えばインタフェース１２０８の中に組み込まれてもよい。コンピュータモジュール１２０１は、コンピュータシステム１２００をローカルエリアネットワーク（ＬＡＮ）として周知のローカルコンピュータネットワーク１２２２に接続１２２３を介して結合させるローカルネットワークインタフェース１２１１を更に有する。更に図示するように、ローカルネットワーク１２２２は、通常、いわゆる「ファイアウォール」装置又は同様の機能性を含む接続１２２４を介してワイドネットワーク１２２０に更に結合してもよい。インタフェース１２１１は、Ethernet（登録商標）回路カード、無線Bluetooth（登録商標）又はＩＥＥＥ８０２．１１無線構成から構成されてもよい。
【００２６】
インタフェース１２０８及び１２１３は直列接続性及び並列接続性の双方が可能であってもよく、直列接続性は、通常、ユニバーサルシリアルバス（ＵＳＢ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置１２０９は提供され、通常、ハードディスクドライブ（ＨＤＤ）１２１０を含む。フロッピディスクドライブ及び磁気テープドライブ（不図示）等の他の装置が更に使用されてもよい。通常、光ディスクドライブ１２１２は不揮発性のデータソースとして動作するように提供される。その場合、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ）、ＵＳＢ−ＲＡＭ及びフロッピディスク等のポータブルメモリ装置は、例えば、システム１２００に対する適切なデータソースとして使用されてもよい。
【００２７】
コンピュータモジュール１２０１の構成要素１２０５〜１２１３は、通常、当業者に周知であるコンピュータシステム１２００の従来の動作モードとなる方法で相互接続バス１２０４を介して通信する。上述の構成が実現されるコンピュータの例は、ＩＢＭ−ＰＣ及び互換機、Sun Sparcstations、Apple Mac（登録商標）又はそれから派生した同様のコンピュータシステムを含む。
【００２８】
通常、上述のアプリケーションプログラムはハードディスクドライブ１２１０上に常駐し、実行時にプロセッサ１２０５により読み取られて制御される。そのようなプログラム、並びにネットワーク１２２０及び１２２２から取り出される任意のデータの中間格納は、ハードディスクドライブ１２１０と関連して動作する可能性のある半導体メモリ１２０６を使用して達成されてもよい。いくつかの例において、アプリケーションプログラムは、１つ以上のＣＤ−ＲＯＭ上で符号化され且つ対応するドライブ１２１２を介して読み取られることによりユーザに供給されてもよく、あるいはネットワーク１２２０又は１２２２からユーザにより読み取られてもよい。更に、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム１２００にロードされてもよい。コンピュータ可読媒体は、実行及び／又は処理のためにコンピュータシステム１２００に命令及び／又はデータを提供することに関係する任意の記憶媒体を示す。そのような媒体の例は、フロッピディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ又は集積回路、光磁気ディスク、又はＰＣＭＣＩＡカード等のコンピュータ可読カードを含み、そのようなデバイスがコンピュータモジュール１２０１の内部にあるか又は外部にあるかは問わない。同様に、命令及び／又はデータを提供することに関係してもよいコンピュータ可読送信媒体の例は、無線送信チャネル又は赤外線送信チャネル、別のコンピュータ又はネットワークデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
【００２９】
上述のアプリケーションプログラムの第２の部分及び対応するコードモジュールは、ディスプレイ１２１４上に描画又は表現される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するために実行されてもよい。キーボード１２０２及びマウス１２０３の操作を介して、コンピュータシステム１２００及びアプリケーションのユーザはインタフェースを操作し、ＧＵＩに関連付けられるアプリケーションに制御コマンド及び／又は入力を提供してもよい。
【００３０】
図２は、上述の構成により生成される文書の一例を示す。図２において、文書テンプレート２０１をインスタンス化するために、特定のコンテンツ２０４ａ、２０４ｂ及び２０４ｃが選択されている。コンテンツ２０４ａ、２０４ｂ及び２０４ｃの各ブロックは、対応する文書オブジェクト２０３ａ、２０３ｂ及び２０３ｃに含まれる。
【００３１】
各文書オブジェクト２０３は、パネル２０２内で文書テンプレートに配置又は挿入される。文書テンプレートは１つ以上のパネルを含み、各パネルは複数の挿入された文書オブジェクトを含む。各文書オブジェクト２０３に対して対応する単一パネル２０２があるが、単一パネルは複数の文書オブジェクト２０３を有してもよい。
【００３２】
各パネル２０２は、指定されたサイズ及びページ上の位置を有する。好適な実現例において、ユーザは各パネルに水平又は垂直等の方向を与える。これは、文書オブジェクト２０３がレイアウトされる方向を指定する。しかしながら、格子（文書オブジェクト２０３が複数の行及び列にレイアウトされる）及び重ね合わせ（オブジェクトが互いの上にレイアウトされる）等の他の構成が可能である。別の実現例において、各パネルに対する方向は、ロケールに対応する書記体系により判定される。例えば、システムのロケールが左から右又は右から左の書記体系に対応する場合、パネルはオブジェクトを水平にレイアウトしてもよい。システムのロケールが上から下又は下から上の書記体系に対応する場合、パネルはオブジェクトを垂直にレイアウトしてもよい。パネル２０２内の文書オブジェクト２０３の境界がパネル２０２の境界内に維持されることが好ましい。
【００３３】
各文書オブジェクトは形状ルールを有する。アプリケーション１０２において使用される場合、文書オブジェクト２０３は関連付けられるコンテンツを更に有する。例えば、コンテンツは画像２０４ａ又は２０４ｃ、あるいはテキストブロック２０４ｂであってもよい。
【００３４】
形状ルールは好適なサイズを有し、これは、自動レイアウトが文書オブジェクトに割り当てようとするサイズを指定する。これは、通常、オブジェクトに関連付けられるコンテンツに関係する。例えば、形状ルールは画像の寸法であってもよい。
【００３５】
形状ルールは、オブジェクトに対して、所定の高さに基づく新しい好適な幅又は所定の幅に基づく新しい好適な高さを計算する方法を更に規定する。これにより、オブジェクトの好適なサイズより小さいか又は大きいサイズに適合するように寸法の１つが制約される場合に、どのように形状が変化するかをオブジェクトが制御できる。
【００３６】
好適な実現例において、形状ルールは「割合」尺度を使用する。形状ルールの割合は０．０〜１．０の数字であり、これはオブジェクトがアスペクト比を維持するための量を指定する。図３Ａ〜図３Ｄはオブジェクト３００の割合を示す。図３Ａにおいて、オブジェクト３００は好適な幅６０ｍｍ及び好適な高さ８０ｍｍを有する。しかしながら、オブジェクト３００の幅は、最小値３０ｍｍ〜６０ｍｍ（好適な幅）〜最大値１２０ｍｍの間で変化してもよい。
【００３７】
割合＝０．０の場合の形状ルールをオブジェクト３０１の例を用いて図３Ｂに示す。オブジェクト３０１は独立した好適な幅及び高さを有する。すなわち、任意の所定の幅（許容範囲内）に対して、形状ルールに従って変更される新しい好適な高さは好適な高さに等しく、任意の所定の高さに対して、新しい好適な幅は好適な幅に等しい。
【００３８】
割合＝１．０の場合の形状ルールをオブジェクト３０２の例を用いて図３Ｄに示す。この割合は、絶対サイズに関係なく、オブジェクト３００の好適なサイズのアスペクト比（高さに対する幅の比又は幅に対する高さの比）を維持する。所定の幅に対して、この形状ルールは、好適なサイズと同一のアスペクト比を有するように新しい好適な高さを計算する。
【００３９】
割合＝０．０〜１．０（すなわち、中間割合）の場合の形状ルールをオブジェクト３０３の例を用いて図３Ｃに表す。この形状ルールは、前述の２つの結果の間（すなわち、割合＝０．０と割合＝１．０との間）を線形補間するように演算する。例えば、図示するような割合＝０．５は、各割合に対する３つの例の各々に対して見られるように、割合＝０．０に対する結果及び割合＝１．０に対する結果の中間の結果を生じる。
【００４０】
本明細書において使用されるような割合の概念の更に一般的な表現を図１４に示す。図１４において、元の矩形オブジェクト１４００が提供され、これはオブジェクト１４０８により表される最大指定形状変化量を有する。サイズに対する第１の値及び第２の値である２つのオブジェクト１４００及び１４０８の間の高さの範囲は、２つの極値の間に割合の目盛りを規定するために、単位間隔を超えて等級が付けられる。割合は本開示に従って維持される。割合＝１．０の場合、オブジェクトは、水平寸法１４０４及び垂直寸法１４０６の各々において単純に均等に変倍される。しかしながら、割合＝０．０の場合、オブジェクトの高さは元のサイズにおける１４１０に固定されたままであるが、幅は規定された極値の間で変化してもよい。割合＝０．４である１４０２で示すような中間割合値の場合、サイズは、変倍された高さ及び元の高さの加重平均により判定されてもよい。この場合、変倍された高さを掛けた割合は、元の高さを掛けた残りの割合に加算される。例えば、割合＝０．４の中間値１４０２が求められる場合、変倍された高さの０．４倍を元の高さの０．６倍に加算することにより計算される。より一般的な実現例において、割合値からの単純な計算ではない形状ルールを有することが可能である。例えば、形状ルールは、幅を与えられた場合にオブジェクトが常に同一面積を有するように、オブジェクトの好適なサイズを維持してもよい。この状況下において、新しい好適な高さは、好適なサイズの面積を所定の幅で割った値である。
ガイド［及び貼付］
文書テンプレートは、各々が特定の向きを有する多くのガイドを更に含んでもよい。好適な実現例において、各ガイドは水平又は垂直である。各ガイドは、１つの寸法においてページ上の指定位置を有する。すなわち、水平ガイドは垂直位置を有し、垂直ガイドは水平位置を有する。
【００４１】
パネルの各辺に対して、ユーザは辺が１つのガイドに接続される（すなわち、「貼付される」）ことを指定してもよい。パネルの辺は、その辺に平行なガイドにのみ貼付されてもよい。好適な実現例において、パネルの左辺及び右辺は垂直ガイドにのみ貼付されてもよく、パネルの上辺及び底辺は水平ガイドにのみ貼付されてもよい。辺は、貼付されるガイドと同一の位置にあるように制約される。ガイドには任意の数のパネル辺を貼付することができる。
【００４２】
ユーザは、ガイドが「自由」であると指定してもよい。ガイドが自由であり、ガイドの一方の側に少なくとも１つのパネルが貼付されていて且つ他方の側に少なくとも１つのパネルが貼付されている場合、ガイドは横方向に移動可能になる。そのような構成の場合、ガイド及び貼付された辺は、レイアウトステップにおいて異なる位置に自動的に移動される。ガイドが自由ではない場合、あるいは一方又は両方の側にパネルが貼付されていない場合、ガイドは自動的に移動しない。
【００４３】
自動レイアウト処理１０６は、一般に、ＧＵＩ１０３を用いるユーザの対話に応答して、アプリケーション１０２により随時実行されてもよい。自動レイアウトは、各レイアウトパネルの位置及びサイズを潜在的に変更する一方で、各パネルの好適なサイズを維持しようとする。オブジェクトの好適なサイズからパネルの好適なサイズを求める方法を以下に説明する。アプリケーション１０２又はユーザは、各パネルがレイアウトされる際の制約を指定できる。例えば、パネルは１つ以上の固定辺を有してもよく、あるいは２つの異なるパネルの辺の間に固定オフセットがあってもよい。
【００４４】
レイアウトは、任意の可動ガイドの位置、すなわち、自由であると示され且つ各側に少なくとも１つのパネルが貼付されているガイドの位置をこれらのガイドに接続される全てのパネル辺に沿って変更できる。
【００４５】
図４のフローチャートに示すように、本発明の好適な実施形態に係る自動レイアウト処理１０６の各ステップを以下に説明する。最初のステップ４００において、アプリケーション１０２は第１のパネルを取得する。これは、自動レイアウト処理１０６のレイアウト前計算段１０７を実現するループを形成するステップ４０１〜４０４に対する前段階である。
【００４６】
ステップ４０１において、アプリケーション１０２は現在のパネルの好適なサイズを判定する。これは、ユーザが使用可能ないくつかの配置ルールのうちの１つに従って、パネルに特有の方法で行われる。好適な実現例に対する配置ルールを以下に説明し、図５Ａ〜図５Ｄ、並びに図９Ａ及び図９Ｂに示す。これらの配置ルールをオブジェクトが水平に配置されるパネルに対して以下に説明する。オブジェクトが垂直に配置されるパネルに対する相補的な説明は、幅と高さとを入れ替えることにより得られる。文書内のパネルの寸法を設定するために提供されるこれらの方法は、そのような寸法が計算される方法を決定する。
【００４７】
ａ．アスペクト比：図５Ｂに示すこの配置ルールを使用する場合、パネルに対して好適な高さ５０１が選択又は設定される。好適な実現例において、これはパネルに含まれる文書オブジェクトの最大の好適な高さである。オブジェクト毎に、新しい好適な幅が、選択された好適な高さを用いて形状ルールから計算される。パネルの好適な幅５０２は、オブジェクトの新しい好適な幅の和である。アスペクト比ルールの効果は、オブジェクトの割合が０ではない場合、パネルの好適な幅が少なくとも１つのオブジェクトの好適な高さに依存することである。従って、例えば、好適な幅は好適な高さに基づいて計算される。
【００４８】
ｂ．均等割付け：図５Ｃに示すこの配置ルールを使用する場合、好適な幅５０３がパネル内の全てのオブジェクトに適用するために選択される。好適な実現例において、好適な幅は、パネルに関連付けられる文書オブジェクトの最大の好適な幅として選択される。パネル５０４の好適な幅は、選択された好適な幅にオブジェクトの数を掛けたものである。オブジェクト毎に、新しい好適な高さが、選択された好適な幅を用いて形状ルールから計算される。パネルの好適な高さ５０５は、オブジェクトの新しい好適な高さの最大値である。均等割付けルールの効果は、オブジェクトの割合が０ではない場合、パネルの好適な高さが少なくとも１つのオブジェクトの好適な幅に依存することである。
【００４９】
ｃ．コンテンツサイズ：図５Ｄに示すこの配置ルールを使用する場合、パネルの好適な幅５０６は、対応する文書オブジェクトの好適な幅の和である。パネルの好適な高さ５０７は、対応する文書オブジェクトの好適な高さの最大値である。
【００５０】
ｄ．混成アスペクト比：図９Ａに示すこの配置ルールを使用する場合、暫定的な好適な幅９０１及び好適な高さ９０２の値が均等アスペクト比配置ルールの場合と同様に計算され、更に、通常の好適な幅９０３及び好適な高さ９０４がコンテンツサイズルールに従って別個に計算される。暫定的な幅及び高さの値は、暫定的な値と通常の値との間の差分を減少するように同一の割合で変倍される。これを実行する１つの技術は、暫定的な好適な幅及び好適な高さの値により規定される面積がコンテンツサイズルールにより規定される面積と等しくなるまで変倍された値を好適な幅９０５及び好適な高さ９０６の値として規定することである。別の技術は、好適な幅と通常の幅との間の２乗差及び好適な高さと通常の高さとの間の２乗差の和が最小になるように変倍された暫定的な好適な幅及び好適な高さの値を好適な幅９０５及び好適な高さ９０６の値として規定することである。混成アスペクト比ルールの効果は、オブジェクトの割合が０ではない場合、パネルの好適な高さが少なくとも１つのオブジェクトの好適な幅に依存し、オブジェクトの割合が０ではない場合、パネルの好適な幅が少なくとも１つのオブジェクトの好適な高さに依存することである。
【００５１】
ｅ．混成均等割付け：図９Ｂに示すこの配置ルールの場合、暫定的な好適な幅９０７及び好適な高さ９０８の値は均等割付け配置ルールの場合と同様に計算され、更に、通常の好適な幅９０９及び好適な高さ９１０はコンテンツサイズルールに従って別個に計算される。暫定的な好適な幅及び高さの値は、それらの値と通常の値との間の差分を減少するように同一の割合で変倍される。これを実行する１つの技術は、暫定的な好適な幅及び好適な高さの値により規定される面積がコンテンツサイズルールにより規定される面積と等しくなるまで変倍された暫定的な好適な幅及び好適な高さの値を好適な幅９１１及び好適な高さ９１２の値として規定することである。別の技術は、好適な幅と通常の幅との間の２乗差及び好適な高さと通常の高さの間の２乗差の和が最小になるように変倍された暫定的な好適な幅及び好適な高さの値を好適な幅９１１及び好適な高さ９１２の値として定義することである。混成均等割付けルールの効果は、オブジェクトの割合が０ではない場合、パネルの好適な高さが少なくとも１つのオブジェクトの好適な幅に依存し、オブジェクトの割合が０ではない場合、パネルの好適な幅が少なくとも１つのオブジェクトの好適な高さに依存することである。
【００５２】
ｆ．更なる配置ルールは、ユーザにより直接指定されるパネルの好適なサイズに関係する。
【００５３】
一実現例において、ユーザはパネル毎にこれらの配置ルールから選択する。別の実現例において、配置ルールは、関連付けられる文書オブジェクトのコンテンツに応じて自動的に選択される。例えば、実現例は、パネルの文書オブジェクトの大部分が画像又は実質的に画像である場合は「アスペクト比」配置ルールを選択してもよく、パネルの文書オブジェクトの大部分がテキスト又は実質的にテキストである場合は「均等割付け」配置ルールを選択してもよく、画像文書オブジェクトの数とテキスト文書オブジェクトの数とが等しいか又はほぼ等しい場合は「コンテンツサイズ」ルールを選択してもよい。
【００５４】
図４を再度参照すると、ステップ４０２はパネルに対する形状ルールを作成するように動作する。一実現例において、形状ルールは、前のステップ４０１において計算されるような好適なサイズと、パネルの文書オブジェクトの割合の平均として計算されるのが好ましい割合尺度とを含む。あるいは、割合は文書オブジェクトの割合の異なる関数であってもよく、又はユーザにより指定されてもよい。
【００５５】
更に、パネルが固定幅又は固定高さのいずれかを有することが判っている場合、すなわち、パネルの対向する辺が自動的に移動できない場合、あるいはその寸法においてパネルの最小サイズ及び最大サイズ（以下に定義する）が同一である場合、好適なサイズは、幅又は高さが固定幅又は固定高さと等しくなるように、パネルの割合に従って調整されてもよい。当然、パネルが固定幅及び固定高さの双方を有する場合、形状ルールは結果に何ら影響を与えない。
【００５６】
ステップ４０３において、他のパネルがテンプレート又はページレイアウトに含まれているかを調べる。他のパネルが含まれている場合、ステップ４０４へ進み、次のパネルが取得される。その後、ステップ４０１に戻り、次のパネルを処理する。
【００５７】
次にステップ４０５において、前のステップで判定されたパネルサイズを使用してレイアウトエンジンを実行する。ステップ４０６において、レイアウトエンジン１０８を使用して、各パネルに適用可能なレイアウト制約及び形状ルールに従って、各パネルの実際のサイズ及び位置を計算する。これは、移動可能な（自由であると示され、各側に少なくとも１つのパネルが貼付されている）ガイドに接続されるパネル辺を移動することにより達成されてもよい。目的は、パネルの好適なサイズと実際のサイズとの間の差分を最小化するように可動辺を移動することである。実際の挙動は、以下に示すレイアウトエンジン１０８により規定される。
【００５８】
自動レイアウト１０６に使用されるレイアウトエンジン１０８の役割は、コンテナのサイズ及び位置を所定の組の制約に最も適合するように調整することである。従って、レイアウトエンジンは制約ソルバとして動作する。種々の制約ソルバは、この分野では周知である。制約の問題は、通常、正確に満たされる必要のある１組の制約と、全てを必ずしも満たさなくてもソルバを適切な解決策へと導くために使用される第２の組の制約とを含む。満たされる必要のある制約を「ハード」制約と呼び、必ずしも満たされなくてもよい制約を「ソフト」制約と呼ぶ。好適な実現例において、強度及び優先度が制約に更に割り当てられる。優先度の高い制約は優先度の低い制約に優先できる。同一優先度のソフト制約の場合、強度の高い制約は、ソルバを導く際に強度の低い制約よりも大きな影響を与える。
【００５９】
図１０Ａは、１つの寸法における自動レイアウトに対する制約の問題を示す。項目１００１、１００２及び１００３を「位置合わせマーク」又は単に「マーク」と呼ぶ。各マークは、単一軸に沿ったレイアウト空間における位置（それぞれａ、ｂ及びｃで示す）を表す。マーク１００１及び１００３は、位置が自動レイアウト中に変更されないように所定の位置に固定される。マーク１００２は移動可能であるが、ハード制約１００６及び１００７によってマーク１００１と１００３との間に留まるように強制される。ソフト制約１００４はマーク１００２と１００１との間に好適なオフセットp(a,b)を指定し、ソフト制約１００５はマーク１００２と１００３との間に好適なオフセットp(b,c)を指定する。
【００６０】
図１０Ｂは制約の問題に対する解決策を示す。マーク１００２はマーク１００１及び１００３の間に留まっているが、現在は、好適なオフセット１００４及び１００５の間の折衷点に位置決めされている。好適な実現例において、レイアウトエンジン１０８は、ソフト制約１００４及び１００５を各制約の強度値と等しいばね定数をそれぞれ有する線形特性ばねとしてモデル化し、均衡点における１００２の最終位置を静力学の原理を使用して計算する。
【００６１】
２つ以上の寸法において、コンテナの各辺を任意の軸に沿うマークとして示すことによりコンテナは規定される。通常、２つの直交する軸が使用され、これにより矩形コンテナを規定できる。１つの軸に沿う２つのマークはコンテナの上辺及び底辺を表すのに使用され、それに直交する軸に沿う２つのマークはコンテナの左辺及び右辺を表す。
【００６２】
追加のソフト制約は、好適なサイズ及び形状を指定するためにコンテナに関連付けられる。例えば、好適なサイズに関する制約は、同一軸に沿うコンテナのマーク間の好適なオフセットを指定できる。好適な形状に関する制約は、異なる軸に沿うマーク間の関係を指定できる。例えば、形状制約は、一方の軸上の２つのマークの間の好適な距離が他方の軸上の２つのマークの間の実際の距離に比例するか又は一方の軸上の２つのマークの間の実際の距離が他方の軸上の２つのマークの間の好適な距離に比例することを指定することにより、コンテナがアスペクト比を維持しようとすることを示してもよい。別の例として、形状制約は、コンテナが一定面積を維持しようとすることを示してもよい。多くの場合、各コンテナからの影響の度合いに変化をつけるために異なる強度を用いて、コンテナ毎に好適なサイズ及び形状の双方を指定することは有用である。好適な実現例において、形状制約は、他の軸からの部分的解決策を使用して軸毎に解決され、平衡点に到達するまで全ての軸に対して繰り返される。
【００６３】
文書をレイアウトするために制約解決方法を使用することによる１つの結果は、レイアウトされたコンテナのサイズの間に関数関係が確立されることである。図１０Ａに示す制約の問題においては、例えば、マーク１００１からマーク１００３への総距離、すなわちマーク１００１からマーク１００２への距離とマーク１００２からマーク１００３への距離の和は一定である。これは、２つの対応するコンテナの幅の間の関数関係に対応する。更に、ソフト制約により規定されるように、各コンテナの好適なサイズとそれらのコンテナのレイアウトされたサイズとの間には関数関係がある。一実現例は、各オフセットの実際のサイズと好適なサイズとの間の差分を均等に分配することによりレイアウトを実現してもよい。従って、図１０Ｂの例では以下のようになる：
abs((b - a) - p(a,b)) = abs((c - b) - p(b,c))
別の実現例は異なるレイアウトを実現してもよい。この場合、オフセット間の比は対応する好適なオフセット間の比と同一であり、そのため、図１０Ｂにおいては以下のようになる：
(b - a)／p(a,b) = (c - b)／p(c,b)
図１１Ａは、２つの寸法における自動レイアウトの問題を示す。矩形コンテンツコンテナ１１０１及び１１０２は、２つの軸にわたる４つのマークによりそれぞれ規定される。各マークは、対応する軸に沿った位置を示す小文字で示される。コンテナ１１０１の左辺及び上辺（マークａ及びｃ）及びコンテナ１１０２の右辺及び上辺（マークｆ及びｇ）は所定の位置に固定されるため、実線で示される。他の辺（マークｄ、ｂ、ｈ及びｅ）は移動可能であるため、点線で示される。コンテナ１１０１及び１１０２の双方は、各寸法において正のサイズを有するように制約される。ハード制約１１０５は、コンテナ１１０１の右辺（マークｂ）及びコンテナ１１０２の左辺（マークｅ）が固定距離で離間した状態を維持することを強制する。ソフト制約１１０３及び１１０４は組み合わされたサイズ及び形状ルールを表し、各々が好適なサイズ及びアスペクト比を指定する。ソフト制約１１０３はコンテナ１１０１に関連付けられ、ソフト制約１１０４はコンテナ１１０２に関連付けられる。
【００６４】
このレイアウトに対する解決策を図１１Ｂに示す。コンテナ１１０１及び１１０２（マークｄ、ｂ、ｈ及びｅに対応し点線で示される辺を有する）に対する最終的な境界は、各々の好適なサイズに可能な限り近い一方で、全てのハード制約を維持し且つ各々の好適なアスペクト比に近い比を保つ。形状成分が制約１１０３及び１１０４から取り除かれた場合、マークｄ及びｈはマークｂ及びｅからそれぞれ独立して移動でき、本例において、双方のコンテナは各々の好適な高さに到達する。
【００６５】
レイアウトエンジン１０８はパネルの寸法が相互に依存するように動作するため、パネルの割合が０ではない場合、パネルの実際の幅はパネルの好適な高さに依存し且つパネルの実際の高さはパネルの好適な幅に依存する。ステップ４０６〜４１０は、自動レイアウト処理１０６のレイアウト後配置段１０９を実現するループを形成する。
【００６６】
ステップ４０７は、各文書オブジェクトの実際のサイズを計算するように動作する。これは、ユーザが使用可能ないくつかの更なる配置ルールの１つに従って、各パネルに特有の方法で行われる。配置ルールは、当該パネルの好適なサイズを判定するためにステップ４０１において選択された配置ルールに対応するように自動的に選択されてもよい。
【００６７】
好適な実現例に係り且つレイアウト後配置段１０９において有用である更なる配置ルールの例を以下に説明する。この例においても、文書オブジェクトはパネル内に水平に配置されると仮定する。オブジェクトが垂直に配置されるパネルに対する説明は、幅と高さとを入れ替えることにより得られる。
【００６８】
ａ．アスペクト比：この配置ルールの場合、パネルのオブジェクトを収納するために、オブジェクトの好適な幅の和に等しい幅とオブジェクトの好適な高さの最大値に等しい高さを有する変倍前のサイズが計算される。この変倍前のサイズは、幅及び高さの双方がパネルの実際の寸法内に適合し且つ変倍された幅及び高さの少なくとも一方がパネルの実際の幅又は高さに等しくなるように、均等に変倍される。この変倍された高さは、各オブジェクトの実際の高さに使用される。各オブジェクトの幅は、オブジェクトの形状ルールに従って、変倍された高さから計算される。アスペクト比ルールの効果は、オブジェクトの割合が０ではない場合、少なくとも１つのオブジェクトの実際の幅がパネルの実際の高さに依存することである。
【００６９】
ｂ．均等割付け：この配置ルールによると、各オブジェクトが同一の実際の幅を有するように、パネルの実際の幅はパネルに関連付けられるオブジェクトの間で均等に分割される。各オブジェクトの実際の高さは、形状ルールから、最大でパネルの実際の高さまでの範囲で計算される。均等割付けルールの効果は、オブジェクトの割合が０ではない場合、少なくとも１つのオブジェクトの実際の高さがパネルの実際の幅に依存することである。
【００７０】
ｃ．コンテンツサイズ：この配置ルールによると、各オブジェクトの初期幅はオブジェクトの好適な幅である。オブジェクトの幅の和がパネルの実際の幅より大きい場合、各オブジェクトのサイズは、オブジェクトの幅の和がパネルの実際の幅と等しくなるように、公比で縮小される。更に、各オブジェクトの実際の高さは、最初に、オブジェクトの好適な高さとして設定又は計算される。その後、実際の高さは、オブジェクトの変倍された幅を用いて、オブジェクトの形状ルールに従ってパネルの実際の高さの最大高さに調整される。
【００７１】
図４を再度参照すると、ステップ４０８は、図６に示すように各文書オブジェクトの新しい位置を計算するように動作する。これは、ユーザにより指定される位置合わせオプションに従って、前のステップにおいて計算されたサイズを変更することなく行われる。一般に、これは、文書オブジェクトが重なり合わず、少なくともユーザ指定オブジェクト間間隔距離６０１の空間が各オブジェクトの間に存在し、少なくともユーザ指定内部マージン６０２が全てのオブジェクトの境界とパネルの境界線との間に存在し、且つオブジェクトがユーザに指定されるような水平行又は垂直列のいずれかに配置されるように文書オブジェクトを位置決めする。
最小サイズ及び最大サイズ、並びに整合性
ユーザは、最小幅及び最大幅、並びに最小高さ及び最大高さをパネル毎に指定してもよい。レイアウトエンジン１０８は、ユーザ又は自動レイアウト処理１０６のいずれも、いずれかの寸法において最小サイズより小さいサイズ又はいずれかの寸法において最大サイズより大きいサイズにパネルを変更できないことを保証する。
【００７２】
また、ユーザは、最小幅及び最小高さを文書オブジェクト毎に指定してもよい。レイアウト後配置段１０９は、いずれの寸法においてもオブジェクトをこのサイズより小さくしない。
【００７３】
パネル内の文書オブジェクトの最小サイズがパネルの最小サイズを超過する場合は必ず、オブジェクトの最小サイズから計算されたパネルのより大きい最小サイズを全ての計算に使用する。これは、パネルが小さ過ぎてオブジェクトの最小サイズを満足できないということがないことを保証する。サイズの超過は、例えば、水平に配置されたパネルにおいて、オブジェクトの最小幅の合計がパネルの最小幅を超過する場合又はオブジェクトの最大の最小高さがパネルの最小高さを超過する場合に生じる。
【００７４】
アプリケーション１０２は、レイアウトされた文書がパネル及び文書オブジェクトの最小サイズ及び最大サイズと一致しなくなるような動作をユーザが実行するのを阻止するのが好ましい。特に：
・ユーザは、いずれの寸法においてもパネルが最小サイズより小さくなるか又は最大サイズより大きくなるようにパネルの境界線を変更してはいけない。
【００７５】
・ユーザは、パネルが任意の隣接パネルの最小サイズ又は最大サイズを侵害しないように、パネルが可動辺を動かすことにより到達できる最小サイズより小さくなるようにパネルの最大サイズを変更するか、あるいはパネルが同様に到達できる最大サイズより大きくなるようにパネルの最小サイズを変更してはいけない。
【００７６】
・ユーザは、オブジェクトの最小サイズ、オブジェクト間間隔及びパネルの内部マージンを考慮して、パネルの文書オブジェクトに適合する最小サイズより小さくなるようにパネルの最大サイズを変更してはいけない。
【００７７】
・ユーザは、パネルの文書オブジェクトがパネルの最大サイズ内に適合できなくなるようにパネルの向きを変更してはいけない。
【００７８】
あるいは、ユーザがこれらの動作を実行するのを阻止する代わりに、システムは、ユーザの動作により矛盾が生じないように文書テンプレート１０４を変更してもよい。例えば、パネルがパネルの最大サイズより大きくなるようにユーザがパネルの境界線を変更しようとする場合、システムはパネルの最大サイズを増加してからその動作を実行してもよい。
【００７９】
基本となるレイアウトエンジン１０８は、パネルの最小サイズと最大サイズとの間の整合性を維持する。
【００８０】
好適な実現例において、自動レイアウト処理後にオブジェクトの最小サイズを維持するために、オブジェクトのサイズを変更することによりオブジェクトの最小サイズに対する任意の侵害を補正するための補助ステップ４０７ａが自動レイアウト処理１０６に追加される。この補助ステップ４０７ａは、上述の自動レイアウト処理１０６のステップ４０７及び４０８の間に行う。ステップ４０７ａにおいて、各文書オブジェクトの最小サイズよりも小さいサイズは少なくとも最小サイズになるように増加され、残りの文書オブジェクトの高さをそれぞれ減少又は縮小することにより、対応する空間損失を残りの文書オブジェクトの間で分配する。ステップ４０７ａを図７のフローチャートを参照して以下に説明し、図８Ａ〜図８Ｅに例示する。ステップ４０７ａの説明は、オブジェクトが水平に配置されるパネルに適用する。オブジェクトが垂直に配置されるパネルに対応する説明は、オブジェクトの幅の代わりに高さを使用することにより得られる。
【００８１】
図７を参照すると、ステップ７００において、パネル内の第１のオブジェクトが取得される。その後、ステップ７０１において、オブジェクトの実際の幅８０２とオブジェクトの最小幅８０３との間の差分８０１が計算される。オブジェクトが最小幅より小さい場合、この値は負であり、オブジェクトが最小幅より大きい場合、この値は正である。ステップ７１２において、他のオブジェクトがあるかを検査し、他のオブジェクトがある場合、ステップ７１３において、次のオブジェクトを取得してステップ７０１に戻る。このように、パネル内の文書オブジェクト毎にループを実行する。
【００８２】
ステップ７０２において、パネル内の文書オブジェクトのリストは、ステップ７０１において計算された値に従って昇順８０４でソートされる。
【００８３】
ステップ７０３は、初期累積誤差値を０に設定するように動作する。この値は、図８Ｄの８０５に示すように、オブジェクトの現在の総幅が調整処理開始前のオブジェクトの総幅を超過する量に対応する。
【００８４】
その後、ステップ７１４において、パネル内の第１のオブジェクトが取得される。ステップ７１４は、ステップ７０９及び７１０と共に、ソートされたリスト内の文書オブジェクト毎にステップ４０７ａの残りの処理を実現する。その後、ステップ７０４の処理において、これを含む残りのオブジェクトの数で累積誤差を除算し、ステップ７０５において、文書オブジェクトの幅及び累積誤差の双方からこの値を減算する。その後、ステップ７０６において、オブジェクトが最小幅より小さいかを調べる。オブジェクトが最小幅より小さい場合、ステップ７０７が実行され、オブジェクトを最小幅と等しくする量分オブジェクトの幅を増加する。その後、ステップ７０８において、その量を累積誤差に加算する。
【００８５】
文書オブジェクトがパネル内に水平又は垂直に配置される好適な実現例において、ステップ４０７ａは対応する寸法においてのみ実行される。他方の寸法においては、各オブジェクトが最小サイズより小さいかを調べるだけで十分であり、各オブジェクトが最小サイズより小さい場合、各オブジェクトを最小サイズまで拡大する。より一般的な実現例において、上記の処理は双方の寸法において実行されてもよい。
【００８６】
図１３は、本開示に従って使用されてもよい種々の処理パスの概要を例示する。説明される処理は、各々が好適な幅及び高さと実際の幅及び高さとを有するオブジェクト及びパネルに対して動作する。処理自体は、レイアウト前計算処理１０７、レイアウトエンジン処理１０８及びレイアウト後配置処理１０９を含む自動レイアウト処理１０６により実行される。図１３の説明に示される種々の配置ルールの１つを使用して、処理１０７はオブジェクトの好適な幅又はオブジェクトの好適な高さのどちらから開始してもよい。処理１０７は、その後、使用される配置ルールに従って、パネルの好適な幅又はパネルの好適な高さを指定する。レイアウトエンジン処理１０８は、その後、適切な配置ルールを使用して、パネルの実際の幅又はパネルの実際の高さを判定する。処理１０９は、これらの値の１つを用いて、オブジェクトの実際の幅又はオブジェクトの実際の高さを配置ルールに従って判定し、ページ上のパネル内にオブジェクトをレイアウトする。この方法は、最初に幅が全体的に処理され且つ高さが全体的に処理される従来技術の構成とは異なる。混成配置ルールの場合に示される矢印は、等価の非混成ルールの場合の矢印に追加されることが意図される。更に、混成ルールの場合、パネルの好適な幅及び高さの双方はオブジェクトの好適な幅及び高さに依存する。
【産業上の利用可能性】
【００８７】
説明された構成がコンピュータ及びデータ処理産業、特に、可変データを使用することが多い自動文書レイアウトが望まれる場合に対して適用可能であることは上述より明らかである。
【００８８】
前述では、本発明のいくつかの実施形態を説明したにすぎない。本発明の趣旨の範囲を逸脱せずに変形及び／又は変更が可能であり、これら実施形態は、例証するものであり限定するものではない。例えば、図１０及び図１１はレイアウトエンジン１０８の一例を示すが、他の種類のレイアウトエンジンが使用されてもよい。更に、前述より明らかであるように、説明された実現例の多くは幅及び高さ又は高さ及び幅に対して順次動作する。従って、オブジェクトをページ上にレイアウトするための説明された種々の方法の各々は、本開示の範囲内で等価な方法の実現に補完的役割を果たす。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施形態が実現される文書生成又はオーサリングシステムを示すブロック図である。
【図２】コンテンツを有する文書テンプレートを示し、パネル及び文書要素を示す図である。
【図３Ａ】割合の概念を示す図である。
【図３Ｂ】割合の概念を示す図である。
【図３Ｃ】割合の概念を示す図である。
【図３Ｄ】割合の概念を示す図である。
【図４】本開示に係る自動レイアウト処理を示すフローチャートである。
【図５Ａ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する配置ルールを示す図である。
【図５Ｂ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する配置ルールを示す図である。
【図５Ｃ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する配置ルールを示す図である。
【図５Ｄ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する配置ルールを示す図である。
【図６】パネル内における文書要素の位置決めを示す図である。
【図７】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示すフローチャートである。
【図８Ａ】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示す図である。
【図８Ｂ】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示す図である。
【図８Ｃ】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示す図である。
【図８Ｄ】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示す図である。
【図８Ｅ】文書要素の最小サイズを保存するために、配置後に文書要素を調整する処理を示す図である。
【図９Ａ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する混成配置ルールを示す図である。
【図９Ｂ】文書要素の好適なサイズに基づいてパネルの好適なサイズを計算する混成配置ルールを示す図である。
【図１０Ａ】１つの寸法におけるレイアウトの問題及び解決策をそれぞれ示す図である。
【図１０Ｂ】１つの寸法におけるレイアウトの問題及び解決策をそれぞれ示す図である。
【図１１Ａ】図１のレイアウトエンジンに対するレイアウトの問題及び解決策をそれぞれ示す図である。
【図１１Ｂ】図１のレイアウトエンジンに対するレイアウトの問題及び解決策をそれぞれ示す図である。
【図１２】説明される構成が実現されるコンピュータシステムを概略的に示すブロック図である。
【図１３】本開示に従って適用される配置ルールの種々の組み合わせを概略的に示す図である。
【図１４】本明細書において説明されるような割合の概念を一般化して示す図である。
【図１】
2008293483.tif 000003
【図２】
2008293483.tif 000004
【図３Ａ】
2008293483.tif 000005
【図３Ｂ】
2008293483.tif 000006
【図３Ｃ】
2008293483.tif 000007
【図３Ｄ】
2008293483.tif 000008
【図４】
2008293483.tif 000009
【図５Ａ】
2008293483.tif 000010
【図５Ｂ】
2008293483.tif 000011
【図５Ｃ】
2008293483.tif 000012
【図５Ｄ】
2008293483.tif 000013
【図６】
2008293483.tif 000014
【図７】
2008293483.tif 000015
【図８Ａ】
2008293483.tif 000016
【図８Ｂ】
2008293483.tif 000017
【図８Ｃ】
2008293483.tif 000018
【図８Ｄ】
2008293483.tif 000019
【図８Ｅ】
2008293483.tif 000020
【図９Ａ】
2008293483.tif 000021
【図９Ｂ】
2008293483.tif 000022
【図１０Ａ】
2008293483.tif 000023
【図１０Ｂ】
2008293483.tif 000024
【図１１Ａ】
2008293483.tif 000025
【図１１Ｂ】
2008293483.tif 000026
【図１２】
2008293483.tif 000027
【図１３】
2008293483.tif 000028
【図１４】
2008293483.tif 000029
【外国語明細書】
2. Title of the Invention
LAYING OUT GRAPHICAL ELEMENTS ON A PAGE
3. Detailed Description of Invention
2008293483.tif 000030
2008293483.tif 000031
2008293483.tif 000032
2008293483.tif 000033
2008293483.tif 000034
Detailed Description of the Preferred Embodiments
2008293483.tif 000035
2008293483.tif 000036
2008293483.tif 000037
2008293483.tif 000038
2008293483.tif 000039
2008293483.tif 000040
2008293483.tif 000041
2008293483.tif 000042
2008293483.tif 000043
2008293483.tif 000044
2008293483.tif 000045
2008293483.tif 000046
2008293483.tif 000047
2008293483.tif 000048
2008293483.tif 000049
2008293483.tif 000050
2008293483.tif 000051
2008293483.tif 000052
2008293483.tif 000053
2008293483.tif 000054
2008293483.tif 000055
2008293483.tif 000056
4. Brief Description of the Drawings
2008293483.tif 000057
2008293483.tif 000058
1. What is claimed is
2008293483.tif 000059
2008293483.tif 000060
2008293483.tif 000061
2008293483.tif 000062
2008293483.tif 000063
2008293483.tif 000064
2008293483.tif 000065
2008293483.tif 000066
2008293483.tif 000067
2008293483.tif 000068
2008293483.tif 000069
abstract
2008293483.tif 000070
2008293483.tif 000071
2008293483.tif 000072
2008293483.tif 000073
2008293483.tif 000074
2008293483.tif 000075
2008293483.tif 000076
2008293483.tif 000077
2008293483.tif 000078
2008293483.tif 000079
2008293483.tif 000080
2008293483.tif 000081
2008293483.tif 000082
2008293483.tif 000083
2008293483.tif 000084