JP4241647B2 - レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム - Google Patents

レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム Download PDF

Info

Publication number
JP4241647B2
JP4241647B2 JP2005061064A JP2005061064A JP4241647B2 JP 4241647 B2 JP4241647 B2 JP 4241647B2 JP 2005061064 A JP2005061064 A JP 2005061064A JP 2005061064 A JP2005061064 A JP 2005061064A JP 4241647 B2 JP4241647 B2 JP 4241647B2
Authority
JP
Japan
Prior art keywords
partial display
container
overlap
display area
layout
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005061064A
Other languages
English (en)
Other versions
JP2006244276A (ja
JP2006244276A5 (ja
Inventor
利彦 細坪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005061064A priority Critical patent/JP4241647B2/ja
Priority to US11/359,959 priority patent/US7900139B2/en
Priority to CN2006100578981A priority patent/CN100407125C/zh
Publication of JP2006244276A publication Critical patent/JP2006244276A/ja
Publication of JP2006244276A5 publication Critical patent/JP2006244276A5/ja
Application granted granted Critical
Publication of JP4241647B2 publication Critical patent/JP4241647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、テキストやイメージで構成されたドキュメントの生成、編集、そして印刷のためのレイアウトを動的に制御する技術に関するものであり、更に詳しくは、バリアブルデータドキュメントの生成、編集、そして印刷に好適なものである。
近年、商品の多品種化で商品ライフサイクルが短くなっていること、インターネットの普及により、これを利用した消費者のカスタマイズサービス指向が強くなっていることなどの要因からCRM(Customer Relationship Management)、One-to-Oneマーケティングの必要性が注目されている。これらの手法は顧客満足度を高め、顧客の開拓や囲い込みを目指すものである。
One-to-Oneマーケティングはデータベース・マーケティングの一種で、顧客の年齢、性別、趣味、嗜好、購買履歴等の個人属性情報をデータベース化し、その内容を分析、顧客のニーズに合った提案を行うものであり、その代表的な手法としてバリアブルプリントが挙げられる。最近ではDTP(デスクトップパブリッシング)技術の進展とデジタル印刷装置の普及に伴って、文書を顧客毎にカスタマイズして出力するバリアブルプリントシステムが開発され、顧客毎に異なる情報量のコンテンツを最適にレイアウトして表示することが求められるようになった。
従来におけるバリアブルプリントシステムは、ドキュメント上に情報を表示する領域としてコンテナ(帳票フォームではフィールド領域とも呼ばれる)等をレイアウトして、データベースとコンテナとを関連付けることによりレイアウト表示を達成していた。
しかし、テキストおよびイメージが貼り付けられる部分表示領域であるコンテナのサイズが固定であったため、データベース内のデータがコンテナに挿入されたときに、データ量がコンテナサイズより多いとテキストのオーバーラップやイメージのクリッピングが発生し、またデータ量がコンテナサイズより小さいとコンテナ内に隙間が空いてしまい、いずれの場合でも表示しようとするテキストやイメージの情報量に応じた最適なレイアウト表示を実現することはできなかった。
その問題を解決するために、情報量に応じてコンテナサイズを可変にする自動レイアウトシステムが提案されている。この自動レイアウトシステムはテキストおよびイメージのコンテナサイズを可変に設定することが可能である。この自動レイアウトシステムにおいて、コンテナのサイズを可変とし、差し込まれるデータ量に応じてコンテナのサイズを大きくするよう変更することができる。また、テキストの場合において固定のコンテナサイズ内に入りきらないデータが挿入された場合、テキストのフォントサイズを縮小し、コンテナ内に全てのテキストを表示する技術も存在する。
しかし、コンテナのサイズを大きくした場合、ドキュメント上の他のコンテナに重なってしまうという問題が生じる。またフォントサイズを調節する場合はテキストの量が多い場合、フォントサイズが小さくなりすぎるという問題も生じる。これらの問題を解決するために、さらなる自動レイアウトの技術として、あるコンテナのサイズが大きくなった場合、このコンテナに隣接する他のコンテナのサイズを小さくする技術が特許文献1の「レイアウトデザイン装置」に開示されている。
特開平11−316792号公報
しかしながら、上述した特許文献1には、テキストの入力に応じてコンテナサイズが拡大されていくことが記載されているが、コンテナのサイズが大きくなった場合、隣接したコンテナは間隔を保つべく縮小されてしまうため、入力されるテキスト量が増加するに従い、隣接したコンテナは縮小され続けてしまうといった問題点があった。
更に特許文献1では、上述したようなデータベースと各コンテナを関連付けてコンテンツデータを流し込むことで、顧客毎にカスタマイズした文書を作成するバリアブルプリントシステムについては考慮されていなかった。
また、バリアブルデータプリントを考慮したレイアウト方法として、固定のコンテナを作成し、そこにコンテンツデータを流し込んでいくものがある。しかし、固定サイズのコンテナを用いる場合、コンテナサイズより大きいサイズのコンテンツデータが流し込まれると、オーバーフローが生じてしまったり、フォントサイズを縮小して無理に流し込もうとするとフォントサイズが極端に小さくなってしまうといった問題が生じてしまう。また、流し込まれるコンテンツデータのサイズに応じてコンテナのサイズを拡大または縮小させることが考えられるが、複数のコンテナが関連付けられた状態で、一方のコンテナサイズが拡大された場合、関連付けられているコンテナは一方のコンテナサイズの拡大に伴って縮小するしかなくコンテナ間のサイズバランスを考慮したレイアウト処理を行うことができない。
そこで、関連付けられた複数のコンテナ間のサイズバランスを考慮したレイアウト方法として、各コンテナに流し込まれるコンテンツデータのサイズに応じて各コンテナのサイズを変更する場合、各コンテナサイズの変化量を調整したレイアウト処理を行うことで関連付けられたコンテナはサイズバランスを考慮したレイアウト処理が可能なる。しかしながら、上述のレイアウト処理方法は、関連付けられたコンテナ同士のレイアウトを調整することは可能であるが、関連付けられなかったコンテナ間ではレイアウト調整が行われない。例えば、テンプレート上に2つのコンテナAおよびコンテナBが配置されており、両者が関連付けられていないとする。この状況において、コンテナAおよびコンテナBにサイズの大きなコンテンツデータが流し込まれた場合、コンテナAおよびコンテナBの間でレイアウト調整を行うことなく、コンテンツデータが収まるまで両コンテナのサイズが拡大されるため、最終的にはコンテナ同士が重なるといった問題が生じてしまう。
また、ユーザがコンテナの重なりを防止するために、コンテナの間を関連付けて、コンテナ間の間隔を保つようにしても、かえって、レイアウトの動的変化の要素を増やしてしまってレイアウトの動的変化が予測しづらくなるという問題も生じるだけでなく、まったく関連性のないコンテンツデータが流し込まれるコンテナ同士がレイアウト調整を行うため、顧客に対して関連性があるかのように誤認させてしまう可能性もある。更に、コンテナ同士を関連付け要素が増加するに従い、多くの要素を考慮してレイアウト調整を行わなければならないため、最適なレイアウト調整が行われず、所望のレイアウトが得られないという問題も生じ得る。
本発明は上記の課題に鑑みてなされたものであり、データを収めたコンテナ(部分表示領域)の重なりをレイアウト編集時において判定し、重なりを禁止する部分表示領域、重なりを許容する部分表示領域をレイアウト編集時にそれぞれ設定することで、ユーザの所望するレイアウトを効率的に実現するレイアウト制御技術を提供することを目的とする。
上記目的を達成するために、本発明に係るレイアウト制御装置は主として以下の構成を有することを特徴とする。
すなわち、レイアウト制御装置は、
コンテンツデータを収めるための部分表示領域を配置する配置手段と、
前記配置手段によって配置された前記部分表示領域に設定されている当該部分表示領域のサイズの制限情報に基づいて前記部分表示領域の可動領域を導出、 前記導出された当該可動領域から、前記部分表示領域に割り当てられるコンテンツデータによって当該部分表示領域のサイズが変更されることにより当該部分表示領域がページ上に配置されている他の部分表示領域と重なる可能性があるか否かを前記コンテンツデータが前記部分表示領域に割り当てられる前に予測する予測手段と、
前記予測手段の予測により当該部分表示領域が他の部分表示領域と重なる可能性があると予測された場合、重なる可能性があると予測された前記部分表示領域と他の部分表示領域との間に重なりを防止するための重なり防止リンクを設定して表示する防止リンク表示手段とを有し、
前記予測手段は、前記部分表示領域に設定されているサイズの制限情報としての最大値および最小値と他の部分表示領域とに設定されているサイズの制限情報としての最大値および最小値とに基づいて当該部分表示領域と他の部分表示領域の可動領域を導出し、
前記部分表示領域の可動領域と前記他の部分表示領域の可動領域とに基づいて、当該部分表示領域と当該他の部分表示領域とが重なる可能性があるか否かを予測することを特徴とする。
あるいは、割り当てられたデータを収め、当該データをページ上にレイアウトする複数の部分表示領域の配置を制御するレイアウト制御装置は、割り当てられたデータを収めるための前記各部分表示領域の可動領域を算出し、当該可動領域から前記部分表示領域が前記ページ上に配置されている他のオブジェクトとの間に重なりが生じるか予測する予測手段と、前記予測手段の予測により、前記部分表示領域が他のオブジェクトと重なると予測される場合、前記部分表示領域に対して重なりを許容するか否かを設定入力するための設定入力手段と、前記設定入力手段により重なりを許容する設定が入力された場合、前記部分表示領域に対して表示順序を設定する表示順序設定手段と、前記部分表示領域に割り当てられたデータを収めることに応じて、他のオブジェクトとの間に重なりが生じた場合、前記表示順序に従って部分表示領域を表示する表示制御手段を有することを特徴とする。
本発明によれば、データを収めた部分表示領域の重なりをレイアウト編集時に事前に把握し、重なりを禁止する部分表示領域、重なりを許容する部分表示領域をレイアウト編集時に設定することで、ユーザの所望するレイアウトを効率的に実現することが可能になる。
本発明の好適な実施形態について添付図面を参照しつつ説明する。
(システム構成図)
図1Aはコンテナサイズを可変に設定してドキュメント(バリアブルデータドキュメント)を印刷するシステム100を図示している。このシステムにおいて実行するコンテナサイズの制御、コンテナ間のリンク設定、コンテナレイアウトの編集は図1Bで詳しく説明されるホストコンピュータ101の制御の下に実行される。図6で記述されるプロセスは、レイアウト制御装置であるホストコンピュータ101内で実行され、システム100上で実行可能となるレイアウト編集アプリケーションプログラム121(本発明のレイアウト制御プログラム)のようにソフトウェアの全体、あるいはその一部分で実行される。特にレイアウト編集や印刷のステップはホストコンピュータ101によるソフトウェアによって実行される。
ソフトウェアは、例えば、以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からホストコンピュータにロードされ、実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラム、あるいはそのプログラムを格納するコンピュータの可読媒体は、コンピュータと協働したドキュメントのレイアウト編集やバリアブルデータ印刷に必要な演算処理や表示制御、レイアウト制御、コンテンツに関する情報処理を実行する手段としてコンピュータの機能を特定する。
図1Bに示すようにホストコンピュータ101はキーボード132やマウス133のようなポインティングデバイスなどの入力装置、ディスプレイ装置144や状況に応じてローカルプリンタ145を含む出力装置と接続する。入力/出力(I/O)インターフェース138はホストコンピュータ101をネットワーク107に接続してシステム100を他のコンピュータ装置(例えば、データベースサーバ117)に接続することができる。そのネットワーク107の典型はローカルエリアネットワーク(LAN)、あるいはワイドエリアネットワーク(WAN)である。
ホストコンピュータ101は典型的に少なくとも1つのプロセッサユニット135、例えば半導体のランダムアクセスメモリ(RAM)やリードオンリーメモリ(ROM)から構成されるメモリユニット136、ビデオインターフェース137を含むINPUT/OUTPUT(I/O)インターフェース、キーボード132やマウス133のためのI/Oインターフェース143を含んでいる。記憶装置139はハードディスクドライブ140やフロッピー(登録商標)ディスクドライブ141を含んでいる。ここでは図示されていないが磁気テープドライブもまた記憶装置として使用することができる。
上述のハードウエア構成及びソフトウェア構成の組み合わせにより、レイアウト制御装置の構成が実現する。
割り当てられたデータを収めるための前記部分表示領域の可動領域を算出し、割り当てられたデータ(テキストデータやイメージデータを含む)を収め、データをページ上にレイアウトする複数の部分表示領域(コンテナ)の配置を制御するレイアウト制御装置は、割り当てられたデータを収めるための部分表示領域(コンテナ)の可動領域を算出し、可動領域から部分表示領域(コンテナ)がページ上に配置されている他のオブジェクトと重なるかを予測する予測ユニットと、予測ユニットの予測により、重なると予測された部分表示領域(コンテナ)と他のオブジェクトとの間に重なりを防止するための重なり防止リンクを設定して表示する防止リンク表示ユニットを備える。
CD−ROMドライブ142は不揮発性のデータソースとして提供される。ホストコンピュータ101はGNU/LINUXやマイクロソフトウィンドウズ(登録商標)のようなオペレーションシステムや、典型的にはオペレーションシステムに従い形成されたコンピュータシステムのオペレーションによって、相互接続バス134を介して通信を行うホストコンピュータ101のプロセッサユニット135からI/Oインターフェース143を利用することができる。図1Aに示したホストコンピュータ101を含んだシステムの例としては、IBM互換PCやSUN のSparcstation、あるいはそれらを含んだコンピュータシステムが考えられる。
レイアウト編集アプリケーション121は典型的にはハードディスクドライブ140に常駐し、プロセッサユニット135により読み出され、実行される。プログラム121を記憶する記憶装置139とネットワーク107からフェッチされるデータはハードディスクドライブ140、またはこれに呼応してメモリユニット136が使用され、アプリケーションプログラム121がCD−ROMやフロッピー(登録商標)ディスク上でエンコードされ、対応するCD−ROMドライブ142やFDD141を通じて読み込まれユーザに提供される。
あるいはもう一つの方法としてアプリケーションプログラム121はネットワーク107からユーザによってインストールするようにしてもよい。さらにソフトウェアは磁気テープまたはROMまたは集積回路、光磁気ディスクまたは無線またはホストコンピュータ101とその他のデバイス間の赤外線通信、PCMCIAカードのようなコンピュータ可読カード、そしてEメール通信やWEBサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からホストコンピュータ101内にロードすることもできる。但し、これらのコンピュータ可読媒体は、単に関連するコンピュータ可読媒体の規範であり、媒体の種類がこれらに限定される趣旨ではなく、他のコンピュータ可読媒体も使用することも可能である。
また、レイアウト編集と名づけられたアプリケーション121はバリアブルデータ印刷(VDP)を行うためのプログラムモジュールであり、2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのモジュールは、レイアウトエンジンモジュール105であり、これはデータが流し込まれる部分表示領域であるコンテナ(矩形の範囲)のサイズや位置の制限に従ってデータベース119に格納されているバリアブルデータから1レコードずつ読み込み、読み込んだデータとコンテナの制限とから、読み込んだデータが流し込まれるコンテナの大きさや位置等を計算するためのソフトウェアモジュールである。レイアウトエンジン105は各部分表示領域(コンテナ)のサイズと位置を決定するアプリケーションとして動作し、図示省略したプリンタドライバに描画情報を出力することで、プリンタドライバがバリアブルデータドキュメントのイメージ描画処理を行い、印刷データを生成する。
2つめのモジュールであるユーザインターフェースモジュール103はユーザにドキュメントテンプレートを作成させ、ドキュメントテンプレート内でデータソースとコンテナとを関連付けるメカニズムを提供するモジュールである。ユーザインターフェースモジュール103とレイアウトエンジンモジュール105はコミュニケーションチャネル123を介して通信することが可能である。ドキュメント作成のためのデータソースはデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ117上にあるデータベース119に格納されている。ホストコンピュータ101はネットワーク107との接続を介してデータベースサーバ117と通信することができる。バリアブルデータ印刷を実行する場合、レイアウト編集アプリケーション121はホストコンピュータ101か、若しくは他のコンピュータで構成されるファイルサーバ115に保存されるドキュメントテンプレートを生成する。またレイアウト編集アプリケーション121はデータとマージされたドキュメントテンプレートによって構成されたドキュメントを生成する。これらのドキュメントはホストコンピュータ101の記憶装置139に保存されるか、ファイルサーバ115に保存されるか、あるいはプリンタ113に直接印刷される。
プリントサーバ109は直接ネットワークに接続していないプリンタ113にネットワーク機能を提供するコンピュータである。プリントサーバ109とプリンタ113は典型的な通信チャネル111を介して接続する。
図2はレイアウトエンジンモジュール105をホストコンピュータ101の他にエンジンサーバ227にもレイアウトエンジン225を設けた構成を示す図である。エンジンサーバ227は典型的なコンピュータにより構成され、ファイルサーバ115に保存されたドキュメントテンプレートは印刷や他の目的がある際、レイアウトエンジン225によってドキュメントを生成するためにデータベース119に保存されたデータと結合することができる。そのようなオペレーションはユーザインターフェースモジュール103の制御の下、ユーザインターフェース(UI)画面を介して入力され、特定のレコードのみ印刷するように設定することができる。
(アプリケーション構成図)
(メインウインドウ)
図3で示されるアプリケーションウィンドウ301は、ユーザインターフェースモジュール103(図1A)によって、操作時にディスプレイ装置144に表示される。アプリケーションウィンドウ301は、非表示にすることや、スクリーン上の色々な場所に移動することが可能なメニューバー302とツールバー303、そしてマウス133の位置・動作によって場所を移動可能なワークエリア306とオプションのパレット311とカーソル/ポインタデバイス313を有しており、これらにより特徴付けされる。
メニューバー302は、周知の技術として知られているように、メニューオプションの階層の下に拡張される多くのメニューアイテム304を有し、ツールバー303は、アプリケーションの特別なモードによって非表示にしたり、または表示することが可能な多くのツールボタン305を有する。オプションのルーラー308はワークエリア内のポインター、ページ、ライン、マージンガイド、コンテナまたはオブジェクトの位置を示すために使われる。パレット311はバリアブルデータライブラリのような追加機能にアクセスするために使われる。パレット311は移動、リサイズ、クローズをするためのウインドウコントロール機能を提供するボタン312を有する。パレット311の表示はオプションで、ワークエリアの前面に表示することもでき、あるいは背面に隠すこともできる。また、このパレット311に対する表示制御は、アプリケーションウィンドウ301の範囲内のみに制限したり、あるいはアプリケーションウィンドウ301の外側に部分的、あるいはその全体を表示するようにすることもできる。
ツールバーエリア303には少なくとも、ユーザによる選択が可能な「ボタン」(403〜406)を備える(例えば、図4を参照)。以下、ボタン403〜406を説明する。
選択ツールボタン403は、コンテナの辺を選択、移動、サイズ変更、そしてコンテナのロック(固定)、あるいはロック解除をするために使われる。コンテナは、複数のコンテナの周りをドラッグする、あるいは複数コンテナを選択する間にCTRLキーを押しつづけることによって、複数のコンテナの選択を可能にする。
テキストコンテナツールボタン404は、スタティック或いはバリアブルテキストを持つコンテナを作成するために使われる。
イメージコンテナツールボタン405は、スタティック或いはバリアブルイメージを持つコンテナを作成するために使われる。
リンクツールボタン406は、コンテナ間に関連付けを行うリンクを作成するために使われ、リンクの距離をコントロールするためにも使われる。
これらのボタンは、周知の技術であるように操作状況に合わせて変化するアイコンとして実装される。
図3に示したレイアウト編集アプリケーション121のアプリケーションウィンドウ301は、ページ内に各コンテナやリンクをレイアウトすることで、基本レイアウトを決定することができる。基本レイアウトとは、バリアブルデータプリントで基本となるレイアウトのことである。基本レイアウト内の全てのコンテナが固定コンテナである場合は、全レコードの印刷結果のレイアウトは同じになる。また、基本レイアウト内の各コンテナが後述する可変コンテナである場合は、レコード単位に読み込まれるデータの量やサイズにより各コンテナのサイズや位置が、後述する制約の範囲内で変動することになる。よって、レイアウト編集アプリケーション121で作成されるドキュメントテンプレートは、あくまで基本レイアウトを決定するものであり、可変コンテナが含まれる場合は、最終的な印刷物のレイアウトは読み込まれるデータによりレイアウトが調整されることになる。
(ドキュメントテンプレート)
図3に示したワークエリア306はドキュメントテンプレートのデザインを表示・編集するために使用される。これはユーザに下準備で印刷されたドキュメントの概観をデザインすること、そしてマージされたドキュメントが、バリアブルデータの量やサイズに基づいてどのように変化するかを理解させることができる。外部のデータベースがテンプレートにリンクされている場合には、現在のドキュメントのプレビューができるように、バリアブルテキストとイメージをそれらのコンテナに表示することができる。ドキュメントの構造とバリアブルデータコンテナの表示は、カーソルをコンテナ上に移動させたときや、コンテナを選択したときにいつも表示するようにすることができる。
ワークエリア306はスクロールバー307とオプションのルーラー308とドキュメントテンプレート309により特徴付けられる。ドキュメントテンプレート309はページが複数あることを示すことができる。与えられたドキュメントテンプレートのページサイズは、周知の技術としてユーザによって指定される。例えばメニューの「ファイル」から「ページ設定」を選択することでページサイズを設定するダイアログを表示し、そこでユーザが指定したページサイズが反映されることになる。それぞれのドキュメントにおける実際のページ数は、バリアブルデータによって変化する可能性があり、もし1ページ内にバリアブルデータを収めることができず、所定の用紙サイズのページに各コンテナを収めるような制約が基本レイアウトになかった場合には、追加のページは自動的に作成される。所定の用紙サイズのページに各コンテナを収めるように制約(後述するアンカーアイコン等により設定可能である)が基本レイアウトに設定されている場合は、ページ内で各コンテナがお互いに押したり押されたりしながら、各コンテナサイズと位置が決定され、必要に応じて流し込まれるバリアブルデータが縮小され、レコード毎に動的にレイアウトが決定される。
図3において破線で示されるページ内の境界線は、ページ上の印刷可能なオブジェクトの最大幅を示すものであり、任意に設定することが可能なページマージン310である。また、図4は1ページのドキュメントテンプレート309上に表示することが可能なオブジェクトの例を示す図であり、図4では複数のコンテナ407及び408が示されており、コンテナの辺414の位置を固定するアンカーアイコン409と固定されていない辺410、リンク412そしてスライダー413によりコンテナ間の相互の関係が規定されている。アンカーアイコン409は、コンテナの矩形の角、辺、またはコンテナの中央に設定することが可能である。アンカーアイコン409が設定されると、設定された個所の位置が固定となる。つまり、図4の例では、アンカーアイコン409は、コンテナ407の左上の角に設定されているため、コンテナ407はバリアブルデータが流し込まれ、バリアブルデータの画像サイズもしくはテキスト量が多い場合に、右方向及び下方向に拡大可能であることを示している。アンカーアイコン409が辺に設定されている場合は、その辺が固定となり、その他の3辺の各方向に拡大可能である。
また、アンカーアイコン409がコンテナの中央に設定されている場合は、コンテナの中央位置が固定となり、コンテナ矩形の中央位置が変わらないように、4方向に拡大可能である。リンク412の詳細は後述するが、コンテナ407とコンテナ408が関連付けられていることを示しており、このリンクに設定されている長さ(リンクが後述する可変リンクの場合、リンクの長さの範囲指定が可能)を保ちつつ、コンテナ408が右方向に移動可能であることを示している。スライダー413は、設定されている辺と水平方向に移動可能であることを示している。
(コンテナ)
ここで、コンテナについて説明する。コンテナは、ドキュメントテンプレート内にバリアブルデータファイルから固定(静的)あるいは可変のテキスト/イメージがレコード単位に流し込まれ、描画されるスペース(これを部分表示領域と呼ぶ)であり、図4に示されるように他のコンテナやオブジェクトと共にレイアウトされる。ユーザインターフェース画面を介して、ユーザからの操作指示により、コンテナはマウス133の操作により移動、サイズ調整、再作成される。なお、本願明細書では、テキストデータまたはイメージデータといったコンテンツデータが流し込まれる領域であるコンテナのことを部分表示領域と記載する場合がある。
コンテナは、アンカーアイコン409、リンク412、スライダー413によりコンテナの変形に関する拘束条件が規定されている。テキストやイメージデータの情報量に応じてその変形が許容されている方向にコンテナスペースの変形が制御されて、テキストデータやイメージデータがそのコンテナ内にレイアウトされる。2つのコンテナに関して相互に変形が必要となる場合、各コンテナに収納するべきテキストデータやイメージデータの量に応じて、相互のコンテナの変形がバランスよく変形するように(各コンテナにストレスの無い状態)に各コンテナの形状が制御される。
コンテナはポインティングデバイスとしてのマウス133の動作によりワークエリア306内の位置が特定され(図3の313)、ユーザインターフェースとしての画面内(図3)で移動、サイズ調整が施され、新たなコンテナを追加することも可能である。コンテナは、アンカーアイコンや、リンクそしてスライダーによりコンテナ間相互の関係等の変形に関する種々の条件が設定され、コンテンツを表示する視覚的表現、そしてコンテナ間のインタラクションとコンテナ内の情報の編集機能を有している。ここで、コンテナを定義すると以下のようになる。
(1)コンテナは固定(静的)あるいは可変(バリアブル)のコンテンツが入力され、可変コンテンツは、データソースからデータをとってきて、異なるドキュメントでは異なるデータに応じてコンテナサイズを可変するという意味でダイナミック(動的)である。可変コンテンツはアニメーション化されたもの、あるいは他の方法で時間を変更するコンテンツを含むことは印刷に適合していないため意図していない。同様に、固定コンテンツはコンテナを使って生成される全てのドキュメントで、同じように表示される。けれども、可変コンテンツとリンクが設定されている場合、可変コンテナの動作によって、固定コンテンツはそれぞれのドキュメントで表示位置が異なるように表示制御される。
(2)コンテナは、コンテンツに適用される背景色、ボーダー、フォント・スタイルのようなテキスト設定のような装飾機能を持っている。このような設定をコンテナ属性と呼ぶ。コンテナ属性は、コンテナごとに設定可能であるが、あるコンテナと同じコンテナ属性であるという設定を行うことも可能である。
(3)コンテナはドキュメントを生成したときにデータソースからのデータとマージされる。装飾機能は、どんな固定コンテンツでもそうであるように、典型的に印刷された出力物に対して反映され、装飾が反映された結果は可視化される。可変コンテンツはデータソースから特定のデータの表示をもたらす。すなわち、その特定のデータに対して、コンテナに設定されている条件に従い、コンテナのサイズが可変に設定される。可変に設定されたコンテナのレイアウト、およびコンテナ内の特定のデータ表現は、例えば、プリンタ113を介して印刷されるか、ディスプレイ装置144上で表示されるか、その両方により処理することが可能である。
(4)コンテナの設定に関し、システムはユーザインターフェースモジュール103を備え、例えば、コンテナの編集そして表示設定のためのインタラクティブなグラフィカルユーザインターフェース(GUI)を有する。そして、ユーザインターフェースの要素はディスプレイ装置144上に表示される。しかしドキュメントは印刷されない。ユーザインターフェースモジュール103は、背景色やフォントのようなコンテナに関する装飾機能のいくつかをインターフェース画面上に表示させ、これらの装飾機能をコンテナの設定、編集、コンテナ表示に追加することができる。
(5)更に、ユーザインターフェースモジュール103による設定の例としては、コンテナ間のボーダー、あるいは、コンテナのサイズや位置を対話的に変更、表示するためにコンテナに設定するコーナー部のアイコンや、あるいはデータソースからデータをマージしたとき、コンテナの動作(例えば、上塗りした数、線、アイコンの設定、テキストの編集)を設定する。
(コンテナに対する制約)
コンテナはそれぞれのドキュメントにおけるコンテンツの内容を表示するために、コンテナをコンテンツと結びつけて表示制御、レイアウト制御するための制約がある。これらの制約(固定・可変コンテンツをコンテナと結びつけること)は、ユーザが一つのドキュメントテンプレートから多数のドキュメントをコントロールする主要な方法である。制約の例は、たとえば、コンテナのコンテンツの高さは、最大値4インチとするような制約が挙げられる。もうひとつの制約としては、コンテナのコンテンツの左エッジは、それぞれのドキュメントで同じ水平位置で表示しなければならないとするような制約である。ここに記述される内容は、GUIを使ってこのような制約を表示、編集のために設定することが可能である。
イメージがページ上に定義された位置を持っているように、コンテンツの配置もその位置が特定される。コンテナは位置とサイズを持ち、それらはバリアブルデータ印刷において、コンテナ内に挿入されるコンテンツの内容に応じてコンテナのレイアウトが設定された条件の下、コンテンツの内容を表示・編集することを可能にする。コンテナは、ユーザにドキュメントのコンテンツのサイズ・位置を指定することを可能にする。いくつかのドキュメントは一つのドキュメントテンプレートから生成されるので、コンテナはユーザインターフェースモジュール103により与えられるコンテナに対する制約を指定することができる。
1つのコンテナを構成する辺は、関連付けられたコンテンツがドキュメント内で表示される仮想の境界線を定義する。たとえば、矩形のコンテナの左辺は、関連付けられたコンテンツが配置される左側の位置を与え、同様に、コンテナの高さは生成されたドキュメントに関連付けられたコンテンツの高さの制約を与える。
以下の記載において、コンテンツの表示を制限するために使われるある値を定義している用語『固定』は、全てのドキュメントで同じである。
(1)コンテナの幅が固定なら、関連付けられたコンテンツに割り当てられる幅は、全てのドキュメントで同じになる。
(2)コンテナの高さが固定なら、関連付けられたコンテンツに割り当てられる高さは、全てのドキュメントで同じになる。
(3)距離の制約が固定なら、指定された距離は全てのドキュメントの制約となる。
(4)コンテナの左右辺が固定の場合、コンテナの高さあるいは垂直方向の位置は、コンテンツを完全にコンテナ内に収容するために、コンテナサイズは変形が許容されている高さ方向あるいは垂直方向に変えることが可能である。
(5)コンテナの上下辺が固定の場合、コンテナの幅あるいは水平位置は、コンテンツを完全にコンテナ内に収容するために、コンテナサイズは変形が許容されている幅方向あるいは水平方向に変えることが可能である。
(6)コンテナの垂直軸はコンテナの右と左辺の平行で、そして中間に位置される想像上の垂直線である。もしコンテナの垂直軸が固定なら、コンテナの左右辺の水平位置の平均は、すべてのドキュメントで同じである。この制約で、コンテナの幅は変化するかもしれない、左右辺両方が異なったドキュメントで、垂直軸にもっとも遠いかもっとも近いかもしれない、しかし軸は全てのドキュメントで同じ水平位置にある。コンテナの高さと水平位置はこの制約によって影響されない。
(7)同様に、もし水平軸が固定なら、コンテナの上そして下辺が垂直に位置されることを制約する、けれども高さは、この制約によって影響されない。
(8)水平、垂直軸両方が固定なら、コンテナの中心位置が固定されていることを意味する、しかし、幅・高さはこの制約によって影響されない。
(9)コンテナの角、コンテナの辺の中間位置、あるいはコンテナの中心位置が固定なら、すべてのドキュメントで同じ場所で、そしてコンテナに関連付けられた同じ場所で表示される。例えば、もしコンテナの左上角が固定なら、配置されたコンテナの左上位置が全てのドキュメントで同じになることを意味している。
(10)垂直辺あるいは垂直軸は、ページの左辺もしくは右辺、あるいは左ページマージンもしくは右ページマージン、あるいは他の水平位置に関連付けされて固定することができる。同様に、水平辺あるいは水平軸はページの上辺もしくは下辺、あるいは上下ページマージン、あるいは他の垂直位置に関連付けされて固定することができる。
「固定」の反対は、コンテナの辺、軸、角、中間位置、あるいはドキュメント制約がドキュメント間(レコード間)で変化するかもしれないことを意味する「可変」である。例えば、ページ内では、バリアブルデータのサイズや量により、動的にレイアウトが変更されることを期待するが、特定のコンテナについては、大きさや位置を固定したり、また、ページの角のコンテナの四隅は固定にしたいということを所望する場合がある。そのため、本レイアウト編集アプリケーション121では、各コンテナ(部分表示領域)について、辺、軸、角、中間位置等を固定にするか、可変にするかを適宜設定できるようにした。これにより、ユーザはドキュメントテンプレート180の基本レイアウトを決定する場合に、ユーザが所望とするように基本レイアウトを作成することができる。
(コンテナ表示・編集)
(新規コンテナの作成方法)
コンテナは、テキストコンテナとイメージコンテナの2種類ある。テキストコンテナはテキスト、そして埋め込みのイメージを持つ(収納する)。イメージコンテナは、イメージだけを持つ(収納する)。図4で参照されるように、新規テキストコンテナとイメージコンテナは、テキストコンテナツール404、あるいはイメージコンテナツール405をマウス133でクリックし、テンプレート309に四角形をドラッグすることによって、ドキュメントテンプレート309上に作成される。コンテナは、適切なテキストコンテナツール404、イメージコンテナツール405をアクティブにした後に、ドキュメントテンプレート309上でマウス133をクリックすることによって作成される。この場合、デフォルトサイズのコンテナが挿入されるか、新規コンテナの寸法を入れるために、ダイアログボックスあるいは他のプロンプトが提供される。コンテナは自動的に前もって定義され、計算されたスキーマによって作成され、ドキュメントテンプレート309上に配置される。ここで生成されたコンテナをマウス等の入力手段により選択し、右クリックでプロパティを指示する等の操作を行うことにより、コンテナのプロパティダイアログが表示され、コンテナの制約を設定することができる。コンテナのプロパティダイアログUI(部分表示領域設定手段に相当する)では、上述した各種の制約を設定することができる。また、コンテナのプロパティダイアログでは、コンテナのサイズ(幅、高さ)や位置を決定することができ、可変サイズにする場合は、コンテナの基本パターン(基本サイズと基準位置)を設定し、更に、最大コンテナサイズ(幅、高さ)と最小コンテナサイズ(幅、高さ)を設定することが可能となっている。
(コンテナの表示方法)
図5A〜5Dはコンテナを構成する辺に対するルールを例示的に説明する図である。レイアウト編集アプリケーション121は、辺の状態を表現するために、塗りつぶし線(実線)(503)あるいは点線(504)で辺を描き、アンカー(辺の近くに描画された506、507、509によって示されるような線、形状、アイコン)、ハンドル(移動、修正するために辺、形の近くに描画されたコントロール点、502)、スライダー(辺の両サイドに描画された短い並行線、図4の413)、拡縮アイコン(505)、そして色を特徴として持っている。
図5A〜5Dに示すコンテナの表示方法のルールは、つぎの通りである。
1. それぞれの辺を固定するために、塗りつぶし線で描画する。
2. もし幅が固定なら、左と右の辺を塗りつぶし線で描画する。
3. もし高さが固定なら、上と下の辺を塗りつぶし線で描画する。
4. 軸は描画しない。
5. まだ描画されていない全ての辺は、それぞれの辺の近くに拡縮アイコンが描画され、点線になる。
6. 垂直辺あるいは軸のそれぞれのペアで、もし両者が固定なら、交差点にアンカーが描画される。
7. それぞれの固定辺で、もし辺のどこにもアンカーが描画されていなければ、エッジ(コンテナを構成する辺)の中央にスライダーが描画される。
8. 垂直辺あるいは軸のそれぞれのペアで、もしアンカーやスライダーが描画されていなければ、交差点にハンドルが描画される。
上述のルール1、2、3で定義された線は、前述したように固定あるいは制限されているため、実線で描画される。ルール5のように可変の辺は、点線で描画される。ルール6、7、8で定義された固定された点は、アンカーを表示し、いくつかの固定された辺はスライダーを表示し、他はハンドルを表示する。
上記のルールは、ユーザにより後で設定された制約が優先される。つまり、後で別の制約が設定された場合、上記のルールが描画されるべき辺に影響すれば、実線や点線の描画内容が変更されることになる。
可変の辺が描画される場所は、コンテナのコンテンツに依存する。後で記述されるように、ドキュメントテンプレートにコンテンツがマージされて、ユーザインターフェースで可視になることを意味する、『動的な校正処理』が使われる。代わりの実行手段としては、すべてのドキュメントで平均化されるコンテナのコンテンツエリア、あるいは可変の辺がユーザインターフェースで、どこにレイアウトされるべきか決定するほかの手段で使われる。レイアウト編集アプリケーション121は以上のルールに従って、コンテナの表示制御、レイアウト制御、編集を実行することができる。
コンテンツの表現は、コンテナの辺に設定されたアンカーアイコン、スライダーアイコン等の設定に従い、サイズを可変にすることが可能なコンテナに挿入されることにより可視化される。コンテナに設定される具体的なアイコン及びコンテナを構成する辺は、以下に説明するように機能する。
アンカーは辺または軸が交差した場所が固定されていることを意味する。図4のアイコン409は、交差する辺414が固定されていることを示すアンカーアイコンの例である。
スライダーは関係付けられた辺が、その辺の垂直方向に固定されているが、並行移動する可能性があることを意味する。幅・高さのサイズは、レイアウト編集アプリケーション121の制御の下、副次的なダイアログウィンドウに表示され、コンテナサイズとして許容される基本値・最小値・最大値の基本パターンを設定することが可能である。
図5Aにおいて、コンテナ501は幅・高さ両方が固定されていない。コンテナ501を構成する実線で示される辺503は固定であり、点線で示される辺504は幅・高さ両方が可変である。拡縮アイコン505は、隣接する辺504が可変であることを示す。また、図5Bにおいて、コンテナ501を構成する実線で示される辺503は固定であり、同図において、アンカーアイコン506は、辺503が交差する高さ方向および幅方向に変位が拘束されることを示す。
図5Cでは、コンテナ501は、コンテナの拡大あるいは縮小が任意のアンカーアイコン507で示されるような中心点の周りに幅方向及び高さ方向に均等に広がるという状態に設定されており、幅・高さ両方が各辺において可変である。また、図5Dにおいて、コンテナ501は、上辺508に対してスライダーアイコン509が設定されており、固定されているが、点線で示される辺502は幅及び高さの両方が可変である。この場合、アンカーアイコン509を通る中心軸(垂直軸)を基準として、辺502の左右方向、及び上下方向に変位をすることが可能であり、これによりコンテナのサイズを変えることが可能である。ここでの拡大/縮小は、アンカーアイコン507の位置が常にコンテナ501の中心点となるようにレイアウト調整される。
(リンクの設定方法)
図6はレイアウト編集アプリケーション121によるリンクの設定方法を示すフローチャートであり、図7はユーザインターフェースの画面表示例を示す図である。以下、図6、図7を用いてコンテナにリンクを設定する操作方法について説明をする。なお、本願に記載のフローチャートの各処理は情報処理装置(ホストコンピュータ)101内のプロセッサ135が制御することによって実現される。
まず、リンクをコンテナに設定するためには、リンク設定の対象となるコンテナ(最低2つ)を作成する(S601)。図7(A)は、2つのコンテナ701、702が作成された状態を示している。
次に、前述したリンクツールボタン406(図4を参照)を選択した状態にする(S602)。ここで、図7(A)のコンテナ701と702は、前述した図4のコンテナ407と408と同じ内容のものを示しており、固定されている辺(実線で示される)によりコンテナが構成されることを示している。また、アイコン703と704は、図4におけるアイコン409と同じアンカーアイコンであることを示し、705はマウスポインタを意味している。
ステップS602において、リンクツールボタン406の選択が完了すると、次に、コンテナを選択する(S603)。この選択は、リンクを設定する対象となるコンテナの片方(たとえば、701)をマウス133によりクリックすることでコンテナは選択される。次に、リンクを設定する他方のコンテナ(たとえば、702)をマウス133によりクリックすることで、リンクを設定する他方のコンテナの選択が完了する(S604)。
図7(B)の706はステップS603でマウス133をクリックした位置(P1)とステップS604でマウスをクリックした位置(P2)とを結ぶマウスポインタ133の概略的な軌跡を示す線分であり(図6のS605)、この線分が交わるコンテナの辺711及び辺712の間にリンク707が設定され、最終的にリンク707がコンテナ間に設定された状態のインターフェース画面が更新される(S606)。リンク707が設定されたことにより、コンテナを表示するための画面表示も自動的に切り替えられる。切り替えられた画面(図7(C))において、辺708は点線で示されている辺であり、前述した通り可変の辺を示している。固定の辺(リンク設定前の711、712が対応)から可変の辺に708が切り替えられたのは、リンク707を設定したことにより、コンテナ701、702の辺を可変にする必要があるためであり、リンク707を設定したにもかかわらず、全ての辺が固定とすると、コンテナ間の相対的な関係をリンクにより特定するという矛盾を防ぐためであり、レイアウト編集アプリケーション121の制御の下、自動的に行われる処理である。
また、709は図5A-Dに示した505と同様に機能し、リンク707を設定したことにより、コンテナ701、702が変位できる方向をユーザに視覚的に示す識別用の表示である。図7(C)の例では、左のコンテナ701の右辺と右のコンテナ702の左辺が可変に変化したが、これは一例であり、右コンテナ701が、図4の413で示したスライダーを持つ設定により辺708が可変であることを表示するようにすることもできる。以上の処理はレイアウト編集アプリケーション121の制御のもとに実行することができる。
(レイアウト計算方法(全体フロー))
本実施形態のレイアウト編集アプリケーション121は、ユーザインターフェース103を用いてコンテナを作成し、そのコンテナ間に関連付け(リンク設定)を行ってレイアウトを作成するレイアウトモードと、レイアウトエンジン105により、作成したレイアウトにデータソースの各レコードを挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、前述した優先順位に従ってレイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レイアウトエンジン105が各コンテナにデータを挿入してレイアウトを計算するが、その際の計算方法はプレビューモードと同じである。図8はレイアウト計算のフローを示している。
まず、プレビューモードを選択する(S801)。自動レイアウトシステムでは、コンテナを作成して、そのコンテナ間に関連付けを行い、レイアウトを作成するレイアウトモードと、作成したレイアウトに表示するデータレコード(以下、「レコード」)を挿入して、実際にレコードが挿入された後のレイアウト結果をプレビューするプレビューモードに分けられる。このプレビューモードにおいて、実際のレコードが挿入され、レイアウトを計算する。ただし、プレビューモードは、表示上でのレイアウト計算である。実際に印刷する場合においても、レコードを挿入してレイアウトを計算する。
その際の計算方法も同じである。プレビューモードになったら、プレビューするレコードを選択して挿入する(S802)。レコードの挿入を行うと、そのレコードをレイアウトするためにレイアウト計算を行う(S803)。そして、処理ステップS803で計算されたレイアウトを表示し(S804)、他のレコードについてもプレビューを行うかどうかを判断する(S805)。処理ステップS805で、他のレコードについてプレビューを行う必要がないと判断した場合は(S805-No)、処理をステップS807に進め、プレビューモードを終了する。一方、ステップS805の判断で、他のレコードについてプレビューを行うのであれば、他のレコードを選択して再度レイアウト計算を行い(S803)、プレビューを行う(S804)。プレビューモードでなく印刷時においては、印刷するレコード全てについて順にレイアウトの計算を行う。
したがって、処理S804は印刷時の処理においては必要がないステップである。ステップS805は印刷するレコードを全て処理したかの判断を行う。ステップS803でレイアウト計算された結果を、描画出力して出力し、プリンタドライバを用いて印刷データとして生成し、プリンタに印刷データが出力される。この場合、全てのレコード(印刷すべく指定された全レコード)について印刷データの出力が終了した時点で本処理を終了することになる。以上の処理は、プロセッサユニット135の制御のもとに実行することができる。
(動的レイアウト計算方法)
図9は動的レイアウト計算の詳細な処理の流れを説明するフローチャートであり、図10はそのときのユーザインターフェース画面の表示例を示した図である。本図はレイアウト計算の処理方法についてのみ説明するためのフローチャートであるため、バリアブルデータプリントの1レコードの印刷/プレビュー時のレイアウト計算方法に相当する。複数レコードの場合は、下記の処理が繰り返されることになる。
まず、レイアウト編集アプリケーション121は、レイアウトを計算するコンテナの集合を求める(S901)。レイアウト計算は、リンクにより関連付けられたコンテナを一つの集合として計算を行う。例えば、図11を参照すると、ページ上に4つのコンテナA,B、C、Dがレイアウトされており、各コンテナに関連付けが設定されている。この場合、コンテナAとコンテナB、そしてコンテナCとコンテナDがリンクによって関連付けされている。したがって、コンテナA・Bが集合1、コンテナC・Dが集合2となる。そして、1101はアンカー、1102は固定された辺、1103はコントロール点、1104は可変の辺の変化方向を示している矢印、1105は可変の辺、1106はリンク、そして1107はスライダーを示している。
次に、レイアウト編集アプリケーション121は、ステップS901で求めたコンテナの集合から、レイアウトを計算するために一つの集合を選択する(S902)。そして、選択したコンテナの集合について、レイアウトの計算を行う。まず、選択したコンテナの集合に含まれる可変要素である2つのコンテナ(A,B)について、流し込まれるデータの画像サイズもしくはテキスト量から各コンテナがなにも制約を受けない場合の大きさを計算する。具体的には、レイアウト編集アプリケーション121は、コンテナAが画像データ用コンテナであるか、テキスト用コンテナであるかを判断する。この判断は、前述したように、コンテナに対して設定されている属性により判断できる。
次に、レイアウト編集アプリケーション121は、コンテナAに流し込まれるデータを読み込み、コンテナAが画像データ用コンテナである場合は、その画像データのサイズ(幅、高さのピクセル数、および解像度)がコンテナAの制約を受けない場合の大きさになる。また、コンテナAがテキスト用コンテナである場合は、そのテキストデータも文字数と、コンテナAのコンテナ属性で指定されているフォントタイプ、フォントサイズ、文字ピッチ、行ピッチなどの文字属性に基づいて、コンテナAに流し込まれるべきデータ量が計算できる。ここで、テキスト用コンテナの場合は、コンテナAの縦横比が制約を考えないと決定できないため、制約を当てはめる。
図11の例では、コンテナAは、左上および左下の角にアンカーが設定されているため、高さ(縦方向)が固定となる。よって、レイアウト編集アプリケーション121は、コンテナAの基本パターンとして設定されている幅(横方向)のコンテナAに、計算したデータ量(テキスト量)の文字を流し込めるか否かを判断する。すべて流し込めると判断された場合は、コンテナAは、基本パターンで設定されているサイズ(幅、高さ)に変更はない。また、すべて流し込めないと判断された場合は、コンテナAは、アンカー設定により高さが固定であるため、横方向に伸びることになる。ここで、レイアウト編集アプリケーション121は、コンテナAの幅がどれだけになると、計算したデータ量の文字を流し込めるかを計算し、コンテナAのサイズを算出する。
次に、レイアウト編集アプリケーション121は、レイアウトされるコンテナのサイズが、実際のコンテンツのサイズとできる限り差が少なくなるように、レイアウトの最適化を行う(S903)。レイアウトの最適化は、動的にサイズを変化することが可能なように関連付けられたコンテナにおいて、それぞれに挿入されるコンテンツのサイズとレイアウトされるコンテンツサイズとの差が、できる限り同じになるように行われる。レイアウト編集アプリケーション121は、ステップS902で算出したコンテナの集合のサイズ、つまりコンテナAとコンテナBとリンク1106(ここでは固定リンク)の合計サイズを求め、この合計サイズと、基本レイアウトにおける当該コンテナの集合のサイズ(図11の例ではコンテナAとコンテナB、それぞれのアンカーアイコンの距離に相当する)との差を求める。コンテンツをコンテナに流し込んだ結果、コンテナAやコンテナBの幅が大きくなると前ステップで計算されている場合は、差分値が発生する。レイアウト編集アプリケーション121は、この差分値をコンテナの集合の各要素に均等に分配することでレイアウト調整を行う。
レイアウト編集アプリケーション121は、レイアウトの最適化を行い、最適化の計算において、ルール(コンテナに課せられる制限)に違反する場合は、再度ルールを違反しないようにコンテナサイズの計算をする(S904)。ここで記述したルールとは、レイアウト作成時にユーザによって設定される制限であり、コンテナのサイズと位置、可変リンク(可変リンクの詳細については後述する)の場合はリンクの長さなどである。ルールを違反しないようにレイアウトが計算されたら、ステップS902で選択した集合のレイアウトは完成する。そして、ステップS902〜S904のステップをページ上のすべてのコンテナの集合について施し、ページ全体のレイアウトを計算し(S905)、レイアウト計算の処理を終了する。
図10はレイアウト計算時に示されるユーザインターフェース画面を例示する図である。図10の(A)は、あるレコードが挿入されレイアウトが決定されている状態を表している。1001と1002はアンカー、1003と1004は固定された辺、1005は可変の辺、1006は可変の辺の変化方向を示している矢印、1008はリンクをそれぞれ示している。この状態において、レコードを変更し、異なったサイズのコンテンツを挿入すると、図10の(B)の状態になる。図10の(A)の状態から可変の辺がどのように変位したかを2点鎖線で示している。そして、ルールを加味したレイアウト計算が行われる。図10の(C)はレイアウト計算された結果を示している。計算後の各コンテナ1012、1013のサイズは、実際挿入されるコンテンツのサイズと同等に差異があるように(変形が連動するように)計算され、且つ、前述したルールに違反しないように計算される。図10の(C)で示されるように、図10の(B)で示した挿入するコンテンツサイズ(a1b1c1d1,e1f1g1h1)と計算後のコンテンツサイズ(a2b2c2d2,e2f2g2h2)は、左右双方のコンテナにおいて同等な差異をもってコンテナサイズが計算される。以上の処理は、プロセッサユニット135、レイアウトエンジンモジュール105の制御のもとに実行することができる。
しかし、単純に同等の差異をもってコンテナサイズを変更するだけでは、図10のような横方向のみのレイアウト計算の場合は問題ないが、図53のように縦方向および横方向を考慮したレイアウト計算を行わなければならない場合、対応できなくなる可能性がある。横方向と縦方向の2次元的なレイアウトを扱う図53の場合、図9のレイアウト計算方法を用いて、まず横方向に調整を行い、後に縦方向に調整を行う。すなわち、コンテナ5301と5302の間で、上述した手順で設定値Dに収まるようレイアウト調整を行い、その後、コンテナ5302と5303の間で設定Gに収まるようレイアウト調整を行えばよい。しかし、横方向に調整を行い、後に縦方向に調整を行うという調整方法では、ユーザが所望とする基本レイアウトからずれたレイアウト結果になることが想定される。そのため、各コンテナについて、基本パターン(縦横比)からなるべくずれないように、例えば基本パターンの幅とレイアウト調整後の幅の差の2乗と、基本パターンの高さとレイアウト調整後の高さの差の2乗との和を求め、これをすべてのコンテナについて算出する方法が考えられる。そして、レイアウト編集アプリケーション121は、各コンテナの2乗の和の合計値が最小となるように、それぞれのコンテナの幅と高さを算出してレイアウト調整を行っても良い。
この最小2乗法を用いてレイアウト調整を行うことにより、ユーザが当初設定した基本レイアウトから大きく外れることがなく、全体としてバランスのとれた最終レイアウトを決定することができる。なお、コンテナ間には後述する可変リンクが設定されているため、流し込まれるコンテンツデータのサイズに応じて後述するようにリンクサイズは変更する。本願記載のレイアウト編集アプリケーションはこのようなレイアウト調整ユニットを備えることにより、割り当てられたデータサイズに応じて複数の部分表示領域(コンテナ)の配置位置を調整することが可能となる。
(可変リンクの設定)
図12のインターフェース画面において、一般的な可変リンク1209が設定された状態を示している。同図においては、図4と同様にアプリケーションウィンドウ301とツールバー303があり、ドキュメントテンプレート309上にコンテナ1203とコンテナ1204が存在する。それぞれのコンテナは典型的にアンカーアイコン1201、アンカーアイコン1202と固定された辺1205、辺1206から成り立つ。各コンテナ1203と1204の間には可変サイズのリンク1209があり、それぞれのコンテナを結んでいる。コンテナ1203とコンテナ1204の間にはリンクが設定されているのでそれぞれの右辺1207と左辺1208は点線で表現されている。このため各コンテナにインジケーター1210、インジケーター1211が表示され、これは辺1207と辺1208が可変であることを示している。
また、図14はリンク1409の情報がセットされているダイアログウィンドウ1401の例を示す図である。このダイアログは典型的にタイトルバー1402、ツールボタン1403、ダイアログウィンドウの開閉を行うボタン1404、各種の情報をセットするエリア1406、1407、1410−1412で構成されている。このダイアログウィンドウではリンクタイプが可変長(1407)のリンクであるか、あるいは固定長(1406)のリンクであるかの択一的な選択が行える。可変長の場合、リンクの長さの最大値(1412)そして最小値(1410)、また現在の値(1411)が設定できる。ここで各コンテナ間の現在の値1411は、データを流し込んだ際に各コンテナのサイズが変更されない場合に用いられるリンクの長さである。
図13は自動レイアウトシステムにおける可変リンクを設定するフローチャートである。マウス133によりリンク1209をクリックし、設定の対象となるリンクを選択する(S1302)。なお、図12におけるリンク1209は可変リンクを示しているが、これは固定リンクから可変リンクに遷移した後を示しているとする。レイアウト編集アプリケーション121は、マウスの右クリックあるいはキーボードの特定のキーにより選択されたリンク1209のプロパティダイアログウィンドウ1401を表示する(S1303)。この状態ではリンクサイズは可変ではなく固定であるため、固定1406がリンクタイプ1405において選択されている。リンクを固定サイズから可変サイズに変更するために、リンクタイプ1405においてリンクサイズを可変に設定する可変1407を選択する(S1304)。これによりリンク間隔1408内に配置されている最大値1412、最小値1410、現在の値1411が有効化され、数値の設定が可能となる。ここで、リンクの可変サイズを設定するために、そのリンクの長さの最大値を1412、最小値を1410、現在の値を1411において設定する(S1305)。一般的なダイアログウィンドウ開閉ボタン1404によって設定を適用すると図12のリンク1209のような状態にリンクのUI表示が変化する。(S1306)このダイアログウィンドウ1401の設定情報はメモリに格納される。
図15は固定サイズのリンクを使用した場合のレイアウト結果を示す図である。レイアウト編集アプリケーション121のレイアウトエンジンモジュール105におけるレイアウト計算方法は前述したとおりに従って行われる。例えば図12においてコンテナ1203とコンテナ1204にそれぞれ違ったサイズのデータが挿入された時、それぞれのコンテナはデータの大きさを最適と考え、コンテナ1203は挿入されたイメージサイズになる枠1504(最適コンテナサイズ)に近づこうと右方向へ大きく、同様にコンテナ1204も挿入されたイメージサイズになる枠1505(最適コンテナサイズ)に近づこうと左方向へやや大きくサイズを変更しようとする。
しかしコンテナ1203とコンテナ1204の間には固定サイズのリンク1503が設定されているとすると、コンテナ1203とコンテナ1204はそれぞれアンカー1201とアンカー1202によってそれぞれ左辺1212と右辺1213は移動出来ないため、変更しようとするサイズがリンクサイズを上回ってしまう。そしてこのリンクサイズは固定されているためレイアウト計算時に優先的に計算される。よって、コンテナ1203(図12)とコンテナ1204(図12)のサイズが変更されることになる。その結果、コンテナ1203とコンテナ1204はデータに合わせた最適なサイズを確保することが出来ず、最終的に図15のコンテナ1501とコンテナ1502のように最適なサイズである1504、1505と比較して小さくなってしまう。つまり、リンク1503のサイズは固定であるためコンテナ1501とコンテナ1502は最適サイズを達成することができない。
図16はリンクを可変サイズにした場合を示している。この場合、コンテナ1203(図12)とコンテナ1204(図12)の間には可変サイズのリンク1209(図12)が設定されているとすると、コンテナ1203とコンテナ1204のサイズが変更される際に、リンクサイズが縮まることでコンテナ1203とコンテナ1204のサイズが上記の図15の例より大きくなることができ、挿入されるデータサイズに合わせた最適なサイズを達成し、あるいはより挿入データサイズ(最適サイズ)に近づけてコンテナの枠を計算することが出来る。その結果が、図16のコンテナ1601とコンテナ1602である。可変リンク1209はレイアウト計算の結果、可変リンク1603のサイズとなり、この場合コンテナ1601とコンテナ1602は変形が連動して、それぞれ最適なサイズ(データサイズに合った大きさ)になっている。以上の処理は、プロセッサユニット135、レイアウト編集アプリケーション121の制御のもとに実行することができる。
(コンテナのプロパティ設定)
図17はコンテナのプロパティ(属性)を設定するプロパティダイアログウィンドウの例を示す図である。プロパティダイアログウィンドウ1701は典型的にキーボード132やマウス133によりコンテナを選択し、マウスの右クリックメニューの選択、あるいはキーボードからのAltキー等による所定の操作により表示することができる。コンテナのプロパティ設定に関する処理は、プロセッサユニット135、レイアウト編集アプリケーション121の制御のもとに実行することができる。
プロパティダイアログウィンドウ1701は典型的にタイトルバー1702、ツールボタン1703、プロパティダイアログウィンドウのオープン、クローズを行うボタン1704、各種の情報をセットするエリア1711、1721、1741で構成されている。このプロパティダイアログウィンドウ1701には、コンテナを構成する辺(エッジ)を可変に設定するエッジステータス設定部1711があり、エッジステータス設定部1711内の上辺、下辺、左辺、右辺のチェックボックス(1712〜1715)にチェックを入力すると(コンテナエッジが可変に設定)、コンテナサイズ設定部1721内が入力可能(Enable)になる。
図17の例では、右辺を可変にする設定がなされている状態を示している(1714)ので、このコンテナは横方向(実際は右方向)にしかサイズを変化させることが出来ない。エッジステータス1711内においてチェックが入力されていない各辺(エッジ)は、固定としてコンテナの属性が設定される(図17の例では、上辺1712、下辺1713、左辺1715)。
エッジステータス設定部1711内の右辺のチェックボックス1714が可変に設定されたので、コンテナサイズ設定部1721内の横方向の最大値、最小値を設定するための設定部(1724、1726、1727)が入力可能になり、高さ方向のサイズの設定部(1728、1730、1731)は入力を受け付けない状態(Disable)のままとなっている。1722はコンテナの幅サイズの指定、1723はコンテナの高さサイズの指定を視覚的に補助するビットマップによる図形表示である。ボックス1724にはコンテナの幅の最小値が設定される。図17の例では、最小値として「80」が設定されている。ボックス1726にはコンテナの幅の最大値が設定される。図17の例では、最大値として「120」が設定されている。なお、エッジステータスとして上辺または下辺の少なくとも1つを可変にすることが設定されていれば、同様にコンテナの高さの最小値1728および最大値1730を設定することが可能となる。リストボックス1727とリストボックス1731には、コンテナサイズの単位が設定される。ここでは例としてミリメートル(mm)が表示されているが、インチ(inch)やピクセル(pixel)等も考えられる。これらの設定情報がメモリユニット136に保持されることとなる。
図18はコンテナのプロパティ設定操作におけるレイアウト編集アプリケーション121の処理を示したフローチャートである。まず、マウス133によりコンテナをクリックし、設定の対象となるコンテナを選択する(S1802)。レイアウト編集アプリケーション121は、選択されたコンテナのプロパティダイアログウィンドウ1701を表示する(1803)。そして、レイアウト編集アプリケーションは、コンテナエッジを可変に設定するチェックが入力されているか否か、各辺のチェックボックス(1712〜1715)に対して判断し(S1804)、可変に設定するチェックが入力されている場合(S1804−YES)、コンテナサイズの最大値・最小値のボックスを入力可能(Enable)にする(S1805)。詳細には各設定情報はメモリユニットに保持されるため、レイアウト編集アプリケーションがメモリユニットを参照することにより判断可能となる。
そして、レイアウト方法の選択項目も入力可能(Enable)にする(S1806)。一方、ステップS1804の判定で、可変に設定するチェックが入力されていない場合は(S1804−NO)、処理を終了する。
図17の1741はレイアウトの方法を選択する入力部であり、コンテナのレイアウト時に他のコンテナとの重なりを判定してレイアウトする場合は入力欄1742にチェックを入力する。レイアウト編集アプリケーション121は、入力欄1742にチェックが入力されている場合、後に詳細に説明する、重なりに関するコンテナの属性設定、重なりの予測計算、動的ガイド、重なり防止用可変リンクの設定処理を実行する。
1743は、コンテナ間に重なりが生じる場合に、重なりの形式(例えば、一方のコンテナを上、他方のコンテナを下、重なり拒否等)を設定してコンテナをレイアウトする場合の入力欄である。レイアウト編集アプリケーション121は、入力欄1743にチェックが入力されている場合、第2実施形態で具体的に説明する重なり形式の設定に基づいてコンテナのレイアウトを行う。
そして、クローズボタンなどによりコンテナのプロパティダイアログウィンドウ1701を閉じ、設定を選択されたコンテナに適用する(S1807)。
図17のプロパティダイアログウィンドウ1701を用いて、図18のフローチャートの処理により設定された内容はメモリユニット136に図49のような形式で保持される。例えば、図19のドキュメントテンプレート上に配置されているコンテナ1921およびコンテナ1922の属性に関する設定情報について説明する。図19では、コンテナ1921は右辺および下辺が可変に設定されているため、図49でもコンテナ1921の横方向および縦方向が可変属性となっている。そして、最大値および最小値には異なる値が設定されているため、コンテナ1921に流し込まれるバリアブルデータのサイズに応じて、設定された範囲内でサイズ変更することが可能となる。これに対し、コンテナ1922は4辺とも固定であるため、図49でも横方向および縦方向が固定属性となっており、最大値および最小値には同じ値が設定されている。よって、いかなるバリアブルデータが流し込まれたとしても、コンテナ1922のサイズは設定された値で固定されることとなる。
このように、図17において設定された内容がコンテナごとに、図49のような形式でメモリユニットに保持されることとなる。
(重なり防止用可変リンク設定フロー)
図25A〜Cは、レイアウト編集アプリケーション121が実行する重なり防止用可変リンク設定処理の流れを説明するフローチャートである。その動作フローを図17、図19〜図22、図24を参照しつつ以下に説明する。なお、図17、図19〜図22、図24は本フローチャートを説明する際に用いられる一例である。
図19は、レイアウト編集アプリケーション121の編集画面を示す図であり、サイズの変更が可能な動的オブジェクトであるイメージコンテナ1921と、サイズが固定となる静的オブジェクトであるイメージコンテナ1922とがドキュメントテンプレート1909に存在している。なお、本願では、ページテンプレート上に配置されるものを総称してオブジェクトと表現する。よって、データベースから流し込まれるコンテンツデータを配置するためのコンテナもオブジェクトとして表されることがある。なお、コンテナをオブジェクトと区別する場合は、部分表示領域(コンテナ)として明確に記述する。
図20は、図19における静的オブジェクトであるイメージコンテナ1922がマウスポインタ2013により選択されて、コンテナ属性が可変に設定変更された際のレイアウト編集アプリケーション121の編集画面を示す図であり、動的オブジェクトであるイメージコンテナ2021およびイメージコンテナ2022がドキュメントテンプレート2009に存在している。なお、固定コンテナ1922が可変コンテナ2022に設定変更されることにより、設定情報も図49から図50に変更されることとなる。具体的には図49ではコンテナ1922の横方向および縦方向が固定であったが、図50では可変に変更され、この変更に応じて幅および縦の最大値および最小値が新たに設定され、その情報が保持されている。
図21は、レイアウトエンジンモジュール105(以下、単に、「レイアウトエンジン105」ともいう。)が計算した図20に示すイメージコンテナ2021およびイメージコンテナ2022の最大可動領域及びそれらの重なり予測領域を概略的に示す図である。2131はイメージコンテナ2121の最大可動領域を予測した領域を示し、2132はイメージコンテナ2122の最大可動領域を予測した領域を示し、2133はイメージコンテナ2121及びイメージコンテナ2122の重なり予測領域を示している。
レイアウトエンジンによる各コンテナの最大可動領域の予測方法について説明する。上述した通り、各コンテナは最大値および最小値を図50のような形式でメモリユニットに保持しているため、レイアウトエンジンは、各コンテナが配置されている位置および設定されている最大値を考慮することにより最大可動領域を予測することが可能となる。なお、最大可動領域の予測方法は各コンテナの最大値だけでなく、リンクにより関連付けられているコンテナとの兼ね合いも考慮する場合がある。
図22は、編集対象の動的オブジェクトと異なる他の動的オブジェクトとの重なりを許すか否かをユーザに選択させるダイアログを表示するレイアウト編集アプリケーション121の編集画面を示す図であり、2251はイメージコンテナ2221に対して他の動的オブジェクトとの重なりを許すか否かを選択させるダイアログである。マウスポインタ2213により、ダイアログ2251中の「はい」(2252)を選択すると、レイアウト編集アプリケーション121は、コンテナ2221に対して他の動的オブジェクトとの重なりを拒否する設定を行う。一方、ダイアログ2251中の「いいえ」(2253)を選択すると、レイアウト編集アプリケーション121は、他の動的オブジェクトとの重なりを許容する設定を行う。なお、これらの設定情報もメモリユニットに保持されることとなる。
図24は、垂直方向の動的ガイドおよび水平方向の重なり防止用可変リンクを表示するレイアウト編集アプリケーション121の編集画面を示す図である。図22におけるダイアログ2251中の「はい」を選択して、他の動的オブジェクトとの重なりを拒否する属性を設定することにより、動的ガイド2441および重なり防止用可変リンク2442が設定される。なお、本願では可変リンクと重なり防止用可変リンクを識別するために可変リンクは点線で、重なり防止用可変リンクは二重点線で表示する。
図24の例では、2441はイメージコンテナ2421の右辺に接して形成されている動的ガイドであり、2442はイメージコンテナ2421とイメージコンテナ2422の重なりを防止するための重なり防止用可変リンクを示している。
続いて図25A〜Cは、レイアウト編集アプリケーション121が実行する重なり防止用可変リンク設定処理の流れを説明するフローチャートである。
レイアウト編集アプリケーションはドキュメントテンプレート上に少なくとも1つのオブジェクトがあるか否かを判定する(S2501)。詳細には、各ドキュメント上にどのような属性のコンテナやリンクが設定されているかは、例えば図50のような形式でメモリユニット136に保存されているため、レイアウト編集アプリケーションがメモリユニット136を参照することにより判定することが可能となる。
S2501の判定の結果、レイアウト編集アプリケーションが少なくとも1つのコンテナがドキュメントテンプレート上にあると判定した場合、可変コンテナがあらたに追加作成されたか否かを判定する(S2502)。ドキュメントテンプレート上にコンテナが作成された時点で、コンテナの情報は一時的にメモリユニット136に保持される。そのため、レイアウト編集アプリケーションがメモリユニットを更新した場合、メモリユニットに一時的に保持されている情報と更新されたメモリユニットの保持情報を比較することによりS2502は判定可能となる。
S2502において、可変コンテナが新たに作成されなかったと判定した場合、レイアウト編集アプリケーションはドキュメントテンプレート上に少なくとも2つのコンテナがあるか否かを判定する(S2503)。なお、判定方法はS2501と同様であるため詳細については省略する。
S2503の判定の結果、ドキュメントテンプレート上に少なくとも2つのコンテナがあると判定された場合、固定コンテナから可変コンテナへ属性変更が行われたか否かを判定する(S2504)。S2504の判定方法はS2502と同様であるため詳細については省略する。
さらに、レイアウト編集アプリケーションはドキュメントテンプレート上に配置されている可変コンテナのサイズが拡大方向に変更されたか否かを判定する(S2505)。詳細には、可変コンテナはどの範囲でサイズ変更を行うかが設定されているが、その最大サイズが大きくなるように変更されたか否かをレイアウト編集アプリケーションが判定する処理となり、S2502のように比較処理をすることにより判定可能である。
ここまでのS2502、S2504、S2505のいずれかにおいてYesと判定された場合、レイアウト編集アプリケーションはS2508以降の動的ガイドおよび重なり防止用リンクを設定するフローへと進むこととなる。
また、S2505においてNoと判定された場合、レイアウト編集アプリケーションはドキュメントテンプレート上に配置されている可変コンテナのサイズが縮小方向に変更されたか否かを判定する(S2506)。S2506の処理内容は、S2505の拡大方向が縮小方向に変わっているのみであり、基本的な判定方法は同様であるため詳細については省略する。
続いて、レイアウト編集アプリケーションはドキュメントテンプレート上に配置されている可変コンテナが固定コンテナに変更されたか否かを判定する(S2507)。
S2506またはS2507のいずれかにおいて、Yesと判定された場合、レイアウト編集アプリケーションはS2517以降の重なり防止用リンクを削除するフローへと進むこととなる。
続いて、動的ガイドおよび重なり防止用リンクを設定するためのフローへと入る。レイアウト編集アプリケーション121は新たに作成、または設定が変更されたコンテナも含め、ドキュメントテンプレート上に配置されている各オブジェクトの可動領域を図17のプロパティダイアログウィンドウ1701のチェックボックス1712〜1715によって設定されたコンテナの水平(左右)方向および垂直(上下)方向の可変設定と、コンテナサイズの最大値の設定(1726、1730)およびイメージコンテナ2022には設定されていないが、コンテナにリンク設定がある場合にはリンクの設定を含め他のコンテナによる可変要因などを考慮して、レイアウトエンジン105が可動領域を計算する(S2508)。
すなわち、レイアウトエンジン105は、プロパティの設定を変更する編集操作が行われた動的オブジェクト(例えばコンテナなど)の最大可動範囲を、(1)コンテナの最大サイズ設定要因、(2)リンクされた他のコンテナによる可変要因、二つの要因から計算する。つまり、(1)はコンテナに流し込まれるコンテンツデータにより、該コンテナに設定された最大サイズに応じてどこまで拡大されるのか指し、(2)はリンクによって関連づけられている他のコンテナのサイズ変更または位置変更の影響を受けることによる可変要因を指す。
レイアウト編集アプリケーション121は、レイアウトエンジン105による最大可動範囲の計算結果をイメージコンテナ2022の可動領域として、メモリユニット136に保持する(S2509)。なお、最大可動範囲の保持情報の1つとして座標値で保持することが考えられ、例えば図51のような形式で保持されても良い。図51では座標値で可動範囲を表しており、コンテナ2121の左上を原点として、コンテナ2121は横(水平)方向に「20〜80」の範囲が可動領域であり、縦(垂直)方向「0〜−100」の範囲で可動であることが保持されており、コンテナ2122に関しては横方向「40〜100」、縦方向「0〜−70」の範囲で可動であることが保持されている。
レイアウト編集アプリケーション121は、メモリユニット136に保持されているイメージコンテナ、他の可変コンテナの可動領域計算結果および他の固定コンテナ(静的オブジェクト)の占有領域などドキュメントテンプレート上にある各オブジェクトの可動領域を比較する(S2510)。続いてレイアウト編集アプリケーションはドキュメントテンプレート上に重なる可能性のあるオブジェクトがあるか否かを判定する(S2511)。詳細には、ここで重なる可能性が生じるのはリンクによって関連付けられていないものであるため、リンクによって関連付けられていないオブジェクトを抽出する。そして、各オブジェクトのコンテンツデータの流し込み等によるサイズ変更範囲または関連付けられている他のオブジェクトの影響を受けて移動する移動範囲を考慮して、オブジェクトが重なるか否かの判定が行われる。
詳細に説明するため図51のように保持された情報を例に説明する。レイアウト編集アプリケーションは、コンテナ2121の横方向の最大可動範囲を、図51を参照することにより「20〜80」と認識することができる。また、コンテナ2122の横方向の最大可動領域は「40〜100」と認識することができる。すなわち、コンテナ2121およびコンテナ2122は座標値「40〜80」において横方向が重なる可能性があると判定することができる。なお、縦方向も同様の処理をすることにより座標値「0〜-70」において重なる可能性があると判定することができる。
例えば、図21のように、新たに可変設定されたコンテナ2122の最大可動範囲2132と重なる可能性がある被重なりオブジェクト2121が存在する場合(S2511-YES)、レイアウト編集アプリケーション121は被重なりオブジェクト2121に動的オブジェクトの重なり防止属性が既に設定済みか否かを判断調べる(S2512)。詳細には、各オブジェクトの属性はメモリユニット136に図52のような形式で保持されているため、レイアウト変種アプリケーションがメモリユニット136を参照することにより判断可能である。
S2511において判断対象となったオブジェクトに対して重なり防止属性が設定されていないと判断された場合(S2512−NO)、レイアウト編集アプリケーション121は、被重なりオブジェクトが重なる恐れがあることをユーザに知らせるため、図22のようなダイアログ2251を表示する(S2513)。
レイアウト編集アプリケーションは図22のダイアログを用いて重なりを防止することが選択されたか否かを判断する(S2514)。例えば図22のダイアログでは、「重なりを拒否しますか?」との問い合わせがなされているため、「はい」が選択されたことをレイアウト編集アプリケーションが認識した場合、重なり防止属性が設定されたと判断する(S2514−Yes)。S2514により、レイアウト編集アプリケーションが重なり防止属性が設定されたことを認識した場合、メモリユニット136に重なり防止属性が設定されたことを保持する。
レイアウト編集アプリケーション121は、図24のように、重なり防止属性を設定した被重なりオブジェクト2421において、他の重なり動的オブジェクト2422が最初に侵入することが予測される被侵入辺(例えば、被重なりオブジェクト2421の場合、右辺側が動的オブジェクト2422の最大可動範囲と重複するので、右辺を最初に侵入される可能性がある被侵入辺とする)に当接する動的ガイド2441を作成する(S2515)。
そして、図24の被重なりオブジェクト2321が最初に侵入すると予測される重なり動的オブジェクト2422の侵入辺(重なり動的オブジェクト2422の場合、左辺側が動的オブジェクト22421の最大可動範囲と重複するので、左辺を最初に侵入される可能性がある侵入辺とする)と、ステップS2515で作成した動的ガイド2441とを結ぶ重なり防止用可変リンク2442を作成する(S2516)。なお、S2515およびS2516により動的ガイドおよび重なり防止用可変リンクが設定されたことは、例えば図52のような形式で保持されることとなる。
以上の処理により、ドキュメントテンプレート上に配置されていて、流し込まれるコンテンツデータにより重なる可能性があると判断されるオブジェクト間に重なり防止用リンクが生成される。これにより、本願のように流し込まれるコンテンツデータに応じてレイアウト変更される場合であっても、重なりが生じることにより見栄えが悪くなるといった問題点を解消することが可能となる。
次に、S2506およびS2507においてYesと判定された場合に、不必要となる重なり防止用リンクおよび動的リンクを削除するフローチャートについて説明する。
S2517〜S2519は、S2508〜S2510と同様であるため詳細については省略する。
S2519の比較により、レイアウト編集アプリケーションは重なりが生じなくなったオブジェクトがあるか否かを判定する(S2520)。つまり、S2520で判定の対象となるオブジェクトは、この判定処理が行われるまでは重なる可能性があるとされていたオブジェクトであり、該オブジェクトがS2506またはS2507の処理により重なりが生じなくなるか否かを判定する。詳細には、上述したS2510の処理により、重なる可能性のあるオブジェクトを抽出することが可能となる。ここで抽出されたオブジェクトに設定されている属性情報をレイアウト編集アプリケーションが再度確認することにより重なりが生じるか否かを判定することができる。例えば、図21においてコンテナ2121およびコンテナ2122は可変コンテナであり、重なる可能性があると判定されていたが、両者が固定コンテナに属性変更された場合、重なる可能性はなくなる。
S2520の判定の結果、重ならなくなったオブジェクトがあると判定された場合、レイアウト編集アプリケーションは、該オブジェクトに対して動的ガイドおよび重なり防止用リンクが設定されているか否かを判定する(S2521)。詳細には、各オブジェクトに対して動的ガイドおよび重なり防止用リンクが設定されているか否かは図52のようにメモリユニット136に保持されているため、レイアウト編集アプリケーションがメモリユニット136を参照することにより判定可能である。
S2521において、動的ガイドおよび重なり防止用リンクが設定されていると判定された場合、レイアウト編集アプリケーションは重なりが生じなくなったオブジェクトに設定されている動的ガイドおよび重なり防止用リンクを削除する(S2522)。なお、S2522の処理によりメモリユニット136の属性も変更されることとなる。
図23は、「動的オブジェクトの重なりを許さない」属性ダイアログを表示するレイアウト編集アプリケーション121の編集画面を示す図である。2361は、イメージコンテナ2321に対する「動的オブジェクトの重なりを許さない」旨の属性を設定するためのダイアログであり、2362は、その属性の設定を切り替える(ON/OFF)設定のためのチェックボックスである。
図23の場合、チェックボックス2362にチェックが設定された状態を示しており、「動的オブジェクトの重なりを許さない」属性はONに設定されている。この「動的オブジェクトの重なりを許さない」属性を設定するためのダイアログ2361は、図25BのステップS2513において「動的オブジェクトの重なりを許さない」属性を設定するためのユーザインターフェース(UI)として、レイアウト編集アプリケーション121が表示制御を行い、チェックボックス2362の設定の有無に応じて、動的オブジェクトの属性の設定を行うことができる。なお、図23の設定ダイアログ2361は、図25BのS2511において重なる可能性のあるオブジェクトがあると判定され、該オブジェクトに「重なり防止属性」が設定されていないと判定された場合に表示されるものであるが、ドキュメントテンプレート上にコンテナ等を設定することに応じて、「重なり防止属性」を設定するようにしても構わない。
ユーザが「動的オブジェクトの重なりを許さない」属性を設定するためのダイアログ2361を用いてチェックボックス2362の設定を手動でONからOFFに設定変更した場合、レイアウト編集アプリケーション121は、図25CのステップS2520から処理を開始し、ユーザがチェックボックス2362の設定を手動でOFFからONに設定変更した場合、レイアウト編集アプリケーション121は、図25BのステップS2511から処理を開始する。
レイアウト編集アプリケーション121は、図25BにおけるステップS2508、S2509の処理を実行するために、ドキュメントテンプレート1909に存在する全てのオブジェクトの領域情報(ドキュメントテンプレート1909内を占有する静的オブジェクトおよび動的オブジェクトの可動領域情報)をメモリ136上にキャッシュしており、ユーザの操作により各コンテナの属性情報が変更された場合、その変更によって影響を受けるコンテナ群の領域情報を必要に応じてレイアウトエンジン105を用いて更新する。
レイアウト編集アプリケーション121は、「動的オブジェクトの重なりを許さない」属性ダイアログ2361のチェックボックス2362の設定がONになっているオブジェクトに、ユーザの編集操作により、静的オブジェクトが明示的に重ねられても、該静的オブジェクトに対して、重なり防止用可変リンクを設定しない。「動的オブジェクトの重なりを許さない」属性は、動的オブジェクトの重なりに対してのみ有効である。なお、ユーザの設定により静的オブジェクトに対しても重なり防止用可変リンクが設定できるようにしても構わない。
図26は、ドキュメントテンプレート2606上に存在する2つの可変コンテナ(動的オブジェクト)の可動領域が相互に重なる可能性がある場合に、レイアウト編集アプリケーション121が表示する「動的オブジェクトの重なりを許さない」属性を設定するためのダイアログ2361を示す図である。
図26に示すように、レイアウト編集アプリケーション121は、双方の動的オブジェクト(2621、2622)について、「動的オブジェクトの重なりを許さない」属性を設定するためのダイアログ(2661、2663)のチェックボックス(2662、2664)の設定がONになっている場合、双方の可変コンテナ(動的オブジェクト)に動的ガイド2641、2643を作成し重なり防止用可変リンク2642を作成する。
図27は、ドキュメントテンプレート2709上に存在する3つの可変コンテナ(動的オブジェクト)(2721(図24の2421が対応する)、2722(図24の2422が対応する)、2723)について、垂直方向(図中のY方向)および水平方向(図中のX方向)に、動的ガイド(2741(図24の2441が対応する)、2743)および重なり防止用可変リンク(2742(図24の2442が対応する)、2744)を設定するレイアウト編集アプリケーション121の編集画面を示す図である。
図27では、図24のドキュメントテンプレート2409上に存在した可変コンテナ(動的オブジェクト)(2421、2422)の他に新たにイメージコンテナである可変コンテナ(動的オブジェクト)2723が加えられた状態になっている。
ユーザ操作によりイメージコンテナツールボタン405を用いて、イメージコンテナ2723が、新たにドキュメントテンプレート2709(図24の2409が対応する)に配置され、プロパティ設定ダイアログ1701を用いたユーザ操作により、イメージコンテナ2723の上エッジ(上辺)のプロパティが固定から可変に変更された場合、レイアウト編集アプリケーション121は、図25A〜Cに示した重なり防止用可変リンク設定時の処理フローを実行する。この際、既に、動的オブジェクト(被重なりオブジェクト)2721には、動的オブジェクトの重なりを許さない属性が設定されているため、重なりオブジェクト2723に対して、動的オブジェクト(被重なりオブジェクト)2721の下エッジ(下辺)に当接する水平方向(図中のX方向)の動的ガイド2743及び新たに追加された重なりオブジェクト2723との重なりを防止するための重なり防止用可変リンク2744が垂直方向(図中のY方向)に作成される。
(重なり防止用可変リンクのプロパティ設定ダイアログ)
重なり防止用可変リンクは、前述した図12、図14および図16で示したコンテナ同士を関連づける可変サイズのリンク(1209、1409、1603)および固定サイズのリンク(412、1008、1503)とは異なる性質をもったリンクである。上述したコンテナ間を関連付ける可変サイズのリンクまたは固定サイズのリンクはレイアウト計算時に考慮されるリンクであるが、重なり防止用可変リンクはレイアウト計算時に考慮されないリンクであり、後述する重なり防止用リンクに対して設定される最小値より小さくならないように、レイアウト計算の結果に応じてサイズ変更するリンクである。よって、レイアウト計算時に考慮されるリンクと考慮されないリンクを明確に区別するために、本願では計算に考慮されるコンテナ同士を関連付けるリンク(固定リンクおよび可変リンク)を関連付けリンクと定義し、レイアウト計算時に考慮されず、オブジェクト同士の重なりを防止するためのリンクを重なり防止リンクと定義する。
図28は、重なり防止用可変リンクの属性を設定するためのダイアログウィンドウ2801の例を示す図である。このダイアログは典型的にタイトルバー2802、ツールボタン2803、ダイアログウィンドウの開閉を行うボタン2804、リンク間隔に関する情報をセットするエリア2808で構成されている。重なり防止用可変リンクの長さの最小値がテキストボックス2810で設定できる。リストボックス2811では長さの単位が設定される。ここでは例としてミリメートル(mm)が表示されているが、インチ(inch)やピクセル(pixel)等も考えられる。
尚、ユーザが、テキストボックス2810においてプラス値ではなく、マイナス値を設定した場合、コンテナの重なりを許す設定になる。この設定された最小値の情報は、メモリユニットに保持されることとなる。
(動的ガイド及び重なり防止用可変リンクの設定)
図32は、レイアウト編集アプリケーション121が実行する動的ガイド及び重なり防止用可変リンクの設定に関する処理の流れを説明するフローチャートであり、以下具体的に説明するため、具体例として図24、図29、図30を参照しつつ説明するが、これに限る必要はない。
図29は、図24のドキュメントテンプレート2409に存在する可変コンテナ(動的オブジェクト)(2421、2422)に対し、各可変コンテナに収めるためのイメージデータ(バリアブルデータ)を流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。
2921は図24に示した可変コンテナ(イメージコンテナ)2421にイメージデータを流し込んだ状態を示すプレビュー表示を示し、2922は図24の可変コンテナ(イメージコンテナ)2422にイメージデータを流し込んだ状態を示すプレビュー表示を示す。
2941は非印刷の動的ガイドが設定された状態を示すプレビュー補助表示であり、2942は非印刷の重なり防止用可変リンクが設定された状態を示すプレビュー補助表示である。
図30は、図24のドキュメントテンプレート2409上に存在する可変コンテナ(動的オブジェクト)(2421、2422)に対し、図29で使用したイメージデータとは異なるイメージデータを流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。
3021は図24に示した可変コンテナ(イメージコンテナ)2421に、図29とは異なるイメージデータを流し込んだ状態を示すプレビュー表示であり、3022は図24の可変コンテナ(イメージコンテナ)2422に、図29とは異なるイメージデータを流し込んだ状態を示すプレビュー表示を示す。3041は非印刷の動的ガイドが設定された状態を示すプレビュー補助表示であり、3042は非印刷の重なり防止用可変リンクが設定された状態を示すプレビュー補助表示である。
図32において、マウス133によるメニューアイテム304(図3)に対するユーザ操作により、図24のドキュメントテンプレート2409に存在する可変コンテナに対してイメージデータの流し込みが指示され、イメージコンテナとして機能する可変コンテナ2421および可変コンテナ2422に対しバリアブルデータ(コンテンツ)が流し込まれると(S3201)、レイアウト編集アプリケーション121は、イメージコンテナ2421およびイメージコンテナ2422を構成する各辺に設定されている内容をチェックし、可変に設定されている場合は流し込まれたイメージデータのコンテンツサイズに合わせてコンテナサイズを拡張または縮小(拡縮)する(S3202)。なお各コンテナの設定内容はメモリユニット136に保持されているため、レイアウト編集アプリケーションが参照することにより認識することができる。
図24において、イメージコンテナとして機能する可変コンテナ2421を構成する辺のプロパティ設定は、幅(図中のX方向)に関しては右辺、高さ(図中のY方向)に関しては下辺が可変に設定されており、拡縮可能である。
また、イメージコンテナとして機能する可変コンテナ2422を構成する辺のプロパティ設定は、幅に関しては左辺および右辺、高さに関しては下辺が可変に設定されており、拡縮可能である。
レイアウト編集アプリケーション121は、イメージデータのデータサイズと、イメージコンテナとして機能する可変コンテナ2421および可変コンテナ2422のサイズを比較し、各コンテナ内にイメージデータが収まるように、可変コンテナ2421の右辺及び下辺をそれぞれ右方向(図中X+方向)および下方向(図中のY−方向)に拡大し、また同様に、可変コンテナ2422の左辺、右辺及び下辺をそれぞれX−方向、X+方向、Y−方向に拡大する(S3203)。詳細には、S3203による各コンテナのサイズ変更は上述したレイアウト計算により実行される。
ステップS3202において、可変コンテナのサイズが変更された場合(S3202−YES)、レイアウト編集アプリケーション121は、処理をステップS3204に進め、例えば、可変コンテナ2421の右辺(右エッジ)のように、拡縮方向側のコンテナエッジに動的ガイド2441が設けられているか否かを判定する(S3204)。詳細には、動的ガイドが設定されているか否かは上述した通りメモリユニット136に保持されているため、レイアウト編集アプリケーションが参照することにより、判定可能である。
拡縮方向側のコンテナエッジに動的ガイド2441が設けられている場合(S3204−YES)、レイアウト編集アプリケーション121は、動的ガイド2441を可変コンテナ2441の右辺(右エッジ)に接した状態を維持してドキュメントテンプレート2409上を移動させ、動的ガイドの位置を変更する(S3205)。すなわち、図24の場合、動的ガイド2441を可変コンテナ2421の右辺(右エッジ)に接した状態で右方向(図中のX+方向)に移動させる。
ステップS3206において、レイアウト編集アプリケーション121は、ステップS3202における可変コンテナのサイズの拡縮、ステップS3205における動的ガイドの位置変更に応じて、重なり防止用可変リンク2442の長さを変更する(S3206)。
重なり防止用可変リンク2442のリンク長を変更した結果、重なり防止用可変リンク2442の長さが、図28で設定した重なり防止用可変リンクの長さの最小値より小さくなった場合(S3207―YES)、レイアウト編集アプリケーション121は、重なり防止用可変リンク2442によって動的ガイド2441と結ばれている可変コンテナ2422の位置を重なり防止用可変リンク2442の長さが設定された最小値の条件を満たすように移動させて可変コンテナ2422のレイアウトを決定し(S3208)、処理を終了する。
一方、図30の例においては、図29とは異なり、イメージデータのサイズが可変コンテナ2421、2422のオリジナルサイズより小さいため、可変コンテナ3021(図24の2421が対応する)の右辺(右エッジ)に接して設けられている動的ガイド3041(図24の2441)は、イメージコンテナ3021の右辺(右エッジ)の縮小とともに左方向(図中のX−方向)に移動する。また、その動的ガイド3041(図24の2441)と重なり防止用可変リンクで結ばれている可変コンテナ3042(図24の2422)は幅・高さともにサイズが縮小されるため、重なり防止用可変リンク3042の長さは、当初の重なり防止用可変リンク2442長さに比べて、その長さは拡大される。
レイアウト編集アプリケーション121は、図32のステップS3201において、バリアブルデータが可変コンテナに流し込まれると、各コンテナに設定されている重なり防止用可変リンク以外の可変リンクや固定リンクの設定の有無や、コンテナに設定されているプロパティ等をチェックし、コンテナサイズの変更に関して拘束となるような条件設定の有無を判定し、かかる条件設定を充足しつつ動的ガイドの位置、重なり防止用可変リンク長を変更し、可変コンテナのレイアウトを決定する。
図31は、図27のドキュメントテンプレート2709上に存在する可変コンテナ(動的オブジェクト)(2721、2722、2723)に対し、イメージデータを流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。
3121は、図27に示した可変コンテナ(イメージコンテナ)2721にイメージデータを流し込んだ状態を示すプレビュー表示であり、3122は図27の可変コンテナ(イメージコンテナ)2722にイメージデータを流し込んだ状態を示すプレビュー表示を示し、3141は非印刷の動的ガイドが設定された状態を示すプレビュー補助表示であり、3142は非印刷の重なり防止用可変リンクが設定された状態を示すプレビュー補助表示である。3143は、非印刷の動的ガイドが設定された状態を示すプレビュー補助表示であり、3144は非印刷の重なり防止用可変リンクが設定された状態を示すプレビュー補助表示である。3123は図27の可変コンテナ2723にイメージデータを流し込んだ状態を示すプレビュー表示である。
図31に示すように、水平方向(図中のX方向)、垂直方向(図中のY方向)において、動的ガイド(3141、3143)および重なり防止用可変リンク(3142、3144)が設定される場合も、レイアウト編集アプリケーション121は、図29、図30、図32で説明した処理と同様の処理を行う。本実施形態における動的ガイドは、コンテナの辺が可動するのに合わせて移動可能な動的(可変)性質を持つが、固定コンテナ(静的オブジェクト)や可変コンテナ(動的オブジェクト)を構成する固定辺(固定エッジ)に接して設けられている場合、動的ガイドは不動であり、かかる動的ガイドの属性を、ユーザが編集することは不可である。なお、本願では動的ガイドをコンテンツの辺に接するとして記述されているが、それに限らず所定の距離を保って表示されても構わない。
(対応角リンク)
先に説明した図25A〜Cの重なり防止用可変リンクの設定処理では、図24、図27で示したように、垂直方向(図中のY方向)の動的ガイド(2441、2741)に対しては水平方向(図中のX方向)の重なり防止用可変リンク(2442、2742)を、水平方向(図中のX方向)の動的ガイド2743に対しては垂直方向(図中のY方向)の重なり防止用可変リンク2744を作成する処理を説明した。
しかしながら、重なりを許さない(重なりを拒否する)旨を選択した際に、被重なりオブジェクトの可動領域に、重なりオブジェクトが拡張して侵入する可能性がある辺を一つに特定できない場合がある。例えば、図23の被重なりオブジェクト2321の右辺は可変コンテナ2323の拡張により可変コンテナ2323の左辺の侵入を受ける可能性があるが、ドキュメントテンプレート上の可変コンテナのレイアウトや各コンテナの特性として設定されるエッジステータスやコンテナサイズの最大値の設定などによっては、侵入辺を一つに特定することができない場合も考えられる。
ここで、侵入辺を一つに特定することができない場合の例を、図33、35、37を参照して説明する。図33は、垂直方向(図中のY方向)および水平方向(図中のX方向)の動的ガイド(3341、3342)および重なり防止用対応角可変リンク(3343)を表示するレイアウト編集アプリケーション121の編集画面を示す図である。
図33では、イメージコンテナとして機能する可変コンテナ(3321、3322、3323、3324)がドキュメントテンプレート3309上に配置され、固定リンク3325によって、可変コンテナ3322と3323が関連付けられ、固定リンク3326によって、可変コンテナ3322と3324が関連付けられ、更に、固定リンク3327によって、可変コンテナ3323と3324が関連付けられている。
可変コンテナ3321と可変コンテナ3322は、重なり防止用対応角可変リンク(3343)により重なりが防止されている。重なり防止用対応角可変リンク(3343)は、一つのリンク設定により、被重なりオブジェクトである可変コンテナ3321の可動範囲内(可変コンテナ3321を構成する二辺(3351、3352)が移動することにより定められる)に、重なりオブジェクトである可変コンテナ3322を構成する二辺(3353、3354)が侵入する(重複する)ことを防止する。
図35および図37は、図33において、重なり防止用対応角可変リンク3343を適用しない可変コンテナにイメージデータを流し込んだ場合、可変コンテナのレイアウトがどのように変化するかを示すレイアウト編集アプリケーション121によるプレビュー画面を例示する図である。
図33において、可変コンテナ3322のサイズよりも大きいイメージデータを可変コンテナ3322に流し込むと、可変コンテナ3322のサイズは拡張する。この際、可変コンテナ3322の上辺3354がY+方向に移動すると、可変コンテナ3321の下辺3352側に侵入(重複)し、同様に可変コンテナ3322の左辺3353がX−方向に移動すると、可変コンテナ3321の右辺3351側に侵入(重複)する可能性がある。
(侵入例1)
重なり防止用対応角可変リンクを設定しない場合、図35の例では、可変コンテナ3322(図33)の上辺が可変コンテナ3321(図33)の下辺に最初に侵入している。これは、以下のレイアウトフローによって発生する。
(1)可変コンテナ3321(図33)にイメージデータを流し込むことにより、コンテナサイズが拡張して可変コンテナの右辺3351(図33)は右方向(X+方向)へ移動する(この状態を、プレビュー表示として可変コンテナ3521として示す)。
(2)可変コンテナ3322、3323、3324(図33)にイメージデータを流し込み、可変コンテナ3324(左右の辺および下辺は固定エッジ設定(破線部3528は、可変コンテナ3324の固定エッジを示す。))の可動エッジ(辺)3355がY+方向に移動する。この際、固定リンク3326、3327により関連付けされている可変コンテナ3322、3323は、可動辺3355の移動により、押し上げられてY+方向に移動する(この状態を、プレビュー表示として可変コンテナ3522、3523として示す)。
(3)上記(1)および(2)のステップで、イメージデータを可変コンテナに流し込むことにより、可変コンテナ3521の下辺に対し、可変コンテナ3522の上辺が侵入する(3530はコンテナの重なり部分を示す)。
(侵入例2)
また、重なり防止用対応角可変リンクを設定しない場合、図37の例では、可変コンテナ3322の左辺が可変コンテナ3321の右辺に最初に侵入している。これは、以下のレイアウトフローによって発生する。
(1)可変コンテナ3321(図33)にイメージデータを流し込むことにより、コンテナサイズが拡張して可変コンテナの下辺3352(図33)は下方向(Y−方向)へ移動する(この状態を、プレビュー表示として可変コンテナ3721として示す)。
(2)可変コンテナ3322、3323、3324(図33)にイメージデータを流し込み、可変コンテナ3323(右辺が固定エッジ設定(破線部3729は、可変コンテナ3323(図33)の固定エッジを示す。))の可動エッジ(辺)3356がX−方向に移動する。この際、固定リンク3325によりリンクされている可変コンテナ3322は、可動辺3356の移動により、押されてX−方向に移動する(この状態を、プレビュー表示として可変コンテナ3722として示す)。
(3)上記(1)および(2)のステップで、イメージデータを可変コンテナに流し込むことにより、可変コンテナ3721の右辺に対し、可変コンテナ3722の左辺が侵入する(3730はコンテナの重なり部分を示す)。
侵入例1、2で示した場合において、例えば、重なりオブジェクト3322(可変コンテナ)によって最初に侵入される可能性がある被重なりオブジェクト3321(可変コンテナ)の水平方向と垂直方向の二辺(三辺以上というのはありえない)に対し、動的ガイドおよび重なり防止用可変リンクを作成してしまうと、重なりが生じなくても常に重なりオブジェクトのレイアウトの範囲が制限されてしまうという問題点が発生する。
図27を用いて上記問題点について具体的に説明すると。例えば、図27の可変コンテナ2722には、垂直方向の動的ガイド2741に対して重なり防止用可変リンク2742が設定されているが、仮に、水平方向の動的ガイド2743に対しても重なり防止用可変リンクが設定されると、可変コンテンツ2722にイメージデータ等が流し込まれた際、可変コンテナ2722の可動範囲は垂直方向の動的ガイド2741と水平方向の動的ガイド2743により制限される。つまり、可変コンテナ2722の可動範囲は、動的ガイド2741より右側で、動的ガイド2743より上側のドキュメントテンプレート2709上の領域に制限されることとなる。
可変コンテナの可動範囲が動的ガイド及び重なり防止用可変リンクの設定により制限されるという上記問題を避けるため、本発明の実施形態では、被重なりオブジェクトにおいて、他の重なりオブジェクト(可変コンテナ)により最初に侵入される可能性がある水平方向と垂直方向の二辺に対し、図33の3343に示すような、対応角リンクを作成する。以下の説明では、対応角リンク3343のように重なり防止用可変リンクとして機能するリンクを「重なり防止用対応角可変リンク」という。重なり防止用対応角可変リンクは、被重なりオブジェクトに当接する2つの動的ガイドと、重なりオブジェクト(可変コンテナ)側の2辺とを考慮したものであり、重なりオブジェクト(可変コンテナ)側から被重なりオブジェクト(可変コンテナ)に重なることを防止する。
(重なり防止用対応角可変リンクの設定)
図39は、本発明の実施形態において適用することが可能な、重なり防止用対応角可変リンクを設定する処理の流れを説明するフローチャートであり、図25Bで説明した重なり防止用可変リンク設定ステップであるステップS2515及びS2516に関する詳細な処理の流れを説明するフローチャートである。
まず、ステップS3901において、図25BのステップS2515のように、レイアウト編集アプリケーション121が被重なりオブジェクト(例えば、図33の動的オブジェクト3321)に動的ガイドを作成するか判定する。動的ガイドを作成する場合(S3901−YES)、ステップS3902に処理を進め、レイアウト編集アプリケーション121は、重なりを許さないプロパティが設定されている被重なりオブジェクト(可変コンテナ)3321において、他の重なりオブジェクトによって、侵入される可能性がある辺(「被侵入辺」という。)が二辺存在するか判定する(S3902)。詳細には、ドキュメントテンプレート上にある各オブジェクトの可変範囲および移動範囲は上述した通りメモリユニット136に保持されているので、レイアウト編集アプリケーションが該メモリユニットを参照することにより、判定することが可能となる。
例えば、可変コンテナ3321の場合、水平方向の辺3352及び垂直方向の辺3351の二辺が被侵入辺に該当する場合(S3902−YES)、レイアウト編集アプリケーション121は、処理をステップS3903に進める。一方、ステップS3902の判定で、被侵入辺が二辺存在しない場合(S3902−NO)、処理をステップS3905に進め、図25BのステップS2515で説明した動的ガイドの設定、ステップS2516で説明した重なり防止用リンクの設定の処理に移行する。
被侵入辺が二辺ある場合(S3902−YES)、レイアウト編集アプリケーション121は、被侵入辺にそれぞれ当接する動的ガイド(例えば図33では、動的ガイド3341、3342)を設定する(S3903)。
続いて、レイアウト編集アプリケーション121は、重なり防止用対応角可変リンクを設定する(S3904)。S3904の詳細について説明するため、図33を用いて具体的に説明する。レイアウト編集アプリケーション121は、ステップS3903で作成された二つの動的ガイド3341、3342の交点(可変コンテナ3321の辺3351と辺3352からなるコーナー部)と、可変コンテナ3322の2つの侵入辺3353と3354からなるコーナー部とを結ぶリンクとして、重なり防止用対応角可変リンク3343を設定する。この処理は、図25Bで説明した重なり防止用可変リンクの設定ステップS2516に対応する。
図39において説明した通り、重なり防止用対応角可変リンクは、被侵入辺が二辺ある場合(つまり、重なり方向を特定することができない場合)に設定され、後述するようにレイアウト計算の結果に応じて設定方向が決定された重なり防止用リンクに変更されるリンクである。
図34は、重なり防止用対応角可変リンクの属性を設定するダイアログウィンドウ3401の例を示す図である。このダイアログは典型的にタイトルバー3402、ツールボタン3403、ダイアログウィンドウの開閉を行うボタン3404、各種の情報をセットするエリア3409で構成されている。
対応角可変リンクの垂直方向の長さ(水平方向の動的ガイドと、コンテナの上辺または下辺との垂直距離)の最小値がテキストボックス3410で設定できる。また、対応角可変リンクの水平方向の長さ(垂直方向の動的ガイドと、コンテナの左辺または右辺との水平距離)の最小値がテキストボックス3412で設定できる。
リストボックス3411、3413では長さの単位が設定される。ここでは例としてどちらもmmが表示されている。尚、ユーザが、テキストボックスで可変リンクの長さに、プラス値ではなく、マイナス値を設定した場合、「動的オブジェクトの重なりを許さない」属性の設定に関わらず、動的ガイドとコンテナの重なりを許す設定になる。
図40は、重なり防止用対応角可変リンクが設定された場合のレイアウト編集アプリケーション121におけるレイアウト編集処理の流れを説明するフローチャートである。なお、説明を詳細にするため図33を用いて具体的に説明する。
レイアウト編集アプリケーション121は、マウス133によるメニューアイテム304(図3)に対するユーザ操作により、図33のドキュメントテンプレート3309にイメージデータの流し込みが指示され、可変コンテナ3321および可変コンテナ3322〜3324に対し、イメージデータ(コンテンツ)が流し込まれたと判定した場合(S4001―YES)、可変コンテナ3321および可変コンテナ3322〜3324を構成するエッジ(辺)の可変設定に従ってイメージデータのコンテンツサイズに合わせてコンテナサイズを拡縮する。また、レイアウト編集アプリケーション121は他の可変コンテナと間で、レイアウト計算に影響を与える固定リンクや可変リンク等の設定が存在する場合、図9で説明したように動的レイアウトの計算により可変コンテナのレイアウト位置を移動させる(S4002)。
ステップS4002による可変コンテナの拡縮および位置の移動により、レイアウト編集アプリケーション121が、可変コンテナのサイズまたは位置が変更されたと判定した場合(S4003―YES)、可変コンテナ3321の右辺3351および下辺3352のように、動的ガイド3341、3342が既に設定されているか判定し(S4004)、動的ガイドが設定されている場合は、処理をステップS4005に進め、レイアウト編集アプリケーション121はその動的ガイドをコンテナの辺に接した状態を維持して、可変コンテナの拡縮、または位置変更に合わせて移動させる(S4005)。
ステップS4003の判定において、コンテナサイズ等が変更されない場合は処理を終了する(S4003−NO)。
また、図40のステップS4004で動的ガイドが設定されていない場合(S4004−NO)、処理を終了する代わりに、重なり防止用対応角可変リンクを設定するための動的ガイドを新たに設定するようにしてもよい。
レイアウト編集アプリケーション121は、ステップS4002による可変コンテナのサイズおよび位置変更、ステップS4005による動的ガイドの位置変更の結果を反映させた結果、図35、図37で説明したように、コンテナ同士(3521および3522、3721及び3722)が重なると判断した場合(S4006―YES)、レイアウト編集アプリケーション121は、コンテナ同士の重なり方向を判定する(S4007)。図35のように、コンテナ同士の重なりが垂直方向である場合(S4007−YES)、レイアウト編集アプリケーション121は、重なり防止用対応角可変リンク3343を垂直方向の重なり防止用可変リンクに変更する(S4008)。
また、ステップS4007の判定で、コンテナ同士の重なり方向が、図37のように、水平方向である場合(S4007−NO)、レイアウト編集アプリケーション121は、重なり防止用対応角可変リンク3343を水平方向の重なり防止用可変リンクに変更する(S4009)。
そして、処理をステップS4010に進め、動的レイアウト計算によるレイアウト変更に伴い、重なり防止用可変リンクの長さを変更する(S4010)。重なり防止用可変リンクのリンク長を変更した結果、重なり防止用可変リンクの長さが、図34の重なり防止用対応角可変リンクの属性を設定するダイアログウィンドウのテキストボックス3410(ステップS4008による垂直方向の重なり防止用可変リンクの場合)または3412(ステップS4009による水平方向の重なり防止用可変リンクの場合)でユーザが設定した重なり防止用可変リンクの長さの最小値より小さくなった場合(S4011―YES)、レイアウト編集アプリケーション121は重なり防止用可変リンクによって動的ガイドと結ばれているコンテナの位置を重なり防止用可変リンクの長さがその最小値の条件を満たすようにリンク長さを増加させる方向にリンクが設定されている辺の位置を移動させて、可変コンテナのレイアウトを決定し(S4012)、処理を終了する。
ステップS4011の判定において、リンクの長さが最小値より小さくない場合(S4011−NO)、そのリンク長により定められる位置で可変コンテナのレイアウトを決定し、処理を終了する。
以上、図40によるレイアウト処理により、例えば、上述した「侵入例1」および「侵入例2」のように重なり方向を特定することができないような図33のようなレイアウトにおいても、重なり防止用対応角可変リンクを設定することにより、実際に流し込まれたバリアブルデータに応じて、前記重なり防止用対応角可変リンクを垂直方向の重なり防止用リンクまたは水平方向の重なり防止用リンクに切り替えることが可能となる。
これにより、最初に侵入される可能性がある被重なりオブジェクトの水平方向と垂直方向の二辺に対し、重なりが生じないにも関わらず動的ガイドおよび重なり防止用可変リンクを作成することにより、重なりオブジェクトのレイアウトの範囲が制限されてしまうという問題点を解消することが可能となる。
(レイアウト例1)
図36は図40の処理により、図33のレイアウトが遷移したレイアウト例を示す図である。レイアウト編集アプリケーションは、バリアブルデータが各コンテナに流し込まれることにより、上記「侵入例1」のような重なりが生じると判定する。これにより、重なり防止用対応角可変リンク3343は垂直方向の重なり防止用可変リンク3643と変更され、図35の可変コンテナ3521と可変コンテナ3522のように可変コンテナ同士が重ならないようレイアウトされる。
可変コンテナ3622は、可変コンテナ3621に設定されている動的ガイド3642と、重なり防止用可変リンク3643により、Y+方向の移動(可変コンテナの拡張)が拘束され、イメージデータを収めた可変コンテナ3622のサイズを拡張する必要がある場合、レイアウト編集アプリケーション121は、Y−方向に可変コンテナを構成する辺を移動させて、可変コンテナのサイズを拡張し、レイアウトの位置を決定する。
また、可変コンテナ3622と固定リンク(3626、3627)により関連付けられている可変コンテナ3624や3623についても可変コンテナ3622と同様に、コンテナサイズを拡張する必要がある場合または可変コンテナ3622の拡張等によりレイアウト位置が変更となる場合、レイアウト編集アプリケーション121は、Y−方向に可変コンテナを構成する辺を移動させてレイアウトの位置を決定する。
(レイアウト例2)
図38は図40の処理により、図33のレイアウトが遷移したレイアウト例を示す図である。レイアウト編集アプリケーションは、バリアブルデータが各コンテナに流し込まれることにより、上記「侵入例2」のような重なりが生じると判定する。これにより、重なり防止用対応角可変リンク3343が水平方向の重なり防止用可変リンク3843と変更され、図37の可変コンテナ3721と可変コンテナ3722のように可変コンテナ同士が重ならないようにレイアウトされる。
可変コンテナ3822は、可変コンテナ3821に設定されている動的ガイド3841と、重なり防止用可変リンク3843により、X−方向の移動(可変コンテナの拡張)が拘束され、イメージデータを収めた可変コンテナ3822のサイズを拡張する必要がある場合、レイアウト編集アプリケーション121は、X+方向に可変コンテナを構成する辺を移動させて、可変コンテナのサイズを拡張し、レイアウトの位置を決定する。
また、可変コンテナ3822と固定リンク(3825、3826)により関連付けられている可変コンテナ3824や3823についても可変コンテナ3822と同様に、コンテナサイズを拡張する必要がある場合または可変コンテナ3822の拡張によりレイアウト位置が変更となる場合、レイアウト編集アプリケーション121は、X+方向に可変コンテナを構成する辺を移動させてレイアウトの位置を決定する。
以上説明したように、本実施形態によれば、データを収めたコンテナ(部分表示領域)の重なりをレイアウト編集時において判定し、重なりを禁止する部分表示領域、重なりを許容する部分表示領域をレイアウト編集時にそれぞれ設定することで、ユーザの所望するレイアウト表示を効率的に実現するレイアウト制御技術を提供することが可能になる。
(第2実施形態)
次に、本発明の第2実施形態を説明する。本実施形態は、ドキュメントテンプレート上に配置されている複数のコンテナ同士の重なりを判定し、ユーザの指定に従い、各コンテナの表示を制御するものである。
上述のハードウエア構成及びソフトウェア構成の組み合わせにより、第2実施形態にかかるレイアウト制御装置の構成が実現する。
割り当てられたデータを収め、当該データをページ上にレイアウトする複数の部分表示領域の配置を制御するレイアウト制御装置は、割り当てられたデータを収めた前記各部分表示領域の可動領域を算出し、当該可動領域から前記複数の部分表示領域に重なりが生じるか予測する予測ユニットと、予測ユニットの予測により、前記複数の部分表示領域に重なりが生じると予測される場合、前記重なりが生じると予測される部分表示領域に対して表示順序を設定する表示順序設定ユニットと、前記表示順序設定ユニットにより設定された表示順序に従って部分表示領域を表示する表示制御ユニットを備える。
図41は、第2実施形態におけるレイアウト編集アプリケーション121の編集画面を示す図であり、ここでは4つの可変コンテナ(4111〜4114)にイメージデータを流し込んだ際に生じる可変コンテナの重なりを例として説明する。尚、説明では、イメージデータの流し込みを想定したイメージコンテナとして機能する可変コンテナの重なりを例としているが、テキストデータの流し込みを想定したテキストコンテナとして機能する可変コンテナであってもよく、テキストコンテナ及びイメージコンテナがドキュメントテンプレート上に混在して配置されるような場合であっても、レイアウト編集アプリケーション121(ユーザインターフェースモジュール103、レイアウトエンジンモジュール105を含む)は、複数のコンテナ同士の重なりを判定し、ユーザの指定に従って各コンテナの表示を制御することができる。なお、実施例2による処理は図17のレイアウト方法において1743が選択された場合に処理である。
4109はドキュメントテンプレートであり、このドキュメントテンプレート上に可変コンテナ4111〜4114が配置されおり、リンク4121によって可変コンテナ4112と可変コンテナ4113は関連づけられている。ここで、可変コンテナ4111には識別名として「コンテナA」が、可変コンテナ4112には識別名として「コンテナB」が、可変コンテナ4113には識別名として「コンテナC」が、そして可変コンテナ4114には識別名として「コンテナD」が、レイアウト編集アプリケーション121によって自動的に、またはユーザの指定によって付けられ、画面上に表示されている。
図42は、図41に配置された可変コンテナ4111〜4114の最大可動予測範囲を示す概念図である。この最大可動予測範囲は、図17で説明したコンテナの属性を設定するプロパティダイアログウィンドウにより設定されているエッジステータス、コンテナサイズに基づいて、レイアウトエンジン105によって計算される。図42に示すように、コンテナAは、コンテナB、コンテナCと水平方向で重なる可能性があり、また、コンテナDとは垂直方向で重なる可能性がある。
(重なり設定処理フロー)
図43は、レイアウト編集アプリケーション121による重なり設定処理の流れを説明するフローチャートである。
レイアウト編集アプリケーションは、ドキュメントテンプレート上に少なくとも2つのオブジェクトがあるか否かを判定する(S4301)。判定方法は、図25AのS2501と同様であるため詳細については省略する。S4301により、ドキュメントテンプレート上にオブジェクトがあると判定された場合、(S4301-YES)、レイアウト編集アプリケーション121はユーザによって該オブジェクトに対して設定が変更されたか否かを判定し、その判定がドキュメントテンプレートに存在するオブジェクトの動的要因に関連する変更であるか否かを判定する(S4302)。ここでいうオブジェクトの動的要因に関連する変更とは、静的オブジェクトから動的オブジェクトへの変更や動的オブジェクトの位置・サイズ・可変エッジ変更が該当する。なお、各オブジェクトの設定内容はメモリユニット136に保持されているので、レイアウト編集アプリケーションがメモリユニットを参照することによりS4302の判定処理を実行することが可能となる。
ステップS4302の判定において、動的要因の変更である場合(S4302−YES)、動的要因変更に関連する全ての動的オブジェクト(例えば、可変コンテナ)に関し、レイアウトエンジン105を用いてその最大可動領域を計算する(S4303)。
詳細には、図25BのS2508と同様であり、レイアウトエンジン105は、動的オブジェクトである可変コンテナの最大可動範囲を、「コンテナの最大サイズ設定」要因、「リンクされた他のコンテナによる移動」要因の二つの動的要因から算出する(最大可動領域を計算)。
また、ステップS4302の判定において、ユーザによって新たに加えられた変更が、ドキュメントテンプレートに存在するオブジェクトの動的要因に関連する変更でない場合(S4302−NO)、例えば、動的オブジェクト(可変コンテナ)から静的オブジェクト(固定コンテナ)への変更や静的オブジェクト(固定コンテナ)のレイアウト位置やサイズ変更などである場合、レイアウト編集アプリケーション121は静的オブジェクトである固定コンテナのレイアウト位置とサイズから変更に関連する静的オブジェクト(固定コンテナ)に関するドキュメントテンプレート上の占有領域を算出(領域計算)する(S4304)。なお静的オブジェクトの占有領域についてもメモリユニットに保持されているため、レイアウト編集アプリケーションが参照することにより算出可能である。
レイアウト編集アプリケーション121のレイアウトエンジンモジュール105は、ドキュメントテンプレート4109上に配置されているコンテナ群の最大可動領域の計算結果(S4303)またはドキュメントテンプレート上の占有領域の計算結果(S4304)から、図42に示すようなコンテナ群の重なり予測を算出する(S4305)。
レイアウト編集アプリケーション121は、オブジェクト群の重なり予測の算出結果を、既にメモリユニット136に保持されている前回の変更にかかる重なり予測の算出結果と比較して、重なり予測の算出結果に変更があれば(S4307−YES)、変更された重なり予測結果をメモリ136に保存し(S4308)、前回の変更にかかる重なり予測の算出結果を更新する。
そして、ステップS4309において、レイアウト編集アプリケーション121は、重なり予測に変更が生じたオブジェクトに関して、重なり属性を設定するユーザインターフェース(UI)を更新し(S4309)、処理を終了する。
重なり属性を設定するユーザインターフェース(UI)の更新は、レイアウト編集アプリケーション121の制御の下、自動的に更新してもよく、または、ユーザの指定により各コンテナの表示を制御することもできる。
(オブジェクトの重なり属性設定UI)
図44は、オブジェクトの重なり属性を設定するUI(以下、「重なり属性設定UI」という。)を例示する図である。4431はコンテナAの重なり属性設定UI、4432はコンテナBの重なり属性設定UI、4433はコンテナCの重なり属性設定UI、4434はコンテナDの重なり属性設定UIであり、レイアウト編集アプリケーション121のレイアウト編集処理の下、各オブジェクトについて、ドキュメントテンプレート上に配置されていて、重なりが予測される他のオブジェ(コンテナ)との関係で、重なりを拒否するか、「上」または「下」の重なりを許容(Z−Order)するか個別に設定することができる。
「重なりを許容」する設定が入力された場合、一の可変コンテナ及び他の可変コンテナの重複する部分は、いずれか一方を上、他方を下として重なった状態で配置される。
また、「重なりを拒否」する設定が入力された場合、一の可変コンテナ及び他の可変コンテナの双方、または、いずれか一方の配置を優先する詳細設定を追加する詳細設定の入力が入力可能になり、動的レイアウトを実行するレイアウトエンジンモジュール105は、詳細設定に従い重複が生じない位置に一の可変コンテナと他の可変コンテナとを配置する。
図43で説明した、レイアウト編集アプリケーション121の処理により、図44のコンテナAの重なり属性設定UI4431には、コンテナAとの重なりが予測されるオブジェクトとして、コンテナB、C、Dがリストされている。また、重なり属性設定UI4431中には、各コンテナに対してオプションボタンとして、「上」または「下」の重なりを許容する設定、「重なり拒否」の設定が選択可能になっている。重なり属性設定UI4431において、コンテナBに対しては「重なり拒否」が選択されており、コンテナCに対しては重なりを許容する指定「上」が、コンテナDに対しては重なりを許容する指定「下」が設定されている。
図44のコンテナBの重なり属性設定UI4432には、コンテナBとの重なりが予測されるオブジェクトとして、コンテナA、Cがリストされている。また、図44の重なり属性設定UI4432中には、各コンテナに対してオプションボタンとして、「上」または「下」の重なりを許容する設定、「重なり拒否」の設定が選択可能になっている。コンテナAに対する重なり属性設定には、コンテナAのコンテナBに対する重なり属性設定UI4431と同期(双方共に重なり拒否)するように「重なり拒否」が設定されており、コンテナCに対する重なり属性設定には、重なりを許容する指定「上」が重なり属性設定UI4432に設定されている。
コンテナCの重なり属性設定UI4433には、コンテナCとの重なりが予測されるオブジェクトとして、コンテナA、Bがリストされている。また、コンテナA、Bの場合と同様に、重なり属性設定UI4433の中には、各コンテナに対してオプションボタンとして、「上」または「下」の重なりを許容する設定、「重なり拒否」の設定が選択可能になっている。ここで、コンテナAに対する重なり属性設定は、コンテナAのコンテナCに対する重なり属性設定UI4431と同期(コンテナAが「上」、コンテナCが「下」となる重なりを許容)するように、重なりを許容する指定「下」が重なり属性設定UI4433に設定されている。また、コンテナBに対する重なり属性設定は、コンテナBのコンテナCに対する重なり属性設定UI4432と同期(コンテナBが「上」、コンテナCが「下」となる重なりを許容)するように、重なりを許容する指定「下」が重なり属性設定UI4433に設定されている。
コンテナDの重なり属性設定UI4434には、コンテナDとの重なりが予測されるオブジェクトとして、コンテナAがリストされている。また、コンテナA、B、Cの場合と同様に、重なり属性設定UI4434中には、各コンテナに対してオプションボタンとして、「上」または「下」の重なりを許容する設定、「重なり拒否」を設定の選択が可能になっている。ここで、コンテナAに対する重なり属性設定は、コンテナAのコンテナDに対する重なり属性設定4431と同期(コンテナAが「下」、コンテナDが「上」となる重なりを許容)するように、重なりを許容する指定「上」が重なり属性設定UI4434に設定されている。なお、本実施形態ではコンテナAが基準となって、コンテナB乃至Dの重なり設定が同期するとの記載になっておりますが、例えば、コンテナDの属性設定UI4434を「下」に変更した場合、コンテナAの属性設定UIは同期して「上」に変更されることとなる。また、各コンテナの重なり順序の設定や「重なり拒否」の設定は、重なると判断されたコンテナ同士が対応付けられた状態で保持されるため、例えば一方を「上」と設定した場合に、対応付けられているコンテナの表示順序は「下」と同期して設定することが可能となる。
このように、レイアウト編集アプリケーション121は、一方の重なり属性設定UIでのユーザ操作による設定を、他方の重なり属性設定UIの設定と同期して設定することができる。
レイアウト編集アプリメーション121による同期は、一方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「上」と設定した場合、これと重なる他方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「下」、一方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「下」と設定した場合、これと重なる他方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「上」、一方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「重なり拒否」と設定した場合、これと重なる他方のオブジェクト(コンテナ)の重なり属性設定UIの設定を「重なり拒否」、という関係に従い設定される。
重なり属性設定UIにリスト表示されるオブジェクトは、レイアウト編集アプリケーション121の処理ステップS4309により、重なり予測結果の変更に応じてオブジェクト(コンテナ)間で重なりが生じるようになった場合は追加され、重なりが解消した場合は削除される。重なり予測結果に基づいて、新たに追加されたオブジェクト(コンテナ)に対して重なりを許容する指定または重なりを禁止する指定を追加することが可能である。
(重なり拒否動的レイアウト設定UI)
図45は、オブジェクトの重なり拒否を指定した場合の動的レイアウト設定UI(以下、「重なり拒否動的レイアウト設定UI」という)を例示する図である。4541はコンテナAのコンテナBに対する重なり拒否動的レイアウト設定UIであり、4542はコンテナBのコンテナAに対する重なり拒否動的レイアウト設定UIである。
重なり拒否動的レイアウト設定UII4541は、コンテナAの重なり属性設定UI4431でコンテナBに対して「重なり拒否」が指定され、入力可能になった「詳細設定」ボタン4491が押下された際に、レイアウト編集アプリケーション121によって表示される。また、同様に、重なり拒否動的レイアウト設定UI4542は、コンテナBの重なり属性設定UI4432でコンテナAに対する「重なり拒否」が指定され、入力可能になった「詳細設定」ボタン4492が押下された際に、レイアウト編集アプリケーション121によって表示される。
図45に示すように、重なり拒否動的レイアウト設定UIにおいて、ユーザは3つのオプションボタン、「双方反発してレイアウト(等価)」、「相手に譲ってレイアウト(相手優先)」、「相手を動かしてレイアウト(自分優先)」の一つを指定することが可能である。
ユーザは、3つのオプションボタンのいずれかを指定することで、重なり拒否動的レイアウトの方法を指定することが可能になる。
ユーザがオプションボタンの内、「双方反発してレイアウト(等価)」を指定した際に、重なり拒否の対象となる相手側コンテナに対する自コンテナの反発方向(重複を回避して自コンテナを移動させる方向)を指定するオプションボタン、「自動」、「上」、「下」、「左」、「右」の指定が可能になる。これらのレイアウト編集は、レイアウト編集アプリケーション121の処理に基づくものである。
また、オプションボタンの内、「相手に譲ってレイアウト(相手優先)」を指定した際に、重なり拒否の対象となる相手側コンテナに対する自コンテナの移動方向を指定するオプションボタン、「自動」、「上」、「下」、「左」、「右」をユーザは指定することが可能になる。
また、オプションボタンの内、「相手を動かしてレイアウト(自分優先)」を指定した際に、重なり拒否の対象となる相手側コンテナの移動方向を指定するオプションボタン、「自動」、「上」、「下」、「左」、「右」をユーザは指定することが可能になる。
これらのレイアウト編集は、レイアウト編集アプリケーション121の処理に基づくものである。
例えば図45に記載されているコンテナAのコンテナBに対する重なり拒否動的レイアウト設定UI4541においては、オプションボタンで「双方反発してレイアウト(等価)」が指定されており、コンテナAのコンテナBに対する反発方向を指定するオプションボタンでは「下」が指定されている。また、コンテナBのコンテナAに対する重なり拒否動的レイアウト設定UI4542においては、コンテナAのコンテナBに対する重なり拒否動的レイアウト設定UI4541での設定と同期(双方共に反発)するように、オプションボタンで、「双方反発してレイアウト(等価)」が指定されており、また、同じく4541の設定と同期(コンテナAの反発方向が「下」、コンテナBの反発方向が「上」とする反発を許容)するように、コンテナBのコンテナAに対する反発方向を指定するオプションボタンでは「上」が指定されている。
このように、レイアウト編集アプリケーション121は、一方の重なり拒否動的レイアウト設定UIでのユーザ操作による設定を、他方の重なり拒否動的レイアウト設定UIの設定と同期して設定することができる。
レイアウト編集アプリメーション121による同期は、以下の関係に従い設定されるものとする。
(重なり拒否動的レイアウトの設定の同期)
(1)一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「双方反発してレイアウト(等価)」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「双方反発してレイアウト(等価)」とする。
(2)一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「相手に譲ってレイアウト(相手優先)」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「相手を動かしてレイアウト(自分優先)」とする。
(3)一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「相手を動かしてレイアウト(自分優先)」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「相手に譲ってレイアウト(相手優先)」とする。
(反発方向設定、自コンテナの移動方向設定、相手コンテナの移動方向設定の同期)
(1) 一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「自動」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「自動」とする。
(2) 一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「上」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「下」とする。
(3) 一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「下」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「上」とする。
(4) 一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「左」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「右」とする。
(5) 一方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「右」とした場合、重なり拒否の対象となる他方のオブジェクト(コンテナ)の重なり拒否動的レイアウト設定UIの設定を「左」とする。
なお、上述したような図44および図45により設定された内容は、メモリユニット136に保持されることとなる。
(重なり拒否動的レイアウト)
図46は、レイアウト編集アプリケーション121による重なり拒否動的レイアウトの具体的な処理の流れを説明するフローチャートである。ここで実行される重なり拒否動的レイアウトにおいては、一の可変コンテナと他の可変コンテナとの関係で、レイアウト編集アプリケーション121は、第1実施形態で説明した動的ガイド及び重なり防止用可変リンク、または、重なり防止用対応角可変リンクを設定して、各可変コンテナに重なりが生じないように可変コンテナの配置を制御することができるものとする。
マウス133によるメニューアイテム304に対するユーザ操作により、ドキュメントテンプレートにイメージデータの流し込みが指示され、レイアウト編集アプリケーション121は、可変コンテナにバリアブルデータの流し込みがされたか否かを判定する(S4601)。ここで、バリアブルデータの流し込みが行われたと判定した場合(S4601−YES)、レイアウト編集アプリケーション121のレイアウトエンジン105は、例えば、可変コンテナ(4111〜4114)に設定されているエッジステータスやコンテナサイズの設定、動的要因の変更等に基づいてドキュメントテンプレート4109上における配置を求め、可変コンテナ4111〜4114の最大可動予測範囲を算出する(動的レイアウトの実行)(S4602)。詳細については図43のS4302と同様であるため省略する。
動的レイアウト実行の結果、オブジェクト(可変コンテナ)同士に、重なりが生じているかレイアウト編集アプリケーション121は判断し(S4603)、重なりが生じている場合(S4603−YES)、レイアウト編集アプリケーション121は、重なりが生じているオブジェクト(可変コンテナ)に、図44で説明したコンテナの重なり属性設定UIで「重なり拒否」がユーザにより設定されているか判定する(S4604)。各設定された属性はメモリユニット136に保持されているため、レイアウト編集アプリケーション121がメモリユニット136を参照することにより判定可能である。
ステップS4604の判定で、可変コンテナに「重なり拒否」が設定されていない場合(S4604−NO)、レイアウト編集アプリケーション121は、重なりが生じているオブジェクト(可変コンテナ)に対し、図44で説明したコンテナの重なり属性設定UIでユーザにより設定されている重なりを許容する指定(Z−Order:「上」または「下」)の内容を反映させ、オブジェクトの表示順序(「上」または「下」の指定に従い一方のオブジェクト(可変コンテナ)の表示を上、他方のオブジェクト(可変コンテナ)の表示を下)を入れ替えて、編集画面にプレビューを行う(S4610)。
一方、ステップS4604の判定で、可変コンテナに「重なり拒否」が設定されている場合(S4604−YES)、処理をステップS4605に進め、レイアウト編集アプリケーション121は、図45で説明したオブジェクトの重なり拒否動的レイアウト設定UIで「双方反発してレイアウト」が設定されているか判定する(S4605)。なお上述した通り各設定内容はメモリユニット136に保持されているため、レイアウト編集アプリケーション121がメモリユニット136を参照することにより判定可能である。
ステップS4605の判定で、「双方反発してレイアウト」が設定されている場合、処理をステップS4606に進め、レイアウト編集アプリケーション121は、重なり拒否動的レイアウト設定UIで設定されている反発方向が「自動」に設定されているか判定する(S4606)。
ステップS4606の判定で、反発方向として「自動」が設定されている場合(S4606−YES)、レイアウト編集アプリケーション121はレイアウトエンジン105を用いて、移動方向が逆で、かつ移動量がほぼ等価となるような、双方のオブジェクト(可変コンテナ)が重ならなくなる移動位置を算出する(S4607)。S4607の処理は、レイアウト編集アプリケーション121が、各オブジェクトの位置を算出して重なり領域を認識し、重なり領域分だけ反対方向に移動させた位置が重ならなくなる移動位置となる。S4607により算出された移動位置に基づいて、双方のオブジェクト(可変コンテナ)を移動させてレイアウトし、そのレイアウト結果のプレビュー表示を行い(S4608)処理を終了する。
動的レイアウトを実行するレイアウトエンジン105は、重なり設定や重なり拒否、重なり拒否に関する詳細設定の内容等、設定された属性に基づいて、一の可変コンテナ及び他の可変コンテナの配置位置を再計算し、表示制御機能を備えるユーザインターフェースモジュール103は、再計算された結果をディスプレイ装置144上にプレビュー表示する。
ステップS4606で、重なり拒否動的レイアウト設定UIで反発方向「自動」が設定されていない場合(S4606−NO)、反発方向として設定されている「上」、「下」、「左」、「右」のいずれかに従い、レイアウト編集アプリケーション121は、コンテナ同士で双方逆に同期設定されている反発方向に、移動量がほぼ等価となるよう双方のオブジェクト(可変コンテナ)を移動させてレイアウトし、そのレイアウト結果のプレビュー表示を行って(S4609)、処理を終了する。
一方、ステップS4605の判定で、オブジェクトの重なり拒否動的レイアウト設定UIに「双方反発してレイアウト」が設定されていない場合(S4605−NO)、処理をステップS4611に進め、レイアウト編集アプリケーション121は、重なり拒否動的レイアウト設定UIに「相手に譲ってレイアウト(相手優先)」が設定されているか判定する(S4611)。
ステップS4611の判定で、重なり拒否動的レイアウト設定UIに「相手に譲ってレイアウト(相手優先)」が設定されている場合(S4611−YES)、処理をステップS4612に進め、レイアウト編集アプリケーション121は、重なり拒否動的レイアウト設定UIに、相手コンテナに対する自コンテナの移動方向として「自動」が設定されているか判定する(S4612)。
ステップS4612の判定で、移動方向として「自動」が設定されている場合は(S4612−YES)、処理をステップS4613に進め、レイアウト編集アプリケーション121は、レイアウトエンジン105を用いて、優先してレイアウト位置が決定された相手側のオブジェクト(可変コンテナ)に自オブジェクト(可変コンテナ)が重ならなくなる最小の移動位置を算出し(S4613)、その移動位置に自オブジェクト(可変コンテナ)を移動させてレイアウトし、そのレイアウト結果のプレビュー表示をして(S4614)、処理を終了する。
ステップS4612の判定で、重なり拒否動的レイアウト設定UIに、相手コンテナに対する自コンテナの移動方向として「自動」が設定されていない場合(S4612−NO)、「上」、「下」、「左」、「右」のいずれかの設定に従い、レイアウト編集アプリケーション121は、優先してレイアウト位置が決定された相手側のオブジェクト(可変コンテナ)に重ならなくなる位置まで自オブジェクト(可変コンテナ)を指定方向に従い移動させてレイアウトし、そのレイアウト結果のプレビュー表示をして(S4615)、処理を終了する。
ステップS4611の判定で、オブジェクトの重なり拒否動的レイアウト設定UIで「相手に譲ってレイアウト(相手優先)」が設定されておらず(S4611−NO)、「相手を動かしてレイアウト(自分優先)」が設定されている場合には(S4616―YES)、処理をステップS4617に進め、レイアウト編集アプリケーション121は、重なり拒否動的レイアウト設定UIで、自コンテナに対する相手コンテナの移動方向として「自動」が設定されているか判定する(S4617)。
ステップS4617の判定で、自コンテナに対する相手コンテナの移動方向として「自動」が設定されている場合には(S4617−YES)、処理をステップS4618に進め、レイアウト編集アプリケーション121は、レイアウトエンジン105を用いて、優先してレイアウト位置が決定された自オブジェクト(可変コンテナ)に相手側のオブジェクト(可変コンテナ)が重ならなくなる最小移動位置を算出し(S4618)、その算出位置に相手側のオブジェクト(可変コンテナ)を移動させてレイアウトし、そのレイアウト結果のプレビュー表示をして(S4619)、処理を終了する。
ステップS4617の判定で、重なり拒否動的レイアウト設定UIに自コンテナに対する相手コンテナの移動方向として「自動」が設定されていない場合(S4617−NO)、「上」、「下」、「左」、「右」のいずれかの設定に従いレイアウト編集アプリケーション121は、優先してレイアウト位置が決定された自オブジェクト(可変コンテナ)に重ならなくなる位置まで、指定方向に従い相手側のオブジェクト(可変コンテナ)を移動させてレイアウトし、そのレイアウト結果のプレビュー表示をして(S4620)、処理を終了する。
本実施形態2を用いることにより、本願のようにバリアブルデータの流し込みにより、レイアウトが変更され、オブジェクト同士が重なる場合であっても、重なり順序を設定することができるため、ユーザの意図を反映したレイアウトを作成することが可能となる。また、重なり拒否が設定されている場合には、複数の重なり回避方法(反発、相手優先、自分優先)を選択し、さらに回避する方向も設定できるため、単に重なりを回避するだけでなく、回避後においてユーザの意図を反映したレイアウトを作成することが可能となる。
図47は、図46で説明した処理を適用しない場合における、図41の可変コンテナにイメージデータを流し込んだ場合のレイアウト結果を示す図である。この場合、可変コンテナ4111のプレビュー表示4711に、可変コンテナ4112〜4114のプレビュー表示4712〜4714が重なってプレビュー表示されている。
図48は、図46で説明した処理を適用した場合、レイアウト編集アプリケーション121による図41の可変コンテナにイメージデータを流し込んだ場合のレイアウト結果を示す図である。
図48では図46に記載の処理を適用することにより、図47に示したイメージデータと同一のイメージデータを可変コンテナ(4111〜4114)に流し込んだ場合でも、図47のレイアウト結果とは異なり、可変コンテナ4111のプレビュー表示4811と可変コンテナ4112のプレビュー表示4812が重なっていない。
これは、図44のコンテナAの重なり属性設定UI4431およびコンテナBの重なり属性設定UI4432において、双方の設定として「重なり拒否」、図45のコンテナAの重なり拒否動的レイアウト設定UI4541およびコンテナBの重なり拒否動的レイアウト設定UI4542において、「双方反発してレイアウト(等価)」と指定され、そして、コンテナAの反発方向が「下」に、コンテナBの反発方向が「上」として設定されている内容に基づくものである。すなわち、図46の重なり拒否動的レイアウトの処理フローで説明したとおり、レイアウト編集アプリケーション121は、プレビュー表示4811の位置を下に、プレビュー表示4812の位置を上に移動させ、双方が重ならないようレイアウトしている。
また、プレビュー表示4811、4813、4814の重なりにおいて、レイアウト編集アプリケーション121は、図44のオブジェクトの重なり属性設定UIで、重なりを許容する設定に従い、コンテナDのプレビュー表示4814をコンテナAのプレビュー表示4811の上に、コンテナCのプレビュー表示4813をコンテナAのプレビュー表示4811の下に配置して表示している。
以上説明したように、本実施形態によれば、データを収めたコンテナ(部分表示領域)の重なりをレイアウト編集時において判定し、重なりを禁止する部分表示領域、重なりを許容する部分表示領域をレイアウト編集時にそれぞれ設定することで、ユーザの所望するレイアウト表示を効率的に実現するレイアウト制御技術を提供することが可能になる。また、重なりを許容する場合であっても、重なり順序(上または下)を各オブジェクトに設定できるようにしたため、ユーザが所望とするオブジェクトを最前面に表示することが可能となる。
(他の実施形態)
なお、本発明の目的は、前述した第1及び第2実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明の実施形態にかかるコンピュータシステムの構成を示す図である。 ホストコンピュータの具体的な構成を説明する図である。 レイアウトエンジンモジュールをホストコンピュータ101の他にエンジンサーバ227にもレイアウトエンジン225を設けた構成を示す図である。 メニューバー、ツールバー、ワークエリア、フローティングパレットを含むユーザインターフェース画面を示す図である。 コンテナ間のリンク、アンカーやスライダーを持つ典型的なコンテナを示す図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 コンテナを構成する辺に対するルールを例示的に説明する図である。 リンクの設定方法を説明するフローチャートである。 リンク作成時のユーザインターフェースの画面表示例を示す図である。 レイアウト計算の処理の流れを説明するフローチャートである。 レイアウト計算の詳細な処理の流れを説明するフローチャートである。 図9のフローに対応するユーザインターフェース画面の表示例を示した図である。 レイアウト計算時におけるコンテナの集合について説明する図である。 自動レイアウトシステムにおける典型的な可変リンクによるコンテナの配置を説明する図である。 自動レイアウトシステムにおける可変リンクを設定するフローを示す図である。 リンク1409の属性を設定するダイアログウィンドウの例を示す図である。 自動レイアウトシステムにおける固定リンクによるレイアウト結果を示す図である。 自動レイアウトシステムにおける可変リンクによるレイアウト結果を示す図である。 コンテナの属性を設定するプロパティダイアログウィンドウの例を示す図である。 コンテナのプロパティ設定操作におけるレイアウト編集アプリケーション121の処理の流れを説明するフローチャートである。 コンテナの設定が可変に変更される前のレイアウト編集アプリケーション121の編集画面を示す図である。 図19における静的オブジェクトであるイメージコンテナ1922がマウスポインタ2013により選択されて、イメージコンテナ1922のプロパティが可変に設定変更された際のレイアウト編集アプリケーション121の編集画面を示す図である。 レイアウトエンジンモジュール105が計算した図20に示すイメージコンテナ2021およびイメージコンテナ2022の最大可動領域及びそれらの重なり予測領域を概略的に示す図である。 編集対象の動的オブジェクトと異なる他の動的オブジェクトとの重なりを許すか否かをユーザに選択させるダイアログを表示するレイアウト編集アプリケーション121の編集画面を示す図である。 「動的オブジェクトの重なりを許さない」属性ダイアログを表示するレイアウト編集アプリケーション121の編集画面を示す図である。 垂直方向の動的ガイドおよび水平方向の重なり防止用可変リンクを表示するレイアウト編集アプリケーション121の編集画面を示す図である。 レイアウト編集アプリケーション121が実行する重なり防止用可変リンク設定処理の流れを説明するフローチャートである。 レイアウト編集アプリケーション121が実行する重なり防止用可変リンク設定処理の流れを説明するフローチャートである。 レイアウト編集アプリケーション121が実行する重なり防止用可変リンク設定処理の流れを説明するフローチャートである。 ドキュメントテンプレート2606上に存在する2つの可変コンテナ(動的オブジェクト)の可動領域が相互に重なる可能性がある場合に、レイアウト編集アプリケーション121が表示する「動的オブジェクトの重なりを許さない」属性を設定するためのダイアログを示す図である。 ドキュメントテンプレート2709上に存在する3つの可変コンテナについて、動的ガイドおよび重なり防止用可変リンクを設定するレイアウト編集アプリケーション121の編集画面を示す図である。 重なり防止用可変リンクの属性を設定するためのダイアログウィンドウ2801の例を示す図である。 図24のドキュメントテンプレート2409に存在する可変コンテナ(2421、2422)に対し、各可変コンテナに収めるためのデータを流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。 図24のドキュメントテンプレート2409上に存在する可変コンテナ(2421、2422)に対し、図29で使用したイメージデータとは異なるイメージデータを流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。 図27のドキュメントテンプレート2709上に存在する可変コンテナ(2721、2722、2723)に対し、イメージデータを流し込んだ状態を示すレイアウト編集アプリケーション121によるプレビュー画面を示す図である。 レイアウト編集アプリケーション121が実行する動的ガイド及び重なり防止用可変リンクの設定に関する処理の流れを説明するフローチャートである。 垂直方向(図中のY方向)および水平方向(図中のX方向)の動的ガイド(3341、3342)および重なり防止用対応角可変リンク(3343)を表示するレイアウト編集アプリケーション121の編集画面を示す図である。 重なり防止用対応角可変リンクの属性を設定するダイアログウィンドウ3401の例を示す図である。 図33において、重なり防止用対応角可変リンク3343を適用しない可変コンテナにイメージデータを流し込んだ場合、可変コンテナのレイアウトがどのように変化するかを示すレイアウト編集アプリケーション121によるプレビュー画面を例示する図である。 図40の処理による可変コンテナのレイアウト例を示す図である。 図33において、重なり防止用対応角可変リンク3343を適用しない可変コンテナにイメージデータを流し込んだ場合、可変コンテナのレイアウトがどのように変化するかを示すレイアウト編集アプリケーション121によるプレビュー画面を例示する図である。 図40の処理による可変コンテナのレイアウト例を示す図である。 本発明の実施形態において適用することが可能な、重なり防止用対応角可変リンクを設定する処理の流れを説明するフローチャートである。 重なり防止用対応角可変リンクが設定された場合のレイアウト編集アプリケーション121におけるレイアウト編集処理の流れを説明するフローチャートである。 第2実施形態におけるレイアウト編集アプリケーション121の編集画面を示す図である。 第2実施形態において、図41に配置された可変コンテナ4111〜4114の最大可動予測範囲を示す概念図である。 第2実施形態におけるレイアウト編集アプリケーション121による重なり設定処理の流れを説明するフローチャートである。 第2実施形態におけるオブジェクトの重なり属性を設定するUIを例示する図である。 第2実施形態におけるオブジェクトの重なり拒否を指定した場合の動的レイアウト設定UI例示する図である。 第2実施形態におけるレイアウト編集アプリケーション121による重なり拒否動的レイアウトの具体的な処理の流れを説明するフローチャートである。 第2実施形態における図46で説明した重なり設定の処理を適用しない場合における、図41の可変コンテナにイメージデータを流し込んだ場合のレイアウト結果を示す図である。 第2実施形態における図46で説明した重なり設定の処理を適用した場合、レイアウト編集アプリケーション121による図41の可変コンテナにイメージデータを流し込んだ場合のレイアウト結果を示す図である。 メモリユニットに保持されるプロパティダイアログウィンドウ1701を用いて設定された情報を示す図である。 メモリユニットに保持されるプロパティダイアログウィンドウ1701を用いて変更された情報を示す図である。 メモリユニットに保持される最大可動範囲の保持情報を示す図である。 メモリユニットに保持される重なり防止用リンク情報を示す図である。 縦方向および横方向を考慮したレイアウト計算を行ってレイアウトを決定する例を示す図である。
符号の説明
101 ホストコンピュータ
103 ユーザインターフェースモジュール
105 レイアウトエンジンモジュール
119 データベース
121 レイアウト編集アプリケーションプログラム
132 キーボード
133 マウス
143 I/Oインターフェース
144 ディスプレイ装置
301 アプリケーションウィンドウ
303 ツールバー
406 リンクツールボタン
407、408 コンテナ
409 アンカーアイコン
410 固定されていない辺
412 リンク

Claims (18)

  1. コンテンツデータを収めるための部分表示領域を配置する配置手段と、
    前記配置手段によって配置された前記部分表示領域に設定されている当該部分表示領域のサイズの制限情報に基づいて前記部分表示領域の可動領域を導出、 前記導出された当該可動領域から、前記部分表示領域に割り当てられるコンテンツデータによって当該部分表示領域のサイズが変更されることにより当該部分表示領域がページ上に配置されている他の部分表示領域と重なる可能性があるか否かを前記コンテンツデータが前記部分表示領域に割り当てられる前に予測する予測手段と、
    前記予測手段の予測により当該部分表示領域が他の部分表示領域と重なる可能性があると予測された場合、重なる可能性があると予測された前記部分表示領域と他の部分表示領域との間に重なりを防止するための重なり防止リンクを設定して表示する防止リンク表示手段とを有し、
    前記予測手段は、前記部分表示領域に設定されているサイズの制限情報としての最大値および最小値と他の部分表示領域とに設定されているサイズの制限情報としての最大値および最小値に基づいて当該部分表示領域と他の部分表示領域の可動領域を導出し、
    記部分表示領域の可動領域と前記他の部分表示領域の可動領域とに基づいて、当該部分表示領域と当該他の部分表示領域とが重なる可能性があるか否かを予測することを特徴とするレイアウト制御装置。
  2. 前記予測手段により重なると予測された場合、当該重なりを許容しない属性を前記部分表示領域に対して設定入力するための設定入力手段を有し、
    前記設定入力手段により重なりを許容しない属性が設定された場合、前記防止リンク表示手段は、前記重なりを許容しない属性が設定された部分表示領域と重なりが生じると予測される他の部分表示領域との間に重なり防止リンクを設定して表示することを特徴とする請求項1に記載のレイアウト制御装置。
  3. 前記割り当てられたデータサイズに応じて複数の部分表示領域の配置位置を調整する調整手段を更に備え、
    前記調整手段が、前記重なり防止リンクが設定されている部分表示領域および他の部分表示領域の少なくとも1つの配置位置を調整する場合、前記重なり防止リンクに対して設定されている最小値より小さくならないように、前記部分表示領域および他の部分表示領域の少なくとも1つの配置位置の調整に応じて重なり防止リンクの長さを変更することを特徴とする請求項1または2に記載のレイアウト制御装置。
  4. 記他の部分表示領域に設定されている当該領域のサイズが固定であることを示す属性情報から当該領域のサイズが可変であることを示す属性情報に変更された場合、前記予測手段は、重なりを予測する処理を実行することを特徴とする請求項1乃至のいずれか1項に記載のレイアウト制御装置。
  5. 前記予測手段は、前記部分表示領域の可動領域の算出結果に従い、前記部分表示領域と重なると予測される前記他の部分表示領域との重なり方向を特定できない場合、前記防止リンク表示手段は、前記調整手段により前記部分表示領域と前記他の部分表示領域との重なり方向が特定されることに応じて前記重なり防止リンクの設定方向を切り替えることが可能な対応角リンクを設定することを特徴とする請求項に記載のレイアウト制御装置。
  6. 前記対応角リンクが設定された場合、前記部分表示領域と重なる前記他の部分表示領域の重なり方向が水平方向か、または垂直方向かを判定する重なり方向判定手段を更に備え、
    前記防止リンク表示手段は、前記重なり方向判定手段の判定結果に従い、前記対応角リンクを水平方向の重なり防止リンクか、または垂直方向の重なり防止リンクに変更し、当該他の部分表示領域からの重なりを防ぐことを特徴とする請求項に記載のレイアウト制御装置。
  7. 配置手段と予測手段と防止リンク表示手段とを有するレイアウト制御装置で実行されるレイアウト制御方法であって、
    前記配置手段がコンテンツデータを収めるための部分表示領域を配置する配置工程と、前記配置工程によって配置された前記部分表示領域に設定されている当該部分表示領域のサイズの制限情報に基づいて前記部分表示領域の可動領域を導出、前記導出された当該可動領域から、前記部分表示領域に割り当てられるコンテンツデータによって当該部分表示領域のサイズが変更されることにより当該部分表示領域がページ上に配置されている他の部分表示領域と重なる可能性があるか否かを前記コンテンツデータが前記部分表示領域に割り当てられる前に、前記予測手段が予測する予測工程と、
    前記予測工程の予測により当該部分表示領域が他の部分表示領域と重なる可能性があると予測された場合、前記防止リンク表示手段が、重なる可能性があると予測された前記部分表示領域と他の部分表示領域との間に重なりを防止するための重なり防止リンクを設定して表示する防止リンク表示工程とを有し、
    前記予測工程は、前記部分表示領域に設定されているサイズの制限情報としての最大値および最小値と他の部分表示領域に設定されているサイズ制限情報としての最大値および最小値に基づいて当該部分表示領域と他の部分表示領域の可動領域を導出し、
    記部分表示領域の可動領域と前記他の部分表示領域の可動領域とに基づいて、当該部分表示領域と当該他の部分表示領域とが重なる可能性があるか否かを予測することを特徴とするレイアウト制御方法。
  8. 前記レイアウト制御装置は、設定入力手段を更に有し、
    前記予測工程により重なると予測された場合、前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記設定入力手段が、当該重なりを許容しない属性を前記部分表示領域に対して設定入力するための設定入力工程を有し、
    前記設定入力工程により重なりを許容しない属性が設定された場合、前記防止リンク表示工程は、前記重なりを許容しない属性が設定された部分表示領域と重なりが生じると予測される他の部分表示領域との間に重なり防止リンクを設定して表示することを特徴とする請求項7に記載のレイアウト制御方法。
  9. 前記レイアウト制御装置は、調整手段を更に有し、
    前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記調整手段が、前記割り当てられたデータサイズに応じて複数の部分表示領域の配置位置を調整する調整工程を更に備え、
    前記調整工程が、前記重なり防止リンクが設定されている部分表示領域および他の部分表示領域の少なくとも1つの配置位置を調整する場合、前記重なり防止リンクに対して設定されている最小値より小さくならないように、前記部分表示領域および他の部分表示領域の少なくとも1つの配置位置の調整に応じて重なり防止リンクの長さを変更することを特徴とする請求項7または8に記載のレイアウト制御方法。
  10. 記他の部分表示領域に設定されている当該領域のサイズが固定であることを示す属性情報から当該領域のサイズが可変であることを示す属性情報に変更された場合、前記予測工程は、重なりを予測する処理を実行することを特徴とする請求項乃至のいずれか1項に記載のレイアウト制御方法。
  11. 前記予測工程は、前記部分表示領域の可動領域の算出結果に従い、前記部分表示領域と重なると予測される前記他の部分表示領域との重なり方向を特定できない場合、前記防止リンク表示工程は、前記調整工程により前記部分表示領域と前記他の部分表示領域との重なり方向が特定されることに応じて前記重なり防止リンクの設定方向を切り替えることが可能な対応角リンクを設定することを特徴とする請求項に記載のレイアウト制御方法。
  12. 前記レイアウト制御装置は、方向判定手段を更に有し、
    前記対応角リンクが設定された場合、前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記方向判定手段が、前記部分表示領域と重なる前記他の部分表示領域の重なり方向が水平方向か、または垂直方向かを判定する重なり方向判定工程を更に備え、
    前記防止リンク表示工程は、前記重なり方向判定工程の判定結果に従い、前記対応角リンクを水平方向の重なり防止リンクか、または垂直方向の重なり防止リンクに変更し、当該他の部分表示領域からの重なりを防ぐことを特徴とする請求項11に記載のレイアウト制御方法。
  13. 配置手段と予測手段と防止リンク表示手段とを有するレイアウト制御装置で実行されるレイアウト制御方法をコンピュータに実行させるプログラムであって、当該レイアウト制御方法
    前記配置手段がコンテンツデータを収めるための部分表示領域を配置する配置工程と、
    前記配置工程によって配置された前記部分表示領域に設定されている当該部分表示領域のサイズの制限情報に基づいて前記部分表示領域の可動領域を導出、前記導出された当該可動領域から、前記部分表示領域に割り当てられるコンテンツデータによって当該部分表示領域のサイズが変更されることにより当該部分表示領域がページ上に配置されている他の部分表示領域と重なる可能性があるか否かを前記コンテンツデータが前記部分表示領域に割り当てられる前に、前記予測手段が予測する予測工程と、
    前記予測工程の予測により当該部分表示領域が他の部分表示領域と重なる可能性があると予測された場合、前記防止リンク表示手段が、重なる可能性があると予測された前記部分表示領域と他の部分表示領域との間に重なりを防止するための重なり防止リンクを設定して表示する防止リンク表示工程とを有し、
    前記予測工程は、前記部分表示領域に設定されているサイズの制限情報としての最大値および最小値と他の部分表示領域に設定されているサイズ制限情報としての最大値および最小値に基づいて当該部分表示領域と他の部分表示領域の可動領域を導出し、
    記部分表示領域の可動領域と前記他の部分表示領域の可動領域とに基づいて、当該部分表示領域と当該他の部分表示領域とが重なる可能性があるか否かを予測することを特徴とするプログラム。
  14. 前記レイアウト制御装置は、設定入力手段を更に有し、
    前記予測工程により重なると予測された場合、前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記設定入力手段が、当該重なりを許容しない属性を前記部分表示領域に対して設定入力するための設定入力工程を有し、
    前記設定入力工程により重なりを許容しない属性が設定された場合、前記防止リンク表示工程は、前記重なりを許容しない属性が設定された部分表示領域と重なりが生じると予測される他の部分表示領域との間に重なり防止リンクを設定して表示することを特徴とする請求項13に記載のプログラム。
  15. 前記レイアウト制御装置は、調整手段を更に有し、
    前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記調整手段が、前記割り当てられたデータサイズに応じて複数の部分表示領域の配置位置を調整する調整工程を更に備え、
    前記調整工程が、前記重なり防止リンクが設定されている部分表示領域および他の部分表示領域の少なくとも1つの配置位置を調整する場合、前記重なり防止リンクに対して設定されている最小値より小さくならないように、前記部分表示領域および他の部分表示領域の少なくとも1つの配置位置の調整に応じて重なり防止リンクの長さを変更することを特徴とする請求項13または14に記載のプログラム。
  16. 記他の部分表示領域に設定されている当該領域のサイズが固定であることを示す属性情報から当該領域のサイズが可変であることを示す属性情報に変更された場合、前記予測工程は、重なりを予測する処理を実行することを特徴とする請求項13乃至15のいずれか1項に記載のプログラム。
  17. 前記予測工程は、前記部分表示領域の可動領域の算出結果に従い、前記部分表示領域と重なると予測される前記他の部分表示領域との重なり方向を特定できない場合、前記防止リンク表示工程は、前記調整工程により前記部分表示領域と前記他の部分表示領域との重なり方向が特定されることに応じて前記重なり防止リンクの設定方向を切り替えることが可能な対応角リンクを設定することを特徴とする請求項15に記載のプログラム。
  18. 前記レイアウト制御装置は、方向判定手段を更に有し、
    前記対応角リンクが設定された場合、前記レイアウト制御装置で実行される前記レイアウト制御方法は、前記方向判定手段が、前記部分表示領域と重なる前記他の部分表示領域の重なり方向が水平方向か、または垂直方向かを判定する重なり方向判定工程を更に備え、
    前記防止リンク表示工程は、前記重なり方向判定工程の判定結果に従い、前記対応角リンクを水平方向の重なり防止リンクか、または垂直方向の重なり防止リンクに変更し、当該他の部分表示領域からの重なりを防ぐことを特徴とする請求項17に記載のプログラム。
JP2005061064A 2005-03-04 2005-03-04 レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム Expired - Fee Related JP4241647B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005061064A JP4241647B2 (ja) 2005-03-04 2005-03-04 レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム
US11/359,959 US7900139B2 (en) 2005-03-04 2006-02-22 Layout control apparatus, layout control method, and layout control program
CN2006100578981A CN100407125C (zh) 2005-03-04 2006-03-03 布局控制装置和布局控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005061064A JP4241647B2 (ja) 2005-03-04 2005-03-04 レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム

Publications (3)

Publication Number Publication Date
JP2006244276A JP2006244276A (ja) 2006-09-14
JP2006244276A5 JP2006244276A5 (ja) 2007-02-08
JP4241647B2 true JP4241647B2 (ja) 2009-03-18

Family

ID=36944176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005061064A Expired - Fee Related JP4241647B2 (ja) 2005-03-04 2005-03-04 レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム

Country Status (3)

Country Link
US (1) US7900139B2 (ja)
JP (1) JP4241647B2 (ja)
CN (1) CN100407125C (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4047308B2 (ja) * 2004-08-06 2008-02-13 キヤノン株式会社 レイアウト処理方法、情報処理装置及びコンピュータプログラム
US7472340B2 (en) * 2004-12-20 2008-12-30 Microsoft Corporation Method and computer-readable medium for generating a multiple column layout
DE102005009105A1 (de) * 2005-02-28 2006-09-07 Siemens Ag Verfahren und Verwalten einer Anzeigeeinrichtung
US7685530B2 (en) 2005-06-10 2010-03-23 T-Mobile Usa, Inc. Preferred contact group centric interface
US8359548B2 (en) 2005-06-10 2013-01-22 T-Mobile Usa, Inc. Managing subset of user contacts
US8370770B2 (en) 2005-06-10 2013-02-05 T-Mobile Usa, Inc. Variable path management of user contacts
US8370769B2 (en) 2005-06-10 2013-02-05 T-Mobile Usa, Inc. Variable path management of user contacts
US8255281B2 (en) 2006-06-07 2012-08-28 T-Mobile Usa, Inc. Service management system that enables subscriber-driven changes to service plans
US20100088623A1 (en) * 2006-10-13 2010-04-08 Core Aplli Incorporated Operational support computer program and operational assitance computer system
US9081782B2 (en) * 2006-11-17 2015-07-14 Cabin Creek, Llc Systems and methods for dynamically generating graphical memorabilia projects for presentation and use
JPWO2008096417A1 (ja) * 2007-02-06 2010-05-20 パナソニック株式会社 コンテンツリスト表示装置およびコンテンツリスト表示方法
AU2007201627B2 (en) * 2007-04-13 2010-11-25 Canon Kabushiki Kaisha Gluing layout containers
US20080266606A1 (en) * 2007-04-24 2008-10-30 Huenemann Geoffrey W Optimized print layout
US7949946B2 (en) * 2007-10-17 2011-05-24 Microsoft Corporation Layout and line routing composition
JP2009110391A (ja) * 2007-10-31 2009-05-21 Canon Inc 情報処理装置および制御方法および制御プログラム
JP4605478B2 (ja) * 2007-12-19 2011-01-05 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US20100053215A1 (en) * 2008-08-27 2010-03-04 International Business Machines Corporation Creation and application of patterns to diagram elements
US20100058162A1 (en) * 2008-08-27 2010-03-04 International Business Machines Corporation Automatic customization of diagram elements
US8717383B2 (en) * 2008-08-27 2014-05-06 International Business Machines Corporation Automatic management of diagram elements
US8402381B2 (en) * 2008-09-23 2013-03-19 International Business Machines Corporation Automatically arranging widgets of a model within a canvas using iterative region based widget relative adjustments
JP2010097564A (ja) * 2008-10-20 2010-04-30 Canon Inc 情報処理装置及びレイアウト処理方法
US8924888B2 (en) * 2008-11-13 2014-12-30 SAP France S.A. Dynamic data object insertion
JP5335495B2 (ja) * 2009-03-10 2013-11-06 キヤノン株式会社 情報処理装置、画像データ生成方法、及びコンピュータプログラム
US9369542B2 (en) 2009-03-27 2016-06-14 T-Mobile Usa, Inc. Network-based processing of data requests for contact information
US9210247B2 (en) * 2009-03-27 2015-12-08 T-Mobile Usa, Inc. Managing contact groups from subset of user contacts
US9355382B2 (en) 2009-03-27 2016-05-31 T-Mobile Usa, Inc. Group based information displays
US8739028B2 (en) * 2009-05-22 2014-05-27 Cabin Creek, Llc Methods for producing user-configurable accented presentations
US8438475B2 (en) * 2009-05-22 2013-05-07 Cabin Creek, Llc Systems and methods for producing user-configurable accented presentations
US9253447B2 (en) * 2009-12-29 2016-02-02 Kodak Alaris Inc. Method for group interactivity
US20110157218A1 (en) * 2009-12-29 2011-06-30 Ptucha Raymond W Method for interactive display
CN102117290B (zh) * 2009-12-30 2015-03-18 北京搜狗科技发展有限公司 一种展现网页中页面元素的方法及系统
JP5417185B2 (ja) * 2010-01-07 2014-02-12 1stホールディングス株式会社 オブジェクト処理装置およびオブジェクト選択方法
US8683370B2 (en) 2010-03-01 2014-03-25 Dundas Data Visualization, Inc. Systems and methods for generating data visualization dashboards
CA2716434A1 (en) * 2010-03-01 2011-09-01 Dundas Data Visualization, Inc. Systems and methods for determining positioning and sizing of graphical elements
JP2011248421A (ja) * 2010-05-24 2011-12-08 Sharp Corp データ作成方法及びデータ作成システム
US8479117B2 (en) * 2010-06-04 2013-07-02 Lenovo (Singapore) Pte. Ltd. Intelligent window sizing for graphical user interfaces
JP5739623B2 (ja) * 2010-06-25 2015-06-24 キヤノン株式会社 編集装置、およびプログラム
US20120089902A1 (en) 2010-10-07 2012-04-12 Dundas Data Visualization, Inc. Systems and methods for dashboard image generation
US20120102386A1 (en) 2010-10-20 2012-04-26 Microsoft Corporation Customization of Display Templates
US8806332B2 (en) * 2010-10-25 2014-08-12 Kodak Alaris Inc. Template opening modification for image layout method
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US9436685B2 (en) 2010-12-23 2016-09-06 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US20120166496A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for generating custom objects representing content files
US20120180108A1 (en) 2011-01-06 2012-07-12 Dundas Data Visualization, Inc. Methods and systems for providing a discussion thread to key performance indicator information
US9715485B2 (en) 2011-03-28 2017-07-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
TWI567570B (zh) * 2011-06-15 2017-01-21 微軟技術授權有限責任公司 用於產生代表內容檔案之客製物件的技術
WO2013038605A1 (ja) * 2011-09-13 2013-03-21 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、コンテンツファイルのデータ構造、gui配置シミュレータ、およびgui配置設定支援方法
US9418292B2 (en) * 2011-10-04 2016-08-16 Here Global B.V. Methods, apparatuses, and computer program products for restricting overlay of an augmentation
CN102346782A (zh) * 2011-10-25 2012-02-08 中兴通讯股份有限公司 在用户终端浏览器上按需显示图片的方法及装置
US8866854B2 (en) * 2011-10-31 2014-10-21 Microsoft Corporation Consolidated orthogonal guide creation
JP2013114424A (ja) * 2011-11-28 2013-06-10 Sony Computer Entertainment Inc 画面設定ファイル生成装置、情報処理装置、画面設定ファイル生成方法、画面表示方法、および画面設定ファイルのデータ構造
US10185703B2 (en) * 2012-02-20 2019-01-22 Wix.Com Ltd. Web site design system integrating dynamic layout and dynamic content
US10789412B2 (en) * 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout
US9704189B2 (en) * 2012-09-05 2017-07-11 Rakuten Kobo, Inc. System and method for a graphical user interface having recommendations
JP2014102790A (ja) * 2012-11-22 2014-06-05 Toshiba Corp 情報処理装置、プロファイル作成方法およびプログラム
US10078626B1 (en) * 2012-11-27 2018-09-18 Amazon Technologies, Inc. Automated layout testing of content
US9594603B2 (en) 2013-04-15 2017-03-14 Microsoft Technology Licensing, Llc Application-to-application launch windowing
US10754536B2 (en) 2013-04-29 2020-08-25 Microsoft Technology Licensing, Llc Content-based directional placement application launch
KR102192159B1 (ko) * 2013-07-25 2020-12-16 삼성전자주식회사 디스플레이 방법 및 그 방법을 처리하는 전자 장치
JP2015138315A (ja) * 2014-01-21 2015-07-30 コニカミノルタ株式会社 オブジェクト表示システム及びオブジェクト表示制御プログラム並びにオブジェクト表示制御方法
JP6422228B2 (ja) * 2014-03-28 2018-11-14 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US10162855B2 (en) 2014-06-09 2018-12-25 Dundas Data Visualization, Inc. Systems and methods for optimizing data analysis
JP5664813B1 (ja) * 2014-06-10 2015-02-04 富士ゼロックス株式会社 デザイン管理装置及びプログラム
JP6237498B2 (ja) * 2014-06-30 2017-11-29 カシオ計算機株式会社 図形表示制御装置、表示制御方法およびプログラム
US20160092404A1 (en) * 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Intent Based Feedback
CN105260351B (zh) * 2015-09-10 2018-05-01 武汉改图网技术有限公司 一种基于自适应模版的印刷品在线自助设计方法
JP6812170B2 (ja) * 2016-08-29 2021-01-13 キヤノン株式会社 情報処理装置、その制御方法、および制御プログラム
US11379252B1 (en) * 2018-01-31 2022-07-05 Parallels International Gmbh System and method for providing layouts for a remote desktop session
JP7158871B2 (ja) * 2018-03-15 2022-10-24 キヤノン株式会社 プログラム及び情報処理装置
US20190324776A1 (en) 2018-04-18 2019-10-24 Microsoft Technology Licensing, Llc Dynamic management of interface elements based on bound control flow
US10937127B2 (en) * 2018-08-13 2021-03-02 International Business Machines Corporation Methods and systems for managing text in rendered images
US11481083B2 (en) * 2018-09-18 2022-10-25 Figma, Inc. Tool for arranging objects and adjusting spacing in a layout
CN109766094A (zh) * 2018-11-19 2019-05-17 苏州蜗牛数字科技股份有限公司 一种停靠式布局窗口框架创建方法
CN109783181B (zh) * 2019-01-31 2019-12-20 掌阅科技股份有限公司 屏幕适配显示方法、电子设备及计算机存储介质
CN110515511A (zh) * 2019-08-20 2019-11-29 新奥数能科技有限公司 一种操作应用程序图标的方法及装置
US20210357110A1 (en) * 2020-05-13 2021-11-18 Cbs Interactive Inc. Systems and methods for generating consistent user interfaces across multiple computing platforms
CN112596730B (zh) * 2020-12-30 2024-06-18 广州繁星互娱信息科技有限公司 布局调整方法、装置、终端及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3838740A1 (de) 1987-11-16 1989-06-01 Canon Kk Dokumentationsverarbeitungsanlage
JPH01130274A (ja) 1987-11-16 1989-05-23 Canon Inc 文書処理装置
US5060170A (en) * 1989-08-09 1991-10-22 International Business Machines Corp. Space allocation and positioning method for screen display regions in a variable windowing system
JPH05110708A (ja) 1991-10-16 1993-04-30 Fuji Xerox Co Ltd ミクスト・モ―ド通信装置
US5459825A (en) * 1994-03-14 1995-10-17 Apple Computer, Inc. System for updating the locations of objects in computer displays upon reconfiguration
US5873106A (en) * 1995-09-18 1999-02-16 Oracle Corporation Geometry management for displaying objects on a computer
JPH09146948A (ja) 1995-11-22 1997-06-06 Sharp Corp 文書作成支援装置
US6300936B1 (en) * 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
JPH09311857A (ja) 1996-05-24 1997-12-02 Sumitomo Metal Ind Ltd 文書組版方法,電子組版装置及び記録媒体
JPH10154648A (ja) * 1996-11-22 1998-06-09 Mitsubishi Electric Corp 荷電ビーム描画データ作成装置
US5963203A (en) * 1997-07-03 1999-10-05 Obvious Technology, Inc. Interactive video icon with designated viewing position
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US6380954B1 (en) * 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search
JPH11232474A (ja) 1998-02-17 1999-08-27 Fuji Xerox Co Ltd デザイン制作支援装置
JPH11316792A (ja) 1998-02-27 1999-11-16 Mantaro Yajima 情報処理装置及び帳表作成方法
JP2000048216A (ja) 1998-07-24 2000-02-18 Dainippon Screen Mfg Co Ltd 画像部品ブロックのレイアウト処理方法及び装置、並びに、コンピュータ読み取り可能な記憶媒体
WO2000075768A1 (en) * 1999-06-07 2000-12-14 Hewlett-Packard Company An agent and method for dynamically scheduling publication in an automated document delivery system
US7028255B1 (en) * 2000-08-14 2006-04-11 Adobe Systems Incorporated Self-sizing object placement
US7356760B2 (en) * 2001-02-15 2008-04-08 Nbor Corporation System and method for editing an electronic document of text and graphic objects
JP4298362B2 (ja) * 2003-04-17 2009-07-15 キヤノン株式会社 情報処理装置及び印刷プレビュー表示方法
JP4165888B2 (ja) * 2004-01-30 2008-10-15 キヤノン株式会社 レイアウト制御方法、レイアウト制御装置及びレイアウト制御プログラム

Also Published As

Publication number Publication date
JP2006244276A (ja) 2006-09-14
CN1828516A (zh) 2006-09-06
US7900139B2 (en) 2011-03-01
US20060198555A1 (en) 2006-09-07
CN100407125C (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
JP4241647B2 (ja) レイアウト制御装置、レイアウト制御方法及びレイアウト制御プログラム
KR100716084B1 (ko) 레이아웃 조정 방법 및 장치
JP4332477B2 (ja) レイアウト調整方法及び装置並びにプログラム
US7831909B2 (en) Information processing apparatus, control method therefor, and program with display based on change amount of field areas
JP4144883B2 (ja) 情報処理装置及びその制御方法、プログラム
JP4110105B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
KR100821449B1 (ko) 레이아웃 조정 방법 및 장치
JP4912139B2 (ja) 情報処理装置
US7555710B2 (en) Method, apparatus and program for determining layout of a page using links between partial areas in the page
JP4059504B2 (ja) 文書処理装置及び文書処理方法及び文書処理プログラム
JP4298642B2 (ja) レイアウト処理方法およびレイアウト処理装置およびレイアウト処理プログラム
US7373593B2 (en) Apparatus and method for automatically setting constraints within a document layout
KR100818860B1 (ko) 정보 처리 장치와 그 제어 방법 및 기록 매체
JP2006277727A (ja) レイアウト処理方法、情報処理装置及びコンピュータプログラム
JP4510653B2 (ja) レイアウト決定方法及び装置並びにプログラム
JP2006065677A (ja) 情報処理装置及びその制御方法、プログラム
US7853872B2 (en) Laying out field regions in a page for insertion of data
JP4194501B2 (ja) 文書処理方法、文書処理装置及び文書処理プログラム
JP4250577B2 (ja) 情報処理装置、情報処理方法、ならびにプログラム
JP2010122893A (ja) バリアブルプリントシステム
JP2007122487A (ja) 自動レイアウトシステム
JP2010176366A (ja) バリアブルプリントシステム
JP2009134578A (ja) 文書処理装置、文書処理プログラム、記憶媒体
JP2007048198A (ja) 自動レイアウトシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140109

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees