(57)【要約】【課題】バリアブルプリントシステムにおいて、データベースから抽出した商品等のコンテンツ（例えば、商品広告）を、コンテンツのアピール度や優先度に応じて最適な位置に配置する。【解決手段】ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのサブテンプレートのレイアウトを変化させることが可能な自動レイアウト方法において、ページ上にサブテンプレートのフローを行う領域を設定し、ページ上に位置情報を設定し、コンテンツにコンテンツ情報を設定し、位置情報とコンテンツ情報とに基づき、サブテンプレートの配置領域を選択する。【選択図】図１２
2007334510.tif 000002
【特許請求の範囲】
【請求項１】
ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのサブテンプレートのレイアウトを変化させることが可能な自動レイアウトシステムにおいて、
前記ページ上に前記サブテンプレートのフローを行う領域を設定する手段と、
前記ページ上に位置情報を設定する手段と、
前記コンテンツにコンテンツ情報を設定する手段と、
前記位置情報と前記コンテンツ情報とにしたがって前記サブテンプレートのレイアウトを決定する手段と
を備えることを特徴とする自動レイアウトシステム。
【請求項２】
前記位置情報は、前記ページ内の各領域の特性を示し、前記コンテンツ情報は、前記コンテンツの特性を示すことを特徴とする請求項１記載の自動レイアウトシステム。
【請求項３】
前記位置情報は、前記ページ内に設定された軸により示されることを特徴とする請求項２記載の自動レイアウトシステム。
【請求項４】
前記軸を中心とする所定の範囲を許容範囲とし、当該許容範囲内に前記サブテンプレートを配置することを特徴とする請求項３記載の自動レイアウトシステム。
【請求項５】
ページ内の各領域に前記サブテンプレートのフロー方向を設定する手段と、
前記フロー方向にしたがって前記サブテンプレートを配置する手段と
を更に備えることを特徴とする請求項１〜４のいずれか１項に記載の自動レイアウトシステム。
【請求項６】
ページ内の各領域内に前記サブテンプレートの揃えを設定する手段と、
前記揃えにしたがって前記サブテンプレートを配置する手段と
を更に備えることを特徴とする請求項１〜５のいずれか１項に記載の自動レイアウトシステム。
【請求項７】
前記サブテンプレートが複数ページにまたがった場合に再配置領域を検出する手段と、
前記再配置領域に前記サブテンプレートを再配置する手段と
を更に備えることを特徴とする請求項１〜６のいずれか１項に記載の自動レイアウトシステム。
【請求項８】
ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのサブテンプレートのレイアウトを変化させることが可能な自動レイアウト方法において、
前記ページ上に前記サブテンプレートのフローを行う領域を設定するステップと
前記ページ上に位置情報を設定するステップと、
前記コンテンツにコンテンツ情報を設定するステップと、
前記位置情報と前記コンテンツ情報とに基づき、前記サブテンプレートのレイアウトを決定するステップと
を含むことを特徴とする自動レイアウト方法。
【請求項９】
ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのサブテンプレートのレイアウトを変化させることが可能なコンピュータに、
前記ページ上に前記サブテンプレートのフローを行う領域を設定する手順と
前記ページ上に位置情報を設定する手順と、
前記コンテンツにコンテンツ情報を設定する手順と、
前記位置情報と前記コンテンツ情報とに基づき、前記サブテンプレートのレイアウトを決定する手順と
を実行させるためのプログラム。
【請求項１０】
ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることが可能な情報処理装置において、
前記ページ上の各領域に特性を設定する設定手段と、
前記コンテンツの特性と、前記設定手段によって設定された各領域の特性にしたがって、前記コンテンツをレイアウトする処理手段と
を有することを特徴とする情報処理装置。
【請求項１１】
ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることが可能な情報処理方法において、
前記ページ上の各領域に特性を設定するステップと、
前記コンテンツの特性と、前記設定された各領域の特性にしたがって、前記コンテンツをレイアウトするステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
コンピュータに、ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることを実行させるためのプログラムにおいて、
前記ページ上の各領域に特性を設定する手順と、
前記コンテンツの特性と、前記設定された各領域の特性にしたがって、前記コンテンツをレイアウトする手順と
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動レイアウトシステムに関し、より詳細には、レイアウトするコンテンツ（商品広告等）の特性（アピール度、優先度等）に応じて、コンテンツのサブテンプレートのレイアウトを動的に決定する自動レイアウトシステムに関する。
【背景技術】
【０００２】
近年、商品の多品種化で商品のライフサイクルが短くなり、また、インターネットの普及に伴って消費者のカスタマイズサービス指向が高まっている。そのため、ＣＲＭ（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｍａｎａｇｅｍｅｎｔ）やＯｎｅ−ｔｏ−Ｏｎｅマーケティングが注目されている。
【０００３】
ＣＲＭの目的は、顧客情報を管理活用して、顧客満足度を高め、企業の収益を伸ばすことにある。例えば、企業がある顧客の購買パターンや問い合わせ履歴、趣味や嗜好等に関する情報を予め保有していれば、その企業は、その顧客が欲する商品又はサービスをスピーディに提供できる。さらに、企業の部門間や支店間で顧客情報を共有することにより、ある支店にとっては優良な顧客を他の支店では新規の顧客として扱ってしまうという不手際を避けることができる。このようにＣＲＭを用いて顧客情報を管理活用すれば、商品又はサービスに対する顧客満足度が高まると考えられる。
【０００４】
Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングとは、各顧客の好みや価値観、仕事、生活環境の違いを把握し、各顧客の要求に合わせて、各顧客に対して異なった販売戦略をとるマーケティング・コンセプトであり、その考え方や活動はＣＲＭと似ている。従来のマス・マーケティング（大量販売）では、新規顧客となり得る購買層を想定し、その購買層の属性の共通項や購買傾向の共通項に基づき、その購買層が興味を引くような販売戦略を立てるのが通例である。これに対して、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングでは、一人一人の顧客が独立した購買主体であって、各人が独自の購買活動を行うものとみなし、一人一人の顧客に対してきめ細かい販売戦略を立てる。すなわち、従来のマス・マーケティングは、新規顧客を獲得することを目的とした販売戦略であるのに対して、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングは、既存顧客との関係を緊密に保ちつつ売り上げを伸ばすことを目的とした販売戦略である。企業がＯｎｅ−ｔｏ−Ｏｎｅアプローチを実施するためには、顧客属性（性別、年齢、家族構成、住所等）や、その顧客の購買履歴（過去に購入した商品の一覧）等を記憶する顧客データベースが欠かせない。そこで、Ｏｎｅ−ｔｏ−Ｏｎｅアプローチを実施する企業は、顧客データベースを設置し、そのデータベースを常時更新することで、一人一人の顧客のためにカスタマイズされたＷｅｂページ、電子メール、バナー広告を提供することができる。
【０００５】
上述したとおり、Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングは、顧客データベースを活用した販売戦略である。よって、企業は、顧客属性や顧客の購買履歴等の顧客情報を顧客データベースに蓄積し、蓄積された個人情報を分析することで、顧客のニーズを掘り起こし、そのニーズに満たす商品、サービスを提供する。
【０００６】
Ｏｎｅ−ｔｏ−Ｏｎｅマーケティングの例としてバリアブルプリントサービスを挙げることができる。バリアブルプリントサービスとは、顧客毎に異なるドキュメント（印刷物）を提供するサービスのことである。その一例として、顧客毎に異なるダイレクトメールを提供するサービスがある。バリアブルプリントサービスによれば、多種多様な商品、サービス等を表現するテキストデータや画像データ等のコンテンツをデータベースに格納しておき、そのデータベースから読み込んだコンテンツを最適なレイアウトで印刷することができる。
【０００７】
さて、従来のバリアブルプリントシステムは、レイアウト枠（「コンテナ」とも称す。）を用いてレイアウトを作成した後、そのレイアウトと、コンテンツを記憶するデータベース上のレコードとの関連付けを行う。次いで、データベースからコンテンツを読み込み、レイアウト枠に挿入する。しかし、このバリアブルプリントシステムにおいては、コンテンツを挿入するレイアウト枠のサイズが固定である。したがって、レイアウト枠に挿入されるコンテンツのデータ量がレイアウト枠のサイズよりも大きいと、レイアウト枠内のテキストデータに重なりが生じたり、画像データの一部が欠落したりすることがある。それとは逆に、レイアウト枠に挿入されるコンテンツのデータ量がレイアウト枠のサイズよりも小さいと、レイアウト枠内のテキストデータや画像データに無用な隙間が生じることもある。
【０００８】
一方、テキストデータのフォントサイズやレイアウト枠のサイズを自動的に変更する自動レイアウトシステムがある。自動レイアウトシステムは、サイズの異なるコンテンツを適切にレイアウトするために、レイアウト枠をコンテンツのサイズに合わせて動的に変化させることができる。このシステムでは、商品カタログ等のレイアウトを作成するときに、１つの商品のレイアウト（商品名、イメージ、スペック等のレイアウト）を予めサブテンプレートとして定義し、顧客毎に条件式を用いてレイアウトする商品を抽出する。次いで、その商品に対応するサブテンプレートをページ上に挿入する。また、レイアウト枠に入りきらないテキストデータがデータベースから送り込まれた場合、テキストデータのフォントサイズを縮小することによって、全てのテキストデータがレイアウト枠内に表示させる。また、レイアウト枠のサイズが大きい場合には、複数のレイアウト枠が同じドキュメント上で重なり合わないようにする。さらに、データベース上の１レコード（コンテンツ）を１ドキュメントにレイアウトすることの他に、データベース上の複数レコード（コンテンツ）（マルチレコード）を１ドキュメントにレイアウトする。この機能により、ドキュメント毎にレイアウトするテキストデータや画像データの数を異ならせることが可能となり、顧客毎にカスタマイズされたドキュメントを作成することができる。
【０００９】
なお、特許文献１には、基本形状のサブテンプレートをレイアウトエリアに配置して複数の類似するデータを複数ページの所定の領域内に挿入すること、レイアウトエリアを複数配置し各レイアウトエリアにサブテンプレートを配置する技術が開示されている。
【００１０】
【特許文献１】特開２００５−２１６１８２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来技術で述べたような、サブテンプレートを単純にレイアウトエリアに配置する方法では、限られた基本形状のサブテンプレートの配置しかできない。そのため、レイアウトが同じ形状のサブテンプレートが繰り返し配置される単純なものとなり、レイアウトするコンテンツに対して重み付けを行うことができなかった。また、デザイン的にも単調なものであった。また、レイアウトエリア内に配置できるサブテンプレートの数が制限される場合や配列するサブテンプレートの数の大小によって全体的なバランスが悪いレイアウトとなる場合があった。また、レイアウトエリアは１つのページに設定されるため、複数のページにまたがってレイアウトエリアを設定することができなかった。さらに、サブテンプレートの数に応じて動的にページを生成することができないため、複数ページにまたがったレイアウトエリアに自動的にサブテンプレートを配置することができなかった。さらに、データベースのレコード順にコンテンツをレイアウト枠に挿入していたため、コンテンツの重要度又はアピール度を反映させたレイアウトにすることが困難であった。
【課題を解決するための手段】
【００１２】
本発明の自動レイアウトシステムは、ページ上にレイアウトするコンテンツのサイズに応じてコンテンツのサブテンプレートのレイアウトを変化させることが可能な自動レイアウトシステムにおいて、ページ上にサブテンプレートのフローを行う領域を設定する手段と、ページ上に位置情報を設定する手段と、コンテンツにコンテンツ情報を設定する手段と、位置情報とコンテンツ情報にしたがってサブテンプレートのレイアウトを決定する手段とを備えることを特徴とする。
【００１３】
また、本発明の自動レイアウト方法は、ページ上にレイアウトするコンテンツのサイズに応じてコンテンツのサブテンプレートのレイアウトを変化させることが可能な自動レイアウト方法において、ページ上にサブテンプレートのフローを行う領域を設定するステップと、ページ上に位置情報を設定するステップと、コンテンツにコンテンツ情報を設定するステップと、位置情報とコンテンツ情報とに基づき、サブテンプレートのレイアウトを決定するステップとを含むことを特徴とする。
【００１４】
また、本発明のプログラムは、ページ上にレイアウトするコンテンツのサイズに応じてコンテンツのサブテンプレートのレイアウトを変化させることが可能なコンピュータに、ページ上にサブテンプレートのフローを行う領域を設定する手順と、ページ上に位置情報を設定する手順と、コンテンツにコンテンツ情報を設定する手順と、位置情報とコンテンツ情報とに基づき、サブテンプレートのレイアウトを決定する手順とを実行させることを特徴とする。
【００１５】
また、本発明の情報処理装置は、ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることが可能な情報処理装置において、ページ上の各領域に特性を設定する設定手段と、コンテンツの特性と、設定手段によって設定された各領域の特性にしたがって、コンテンツをレイアウトする処理手段とを有することを特徴とする。
【００１６】
また、本発明の情報処理方法は、ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることが可能な情報処理方法において、ページ上の各領域に特性を設定するステップと、コンテンツの特性と、設定された各領域の特性にしたがって、コンテンツをレイアウトするステップとを含むことを特徴とする。
【００１７】
さらに、本発明のプログラムは、コンピュータに、ページ上にレイアウトするコンテンツのサイズに応じて当該コンテンツのレイアウトを変化させることを実行させるためのプログラムにおいて、ページ上の各領域に特性を設定する手順と、コンテンツの特性と、設定された各領域の特性にしたがって、コンテンツをレイアウトする手順とを含むことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、バリアブルプリントシステムにおいて、データベースから抽出した商品等のコンテンツ（例えば、商品広告）を、コンテンツのアピール度や優先度に応じて最適な位置に配置することができる。したがって、本発明によれば、例えば、販売主が最もたくさん売りたい目玉商品等のコンテンツをページ上の目立つ場所（例えば、ページの上部）に配置することができる。また、レイアウトする商品等のコンテンツの数量が多い場合であっても、自動的に新しいページを生成した上でサブテンプレートを再配置することによって適切な位置にコンテンツを配置させることができる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施例を適用するのに好適な実施例を、図面を参照して説明する。
【００２０】
まず、本発明を適用可能なシステム構成、およびアプリケーション構成について説明する。
【００２１】
１．システム構成
図１は、バリアブルプリントを実現するシステム１００の構成を示すブロック図である。図２は、システム１００内のホストコンピュータ１０１の構成を示すブロック図である。図１と図２を共に参照しつつ、システム１００、ホストコンピュータ１０１の構成を説明する。
【００２２】
ホストコンピュータ１０１は、ソフトウェアの指示に従い、レイアウト編集処理や印刷処理を実行する。ソフトウェアは、ハードディスク、フロッピーディスク等のコンピュータ可読媒体等の記憶装置１３９に記憶される。ホストコンピュータ１０１は、記憶装置１３９からソフトウェアを読み込み、所定の処理を実行する。
【００２３】
ホストコンピュータ１０１は、キーボード１３２や、マウス１３３等のポインティングデバイス等のユーザ入力装置を接続し、当該装置からデータを入力する。また、ホストコンピュータ１０１は、ビデオディスプレイ１４４やローカルプリンタ１４５等の出力装置を接続し、印刷データ、画像データ等を当該装置に出力する。ホストコンピュータ１０１は、Ｉ／Ｏインタフェース１３８、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）等のネットワーク接続１０７を介して他のサーバとの間でデータ通信を行う。他のサーバとしては、データベースサーバ１１７、ファイルサーバ１１５、プリントサーバ１０９がある。
【００２４】
ホストコンピュータ１０１は、少なくとも１つのプロセッサ１３５、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリやリードオンリーメモリ（ＲＯＭ）等の不揮発性メモリを含むメモリ１３６を備える。さらに、ホストコンピュータ１０１は、ビデオディスプレイを接続するためのビデオインタフェース１３７、キーボード１３２やマウス１３３等の入力装置を接続するＩ／Ｏインタフェース１４３を備える。記憶装置１３９は、ハードディスクドライブ１４０やフロッピーディスクドライブ１４１、磁気テープドライブ（図示せず）、ＣＤ−ＲＯＭドライブ１４２等の不揮発性の記憶装置である。
【００２５】
本実施例に係るレイアウト編集アプリケーションプログラム１２１は、ＣＤ−ＲＯＭドライブ１４２やフローピーディスクドライブ１４１からハードディスクドライブ１４０に格納される。次いで、プロセッサ１３５は、ハードディスクドライブ１４０からレイアウト編集アプリケーションプログラム１２１を読み込み、所定の処理を実行する。尚、レイアウト編集アプリケーションプログラム１２１は、ネットワーク接続１０７を介して他のサーバからハードディスクドライブ１４０に転送することもできる。
【００２６】
図１を参照すると、レイアウト編集アプリケーションプログラム１２１は、レイアウトエンジン１０５と、ユーザインタフェース１０３を備える。レイアウトエンジン１０５は、レイアウトに関する所定の制約やレイアウトサイズにしたがって、矩形と線の位置を計算するためのソフトウェアコンポーネントである。
【００２７】
ユーザインタフェース１０３は、ユーザにドキュメントテンプレートを作成させるためのソフトウェアコンポーネントである。ユーザインタフェース１０３とレイアウトエンジン１０５は、コミュニケーションチャネル１２３を介して互いに通信を行う。
【００２８】
データベースサーバ１１７は、データベース１１９を備える。データベース１１９は、ドキュメント生成用のデータソースを格納する。ホストコンピュータ１０１は、ネットワーク接続１０７を介してデータベースサーバ１１７と通信を行う。レイアウト編集アプリケーションプログラム１２１は、ドキュメントテンプレートを作成する。ドキュメントテンプレートは、ホストコンピュータ１０１内の記憶装置又はファイルサーバ１１５に格納される。
【００２９】
レイアウト編集アプリケーションプログラム１２１は、データとドキュメントテンプレートとをマージすることによってドキュメントを作成する。コンピュータ１０１の記憶装置又はファイルサーバ１１５は、作成されたドキュメントを格納するか、プリンタ１１３に印刷させる。プリントサーバ１０９はプリンタをネットワークに接続するためのコンピュータである。プリントサーバ１０９とプリンタ１１３は通信チャネル１１１を介して接続される。
【００３０】
図３は、バリアブルプリントを実現するシステム１００の別の構成を示すブロック図である。
【００３１】
図１に示す構成と異なる点は、エンジンサーバ２２７を備える点と、レイアウトエンジンがレイアウトエンジン１０５とレイアウトエンジン２２５とに分離されている点である。レイアウトエンジン２２５は、ファイルサーバ１１５に格納されたドキュメントテンプレートと、データベース１１９に格納されたデータソースとを結合することによってドキュメントを作成する。
【００３２】
２．アプリケーション構成
２−１  メインウィンドウ
図４は、ホストコンピュータ１０１のユーザインタフェース１０３が、ビデオディスプレイ１４４に表示するメインウィンドウ３０１の一例を示す図である。
【００３３】
メインウィンドウ内に様々なユーザインタフェース要素が表示される。
【００３４】
３０９は、ドキュメントテンプレートである。１ページのドキュメントテンプレート３０９は、複数のレイアウト枠４０７、４０８を含む。レイアウト枠４０７は、移動可能な辺（点線）４１０を含み、レイアウト枠４０７とレイアウト枠４０８との間はリンク４１２で接続される。
【００３５】
メインウィンドウ３０１には、メニューバー３０２、ツールバー３０３、マウス等のポインティングデバイス１３３の動きと連動して移動するワークエリア３０６、フローティングパレット３１１、ルーラ３０８、カーソルポインタ３１３等が表示される。
【００３６】
尚、メニューバーとは、画面上で選択できる機能の一覧を表示したものであり、ツールバーとは、頻繁に利用する機能を素早く操作するためのアイコンを並べたメニューの一種である。また、フローティングパレットとは、よく使用するツールや選択肢が割り当てられたアイコン数種類を、アプリケーションウィンドウから分離して、別の独立した１つのウィンドウとして表示して、デスクトップ画面上に配置しておく機能である。また、ルーラとは、ワープロ  ソフトやＤＴＰ機能を提供するソフトなどで、文書表示部分の外側に表示される寸法目盛りの入ったツールバーのことである。
【００３７】
ルーラ３０８は、ワークエリア３０６内のポインター、ページ、ライン、マージンガイド、レイアウト枠、オブジェクトの位置を寸法目盛りで示す。
【００３８】
フローティングパレット３１１は、ライブラリ等の追加機能にアクセスするために使われ、移動、リサイズ、クローズをするためのウィンドウコントロール３１２を有する。
【００３９】
ツールバー３０３は、表示／非表示が選択可能なアイコン３０５が表示する。ツールバー３０３は、選択ツールボタン、画像データレイアウト枠ツールボタン、テキストデータレイアウト枠ツールボタン、リンクツールボタン等を備える。選択ツールボタンとは、レイアウト枠の選択、移動、サイズ変更、リサイズ、ロック、ロック解除を行うためのボタンである。複数のレイアウト枠の周りに選択ボックスをドラッグすることによって複数のレイアウト枠を選択することができ、あるいはＣＴＲＬキーを押しながら複数のレイアウト枠を選択することができる。画像データレイアウト枠ツールボタンとは、スタティック画像データあるいはバリアブル画像データを持つレイアウト枠を作成するために使われるボタンである。テキストデータレイアウト枠ツールボタンとは、スタティックテキストデータあるいはバリアブルテキストデータを持つレイアウト枠を作成するために使われるボタンである。リンクツールボタンとは、レイアウト枠間の距離をコントロールするために使われるボタンである。
【００４０】
２−２  ドキュメントテンプレート
ワークエリア３０６は、ドキュメントテンプレート３０９のデザインを表示・編集するための領域である。ユーザは、ワークエリア３０６を見ることによって、ドキュメントの概要をデザインすることや、マージされたドキュメントがバリアブルデータのデータ量に基づいてどのように変化するかを視覚的に把握することができる。
【００４１】
ドキュメントテンプレート３０９は、ドキュメントテンプレート中にページが複数あることを示すことができる。
【００４２】
ユーザは、ドキュメントテンプレート３０９上のページサイズを指定できる。ドキュメント上の実際のページ数は、バリアブルデータのデータ量によって変化し得る。バリアブルデータをドキュメント上の１ページ内に収めることができない場合には、追加のページが自動的に作成される。
【００４３】
各ページ内の境界線は、ページマージン３１０で表される。ページマージン３１０は、ページ上の印刷可能なオブジェクトの最大幅を示す。
【００４４】
２−３  レイアウト枠
レイアウト枠４０７、４０８は、ドキュメントテンプレート３０９内におけるサイズ固定又はサイズ可変のスペースである。このスペースにテキストデータや画像データが挿入される。また、レイアウト枠は、他のレイアウト枠やオブジェクトと相互に作用しながら配置される。レイアウト枠の移動やサイズ調整や再作成は、ポインティングデバイス３１３を用いることによって行える。
【００４５】
レイアウト枠は、設定情報の集合であり、視覚的表示、対話（インタラクション）、編集動作の機能をもっている。以下にレイアウト枠の定義を示す。
【００４６】
（１）レイアウト枠は、固定又は可変のサイズを持つ。可変コンテンツは、異なるドキュメントでは異なる内容になるかもしれないという点で動的である。また、アニメーションのように時間的に変化するコンテンツは印刷に適合していないため可変コンテンツのようなコンテンツは本実施形態では想定してない。これに対して、固定コンテンツは全てのドキュメントにおいて同一内容で表示される。ところが、固定コンテンツは、可変レイアウト枠の配置動作の影響を受けて、配置される位置は変動的である。
【００４７】
（２）レイアウト枠は、コンテンツの背景色、境界線、フォントスタイル等を設定するための装飾機能を有する。
【００４８】
（３）レイアウト枠は、データソースから取得したデータとマージされ、ビデオディスプレイ１４４に表示されるか、あるいは、プリンタ１１３に印刷される。
【００４９】
（４）レイアウト枠は、レイアウト枠の編集そして表示設定のためのインタラクティブなユーザインタフェース１０３を有する。ユーザインタフェース１０３の要素はビデオディスプレイ１４４上に表示されるが、ドキュメント上には印刷されない。ユーザインタフェース１０３は、背景色やフォント等のレイアウト枠の装飾機能を表示し、またレイアウト枠の設定の編集や表示のためのインタフェース要素も表示する。
【００５０】
２−４  レイアウト枠の制約
レイアウト枠には、各ドキュメントに表示されるコンテンツをどのように結びつけるかに関する制約を有する。この制約は、ユーザによって設定される。制約としては、例えば、『レイアウト枠内のコンテンツの高さは、最大値４インチとする』、『レイアウト枠内のコンテンツの左エッジは、全てのドキュメントで同じ水平位置で表示する』等がある。ユーザは、ユーザインタフェース１０３を使ってこの制約を設定する。
【００５１】
固定コンテンツの配置を指定するコンテンツプレイスホルダーは、レイアウト枠の位置とサイズの情報を有し、それらは公知の手法で編集され、表示される。
【００５２】
ユーザは、レイアウト枠に対して、ドキュメントのコンテンツのサイズ・位置を指定することができる。一つのドキュメントテンプレート３０９から多数のドキュメントのレイアウトが生成されるので、レイアウト枠は、多数のレイアウトの可能性と制約を指定・表示するためのユーザインタフェースとして利用される。
【００５３】
２−５  レイアウト枠の作成方法
レイアウト枠には、テキストデータレイアウト枠と画像データレイアウト枠とがある。テキストデータレイアウト枠は、固定のテキストデータ又はデータベース１１９から受け取る可変のテキストデータを有する。画像データレイアウト枠は、埋め込みの画像データ又はデータベース１１９から受け取る可変の画像データを有する。
【００５４】
図４によると、テキストデータレイアウト枠と画像データレイアウト枠は、ウィジット３０５をマウス１３３でクリックすることによって選択できる。選択されたテキストデータレイアウト枠又は画像データレイアウト枠は、ドキュメントテンプレート３０９上に作成される。
【００５５】
尚、ウィジットとは、グラフィカルユーザインタフェースにおいて、スクロールバーやボタンなどの図形シンボルと特定の機能を果たすプログラムコードが一体となったものである。レイアウト枠は、ウィジットと同様なツールをアクティブにし、ドキュメントテンプレート３０９上でマウス１３３をクリックすることで簡単に作成することもできる。この場合、デフォルトサイズのレイアウト枠をドキュメントテンプレート３０９上に作成するか、あるいは、ダイアログボックスを表示することでユーザに新規レイアウト枠のサイズを指定させ、指定されたサイズのレイアウト枠を作成する。
【００５６】
２−６  レイアウト枠の表示方法
図４によると、レイアウト枠の辺は、コンテンツをドキュメント内で表示する際の仮想の境界線である。例えばレイアウト枠の左辺は、レイアウト枠に関連付けられたコンテンツを常に表示可能にする最も左の辺として扱われる。同様に、レイアウト枠の高さは、レイアウト枠に関連付けられたコンテンツを常に表示可能にする高さとして扱われる。本実施形態では、ユーザインタフェース１０３を使ってレイアウト枠の辺あるいは高さ、すなわちレイアウト枠の大きさを変化させることができる。
【００５７】
以下は、コンテンツのレイアウトを制限するために使われるルールである。このルールは、ユーザインタフェースとレイアウトの関係を定義する。
【００５８】
レイアウト枠の左右の辺が実線の場合、レイアウト枠の幅は固定であり、レイアウト枠に関連付けられたコンテンツに割り当てられる幅は全てのドキュメントで共通となる。一方、レイアウト枠の左右の辺が点線の場合、レイアウト枠の高さは可変である。
【００５９】
レイアウト枠の上下の辺が実線の場合、レイアウト枠の高さは固定であり、レイアウト枠に関連付けられたコンテンツに割り当てられる高さは全てのドキュメントで共通となる。
【００６０】
可変とは、辺、位置、あるいはドキュメント制約がドキュメントごとに変化し得ることを意味する。以下は、可変を実現するためのユーザインタフェースとレイアウトの関係のルールの例である。
【００６１】
レイアウト枠の左右の辺が点線の場合、レイアウト枠の幅は可変であり、レイアウト枠に関連付けられたコンテンツに割り当てられる幅はドキュメントごとに変化する。
【００６２】
レイアウト枠の上下の辺が点線の場合、レイアウト枠の高さは可変であり、レイアウト枠に関連付けられたコンテンツに割り当てられる高さはドキュメントごとに変化する。
【００６３】
レイアウト枠間の距離の制約が可変の場合、指定された距離はドキュメントごとに変化する可能性がある。距離の制約に対する設定により、最大長・最小長の制限内でレイアウト枠間の距離を調整することができる。
【００６４】
レイアウト枠の点線辺にレイアウト枠の制約を設定すると、そのレイアウト枠は制約によって、接続された他のレイアウト枠を押し出し、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。
【００６５】
レイアウト枠の実線辺に別のレイアウト枠を接続すると、その別のレイアウト枠は制約によってレイアウト枠によって押し出され、位置を変える場合がある。上下辺に対する制約は縦方向の位置変更を、左右辺に対する制約は横方向の位置変更をもたらす。レイアウト枠間の距離の制約が固定の場合、指定された距離は全てのドキュメントで共通である。
【００６６】
図５は、レイアウト枠の辺の状態を示す。図によると、上下辺、左右辺が共に点線のレイアウト枠から、上下辺、左右辺が共に実線のレイアウト枠まで１６通りのレイアウト枠が表示されている。一般的に、レイアウト枠の辺の状態はドキュメントテンプレート３０９のデザインの手助けとして表示される要素であるため、印刷物には描画されない。
【００６７】
レイアウト枠の制約として設定される幅・高さの最小値・最大値の設定値は、副次的なダイアログウィンドウ３１１に表示される。
【００６８】
図６は、レイアウト枠の表示例を示す図である。
【００６９】
図６（ａ）においては、レイアウト枠５０１は幅が可変である。この場合、辺５０３は固定であるため実線で表され、辺５０４は可変であるため点線で表される。５０５は、拡縮アイコンである。収縮アイコン５０５は、辺５０４が可変であることを示す。図６（ｂ）、（ｃ）においては、レイアウト枠５０１は幅・高さ共に可変であることがわかる。
【００７０】
２−７  リンクの設定方法
図７（ａ）、（ｂ）、（ｃ）は、レイアウト間にリンクを設定するためのユーザインタフェースの例を示す。
【００７１】
リンクを設定するためには少なくとも２つのレイアウト枠を作成する必要がある。図は、２つのレイアウト枠にリンクを設定する例を示す。
【００７２】
リンクの設定手順を図７（ａ）、（ｂ）、（ｃ）の順で説明する。
【００７３】
図７（ａ）の６０１と６０２は、図６の５０３と同じであり、固定されている辺である。６０３はマウスポインタである。まず、リンクを設定する片方のレイアウト枠６０１をマウスポインタ６０３で選択し、マウスをクリックする。次に、図７（ｂ）で示されるように、片方のレイアウト枠６０２までマウスポインタ６０４を移動して、再びマウスをクリックする。図７（ｂ）の６０４は、レイアウト枠６０１とレイアウト枠５０２とをマウスポインタで結んだ線を示し、どのレイアウト枠同士がリンクで設定されるのかをユーザに示す。図７（ｂ）の画面でレイアウト枠６０２をマウスでクリックすると、図７（ｃ）に示すように、レイアウト枠６０１とレイアウト枠６０２とを接続するリンク（接続線６０５）が生成される。
【００７４】
図７（ｃ）の６０６の辺は点線であるため可変である。したがって、レイアウト枠６０１の幅を右方向に伸ばすことができ、逆に、レイアウト枠６０２の幅を左方向に伸ばすことができる。さらに、レイアウト枠６０１の右辺とレイアウト枠６０２の左辺の間をリンクで接続したことにより、左右のレイアウト枠間の距離を一定に保ったまま、それらのサイズを可変に調整できる。
【００７５】
２−８  レイアウト計算処理
図８（ａ）は、レイアウト計算処理のフローチャートを示す図である。
【００７６】
ユーザは、プレビューモードを選択する（Ｓ７０１）。自動レイアウトシステムは、レイアウト枠を作成し、そのレイアウト枠間に関連付けを行い、レイアウトを作成するレイアウトモードを備える。さらに、自動レイアウトシステムは、作成したレイアウト枠にデータベース上のレコード（コンテンツ）を送り込んで実際にレコードが挿入された状態のレイアウト結果をプレビューするプレビューモードを有する。プレビューモードにおいては、実際のレコード（コンテンツ）がウィンドウ枠に挿入され、レイアウトが計算される。プレビューモードでは、画面に表示する場合のレイアウト計算が行われるが、印刷する場合においても同じ処理でレイアウト計算が行われる。
【００７７】
プレビューモードになったら、プレビューするレコード（コンテンツ）を選択して挿入する（Ｓ７０２）。レコード（コンテンツ）の挿入を行うと、そのレコード（コンテンツ）をレイアウトするために計算を行う。（Ｓ７０３）。次いで、Ｓ７０３で計算されたレイアウト結果をプレビューする（Ｓ７０４）。次いで、ユーザの入力にしたがって、他のレコード（コンテンツ）にプレビューを切り替えるかどうかを判断する（Ｓ７０５）。Ｓ７０５で、他のレコード（コンテンツ）についてプレビューを行う必要がないと判断された場合は、プレビューモードを終了する（Ｓ７０７）。これに対して、他のレコード（コンテンツ）についてプレビューを行う場合は、他のレコード（コンテンツ）を選択して再度レイアウト計算を行い、プレビューを行う（Ｓ７０６）。一方、印刷する場合には、印刷するレコード（コンテンツ）全てに対して順番にレイアウト計算を行い、全てのレコード（コンテンツ）の印刷を行う。
【００７８】
図８（ｂ）は図８（ａ）のフローチャートにおけるＳ７０３の「レイアウト計算」の詳細の流れを示したフローチャートである。また、図９（ａ）、（ｂ）、（ｃ）は、レイアウト計算時の画面の表示例を示した図である。
【００７９】
図８（ｂ）によると、まず、レイアウトを計算するレイアウト枠の集合を求める（Ｓ７１０）。レイアウト計算は、リンクによって関連付けられたレイアウト枠の集合を単位として行う。Ｓ７１０で求めたレイアウト枠の集合から、レイアウトを計算するために一つの集合を選択する（Ｓ７１１）。そして、選択したレイアウト枠の集合に対してレイアウト計算を行う。ここでは、レイアウト枠のサイズと実際のコンテンツのサイズとの差ができるだけ少なくなるようにレイアウトの最適化を行う（Ｓ７１２）。レイアウトの最適化結果がルールに違反しているかどうかを判断する（Ｓ７１３）。レイアウトの最適結果がルールに違反している場合には、ルールに違反しない結果を得るため再度、最適化を行う（Ｓ７１２）。ここで、ルールとは、レイアウト作成時にユーザが設定する制約のことであり、例えば、レイアウト枠のサイズと位置、辺の状態、リンクの長さ等である。次いで、このルールに違反しないようなレイアウトの集合についての計算が終了したかどうかを判断し（Ｓ７１４）、終了した場合には、レイアウト計算の処理を終了する。以上のＳ７１１〜Ｓ７１３の処理をページ上のすべての集合に対して施すことによって、ページ全体のレイアウトを計算する。
【００８０】
図９（ａ）〜（ｃ）はレイアウト計算時のユーザインタフェースの例である。
【００８１】
図９（ａ）は、あるレコード（コンテンツ）が挿入されレイアウトが決定されている状態を表す。８０１と８０２は固定された辺を示し、８０３は可変の辺を示し、８０４と８０５の矢印は可変の辺の変化方向を示し、８０６はリンクを示す。この状態において、挿入するレコード（コンテンツ）を変更してコンテンツのサイズを変更する。
【００８２】
図９（ｂ）は、図９（ａ）の状態に新しいコンテンツのサイズを重ねた状態を示す。８０７はそれぞれのレイアウト枠に挿入されるコンテンツのサイズを表す。図９（Ｃ）はレイアウト計算された結果を示す。計算後の各レイアウト枠のサイズは、実際に挿入されるコンテンツのサイズと同等に差異があるように計算され、且つ前述したルールを違反しないように計算される。図９（Ｃ）で示されるように、図９（Ｂ）で示した挿入されるコンテンツサイズ（８０７）と計算後のコンテンツサイズ（８０８）は、双方において同等な差異がある。
【００８３】
２−９  マルチレコード
図１０は、マルチレコードとそのレイアウト方法の概要を示した図である。
【００８４】
９０１はドキュメント、９０２はドキュメントを構成するページ（第１ページ、第２ページ）、９０３はサブテンプレート、９０４はデータベースに格納されているレコード（コンテンツ）を示す。９０４には、Ｎｏ１〜７の７つのレコード（コンテンツ）が格納されている。各レコードには、名前、価格、商品名、詳細、画像の各データが格納されている。
【００８５】
したがって、１レコード当たり１ページのバリアブルプリントの場合、７ページが作成されることになるが、本例のようにマルチレコード当たり１ページのマルチレコードをサポートするバリアブルプリントにあっては、次に示す処理が行われる。
【００８６】
まずマルチレコードを指定するカラムをユーザが任意に指定する。例えば、カラムとして、Ｎａｍｅを指定するものとする。その場合、指定されたＮａｍｅが同じであるレコード（コンテンツ）は、同じページにレイアウトされる。この例では、Ｎｏ１〜４のレコード（コンテンツ）はＮａｍｅがＴｏｍで同じであるため、Ｔｏｍに関するレコード（コンテンツ）は第１ページにレイアウトされる。一方、Ｎｏ５〜７のレコード（コンテンツ）は、ＮａｍｅがＮａｎｃｙで同一であるため第２ページにレイアウトされる。この手法が通常のマルチレコード（コンテンツ）である。
【００８７】
２−１０  サブテンプレート
サブテンプレートの概要と、レイアウトフローを説明する。図１９、図２０はそれぞれサブテンプレートのレイアウト例と、レイアウトフローの一例を示す。
【００８８】
サブテンプレートとは、画像データレイアウト枠又はテキストデータレイアウト枠を任意数配置したものである。それらのレイアウト枠にレコード（コンテンツ）の中のどのフィールドのデータを割り当てるかが設定されている。
【００８９】
サブテンプレートは、同じレイアウトを一つのドキュメントで数多く使う場合に便利である。サブテンプレート内に配置されるレイアウト枠は、画像データレイアウト枠、テキストデータレイアウト枠であり、各レイアウト枠間にリンクを設定することも可能である。したがって、レイアウトするデータによって、レイアウトサイズを最適に変化させることが可能である。
【００９０】
図１９は、サブテンプレートのレイアウト例を示している。１３０２と１３０５は画像データレイアウト枠、１３０３と１３０６はテキストデータレイアウト枠、１３０７はリンクを示す。画像データのコンテンツサイズとテキストデータのコンテンツサイズとは異なるため、異なるレコード（コンテンツ）に対して最適なレイアウトを計算してレイアウト変更が行われる。
【００９１】
図２０は、レイアウト計算のフローチャートを示す図である。
【００９２】
まず、レイアウトするデータを取得する（Ｓ１４０１）。次いで、各レイアウト枠にレイアウトするデータのサイズを渡す（Ｓ１４０２）。次いで、渡されたデータサイズに基づいて、各レイアウト枠においてレイアウト計算が行われる（Ｓ１４０３）。次いで、レイアウトを最適化する（Ｓ１４０４）。レイアウトの最適化の方法は前述した通りである。次いで、最適化されたレイアウトを決定し（Ｓ１４０５）、レイアウトするデータをデータベースから送り込み（Ｓ１４０６）、表示する（Ｓ１４０７）。
【００９３】
３．実施例
本発明の実施例について図面を参照してより詳細に説明する。
【００９４】
図１１〜１８、２１〜２４は本実施例の動作を説明するフローチャートと関連するユーザインタフェースを示す図である。これらの図を参照しつつ、本実施例を説明する。
【００９５】
図１１（ａ）は、本実施例の全体動作の概要を示すフローチャートである。
【００９６】
まず、Ｓ１００１において、ユーザはドキュメントを新規に作成するためデータベースに接続する。
【００９７】
データベースに接続した後、ユーザは、ドキュメントページ上にフローエリア・軸を設定する（Ｓ１００２）。図１８は、レイアウトウィンドウ１２０１上に表示されたフローエリア１２０５と軸１２１２、１２１３、１２１４を示す。フローエリア１２０５とは、サブテンプレートを並べる領域のことであり、ページエリア上に作成される。１２０２は、レイアウトウィンドウを最小化、最大化、クローズを行うためのツールである。１２０３は、レイアウトエリアである。ユーザは、レイアウト枠を用いて、レイアウトエリア１２０３にテキストデータ、画像データ、図形等を配置する。１２０４は、ドキュメントから選択されたページエリアである。フローエリア１２０５は、ツールバー１２０７内にあるフローエリア作成ツール１２０８を用いて、マウスをドラッグアンドドロップすることによって作成することができる。
【００９８】
フローエリア１２０５のプロパティは、レイアウトウィンドウ１２０１のメニューコマンド１２１１を介して図２１に示すフローエリアプロパティダイアログボックス１５０１を表示することによって設定される（Ｓ１００３）。フローエリア１２０５を作成すると、軸１２１２、１２１３、１２１４を作成する。各種のサブテンプレートをフローエリア内に配置する際、コンテンツの特性（例えば、特価品等の商品特性）と軸を参照して配置先を決定する。複数個の軸を作成可能であり、横方向の軸も縦方向の軸も作成可能である。軸は、フローエリアと同様、ツールバー１２０７内の軸作成ツール１２０９又は１２１０を用いて、マウスをドラッグアンドドロップすることによって作成することができる。１２０９は横方向の軸、１２１０は縦方向の軸を作成するためのツールである。また、軸プロパティは、レイアウトウィンドウ１２０１のメニューコマンド１２１１を介して図２２に示す軸プロパティダイアログボックス１６０１を表示することによって設定される（Ｓ１００３）。図１８に示すレイアウトウィンドウ１２０１においては、横方向に３つの軸１２１２、１２１３、１２１４が作成されている。これら軸の判別を容易にするために、各々の軸を色分けすることができる。色分けは、プログラムが自動的に設定するか、ユーザ自身が設定する。
【００９９】
図１１（ａ）のＳ１００２でフローエリア・軸の設定した後、フローエリア・軸のプロパティを設定する（Ｓ１００３）。プロパティの設定は、図１８のレイアウトエリア１２０３上に表示されているフローエリア１２０５、軸１２１２〜１２１４に対してマウス操作をし、又はメニューコマンド１２１１を介してプロパティダイアログを表示して行う。
【０１００】
フローエリア・軸のプロパティを設定した後、フローレイアウトを実行する（Ｓ１００４）。
【０１０１】
図１１（ｂ）は、Ｓ１００４のフローレイアウトの詳細を示すフローチャートである。Ｓ１０１１で挿入するレコードがあるかどうかを判断し、レコードがある場合には、そのレコードを挿入する（Ｓ１０１２）。次いで、サブテンプレートを生成し（Ｓ１０１３）、後述する動的フローレイアウトを実行する（Ｓ１０１４）。全てのレコードの処理が終了したかどうかを判断し（Ｓ１０１５）、終了している場合には後述する後処理（Ｓ１０１６）を実行する。
【０１０２】
図２１は、フローエリアのプロパティダイアログボックスの例を示す。このボックスでは、フローエリアの位置、フローエリアのサイズ、レイアウト条件、バランスの条件を設定できる。Ｓ１００４では、１５１０、１５１１、１５１２、１５１５等の設定に従い、必要に応じて追加のページ生成を行いつつサブテンプレートをフローエリア内に配置する。次いで、フローレイアウトを実行し（Ｓ１００４）、そのレイアウト結果がＯＫかどうかを判断し、ＯＫの場合にはフローレイアウトを終了し、ＯＫでない場合には、Ｓ１００２に戻り、フローエリア・軸を再び設定する。
【０１０３】
図２５は、サブテンプレートの配置方法を説明するための基本概念図である。
【０１０４】
１９０１は、各種サブテンプレートを示す。レコード３、６のサブテンプレートＡは、広告主が顧客に積極的に売り込みたいコンテンツ（例えば目玉商品）を含むサブテンプレートである。レコード１、５のサブテンプレートＢは、通常のコンテンツを含むサブテンプレートである。レコード２、４のサブテンプレートＣは、オプションのコンテンツを含むサブテンプレートである。
【０１０５】
１９０３はフローエリア、１９０４はページを示す。１９０５はレコード番号を示す。フローレイアウトは、データベースのレコード順に従ってサブテンプレートを配置する。データベースのレコードは、ソートやフィルターされている場合もある。１９０２は、３つの軸である。サブテンプレートは、各軸に対して割り当てられ配置される。レコード１のサブテンプレートは軸Ｂ、レコード２のサブテンプレートは軸Ｃ、レコード３のサブテンプレートは軸Ａ、レコード４のサブテンプレートは軸Ｃ、レコード５のサブテンプレートは軸Ｂ、レコード６のサブテンプレートは軸Ａに割り当てられる。
【０１０６】
ここで、サブテンプレートの軸への配置手順についてより詳細に説明する。
【０１０７】
図２３はレイアウト条件のダイアログボックスの一例を示す図である。
【０１０８】
１７０２は、レイアウト条件のダイアログボックスを最小化、最大化、クローズを行うためのボタンである。１７０３は、ダイアログボックス上で入力したプロパティを適用するか、あるいはキャンセルするかを選択するためのボタンである。１７０４は、ダイアログボックス内のスクロールバーである。表示する内容のデータ量が大きい場合はこのスクロールバーを使用して画面をスクロールさせる。
【０１０９】
レイアウト条件のダイアログボックスではサブテンプレートをどの軸に配置するかを決定する。例えば“もし、ＤＢフィールドのデータがアピール商品の広告の場合は、アピール軸（例えば、軸１２１２）に配置する。また、通常商品の広告の場合は、ノーマル軸（例えば、軸１２１３）に配置する。さらに、オプション商品の広告の場合は、オプション軸（例えば、軸１２１４）に配置するというように配置条件を設定できる。このよう形でサブテンプレートを配置する理由は、顧客の注意を引くページの上段に位置づけられているアピール軸にアピール商品を配置することによってアピール商品の広告を顧客の目にとまりやすくできるからである。
【０１１０】
例えば、“もしＤＢフィールドのデータが○○××の場合は、軸に△に配置する。それ以外の場合は軸◇に配置する。”といった条件を設定できる。１７１０の“ＩＦ”は、“もし”の部分である。１７１１の“ＤＢフィールド名”は上記“ＤＢフィールド”にあたる部分であり、割り当てる軸を決定するためのＤＢフィールドを設定する。１７１２“＝”は上記“の場合は”にあたる部分である。本例では“＝”を設定しているが、その他“＞”“＜”といった数式記号や“〜を含む”“〜から始まる”といった判断文を設定することも可能である。１７１３の“条件”は上記の“データが○○××”にあたる部分である。ここには判断材料となるデータ自身を設定する。１７１４の“Ｆｌｏｗ  ｔｏ：”は上記の内、“〜に配置する”にあたる部分である。１７１５の“軸”は上記の内、“軸△”にあたる部分であり、ここで指定した軸に上記レイアウト条件に合致したものを割り当てる。１７２４の“ＥＬＳＥ”は上記の内、“それ以外の場合は”の部分にあたる。１７２５は上記１７１４と１７１５に記載の通り、上記“軸▽に配置する”の部分にあたる。１７２５の“Ａｎｙ”軸とは、レイアウト時に空きスペースがあるところならばどこでも配置してよい、といった設定となる。また本プロパティでは１７２０〜１７２３のように複数の“ＩＦ”文を作成することで複数の条件式を作成することが出来る。よって本例の場合、もしＤＢフィールド名“Ｃａｔｅｇｏｒｙ”が“アピール”の場合は、サブテンプレートは“アピール”軸に配置される。もしＤＢフィールド名“Ｃａｔｅｇｏｒｙ”が“ノーマル”の場合は、“ノーマル”軸に配置される。もしＤＢフィールド名“Ｃａｔｅｇｏｒｙ”が“オプション”の場合は、“オプション”軸に配置される。それ以外の場合はレイアウト時の空きスペースに配置する、といった設定となる。
【０１１１】
すなわち、本実施例では、まず、データベースのレコードにコンテンツのアピール度又は優先度を示すコンテンツ特性情報を付加する。次いで、データベースからレコードを読み出してサブテンプレートとしてページに配置する際に、当該コンテンツ特性情報に対応する位置（軸）に配置する。したがって、本実施例によれば、例えば、顧客の注目を引きたい商品の広告をページ内の一番目立つ場所に配置することができる。
【０１１２】
図２１は、フローエリアプロパティのダイアログボックスの一例を示す。１５０２はフローエリアプロパティのダイアログボックスを最小化、最大化、クローズを行うためのボタンである。１５０３は、ダイアログボックス上で入力したプロパティを適用するか、あるいはキャンセルするかを選択するためのボタンである。１５１０は、フローエリアの位置を設定するためのボックスである。Ｘはフローエリアの横方向の開始点の位置であり、Ｙはフローエリアの縦方向の開始点の位置である。つまり、座標（Ｘ、Ｙ）がフローエリアの起点となる。この座標は、普通、フローエリアの左上の領域に設定される。１５１１は、フローエリアのサイズを設定するためのボックスである。Ｈはフローエリアの高さ、Ｗはフローエリアの幅である。したがって、Ｈ（ＨＥＩＧＨＴ：高さ）、Ｗ（ＷＩＤＴＨ：幅）で指定された値がフローエリアのサイズとなる。１５１０で設定された起点から縦方向にＨの値分、横方向にＷの値分までがフローエリアの範囲となる。１５１２は、フローエリアのレイアウト条件を設定するためのボックスである。１５１３は、レイアウトの条件を適用（使用）するかどうかのチェックボックスである。このチェックボックスにチェック記号を入れるとレイアウトの条件が適用され、チェック記号を入れないとレイアウトの条件が適用されない。レイアウトの条件の設定フローについては後述する。
【０１１３】
１５１５は、フローエリア内におけるレイアウトのバランスの条件を適用するかどうかのチェックボックスである。このチェックボックスにチェック記号を入れるとバランスの条件が適用され、チェック記号を入れないとバランスの条件が適用されない。バランスの条件の設定フローについては後述する。
【０１１４】
図２２は、軸プロパティのダイアログボックスの一例を示している。
【０１１５】
１６０２は軸プロパティのダイアログボックスを最小化、最大化、クローズを行うためのボタンである。１６０３は、ダイアログボックス上で入力したプロパティを適用するか、あるいはキャンセルするかを選択するためのボタンである。１６１０では任意の文字列を用いて軸の名称が設定される。この名称（例えば、Ａｐｐｅａｌ）は、図２３のレイアウト条件のダイアログボックスで用いられる。１６１１では軸の方向が設定される。縦は、ページに対し縦方向に延びる軸であり、横は、ページに対して横方向に伸びる軸である。各軸の方向は、縦方向、横方向のいずれか一方に設定される。１６１２では軸の開始点の座標が設定される。Ｘは、軸の横方向の開始点の位置であり、Ｙは軸の縦方向の開始点の位置である。すなわち、座標（Ｘ、Ｙ）が軸の起点となる。１６１１で軸の方向として縦が選択されている時はＹの入力ボックスがグレーアウト化され、横が選択されている時はＸの入力ボックスがグレーアウト化される。これは、縦軸は縦方向に一定の値を持たない、また横軸は横方向に一定の値を持たないためである。１６１３では軸の有効範囲が設定される。軸の有効範囲とは、レイアウトの条件によってその軸の近傍にサブテンプレートを配置できる範囲のことである。つまり、サブテンプレートは軸の有効範囲内にあれば特に軸上に配置されなくてもよい。したがって、サブテンプレートの配置を、軸を中心に適切な範囲に自由に配置することができる。軸が横方向である場合、高さの範囲は軸の中央から上下対称の範囲となり、幅の範囲はページの横サイズの中心点から左右対称の範囲となる。軸の有効範囲を設定しない場合には、軸の有効範囲はページ全体となる。尚、この場合、軸はページ内の自由な位置に配置できるため、サブテンプレートを適切な位置に配置させるのが難しい。
【０１１６】
１６１４では軸の優先度を設定できる。すなわち、複数の軸が存在する場合、サブテンプレートを配置する軸の優先度を選択することができる。ある軸が別の軸よりも優先度が高い場合、その優先度が高い軸に配置する条件に適合したサブテンプレートをその軸に配置する必要がある場合がある。その際、その優先度が高い軸の有効範囲に他のサブテンプレートが既に配置されていたとしても、それらの他のテンプレートを一旦排除して、その軸の有効範囲に所望のサブテンプレートを配置することができる。一旦排除されたサブテンプレートは別の領域に配置される。
【０１１７】
本実施例では軸の優先度として高、中、低の値を設定することができる。もちろんこの設定値の種類を増やしたり絶対順位を設定したりすることも可能である。
【０１１８】
１６１５では軸のフロー方向を設定することが出来る。例えば、左上から右下にＺ型に配置していくフロー方向、また左上から右下に逆Ｎ字型に配置していくフロー方向などが考えられる。ただしフロー方向は上記にあげたものだけではなく、様々な方向が考えられる。軸にサブテンプレートを配置する際、設定されたフロー方向が適用されてフローされる。このフロー方向は軸内に配置されるサブテンプレートに対して適用される。１６１６では軸の範囲内の揃え方向を設定することが出来る。この揃えの対象はサブテンプレートであり、配置が終了した段階で、ページの上下左右の方向に対してサブテンプレートを揃えることが出来る。
【０１１９】
図２４はバランス条件のダイアログボックスの一例を示す。
【０１２０】
１８０２はバランス条件のダイアログボックスを最小化、最大化、クローズを行うためのボタンである。１８０３は、ダイアログボックス上で入力したプロパティを適用するか、あるいはキャンセルするかを選択するためのボタンである。１８０４は、ダイアログボックス内のスクロールバーである。表示する内容のデータ量が大きい場合はこのスクロールバーを使用して画面をスクロールさせる。バランス条件のダイアログボックスでは、例えば、後述する動的レイアウトフロー実行後にページに配置されるサブテンプレートの数がページによって大きく異なったときに、サブテンプレートをどのように再配置するかを設定することができる。例えば“もし１ページのサブテンプレートの配置数が３より少ない場合は、他のページに入れ込む。”、といった条件を設定することになる。条件の設定の仕方は１７０１のレイアウト条件のダイアログボックスとほぼ同様である。ただ、バランス条件のダイアログボックスでは、１８１１には“配置数”、１８２０には“空きスペース率”が条件文として設定されているが、その他にも様々な条件文の設定が考えられる。“配置数”とは、そのページに配置されているサブテンプレート数のことであり、“空きスペース率”とは、そのページ領域にサブテンプレート領域が占める割合のことである。１８１４では、“ＡＮＤ”や“ＯＲ”の論理式を使用することによって複数の条件を設定することができる。１８２１、１８２４、１８２６の“Ａｃｔｉｏｎ”は条件に合致した際どのような動きをするかを設定するためのボックスである。ここでは例として“他のページに入れ込む”、“ページ間でバランスを取る”、“ページを削除する”等が入力されている。
【０１２１】
図１２は、動的フローレイアウトの処理の流れを示すフローチャートを示す。
【０１２２】
まずドキュメントの１ページ目を選択する（Ｓ１０２１）。
【０１２３】
次いで、最適軸を選択する（Ｓ１０２２）。最適軸とは、サブテンプレートを配置する最適な軸のことである。図１３（ａ）は、最適軸の選択処理の流れを示すフローチャートである。Ｓ１０４１で、ＤＢの条件カラムデータを読み込む。すなわち、図２３に示すレイアウト条件のダイアログボックスで設定された値を元に該当のサブテンプレートをどの軸に配置するかを決定する。次にＳ１０４２で、フローエリアの条件設定を読み込む。すなわち、図１８に示すレイアウトウィンドウのダイアログボックスで作成された軸の設定を読み込む。次いで、Ｓ１０４３で、Ｓ１０４１とＳ１０４２の結果が合致する最適軸（例えば、アピール商品に対してアピール軸）を選択する。最適軸を選択した後、図１２に戻りＳ１０２３で配置可能エリアを計算する。配置可能エリアとは、該当サブテンプレートを配置可能な領域のことである。図１３（ｂ）は、配置可能エリアを計算する処理の流れを示すフローチャートである。まずＳ１０５１で、軸の範囲を図２２の軸プロパティのダイアログボックスの設定から抽出する。すなわち、図２２に示す軸プロパティのダイアログボックスで設定された軸の位置（１６１２）と軸の有効範囲（１６１３）から軸の有効範囲を計算する。次に、Ｓ１０５２で、フローエリア内の空き領域を現在のレイアウトから抽出する。すなわち、現状のフローエリアのレイアウト状態（サブテンプレートの配置状態）から空き領域を捜す。空き領域とは、サブテンプレートやレイアウト枠等のオブジェクトが配置されていないフローエリア内の領域のことである。次いで、Ｓ１０５３にてＳ１０５１から得られた結果とＳ１０５２から得られた結果の論理積をとり、その領域を配置可能エリアと設定する。図１２に戻り、配置可能エリアを設定後、Ｓ１０２４で、配置可能エリアに該当サブテンプレートが配置可能かを判断する。この時、該当サブテンプレートが他のサブテンプレートと重ならず、軸上の配置可能エリアに配置できる場合はＳ１０２５の配置処理へ進む。これに対して、Ｓ１０２４で、配置可能エリアに該当サブテンプレートが配置できない場合には、Ｓ１０２６へ進み、サブテンプレートの再配置処理へ進む。
【０１２４】
図１４（ａ）は、図１２の１０２５の配置処理の流れを示すフローチャートである。
【０１２５】
まずＳ１０６１で、図２２の軸プロパティのダイアログボックスの１６１５で設定された値を該当軸のフロー方向として抽出する。次いで、Ｓ１０６２で、同軸に既存のテンプレートが存在するか判断し、存在する場合はＳ１０６３へ進み、存在しない場合はＳ１０６４へ進む。Ｓ１０６３では既存のサブテンプレートの位置を読み込む。Ｓ１０６４ではフロー方向に従い、該当サブテンプレートを該当軸へ配置する。図２６は、図１４（ａ）に示すフローチャートにしたがった配置処理方法の概念図である。２００３はフローエリアを示し、２００４はページを示す。２００１の矩形は、既に配置されているサブテンプレートを示し、２００２は配置可能エリアを示す。このようにサブテンプレートが配置された状態で、２００５のレコード（コンテンツ）２００５を更に配置しようとする場合、軸Ａが最適軸であるため、レコード（コンテンツ）２００５を軸Ａのエリアに配置する。図２９は、軸のフロー方向にしたがいサブテンプレートを再配置する処理を説明するための概念図を示す。２３２０のサブテンプレートが複数存在している場合、図２２の軸プロパティのダイアログボックスの１６１５で設定されたフロー方向に従い、２３２１に示すレコード（コンテンツ）の順番でフローエリアの最適軸Ｂにレコード（コンテンツ）が配置される。例えば、２３２２のような戻Ｎ字型のフロー方向が１６１５で設定されている場合には、２３２０のサブテンプレートは配置可能エリア内で右上から左下へＮ字に沿った配置をされ、２３２３のレイアウト結果になる。
【０１２６】
図１２に戻り、Ｓ１０２４にて、該当サブテンプレートが最適軸に配置可能でない場合、Ｓ１０２６にて該当軸に既に配置されているサブテンプレートを再配置するかを判断する。再配置する場合には、１０２７の再配置処理へ進み、そうでない場合には、１０２８へ進む。図１４（ｂ）は、再配置処理の流れを示すフローチャートを示す。Ｓ１０７１で、該当軸に関連付けられている配置済みのサブテンプレートを全て抽出し、レコード（コンテンツ）番号の小さい方から順番に並べる。次いで、Ｓ１０７２で、図１３に示す配置可能エリアの計算処理で得られた配置可能エリアを該当軸に対して再計算し、Ｓ１０７３にてサブテンプレートを順次選択し、Ｓ１０７４にて、図１４（ａ）の配置処理を行う。Ｓ１０７４の配置処理後、Ｓ１０７５で配置が成功したかを判断し、配置が成功した場合はＳ１０７６へ進み、全てのサブテンプレートの配置が終わるまで配置を行う。Ｓ１０７５で配置が成功していないと判断した場合はＳ１０７７へ進み、次ページがある場合は次ページを選択し、次ページが存在しない場合は新ページを作成してＳ１０７４の配置処理へ再度進む。
【０１２７】
図２７は、図１４（ｂ）に示す再配置処理方法を説明するための概念図である。
【０１２８】
２１０３はフローエリアを示し、２１０４はページを示す。２１０１は中央の軸に配置されたサブテンプレートである。Ｓｔｅｐ１では次レコード（コンテンツ）のサブテンプレート２１０２のサイズが大きいために、その最適軸である軸Ｂ上に配置することができない。このような状態の時には、Ｓｔｅｐ３に示すように、軸Ｂに割り当てられた配置済みのサブテンプレート２１０１と次レコード（コンテンツ）２１０２のサブテンプレートを２１０６のように順番に並べる。
次いで、軸Ｂの配置可能エリアを再計算し配置可能エリア２１０５を求める。次いで、サブテンプレート２１０１、２１０２を図２２の軸プロパティのダイアログボックスの１６１５で設定されたフロー方向に従い配置可能エリア２１０５に再配置する。
【０１２９】
図１２に戻り、図１２のＳ１０２６にてサブテンプレートを再配置できない場合、Ｓ１０２８へ進み、サブテンプレートの割り込みを行うかどうかを判断する。割り込みを行う場合、優先度が該当軸の周辺の軸よりも高いかどうかを図２２の１６１４から判断する。１６１４の優先度が周辺の軸よりも高い場合は割込みを行うため、Ｓ１０２９の割込処理へ進み、そうでない場合はＳ１０３０へ進む。図１５は、割込処理の流れを示すフローチャートを示す。
【０１３０】
まずＳ１０８１にて図２２の１６１２、１６１３から配置する領域を設定する。これは配置可能エリアと異なり、単純な軸の有効エリアを指す。次いで、Ｓ１０８２にて、Ｓ１０８１で設定した領域に対して該当サブテンプレートを配置する。次いで、Ｓ１０８３にて割り込みが成功したかどうか、すなわち、Ｓ１０８２の配置が成功したかどうかを判断する。配置が成功した場合はＳ１０８４に進み、配置が失敗した場合はＳ１０８５に進み、次ページを選択あるいは新ページを生成する。Ｓ１０８４では配置した該当サブテンプレートが他の軸の既配置サブテンプレートと重複しているかどうかを判断する。重複しているサブテンプレートが存在しない場合には割り込み処理は終了する。重複しているサブプレートが存在する場合にはＳ１０８６へ進み、重複しているサブテンプレートの最適軸を選択する。次いで、Ｓ１０８７へ進み、重複軸のサブテンプレートに対し再配置処理を行う。次いで、Ｓ１０８８にて重複した軸において再配置処理を行ったかどうかを判断し、再配置処理がまだの場合にはＳ１０８６へ戻り、別の重複軸に対して再配置処理を行う。これを全ての重複軸において再配置が終了するまで行う。図２８は図１５の割込処理方法を説明するための概念図である。２２０３はフローエリアを示し、２２０４はページを示す。２２０１は中央の軸に配置されたサブテンプレートを示す。次レコード（コンテンツ）２２０２は軸Ａに割り当てられ、軸Ａが軸Ｂよりも優先度が高い場合、サブテンプレート２２０２を２２０５の位置に配置する。これにより割り込みが発生し、軸Ｂに割り当てられたサブテンプレート２２０１がサブテンプレート２２０２と重複するため再配置される。図１４（ｂ）の再配置処理のフローに従い、軸Ｂの新たな配置可能エリア２２０６を計算し、レイアウトフロー方法に従って２２０７のサブテンプレートを順次配置していく。図１２のＳ１０２８にて割込処理を行わない場合はＳ１０３０に進み、次ページがある場合は次ページを選択し、次ページが存在しない場合は新ページを作成して図１５のＳ１０８２の配置処理へ再度進み、配置が成功するまで処理を繰り返す。
【０１３１】
図１６は、図１１（ｂ）のフローレイアウトの処理のＳ１０１６の後処理のフローチャートを示す。
【０１３２】
まずＳ１１０１で、バランスが適切か判断する。これはユーザが動的フローレイアウトの結果を見て判断することも可能であるが、レイアウトの自動化という観点から本実施例では図２４のバランス条件のダイアログボックスで設定されている条件に当てはまるかどうかで判断する。ここで条件の設定に従って適切かどうかを判断し、適切な場合はＳ１１０３の判断文に進む。適切でない場合はＳ１１０２のバランス処理へ進む。図１７は、バランス処理のフローチャートを示す図である。
【０１３３】
図２４のバランス条件のダイアログボックスでは例として“他のページに入れ込む”、“ページ間でバランスを取る”、“ページを削除する”などがＡｃｔｉｏｎとして示されていたが、ここではその内“ページに入れ込む”オプションを例にして説明する。まずＳ１１１２で、入れ込むサブテンプレートを選択する。次いで、Ｓ１１１３にて入れ込み先のフローエリアを選択する。この時のフローエリアの選択方法は様々な方法が考えられるが、まず前のページにフローエリアがあるかどうかをチェックし、前のページになければ後ろのページをチェックすると仮定する。本例では、前のページのフローエリアが選択されたとする。次いで、Ｓ１１１４にてＳ１１１３で選択されたフローエリア内のサブテンプレートをある倍率で縮小させる。次いで、Ｓ１１１５にて、図１３（ｂ）が示す方法で配置可能エリアを計算し、Ｓ１１１６にてＳ１１１２で選択したサブテンプレートがそのエリアに挿入可能かどうかを判断する。可能の場合はＳ１１１７にて図１４（ａ）が示す方法で配置処理を行う。もし未だ挿入可能でない場合は、Ｓ１１１４に戻り再びフローエリア内のサブテンプレートをある倍率で縮小させ、挿入可能になるまでそれを繰り返す。Ｓ１１１７で配置処理を行った後、Ｓ１１１８で全ての該当サブテンプレートに対して処理を行ったかを判断し、全てのサブテンプレートの入れ込みが完了するまで処理が行われる。
【０１３４】
図１６に戻り、図１６のＳ１１０１にてバランスが適切である場合にはＳ１１０３にて軸に揃えが設定されているかを判断する。設定されている場合はＳ１１０４の揃え処理を行う。図１７（ｂ）は、揃え処理のフローチャートを示す。
【０１３５】
まずＳ１１３１にてページを選択し、Ｓ１１３２にてフローエリアから軸を選択する。Ｓ１１３３にて軸に設定されたサブテンプレートを抽出し、Ｓ１１３４にて図２２の１６１６から軸の範囲内の揃え方向を抽出する。Ｓ１１３５にて抽出したサブテンプレートを１６１６に従ってページ上で揃え、これをＳ１１３６、Ｓ１１３７にて全ての軸、ページに対して実行する。図３０は軸の揃えの概念図を示す。２３２３のようにレイアウトされたサブテンプレートを１６１６の設定に従って揃える。この場合、２３２４にように均等割り付けが設定されているため、２３２３のサブテンプレートをページあるいはフローエリアに対して均等になるよう移動する。その結果、２３２５のようなレイアウト結果となる。
【０１３６】
４．他の実施例
本発明の目的は、システムあるいは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体（又は記録媒体）に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。その記憶媒体は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現する。そして、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【０１３７】
記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施例の機能が実現される場合もある。すなわち、記憶媒体から読み出されたプログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行う場合もある。
【０１３８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３９】
【図１】バリアブルプリントを適用するシステムの構成を示すブロック図である。
【図２】システム内のホストコンピュータの構成を示すブロック図である。
【図３】バリアブルプリントを実現するシステムの別の構成を示すブロック図である。
【図４】メインウィンドウ３０１の一例を示す図である。
【図５】レイアウト枠の辺の状態を示す図である。
【図６】レイアウト枠の一例を示す図である。
【図７】レイアウト間にリンクを設定するためのユーザインタフェースの例を示す図である。
【図８】（ａ）は、レイアウト計算の概要のフローチャートを示す図であり、（ｂ）は、（ａ）のフローチャートにおけるＳ７０３の「レイアウト計算」の詳細のフローチャートを示図である。
【図９】レイアウト計算時のユーザインタフェースの例である。
【図１０】マルチレコードとそのレイアウト方法の概要を示した図である
【図１１】（ａ）は、本実施例の全体動作の概要を示すフローチャートを示す図であり、（ｂ）は、フローレイアウトの詳細を示すフローチャートを示す図である。
【図１２】動的フローレイアウトの処理の流れを示すフローチャートを示す図である。
【図１３】（ａ）は、最適軸の選択処理の流れを示すフローチャートを示す図であり、（ｂ）は、（ｂ）は、配置可能エリアを計算する処理の流れを示すフローチャートを示す図である。
【図１４】（ａ）は配置処理の流れを示すフローチャートを示す図であり、（ｂ）は、再配置処理の流れを示すフローチャートを示す図である。
【図１５】割り込み処理の流れを示すフローチャートを示す図である。
【図１６】後処理の流れを示すフローチャートを示す図である。
【図１７】（ａ）は、バランス処理の流れを示すフローチャートを示す図であり、（ｂ）は、揃え処理の流れを示すフローチャートを示す図である。
【図１８】レイアウトウィンドウの表示例を示す図である。
【図１９】サブテンプレートのレイアウト例を示す図である。
【図２０】レイアウト計算のフローチャートを示す図である。
【図２１】フロアエリアプロパティのダイアログボックスの例を示す図である。
【図２２】軸プロパティのダイアログボックスの例を示す図である。
【図２３】レイアウト条件のダイアログボックスの例を示す図である。
【図２４】バランス条件のダイアログボックスの例を示す図である。
【図２５】サブテンプレートの配置方法を説明するための基本概念図である。
【図２６】配置処理方法の概念図である。
【図２７】再配置処理方法の概念図である。
【図２８】割り込み処理方法の概念図である。
【図２９】軸のフロー方向にしたがいサブテンプレートを再配置する処理を説明するための概念図である。
【図３０】軸の揃えの概念図である。
【符号の説明】
【０１４０】
１０１  ホストコンピュータ
１０３  ユーザインタフェース
１０５  レイアウトエンジン
１０９  プリントサーバ
１１３  プリンタ
１１５  ファイルサーバ
１１７  データベースサーバ
１１９  データベース
１２１  レイアウト編集アプリケーション
【図１】
2007334510.tif 000003
【図２】
2007334510.tif 000004
【図３】
2007334510.tif 000005
【図４】
2007334510.tif 000006
【図５】
2007334510.tif 000007
【図６】
2007334510.tif 000008
【図７】
2007334510.tif 000009
【図８】
2007334510.tif 000010
【図９】
2007334510.tif 000011
【図１０】
2007334510.tif 000012
【図１１】
2007334510.tif 000013
【図１２】
2007334510.tif 000014
【図１３】
2007334510.tif 000015
【図１４】
2007334510.tif 000016
【図１５】
2007334510.tif 000017
【図１６】
2007334510.tif 000018
【図１７】
2007334510.tif 000019
【図１８】
2007334510.tif 000020
【図１９】
2007334510.tif 000021
【図２０】
2007334510.tif 000022
【図２１】
2007334510.tif 000023
【図２２】
2007334510.tif 000024
【図２３】
2007334510.tif 000025
【図２４】
2007334510.tif 000026
【図２５】
2007334510.tif 000027
【図２６】
2007334510.tif 000028
【図２７】
2007334510.tif 000029
【図２８】
2007334510.tif 000030
【図２９】
2007334510.tif 000031
【図３０】
2007334510.tif 000032