(57)【要約】【課題】  複数の描画オブジェクトが重なっている状態において、ユーザが所望とする描画オブジェクトを容易に選択することができなかった。【解決手段】  複数の描画オブジェクトの重なり状態に基づいて、描画オブジェクトが他の描画オブジェクトの背面にレイアウトされるか否かを判定し、その判定結果に基づいて選択すべき描画オブジェクトを決定する。【選択図】  図３９
2007279831.tif 000002
【特許請求の範囲】
【請求項１】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置であって、
選択範囲を指定する指定手段と、
前記指定手段によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを描画オブジェクトの重なり状態に基づいて判定する判定手段と、
前記判定手段により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定手段を有することを特徴とする情報処理装置。
【請求項２】
前面にレイアウトされている描画オブジェクトを選択する第１選択方法、または、背面にレイアウトされている描画オブジェクトを選択する第２選択方法を設定する設定手段を有し、
前記決定手段は、前記選択方法として第１選択方法が設定されていた場合、前記判定手段により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定し、前記選択方法として第２選択方法が設定されていた場合、前記判定手段により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、描画オブジェクトの実データ領域が他の描画オブジェクトの実データ領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記各描画オブジェクトの実データ領域情報および前記各描画オブジェクトの表示属性情報とに基づいて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記各描画オブジェクトの実データ領域情報に基づいて他の描画オブジェクトの背面にレイアウトされると判定された第１描画オブジェクトについて、当該第１描画オブジェクトの前面にレイアウトされる第２描画オブジェクトに対して特定の表示属性情報が設定されている場合、前記判定手段は、前記第１描画オブジェクトは他の描画オブジェクトの背面にレイアウトされる描画オブジェクトではないと判定することを特徴とする請求項４に情報処理装置。
【請求項６】
前記特定の表示属性情報とは、前記第２描画オブジェクトに対する塗りつぶし設定なし、または、塗りつぶし色が透明であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記判定手段は、描画オブジェクトの実描画領域が他の描画オブジェクト群の実描画領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置であって、
選択範囲を指定する指定手段と、
前記指定手段によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを複数の描画オブジェクトの重なり状態に基づいて判定する判定手段と、
前記判定手段により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定手段を有することを特徴とする情報処理装置。
【請求項９】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置における情報処理方法であって、
選択範囲を指定する指定工程と、
前記指定工程によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを描画オブジェクトの重なり状態に基づいて判定する判定工程と、
前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定工程を有することを特徴とする情報処理方法。
【請求項１０】
前面にレイアウトされている描画オブジェクトを選択する第１選択方法、または、背面にレイアウトされている描画オブジェクトを選択する第２選択方法を設定する設定工程を有し、
前記決定工程は、前記選択方法として第１選択方法が設定されていた場合、前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定し、前記選択方法として第２選択方法が設定されていた場合、前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定することを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記判定工程は、描画オブジェクトの実データ領域が他の描画オブジェクトの実データ領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項９または１０に記載の情報処理方法。
【請求項１２】
前記判定工程は、前記各描画オブジェクトの実データ領域情報および前記各描画オブジェクトの表示属性情報とに基づいて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理方法。
【請求項１３】
前記各描画オブジェクトの実データ領域情報に基づいて他の描画オブジェクトの背面にレイアウトされると判定された第１描画オブジェクトについて、当該第１描画オブジェクトの前面にレイアウトされる第２描画オブジェクトに対して特定の表示属性情報が設定されている場合、前記判定工程は、前記第１描画オブジェクトは他の描画オブジェクトの背面にレイアウトされる描画オブジェクトではないと判定することを特徴とする請求項１２に情報処理方法。
【請求項１４】
前記特定の表示属性情報とは、前記第２描画オブジェクトに対する塗りつぶし設定なし、または、塗りつぶし色が透明であることを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記判定工程は、描画オブジェクトの実データ領域が他の描画オブジェクト群の実データ領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項９乃至１４のいずれか１項に記載の情報処理方法。
【請求項１６】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置における情報処理方法であって、
選択範囲を指定する指定工程と、
前記指定工程によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを描画オブジェクトの重なり状態に基づいて判定する判定工程と、
前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定工程を有することを特徴とする情報処理方法。
【請求項１７】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置において実行可能な情報処理プログラムであって、
選択範囲を指定する指定工程と、
前記指定工程によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを描画オブジェクトの重なり状態に基づいて判定する判定工程と、
前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定工程を有することを特徴とする情報処理装置で実行可能な情報処理プログラム。
【請求項１８】
前面にレイアウトされている描画オブジェクトを選択する第１選択方法、または、背面にレイアウトされている描画オブジェクトを選択する第２選択方法を設定する設定工程を有し、
前記決定工程は、前記選択方法として第１選択方法が設定されていた場合、前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定し、前記選択方法として第２選択方法が設定されていた場合、前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定することを特徴とする請求項１７に記載の情報処理プログラム。
【請求項１９】
前記判定工程は、描画オブジェクトの実データ領域が他の描画オブジェクトの実データ領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１７または１８に記載の情報処理プログラム。
【請求項２０】
前記判定工程は、前記各描画オブジェクトの実データ領域情報および前記各描画オブジェクトの表示属性情報とに基づいて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１７乃至１９のいずれか１項に記載の情報処理プログラム。
【請求項２１】
前記各描画オブジェクトの実データ領域情報に基づいて他の描画オブジェクトの背面にレイアウトされると判定された第１描画オブジェクトについて、当該第１描画オブジェクトの前面にレイアウトされる第２描画オブジェクトに対して特定の表示属性情報が設定されている場合、前記判定工程は、前記第１描画オブジェクトは他の描画オブジェクトの背面にレイアウトされる描画オブジェクトではないと判定することを特徴とする請求項２０に情報処理プログラム。
【請求項２２】
前記特定の表示属性情報とは、前記第２描画オブジェクトに対する塗りつぶし設定なし、または、塗りつぶし色が透明であることを特徴とする請求項２１に記載の情報処理プログラム。
【請求項２３】
前記判定工程は、描画オブジェクトの実データ領域が他の描画オブジェクト群の実データ領域に包含されるかを判定することによって、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定することを特徴とする請求項１７乃至２２のいずれか１項に記載の情報処理プログラム。
【請求項２４】
複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置において実行可能な情報処理プログラムであって、
選択範囲を指定する指定工程と、
前記指定工程によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを描画オブジェクトの重なり状態に基づいて判定する判定工程と、
前記判定工程により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定工程を有することを特徴とする情報処理装置において実行可能な情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパーソナルコンピュータなどの情報処理装置で、電子データを編集する情報処理装置に関するものである。
【背景技術】
【０００２】
従来、紙の文書をスキャナで読み取り、読み取った画像データに対して修正指示、両面またはステイプル、パンチ穴等の加工指示を付加して印刷装置へ出力する処理が一般的に行われている。
【０００３】
また、情報処理装置に記憶されているアプリケーションを用いて作成した文書データを、作成したアプリケーションに依存しない電子データに変換し、両面またはステイプル、パンチ穴等の加工指示を付加して印刷装置へ出力することが一般的に行われている。
【０００４】
さらに、複数のアプリケーションソフトウェアで作成した複数の文書データを取り込み、作成したアプリケーションに依存しない電子データに変換する技術も一般的に行われている。電子データには、複数の描画オブジェクトが含まれており、ユーザは、所望とする描画オブジェクトに対して、削除等の編集処理を実行することができる。
【０００５】
この編集処理を実行する際、作業の効率化を図るため、複数の描画オブジェクトをまとめて編集することが行われている。一般的な技術として、ユーザは、マウス等の入力機器を用いて選択範囲を指定すると、この選択範囲に含まれる複数の描画オブジェクトがまとめて選択される。そして、ユーザが、選択状態を保ったまま所望の編集処理を実行することにより、複数の描画オブジェクトをまとめて編集することが可能となる。
【０００６】
また、描画オブジェクトを編集する際に、描画オブジェクトの重なり順序を変更する処理も一般的に行われている。一般的に行われている処理方法は、重なり順序を変更したいオブジェクトを選択して、そのオブジェクトを他のオブジェクトより前面に移動させるか、背面に移動するかを選択する方法である。さらに、一番前面に移動させる「最前面に移動」や、一番背面に移動させる「最背面に移動」といった機能も一般的に行われている。
【０００７】
また、オブジェクト同士が重なりを持っているときに、背面にあるオブジェクトが完全に隠れている場合、表示上は背面にあるオブジェクトが見えない状態になる。このような状態での編集作業を効率化する技術が特許文献１に記載されている。特許文献１の情報処理装置は、オブジェクト同士が重なりを持っている場合、見えていない描画オブジェクトが存在する位置でマウスをクリックすると、見えていないオブジェクトを選択して、一番上に表示する。
【特許文献１】特開平０８−２７２９９３
【特許文献２】特開２００３−９１５１８
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した特許文献１に記載の技術では、多数のオブジェクトが重なっている場合、ユーザが望んでいないオブジェクトを選択してしまい、所望としないオブジェクトが一番上に表示される恐れがある。
【０００９】
また、複数の描画オブジェクトをまとめて編集する際の問題点の一例として図３３を挙げて説明する。図３３では表形式の表オブジェクト群が重なっている様子を示している。しかし、表オブジェクト群は、一般アプリケーションのプレビュー上においては１つのオブジェクトに見えるが、実際は、矩形オブジェクト３３０２、テキストオブジェクト３３０３など、複数の描画オブジェクトによって形成されている。つまり、一般アプリケーションは、例えば表のように描画関数を用いて表現できないオブジェクトをプリンタドライバ等に出力する場合、複数の描画オブジェクトの集合体を出力してくる。
【００１０】
特許文献２には、本願の図１に記述するシステムについて記載されている。一般アプリケーションは、出力先として電子原稿ライタを選択し、一般アプリケーションが作成した描画データは電子原稿ライタを介して製本アプリケーションに出力されることが記載されている。このシステムにおいても、一般アプリケーションは、描画関数を用いて表現できないオブジェクトについて複数の描画オブジェクトの集合体を出力する。そのため、電子原稿ライタは、描画オブジェクトの集合体を構成する個々の描画オブジェクトを製本アプリケーション用のデータに変換して、製本アプリケーションへ出力する。その結果、製本アプリケーションが、電子原稿ライタが作成した製本アプリケーション用のデータを編集する場合、図３３に示すように描画オブジェクトを個別に編集しなければならない。この際に、編集作業を効率的に行うために、ユーザが意図する表オブジェクト群を選択して、まとめて編集する処理が考えられる。
【００１１】
ユーザが表オブジェクト群３３００を選択して編集を行う場合、ユーザは、表オブジェクト群３３００を全て包含するように選択範囲３３０５を指定する。選択範囲３３０５によって囲まれた表オブジェクト群３３００の矩形オブジェクトおよびテキストオブジェクトは選択状態になり、選択ハンドルが表示される。この選択状態を保ったまま編集処理を実行すると、選択状態となっている矩形オブジェクトおよびテキストオブジェクトに対して編集処理が反映される。例えば、編集処理の一例として移動処理を実行すると、選択状態となっている矩形オブジェクトおよびテキストオブジェクトは全て編集対象となるため、編集結果は３３０７および３３０８となる。つまり、ユーザが指定した選択範囲である３３０５内に、ユーザが選択対象として意図していない表オブジェクト群３３０１を形成する矩形オブジェクトおよびテキストオブジェクトが含まれる。そのため、ユーザが意図しない矩形オブジェクトおよびテキストオブジェクトまでも選択状態３３０６になってしまう。従って、移動処理を行った結果、ユーザが意図していない矩形オブジェクトおよびテキストオブジェクトも一緒に移動されてしまう。よって、複数の描画オブジェクト群が重なっている状態で所望とする描画オブジェクトを選択する場合、ユーザは、表示上は認識できない背面の描画オブジェクトを認識しながら選択しなければならず、操作性を著しく悪化させる恐れがある。
【００１２】
本願は、上述した問題点を解決することを目的としており、複数の描画オブジェクトが重なっている状態であっても、ユーザが所望とする描画オブジェクトを容易に選択可能とする技術を提供する。
【課題を解決するための手段】
【００１３】
本発明は、上述した問題点を踏まえてなされてものであり、複数の描画オブジェクトに対する編集処理を実行可能な情報処理装置であって、選択範囲を指定する指定手段と、前記指定手段によって指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを複数の描画オブジェクトの重なり状態に基づいて判定する判定手段と、前記判定手段により他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する決定手段を有することを特徴とする。
【発明の効果】
【００１４】
以上、本発明を用いることによって、複数のオブジェクト群が重なっている状態であっても、ユーザは所望とする描画オブジェクトを容易に選択することが可能となり、操作性の向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１６】
［システム概要］
まず、本発明に係る文書処理システムの概要について、図１乃至図１２を参照して以下に説明する。尚、この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。製本アプリケーションは、作成されたデータを１つにまとめた文書の作成及び編集を可能とし、その操作性を向上させて文書編集の効率化を図る。
【００１７】
［システム構成及び動作］
図１は、本実施形態の文書処理システムのソフトウェア構成を示す。文書処理システムは、本発明の情報処理装置に好適な実施形態であるデジタルコンピュータ１０１（以下、ホストコンピュータとも呼ぶ）によって実現されている。図１に示す一般アプリケーション１０１は、ワードプロセシングやスプレッドシート、フォトレタッチ、ドロー、あるいはペイント、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、ＯＳに対する印刷機能を有している。これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータ（描画データ）を印刷する際に、オペレーティングシステム（ＯＳ）によって提供される所定のインタフェース（一般に、ＧＤＩと呼ばれる）を利用する。即ち、アプリケーション１０１は、作成した描画データを印刷するために、上述のインタフェースに依存する形式の出力コマンド（ＧＤＩ関数と呼ばれる）を送信する。一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタドライバが処理可能な形式に変換して、変換されたコマンド（ＤＤＩ関数と呼ばれる）を出力する。出力デバイスが処理可能な形式は、デバイスの種類やメーカなどによって異なるため、デバイスごとにデバイスドライバが提供されている。デバイスドライバは、出力されたコマンド（例えばＤＤＩ関数）を変換して、プリンタが解釈可能な印刷データを生成し、ＪＬ（Ｊｏｂ  Ｌａｎｇｕａｇｅ）でくくることにより印刷ジョブを生成する。ＯＳとしてマイクロソフト社のウインドウズを利用する場合、前述した出力モジュールはＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるモジュールが相当する。
【００１８】
電子原稿ライタ１０２は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。但し、電子原稿ライタ１０２は、特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション１０４やプリンタドライバ１０６により処理可能な形式に出力コマンドを変換する。この電子原稿ライタ１０２による変換後の形式（以後電子原稿形式と呼ぶ）は、ページ単位の原稿を詳細な書式をもって表現可能であれば良い。実質的な標準形式のうち、例えばアドビシステムズによるＰＤＦ形式やＳＶＧ形式などが電子原稿形式として採用できる。
【００１９】
一般アプリケーション１０１が電子原稿ライタ１０２を利用する場合には、出力に使用するデバイスドライバとして電子原稿ライタ１０２を指定してから印刷を実行する。但し、電子原稿ライタ１０２によって作成された電子原稿ファイルは、電子原稿ファイルとして完全な形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ１０２を指定するのは製本アプリケーション１０４であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。そして、製本アプリケーション１０４は電子原稿ライタ１０２が生成した電子原稿ファイルを後述する形式を備えた電子原稿ファイルとして完成させる。以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ１０２によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション１０４によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル（または文書データ）と呼ぶ。
【００２０】
このように、製本アプリケーション１０４は、デバイスドライバとして電子原稿ライタ１０２を指定し、一般アプリケーション１０１によりデータを印刷させる。その結果、アプリケーションデータはアプリケーション１０１によって定義されたページ（以後論理ページあるいは原稿ページと呼ぶ）を単位とする電子原稿形式に変換され、電子原稿ファイル１０３としてハードディスクなどの記憶媒体に格納される。尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータが備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【００２１】
製本アプリケーション１０４は電子原稿ファイル（あるいはブックファイル）１０３を読み込み、それを編集するための機能を利用者に提供する。但し、製本アプリケーション１０４は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される後述の章やブックの構造を編集するための機能を提供している。
【００２２】
製本アプリケーション１０４によって編集されたブックファイル１０３を印刷する際、製本アプリケーション１０４によって電子原稿デスプーラ１０５が起動される。電子原稿デスプーラ１０５は、製本アプリケーションと共にコンピュータ内にインストールされるプログラムモジュールである。電子原稿デスプーラ１０５は、製本アプリケーションによって生成されたドキュメント（ブックファイル）を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。電子原稿デスプーラ１０５は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したＯＳの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。その際に、出力デバイスとして使用されるプリンタ１０７用のプリンタドライバ１０６がデバイスドライバとして指定される。上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ１０７用のプリンタドライバ１０６に出力し、そのプリンタドライバ１０６がプリンタ１０７で解釈実行可能なページ記述言語等のコマンドに変換する。そして、変換されたコマンドはプリンタドライバ１０６から不図示のシステムスプーラを介してプリンタ１０７に送信され、プリンタ１０７によってコマンドに応じた画像が印刷される。
【００２３】
図２は、コンピュータ１００のハードウェアブロック図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、あるいはハードディスク２１１からＲＡＭ２０２にロードされたＯＳやアプリケーションなどのプログラムを実行する。
【００２４】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、種々のアプリケーション、フォントデータ、後述する編集ファイル等を記憶するハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスク（ＦＤ）等とのアクセスを制御する。ＰＲＴＣ２０８は、接続されたプリンタ１０７との間の信号の交換を制御する。ＮＣ２１２はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００２５】
［電子原稿データの形式］
製本アプリケーション１０４の詳細を言及する前に、ブックファイルのデータ形式について説明する。ブックファイルは紙媒体の書物を模倣した３層の層構造を有する。まず、上位層は「ブック」と呼ばれ、１冊の本を模倣しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
【００２６】
図３に示す（Ａ）は、ブックファイルの形式の一例を模式的に示す図である。図示するように、この例では、ブックファイルにおけるブック，章，ページは、それぞれに相当するノードにより示されている。一つのブックファイルは一つのブックを含む。ブック、章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体（原稿ページデータ）と各原稿ページデータへのリンクを含む。
【００２７】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【００２８】
図３において、ブック３０１には、ブック属性が定義されていると共に、２つの章３０２Ａ，３０２Ｂがリンクされている。このリンクにより、章３０２Ａ，３０２Ｂがブック３０１に包含されていることが表示される。章３０２Ａには、ページ３０３Ａ，３０３Ｂがリンクされ、これらページが含まれることが示されている。各ページ３０３Ａ，３０３Ｂにはそれぞれ属性値が定義され、その実体である原稿ページデータ（１）、（２）へのリンクが含まれる。これらリンクは、図３に示す（Ｂ）のように原稿ページデータ３０４のデータ（１），（２）を指し示し、ページ３０３Ａ、３０３Ｂの実体が原稿ページデータ（１）、（２）であることを表示している。
【００２９】
図４は、ブック属性のリストである。下位層と重複して定義可能な項目に関しては、下位層の属性値が優先的に採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に１項目に対応するのではなく、関連する複数の項目を含むものもある。
【００３０】
図５は章属性の、図６はページ属性のリストである。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【００３１】
図４〜図６から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙／裏表紙、インデックス紙、合紙、章区切りの６項目である。これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の３つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして２つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【００３２】
表紙／裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きのインデックス紙の挿入の指定及びインデックス（耳）部分への印刷内容の指定を含む。この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【００３３】
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
【００３４】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が１枚の用紙に印刷されることは無いが、「新たな印刷ページの使用」を指定すれば、連続する章が１枚の用紙の表裏に印刷されることがあり得る。
【００３５】
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。従って、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、Ｎ−ｕｐ印刷指定、拡大縮小、排紙方法の５項目である。これらのうち、Ｎ−ｕｐ印刷指定属性は１印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、１×１、１×２、２×２、３×３、４×４などがある。排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【００３６】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを１００％として指定される。仮想論理ページ領域とは、原稿ページを、Ｎｕｐ等の指定に応じて配置した場合に、１原稿ページが占める領域である。例えば、１×１であれば、仮想論理ページ領域は１印刷（物理）ページに相当する領域となり、１×２であれば、仮想論理ページ領域は１印刷（物理）ページの各辺を約７０パーセントに縮小した領域となる。
【００３７】
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。尚、ウォーターマーク属性およびヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。ブックにおいてはウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【００３８】
［ブックファイルの生成手順］
ブックファイルは上述したような構造及び内容を有している。次に、製本アプリケーション１０４及び電子原稿ライタ１０２によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション１０４によるブックファイルの編集操作の一環として実現される。
【００３９】
図７は、製本アプリケーション１０４によりブックファイルを開く際の手順を示すフローチャートである。なお、本願のフローチャートの各ステップは、ＣＰＵ２０１によって実行される。まず、製本アプリケーション１０４は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する（ステップＳ７０１）。新規作成であると判定された場合、製本アプリケーション１０４は、章を含まないブックファイルを新規に作成する（ステップＳ７０２）。新規に作成されるブックファイルは、図３の例で示せば、ブックノード３０１のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。そして、製本アプリケーション１０４は、新規ブックファイルを編集するためのユーザインタフェース（ＵＩ）画面を表示する（ステップＳ７０３）。図１１は、新規にブックファイルが作成された際のＵＩ画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、ＵＩ画面１１００には何も表示されない。
【００４０】
一方、製本アプリケーション１０４は、既存のブックファイルがあると判定した場合、指定されたブックファイルを開き（ステップＳ７０３）、そのブックファイルの構造、属性、内容に従ってユーザインタフェース（ＵＩ）画面を表示する。図１０は、既存のブックファイルから指定されたブックファイルを表示するＵＩ画面の一例である。ＵＩ画面１１００は、ブックの構造を示すツリー部１１０１と、印刷された状態を表示するプレビュー部１１０２とを含む。ツリー部１１０１には、ブックに含まれる章、各章に含まれるページが図３に示す（Ａ）のような木構造で表示される。ツリー部１１０１に表示されるページは原稿ページである。またプレビュー部１１０２には、印刷ページの内容が縮小されて表示される。その表示順序はブックの構造を反映したものとなっている。
【００４１】
さて、開かれたブックファイルには、電子原稿ライタ１０２によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。図７に示す手順によって新規に作成されたブックファイルに電子原稿ファイルをインポートすることで、製本アプリケーション１０４は、インポートされた電子原稿ファイルを含むブックファイルを生成する。この機能は、図１０の画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【００４２】
図８に電子原稿インポートの手順を示す。まず、製本アプリケーション１０４は、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ１０２を指定してアプリケーションデータを出力する。その結果、製本アプリケーション１０４は、アプリケーションデータを電子原稿データに変換する（ステップＳ８０１）。変換を終えたなら、製本アプリケーション１０４は、変換されたデータが画像データであるか否かを判定する（ステップＳ８０２）。この判定は、ウインドウズＯＳの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。例えば、拡張子が「ｂｍｐ」であればウインドウズビットマップデータであり、「ｊｐｇ」であればｊｐｅｇ圧縮された画像データ、「ｔｉｆｆ」であればｔｉｆｆ形式の画像データであると判定できる。また、このような画像データの場合はＳ８０１のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能である。
【００４３】
ここで、画像データでなかった場合、製本アプリケーション１０４は、ステップＳ８０１で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加する（ステップＳ８０３）。章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、予め用意された規定値に設定される。
【００４４】
また、ステップＳ８０２で画像データであると判定された場合、製本アプリケーション１０４は、原則として新たな章を追加せず、指定されている章に、ステップＳ８０１で生成された電子原稿ファイルに含まれる各原稿ページを追加する（ステップＳ８０４）。但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。例えば、Ｎｕｐ指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成、あるいは、新規な章が追加される。
【００４５】
図９は、図８に示すステップＳ８０１において、電子原稿ライタ１０２により電子原稿ファイルを生成させる手順のフローチャートである。まず、製本アプリケーション１０４は、新たな電子原稿ファイルを作成して開く（ステップＳ９０１）。製本アプリケーション１０４は、指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタをデバイスドライバとしてＯＳの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ１０２によって電子原稿形式のデータに変換され、出力される（ステップＳ９０２）。電子原稿形式のデータの出力先はステップＳ９０１で開いた電子原稿ファイルである。製本アプリケーション１０４は、指定されたデータ全てについて変換が終了したか判定し（ステップＳ９０３）、終了していれば電子原稿ファイルを閉じる（ステップＳ９０４）。電子原稿ライタ１０２によって生成される電子原稿ファイルは、図３の（Ｂ）に示される原稿ページデータの実体を含むファイルである。
【００４６】
［ブックファイルの編集］
以上のようにして、アプリケーションデータからブックファイルを作成することができる。ユーザは、製本アプリケーションを利用して、生成されたブックファイルの章及びページに対して次のような編集操作が可能である。
（１）新規追加
（２）削除
（３）コピー
（４）切り取り
（５）貼り付け
（６）移動
（７）章名称変更
（８）ページ番号名称振り直し
（９）表紙挿入
（１０）合紙挿入
（１１）インデックス紙挿入
（１２）各原稿ページに対するページレイアウト。
【００４７】
このほか、製本アプリケーション１０４は、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。これら編集機能により、製本アプリケーション１０４は、例えば複数のブックファイルの統合、ブックファイル内で章またはページの再配置、または削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。これらの操作を行うと、図４、図５に示す属性に操作結果が反映される、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やＮ−ｕｐ印刷、表紙／裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【００４８】
［ブックファイルの出力］
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。ここで、利用者が図１０に示した製本アプリケーションのＵＩ画面１１００からファイルメニューを選択し、そこから印刷を選択すると、ブックファイルは指定した出力デバイスにより印刷出力される。この際、まず製本アプリケーション１０４は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ１０５に渡す。一方、電子原稿デスプーラ１０５は、ジョブチケットをＯＳの出力コマンド、例えばウインドウズのＧＤＩ関数に変換し、それを出力モジュール、例えばＧＤＩに送信する。出力モジュールによって出力されたコマンドは、指定されたプリンタドライバ１０６によってデバイスに適したコマンドに変換され、そのデバイスに送信される。
【００４９】
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは１ジョブにつき１つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷／片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。１シートは１枚の用紙に相当する。各シートには、印刷ページ（物理ページ）が属する。片面印刷ならば１シートには１物理ページが属し、両面印刷ならば１シートに２物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。また物理ページの属性として、原稿ページのレイアウトが含まれる。
【００５０】
電子原稿デスプーラ１０５は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【００５１】
［そのほかのシステム構成］
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理される。
【００５２】
図１２は、サーバクライアント型文書処理システムの構成を示すブロック図である。クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるＤＯＭＳドライバ１０９及びＤＯＭＳプリントサービスモジュール１１０、ＤＳ（文書サービス）クライアントモジュール１０８を加えた構成を有する。なお、ＤＯＭＳとは、Ｄｏｃｕｍｅｎｔ  Ｏｕｔｐｕｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅ（文書出力管理サービス）を指す。このクライアント文書処理システム１２００に文書管理サーバ１２０１、印刷集中管理サーバ１２０２及びプリントサーバ１２０３が接続されている。これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
【００５３】
尚、図１２に示す例では、文書管理サーバ１２０１と印刷集中管理サーバ１２０２の両方のサーバがクライアントに接続されているが、何れか一方のみネットワーク上に存在する場合もあり得る。
【００５４】
文書管理サーバ１２０１は、製本アプリケーション１０４により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ１２０１によってブックファイルを管理する場合、ブックファイルはクライアントＰＣのローカルＨＤに代わって、あるいはそれに加えて、文書管理サーバ１２０１のデータベース１２１１に保存される。製本アプリケーション１０４と文書管理サーバ１２０１との間のブックファイルの保存及び読み出しは、ＤＳクライアント１０８及びＤＳコア１２１２を介して行われる。
【００５５】
印刷集中管理サーバ１２０２は、クライアント文書管理システム１２００に格納された、あるいは文書管理サーバ１２０１に格納されたブックファイルの印刷を管理するサーバである。クライアントにおける印刷要求は、ＤＯＭＳドライバ１０９およびＤＯＭＳプリントサービスモジュール１１０を介して印刷集中管理サーバ１２０２のＤＯＭＳＷＧサーバモジュール１２２１に送信される。集中印刷管理サーバ１２０２は、クライアントのプリンタで印刷する場合にはクライアントのＤＯＭＳプリントサービスモジュール１１０を介して電子原稿デスプーラ１０５に電子原稿データを渡す。そして、プリントサーバ１２０３により印刷する場合、集中印刷管理サーバ１２０２は、プリントサーバ１２０３のＤＯＭＳプリントサービスモジュール１２０３に送信する。集中印刷管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【００５６】
［プレビュー表示の内容］
既に説明した通り、ブックファイルが製本アプリケーションによって開かれると、図１０に示したユーザインタフェース画面１１００が表示される。ツリー部１１０１には、開いているブック（以下、「注目ブック」と呼ぶ）の構造を示すツリーが表示される。プレビュー部には、利用者の指定に応じて、３通りの表示方法が用意されている。まず、第１は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。尚、プレビュー部１１０２の表示にレイアウトは反映されない。次に、第２は印刷ビューモードである。この印刷ビューモードでは、プレビュー部１１０２には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第３は簡易印刷ビューモードである。この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【００５７】
［ステイプル制御］
次に、ステイプル機能を有するプリンタと接続するコンピュータ１００の製本アプリケーション１０４によって行われるステイプル制御について説明する。
【００５８】
図１３は、ステイプル制御システムの構成を示すブロック図である。図示するように、ステイプル制御システムは、図２に示したホストコンピュータ１００とステイプル機能を有するプリンタ１０７とで構成される。
【００５９】
以下、プリンタ１０７の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【００６０】
図示するように、プリンタ１０７において、１３０１はプリンタＣＰＵである。ＣＰＵ１３０１は、ＲＯＭ１３０２内または外部メモリ１３０３に記憶された制御プログラム等に基づいてシステムバス１３０４に接続される印刷部Ｉ／Ｆ１３０５を介して、印刷部（プリンタエンジン）１３０６に出力情報としての画像信号を出力する。ＲＯＭ１３０２内のプログラムＲＯＭには、ＣＰＵ１３０１の制御プログラム等が記憶される。また、ＲＯＭ１３０２内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等が記憶される。ＲＯＭ１３０２内のデータ用ＲＯＭには、ハードディスク等の外部メモリ１３０３がないプリンタの場合、ホストコンピュータ１００上で利用される情報等が記憶されている。
【００６１】
また、ＣＰＵ１３０１は、入力部１３０７を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ１０７内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ１３０８は、ＣＰＵ１３０１の主メモリや、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００６２】
尚、ＲＡＭ１３０８は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。上述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１３０３は、メモリコントローラ（ＭＣ）１３０９によりアクセスを制御される。外部メモリ１３０３は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル１３１１は操作のためのスイッチ及びＬＥＤ表示器等で構成されている。
【００６３】
また、上述の外部メモリ１３０３は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。更に、図示しないＮＶＲＡＭを有し、操作パネル１３１１からのプリンタモード設定情報を記憶するようにしても良い。
【００６４】
［ブックファイル編集機能］
製本アプリケーション１０４は、生成されたブックファイルに対して、文章・画像の編集を行うことを可能とする原稿エディタを備える。前記原稿エディタは、製本アプリケーションから起動し、ブックファイルを論理ページ毎に編集することが可能である。図１５はエディタの起動フローを示している。まず製本アプリケーションは、選択された原稿ファイルに対してメニューを表示する（１５０１）。製本アプリケーション１０４は、前記メニューより“原稿エディタ”が選択されたことを認識する（１５０２）。製本アプリケーション１０４は、原稿エディタを起動し、メイン画面を表示する（１５０３）。図１４は製本アプリケーションから、前記原稿エディタを起動するＵＩ例を示している。１４０１は製本アプリケーションによって表示されたメイン画面であり、１４０２はインポートされた原稿ファイルを示す。１４０３は図１５の１５０２において原稿ファイル選択時に表示されるポップアップメニュー、１４０４はマウスポインタを示している。原稿エディタの起動は、インポートされた原稿ファイルをマウスポインタで選択し、ポップアップメニューを表示させ、メニュー内の“原稿エディタ”を選択することで実行される。ここではポップアップメニューからの起動であったが、その他（たとえばツールボタン、メニューアイテム）を利用した起動方法であっても良い。
【００６５】
次に、原稿エディタで行える編集機能について説明をする。図１６は原稿エディタの全体ＵＩを示している。１６０１は原稿エディタの画面を表しているまた、原稿エディタの画面は、メニューバー１６０２、ツールボタン１６０３、ページ移動ボタン１６０４、ズーム指定ボックスが含まれている。さらに、１６０１の原稿エディタの画面に表示されている１６０６は編集対象の原稿ファイル、１６０７はテキストオブジェクト、１６０８・１６０９は図形オブジェクト、１６１０は直線オブジェクトを示している。これらを元に各編集機能について説明を行う。
【００６６】
［テキスト編集機能］
図１７はテキストオブジェクトの選択の例を示しており、図１６で示した原稿ファイル１６０６を詳細に示した図である。１７０１はテキストオブジェクト、１７０２はオブジェクトのコントロールハンドル、１７０３はマウスポインタを示している。マウスポインタで原稿ファイル内のテキスト上を選択すると、選択されたテキストがオブジェクトとしてマッチングされ、選択状態となる。選択状態になったオブジェクトには１７０２で示した、コントロールハンドルが表示され、選択されたことをユーザに示す。この例では、コントロールハンドルが表示されたが、テキストオブジェクトの外接矩形を表示するようにしても良い。テキストオブジェクトは、選択して移動・削除・テキスト属性の変更・テキストの追加・削除などの操作を行うことができる。
【００６７】
図１８はテキスト編集のフローを示している。まず原稿エディタは、マウスポインタで選択された原稿ファイル内のテキストを、テキストオブジェクトとして抽出する（１８０１）。原稿エディタは、抽出されたテキストオブジェクトに対して、テキストの追加、削除、属性の変更、移動・削除などの編集を施して（１８０２−１８０６）、編集を終了する。図１９はテキスト追加の例を示している。図１７のテキストオブジェクト１７０１についてテキストの追加を行う。選択状態になっているテキストオブジェクトを再度マウスポインタ１９０３で選択すると、テキストオブジェクトが矩形１９０１で囲まれ、編集カーソル１９０２が表示される。テキストを追加する位置に編集カーソルを移動させ、文字を入力すると、テキストオブジェクトに入力した文字が追加される。図１９では、“日本語のテスト”のテストの前に“テスト”を追加したときの例を示している。
【００６８】
図２０はテキスト削除の例を示している。図１７のテキストオブジェクト１７０１についてテキストの削除を行う。テキスト追加と同様の方法でテキストオブジェクトが矩形で囲まれ、編集カーソル２００１が表示されている状態にする。その状態で、バックスペースキーや削除を実行すると、編集カーソルの前の文字が削除される。図２０では、“日本語のテスト”の“テスト”を削除したときの例を示している。
【００６９】
テキスト属性の編集について、各テキストオブジェクト内のテキストは属性を持っており、その属性についても編集することが可能である。テキスト属性には、フォント・スタイル・サイズ・色・文字装飾・文字間隔・水平スケーリング率・単語間隔などがある。それぞれの意味、設定方法については、公知であるため説明は省略する。
【００７０】
［テキストボックス編集機能］
前述したテキストオブジェクトは１行に限定された編集であったが、原稿エディタは複数行のテキストを新規に作成する機能を有する。複数行のテキストを作成する際には、テキストボックスを用いる。図２２はテキストボックス編集のフローを示している。まず原稿エディタは、テキストボックス作成モードへ遷移し（２２０１）、マウスドラッグの矩形でテキストボックスを生成する（２２０２）。次に、作成したテキストボックスに対して、テキストオブジェクトの編集（この編集は前述した１行テキストの編集操作と同じ）、テキストボックス属性の編集、テキストボックスの移動・削除などの編集を施し（２２０３−２２０６）、編集を終了する。図２１はテキストボックス作成の例を示している。原稿ファイル１６０６上にテキストボックス作成モードで、マウスポインタ１９０３を用いて矩形を描画すると、テキストボックス２１０１が作成される。作成されたテキストボックスには、新規作成時およびボックスを選択時に、コントロールハンドル２１０２が表示される。コントロールハンドルをマウスポインタでドラッグすることにより、ボックスのリサイズが可能である。
【００７１】
図２３は前述したテキストボックス内にテキストを追加する例を示している。選択状態のテキストボックスを再度マウスポインタで選択すると、テキストオブジェクト編集の時と同様に、ボックス内に編集カーソルが表示される。その状態で、テキストを入力することにより、テキストボックスにテキストを追加することが可能である。また、テキストの削除についてもテキストオブジェクトの時と同様の方法で、行うことが可能である。図２３はテキストボックス２１０１に“テキストボックステスト。複数行”というテキストを追加した例を示している。前述したとおり、テキストボックスは複数行のテキストをサポートする。右端までに収まらないテキストは改行されて表示される（２３０１）。
【００７２】
テキストボックスおよびテキストボックス内のテキストについてもテキストオブジェクトと同様に属性を編集することが可能である。テキストボックスの属性には、線種・線幅・線の色・塗りつぶし・不透明度などがある。テキストボックス内のテキストの属性は、テキストオブジェクトと同様である。それぞれの意味、設定方法については、公知であるため説明は省略する。
【００７３】
［イメージ編集機能］
次に、原稿エディタにおけるイメージの編集機能について説明をする。イメージの編集機能には、“イメージの挿入”と“イメージの書き出し”がある。
【００７４】
イメージの挿入について説明する。図２７はイメージ挿入および回転・移動・削除の全体フローを示している。まず、原稿エディタは、イメージ挿入モードに遷移し、イメージ選択ダイアログを表示する（２７０１）。原稿エディタは、Ｓ２７０１にて表示したダイアログで選択されたイメージをエディタ上に表示する（２７０２）。原稿エディタは、表示されたイメージに対して、回転や移動・削除などの編集を施し（２７０３−２７０５）、終了する。図２４はイメージの挿入モードへ遷移するためのＵＩ例を示している。２４０１は原稿エディタによって表示される画面、２４０２はメニュー、２４０３はイメージ挿入モードメニューを示している。原稿エディタのメニューバーより、イメージの挿入が選択されると、イメージの挿入ダイアログが表示される。イメージ挿入ダイアログで挿入するイメージファイルを選択することで、原稿上にイメージオブジェクトとして挿入する。図２５はイメージ挿入が挿入された例を示している。原稿エディタによって表示される画面からイメージ挿入を選択すると、原稿ファイル１６０６にイメージ２５０１が挿入される。イメージの挿入される位置については、原稿ファイルの中心となる。ただし、位置については、中心に限定せずに原稿ファイルの左上基準、左下基準などユーザビリティを考慮して変更できるようにしても良い。また、挿入の方法についても、メニューからの挿入だけでなく、ツールボタンなどで行えるようにしても良い。
【００７５】
挿入したイメージ、もしくは原稿ファイルに配置されたイメージオブジェクトに対しては、回転、移動、削除等の編集を行うことができる。図２６はイメージを回転した例を示している。２６０１はイメージを時計回りに９０度回転されたものを示している。移動・削除については、公知であるため説明は省略する。
【００７６】
次にイメージの書き出しについて説明する。図２９はイメージの書き出しの全体フローを示している。まず原稿エディタは、書き出す対象のイメージを選択することにより抽出する（２９０１）。次に、原稿エディタは、ポップアップメニューなどからイメージ書き出しダイアログを表示する（２９０２）。そして、原稿エディタは、書き出し先（場所）や書き出すイメージのファイル名などを入力して、入力を確定させ、指定された場所にイメージを保存する（２９０３−２９０４）。図２８はイメージの書き出しの例を示している。書き出すイメージ２６０１を選択し、ポップアップメニュー２８０１を表示させ、イメージの書き出し１９０３を指定する。イメージの書き出し１９０３を指定すると、原稿エディタは、イメージの書き出しダイアログを表示する。原稿エディタは、表示したダイアログ内で設定した書き出し場所・イメージファイル名を適用させイメージの書き出しを行う。
【００７７】
［オブジェクト編集機能］
次に、原稿エディタにおけるオブジェクトの編集機能について説明をする。オブジェクトの種類には、四角形・楕円・角丸四角形・直線・オートシェイプ・その他任意図形が存在する。原稿エディタは、それらのオブジェクトの新規作成および編集を行うことが可能である。原稿エディタは、原稿ファイルに描画されているオブジェクトに対して選択すること、および編集を加えることもできる。オブジェクトの新規作成、および編集操作については、移動・削除や各属性（色・線種など）の変更など公知の技術であるため、個々の説明は省略する。図３２は、オブジェクトの編集フローを示している。まず、原稿エディタは、オブジェクト作成フローに遷移し（３２０１）、マウスドラッグで描画された矩形により、オブジェクトを作成する（３２０２）。原稿エディタは、オブジェクトに対する編集（属性の編集や移動・削除など）を実行し（３２０３−３２０５）、編集を終了する。次に、原稿エディタが実行するオブジェクト編集機能の一例として楕円の新規作成について説明をする。
【００７８】
図３０は楕円オブジェクトの新規作成モードに遷移するためのＵＩ例を示している。３００１は原稿エディタによって表示される画面、３００２はメニュー、３００３は楕円作成モード遷移メニューを示している。原稿エディタは、ユーザによる３００３の楕円作成モード遷移メニューの選択処理を認識し、原稿エディタの画面３００１上でマウスを用いた移動処理を認識して、楕円オブジェクトを作成できる。図３１は楕円オブジェクトが作成された例を示している。作成された楕円オブジェクト３１０１は、選択状態になるとコントロールハンドル３１０２を表示し、選択されたことをユーザに認識させる。
【００７９】
［全体処理ステップ］
図３４は、本願が想定する課題の一例を示す図である。図３４も図３３と同じく表形式のオブジェクトが重なっている様子を示している。個々のオブジェクトも図３３と同様であるとする。図３４では、背面の表オブジェクト群３２０１を選択対象とするため、選択範囲３４００が指定されている。しかしながら、選択範囲３４００には、今回の選択対象として意図していない前面の表オブジェクト群３３００の一部も選択範囲３４００に含まれている。その結果、ユーザが背面の表オブジェクト群３２０１を３４０１のように移動した結果、前面の表オブジェクト群の一部である描画オブジェクト３４０２も移動している。つまり、従来技術の選択方法を用いると、選択範囲に入るオブジェクトが選択対象となるため、ユーザの意図しない描画オブジェクト（図３４では３４０２）までも選択対象となり、編集処理が反映されてしまう。本願は、このように重なりをもったオブジェクトであっても、ユーザが所望とするオブジェクトを容易に選択することを目的としている。
【００８０】
図３５は本発明の実施例１の全体処理ステップを示しているフローチャートである。それぞれの処理ステップについて説明する。Ｓ３５００において、製本アプリケーションは、選択方法の取得を行う。なお、本実施例１における選択方法の取得とは、製本アプリケーションが本発明の前面に見えているオブジェクトを選択する選択方法と、背面に隠れているオブジェクトを選択する選択方法と、通常の選択方法のいずれかを取得することである。選択方法を製本アプリケーションに設定する方法としては、図３９（１）で示している選択方法切り替えダイアログを用いる方法が考えられる。３９００は選択方法切り替えダイアログを示している。３９０１は各種選択方法を選択するためのコントロールに対するタイトルを示している。３９０２は、本発明を適用しない場合の通常選択方法である。３９０３は、前面に見えているオブジェクトのみを選択する選択方法である。３９０４は、背面に隠れているオブジェクトのみを選択する選択方法である。３９０２〜３９０４の各コントロールは、互いに排他的に設定可能にする必要がある。排他的に設定することが可能であれば、各コントロールは図３９（１）で示しているようなラジオボタン形式に限らず、他の形式であってもかまわない。３９０５は３９０２〜３９０４で指定された選択方法をシステムに適用させるためのＯＫボタンを示している。３９０６は、指定した選択方法を適用せずにダイアログを閉じるキャンセルボタンを示している。このように、図３９（１）では、前面にレイアウトされている描画オブジェクトを選択する第１選択方法３９０３、または、背面にレイアウトされている描画オブジェクトを選択する第２選択方法３９０４を設定できる。そして、製本アプリケーションは、第１選択方法３９０３が設定されていた場合、他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する。一方、第２選択方法３９０４が設定されていた場合、他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定する。
【００８１】
なお、図３９（１）にて「前面オブジェクト選択モード」３９０３が選択されＯＫボタンが押された場合、図３９（２）のＵＩが表示される。図３９（２）では、「見えているオブジェクトを編集する」または「実描画範囲でオブジェクトの領域を判定する」が選択できる。図３９（２）において選択することにより後述する図３７（Ａ）から（Ｄ）の重なり状態検出処理にて実行される処理ステップが変わる。詳細は、図３７にて後述する。一方、図３９（１）において、「背面オブジェクト選択モード」３９０４が選択され、ＯＫボタンが押された場合、図３９（３）のＵＩが表示される。なお、図３９（３）において「実描画範囲でオブジェクトの領域を判定する」を選択することにより、後述する図３８（Ｃ）の処理が実行される。
【００８２】
Ｓ３５０１は、製本アプリケーションが範囲選択されたという情報を、取得するステップである。範囲選択とは、図３３の３３０５で示したように、ユーザがマウスドラッグを行って矩形を描画して、その矩形内に包含されるオブジェクトを選択状態にする方法等である。Ｓ３５０２では、製本アプリケーションが本発明のオブジェクト選択手段を実行する。なお、Ｓ３５０２のオブジェクト選択手段の詳細については、図３６、図３７、図３８に後述する。オブジェクト選択手段によって、製本アプリケーションが所定のオブジェクトを選択状態にしたところで図３５の全体処理は終了となる。このように、図３５の全体処理を実行することで、製本アプリケーションはユーザに指定された選択方法、判定方法に基づき、所望のオブジェクトのみを選択状態にすることが可能になる。
【００８３】
［オブジェクトテーブル作成方法］
図４４に後述するオブジェクト毎の情報を記憶したオブジェクトテーブルの作成方法について図４９を用いて説明する。
【００８４】
製本アプリケーションは、電子原稿ライタから電子原稿ファイルを受信したか否かを判定する（Ｓ４９０１）。なお、製本アプリケーションは、電子原稿ファイルを一時的にＲＡＭ２０２に保存する。
【００８５】
製本アプリケーションは、電子原稿ライタから電子原稿ファイルを受信した場合、電子原稿ファイルを解析する（Ｓ４９０２）。製本アプリケーションは、電子原稿ファイルを解析することにより、オブジェクト毎の実描画領域、オブジェクト毎の実データ領域、オブジェクト毎の表示属性情報を取得する。また、製本アプリケーションは、オブジェクトに関する情報の記述順序から各オブジェクトの作成順序を解析できる。つまり、製本アプリケーションは、電子原稿ファイルにおいて先頭に記述されているオブジェクト情報ほど、先に作成されたオブジェクトとして解析する。なお、実データ領域とは、電子原稿ライタがデータ領域として指定した領域である。例えば、四角形の描画オブジェクトの半分がクリッピングの対象であり、半分が表示されるような描画オブジェクトの場合、四角形の描画オブジェクト全体が実データ領域となる。一方、実描画領域とは、実際に表示部に表示される領域である。例えば、四角形の描画オブジェクトの半分がクリッピングの対象であり、半分が表示されるような描画オブジェクトの場合、四角形の描画オブジェクトからクリッピング対象の領域を除いた領域が実描画領域となる。
【００８６】
製本アプリケーションは、電子原稿ファイルの解析結果に基づいて、図４４に示すようなオブジェクトテーブルを作成する（Ｓ４９０３）。なお、作成されたオブジェクトテーブルは、ＲＡＭ２０２に保存される。製本アプリケーションは、このオブジェクトテーブルを用いて図３７および図３８にて後述する重なり状態検出処理を実行する。
【００８７】
［オブジェクト選択手段］
図３６は、図３５の全体処理ステップのＳ３５０２で説明したオブジェクト選択手段の詳細処理ステップを示しているフローチャートである。各処理ステップについて説明する。
【００８８】
製本アプリケーションは、ユーザにより範囲選択された矩形情報（位置、サイズ等）を取得する（Ｓ３６００）。詳細には、ユーザがりマウスを用いてドラッグ処理を実行することにより、範囲選択が実行される。ＣＰＵ２０１は、マウスの動きを認識することにより、範囲選択された矩形情報を認識して、ＲＡＭ２０２に保存する。Ｓ３６０１は、製本アプリケーションがページ上に描画されているオブジェクトの情報を格納するためのオブジェクトリストＯｂＬｉｓｔ［］を定義して、ＯｂＬｉｓｔ［０］にＮＵＬＬを格納する処理である。つまり、Ｓ３６０１の処理は、ＯｂＬｉｓｔ［］の初期化処理となる。Ｓ３６０２は、製本アプリケーションがＳ３６００にて取得した矩形情報に含まれるページ上に描画されているオブジェクトをＯｂＬｉｓｔ［］に格納する処理である。製本アプリケーションは、ページ上に描画されているオブジェクトが、Ｓ３６００にて取得した矩形情報に包含されるか否かを判定する。そして、製本アプリケーションは、矩形情報に包含されるオブジェクトを一つずつＯｂＬｉｓｔ［］に格納する。また製本アプリケーションは、ＯｂＬｉｓｔ［］の末尾に、オブジェクトリストの終了を示すＮＵＬＬを格納する。例えば、矩形情報に含まれるオブジェクトが５つ存在する場合、製本アプリケーションは、ＯｂＬｉｓｔ［０］〜ＯｂＬｉｓｔ［４］に５つのオブジェクトの情報を格納し、ＯｂＬｉｓｔ［５］にＮＵＬＬを格納する。Ｓ３６０３では、製本アプリケーションがＯｂＬｉｓｔ［０］がＮＵＬＬと等しいかどうかを判定する。ＯｂＬｉｓｔ［０］がＮＵＬＬであるということは、ページ上に矩形情報に包含されるオブジェクトが存在しないことを意味する。従って、製本アプリケーションがＯｂＬｉｓｔ［０］＝＝ＮＵＬＬ（オブジェクトリスト［０］にオブジェクト情報がない）と判定した場合、選択すべきオブジェクトが存在しないことを意味するため、図３６のオブジェクト選択手段の処理ステップを終了する。一方、製本アプリケーションがＯｂＬｉｓｔ［０］！＝０と判定した場合（つまり、オブジェクトリスト［０］にオブジェクト情報があると判定した場合）は、Ｓ３６０４に進む。Ｓ３６０４は、製本アプリケーションが選択対象となるオブジェクトを格納するための選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［］を定義して、ＳｅｌｅｃｔＯｂＬｉｓｔ［０］にＮＵＬＬを代入する処理ステップである。つまり、Ｓ３６０４の処理は、ＳｅｌｅｃｔＯｂＬｉｓｔ［］の初期化処理となる。Ｓ３６０５は、製本アプリケーションがオブジェクトの重なり状態検出手段を実行する処理ステップである。重なり状態検出手段の詳細については図３７または図３８で後述するが、重なり状態検出手段が終了すると、製本アプリケーションは、選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［］に選択状態にすべきオブジェクトの情報を格納する。Ｓ３６０６は、製本アプリケーションが変数ｉを定義して、０を代入する処理ステップである。つまり、変数ｉの初期化処理である。Ｓ３６０７は、製本アプリケーションが選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］がＮＵＬＬと等しいかどうかを判定する。つまり、Ｓ３６０７は、製本アプリケーションが選択状態とすべきオブジェクトがあるか否かを判定する処理である。Ｓ３６０７において、ＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］がＮＵＬＬであると判定された場合、製本アプリケーションは、選択状態にすべき描画オブジェクトがないと認識して、図３６の処理を終了する。つまり、製本アプリケーションがＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］＝＝０と判定した場合は、オブジェクトの選択処理は終了しているので、図３６の処理を終了する。システムがＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］！＝０（選択状態にすべき描画オブジェクトがある）と判定した場合、Ｓ３６０８に進む。Ｓ３６０８は、製本アプリケーションが選択オブジェクトリストのＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］に格納されているオブジェクトを選択状態にする処理である。選択状態にする処理が終了したら、Ｓ３６０９に進む。Ｓ３６０９は、製本アプリケーションが変数ｉをインクリメントする処理である。インクリメント処理が終了したら、Ｓ３６０７へ進む。製本アプリケーションはＳ３６０７〜Ｓ３６０９を繰り返し処理し、選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［］に格納されているオブジェクトを全て選択状態にしたら、図３６のオブジェクト選択手段の処理を終了する。
【００８９】
［重なり状態検出手段］
図３７（Ａ）から（Ｄ）は、図３６のＳ３６０５の重なり状態検出手段の詳細処理を示しているフローチャートである。図３７（Ａ）から（Ｄ）は、図３９において「前面に見えているオブジェクトのみ」が選択方法として設定された場合の処理を示している。
【００９０】
製本アプリケーションは、表示すべき選択オブジェクトリストとして変数Ｎを定義して、０を代入する（Ｓ３７００）。つまり、製本アプリケーションは、変数Ｎに代入されたオブジェクトを選択対象とする。製本アプリケーションは、重なり状態検出の基準となるオブジェクトとして変数Ｋを定義して、０を代入する（Ｓ３７０１）。つまり、製本アプリケーションは、図３７の場合、変数Ｋに該当するオブジェクトと重なっており、かつ、変数Ｋのオブジェクトよりも前面に配置されているオブジェクトがあるか否かを判定する。
【００９１】
製本アプリケーションは、前面にあるオブジェクトの識別番号を管理するためのリストＯｖｅｒ［］を定義して、Ｏｖｅｒ［０］にＮＵＬＬを代入する（Ｓ３７０２）。製本アプリケーションは、判定対象となるオブジェクトとして変数Ｊを定義する。つまり、製本アプリケーションは、変数Ｊに該当するオブジェクトと変数Ｋに該当するオブジェクトの重なり状態を判定する。さらに製本アプリケーションは、重なり状態検出の基準となる変数Ｋに該当するオブジェクトよりも前面で重なっているオブジェクトとして変数Ｍを定義する。そして、製本アプリケーションは、変数ＪおよびＭのそれぞれに０を代入する（Ｓ３７０３）。製本アプリケーションは、変数Ｋと変数Ｊが等しいかを判定する（Ｓ３７０４）。製本アプリケーションが変数Ｋと変数Ｊが等しいと判定した場合は、重なり状態検出の基準となるオブジェクトと重なり判定対象となるオブジェクトが同一であるため、重なり状態を判定する必要はない。よって、製本アプリケーションは、Ｓ３７０８に進む。一方、製本アプリケーションが変数Ｋと変数Ｊが等しくないと判定した場合は、Ｓ３７０５に進む。製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｊ］と、基準オブジェクトであるＯｂＬｉｓｔ［Ｋ］の重なり状態を判定する（Ｓ３７０５）。製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｊ］の実データ領域範囲が、オブジェクトＯｂＬｉｓｔ［Ｋ］の実データ領域範囲の前面に重なりを持っているか否かを判定する。従って、製本アプリケーションは、ＯｂＬｉｓｔ［Ｊ］の表示順序がＯｂＬｉｓｔ［Ｋ］より上に位置し、且つ、ＯｂＬｉｓｔ［Ｊ］の実データ領域が、ＯｂＬｉｓｔ［Ｋ］の実データ領域の一部に重なっていれば、重なっていると判定する（Ｓ３７０５−Ｙｅｓ）。なお、各オブジェクトの実データ領域は、図４４に示すようにオブジェクトテーブルにて管理されている。図４３（１）は、オブジェクトの重なりの例を示している図例である。図４３（１）の４３００と４３０１と４３０２は、四角形オブジェクトを示している。オブジェクトの重なり状態は、４３００が一番下に位置して、４３０１、４３０２が上に位置する。４３０３は、ユーザが範囲指定した矩形領域を示している。Ｓ３７０５のＯｂＬｉｓｔ［Ｋ］が四角形オブジェクト４３００である場合、四角形オブジェクト４３０１と４３０２の実データ領域は、四角形オブジェクト４３００の実データ領域よりも前面で重なっているので、Ｓ３７０５で重なりを持っていると判定される。
【００９２】
製本アプリケーションがＳ３７０５において重なっていると判定した場合、Ｓ３７０６に進む。Ｓ３７０６において、製本アプリケーションが、重なり状態にあるオブジェクトを管理するために、管理リストＯｖｅｒ［Ｍ］にＪを代入する。Ｓ３７０７は、製本アプリケーションが変数Ｍをインクリメントして、Ｏｖｅｒ［Ｍ］にＮＵＬＬを代入する処理ステップである。続いて、製本アプリケーションは、重なり判定対象となるオブジェクトである変数Ｊをインクリメントする（Ｓ３７０８）。製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｊ］がＮＵＬＬと等しいかどうかを判定する（Ｓ３７０９）。製本アプリケーションがＯｂＬｉｓｔ［Ｊ］＝＝ＮＵＬＬと判定したら（Ｓ３７０９−Ｙｅｓ）、Ｓ３７１０に進む。システムがＯｂＬｉｓｔ［Ｊ］がＮＵＬＬではないと判定した場合、Ｓ３７０４に進む。Ｓ３７０４〜Ｓ３７０９を繰り返すことによって、ＯｂＬｉｓｔ［Ｋ］の前面に位置し、重なると判定されたオブジェクトの管理番号がＯｖｅｒ［］に格納される。
【００９３】
製本アプリケーションは、最終的にオブジェクトの選択状態を判定するために用いる選択フラグＳｅｌｅｃｔＦｌｇを定義する。製本アプリケーションは、初期値として基準オブジェクトに対する設定フラグＳｅｌｅｃｔＦｌｇにＴｒｕｅを代入する（Ｓ３７１０）。
【００９４】
製本アプリケーションは図３９（２）において「実描画範囲でオブジェクトの領域を判定」３９０９がチェックされているか否かを判定する（Ｓ３７１１）。なお、図３９におけるチェック結果は、ＲＡＭ２０２に一時的に保存されているので、製本アプリケーションが、ＲＡＭを参照することにより実現できる。製本アプリケーションが「実描画範囲でオブジェクトの領域を判定」３９０９がチェックされていると判定した場合、Ｓ３７１９へ進み、チェックされていないと判定した場合、Ｓ３７１２へ進む。
【００９５】
製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｋ］が前面に位置するオブジェクトによって、完全に覆い隠されているかを実データ領域に基づいて判定する（Ｓ３７１２）。つまり、製本アプリケーションは、描画オブジェクトの実データ領域が他の描画オブジェクトの実データ領域に包含されるかを判定する。その判定結果によって、製本アプリケーションは、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定する。製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｋ］の前面に位置するオブジェクトの管理番号をＯｖｅｒ［］に格納している。製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］の各実データ領域のＯＲ領域を求めて、そのＯＲ領域が、基準オブジェクトＯｂＬｉｓｔ［Ｋ］の実データ領域を完全に覆い隠すかを判定する。もし、製本アプリケーションが、ＯｂＬｉｓｔ［Ｋ］が前面に配置されているオブジェクトによって完全に隠されていると判定した場合、基準オブジェクトＯｂＬｉｓｔ［Ｋ］は前面に見えていないオブジェクトと認識される。なお、各オブジェクトの実データ領域は図４４に示すオブジェクトテーブルに格納されているので、製本アプリケーションがオブジェクトテーブルを参照することによりＳ３７１２の処理が実現される。
【００９６】
図３７（Ａ）から（Ｄ）では、隠れているオブジェクトは選択対象から外すため、Ｓ３７１２により基準オブジェクトが隠れていると判定された場合、製本アプリケーションは、選択フラグＳｅｌｅｃｔＦｌｇにＦａｌｓｅと設定する（Ｓ３７１３）。一方、製本アプリケーションが、ＯｂＬｉｓｔ［Ｋ］が前面に配置されているオブジェクトによって完全に隠されていない判定した場合、Ｓ３７１８へ進む。
【００９７】
Ｓ３７１３の処理後、製本アプリケーションは、図３９（２）のＵＩを用いて「見えているオブジェクトを編集する」３９０８が設定されているか否かを判定する（Ｓ３７１４）。製本アプリケーションが、Ｓ３７１４−Ｙｅｓと判定した場合、［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］の情報の中で、塗りつぶし属性が「なし」または「透明色」に設定されているオブジェクトが含まれているかを判定する（Ｓ３７１５）。なお、各オブジェクトの塗りつぶし属性は、図４４に示すとおり表示属性情報として保持されているので、製本アプリケーションは図４４に示すオブジェクトテーブルを参照することによりＳ３７１５を判定できる。
【００９８】
製本アプリケーションは、Ｓ３７１５において塗りつぶし設定「なし」または「透明色」が設定されたオブジェクトが含まれていると判定されたオブジェクトを［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］から削除する。そして、製本アプリケーションは、塗りつぶし設定「なし」または「透明色」が設定されているオブジェクトが除かれたＯｂＬｉｓｔ［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］の実データ領域とＯｂＬｉｓｔ［Ｋ］の実データ領域を比較する。その結果を用いて、基準オブジェクトＯｂＬｉｓｔ［Ｋ］が隠れるか否かを判定する（Ｓ３７１６）。つまり、製本アプリケーションは、各描画オブジェクトの実データ領域情報および各描画オブジェクトの表示属性情報とに基づいて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるか否かを判定する。
【００９９】
Ｓ３７１６によりＯｂＬｉｓｔ［Ｋ］のオブジェクトが隠れていると判定された場合、Ｓ３７１８へ進む。一方、ＯｂＬｉｓｔ［Ｋ］のオブジェクトが隠れていないと判定された場合、製本アプリケーションは設定フラグＳｅｌｅｃｔＦｌｇをＴｒｕｅにセットする（Ｓ３７１７）。つまり、製本アプリケーションは、他の描画オブジェクトの背面にレイアウトされると判定された第１描画オブジェクトの前面の第２描画オブジェクトに特定の表示属性情報が設定されている場合、第１描画オブジェクトは背面にレイアウトされないと判定する。なお、特定の表示属性情報とは、塗りつぶし設定なし、または、塗りつぶし色が透明であることは上述した通りである。
【０１００】
続いて、Ｓ３７１１において製本アプリケーションが「実描画範囲でオブジェクトの領域を判定」がチェックされていると判定した場合の処理について説明する。
【０１０１】
製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｋ］の実描画領域が前面に位置するオブジェクトの実描画領域によって、完全に覆い隠されているかを判定する（Ｓ３７１９）。なお、各オブジェクトの実描画領域および実データ領域も図４４に示すオブジェクトテーブルに格納されているため、製本アプリケーションがオブジェクトテーブルを参照することにより、Ｓ３７１９の処理を実現できる。このようにＳ３７１２またはＳ３７１９より、製本アプリケーションは、指定された選択範囲に含まれる描画オブジェクトについて、描画オブジェクト毎に他の描画オブジェクトの背面にレイアウトされるかを複数の描画オブジェクトの重なり状態に基づいて判定することができる。
【０１０２】
Ｓ３７１９においてオブジェクトＯｂＬｉｓｔ［Ｋ］の実描画領域が隠れていると判定した場合、製本アプリケーションは、オブジェクトＯｂＬｉｓｔ［Ｋ］について選択フラグＳｅｌｅｃｔＦｌｇ＝Ｆａｌｓｅと設定する（Ｓ３７２０）。
【０１０３】
一方、製本アプリケーションが、ＯｂＬｉｓｔ［Ｋ］が前面に配置されているオブジェクトの実データ領域によって完全に隠されていない判定した場合、Ｓ３７２５へ進む。なお、Ｓ３７２５とＳ３７１８の処理は同じ処理である。
【０１０４】
Ｓ３７２０の処理後、製本アプリケーションは、図３９（２）のＵＩを用いて「見えているオブジェクトを編集する」３９０８が設定されているか否かを判定する（Ｓ３７２１）。ここで、設定されていると判定した場合、製本アプリケーションは、Ｓ３７１５と同様の判定処理を実行する（Ｓ３７２２）。そして、製本アプリケーションは、Ｓ３７２２の判定結果に基づいてＳ３７１６と類似した処理を実行する（Ｓ３７２３）。なお、Ｓ３７１６とＳ３７２３の違いは、Ｓ３７１６が実データ領域に基づいて比較処理を行っているのに対し、Ｓ３７２３は、実描画領域に基づいて比較処理を行っている点である。
【０１０５】
ここで、ＯｂＬｉｓｔ［Ｋ］の実描画領域が隠れると判定された場合、Ｓ３７２５へ進む。一方、ＯｂＬｉｓｔ［Ｋ］の実描画領域が隠れないと判定された場合、製本アプリケーションは設定フラグＳｅｌｅｃｔＦｌｇをＴｒｕｅにセットする（Ｓ３７２４）。なお、Ｓ３７２１からＳ３７２４の処理は、Ｓ３７１４からＳ３７１７の処理と同等である。
【０１０６】
製本アプリケーションは、選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［Ｎ］に、ＯｂＬｉｓｔ［Ｋ］を代入し（Ｓ３７２６）、変数Ｎをインクリメントして、選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［Ｎ］にＮＵＬＬを代入する（Ｓ３７２７）。製本アプリケーションは、選択オブジェクトリストＳｅｌｅｃｔＯｂＬｉｓｔ［］の末尾には、常にＮＵＬＬが格納されるようにする。ＮＵＬＬの代入が終了したら、製本アプリケーションは、変数Ｋをインクリメントする（Ｓ３７２８）。製本アプリケーションは、オブジェクトリストＯｂＬｉｓｔ［Ｋ］とＮＵＬＬが等しいか判定し（Ｓ３７２９）オブジェクトリストＯｂＬｉｓｔ［Ｋ］がＮＵＬＬと等しくなければ、重なり状態を検出するオブジェクトは終了していないことを意味する。よって、製本アプリケーションは、Ｓ３７０３に進み、処理を繰り返す。一方、オブジェクトリストＯｂＬｉｓｔ［Ｋ］がＮＵＬＬと等しければ（Ｓ３７２８−Ｙｅｓ）、重なり状態検出手段は終了していることを意味するので、本フローチャートは終了となる。
【０１０７】
このように図３７の処理を実行することにより、製本アプリケーションは選択フラグに「Ｔｒｕｅ」が設定されている基準オブジェクトを選択オブジェクトリストに追加する。その結果、表示されるオブジェクトが選択対象となる。また、図３７Ｃのように実描画領域に基づいて重なっているか否かの判定処理を行うことにより、例えば、実データとしては重なりあっているがトリミング処理により表示上は重ならないケースも考えられる（図４１の描画オブジェクトの実データ４００８と描画オブジェクト４００６は、実データでは重なっているが実描画領域では重なっていない）。このようなケースであっても、図３７Ｃの処理を実行することに例えばトリミング処理を考慮して重なりが生じているのか否かを判定することができる。よって、図３７の場合、製本アプリケーションは、他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象とせず、前面にレイアウトされると判定された描画オブジェクトを選択対象として決定する。
【０１０８】
続いて、図３７のＳ３７１２の処理について、図４３（１）、４３（２）を使って具体的に説明する。なお、図４３（１）では、表示順序が前面から４３０１、４３０２、４３００とする。つまり、四角形オブジェクト４３００が最背面に位置している。一方、図４３（２）では、表示順序が、前面から４３０７、４３０６、４３０５、４３０４とする。つまり、四角形オブジェクト４３０４が最背面に位置している。図４３（１）の場合、ＯｂＬｉｓｔ［Ｋ］は四角形オブジェクト４３００であり、ＯｂＬｉｓｔ［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］は四角形オブジェクト４３０１と４３０２とする。このとき、四角形オブジェクト４３０１と４３０２の実データ領域のＯＲ領域は、四角形オブジェクト４３００の実データ領域を完全に隠していない。したがって、製本アプリケーションは、図４３（１）の場合、Ｓ３７１２において隠れていない（Ｓ３７１２−Ｎｏ）と判定する。一方、図４３（２）の場合、ＯｂＬｉｓｔ［Ｋ］は四角形オブジェクト４３０４になり、ＯｂＬｉｓｔ［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］は四角形オブジェクト４３０５と４３０６、４３０７になる。このとき、四角形オブジェクト４３０５と４３０６と４３０７の実データ領域のＯＲ領域に、四角形オブジェクト４３０４の実意データ領域が覆い隠されている。したがって、製本アプリケーションは、ＯｂＬｉｓｔ［Ｋ］がＯｂＬｉｓｔ［Ｏｖｅｒ［０］］〜ＯｂＬｉｓｔ［Ｏｖｅｒ［Ｍ−１］］のオブジェクト群によって覆い隠されていると判定する。
【０１０９】
また、ユーザは、図３９（２）に示すとおり「見えているオブジェクトを編集する」を選択できる。この場合、図４３（２）の選択範囲４３０８のように指定した場合、基準オブジェクト４３０４は、他のオブジェクト群によって覆い隠されていると判定された。しかし、四角形オブジェクト４３０５から４３０７の少なくとも１つのオブジェクトの塗りつぶし属性が「透明色」または「なし」であれば、基準オブジェクトの一部が表示されることになる。この場合、四角形オブジェクト４３０３は選択対象となる。製本アプリケーションは、このように表示順としては背面に隠れていると判定されても、表示されているオブジェクトを選択対象として決定することができる。
【０１１０】
続いて、図３８（Ａ）から（Ｄ）について説明する。図３８（Ａ）から（Ｄ）は、図３６のＳ３６０５の重なり状態検出手段の詳細処理を示しているフローチャートである。図３８（Ａ）から（Ｄ））は、選択方法が『背面オブジェクト選択モード』３９０４に設定されているときの処理を示している。各処理ステップについて説明するが、図３７（Ａ）から（Ｄ）と異なる部分のみ説明する。Ｓ３８００〜Ｓ３８０９は、図３７（１）のＳ３７００〜Ｓ３７０９と同じ処理を行う処理ステップであるため詳細な説明は省略する。
【０１１１】
製本アプリケーションは、選択フラグＳｅｌｅｃｔＦｌｇを定義して、Ｆａｌｓｅを代入する（Ｓ３８１０）。
【０１１２】
Ｓ３８１１およびＳ３８１２も、Ｓ３７１１およびＳ３７１２と同様の処理ステップである。このＳ３８１２の処理により製本アプリケーションが、基準オブジェクトが背面に隠れていると判定した場合、選択フラグＳｅｌｅｃｔＦｌｇをＴｒｕｅにセットする（Ｓ３８１３）。また、Ｓ３８１５の処理もＳ３７１９の処理と同じである。このＳ３８１５により、基準オブジェクトの実描画領域が隠れると判定された場合、製本アプリケーションは、選択フラグをＴｒｕｅにセットする（Ｓ３８１７）。また、Ｓ３８１８からＳ３８２０は、Ｓ３７２６からＳ３７２９と同様の処理である。図３８の場合、製本アプリケーションは、他の描画オブジェクトの背面にレイアウトされると判定された描画オブジェクトを選択対象として決定する。
【０１１３】
図３８（Ａ）から（Ｄ）の処理を実行することにより、例えば背面に隠れている描画オブジェクト群を容易にまとめて選択し、消去することができる。背面に隠れている描画オブジェクトは、表示されないにも係わらずデータとしては存在するため、描画データのデータ量を増大させるというデメリットが生じる。このような場面で、図３８の処理を実行することにより、容易に背面にある表示されない描画オブジェクトをまとめて選択して、消去することが可能となる。その結果、表示されないことによりユーザが消去したいと考えるオブジェクトを容易に消去可能となるため、データ量の効率化を測れる。
【０１１４】
図４０から図４２は、本発明の適用例を説明するための例を示している。図４０（２）は、判定方法が特に指定していない通常時の場合の図例を示している。図４０（３）は、「前面オブジェクト選択モード」であり、判定方法が「見えるオブジェクトを編集する」が設定されている場合の、選択結果を示している。図４０（４）は、判定方法が「実描画範囲でオブジェクトの領域を判定する」の場合の図例を示している。各図について説明をする。
【０１１５】
図４０（１）の４０００、４００３、４００４は四角形オブジェクトを示している。４００１は回転された三角形オブジェクトを示している。４００２は４００１の三角形オブジェクトの実データ領域を示している。４００１は、三角形オブジェクトの実描画範囲でもある。破線４００５はユーザに範囲選択された矩形範囲を示している。４００５の範囲選択矩形は、レイアウトされているオブジェクトの実データ領域を全て含むような範囲であるため、レイアウトされているオブジェクトは全て選択されうる可能性がある。また、４００３と４００４の四角形オブジェクトは、４０００の四角形オブジェクトと４００１の三角形オブジェクトより重なり状態が上に位置している。図４０（２）は、本発明の選択方法が「通常選択モード」時の場合であるが、このレイアウト例では、オブジェクト４０００、４００２〜４００４が選択対象となっている。なお、図４０（２）および（３）でも、どのオブジェクトの実データも重なり状態が上にあるオブジェクトによって、覆い隠されていない。そのため、全てのオブジェクトが選択状態になる。
【０１１６】
図４１（１）の４００６、４００９は四角形オブジェクトを示している。４００７は回転された三角形オブジェクトを示している。４００８は４００７の三角形オブジェクトの実データ領域を示している。４００７は、三角形オブジェクトの実描画範囲でもある。破線４０１０はユーザに範囲選択された矩形範囲を示している。４０１０の範囲選択矩形は、レイアウトされているオブジェクトの実データ領域を全て含むような範囲であるため、レイアウトされているオブジェクトは全て選択されうる可能性がある。また、４００９の四角形オブジェクトは、４００６の四角形オブジェクトと４００７の三角形オブジェクトより重なり状態が上に位置している。さらに、４００９の四角形オブジェクトは塗りつぶし属性が「なし」に設定されているとする。つまり、図４１では、表示上はオブジェクト４００６、４００７、４００９は表示されているが、オブジェクト４００６、４００７は、オブジェクト４００９の描画領域および実データ領域内に包含されていることが示されている。図４１（２）は、本発明の選択方法が「通常モード」時の場合である。このとき、選択範囲４０１０に含まれるオブジェクトは全て選択対象となる。そのため、オブジェクト４００６、４００８、４００９が選択対象となり、選択状態を示す選択ハンドルが表示される。図４１（３）は、「前面オブジェクト選択モード」であり、本発明の判定方法が「見えているオブジェクトを編集する」が選択されている場合の例である。このレイアウト例では、４００６の四角形オブジェクトの実データ領域が、４００９の四角形オブジェクトの実意データ領域によって、覆い隠されている。そのため、四角形オブジェクト４００６は、前面オブジェクトではないため選択対象とはならない。しかし、四角形オブジェクト４００９は塗りつぶし属性『なし』が設定されているため、４００６の四角形オブジェクトは表示される。よって、製本アプリケーションは、オブジェクト４００６も選択対象であると判定して、オブジェクト４００６、４００７、４００９を選択対象として決定する。
【０１１７】
図４１（４）は、「前面オブジェクト選択モード」であり、本発明の判定方法が「実描画範囲でオブジェクトの領域を判定する」の場合である。このレイアウト例では、４００６の四角形オブジェクトと４００７の三角形オブジェクトの実描画範囲が、４００９の四角形オブジェクトの実描画範囲によって、覆い隠されているため、選択対象外のオブジェクトとなる。したがって、四角形オブジェクト４００９が選択対象となり、選択状態を示す選択ハンドルが表示される。
【０１１８】
図４２（１）の４０１１、４０１４、４０１５、４０１６は四角形オブジェクトを示している。４０１２は回転された三角形オブジェクトを示している。４０１３は４０１２の三角形オブジェクトの実データ領域を示している。４０１２は、三角形オブジェクトの実描画範囲でもある。４０１７はユーザに範囲選択された矩形範囲を示している。４０１７の範囲選択矩形は、レイアウトされているオブジェクトの実データ領域を全て含むような範囲であるため、レイアウトされているオブジェクトは全て選択されうる可能性がある。また、４０１４、４０１５、４０１６の四角形オブジェクトは、４０１１の四角形オブジェクトと４０１２の三角形オブジェクトより重なり状態が上に位置している。さらに、４０１４、４０１５、４０１６の四角形オブジェクトは塗りつぶし属性が『なし』に設定されているとする。図４２（２）は、本発明の選択方法が「通常モード」時の場合である。このとき、製本アプリケーションは、選択範囲４０１７に含まれる描画オブジェクト（４０１１、４０１３〜４０１６）は全て選択対象となる。図４２（３）は、「前面オブジェクト選択モード」であり、本発明の判定方法が「見えているオブジェクトを編集する」が設定されている場合の選択結果である。製本アプリケーションは、４０１１の四角形オブジェクトの実データ領域が、４０１４、４０１５、４０１６の四角形オブジェクトの実データ領域によって、覆い隠されていると判定する。しかし、４０１４、４０１５、４０１６の四角形オブジェクトは塗りつぶし属性が『なし』に設定されている。そのため製本アプリケーションは、四角形オブジェクト４０１１を覆うオブジェクトはないと判定するため、四角形オブジェクト４０１１は選択対象として決定される。図４２（４）は、「前面オブジェクト選択モード」であり、本発明の判定方法が「実描画範囲でオブジェクトの領域を判定する」の場合である。４０１１の四角形オブジェクトと４０１２の三角形オブジェクトの実描画範囲が、４０１４、４０１５、４０１６の四角形オブジェクトの実描画範囲によって、覆い隠されている。そのため、製本アプリケーションは、四角形オブジェクト４０１１と三角形オブジェクト４０１２を選択対象外のオブジェクトとして決定する。続いて、図３７、図４１、図４４を用いて図３９の「前面オブジェクト選択モード」が選択された場合の具体的な処理について説明する。図４４は、ＲＡＭ２０２に保存されている図４１に示すオブジェクト４００６、４００７、４００９のオブジェクトの描画情報である。
【０１１９】
図４４に示すとおり、オブジェクトテーブルには、各オブジェクトの実描画領域、実データ領域、表示属性、作成順序に関する情報が保持されている。なお、本願ではオブジェクト情報として図４４に示す３種類の情報を示したが、その他に各オブジェクトの色属性情報などが保存されていても良い。また、作成順序は、少ない順位ほど背面に配置されていることとなる。つまり図４４の例では、オブジェクト４００９の下にオブジェクト４００７が配置され、さらにオブジェクト４００９および４００７の下にオブジェクト４００６が配置されていることを示している。
【０１２０】
製本アプリケーションは、Ｓ３７００からＳ３７０４までで、判定処理の準備を行う。なお、この説明ではオブジェクトはオブジェクト４００６、４００７、４００９の順で選択されるものとする。そのため、最初の基準オブジェクトは４００６となる。製本アプリケーションは、Ｓ３７０５において、オブジェクト４００７は、オブジェクト４００６の前面であり、かつ、重なっているかを判定する。この場合、製本アプリケーションは、図４４のオブジェクト情報を参照することにより、Ｓ３７０５の判定処理を実現できる。つまり、製本アプリケーションは、図４４から、オブジェクト４００７は、オブジェクト４００６よりも前面に配置され、かつ、実データ領域が重なると認識できるため、Ｓ３７０５においてＹｅｓと判定する。よって、製本アプリケーションは、対象オブジェクト４００７をＯｖｅｒ［０］＝オブジェクト４００７と設定する。
【０１２１】
続いて製本アプリケーションは、Ｓ３７０８において対象オブジェクトをインクリメントして、オブジェクト４００９とオブジェクト４００６を比較する。上述したＳ３７０５と同様に、製本アプリケーションは、図４４からオブジェクト４００９は、オブジェクト４００６よりも前面に配置され、かつ、重なると判定できる。よって、製本アプリケーションは、対象オブジェクト４００９をＯｖｅｒ［１］＝オブジェクト４００９と設定し、基準オブジェクト４００６の選択フラグ「Ｔｒｕｅ」を設定する。
【０１２２】
続いて、Ｓ３７１１において、実描画範囲でオブジェクトの領域を判定することが設定されているか否かを判定する。今回は、実描画範囲での判定処理は設定されていないとして説明を続ける。
【０１２３】
Ｓ３７０６により、基準オブジェクトよりも前面に配置されるオブジェクトとして抽出されたオブジェクトの実データ領域のＯＲ領域を算出する。製本アプリケーションは、基準オブジェクトよりも前面に配置されるオブジェクトとして、オブジェクト４００７および４００９を抽出した。よって、製本アプリケーションは、図４４のオブジェクト情報を用いて、オブジェクト４００７および４００９の両者の実データ領域によって構成されるＯＲ領域を特定する。そして、製本アプリケーションは、Ｓ３７１２において、基準オブジェクト４００６が、基準オブジェクトよりも前面に配置され、実データ領域が重なると判定されたオブジェクト４００７および４００９によって構成されるＯＲ領域に隠れるか否かを判定する。製本アプリケーションは、選択対象オブジェクトには、設定フラグが「Ｔｒｕｅ」と設定する。基準オブジェクト４００６は、オブジェクト４００７および４００９によって構成されるＯＲ領域に隠れると判定されるため、基準オブジェクト４００６は、選択対象外となり、設定フラグが「Ｆａｌｓｅ」と設定される。以上の処理を、全オブジェクトについて繰り返すことにより、製本アプリケーションは選択すべきオブジェクトを特定できる。
【０１２４】
続いて、製本アプリケーションは「見えているオブジェクトを編集する」が選択されているか否かを判定する。今回は、「見えているオブジェクトを編集する」が選択されているとして説明を続ける。図４４から四角形オブジェクト４００７には、表示属性として「塗りつぶしなし」、四角形オブジェクト４００９には「透明色」が設定されていることが分かる。よって、製本アプリケーションは、基準オブジェクトよりも前面に配置されるオブジェクトとして抽出した四角形オブジェクト４００７および４００９は、存在しないオブジェクトとして取り扱う。よって、Ｏｖｅｒ［］から四角形オブジェクト４００７および４００９を削除する。その後、製本アプリケーションは、再度基準オブジェクトの実データ領域が隠れるか否かを判定する（Ｓ３７１６）。図４１では、重なるとオブジェクトとして抽出された四角形オブジェクト４００７および４００９が削除されているため、基準オブジェクト４００６を隠すオブジェクトはなくなる。よって、製本アプリケーションは、基準オブジェクト４００６に対する選択フラグにＴｕｒｅと設定する（Ｓ３７１７）。
【０１２５】
このような処理を選択範囲に入る描画オブジェクトに対して繰り返すことにより、製本アプリケーションは選択対象となる描画オブジェクトを決定する。
【０１２６】
なお、本願では、図４４のオブジェクトテーブルを用いて重なりを判定すると記載したが、次のような方法で重なりを判定しても良い。例えば、製本アプリケーションは、現在選択されている基準オブジェクトの外接矩形領域を算出し、基準オブジェクトよりも前面に位置されているオブジェクトの外接矩形領域を算出する。製本アプリケーションは、両者の外接矩形領域を比較して、基準オブジェクトの外接矩形領域において重ならない領域があるかを判定する。重ならない領域があると判定された場合、重ならない部分を示す領域を保持しておく。この比較処理を前面に配置されているオブジェクトについて実行することにより、重ならない部分を示す領域が空であれば、見えていないと判断し、空でなければ見えていると判断する。よって、図３９において「前面オブジェクト選択モード」が選択されている場合、製本アプリケーションは、現在基準としているオブジェクトの重ならない部分を示す領域が空でなければ、その基準オブジェクトを選択する。一方、「背面オブジェクト選択モード」が選択されている場合、製本アプリケーションは、基準オブジェクトの重ならない部分を示す領域が空となったオブジェクトを選択対象とする。
【０１２７】
（実施例２）
［全体処理ステップ］
図４５は本発明の実施例２の全体処理ステップを示しているフローチャートである。実施例１との処理の違いとして、製本アプリケーションは、あらかじめページ全体に存在しているオブジェクトの内、選択対象となり得るオブジェクトを抽出する。そして、ユーザが範囲選択を行ったときには、その抽出されたオブジェクトを判定対象とする。それぞれの処理ステップについて説明する。Ｓ４２００において、製本アプリケーションは選択方法を取得する。なお、Ｓ４２００の処理は、実施例１の図３５のＳ３５００と同様の処理である。製本アプリケーションは本発明のオブジェクト選択手段を実行する（Ｓ４２０１）。オブジェクトの選択手段は、実施例１で説明した処理とは異なるため、オブジェクトの選択手段２とする。オブジェクトの選択手段２については、後述する。製本アプリケーションは、ユーザによってページ上にレイアウトされているオブジェクトに対して、各種編集が行われたかどうかをチェックする（Ｓ４２０２）。図４４に上述したように各オブジェクトのオブジェクト情報はＲＡＭ２０２に保持されている。製本アプリケーションは、現在の各オブジェクトのオブジェクト情報と図４４のようのＲＡＭ２０２に保持されているオブジェクト情報を比較し、変更されている点があれば編集が行われたと判定する。
【０１２８】
製本アプリケーションは、オブジェクトに対して実行された編集操作が、プロパティ変更、位置／サイズの変更、重なり順序の変更のいずれかであるかどうかを判定する（Ｓ４２０３）。Ｓ４２０３に示した各種操作が実行された場合、選択対象となるオブジェクトが変更される可能性がある。よって、製本アプリケーションが、Ｓ４２０３に記載した編集操作が行われたと判定した場合、再度オブジェクト選択手段を処理する必要がある。したがって、Ｓ４２０３においてプロパティ変更、または位置／サイズの変更、重なり順序の変更のいずれかの編集操作が行われたと判定された場合、Ｓ４２０１に進む。それ以外の編集操作であった場合は、Ｓ４２０４に進む。Ｓ４２０３で判定する編集操作は、前述した操作に限らず、Ｓ４２０１のオブジェクト選択手段による選択対象オブジェクトが変更される可能性のある編集操作が実行された場合もＳ４２０１へ戻ることになる。
【０１２９】
Ｓ４２０４は、製本アプリケーションがユーザによって範囲選択が行われたかどうかを判定する処理ステップである。範囲選択が行われたと判定された場合は、Ｓ４２０５に進む。範囲選択が行われていないと判定された場合は、本発明の処理は適用されないので、図４５の全体処理フローは終了となる。
【０１３０】
Ｓ４２０２、Ｓ４２０３、Ｓ４２０４の各判定処理ステップは、ユーザからの操作イベントによって分岐されるものである。したがって製本アプリケーションがユーザからのイベントを認識した段階で処理ステップを実行する形で良い。Ｓ４２０５では、ユーザによって範囲選択された矩形情報（位置、サイズ等）を製本アプリケーションが取得する。Ｓ４２０６は、製本アプリケーションが変数ｉを定義して、０を代入する処理ステップである。変数ｉの初期化が終了したら、Ｓ４２０７に進む。Ｓ４２０７において、製本アプリケーションは、選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］＝＝ＮＵＬＬであるかどうかを判定する。ＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］＝＝ＮＵＬＬであった場合、オブジェクトを選択状態にする処理は終了していることを意味するので、図４５の全体処理フローは終了となる。ＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］！＝ＮＵＬＬであった場合は、オブジェクトを選択状態にする処理は終了していないことを意味するので、Ｓ４２０８に進む。製本アプリケーションは、選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］の実データ領域、または実描画範囲が、範囲選択矩形内に完全に包含されているかどうかを判定する（Ｓ４２０８）。選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］の実データ領域または実描画範囲が、範囲選択矩形内に完全に包含されていると判定された場合（Ｓ４２０８−Ｙｅｓ）、製本アプリケーションは、そのオブジェクトを選択状態にする（Ｓ４２０９）。一方、選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］の実データ領域または実描画範囲が、範囲選択矩形内に完全に包含されていないと判定された場合、製本アプリケーションは、選択オブジェクトを選択対象外にする。そのため、製本アプリケーションは、選択オブジェクトを選択状態にすることなく選択オブジェクト[ｉ]をインクリメントする（Ｓ４２１０）。製本アプリケーションは、Ｓ４２０７〜Ｓ４２１０を繰り返して、選択対象となるオブジェクトを選択状態にする処理を行う。このように、図４５の全体処理ステップを実行することで、製本アプリケーションはユーザに指定された選択方法、判定方法に基づき、所望のオブジェクトのみを選択状態にすることが可能になる。
【０１３１】
[オブジェクト選択手段２]
図４６は、図４５のＳ４２０１で説明したオブジェクト選択手段２の詳細処理を示しているフローチャートである。各処理ステップについて説明する。Ｓ４３００において、製本アプリケーションが描画オブジェクトリストＯｂＬｉｓｔ［］を定義して、ページ上に存在する全てのオブジェクトをＯｂＬｉｓｔ［］に順に格納する。また、製本アプリケーションはページ上に存在する全てのオブジェクトを格納し終わったＯｂＬｉｓｔ［］の末尾に、ＮＵＬＬを格納する。Ｓ４３０１において、製本アプリケーションはＯｂＬｉｓｔ［０］＝＝ＮＵＬＬかどうかを判定する。ＯｂＬｉｓｔ［０］＝＝ＮＵＬＬであった場合は、ページ上に存在するオブジェクトがひとつもないことを意味するので、図４６処理フローは終了となる。ＯｂＬｉｓｔ［０］＝ＮＵＬＬでなかった場合は、Ｓ４３０２に進む。Ｓ４３０２において、製本アプリケーションが選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［］を定義して、ＳｅｌｅｃｔＯｂＬｉｓｔ［０］にＮＵＬＬを代入する。選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［］の初期化処理が終了したら、Ｓ４３０３に進む。Ｓ４３０３において、製本アプリケーションは、各オブジェクトについて重なり状態検出手段を実行する。なお、Ｓ４３０３の重なり状態検出手段の処理フローは、実施例１の図３７および図３８で説明した処理フローと同様であるため、説明は省く。
【０１３２】
（実施例３）
［全体処理ステップ］
実施例３は、すでにユーザによって範囲選択などが実行されて、オブジェクトが選択状態になっている場合に、本発明のオブジェクトの選択方法、判定方法を適用させて、所望のオブジェクトのみを選択状態にする方法である。図４７は、本実施例３の全体処理ステップを示しているフローチャートである。それぞれの処理ステップについて説明する。
【０１３３】
Ｓ４４００において、製本アプリケーションは描画オブジェクトリストＯｂＬｉｓｔ［］を定義して、現在選択状態になっている全てのオブジェクトをＯｂＬｉｓｔ［］に順に格納する。また、製本アプリケーションは選択状態となっている全てのオブジェクトを格納し終わったＯｂＬｉｓｔ［］の末尾に、ＮＵＬＬを格納する。Ｓ４４０１において、製本アプリケーションは、ＯｂＬｉｓｔ［０］＝＝ＮＵＬＬかどうかを判定する。ＯｂＬｉｓｔ［０］＝＝ＮＵＬＬであった場合は、現在選択状態であったオブジェクトがひとつもないことを意味するので、本発明の選択処理は実行されない。よって、図４４の処理フローは終了となる。一方、ＯｂＬｉｓｔ［０］＝ＮＵＬＬでなかった場合は、Ｓ４４０２に進む。Ｓ４４０２において、製本アプリケーションは選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［］を定義して、ＳｅｌｅｃｔＯｂＬｉｓｔ［０］にＮＵＬＬを代入する。Ｓ４４０３において、製本アプリケーションはユーザによって指定されたオブジェクトの選択方法と判定方法を取得する。選択方法と判定方法の種類については、図３９にて上述したとおりである。選択方法と判定方法のユーザによる指定方法は、実施例１で説明したダイアログ形式でも良いが、実施例３ではオブジェクトが選択状態になっているときに指定するので、図４８で示すメニュー形式でも良い。４５００、４５０３は四角形オブジェクトを示している。４５０１は三角形オブジェクトであり、実描画範囲を示している。また、４５０２は４５０１の三角形オブジェクトの実データ範囲を示している。４５００〜４５０３は、現在選択状態になっているオブジェクトである。４５０４は、ユーザが各種操作を行うマウスポインタを示している。４５０５は、製本アプリケーションが表示するメニューリストを示す。メニューリスト４５０５は、オブジェクトが選択状態になっているときに、マウスポインタ４５０４の右クリックで表示される方法等の所定の操作が実行された場合に表示されるものとする。４５０６は、前面に見えているオブジェクトのみを選択する方法であり、４５０７は、背面に隠れているオブジェクトのみを選択する選択方法を示している。４５０６、４５０７のメニュー項目を４５０４マウスポインタで選択することで、製本アプリケーションに各選択方法を指定できる。判定方法については、図４８（２）の４５０８で示しているような製本アプリケーションのメニューバーから指定できても良い。
【０１３４】
製本アプリケーションがユーザに指定された選択方法と判定方法を取得したらＳ４４０４に進む。Ｓ４４０４において、製本アプリケーションは、図３８および図３９にて上述した重なり状態検出手段を実行する。Ｓ４４０５において、製本アプリケーションは、変数ｉを定義して、０を代入する。変数ｉの初期化が終了したら、Ｓ４４０６に進む。Ｓ４４０６において、製本アプリケーションは、選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］＝＝ＮＵＬＬであるかどうかを判定する処理ステップである。ＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］＝＝ＮＵＬＬであった場合は、オブジェクトを選択状態にする処理は終了していることを意味するので、図４４の全体処理フローは終了となる。ＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］！＝ＮＵＬＬであった場合は、Ｓ４４０７に進む。Ｓ４４０７は、製本アプリケーションが選択オブジェクトＳｅｌｅｃｔＯｂＬｉｓｔ［ｉ］を選択状態にする処理ステップである。
【０１３５】
選択状態にする処理が終了すると、Ｓ４４０８に進む。Ｓ４４０８は、製本アプリケーションが変数ｉをインクリメントする処理ステップである。変数ｉのインクリメント処理が終了したら、Ｓ４４０６に進む。製本アプリケーションは、Ｓ４４０６〜Ｓ４４０８を繰り返して、選択対象となるオブジェクトを選択状態にする処理を行う。このように、この全体処理ステップを実行することで、製本アプリケーションはユーザに範囲選択されたオブジェクトの中から、指定された選択方法、判定方法に基づき、所望のオブジェクトのみを選択状態にすることが可能になる。
【０１３６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１３７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１３９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１４０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１４３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１４４】
【図１】本実施形態のスタンドアロン型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図２】本実施形態の文書処理システムを実現するハードウェア構成例を示すブロック図である。
【図３】ブックファイルの構造の一例を示す図である。
【図４】ブック属性の一覧を示す図である。
【図５】章属性の一覧を示す図である。
【図６】ページ属性の一覧を示す図である。
【図７】ブックファイルを開く手順例を示すフローチャートである。
【図８】電子原稿ファイルをブックファイルにインポートする手順例を示すフローチャートである。
【図９】図８のステップ８０１に示すアプリケーションデータを電子原稿ファイルに変換する手順例を示すフローチャートである。
【図１０】製本アプリケーションのＵＩ画面である。
【図１１】新規にブックファイルが作成された際のＵＩ画面である。
【図１２】クライアントサーバ型の文書処理システムのソフトウェア構成例を示すブロック図である。
【図１３】ステイプル制御システムの構成を示すブロック図である。
【図１４】本発明の原稿エディタの起動の例を示すＵＩ画面である。
【図１５】原稿エディタの起動手順を示すフローチャートである。
【図１６】原稿エディタのメインＵＩ画面を示している。
【図１７】テキスト編集におけるテキストオブジェクトの選択を示す図である。
【図１８】テキスト編集を実行する手順を示すフローチャートである。
【図１９】テキスト編集におけるテキストの追加を示す図である。
【図２０】テキスト編集におけるテキストの削除を示す図である。
【図２１】テキスト編集におけるテキストボックス作成を示す図である。
【図２２】テキストボックスの編集手順を示すフローチャートである。
【図２３】テキストボックスへのテキスト追加を示す図である。
【図２４】イメージ編集におけるイメージ挿入メニューの例を示す図である。
【図２５】イメージ編集におけるイメージの挿入の例を示す図である。
【図２６】イメージ編集におけるイメージの回転の例を示す図である。
【図２７】イメージの挿入手順を示すフローチャートである。
【図２８】イメージ編集におけるイメージ書き出しメニューの例を示す図である。
【図２９】イメージの書き出し手順を示すフローチャートである。
【図３０】オブジェクト編集における楕円作成メニューの例を示す図である。
【図３１】オブジェクト編集における楕円作成の例を示す図である。
【図３２】オブジェクト編集における新規作成順を示すフローチャートである。
【図３３】本願の課題の一例を示している、説明図である。
【図３４】本願の課題の一例を示している、説明図である。
【図３５】本願の実施例１における、全体処理を示しているフローチャートである。
【図３６】本願の実施例１における、オブジェクト選択手段の各処理を詳細に示しているフローチャートである。
【図３７】本願の「前面オブジェクト選択モード」時の重なり状態検出手段のフローチャートである。
【図３８】本願の「背面オブジェクト選択モード」時の重なり状態検出手段のフローチャートである。
【図３９】本願の選択方法の切り替えを指定する切り替えダイアログのＵＩ例（（１））と、判定方法を指定する指定ダイアログのＵＩ例（２、３）の一例を示している。
【図４０】本願におけるオブジェクトの選択結果の一例を示す図である。
【図４１】本願におけるオブジェクトの選択結果の一例を示す図である。
【図４２】本願におけるオブジェクトの選択結果の一例を示す図である。
【図４３】本願におけるオブジェクトの選択結果の一例を示す図である。
【図４４】本願におけるオブジェクト情報の一例を示す図である。
【図４５】本願の実施例２における全体処理を示すフローチャートである。
【図４６】本願の実施例２におけるオブジェクト選択手段２のフローチャートである。
【図４７】本願の実施例３における、全体処理を示すフローチャートである。
【図４８】本願の実施例３における、選択方法の切り替えを指定する切り替えメニューのＵＩ例（１）と、判定方法を指定するメニューのＵＩ例（２）の一例を示す図である。
【図４９】本願におけるオブジェクトテーブル作成のフローチャートである。
【符号の説明】
【０１４５】
１００  ホストコンピュータ
１０７  プリンタ
２０１  ＣＵＰ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０７  ディスクコントローラ
【図１】
2007279831.tif 000003
【図２】
2007279831.tif 000004
【図３】
2007279831.tif 000005
【図４】
2007279831.tif 000006
【図５】
2007279831.tif 000007
【図６】
2007279831.tif 000008
【図７】
2007279831.tif 000009
【図８】
2007279831.tif 000010
【図９】
2007279831.tif 000011
【図１０】
2007279831.tif 000012
【図１１】
2007279831.tif 000013
【図１２】
2007279831.tif 000014
【図１３】
2007279831.tif 000015
【図１４】
2007279831.tif 000016
【図１５】
2007279831.tif 000017
【図１６】
2007279831.tif 000018
【図１７】
2007279831.tif 000019
【図１８】
2007279831.tif 000020
【図１９】
2007279831.tif 000021
【図２０】
2007279831.tif 000022
【図２１】
2007279831.tif 000023
【図２２】
2007279831.tif 000024
【図２３】
2007279831.tif 000025
【図２４】
2007279831.tif 000026
【図２５】
2007279831.tif 000027
【図２６】
2007279831.tif 000028
【図２７】
2007279831.tif 000029
【図２８】
2007279831.tif 000030
【図２９】
2007279831.tif 000031
【図３０】
2007279831.tif 000032
【図３１】
2007279831.tif 000033
【図３２】
2007279831.tif 000034
【図３３】
2007279831.tif 000035
【図３４】
2007279831.tif 000036
【図３５】
2007279831.tif 000037
【図３６】
2007279831.tif 000038
【図３７】
2007279831.tif 000039
【図３８】
2007279831.tif 000040
【図３９】
2007279831.tif 000041
【図４０】
2007279831.tif 000042
【図４１】
2007279831.tif 000043
【図４２】
2007279831.tif 000044
【図４３】
2007279831.tif 000045
【図４４】
2007279831.tif 000046
【図４５】
2007279831.tif 000047
【図４６】
2007279831.tif 000048
【図４７】
2007279831.tif 000049
【図４８】
2007279831.tif 000050
【図４９】
2007279831.tif 000051