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