文書処理装置、文書処理方法、及びプログラム
【課題】 入力されるオブジェクトに設定されている属性をページ内に配置されているいずれかのオブジェクトの属性に同調させたデータ処理を行うことである。
【解決手段】
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する(S2700)。そして、作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトをページ内から探索する(S2701)。次に、探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とに基づいて、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置を合わせる(S2702、S2703)構成を特徴とする。
【解決手段】
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する(S2700)。そして、作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトをページ内から探索する(S2701)。次に、探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とに基づいて、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置を合わせる(S2702、S2703)構成を特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のオブジェクトをページに配置して文書処理を行う文書処理装置における文書処理に関するものである。
【背景技術】
【0002】
従来、印刷工程におけるレイアウト作成を行うソフトウェアにおいて、テキストデータを配置する枠を作成し、その枠内に体裁を整えながら文書データを配置することで、印刷原稿を作成する工程があった。
【0003】
また、入稿された電子データの内容を解析し、テキストや画像を認識した単位で一塊のオブジェクトとし、削除・追加・移動などの編集を行うことができた。
【0004】
これにより、入稿された電子データの修正・変更が行えた。
【0005】
例えば、顧客毎にテキストや画像を差し替えて印刷をする可変印刷を行う際には、原稿データに含まれるフィールド(枠)に対してテキスト、画像を入力する。
【0006】
このとき、差し替え用のテキストと原稿データに予め配置されたテキストオブジェクトを一連の文書としたい場合(名前+様など)、原稿データのテキストに合わせて差し替え用のテキストの位置やフォントを調整しなければならなかった。
【0007】
従来、位置の調整を行う方法として、位置を合わせたい複数のオブジェクトを選択し、「上揃え」や「左揃え」などの操作を行うことによりオブジェクトの枠に対して位置を揃える方法があった。
【0008】
また、枠に対して基準を持つのではなく枠内に任意の点を指定することでその点に対してオブジェクトを揃えることもできた。(特許文献1)
【特許文献1】特開平7−105212号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来の技術ではオブジェクト同士の位置を揃えることは可能だがテキスト属性を揃えることはできなかった。例えば、テキストが入力される複数のフィールドに対して上揃えを設定することにより、各フィールドに入力されるテキストの上位置を揃えることができる。
【0010】
しかしながら、各フィールドに入力されるテキストのフォントサイズが異なる場合、テキストの下位置が不揃いとなり、ユーザが手作業でフォントサイズを統一化する等の調整をしなければならなかった。
【0011】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、入力されるオブジェクトに設定されている属性をページ内に配置されているいずれかのオブジェクトの属性に同調させたデータ処理を行える仕組みを提供することである。
【課題を解決するための手段】
【0012】
本発明に係る文書処理装置は、以下の特徴的構成を備える。
【0013】
複数のオブジェクトを配置して文書編集を行う文書処理装置であって、ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成手段と、前記作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索手段と、前記探索手段により探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理手段とを有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、入力されるオブジェクトに設定されている属性をページ内に配置されているいずれかのオブジェクトの属性に同調させたデータ処理を行える。
【発明を実施するための最良の形態】
【0015】
次に本発明を実施するための最良の形態について図面を参照して説明する。以下、本発明に係る文書処理システムの概要について、図1乃至図12を参照して以下に説明する。
【0016】
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示す文書処理システムのソフトウェアの構成を示す図である。尚、この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。
【0017】
また、製本アプリケーションは、電子原稿ライタにより作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。また、文書処理システムは、本発明の情報処理装置に好適な実施形態であるコンピュータ100(以下、ホストコンピュータとも呼ぶ)によって実現されている。
【0018】
<システム構成及び動作>
図1において、一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、OSに対する印刷機能を有している。
【0019】
これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム(OS)によって提供される所定のインタフェース(一般に、GDIと呼ばれる)を利用する。
【0020】
即ち、一般アプリケーション101は、作成したデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。
【0021】
一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド(DDI関数と呼ばれる)を出力する。ここで、出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイス毎にデバイスドライバが提供されている。
【0022】
OSでは、そのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブが生成される。
【0023】
OSとしてマイクロソフト社のウインドウズ(登録商標)を利用する場合には、前述した出力モジュールとしてはGDI(Graphic Device Interface)と呼ばれるモジュールが相当する。
【0024】
電子原稿ライタ102は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。
【0025】
但し、電子原稿ライタ102は、特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換する。
【0026】
この電子原稿ライタ102による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるPDF形式やSVG形式などが電子原稿形式として採用できる。
【0027】
一般アプリケーション101から電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。
【0028】
但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして相応しい形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。
【0029】
そして、製本アプリケーション104は電子原稿ライタ102が生成した新規の電子原稿ファイルを後述する形式を備えた相応しい電子原稿ファイルとして完成させる。
【0030】
以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。なお、図1において、ブックファイルは、電子原稿ファイル103に対応する。
【0031】
また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
【0032】
このように、電子原稿ライタ102を指定し印刷することで、アプリケーションデータは、一般アプリケーション101によって定義されたページ(以後論理ページあるいは原稿ページと呼ぶ)を単位とする電子原稿形式に変換される。そして、変換されたアプリケーションデータは、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。
【0033】
尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータ100が備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【0034】
製本アプリケーション104は、電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者に提供する。
【0035】
但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【0036】
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。
【0037】
電子原稿デスプーラ105は、製本アプリケーション104と共にコンピュータ内にインストールされるプログラムモジュールである。
【0038】
電子原稿デスプーラ105は、製本アプリケーション104で利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。
【0039】
電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。
【0040】
その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。
【0041】
上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力し、そのプリンタドライバ106がプリンタ107で解釈実行可能なページ記述言語等のコマンドに変換する。
【0042】
そして、変換されたコマンドは、プリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が印刷される。
【0043】
図2は、図1に示したコンピュータ100のハードウェアの構成を説明するブロック図である。
【0044】
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。
【0045】
これにより、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。
【0046】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。
【0047】
CRTコントローラ(CRTC)206は、CRT210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフレキシブルディスク(FD)等とのアクセスを制御する。なお、2000はコントローラ部である。
【0048】
PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【0049】
<電子原稿データの形式>
製本アプリケーション104の詳細を言及する前に、ブックファイルのデータ形式について説明する。
【0050】
ブックファイルは、紙媒体の書物に対応づけ可能な3層の層構造を有する。
【0051】
まず、上位層は「ブック」と呼ばれ、1冊の本を想定しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。
【0052】
尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
【0053】
図3は、本実施形態を示す情報処理装置で処理可能な電子原稿データの構造を説明する図である。特に、図3の(A)は、ブックファイルの形式の一例を示す。本例では、ブックファイルにおけるブック,章,ページは、それぞれに相当するノードにより示されている。
【0054】
一つのブックファイルは一つのブックを含む。ブック,章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。
【0055】
ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。
【0056】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【0057】
図3の(A)において、ブック301には、ブック属性が定義されていると共に、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることが表示される。
【0058】
章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。同様に、章302Bには、ページ303C,303Dがリンクされ、これらページが含まれることが示されている。各ページ303C,303Dにはそれぞれ属性値が定義され、その実体である原稿ページデータ(3)、(4)へのリンクが含まれる。
【0059】
これらリンクは、図3の(B)のように原稿ページデータ304のデータ(1),(2)を指し示し、ページ303A、303Bの実体が原稿ページデータ(1)、(2)であることを表示している。
【0060】
図4は、図3に示すブック属性301のリストを示す図である。なお、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。
【0061】
しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
【0062】
図5は、図3に示す章属性のリストを示す図である。また、図6は、図3に示すページ属性のリストを示す図である。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【0063】
図4〜図6から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。
【0064】
これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。
【0065】
製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【0066】
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。
【0067】
インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。
【0068】
この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【0069】
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
【0070】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。
【0071】
片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることはないが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
【0072】
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。
【0073】
したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。
【0074】
ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。
【0075】
これらのうち、N−up印刷指定属性は1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1、1×2、2×2、3×3、4×4などがある。
【0076】
排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【0077】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。
【0078】
例えば、1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
【0079】
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。
【0080】
ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。
【0081】
尚、ウォーターマーク属性及びヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。
【0082】
ブックにおいては、ウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。
【0083】
一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【0084】
<ブックファイルの生成手順>
ブックファイルは上述したような構造及び内容を有している。
【0085】
次に、製本アプリケーション104及び電子原稿ライタ102によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
【0086】
図7は、本実施形態を示す文書処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、図1に示した製本アプリケーション104によりブックファイルを開く際の手順に対応する。なお、本願のS〜という記載は、フローチャートの各処理ステップを示す。また、本願のフローチャートの各ステップは、図2に示したCPU201がRAM202に製本アプリケーション104をロードして実行することで実現される。
【0087】
まず、S701で、製本アプリケーション104は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する。ここで、製本アプリケーション104が新規作成であると判定した場合には、S702で、製本アプリケーション104は、章を含まないブックファイルを新規に作成して、S704へ進む。
【0088】
なお、新規に作成されるブックファイルは、図3の例で示せば、ブック301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。
【0089】
そして、S704で、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示して、処理を終了する。
【0090】
図11は、図2に示すCRT210に表示されるユーザインタフェースを説明する図である。本例は、新規にブックファイルが作成された際のUI画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、UI画面1100には何も表示されない。
【0091】
一方、S701で、製本アプリケーション104が既存のブックファイルであると判定した場合は、指定されたブックファイルを開き(S703)、ブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示(S704)して、本処理を終了する。
【0092】
図10は、図2に示すCRT210に表示されるユーザインタフェースを説明する図である。本例は、既存のブックファイルから指定されたブックファイルを表示するUI画面の一例である。
【0093】
図10において、UI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、ブックに含まれる章、各章に含まれるページが図3に示す(A)のような木構造で表示される。
【0094】
ツリー部1101に表示されるページは原稿ページである。また、プレビュー部1102には、印刷ページの内容1103が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【0095】
さて、開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。
【0096】
図7に示す手順によって新規に作成されたブックファイルに電子原稿をインポートすることで、そのブックファイルには実体が与えられる。
【0097】
この機能は、図10に示すUI画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【0098】
図8は、本実施形態を示す文書処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、図1に示した電子原稿ライタ102による電子原稿のインポート処理手順の例である。
【0099】
まず、S801で、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させることで、電子原稿データに生成する。そして、電子原稿データの生成を終えたなら、S802で、電子原稿ライタ102は、生成されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。
【0100】
例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。
【0101】
また、このような画像データの場合はS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、S801の処理を省略することも可能である。
【0102】
ここで、電子原稿ライタ102が画像データでないと判断した場合には、S803へ進み、電子原稿ライタ102は、S801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加して、本処理を終了する。
【0103】
ここで、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【0104】
また、S802で、電子原稿ライタ102が画像データであると判断した場合は、S804へ進む。そして、S804で、電子原稿ライタ102は、原則として新たな章は追加されず、指定されている章に、S801で生成された電子原稿ファイルに含まれる各原稿ページを追加して、本処理を終了する。
【0105】
但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。
【0106】
ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。
【0107】
例えば、Nup指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【0108】
図9は、本実施形態を示す文書処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は、図8に示すS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順の例である。
【0109】
まず、S901で、電子原稿ライタ102は、新たな電子原稿ファイルを作成してそれを開く。次に、S902で、電子原稿ライタ102は、指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとしてOSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータに変換し、出力する。なお、その出力先はS901で開いた電子原稿ファイルである。
【0110】
次に、S903で、電子原稿ライタ102は、指定されたデータ全てについて変換が終了したか判定する。ここで、電子原稿ライタ102がデータ全てについて変換が終了していると判定した場合は、S904で、電子原稿ライタ102は、電子原稿ファイルを閉じて、本処理を終了する。一方、電子原稿ライタ102がデータ全てについて変換が終了していないと判定した場合は、S902へ戻る。
【0111】
なお、電子原稿ライタ102によって生成される電子原稿ファイルは、図3の(B)に示される原稿ページデータの実体を含むファイルである。
【0112】
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作(1)〜(12)が可能である。
【0113】
(1)新規追加、(2)削除、(3)コピー、(4)切取り、(5)貼付け、(6)移動、(7)章名称変更、(8)ページ番号名称振り直し、(9)表紙挿入、(10)合紙挿入、(11)インデックス紙挿入、(12)各原稿ページに対するページレイアウト。
【0114】
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。
【0115】
これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。
【0116】
これらの操作を行うと、図4、図5に示す属性に操作結果が反映、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。
【0117】
このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【0118】
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。
【0119】
ここで、利用者が図10に示した製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。
【0120】
この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。
【0121】
一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDI関数に変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【0122】
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは、1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。
【0123】
1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。
【0124】
また、物理ページの属性として、原稿ページのレイアウトが含まれる。
【0125】
電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【0126】
<そのほかのシステム構成>
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理される。
【0127】
図12は、本実施形態を示す文書処理システムの構成を示すブロック図である。なお、本例は、サーバクライアント型文書処理システムの構成例である。なお、図1と同一のものには同一の符号を付してある。
【0128】
クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ109を備える。
【0129】
その他に、DOMSプリントサービス110、DS(文書サービス)クライアント108を加えた構成を有する。
【0130】
このクライアント文書処理システム1200に文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。
【0131】
これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
【0132】
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバがクライアントに接続されているが、いずれか一方のみネットワーク上に存在する場合もあり得る。
【0133】
例えば、接続されているサーバが文書管理サーバであれば、そのDSクライアント108を含む文書管理サーバクライアントシステム1201SCがスタンドアロン型文書管理システムに追加される。
【0134】
また、印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
【0135】
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルはクライアントPCのローカルHDに代わって、あるいはそれに加えて、文書管理サーバ1201のデータベース1211に保存される。
【0136】
製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
【0137】
印刷集中管理サーバ1202は、クライアント文書処理システム1200に格納された、あるいは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。
【0138】
クライアントにおける印刷要求は、DOMSドライバ109及びDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。
【0139】
印刷集中管理サーバ1202は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。
【0140】
プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1203に送信する。印刷集中管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。
【0141】
このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【0142】
<プレビュー表示の内容>
すでに説明したとおり、ブックファイルが製本アプリケーション104によって開かれると、図10に示したユーザインタフェース画面1100がCRT210上に表示される。
【0143】
ツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。
【0144】
プレビュー部1102には、利用者の指定に応じて、3通りの表示方法が用意されている。
【0145】
まず、第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。
【0146】
尚、プレビュー部1102の表示にレイアウトは反映されない。
【0147】
次に、第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第3は簡易印刷ビューモードである。
【0148】
この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【0149】
<ステイプル制御>
次に、ステイプル機能を有するプリンタと接続するコンピュータ100の製本アプリケーション104によって行われるステイプル制御について説明する。
【0150】
図13は、本実施形態を示す文書処理システムの一例を示すブロック図である。本例は、ステイプル制御システムの例であって、図示するように、図2に示したホストコンピュータ100とステイプル機能を有するプリンタ107とで構成される。なお、図2と同一のものには同一の符号を付してある。
【0151】
以下、プリンタ107の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【0152】
図示するように、プリンタ107において、1301はプリンタCPU(CPU)である。制御プログラムは、ROM1302内のプログラム用ROMや外部メモリ1303に記憶される。
【0153】
そして、制御プログラム等に基づいてシステムバス1304に接続される印刷部I/F1305を介して、印刷部(プリンタエンジン)1306に出力情報としての画像信号を出力する。
【0154】
また、このROM1302内のプログラムROMには、CPU1301の制御プログラム等が記憶され、ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶される。
【0155】
また、ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、ホストコンピュータ100上で利用される情報等が記憶されている。
【0156】
また、CPU1301は、入力部1307を介してホストコンピュータ100との通信処理が可能となっており、プリンタ107内の情報等をホストコンピュータ100に通知できる。
【0157】
RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【0158】
尚、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。
【0159】
外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0160】
また、操作部1311は操作のためのスイッチ及びLED表示器等で構成されている。
【0161】
また、上述の外部メモリ1303は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。
【0162】
更に、図示しないNVRAMを有し、操作部1311からのプリンタモード設定情報を記憶するようにしても良い。
【0163】
<可変印刷>
製本アプリケーション104は、生成したブックファイルのページ属性として、可変印刷を実行するための可変フィールドの設定を行うことが可能である。以下、可変印刷について説明する。
【0164】
図44は、本実施形態を示す文書処理システムにおける可変印刷のページレイアウト例を示す図である。
【0165】
図44において、4400は原稿ページ、4401は可変印刷を実行するための可変フィールドを指名している。可変フィールドは、原稿ページ上に複数配置されても良い。可変フィールドの中に、接続したデータベースからデータを差し込み、カスタマイズして印刷を行う。
【0166】
4402はデータベースで、可変フィールド4401に差し込み可能なデータを管理している。
【0167】
データベース4402には、レコードと呼ばれる識別子があり、このレコード単位で原稿ページに対してデータを差し替える。
【0168】
この例では、データベース4402は、R1〜R4の4レコードのデータを管理する。また、データベース4402の各レコードは、テキストのデータ4403とイメージのデータ4404を含む。
【0169】
この例では、原稿ページ1ページ目に設定されている可変フィールドにはテキストのデータ4403、原稿ページ2ページ目に設定されている可変フィールドにはイメージのデータ4404を差し込むように設定されているものとする。可変フィールドの設定や、データベースデータとの関連の設定については、後述する。
【0170】
4405は実際にデータベースのデータが差し込まれた原稿ページの例を示している。レコードR1が差し込まれると、原稿ページ1ページ目にはレコードR1のテキストデータ"AAA"4406が差し込まれて原稿ページがレイアウトされる。
【0171】
また、原稿ページ2ページ目にはイメージデータ(飛行機のイメージ4407)が差し込まれて原稿ページがレイアウトされる。
【0172】
また、レコードR2が差し込まれると、原稿ページ1ページ目にはレコードR2のテキストデータ"BBB"4408が差し込まれ、原稿ページ2ページ目にはイメージデータ(トラックのイメージ4409)が差し込まれて原稿ページがレイアウトされる。なお、レコードR3、R4も同様に、データ4410から4413が各ページにレイアウトされる。
【0173】
原稿ページ3ページ目については、可変フィールドが設定されていないので、データの差し込みは実行されない。しかし、データの差し込みは実行されなくても、全てのレコードに対して原稿ページ3ページ目は印刷される。このように、可変印刷を行うと、原稿ページ×レコード数分の印刷が行われることとなる。
【0174】
図45A,図45Bは、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0175】
なお、図45Aは、前述した可変印刷の設定を行う可変印刷エディタのUI例を示している。この可変印刷エディタは、製本アプリケーション104から起動され、ブックファイルの論理ページ単位で設定を行うことが可能である。
【0176】
図45Aにおいて、4500は可変印刷エディタの全体UIを示している。可変印刷エディタが起動されると全体UIが表示される。4501は可変印刷エディタのウインドウを最小化、最大化、閉じることができるボタンを示している。4502は可変印刷エディタの各種編集操作を行うメニューバーを示している。4503は可変印刷エディタのツールボタンを示している。
【0177】
4504はスクロールバーを示しており、可変印刷エディタで原稿ページを表示しきれない場合に表示され、ウインドウ全体をスクロールして原稿ページ全体を編集することを可能にする。
【0178】
4505は可変印刷エディタのグラブコントロールを示しており、マウスポインタを使ってウインドウサイズを任意に変更することを可能にする。
【0179】
4506は可変印刷エディタで編集している原稿ページを示している。
【0180】
4507は原稿ページ上に描画されているオブジェクトである。可変印刷エディタでは前述した可変フィールドの設定のみを機能として持つので、他の原稿ページ上のオブジェクトを編集できない。
【0181】
4508はテキストデータを差し込むテキスト可変フィールドを示している。4509はイメージデータを差し込むイメージ可変フィールドを示している。
【0182】
本実施形態ではテキスト可変フィールド、イメージ可変フィールドを区別せずに指し示すときに可変フィールドという言葉を用いている。
【0183】
これらのフィールドはメニュー4502やツールボタン4503で可変フィールド作成機能を選択して、マウスカーソルで矩形を描画することにより、同調フィールド又は通常フィールドのためのフィールドを作成することが可能である。
【0184】
図45Bは、可変フィールドへ差し込まれるデータを設定するために接続するデータベースへの接続方法を示すUI例である。
【0185】
図45Bにおいて、4510は接続ダイアログである。4511は、接続ダイアログ4510を閉じるボタンを示している。接続ダイアログ4510は、メニュー4502やツールボタン4503を選択することで表示される。
【0186】
4512はデータベースへの接続を設定するエリアである。すでに接続されていれば、接続中のデータベースファイル名が表示される。未接続であれば空白である。接続を行うときは、参照ボタン4513を押下し、データベースファイル参照ダイアログ等を表示させ、データベースファイルを指定する。
【0187】
データベースへ接続中に参照ボタンで他のデータベースファイルを選択したときは、選択したデータベースへ接続を切り替える。
【0188】
語述する4514〜4519はデータベースに接続中に有効になるコントロールであり、接続中のデータベースの内容を示すためのものである。
【0189】
4514は接続しているデータベースのレコードを移動させるレコード移動ボタンである。4515は接続しているデータベースの総レコード数と、現在内容を表示しているレコード番号を示すものである。
【0190】
4516は接続しているデータベースに設定されているカラム名を示している。カラム名はデータベースの各レコードデータがどのような属性を持っているかを示すもので、図45Bの例では、"名前"と"イメージ"4517という属性を持ったデータベースであることを示している。
【0191】
4518は接続しているデータベースの各レコードのカラム名に対する値(データ)を示している。図45Bでは、1レコード目のデータは"名前"という属性に対して"AAA"、"イメージ"という属性に対して"XXXX.bmp"という値を持っていることを示す。
【0192】
レコード移動ボタン4514でレコードを移動すると、データ4519の内容も移動したレコード番号に合わせて変化する。4520はOKボタンで、接続ダイアログ4510で設定した内容を確定する場合に押下される。
【0193】
4521はキャンセルボタンで、設定内容を反映せずに終了する場合に押下される。
【0194】
図46A,図46Bは、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0195】
図46Aにおいて、テキスト可変フィールド4600へは前述した"名前"というカラムが設定されている。
【0196】
設定方法としては、テキスト可変フィールドのプロパティなどで、接続しているデータベースのカラムを設定できるようにすれば良い。
【0197】
また、テキスト可変フィールド4600へ設定できるデータベースのカラムの数は複数であっても良い。
【0198】
イメージ可変フィールド4601へは前述した"イメージ"というカラムが設定されている。設定方法としては、イメージ可変フィールドのプロパティなどで、接続しているデータベースのカラムを設定できるようにすれば良い。イメージ可変フィールド4601へ設定できるデータベースのカラムの数は単数である。
【0199】
図46Bは、設定した内容をプレビューしたときのUI例である。プレビューでは、可変フィールドへ設定したデータベースデータが差し込まれた状態が確認できる。
【0200】
図46Bにおいて、4602は、図46Aで示したテキスト可変フィールド4600へ"名前"のカラムの値"AAA"が差し込まれた状態を示している。
【0201】
また、4603は、図46Aで示したイメージ可変フィールド4601へ"イメージ"のカラムの値"電車のイメージ"が差し込まれた状態を示している。
【0202】
4604はデータベースのレコードを移動するレコード移動ボタンである。このレコード移動ボタン4604を使ってレコード移動を行い、それぞれのレコードのデータをプレビューすることができる。
【0203】
なお、可変印刷は製本アプリケーション104の印刷ダイアログで印刷時にON/OFFの指定を可能とする。したがって、印刷ダイアログで可変印刷をしないということを指定すれば、可変印刷エディタで設定した内容は反映せずに印刷することができる。
【0204】
<ブックファイル編集機能>
製本アプリケーション104は、生成されたブックファイルに対して、文章・画像の編集を行うことを可能とする原稿エディタを備える。
【0205】
前記原稿エディタは、製本アプリケーション104から起動され、ブックファイルを論理ページ毎に編集することが可能である。
【0206】
図15は、本実施形態を示す文書処理装置における第4のデータ処理手順の一例を示すフローチャートである。本例は、製本アプリケーション104にて、選択された原稿ファイルに対して原稿エディタの起動フローを示している。
【0207】
まず、S1501で、製本アプリケーション104は、選択された原稿ファイルに対してメニューをCRT210に表示させる。
【0208】
次に、S1502で、製本アプリケーション104は、S1501において表示されたメニューより"原稿エディタ"が選択されたことを認識し、S1503で、原稿エディタを起動することによりCRT210にメイン画面を表示して、本処理を終了する。
【0209】
図14は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、製本アプリケーション104から、原稿エディタを起動するUI例を示している。
【0210】
図14において、1401は製本アプリケーションUI、1402はインポートされた原稿ファイルである。
【0211】
1403はポップアップメニューで、原稿ファイル選択時に表示される。1404はマウスポインタを示している。原稿エディタの起動は、インポートされた原稿ファイルをマウスポインタで選択し、ポップアップメニュー1403を表示させ、メニュー内の"原稿エディタ"を選択することで実行される。
【0212】
次に、原稿エディタで行える編集機能について説明をする。
【0213】
図16は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、原稿エディタの全体UIを示している。
【0214】
図16において、1601は原稿エディタUI、1602はメニューバー、1603はツールボタン、1604はページ移動ボタン、1605はズーム指定ボックスを示す。
【0215】
1606は編集対象の原稿ファイルを示している。1607はテキストオブジェクトを示している。1608,1609は図形オブジェクトを示している。1610は直線オブジェクトを示している。
【0216】
[テキスト編集機能]
図17は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、テキストオブジェクトの選択の例を示している。
【0217】
図17において、1701はテキストオブジェクト、1702はオブジェクトのコントロールハンドル、1703はマウスポインタを示している。
【0218】
マウスポインタ1703で原稿ファイル内のテキスト上を選択すると、選択されたテキストがオブジェクトとして選択状態となる。選択状態になったオブジェクトにはコントロールハンドル1702が表示され、選択されたことをユーザに示す。
【0219】
テキストオブジェクトは、選択して移動・削除・テキスト属性の変更・テキストの追加・削除される。
【0220】
図18は、本実施形態を示す文書処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、原稿エディタによるテキスト編集フローを示している。
【0221】
まず、S1801で、ユーザのマウス操作に基づいて、マウスポインタ1703で選択された原稿ファイル内のテキストを、テキストオブジェクトとして抽出する。
【0222】
次に、S1802で、原稿エディタは、抽出されたテキストオブジェクトに対する編集要求を判別して、S1803〜S1806で、テキストの追加、テキストの削除、テキスト属性の変更、テキストオブジェクトの移動・削除などの編集を実行する。
【0223】
図19〜図21は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。図19の例は、原稿エディタによるテキスト追加の編集例を示している。
【0224】
以下、図17に示したテキストオブジェクト1701についてテキストの追加を行う例を図19に基づいて説明する。
【0225】
図19において、選択状態になっているテキストオブジェクトを再度マウスポインタ1903で選択すると、テキストオブジェクトが矩形1901で囲まれ、編集カーソル1902が表示される。テキストを追加する位置にカーソルを移動させ、文字を入力すると、テキストオブジェクトに入力した文字が追加される。
【0226】
図19では、"日本語のテスト"のテストの前に"テスト"を追加したときの例を示している。
【0227】
図20は、テキスト削除の例を示している。
【0228】
図17のテキストオブジェクト1701についてテキストの削除を行う。テキスト追加と同様の方法でテキストオブジェクトが矩形で囲まれ、編集カーソル2001が表示されている状態にする。その状態で、バックスペースキーや削除を実行すると、編集カーソルの前の文字が削除される。
【0229】
テキスト属性の編集について、各テキストオブジェクト内のテキストは属性を持っており、その属性についても編集することが可能である。テキスト属性には、フォント・スタイル・サイズ・色・文字装飾・文字間隔・水平スケーリング率・単語間隔などがある。それぞれの意味、設定方法については、公知であるため説明は省略する。
【0230】
[テキストボックス編集機能]
前述したテキストオブジェクトは1行に限定された編集であったが、原稿エディタは複数行のテキストを新規に作成する機能を有する。複数行のテキストを作成する際には、テキストボックスを用いる。
【0231】
図22は、本実施形態を示す文書処理装置における第6のデータ処理装置を示すフローチャートである。本例は、テキストボックス編集のフローを示している。
【0232】
まず、S2201で、原稿エディタは、テキストボックス作成モードへ遷移し、S2202で、テキストボックスを生成する。
【0233】
次に、S2203で、原稿エディタは、編集処理を終了したかどうかを判断する。ここで、原稿エディタが編集要求内容を判断して、S2204で、テキストオブジェクトの編集(この編集は前述した1行テキストの編集操作と同じ)を行い、S2203に戻る。
【0234】
同様に、S2205で、原稿エディタは、S2203の編集内容の判断結果に基づいて、テキストボックス属性の編集を行い、S2203に戻る。
【0235】
同様に、S2206で、原稿エディタは、S2203の編集内容の判断結果に基づいて、テキストボックスの移動・削除などの編集を施し、S2203へ戻る。
【0236】
そして、S2203で、原稿エディタが編集処理を終了したと判断した場合は、本処理を終了する。
【0237】
図21に示すUI画面の例では、テキストボックス作成の例を示している。
【0238】
図21において、原稿ファイル1606上にテキストボックス作成モードで、マウスポインタ1903を用いて矩形を描画すると、テキストボックス2101が作成される。作成されたテキストボックス2101には、コントロールハンドル2102が表示される。コントロールハンドル2102をマウスポインタでドラッグすることにより、ボックスのリサイズが可能である。
【0239】
図23は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、前述したテキストボックス2101内にテキストを追加する例を示している。
【0240】
図23において、テキストボックス2101に"テキストボックステスト。複数行"というテキスト2301を追加した例を示している。
【0241】
また、選択状態のテキストボックス2101を再度マウスポインタで選択すると、テキストオブジェクト編集の時と同様に、ボックス内に編集カーソルが表示される。
【0242】
その状態で、テキストを入力することにより、テキストボックス2101にテキストを追加、削除することが可能である。
【0243】
なお、テキストボックス及びテキストボックス内のテキストについてもテキストオブジェクトと同様に属性を編集することが可能である。
【0244】
[同調フィールドの作成]
図24Aは、図2に示すCRT210に表示されるユーザインタフェースとの一例を示す図である。本例は、選択したテキストオブジェクトのテキスト属性を周囲のテキストオブジェクトと同一となるように設定される同調フィールドを作成するためのユーザインタフェースの例である。以下、図24A〜図24C、図25を参照して、図24Aに示すUI画面の表示例を説明する。
【0245】
図24B、図24Cは、本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【0246】
本実施形態では、図24Bに示すように、図24Aのプロパティ画面で、チェックボックスCBにチェックが入ると、製本アプリケーション104により当該フィールドは、同調フィールドF12として作成される。
【0247】
そして、後述する指標オブジェクトの探索処理で、指標オブジェクトF13が探索されると、製本アプリケーション104は、指標オブジェクトF13の属性を、同調フィールドF12内のオブジェクトTOJB1に反映させる同調処理を実行する。
【0248】
これにより、同調フィールドF12内のオブジェクトTOJB1は、指標オブジェクトF13に合わせて、フォント属性、フィールド位置が調整され、オブジェクトTOJB2として表示される。
【0249】
なお、図24Aのプロパティ画面で、チェックボックスCBがチェックされない場合、作成されるフィールドは、図24Cに示すように、通常のフィールドF11が作成される。
【0250】
図25は、本実施形態を示す情報処理装置におけるテキストオブジェクトを含む論理ページの例を示す図である。
【0251】
図25において、論理ページ2501が原稿エディタで起動されている場合、テキストオブジェクト2502を選択し右クリックでポップアップメニューを表示させ、設定を変更するメニュー項目を選択することで、図24Aに示す設定画面2401を表示する。
【0252】
図24Aにおいて、チェックボックスCBにチェックを入れることで、オブジェクトのプロパティで指定されているフィールドF11を作成する場合に、当該フィールドを上記同調フィールドF12として作成できる。作成される同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。なお、同調フィールドに対して探索される指標オブジェクトF13と、同調フィールドとは、編集画面において両者を識別可能とするため、表示態様を変更して表示する。ここで、表示態様としては、フィールドの色、形を変更する等がある。
【0253】
例えば、図24に示すチェックボックスCBにチェックを入れることで、図25に示す論理ページ2501内において、テキストオブジェクト2502のフィールドを通常のフィールドから同調フィールドに変更でき、同調オブジェクトを自在に作成できる。
【0254】
同調オブジェクトとして設定されたテキストオブジェクトは、テキスト属性を合わせる対象のオブジェクトである指標オブジェクトのテキスト属性と同一になるようにテキスト属性が変更される。
【0255】
強調設定付加ボタン2403は、同調オブジェクトとした場合にただテキスト属性を指標オブジェクトに合わせるのではなく、指標オブジェクトのテキスト属性から相対的に変更するための強調設定を付加するボタンである。
【0256】
例えば、指標オブジェクトのフォントサイズより2ポイント大きくする設定や、スタイルをイタリックにする設定などができる。
【0257】
また、同調設定手段は、テキスト可変フィールドのプロパティにもあり、テキスト可変フィールドを同調オブジェクトとすることが可能である。
【0258】
図26は、本実施形態を示す情報処理装置で処理可能なテキストオブジェクトのデータ構造を示す図である。
【0259】
図26において、オブジェクトIDには、オブジェクトを一意に識別するための値が格納される。例えば、論理ページ内の右上にあるオブジェクトから順に1から1ずつ増加させることで一意の番号をつける方法がある。
【0260】
指標オブジェクトIDには、当該テキストオブジェクトが同調オブジェクトであった場合、設定を合わせる対象となる指標オブジェクトのオブジェクトIDが格納される。
【0261】
指標オブジェクトIDに値が無い場合、当該オブジェクトは通常のテキストオブジェクトとなる。
【0262】
同調オブジェクトIDは、当該テキストオブジェクトを指標オブジェクトとしているテキストオブジェクトが存在する場合に、そのテキストオブジェクトのオブジェクトIDが格納される。当該テキストオブジェクトを指標オブジェクトとしているテキストオブジェクトが複数存在する場合は、指標としている全てのテキストオブジェクトのオブジェクトIDが格納される。
【0263】
同調情報は、当該オブジェクトが同調オブジェクトである場合の付加設定が格納される。例えば、指標オブジェクトのフォントサイズより2ポイント大きくするなどの強調設定の情報が格納される。
【0264】
位置情報は、テキストオブジェクトが論理ページ内のどこに配置されているかを示す情報である。例えば、ページ内における横方向の位置、及び縦方向の位置をそれぞれ座標値として格納する。サイズ情報は、テキストを描画する領域の横方向、及び縦方向の大きさを格納する。
【0265】
その他に、テキスト属性、テキストオブジェクトの文字列等がある。尚、オブジェクトのデータ構造はこの他に追加項目があってもよい。
【0266】
例えば、可変フィールドを同調オブジェクトとした場合、文字列はデータベースから取得されるため、文字列の情報は持たない。そのかわりに、接続されるデータベースの情報が項目として追加される。
【0267】
図27は、本実施形態を示す文書処理装置における第7のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトに変更する処理のフローを示している。
【0268】
まず、本処理は、選択された論理ページ内の全テキストオブジェクトに対して同調オブジェクトと設定されたオブジェクトに最も近いオブジェクトを探索する。
【0269】
そして、探索されたオブジェクトを指標オブジェクトとし、指標オブジェクトからテキスト属性と位置情報を取得して同調オブジェクトに反映する。以下、ステップに基づいて説明する。
【0270】
まず、S2701で、製本アプリケーション104は、指標オブジェクトの探索を行う。詳細については後述する。
【0271】
次に、S2702で、製本アプリケーション104は、指標オブジェクトのテキスト属性と合わせるように同調オブジェクトのテキスト属性を変更する。S2701同様詳細については後述する。
【0272】
そして、S2703で、製本アプリケーション104は、同調オブジェクトを配置するための配置位置を変更して、本処理を終了する。
【0273】
なお、本処理の詳細については後述する。以上の手順で通常のテキストオブジェクトのフィールドを同調フィールドする場合の同調処理について説明する。
【0274】
ここから、それぞれの処理の詳細な手順を説明する。
【0275】
図28は、本実施形態を示す文書処理装置における第8のデータ処理装置を示すフローチャートである。本例は、図27に示したS2701の詳細フローを示している。
【0276】
本処理は、選択された論理ページ内の全テキストオブジェクトに対して、同調オブジェクトと各テキストオブジェクトの距離を基準位置から算出する。そして、製本アプリケーション104は、算出された値が最も小さいオブジェクトを当該同調オブジェクトの指標オブジェクトに設定する。以下、各ステップに基づいて説明する。
【0277】
まず、S2801で、製本アプリケーション104は、同調オブジェクトの基準位置Bを取得し、S2802で、論理ページにあるテキストオブジェクトのうち、一つの基準位置Aを取得する。
【0278】
ここで、基準位置とは、テキストオブジェクトと指標オブジェクトとの距離を比較するための任意の位置である。
【0279】
図29Aは、本実施形態を示す情報処理装置におけるテキストオブジェクトの基準位置を説明する図である。以下、図29Aを用いて基準位置として使用する位置の例を説明する。
【0280】
図29Aの上部側に示す横書きフォントの場合、代表的なものとしてフォントのベースライン2901の縦方向の座標を用いる方法がある。その他に、テキストオブジェクトの領域の中心座標2902の縦方向の座標や、領域の下側の座標2903などを用いることもできる。
【0281】
また、図29Aの下部側に示すように、同調オブジェクトが縦書きであった場合、センターライン2904やテキストオブジェクトの領域の右側座標2905などを用いることができる。基準位置は同調オブジェクトとその他のテキストオブジェクトとで別々の値を用いてもよい。
【0282】
以下、図29B〜図29Eを参照して、指標オブジェクト探索処理について説明する。
【0283】
図29B〜図29Eは、図28に示した指標オブジェクト探索処理の一例を説明する図である。
【0284】
図29B、図29Eは、基準位置としてフォントのベースラインを用いた指標オブジェクト探索処理であって、各テキストオブジェクトと同調フィールドF12とのフォントのベースラインが最も近いオブジェクトを指標オブジェクトF13と決定した例である。
【0285】
図29Cは、基準位置を同調フィールドの中央座標CMと各オブジェクトの中央座標との距離を用いた指標オブジェクト探索処理である。
【0286】
図29Dは、基準位置を同調フィールドの下座標UMと各オブジェクトのベースラインBL1〜BL3との距離を用いた指標オブジェクト探索処理である。下座標UMと各オブジェクトのベースラインBL1〜BL3との距離が最も近いベースラインBL1に対応するオブジェクトを指標オブジェクトF13と決定した例である。
【0287】
図43は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0288】
図43において、同調オブジェクト基準位置設定手段4301で同調オブジェクトの基準位置の設定を行い、指標オブジェクト基準位置設定手段4302で指標オブジェクトの基準位置の設定を行う。
【0289】
なお、図43では、同調オブジェクトの基準位置にオブジェクトの下側座標を使用し、指標オブジェクトの基準位置に一行目のフォントのベースラインを使用する設定がされている。この設定を使用し、オブジェクト位置を合わせる際の基準位置を決定する。
【0290】
次に、S2803で、製本アプリケーション104は、テキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bの絶対値を求め、MINの値と比較する。ここで、MINには、論理ページのサイズより大きい値が格納される。これは、最終的に最初に入っていた値がMINにならない程度大きな値であればどのような値を用いてもよい。
【0291】
ここで、製本アプリケーション104が最終的に最初に入っていた値がMINの値より小さいと判断した場合は、S2804へ進む。そして、S2804で、製本アプリケーション104は、MINにテキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bの絶対値を格納する。
【0292】
このとき、製本アプリケーション104は、MINの値を持つテキストオブジェクトのオブジェクトIDを記憶しておく。
【0293】
なお、図28のS2803とS2804で記載されているAとBは、テキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bを省略した記述となっている。
【0294】
そして、S2805で、製本アプリケーション104は、論理ページ内の全てのテキストオブジェクトに対してS2802からS2804の処理を行ったかどうかを判断する。
【0295】
ここで、製本アプリケーション104が全てのテキストオブジェクトに行っていないと判断した場合は、S2806へ進む。つまり、製本アプリケーション104は、S2806で、次のテキストオブジェクトを選択した後、S2802、S2803、S2804の処理を繰り返して、論理ページ中の全てのテキストオブジェクトに対して指標オブジェクトの探索を行う。
【0296】
ここでいう全てテキストオブジェクトとは、同調オブジェクトが横書きの場合は横書きのテキストオブジェクト全てとなり、縦書きの場合は縦書きのテキストオブジェクト全てとなる。これにより、最終的にMINの値を持つテキストオブジェクトが探索される。
【0297】
そして、MINの値を持つテキストオブジェクトのオブジェクトIDを同調オブジェクトの指標オブジェクトIDに格納する。また、MINの値を持つテキストオブジェクトの同調オブジェクトIDに同調オブジェクトのオブジェクトIDを格納する。
【0298】
そして、S2807で、製本アプリケーション104は、S2801〜S2806の処理により、MINの値を持つテキストオブジェクトを指標オブジェクトとして、本処理を終了する。
【0299】
図30は、本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【0300】
図30において、テキストオブジェクト3001を指標オブジェクトとしている同調オブジェクト3002と同調オブジェクト3003がある。そして、同調オブジェクト3002は同調オブジェクト3004の指標オブジェクトである状態を示している。
【0301】
テキストオブジェクト3001は通常のテキストオブジェクトのため、指標オブジェクトIDがない。同調オブジェクト3002は、テキストオブジェクト3001を指標オブジェクトとしているため、指標オブジェクトIDにテキストオブジェクト3001のオブジェクトIDである「1」が格納されている。
【0302】
そして、テキストオブジェクト3001は同調オブジェクト3002の指標オブジェクトとなっているため、指標オブジェクトIDに同調オブジェクト3002のオブジェクトIDである「2」が格納されている。
【0303】
同調オブジェクト3003も同様にテキストオブジェクト3001を指標オブジェクトとしているため、指標オブジェクトIDに「1」が格納されている。
【0304】
テキストオブジェクト3001は、二つの同調オブジェクトの指標オブジェクトとなっているため指標オブジェクトIDには「2」と「3」の二つの値が格納されている。
【0305】
同調オブジェクト3002は、同調オブジェクト3004から指標オブジェクトとされているため、同調オブジェクト3002の同調オブジェクトIDに4が格納され、同調オブジェクト3004の指標オブジェクトIDには「2」が格納される。
【0306】
図31は、本実施形態を示す文書処理装置における第9のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、図27に示したテキスト属性の変更処理の詳細フローを示している。より具体的には、同調オブジェクトのテキスト属性を指標オブジェクトのテキスト属性と合わせるためのテキスト属性の変更の処理例である。
【0307】
本処理は、指標オブジェクトのテキスト属性を同調オブジェクトのテキスト属性に反映するために、指標オブジェクトのフォントの有無を調べ、無かった場合は別のフォントを利用する。そして、当該同調オブジェクトに強調設定がされていた場合は、その設定を反映し、変更したフォントが収まるように当該同調オブジェクトを変更する処理を行う。
【0308】
まず、S3101で、製本アプリケーション104は、指標オブジェクトIDから指標オブジェクトのオブジェクトIDを探し、そのオブジェクトIDを持つテキストオブジェクトからテキスト属性Fを取得する。
【0309】
次に、S3102で、製本アプリケーション104は、テキスト属性Fのフォントがコンピュータ内に存在するフォントかどうか検索して判断する。ここで、フォントが検索できたと製本アプリケーション104が判断した場合、S3103で、そのフォントが同調オブジェクトのテキスト属性のフォントに格納される。
【0310】
一方、S3102で、製本アプリケーション104が同一のフォントが存在しないため検索できないと判断した場合、S3104へ進む。
そして、S3104で、製本アプリケーション104は、次にコンピュータ内に似ているフォントが存在するか検索して判断する。ここで、似ているかどうかの判定方法は、フォントのピッチやスタイル、フォントファミリなどの属性の一致具合などで判断する。これに限らず、フォントを画像にして特徴の類似具合を判定する方法などもある。
【0311】
ここで、製本アプリケーション104が似ているフォントを検索できたと判断した場合、S3105で、製本アプリケーション104は、その似ているフォントを同調オブジェクトのテキスト属性のフォントに格納する。
【0312】
一方、S3104で、製本アプリケーション104が検索できないと判断した場合は、S3106で、デフォルトフォントが同調オブジェクトのテキスト属性のフォントに格納される。ここで、デフォルトフォントは、OSなどによって自動的に選択されてもよいし、ユーザが任意のフォントを選択してもよい。
【0313】
その後、S3107で、製本アプリケーション104は、同調オブジェクトのフォント以外のテキスト属性を指標オブジェクトのテキスト属性と一致させる。
【0314】
これにより、テキストのスタイル・サイズ・色・文字装飾等が同調オブジェクトと指標オブジェクトで一致することになる。一つのテキストオブジェクトに複数のテキスト属性が存在した場合、その中から代表するテキスト属性を一つ選びそのテキスト属性と合わせることができる。代表するテキスト属性の選択方法は、先頭の文字のテキスト属性を用いる方法や最も多くの文字で使用されているテキスト属性を用いる方法などがある。
【0315】
次に、S3108で、製本アプリケーション104は、同調オブジェクトの同調設定に強調設定がされているかどうか判断する。ここで、強調設定がされていると製本アプリケーション104が判断した場合は、S3109で、製本アプリケーション104は、強調設定に従ってテキスト属性が変更される。
【0316】
図32は、図2に示すCRT210に表示されるユーザインタフェースを含む文書編集の一例を示す図である。本例は、強調設定を行うためのユーザインタフェースとともに、文書編集状態を対応づけた例である。なお、F12は同調フィールドを示し、F13は指標オブジェクトを示す。指標オブジェクトF13内のオブジェクトがテキストオブジェクトで、書体が行書体で、ポイントが18ポイントで、色が紫の例を示す。フィールドF11には、最初、オブジェクトがテキストで、書体がゴシック体で、ポイントが12ポイントで、色が黒の例を示す。
【0317】
図32において、3201はチェックボックスで、このチェックボックス3201に対する設定を切り替えることにより、強調設定を行うか否かを決定する。
【0318】
そして、フォントサイズを相対的に指定することができるユーザインタフェース3202により、指標オブジェクトから取得したフォントサイズからどれだけサイズを変えた値を使用するかを入力する。
【0319】
例えば、+4と入力することで指標オブジェクトF13から取得したフォントが10ポイントであった場合、同調フィールドF12内の同調オブジェクトのフォントサイズを14ポイントに設定することができる。
【0320】
更に、スタイルの設定がなかった場合にスタイルを付加できるユーザインタフェース3203の設定を行うことで、指標オブジェクトF13のフォントスタイルが太字で無い場合、同調フィールドF12内の同調オブジェクトのフォントスタイルを太字にできる。これにより、強調設定が有効となる場合には、同調フィールドF12内のテキストに対する設定は、同調処理により、書体が行書体で、ポイントが22ポイントで、色が紫に調整される。
【0321】
このほかに、文字飾りや文字間隔などについても同様にユーザインタフェースを設けることによって、強調設定を行うことができる。
【0322】
図33、図34は、本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【0323】
本例は、強調設定を行った状態の同調オブジェクトの状態に対応する。
【0324】
図33において、強調設定がされた同調オブジェクト3301があり、その指標オブジェクト3302がある。指標オブジェクト3302のフォントは、例えば創英角ゴシックであり、フォントサイズは18ポイントである。
【0325】
同調オブジェクト3301は、強調設定がされており、フォントサイズ+4ポイントと設定されている。そのため、同調オブジェクトのフォントサイズは、18ポイントより4ポイント大きい22ポイントとなる。
【0326】
次に、S3110で、製本アプリケーション104は、同調オブジェクトのフォントサイズの高さと同調オブジェクトのオブジェクト領域の内のテキスト領域の高さとを比較して、フォントサイズがテキスト領域よりも大きいかどうかを判断する。ここで、テキスト領域とは、オブジェクト領域内のテキストを配置することが可能な領域である。
【0327】
また、領域の設定として余白の設定などが存在する場合、オブジェクト領域から余白の量を差し引いた値がテキスト領域となる。
【0328】
尚、オブジェクト領域に余白等の設定が無い場合は、オブジェクト領域とテキスト領域の大きさは等しくなる。
【0329】
ここで、製本アプリケーション104が同調オブジェクトのフォントサイズの高さより、テキスト領域の高さの方が大きいと判断した場合、テキスト領域の高さを同調オブジェクトのフォントサイズの高さと同じ値にする(S3111)。
【0330】
一方、S3110で、製本アプリケーション104が同調オブジェクトのフォントサイズの高さより、テキスト領域の高さの方が小さいと判断した場合、本処理を終了する。
【0331】
なお、S3111の処理は、図34で示すようにテキスト領域の高さの方が同調オブジェクトのフォントサイズより小さかったためにテキストが欠けてしまうことを回避するために行われる。
【0332】
また、同調オブジェクトに設定をすると元の状態よりフォントサイズが大きくなる場合がある。そのため、同調オブジェクトと設定する前のテキストオブジェクトでテキストが収まるぎりぎりの大きさに設定していた場合に、同調オブジェクト3401のようにテキストが欠けてしまう可能性がある。この現象を回避するためにS3110及びS3111の処理が行われる。
【0333】
図35は、本実施形態を示す文書処理装置における第10のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、図27に示したオブジェクト位置の変更処理の詳細フローを示している。より具体的には、指標オブジェクトのフォントのベースラインに同調オブジェクトのフォントのベースラインを合わせる処理(同調処理)例である。以下、製本アプリケーション104が指標オブジェクトの配置位置(例えばフォントのベースライン)に基づいて、同調フィールドに入力されるオブジェクトの配置位置を合わせる処理について説明する。
【0334】
本処理は、指標オブジェクトと同調オブジェクトとのベースライン位置の差を求め、その情報を基に2つのオブジェクトのベースラインが一致するように当該同調オブジェクトの位置を変更する処理である。以下、各ステップに基づいて説明する。
【0335】
まず、S3501で、製本アプリケーション104は、指標オブジェクトのフォントのベースラインBBLを取得する。次に、S3502で、製本アプリケーション104は、指標オブジェクトのフォントのベースラインBBLから同調オブジェクトの一行目のフォントのベースラインを減算した値を一時保存領域Nに格納する。
【0336】
尚、指標オブジェクトのテキストが複数行にわたる場合、何行目を用いてもよい。
【0337】
また、ここではフォントのベースラインの位置を使用したが、代わりにフォントのディセンダラインやアセンダラインなどの値を用いてもよい。
【0338】
そして、S3503で、製本アプリケーション104は、同調オブジェクトの縦方向の座標を表す位置情報に一時保存領域Nに格納した値を加える。これにより、同調オブジェクトの位置が指標オブジェクトのフォントのベースラインと並ぶように配置される。
【0339】
次に、S3504で、製本アプリケーション104は、同調オブジェクトと指標オブジェクトの領域が重なっているか否かの判定を行う。
【0340】
ここで、判定に使用する領域には、オブジェクト領域やオブジェクトのテキスト領域などを使用することができる。
【0341】
そして、製本アプリケーション104が同調オブジェクトと指標オブジェクトの領域が重なっていると判断した場合、S3505へ進み、同調オブジェクトの位置を指標オブジェクトの領域に重ならない位置まで変更して、本処理を終了する。
【0342】
一方、S3504で、製本アプリケーション104が同調オブジェクトと指標オブジェクトの領域が重なっていないと判断した場合、本処理を終了する。
【0343】
この処理では、横書きフォントの場合、横方向のみの移動を行い縦書きフォントの場合、縦方向のみの移動を行う。横書きフォントの場合に、右と左どちら側に移動させるかの判定は領域の重なり具合をみて、移動距離が少ない方に移動させる。縦書きフォントの場合も同様に、領域の重なり具合から移動距離が少ないように上ないしは下に移動させる。
【0344】
以下、図36、図37に示す編集状態を参照して、図37は、図35に示した処理の内容についてさらに説明する。
【0345】
図36、図37は、本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【0346】
まず、図36の(A)で示すように、同調オブジェクト3601があり、その指標オブジェクト3602がある場合について説明する。
【0347】
この場合、製本アプリケーション104は、指標オブジェクト3602のフォントのベースライン3604から同調オブジェクト3601のフォントのベースライン3603を減算して差を出す。その減算した値を同調オブジェクト3601の位置情報に加えることによって、図36の(B)に示す状態となる。
【0348】
図36の(B)では、同調オブジェクト3601のフォントのベースライン3603と指標オブジェクト3602のフォントのベースライン3604とが同じ値となる。
【0349】
図37は、同調オブジェクトと指標オブジェクトのテキスト属性を合わせた結果、オブジェクト同士が重なってしまった場合の処理例である。
【0350】
以下、同調オブジェクト3701があり、その指標オブジェクト3702がある場合について説明する。
【0351】
図37の(A)、(B)の処理については、図36の説明で前述したため省略する。
【0352】
テキスト属性、及び位置を変更した結果、同調オブジェクト3701と指標オブジェクト3702が重なってしまった場合、同調オブジェクト3701は、図37の(C)のように移動される。
【0353】
これは、製本アプリケーションが同調オブジェクト3701と指標オブジェクト3702の重なりを判定した結果、同調オブジェクト3701をベースラインに沿って右側へ重ならないように移動された結果である。
【0354】
図38A、図38Bは、本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。本例は、図27に示す各ステップの処理を行った結果後の状態に対応する。
【0355】
図38Aの(A)の情報は、論理ページ3806があり、そこからテキストオブジェクト3801を同調オブジェクトに設定した後の状態が図38Aの(B)に示す状態である。
【0356】
論理ページ3806には、テキストオブジェクト3801、3802、3803、3804と、図形オブジェクト3805がある。
【0357】
そこで、同調フィールド内のテキストオブジェクト3801を同調オブジェクトに設定すると論理ページ内のテキストオブジェクト全てから基準位置が最も近いテキストオブジェクトが製本アプリケーション104によるS2701の処理で探索される。フォントのベースラインを基準位置とした場合、テキストオブジェクトである指標オブジェクト3802が最も近いテキストオブジェクトとして選択され、指標オブジェクトとなる。
【0358】
このとき、図形オブジェクト3805はテキストオブジェクトではないため、探索対象とならない。
【0359】
そして、指標オブジェクト3802のテキスト属性を取得して同調オブジェクトに適用される。
【0360】
その後、製本アプリケーション104により同調オブジェクトとなるテキストオブジェクト3801の位置の変更が行われテキストオブジェクト3801のフォントのベースラインと指標オブジェクト3802のフォントのベースラインが同じ値となる。これらのフィールドサイズ調整処理が行われ、同調オブジェクトに設定後は、図38の(B)の状態になる。
【0361】
一方、図32に示した強調設定がある場合に、同調フィールドF12のテキストに対して強調処理を実行してしまうと、強調されたテキストが同調フィールドF12に収まらない場合が生じる。
【0362】
そこで、図38Bに示すように、図32に示す強調設定が有効となる場合には、同調フィールドF12内のテキストに対する設定は、同調処理により、書体が行書体で、ポイントが22ポイントで、色が紫に調整される。
【0363】
この場合において、製本アプリケーション104は、同調処理において強調されたテキストが同調フィールドF12内に収まるかどうかを判断する。ここで、強調されたテキストが同調フィールドF12内に収まらないと判断された場合、製本アプリケーション104は、強調されたテキストを同調フィールド内に収めるように、同調フィールドF12のサイズを同調フィールドF12−1のサイズに変更する。
【0364】
これにより、図38Bに示すように、同調フィールドサイズが変更された同調フィールドF12−1に強調されたテキストが配置される。
【0365】
図39は、本実施形態を示す文書処理装置におけるオブジェクト編集状態を示す図である。本例は、同調オブジェクトが存在する論理ページの表示状態を示した例である。
【0366】
図39に示すように、同調オブジェクトと設定されたオブジェクトは、視覚的にどのオブジェクトが指標オブジェクトであるかがわかるように表示される。
【0367】
例えば、同調オブジェクト3901と指標オブジェクト3902を線で結び、指標オブジェクト側の線の終端を丸くすることで関連が視覚的にわかりやすく表示できる。
【0368】
[同調フィールドの移動に伴う処理]
次にオブジェクトの位置を移動する処理について説明する。なお、作成される同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。
【0369】
図40Aは、本実施形態を示す文書処理装置における第11のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、同調オブジェクトを移動する際の処理(第1の移動処理)の詳細フローを示している。
【0370】
本処理は、ユーザ操作により選択されたオブジェクトの位置情報を変更する処理を行う。その際に、選択されたオブジェクトが他のオブジェクトの指標オブジェクトとなっていた場合には、選択されたオブジェクトを指標オブジェクトとしている同調オブジェクトも同調フィールドの移動に基づき、同じ移動量分、移動させる。ここで、選択されたオブジェクトが同調オブジェクトであった場合、移動後の位置で指標オブジェクトの探索が再度行われ、指標オブジェクトに応じてテキスト情報、オブジェクト位置の移動処理が行われる。
【0371】
そのため、このフローチャートでは、移動処理対象のオブジェクトが同調オブジェクトであった場合と、指標オブジェクトであった場合の処理についても記載されているが、それぞれの処理の詳細については各ステップに基づいて説明する。
【0372】
まず、ユーザ操作により、S4001で、オブジェクトが選択される。以下、選択されたオブジェクトを選択オブジェクトと呼ぶ。続いて、S4002で、移動後の位置がユーザ操作により選択される。次に、S4003で、製本アプリケーション104は、オブジェクトの位置を変更する移動処理を図40Bに示すフローチャートに基づいて行う。
【0373】
図40Bは、本実施形態を示す文書処理装置における第12のデータ処理装置を示すフローチャートである。本例は、図40AのS4003に示した移動処理の詳細フローを示している。
【0374】
製本アプリケーション104は、移動処理が開始される、S4004で、製本アプリケーション104は、選択オブジェクトに同調オブジェクトIDが設定されているかどうかを判断する。ここで、同調オブジェクトIDを示す値が格納されていると製本アプリケーション104が判断した場合には、S4006で、製本アプリケーション104は、その同調オブジェクトIDのオブジェクトIDを持つオブジェクトに対して同様に移動処理を行う。そして、移動処理が終了したら、選択オブジェクトの同調オブジェクトIDを再度調べる。このとき、一度移動処理を行ったIDについては処理を行わない。
【0375】
全ての同調オブジェクトIDのオブジェクトIDを持つオブジェクトに対して処理が終了したら、S4004で、同調オブジェクトIDがないと製本アプリケーション104が判断して、S4005で、選択オブジェクトの位置情報を変更して、本処理を終了する。以後、図40Aに示すS4007以降へ進む。
【0376】
次に、S4007で、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDの有無を判断する。ここで、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDが無いと判断した場合は、本処理を終了する。なお、通常のオブジェクトの場合、指標オブジェクトIDに値が格納されていないため、移動処理は終了となる。
【0377】
一方、S4007で、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDがあると判断した場合、すなわち選択オブジェクトが同調オブジェクトであった場合、S4008からS4014までの処理を行う。
【0378】
処理内容は、まず、S4008で、製本アプリケーション104は、指標オブジェクトIDのオブジェクトIDを持つオブジェクトの同調オブジェクトIDに格納されている選択オブジェクトIDと同一の値を削除する。
【0379】
そして、S4009で、製本アプリケーション104は、選択オブジェクトの指標オブジェクトIDの値を削除する。
【0380】
次に、S4010で、製本アプリケーション104は、指標オブジェクトの探索を行い、S4011で、製本アプリケーション104は、テキスト属性の変更を行い、S4012で、製本アプリケーションは、オブジェクト位置の変更を行う。この3つの処理については、図27の同様の処理であり前述したため省略する。
【0381】
その後、S4013で、製本アプリケーション104は、選択オブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、製本アプリケーション104が、選択オブジェクトの同調オブジェクトIDに値が格納されていると判断した場合、S4014で、同調オブジェクトIDのオブジェクトIDを持つ同調オブジェクトを選択オブジェクトとして、S4011へ戻る。
【0382】
そしてS4011で、新たに選択されたオブジェクトについて、テキスト属性の変更処理を行い、S4012で、オブジェクト位置の移動を行う。
【0383】
次に、S4013で、再度同調オブジェクトIDに値があるかどうかを判断する。このとき、選択オブジェクトとなったオブジェクトのオブジェクトIDは無いものとして判断する。
【0384】
そのため、ユーザ操作により選択されたオブジェクトの同調オブジェクトIDの数分、S4014、S4011、S4012の処理が繰り返し行われる。
【0385】
なお、S4013で、製本アプリケーション104が同調オブジェクトIDに値がないと判断した場合は、本処理を終了する。
【0386】
[同調フィールドの移動処理]
次に、同調フィールドを移動する第1の移動処理について、図40Cに基づいて指標オブジェクトとの対応を説明する。
【0387】
同調フィールドを移動すると、移動した位置で再度指標オブジェクトの探索を行い、テキスト属性、位置の調整を行う。すなわち、図27の同調処理のフローを再度行う。以下、図40A、図40B、図40Cを参照して、同調フィールドの移動処理について説明する。
【0388】
まず、S4001で、ユーザ操作によりオブジェクトが選択される。ここで、オブジェクトを選択する手段として、マウスによるクリックや、キーボードによるキー操作が一般的である。
【0389】
そして、S4002で、ユーザ操作により移動する位置が選択される。S4003で、図40Cに示すように、移動する位置F12−11が選択されると、オブジェクトを移動するための処理が行われる。
【0390】
移動処理は、図40Bに示すS4004で、製本アプリケーション104は、まず、選択したオブジェクトの同調オブジェクトIDに値が格納されているかを判断する。ここで、製本アプリケーション104が選択したオブジェクトの同調オブジェクトIDに値が格納されていないと判断した場合は、S4005で、選択したオブジェクトを移動させる。
【0391】
一方、S4004で、同調オブジェクトIDが格納されていると判断された場合、S4006で、選択したオブジェクトを指標オブジェクトとしているオブジェクトがあるため、製本アプリケーション104は同調オブジェクトの移動も行う。この処理の詳細については後述する。
【0392】
次に、図40Aに示すS4007で、製本アプリケーション104は、選択したオブジェクトに指標オブジェクトIDが格納されているかどうかを判断する。ここで、同調オブジェクトの場合、指標オブジェクトIDが存在する。すると、次に、S4008で、製本アプリケーション104は、指標オブジェクトIDのオブジェクトIDを持つオブジェクトの同調オブジェクトIDに選択したオブジェクトのオブジェクトIDが格納されているので、その値を削除する。そして、S4009で、製本アプリケーション104は、選択したオブジェクトの指標オブジェクトIDを削除する。
【0393】
これで、指標オブジェクトとの関連が削除される。その後、S4010で、製本アプリケーション104は、指標オブジェクトの探索を行うことで、移動された位置で指標オブジェクトの再探索を行う。
【0394】
指標オブジェクトの探索処理についての詳細は、図28の処理の説明において前述したため省略する。
【0395】
続いて、S4011で、製本アプリケーション104は、テキスト属性の変更処理を行い、S4012で、製本アプリケーション104は、オブジェクト位置の変更処理を行う。
【0396】
これらの処理も、テキスト属性の変更は図31、オブジェクト位置の変更処理は、図35の説明において前述したため省略する。
【0397】
次に、S4013で、製本アプリケーション104は、選択したオブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、同調オブジェクトIDが格納されていた場合、選択したオブジェクトを指標オブジェクトとする同調オブジェクトが存在する。そのため、S4014で、製本アプリケーション104は、その同調オブジェクトを選択したオブジェクトとし、S4011、S4012で、製本アプリケーション104は、テキスト属性、及びオブジェクト位置の変更を繰り返し行う。この繰り返しは、選択したオブジェクトの同調オブジェクトIDに値の無いオブジェクトまで行われる。
【0398】
以上の処理により、図40Cに示すように、同調オブジェクトが移動した際には指標オブジェクトが再探索され、その指標オブジェクトF13−1にテキスト属性、及びオブジェクト位置を合わせることができる。
【0399】
つまり、ユーザは、同調フィールドF12を移動する操作を行うと、再探索される最も近い指標オブジェクトF13−1のフォント属性、フィールド位置が自動的に調整される。
【0400】
なお、通常のフィールドである場合には、当然、ユーザが移動した通常のフィールドに対して、フォント属性、フィールド位置を個々に調整する操作が必要となる。
【0401】
[指標オブジェクトの移動処理]
次に、指標オブジェクトを移動する第2の移動処理について図40A、図40B、図40Dを参照して説明する。ここで、第2の移動処理とは、図40Dに示すように、指標オブジェクトF13は、そのオブジェクトを指標オブジェクトとする同調フィールドF12が存在するので、そのフィールドも指標オブジェクトの移動量と同じだけ移動させる処理をいう。なお、同調フィールドF12内のオブジェクトを同調オブジェクトと呼ぶ。
【0402】
まず、S4001で、ユーザにより移動したいオブジェクトが選択され、S4002で、移動位置が指定される。そして、S4003で、製本アプリケーション104は、オブジェクトの移動処理を行う。
【0403】
製本アプリケーション104による移動処理が開始されると、図40Bに示すS4004で、製本アプリケーション104は、選択したオブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、指標オブジェクトF13の場合は、同調オブジェクトIDに値が格納されている。
【0404】
そして、S4006で、製本アプリケーションは、同調オブジェクトIDのオブジェクトIDを持つ同調フィールドF12を対象にして、移動処理を行う。
【0405】
このように、再帰的に処理を行うことにより同調フィールドF12の指標オブジェクトF13を移動すると、同調フィールドF12を指標オブジェクトF13の位置に合わせる変更を行う。なお、S4004の判定は、一度移動処理を行った同調オブジェクトはないものとみなして判定を行う。
【0406】
すなわち、同調オブジェクトIDの個数分だけ移動処理が行われる。
【0407】
なお、S4007からS4014の処理は、前述したため省略する。
【0408】
ここでは、指標オブジェクトの移動処理について説明をしたが、指標オブジェクトのテキスト属性などが変更された場合にも同様の手順で処理を行う。
【0409】
以下、図41に示す編集状態を参照して、指標オブジェクトを移動させる第2の移動処理について、さらに説明する。
【0410】
図41は、本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【0411】
図41の(A)において、指標オブジェクト4101を持つ同調オブジェクト4102があり、同調オブジェクト4102を指標オブジェクトとする同調オブジェクト4103がある。
【0412】
図41の(A)は、移動を行う前の状態であり、図41の(B)は移動を行った後の状態である。
【0413】
ユーザは、指標オブジェクト4101に対して移動処理を行う。
【0414】
次に、指標オブジェクト4101の同調オブジェクト4102に対して移動処理を行う。
【0415】
更に、同調オブジェクト4102を指標オブジェクトとする同調オブジェクト4103に対して移動処理を行う。同調オブジェクト4103の同調オブジェクトIDには、値が格納されていないため以上で移動処理は終了する。
【0416】
図42は、本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。本例は、同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。
【0417】
図42において、指標オブジェクト4201を持つ同調オブジェクト4202があり、同調オブジェクト4202を指標オブジェクトとする同調オブジェクト4203がある。
【0418】
図42の(A)は移動を行う前の状態であり、図42の(B)は移動を行った後の状態である。
【0419】
ユーザは、同調オブジェクト4202に対して移動処理を行う。その後、製本アプリケーション104は、移動後の位置で指標オブジェクトの探索を行う。
【0420】
製本アプリケーション104は、探索の結果、移動後の位置で最も近いオブジェクトであった、指標オブジェクト4204を新しい指標オブジェクトとして選択する。
【0421】
そして、同調オブジェクト4202は、製本アプリケーション104によりテキスト属性とオブジェクト位置を指標オブジェクト4204のテキスト属性、オブジェクトの位置に合わせる処理が行なわれる。
【0422】
同調オブジェクト4202を指標オブジェクトとする同調オブジェクト4203は、製本アプリケーション104によりテキスト属性とオブジェクト位置を同調オブジェクト4202のテキスト属性とオブジェクト位置に合わせる処理が行われる。
【0423】
本実施形態では、テキストオブジェクトを用いて処理を説明したが、テキストボックスでも同様の処理が行えるためテキストボックスであっても同調オブジェクトとすることができる。
【0424】
その他のオブジェクトであっても、位置を変更でき、テキスト属性と表示する文字列があれば、同調オブジェクトとして設定できる。
【0425】
例えば、一部ずつ文字や画像を差し替えて印刷を行う可変印刷を行う文書処理装置においては、差し替える文字を挿入するためのテキスト可変フィールドを作成できる。この場合、テキスト可変フィールドも位置情報とテキスト属性を備えているため同調オブジェクトとして設定することが可能である。
【0426】
尚、同調オブジェクトのみでなく指標オブジェクトにできるオブジェクトも、位置情報とテキスト属性を備えているものであればテキストオブジェクトに限らず、その他のオブジェクト、テキスト可変フィールド等を用いてもよい。
【0427】
図47は、本実施形態を示す文書処理装置における文書処理状態を説明する図である。本例は、指標オブジェクトの属性が変更された場合に、当該指標オブジェクトに対応付けられた同調フィールド内の同調オブジェクトの属性も従属して変更する例である。
【0428】
図47に示すように、ユーザの操作により、指標オブジェクトF13が選択されて、図示しないプロパティ画面で指標オブジェクトF13の属性、本実施形態では、テキスト属性を変更する。例えば書体を行書体から丸ゴシック対に変更するとともに、文字サイズを18ポイントから24ポイント、さらに、色を紫から緑に変更する。
【0429】
このように指標オブジェクトF13の属性が変更されると、製本アプリケーション104は、指標オブジェクトF13に対応づけられた同調フィールド内の同調オブジェクトの属性を変更された属性へ一致するように変更する。ただし、変更された指標オブジェクトの属性を同調オブジェクトに適用すると、同調オブジェクトの位置やサイズに影響がでる場合がある。
【0430】
例えば指標オブジェクトの文字と同調フィールド内の文字とが位置的に重なり合う状態になると、製本アプリケーション104が判断した場合には、図47に示すように、同調フィールド内の文字とが位置的に重なり合わない位置へ平行移動させる。その際、移動の基準は、フォントのベースラインとする。以下、図48に示すフローチャートを参照して、フィールド位置の変更処理について説明する。
【0431】
図48は、本実施形態を示す文書処理装置における第13のデータ処理手順の一例を示すフローチャートである。本例は、同調フィールド内の文字とが位置的に重なり合わない位置へ平行移動させる処理例である。
【0432】
まず、S4801で、製本アプリケーション104は、例えば図47に示す指標オブジェクトF13のフォントのベースラインBLLをフォント情報から取得する。次に、S4802で、製本アプリケーション104は、取得したベースラインBLLの値から、同調フィールドF12の1行目のフォントのベースラインの値を減算する。
【0433】
次に、S4803で、製本アプリケーション104は、減算した値Nを移動前の同調フィールドの座標値に加算して、本処理を終了する。
【0434】
これで、同調フィールドF12のベースラインと指標オブジェクトのフォントのベースラインとを合わせることができる。
【0435】
なお、同調フィールドの移動は、ベースラインを調整した後、同調フィールドF12内の先頭文字の座標値が、指標オブジェクトF13の末尾の文字の座標値よりも、外側となるように、同調フィールドF12内の先頭文字の配置座標を移動させる。
【0436】
〔第4実施形態〕
以下、図49に示すメモリマップを参照して本発明に係る文書処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0437】
図49は、本発明に係る文書処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0438】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0439】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0440】
本実施形態における図7、図8、図9、図15、図18、図22、図27、図28、図31、図35、図40A、図40B、図48に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0441】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0442】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0443】
したがって、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0444】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0445】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0446】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0447】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0448】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0449】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0450】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0451】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0452】
【図1】本発明の第1実施形態を示す書処理システムのソフトウェアの構成を示す図である。
【図2】図1に示したコンピュータのハードウェアの構成を説明するブロック図である。
【図3】本実施形態を示す情報処理装置で処理可能な電子原稿データの構造を説明する図である。
【図4】図3に示すブック属性のリストを示す図である。
【図5】図3に示す章属性のリストを示す図である。
【図6】図3に示すページ属性のリストを示す図である。
【図7】本実施形態を示す文書処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図8】本実施形態を示す文書処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図9】本実施形態を示す文書処理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図10】図2に示すCRTに表示されるユーザインタフェースを説明する図である。
【図11】図2に示すCRTに表示されるユーザインタフェースを説明する図である。
【図12】本実施形態を示す文書処理システムの構成を示すブロック図である。
【図13】本実施形態を示す文書処理システムの一例を示すブロック図である。
【図14】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図15】本実施形態を示す文書処理装置における第4のデータ処理手順の一例を示すフローチャートである。
【図16】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図17】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図18】本実施形態を示す文書処理装置における第5のデータ処理手順の一例を示すフローチャートである。
【図19】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図20】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図21】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図22】本実施形態を示す文書処理装置における第6のデータ処理装置を示すフローチャートである。
【図23】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図24A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図24B】本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【図24C】本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【図25】本実施形態を示す情報処理装置におけるテキストオブジェクトの論理ページの例を示す図である。
【図26】本実施形態を示す情報処理装置で処理可能なテキストオブジェクトのデータ構造を示す図である。
【図27】本実施形態を示す文書処理装置における第7のデータ処理装置を示すフローチャートである。
【図28】本実施形態を示す文書処理装置における第8のデータ処理装置を示すフローチャートである。
【図29A】本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【図29B】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29C】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29D】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29E】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図30】本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【図31】本実施形態を示す文書処理装置における第9のデータ処理装置を示すフローチャートである。
【図32】図2に示すCRTに表示されるユーザインタフェースを含む文書編集の一例を示す図である。
【図33】本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【図34】本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【図35】本実施形態を示す文書処理装置における第10のデータ処理装置を示すフローチャートである。
【図36】本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【図37】本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【図38A】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図38B】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図39】本実施形態を示す情報処理装置におけるオブジェクト編集状態を示す図である。
【図40A】本実施形態を示す文書処理装置における第11のデータ処理装置を示すフローチャートである。
【図40B】本実施形態を示す文書処理装置における第12のデータ処理装置を示すフローチャートである。
【図40C】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図40D】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図41】本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【図42】本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【図43】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図44】本実施形態を示す文書処理システムにおける可変印刷のページレイアウト例を示す図である。
【図45A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図45B】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図46A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図46B】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図47】本実施形態を示す文書処理装置における文書処理状態を説明する図である。
【図48】本実施形態を示す文書処理装置における第13のデータ処理手順の一例を示すフローチャートである。
【図49】本発明に係る文書処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0453】
1607 テキストオブジェクト
3301、3901 同調オブジェクト
3302、3902 指標オブジェクト
2901 テキストのベースライン
【技術分野】
【0001】
本発明は、複数のオブジェクトをページに配置して文書処理を行う文書処理装置における文書処理に関するものである。
【背景技術】
【0002】
従来、印刷工程におけるレイアウト作成を行うソフトウェアにおいて、テキストデータを配置する枠を作成し、その枠内に体裁を整えながら文書データを配置することで、印刷原稿を作成する工程があった。
【0003】
また、入稿された電子データの内容を解析し、テキストや画像を認識した単位で一塊のオブジェクトとし、削除・追加・移動などの編集を行うことができた。
【0004】
これにより、入稿された電子データの修正・変更が行えた。
【0005】
例えば、顧客毎にテキストや画像を差し替えて印刷をする可変印刷を行う際には、原稿データに含まれるフィールド(枠)に対してテキスト、画像を入力する。
【0006】
このとき、差し替え用のテキストと原稿データに予め配置されたテキストオブジェクトを一連の文書としたい場合(名前+様など)、原稿データのテキストに合わせて差し替え用のテキストの位置やフォントを調整しなければならなかった。
【0007】
従来、位置の調整を行う方法として、位置を合わせたい複数のオブジェクトを選択し、「上揃え」や「左揃え」などの操作を行うことによりオブジェクトの枠に対して位置を揃える方法があった。
【0008】
また、枠に対して基準を持つのではなく枠内に任意の点を指定することでその点に対してオブジェクトを揃えることもできた。(特許文献1)
【特許文献1】特開平7−105212号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来の技術ではオブジェクト同士の位置を揃えることは可能だがテキスト属性を揃えることはできなかった。例えば、テキストが入力される複数のフィールドに対して上揃えを設定することにより、各フィールドに入力されるテキストの上位置を揃えることができる。
【0010】
しかしながら、各フィールドに入力されるテキストのフォントサイズが異なる場合、テキストの下位置が不揃いとなり、ユーザが手作業でフォントサイズを統一化する等の調整をしなければならなかった。
【0011】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、入力されるオブジェクトに設定されている属性をページ内に配置されているいずれかのオブジェクトの属性に同調させたデータ処理を行える仕組みを提供することである。
【課題を解決するための手段】
【0012】
本発明に係る文書処理装置は、以下の特徴的構成を備える。
【0013】
複数のオブジェクトを配置して文書編集を行う文書処理装置であって、ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成手段と、前記作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索手段と、前記探索手段により探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理手段とを有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、入力されるオブジェクトに設定されている属性をページ内に配置されているいずれかのオブジェクトの属性に同調させたデータ処理を行える。
【発明を実施するための最良の形態】
【0015】
次に本発明を実施するための最良の形態について図面を参照して説明する。以下、本発明に係る文書処理システムの概要について、図1乃至図12を参照して以下に説明する。
【0016】
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の第1実施形態を示す文書処理システムのソフトウェアの構成を示す図である。尚、この文書処理システムは、一般のアプリケーションによって作成されたデータファイルを電子原稿ファイルに変換する電子原稿ライタと、その電子原稿ファイルを編集する機能を提供する製本アプリケーションとを含む。
【0017】
また、製本アプリケーションは、電子原稿ライタにより作成されたデータを一まとめにした文書の作成及び編集を可能とし、その操作性を向上させて文書編集を効率的に行えるものである。また、文書処理システムは、本発明の情報処理装置に好適な実施形態であるコンピュータ100(以下、ホストコンピュータとも呼ぶ)によって実現されている。
【0018】
<システム構成及び動作>
図1において、一般アプリケーション101は、ワードプロセシングやスプレッドシート、フォトレタッチ、プレゼンテーション、テキスト編集などの機能を提供するアプリケーションプログラムであり、OSに対する印刷機能を有している。
【0019】
これらのアプリケーションは、作成された文書データや画像データなどのアプリケーションデータを印刷する際に、オペレーティングシステム(OS)によって提供される所定のインタフェース(一般に、GDIと呼ばれる)を利用する。
【0020】
即ち、一般アプリケーション101は、作成したデータを印刷するために、上述のインタフェースを提供するOSの出力モジュールに対して、あらかじめ定められる、OSに依存する形式の出力コマンド(GDI関数と呼ばれる)を送信する。
【0021】
一方、出力コマンドを受けた出力モジュールは、その出力コマンドをプリンタ等の出力デバイスが処理可能な形式に変換して、変換されたコマンド(DDI関数と呼ばれる)を出力する。ここで、出力デバイスが処理可能な形式はデバイスの種類やメーカ、機種などによって異なるため、デバイス毎にデバイスドライバが提供されている。
【0022】
OSでは、そのデバイスドライバを利用してコマンドの変換を行い、印刷データを生成し、JL(Job Language)でくくることにより印刷ジョブが生成される。
【0023】
OSとしてマイクロソフト社のウインドウズ(登録商標)を利用する場合には、前述した出力モジュールとしてはGDI(Graphic Device Interface)と呼ばれるモジュールが相当する。
【0024】
電子原稿ライタ102は、上述のデバイスドライバを改良したものであり、本文書処理システム実現のために提供されるソフトウェアモジュールである。
【0025】
但し、電子原稿ライタ102は、特定の出力デバイスを目的としておらず、詳細は後述する製本アプリケーション104やプリンタドライバ106により処理可能な形式に出力コマンドを変換する。
【0026】
この電子原稿ライタ102による変換後の形式(以後電子原稿形式と呼ぶ)は、ページ単位の原稿を詳細な書式をもって表現可能であれば特に問わない。実質的な標準形式のうち、例えばアドビシステムズによるPDF形式やSVG形式などが電子原稿形式として採用できる。
【0027】
一般アプリケーション101から電子原稿ライタ102を利用させる場合には、出力に使用するデバイスドライバとして電子原稿ライタ102を指定してから印刷を実行させる。
【0028】
但し、電子原稿ライタ102によって作成されたままの電子原稿ファイルは、電子原稿ファイルとして相応しい形式を備えていない。そのため、デバイスドライバとして電子原稿ライタ102を指定するのは製本アプリケーション104であり、その管理下でアプリケーションデータの電子原稿ファイルへの変換が実行される。
【0029】
そして、製本アプリケーション104は電子原稿ライタ102が生成した新規の電子原稿ファイルを後述する形式を備えた相応しい電子原稿ファイルとして完成させる。
【0030】
以下、この点を明瞭に識別する必要がある場合、電子原稿ライタ102によって作成されたファイルを「電子原稿ファイル」と呼び、製本アプリケーション104によって構造を与えられた電子原稿ファイルを「ブックファイル」と呼ぶ。なお、図1において、ブックファイルは、電子原稿ファイル103に対応する。
【0031】
また、特に区別する必要がない場合は、アプリケーションにより生成されるドキュメントファイル、電子原稿ファイル、及びブックファイルをいずれも文書ファイル(または文書データ)と呼ぶ。
【0032】
このように、電子原稿ライタ102を指定し印刷することで、アプリケーションデータは、一般アプリケーション101によって定義されたページ(以後論理ページあるいは原稿ページと呼ぶ)を単位とする電子原稿形式に変換される。そして、変換されたアプリケーションデータは、電子原稿ファイル103としてハードディスクなどの記憶媒体に格納される。
【0033】
尚、ハードディスクは、本実施形態の文書処理システムを実現するコンピュータ100が備えているローカルドライブであっても良く、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。
【0034】
製本アプリケーション104は、電子原稿ファイル(あるいはブックファイル)103を読み込み、それを編集するための機能を利用者に提供する。
【0035】
但し、製本アプリケーション104は、各ページの内容を編集する機能は提供しておらず、ページを最小単位として構成される、後述する章やブックの構造を編集するための機能を提供している。
【0036】
製本アプリケーション104によって編集されたブックファイル103を印刷する際には、製本アプリケーション104によって電子原稿デスプーラ105が起動される。
【0037】
電子原稿デスプーラ105は、製本アプリケーション104と共にコンピュータ内にインストールされるプログラムモジュールである。
【0038】
電子原稿デスプーラ105は、製本アプリケーション104で利用するドキュメント(ブックファイル)を印刷する際に、プリンタドライバへ描画データを出力するために使用されるモジュールである。
【0039】
電子原稿デスプーラ105は、指定されたブックファイルをハードディスクから読み出し、ブックファイルに記述された形式で各ページを印刷するために、前述したOSの出力モジュールに適合する出力コマンドを生成し、不図示の出力モジュールに出力する。
【0040】
その際に、出力デバイスとして使用されるプリンタ107用のプリンタドライバ106がデバイスドライバとして指定される。
【0041】
上述の出力モジュールは、受信した出力コマンドをデバイスコマンドに変換して指定されたプリンタ107用のプリンタドライバ106に出力し、そのプリンタドライバ106がプリンタ107で解釈実行可能なページ記述言語等のコマンドに変換する。
【0042】
そして、変換されたコマンドは、プリンタドライバ106から不図示のシステムスプーラを介してプリンタ107に送信され、プリンタ107によってコマンドに応じた画像が印刷される。
【0043】
図2は、図1に示したコンピュータ100のハードウェアの構成を説明するブロック図である。
【0044】
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、あるいはハードディスク211からRAM202にロードされたOSや一般アプリケーション、製本アプリケーションなどのプログラムを実行する。
【0045】
これにより、図1のソフトウェア構成や、後述するフローチャートの手順を実現する。
【0046】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。
【0047】
CRTコントローラ(CRTC)206は、CRT210の表示を制御する。ディスクコントローラ(DKC)207は、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、後述する編集ファイル等を記憶するハードディスク(HD)211やフレキシブルディスク(FD)等とのアクセスを制御する。なお、2000はコントローラ部である。
【0048】
PRTC208は、接続されたプリンタ107との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【0049】
<電子原稿データの形式>
製本アプリケーション104の詳細を言及する前に、ブックファイルのデータ形式について説明する。
【0050】
ブックファイルは、紙媒体の書物に対応づけ可能な3層の層構造を有する。
【0051】
まず、上位層は「ブック」と呼ばれ、1冊の本を想定しており、その本全般に係る属性が定義されている。その下の中間層は、本でいう章に相当し、やはり「章」と呼ばれる。各章についても、章毎の属性が定義できる。そして、下位層は「ページ」であり、アプリケーションプログラムで定義された各ページに相当する。
【0052】
尚、各ページについてもページ毎の属性が定義できる。更に、一つのブックは複数の章を含んでいてよく、また一つの章は複数のページを含むこともできる。
【0053】
図3は、本実施形態を示す情報処理装置で処理可能な電子原稿データの構造を説明する図である。特に、図3の(A)は、ブックファイルの形式の一例を示す。本例では、ブックファイルにおけるブック,章,ページは、それぞれに相当するノードにより示されている。
【0054】
一つのブックファイルは一つのブックを含む。ブック,章は、ブックとしての構造を定義するための概念であるから、定義された属性値と下位層へのリンクとをその実体として含む。
【0055】
ページは、アプリケーションプログラムによって出力されたページ毎のデータを実体として有する。そのため、ページは、その属性値のほかに、原稿ページの実体(原稿ページデータ)と各原稿ページデータへのリンクを含む。
【0056】
尚、紙媒体等に出力する際の印刷ページは複数の原稿ページを含む場合がある。この構造に関してはリンクによって表示されず、ブック、章、ページ各階層における属性として表示される。
【0057】
図3の(A)において、ブック301には、ブック属性が定義されていると共に、2つの章302A,302Bがリンクされている。このリンクにより、章302A,302Bがブック301に包含されていることが表示される。
【0058】
章302Aには、ページ303A,303Bがリンクされ、これらページが含まれることが示されている。各ページ303A,303Bにはそれぞれ属性値が定義され、その実体である原稿ページデータ(1)、(2)へのリンクが含まれる。同様に、章302Bには、ページ303C,303Dがリンクされ、これらページが含まれることが示されている。各ページ303C,303Dにはそれぞれ属性値が定義され、その実体である原稿ページデータ(3)、(4)へのリンクが含まれる。
【0059】
これらリンクは、図3の(B)のように原稿ページデータ304のデータ(1),(2)を指し示し、ページ303A、303Bの実体が原稿ページデータ(1)、(2)であることを表示している。
【0060】
図4は、図3に示すブック属性301のリストを示す図である。なお、下位層と重複して定義可能な項目に関しては、下位層の属性値が優先採用される。そのため、ブック属性にのみ含まれる項目に関しては、ブック属性に定義された値はブック全体を通して有効な値となる。
【0061】
しかし、下位層と重複する項目については、下位層において定義されていない場合における既定値としての意味を有する。尚、図示された各項目は具体的に1項目に対応するのではなく、関連する複数の項目を含むものもある。
【0062】
図5は、図3に示す章属性のリストを示す図である。また、図6は、図3に示すページ属性のリストを示す図である。章属性とページ属性との関係もブック属性と下位層の属性との関係と同様である。
【0063】
図4〜図6から明らかなように、ブック属性に固有の項目は、印刷方法、製本詳細、表紙/裏表紙、インデックス紙、合紙、章区切りの6項目である。
【0064】
これらはブックを通して定義される項目である。印刷方法の属性としては、片面印刷、両面印刷、製本印刷の3つの値を指定できる。ここで、製本印刷とは、別途指定する枚数の用紙を束にして2つ折りにし、その束をつづり合わせることで製本が可能となる形式で印刷する方法である。
【0065】
製本詳細属性としては、製本印刷が指定されている場合に、見開き方向や、束になる枚数等が指定できる。
【0066】
表紙/裏表紙属性は、ブックとしてまとめられる電子原稿ファイルを印刷する際に、表紙及び裏表紙となる用紙を付加することの指定、及び付加した用紙への印刷内容の指定を含む。
【0067】
インデックス紙属性は、章の区切りとして、印刷装置に別途用意される耳付きインデックス紙の挿入の指定及びインデックス(耳)部分への印刷内容の指定を含む。
【0068】
この属性は、印刷用紙とは別に用意された用紙を所望の位置に挿入するインサート機能を持ったインサータが使用する印刷装置に備えられている場合か、あるいは、複数の給紙カセットを使用可能である場合に有効となる。これは合紙属性についても同様である。
【0069】
合紙属性は、章の区切りとして、インサータから、あるいは給紙カセットから供給される用紙の挿入の指定、及び合紙を挿入する場合には、給紙元の指定などを含む。
【0070】
章区切り属性は、章の区切り目において、新たな用紙を使用するか、新たな印刷ページを使用するか、特に何もしないか等の指定を含む。
【0071】
片面印刷時には、新たな用紙の使用と新たな印刷ページの使用とは同じ意味を持つ。両面印刷時には、「新たな用紙の使用」を指定すれば連続する章が1枚の用紙に印刷されることはないが、「新たな印刷ページの使用」を指定すれば、連続する章が1枚の用紙の表裏に印刷されることがあり得る。
【0072】
章属性に関しては、章に固有の項目はなく、全てブック属性と重複する。
【0073】
したがって、章属性における定義とブック属性における定義とが異なれば、章属性で定義された値が優先する。
【0074】
ブック属性と章属性とにのみ共通する項目は、用紙サイズ、用紙方向、N−up印刷指定、拡大縮小、排紙方法の5項目である。
【0075】
これらのうち、N−up印刷指定属性は1印刷ページに含まれる原稿ページ数を指定するための項目である。指定可能な配置としては、1×1、1×2、2×2、3×3、4×4などがある。
【0076】
排紙方法属性は、排出した用紙にステイプル処理を施すか否かを指定するための項目であり、この属性の有効性は使用する印刷装置がステイプル機能を有するか否かに依存する。
【0077】
ページ属性に固有の項目には、ページ回転属性、ズーム、配置指定、アノテーション、ページ分割などがある。ページ回転属性は、原稿ページを印刷ページに配置する際の回転角度を指定するための項目である。ズーム属性は、原稿ページの変倍率を指定するための項目である。変倍率は、仮想論理ページ領域のサイズを100%として指定される。仮想論理ページ領域とは、原稿ページを、Nup等の指定に応じて配置した場合に、1原稿ページが占める領域である。
【0078】
例えば、1×1であれば、仮想論理ページ領域は1印刷ページに相当する領域となり、1×2であれば、1印刷ページの各辺を約70パーセントに縮小した領域となる。
【0079】
ブック、章、ページについて共通な属性としては、ウォーターマーク属性及びヘッダ・フッタ属性がある。ここで、ウォーターマークとは、アプリケーションで作成されたデータに重ねて印刷される、別途指定される画像や文字列などである。
【0080】
ヘッダ・フッタは、それぞれ各ページの上余白及び下余白に印刷されるウォーターマークである。但し、ヘッダ・フッタには、ページ番号や日時など変数により指定可能な項目が用意されている。
【0081】
尚、ウォーターマーク属性及びヘッダ・フッタ属性において指定可能な内容は、章とページとは共通であるが、ブックはそれらと異なっている。
【0082】
ブックにおいては、ウォーターマークやヘッダ・フッタの内容を設定できるし、また、ブック全体を通してどのようにウォーターマークやヘッダ・フッタを印刷するかを指定することができる。
【0083】
一方、章やページでは、その章やページにおいて、ブックで設定されたウォーターマークやヘッダ・フッタを印刷するか否かを指定できる。
【0084】
<ブックファイルの生成手順>
ブックファイルは上述したような構造及び内容を有している。
【0085】
次に、製本アプリケーション104及び電子原稿ライタ102によるブックファイルの作成手順について説明する。ブックファイルの作成手順は、製本アプリケーション104によるブックファイルの編集操作の一環として実現される。
【0086】
図7は、本実施形態を示す文書処理装置における第1のデータ処理手順の一例を示すフローチャートである。本例は、図1に示した製本アプリケーション104によりブックファイルを開く際の手順に対応する。なお、本願のS〜という記載は、フローチャートの各処理ステップを示す。また、本願のフローチャートの各ステップは、図2に示したCPU201がRAM202に製本アプリケーション104をロードして実行することで実現される。
【0087】
まず、S701で、製本アプリケーション104は、開こうとするブックファイルが、新規作成すべきものであるか、それとも既存のものであるか判定する。ここで、製本アプリケーション104が新規作成であると判定した場合には、S702で、製本アプリケーション104は、章を含まないブックファイルを新規に作成して、S704へ進む。
【0088】
なお、新規に作成されるブックファイルは、図3の例で示せば、ブック301のみ有し、章のノードに対するリンクが存在しないブックのノードとなる。ブック属性は、新規作成用としてあらかじめ用意された属性のセットが適用される。
【0089】
そして、S704で、新規ブックファイルを編集するためのユーザインタフェース(UI)画面を表示して、処理を終了する。
【0090】
図11は、図2に示すCRT210に表示されるユーザインタフェースを説明する図である。本例は、新規にブックファイルが作成された際のUI画面の一例である。この場合は、ブックファイルは実質的な内容を持たないため、UI画面1100には何も表示されない。
【0091】
一方、S701で、製本アプリケーション104が既存のブックファイルであると判定した場合は、指定されたブックファイルを開き(S703)、ブックファイルの構造、属性、内容に従ってユーザインタフェース(UI)画面を表示(S704)して、本処理を終了する。
【0092】
図10は、図2に示すCRT210に表示されるユーザインタフェースを説明する図である。本例は、既存のブックファイルから指定されたブックファイルを表示するUI画面の一例である。
【0093】
図10において、UI画面1100は、ブックの構造を示すツリー部1101と、印刷された状態を表示するプレビュー部1102とを含む。ツリー部1101には、ブックに含まれる章、各章に含まれるページが図3に示す(A)のような木構造で表示される。
【0094】
ツリー部1101に表示されるページは原稿ページである。また、プレビュー部1102には、印刷ページの内容1103が縮小されて表示される。その表示順序は、ブックの構造を反映したものとなっている。
【0095】
さて、開かれたブックファイルには、電子原稿ライタ102によって電子原稿ファイルに変換されたアプリケーションデータを、新たな章として追加することができる。この機能を電子原稿インポート機能と呼ぶ。
【0096】
図7に示す手順によって新規に作成されたブックファイルに電子原稿をインポートすることで、そのブックファイルには実体が与えられる。
【0097】
この機能は、図10に示すUI画面にアプリケーションデータをドラッグアンドドロップ操作することで起動される。
【0098】
図8は、本実施形態を示す文書処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、図1に示した電子原稿ライタ102による電子原稿のインポート処理手順の例である。
【0099】
まず、S801で、指定されたアプリケーションデータを生成したアプリケーションプログラムを起動し、デバイスドライバとして電子原稿ライタ102を指定してアプリケーションデータを印刷出力させることで、電子原稿データに生成する。そして、電子原稿データの生成を終えたなら、S802で、電子原稿ライタ102は、生成されたデータが画像データであるか否かを判定する。この判定は、ウインドウズOSの下であれば、アプリケーションデータのファイル拡張子に基づいて行われる。
【0100】
例えば、拡張子が「bmp」であればウインドウズビットマップデータであり、「jpg」であればjpeg圧縮された画像データ、「tiff」であればtiff形式の画像データであると判定できる。
【0101】
また、このような画像データの場合はS801のようにアプリケーションを起動せずに、画像データから直接電子原稿ファイルを生成することが可能であるため、S801の処理を省略することも可能である。
【0102】
ここで、電子原稿ライタ102が画像データでないと判断した場合には、S803へ進み、電子原稿ライタ102は、S801で生成された電子原稿ファイルを、現在開かれているブックファイルのブックに、新たな章として追加して、本処理を終了する。
【0103】
ここで、章属性としては、ブック属性と共通するものについてはブック属性の値がコピーされ、そうでないものについては、あらかじめ用意された規定値に設定される。
【0104】
また、S802で、電子原稿ライタ102が画像データであると判断した場合は、S804へ進む。そして、S804で、電子原稿ライタ102は、原則として新たな章は追加されず、指定されている章に、S801で生成された電子原稿ファイルに含まれる各原稿ページを追加して、本処理を終了する。
【0105】
但し、ブックファイルが新規作成されたファイルであれば、新たな章が作成されて、その章に属するページとして電子原稿ファイルの各ページが追加される。
【0106】
ページ属性は、上位層の属性と共通のものについてはその属性値が与えられ、アプリケーションデータにおいて定義された属性を電子原稿ファイルに引き継いでいるものについてはその値が与えられる。
【0107】
例えば、Nup指定などがアプリケーションデータにおいて指定されていた場合には、その属性値が引き継がれる。このようにして、新規なブックファイルが作成され、あるいは、新規な章が追加される。
【0108】
図9は、本実施形態を示す文書処理装置における第3のデータ処理手順の一例を示すフローチャートである。本例は、図8に示すS801において、電子原稿ライタ102により電子原稿ファイルを生成させる手順の例である。
【0109】
まず、S901で、電子原稿ライタ102は、新たな電子原稿ファイルを作成してそれを開く。次に、S902で、電子原稿ライタ102は、指定したアプリケーションデータに対応するアプリケーションを起動し、電子原稿ライタ102をデバイスドライバとしてOSの出力モジュールに対して出力コマンドを送信させる。出力モジュールは、受信した出力コマンドを電子原稿ライタ102によって電子原稿形式のデータに変換し、出力する。なお、その出力先はS901で開いた電子原稿ファイルである。
【0110】
次に、S903で、電子原稿ライタ102は、指定されたデータ全てについて変換が終了したか判定する。ここで、電子原稿ライタ102がデータ全てについて変換が終了していると判定した場合は、S904で、電子原稿ライタ102は、電子原稿ファイルを閉じて、本処理を終了する。一方、電子原稿ライタ102がデータ全てについて変換が終了していないと判定した場合は、S902へ戻る。
【0111】
なお、電子原稿ライタ102によって生成される電子原稿ファイルは、図3の(B)に示される原稿ページデータの実体を含むファイルである。
【0112】
<ブックファイルの編集>
以上のようにして、アプリケーションデータからブックファイルを作成することができる。生成されたブックファイルについては、章及びページに対して次のような編集操作(1)〜(12)が可能である。
【0113】
(1)新規追加、(2)削除、(3)コピー、(4)切取り、(5)貼付け、(6)移動、(7)章名称変更、(8)ページ番号名称振り直し、(9)表紙挿入、(10)合紙挿入、(11)インデックス紙挿入、(12)各原稿ページに対するページレイアウト。
【0114】
このほか、一旦行った編集操作を取り消す操作や、更に取り消した操作をやり直す操作が可能である。
【0115】
これら編集機能により、例えば複数のブックファイルの統合、ブックファイル内で章やページの再配置、ブックファイル内で章やページの削除、原稿ページのレイアウト変更、合紙やインデックス紙の挿入などの編集操作が可能となる。
【0116】
これらの操作を行うと、図4、図5に示す属性に操作結果が反映、あるいはブックファイルの構造に反映される。例えば、ブランクページの新規追加操作を行えば、指定された箇所にブランクページが挿入される。
【0117】
このブランクページは原稿ページとして扱われる。また、原稿ページに対するレイアウトを変更すれば、その変更内容は、印刷方法やN−up印刷、表紙/裏表紙、インデックス紙、合紙、章区切りといった属性に反映される。
【0118】
<ブックファイルの出力>
以上のように作成・編集されるブックファイルは、印刷出力を最終目的とするものである。
【0119】
ここで、利用者が図10に示した製本アプリケーションのUI画面1100からファイルメニューを選択し、そこから印刷を選択すると、指定した出力デバイスにより印刷出力される。
【0120】
この際、まず製本アプリケーション104は、現在開かれているブックファイルからジョブチケットを作成し、そのジョブチケットを電子原稿デスプーラ105に渡す。
【0121】
一方、電子原稿デスプーラ105は、ジョブチケットをOSの出力コマンド、例えばウインドウズのGDI関数に変換し、それを出力モジュール、例えばGDIに送信する。出力モジュールは、指定されたプリンタドライバ106によってデバイスに適したコマンドを生成し、そのデバイスに送信する。
【0122】
ここで、ジョブチケットは原稿ページを最小単位とする構造を有するデータである。ジョブチケットにおける構造は、用紙上における原稿ページのレイアウトを定義している。ジョブチケットは、1ジョブにつき1つ発行される。そのため、まず最上位にドキュメントというノードがあり、文書全体の属性、例えば両面印刷/片面印刷などが定義されている。その下には、用紙ノードが属し、用いるべき用紙の識別子やプリンタにおける給紙口の指定などの属性が含まれる。各用紙ノードには、その用紙で印刷されるシートのノードが属する。
【0123】
1シートは1枚の用紙に相当する。各シートには、印刷ページ(物理ページ)が属する。片面印刷ならば1シートには1物理ページが属し、両面印刷ならば1シートに2物理ページが属する。各物理ページには、その上に配置される原稿ページが属する。
【0124】
また、物理ページの属性として、原稿ページのレイアウトが含まれる。
【0125】
電子原稿デスプーラ105は、上述のジョブチケットを、出力モジュールへの出力コマンドに変換する。
【0126】
<そのほかのシステム構成>
本実施形態の文書処理システムの概要は以上のようなものである。これはスタンドアロン型のシステムであるが、これを拡張したサーバクライアントシステムでもほぼ同様の構成・手順でブックファイルを作成・編集できる。但し、ブックファイルや印刷処理はサーバによって管理される。
【0127】
図12は、本実施形態を示す文書処理システムの構成を示すブロック図である。なお、本例は、サーバクライアント型文書処理システムの構成例である。なお、図1と同一のものには同一の符号を付してある。
【0128】
クライアント文書処理システムは、スタンドアロン型システムに、クライアントモジュールであるDOMS(Document Output Management Service:文書出力管理サービス)ドライバ109を備える。
【0129】
その他に、DOMSプリントサービス110、DS(文書サービス)クライアント108を加えた構成を有する。
【0130】
このクライアント文書処理システム1200に文書管理サーバ1201、印刷集中管理サーバ1202及びプリントサーバ1203が接続されている。
【0131】
これらサーバは、通常ネットワークによってクライアント文書処理システムと接続されるが、サーバが同時にクライアントとしても機能する場合には、ネットワーク間の通信をシミュレートするプロセス間通信によって接続される。
【0132】
尚、図12に示す例では、文書管理サーバ1201と印刷集中管理サーバ1202の両方のサーバがクライアントに接続されているが、いずれか一方のみネットワーク上に存在する場合もあり得る。
【0133】
例えば、接続されているサーバが文書管理サーバであれば、そのDSクライアント108を含む文書管理サーバクライアントシステム1201SCがスタンドアロン型文書管理システムに追加される。
【0134】
また、印刷集中管理サーバ1202であれば、そのクライアントモジュールを含む印刷管理サーバクライアントシステム1202SCが、スタンドアロン型文書管理システムに追加される。
【0135】
文書管理サーバ1201は、製本アプリケーション104により作成・編集されたブックファイルを格納するサーバである。文書管理サーバ1201によってブックファイルを管理する場合、ブックファイルはクライアントPCのローカルHDに代わって、あるいはそれに加えて、文書管理サーバ1201のデータベース1211に保存される。
【0136】
製本アプリケーション104と文書管理サーバ1201との間のブックファイルの保存及び読み出しは、DSクライアント108及びDSコア1212を介して行われる。
【0137】
印刷集中管理サーバ1202は、クライアント文書処理システム1200に格納された、あるいは文書管理サーバ1201に格納されたブックファイルの印刷を管理するサーバである。
【0138】
クライアントにおける印刷要求は、DOMSドライバ109及びDOMSプリントサービスモジュール110を介して印刷集中管理サーバ1202のDOMSWGサーバモジュール1221に送信される。
【0139】
印刷集中管理サーバ1202は、クライアントのプリンタで印刷する場合にはクライアントのDOMSプリントサービスモジュール110を介して電子原稿デスプーラ105に電子原稿データを渡す。
【0140】
プリントサーバ1203により印刷する場合には、プリントサーバ1203のDOMSプリントサービスモジュール1203に送信する。印刷集中管理サーバは、例えば保存されているブックファイルに対して印刷要求を発行した利用者の資格などについてセキュリティチェックを行ったり、印刷処理のログを保存したりする。
【0141】
このように、文書処理システムは、スタンドアロンとしても、クライアントサーバシステムとしても実現できる。
【0142】
<プレビュー表示の内容>
すでに説明したとおり、ブックファイルが製本アプリケーション104によって開かれると、図10に示したユーザインタフェース画面1100がCRT210上に表示される。
【0143】
ツリー部1101には、開いているブック(以下、「注目ブック」と呼ぶ)の構造を示すツリーが表示される。
【0144】
プレビュー部1102には、利用者の指定に応じて、3通りの表示方法が用意されている。
【0145】
まず、第1は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。この原稿ビューモードでは、注目ブックに属する原稿ページの内容が縮小されて表示される。
【0146】
尚、プレビュー部1102の表示にレイアウトは反映されない。
【0147】
次に、第2は印刷ビューモードである。この印刷ビューモードでは、プレビュー部1102には原稿ページのレイアウトが反映された形で原稿ページが表示される。そして、第3は簡易印刷ビューモードである。
【0148】
この簡易印刷ビューモードでは、各原稿ページの内容はプレビュー部の表示には反映されず、レイアウトのみが反映される。
【0149】
<ステイプル制御>
次に、ステイプル機能を有するプリンタと接続するコンピュータ100の製本アプリケーション104によって行われるステイプル制御について説明する。
【0150】
図13は、本実施形態を示す文書処理システムの一例を示すブロック図である。本例は、ステイプル制御システムの例であって、図示するように、図2に示したホストコンピュータ100とステイプル機能を有するプリンタ107とで構成される。なお、図2と同一のものには同一の符号を付してある。
【0151】
以下、プリンタ107の構成について説明する。尚、本発明の機能が実現されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ、処理が行われるシステムであっても本発明を適用できる。
【0152】
図示するように、プリンタ107において、1301はプリンタCPU(CPU)である。制御プログラムは、ROM1302内のプログラム用ROMや外部メモリ1303に記憶される。
【0153】
そして、制御プログラム等に基づいてシステムバス1304に接続される印刷部I/F1305を介して、印刷部(プリンタエンジン)1306に出力情報としての画像信号を出力する。
【0154】
また、このROM1302内のプログラムROMには、CPU1301の制御プログラム等が記憶され、ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が記憶される。
【0155】
また、ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、ホストコンピュータ100上で利用される情報等が記憶されている。
【0156】
また、CPU1301は、入力部1307を介してホストコンピュータ100との通信処理が可能となっており、プリンタ107内の情報等をホストコンピュータ100に通知できる。
【0157】
RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
【0158】
尚、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。
【0159】
外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【0160】
また、操作部1311は操作のためのスイッチ及びLED表示器等で構成されている。
【0161】
また、上述の外部メモリ1303は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。
【0162】
更に、図示しないNVRAMを有し、操作部1311からのプリンタモード設定情報を記憶するようにしても良い。
【0163】
<可変印刷>
製本アプリケーション104は、生成したブックファイルのページ属性として、可変印刷を実行するための可変フィールドの設定を行うことが可能である。以下、可変印刷について説明する。
【0164】
図44は、本実施形態を示す文書処理システムにおける可変印刷のページレイアウト例を示す図である。
【0165】
図44において、4400は原稿ページ、4401は可変印刷を実行するための可変フィールドを指名している。可変フィールドは、原稿ページ上に複数配置されても良い。可変フィールドの中に、接続したデータベースからデータを差し込み、カスタマイズして印刷を行う。
【0166】
4402はデータベースで、可変フィールド4401に差し込み可能なデータを管理している。
【0167】
データベース4402には、レコードと呼ばれる識別子があり、このレコード単位で原稿ページに対してデータを差し替える。
【0168】
この例では、データベース4402は、R1〜R4の4レコードのデータを管理する。また、データベース4402の各レコードは、テキストのデータ4403とイメージのデータ4404を含む。
【0169】
この例では、原稿ページ1ページ目に設定されている可変フィールドにはテキストのデータ4403、原稿ページ2ページ目に設定されている可変フィールドにはイメージのデータ4404を差し込むように設定されているものとする。可変フィールドの設定や、データベースデータとの関連の設定については、後述する。
【0170】
4405は実際にデータベースのデータが差し込まれた原稿ページの例を示している。レコードR1が差し込まれると、原稿ページ1ページ目にはレコードR1のテキストデータ"AAA"4406が差し込まれて原稿ページがレイアウトされる。
【0171】
また、原稿ページ2ページ目にはイメージデータ(飛行機のイメージ4407)が差し込まれて原稿ページがレイアウトされる。
【0172】
また、レコードR2が差し込まれると、原稿ページ1ページ目にはレコードR2のテキストデータ"BBB"4408が差し込まれ、原稿ページ2ページ目にはイメージデータ(トラックのイメージ4409)が差し込まれて原稿ページがレイアウトされる。なお、レコードR3、R4も同様に、データ4410から4413が各ページにレイアウトされる。
【0173】
原稿ページ3ページ目については、可変フィールドが設定されていないので、データの差し込みは実行されない。しかし、データの差し込みは実行されなくても、全てのレコードに対して原稿ページ3ページ目は印刷される。このように、可変印刷を行うと、原稿ページ×レコード数分の印刷が行われることとなる。
【0174】
図45A,図45Bは、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0175】
なお、図45Aは、前述した可変印刷の設定を行う可変印刷エディタのUI例を示している。この可変印刷エディタは、製本アプリケーション104から起動され、ブックファイルの論理ページ単位で設定を行うことが可能である。
【0176】
図45Aにおいて、4500は可変印刷エディタの全体UIを示している。可変印刷エディタが起動されると全体UIが表示される。4501は可変印刷エディタのウインドウを最小化、最大化、閉じることができるボタンを示している。4502は可変印刷エディタの各種編集操作を行うメニューバーを示している。4503は可変印刷エディタのツールボタンを示している。
【0177】
4504はスクロールバーを示しており、可変印刷エディタで原稿ページを表示しきれない場合に表示され、ウインドウ全体をスクロールして原稿ページ全体を編集することを可能にする。
【0178】
4505は可変印刷エディタのグラブコントロールを示しており、マウスポインタを使ってウインドウサイズを任意に変更することを可能にする。
【0179】
4506は可変印刷エディタで編集している原稿ページを示している。
【0180】
4507は原稿ページ上に描画されているオブジェクトである。可変印刷エディタでは前述した可変フィールドの設定のみを機能として持つので、他の原稿ページ上のオブジェクトを編集できない。
【0181】
4508はテキストデータを差し込むテキスト可変フィールドを示している。4509はイメージデータを差し込むイメージ可変フィールドを示している。
【0182】
本実施形態ではテキスト可変フィールド、イメージ可変フィールドを区別せずに指し示すときに可変フィールドという言葉を用いている。
【0183】
これらのフィールドはメニュー4502やツールボタン4503で可変フィールド作成機能を選択して、マウスカーソルで矩形を描画することにより、同調フィールド又は通常フィールドのためのフィールドを作成することが可能である。
【0184】
図45Bは、可変フィールドへ差し込まれるデータを設定するために接続するデータベースへの接続方法を示すUI例である。
【0185】
図45Bにおいて、4510は接続ダイアログである。4511は、接続ダイアログ4510を閉じるボタンを示している。接続ダイアログ4510は、メニュー4502やツールボタン4503を選択することで表示される。
【0186】
4512はデータベースへの接続を設定するエリアである。すでに接続されていれば、接続中のデータベースファイル名が表示される。未接続であれば空白である。接続を行うときは、参照ボタン4513を押下し、データベースファイル参照ダイアログ等を表示させ、データベースファイルを指定する。
【0187】
データベースへ接続中に参照ボタンで他のデータベースファイルを選択したときは、選択したデータベースへ接続を切り替える。
【0188】
語述する4514〜4519はデータベースに接続中に有効になるコントロールであり、接続中のデータベースの内容を示すためのものである。
【0189】
4514は接続しているデータベースのレコードを移動させるレコード移動ボタンである。4515は接続しているデータベースの総レコード数と、現在内容を表示しているレコード番号を示すものである。
【0190】
4516は接続しているデータベースに設定されているカラム名を示している。カラム名はデータベースの各レコードデータがどのような属性を持っているかを示すもので、図45Bの例では、"名前"と"イメージ"4517という属性を持ったデータベースであることを示している。
【0191】
4518は接続しているデータベースの各レコードのカラム名に対する値(データ)を示している。図45Bでは、1レコード目のデータは"名前"という属性に対して"AAA"、"イメージ"という属性に対して"XXXX.bmp"という値を持っていることを示す。
【0192】
レコード移動ボタン4514でレコードを移動すると、データ4519の内容も移動したレコード番号に合わせて変化する。4520はOKボタンで、接続ダイアログ4510で設定した内容を確定する場合に押下される。
【0193】
4521はキャンセルボタンで、設定内容を反映せずに終了する場合に押下される。
【0194】
図46A,図46Bは、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0195】
図46Aにおいて、テキスト可変フィールド4600へは前述した"名前"というカラムが設定されている。
【0196】
設定方法としては、テキスト可変フィールドのプロパティなどで、接続しているデータベースのカラムを設定できるようにすれば良い。
【0197】
また、テキスト可変フィールド4600へ設定できるデータベースのカラムの数は複数であっても良い。
【0198】
イメージ可変フィールド4601へは前述した"イメージ"というカラムが設定されている。設定方法としては、イメージ可変フィールドのプロパティなどで、接続しているデータベースのカラムを設定できるようにすれば良い。イメージ可変フィールド4601へ設定できるデータベースのカラムの数は単数である。
【0199】
図46Bは、設定した内容をプレビューしたときのUI例である。プレビューでは、可変フィールドへ設定したデータベースデータが差し込まれた状態が確認できる。
【0200】
図46Bにおいて、4602は、図46Aで示したテキスト可変フィールド4600へ"名前"のカラムの値"AAA"が差し込まれた状態を示している。
【0201】
また、4603は、図46Aで示したイメージ可変フィールド4601へ"イメージ"のカラムの値"電車のイメージ"が差し込まれた状態を示している。
【0202】
4604はデータベースのレコードを移動するレコード移動ボタンである。このレコード移動ボタン4604を使ってレコード移動を行い、それぞれのレコードのデータをプレビューすることができる。
【0203】
なお、可変印刷は製本アプリケーション104の印刷ダイアログで印刷時にON/OFFの指定を可能とする。したがって、印刷ダイアログで可変印刷をしないということを指定すれば、可変印刷エディタで設定した内容は反映せずに印刷することができる。
【0204】
<ブックファイル編集機能>
製本アプリケーション104は、生成されたブックファイルに対して、文章・画像の編集を行うことを可能とする原稿エディタを備える。
【0205】
前記原稿エディタは、製本アプリケーション104から起動され、ブックファイルを論理ページ毎に編集することが可能である。
【0206】
図15は、本実施形態を示す文書処理装置における第4のデータ処理手順の一例を示すフローチャートである。本例は、製本アプリケーション104にて、選択された原稿ファイルに対して原稿エディタの起動フローを示している。
【0207】
まず、S1501で、製本アプリケーション104は、選択された原稿ファイルに対してメニューをCRT210に表示させる。
【0208】
次に、S1502で、製本アプリケーション104は、S1501において表示されたメニューより"原稿エディタ"が選択されたことを認識し、S1503で、原稿エディタを起動することによりCRT210にメイン画面を表示して、本処理を終了する。
【0209】
図14は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、製本アプリケーション104から、原稿エディタを起動するUI例を示している。
【0210】
図14において、1401は製本アプリケーションUI、1402はインポートされた原稿ファイルである。
【0211】
1403はポップアップメニューで、原稿ファイル選択時に表示される。1404はマウスポインタを示している。原稿エディタの起動は、インポートされた原稿ファイルをマウスポインタで選択し、ポップアップメニュー1403を表示させ、メニュー内の"原稿エディタ"を選択することで実行される。
【0212】
次に、原稿エディタで行える編集機能について説明をする。
【0213】
図16は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、原稿エディタの全体UIを示している。
【0214】
図16において、1601は原稿エディタUI、1602はメニューバー、1603はツールボタン、1604はページ移動ボタン、1605はズーム指定ボックスを示す。
【0215】
1606は編集対象の原稿ファイルを示している。1607はテキストオブジェクトを示している。1608,1609は図形オブジェクトを示している。1610は直線オブジェクトを示している。
【0216】
[テキスト編集機能]
図17は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、テキストオブジェクトの選択の例を示している。
【0217】
図17において、1701はテキストオブジェクト、1702はオブジェクトのコントロールハンドル、1703はマウスポインタを示している。
【0218】
マウスポインタ1703で原稿ファイル内のテキスト上を選択すると、選択されたテキストがオブジェクトとして選択状態となる。選択状態になったオブジェクトにはコントロールハンドル1702が表示され、選択されたことをユーザに示す。
【0219】
テキストオブジェクトは、選択して移動・削除・テキスト属性の変更・テキストの追加・削除される。
【0220】
図18は、本実施形態を示す文書処理装置における第5のデータ処理手順の一例を示すフローチャートである。本例は、原稿エディタによるテキスト編集フローを示している。
【0221】
まず、S1801で、ユーザのマウス操作に基づいて、マウスポインタ1703で選択された原稿ファイル内のテキストを、テキストオブジェクトとして抽出する。
【0222】
次に、S1802で、原稿エディタは、抽出されたテキストオブジェクトに対する編集要求を判別して、S1803〜S1806で、テキストの追加、テキストの削除、テキスト属性の変更、テキストオブジェクトの移動・削除などの編集を実行する。
【0223】
図19〜図21は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。図19の例は、原稿エディタによるテキスト追加の編集例を示している。
【0224】
以下、図17に示したテキストオブジェクト1701についてテキストの追加を行う例を図19に基づいて説明する。
【0225】
図19において、選択状態になっているテキストオブジェクトを再度マウスポインタ1903で選択すると、テキストオブジェクトが矩形1901で囲まれ、編集カーソル1902が表示される。テキストを追加する位置にカーソルを移動させ、文字を入力すると、テキストオブジェクトに入力した文字が追加される。
【0226】
図19では、"日本語のテスト"のテストの前に"テスト"を追加したときの例を示している。
【0227】
図20は、テキスト削除の例を示している。
【0228】
図17のテキストオブジェクト1701についてテキストの削除を行う。テキスト追加と同様の方法でテキストオブジェクトが矩形で囲まれ、編集カーソル2001が表示されている状態にする。その状態で、バックスペースキーや削除を実行すると、編集カーソルの前の文字が削除される。
【0229】
テキスト属性の編集について、各テキストオブジェクト内のテキストは属性を持っており、その属性についても編集することが可能である。テキスト属性には、フォント・スタイル・サイズ・色・文字装飾・文字間隔・水平スケーリング率・単語間隔などがある。それぞれの意味、設定方法については、公知であるため説明は省略する。
【0230】
[テキストボックス編集機能]
前述したテキストオブジェクトは1行に限定された編集であったが、原稿エディタは複数行のテキストを新規に作成する機能を有する。複数行のテキストを作成する際には、テキストボックスを用いる。
【0231】
図22は、本実施形態を示す文書処理装置における第6のデータ処理装置を示すフローチャートである。本例は、テキストボックス編集のフローを示している。
【0232】
まず、S2201で、原稿エディタは、テキストボックス作成モードへ遷移し、S2202で、テキストボックスを生成する。
【0233】
次に、S2203で、原稿エディタは、編集処理を終了したかどうかを判断する。ここで、原稿エディタが編集要求内容を判断して、S2204で、テキストオブジェクトの編集(この編集は前述した1行テキストの編集操作と同じ)を行い、S2203に戻る。
【0234】
同様に、S2205で、原稿エディタは、S2203の編集内容の判断結果に基づいて、テキストボックス属性の編集を行い、S2203に戻る。
【0235】
同様に、S2206で、原稿エディタは、S2203の編集内容の判断結果に基づいて、テキストボックスの移動・削除などの編集を施し、S2203へ戻る。
【0236】
そして、S2203で、原稿エディタが編集処理を終了したと判断した場合は、本処理を終了する。
【0237】
図21に示すUI画面の例では、テキストボックス作成の例を示している。
【0238】
図21において、原稿ファイル1606上にテキストボックス作成モードで、マウスポインタ1903を用いて矩形を描画すると、テキストボックス2101が作成される。作成されたテキストボックス2101には、コントロールハンドル2102が表示される。コントロールハンドル2102をマウスポインタでドラッグすることにより、ボックスのリサイズが可能である。
【0239】
図23は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。本例は、前述したテキストボックス2101内にテキストを追加する例を示している。
【0240】
図23において、テキストボックス2101に"テキストボックステスト。複数行"というテキスト2301を追加した例を示している。
【0241】
また、選択状態のテキストボックス2101を再度マウスポインタで選択すると、テキストオブジェクト編集の時と同様に、ボックス内に編集カーソルが表示される。
【0242】
その状態で、テキストを入力することにより、テキストボックス2101にテキストを追加、削除することが可能である。
【0243】
なお、テキストボックス及びテキストボックス内のテキストについてもテキストオブジェクトと同様に属性を編集することが可能である。
【0244】
[同調フィールドの作成]
図24Aは、図2に示すCRT210に表示されるユーザインタフェースとの一例を示す図である。本例は、選択したテキストオブジェクトのテキスト属性を周囲のテキストオブジェクトと同一となるように設定される同調フィールドを作成するためのユーザインタフェースの例である。以下、図24A〜図24C、図25を参照して、図24Aに示すUI画面の表示例を説明する。
【0245】
図24B、図24Cは、本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【0246】
本実施形態では、図24Bに示すように、図24Aのプロパティ画面で、チェックボックスCBにチェックが入ると、製本アプリケーション104により当該フィールドは、同調フィールドF12として作成される。
【0247】
そして、後述する指標オブジェクトの探索処理で、指標オブジェクトF13が探索されると、製本アプリケーション104は、指標オブジェクトF13の属性を、同調フィールドF12内のオブジェクトTOJB1に反映させる同調処理を実行する。
【0248】
これにより、同調フィールドF12内のオブジェクトTOJB1は、指標オブジェクトF13に合わせて、フォント属性、フィールド位置が調整され、オブジェクトTOJB2として表示される。
【0249】
なお、図24Aのプロパティ画面で、チェックボックスCBがチェックされない場合、作成されるフィールドは、図24Cに示すように、通常のフィールドF11が作成される。
【0250】
図25は、本実施形態を示す情報処理装置におけるテキストオブジェクトを含む論理ページの例を示す図である。
【0251】
図25において、論理ページ2501が原稿エディタで起動されている場合、テキストオブジェクト2502を選択し右クリックでポップアップメニューを表示させ、設定を変更するメニュー項目を選択することで、図24Aに示す設定画面2401を表示する。
【0252】
図24Aにおいて、チェックボックスCBにチェックを入れることで、オブジェクトのプロパティで指定されているフィールドF11を作成する場合に、当該フィールドを上記同調フィールドF12として作成できる。作成される同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。なお、同調フィールドに対して探索される指標オブジェクトF13と、同調フィールドとは、編集画面において両者を識別可能とするため、表示態様を変更して表示する。ここで、表示態様としては、フィールドの色、形を変更する等がある。
【0253】
例えば、図24に示すチェックボックスCBにチェックを入れることで、図25に示す論理ページ2501内において、テキストオブジェクト2502のフィールドを通常のフィールドから同調フィールドに変更でき、同調オブジェクトを自在に作成できる。
【0254】
同調オブジェクトとして設定されたテキストオブジェクトは、テキスト属性を合わせる対象のオブジェクトである指標オブジェクトのテキスト属性と同一になるようにテキスト属性が変更される。
【0255】
強調設定付加ボタン2403は、同調オブジェクトとした場合にただテキスト属性を指標オブジェクトに合わせるのではなく、指標オブジェクトのテキスト属性から相対的に変更するための強調設定を付加するボタンである。
【0256】
例えば、指標オブジェクトのフォントサイズより2ポイント大きくする設定や、スタイルをイタリックにする設定などができる。
【0257】
また、同調設定手段は、テキスト可変フィールドのプロパティにもあり、テキスト可変フィールドを同調オブジェクトとすることが可能である。
【0258】
図26は、本実施形態を示す情報処理装置で処理可能なテキストオブジェクトのデータ構造を示す図である。
【0259】
図26において、オブジェクトIDには、オブジェクトを一意に識別するための値が格納される。例えば、論理ページ内の右上にあるオブジェクトから順に1から1ずつ増加させることで一意の番号をつける方法がある。
【0260】
指標オブジェクトIDには、当該テキストオブジェクトが同調オブジェクトであった場合、設定を合わせる対象となる指標オブジェクトのオブジェクトIDが格納される。
【0261】
指標オブジェクトIDに値が無い場合、当該オブジェクトは通常のテキストオブジェクトとなる。
【0262】
同調オブジェクトIDは、当該テキストオブジェクトを指標オブジェクトとしているテキストオブジェクトが存在する場合に、そのテキストオブジェクトのオブジェクトIDが格納される。当該テキストオブジェクトを指標オブジェクトとしているテキストオブジェクトが複数存在する場合は、指標としている全てのテキストオブジェクトのオブジェクトIDが格納される。
【0263】
同調情報は、当該オブジェクトが同調オブジェクトである場合の付加設定が格納される。例えば、指標オブジェクトのフォントサイズより2ポイント大きくするなどの強調設定の情報が格納される。
【0264】
位置情報は、テキストオブジェクトが論理ページ内のどこに配置されているかを示す情報である。例えば、ページ内における横方向の位置、及び縦方向の位置をそれぞれ座標値として格納する。サイズ情報は、テキストを描画する領域の横方向、及び縦方向の大きさを格納する。
【0265】
その他に、テキスト属性、テキストオブジェクトの文字列等がある。尚、オブジェクトのデータ構造はこの他に追加項目があってもよい。
【0266】
例えば、可変フィールドを同調オブジェクトとした場合、文字列はデータベースから取得されるため、文字列の情報は持たない。そのかわりに、接続されるデータベースの情報が項目として追加される。
【0267】
図27は、本実施形態を示す文書処理装置における第7のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトに変更する処理のフローを示している。
【0268】
まず、本処理は、選択された論理ページ内の全テキストオブジェクトに対して同調オブジェクトと設定されたオブジェクトに最も近いオブジェクトを探索する。
【0269】
そして、探索されたオブジェクトを指標オブジェクトとし、指標オブジェクトからテキスト属性と位置情報を取得して同調オブジェクトに反映する。以下、ステップに基づいて説明する。
【0270】
まず、S2701で、製本アプリケーション104は、指標オブジェクトの探索を行う。詳細については後述する。
【0271】
次に、S2702で、製本アプリケーション104は、指標オブジェクトのテキスト属性と合わせるように同調オブジェクトのテキスト属性を変更する。S2701同様詳細については後述する。
【0272】
そして、S2703で、製本アプリケーション104は、同調オブジェクトを配置するための配置位置を変更して、本処理を終了する。
【0273】
なお、本処理の詳細については後述する。以上の手順で通常のテキストオブジェクトのフィールドを同調フィールドする場合の同調処理について説明する。
【0274】
ここから、それぞれの処理の詳細な手順を説明する。
【0275】
図28は、本実施形態を示す文書処理装置における第8のデータ処理装置を示すフローチャートである。本例は、図27に示したS2701の詳細フローを示している。
【0276】
本処理は、選択された論理ページ内の全テキストオブジェクトに対して、同調オブジェクトと各テキストオブジェクトの距離を基準位置から算出する。そして、製本アプリケーション104は、算出された値が最も小さいオブジェクトを当該同調オブジェクトの指標オブジェクトに設定する。以下、各ステップに基づいて説明する。
【0277】
まず、S2801で、製本アプリケーション104は、同調オブジェクトの基準位置Bを取得し、S2802で、論理ページにあるテキストオブジェクトのうち、一つの基準位置Aを取得する。
【0278】
ここで、基準位置とは、テキストオブジェクトと指標オブジェクトとの距離を比較するための任意の位置である。
【0279】
図29Aは、本実施形態を示す情報処理装置におけるテキストオブジェクトの基準位置を説明する図である。以下、図29Aを用いて基準位置として使用する位置の例を説明する。
【0280】
図29Aの上部側に示す横書きフォントの場合、代表的なものとしてフォントのベースライン2901の縦方向の座標を用いる方法がある。その他に、テキストオブジェクトの領域の中心座標2902の縦方向の座標や、領域の下側の座標2903などを用いることもできる。
【0281】
また、図29Aの下部側に示すように、同調オブジェクトが縦書きであった場合、センターライン2904やテキストオブジェクトの領域の右側座標2905などを用いることができる。基準位置は同調オブジェクトとその他のテキストオブジェクトとで別々の値を用いてもよい。
【0282】
以下、図29B〜図29Eを参照して、指標オブジェクト探索処理について説明する。
【0283】
図29B〜図29Eは、図28に示した指標オブジェクト探索処理の一例を説明する図である。
【0284】
図29B、図29Eは、基準位置としてフォントのベースラインを用いた指標オブジェクト探索処理であって、各テキストオブジェクトと同調フィールドF12とのフォントのベースラインが最も近いオブジェクトを指標オブジェクトF13と決定した例である。
【0285】
図29Cは、基準位置を同調フィールドの中央座標CMと各オブジェクトの中央座標との距離を用いた指標オブジェクト探索処理である。
【0286】
図29Dは、基準位置を同調フィールドの下座標UMと各オブジェクトのベースラインBL1〜BL3との距離を用いた指標オブジェクト探索処理である。下座標UMと各オブジェクトのベースラインBL1〜BL3との距離が最も近いベースラインBL1に対応するオブジェクトを指標オブジェクトF13と決定した例である。
【0287】
図43は、図2に示すCRT210に表示されるユーザインタフェースの一例を示す図である。
【0288】
図43において、同調オブジェクト基準位置設定手段4301で同調オブジェクトの基準位置の設定を行い、指標オブジェクト基準位置設定手段4302で指標オブジェクトの基準位置の設定を行う。
【0289】
なお、図43では、同調オブジェクトの基準位置にオブジェクトの下側座標を使用し、指標オブジェクトの基準位置に一行目のフォントのベースラインを使用する設定がされている。この設定を使用し、オブジェクト位置を合わせる際の基準位置を決定する。
【0290】
次に、S2803で、製本アプリケーション104は、テキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bの絶対値を求め、MINの値と比較する。ここで、MINには、論理ページのサイズより大きい値が格納される。これは、最終的に最初に入っていた値がMINにならない程度大きな値であればどのような値を用いてもよい。
【0291】
ここで、製本アプリケーション104が最終的に最初に入っていた値がMINの値より小さいと判断した場合は、S2804へ進む。そして、S2804で、製本アプリケーション104は、MINにテキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bの絶対値を格納する。
【0292】
このとき、製本アプリケーション104は、MINの値を持つテキストオブジェクトのオブジェクトIDを記憶しておく。
【0293】
なお、図28のS2803とS2804で記載されているAとBは、テキストオブジェクトの基準位置Aと同調オブジェクトの基準位置Bを省略した記述となっている。
【0294】
そして、S2805で、製本アプリケーション104は、論理ページ内の全てのテキストオブジェクトに対してS2802からS2804の処理を行ったかどうかを判断する。
【0295】
ここで、製本アプリケーション104が全てのテキストオブジェクトに行っていないと判断した場合は、S2806へ進む。つまり、製本アプリケーション104は、S2806で、次のテキストオブジェクトを選択した後、S2802、S2803、S2804の処理を繰り返して、論理ページ中の全てのテキストオブジェクトに対して指標オブジェクトの探索を行う。
【0296】
ここでいう全てテキストオブジェクトとは、同調オブジェクトが横書きの場合は横書きのテキストオブジェクト全てとなり、縦書きの場合は縦書きのテキストオブジェクト全てとなる。これにより、最終的にMINの値を持つテキストオブジェクトが探索される。
【0297】
そして、MINの値を持つテキストオブジェクトのオブジェクトIDを同調オブジェクトの指標オブジェクトIDに格納する。また、MINの値を持つテキストオブジェクトの同調オブジェクトIDに同調オブジェクトのオブジェクトIDを格納する。
【0298】
そして、S2807で、製本アプリケーション104は、S2801〜S2806の処理により、MINの値を持つテキストオブジェクトを指標オブジェクトとして、本処理を終了する。
【0299】
図30は、本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【0300】
図30において、テキストオブジェクト3001を指標オブジェクトとしている同調オブジェクト3002と同調オブジェクト3003がある。そして、同調オブジェクト3002は同調オブジェクト3004の指標オブジェクトである状態を示している。
【0301】
テキストオブジェクト3001は通常のテキストオブジェクトのため、指標オブジェクトIDがない。同調オブジェクト3002は、テキストオブジェクト3001を指標オブジェクトとしているため、指標オブジェクトIDにテキストオブジェクト3001のオブジェクトIDである「1」が格納されている。
【0302】
そして、テキストオブジェクト3001は同調オブジェクト3002の指標オブジェクトとなっているため、指標オブジェクトIDに同調オブジェクト3002のオブジェクトIDである「2」が格納されている。
【0303】
同調オブジェクト3003も同様にテキストオブジェクト3001を指標オブジェクトとしているため、指標オブジェクトIDに「1」が格納されている。
【0304】
テキストオブジェクト3001は、二つの同調オブジェクトの指標オブジェクトとなっているため指標オブジェクトIDには「2」と「3」の二つの値が格納されている。
【0305】
同調オブジェクト3002は、同調オブジェクト3004から指標オブジェクトとされているため、同調オブジェクト3002の同調オブジェクトIDに4が格納され、同調オブジェクト3004の指標オブジェクトIDには「2」が格納される。
【0306】
図31は、本実施形態を示す文書処理装置における第9のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、図27に示したテキスト属性の変更処理の詳細フローを示している。より具体的には、同調オブジェクトのテキスト属性を指標オブジェクトのテキスト属性と合わせるためのテキスト属性の変更の処理例である。
【0307】
本処理は、指標オブジェクトのテキスト属性を同調オブジェクトのテキスト属性に反映するために、指標オブジェクトのフォントの有無を調べ、無かった場合は別のフォントを利用する。そして、当該同調オブジェクトに強調設定がされていた場合は、その設定を反映し、変更したフォントが収まるように当該同調オブジェクトを変更する処理を行う。
【0308】
まず、S3101で、製本アプリケーション104は、指標オブジェクトIDから指標オブジェクトのオブジェクトIDを探し、そのオブジェクトIDを持つテキストオブジェクトからテキスト属性Fを取得する。
【0309】
次に、S3102で、製本アプリケーション104は、テキスト属性Fのフォントがコンピュータ内に存在するフォントかどうか検索して判断する。ここで、フォントが検索できたと製本アプリケーション104が判断した場合、S3103で、そのフォントが同調オブジェクトのテキスト属性のフォントに格納される。
【0310】
一方、S3102で、製本アプリケーション104が同一のフォントが存在しないため検索できないと判断した場合、S3104へ進む。
そして、S3104で、製本アプリケーション104は、次にコンピュータ内に似ているフォントが存在するか検索して判断する。ここで、似ているかどうかの判定方法は、フォントのピッチやスタイル、フォントファミリなどの属性の一致具合などで判断する。これに限らず、フォントを画像にして特徴の類似具合を判定する方法などもある。
【0311】
ここで、製本アプリケーション104が似ているフォントを検索できたと判断した場合、S3105で、製本アプリケーション104は、その似ているフォントを同調オブジェクトのテキスト属性のフォントに格納する。
【0312】
一方、S3104で、製本アプリケーション104が検索できないと判断した場合は、S3106で、デフォルトフォントが同調オブジェクトのテキスト属性のフォントに格納される。ここで、デフォルトフォントは、OSなどによって自動的に選択されてもよいし、ユーザが任意のフォントを選択してもよい。
【0313】
その後、S3107で、製本アプリケーション104は、同調オブジェクトのフォント以外のテキスト属性を指標オブジェクトのテキスト属性と一致させる。
【0314】
これにより、テキストのスタイル・サイズ・色・文字装飾等が同調オブジェクトと指標オブジェクトで一致することになる。一つのテキストオブジェクトに複数のテキスト属性が存在した場合、その中から代表するテキスト属性を一つ選びそのテキスト属性と合わせることができる。代表するテキスト属性の選択方法は、先頭の文字のテキスト属性を用いる方法や最も多くの文字で使用されているテキスト属性を用いる方法などがある。
【0315】
次に、S3108で、製本アプリケーション104は、同調オブジェクトの同調設定に強調設定がされているかどうか判断する。ここで、強調設定がされていると製本アプリケーション104が判断した場合は、S3109で、製本アプリケーション104は、強調設定に従ってテキスト属性が変更される。
【0316】
図32は、図2に示すCRT210に表示されるユーザインタフェースを含む文書編集の一例を示す図である。本例は、強調設定を行うためのユーザインタフェースとともに、文書編集状態を対応づけた例である。なお、F12は同調フィールドを示し、F13は指標オブジェクトを示す。指標オブジェクトF13内のオブジェクトがテキストオブジェクトで、書体が行書体で、ポイントが18ポイントで、色が紫の例を示す。フィールドF11には、最初、オブジェクトがテキストで、書体がゴシック体で、ポイントが12ポイントで、色が黒の例を示す。
【0317】
図32において、3201はチェックボックスで、このチェックボックス3201に対する設定を切り替えることにより、強調設定を行うか否かを決定する。
【0318】
そして、フォントサイズを相対的に指定することができるユーザインタフェース3202により、指標オブジェクトから取得したフォントサイズからどれだけサイズを変えた値を使用するかを入力する。
【0319】
例えば、+4と入力することで指標オブジェクトF13から取得したフォントが10ポイントであった場合、同調フィールドF12内の同調オブジェクトのフォントサイズを14ポイントに設定することができる。
【0320】
更に、スタイルの設定がなかった場合にスタイルを付加できるユーザインタフェース3203の設定を行うことで、指標オブジェクトF13のフォントスタイルが太字で無い場合、同調フィールドF12内の同調オブジェクトのフォントスタイルを太字にできる。これにより、強調設定が有効となる場合には、同調フィールドF12内のテキストに対する設定は、同調処理により、書体が行書体で、ポイントが22ポイントで、色が紫に調整される。
【0321】
このほかに、文字飾りや文字間隔などについても同様にユーザインタフェースを設けることによって、強調設定を行うことができる。
【0322】
図33、図34は、本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【0323】
本例は、強調設定を行った状態の同調オブジェクトの状態に対応する。
【0324】
図33において、強調設定がされた同調オブジェクト3301があり、その指標オブジェクト3302がある。指標オブジェクト3302のフォントは、例えば創英角ゴシックであり、フォントサイズは18ポイントである。
【0325】
同調オブジェクト3301は、強調設定がされており、フォントサイズ+4ポイントと設定されている。そのため、同調オブジェクトのフォントサイズは、18ポイントより4ポイント大きい22ポイントとなる。
【0326】
次に、S3110で、製本アプリケーション104は、同調オブジェクトのフォントサイズの高さと同調オブジェクトのオブジェクト領域の内のテキスト領域の高さとを比較して、フォントサイズがテキスト領域よりも大きいかどうかを判断する。ここで、テキスト領域とは、オブジェクト領域内のテキストを配置することが可能な領域である。
【0327】
また、領域の設定として余白の設定などが存在する場合、オブジェクト領域から余白の量を差し引いた値がテキスト領域となる。
【0328】
尚、オブジェクト領域に余白等の設定が無い場合は、オブジェクト領域とテキスト領域の大きさは等しくなる。
【0329】
ここで、製本アプリケーション104が同調オブジェクトのフォントサイズの高さより、テキスト領域の高さの方が大きいと判断した場合、テキスト領域の高さを同調オブジェクトのフォントサイズの高さと同じ値にする(S3111)。
【0330】
一方、S3110で、製本アプリケーション104が同調オブジェクトのフォントサイズの高さより、テキスト領域の高さの方が小さいと判断した場合、本処理を終了する。
【0331】
なお、S3111の処理は、図34で示すようにテキスト領域の高さの方が同調オブジェクトのフォントサイズより小さかったためにテキストが欠けてしまうことを回避するために行われる。
【0332】
また、同調オブジェクトに設定をすると元の状態よりフォントサイズが大きくなる場合がある。そのため、同調オブジェクトと設定する前のテキストオブジェクトでテキストが収まるぎりぎりの大きさに設定していた場合に、同調オブジェクト3401のようにテキストが欠けてしまう可能性がある。この現象を回避するためにS3110及びS3111の処理が行われる。
【0333】
図35は、本実施形態を示す文書処理装置における第10のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、図27に示したオブジェクト位置の変更処理の詳細フローを示している。より具体的には、指標オブジェクトのフォントのベースラインに同調オブジェクトのフォントのベースラインを合わせる処理(同調処理)例である。以下、製本アプリケーション104が指標オブジェクトの配置位置(例えばフォントのベースライン)に基づいて、同調フィールドに入力されるオブジェクトの配置位置を合わせる処理について説明する。
【0334】
本処理は、指標オブジェクトと同調オブジェクトとのベースライン位置の差を求め、その情報を基に2つのオブジェクトのベースラインが一致するように当該同調オブジェクトの位置を変更する処理である。以下、各ステップに基づいて説明する。
【0335】
まず、S3501で、製本アプリケーション104は、指標オブジェクトのフォントのベースラインBBLを取得する。次に、S3502で、製本アプリケーション104は、指標オブジェクトのフォントのベースラインBBLから同調オブジェクトの一行目のフォントのベースラインを減算した値を一時保存領域Nに格納する。
【0336】
尚、指標オブジェクトのテキストが複数行にわたる場合、何行目を用いてもよい。
【0337】
また、ここではフォントのベースラインの位置を使用したが、代わりにフォントのディセンダラインやアセンダラインなどの値を用いてもよい。
【0338】
そして、S3503で、製本アプリケーション104は、同調オブジェクトの縦方向の座標を表す位置情報に一時保存領域Nに格納した値を加える。これにより、同調オブジェクトの位置が指標オブジェクトのフォントのベースラインと並ぶように配置される。
【0339】
次に、S3504で、製本アプリケーション104は、同調オブジェクトと指標オブジェクトの領域が重なっているか否かの判定を行う。
【0340】
ここで、判定に使用する領域には、オブジェクト領域やオブジェクトのテキスト領域などを使用することができる。
【0341】
そして、製本アプリケーション104が同調オブジェクトと指標オブジェクトの領域が重なっていると判断した場合、S3505へ進み、同調オブジェクトの位置を指標オブジェクトの領域に重ならない位置まで変更して、本処理を終了する。
【0342】
一方、S3504で、製本アプリケーション104が同調オブジェクトと指標オブジェクトの領域が重なっていないと判断した場合、本処理を終了する。
【0343】
この処理では、横書きフォントの場合、横方向のみの移動を行い縦書きフォントの場合、縦方向のみの移動を行う。横書きフォントの場合に、右と左どちら側に移動させるかの判定は領域の重なり具合をみて、移動距離が少ない方に移動させる。縦書きフォントの場合も同様に、領域の重なり具合から移動距離が少ないように上ないしは下に移動させる。
【0344】
以下、図36、図37に示す編集状態を参照して、図37は、図35に示した処理の内容についてさらに説明する。
【0345】
図36、図37は、本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【0346】
まず、図36の(A)で示すように、同調オブジェクト3601があり、その指標オブジェクト3602がある場合について説明する。
【0347】
この場合、製本アプリケーション104は、指標オブジェクト3602のフォントのベースライン3604から同調オブジェクト3601のフォントのベースライン3603を減算して差を出す。その減算した値を同調オブジェクト3601の位置情報に加えることによって、図36の(B)に示す状態となる。
【0348】
図36の(B)では、同調オブジェクト3601のフォントのベースライン3603と指標オブジェクト3602のフォントのベースライン3604とが同じ値となる。
【0349】
図37は、同調オブジェクトと指標オブジェクトのテキスト属性を合わせた結果、オブジェクト同士が重なってしまった場合の処理例である。
【0350】
以下、同調オブジェクト3701があり、その指標オブジェクト3702がある場合について説明する。
【0351】
図37の(A)、(B)の処理については、図36の説明で前述したため省略する。
【0352】
テキスト属性、及び位置を変更した結果、同調オブジェクト3701と指標オブジェクト3702が重なってしまった場合、同調オブジェクト3701は、図37の(C)のように移動される。
【0353】
これは、製本アプリケーションが同調オブジェクト3701と指標オブジェクト3702の重なりを判定した結果、同調オブジェクト3701をベースラインに沿って右側へ重ならないように移動された結果である。
【0354】
図38A、図38Bは、本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。本例は、図27に示す各ステップの処理を行った結果後の状態に対応する。
【0355】
図38Aの(A)の情報は、論理ページ3806があり、そこからテキストオブジェクト3801を同調オブジェクトに設定した後の状態が図38Aの(B)に示す状態である。
【0356】
論理ページ3806には、テキストオブジェクト3801、3802、3803、3804と、図形オブジェクト3805がある。
【0357】
そこで、同調フィールド内のテキストオブジェクト3801を同調オブジェクトに設定すると論理ページ内のテキストオブジェクト全てから基準位置が最も近いテキストオブジェクトが製本アプリケーション104によるS2701の処理で探索される。フォントのベースラインを基準位置とした場合、テキストオブジェクトである指標オブジェクト3802が最も近いテキストオブジェクトとして選択され、指標オブジェクトとなる。
【0358】
このとき、図形オブジェクト3805はテキストオブジェクトではないため、探索対象とならない。
【0359】
そして、指標オブジェクト3802のテキスト属性を取得して同調オブジェクトに適用される。
【0360】
その後、製本アプリケーション104により同調オブジェクトとなるテキストオブジェクト3801の位置の変更が行われテキストオブジェクト3801のフォントのベースラインと指標オブジェクト3802のフォントのベースラインが同じ値となる。これらのフィールドサイズ調整処理が行われ、同調オブジェクトに設定後は、図38の(B)の状態になる。
【0361】
一方、図32に示した強調設定がある場合に、同調フィールドF12のテキストに対して強調処理を実行してしまうと、強調されたテキストが同調フィールドF12に収まらない場合が生じる。
【0362】
そこで、図38Bに示すように、図32に示す強調設定が有効となる場合には、同調フィールドF12内のテキストに対する設定は、同調処理により、書体が行書体で、ポイントが22ポイントで、色が紫に調整される。
【0363】
この場合において、製本アプリケーション104は、同調処理において強調されたテキストが同調フィールドF12内に収まるかどうかを判断する。ここで、強調されたテキストが同調フィールドF12内に収まらないと判断された場合、製本アプリケーション104は、強調されたテキストを同調フィールド内に収めるように、同調フィールドF12のサイズを同調フィールドF12−1のサイズに変更する。
【0364】
これにより、図38Bに示すように、同調フィールドサイズが変更された同調フィールドF12−1に強調されたテキストが配置される。
【0365】
図39は、本実施形態を示す文書処理装置におけるオブジェクト編集状態を示す図である。本例は、同調オブジェクトが存在する論理ページの表示状態を示した例である。
【0366】
図39に示すように、同調オブジェクトと設定されたオブジェクトは、視覚的にどのオブジェクトが指標オブジェクトであるかがわかるように表示される。
【0367】
例えば、同調オブジェクト3901と指標オブジェクト3902を線で結び、指標オブジェクト側の線の終端を丸くすることで関連が視覚的にわかりやすく表示できる。
【0368】
[同調フィールドの移動に伴う処理]
次にオブジェクトの位置を移動する処理について説明する。なお、作成される同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。
【0369】
図40Aは、本実施形態を示す文書処理装置における第11のデータ処理装置を示すフローチャートである。本例は、通常のテキストオブジェクトを同調オブジェクトとする処理であって、同調オブジェクトを移動する際の処理(第1の移動処理)の詳細フローを示している。
【0370】
本処理は、ユーザ操作により選択されたオブジェクトの位置情報を変更する処理を行う。その際に、選択されたオブジェクトが他のオブジェクトの指標オブジェクトとなっていた場合には、選択されたオブジェクトを指標オブジェクトとしている同調オブジェクトも同調フィールドの移動に基づき、同じ移動量分、移動させる。ここで、選択されたオブジェクトが同調オブジェクトであった場合、移動後の位置で指標オブジェクトの探索が再度行われ、指標オブジェクトに応じてテキスト情報、オブジェクト位置の移動処理が行われる。
【0371】
そのため、このフローチャートでは、移動処理対象のオブジェクトが同調オブジェクトであった場合と、指標オブジェクトであった場合の処理についても記載されているが、それぞれの処理の詳細については各ステップに基づいて説明する。
【0372】
まず、ユーザ操作により、S4001で、オブジェクトが選択される。以下、選択されたオブジェクトを選択オブジェクトと呼ぶ。続いて、S4002で、移動後の位置がユーザ操作により選択される。次に、S4003で、製本アプリケーション104は、オブジェクトの位置を変更する移動処理を図40Bに示すフローチャートに基づいて行う。
【0373】
図40Bは、本実施形態を示す文書処理装置における第12のデータ処理装置を示すフローチャートである。本例は、図40AのS4003に示した移動処理の詳細フローを示している。
【0374】
製本アプリケーション104は、移動処理が開始される、S4004で、製本アプリケーション104は、選択オブジェクトに同調オブジェクトIDが設定されているかどうかを判断する。ここで、同調オブジェクトIDを示す値が格納されていると製本アプリケーション104が判断した場合には、S4006で、製本アプリケーション104は、その同調オブジェクトIDのオブジェクトIDを持つオブジェクトに対して同様に移動処理を行う。そして、移動処理が終了したら、選択オブジェクトの同調オブジェクトIDを再度調べる。このとき、一度移動処理を行ったIDについては処理を行わない。
【0375】
全ての同調オブジェクトIDのオブジェクトIDを持つオブジェクトに対して処理が終了したら、S4004で、同調オブジェクトIDがないと製本アプリケーション104が判断して、S4005で、選択オブジェクトの位置情報を変更して、本処理を終了する。以後、図40Aに示すS4007以降へ進む。
【0376】
次に、S4007で、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDの有無を判断する。ここで、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDが無いと判断した場合は、本処理を終了する。なお、通常のオブジェクトの場合、指標オブジェクトIDに値が格納されていないため、移動処理は終了となる。
【0377】
一方、S4007で、製本アプリケーション104が選択オブジェクトの指標オブジェクトIDがあると判断した場合、すなわち選択オブジェクトが同調オブジェクトであった場合、S4008からS4014までの処理を行う。
【0378】
処理内容は、まず、S4008で、製本アプリケーション104は、指標オブジェクトIDのオブジェクトIDを持つオブジェクトの同調オブジェクトIDに格納されている選択オブジェクトIDと同一の値を削除する。
【0379】
そして、S4009で、製本アプリケーション104は、選択オブジェクトの指標オブジェクトIDの値を削除する。
【0380】
次に、S4010で、製本アプリケーション104は、指標オブジェクトの探索を行い、S4011で、製本アプリケーション104は、テキスト属性の変更を行い、S4012で、製本アプリケーションは、オブジェクト位置の変更を行う。この3つの処理については、図27の同様の処理であり前述したため省略する。
【0381】
その後、S4013で、製本アプリケーション104は、選択オブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、製本アプリケーション104が、選択オブジェクトの同調オブジェクトIDに値が格納されていると判断した場合、S4014で、同調オブジェクトIDのオブジェクトIDを持つ同調オブジェクトを選択オブジェクトとして、S4011へ戻る。
【0382】
そしてS4011で、新たに選択されたオブジェクトについて、テキスト属性の変更処理を行い、S4012で、オブジェクト位置の移動を行う。
【0383】
次に、S4013で、再度同調オブジェクトIDに値があるかどうかを判断する。このとき、選択オブジェクトとなったオブジェクトのオブジェクトIDは無いものとして判断する。
【0384】
そのため、ユーザ操作により選択されたオブジェクトの同調オブジェクトIDの数分、S4014、S4011、S4012の処理が繰り返し行われる。
【0385】
なお、S4013で、製本アプリケーション104が同調オブジェクトIDに値がないと判断した場合は、本処理を終了する。
【0386】
[同調フィールドの移動処理]
次に、同調フィールドを移動する第1の移動処理について、図40Cに基づいて指標オブジェクトとの対応を説明する。
【0387】
同調フィールドを移動すると、移動した位置で再度指標オブジェクトの探索を行い、テキスト属性、位置の調整を行う。すなわち、図27の同調処理のフローを再度行う。以下、図40A、図40B、図40Cを参照して、同調フィールドの移動処理について説明する。
【0388】
まず、S4001で、ユーザ操作によりオブジェクトが選択される。ここで、オブジェクトを選択する手段として、マウスによるクリックや、キーボードによるキー操作が一般的である。
【0389】
そして、S4002で、ユーザ操作により移動する位置が選択される。S4003で、図40Cに示すように、移動する位置F12−11が選択されると、オブジェクトを移動するための処理が行われる。
【0390】
移動処理は、図40Bに示すS4004で、製本アプリケーション104は、まず、選択したオブジェクトの同調オブジェクトIDに値が格納されているかを判断する。ここで、製本アプリケーション104が選択したオブジェクトの同調オブジェクトIDに値が格納されていないと判断した場合は、S4005で、選択したオブジェクトを移動させる。
【0391】
一方、S4004で、同調オブジェクトIDが格納されていると判断された場合、S4006で、選択したオブジェクトを指標オブジェクトとしているオブジェクトがあるため、製本アプリケーション104は同調オブジェクトの移動も行う。この処理の詳細については後述する。
【0392】
次に、図40Aに示すS4007で、製本アプリケーション104は、選択したオブジェクトに指標オブジェクトIDが格納されているかどうかを判断する。ここで、同調オブジェクトの場合、指標オブジェクトIDが存在する。すると、次に、S4008で、製本アプリケーション104は、指標オブジェクトIDのオブジェクトIDを持つオブジェクトの同調オブジェクトIDに選択したオブジェクトのオブジェクトIDが格納されているので、その値を削除する。そして、S4009で、製本アプリケーション104は、選択したオブジェクトの指標オブジェクトIDを削除する。
【0393】
これで、指標オブジェクトとの関連が削除される。その後、S4010で、製本アプリケーション104は、指標オブジェクトの探索を行うことで、移動された位置で指標オブジェクトの再探索を行う。
【0394】
指標オブジェクトの探索処理についての詳細は、図28の処理の説明において前述したため省略する。
【0395】
続いて、S4011で、製本アプリケーション104は、テキスト属性の変更処理を行い、S4012で、製本アプリケーション104は、オブジェクト位置の変更処理を行う。
【0396】
これらの処理も、テキスト属性の変更は図31、オブジェクト位置の変更処理は、図35の説明において前述したため省略する。
【0397】
次に、S4013で、製本アプリケーション104は、選択したオブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、同調オブジェクトIDが格納されていた場合、選択したオブジェクトを指標オブジェクトとする同調オブジェクトが存在する。そのため、S4014で、製本アプリケーション104は、その同調オブジェクトを選択したオブジェクトとし、S4011、S4012で、製本アプリケーション104は、テキスト属性、及びオブジェクト位置の変更を繰り返し行う。この繰り返しは、選択したオブジェクトの同調オブジェクトIDに値の無いオブジェクトまで行われる。
【0398】
以上の処理により、図40Cに示すように、同調オブジェクトが移動した際には指標オブジェクトが再探索され、その指標オブジェクトF13−1にテキスト属性、及びオブジェクト位置を合わせることができる。
【0399】
つまり、ユーザは、同調フィールドF12を移動する操作を行うと、再探索される最も近い指標オブジェクトF13−1のフォント属性、フィールド位置が自動的に調整される。
【0400】
なお、通常のフィールドである場合には、当然、ユーザが移動した通常のフィールドに対して、フォント属性、フィールド位置を個々に調整する操作が必要となる。
【0401】
[指標オブジェクトの移動処理]
次に、指標オブジェクトを移動する第2の移動処理について図40A、図40B、図40Dを参照して説明する。ここで、第2の移動処理とは、図40Dに示すように、指標オブジェクトF13は、そのオブジェクトを指標オブジェクトとする同調フィールドF12が存在するので、そのフィールドも指標オブジェクトの移動量と同じだけ移動させる処理をいう。なお、同調フィールドF12内のオブジェクトを同調オブジェクトと呼ぶ。
【0402】
まず、S4001で、ユーザにより移動したいオブジェクトが選択され、S4002で、移動位置が指定される。そして、S4003で、製本アプリケーション104は、オブジェクトの移動処理を行う。
【0403】
製本アプリケーション104による移動処理が開始されると、図40Bに示すS4004で、製本アプリケーション104は、選択したオブジェクトの同調オブジェクトIDに値が格納されているかどうかを判断する。ここで、指標オブジェクトF13の場合は、同調オブジェクトIDに値が格納されている。
【0404】
そして、S4006で、製本アプリケーションは、同調オブジェクトIDのオブジェクトIDを持つ同調フィールドF12を対象にして、移動処理を行う。
【0405】
このように、再帰的に処理を行うことにより同調フィールドF12の指標オブジェクトF13を移動すると、同調フィールドF12を指標オブジェクトF13の位置に合わせる変更を行う。なお、S4004の判定は、一度移動処理を行った同調オブジェクトはないものとみなして判定を行う。
【0406】
すなわち、同調オブジェクトIDの個数分だけ移動処理が行われる。
【0407】
なお、S4007からS4014の処理は、前述したため省略する。
【0408】
ここでは、指標オブジェクトの移動処理について説明をしたが、指標オブジェクトのテキスト属性などが変更された場合にも同様の手順で処理を行う。
【0409】
以下、図41に示す編集状態を参照して、指標オブジェクトを移動させる第2の移動処理について、さらに説明する。
【0410】
図41は、本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【0411】
図41の(A)において、指標オブジェクト4101を持つ同調オブジェクト4102があり、同調オブジェクト4102を指標オブジェクトとする同調オブジェクト4103がある。
【0412】
図41の(A)は、移動を行う前の状態であり、図41の(B)は移動を行った後の状態である。
【0413】
ユーザは、指標オブジェクト4101に対して移動処理を行う。
【0414】
次に、指標オブジェクト4101の同調オブジェクト4102に対して移動処理を行う。
【0415】
更に、同調オブジェクト4102を指標オブジェクトとする同調オブジェクト4103に対して移動処理を行う。同調オブジェクト4103の同調オブジェクトIDには、値が格納されていないため以上で移動処理は終了する。
【0416】
図42は、本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。本例は、同調フィールド内のオブジェクトを同調オブジェクトと呼ぶ。
【0417】
図42において、指標オブジェクト4201を持つ同調オブジェクト4202があり、同調オブジェクト4202を指標オブジェクトとする同調オブジェクト4203がある。
【0418】
図42の(A)は移動を行う前の状態であり、図42の(B)は移動を行った後の状態である。
【0419】
ユーザは、同調オブジェクト4202に対して移動処理を行う。その後、製本アプリケーション104は、移動後の位置で指標オブジェクトの探索を行う。
【0420】
製本アプリケーション104は、探索の結果、移動後の位置で最も近いオブジェクトであった、指標オブジェクト4204を新しい指標オブジェクトとして選択する。
【0421】
そして、同調オブジェクト4202は、製本アプリケーション104によりテキスト属性とオブジェクト位置を指標オブジェクト4204のテキスト属性、オブジェクトの位置に合わせる処理が行なわれる。
【0422】
同調オブジェクト4202を指標オブジェクトとする同調オブジェクト4203は、製本アプリケーション104によりテキスト属性とオブジェクト位置を同調オブジェクト4202のテキスト属性とオブジェクト位置に合わせる処理が行われる。
【0423】
本実施形態では、テキストオブジェクトを用いて処理を説明したが、テキストボックスでも同様の処理が行えるためテキストボックスであっても同調オブジェクトとすることができる。
【0424】
その他のオブジェクトであっても、位置を変更でき、テキスト属性と表示する文字列があれば、同調オブジェクトとして設定できる。
【0425】
例えば、一部ずつ文字や画像を差し替えて印刷を行う可変印刷を行う文書処理装置においては、差し替える文字を挿入するためのテキスト可変フィールドを作成できる。この場合、テキスト可変フィールドも位置情報とテキスト属性を備えているため同調オブジェクトとして設定することが可能である。
【0426】
尚、同調オブジェクトのみでなく指標オブジェクトにできるオブジェクトも、位置情報とテキスト属性を備えているものであればテキストオブジェクトに限らず、その他のオブジェクト、テキスト可変フィールド等を用いてもよい。
【0427】
図47は、本実施形態を示す文書処理装置における文書処理状態を説明する図である。本例は、指標オブジェクトの属性が変更された場合に、当該指標オブジェクトに対応付けられた同調フィールド内の同調オブジェクトの属性も従属して変更する例である。
【0428】
図47に示すように、ユーザの操作により、指標オブジェクトF13が選択されて、図示しないプロパティ画面で指標オブジェクトF13の属性、本実施形態では、テキスト属性を変更する。例えば書体を行書体から丸ゴシック対に変更するとともに、文字サイズを18ポイントから24ポイント、さらに、色を紫から緑に変更する。
【0429】
このように指標オブジェクトF13の属性が変更されると、製本アプリケーション104は、指標オブジェクトF13に対応づけられた同調フィールド内の同調オブジェクトの属性を変更された属性へ一致するように変更する。ただし、変更された指標オブジェクトの属性を同調オブジェクトに適用すると、同調オブジェクトの位置やサイズに影響がでる場合がある。
【0430】
例えば指標オブジェクトの文字と同調フィールド内の文字とが位置的に重なり合う状態になると、製本アプリケーション104が判断した場合には、図47に示すように、同調フィールド内の文字とが位置的に重なり合わない位置へ平行移動させる。その際、移動の基準は、フォントのベースラインとする。以下、図48に示すフローチャートを参照して、フィールド位置の変更処理について説明する。
【0431】
図48は、本実施形態を示す文書処理装置における第13のデータ処理手順の一例を示すフローチャートである。本例は、同調フィールド内の文字とが位置的に重なり合わない位置へ平行移動させる処理例である。
【0432】
まず、S4801で、製本アプリケーション104は、例えば図47に示す指標オブジェクトF13のフォントのベースラインBLLをフォント情報から取得する。次に、S4802で、製本アプリケーション104は、取得したベースラインBLLの値から、同調フィールドF12の1行目のフォントのベースラインの値を減算する。
【0433】
次に、S4803で、製本アプリケーション104は、減算した値Nを移動前の同調フィールドの座標値に加算して、本処理を終了する。
【0434】
これで、同調フィールドF12のベースラインと指標オブジェクトのフォントのベースラインとを合わせることができる。
【0435】
なお、同調フィールドの移動は、ベースラインを調整した後、同調フィールドF12内の先頭文字の座標値が、指標オブジェクトF13の末尾の文字の座標値よりも、外側となるように、同調フィールドF12内の先頭文字の配置座標を移動させる。
【0436】
〔第4実施形態〕
以下、図49に示すメモリマップを参照して本発明に係る文書処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0437】
図49は、本発明に係る文書処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0438】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0439】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0440】
本実施形態における図7、図8、図9、図15、図18、図22、図27、図28、図31、図35、図40A、図40B、図48に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0441】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0442】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0443】
したがって、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0444】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0445】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0446】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0447】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0448】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0449】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0450】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
【0451】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【0452】
【図1】本発明の第1実施形態を示す書処理システムのソフトウェアの構成を示す図である。
【図2】図1に示したコンピュータのハードウェアの構成を説明するブロック図である。
【図3】本実施形態を示す情報処理装置で処理可能な電子原稿データの構造を説明する図である。
【図4】図3に示すブック属性のリストを示す図である。
【図5】図3に示す章属性のリストを示す図である。
【図6】図3に示すページ属性のリストを示す図である。
【図7】本実施形態を示す文書処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図8】本実施形態を示す文書処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図9】本実施形態を示す文書処理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図10】図2に示すCRTに表示されるユーザインタフェースを説明する図である。
【図11】図2に示すCRTに表示されるユーザインタフェースを説明する図である。
【図12】本実施形態を示す文書処理システムの構成を示すブロック図である。
【図13】本実施形態を示す文書処理システムの一例を示すブロック図である。
【図14】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図15】本実施形態を示す文書処理装置における第4のデータ処理手順の一例を示すフローチャートである。
【図16】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図17】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図18】本実施形態を示す文書処理装置における第5のデータ処理手順の一例を示すフローチャートである。
【図19】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図20】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図21】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図22】本実施形態を示す文書処理装置における第6のデータ処理装置を示すフローチャートである。
【図23】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図24A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図24B】本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【図24C】本実施形態を示す文書処理装置における文書編集処理を説明する概略図である。
【図25】本実施形態を示す情報処理装置におけるテキストオブジェクトの論理ページの例を示す図である。
【図26】本実施形態を示す情報処理装置で処理可能なテキストオブジェクトのデータ構造を示す図である。
【図27】本実施形態を示す文書処理装置における第7のデータ処理装置を示すフローチャートである。
【図28】本実施形態を示す文書処理装置における第8のデータ処理装置を示すフローチャートである。
【図29A】本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【図29B】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29C】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29D】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図29E】図28に示した指標オブジェクト探索処理の一例を説明する図である。
【図30】本実施形態を示す情報処理装置における指標オブジェクトと同調オブジェクトのデータ構造の関係を示す図である。
【図31】本実施形態を示す文書処理装置における第9のデータ処理装置を示すフローチャートである。
【図32】図2に示すCRTに表示されるユーザインタフェースを含む文書編集の一例を示す図である。
【図33】本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【図34】本実施形態を示す情報処理装置における強調設定されるテキストオブジェクトの状態を示す図である。
【図35】本実施形態を示す文書処理装置における第10のデータ処理装置を示すフローチャートである。
【図36】本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【図37】本実施形態を示す情報処理装置におけるオブジェクト位置変更処理状態を説明する図である。
【図38A】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図38B】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図39】本実施形態を示す情報処理装置におけるオブジェクト編集状態を示す図である。
【図40A】本実施形態を示す文書処理装置における第11のデータ処理装置を示すフローチャートである。
【図40B】本実施形態を示す文書処理装置における第12のデータ処理装置を示すフローチャートである。
【図40C】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図40D】本実施形態を示す情報処理装置におけるオブジェクト編集処理状態を説明する図である。
【図41】本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【図42】本実施形態を示す情報処理装置における同調フィールドの移動処理の状態を示す図である。
【図43】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図44】本実施形態を示す文書処理システムにおける可変印刷のページレイアウト例を示す図である。
【図45A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図45B】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図46A】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図46B】図2に示すCRTに表示されるユーザインタフェースの一例を示す図である。
【図47】本実施形態を示す文書処理装置における文書処理状態を説明する図である。
【図48】本実施形態を示す文書処理装置における第13のデータ処理手順の一例を示すフローチャートである。
【図49】本発明に係る文書処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【0453】
1607 テキストオブジェクト
3301、3901 同調オブジェクト
3302、3902 指標オブジェクト
2901 テキストのベースライン
【特許請求の範囲】
【請求項1】
複数のオブジェクトを配置して文書編集を行う文書処理装置であって、
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成手段と、
前記作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索手段と、
前記探索手段により探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理手段と、
を有することを特徴とする文書処理装置。
【請求項2】
前記同調処理手段により同調処理されるオブジェクトに特定の強調設定を行う強調設定手段と、
前記強調設定手段による前記特定の強調設定に基づいて、前記同調フィールドのサイズを調整するフィールドサイズ調整手段と、
を有することを特徴とする請求項1記載の文書処理装置。
【請求項3】
前記同調フィールドの配置位置を前記ページ内で移動させる第1の移動手段を備え、
前記第1の移動手段による前記同調フィールドの移動後、前記同調処理手段は、前記探索手段により再探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映することを特徴とする請求項1記載の文書処理装置。
【請求項4】
前記指標オブジェクトを前記ページ内で移動させる第2の移動手段を備え、
前記同調処理手段は、前記第2の移動手段による前記指標オブジェクトの移動に従って、前記指標オブジェクトに対応する前記同調フィールドを合わせて移動することを特徴とする請求項1記載の文書処理装置。
【請求項5】
前記指標オブジェクトの属性を変更する変更手段を備え、
前記同調処理手段は、前記変更手段による前記指標オブジェクトの属性が変更された場合に、変更された前記指標オブジェクトの属性に合わせて、対応する前記同調フィールドの属性を変更することを特徴とする請求項1記載の文書処理装置。
【請求項6】
前記オブジェクトは、テキストオブジェクトであることを特徴とする請求項1〜5のいずれか1項に記載の文書処理装置。
【請求項7】
前記探索手段は、前記作成された同調フィールドから最も近い距離に配置されているオブジェクトを前記指標オブジェクトとして探索することを特徴とする請求項1記載の文書処理装置。
【請求項8】
複数のオブジェクトを配置して文書編集を行う文書処理装置における文書処理方法であって、
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成ステップと、
前記同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索ステップと、
前記探索ステップにより探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理ステップと、
を有することを特徴とする文書処理方法。
【請求項9】
請求項8に記載の文書処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
複数のオブジェクトを配置して文書編集を行う文書処理装置であって、
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成手段と、
前記作成された同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索手段と、
前記探索手段により探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理手段と、
を有することを特徴とする文書処理装置。
【請求項2】
前記同調処理手段により同調処理されるオブジェクトに特定の強調設定を行う強調設定手段と、
前記強調設定手段による前記特定の強調設定に基づいて、前記同調フィールドのサイズを調整するフィールドサイズ調整手段と、
を有することを特徴とする請求項1記載の文書処理装置。
【請求項3】
前記同調フィールドの配置位置を前記ページ内で移動させる第1の移動手段を備え、
前記第1の移動手段による前記同調フィールドの移動後、前記同調処理手段は、前記探索手段により再探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映することを特徴とする請求項1記載の文書処理装置。
【請求項4】
前記指標オブジェクトを前記ページ内で移動させる第2の移動手段を備え、
前記同調処理手段は、前記第2の移動手段による前記指標オブジェクトの移動に従って、前記指標オブジェクトに対応する前記同調フィールドを合わせて移動することを特徴とする請求項1記載の文書処理装置。
【請求項5】
前記指標オブジェクトの属性を変更する変更手段を備え、
前記同調処理手段は、前記変更手段による前記指標オブジェクトの属性が変更された場合に、変更された前記指標オブジェクトの属性に合わせて、対応する前記同調フィールドの属性を変更することを特徴とする請求項1記載の文書処理装置。
【請求項6】
前記オブジェクトは、テキストオブジェクトであることを特徴とする請求項1〜5のいずれか1項に記載の文書処理装置。
【請求項7】
前記探索手段は、前記作成された同調フィールドから最も近い距離に配置されているオブジェクトを前記指標オブジェクトとして探索することを特徴とする請求項1記載の文書処理装置。
【請求項8】
複数のオブジェクトを配置して文書編集を行う文書処理装置における文書処理方法であって、
ページに配置されているいずれかのオブジェクトの属性に合わせてオブジェクトを配置するための同調フィールドを作成する作成ステップと、
前記同調フィールドに対して前記属性を合わせる対象となる指標オブジェクトを前記ページ内から探索する探索ステップと、
前記探索ステップにより探索される指標オブジェクトの属性と、前記指標オブジェクトの配置位置とを、前記同調フィールドに入力されるオブジェクトの属性、及び配置位置に反映する同調処理ステップと、
を有することを特徴とする文書処理方法。
【請求項9】
請求項8に記載の文書処理方法をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24A】
【図24B】
【図24C】
【図25】
【図26】
【図27】
【図28】
【図29A】
【図29B】
【図29C】
【図29D】
【図29E】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38A】
【図38B】
【図39】
【図40A】
【図40B】
【図40C】
【図40D】
【図41】
【図42】
【図43】
【図44】
【図45A】
【図45B】
【図46A】
【図46B】
【図47】
【図48】
【図49】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24A】
【図24B】
【図24C】
【図25】
【図26】
【図27】
【図28】
【図29A】
【図29B】
【図29C】
【図29D】
【図29E】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38A】
【図38B】
【図39】
【図40A】
【図40B】
【図40C】
【図40D】
【図41】
【図42】
【図43】
【図44】
【図45A】
【図45B】
【図46A】
【図46B】
【図47】
【図48】
【図49】
【公開番号】特開2009−176068(P2009−176068A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−14191(P2008−14191)
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願日】平成20年1月24日(2008.1.24)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]