(57)【要約】【課題】  簡単な操作により、オブジェクトを表形式に整列して表示する。【解決手段】画面上でオブジェクトを編集する編集装置であって、利用者から入力された内容をオブジェクトとして画面上に表示するオブジェクト入力表示部と、オブジェクト入力表示部により表示された複数のオブジェクトのうち第１のオブジェクトの外形を、第２のオブジェクトと重ならない範囲で伸張させることにより、第１のオブジェクトの少なくとも一つの辺を第２のオブジェクトの一辺又は当該一辺の延長線に重ねるオブジェクト伸張部とを備える編集装置を提供する。【選択図】図１
2006107268.tif 000002
【特許請求の範囲】
【請求項１】
画面上でオブジェクトを編集する編集装置であって、
利用者から入力された内容を前記オブジェクトとして画面上に表示するオブジェクト入力表示部と、
前記オブジェクト入力表示部により表示された複数の前記オブジェクトのうち第１の前記オブジェクトの外形を、第２の前記オブジェクトと重ならない範囲で伸張させることにより、前記第１のオブジェクトの少なくとも一つの辺を前記第２のオブジェクトの一辺又は当該一辺の延長線に重ねるオブジェクト伸張部と
を備える編集装置。
【請求項２】
前記オブジェクト入力表示部は、各々が表のセルに表示すべき内容を含む前記複数のオブジェクトを前記画面上に表示し、
前記オブジェクト伸張部は、前記第１のオブジェクトの外形を伸張させることにより、前記第１のオブジェクトに対応するセルと前記第２のオブジェクトに対応するセルとが整列した表を前記画面上に作成する
請求項１記載の編集装置。
【請求項３】
表を表示すべき画面上の領域として予め定められた表示用領域のうち、前記オブジェクト伸張部により整列された各オブジェクトに対応するセルが表示されている領域以外の領域に、表示すべき内容を含まない空白セルを表示する空白セル配置部を更に備える
請求項２記載の編集装置。
【請求項４】
前記オブジェクト入力表示部が利用者から新たにオブジェクトの操作を受ける毎に、既存の複数のオブジェクトの各々に対し、前記オブジェクト伸張部がオブジェクトを伸張させた結果作成される表の完成イメージを画面上に表示するプレビュー表示部を更に備え、
前記オブジェクト伸張部は、表の作成指示を利用者から受けた場合に、前記複数のオブジェクトの各々を伸張させることにより、前記作成指示を受けた時点で前記プレビュー表示部により表示されている表を作成する
請求項２記載の編集装置。
【請求項５】
前記オブジェクト入力表示部は、前記複数のオブジェクトを、前記第１のオブジェクト及び前記第２のオブジェクトの間に余白を空けて表示し、
前記オブジェクト伸張部は、前記第１のオブジェクトの外形を伸張させることにより、前記第１のオブジェクトの少なくとも一つの辺を、前記第２のオブジェクトの何れかの辺に外接させる
請求項１記載の編集装置。
【請求項６】
前記オブジェクト入力表示部は、前記複数のオブジェクトとして、互いに縦方向及び横方向を同一とする複数の長方形を表示し、
前記オブジェクト伸張部は、前記第１のオブジェクトを縦方向及び横方向の少なくとも一方に伸長させる
請求項１記載の編集装置。
【請求項７】
前記画面上に表示しているオブジェクトの頂点の座標を格納する頂点座標格納部を更に備え、
前記オブジェクト伸張部は、前記頂点座標格納部に格納された頂点の座標を変更することにより前記オブジェクトの外形を伸張させる
請求項６記載の編集装置。
【請求項８】
前記オブジェクト入力表示部は、前記画面上の座標軸と平行な辺を有する複数の長方形を、前記複数のオブジェクトとして表示し、
前記オブジェクト伸張部は、何れかの前記オブジェクトの外形を伸張させることにより、上下方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の左辺を、当該複数のオブジェクトの何れかの左辺の延長線に重ねる左辺伸張整列処理を行う
請求項１記載の編集装置。
【請求項９】
前記オブジェクト伸張部は、上下方向を示す座標軸と平行な直線上に配列されている複数のオブジェクトの各々の全体が、他のオブジェクトの右端よりも右側に表示されていることを条件として、当該複数のオブジェクトについて前記左辺伸張整列処理を行う
請求項８記載の編集装置。
【請求項１０】
前記オブジェクト伸張部は、前記左辺伸張整列処理として、何れかの前記オブジェクトの外形を伸張させることにより、当該複数のオブジェクトのうち左辺が最も左側にあるオブジェクトの左辺の延長線に、当該複数のオブジェクトのうち他のオブジェクトの左辺を重ねる
請求項９記載の編集装置。
【請求項１１】
前記オブジェクト伸張部は、前記左辺伸張整列処理を行った場合に、更に、当該複数のオブジェクトの何れかよりも全体が左側に表示されている各オブジェクトの外形を伸張させることにより、伸張させた当該オブジェクトの右辺を、当該複数のオブジェクトの何れかの左辺、又は、当該左辺の延長線に重ねる右辺伸張連接処理を行う
請求項８記載の編集装置。
【請求項１２】
前記オブジェクト伸張部は、各オブジェクトが横書きの文字列を含む場合に、前記左辺伸張整列処理を行い、各オブジェクトが縦書きの文字列を含む場合に、上下方向を示す座標軸と平行な直線上に配列されている複数のオブジェクトの各々の右辺を、当該複数のオブジェクトの何れかの右辺の延長線に重ねる右辺伸張整列処理を行う
請求項８記載の編集装置。
【請求項１３】
前記オブジェクト伸張部は、前記右辺伸張整列処理を行った場合に、更に、当該複数のオブジェクトの何れかよりも全体が右側に表示されている各オブジェクトの外形を伸張させることにより、伸張させた当該オブジェクトの左辺を、当該複数のオブジェクトの何れかの右辺、又は、当該右辺の延長線に重ねる左辺伸張連接処理を行う
請求項１２記載の編集装置。
【請求項１４】
前記オブジェクト入力表示部は、前記画面上の座標軸と平行な辺を有する複数の長方形を、前記複数のオブジェクトとして表示し、
前記オブジェクト伸張部は、何れかの前記オブジェクトの外形を伸張させることにより、左右方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の上辺を、当該複数のオブジェクトの何れかの上辺の延長線に重ねる上辺伸張整列処理を行う
請求項１記載の編集装置。
【請求項１５】
前記オブジェクト伸張部は、前記上辺伸張整列処理を行った場合に、更に、当該複数のオブジェクトの何れかよりも全体が上側に表示されている各オブジェクトの外形を伸張させることにより、伸張させた当該オブジェクトの下辺を、当該複数のオブジェクトの何れかの上辺、又は、当該上辺の延長線に重ねる右辺伸張連接処理を行う
請求項１４記載の編集装置。
【請求項１６】
画面上でオブジェクトを編集する編集装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
利用者から入力された内容を前記オブジェクトとして画面上に表示するオブジェクト入力表示部と、
前記オブジェクト入力表示部により表示された複数の前記オブジェクトのうち第１の前記オブジェクトの外形を、第２の前記オブジェクトと重ならない範囲で伸張させることにより、前記第１のオブジェクトの少なくとも一つの辺を前記第２のオブジェクトの一辺又は当該一辺の延長線に重ねるオブジェクト伸張部と
して機能させるプログラム。
【請求項１７】
コンピュータにより、画面上でオブジェクトを編集させる編集方法であって、
利用者から入力された内容を前記オブジェクトとして画面上に表示するオブジェクト入力表示段階と、
前記オブジェクト入力表示段階において表示された複数の前記オブジェクトのうち第１の前記オブジェクトの外形を、第２の前記オブジェクトと重ならない範囲で伸張させることにより、前記第１のオブジェクトの少なくとも一つの辺を前記第２のオブジェクトの一辺又は当該一辺の延長線に重ねるオブジェクト伸張段階と
を備える編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、編集装置、編集方法、及びプログラムに関する。特に、本発明は、画面上に表示されたオブジェクトを整列する編集装置、編集方法、及びプログラムに関する。
【背景技術】
【０００２】
ワープロ資料、プレゼンテーション資料において表作成は重要な作業である。また、ウェブ・ページを作成する際にも、枠線を表示しない表を用いてコンテンツのレイアウトを定める手法が広く用いられている。このように、表作成の用途は広く、様々なアプリケーション・プログラムにより表作成が可能となっている。例えば、従来、表作成の基本的な方法として、まず最初に表の構造（行・列の個数、セルの大きさ）を決めてテーブルを作成してから、コンテンツを作成する方法が用いられている。
【０００３】
しかしながら、複雑な構造を持つ表を作成する場合には、このような方法では以下の点が問題となる。第１に、複雑な構造の表においては、コンテンツの作成に先立って行・列数を指定することが困難で、後から行・列を追加・削除しなければならない場合が多い。第２に、特別なカスタマイズをせずにデフォルト状態の設定で表を作成してしまうと、行・列に含まれるセル数が一定であることが多く、このため、セルの結合・分割の操作が必要となってしまう。このため、構造が複雑な表を作成する作業を支援する技術が望まれている。
【０００４】
これに対して、従来、表の構造についての複数の雛形を記号体系に対応付けて予め定めておき、入力された記号列に基づいて順次雛形を適用して表を作成する技術が提案されている（特許文献１参照。）。このツールによれば、記号の取り扱いに熟練すれば、複雑な表の作成が容易となる。また、行及び列が入れ子となった表の雛形を、その入れ子構造を示す木構造として予め管理しておき、利用者から指定された雛形に基づいて、表を作成する技術が提案されている（特許文献２参照。）。この技術によれば、雛形が木構造で管理されているので、比較的構造が複雑な表の管理が容易となる。
【０００５】
また、文字列と文字列の間に、罫線を示す特別な文字（仮罫線）を入力しておくと、仮罫線同士が接続されて表の枠に変換される技術が提案されている（特許文献３参照。）。この技術によれば、各セルに入力される内容を予測して罫線を作成しなくとも、各セルに表示すべき内容に基づいて罫線が作成されるので、表の作り直し等が減って作業能率を向上できる。また、従来、編集画面に表示されたオブジェクトに基づいて、そのオブジェクトをセルとした表を示すＨＴＭＬファイルを作成するウェブ・ページ作成の支援ツールが知られている。このツールによれば、利用者が配置したオブジェクトの位置がそっくりそのまま保持されるので、直感的な画像編集が可能となる。
【０００６】
【特許文献１】特開平１０−１１５１４号公報
【特許文献２】特開平１０−２３２９００号公報
【特許文献３】特開平１０−１８７６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、記号体系の習熟は容易とはいえず、コンピュータの操作に熟練した者であっても取り扱いに苦慮することが予想される。また、特許文献２の技術では、必要な雛形を適切に選択するために、比較的多くの操作が必要である。また、特許文献３の技術では、作成された表の構造が、利用者が想定していた構造と一致しない場合も多い。
【０００８】
また、ウェブ・ページ作成支援ツールにおいて、複数のオブジェクトを自由に配置した場合には、表の構造が予想以上に複雑となり、ＨＴＭＬファイルのデータサイズが不用意に増加してしまう場合がある。例えば、同一の行に配置すべき複数のオブジェクトを、列方向に僅かにずらして配置してしまった場合には、それらのオブジェクトを互いに異なる行とした表が作成されてしまう。このため、ＨＴＭＬファイルの読み込みが遅くなり、閲覧者に対する印象が悪くなってしまうことが予想される。
【０００９】
一方、同一の行に配置すべき複数のオブジェクトを、厳密に同一の行に配置しようとすれば、利用者の作業負担が増加してしまう。オブジェクトの配置位置を所定の格子点のみに制限するグリッド線を用いることも考えられるが、その場合、グリッド線をどこに設定すべきか判断するのは容易ではないし、レイアウトの自由度も低下してしまう。
【００１０】
そこで本発明は、上記の課題を解決することのできる編集装置、編集方法、及びプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の形態においては、画面上でオブジェクトを編集する編集装置であって、利用者から入力された内容をオブジェクトとして画面上に表示するオブジェクト入力表示部と、オブジェクト入力表示部により表示された複数のオブジェクトのうち第１のオブジェクトの外形を、第２のオブジェクトと重ならない範囲で伸張させることにより、第１のオブジェクトの少なくとも一つの辺を第２のオブジェクトの一辺又は当該一辺の延長線に重ねるオブジェクト伸張部とを備える編集装置を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１２】
本発明によれば、簡単な操作により、オブジェクトを表形式に整列して表示することができる。
【発明を実施するための最良の形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、編集装置１０の構成を、機能ブロックに分類して示す。編集装置１０は、利用者が入力して画面上に表示された複数のオブジェクトを、利用者に煩雑な操作を要求することなく、表形式に整列して表示することを目的とする。編集装置１０は、オブジェクト入力表示部１００と、頂点座標格納部１１０と、オブジェクト伸張部１２０と、空白セル配置部１３０と、プレビュー表示部１４０とを備える。
【００１５】
オブジェクト入力表示部１００は、キーボード又はマウス等の操作により、表の各セルに表示すべき内容を、利用者により入力させる。そして、オブジェクト入力表示部１００は、利用者から入力された内容を含む長方形の領域を、予め定められた編集画面上に、オブジェクトとして表示する。頂点座標格納部１１０は、編集画面上に表示しているオブジェクトの各頂点の座標を格納している。
【００１６】
オブジェクト伸張部１２０は、表の作成指示を利用者から受けた場合に、オブジェクト入力表示部１００により表示された複数のオブジェクトのうち第１のオブジェクトの外形を、第２のオブジェクトと重ならない範囲で伸張させる。具体的には、オブジェクト伸張部１２０は、頂点座標格納部１１０に格納された頂点の座標を変更することにより各オブジェクトを縦方向又は横方向の少なくとも一方に似伸張させる。また、オブジェクト伸張部１２０は、各頂点の座標を比較することによりオブジェクトの重なりを判断する。そして、オブジェクト伸張部１２０は、第１のオブジェクトの外形を伸張させることにより、第１のオブジェクトの少なくとも一つの辺を第２のオブジェクトの一辺又はその一辺の延長線に重ねる。
【００１７】
具体的には、オブジェクト伸張部１２０は、第１のオブジェクトの外形を伸張させることにより、第１のオブジェクトの少なくとも一つの辺を、第２のオブジェクトの何れかの辺に外接させる。また、オブジェクト伸張部１２０は、編集画面上の上下方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の左辺を、これら複数のオブジェクトの何れかの左辺の延長線に重ねる左辺伸張整列処理を行ってもよい。この結果、オブジェクト伸張部１２０は、第１のオブジェクトに対応するセルと第２のオブジェクトに対応するセルとが整列した表を編集画面上に表示することができる。
【００１８】
空白セル配置部１３０は、表を表示すべき画面上の領域として予め定められた表示用領域のうち、オブジェクト伸張部１２０により整列された各オブジェクトに対応するセルが表示されている領域以外の領域に、表示すべき内容を含まない空白セルを表示する。プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たにオブジェクトの操作を受ける毎に、既存の複数のオブジェクトに対し、オブジェクト伸張部１２０が伸張を行った結果作成される表の完成イメージを、プレビュー画面上に表示する。この場合、空白セル配置部１３０は、表の完成イメージに更に空白セルを含めて表示させてもよい。
【００１９】
ここで、オブジェクト入力表示部１００が利用者から受ける操作とは、例えば、オブジェクトとして表示すべき内容の入力を受けて新たにオブジェクトを配置する操作である。これに加えて、オブジェクト入力表示部１００が利用者から受ける操作とは、既に入力され配置されている既存のオブジェクトを画面上で移動させる操作であってもよいし、既に入力され配置されている既存のオブジェクトの外形を変形させる操作であってもよい。
【００２０】
図２は、編集装置１０の動作フローを示す。編集装置１０は、利用者から何らかの操作を受ける毎に、或いは、当該操作に関わらず定期的に、以下の処理を行う。オブジェクト入力表示部１００は、表の各セルに表示すべき内容（例えば文字列）が、利用者から入力された場合に（Ｓ２００：ＹＥＳ）、入力された文字列をオブジェクトとして表示する（Ｓ２１０）。そして、プレビュー表示部１４０は、オブジェクトの編集処理により、表の完成イメージを作成し（Ｓ２２０）、プレビュー画面上に表示する（Ｓ２３０）。
【００２１】
次に、オブジェクト伸張部１２０は、表の作成指示を利用者から受けた場合に（Ｓ２４０：ＹＥＳ）、オブジェクトの編集処理により、画面上に表示されている複数のオブジェクトを整列させる（Ｓ２５０）。即ち、オブジェクト伸張部１２０は、各オブジェクトを伸張させることにより、表の作成指示を受けた時点でプレビュー表示部１４０によりプレビュー画面上に表示されている表を作成し、編集画面上に表示する。
【００２２】
図３は、オブジェクト伸張部１２０がオブジェクトを編集する処理の詳細を示す。オブジェクト伸張部１２０は、各オブジェクトの左端及び右端のＸ座標、並びに、上端及び下端のＹ座標を頂点座標格納部１１０から取得する（Ｓ３００）。ここで、変数ｌ［］は、各オブジェクトの左端の座標を格納する配列変数である。同様に、変数ｒ［］、変数ｔ［］、及び変数ｂ［］の各々は、各オブジェクトの右端の座標、上端の座標、及び下端の座標の各々を格納する配列変数である。即ち、オブジェクトの数をｎとし、第ｉ番目のオブジェクトの左端の座標をｌ［ｉ］、右端の座標をｒ［ｉ］、上端の座標をｔ［ｉ］、下端の座標をｂ［ｉ］とする。また、以降の説明において、第ｉ番目のオブジェクトをオブジェクトｉと呼ぶ。
【００２３】
次に、オブジェクト伸張部１２０は、新たな配列変数ｘ［］に、ｌ［］の内容をコピーし、新たな配列変数ｙ［］に、ｒ［］の内容をコピーする（Ｓ３０５）。次に、オブジェクト伸張部１２０は、各オブジェクトが横書きの文字列を含むか否かを判断する（Ｓ３１０）。横書きの文字列を含む場合には（Ｓ３１０：ＹＥＳ）、オブジェクト伸張部１２０は、ｘ［］及びｙ［］を用いて、上下方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の左辺を、これら複数のオブジェクトの何れかの左辺の延長線に重ねる左辺伸張整列処理を行う（Ｓ３２０）。
【００２４】
次に、オブジェクト伸張部１２０は、左辺伸張整列処理を行った当該複数のオブジェクトの何れかよりも全体が左側に表示されている各オブジェクトの外形を伸張させることにより、伸張させたそれらのオブジェクトの右辺を、当該複数のオブジェクトの何れかの左辺、又は、当該左辺の延長線に重ねる右辺伸張連接処理を行う（Ｓ３３０）。なお、Ｓ３３０において、更に、オブジェクト伸張部１２０は、右隣にオブジェクトを有していないオブジェクトについては、そのオブジェクトの右辺を、編集対象の全てのオブジェクトのうち最も右側にあるオブジェクトの右辺の延長線に重ねる処理を行う。ここで、左辺伸張整列処理は、後述する上辺伸張整列処理と同一の処理であるので、これらの処理をまとめて伸張整列処理１と呼び、図４で詳細を説明する。また、右辺伸張連接処理は、後述する下辺伸張連接処理と同一の処理であるので、これらの処理をまとめて伸張連接処理１と呼び、図５で詳細を説明する。
【００２５】
一方、縦書きの文字列を含む場合には（Ｓ３１０：ＮＯ）、オブジェクト伸張部１２０は、ｘ［］及びｙ［］を用いて、上下方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の右辺を、これら複数のオブジェクトの何れかの右辺の延長線に重ねる右辺伸張整列処理を行う（Ｓ３８０）。この処理を、伸張整列処理１と区別するために伸張整列処理２と呼ぶ。
【００２６】
次に、オブジェクト伸張部１２０は、右辺伸張整列処理を行った当該複数のオブジェクトの何れかよりも全体が右側に表示されている各オブジェクトの外形を伸張させることにより、伸張させたそれらのオブジェクトの左辺を、当該複数のオブジェクトの何れかの右辺、又は、当該右辺の延長線に重ねる左辺伸張連接処理を行う（Ｓ３９０）。この処理を、伸張連接処理１と区別するために伸張連接処理２と呼ぶ。なお、Ｓ３９０において、更に、オブジェクト伸張部１２０は、左隣にオブジェクトを有していないオブジェクトについては、そのオブジェクトの左辺を、編集対象の全てのオブジェクトのうち最も左側にあるオブジェクトの左辺の延長線に重ねる処理を行う。そして、オブジェクト伸張部１２０は、ｌ［］にｕ［］の内容をコピーし、ｒ［］にｓ［］の内容をコピーする（Ｓ３３５）。これにより、伸張先の座標を計算した計算結果が、オブジェクトの実際の座標に反映される。
【００２７】
このように、横書きの場合には、利用者が配置したオブジェクトの左辺を基準とし、縦書きの場合には、利用者が配置したオブジェクトの右辺を基準とすることができる。これにより、利用者が入力した内容に応じて配列の基準位置を変更することができる。以上の処理に代えて、オブジェクト伸張部１２０は、各オブジェクトが横書きの文字列を含む場合であっても、右から左に向かって文字を配列する言語の文字列を含む場合においては、右辺伸張整列処理及び左辺伸張連接処理を行ってもよい。
【００２８】
次に、オブジェクト伸張部１２０は、ｘ［］にｔ［］の内容をコピーし、ｙ［］にｂ［］の内容をコピーする（Ｓ３３８）。次に、オブジェクト伸張部１２０は、ｘ［］及びｙ［］を用いて、左右方向の座標軸と平行な直線上に配列されている複数のオブジェクトの各々の上辺を、これら複数のオブジェクトの何れかの上辺の延長線に重ねる上辺伸張整列処理を行う（Ｓ３４０）。
【００２９】
次に、オブジェクト伸張部１２０は、上辺伸張整列処理を行った当該複数のオブジェクトの何れかよりも全体が上側に表示されている各オブジェクトの外形を伸張させることにより、伸張させたそれらのオブジェクトの下辺を、当該複数のオブジェクトの何れかの下辺、又は、当該下辺の延長線に重ねる下辺伸張連接処理を行う（Ｓ３５０）。そして、オブジェクト伸張部１２０は、ｔ［］にｕ［］の内容をコピーし、ｂ［］にｓ［］の内容をコピーする（Ｓ３６０）。これにより、伸張先の座標を計算した計算結果が、オブジェクトの実際の座標に反映される。
【００３０】
空白セル配置部１３０は、表を表示すべき画面上の領域として予め定められた表示用領域のうち、オブジェクト伸張部１２０により整列された各オブジェクトに対応するセルが表示されている領域以外の領域に、表示すべき内容を含まない空白セルを表示する（Ｓ３７０）。これにより、表全体の外形を例えば矩形等に整形することができる。
【００３１】
図４は、オブジェクトの左辺又は上辺を伸張することにより整列する伸張整列処理１の詳細を示す。オブジェクト伸張部１２０は、変数ｘ［］及びｙ［］を入力とする。オブジェクト伸張部１２０は、新たな変数ｉに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ４００）。まず、オブジェクト伸張部１２０は、新たな変数ｖに０を代入する（Ｓ４１０）。ここで、ｖは、このステップに至るまでに判断の対象とした、オブジェクトｉよりも全体が左側にあるオブジェクトのうち、右辺が最も右側にあるオブジェクトの右端の座標を保持する。
【００３２】
ここで、本実施例において、編集画面及びプレビュー画面の各々は、上下方向及び左右方向の各々を座標軸とする２次元平面を構成する。そして、左右方向の座標軸上の右方向を、座標値が増加する正の方向とする。また、左右方向の座標軸上の左方向を、座標値が減少する負の方向とする。また、上下方向の座標軸上の下方向を、座標値が増加する正の方向とする。また、上下方向の座標軸上の上方向を、座標値が減少する負の方向とする。また、各座標の座標値を０以上の整数とする。即ち、Ｓ４１０において、オブジェクト伸張部１２０は、座標平面上で最も左側の座標を、ｖに代入する。
【００３３】
続いて、オブジェクト伸張部１２０は、新たな変数ｊに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ４２０）。まず、オブジェクト伸張部１２０は、新たな配列変数ｗ［］について、ｗ［ｊ］にｘ［ｉ］を代入する（Ｓ４３０）。次に、オブジェクト伸張部１２０は、ｙ［ｊ］≦ｘ［ｉ］か否かを判断する（Ｓ４４０）。即ち、オブジェクト伸張部１２０は、オブジェクトｊの全体が、オブジェクトｉよりも左側であるか否かを判断する。
【００３４】
ｙ［ｊ］≦ｘ［ｉ］である場合に（Ｓ４４０：ＹＥＳ）、オブジェクト伸張部１２０は、ｖ＜ｙ［ｊ］か否かを判断する（Ｓ４５０）。即ち、オブジェクト伸張部１２０は、オブジェクトｊの右辺が、これまで判断の対象とした、オブジェクトｉより全体が左側にある何れのオブジェクトの右辺よりも右側であるか否かを判断する。ｖ＜ｙ［ｊ］である場合に（Ｓ４５０：ＹＥＳ）、オブジェクト伸張部１２０は、ｖにｙ［ｉ］を代入する（Ｓ４６０）。この処理を繰り返すことにより、ｖは、オブジェクトｉよりも全体が左側にあるオブジェクトのうち、右辺が最も右側にあるオブジェクトの右端の座標を保持する。
【００３５】
一方、ｙ［ｊ］≦ｘ［ｉ］でない場合に（Ｓ４４０：ＮＯ）、オブジェクト伸張部１２０は、ｘ［ｊ］≦ｘ［ｉ］＜ｙ［ｊ］か否かを判断する（Ｓ４７０）。即ち、オブジェクト伸張部１２０は、オブジェクトｊ及びオブジェクトｉが、上下方向を示す座標軸と平行な直線上に配列されており、かつ、オブジェクトｊの左辺がオブジェクトｉの左辺より左側であるか否かを判断する。この条件が成立すれば、オブジェクトｊは、オブジェクトｉの左辺を整列させる対象の候補となる。ｘ［ｊ］≦ｘ［ｉ］＜ｙ［ｊ］である場合に（Ｓ４７０：ＹＥＳ）、オブジェクト伸張部１２０は、ｗ［ｊ］にｘ［ｊ］を代入する（Ｓ４８０）。
【００３６】
以上の処理を、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ４８５）。次に、オブジェクト伸張部１２０は、算出したｖ及びｗ［］と、ｘ［ｉ］とを用いて、整列されたオブジェクトを表示すべき表示位置を算出する（Ｓ４９０）。以上の処理を、オブジェクト伸張部１２０は、変数ｉに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ４９５）。この結果、整列後の各オブジェクトの左辺の座標が、配列変数ｕ［］に格納される。また、ｙ［］は入力時のまま出力される。
【００３７】
図５は、オブジェクトの右辺又は下辺を伸張する伸張連接処理１の詳細を示す。オブジェクト伸張部１２０は、変数ｕ［］及びｙ［］を入力とする。そして、オブジェクト伸張部１２０は、新たな変数ｉに、１からｎまでの整数を順次代入した場合について、次の処理を繰り返す（Ｓ５００）。オブジェクト伸張部１２０は、ｙ［ｉ］、算出したｕ［］、及びｙ［］の最大値を用いて、オブジェクトｉを伸張させた結果右辺又は下辺を表示すべき表示位置を算出する（Ｓ５１０）。この結果得られた表示位置をｓ［ｉ］とする。オブジェクト伸張部１２０は、この処理を、変数ｉに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ５２０）。
【００３８】
図６は、表示位置を算出する処理の詳細を示す。オブジェクト伸張部１２０は、変数ｐ、配列変数ｑ［］、及び変数ｒを入力とする。即ち、Ｓ４９０におけるｖ、ｗ［］、及びｘ［ｉ］の各々、又は、Ｓ５１０におけるｙ［ｉ］、ｕ［］、及びｙ［］の最大値の各々が、変数ｐ、配列変数ｑ［］、及び変数ｒの各々に代入される。
【００３９】
まず、オブジェクト伸張部１２０は、ｐ＞ｍａｘ（ｑ［］）か否かを判断する（Ｓ６００）。即ち、Ｓ４９０においては、オブジェクトｉの左辺を整列する整列先の候補となる他のオブジェクトが存在しないか否かを判断する。また、Ｓ５１０においては、オブジェクトｉの右側で他のオブジェクトに至るまでの間に、オブジェクトｉを伸張するための余白がないか否かを判断する。
【００４０】
ｐ＞ｍａｘ（ｑ［］）である場合に（Ｓ６００：ＹＥＳ）、オブジェクト伸張部１２０は、新たな変数ｚに、ｒの内容をコピーする（Ｓ６０５）。Ｓ４９０の処理において、変数ｚは、伸張整列処理後の座標を保持する変数であるから、この場合には、伸張整列処理は行われない。一方、Ｓ５１０の処理においては、オブジェクトｉの右辺を、編集対象の全てのオブジェクトのうち最も右側にあるオブジェクトの右辺の延長線に重ねることができる。ｐ＞ｍａｘ（ｑ［］）でない場合に（Ｓ６００：ＮＯ）、オブジェクト伸張部１２０は、新たな変数ｚに、ｑ［］の最大値を代入する（Ｓ６１０）。そして、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ６２０）。
【００４１】
オブジェクト伸張部１２０は、ｐ≦ｑ［ｊ］＜ｚか否かを判断する（Ｓ６３０）。ｐ≦ｑ［ｊ］＜ｚである場合に（Ｓ６３０：ＹＥＳ）、オブジェクト伸張部１２０は、ｚにｑ［ｊ］を代入する（Ｓ６４０）。以上の処理を、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ６５０）。
【００４２】
これにより、Ｓ４９０において、オブジェクト伸張部１２０は、他のオブジェクトの右端よりも右側に表示され、かつオブジェクトｉと上下方向の同一直線上に配列されている複数のオブジェクトのうち、左辺が最も左側にあるオブジェクトの左辺の座標を、ｚとして算出することができる。また、Ｓ５１０においては、オブジェクト伸張部１２０は、オブジェクトｉの右辺がオブジェクトｉの右側にある他のオブジェクトに外接する座標、又は、編集対象の全てのオブジェクトのうち最も右側にあるオブジェクトの右辺の座標を、ｚとして算出することができる。
【００４３】
なお、上辺伸張整列処理及び下辺伸張連接処理については、図４から図６の説明における、左側、右側、左辺、及び右辺を、それぞれ、上側、下側、上辺、及び下辺に置き換えることにより説明されるので、より詳細な説明を省略する。
【００４４】
図７は、オブジェクトの右辺を伸張することにより整列する伸張整列処理２の詳細を示す。オブジェクト伸張部１２０は、変数ｘ［］及びｙ［］を入力とする。オブジェクト伸張部１２０は、新たな変数ｉに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ７００）。まず、オブジェクト伸張部１２０は、新たな変数ｖに無限大の数値を代入する（Ｓ７１０）。ここで、ｖは、このステップに至るまでに判断の対象とした、オブジェクトｉよりも全体が右側にあるオブジェクトのうち、左辺が最も左側にあるオブジェクトの左端の座標を保持する。なお、本例において、各座標の座標値の上限は有限であることを前提とするので、オブジェクト伸張部１２０は、ｖに、座標値の上限値以上の予め定められた値を代入してもよい。
【００４５】
続いて、オブジェクト伸張部１２０は、新たな変数ｊに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ７２０）。まず、オブジェクト伸張部１２０は、新たな配列変数ｗ［］について、ｗ［ｊ］にｙ［ｉ］を代入する（Ｓ７３０）。次に、オブジェクト伸張部１２０は、ｘ［ｊ］≧ｙ［ｉ］か否かを判断する（Ｓ７４０）。即ち、オブジェクト伸張部１２０は、オブジェクトｉの全体が、オブジェクトｊよりも右側であるか否かを判断する。
【００４６】
ｘ［ｊ］≧ｙ［ｉ］である場合に（Ｓ７４０：ＹＥＳ）、オブジェクト伸張部１２０は、ｖ＞ｘ［ｊ］か否かを判断する（Ｓ７５０）。即ち、オブジェクト伸張部１２０は、オブジェクトｊの左辺が、これまで判断の対象とした、オブジェクトｉより全体が右側にある何れのオブジェクトの左辺よりも左側であるか否かを判断する。ｖ＞ｘ［ｊ］である場合に（Ｓ７５０：ＹＥＳ）、オブジェクト伸張部１２０は、ｖにｘ［ｊ］を代入する（Ｓ７６０）。この処理を繰り返すことにより、ｖは、オブジェクトｉよりも全体が右側にあるオブジェクトのうち、左辺が最も左側にあるオブジェクトの左端の座標を保持する。
【００４７】
一方、ｘ［ｊ］≧ｘ［ｉ］でない場合に（Ｓ７４０：ＮＯ）、オブジェクト伸張部１２０は、ｘ［ｊ］＜ｙ［ｉ］≦ｙ［ｊ］か否かを判断する（Ｓ７７０）。即ち、オブジェクト伸張部１２０は、オブジェクトｊ及びオブジェクトｉが、上下方向を示す座標軸と平行な直線上に配列されており、かつ、オブジェクトｊの右辺がオブジェクトｉの右辺より右側であるか否かを判断する。この条件が成立すれば、オブジェクトｊは、オブジェクトｉの右辺を整列させる対象の候補となる。ｘ［ｊ］＜ｙ［ｉ］≦ｙ［ｊ］である場合に（Ｓ７７０：ＹＥＳ）、オブジェクト伸張部１２０は、ｗ［ｊ］にｙ［ｊ］を代入する（Ｓ７８０）。
【００４８】
以上の処理を、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ７８５）。次に、オブジェクト伸張部１２０は、算出したｖ及びｗ［］と、ｙ［ｉ］とを用いて、整列されたオブジェクトを表示すべき表示位置を算出する（Ｓ７９０）。以上の処理を、オブジェクト伸張部１２０は、変数ｉに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ７９５）。この結果、整列後の各オブジェクトの右辺の座標が、配列変数ｕ［］に格納される。また、ｘ［］は入力時のまま出力される。
【００４９】
図８は、オブジェクトの左辺を伸張する伸張連接処理２の詳細を示す。オブジェクト伸張部１２０は、変数ｘ［］及びｓ［］を入力とする。そして、オブジェクト伸張部１２０は、新たな変数ｉに、１からｎまでの整数を順次代入した場合について、次の処理を繰り返す（Ｓ８００）。オブジェクト伸張部１２０は、ｘ［ｉ］、算出したｓ［］、及びｘ［］の最小値を用いて、オブジェクトｉを伸張させた結果左辺を表示すべき表示位置を算出する（Ｓ８１０）。この結果得られた表示位置をｕ［ｉ］とする。オブジェクト伸張部１２０は、この処理を、変数ｉに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ８２０）。
【００５０】
図９は、表示位置を算出する処理の詳細を示す。オブジェクト伸張部１２０は、変数ｐ、配列変数ｑ［］、及び変数ｒを入力とする。即ち、Ｓ７９０におけるｖ、ｗ［］、及びｙ［ｉ］の各々、又は、Ｓ８１０におけるｘ［ｉ］、ｓ［］、及びｘ［］の最小値の各々が、変数ｐ、配列変数ｑ［］、及び変数ｒの各々に代入される。
【００５１】
まず、オブジェクト伸張部１２０は、ｐ＜ｍｉｎ（ｑ［］）か否かを判断する（Ｓ９１０）。即ち、Ｓ７９０においては、オブジェクトｉの右辺を整列する整列先の候補となる他のオブジェクトが存在しないか否かを判断する。また、Ｓ８１０においては、オブジェクトｉの左側で他のオブジェクトに至るまでの間に、オブジェクトｉを伸張するための余白がないか否かを判断する。
【００５２】
ｐ＜ｍｉｎ（ｑ［］）である場合に（Ｓ９００：ＹＥＳ）、オブジェクト伸張部１２０は、新たな変数ｚに、ｒの内容をコピーする（Ｓ６０５）。Ｓ７９０の処理において変数ｚは、伸張整列処理後の座標を保持する変数であるから、この場合には、伸張整列処理は行われない。一方、Ｓ８１０の処理においては、オブジェクトｉの左辺を、編集対象の全てのオブジェクトのうち最も左側にあるオブジェクトの左辺の延長線に重ねることができる。ｐ＜ｍｉｎ（ｑ［］）でない場合に（Ｓ９００：ＮＯ）、オブジェクト伸張部１２０は、新たな変数ｚに、ｑ［］の最小値を代入する（Ｓ９１０）。そして、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について、以下の処理を繰り返す（Ｓ９２０）。
【００５３】
オブジェクト伸張部１２０は、ｐ≧ｑ［ｊ］＞ｚか否かを判断する（Ｓ９３０）。ｐ≧ｑ［ｊ］＞ｚである場合に（Ｓ９３０：ＹＥＳ）、オブジェクト伸張部１２０は、ｚにｑ［ｊ］を代入する（Ｓ９４０）。以上の処理を、オブジェクト伸張部１２０は、変数ｊに、１からｎまでの整数を順次代入した場合について繰り返す（Ｓ９５０）。
【００５４】
これにより、Ｓ７９０において、オブジェクト伸張部１２０は、他のオブジェクトの左端よりも左側に表示され、かつオブジェクトｉと上下方向の同一直線上に配列されている複数のオブジェクトのうち、右辺が最も右側にあるオブジェクトの右辺の座標を、ｚとして算出することができる。また、Ｓ８１０においては、オブジェクト伸張部１２０は、オブジェクトｉの左辺がオブジェクトｉの左側にある他のオブジェクトに外接する座標、又は、編集対象の全てのオブジェクトのうち最も左側にあるオブジェクトの左辺の座標を、ｚとして算出することができる。
【００５５】
このように、オブジェクト伸張部１２０は、複数のオブジェクトの各々に対して伸張整列処理及び伸張連接処理を行うことにより、各オブジェクトに対応するセルを編集画面上に敷き詰めた表を作成することができる。なお、図３から図９までにおいて説明した各処理は、オブジェクト伸張部１２０に代えて、プレビュー表示部１４０が行ってもよい。プレビュー表示部１４０が行う処理は、オブジェクト伸張部１２０が行う処理と略同一であるので、説明を省略する。
【００５６】
図１０は、利用者によりオブジェクト４０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。（ａ）は、オブジェクト入力表示部１００により表示される編集画面を示す。（ｂ）は、プレビュー表示部１４０によりプレビュー画面上に表示される表の完成イメージを示す。なお、表の完成イメージとは、オブジェクト伸張部１２０により作成される表そのものであってもよいし、当該表のサイズを縮小等することにより作成されるダイジェスト情報であってもよい。また、プレビュー画面は、ＧＵＩとしてウィンドウシステムを採用したシステムにおいて、例えば編集画面とは異なるウィンドウに表示される画面である。これに代えて、プレビュー画面は、編集画面内に表示されてもよい。以上の説明は、図１１から図１５までの各々についても同様であるので、以降の各図における説明を省略する。
【００５７】
編集画面にオブジェクト３０が表示されている状態において、オブジェクト入力表示部１００は、利用者からオブジェクト４０の入力を受ける。そして、オブジェクト入力表示部１００は、オブジェクト３０と、オブジェクト４０とを編集画面上に表示する。この結果、オブジェクト入力表示部１００は、各々が互いに縦方向及び横方向を同一とする長方形であるオブジェクト３０及びオブジェクト４０を、オブジェクト３０及びオブジェクト４０の間に余白を空けて表示する。
【００５８】
プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たなオブジェクトであるオブジェクト４０の入力を受けたので、オブジェクト入力表示部１００がオブジェクトを伸張させた結果作成される表の完成イメージをプレビュー画面上に表示する。例えば、オブジェクト３０の外形が伸張されることにより、オブジェクト３０の下辺は、オブジェクト４０の上辺に外接する。また、オブジェクト４０の外形が伸張されることにより、オブジェクト４０の右辺は、編集対象の全てのオブジェクトのうち最も右辺が右側にあるオブジェクト３０の右辺の延長線に重なる。このように、利用者が複数のオブジェクトを余白を空けて配列した場合であっても、その余白を詰めるように各オブジェクトを伸張し、表形式に整列することができる。
【００５９】
図１１は、利用者によりオブジェクト５０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。編集画面にオブジェクト３０及びオブジェクト４０が表示されている状態において、オブジェクト入力表示部１００は、利用者からオブジェクト５０の入力を受ける。そして、オブジェクト入力表示部１００は、オブジェクト３０と、オブジェクト４０と、オブジェクト５０とを編集画面上に表示する。
【００６０】
この結果、例えば、オブジェクト入力表示部１００は、オブジェクト３０、オブジェクト４０、及びオブジェクト５０を、オブジェクト３０及びオブジェクト４０の間、並びに、オブジェクト３０及びオブジェクト５０の間に余白を空けて表示する。また、オブジェクト４０の上辺とオブジェクト５０の上辺とは同一直線上になく、不揃いである。
【００６１】
これに対して、プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たなオブジェクトであるオブジェクト５０の入力を受けたので、オブジェクト入力表示部１００がオブジェクトを伸張させた結果作成される表の完成イメージをプレビュー画面上に表示する。
【００６２】
例えば、オブジェクト３０の外形が伸張されることにより、オブジェクト３０の下辺は、オブジェクト４０の上辺に外接する。また、オブジェクト５０の外形が伸張されることにより、オブジェクト５０の右辺は、編集対象の全てのオブジェクトのうち最も右辺が右側にあるオブジェクト３０の右辺の延長線に重なる。また、オブジェクト５０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。このように、利用者が複数のオブジェクトを余白を空けて配列した場合であっても、その余白を詰めるように各オブジェクトを伸張し、表形式に整列することができる。また、各辺が同一直線上になく不揃いな場合には、各辺が同一直線上に重なるように整列することができる。
【００６３】
図１２は、利用者によりオブジェクト６０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。編集画面にオブジェクト３０、オブジェクト４０、及びオブジェクト５０が表示されている状態において、オブジェクト入力表示部１００は、利用者からオブジェクト６０の入力を受ける。そして、オブジェクト入力表示部１００は、オブジェクト３０と、オブジェクト４０と、オブジェクト５０と、オブジェクト６０とを編集画面上に表示する。
【００６４】
この結果、例えば、オブジェクト入力表示部１００は、各オブジェクトを、オブジェクト３０及びオブジェクト４０の間、オブジェクト３０及びオブジェクト５０の間、並びに、オブジェクト３０及びオブジェクト６０の間に余白を空けて表示する。また、オブジェクト４０、オブジェクト５０、及びオブジェクト６０の各々の上辺は、互いに同一直線上になく、不揃いである。
【００６５】
これに対して、プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たなオブジェクトであるオブジェクト６０の入力を受けたので、オブジェクト入力表示部１００がオブジェクトを伸張させた結果作成される表の完成イメージをプレビュー画面上に表示する。例えば、オブジェクト３０の外形が伸張されることにより、オブジェクト３０の下辺は、オブジェクト４０の上辺に外接する。また、オブジェクト５０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。同様に、オブジェクト６０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。
【００６６】
ここで、オブジェクト５０の上辺は、オブジェクト６０及びオブジェクト４０のうち何れの上辺の延長線に重ねてもよいとも考えられる。しかしながら、オブジェクト５０の上辺を、オブジェクト６０の上辺の延長線に重ねてしまうと、オブジェクト４０と、オブジェクト５０及びオブジェクト６０とが不揃いになってしまう。そこで、好ましくは、オブジェクト伸張部１２０は、オブジェクト４０の上辺を、左右方向の直線上に配列される複数のオブジェクトのうち最も上辺が上側にあるオブジェクトであるオブジェクト４０の上辺の延長線に重ねる。これにより、より多くのオブジェクトを同一の直線に沿って整列させることができる。
【００６７】
図１３は、利用者によりオブジェクト７０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。編集画面にオブジェクト３０、オブジェクト４０、オブジェクト５０、及びオブジェクト６０が表示されている状態において、オブジェクト入力表示部１００は、利用者からオブジェクト７０の入力を受ける。そして、オブジェクト入力表示部１００は、オブジェクト３０と、オブジェクト４０と、オブジェクト５０と、オブジェクト６０と、オブジェクト７０とを編集画面上に表示する。
【００６８】
この結果、例えば、オブジェクト入力表示部１００は、各オブジェクトを、オブジェクト３０及びオブジェクト４０の間、オブジェクト３０及びオブジェクト５０の間、並びに、オブジェクト３０及びオブジェクト６０の間に余白を空けて表示する。また、オブジェクト４０、オブジェクト５０、及びオブジェクト６０の各々の上辺は、互いに同一直線上になく、不揃いである。また、オブジェクト５０及びオブジェクト７０の間にも余白が空いている。
【００６９】
一方、プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たなオブジェクトであるオブジェクト７０の入力を受けたので、オブジェクト入力表示部１００がオブジェクトを伸張させた結果作成される表の完成イメージをプレビュー画面上に表示する。例えば、オブジェクト３０の外形が伸張されることにより、オブジェクト３０の下辺は、オブジェクト４０の上辺に外接する。また、オブジェクト５０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。同様に、オブジェクト６０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。
【００７０】
また、オブジェクト５０の下辺は、オブジェクト７０の上辺に外接する。しかしながら、オブジェクト６０の下辺は、オブジェクト７０の上辺より上側にあるので、オブジェクト６０の下辺は、オブジェクト７０の上辺の位置までしか伸張されない。同様に、オブジェクト７０の右辺は、オブジェクト６０の左辺より左側にあるので、オブジェクト６０の左辺の位置までしか伸張されない。このため、表を表示すべき画面上の領域である編集画面で、整列された各オブジェクトに対応するセルが表示されている領域以外の領域が生じる。
【００７１】
そこで、好ましくは、空白セル配置部１３０は、セルが表示されている領域以外の当該領域に、表示すべき内容を含まない空白セルを表示する。これにより、表全体の外形を例えば矩形等に整形することができる。
【００７２】
図１４は、利用者によりオブジェクト８０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。編集画面にオブジェクト３０、オブジェクト４０、オブジェクト５０、オブジェクト６０、及びオブジェクト７０が表示されている状態において、オブジェクト入力表示部１００は、利用者からオブジェクト８０の入力を受ける。そして、オブジェクト入力表示部１００は、オブジェクト３０と、オブジェクト４０と、オブジェクト５０と、オブジェクト６０と、オブジェクト７０と、オブジェクト８０とを編集画面上に表示する。
【００７３】
この結果、例えば、オブジェクト入力表示部１００は、各オブジェクトを、オブジェクト３０及びオブジェクト４０の間、オブジェクト３０及びオブジェクト５０の間、並びに、オブジェクト３０及びオブジェクト６０の間に余白を空けて表示する。また、オブジェクト４０、オブジェクト５０、及びオブジェクト６０の各々の上辺は、互いに同一直線上になく、不揃いである。また、オブジェクト５０及びオブジェクト７０の間、並びに、オブジェクト６０及びオブジェクト８０の間にも余白が空いている。
【００７４】
一方、プレビュー表示部１４０は、オブジェクト入力表示部１００が利用者から新たなオブジェクトであるオブジェクト８０の入力を受けたので、オブジェクト入力表示部１００がオブジェクトを伸張させた結果作成される表の完成イメージをプレビュー画面上に表示する。例えば、オブジェクト３０の外形が伸張されることにより、オブジェクト３０の下辺は、オブジェクト４０の上辺に外接する。
【００７５】
また、オブジェクト５０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。同様に、オブジェクト６０の上辺は、左右方向に隣接するオブジェクト４０の上辺の延長線に重なる。また、オブジェクト７０の上辺は、左右方向の同一直線上に配列されたオブジェクト８０の上辺の延長線に重なる。また、オブジェクト８０の左辺は、上下方向の同一直線上に配列されたオブジェクト６０の左辺に重なる。また、オブジェクト４０及びオブジェクト７０の下辺は、オブジェクト８０の下辺に重なる。
【００７６】
以上、図１０から図１４に示すように、本実施例における編集装置１０によれば、各オブジェクトを、所定の方向の辺の位置を基準として整列することができると共に、オブジェクト間の余白を埋めるようにオブジェクトを伸張することができる。この際、整列の基準位置は、当初配列したオブジェクトの位置に基づいて自動的に決定されるので、利用者に対する作業負担は非常に小さい。また、表全体のレイアウトを、利用者がオブジェクトを配列した位置を反映しつつも、適度にシンプルな構造とすることができる。また、利用者は、新たにオブジェクトを入力する毎に、実際にオブジェクトが配列される編集画面とは別のプレビュー画面において、表の完成イメージを確認することができる。これにより、表作成の失敗を避け、作業能率を高めることができる。
【００７７】
図１５は、編集装置１０として機能するコンピュータ５００のハードウェア構成の一例を示す。コンピュータ５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＢＩＯＳ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００７８】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＢＩＯＳ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。例えば、ＲＡＭ１０２０は、図１に示す頂点座標格納部１１０として機能してもよい。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００７９】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、コンピュータ５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。
【００８０】
また、入出力コントローラ１０８４には、ＢＩＯＳ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ１０１０は、コンピュータ５００の起動時にＣＰＵ１０００が実行するブートプログラムや、コンピュータ５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００８１】
コンピュータ５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出されコンピュータ５００にインストールされて実行される。プログラムがコンピュータ５００等に働きかけて行わせる動作は、図１から図１４において説明した編集装置１０における動作と同一であるから、説明を省略する。
【００８２】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ５００に提供してもよい。
【００８３】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００８４】
【図１】図１は、編集装置１０の構成を、機能ブロックに分類して示す。
【図２】図２は、編集装置１０の動作フローを示す。
【図３】図３は、オブジェクト伸張部１２０がオブジェクトを編集する処理の詳細を示す。
【図４】図４は、オブジェクトの左辺又は上辺を伸張することにより整列する伸張整列処理１の詳細を示す。
【図５】図５は、オブジェクトの右辺又は下辺を伸張する伸張連接処理１の詳細を示す。
【図６】図６は、表示位置を算出する処理の詳細を示す。
【図７】図７は、オブジェクトの右辺を伸張することにより整列する伸張整列処理２の詳細を示す。
【図８】図８は、オブジェクトの左辺を伸張する伸張連接処理２の詳細を示す。
【図９】図９は、表示位置を算出する処理の詳細を示す。
【図１０】図１０は、利用者によりオブジェクト４０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。
【図１１】図１１は、利用者によりオブジェクト５０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。
【図１２】図１２は、利用者によりオブジェクト６０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。
【図１３】図１３は、利用者によりオブジェクト７０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。
【図１４】図１４は、利用者によりオブジェクト８０が入力された場合に表示される編集画面及びプレビュー画面の一例を示す。
【図１５】図１５は、編集装置１０として機能するコンピュータ５００のハードウェア構成の一例を示す。
【符号の説明】
【００８５】
１０  編集装置
３０  オブジェクト
４０  オブジェクト
５０  オブジェクト
６０  オブジェクト
７０  オブジェクト
８０  オブジェクト
１００  オブジェクト入力表示部
１１０  頂点座標格納部
１２０  オブジェクト伸張部
１３０  空白セル配置部
１４０  プレビュー表示部
５００  コンピュータ
【図１】
2006107268.tif 000003
【図２】
2006107268.tif 000004
【図３】
2006107268.tif 000005
【図４】
2006107268.tif 000006
【図５】
2006107268.tif 000007
【図６】
2006107268.tif 000008
【図７】
2006107268.tif 000009
【図８】
2006107268.tif 000010
【図９】
2006107268.tif 000011
【図１０】
2006107268.tif 000012
【図１１】
2006107268.tif 000013
【図１２】
2006107268.tif 000014
【図１３】
2006107268.tif 000015
【図１４】
2006107268.tif 000016
【図１５】
2006107268.tif 000017