(57)【要約】【課題】自動レイアウトの実行時におけるレイアウトの変更を、より局所化することができるレイアウト編集装置を提供する。【解決手段】データ溢れ等の異常が発生している静的オブジェクトを検出したときは、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている動的オブジェクト群を検索する。その検索された動的オブジェクト群の個々の動的オブジェクトに対応づけられている静的レイアウト編集レイヤのドキュメントテンプレートの静的オブジェクト群を検索する。そして、前記検索された静的オブジェクト群の静的レイアウト結果を破棄し、前記検索された動的オブジェクト群にバリアブルデータを流し込んで動的レイアウトを行う。その後、該動的レイアウトした結果を、前記部分的に破棄された静的レイアウト結果に結合させる。【選択図】図２１
2008021221.tif 000002
【特許請求の範囲】
【請求項１】
レイアウトが固定された静的オブジェクトが配置される静的レイアウト編集レイヤと、レイアウトの変更が可能な動的オブジェクトが配置される動的レイアウト編集レイヤと、前記静的レイアウト編集レイヤと前記動的レイアウト編集レイヤにそれぞれ対応して設けられ、編集動作を行うための静的テンプレート及び動的テンプレートを有するレイアウト編集装置であって、
前記静的または前記動的テンプレートを指定して、これらテンプレートにデータの流し込みを行うデータ流し込み手段と、
前記データ流し込み手段によって前記静的テンプレートにデータの流し込みが行われた場合に、このデータの流し込みによって得られたレイアウト結果である静的オブジェクトに異常が発生しているか否かを検出する異常状態検出手段と、
前記異常状態検出手段によって、異常が発生している静的オブジェクトを検出したときに、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている前記動的テンプレート上の動的オブジェクト群を検索する動的オブジェクト群検索手段と、
前記動的オブジェクト検索手段により検索された個々の動的オブジェクトに前記オブジェクト対応手段によって対応づけられている前記静的テンプレート上の個々の静的オブジェクトを検索する静的オブジェクト群検索手段と、
前記静的オブジェクト検索手段により検索された静的オブジェクト群に対する前記データ流し込み手段によるレイアウト結果を、前記動的オブジェクト群検索手段により検索された動的オブジェクト群に対する前記自動レイアウト手段によるレイアウト結果に置き換えるレイアウト結果置き換え手段とを備えたことを特徴とするレイアウト編集装置。
【請求項２】
前記静的テンプレートに存在する静的オブジェクトが、前記オブジェクト対応手段により前記動的テンプレートに存在する動的オブジェクトに対応づけられている場合において、前記静的テンプレート上の該静的オブジェクトに異常が発生したときは、異常対処の実行を示す異常時対処属性を設定する異常時対処設定手段を設け、
前記動的オブジェクト群検索手段は、
前記異常状態検出手段によって、異常が発生している静的オブジェクトを検出したときは、該静的オブジェクトに対して前記異常時対処属性が設定されている場合に、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている前記動的テンプレート上の動的オブジェクト群を検索することを特徴とする請求項１に記載のレイアウト編集装置。
【請求項３】
前記レイアウト結果置き換え手段は、
前記静的オブジェクト群検索手段により検索された静的オブジェクト群の前記レイアウト結果を破棄する結果破棄手段と、
前記動的オブジェクト群検索手段により検索された動的オブジェクト群に、前記データの流し込みを行うデータ再流し込み手段と、
前記データ再流し込み手段により流し込みが行われたデータを用いて前記自動レイアウト手段を作動して得られた動的オブジェクト群のレイアウト結果を、前記結果破棄手段によって部分的に破棄された静的オブジェクト群のレイアウト結果に結合させるレイアウト結合手段とを有することを特徴とする請求項１または２に記載のレイアウト編集装置。
【請求項４】
レイアウトが固定された静的オブジェクトが配置される静的レイアウト編集レイヤと、レイアウトの変更が可能な動的オブジェクトが配置される動的レイアウト編集レイヤと、前記静的レイアウト編集レイヤと前記動的レイアウト編集レイヤにそれぞれ対応して設けられ、編集動作を行うための静的テンプレート及び動的テンプレートを有するレイアウト編集装置の制御方法であって、
前記静的または前記動的テンプレートを指定して、これらテンプレートにデータの流し込みを行うデータ流し込み工程と、
前記データ流し込み工程によって前記静的テンプレートにデータの流し込みが行われた場合に、このデータの流し込みによって得られたレイアウト結果である静的オブジェクトに異常が発生しているか否かを検出する異常状態検出工程と、
前記異常状態検出工程によって、異常が発生している静的オブジェクトを検出したときに、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている前記動的テンプレート上の動的オブジェクト群を検索する動的オブジェクト群検索工程と、
前記動的オブジェクト検索工程により検索された個々の動的オブジェクトに前記オブジェクト対応工程によって対応づけられている前記静的テンプレート上の個々の静的オブジェクトを検索する静的オブジェクト群検索工程と、
前記静的オブジェクト検索工程により検索された静的オブジェクト群に対する前記データ流し込み工程によるレイアウト結果を、前記動的オブジェクト群検索工程により検索された動的オブジェクト群に対する前記動的レイアウト確定工程によるレイアウト結果に置き換える結果置き換え工程とを備えたことを特徴とするレイアウト編集装置の制御方法。
【請求項５】
レイアウトが固定された静的オブジェクトが配置される静的レイアウト編集レイヤと、レイアウトの変更が可能な動的オブジェクトが配置される動的レイアウト編集レイヤと、前記静的レイアウト編集レイヤと前記動的レイアウト編集レイヤにそれぞれ対応して設けられ、編集動作を行うための静的テンプレート及び動的テンプレートを有するレイアウト編集装置の制御方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記静的または前記動的テンプレートを指定して、これらテンプレートにデータの流し込みを行うデータ流し込みステップと、
前記データ流し込みステップによって前記静的テンプレートにデータの流し込みが行われた場合に、このデータの流し込みによって得られたレイアウト結果である静的オブジェクトに異常が発生しているか否かを検出する異常状態検出ステップと、
前記異常状態検出ステップによって、異常が発生している静的オブジェクトを検出したときに、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている前記動的テンプレート上の動的オブジェクト群を検索する動的オブジェクト群検索ステップと、
前記動的オブジェクト検索ステップにより検索された個々の動的オブジェクトに前記オブジェクト対応ステップによって対応づけられている前記静的テンプレート上の個々の静的オブジェクトを検索する静的オブジェクト群検索ステップと、
前記静的オブジェクト検索ステップにより検索された静的オブジェクト群に対する前記データ流し込みステップによるレイアウト結果を、前記動的オブジェクト群検索ステップにより検索された動的オブジェクト群に対する前記動的レイアウト確定ステップによるレイアウト結果に置き換える結果置き換えステップとを備えたことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ等から成るレイアウト編集装置及びその制御方法、並びに前記制御方法を実行するための制御プログラムに関する。
【背景技術】
【０００２】
最近では、ＤＴＰ（デスク・トップ・パブリッシング）技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発されている。そのため、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められている。
【０００３】
従来、バリアブルプリントシステムは、テンプレートにあらかじめ配置されたコンテナ領域の中に、データベース等のデータからテキスト及びイメージ等のバリアブルデータを挿入してドキュメントのレイアウトを確定し、印刷を行う。その際、ドキュメント上に、コンテナ領域等によりレイアウトを作成し、データベースとレイアウトを関連付け、レイアウトの確定を達成していた。しかし、コンテナ領域のサイズが固定であったため、データベース内のデータがコンテナ領域に挿入されたとき（流し込まれたとき）に、データ量がコンテナ領域のサイズより多いとテキストのオーバーラップやイメージのクリッピング等の問題が発生した。また、データ量がコンテナ領域のサイズより少ないと隙間が空いてしまった。
【０００４】
この問題を解決するために、自動レイアウトシステムが提案されている。自動レイアウトシステムは、テキスト及びイメージのコンテナ領域のサイズを可変に設定する（動的コンテナ領域として設定する）ことが可能である。この自動レイアウトシステムを実現しているソフトウェアは、コンテナ領域のサイズを可変とし、挿入されるデータ量に応じてコンテナ領域のサイズを変更する。しかし、この技術では、コンテナ領域のサイズが大きくなった場合、当該コンテナ領域が同ドキュメント上の他のコンテナ領域と重なってしまう問題が発生する。
【０００５】
また、テキストの場合において、固定のコンテナ領域内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小して、コンテナ領域内に全てのテキストを挿入する技術なども存在する。しかし、フォントサイズを調節する場合にテキストの量が大きいと、フォントサイズが小さくなり過ぎる問題が発生する。
【０００６】
これらの問題を解決するための更なる自動レイアウトの技術としては、あるコンテナ領域のサイズが大きくなった場合に、隣接したコンテナ領域のサイズを小さくする技術が開示されている（例えば特許文献１参照）。
【特許文献１】特開平７−１２９６５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術を利用する自動レイアウトシステムでは、次のような問題があった。
【０００８】
自動レイアウトシステムでは、自動レイアウト（動的レイアウト）を実行して、バリアブルデータのコンテンツサイズに応じて、コンテナ領域のサイズや位置を自動的に変更し、レイアウトを確定することができる。しかし、この自動レイアウトの実行時に、レイアウトの変化が大きくなり過ぎるという問題があった。例えば、可変エッジを持つコンテナ領域を関連付けると、関連付けられたコンテナ領域全てが自動レイアウトの実行対象となるため、例えば１つのコンテナサイズまたは位置の変更により、レイアウトが大きく変更されてしまうおそれがある。
【０００９】
したがって、自動レイアウトの実行時におけるレイアウトの変更を、より局所化することができるレイアウト編集装置が求められていた。
【００１０】
本発明は上記従来の問題点に鑑み、自動レイアウトの実行時におけるレイアウトの変更を、より局所化することができるレイアウト編集装置及びその制御方法、並びに制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は上記目的を達成するため、レイアウトが固定された静的オブジェクトが配置される静的レイアウト編集レイヤと、レイアウトの変更が可能な動的オブジェクトが配置される動的レイアウト編集レイヤと、前記静的レイアウト編集レイヤと前記動的レイアウト編集レイヤにそれぞれ対応して設けられ、編集動作を行うための静的テンプレート及び動的テンプレートを有するレイアウト編集装置であって、前記静的または前記動的テンプレートを指定して、これらテンプレートにデータの流し込みを行うデータ流し込み手段と、前記データ流し込み手段によって前記静的テンプレートにデータの流し込みが行われた場合に、このデータの流し込みによって得られたレイアウト結果である静的オブジェクトに異常が発生しているか否かを検出する異常状態検出手段と、前記異常状態検出手段によって、異常が発生している静的オブジェクトを検出したときに、該静的オブジェクトに対応づけられている動的オブジェクト、及び該動的オブジェクトに関連付けられている前記動的テンプレート上の動的オブジェクト群を検索する動的オブジェクト群検索手段と、前記動的オブジェクト検索手段により検索された個々の動的オブジェクトに前記オブジェクト対応手段によって対応づけられている前記静的テンプレート上の個々の静的オブジェクトを検索する静的オブジェクト群検索手段と、前記静的オブジェクト検索手段により検索された静的オブジェクト群に対する前記データ流し込み手段によるレイアウト結果を、前記動的オブジェクト群検索手段により検索された動的オブジェクト群に対する前記自動レイアウト手段によるレイアウト結果に置き換えるレイアウト結果置き換え手段とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、データ溢れ等の異常が発生している静的オブジェクトを検出したときは、異常時対処処理として、動的オブジェクト群検索手段、静的オブジェクト群検索手段、及びレイアウト結果置き換え手段が実行される。これにより、自動レイアウト手段の実行時におけるレイアウトの変更を、より局所化することが可能になる。
【００１３】
また、データ溢れ等の異常が発生している静的オブジェクトを検出したときは、該静的オブジェクトに対して異常時対処属性が設定されている場合に限り、前記異常時対処処理を実行することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図面を参照しながら説明する。
＜システム構成図＞
図１は、本発明の実施の一形態に係るレイアウト編集装置を含むコンピュータシステムを示すブロック図である。図２は、図１中のレイアウト編集装置の内部構成を示すブロック図である。
【００１５】
本実施の形態に係るレイアウト編集装置は、図１及び図２に示すホストコンピュータ１０１で構成されている。
【００１６】
本実施の形態に係るレイアウト編集装置の処理プロセスは、ホストコンピュータ１０１内で実行され、図１のコンピュータシステム上で実施可能となるレイアウト編集アプリケーションプログラム１２１のようにソフトウェアの全体、或いは一部分で実行される。特に、本実施の形態に係るレイアウト編集や必然的に起こる印刷のステップはコンピュータ１０１によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば図２に示すような記憶装置１３９を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータ１０１にロードされ、コンピュータ１０１によって実行される。
【００１７】
ホストコンピュータ１０１はキーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置１４４や状況に応じてはローカルプリンタ１４５を含む出力装置を連結する。入力／出力インターフェース１３８はホストコンピュータ１０１をネットワーク接続１０７から接続してシステム１００の他のコンピュータ装置につなげることができる。そのネットワーク接続１０７の典型はローカルエリアネットワーク（ＬＡＮ）、或いはワイドエリアネットワーク（ＷＡＮ）である。
【００１８】
コンピュータ１０１は、少なくとも１つのプロセッサユニット１３５と、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリ１３６を有している。さらに、ビデオインターフェース１３７を含むＩＮＰＵＴ／ＯＵＴＰＵＴ（Ｉ／Ｏ）インターフェース１３８や、キーボード１３２やマウス１３３のためのＩ／Ｏインターフェース１４３も備えている。記憶装置１３９は典型的にハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図には示されていないが磁気テープドライブも使用される可能性がある。
【００１９】
ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。コンピュータ１０１は、相互接続バス１３４を介して通信を行うコンピュータ１０１のコンポーネント１３５からＩ／Ｏインターフェース１４３を利用する。
【００２０】
レイアウト編集アプリケーションプログラム１２１は、典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。プログラム１２１の媒介記憶装置とネットワーク１０２０からフェッチされるデータは、ハードディスクドライブ１４０に呼応してメモリ１３６に記憶される。また、アプリケーションプログラム１２１がＣＤ−ＲＯＭやフロッピー（登録商標）ディスク上でエンコードされ、対応するドライブ１４２や１４１を通じて読み込まれユーザに提供される。或いはもう一つの方法としてアプリケーションプログラム１２１はネットワーク接続１０７からユーザによって読み込まれても構わない。
【００２１】
さらに、ソフトウェアは他の適当な大きさのコンピュータ可読媒体からホストコンピュータ１０１内にロードされる可能性もある。例えば、磁気テープ、集積回路、光磁気ディスク、無線または赤外線通信、ＰＣＭＣＩＡカードのようなコンピュータ可読カード、または、Ｅメール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットなどである。前述は単に関連するコンピュータ可読メディアの模範である。他のコンピュータ可読媒体も使用される可能性はある。
【００２２】
また、レイアウト編集アプリケーション１２１はバリアブルデータ印刷（ＶＤＰ）を行うよう指示可能であり、２つのソフトウェアコンポーネントを含んでいる。１つ目のコンポーネントはレイアウトエンジン１０５であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。２つ目のコンポーネントであるユーザインターフェース１０３はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。
【００２３】
ユーザインターフェース１０３とレイアウトエンジン１０５はコミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ１１７上にある典型的なデータベース１１９である。ホストコンピュータ１０１はネットワーク接続１０７によってデータベースサーバ１１７と通信する。レイアウト編集アプリケーション１２１はホストコンピュータ１０１か一般的に他のコンピュータで構成されるファイルサーバ１１５に保存されるドキュメントテンプレートを生成する。
【００２４】
また、レイアウト編集アプリケーション１２１はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバ１１５に保存されるか、或いはプリンタ１１３に直接印刷される。プリントサーバ１０９は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバ１０９とプリンタ１１３は典型的な通信チャネル１１１を介して接続される。
【００２５】
また、図１に示すようにエンジンサーバ２２７が接続されていても良い。
【００２６】
エンジンサーバ２２７は典型的なコンピュータである。ファイルサーバ１１５に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェース１０３を介して要求されるか、特定のレコードのみ印刷するように要求される。
【００２７】
＜動的レイアウト編集装置のアプリケーションの構成＞
以下、ホストコンピュータ１０１上において、レイアウトの変更が可能な動的オブジェクトを編集する機能（以下、動的レイアウト編集装置と記す）について、図３〜図１２を参照しつつ説明する。
【００２８】
（Ａ）メインウィンドウ
図３は、本実施の形態のホストコンピュータ１０１で使用するアプリケーションのメインウィンドウを示す画面図である。
【００２９】
ウィンドウ３０１は、非表示にすることやスクリーン上の色々な場所に移動することが可能なメニューバー３０２とツールバー３０３が配置される。そして、マウス１３３の位置・動作によって場所を移動可能なワークエリア３０６とオプションのパレット３１１とカーソル／ポインタデバイス３１３から特徴づけされる。
【００３０】
メニューバー３０２は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を持つ。ツールバー３０３は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタンとウィジット３０５を持つ。オプションのルーラー３０８はワークエリア内のポインタ、ページ、ライン、マージンガイド、コンテナ領域またはオブジェクトの位置を示すために使われる。
【００３１】
パレット３１１はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット３１１は移動、リサイズ、クローズをするためのウィンドウコントロール３１２を持つ。
【００３２】
図４は、本実施の形態に係るアプリケーションウィンドウ３０１上に表示されるコンテナ領域の表示例を示す画面図である。同図に示す画面は、コンテナ領域間のリンク、アンカーやスライダーを持つコンテナ領域の一面をスクリーン、ツール、アイコンで示している。
【００３３】
また、図４に示す画面は、１ページのドキュメントテンプレート３０９上に表示することが可能なオブジェクトの例である。それらは、複数のコンテナ領域４０７、４０８と、任意に適用するアンカーアイコン４０９と固定されていない辺４１０、リンク４１２そしてスライダー４１３を持つ。
【００３４】
ツールバーエリア３０３は、図４に示すように、ユーザ選択可能なボタンを持つ。即ち、選択ツールボタン４０３、テキストコンテナ領域ツールボタン４０４、イメージコンテナ領域ツールボタン４０５、及びリンクツールボタン４０６が配置されている。
【００３５】
選択ツールボタン４０３は、コンテナ領域の辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナ領域は、（複数）コンテナ領域の周りに選択ボックスをドラッグする、或いは複数コンテナ領域を選択する間にＣＴＲＬキーを押しつづけることによって、複数選択を可能にする。
【００３６】
イメージコンテナ領域ツールボタン４０５は、イメージデータを流し込むためのコンテナ領域を作成するために使われる。テキストコンテナ領域ツールボタン４０４は、テキストデータを流し込むためのコンテナ領域を作成するために使われる。また、リンクツールボタン４０６は、複数のコンテナを関連付け、コンテナ領域間の距離をコントロールするリンクを作成するために使われる。
【００３７】
ワークエリア３０６はドキュメントテンプレート３０９のデザインを表示・編集するために使われる。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを示すことができる。
【００３８】
ワークエリア３０６はスクロールバー３０７とオプションのルーラー３０８とドキュメントテンプレート３０９に特徴付けられる。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化する。もし１ページ内にコンテンツデータを配置できない場合、追加のページは自動的に作成される。それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、ページマージンガイド３１０である。
【００３９】
（Ｂ）コンテナ領域
コンテナ領域は、ドキュメントテンプレート３０９内の固定（静的）或いは可変（バリアブル）テキスト・イメージを流し込むための領域である。コンテナ領域はマウス１３３動作でポインタ３１３を使い、ユーザインターフェースで示されるように移動、サイズ調整そして再作成される。そして、コンテナ領域には様々な設定情報が設定される。
【００４０】
コンテナ領域には、入力されるコンテンツデータによって、サイズまたは位置が変更される可変属性や、サイズおよび位置が変更しない固定属性を設定できる。
【００４１】
さらに、コンテナ領域はユーザインターフェースを持つ、例えばコンテナ領域の編集そして表示設定のためのインタラクティブなＧＵＩを持つ。インターフェースの要素は典型的にスクリーン１４４上に表示される、しかしドキュメントには印刷されない。ユーザインターフェース１０３は、背景色やフォントのようなコンテナ領域の装飾機能のいくつかを表示する、そしてコンテナ領域の設定の編集や表示を許すための機能を追加する。
【００４２】
ユーザインターフェース機能の特別な目的の例としては、ボーダー、角アイコン、或いは上塗りした数、線、アイコン、テキストがある。角アイコンは、コンテナ領域のサイズや位置を対話的に変更、表示するためのアイコンである。また、上塗りした数、線、アイコン、テキストは、コンテナ領域がデータソースからデータをマージされたとき、コンテナ領域の動作を示すためのものである。
【００４３】
図４で参照されるように、新規テキストコンテナ領域は、テキストコンテナ領域ツール４０４をマウス１３３でクリックし、テンプレート３０９に四角形をドラッグすることによって、ドキュメントテンプレート３０９上に作成される。イメージコンテナ領域もイメージコンテナ領域ツール４０５を使用して同様に作成される。
【００４４】
代わりにコンテナ領域は、適切なツール４０４、４０５をアクティブにした後に、ドキュメントテンプレート３０９上でクリックすることによって作成される。コンテナには、辺ごとに可変属性または固定属性を設定することができる。例えば、図４では、辺４１０と下辺が可変設定されており、コンテナ４０７よりも大きいサイズのコンテンツが入力された場合、右方向または下方向にサイズ変更されることが示されている。なお、コンテナサイズに最大値、最小値を設定し、設定された値を範囲として自動レイアウトできるようにしても構わない。
【００４５】
（Ｄ）リンク
リンクは、コンテナ領域とコンテナ領域の関連を示している。関連とはコンテナ領域間の距離を示しており、リンクによって関連付けられたコンテナ領域同士は、互いのレイアウト変更の影響を受けてレイアウトを計算する。図４の４１２で示されているものがリンクであり、この図ではコンテナ領域４０７と４０８とを関連付けている。リンクの設定方法及び、リンクで関連付けられたコンテナ領域の動的レイアウト計算方法については、後述する。
【００４６】
まず、リンクの設定方法について説明する。リンクを設定するためのコンテナ領域（最低２つ）を作成する。図４の例では、コンテナ４０７と４０８が相当する。次に、前述したリンクツール４０６を選択した状態にする。  まず、リンクを設定する片方のコンテナ領域をクリックして選択する。次に関連付けたいコンテナ領域までマウスポインタを移動して、クリックする。その結果、選択されたコンテナ間が関連付けられたことを示すリンクが設定され、表示される。
【００４７】
（Ｆ）動的レイアウト計算方法（全体フロー）
図５は、本実施の形態に係る動的レイアウト計算のフロー図を示している。
【００４８】
まず、レイアウト編集アプリケーション１２１は、プレビューモードを選択する（Ｓ８０１）。前述した自動レイアウトシステムでは、レイアウトモードとプレビューモードとに分けられる。レイアウトモードは、コンテナ領域を作成して、そのコンテナ領域間に関連付けを行うモードである。プレビューモードは、レイアウトを作成すると、作成したレイアウトにレコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするモードである。
【００４９】
プレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。但し、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。その際の計算方法も同じである。
【００５０】
プレビューモードになったら、レイアウト編集アプリケーション１２１は、プレビューするレコードを選択して挿入し、そのレコードをレイアウトするために計算を行う。（Ｓ８０３）。レイアウト編集アプリケーション１２１は、処理Ｓ８０３で計算されたレイアウトを表示して（Ｓ８０４）、他のレコードについてもプレビューを行うかどうかを判断する（Ｓ８０５）。
【００５１】
処理Ｓ８０５で、他のレコードについてプレビューを行う必要がないと判断した場合、レイアウト編集アプリケーション１２１は、プレビューモードを終了する（Ｓ８０７）。他のレコードについてプレビューを行うのであれば、レイアウト編集アプリケーション１２１は、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う（Ｓ８０６）。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理Ｓ８０５、Ｓ８０７は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【００５２】
（Ｇ）動的レイアウト計算方法（詳細フロー）
図６は、動的レイアウト計算の詳細を示したフロー図である。図７は、本実施の形態に係るレイアウト計算時におけるコンテナ領域の集合に関する説明図である。
【００５３】
まず、レイアウト編集アプリケーション１２１は、レイアウトを計算するコンテナ領域の集合を求める（Ｓ９０１）。レイアウト計算は、関連付けられたコンテナ領域を１つの集合として計算を行う。例えば図１１を参照すると、ページ上に４つのコンテナ領域がレイアウトされており、各コンテナ領域に関連付けが設定されている。この場合、コンテナ領域Ａとコンテナ領域Ｂ、そしてコンテナ領域Ｃとコンテナ領域Ｄがリンクによって関連付けされている。したがって、コンテナ領域Ａ・Ｂが集合１、コンテナ領域Ｃ・Ｄが集合２となる。
【００５４】
前述した通りであるが、１１０１はアンカー、１１０２は固定された辺、１１０３はコントローラー、１１０４は可変の辺の変化方向を示している矢印、１１０５は可変の辺、１１０６はリンク、そして１１０７はスライダーを示している。
【００５５】
次に、レイアウト編集アプリケーション１２１は、Ｓ９０１で求めたコンテナ領域の集合から、レイアウトを計算するために１つを選択して（Ｓ９０２）、選択したコンテナ領域の集合についてレイアウトの計算を行う。ここでは、レイアウトされるコンテナ領域のサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウト編集アプリケーション１２１は、レイアウトの最適化を行う（Ｓ９０３）。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナ領域において、それぞれに挿入されるコンテンツのサイズとレイアウトされるサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合、レイアウト編集アプリケーション１２１は、再度ルールを違反しないように計算をする（Ｓ９０４）。
【００５６】
ここで記述したルールには、ユーザ指定ルールとシステムルールがあり、ユーザ指定ルールというのは、レイアウト作成時にユーザによって設定される制限であり、コンテナ領域のサイズと位置、リンクの長さなどである。また、システムルールというのは、自動レイアウトシステムによってあらかじめ設定される制限であり、「コンテナ領域はページのマージンガイドからはみ出してレイアウトすることができない」などである。
【００５７】
ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、Ｓ９０２〜Ｓ９０４のステップをページ上の全ての集合について施し、レイアウト編集アプリケーション１２１は、ページ全体のレイアウトを計算する（Ｓ９０５）。
【００５８】
図８（ａ），（ｂ），（ｃ）は、動的レイアウト計算時のＵＩ表示例を示した図である。
【００５９】
図８（ａ）は、あるレコードが挿入されレイアウトが決定されている状態を表している。１００１と１００２はアンカー、１００３と１００４は固定された辺、１００５は可変の辺、１００６は可変の辺の変化方向を示している矢印、１００８はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。
【００６０】
図８（ｂ）は図８（ａ）の状態に新しいコンテンツのサイズを重ねて示している。１００９はそれぞれのコンテナ領域に挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図８（ｃ）はレイアウト計算された結果を示している。計算後の各コンテナ領域のサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図８（ｃ）で示されるように、図８（ｂ）で示した挿入されるコンテンツサイズ（１００９）と計算後のコンテンツサイズ（１０１０）は、双方において同等な差異がある。
【００６１】
（Ｈ）可変リンクの設定
図９は、リンクの情報をセットするためのダイアログウィンドウ１４０１の例を示す画面図である。
【００６２】
このダイアログは典型的にタイトルバー１４０２、ツールボタン１４０３、ダイアログウィンドウの開閉を行うボタン１４０４、各種の情報をセットするエリア１４０９で構成されている。このダイアログウィンドウではリンクタイプが可変（１４０７）或いは固定（１４０６）の選択や、可変の場合、リンクの長さの最小値（１４１０）そして最大値（１４１２）、また現在の値（１４１１）が設定できる。
【００６３】
図１０は、リンク設定に関するフローチャートである。即ち、前述のリンク設定方法を踏まえ、例えば後述する図１１のコンテナ領域Ａとコンテナ領域Ｂ間に張られている固定サイズのリンク１５０３の状態から可変サイズのリンク１６０３を設定するまでの操作遷移を表している。
【００６４】
レイアウト編集アプリケーション１２１は、マウスの指示に基づいてリンク１５０３を選択する（Ｓ１３０２）。レイアウト編集アプリケーション１２１は、マウスの右クリック或いはキーボードの特定のキーにより選択したリンク１５０３のプロパティダイアログウィンドウ１４０１を表示する（Ｓ１３０３）。この状態ではリンクサイズは可変ではなく固定であるため、Ｆｉｘｅｄ  Ｌｅｎｇｔｈ１４０６がＬｉｎｋ  Ｔｙｐｅ１４０５において選択されている。リンクを固定サイズから可変サイズに変更するために、レイアウト編集アプリケーション１２１は、Ｌｉｎｋ  Ｔｙｐｅ１４０５においてリンクサイズを可変に設定するＦｌｅｘｉｂｌｅＬｅｎｇｔｈ１４０７を選択する（Ｓ１３０４）。これによりＬｉｎｋ  Ｄｉｓｔａｎｃｅ１４０８内に配置されているＭａｘ．Ｄｉｓｔａｎｃｅ１４１２、Ｍｉｎ．Ｄｉｓｔａｎｃｅ１４１０、Ｄｉｓｔａｎｃｅ１４１１が有効化され、数値の設定が可能となる。そこで、レイアウト編集アプリケーション１２１は、リンクの長さの最大値をＭａｘ．  Ｄｉｓｔａｎｃｅ１４１２、最小値をＭｉｎ．Ｄｉｓｔａｎｃｅ１４１０、現在の値をＤｉｓｔａｎｃｅ１４１１に設定する（Ｓ１３０５）。一般的なダイアログウィンドウ開閉ボタン１４０４によって設定を適用すると図１２のリンク１６０３のような状態にリンクのＵＩ表示が変化する（Ｓ１３０６）。このダイアログウィンドウ１４０１の設定情報はメモリに格納される。
【００６５】
図１１は、固定サイズのリンクを使用した場合のレイアウト結果を示す画面図である。      
【００６６】
レイアウト計算方法は前述した通りに従って行われる。例えば図１１において各コンテナ領域にデータが挿入された時、それぞれのコンテナ領域は、データの大きさを最適と考えた場合には次のように変更される。即ち、コンテナ領域１５０１は、挿入されたイメージサイズになる枠１５０４（最適コンテナ領域サイズ）に近づこうと右方向へ大きくサイズを変更しようとする。同様にコンテナ領域１５０２も挿入されたイメージサイズになる枠１５０５（最適コンテナ領域サイズ）に近づこうと左方向へやや大きくサイズを変更しようとする。
【００６７】
しかし、コンテナ領域間には固定サイズのリンク１５０３が設定されているとすると、コンテナ領域１５０１とコンテナ領域１５０２はそれぞれ、アンカーが設定されているため移動できない。そのため、変更しようとするサイズがリンクサイズを上回ってしまう。そして、このリンクサイズは固定されているためレイアウト計算時に優先的に計算されるので、コンテンツデータ（１５０４、１５０５）に合わせた最適なサイズを確保することができない。その結果、最終的に図１１のコンテナ領域１５０１とコンテナ領域１５０２のように最適なサイズ（枠１５０４、枠１５０５）よりも小さくなってしまう。リンク１５０３のサイズは固定であるためコンテナ領域１５０１とコンテナ領域１５０２は最適サイズを達成していない。
【００６８】
図１２は、本実施の形態に係る可変リンクによるレイアウト結果を示す画面図であり、リンクを可変サイズにした場合を示している。
【００６９】
この場合、上記の例でコンテナ領域間には図１２の通り可変サイズのリンク１６０３が設定されているとすると、各コンテナ領域のサイズが変更される際に、リンクサイズが縮まることで各コンテナ領域のサイズが図１１の例より大きくなる。よって、挿入されるデータサイズに合わせた最適なサイズを達成、或いはより挿入データサイズ（最適サイズ）に近づけてコンテナ領域の枠を計算することができる。その結果が、図１２のコンテナ領域１６０１とコンテナ領域１６０２である。
【００７０】
可変リンクはレイアウト計算の結果、可変リンク１６０３のサイズ状態となり、この場合コンテナ領域１６０１とコンテナ領域１６０２はそれぞれ最適なサイズ（データサイズに合った大きさ）になっている。
【００７１】
＜静的レイアウト編集装置のアプリケーションの構成＞
以下、ホストコンピュータ１０１上において、レイアウトが固定された静的オブジェクトを編集する静的レイアウトモードについて説明する。
【００７２】
図１３は、本実施の形態に係る静的レイアウトモードが選択された場合に表示される内容を示した図である。
【００７３】
静的レイアウトモードが選択された場合、レイアウト編集アプリケーション１２１は、図１３に示すように、静的レイアウト編集レイヤ１８１１としてレイヤ１を生成する。さらに、レイアウト編集アプリケーション１２１は、図１４に示すように動的レイアウト編集レイヤ１９１１としてレイヤ２を生成する。なお、静的レイアウト編集レイヤを表示するか動的レイアウト編集レイヤを表示するかは、タブ「レイヤ１」または「レイヤ２」を選択することによって切り替えられる。
【００７４】
なお、前記静的レイアウト編集レイヤでは、静的オブジェクト（固定オブジェクト）のみが配置可能である。静的オブジェクトとは、直線や多角形などのベクター図形に加え、バリアブルデータによりコンテンツを流し込むことのできる、位置及びサイズが固定のテキストコンテナ領域及びイメージコンテナ領域である。また、前記動的レイアウト編集レイヤでは、前記静的オブジェクトに加え、動的オブジェクト（可変オブジェクト）が配置可能である。動的オブジェクトとは、バリアブルデータのコンテンツサイズにより、または、リンクによって関連付けられた他のオブジェクトからの影響により、そのサイズや位置が変更されるテキストコンテナ領域及びイメージコンテナ領域を指す。前記静的オブジェクトは、他の動的オブジェクトとリンクされ関連付けが行われると、動的オブジェクトとなる。
【００７５】
また、図１４に示すように、レイヤ２の動的レイアウト編集レイヤ１９１１には、レイヤ１のコピーであるドキュメントテンプレートと、そのドキュメントテンプレート１９１２上の静的オブジェクト１９２１〜１９２８が、初期状態では、生成される。また、動的レイアウト編集レイヤ１９１１では、動的レイアウト編集装置特有のオブジェクト可変設定ＵＩが提供される。そのため、ツールバーエリア１９０３には、リンク作成用のリンクツールボタンが存在し、コンテナ領域の辺を可変に設定する機能も存在する。
【００７６】
図１５は、本実施の形態に係る動的レイアウト編集レイヤの動的設定後の状態を示す図である。即ち、図１４に配置された静的オブジェクト１９２１〜１９２８に、ユーザがリンクツールを用いてリンク設定と、コンテナ領域の辺の可変設定を施した状態を示している。静的オブジェクトであるコンテナ領域１９２１、１９２２、１９２３〜１９２８の辺の一部が可変に変更され、動的オブジェクト２０２１、２０２２、２０２３〜２０２８となっている。また、リンク２０３１〜２０３５が作成されている。
【００７７】
このように、本アプリケーションは、静的レイアウト編集装置に動的レイアウト編集装置を組み込んだものである。そして、静的レイアウト編集レイヤと動的レイアウト編集レイヤの２つの編集レイヤ、及び個々の編集レイヤに対応した２つのドキュメントテンプレートを有するレイアウト編集装置として構成される。
【００７８】
＜テンプレート編集のレイヤ間での同期＞
続いて、レイヤ間のテンプレートの編集における処理について説明する。まず、静的レイヤが表示されている状態について説明する。
【００７９】
静的レイアウト編集レイヤでの編集時、静的レイアウト編集レイヤのテンプレートに新しく配置された静的オブジェクトは、動的レイアウト編集レイヤのテンプレートにも、位置、サイズが同じ静的オブジェクトとして配置される。また、静的レイアウト編集レイヤでの編集時、静的オブジェクトに位置／サイズ変更が加えられた際、その静的オブジェクトに対応する動的レイアウト編集レイヤ側のオブジェクトにも、その位置／サイズ変更が反映される。
【００８０】
一方、動的レイアウト編集レイヤでの編集時、動的レイアウト編集レイヤのテンプレートに新しく配置された動的オブジェクトは、静的レイアウト編集レイヤのテンプレートに、位置、サイズが同じ静的オブジェクトに変換され配置される。また、動的レイアウト編集レイヤでの編集時、オブジェクトに位置／サイズ変更が加えられた際、オブジェクトに対応する静的レイアウト編集レイヤ側のオブジェクトにも、その位置／サイズ変更が反映される。
【００８１】
なお、動的レイアウト編集レイヤにおいて、コンテナ領域の、固定オブジェクトから可変オブジェクトへの変更は、後述するデータ溢れ時属性（異常時対処属性）の設定の可／不可以外、静的レイアウト編集レイヤには影響を及ぼさない。コンテナ領域に対するリンク設定なども同様である。本実施の形態においてデータ溢れ時属性とは、「データ溢れが発生した際に動的レイアウトを行う」属性である。
【００８２】
また、現在表示されている編集レイヤにおいて、オブジェクトが削除された場合、そのオブジェクトに対応する異なる編集レイヤ側のオブジェクトも、同じく削除される。
【００８３】
上記のように、本アプリケーションは、静的レイアウト編集レイヤのオブジェクトと動的レイアウト編集レイヤのオブジェクトを１対１で対応させ、また、一方のレイヤでの編集動作を他方のレイヤにも反映させ、編集結果をレイヤ間で同期させる。
【００８４】
＜データ溢れ時属性（異常時対処属性）の設定＞
図１６は、本実施の形態に係るデータ溢れ時属性、つまり「データ溢れが発生した際に動的レイアウトを行う」属性の設定方法を示すＵＩに関する説明図である。
【００８５】
図１６中の２７０１は静的レイアウト編集レイヤであるレイヤ１のドキュメントテンプレート、２７０２は動的レイアウト編集レイヤであるレイヤ２のドキュメントテンプレートである。２７０３は静的レイアウト編集レイヤのドキュメントテンプレート２７０１に配置されたオブジェクト（静的オブジェクト）である。
【００８６】
２７０４は動的レイアウト編集レイヤのドキュメントテンプレート２７０２に配置された動的オブジェクトである。２７０５はオブジェクト２７０３のコンテナ領域の属性、つまりデータ溢れ時属性の設定ダイアログであり、２７０６はその設定をオン／オフするチェックボックスである。なお、設定ダイアログ２７０５を介して設定された内容は、メモリ部１３６に保存される。
【００８７】
図１７は、本実施の形態に係るデータ溢れ時属性の設定方法を示すフローチャートである。
【００８８】
この設定方法は、レイアウト編集アプリケーションプログラム１２１に従ってプロセッサ１３５により実行される。以下、この設定方法の動作フローを図１６と共に説明する。
【００８９】
ユーザによる、キーボード１３２やマウス１３３を用いたメニューアイテム１７０４への操作や、ポインタ３１３によるコンテナ領域上での右クリックでコンテナ領域に対する処理メニューの呼び出し指示がなされる。この処理に従い、レイアウト編集アプリケーション１２１は、コンテナメニューが呼び出されたと判定する（Ｓ２８０１―Ｙｅｓ）。プログラム１２１は、該操作が静的レイアウト編集レイヤ２７０１で行われたかを判定する（Ｓ２８０２）。ここで、該操作が静的レイアウト編集レイヤであると判定した場合（Ｓ２８０２―Ｙｅｓ）、該操作対象となった静的オブジェクト２７０３に対応する動的レイアウト編集レイヤ側のオブジェクトが、動的オブジェクトであるかを判別する（Ｓ２８０３）。該動的レイアウト編集レイヤ側のオブジェクトが動的オブジェクト２７０４である場合、プログラム１２１は、オブジェクト２７０３のコンテナ領域に対する処理メニューに、データ溢れ時属性設定メニュー項目を追加し、表示する（Ｓ２８０４）。
【００９０】
該処理メニューで、データ溢れ時属性設定メニュー項目が選択されたと判定した場合（Ｓ２８０５―Ｙｅｓ）、レイアウト編集アプリケーション１２１は、データ溢れ時属性設定ダイアログ２７０５を表示する（Ｓ２８０６）。
【００９１】
該ダイアログ２７０５のチェックボックス２７０６がオンに設定された場合（Ｓ２８０７）、該操作の対象となった静的オブジェクト２７０３にデータ溢れ時属性を設定して（Ｓ２８０８）、処理を終了する。
【００９２】
また、前記Ｓ２８０７で、チェックボックス２７０６がオフに設定された場合、該操作の対象となった静的オブジェクト２７０３のデータ溢れ時属性を解除して（Ｓ２８０９）、処理を終了する。
【００９３】
なお、上記Ｓ２８０２で、該操作が動的レイアウト編集レイヤ２７０１で行われた際には、プログラム１２１は、本設定とは無関係な他の動作（Ｓ２８１０）である、レイアウト編集レイヤ用の通常のコンテナ領域メニューを表示し、処理を終了する。
【００９４】
また、Ｓ２８０３で、該操作の対象となった静的オブジェクト２７０３に対応する動的レイアウト編集レイヤ側のオブジェクトが静的オブジェクトである場合、本設定とは無関係な他の動作（Ｓ２８１０）を実行する。具体的には、レイアウト編集アプリケーション１２１は、静的レイアウト編集レイヤ用の通常メニューを表示し、処理を終了する。
【００９５】
また、同様に、上記Ｓ２８０５で、該処理メニューで、データ溢れ時属性設定メニュー項目が、ユーザによって選択されなかった場合には、本設定とは無関係な他の動作（Ｓ２８１０）を行い、処理を終了する。
【００９６】
上記のように、本アプリケーションは、静的レイアウト編集レイヤのオブジェクトが、動的レイアウト編集レイヤの動的オブジェクトと１対１対応している場合、データ溢れ時属性を、静的レイアウト編集レイヤ側のオブジェクトに設定可能となっている。例えば、図１３の静的レイアウト編集レイヤ１８１１と対応する図１５の動的レイアウト編集レイヤ２０１１に対して上記を当てはめてみる。図１３のテンプレート１８１２上の静的オブジェクトであるコンテナ領域１８２１〜１８２８と対応する図１５のオブジェクトにおいて動的オブジェクトは、１８２１、１８２２、１８２４〜１８２８である。したがって、これらに対してのみ、データ溢れ時属性の設定が可能となっている。
【００９７】
以下、図１３の静的オブジェクト１８２８にのみ、コンテナ領域属性として、データ溢れ時属性が設定されているものとして、本実施の形態の説明を続ける。
【００９８】
＜レイアウト時の動作フロー＞
図１８は、レイアウト編集アプリケーション１２１のレイアウト時の動作フローを示すフローチャートである。
【００９９】
ユーザによる、キーボード１３２やマウス１３３のポインタ３１３によるメニューアイテム１８０４への操作により、レイアウト編集アプリケーション１２１は、バリアブルデータの流し込みが指示されたか否かを判定する（Ｓ２９０１）。
【０１００】
静的レイアウト編集レイヤ１８１１のテンプレート１８１２へバリアブルデータを流し込む場合（Ｓ２９０２）、レイアウト編集アプリケーション１２１は、静的レイアウト編集レイヤ１８１１のテンプレート１８１２を使って、レイアウトを行う（Ｓ２９０３）。
【０１０１】
また、該指示が、静的レイアウト編集レイヤ１８１１のテンプレート１８１２へのデータの流し込み指示ではなく、動的レイアウト編集レイヤ２０１１（レイヤ２）のテンプレートへのデータの流し込み指示である場合（Ｓ２９０２）、次のような処理を行う。レイアウト編集アプリケーション１２１は、動的レイアウト編集レイヤ２０１１のドキュメントテンプレートを使って動的レイアウトを行い（Ｓ２９０４）、そして、メモリ１３６上の該レイアウト結果をワークエリア２００６に表示する（Ｓ２９１５）。
【０１０２】
Ｓ２９０３における静的レイアウト後、該テンプレート１８１２に、図１７の動作フローによって設定されるデータ溢れ時属性が、設定されているコンテナ領域が含まれているかどうかを調べる（Ｓ２９０５）。そして、該当するコンテナ領域が存在する場合（Ｓ２９０５―Ｙｅｓ）、次のような処理を行う。レイアウト編集アプリケーション１２１は、該コンテナ領域１８２８がテキストコンテナ領域であれば該コンテナ領域にデータ溢れによるテキストのクリッピングやオーバーラップが発生していないかを調べる。またイメージコンテナ領域であればデータ溢れによるイメージのクリッピングが発生していないかを調べる（Ｓ２９０６）。
【０１０３】
そして、該コンテナ領域１８２８にデータ溢れが発生している場合、プログラム１２１は、部分動的レイアウトグループの空リストをメモリ１３６に作成する（Ｓ２９０７）。そして、レイアウト編集アプリケーション１２１は、コンテナ領域１８２８に対応する動的レイアウト編集レイヤ２０１１のドキュメントテンプレート上のコンテナ領域２０２８を該部分動的レイアウトグループのリスト項目に追加する（Ｓ２９０８）。
【０１０４】
更にプログラム１２１は、動的レイアウト編集レイヤ２０１１のドキュメントテンプレート上に、前記コンテナ領域２０２８とリンクにより関連付けられているコンテナ領域が存在しないかどうかを調べる（Ｓ２９０９）。関連付けられたコンテナ領域が存在する場合には、次のような処理を行う。レイアウト編集アプリケーション１２１は、その関連付けをリンク２０３５、２０３４、２０３２及び２０３３と辿って、該コンテナ領域２０２８と関連を持つコンテナ領域群を前記部分動的レイアウトグループのリスト項目として追加する（Ｓ２９１０）。具体的には、２０２７、２０２５、２０２４及び２０２６が追加される。
【０１０５】
その後、プログラム１２１は、部分動的レイアウトグループに含まれるコンテナ領域群に対応する静的レイアウト編集レイヤ側のコンテナ領域群１８２４〜１８２８に関して、そのコンテナ領域群に流し込まれたデータをメモリ１３６に保持する（Ｓ２９１１）。
【０１０６】
また、前記Ｓ２９０３によりメモリ１３６に保持されている（静的）レイアウト結果から、コンテナ領域群１８２４〜１８２８のレイアウト結果を削除する（Ｓ２９１２）。そして、該コンテナ領域群に対応する動的レイアウト編集レイヤ側のコンテナ領域群２０２４〜２０２８に、前記Ｓ２９１１により、メモリ１３６に保持されたバリアブルデータを流し込み、メモリ１３６上で動的レイアウトを行う（Ｓ２９１３）。
【０１０７】
その後、該コンテナ領域群２０２４〜２０２８の動的レイアウト結果を、コンテナ領域群１８２４〜１８２８のレイアウト結果が削除された、メモリ１３６内のレイアウト結果にマージする（Ｓ２９１４）。そして、該全体レイアウト結果をワークエリア１８０６に
表示する（Ｓ２９１５）。
【０１０８】
前記Ｓ２９０５において、静的レイアウト編集レイヤ１８１１のテンプレート１８１２にデータ溢れ時属性が設定されているコンテナ領域が含まれていない場合、プログラム１２１は、通常のレイアウト結果をワークエリア１８０６に表示する（Ｓ２９１５）。また、前記Ｓ２９０６において、データ溢れが発生したコンテナ領域がない場合も同様である。通常のレイアウト結果を表示後、処理を終了する。
【０１０９】
＜プレビュー画面＞
図１９は、本実施の形態に係る静的レイアウト結果のプレビュー画面を示す図であり、図１３に示したレイアウトにバリアブルデータを流し込んだ際のプレビュー画面を示している。図２０は、本実施の形態に係る動的レイアウト結果のプレビュー画面を示す図であり、図１５に示した動的レイアウト編集レイヤのレイアウトに、図１９と同じバリアブルデータを流し込んだ際のプレビュー画面を示している。
【０１１０】
既知の技術である図１９の静的レイアウト編集装置のプレビューにおいては、３０２８に示すように、コンテナ領域１８２８に一部のデータが入りきらず、データがクリッピングされる。
【０１１１】
同様なバリアブルデータを、本実施の形態のレイアウト編集装置の動的レイアウト編集レイヤのレイアウトに流し込んだ際には、図１５において可変設定されているコンテナ領域２０２１、２０２２、２０２４〜２０２８全てが動的レイアウトの対象となる。そして、自動レイアウトの結果、図２０に示すように、元のレイアウトとは異なるレイアウトとなる。図１９の静的レイアウトのプレビューで示したようなデータ溢れは、コンテナ領域２０２８の動的レイアウト結果である３１２８に示すように、発生していない。この図２０のレイアウト結果は、既知の技術である動的レイアウトを用いたレイアウト結果と全く同様である。
【０１１２】
図２１の例では、上述の２つを組み合わせたようなレイアウト結果となっている。図２１に示すように、本実施の形態のレイアウト編集装置の静的レイアウト編集レイヤに図１９と同じバリアブルデータを流し込んだ際、コンテナ領域１７２８と同様、コンテナ領域１８２８にデータが収まりきらない。しかし、前述したように、コンテナ領域１８２８には本実施の形態のデータ溢れ時属性が設定されているため、動的レイアウト編集レイヤ側のコンテナ領域２０２８が代わりに用いられる。そのため、３２２８に示すように、レイアウト結果においては、３０２８のようなデータのクリッピングは発生していない。また、レイアウト結果３２２４〜３２２８は、上記レイアウト結果３１２４〜３１２８と全く同様であり、且つ、レイアウト結果３２２１〜３２２３は、上記レイアウト結果３０２１〜３０２３と全く同様である。
【０１１３】
なお、図１３のコンテナ領域１８２８及びその他のコンテナ領域１８２１、１８２２、１８２４〜１８２７に、本実施の形態のデータ溢れ時属性が設定されていない場合には、レイアウト結果は、図１９のものと全く同じになる。
【０１１４】
＜本実施の形態の利点＞
本実施の形態によれば、データ溢れ等の異常が発生している静的オブジェクトを検出したときは（図１８のＳ２９０６）、異常時対処処理として、次のＳ２９０９、Ｓ２９１１〜Ｓ２９１４の処理を実行する。即ち、該静的オブジェクトに対応づけられている動的レイアウト編集レイヤのテンプレートに存在する動的オブジェクトに関連付けられている動的レイアウト編集レイヤのテンプレートに存在する動的オブジェクト群を検索する（Ｓ２９０９）。さらに、その検索された動的オブジェクト群の個々の動的オブジェクトに対応づけられている静的レイアウト編集レイヤのドキュメントテンプレートの静的オブジェクト群を検索する（Ｓ２９１１）。そして、前記検索された静的オブジェクト群の静的レイアウト結果を破棄し（Ｓ２９１２）、前記検索された動的オブジェクト群にバリアブルデータを流し込んで動的レイアウトを行う（Ｓ２９１３）。その後、該動的レイアウトした結果を、前記部分的に破棄された静的レイアウト結果に結合させる（Ｓ２９１４）。
【０１１５】
これにより、あるコンテナ領域にテキスト溢れや、イメージ溢れ、拡縮によるイメージ解像度劣化等の問題が発生した場合にのみ、通常は動的レイアウト（自動レイアウト）する必要がない他のコンテナ領域も同時に動的レイアウトの対象とすることができる。その結果、従来、部分指定することができなかった動的レイアウトの発生対象を部分指定することができるようなる。即ち、動的レイアウトの実行時におけるレイアウトの変更を、より局所化することが可能になる。
【０１１６】
そして、ユーザは、データ溢れが予想されるコンテナ領域に対して、データ溢れの保険として動的レイアウト設定を追加でき、且つその動的レイアウト設定が有効になった場合、関連する他のコンテナ領域もその動的レイアウト設定を有効にすることができる。
【０１１７】
なお、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータが前記プログラムコードを読み出し実行することによっても達成される。
【０１１８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１９】
また、プログラムコードを供給するための記憶媒体としては、例えば次のようなものが挙げられる。即ち、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＤＶＤＲＯＭ、ＤＶＤＲＡＭ、ＤＶＤＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１２０】
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１２１】
【図１】実施の一形態に係るレイアウト編集装置を含むコンピュータシステムを示すブロック図である。
【図２】図１中のレイアウト編集装置の内部構成を示すブロック図である。
【図３】実施の形態のホストコンピュータで使用するアプリケーションのメインウィンドウを示す画面図である。
【図４】実施の形態に係るアプリケーションウィンドウ上に表示されるコンテナ領域の表示例を示す画面図である。
【図５】実施の形態に係る動的レイアウト計算のフロー図である。
【図６】動的レイアウト計算の詳細を示したフロー図である。
【図７】実施の形態に係るレイアウト計算時におけるコンテナ領域の集合に関する説明図である。
【図８】動的レイアウト計算時のＵＩ表示例を示した図である。
【図９】リンクの情報がセットされているダイアログウィンドウの例を示す画面図である。
【図１０】図１３の状態までの操作遷移を示すフローチャートである。
【図１１】固定サイズのリンクを使用した場合のレイアウト結果を示す画面図である。
【図１２】実施の形態に係る可変リンクによるレイアウト結果を示す画面図である。
【図１３】静的レイアウト編集レイヤを示す画面図である。
【図１４】動的レイアウト編集レイヤの初期状態を示す画面図である。
【図１５】実施の形態に係る動的レイアウト編集レイヤの動的設定後の状態を示す図である。
【図１６】実施の形態に係るデータ溢れ時属性の設定方法を示すＵＩに関する説明図である。
【図１７】実施の形態に係るデータ溢れ時属性の設定方法を示すフローチャートである。
【図１８】レイアウトアプリケーションプログラムのレイアウト時の動作フローを示すフローチャートである。
【図１９】実施の形態に係る静的レイアウト編集装置のプレビュー画面を示す図である。
【図２０】実施の形態に係るレイアウト編集装置のプレビュー画面を示す図である。
【図２１】実施の形態に係るレイアウト編集装置のプレビュー画面を示す図である。
【符号の説明】
【０１２２】
１０１  ホストコンピュータ
１０３  ユーザインターフェース
１０５  レイアウトエンジン
１１９  データベース
１２１  レイアウトアプリケーションプログラム
１３２  キーボード
１３３  マウス
【図１】
2008021221.tif 000003
【図２】
2008021221.tif 000004
【図３】
2008021221.tif 000005
【図４】
2008021221.tif 000006
【図５】
2008021221.tif 000007
【図６】
2008021221.tif 000008
【図７】
2008021221.tif 000009
【図８】
2008021221.tif 000010
【図９】
2008021221.tif 000011
【図１０】
2008021221.tif 000012
【図１１】
2008021221.tif 000013
【図１２】
2008021221.tif 000014
【図１３】
2008021221.tif 000015
【図１４】
2008021221.tif 000016
【図１５】
2008021221.tif 000017
【図１６】
2008021221.tif 000018
【図１７】
2008021221.tif 000019
【図１８】
2008021221.tif 000020
【図１９】
2008021221.tif 000021
【図２０】
2008021221.tif 000022
【図２１】
2008021221.tif 000023