(57)【特許請求の範囲】
【請求項１】
複数の文字領域を含む文書を処理するための文書処理装置であって、
前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段と、
前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段と、を備え、
前記検出手段は、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする文書処理装置。
【請求項２】
複数の文字領域を含む文書を処理するための文書処理装置であって、
前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段と、
前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段と、を備え、
前記検出手段は、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする文書処理装置。
【請求項３】
前記一の文字領域として設定された相互に接して配置された文字領域間の境界部分に文字を配置する配置手段を備えたことを特徴とする請求項１又は２に記載の文書処理装置。
【請求項４】
前記検出手段は、相互に接して配置された文字領域のうち、該文字領域間の境界に沿って余白が設定されていない文字領域を検出することを特徴とする請求項１乃至３のいずれか１項に記載の文書処理装置。
【請求項５】
複数の文字領域を含む文書を処理するためにコンピュータが実行する文書処理方法であって、
検出手段が、前記文字領域のうち、相互に接して配置された文字領域を検出する検出工程と、
設定手段が、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定工程と、
を含み、
前記検出工程では、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする文書処理方法。
【請求項６】
複数の文字領域を含む文書を処理するためにコンピュータが実行する文書処理方法であって、
検出手段が、前記文字領域のうち、相互に接して配置された文字領域を検出する検出工程と、
設定手段が、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定工程と、
を含み、
前記検出工程では、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする文書処理方法。
【請求項７】
複数の文字領域を含む文書を処理するために、コンピュータを、
前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段、
前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段、
として機能させるプログラムを記録した記録媒体であって、
前記検出手段は、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする記録媒体。
【請求項８】
複数の文字領域を含む文書を処理するために、コンピュータを、
前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段、
前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段、
として機能させるプログラムを記録した記録媒体であって、
前記検出手段は、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字、図形、写真等を含む文書を処理するための文書処理装置および文書処理方法に関する。
【０００２】
【従来の技術】
ワープロ等の文書処理装置では、文書の多様なレイアウトを実現するために、文書中に、文字、図形、写真等が区分けして表される複数の領域を設定することが提案されている。このような領域は、通常、矩形状の枠として表され、その領域単位で移動、編集、書式の設定等が可能である。
【０００３】
一方、係る領域のうち、特に、文字が入力される領域（以下、文字領域という。）については、ある文字領域に対して、その許容範囲を超える文字数が入力された場合等に、別の文字領域にその余剰の文字を継承させる技術（リンキング方式）が提案されている（例えば、特開昭６２−３１４７０）。
【０００４】
このリンキング方式によれば、ユーザは、各文字領域で許容される文字数に注意を払うことなく、文章等の作成を行うことができるという利点がある。
【０００５】
【発明が解決しようとする課題】
しかし、係る文字領域が相互に接するように配置された場合には、その境界の前後において書式が変わる場合があり、一連の文章が係る境界に跨る場合には、その見栄えが悪く、特に、係る境界の前後で、文の行間が変わると、見苦しいという問題がある。
【０００６】
この場合、相互に接する文字領域の各々について、その境界に面する部分の余白等の大きさを変更することにより、実質的に文の行間を調整することも考えられる。例えば、図１９では、文書１９１内に文字領域１９２及び１９３と写真の領域１９４とが設定されており、文字領域１９２及び１９３が相互に上下方向に接しているが、その境界において行間が変わらないように、文字領域１９３の上の余白１９３’を調整している。しかし、このような設定を一々行っていては煩雑である。
【０００７】
従って、本発明の目的は、文字領域が相互に接する場合に、その体裁を容易に調整し得る文書処理装置及び文書処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明によれば、複数の文字領域を含む文書を処理するための文書処理装置であって、前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段と、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段と、を備え、前記検出手段は、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする文書処理装置が提供される。
また、本発明によれば、複数の文字領域を含む文書を処理するための文書処理装置であって、前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段と、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段と、を備え、前記検出手段は、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする文書処理装置が提供される。
【００１３】
また、本発明によれば、複数の文字領域を含む文書を処理するためにコンピュータが実行する文書処理方法であって、検出手段が、前記文字領域のうち、相互に接して配置された文字領域を検出する検出工程と、設定手段が、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定工程と、を含み、前記検出工程では、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする文書処理方法が提供される。
また、本発明によれば、複数の文字領域を含む文書を処理するためにコンピュータが実行する文書処理方法であって、検出手段が、前記文字領域のうち、相互に接して配置された文字領域を検出する検出工程と、設定手段が、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定工程と、を含み、前記検出工程では、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする文書処理方法が提供される。
【００１８】
また、本発明によれば、複数の文字領域を含む文書を処理するために、コンピュータを、前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段、として機能させるプログラムを記録した記録媒体であって、前記検出手段は、横書きの文字領域であって、上下方向に接して配置された文字領域を検出することを特徴とする記録媒体が提供される。
また、本発明によれば、複数の文字領域を含む文書を処理するために、コンピュータを、前記文字領域のうち、相互に接して配置された文字領域を検出する検出手段、前記検出された相互に接して配置された文字領域を、一の文字領域として設定する設定手段、として機能させるプログラムを記録した記録媒体であって、前記検出手段は、縦書きの文字領域であって、左右方向に接して配置された文字領域を検出することを特徴とする記録媒体が提供される。
【００１９】
【発明の実施の形態】
以下、本発明の好適な実施の形態について、添付図面を参照して説明する。
【００２０】
図1は、本発明の一実施形態に係る文書処理装置の構成を説明するブロック図である。
【００２１】
図1において、1はCRT表示装置で、編集中の文書、各種メッセージメニューなどを表示する。2はビデオRAM(VRAM)で、CRT表示装置1の画面に表示される文字、イメージを展開記憶する。3はビットムーブユニット(BMU)で、メモリ間あるいはメモリと各デバイス間のデータ転送をコントロールする。
【００２２】
4は文書編集などを行なうための各種キーを備えたキーボードであり、5は画面上のアイコンなどを指し示すためなどに用いられるポインティングデバイス(PD)である。
【００２３】
6はCPUで、ROM7に記憶された制御プログラム(文書処理に係るプログラムやエラー処理プログラム等)に基づいて本装置の 各部を制御する。8は上述した各種プログラムをCPU6が実行する時にワークエリア、エラー処理時の一時退避エリアとして用いられるRAMである。
【００２４】
9はハードディスクドライブ(HDD)、10はフロッピーディスクドライブ(FDD)をそれぞれ示し、各ディスクには後述するプログラムやデータ、ライブラリなどが保存される。11はネットワークインターフェイス(Net-I/F)を示し、他の文書処理装置との間でネットワークを経由してデータ転送を行なうためにネットワーク上のデータ制御、診断を行なう。
【００２５】
12は上述した各構成間を接続するI/Oバス(アドレスバス、データバスおよび制御バスからなる)である。
【００２６】
なお、本実施形態でROM７に記憶されているプログラムは、ハードディスク9やフロッピーディスク10などに記憶されていてもよいことはいうまでもない。さらに、ネットワークで接続されている他の装置上に記憶されていてもよいことはいうまでもない。また、プログラムは、FDやHDなどの記憶媒体やネットワークを介してこの装置に供給できることもいうまでもない。
【００２７】
次に、上記文書処理装置におけるデータ形式について説明する。
【００２８】
図２は、上記文書処理装置における、複数の文字領域を持つ文書のデータ形式の一例である。
【００２９】
係る文書データは、表示される文字列データである文書文字列データ２１、文書文字列データの段落毎に割り当てられる段落情報２２、ひとつの文書データに複数指定することが可能な文字領域情報２３を含む。
【００３０】
図３は、図２に示された文書データの内、各々の段落情報２２の一例である。３１は字間情報、３２は段落行間情報、３３は段落書体高情報、３４は段落書体幅情報である。
【００３１】
図４は、図２に示された文書データのうち、文字領域情報２３の一例である。文字配置座標情報４１は、文字領域に含まれる文字の情報であって、左上原点P、横長Dw、縦長Dhといった情報を含む。余白情報４２は、文字領域の余白の情報であって、上下左右の４つの余白の情報を含む。文字領域連結情報４３は、複数の文字領域が一つの文字領域として設定されているかに関する情報である。
【００３２】
次に、文字領域への文字の配置方法について説明する。
【００３３】
図５は、文字領域への文字列の配置の一例である。
【００３４】
図示されるように、横組の場合、左上座標Ｐと領域高Ｄｈと領域幅Ｄｗとから規定される矩形の文字領域から、上下左右の余白５０２を除いた領域に対し、文字の配置は、その左上隅より、字幅５０４及び字間５０１の距離で、順に右方へ行う。配置される文字が右端に至り、かつ、配置すべき文字が残されている場合は、行間５０３と行高５０５を合算した高さが確保される限り、次行へ進み、同様に文字の配置を繰り返す。
【００３５】
ここで、本実施形態では、文字領域が上下に接している場合、２つ以上の文字領域を一つのまとまった文字領域として扱うことを、枠マージ連結と呼ぶ。以下、枠マージ連結を行うために、複数の文字領域について枠マージ連結を行うかどうかの判断方法を説明する。図６は、枠マージ連結の態様を示した図である。
【００３６】
図６に図示されるように、２つの文字領域６１及び６２において、文字領域６１の下辺が、文字領域６２の上辺に接し、かつ、文字領域６１の下余白が０、文字領域６２の上余白が０である場合、枠マージ連結の対象となる。
【００３７】
このような枠マージ連結の対象となる例としては、他に、図７（ａ）乃至（ｄ）の態様を挙げることができる。
【００３８】
なお、文字領域６１と文字領域６２とは、文字領域６１の許容範囲を超えた文字が文字領域６２へ継承される関係にあることを想定している。
【００３９】
枠マージ連結を行うか否かの判断は、文字領域の新規作成、削除、移動、サイズ変更等が生じた場合に、その都度、全ての文字領域に関して行うことが望ましい。以下、上述した枠マージ連結の対象を判定する処理について、図８のフローチャートにより説明する。
【００４０】
文字領域のいずれかが編集等されると、係る処理が開始される。
【００４１】
ステップＳ８０１は、初期化処理であり、処理の対象となるいずれかの文字領域を特定する。
【００４２】
ステップＳ８０２では、特定された文字領域の文字領域連結情報４３（図４）をリセットする。
【００４３】
ステップＳ８０３では、特定された文字領域の余剰の文字を継承し得る文字領域（以下、継承文字領域という。）があるか否かを判定する。係る文字領域がなければ、処理は終了する。係る文字領域があれば、ステップＳ８０４へ進む。
【００４４】
ステップＳ８０４では、特定された文字領域と、継承文字領域との、余白情報４２（図４）を取得する。
【００４５】
ステップＳ８０５では、特定された文字領域の余白情報４２について、下余白が設定されているか否かを判定する。設定されていれば、枠マージ連結の対象外として、ステップＳ８０９へ進み、別の文字領域を特定して上記処理を行う。下余白が設定されていなければ、ステップＳ８０６へ進む。
【００４６】
ステップＳ８０６では、継承文字領域の余白情報４２について、上余白が設定されているか否かを判定する。設定されていれば、枠マージ連結の対象外として、ステップＳ８０９へ進む。設定されていなければ、ステップＳ８０７へ進む。
【００４７】
ステップＳ８０７では、特定された文字領域と、継承文字領域とが上下方向に接するか否かを判定する。接しない場合は、ステップＳ８０９へ進む。接する場合は、ステップＳ８０８へ進む。
【００４８】
ステップＳ８０８では、特定された文字領域の文字領域連結情報４３に、継承文字領域への連結を示す情報をセットする。その後、ステップＳ８０９へ進み、別の文字領域を特定して、同様の処理を繰り返す。
【００４９】
次に、枠マージ連結が行われた複数の文字領域を持つ文書の組版での処理について述べる。
【００５０】
まず、枠マージ連結が行われていない場合の複数の文字領域における文字配置処理について説明する。図９は、係る文字配置処理を示すフローチャートである。
【００５１】
ステップＳ９０１では、初期化と共に最初の文字領域を取得する。図２で言えば、領域情報２３に該当する。
【００５２】
ステップＳ９０２では、文書文字データ２１（図２）を順に取得し、ステップＳ９０３では、配置すべき文字データが無くなれば組版を終了する。
【００５３】
次にステップＳ９０４にて、文字領域に、文字を配置する余裕があるかを判断し、なければステップＳ９０５へ進み、別の文字領域を取得する。具体的には、図２の複数ある領域情報２３から次の領域情報を取得する。次の文字領域がなければ、終了する。
【００５４】
ステップＳ９０７では、新たに取得した文字領域に、文字データを引き続き配置する。
【００５５】
次に、枠マージ連結が行われた場合の複数の文字領域における文字配置処理について説明する。
【００５６】
本実施形態では、図６に示されたような枠マージ連結の対象となった複数の文字領域をひとつの文字領域として扱うことを特徴とする。図６の文字領域６１及び６２は、図１０に示したように破線で囲まれた単一の文字領域１０１として扱われる。この場合、領域１０２には、文字が配置されないこととなる。
【００５７】
図１１（ａ）乃至（ｄ）は、図７（ａ）乃至（ｄ）に対応して、複数の文字領域を一つの文字領域として扱う場合の態様を示した図である。
【００５８】
なお、３つ以上の文字領域が枠マージ連結の対象となった場合も同様である。その例を、図１２に示す。
【００５９】
図１３は、枠マージ連結が行われた場合の複数の文字領域における文字配置処理のフローチャートであり、特に、文字領域の取得処理を示したフローチャートである。上述した図９の文字配置処理では、文字領域を取得するために、領域情報２３を取得したが、この文字配置処理はこの点が異なる。
【００６０】
ステップＳ１３１は、対象となる文字領域について、返り値となるRECTrtnを０、文字領域を示すポインタRECTpを初期化する。
【００６１】
ステップＳ１３２では、RECTpに続く文字領域が、図２に示した文書データに存在するかどうかを判断する。なければ、０のRECTrtnが返され、図９の処理と同様に文書データから順に領域情報を得る。
【００６２】
ステップＳ１３３では、次の文字領域RECTp+1を取得し、これを対象となる文字領域にセットし、返り値RECTrtnにも同様にセットする。
【００６３】
ステップＳ１３４では、RECTpの文字領域連結情報４３（図４）を調べ、続く文字領域が当該の文字領域と枠マージ連結となっているかを判断し、連結でない場合にはRECTrtnを返す（ステップＳ１３６）。文字領域連結情報４３が設定されている場合には、ステップＳ１３５に進み、RECTpの次の文字領域RECTp+1をRECTpに設定し、返り値RECTrtnには、現在まで設定されていたRECTrtnとRECTpとの両方の文字領域を含む最小の文字領域（ここでは矩形とする。）を得、これをRECTrtnに設定する。
【００６４】
この処理を、ステップＳ１３４に戻って繰り返し、枠マージ連結が行われた全ての文字領域が一つの文字領域（ここでは矩形とする。）として取得される。
【００６５】
このようにして、例えば、図１４のように文字領域１４１乃至１４７が構成されている場合、各文字領域１４１乃至１４７の文字領域連結情報の有無は、図１５のように設定される。
【００６６】
ゆえに組版については、図９のフローチャートに示した処理と、図１３のフローチャートに示した処理とを組み合せて、図１６のフローチャートに示した処理となる。
【００６７】
次に、枠マージ連結の行われた複数の文字領域への実際の文字配置を説明する。図１７は、図１０に示した、枠マージ連結のされた文字領域６１及び６２へ実際に文字を配置した例である。なお、説明を簡略化するために、図示された文字領域６１及び６２の余白は0とする。以下、図１８の行余白の設定処理のフローチャートに従って説明する。
【００６８】
図１７の１６１に示された行を配置する場合を説明する。まず、行取り位置１６１ａに着目し、ステップＳ１８１及びステップＳ１８２の処理により行取り位置前余白FIg = 0、及び、行取り位置後余白BIg=D_BIgが得られる。
【００６９】
次に、ステップＳ１８３及びステップＳ１８４の処理により、FIb = D_FIb、BIb=0が得られる。これにより、行１６１の行前余白をD_FIb、行後ろ余白をD_BIgを大小比較より得て(ステップＳ１８５及びステップＳ１８６）、行の行余白として設定を行い、適正な文字配置を行うことができる。
【００７０】
このように本実施形態では、複数の文字領域を持つ横書き文書データにおいて、順に上下で接する文字領域の境界部分に文字を配置することが自動的に可能となることから、従来より、より簡単な文字配置領域レイアウト機能を提供することとなる。
【００７１】
なお、本実施形態では、横書きの文書データについて説明したが、縦書きの文書データにも適用できることはいうまでもない。この場合、複数の文字領域が左右（順に右から左）へ接する場合に枠マージ連結を行うこととなる。
【００７２】
以上、本発明の好適な実施の形態について説明したが、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
【発明の効果】
以上述べた通り、本発明によれば、文字領域が相互に接する場合に、その体裁を容易に調整することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る文書処理装置の構成を説明するブロック図である。
【図２】複数の文字領域を持つ文書のデータ形式の一例である。
【図３】段落情報２２の一例である。
【図４】文字領域情報２３の一例である。
【図５】文字領域への文字列の配置の一例である。
【図６】枠マージ連結の態様を示した図である。
【図７】（ａ）乃至（ｄ）は、枠マージ連結の対象となる文字領域の態様の例を示した図である。
【図８】枠マージ連結の対象を判定する処理のフローチャートである。
【図９】複数の文字領域への文字配置処理のフローチャートである。
【図１０】複数の文字領域を一つの文字領域として扱う場合の態様を示した図である。
【図１１】（ａ）乃至（ｄ）は、複数の文字領域を一つの文字領域として扱う場合の態様を示した図である。
【図１２】３つの文字領域を一つの文字領域として扱う場合の態様を示した図である。
【図１３】枠マージ連結が行われた場合の複数の文字領域における文字配置処理のフローチャートである。
【図１４】枠マージ連結が行われた文字領域を含む文書の例である。
【図１５】図１４に示した各文字領域１４１乃至１４７の文字領域連結情報の有無を示した図である。
【図１６】枠マージ連結の場合の組版の処理のフローチャートである。
【図１７】図１０に示した、枠マージ連結のされた文字領域６１及び６２へ実際に文字を配置した例である。
【図１８】行余白の設定処理のフローチャートである。
【図１９】隣接する文字領域間の体裁の、従来の調整方法の態様を示した図である。
【図１】
0004095213.tif 000002
【図２】
0004095213.tif 000003
【図３】
0004095213.tif 000004
【図４】
0004095213.tif 000005
【図５】
0004095213.tif 000006
【図６】
0004095213.tif 000007
【図７】
0004095213.tif 000008
【図８】
0004095213.tif 000009
【図９】
0004095213.tif 000010
【図１０】
0004095213.tif 000011
【図１１】
0004095213.tif 000012
【図１２】
0004095213.tif 000013
【図１３】
0004095213.tif 000014
【図１４】
0004095213.tif 000015
【図１５】
0004095213.tif 000016
【図１６】
0004095213.tif 000017
【図１７】
0004095213.tif 000018
【図１８】
0004095213.tif 000019
【図１９】
0004095213.tif 000020