JPH07282053A - 文書編集装置 - Google Patents
文書編集装置Info
- Publication number
- JPH07282053A JPH07282053A JP6077126A JP7712694A JPH07282053A JP H07282053 A JPH07282053 A JP H07282053A JP 6077126 A JP6077126 A JP 6077126A JP 7712694 A JP7712694 A JP 7712694A JP H07282053 A JPH07282053 A JP H07282053A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- temporary storage
- format
- held
- elements
- 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
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】 タグが付けられた原稿に対し、複数のレイア
ウトフォーマットをレイアウトルールに基づいて階層的
に生成、提示することにより、効率良いレイアウト編集
を可能とする。 【構成】 原稿作成手段11がユーザの指示に基づいて
作成する原稿に対し、レイアウトフォーマット生成手段
14が、データベース部20が保持するレイアウトルー
ルに基づいて複数のレイアウトフォーマットを階層的に
生成、提示し、その中からユーザが選択したレイアウト
フォーマットにしたがって、自動レイアウト手段17が
原稿に記述された内容のレイアウトを実行する。
ウトフォーマットをレイアウトルールに基づいて階層的
に生成、提示することにより、効率良いレイアウト編集
を可能とする。 【構成】 原稿作成手段11がユーザの指示に基づいて
作成する原稿に対し、レイアウトフォーマット生成手段
14が、データベース部20が保持するレイアウトルー
ルに基づいて複数のレイアウトフォーマットを階層的に
生成、提示し、その中からユーザが選択したレイアウト
フォーマットにしたがって、自動レイアウト手段17が
原稿に記述された内容のレイアウトを実行する。
Description
【0001】
【産業上の利用分野】本発明は、文書のレイアウト編集
を行なう文書編集装置に関する。
を行なう文書編集装置に関する。
【0002】
【従来の技術】近年、文書を論理構造、レイアウト構
造、及び内容に分離して扱う文書作成、編集装置が開発
されてきている(例えば、情報処理学会研究報告91−
MIC_67”ODA道具箱の開発について”など)。
造、及び内容に分離して扱う文書作成、編集装置が開発
されてきている(例えば、情報処理学会研究報告91−
MIC_67”ODA道具箱の開発について”など)。
【0003】まず、このような文書編集装置において、
文書がどのように扱われるかを説明する。
文書がどのように扱われるかを説明する。
【0004】文書は、その内容を見出し、本文、注意、
あるいは章、節、項といった論理的に階層化した要素に
分割される。分割された個々の要素を論理要素と呼び、
これらを一つのノードから始まる階層的な木構造とした
ものを論理構造と呼ぶ。文書の内容そのものは、それ以
上分割できない最下層の論理要素に結びつけて管理され
る。文書はまた、ページ、見出し枠、本文枠、注意枠と
いったレイアウト的に階層化した要素に分割される。
あるいは章、節、項といった論理的に階層化した要素に
分割される。分割された個々の要素を論理要素と呼び、
これらを一つのノードから始まる階層的な木構造とした
ものを論理構造と呼ぶ。文書の内容そのものは、それ以
上分割できない最下層の論理要素に結びつけて管理され
る。文書はまた、ページ、見出し枠、本文枠、注意枠と
いったレイアウト的に階層化した要素に分割される。
【0005】分割した個々の要素をレイアウト要素と呼
び、これらを一つのノードから始まる階層的な木構造と
したものをレイアウト構造と呼ぶ。レイアウト要素は、
配置や内容表現をそれぞれどのように行なうかというレ
イアウトに関する情報を持っており、これらの情報をレ
イアウト属性と呼ぶ。レイアウト要素は、その領域内に
割り付けられる内容を通して論理要素と関係づけられる
が、どの論理要素がどのレイアウト要素に対応するかと
いうことは要素の名前毎に定義され、対応規則と呼ばれ
る。例えば、見出しという名前の論理要素は見出し枠と
いう名前のレイアウト要素に結びつけられる。文書を表
示する際には、論理要素に結びつけられた内容が見出し
枠に割り付けられて表示される。
び、これらを一つのノードから始まる階層的な木構造と
したものをレイアウト構造と呼ぶ。レイアウト要素は、
配置や内容表現をそれぞれどのように行なうかというレ
イアウトに関する情報を持っており、これらの情報をレ
イアウト属性と呼ぶ。レイアウト要素は、その領域内に
割り付けられる内容を通して論理要素と関係づけられる
が、どの論理要素がどのレイアウト要素に対応するかと
いうことは要素の名前毎に定義され、対応規則と呼ばれ
る。例えば、見出しという名前の論理要素は見出し枠と
いう名前のレイアウト要素に結びつけられる。文書を表
示する際には、論理要素に結びつけられた内容が見出し
枠に割り付けられて表示される。
【0006】次に、上記のように構造化された文書に対
するレイアウト編集の従来例を、図26に基づいて具体
的に説明する。図26は、従来の文書編集装置の概略構
成を示すブロック図である。
するレイアウト編集の従来例を、図26に基づいて具体
的に説明する。図26は、従来の文書編集装置の概略構
成を示すブロック図である。
【0007】原稿作成手段は、ユーザが入力する論理要
素名と内容の組に従い、文書の原稿を作成する。データ
ベース部は、文書のレイアウトフォーマットのサンプル
を複数保持する。このサンプルには、ユーザが指定でき
るように名前をつけて管理する。ここで、レイアウトフ
ォーマットとは、複数のレイアウト要素間の階層関係
と、個々のレイアウト要素に対してそのレイアウト属性
と値が定義されたデータである。レイアウトフォーマッ
ト選択手段は、データベース部が保持する複数のサンプ
ルのデータの中から、ユーザが指定した名前のデータを
取り出し、文書のレイアウトフォーマットとして決定す
る。
素名と内容の組に従い、文書の原稿を作成する。データ
ベース部は、文書のレイアウトフォーマットのサンプル
を複数保持する。このサンプルには、ユーザが指定でき
るように名前をつけて管理する。ここで、レイアウトフ
ォーマットとは、複数のレイアウト要素間の階層関係
と、個々のレイアウト要素に対してそのレイアウト属性
と値が定義されたデータである。レイアウトフォーマッ
ト選択手段は、データベース部が保持する複数のサンプ
ルのデータの中から、ユーザが指定した名前のデータを
取り出し、文書のレイアウトフォーマットとして決定す
る。
【0008】自動レイアウト手段は、原稿から内容と論
理要素名を取り出し、その論理要素名に対応するレイア
ウト要素を生成する。そしてレイアウトフォーマットの
中の同じ名前のレイアウト要素が持つレイアウト属性の
値を参照し、生成したレイアウト要素のレイアウト属性
の値とする。また、生成したレイアウト要素間に、レイ
アウトフォーマットを参照して階層関係を持たせる。
理要素名を取り出し、その論理要素名に対応するレイア
ウト要素を生成する。そしてレイアウトフォーマットの
中の同じ名前のレイアウト要素が持つレイアウト属性の
値を参照し、生成したレイアウト要素のレイアウト属性
の値とする。また、生成したレイアウト要素間に、レイ
アウトフォーマットを参照して階層関係を持たせる。
【0009】出力制御手段は、内容を、それが割り付け
られるレイアウト要素が持つレイアウト属性の値に従っ
て出力可能なデータ形式に変換し、ディスプレイやプリ
ンタなどに出力する。
られるレイアウト要素が持つレイアウト属性の値に従っ
て出力可能なデータ形式に変換し、ディスプレイやプリ
ンタなどに出力する。
【0010】
【発明が解決しようとする課題】ところが、従来のよう
な文書編集装置では、データベース部が提供するレイア
ウトフォーマットのサンプルは、ページ単位でレイアウ
ト要素の構成が固定されており、ユーザが自由に要素を
組み合わせることが難しいという問題点があった。
な文書編集装置では、データベース部が提供するレイア
ウトフォーマットのサンプルは、ページ単位でレイアウ
ト要素の構成が固定されており、ユーザが自由に要素を
組み合わせることが難しいという問題点があった。
【0011】また、1つのサンプルにはページ内の全て
の要素に関する情報が定義されているので、サンプルの
数が増えるに従って同じ種類の要素に関する定義の重複
が発生し、サンプルを保存しておくために必要なデータ
量が無駄に大きくなるという問題があった。
の要素に関する情報が定義されているので、サンプルの
数が増えるに従って同じ種類の要素に関する定義の重複
が発生し、サンプルを保存しておくために必要なデータ
量が無駄に大きくなるという問題があった。
【0012】また、ユーザがサンプルを名前によって指
定するので、どのようなサンプルがあるのかを事前に知
っておかないと、適当なサンプルを選択できないという
問題点があった。
定するので、どのようなサンプルがあるのかを事前に知
っておかないと、適当なサンプルを選択できないという
問題点があった。
【0013】また、一度自動レイアウトを行なった後
は、個々のレイアウト要素単位でのレイアウトの変更は
出来ても、同じ名前を持つレイアウト要素のレイアウト
をまとめて変更することが出来ないという問題点があっ
た。
は、個々のレイアウト要素単位でのレイアウトの変更は
出来ても、同じ名前を持つレイアウト要素のレイアウト
をまとめて変更することが出来ないという問題点があっ
た。
【0014】本発明は、上記問題点に鑑み、レイアウト
フォーマットを構成するレイアウト要素の組合せの自由
度を大きくするとともに、レイアウトフォーマットのサ
ンプルを提供するために必要なデータ量を少なくし、ユ
ーザが、あらかじめどのようなレイアウトが可能なのか
を知っておく必要をなくし、自動レイアウト後の文書に
対してもレイアウトの修正が容易に行なえるようにし、
レイアウトフォーマットの生成に関してユーザの好みを
反映させることにより、ユーザのレイアウト作業の効率
を向上させることができる文書編集装置を提供すること
を目的とする。
フォーマットを構成するレイアウト要素の組合せの自由
度を大きくするとともに、レイアウトフォーマットのサ
ンプルを提供するために必要なデータ量を少なくし、ユ
ーザが、あらかじめどのようなレイアウトが可能なのか
を知っておく必要をなくし、自動レイアウト後の文書に
対してもレイアウトの修正が容易に行なえるようにし、
レイアウトフォーマットの生成に関してユーザの好みを
反映させることにより、ユーザのレイアウト作業の効率
を向上させることができる文書編集装置を提供すること
を目的とする。
【0015】
【課題を解決するための手段】上記問題点を解決するた
めに、本発明では、指定されたレイアウト要素に対応す
る単位から構成され、各単位は内容とその論理要素名と
の複数の組から構成される原稿を作成する原稿作成手段
と、前記原稿作成手段を用いて作成された前記原稿の、
指定された前記単位から論理構造を抽出する論理構造抽
出手段と、文書のレイアウトに関するルールを保持する
データベース部と、前記論理構造抽出手段が抽出した前
記論理構造に基づき、文書の共通レイアウト構造を生成
する共通レイアウト構造生成手段と、前記共通レイアウ
ト構造内のあるレイアウト要素が持つレイアウト属性の
値を提示し、その要素が1つ下の階層に持つ複数のレイ
アウト要素のレイアウト属性の値を前記データベース部
が保持するルールに基づいて決定し、提示することを、
最上位のレイアウト要素から、下層に向かって下位のレ
イアウト要素が存在しなくなるまで繰り返すことによ
り、前記共通レイアウト構造を構成する全てのレイアウ
ト要素のレイアウト属性の値が決定されたレイアウトフ
ォーマットを生成するレイアウトフォーマット生成手段
と、ユーザの指示にしたがい前記レイアウトフォーマッ
トに定義されたレイアウト要素が持つレイアウト属性の
値を変更するレイアウトフォーマット編集手段と、前記
レイアウトフォーマット生成手段、もしくは前記レイア
ウトフォーマット編集手段によって得られた前記レイア
ウトフォーマットに基づき、前記原稿に記述された論理
要素名と対応するレイアウト要素を生成し、該論理要素
名に対応する内容を該レイアウト要素に割り付ける自動
レイアウト手段と、前記自動レイアウト手段によりレイ
アウト要素に内容が割り付けられた文書を出力する出力
制御装置を備える。
めに、本発明では、指定されたレイアウト要素に対応す
る単位から構成され、各単位は内容とその論理要素名と
の複数の組から構成される原稿を作成する原稿作成手段
と、前記原稿作成手段を用いて作成された前記原稿の、
指定された前記単位から論理構造を抽出する論理構造抽
出手段と、文書のレイアウトに関するルールを保持する
データベース部と、前記論理構造抽出手段が抽出した前
記論理構造に基づき、文書の共通レイアウト構造を生成
する共通レイアウト構造生成手段と、前記共通レイアウ
ト構造内のあるレイアウト要素が持つレイアウト属性の
値を提示し、その要素が1つ下の階層に持つ複数のレイ
アウト要素のレイアウト属性の値を前記データベース部
が保持するルールに基づいて決定し、提示することを、
最上位のレイアウト要素から、下層に向かって下位のレ
イアウト要素が存在しなくなるまで繰り返すことによ
り、前記共通レイアウト構造を構成する全てのレイアウ
ト要素のレイアウト属性の値が決定されたレイアウトフ
ォーマットを生成するレイアウトフォーマット生成手段
と、ユーザの指示にしたがい前記レイアウトフォーマッ
トに定義されたレイアウト要素が持つレイアウト属性の
値を変更するレイアウトフォーマット編集手段と、前記
レイアウトフォーマット生成手段、もしくは前記レイア
ウトフォーマット編集手段によって得られた前記レイア
ウトフォーマットに基づき、前記原稿に記述された論理
要素名と対応するレイアウト要素を生成し、該論理要素
名に対応する内容を該レイアウト要素に割り付ける自動
レイアウト手段と、前記自動レイアウト手段によりレイ
アウト要素に内容が割り付けられた文書を出力する出力
制御装置を備える。
【0016】
【作用】本発明は、レイアウトフォーマットのサンプル
が必要とされる時に、レイアウトフォーマット生成手段
が、共通レイアウト構造が生成する共通レイアウト構造
と、データベース部が保持するレイアウト要素毎に複数
定義されたレイアウト属性の値をもとに、逐次レイアウ
トフォーマットを生成することにより、複数のサンプル
をあらかじめ用意する必要をなくし、サンプルデータの
保存に必要な記憶容量を減らす。
が必要とされる時に、レイアウトフォーマット生成手段
が、共通レイアウト構造が生成する共通レイアウト構造
と、データベース部が保持するレイアウト要素毎に複数
定義されたレイアウト属性の値をもとに、逐次レイアウ
トフォーマットを生成することにより、複数のサンプル
をあらかじめ用意する必要をなくし、サンプルデータの
保存に必要な記憶容量を減らす。
【0017】また、レイアウトフォーマット生成手段
が、レイアウトが異なる複数のレイアウトフォーマット
のサンプルを同時に生成、提示し、その中からユーザの
イメージに最も近いものを選択させることにより、ユー
ザがあらかじめどのようなレイアウトが可能であるかを
知っておく必要をなくす。
が、レイアウトが異なる複数のレイアウトフォーマット
のサンプルを同時に生成、提示し、その中からユーザの
イメージに最も近いものを選択させることにより、ユー
ザがあらかじめどのようなレイアウトが可能であるかを
知っておく必要をなくす。
【0018】また、レイアウトフォーマット生成手段
が、一度にレイアウトフォーマットの全てを提示するだ
けではなく、共通レイアウト構造が生成する共通レイア
ウト構造に従って、一つの階層毎にレイアウトフォーマ
ットを生成、提示し、ユーザに選択させることで、レイ
アウトフォーマットを生成する途中の段階で、ユーザの
好みを反映させる。
が、一度にレイアウトフォーマットの全てを提示するだ
けではなく、共通レイアウト構造が生成する共通レイア
ウト構造に従って、一つの階層毎にレイアウトフォーマ
ットを生成、提示し、ユーザに選択させることで、レイ
アウトフォーマットを生成する途中の段階で、ユーザの
好みを反映させる。
【0019】また、論理構造抽出手段によりユーザが作
成した原稿を解析し、その結果をもとに共通レイアウト
構造生成手段によりレイアウト構造を生成することで、
ユーザが望む文書の構成に従ったレイアウトを提供す
る。
成した原稿を解析し、その結果をもとに共通レイアウト
構造生成手段によりレイアウト構造を生成することで、
ユーザが望む文書の構成に従ったレイアウトを提供す
る。
【0020】また、自動レイアウト後に、レイアウト編
集手段がユーザの指示に従って文書中の特定のレイアウ
ト要素が持つレイアウト属性の値を変更すると同時に、
同じ名前を持つレイアウト要素全てに対しても、それら
が持つレイアウト属性を同じ値に自動的に変更すること
により、自動レイアウト後の文書全体に対するレイアウ
トの変更を可能にする。
集手段がユーザの指示に従って文書中の特定のレイアウ
ト要素が持つレイアウト属性の値を変更すると同時に、
同じ名前を持つレイアウト要素全てに対しても、それら
が持つレイアウト属性を同じ値に自動的に変更すること
により、自動レイアウト後の文書全体に対するレイアウ
トの変更を可能にする。
【0021】
【実施例】以下、本発明の一実施例の文書編集装置につ
いて、図面を参照しながら説明する。
いて、図面を参照しながら説明する。
【0022】図1は、本実施例における文書編集装置の
構成図である。図1において、原稿作成手段11は、複
数の原稿構成単位から構成され、論理要素名と内容の組
が記述される原稿をユーザの指示に従って作成するもの
である。
構成図である。図1において、原稿作成手段11は、複
数の原稿構成単位から構成され、論理要素名と内容の組
が記述される原稿をユーザの指示に従って作成するもの
である。
【0023】論理要素検索手段12は、原稿作成手段1
1が作成した原稿に記述される論理要素名を原稿構成単
位毎に調べ、最も多くの論理要素名を使用する構成単位
を取り出すものである。
1が作成した原稿に記述される論理要素名を原稿構成単
位毎に調べ、最も多くの論理要素名を使用する構成単位
を取り出すものである。
【0024】論理構造抽出手段13は、論理要素検索手
段12が取り出した原稿構成単位の解析を行ない、その
論理構造を抽出するものである。
段12が取り出した原稿構成単位の解析を行ない、その
論理構造を抽出するものである。
【0025】共通レイアウト構造生成手段14は、論理
構造抽出手段13が抽出した論理構造に基づき、文書の
共通レイアウト構造を生成するものである。データベー
ス部20はレイアウトに関するルールを保持するもので
ある。
構造抽出手段13が抽出した論理構造に基づき、文書の
共通レイアウト構造を生成するものである。データベー
ス部20はレイアウトに関するルールを保持するもので
ある。
【0026】レイアウトフォーマット生成手段15は、
共通レイアウト構造中のレイアウト要素が持つレイアウ
ト属性の値を、階層構造の1階層毎に、データベース部
20が保持するレイアウトルールとユーザの指示に基づ
いて決定し、レイアウトフォーマットを生成するもので
ある。
共通レイアウト構造中のレイアウト要素が持つレイアウ
ト属性の値を、階層構造の1階層毎に、データベース部
20が保持するレイアウトルールとユーザの指示に基づ
いて決定し、レイアウトフォーマットを生成するもので
ある。
【0027】レイアウトフォーマット編集手段16は、
レイアウトフォーマット生成手段15が生成するレイア
ウトフォーマットを、ユーザの指示に基づいて修正する
ものである。
レイアウトフォーマット生成手段15が生成するレイア
ウトフォーマットを、ユーザの指示に基づいて修正する
ものである。
【0028】ルール更新手段21は、レイアウトフォー
マット編集手段に対してユーザが指示した修正データに
基づき、データベース部20が保持するレイアウトルー
ルを修正するものである。
マット編集手段に対してユーザが指示した修正データに
基づき、データベース部20が保持するレイアウトルー
ルを修正するものである。
【0029】レイアウト構造表示手段22は、レイアウ
トフォーマット中のレイアウト要素の階層関係を表示す
るものである。
トフォーマット中のレイアウト要素の階層関係を表示す
るものである。
【0030】自動レイアウト手段17は、レイアウトフ
ォーマットに基づき、原稿に記述された内容毎にそれを
割り付けるレイアウト要素を生成し、それらの要素間の
階層関係を決定すると共にレイアウト属性の値を決定す
ることによって、整形済み文書を作成するものである。
ォーマットに基づき、原稿に記述された内容毎にそれを
割り付けるレイアウト要素を生成し、それらの要素間の
階層関係を決定すると共にレイアウト属性の値を決定す
ることによって、整形済み文書を作成するものである。
【0031】レイアウト編集手段18は、自動レイアウ
ト手段が決定した各レイアウト要素毎のレイアウト属性
の値を、ユーザの指示に基づいて修正するものである。
ト手段が決定した各レイアウト要素毎のレイアウト属性
の値を、ユーザの指示に基づいて修正するものである。
【0032】レイアウトフォーマット再編集手段23
は、自動レイアウト手段17が既に参照したレイアウト
フォーマットを、ユーザの指示に従って再度修正するも
のである。
は、自動レイアウト手段17が既に参照したレイアウト
フォーマットを、ユーザの指示に従って再度修正するも
のである。
【0033】再レイアウト手段24は、再度修正された
レイアウトフォーマットに基づき、自動レイアウト手段
17と同様の処理によって、整形済み文書内の内容が割
り付けられたレイアウト要素が持つレイアウト属性の値
を再決定するものである。
レイアウトフォーマットに基づき、自動レイアウト手段
17と同様の処理によって、整形済み文書内の内容が割
り付けられたレイアウト要素が持つレイアウト属性の値
を再決定するものである。
【0034】出力制御手段19は、整形済み文書のレイ
アウト要素に割り付けられた内容を、レイアウト属性の
値に従って出力可能なデータ形式に変換し、ディスプレ
イやプリンタなどに出力するものである。
アウト要素に割り付けられた内容を、レイアウト属性の
値に従って出力可能なデータ形式に変換し、ディスプレ
イやプリンタなどに出力するものである。
【0035】本装置において、原稿はポインタで結ばれ
たリスト構造をとる複数の原稿構成単位から構成され、
1つの原稿構成単位はさらに、内容データと、そのデー
タが持つ論理的意味を示す論理要素名の、複数の組から
構成される。
たリスト構造をとる複数の原稿構成単位から構成され、
1つの原稿構成単位はさらに、内容データと、そのデー
タが持つ論理的意味を示す論理要素名の、複数の組から
構成される。
【0036】原稿に記述される論理要素名を特にタグと
呼ぶ。同じタグを持つ内容が、複数記述されてもよい。
1つの原稿構成単位には、自動レイアウト手段において
レイアウトが一括して行なわれるページ数に割り付けら
れるだけの内容を記述する例えば、1ページ単位でレイ
アウトを行なう文書では1ページに納めたい内容を、見
開きページ単位でレイアウトを行なう文書では1つの見
開きページに納めたい内容を、それぞれ1つの原稿構成
単位に記述する。内容データは、文章の他にイラストな
ど文字以外のものもあるが、文章以外の場合はそのデー
タの種類を示す識別子と、実体を参照するためのポイン
タとなる文字列、例えばファイル名が記述される。
呼ぶ。同じタグを持つ内容が、複数記述されてもよい。
1つの原稿構成単位には、自動レイアウト手段において
レイアウトが一括して行なわれるページ数に割り付けら
れるだけの内容を記述する例えば、1ページ単位でレイ
アウトを行なう文書では1ページに納めたい内容を、見
開きページ単位でレイアウトを行なう文書では1つの見
開きページに納めたい内容を、それぞれ1つの原稿構成
単位に記述する。内容データは、文章の他にイラストな
ど文字以外のものもあるが、文章以外の場合はそのデー
タの種類を示す識別子と、実体を参照するためのポイン
タとなる文字列、例えばファイル名が記述される。
【0037】図3は、原稿データの一実施例であり、タ
グとその内容データを示す文字列で構成される。タグと
しては原稿の左部に論理要素名が書かれ、その右部にそ
れぞれ対応する内容が書かれる。イラストなどについて
は、そのファイル名が識別子<>で囲まれて記述されて
いる。
グとその内容データを示す文字列で構成される。タグと
しては原稿の左部に論理要素名が書かれ、その右部にそ
れぞれ対応する内容が書かれる。イラストなどについて
は、そのファイル名が識別子<>で囲まれて記述されて
いる。
【0038】原稿に記述された内容はその論理的意味に
よって分割されているが、それらをより大きな論理的意
味でまとめ階層化した論理構造は、内容を持つ基本論理
要素と、複数の論理要素をより大きな意味でまとめる複
合論理要素から構成される木構造をなす。ある論理要素
がどの複合論理要素のもとにまとめられるかは、管理テ
ーブルにあらかじめ名前ごとに定義されている。また、
ある論理要素に対して、その1つ下の階層に論理要素が
ある場合、上位の要素を親、下位の要素を子供と呼ぶ。
基本論理要素は、原稿に記述された内容ごとに生成さ
れ、タグと同じ名前を持つ。複合論理要素は、独自の名
前を持つ。また、個々の論理要素は、ユニークなIDを
持つ。複数の子供の論理要素を持つ複合論理要素に対
し、その子供の集合は、原稿中に現れる順番にしたがっ
て、相互にポインタで結合されたリスト構造をとる。親
要素は、このリストの先頭の要素を指すポインタを持
ち、リストの先頭の要素は親要素を指すポインタを持
つ。これらのポインタによって、木構造が生成される。
論理構造は原稿構成単位ごとに生成し、最上位の複合論
理要素は原稿構成単位そのものに等しい。
よって分割されているが、それらをより大きな論理的意
味でまとめ階層化した論理構造は、内容を持つ基本論理
要素と、複数の論理要素をより大きな意味でまとめる複
合論理要素から構成される木構造をなす。ある論理要素
がどの複合論理要素のもとにまとめられるかは、管理テ
ーブルにあらかじめ名前ごとに定義されている。また、
ある論理要素に対して、その1つ下の階層に論理要素が
ある場合、上位の要素を親、下位の要素を子供と呼ぶ。
基本論理要素は、原稿に記述された内容ごとに生成さ
れ、タグと同じ名前を持つ。複合論理要素は、独自の名
前を持つ。また、個々の論理要素は、ユニークなIDを
持つ。複数の子供の論理要素を持つ複合論理要素に対
し、その子供の集合は、原稿中に現れる順番にしたがっ
て、相互にポインタで結合されたリスト構造をとる。親
要素は、このリストの先頭の要素を指すポインタを持
ち、リストの先頭の要素は親要素を指すポインタを持
つ。これらのポインタによって、木構造が生成される。
論理構造は原稿構成単位ごとに生成し、最上位の複合論
理要素は原稿構成単位そのものに等しい。
【0039】図4は、図3の原稿に書かれたタグ、すな
わち論理要素名の組合せに対して生成される論理構造の
概念図、図5は管理テーブルの一実施例、図6は論理構
造のデータ記述に関する一実施例である。図4では、最
上位に原稿構成単位に対応する「項」という名前の要素
があり、その下にそれぞれ原稿に書かれた論理要素名を
大きくまとめる「見出し」「説明文」という名前を持つ
複合論理要素がぶら下がった形になる。図5では、どの
論理要素が、その下にどのような論理要素を持つことが
出来るのかが、名前をキーワードとして書かれており、
例えば、「見出し」という名前を持つ論理要素は、その
下に「主見出し」「副見出し」という名前の論理要素を
持つことが出来る。図6では、論理要素毎に、その論理
要素が持つ名前や他の論理要素との関係が記述されてい
る。
わち論理要素名の組合せに対して生成される論理構造の
概念図、図5は管理テーブルの一実施例、図6は論理構
造のデータ記述に関する一実施例である。図4では、最
上位に原稿構成単位に対応する「項」という名前の要素
があり、その下にそれぞれ原稿に書かれた論理要素名を
大きくまとめる「見出し」「説明文」という名前を持つ
複合論理要素がぶら下がった形になる。図5では、どの
論理要素が、その下にどのような論理要素を持つことが
出来るのかが、名前をキーワードとして書かれており、
例えば、「見出し」という名前を持つ論理要素は、その
下に「主見出し」「副見出し」という名前の論理要素を
持つことが出来る。図6では、論理要素毎に、その論理
要素が持つ名前や他の論理要素との関係が記述されてい
る。
【0040】レイアウトフォーマットは、文書の各ペー
ジのレイアウトの基本となるパターンを定義するもの
で、階層的につながったレイアウト要素の集合で構成さ
れる。また、レイアウトパターンを共通にしたい複数の
原稿構成単位に対してただ一つだけ定義される。逆に、
文書中で複数のレイアウトパターンを利用したければそ
の数だけレイアウトフォーマットが定義される。レイア
ウト要素は、階層関係を示す情報と、ページ上での配置
や内容の表現に関する情報を持つが、特に前者に注目し
て、レイアウト要素間の階層関係のみを定義するものを
共通レイアウト構造と呼び、これは論理構造と同じく木
構造をなす。共通レイアウト構造は、ある特定の論理構
造に対応し、論理構造中の論理要素と1対1に対応す
る、論理要素と同じ名前のレイアウト要素を持ち、それ
ぞれのレイアウト要素は論理構造と同じ階層関係を持
つ。基本論理構造に対応するレイアウト要素を基本レイ
アウト要素、複合論理要素に対応するレイアウト要素を
複合レイアウト要素と呼ぶ。
ジのレイアウトの基本となるパターンを定義するもの
で、階層的につながったレイアウト要素の集合で構成さ
れる。また、レイアウトパターンを共通にしたい複数の
原稿構成単位に対してただ一つだけ定義される。逆に、
文書中で複数のレイアウトパターンを利用したければそ
の数だけレイアウトフォーマットが定義される。レイア
ウト要素は、階層関係を示す情報と、ページ上での配置
や内容の表現に関する情報を持つが、特に前者に注目し
て、レイアウト要素間の階層関係のみを定義するものを
共通レイアウト構造と呼び、これは論理構造と同じく木
構造をなす。共通レイアウト構造は、ある特定の論理構
造に対応し、論理構造中の論理要素と1対1に対応す
る、論理要素と同じ名前のレイアウト要素を持ち、それ
ぞれのレイアウト要素は論理構造と同じ階層関係を持
つ。基本論理構造に対応するレイアウト要素を基本レイ
アウト要素、複合論理要素に対応するレイアウト要素を
複合レイアウト要素と呼ぶ。
【0041】論理構造と異なる点として、論理構造中に
同じ名前を持つ論理要素が複数繰り返して現れる場合、
レイアウト的には同じ表現を繰り返すことになるので、
これらの論理要素に対するレイアウト要素として一つだ
け生成し、このレイアウト要素に、実際に原稿の内容を
レイアウトする際には繰り返し現れる可能性があること
を示す”repeat”という属性を持たせる。
同じ名前を持つ論理要素が複数繰り返して現れる場合、
レイアウト的には同じ表現を繰り返すことになるので、
これらの論理要素に対するレイアウト要素として一つだ
け生成し、このレイアウト要素に、実際に原稿の内容を
レイアウトする際には繰り返し現れる可能性があること
を示す”repeat”という属性を持たせる。
【0042】また、文書には原稿中では記述されないが
レイアウト的には重要である付随項目があり、これらを
レイアウトするためのレイアウト要素を、ページそのも
のに対応するレイアウト要素がその子供として持つ。付
随項目には、例えばノンブル、ヘッダ、フッタ、つめな
どがある。
レイアウト的には重要である付随項目があり、これらを
レイアウトするためのレイアウト要素を、ページそのも
のに対応するレイアウト要素がその子供として持つ。付
随項目には、例えばノンブル、ヘッダ、フッタ、つめな
どがある。
【0043】図7は、図4で表現されるような論理構造
に対する共通レイアウト構造の概念図、図8は共通レイ
アウト構造のデータ記述に関する一実施例である。図7
では、最上位に「項」に対応する「ページ」という名前
のレイアウト要素があり、その下にレイアウト要素が階
層的にぶら下がった形になっている。「ページ」という
名前のレイアウト要素の下には、「ノンブル」という原
稿には現れない内容に対応するレイアウト要素がある。
図8では、レイアウト要素毎に、そのレイアウト要素が
持つ名前や他のレイアウト要素との関係が記述されてい
る。論理構造中に繰り返し現れる「手順」という名前の
レイアウト要素には、繰り返し要素であることを示す”
repeat”という関係が記述されている。
に対する共通レイアウト構造の概念図、図8は共通レイ
アウト構造のデータ記述に関する一実施例である。図7
では、最上位に「項」に対応する「ページ」という名前
のレイアウト要素があり、その下にレイアウト要素が階
層的にぶら下がった形になっている。「ページ」という
名前のレイアウト要素の下には、「ノンブル」という原
稿には現れない内容に対応するレイアウト要素がある。
図8では、レイアウト要素毎に、そのレイアウト要素が
持つ名前や他のレイアウト要素との関係が記述されてい
る。論理構造中に繰り返し現れる「手順」という名前の
レイアウト要素には、繰り返し要素であることを示す”
repeat”という関係が記述されている。
【0044】共通レイアウト構造はレイアウト要素の階
層関係のみを定義するが、レイアウトフォーマットでは
さらに、個々のレイアウト要素ごとに、レイアウト属性
と呼ぶ情報が定義される。レイアウト要素は、そのタイ
プ毎に異なった種類のレイアウト属性を持つ。内容を持
たないレイアウト要素は、ページ上でそれが占める領域
のサイズと位置を属性として持ち、内容を持つレイアウ
ト要素は、それらに付け加えて内容表現属性を持つ。内
容表現属性はさらに内容のデータタイプ毎に異なり、テ
キストデータであれば文字フォント、文字サイズ、位置
揃えなどテキスト独特の属性を持ち、画像データであれ
ば、色数のビット数、回転など画像独特の属性を持つ。
レイアウトフォーマットの中のレイアウト要素が持つレ
イアウト属性は、データベースに定義されているレイア
ウトルール管理テーブルを参照することにより、値が決
定される。この値が、自動レイアウト時に原稿中の各内
容毎に生成されるレイアウト要素の、デフォルトのレイ
アウト属性値となる。
層関係のみを定義するが、レイアウトフォーマットでは
さらに、個々のレイアウト要素ごとに、レイアウト属性
と呼ぶ情報が定義される。レイアウト要素は、そのタイ
プ毎に異なった種類のレイアウト属性を持つ。内容を持
たないレイアウト要素は、ページ上でそれが占める領域
のサイズと位置を属性として持ち、内容を持つレイアウ
ト要素は、それらに付け加えて内容表現属性を持つ。内
容表現属性はさらに内容のデータタイプ毎に異なり、テ
キストデータであれば文字フォント、文字サイズ、位置
揃えなどテキスト独特の属性を持ち、画像データであれ
ば、色数のビット数、回転など画像独特の属性を持つ。
レイアウトフォーマットの中のレイアウト要素が持つレ
イアウト属性は、データベースに定義されているレイア
ウトルール管理テーブルを参照することにより、値が決
定される。この値が、自動レイアウト時に原稿中の各内
容毎に生成されるレイアウト要素の、デフォルトのレイ
アウト属性値となる。
【0045】レイアウトルール管理テーブルには、ルー
ルとして、ルールの対象となるレイアウト要素の名前、
参照属性、境界条件、値を設定する属性名、優先順位つ
きの値のリストが定義される。参照属性とは、ルールの
対象とするレイアウト要素の他の複数の要素からどの属
性値を取ってくるかを定義するものであり、レイアウト
要素の周囲の状態値を意味する。境界条件とは、参照す
る属性値が取り得る値の範囲を複数に分割したものであ
り、実際の参照値がどの範囲にあるかによって、対象と
するレイアウト要素にどのような値を設定するかが変わ
る。値を設定する属性名は、一つの参照属性に対して複
数定義されることがある。属性に設定する値は、境界条
件の1つの判定値に対して、理想とする値が定義され
る。ただしレイアウトはさまざまなパターンが考えられ
得るので複数の値が定義可能であり、その場合はよりふ
さわしいと考えられる順に優先順位がつけられており、
ルール参照時には優先順位の高い値から利用される。
ルとして、ルールの対象となるレイアウト要素の名前、
参照属性、境界条件、値を設定する属性名、優先順位つ
きの値のリストが定義される。参照属性とは、ルールの
対象とするレイアウト要素の他の複数の要素からどの属
性値を取ってくるかを定義するものであり、レイアウト
要素の周囲の状態値を意味する。境界条件とは、参照す
る属性値が取り得る値の範囲を複数に分割したものであ
り、実際の参照値がどの範囲にあるかによって、対象と
するレイアウト要素にどのような値を設定するかが変わ
る。値を設定する属性名は、一つの参照属性に対して複
数定義されることがある。属性に設定する値は、境界条
件の1つの判定値に対して、理想とする値が定義され
る。ただしレイアウトはさまざまなパターンが考えられ
得るので複数の値が定義可能であり、その場合はよりふ
さわしいと考えられる順に優先順位がつけられており、
ルール参照時には優先順位の高い値から利用される。
【0046】図9は、レイアウトルール管理テーブルの
一実施例である。あるレイアウト要素に対して、その子
供のレイアウト要素はポインタで結合されたリスト構造
をとるが、レイアウトフォーマットにおいては、このリ
ストは配置の優先度に従ってソートされている。配置の
優先度とは、子供の領域の左上端の座標を上下方向、次
に左右方向に比較したもので、上>下、左>右の順に優
先度が低くなる。自動レイアウト時には、この優先度を
利用して配置が行なわれる。
一実施例である。あるレイアウト要素に対して、その子
供のレイアウト要素はポインタで結合されたリスト構造
をとるが、レイアウトフォーマットにおいては、このリ
ストは配置の優先度に従ってソートされている。配置の
優先度とは、子供の領域の左上端の座標を上下方向、次
に左右方向に比較したもので、上>下、左>右の順に優
先度が低くなる。自動レイアウト時には、この優先度を
利用して配置が行なわれる。
【0047】整形済み文書は、原稿に記述された全ての
内容を割り付けるための基本レイアウト要素と、それら
の要素をまとめる複合レイアウト要素に対して、レイア
ウトフォーマットに準じる階層構造とレイアウト属性の
値が定義されたものである。階層構造は原稿構成単位毎
に構築され、さらに大きく1つの文書にまとめられる。
整形済み文書内のレイアウト構造は原稿の内容によって
特定されるため、レイアウトフォーマットの共通レイア
ウト構造に対して、特定レイアウト構造と呼ばれる。
内容を割り付けるための基本レイアウト要素と、それら
の要素をまとめる複合レイアウト要素に対して、レイア
ウトフォーマットに準じる階層構造とレイアウト属性の
値が定義されたものである。階層構造は原稿構成単位毎
に構築され、さらに大きく1つの文書にまとめられる。
整形済み文書内のレイアウト構造は原稿の内容によって
特定されるため、レイアウトフォーマットの共通レイア
ウト構造に対して、特定レイアウト構造と呼ばれる。
【0048】図2は、本実施例の動作のフローチャート
であり、これを用いて具体的な処理手続きを説明する。 (S201)文書の原稿データを作成する。原稿作成手
段11は、最初にユーザに対して、何ページ分の内容を
一つの原稿構成単位に記述するかを指定させる。その
後、ユーザからのタグと内容の組の入力に基づいて原稿
データを作成する。なお、タグは、原稿作成手段11が
あらかじめ適当なリストを提示し、ユーザがその中から
適当なものを選択した後に内容を続けて入力するように
しても良い。 (S202)作成された原稿の中から、論理要素を抽出
する対象となる原稿構成単位を抜き出す。論理要素検索
手段12が、各原稿構成単位毎にその中にあるタグの種
類を調べ、最もタグの種類の多い原稿構成単位を取り出
す。 (S203)論理要素検索手段12が取り出した原稿構
成単位から、論理構造抽出手段13が論理構造を抽出
し、論理要素の階層構造を生成する。 (S204)抽出された論理構造に基づき、共通レイア
ウト構造生成手段14が必要なレイアウト要素の生成、
関係づけを行ない、共通レイアウト構造を生成する。 (S205)生成された共通レイアウト構造内の各レイ
アウト要素に対し、レイアウトフォーマット生成手段1
5が、データベース部20が保持するレイアウトルール
を参照してレイアウト属性の値を決定する。この時、レ
イアウト構造表示手段22は、共通レイアウト構造に基
づいて、レイアウト要素間の階層関係をレイアウト要素
の名前のリストによって表示する。レイアウト構造表示
手段22は、親要素名表示部と子要素名表示部を持ち、
ある要素が指定された場合に、その要素の名前を親要素
名表示部に表示し、さらにその要素の子供の要素の名前
のリストを子要素名表示部に表示する。子供を持たなけ
れば何も表示しない。この要素のさらに上の親を表示す
るように指示されると、その親要素の名前と、その子供
の要素の名前のリストを同様に表示する。図10は、レ
イアウト構造表示手段22の表示例であり、「説明文」
という名前のレイアウト要素が指定された時に、親要素
名表示部1031には「説明文」が、子要素名表示部1
032には、その子供の要素の名前である「全体図」
「手順」「注意」というリストが表示される。 (S206)ユーザにレイアウトフォーマットを修正す
るかどうか確認し、修正するのであれば(S207)
に、しないのであれば(S208)に進む。 (S207)レイアウトフォーマット編集手段16が、
ユーザの指示に従って、レイアウトフォーマット内のレ
イアウト要素が持つレイアウト属性の値を変更する。こ
の時、ルール更新手段21がデータベース部20に問い
合わせ、値を変更したレイアウト属性に関するルールが
記述されているテーブルを取り出す。そこにはレイアウ
ト属性の値のリストが優先順位つきで記述されているの
で、ユーザの変更後の値がそのリストの中にあれば、そ
の値のリスト中の位置を一つ前に進め、優先度を1上げ
る。リストの中に存在しなければ、リストの最後に追加
する。処理が終ればそのテーブルをデータベース部20
に戻す。これにより、ユーザが好むレイアウトパターン
がルール化される。 (S208)決定されたレイアウトフォーマットに基づ
き、自動レイアウト手段17が原稿構成単位毎に特定の
レイアウト構造を生成し、さらにその中の各レイアウト
要素が持つレイアウト属性の値を決定することにより整
形済み文書を作成する。 (S209)ユーザが整形済み文書のレイアウトを受け
入れるかどうかを確認し、修正が必要であれば(S21
0)に、必要なければ(S214)に進む。 (S210)修正を整形済み文書の各ページに対して行
なうのであれば(S211)に、レイアウトフォーマッ
トに対して行なうのであれば(S212)に進む。 (S211)レイアウト編集手段18が、ユーザの指示
に従い、整形済み文書内のレイアウト要素が持つレイア
ウト属性の値を変更する。変更が全て終了すれば、(S
209)に戻る。 (S212)レイアウトフォーマット再編集手段23
が、ユーザの指示に従い、レイアウトフォーマット編集
手段16と同様の処理によって、レイアウトフォーマッ
ト内のレイアウト要素が持つレイアウト属性の値を変更
する。 (S213)変更されたレイアウトフォーマットに基づ
き、再レイアウト手段24が、自動レイアウト手段17
と同様の処理によって、整形済み文書内のレイアウト要
素が持つレイアウト属性を変更する。(S209)に戻
る。 (S214)出力制御手段19が、整形済み文書の内容
を、それが結びつけられたレイアウト要素に定義された
レイアウト属性に従って出力可能なデータ形式に変換
し、各種出力機器に出力する。データ形式の変換手法の
詳細は本発明の主眼でないので省略する。
であり、これを用いて具体的な処理手続きを説明する。 (S201)文書の原稿データを作成する。原稿作成手
段11は、最初にユーザに対して、何ページ分の内容を
一つの原稿構成単位に記述するかを指定させる。その
後、ユーザからのタグと内容の組の入力に基づいて原稿
データを作成する。なお、タグは、原稿作成手段11が
あらかじめ適当なリストを提示し、ユーザがその中から
適当なものを選択した後に内容を続けて入力するように
しても良い。 (S202)作成された原稿の中から、論理要素を抽出
する対象となる原稿構成単位を抜き出す。論理要素検索
手段12が、各原稿構成単位毎にその中にあるタグの種
類を調べ、最もタグの種類の多い原稿構成単位を取り出
す。 (S203)論理要素検索手段12が取り出した原稿構
成単位から、論理構造抽出手段13が論理構造を抽出
し、論理要素の階層構造を生成する。 (S204)抽出された論理構造に基づき、共通レイア
ウト構造生成手段14が必要なレイアウト要素の生成、
関係づけを行ない、共通レイアウト構造を生成する。 (S205)生成された共通レイアウト構造内の各レイ
アウト要素に対し、レイアウトフォーマット生成手段1
5が、データベース部20が保持するレイアウトルール
を参照してレイアウト属性の値を決定する。この時、レ
イアウト構造表示手段22は、共通レイアウト構造に基
づいて、レイアウト要素間の階層関係をレイアウト要素
の名前のリストによって表示する。レイアウト構造表示
手段22は、親要素名表示部と子要素名表示部を持ち、
ある要素が指定された場合に、その要素の名前を親要素
名表示部に表示し、さらにその要素の子供の要素の名前
のリストを子要素名表示部に表示する。子供を持たなけ
れば何も表示しない。この要素のさらに上の親を表示す
るように指示されると、その親要素の名前と、その子供
の要素の名前のリストを同様に表示する。図10は、レ
イアウト構造表示手段22の表示例であり、「説明文」
という名前のレイアウト要素が指定された時に、親要素
名表示部1031には「説明文」が、子要素名表示部1
032には、その子供の要素の名前である「全体図」
「手順」「注意」というリストが表示される。 (S206)ユーザにレイアウトフォーマットを修正す
るかどうか確認し、修正するのであれば(S207)
に、しないのであれば(S208)に進む。 (S207)レイアウトフォーマット編集手段16が、
ユーザの指示に従って、レイアウトフォーマット内のレ
イアウト要素が持つレイアウト属性の値を変更する。こ
の時、ルール更新手段21がデータベース部20に問い
合わせ、値を変更したレイアウト属性に関するルールが
記述されているテーブルを取り出す。そこにはレイアウ
ト属性の値のリストが優先順位つきで記述されているの
で、ユーザの変更後の値がそのリストの中にあれば、そ
の値のリスト中の位置を一つ前に進め、優先度を1上げ
る。リストの中に存在しなければ、リストの最後に追加
する。処理が終ればそのテーブルをデータベース部20
に戻す。これにより、ユーザが好むレイアウトパターン
がルール化される。 (S208)決定されたレイアウトフォーマットに基づ
き、自動レイアウト手段17が原稿構成単位毎に特定の
レイアウト構造を生成し、さらにその中の各レイアウト
要素が持つレイアウト属性の値を決定することにより整
形済み文書を作成する。 (S209)ユーザが整形済み文書のレイアウトを受け
入れるかどうかを確認し、修正が必要であれば(S21
0)に、必要なければ(S214)に進む。 (S210)修正を整形済み文書の各ページに対して行
なうのであれば(S211)に、レイアウトフォーマッ
トに対して行なうのであれば(S212)に進む。 (S211)レイアウト編集手段18が、ユーザの指示
に従い、整形済み文書内のレイアウト要素が持つレイア
ウト属性の値を変更する。変更が全て終了すれば、(S
209)に戻る。 (S212)レイアウトフォーマット再編集手段23
が、ユーザの指示に従い、レイアウトフォーマット編集
手段16と同様の処理によって、レイアウトフォーマッ
ト内のレイアウト要素が持つレイアウト属性の値を変更
する。 (S213)変更されたレイアウトフォーマットに基づ
き、再レイアウト手段24が、自動レイアウト手段17
と同様の処理によって、整形済み文書内のレイアウト要
素が持つレイアウト属性を変更する。(S209)に戻
る。 (S214)出力制御手段19が、整形済み文書の内容
を、それが結びつけられたレイアウト要素に定義された
レイアウト属性に従って出力可能なデータ形式に変換
し、各種出力機器に出力する。データ形式の変換手法の
詳細は本発明の主眼でないので省略する。
【0049】以上の手順により、本実施例の文書編集装
置は文書のレイアウトを効率的に生成、編集することが
出来る。
置は文書のレイアウトを効率的に生成、編集することが
出来る。
【0050】次に、論理構造抽出手段13の動作につい
て詳しく説明する。原稿作成手段11が作成した原稿か
ら、論理要素検索手段12が最も論理要素の種類が多い
原稿構成単位を抜き出すが、論理構造抽出手段13はこ
の原稿構成単位に記述されたタグ、すなわち論理要素名
の記述を基に、その原稿構成単位の内容の論理的な関係
を定義する論理構造を構築する。論理構造抽出手段13
は、どの論理要素がどのような論理要素をその子供とし
て持つことが出来るかがあらかじめ定義された管理テー
ブルを持っており、このテーブルを参照することによ
り、論理構造を構築する。なお、この管理テーブルを定
義する手段も必要であるが、本発明の主眼ではないので
省略する。
て詳しく説明する。原稿作成手段11が作成した原稿か
ら、論理要素検索手段12が最も論理要素の種類が多い
原稿構成単位を抜き出すが、論理構造抽出手段13はこ
の原稿構成単位に記述されたタグ、すなわち論理要素名
の記述を基に、その原稿構成単位の内容の論理的な関係
を定義する論理構造を構築する。論理構造抽出手段13
は、どの論理要素がどのような論理要素をその子供とし
て持つことが出来るかがあらかじめ定義された管理テー
ブルを持っており、このテーブルを参照することによ
り、論理構造を構築する。なお、この管理テーブルを定
義する手段も必要であるが、本発明の主眼ではないので
省略する。
【0051】図11は論理構造抽出手段13における動
作のフローチャートであり、この図に基づいて具体的な
処理手順を説明する。 (S1101)入力として与えられた原稿構成単位に対
して、原稿構成単位そのものに対応する複合論理要素を
生成し、この要素を一時記憶Tに設定する。 (S1102)一時記憶Tの内容を、一時記憶Pに設定
する。 (S1103)原稿構成単位中の未処理のタグの中から
先頭のものを取り出し、処理済みのフラグをつける。 (S1104)取り出されたタグを名前に持つ基本論理
要素を生成し、タグと組で記述された内容を指すポイン
タを持たせる。この要素を、一時記憶Bに設定する。 (S1105)一時記憶Bが保持する内容を一時記憶A
に設定する。 (S1106)管理テーブルを参照し、一時記憶Aが保
持する論理要素の親となることが出来る複合論理要素の
名前を取り出す。 (S1107)管理テーブルから取り出した名前を、一
時記憶Cに設定する。 (S1108)一時記憶Cの内容が、一時記憶Pが保持
する複合論理要素の名前に等しければ(S1109)に
進み、等しくなければ(S1113)に進む。 (S1109)一時記憶Pが保持する複合論理要素が、
まだ子供の要素を持っていなければ(S1110)に進
み、既に子供の要素を持っていれば(S1121)に進
む。 (S1110)一時記憶Aが保持する論理要素を、一時
記憶Pが保持する複合論理要素の子供とし、相互にポイ
ンタを設定する。 (S1111)原稿に未処理のタグが残っていれば(S
1112)に進み、残っていなければこの処理を終了す
る。 (S1112)一時記憶Bが保持する論理要素の親要素
を、一時記憶Pに設定する。 (S1113)一時記憶Pが保持する複合論理要素の親
要素を、一時記憶NPに設定する (S1114)一時記憶Cの内容が、一時記憶NPが保
持する複合論理要素の名前に等しければ (S1115)に進み、等しくなければ(S1116)
に進む。 (S1115)一時記憶NPが保持する内容を、一時記
憶Pに設定する。 (S1116)一時記憶NPが保持する複合論理要素
が、一時記憶Tが保持する複合論理要素に等しくなけれ
ば(S1117)に進み、等しければ(S1118)に
進む。 (S1117)一時記憶NPが保持する複合論理要素の
親要素を、一時記憶NPに設定する。 (S1118)一時記憶Cが保持する内容を名前に持つ
複合レイアウト要素を生成し、一時記憶NAに設定す
る。 (S1119)一時記憶Aが保持する論理要素を、一時
記憶NAが保持する複合論理要素の子供とし、相互にポ
インタを設定する。 (S1120)一時記憶NAの内容を、一時記憶Aに設
定する。 (S1121)一時記憶Pが保持する複合論理要素の子
供のリストを調べ、そのリストの最後尾の論理要素の名
前が、一時記憶Aが保持する論理要素の名前と等しけれ
ば(S1122)に進み、等しくなければ(S112
3)に進む。 (S1122)一時記憶Pが保持する複合論理要素の子
供のリストの最後尾に一時記憶Aが保持する論理要素を
追加し、ポインタを設定する。 (S1123)一時記憶Pが保持する複合論理要素の子
供のリストに対して、最後尾の要素以外に、一時記憶A
が保持する論理要素と同じ名前を持つ論理要素があるか
どうかを調べる。そのような論理要素があれば(S11
24)に進み、なければ(S1122)に進む。 (S1124)一時記憶Pが保持する複合論理要素の名
前と同じ名前を持つ複合論理要素を生成し、一時記憶N
Pに設定する。 (S1125)一時記憶NPが保持する複合論理要素
を、一時記憶Pが保持する複合論理要素が属する階層の
論理要素のリストの中で、一時記憶Pが保持する複合論
理要素の次の位置に挿入し、前後の論理要素と自身のポ
インタを設定する。 (S1126)一時記憶NPが保持する複合論理要素
を、一時記憶Pに設定する。
作のフローチャートであり、この図に基づいて具体的な
処理手順を説明する。 (S1101)入力として与えられた原稿構成単位に対
して、原稿構成単位そのものに対応する複合論理要素を
生成し、この要素を一時記憶Tに設定する。 (S1102)一時記憶Tの内容を、一時記憶Pに設定
する。 (S1103)原稿構成単位中の未処理のタグの中から
先頭のものを取り出し、処理済みのフラグをつける。 (S1104)取り出されたタグを名前に持つ基本論理
要素を生成し、タグと組で記述された内容を指すポイン
タを持たせる。この要素を、一時記憶Bに設定する。 (S1105)一時記憶Bが保持する内容を一時記憶A
に設定する。 (S1106)管理テーブルを参照し、一時記憶Aが保
持する論理要素の親となることが出来る複合論理要素の
名前を取り出す。 (S1107)管理テーブルから取り出した名前を、一
時記憶Cに設定する。 (S1108)一時記憶Cの内容が、一時記憶Pが保持
する複合論理要素の名前に等しければ(S1109)に
進み、等しくなければ(S1113)に進む。 (S1109)一時記憶Pが保持する複合論理要素が、
まだ子供の要素を持っていなければ(S1110)に進
み、既に子供の要素を持っていれば(S1121)に進
む。 (S1110)一時記憶Aが保持する論理要素を、一時
記憶Pが保持する複合論理要素の子供とし、相互にポイ
ンタを設定する。 (S1111)原稿に未処理のタグが残っていれば(S
1112)に進み、残っていなければこの処理を終了す
る。 (S1112)一時記憶Bが保持する論理要素の親要素
を、一時記憶Pに設定する。 (S1113)一時記憶Pが保持する複合論理要素の親
要素を、一時記憶NPに設定する (S1114)一時記憶Cの内容が、一時記憶NPが保
持する複合論理要素の名前に等しければ (S1115)に進み、等しくなければ(S1116)
に進む。 (S1115)一時記憶NPが保持する内容を、一時記
憶Pに設定する。 (S1116)一時記憶NPが保持する複合論理要素
が、一時記憶Tが保持する複合論理要素に等しくなけれ
ば(S1117)に進み、等しければ(S1118)に
進む。 (S1117)一時記憶NPが保持する複合論理要素の
親要素を、一時記憶NPに設定する。 (S1118)一時記憶Cが保持する内容を名前に持つ
複合レイアウト要素を生成し、一時記憶NAに設定す
る。 (S1119)一時記憶Aが保持する論理要素を、一時
記憶NAが保持する複合論理要素の子供とし、相互にポ
インタを設定する。 (S1120)一時記憶NAの内容を、一時記憶Aに設
定する。 (S1121)一時記憶Pが保持する複合論理要素の子
供のリストを調べ、そのリストの最後尾の論理要素の名
前が、一時記憶Aが保持する論理要素の名前と等しけれ
ば(S1122)に進み、等しくなければ(S112
3)に進む。 (S1122)一時記憶Pが保持する複合論理要素の子
供のリストの最後尾に一時記憶Aが保持する論理要素を
追加し、ポインタを設定する。 (S1123)一時記憶Pが保持する複合論理要素の子
供のリストに対して、最後尾の要素以外に、一時記憶A
が保持する論理要素と同じ名前を持つ論理要素があるか
どうかを調べる。そのような論理要素があれば(S11
24)に進み、なければ(S1122)に進む。 (S1124)一時記憶Pが保持する複合論理要素の名
前と同じ名前を持つ複合論理要素を生成し、一時記憶N
Pに設定する。 (S1125)一時記憶NPが保持する複合論理要素
を、一時記憶Pが保持する複合論理要素が属する階層の
論理要素のリストの中で、一時記憶Pが保持する複合論
理要素の次の位置に挿入し、前後の論理要素と自身のポ
インタを設定する。 (S1126)一時記憶NPが保持する複合論理要素
を、一時記憶Pに設定する。
【0052】以上の手順により、一時記憶Tが保持する
原稿構成要素に対応する複合論理要素の下に、階層構造
を持つ論理要素の集合である論理構造が構築される。
原稿構成要素に対応する複合論理要素の下に、階層構造
を持つ論理要素の集合である論理構造が構築される。
【0053】次に、共通レイアウト構造生成手段14の
動作について詳しく説明する。共通レイアウト構造生成
手段14は、文書のレイアウトの基本となるレイアウト
フォーマットを生成するために必要な共通レイアウト構
造を作り上げることを目的とし、入力として与えられる
もっとも論理要素の種類の多い論理構造を基にして、個
々の論理要素に対応するレイアウト要素を生成し、さら
にそれらの間の階層関係を定義する。
動作について詳しく説明する。共通レイアウト構造生成
手段14は、文書のレイアウトの基本となるレイアウト
フォーマットを生成するために必要な共通レイアウト構
造を作り上げることを目的とし、入力として与えられる
もっとも論理要素の種類の多い論理構造を基にして、個
々の論理要素に対応するレイアウト要素を生成し、さら
にそれらの間の階層関係を定義する。
【0054】図12は共通レイアウト構造生成手段13
における動作のフローチャートであり、この図に基づい
て具体的な処理手順を説明する。 (S1201)一時記憶jに1を設定する。 (S1202)入力として与えられた論理構造の最上位
の論理要素を取り出し、一時記憶LS[j]に設定す
る。 (S1203)一時記憶LS[j]に設定された論理要
素に対応するレイアウト要素を生成し、一時記憶CS
[j]に設定する。 (S1204)一時記憶LS[j]が保持する論理要素
のリストの先頭要素を一時記憶LPに、一時記憶CS
[j]が保持するレイアウト要素のリストの先頭要素を
一時記憶CPにそれぞれ設定する。 (S1205)一時記憶LS[j]が保持する論理要素
のリストから先頭要素を除いた残りのリストを一時記憶
LS[j]に、一時記憶CS[j]が保持するレイアウ
ト要素のリストから先頭要素を除いた残りのリストを一
時記憶CS[j]にそれぞれ設定する。 (S1206)一時記憶LPが保持する論理要素が、子
供の要素を持っていれば(S1207)に、持っていな
ければ(S1218)に進む。 (S1207)一時記憶jの内容に1を加えたものを、
一時記憶jに設定する。 (S1208)一時記憶LPが保持する論理要素が持つ
子供の要素のリストを、一時記憶LS[j]に設定す
る。 (S1209)一時記憶LS[j]が保持する内容を、
一時記憶Sに設定する。 (S1210)一時記憶Sが保持する論理要素のリスト
の中から先頭要素を取り出して一時記憶Aに設定し、さ
らに先頭要素を除いた残りのリストを一時記憶Sに設定
する。 (S1211)一時記憶CPが保持するレイアウト要素
が子供の要素を持たなければ(S1212)に、持って
いれば(S1213)に進む。 (S1212)一時記憶Aが保持する論理要素に対応す
るレイアウト要素を生成し、一時記憶CPが保持するレ
イアウト要素の子供としてポインタを設定する。 (S1213)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストの中に、一時記憶Aが保持す
る論理要素と同じ名前を持つレイアウト要素がなければ
(S1214)に、あれば(S1215)に進む。 (S1214)一時記憶Aが保持する論理要素に対応す
るレイアウト要素を生成し、一時記憶CPが保持するレ
イアウト要素の子供のリストの最後尾に追加し、ポイン
タを設定する。 (S1215)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストの中で、一時記憶Aが保持す
る論理要素と同じ名前を持つレイアウト要素に対し、繰
り返し要素であることを示す、”repeat” とい
う属性を設定する。 (S1216)一時記憶Sが保持する内容が空であれば
(S1217)に、論理要素のリストが残っていれば
(S1210)に進む。 (S1217)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストを、一時記憶CS[j]に設
定する。 (S1218)一時記憶LS[j]が保持する内容が空
であれば(S1219)に、論理要素のリストが残って
いれば(S1204)に進む。 (S1219)一時記憶jの内容から1を引いたものを
一時記憶jに設定する。 (S1220)一時記憶jの内容が1に等しければ(S
1221)に、等しくなければ(S1204)に進む。 (S1221)原稿に記述されていた内容全体をまとめ
るための複合レイアウト要素を生成し、一時記憶Hに設
定する。 (S1222)一時記憶CS[1]が保持するレイアウ
ト要素の子供のレイアウト要素を全て、一時記憶Hが保
持するレイアウト要素の子供とし、ポインタを設定す
る。 (S1223)一時記憶C[1]が保持するレイアウト
要素の子供を、一時記憶Hが保持するレイアウト要素に
変更し、ポインタを再設定する。 (S1224)原稿にない付随項目に対応するレイアウ
ト要素を生成し、一時記憶CS[1]が保持するレイア
ウト要素が持つ子供の要素のリストの最後に順次追加す
る。以上の手順により、一時記憶CS[1]が保持する
レイアウト要素の下に、階層構造を持つレイアウト要素
の集合である共通レイアウト構造が構築される。
における動作のフローチャートであり、この図に基づい
て具体的な処理手順を説明する。 (S1201)一時記憶jに1を設定する。 (S1202)入力として与えられた論理構造の最上位
の論理要素を取り出し、一時記憶LS[j]に設定す
る。 (S1203)一時記憶LS[j]に設定された論理要
素に対応するレイアウト要素を生成し、一時記憶CS
[j]に設定する。 (S1204)一時記憶LS[j]が保持する論理要素
のリストの先頭要素を一時記憶LPに、一時記憶CS
[j]が保持するレイアウト要素のリストの先頭要素を
一時記憶CPにそれぞれ設定する。 (S1205)一時記憶LS[j]が保持する論理要素
のリストから先頭要素を除いた残りのリストを一時記憶
LS[j]に、一時記憶CS[j]が保持するレイアウ
ト要素のリストから先頭要素を除いた残りのリストを一
時記憶CS[j]にそれぞれ設定する。 (S1206)一時記憶LPが保持する論理要素が、子
供の要素を持っていれば(S1207)に、持っていな
ければ(S1218)に進む。 (S1207)一時記憶jの内容に1を加えたものを、
一時記憶jに設定する。 (S1208)一時記憶LPが保持する論理要素が持つ
子供の要素のリストを、一時記憶LS[j]に設定す
る。 (S1209)一時記憶LS[j]が保持する内容を、
一時記憶Sに設定する。 (S1210)一時記憶Sが保持する論理要素のリスト
の中から先頭要素を取り出して一時記憶Aに設定し、さ
らに先頭要素を除いた残りのリストを一時記憶Sに設定
する。 (S1211)一時記憶CPが保持するレイアウト要素
が子供の要素を持たなければ(S1212)に、持って
いれば(S1213)に進む。 (S1212)一時記憶Aが保持する論理要素に対応す
るレイアウト要素を生成し、一時記憶CPが保持するレ
イアウト要素の子供としてポインタを設定する。 (S1213)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストの中に、一時記憶Aが保持す
る論理要素と同じ名前を持つレイアウト要素がなければ
(S1214)に、あれば(S1215)に進む。 (S1214)一時記憶Aが保持する論理要素に対応す
るレイアウト要素を生成し、一時記憶CPが保持するレ
イアウト要素の子供のリストの最後尾に追加し、ポイン
タを設定する。 (S1215)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストの中で、一時記憶Aが保持す
る論理要素と同じ名前を持つレイアウト要素に対し、繰
り返し要素であることを示す、”repeat” とい
う属性を設定する。 (S1216)一時記憶Sが保持する内容が空であれば
(S1217)に、論理要素のリストが残っていれば
(S1210)に進む。 (S1217)一時記憶CPが保持するレイアウト要素
が持つ子供の要素のリストを、一時記憶CS[j]に設
定する。 (S1218)一時記憶LS[j]が保持する内容が空
であれば(S1219)に、論理要素のリストが残って
いれば(S1204)に進む。 (S1219)一時記憶jの内容から1を引いたものを
一時記憶jに設定する。 (S1220)一時記憶jの内容が1に等しければ(S
1221)に、等しくなければ(S1204)に進む。 (S1221)原稿に記述されていた内容全体をまとめ
るための複合レイアウト要素を生成し、一時記憶Hに設
定する。 (S1222)一時記憶CS[1]が保持するレイアウ
ト要素の子供のレイアウト要素を全て、一時記憶Hが保
持するレイアウト要素の子供とし、ポインタを設定す
る。 (S1223)一時記憶C[1]が保持するレイアウト
要素の子供を、一時記憶Hが保持するレイアウト要素に
変更し、ポインタを再設定する。 (S1224)原稿にない付随項目に対応するレイアウ
ト要素を生成し、一時記憶CS[1]が保持するレイア
ウト要素が持つ子供の要素のリストの最後に順次追加す
る。以上の手順により、一時記憶CS[1]が保持する
レイアウト要素の下に、階層構造を持つレイアウト要素
の集合である共通レイアウト構造が構築される。
【0055】次に、レイアウトフォーマット生成手段1
5の動作について詳しく説明する。レイアウトフォーマ
ット生成手段15は、共通レイアウト構造生成手段13
が生成した共通レイアウト構造に対して、データベース
部20が保持するレイアウトルール管理テーブルを参照
して、各レイアウト要素が持つレイアウト属性の値を決
定することにより、レイアウトフォーマット候補の生
成、及び決定を行う。
5の動作について詳しく説明する。レイアウトフォーマ
ット生成手段15は、共通レイアウト構造生成手段13
が生成した共通レイアウト構造に対して、データベース
部20が保持するレイアウトルール管理テーブルを参照
して、各レイアウト要素が持つレイアウト属性の値を決
定することにより、レイアウトフォーマット候補の生
成、及び決定を行う。
【0056】レイアウト要素が保持するレイアウト属性
の値の決定は、共通レイアウト構造を構成するレイアウ
ト要素の中でルートノードにあたるレイアウト要素を先
頭に、その下位階層へ順に下っていき、全てのレイアウ
ト要素に対して値を決定してしまうまで、階層的に行
う。あるレイアウト要素を親とする階層において、その
子供となる全てのレイアウト要素のレイアウト属性の値
を決定し、次は、その子供の要素の一つを親とみなして
その下に存在する子供の要素のレイアウト属性の値を決
定する。
の値の決定は、共通レイアウト構造を構成するレイアウ
ト要素の中でルートノードにあたるレイアウト要素を先
頭に、その下位階層へ順に下っていき、全てのレイアウ
ト要素に対して値を決定してしまうまで、階層的に行
う。あるレイアウト要素を親とする階層において、その
子供となる全てのレイアウト要素のレイアウト属性の値
を決定し、次は、その子供の要素の一つを親とみなして
その下に存在する子供の要素のレイアウト属性の値を決
定する。
【0057】データベース部20が保持するレイアウト
ルール管理テーブルには、ある1つのレイアウト属性に
対して複数の値が定義されている場合があるので、その
場合は属性値毎に定義されている優先順位に従ってレイ
アウト要素のレイアウト属性に順に値を設定することに
より、複数のレイアウト候補を生成する。
ルール管理テーブルには、ある1つのレイアウト属性に
対して複数の値が定義されている場合があるので、その
場合は属性値毎に定義されている優先順位に従ってレイ
アウト要素のレイアウト属性に順に値を設定することに
より、複数のレイアウト候補を生成する。
【0058】レイアウトフォーマット生成手段15は、
階層毎にレイアウトの候補を提示するが、この時、レイ
アウト要素毎にユニークな提示属性を持たせてレイアウ
トフォーマット候補の表示を行う。例えば、レイアウト
要素の領域枠の色をレイアウト要素毎に変えるなどして
ユニークな提示属性を持たせる。
階層毎にレイアウトの候補を提示するが、この時、レイ
アウト要素毎にユニークな提示属性を持たせてレイアウ
トフォーマット候補の表示を行う。例えば、レイアウト
要素の領域枠の色をレイアウト要素毎に変えるなどして
ユニークな提示属性を持たせる。
【0059】図13は、レイアウトフォーマット生成手
段における処理フローチャートである。以下、レイアウ
ト属性を決定する手順を図13に基づいて具体的に説明
する。 (S1301)一時記憶Aと一時記憶BにNULLを設
定する。 (S1302)共通レイアウト構造を構成するレイアウ
ト要素の中でルートノードにあるレイアウト要素を、一
時記憶Cと一時記憶Dに設定する。 (S1303)一時記憶Bが保持する全てのレイアウト
要素の領域枠をレイアウト表示画面1501に表示し、
表示したレイアウト要素の表示位置情報を一時記憶Eに
設定する。一時記憶BがNULLの場合は、何も表示せ
ず一時記憶EにNULLを設定する。 (S1304)データベース部20が保持するレイアウ
トルール管理テーブルから、一時記憶Dが保持するレイ
アウト要素の名前と一致するレイアウト要素名を有する
組の情報を取り出し、一時記憶Fに設定する。 (S1305)一時記憶Cが保持するレイアウト要素の
リストの中で、一時記憶Dが保持するレイアウト要素の
次レイアウト要素が存在するか否かを検査する。存在す
る場合は(S1306)へ進み、存在しない場合は(S
1307)へ進む。 (S1306)一時記憶Dが保持するレイアウト要素の
次レイアウト要素を一時記憶Dに設定する。 (S1307)一時記憶Cが保持する全てのレイアウト
要素に対して一時記憶Fが保持するレイアウトルールの
適用を全組合せ行なうことにより、レイアウト要素の全
ての名前に対してレイアウト属性とその値を決定した組
を複数生成し、その全ての組合せを一時記憶Gに設定す
る。 (S1308)一時記憶Gの保持する該当階層のレイア
ウト属性値の組合せの中で、適用したレイアウト属性値
のルールテーブル内での優先順位の合計が最も小さい組
を一時記憶Hに設定する。 (S1309)一時記憶Cが保持する全てのレイアウト
要素の領域枠を、一時記憶Hが保持するレイアウト属性
値の組に従って、一時記憶Eが保持する表示位置情報に
基づき、レイアウト表示画面1601上に表示している
一時記憶Bの保持するレイアウト要素の領域枠上に重ね
て表示する。一時記憶BがNULLの場合は、レイアウ
ト表示画面1601上の余白部に表示する。 (S1310)一時記憶Gが保持する該当階層のレイア
ウト属性値の組合せの中で、まだ表示画面1601上に
表示していない組合せがあれば(S1311)に、なけ
れば(S1313)に進む。 (S1311)一時記憶Bが保持するレイアウト要素の
領域枠を、レイアウト表示画面1601上に既に表示し
ているものとは別に、レイアウト表示画面1601の余
白部に表示し、その表示位置情報を一時記憶Eに設定す
る。一時記憶BがNULLの場合は、何も表示せず一時
記憶EにNULLを設定する。 (S1312)一時記憶Gが保持する該当階層のレイア
ウト属性値の組合せの中で、一時記憶Hが保持する組の
次に、適用したレイアウト属性値のルールテーブル内で
の適用の優先順位の合計が小さい組を一時記憶Hに設定
する。 (S1313)レイアウト表示画面1601上に表示し
ている該当階層の複数のレイアウト候補の中から、ユー
ザの指示に基づいて正式に利用するレイアウトを決定
し、そのレイアウト属性値の組を一時記憶Gから取り出
して一時記憶Xに設定する。 (S1314)一時記憶Xが保持するレイアウト属性値
の組に従って、一時記憶Cが保持するレイアウト要素の
全てのレイアウト属性の値を決定する。またレイアウト
要素間の配置に関するレイアウト属性を参照することに
より配置優先度を調べ、配置優先度の高い順にレイアウ
ト要素のリストをソートし、ポインタを再設定する。 (S1315)レイアウト表示画面1601上に表示し
ているレイアウトの候補を全て消去する。 (S1316)共通レイアウト構造を構成するレイアウ
ト要素の中で、まだレイアウト属性の値を決定していな
いレイアウト要素が存在するか否か検査する。存在する
場合は(S1317)へ進み、存在しない場合は処理を
終了する。 (S1317)一時記憶Bが保持するレイアウト要素の
中で、まだレイアウト属性の値が決定されていないレイ
アウト要素をその下位階層に持つレイアウト要素を抜き
だし、さらにその中からユーザの指示に基づいて、次に
レイアウトフォーマットを生成する階層の親となるレイ
アウト要素を選択し、一時記憶Aに設定する。 (S1318)一時記憶Bが保持するレイアウト要素の
集合に、一時記憶Cが保持するレイアウト要素を追加す
る。 (S1319)一時記憶Aが保持するレイアウト要素が
持つ子レイアウト要素のリストを共通レイアウト構造か
ら取り出し、一時記憶Cに設定する。 (S1320)一時記憶Cが保持するレイアウト要素の
リストの先頭要素を一時記憶Dに設定する。
段における処理フローチャートである。以下、レイアウ
ト属性を決定する手順を図13に基づいて具体的に説明
する。 (S1301)一時記憶Aと一時記憶BにNULLを設
定する。 (S1302)共通レイアウト構造を構成するレイアウ
ト要素の中でルートノードにあるレイアウト要素を、一
時記憶Cと一時記憶Dに設定する。 (S1303)一時記憶Bが保持する全てのレイアウト
要素の領域枠をレイアウト表示画面1501に表示し、
表示したレイアウト要素の表示位置情報を一時記憶Eに
設定する。一時記憶BがNULLの場合は、何も表示せ
ず一時記憶EにNULLを設定する。 (S1304)データベース部20が保持するレイアウ
トルール管理テーブルから、一時記憶Dが保持するレイ
アウト要素の名前と一致するレイアウト要素名を有する
組の情報を取り出し、一時記憶Fに設定する。 (S1305)一時記憶Cが保持するレイアウト要素の
リストの中で、一時記憶Dが保持するレイアウト要素の
次レイアウト要素が存在するか否かを検査する。存在す
る場合は(S1306)へ進み、存在しない場合は(S
1307)へ進む。 (S1306)一時記憶Dが保持するレイアウト要素の
次レイアウト要素を一時記憶Dに設定する。 (S1307)一時記憶Cが保持する全てのレイアウト
要素に対して一時記憶Fが保持するレイアウトルールの
適用を全組合せ行なうことにより、レイアウト要素の全
ての名前に対してレイアウト属性とその値を決定した組
を複数生成し、その全ての組合せを一時記憶Gに設定す
る。 (S1308)一時記憶Gの保持する該当階層のレイア
ウト属性値の組合せの中で、適用したレイアウト属性値
のルールテーブル内での優先順位の合計が最も小さい組
を一時記憶Hに設定する。 (S1309)一時記憶Cが保持する全てのレイアウト
要素の領域枠を、一時記憶Hが保持するレイアウト属性
値の組に従って、一時記憶Eが保持する表示位置情報に
基づき、レイアウト表示画面1601上に表示している
一時記憶Bの保持するレイアウト要素の領域枠上に重ね
て表示する。一時記憶BがNULLの場合は、レイアウ
ト表示画面1601上の余白部に表示する。 (S1310)一時記憶Gが保持する該当階層のレイア
ウト属性値の組合せの中で、まだ表示画面1601上に
表示していない組合せがあれば(S1311)に、なけ
れば(S1313)に進む。 (S1311)一時記憶Bが保持するレイアウト要素の
領域枠を、レイアウト表示画面1601上に既に表示し
ているものとは別に、レイアウト表示画面1601の余
白部に表示し、その表示位置情報を一時記憶Eに設定す
る。一時記憶BがNULLの場合は、何も表示せず一時
記憶EにNULLを設定する。 (S1312)一時記憶Gが保持する該当階層のレイア
ウト属性値の組合せの中で、一時記憶Hが保持する組の
次に、適用したレイアウト属性値のルールテーブル内で
の適用の優先順位の合計が小さい組を一時記憶Hに設定
する。 (S1313)レイアウト表示画面1601上に表示し
ている該当階層の複数のレイアウト候補の中から、ユー
ザの指示に基づいて正式に利用するレイアウトを決定
し、そのレイアウト属性値の組を一時記憶Gから取り出
して一時記憶Xに設定する。 (S1314)一時記憶Xが保持するレイアウト属性値
の組に従って、一時記憶Cが保持するレイアウト要素の
全てのレイアウト属性の値を決定する。またレイアウト
要素間の配置に関するレイアウト属性を参照することに
より配置優先度を調べ、配置優先度の高い順にレイアウ
ト要素のリストをソートし、ポインタを再設定する。 (S1315)レイアウト表示画面1601上に表示し
ているレイアウトの候補を全て消去する。 (S1316)共通レイアウト構造を構成するレイアウ
ト要素の中で、まだレイアウト属性の値を決定していな
いレイアウト要素が存在するか否か検査する。存在する
場合は(S1317)へ進み、存在しない場合は処理を
終了する。 (S1317)一時記憶Bが保持するレイアウト要素の
中で、まだレイアウト属性の値が決定されていないレイ
アウト要素をその下位階層に持つレイアウト要素を抜き
だし、さらにその中からユーザの指示に基づいて、次に
レイアウトフォーマットを生成する階層の親となるレイ
アウト要素を選択し、一時記憶Aに設定する。 (S1318)一時記憶Bが保持するレイアウト要素の
集合に、一時記憶Cが保持するレイアウト要素を追加す
る。 (S1319)一時記憶Aが保持するレイアウト要素が
持つ子レイアウト要素のリストを共通レイアウト構造か
ら取り出し、一時記憶Cに設定する。 (S1320)一時記憶Cが保持するレイアウト要素の
リストの先頭要素を一時記憶Dに設定する。
【0060】なお、レイアウトルールの組合せの実施に
際しては、1組実施するごとにその結果をユーザに提示
し、ユーザの判断を待っても良い。
際しては、1組実施するごとにその結果をユーザに提示
し、ユーザの判断を待っても良い。
【0061】なお、複数のレイアウト要素に対して、各
々複数のレイアウトルールを組合せてできる複数のレイ
アウトフォーマットの表示に際して、本実施例では適用
した各ルールの優先順位の合計が小さいものから表示し
ているが、他にも例えばあるレイアウト要素の優先順位
を固定して、他のレイアウト要素の優先順位が高いもの
から表示していくといったような手段を用いても良い。
々複数のレイアウトルールを組合せてできる複数のレイ
アウトフォーマットの表示に際して、本実施例では適用
した各ルールの優先順位の合計が小さいものから表示し
ているが、他にも例えばあるレイアウト要素の優先順位
を固定して、他のレイアウト要素の優先順位が高いもの
から表示していくといったような手段を用いても良い。
【0062】次に、(S1307)における、レイアウ
トルールをレイアウト要素に適用する処理について詳し
く説明する。レイアウトの候補を生成する該当階層には
複数のレイアウト要素が存在し、またデータベース部2
0が管理するレイアウトルール管理テーブルには、レイ
アウト要素毎に複数のルールが存在する。したがって、
これらの複数のレイアウト要素に複数のレイアウトルー
ルを適用する組合せを、可能な限り全て行なうことによ
り、複数のレイアウト候補を生成する。
トルールをレイアウト要素に適用する処理について詳し
く説明する。レイアウトの候補を生成する該当階層には
複数のレイアウト要素が存在し、またデータベース部2
0が管理するレイアウトルール管理テーブルには、レイ
アウト要素毎に複数のルールが存在する。したがって、
これらの複数のレイアウト要素に複数のレイアウトルー
ルを適用する組合せを、可能な限り全て行なうことによ
り、複数のレイアウト候補を生成する。
【0063】図14は、レイアウトフォーマット生成手
段のレイアウトルール組合せにおける処理フローチャー
トである。以下、図14に基づいて具体的な処理手段に
ついて説明する。 (S1401)該当階層のレイアウト要素の数を一時記
憶Iに設定する。 (S1402)該当階層のレイアウト要素のリストを一
時記憶Aに設定する。 (S1403)一時記憶Jに0を代入する。 (S1404)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1405)一時記憶B[J]に1を代入する。 (S1406)一時記憶Aが保持するレイアウト要素の
リストのJ番目のレイアウト要素を一時記憶C[J]に
設定する。 (S1407)一時記憶C[J]が保持するレイアウト
要素に適用可能なレイアウトルールの数を、レイアウト
ルール管理テーブルを参照して一時記憶D[J]に設定
する。 (S1408)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は(S1409)へ進む。
そうでない場合は(S1404)に戻る。 (S1409)一時記憶Jに0を代入する。 (S1410)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1411)一時記憶C[J]が保持するレイアウト
要素に一時記憶B[J]が保持する値番目に優先順位の
高いレイアウトルールを適用し、レイアウト要素の名前
に対してルール適用後のレイアウト属性とその値を決定
した組を一時記憶Gに追加する。 (S1412)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は(S1413)へ進む。
そうでない場合は(S1410)に戻る。 (S1413)一時記憶Jに0を代入する。 (S1414)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1415)一時記憶B[J]の内容に1を足した値
が一時記憶D[J]が保持する値より大きい場合は(S
1417)へ、そうでない場合は(S1416)へ進
む。 (S1416)一時記憶B[J]の内容に1加えたもの
を、一時記憶B[J]に設定し、(S1409)へ戻
る。 (S1417)一時記憶B[J]に1を代入する。 (S1418)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は処理を終了する。そうで
ない場合は(S1414)へ戻る。
段のレイアウトルール組合せにおける処理フローチャー
トである。以下、図14に基づいて具体的な処理手段に
ついて説明する。 (S1401)該当階層のレイアウト要素の数を一時記
憶Iに設定する。 (S1402)該当階層のレイアウト要素のリストを一
時記憶Aに設定する。 (S1403)一時記憶Jに0を代入する。 (S1404)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1405)一時記憶B[J]に1を代入する。 (S1406)一時記憶Aが保持するレイアウト要素の
リストのJ番目のレイアウト要素を一時記憶C[J]に
設定する。 (S1407)一時記憶C[J]が保持するレイアウト
要素に適用可能なレイアウトルールの数を、レイアウト
ルール管理テーブルを参照して一時記憶D[J]に設定
する。 (S1408)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は(S1409)へ進む。
そうでない場合は(S1404)に戻る。 (S1409)一時記憶Jに0を代入する。 (S1410)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1411)一時記憶C[J]が保持するレイアウト
要素に一時記憶B[J]が保持する値番目に優先順位の
高いレイアウトルールを適用し、レイアウト要素の名前
に対してルール適用後のレイアウト属性とその値を決定
した組を一時記憶Gに追加する。 (S1412)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は(S1413)へ進む。
そうでない場合は(S1410)に戻る。 (S1413)一時記憶Jに0を代入する。 (S1414)一時記憶Jの内容に1加えたものを、一
時記憶Jに設定する。 (S1415)一時記憶B[J]の内容に1を足した値
が一時記憶D[J]が保持する値より大きい場合は(S
1417)へ、そうでない場合は(S1416)へ進
む。 (S1416)一時記憶B[J]の内容に1加えたもの
を、一時記憶B[J]に設定し、(S1409)へ戻
る。 (S1417)一時記憶B[J]に1を代入する。 (S1418)一時記憶Jが保持する数が、一時記憶I
が保持する数より大きい場合は処理を終了する。そうで
ない場合は(S1414)へ戻る。
【0064】上記処理手段に従って、複数のレイアウト
候補を生成することができる。これはレイアウト要素毎
にレイアウト属性とその値を決めた組で表現され、可能
な値の組合せが全て一時記憶Gに保存されている。
候補を生成することができる。これはレイアウト要素毎
にレイアウト属性とその値を決めた組で表現され、可能
な値の組合せが全て一時記憶Gに保存されている。
【0065】次に、(S1411)について、実際にレ
イアウトルールをレイアウト要素に適用する処理を詳し
く説明する。
イアウトルールをレイアウト要素に適用する処理を詳し
く説明する。
【0066】図15は、レイアウトフォーマット生成手
段15のレイアウトルール適用における処理フローチャ
ートである。以下、図15に基づいて具体的な処理手段
について説明する。 (S1501)レイアウトルール適用を行うレイアウト
要素を一時記憶Aに設定する。 (S1502)時記憶Iに0を代入する。 (S1503)一時記憶Iの内容に1加えたものを、一
時記憶Iに設定する。 (S1504)レイアウトルール管理テーブルにおい
て、一時記憶Iが保持している組番号の組の情報を一時
記憶Bに設定する。 (S1505)一時記憶Bの内容のレイアウト要素名と
一時記憶Aが保持するレイアウト要素の名前が一致する
か否か検査する。一致する場合は(S1506)へ進
む。一致しない場合は(S1503)に進む。 (S1506)一時記憶Bの内容の参照属性の値を求
め、一時記憶Cに設定する。 (S1507)一時記憶Bの内容の環境条件と一時記憶
Cの値を比較して、比較の結果範囲内の場合は(S15
09)へ進む。範囲内でない場合は(S1508)へ進
む。 (S1508)一時記憶Iの内容がレイアウトルール管
理テーブルの全組数より大きいか否かを検査する。大き
いときは処理を終了する。大きくないときは(S150
3)へ戻る。 (S1509)一時記憶Bの内容の属性値の中で最も優
先順位の高い属性値を一時記憶Dに設定する。 (S1510)一時記憶Aの保持するレイアウト要素の
一時記憶Bの内容の属性の値を一時記憶Dの保持する値
に変更する。 (S1511)一時記憶Bの内容の属性値の中で一時記
憶Dの保持する属性値の優先順位が最も低いか否かを検
査する。最も低い場合は処理を終了する。最も低くない
場合は(S1512)へ進む。 (S1512)一時記憶Bの内容の属性値の中で一時記
憶Dの保持する属性値の次に優先順位の高い属性値を一
時記憶Dに設定する。
段15のレイアウトルール適用における処理フローチャ
ートである。以下、図15に基づいて具体的な処理手段
について説明する。 (S1501)レイアウトルール適用を行うレイアウト
要素を一時記憶Aに設定する。 (S1502)時記憶Iに0を代入する。 (S1503)一時記憶Iの内容に1加えたものを、一
時記憶Iに設定する。 (S1504)レイアウトルール管理テーブルにおい
て、一時記憶Iが保持している組番号の組の情報を一時
記憶Bに設定する。 (S1505)一時記憶Bの内容のレイアウト要素名と
一時記憶Aが保持するレイアウト要素の名前が一致する
か否か検査する。一致する場合は(S1506)へ進
む。一致しない場合は(S1503)に進む。 (S1506)一時記憶Bの内容の参照属性の値を求
め、一時記憶Cに設定する。 (S1507)一時記憶Bの内容の環境条件と一時記憶
Cの値を比較して、比較の結果範囲内の場合は(S15
09)へ進む。範囲内でない場合は(S1508)へ進
む。 (S1508)一時記憶Iの内容がレイアウトルール管
理テーブルの全組数より大きいか否かを検査する。大き
いときは処理を終了する。大きくないときは(S150
3)へ戻る。 (S1509)一時記憶Bの内容の属性値の中で最も優
先順位の高い属性値を一時記憶Dに設定する。 (S1510)一時記憶Aの保持するレイアウト要素の
一時記憶Bの内容の属性の値を一時記憶Dの保持する値
に変更する。 (S1511)一時記憶Bの内容の属性値の中で一時記
憶Dの保持する属性値の優先順位が最も低いか否かを検
査する。最も低い場合は処理を終了する。最も低くない
場合は(S1512)へ進む。 (S1512)一時記憶Bの内容の属性値の中で一時記
憶Dの保持する属性値の次に優先順位の高い属性値を一
時記憶Dに設定する。
【0067】上記処理手段に従って、各階層において優
先順位の高いレイアウト要素からレイアウトルールを適
用することにより、レイアウト要素が保持するレイアウ
ト属性の値を決定することが出来る。
先順位の高いレイアウト要素からレイアウトルールを適
用することにより、レイアウト要素が保持するレイアウ
ト属性の値を決定することが出来る。
【0068】上記レイアウトフォーマット生成手段の処
理手続きに基づいて、図9のようなレイアウトルール管
理テーブルを使用し、図8の共通レイアウト構造の「ペ
ージ」という名前のレイアウト要素の1つ下の階層に対
してレイアウトフォーマットの候補を生成した場合の表
示の一実施例が図16である。図16は、サイズが”A
4”である「ページ」に対して、「本文」のサイズと位
置を固定し、「ノンブル」のレイアウト属性の値を複数
設定することにより、複数のレイアウト候補を生成し、
提示した表示例である。
理手続きに基づいて、図9のようなレイアウトルール管
理テーブルを使用し、図8の共通レイアウト構造の「ペ
ージ」という名前のレイアウト要素の1つ下の階層に対
してレイアウトフォーマットの候補を生成した場合の表
示の一実施例が図16である。図16は、サイズが”A
4”である「ページ」に対して、「本文」のサイズと位
置を固定し、「ノンブル」のレイアウト属性の値を複数
設定することにより、複数のレイアウト候補を生成し、
提示した表示例である。
【0069】この例において、まず管理テーブルに定義
されている「本文」の欄を参照すると、「ページサイ
ズ」という参照属性に対し複数の条件値が存在するが、
ぺージサイズが“A4”であるので、この条件値に対応
した位置やサイズの値を「本文」の属性として設定す
る。ただし、優先順位がついた複数の値がテーブルには
定義されているので、その中で最も優先順位の高い位置
“17.8,20”とサイズ“169.2,253.
7”をとりあえず採用する。
されている「本文」の欄を参照すると、「ページサイ
ズ」という参照属性に対し複数の条件値が存在するが、
ぺージサイズが“A4”であるので、この条件値に対応
した位置やサイズの値を「本文」の属性として設定す
る。ただし、優先順位がついた複数の値がテーブルには
定義されているので、その中で最も優先順位の高い位置
“17.8,20”とサイズ“169.2,253.
7”をとりあえず採用する。
【0070】一方、「ノンブル」の欄を参照すると「本
文」と同様に複数のページサイズに対してさらに複数の
位置属性の値が定義されている。ページサイズは”A
4”であるので、この条件値に対応した値を採用する
が、今度は優先順位の順に値を設定して「本文」と組み
合わせることにより、複数のレイアウト候補を生成す
る。図16では、このようにして生成した6つのレイア
ウト候補を、「ノンブル」に採用した値の優先順位の高
い順に左上から表示している。それぞれ、斜線が入った
領域が「本文」、格子が入った領域が「ノンブル」を示
している。
文」と同様に複数のページサイズに対してさらに複数の
位置属性の値が定義されている。ページサイズは”A
4”であるので、この条件値に対応した値を採用する
が、今度は優先順位の順に値を設定して「本文」と組み
合わせることにより、複数のレイアウト候補を生成す
る。図16では、このようにして生成した6つのレイア
ウト候補を、「ノンブル」に採用した値の優先順位の高
い順に左上から表示している。それぞれ、斜線が入った
領域が「本文」、格子が入った領域が「ノンブル」を示
している。
【0071】なお、属性値については数値が直接書かれ
ている例を示したが、式を記述して計算後の値をレイア
ウト要素の属性の値として決定しても良い。
ている例を示したが、式を記述して計算後の値をレイア
ウト要素の属性の値として決定しても良い。
【0072】また上記レイアウトフォーマット生成手段
15の処理手続きに基づいて、全階層のレイアウト要素
が保持するレイアウト属性の値の決定を行なった結果の
表示の一実施例が図17である。
15の処理手続きに基づいて、全階層のレイアウト要素
が保持するレイアウト属性の値の決定を行なった結果の
表示の一実施例が図17である。
【0073】次に、レイアウトフォーマット編集手段1
6の動作について詳しく説明する。レイアウトフォーマ
ット編集手段16は、レイアウトフォーマット生成手段
15で生成したレイアウトフォーマットに対して、ユー
ザの指示に基づきレイアウト要素が保持するレイアウト
属性の値の修正を行う。修正を行ったレイアウト要素が
保持するレイアウト属性がデータベース部が保持するル
ールに則しているか否かの検査を行い、則していない場
合は行ったレイアウト属性の値の変更に対する助言をル
ールに基づいて作成し、表示を行う。助言は例えば該当
属性名と、ユーザが修正した値と、該当するレイアウト
ルールの最も優先順位の高い値を用い、定型の文章に挿
入して作成する。
6の動作について詳しく説明する。レイアウトフォーマ
ット編集手段16は、レイアウトフォーマット生成手段
15で生成したレイアウトフォーマットに対して、ユー
ザの指示に基づきレイアウト要素が保持するレイアウト
属性の値の修正を行う。修正を行ったレイアウト要素が
保持するレイアウト属性がデータベース部が保持するル
ールに則しているか否かの検査を行い、則していない場
合は行ったレイアウト属性の値の変更に対する助言をル
ールに基づいて作成し、表示を行う。助言は例えば該当
属性名と、ユーザが修正した値と、該当するレイアウト
ルールの最も優先順位の高い値を用い、定型の文章に挿
入して作成する。
【0074】図18は、レイアウトフォーマット編集手
段16における処理フローチャートである。以下、図1
8に基づいて具体的な処理手段について説明する。 (S1801)ユーザが選択したレイアウト要素を一時
記憶Aに設定する。 (S1802)一時記憶Aの保持するレイアウト要素が
保持するレイアウト属性の値の表示を行う。 (S1803)ユーザが一時記憶Aの保持するレイアウ
ト要素のレイアウト属性の値を変更し、変更後の値を一
時記憶Bに設定する。 (S1804)データベース部20の保持するレイアウ
トルール管理テーブルにおいて、一時記憶Aの保持する
レイアウト要素の名前と一致するレイアウト要素名を有
する組の情報を一時記憶Cに設定する。 (S1805)一時記憶Cの保持する属性名と属性値
を、一時記憶Bの保持するレイアウト属性の値と比較
し、適合性を判定する。適合していれば(S1806)
へ、適合していなければ(S1808)へ進む。 (S1806)一時記憶Aの保持するレイアウト要素の
レイアウト属性を一時記憶Bの保持するレイアウト属性
の値に変更する。 (S1807)一時記憶Aの保持するレイアウト要素
と、繰り返し要素で複数表示している場合は、該当する
全てのレイアウト要素に対して再表示を行う。処理を終
了する。 (S1808)適合していない理由や、どのような値に
変更すればよいのかという助言をルールに基づき作成
し、表示を行う。処理を終了する。
段16における処理フローチャートである。以下、図1
8に基づいて具体的な処理手段について説明する。 (S1801)ユーザが選択したレイアウト要素を一時
記憶Aに設定する。 (S1802)一時記憶Aの保持するレイアウト要素が
保持するレイアウト属性の値の表示を行う。 (S1803)ユーザが一時記憶Aの保持するレイアウ
ト要素のレイアウト属性の値を変更し、変更後の値を一
時記憶Bに設定する。 (S1804)データベース部20の保持するレイアウ
トルール管理テーブルにおいて、一時記憶Aの保持する
レイアウト要素の名前と一致するレイアウト要素名を有
する組の情報を一時記憶Cに設定する。 (S1805)一時記憶Cの保持する属性名と属性値
を、一時記憶Bの保持するレイアウト属性の値と比較
し、適合性を判定する。適合していれば(S1806)
へ、適合していなければ(S1808)へ進む。 (S1806)一時記憶Aの保持するレイアウト要素の
レイアウト属性を一時記憶Bの保持するレイアウト属性
の値に変更する。 (S1807)一時記憶Aの保持するレイアウト要素
と、繰り返し要素で複数表示している場合は、該当する
全てのレイアウト要素に対して再表示を行う。処理を終
了する。 (S1808)適合していない理由や、どのような値に
変更すればよいのかという助言をルールに基づき作成
し、表示を行う。処理を終了する。
【0075】次に、自動レイアウト手段17の動作につ
いて詳しく説明する。原稿作成手段11が作成した原稿
に対して、原稿構成単位毎に、記述されたタグに対応す
る基本レイアウト要素及び、基本レイアウト要素をまと
める複合レイアウト要素を生成し、これらの要素間の階
層関係を定義するレイアウト構造をレイアウトフォーマ
ットに従って構築する。また各レイアウト要素につい
て、その内容を頁上のどの位置にどのように表示するか
を示す各種の属性値を、レイアウトフォーマット及び内
容に応じて決定していくことにより整形済み文書を生成
する。
いて詳しく説明する。原稿作成手段11が作成した原稿
に対して、原稿構成単位毎に、記述されたタグに対応す
る基本レイアウト要素及び、基本レイアウト要素をまと
める複合レイアウト要素を生成し、これらの要素間の階
層関係を定義するレイアウト構造をレイアウトフォーマ
ットに従って構築する。また各レイアウト要素につい
て、その内容を頁上のどの位置にどのように表示するか
を示す各種の属性値を、レイアウトフォーマット及び内
容に応じて決定していくことにより整形済み文書を生成
する。
【0076】図19は自動レイアウト手段17における
動作のフローチャートであり、この図19に基づいて具
体的な処理手順を説明する。 (S1901)該当原稿の先頭原稿構成単位を一時記憶
Gに設定する。 (S1902)一時記憶Gが保持する原稿構成単位に対
して、原稿構成単位そのものに対応する複合レイアウト
要素を生成し、この要素を一時記憶Tに設定する。 (S1903)一時記憶Tの内容を、一時記憶Pに設定
する。 (S1904)一時記憶Gが保持する、原稿構成単位中
の未処理のタグから、先頭のものを取り出し、処理済み
のフラグをつける。 (S1905)取り出されたタグを名前に持つ基本レイ
アウト要素を生成し、タグと組で記述された内容を指す
ポインタを持たせる。この要素を、一時記憶Bに設定す
る。 (S1906)一時記憶Bが保持する基本レイアウト要
素の、各内容表現属性値を各々、レイアウトフォーマッ
ト中にある一時記憶Bが保持する基本レイアウト要素と
同じ名前を持つ要素の内容表現属性値と同一の値に決定
する。 (S1907)一時記憶Bが保持する基本レイアウト要
素の、サイズ属性値を計算し、決定する。 (S1908)一時記憶Bが保持する内容を一時記憶A
に設定する。 (S1909)レイアウトフォーマットを参照し、一時
記憶Aが保持する基本レイアウト要素と同じ名前を持つ
レイアウト要素の親である複合レイアウト要素の名前を
取り出す。 (S1910)レイアウトフォーマットから取り出した
名前を、一時記憶Cに設定する。 (S1911)一時記憶Cの内容が、一時記憶Pが保持
する複合レイアウト要素の名前に等しければ(S191
2)に進み、等しくなければ(S1922)に進む。 (S1912)一時記憶Pが保持する複合レイアウト要
素が、まだ子供の要素を持っていなければ(S191
3)に進み、既に子供の要素を持っていれば(S193
0)に進む。 (S1913)一時記憶Aが保持するレイアウト要素
を、一時記憶Pが保持する複合レイアウト要素の子供と
し、相互にポインタを設定する。 (S1914)一時記憶Aが保持する内容を、一時記憶
Yに設定する。 (S1915)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1916)原稿に未処理のタグが残っていれば(S
1920)に進み、残っていなければ(S1917)へ
進む。 (S1917)一時記憶Tが保持する内容を、一時記憶
Xに設定する。 (S1918)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1919)一時記憶Gが保持する原稿構成単位が、
次の原稿構成単位へのポインタを持っていれば(S19
21)へ、持っていなければ自動レイアウト処理を終了
する。 (S1920)一時記憶Bが保持するレイアウト要素の
親要素を、一時記憶Pに設定する。 (S1921)一時記憶Gが保持する原稿構成単位の、
次の原稿構成単位へのポインタの先にある原稿構成単位
を一時記憶Gに設定する。 (S1922)一時記憶Pが保持する複合レイアウト要
素の親要素を、一時記憶NPに設定する (S1923)一時記憶Cの内容が、一時記憶NPが保
持する複合レイアウト要素の名前に等しければ(S19
24)に進み、等しくなければ(S1925)に進む。 (S1924)一時記憶NPが保持する内容を、一時記
憶Pに設定する。 (S1925)一時記憶NPが保持する複合レイアウト
要素が、一時記憶Tが保持する複合レイアウト要素に等
しくなければ(S1926)に進み、等しければ(S1
927)に進む。 (S1926)一時記憶NPが保持する複合レイアウト
要素の親要素を、一時記憶NPに設定する。 (S1927)一時記憶Cが保持する内容を名前に持つ
複合レイアウト要素を生成し、一時記憶NAに設定す
る。 (S1928)一時記憶Aが保持する論理要素を、一時
記憶NAが保持する複合論理要素の子供とし、相互にポ
インタを設定する。 (S1929)一時記憶NAの内容を、一時記憶Aに設
定する。 (S1930)一時記憶Pが保持する複合レイアウト要
素の子供のリストを調べ、そのリストの最後尾のレイア
ウト要素の名前が、一時記憶Aが保持するレイアウト要
素の名前と等しければ(S1932)に進み、等しくな
ければ(S1931)に進む。 (S1931)一時記憶Pが保持する複合レイアウト要
素の子供のリストに対して、最後尾の要素以外に、一時
記憶Aが保持するレイアウト要素と同じ名前を持つレイ
アウト要素があるかどうかを調べる。そのようなレイア
ウト要素があれば(S1937)に進み、なければ(S
1932)に進む。 (S1932)一時記憶Aが保持するレイアウト要素の
親要素を、一時記憶Xに設定する。 (S1933)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1934)一時記憶Pが保持する複合レイアウト要
素の子供のリストの最後尾に一時記憶Aが保持するレイ
アウト要素を追加し、ポインタを設定する。 (S1935)一時記憶Aが保持する内容を、一時記憶
Yに設定する。 (S1936)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1937)一時記憶Pが保持する複合レイアウト要
素の名前と同じ名前を持つ複合レイアウト要素を生成
し、一時記憶NPに設定する。 (S1938)一時記憶NPが保持するレイアウト要素
の親要素を、一時記憶Xに設定する。 (S1939)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1940)一時記憶NPが保持する複合レイアウト
要素を、一時記憶Pが保持する複合レイアウト要素が属
する階層のレイアウト要素のリストの中で、一時記憶P
が保持する複合レイアウト要素の次の位置に挿入し、前
後のレイアウト要素と自身のポインタを設定する。 (S1941)一時記憶NPが保持する内容を、一時記
憶Yに設定する。 (S1942)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1943)一時記憶NPが保持する複合論理要素
を、一時記憶Pに設定する。
動作のフローチャートであり、この図19に基づいて具
体的な処理手順を説明する。 (S1901)該当原稿の先頭原稿構成単位を一時記憶
Gに設定する。 (S1902)一時記憶Gが保持する原稿構成単位に対
して、原稿構成単位そのものに対応する複合レイアウト
要素を生成し、この要素を一時記憶Tに設定する。 (S1903)一時記憶Tの内容を、一時記憶Pに設定
する。 (S1904)一時記憶Gが保持する、原稿構成単位中
の未処理のタグから、先頭のものを取り出し、処理済み
のフラグをつける。 (S1905)取り出されたタグを名前に持つ基本レイ
アウト要素を生成し、タグと組で記述された内容を指す
ポインタを持たせる。この要素を、一時記憶Bに設定す
る。 (S1906)一時記憶Bが保持する基本レイアウト要
素の、各内容表現属性値を各々、レイアウトフォーマッ
ト中にある一時記憶Bが保持する基本レイアウト要素と
同じ名前を持つ要素の内容表現属性値と同一の値に決定
する。 (S1907)一時記憶Bが保持する基本レイアウト要
素の、サイズ属性値を計算し、決定する。 (S1908)一時記憶Bが保持する内容を一時記憶A
に設定する。 (S1909)レイアウトフォーマットを参照し、一時
記憶Aが保持する基本レイアウト要素と同じ名前を持つ
レイアウト要素の親である複合レイアウト要素の名前を
取り出す。 (S1910)レイアウトフォーマットから取り出した
名前を、一時記憶Cに設定する。 (S1911)一時記憶Cの内容が、一時記憶Pが保持
する複合レイアウト要素の名前に等しければ(S191
2)に進み、等しくなければ(S1922)に進む。 (S1912)一時記憶Pが保持する複合レイアウト要
素が、まだ子供の要素を持っていなければ(S191
3)に進み、既に子供の要素を持っていれば(S193
0)に進む。 (S1913)一時記憶Aが保持するレイアウト要素
を、一時記憶Pが保持する複合レイアウト要素の子供と
し、相互にポインタを設定する。 (S1914)一時記憶Aが保持する内容を、一時記憶
Yに設定する。 (S1915)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1916)原稿に未処理のタグが残っていれば(S
1920)に進み、残っていなければ(S1917)へ
進む。 (S1917)一時記憶Tが保持する内容を、一時記憶
Xに設定する。 (S1918)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1919)一時記憶Gが保持する原稿構成単位が、
次の原稿構成単位へのポインタを持っていれば(S19
21)へ、持っていなければ自動レイアウト処理を終了
する。 (S1920)一時記憶Bが保持するレイアウト要素の
親要素を、一時記憶Pに設定する。 (S1921)一時記憶Gが保持する原稿構成単位の、
次の原稿構成単位へのポインタの先にある原稿構成単位
を一時記憶Gに設定する。 (S1922)一時記憶Pが保持する複合レイアウト要
素の親要素を、一時記憶NPに設定する (S1923)一時記憶Cの内容が、一時記憶NPが保
持する複合レイアウト要素の名前に等しければ(S19
24)に進み、等しくなければ(S1925)に進む。 (S1924)一時記憶NPが保持する内容を、一時記
憶Pに設定する。 (S1925)一時記憶NPが保持する複合レイアウト
要素が、一時記憶Tが保持する複合レイアウト要素に等
しくなければ(S1926)に進み、等しければ(S1
927)に進む。 (S1926)一時記憶NPが保持する複合レイアウト
要素の親要素を、一時記憶NPに設定する。 (S1927)一時記憶Cが保持する内容を名前に持つ
複合レイアウト要素を生成し、一時記憶NAに設定す
る。 (S1928)一時記憶Aが保持する論理要素を、一時
記憶NAが保持する複合論理要素の子供とし、相互にポ
インタを設定する。 (S1929)一時記憶NAの内容を、一時記憶Aに設
定する。 (S1930)一時記憶Pが保持する複合レイアウト要
素の子供のリストを調べ、そのリストの最後尾のレイア
ウト要素の名前が、一時記憶Aが保持するレイアウト要
素の名前と等しければ(S1932)に進み、等しくな
ければ(S1931)に進む。 (S1931)一時記憶Pが保持する複合レイアウト要
素の子供のリストに対して、最後尾の要素以外に、一時
記憶Aが保持するレイアウト要素と同じ名前を持つレイ
アウト要素があるかどうかを調べる。そのようなレイア
ウト要素があれば(S1937)に進み、なければ(S
1932)に進む。 (S1932)一時記憶Aが保持するレイアウト要素の
親要素を、一時記憶Xに設定する。 (S1933)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1934)一時記憶Pが保持する複合レイアウト要
素の子供のリストの最後尾に一時記憶Aが保持するレイ
アウト要素を追加し、ポインタを設定する。 (S1935)一時記憶Aが保持する内容を、一時記憶
Yに設定する。 (S1936)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1937)一時記憶Pが保持する複合レイアウト要
素の名前と同じ名前を持つ複合レイアウト要素を生成
し、一時記憶NPに設定する。 (S1938)一時記憶NPが保持するレイアウト要素
の親要素を、一時記憶Xに設定する。 (S1939)一時記憶Xが保持するレイアウト要素の
下位階層について、最下層より1つ上の階層より、一時
記憶Xが保持するレイアウト要素の子の階層までの、各
階層の再後尾のレイアウト要素について、そのサイズ属
性値が未設定であれば、サイズ属性を計算し決定する。 (S1940)一時記憶NPが保持する複合レイアウト
要素を、一時記憶Pが保持する複合レイアウト要素が属
する階層のレイアウト要素のリストの中で、一時記憶P
が保持する複合レイアウト要素の次の位置に挿入し、前
後のレイアウト要素と自身のポインタを設定する。 (S1941)一時記憶NPが保持する内容を、一時記
憶Yに設定する。 (S1942)一時記憶Yが保持するレイアウト要素及
び、該当レイアウト要素の下位階層として存在する全て
のレイアウト要素の配置属性値を、計算し決定する。 (S1943)一時記憶NPが保持する複合論理要素
を、一時記憶Pに設定する。
【0077】以上の手順に従い、全ての原稿構成単位に
ついて、各々レイアウト要素を生成し、個々のレイアウ
ト要素について各属性値を決定することによってレイア
ウト済み文書が生成される。
ついて、各々レイアウト要素を生成し、個々のレイアウ
ト要素について各属性値を決定することによってレイア
ウト済み文書が生成される。
【0078】次に、レイアウト要素の位置決めの処理に
ついて説明する。レイアウト要素は、自身を頁上のどの
位置に割り付けるかを示すための、配置属性値を持つ。
配置属性値とは、レイアウト要素の枠の左上角を基準点
とし、頁上の左上角を原点とした時の基準点の絶対座標
に等しい。レイアウト要素は、また相対位置属性という
属性を持ち、これは該当レイアウト要素の基準点の、前
要素及び親要素の基準点に対する相対座標に等しい。こ
れらの座標は、x座標、y座標の2つの値の組で表現す
る。
ついて説明する。レイアウト要素は、自身を頁上のどの
位置に割り付けるかを示すための、配置属性値を持つ。
配置属性値とは、レイアウト要素の枠の左上角を基準点
とし、頁上の左上角を原点とした時の基準点の絶対座標
に等しい。レイアウト要素は、また相対位置属性という
属性を持ち、これは該当レイアウト要素の基準点の、前
要素及び親要素の基準点に対する相対座標に等しい。こ
れらの座標は、x座標、y座標の2つの値の組で表現す
る。
【0079】あるレイアウト要素の配置属性値は、前要
素または親要素の配置属性値と、該当レイアウト要素の
相対位置属性値の和をとることにより決定する。
素または親要素の配置属性値と、該当レイアウト要素の
相対位置属性値の和をとることにより決定する。
【0080】図20は、自動レイアウト手段17におけ
る、レイアウト要素の配置属性値決定処理のフローチャ
ートである。以下、図20に基づいて具体的な処理手段
について説明する。ただし、この処理においては、図1
9に示した自動レイアウト処理における一時記憶Yを共
有するものとする。また、この処理における一時記憶
H、I、Jは各々2つの値x、yを独立に保持するもの
とし、例えばH+Iとした場合、各々のx、yの値につ
いて個別に和をとるものとする。 (S2001)一時記憶Yが保持するレイアウト要素
が、前要素を持つならば(S2002)へ、持たなけれ
ば(S2005)へ進む。 (S2002)一時記憶Yが保持するレイアウト要素
の、前要素を一時記憶Fに設定する。 (S2003)一時記憶Fが保持するレイアウト要素
の、配置属性値を一時記憶Hに設定する。 (S2004)一時記憶Yが保持するレイアウト要素
の、前要素との相対位置属性値を一時記憶Iに設定す
る。 (S2005)一時記憶Yが保持するレイアウト要素
の、親要素を一時記憶Pに設定する。 (S2006)一時記憶Pが保持するレイアウト要素
の、配置属性値を一時記憶Hに設定する。 (S2007)一時記憶Yが保持するレイアウト要素
の、親要素との相対位置属性値を一時記憶Iに設定す
る。 (S2008)一時記憶H、Iが保持する各々の値につ
いてH+Iを計算し、その値を一時記憶Jに設定する。 (S2009)一時記憶Yが保持するレイアウト要素
の、配置属性値を一時記憶Jが保持する値に設定する。 (S2010)一時記憶Yが保持するレイアウト要素
が、子要素を持つならば(S2011)へ、持たなけれ
ば処理を終了する。 (S2011)一時記憶Yが保持するレイアウト要素
の、子要素を一時記憶Yに設定し、(S2001)へ進
む。
る、レイアウト要素の配置属性値決定処理のフローチャ
ートである。以下、図20に基づいて具体的な処理手段
について説明する。ただし、この処理においては、図1
9に示した自動レイアウト処理における一時記憶Yを共
有するものとする。また、この処理における一時記憶
H、I、Jは各々2つの値x、yを独立に保持するもの
とし、例えばH+Iとした場合、各々のx、yの値につ
いて個別に和をとるものとする。 (S2001)一時記憶Yが保持するレイアウト要素
が、前要素を持つならば(S2002)へ、持たなけれ
ば(S2005)へ進む。 (S2002)一時記憶Yが保持するレイアウト要素
の、前要素を一時記憶Fに設定する。 (S2003)一時記憶Fが保持するレイアウト要素
の、配置属性値を一時記憶Hに設定する。 (S2004)一時記憶Yが保持するレイアウト要素
の、前要素との相対位置属性値を一時記憶Iに設定す
る。 (S2005)一時記憶Yが保持するレイアウト要素
の、親要素を一時記憶Pに設定する。 (S2006)一時記憶Pが保持するレイアウト要素
の、配置属性値を一時記憶Hに設定する。 (S2007)一時記憶Yが保持するレイアウト要素
の、親要素との相対位置属性値を一時記憶Iに設定す
る。 (S2008)一時記憶H、Iが保持する各々の値につ
いてH+Iを計算し、その値を一時記憶Jに設定する。 (S2009)一時記憶Yが保持するレイアウト要素
の、配置属性値を一時記憶Jが保持する値に設定する。 (S2010)一時記憶Yが保持するレイアウト要素
が、子要素を持つならば(S2011)へ、持たなけれ
ば処理を終了する。 (S2011)一時記憶Yが保持するレイアウト要素
の、子要素を一時記憶Yに設定し、(S2001)へ進
む。
【0081】以上の手順により、一時記憶Yが保持する
レイアウト要素及び該当レイアウト要素の下位階層をな
すレイアウト要素の配置属性値を決定される。
レイアウト要素及び該当レイアウト要素の下位階層をな
すレイアウト要素の配置属性値を決定される。
【0082】なお、本実施例では枠の基準点を左上角と
したが、例えば縦書きの場合については基準点を右上角
とするように、基準点の位置を変更してもよい。
したが、例えば縦書きの場合については基準点を右上角
とするように、基準点の位置を変更してもよい。
【0083】次に、レイアウト要素の大きさを決定する
処理について説明する。レイアウト要素は、自身が持つ
内容を頁上に割り付ける領域の縦、横それぞれの大きさ
の値を組にした属性値を持つ。これをサイズ属性値と呼
ぶ。本実施例では特に断らない限り単にサイズ属性値と
呼ぶ場合、この縦・横2つの値を組にしたものを意味す
る。また、特に枠のサイズのうち、縦の値、横の値を個
別に扱いたい時は、各々を縦サイズ属性値、横サイズ属
性値を呼んで区別する。
処理について説明する。レイアウト要素は、自身が持つ
内容を頁上に割り付ける領域の縦、横それぞれの大きさ
の値を組にした属性値を持つ。これをサイズ属性値と呼
ぶ。本実施例では特に断らない限り単にサイズ属性値と
呼ぶ場合、この縦・横2つの値を組にしたものを意味す
る。また、特に枠のサイズのうち、縦の値、横の値を個
別に扱いたい時は、各々を縦サイズ属性値、横サイズ属
性値を呼んで区別する。
【0084】サイズ属性値は、レイアウトフォーマット
により予め定められた値以外はとらない固定サイズ属性
値と、レイアウト要素の持つ内容に応じてその値を任意
に変更しうる可変サイズ属性値の2種類がある。このサ
イズ属性値は、基本レイアウト要素と複合レイアウト要
素でそれぞれ決定法が異なる。
により予め定められた値以外はとらない固定サイズ属性
値と、レイアウト要素の持つ内容に応じてその値を任意
に変更しうる可変サイズ属性値の2種類がある。このサ
イズ属性値は、基本レイアウト要素と複合レイアウト要
素でそれぞれ決定法が異なる。
【0085】図21は、自動レイアウト手段17におけ
る基本レイアウト要素のサイズ属性決定処理のフローチ
ャートである。以下、図21に基づいて具体的な処理手
段について説明する。但し、この処理においては、図1
9に示した自動レイアウト処理における一時記憶Bを共
有するものとする。 (S2101)一時記憶Bが保持する基本レイアウト要
素の内容が、文字列であれば(S2102)へ、イラス
トであれば(S2109)へ進む。 (S2102)一時記憶Bが保持するレイアウト要素
の、内容の総文字数値を一時記憶Nに設定する。 (S2103)一時記憶Bが保持するレイアウト要素
の、フォントサイズの高さの値を一時記憶Lyに設定す
る。 (S2104)一時記憶Bが保持するレイアウト要素
の、フォントサイズの横幅の値を一時記憶Lxに設定す
る。 (S2105)一時記憶Bが保持するレイアウト要素
の、1行あたりの文字数属性値を一時記憶Wに設定す
る。 (S2106)一時記憶Bが保持するレイアウト要素
の、行間サイズ属性値を一時記憶Tに設定する。 (S2107)一時記憶N、Lx、Ly、W、Tの保持
する値より、N/W×Ly+T×(N/W−1)を計算
し、その値を一時記憶Syに設定する。 (S2108)一時記憶Lx、Wの保持する値より、L
x×Wを計算し、その値を一時記憶Sxに設定する。 (S2109)一時記憶Bが保持するレイアウト要素
の、内容であるイラストの縦サイズ値を、一時記憶Sy
に設定する。 (S2110)一時記憶Bが保持するレイアウト要素
の、内容であるイラストの横サイズ値を、一時記憶Sx
に設定する。 (S2111)一時記憶Bが保持するレイアウト要素
の、ズーム属性値を一時記憶Zに設定する。 (S2112)一時記憶Sy、Zの保持する値より、S
y×Zを計算し、その値を一時記憶Syに設定する。 (S2113)一時記憶Sx、Zの保持する値より、S
x×Zを計算し、その値を一時記憶Sxに設定する。 (S2114)一時記憶Bが保持するレイアウト要素
の、サイズ属性値が可変であれば(S2115)へ、固
定であれば(S2117)へ進む。 (S2115)一時記憶Bが保持するレイアウト要素
の、横サイズ属性値として、一時記憶Sxが保持する値
を設定する。 (S2116)一時記憶Bが保持するレイアウト要素
の、縦サイズ属性値として、一時記憶Syが保持する値
を設定し、処理を終了する。 (S2117)一時記憶Bが保持するレイアウト要素
の、横サイズ属性値を、一時記憶Bxに設定する。 (S2118)一時記憶Bが保持するレイアウト要素
の、縦サイズ属性値を、一時記憶Byに設定する。 (S2119)一時記憶Bx、By、Sx、Syが保持
する値について、Bx≧SxかつBy≧Syであれば処
理を終了し、そうでなければエラー回避方法提示処理を
行なう。
る基本レイアウト要素のサイズ属性決定処理のフローチ
ャートである。以下、図21に基づいて具体的な処理手
段について説明する。但し、この処理においては、図1
9に示した自動レイアウト処理における一時記憶Bを共
有するものとする。 (S2101)一時記憶Bが保持する基本レイアウト要
素の内容が、文字列であれば(S2102)へ、イラス
トであれば(S2109)へ進む。 (S2102)一時記憶Bが保持するレイアウト要素
の、内容の総文字数値を一時記憶Nに設定する。 (S2103)一時記憶Bが保持するレイアウト要素
の、フォントサイズの高さの値を一時記憶Lyに設定す
る。 (S2104)一時記憶Bが保持するレイアウト要素
の、フォントサイズの横幅の値を一時記憶Lxに設定す
る。 (S2105)一時記憶Bが保持するレイアウト要素
の、1行あたりの文字数属性値を一時記憶Wに設定す
る。 (S2106)一時記憶Bが保持するレイアウト要素
の、行間サイズ属性値を一時記憶Tに設定する。 (S2107)一時記憶N、Lx、Ly、W、Tの保持
する値より、N/W×Ly+T×(N/W−1)を計算
し、その値を一時記憶Syに設定する。 (S2108)一時記憶Lx、Wの保持する値より、L
x×Wを計算し、その値を一時記憶Sxに設定する。 (S2109)一時記憶Bが保持するレイアウト要素
の、内容であるイラストの縦サイズ値を、一時記憶Sy
に設定する。 (S2110)一時記憶Bが保持するレイアウト要素
の、内容であるイラストの横サイズ値を、一時記憶Sx
に設定する。 (S2111)一時記憶Bが保持するレイアウト要素
の、ズーム属性値を一時記憶Zに設定する。 (S2112)一時記憶Sy、Zの保持する値より、S
y×Zを計算し、その値を一時記憶Syに設定する。 (S2113)一時記憶Sx、Zの保持する値より、S
x×Zを計算し、その値を一時記憶Sxに設定する。 (S2114)一時記憶Bが保持するレイアウト要素
の、サイズ属性値が可変であれば(S2115)へ、固
定であれば(S2117)へ進む。 (S2115)一時記憶Bが保持するレイアウト要素
の、横サイズ属性値として、一時記憶Sxが保持する値
を設定する。 (S2116)一時記憶Bが保持するレイアウト要素
の、縦サイズ属性値として、一時記憶Syが保持する値
を設定し、処理を終了する。 (S2117)一時記憶Bが保持するレイアウト要素
の、横サイズ属性値を、一時記憶Bxに設定する。 (S2118)一時記憶Bが保持するレイアウト要素
の、縦サイズ属性値を、一時記憶Byに設定する。 (S2119)一時記憶Bx、By、Sx、Syが保持
する値について、Bx≧SxかつBy≧Syであれば処
理を終了し、そうでなければエラー回避方法提示処理を
行なう。
【0086】以上の手順により、一時記憶Bが保持する
基本レイアウト要素のサイズ属性値が決定される。
基本レイアウト要素のサイズ属性値が決定される。
【0087】複合レイアウト要素のサイズ属性値は、そ
れが可変サイズ属性である場合、該当複合レイアウト要
素の子供であるレイアウト要素を全て包含する領域のサ
イズに等しく、そのサイズは、該当複合レイアウト要素
の子供である全てのレイアウト要素の右下角のx座標
値、y座標値のそれぞれ最大をとった値と、該当複合レ
イアウト要素の左上角の座標である配置属性の値の差を
各々計算することにより、求められる。
れが可変サイズ属性である場合、該当複合レイアウト要
素の子供であるレイアウト要素を全て包含する領域のサ
イズに等しく、そのサイズは、該当複合レイアウト要素
の子供である全てのレイアウト要素の右下角のx座標
値、y座標値のそれぞれ最大をとった値と、該当複合レ
イアウト要素の左上角の座標である配置属性の値の差を
各々計算することにより、求められる。
【0088】図22は、自動レイアウト手段17におけ
る、複合レイアウト要素のサイズ属性決定処理のフロー
チャートである。以下、図22に基づいて具体的な処理
手段について説明する。但し、この処理においては、図
19に示した自動レイアウト処理における一時記憶Xを
共有するものとする。 (S2201)一時記憶Xが保持する複合レイアウト要
素が持つ、子供の要素のリストの最後尾の要素を一時記
憶Fに設定する。 (S2202)一時記憶Fが保持するレイアウト要素
が、複合レイアウト要素であれば(S2203)へ、基
本レイアウト要素であれば処理を終了する。 (S2203)一時記憶Fが保持する複合レイアウト要
素が持つ、子供の要素のリストの最後尾の要素を一時記
憶Gに設定する。 (S2204)一時記憶Gが保持するレイアウト要素
が、複合レイアウト要素であれば(S2205)へ、基
本レイアウト要素であれば(S2206)へ進む。 (S2205)一時記憶Gの内容を、一時記憶Fに設定
する。 (S2206)一時記憶Gが保持する複合レイアウト要
素が持つ、子供の要素のリストの先頭の要素を一時記憶
Hに設定する。 (S2207)一時記憶Mxに0を設定する。 (S2208)一時記憶Myに0を設定する。 (S2209)一時記憶Hが保持するレイアウト要素が
持つ配置属性のx座標値を一時記憶Hxに、y座標値を
一時記憶Hyに各々設定する。 (S2210)一時記憶Hが保持するレイアウト要素
の、縦サイズ属性値を一時記憶Sxに、横サイズ属性値
を一時記憶Syに各々設定する。 (S2211)一時記憶Hx、Sxが保持する値につい
て、Hx+Sxを計算し、その値を一時記憶Ixに設定
する。 (S2212)一時記憶Hy、Syが保持する値につい
て、Hy+Syを計算し、その値を一時記憶Iyに設定
する。 (S2213)一時記憶Mxが保持する値が、一時記憶
Ixが保持する値より、大きいか等しければ(S221
5)へ、そうでなければ(S2214)へ進む。 (S2214)一時記憶Ixの内容を、一時記憶Mxに
設定する。 (S2215)一時記憶Myが保持する値が、一時記憶
Iyが保持する値より、大きいか等しければ(S221
7)へ、そうでなければ(S2216)へ進む。 (S2216)一時記憶Iyの内容を、一時記憶Myに
設定する。 (S2217)一時記憶Hが保持するレイアウト要素
が、一時記憶Gが保持するレイアウト要素に等しければ
(S2219)へ、そうでなければ(S2218)へ進
む。 (S2218)一時記憶Hが保持するレイアウト要素
の、次の要素を一時記憶Hに設定する。 (S2219)一時記憶Fが保持するレイアウト要素
の、サイズ属性が可変であれば(S2220)へ、固定
であれば(S2222)へ進む。 (S2220)一時記憶Fが保持する複合レイアウト要
素が持つ配置属性の、x座標値を一時記憶Exに、y座
標値を一時記憶Eyに設定する。 (S2221)一時記憶Mx、My、Ex、Eyが保持
する値について、Mx−Ex、My−Eyを計算し、そ
の値を一時記憶Fが保持するレイアウト要素の、縦サイ
ズ属性値、横サイズ属性値として各々設定する。 (S2222)一時記憶Fが保持する複合レイアウト要
素の、縦サイズ属性値を一時記憶Fxに、横サイズ属性
値を一時記憶Fyに各々設定する。 (S2223)一時記憶Mx、My、Fx、Fyが保持
する値について、Fx≧MxかつFy≧Myであれば
(S2225)へ、そうでなければ(S2224)へ進
む。 (S2224)ユーザーに、一時記憶Fが保持する複合
レイアウト要素の下位階層についての割り付け処理に失
敗したことを提示し、自動レイアウト処理を中断する。 (S2225)一時記憶Fが保持する複合レイアウト要
素の親要素が、一時記憶Xが保持する複合レイアウト要
素に等しければ処理を終了し、そうでなければ(S22
26)へ進む。 (S2226)一時記憶Fが保持する複合レイアウト要
素の親要素を、一時記憶Fに設定する。
る、複合レイアウト要素のサイズ属性決定処理のフロー
チャートである。以下、図22に基づいて具体的な処理
手段について説明する。但し、この処理においては、図
19に示した自動レイアウト処理における一時記憶Xを
共有するものとする。 (S2201)一時記憶Xが保持する複合レイアウト要
素が持つ、子供の要素のリストの最後尾の要素を一時記
憶Fに設定する。 (S2202)一時記憶Fが保持するレイアウト要素
が、複合レイアウト要素であれば(S2203)へ、基
本レイアウト要素であれば処理を終了する。 (S2203)一時記憶Fが保持する複合レイアウト要
素が持つ、子供の要素のリストの最後尾の要素を一時記
憶Gに設定する。 (S2204)一時記憶Gが保持するレイアウト要素
が、複合レイアウト要素であれば(S2205)へ、基
本レイアウト要素であれば(S2206)へ進む。 (S2205)一時記憶Gの内容を、一時記憶Fに設定
する。 (S2206)一時記憶Gが保持する複合レイアウト要
素が持つ、子供の要素のリストの先頭の要素を一時記憶
Hに設定する。 (S2207)一時記憶Mxに0を設定する。 (S2208)一時記憶Myに0を設定する。 (S2209)一時記憶Hが保持するレイアウト要素が
持つ配置属性のx座標値を一時記憶Hxに、y座標値を
一時記憶Hyに各々設定する。 (S2210)一時記憶Hが保持するレイアウト要素
の、縦サイズ属性値を一時記憶Sxに、横サイズ属性値
を一時記憶Syに各々設定する。 (S2211)一時記憶Hx、Sxが保持する値につい
て、Hx+Sxを計算し、その値を一時記憶Ixに設定
する。 (S2212)一時記憶Hy、Syが保持する値につい
て、Hy+Syを計算し、その値を一時記憶Iyに設定
する。 (S2213)一時記憶Mxが保持する値が、一時記憶
Ixが保持する値より、大きいか等しければ(S221
5)へ、そうでなければ(S2214)へ進む。 (S2214)一時記憶Ixの内容を、一時記憶Mxに
設定する。 (S2215)一時記憶Myが保持する値が、一時記憶
Iyが保持する値より、大きいか等しければ(S221
7)へ、そうでなければ(S2216)へ進む。 (S2216)一時記憶Iyの内容を、一時記憶Myに
設定する。 (S2217)一時記憶Hが保持するレイアウト要素
が、一時記憶Gが保持するレイアウト要素に等しければ
(S2219)へ、そうでなければ(S2218)へ進
む。 (S2218)一時記憶Hが保持するレイアウト要素
の、次の要素を一時記憶Hに設定する。 (S2219)一時記憶Fが保持するレイアウト要素
の、サイズ属性が可変であれば(S2220)へ、固定
であれば(S2222)へ進む。 (S2220)一時記憶Fが保持する複合レイアウト要
素が持つ配置属性の、x座標値を一時記憶Exに、y座
標値を一時記憶Eyに設定する。 (S2221)一時記憶Mx、My、Ex、Eyが保持
する値について、Mx−Ex、My−Eyを計算し、そ
の値を一時記憶Fが保持するレイアウト要素の、縦サイ
ズ属性値、横サイズ属性値として各々設定する。 (S2222)一時記憶Fが保持する複合レイアウト要
素の、縦サイズ属性値を一時記憶Fxに、横サイズ属性
値を一時記憶Fyに各々設定する。 (S2223)一時記憶Mx、My、Fx、Fyが保持
する値について、Fx≧MxかつFy≧Myであれば
(S2225)へ、そうでなければ(S2224)へ進
む。 (S2224)ユーザーに、一時記憶Fが保持する複合
レイアウト要素の下位階層についての割り付け処理に失
敗したことを提示し、自動レイアウト処理を中断する。 (S2225)一時記憶Fが保持する複合レイアウト要
素の親要素が、一時記憶Xが保持する複合レイアウト要
素に等しければ処理を終了し、そうでなければ(S22
26)へ進む。 (S2226)一時記憶Fが保持する複合レイアウト要
素の親要素を、一時記憶Fに設定する。
【0089】以上の手順により、一時記憶Xが保持する
複合レイアウト要素の下位階層に存在する複合レイアウ
ト要素のサイズ属性値が決定される。
複合レイアウト要素の下位階層に存在する複合レイアウ
ト要素のサイズ属性値が決定される。
【0090】次に、基本レイアウト要素のサイズ決定処
理におけるエラー処理について説明する。
理におけるエラー処理について説明する。
【0091】基本レイアウト要素のサイズ属性が固定で
あり、そのサイズ内に内容を表示出来ない場合、割り付
け処理を失敗とし、自動レイアウト処理を中断する。こ
の時、ただ単にユーザーに対して自動レイアウトに失敗
したことを知らせ、処理を中断するのではなく、併せて
どのレイアウト要素の割り付け処理に失敗し、またその
割り付け処理の失敗を回避するためには、どのようなこ
とを行なえばよいかを提示する。これにより、ユーザの
編集作業における負担を軽減することが出来る。
あり、そのサイズ内に内容を表示出来ない場合、割り付
け処理を失敗とし、自動レイアウト処理を中断する。こ
の時、ただ単にユーザーに対して自動レイアウトに失敗
したことを知らせ、処理を中断するのではなく、併せて
どのレイアウト要素の割り付け処理に失敗し、またその
割り付け処理の失敗を回避するためには、どのようなこ
とを行なえばよいかを提示する。これにより、ユーザの
編集作業における負担を軽減することが出来る。
【0092】エラー回避方法としては、基本レイアウト
要素の内容がイラストであれば、ズーム属性値を小さく
する、また内容が文字列であれば、総文字数を少なくす
る、行間サイズ属性値を小さくする、フォントサイズを
小さくするという手法を提示する。
要素の内容がイラストであれば、ズーム属性値を小さく
する、また内容が文字列であれば、総文字数を少なくす
る、行間サイズ属性値を小さくする、フォントサイズを
小さくするという手法を提示する。
【0093】図23は、基本レイアウト要素のサイズ属
性決定処理におけるエラー回避方法提示処理のフローチ
ャートである。以下、図23に基づいて具体的な処理手
段について説明する。但し、この処理においては、図2
1の基本レイアウト要素のサイズ属性値決定処理におけ
る全ての一時記憶を共有するものとする。 (S2301)一時記憶Bが保持するレイアウト要素
の、内容が文字列であれば(S2302)へ、イラスト
であれば(S2313)へ進む。 (S2302)一時記憶By、Syが保持する値につい
て、Sy−Byを計算し、その値を一時記憶Mに設定す
る。 (S2303)一時記憶M、Bx、Sxが保持する値に
ついて、M>0かつBx≧Sxであれば(S2304)
へ、そうでなければ(S2310)へ進む。 (S2304)一時記憶N、Wが保持する値について、
N/Wを計算し、その値の小数点部を切り上げ、この値
を一時記憶Qに設定する。 (S2305)一時記憶Qが保持する値について、Q−
1を計算し、その値を一時記憶Qに設定する。 (S2306)一時記憶T、Qが保持する値について、
T×Qを計算し、その値を一時記憶Uに設定する。 (S2307)一時記憶M、Uが保持する値について、
U≧Mであれば(S2308)へ、そうでなければ(S
2309)へ進む。 (S2308)一時記憶M、Q、Tが保持する値につい
て、T−(M/Q)を計算し、その値を一時記憶Etに
設定する。 (S2309)一時記憶EtにNILを設定する。 (S2310)一時記憶By、Lyが保持する値につい
て、By/(Ly+T)を計算し、その値の小数点部を
切上げ、この値を一時記憶Rに設定する。 (S2311)一時記憶W、Rが保持する値について、
W×Rを計算し、その値を一時記憶Enに設定する。 (S2312)一時記憶Bが保持するレイアウト要素
の、フォントサイズ属性値を一時記憶Fに設定する。 (S2313)一時記憶En、F、Nが保持する値につ
いて、F×{(N−En)/N}を計算した値の小数点
部を切上げ、この値を一時記憶Efに設定する。 (S2314)一時記憶Bが保持するレイアウト要素の
内容であるイラストの縦サイズ値を、一時記憶Syに設
定する。 (S2315)一時記憶Bが保持するレイアウト要素の
内容であるイラストの横サイズ値を、一時記憶Sxに設
定する。 (S2316)一時記憶By、Syが保持する値につい
て、By/Syを計算し、その値を一時記憶Zyに設定
する。 (S2317)一時記憶Bx、Sxが保持する値につい
て、Bx/Sxを計算し、その値を一時記憶Zxに設定
する。 (S2318)一時記憶Zy、Zxが保持する値につい
て、Zy≧Zxであれば(S2319)へ、そうでなけ
れば(S2320)へ進む。 (S2319)一時記憶Zyが保持する内容を、一時記
憶Ezに設定する。 (S2320)一時記憶Zxが保持する内容を、一時記
憶Ezに設定する。 (S2321)ユーザーに、一時記憶Bが保持する基本
レイアウト要素の内容の割り付けに失敗したことを通知
する。 (S2322)一時記憶Bが保持するレイアウト要素
の、内容が文字列であれば(S2322)へ、イラスト
であれば(S2327)へ進む。 (S2323)一時記憶Etが保持する値がNILであ
れば(S2325)へ、そうでなければ(S2324)
へ進む。 (S2324)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素の行間サイズ属性値を、一時記憶Etが保持する値
以下に変更すればよいことを提示する。 (S2325)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素内容の総文字数を、一時記憶Enが保持する値以下
に変更すればよいことを提示する。 (S2326)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素のフォントサイズ属性値を、一時記憶Efが保持す
る値以下に変更すればよいことを提示し、自動レイアウ
ト処理を中断する。 (S2327)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素のズーム属性値を、一時記憶Ezが保持する値以下
に変更すればよいことを提示し、自動レイアウト処理を
中断する。
性決定処理におけるエラー回避方法提示処理のフローチ
ャートである。以下、図23に基づいて具体的な処理手
段について説明する。但し、この処理においては、図2
1の基本レイアウト要素のサイズ属性値決定処理におけ
る全ての一時記憶を共有するものとする。 (S2301)一時記憶Bが保持するレイアウト要素
の、内容が文字列であれば(S2302)へ、イラスト
であれば(S2313)へ進む。 (S2302)一時記憶By、Syが保持する値につい
て、Sy−Byを計算し、その値を一時記憶Mに設定す
る。 (S2303)一時記憶M、Bx、Sxが保持する値に
ついて、M>0かつBx≧Sxであれば(S2304)
へ、そうでなければ(S2310)へ進む。 (S2304)一時記憶N、Wが保持する値について、
N/Wを計算し、その値の小数点部を切り上げ、この値
を一時記憶Qに設定する。 (S2305)一時記憶Qが保持する値について、Q−
1を計算し、その値を一時記憶Qに設定する。 (S2306)一時記憶T、Qが保持する値について、
T×Qを計算し、その値を一時記憶Uに設定する。 (S2307)一時記憶M、Uが保持する値について、
U≧Mであれば(S2308)へ、そうでなければ(S
2309)へ進む。 (S2308)一時記憶M、Q、Tが保持する値につい
て、T−(M/Q)を計算し、その値を一時記憶Etに
設定する。 (S2309)一時記憶EtにNILを設定する。 (S2310)一時記憶By、Lyが保持する値につい
て、By/(Ly+T)を計算し、その値の小数点部を
切上げ、この値を一時記憶Rに設定する。 (S2311)一時記憶W、Rが保持する値について、
W×Rを計算し、その値を一時記憶Enに設定する。 (S2312)一時記憶Bが保持するレイアウト要素
の、フォントサイズ属性値を一時記憶Fに設定する。 (S2313)一時記憶En、F、Nが保持する値につ
いて、F×{(N−En)/N}を計算した値の小数点
部を切上げ、この値を一時記憶Efに設定する。 (S2314)一時記憶Bが保持するレイアウト要素の
内容であるイラストの縦サイズ値を、一時記憶Syに設
定する。 (S2315)一時記憶Bが保持するレイアウト要素の
内容であるイラストの横サイズ値を、一時記憶Sxに設
定する。 (S2316)一時記憶By、Syが保持する値につい
て、By/Syを計算し、その値を一時記憶Zyに設定
する。 (S2317)一時記憶Bx、Sxが保持する値につい
て、Bx/Sxを計算し、その値を一時記憶Zxに設定
する。 (S2318)一時記憶Zy、Zxが保持する値につい
て、Zy≧Zxであれば(S2319)へ、そうでなけ
れば(S2320)へ進む。 (S2319)一時記憶Zyが保持する内容を、一時記
憶Ezに設定する。 (S2320)一時記憶Zxが保持する内容を、一時記
憶Ezに設定する。 (S2321)ユーザーに、一時記憶Bが保持する基本
レイアウト要素の内容の割り付けに失敗したことを通知
する。 (S2322)一時記憶Bが保持するレイアウト要素
の、内容が文字列であれば(S2322)へ、イラスト
であれば(S2327)へ進む。 (S2323)一時記憶Etが保持する値がNILであ
れば(S2325)へ、そうでなければ(S2324)
へ進む。 (S2324)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素の行間サイズ属性値を、一時記憶Etが保持する値
以下に変更すればよいことを提示する。 (S2325)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素内容の総文字数を、一時記憶Enが保持する値以下
に変更すればよいことを提示する。 (S2326)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素のフォントサイズ属性値を、一時記憶Efが保持す
る値以下に変更すればよいことを提示し、自動レイアウ
ト処理を中断する。 (S2327)割り付け処理の失敗を回避するための方
法の1つとして、一時記憶Bが保持する基本レイアウト
要素のズーム属性値を、一時記憶Ezが保持する値以下
に変更すればよいことを提示し、自動レイアウト処理を
中断する。
【0094】なお、本実施例では、エラー回避法を個別
にユーザーに提示しているが、先に挙げたエラー回避法
を複数組み合わせたものを提示してもよい。
にユーザーに提示しているが、先に挙げたエラー回避法
を複数組み合わせたものを提示してもよい。
【0095】なお、本実施例では、エラー回避方法の提
示は基本レイアウト要素の内容割り付け失敗時にのみつ
いて行なっているが、複合レイアウト要素の内容割り付
けの失敗時においても、下位に含む基本要素の属性、内
容変更を指示するエラー回避法を提示してもよい。
示は基本レイアウト要素の内容割り付け失敗時にのみつ
いて行なっているが、複合レイアウト要素の内容割り付
けの失敗時においても、下位に含む基本要素の属性、内
容変更を指示するエラー回避法を提示してもよい。
【0096】上記自動レイアウト手段17の処理手続き
に基づき、図3に示されるような原稿に対して必要なレ
イアウト要素を生成し、各々のレイアウト要素に対して
全てのレイアウト属性の値を決定した整形済み文書の一
実施例が図24である。
に基づき、図3に示されるような原稿に対して必要なレ
イアウト要素を生成し、各々のレイアウト要素に対して
全てのレイアウト属性の値を決定した整形済み文書の一
実施例が図24である。
【0097】次に、レイアウト編集手段18の動作につ
いて詳しく説明する。レイアウト編集手段18は、整形
済み文書を構成する個々のレイアウト要素に対して、ユ
ーザの指示に基づいてそれらの要素が持つレイアウト属
性の値を変更することにより、文書のレイアウトを変更
する。レイアウト属性の値の変更は、実際に内容が割り
付けられているページを構成するレイアウト要素に対し
てだけではなく、自動レイアウト時に参照したレイアウ
トフォーマットを構成するレイアウト要素についても、
その名前を利用することにより実行することが出来る。
図25はレイアウト編集手段18における動作のフロー
チャートであり、この図に基づいて具体的な処理手順を
説明する。 (S2501)整形済み文書から、各ページそのものに
対応するレイアウト要素のリストを取り出し、一時記憶
PLに設定する。 (S2502)一時記憶PLが保持するレイアウト要素
のリストの中から、ユーザが指定するページに対応する
レイアウト要素を取り出し、一時記憶Pに設定する。 (S2503)一時記憶Pが保持するレイアウト要素に
対して、そのレイアウト要素の下に階層的に存在するレ
イアウト要素が占める領域と、内容を持っていればその
内容を、それぞれのレイアウト要素に設定されたレイア
ウト属性の値にしたがって画面上に表示する。 (S2504)画面上に表示されたレイアウト要素の中
から、ユーザがレイアウト修正のために選択したレイア
ウト要素を、一時記憶Tに設定する。 (S2505)一時記憶Tが保持するレイアウト要素に
設定されているレイアウト属性の名前とその値を、画面
上に表示する。 (S2506)ユーザが画面上で値を修正したレイアウ
ト属性の名前とその値の組、さらに複数修正した場合に
はその組のリストを、一時記憶PVに設定する。 (S2507)ユーザに、どれだけの範囲にあるレイア
ウト要素に対してレイアウト属性値の修正を実行するか
を指定させ、その結果を一時記憶Cに設定する。 (S2508)一時記憶Cが保持する内容を参照し、修
正範囲が一時記憶Tが保持するレイアウト要素単独であ
れば(S2509)に、そうでなければ(S2510)
に進む。 (S2509)一時記憶Tが保持するレイアウト要素に
対し、一時記憶PVが保持するレイアウト属性の名前と
値を参照して、レイアウト属性値の変更を行なう。 (S2510)一時記憶PLが保持する内容を、一時記
憶TPLに設定する。 (S2511)一時記憶TPLが保持するレイアウト要
素のリストから、先頭のレイアウト要素を抜きだして一
時記憶TPに設定し、リストから先頭要素を除いた残り
のリストを一時記憶TPLに設定する。 (S2512)一時記憶TPが保持するレイアウト要素
の下に階層的に存在するレイアウト要素の中から、一時
記憶Tが保持するレイアウト要素と同じ名前を持つレイ
アウト要素を全て取り出し、そのリストを一時記憶TL
に設定する。 (S2513)一時記憶TLが保持するレイアウト要素
のリストから、先頭のレイアウト要素を抜き出して一時
記憶Tに設定し、リストから先頭要素を除いた残りのリ
ストを一時記憶TLに設定する。 (S2514)一時記憶Tが保持するレイアウト要素に
対し、一時記憶PVが保持するレイアウト属性の名前と
値を参照して、レイアウト属性値の変更を行なう。 (S2515)一時記憶TLが保持する内容が空であれ
ば(S2516)に、空でなければ(S2513)に進
む。 (S2516)一時記憶TPLが保持する内容が空であ
れば(S2517)に、空でなければ(S2511)に
進む。 (S2517)一時記憶Cが保持する内容を参照し、修
正範囲がレイアウトフォーマットを含むのであれば(S
2518)に、そうでなければ(S2520)に進む。 (S2518)レイアウトフォーマットが持つレイアウ
ト階層の中で、一時記憶Tが保持するレイアウト要素を
同じ名前を持つレイアウト要素を取り出し、一時記憶F
Tに設定する。 (S2519)一時記憶FTが保持するレイアウト要素
に対し、一時記憶PVが保持するレイアウト属性の名前
と値を参照して、レイアウト属性値の変更を行なう。 (S2520)一時記憶Tが保持するレイアウト要素の
領域と、それが内容を持っていればその内容を、変更さ
れたレイアウト属性の値にしたがって、画面上に再表示
する。 (S2521)ユーザがレイアウト変更の終了を指示す
ればこの処理を終了し、そうでなければ(S2504)
に進む。
いて詳しく説明する。レイアウト編集手段18は、整形
済み文書を構成する個々のレイアウト要素に対して、ユ
ーザの指示に基づいてそれらの要素が持つレイアウト属
性の値を変更することにより、文書のレイアウトを変更
する。レイアウト属性の値の変更は、実際に内容が割り
付けられているページを構成するレイアウト要素に対し
てだけではなく、自動レイアウト時に参照したレイアウ
トフォーマットを構成するレイアウト要素についても、
その名前を利用することにより実行することが出来る。
図25はレイアウト編集手段18における動作のフロー
チャートであり、この図に基づいて具体的な処理手順を
説明する。 (S2501)整形済み文書から、各ページそのものに
対応するレイアウト要素のリストを取り出し、一時記憶
PLに設定する。 (S2502)一時記憶PLが保持するレイアウト要素
のリストの中から、ユーザが指定するページに対応する
レイアウト要素を取り出し、一時記憶Pに設定する。 (S2503)一時記憶Pが保持するレイアウト要素に
対して、そのレイアウト要素の下に階層的に存在するレ
イアウト要素が占める領域と、内容を持っていればその
内容を、それぞれのレイアウト要素に設定されたレイア
ウト属性の値にしたがって画面上に表示する。 (S2504)画面上に表示されたレイアウト要素の中
から、ユーザがレイアウト修正のために選択したレイア
ウト要素を、一時記憶Tに設定する。 (S2505)一時記憶Tが保持するレイアウト要素に
設定されているレイアウト属性の名前とその値を、画面
上に表示する。 (S2506)ユーザが画面上で値を修正したレイアウ
ト属性の名前とその値の組、さらに複数修正した場合に
はその組のリストを、一時記憶PVに設定する。 (S2507)ユーザに、どれだけの範囲にあるレイア
ウト要素に対してレイアウト属性値の修正を実行するか
を指定させ、その結果を一時記憶Cに設定する。 (S2508)一時記憶Cが保持する内容を参照し、修
正範囲が一時記憶Tが保持するレイアウト要素単独であ
れば(S2509)に、そうでなければ(S2510)
に進む。 (S2509)一時記憶Tが保持するレイアウト要素に
対し、一時記憶PVが保持するレイアウト属性の名前と
値を参照して、レイアウト属性値の変更を行なう。 (S2510)一時記憶PLが保持する内容を、一時記
憶TPLに設定する。 (S2511)一時記憶TPLが保持するレイアウト要
素のリストから、先頭のレイアウト要素を抜きだして一
時記憶TPに設定し、リストから先頭要素を除いた残り
のリストを一時記憶TPLに設定する。 (S2512)一時記憶TPが保持するレイアウト要素
の下に階層的に存在するレイアウト要素の中から、一時
記憶Tが保持するレイアウト要素と同じ名前を持つレイ
アウト要素を全て取り出し、そのリストを一時記憶TL
に設定する。 (S2513)一時記憶TLが保持するレイアウト要素
のリストから、先頭のレイアウト要素を抜き出して一時
記憶Tに設定し、リストから先頭要素を除いた残りのリ
ストを一時記憶TLに設定する。 (S2514)一時記憶Tが保持するレイアウト要素に
対し、一時記憶PVが保持するレイアウト属性の名前と
値を参照して、レイアウト属性値の変更を行なう。 (S2515)一時記憶TLが保持する内容が空であれ
ば(S2516)に、空でなければ(S2513)に進
む。 (S2516)一時記憶TPLが保持する内容が空であ
れば(S2517)に、空でなければ(S2511)に
進む。 (S2517)一時記憶Cが保持する内容を参照し、修
正範囲がレイアウトフォーマットを含むのであれば(S
2518)に、そうでなければ(S2520)に進む。 (S2518)レイアウトフォーマットが持つレイアウ
ト階層の中で、一時記憶Tが保持するレイアウト要素を
同じ名前を持つレイアウト要素を取り出し、一時記憶F
Tに設定する。 (S2519)一時記憶FTが保持するレイアウト要素
に対し、一時記憶PVが保持するレイアウト属性の名前
と値を参照して、レイアウト属性値の変更を行なう。 (S2520)一時記憶Tが保持するレイアウト要素の
領域と、それが内容を持っていればその内容を、変更さ
れたレイアウト属性の値にしたがって、画面上に再表示
する。 (S2521)ユーザがレイアウト変更の終了を指示す
ればこの処理を終了し、そうでなければ(S2504)
に進む。
【0098】以上の手順により、整形済み文書が持つ個
々のレイアウト要素のレイアウト属性の値を変更し、文
書のレイアウトを変更することが出来る。
々のレイアウト要素のレイアウト属性の値を変更し、文
書のレイアウトを変更することが出来る。
【0099】
【発明の効果】以上説明したように、本発明の装置によ
れば、レイアウトフォーマットのサンプルを保存してお
くために必要な記憶容量を減少させることが出来、また
レイアウトフォーマットを生成する途中の段階で、その
階層毎にユーザの好みを反映させることが出来、またユ
ーザの要求する文書の構造にしたがってレイアウトを生
成することが出来る。
れば、レイアウトフォーマットのサンプルを保存してお
くために必要な記憶容量を減少させることが出来、また
レイアウトフォーマットを生成する途中の段階で、その
階層毎にユーザの好みを反映させることが出来、またユ
ーザの要求する文書の構造にしたがってレイアウトを生
成することが出来る。
【0100】また、ユーザに対してレイアウトフォーマ
ットのサンプルに関する知識を要求する必要がなくな
る。
ットのサンプルに関する知識を要求する必要がなくな
る。
【0101】また、複数提示するレイアウトフォーマッ
トの中で、同じ名前を持つレイアウト要素を他の要素か
ら容易に区別することが出来るので、その実用効果は大
きい。
トの中で、同じ名前を持つレイアウト要素を他の要素か
ら容易に区別することが出来るので、その実用効果は大
きい。
【0102】また、ユーザが、レイアウトに対するシス
テムの評価に基づき、より良いレイアウトを生成するこ
とが出来る。
テムの評価に基づき、より良いレイアウトを生成するこ
とが出来る。
【0103】また、ユーザのレイアウトの傾向をその後
のレイアウト編集に反映させることが出来る。
のレイアウト編集に反映させることが出来る。
【0104】また、自動レイアウト後の文書に対しても
自由にレイアウト編集が実施出来る。
自由にレイアウト編集が実施出来る。
【0105】また、自動レイアウト後の文書のレイアウ
トを1ヶ所変更すれば、それと同じ変更を文書全体に自
動的に実施することが出来る。
トを1ヶ所変更すれば、それと同じ変更を文書全体に自
動的に実施することが出来る。
【0106】また、一度レイアウトが確定した文書に対
しても、再度レイアウトフォーマットを修正すれば再び
そのフォーマットにしたがったレイアウトを生成でき
る。
しても、再度レイアウトフォーマットを修正すれば再び
そのフォーマットにしたがったレイアウトを生成でき
る。
【0107】また、文書のレイアウト構造を視覚的に確
認することが出来る。また、最も内容が多様である原稿
に基づいてレイアウトフォーマットを生成することがで
きる。
認することが出来る。また、最も内容が多様である原稿
に基づいてレイアウトフォーマットを生成することがで
きる。
【0108】また、自動レイアウトが無理な原稿に対し
ても、ユーザがどのような処置をすればいいのかを提示
し、ユーザのレイアウトに関する知識を補うことが出来
る。
ても、ユーザがどのような処置をすればいいのかを提示
し、ユーザのレイアウトに関する知識を補うことが出来
る。
【図1】本発明の一実施例における文書編集装置の概略
構成を示すブロック図
構成を示すブロック図
【図2】実施例の動作を示すフローチャート
【図3】本発明における原稿の一例を示す説明図
【図4】論理構造の概念図
【図5】論理構造を生成する際に参照される管理テーブ
ルの一例を示す説明図
ルの一例を示す説明図
【図6】論理構造の記述データの一例を示す図
【図7】共通レイアウト構造の概念図
【図8】共通レイアウト構造の記述データの一例を示す
図
図
【図9】レイアウトルール管理テーブルの一例を示す説
明図
明図
【図10】レイアウト構造表示手段によるレイアウト構
造の表示例を示す説明図
造の表示例を示す説明図
【図11】論理構造抽出手段の動作を示すフローチャー
ト
ト
【図12】共通レイアウト構造生成手段の動作を示すフ
ローチャート
ローチャート
【図13】レイアウトフォーマット生成手段の動作を示
すフローチャート
すフローチャート
【図14】レイアウトルール組合せ処理のフローチャー
ト
ト
【図15】レイアウトルール適用処理のフローチャート
【図16】レイアウト候補表示の一例を示す説明図
【図17】レイアウトフォーマットの表示の一例を示す
説明図
説明図
【図18】レイアウトフォーマット編集手段の動作を示
すフローチャート
すフローチャート
【図19】自動レイアウト手段の動作を示すフローチャ
ート
ート
【図20】レイアウト要素の位置属性決定処理のフロー
チャート
チャート
【図21】基本レイアウト要素のサイズ属性決定処理の
フローチャート
フローチャート
【図22】複合レイアウト要素のサイズ属性決定処理の
フローチャート
フローチャート
【図23】自動レイアウト処理におけるエラー処理のフ
ローチャート
ローチャート
【図24】整形済み文書の表示の一例を示す説明図
【図25】レイアウト編集手段の動作を示すフローチャ
ート
ート
【図26】従来の文書編集装置の概略構成を示すブロッ
ク図
ク図
11 原稿作成手段 12 論理要素検索手段 13 論理構造抽出手段 14 共通レイアウト構造生成手段 15 レイアウトフォーマット生成手段 16 レイアウトフォーマット編集手段 17 自動レイアウト手段 18 レイアウト編集手段 19 出力制御手段 20 データベース部 21 ルール更新手段 22 レイアウト構造表示手段 23 レイアウトフォーマット再編集手段 24 再レイアウト手段 1031 親要素名表示部 1032 子要素名表示部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 9288−5L G06F 15/20 550 E (72)発明者 杉下 幸司 大阪府門真市大字門真1006番地 松下電器 産業株式会社内
Claims (11)
- 【請求項1】ユーザが指定したレイアウト要素に対応す
る単位から構成され、各単位は内容とその論理要素名と
の複数の組から構成される原稿を作成する原稿作成手段
と、 前記原稿作成手段を用いて作成された前記原稿の、指定
された前記単位から論理構造を抽出する論理構造抽出手
段と、 前記論理構造抽出手段が抽出した前記論理構造に基づ
き、文書の共通レイアウト構造を生成する共通レイアウ
ト構造生成手段と、 文書のレイアウトに関するルールを保持するデータベー
ス部と、 前記共通レイアウト構造内のあるレイアウト要素が持つ
レイアウト属性の値を提示し、前記レイアウト要素が1
つ下の階層に持つ複数のレイアウト要素のレイアウト属
性の値を前記データベース部が保持するルールに基づい
て決定し、提示することを、最上位のレイアウト要素か
ら、下層に向かって下位のレイアウト要素が存在しなく
なるまで繰り返し、前記共通レイアウト構造を構成する
全てのレイアウト要素のレイアウト属性の値が決定する
ことにより、文書のレイアウトフォーマットを生成する
第1のレイアウトフォーマット生成手段と、 ユーザの指示に従い前記レイアウトフォーマットに定義
されたレイアウト要素のレイアウト属性の値を変更する
レイアウトフォーマット編集手段と、 前記第1のレイアウトフォーマット生成手段が生成し
た、もしくは前記レイアウトフォーマット編集手段が編
集した前記レイアウトフォーマットに基づき、前記原稿
に記述された論理要素名と対応するレイアウト要素を生
成し、該レイアウト要素が持つレイアウト属性の値を決
定し、前記論理要素名に対応する内容を該レイアウト要
素に割り付ける自動レイアウト手段と、 前記自動レイアウト手段によりレイアウト要素に内容が
割り付けられた文書を出力する出力制御手段とを備えた
文書編集装置。 - 【請求項2】第1のレイアウトフォーマット生成手段
を、 共通レイアウト構造内のあるレイアウト要素が持つレイ
アウト属性の値を提示し、さらに前記レイアウト要素が
1つ下の階層に持つ複数のレイアウト要素に対して、各
レイアウト要素が持つレイアウト属性の値の組合せを前
記データベース部が保持するルールに基づいて複数生
成、提示し、前記組合せの中から適当な組合せをユーザ
に選択させることによりレイアウト属性の値の組をただ
一つ決定することを、最上位のレイアウト要素から、下
層に向かって下位のレイアウト要素が存在しなくなるま
で繰り返し、前記共通レイアウト構造を構成する全ての
レイアウト要素のレイアウト属性の値を決定することに
より、文書のレイアウトフォーマットを生成する第2の
レイアウトフォーマット生成手段で置き換えた請求項1
の文書編集装置。 - 【請求項3】第1のレイアウトフォーマット生成手段
を、 共通レイアウト構造内のあるレイアウト要素が持つレイ
アウト属性の値を提示し、さらに前記レイアウト要素が
1つ下の階層に持つ複数のレイアウト要素に対して、そ
れらが持つレイアウト属性の値の組合せを前記データベ
ース部が保持するルールに基づいて複数生成し、さらに
前記複数のレイアウト要素の中で同じ名前を持つレイア
ウト要素には他の名前のレイアウト要素と異なる提示属
性を持たせて提示し、前記組合せの中から適当な組合せ
をユーザに選択させることによりレイアウト属性の値の
組をただ一つ決定することを、最上位のレイアウト要素
から、下層に向かって下位のレイアウト要素が存在しな
くなるまで繰り返し、前記共通レイアウト構造を構成す
る全てのレイアウト要素のレイアウト属性の値を決定す
ることにより、文書のレイアウトフォーマットを生成す
る第3のレイアウトフォーマット生成手段で置き換えた
ことを特徴とする請求項1の文書編集装置。 - 【請求項4】レイアウトフォーマット編集手段を、生成
されたレイアウトフォーマット内のレイアウト要素が持
つレイアウト属性の値に対するユーザからの修正指示に
対し、ユーザの指示通りに修正した場合のレイアウトの
チェックを前記データベースが保持するルールに基づい
て行ない、問題がなければそのまま修正を行ない、問題
があれば助言を提示するレイアウトフォーマット編集手
段で置き換えたことを特徴とする請求項1〜3何れかに
記載の文書編集装置。 - 【請求項5】生成されたレイアウトフォーマット内のレ
イアウト要素が持つレイアウト属性の値を、指示に従い
修正して出来るレイアウトフォーマットに対し、その修
正後のレイアウト属性の値を次回より優先的に提供する
ルールを前記データベースに保存するルール更新手段を
備えた請求項1〜4何れかに記載の文書編集装置。 - 【請求項6】自動レイアウト手段により内容がレイアウ
ト要素に割り付けられた文書に対し、指定されたレイア
ウト要素が持つレイアウト属性の値を、ユーザの指示に
従い変更するレイアウト編集手段を備えた請求項1〜5
の文書編集装置。 - 【請求項7】レイアウト編集手段を、自動レイアウト手
段により内容がレイアウト要素に割り付けられた文書に
対し、一つのレイアウト要素のレイアウト属性の値の変
更をユーザによって指示されると、指示されたレイアウ
ト要素と同じ名称のレイアウト要素全てのレイアウト属
性の値を、前記の変更されたレイアウト要素と同じ値に
変更するレイアウト編集手段で置き換えたことを特徴と
する請求項1〜5何れかに記載の文書編集装置。 - 【請求項8】自動レイアウト手段により内容がレイアウ
ト要素に割り付けられた文書において、レイアウトフォ
ーマットに定義されたレイアウト要素が持つレイアウト
属性の値を修正するレイアウトフォーマット再編集手段
と、前記レイアウトフォーマット再編集手段で修正され
た前記レイアウトフォーマットに基づいて再割り付けを
行なう再レイアウト手段を備えた請求項1〜7何れかに
記載の文書編集装置 - 【請求項9】共通レイアウト構造生成手段で生成される
共通レイアウト構造に対し、上位のレイアウト要素の名
前と、その下位の階層のレイアウト要素の名前のリスト
を表示するレイアウト構造表示手段を備えた請求項1〜
8何れかに記載の文書編集装置。 - 【請求項10】原稿作成手段で作成される前記原稿の中
で、最も論理要素の種類の多い単位を選択し、論理構造
生成手段の入力として提供する論理要素検索手段を備え
た請求項1〜9何れかに記載の文書編集装置。 - 【請求項11】自動レイアウト手段を、レイアウトフォ
ーマット生成手段もしくはレイアウトフォーマット編集
手段によって得られたレイアウトフォーマットに基づ
き、前記原稿に記述された論理要素名と対応するレイア
ウト要素を生成し、前記論理要素名に対応する内容を前
記レイアウト要素に割り付け、割り付けに失敗すると、
実施可能な対応処置をユーザに複数提示する自動レイア
ウト手段で置き換えたことを特徴とする請求項1〜10
何れかに記載の文書編集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6077126A JPH07282053A (ja) | 1994-04-15 | 1994-04-15 | 文書編集装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6077126A JPH07282053A (ja) | 1994-04-15 | 1994-04-15 | 文書編集装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07282053A true JPH07282053A (ja) | 1995-10-27 |
Family
ID=13625109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6077126A Pending JPH07282053A (ja) | 1994-04-15 | 1994-04-15 | 文書編集装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07282053A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006046523A1 (ja) * | 2004-10-25 | 2006-05-04 | Nec Corporation | 文書解析システム、及び文書適応システム |
-
1994
- 1994-04-15 JP JP6077126A patent/JPH07282053A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006046523A1 (ja) * | 2004-10-25 | 2006-05-04 | Nec Corporation | 文書解析システム、及び文書適応システム |
US8051371B2 (en) | 2004-10-25 | 2011-11-01 | Nec Corporation | Document analysis system and document adaptation system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Egenhofer | Spatial query languages | |
CN103809925B (zh) | 全景可视化文档打印 | |
US7143076B2 (en) | Method and apparatus for transforming data | |
US20020059297A1 (en) | Search formulation user interface | |
WO2015176526A1 (zh) | 基于关系叠加组合的文档的标识、关联、搜索及展现的系统 | |
CN101477549B (zh) | 知识库支持下的空间数据库设计系统和方法 | |
MXPA04001732A (es) | Sistema automatizado y metodo para la valoracion de tecnologia y redaccion de una patente. | |
CN102129449B (zh) | 数据计算范围的动态扩展 | |
JPH04503881A (ja) | 書類管理及び作成システム | |
WO1989002118A1 (en) | Data processing apparatus and editing apparatus using the same | |
JPH09134349A (ja) | 情報処理装置並びに文書作成方法及び帳表作成方法 | |
CN101361064A (zh) | 文本编辑装置和方法 | |
CN110543303A (zh) | 一种可视化业务平台 | |
CN101233518B (zh) | 用于文档化变压器设计的自动化方法和工具 | |
WO2002047463A2 (en) | A method and apparatus for transforming data | |
JPH07282053A (ja) | 文書編集装置 | |
CN100377026C (zh) | 用于数字内容编辑的设备和方法 | |
Mandel | Multiple Thesauri in Online Library Bibliographic Systems. | |
JP5882850B2 (ja) | 文書処理装置、文書処理方法及びプログラム | |
JP2004029049A (ja) | Gisカスタマイジングシステム及びプログラム | |
Szady et al. | for geohistorical records’ editing: a case study of the works of Karol Perthées | |
US20080086450A1 (en) | Interface for on-line database and patent searching | |
KR101929794B1 (ko) | 그래프 통합 제공장치 및 그 방법 | |
JP2004220548A (ja) | 媒体制作情報システム | |
US6760044B1 (en) | Method and apparatus for performing knowledge level conversion of hierarchical charts created as a learning aid |