(57)【特許請求の範囲】
【請求項１】
レイアウト領域及び前記レイアウト領域にレイアウトされた複数のコンテンツの、幅及び高さの少なくとも一方を、伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づいて伸長又は圧縮し、前記複数のコンテンツの再レイアウトを行うレイアウト装置であって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得手段と、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報、及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮手段と、
前記伸長又は圧縮されたレイアウト領域を、前記再レイアウト後のページ数に分けるページ区切り位置を設定するページ区切り位置設定手段と、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択手段と、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断手段と、
前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定手段と、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮し、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウト手段と、を備えることを特徴とするレイアウト装置。
【請求項２】
前記仮想ページ区切り位置設定判断手段は、前記ページ区切り位置設定手段によって設定されたページ区切り位置と、前記伸長又は圧縮されたレイアウト領域における空白領域の位置とが所定距離以内のときに、前記仮想ページ区切り位置を、前記所定距離以内にある空白領域の位置に設定すると判断することを特徴とする請求項１記載のレイアウト装置。
【請求項３】
前記仮想ページ区切り位置設定判断手段は、前記所定距離以内に複数の空白領域が位置するときに、最も近い空白領域の位置に、前記仮想ページ区切り位置を設定すると判断することを特徴とする請求項１記載のレイアウト装置。
【請求項４】
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定距離は、前記ページ構成情報に基づき、各ページ区切り位置毎に設定され、各ページ区切り位置に対するページ構成内容に応じた距離であることを特徴とする請求項２又は請求項３記載のレイアウト装置。
【請求項５】
前記各ページ区切り位置に対するページ構成内容として、当該ページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、前記ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、前記所定距離は、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定することを特徴とする請求項４記載のレイアウト装置。
【請求項６】
前記レイアウト領域にレイアウトされた複数のコンテンツのそれぞれに対して、これらの幅及び高さの少なくとも一方を伸長又は圧縮するのに要する変形力の情報が予め設定されており、
前記仮想ページ区切り位置設定判断手段は、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴とする請求項１記載のレイアウト装置。
【請求項７】
前記複数のコンテンツにおける、幅又は高さ方向の少なくとも一方に隣り合う各コンテンツ間と、前記コンテンツと幅又は高さ方向の少なくとも一方に隣り合うレイアウト領域の端部との間とに対して、これらの間をそれぞれ伸長又は圧縮するのに要する変形力の情報が予め設定されており
前記仮想ページ区切り位置設定判断手段は、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴とする請求項６記載のレイアウト装置。
【請求項８】
前記仮想ページ区切り位置設定判断手段は、前記変形力の情報に基づき、前記仮想ページ区切り位置を設定した場合に、当該仮想ページ区切り位置でページ分けされる各ページに対応するコンテンツのサイズが前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、前記仮想ページ区切り位置でページ分けされる各ページにレイアウトされたコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮するのに必要な合成変形力に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴とする請求項６記載のレイアウト装置。
【請求項９】
前記仮想ページ区切り位置設定判断手段は、前記合成変形力が所定力以下のときに、前記仮想ページ区切り位置を、前記所定力以下に対応する空白領域の位置に設定すると判断することを特徴とする請求項８記載のレイアウト装置。
【請求項１０】
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定力は、前記ページ構成における、各ページ構成内容の種類毎に設定された力であることを特徴とする請求項９記載のレイアウト装置。
【請求項１１】
前記ページ構成内容の種類として、前記選択したページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、当該ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、
前記所定力を、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定したことを特徴とする請求項１０記載のレイアウト装置。
【請求項１２】
前記変形力情報はバネ定数を含み、
前記仮想ページ区切り位置設定判断手段は、前記設定されたページ区切り位置を変更する場合に、前記バネ定数と、前記選択したページ区切り位置と仮想ページ区切り位置との間の距離とに基づき、前記合成変形力を算出することを特徴とする請求項８乃至請求項１１のいずれか１項に記載のレイアウト装置。
【請求項１３】
レイアウト領域及び前記レイアウト領域にレイアウトされた複数のコンテンツの、幅及び高さの少なくとも一方を、伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づいて伸長又は圧縮し、前記複数のコンテンツの再レイアウトを行うのに使用するレイアウトプログラムであって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得ステップと、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報、及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮手段と、
前記伸長又は圧縮されたレイアウト領域を、前記再レイアウト後のページ数に分けるページ区切り位置を設定するページ区切り位置設定ステップと、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択ステップと、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断ステップと、
前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定ステップと、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮すると共に、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウトステップとからなる処理をコンピュータに実行させるのに使用するプログラムを含むことを特徴とするレイアウトプログラム。
【請求項１４】
レイアウト領域及び前記レイアウト領域にレイアウトされた複数のコンテンツの、幅及び高さの少なくとも一方を、伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づいて伸長又は圧縮し、前記複数のコンテンツの再レイアウトを行うのに使用するレイアウト方法であって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得手段が、前記弾性レイアウトデータを取得するステップと、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報、及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮手段が、前記コンテンツ並びに前記レイアウト領域を伸長又は圧縮するステップと、
前記伸長又は圧縮されたレイアウト領域を、前記再レイアウト後のページ数に分けるページ区切り位置を設定するページ区切り位置設定手段が、前記ページ区切り位置を設定するステップと、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択手段が、ページ区切り位置を選択するステップと、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断手段が、仮想ページ区切り位置を設定するか否かを判断するステップと、
前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定手段が、仮想ページ区切り位置を設定するステップと、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮し、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウト手段が、再レイアウトするステップと、を含むことを特徴とするレイアウト方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書や画像等の掲載情報をレイアウトする装置およびプログラム、並びに方法に係り、特に、レイアウト後のコンテンツ及びそのレイアウト領域を、各ページ毎に又は各ページ間毎に、これらに対応するレイアウト領域におけるレイアウトの均整を損なわずに指定ページ数にページ分割するのに好適なレイアウト装置およびレイアウトプログラム、並びにレイアウト方法に関する。
【背景技術】
【０００２】
従来、文書データや画像データ等を含む複数のディジタルコンテンツをレイアウト領域にレイアウトした後に、当該レイアウト後のディジタルコンテンツ及びレイアウト領域からなるレイアウト全体のサイズを、印刷する紙面のサイズに合わせたり、レイアウト全体をページ分割したりするなどの理由から、レイアウト全体の均整が崩れないようにレイアウト全体のサイズ等を変更をしたいという場合がある。このように、一度レイアウトされたものを均整が崩れないように変更する技術として、例えば、特許文献１に開示されている弾性を有するグラフィック・オブジェクトのマルチ・パス・レイアウトがある。
【０００３】
特許文献１に記載された従来例においては、グラフィック・オブジェクトのレイアウトを処理するために、グラフィック・オブジェクトに対し弾性データ構造を設定して、最小且つ望ましいサイズ、伸長特性、および圧縮特性を定義している。そして、テキストブロックの望ましい幅と圧縮度は、そのテキスト・ブロックのテキスト量の関数になっている。更に、複合のグラフィック・オブジェクトは、コンポーネントの相対的弾力性に依存する加算および最大オペレーションを通して、それらのコンポーネントから計算される弾性特性を含んでいる。また、グラフィック・オブジェクトのデフォルトの幅または高さの基本設定値はオーバーライド（更新）できるようになっている。これにより、特定の表示関係を維持しながら、グラフィック・オブジェクト内の表示特性を変化させることができる。
【０００４】
また、従来、ＴｅＸと呼ばれるテキスト・フォーマットプログラムがある（非特許文献１参照）。ＴｅＸには、グルー（glue）と呼ばれる仕組みがあり、このグルーは、例えば単語と単語との間の空白を設定でき、そのままの（自然な）空白と、伸長度、縮小度の３つの属性をもっている。そして、そのままの空白を、設定された伸長度又は縮小度に基づき、空白を構成するユニット数を減数又は増数させることによって、空白のサイズを伸長又は縮小することができる。このグルーを用いることで、各ページの右側のマージンを揃えたり、伸長度、縮小度の設定値を変更することで文章の「右揃え」等を行うことができる。
【特許文献１】特表２００３−５０６７６９号公報
【非特許文献１】TEX(テック)ブック−コンピュータによる組版システム    アスキー・電子出版シリーズ（ISBN: 4756100104 ; (1989/10) ）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１及び非特許文献１の従来技術においては、複数ページにわたるレイアウトを行う場合に、連続的に複数ページにレイアウトを行なって結果としてページに分割するか、人手により予め各ページにコンテンツを分割する必要があり、レイアウト全体の均整のとれたページ分割を自動で行うことは難しかった。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、レイアウト後のコンテンツ及びそのレイアウト領域を、各ページ毎に又は各ページ間毎に、これらに対応するレイアウト領域におけるレイアウトの均整を損なわずに指定ページ数に自動的にページ分割するのに好適なレイアウト装置およびレイアウトプログラム、並びにレイアウト方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
〔形態１〕  上記目的を達成するために、形態１のレイアウト装置は、
レイアウト領域にレイアウトされた複数のコンテンツがそのレイアウト領域を含め、当該レイアウト領域及び前記複数のコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づき、前記レイアウトされたコンテンツ及び前記レイアウト領域の幅及び高さの少なくとも一方を伸長又は圧縮して前記複数のコンテンツの再レイアウトを行うレイアウト装置であって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得手段と、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報を指定するページ情報指定手段と、
前記指定されたページ情報及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮手段と、
前記伸長又は圧縮されたレイアウト領域を、前記指定されたページ数に等分するページ区切り位置を設定するページ区切り位置設定手段と、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択手段と、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断手段と、
前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定手段と、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮すると共に、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウト手段と、を備えることを特徴としている。
【０００７】
このような構成であれば、弾性レイアウトデータ取得手段によって、レイアウト領域にレイアウトされた複数のコンテンツがそのレイアウト領域を含め、当該レイアウト領域及び前記複数のコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータを取得することが可能であり、ページ情報指定手段によって、少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報を指定することが可能である。
【０００８】
更に、伸縮手段によって、前記指定されたページ情報及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮することが可能であり、ページ区切り位置設定手段によって、前記伸長又は圧縮されたレイアウト領域を、前記指定ページ数に等分するページ区切り位置を設定することが可能である。
【０００９】
更に、ページ区切り位置選択手段によって、前記設定されたページ区切り位置を、所定の順番で選択することが可能であり、仮想ページ区切り位置設定判断手段によって、前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断することが可能であり、仮想ページ区切り位置設定手段によって、前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定することが可能である。
【００１０】
更に、再レイアウト手段によって、前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮すると共に、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトすることが可能である。
【００１１】
従って、レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方が伸長又は圧縮された後のレイアウト領域に対して、これを指定ページ数で等分するページ区切り位置が設定され、更に、前記設定されたページ区切り位置とコンテンツの位置とが重なっているときに、前記設定されたページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づいて、仮想ページ区切り位置が設定され、更に、設定された仮想ページ区切り位置でページ分けされた各レイアウト領域に含まれるコンテンツのサイズを、選択したページ区切り位置でページ分けされる各ページのレイアウト領域に対応するサイズとなるように、各コンテンツのサイズを伸張又は圧縮して、選択したページ区切り位置と重なっていたコンテンツが、当該選択したページ区切り位置でページ分けされるレイアウト領域に収まるようにでき、且つ各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトするので、位置関係による判断処理をレイアウト全体及び各ページのレイアウトの均整を損なわないように適切に行うことで、予め各ページにコンテンツを分割することなく、均整のとれたレイアウトで簡易に指定したページ数にページ区切りを行うことができると共に、指定したページサイズに再レイアウトできるという効果が得られる。
【００１２】
ここで、上記レイアウトの言葉の意味としては、配置するといった意味の他、掲載記事の組み方・字の大きさ・図版の位置などを指定するいわゆるわりつけの意味も含む。以下、形態１３のレイアウトプログラム、および形態２５のレイアウト方法において同じである。
また、上記コンテンツには、文字情報（表なども含む）、画像情報その他の情報が含まれる。以下、形態１３のレイアウトプログラム、および形態２５のレイアウト方法において同じである。
また、上記レイアウトとは、例えば、画面上に表示することを目的としてコンテンツをレイアウトする場合にはその表示レイアウトを、紙面上に印刷することを目的としてコンテンツをレイアウトする場合にはその印刷レイアウトをいう。以下、形態１３のレイアウトプログラム、および形態２５のレイアウト方法において同じである。
【００１３】
〔形態２〕  更に、形態２のレイアウト装置は、形態１のレイアウト装置において、
前記仮想ページ区切り位置設定判断手段は、前記ページ区切り位置設定手段によって設定されたページ区切り位置と、前記伸長又は圧縮されたレイアウト領域における空白領域の位置とが所定距離以内のときに、前記仮想ページ区切り位置を、前記所定距離以内にある空白領域の位置に設定すると判断することを特徴としている。
このような構成であれば、前記仮想ページ区切り位置設定判断手段は、前記ページ区切り位置設定手段によって設定されたページ区切り位置と、前記伸長又は圧縮されたレイアウト領域における空白領域の位置とが所定距離以内のときに、前記仮想ページ区切り位置を、前記所定距離以内にある空白領域の位置に設定すると判断することが可能である。
従って、ページ区切り位置と空白領域との距離によって、仮想ページ区切り位置を、例えば、距離が極端に離れている空白領域の位置には設定させないようにし、そうでない場合は、空白領域の位置に設定するようにすることで、均整のとれたレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１４】
〔形態３〕  更に、形態３のレイアウト装置は、形態１のレイアウト装置において、
前記仮想ページ区切り位置設定判断手段は、前記所定距離以内に複数の空白領域が位置するときに、最も近い空白領域の位置に、前記仮想ページ区切り位置を設定すると判断することを特徴としている。
このような構成であれば、例えば、ページ区切り位置から少しだけ他のページにはみ出しているようなコンテンツを、ページ内に引き込んで再レイアウトを行うこと等が可能となるので、均整のとれたレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１５】
〔形態４〕  さらに、形態４のレイアウト装置は、形態２又は３のレイアウト装置において、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定距離は、前記ページ構成情報に基づき、各ページ区切り位置毎に設定され、各ページ区切り位置に対するページ構成内容に応じた距離であることを特徴としている。
このような構成であれば、特別なページ構成でページ区切りを行うようなときに、無理のない再レイアウトを行わせることができるので、均整のとれたレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１６】
〔形態５〕  更に、形態５のレイアウト装置は、形態４のレイアウト装置において、
前記各ページ区切り位置に対するページ構成内容として、当該ページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、前記ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、前記所定距離は、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定することを特徴としている。
このような構成であれば、ページめくりを伴うページに対応するページ区切り位置に対しては仮想ページ区切り位置を設定しやすくできるので、選択したページ区切り位置から少しだけ他のページにはみ出しているようなコンテンツをページ内に引き込みやすくでき、これによりページめくりを伴って２ページにわたってレイアウトされると見にくくなるようなコンテンツが１ページに納まりやすくなるので、内容が読みやすく均整のとれたレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１７】
〔形態６〕  更に、形態６のレイアウト装置は、形態１のレイアウト装置において、
前記レイアウト領域にレイアウトされた複数のコンテンツのそれぞれに対して、これらの幅及び高さの少なくとも一方を伸長又は圧縮するのに要する変形力の情報が予め設定されており、
前記仮想ページ区切り位置設定判断手段は、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
このような構成であれば、位置関係情報に加え、複数のコンテンツに設定された変形力を考慮して仮想ページ区切り位置を設定するか否かを判断できるので、例えば、変形させたくないコンテンツに対して大きな変形力を必要とする変形力情報を設定し、変形力の大きいコンテンツが変形し難くなるようにすることで、均整がとれ且つ元のレイアウト内容をなるべく維持した再レイアウト内容で指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１８】
〔形態７〕  更に、形態７のレイアウト装置は、形態６のレイアウト装置において、
前記複数のコンテンツにおける、幅又は高さ方向の少なくとも一方に隣り合う各コンテンツ間と、前記コンテンツと幅又は高さ方向の少なくとも一方に隣り合うレイアウト領域の端部との間とに対して、これらの間をそれぞれ伸長又は圧縮するのに要する変形力の情報が予め設定されており
前記仮想ページ区切り位置設定判断手段は、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
このような構成であれば、位置関係及び各コンテンツの変形力に加え、各コンテンツ間の変形力、及びレイアウト領域端部とコンテンツとの間の変形力を考慮して仮想ページ区切り位置を設定するか否かを判断できるので、例えば、変形させたくないコンテンツ、各コンテンツ間、コンテンツとレイアウト領域端部との間に対して大きな変形力を必要とする変形力情報を設定し、これら変形力の大きいものが変形し難くなるような判断処理を行わせることで、均整がとれ且つより元のレイアウト内容に沿ったレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００１９】
〔形態８〕  更に、形態８のレイアウト装置は、形態６のレイアウト装置において、
前記仮想ページ区切り位置設定判断手段は、前記変形力の情報に基づき、前記仮想ページ区切り位置を設定した場合に、当該仮想ページ区切り位置でページ分けされる各ページに対応するコンテンツのサイズが前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、前記仮想ページ区切り位置でページ分けされる各ページにレイアウトされたコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮するのに必要な合成変形力を算出し、当該算出した合成変形力に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
【００２０】
このような構成であれば、例えば、選択ページ区切り位置から所定距離内に、仮想ページ区切り位置を設定する２つの空白領域の候補があった場合に、一方の空白領域の位置に仮想ページ区切り位置を設定した場合と、他方の空白領域の位置に仮想ページ区切り位置を設定した場合とで、仮想ページ区切り位置でページ分けされる各ページの各コンテンツ、各コンテンツ間及びコンテンツとレイアウト領域端部との間の変形力の少なくとも一つに対して、それら全ての変形力を合成（例えば、変形力の総和を算出）した合成変形力を比較し、例えば、合成変形力の小さくなる方の空白領域の位置に優先して仮想ページ区切り位置を設定するようにすることで、均整がとれ且つより元のレイアウト内容に沿ったレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００２１】
〔形態９〕  更に、形態９のレイアウト装置は、形態８のレイアウト装置において、
前記仮想ページ区切り位置設定判断手段は、前記算出した合成変形力が所定力以下のときに、前記仮想ページ区切り位置を、前記所定力以下に対応する空白領域の位置に設定すると判断することを特徴としている。
このような構成であれば、仮想ページ区切り位置でページ分けされる各ページの各コンテンツ、各コンテンツ間及びコンテンツとレイアウト領域端部との間の変形力の少なくとも一つに対してそれら全ての変形力を合成（例えば、変形力の総和）した合成変形力が所定力以下のときに、当該所定力以下となる空白領域の位置に仮想ページ区切り位置を設定することが可能であるので、所定力を適切な値に設定することで、均整がとれ且つより元のレイアウト内容に沿ったレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００２２】
〔形態１０〕  更に、形態１０のレイアウト装置は、形態９のレイアウト装置において、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定力は、前記ページ構成における、各ページ構成内容の種類毎に設定された力であることを特徴としている。
このような構成であれば、特別なページ構成でページ区切りを行うようなときに、ユーザの要望に沿った無理のない再レイアウトを行わせることができるので、均整のとれ且つよりユーザの要望に沿ったレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００２３】
〔形態１１〕  更に、形態１１のレイアウト装置は、形態１０のレイアウト装置において、
前記ページ構成内容の種類として、前記選択したページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、当該ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、
前記所定力を、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定したことを特徴としている。
このような構成であれば、ページめくりを伴うページに対応するページ区切り位置に対して仮想ページ区切り位置を設定しやすくできるので、選択したページ区切り位置から少しだけ他のページにはみ出しているようなコンテンツをページ内に引き込みやすくでき、これによりページめくりを伴って２ページにわたってレイアウトされると見にくくなるようなコンテンツが１ページに納まりやすくなるので、均整のとれ且つより元のレイアウト内容に沿ったレイアウトで指定したページ数にページ区切りを行うことができるという効果が得られる。
【００２４】
〔形態１２〕  更に、形態１２のレイアウト装置は、形態９乃至１１のいずれか１のレイアウト装置において、
前記変形力情報はバネ定数を含み、
前記仮想ページ区切り位置設定判断手段は、前記設定されたページ区切り位置を変更する場合に、前記バネ定数と、前記選択したページ区切り位置と仮想ページ区切り位置との間の距離とに基づき、前記合成変形力を算出することを特徴としている。
このような構成であれば、各コンテンツ、各コンテンツ間及びコンテンツとレイアウト領域端部との間の変形力を、弾性体であるバネの変形力で適切に表すことができると共に、選択したページ区切り位置でページ分けされる各レイアウト領域に対するバネ定数と、当該選択したページ区切り位置とこれに対する仮想ページ区切り位置との間の距離とから、簡易に合成変形力を算出することができるという効果が得られる。
【００２５】
〔形態１３〕  一方、上記目的を達成するために、形態１３のレイアウトプログラムは、  レイアウト領域にレイアウトされた複数のコンテンツがそのレイアウト領域を含め、当該レイアウト領域及び前記複数のコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づき、前記レイアウトされたコンテンツ及び前記レイアウト領域の幅及び高さの少なくとも一方を伸長又は圧縮して前記複数のコンテンツの再レイアウトを行うのに使用するレイアウトプログラムであって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得ステップと、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報を指定するページ情報指定ステップと、
前記指定されたページ情報及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮ステップと、
前記伸長又は圧縮されたレイアウト領域を、前記指定されたページ数に等分するページ区切り位置を設定するページ区切り位置設定ステップと、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択ステップと、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断ステップと、
前記仮想ページ区切り位置設定判断手段の判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定ステップと、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮すると共に、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウトステップとからなる処理をコンピュータに実行させるのに使用するプログラムを含むことを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態１のレイアウトプログラムと同等の作用効果が得られる。
【００２６】
〔形態１４〕  更に、形態１４のレイアウトプログラムは、形態１３のレイアウトプログラムにおいて、
前記仮想ページ区切り位置設定判断ステップにおいては、前記ページ区切り位置設定ステップにおいて設定されたページ区切り位置と、前記伸長又は圧縮されたレイアウト領域における空白領域の位置とが所定距離以内のときに、前記仮想ページ区切り位置を、前記所定距離以内にある空白領域の位置に設定すると判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態２のレイアウトプログラムと同等の作用効果が得られる。
【００２７】
〔形態１５〕  更に、形態１５のレイアウトプログラムは、形態１３のレイアウトプログラムにおいて、
前記仮想ページ区切り位置設定判断ステップにおいては、前記所定距離以内に複数の空白領域が位置するときに、最も近い空白領域の位置に、前記仮想ページ区切り位置を設定すると判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態３のレイアウトプログラムと同等の作用効果が得られる。
【００２８】
〔形態１６〕  更に、形態１６のレイアウトプログラムは、形態１４又は１５のレイアウトプログラムにおいて、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定距離は、前記ページ構成情報に基づき、各ページ区切り位置毎に設定され、各ページ区切り位置に対するページ構成内容に応じた距離であることを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態４のレイアウトプログラムと同等の作用効果が得られる。
【００２９】
〔形態１７〕  更に、形態１７のレイアウトプログラムは、形態１６のレイアウトプログラムにおいて、
前記各ページ区切り位置に対するページ構成内容として、当該ページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、前記ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、前記所定距離は、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定されることを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態５のレイアウトプログラムと同等の作用効果が得られる。
【００３０】
〔形態１８〕  更に、形態１８のレイアウトプログラムは、形態１３のレイアウトプログラムにおいて、
前記レイアウト領域にレイアウトされた複数のコンテンツのそれぞれに対して、これらの幅及び高さの少なくとも一方を伸長又は圧縮するのに要する変形力の情報が予め設定されており、
前記仮想ページ区切り位置設定判断ステップにおいては、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態６のレイアウトプログラムと同等の作用効果が得られる。
【００３１】
〔形態１９〕  更に、形態１９のレイアウトプログラムは、形態１８のレイアウトプログラムにおいて、
前記複数のコンテンツにおける、幅又は高さ方向の少なくとも一方に隣り合う各コンテンツ間と、前記コンテンツと幅又は高さ方向の少なくとも一方に隣り合うレイアウト領域の端部との間とに対して、これらの間をそれぞれ伸長又は圧縮するのに要する変形力の情報が予め設定されており
前記仮想ページ区切り位置設定判断ステップにおいては、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態７のレイアウトプログラムと同等の作用効果が得られる。
【００３２】
〔形態２０〕  更に、形態２０のレイアウトプログラムは、形態１８のレイアウトプログラムにおいて、
前記仮想ページ区切り位置設定判断ステップにおいては、前記変形力の情報に基づき、前記仮想ページ区切り位置を設定した場合に、当該仮想ページ区切り位置でページ分けされる各ページに対応するコンテンツのサイズが前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、前記仮想ページ区切り位置でページ分けされる各ページにレイアウトされたコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮するのに必要な合成変形力を算出し、当該算出した合成変形力に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態８のレイアウトプログラムと同等の作用効果が得られる。
【００３３】
〔形態２１〕  更に、形態２１のレイアウトプログラムは、形態２０のレイアウトプログラムにおいて、
前記仮想ページ区切り位置設定判断ステップにおいては、前記算出した合成変形力が所定力以下のときに、前記仮想ページ区切り位置を、前記所定力以下に対応する空白領域の位置に設定すると判断することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態９のレイアウトプログラムと同等の作用効果が得られる。
【００３４】
〔形態２２〕  更に、形態２２のレイアウトプログラムは、形態２０のレイアウトプログラムにおいて、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定力は、前記ページ構成における、各ページ構成内容の種類毎に設定された力であることを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態１０のレイアウトプログラムと同等の作用効果が得られる。
【００３５】
〔形態２３〕  更に、形態２３のレイアウトプログラムは、形態２２のレイアウトプログラムにおいて、
前記ページ構成内容の種類として、前記選択したページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、当該ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、
前記所定力を、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定したことを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態１１のレイアウトプログラムと同等の作用効果が得られる。
【００３６】
〔形態２４〕  更に、形態２４のレイアウトプログラムは、形態２１乃至２３のいずれか１のレイアウトプログラムにおいて、
前記変形力情報はバネ定数を含み、
前記仮想ページ区切り位置設定判断ステップにおいては、前記設定されたページ区切り位置を変更する場合に、前記バネ定数と、前記選択したページ区切り位置と仮想ページ区切り位置との間の距離とに基づき、前記合成変形力を算出することを特徴としている。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態１２のレイアウトプログラムと同等の作用効果が得られる。
【００３７】
〔形態２５〕  一方、上記目的を達成するために、形態２５のレイアウト方法は、
レイアウト領域にレイアウトされた複数のコンテンツがそのレイアウト領域を含め、当該レイアウト領域及び前記複数のコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮可能な弾性データ構造を有してなる弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を伸長又は圧縮して前記複数のコンテンツの再レイアウトを行うのに使用するレイアウト方法であって、
前記弾性レイアウトデータを取得する弾性レイアウトデータ取得ステップと、
少なくとも前記再レイアウト後のページ数及びページサイズを含むページ情報を指定するページ情報指定ステップと、
前記指定されたページ情報及び前記弾性レイアウトデータに基づき、前記レイアウトされたコンテンツの幅及び高さの少なくとも一方、並びに前記レイアウト領域の幅及び高さの少なくとも一方を、前記ページ情報に応じたサイズに伸長又は圧縮する伸縮ステップと、
前記伸長又は圧縮されたレイアウト領域を、前記指定されたページ数に等分するページ区切り位置を設定するページ区切り位置設定ステップと、
前記設定されたページ区切り位置を、所定の順番で選択するページ区切り位置選択ステップと、
前記選択したページ区切り位置と重なる位置にコンテンツがあるときに、当該選択したページ区切り位置と前記伸長又は圧縮されたレイアウト領域における空白領域の位置との位置関係に基づき、当該選択したページ区切り位置が前記レイアウト領域における前記コンテンツとは重ならなくなる空白領域の位置に、仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断ステップと、
前記仮想ページ区切り位置設定判断ステップの判断結果に基づき、前記仮想ページ区切り位置を設定する仮想ページ区切り位置設定ステップと、
前記設定された仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツのサイズが、前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、当該コンテンツの幅及び高さの少なくとも一方を伸長又は圧縮すると共に、各コンテンツ間の配置関係が維持されるように該当するコンテンツを再レイアウトする再レイアウトステップと、を含むことを特徴としている。
これにより、形態１記載のレイアウト装置と同等の効果が得られる。
【００３８】
〔形態２６〕  更に、形態２６のレイアウト方法は、形態２５のレイアウト方法において、
前記仮想ページ区切り位置設定判断ステップにおいては、前記ページ区切り位置設定ステップにおいて設定されたページ区切り位置と、前記伸長又は圧縮されたレイアウト領域における空白領域の位置とが所定距離以内のときに、前記仮想ページ区切り位置を、前記所定距離以内にある空白領域の位置に設定すると判断することを特徴としている。
これにより、形態２記載のレイアウト装置と同等の効果が得られる。
【００３９】
〔形態２７〕  更に、形態２７のレイアウト方法は、形態２５のレイアウト方法において、
前記仮想ページ区切り位置設定判断ステップにおいては、前記所定距離以内に複数の空白領域が位置するときに、最も近い空白領域の位置に、前記仮想ページ区切り位置を設定すると判断することを特徴としている。
これにより、形態３記載のレイアウト装置と同等の効果が得られる。
【００４０】
〔形態２８〕  更に、形態２８のレイアウト方法は、形態２３又は２４のレイアウト方法において、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定距離は、前記ページ構成情報に基づき、各ページ区切り位置毎に設定され、各ページ区切り位置に対するページ構成内容に応じた距離であることを特徴としている。
これにより、形態４記載のレイアウト装置と同等の効果が得られる。
【００４１】
〔形態２９〕  更に、形態２９のレイアウト方法は、形態２８のレイアウト方法において、
前記各ページ区切り位置に対するページ構成内容として、当該ページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、前記ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、前記所定距離は、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定されることを特徴としている。
これにより、形態５記載のレイアウト装置と同等の効果が得られる。
【００４２】
〔形態３０〕  更に、形態３０のレイアウト方法は、形態２５のレイアウト方法において、
前記レイアウト領域にレイアウトされた複数のコンテンツのそれぞれに対して、これらの幅及び高さの少なくとも一方を伸長又は圧縮するのに要する変形力の情報が予め設定されており、
前記仮想ページ区切り位置設定判断ステップにおいては、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
これにより、形態６記載のレイアウト装置と同等の効果が得られる。
【００４３】
〔形態３１〕  更に、形態３１のレイアウト方法は、形態３０のレイアウト方法において、
前記複数のコンテンツにおける、幅又は高さ方向の少なくとも一方に隣り合う各コンテンツ間と、前記コンテンツと幅又は高さ方向の少なくとも一方に隣り合うレイアウト領域の端部との間とに対して、これらの間をそれぞれ伸長又は圧縮するのに要する変形力の情報が予め設定されており
前記仮想ページ区切り位置設定判断ステップにおいては、前記位置関係情報及び前記変形力の情報に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
これにより、形態７記載のレイアウト装置と同等の効果が得られる。
【００４４】
〔形態３２〕  更に、形態３２のレイアウト方法は、形態３０のレイアウト方法において、
前記仮想ページ区切り位置設定判断ステップにおいては、前記変形力の情報に基づき、前記仮想ページ区切り位置を設定した場合に、当該仮想ページ区切り位置でページ分けされる各ページに対応するコンテンツのサイズが前記選択したページ区切り位置でページ分けされた各レイアウト領域に対応するサイズとなるように、前記仮想ページ区切り位置でページ分けされる各ページにレイアウトされたコンテンツの幅及び高さの少なくとも一方を伸長又は圧縮するのに必要な合成変形力を算出し、当該算出した合成変形力に基づき、前記仮想ページ区切り位置を設定するか否かを判断することを特徴としている。
これにより、形態８記載のレイアウト装置と同等の効果が得られる。
【００４５】
〔形態３３〕  更に、形態３３のレイアウト方法は、形態３２のレイアウト方法において、
前記仮想ページ区切り位置設定判断ステップにおいては、前記算出した合成変形力が所定力以下のときに、前記仮想ページ区切り位置を、前記所定力以下に対応する空白領域の位置に設定すると判断することを特徴とする。
これにより、形態９記載のレイアウト装置と同等の効果が得られる。
【００４６】
〔形態３４〕  更に、形態３４のレイアウト方法は、形態３２のレイアウト方法において、
前記ページ情報は、再レイアウト後のページ構成情報を含み、
前記所定力は、前記ページ構成における、各ページ構成内容の種類毎に設定された力であることを特徴としている。
これにより、形態１０記載のレイアウト装置と同等の効果が得られる。
【００４７】
〔形態３５〕  更に、形態３５のレイアウト方法は、形態３４のレイアウト方法において、
前記ページ構成内容の種類として、前記選択したページ区切り位置がページめくりを伴うページ間に位置する第１構成内容と、当該ページ区切り位置が見開きページを構成するページ間に位置する第２構成内容とがあり、
前記所定力を、前記第１構成内容の方が前記第２構成内容よりも大きくなるように設定したことを特徴としている。
これにより、形態１１記載のレイアウト装置と同等の効果が得られる。
【００４８】
〔形態３６〕  更に、形態３６のレイアウト方法は、形態３３乃至３５のいずれか１のレイアウト方法において、
前記変形力情報はバネ定数を含み、
前記仮想ページ区切り位置設定判断ステップにおいては、前記設定されたページ区切り位置を変更する場合に、前記バネ定数と、前記選択したページ区切り位置と仮想ページ区切り位置との間の距離とに基づき、前記合成変形力を算出することを特徴としている。
これにより、形態１２記載のレイアウト装置と同等の効果が得られる。
【発明を実施するための最良の形態】
【００４９】
〔第１の実施の形態〕
以下、本発明の第１の実施の形態を図面に基づき説明する。図１〜図１５は、本発明に係るレイアウト装置およびレイアウトプログラム、並びにレイアウト方法の第１の実施の形態を示す図である。
【００５０】
まず、本発明に係るレイアウト装置１００の機能構成を図１に基づき説明する。図１は、本発明に係るレイアウト装置１００の機能構成を示すブロック図である。
レイアウト装置１００は、図１に示すように、ユーザからの再レイアウト指示に対応する弾性レイアウトデータを取得する弾性レイアウトデータ取得部１０と、再レイアウト後の、ページ数、ページサイズ、ページ構成等の情報を含むページ情報を指示するページ情報指定部１１と、ページ情報及び弾性レイアウトデータに基づき、当該弾性レイアウトデータの示すレイアウトされたコンテンツ及びレイアウト領域の幅又は高さの少なくとも一方を伸張又は圧縮する伸縮処理部１２と、伸張又は圧縮後のレイアウト領域を指定されたページ数で等分するページ区切り位置を設定するページ区切り位置設定部１３とを含んだ構成となっている。
【００５１】
弾性レイアウトデータ取得部１０は、ユーザからの再レイアウト指示に応じて、後述する記憶装置７０に記憶された弾性レイアウトデータを取得したり、図示しないネットワーク等を介して接続された外部装置からネットワークを介して弾性レイアウトデータを取得したりする。ここで、弾性レイアウトデータとは、例えば、公知のＴｅＸにおける「グルー」のようなデータ構成を有するデータであり、レイアウト領域にレイアウトされた各コンテンツ及びレイアウト領域の幅及び高さを自在に伸張又は圧縮することができるデータ構造である。
【００５２】
ページ情報指定部１１は、後述するマウスやキーボード等の入力デバイスである入力装置７４を介してユーザから入力されたページ情報を取得して伸縮処理部１２に指定したり、図示しないネットワークを介して外部装置から送られてきたページ情報を取得して伸縮処理部１２に指定したりするなど、ユーザからのページ情報を指定する役割を有する。
伸縮処理部１２は、ページ情報指定部１１で指定されたページ情報に基づき、指定されたページ数及びページサイズに合わせて、弾性レイアウトデータの示すレイアウトされたコンテンツ及びレイアウト領域の幅又は高さの少なくとも一方を伸張又は圧縮する。ここで、弾性レイアウトデータの示すレイアウト領域は、基準となる幅及び高さの情報を有している。つまり、基準サイズが、指定されたページ数及びページサイズで再レイアウトされた結果のサイズより小さい場合に、基準サイズの幅若しくは高さの少なくとも一方を伸張し、基準サイズが、再レイアウトされた結果のサイズよりも大きい場合は、基準サイズの幅若しくは高さの少なくとも一方を圧縮する。
【００５３】
レイアウト装置１００は、更に、ページ区切り位置設定部１３で設定されたページ区切り位置の中から所定の順序で再レイアウト処理が未処理のページ区切り位置を選択するページ区切り位置選択部１４と、選択したページ区切り位置と、後述する判断用情報設定部１６で設定された情報とに基づき、選択したページ区切り位置に対する仮想ページ区切り位置を設定するか否かを判断する仮想ページ区切り位置設定判断部１５と、仮想ページ区切り位置を設定するか否かを判断するための情報を設定する判断用情報設定部１６と、仮想ページ区切り位置を設定すると判断された場合に、指定された空白位置に仮想ページ区切り位置を設定する仮想ページ区切り位置設定部１７とを含んだ構成となっている。
【００５４】
仮想ページ区切り位置設定判断部１５は、選択したページ区切り位置に対して、コンテンツが重なった位置にある場合に、ページ構成内容に応じて予め設定された所定距離に基づき、選択したページ区切り位置から所定距離内に空白領域がある場合は、その空白領域の位置に仮想ページ区切り位置を設定すると判断し、所定距離内に空白領域がない場合は、選択したページ区切り位置に対して仮想ページ区切り位置を設定しないと判断する。
【００５５】
仮想ページ区切り位置設定部１７は、選択したページ区切り位置から所定距離以内にある空白領域の位置に仮想ページ区切り位置を設定する。つまり、仮想ページ区切り位置は、等分された各ページのコンテンツの内容を自動的に設定するためのもので、最終的には、この仮想ページ区切り位置で区切られた各ページのコンテンツの内容でレイアウト領域を等分にページ分割することになる。
【００５６】
レイアウト装置１００は、更に、仮想ページ区切り位置設定部１７によって設定された仮想ページ区切り位置によってページ分けされる各レイアウト領域のコンテンツを、レイアウト全体及び各ページのコンテンツの配置関係を維持しながら、選択したページ区切り位置でページ分けされるレイアウト領域に対応するサイズとなるように再レイアウトする再レイアウト部１８と、再レイアウト後のレイアウトデータを記憶する再レイアウトデータ記憶部１９とを含んだ構成となっている。
【００５７】
再レイアウト部１８は、選択したページ区切り位置に対して仮想ページ区切り位置が設定された場合に、その仮想ページ区切り位置でページ分けされる各ページのコンテンツが、選択したページ区切り位置でページ分けされる各ページに収まるように、当該各ページのレイアウト領域に対応するサイズに、その幅又は高さの少なくとも一方を伸張又は圧縮する。更に、全体の均整を損なわないように、各ページのコンテンツ間の配置関係（例えば、相対位置）や、各ページ間のコンテンツの配置関係を維持するように、該当する他のコンテンツを伸張又は圧縮したり、他のコンテンツのレイアウト領域における位置を変更したりする。例えば、仮想ページ区切り位置に対応するコンテンツの高さが圧縮された場合は、この圧縮によって他のページのコンテンツとの間の距離が変化しないように、他のコンテンツの位置を移動したり、他のコンテンツを伸長したり、また、前記圧縮によって同じページ内の他のコンテンツとの位置関係がずれた場合に、その位置ずれを調整したりするなどして全体の均整を保つように再レイアウトする。
【００５８】
再レイアウトデータ記憶部１９は、再レイアウトされた結果の再レイアウトデータとして、例えば、ページ区切り位置情報、ページ構成情報、再レイアウト後の各ページのコンテンツのサイズ情報、再レイアウト後のレイアウト領域のサイズ情報等を含むレイアウト情報などを含むデータを記憶する。
次に、レイアウト装置１００のハードウェア構成を図２に基づき説明する。図２は、レイアウト装置１００のハードウェア構成を示すブロック図である。
【００５９】
レイアウト装置１００は、図２に示すように、制御プログラムに基づいて演算および装置全体を制御するＣＰＵ６０と、所定領域にあらかじめＣＰＵ６０の制御プログラム等を格納しているＲＯＭ６４と、ＲＯＭ６４等から読み出したデータやＣＰＵ６０の演算過程で必要な演算結果を格納するためのＲＡＭ６２と、外部装置に対してデータの入出力を媒介するＩ／Ｆ６６とで構成されており、これらは、データを転送するための信号線であるバス６８で相互にかつデータ授受可能に接続されている。
【００６０】
Ｉ／Ｆ６６には、ページ情報指定部１１で指定された情報や、判断用情報設定部１６で設定された情報や、再レイアウトデータ等の各種データを記憶する記憶装置７０と、再レイアウトされた結果を画像として表示したり、その他必要な情報を表示する表示装置７２と、マウスやキーボード等のユーザが情報入力可能なヒューマンインターフェイスデバイスからなる入力装置７４と、インターネット等を介して外部装置と接続するための信号線とが接続されている。
【００６１】
次に、ＣＰＵ６０で実行される処理を図３に基づき説明する。
ＣＰＵ６０は、マイクロプロセッシングユニットＭＰＵ等からなり、ＲＯＭ６４の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図３のフローチャートに示す再レイアウト処理を実行するようになっている。
図３は、第１の実施の形態の再レイアウト処理を示すフローチャートである。
【００６２】
第１の実施の形態における再レイアウト処理は、選択したページ区切り位置から所定距離以内に空白領域があるか否かを判断することで、仮想ページ区切り位置の設定するか否かを判断し、このようにして判断され設定された仮想ページ区切り位置に基づき再レイアウトを行う処理であって、ＣＰＵ６０において実行されると、まず、図３に示すように、ステップＳ１００に移行するようになっている。
【００６３】
ステップＳ１００では、弾性レイアウトデータ取得部１０において、入力装置７４を介したユーザからの再レイアウト指示があったか否かを判定し、あったと判定された場合(Yes)は、ステップＳ１０２に移行し、そうでない場合(No)は、指示があるまで判定処理を続行する。
ステップＳ１０２に移行した場合は、弾性レイアウトデータ取得部１０において、再レイアウト指示に対応した弾性レイアウトデータを、記憶装置７０、信号線を介して接続された外部装置等から取得してステップＳ１０４に移行する。
【００６４】
ステップＳ１０４では、ページ情報指定部１１において、入力装置７４又は外部装置等を介してユーザからページ情報が指定されたか否かを判定し、指定されたと判定された場合(Yes)は、ステップＳ１０６に移行し、そうでない場合(No)は、指定されるまで判定処理を続行する。
ステップＳ１０６に移行した場合は、伸縮処理部１２において、ステップＳ１０４で指定されたページ情報に含まれる指定ページ数及び指定ページサイズの情報に基づき、弾性レイアウトデータの示すレイアウト領域及びコンテンツの基準サイズを、指定ページ数及び指定ページサイズに応じたサイズとなるように、これらの高さ又は幅の少なくとも一方を伸張又は圧縮してステップＳ１０８に移行する。
【００６５】
ステップＳ１０８では、ページ区切り位置設定部１３において、ステップＳ１０４で指定されたページ情報に含まれる指定ページ数情報に基づき、ステップＳ１０６で伸張又は圧縮後のレイアウト領域を、指定ページ数に等分する位置にページ区切り位置を設定してステップＳ１１０に移行する。
ステップＳ１１０では、ページ区切り位置選択部１４において、ステップＳ１０８で設定された再レイアウト処理が未処理のページ区切り位置を、所定の順序に従って１つ選択してステップＳ１１２に移行する。ここで、所定の順序は、ページ構成によって異なり、本実施の形態においては、ページめくりを伴うページに対応するページ区切り位置が優先して選択されるように設定されている。
【００６６】
ステップＳ１１４では、仮想ページ区切り位置設定判断部１５において、ステップＳ１０４で指定されたページ情報に含まれるページ構成情報に基づき、ステップＳ１１２で選択されたページ区切り位置が、ページめくりを伴うページ区切りか否かを判定し、ページめくりを伴うページ区切りである場合(Yes)は、ステップＳ１１６に移行し、そうでない場合(No)は、ステップＳ１３０に移行する。
【００６７】
ステップＳ１１６に移行した場合は、仮想ページ区切り位置設定判断部１５において、判断用情報設定部１６において予め設定された、仮想ページ区切り位置を設定するか否かを判断する際の、選択したページ区切り位置と空白領域の位置との間の距離の閾値である距離閾値の基準値ａを２倍にした２ａを判断処理に使用する距離閾値として設定してステップＳ１１８に移行する。
【００６８】
ステップＳ１１８では、仮想ページ区切り位置設定判断部１５において、選択したページ区切り位置から前ページ方向及び後ページ方向に、ステップＳ１１６又はステップＳ１３０で設定した距離閾値以内にある空白領域を探索してステップＳ１２０に移行する。
ステップＳ１２０では、仮想ページ区切り位置設定判断部１５において、空白領域が見つかったか否かを判定し、空白領域が見つかったと判定された場合(Yes)は、ステップＳ１２２に移行し、そうでない場合(No)は、ステップＳ１２６に移行する。
【００６９】
ステップＳ１２２に移行した場合は、ステップＳ１２０で見つかった空白領域の位置に仮想ページ区切り位置を設定してステップＳ１２４に移行する。
ステップＳ１２４では、再レイアウト部１８において、各コンテンツ間の位置関係を維持しながら、仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツを当該レイアウト領域に対応したサイズとなるように伸長又は圧縮してステップＳ１２６に移行する。
【００７０】
ステップＳ１２６では、再レイアウト部１８において、再レイアウト処理が未処理のページ区切り位置を全て選択したか否かを判定し、選択したと判定された場合(Yes)は、ステップＳ１２８に移行し、そうでない場合(No)は、ステップＳ１１０に移行する。
ステップＳ１２８では、再レイアウトデータ記憶部１９において、上述した再レイアウト後のレイアウトデータである再レイアウトデータを記憶装置７４に記憶してステップＳ１００に移行する。
【００７１】
ステップＳ１３０に移行した場合は、仮想ページ区切り位置設定判断部１５において、判断用情報設定部１６において予め設定された、仮想ページ区切り位置を設定するか否かを判断する際の、選択したページ区切り位置と空白領域の位置との間の距離の閾値である距離閾値の値ａを判断処理に使用する距離閾値として設定してステップＳ１１８に移行する。
【００７２】
次に、図４〜図７に基づき、本実施の形態の動作を説明する。
ここで、図４（ａ）は、レイアウトされた基準サイズのレイアウト領域及びコンテンツの一例を示す図であり、（ｂ）は、４ページに伸長後のレイアウト領域及びコンテンツの一例を示す図である。また、図５は、各ページ区切り位置に対する所定距離の設定例を示す図である。また、図６（ａ）〜（ｄ）は、仮想ページ区切り位置の設定処理及び再レイアウト処理の過程例を示す図である。また、図７は、図６の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。
【００７３】
レイアウト装置１００は、入力装置７０を介したユーザからの再レイアウト指示に応じて（ステップＳ１００）、図４（ａ）に示すように、基準サイズが横（幅）２１０［ｍｍ］×縦（高さ）５５０［ｍｍ］のレイアウト領域にコンテンツＡ〜Ｄがレイアウトされた弾性レイアウトデータを記憶装置７４から読み出して取得する（ステップＳ１０２）。ここで、レイアウト領域の上端の縦方向の座標を「０」とすると、コンテンツＡの縦方向の領域ｘ（Ａ）の範囲は、７０≦ｘ（Ａ）≦１６０となっており（基準サイズ縦９０［ｍｍ］）、コンテンツＢの縦方向の領域ｘ（Ｂ）の範囲は、１１０≦ｘ（Ｂ）≦１６０（基準サイズ縦５０［ｍｍ］）となっており、コンテンツＣの縦方向の領域ｘ（Ｃ）の範囲は、２５０≦ｘ（Ｃ）≦３５０（基準サイズ縦１００［ｍｍ］）となっており、コンテンツＤの縦方向の領域ｘ（Ｄ）の範囲は、３９０≦ｘ（Ｄ）≦４８０（基準サイズ縦９０［ｍｍ］）となっている。なお、各座標の値は、ｍｍ、ポイント、行数などどのようなものでも良いが、ここでは、ｍｍとする。
【００７４】
一方、ページ情報として、ページ数４、ページサイズＡ４（横２１０［ｍｍ］×縦２９７［ｍｍ］）、及び１，４ページがページめくりで、２，３ページが見開きとなるページ構成（以下、ページ構成１と称す）が指定されると（ステップＳ１０４の「Ｙｅｓ」の分岐）、これらページ情報及び弾性レイアウトデータに基づき、図４（ｂ）に示すように、レイアウト領域及びコンテンツＡ〜Ｄの縦方向の基準サイズを、Ａ４サイズで４ページ分の縦方向の長さに対応したサイズとなるように、レイアウト領域及びコンテンツＡ〜Ｄを縦方向に伸長する（ステップＳ１０６）。これにより、レイアウト領域は、縦方向のサイズが５５０［ｍｍ］から１１８８［ｍｍ］（２９７［ｍｍ］×４）へと伸長される。更に、コンテンツＡ〜Ｄも、前述したｘ（Ａ）〜ｘ（Ｄ）の範囲が、コンテンツＡは、７０≦ｘ（Ａ）≦３８０（伸長後の縦方向のサイズ３１０［ｍｍ］）、コンテンツＢは、２４０≦ｘ（Ｂ）≦３００（伸長後の縦方向のサイズ６０［ｍｍ］）、コンテンツＣは、５７２≦ｘ（Ｃ）≦７７６（伸長後の縦方向のサイズ２０４［ｍｍ］）、コンテンツＤは、９２１≦ｘ（Ｄ）≦１１１８（伸長後の縦方向のサイズ１９７［ｍｍ］）と、それぞれ伸長される。
【００７５】
更に、上記指定されたページ数４に基づき、図５に示すように、伸長後のレイアウト領域１１８８［ｍｍ］を４ページに等分する位置にそれぞれ３つのページ区切り位置５０ａ〜５０ｃを設定する（ステップＳ１０８）。ページ区切り位置が設定されると、次に、これら設定されたページ区切り位置５０ａ〜５０ｃから所定の選択順序で、再レイアウト処理が未処理のページ区切り位置を選択する（ステップＳ１１０）。本実施の形態においては、この選択順序は、指定されたページ構成の種類毎に設定されており、上記指定されたページ構成１の場合は、ページめくりを伴うページ区切り位置を優先して選択するように順序付がされる。ここでは、ページ区切り位置の選択順序が、５０ａ→５０ｃ→５０ｂの順で順序付がされていることとする。
【００７６】
従って、図６（ａ）に示すように、まず、ページ区切り位置５０ａが選択され（ステップＳ１１０）、次に、当該ページ区切り位置５０ａと重なるコンテンツがあるか否が判定される（ステップＳ１１２）。この判定は、ページ区切り位置５０ａの縦方向の座標が、上記したコンテンツＡ〜Ｄの縦方向の座標の範囲にあるか否かを調べることによって行われる。つまり、ページ区切り位置５０ａの縦方向の座標は、２９７となるので、この２９７を範囲に含むコンテンツがあるか否かを調べることになる。上記したように、コンテンツＡの範囲は７０≦ｘ（Ａ）≦３８０、コンテンツＢの範囲は２４０≦ｘ（Ｂ）≦３００となっており、双方とも２９７を範囲に含むので、ページ区切り位置５０ａと重なるコンテンツがあると判定される（ステップＳ１１２の「Ｙｅｓ」の分岐）。
【００７７】
ページ区切り位置５０ａと重なるコンテンツがあると判定されると、更に、上記指定されたページ構成情報から、当該選択されたページ区切り位置５０ａは、ページめくりを伴うページ区切りとなっているので（ステップＳ１１４の「Ｙｅｓ」の分岐）、判断用情報設定部１６において予め設定された基準の距離閾値ａを２倍した２ａをページ区切り位置５０ａの判断用の距離閾値として設定する（ステップＳ１１６）。距離閾値が設定されると、ページ区切り位置５０ａからこの設定された距離閾値２ａの範囲内における空白領域を探索する（ステップＳ１１８）。ここで、空白領域の探索は、選択されたページ区切り位置５０ａの縦方向の座標２９７に対して距離閾値２ａを加減してなる範囲に対して、上記コンテンツＡ〜Ｄの範囲が含まれない部分があるか否かを調べることで行う。例えば、ａが５２［ｍｍ］であった場合に、距離閾値２ａは１０４［ｍｍ］となるので、ページ区切り位置５０ａの座標２９７から１０４を減算した１９３［ｍｍ］と、ページ区切り位置５０ａの座標２９７に１０４を加算した４１１［ｍｍ］との間が探索範囲となる。そして、この探索範囲１０４［ｍｍ］〜４１１［ｍｍ］の範囲における、上記コンテンツＡ〜Ｄの範囲を含まない部分、つまり、コンテンツＡの範囲が７０≦ｘ（Ａ）≦３８０であり、コンテンツＢの範囲が２４０≦ｘ（Ｂ）≦３００であるので、少なくとも、３８１［ｍｍ］〜４１１［ｍｍ］までの部分が空白領域として見つかることになる（ステップＳ１２０の「Ｙｅｓ」の分岐）。
【００７８】
このようにして、所定距離２ａ以内に空白領域が見つかると、図６（ａ）に示すように、この空白領域の開始位置（３８１［ｍｍ］）から所定距離（例えば、２０［ｍｍ］）の位置に、仮想ページ区切り位置５０ａ’を設定する（ステップＳ１２２）。ここでは空白領域の開始位置から所定距離の位置に仮想ページ区切り位置を設定したが、所定距離の位置が空白領域を越える場合は、空白領域の中央位置に仮想ページ区切り位置を設定する。仮想ページ区切り位置５０ａ’が設定されると、当該仮想ページ区切り位置５０ａ’でページ分けされた１ページ目に全体が収まるようになったコンテンツＡ及びＢを、ページ区切り位置５０ａでページ分けされる１ページ目の領域に収まるサイズとなるように、コンテンツＡ全体を、図６（ｂ）に示すように、縦方向に圧縮し、コンテンツＢは、サイズ変更させずに上方向に移動させる。更に、レイアウト全体の均整が崩れないようにするために、コンテンツＣ及びＤを縦方向に伸長させ、Ｃ及びＤのうち、Ｃは上方向への移動と共に縦方向に伸長させ、コンテンツＤは、サイズ変更させずに上方向に移動させることで、コンテンツＡ〜Ｄの位置関係がほぼ維持されるように、コンテンツＡ〜Ｄを再レイアウトする（ステップＳ１２４）。そして、選択されたページ区切り位置５０ａは、再レイアウト処理済みとしてその位置（２９７［ｍｍ］）が確定される。
【００７９】
この再レイアウトによって、コンテンツＡ〜Ｄの各範囲が、コンテンツＡが４０≦ｘ（Ａ）≦２７０（伸長後の縦方向のサイズ２３０［ｍｍ］）、コンテンツＢは、１８０≦ｘ（Ｂ）≦２４０（伸長後の縦方向のサイズ６０［ｍｍ］）、コンテンツＣは、５２５≦ｘ（Ｃ）≦７４６（伸長後の縦方向のサイズ２２１［ｍｍ］）、コンテンツＤは、９０８≦ｘ（Ｄ）≦１１０５（伸長後の縦方向のサイズ１９７［ｍｍ］）と変更される
このようにして、ページ区切り位置５０ａに対する再レイアウト処理が完了すると、他にも再レイアウト処理が未処理のページ区切り位置があるので（ステップＳ１２６の「Ｎｏ」の分岐）、この再レイアウト後のレイアウト領域から、次に、上記選択順序に従ってページ区切り位置５０ｃが選択される（ステップＳ１１０）。ページ区切り位置５０ｃは、その縦方向の座標が８９１［ｍｍ］となるので、上記ページ区切り位置５０ａのときと同様の処理によって、この位置と重なるコンテンツがあるか否かを調べる。この場合は、重なっているコンテンツが無いため（ステップＳ１１２の「Ｎｏ」の分岐）、選択したページ区切り位置５０ｃに対しては、以降の処理を実行せずに、当該ページ区切り位置５０ｃは再レイアウト処理済みとして、図６（ｃ）に示すように、その位置（８９１［ｍｍ］）が確定する。
【００８０】
このようにして、ページ区切り位置５０ｃに対する再レイアウト処理が完了すると、最後に、再レイアウト後のレイアウト領域からページ区切り位置５０ｂが選択される（ステップＳ１１０）。ページ区切り位置５０ｂは、その縦方向の座標が５９４［ｍｍ］となるので、上記ページ区切り位置５０ａのときと同様の処理によって、この位置と重なるコンテンツがあるか否かを調べる。この場合は、コンテンツＣが重なっているので（ステップＳ１１２の「Ｙｅｓ」の分岐）、次に、上記指定されたページ構成情報から、ページ区切り位置５０ｂが、ページめくりを伴うページ区切りか否かを判定する（ステップＳ１１４）。ページ区切り位置５０ｂは、見開きページ間のページ区切りであるので（ステップＳ１１４の「Ｎｏ」の分岐）、図６（ｃ）に示すように、判断用情報設定部１６において予め設定された距離閾値ａを、そのままページ区切り位置５０ｂの判断用の距離閾値として設定する（ステップＳ１３０）。つまり、ページめくりを伴うページ区切り位置に対する距離閾値よりも小さい（この場合は１／２）距離閾値を設定する。この場合は、距離閾値ａが５２［ｍｍ］なので、５４２［ｍｍ］〜６４６［ｍｍ］の範囲に対して空白領域を探索することになるが、コンテンツＣの範囲が５２５≦ｘ（Ｃ）≦７４６となっているので、図６（ｃ）に示すように、距離閾値によって設定される探索範囲５４２［ｍｍ］〜６４６［ｍｍ］は、コンテンツＣの範囲に全て含まれるので、距離閾値以内に空白領域は無いと判定される（ステップＳ１２０の「Ｎｏ」の分岐）。従って、ページ区切り位置５０ｂに対しては、以降の処理を実行せずに、当該ページ区切り位置５０ｂは再レイアウト処理済みとして、図６（ｄ）に示すように、その位置（５９４［ｍｍ］）が確定する。
【００８１】
ページ区切り位置５０ａ〜５０ｃが全て選択され、再レイアウト処理が終了すると（ステップＳ１２６の「Ｙｅｓ」の分岐）、再レイアウト後の各レイアウト領域及びコンテンツＡ〜Ｄの座標情報並びに、確定したページ区切り位置の座標情報が再レイアウトデータとして記憶装置７４に記憶される（ステップＳ１２８）。
なお、図７の例に示すように、上記記憶した再レイアウトデータに基づき、印刷装置によってＡ４用紙４ページに印刷出力した結果を見てみると、図７のページ２，３に示すように、上記再レイアウト処理によってページ分割されたコンテンツＣが各ページ内において天地等分の位置にレイアウトされているのが解る。また、図７のページ４に示すように、コンテンツＤに関しては、ページ全体にレイアウトされているのが解る。つまり、各コンテンツを、どのページに分割するかを上記再レイアウト処理で決定し、実際に印刷出力する際には、この再レイアウト結果に基づき、更に、ページ内においてレイアウトの均整をとるようにしても良い。
【００８２】
更に、図８〜図１５に基づき、上記第１の実施の形態の応用例１〜４を説明する。ここで、図８は、４ページ目が全て空白ページとなる再レイアウト処理の処理過程の例を示す図であり、図９は、図８の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。また、図１０は、基準サイズを圧縮して再レイアウトする処理過程の例を示す図であり、図１１は、図１０の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。また、図１２は、特殊なページ構成の例（観音開き）を示す図であり、図１３は、図１２のページ構成に対する距離閾値の設定例を示す図である。また、図１４は、ページ構成が縦書きの場合の再レイアウト処理過程の例を示す図であり、図１５は、図１４の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。以下、細かい処理内容は、上記図４〜図７に基づき説明した内容と同様となるので割愛して説明することとする。
【００８３】
〔第１の実施の形態の応用例１〕
まず最初に、図８及び図９に基づき、上記第１の実施の形態の応用例１を説明する。
図８（ａ）に示す基準サイズのレイアウト内容が、図８（ｂ）に示すように、Ａ４サイズの４ページに応じたサイズに伸長された場合に、上記第１の実施の形態と同様に、ページ区切り位置５０ａに対して距離閾値２ａが設定され、且つ仮想ページ区切り位置５０ａ’が設定される。ここで、ページ構成は、上記第１の実施の形態と同様であり、ページ区切り位置の選択順序も同様となる。そして、この仮想ページ区切り位置５０ａ’でページ分けされた場合に１ページ目に全て収まるようになったコンテンツＡが、図８（ｃ）に示すように、コンテンツＡの全体が圧縮され、ページ区切り位置５０ａでページ分けされる１ページ目に全て収まるようになる。更に、本応用例では、図８（ｃ）に示すように、この圧縮に合わせて、コンテンツＣ及びコンテンツＤを、サイズ変更を伴わずに上方に移動する。更に、ページ区切り位置５０ｃに対する仮想ページ区切り位置５０ｃ’が設定され、当該設定された仮想ページ区切り位置５０ｃによってページ分けされる３ページ目にコンテンツＤ全体が含まれるようになると、図８（ｄ）に示すように、ページ区切り位置５０ｃでページ分けされる３ページ目にコンテンツＤ全体が収まるように、コンテンツＤ全体が圧縮される。この圧縮に伴い、図８（ｄ）に示すように、コンテンツＣ全体が圧縮されると共に２ページ目に移動する。最後に選択されるページ区切り位置５０ｂに対しては、重なるコンテンツが見つからないため、図８（ｅ）に示すように、図８（ｄ）の再レイアウト処理結果が、そのまま最終的な処理結果となる。
【００８４】
このような再レイアウト処理結果を、そのまま印刷装置によりＡ４用紙４ページに印刷出力すると、図９に示すようになる。つまり、上記第１の実施の形態の図７に示す印刷処理結果とは異なり、図８の再レイアウト処理結果がそのまま印刷出力される。
【００８５】
〔第１の実施の形態の応用例２〕
次に、図１０及び図１１に基づき、上記第１の実施の形態の応用例２を説明する。
図１０（ａ）に示す基準サイズのレイアウト内容を、図１０（ｂ）に示すように全体を圧縮して２ページに再レイアウトする場合は、２ページであるため、ページ区切り位置は５０ａの一つだけとなる。また、ページ構成を、ページ１，２の見開きページとすると、距離閾値として、図１０（ｂ）に示すように、２ａが設定され、コンテンツＡ及びＣの間と、コンテテンツＣ及びＤの間とに空白領域が見つかるので、図１０（ｃ）に示すように、これら２つの空白領域のうちページ区切り位置５０ａに近い方の位置にあるコンテンツＣ及びＤの間にある空白領域の位置に仮想ページ区切り位置５０ａ’が設定される。仮想ページ区切り位置５０ａ’が設定されると、コンテンツＣは、この仮想ページ区切り位置５０ａ’によってページ分けされた１ページ目に全体が収まるようになるので、図１０（ｄ）に示すように、ページ区切り位置５０ａでページ分けされる１ページ目のレイアウト領域に、コンテンツＡ〜Ｃが全て収まるサイズとなるように、コンテンツＡ〜Ｃをそれぞれ圧縮する。
このような再レイアウト処理結果を、そのまま印刷装置によりＡ４用紙２ページに印刷出力すると、図１１に示すようになる。
【００８６】
〔第１の実施の形態の応用例３〕
次に、図１２及び図１３に基づき、上記第１の実施の形態の応用例３を説明する。
図１２に示すように、ページ構成が観音開き（ページ数８）の場合は、ページ１の裏がページ５となり、ページ２の裏がページ４となり、ページ３の裏がページ７となり、ページ６の裏がページ８となる。そして、ページ１及びページ２と、ページ３及びページ４と、ページ７及びページ８とはページめくりを伴い、ページ２及びページ３と、ページ４及びページ５と、ページ５及びページ６と、ページ６及びページ７とは見開きページとなる。
【００８７】
従って、各ページ区切り位置に対して設定される距離閾値は、図１３に示すように、距離閾値の基準値をａとすると、ページ１及びページ２と、ページ３及びページ４と、ページ７及びページ８とをそれぞれ区切るページ区切り位置に対しては、距離閾値２ａが設定され、ページ２及びページ３と、ページ４及びページ５と、ページ５及びページ６と、ページ６及びページ７とをそれぞれ区切るページ区切り位置に対しては、距離閾値ａが設定される。このように、ページ構成に応じて、距離閾値が、見開きページ間のページ区切り位置よりも、ページめくりを伴うページ区切り位置の方が大きくなるようにそれぞれ設定される。
【００８８】
〔第１の実施の形態の応用例４〕
次に、図１４及び図１５に基づき、上記第１の実施の形態の応用例４を説明する。
図１４（ａ）に示すように、レイアウトする文章等のコンテンツが縦書となる場合は、横長のレイアウト領域に、コンテンツＡ〜Ｅが右端から左端に向けて配置される。そして、ページ情報が指定されると、ページ情報におけるページ数及びページサイズに応じて、図１４（ｂ）に示すように、レイアウト領域及びコンテンツが横方向（ページ数が増減する方向）に伸長され、ページ区切り位置も右から左に向けてページ数が増加するように設定される。更に、ページ構成は、上記ページ構成１と同じであり、従って、距離閾値は、図１４（ｂ）に示すように、ページめくりを伴うページ区切り位置５０ａ及びページ区切り位置５０ｃに対して距離閾値２ａが設定され、見開きページ間を区切るページ区切り位置５０ｂに対して距離閾値ａが設定される。以降の処理は、上記第１の実施の形態と同様となり、距離閾値に基づき空白領域を探索し、見つかった空白領域の位置に仮想ページ区切り位置を設定して再レイアウトを行う図１４（ｃ）、（ｄ）の処理を経て、最終的に図１４（ｅ）に示す再レイアウト結果が得られる。
【００８９】
このような再レイアウト処理結果を、そのまま印刷装置によりＡ４用紙４ページに印刷出力すると、図１５に示すようになる。
このようにして、レイアウト装置１００は、レイアウト領域にレイアウトされたコンテンツと、当該レイアウト領域とが弾性データ構造を有してなる弾性レイアウトデータと、指定されたページ情報とに基づき、指定ページ数及び指定ページサイズに応じて、レイアウト領域及びコンテンツを伸長又は圧縮してサイズを変更することが可能であり、更に、サイズ変更されたレイアウト領域を指定ページ数で等分するページ区切り位置を設定してページ分けすることが可能である。
【００９０】
更に、レイアウト領域がページ分けされると、所定の選択順序で再レイアウト処理が未処理のページ区切り位置を選択して、このページ区切り位置にコンテンツが重なっている場合は、見開きページ間よりもページめくりを伴うページ区切り位置に対して大きな距離が設定される距離閾値に基づき、距離閾値内で選択したページ区切り位置に最も近い空白領域の位置に仮想ページ区切り位置を設定することが可能である。そして、この仮想ページ区切り位置でページ分けされる各ページのコンテンツを、選択したページ区切り位置でページ分けされる各ページのレイアウト領域に収まるサイズとなるように、該当のコンテンツを伸長又は圧縮し、更に、各コンテンツ間の位置関係が維持されるように、該当のコンテンツを伸長若しくは圧縮、又は移動して、全体の均整を損なわずに各コンテンツを再レイアウトすることが可能である。
【００９１】
従って、距離閾値の設定を工夫することで、全体の均整がとれたページ分割及び再レイアウトを行うことが可能となる。
上記第１の実施の形態において、弾性レイアウトデータ取得部１０は、形態１の弾性レイアウトデータ取得手段に対応し、ページ情報指定部１１は、形態１のページ情報指定手段に対応し、伸縮処理部１２は、形態１の伸縮手段に対応し、ページ区切り位置設定部１３は、形態１又は２のページ区切り位置設定手段に対応する。
【００９２】
また、上記第１の実施の形態において、ページ区切り位置選択部１４は、形態１のページ区切り位置選択手段に対応し、仮想ページ区切り位置設定判断部１５は、形態１、２及び３のいずれか１の仮想ページ区切り位置設定判断手段に対応し、仮想ページ区切り位置設定部１７は、形態１の仮想ページ区切り位置設定手段に対応し、再レイアウト部１８は、形態１の再レイアウト手段に対応する。
【００９３】
また、上記第１の実施の形態において、ステップＳ１００，Ｓ１０２は、形態１３又は２５の弾性レイアウトデータ取得ステップに対応し、ステップＳ１０４は、形態１３又は２５のページ情報指定ステップに対応し、ステップＳ１０６は、形態１３又は２５の伸縮ステップに対応し、ステップＳ１０８は、形態１３、１４、２５及び２６のいずれか１のページ区切り位置設定ステップに対応する。
【００９４】
また、上記第１の実施の形態において、ステップＳ１１０は、形態１３又は２５のページ区切り位置選択ステップに対応し、ステップＳ１１２〜ステップＳ１２０，ステップＳ１３０は、形態１３、１４、１５、２５、２６及び２７のいずれか１の仮想ページ区切り位置設定判断ステップに対応し、ステップＳ１２４は、形態１３又は２５の再レイアウトステップに対応する。
【００９５】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態を図面に基づき説明する。図１６〜図１７は、本発明に係るレイアウト装置およびレイアウトプログラム、並びにレイアウト方法の第２の実施の形態を示す図である。
【００９６】
本実施の形態は、各コンテンツ、各コンテンツ間及びレイアウト領域端部とコンテンツ間に、これらを変形させるのに必要な変形力として、所定のバネ定数を設定し、ページ区切り位置から先方及び後方にある空白領域に仮想ページ区切り位置を仮設定して、当該仮設定した仮想ページ区切り位置でページ分けされる先方及び後方ページの合成変形力を算出し、当該算出した合成変形力と予め設定された変形力閾値との比較結果に基づき仮想ページ区切り位置を設定するか否かを判断する点が上記第１の実施の形態と異なる。従って、上記第１の実施の形態における図３のフローチャートの処理が図１６のフローチャートの処理に変わるだけで、その他の処理や各構成については上記第１の実施の形態と同様となる。以下、上記第１の実施の形態と異なる部分のみ説明する。
【００９７】
本実施の形態における仮想ページ区切り位置設定判断部１５は、選択したページ区切り位置に対して、コンテンツが重なった位置にある場合に、選択したページ区切り位置の先方のページにある空白領域を選択し、その空白領域の位置に仮想ページ区切り位置を仮設定して、当該仮想ページ区切り位置でページ分けされる先方及び後方のページを変形させるのに必要な合成変形力をそれぞれ算出する。更に、選択したページ区切り位置の後方のページにある空白領域を選択し、その空白領域の位置に仮想ページ区切り位置を仮設定して、当該仮想ページ区切り位置でページ分けされる先方及び後方のページを変形させるのに必要な合成変形力をそれぞれ算出する。この合成変形力の算出処理は、弾性レイアウトデータないし判断用情報設定部１６において、各コンテンツ、各コンテンツ間及びレイアウト枠端部とコンテンツ間とに予め設定されたバネ定数に基づき行われる。そして、先方の空白領域に対応する合成変形力と後方の空白領域に対応する合成変形力と、判断用情報設定部１６において予め設定された変形力閾値とをそれぞれ比較して、合成変形力が変形力閾値以下の場合に、空白領域の位置に仮想ページ区切り位置を設定可能と判断する。ここで、先方及び後方共に設定可能であると判断された場合は、合成変形力の小さい方を選択する。
【００９８】
次に、本実施の形態においてＣＰＵ６０で実行される処理を図１６に基づき説明する。
ＣＰＵ６０は、マイクロプロセッシングユニットＭＰＵ等からなり、ＲＯＭ６４の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図１６のフローチャートに示す再レイアウト処理を実行するようになっている。
図１６は、第２の実施の形態の再レイアウト処理を示すフローチャートである。
【００９９】
第２の実施の形態における再レイアウト処理は、選択したページ区切り位置から所定距離以内にある空白領域に対して仮想ページ区切り位置を設定したと仮定して、仮想ページ区切り位置によってページ分けされる各ページの合成変形力を算出し、当該算出した合成変形力と予め設定された変形力閾値とを比較し、当該比較結果に基づき仮想ページ区切り位置を設定するか否かを判断し、このようにして判断され設定された仮想ページ区切り位置に基づき再レイアウトを行う処理であって、ＣＰＵ６０において実行されると、まず、図１６に示すように、ステップＳ２００に移行するようになっている。
【０１００】
ステップＳ２００では、弾性レイアウトデータ取得部１０において、入力装置７４を介したユーザからの再レイアウト指示があったか否かを判定し、あったと判定された場合(Yes)は、ステップＳ２０２に移行し、そうでない場合(No)は、指示があるまで判定処理を続行する。
ステップＳ２０２に移行した場合は、弾性レイアウトデータ取得部１０において、再レイアウト指示に対応した弾性レイアウトデータを、記憶装置７０、信号線を介して接続された外部装置等から取得してステップＳ２０４に移行する。
【０１０１】
ステップＳ２０４では、ページ情報指定部１１において、入力装置７４又は外部装置等を介してユーザからページ情報が指定されたか否かを判定し、指定されたと判定された場合(Yes)は、ステップＳ２０６に移行し、そうでない場合(No)は、指定されるまで判定処理を続行する。
ステップＳ２０６に移行した場合は、伸縮処理部１２において、ステップＳ２０４で指定されたページ情報に含まれる指定ページ数及び指定ページサイズの情報に基づき、弾性レイアウトデータの示すレイアウト領域及びコンテンツの基準サイズを、指定ページ数及び指定ページサイズに応じたサイズとなるように、これらの高さ又は幅の少なくとも一方を伸張又は圧縮してステップＳ２０８に移行する。
【０１０２】
ステップＳ２０８では、ページ区切り位置設定部１３において、ステップＳ２０４で指定されたページ情報に含まれる指定ページ数情報に基づき、ステップＳ２０６で伸張又は圧縮後のレイアウト領域を、指定ページ数に等分する位置にページ区切り位置を設定してステップＳ２１０に移行する。
ステップＳ２１０では、ページ区切り位置選択部１４において、ステップＳ２０８で設定された再レイアウト処理が未処理のページ区切り位置を、所定の順序に従って１つ選択してステップＳ２１２に移行する。ここで、所定の順序は、ページ構成によって異なり、本実施の形態においては、ページめくりを伴うページに対応するページ区切り位置が優先して選択されるように設定されている。
【０１０３】
ステップＳ２１４では、仮想ページ区切り位置設定判断部１５において、ステップＳ２０４で指定されたページ情報に含まれるページ構成情報に基づき、ステップＳ２１２で選択されたページ区切り位置が、ページめくりを伴うページ区切りか否かを判定し、ページめくりを伴うページ区切りである場合(Yes)は、ステップＳ２１６に移行し、そうでない場合(No)は、ステップＳ２５０に移行する。
【０１０４】
ステップＳ２１６に移行した場合は、仮想ページ区切り位置設定判断部１５において、判断用情報設定部１６において予め設定された、仮想ページ区切り位置を設定するか否かを判断する際の、合成変形力の閾値である変形力閾値の基準値Ｆを２倍にした２Ｆを判断処理に使用する変形力閾値として設定してステップＳ２１８に移行する。
ステップＳ２１８では、仮想ページ区切り位置設定判断部１５において、ステップＳ２１０で選択したページ区切り位置から後方のページ方向にある最も近い空白領域を選択してステップＳ２２０に移行する。
【０１０５】
ステップＳ２２０では、仮想ページ区切り位置設定判断部１５において、ステップＳ２１８で選択した空白領域の位置に仮想ページ区切り位置を仮設定してステップＳ２２２に移行する。
ステップＳ２２２では、仮想ページ区切り位置設定判断部１５において、変形力情報に基づき、仮設定された仮想ページ区切り位置から先方のページの合成変形力Ｆud及び仮想ページ区切り位置から後方のページの合成変形力Ｆddを算出してステップＳ２２４に移行する。
【０１０６】
ステップＳ２２４では、仮想ページ区切り位置設定判断部１５において、ステップＳ２１０で選択したページ区切り位置から先方のページ方向にある最も近い空白領域を選択してステップＳ２２６に移行する。
ステップＳ２２６では、仮想ページ区切り位置設定判断部１５において、ステップＳ２２４で選択した空白領域の位置に仮想ページ区切り位置を仮設定してステップＳ２２８に移行する。
【０１０７】
ステップＳ２２８では、仮想ページ区切り位置設定判断部１５において、変形力情報に基づき、仮設定された仮想ページ区切り位置から先方のページの合成変形力Ｆdu及び仮想ページ区切り位置から後方のページの合成変形力Ｆuuを算出してステップＳ２３０に移行する。
ステップＳ２３０では、仮想ページ区切り位置設定判断部１５において、合成変形力Ｆud及びＦddは共に、ステップＳ２１６又はステップＳ２５０で設定された変形力閾値以下か否かを判定し、変形力閾値以下であると判定された場合(Yes)はステップＳ２３２に移行し、そうでない場合(No)は、ステップＳ２４６に移行する。
【０１０８】
ステップＳ２３２に移行した場合は、仮想ページ区切り位置設定判断部１５において、合成変形力Ｆuu及びＦduは共に、ステップＳ２１６又はステップＳ２５０で設定された変形力閾値以下か否かを判定し、変形力閾値以下であると判定された場合(Yes)はステップＳ２３４に移行し、そうでない場合(No)は、ステップＳ２４４に移行する。
ステップＳ２３４に移行した場合は、仮想ページ区切り位置設定判断部１５において、後方の空白領域に対応する合成変形力の合計値Ｆud＋Ｆddは、先方の空白領域に対応する合成変形力の合計値Ｆuu＋Ｆduよりも小さいか否かを判定し、小さいと判定された場合(Yes)は、ステップＳ２３６に移行し、そうでない場合(No)は、ステップＳ２４４に移行する。
【０１０９】
ステップＳ２３６に移行した場合は、仮想ページ区切り位置設定部１７において、ステップＳ２１０で選択したページ区切り位置から後方のページにある空白領域の位置に仮想ページ区切り位置を設定してステップＳ２３８に移行する。
ステップＳ２３８では、再レイアウト部１８において、各コンテンツ間の位置関係を維持しながら、仮想ページ区切り位置でページ分けされるレイアウト領域に含まれるコンテンツを再レイアウトしてステップＳ２４０に移行する。
【０１１０】
ステップＳ２４０では、再レイアウト部１８において、再レイアウト処理が未処理のページ区切り位置を全て選択したか否かを判定し、選択したと判定された場合(Yes)は、ステップＳ２４２に移行し、そうでない場合(No)は、ステップＳ２１０に移行する。
ステップＳ２４２では、再レイアウトデータ記憶部１９において、上述した再レイアウト後のレイアウトデータである再レイアウトデータを記憶装置７４に記憶してステップＳ２００に移行する。
【０１１１】
また、ステップＳ２３０において、Ｆud又はＦddが変形力閾値よりも大きくてステップＳ２４６に移行した場合は、仮想ページ区切り位置設定判断部１５において、合成変形力Ｆud及びＦuuは共に、ステップＳ２１６又はステップＳ２５０で設定された変形力閾値以下か否かを判定し、変形力閾値以下であると判定された場合(Yes)はステップＳ２４４に移行し、そうでない場合(No)は、ステップＳ２４８に移行する。
【０１１２】
ステップＳ２４８に移行した場合は、仮想ページ区切り位置設定部１７において、ステップＳ２１０で選択したページ区切り位置を確定してステップＳ２４０に移行する。
一方、ステップＳ２３４において、Ｆud＋ＦddよりもＦuu＋Ｆduの方が大きくてステップＳ２４４に移行した場合、あるいはステップＳ２４６において、合成変形力Ｆud及びＦuuは共に変形力閾値以下であると判定されてステップＳ２４４に移行した場合は、仮想ページ区切り位置設定部１７において、ステップＳ２１０で選択したページ区切り位置から先方のページにある空白領域の位置に仮想ページ区切り位置を設定してステップＳ２３８に移行する。
【０１１３】
また、ステップＳ２１４において、ページめくりを伴うページ区切りではなくステップＳ２５０に移行した場合は、仮想ページ区切り位置設定判断部１５において、判断用情報設定部１６において予め設定された、合成変形力の閾値である変形力閾値の基準値Ｆを判断処理に使用する変形力閾値として設定してステップＳ２１８に移行する。
次に、図１７に基づき、本実施の形態の動作を説明する。ここで図１７は、第２の実施の形態における再レイアウト処理過程の一例を示す図である。
【０１１４】
ユーザからの再レイアウト指示に応じて弾性レイアウトデータを取得してページ区切り位置の設定処理までは上記第１の実施の形態と同様であるので説明を省略する。
本実施の形態においては、図１７（ａ）に示す、基準サイズのレイアウト内容を、図１７（ｂ）に示すように、Ａ４サイズ２ページに再レイアウトする。なお、図１７（ｂ）に示すように、レイアウト領域上端とコンテンツＡとの間にバネ定数ＫOAが、コンテンツＡにバネ定数ＫAが、コンテンツＡとコンテンツＣとの間にバネ定数ＫACが、コンテンツＣにバネ定数ＫCが、コンテンツＣとコンテンツＤとの間にバネ定数ＫCDが、コンテンツＤとレイアウト領域下端との間にバネ定数ＫDOが、それぞれ設定されている。
【０１１５】
図１７（ｂ）に示すように、まず、ページ区切り位置５０ａが選択され（ステップＳ２１０）、次に、当該ページ区切り位置５０ａと重なるコンテンツがあるか否が判定される（ステップＳ２１２）。この判定は、上記第１の実施の形態と同様に、ページ区切り位置５０ａの縦方向の座標が、コンテンツＡ〜Ｄの縦方向の座標の範囲にあるか否かを調べることによって行われる。この場合は、図１７（ｂ）に示すように、ページ区切り位置５０ａにコンテンツＣが重なっているので、重なるコンテンツがあると判定される（ステップＳ２１２の「Ｙｅｓ」の分岐）。
【０１１６】
ページ区切り位置５０ａと重なるコンテンツがあると判定されると、選択したページ区切り位置５０ａの後方のページにある空白領域、ここではコンテンツＣ及びＤの間にある空白領域を選択して（ステップＳ２１８）、この空白領域の位置に、仮想ページ区切り位置５０ａ’を仮設定する（ステップＳ２２０）。仮想ページ区切り位置５０ａ’が仮設定されると、上記設定されたバネ定数を用いて、当該仮想ページ区切り位置５０ａ’でページ分けされた１ページ目（先方のページ）の合成変形力と、２ページ目（後方のページ）の合成変形力とを算出する。合成変形力は、バネ定数と変形させる距離との乗算によって算出できるので、まず１ページ目の合成バネ定数と変形させる距離とから１ページ目の合成変形力を算出する。
【０１１７】
図１７（ｂ）に示すように、１ページ目の合成変形力Ｆudは、ページ区切り位置５０ａと仮設定された仮想ページ区切り位置５０ａ’との間の距離をｌ1とすると、下式（１）で求まる合成バネ定数１／Ｋudから下式（２）のように算出できる（ステップＳ２２２）。
１／Ｋud＝１／ＫOA＋１／ＫA＋１／ＫAC＋１／ＫC＋１／２・ＫCD                                                                              ・・・（１）
Ｆud＝Ｋud・ｌ1                                          ・・・（２）
更に、２ページ目の合成変形力Ｆddは、下式（３）で求まる合成バネ定数１／Ｋddから下式（４）のように算出できる（ステップＳ２２２）。
１／Ｋdd＝１／２・ＫCD＋１／ＫD＋１／ＫDO                ・・・（３）
Ｆdd＝Ｋdd・ｌ1                                          ・・・（４）
つまり、上記Ｆudは、仮想ページ区切り位置５０ａ’によってページ分けされるコンテンツＡ〜Ｃを、上記距離ｌ1だけ圧縮するのに必要な変形力であり、上記Ｆddは、コンテンツＡ〜Ｃが距離ｌ1だけ圧縮されたときに、この圧縮に合わせてコンテンツＤを距離ｌ1だけ伸長するのに必要な変形力となる。
【０１１８】
次に、選択したページ区切り位置５０ａの先方のページにある空白領域、ここではコンテンツＡ及びＣの間にある空白領域を選択して（ステップＳ２２４）、この空白領域の位置に、仮想ページ区切り位置５０ａ’’を仮設定する（ステップＳ２２６）。仮想ページ区切り位置５０ａ’’が仮設定されると、上記設定されたバネ定数を用いて、当該仮想ページ区切り位置５０ａ’’でページ分けされた１ページ目（先方のページ）の合成変形力と、２ページ目（後方のページ）の合成変形力とを算出する。合成変形力は、バネ定数と変形させる距離との乗算によって算出できるので、まず１ページ目の合成バネ定数と変形させる距離とから１ページ目の合成変形力を算出する（ステップ２２８）。
【０１１９】
図１７（ｂ）に示すように、１ページ目の合成変形力Ｆduは、ページ区切り位置５０ａと仮設定された仮想ページ区切り位置５０ａ’’との間の距離をｌ2とすると、下式（５）で求まる合成バネ定数１／Ｋuuから下式（６）のように算出できる（ステップＳ２２８）。
１／Ｋdu＝１／ＫOA＋１／ＫA＋１／２・ＫAC                 ・・・（５）
Ｆdu＝Ｋdu・ｌ2                                           ・・・（６）
更に、２ページ目の合成変形力Ｆuuは、下式（７）で求まる合成バネ定数１／Ｋuuから下式（８）のように算出できる（ステップＳ２２８）。
１／Ｋuu＝１／２・ＫAC＋１／ＫC＋１／ＫCD＋１／ＫD＋１／ＫDO                                                                              ・・・（７）
Ｆuu＝Ｋuu・ｌ2                                          ・・・（８）
つまり、上記Ｆuuは、仮想ページ区切り位置５０ａ’’によってページ分けされるコンテンツＡを、上記距離ｌ2だけ圧縮するのに必要な変形力であり、上記Ｆduは、コンテンツＡが距離ｌ2だけ圧縮されたときに、この圧縮に合わせてコンテンツＣ及びＤを距離ｌ2だけ伸長するのに必要な変形力となる。
【０１２０】
このようにして、後方の空白領域及び先方の空白領域に対する合成変形力が算出されると、まず、後方の空白領域に対応する合成変形力Ｆud及びＦddと、変形力閾値２Ｆとを比較する。ここでは、合成変形力Ｆud及びＦddが共に変形力閾値２Ｆ以下であるとする（ステップＳ２３０の「Ｙｅｓ」の分岐）。次に、先方の空白領域に対応する合成変形力Ｆuu及びＦduと、変形力閾値２Ｆとを比較する。ここでは、Ｆuu及びＦduの少なくとも一方が変形力閾値２Ｆよりも大きいとする（ステップＳ２３２の「Ｎｏ」の分岐）。この場合は、変形力閾値２Ｆ以下という条件を満たしているＦud及びＦddに対応する後方の空白領域の位置に仮想ページ区切り位置５０ａ’が設定される（ステップＳ２３６）。
【０１２１】
そして、図１７（ｃ）及び図１７（ｄ）に示すように、上記第１の実施の形態と同様の処理を経て再レイアウトを行い（ステップＳ２３８）、再レイアウト後の再レイアウトデータを記憶装置７４に記憶する（ステップＳ２４２）。
一方、合成変形力Ｆud及びＦddが共に変形力閾値２Ｆ以下であり、且つ合成変形力Ｆuu及びＦduが共に変形力閾値２Ｆ以下である場合は（ステップＳ２３２の「Ｙｅｓ」の分岐）、Ｆud＋ＦddとＦuu＋Ｆduとの大きさを比較し、小さい方に対応する空白領域の位置に仮想ページ区切り位置を設定する（ステップＳ２３６又はステップＳ２４４）。
【０１２２】
また、合成変形力Ｆud又はＦddが変形力閾値２Ｆより大きく、且つ合成変形力Ｆuu又はＦduが変形力閾値２Ｆより大きい場合は（ステップＳ２４６の「Ｎｏ」の分岐）、選択したページ区切り位置５０ａは再レイアウト処理済みとして、その位置が確定する。
このようにして、レイアウト装置１００は、レイアウト領域にレイアウトされたコンテンツと、当該レイアウト領域とが弾性データ構造を有してなる弾性レイアウトデータと、指定されたページ情報とに基づき、指定ページ数及び指定ページサイズに応じて、レイアウト領域及びコンテンツを伸長又は圧縮してサイズを変更することが可能であり、更に、サイズ変更されたレイアウト領域を指定ページ数で等分するページ区切り位置を設定してページ分けすることが可能である。
【０１２３】
更に、レイアウト領域がページ分けされると、所定の選択順序で再レイアウト処理が未処理のページ区切り位置を選択して、このページ区切り位置にコンテンツが重なっている場合は、選択したページ区切り位置から後方のページにある最も近い空白領域を選択して仮想ページ区切り位置を仮設定し、当該仮設定した仮想ページ区切り位置に対して先方及び先方のページの合成変形力をそれぞれ算出すると共に、選択したページ区切り位置から先方のページにある最も近い空白領域を選択して仮想ページ区切り位置を仮設定し、当該仮設定した仮想ページ区切り位置に対して先方及び後方のページの合成変形力をそれぞれ算出することが可能である。
【０１２４】
更に、見開きページ間よりもページめくりを伴うページ区切り位置に対して大きな変形力が設定される変形力閾値と、上記算出した合計変形力とに基づき、仮想ページ区切り位置の設定値を判断することが可能である。そして、この仮想ページ区切り位置でページ分けされる各ページのコンテンツを、選択したページ区切り位置でページ分けされる各ページのレイアウト領域に収まるサイズとなるように、該当のコンテンツを伸長又は圧縮し、更に、各コンテンツ間の位置関係が維持されるように、該当のコンテンツを伸長若しくは圧縮、又は移動して、全体の均整を損なわずに各コンテンツを再レイアウトすることが可能である。
【０１２５】
従って、各コンテンツ、各コンテンツ間及び各コンテンツとレイアウト領域端部とに設定する変形力情報を工夫することで、元々のレイアウトをあまり損なわせずに、全体の均整がとれたページ分割及び再レイアウトを行うことなどが可能となる。
上記第２の実施の形態において、弾性レイアウトデータ取得部１０は、形態１の弾性レイアウトデータ取得手段に対応し、ページ情報指定部１１は、形態１のページ情報指定手段に対応し、伸縮処理部１２は、形態１の伸縮手段に対応し、ページ区切り位置設定部１３は、形態１又は２のページ区切り位置設定手段に対応する。
【０１２６】
また、上記第２の実施の形態において、ページ区切り位置選択部１４は、形態１のページ区切り位置選択手段に対応し、仮想ページ区切り位置設定判断部１５は、形態１、６、７、８、９及び１２のいずれか１の仮想ページ区切り位置設定判断手段に対応し、仮想ページ区切り位置設定部１７は、形態１の仮想ページ区切り位置設定手段に対応し、再レイアウト部１８は、形態１の再レイアウト手段に対応する。
【０１２７】
また、上記第２の実施の形態において、ステップＳ２００，Ｓ２０２は、形態１３又は２５の弾性レイアウトデータ取得ステップに対応し、ステップＳ２０４は、形態１３又は２５のページ情報指定ステップに対応し、ステップＳ２０６は、形態１３又は２５の伸縮ステップに対応し、ステップＳ２０８は、形態１３、１４、２５及び２６のいずれか１のページ区切り位置設定ステップに対応する。
【０１２８】
また、上記第２の実施の形態において、ステップＳ２１０は、形態１３又は２５のページ区切り位置選択ステップに対応し、ステップＳ２１２〜ステップＳ２３４，ステップＳ２４６〜ステップＳ２５０は、形態１３、１８、１９、２０、２１、２４、２５、３０、３１、３２、３３及び３６のいずれか１の仮想ページ区切り位置設定判断ステップに対応し、ステップＳ２３６，ステップＳ２４４は、形態１３又は２５の再レイアウトステップに対応する。
【０１２９】
なお、上記第１及び第２の実施の形態において、図３ないし図１６のフローチャートに示す処理を実行するにあたってはいずれも、ＲＯＭ６４にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをＲＡＭ６２に読み込んで実行するようにすることもできる。
【０１３０】
ここで、記憶媒体とは、ＲＡＭ、ＲＯＭ等の半導体記憶媒体、ＦＤ、ＨＤ等の磁気記憶型記憶媒体、ＣＤ、ＣＤＶ、ＬＤ、ＤＶＤ等の光学的読取方式記憶媒体、ＭＯ等の磁気記憶型／光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【図面の簡単な説明】
【０１３１】
【図１】本発明に係るレイアウト装置１００の機能構成を示すブロック図である。
【図２】レイアウト装置１００のハードウェア構成を示すブロック図である。
【図３】第１の実施の形態の再レイアウト処理を示すフローチャートである。
【図４】（ａ）は、レイアウトされた基準サイズのレイアウト領域及びコンテンツの一例を示す図であり、（ｂ）は、４ページに伸長後のレイアウト領域及びコンテンツの一例を示す図である。
【図５】各ページ区切り位置に対する所定距離の設定例を示す図である。
【図６】（ａ）〜（ｄ）は、仮想ページ区切り位置の設定処理及び再レイアウト処理の過程例を示す図である。
【図７】図６の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。
【図８】４ページ目が全て空白ページとなる再レイアウト処理の処理過程の例を示す図である。
【図９】図８の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。
【図１０】基準サイズを圧縮して再レイアウトする処理過程の例を示す図である
【図１１】図１０の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。
【図１２】特殊なページ構成の例（観音開き）を示す図である。
【図１３】図１２のページ構成に対する距離閾値の設定例を示す図である。
【図１４】ページ構成が縦書きの場合の再レイアウト処理過程の例を示す図である。
【図１５】図１４の再レイアウト処理結果に基づき印刷出力された印刷結果の例を示す図である。
【図１６】第２の実施の形態の再レイアウト処理を示すフローチャートである。
【図１７】第２の実施の形態における再レイアウト処理過程の一例を示す図である。
【符号の説明】
【０１３２】
１０…弾性レイアウトデータ取得部，１１…ページ情報指定部，１２…伸縮処理部，１３…ページ区切り位置設定部，１４…ページ区切り位置選択部，１５…仮想ページ区切り位置設定判断部，１６…判断用情報設定部，１７…仮想ページ区切り位置設定部，１８…再レイアウト部，１９…再レイアウトデータ記憶部
【図１】
0004692112.tif 000002
【図２】
0004692112.tif 000003
【図３】
0004692112.tif 000004
【図４】
0004692112.tif 000005
【図５】
0004692112.tif 000006
【図６】
0004692112.tif 000007
【図７】
0004692112.tif 000008
【図８】
0004692112.tif 000009
【図９】
0004692112.tif 000010
【図１０】
0004692112.tif 000011
【図１１】
0004692112.tif 000012
【図１２】
0004692112.tif 000013
【図１３】
0004692112.tif 000014
【図１４】
0004692112.tif 000015
【図１５】
0004692112.tif 000016
【図１６】
0004692112.tif 000017
【図１７】
0004692112.tif 000018