(57)【要約】      （修正有）【課題】帳票エディタでフィールド図形をレイアウトする手間を軽減しつつ、多くの情報を少ない紙面で読みやすく伝達する方法、装置を提供する。【解決手段】フィールド間の相関を計算する相関計算部５０７と、フィールドをフォームの中に配置し、フィールドが配置された各行の隙間を取得する配置部５０５と、この隙間よりも小さい長さの複数の候補フィールドを選択し、前記相関に基づいて前記選択された複数の候補フィールドのうち一つのフィールドを前記隙間に移動させる隙間調整部５０８とを備える。【選択図】図４
2011022852.tif 000002
【特許請求の範囲】
【請求項１】
複数のフィールドをフォームの中に配置するフォーム編集装置であって、
前記複数のフィールドの相関を計算する相関計算手段と、
前記フィールドを前記フォームの中に配置し、前記フィールドが配置された各行の隙間を取得する配置手段と、
前記隙間よりも小さい長さの複数の候補フィールドを選択し、前記相関に基づいて前記選択された複数の候補フィールドのうち一つのフィールドを前記隙間に移動させる隙間調整手段と
を備えたことを特徴とするフォーム編集装置。
【請求項２】
前記隙間調整手段は、どの位置の前記候補フィールドを重視するかを示す重み付け関数を前記相関に乗じた数値に基づいて、前記一つのフィールドを前記隙間に移動させることを特徴とする請求項１記載のフォーム編集装置。
【請求項３】
前記隙間調整手段は、前記複数の候補フィールドの相関または隙間が残らない度合いのいずれかを重視するかを示す重み付け関数を前記相関に乗じた数値に基づいて、前記一つのフィールドを前記隙間に移動させることを特徴とする請求項１記載のフォーム編集装置。
【請求項４】
前記相関計算手段は、前記複数のフィールドの順序および前記フィールドの項目名の単語の類似性に基づいて相関を決定することを特徴とする請求項１記載のフォーム編集装置。
【請求項５】
前記重み付け関数の変更を可能としたことを特徴とする請求項２または３のいずれかに記載のフォーム編集装置。
【請求項６】
前記相関計算手段は、前記複数のフィールドを共通の属性を有するフィールドごとにグループに分け、前記グループごとに前記フィールドの前記相関を決定することを特徴とする請求項１記載のフォーム編集装置。
【請求項７】
複数のフィールドをフォームの中に配置するフォーム編集方法であって、
前記複数のフィールドの相関を計算する工程と、
前記フィールドを前記フォームの中に配置し、前記フィールドが配置された各行の隙間を取得する工程と、
前記隙間よりも小さい長さの複数の候補フィールドを選択し、前記相関に基づいて前記選択された複数の候補フィールドのうち一つのフィールドを前記隙間に移動させる工程と
を備えたことを特徴とするフォーム編集方法。
【請求項８】
請求項７記載のフォーム編集方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォーム編集装置、フォーム編集方法及びコンピュータプログラムに関し、特に、帳票等のフォームの中に複数のフィールドを配置するフォーム編集装置、フォーム編集方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、官庁や会社の帳票を作成するとき、文具メーカーなどが販売している帳簿／伝票や組織が自作した用紙に人間が必要な事項を書き込んでいた。コンピュータが普及すると、コンピュータによって帳票が作成されるようになった。コンピュータの黎明期、帳票出力に必要な、文字・罫線の配置やデザイン、データの取得・検索・解析・計算などの処理はすべてプログラムによって作成されていた。専門技術者（例えば、プログラマー）は帳票の種類の数だけ個別にプログラムを作成しなければならなかったため、帳票の作成に多くのコストがかかっていた。
【０００３】
その後、帳票の見栄えを決定する帳票設計処理と、そこにデータを流し込み印刷する帳票出力処理とが分離された。また、帳票編集ソフトウェア（帳票エディタ）によって、ユーザが帳票の内容をグラフィック画面に表示しマウス操作によって作ることが可能になった。これにより、専門技術者以外でも帳票設計をすることが可能になり、帳票の作成のコストが下がった。
【０００４】
帳票エディタを使って帳票フォームを作るときに最もコストがかかる工程は、帳票の部品（例えば、フィールド図形）を配置する作業と、フィールド図形とデータを関連付ける作業である。コストをさらに下げるために、データ項目を読み込んで自動的にフィールドを配置する技術が存在する。
【０００５】
自動的にフィールドを配置する技術として、最も単純な例としては、データの各項目の属性などからフィールド図形のサイズを推定し、フィールド図形を左上から右方向に並べる。フィールドが右端に達したら、下方向に下がった左端から次のフィールド図形を並べていく技術が知られている。また、繰り返されるデータ項目を見つけたら、それらを表としてまとめる技術が知られている（例えば、特許文献１）。帳票分野以外の画像生成装置の技術として、電子文書中のスペースに、そこより後方の文書の部品（例えば、文字列や画像など）を移動する操作を繰り返して文書全体のページ数を少なくする技術が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１５７９２７号公報
【特許文献２】特開２００６−４８５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のデータ項目を読み込んで自動的にフィールドを配置する技術や特許文献１の技術は、右方に無駄なスペースが空いてしまうという問題があった。すなわち、これらの技術は、無駄なスペースを発生させてしまうため、伝達される情報の量に制限が生じるという問題があった。特許文献２の技術は、文書の部品の内容を考慮することなく部品を移動するため、ある紙面に内容が異なる部品が並ぶ可能性が高くなり、読み手にとって情報を読み取り難くなるという問題があった。
【０００８】
そこで、本発明は、帳票のフォームを編集するフォーム編集装置において、帳票エディタでフィールドをレイアウトする手間を軽減しつつ、多くの情報を少ない紙面で読みやすく伝達することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明は、複数のフィールドをフォームの中に配置するフォーム編集装置であって、前記フィールド間の相関を計算する相関計算手段と、前記フィールドを前記フォームの中に配置し、前記フィールドが配置された各行の隙間を取得する配置手段と、前記隙間よりも小さい長さの複数の候補フィールドを選択し、前記相関に基づいて前記選択された複数の候補フィールドのうち一つのフィールドを前記隙間に移動させる隙間調整手段とを備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、従来の技術に比べ、少ない紙面内に多くの情報が記載され、かつ読みやすい帳票を、少ないコストで作成することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は、本発明の実施形態で使用されるシステムの構成を示す概略図であり、図１（ｂ）は、図１（ａ）に示すＰＣ１０１のハードウェア構成を示すブロック図である。
【図２】ＤＢ１０２のＥＲ図（Entity Relation Diagram）の一部である。
【図３】ＤＢ１０２に格納されるテーブルの例を示す図である。
【図４】帳票エディタ５０１の構成を示すソフトウェアブロック図である。
【図５】帳票エディタ５０１のＧＵＩ画面を示す図である。
【図６】本発明の実施形態の処理を示すフローチャートである。
【図７】図６のＳ７０１においてＤＢから読み込むデータの項目を示す図である。
【図８】グループ検索・設定処理を示すフローチャートである。
【図９】図８の処理前後のフィールド構成の変化を示す図である。
【図１０】データ関連性の計算・設定処理を示すフローチャートである。
【図１１】図１０の処理による相関テーブルの変化を示す図である。
【図１２】集合概念辞書の概念を示す図である。
【図１３】集合概念辞書に対する問い合わせの様子を示す図である。
【図１４】グループ又はページ全体への隙間調整処理を示すフローチャートである。
【図１５】Ｓ１５０７の処理を実行する直前の状態を概念的に示す図である。
【図１６】評価関数の重み付け係数をユーザが設定するためのダイアログである
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
本実施形態では、一例として、会員制インターネット・オークションの運営会社が落札後に品物の配送伝票を出品者の自宅で印刷するシステムを構築する際、帳票設計者がその伝票を帳票エディタを使って新規設計するケースを取り上げる。
図１（ａ）は、本発明のフォーム編集装置が適用されたシステムの一例を示す概略図である。図１（ａ）に示すように、本実施形態のシステムは、パーソナルコンピュータ（以下、ＰＣ）１０１と、データベース（以下、ＤＢ）１０２と、ＰＣ１０１とＤＢ１０２とを接続するＬＡＮ１０３とを備えている。帳票設計者は、ＰＣ１０１を使用して、帳票エディタによって帳票を設計する。ＤＢ１０２は、帳票エディタで帳票フォームを作成する上で必要なデータを格納している。格納されているデータについては、図２において詳細を説明する。ＬＡＮ１０３はＰＣ１０１とＤＢ１０２の間の通信を可能にする。
【００１３】
図１（ｂ）は、図１（ａ）に示すＰＣ１０１のハードウェア構成を示すブロック図である。図１（ｂ）に示すように、ＰＣ１０１において、各部は、システムバス２０１を介して接続されている。ＰＣ１０１は、ＣＰＵ２０２と、プログラム・メモリ（ＰＭＥＭ）２０３と、通信制御部２０４と、外部記憶装置制御部２０８と、入力制御部２１１と、ビデオ・イメージ・メモリ（ＶＲＡＭ）２１４とを備えている。また、ＰＣ１０１は、表示出力制御部２１５と、プリンタ制御部２１７と、外部機器制御部２１９と、画像読み取り機器制御部２２０も備えている。
【００１４】
通信制御部２０４は、通信ポート２０５における入出力データを制御する。通信ポート２０５から出力された信号は、通信回線を経由してネットワーク上の他の装置２０６の通信ポートに送られる。外部記憶装置制御部２０８は、データファイル用のディスクとして、例えばＵＳＢメモリ２０９やハード・ディスク（ＨＤＤ）２１０に対するアクセスを制御する。入力制御部２１１には、キーボード２１２やマウス２１３等の入力装置が接続される。操作者は、この入力装置を操作することによりシステムの動作指令等を行う。
【００１５】
ビデオ・イメージ・メモリ（ＶＲＡＭ）２１４は、表示出力制御部２１５を介してディスプレイ２１６に接続されている。また、ディスプレイ２１６に表示されるデータはＶＲＡＭ１４上にビットマップデータとして展開されている。マウス２１３は、ディスプレイ２１６で画像情報を加工指示するためのポインティング・デバイスである。操作者は、マウス２１３により、ディスプレイ２１６のカーソルをＸ、Ｙ方向任意に移動してコマンドメニュー上のコマンド・アイコンを選択することができる。また、処理の指示、編集対象の指示、描画位置の指示等も行うようになっている。
【００１６】
ＰＭＥＭ２０３は、本実施形態における処理を実行するためのプログラムをハード・ディスク２１０から適宜選択して読み込み、ＣＰＵ２０２がこのプログラムを実行する。ＰＭＥＭ２０３は、キーボード２１２から入力されたデータをコード情報として格納する。なお、本実施形態はＬＡＮなどのネットワークを備えているが、本発明はこれに限定されず、通信制御部２０４に接続される通信ポート２０５及び通信回線が一般の公衆回線であってもよい。
【００１７】
図２は、本実施形態のＤＢ１０２の実体関連図（ＥＲ図、Entity Relation Diagram）の一部である。本実施形態のＤＢ１０２は、オークション情報テーブル３０１と、会員テーブル３０２と、運送情報テーブル３０３と、送付先テーブル３０４とで構成されている。オークション情報テーブル３０１は、実施中又は実施済みのオークションの情報を定義している。この情報のうち、出品者ＩＤと落札者ＩＤと運送方法ＩＤが配送伝票に関係している。
【００１８】
オークション情報テーブル３０１の出品者ＩＤと落札者ＩＤは会員テーブル３０２につながっている。会員テーブル３０２の情報のうち、送付先ＩＤが配送伝票に関連する。運送情報テーブル３０３は、落札後の商品の運送に関する情報を格納している。運送情報テーブル３０３の情報のほとんどが配送伝票に使われる。送付先テーブル３０４は会員が出品又は落札して商品を運送する際に使う住所などの情報を保存している。これらのテーブル中、下線が引いてある項目は主キーである。
【００１９】
図３は、本実施形態のＤＢ１０２に格納されるテーブルの一例としての会員テーブルを示す。会員テーブルにおいて、テーブルの各項目の型と長さが定義されている。後に、データ項目のフィールド図形の幅を決めるときは、この長さが使用される。
図４は、帳票エディタ５０１の構成を示すソフトウェアブロック図である。図４に示すように、帳票エディタ５０１は、ＧＵＩ部５０２と、編集処理部５０３と、オブジェクト保持部５０４と、配置部５０５と、相関計算部５０７と、隙間調整部５０８と、ファイルＩ／Ｏ部５０６とで構成されている。
【００２０】
ＧＵＩ部５０１は、オブジェクト保持部５０４の情報に基づきオブジェクトを表示し、ユーザ入力を編集処理部５０３や配置部５０５に伝える。編集処理部５０３は、ユーザからのオブジェクト追加・削除・変更要求に応じてオブジェクト保持部５０４が持つオブジェクト情報を操作する。オブジェクト保持部５０４は、オブジェクトの情報を保持し、それを各部に提供したり操作させたりする。相関計算部５０７は、二つのデータ項目同士の相関を計算し、決定する。配置部５０５および隙間調整部５０８は、本実施形態の特徴となる自動配置処理を行う。自動配置処理の詳細は後述する。ファイルＩ／Ｏ部５０６は、各部からの要求に基づき、設定ファイル、データファイル、フォームファイル等の読み書きを行う。
【００２１】
ここで、図１（ａ）、図１（ｂ）、図２、図３及び図４との関係を説明する。図４の帳票エディタは初期状態ではＨＤＤ２１０に保存されている。ユーザがキーボード２１２やマウス２１３により帳票エディタの起動を指示すると、ＣＰＵ２０２がＨＤＤ２１０から帳票エディタの実行ファイルを読み、ＰＭＥＭ２０３上に配置する。配置が完了したら、ＣＰＵ２０３は配置した帳票エディタの実行命令群に従い、処理を開始する。ＧＵＩ部５０２は入力制御部２１１やＶＲＡＭ２１４を制御する。
【００２２】
ファイルＩ／Ｏ部５０６は、通信制御部２０４や外部記憶装置制御部２０８を制御し、データの入出力を行う。このとき、図２の各テーブルは、ＤＢ１０２に保存されている。ファイルＩ／Ｏ部５０６による制御によって、帳票エディタはＤＢ１０２へＬＡＮ１０３を介して必要な項目名を指定し、問い合わせを行う。ＤＢ１０２はその要求に応えて内部で一時的に図３のテーブルを構成し、ＰＣ１０１へ返送する。返送されたテーブルはオブジェクト保持部５０４によってＰＭＥＭ２０３上に配置され、帳票エディタの他のモジュールから参照可能な状態になる。
【００２３】
後述する集合概念辞書（図１２および図１３）もファイルとしてＨＤＤ２１０に格納されている。集合概念辞書は巨大なファイルであるため、ＰＭＥＭ２０３は集合概念辞書全体を読み込むことはしない。必要なときだけファイルＩ／Ｏ部５０６がファイルの必要な部分にアクセスし、必要な結果だけを取得する。
【００２４】
図５は、帳票エディタ５０１のＧＵＩ画面を示す図である。帳票エディタ５０１のＧＵＩ画面は、帳票フォームをデザインする領域である描画領域６０１と、コマンドバー６０２と、ツールバー６０３と、フィールド一覧領域６０４とで構成されている。操作者は、描画領域６０１にフィールド図形や静的な図形オブジェクトを配置し、書式、罫線、サイズなどの見栄えを整える。操作者がコマンドバー６０２のボタンを押下することでボタンに応じたコマンドを実行することができる。操作者がツールバー６０３のボタンを押下することで、押下されたボタンに応じた描画要素を描画領域６０１に作画したり着色したりできる。このうち一番右のボタンが本実施形態の特徴部分である自動レイアウト処理を実行するボタンである。
【００２５】
フィールド一覧領域６０４は、外部ファイルやＤＢから読み込んだデータ項目を「フィールド」という名称のオブジェクトとして一覧的に表示する。操作者は、これらのオブジェクトを描画領域６０１にドラッグ・アンド・ドロップすれば、手動でフィールド図形が作成できる。
【００２６】
図６は、本実施形態の処理を示すフローチャートである。操作者がコマンドバー６０２の最右のボタンを押下すると処理が始まる。まず、操作者が指定したデータソース（外部ファイルやＤＢ）から、編集処理部５０３が、データ項目を取り込み、それらをフィールドとして分解し、メモリ上に格納する（Ｓ７０１）。メモリ上に格納したフィールドの中から、編集処理部５０３は、グループとなるフィールド群を検索し、検索したフィールドに特定のグループに属していることを示す識別子を割りあてる（Ｓ７０２）。相関計算部５０７は、データ間の相関を計算し、それを相関テーブルに格納する（Ｓ７０３）。この相関テーブルは後の隙間調整処理に利用される。そして、相関計算部５０７は、各フィールドのデータ長を推測し、推測値をデータ長として設定する（Ｓ７０４）。ＣＳＶファイルからデータ項目を取り込んだ場合は、相関計算部５０７は、追加的にサンプルデータを読み込んで、読み込んだサンプルデータの最大長からデータ長を推定してもよい。本実施形態では、ＤＢからデータ項目を取り込んでいるため、データ長が既に分かっている。そのため、相関計算部５０７は、特別な推測処理をすることなく、ＤＢのデータ長をそのままフィールドのデータ長に設定する。
【００２７】
次いで、配置部５０５は、暫定的にフィールド図形をフォームの中に配置する（Ｓ７０５）。まず、配置部５０５は、同一グループのフィールドが連続するようにフィールドをソートする。次に、配置部５０５は、フィールドの順序どおりに描画領域の紙面の左上から水平方向にフィールド図形を詰めて配置し、行末まで来たら改行し、次の行からフィールド図形を詰めていく。配置部５０５は、これを繰り返して暫定的な配置を行う。次に、隙間調整部５０８は、各グループ内での隙間を詰め（Ｓ７０６）、ページ全体に対する隙間を詰める（Ｓ７０７）。どちらの処理手順もほぼ同等なので、後でまとめて詳細を説明する。
【００２８】
図７は、図６のＳ７０１においてＤＢから読み込むデータ項目を示す図である。帳票エディタはＤＢに対してＳＱＬ文を発行することで、テーブルを望ましい形に結合し習得する。この例では、帳票エディタは、ＳＱＬによって出品者を差出人に置換し、落札者を受取人に置換する。
図８は、グループ検索・設定処理を示すフローチャートである。まず、編集処理部５０３は、各フィールドにおけるデータ項目名であるフィールド名を順に検索していき、先頭の数文字が一致するフィールドを探す（Ｓ９０１）。そして、編集処理部５０３は、一致したフィールド群に一致した文字列をグループＩＤとして与える（Ｓ９０２）。編集処理部５０３は、同一グループＩＤを持つフィールドのフィールド名から、一致する先頭の文字列を削除する（Ｓ９０３）。
【００２９】
フィールド名は静的な文字列として帳票上に記載されるので、Ｓ９０３の処理はスペースの節約に役立っている。ここで、「静的な」とは、ここでは「データを流し込む部分を持たない」ということを意味する。例えば、本実施形態において、「受取人住所」は、帳票を作成するときに、データを取得し、その都度実際の住所部分の文字が変わるが、グループを示す「受取人」のフィールドの文字は常に一定である。これを「静的」と定義する。後に自動配置するときにグループを分かりやすく表示するために、編集処理部５０３は、新たに帳票内の左上方に静的なフィールドを追加し、グループＩＤと同じフィールド名とする（Ｓ９０４）。そして、ＧＵＩ部５０２は、表示属性に基づく枠を表示する（Ｓ９０５）。
【００３０】
図９は、図８のＳ９０１からＳ９０４におけるグループ検索・設定処理前後のフィールド構成の変化を示す図である。上の表が処理前の状態を示し、下の表が処理後のフィールド構成を示している。下の表では、グループＩＤが共通の属性として追加され、フィールド名から一致部分が削除され、グループを表す静的なフィールドが追加されている。
【００３１】
図１０は、データ関連性の計算・設定処理を示すフローチャートである。まず、相関計算部５０７は、二つのフィールド間のデータ項目同士の相関を格納するテーブルを作成する（Ｓ１１０１）。図１１は、Ｓ１１０１の処理で作成したテーブルの一例を示す図である。相関計算部５０７は、フィールドの順序が近い２個のデータは関連が高いと推定して相関度を与える（Ｓ１１０２）。相関計算部５０７は、テーブル上の各データ２個からなる組のそれぞれについて、集合概念辞書に類似性を問い合わせ、類似性があれば相関を与える（Ｓ１１０３）。図１１は、データ関連性の計算・設定処理による相関テーブルの変化を示しており、受取人グループのデータ項目に対するテーブルを示す。具体的には、テーブル１２０１は、Ｓ１１０１の処理で作成されたテーブルである。テーブル１２０１では、すべての相関は０に初期設定されている。テーブル１２０２は、Ｓ１１０２の処理により順序の近いフィールドに相関が与えられた後のテーブルである。テーブル１２０３は、Ｓ１１０３の処理によって相関があると認められた、郵便番号−住所のフィールドの組に相関が与えられた様子を示すテーブルである。
【００３２】
図１２は、集合概念辞書の概念を示す図である。集合概念辞書は親ノード１３０２のような、より広く抽象的な概念の単語と、子ノード１３０３及び孫ノード１３０４のような、より狭く具体的な単語とのツリー構造の集合で構成されている。
図１３は、集合概念辞書に対する問い合わせの様子を示す図である。図１３に示すように、問い合わせは２個の単語をペアにして行われる。問い合わせパラメータであるペアの単語が集合概念辞書内で親子ノード又は兄弟ノードで発見されれば、類似ありとして回答がある。問い合わせ１４０１のケースでは、住所、氏名はツリー１３０５内で兄弟ノードになっているので、類似ありとなる。一方、問い合わせ１４０２のケースでは、いずれのツリーにも住所、電話番号のペアが親子ノード又は兄弟ノードで存在しないので、類似なしとなる。
【００３３】
図１４は、グループ又はページ全体への隙間調整処理を示すフローチャートである。まず、隙間調整部５０８は、現在隙間調整処理をしている位置（以下「着目行」と呼ぶ）を表す変数を最上行に設定する（Ｓ１５０１）。次いで、隙間調整部５０８は、着目行を一行ずつ下にずらしながら繰り返し処理をしていき、最下行に達したら処理を終了する（Ｓ１５０２）。すなわち、着目行は、処理がされていない帳票の最上段の行ということになる。
【００３４】
隙間調整部５０８は、着目行の右方のスペース（隙間）の長さを取得する（Ｓ１５０３）。隙間調整部５０８は、スペースの長さより小さい長さを持つ候補フィールド図形を着目行よりも下から検索する（Ｓ１５０４）。隙間調整部５０８は、候補フィールド図形を発見した場合は、Ｓ１５０７〜Ｓ１５０９の最良フィールド図形選択ルーチンを実行する（Ｓ１５０５）。候補フィールド図形を発見しなかった場合は、その着目行のスペースを埋めることができないため、Ｓ１５０６に進む（Ｓ１５０５）。隙間調整部５０８は、着目行を一つ下にずらす（Ｓ１５０６）。
【００３５】
該当図形が発見されなかった場合、隙間調整部５０８は、後述する評価関数を使いＳ１５０４で発見した候補フィールド図形に対し、一つずつスコアを計算する（Ｓ１５０７）。隙間調整部５０８は、Ｓ１５０７で計算したうち最良のフィールド図形を着目行右方のスペースに移動する（Ｓ１５０８）。隙間調整部５０８は、移動したフィールド図形の後のスペースを単純に左詰めで詰める（Ｓ１５０９）。この処理は、ページ又はグループの最下行まで繰り返し行われ（Ｓ１５１０）、処理は終了する。
【００３６】
以下の数式は、各候補フィールドのスコアを導き出す評価関数の一例を示す。先に計算したデータ相関テーブルと、スペースの長さを使い、スコアを導いている。評価関数Ｈは、以下の数式で表される。
Ｈ＝（１−ａ）×Ｔａｂｌｅ（ｉ，ｋ）＋ａ×Ｔａｂｌｅ（ｊ，ｋ）−ｂ×（ｗ−ｗｋ）
ｉ：着目スペース左方のフィールド図形番号
ｊ：着目スペース上方のフィールド図形番号
ｋ：候補フィールド図形番号
ａ：重み付け係数（左方ｖｓ上方）
ｂ：重み付け係数（相関ｖｓ充填度）
Ｔａｂｌｅ（ｉ，ｋ）：ｉ番、ｋ番のフィールド図形間の相関度合
Ｔａｂｌｅ（ｊ，ｋ）：ｊ番、ｋ番のフィールド図形間の相関度合
ｗ：着目スペースの長さ
ｗｋ：候補フィールドの長さ
【００３７】
図１５（ａ）を参照して、本実施形態における隙間調整処理の一例を説明する。図１５（ａ）は、一つのグループだけが存在する場合の処理結果の一例である。一つのグループだけが存在するため、図６のＳ７０６の処理がスキップされ、Ｓ７０７の処理が行なわれる。以下、Ｓ７０７の処理を詳細に説明する。
【００３８】
図１５（ａ）において、フィールド（５）、（６）の存在する行が「着目行」である。フィールド（６）の右方が「着目スペース」である。したがって、着目スペースの長さが上記の数式のｗにあたる。着目スペース左方のフィールドは（６）であるので、ｉ＝６である。同様に着目スペース上方のフィールドは（４）であるので、ｊ＝４である。また、着目行より下方にあり、かつ着目スペースの長さより短い長さのフィールドとして、フィールド（９）及び（１１）が候補フィールドとなっている。したがって、評価関数Ｈは、ｋ＝９の場合及びｋ＝１１の場合の２回計算され、計算された二つのスコアを基に着目スペースに移動すべき一つのフィールドを選択する。
【００３９】
以下の説明では、分かりやすさのため、ｋ＝９の場合について説明する。評価関数内のＴａｂｌｅ（ｉ，ｋ）＝Ｔａｂｌｅ（６，９）は、左方フィールド（６）と候補フィールド（９）の相関の先をテーブルに基づき求めるものである。同様に、Ｔａｂｌｅ（ｊ，ｋ）＝Ｔａｂｌｅ（４，９）は上方フィールド（４）と候補フィールド（９）の相関を求めるものである。重み付け係数ａは、左方と上方のどちらの相関を重視するかを表す係数である。ａ＜０．５であれば、左方を重視していることになる。（ｗ−ｗｋ）＝（ｗ−ｗ９）は着目スペースにフィールド図形（９）を移動した後に、どの程度のスペースがまだ残るかを示す。スペースが残れば残るほどスコアは悪くなるべきなので、（ｗ−ｗｋ）＝（ｗ−ｗ９）はマイナス項となっている。重み付け係数ｂは、相関の強さとスペースが残らない度合いのどちらを重視するかを示す。重み付け係数ａ、ｂはともに常に正又は零であり、負になることはない。
【００４０】
図１５（ｂ）は、複数グループを有する帳票データの処理結果の一例を示す図である。図６では、図８、図９で説明したように、Ｓ７０２（Ｓ９０１）において、受取人というグループ、差出人というグループ、受取物というグループが検出される。それぞれ共通部分（受取人、差出人、受取物）が静的なフィールド１７０１に対して配置される。このとき、共通部分（受取人、差出人、受取物）は他のフィールドと異なる色で表示しても良い。
【００４１】
なお、Ｓ９０４では、表示属性が格納される。すなわち、図１５（ｂ）に示すように、グループごとに例えば赤枠や点線の枠等でフィールド図形を囲んで表示し、表示属性に基づく枠の表示をフィールド図形ごと又はグループごとに異なるように設定する。なお、この枠は印刷されないが、ユーザからの要求に応じて印刷される設定にしてもよい。
図１５（ｂ）に示す例は、１ページについて隙間調整処理を行った例であるが、複数ページに対して隙間調整処理を行うこともできる。すなわち、複数ページに対して図１４の隙間調整処理が行われ、その後、各ページ内において図１４の隙間調整処理が行われるようにしてもよい。
【００４２】
次に、上記数式の評価関数の係数等について、具体的な数値例を以下に示す。一般的なＡ４用紙の有効印刷幅は１９０ｍｍ程度である。いくつかの帳票を実測した結果、フィールドの長さの中央値は７０ｍｍ程度である。３０ｍｍより小さいフィールドはほとんどないので、これをフィールドの長さの最小値と仮定する。Ｔａｂｌｅ（ｘ，ｙ）は、図１１に示すとおり、０〜８の値をとりうる。ここで、説明を簡易化するため、左方フィールドと上方フィールドとの相関の重みを等しい、つまり、ａ＝０．５と仮定する。この場合、評価関数の第一項と第二項の和、（１−ａ）×Ｔａｂｌｅ（ｉ，ｋ）＋ａ×Ｔａｂｌｅ（ｊ，ｋ）は０〜８の値をとりうる。
【００４３】
したがって、複数の候補フィールドの評価関数の第一項と第二項の和は、最大で８の差となる。この場合、非常に相関が高いフィールドと、非常に相関が低いフィールドが比較されているが、原則として、できる限り相関が高いフィールドを移動させるべきである。右方に余る長さの差が少なくともフィールドの長さの最小値３０ｍｍより小さければ、相関が高いものを移動させる。したがって、第三項の影響を弱めるように、ｂを小さく規制する。すなわち、一例として、ｂを０．２６７（≒８／３０）より小さく設定する。
【００４４】
逆に、複数の候補フィールドの評価関数の第一項と第二項の和の最小の差は１である。この程度しか相関に差がない場合、右方に余る長さの差として、３０ｍｍも許容するのは無理がある。したがって、第三項の影響力を強めるように、ｂを大きくする。すなわち、ｂを０．０３３（≒１／３０）より大きく設定する。以上より、ｂの範囲は０．０３３〜０．２６７程度が妥当である。
一方、ａは、そもそも０〜１の範囲である。ただし、仮にａ＝０．０１とすると、（１−ａ）＝０．９９となり、左方フィールドと上方フィールドの重み付けの差は約１００倍となる。Ｔａｂｌｅの最大値が８であることを鑑みると、双方が影響を与えられる適当な範囲は、重み付けの差が４倍程度に収まる０．２〜０．８が適当である。
【００４５】
図１６は、評価関数の重み付け係数をユーザが設定するためのダイアログを示す。スライダコントロール１８０１は、ｂを調整するための手段である。スライダコントロール１８０１のつまみを左に動かすと、ｂは０に近づき、右に動かすと、ｂは大きな正の数になる。スライダコントロール１８０２はａを調整するための手段である。スライダコントロール１８０２のつまみを左に動かすとａは０に近づき、右に動かすとａは１に近づく。
本発明によれば、帳票エディタによって、少ない紙面で、読み手にとって読みやすく、手間を軽減しつつ、フィールド図形をレイアウトすることが可能になる。なお、本実施形態では、帳票について本発明を適用した場合の一例について説明したが、複数の肩書きを記載する名刺のレイアウト処理等のように、複数の項目を所定の用紙に配置して表示するものであれば本発明を適用することが可能である。
【００４６】
本発明の各工程は、ネットワーク又は各種記録媒体を介して取得したソフトウェア（コンピュータプログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ、プロセッサ）にて実行することで実現することでもできる。また、本発明の実施形態では、使用ファイルとして、ＣＳＶファイルを適用しているが、それに限定されることはなく、表形式のデータを表現できるものなら適用可能である。具体的には、ＭｉｃｒｏｓｏｆｔのＥＸＣＥＬ（登録商標）などが適用可能である。
【符号の説明】
【００４７】
５０１  帳票エディタ
５０３  編集処理部
５０５  配置部
５０７  相関決定部
５０８  隙間調整部
【図１】
2011022852.tif 000003
【図２】
2011022852.tif 000004
【図３】
2011022852.tif 000005
【図４】
2011022852.tif 000006
【図５】
2011022852.tif 000007
【図６】
2011022852.tif 000008
【図７】
2011022852.tif 000009
【図８】
2011022852.tif 000010
【図９】
2011022852.tif 000011
【図１０】
2011022852.tif 000012
【図１１】
2011022852.tif 000013
【図１２】
2011022852.tif 000014
【図１３】
2011022852.tif 000015
【図１４】
2011022852.tif 000016
【図１５】
2011022852.tif 000017
【図１６】
2011022852.tif 000018