(57)【特許請求の範囲】
【請求項１】
文書中の各文字列の出力位置を示す複数の文字列領域を定義するための文書レイアウト情報を記憶するレイアウト記憶手段と、
前記文書レイアウト情報によって定義されている各文字列領域を再配置するために、当該文書全体の配置範囲の大きさに関する情報および各文字列領域間の空白の大きさに関する情報を含む再配置制御情報を記憶する制御情報記憶手段と、
前記文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域の大きさが変更されたか否かを判別する判別手段と、
この判別手段によっていずれかの文字列領域の大きさが変更されたことが判別された際に、前記制御情報記憶手段から再配置制御情報を読み出す読出手段と、
この読出手段によって読み出された再配置制御情報と前記変更される文字列領域の大きさとに基づいて各文字列領域を再配置する場合に、前記文書レイアウト情報に定義されている元の各文字列領域間の空白比率が保たれるように当該各領域間を調整することにより各文字列領域を再配置する再配置手段とを具備したことを特徴とする文書データ処理装置。
【請求項２】
前記制御情報記憶手段は、各文字列領域間毎にその領域間の空白係数を再配置制御情報として記憶し、
前記再配置手段は、前記変更される文字列領域の大きさを参照して各領域間スペースの合計値を求め、このスペース合計値に前記領域間の空白係数を乗算して各領域間毎に新たな領域間スペースを求め、この領域間スペースに基づいて各文字列領域を再配置するようにしたことを特徴とする請求項１記載の文書データ処理装置。
【請求項３】
前記判別手段はいずれかの文字列領域内に配置すべき文字列データが指定された際に、この文字列のデータ構成を解析し、この解析結果に応じて当該領域の大きさが変更されるか否かを判別するようにしたことを特徴とする請求項１記載の文書データ処理装置。
【請求項４】
前記文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域を編集対象領域として指定する領域指定手段と、
この領域指定手段によって指定された文字列領域内の文字列を編集する編集手段とを設け、
前記判別手段は前記編集手段によって編集された文字列の編集状態にしたがって当該文字列領域の大きさが変更されるか否かを判別するようにしたことを特徴とする請求項１記載の文書データ処理装置。
【請求項５】
コンピュータに対して、
文書中の各文字列の出力位置を示す複数の文字列領域を定義するための文書レイアウト情報を記憶管理すると共に、前記文書レイアウト情報によって定義されている各文字列領域を再配置するために、当該文書全体の配置範囲の大きさに関する情報および各文字列領域間の空白の大きさに関する情報を含む再配置制御情報を記憶管理する機能と、
文書中の各文字列の出力位置を示す複数の文字列領域を定義するための文書レイアウト情報を参照し、この文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域の大きさが変更されたか否かを判別する機能と、
いずれかの文字列領域の大きさが変更されたことが判別された際に、各文字列領域を再配置するための再配置制御情報を読み出す機能と、
読み出された再配置制御情報と前記変更される文字列領域の大きさとに基づいて各文字列領域を再配置する場合に、前記文書レイアウト情報に定義されている元の各文字列領域間の空白比率が保たれるように当該各領域間を調整することにより各文字列領域を再配置する機能を実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、予め設定されている文書レイアウト情報にしたがって文書データを配置する文書データ処理装置およびそのプログラム記録媒体に関する。
【０００２】
【従来の技術】
一般に、ワードプロセッサやパーソナルコンピュータ等の文書データ処理装置においては、葉書、名刺、表彰状等の文書の種類に対応付けてその文書レイアウト情報が予めシステム登録されており、その中から任意の種類の文書レイアウト情報を選択して呼び出し、この文書レイアウト情報に定義されている複数の文字列領域に対応付けて文字列データを配置することによって目的とする葉書や名刺、表彰状等を効率良く作成するようにしている。
この場合、各文字列領域内に配置される文字列データは、対応する領域の大きさによって規制されるため、その領域を越えるような文字列データを配置する場合には、文字の大きさを小さくしたり、領域の大きさを拡大する必要があり、逆に、領域の大きさが文字列に比べて大き過ぎるような場合には、文字サイズを大きくしたり、領域の大きさを小さくする必要があった。また、文字列領域の大きさを変更した場合には、文書全体の領域間のバランスが崩れるため、それに応じて他の領域の配置位置を移動するようにしていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、このような編集作業は、文書全体の配置状態を考慮して行わなければならず、試し印刷を何回も繰り返しながら文字サイズ、領域サイズを変更したり、あるいは領域間スペースを調整することは、極めて面倒でユーザに大きな負担をかけるという問題があった。
この発明の課題は、文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても文書全体の領域間のバランスを崩さずに各領域を見た目良く再配置できるようにすることである。
【０００４】
【課題を解決するための手段】
請求項１記載の発明は、文書中の各文字列の出力位置を示す複数の文字列領域を定義するための文書レイアウト情報を記憶するレイアウト記憶手段と、前記文書レイアウト情報によって定義されている各文字列領域を再配置するために、当該文書全体の配置範囲の大きさに関する情報および各文字列領域間の空白の大きさに関する情報を含む再配置制御情報を記憶する制御情報記憶手段と、前記文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域の大きさが変更されたか否かを判別する判別手段と、この判別手段によっていずれかの文字列領域の大きさが変更されたことが判別された際に、前記制御情報記憶手段から再配置制御情報を読み出す読出手段と、この読出手段によって読み出された再配置制御情報と前記変更される文字列領域の大きさとに基づいて各文字列領域を再配置する場合に、前記文書レイアウト情報に定義されている元の各文字列領域間の空白比率が保たれるように当該各領域間を調整することにより各文字列領域を再配置する再配置手段とを具備したことを特徴とする文書データ処理装置である。
さらに、コンピュータに対して、上述した請求項１記載の発明に示した主要機能を実現させるためのプログラムを提供する（請求項５記載の発明）。
なお、請求項１記載の発明は次のようなものであってもよい。
(1)前記制御情報記憶手段は、各文字列領域間毎にその領域間の空白係数を再配置制御情報として記憶し、前記再配置手段は、前記変更される文字列領域の大きさを参照して各領域間スペースの合計値を求め、このスペース合計値に前記領域間の空白係数を乗算して各領域間毎に新たな領域間スペースを求め、この領域間スペースに基づいて各文字列領域を再配置する（請求項２記載の発明）。
(2)前記判別手段はいずれかの文字列領域内に配置すべき文字列データが指定された際に、この文字列のデータ構成を解析し、この解析結果に応じて当該領域の大きさが変更されるか否かを判別する（請求項３記載の発明）。
(3)前記文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域を編集対象領域として指定する領域指定手段と、この領域指定手段によって指定された文字列領域内の文字列を編集する編集手段とを設け、前記判別手段は前記編集手段によって編集された文字列の編集状態にしたがって当該文字列領域の大きさが変更されるか否かを判別する（請求項４記載の発明）。
【０００５】
請求項１記載の発明によれば、文書中の各文字列の出力位置を示す複数の文字列領域を定義するための文書レイアウト情報が記憶管理されていると共に、前記文書レイアウト情報によって定義されている各文字列領域を再配置するために、当該文書全体の配置範囲の大きさに関する情報および各文字列領域間の空白の大きさに関する情報を含む再配置制御情報が記憶管理されている状態において、文書レイアウト情報を参照し、この文書レイアウト情報によって定義されている各文字列領域のうちいずれかの領域の大きさが変更されたことが判別された際に、各文字列領域を再配置するための再配置制御情報を読み出すと共に、この再配置制御情報と前記変更される文字列領域の大きさとに基づいて各文字列領域を再配置する場合に、元の各文字列領域間の空白比率が保たれるように当該各領域間を調整することにより各文字列領域を再配置するようにしたから、文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても文書全体の領域間のバランスを崩さずに各領域を見た目良く再配置することができる。
【０００６】
【発明の実施の形態】
（第１実施形態）
以下、図１〜図５を参照してこの発明の第１実施形態を説明する。
図１（Ａ）は文書データ処理装置の全体構成を示したブロック図である。
ＣＰＵ１はＲＡＭ２内にロードされている各種プログラムにしたがってこの文書データ処理装置の全体動作を制御する中央演算処理装置である。記憶装置３はオペレーティングシステムや各種アプリケーションプログラム、データファイル、文字フォントデータ等が予め格納されている記憶媒体４やその駆動系を有している。この記憶媒体４は固定的に設けたもの、もしくは着脱自在に装着可能なものであり、フロッピーディスク、ハードディスク、光ディスク、ＲＡＭカード等の磁気的・光学的記憶媒体、半導体メモリによって構成されている。また、記憶媒体４内のプログラムやデータは、必要に応じてＣＰＵ１の制御により、ＲＡＭ２にロードされる。更に、ＣＰＵ１は通信回線等を介して他の機器側から送信されて来たプログラム、データを受信して記憶媒体４に格納したり、他の機器側に設けられている記憶媒体に格納されているプログラム、データを通信回線等を介して使用することもできる。
【０００７】
そして、ＣＰＵ１にはその入出力周辺デバイスである入力装置５、表示装置６、印刷装置７がバスラインを介して接続されており、入出力プログラムにしたがってＣＰＵ１はそれらの動作を制御する。入力装置５は文字列データ等を入力したり、各種コマンドを入力するキーボード、マウス等のポインティングデバイスを有している。ここで、文書作成時に入力装置５から文字列データが入力されると、表示装置６のテキスト画面に表示出力されると共に、かな漢字変換によって確定された確定文字列は、ＲＡＭ２内に格納される。なお、表示装置６は多色表示を行う液晶表示装置やＣＲＴ表示装置あるいはプラズマ表示装置等であり、また印刷装置７はフルカラープリンタ装置で、熱転写やインクジェットなどのノンインパクトプリンタあるいはインパクトプリンタである。
【０００８】
図１（Ｂ）は記憶装置３内の主要ファイルを示したもので、レイアウト情報ファイルＲＴＦは葉書、名刺、表彰状等の文書の種類に対応付けてその文字列配置を定義する文書レイアウト情報を記憶する。ここで、文書レイアウト情報は文書中の各文字列の出力位置を示す複数の文字列領域を定義するもので、レイアウト情報ファイルＲＴＦにはこの文書レイアウト情報に対応付けて各文字列領域を再配置するための再配置制御情報も格納されている。なお、このレイアウト情報ファイルＲＴＦの内容は予めシステム登録あるいはユーザ登録されたもので、文書作成時や編集時に任意に指定された種類の文書レイアウト情報が呼び出されて表示出力される。デフォルト文字列ファイルＤＦＦは文書レイアウト情報に定義されている各文字列領域内にデフォルトデータとして配置される文字列を各領域に対応付けて記憶するもので、文書レイアウト情報の呼出し時にそれに対応する各文字列データがデフォルト文字列ファイルＤＦＦから読み出されて対応する文字列領域内に配置表示される。このデフォルト文字列は予めシステム登録あるいはユーザ登録されたもので、文書の新規作成時に文書レイアウト情報にしたがって配置表示される。この場合、文書の新規作成時にデフォルト文字列をそのまま確定文字列とするか、デフォルト文字列を任意に編集して確定文字列とするかは任意であり、文字列の確定が指示されると、その確定文字列は文書レイアウト情報と共に文書ファイルＴＸＦに登録保存される。この文書ファイルＴＸＦは文書レイアウト情報に対応付けて文書データを記憶するもので、その内容を編集する際には、文書レイアウト情報と共に文書データが読み出されて表示出力され、またその編集結果は文書レイアウト情報と共に文書ファイルＴＸＦに登録保存される。
【０００９】
図２はレイアウト情報ファイルＲＴＦの内容を示したもので、図（Ａ）に示すように、レイアウト情報ファイルＲＴＦは、文書の種類に対応付けられているレイアウト識別番号が記憶されていると共に、このレイアウト識別番号毎に、レイアウト名の他、文書レイアウト情報および再配置制御情報を記憶する構成となっている。文書レイアウト情報は、文書中の各文字列の出力位置を示す複数の文字列領域毎に、その位置座標、行方向サイズ、縦方向サイズを定義するもので、図示の例では４つの文字列領域（１）、（２）、（３）、（４）が定義されている場合を示し、また図示の「Ｗ１」「Ｗ２」、「Ｗ３」「Ｗ４」は、各領域に対応する行方向サイズを示している。また、再配置制御情報はレイアウト識別番号に対応付けられているもので、全体配置範囲行方向サイズＸ０、各領域間空白係数ＳＰ１、ＳＰ２、ＳＰ３……ＳＰｎとから成る。すなわち、全体配置範囲行方向サイズＸ０は図３（Ｂ）に示すように文書全体の配置範囲の大きさを示す行方向サイズである。なお、図示の例は、「表彰状」のレイアウトを示している。領域間空白係数ＳＰ１は図示のように右端から領域（１）までの間の空白に対応付けられた空白係数であり、領域間空白係数ＳＰ２は領域（１）、（２）間、領域間空白係数ＳＰ３は領域（２）、（３）間、領域間空白係数ＳＰ４は領域（３）、（４）間、領域間空白係数ＳＰ５は領域（４）から左端までの空間に対応付けられた空白係数を示している。ここで、再配置制御情報はいずれかの文字列領域に対する文字の増減によってその領域の大きさが変更される場合に、変更される領域の大きさに応じて他の全ての文字列領域を再配置する際に使用されるもので、ＣＰＵ１は文書レイアウト情報に定義されている元の各文字列領域間の空白比率を保ちながら領域間を調整することにより各文字列領域を再配置するようにしている。
【００１０】
次に、この文書データ処理装置の動作を図４および図５に示すフローチャートにしたがって説明する。ここで、これらのフローチャートに記述されている各機能を実現するためのプログラムは、ＣＰＵ１が読み取り可能なプログラムコードの形態で記憶媒体４に記憶されており、その内容がＲＡＭ２にロードされている。なお、後述する他の実施形態におけるフローチャートにおいても同様である。図４は文書レイアウト情報にしたがって文字列データを配置したり、再配置する際の動作を示したフローチャートである。
いま、図３（Ａ）に示すようなレイアウト構成の文書「表彰状」をユーザが任意に編集するものとする。ここで、編集モードを指定すると、ＣＰＵ１はレイアウト情報ファイルＲＴＦからレイアウト名をそれぞれ読み出してそれを選択候補名として一覧表示させると共に、その中から任意のレイアウト名が選択指定されると、このレイアウト名に対応する文書レイアウト情報をレイアウト情報ファイルＲＴＦから読み出し、この文書レイアウト情報（各文字列領域毎の位置座標、行方向サイズ、桁方向サイズ）を参照しながら各文字列領域を所定位置にそれぞれ配置表示させる（ステップＡ１）。そして、ＣＰＵ１は選択指定されたレイアウトに基づいてデフォルト文字列ファイルＤＦＦを検索することにより該当するデフォルト文字列を読み出し（ステップＡ２）、対応する文字列領域内に配置する（ステップＡ３）。図３（Ａ）はこの場合の表示状態を示した表示例であり、図中、丸印は空白を示している。なお、２列目の文字列領域は実際には２つの領域に区分されているが、それらの行方向サイズが同一のため、以下、１つの領域としてみなすようにしている。
【００１１】
このようなデフォルト文書がレイアウト表示されている状態において、機能選択の入力待ちとなる（ステップＡ４）。ここで、選択機能とは文字列編集機能、領域位置変更機能、領域拡大／縮小機能等であり、その中から任意の機能を選択する。いま、領域位置変更機能や領域拡大／縮小機能が選択されたものとすると、ステップＡ１０に進み、その他の機能処理が行われる。すなわち、任意の領域を選択指定すると共に、その配置位置（移動位置）を指定すると、その領域はその内部の文字列と共に指定位置に移動表示され、また、任意に選択指定された領域に対して拡大／縮小が指示されるとそれに応じて領域の大きさが変更される。このような機能処理が行われると、ステップＡ１５に進み、終了指示の有無を調べ、終了指示が無ければステップＡ４に戻り、機能選択待ちとなる。ここで、領域内の文字列データを任意に編集するために文字列編集機能を選択すると、ステップＡ５でそのことが検出されてステップＡ６に進み、編集対象となる領域の選択待ちとなる。ここで、文書レイアウト情報によって定義されている各文字列領域のうち任意の領域をポイント指定して編集対象領域を選択すると、選択領域と共にその内部に配置されている文字列データが読み出されて入力ウインドウにコピー表示されると共に（ステップＡ７）、選択領域に対応する文書レイアウト情報内の行方向サイズおよび桁方向サイズが当該領域の大きさを特定するためのデータとして抽出される（ステップＡ８）。
【００１２】
この状態において、選択領域内の文字列データに対して文字の修正、追加、削除等の文字列編集がキー入力によって行われると、入力ウインドウ上の文字列データはそれに応じて編集される（ステップＡ９）。すると、ステップＡ１１に進み、文字の追加・削除が行われたかを調べ、文字数の増減を伴わない文字修正であれば、ステップＡ１７に進み、入力ウインドウ上の編集結果を元の領域に転送表示させ、その内容を書き替え、また、文字の追加／削除が行われても領域内の行数の増減を伴なわないときにはステップＡ１２でそのことが検出されてステップＡ１７に進み、編集結果を元の領域に転送表示させる。この場合、行数の増減はステップＡ８で抽出した行方向サイズ、桁方向サイズを参照することによって行われる。そして、ステップＡ１５に進み、終了指示が有ったかを調べ、無ければ、ステップＡ４に戻り、機能選択待ちとなる。いま、文字列編集において、文字の追加／削除によって領域内の行数が増減する場合には、ステップＡ１１、Ａ１２でそのことが検出されてステップＡ１３に進み、行数が所定限度以上（例えば３行以上）増加されるかを調べ（ステップＡ１３）、所定限度以上の増大であれば、入力エラーとしてその旨がメッセージ表示されるが（ステップＡ１６）、所定限度未満の増大であれば、領域拡大を許可して領域再配置処理に進む（ステップＡ１４）。なお、「所定限度以上」は文書レイアウト情報毎に予め決められているもので、そのレイアウト構造によっては２行以上、あるいは４行以上等であってもよい。
【００１３】
図５は図４の領域再配置処理（ステップＡ１４）を示したフローチャートである。
先ず、編集対象の文字列領域に対応して設定されている行方向サイズを文書レイアウト情報から読み出し、この設定行方向サイズと文字列編集によって増減された行数とに基づいて当該領域の新たな行方向サイズを算出する（ステップＢ１）。この場合、予め決められている１行分の行方向サイズを設定行方向サイズに加算／減算することによって新たな行方向サイズを求めるようにしているが、その算出の方法は任意であり、文字列編集によって行方向に増減された変位量に基づいて新たな行方向サイズを求めるものであればよい。次に、編集対象の領域を除く他の全ての文字列領域毎に設定されている設定行方向サイズをそれぞれ読み出す（ステップＢ２）。そして、ステップＡ１で算出された新たな行方向サイズとステップＡ２で読み出された各設定行方向サイズをそれぞれ加算することによって総行方向領域サイズを算出する（ステップＢ３）。すなわち、総行方向領域サイズは基本的には各領域毎の行方向サイズＸ１、Ｘ２、Ｘ３、Ｘ４……の和となるが、文字列編集によってそのいずれかの領域の行方向サイズが変動した場合には、その設定行方向サイズに代えて変動後の新たな行方向サイズが加算される。いま、図３において文字列領域（３）のみが文字列編集によって変動される領域とした場合に、その変動後の当該領域の行方向サイズをＸ３ａとすると、総行方向領域サイズは、Ｘａ＝Ｘ１＋Ｘ２＋Ｘ３ａ＋Ｘ４によって求められる。次に、領域間総方向スペースサイズ（Ｘｂ）を算出する（ステップＢ４）。この場合、選択レイアウトに対応する再配置制御情報から全体配置範囲行方向サイズＷ０を読み出し、この全体配置範囲行方向サイズＷ０から総行方向領域サイズＷａを減算することによって領域間総方向スペースサイズＷｂを求める。そして、選択レイアウトに対応する再配置制御情報から各領域毎の領域間空白係数ＳＰ１〜ＳＰ５を読み出し、領域毎に対応する領域間空白係数ＳＰ１〜ＳＰ５と領域間総方向スペースサイズＷｂとを乗算することによって新たな領域間スペースを領域毎に算出する（ステップＢ５）。これによって算出された新たな領域間スペースは、元の領域間空白比率を保ったものとなる。
【００１４】
このようにして各文字列領域毎に求められた新たな領域間スペースＳＰ（１）、ＳＰ（２）……ＳＰ（ｎ）に基づいて各文字列領域を再配置する。すなわち、先ず、右端から最初の領域（１）までの領域間スペースＳＰ（１）を展開配置する（ステップＢ６）。そして、右端から最初の文字列領域を指定し、それは編集対象領域かを調べるが（ステップＢ７）、いま、文字列領域（３）のみを編集したものとすると、ステップＢ７で編集対象外であることが検出されるため、ステップＢ８に進み、当該文字列領域に対応する桁方向サイズ、行方向サイズを固定したまま（つまり領域の大きさを変えずに）その文字列領域を行方向に移動配置する。ここで、移動配置とは、文書レイアウト情報として設定されている位置座標を領域配置の基準点として行方向に領域を移動配置することを意味し、設定位置座標のＸ座標成分（行方向成分）のみを変化させ、Ｙ座標成分を変えないことを示している。そして、次の新たな領域間スペースＳＰ（２）を展開配置し（ステップＢ１０）、その結果、左端かを調べるが（ステップＢ１１）、いま、最初の文字列領域を配置し終った段階であるからステップＢ７に戻る。ここで、次の文字列領域も編集対象外であるため、その領域の大きさを変えずに行方向に移動配置すると共に（ステップＢ８）、次の新たな領域間スペースＳＰ（３）を展開配置する（ステップＢ１０）。そして、この場合も左端でないことが検出されるため、ステップＢ７に戻るが、いま、３番目の文字列領域は編集対象であるため、ステップＢ９に進み、桁方向を固定すると共に、行方向に拡大／縮小した新たな領域を作成して行方向に移動配置する。すなわち、桁方向を設定桁方向サイズとし、行方向をステップＢ１で算出された行方向サイズとする大きさの領域を作成して行方向に移動配置する。そして、次の新たな領域間スペースＳＰ（４）を展開したのち（ステップＢ１０）、次の文字列領域（４）を移動配置し（ステップＢ８）、最後に領域間スペースＳＰ（５）を展開配置する（ステップＢ１０）。すると、左端であることがステップＢ１１で検出されるため、ステップＢ１２に進み、再配置された各文字領域内に対応する文字列データを配置表示する。この場合、編集対象領域（３）内に配置される文字列は編集結果後の文字列となる。これによって図３（Ａ）に示すような文書データは図３（Ｂ）に示すようなレイアウト構成となる。
【００１５】
以上のようにこの文書データ処理装置においては、文書レイアウト情報にしたがって各文字列領域内に配置されている文字列データのうち、任意の領域を編集対象として選択して当該領域内の文字列データを編集した場合に、領域の大きさが行方向に変更される場合には、各領域に対応して設定されている再配置制御情報を読み出し、この再配置制御情報と編集対象文字列領域の大きさとに基づいて各文字列領域を再配置する。その際、元の各文字列領域間の空白比率を保ちながら領域間を調整することにより各文字列領域を再配置するようにしたから、文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても文書全体の領域間のバランスを崩さずに各領域を見た目良く再配置することが可能となる。この場合、再配置制御情報には各領域毎に領域間空白係数が定義されているので、この空白係数を用いて所定の演算を実行するだけで領域間の空白比率を一定にするための新たな領域間スペースを容易に得ることが可能となる。
【００１６】
（第２実施形態）
以下、図６〜図９を参照してこの発明の第２実施形態を説明する。この第２実施形態は文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても、他の文字列領域の配置位置に影響を与えずに、変更された領域を最適な位置に再配置するようにしたものである。
図６（Ａ）はこの第２実施形態におけるレイアウト情報ファイルＲＴＦ２の構成を示した図で、葉書、名刺、表彰状等の文書の種類に対応してその文字列領域を定義する文書レイアウト情報を記憶するもので、文書の種類に対応付けられているレイアウト識別番号とレイアウト名、文書レイアウト情報、領域最適化情報、最大文字ポイントを記憶する構成となっている。文書レイアウト情報は文書中の各文字列の出力位置を示す複数の文字列領域毎にその位置座標、行方向サイズ、桁方向サイズを定義するもので、図３（Ａ）の例では実線で囲まれた４つの文字列領域（１）、（２）、（３）、（４）が定義されている場合を示している。領域最適化情報は各文字列領域毎にその領域を囲む所定範囲を領域配置の変更を許容する最適な領域配置範囲を定義するもので、図３（Ａ）に示す破線で示した矩形領域はこの領域最適化情報によって定義される配置範囲を示し、この範囲内であれば、文字列領域の移動や拡大が許容される。図６（Ｂ）は領域最適化情報のデータ構造を示し、領域最適化情報は最適配置範囲を定義する位置座標、行方向サイズ、桁方向サイズの他、領域配置位置とから成る。ここで、領域配置位置は最適配置範囲内において文字列領域をどのようにして配置するかを示す配置状態を定義するもので、中央配置、下詰め配置、上詰め配置、左詰め配置、右詰め配置のうちいずれかの配置状態を定義するようにしている。最大文字ポイントは最適配置範囲内に対する最大な文字サイズを示し、ＣＰＵ１はこの最大文字ポイントを限度として文字列領域内の文字列に対する文字サイズを変更するようにしている。
【００１７】
次に、この第２実施形態の動作を図８、図９に示すフローチャートを参照して説明する。
図８は文書レイアウト情報にしたがって文字列データを配置する際の動作を示し、基本的には上述した図４のフローチャートと同様であるので、第２実施形態の特徴部分を中心に以下説明する。ステップＣ１〜Ｃ１１は図４のステップＡ１〜Ａ１１に対応する処理である。すなわち、任意の文書レイアウト情報が選択されると、その各文字列領域内にデフォルト文字列が配置されて表示出力される（ステップＣ１〜Ｃ３）。ここで、文字列編集が選択されると共に任意の文字列領域が選択されると（ステップＣ４〜Ｃ６）、文字列編集が可能となり、文字列編集が行われると（ステップＣ６〜Ｃ９）、文字の追加／削除が判断される（ステップＣ１１）。ここで、文字追加／削除であれば、ステップＣ１２に進む。ステップＣ１２は文字列編集によって文字列領域内の文字列の行あるいは桁数が増減されたかを調べるもので、この第２実施形態においては行方向の他に桁方向の増減もチェックするようにしている。ここで、行／桁が増減される場合は、ステップＣ１３に進み、領域再配置処理が行われる。なお、文字列編集が文字追加／削除ではなく文字修正の場合であったり、行／桁の増減を伴わない編集である場合にはステップＣ１５に進み、編集結果を元の領域に転送表示させる。そして、ステップＣ１４は終了指示があったかを調べ、終了指示があるまでステップＣ１４に戻り、上述の動作が繰り返される。
【００１８】
図９は図８のステップＣ１３（領域再配置処理）を示したフローチャートである。
先ず、編集後の領域内の文字列を解析して行単位毎に桁数をカウントしてその最大桁数を求めると共に、行数を求める（ステップＤ１）。そして、選択領域（編集対象の文字列領域）に対応する領域最適化情報を読み出し、この領域最適化情報によって定義されている最適配置範囲をステップＤ１で求められた最大行数および桁数に基づいてマトリックス状に分割し、その１マスサイズを１文字サイズとして算出する（ステップＤ３）。これによって求められた１文字サイズの横幅を最大行ピッチＭＬとしてＲＡＭ２内のワークメモリ（図示せず）にセットすると共に、その縦幅を最大桁ピッチＭＣとしてワークメモリにセットする（ステップＤ４）。そして、選択領域に対応する最大文字ポイントを読み出してポイント数Ｐとしてワークメモリにセットする（ステップＤ５）。この状態においてＰ≦ＭＣ（ステップＤ６）、Ｐ≦ＭＬ（ステップＤ７）が、つまり、ポイント数Ｐで示される文字サイズが最大行ピッチＭＬ、最大桁ピッチＭＣ内に収まっているかを調べ、収まっていなければポイント数Ｐの値から「１」を減算してポイント数を下げる（ステップＤ７）。そして、再びステップＤ５、Ｄ６に戻り、Ｐ≦ＭＣ、Ｐ≦ＭＬを調べ、その条件が成立するまでポイント数Ｐをマイナス１ずつ下げてゆく。これによってＰ≦ＭＣ、Ｐ≦ＭＬが成立すると、ステップＤ８に進み、確定したポイント数Ｐの値より行ピッチ、桁ピッチを求め、この行ピッチ、桁ピッチをステップＤ１で求めた最大桁数と行数と基づいて新たな領域の大きさを求めて領域サイズを確定する。そして、領域最適化情報に定義されている領域配置位置にしたがって最適化配置範囲内にステップＤ４で確定された大きさの文字列領域を配置する。これによって、文字列領域はその定義内容にしたがって最適化配置範囲内に中央配置、下詰め配置等のように予め決められた位置に配置される。そして、この文字列領域内に編集結果の文字列データを配置表示する（ステップＤ１０）。図７（Ｂ）は文字列領域（３）内の文字列が１行分増加した場合にその文字サイズを小さくすることによって文字列領域がその最適化配置範囲内に収まるように配置されると共に、この文字列領域が最適化配置範囲内に中央配置された再配置後の表示内容を示している。
【００１９】
以上のようにこの第２実施形態における文書データ処理装置においては、文書レイアウト情報にしたがって各文字列領域内に配置されている文字列データのうち、任意の領域を編集対象として選択して当該領域内の文字列データを編集した場合に、領域の大きさが行方向あるいは桁方向に変更される場合には、レイアウト情報ファイルＲＴＦ２から変更対象の領域に対応する領域最適化情報を読み出す。そして、領域最適化情報を参照し、変更対象の文字列データが最適配置範囲を越えないように変更対象領域内の文字列に対する文字サイズを変更すると共に、変更された文字サイズと変更対象の領域内に配置される文字列の行数、桁数とに基づいて当該領域の大きさを変更する。これによって変更された文字列領域を当該領域に対応付けられている最適な領域配置範囲内に再配置するようにしたから、文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても、他の文字列領域の配置位置に影響を与えずに、変更された領域を最適な位置に再配置することができる。ここで、文字列サイズを変更する際には、変更対象領域内の文字列データを解析してその行数および最大桁数を求め、この行数および桁数に基づいて最適な領域配置範囲をマトリックス状に分割することによって１マスサイズを求め、予め当該配置範囲に対応付けて設定されている最大文字ポイントと１マスサイズとを比較し、１マスサイズに収まるように最大文字ポイントを順次下げてゆくことにより文字サイズを変更するようにしたから、最適な文字サイズを簡単に得ることが可能となる。
【００２０】
なお、上述した各実施形態においては文書レイアウト情報に定義されている文字列領域内にデフォルト文字列を配置したのち、任意の文字列領域を編集対象として選択指定して当該領域内の文字列データを変更するようにしたが、各文字列領域にデフォルト文字列を配置しておかず、任意の文字列を入力して配置するようにしてもよい。この場合においても各文字列領域内に配置される文字列に応じて文字列領域の大きさが変更される場合には、それに応じて領域の再配置処理が行われる。
また、各実施形態においては、文字列領域内に配置される文字列データを編集することにより領域の大きさが変更される場合として、文字の追加、削除を例に挙げたが、文字サイズ、桁ピッチ、行ピッチの書式変更によって領域の大きさが変更される場合であっても再配置処理を行うようにしてもよい。
また、上述した第１実施形態は行方向の領域間スペースを調整して再配置するようにしたが、桁方向の領域間スペースを調整して再配置するようにしてもよい。
【００２１】
【発明の効果】
この発明によれば、文書レイアウト情報に定義されているいずれかの文字列領域の大きさが変更されても文書全体の領域間のバランスを崩さずに各領域を見た目良く再配置することができる。したがって、従来のように編集作業によって文字サイズ、領域サイズを変更したり、領域間スペースを調整するという面倒な作業が不要となり、ユーザの負担を大幅に軽減することが可能となる。
【図面の簡単な説明】
【図１】（Ａ）は文書データ処理装置の全体構成を示したブロック図、（Ｂ）は記憶装置３内の主要ファイルを示した図。
【図２】（Ａ）はレイアウト情報ファイルＲＴＦの構成を示した図、（Ｂ）はレイアウト情報ファイルＲＴＦ内の各種データを説明するための図。
【図３】文書レイアウト情報にしたがって複数の文字列領域に対応する文字列が配置された表示状態を示した文書表示例で、（Ａ）はデフォルト文字列が各文字列領域に配置された初期状態の表示例、（Ｂ）は文字列領域（３）内の文字列を編集することによって各文字列領域が再配置された後の表示例を示した図。
【図４】文書レイアウト情報にしたがって文字列データを配置する際の動作を示したフローチャート。
【図５】図４のステップＡ１４（領域再配置処理）を説明するためのフローチャート。
【図６】第２実施形態において、（Ａ）はレイアウト情報ファイルＲＴＦ２の構成を示した図、（Ｂ）はレイアウト情報ファイルＲＴＦ２内の領域最適化情報のデータ構造を示した図。
【図７】第２実施形態において、文書レイアウト情報にしたがって複数の文字列領域に対応する文字列が配置された表示状態を示した文書表示例で、（Ａ）はデフォルト文字列が各文字列領域に配置された初期状態の表示例、（Ｂ）は文字列領域（３）内の文字列を編集することによって各文字列領域が再配置された後の表示例を示した図。
【図８】文書レイアウト情報にしたがって文字列データを配置する際の動作を示したフローチャート。
【図９】図８のステップＣ１３（領域再配置処理）を説明するためのフローチャート。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  記憶装置
４  記憶媒体
５  入力装置
６  表示装置
７  印刷装置
ＲＴＦ  レイアウト情報ファイル
ＤＦＦ  デフォルト文字列ファイル
ＴＸＦ  文書ファイル
ＳＰ１〜ＳＰ５  領域間空白係数
【図１】
0003721766.tif 000002
【図２】
0003721766.tif 000003
【図３】
0003721766.tif 000004
【図４】
0003721766.tif 000005
【図５】
0003721766.tif 000006
【図６】
0003721766.tif 000007
【図７】
0003721766.tif 000008
【図８】
0003721766.tif 000009
【図９】
0003721766.tif 000010