(57)【要約】【課題】オブジェクトがページをまたいで分かれてしまっているときでも、オブジェクトを再結合させることができることを目的とする。【解決手段】文書処理装置は、ページ内のオブジェクトの先端ポイントを検出する手段、先端ポイント同士が重なる面積の割合から、元来結合されるべきオブジェクト同士であったかの関連性を算出する手段、結合するための本来スライドさせるべき方向のスライドだけでなく、その付近で微調整することで最大一致を導出し、結合の仕上がり完成度を高める手段、オブジェクトの先端同士の結合に加え、オブジェクトの重なり合わせの結合を行う手段、オブジェクトの種類によっては先述の先端ポイント同士の重なりから関連性を算出するのではなく、オブジェクトが持つ属性値を比較する事で関連性を算出する手段、及び結合後のオブジェクトをページ内に収まるように縮小する手段を有することによって課題を解決する。【選択図】図２
2010218536.tif 000002
【特許請求の範囲】
【請求項１】
第１のページの端にある第１のオブジェクトの先端、及び前記第１のページに続く第２のページにある、前記第１のページの端に対向する側の端にある第２のオブジェクトの先端を抽出する抽出手段と、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクトの先端及び前記第２のオブジェクトの先端を結合する結合手段と、
前記結合手段で結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小手段と、
を有することを特徴とする文書処理装置。
【請求項２】
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせて、重ね合わさった面積に基づいて重なり合う度合いを算出する算出手段を更に有し、
前記算出手段は、前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを上下方向及び左右方向に重ね合わせて、最も重ね合わさった面積に基づいて重なり合う度合いを算出することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
前記条件に関する設定をユーザーより受け付ける条件受付手段を更に有することを特徴とする請求項１又は２に記載の文書処理装置。
【請求項４】
前記第２のページを解析し、前記第２のオブジェクトの位置、大きさ、及び範囲を特定する特定手段を更に有し、
前記算出手段は、前記特定手段で特定された位置、大きさ、及び範囲に基づいて、前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを上下方向及び左右方向の何れの方向で優先的に重ね合わせるかを決定し、決定した方向で優先的に重ね合わせを実行し、重ね合わさった面積に基づいて重なり合う度合いを算出することを特徴とする請求項２又は３に記載の文書処理装置。
【請求項５】
前記第２のページを解析し、前記第２のオブジェクトが前記第２のページの指定範囲内にあるか否かを判定する判定手段を更に有し、
前記算出手段は、前記判定手段で指定範囲内にあると判定されると、重なり合う度合いを算出することを特徴とする請求項２乃至４の何れか１項に記載の文書処理装置。
【請求項６】
前記抽出手段は、
前記第１のページ及び前記第２のページを含んで構成される文書が左から右に向かって記述されるスタイルで作成されている場合、前記第１のページの右端にあるオブジェクトの先端及び前記第２のページの左端にあるオブジェクトの先端を抽出し、
前記文書が右から左に向かって記述されるスタイルで作成されている場合、前記第１のページの左端にあるオブジェクトの先端及び前記第２のページの右端にあるオブジェクトの先端を抽出することを特徴とする請求項１乃至５の何れか１項に記載の文書処理装置。
【請求項７】
文書処理装置が実行する文書処理方法であって、
第１のページの端にある第１のオブジェクトの先端、及び前記第１のページに続く第２のページにある、前記第１のページの端に対向する側の端にある第２のオブジェクトの先端を抽出する抽出ステップと、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクトの先端及び前記第２のオブジェクトの先端を結合する結合ステップと、
前記結合ステップで結合されたオブジェクトが１つのページ内に収まるように、前記オ
ブジェクトを縮小する縮小ステップと、
を有することを特徴とする文書処理方法。
【請求項８】
第１のページの端にある第１のオブジェクトの先端、及び前記第１のページに続く第２のページにある、前記第１のページの端に対向する側の端にある第２のオブジェクトの先端を抽出する抽出ステップと、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクトの先端及び前記第２のオブジェクトの先端を結合する結合ステップと、
前記結合ステップで結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別手段と、
前記判別手段により前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別された場合、前記第１のオブジェクトの制御点及び前記第２のオブジェクトの制御点をオブジェクトの先端として決定する決定手段と、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定手段と、
前記指定手段で指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小手段と、
を有することを特徴とする文書処理装置。
【請求項１０】
前記第１のページ及び前記第２のページに表示指定領域が設定されているか否かを確認する確認手段と、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせて、重ね合わさった面積に基づいて重なり合う度合いを算出する算出手段と、
を更に有し、
前記算出手段は、前記確認手段により前記第１のページ及び前記第２のページに表示指定領域が設定されていると確認された場合、前記第１のオブジェクトに係る表示指定領域と前記第２のオブジェクトに係る表示指定領域との境界付近から算出を開始することを特徴とする請求項１又は９に記載の文書処理装置。
【請求項１１】
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別手段と、
前記第１のオブジェクトに固有の第１の情報があり、且つ前記第２のオブジェクトに固有の第２の情報がある場合、前記第１の情報及び前記第２の情報が一致するか否かを判定する判定手段と、
前記判別手段により前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別され、且つ前記判定手段により前記第１の情報及び前記第２の情報が一致すると判定された場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定手段と、
前記指定手段で指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小手段と、
を有することを特徴とする文書処理装置。
【請求項１２】
第１のページの端にある第１のオブジェクトと、前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトとが共にイメージのオブジェクトである場合、前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とを比較する比較手段と、
前記比較手段により前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とが一致するデータ配列があると確認された場合、前記一致するデータ配列において前記第１のオブジェクト及び前記第２のオブジェクトを結合する結合手段と、
前記結合手段で結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小手段と、
を有することを特徴とする文書処理装置。
【請求項１３】
文書処理装置が実行する文書処理方法であって、
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別ステップと、
前記判別ステップにより前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別された場合、前記第１のオブジェクトの制御点及び前記第２のオブジェクトの制御点をオブジェクトの先端として決定する決定ステップと、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定ステップと、
前記指定ステップで指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
を有することを特徴とする文書処理方法。
【請求項１４】
文書処理装置が実行する文書処理方法であって、
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別ステップと、
前記第１のオブジェクトに固有の第１の情報があり、且つ前記第２のオブジェクトに固有の第２の情報がある場合、前記第１の情報及び前記第２の情報が一致するか否かを判定する判定ステップと、
前記判別ステップにより前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別され、且つ前記判定ステップにより前記第１の情報及び前記第２の情報が一致すると判定された場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定ステップと、
前記指定ステップで指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
を有することを特徴とする文書処理方法。
【請求項１５】
文書処理装置が実行する文書処理方法であって、
第１のページの端にある第１のオブジェクトと、前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトとが共にイメージのオブジェクトである場合、前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とを比較する比較ステップと、
前記比較ステップにより前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とが一致するデータ配列があると確認された場合、前記一致するデータ配列において前記第１のオブジェクト及び前記第２のオブジェクトを結合する結合ステップと、
前記結合ステップで結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
を有することを特徴とする文書処理方法。
【請求項１６】
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別ステップと、
前記判別ステップにより前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別された場合、前記第１のオブジェクトの制御点及び前記第２のオブジェクトの制御点をオブジェクトの先端として決定する決定ステップと、
前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定ステップと、
前記指定ステップで指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
第１のページの端にある第１のオブジェクト、及び前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトに描画されない部分があるか否かを判別する判別ステップと、
前記第１のオブジェクトに固有の第１の情報があり、且つ前記第２のオブジェクトに固有の第２の情報がある場合、前記第１の情報及び前記第２の情報が一致するか否かを判定する判定ステップと、
前記判別ステップにより前記第１のオブジェクト及び前記第２のオブジェクトに描画されない部分があると判別され、且つ前記判定ステップにより前記第１の情報及び前記第２の情報が一致すると判定された場合、前記第１のオブジェクト及び前記第２のオブジェクトを重ね合わせて、或いは前記第１のオブジェクト及び前記第２のオブジェクトの何れか一方を削除して、一のオブジェクトを指定する指定ステップと、
前記指定ステップで指定されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
第１のページの端にある第１のオブジェクトと、前記第１のページに続く第２のページにある前記第１のページの端に対向する側の端にある第２のオブジェクトとが共にイメージのオブジェクトである場合、前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とを比較する比較ステップと、
前記比較ステップにより前記第１のオブジェクトのデータ配列と前記第２のオブジェクトのデータ配列とが一致するデータ配列があると確認された場合、前記一致するデータ配列において前記第１のオブジェクト及び前記第２のオブジェクトを結合する結合ステップと、
前記結合ステップで結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置及び文書処理方法に関し、特に、ページをまたいで分割されたオブジェクトを結合する文書処理装置及び文書処理方法に関する。
【背景技術】
【０００２】
従来、あらゆる資源について効率性が求められる中で、プリンティングの分野においても印刷枚数を減らす工夫が求められる。例えば、Ｎ−ｕｐ印刷することが促進されるような工夫、又はオブジェクト間の空白箇所に対して、それを詰めるという間締めのアプローチによって印刷枚数を減らす工夫が展開されている。
【０００３】
ここで、間締めというものは、個々のオブジェクト間の空白部分を詰めるだけでは、仕上がり完成度として満足できる結果が得られない場合がある。例えば、ページ概念の無い表計算アプリケーションデータを、プリンタドライバを介して印刷する場合、図１に示すように、もともと１つの表としてまとめたいオブジェクトであるのに、複数ページにまたがってレイアウトされてしまうケースがある。
【０００４】
図１に示すような現象が発生してしまった場合、はみ出たオブジェクトの描画内容は、ごく僅かであるにもかかわらず、それぞれ１ページを消費してしまっている。他方、この状態を単に間締めした場合、それぞれのオブジェクトを縮小して空白を詰めることで、１ページに収められる可能性はあるが、もとの形状が復元されるケースは少なく、可読性を損なう可能性がある。
【０００５】
また、アプリケーションデータを他のフォーマットとして一旦、変換してしまうと、もともとは１つのオブジェクトであったという属性情報は消えて描画するための情報だけになってしまう。
【０００６】
そこで、原始的ではあるが、ページをまたいで分割されてしまったオブジェクトが１ページ内に収まるように、再度、原稿のアプリケーションデータを作り直し、さらにそこからフォーマットを変換するという方法もある。ただし、アプリケーションデータから作り直すというのは非常に手間である。他方、アプリケーションデータのフォーマットが変換されて、ドキュメントシステム上でデータが流通したが、原稿のアプリケーションデータが無くなってしまい、原稿のアプリケーションデータを作り直すことができないというケースも想定される。
【０００７】
近年、比較的大規模なシステムにおいて、分割されてオブジェクトが送信されてきた場合に、分割されたオブジェクトを１つのオブジェクトに結合するという技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２１５０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、上述した技術は、ページ内において１つのオブジェクトとして表現されているイメージデータであるのに、実際のデータは分割されて複数オブジェクトの集合になっているイメージデータに対して、１つのオブジェクトとして結合させる技術である。すなわ
ち、ページをまたいで分割されたオブジェクトを結合する場合には対応していない。つまり、細切れになった複数のオブジェクト同士が隙間なく隣接している場合についてのみ、１つのオブジェクトとして結合させる技術である。よって、オブジェクトがページをまたいで分かれてしまっているときには、オブジェクトを再結合させることはできないという問題があった。
【００１０】
本発明はこのような問題点に鑑みなされたもので、オブジェクトがページをまたいで分かれてしまっているときでも、オブジェクトを再結合させることを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明は、第１のページの端にある第１のオブジェクトの先端、及び前記第１のページに続く第２のページにある、前記第１のページの端に対向する側の端にある第２のオブジェクトの先端を抽出する抽出手段と、前記第１のオブジェクトの先端と前記第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、前記第１のオブジェクトの先端及び前記第２のオブジェクトの先端を結合する結合手段と、前記結合手段で結合されたオブジェクトが１つのページ内に収まるように、前記オブジェクトを縮小する縮小手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、オブジェクトがページをまたいで分かれてしまっているときでも、オブジェクトを再結合させることができる。
【図面の簡単な説明】
【００１３】
【図１】表計算アプリケーションからページ記述言語に変換した一例を示す図である。
【図２】文書処理装置のハードウェア構成の一例を示すハードウェア構成図である。
【図３】文書処理装置による処理を示すフローチャートと、その補足図である。
【図４】条件入力のためのユーザーインターフェースの一例を示す図である。
【図５】ストロークのグラフィックを描いた一例を示す図である。
【図６】面積一致度の解析結果の一例を示した図である。
【図７】条件入力のためのユーザーインターフェースの一例を示す図である。
【図８】オブジェクト結合処理を示すフローチャートと、その補足図である。
【図９】縮小処理の一例を示した図である。
【図１０】文書処理装置による処理を示すフローチャートに係る図である。
【図１１】オブジェクトの領域判定のための条件を可視化して示した図である。
【図１２】条件入力のためのユーザーインターフェースの一例を示す図である。
【図１３】右から左に向かって記述する文書の一例を示した図である。
【図１４】クリップが用いられて描画されたオブジェクトの一例を示す図である。
【図１５】先端ポイント同士が重ならない一例を示す図である。
【図１６】オブジェクトの制御点に先端ポイントを配置した一例を示す図である。
【図１７】先端ポイントを生成する処理を示すフローチャートと、その補足図である。
【図１８】テキストのオブジェクトが分割された一例を示す図である。
【図１９】イメージのオブジェクトが分割された一例を示す図である。
【図２０】有効印字領域付近でオブジェクトが分割された一例を示す図である。
【図２１】面積一致度の算出開始位置を判定する処理を示すフローチャートである。
【図２２】有効印字領域から面積一致度の算出を開始した一例を示す図である。
【図２３】有効印字領域付近の面積一致度の解析結果の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１５】
（第１の実施形態）
図２は、本実施形態の文書処理装置のハードウェア構成の一例を示すハードウェア構成図である。
【００１６】
２０１は、演算制御用のＣＰＵ（Central Processing Unit）である。２０２は、データ及び指示入力のためのキーボードである。すなわち、キーボード２０２は、各種の指示を入力する指示入力手段の一例である。２０３は、電子文書画像を表示するディスプレイである。すなわち、ディスプレイ２０３は、各種の情報を表示する表示手段の一例である。２０４は、電子文書等を格納するハードディスクであり、文書処理装置における処理を
行うレイアウト編集プログラムが格納されていてもよい。すなわち、ハードディスク２０４は、各種のデータを記憶する外部記憶手段の一例である。２０５は、文書処理装置を制御するプログラムや必要な情報をあらかじめ記憶するＲＯＭ（Read Only Memory）である。すなわち、ＲＯＭ２０５は、各種のデータを記憶する記憶手段の一例である。２０６は、様々なワークエリアとして利用されるＲＡＭ（Random Access Memory）である。すなわち、ＲＡＭ２０６は、各種のデータを一時的に記憶する一時記憶手段の一例である。
【００１７】
ＲＯＭ２０５にはレイアウト編集アプリケーション１が格納されている。レイアウト編集アプリケーション１をＣＰＵ２０１が実行することで本実施形態が実現される。言い換えるならば、文書処理装置に係る処理を行うコンピュータプログラムは、コンピュータを、文書処理装置として機能させることができる。なお、コンピュータプログラムが記憶されるコンピュータ読み取り可能な記憶媒体は、ＲＯＭ２０５に限られるものではなく、例えば、ハードディスク２０４であってもよい。
【００１８】
図３は、文書処理装置に係る文書処理の手順の一例を示すフローチャートを示す図と、フローチャートの内容を補足する補足図である。文書処理装置による処理は、電子文書が保持する全ページの先頭ページ（すなわち、１ページ目）から順序どおりにレイアウト編集アプリケーション１により行われる。ここで、文書処理装置は、ペアのページを用意して処理を行うが、ペアの前方のページをフロントページ、ペアの後方のページをリアページと称する。なお、レイアウト編集アプリケーション１は、リアページに配置されるオブジェクトの量に基づいて以下に説明するオブジェクト結合に関する処理を実行するか否かを決定してもよい。例えば、リアページに配置されるオブジェクトがページの半分を占めない場合、レイアウト編集アプリケーション１は、オブジェクト結合に関する処理を実行すると決定する。
【００１９】
まず、ステップＳ３０１において、レイアウト編集アプリケーション１は、フロントページ内を解析し、最も下方にあるオブジェクトの先端を先端ポイントとして抽出する。補足図の３Ａで示すように、レイアウト編集アプリケーション１は、傾きがあるグラフィックラインにて、座標が最も下方になる先端を下方先端ポイントとして抽出する。座標が最も下方にある先端が複数ある場合には、レイアウト編集アプリケーション１は、下方先端ポイントを複数抽出する。
【００２０】
ここで、オブジェクトの先端とは、オブジェクトのグラフィックラインにおいて最も下方、上方、右方、又は左方にある座標を中心として一定距離内にあるオブジェクトの部分である。本実施形態では、オブジェクトの先端の全部又は一部が含まれる位置に先端ポイントを設ける構成を採用している。すなわち、オブジェクトの先端とは、先端ポイントを含む概念であり、レイアウト編集アプリケーション１は、オブジェクトの先端を先端ポイントとして抽出する。なお、オブジェクトのグラフィックラインにおいて、最も下方になる先端の先端ポイントを下方先端ポイント、最も上方になる先端の先端ポイントを上方先端ポイントと称する。また、最も右方になる先端の先端ポイントを右方先端ポイント、最も左方になる先端の先端ポイントを左方先端ポイントと称する。
【００２１】
また、先端ポイントについては、任意の形状、任意のサイズを採用することができるので、先端ポイントの形状やサイズについてはカスタマイズできる仕様を採用するのが好適である。ここで、図４に示すように、本実施形態では、一例として、リスト形式のユーザーインターフェース４０１を提供することで先端ポイントのサイズをユーザーに選択させる構成を採用している。なお、一定距離についても先端ポイントと同様に選択させてもよい。
【００２２】
また、傾きがあるグラフィックラインとは、下方先端ポイント及び上方先端ポイントを抽出するときには、横線にならないグラフィックラインをいい、右方先端ポイント及び左方先端ポイントを抽出するときには、縦線にならないグラフィックラインをいう。すなわち、レイアウト編集アプリケーション１は、オブジェクトを結合させる方向に対して垂直にならないグラフィックラインにおける先端を先端ポイントとして抽出する。
【００２３】
ここで、図５を参照して、先端ポイントを抽出する構成の一例について説明する。図５は、ＰＤＦ（登録商標）仕様を一例としてストロークのグラフィックを描画した図である。なお、ＰＤＦとは、Portable Document Formatの略である。ただし、ストロークを描画する上での装飾（カラー、線幅等）に関する情報は省略している。
【００２４】
５０１のような演算内容を指示する記述がＰＤＦに含まれている場合には、ストロークの開始点は、（Ｘ、Ｙ）＝（１５．０、１５．０）である。そして、第１の地点は、（Ｘ、Ｙ）＝（１５．０、３０．０）であるので、開始点から第１の地点にストロークが描画される。さらに、第２の地点は、（Ｘ、Ｙ）＝（４０．０、３０．０）であるので、第１の地点から第２の地点にストロークが描画される。最後に、終了点は、（Ｘ、Ｙ）＝（４０．０、１５．０）であるので、第２の地点から終了点にストロークが描画され、演算内容を指示する記述に基づく処理が終了する。そうすると、５０２に示すように、描画された内容がページ上に表現されることになる。
【００２５】
このように、描画の処理は、座標で表されており、レイアウト編集アプリケーション１が、これらの処理を解析することにより、例えばページ内で最も下方にある先端を先端ポイントとして抽出することが可能である。
【００２６】
ステップＳ３０２において、レイアウト編集アプリケーション１は、ステップＳ３０１で扱ったページの次のページ（言い換えるならば、リアページ）にて、最も上方にあるオブジェクトの先端を先端ポイントとして抽出する。補足図の３Ｂに示すように、レイアウト編集アプリケーション１は、傾きがあるグラフィックラインにて、座標が最も上方になる先端を上方先端ポイントとして抽出する。座標が最も上方にある先端が複数ある場合には、レイアウト編集アプリケーション１は、上方先端ポイントを複数抽出する。
【００２７】
ステップＳ３０３において、レイアウト編集アプリケーション１は、ステップＳ３０１で扱ったページと、ステップＳ３０２で扱ったページとについて、補足図の３Ｃに示すように、両者のページを上下方向にスライドさせることで、面積一致度の算出を行う。例えば、フロントページ及びリアページの少なくとも一方のページを上下方向にスライドさせる構成は、ページのＸ軸方向を固定し、Ｙ軸方向についてスライドさせることで実現できる。本実施形態では、最大面積一致度は、ステップＳ３０３又はステップＳ３０７の処理において先端ポイント同士をスライドさせた結果、先端ポイントが重なる面積が最大になるときのパーセンテージとする。なお、最大面積一致度は、後述の図８で示すように調整が行われる。また、複数の先端ポイントが抽出されているときは、最大面積一致度は、各先端ポイントが重なる面積の和が最大になるときのパーセンテージとする。
【００２８】
ここで、図６を参照して、レイアウト編集アプリケーション１が最大面積一致度を決定する方法の一例について説明する。図６は、先端ポイントの形状が円形であり、かつ、両ページ間の先端ポイントが１つずつの場合に、最大面積一致度を決定する方法の一例を示す図である。先端ポイントをスライドさせた距離と面積一致度との特性は、６０１のようになる。
【００２９】
まず、最初の位置から少しスライドさせた６０２の位置では、先端ポイント同士が重なっていないので、面積一致度は、０％である。さらにスライドさせた６０３の位置では、先端ポイント同士が重なっている。すなわち、先端ポイントが重なり始めて、面積一致度が増加し始めていることがわかる。ここで、さらにスライドさせることで、面積が重なる面積は増加するが、ある地点で重なる箇所は減少傾向になることが確認できる。そして、さらにスライドさせると、先端ポイント同士が重ならなくなるので、面積一致度は、０％となる。つまり、この例では、重なる面積が増加から減少に転じる地点で面積が最大に一致する箇所６０４が確認できる。よって、レイアウト編集アプリケーション１は、面積が最大に一致する箇所６０４の位置において先端ポイントが重なる面積のパーセンテージを、フロントページとリアページの両ページ間における最大面積一致度の値として決定する。
【００３０】
ステップＳ３０４において、レイアウト編集アプリケーション１は、両ページ間の先端ポイント同士の最大面積一致度が、特定パーセント以上であるか確認する。最大面積一致度が特定パーセント以上の場合（ステップＳ３０４の処理においてＹｅｓの場合）には、ステップＳ３０９の処理において、レイアウト編集アプリケーション１は、オブジェクト結合処理を行う。なお、先端ポイントが複数ある場合は、レイアウト編集アプリケーション１は、最大面積一致度を算出した位置において、全ての先端ポイント同士の面積一致度が特定パーセント以上であるか確認する。最大面積一致度の特定パーセントの閾値に関しては、システムであらかじめ決められる構成を採用してもよく、また、ユーザーにより選択される構成を採用してもよい。ここで、図７には、最大面積一致度に関する閾値をユーザーに選択させる構成としてのユーザーインターフェースの一例が示されている。すなわち、文書処理装置は、条件（本実施形態では、閾値）に関する設定をユーザーより受け付ける条件受付手段を有する。なお、本実施形態では、条件受付手段の一例として、レイアウト編集アプリケーション１を採用している。
【００３１】
他方、ステップＳ３０４において、先端ポイント同士の最大面積一致度が、特定パーセント未満であった場合（ステップＳ３０４の処理においてＮｏの場合）、レイアウト編集アプリケーション１は、ステップＳ３０５の処理を行う。
【００３２】
ステップＳ３０１からステップＳ３０３に示すように、レイアウト編集アプリケーション１は、縦方向に関して結合できるオブジェクト同士かの確認を行った。また、横方向にも一致する可能性があるので、レイアウト編集アプリケーション１は、縦方向の確認と同様に、ステップＳ３０５からステップＳ３０７において、横方向の結合の可能性を確認する。
【００３３】
ここで、ステップＳ３０５からステップＳ３０７における処理は、ステップＳ３０１からステップ３０３における処理と方向が異なるのみであり、基本的な内容は同様であるので、異なる箇所を説明する。まず、ステップＳ３０５において、レイアウト編集アプリケーション１は、フロントページ内を解析し、最も右方にあるオブジェクトの先端を先端ポイントとして抽出する。さらに、ステップＳ３０６において、レイアウト編集アプリケーション１は、ステップＳ３０５で扱ったページの次のページ（言い換えるならば、リアページ）にて、最も左方にあるオブジェクトの先端を先端ポイントとして抽出する。ステップＳ３０６において、レイアウト編集アプリケーション１は、ステップＳ３０５で扱ったページと、ステップＳ３０６で扱ったページとについて、両者のページを左右方向にスライドさせることで、面積一致度の算出を行う。例えば、フロントページ及びリアページの少なくとも一方のページを左右方向にスライドさせる構成は、ページのＹ軸方向を固定し、Ｘ軸方向についてスライドさせることで実現できる。
【００３４】
すなわち、文書処理装置は、第１のページの端にある第１のオブジェクトの先端、及び第１のページに続く第２のページにある、第１のページの端に対向する側の端にある第２のオブジェクトの先端を抽出するレイアウト編集アプリケーション１を有する。付言するならば、レイアウト編集アプリケーション１は、第１のページの最も端にある第１のオブジェクトの先端、及び第１のページに続く第２のページにある、第１のページの最も端に対向する側の最も端にある第２のオブジェクトの先端を抽出する。本実施形態では、第１のページをフロントページと称し、第２のページをリアページと称する。なお、本実施形態では、第１のオブジェクトの先端及び第２のオブジェクトの先端を抽出する抽出手段の一例として、レイアウト編集アプリケーション１を採用している。
【００３５】
また、ステップＳ３０３及びステップＳ３０７に示すように、文書処理装置は、第１のオブジェクトの先端と第２のオブジェクトの先端とを重ね合わせて、重ね合わさった面積に基づいて重なり合う度合いを算出する算出手段を有している。すなわち、算出手段の一例として、実施形態では、レイアウト編集アプリケーション１を採用している。
【００３６】
ステップＳ３０８において、レイアウト編集アプリケーション１は、ステップＳ３０４で行った処理と同様に、両ページ間の先端ポイント同士の最大面積一致度が、特定パーセント以上であるか確認する。その最大面積一致度が特定パーセント以上の場合には、レイアウト編集アプリケーション１は、ステップＳ３０９の処理において、オブジェクト結合処理を行う。なお、先端ポイントが複数ある場合は、レイアウト編集アプリケーション１は、最大面積一致度を算出した位置において、全ての先端ポイント同士の面積一致度が特定パーセント以上であるか確認する。他方、最大面積一致度が特定パーセント未満の場合には、レイアウト編集アプリケーション１は、ステップＳ３１１の処理を行う。
【００３７】
ステップＳ３０９の処理は、ステップＳ３０４又はステップＳ３０８にて、フロントページとリアページとの間の最大面積一致度が特定パーセント以上であった場合にレイアウト編集アプリケーション１により行われる。ステップＳ３０９では、オブジェクト同士を結合するにふさわしい状態にあるので、レイアウト編集アプリケーション１は、図８に示すように、オブジェクト同士の結合を行う。すなわち、文書処理装置は、算出された度合いが基準を満たす場合には、第１のオブジェクトの先端及び第２のオブジェクトの先端を結合する結合手段（一例としては、レイアウト編集アプリケーション１）を有している。より広義に解釈すると、結合手段は、第１のオブジェクトの先端と第２のオブジェクトの先端とを重ね合わせた結果が条件を満たす場合、第１のオブジェクトの先端及び第２のオブジェクトの先端を結合する。
【００３８】
図８は、オブジェクト結合処理の手順を示すフローチャートを示す図と、フローチャートの内容を補足する補足図である。
【００３９】
まず、ステップＳ１３０１において、レイアウト編集アプリケーション１は、先の方向に対して垂直の方向に先端ポイントをスライドさせ、補足図の１３Ａに示すように、さらに最大面積一致度が向上する場所があるか否かを判定する。ここで、先の方向とは、ステップＳ３０３又はステップＳ３０７においてスライドさせた方向をいう。また、先の方向に対して垂直の方向とは、先の方向が上下方向であるならば左右方向をいい、先の方向が左右方向であるならば上下方向をいう。
【００４０】
最大面積一致度が向上する場所がある場合には、レイアウト編集アプリケーション１は、ステップＳ１３０２において、最大面積一致度のさらなる最大化を行う。より詳細には、レイアウト編集アプリケーション１は、ステップＳ１３０１で確認した最大面積一致度がさらに向上したポイントを結合ポイントとして決定する。換言するならば、レイアウト編集アプリケーション１は、最大面積一致度がさらに向上する面積一致度を示す調整後最大面積一致度を算出する。他方、最大面積一致度が向上する場所がない場合には、レイアウト編集アプリケーション１は、ステップＳ１３０３の処理を行う。ステップＳ１３０３において、レイアウト編集アプリケーション１は、ステップＳ３０３又はステップＳ３０７の処理で見出した箇所を結合ポイントとして決定する。
【００４１】
ここで、元来つながっていたオブジェクトで、ページをまたがせるためにそのオブジェクトが分割された場合に、斜め罫線がページ間にまたがってしまう場合等、切り離しを行う座標の丸めの処理方法によっては、前後左右に数ドットずれてしまうケースがある。このようなケースを伴って分割されたオブジェクトを結合する場合において、レイアウト編集アプリケーション１は、結合の精度をより向上させて仕上がりを美しくするために、より細かな調整処理としてステップＳ１３０１及びステップＳ１３０２の処理を行う。なお、丸めの処理は、切り離しを行った座標が小数点を含むような座標であるが、その座標を整数に丸めてしまうこと等をいう。
【００４２】
すなわち、レイアウト編集アプリケーション１は、第１のオブジェクトの先端と第２のオブジェクトの先端とを上下方向及び左右方向に重ね合わせて、最も重ね合わさった面積に基づいて重なり合う度合いを算出する。換言するならば、文書処理装置は、第１のオブジェクトの先端と第２のオブジェクトの先端とが最も重なり合う位置において、第１のオブジェクトの先端及び第２のオブジェクトの先端が結合されるように調整する調整手段を有している。なお、本実施形態では、調整手段の一例として、レイアウト編集アプリケーション１を採用している。
【００４３】
ステップＳ１３０４において、レイアウト編集アプリケーション１は、リアページに含まれるオブジェクトを切り取る。さらに、ステップＳ１３０５において、レイアウト編集アプリケーション１は、ステップＳ１３０４で切り取ったリアページのオブジェクトを、フロントページの結合ポイントの箇所に対して貼り付ける（いわゆる、オブジェクトのカットａｎｄペーストを行う。）。なお、ステップＳ１３０４で切り取られたリアページは、白紙の状態になり、不要なページの状態である。よって、ステップＳ１３０６において、レイアウト編集アプリケーション１は、不要になったリアページの削除を行う。以上の処理をもって、オブジェクト結合処理は終了され、レイアウト編集アプリケーション１は、ステップＳ３１０に処理を進める。
【００４４】
ステップＳ３１０において、レイアウト編集アプリケーション１は、ステップＳ３０９のオブジェクト結合処理によって構成がリニューアルされたページ（言い換えるならば、文書）に対して、再度、１ページ目からの結合確認を行う。すなわち、レイアウト編集アプリケーション１は、処理を１ページ目に戻して、さらにステップＳ３０１に処理を戻す。これは、例えば、図１で示すように、１つのオブジェクトが３ページ以上の複数のページにまたがって配置されるような場合に必要な処理である。
【００４５】
図１を参照して、より具体的に説明すると、オブジェクトの結合処理を単純に１ページ目からペアが確認できたタイミングでのみ行った場合には、まず、１０２のオブジェクトの下方と、１０３のオブジェクトの上方が結合される。次に、１０４のオブジェクトの下方と、１０５のオブジェクトの上方が結合される。しかしながら、文書の構成が更新されるたびに１ページ目から結合確認を行わないと、１０２と１０３のオブジェクトを結合した結果と、１０４と１０５のオブジェクトを結合した結果との両者間において、結合の機会を逃すことになる。よって、結合処理の後には、レイアウト編集アプリケーション１は、結合確認の処理を１ページ目に戻して、再度、処理をステップＳ３０１から行う。
【００４６】
ステップＳ３０８においてフロントページとリアページのページ間の最大面積一致度が特定パーセント未満であった場合には、レイアウト編集アプリケーション１は、ステップＳ３１１に処理を進める。このタイミングで、リアページが文書の最終ページであった場合には、レイアウト編集アプリケーション１は、ステップＳ３１３に処理を進める。他方、リアページが文書の最終ページではなく、まだ処理されていないページがある場合には、レイアウト編集アプリケーション１は、ステップＳ３１２に処理を進める。
【００４７】
本結合処理を行う上で、レイアウト編集アプリケーション１は、ペアのページを用意して処理を行うが、そのペアのページをステップＳ３１２においてインクリメントする。インクリメントの方法は、フロントページとリアページとをそれぞれ１ページずつインクリメントする。つまり、１ページ目と２ページ目とが今まで処理されていたとすると、ステップＳ３１２において、レイアウト編集アプリケーション１は、処理する対象のページを２ページ目と３ページ目とに切り替えることになる。ステップＳ３１２の処理後は、レイアウト編集アプリケーション１は、対象ページをインクリメントし、さらに処理を続けるため、ステップＳ３０１に処理を戻して処理を再開する。
【００４８】
ステップＳ３１１においてリアページが文書の最終ページであった場合には、すなわち、文書の全てのページの結合処理が終了した場合には、レイアウト編集アプリケーション１は、ステップＳ３１３に処理を進める。ステップＳ３１３において、レイアウト編集アプリケーション１は、オブジェクトの結合によって、ページのサイズからオブジェクトがはみ出している場合には、その結合後のオブジェクトのサイズを縮小してページ内に収まるように調整する。
【００４９】
すなわち、文書処理装置は、結合されたオブジェクトが１つのページ内に収まるように、結合されたオブジェクトを縮小する縮小手段（一例としては、レイアウト編集アプリケーション１）を有している。
【００５０】
図９を参照して、レイアウト編集アプリケーション１がオブジェクトのサイズを調整する方法について説明する。図９に示すように、結合後のオブジェクト全体を包む矩形の境界面が、ページのサイズ内に収まる最大値を取るように、オブジェクト全体を縮小する（例えば、８０１から８０２への調整）。なお、このとき、レイアウト編集アプリケーション１は、縦横比が変化しないように縮小する。
【００５１】
このように、本実施形態の構成によれば、ページをまたいで分割された可能性があるオブジェクトの関連性を確認し、本来結合されるべきオブジェクトを結合することができる。さらに、本実施形態の構成によれば、結合によってはみ出たオブジェクトに対する縮小レイアウトを自動で行うことができる。
【００５２】
このように、ページの概念がないアプリケーションデータをソースとしてページ記述形式のデータに変換した場合に、予期しないところでオブジェクトの一部が別ページに溢れてしまうケースがある。しかしながら、本文書処理装置によると、ページ間のオブジェクト同士で関連性を検知して、自動で再結合とレイアウト調整を行うことができる。すなわち、図１のように、ユーザーが所望する結果が得られない場合でも、再度アプリケーションの操作に戻ってアプリケーションデータを調整し、再度のフォーマット変換を行う必要がなくなる。また、異なるフォーマットのデータとなってドキュメントシステム上でデータが流通したが、原稿のアプリケーションデータが無くなってしまい、原稿のアプリケーションデータを作り直すことができないというケースに対してもレイアウト調整を行うことができる。
【００５３】
（第２の実施形態）
第１の実施形態では、レイアウト編集アプリケーション１は、ステップＳ３０１からＳ３０４までにおいて、フロントページの下方とリアページの上方とのオブジェクト間の結合ができるかどうか、面積一致度の確認を行っている。その後、レイアウト編集アプリケーション１は、ステップＳ３０１からＳ３０４の処理を行い、ステップＳ３０５からＳ３０８までにおいて、フロントページの右方とリアページの左方とのオブジェクト間の結合ができるかどうか、面積一致度の確認を行っている。すなわち、レイアウト編集アプリケーション１がフロントページの右方とリアページの左方とが結合する場合において、ステップＳ３０１からＳ３０４までの処理を省いて処理できれば効率的である。
【００５４】
よって、第２の実施形態では、レイアウト編集アプリケーション１は、図３のステップＳ３０１から開始する文書処理を行う前段階で、リアページ内のオブジェクトの構成を解析する。すなわち、レイアウト編集アプリケーション１は、ステップＳ３０１の処理を行う前に、フロントページの下方とリアページの上方の確認とを先に行ったほうがよいか否かについて予測するために、処理パフォーマンスとして影響ない程度のページ解析を行う。この構成によれば、効率的な処理の実行を図ることができる。
【００５５】
そこで、以下では、図１０を参照して、この解析の一例について説明する。ステップＳ９０１において、レイアウト編集アプリケーション１は、図１１の１００１に示すように、リアページのオブジェクトの範囲がページ内の上半分に収まっているか否かを確認する。ここで、リアページのオブジェクトの範囲がページ内の上半分に収まっている場合は、フロントページの下方とリアページの上方のオブジェクトが結合できる可能性が高い。そこで、リアページのオブジェクトの範囲がページ内の上半分に収まっている場合には、レイアウト編集アプリケーション１は、ステップＳ９０２の処理を行い、図３に示す通りのステップの順で処理の順序を確定する。
【００５６】
他方、リアページのオブジェクトの範囲がページ内の上半分に収まっていない場合は、レイアウト編集アプリケーション１は、ステップＳ９０３の処理を行う。ステップＳ９０３の処理において、レイアウト編集アプリケーション１は、図１１の１００２に示すように、リアページのオブジェクトの範囲がページ内の左半分に収まっているか否かを確認する。ここで、リアページのオブジェクトの範囲がページ内の左半分に収まっている場合は、フロントページの下方とリアページの上方のオブジェクトが結合できる可能性が低く、フロントページの右方とリアページの左方のオブジェクトが結合できる可能性が高い。そこで、リアページのオブジェクトの範囲がページ内の左半分に収まっている場合、レイアウト編集アプリケーション１は、ステップＳ９０４の処理を行い、ステップＳ３０１からＳ３０４までの処理とステップＳ３０５からＳ３０８までの処理の順序を入れ替える。つまり、フロントページの右方とリアページの左方との結合の面積一致度の確認が先に行われ、フロントページの下方とリアページの上方との結合の面積一致度の確認が後に行われるように、処理の順序を変更する。
【００５７】
すなわち、文書処理装置は、第２のページを解析し、第２のオブジェクトの位置、大きさ、及び範囲を特定する特定手段を有する。そして、レイアウト編集アプリケーション１は、特定された位置、大きさ、及び範囲に基づいて、第１のオブジェクトの先端と第２のオブジェクトの先端とを上下方向及び左右方向の何れの方向で優先的に重ね合わせるかを決定する。さらに、レイアウト編集アプリケーション１は、決定した方向で優先的に重ね合わせを実行し、重ね合わさった面積に基づいて重なり合う度合いを算出する。なお、本実施形態では、特定手段の一例として、レイアウト編集アプリケーション１を採用している。
【００５８】
なお、ステップＳ９０１における判定処理の条件としてページ内のオブジェクトの範囲が上半分になるという閾値、及びステップＳ９０３における判定処理の条件としてページ内のオブジェクトの範囲が左半分になるという閾値を設けている。ただし、この構成に限られるものではなく、この閾値は可変であってもよく、ユーザーは、性質上としては０％から１００％までの間で閾値を設けることができる。
【００５９】
すなわち、オブジェクトの先端ポイントを抽出させ、さらにオブジェクト同士をスライドさせて面積一致度を算出させる処理の負荷ボリュームは大きいので、可能な限り処理をスキップできることが本文書処理装置のパフォーマンス改善につながる。よって、第２の実施形態では、レイアウト編集アプリケーション１は、シーケンシャルにステップＳ３０１からＳ３０８までを順次行わない。すなわち、レイアウト編集アプリケーション１は、リアページの文書内のオブジェクトの構成を解析して、ステップＳ３０１からＳ３０４までを先に行うべきか、それともステップＳ３０５からＳ３０８までを先に行うべきかを確認する。そして、レイアウト編集アプリケーション１がオブジェクト同士の一致の確率が大きい方から処理を開始することで、無駄の可能性がある処理をスキップし、文書処理装置のパフォーマンスを向上させることができる。
【００６０】
（第３の実施形態）
第１の実施形態に示すように、処理負荷の高いステップＳ３０１からＳ３０８までの処理を、文書内のすべてのページのペアを確認することは、特にページ数の多い文書を処理する場合等、パフォーマンスに多大な影響を与える可能性がある。よって、第３の実施形態では、処理パフォーマンスを優先したい場合に、ステップＳ３０１からＳ３０８までの処理をスキップさせることができる条件を設定できる構成を採用する。
【００６１】
より具体的に説明すると、文書処理装置の処理を高速化するため、レイアウト編集アプリケーション１は、リアページのオブジェクトの特徴が特定の条件を満たさない場合にのみ、図３におけるステップＳ３０１からＳ３０８までの処理を行う。他方、特定の条件を満たす場合には、レイアウト編集アプリケーション１がステップＳ３０１からＳ３０８までの処理をスキップして直接ステップＳ３１１の処理を行うことで文書処理装置の高速化を行う。
【００６２】
ここで、オブジェクトがはみ出てしまうケースとしては、図１の１０３から１０５までに示すように、オブジェクトがページを僅かに占有しているという場合が多い。よって、レイアウト編集アプリケーション１は、ステップＳ３０１の処理を行う前段階において、リアページを解析し、オブジェクトの占めるページ内の範囲が一定の領域以下の場合に限って、ステップＳ３０１の処理を開始する。他方、オブジェクトの占めるページ内の範囲が一定の領域を超える場合には、レイアウト編集アプリケーション１は、直接、ステップＳ３１１の処理を行う。
【００６３】
すなわち、文書処理装置は、第２のページを解析し、第２のオブジェクトが第２のページの指定範囲内にあるか否かを判定する判定手段を有する。そして、レイアウト編集アプリケーション１は、指定範囲内にあると判定すると、重なり合う度合いを算出する。なお、本実施形態では、判定手段の一例として、レイアウト編集アプリケーション１を採用している。
【００６４】
このように、特定の条件が満たされる場合には、文書処理装置の高速化は行われるが、ステップＳ３０１からＳ３０８までにおける面積一致度の確認の処理をスキップすることになるので、オブジェクトの結合処理における精度が低下するおそれがある。よって、第３の実施形態では、処理パフォーマンスを優先するか、結合処理の精度を優先するかについては、ユーザーが選択できる構成を採用している。この構成を実現するために、例えば、図１２に示すようなユーザーインターフェースを提供し、ユーザーに精度の調整を行うための手段を提供する。すなわち、文書処理装置は、指定範囲に関する設定をユーザーより受け付ける指定範囲受付手段を有する。なお、本実施形態では、指定範囲受付手段の一例として、レイアウト編集アプリケーション１を採用している。
【００６５】
したがって、第３の実施形態の文書処理装置によれば、処理パフォーマンスを優先するか、又は結合処理の精度を優先するかの調整について、ユーザーの便宜を反映させることができる。
【００６６】
（第４の実施形態）
第１の実施形態では、左から右に向かって文書を記述するスタイルを前提とする構成を採用している。一般には、左から右に向かって文書を記述するスタイルがほとんどであるので問題ないが、アラビア語圏やヘブライ語圏等の一部の地域では、右から左に向かって文書を記述するスタイルが存在する。また、それらの言語圏のアプリケーションにおけるスタイルシートも、右から左に向かって記述する方法に合わせられているケースがあり、その結果として、右から左に向かって記述されているスタイルの文書が出来上がるケースがある。右から左に向かって文書を記述するスタイルの一例を図１３に示し、このスタイルにおけるレイアウト編集アプリケーション１による処理について説明する。なお、ＰＤＦ等の文書には、文書中で扱うエンコーディングタイプが記載されており、どこの言語圏で作成された文書であるか確認することができる。
【００６７】
図１３に示す文書においては、１２０１が１ページ目、１２０２が２ページ目、１２０３が３ページ目、１２０４が４ページ目に設定される。これを、第１の実施形態に適用すると、１２０１のオブジェクトの下方と１２０２のオブジェクトの上方とが結合し、さらに、１２０３のオブジェクトの下方と１２０４のオブジェクトの上方とが結合し、ここまでの処理には問題が無い。しかしながら、その後、左から右に向かって記述するスタイルを前提に処理する第１の実施形態だと、１２０１と１２０２の結合後のオブジェクトの右方に対し、１２０３と１２０４の結合後のオブジェクトの左方を結合させる処理が開始されてしまう問題がある。
【００６８】
そこで、第４の実施形態では、右から左に向かって文書を記述するスタイルであることが確認された場合には、レイアウト編集アプリケーション１が図３におけるステップＳ３０５からＳ３０８までの処理の左右を逆転して処理を行う構成を採用する。この構成によれば、右から左に向かって文書を記述するスタイルに対応できる。
【００６９】
すなわち、レイアウト編集アプリケーション１は、文書が左から右に向かって記述されるスタイルで作成されている場合、第１のページの右端にあるオブジェクトの先端及び第２のページの左端にあるオブジェクトの先端を抽出する。他方、レイアウト編集アプリケーション１は、文書が右から左に向かって記述されるスタイルで作成されている場合、第１のページの左端にあるオブジェクトの先端及び第２のページの右端にあるオブジェクトの先端を抽出する。なお、文書は、第１のページ及び第２のページを含んで構成されている。
【００７０】
このように、レイアウト編集アプリケーション１が文書内のエンコーディングタイプを確認することで、より広義にはレイアウト編集アプリケーション１が適用されている記述スタイルを判定することで、記述スタイル別の処理を自動で分けることが可能となる。なお、上記の説明ではレイアウト編集アプリケーション１が、本実施形態を実行するとして説明したが、プリンタドライバが実行してもよい。プリンタドライバが本実施形態を実行する場合、プリンタドライバは、レイアウト編集アプリケーション１において本実施形態を実現するために必要なモジュールを備える必要がある。
【００７１】
（第５の実施形態）
ページをまたいでオブジェクトが描画される状態には、クリップを使ったオブジェクトの描画が行われる場合がある。オブジェクトを完全に断裁し、断裁した片方のオブジェクトをフロントページに、もう片方のオブジェクトをリアページに配置するには、断裁するためのオブジェクトのデータ解析等に手間がかかる。そこで、クリップを使った見せかけ上の分割（オブジェクト分割）を行う手法が取られる場合がある。
クリップを使ったオブジェクト分割が行われる例を、図１４を参照して説明する。フロントページ１４０１には、有効印字領域１４０５からはみ出てしまう位置にオブジェクト１４０２が存在している。このとき、リアページ１４０８には、フロントページ１４０１ではみ出たオブジェクト１４０２と同じオブジェクト１４０９が配置される。
さらに、フロントページ１４０１において、オブジェクト１４０２の全体を囲む枠が矩形１４０３である場合、有効印字領域を境として、領域１４０６を有効にし、描画結果１４１３が提供される。また、リアページ１４０８においても、オブジェクト１４０９の全体を囲む枠が矩形１４１０である場合、そのうちの領域１４１２を有効にして描画結果１４１４が提供される。ただし、実際には、フロントページ１４０１及びリアページ１４０８の両方に同じオブジェクトが配置されており、見せかけ上の分割が行われているのである。
ここで、クリップは、ページをまたいで描画されるオブジェクトをページ毎に一時的に保持する記憶領域である。クリップが有効（クリップする）に指定された領域に位置するオブジェクトの部分については描画が行われ、クリップが無効（クリップしない）に指定された領域に位置するオブジェクトの部分については描画が行われない。つまり、クリップは、既存のオブジェクトを断裁する手間を省くための、見せかけによる分割を実現するための記憶領域である。
【００７２】
このとき、レイアウト編集アプリケーション１が、第１の実施形態におけるステップＳ３０１，Ｓ３０２，Ｓ３０５，Ｓ３０６で行う手法によって先端ポイントを抽出する処理（先端ポイント抽出処理）を行うと、図１５で示すような先端ポイントが抽出される。
より詳細に説明すると、フロントページ１５０１及びリアページ１５０４の各々には、分割されていないオブジェクトがそのまま存在するので、フロントページ１５０１については、オブジェクト１５０２の先端ポイントとして先端ポイント１５０３が抽出される。また、リアページ１５０４については、オブジェクト１５０５の先端ポイントとして先端ポイント１５０６，１５０７が抽出される。この場合、フロントページ１５０１のオブジェクトの先端ポイントと、リアページ１５０４のオブジェクトの先端ポイントが重なることは無いので、２つのオブジェクトを再結合させることができない。
【００７３】
このように、有効印字領域の境界でクリップを使ったオブジェクトの分割が行われている場合、同じオブジェクトが、フロントページの右端及びリアページの左端、或いは、フロントページの下端及びリアページの上端に存在することになる。よって、有効印字領域をはみ出すオブジェクトが互いのページに存在する場合、ステップＳ３０１，Ｓ３０２，Ｓ３０５，Ｓ３０６で行うように、互いのオブジェクトの先端同士が結合するのに適しているかで先端ポイントを抽出する構成は適当ではない。すなわち、互いのオブジェクトを重なり合わせるのに適しているかという視点で一致度の算出を行う構成が必要となる。
よって、本実施形態では、図１６に示すように、先端ポイントの生成をオブジェクトの制御点に置く方法を採用する。ここで、制御点とは、グラフィック描画を制御するための座標点である。より具体的な例を示すと、直線であれば始点と終点とが制御点に当たり、その座標点を先端ポイントの生成位置とする。また、他の例として、コンピューターグラフィック上で曲線を扱う場合にはベジエ曲線が用いられるが、Ｎ次曲線（Ｎは自然数である。）が描かれる場合はＮ＋１個の制御をするための座標点が置かれることになる。この座標点をそのまま先端ポイントの生成位置とする。
【００７４】
ここで、どのような条件になった場合に先端ポイントをオブジェクトの制御点に置くべきと判定するかのより具体的な方法を、図１７に示すフローチャートを参照して説明する。
まず、ステップＳ１６０１において、補足図の１６Ａに示すように、レイアウト編集アプリケーション１は、フロントページ中のページ境界（例えば、有効印字領域）をはみ出してクリップが用いられるオブジェクトがあるか否かを確認する。例えば、対象とする電子文書がＰＤＦの場合、クリッピングパスを定義するためのコマンドが"Ｗ"として与えられているので、レイアウト編集アプリケーション１は、電子文書内で"Ｗ"コマンドがどのように設定されているのかを把握することで上記の確認をする。なお、クリッピングパスは、パスの構築後に"Ｗ"のコマンドを配置することで設定できる。
よって、レイアウト編集アプリケーション１は、オブジェクト全体の枠が矩形１４０３のようにページ境界をはみ出し、且つ、そのオブジェクトに対してクリッピングパスの定義が領域１４０６のようにページ境界に沿うようにして配置されているか否かを確認する。なお、ページ境界とは、メディア（紙面）の境界、有効印字領域の境界等である。１６Ａに示すように、フロントページのページ境界をはみ出してクリップが用いられるオブジェクトがあった場合（ステップＳ１６０１の処理においてＹｅｓの場合）、レイアウト編集アプリケーション１は、ステップＳ１６０２の処理を行う。他方、Ｎｏの場合は、レイアウト編集アプリケーション１は、クリップによるオブジェクト分割は行われていないと判定して処理を終了する。
【００７５】
ステップＳ１６０２において、補足図の１６Ｂに示すように、レイアウト編集アプリケーション１は、リアページ中のページ境界をはみ出してクリップが用いられるオブジェクトがあるか確認する。１６Ｂに示すように、リアページのページ境界をはみ出してクリップが用いられるオブジェクトがあった場合（ステップＳ１６０２の処理においてＹｅｓの場合）、レイアウト編集アプリケーション１は、ステップＳ１６０３の処理を行う。他方、Ｎｏの場合は、レイアウト編集アプリケーション１は、クリップによるオブジェクト分割は行われていないと判定して処理を終了する。なお、本実施形態では、オブジェクトに描画されない部分があるか否かを判別する判別手段の一例として、レイアウト編集アプリケーション１を採用している。
【００７６】
ステップＳ１６０３において、レイアウト編集アプリケーション１は、ステップＳ１６０１及びステップＳ１６０２にて確認されたクリップに係るオブジェクトが互いに重なり合うか否かを判定（一次判定）する。
補足図の１６Ｃに示すように、オブジェクトの外接矩形（オブジェクトの全体を囲む枠）の位置と幅とが同じでなければ重なり合うことはないので、レイアウト編集アプリケーション１は、位置及び幅が同じであるか否かの判定を行う。位置及び幅が同じであった場合には（ステップＳ１６０３の処理においてＹｅｓの場合）、ステップＳ１６０４の処理を行う。他方、Ｎｏの場合は、レイアウト編集アプリケーション１は、クリップによるオブジェクト分割は行われていないと判定して処理を終了する。
【００７７】
ステップＳ１６０４において、レイアウト編集アプリケーション１は、ステップＳ１６０１及びステップＳ１６０２で対象となったオブジェクトの制御点に対して、一致度算出のための先端ポイントを生成し、処理を終了する。なお、本実施形態では、オブジェクトの制御点をオブジェクトの先端として決定する決定手段の一例として、レイアウト編集アプリケーション１を採用している。
その後は、第１の実施形態におけるステップＳ３０１からの処理を開始する。しかしながら、ステップＳ１６０４にて先端ポイントをすでに付与されたオブジェクトに対しては、ステップＳ３０１〜Ｓ３０３、及びステップＳ３０５〜Ｓ３０７の処理は行う必要が無いので、レイアウト編集アプリケーション１は、処理をスキップする。
また、オブジェクト結合処理のステップＳ１３０５において、フロントページの結合ポイントにリアページで切り取ったオブジェクトを貼り付けたオブジェクトは重なっている。したがって、レイアウト編集アプリケーション１は、片方のオブジェクトは必要ないと判断して削除し、リソースの節約を行う。なお、本実施形態では、オブジェクトを指定する指定手段の一例として、レイアウト編集アプリケーション１を採用している。
なお、ステップＳ１６０４にて制御点に先端ポイントを生成する場合、複雑なグラフィックは制御点が多くなる。そこで、レイアウト編集アプリケーション１は、パフォーマンスへの影響を考慮して、先端ポイントを３か所に１個の配置としたり、上限を１０個に設定したりする等、先端ポイントの間引きを行ってもよい。
【００７８】
（第６の実施形態）
テキストのオブジェクトがページ間で描画される場合、第５の実施形態で示したように、クリップによるオブジェクト分割が行われる。ただし、テキストの場合はテキストに固有の属性値（例えば、フロントページのオブジェクトに係る第１の情報、リアページのオブジェクトに係る第２の情報）をもっている。そこで、テキストの制御点から先端ポイントを抽出して一致度の算出を行うより、テキストの属性値から一致するかどうかを確認する処理の方が演算量も少なくて済み、また、一致するか否かの判定をより正確に行うことができる。
テキストのオブジェクトが表面的に分割された例を図１８に示す。フロントページ１７０１に収まりきらなかったテキストが、リアページ１７０２の左端から配置されている。このとき、レイアウト編集アプリケーション１は、テキストが持つグラフィック関数の制御点を先端ポイントとして定義して、そこから一致度算出を行うのではなく、テキストの属性値に基づいて結合させるか否かを判定する。すなわち、第５の実施形態のステップＳ１６０４のタイミングにおいて対象のオブジェクトがテキストであるとき、レイアウト編集アプリケーション１は、テキストの属性値に基づいて結合させるか否かを判定する。より具体的には、レイアウト編集アプリケーション１は、フォントサイズ、色、フォントの種類、テキストコードが両ページのオブジェクトで一致している場合、一致度算出の処理をスキップし、オブジェクト結合処理を行うことで両者のオブジェクトを結合する。なお、本実施形態では、第１の情報及び第２の情報が一致するか否かを判定する判定手段の一例として、レイアウト編集アプリケーション１を採用している。
【００７９】
（第７の実施形態）
イメージのオブジェクトを結合する場合においては、イメージデータの矩形の端に先端ポイントを置いて一致度を算出することができる。しかしながら、第６の実施形態で説明したテキストオブジェクトの結合処理のように、イメージデータが持っている属性値を用いることで、分割されたオブジェクトが一致するか否かを判定してもよい。
イメージのオブジェクトが分割される場合、第１の実施形態で示されているように、元のイメージのオブジェクトが断裁され、フロントページとリアページとにそれぞれ分けて配置される。なお、イメージのオブジェクトを断裁してフロントページとリアページとに分けて配置される場合、断裁された境界付近の領域の描画を、フロントページ及びリアページの両方に載せる手法がとられることが一般的である。
より具体的には、図１９に示すように、フロントページ１８０１で切れたイメージは、リアページ１８０２にて切れた後のイメージが描画されているが、断裁された境界付近の領域は両方のページに描画されている。このように、途切れてしまう箇所を見やすくするために、描画が重なる領域を作るようにイメージデータを断裁して、フロントページとリアページとに断裁されたイメージデータが配置されている。
【００８０】
このように、描画が重なる領域を作るようにイメージデータが断裁されている場合、フロントページとリアページとに配置されているイメージデータには、同じデータ配列の描画が少なくとも１列以上存在していることになる。よって、イメージのオブジェクトにおいて一致するか否かの判定は、フロントページ側のイメージにおける特定列のデータ配列と、リアページのイメージにおける特定列のデータ配列とに、一致する箇所があるかを確認することにより行われる。
より具体的には、フロントページのイメージの外接矩形とリアページのイメージの外接矩形との角が、両者のイメージがページの境界にある場合に、レイアウト編集アプリケーション１は、両者のイメージが一致するか否かの確認を行う。両者のイメージがページの境界にある場合とは、第１の実施形態のステップＳ３０１，Ｓ３０２、又はステップＳ３０５，Ｓ３０６で先端ポイントが生成される位置にある場合である。例えば、図１９の場合で示すと、ステップＳ３０５のタイミングにて先端ポイント１８０３，１８０４が形成され、さらにステップＳ３０６のタイミングにて先端ポイント１８０５，１８０６が生成される。
このとき、まず、レイアウト編集アプリケーション１は、リアページのイメージデータにおいて、最もフロントページ側にある１列のデータ配列１８０７をピックアップする。さらに、レイアウト編集アプリケーション１は、フロントページのイメージのデータ中において一致する列があるか、最もリアページ側のデータ配列１８０８から確認し、データ配列１８０９，１８１０のように確認する列を進めていく。一致した場合は、レイアウト編集アプリケーション１は、結合処理を行うことで一致したポイント（データ配列）にて両者のイメージのオブジェクトを結合する。なお、本実施形態では、オブジェクトのデータ配列を比較する比較手段の一例として、レイアウト編集アプリケーション１を採用している。
【００８１】
（第８の実施形態）
第１の実施形態では、ステップＳ３０３及びステップＳ３０７にて一致度を算出する場合、図６に示す手順（６０２、６０３、６０４、６０５・・・）によるサンプリングを行うことで一致度を算出している。このサンプリングを行う処理は、演算量が多く、文書処理装置における全体処理の中でもボトルネックとなり得るため、できる限り演算量を軽減したい。
ここで、オブジェクトが分割される境界は、図２０で示すように有効印字領域付近がほとんどである。よって、電子文書内に表示指定領域の一例である有効印字領域が指定（設定）されている場合においては、一致度の算出を開始する位置（場所）を、お互いのページの有効印字領域の境界付近（例えば、重なり合う境界線）とすることで演算量の軽減を行う。ここでの境界付近としては、有効印字領域の境界線から先端ポイントを数十回ずらした範囲内を採用する。
【００８２】
図２１に、演算量を軽減するための一致度の算出開始位置判定処理に係るフローチャートを示す。なお、一致度の算出開始位置判定処理は、ステップＳ３０３及びステップＳ３０７に示す一致度を算出する処理を行う直前に行われることがより好適である。
まず、ステップＳ２００１において、レイアウト編集アプリケーション１は、取り扱っている電子文書内に有効印字領域の設定があるか否かを確認する。なお、本実施形態では、表示指定領域が設定されているか否かを確認する確認手段の一例として、レイアウト編集アプリケーション１を採用している。
有効印字領域の設定がある場合（ステップＳ２００１でＹｅｓである場合）は、レイアウト編集アプリケーション１は、図２２に示すように、フロントページとリアページとの有効印字領域が重なる位置から一致度の算出を行う設定をする（ステップＳ２００２）。他方、有効印字領域の設定がない場合、レイアウト編集アプリケーション１は、互いのページの端から一致度の算出を行う設定をする（ステップＳ２００３）。
なお、有効印字領域から一致度の算出を行った場合、図２３で示すように、第１の実施形態では破線２１０１の箇所もサンプリングしていたのに対し、本実施形態では、実線２１０２の箇所のみのサンプリングで抑えることができる。この構成によれば、演算量を軽減することができる。
【００８３】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。なお、例えば、各実施形態に係る各処理は、適宜組み合わせることができる。
【符号の説明】
【００８５】
１  レイアウト編集アプリケーション、２０１  ＣＰＵ、２０２  キーボード、２０３  ディスプレイ、２０４  ハードディスク、２０５  ＲＯＭ、２０６  ＲＡＭ
【図１】
2010218536.tif 000003
【図２】
2010218536.tif 000004
【図３】
2010218536.tif 000005
【図４】
2010218536.tif 000006
【図５】
2010218536.tif 000007
【図６】
2010218536.tif 000008
【図７】
2010218536.tif 000009
【図８】
2010218536.tif 000010
【図９】
2010218536.tif 000011
【図１０】
2010218536.tif 000012
【図１１】
2010218536.tif 000013
【図１２】
2010218536.tif 000014
【図１３】
2010218536.tif 000015
【図１４】
2010218536.tif 000016
【図１５】
2010218536.tif 000017
【図１６】
2010218536.tif 000018
【図１７】
2010218536.tif 000019
【図１８】
2010218536.tif 000020
【図１９】
2010218536.tif 000021
【図２０】
2010218536.tif 000022
【図２１】
2010218536.tif 000023
【図２２】
2010218536.tif 000024
【図２３】
2010218536.tif 000025