(57)【要約】【課題】  煩雑なコンテナ修正操作を行うことなく、指定されるリンク条件に基づく外枠コンテナを内部コンテナとが重なり合わないように自在にレイアウトすることである。【解決手段】  レイアウトエンジンが設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置であって、前記編集領域に外枠コンテナを設定する。そして、指定されるリンク条件に基づいて、設定された外枠コンテナと内部コンテナとをリンクさせる。そして、編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、リンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整する構成を特徴とする。【選択図】  図２２
2007094756.tif 000002
【特許請求の範囲】
【請求項１】
設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置であって、
前記編集領域に外枠コンテナを設定する設定手段と、
指定されるリンク条件に基づいて、前記設定手段により設定された外枠コンテナと前記内部コンテナとをリンクさせる第１のリンク手段と、
前記編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、前記第１のリンク手段によりリンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整するレイアウト処理手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記レイアウト処理手段は、前記外枠コンテナまたは前記内部コンテナに所定のコンテンツを挿入することを特徴とする請求項１記載の情報処理装置。
【請求項３】
外枠コンテナに対するリンク条件を指定する第１のリンク指定手段を備え、
前記第１のリンク指定手段は、リンク方法、リンク長、外枠コンテナ限界領域、外枠コンテナ幅、挿入するコンテンツ種別、挿入するコンテンツを指定可能とすることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
レイアウトされた各内部コンテナを指定されるリンク条件に基づいてリンクさせる第２のリンク手段を備えることを特徴とする請求項１記載の情報処理装置。
【請求項５】
各内部コンテナ間のリンク長を指定する第２の指定手段を備え、
前記第２のリンク指定手段は、リンク方法、リンク長、挿入するコンテンツ種別、挿入するコンテンツを指定可能とすることを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
前記リンク長は、固定または可変に指定可能とすることを特徴とする請求項３又は５記載の情報処理装置。
【請求項７】
前記レイアウト処理手段は、内部コンテナに対するレイアウト処理に従い、外部コンテナを前記第１のリンク指定手段により指定された外枠コンテナ限界領域までコンテナサイズを拡大可能とすることを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記外枠コンテナ限界領域は、印刷可能最大領域又は任意に指定可能とすることを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記外枠コンテナ幅は、外枠コンテナを形成する内外矩形幅を所定の値にデフォルト指定可能とすることを特徴とする請求項１記載の情報処理装置。
【請求項１０】
設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置におけるレイアウト処理方法であって、
前記編集領域に外枠コンテナを設定する設定ステップと、
指定されるリンク条件に基づいて、前記設定手段により設定された外枠コンテナと前記内部コンテナとをリンクさせる第１のリンクステップと、
前記編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、前記第１のリンクステップによりリンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整するレイアウト処理ステップと、
を有することを特徴とするレイアウト処理方法。
【請求項１１】
前記レイアウト処理ステップは、前記外枠コンテナまたは前記内部コンテナに所定のコンテンツを挿入することを特徴とする請求項１０記載のレイアウト処理方法。
【請求項１２】
外枠コンテナに対するリンク条件を指定する第１のリンク指定ステップを備え、
前記第１のリンク指定ステップは、リンク方法、リンク長、外枠コンテナ限界領域、外枠コンテナ幅、挿入するコンテンツ種別、挿入するコンテンツを指定可能とすることを特徴とする請求項１０又は１１記載のレイアウト処理方法。
【請求項１３】
レイアウトされた各内部コンテナを指定されるリンク条件に基づいてリンクさせる第２のリンクステップを備えることを特徴とする請求項１０記載のレイアウト処理方法。
【請求項１４】
各内部コンテナ間のリンク長を指定する第２の指定手段を備え、
前記第２のリンク指定ステップは、リンク方法、リンク長、挿入するコンテンツ種別、挿入するコンテンツを指定可能とすることを特徴とする請求項１０又は１１記載のレイアウト処理方法。
【請求項１５】
前記リンク長は、固定または可変に指定可能とすることを特徴とする請求項１２又は１４記載の情レイアウト処理方法。
【請求項１６】
前記レイアウト処理ステップは、内部コンテナに対するレイアウト処理に従い、外部コンテナを前記第１のリンク指定ステップにより指定された外枠コンテナ限界領域までコンテナサイズを拡大可能とすることを特徴とする請求項１０記載のレイアウト処理方法。
【請求項１７】
前記外枠コンテナ限界領域は、印刷可能最大領域又は任意に指定可能とすることを特徴とする請求項１０記載のレイアウト処理方法。
【請求項１８】
前記外枠コンテナ幅は、外枠コンテナを形成する内外矩形幅を所定の値にデフォルト指定可能とすることを特徴とする請求項１０記載のレイアウト処理方法。
【請求項１９】
請求項１０〜１８のいずれかに記載のレイアウト処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項２０】
請求項１０〜１８のいずれかに記載のレイアウト処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定される編集領域に内部コンテナをレイアウト処理する情報処理装置に関するものである。
【背景技術】
【０００２】
近年、商品の多品種化で商品ライフが短くなっている。また、インターネット利用の普及している。このため消費者のカスタマイズサービス指向などの要因からＣＲＭ（Customer Relationship Management）、One-to-Oneマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【０００３】
One-to-Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものである。その代表的な手法としてバリアブルプリントが挙げられる。
【０００４】
ここ最近ではＤＴＰ（デスクトップパブリッシング）技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。そして、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【０００５】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナ等によりレイアウトを作成し、データベースとレイアウトを関連付けることにより達成していた。
【０００６】
しかし、テキストおよびイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多くなる場合がある。この場合、とテキストのオーバーラップおよびイメージのクリッピングが発生し、またデータ量がコンテナサイズより小さいと隙間が空いてしまった。
【０００７】
その問題を解決するために、自動レイアウトシステムが発明されている。
【０００８】
自動レイアウトシステムはテキストおよびイメージのコンテナサイズを可変に設定することが可能である。
【０００９】
この自動レイアウトシステムを実現しているソフトウエアとしてはＰａｇｅfｌｅｘ社のＰａｇｅfｌｅｘ等があり、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを変更する。また、テキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術なども存在する。
【００１０】
しかしコンテナのサイズが大きくなった場合、同ドキュメント上の他のコンテナに重なってしまう問題が発生する。また、フォントサイズを調節する場合はテキストの量が大きい場合、フォントサイズが小さくなりすぎる問題が発生する。
【００１１】
それを解決するための更なる自動レイアウトの技術としては、あるコンテナのサイズが大きくなった場合、隣接したコンテナのサイズを特許文献１の図８に示すように小さくするレイアウトデザイン装置が開示されている。
【００１２】
なお、自動レイアウトではテンプレートに配置されたコンテナにデータが流し込まれるが、コンテナの種類に関してはイメージコンテナ、テキストコンテナなどのコンテナが提供されている。また、それらのコンテナの形状としては矩形が提供されている。
【特許文献１】特開平７−１２９６５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし上述した既存のコンテナの場合、テンプレートに対して複数のコンテナを配置した際に、それらを囲むように外枠を静的に指定する。そのような場合にダイナミックレイアウト時にコンテナが拡大してしまうと外枠を上書してしまうことがあり外枠を正しく表示することができないという課題がある。
【００１４】
また現状、外枠は静的なものであるため内側のコンテナの収縮に応じてダイナミックに外枠も収縮できないという課題もある。
【００１５】
さらに、コンテナをあるコンテナの中に内接させることで、外側のコンテナと内側のコンテナとの距離を調整できそうであるが、上記特許文献１の構成では、外側のコンテナに幅を持たせその枠にデータを流しこむことができないという課題があった。
【００１６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、煩雑なコンテナ修正操作を行うことなく、指定されるリンク条件に基づく外枠コンテナを内部コンテナとが重なり合わないように自在にレイアウトできる仕組みを提供することである。
【００１７】
また、煩雑なコンテナ修正操作を行うことなく、レイアウトされた外枠コンテナに所定のコンテンツを自在に挿入できるレイアウトできる仕組みを提供することである。
【課題を解決するための手段】
【００１８】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
【００１９】
設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置であって、前記編集領域に外枠コンテナを設定する設定手段を有する。また、指定されるリンク条件に基づいて、前記設定手段により設定された外枠コンテナと前記内部コンテナとをリンクさせる第１のリンク手段を有する。さらに、前記編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、前記第１のリンク手段によりリンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整するレイアウト処理手段とを有する。
【００２０】
上記目的を達成する本発明のレイアウト処理方法は以下に示す構成を備える。
【００２１】
設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置におけるレイアウト処理方法であって、前記編集領域に外枠コンテナを設定する設定ステップを有する。また、指定されるリンク条件に基づいて、前記設定手段により設定された外枠コンテナと前記内部コンテナとをリンクさせる第１のリンクステップを有する。さらに、前記編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、前記第１のリンクステップによりリンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整するレイアウト処理ステップとを有する。
【発明の効果】
【００２２】
本発明によれば、煩雑なコンテナ修正操作を行うことなく、指定されるリンク条件に基づく外枠コンテナを内部コンテナとが重なり合わないように自在にレイアウトできる。
【００２３】
また、煩雑なコンテナ修正操作を行うことなく、レイアウトされた外枠コンテナに所定のコンテンツを自在に挿入して、所望のドキュメントを効率よく編集できる。
【発明を実施するための最良の形態】
【００２４】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２５】
＜システム構成の説明＞
〔第１実施形態〕
以下、図面を参照して本発明の実施の形態を説明する。
【００２６】
本発明の実施形態を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【００２７】
＜システム構成図＞
図１は、本発明の第１実施形態を示す情報処理装置を適用可能なデータ処理システムの構成の一例を示すブロック図である。
【００２８】
図２、図３は、本発明の第１実施形態を示す情報処理装置を適用可能なデータ処理システムのモジュール構成の一例を示すブロック図である。また、本システムは、バリアブルデータドキュメントを印刷するシステム例に対応する。
【００２９】
図１において、ホストコンピュータ１０１は、Ｉ／Ｏインタフェース１４３を介してキーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置が接続される。
【００３０】
また、ビデオインタフェース１３７を介してディスプレイ装置１４４が接続されている。さらに、状況に応じてはＩ／Ｏインタフェース１３８を介してローカルプリンタ１４５が接続されている。Ｉ／Ｏインタフェース１３８はコンピュータ１０１をネットワーク接続１０７から接続してシステムの他のコンピュータ装置を接続可能に構成されている。
【００３１】
なお、ネットワーク接続１０７の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。
【００３２】
コンピュータ１０１は典型的に少なくとも１つのプロセッサ１３５を備える。また、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリ１３６を備える。
【００３３】
さらに、ビデオインタフェース１３７を含むＩＮＰＵＴ／ＯＵＴＰＵＴ（Ｉ／Ｏ）インタフェースを備える。また、キーボード１３２やマウス１３３のためのＩ／Ｏインタフェース１４３を備える。
【００３４】
記憶装置１３９は典型的にハードディスクドライブ１４０やフレキシブルディスクドライブ１４１を含んでいる。なお、図には示されていないが磁気テープドライブもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。
【００３５】
コンピュータ１０１はＧＮＵ／ＬＩＮＵＸやマイクロソフトウィンドウズ（登録商標）（商品名）のようなオペレーションシステムを備え、典型的にはオペレーションシステムに従って、入出力処理を制御する。また、コンピュータ１０１は、関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス１３４を介して通信を行う。また、コンピュータ１０１のプロセッサ１３５は、Ｉ／Ｏインタフェース１４３を介して入力デバイスを制御する。
【００３６】
なお、図１に示すハードウエア構成例は、例えばＩＢＭ互換ＰＣやＳＵＮ社のＳｐａｒｃＳｔａｔｉｏｎ、あるいはそれらを含んだコンピュータシステムが考えられる。
【００３７】
図２において、バリアブルデータドキュメントを印刷するシステム１００を図示している。なお、ホストコンピュータ１０１を、単にコンピュータ１０１と呼ぶ。
【００３８】
図１に示されるプロセスは、コンピュータ１０１内で実行され、システム１００上で実施可能となるレイアウト編集アプリケーションプログラム１２１のようにソフトウエアの全体、あるいは一部分で実行される。特にレイアウト編集や必然的に起こる印刷のステップはコンピュータ１０１によって実行されるソフトウエアの指示によって実施される。ソフトウエアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ここで、可読媒体とは、上述した各種のメディアが含まれる。
【００３９】
ソフトウエアはコンピュータ１００の可読媒体からコンピュータにロードされ、コンピュータ１０１によって実行される。そのようなソフトウエアや媒体に記録されたコンピュータプログラムを持つコンピュータの可読媒体はコンピュータプログラム製品である。そのコンピュータでのコンピュータプログラム製品の使用は望ましくもドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置をもたらす。
【００４０】
レイアウト編集アプリケーションプログラム１２１は、典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。レイアウト編集アプリケーションプログラム１２１は記憶装置１３９とネットワーク１０２０からフェッチされるデータはハードディスクドライブ１４０に呼応してメモリ１３６を使用する。以下、レイアウト編集アプリケーションプログラム１２１を単に、編集プログラム１２１と呼ぶ。
【００４１】
いくつかのインスタンスでは編集プログラム１２１がＣＤ−ＲＯＭ１４２やフレキシブルディスク１４１上でエンコードされ、対応するＣＤ−ＲＯＭ１４２やフレキシブルディスク１４１を通じて読み込まれユーザに提供される。あるいはもう一つの方法として編集プログラム１２１はネットワーク接続１０７からユーザによって読み込まれるかもしれない。
【００４２】
さらに、ソフトウエアは磁気テープまたはＲＯＭまたは集積回路、光磁気ディスクまたは無線またはコンピュータ１０１とその他のデバイス間の赤外線通信によりコンピュータ１０１内にロードされる可能性もある。また、ソフトウエアは、ＰＣＭＣＩＡカードのようなコンピュータ可読カードを介してコンピュータ１０１内にロードされる可能性もある。
【００４３】
さらに、Ｅメール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からコンピュータ１０１内にロードされる可能性もある。前述は単に関連するコンピュータ可読メディアの模範である。他のコンピュータ可読媒体も使用される可能性はある。
【００４４】
また、レイアウト編集と名づけられた編集プログラム１２１は、バリアブルデータ印刷（ＶＤＰ）を行うよう指示し、３つのソフトウェアコンポーネントを含んでいる。
【００４５】
これらのうち１つめのソフトウェアコンポーネントはレイアウトエンジン１０５であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。
【００４６】
２つめのソフトウェアコンポーネントであるユーザインタフェース１０３はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。
【００４７】
３つめのソフトウェアコンポーネントであるＵＩモデルアナライザ１０４は、ユーザインタフェース１０３が提供するユーザインタフェース要素をレイアウトエンジン１０５が認識できる内部形式に変換する。ここで、ユーザインタフェース要素とは、コンテナや、アンカ、スライダ、リンクなどである。
【００４８】
すなわち、ＵＩモデルアナライザ１０４により、レイアウトエンジン１０５に変更を加えることなく、ユーザインタフェース１０３を他の表示／入力形式のユーザインタフェースに容易に取替え可能になる。
【００４９】
ユーザインタフェース１０３、ＵＩモデルアナライザ１０４、レイアウトエンジン１０５はコミュニケーションチャネル１２３、１２４を介して通信する。
【００５０】
ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ１１７上にある典型的なデータベース１１９である。
【００５１】
ホストコンピュータ１０１はネットワーク接続１０７の手段によってデータベースサーバ１１７と通信する。バリアブルデータ印刷アプリケーション１２１はホストコンピュータ１０１か一般的に他のコンピュータで構成されるファイルサーバ１１５に保存されるドキュメントテンプレートを生成する。
【００５２】
また、バリアブルデータ印刷アプリケーション１２１はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。
【００５３】
これらのドキュメントはホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバ１１５に保存されるか、あるいはプリンタ１１３に直接印刷される。
【００５４】
プリントサーバ１０９は、直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバ１０９とプリンタ１１３は典型的な通信チャネル１１１を介して通信可能に接続される。
【００５５】
図３に示すシステム例は、図２に示したシステム例よりエンジンサーバ２２７を追加し、レイアウトエンジン１０５の分離バージョンであるレイアウトエンジン２２５を含んだシステム例である。なお、図２と同一のものには同一の符号を付してある。
【００５６】
図３において、エンジンサーバ２２７は、ＣＰＵ，ＲＡＭ，ＲＯＭ等を含む典型的なコンピュータで構成されている。
【００５７】
ファイルサーバ１１５に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと結合することができる。
【００５８】
そのようなオペレーションは、図３に示すようなユーザインタフェース１０３を介して要求されるか、特定のレコードのみ印刷するように要求される。
【００５９】
図４は、図１に示したディスプレイ装置１４４に表示される編集画面の一例を示す図である。
【００６０】
図４において、ユーザインタフェース１０３は、操作時にビデオディスプレイ１４４に表示されるアプリケーションウインドウ（ＡＷ）３０１によって形成されたユーザインタフェースを含んでいる。
【００６１】
ＡＷ３０１は、非表示にすることや、スクリーン上の色々な場所に移動することが可能なメニューバー３０２とツールバー３０３から特徴付けされる。また、ＡＷ３０１は、マウス１３３の位置、動作によって場所を移動可能なワークエリア３０６とオプションのパレット３１１とカーソル／ポインタデバイス３１３から特徴付けされる。３０７はスクロールバーである。３０６はレイアウト編集画面である。３０９は１ページのドキュメントテンプレートである。３１０は外枠コンテナである。
【００６２】
メニューバー３０２は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を持つ。
【００６３】
ツールバー３０３は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット３０５を持つ。
【００６４】
オプションのルーラー３０８はワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
【００６５】
パレット３１１はバリアブルデータライブラリのような追加機能にアクセスするために使われる。
【００６６】
パレット３１１は移動、リサイズ、クローズをするためのウインドウコントロール３１２を持つ。パレット３１１はオプションで、ワークエリアの前面に表示される、あるいはオブジェクトの背面に隠される。パレット３１１はアプリケーションウインドウ３０１の範囲内のみに表示されることを制限される、あるいはアプリケーションウインドウ３０１の外側に部分的・全体を表示することを許される。
【００６７】
図５は、図１に示したディスプレイ装置１４４に表示される第１の編集画面の一例を示す図である。なお、図４と同一のものには同一の符号を付してある。
図５において、ツールバーエリア３０３は少なくとも、次のユーザ選択可能な『ボタン』を持つ。
【００６８】
選択ツールボタン４０３は、コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、（複数）コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押し続けることによって、複数選択を可能にする。
【００６９】
イメージコンテナツールボタン４０５は、スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。テキストコンテナツールボタン４０４は、スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。４１４、４１１は固定された辺である。
【００７０】
リンクツールボタン４０６は、コンテナ間の距離をコントロールするリンクを作成するために使われる。これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンのツールチップとして実装される。
【００７１】
また、図５は１ページのドキュメントテンプレート３０９上に表示することが可能なオブジェクトの例である。それらは、複数のコンテナ４０７、４０８と、任意に適用するアンカーアイコン４０９と固定されていない辺４１０、リンク４１２そしてスライダ４１３を持つ。
【００７２】
〔ドキュメントテンプレート〕
図３において、ワークエリア３０６は、ドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観をデザインする。そして、マージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。
【００７３】
もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがそれらのコンテナに表示される。
【００７４】
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
【００７５】
ワークエリア３０６は、スクロールバー３０７とオプションのルーラー３０８とドキュメントテンプレート３０９に特徴付けられる。ドキュメントテンプレート３０９はページが複数あることを示すことができる。
【００７６】
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし１ページ内にフィットできなかった時、追加のページは自動的に作成される。
【００７７】
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン３１０である。
【００７８】
本実施形態において、コンテナ４０７、４０８等のコンテナは、ドキュメントテンプレート内の固定あるいは可変テキスト・イメージを持つスペースであり、他のコンテナやオブジェクトとレイアウトされる。コンテナはマウス１３３動作でポインタ３１３を使い、ユーザインタフェースで示されるように移動、サイズ調整そして再作成される。
【００７９】
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
【００８０】
（１）コンテナは、固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースからとってきて、異なるドキュメントでは異なるかもしれない、という意味でダイナミックである。
【００８１】
（２）可変コンテンツは、印刷されないような時間によって変更されたり、アニメーションするコンテンツを含むことは意図していない。
【００８２】
（３）同様に、固定コンテンツは、コンテナを使って生成される全てのドキュメントで、同じように表示される。けれども、可変コンテナの動作によって、固定コンテンツはそれぞれのドキュメントで位置が異なるかもしれない。
【００８３】
（４）コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。
【００８４】
（５）コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、典型的に印刷された出力物で可視である。
【００８５】
（６）可変コンテンツはデータソースから特定のデータの表示をもたらす。コンテナのこの表現は例えば印刷されるか、スクリーン１４４上で表示されるか、その両方が可能である。
【００８６】
（７）コンテナはユーザインタフェースを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなGUIを持つ。
【００８７】
なお、インタフェースの要素は典型的にスクリーン１４４上に表示される、しかしドキュメントには印刷されない。
【００８８】
ユーザインタフェース１０３は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示する、そしてコンテナの設定の編集や表示を許すための機能を追加する。
【００８９】
ユーザインタフェース機能の特別な目的の例としては、ボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するための角アイコンがある。あるいはコンテナがデータソースからデータをマージされたとき、コンテナの動作を示すための上塗りした数、線、アイコン、テキストがある。現在の公表の一つの概観は、新しい直接編集技術とコンテナのGUIコンポーネントに伴う表示方法の集まりである。
【００９０】
〔コンテナ制約〕
公知の技術によると、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約（固定・可変コンテンツをコンテナと結びつけると共に）は、ユーザが一つのドキュメントテンプレートから、多数のドキュメントの生成を制御する主要な方法である。
【００９１】
制約の例は『このコンテナのコンテンツの高さは、最大値４インチです。』である。もう１つの制約は『コンテナのコンテンツの左端は、それぞれのドキュメントで同じ水平位置で表示しなければならない。』である。
【００９２】
ここに記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
【００９３】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。
【００９４】
下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定されるかもしれない。その代わりに、現在の検討はバリアブルデータ印刷に特化した方法での表示、編集に焦点を合わせる。
【００９５】
コンテナは、ユーザにドキュメントのコンテンツのサイズ、位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナは多数の可能性と制約を指定、表示するためにユーザインタフェースを使わなければならない。
【００９６】
１つのコンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。
【００９７】
このように、この実施形態でコンテナの左辺を論じることは、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺を論じることと同じである。
【００９８】
同様に、コンテナの高さを論じることは生成されたドキュメントで関連付けられたコンテンツの高さの制約を論じることとして理解される。この本実施形態では、ユーザインタフェース１０３を参照してコンテナの辺あるいは大きさを論じるところで、この区別は明らかにされるであろう。
【００９９】
下記検討では、コンテンツの表示を制限するために使われるいくつかの値を定義している用語『固定』は、全てのドキュメントで同じである。
【０１００】
（１）もしコンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになるだろう。
【０１０１】
（２）もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになるだろう。
【０１０２】
（３）もし距離の制約が固定なら、指定された距離は全てのドキュメントのための制約である。
【０１０３】
（４）もしコンテナの左右辺が固定なら、辺の水平位置がページに関して全てのドキュメントで同じであることを意味している。
【０１０４】
しかし、コンテナの高さあるいは垂直方向の位置は、変わるかもしれない。例えば、もしコンテナの左辺が固定なら、関連付けられたコンテンツは、一つのドキュメントでページの上に近く表示され、他のドキュメントでページの下に近く表示される。しかし、左辺は全てのケースで同じ水平位置である。
【０１０５】
（５）もしコンテナの上下辺が固定なら、辺の垂直位置がページに関して全てのドキュメントで同じであることを意味している。しかし、コンテナの幅あるいは水平位置は変わるかもしれない。
【０１０６】
（６）コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。
【０１０７】
この制約で、コンテナの幅は変化するかもしれない、左右辺両方が異なったドキュメントで、垂直軸にもっとも遠いかもっとも近いかもしれない。
【０１０８】
しかし、軸は全てのドキュメントで同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
【０１０９】
（７）同様に、もし水平軸が固定なら、コンテナの上そして下辺が垂直に位置されることを制約する。けれども、高さは、この制約によって影響されない。
【０１１０】
（８）もし水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する。しかし、幅・高さはこの制約によって影響されない。
【０１１１】
（９）もしコンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所で、そしてコンテナに関連付けられた同じ場所で表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
【０１１２】
（１０）垂直辺あるいは軸はページの左辺、あるいは右辺、あるいは左ページマージン、あるいは右ページマージン、あるいは他の水平位置に関連付けされて固定になる。
【０１１３】
同様に、水平辺あるいは軸はページの上あるいは下辺あるいはマージン、あるいは他の垂直位置に関連付けされて固定になる。
【０１１４】
用語『固定』の改良は、もしページサイズが全てのドキュメントで同じならこれらの可能性はドキュメント生成で相違はないため、ドキュメント間でページサイズが変わるときにのみ重要となる。
【０１１５】
『固定』の反対は、辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間で変化するかもしれないことを意味している『可変』である。
【０１１６】
しかし、ドキュメントの特定な設定でそうする必要が無いかもしれない。例えば、変更による辺の実際の好ましい位置のような他の外部制約がある。しかし、もし外部制約が適用されないなら、辺は固定されてないものとしてラベル付けされているので辺の位置は変更できる。
【０１１７】
〔コンテナ表示・編集〕
［新規コンテナの作成方法]
コンテナは、テキストコンテナとイメージコンテナの２種類で記述される。テキストコンテナはテキスト、そして埋め込みのイメージを持つ。イメージコンテナは、イメージだけを持つ。
【０１１８】
図５で参照されるように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール４０４、あるいはイメージコンテナツール４０５をマウス１３３でクリックする。そして、テンプレート３０９に四角形をドラッグすることによって、ドキュメントテンプレート３０９上に作成される。
【０１１９】
代わりにコンテナは、適切なツール４０４、４０５をアクティブにした後に、ドキュメントテンプレート３０９上でクリックすることによって単純に作成される。
【０１２０】
デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。いくつかのコンテナは自動的に前もって定義されたか、計算されたスキーマによって、作成・配置される。また他の案が考えられるかも知れない。
【０１２１】
［コンテナの表示方法］
上述した３６の辺の状態それぞれが、グラフィカルな表現で描画されるのが好ましい。いくつかの辺の状態は、いくつかの状況で表現を分け合うため、３６のグラフィック表示より少なくなるかもしれない。
【０１２２】
図６は、図５に示したコンテナの模範的な辺ルールを例示する図である。
【０１２３】
図６において、アプリケーション１２１は、辺の状態を表現するために、塗りつぶし線（アイテム５０３）あるいは点線（５０４）で辺を描く。５０１はコンテナである。
【０１２４】
また、アプリケーション１２１は、アンカ（上辺５０８の近くに描画された線５０６、形状５０９、アイコン５０７）、ハンドル（移動、修正するために辺、形の近くに描画されたコントロール点５０２を特徴として持っている。また、アプリケーション１２１は、スライダ（辺の両サイドに描画された短い並行線、図５に示したスライダ４１３）、拡縮アイコン５０５、そして色を特徴として持っている。
【０１２５】
図６の（Ａ）〜（Ｄ）のコンテナ表示方法のルールは、つぎの通りである。
【０１２６】
（１）それぞれの辺を固定するために、塗りつぶし線で描画する。
【０１２７】
（２）もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
【０１２８】
（３）もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
【０１２９】
（４）軸は描画しない。
【０１３０】
（５）まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
【０１３１】
（６）垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカが描画される。
【０１３２】
（７）それぞれの固定辺で、もし辺のどこにもアンカが描画されていなければ、エッジの中央にスライダが描画される。
【０１３３】
（８）垂直辺あるいは軸のそれぞれのペアで、もしアンカやスライダが描画されていなければ、交差点にハンドルが描画される。
【０１３４】
ルール（１）〜（３）で保証した線は、もしそれらが固定あるいは制限されているなら、点線で描画される。ルール（５）で保証した可変の辺は、点線で描画される。ルール（６）〜（８）で保証した固定された点は、アンカを表示し、いくつかの固定された辺はスライダを表示し、他はハンドルを表示する。
【０１３５】
上記で、辺はただ一度描画されることが必要である、それでもし、ルールが描画されるべき辺に影響すれば、そのとき後のルールはふたたび描画されるべき辺に影響しないだろう。
【０１３６】
もしそうすることで都合が良いなら、例えばもしコンテナがとても小さくアイコンがお互い重なるか、あるいは他の表示機能を不明瞭にするならば、アイコンは異なって、あるいは省略されて描画されるかもしれない。
【０１３７】
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインタフェースで可視になることを意味する、『動的な校正処理』が使われる。
【０１３８】
代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインタフェースで、どこにレイアウトされるべきか決定するほかの手段で使われることができる。
【０１３９】
これらのコンテンツ表現は、コンテナの辺の状態を表示するグラフィカルな手段を提供する。その表現の解釈は下記のとおりである。
【０１４０】
（１）図５に示した辺４１０のように、点線はコンテナのコンテンツに依存して、ドキュメント内の辺の位置を意味する。
【０１４１】
（２）塗りつぶし線は制限された辺を意味する、なぜなら、辺は固定されている（辺４１４）、あるいはコンテナの幅・高さが固定されている（コンテナ４０８では両方が固定されている）ため。
【０１４２】
（３）アンカは辺そして軸が交差した場所が固定されていることを意味する。それゆえ、アンカ点は、すべてのドキュメントの水平、垂直位置で現れるだろう。
【０１４３】
当然アンカは固定される。図５に示したアイコン４０９は、交差する辺４１４が固定されていることを意図している、アンカーアイコンの例である。
【０１４４】
（４）スライダは関係付けられた辺が固定されていることを意味する、しかしコンテナは辺に沿って多くの位置『スライドの長さ』で位置を定められる。
【０１４５】
例えば、図５に示したスライダ４１３はコンテナ４０８のコンテンツが、ドキュメント内で特定のダイアグラムで表される位置の、左あるいは右に表示されるかもしれない。
【０１４６】
これらのアイコン・辺のいくつかあるいは全ては、どのツール、どのコンテナを選択・ハイライトあるいはアクティブにするかによって、描画されたりされなかったりする。一般的に、コンテナの辺・アイコンはドキュメントテンプレートのデザインの手助けであるため、印刷物には描画されない。
【０１４７】
幅・高さの最小値・最大値の設定は、副次的なダイアログウインドウに表示される。
【０１４８】
図６の（Ａ）において、コンテナ５０１は幅・高さ両方が固定されていない。固定された辺５０３は塗りつぶし線で表現される。可変の辺５０４は点線で表現される。拡縮アイコン５０５は、隣接する辺５０４が可変であることを示す、追加あるいは代わりのインジケータである。
【０１４９】
図６の（Ｂ）において、コンテナ５０１は幅・高さ両方が可変である。アンカーアイコン５０６は、交差している両方の辺５０３が固定されていることを、追加であるいは代わりに示している。
【０１５０】
図６の（Ｃ）において、コンテナ５０１は、コンテナの拡大あるいは縮小が任意のアンカーアイコン５０７で示されるような中心点の周りを平等に広がるという状態で、幅・高さ両方が可変である。
【０１５１】
図６の（Ｄ）において、コンテナ５０１は、上辺５０８が固定されていることを除けば、幅・高さ両方が可変である。上辺５０８の中心に位置付けられて示されるアンカーアイコン５０９は、固定されている、そしてまたコンテナの左・右辺が、アイコンを通り垂直に描画される中心軸（垂直軸）の周りを、拡大・縮小することを示す。
【０１５２】
〔リンク〕
リンクは、コンテナとコンテナの関連を示している。ここで、関連とはコンテナ間の距離を示しており、リンクによって関連付けられたコンテナ同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。
【０１５３】
図５において、４１２で示されているものがリンクであり、この図ではコンテナ４０７とコンテナ４０８とを関連づけている。リンクの設定方法および、リンクで関連付けられたコンテナのレイアウト計算方法については、後述する。
【０１５４】
〔リンクの設定方法〕
図７は、本発明に係る情報処理装置における第１の編集処理手順の一例を示すフローチャートである。本処理は、リンクの設定処理手順に対応する。なお、（６０１）〜（６０６）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。以下、図８に示すリンク処理動作説明図を参照して、本実施形態におけるリンク処理について説明する。
【０１５５】
図８は、図１に示すディスプレイ装置１４４に表示される編集画面上でのコンテナに対するリンク設定状態を説明するＵＩ例を示す図である。それらを用いてコンテナにリンクを設定する方法について説明をする。
【０１５６】
まず、リンクを設定するためには、ユーザが、入力デバイスを操作して、リンクを設定するためのコンテナ（最低２つ）を作成する（６０１）。図８の（Ａ）に示す例は、２つのコンテナＣ１、Ｃ２を作成してリンクを設定する場合の例を示している。
【０１５７】
次に、図５に示したリンクツール４０６を選択した状態にする（６０２）。
【０１５８】
図８の（Ａ）〜（Ｃ）は、コンテナＣ１、Ｃ２を作成し、リンクツール４０６が選択されていた状態から、リンクを設定するまでの操作とその編集画面の推移を示している。
【０１５９】
図８の（Ａ）に示す７０１と７０２は、前述した図５に示した４０７と４０８と同じであり、固定されている辺を意味する。
【０１６０】
また、７０３と７０４は、前述した図５に示した４０９と同じであり、アンカを意味する。
【０１６１】
７０５はマウスポインタを意味している。まず、リンクを設定する片方のコンテナＣ１をクリックして選択する（６０３）。
【０１６２】
次に図８の（Ｂ）で示されるように、もう片方のコンテナＣ２までマウスポインタ７０５を移動して、クリックする（６０４）。
【０１６３】
これにより、図８の（Ｂ）に示すように、図８の（Ａ）でクリックをした位置と移動したマウスポインタを結んだ線７０６が描画され、どの位置にリンクが設定されるのかをユーザに示すＵＩで示される。
【０１６４】
このようにしてステップ（６０４）が終わった後、リンクが設定された場所にリンク７０７で示されるリンクＵＩが表示される（６０５）。
【０１６５】
これにより、コンテナＣ１とコンテナＣ２とは、図８に示す（Ｃ）の表示状態になる。
【０１６６】
また、リンクが設定されたことにより、コンテナＣ１、Ｃ２のＵＩも自動的に変更され（６０６）、本処理が終了する。  
ステップ（６０６）の変更例として、図８の（Ｃ）において、７０８は、点線で示されている辺であり、前述した通り可変の辺を示している。
【０１６７】
図８の（Ｃ）のようにコンテナの辺の状態が変化したのは、リンクを設定したことにより、コンテナの辺を可変にする必要があるためである。つまり、リンクを設定したにもかかわらず、全ての辺が固定という矛盾を引き起こすことを防ぐために、自動的に行われる本実施形態における特徴的な描画処理である。
【０１６８】
また、図８の（Ｃ）において、７０９は図５の５０５と同じで、リンクを設定したことにより、コンテナが変化できる方向をユーザに視覚的に示したしるしである。図８のＣの例では、左のコンテナの右辺と右のコンテナの左辺が可変に変化したが、これは一例であり、右コンテナが、図４に示したスライダ４１３を持つ設定に変化してもかまわない。
【０１６９】
図９は、本発明に係る情報処理装置における第２の編集処理手順の一例を示すフローチャートである。本処理は、レイアウト計算処理手順に対応する。なお、（８０１）〜（８０７）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０１７０】
まず、ユーザが図４に示した編集画面上のボタンを操作することで、プレビューモードを選択する（８０１）。前述した自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付け（リンク）を行い、レイアウトを作成するレイアウトモードを有する。また、自動レイアウトシステムでは、作成したレイアウトにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードを有する。
【０１７１】
このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。
【０１７２】
ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。
【０１７３】
次に、プレビューモードになったら、、ユーザが図４に示した編集画面上のボタンを操作することで、プレビューするレコードを選択して挿入する（８０２）。そして、レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う（８０３）。なお、レイアウト計算処理の詳細は、図１０において説明する。
【０１７４】
なお、ステップ（８０３）で計算されたレイアウトをプレビュー表示する（８０４）。
【０１７５】
次に、他のレコードについてもプレビューを行うかどうかを判断する（８０５）。ステップ（８０５）で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する（８０７）。
【０１７６】
一方、ステップ（８０５）で、他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行い（８０６）、ステップ（８０３）へ戻る。
【０１７７】
なお、プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、ステップ（８０５）、（８０７）は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【０１７８】
図１０は、本発明に係る情報処理装置における第３の編集処理手順の一例を示すフローチャートである。本処理は、図９に示したステップ（８０３）のレイアウト計算の詳細手順に対応する。なお、（９０１）〜（９０５）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０１７９】
図１１は、図１に示すディスプレイ装置１４４に表示される編集画面上でのコンテナに対するリンク処理状態を説明するＵＩ例を示す図である。
【０１８０】
図１２は、図１に示すディスプレイ装置１４４に表示される編集画面上でのコンテナに対するレイアウト編集状態を説明するＵＩ例を示す図である。
【０１８１】
図１２において、１１０１はアンカ、１１０２は固定された辺、１１０３はコントローラー、１１０４は可変の辺の変化方向を示している矢印、１１０５は可変の辺、１１０６はリンク、そして１１０７はスライダを示している。
【０１８２】
まず、レイアウトを計算するコンテナの集合を求める（９０１）。レイアウト計算は、関連付けられたコンテナを一つの集合として計算を行う。例えば図１２を参照すると、ページ上に４つのコンテナＡ〜Ｄがレイアウトされており、各コンテナＡ〜Ｄに関連付けが設定されている。この場合、コンテナＡとコンテナＢ、そしてコンテナＣとコンテナＤがリンクによって関連付けされている。
【０１８３】
したがって、コンテナＡ、Ｂが集合１、コンテナＣ、Ｄが集合２となる。
【０１８４】
次に、ステップ（９０１）で、求めたコンテナの集合から、レイアウトを計算するために１つの集合を選択する（９０２）。そして、選択したコンテナの集合について、レイアウトの計算を行う。
【０１８５】
ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う（９０３）。
【０１８６】
レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。
【０１８７】
このようにしてレイアウトの最適化を行い、ルールに違反しているかどうかを判断して（９０４）、ルールに違反していた場合は、ステップ（９０３）へ戻り、再度ルールを違反しないように計算をする。
【０１８８】
ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、リンクの長さなどである。
【０１８９】
このようにして、ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、ステップ（９０２）〜（９０４）をページ上のすべての集合について施し、全コンテナの集合について計算を終了しているかどうかを判断して（９０５）、終了していないと判断した場合は、ステップ（９０２）へ戻る。
【０１９０】
一方、ステップ（９０５）で、全コンテナの集合について計算を終了していると判断した場合は、ページ全体のレイアウトの計算を終了する。
【０１９１】
以下、図１１を参照して、レイアウト編集処理動作について説明する。
【０１９２】
図１１の（Ａ）は、あるレコードが挿入されレイアウトが決定されている状態を表している。１００１と１００２はアンカ、１００３と１００４は固定された辺、１００５は可変の辺、１００６、１００７は可変の辺の変化方向を示している矢印、１００８はリンクをそれぞれ示している。
【０１９３】
この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図１１の（Ｂ）は、図１１の（Ａ）の状態に新しいコンテンツのサイズを重ねて示している。
【０１９４】
１００９はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。
【０１９５】
図１１の（Ｃ）は、レイアウト計算された結果を示している。つまり、計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図１１の（Ｃ）で示されるように、図１１の（Ｂ）で示した挿入されるコンテンツサイズ１００９と計算後のコンテンツサイズ１０１０は、双方において同等な差異がある。
【０１９６】
〔可変リンクの設定〕
図１３は、図１に示したディスプレイ装置１４４に表示される第２の編集画面の一例を示す図である。図５と同一のものには同一の符号を付してある。本例は、一般的な可変リンクの編集画面例である。
【０１９７】
図１３に示す編集画面は、図５に示したアプリケーションウィンドウ３０１とツールバー３０３があり、ドキュメントテンプレート３０９上にコンテナ１２０３とコンテナ１２０４が存在する。
【０１９８】
それぞれのコンテナは典型的にアンカーアイコン１２０１、アンカーアイコン１２０２と固定された辺１２０５、１２１２、辺１２０６、１２１３から成り立つ。各エッジコンテナ１２０３と１２０４の間には可変サイズのリンク１２０９があり、それぞれのコンテナを結んでいる。
【０１９９】
コンテナ１２０３とコンテナ１２０４の間にはリンクが設定されているのでそれぞれの右辺１２０７と左辺１２０８は点線で表現されている。このため各コンテナにインジケータ１２１０、インジケータ１２１１が表示され、これは辺１２０７と辺１２０８が可変であることを示している。
【０２００】
また、図１４は、図１に示したディスプレイ装置１４４に表示される第２の編集画面に対して表示可能なダイアログウインドウの一例を示す図である。本例は、リンク１２０９の情報がセットされているダイアログウインドウ１４０１の例である。
【０２０１】
図１４において、このダイアログは典型的にタイトルバー１４０２、ツールボタン１４０３、ダイアログウインドウの開閉を行うボタン１４０４、各種の情報をセットするエリア１４０９で構成されている。このダイアログウインドウではリンクタイプが可変ボタン１４０７あるいは固定ボタン１４０６の選択や、可変の場合、リンクの長さの最大値１４１０そして最小値１４１２、また現在の値１４１１が設定できる。１４０５はリンクタイプ指定部（Ｌｉｎｋ  Ｔｙｐｅ）である。１４０８はリンク長指定部（Link Distance）である。
【０２０２】
図１５は、本発明に係る情報処理装置における第４の編集処理手順の一例を示すフローチャートである。本処理は、図９に示したステップ（８０３）のレイアウト計算の詳細手順に対応する。なお、（１３０１）〜（１３０５）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０２０３】
図１６、図１７は、図１に示したディスプレイ装置１４４に表示されるコンテナ編集画面の一例を示す図である。
【０２０４】
前述のリンク設定方法を踏まえ、例えば図１６に示したコンテナＡとコンテナＢ間に張られている固定サイズのリンク１５０３の状態から可変サイズのリンク１２０９を示している図１３の状態までの操作遷移を表している。
【０２０５】
先ず、ユーザがマウスを操作してリンク１５０３をクリックして選択する（１３０１）。そして、マウスの右クリックあるいはキーボードの特定のキーにより選択したリンク１５０３のプロパティダイアログウィンドウ１４０１をディスプレイ装置１４４に表示する（１３０２）。
【０２０６】
この状態ではリンクサイズは可変ではなく固定であるため、Ｆｉｘｅｄ  Ｌｅｎｇｔｈ１４０６がＬｉｎｋ  Ｔｙｐｅ１４０５において選択された状態で表示している。
【０２０７】
次に、リンクを固定サイズから可変サイズに変更するために、ユーザがマウスを操作する。例えば、図１４に示すプロパティダイアログウィンドウ１４０１上で、Ｌｉｎｋ  Ｔｙｐｅ１４０５において、リンクサイズを可変に設定するＦｌｅｘｉｂｌｅ  Ｌｅｎｇｔｈ１４０７を選択する（１３０３）。
【０２０８】
これにより、Link Distance１４０８内に配置されているMax.Distance１４１２、Min.Distance１４１０、Distance１４１１が有効化され、数値の設定が可能となる。
【０２０９】
そこでリンクの可変サイズを設定するために、そのリンクの長さの最大値をMax.Distance１４１２、最小値をMin.Distance１４１０、現在の値をDistance１４１１において設定する（１３０４）。
【０２１０】
そして、一般的なダイアログウインドウ開閉ボタン１４０４によって設定を適用すると図１３に示したリンク１２０９のような状態にリンクのＵＩ表示が変化する（１３０５）。このダイアログウインドウ１４０１の設定情報はメモリに格納される。
【０２１１】
図１６は固定サイズのリンクを使用した場合のレイアウト結果を示している。レイアウト計算方法は前述した通りに従って行われる。
【０２１２】
例えば図１３においてコンテナ１２０３とコンテナ１２０４にそれぞれ違ったサイズのデータが挿入された時、それぞれのコンテナはデータの大きさを最適と考える。そして、コンテナ１２０３は挿入されたイメージサイズになる枠１５０４（最適コンテナサイズ）に近づこうと右方向へ大きくサイズを変更しようとする。同様にコンテナ１２０４も挿入されたイメージサイズになる枠１５０５（最適コンテナサイズ）に近づこうと左方向へやや大きくサイズを変更しようとする。
【０２１３】
しかし、コンテナ１２０３とコンテナ１２０４の間には固定サイズのリンクが設定されていると、コンテナ１２０３とコンテナ１２０４はそれぞれアンカ１２０１とアンカ１２０２によってそれぞれ左辺１２１２と右辺１２１３は移動出来ない。このため、変更しようとするサイズがリンクサイズを上回ってしまう。そして、このリンクサイズは固定されているためレイアウト計算時に優先的に計算されるためコンテナ１２０３とコンテナ１２０４のサイズが変更されることになる。
【０２１４】
その結果、コンテナ１２０３とコンテナ１２０４はデータに合わせた最適なサイズを確保することが出来ず、最終的に図１６に示すコンテナ１５０１とコンテナ１５０２のように最適なサイズ（枠１５０４、枠１５０５）よりも小さくなってしまう。リンク１５０３のサイズは、固定であるためコンテナ１５０１とコンテナ１５０２は最適サイズを達成していない。
【０２１５】
一方、図１７はリンクを可変サイズにした場合を示している。
【０２１６】
この場合、上記の例でコンテナ１２０３とコンテナ１２０４の間には図の通り可変サイズのリンクが設定されている。３０１６は１ページのドキュメントテンプレートである。
【０２１７】
そして、コンテナ１２０３とコンテナ１２０４のサイズが変更される際に、リンクサイズが縮まる。これにより、コンテナ１２０３とコンテナ１２０４のサイズが上記の例より大きくなることができる。そして、挿入されるデータサイズに合わせた最適なサイズを達成、あるいはより挿入データサイズ（最適サイズ）に近づけてコンテナの枠を計算することが出来る。
【０２１８】
その結果が、図１７に示すコンテナ１６０１とコンテナ１６０２である。可変リンク１２０９はレイアウト計算の結果、可変リンク１６０３のサイズ状態となる。この場合コンテナ１６０１とコンテナ１６０２はそれぞれ最適なサイズ（データサイズに合った大きさ）になっている。
【０２１９】
図１８は、本発明に係る情報処理装置におけるコンテナの構成を説明する概念図である。
【０２２０】
本例は、ダイナミックレイアウトのテンプレートに対してテキストコンテナやイメージコンテナを配置する。
【０２２１】
そして、それぞれにリンクを張ることでダイナミックレイアウトが行えるようにする。
【０２２２】
次に、それらのコンテナの外側に内部のコンテナのダイナミックレイアウトまたは自分自身のデータ量に応じて形状を変化させられるような外枠コンテナを配置したのがコンテナ１７０１である。
【０２２３】
１７０２は、前記コンテナ１７０１で配置したコンテナ群にデータを外枠コンテナに対して、レイアウトエンジン１０５により流し込みダイナミックレイアウト処理を実行した結果を示したものである。なお、レイアウトエンジン１０５により内部コンテナと外枠コンテナに対して、同時にコンテンツを流し込むように制御してもよい。
【０２２４】
なお、外枠コンテナは内部コンテナのダイナミックレイアウトによって押されているが、外枠コンテナに挿入したデータが上書されることはない。
【０２２５】
図１９は、本発明に係る情報処理装置に適用する外枠コンテナの設定画面の一例を示す図である。本例は、外枠コンテナに対する情報を設定するための設定UIである。
【０２２６】
図１９において、１８０１は外枠コンテナと内部コンテナのリンク設定方法を示している。本実施形態において、リンク設定の方式としては自動リンク方式、手動リンク方式がある。
【０２２７】
自動リンク方式とは、レイアウト編集アプリケーション１２１が、内部コンテナと外枠コンテナの間に自動的にリンクを張ることを意味している。また、手動リンクに関してはユーザが自ら内部コンテナと外枠コンテナの間でリンクを張ることを意味している。
【０２２８】
１８０２はリンク長の設定方法を示している。変動リンクとは内部コンテナと外枠コンテナとの間で張ったリンクの長さがダイナミックレイアウトによって、動的に変化することを意味している。
【０２２９】
なお、変動リンクを設定した場合は、レイアウト処理により変動するリンクの変動範囲を設定する。
【０２３０】
また、固定リンク長とはダイナミックレイアウトによって内部コンテナおよび外枠コンテナの形状は変化するが、両者の間に設定されたリンク長は常に一定に保たれることを意味している。
【０２３１】
１８０３は外枠コンテナ限界領域設定を示している。限界領域とは外枠コンテナがダイナミックレイアウトによってその形状が拡大する時に最大に拡大できる範囲を規定する領域である。
【０２３２】
印刷限界領域とは、印刷可能な領域まで外枠コンテナが拡大できることを意味している。手動設定とはユーザが外枠コンテナの拡大領域を手動で設定することを意味している。
【０２３３】
１８０４は外枠コンテナのデフォルト幅の設定方法を示している。初期状態においてどの程度の幅を持たせるかを設定する。１８０５は外枠コンテナに流しこむデータの種別を指定する。テキストデータ、イメージデータの選択が可能である。
【０２３４】
１８０６は外枠コンテナに流し込むデータファイルのパスを設定する。データファイルパスを直接記載するか又は参照から選択し、パスを指定することができる。
【０２３５】
本実施形態では、図１９に示す外枠コンテナの設定画面を介して指定される各項目の指定状態をレイアウトエンジン１０５に引き渡す。これにより、後述するように、内部コンテナの編集処理に追従して、外枠コンテナと編集領域との境界幅を調整して、外枠コンテナに所定のコンテンツを挿入することが可能に構成されている。
【０２３６】
図２０は、図１９に示した外枠コンテナの設定に基づく配置の具体例を示す図である。
【０２３７】
図２０において、１９０１、１９０２ではダイナミックレイアウトエディタを表している。
【０２３８】
ユーザは、マウス等を用いてタブメニューから「挿入」１９０１Ａを選択し、「外枠コンテナ」を指定する。
【０２３９】
この指定処理により、外枠コンテナをダイナミックレイアウトのテンプレート１９０１Ｂ上に配置することができる。
【０２４０】
１９０２はダイナミックレイアウトエディタで、外枠コンテナの領域の拡張の方法を示している。拡張方法を以下に示す。
【０２４１】
ユーザが外枠コンテナ１９０２Ａの１点を指定して、ユーザがマウス等でドラッグ処理することで外枠コンテナ１９０２Ｂに拡張（点線部）される。なお、指定された外枠コンテナ１９０２Ａの位置や大きさはメモリ１３６に記憶される。
【０２４２】
図２１、図２２は、図１９に示した外枠コンテナの設定に基づく配置領域の具体例を示す図である。
【０２４３】
図２１の（Ａ）は、内部コンテナ２００１−１〜２００１−４がリンクされた状態を示す。Ｃ１００は指定された外枠コンテナである。
【０２４４】
図２１の（Ｂ）は、図１９に示した外枠コンテナ設定画面において、リンク条件を指定した場合の外枠コンテナＣ２００と内部コンテナ２００２−１〜２００２−４とが、例えば８カ所でリンクされた状態に対応する。なお、レイアウトエンジン１０５によりリンク処理が実行される。
【０２４５】
図２２の（Ａ）に示すレイアウト例は、外枠コンテナの領域を斜線部で表しており、外枠コンテナにおける外側の枠２００１Ａが外枠コンテナの拡大限界領域（図中の斜線部）である。また、外枠コンテナにおける内側の枠２１０１Ｂが設定した外枠コンテナのカレント位置を表している。その内外差幅が、外枠コンテナ幅Ｘを示す。
【０２４６】
図２２の（Ｂ）に示すレイアウト例は、図２２の（Ａ）に示すレイアウト例に対して、外枠コンテナの内側にある内部コンテナ２１０２−１〜２１０２−４と外枠コンテナ間にリンクが設定された場合の表示例を示している。
【０２４７】
図２２の（Ａ）に示すレイアウト前状態２１０１において、内部コンテナ２１１１〜２１１４にコンテンツデータが流し込まれる。これにより、図２２の（Ｂ）に示すレイアウト後状態２１０２に示すようにレイアウト編集アプリケーション（レイアウトエンジン１０５）がダイナミックレイアウト（動的なレイアウト処理）を行う。
【０２４８】
このレイアウト処理によって、図２２の（Ａ）に示す外枠のカレント位置である枠２１０１Ａが、図２２の（Ｂ）に示すように、内部コンテナ２１０２−１〜２１０２−４から外枠のカレント位置である枠２１０１Ａが外方に押された状態を表している。
【０２４９】
図２２の（Ｂ）に示すレイアウト状態では、外枠コンテナが内部コンテナから押されたため、外枠コンテナの幅Ｘが図２１に示したレイアウト処理前よりも狭くなっていることが分かる。
【０２５０】
図２２の（Ｂ）に示すレイアウト状態は、ダイナミックレイアウトが終了した様子である。内部コンテナのダイナミックレイアウト後、外枠コンテナにデータの挿入が行われることもある。
【０２５１】
しかしながら、図２２の（Ｂ）の例では、外枠コンテナにはデータの挿入がなく、線分として表現される。
【０２５２】
なお、リンク長には変動リンク長と固定リンク長がある。変動リンク長を選択した場合、リンク長の最大値、最小値の設定を行う。次に外枠コンテナ限界領域設定を行う。領域の設定には印刷限界領域及び手動で領域を指定することが出来る。
【０２５３】
このように構成された情報処理装置において、本実施形態における設定される編集領域に内部コンテナをレイアウトし、該コンテナに所定のコンテンツを挿入してドキュメントを作成する情報処理装置の編集プログラム１２１は、以下の機能を備える。
【０２５４】
図２０に示したように、ユーザによるマウス操作指示に従い、編集領域に対応するテンプレート領域に外枠コンテナを設定する設定機能を備える。
【０２５５】
また、図１９に示す外枠コンテナ指定画面を介して、指定されるリンク条件に基づいて、設定機能により設定された外枠コンテナと内部コンテナとをリンクさせる第１のリンク機能を備える。これにより、外枠コンテナと内部コンテナとがリンクされ、その状態がアイコン等で識別表示される。
【０２５６】
さらに、編集領域にレイアウトされた内部コンテナが編集指示された場合に、指定されるリンク条件に基づいて、第１のリンク機能によりリンクされた外枠コンテナと内部コンテナとの間隔を動的に追従調整するレイアウト処理機能を備える。
【０２５７】
これにより、内部コンテナの編集に伴い、その配置領域、サイズ等が変更されても、外枠コンテナ領域が最小限確保されて、それぞれが重なり合うことが無くなる。つまり、それぞれの編集領域が干渉し合わないので、外枠コンテナに対して、所定のコンテンツを挿入できる領域を常に確保することができる。
【０２５８】
さらに、レイアウトエンジン１０５は、レイアウト処理機能により、後述する図２７に示すように、外枠コンテナまたは内部コンテナに所定のコンテンツを挿入することができる。
【０２５９】
また、外枠コンテナに対するリンク条件を指定する第１のリンク指定機能を備える。
【０２６０】
具体的には、図１９に示す外枠指定画面を、ユーザインタフェース１０３を介してディスプレイ１４４に表示することで指定可能に構成されている。
【０２６１】
また、本実施形態では、第１のリンク指定機能は、リンク方法、リンク長、外枠コンテナ限界領域、外枠コンテナ幅、挿入するコンテンツ種別、挿入するコンテンツを指定可能に構成されている。
【０２６２】
また、ユーザインタフェース１０３を介して図５または図１３に示す内部コンテナに対する編集画面をディスプレイ１４４に表示することでリンク指定を行えるように構成されている。
【０２６３】
さらに、ユーザインタフェース１０３を介して図５または図１３に示す内部コンテナに対する編集画面をディスプレイ１４４に表示することで各内部コンテナ間のリンク長を指定する第２の指定機能を備えている。
【０２６４】
なお、第２のリンク指定機能で指定可能な項目は、リンク方法、リンク長、挿入するコンテンツ種別、挿入するコンテンツを指定可能とする。
【０２６５】
また、内部コンテナまたは外枠コンテナに対して、リンク長は、固定または可変に指定可能に構成されている。そして、固定の場合と、可変の場合とで、その内部コンテナの各辺の表示態様を異ならしめている。これにより、ユーザが、編集時にその態様を視覚的に容易に認識可能となる。
【０２６６】
さらに、レイアウト処理機能は、内部コンテナに対するレイアウト処理に従い、外部コンテナを第１のリンク指定機能により指定された外枠コンテナ限界領域までコンテナサイズを拡大可能可能に構成されている。
【０２６７】
また、その外枠コンテナ限界領域は、図１９に示す指定画面例では、印刷可能最大領域又は任意に指定可能に構成されている。
【０２６８】
さらに、外枠コンテナ幅は、図１９に示す指定画面例では、外枠コンテナを形成する内外矩形幅を所定の値にデフォルト指定可能に構成されている。
【０２６９】
図２３は、本発明に係る情報処理装置における第５の編集処理手順の一例を示すフローチャートである。本処理は、レイアウト編集手順に対応する。なお、（２２０１）〜（２２０３）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０２７０】
先ず、ステップ（２２０１）で、レイアウト編集アプリケーションは、外枠コンテナの振る舞いなどに関する設定を行うための設定画面（図１９参照）を表示し、外枠コンテナ設定処理を行い、設定された内容をメモリ１３６に記憶する。なお、外枠コンテナ設定処理の詳細は後述する。
【０２７１】
そして、ステップ（２２０２）において、レイアウト編集アプリケーション１２１は、外枠コンテナをドキュメントテンプレート上に配置する。
【０２７２】
なお、配置された外枠コンテナの位置情報や大きさなどはメモリ１３６に記憶される。
【０２７３】
次に、ステップ（２２０３）において、レイアウト編集アプリケーション１２１は、ダイナミックレイアウト処理を実行して、本処理を終了する。具体的には、ステップ（２２０１）にて、メモリ１３６に保持した設定内容に基づいて、内部のコンテナ及び外枠コンテナに流し込むべきコンテンツデータを配置してダイナミックレイアウト処理を実行して、本処理を終了する。
【０２７４】
図２４は、本発明に係る情報処理装置における第６の編集処理手順の一例を示すフローチャートである。本処理は、外枠コンテナ設定手順に対応する。なお、（２３０１）〜（２３１６）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０２７５】
先ず、ステップ（２３０１）で、レイアウト編集アプリケーションは、外枠コンテナと内部のコンテナとのリンクの設定方法を判定する。
【０２７６】
詳細には、図１９に示した設定ＵＩをディスプレイ装置１４４に表示した状態で、ユーザがマウス等を操作して設定された内容をレイアウト編集アプリケーションが解析して、メモリ１３６に保存する。
【０２７７】
図１９に示したように、本実施形態では、リンクの設定方法には、自動リンクと手動リンクのリンク設定方法がある。
【０２７８】
ステップ（２３０１）で、レイアウト編集アプリケーション１２１は、手動リンクが設定されたことを判定すると（２３０２）、ユーザがマウス等を操作して、内部コンテナと外枠コンテナとの間にリンクが設定されるのを待機する。そしてユーザにより設定されたリンク情報をメモリ１３６に記憶する（Ｓ２３０４）。
【０２７９】
一方、ステップ（２３０１）で、レイアウト編集アプリケーション１２１が、自動リンクが設定されていたことを判定すると、外枠コンテナおよび内部コンテナの位置関係をメモリ１３６から読み出して、両者間に設定すべきリンク情報を算出する。
【０２８０】
なお、外枠コンテナおよび内部コンテナの位置情報は、各コンテナが設定された段階で、メモリ１３６に記憶される。
【０２８１】
次に、レイアウト編集アプリケーション１２１は、リンク長の設定を判定する（２３０５）。
【０２８２】
なお、リンク長の設定も図１９に示した設定ＵＩにて設定された内容をレイアウト編集アプリケーション１２１が解析して、メモリ１３６に記憶する。
【０２８３】
このステップ（２３０５）リンク長設定の判定処理により、レイアウト編集アプリケーション１２１が変動リンク長が設定されたと判定する（２３０７）。この場合は、ステップ（２３０８）で、図１９に示したの設定ＵＩにて設定されたリンク長の最大値および最小値を変動リンクに対応付けてメモリ１３６に記憶する。
【０２８４】
一方、ステップ（２３０５）で、レイアウト編集アプリケーション１２１が、固定長リンクが設定されていたと判定すると、ステップ（２３０６）で、外枠コンテナおよび内部コンテナ間を計算して、固定リンク長をメモリ１３６に記憶する。
【０２８５】
次に、レイアウト編集アプリケーション１２１は、図１９に示した設定ＵＩにて設定された外枠コンテナ限界領域を判定する（２３０９）。ステップ（２３０９）により、印刷限界領域が設定されたことを認識した場合、ステップ（２３１０）で、レイアウト編集アプリケーション１２１は、現状の印刷限界領域をメモリ１３６から読み出して、外枠コンテナの限界領域設定情報として記憶する。
【０２８６】
一方、ステップ（２３０９）で、手動設定が設定されたことを認識した場合、レイアウト編集アプリケーション１２１は、ユーザにより設定された限界領域をメモリ１３６に保持する。
【０２８７】
次に、ステップ（２３１２）で、レイアウト編集アプリケーション１２１は、図１９に示した設定ＵＩにて設定された外枠コンテナのデフォルト幅を読み出して、メモリ１３６に記憶する。そして、レイアウト編集アプリケーション１２１は、挿入データの種別を判定する（２３１３）。詳細には、レイアウト編集アプリケーションが、図１９に示したの設定ＵＩにて設定された内容（テキストまたはイメージ）を判定する（２３１４）、（２３１５）。
【０２８８】
そして、ステップ（２３１６）で、レイアウト編集アプリケーション１２１は、挿入データを指定して、処理を終了する。
【０２８９】
なお、具体的には、レイアウト編集アプリケーション１２１は、図１９に示した設定ＵＩにて指定されたファイルパス名を解析して、メモリ１３６に記憶する。
【０２９０】
実際にコンテンツデータを各コンテナに流し込む場合、メモリ１３６に記憶されているファイルパスにて保持されているコンテンツデータを読み出して、レイアウト処理を実行する。
【０２９１】
なお、ファイルパスが指定されることに応じて、該ファイルパスのコンテンツデータを読み出し、メモリ１３６に記憶するようにしても構わない。この一連の処理で外枠コンテナの設定処理が終了する。
【０２９２】
図２５は、本発明に係る情報処理装置における第７の編集処理手順の一例を示すフローチャートである。本処理は、ダイナミックレイアウト処理手順に対応する。なお、（２４０１）〜（２４１０）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０２９３】
先ず、レイアウト編集アプリケーション１２１は、テンプレートに外枠コンテナが設定されているか否かを判定する（２４０１）。
【０２９４】
詳細には、図２２に示したように設定された外枠コンテナに関する情報がメモリ１３６に記憶されている。そこで、レイアウト編集アプリケーション１２１が、メモリ１３６を参照することにより、ステップ（２４０１）の判定処理を実行することが可能となる。
【０２９５】
なお、ステップ（２４０１）により外枠コンテナが指定されていないと判定された場合、通常のダイナミックレイアウト処理が行われる。
【０２９６】
また、ステップ（２４０１）により、外枠コンテナ設定がされていると判定された場合、レイアウト編集アプリケーション１２１は、内部コンテナと外枠コンテナ間に設定されているリンク状態の確認を行う（２４０２）。
【０２９７】
詳細には、外枠コンテナと内部コンテナ間のリンク情報はメモリ１３６に記憶されているので、レイアウト編集アプリケーション１２１は、ステップ（２４０２）の処理が可能となる。
【０２９８】
レイアウト編集アプリケーション１２１は、処理対象のテンプレートと対応付けられているコンテンツデータを内部コンテナに流し込んで、レイアウト処理を実行する（Ｓ２４０３）。
【０２９９】
なお、具体的なレイアウト処理は、図９および図１０にて説明したので、ここでは省略する。
【０３００】
続いて、レイアウト編集アプリケーション１２１は、外枠コンテナが内部コンテナから押されているか否かを判定する（２４０４）。
【０３０１】
詳細には、レイアウト編集アプリケーション１２１が、コンテンツデータを流し込みレイアウト処理を実行した結果、内部コンテナのサイズが、テンプレート設定時のサイズよりも拡大しているか否かを判定する。そして、拡大していると判定された場合、外枠コンテナが内部コンテナから押されたと判定することができる。
【０３０２】
そして、レイアウト編集アプリケーション１２１は、外枠コンテナを拡張できる限界領域の確認する（２４０６）。
【０３０３】
詳細には、限界領域情報は図１９に示したの設定ＵＩにて設定され、メモリ１３６に格納されているので、レイアウト編集アプリケーション１２１はＳ２４０６の処理が可能となる。
【０３０４】
レイアウト編集アプリケーション１２１は、外枠コンテナが内部コンテナから押されることにより、限界領域まで達しているか否かを判定する（２４０７）。  レイアウト編集アプリケーション１２１に含まれるレイアウトエンジンは、各コンテナの配置位置を把握することができる。このため、外枠コンテナの位置とＳ２４０６にて確認した限界領域を比べることにより、ステップ（２４０７）の判定処理を行うことができる。
【０３０５】
そして、ステップ（２４０７）の判定の結果、限界領域に達していないと判定された場合、レイアウト編集アプリケーション１２１は、もう一度外枠コンテナが内部コンテナに押されているか否かを判定する（２４０３）。
【０３０６】
一方、ステップ（２４０７）で、限界領域に達していると判断した場合、レイアウト編集アプリケーション１２１は内部コンテナと外枠コンテナをつないでいるリンクが変動か否かを判定する（２４０８）。そして、リンク長が変動でないと判定した場合は、本処理を終了する。
【０３０７】
一方、ステップ（２４０８）で、リンク長が変動であると判断した場合、レイアウト編集アプリケーション１２１は、リンクが有する最小値まで必要に応じてリンク長を縮小する（２４０９）。
【０３０８】
なお、リンクが有する最小値および最大値はメモリ１３６に記憶されているため、レイアウト編集アプリケーション１２１は、メモリ１３６を参照することにより把握可能である。
【０３０９】
そして、レイアウト編集アプリケーション１２１は、ステップ（２４０９）でリンク長を縮小した結果リンク長が最小値に達したかいなか判定する（２４１０）。一方、ステップ（２４１０）で、最小値に達していないと判断した場合は、ステップ（２４０４）へ戻る。
【０３１０】
そして、最小値に達したと判断した場合は、これ以上リンクを縮小することができないので、外枠コンテナを縮小して、本処理を終了する。
【０３１１】
また、外枠コンテナと内部コンテナに優先度を設定し、限界領域に達した場合、レイアウト編集アプリケーション１２１は、優先度に基づいて外枠コンテナまたは内部コンテナの一方を優先的に縮小するようにしても構わない。
【０３１２】
図２６は、本発明に係る情報処理装置における第８の編集処理手順の一例を示すフローチャートである。本処理は、外枠コンテナへのデータ流し込み処理手順に対応する。なお、（２５０１）〜（２５０４）は各ステップを示す。また、各ステップは、図１に示したプロセッサ１３５が各種のモジュール（レイアウトエンジン１０５を含む）をメモリ１３６にロードして実行することで実現される。
【０３１３】
図２７は、本発明に係る情報処理装置におけるレイアウト編集結果例を示す概略図である。本例は、図１に示したディスプレイ装置１４４にレイアウト編集結果例を表示した状態を示す。
【０３１４】
先ず、レイアウト編集アプリケーションは、外枠コンテナ内ｘ軸方向、ｙ軸方向の四角形の領域に分割する（２５０１）。
【０３１５】
次に、レイアウト編集アプリケーションは分割された四角形の中で外枠コンテナの内側だった辺をｙ軸のマイナス、外側をプラスとしてｙ軸方向を設定する（２５０２）。そして、レイアウト編集アプリケーションは外枠コンテナの右上から右下、右下から左下、左下から左上、左上から右上をそれぞｘ軸のプラス方向とする（２５０３）。
【０３１６】
次に、レイアウト編集アプリケーションはテキストデータの上側がy軸のプラスを向きながらｘ軸のプラス方向にデータを流し込み（２５０４）、本処理を終了する。
【０３１７】
このように図２６に示す処理を実行することで、外枠コンテナに流し込まれるコンテンツデータは、レイアウトエンジン１０５により図２７に示す通り、外枠コンテナ２７０１に対して、自動的に外側方向をコンテンツデータの垂直方向としてレイアウトされる。このため、ユーザがコンテンツデータの方向を修正するなどといった操作を簡略化することができる。
【０３１８】
よって、煩雑な操作を強いられることなく、自動的にコンテンツデータを外枠コンテナ２７０１に対して、ユーザの所望とする方向に流し込むことが可能となる。図２７に示す例は、コンテンツとして、テキストデータを流し込んだ例を示すが、テキストとは属性の異なるコンテンツ（イメージ、図形等）であっても流し込み可能に構成されている。
【０３１９】
上記実施形態によれば、ダイナミックレイアウト編集時に外枠コンテナのレイアウト条件を指定すると、動的に内部コンテナに対するレイアウトが行われても外枠コンテナと各内部コンテナが干渉し合って重なり合うことなくなる。これにより、ダイナミックレイアウトを行う操作者が意図した通りに外枠コンテナを編集表示領域に表示することができる。
【０３２０】
また、外枠コンテナは線種だけでなく、テキストやイメージも流し込むことができたので現状のダイナミックレイアウトよりその表現力が広がる。
【０３２１】
〔第２実施形態〕
第２実施形態では、ダイナミックレイアウトのテンプレートに対して外枠コンテナを設定するのではなく、一般のコンテナがダイナミックレイアウト終了した時点、自動的に外枠を設定することを特徴とするものである。
【０３２２】
つまり、レイアウトエンジン１０５によりダイナミックレイアウト後のコンテナの座標を基に、配置されたコンテナを全てカバーする領域の端点を求めその座標をもとに、外枠コンテナ領域を設定し、データを流し込む。
【０３２３】
本実施形態によれば、外枠コンテナを配置するユーザの煩雑な手間を省き、比較的容易に外枠コンテナを使用することが出来る。
【０３２４】
〔第７実施形態〕
以下、図２８に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０３２５】
図２８は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０３２６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０３２７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０３２８】
本実施形態における図７，図９，図１０，図１５、図２３〜図２６に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０３２９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０３３０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０３３１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０３３２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０３３３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０３３４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０３３５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０３３６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３３７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３３８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０３３９】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０３４０】
【図１】本発明の第１実施形態を示す情報処理装置を適用可能なデータ処理システムの構成の一例を示すブロック図である。
【図２】本発明の第１実施形態を示す情報処理装置を適用可能なデータ処理システムのモジュール構成の一例を示すブロック図である。
【図３】本発明の第１実施形態を示す情報処理装置を適用可能なデータ処理システムのモジュール構成の一例を示すブロック図である。
【図４】図１に示したディスプレイ装置に表示される編集画面の一例を示す図である。
【図５】図１に示したディスプレイ装置に表示される第１の編集画面の一例を示す図である。
【図６】図５に示したコンテナの模範的な辺ルールを例示する図である。
【図７】本発明に係る情報処理装置における第１の編集処理手順の一例を示すフローチャートである。
【図８】図１に示すディスプレイ装置に表示される編集画面上でのコンテナに対するリンク設定状態を説明するＵＩ例を示す図である。
【図９】本発明に係る情報処理装置における第２の編集処理手順の一例を示すフローチャートである。
【図１０】本発明に係る情報処理装置における第３の編集処理手順の一例を示すフローチャートである。
【図１１】図１に示すディスプレイ装置に表示される編集画面上でのコンテナに対するリンク処理状態を説明するＵＩ例を示す図である。
【図１２】図１に示すディスプレイ装置に表示される編集画面上でのコンテナに対するレイアウト編集状態を説明するＵＩ例を示す図である。
【図１３】図１に示したディスプレイ装置に表示される第２の編集画面の一例を示す図である。
【図１４】図１に示したディスプレイ装置に表示される第２の編集画面に対して表示可能なダイアログウインドウの一例を示す図である。
【図１５】本発明に係る情報処理装置における第４の編集処理手順の一例を示すフローチャートである。
【図１６】図１に示したディスプレイ装置に表示されるコンテナ編集画面の一例を示す図である。
【図１７】図１に示したディスプレイ装置に表示されるコンテナ編集画面の一例を示す図である。
【図１８】本発明に係る情報処理装置におけるコンテナの構成を説明する概念図である。
【図１９】本発明に係る情報処理装置に適用する外枠コンテナの設定画面の一例を示す図である。
【図２０】図１９に示した外枠コンテナの設定に基づく配置の具体例を示す図である。
【図２１】図１９に示した外枠コンテナの設定に基づく配置領域の具体例を示す図である。
【図２２】図１９に示した外枠コンテナの設定に基づく配置領域の具体例を示す図である。
【図２３】本発明に係る情報処理装置における第５の編集処理手順の一例を示すフローチャートである。
【図２４】本発明に係る情報処理装置における第６の編集処理手順の一例を示すフローチャートである。
【図２５】本発明に係る情報処理装置における第７の編集処理手順の一例を示すフローチャートである。
【図２６】本発明に係る情報処理装置における第８の編集処理手順の一例を示すフローチャートである。
【図２７】本発明に係る情報処理装置におけるレイアウト編集結果例を示す概略図である。
【図２８】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０３４１】
１０１  ホストコンピュータ
１０３  ユーザインタフェース
１０４  ＵＩモデルアナライザ
１０５  レイアウトエンジン
１１９  データベース
１２１  レイアウトアプリケーションプログラム
１２４  コミュニケーションチャネル
１３２  キーボード
１３３  マウス
１４３  Ｉ／Ｏインタフェース
１４４  ビデオディスプレイ
【図１】
2007094756.tif 000003
【図２】
2007094756.tif 000004
【図３】
2007094756.tif 000005
【図４】
2007094756.tif 000006
【図５】
2007094756.tif 000007
【図６】
2007094756.tif 000008
【図７】
2007094756.tif 000009
【図８】
2007094756.tif 000010
【図９】
2007094756.tif 000011
【図１０】
2007094756.tif 000012
【図１１】
2007094756.tif 000013
【図１２】
2007094756.tif 000014
【図１３】
2007094756.tif 000015
【図１４】
2007094756.tif 000016
【図１５】
2007094756.tif 000017
【図１６】
2007094756.tif 000018
【図１７】
2007094756.tif 000019
【図１８】
2007094756.tif 000020
【図１９】
2007094756.tif 000021
【図２０】
2007094756.tif 000022
【図２１】
2007094756.tif 000023
【図２２】
2007094756.tif 000024
【図２３】
2007094756.tif 000025
【図２４】
2007094756.tif 000026
【図２５】
2007094756.tif 000027
【図２６】
2007094756.tif 000028
【図２７】
2007094756.tif 000029
【図２８】
2007094756.tif 000030