(57)【要約】【課題】審美性に優れた配置に相当するグリッド線を生成すること。【解決手段】文書編集支援装置は、編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記レイアウト領域における複数のグリッド線を取得するグリッド線取得手段と、前記グリッド線生成手段により生成された複数のグリッド線のうち、そのグリッド線に沿って前記オブジェクト取得手段により取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するグリッド線選択手段とを有する。【選択図】図１
2008198011.tif 000002
【特許請求の範囲】
【請求項１】
編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記レイアウト領域における複数のグリッド線を取得するグリッド線取得手段と、
前記グリッド線取得手段により取得された複数のグリッド線のうち、そのグリッド線に沿って前記オブジェクト取得手段により取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するグリッド線選択手段と
を有する文書編集支援装置。
【請求項２】
複数のグリッド線を生成し、前記複数のグリッド線の各々が、互いに平行な２つの基準線の間を黄金比に分割する線であり、前記基準線が、前記オブジェクトの形状もしくは位置、または前記レイアウト領域の形状のうち少なくとも１つに基づいて定められるグリッド線生成手段を有し、
前記グリッド線取得手段が、前記グリッド線生成手段により生成された複数のグリッド線を取得する
ことを特徴とする請求項１に記載の文書編集支援装置。
【請求項３】
前記グリッド線選択手段が、前記オブジェクトと前記レイアウト領域の中心線との間にある余白が、前記オブジェクトと前記中心線の間の外にある余白よりも大きくなるグリッド線を選択する
ことを特徴とする請求項１または２に記載の文書編集支援装置。
【請求項４】
前記あらかじめ決められた条件が、前記オブジェクトが配置された場合の上下または左右方向の余白の比が、あらかじめ決められた比を基準としてあらかじめ決められた範囲内にあるという条件である
ことを特徴とする請求項１または２に記載の文書編集支援装置。
【請求項５】
前記あらかじめ決められた条件が、前記オブジェクトが配置された場合の上下または左右方向の余白の比が、あらかじめ決められた比に最も近いという条件である
ことを特徴とする請求項１または２に記載の文書編集支援装置。
【請求項６】
前記あらかじめ決められた比が、黄金比または１：√２である
ことを特徴とする請求項４または５に記載の文書編集支援装置。
【請求項７】
前記文書が、前記オブジェクト以外の他のオブジェクトを複数含み、
前記オブジェクトおよび前記他のオブジェクトが各々その属性を示す属性情報を有し、
前記グリッド線選択手段が、前記オブジェクトおよび前記複数の他のオブジェクトの属性情報に基づいて、グリッド線を選択する
ことを特徴とする請求項１または２に記載の文書編集支援装置。
【請求項８】
前記属性情報が、オブジェクトの種類を示し、
前記グリッド線選択手段が、前記複数の他のオブジェクトのうち、前記オブジェクトと同じ種類のオブジェクトとの距離が近くなるグリッド線を選択する
ことを特徴とする請求項７に記載の文書編集支援装置。
【請求項９】
前記グリッド線選択手段により選択されたグリッド線に従って、前記オブジェクトの配置を決定する配置手段
を有する請求項１または２に記載の文書編集支援装置。
【請求項１０】
コンピュータ装置に、
編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、
前記レイアウト領域における複数のグリッド線を取得するステップと、
前記生成された複数のグリッド線のうち、そのグリッド線に沿って前記取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するステップと
を実行させるプログラム。
【請求項１１】
コンピュータ装置に、
編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、
前記レイアウト領域における複数のグリッド線を取得するステップと、
前記生成された複数のグリッド線のうち、そのグリッド線に沿って前記取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するステップと
を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の編集を支援する技術に関する。
【背景技術】
【０００２】
コンピュータ装置を用いて、ある領域内にオブジェクト（デジタルコンテンツ）を配置して文書を編集または作成する技術が知られている。オブジェクトを配置するためのガイド線として、いわゆるグリッド線が広く用いられている（例えば、特許文献１〜５）。
【０００３】
特許文献１は、領域内の全面について均一なグリッド線を用いるのではなく、任意の領域のグリッド線サイズを変更する技術を開示している。特許文献２は、組版の文字組みグリッド線において、文字数、フォント種別、フォントサイズなどのパラメータに応じてグリッド線を生成する技術を開示している。特許文献３は、マウスでオブジェクトをドラッグする際、移動方向に応じて吸着対象のグリッドを選択する技術を開示している。特許文献４および５は、ユーザが、複数のグリッド線の中から所望のグリッド線を選択するシステム、および、所望のグリッド線を設定するシステムを開示している。
【０００４】
【特許文献１】特開平８−１９４８３２号公報
【特許文献２】特表２００３−５２３０１４号公報
【特許文献３】特開２００６−１８９９８９号公報
【特許文献４】特開昭６４−１７１５６号公報
【特許文献５】特開平３−２６９６７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献２に記載された技術においては、グリッド線を生成するためにはユーザがパラメータを入力する必要があった。また、特許文献１、４および５に記載された技術においては、バランスの取れた、すなわち審美性に優れた配置に相当するグリッド線を選択するのが困難であるという問題があった。また特許文献３に記載された技術によればオブジェクトの移動は円滑になるが、審美性を向上させることはできなかった。
これに対し本発明は、使用するユーザの技能や経験によらず、バランスの取れた、すなわち審美性に優れた配置に相当するグリッド線を生成する技術に関する。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明は、編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記レイアウト領域における複数のグリッド線を取得するグリッド線取得手段と、前記グリッド線取得手段により取得された複数のグリッド線のうち、そのグリッド線に沿って前記オブジェクト取得手段により取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するグリッド線選択手段とを有する文書編集支援装置を提供する。
この文書編集支援装置によれば、余白に応じてグリッド線が選択される。
【０００７】
好ましい態様において、この文書編集支援装置は、複数のグリッド線を生成し、前記複数のグリッド線の各々が、互いに平行な２つの基準線の間を黄金比に分割する線であり、前記基準線が、前記オブジェクトの形状もしくは位置、または前記レイアウト領域の形状のうち少なくとも１つに基づいて定められるグリッド線生成手段を有し、前記グリッド線取得手段が、前記グリッド線生成手段により生成された複数のグリッド線を取得してもよい。
この文書編集支援装置によれば、生成された複数の黄金グリッド線の中から、余白に応じてグリッド線が選択される。
【０００８】
別の好ましい態様において、この文書編集支援装置は、前記あらかじめ決められた条件が、前記オブジェクトが配置された場合の上下または左右方向の余白の比が、あらかじめ決められた比を基準としてあらかじめ決められた範囲内にあるという条件であってもよい。
この文書編集支援装置によれば、余白の比がある基準からあらかじめ決められた範囲内となるようなグリッド線が選択される。
【０００９】
さらに別の好ましい態様において、この文書編集支援装置は、前記あらかじめ決められた条件が、前記オブジェクトが配置された場合の上下または左右方向の余白の比が、あらかじめ決められた比に最も近いという条件であってもよい。
この文書編集支援装置によれば、余白の比があらかじめ決められた比に最も近くなるようなグリッド線が選択される。
【００１０】
さらに別の好ましい態様において、この文書編集支援装置は、前記あらかじめ決められた比が、黄金比または１：√２であってもよい。
この文書編集支援装置によれば、余白の比が黄金比または１：√２に最も近くなるようなグリッド線が選択される。
【００１１】
さらに別の好ましい態様において、この文書編集支援装置は、前記グリッド線選択手段が、前記オブジェクトと前記レイアウト領域の中心線との間にある余白が、前記オブジェクトと前記中心線の間の外にある余白よりも大きくなるグリッド線を選択してもよい。
この文書編集支援装置によれば、より中心に近い余白が大きくなるようにグリッド線が選択される。
【００１２】
さらに別の好ましい態様において、この文書編集支援装置は、前記文書が、前記オブジェクト以外の他のオブジェクトを複数含み、前記オブジェクトおよび前記他のオブジェクトが各々その属性を示す属性情報を有し、前記グリッド線選択手段が、前記オブジェクトおよび前記複数の他のオブジェクトの属性情報に基づいて、グリッド線を選択してもよい。
この文書編集支援装置によれば、オブジェクトの属性情報に基づいてグリッド線が選択される。
【００１３】
さらに別の好ましい態様において、この文書編集支援装置は、前記属性情報が、オブジェクトの種類を示し、前記グリッド線選択手段が、前記複数の他のオブジェクトのうち、前記オブジェクトと同じ種類のオブジェクトとの距離が近くなるグリッド線を選択してもよい。
この文書編集支援装置によれば、種類が同じオブジェクトにより近い余白が小さくなるようにグリッド線が選択される。
【００１４】
さらに別の好ましい態様において、この文書編集支援装置は、前記グリッド線選択手段により選択されたグリッド線に従って、前記オブジェクトの配置を決定する配置手段を有してもよい。
この文書編集支援装置によれば、選択されたグリッド線に従ってオブジェクトが配置される。
【００１５】
また、本発明は、コンピュータ装置に、編集対象となる文書に含まれ、レイアウト領域に配置されるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、前記レイアウト領域における複数のグリッド線を取得するステップと、前記生成された複数のグリッド線のうち、そのグリッド線に沿って前記取得されたオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たす、少なくとも１つのグリッド線を選択するステップとを実行させるプログラムを提供する。
さらに、本発明は、上記のプログラムを記憶した記憶媒体を提供する。
このプログラムによれば、余白に応じてグリッド線が選択される。
【発明を実施するための最良の形態】
【００１６】
１．構成
図１は、一実施形態に係る文書編集装置１００の機能構成を示す図である。文書編集装置１００は、文書を編集する機能、および、それに付随して、文書の編集を支援する機能を有する。特に、文書編集装置１００は、処理の対象となるオブジェクト（以下「対象オブジェクト」という）の配置を決定するものである。「文書」とは、レイアウト領域内に配置される少なくとも１のオブジェクトおよびレイアウト領域におけるオブジェクトの配置を示すレイアウト情報を含むデータ、またはそのデータに従って出力された結果物をいう。「オブジェクト」とは、テキスト（文字列）もしくは画像の少なくとも一方を示すデータ、またはそのデータにより示されるテキストもしくは画像をいう。「レイアウト領域」とは、出力される文書の物理的な境界をいう。レイアウト領域は、例えば、文書が印刷される１または複数の紙、１つのページ、連続する複数のページ、またはページのうち一部分の領域、版面をいう。
【００１７】
オブジェクト取得部１０１は、編集対象となる文書に含まれるオブジェクトを取得する。グリッド線生成部１０２は、レイアウト領域におけるグリッド線を複数生成する。グリッド線取得部１０３は、生成された複数のグリッド線を取得する。グリッド線選択部１０４は、複数のグリッド線の中から、少なくとも１つのグリッド線を選択する。選択されるグリッド線は、そのグリッド線に沿ってオブジェクトを配置した場合に生じる余白があらかじめ決められた条件を満たすグリッド線である。配置決定部１０５は、選択されたグリッド線に従って、オブジェクトの配置を決定する。
【００１８】
図２は、文書編集装置１００のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）１１０は、文書編集装置１００の各要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１２０は、文書編集装置１００の起動に必要なデータおよびプログラムを記憶する記憶装置である。ＲＡＭ（Random Access Memory）１３０は、ＣＰＵ１１０がプログラムを実行する際の作業領域として機能する記憶装置である。Ｉ／Ｆ（Interface）１４０は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。ＨＤＤ（Hard Disk Drive）１５０は、各種プログラムおよびデータを記憶する記憶装置である。本実施形態に関して、ＨＤＤ１５０は、グリッド線を生成する文書編集プログラムを記憶している。キーボード・マウス１６０は、ユーザが文書編集装置１００に対して指示入力を行うための入力装置である。ディスプレイ１７０は、データの内容あるいは処理の状況などを表示する出力装置である。本実施形態において、ディスプレイ１７０は、オブジェクト、レイアウト領域、およびグリッド線を表示する。ネットワークＩＦ１８０は、ネットワーク（図示略）を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。文書編集装置１００は、例えば、ネットワークおよびネットワークＩＦ１８０を介して文書（正確には、文書を示す電子データ）を受信することができる。ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０、およびＩ／Ｆ１４０は、バス１９０を介して接続されている。ＣＰＵ１１０が文書編集プログラムを実行することにより、文書編集装置１００は、図１に示される機能構成を備える。文書編集装置１００は、図１に示される機能構成および図２に示されるハードウェア構成を含むものであれば、どのような装置であってもよい。例えば、文書編集装置１００は、いわゆるパーソナルコンピュータである。あるいは、文書編集装置１００は、プリンタのような画像形成措置であってもよい。なお、図２に示されるハードウェア構成の一部は省略されてもよい。
【００１９】
２．動作
図３は、文書編集装置１００の動作を示すフローチャートである。ステップＳ１００において、ＣＰＵ１１０は、オブジェクトを取得する。本実施形態において、ＣＰＵ１１０は、オブジェクトを編集対象となる文書（以下「対象文書」という）として取得する。ＨＤＤ１５０は、文書を記憶している。ＣＰＵ１１０は、ＨＤＤ１５０から文書を読み出す。
【００２０】
図４は、取得される文書を例示する図である。文書Ｄ１は、レイアウト領域Ｌ内に、オブジェクトＴ１およびＩ１を含む。オブジェクトＴ１は、「ワークスタイルイノベーション」という文字列およびその属性を含む。オブジェクトＴ１は、その属性として、オブジェクトの種類「テキスト」、およびオブジェクトのサイズを示す情報を有する。オブジェクトＩ１は、画像およびその属性を含む。オブジェクトＩ１は、その属性として、オブジェクトの種類「画像」、およびオブジェクトのサイズを示す情報を有する。また、文書Ｄ１は、レイアウト領域Ｌにおけるオブジェクトの配置を示す情報（以下「レイアウト情報」という）を含む。本実施形態において、対象オブジェクトはオブジェクトＴ１である。
【００２１】
再び図３を参照して説明する。ステップＳ１１０において、ＣＰＵ１１０は、複数のグリッド線を生成する。本実施形態において、グリッド線は２つの基準線の間を黄金比に分割するグリッド線（以下「黄金グリッド線」という）である。なお、「黄金比」とは、次式（１）で示される比（約１：１．６１８）をいう。式（１）の右項と左項は入れ替えられてもよい。
【数１】
2008198011.tif 000003
【００２２】
図５は、グリッド線生成処理の詳細を示すフローチャートである。ステップＳ１１１において、ＣＰＵ１１０は、レイアウト領域を黄金分割するグリッド線を生成する。詳細には次のとおりである。ＣＰＵ１１０は、互いに平行な２つの基準線を特定する。どの線を基準線として用いるかは、あらかじめ決められている。この例では、レイアウト領域の上辺および下辺、ならびに左辺および右辺が基準線として用いられる。ＣＰＵ１１０は、まず、レイアウト領域Ｌの上辺および下辺を基準線として特定する。ＣＰＵ１１０は、２つの基準線の間を黄金比に分割する線を生成する。次に、ＣＰＵ１１０は、レイアウト領域Ｌの左辺および右辺を基準線として特定し、同様に黄金分割線を生成する。こうして生成される線がグリッド線である。なお「グリッド線を生成する」とはグリッド線を特定するのに必要なパラメータ、例えば、基準点の座標および直線の方向ベクトルを算出することをいい、グリッド線がディスプレイ１７０に表示される必要はない。
【００２３】
ステップＳ１１２において、ＣＰＵ１１０は、文書Ｄ１に配置済みオブジェクトが存在するか判断する。「配置済みオブジェクト」とは、既にその配置が決定しているオブジェクト、すなわち、対象オブジェクト以外のオブジェクトをいう。配置済みオブジェクトが存在すると判断された場合（Ｓ１１２：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１１３に移行する。配置済みオブジェクトが存在しないと判断された場合（Ｓ１１２：ＮＯ）、ＣＰＵ１１０は、図５に示される処理を終了する。文書Ｄ１は対象オブジェクト以外にオブジェクトＩ１を有するので、ＣＰＵ１１０は、処理をステップＳ１１３に移行する。
【００２４】
ステップＳ１１３において、ＣＰＵ１１０は、配置済みオブジェクトを基準として、グリッド線を生成する領域を決定する。複数の配置済みオブジェクトが存在する場合、ＣＰＵ１１０は、その中から１つの配置済みオブジェクトを選択し、選択した配置済みオブジェクトについて以下の処理を行う。ＣＰＵ１１０は、配置済みオブジェクトから、１つの基準線を特定する。どの線を基準線として用いるかは、あらかじめ決められている。この例では、配置済みオブジェクトの外接矩形の上辺、下辺、左辺、および右辺（以下、単にオブジェクトの上辺、下辺、左辺、および右辺という）が基準線として用いられる。まずＣＰＵ１１０は、配置済みオブジェクト、この例ではオブジェクトＩ１の上辺を基準線として特定する。ＣＰＵ１１０は、基準線に対してあらかじめ決められた方向、例えば上辺に対しては上方向に、他の基準線を検索する。配置済みオブジェクトの上辺に対する他の基準線の候補となるのは、レイアウト領域の上辺、および他の配置済みオブジェクトの下辺である。他の基準線を検出すると、ＣＰＵ１１０は、基準線と他の基準線との間の領域をグリッド線を生成する領域として決定する。ＣＰＵ１１０は、下辺、左辺、および右辺を基準線とした場合についても同様の処理を行う。なお、基準線と、他の基準線を検索する方向（以下「検索方向」という）と、他の基準線の候補（以下「候補線」という）とを示すデータは、ＨＤＤ１５０に記憶されている。ＨＤＤ１５０は、例えば、基準線「上辺」に対して検索方向「上方向」および候補線「レイアウト領域の上辺」および「他の配置済みオブジェクトの下辺」を、基準線「下辺」に対して検索方向「下方向」および候補線「レイアウト領域の下辺」および「他の配置済みオブジェクトの上辺」を、基準線「右辺」に対して検索方向「右方向」および候補線「レイアウト領域の右辺」および「他の配置済みオブジェクトの左辺」を、基準線「左辺」に対して検索方向「左方向」および候補線「レイアウト領域の左辺」および「他の配置済みオブジェクトの右辺」を記憶している。
【００２５】
ステップＳ１１４において、ＣＰＵ１１０は、各領域を黄金分割するグリッド線を生成する。すなわち、ＣＰＵ１１０は、グリッド線の識別子と、グリッド線を特定するのに必要なパラメータとをＲＡＭ１３０に記憶する。ステップＳ１１５において、ＣＰＵ１１０は、すべての配置済みオブジェクトについて処理が完了したか判断する。まだ処理が済んでいない配置済みオブジェクトがあると判断された場合（Ｓ１１５：ＮＯ）、ＣＰＵ１１０は、処理の対象となる配置済みオブジェクトを変更し、処理をステップＳ１１３に移行する。すべての配置済みオブジェクトについて処理が完了したと判断された場合（Ｓ１１５：ＹＥＳ）、ＣＰＵ１１０は、図５に示される処理を終了する。
【００２６】
図６は、生成されるグリッド線を例示する図である。グリッド線Ｇ１は、レイアウト領域Ｌの上辺とオブジェクトＩ１の上辺の間を１：１．６１８に分割するグリッド線である。グリッド線Ｇ２は、レイアウト領域Ｌの上辺と下辺の間を１：１．６１８に分割するグリッド線である。グリッド線Ｇ３は、レイアウト領域Ｌの上辺とオブジェクトＩ１の上辺の間を１．６１８：１に分割するグリッド線である。グリッド線Ｇ４は、レイアウト領域Ｌの左辺と右辺との間を１：１．６１８に分割するグリッド線である。グリッド線Ｇ５は、レイアウト領域Ｌの左辺と右辺との間を１．６１８：１に分割するグリッド線である。なお、説明を簡単にするため、グリッド線Ｇ１〜Ｇ５以外のグリッド線は図示していない。
【００２７】
再び図３を参照して説明する。ステップＳ１２０において、ＣＰＵ１１０は、複数のグリッド線から、最適なグリッド線を選択する。
【００２８】
図７は、グリッド線選択処理の詳細を示すフローチャートである。ステップＳ１２１において、ＣＰＵ１１０は、処理の対象となるグリッド線（以下「対象グリッド線」という）を１つ選択する。ここで、ＣＰＵ１１０は、識別子の若い順に１つずつ順番にグリッド線を選択する。
【００２９】
ステップＳ１２２において、ＣＰＵ１１０は、対象オブジェクトを対象グリッド線の上に配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。
【００３０】
ステップＳ１２３において、ＣＰＵ１１０は、対象オブジェクトを対象グリッド線の下に配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。
【００３１】
図８は、対象オブジェクトと対象グリッド線の位置関係を示す図である。この例ではグリッド線Ｇ１が対象グリッド線である。図８（Ａ）はオブジェクトＴ１をグリッド線Ｇ１の上に配置した例を、図８（Ｂ）はオブジェクトＴ１をグリッド線Ｇ１の下に配置した例を示している。ここで「対象グリッド線の上」とは、対象オブジェクトの下辺が対象グリッド線に接することをいう。「対象グリッド線の下」とは、対象オブジェクトの上辺が対象グリッド線に接することをいう。
【００３２】
ここで、「余白」は、ある方向における、オブジェクトと、他のオブジェクトまたはレイアウト領域の境界線との最短距離として定義される。図８（Ａ）の例では、オブジェクトＴ１の上辺とレイアウト領域Ｌの上辺の距離ｄ１が上方向の余白であり、オブジェクトＴ１の下辺とオブジェクトＩ１の上辺の距離ｄ２が下方向の余白である。図８（Ｂ）の例では、オブジェクトＴ１の上辺とレイアウト領域Ｌの上辺の距離ｄ３が上方向の余白であり、オブジェクトＴ１の下辺とオブジェクトＩ１の上辺の距離ｄ４が下方向の余白である。
【００３３】
再び図７を参照して説明する。ステップＳ１２４において、ＣＰＵ１１０は、すべてのグリッド線について処理が完了したか判断する。まだ処理が済んでいないグリッド線があると判断された場合（Ｓ１２４：ＮＯ）、ステップＳ１２５において、ＣＰＵ１１０は、対象グリッド線を次のグリッド線に変更する。対象グリッド線を変更すると、ＣＰＵ１１０は、処理をステップＳ１２２に移行する。
【００３４】
すべてのグリッド線について処理が完了したと判断された場合（Ｓ１２４：ＹＥＳ）、ステップＳ１２６において、ＣＰＵ１１０は、比ｒとあらかじめ決められた比ｒｒｅｆとの差の絶対値が最小となるグリッド線および位置関係を、以降の処理に用いることを決定する。
【００３５】
再び図３を参照して説明する。ステップＳ１３０において、ＣＰＵ１１０は、選択されたグリッド線に従って、対象オブジェクトの配置を決定する。すなわち、ＣＰＵ１１０は、グリッド線との位置関係がステップＳ１２６で決定されたものになるように、対象オブジェクトの位置を決定する。ＣＰＵ１１０は、この決定に従ってレイアウト情報を更新する。
【００３６】
図９は、編集された文書を例示する図である。この例では、オブジェクトＴ１は、グリッド線Ｇ３の上に配置されている。オブジェクトＴ１の上方向の余白はｄ５であり、下方向の余白はｄ６である。比ｒｒｅｆとして黄金比が用いられている。すなわち、ｒｒｅｆ＝１．６１８である。グリッド線と位置関係の複数の組み合わせの中で、この組み合わせによる比ｒ＝ｄ５／ｄ６が比ｒｒｅｆに最も近い。
以上で説明したように本実施形態によれば、対象オブジェクトは余白の比が黄金比に近くなる位置に配置される。
【００３７】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。なお、以下において実施形態と共通する事項についてはその説明を省略する。また、実施形態と共通する要素については共通の参照番号を用いて説明する。また、以下の変形例のうち２つ以上のものが組み合わせて適用されてもよい。
【００３８】
３−１．変形例１
図１０は、変形例１に係るグリッド線選択処理を示すフローチャートである。変形例１において、図７のフローに代わり図１０のフローが用いられる。このフローによれば、対象オブジェクトの位置に応じてグリッド線が選択される。
【００３９】
ステップＳ２００において、ＣＰＵ１１０は、フラグＦｕの値を設定する。フラグＦｕは、レイアウト領域における対象オブジェクトの位置を示す。対象オブジェクトがレイアウト領域Ｌの上半分、すなわち水平方向の中心線よりも上に配置されている場合、ＣＰＵ１１０は、フラグＦｕをＦｕ＝１に設定する。それ以外の場合、ＣＰＵ１１０は、フラグＦｕをＦｕ＝０に設定する。ステップＳ２０１において、ＣＰＵ１１０は、複数のグリッド線から、対象グリッド線を１つ選択する。
【００４０】
ステップＳ２０２において、ＣＰＵ１１０は、対象グリッド線の上に対象オブジェクトを配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ステップＳ２０３において、ＣＰＵ１１０は、フラグＦｕの値に応じて次の処理を決定する。フラグＦｕの値が「１」の場合、かつ、対象オブジェクトの上下の余白のうち下方向の余白の方が大きい場合、ステップＳ２０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。また、フラグＦｕの値が「０」の場合、かつ、対象オブジェクトの上下の余白のうち上方向の余白の方が大きい場合、ステップＳ２０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。それ以外の場合、ＣＰＵ１１０は、算出した比ｒを記憶せずに、処理をステップＳ２０５に移行する。
【００４１】
ステップＳ２０５において、ＣＰＵ１１０は、対象グリッド線の下に対象オブジェクトを配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ステップＳ２０６において、ＣＰＵ１１０は、フラグＦｕの値に応じて次の処理を決定する。フラグＦｕの値が「１」の場合、かつ、対象オブジェクトの上下の余白のうち下方向の余白の方が大きい場合、ステップＳ２０７において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。また、フラグＦｕの値が「０」の場合、かつ、対象オブジェクトの上下の余白のうち上方向の余白の方が大きい場合、ステップＳ２０７において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。それ以外の場合、ＣＰＵ１１０は、算出した比ｒを記憶せずに、処理をステップＳ２０８に移行する。
【００４２】
ステップＳ２０８において、ＣＰＵ１１０は、すべてのグリッド線について処理が完了したか判断する。まだ処理が完了していないグリッド線があると判断された場合（Ｓ２０８：ＮＯ）、ステップＳ２０９において、ＣＰＵ１１０は、対象グリッド線を次のグリッド線に変更する。対象グリッド線を変更すると、ＣＰＵ１１０は、処理をステップＳ２０２に移行する。
【００４３】
すべてのグリッド線について処理が完了したと判断された場合（Ｓ２０８：ＹＥＳ）、ＣＰＵ１１０は、比ｒとあらかじめ決められた比ｒｒｅｆとの差が最小となるグリッド線および位置関係を、以降の処理に用いることを決定する。
【００４４】
図１１は、編集された文書を例示する図である。この例では、オブジェクトＴ１は、グリッド線Ｇ１の下に配置されている。オブジェクトＴ１の上方向の余白はｄ７であり、下方向の余白はｄ８である。比ｒｒｅｆとして黄金比が用いられている。すなわち、ｒｒｅｆ＝１／１．６１８＝０．６１８である。グリッド線と位置関係の複数の組み合わせの中で、この組み合わせによる比ｒ＝ｄ７／ｄ８が比ｒｒｅｆに最も近い。また、オブジェクトＴ１はレイアウト領域Ｌの上半分にあるので、オブジェクトＴ１の下の余白が上の余白よりも広くなるように配置される。
このように変形例１によれば、オブジェクトの配置に応じて最適なグリッド線が選択される。
【００４５】
なお処理の具体的なフローは図１０に示されるものに限定されない。対象オブジェクトの配置に応じてグリッド線の選択条件が変わるものであれば、どのようなフローで処理が行われてもよい。
【００４６】
３−２．変形例２
図１２は、変形例２に係るグリッド線選択処理を示すフローチャートである。変形例２において、図７のフローに代わり図１２のフローが用いられる。このフローによれば、近接オブジェクトの属性（この例では特にオブジェクトの種類）に応じてグリッド線が選択される。ここで、「近接オブジェクト」とは、対象オブジェクトとの距離が最も近いオブジェクトをいう。
【００４７】
ステップＳ３００において、ＣＰＵ１１０は、フラグＦｏの値を設定する。フラグＦｏは、近接オブジェクトの種類を示す。近接オブジェクトが対象オブジェクトの上にあり、かつ、近接オブジェクトの種類が対象オブジェクトと同じである場合、ＣＰＵ１１０は、フラグＦｏをＦｏ＝１に設定する。近接オブジェクトが対象オブジェクトの下にあり、かつ、近接オブジェクトの種類が対象オブジェクトと同じである場合、ＣＰＵ１１０は、フラグＦｏをＦｏ＝−１に設定する。近接オブジェクトの種類が対象オブジェクトと異なる場合、ＣＰＵ１１０は、フラグＦｏをＦｏ＝０に設定する。ステップＳ３０１において、ＣＰＵ１１０は、複数のグリッド線から、対象グリッド線を１つ選択する。すなわち、フラグＦｏは、対象オブジェクトと同じ種類のオブジェクトの存在に応じて設定される。
【００４８】
ステップＳ３０２において、ＣＰＵ１１０は、対象グリッド線の上に対象オブジェクトを配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ステップＳ３０３において、ＣＰＵ１１０は、フラグＦｏの値に応じて次の処理を決定する。フラグＦｏの値が「１」の場合、かつ、対象オブジェクトの上下の余白のうち下方向の余白の方が大きい場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。フラグＦｏの値が「−１」の場合、かつ、対象オブジェクトの上下の余白のうち上方向の余白の方が大きい場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。フラグＦｏの値が「０」の場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。それ以外の場合、ＣＰＵ１１０は、算出した比ｒを記憶せずに、処理をステップＳ３０５に移行する。
【００４９】
ステップＳ３０５において、ＣＰＵ１１０は、対象グリッド線の下に対象オブジェクトを配置した場合における、対象オブジェクトの上下の余白の比ｒを算出する。ステップＳ３０６において、ＣＰＵ１１０は、フラグＦｏの値に応じて次の処理を決定する。フラグＦｏの値が「１」の場合、かつ、対象オブジェクトの上下の余白のうち下方向の余白の方が大きい場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。フラグＦｏの値が「−１」の場合、かつ、対象オブジェクトの上下の余白のうち上方向の余白の方が大きい場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。フラグＦｏの値が「０」の場合、ステップＳ３０４において、ＣＰＵ１１０は、グリッド線の識別子と、オブジェクトとグリッド線の位置関係を示す情報とともに、算出した比ｒをＲＡＭ１３０に記憶する。それ以外の場合、ＣＰＵ１１０は、算出した比ｒを記憶せずに、処理をステップＳ３０８に移行する。
【００５０】
ステップＳ３０８において、ＣＰＵ１１０は、すべてのグリッド線について処理が完了したか判断する。まだ処理が完了していないグリッド線があると判断された場合（Ｓ３０８：ＮＯ）、ステップＳ３０９において、ＣＰＵ１１０は、対象グリッド線を次のグリッド線に変更する。対象グリッド線を変更すると、ＣＰＵ１１０は、処理をステップＳ３０２に移行する。
【００５１】
すべてのグリッド線について処理が完了したと判断された場合（Ｓ３０８：ＹＥＳ）、ＣＰＵ１１０は、比ｒとあらかじめ決められた比ｒｒｅｆとの差が最小となるグリッド線および位置関係を、以降の処理に用いることを決定する。
【００５２】
図１３は、編集された文書を例示する図である。この例では、オブジェクトＴ３が対象オブジェクトである。オブジェクトＴ２およびＴ３は共にテキストのオブジェクトであり、すなわちオブジェクトの種類が等しい。オブジェクトＩ２は画像のオブジェクトである。グリッド線Ｇ６はオブジェクトＴ２とオブジェクトＩ２との間の余白を１：１．６１８に分割するグリッド線である。グリッド線Ｇ７はオブジェクトＴ２とオブジェクトＩ２との間の余白を１．６１８：１に分割するグリッド線である。グリッド線Ｇ８およびＧ９は、レイアウト領域Ｌの左辺と右辺の間を１：１．６１８および１．６１８：１に分割するグリッド線である。この例では、オブジェクトＴ３の上（同じ種類のオブジェクトがある方向）の余白がオブジェクトＴ３の下（同じ種類のオブジェクトがない方向）よりも小さくなるように、オブジェクトＴ３の配置が決定される。
このように変形例２によれば、オブジェクトの属性に応じて最適なグリッド線が選択される。
【００５３】
なお処理の具体的なフローは図１２に示されるものに限定されない。対象オブジェクトの属性に応じてグリッド線の選択条件が変わるものであれば、どのようなフローで処理が行われてもよい。また、あらかじめ決められた方向において対象オブジェクトとの距離が最も近いオブジェクトを近接オブジェクトとして処理が行われてもよい。
【００５４】
３−３．変形例３
余白の定義は、上述の実施形態で説明したものに限定されない。上述の実施形態では余白は長さの次元を有していたが、余白は面積の次元を有していてもよい。例えば、（１）ある方向におけるオブジェクトと他のオブジェクトまたはレイアウト領域の境界線との最短距離と、その方向と直交する方向におけるオブジェクトまたはレイアウト領域の境界線の間の最短距離の積を余白と定義してもよい。あるいは、（２）オブジェクト群に内接する楕円の面積、またはオブジェクトの基づいて定められる基準点を中心とする楕円を余白と定義してもよい。さらにあるいは、（３）オブジェクト群に内接する多角形を余白と定義してもよい。要するに、視覚的に余白、すなわち空間が空いていると認識される領域に対応する量であれば、どのような量が余白の定義として用いられてもよい。
【００５５】
図１４は、変形例３に係る余白の定義を例示する図である。図１４（Ａ）は、上述の定義（１）を用いた例を示す。いまオブジェクトＯ１の下方向の余白について考える。オブジェクトＯ３は、オブジェクトＯ１の下方向において近接するオブジェクトである。距離ｄ９は、オブジェクトＯ１とオブジェクトＯ３との間の距離である。距離ｄ１０は、オブジェクトＯ２とレイアウト領域Ｌの左辺との間の距離である。この例では、余白はｄ９×ｄ１０で定義される。図１４（Ｂ）は、上述の定義（２）を用いた例を示す。楕円Ｃは、オブジェクトＯ１〜Ｏ３に内接する楕円である。この例では、余白は楕円Ｃの面積（斜線部分）で定義される。
【００５６】
３−４．変形例４
上述の実施形態および変形例において、あらかじめ決められた比ｒｒｅｆが黄金比である例について説明したが、比ｒｒｅｆは黄金比に限定されない。例えば、ｒｒｅｆ＝√２、またはｒｒｅｆ＝１／√２が用いられてもよい。すなわち、式（１）の比に代わり、１：√２が用いられてもよい。
【００５７】
３−５．変形例５
上述の実施形態および変形例において、レイアウト領域Ｌの上下方向の位置を決定する例について説明したが、同様に左右方向の位置が決定されてもよい。あるいは、上下方向および左右方向の位置が両方決定されてもよい。要するに、複数のグリッド線から最適なグリッド線が少なくとも１つ選択されればよい。
【００５８】
３−６．変形例６
文書編集装置１００は、グリッド線を生成しなくてもよい。この場合、ステップＳ１１０において、ＣＰＵ１１０は、グリッド線を特定するパラメータを取得する。グリッド線の位置および間隔などグリッド線を特定するパラメータはあらかじめ決められている。ＨＤＤ１５０は、グリッド線を特定するパラメータを記憶している。ＣＰＵ１１０は、ＨＤＤ１５０からパラメータを読み出すことによりグリッド線を特定する。また、グリッド線は黄金グリッド線に限定されない。レイアウト領域を等間隔に分割する線がグリッド線として用いられてもよい。
【００５９】
３−７．変形例７
文書編集装置１００は、オブジェクトの配置を決定しなくてもよい。この場合、ステップＳ１３０において、ＣＰＵ１１０は、選択されたグリッド線を示す情報を他の装置に出力する。他の装置は、選択されたグリッド線に従ってオブジェクトの配置を決定する。
【００６０】
３−８．変形例８
ステップＳ１２６、Ｓ２１０またはＳ３１０において選択されるグリッド線は、あらかじめ決められた比ｒｒｅｆに最も近いものに限定されない。ＣＰＵ１１０は、比ｒｒｅｆを基準としてあらかじめ決められた範囲内にある比ｒに対応するグリッド線を選択してもよい。すなわちＣＰＵ１１０は、ｒｒｅｆ−ｒｔｈ≦ｒ≦ｒｒｅｆ＋ｒｔｈを満たす比ｒに対応するグリッド線を選択してもよい。ここでｒｔｈはしきい値である。なお、複数のグリッド線がこの条件を満たす場合、ＣＰＵ１１０は、その旨を示すメッセージをディスプレイ１７０に表示してもよい。あるいは、ＣＰＵ１１０は、条件を満たすグリッド線の中から最も比ｒｒｅｆに近いものを選択してもよい。また、条件を満たすグリッド線が存在しない場合、ＣＰＵ１１０は、その旨を示すメッセージをディスプレイ１７０に表示してもよい。
【００６１】
３−９．その他の変形例
ステップＳ１００において、オブジェクトは、対象文書と一緒に取得されなくてもよい。すなわち、各オブジェクトおよびレイアウト情報は、同一の出所から同時に取得されなくてもよい。オブジェクトおよび対象文書は、例えば、ネットワークおよびネットワークＩＦ１８０を介して他の装置から取得されてもよい。あるいは、オブジェクトおよび対象文書は、ユーザがキーボード・マウス１６０を操作することにより入力されてもよい。
【００６２】
ステップＳ１２１、Ｓ２０１またはＳ３０１において、複数のグリッド線から対象グリッド線を選択する際、選択の対象となるグリッド線の絞込みが行われてもよい。例えば、ＣＰＵ１１０は、配置済みオブジェクトに対してあらかじめ決められた方向にあるグリッド線のみを、選択の対象として絞り込んでもよい。
【００６３】
ステップＳ３０３またはＳ３０５において、フラグＦｏの値が「０」の場合の処理は変形例２で説明したものに限定されない。フラグＦｏの値が「０」の場合、変形例１で説明した処理が行われてもよい。
【００６４】
オブジェクトおよび対象オブジェクトの数は、実施形態および変形例で説明したものに限定されない。例えば、対象オブジェクトの数が１つである例について説明したが、対象オブジェクトの数は複数であってもよい。また、文書には、あらかじめ決められたルールまたはレイアウト情報に従って配置されるオブジェクトと、上述の実施形態または変形例に従って配置されるオブジェクトが混在してもよい。例えば上述の実施形態では、オブジェクトＩ１、Ｔ２、およびＩ２の配置はあらかじめ決められており、オブジェクトＴ１またはＴ３の配置がグリッド線に従って決定される。あるいは、文書に含まれるすべてのオブジェクトの位置が、実施形態または変形例で説明した処理により決定されてもよい。この場合、処理対象となるオブジェクトが１つずつ順番に特定され、上述の処理が行われる。
【００６５】
各オブジェクトが有する属性情報は、上述の実施形態または変形例で説明したものに限定されない。例えば以下のものが属性として用いられてもよい。（１）オブジェクトの種類（「テキスト」、「画像」など）、（２）オブジェクトのカテゴリ（「タイトル」、「サブタイトル」、「本文」、「メイン画像」、「サブ画像」など）、（３）フォントサイズ、（４）フォントの種類（「明朝」、「ゴシック」など）、（５）フォントのスタイル（「標準」、「太字」、「斜体」など）、（６）オブジェクトのサイズ（面積、文字数、画素数など）、（７）オブジェクトの優先度（「高」、「中」、「低」、または指数など）、（８）画像の内容（「人物」、「風景」、「山」、「花」など）。なお、各オブジェクトは以上に例示した属性情報のすべてを有している必要はない。
【００６６】
各オブジェクトは、属性情報を有していなくてもよい。オブジェクトの属性は、レイアウト情報などオブジェクトとは別のデータにより定められてもよい。あるいは、オブジェクトの属性はあらかじめ決められていてもよい。
【００６７】
上述の実施形態および変形例においてＨＤＤ１５０に記憶されているデータ、情報およびパラメータの類は、ＨＤＤ１５０以外の装置に記憶されていてもよい。例えば、デザインルールは、文書編集装置１００以外の他の装置に記憶されていてもよい。この場合文書編集装置１００は、ネットワークを介した通信または直接接続により他の装置からデザインルールを取得する。なおこの場合文書編集装置１００はあらかじめデザインルールを記憶している必要はない。あるいは、データ、情報およびパラメータの類は、ユーザにより入力されてもよい。
【００６８】
上述の実施形態および変形例において「あらかじめ決められている」とされたデータ、情報およびパラメータの類は、ユーザの指示に応じて決定されてもよい。あるいは、これらのデータ、情報およびパラメータの類は、あらかじめ決められたアルゴリズムに従ってＣＰＵ１１０により決定されてもよい。
【００６９】
上述の実施形態および変形例において、文書編集プログラムはＨＤＤ１５０に記憶されていた。しかし、文書編集プログラムは、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記憶媒体により提供されてもよい。
【図面の簡単な説明】
【００７０】
【図１】一実施形態に係る文書編集装置１００の機能構成を示す図である。
【図２】文書編集装置１００のハードウェア構成を示す図である。
【図３】文書編集装置１００の動作を示すフローチャートである。
【図４】取得される文書を例示する図である。
【図５】グリッド線生成処理の詳細を示すフローチャートである。
【図６】生成されるグリッド線を例示する図である。
【図７】グリッド線選択処理の詳細を示すフローチャートである。
【図８】対象オブジェクトと対象グリッド線の位置関係を示す図である。
【図９】編集された文書を例示する図である。
【図１０】変形例１に係るグリッド線選択処理を示すフローチャートである。
【図１１】編集された文書を例示する図である。
【図１２】変形例２に係るグリッド線選択処理を示すフローチャートである。
【図１３】編集された文書を例示する図である。
【図１４】変形例３に係る余白の定義を例示する図である。
【符号の説明】
【００７１】
１００…文書編集装置、１０１…オブジェクト取得部、１０２…グリッド線生成部、１０３…グリッド線取得部、１０４…グリッド線選択部、１０５…配置決定部、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…Ｉ／Ｆ、１５０…ＨＤＤ、１６０…キーボード・マウス、１７０…ディスプレイ、１８０…ネットワークＩＦ、１９０…バス
【図１】
2008198011.tif 000004
【図２】
2008198011.tif 000005
【図３】
2008198011.tif 000006
【図４】
2008198011.tif 000007
【図５】
2008198011.tif 000008
【図６】
2008198011.tif 000009
【図７】
2008198011.tif 000010
【図８】
2008198011.tif 000011
【図９】
2008198011.tif 000012
【図１０】
2008198011.tif 000013
【図１１】
2008198011.tif 000014
【図１２】
2008198011.tif 000015
【図１３】
2008198011.tif 000016
【図１４】
2008198011.tif 000017