(57)【要約】【課題】  バリアブルプリントシステムにおいて、テンプレート作成にかかる手間を大幅に低減し、ユーザにとってもっとも理解しにくく、かつコントロールの難しい「レイアウト変動のための設定」を、簡単に把握可能にしながら、レイアウト変動の効果を減じない手段を提供する。【解決手段】  レイアウトするコンテンツのサイズによって、動的にレイアウトを変化することが可能なバリアブルプリントシステムであって、  コンテンツを格納する領域を規定する矩形領域（コンテナ）をもち、  コンテナの各辺にそれぞれ個別の可動属性をもたせることを可能とすると共に、  １つの親コンテナに対して複数の子コンテナを関連付ける手段と、  親コンテナの設定内容に応じて子コンテナを連動して自動設定する手段とを備える。【選択図】  図１
2010176366.tif 000002
【特許請求の範囲】
【請求項１】
レイアウトするコンテンツのサイズによって、動的にレイアウトを変化することが可能なバリアブルプリントシステムであって、
コンテンツを格納する領域を規定する矩形領域（コンテナ）をもち、
コンテナの各辺にそれぞれ個別の可動属性をもたせることを可能とすると共に、
１つの親コンテナに対して複数の子コンテナを関連付ける手段と、
親コンテナの設定内容に応じて子コンテナを連動して自動設定する手段と
を備えることを特徴とするバリアブルプリントシステム。
【請求項２】
請求項１に記載のバリアブルプリントシステムにおいて、
親コンテナの設定内容に応じて子コンテナを連動して自動設定する手段とは、
親コンテナの各辺のうち可動属性をもつ辺と同方向の子コンテナの辺に可動属性をもたせ、
可動属性をもたせた各辺に向かって子コンテナ同士にリンクを張ることを特徴とするバリアブルプリントシステム。
【請求項３】
請求項２に記載のバリアブルプリントシステムにおいて、
親コンテナの設定内容に応じて子コンテナを連動して自動設定する手段とは、
さらに、親コンテナが可動属性をもたない対辺をもつと、対辺方向に子コンテナの各辺に可動設定をもたせる手段であることを特徴とするバリアブルプリントシステム。
【請求項４】
請求項３に記載のバリアブルプリントシステムにおいて、
親コンテナの設定内容に応じた子コンテナの自動設定のパターンが複数ある場合、
子コンテナおよび子コンテナの辺を示す手段を備えることを特徴とするバリアブルプリントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動レイアウトシステムにおける装置/媒体、およびレイアウト手法に関するものである。
【背景技術】
【０００２】
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネット利用の普及による消費者のカスタマイズサービス指向などの要因からＣＲＭ（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｍａｎａｇｅｍｅｎｔ）、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングの必要性が注目されている。これらの手法により顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
【０００３】
Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。ここ最近ではＤＴＰ（デスクトップパブリッシング）技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる量のコンテンツを最適にレイアウトすることが求められるようになった。
【０００４】
従来、バリアブルプリントシステムは、ドキュメント上にコンテナ等によりレイアウトを作成し、データベースとレイアウトを関連付けることにより達成していた。しかし、テキストおよびイメージのコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップおよびイメージのクリッピングが発生し、またデータ量がコンテナサイズより小さいと隙間が空いてしまった。その問題を解決するために、自動レイアウトシステムが発明されている。自動レイアウトシステムはテキストおよびイメージのコンテナのサイズを可変に設定することが可能である。この自動レイアウトシステムを実現しており、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更できる技術が、特許文献１によって開示されている。
【０００５】
特許文献1の技術では、テキストおよびイメージのコンテナからなるテンプレートを作成し、コンテナに流し込まれるコンテンツデータに応じてコンテナのサイズを動的に変化させる。
【０００６】
このようなテンプレート作成の負担を軽減する為、テンプレートを階層化することが考えられる。しかし、テンプレートの設定は個々のコンテナに対して行われるべきであり、相互関係をもつコンテナの設定を反映させる仕組みをもつ必要がある。図形およびグループ図形に相互関係を持たせ、一方の変更を他方にも反映させる技術が、特許文献２によって開示されている。
【特許文献１】特開２００６−０７４２２４号公報
【特許文献２】特開平０７−１６０９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
バリアブルプリントにおいて、サイズの異なるコンテンツを適切にレイアウトするために、レイアウト枠(コンテナ)をコンテンツのサイズに合わせて動的に変化させることを可能にするシステムが存在する。また、商品カタログなどのレイアウトを作成するときに、一つの商品のレイアウト（商品名、イメージ、スペックなど）をあらかじめテンプレート（以下、サブテンプレート）として定義しておく機能を備えている。そして顧客ごとに条件式でレイアウトする商品を抽出して、その数にあわせてサブテンプレートをページ上に流し込んでいく。しかし、このテンプレートの作成は手間がかかり、煩雑な作業であった。
【課題を解決するための手段】
【０００８】
レイアウトするコンテンツのサイズによって、動的にレイアウトを変化することが可能なバリアブルプリントシステムであって、
コンテンツを格納する領域を規定する矩形領域（コンテナ）をもち、
コンテナの各辺にそれぞれ個別の可動属性をもたせることを可能とすると共に、
１つの親コンテナに対して複数の子コンテナを関連付ける手段と、
親コンテナの設定内容に応じて子コンテナを連動して自動設定する手段を備えることを特徴とするバリアブルプリントシステム。
【発明の効果】
【０００９】
本発明は、テンプレート作成にかかる手間を大幅に低減し、ユーザにとってもっとも理解しにくく、かつコントロールの難しい「レイアウト変動のための設定」を、簡単に把握可能にしながら、レイアウト変動の効果を減じない手法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施例を適用するのに好適な実施例について説明を行う。
【００１１】
本発明の実施例を説明する前に、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【００１２】
（システム構成図）
図１はバリアブルデータドキュメントを印刷するシステム１００を図示している。この中で示された方法は図２で詳しく説明される汎用コンピュータモジュール１０１で実践される。図２で記述されるプロセスは、コンピュータモジュール１０１内で実行され、システム１００上で実施可能となるレイアウト編集アプリケーションプログラム１２１のようにソフトウェアの全体、あるいは一部分で実行される。特にレイアウト編集や必然的に起こる印刷のステップはコンピュータ１０１によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ１０１によって実行される。そのコンピュータでコンピュータプログラム製品を使用することによりドキュメントのレイアウト編集やバリアブルデータ印刷に有利な装置として作動することができる。
【００１３】
コンピュータモジュール１０１はキーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置１４４や状況に応じてはローカルプリンタ１４５を含む出力装置を連結する。入力／出力インターフェイス１３８はコンピュータモジュール１０１をネットワーク接続１０７から接続してシステム１００の他のコンピュータ装置につなげることができる。そのネットワーク接続１０７の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。
【００１４】
コンピュータモジュール１０１は典型的に少なくとも１つのプロセッサーユニット１３５、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６、ビデオインタフェイス１３７を含むＩＮＰＵＴ／ＯＵＴＰＵＴ（Ｉ／Ｏ）インターフェイス、キーボード１３２やマウス１３３のためのＩ／Ｏインターフェイス１４３を含んでいる。記憶装置１３９は典型的にハードディスクドライブ１４０やフレキシブルディスクドライブ１４１を含んでいる。図には示されていないが磁気テープドライブなどもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。コンピュータモジュール１０１はオペレーションシステムや相互接続バス１３４を介して通信を行うコンピュータモジュール１０１のコンポーネント１３５から１４３を利用する。
【００１５】
レイアウトアプリケーションプログラム１２１は典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。プログラム１２１の媒介記憶装置とネットワーク１０２０からフェッチされるデータはハードディスクドライブ１４０に呼応して半導体メモリ１３６を使用する。いくつかのインスタンスではアプリケーションプログラム１２１がＣＤ−ＲＯＭやフレキシブルディスク上でエンコードされ、対応するドライブ１４２や１４１を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム１２１はネットワーク接続１０７からユーザによって読み込まれるかもしれない。さらにソフトウェアは磁気テープまたはＲＯＭまたは集積回路、光磁気ディスクまたは無線またはコンピュータモジュール１０１とその他のデバイス間の赤外線通信、ＰＣＭＣＩＡカードのようなコンピュータ可読カード、そしてＥメール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からコンピュータモジュール１０１内にロードされる可能性もある。前述は単に関連するコンピュータ可読メディアの模範である。他のコンピュータ可読媒体も使用される可能性はある。
【００１６】
またレイアウト編集と名づけられたアプリケーション１２１はバリアブルデータ印刷（ＶＤＰ）を行うよう指示し、２つのソフトウェアコンポーネントを含んでいる。これらのうち１つめのコンポーネントはレイアウトエンジン１０５であり、これは長方形の範囲内で与えられた制限やサイズによって矩形と線の位置を計算するためのソフトウェアコンポーネントである。２つめのコンポーネントであるユーザインターフェイス１０３はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースと関連付けるメカニズムを提供する。ユーザインターフェイス１０３とレイアウトエンジン１０５はコミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー１１７上にある典型的なデータベース１１９である。ホストコンピュータ１０１はネットワーク接続１０７の手段によってデータベースサーバー１１７と通信する。バリアブルデータ印刷アプリケーション１２１はホストコンピュータ１０１か一般的に他のコンピュータで構成されるファイルサーバー１１５に保存されるドキュメントテンプレートを生成する。またバリアブルデータ印刷アプリケーション１２１はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバー１１５に保存されるか、あるいはプリンタ１１３に直接印刷される。プリントサーバー１０９は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー１０９とプリンタ１１３は典型的な通信チャネル１１１を介して接続される。
【００１７】
図３はエンジンサーバー２２７の追加を除き、レイアウトエンジン１０５の分離バージョン２２５を含む図１・図２の類似の図である。エンジンサーバー２２７は典型的なコンピュータである。ファイルサーバー１１５に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェイス１０３を介して要求されるか、特定のレコードのみ印刷するように要求される。
【００１８】
（アプリケーション構成図）
（メインウインドウ）
図４で参照されるように、ユーザインターフェイス１０１は、操作時にビデオディスプレイ１４４に表示されるアプリケーションウインドウ３０１によって形成されたユーザインターフェイスを含んでいる。ウインドウ３０１は、メニューバー３０２とツールバー３０３、そしてマウス１３３の位置・動作によって場所を移動可能なワークエリア３０６とオプションのパレット３１１とカーソル/ポインタデバイス３１３から特徴付けされる。
【００１９】
メニューバー３０２は周知の技術であり、メニューオプションの階層の下に拡張される多くのメニューアイテム３０４を持つ。
【００２０】
ツールバー３０３は、アプリケーションの特別なモードによって非表示にする、または表示することが可能な多くのツールボタン等のウィジット３０５を持つ。
【００２１】
オプションのルーラー３０８はワークエリア内のポインター、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。
【００２２】
パレット３１１はバリアブルデータを読み込んで表示するライブラリのような追加機能にアクセスするために使われる。パレット３１１は移動、リサイズ、クローズをするためのウインドウコントロール３１２を持つ。
【００２３】
ツールバーエリア３０３は少なくとも、次のユーザ選択可能な『ボタン』を持つ。
【００２４】
選択ツールボタン：コンテナの辺を選択、移動、サイズ変更、リサイズそしてロック・ロック解除するために使われる。コンテナは、（複数）コンテナの周りに選択ボックスをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数選択を可能にする。
【００２５】
イメージコンテナツールボタン：スタティックあるいはバリアブルイメージを持つコンテナを作成するために使われる。
【００２６】
テキストコンテナツールボタン：スタティックあるいはバリアブルテキストを持つコンテナを作成するために使われる。
【００２７】
リンクツールボタン：コンテナ間の距離をコントロールするために使われる。
【００２８】
（ドキュメントテンプレート）
ワークエリア３０６はドキュメントテンプレートのデザインを表示・編集するために使われる。これはユーザに、ドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量・サイズに基づいてどのように変化するかを理解することを可能にする。
【００２９】
もし外部データソースがテンプレートにリンクされていたら、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージがテンプレート上のコンテナに表示される。
【００３０】
ドキュメントの構造とバリアブルデータコンテナの描写をする視覚的な手がかりは、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示される。
【００３１】
ワークエリア３０６はスクロールバー３０７とオプションのルーラー３０８とドキュメントテンプレート３０９に特徴付けられる。ドキュメントテンプレート３０９はテンプレート中のページが複数あることを示すことができる。
【００３２】
与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。それぞれのドキュメントでの実際のページ数は、バリアブルデータによって変化するかもしれない。もし１ページ内にフィットできなかった時、追加のページは自動的に作成される場合がある。
【００３３】
それぞれのページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示す、任意のページマージン３１０である。
【００３４】
また、図４には1ページのドキュメントテンプレート３０９上に表示することが可能なオブジェクトの例を含んでいる。それらは、多数のコンテナ４０１、４０２と、固定されていない辺４０３、そしてリンク４０４を持つ。
【００３５】
（コンテナ）
コンテナは、ドキュメントテンプレート内の固定あるいは可変のテキストやイメージを持つスペースであり、他のコンテナやオブジェクトと相互に作用しながらレイアウトされる。コンテナはポインティングデバイス３１３を使い、ユーザインターフェイスで示され、移動やサイズ調整そして再作成されることができる。
【００３６】
より正確にはコンテナは、設定の集まり、視覚的表現そしてインタラクションと編集動作をもっている。下記はコンテナの定義の全部分である。
【００３７】
コンテナは固定あるいは可変のコンテンツを持つ。可変コンテンツは、データソースから取得することで、異なるドキュメントでは異なる内容になるかもしれない、という意味でダイナミックである。可変コンテンツはアニメーションのように時間的に変化するコンテンツを含むことは印刷に適合していないため意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じに表示される。しかし、可変コンテナのレイアウト動作の影響を受け、固定コンテンツといえども各ドキュメント上での位置は異なるかもしれない。
【００３８】
コンテナは、コンテンツに適用される背景色、ボーダー、フォントスタイルのようなテキスト設定のような装飾機能を持っている。
【００３９】
コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。可変コンテンツはデータソースから取得した特定のデータの表示をおこなう。コンテナのこの表示は例えば印刷されるか、スクリーン１４４上で表示されるか、またはその両方が可能である。
【００４０】
コンテナはユーザインターフェイスを持つ、例えばコンテナの編集そして表示設定のためのインタラクティブなＧＵＩを持つ。インターフェイスの要素は典型的にスクリーン１４４上に表示される、しかしそれらの要素はドキュメント上には印刷されない。ユーザインターフェイス１０３は、背景色やフォントのようなコンテナの装飾機能のいくつかを表示するし、またコンテナの設定の編集や表示を許すためのインターフェイス要素も表示する。
【００４１】
（コンテナ制約）
現在の公表によれば、コンテナはそれぞれのドキュメントで表示されるコンテンツを、どのように結びつけるか制御する制約がある。これらの制約（固定・可変コンテンツをコンテナと結びつけると共に）は、ユーザが一つのドキュメントテンプレートから多数のドキュメントのレイアウトの表出をコントロールする主要な方法である。制約の例は『このコンテナのコンテンツの高さは、最大値４インチ』である。また別の制約の例は『コンテナのコンテンツの左エッジは、どのドキュメントでも同じ水平位置で表示しなければならない』である。以下に記述される内容は、GUIを使ってこのような制約を表示、編集するためのいろいろな方法である。
【００４２】
イメージがページ上に定義された場所を持っているように、固定コンテンツの配置を指定するコンテンツプレイスホルダーは、デジタル印刷技術でよく知られている。下記の検討で、コンテナは位置とサイズを持ち、それらは公知の技術で知られている手法で編集され、表示されると想定してよい。その代わりに、本検討はバリアブルデータ印刷に特化した方法での表示・編集に焦点を合わせる。
【００４３】
コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつものドキュメントのレイアウトを一つのドキュメントテンプレートから生成するため、コンテナは多数のレイアウトの可能性と制約を指定・表示するためのユーザインターフェイスとして利用される。その表示とレイアウト動作については後述する。
【００４４】
（コンテナ表示・編集）
（新規コンテナの作成方法）
コンテナは、テキストコンテナとイメージコンテナの2種類で記述される。テキストコンテナは固定およびあるいはデータベースから受け取る可変のテキストを持つ。イメージコンテナは、埋め込みのイメージあるいはデータベースから受け取る可変のイメージを持つ。
【００４５】
新規テキストコンテナとイメージコンテナは、ウィジット３０５からマウス１３３でクリックして選択するテキストコンテナツール、あるいはイメージコンテナツールによって、四角形の領域をドラッグすることによって、ドキュメントテンプレート３０９上に作成される。
【００４６】
あるいはコンテナは、同様に適切なツールをアクティブにした後に、ドキュメントテンプレート３０９上でクリックすることによって単純に作成されてもかまわない。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスが提供される。あるいは他の案が考えられるかも知れない。
【００４７】
（コンテナの表示方法）
コンテナの辺は、関連付けられたコンテンツがドキュメント内で表示される際の、仮想の境界線を定義するものである。コンテナをユーザインターフェイスとして利用するに際して、例えばコンテナの左辺は、関連付けられたコンテンツがどんなドキュメント内でも表示可能である最も左の辺として扱われる。同様に、コンテナの高さは生成されたドキュメントで関連付けられたコンテンツを表示可能な高さの制限として理解できるであろう。本特許提案では、ユーザインターフェイス１０３を通してコンテナの辺あるいは大きさを変化させることを前提としている。
【００４８】
下記では、コンテンツのレイアウトを制限するために使われるいくつかのユーザインターフェイスとレイアウトの関係のルールを定義している。
【００４９】
もしコンテナの左右の辺が実線なら、コンテナの幅は固定である。コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。しかしコンテナの高さは変わる可能性がある。
【００５０】
もしコンテナの上下の辺が実線なら、コンテナの高さは固定である。もしコンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
【００５１】
もし距離の制約が固定なら、指定された距離は全てのドキュメントで同じになる。
【００５２】
もしコンテナの実線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナによって押され、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【００５３】
『固定』の反対は、辺、位置、あるいはドキュメント制約がドキュメントごとに変化するかもしれないことを意味している『可変』である。可変を実現するためのユーザインターフェイスとレイアウトの関係のルールの例は、例えば以下のようである。
【００５４】
もしコンテナの左右の辺が点線なら、コンテナの幅は可変である。コンテナの幅が可変なら、関連付けられたコンテンツに割り当てられる幅は、ドキュメントごとに変化する。
【００５５】
もしコンテナの上下の辺が点線なら、コンテナの高さは可変である。もしコンテナの高さが可変なら、関連付けられたコンテンツに割り当てられる高さは、ドキュメントごとに変化する。
【００５６】
もし距離の制約が可変なら、指定された距離はドキュメントごとに変化する可能性がある。距離の制約に対する設定により、最大長・最小長の制限の枠内でコンテナの距離を調整するレイアウトを行なうことができる。
【００５７】
もしコンテナの点線辺にコンテナの制約をつなぐと、そのコンテナは制約によってつながれた他のコンテナを押し、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【００５８】
図５は、上記のルールに基づくコンテナの辺の状態の１６通りを示している。一般的に、コンテナの辺の状態はドキュメントテンプレートのデザインの手助けとして表示される要素であるため、印刷物には描画されない。
【００５９】
コンテナの制約として設定される幅・高さの最小値・最大値の設定値は、副次的なダイアログウインドウ３１１に表示される。
【００６０】
図６で、コンテナ６０１は幅が可変である。この場合、辺６０３は実線で表現され、可変の辺６０４は点線で表現される。拡縮アイコン６０５は、隣接する辺６０４が可変であることを示す、オプションのインジケーターである。
【００６１】
図７では、コンテナ６０１は幅・高さ両方が可変である。
【００６２】
図８で、コンテナ６０１も、幅・高さ両方が可変である。
【００６３】
（リンクの設定方法）
図９はリンクの設定方法のＵＩ例を示している。
【００６４】
まず、リンクを設定するためには、リンクを設定するためのコンテナ（最低２つ）を作成する。２つのコンテナを作成してリンクを設定する場合の例を示している。次に、前述したリンクツールを選択した状態にする。図９は、コンテナを作成し、リンクツールが選択されていた状態から、リンクを設定する動作を示している。図９を順に説明していく。
【００６５】
図９の上段の９０１と９０２は、前述した図３の４０７と４０８と同じであり、固定されている辺を意味する。９０３はマウスポインタを意味している。まず、リンクを設定する片方のコンテナをクリックして選択する。次に図９の中段で示されるように、もう片方のコンテナまでマウスポインタを移動して、クリックする。図９の中段の９０４は図１０でクリックをした位置と移動したマウスポインタを結んだ線を示しており、どの位置にリンクが設定されるのかをユーザに示すＵＩである。図９の中段で２度目のクリックが終わった後、設定した場所に９０５で示されるリンクＵＩが表示され、コンテナは図９の下段の状態になる。
【００６６】
９０６は、点線で示されている辺であり、前述した通り可変の辺を示している。このようなデザインでは、左のコンテナ９０１は右方向に可変のサイズをとれる。また右のコンテナ９０２は左方向に可変のサイズをとれる。そのあいだをリンクで接続したことにより、左右のコンテナはその間の距離を保ったまま、相互にサイズを可変に調整するように動作する。
【００６７】
（レイアウト計算方法（全体フロー））
図１０はレイアウト計算のフローを示している。
【００６８】
まず、プレビューモードを選択する（１００１）。前述した自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付けを行い、レイアウトを作成するレイアウトモードと、作成したレイアウトにデータベース上の実データレコードを挿入して、実際にデータ値が挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。プレビューモードは、表示上でのレイアウト計算であるが、印刷する場合においてもまったく同じ処理でレイアウトを計算する。
【００６９】
プレビューモードになったら、プレビューするレコードを選択して挿入する（１００２）。レコードの挿入を行うと、そのレコードをレイアウトするために計算を行う。（１００３）。処理１００３で計算されたレイアウトを表示する（１００４）。プレビューモードで、ユーザの入力によって他のレコードにプレビューを切り替えるかどうかを判断する（１００５）。処理１００５で、他のレコードについてプレビューを行う必要がないと判断した場合は、プレビューモードを終了する（１００７）。他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い、プレビューを行う（１００６）。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。したがって、処理１００５、１００７は存在しない。全てのレコードについて印刷が終了した時点で終了する。
【００７０】
（レイアウト計算方法）
図１１は前述の処理７０３のレイアウト計算の詳細を示したフロー図である。また、図１２はそのときのＵＩ表示例を示した図である。
【００７１】
まず、レイアウトを計算するために関連しあうコンテナの集合を求める（１１００）。レイアウト計算は、リンクによって関連付けられたコンテナを一つの集合として計算を行う。１１００で求めたコンテナの集合から、レイアウトを計算するために一つを選択する（１１０１）。そして、選択したコンテナの集合について、レイアウトの計算を行う。ここでは、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う（１１０２）。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされた結果のサイズとの差が、できる限り同じになるように行われる。レイアウトの最適化を行い、ルールに違反していた場合は、再度ルールを違反しないように計算をする（１１０３）。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制約のことであり、コンテナのサイズと位置、辺の状態、リンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、その集合のレイアウトは完成される。そして、１１０１〜１１０３のステップをページ上のすべての集合について施し、ページ全体のレイアウトを計算する（１１０４）。
【００７２】
図１２はレイアウト計算時のＵＩ例である。
【００７３】
図１２の上段は、あるレコードが挿入されレイアウトが決定されている状態を表している。１２０１と１２０２は固定された辺、１２０３は可変の辺、１２０４と１２０５は可変の辺の変化方向を示している矢印、１２０６はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入する。図１２の中段は図１２の上段の状態に新しいコンテンツのサイズを重ねて示している。１２０７はそれぞれのコンテナに挿入されるコンテンツのサイズを表している。そして、レイアウト計算が行われる。図１２の下段はレイアウト計算された結果を示している。計算後の各コンテナのサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図１２の下段で示されるように、図１２の中段で示した挿入されるコンテンツサイズ（１２０７）と計算後のコンテンツサイズ（１２０８）は、双方において同等な差異がある。
【実施例１】
【００７４】
本発明の実施例について説明する。
【００７５】
図１３は本発明の全体フローを示している。
【００７６】
ユーザはまず、配置したいデータをグループに分ける（１３０１）。分けたグループごとにミニテンプレートを作成する（１３０２〜１３０４）。
【００７７】
図１４に、１３０３にて作成するミニテンプレートの例を示す。
【００７８】
１４０１から１４０４は、ミニテンプレート内に配置するデータを流し込む子コンテナである。
【００７９】
１３０５にて、作成したミニテンプレートを並べて、全体のテンプレートを作成する。
【００８０】
図１５に、１３０５にて作成する全体のテンプレートの例を示す。
【００８１】
１５０１は、図１４に示したミニテンプレートを流し込む親コンテナである。同様に、１５０２、１５０３の親コンテナにも１３０３で作成したミニテンプレートを流し込む。
【００８２】
その後、親コンテナ同士にリンクをはり、可変設定を付加して全体のテンプレートを完成させる。
【００８３】
このとき、親コンテナの設定を自動的に子コンテナに反映させる。
【００８４】
そのため、ユーザは、全体のテンプレートを作成するのに必要な設定を、親コンテナに対して行うだけでよい。
【００８５】
図１６は、親コンテナの設定を子コンテナの設定へ反映させるフローを示している。
【００８６】
子コンテナの全てにおいて（１６０１〜１６０８）、各辺に対して（１６０２〜１６０７）、以下の処理を行う。
【００８７】
まず、親コンテナの同方向の可変設定を確認する（１６０３）。可変設定がONであれば１６０４へ、OFFであれば１６０７へと進む。
【００８８】
１６０４において、辺に可変設定をONにセットする。
【００８９】
１６０５において、他の子コンテナが辺に隣接しているか確認する。隣接してれば１６０６へ、隣接していなければ１６０７へと進む。
【００９０】
１６０６において、隣接する子コンテナの辺に向かって、リンクをはる。
【００９１】
図１７は、図１６のフローに従って親コンテナの設定を子コンテナに反映させた図である。親コンテナ（１４０５）の右辺と下辺は可変設定がＯＮであり、他の２辺は可変設定がＯＦＦである。図１６のフローに従うと、１４０１、１４０２、１４０３、１４０４の４つの子コンテナの右辺と下辺の可変設定がＯＮとなる。
【実施例２】
【００９２】
本発明の実施例２は、親コンテナの対辺同士が固定である場合に、間に存在する子コンテナ同士の幅調整が可能なよう、可変設定を行うものである。
【００９３】
図１８は、本発明の第２の実施形態における親コンテナの設定を子コンテナの設定へ反映させるフローを示している。
【００９４】
１８００において、子コンテナの各辺のフラグを初期化する。
【００９５】
１８０１では、第１の実施形態における親子コンテナの設定反映処理（図１６）を行う。
【００９６】
親コンテナの２組の対辺において（１８０２〜１８０８）、一辺の可変設定を確認する（１８０３）。可変設定がＯＦＦであれば１８０４へ、ＯＮであれば１８０８へと進む。
【００９７】
１８０４では、１８０３にて可変設定を確認した辺の対辺の可変設定を確認する。可変設定がＯＦＦであれば１８０５へ、ＯＮであれば１８０８へと進む。
【００９８】
間にある子コンテナの全てにおいて（１８０５〜１８０７）、１８０３および１８０４にて可変設定がＯＦＦであることを確認した辺と同方向の２辺にフラグを立てる。
【００９９】
図１９は、図１８のフローに従ってフラグを立てた各辺を太線で表示した図である。親コンテナ（１４０５）の右の辺は可変設定がＯＮであり、他の３辺は可変設定がＯＦＦである。図１７のフローに従うと、１４０１の下辺、１４０２の上下の辺、１４０３の下辺、１４０４の上辺にフラグが立つ。フラグが立っているこれらの辺を太字で示すことにより、下辺設定がＯＮの場合と、ＯＦＦの場合の両方を考えられる辺をユーザにわかりやすく示している。ユーザはこれらのコンテナに注目し、手動で可変設定を行うことができる。
【図面の簡単な説明】
【０１００】
【図１】本発明の全体システム構成図
【図２】本発明のコンピュータシステム構成図
【図３】本発明のコンピュータモジュールの概略図
【図４】本発明のメニューバー、ツールバー、ワークエリア、フローティングパレットを含む典型的なアプリケーションのメインウインドウとコンテナ間のリンクを持つ典型的なコンテナの一面
【図５】本発明のインターフェイスの一例によるコンテナの表現の１６パターン
【図６】本発明の典型的なコンテナルールその１
【図７】本発明の典型的なコンテナルールその２
【図８】本発明の典型的なコンテナルールその３
【図９】本発明のリンクを作成するＵＩ図例
【図１０】本発明におけるレイアウト計算のフロー
【図１１】図１０のフローのレイアウト計算１００３のフロー
【図１２】本発明における図１０のフローに対応するＵＩ例
【図１３】本発明実施例１における全体フロー
【図１４】本発明実施例１における図１３のミニテンプレート作成１３０３の説明ＵＩ
【図１５】本発明実施例１における図１３のテンプレート作成１３０５に対応するＵＩの例
【図１６】本発明実施例１における、親コンテナから子コンテナへの設定反映のフロー
【図１７】本発明実施例１における図１６のフローに対応するＵＩの例
【図１８】本発明実施例２における、親コンテナから子コンテナへの設定反映のフロー
【図１９】本発明実施例２における図１８のフローに対応するＵＩの例
【符号の説明】
【０１０１】
１０１  汎用コンピュータモジュール
１０３  ユーザインタフェース
１０５  レイアウトエンジン
１１９  データベース
１２１  レイアウトアプリケーションプログラム
１３２  キーボード
１３３  マウス
１４３  Ｉ／Ｏインタフェース
１４４  ビデオディスプレイ
３０１  アプリケーションウインドウ
３０３  ツールバー
３１３  カーソル/ポインタデバイス
４０１、４０２  コンテナ
４０３  固定されていない辺
４０４  リンク
【図１】
2010176366.tif 000003
【図２】
2010176366.tif 000004
【図３】
2010176366.tif 000005
【図４】
2010176366.tif 000006
【図５】
2010176366.tif 000007
【図６】
2010176366.tif 000008
【図７】
2010176366.tif 000009
【図８】
2010176366.tif 000010
【図９】
2010176366.tif 000011
【図１０】
2010176366.tif 000012
【図１１】
2010176366.tif 000013
【図１２】
2010176366.tif 000014
【図１３】
2010176366.tif 000015
【図１４】
2010176366.tif 000016
【図１５】
2010176366.tif 000017
【図１６】
2010176366.tif 000018
【図１７】
2010176366.tif 000019
【図１８】
2010176366.tif 000020
【図１９】
2010176366.tif 000021