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