JPH0844883A - 自動レイアウト装置 - Google Patents

自動レイアウト装置

Info

Publication number
JPH0844883A
JPH0844883A JP6182284A JP18228494A JPH0844883A JP H0844883 A JPH0844883 A JP H0844883A JP 6182284 A JP6182284 A JP 6182284A JP 18228494 A JP18228494 A JP 18228494A JP H0844883 A JPH0844883 A JP H0844883A
Authority
JP
Japan
Prior art keywords
block
blocks
keyword
keywords
area
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
JP6182284A
Other languages
English (en)
Inventor
Hidekazu Hatae
英一 波多江
Koji Sugishita
幸司 杉下
Kenichi Noritomi
賢一 乗富
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP6182284A priority Critical patent/JPH0844883A/ja
Publication of JPH0844883A publication Critical patent/JPH0844883A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 図解文書などの作成において、バランスのと
れたレイアウトを自動的に生成する自動レイアウト装置
を提供する。 【構成】 キーワード入力部101より、キーワードを
入力し、関係指定部102より、入力されたキーワード
に対して種々の関係を指定する。入力されたキーワード
とその関係情報から、ブロック作成部103がブロック
を生成し、ブロック領域決定部104がブロックの大き
さを決定する。ブロックは、ブロック仮配置部105に
よって、仮想ページ上に配置され、次に、ブロック配置
部106によって実ページ上に配置し直される。このと
き、実ページの領域内にブロックが入りきらなければ、
ブロック移動部107がブロックを移動させ、追加優先
度決定部201がブロックの縮小優先度を決定し、優先
度別ブロック縮小部202がこの縮小優先度に基づいて
ブロックを縮小して配置する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は文字や図形を自動的にレ
イアウトする自動レイアウト装置に関するものである。
【0002】
【従来の技術】近年、文書編集装置は、ユーザの負担を
軽減すると共に訴求力のある図解文書を作成することが
求められている。
【0003】従来の文書編集装置を用いて図解文書を作
成する場合、ユーザはキーボードやマウスなどの入力手
段を用いてキーワードを入力し、入力されたキーワード
とその位置情報をディスプレイなどの表示手段を確認し
ながら、キーワードの位置調整、サイズ調整を繰り返し
て図解文書を作成していく。この場合、ユーザ自身がレ
イアウトを考え、それを試行し、修正、変更を繰り返す
ために、レイアウトを整える作業に多くの時間を要す
る。また、手動でキーワードのレイアウトを調整し、全
体として統一されたものにするのはユーザにとってかな
りの負担となる。
【0004】これらの問題点を解決するものとして、配
置規則に基づいて自動的にレイアウトを生成する自動レ
イアウト装置がある。例えば、特願平6−120185
号などが挙げられる。
【0005】以下図面を参照しながら、従来の自動レイ
アウト装置の一例について説明する。図30は、従来の
自動レイアウト作成装置におけるキーワードのレイアウ
ト生成機能部のブロック図を示したものである。図30
において、501はキーワード入力部で、キーワードと
その位置をユーザが入力する。502は関係指定部で、
入力されたキーワードに、包含、連結、整列などの種々
の関係をユーザが指定する。503は、ブロック作成部
で、入力されたキーワードの位置情報と、指定されたキ
ーワード同士の関係に基づいて、全てのキーワードを、
複数のキーワードからなる複数個のブロックに分割す
る。504は、ブロック領域仮決定部で、各ブロックに
所属するキーワードの位置情報から、各ブロックの領域
を仮決定する。505は、ページ分割部で、ブロックの
仮決定された領域情報から、各ブロック毎にページを複
数の領域に分割する。506は、ブロック配置部で、各
ブロック毎に分割されたページ上の領域内におさまるよ
うに、仮決定されたブロックの領域を配置し直す。50
7は、キーワード配置部で、配置しなおされたブロック
の領域内にキーワードを配置する。
【0006】以上のように構成された自動レイアウト装
置について、以下その動作について説明する。まず、キ
ーワード入力部501において、キーワードとその位置
情報をユーザが入力する。次に、関係指定部502にお
いて、入力されたキーワードに、包含、連結、整列など
の種々の関係をユーザが指定する。次に、ブロック作成
部503が、入力されたキーワードの位置情報と、関係
入力手段によって指定されたキーワード同士の関係に基
づいて、全てのキーワードを、複数のキーワードからな
る複数個のブロックに分割する。次に、ブロック領域仮
決定部504が、各ブロックに所属するキーワードの位
置情報から、ブロックの領域を仮決定する。次に、ペー
ジ分割部505が、各ブロックの仮領域情報から、ペー
ジを複数の領域に分割し、各ブロックが配置可能な領域
を決定する。
【0007】次に、ブロック配置部506が、ページ分
割部505で決定した領域内で、ブロックを配置し直
す。最後に、キーワード配置部507が、配置し直され
たブロックの領域内にキーワードを配置する。
【0008】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、例えば、ブロック同士に関係がある場
合、すなわちブロックに属するキーワード間に関係があ
る場合には、その関係をもったブロック同士を、縦方向
にあるいは横方向に整列させる必要があるが、ブロック
同士の関係を考慮せず、ブロックの仮領域情報のみに基
づいて、ブロックの配置可能な領域を求めているため、
ブロックの配置可能な領域内での調整で縦方向にあるい
は横方向に整列できない場合は、ブロックの配置可能な
領域を再決定しなければならない。その場合、隣接する
ブロックの配置可能な領域を移動させることになるが、
有限のページ内で行なうため、ブロックを移動すること
によって実ページからはみ出す分の調整を同時に行なわ
なければならず、再決定の処理は、複雑なものになる。
従って、上記のケースでは、縦方向にあるいは横方向に
整列させることが困難であり、結果としてキーワードを
バランスよくレイアウトすることができない可能性があ
った。
【0009】また、サイズを縮小してもよいブロックと
縮小しないほうがよいブロックを判断する手段がないた
め、サイズを縮小しないほうがよいブロックを縮小し
て、全体としてキーワードをバランスよくレイアウトす
ることができない可能性があった。
【0010】本発明は上記問題点を解決するもので、請
求項1の発明は、ブロック同士に何らかの関係がある場
合にも、バランスの取れたレイアウトを自動生成するこ
とを目的とする。
【0011】請求項2の発明は、キーワードが追加され
なかったブロックは縮小の影響を受けにくく、キーワー
ドが追加されたブロックだけに縮小の影響をとどめ、全
体としてバランスの取れたレイアウトを自動生成するこ
とを目的とする。
【0012】請求項3の発明は、大きさの小さいブロッ
クが小さくなりすぎ、そのブロック内に配置されるキー
ワードの文字サイズやキーワード間の間隔が小さくなり
すぎることをさけ、全体としてバランスの取れたレイア
ウトを自動生成することを目的とする。
【0013】請求項4の発明は、ブロックの縮小の影響
を受けて文字サイズが小さくなるキーワード数を少なく
して、全体としてバランスの取れたレイアウトを自動生
成することを目的とする。
【0014】
【課題を解決するための手段】上記目的を達成するため
本発明は、キーワードとその位置情報をユーザが入力す
るキーワード入力手段と、前記キーワード入力手段によ
って入力されたキーワードに対して、キーワード同士の
関係をユーザが指定する関係指定手段と、前記キーワー
ド入力手段によって入力されたキーワードの位置情報
と、前記関係入力手段によって指定されたキーワード同
士の関係に基づいて、全てのキーワードを、複数のキー
ワードからなる複数個のブロックに分割するブロック生
成手段と、ブロックに所属するキーワードの位置情報
と、ブロックに所属するキーワードに指定された関係情
報から、ブロックの領域を決定するブロック領域決定手
段と、前記ブロック領域決定手段によって決定されたブ
ロックの領域情報とブロックに属するキーワード同士の
関係に基づき、大きさの制限をもたない仮想ページ上に
ブロックをバランスよく配置するブロック仮配置手段
と、前記ブロック仮配置手段によって仮想ページ上に配
置されたブロックを、有限の大きさをもつ実ページ上に
配置するブロック配置手段と、前記ブロック配置手段に
よって実ページへの配置ができなかった場合に、ブロッ
クを移動して、実ページにブロックを配置するブロック
移動手段と、実ページにブロックが入りきるまでブロッ
クを縮小し、実ページにブロックを配置するブロック縮
小手段と、実ページ上に配置されたブロック内に、キー
ワードを配置するキーワード配置手段を備えたことを特
徴とする。
【0015】また、ブロックへのキーワードの追加状況
に応じて、キーワードが追加されたブロックの縮小優先
度を高くする優先度決定手段を追加し、ブロック縮小手
段を、ブロックが配置できるまで、優先度が高い順にブ
ロックを縮小し、実ページにブロックを配置するブロッ
ク縮小手段に置換したことを特徴としている。
【0016】また、優先度決定手段を、ブロックの大き
さに基づいて、大きさの大きいブロックほど縮小優先度
を高くする優先度決定手段に置換したことを特徴として
いる。
【0017】また、優先度決定手段を、ブロックに所属
するキーワード数に基づいて、キーワード数が少ないブ
ロックほど縮小優先度を高くする優先度決定手段に置換
したことを特徴としている。
【0018】
【作用】請求項1の発明においては、キーワード入力手
段は、キーワードとその位置情報をユーザに入力させ
る。関係指定手段は、キーワード入力手段によって入力
されたキーワードに対して、キーワード同士の関係をユ
ーザに指定させる。ブロック生成手段は、キーワード入
力手段によって入力されたキーワードの位置情報と、関
係入力手段によって指定されたキーワード同士の関係に
基づいて、全てのキーワードを、複数のキーワードから
なる複数個のブロックに分割する。ブロック領域決定手
段は、ブロック生成手段によって生成されたブロック
を、ブロックに所属するキーワードの位置情報と、ブロ
ックに所属するキーワードに指定された関係情報から、
そのブロックの領域を決定する。ブロック仮配置手段
は、ブロックサイズ決定手段によって決定されたブロッ
クの領域情報とブロックに属するキーワード同士関係に
基づき、大きさの制限をもたない仮想ページ上にブロッ
クをバランスよく配置する。ブロック配置手段は、ブロ
ック仮配置手段によって仮想ページ上に配置されたブロ
ックを、有限の大きさをもつ実ページ上に配置し直す。
ブロック移動手段は、ブロック配置手段によってブロッ
クが実ページの領域内に配置できなかった場合に、ブロ
ックを移動して実ページにブロックを配置する。ブロッ
ク縮小手段は、実ページにブロックが入りきるまでブロ
ックを縮小し、実ページにブロックを配置する。キーワ
ード配置手段は、実ページ上に配置されたブロック内
に、キーワードを配置する。
【0019】請求項2の発明においては、優先度決定手
段は、ブロックへのキーワードの追加状況に応じて、キ
ーワードが追加されたブロックの縮小優先度を高く決定
する。ブロック縮小手段は、ブロックが配置できるま
で、優先度が高い順にブロックを縮小し、実ページにブ
ロックを配置する。
【0020】請求項3の発明においては、優先度決定手
段は、ブロックの大きさに基づいて、大きさが大きいブ
ロックの縮小優先度を高く決定する。
【0021】請求項4の発明においては、優先度決定手
段は、ブロックに所属するキーワード数に基づいて、キ
ーワード数が少ないブロックの縮小優先度を高く決定す
る。
【0022】
【実施例】
(実施例1)以下本発明の一実施例を図面を用いて説明
する。
【0023】図2は、本発明の第1の実施例における自
動レイアウト装置の構成図を示す図である。図2におい
て、キーワード入力部101は、ユーザがキーワードと
その位置情報を入力するキーワード入力手段に対応した
機能部である。関係指定部102は、キーワード入力部
101によって入力されたキーワード間に種々の関係を
指定する関係指定手段に対応した機能部である。ブロッ
ク作成部103は、キーワード入力部101によって入
力されたキーワードの位置情報と、関係指定部102に
よって入力されたキーワード同士の関係情報に基づい
て、入力された全てのキーワードを、複数のキーワード
からなる複数個のブロックに分割するブロック作成手段
に対応した機能部である。ブロック領域決定部104
は、ブロック作成部103によって生成されたブロック
を、ブロックに所属するキーワードの位置情報と、ブロ
ックに所属するキーワードに指定された関係情報から、
そのブロックの領域を決定するブロック領域決定手段に
対応した機能部である。ブロック仮配置部105は、ブ
ロック領域決定部104によって決定されたブロックの
領域情報とブロック同士の関係に基づき、大きさの制限
をもたない仮想ページ上にブロックをバランスよく配置
するブロック仮配置手段に対応した機能部である。
【0024】ここで、バランスよくとは、ブロック間に
おいて、たがいの水平方向の重心間距離が小さいものを
垂直方向に整列せさること、たがいの垂直方向の重心間
距離が小さいものを水平方向に整列させること、連結関
係をもったブロック同士を、たがいの相対位置に基づい
て、水平方向または垂直方向に整列させること、ブロッ
ク同士の間隔をできるだけ均等にすることなどをいう。
また、ブロック同士の関係とは、それぞれ異なるブロッ
クに所属するキーワード間に、何らかの関係が指定され
ている場合に、関係が指定されたキーワードが所属する
ブロック間の関係のことをいう。
【0025】ブロック配置部106は、ブロック仮配置
部105によって仮想ページ上に配置されたブロック
を、有限の大きさをもつ実ページ上に配置し直すブロッ
ク配置手段に対応した機能部である。
【0026】ブロック移動部107は、ブロック配置部
106によってブロックが実ページの領域内に配置でき
なかった場合に、ブロックを移動して実ページにブロッ
クを配置するブロック移動手段に対応した機能部であ
る。
【0027】ブロック縮小部108は、ブロックが配置
できるまでブロックを縮小し、実ページにブロックを配
置するブロック縮小手段に対応した機能部である。
【0028】キーワード配置部109は、実ページ上に
配置されたブロック内に、キーワードをバランスよく配
置するキーワード配置手段に対応した機能部である。こ
こで、バランスよくとは、キーワード間において、同一
ブロック内のキーワード同士を水平方向に整列させた
り、垂直方向に整列させたり、キーワード間の間隔をで
きるだけ均等にすることなどをいう。
【0029】次に、本装置のレイアウト動作について、
その概要を図3のフローチャートを参照しながら説明す
る。
【0030】まず、キーワード入力部101において、
ユーザがキーワードの文字列情報とその位置情報を入力
する。キーワードの位置情報とは、キーワードの最左端
部の座標Xs、最上端部の座標Ys、最右端部の座標X
e、最下端部の座標Yeの4つの組(Xs、Ys、X
e、Ye)をもっていう。入力されたキーワードの文字
列情報および位置情報は、キーワードを特定する識別子
とともにテーブル上に記憶して管理する(以後このテー
ブルをKMTと呼ぶ)。入力に関してはキーボード、マ
ウス、ペン入力などを用いて行なう(ステップS10
1)。
【0031】次に、関係指定部102において、ユーザ
が入力されたキーワードに対して、キーワード同士の関
係を指定する。キーワード同士の関係とは、キーワード
同士が含む含まれる関係にある包含関係、キーワード同
士が規則性をもって並ぶ整列関係、キーワード同士が矢
印などによって結ばれる連結関係等のことをいう。包含
関係の指定は、幾階層にわたって指定することができ、
包含関係の中にさらに包含関係が存在してもよい。キー
ワードに包含関係が指定された場合には、いづれにも含
まれないキーワードをルートとして、含む側を親、含ま
れる側を子としたツリー構造が得られ、これを包含族と
よぶ。包含族は、親と子のリンクを持ったテーブルによ
って管理する(以後このテーブルをIMTと呼ぶ)。一
般にIMTは複数の包含族を管理する。図4の例は、包
含関係の例を示したものであり、図5はその包含関係の
ツリー構造を示したものである。連結関係が指定された
場合には、どのキーワードからどのキーワードへ連結関
係が指定されたのかをテーブル上に記憶して管理する
(以後このテーブルをCMTと呼ぶ)。整列関係が指定
された場合には、整列関係が指定されたキーワード群
(以後、このキーワード群のことを整列族と呼ぶ)と、
その整列方法をテーブル上に記憶して管理する(以後こ
のテーブルをAMTと呼ぶ)。一般にAMTは、複数の
整列族を管理する。整列方法には、横並びの整列、縦並
びの整列等がある。キーワード間の各関係の指定に関し
てはキーボード、マウス、ペン入力などを用いて行なう
(ステップS102)。
【0032】次に、ブロック作成部103が、ステップ
S101で入力されたキーワードの位置情報と、ステッ
プS102で入力されたキーワード同士の関係情報に基
づいて、入力された全てのキーワードを、複数個のブロ
ックに分割する(ステップS103)。ブロック作成部
103のブロック生成動作については、後で詳しく説明
する。
【0033】次に、ブロック領域決定部104が、ステ
ップS103で生成されたブロックを、ブロックに所属
するキーワードの位置情報と、ブロックに所属するキー
ワードに指定された関係情報から、そのブロックの領域
を決定する(ステップS104)。ここで、ブロックの
領域とは、そのブロックの最左端部の座標Xs、最上端
部の座標Ys、最右端部の座標Xe、最下端部の座標Y
eの4つの組(Xs、Ys、Xe、Ye)をもってい
う。ブロック領域決定部104のブロック領域決定動作
については、後で詳しく説明する。
【0034】次に、ブロック仮配置部105が、ステッ
プS104で決定されたブロックの領域情報とブロック
同士の関係に基づき、仮想ページ上にブロックをバラン
スよく配置する(ステップS105)。ここで、仮想ペ
ージとは、大きさの制限を持たないページであり、配置
されるブロックがどのような位置にあっても、この仮想
ページ上のどこかに置くことができる。ブロック仮配置
部104の仮想ページへのブロック配置動作について
は、後で詳しく説明する。
【0035】次に、ブロック配置部106が、仮想ペー
ジ上に配置したブロックを実ページ上にそのまま配置し
た場合に、実ページの領域内に収まりきるかどうか判断
し(ステップS106)、収まりきると判断した場合に
は、仮想ページ上のブロックを実ページ上に配置する
(ステップS107)。ここで、実ページとは、仮想ペ
ージが大きさの制限を持たないのに対して、有限の大き
さをもったページのことである。すなわち、ページ最左
端部の座標PXs、最上端部の座標PYs、最右端部の
座標PXe、最下端部の座標PYeの4つの組(PX
s、PYs、PXe、PYe)が有限の値をもつページ
のことである。ブロック配置部106の、実ページの領
域内にブロックが収まるかどうかの判断、および、実ペ
ージへのブロック配置動作については、後で詳しく説明
する。
【0036】ステップS106において、実ページの領
域内に収まりきれないと判断した場合には、ブロック移
動部107が、仮想ページ上でのブロック同士の間隔を
実ページ上につめて配置した場合に、実ページの領域内
に収まりきるかどうか判断し(ステップS108)、収
まりきると判断した場合には、仮想ページ上のブロック
を、その間隔をつめながら実ページ上にに配置する(ス
テップS109)。ブロック移動部107の、実ページ
の領域内にブロックが収まるかどうかの判断、および、
実ページへのブロック配置動作については、後で詳しく
説明する。
【0037】ステップS108において、実ページの領
域内に収まりきれないと判断した場合には、仮想ページ
上のブロックを、縮小して実ページ上に配置する(ステ
ップS110)。ブロック縮小部108のブロックの縮
小処理については、後で詳しく説明する。
【0038】最後に、キーワード配置部109が実ペー
ジ上に配置されたブロック内に、キーワードを配置する
(ステップS111)。キーワード配置部109のブロ
ック内のキーワードの配置動作については、後で詳しく
説明する。
【0039】次に、ステップS103におけるブロック
作成部103のブロック生成動作について、図6のフロ
ーチャートを用いて詳しく説明する。
【0040】まず、IMTを参照して、一つの包含族を
一つのブロックとしていく。この包含関係に基づいて作
られたブロックを、以後包含ブロックとよぶ。(ステッ
プS103−1)。
【0041】同様に、AMTを参照して、一つの整列族
を一つのブロックとしていく。この整列関係に基づいて
作られたブロックを、以後整列ブロックとよぶ。(ステ
ップS103−2)。
【0042】以上のブロック化の結果、包含ブロックに
も、整列ブロックにも属さないキーワード、すなわち包
含関係も、整列関係も指定されていないキーワードに対
しては、さらにキーワード同士の位置関係に基づいて以
下のブロック化を行なう。
【0043】まず、キーワードの位置情報から、キーワ
ード間の重心間距離を調べていく。例えば、キーワード
1の重心の水平方向座標および垂直方向座標が(Xg
1、Yg1)、キーワード2の重心の水平方向座標およ
び垂直方向座標が(Xg2、Yg2)の場合、キーワー
ド1とキーワード2の重心間距離は、水平方向にXg2
−Xg1、垂直方向にYg2−Yg1となる。この重心
間距離において、水平方向の重心間距離(Xg2−Xg
1)の絶対値が、α(αは任意の実数)より小さいとき
に、キーワード1とキーワード2は同じブロックに所属
する可能性があるものと考える。この水平方向の重心間
距離の条件を基に、同じブロックに所属する可能性があ
るキーワードを、所属ブロックが決定していないキーワ
ードの中から抽出し、これを仮ブロックとしていく(ス
テップS103−3)。
【0044】仮ブロックが決定されると、次に、この仮
ブロックの中から除外されるべきキーワードを除外して
正式なブロックを作る。この処理は、まず、仮ブロック
に所属する一つのキーワードに着目し、着目したキーワ
ードと垂直方向の重心間距離の絶対値がβ(βは、αよ
り大きい任意の実数)以下であるキーワードが、同じ仮
ブロック内に存在しなければ、その着目したキーワード
を仮ブロックの構成メンバーから除外するものである。
この除外処理を仮ブロック内の全てのキーワードに対し
て行ない、仮ブロックの構成メンバに残ったキーワード
だけを正式なブロックとする。以上の水平方向の重心間
距離に基づいたブロック化を繰り返していく。同様に、
垂直方向の重心間距離の関係からも、ブロック化を繰り
返していく。以後、この重心間距離の値を基に作られた
ブロックを、システムブロックと呼び、とくに水平方向
の重心間距離を基に生成されたブロックを縦並びのシス
テムブロック、垂直方向の重心間距離を基に生成された
ブロックを横並びのシステムブロックと呼ぶ。以上で、
キーワード同士の位置関係に基づくブロック化の処理を
終了する(ステップS103−4)。
【0045】以上の関係に基づくブロック化、および位
置関係に基づくブロック化の結果、包含ブロック、整列
ブロック、システムブロックのいづれのブロックにも属
さないキーワードは、そのキーワード単独で一つのブロ
ックの構成メンバとなる。このブロックを、以後単独ブ
ロックと呼ぶ(ステップS103−5)。図7に示す例
は、包含ブロック、整列ブロック、システムブロック、
単独ブロックの作られた例を示したものである。
【0046】作成されたブロックは、ブロックを構成す
るキーワードの情報、ブロックの種類の情報などととも
にテーブル上に記憶して管理する(このテーブルを以後
BMTと呼ぶ)。
【0047】一方、連結関係は、端点の位置を決めたの
ち、連結関係を表す線分をひくため、ブロック作成時に
は参照しない。
【0048】次に、ステップS104におけるブロック
領域決定部104のブロック領域決定動作について、図
8のフローチャートを用いて詳しく説明する。
【0049】BMTを参照して、ブロックの種類に応じ
て以下の処理を行なう。まず、ブロックの種類が整列ブ
ロックならば、そのブロックを構成するキーワードをリ
ストアップして、各キーワードの位置情報(Xs、Y
s、Xe、Ye)から、最も小さいXsの値Xs_mi
n、最も小さいYsの値Ys_min、最も大きいXe
の値Xe_max、最も大きいYeの値Ye_maxを
もとめる。すなわち、ブロックを構成するキーワード群
を囲む最小の矩形の領域をもとめる。この求めた(Xs
_min,Ys_min,Xe_max,Ye_ma
x)の組をブロックの仮の領域とする(ステップS10
4−1)。
【0050】次に、この求めたブロックの仮の領域にお
いて、指定された整列方法でキーワードを並べた場合
に、キーワード群がこの仮の領域内に入りきるかどうか
を計算する。例えば、ある整列ブロックの整列方法が横
並びの場合には、以下のようにして計算を行なう。文字
のデフォルトのサイズを12ポイントとした場合、その
ブロックに属する一つのキーワードの横幅Lは、L=α
×12×Nで与えられる(αは適当な比例定数、Nはキ
ーワード文字数)。このキーワードの横幅Lに、適当な
スペースβ(βは任意の実数)を加えた値を、そのキー
ワード1個を置くのに必要な横幅Wとする。この横幅W
の計算を、ブロックに所属する全てのキーワードに対し
て行ない、計算した横幅Wの総和をとることにより、こ
のキーワード群が収さまるのに必要な横幅BWが求ま
る。キーワード群が収まるのに必要な縦幅BHは、12
ポイントの文字1個分の縦幅に、適当なスペースγ(γ
は任意の実数)加えた値とする。この計算した横幅B
W、縦幅BHと、先に求めたブロックの仮の領域の関係
から、キーワード群が仮の領域内に入りきるかどうかを
調べる(ステップS104−2)。
【0051】ステップS104−2の判断結果に従っ
て、ブロックの領域を以下のように決定していく。
【0052】仮のブロックの領域内に整列したキーワー
ド群が収まりきる場合、すなわち BW≦(Xe_max−Xs_min)かつ BH≦(Ye_max−Ys_min) の条件が成立すれば、ブロックの仮の領域の値 (Xs_min,Ys_min,Xe_max,Ye_
max) をそのままこのブロックの領域の値とする。
【0053】整列したキーワード群が、仮の領域より水
平方向にはみ出す場合、すなわち BW>(Xe_max−Xs_min)かつ BH≦(Ye_max−Ys_min) の条件の場合には、ブロックの領域は、 (Xs_min−(BW−(Xe_max−Xs_mi
n))/2, Ys_min, Xs_min+(BW−(Xe_max−Xs_mi
n))/2, Ye_max) とする。
【0054】整列したキーワード群が、仮の領域より垂
直方向にはみ出す場合、すなわち BW≦(Xe_max−Xs_min)かつ BH>(Ye_max−Ys_min) の条件の場合には、ブロックの領域は、 (Xs_min, Ys_min−(BH−(Ye_max−Ys_mi
n))/2, Xs_min, Ye_max+(BH−(Ye_max−Ys_mi
n))/2) とする。
【0055】整列したキーワード群が、仮の領域より水
平方向にも垂直方向にもはみ出す場合、すなわち BW>(Xe_max−Xs_min)かつ BH>(Ye_max−Ys_min) の条件の場合には、ブロックの領域は、 (Xs_min−(BW−(Xe_max−Xs_mi
n))/2, Ys_min−(BH−(Ye_max−Ys_mi
n))/2, Xs_min+(BW−(Xe_max−Xs_mi
n))/2, Ye_max+(BH−(Ye_max−Ys_mi
n))/2) とする。
【0056】以上のようにして、横並びの整列方法が指
定された整列ブロックの領域の計算をおこなう。縦並び
の整列方法が指定された整列ブロックの領域の計算も、
同様の手法を用いて計算するとができる(ステップS1
04−3)。
【0057】領域計算をおこなうブロックの種類が、シ
ステムブロックの場合にも、整列ブロックの計算方法と
同様にしてそのブロックの領域を求める。すなわち、横
並びのシステムブロックならば、横並びが指定された整
列ブロックの領域の計算方法と同様に、縦並びのシステ
ムブロックのならば、縦並びが指定された整列ブロック
の領域の計算方法と同様にして求める(ステップS10
4−4)。
【0058】領域計算をおこなうブロックの種類が、包
含ブロックの場合には、以下の手法を用いて包含ブロッ
クの必要な領域を求める。まず、一つの包含ブロックに
おいて、その包含ブロックを生成するもとになった包含
族のツリー構造を調べ、最も下位にある包含関係を抽出
する。図4のような包含関係の場合、最も下位にある包
含関係は、「FAX」とその子供「Aタイプ」、「Bタ
イプ」の包含関係、「パソコン」とその子供「12
型」、「17型」の包含関係の2つである(ステップS
104−5)。
【0059】次に、最も下位にある包含関係において、
含まれる側にあたるキーワード群をリストアップする。
図4の「FAX」とその子供「Aタイプ」、「Bタイ
プ」の包含関係における含まれる側のキーワード群は、
「Aタイプ」、「Bタイプ」である。このリストアップ
したキーワード群を、横方向に並べた場合に必要な横幅
BWを求める。この横幅BWの計算方法は、整列ブロッ
クの領域計算処理における横方向に並ぶキーワード群の
横幅を求める計算と同様のため、ここでの詳しい説明は
省略する。ここで求めた横幅BWを、最も下位にある包
含関係に属するキーワード群が必要とする領域の横幅と
する。ただし、含む側のキーワードの横幅が、含まれる
側のキーワード群の横幅の合計より大きい場合は、含む
側のキーワードの横幅を、キーワード群が必要とする領
域の横幅とする(ステップS104−6)。
【0060】次に、デフォルトの文字の大きさを12ポ
イントとし、12ポイントの文字1個分の縦幅×δ(δ
は2以上の任意の実数)を最も下位にある包含関係に属
するキーワード群が必要とする領域の縦幅BHとする
(ステップS104−7)。
【0061】次に、最も下位の包含関係に含まれる全て
のキーワード(含む側と含まれる側)の各キーワードの
重心座標の値から、その重心座標の平均値(Xavr、
Yavr)を求め、最も下位にある包含関係に属するキ
ーワード群が必要とする領域を、 (Xavr−BW/2,Yavr−BH/2, Xavr+BW/2,Yavr+BH/2) をとする(ステップS104−8)。
【0062】以上の処理を繰り返して、最も下位にある
包含関係全てに対して、それに属するキーワード群が必
要とする領域を決定していく。最も下位にある包含関係
に属するキーワード群の必要とする領域が、全て決定さ
れると、その領域の値を基に、その上位の包含関係に属
するキーワード群に必要な領域が決定される。
【0063】すなわち、図4において、「FAX」とそ
の子供「Aタイプ」、「Bタイプ」の包含関係、「パソ
コン」とその子供「12型」、「17型」の包含関係の
領域が決定されると、「事務機器」を親とする包含関係
に対しても、その領域を決定することができる。この上
位の包含関係の領域の決定方法は、最も下位の包含関係
において含まれる側がキーワードであったのに対して、
上位の包含関係においては、含まれる側が最も下位の包
含関係になったものと考えることにより、最も下位の包
含関係の領域計算と同様の手法により求めることができ
る。下位側から順次上位側に向かって領域の計算を繰り
返していき、最終的に、最上位の包含関係が必要とする
領域が決定される。この最終的に決定された領域が、一
つの包含ブロックの領域となる。以上の方法ですべての
包含ブロックの領域を決定する(ステップS104−
9)。
【0064】領域計算をおこなうブロックの種類が、単
独ブロックの場合には、単独ブロックを、整列ブロック
を構成するキーワードが一つであるものと考えることに
より、整列ブロックの計算方法と同様にしてその領域を
求めることができる(ステップS104−10)。
【0065】以上ステップS104−1からステップS
104−10で計算されたブロックの領域の情報は、B
MT上の各ブロックのエントリに記憶される。
【0066】なお、各ブロックの領域の計算方法におい
て、キーワードのデフォルトの文字サイズを12ポイン
トとしたが、何ポイントであっても同様にブロックの領
域を計算できる。また、包含ブロックの領域計算におい
て、子にあたるキーワード(または包含関係)を、横方
向に並べて計算を行なったが、縦方向に並べたり、円環
状に並べて計算してもよく、これによって包含関係に所
属するキーワードのレイアウトのバリエーションを変え
ることができる。
【0067】次に、ステップS105におけるブロック
仮配置部105の仮想ページへのブロックの配置動作に
ついて、図9のフローチャートを用いて詳しく説明す
る。
【0068】まず、ブロック同士の重心間の距離とブロ
ック同士に結ばれた関係を基に、ブロック同士の整列関
係を作成する。その処理は以下のとおりである。
【0069】まず、BMTを参照して、各ブロックの領
域情報をもとに各ブロックの重心を求め、その重心間の
距離を調べていく。例えば、ブロック1の重心の水平方
向座標および垂直方向座標が(Xg1、Yg1)、ブロ
ック2の重心の水平方向座標および垂直方向座標が(X
g2、Yg2)の場合、ブロック1とブロック2の重心
間距離は、水平方向にXg2−Xg1、垂直方向にYg
2−Yg1となる。この重心間距離において、水平方向
の重心間距離(Xg2−Xg1)の絶対値が、α(αは
任意の実数)より小さいときに、、ブロック1とブロッ
ク2は縦並びの整列関係があるものとする。この水平方
向の重心間距離に基づいた整列関係の生成を、各ブロッ
クに対して行なっていく。同様に、垂直方向の重心間距
離の関係からも、ブロック同士の横方向の整列関係を生
成する。以上で重心間距離に基づいた、ブロック同士の
整列関係の生成を終了する(ステップS105−1)。
【0070】次に、各ブロック間の連結関係とその連結
強度を調べる。ブロック間の連結関係とは、あるブロッ
クに所属するキーワードと、他のブロックに所属するキ
ーワードとの間に連結関係がある場合のブロック同士の
関係のことをいう。また、連結強度は、そのブロック間
の連結関係において、キーワード同士の連結関係がいく
つあるかによって決定される値である。例えば、図10
の場合のブロック間の連結強度は、連結関係が3つある
ので連結強度は3となる。ブロック間に連結関係がある
場合には、ブロック同士の水平方向の重心間距離と垂直
方向の重心間距離を求める。水平方向の重心間距離およ
び垂直方向の重心間距離の計算方法は、前記の重心間距
離に基づいた整列関係の生成のところでの計算方法と同
様である。この重心間距離において、 水平方向の重心間距離<垂直方向の重心間距離かつ 水平方向の重心間距離≦β×連結強度 (βは0以上の実数) の条件が成立する場合には、この連結関係にあるブロッ
ク間には、縦並びの整列関係があるものとする。また 水平方向の重心間距離≧垂直方向の重心間距離かつ 垂直方向の重心間距離≦β’×連結強度 (β’は0以上の実数) の条件が成立する場合には、この連結関係にあるブロッ
ク間には、横並びの整列関係があるものとする。以上で
連結関係に基づいた、ブロック同士の整列関係の生成を
終了する(ステップS105−2)。
【0071】次に、軸を仮想ページ上に生成していく。
軸とは、ブロックを配置する際の基準となるものであ
り、図11に示すように水平方向と垂直方向にのびる直
線である。水平方向の軸は、その軸が通る垂直方向の座
標値で特定され、逆に垂直方向の軸は、その軸が通る水
平方向の座標値で特定される。以後軸を特定するこの座
標値を軸の座標と呼ぶ。ブロックを配置する際には、こ
の軸上にブロックの重心を合わせて置く。例えば、ブロ
ックの領域が(Xs,Ys,Xe,Ye)であるブロッ
クを、軸の座標がYである水平方向の軸上に重心を合わ
せて置くと、そのブロックの領域は、 (Xs,Y−(Ye−Ys)/2,Xe、Y+(Ye−
Ys)/2)となる。さらに、この水平方向の軸上に置
かれたブロックを、軸の座標がXである垂直方向の軸上
に重心を合わせて置くと、そのブロックの領域は、 (X−(Xe−Xs)/2,Y−(Ye−Ys)/2, X+(Xe−Xs)/2,Y+(Ye−Ys)/2) となる。以後、軸上にブロックの重心を合わせて置くこ
とを、軸上にブロックを置くという。軸は、基本的に各
ブロック一つにつき、水平方向と垂直方向に一本づつ生
成していくが、ブロック同士に横並びの整列関係、ある
いは縦並びの整列関係がある場合には、その整列関係を
もったブロック間で軸を共有する。各軸にはユニークな
番号を割り振り、各ブロックがどの軸を配置の際の基準
にするのか、BMT上の各ブロックのエントリにその番
号を記憶して管理する(ステップS105−3)。
【0072】どのブロックが、どの番号の軸を基準にす
るのかを決定したら、次に、各軸の仮想ページ上での座
標を決定する。水平方向の軸の仮想ページ上での座標
は、以下のように決定される。
【0073】 水平方向の軸の座標=Yg_total/N ここで、Yg_totalは、その軸を共有するブロッ
クすべての垂直方向の重心座標の合計であり、Nは、そ
の軸を共有するブロックの総数である。図12に示す例
は、この方法によって軸を決定したものである。これ
を、水平方向の軸すべてに対して決定する。垂直方向の
軸に対しても、同様の方法で軸の座標を決定する(ステ
ップS105−4)。
【0074】仮想ページ上の各軸の座標が決定されたな
らば、次に、その仮想ページ上の軸を基準にして、仮想
ページ上にブロックを配置していく(ステップS105
−5)。以下、その詳細を図13のフローチャートを用
いて説明する まず、水平方向の軸の座標が最も小さい軸(これを軸1
とする)を対象として、その軸を基準にするブロックす
べてをその軸上に配置する(ステップS105−5−
1)。
【0075】次に、水平方向の軸の座標が2番目に小さ
い軸(これを軸2とする)を対象として、その軸を基準
とするブロックすべてを、その軸上に配置する。このと
きに、図14に示すように、すでに配置済みの各ブロッ
ク(軸1のブロック)と、軸2上に配置する各ブロック
のとの垂直方向の重なりを調べ、もし重なりがあるなら
ば、重なりの中で最も大きい重なり分だけ、軸2を重な
りを避ける方向へ移動させ、移動した軸上にブロックを
配置する。ブロック同士の重なりの判断は、例えばブロ
ックの領域が(Xs1,Ys1,Xe1,Ye1)であ
るブロック1と、ブロックの領域が(Xs2,Ys2,
Xe2,Ye2)であるブロック2との重なりを調べる
場合、 DX1=Xe1−Xs2、 DX2=Xe2−Xs1、 DY1=Ye1−Ys2、 DY2=Ye2−Ys1 とすると、 DX1>0かつ、 DX2>0かつ、 DY1>0かつ、 DY2>0 の条件が成立する場合に、ブロック1とブロック2に重
なりがあることになり、このときの垂直方向の重なり量
は、 垂直方向の重なり=MIN(DY1,DY2) (MIN(α,β)は、αとβのうちどちらか小さい方
の値を意味する) となる。だたし、MIN(DY1,DY2)が、MIN
(DX1,DX2)より大きい場合には、これは、重な
り量がMIN(DX1,DX2)である水平方向の重な
りであると判断し、垂直方向の重なりはなかったものと
判断する。水平方向のブロック同士の重なりは、垂直方
向の軸上にブロックを配置する際に回避するため、水平
方向の軸への配置の際には処理を行なわない(ステップ
S105−5−2)。
【0076】ステップS105−5−2と同様の処理
を、水平方向軸の軸の座標が小さい方から順次おこな
い、水平方向の全ての軸上へブロックを配置していく
(ステップS105−5−3)。
【0077】水平方向の軸へのブロックの配置が終了し
たら、今度は垂直方向の軸に対しても、同様の方法でブ
ロックの配置を行なう(ステップS105−5−4)。
【0078】以上、ステップS105−1からステップ
S105−5までの処理により、仮想ページ上に配置さ
れた軸の座標、および、その軸上に配置されたブロック
の領域は、BMT上の各ブロックのエントリに記憶され
る。
【0079】次に、ブロック配置部106の、ステップ
S106における仮想ページ上のブロックが実ページ上
に収まりきるかどうかの判別処理、および、ステップS
107におけるブロックの配置動作について詳しく説明
する。
【0080】まず、BMTから、仮想ページ上での各ブ
ロックの領域情報(VXs,VYs,VXe,VYe)
を参照する。この仮想ページ上での各ブロックの領域情
報から、最も小さいVXsの値VXs_min、最も小
さいVYsの値VYs_min、最も大きいVXeの値
VXe_max、最も大きいVYeの値VYs_max
を求める。すなわち、仮想ページ上で配置されたブロッ
ク群を囲む最小の矩形をもとめる。図15に示す例は、
仮想ページ上でのブロック群を囲む最小の矩形を示した
ものである。この求めた(VXs_min,VYs_m
in,VXe_max,VYs_max)の組を、仮想
ページ上で配置されたブロック群の領域とする。次に、
実ページの領域から、仮想ページ上に配置されたブロッ
ク群がどれだけはみ出しすかるかを求める。水平方向の
はみ出し量をOX、垂直方向のはみ出し量をOYとする
と、 OX=(VXe_max−VXs_min)−(PXe
−PXs)、 OY=(VYe_max−VYs_min)−(PYe
−PYs) で与えられる。ただし、(PXs,PYs,PXe,P
Ye)はそれぞれ実ページの最左端部、最上端部、最右
端部、最下端部の座標である。
【0081】OX≦0かつ、 OY≦0 の条件が成立する場合に、仮想ページ上のブロック群
は、実ページ上に収まりきるものと判断する。以上で、
仮想ページ上のブロックが実ページ上に収まりきるかど
うかの判別処理を終了する(ステップS106)。
【0082】次に、ステップS106の処理において、
仮想ページ上のブロックが実ページの領域内に収まりき
ると判断した場合に、図16に示すように、実ページの
領域の重心位置に、仮想ページ上で配置されたブロック
群の領域の重心位置を一致するように、仮想ページ上の
ブロックを実ページ上に配置し直していく。すなわち、
仮想ページ上でのブロックの配置領域が(VXs,VY
s,VXe,VYe)であったブロックは、実ページ上
に配置し直されると、(VXs−DX,VYs−DY,
VXe−DX,VYe−DY)の配置領域に変換され
る。ただし、 DX=(VXe_max+VXs_min)/2−(P
Xe+PXs)/2、 DY=(VYe_max+VYs_min)/2−(P
Ye+PYs)/2 であり、(PXs,PYs,PXe,PYe)は、それ
ぞれ実ページの最左端部、最上端部、最右端部、最下端
部の座標である(ステップS107)。
【0083】ステップS107の処理によって、実ペー
ジ上に配置し直されたブロックの領域情報は、BMT上
の各ブロックのエントリに記憶される。
【0084】次に、ブロック移動部107の、ステップ
S108における仮想ページ上のブロックを移動して、
実ページの領域内にブロック群が収まりきるかどうかの
判別処理、および、ステップS109におけるブロック
の移動配置について詳しく説明する。
【0085】まず、BMTを参照して、仮想ページ上に
配置されたブロック群を囲む最小の矩形を求め、その求
めた矩形が、実ページからどれだけはみ出しているの
か、水平方向、垂直方向それぞれについてを求める。こ
の計算方法は、ブロック配置部106のステップS10
6の処理と同様のため、ここでの詳しい説明を省略す
る。ここで求めたはみ出し量を、水平方向OX、垂直方
向OYとする。次に、仮想ページ上に、配置された軸の
移動可能量を調べる。軸の移動可能量とは、図17に示
すように、軸を軸の座標が減少する方向に移動して、移
動した軸上に実際にブロックを配置した場合に、その軸
上のブロックが他のブロックと衝突を開始するまでの移
動量である。ただし、最も座標が小さい軸については、
軸の移動可能量は0である。その他の軸の移動可能量
は、移動の対象となる軸上の全てのブロックと、移動の
対象となる軸より軸の座標が小さい軸上に配置される全
てのブロックとの間で、ブロック同士が接触を開始する
までの距離が最も小さいものを、軸の移動可能距離とす
る。水平方向の軸の移動可能量MY、垂直方向の軸の移
動可能量MXを個々に求め、さらにその総和をとって、
水平方向の軸全体の移動可能量の総和TY、垂直方向の
軸全体の移動可能量の総和TXを求める。次に、軸の移
動可能量の総和とはみ出し量の関係から、 OX≦TXかつ OY≦TY のときに、仮想ページ上のブロック群は、移動して配置
することにより実ページ上収まりきると判断する(ステ
ップS108)。以上で、仮想ページ上のブロックが、
移動して配置することにより実ページ上に収まりきるか
どうかの判別処理を終了する。
【0086】ステップS108の処理において、仮想ペ
ージ上のブロックが移動によって実ページの領域内に収
まりきると判断した場合に、実際にブロックを移動して
実ページ上に配置する(ステップS109)。以下その
処理ついて、水平方向の移動を例にとって図18のフロ
ーチャートを用いて説明する。
【0087】まず、仮想ページ上の水平方向の軸におい
て、その仮想ページ上の軸の座標が最も小さい軸(これ
を軸1とする)を、実ページ上の実ページ上端からY1
の距離にある場所に配置する。Y1は、その最も座標が
小さい軸上に配置するブロックの中で、最も領域が大き
いブロックの縦幅の1/2である(ステップS109−
1)。
【0088】次に、2番目に座標が小さい軸(これを軸
2とする)を、軸1からY2の距離のところに置く。こ
こでY2は、 Y2=VDY−MY×OY/TY で与えられ、VDYは、軸1と軸2の仮想ページ上での
相対距離、MYは軸2の移動可能量、OYは仮想ページ
上のブロック群の実ページからの垂直方向のはみ出し
量、TYは水平方向の軸の移動可能量の総和である。M
Y、OY、TYの計算方法は、ステップS108で説明
しているため、詳しい説明を省略する(ステップS10
9−2)。
【0089】ステップ109−2と同様の計算方法で、
隣合う軸とどれだけの距離をもって配置するか、軸の座
標が小さいものから順次計算していき、すべての水平方
向の軸を実ページ上に配置していく(ステップS109
−3)。
【0090】水平方向の軸の、実ページへの配置が完了
したら、水平方向の軸の配置と同様の手法で、垂直方向
の軸を配置していく(ステップS109−4)。
【0091】水平方向、垂直方向それぞれの軸の配置が
完了したならば、実際にその軸上にブロックを配置し、
処理を終了する(ステップS109−5)。
【0092】以上、ステップ109−1からステップ1
09−5の処理において、実ページ上に配置された軸、
及びその軸上に配置されたブロックの領域情報は、BM
T上の各ブロックのエントリに記憶される。
【0093】次に、ステップS110におけるブロック
縮小部108が、ブロックを縮小し、実ページ上に配置
する動作を、図19のフローチャートを用いて詳しく説
明する。
【0094】まず、仮想ページ上で、ブロック同士の水
平方向、垂直方向それぞれの間隔を最大限つめていく。
この処理は、水平方向、垂直方向それぞれの軸におい
て、となり合う軸同士の間隔を、各軸の移動可能量の分
だけつめていき、さらにその軸上にブロックを配置し直
すことによって実現できる。軸の移動可能量の計算方法
は、ステップS108のところで詳しく説明しているの
でここでの詳しい説明は省略する(ステップS110−
1)。
【0095】次に、仮想ページ上で間隔をつめて配置し
直したブロック群が、実ページ上に配置した場合どれだ
けはみ出しすのか、水平方向のはみ出し量OX、垂直方
向のはみ出し量OYをそれぞれ求める。はみ出し量の計
算方法は、ブロック配置部106のステップS106の
処理と同様のため、ここでの詳しい説明は省略する(ス
テップS110−2)。
【0096】次に、縮小対象ブロックを抽出する。縮小
対象ブロックとは、図20に示すように、そのブロック
を縮小した場合に、その縮小によって軸の移動が可能と
なり、その軸をの移動が、実ページの範囲内にブロック
を収めるのに有効となるブロックである。以下、水平方
向のはみ出しに対して、その縮小対象ブロックの抽出方
法を説明する。まず、仮想ページ上のブロックにおい
て、そのブロックの領域の最右端部の座標値Xeが最も
大きいブロックを抽出する。図20の場合ブロック1が
それにあたる。さらに、そのブロックと軸を共有するブ
ロックの中で、左方向に接触をもつブロックとその接触
の相手ブロックを抽出する。
【0097】図20の場合、ブロック2が左方向の接触
をもつブロックであり、ブロック3が接触の相手ブロッ
クである。ブロックの接触の判定方法は、例えば、ブロ
ックの領域が(Xs1、Ys1、Xe1、Ye1)であ
るブロックAと、ブロックの領域が(Xs2、Ys2、
Xe2、Ye2)あるブロックBの場合(ただし、ブロ
ックAの重心は、ブロックBの重心よりも右側にあるも
とのとする)、 Ye1−Ys2>0かつ Ye2−Ys1>0かつ Xe2=Xs1 の条件が成立する場合に2つのブロックは接触している
と判定できる。以下、同様にして、左方向に順次接触を
もつブロックとその接触相手を探していき、この処理の
繰り返しによって抽出されたブロックが、水平方向のは
み出しに対する縮小対象ブロックとなる。図20の場
合、ブロック1からブロック6までが縮小対象ブロック
にあたる。抽出した縮小対象ブロックの中で、そのブロ
ックの左右の両面が他のブロックと接触するブロック
を、以後、両面接触ブロックと呼び、ブロックの左また
は右のどちらか片面だけが他のブロックと接触するブロ
ックを片面接触ブロックと呼ぶ。ただし、最左端に位置
するブロックは、そのブロックの左面が他のブロックと
接触していいるものと考え、最右端に位置するブロック
は、そのブロックの右面が他のブロックと接触している
ものと考える。図20の場合、ブロック3とブロック6
が両面接触ブロックであり、ブロック1とブロック2と
ブロック4とブロック5が片面接触ブロックである。垂
直方向のはみ出しに対する縮小対象ブロックの抽出も同
様の方法で行なうことができる(ステップS110−
3)。
【0098】抽出された縮小対象ブロックの総数と、は
み出し量の関係から、水平方向のはみ出しに対する縮小
対象ブロックの縮小量RXと、垂直方向のはみ出しに対
する縮小対象ブロックの縮小量RYは、 RX=OX/NX、 RY=OY/NY と決定する。ただし、NXは、水平方向のはみ出しに対
する縮小対象ブロックの総数、NYは、垂直方向のはみ
出しに対する縮小対象ブロックの総数である(ステップ
S110−4)。
【0099】次に、各ブロック担当するブロック縮小量
分だけ、ブロックの領域を縮小する。すなわち、水平方
向のはみ出しに対する縮小担当ブロックの中で、その縮
小量がRXであるブロックの領域は、片面接触ブロック
の場合、(Xs,Xe,Ys,Ye)から(Xs+R
X,Xe−RX,Ys,Ye)に、両面接触ブロックの
場合、(Xs,Xe,Ys,Ye)から(Xs+RX/
2,Xe−RX/2,Ys,Ye)にそれぞれ縮小さ
れ、一方、垂直方向のはみ出しに対する縮小担当ブロッ
クの中で、その縮小量がRYであるブロックの領域は、
片面接触ブロックの場合、(Xs,Xe,Ys,Ye)
から(Xs,Xe,Ys+RY,Ye−RY)に、両面
接触ブロックの場合、(Xs,Xe,Ys,Ye)から
(Xs,Xe,Ys+RY/2,Ye−RY/2)にそ
れぞれ縮小されされる(ステップS110−5)。
【0100】縮小担当ブロックを縮小し終えたら、再
び、水平方向の軸全体の移動可能量の総和TYと、垂直
方向の軸全体の移動可能量の総和TXを求める。この処
理は、ステップS108のところで詳しく説明している
のでここでの詳しい説明は省略する(ステップS110
−6)。
【0101】求めた軸全体の移動可能量において、 OY≦TYかつ、 OX≦TX の条件が成立するかどうか判断し(ステップS110−
7)、もし条件が成立すれば、縮小された仮想ページ上
のブロックを、実ページの領域内におさまるように移動
させて配置する。この移動操作は、ブロック移動部10
7のブロックの移動配置動作と同様のため、ここでの詳
しい説明は省略する(ステップS110−8)。
【0102】ステップS110−7において、条件が成
立しなければ、ステップS110−1へ戻り、仮想ペー
ジ上のブロックの縮小動作を繰り返す。
【0103】以上、ステップS110−1からステップ
S110−8までの処理で、実ページ上に配置されたブ
ロックの領域情報は、BMTの各ブロックのエントリに
記憶される。
【0104】次に、ステップS111における、キーワ
ード配置部109のキーワード配置動作について、図2
1のフローチャートを用いて詳しく説明する。
【0105】BMTから、実ページ上に配置されたブロ
ックの配置領域とそのブロックの種類を参照し、以下の
処理を行なう。まず、ブロックの種類が整列ブロックな
らば、そのブロックを構成するキーワードをリストアッ
プして、指定された整列方法に応じて、その実ページ上
に配置されたブロックの配置領域内に、キーワードの配
置領域を決定する。
【0106】例えば、整列ブロックで、整列方法が横並
びの場合には、そのブロックを構成するキーワードの文
字のデフォルトサイズを12ポイントし(ステップS1
12−1)、そのキーワード群を横に並べた場合に必要
な横幅と縦幅を計算する(ステップS111−2)。こ
の横幅と縦幅の計算方法は、ブロック領域決定部104
の整列ブロックの領域決定のところで説明しているの
で、ここでの詳しい説明は省略する。
【0107】計算した横幅と縦幅が、そのブロックの領
域内に収まりきるかどうか判断し(ステップS111−
3)、入りきると判断すれば、そのブロックの配置領域
内に、そのブロックを構成するキーワードの配置領域
を、横方向にキーワードの配置領域間のスペースを均等
にして決定する(ステップS111−4)。
【0108】もし、計算した横幅と縦幅が、そのブロッ
クの領域内に収まりきらなければ、キーワードの文字サ
イズを1ポイント小さくて、ステップS111−2へ戻
る(ステップS111−5)。
【0109】以上の処理により、横並びの整列方法が指
定された整列ブロックを構成する各キーワード配置領域
の計算を行なう。縦並びの整列方法が指定された整列ブ
ロックの場合も、同様の手法を用いて計算するとができ
る。
【0110】ブロックの種類がシステムブロックの場合
にも、整列ブロックと同様にして、各キーワードの配置
領域の計算を行なう。すなわち、横並びのシステムブロ
ックならば、横並びが指定された整列ブロックの場合の
計算方法と同様に、縦並びのシステムブロックのなら
ば、縦並びが指定された整列ブロックの場合の計算方法
と同様にして、各キーワードの配置領域を計算する(ス
テップS111−6)。
【0111】ブロックの種類が包含ブロックの場合に
は、そのブロックの中で最も上位にある包含関係から順
次下位に向かってその領域を決定していく。ここでは、
包含ブロックのうち、包含関係の子にあたるキーワード
(または包含関係)が、横並びである場合を例にとって
説明する。まず、ブロックの配置領域情報(BXs,B
Ys,BXe,BYe)より、ブロックの横幅BW=B
Xe−BXs、ブロックの縦幅BH=BYe−BYsと
する。最上位の包含関係の親にあたるキーワードの配置
領域の縦幅をH、横幅をWとすると、縦幅HがBH/δ
(δは2以上の任意の実数)より小さくなり、かつ横幅
WがBWより小さくなるように、キーワードの文字サイ
ズを調整し、親にあたるキーワードの配置領域の縦幅H
と横幅Wを決定する。キーワードの文字サイズを調整
し、キーワードの配置領域の縦幅Hと横幅Wを決定する
操作については、整列ブロックのキーワード配置のとこ
ろで説明しているので、ここでの詳しい説明は省略する
(ステップS111−7)。次に、求めた親にあたるキ
ーワードの横幅と縦幅から、親にあたるキーワードの配
置領域を (BXs+BW/2−W/2, BYs+BH/(2×δ)−W/2, BXs+BW/2+W/2, BYs+BH/(2×δ)+W/2) とする(ステップS111−8)。
【0112】次に、子にあたるキーワード群を配置する
領域を、(BXs,BYs+BH/δ,BXe,BY
e)とし、この領域内に、子にあたるキーワードを均等
に配置する。この操作については、ブロックの種類が整
列ブロックで整列方法が横並びの場合と同様のため、こ
こでの詳しい説明は省略する。以上までの処理で、包含
ブロックにおける最上位の包含関係の親にあたるキーワ
ードとその子にあたるキーワードの配置領域が決定され
る。最上位の包含関係が、子供にキーワードではなく包
含関係を持っている場合にも、子にあたるキーワードの
配置領域を包含関係に対する配置領域に置きかえて計算
し、さらにその子供の包含関係にも同様の計算を繰り返
していくことによって、包含ブロック内でのキーワード
の配置領域が決定されていく(ステップS111−
9)。
【0113】ブロック種類が単独ブロックの場合には、
単独ブロックを、整列ブロックを構成するキーワードが
一つであるものと考えることにより、整列ブロックの場
合のキーワード配置領域の計算方法と同様にしてその領
域を求めることができる(ステップS111−10)。
【0114】以上で、整列ブロック、システムブロッ
ク、包含ブロック、単独ブロックをそれぞれを構成する
キーワードの配置領域の計算を終了する。
【0115】最後に、各ブロック内に計算されキーワー
ドの配置領域に、キーワードを割り付けて処理を終了す
る(ステップS111−11)。
【0116】なお、各ブロックの領域の計算方法におい
て、キーワードのデフォルトの文字サイズを12ポイン
トとしたが、何ポイントであってもよく、12ポイント
以外の文字サイズのキーワードのレイアウトも可能であ
る。また、包含ブロックの領域計算において、子にあた
るキーワード(または包含関係)を、横方向に並べて計
算を行なったが、縦方向に並べたり、円環状に並べて計
算してもよく、これによって包含関係に所属するキーワ
ードのレイアウトのバリエーションを変えることができ
る。
【0117】以上説明してきた処理により、入力された
キーワードが自動的に配置される。次に、本装置による
レイアウト生成動作の具体例を説明する。図22に示す
例は、キーワード入力部101より、「MEDIA」、
「AUDIO」、「VIDEO」、「CD/I」、「C
D/ROM」、「JPEG」、「WS」、「NTC
S」、「PAL」、「HDTV」、の10のキーワード
が入力され、関係指定部102より、キーワード「ME
DIA」と「AUDIO」、「VIDEO」の間に包含
関係、キーワード「CD/I」、「CD/ROM」、
「JPEG」の間に縦方向の整列関係、キーワード「W
S」と「CD/I」、「CD/ROM」、「JPEG」
の間に連結関係、さらに、キーワード「WS」と「NT
CS」、「PAL」、「HDTV」の間にも連結関係が
指定されている。これらの入力がなされると、本装置の
レイアウト処理により、図23に示すようなキーワード
の配置結果が得られる。
【0118】なお、実際には、上記自動レイアウト装置
において、包含関係を表す図形を生成する機能や、連結
関係を表す図形を生成する機能や、キーワードに装飾表
現を付加する機能が必要であるが、本発明の要旨とは直
接関係ないので説明を省略する。
【0119】以上で、第1の実施例の動作説明を終了す
る。第1の実施例によれば、大きさの制限をもたない仮
想ページ上にブロックを配置するブロック仮配置部と、
仮想ページ上に配置されたブロックを実ページ上に配置
し直すブロック配置部と、実ページ上に配置できなかっ
た場合に、ブロックを移動して実ページ上に配置するブ
ロック移動部とブロックを縮小して実ページ上に配置す
るブロック縮小部と、実ページ上に配置されたブロック
内にキーワードを配置するキーワード配置部を付加した
装置によって、大きさの制限のない仮想ページ上にブロ
ックを配置するために、ブロックがページからはみ出す
分の調整をすることなしに、ブロック間の関係にもとづ
いた縦方向あるいは横方向の整列配置を自由におこなう
ことができ、これによってブロック同士をバランスよく
配置することができ、その仮想ページ上で配置されたブ
ロックを、ブロック同士の配置のバランスを保ったま
ま、実ページ上に、移動、縮小などをおこなって実ペー
ジの領域に収まりきるよう配置し、さらにそのブロック
の中にキーワードを配置するため、結果としてキーワー
ドをバランスよくレイアウトすることができる。
【0120】(実施例2)以下本発明の第2の実施例に
ついて図面を用いて説明する。
【0121】図1は、本発明の第2の実施例における自
動レイアウト装置の構成図を示すものである。
【0122】図1において、キーワード入力部101、
関係指定部102、ブロック作成部103、ブロック領
域決定部104、ブロック仮配置部105、ブロック配
置部106、ブロック移動部107、キーワード配置部
109の構成は、第1の実施例の構成と同様のため説明
を省略する。
【0123】追加優先度決定部201は、ブロックへの
キーワードの追加状況に応じて、キーワードが追加され
たブロックの縮小優先度を高くする優先度決定手段に対
応した機能部である。
【0124】優先度別ブロック縮小部202は、ブロッ
クが配置できるまで優先度が高い順にブロックを縮小
し、実ページにブロックを配置するブロック縮小手段に
対応した機能部である。
【0125】次に、本装置のレイアウト動作について、
その概要を図24のフローチャートを参照しながら説明
する。
【0126】まず、キーワード入力部101よりキーワ
ードが入力され(ステップS201)、関係指定部10
2よりそのキーワード間の関係が指定される(ステップ
S202)。キーワードとキーワード間の関係が入力さ
れると、ブロック作成部103が入力された全てのキー
ワードを複数個のブロックに分割する(ステップS20
3)。
【0127】次に、ブロック領域決定部104がそのブ
ロックの領域を決定し(ステップS204)、ブロック
仮配置部105が仮想ページ上にブロックを配置する
(ステップS205)。
【0128】次に、ブロック配置部106が仮想ページ
上のブロックが実ページの領域内に収まりきるかどうか
判断し(ステップS206)、収まりきると判断した場
合に、仮想ページ上のブロックを実ページ上に配置して
いく(ステップS207)。ステップS206におい
て、実ページの領域内にブロックが収まりきれないと判
断した場合には、ブロック移動部107が、仮想ページ
上のブロックの間隔をつめてから実ページ上に配置した
場合に、実ページの領域内にブロックが収まりきるかど
うか判断し(ステップS208)、収まりきると判断し
た場合に、仮想ページ上のブロックを移動して、実ペー
ジの領域内に配置する(ステップS209)。以上ステ
ップS201〜ステップS209までの動作は、第1の
実施例とその動作を等しくするため、詳しい説明は省略
する。
【0129】次に、ステップS208の処理において、
実ページの領域内に収まり切れないと判断した場合に、
追加優先度決定部201が、ブロックへのキーワードの
追加状況に応じて、キーワードが追加されたブロックの
縮小優先度を高くする。追加ブロック優先部201の優
先度の計算処理については、後で詳しく説明する(ステ
ップS210)。
【0130】次に、優先度別ブロック縮小部202が、
ブロックが配置できるまで、優先度が高い順にブロック
を縮小し、実ページ上にブロックを配置する。優先度別
ブロック縮小部202のブロックの縮小優先度に基づい
たブロックの縮小処理については、後で詳しく説明する
(ステップS211)。
【0131】最後に、キーワード配置部109が実ペー
ジ上に配置されたブロック内に、キーワードを配置する
(ステップS212)。キーワード配置部109のブロ
ック内のキーワードの配置動作については、第1の実施
例のところで詳しく説明しているので、ここでの説明は
省略する。
【0132】次に、ステップS210における追加ブロ
ック優先部201の優先度の計算処理について詳しく説
明する。
【0133】まず全てのブロックの中から、キーワード
が追加されたブロックを抽出する。キーワードの追加と
は、本装置のレイアウト操作がなされた後に、再度キー
ワードを入力して最レイアウトを行なう場合に、新たに
入力されたキーワードが、前レイアウト操作において既
にブロック化されたキーワード群の新しい構成メンバー
となる場合である。このキーワードが追加されたブロッ
クの縮小優先度を1とし、追加がなかったブロックの縮
小優先度は0とする。ただし、再レイアウトでない場
合、すなわち、新規にレイアウトを行なう場合には、全
てのブロックの優先度を1とする。以上でキーワードの
追加に基づくブロックの縮小優先度の計算処理を終了す
る。
【0134】次に、ステップS211における優先度別
ブロック縮小部202の優先度に基づいてブロックを縮
小し、実ページ上に配置する動作を図25のフローチャ
ートを参照しながら説明する。
【0135】まず、仮想ページ上で、ブロック同士の水
平方向、垂直方向それぞれの間隔を最大限つめていく。
この処理は、第1の実施例のステップS110−1と同
様の処理であるため、説明を省略する(ステップS21
1−1)。
【0136】次に、仮想ページ上で間隔をつめて配置し
直したブロック群が、実ページ上に配置した場合どれだ
けはみ出しすのか、水平方向のはみ出し量OX、垂直方
向のはみ出し量OYをそれぞれ求める。この処理は、第
1の実施例のステップS110−2と同様の処理である
ため、説明を省略する(ステップS211−2)。
【0137】次に、水平方向のはみ出しに対する縮小対
象ブロックと、垂直方向のはみ出しに対する縮小対象ブ
ロックを抽出する。この処理は、第1の実施例のステッ
プS110−3と同様の処理であるため、説明を省略す
る(ステップS211−3)。
【0138】抽出された縮小対象ブロックの優先度と、
はみ出し量の関係から、水平方向のはみ出しに対する縮
小対象ブロックの縮小量RXと、垂直方向のはみ出しに
対する縮小対象ブロックの縮小量RYは、 RX=OX×(そのブロックの優先度/TPX)、 RY=OY×(そのブロックの優先度/TPY) と決定する。ここで、TPXは、水平方向のはみ出しに
対する縮小対象ブロック全ての優先度の合計、TPY
は、垂直方向のはみ出しに対する縮小対象ブロック全て
の優先度の合計である。
【0139】ただし、TPX=0の場合には、 RX=OX/水平方向のはみ出しに対する縮小対象ブロ
ックの総数 とし、TPY=0の場合には、 RY=OY/垂直方向のはみ出しに対する縮小対象ブロ
ックの総数 とする(ステップS211−4)。
【0140】次に、各ブロックが担当するブロック縮小
量分だけ、ブロックの領域を縮小する。すなわち、水平
方向のはみ出しに対する縮小担当ブロックの中で、その
縮小量がRXであるブロックの領域は、片面接触ブロッ
クの場合、(Xs,Xe,Ys,Ye)から(Xs+R
X,Xe−RX,Ys,Ye)に、両面接触ブロックの
場合、(Xs,Xe,Ys,Ye)から(Xs+RX/
2,Xe−RX/2,Ys,Ye)にそれぞれ縮小さ
れ、一方、垂直方向のはみ出しに対する縮小担当ブロッ
クの中で、その縮小量がRYであるブロックの領域は、
片面接触ブロックの場合、(Xs,Xe,Ys,Ye)
から(Xs,Xe,Ys+RY,Ye−RY)に、両面
接触ブロックの場合、(Xs,Xe,Ys,Ye)から
(Xs,Xe,Ys+RY/2,Ye−RY/2)にそ
れぞれ縮小されされる(ステップS211−5)。
【0141】縮小担当ブロックを縮小し終えたら、再
び、水平方向の軸全体の移動可能量の総和TYと、垂直
方向の軸全体の移動可能量の総和TXを求める。この処
理は、第1の実施例のステップS108のところで詳し
く説明しているのでここでの詳しい説明は省略する(ス
テップS211−6)。
【0142】求めた軸全体の移動可能量において、 OY≦TYかつ、 OX≦TX の条件が成立するかどうか判断し(ステップS211−
7)、もし条件が成立すれば、縮小された仮想ページ上
のブロックを、実ページの領域内におさまるように移動
させて配置する。この移動操作は、第1の実施例のステ
ップS109のところで説明しているので、ここでの詳
しい説明は省略する(ステップS211−8)。
【0143】ステップS211−7において、条件が成
立しなければ、ステップS211−1へ戻り、仮想ペー
ジ上のブロックの縮小動作を繰り返す。
【0144】以上、ステップS211−1からステップ
S211−8までの処理で、実ページ上に配置されたブ
ロックの領域情報は、BMTの各ブロックのエントリに
記憶される。
【0145】以上で、第2の実施例の動作説明を終了す
る。第2の実施例によれば、キーワードが追加されたブ
ロックの縮小優先度を高くする追加優先度決定部と、ブ
ロックの縮小優先度が高い順にブロックを縮小する優先
度別ブロック縮小部を付加することにより、キーワード
が追加されたブロックだけを優先的に縮小するために、
キーワードが追加されなかったブロックは、縮小の影響
を受けにくく、その影響を受けなかったブロックに配置
されるキーワードは、文字サイズを小さくしたりする必
要がなく、字体が見えにくくなることがない。また、縮
小の影響を受けなかったブロックに配置されるキーワー
ドは、キーワード間の間隔を狭めたりする必要がなく、
結果としてバランスよくキーワードを配置できる。
【0146】(実施例3)以下本発明の第3の実施例に
ついて図面を用いて説明する。
【0147】図26は、本発明の第3の実施例における
自動レイアウト装置の構成図を示すものである。
【0148】図26において、キーワード入力部10
1、関係指定部102、ブロック作成部103、ブロッ
ク領域決定部104、ブロック仮配置部105、ブロッ
ク配置部106、ブロック移動部107、キーワード配
置部108、優先度別ブロック縮小部202の構成は、
第2の実施例の構成と同様のため説明を省略する。
【0149】サイズ優先度決定301は、ブロックの大
きさに基づいて、大きさが大きいブロックの縮小優先度
を高くする優先度決定手段に対応した機能部である。
【0150】次に、本装置のレイアウト動作について、
その概要を図27のフローチャートを参照しながら説明
する。
【0151】まず、キーワード入力部101よりキーワ
ードが入力され(ステップS301)、関係指定部10
2よりそのキーワード間の関係が指定される(ステップ
S302)。キーワードとキーワード間の関係が入力さ
れると、ブロック作成部103が入力された全てのキー
ワードを複数個のブロックに分割する(ステップS30
3)。次に、ブロック領域決定部104がそのブロック
の領域を決定し(ステップS304)、ブロック仮配置
部105が仮想ページ上にブロックを配置する(ステッ
プS305)。次に、ブロック配置部106が仮想ペー
ジ上のブロックが実ページの領域内に収まりきるかどう
か判断し(ステップS306)、収まりきると判断した
場合に、仮想ページ上のブロックを実ページ上に配置し
ていく(ステップS307)。ステップS306におい
て、実ページの領域内にブロックが収まりきれないと判
断した場合には、ブロック移動部107が、仮想ページ
上のブロックの間隔をつめてから実ページ上に配置した
場合に、実ページの領域内にブロックが収まりきるかど
うか判断し(ステップS308)、収まりきると判断し
た場合に、仮想ページ上のブロックを移動して、実ペー
ジの領域内に配置する(ステップS309)。以上ステ
ップS301〜ステップS309までの動作は、第2の
実施例とその動作を等しくするため、詳しい説明は省略
する。
【0152】次に、ステップS308において、実ペー
ジの領域内に収まり切れないと判断した場合に、サイズ
優先度決定301が、ブロックの大きさに基づいて、大
きさの大きいブロックの縮小優先度を高くする。サイズ
優先度決定部301の優先度の計算処理については、後
で詳しく説明する(ステップS310)。
【0153】次に、優先度別ブロック縮小部202が、
ブロックが配置できるまで、優先度が高い順にブロック
を縮小し、実ページ上にブロックを配置する。優先度別
ブロック縮小部202のブロックの縮小優先度に基づい
たブロックの縮小処理については、第2の実施例のとこ
ろで詳しく説明しているので、ここでの詳しい説明は省
略する(ステップS311)。
【0154】最後に、キーワード配置部109が実ペー
ジ上に配置されたブロック内に、キーワードを配置する
(ステップS312)。キーワード配置部109のブロ
ック内のキーワードの配置動作については、第1の実施
例のところで詳しく説明しているので、ここでの説明は
省略する。
【0155】次に、ステップS310におけるサイズ優
先度決定部301の優先度の計算処理について詳しく説
明する。
【0156】まず、全てのブロックの中で最も面積が大
きいブロックを抽出する。ここで抽出されたブロックの
面積をSmaxとする。次に、その最も面積が大きいブ
ロックの優先度を10とする。この最も面積が最も大き
いブロックの優先度を基準に、他のブロックの優先度を
決めていく。例えばあるブロックの面積がSであるとす
れば、そのブロックの優先度は、 優先度=[10×S/Smax] (ただし、[X]は、Xより小さい整数を意味する) で与えられる。以上の方法で全てのブロックに対して、
ブロックの大きさに基づいた優先度を決定していく。
【0157】以上で、第3の実施例の動作説明を終了す
る。第3の実施例によれば、大きさの大きいブロックの
縮小優先度を高くするサイズ優先度決定部と、ブロック
の縮小優先度が高い順にブロックを縮小する優先度別ブ
ロック縮小部を付加することにより、ブロックの大きさ
が大きいブロックを優先的に縮小するため、ブロックの
大きさが小さいブロックは、縮小の影響を受けにくく、
そのブロック内に配置されるキーワードの文字が小さく
なりすぎたり、キーワード間の間隔が狭くなりすぎたり
せず、結果としてバランスよくキーワードを配置でき
る。
【0158】(実施例4)以下本発明の第4の実施例に
ついて図面を用いて説明する。
【0159】図28は、本発明の第3の実施例における
自動レイアウト装置の構成図を示すものである。
【0160】図28において、キーワード入力部10
1、関係指定部102、ブロック作成部103、ブロッ
ク領域決定部104、ブロック仮配置部105、ブロッ
ク配置部106、ブロック移動部107、キーワード配
置部109、優先度別ブロック縮小部202の構成は、
第2の実施例の構成と同様のため説明を省略する。
【0161】個数優先度決定部401は、ブロックに所
属するキーワード数に基づいて、キーワード数が少ない
ブロックの縮小優先度を高くする優先度決定手段に対応
した機能部である。
【0162】次に、本装置のレイアウト動作について、
その概要を図29のフローチャートを参照しながら説明
する。
【0163】まず、キーワード入力部101よりキーワ
ードが入力され(ステップS401)、関係指定部10
2よりそのキーワード間の関係が指定される(ステップ
S402)。キーワードとキーワード間の関係が入力さ
れると、ブロック作成部103が入力された全てのキー
ワードを複数個のブロックに分割する(ステップS40
3)。次に、ブロック領域決定部104がそのブロック
の領域を決定し(ステップS404)、ブロック仮配置
部105が仮想ページ上にブロックを配置する(ステッ
プS405)。次に、ブロック配置部106が仮想ペー
ジ上のブロックが実ページの領域内に収まりきるかどう
か判断し(ステップS406)、収まりきると判断した
場合に、仮想ページ上のブロックを実ページ上に配置し
ていく(ステップS407)。ステップS406におい
て、実ページの領域内にブロックが収まりきれないと判
断した場合には、ブロック移動部107が、仮想ページ
上のブロックの間隔をつめてから実ページ上に配置した
場合に、実ページの領域内にブロックが収まりきるかど
うか判断し(ステップS408)、収まりきると判断し
た場合に、仮想ページ上のブロックを移動して、実ペー
ジの領域内に配置する(ステップS409)。以上ステ
ップS401〜ステップS409までの動作は、第1の
実施例とその動作を等しくするため、詳しい説明は省略
する。
【0164】次に、ステップS408において、実ペー
ジの領域内に収まり切れないと判断した場合に、個数優
先度決定部401が、ブロックに所属するキーワード数
に基づいて、キーワード数の少ないブロックの縮小優先
度を高くする。個数優先度決定部401の優先度の計算
処理については、後で詳しく説明する(ステップS41
0)。
【0165】次に、優先度別ブロック縮小部202が、
ブロックが配置できるまで、優先度が高い順にブロック
を縮小し、実ページ上にブロックを配置する。優先度別
ブロック縮小部202のブロックの縮小優先度に基づい
たブロックの縮小処理については、第2の実施例のとこ
ろで詳しく説明しているので、ここでの詳しい説明は省
略する(ステップS411)。
【0166】最後に、キーワード配置部108が実ペー
ジ上に配置されたブロック内に、キーワードを配置する
(ステップS412)。キーワード配置部109のブロ
ック内のキーワードの配置動作については、第1の実施
例のところで詳しく説明しているので、ここでの説明は
省略する。
【0167】次に、ステップS410における個数優先
度決定部401の優先度の計算処理について詳しく説明
する。
【0168】各ブロックのキーワード数に基づく優先度
は、 優先度=[10×1/N] (ただし、[X]は、Xより小さい整数を意味する) で与えられる。以上の方法で全てのブロックに対して、
ブロックに所属するキーワード数に基づいた優先度を決
定していく。
【0169】以上で、第4の実施例の動作説明を終了す
る。第4の実施例によれば、所属するキーワード数が少
ないブロックの縮小優先度を高くする個数優先度決定部
と、ブロックの縮小優先度が高い順にブロックを縮小す
る優先度別ブロック縮小部を付加することにより、所属
するキーワード数が少ないブロックを優先的に縮小する
ため、縮小の影響を受けてキーワードの文字サイズが小
さくなるキーワード数が少なくてすみ、結果として、バ
ランスよくキーワードがレイアウトされる。
【0170】
【発明の効果】請求項1の発明によれば、大きさの制限
をもたない仮想ページ上で、関係をもったブロック同士
を、大きさの制限のない仮想ページ上で横方向または縦
方向に整列させて配置し、さらにその仮想ページ上に配
置されたブロックを実ページ上に配置し直すため、関係
をもったブロックを容易に整列させることができ、結果
としてバランスの取れたレイアウトを生成できる。
【0171】請求項2の発明によれば、請求項1の発明
の効果に加えて、キーワードが追加されたブロックを優
先して縮小するため、キーワードが追加されなかったブ
ロックは縮小されにくく、縮小がなかったブロックは、
キーワードの文字サイズやキーワード間の配置間隔を小
さくする必要がなく、バランスの取れたレイアウトを生
成できる。
【0172】請求項3の発明によれば、請求項1の発明
の効果に加えて、大きさの大きいブロックを優先して縮
小するため、大きさが小さいブロックをさらに小さくす
ることが少なくなり、結果として小さくなりすぎたブロ
ックにキーワードを配置してキーワードの配置バランス
を崩してまう可能性少なくなり、バランスの取れたレイ
アウトを生成できる。
【0173】請求項4の発明によれば、請求項1の発明
の効果に加えて、キーワード数の少ないブロックを優先
して縮小するため、ブロックの縮小の影響を受けて、キ
ーワードの文字サイズが小さくなるキーワードが少なく
て済み、結果としてバランスの取れたレイアウトを生成
できる。
【図面の簡単な説明】
【図1】本発明の第2の実施例における自動レイアウト
装置の構成図
【図2】本発明の第1の実施例における自動レイアウト
装置の構成図
【図3】本発明の第1の実施例における自動レイアウト
装置のレイアウトの生成動作の概要を説明するフローチ
ャート
【図4】キーワードの包含関係の例示図
【図5】包含関係のツリー構造の説明図
【図6】本発明の第1の実施例における自動レイアウト
装置の、ブロックを生成する動作を説明するフローチャ
ート
【図7】ブロックの例示図
【図8】本発明の第1の実施例における自動レイアウト
装置の、ブロックの領域を決定する動作を説明するフロ
ーチャート
【図9】本発明の第1の実施例における自動レイアウト
装置の、ブロックを仮想ページへ配置する動作を説明す
るフローチャート
【図10】ブロックがもつ連結関係の説明図
【図11】ブロックの軸の説明図
【図12】ブロックの軸の座標決定の説明図
【図13】本発明の第1の実施例における自動レイアウ
ト装置の、仮想ページ上の軸上へブロックを配置する動
作を説明するフローチャート
【図14】ブロック同士の重なりの説明図
【図15】仮想ページ上でのブロック群の領域の説明図
【図16】本発明の第1の実施例における自動レイアウ
ト装置の、仮想ページ上のブロックを実ページ上に配置
する動作の説明図
【図17】本発明の第1の実施例における自動レイアウ
ト装置の、軸の移動動作の説明図
【図18】本発明の第1の実施例における自動レイアウ
ト装置の、ブロックの移動動作を説明するフローチャー
【図19】本発明の第1の実施例における自動レイアウ
ト装置の、ブロックの縮小動作を説明するフローチャー
【図20】縮小対象ブロックの説明図
【図21】本発明の第1の実施例における自動レイアウ
ト装置の、ブロック内でのキーワードの配置動作を説明
するフローチャート
【図22】本発明の第1の実施例における自動レイアウ
ト装置へ、キーワードと、キーワード同士の関係を入力
した例示図
【図23】本発明の第1の実施例における自動レイアウ
ト装置が生成したレイアウトの例示図
【図24】本発明の第2の実施例における自動レイアウ
ト装置のレイアウトの生成動作の概要を説明するフロー
チャート
【図25】本発明の第2の実施例における自動レイアウ
ト装置の、優先度に基づくブロックの縮小動作を説明す
るフローチャート
【図26】本発明の第3の実施例における自動レイアウ
ト装置の構成図
【図27】本発明の第3の実施例における自動レイアウ
ト装置のレイアウトの生成動作の概要を説明するフロー
チャート
【図28】本発明の第4の実施例における自動レイアウ
ト装置の構成図
【図29】本発明の第4の実施例における自動レイアウ
ト装置のレイアウトの生成動作の概要を説明するフロー
チャート
【図30】従来の自動レイアウト装置のブロック図
【符号の説明】
101 キーワード入力部 102 関係指定部 103 ブロック作成部 104 ブロック領域決定部 105 ブロック仮配置部 106 ブロック配置部 107 ブロック移動部 108 ブロック縮小部 109 キーワード配置部 201 追加優先度決定部 202 優先度別ブロック縮小部 301 追加優先度決定部 401 個数優先度決定部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】キーワードとその位置情報をユーザが入力
    するキーワード入力手段と、 前記キーワード入力手段によって入力されたキーワード
    に対して、キーワード同士の関係を表す関係情報をユー
    ザが指定する関係指定手段と、 前記キーワード入力手段によって入力されたキーワード
    の位置情報と、前記関係入力手段によって指定されたキ
    ーワード同士の関係情報とに基づいて、全てのキーワー
    ドを、1つまたは複数のキーワードからなる複数個のブ
    ロックに分割するブロック生成手段と、 ブロックに所属するキーワードの位置情報と、ブロック
    に所属するキーワードに指定された関係情報から、各ブ
    ロックの領域を決定するブロック領域決定手段と、 前記ブロック領域決定手段によって決定されたブロック
    の領域情報と、ブロックに属するキーワード同士の関係
    情報とに基づき、大きさの制限をもたない仮想ページ上
    にブロックを配置するブロック仮配置手段と、 前記ブロック仮配置手段によって仮想ページ上に配置さ
    れたブロックを、有限の大きさをもつ実ページ上に配置
    するブロック配置手段と、 前記ブロック配置手段によって実ページへの配置ができ
    なかった場合に、ブロックを移動して、実ページにブロ
    ックを配置するブロック移動手段と、 実ページにブロックが入りきるまでブロックを縮小し、
    実ページにブロックを配置するブロック縮小手段と、 実ページ上に配置されたブロック内に、キーワードを配
    置するキーワード配置手段とを備えたことを特徴とする
    自動レイアウト装置。
  2. 【請求項2】ブロックへのキーワードの追加状況に応じ
    て、キーワードが追加されたブロックの縮小優先度を高
    くする優先度決定手段を追加し、 ブロック縮小手段を、ブロックが配置できるまで、縮小
    優先度が高い順にブロックを縮小し、実ページにブロッ
    クを配置するブロック縮小手段に置換したことを特徴と
    する請求項1記載の自動レイアウト装置。
  3. 【請求項3】優先度決定手段を、ブロックの大きさに基
    づいて、大きさが大きいブロックの縮小優先度を高くす
    る優先度決定手段に置換したことを特徴とする請求項2
    記載の自動レイアウト装置。
  4. 【請求項4】優先度決定手段を、ブロックに所属するキ
    ーワード数に基づいて、キーワード数が少ないブロック
    の縮小優先度を高くする優先度決定手段に置換したこと
    を特徴とする請求項2記載の自動レイアウト装置。
JP6182284A 1994-08-03 1994-08-03 自動レイアウト装置 Pending JPH0844883A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6182284A JPH0844883A (ja) 1994-08-03 1994-08-03 自動レイアウト装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6182284A JPH0844883A (ja) 1994-08-03 1994-08-03 自動レイアウト装置

Publications (1)

Publication Number Publication Date
JPH0844883A true JPH0844883A (ja) 1996-02-16

Family

ID=16115590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6182284A Pending JPH0844883A (ja) 1994-08-03 1994-08-03 自動レイアウト装置

Country Status (1)

Country Link
JP (1) JPH0844883A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316946A (ja) * 2004-03-31 2005-11-10 Seiko Epson Corp レイアウトルール生成システム、レイアウトシステム、レイアウトルール生成プログラム、レイアウトプログラムおよび記憶媒体、並びにレイアウトルール生成方法およびレイアウト方法
JP2008052739A (ja) * 2003-10-15 2008-03-06 Canon Inc レイアウト方法及び装置とそのプログラム
US7430713B2 (en) 2004-01-30 2008-09-30 Canon Kabushiki Kaisha Layout adjustment method and apparatus and layout adjustment program
JP2008293483A (ja) * 2007-04-13 2008-12-04 Canon Inc 図形要素をページ上にレイアウトする方法
JP2009070405A (ja) * 2008-11-26 2009-04-02 Canon Inc 情報処理方法および装置およびコンピュータプログラム
US8237818B2 (en) 2007-03-02 2012-08-07 Nikon Corporation Camera
JP2015503132A (ja) * 2011-09-23 2015-01-29 マイクロソフト コーポレーション 格子上におけるプレゼンテーション・タイルの動的レイアウト技法
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US9715485B2 (en) 2011-03-28 2017-07-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US10331335B2 (en) 2010-12-23 2019-06-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052739A (ja) * 2003-10-15 2008-03-06 Canon Inc レイアウト方法及び装置とそのプログラム
US7430713B2 (en) 2004-01-30 2008-09-30 Canon Kabushiki Kaisha Layout adjustment method and apparatus and layout adjustment program
JP2005316946A (ja) * 2004-03-31 2005-11-10 Seiko Epson Corp レイアウトルール生成システム、レイアウトシステム、レイアウトルール生成プログラム、レイアウトプログラムおよび記憶媒体、並びにレイアウトルール生成方法およびレイアウト方法
US7844896B2 (en) 2004-03-31 2010-11-30 Seiko Epson Corporation Layout-rule generation system, layout system, layout-rule generation program, layout program, storage medium, method of generating layout rule, and method of layout
US8237818B2 (en) 2007-03-02 2012-08-07 Nikon Corporation Camera
JP2008293483A (ja) * 2007-04-13 2008-12-04 Canon Inc 図形要素をページ上にレイアウトする方法
US8612849B2 (en) 2007-04-13 2013-12-17 Canon Kabushiki Kaisha Laying out graphical elements on a page
JP2009070405A (ja) * 2008-11-26 2009-04-02 Canon Inc 情報処理方法および装置およびコンピュータプログラム
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US10331335B2 (en) 2010-12-23 2019-06-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
US9715485B2 (en) 2011-03-28 2017-07-25 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
JP2015503132A (ja) * 2011-09-23 2015-01-29 マイクロソフト コーポレーション 格子上におけるプレゼンテーション・タイルの動的レイアウト技法

Similar Documents

Publication Publication Date Title
JP3544422B2 (ja) 記事配置装置
JP4321549B2 (ja) 文書作成システム、文書作成方法、プログラムおよび記憶媒体
JPH0844883A (ja) 自動レイアウト装置
KR20070095984A (ko) 묘화 장치 및 묘화 방법
KR930001025B1 (ko) 논리 회로도 자동생성방법 및 그 시스템
JP3389875B2 (ja) 自動部品配置システム並びに自動部品配置プログラムを記録した記録媒体
KR101669619B1 (ko) 부화소 영역 가중치에 기반한 렌더링 시스템 및 방법
JPH09265480A (ja) 3次元仮想空間における情報提供方法および情報提供システム
JP2007264965A (ja) ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法
JPH0785099A (ja) 階層表示方式
JP2000082082A (ja) 配線トレイネットワーク表示装置
US9251619B2 (en) Image synthesis device
KR101770259B1 (ko) Cellular automaton과 Iterative relocation system을 이용한 패턴디자인 시스템 및 그 제어방법
KR101684355B1 (ko) Cellular automaton과 Iterative relocation system을 이용한 패턴디자인 시스템 및 그 제어방법
GB2355089A (en) Clustering
CN105988746A (zh) 3d打印方法及电子设备
JP3045909B2 (ja) 図形処理方式
JP4114407B2 (ja) 関係表示装置
JP3178603B2 (ja) 自動部品配置方法、システムおよび自動部品配置プログラムを記録した記録媒体
JP2003223644A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体
JP3165180B2 (ja) グラフ図形自動レイアウト装置
JPH10134167A (ja) 局所色空間代表色リスト生成方法及びその装置
JP2005018545A (ja) 設計データ生成装置および設計データ生成方法
JPH1125281A (ja) テクスチャマッピング方法
JPH11232490A (ja) 3次元図形作成支援装置