(57)【要約】【課題】いったん作成されたテンプレートから対称形のテンプレートを生成する場合であっても、読み手にとって違和感を与えない可読性のよいレイアウトを効率よく設定する。【解決手段】フィールドオブジェクト順序設定部１は、各フィールドオブジェクトの並べる順序を設定する。順序設定判定部２は、判定対象であるフィールドオブジェクトが順序設定されているものか否かを判定する。フィールドメンバー取得部３は、順序設定されているフィールドオブジェクトから、当該フィールドオブジェクトを構成するフィールドメンバーを取得する。対称変換種別把握部４は、フィールドオブジェクト順序設定部１が設定した順序に基づき、当該フィールドオブジェクトの対称変換の種別を把握する。フィールドメンバー順序変更部５は、対称変換種別把握部４が把握した対称変換の種別に基づき、当該フィールドメンバーの順列を変更する。【選択図】図２
2010160571.tif 000002
【特許請求の範囲】
【請求項１】
データが挿入されるフィールドオブジェクトが配置されたテンプレートを生成する文書レイアウト編集装置であって、
前記テンプレート内のフィールドオブジェクトから選択された複数のフィールドオブジェクトに順序を設定するフィールドオブジェクト順序設定手段と、
前記テンプレートから新たなテンプレートを生成する生成手段と、
前記生成手段によって生成された前記新たなテンプレートにおけるフィールドオブジェクトの順序を、前記フィールドオブジェクト順序設定手段によって設定された順序に基づいて変更するフィールドメンバー順序変更手段と、
を備え、
前記新たなテンプレートと前記テンプレートとは、線対称関係または点対称関係であることを特徴とする文書レイアウト編集装置。
【請求項２】
前記フィールドメンバー順序変更手段は、
前記フィールドオブジェクトのリンク元・リンク先情報を取得するリンク情報取得手段と、
前記フィールドオブジェクトがそれぞれ縦・横のどの向きにリンクしているのかを所定の位置計算によって把握するリンク状態把握手段と、
リンク状態を把握したフィールドオブジェクトについて、同じ方向に続けてリンクされたフィールドオブジェクトをグループ化するフィールドオブジェクトグループ化手段と、
前記フィールドオブジェクトグループ化手段によってグループ化されたもの同士のグループ間順列を決定する順列決定手段と、
テンプレートを対称形に変換するテンプレート変換手段と、
前記テンプレート変換手段によって変換されたテンプレートの対称形の種別によって、各フィールドオブジェクトのどの領域を反転するかを決定する反転領域決定手段と、
前記反転領域決定手段によって決定された領域を含むフィールドオブジェクトのグループ内順序を変更するグループ内順序変更手段と、
前記反転領域決定手段によって決定された領域を含むフィールドオブジェクトが構成するグループ間の順序を変更するグループ間順序変更手段と、
前記グループ内順序変更手段および前記グループ間順序変更手段の処理の結果に基づき、すべてのフィールドオブジェクトの順序を変更するフィールド順序変更手段と、
を備えていることを特徴とする請求項１に記載の文書レイアウト編集装置。
【請求項３】
サイズの異なるフィールドオブジェクトがあるか否かを判定する判定手段と、
サイズの異なるフィールドオブジェクトがある場合に、当該フィールドオブジェクトのデータの値を取得し、連結して組版する組版手段と、
フィールドオブジェクトのサイズを順に並んでいるフィールドオブジェクトの面積比率で分割する分割手段と、
前記分割手段で分割されたフィールドオブジェクトに文字オブジェクトを挿入する挿入手段と、
を備えていることを特徴とする請求項１または２に記載の文書レイアウト編集装置。
【請求項４】
前記テンプレート内のフィールドオブジェクトのデータ構造から文字寄せ属性を取得する文字寄せ属性取得手段と、
前記文字寄せ属性取得手段が取得した属性から、当該文字オブジェクトを対称変換する対称変換手段と、
を備えていることを特徴とする請求項１〜３のいずれかひとつに記載の文書レイアウト編集装置。
【請求項５】
前記テンプレートに含まれる変換の対象の図フィールドに最も距離の近い文字オブジェクトを検索する検索手段と、
前記テンプレート内のフィールドオブジェクトのデータ構造から前記検索手段が検索した文字オブジェクトに関する文字寄せ属性を取得する文字寄せ属性取得手段と、
前記文字寄せ属性取得手段が取得した属性から、当該文字オブジェクトを対称変換する対称変換手段と、
を備えていることを特徴とする請求項１〜３のいずれかひとつに記載の文書レイアウト編集装置。
【請求項６】
データが挿入されるフィールドオブジェクトが配置されたテンプレートを生成する文書レイアウト編集方法であって、
前記テンプレート内のフィールドオブジェクトから選択された複数のフィールドオブジェクトに順序を設定するフィールドオブジェクト順序設定工程と、
前記テンプレートから新たなテンプレートを生成する生成工程と、
前記生成手段によって生成された前記新たなテンプレートにおけるフィールドオブジェクトの順序を、前記フィールドオブジェクト順序設定手段によって設定された順序に基づいて変更するフィールドメンバー順序変更工程と、
を備え、
前記新たなテンプレートと前記テンプレートとは、線対称関係または点対称関係であることを特徴とする文書レイアウト編集方法。
【請求項７】
前記フィールドメンバー順序変更工程は、
前記フィールドオブジェクトのリンク元・リンク先情報を取得するリンク情報取得工程と、
前記フィールドオブジェクトがそれぞれ縦・横のどの向きにリンクしているのかを所定の位置計算によって把握するリンク状態把握工程と、
リンク状態を把握したフィールドオブジェクトについて、同じ方向に続けてリンクされたフィールドオブジェクトをグループ化するフィールドオブジェクトグループ化工程と、
前記フィールドオブジェクトグループ化工程によってグループ化されたもの同士のグループ間順列を決定する順列決定工程と、
テンプレートを対称形に変換するテンプレート変換工程と、
前記テンプレート変換工程によって変換されたテンプレートの対称形の種別によって、各フィールドオブジェクトのどの領域を反転するかを決定する反転領域決定工程と、
前記反転領域決定工程によって決定された領域を含むフィールドオブジェクトのグループ内順序を変更するグループ内順序変更工程と、
前記反転領域決定工程によって決定された領域を含むフィールドオブジェクトが構成するグループ間の順序を変更するグループ間順序変更工程と、
前記グループ内順序変更工程および前記グループ間順序変更工程の処理の結果に基づき、すべてのフィールドオブジェクトの順序を変更するフィールド順序変更工程と、
を含むことを特徴とする請求項６に記載の文書レイアウト編集方法。
【請求項８】
サイズの異なるフィールドオブジェクトがあるか否かを判定する判定工程と、
サイズの異なるフィールドオブジェクトがある場合に、当該フィールドオブジェクトのデータの値を取得し、連結して組版する組版工程と、
フィールドオブジェクトのサイズを順に並んでいるフィールドオブジェクトの面積比率で分割する分割工程と、
前記分割手段で分割されたフィールドオブジェクトに文字オブジェクトを挿入する挿入工程と、
を含むことを特徴とする請求項６または７に記載の文書レイアウト編集方法。
【請求項９】
前記テンプレート内のフィールドオブジェクトのデータ構造から文字寄せ属性を取得する文字寄せ属性取得工程と、
前記文字寄せ属性取得工程が取得した属性から、当該文字オブジェクトを対称変換する対称変換工程と、
を含むことを特徴とする請求項６〜８のいずれかひとつに記載の文書レイアウト編集方法。
【請求項１０】
前記テンプレートに含まれる変換の対象の図フィールドに最も距離の近い文字オブジェクトを検索する検索工程と、
前記テンプレート内のフィールドオブジェクトのデータ構造から前記検索工程で検索された文字オブジェクトに関する文字寄せ属性を取得する文字寄せ属性取得工程と、
前記文字寄せ属性取得工程で取得した属性から、当該文字オブジェクトを対称変換する対称変換工程と、
を含むことを特徴とする請求項６〜８のいずれかひとつに記載の文書レイアウト編集方法。
【請求項１１】
請求項６〜１０のいずれかひとつに記載の文書レイアウト編集方法をコンピュータに実行させることを特徴とする文書レイアウト編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意にテンプレート内の位置を指定して、図形や文字列などの描画オブジェクトをテンプレート上に配置する文書レイアウト編集装置、文書レイアウト編集方法、および文書レイアウト編集プログラムに関する。
【背景技術】
【０００２】
従来のバリアブルプリンティング技術においては、データベース等から取得したフィールドデータをフィールドに流し込むとき、位置の固定されたフィールドに流し込むのが一般的な手法であった。この場合、フィールドデータは出力ごと、ページごとに値を変動させることができるが、オブジェクトの全体的なレイアウト構成はテンプレートとして固定されており、変動することがなかった。
【０００３】
ここで「ページ」とは、Ａ４用紙などで規定される限られた領域をいう。オブジェクトはページ内部の領域にレイアウトされる。また、本発明で「オブジェクト」とは、図形や文字列や画像あるいはそれらの組み合わせなどの、独立して扱える描画要素のことを指す。また、「フィールドデータ」とは、前記バリアブルプリンティングにおける、データベース等によってシステムに供給される、動的に差し替えられ配置されるべきテキストや画像、図形データのことを指す。また、「フィールド」とは、前記「フィールドデータ」をページ上に配置するためにデータベース等とやりとりをしてフィールドデータを受け取り、その内容を表示、印刷するための属性を備える領域のことをいう。なお、本願ではフィールドをフィールドオブジェクトと呼称することもある。これはバリアブルプリンティングにおける描画オブジェクトのひとつである。また、本発明では、フィールドオブジェクトに、当該フィールドと関連付けられたフィールドデータを挿入することを、フィールドにフィールドデータを「流し込む」あるいは「埋め込む」と表現する。
【０００４】
バリアブルプリンティング技術では、前記フィールドデータと前記フィールドとを関連付ける設定を行いながら、バリアブルプリントを行うためのひな型となる「テンプレート文書」を作成するのが一般的である。いったんテンプレートを作成した後は、ユーザーはデータベースから所望のデータを選択し、それをテンプレートと合わせてバリアブルプリンティングシステムに指定する。こうすることで、フィールドデータの埋め込まれたテンプレートを完成文書として出力することができる。
【０００５】
ところで、一般的に行われているテンプレートの作成においては、以下に示すような問題があった。
【０００６】
バリアブルプリンティングの対象となる印刷物においては、図６および図７に示すような左右対称（線対称関係）、点対称など、同じ構成を対称形にしたテンプレート同士を組み合わせて、ページの見開き表現を行うことが頻繁に行われる。これは、レイアウトの変化をつけることによって読み手の興味を引くためである。
【０００７】
しかし、従来のテンプレート技術によれば、そのような単純な対称形であっても、利用者はそれぞれのテンプレートを別のテンプレートとして作成しなければならず、作成コストの面で不利であるという問題があった。
【０００８】
また、一組のテンプレート作成が作成された後、もし一方のテンプレートを修正するのであれば、対称形として作成したテンプレートもそれに合わせた形に、すなわち対称形を保つように修正する必要がある。これもまたメンテナンスコストの面で不利であるという問題があった。
【０００９】
かかる問題点を解決するため、フィールド自体を指定に応じて自動的に移動することのできる技術が提案されている（たとえば、特許文献１を参照）。この技術を用いれば、フィールドデータの値などに依存してテンプレート内の要素の配置を動的に変更することができる。このためテンプレートの設定によって、ひとつのテンプレート情報から、左右対称、上下対称、点対称などの対称形を容易に生成することができるので、前述した問題点を解決することができる。
【００１０】
また、この特許文献１に開示された技術のように複雑な設定をテンプレートに施さずとも、単純に「テンプレートを左右対称に変換せよ」というコマンドによって、印刷時に動的に対称形のテンプレートを生成することで、前述の問題を解決することも考えられる。
【００１１】
以下、本発明ではこのような対称形への変換をテンプレートに対して施すことを「対称変換」と呼ぶことにする。
【００１２】
【特許文献１】特開２００８−３９５７号公報（第２６頁、図６）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、対称形のテンプレートを自動生成することによって、以下に示すような問題が生じる。
【００１４】
たとえば、図８に示すように、オリジナルのテンプレートで、左から「Ｆｉｅｌｄ１」、「Ｆｉｅｌｄ２」、「Ｆｉｅｌｄ３」という３つのフィールドデータが関連付けられたフィールドが、横一列に並んでいる場合を考える。この場合、単純にテンプレート全体を左右対称にすると、各フィールドデータは元のフィールドに紐づいたまま変換されてしまう。すなわち、変換後のテンプレートにおいて、フィールドは左から「Ｆｉｅｌｄ３」、「Ｆｉｅｌｄ２」、「Ｆｉｅｌｄ１」と並ぶことになる。
【００１５】
このような結果は、フィールドデータの内容によっては問題となる。たとえば、図９に示すように、フィールドの配置とフィールドデータの順番に内容上関係がある場合は、フィールドの順序が左から右でなければ読みやすさや意味を損なうという問題が発生する。
【００１６】
このように、従来技術では、あるページのテンプレートから単純に対称形のテンプレートを生成して利用する場合、フィールドの順序と位置が対称に変換されることにより、可読性の低下が生じるという問題が発生する。
【００１７】
本発明は、上述した従来技術による問題点を解消するため、いったん作成されたテンプレートから対称形のテンプレートを生成する場合であっても、読み手にとって違和感を与えない可読性のよいレイアウトを効率よく設定することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本発明は以下のような特徴を備えている。
【００１９】
まず、本発明にかかる文書レイアウト編集装置は、データが挿入されるフィールドオブジェクトが配置されたテンプレートを生成する文書レイアウト編集装置であって、前記テンプレート内のフィールドオブジェクトから選択された複数のフィールドオブジェクトの配置順序を設定するフィールドオブジェクト順序設定手段と、前記テンプレートに基づく新たなテンプレートを生成する生成手段と、前記生成手段によって生成された前記新たなテンプレートにおけるフィールドオブジェクトの配置順序を、前記フィールドオブジェクト順序設定手段によって設定された配置順序に基づいて変更するフィールドメンバー順序変更手段と、を備え、前記新たなテンプレートは、前記テンプレートの線対称または点対象であることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、いったん作成されたテンプレートから対称形のテンプレートを生成する場合であっても、読み手にとって違和感を与えない可読性のよいレイアウトを効率よく設定できるという効果を奏する。
【００２１】
特に、本発明では、テンプレートが対称形に変換されることで、フィールドの出力される相対的位置関係が変わってしまい、読み手に読みづらい出力結果となることを防ぐことができる。この結果、テンプレート作成者は、より少ないテンプレート作成、管理労力で対称の表現効果を用いた文書を容易に利用できるようになり、読み手の興味を引く効果的なレイアウトを設定しやすくなる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明の好適な実施形態を詳細に説明する。
【００２３】
（文書レイアウト編集装置のハードウェア構成）
図１は、本発明にかかる文書レイアウト編集装置のハードウェア構成を示すブロック図である。図１に示すように、本発明の文書レイアウト編集装置を構成する本体１０１は、入出力インターフェース１４３を介してキーボード１３２や、マウス１３３のようなポインティングデバイス等の入力装置を接続している。また、出力装置としてのビデオディスプレイ１４４を、ビデオインターフェース１３７を介して接続している。さらに、状況に応じてプリンタ１４５を含む出力装置を、入出力インターフェース１３８を介して接続することも可能である。入出力インターフェース１３８は、本体１０１をネットワーク１０７へ接続することもできる。これにより、ネットワーク１０７を介して本体１０１を他のコンピュータ装置に接続することができる。ネットワーク１０７の典型例としては、ローカルエリアネットワーク（ＬＡＮ）や、ワイドエリアネットワーク（ＷＡＮ）などがある。
【００２４】
また、本体１０１は、少なくとも１つのプロセッサーユニット（ＣＰＵ）１３５、たとえば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６を含んでいる。記憶装置１３９は、プログラム等を格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図示していないが、磁気テープドライブなどもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。
【００２５】
本体１０１は、ＬＩＮＵＸ（登録商標）やマイクロソフトウィンドウズ（登録商標）のようなオペレーティングシステムに従い、相互接続バス１３４を介して通信を行う本体１０１のコンポーネントを利用する。あるいは、当該技術分野で周知のコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス１３４を介して通信を行う入出力インターフェース１３８を利用する。すなわち、各コンポーネントは、相互接続バス１３４を介して通信可能に接続されており、文書レイアウト編集装置の本体１０１にインストールされているオペレーティングシステムにより利用される。
【００２６】
本発明の文書レイアウト編集方法を実現するソフトウェアは、たとえば上記に記述されるような記憶装置１３９を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体から本体１０１へロードされ、本体１０１のＣＰＵ１３５によって実行される。本体１０１で、利用者がコンピュータプログラム製品を使用することにより、ドキュメントのレイアウト編集に有利な装置として作動させることができる。
【００２７】
〔第１の実施形態〕
（文書レイアウト編集装置の機能的構成）
図２は、第１の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。この文書レイアウト編集装置は、フィールドオブジェクト順序設定部１と、順序設定判定部２と、フィールドメンバー取得部３と、対称変換種別把握部４と、フィールドメンバー順序変更部５と、を備えている。さらに、この文書レイアウト編集装置は、フラグ設定部６と、処理済判定部７と、入力部８と、表示部９と、印刷部１０と、通信部１１と、を備えている。
【００２８】
フィールドオブジェクト順序設定部１は、各フィールドオブジェクトを並べる順序を設定する。順序設定判定部２は、判定対象であるフィールドオブジェクトが順序設定されているものか否かを判定する。フィールドメンバー取得部３は、順序設定されているフィールドオブジェクトから、当該フィールドオブジェクトと順序付けられているフィールドメンバー（要素）を取得する。対称変換種別把握部４は、フィールドオブジェクト順序設定部１が設定した順序に基づき、当該フィールドオブジェクトの対称変換の種別を把握する。フィールドメンバー順序変更部５は、対称変換種別把握部４が把握した対称変換の種別に基づき、当該フィールドメンバーの順列を変更する。フラグ設定部６は、順序変更が終了したフィールドオブジェクトに対して所定のフラグを設定する。処理済判定部７は、当該フィールドオブジェクトがフラグ設定されているか否かを判定する。なお、これらの機能は、図１に示したプロセッサーユニット１３５やメモリユニット１３６により実現できる。
【００２９】
また、入力部８は、文書レイアウト編集装置に対する各種情報や命令などの入力処理を行う。この入力部は、図１に示した入出力インターフェース１４３、キーボード１３２、マウス１３３などによって実現できる。表示部９は、各種情報を表示する。この表示部９は、図１に示したビデオインターフェース１３７やビデオディスプレイ１４４などにより実現できる。なお、入力部８および表示部９によりユーザーインターフェースを構成することができる。印刷部１０は、フィールドオブジェクトの印刷出力を実行する。この印刷部１０は、図１に示した入出力インターフェース１３８およびプリンタ１４５で実現できる。通信部１１は、文書レイアウト編集装置外部との通信を制御する。この通信部１１は、図１に示した入出力インターフェース１３８で実現できる。
【００３０】
図３は、図２に示したフィールドメンバー順序変更部５の機能的構成を示すブロック図である。このフィールドメンバー順序変更部５は、リンク情報取得部２１と、リンク状態把握部２２と、フィールドオブジェクトグループ化部２３と、順列決定部２４と、を備えている。さらに、このフィールドメンバー順序変更部５は、テンプレート変換部２５と、反転領域決定部２６と、グループ内順序変更部２７と、グループ間順序変更部２８と、フィールド順序変更部２９と、を備えている。
【００３１】
リンク情報取得部２１は、フィールドオブジェクトのリンク元・リンク先情報を取得する。リンク状態把握部２２は、当該フィールドオブジェクトがそれぞれ縦・横のどの向きにリンクしているのかを所定の位置計算によって把握する。フィールドオブジェクトグループ化部２３は、リンク状態を把握したフィールドオブジェクトについて、同じ方向に続けてリンクされたフィールドオブジェクトをグループ化する。順列決定部２４は、フィールドオブジェクトグループ化部２３によってグループ化されたもの同士のグループ間順列を決定する。テンプレート変換部２５は、ユーザーの指示に基づき、テンプレートを対称形に変換する。反転領域決定部２６は、テンプレート変換部２５によって変換されたテンプレートの対称形の種別によって、各フィールドオブジェクトのどの領域を反転するかを決定する。グループ内順序変更部２７は、反転領域決定部２６によって決定された領域を含むフィールドオブジェクトのグループ内順序を変更する。グループ間順序変更部２８は、反転領域決定部２６によって決定された領域を含むフィールドオブジェクトが構成するグループ間の順序を変更する。フィールド順序変更部２９は、グループ内順序変更部２７およびグループ間順序変更部２８の処理の結果に基づき、すべてのフィールドオブジェクトの順序を変更する。
【００３２】
図４は、本実施形態の文書レイアウト編集装置で取り扱うフィールドオブジェクト情報の管理の際に用いるデータ構成の一例を示す図である。図４に示すように、各オブジェクト情報は、オブジェクト２０１（ＩＤ：００１，００２，・・・）と、このフィールドに流し込まれることを期待して関連付けられている関連フィールドデータ２０２（ＩＤ：Ｆｉｅｌｄ１，Ｆｉｅｌｄ２，・・・）とを備える。さらに、当該オブジェクトの位置を示す左上座標２０３と、右下座標２０４、当該オブジェクト固有の情報を格納するオブジェクト固有情報２０５とを備えている。このように構成された複数のオブジェクトがリスト構造になって、オブジェクトリスト２００に格納されている。
【００３３】
図５は、オブジェクトリスト２００に格納されるオブジェクト情報の一例を示す図である。図５の左側に示すような、左上座標が（２０，３４）、右下座標が（８１，６５）である長方形オブジェクト情報は、当該オブジェクト情報が有する内容によって、図５の右側に示すようにリストに登録される。なお、図中の長方形オブジェクト情報の内部に書かれている＜Ｆｉｅｌｄ１＞というのは、当該フィールドオブジェクトに関連付けられているフィールドデータ名を表している。
【００３４】
図１０は、本実施形態の文書レイアウト編集装置の表示部９に表示される操作画面の一例を示す図である。画面の操作領域８０１の内部に、編集作業を行う領域８０２がある。領域８０２の内部には、ページ領域８０７がある。さらに、ページ領域８０７の内部には、描画オブジェクト（あるいはフィールドオブジェクト）８０４，８０５，８０６がある。本実施形態では、この操作画面上に表示されるツールバー８０３をポインティングデバイス等で操作することで、作成したテンプレートにフィールドオブジェクトの順序設定を行うことができる。
【００３５】
（文書レイアウト編集装置の処理）
以下、第１の実施形態にかかる文書レイアウト編集装置の処理について詳細に説明する。図１１は、本実施形態にかかる文書レイアウト編集装置の処理手順を示すフローチャートである。なお、本願のフローチャートは、メモリに記憶されたプログラムをＣＰＵが読み出すことで実行される。
【００３６】
図１１に示すフローチャートにおいて、まず、フィールドオブジェクト順序設定部１が各フィールドオブジェクトを並べる順序を設定する（ステップＳ１１０１）。ここでは、オブジェクトリスト２００からひとつずつ順番にフィールドオブジェクトを取り出し、そのフィールドオブジェクトについて処理を実行する。
【００３７】
図１２は、フィールドオブジェクト８０４の順序設定を説明するための図である。ここでは、テンプレートに配置された複数のフィールドオブジェクトから２つのフィールドオブジェクト９０２，９０３に対して順序を設定する場合を例にとって説明する。まず、マウスなどのポインティングデバイスを利用してユーザーは、入力カーソル９０１を操作する。そして、ユーザーはフィールドオブジェクト９０２からフィールドオブジェクト９０３に向けてドラッグなどの操作を行う。この操作により、ユーザーにより選択された複数のフィールドオブジェクトの順序が設定される。すると、操作後には指定された順番どおりにこれら領域をつなぎ、その順序はインジケータ９０４で表示される。
【００３８】
次に、このように操作され順番を指定されたフィールドオブジェクトのデータ構造を説明する。図１３は、フィールドオブジェクトのデータ構造を示す図である。この図１３は図４のデータ構造の図を拡張しているため、オブジェクトリスト２００、オブジェクト２０１、関連フィールドデータ２０２、左上座標２０３、右下座標２０４、およびオブジェクト固有情報２０５の示す内容は同様である。そして、このようなデータ構造に、リンク元オブジェクト１００１、リンク先オブジェクト１００２を付加している。この情報は、あるフィールドオブジェクトが他のどのフィールドオブジェクトと順序づけられているかを示す。「リンク先」に値（ＩＤ）が存在する場合、当該オブジェクトは後続のオブジェクトを持つ。「リンク先」に値（ＩＤ）が存在しない場合は、当該オブジェクトはリストの終端である。「リンク元」には当該オブジェクトに先行するオブジェクトを示し、「リンク元」が空の場合、当該オブジェクトはリストの先頭である。図１０の例では、オブジェクトＩＤが「００１」であるものが先頭で、オブジェクトＩＤが「００２」のものが後続している。そして、オブジェクトＩＤが「００２」のものが終端となっている。
【００３９】
ここで、図１１に戻り、順序設定判定部２が、判定対象であるフィールドオブジェクトに順序が設定されているか否かを判定する（ステップＳ１１０２）。ここで、判定対象であるフィールドオブジェクトが順序設定されていない場合（ステップＳ１１０２：Ｎｏ）は、ステップＳ１１０７へ進む。
【００４０】
一方、ステップＳ１１０２においてＹｅｓの場合は、フィールドメンバー取得部３が、現在判定対象としているフィールドオブジェクトと順序付けられているフィールドオブジェクト（フィールドメンバー（要素））を取得する（ステップＳ１１０３）。Ｓ１１０３の一例として、フィールドメンバー取得部３が、図１２の例においてフィールドオブジェクト９０２と順序付けされているフィールドオブジェクト９０３を取得する。なお、図１２の例において、フィールドオブジェクト９０２のフィールドメンバーは、フィールドオブジェクト９０３である。
【００４１】
次に、対称変換種別把握部４が、ユーザーによって指定された対称変換の種別を把握する（ステップＳ１１０４）。なお、対称変換の一例は、図６のような左右対称変換、点対称変換である。次に、フィールドメンバー順序変更部５が、ステップＳ１１０４で把握された対称変換の種別に基づき、当該フィールドメンバーの順列を変更する（ステップＳ１１０５）。この処理の詳細は後述する。
【００４２】
次に、フラグ設定部６が、順序変更が終了したフィールドオブジェクトに対して所定のフラグを設定する（ステップＳ１１０６）。この処理では、たとえば順列変更済みのフィールドオブジェクトに対してフラグをＯＮにすることによって、処理済みであるという情報を保存する。なお、順列変更済みのフラグは、図４で示したオブジェクトリスト２００中のオブジェクト固有情報２０５として保持してもよいし、それとは別のメモリ領域にオブジェクトリスト２００と対応する形で保持してもよい。
【００４３】
次に、処理済判定部７が、当該フィールドオブジェクトがフラグ設定されているか否かを判定する（ステップＳ１１０７）。ここで、当該フィールドオブジェクトがフラグ設定されていない場合（ステップＳ１１０７：Ｎｏ）は、再度ステップＳ１１０１から処理を実行する。一方、ステップＳ１１０７において当該フィールドオブジェクトがフラグ設定されている場合（ステップＳ１１０７：Ｙｅｓ）は、印刷部１０が、フィールドオブジェクトの印刷出力を実行する（ステップＳ１１０８）。
【００４４】
次に、ステップＳ１１０５のフィールドメンバー順列の変更について詳細に説明する。図１４は、フィールドメンバー順列の変更処理（ステップＳ１１０５）の手順を示すフローチャートである。
【００４５】
図１４に示すフローチャートにおいて、まず、リンク情報取得部２１が、フィールドオブジェクトのリンク元・リンク先情報を取得する（ステップＳ２１０１）。次に、リンク状態把握部２２が、当該フィールドオブジェクトがそれぞれ縦・横のどの向きにリンクしているのかを所定の位置計算によって把握する（ステップＳ２１０２）。具体的には、リンク関係にある２つのフィールドオブジェクトの中心座標同士を比較する。たとえば、中心座標の位置の違いが、水平座標のほうが大きければ横方向にリンクされているとみなす。また、垂直座標の位置の違いのほうが大きければ縦方向にリンクされているとみなす。
【００４６】
次に、フィールドオブジェクトグループ化部２３は、リンク状態を把握したフィールドオブジェクトについて、同じ方向に続けてリンクされたフィールドオブジェクトをグループ化する（ステップＳ２１０３）。続いて、順列決定部２４が、ステップＳ２１０３でグループ化されたもの同士のグループ間順列を決定する（ステップＳ２１０４）。そして、テンプレート変換部２５が、テンプレートを対称形に変換する（ステップＳ２１０５）。
【００４７】
ここまでの処理で実行されるテンプレート変換の基本法則を示す。図１５（Ａ），図１５（Ｂ）は、テンプレート変換の基本法則を説明するための図である。
【００４８】
まず、図１５（Ａ）に示すように、２つのフィールドオブジェクトが左右に並ぶ形で配置されている場合、テンプレート変換部２５は、テンプレートの対称変換の種別が「左右対称」を含んでいるときに限り、その順列を逆転させる。なお、左右反転（線対称）や点対称は「左右対称」の変換であると解釈する。また、図１５（Ｂ）に示すように、２つのフィールドオブジェクトが上下に並ぶ形で配置されている場合、テンプレート変換部２５は、テンプレートの対称変換の種別が「上下対称」を含んでいる場合に限り順列を逆転させる（線対称）。なお、上下反転や点対称は「上下対称」の変換であると解釈する。
【００４９】
ここで、２つのフィールドオブジェクトの位置関係は、中心座標の位置の違いが、水平座標のほうが大きければ左右に並んでいるとみなす。また、垂直座標の位置の違いのほうが大きければ上下に並んでいるとみなす。さらに、これらに対して、２つのフィールドオブジェクトのリンク情報をたどって、元の並びとちょうど反転するように、フィールドに関連付けられているフィールドＩＤを再度関連付ければよい。
【００５０】
次に、順列の反転の様子をデータ構造で示す。図１６は、変換後のフィールドオブジェクトのデータ構造の概要を示す図である。この図１６は、先に示した図１３を簡略化したものである。変換前のフィールドオブジェクトは、図の左側に示すデータ構造を有している。オブジェクト１４０１（ＩＤ：００１）とオブジェクト１４１１（ＩＤ：００２）とは、リンク関係が００１→００２という順列にある。これを反転するためには、オブジェクト１４２１（ＩＤ：００１）とオブジェクト１４３１（ＩＤ：００２）に対して、リンク元オブジェクトＩＤとリンク先オブジェクトＩＤとを反転させる。さらに、関連フィールドは元の順序を保ったまま、新しいフィールドオブジェクトの順列に沿って関係するフィールドに順に再度関連付けしていけばよい。たとえば、関連フィールドデータ１４０２（ＩＤ：Ｆｉｅｌｄ１）を関連フィールドデータ１４２２（ＩＤ：Ｆｉｅｌｄ２）に変換する。そして、リンク元オブジェクト１４０３（ＩＤ：空）をリンク元オブジェクト１４２３（ＩＤ：００２）に、リンク先オブジェクト１４０４（ＩＤ：００２）をリンク先オブジェクト１４２４（ＩＤ：空）に変換する。また、関連フィールドデータ１４１１（ＩＤ：Ｆｉｅｌｄ１）を関連フィールドデータ１４２２（ＩＤ：Ｆｉｅｌｄ２）に変換する。そして、リンク元オブジェクト１４０３（ＩＤ：空）をリンク元オブジェクト１４２３（ＩＤ：００２）に、リンク先オブジェクト１４０４（ＩＤ：００２）をリンク先オブジェクト１４２４（ＩＤ：空）に変換する。このようにすることで、図１５（Ａ），図１５（Ｂ）に示したような順列変換が完成する。
【００５１】
なお、これらの変換処理はメモリユニット１３６上で行われ、変換後のテンプレートは一時的な出力に利用された後は破棄される。しかし、変換処理の結果をファイルとして保存し、繰り返しの利用に供するキャッシュ情報としてもかまわない。
【００５２】
ここで、テンプレートの変換について考えてみる。たとえば、図８に示したようなテンプレートであれば、Ｆｉｅｌｄ１〜Ｆｉｅｌｄ３は単純に左右に並んでいる。そのため、図１５（Ａ），図１５（Ｂ）に基づき説明したルールを適用すれば、左から右へのフィールドデータ（Ｆｉｅｌｄ１，Ｆｉｅｌｄ２，Ｆｉｅｌｄ３）の見かけ上の並びを図１７に示すような順序を保ったままで、テンプレートを左右反転することができる。
【００５３】
今、図１８に示すように、５つのフィールドオブジェクト１６０１〜１６０５が、図中の矢印の順に順列をつけられているとする。フィールドオブジェクトの内部に記載されている数字（１〜５）は、フィールドデータの意味的な順列の順番を示す。すなわち、これらのフィールドデータの値は１〜５の順番に読まれることを意図している。これらのフィールドオブジェクトの組は、縦方向と横方向のフィールドの接続が組み合わされているため、単純に図１５（Ａ），図１５（Ｂ）に基づき説明したルールだけでは処理できない。そこで、本実施形態では、以下の処理を行う。
【００５４】
図１４に戻り、反転領域決定部２６が、ステップＳ２１０５によって変換されたテンプレートの対称形の種別によって、各フィールドオブジェクトのどの領域を反転するかを決定する（ステップＳ２１０６）。そして、グループ内順序変更部２７が、ステップＳ２１０６によって決定された領域を含むフィールドオブジェクトのグループ内順序を変更する（ステップＳ２１０７）。
【００５５】
たとえば、反転領域決定部２６は、図１９に示すように、１〜５のフィールドオブジェクトを、縦方向に並んでいる２つの組（１〜３のフィールドオブジェクトと４〜５のフィールドオブジェクト）に分解する。これは、隣り合うもの同士で縦に並んでいるか横に並んでいるかを判定し、より数の多い方向の組を先にまとめる。ここでは縦方向に並んでいるものの方が多い。さらに、縦のつながりが横のつながりに変化する地点、ここでは３→４の地点で別の２グループに分割する。次に、３→４というつながりからこれら２つのグループの順列を判定する。
【００５６】
図２０はグループ化したフィールドの情報を保持するためのデータ構造を示している。ここではグループ１８０１と、当該グループに含まれるメンバーフィールド１８０２として可変長で格納される。さらに、図１３に基づき説明した例と同様の考え方で、リンク元グループ１８０３とリンク先グループ１８０４が格納される。
【００５７】
このようにして、２つのグループの順列ができ、これらの内部にもとのフィールドオブジェクトがもとの順列を含んだ状態で存在する状態に分析できる。この分析結果を使って、複雑な構造のフィールドオブジェクトの順列を変換する手法を以下に示す。
【００５８】
再度、図１４に戻り、グループ間順序変更部２８が、ステップＳ２１０６によって決定された領域を含むフィールドオブジェクトが構成するグループ間の順序を変更する（ステップＳ２１０８）。最後に、フィールド順序変更部２９が、ステップＳ２１０７およびステップＳ２１０７の処理の結果に基づき、すべてのフィールドオブジェクトの順序を変更する（ステップＳ２１０９）。
【００５９】
たとえば、図２１は、図１９に示したフィールドオブジェクトの組を左右対称に変換する様子を示す図である。図中、（ａ）の状態が元の状態である。（ｂ）が図１９に基づき説明した手順によりグループ化され分析済みの状態である。（ｃ)が（ｂ）の状態を左右反転した状態である。この時点では反転しただけであるので、矢印の向きは元の状態のつながりのままである。そして、（ｃ）の状態に図１５（Ａ）に基づき説明した基本ルールを適用する。すると、グループ間の矢印が横方向の矢印であるので反転し、（ｄ）の状態になる。この時点でグループ化された２つの方向が逆になる。最後に（ｅ)のようにグループ間とグループ内の順列を統合して順列を作り、最終的にフィールドデータの関連付けを新しい順列の順番でこれらフィールド群に設定し直せばよい。
【００６０】
また、図２２は、図１９に示したフィールドオブジェクトの組を点対称に変換する様子を示す図である。（ａ)の状態が元の状態である。（ｂ）が図１９に基づき説明した手順によりグループ化され分析済みの状態である。（ｃ）が（ｂ）の状態を点対称に１８０度回転した状態である。この時点では回転しただけであるので、矢印の向きは元の状態のつながりのままである。（ｃ）の状態に図１５（Ｂ）に基づき説明した基本ルールを適用する。すると、グループ間の矢印が横方向の矢印であるので反転し、（ｄ）の状態になる。この時点でグループ化された２つの方向が逆に、またグループ内のフィールドの各順列も逆なる。続いて、（ｅ）のように矢印の順番どおりにフィールドオブジェクトの順列を振り直す。最後に（ｆ）のようにグループ間とグループ内の順列を統合して順列を作り、最終的にフィールドデータの関連付けを新しい順列の順番でこれらフィールド群に設定し直せばよい。
【００６１】
なお、以上説明した順列変換は、テンプレートを出力処理する時点でのテンポラリなデータ変換であり、テンプレートを恒久的に変換してしまうものではない。そのため、テンプレートデータを変更してしまうことなく、必要な場合にのみ実行される。
【００６２】
以上のような処理により、いったん作成されたテンプレートから線対称関係または点対称関係の新たなテンプレートを生成する場合であっても、読み手にとって違和感を与えない可読性のよいレイアウトを効率よく設定することができる。
【００６３】
[第２の実施形態]
第１の実施形態では、単純な例から複雑な例まで、フィールドオブジェクトの順列を変換する手法について説明したが、本実施形態では、第１の実施形態の手法をとったときに生じる他の問題点を解決する手法を示す。
【００６４】
図２３は、テンプレートの対称変換の様子を説明するための図である。そして、図２３に示した横に並んでいる文字列データの入るフィールドオブジェクトだけを取り出した状態を示したのが図２４である。図２４の３つのフィールドオブジェクトでは、それぞれのフィールドオブジェクトのデータサイズを前提に、紙面上の配置サイズを決定している。フィールドオブジェクト２２０１，２２０２よりもフィールドオブジェクト２２０３のほうが多くの文字データを格納している。もし，これらのフィールドオブジェクトを反転すると、たとえば点対称の例では、図２４のフィールドオブジェクト２３０１〜２３０３のようになる。これではフィールドオブジェクト２３０１は多くの余白を含むことになるが、逆にフィールドオブジェクト２３０３はデータが収まりきらず、あふれてしまう。
【００６５】
そこで、図２５に示すように、元のフィールドデータをフィールドオブジェクト２４０１〜２４０３の３つとも文字列として連結して配置したのち、新しい順列で並べたフィールドオブジェクトの面積の割合で分割する。すなわち、フィールドオブジェクト２４０４〜２４０６の領域の分割線のおよその位置で文字列を分割すればよい。なお、フィールドオブジェクトに、公知の技術である文字サイズを自動調整して収める機能を付加すれば、よりよい結果になる。
【００６６】
（文書レイアウト編集装置の機能的構成）
図２６は、第２の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。この文書レイアウト編集装置の全体構成は、図２に示したものと同様である。ただし、フィールドメンバー順序変更部５の機能的構成が、図３に示した各機能部に加え、フィールドサイズ判定部３１と、フィールドデータ組版部３２と、分割部３３と、フィールドデータ挿入部３４と、を備えている。
【００６７】
フィールドサイズ判定部３１は、異なるサイズのフィールドオブジェクトがあるか否かを判定する。フィールドデータ組版部３２は、フィールドオブジェクトのデータの値を取得し、連結して組版する。分割部３３は、フィールドオブジェクトのサイズを順に並んでいるフィールドオブジェクトの面積比率で分割する。フィールドデータ挿入部３４は、分割部３３で分割されたフィールドオブジェクトに文字オブジェクトを挿入する。なお、これらの機能は、図１に示したプロセッサーユニット１３５やメモリユニット１３６により実現できる。
【００６８】
（文書レイアウト編集装置の処理）
以下、第２の実施形態にかかる文書レイアウト編集装置の処理について詳細に説明する。図２７は、本実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。本実施形態では、第１の実施形態の処理に加え、以下の処理を加える。
【００６９】
図２７のフローチャートにおいて、まず、フィールドサイズ判定部３１が、順列のつけられたフィールドの集まりの中で、フィールドオブジェクトのサイズが異なるものがあるか否かを判定する（ステップＳ２５０１）。ここで、フィールドオブジェクトのサイズが異なるものがない場合（ステップＳ２５０１：Ｎｏ）は、処理終了となる。
【００７０】
一方、ステップＳ２５０１においてサイズが異なるフィールドオブジェクトがある場合（ステップＳ２５０１：Ｙｅｓ）、フィールドデータ組版部３２が、対象となる全フィールドオブジェクトのデータの値を取得し、連結して組版する（ステップＳ２５０２）。続いて、分割部３３が、フィールドオブジェクトのサイズを順に並んでいるフィールドオブジェクトの面積比率で分割する（ステップＳ２５０３）。最後に、フィールドデータ挿入部３４が、分割部３３で分割されたフィールドオブジェクトに文字列を挿入する（ステップＳ２５０４）。
【００７１】
以上の処理よって、テンプレートを対称形にした場合に、フィールドオブジェクト間の関連付けを変えることによって、フィールドオブジェクトのサイズとフィールドデータの量とが一致しない場合に、データがはみ出すという不具合を解消できる。
【００７２】
[第３の実施形態]
図２８は、テンプレートの一例を示す図である。この図２８は、図とその図に付随する説明文が配置されているテンプレートを示している。図の左側は、元のテンプレートの状態を示している。右側はそのテンプレートを左右対称に変換した状態を示している。
【００７３】
通常、文字寄せのルールは文書内で統一されているほうが読みやすさが増すため、たとえテンプレートが対称変換されても、文字の寄せは変換しないほうがよいと考えられている。しかし、図２８に示した例では、見やすくするため、図に近い位置に図の説明文が配置されるべきである。しかし、対称変換した後の状態は図と説明文とがオブジェクトの外接矩形としての距離は変わらないものの、データが流し込まれたあとでは図のデータと文字のデータとの見かけの距離が離れてしまうことがある。図２８では、文字フィールドの外接矩形は説明のため点線で表示されているが、実際の出力にはこの外接矩形は表示されないことに注意されたい。
【００７４】
なお、バリアブルプリンティングのテンプレートはできるだけ多くのデータ条件に合わせてテンプレートを作るために、フィールドの外接矩形を多様なフィールドデータ長に合わせて大きめに作るのが通例である。このため、図２８に示したような不具合は、容易に発生しうると考えられる。
【００７５】
そこで、このような不具合を解消するため、本実施形態では、テンプレートの対称変換に連動して、寄せ方向も対称変換するか否かを判定する。
【００７６】
（文書レイアウト編集装置の機能的構成）
図２９は、第３の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。この文書レイアウト編集装置は、図２に示した各機能部に加え、対称変換種別取得部４１と、文字フィールド判定部４２と、文字寄せ属性取得部４３と、対称変換判定部４４と、対称変換部４５と、を備えている。
【００７７】
対称変換種別取得部４１は、テンプレートの対称変換の種別を取得する。文字フィールド判定部４２は、対称変換種別取得部４１が取得したテンプレートの対称変換の種別から、それが文字フィールドか否かを判定する。文字寄せ属性取得部４３は、データ構造から文字寄せ属性を取得する。なお、参照するデータ構造は、たとえば図１３に示したものである。対称変換判定部４４は、文字寄せ属性取得部４３が取得した属性から、文字寄せも対称変換することが必要か否かを判定する。対称変換部４５は、文字寄せ属性取得部４３が取得した属性から、当該文字オブジェクトを対称変換する。なお、これらの機能は、図１に示したプロセッサーユニット１３５やメモリユニット１３６により実現できる。
【００７８】
図３０は、第３の実施形態にかかる文書レイアウト編集装置におけるユーザーインターフェースの一例を示す図である。これは、本実施形態の処理を実行する場合に、表示部９に表示される。
【００７９】
まず、領域２７０１の中に、フィールド内に表示される文字の属性を設定するコントロールが配置されている。具体的には、フォント名の設定２７０３、フォントサイズ２７０４、左右の寄せ方向２７０５、上下の寄せ方向２７０６が設けられている。さらに、図３０において、本実施形態の主要処理である「左右寄せ方向を対称変換するか」否かの指定２７０８、「上下寄せ方向を対称変換するか」否かの指定２７０９が設けられている。なお、当該領域は、「ＯＫ」ボタン２７１１によって設定が適用され、「キャンセル」ボタン２７１１によって設定が取り消される。
【００８０】
（文書レイアウト編集装置の処理）
以下、第３の実施形態にかかる文書レイアウト編集装置の処理について詳細に説明する。図３１は、本実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。本実施形態では、第１の実施形態の処理に加え、以下の処理を加える。
【００８１】
図３１のフローチャートにおいて、まず、対称変換種別取得部４１が、テンプレートの対称変換の種別を取得する（ステップＳ２８０１）。次に、文字フィールド判定部４２が、ステップＳ２８０１で取得したテンプレートの対称変換の種別から、それが文字フィールドか否かを判定する（ステップＳ２８０２）。ここで、対称変換の種別が文字フィールドではない場合（ステップＳ２８０２：Ｎｏ）は、ステップＳ２８０６の処理を実行する。
【００８２】
一方、ステップＳ２８０２において対称変換の種別が文字フィールドである場合（ステップＳ２８０２：Ｙｅｓ）は、文字寄せ属性取得部４３が、データ構造から文字寄せ属性を取得する（ステップＳ２８０３）。なお、参照するデータ構造は、たとえば図１３に示したものである。次に、対称変換判定部４４は、ステップＳ２８０３で取得した属性から、文字寄せも対称変換することが必要か否かを判定する（ステップＳ２８０４）。ここで、文字寄せも対称変換することが不要である場合（ステップＳ２８０４：Ｎｏ）は、ステップＳ２８０６の処理を実行する。
【００８３】
一方、文字寄せも対称変換することが必要である場合（ステップＳ２８０４：Ｙｅｓ）は、対称変換部４５が、ステップＳ２８０３で取得した属性から当該文字オブジェクトを対称変換する（ステップＳ２８０５）。具体的には、対称変換部４５は、テンプレートの変換方向に左右対称が含まれれば左右の寄せを反転し、上下対称が含まれれば上下の寄せを反転する。たとえば、左右の寄せを反転する場合、「左寄せ」だったら「右寄せ」に変換し、上下の寄せを反転する場合「上寄せ」だったら「下寄せ」に変換するという具合である。
【００８４】
最後に、印刷部１０（図２参照）が、フィールドオブジェクトの印刷出力を実行する（ステップＳ２８０６）。具体的には、変換されたテンプレートにおいて、寄せの変換された文字フィールドにフィールドデータの流し込み、当該テンプレートを印刷出力する。
【００８５】
図３２は、変換後に出力されたテンプレートの一例を示す図である。図左側が変換前の状態、図の右側が変換後の状態を示したものである。
【００８６】
以上の処理により、文字の寄せに起因する対称変換時の読みにくさといった不具合を解消することができる。
【００８７】
[第４の実施形態]
第３の実施形態では、ユーザーの明示的な設定により、文字の寄せと対称変換の問題の解決をする手法を示した。本実施形態では、同じ問題をユーザーの指定を受け付けることなく自動的に解決する手法を示す。
【００８８】
一般的に、図とその図に付随する説明文は非常に近い位置に配置される。また、図の説明文は文面をより図に近く配置するために、文字オブジェクトの外接矩形に対しても、文字の寄せがより図のオブジェクトに近くなる方向に設定される傾向にある。
【００８９】
たとえば、図２８の左側の例でいえば、図が文字の左側に存在し、図を説明する文字は、外接矩形の中でもより図に近くなるように左寄せで表示されている。このような「図オブジェクトと文字オブジェクトが非常に近い位置に配置されている」場合を考えてみる。この場合は、「最も図オブジェクトに近い文字オブジェクト」に注目し、その文字オブジェクトが「文字列が図に近くなるように文字寄せ設定されている」かを判定する。そのうえで、テンプレートが対称変換された場合、これら条件を満たす文字オブジェクトの寄せ方向を第３の実施形態と同様の手法で変換すればよい。
【００９０】
（文書レイアウト編集装置の機能的構成）
図３３は、第４の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。この文書レイアウト編集装置は、図２に示した各機能部に加え、対称変換種別取得部４１と、図フィールド判定部５１と、最近傍文字オブジェクト検索部５２と、距離判定部５３と、文字寄せ属性取得部４３と、寄せ方向判定部５４と、対称変換部４５を含む。
【００９１】
対称変換種別取得部４１、文字寄せ属性取得部４３、および対称変換部４５は、第３の実施形態のものと同様である。図フィールド判定部５１は、対称変換種別取得部４１が取得したテンプレートの対称変換の種別から、それが図フィールドか否かを判定する。最近傍文字オブジェクト検索部５２は、レイアウト上、当該図フィールドに最も距離の近い文字オブジェクトを検索する。距離判定部５３は、最近傍文字オブジェクト検索部５２が検索した文字オブジェクトと対象の図フィールドとの距離が所定の閾値以内か否かを判定する。寄せ方向判定部５４は、最近傍文字オブジェクト検索部５２が検索した文字オブジェクトを対象の図フィールドの方向に寄せるべきか否かを判定する。加えて、前記文字オブジェクトを対称変換する方向に寄せるべきか否かを判定する。なお、これらの機能は、図１に示したプロセッサーユニット１３５やメモリユニット１３６により実現できる。
【００９２】
（文書レイアウト編集装置の処理）
以下、第４の実施形態にかかる文書レイアウト編集装置の処理について詳細に説明する。図３４は、本実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。本実施形態では、第１の実施形態の処理に加え、以下の処理を加える。
【００９３】
図３４のフローチャートにおいて、まず、対称変換種別取得部４１が、テンプレートの対称変換の種別を取得する（ステップＳ３００１）。次に、図フィールド判定部５１が、ステップＳ３００１で取得したテンプレートの対称変換の種別から、それが図フィールドか否かを判定する（ステップＳ３００２）。対称変換の種別が図フィールドではない場合（ステップＳ３００２：Ｎｏ）は、ステップＳ３００９の処理を実行する。
【００９４】
一方、ステップＳ３００２において対称変換の種別が図フィールドである場合（ステップＳ３００２：Ｙｅｓ）は、最近傍文字オブジェクト検索部５２が、レイアウト上、当該図フィールドに最も距離の近い文字オブジェクトを検索する（ステップＳ３００３）。次に、距離判定部５３が、ステップＳ３００３で検索した文字オブジェクトと対象の図フィールドとの距離が所定の閾値以内か否かを判定する（ステップＳ３００４）。なお、閾値は固定値だけではなく、たとえば当該ページ中に存在する文字オブジェクトのフォントサイズなどの情報に依存して動的に決定されてもよい。ここで、所定の閾値を超える場合（ステップＳ３００４：Ｎｏ）は、ステップＳ３００９の処理を実行する。なお、ここでは、文字オブジェクトが見つからない場合も、所定の閾値を超えると判断する。
【００９５】
一方、ステップＳ３００４において所定の閾値以内である場合（ステップＳ３００４：Ｙｅｓ）は、文字寄せ属性取得部４３が、データ構造から文字寄せ属性を取得する（ステップＳ３００５）。なお、参照するデータ構造は、たとえば図１３に示したものである。
【００９６】
次に、寄せ方向判定部５４が、ステップＳ３００５取得した属性を参照し、ステップＳ３００３で検索した文字オブジェクトを図フィールドの方向に寄せるべきか否かを判定する（ステップＳ３００６）。たとえば、図２８の左側のような場合、図オブジェクトの外接矩形右端よりも文字オブジェクトの左端が右にある。このような位置関係にあるとき、文字オブジェクトは、左寄せになっていれば図の方向に寄せられていると判定できる。また、上下方向についても同様の判定が可能で、図３５に示すような場合、図の外接矩形下端よりも文字オブジェクト上端が下にある場合、文字オブジェクトは上寄せになっていれば、図の方向に寄せられていると判定できる。ここで、図フィールドの方向に寄せるべきでない場合（ステップＳ３００６：Ｎｏ）は、ステップＳ３００９の処理を実行する。
【００９７】
一方、ステップＳ３００６において図フィールドの方向に寄せるべきである場合（ステップＳ３００６：Ｙｅｓ）は、寄せ方向判定部５４が、前記文字オブジェクトを対称変換する方向に寄せるべきか否かを判定する（ステップＳ３００７）。ここで、前記文字オブジェクトを対称変換する方向に寄せるべきでない場合（ステップＳ３００７：Ｎｏ）は、ステップＳ３００９の処理を実行する。
【００９８】
一方、ステップＳ３００７において文字オブジェクトを対称変換する方向に寄せるべきである場合（ステップＳ３００７：Ｙｅｓ）は、対称変換部４５が、ステップＳ３００５取得した属性を参照し、文字オブジェクトを対称変換する（ステップＳ３００８）。
【００９９】
最後に、印刷部１０（図２参照）が、フィールドオブジェクトの印刷出力を実行する（ステップＳ３００９）。具体的には、変換されたテンプレートにおいて、寄せの変換された文字フィールドにフィールドデータの流し込み、当該テンプレートを印刷出力する。
【０１００】
以上の処理により、属性を参照したテンプレートの変換処理によって、文字寄せに起因する対称変換時の読みにくさを、ユーザーの設定を必要とせず、自動的に解消することができる。
【０１０１】
なお、各実施形態で説明した文書レイアウト編集方法を実現するプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録される。そして、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１０２】
以上のように、本発明にかかる文書レイアウト編集装置、文書レイアウト編集方法、および文書レイアウト編集プログラムは、任意にテンプレート内の位置を指定して、図形や文字列などの描画オブジェクトをテンプレート上に配置する場合に有用である。特に、データベースから取得可能なテキストや画像・図形などの表現データを、ページ上の指定した領域に動的に配置するバリアブルプリンティングにおけるページレイアウト技術において優れた効果が得られる。
【図面の簡単な説明】
【０１０３】
【図１】本発明にかかる文書レイアウト編集装置のハードウェア構成を示すブロック図である。
【図２】第１の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。
【図３】フィールドメンバー順序変更部５の機能的構成を示すブロック図である。
【図４】フィールドオブジェクト情報の管理の際に用いるデータ構成の一例を示す図である。
【図５】オブジェクトリスト２００に格納されるオブジェクト情報の一例を示す図である。
【図６】対称なレイアウトをもつ文書の一例を示す図である。
【図７】テンプレートを対称形に変換することを説明するための図である。
【図８】従来技術の問題点店を説明するための図である。
【図９】従来技術の問題点を説明するための図である。
【図１０】表示部９に表示される操作画面の一例を示す図である。
【図１１】第１の実施形態にかかる文書レイアウト編集装置の処理手順を示すフローチャートである。
【図１２】フィールドオブジェクト８０４の順序設定を説明するための図である。
【図１３】フィールドオブジェクトのデータ構造を示す図である。
【図１４】フィールドメンバー順列の変更処理（ステップＳ１１０５）の手順を示すフローチャートである。
【図１５】テンプレート変換の基本法則を説明するための図である。
【図１６】変換後のフィールドオブジェクトのデータ構造の概要を示す図である。
【図１７】第１の実施形態におけるレイアウト変形例を示す図である。
【図１８】第１の実施形態で変換されるフィールドオブジェクトの概要を示す図である。
【図１９】第１の実施形態で変換されるフィールドオブジェクトの詳細を示す図である。
【図２０】グループ化したフィールドの情報を保持するためのデータ構造を示している。
【図２１】図１９に示したフィールドオブジェクトの組を左右対称に変換する様子を示す図である。
【図２２】図１９に示したフィールドオブジェクトの組を点対称に変換する様子を示す図である。
【図２３】テンプレートの対称変換の様子を説明するための図である。
【図２４】横に並んでいる文字列データの入るフィールドオブジェクトだけを取り出した状態を示した図である。
【図２５】第２の実施の形態の効果を説明するための図である。
【図２６】第２の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。
【図２７】第２の実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。
【図２８】テンプレートの一例を示す図である。
【図２９】第３の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。
【図３０】第３の実施形態にかかる文書レイアウト編集装置におけるユーザーインターフェースの一例を示す図である。
【図３１】第３の実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。
【図３２】変換後に出力されたテンプレートの一例を示す図である。
【図３３】第４の実施形態にかかる文書レイアウト編集装置の機能的構成を示すブロック図である。
【図３４】第４の実施形態にかかる文書レイアウト編集装置の主要な処理手順を示すフローチャートである。
【図３５】第４の実施の形態が解決しようとする課題を説明するための図である。
【符号の説明】
【０１０４】
１  フィールドオブジェクト順序設定部
２  順序設定判定部
３  フィールドメンバー取得部
４  対称変換種別把握部
５  フィールドメンバー順序変更部
【図１】
2010160571.tif 000003
【図２】
2010160571.tif 000004
【図３】
2010160571.tif 000005
【図４】
2010160571.tif 000006
【図５】
2010160571.tif 000007
【図６】
2010160571.tif 000008
【図７】
2010160571.tif 000009
【図８】
2010160571.tif 000010
【図９】
2010160571.tif 000011
【図１０】
2010160571.tif 000012
【図１１】
2010160571.tif 000013
【図１２】
2010160571.tif 000014
【図１３】
2010160571.tif 000015
【図１４】
2010160571.tif 000016
【図１５】
2010160571.tif 000017
【図１６】
2010160571.tif 000018
【図１７】
2010160571.tif 000019
【図１８】
2010160571.tif 000020
【図１９】
2010160571.tif 000021
【図２０】
2010160571.tif 000022
【図２１】
2010160571.tif 000023
【図２２】
2010160571.tif 000024
【図２３】
2010160571.tif 000025
【図２４】
2010160571.tif 000026
【図２５】
2010160571.tif 000027
【図２６】
2010160571.tif 000028
【図２７】
2010160571.tif 000029
【図２８】
2010160571.tif 000030
【図２９】
2010160571.tif 000031
【図３０】
2010160571.tif 000032
【図３１】
2010160571.tif 000033
【図３２】
2010160571.tif 000034
【図３３】
2010160571.tif 000035
【図３４】
2010160571.tif 000036
【図３５】
2010160571.tif 000037