JPH0589101A - 文書処理装置 - Google Patents

文書処理装置

Info

Publication number
JPH0589101A
JPH0589101A JP3249579A JP24957991A JPH0589101A JP H0589101 A JPH0589101 A JP H0589101A JP 3249579 A JP3249579 A JP 3249579A JP 24957991 A JP24957991 A JP 24957991A JP H0589101 A JPH0589101 A JP H0589101A
Authority
JP
Japan
Prior art keywords
available area
allocation
area
available
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3249579A
Other languages
English (en)
Inventor
Minoru Ikeda
稔 池田
Kazuo Saito
和雄 斉藤
Naoki Hayashi
直樹 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3249579A priority Critical patent/JPH0589101A/ja
Publication of JPH0589101A publication Critical patent/JPH0589101A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【目的】自動割り付けを行うことができ、かつ、固定の
枠を扱うことのできる文書処理装置を提供すること。 【構成】アベイラブルエリア探索手段107は、文書の
内容部を流し込める領域を示すアベイラブルエリアを、
割付け構造保持手段103に保持されている割付け途中
の割付け構造を参照して探索する。アベイラブルエリア
探索手段107によって探索されたアベイラブルエリ
ア、或いはそのアベイラブルエリアのリストは、アベイ
ラブルエリアリスト保持手段108に保持される。アベ
イラブルエリア分割手段109は、アベイラブルエリア
リスト保持手段108に保持されているアベイラブルエ
リアと、文書の論理構造に対する割付け処理以前に既に
割付けられている割付け構造とが重なっている場合は、
当該既に割付けられている構造を考慮して当該アベイラ
ブルエリアを分割するとともに、該分割後の各エリアの
リストをアベイラブルエリアリスト保持手段108に登
録する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、文書の論理構造から
文書の割付け構造を生成する文書処理装置に関する。
【0002】
【従来の技術】文書を作成する装置として、従来から広
くワードプロセッサなどのシステムが用いられてきた。
【0003】文書を作成する際には、初期段階において
は文書の内容部の作成に注力を注ぎ、そして最終段階で
は細かな割り付けの設定が行えることが望ましい。例え
ば、図入りの文書を作成する際、文章とそれに関連した
図とを近い位置に配置するのが普通のレイアウトであ
る。例えば「図4に示す」といった図を参照するテキス
トと実際の図は近い位置に配置するということである。
しかし文書の作成過程では文書内容が頻繁に編集・変更
されるため、図とそれへの参照の配置にはそれほど気を
配れない。従ってそのような配置はできるだけ自動的に
行ってくれることが望まれていた。
【0004】一方、文書の作成が最終段階に達した段階
では文書の内容の編集に比べて、細かな割付けの編集が
行われる。例えばある図は大きいのでページの横方向に
一杯に割り付けてページの最下段に配置したいとか、ま
た、ある図は小さいのでその横の領域にテキストを流し
込みたいとか、更には、ある図の場合にはページの本文
領域を多少はみ出して配置したいなどの編集である。
【0005】つまり、理想的な文書作成装置は、文書の
内容からユーザが望んでいる割り付けを得る処理ができ
るだけ自動的に行えることと、ユーザが細かな割り付け
の指定を行えることの両者を具備している必要がある。
【0006】従来のワードプロセッサあるいは文書処理
装置においては、図26に示すように、図(固定された
図)などの枠は予めページ内に所定の領域(以下、固定
の枠という)をユーザが指定することで設け、その固定
の枠内には割り付けを行わないように、文書の割り付け
を行っていた。
【0007】このような割付けを行う文書処理装置とし
て特開昭62−229289号公報に記載されたものが
知られている。この公報に記載された文書処理装置は、
予め指定された文書展開禁止領域を考慮して、該ページ
内の文書展開可能領域を文書展開禁止領域を避けるよう
に領域分割し、更に、その順序を展開順序指定手段によ
り判断して、分割された領域に文書の割り付けを行うも
のである。
【0008】その場合、その枠はユーザが指定した位置
であり、かつ、ページ固有の情報である。従って、テキ
ストの場合は内容が増えるに従って割り付けが変化して
行くのに対し、そのような固定の枠はユーザが変更しな
い限り同じ場所に存在するので、細かな位置指定を行う
ことができる。しかし、テキストからの参照点(例えば
「図1に示す」といったもの)から大きくずれてしまう
ことがしばしば発生していた。それを修正するには再び
その枠の位置をユーザが編集しなければならなかった。
つまり、従来のワードプロセッサ等では、自動的な割り
付けは殆ど行われていなかった。
【0009】そのようなワードプロセッサに対し、図2
7、図28に示すように、枠の位置が本文に追従して動
いていくという割り付けを行うことができる装置が実現
された。その割り付け方法として、論理構造と呼ばれる
文書の内容に従って、矩形領域の配置によって自動割り
付けを行っていく方法がある。
【0010】例えば国際規格ODA(ODA ISO 8613:In
formation Processing-Text and Office Systems-Open
Document Architecture(ODA) and Interchange Format
(1989) )がある。このODAでは、文書を、論理的な
構成を表現するための論理構造と文書のレイアウトを表
現する割付け構造という二つの構造で表現するようにし
ている。論理構造とは、ある単位の文書内容(文字、図
形、表など)をまとめあげる形で表現され、木構造で表
現されている。一方、割付け構造は矩形の枠の入れ子で
表現される。
【0011】例えば図27、図28に示される、関連す
るテキストに追従して浮動する枠は上記ODAでは図2
9に示すような共通割付け構造によって表現される。こ
れによって、テキストが枠の横に流れ込む割り付けのよ
うな場合であっても、自動的に割り付け処理によって割
り付けを得ることができるようになった。従って、図2
9に示される、論理構造に対して、共通割付け構造を適
用して割り付け処理を行うことにより、図30に示す割
り付け結果を得ることができる。
【0012】
【発明が解決しようとする課題】しかしながら、上記従
来の、論理構造に従って矩形領域を自動配置していく割
付け方式、例えば上記ODAに基づく割付け方式では、
ユーザの割り付けの編集は、ある程度の配置は自動割り
付けによって行うことができるが、細かな割り付けの指
定を行うことができない。このため、例えば枠の横にテ
キストを流し込む場合であっても、図28に示すよう
に、カラムを二分するようなテキストの枠の横への流し
込みは行うことができるが、図31に示すような、テキ
ストをカラムの両側へ流し込むような割り付けを行うこ
とはできなかった。
【0013】つまり、論理構造に従って矩形領域を自動
配置していく割付け方式では、自動割り付けを重視した
がために、逆に従来のワードプロセッサが有していた
「固定した枠」を扱うことが出来ず、所望の文書の割り
付けを得ることができない。
【0014】そこで、本発明は、自動割り付けを行うこ
とができ、かつ、固定の枠を扱うことのできる文書処理
装置を提供することを目的とする。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、この発明では、文書の論理構造から文書の割付け構
造を生成する文書処理装置において、前記文書の内容部
を流し込める領域を示すアベイラブルエリアを、割付け
途中の割付け構造を参照して探索するアベイラブルエリ
ア探索手段と、該アベイラブルエリア探索手段により探
索されたアベイラブルエリア、或いはそのアベイラブル
エリアのリストを保持するアベイラブルエリアリスト保
持手段と、該アベイラブルエリアリスト保持手段に保持
されているアベイラブルエリアと、前記文書の論理構造
に対する割付け処理以前に既に割付けられている割付け
構造とが重なっている場合は、当該既に割付けられてい
る構造を考慮して当該アベイラブルエリアを分割すると
ともに、該分割後の各エリアのリストを前記アベイラブ
ルエリアリスト保持手段に登録するアベイラブルエリア
分割手段とを具えている。
【0016】
【作用】この発明に係る文書処理装置では、文書の内容
部を流し込める領域を示すアベイラブルエリアと、文書
の論理構造に対する割付け処理以前に既に割付けられて
いる割付け構造とが重なっている場合は、当該既に割付
けられている構造を考慮して当該アベイラブルエリアを
分割するとともに、該分割後の各エリアのリストを生成
する。そして割付け処理の際には、そのリストに従った
アベイラブルエリアに文書の内容部が割り付けられる。
【0017】従って、この発明によれば、固定の枠が割
り付けられている場合であっても、自動割り付けを行う
ための論理構造に従って矩形領域の自動配置を行うこと
ができる。
【0018】
【実施例】以下、本発明の実施例を図1乃至図25を参
照して説明する。
【0019】図1は本発明に係る文書処理装置の第1の
実施例を機能ブロック図で示したものである。
【0020】同図において、論理構造保持手段101は
論理構造を保持する。論理構造の最下位は内容保持手段
102に保持されている情報の一部を参照することで、
内容をある単位にまとめあげる役割を持つ。論理構造と
しては割り付けのための順序を定義できるものであれば
どのようなものでも良い。しかし木構造が一般的であ
る。
【0021】内容保持手段102は文書の内容を保持す
る。保持されている内容は論理構造からも割付け構造か
らも参照される。内容にはテキストや図形、イメージな
どがあり、複数の種類が存在する。
【0022】割付け構造保持手段103は割付け構造生
成手段106によって生成された割付け構造を保持す
る。割付け構造は矩形領域の入れ子として実現され、そ
の最下位からは内容保持手段102に保持されている文
書内容の一部が参照される。
【0023】内容割付け手段104は、内容保持手段1
02に格納されている文書内容を指定された矩形領域内
に割り付けて、その割り付けに必要とした領域の大き
さ、割り付けの結果などを返す。その結果として文書内
容が一つの領域に納まらなかった場合には、その文書内
容は複数に分割される可能性もある。
【0024】割付けタイプ指定手段105は大きく分け
て二つの役割を持ち、その一つは、論理構造保持手段1
01に保持されている論理構造を指し示し、その論理構
造以下の構造に含まれる文書内容をどのように割り付け
るかを指定する。例えば「この論理構造で表現される図
はカラムを抜く形で割付ける。」、「この論理構造で表
現される図の右側には別の内容が流れ込んで良い。」と
いったことが指定される。もう一つは、例えば「二段で
見開きでページ番号を持っている」といったページの割
り付けを指定する。
【0025】割付け構造生成手段106は、割付けタイ
プを参照しながら内容割付け手段104を呼び出して、
割付け構造を生成する。
【0026】アベイラブルエリア探索手段107は、割
付け構造保持手段103に保持されている割り付け途中
の割付け構造を参照して、内容部を流し込める領域(以
下、アベイラブルエリア(available area)という)を
捜し出す。
【0027】アベイラブルエリアリスト保持手段108
は、アベイラブルエリア、或いはそのエリアが分割され
た場合は複数のアベイラブルエリアのリストを保持す
る。
【0028】アベイラブルエリア分割手段109は、ア
ベイラブルエリアに重なっている既に割り付けられた構
造を考慮して、そのアベイラブルエリアを分割する。
【0029】なおこの実施例では、手段101、手段1
02、手段103、手段105、手段108は、ハード
ディスクやメモリなど記憶装置で実現される。また手段
104、手段106、手段107、手段109は、それ
ぞれの手段の機能を遂行させるためのソフトウェア(プ
ログラム)を、プロセッサや中央処理装置などの制御手
段(図示せず)が実行することにより実現される。勿
論、ハードウェア構成やファームウェア構成で実現する
ようにしても良い。
【0030】上述した構成において、文書処理装置の割
り付け処理を説明する。外部から、割付け構造生成手段
106に割り付けを行うべく旨の指令が伝わると、割付
け構造生成手段106は、次のような処理を行う。
【0031】(1)最初に、論理構造保持手段101内
の保持情報を参照し、現在の割り付け対象となっている
論理構造を参照する。もしそれがなければ終了する。
【0032】(2)割り付け対象の論理構造が見付かっ
た場合は、その論理構造からは、更に内容保持手段10
2に格納されている内容部を参照しているので、その内
容部を取ってくる。
【0033】(3)次に、アベイラブルエリア探索手段
107を呼び出す。呼ばれたアベイラブルエリア探索手
段107は、現在割り付けようとしている論理オブジェ
クトの内容を割り付けられる領域(アベイラベルエリ
ア)を、既に存在している割付け構造を調べることによ
って得るとともに、その結果を、戻り値として、割付け
構造生成手段106に返す。
【0034】(4)その戻り値が、割り付け可能な領域
が存在していない旨であった場合は、割付けタイプ指定
手段105を参照して一定の単位(例えばページ単位)
の割付け構造を生成し、その後、アベイラベルエリア探
索手段107を呼び出す。アベイラベルエリア探索手段
107は、その新たに生成されたページから、割り付け
可能領域であるアベイラベルエリアを探索し、その結果
を戻り値として返す。また得られたアベイラベルエリア
をアベイラベルエリアリスト保持手段108に登録す
る。
【0035】(5)次に、アベイラベルエリア探索手段
107に対して、既に割り付けられた割付け構造を参照
して、割り付けの対象となっているページ内の、既に割
り付けられた割付け構造が、アベイラベルエリアリスト
保持手段108に保持されているアベイラベルエリアの
最初の要素に重なっているかどうかを調べさせる。その
結果、既に割り付けられた割付け構造とアベイラベルエ
リアの最初の要素とが重なっていた場合は、アベイラベ
ルエリア分割手段109を呼び出して、そのアベイラベ
ルエリアを分割させる。その分割されたアベイラベルエ
リアのリストは、アベイラベルエリア分割手段109に
よってアベイラベルエリアリスト保持手段108に登録
される。このとき、以前の状態は消去される。
【0036】(6)アベイラベルエリアリスト保持手段
108の最初のアベイラベルエリアを現在のアベイラベ
ルエリアとする。
【0037】(7)現在のアベイラベルエリアと現在の
割り付け対象の内容を内容割付け手段104に渡して、
内容を割り付けさせる。
【0038】(8)そして、割付けた結果の大きさ、及
び対象論理構造に指定されている割付けタイプ(図の横
に他の内容が流れ込んで良いなど)を参照して割付け構
造を生成する。
【0039】(9)全ての文書内容が割り付けられるま
で、上記(1)〜(8)の処理を繰り返す。
【0040】図2は、図1の機能ブロック図を更に詳細
に示した機能ブロック図を示したものである。この機能
ブロック図は、図1に示した第1の実施例の機能ブロッ
ク図の構成において、割付け構造生成手段106を割付
け構造生成手段201に、アベイラブルエリアリスト保
持手段108をアベイラブルエリアリスト保持手段20
2に、アベイラブルエリア分割手段109をアベイラブ
ルエリア分割手段203に、アベイラブルエリア探索手
段107をアベイラブルエリア探索手段204にそれぞ
れ変更した構成になっている。アベイラブルエリア探索
手段204は、アベイラブルエリア初期化手段205
と、アベイラブルエリアカレントポイント保持手段20
6と、アベイラブルエリアリスト更新手段207とを有
して構成されている。なお、図2において、図1に示し
た構成要素と同様の機能を果たす部分には同一の符号を
付している。
【0041】割付け構造生成手段201は論理構造、文
書内容、割付けタイプを参照しながら順次割り付けを行
うことにより、割付け構造を生成し、割付け構造保持手
段103に格納していく処理を行う。また内容割付け手
段104、アベイラブルエリア初期化手段205、アベ
イラブルエリアリスト更新手段207、アベイラブルエ
リア分割手段203の各手段を呼び出す。更にアベイラ
ブルエリアカレントポイント保持手段204も参照す
る。なお、具体的にどのように論理構造から割付け構造
を生成していくかに関しては、本願出願人が先に出願し
た特願平2−157067号、特願平2−157068
号に開示されているので、ここではその説明を省略す
る。
【0042】アベイラブルエリアリスト保持手段202
は、1ページ内の割付け可能領域、アベイラブルエリア
をそのエリアのリストで表現し保持する。
【0043】アベイラブルエリア分割手段203は、ア
ベイラブルエリアリスト保持手段202に保持されてい
るアベイラブルエリアを分割し、そのリストを更新す
る。またアベイラブルエリア初期化手段205から呼び
出され、これにより、割付け構造保持手段103を参照
しながらアベイラブルエリアリスト保持手段202に登
録されているアベイラブルエリアを分割する。更に、割
付け構造生成手段201から、内容割付けを行った直後
に呼び出され、また割り付けに使った領域を使用不能領
域として登録し直すためにも呼び出される。
【0044】アベイラブルエリアの分割に際し、アベイ
ラブルエリア分割手段203は、分割対象となるアベイ
ラブルエリアリストと、そのリストで示されるアベイラ
ブルエリアに重なっていると思われる割付け構造に含ま
れる既に割り付けられた複数の割付け構造(一般的には
同一ベージ内の割付け構造)とを入力して、入力された
アベイラブルエリアリストの個々のアベイラブルエリア
を更に分割するとともに、該分割された後のアベイラブ
ルエリアのリストをアベイラブルエリアリスト保持手段
202に登録する。
【0045】アベイラブルエリア初期化手段205は、
1ページ単位でページ内部の割り付け可能な領域、すな
わちアベイラブルエリアを予め探索して、その結果をア
ベイラブルエリアリスト保持手段202に記憶させるも
のである。またページ単位でアベイラブルエリアリスト
の初期化を行う。つまり、アベイラブルエリア初期化手
段205は、割付け構造生成手段201による割り付け
処理において、まだ何も流し込まれていないページ(自
動割り付けによって流し込まれた内容が存在しないペー
ジであって、ユーザがページ固有の図などを既に配置し
ているかもしれない)に割り付け先が移ったときに、割
付け構造生成手段201から呼び出され、これにより対
象ページのアベイラブルエリアのリストの生成を行う。
【0046】アベイラブルエリアカレントポイント保持
手段206は、アベイラブルエリアリスト保持手段20
2に保持されるアベイラブルエリア、アベイラブルエリ
ア内の使用した領域をそれぞれ保持し、どこまでアベイ
ラブルエリアを使ったかを記憶しておく。割付け構造生
成手段201がアベイラブルエリア分割手段203を呼
び出して、内容割付けの結果をアベイラブルエリアリス
ト保持手段202に反映させたときに、アベイラブルエ
リアカレントポイント保持手段206に保持されている
情報も更新される。また新しいアベイラブルエリアを割
付け構造生成手段201が獲得したいとき、割付け構造
生成手段201はアベイラブルエリアカレントポイント
保持手段206内の情報を参照して新しいアベイラブル
エリアを獲得することになる。
【0047】アベイラブルエリアリスト更新手段は20
7は、内容割付けの結果をアベイラブルエリアに反映さ
せるために用いられる。つまり内容割り付けが終わった
ときに、内容割り付けに使った領域の情報を、アベイラ
ブルエリアリストに反映させる役割を持つ。アベイラブ
ルエリアの内、現在、アベイラブルエリアカレントポイ
ント保持手段206によって指し示されているアベイラ
ブルエリアが割付け処理によって使い切られていない場
合は、未使用の領域をアベイラブルエリア分割手段20
3を呼び出すことで切り出し、その結果をアベイラブル
エリアリスト保持手段202に反映させる。
【0048】なおこの実施例では、手段101〜手段1
05は、それぞれ上述した構成で実現される。また手段
202、206は、ハードディスクやメモリなど記憶装
置で実現される。更に、手段201、手段203、手段
205、手段207は、それぞれの手段の機能を遂行さ
せるためのソフトウェア(プログラム)を、上記制御手
段(図示せず)が実行することにより実現される。勿
論、ハードウェア構成やファームウェア構成で実現する
ようにしても良い。
【0049】次に、アベイラブルエリアリスト保持手段
202内に保持されるアベイラブルエリアリストのデー
タ構造の一例を、図3(a)に示す。
【0050】このデータ構造は、1つのアベイラブルエ
リアについての、ページの左上を原点としたときの、左
上の座標と右下の座標の二つのパラメータと、更に次の
エリアへのポインタとを有して構成されており、最後の
エリアからはNULL(エンドマーク)を指すことでリ
ストの最後であることが表現されている。
【0051】1つのアベイラブルエリアは、図3(b)
に示すように、ページの左上を原点(0,0)としたと
きの、左上の座標と右下の座標の二つのパラメータによ
って表現される。図3(b)に示す例では、アベイラブ
ルエリアA1は、{左上の座標(csx1,csy1),右下の
座標(cex1,cey1)}で表現され、アベイラブルエリア
A2は、{左上の座標(csx2,csy2)、右下の座標(ce
x2,cey2)}で表現される。従って、アベイラブルエリ
アリストのデータ構造は、図3(a)に示すように、ア
ベイラブルエリアA1に関する左上の座標及び右下の座
標のパラメータ及び、次のアベイラブルエリアA2への
ポインタP1と、アベイラブルエリアA2に関する左上
の座標及び右下の座標のパラメータ及び、このエリアが
最後であるのでNULL(エンドマーク)を指すポイン
タP2とで表現されたリスト構造になっている。
【0052】アベイラブルエリアリスト保持手段202
は、複数のアベイラブルエリアをリストの形式で保持し
ている。またアベイラブルエリアカレントポイント保持
手段206は、図3(a)に示すように、アベイラブル
エリアリスト保持手段202に保持されているアベイラ
ブルエリアの内の一つの要素を指し示す情報を有してい
る。この実施例では、その要素を指し示す情報をアベイ
ラブルエリアカレントポイントと定義する。アベイラブ
ルエリアカレントポイントが指し示しているアベイラブ
ルエリアは、次の内容割付け時に使用されるであろう領
域である。図3(a)に示す例では、アベイラブルエリ
アカレントポイント30によってアベイラブルエリアA
1が指し示されているので、内容割り付け時には、その
エリアが優先して使用されることとなる。
【0053】次に割付け構造生成手段201による割付
け処理を図4に示すフローチャートを参照して説明す
る。
【0054】図4に示すように、割付け構造生成手段2
01は、論理構造保持手段101の保持情報を参照する
ことにより、次に割付けるべき内容部を保持する論理構
造を取って来て、その論理構造の指し示す内容部を内容
保持手段102から取ってくる(ステップ401)。次
に、アベイラブルエリアカレントポイント保持手段20
6を参照し、その内容を割り付けることのできる領域を
表現するアベイラブルエリアを取ってくる(ステップ4
02)。更に、アベイラブルエリアカレントポイント保
持手段206に保持されているアベイラブルエリアカレ
ントポイントが指し示している先はヌル(NULL)か
否かを判断する(ステップ403)。
【0055】ここで、NULLの場合には、割付け構造
保持手段103及びページのタイプが指定されている割
付けタイプ指定手段105を参照して、新しいページを
取って来て、その後、そのページに対してアベイラブル
エリアリスト初期化手段205を呼び出す。またアベイ
ラブルエリアカレントポイント保持手段206に保持さ
れているアベイラブルエリアカレントポイントが指し示
しているアベイラブルエリアを取ってくる(ステップ4
04)。
【0056】ステップ403においてNULLでない場
合すなわちアベイラブルエリアの場合、あるいは上記ス
テップ404を終了した場合は、アベイラブルエリアカ
レントポイントが指し示しているアベイラブルエリアと
内容とを内容割付け手段102に引き渡して、内容を割
り付けさせる(ステップ405)。
【0057】次に、割付けタイプ指定手段105を参照
して、現在の対象となっている論理構造に何等かの割付
けタイプが指定されていたならば、それを考慮して割付
け構造を生成して、割付け構造保持手段103に登録す
る(ステップ406)。
【0058】更に、結果として生成された割付け構造と
使用したアベイラブルエリアとをアベイラブルエリアリ
スト更新手段207に引き渡してアベイラブルエリアリ
ストの更新を行わせる(ステップ407)。
【0059】ステテップ407を終了したならば、全て
の内容が割り付けられたか否かを判断し(ステップ40
8)、まだ割り付ける内容がある場合には上記ステップ
401に戻りこのステップ以降を実行し、反対に、全て
の内容を割り付けた場合は処理を終了する。
【0060】次に、アベイラブルエリア分割手段202
による分割処理を図5に示すフローチャートを参照して
説明する。
【0061】なお、この実施例で用いる既に割り付けら
れた「枠」という用語は、あるページに既に配置された
図のような枠を表現する矩形で、割付け構造保持手段1
03に登録されている割付け構造の一部である。このよ
うな「枠」がシステムによって自動的に配置されたもの
か、ユーザが編集の結果配置したかについては一切関知
しない。そのような「枠」は、少なくとも、ある論理構
造を自動配置しようとする時点で、その自動配置しよう
とするページ内に存在している既に割り付けられた割付
け構造である。また、あるアベイラブルエリアと重なる
という状況が発生するのは、少なくともそのアベイラブ
ルエリアと同一のページ内に配置されている「枠」が存
在するはずである。
【0062】さて図5に示すように、アベイラブルエリ
ア分割手段203は、対象ページ内に存在する割り付け
構造の一部である「枠」と分割対象のアベイラブルエリ
アリストとを受け取り(ステップ501)、最初の
「枠」を対象枠とすると共に(ステップ502)、対象
アベイラブルエリアを、アベイラブルエリアリストの最
初のアベイラブルエリアとする(ステップ503)。
【0063】次に、対象枠は対象アベイラブルエリアに
重なっているか否かを判断する(ステップ504)。
【0064】ここで、重なっている場合は、重なってい
る領域以外の領域を複数のアベイラブルエリアに分割す
るとともに(ステップ505)、その分割された各アベ
イラブルエリアのリストをアベイラブルエリアリスト保
持手段202に登録する(ステップ506)。アベイラ
ブルエリアリスト保持手段202に登録する際に、対象
アベイラブルエリアの直前のアベイラブルエリアが、対
象アベイラブルエリアと連続していると判断される場合
は、その二つのアベイラブルエリアを統合する(ステッ
プ507)。
【0065】ここで、連続していると判断される場合と
は、二つのアベイラブルエリアを統合して一つの矩形領
域として表現できるという意味である。具体的には二つ
のアベイラブルエリアの内、最初の方を削除し、削除し
た要素の右下の座標をもう一方の右下の座標と入れ換え
る。
【0066】さて、ステップ507を終了した場合、或
いはステップ504において重なっていない場合は、ア
ベイラブルエリアが残っているか否かを判断する(ステ
ップ508)。ここで、残っている場合は、次のアベイ
ラブルエリアを対象アベイラブルエリアとし(ステップ
509)、その後、上記ステップ504に戻りこのステ
ップ以降を実行する。
【0067】一方、ステップ508において残っていな
い場合は、「枠」が残っているか否かを判断し(ステッ
プ510)、ここで、残っている場合には次の「枠」を
対象枠とし(ステップ511)、その後上記ステップ5
03に戻りこのステップ以降を実行し、一方、残ってい
ない場合はリターンする。
【0068】次に、アベイラブルエリアリスト更新手段
207による更新処理を図6に示すフローチャートを参
照して説明する。
【0069】図6に示すように、アベイラブルエリアリ
スト更新手段207は、アベイラブルエリアカレントポ
イト保持手段204に保持されているアベイラブルエリ
アカレントポイトが指し示すアベイラブルエリアをアベ
イラブルエリアリスト保持手段202から取ってくる
(ステップ601)。また割付けタイプ指定手段105
を参照して、今割り付けた内容部を保持する論理構造に
指定されている割付けタイプを取ってくる(ステップ6
02)。次に、割付けタイプに「その横の領域に他の内
容が流れ込んで良い。」という指定がなされているか否
かを判断する(ステップ603) ここで、指定されている場合は、現在の対象アベイラブ
ルエリアを分割対象アベイラブルエリアリストとし、ま
た今割り付けられた内容部のための割付け構造を対象フ
レームとするとともに、これらの情報を引数としてアベ
イラブルエリア分割手段203を呼び出して、アベイラ
ブルエリアの分割を行わせる(ステップ604)。この
とき割付けタイプには「左、右、中央」などのパラメー
タが指定されている場合があるので、アベイラブルエリ
ア分割手段203は、そのパラメータを考慮して分割の
仕方を決定する。ここで「右」というのは「生成された
割付け構造をアベイラブルエリアの右側に寄せた形で配
置する」という意味で、結果として割付け構造の左の領
域に他の内容が流れ込む可能性があることを意味する。
【0070】ステップ604を終了した場合は、アベイ
ラブルエリアカレントポイント保持手段204の保持情
報を、分割されたアベイラブルエリアを指し示すよう
に、つまり未使用のアベイラブルエリアを指し示すよう
に更新し(ステップ605)、その後リターンする。
【0071】上記ステップ603において「その横の領
域に他の内容が流れ込んで良い。」という指定がされて
いない場合は、アベイラブルエリアカレントポイント保
持手段204に保持されているアベイラブルエリアカレ
ントポイントが指し示すアベイラブルエリアの左上座標
の高さを、使用した分だけ縮め(ステップ606)、そ
の後、リターンする。
【0072】次に、アベイラブルエリア初期化手段20
5による初期化処理を、図7に示すフローチャートを参
照して説明する。
【0073】図7に示すように、アベイラブルエリア初
期化手段205は、割付け構造生成手段201からの対
象ページの割付け構造を受取り(ステップ701)、そ
のページ内の何も割付けられていない自動割り付けのた
めの割り付け対象領域(例えば二段組の場合はそれぞれ
の段)を探し出す(ステップ702)。次に、その探し
出した領域をアベイラブルエリアとしてアベイラブルエ
リアリスト保持手段202に登録する(ステップ70
3)。続いて、その対象ページ内にページ固有の図など
既に配置されているような割付け構造(枠)が存在する
か否かを判断する(ステップ704)。
【0074】ここで、存在する場合は、その割付け構造
(これがアベイラブルエリア分割手段203にとってフ
レームとなる)と、今生成したアベイラブルエリアリス
トとを引数にしてアベイラブルエリア分割手段203を
呼び出して、既に割り付けられている構造を避けるよう
なアベイラブルエリアのリストを生成させる(ステップ
705)。その後、アベイラブルエリアカレントポイン
ト保持手段204に、アベイラブルエリアリスト保持手
段202に登録されている最初の要素を登録する(ステ
ップ706)。ステップ706を終了後はリターンす
る。なお、上記ステップ704において割付け構造
(枠)が存在しない場合は上記ステップ706に進む。
【0075】ここで、割付け処理の具体例を、図8乃至
図11を用いて説明する。
【0076】例えばページの割付けタイプが図8に示す
ような2カラムの場合について例を示す。ある時点でそ
のページに、図9に示すようなページ固有の「枠」90
が、カラム1とカラム2とに跨って配置されたとする。
なお図9に示す斜線の部分は未使用つまりアベイラブル
エリアである。
【0077】この状態から所定の文書の割り付けが行わ
れる様子を、図9、図10及び図11を参照しながら説
明する。
【0078】(1)最初に、割付け構造生成手段201
はアベイラブルエリア初期化手段205を呼び出す。
【0079】(2)呼び出されたアベイラブルエリア初
期化手段205は、「枠」90(図9参照)を考慮し
て、図10(a)に示すように、順次アベイラブルエリ
アを分割して、図10(b)に示すようなアベイラブル
エリアリストを生成する。
【0080】図10(a)に示す例において、「枠」9
0の矩形領域が、ページの左上を原点としたときに、左
上の座標(fsx ,fsy )、右下の座標(fex ,fey )で
表現されるものとする。
【0081】この例では、カラム1のアベイラブルエリ
アはアベイラブルエリアA1〜A3に分割され、カラム
2のアベイラブルエリアはアベイラブルエリアA4〜A
6に分割されるので、各アベイラブルエリアは次のよう
になる。
【0082】アベイラブルエリアA1は、左上の座標
(csx1,csy1),右下の座標(cex1,fsy )で表現され
る。
【0083】アベイラブルエリアA2は、左上の座標
(csx1,fsy),右下の座標(fsx ,fey )で表現され
る。
【0084】アベイラブルエリアA3は、左上の座標
(csx1,fey),右下の座標(cex1,cey1)で表現され
る。
【0085】アベイラブルエリアA4は、左上の座標
(csx2,csy2),右下の座標(cex2,fsy )で表現され
る。
【0086】アベイラブルエリアA5は、左上の座標
(fex ,fsy),右下の座標(cex2,fey )で表現され
る。
【0087】アベイラブルエリアA6は左上の座標(cs
x2,fey ),右下の座標(cex2,cey2)で表現される。
【0088】従って、アベイラブルエリアリストのデー
タ構造は、図10(b)に示すように、アベイラブルエ
リアA1〜A6の順に割り付けが行われるように、各ア
ベイラブルエリアの左上の座標及び右下の座標のパラメ
ータと、次のエリアへのポインタP1〜P5とから構成
され、更にアベイラブルエリアA6のリストにはNUL
Lを指し示すポインタP6が設けられている。また、ア
ベイラブルエリアカレントポイントはアベイラブルエリ
アA1を指し示している。
【0089】(3)さて、上記(2)の処理が終了する
と、割付け構造生成手段201は次に割り付けるべき内
容部を取って来て、内容割付け手段104を呼び出す。
【0090】(4)呼び出された内容割付け手段104
によって内容部が割り付けられる。
【0091】(5)その後、割付け構造生成手段201
は、割り付けに使用した領域をアベイラブルエリアリス
ト更新手段207に引き渡す。
【0092】(6)アベイラブルエリアリスト更新手段
207は、今割付けられた内容部に関する割付けタイプ
を割付けタイプ指定手段105から取って来る。
【0093】その割付けタイプに「その横の領域に他の
内容が流れ込んでも良い。」の指定があった場合は、ア
ベイラブルエリアリスト分割手段203を呼び出して、
図11(a)に示すように、アベイラブルエリアを分割
させる。アベイラブルエリアリスト更新手段207は、
その分割後のアベイラブルエリアに基づいて、アベイラ
ブルエリアリストを更新する。
【0094】例えば、アベイラブルエリアA1内に所定
の文書内容が割り付けられ、図11(a)に示すよう
に、そのためにアベイラブルエリアA1の領域1100
が使用されたとする。これによって、アベイラブルエリ
アA1におけるアベイラブルエリアは、アベイラブルエ
リアA1-1と、アベイラブルエリアA1-2とに分割され
ることとなる。
【0095】ここで、領域1100が、図11(c)に
示すように、{左上の座標(csx1,csy1),右下の座標
(csx1+w,csy1+h)}で表現されるものとすると、
アベイラブルエリアA1-1は、{左上の座標(csx1+
w,csy1),右下の座標(cex1,csy1+h)}で表現さ
れる。
【0096】またアベイラブルエリアA1-2は、{左上
の座標(csx1,csy1+h),右下の座標(cex1,fsy
)}で表現される。
【0097】従って、図10(b)に示したアベイラブ
ルエリアリストは、図11(b)に示すアベイラブルエ
リアリストに更新されることとなる。図11(b)に示
すデータ構造において、アベイラブルエリアA1-1は更
新されたアベイラブルエリアであり、またアベイラブル
エリアA1-2は新たに挿入されたアベイラブルエリアで
ある。更に、アベイラブルエリアカレントポイントはア
ベイラブルエリアA1-1を指し示しているでの、次回の
割り付けのときには、そのエリアが優先して使用される
こととなる。
【0098】(7)そして、そのページのアベイラブル
エリアが存在する間は、上記(3)〜〜(6)の処理を
繰り返し、一方、そのアベイラブルエリアが無くなった
ら上記(1)の処理へ戻り、この処理以降を実行する。
【0099】次に、本発明に係る文書処理装置の第2の
実施例を図12乃至図25を参照して説明する。
【0100】この第2の実施例の装置は、図2に示した
第1の実施例の機能ブロック図の構成と同様の構成にな
っている。またこの実施例の装置は、基本的には上記第
1の実施例の装置とほぼ同様の機能を有しており、以下
の点が異なるのみで、その他の大きな処理の流れは第1
の実施例と同様である。
【0101】(1)アベイラブルエリアリストは、構造
が階層化されており、ページ内に存在する段毎に持って
いる。例えば二段組の文書の場合はそれぞれ段(以下カ
ラムという)に対応するアベイラブルエリアリストを持
っている。
【0102】(2)カラムのためのアベイラブルエリア
リストの生成はページが生成された時点で行われるので
はなく、アベイラブルエリアを必要としてアベイラブル
エリアを探しに行った時点で行われる。
【0103】(3)アベイラブルエリアカレントポイン
トの値として、アベイラブルエリアを指し示すだけでは
なく、対象となるカラム、対象となるカラム内の割り付
け済みの位置(以下、current-pos という)をそれぞれ
保持する。従って実際のアベイラブルエリアは、アベイ
ラブルエリアが示す領域と、対象カラム内の割り付け済
みの位置の両方を考慮したものとなる。
【0104】以上の処理を考慮した割り付け処理を行う
ことにより、一般に文書の割り付けにおいては改ページ
などの指定により、カラムが空白になる場合が多々ある
が、そのような場合、この手法によれば本当にアベイラ
ブルエリアが必要とされてからアベイラブルエリア分割
を行うので、余計なカラムのアベイラブルエリア分割を
行わずに済むこととなり、第2の実施例の割り付け処理
の方が、第1の実施例の割り付け処理に比べて、割り付
け効率が良くなる。
【0105】この第2の実施例のアベイラブルエリアリ
スト保持手段202に保持されるアベイラブルエリアリ
ストのデータ構造の一例を図12に示す。図中ではアベ
イラブルエリアリストは未分割であるが、実際にはアベ
イラブルエリアが必要となった時点で、第1の実施例と
同様に分割されて保持される。
【0106】図17(a)に示す例においては、ページ
1200内に、{左上の座標(csx1,csy1),右下の座
標(cex1,cey1)}で表現されるカラム1と、{左上の
座標(csx2,csy2),右下の座標(cex2,cey2)}で表
現されるカラム2とが配置されている。なお、上記各カ
ラムの座標値はページ1200の左上を原点(0,0)
としている。
【0107】このとき、アベイラブルエリアリスト保持
手段202に保持されるアベイラブルエリアリストのデ
ータ構造は、図12(b)に示すように、カラム1に対
応して、カラム1の領域の大きさを示す情報(左上の座
標および右下の座標のパラメータ)、及びカラム1に関
するアベイラブルエリアリストへのポインタP1とが登
録されており、またカラム2に対応して、カラム2の領
域の大きさを示す情報(左上の座標および右下の座標の
パラメータ)、及びカラム2に関するアベイラブルエリ
アリストへのポインタP2とが登録されており、更にカ
ラム1に関しては次のカラム2へのポインタP3も登録
されている。また最後のカラム2は「最後のカラムであ
る」ということを示すためにポインタP4でヌル(NU
LL)を指し示している。
【0108】勿論、例えば3カラム構成であった場合に
は、左のカラムには左のカラムから真ん中のカラムへの
ポインタが、真ん中のカラムには真ん中のカラムから右
のカラムへのポインタが、最後の右カラムには「最後の
カラムである」ということを示すためにNULLへのポ
インタが、それぞれ登録されることとなる。
【0109】なお、図12(b)に示す例では、ポイン
タP1、P2はそれぞれNULLを指し示しているが、
これは、カラム1及びカラム2が、現在のところまだそ
れぞれ内容を割付けるための領域の対象となっておら
ず、そのカラム内のアベイラブルエリアを必要としてい
ないことを意味する。そのために分割されていない。
【0110】また、アベイラブルエリアカレントポイン
ト保持手段206に保持されるアベイラブルエリアカレ
ントポイントの値を示すデータは、現在のカラム(対象
となるカラム)、現在のアベイラブルエリア、current-
pos(対象となるカラム内の割り付け済みの位置)の各
エントリから構成される。
【0111】例えば図12に示す状態においては、上記
値を示すデータは、図13に示すように、現在のカラム
(対象となるカラム)として「カラム1」が、現在のア
ベイラブルエリアとして「NULL」が、current-pos
(対象となるカラム内の割り付け済みの位置)として値
「csy1」がそれぞれ登録されている。
【0112】ここで、現在のアベイラブルエリアとして
「NULL」が登録されているが、これは、現在のカラ
ム1内のアベイラブルエリアが分割されていないことを
意味している。つまりアベイラブルエリアのリストの要
素が存在していないことを意味する。またcurrent-pos
のエントリに登録された「csy1」の値は、カラム1
の左上の座標(csx1,csy1)のY座標値である「csy
1」の値と一致しているが、これは、カラム1内にまだ
内容が割り付けられていないことを意味している。
【0113】次に、第2の実施例の割付け処理を説明す
る。
【0114】最初に、各手段を呼び出す割付け構造生成
手段201による割り付け処理を、図14に示すフロー
チャートを参照して説明する。
【0115】図14に示すように、割付け構造生成手段
201は、次に割り付けるべき内容部を内容保持手段1
02から取ってくる(ステップ1401)。またアベイ
ラブルエリアカレントポイント保持手段204を参照し
て、対象となっているカラム内のアベイラブルエリアリ
ストを参照する(ステップ1402)。更にそのカラム
内のアベイラブルエリアリストは存在しているか否かを
判断する(ステップ1403)。
【0116】ここで、存在している場合には後述する図
15に示される処理を実行し、反対に、存在していない
場合は、アベイラブルエリア分割手段203を呼び出し
てアベイラブルエリアのリストを生成させ、そのリスト
の最初の要素をアベイラブルエリアカレントポイントと
する(ステップ1404)。
【0117】また、アベイラブルエリアカレントポイン
ト保持手段206に保持されているアベイラブルエリア
カレントポイントが指し示すアベイラブルエリアと、対
象となる内容とを引数にして内容割付け手段104を呼
び出して、内容を割り付けさせる(ステップ140
5)。
【0118】次に、対象となる内容部を保持する論理構
造に指定されている割付けタイプを割付けタイプ指定手
段105から取って来るととも、その割付けタイプを考
慮して割付け構造を生成し、その割付け構造を割付け構
造保持手段103に登録する(ステップ1406)。
【0119】続いて、割り付けに使った領域をアベイラ
ブルエリア更新手段207に引き渡して、アベイラブル
エリアリスト、およびアベイラブルエリアカレントポイ
ントの更新を行わせる(ステップ1407)。
【0120】ステップ1407を終了したら、全ての内
容を割り付けたか否かを判断し(ステップ1408)、
ここで、まだ割り付ける内容がある場合には上記ステッ
プ1401に戻りこのステップ以降を実行し、反対に、
全ての内容を割り付けた場合は処理を終了する。
【0121】なお、ステップ1403においてアベイラ
ブルエリアリストが存在している場合、割付け構造生成
手段201は、図15に示すように、アベイラブルエリ
アカレントポイントが指し示すアベイラブルエリアがN
ULLか否かを判断する(ステップ1501)。
【0122】NULLの時は、アベイラブルエリアカレ
ントポイントが指し示す「現在のカラム」の情報を次の
カラムに更新する。もし次のカラムがNULLの時はそ
のカラム情報をNULLに設定する(ステップ150
2)。
【0123】次に、そのアベイラブルエリアカレントポ
イントが指し示すカラムがNULLかどうかを調べる
(ステップ1503)。
【0124】ここで、NULLの場合は、割付け構造保
持手段103内の割付け構造あるいは割付けタイプ指定
手段105内の割付けタイプを参照して、新しいページ
を取ってきて、そのページに対してアベイラブルエリア
リスト初期化手段205を呼び出し(ステップ150
4)、その後、図14のステップ1404に戻る。なお
ステップ1501においてNULLでない場合は、図1
4のステップ1405に戻る。また、ステップ1503
においてNULLでない場合は図14のステップ140
2に戻る。
【0125】次に、アベイラブルエリア初期化手段20
5による初期化処理を、図16に示すフローチャートを
参照して説明する。
【0126】図16に示すように、アベイラブルエリア
初期化手段205は、ページ内部の領域情報(カラムの
数、カラムの位置)を得て(ステップ1601)、その
情報に従ってカラムレベルのアベイラブルエリアリスト
を生成する(ステップ1602)。ステップ1602を
終了したらリターンする。
【0127】次に、アベイラブルエリアリスト更新手段
207による更新処理を図17に示すフローチャートを
参照して説明する。
【0128】図17に示すように、アベイラブルエリア
リスト更新手段207は、内容割り付けによってアベイ
ラブルエリアを全てを使い尽くしたか否かを判断する
(ステップ1701)。
【0129】ここで、使い尽くしていない場合は、割り
付けた内容部を保持する論理構造に割付けタイプ「横の
領域に他の内容が割付けられる」が指定されているか否
かを判断する(ステップ1702)。
【0130】ここで、指定されている場合は、現在の対
象アベイラブルエリアを分割対象アベイラブルエリアリ
ストとし、また今割り付けられた内容部のための割付け
構造を対象「枠」とするとともに、それらの情報を引数
にしてアベイラブルエリア分割手段203を呼び出し
て、アベイラブルエリアの分割を行わせる(ステップ1
703)。その後リターンする。
【0131】その分割に当たって、割付けタイプには
「左、右、中央」などのパラメータが指定されている場
合があるので、それを考慮して分割の仕方を考慮する。
ここで「右」というのは、「生成された割付け構造をア
ベイラブルエリアの右側に寄せた形で配置する」という
意味で、結果として割付け構造の左側の領域に他の内容
が流れ込む可能性があることを意味する。
【0132】ところで、上記ステップ1702において
割付けタイプが指定されていない場合は、使った領域の
高さを「h」としたとき、アベイラブルエリアカレント
ポイント保持手段204に保持されているアベイラブル
エリアカレントポイントの値「current-pos 」を「curr
ent-pos+h 」に更新する(ステップ1704)。その
後、「current-pos 」の値が、アベイラブルエリアカレ
ントポイント保持手段204に保持されているアベイラ
ブルエリアカレントポイントが指し示す現在のアベイラ
ブルエリアの高さを超えたか否かを判断する(ステップ
1705)。
【0133】ここで、超えた場合は、アベイラブルエリ
アリスト保持手段202に登録されているアベイラブル
エリアのリスト中で、アベイラブルエリアカレントポイ
ント保持手段204に保持されているアベイラブルエリ
アカレントポイントが指し示す現在のアベイラブルエリ
アの次のアベイラブルエリアを、新しい現在のアベイラ
ブルエリアとしてアベイラブルエリアカレントポイント
保持手段204に登録する。
【0134】新しい現在のアベイラブルエリアが最後の
アベイラブルエリアだったときは、アベイラブルエリア
カレントポイント保持手段204に保持されているアベ
イラブルエリアカレントポイントが指し示す現在のアベ
イラブルエリアをNULLに設定する(ステップ170
6)。
【0135】なお上記ステップ1701においてアベイ
ラブルエリアを全て使い尽くしてしまった場合は、ステ
ップ1706に進む。またステップ1705において高
さを超えていない場合はリターンする。
【0136】次に、あるページに固定の枠が割り付けら
れ、そのページに文書の論理構造を割り付けていく処理
動作を、図18乃至図25を参照しながら説明する。
【0137】(1)図18(a)に示すようなページの
構造の状態では、図18(b)に示すようなアベイラブ
ルエリアトストと、図19に示すようなアベイラブルエ
リアカレントポイントとが設定される。
【0138】なお、図18(a)に示すページの構造
は、図12(a)に示したページの構造に、カラム1と
カラム2とに跨っている、{左上の座標(fsx,fsy
),右下の座標(fex ,fey )}で表現される「固定
の枠」1800が配置された構造になっている。またア
ベイラブルエリアが分割されていないので、図18
(b)に示すアベイラブルエリアリストは、図12
(b)に示したアベイラブルエリアリストと同一のデー
タとなっており、更に図19に示すアベイラブルエリア
カレントポイントは、図13に示したアベイラブルエリ
アカレントポイントと同一のデータとなっている。
【0139】(2)割付け構造生成手段201は、割付
け処理における図14のステップ1402によって、現
在対象となっているカラムを、アベイラブルエリアカレ
ントポイント保持手段206に保持されている、図19
に示される、アベイラブルエリアカレントポイントの現
在のカラムのエントリを参照し、その値からカラム1と
決定する。
【0140】(3)また図14のステップ1403で、
割付け構造生成手段201は、アベイラブルエリアカレ
ントポイント保持手段206に保持されている、図19
に示される、アベイラブルエリアカレントポイントの現
在のアベイラブルエリアのエントリを参照するが、その
値がNULLとなっているので、図18(a)の状態で
はまだカラム1のアベイラブルエリアリストは存在しな
いと判断する。その後、図14のステップ1404へ進
む。
【0141】(4)図14のステップ1404で、割付
け構造生成手段201によってアベイラブルエリア分割
手段203が呼び出される。これにより、アベイラブル
エリア分割手段203によって、図18(a)に示され
るアベイラブルエリアは、図20(a)に示すように分
割される。その結果、図18(b)に示すアベイラブル
エリアは、図20(b)に示す内容に更新される。更
に、図19に示すアベイラブルエリアカレントポイント
は、図21に示す内容に更新される。その後、図14の
ステップ1405に進む。
【0142】なお図20(a)に示す例では、カラム1
内のアベイラブルエリアは、アベイラブルエリアN1、
N2、N3の各エリアに分割されているので、各エリア
は次のように表現されることとなる。
【0143】アベイラブルエリアN1は{左上の座標
(csx1,csy1),右下の座標(cex1,fsy )}で表現さ
れる。
【0144】アベイラブルエリアN2は{左上の座標
(csx1,fsy),右下の座標(fsx ,fey )}で表現さ
れる。
【0145】アベイラブルエリアN3は{左上の座標
(csx1,fey),右下の座標(cex1,cey1)}で表現さ
れる。
【0146】これにより、アベイラブルエリアリスト
は、図20(b)に示すように、カラム1のアベイラブ
ルエリアリストへのポインタP1が、アベイラブルエリ
アN1を指し示すように変更される。また、アベイラブ
ルエリアN1からアベイラブルエリアN2を指すよう
に、アベイラブルエリアN2からアベイラブルエリアN
3を指すように、それぞれポインタが設定される。最後
のアベイラブルエリアN3からはNULLが指し示され
ている。つまり各アベイラブルエリアがリスト形式の構
造で保持される。なおカラム2に関しては、アベイラブ
ルエリアが分割されていないので、そのままのデータに
なっている。
【0147】更に図21に示す例では、現在のカラムと
してカラム1が、現在のアベイラブルエリアとしてアベ
イラブルエリアN1が、current-pos としてcsy1
が、それぞれ登録されている。
【0148】(5)この状態での現在のアベイラブルエ
リアは、アベイラブルエリアカレントポイント保持手段
204に保持されている、図21に示される、アベイラ
ブルエリアカレントポイントの現在のアベイラブルエリ
アのエントリを参照することにより、値「N1」と分か
るので、割付け構造生成手段201は、アベイラブルエ
リア{(csx1,csy1),(cex1,cey1)}を内容割付け
手段104に引き渡して、割り付けを行わせる。
【0149】(6)図22(a)に示すページイメージ
の斜線の部分が内容割付けの結果使用した領域2200
であるとする。ここで領域2200は、アベイラブルエ
リアN1のY座標値(esy1)に値「h」を加えたY座標
値までの範囲とする。つまり使用されたY方向の長さが
「h」の値である。
【0150】この時、アベイラブルエリアN1には図2
2(a)に示すように未使用領域が存在しているので、
図17のステップ1701では「N0」となり、次に図
17のステップ1702に進む。このステップ1702
でも「NO」であるとすると、更に図17のステップ1
704に進み、この結果として、アベイラブルエリアカ
レントポイントは、図21に示す内容から図23に示す
内容に更新される。
【0151】すなわち、アベイラブルエリアカレントポ
イントの値のうち、current-pos の値が、「csy1」から
「csy1+h」に変更されている。この値がY座標値「fs
y 」と等しくなったときに、アベイラブルエリアN1は
内容割付けによって全て使用されたことになる。この場
合は、図17のステップ1701では「YES」になる
ので、図17のステップ1706に進み、この結果とし
て、図23に示すアベイラブルエリアカレントポイント
の値として、現在のカラムは「カラム1」のままであ
り、現在のアベイラブルエリアは「N1」から「N2」
に変更され、current-pos は「fsy」に設定されるこ
ととなる。
【0152】なお、アベイラブルエリアN1の一部の領
域が使用されたにも関わらず、図22(b)に示すアベ
イラブルエリアリストの内容が更新されていないのは、
このリストは、あくまでも、分割されたアベイラブルエ
リアの各エリアの大きさを知るためのものだからであ
る。従って、割り付け対象のアベイラブルエリアが、割
り付けのためにどのくらいの領域が使用されたかを知る
には、アベイラブルエリアカレントポイントの値を参照
すれば良い。
【0153】(7)以上で内容割付けの1サイクルが完
了する。全ての内容が割り付けられるまで、上記(1)
〜(6)の処理を繰り返す。
【0154】以上のようなサイクルの中で、アベイラブ
ルエリアN1が全て使用され、アベイラブルエリアN2
が割り付け対象のアベイラブルエリアとなったとする。
このとき、図24(a)に示す領域2400のような、
割付けタイプとして「横に他の内容が流れ込んで良い」
というタイプを持った内容の割付けが行われた場合、図
17のステップ1702では「YES」になり、図17
のステップ1703に進む。ステップ1703で、アベ
イラブルエリア分割手段203によってアベイラブルエ
リアN2の分割が行われることとなり、この結果とし
て、アベイラブルエリアN2は、図24(a)に示すよ
うに、アベイラブルエリアN2-1と、アベイラブルエリ
アN2-2とに分割される。
【0155】ここで領域2400が、長さ(Y方向)が
値「h」、幅(X方向)が値「w」の大きさであるとす
ると、今分割された各エリアは次のように表現される。
【0156】アベイラブルエリアN2-1は、{左上の座
標(csx1+w,fsy ),右下の座標(fsx ,fsy+h )}
で表現される。
【0157】アベイラブルエリアN2-2は、{左上の座
標(csx1,fsy +h),右下の座標(fsx ,fey )}で
表現される。
【0158】これにより、アベイラブルエリアリスト
は、図22(b)に示す内容から、図24(b)に示す
内容に変更される。変更後のリストは、図24(b)に
示すように、図22(b)に示すアベイラブルエリアN
2のリストがアベイラブルエリアN2-2に変更され、か
つ、アベイラブルエリアN1からアベイラブルエリアN
2-1を指し示すように、またアベイラブルエリアN2-1
からアベイラブルエリアN2-2を指し示すように、それ
ぞれポインタが設定されている。またアベイラブルエリ
アカレントポイントは、図25に示す内容になる。なお
current-pos の値「Y」は「fsy」と等しい値であ
る。
【0159】更に割り付け処理が進んで、カラム1、カ
ラム2のアベイラブルエリアリストも使い尽くしてしま
ったときは、割付け構造生成手段201は、図15のス
テップ1501に進むことになり、このステップでは
「YES」となるので図15のステップ1502へ進
む。更にステップ1503へ進み、このステップでの処
理結果が「YES」となるので、次のステップ1504
によって、新しいページが作られ、アベイラブルエリア
初期化手段205によって新しいページのカラムレベル
のアベイラブルエリアリストが生成されることとなる。
【0160】
【発明の効果】以上説明したように本発明によれば、従
来の如く、予め静的に割付け可能領域を分割しておくの
ではなく、動的に割付け可能領域を分割することによっ
て、枠の固定、枠の浮動に関わりなく、枠を避けての他
の内容の流し込みを行うことができ、所望の割付け結果
を得ることができる。
【0161】また既に割付けられた構造から割付け可能
領域を予めアベイラブルエリアリストの形で保持し、適
宜更新することにより、既に割付けられている割付け構
造への参照回数を減らしているため、高速に処理を実行
できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る文書処理装置の第1の実施例を示
す機能ブロック図。
【図2】図1に示した機能ブロック図を更に詳細に示し
た機能ブロック図。
【図3】第1の実施例におけるアベイラブルエリアリス
ト保持手段に保持されるアベイラブルエリアリストのデ
ータ構造の一例及びそのイメージを示す図。
【図4】第1の実施例における割付け構造生成手段の処
理動作を示すフローチャート。
【図5】第1の実施例におけるアベイラブルエリアリス
ト分割手段の処理動作を示すフローチャート。
【図6】第1の実施例におけるアベイラブルエリアリス
ト更新手段の処理動作を示すフローチャート。
【図7】第1の実施例におけるアベイラブルエリア初期
化手段の処理動作を示すフローチャート。
【図8】ページの割付けイメージを示す図。
【図9】ページに固定の枠が配置されているイメージを
示す図。
【図10】第1の実施例におけるアベイラブルエリア分
割手段によって図9に示したページ内のアベイラブルエ
リアが分割された後の、アベイラブルエリアリストのデ
ータ構造の一例及びそのリストのイメージを示す図。
【図11】図10に示したアベイラブルエリアリストの
データ構造に対する文書内容を割付けした後の、アベイ
ラブルエリアリストのデータ構造の一例及びそのリスト
のイメージを示す図。
【図12】本発明に係る文書処理装置の第2の実施例に
おけるアベイラブルエリアリスト保持手段に保持される
アベイラブルエリアリストのデータ構造の一例及びその
リストのイメージを示す図。
【図13】第2の実施例におけるアベイラブルエリアカ
レントポイント保持手段に保持されるアベイラブルエリ
アカレントポイントの一例を示す図。
【図14】第2の実施例における割付け構造生成手段の
処理動作を示すフローチャート。
【図15】第2の実施例における割付け構造生成手段の
処理動作を示すフローチャート。
【図16】第2の実施例におけるアベイラブルエリア初
期化手段の処理動作を示すフローチャート。
【図17】第2の実施例におけるアベイラブルエリアリ
スト更新手段の処理動作を示すフローチャート。
【図18】第2の実施例におけるアベイラブルエリアリ
スト保持手段に保持される、ページに固定の枠が配置さ
れている場合のアベイラブルエリアリストのデータ構造
の一例及びそのリストのイメージを示す図。
【図19】第2の実施例におけるアベイラブルエリアカ
レントポイント保持手段に保持される、図18に示す状
態でのアベイラブルエリアカレントポイントの一例を示
す図。
【図20】第2の実施例におけるアベイラブルエリア分
割手段によって図18に示したページ内のアベイラブル
エリアが分割された後の、アベイラブルエリアリストの
データ構造の一例及びそのリストのイメージを示す図。
【図21】第2の実施例におけるアベイラブルエリアカ
レントポイント保持手段に保持される、図20に示す状
態でのアベイラブルエリアカレントポイントの一例を示
す図。
【図22】図20に示したアベイラブルエリアリストの
データ構造に対する文書内容を割付けした後の、アベイ
ラブルエリアリストのデータ構造の一例及びそのリスト
のイメージを示す図。
【図23】第2の実施例におけるアベイラブルエリアカ
レントポイント保持手段に保持される、図22に示す状
態でのアベイラブルエリアカレントポイントの一例を示
す図。
【図24】図22に示したアベイラブルエリアリストの
データ構造に対して、割付けタイプとして「横に他の内
容が流れ込んで良い」というタイプを持った内容が割付
けが行われた後の、アベイラブルエリアリストのデータ
構造の一例及びそのリストのイメージを示す図。
【図25】第2の実施例におけるアベイラブルエリアカ
レントポイント保持手段に保持される、図24に示す状
態でのアベイラブルエリアカレントポイントの一例を示
す図。
【図26】従来における「ページに固定された図」の割
付け処理を説明するための図。
【図27】従来における「本文に追従して浮動する図」
の割付け処理を説明するための図。
【図28】従来における「本文に追従して浮動する図」
の割付け処理を説明するための図。
【図29】従来における「図の横にテキストの流し込み
を行う浮動する図」のための共通割付け構造及び論理構
造を示す図。
【図30】図29に示した論理構造を図29に示した共
通割付け構造の制約の範囲内で割付けした場合の割付け
結果を示す図。
【図31】従来における割付け処理では割付けできない
「本文に追従して浮動する図」の割付けを説明するため
の図。
【符号の説明】
101…論理構造保持手段、102…内容保持手段、1
03…割付け構造保持手段、104…内容割付け手段、
105…割付けタイプ指定手段、106、201…割付
け構造生成手段、107、204…アベイラブルエリア
探索手段、108、202…アベイラブルエリアリスト
保持手段、109、203…アベイラブルエリアリスト
分割手段、205…アベイラブルエリア初期化手段、2
06…アベイラブルエリアカレントポイント保持手段、
207…アベイラブルエリアリスト更新手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 直樹 神奈川県横浜市保土ケ谷区神戸町134番地 横浜ビジネスパーク イーストタワー 富士ゼロツクス株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】文書の論理構造から文書の割付け構造を生
    成する文書処理装置において、 前記文書の内容部を流し込める領域を示すアベイラブル
    エリアを、割付け途中の割付け構造を参照して探索する
    アベイラブルエリア探索手段と、 前記アベイラブルエリア探索手段により探索されたアベ
    イラブルエリア、或いはそのアベイラブルエリアのリス
    トを保持するアベイラブルエリアリスト保持手段と、 前記アベイラブルエリアリスト保持手段に保持されてい
    るアベイラブルエリアと、前記文書の論理構造に対する
    割付け処理以前に既に割付けられている割付け構造とが
    重なっている場合は、当該既に割付けられている構造を
    考慮して当該アベイラブルエリアを分割すると共に、該
    分割後の各エリアのリストを前記アベイラブルエリアリ
    スト保持手段に登録するアベイラブルエリア分割手段と
    を具えたことを特徴とする文書処理装置。
  2. 【請求項2】前記アベイラブルエリア探索手段は、 所定の範囲のアベイラブルエリアを調べて、そのエリア
    のリストを作成するアベイラブルエリアリスト初期化手
    段と、 前記アベイラブルエリアリスト初期化手段により作成さ
    れたアベイラブルエリアのリストのうち、現在割付けが
    進んでいる領域を示す情報を保持するアベイラブルエリ
    アカレントポイント保持手段と、 割付けの結果に応じて前記アベイラブルエリアのリスト
    の更新を行うアベイラブルエリアリスト更新手段とを具
    えたことを特徴とする請求項1記載の文書処理装置。
JP3249579A 1991-09-27 1991-09-27 文書処理装置 Pending JPH0589101A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3249579A JPH0589101A (ja) 1991-09-27 1991-09-27 文書処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3249579A JPH0589101A (ja) 1991-09-27 1991-09-27 文書処理装置

Publications (1)

Publication Number Publication Date
JPH0589101A true JPH0589101A (ja) 1993-04-09

Family

ID=17195108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3249579A Pending JPH0589101A (ja) 1991-09-27 1991-09-27 文書処理装置

Country Status (1)

Country Link
JP (1) JPH0589101A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4857434A (en) * 1986-09-23 1989-08-15 W. R. Grace & Co. Radiation curable liquid (meth) acrylated polymeric hydrocarbon maleate prepolymers and formulations containing same
US7281210B2 (en) 2003-03-12 2007-10-09 Seiko Epson Corporation Layout system, layout program, and layout method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4857434A (en) * 1986-09-23 1989-08-15 W. R. Grace & Co. Radiation curable liquid (meth) acrylated polymeric hydrocarbon maleate prepolymers and formulations containing same
US7281210B2 (en) 2003-03-12 2007-10-09 Seiko Epson Corporation Layout system, layout program, and layout method

Similar Documents

Publication Publication Date Title
RU2419856C2 (ru) Различные виды оформления с гармоничной версткой для динамически агрегированных документов
US7281210B2 (en) Layout system, layout program, and layout method
US20100275152A1 (en) Arranging graphic objects on a page with text
JPH0594433A (ja) 文書処理装置
JPS6095679A (ja) 書類処理システム用制御構造
JPH1055397A (ja) 表割付装置
JPH05189281A (ja) 記憶装置のファイル割当て方式
JP2010061311A (ja) 情報処理装置並びにコンピューター・プログラム
US7624403B2 (en) API for building semantically rich diagramming tools
CN112784188B (zh) 一种页面渲染方法及装置
JP2009054001A (ja) 画像処理装置及びプログラム
JPH0589101A (ja) 文書処理装置
US5893122A (en) Hyper-media system including plural application processors which execute navigation processing for hyper-media document
JP2915352B2 (ja) イメージ処理システム
JPH08147152A (ja) ソフトウェア仕様再利用支援装置
CN114327208B (zh) 一种图例展示方法、装置、存储介质及终端
JPH03176148A (ja) 文書レイアウト編集装置
US20070061602A1 (en) Information processing method, information-processing appartus, recording medium, and program
JPH1069480A (ja) 文書処理方法及び文書処理装置、記憶媒体
JPWO2004057457A1 (ja) 印刷制御装置及び印刷制御方法
JP3477716B2 (ja) 文書処理装置および方法
JP3536362B2 (ja) 描画データ生成方法
JP2982134B2 (ja) 主記憶装置の割り当てサイズ決定方法
JPH0667836A (ja) 指定エリア掲示機能を有する表示装置
JPS59119386A (ja) バツフア領域の制御方式