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