JP3111832B2 - 表割り付け装置および表割り付け方法 - Google Patents

表割り付け装置および表割り付け方法

Info

Publication number
JP3111832B2
JP3111832B2 JP06246349A JP24634994A JP3111832B2 JP 3111832 B2 JP3111832 B2 JP 3111832B2 JP 06246349 A JP06246349 A JP 06246349A JP 24634994 A JP24634994 A JP 24634994A JP 3111832 B2 JP3111832 B2 JP 3111832B2
Authority
JP
Japan
Prior art keywords
linear programming
programming problem
text
status
width
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.)
Expired - Fee Related
Application number
JP06246349A
Other languages
English (en)
Other versions
JPH07334490A (ja
Inventor
吉浩 申
健一 小林
明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP06246349A priority Critical patent/JP3111832B2/ja
Publication of JPH07334490A publication Critical patent/JPH07334490A/ja
Application granted granted Critical
Publication of JP3111832B2 publication Critical patent/JP3111832B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、表のレイアウトを生成
する表割り付け装置に関するものである。
【0002】
【従来の技術】近年、文書処理システムにおいては、作
表機能は欠かせないものとなっている。従来の簡単なシ
ステムでは、ユーザが罫線を描画し、区分けされた表の
各セルにテキストを配置している。このようなシステム
では、テキストがセルに入りきらなかったり、空間が空
き過ぎたりした場合、罫線を引き直し、表の形状そのも
のを修正する必要がある。そのため、ユーザは試行錯誤
を繰り返し、無益な時間を費すことになる。
【0003】表を作成するためには、表の行の高さ、列
の幅を決定し、セルに配置されるテキストを列幅に合わ
せて行折を行なって配置すればよい。表の行の高さ、列
の幅は割り付けられるテキストや、表全体の大きさな
ど、種々の条件により決定される。このとき、例えば、
テキストの行折を列の幅に合わせて行なうと、行の高さ
が高くあるいは低くなりすぎてしまう場合がある。逆に
行の高さに合わせて行折を行なう字数を決定すると、列
の幅が狭くあるいは広くなりすぎてしまう場合がある。
そのため、表の行の高さ、列の幅、テキストの行折は、
全体のバランスを考慮して決定する必要がある。
【0004】従来の罫線を用いて作表する場合には、こ
れらの要素をユーザが勘案し、決定して作表を行なって
いたので、ユーザによってはうまく作表できなかった
り、多大の労力を必要としていた。表の行の高さ、列の
幅、テキストの行折を自動化できれば、ユーザは作表の
煩わしい作業から開放される。そして、レイアウトに特
別な注文さえなければ、表の割り付けを完全に自動化す
ることができ、ユーザは、見やすい、レイアウトの整っ
た表を簡単に得ることができる。
【0005】このような自動化のメリットが存在するに
もかかわらず、現在のところこれら2つの機能、すなわ
ち、表の行の高さと列の幅とを自動設定する機能、およ
び、テキストの自動行折の機能を同時に実現する文書処
理システムは存在しない。例えば、J−Star(登録
商標)やLaTeXでは、テキストの行折が適切に行な
われるように、ユーザが自ら列の幅(水平インターバ
ル)がとるべき具体的な数値(固定幅)を指定する必要
がある。また、Interleaf5(商品名)では、
ユーザが列の固定幅を指定する方法の他に、均等幅を指
定する方法が提供されている。1つ以上の列に均等幅が
指定された場合、それらの列幅は指定された比率を保つ
ように自動的に計算される。しかし、この場合も、表全
体は、ページに固有のマージンと表に固有のマージンに
よって決定される最大の幅をとるため、実際には、均等
幅が指定された列の幅は項目欄に現れるテキストによら
ずあらかじめ決まっている。
【0006】このように、従来の技術では、テキストを
行折する際には、列の幅があらかじめ決まっている必要
がある。つまり、テキストの量に応じて列の幅とテキス
トの行折の両方を同時に自動決定することはできない。
【0007】従来の文書処理システムにおいて、表の行
高・列幅の自動決定とテキストの自動行折を同時に達成
する機能が提供されていない理由は、以下に述べるよう
な技術課題に由来する。
【0008】水平インターバル(列の幅)があらかじめ
決定されていることを仮定した場合、垂直インターバル
(行の高さ)の自動決定とテキストの自動行折を共存さ
せることは難しくはない。例えば、J−Star、La
Tex、Interleaf5では、以下の方法でこの
機能が実現されている。まず、項目欄にテキストを流し
込むことによって、あらかじめ与えられた項目欄の幅
(項目欄が交わっている列の幅の和)にテキストが収ま
るようにテキストの行折を計算する。計算された行折の
もとで、テキストの高さを求める。そして、項目欄の高
さが、流し込まれるテキストの高さ以上になるように、
最小の垂直インターバルを計算する。これにより、水平
インターバルがあらかじめ決定されている場合に、垂直
インターバルの決定およびテキストの行折を自動的に行
なうことができる。
【0009】ここで、垂直インターバルを計算する際
に、所定の条件を満たす最小のものにとることにより、
表全体の占める面積、および、表の周長のいずれも最小
とすることができる。これらの項目は、いずれも表の紙
面上におけるコンパクトさをはかる尺度である。J−S
tar、LaTex等の従来技術においては、表レイア
ウトのコンパクトさを表レイアウト品質の評価尺度とし
て用いられている。
【0010】一方、表レイアウトを可能な限りコンパク
トに保ちつつ、列幅および行高とテキストの行折の全て
を自動的に決定することは、上述の列幅があらかじめ決
定されている場合のように簡単ではない。図2は、種々
の形状の表の説明図である。例えば、図2に示した表
は、4つの項目欄を持つ単純なものである。d1,d2
はそれぞれ第1列、第2列の幅(水平インターバル)を
表わすものとし、d1+d2=dという制約のもとで自
由な値を取り得るとする。ここで、dはページの幅等か
ら定まる定数とする。左上と右下の項目欄には比較的長
いテキストを、左下と右上の項目欄には短いテキストを
割り付ける。
【0011】いま、d1=d2=d/2としよう。する
と、図2(A)に示すような表が得られる。第1行につ
いて考えると、左の項目欄に割り付けられるテキストは
右のそれに比べて長いので、より多くの行に折り返され
ることがわかる。したがって、第1行の高さは左上のテ
キストの行数によって決定されることになる。ここで、
第1行の高さを小さくして、第1行をよりコンパクトに
するには、第1列の幅d1を大きくして左上のテキスト
の行折数を小さくしなければならない。一方、第2行に
ついて考えると、左の項目欄よりも右の項目欄に長いテ
キストが割り付けられている。そのため、行高を減らす
には逆に第1列の幅d1を減らさなければならない。
【0012】このように、表のコンパクト性を向上させ
るために、第1列の幅d1を増やすべきか、減らすべき
かを簡単に決定することはできない。すなわち、水平イ
ンターバルの増減は、各行におけるレイアウトのコンパ
クトさに矛盾した効果を及ぼす場合があるからである。
【0013】これらの互いに矛盾した効果に折り合いを
つけて、最適な水平インターバル、すなわち、表を最も
コンパクトに表現する水平インターバルを決定しなけれ
ばならないところに困難さがある。J−Star、La
TeX、Interleaf5のいずれも、図2に示す
ような例において、自動的に最良の表レイアウトを生成
することはできない。この困難さは、多くの項目欄を持
つ表や、田字形ではない複雑な形態の表、すなわち、複
数の列や行にまたがる項目欄が存在する表等を割り付け
ようとすると、著しく顕著になる。
【0014】従来の文書処理システムにおいてインター
バルの決定とテキストの行折がどのように扱われている
かを、J−Star、Interleaf5、LaTe
Xを例にとって具体的に説明する。
【0015】J−Starでは、行折および行高(垂直
インターバル)の決定は、システムによって自動的にサ
ポートされる。しかし、列幅(水平インターバル)の変
更は、ユーザ自ら行なわなければならない。J−Sta
rで表を作成する際、表の列(垂直方向の項目欄の並
び)を指定してプロパティシートを開くことができる。
プロパティシートとは、文書要素を指定してその性質を
指定し、確認するためのウィンドウであり、J−Sta
rではユーザがプロパティシートを開いて種々の属性を
指定することによって文書の特性を決定する。列のプロ
パティシートには、列の幅を指定するために「幅」と名
付けられたフィールドがある。ユーザは、「幅」フィー
ルドに値を設定することにより、列の幅を定める。ユー
ザが「幅」フィールドに値を設定しない場合は、システ
ムが自動的にデフォルト値を設定する。このように、J
−Starにおける表の水平インターバルは、ユーザに
よって指定されるか、あるいは、デフォルトの値(定
数)がシステムによって指定されるかのいずれかであ
り、項目欄に流し込まれるテキストの量に応じて自動的
に変動することはない。
【0016】表の項目欄にテキストが入力されると、テ
キストは指定された項目欄の幅(列の幅の和)を越えな
いように自動的に折り返される。このとき、行の高さは
折り返されたテキストを表示するのに必要な大きさだけ
増やされる。テキストが過剰に折り返されたり、逆に、
必要な行折りが行なわれず表の見栄えを損なう場合に
は、ユーザが再びプロパティシートを開いて列の幅を指
定し直さなければならない。
【0017】Interleaf5も、行折および行高
(垂直インターバル)の決定はシステムによって自動的
にサポートされるが、列幅(水平インターバル)の変更
はユーザ自ら行なわなければならない点で、J−Sta
rと同様である。Interleaf5でも、表を作成
する際、表の列(垂直方向の項目欄の並び)を指定して
プロパティシートを開くことができる。ユーザはプロパ
ティシート上で列の幅を「固定幅」か「均等幅」のいず
れかに指定することができる。固定幅が指定された場
合、併せて列の幅を具体的な値で指定する。ユーザが変
更を加えない場合は、システムが計算したデフォルトの
値が適用される。均等幅が指定された場合、併せて「ユ
ニット数」を指定する。ユニット数は均等幅が指定され
た列の幅の比率を決定するものである。
【0018】少なくとも、1つの列に均等幅が指定され
た場合、システムはまずページマージンと表マージンか
ら表全体が取り得る最大幅を計算する。次いで、この最
大幅から固定幅が指定された列の幅の総和を引いて、均
等幅の列に割り当てられる最大幅を計算する。最後に、
計算された最大幅を、それぞれ指定されたユニット数に
比例するように各列に配分することによって実際の列の
幅が計算される。
【0019】このように、「固定幅」に指定されていよ
うと、「均等幅」に指定されていようと、列の幅はあら
かじめ設定されていて、項目欄に流し込まれるテキスト
の量に応じて自動的に変動することがない点では、J−
Starと全く同様である。
【0020】LaTeXのプログラムは、列幅(水平イ
ンターバル)をテキストの長さに応じて自動的に決定す
る。しかし、そのときには、各項目欄中のテキストはす
べて一行に割り付けられる。一方、テキストの自動行折
を行なわせるためには、ユーザが水平インターバルを明
示的に指定する必要がある。図3は、LaTeXにより
水平インターバルを指定しないで作成した表の一例の説
明図である。図3(A)に示す表は、図3(B)に示す
記述により作成される。
【0021】表の列に関する情報は、begin{ta
bular}に続く中括弧の中に記述される。この例で
は、中括弧の中に|l|l|と指定されている。制御文
字‘|’は、罫線を引くことを指示しており、第1列の
左端、第1列と第2列の境界、第2列の右端にそれぞれ
垂直な罫線が引かれることが示されている。また、制御
文字‘l’は、各列の項目欄に流し込まれるテキストを
左詰めに割り付けることを示している。表の列に関する
情報としては、この2種類の情報のみが記述されてい
る。このように、列幅(水平インターバル)が指定され
ない場合、列中に流し込まれるテキストは折り返され
ず、必ず1行に割り付けられる。すなわち、LaTeX
のプログラムは、列中に流し込まれるテキストの長さの
最大値を求め、その最大値にマージンを加算した値をそ
の列の幅とする。図3の例では、図3(A)に示すよう
に、第2列の幅が右下のテキストを1行に割り付けるに
は不十分であるにもかかわらず、テキストが複数の行に
行折することが許されていないため、テキストの一部し
か表示されていない。
【0022】図4は、LaTeXにより水平インターバ
ルの大きさを指定して作成した表の一例の説明図であ
る。図4(B)に示すbegin{tabular}に
続く中括弧内の記述|p{1in}|p{1in}|に
よって、各列の幅が約25.4mm(=1インチ)に指
定される。その結果、図4(A)に示すように、左上の
テキストが自動的に3行に、右下のテキストが7行に折
り返される。また、システムは、折り返されたテキスト
を表示するために必要な最小の行高を計算し、垂直イン
ターバルとする。
【0023】表のレイアウトについて、広範に認められ
るユーザの要求として、「列の幅や行の高さが一定の束
縛条件を満たす表レイアウト」がある。これは、単に列
の幅や行の高さが、表のレイアウト品質を決定する因子
であるという理由以上に、表が訴えようとしている意味
の相当部分が、表中の行および列のバランスといった視
覚的効果によって伝達されることに起因する。図5は、
ユーザにより要求される表の一例の説明図である。図5
に示す表において、第2列以下が等しい幅で、しかも項
目に割り当てられるテキストの長さ以上の幅でレイアウ
トされている。これは、単に表の見栄え以上の意味があ
る。つまり、「Excellent」,「Good」,
「Average」,「Damned」の見出しの付け
られた列が同じ評価軸に基づく評価の値であることを、
対応する列の幅が互いに等しいことによって表現してい
るのである。
【0024】これらのユーザからの要求をJ−Star
やLaTeXで実現するためには、行高や列幅の具体的
な値を、ユーザ要求に由来する束縛条件を満たすように
ユーザ自らが指定しなければならない。図5に示した例
では、第2列以下の個々の列幅をユーザ自身が同じ値に
指定しなくてはならないことになる。しかも、指定する
値は、列中のテキストが溢れたり、テキストの量に比し
て幅が広すぎたりしないようにユーザが適切に選ぶ必要
があり、また、列の幅を変更する場合には第2列以下の
全ての列に対して変更を加えなければならない。
【0025】Interleaf5では、部分的にこれ
らのユーザ要求を満たすことができる。図5に示した例
では、2列以下が同じ幅であることを明示的に指定する
ことができる。しかし、列の幅がテキストに対して適切
となるように、表マージンをユーザが指定してやる必要
がある。より複雑な束縛条件を満足するためには、J−
StarやLaTeXの場合と同様に、ユーザが直接列
幅を指定する必要がある。
【0026】表のレイアウトに関する多くのユーザの要
求が、列幅や行高に関する一次方程式、一次不等式の形
で表されることが知られている。X1 ,X2 ,・・・,
nをn列からなる表の各列の幅を表わしているものと
して、レイアウトの条件に関していくつかの例を示す。 (1)表の全幅はちょうどwでなければならない: X1 +X2 +・・・+Xn =w (2)表の全幅はw1 からw2 の間になければならな
い: w1 ≦X1 +X2 +・・・+Xn ≦w2 (3)第2列から第n−1列までは同じ列幅でなくては
ならない。: X2 =X3 =・・・=Xn-1 (4)第1列は第2列以下の列幅の2倍から3倍の間に
なければならない。: 2*X2 ≦X1 ≦3*X2 2*X3 ≦X1 ≦3*X3 ・・・ 2*Xn ≦X1 ≦3*Xn これらの例のうち、(1)に示した例は、例えば、In
terleaf5の表マージンによって指定可能な例で
ある。また、(3)に示した例も、Interleaf
5の均等幅によって指定可能である。しかし、他の例に
ついては、従来のシステムでは、それぞれの条件を満た
すように、ユーザが列幅の具体的な数値を設定する必要
がある。
【0027】このようなユーザの要求を示す一次式を満
たす最適な解を見つけることにより、最適なレイアウト
の表を作成することが可能である。複数の一次式を満た
す最適解を得る方法として、線形計画法がある。本発明
では、上記の問題を解決するために、線形計画法を用い
ている。
【0028】表の割り付け処理に線形計画法を適用した
例としては、Beach著,「Sitting Tab
les and Illustrations wit
hStyle」,phD thesis,Univer
sity of Waterloo,Waterlo
o,Ontario,Canada,1985に記載さ
れているものがある。この論文の中で、テキストがそれ
ぞれの項目欄中で左揃え(flush left),中
央揃え(centering),右揃え(flush
right)である条件、および、複数のテキストの揃
え点(reference point)が揃え線(a
lignment line)上に来るように配置され
る条件(reference line alignm
ent)が一次方程式、一次不等式で表されることを示
し、その結果として、表の割り付け処理が線形計画法を
用いて実現可能であることを示している。
【0029】しかし、テキストの自動行折りについて
は、上述の論文には実効的な考察が行なわれていない。
論文中で述べられているアルゴリズムは、各テキストが
折り返されない場合にのみ有効である。より正確にいえ
ば、テキストが占める矩形領域である割り付けボックス
の大きさが、割り付け処理の前に確定している場合に限
り、有効である。
【0030】上述の論文に記載された処理の目的は、表
中のテキストを揃え、指定にしたがって配置する、特
に、複数のテキストを揃え線を基準に配置することを可
能とする表割り付け処理が実現可能であることを示すと
いう、欧米諸国の表においては本質的な要求を解決する
ことである。そのため、テキストの自動行折を勘案した
表のレイアウトについては、なんら解決法を提供してい
ない。
【0031】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、表の水平・垂直罫線間の間
隔(行高・列幅)の自動決定と、項目欄中のテキストの
自動行折を両立させた上で、最良のレイアウト基準を満
たす表レイアウトを生成する、すなわち、表中の各項目
欄に割り付けられるテキストの量に応じて適切なテキス
トの行折と適切な行高・列幅を自動的に計算して、表全
体として、あらかじめ与えられたレイアウト評価基準を
最良にする表レイアウトを生成することのできる表割り
付け装置を提供することを目的とするものである。
【0032】
【課題を解決するための手段】本発明は、請求項1に記
載の発明においては、表割り付け装置において、表中に
現れるテキストを保持するテキスト保持手段と、パラメ
ータを用い表の列幅または行高を表現する一次式を保持
する連結子保持手段と、表項目欄中に配置される前記各
テキストを割り付けた際に行折状態が一定になる矩形の
高さまたは幅の区間ごとに該矩形の高さまたは幅が一定
となるために前記パラメータの満たすべき条件の組であ
る区間束縛条件を保持する区間束縛条件保持手段と、レ
イアウトの良さを表わし前記区間束縛条件保持手段に保
持された区間束縛条件ごとに前記パラメータを用いた一
次式で表現されるレイアウト評価式を計算するレイアウ
ト評価式計算手段と、前記区間束縛条件保持手段に保持
された区間束縛条件を制約条件とし各区間束縛条件に対
応するレイアウト評価式を目的関数とする線形計画問題
を解き最良のレイアウト評価値とそれに対応するパラメ
ータの組または問題解決不能を知らせる信号を出力する
線形計画問題解決エンジン手段と、前記線形計画問題解
決エンジン手段の出力結果をもとに全ての線形計画問題
の中で最良のレイアウト評価値とそれに対応するパラメ
ータの組から表レイアウトを決定する処理を少なくとも
行なう線形計画問題管理手段を有することを特徴とする
ものである。
【0033】請求項2に記載の発明においては、請求項
1に記載の発明において、さらに、テキストの行折に依
存せず前記パラメータ間に成立すべき共通束縛条件を表
わす一次式を保持する共通束縛条件保持手段を有し、前
記線形計画問題解決エンジン手段は、前記区間束縛条件
保持手段に保持された区間束縛条件と前記共通束縛条件
保持手段に保持された共通束縛条件を制約条件とする線
形計画問題を解くように構成することができる。
【0034】請求項3に記載の発明においては、請求項
1または2に記載の表割り付け装置において、前記テキ
スト保持手段に保持されるテキストを前記連結子保持手
段に保持されている一次式の斉次部分に基づいてテキス
トクラスに分類して保持するテキスト分類手段を有し、
前記区間束縛条件保持手段は、前記テキストクラスごと
に前記区間束縛条件を計算し保持するように構成するこ
とができる。
【0035】請求項4に記載の発明では、請求項1ない
し3のいずれか1項に記載の表割り付け装置において、
前記線形計画問題解決エンジン手段は、前記線形計画問
題ごとに単体表を計算するとともに、該線形計画問題解
決エンジン手段で計算される単体表の中で複数の線形計
画問題間で共有可能な部分である主要部を保持する単体
表主要部保持手段を有し、前記線形計画問題エンジン手
段が線形計画問題を解決する際に、先の線形計画問題の
解決時に計算され、前記単体表主要部保持手段に保持さ
れた単体表の主要部を使用して計算するように構成する
ことができる。
【0036】請求項5に記載の発明では、請求項1ない
し4のいずれか1項に記載の表割り付け装置において、
前記線形計画問題解決エンジン手段は、実行可能基底と
基底解を計算するごとに計算された実行可能基底を挟ん
で隣接する線形計画問題の実行可能基底と基底解を計算
する隣接問題基底解計算手段と、該隣接問題基底解計算
手段により計算された実行可能基底と基底解を保持する
線形計画問題基底解保持手段を有し、線形計画問題を解
く際に、前記線形計画問題基底解保持手段に保持されて
いる実行可能基底および基底解が存在したとき、該実行
可能基底および基底解を用いて計算を開始するように構
成することができる。
【0037】請求項6に記載の発明では、請求項1ない
し5のいずれか1項に記載の表割り付け装置において、
前記線形計画問題それぞれに対しその実行可能性が少な
くとも「可能」または「不可能」または「未知」を示す
ステータスを保持する線形計画問題ステータス保持手段
と、前記線形計画問題解決エンジン手段が各線形計画問
題の実行可能性を判定するごとに前記線形計画問題ステ
ータス保持手段が保持するステータスを複数の線形計画
問題に関して更新する線形計画問題ステータス計算手段
を有し、少なくとも「不可能」のステータスを有する線
形計画問題は処理しないように構成することができる。
【0038】請求項7に記載の発明では、請求項5に記
載の表割り付け装置において、前記線形計画問題それぞ
れに対しその実行可能性が少なくとも「解決済み」、
「基底解保持済み」、「実行可能」、「不可能」、また
は、「未知」を示すステータスを保持する線形計画問題
ステータス保持手段と、前記線形計画問題解決エンジン
手段が各線形計画問題の実行可能性を判定するごとに前
記線形計画問題ステータス保持手段が保持するステータ
スを複数の線形計画問題に関して更新する線形計画問題
ステータス計算手段を有し、少なくとも「不可能」のス
テータスを有する線形計画問題は処理せず、「基底解保
持済み」のステータスを有する線形計画問題は前記線形
計画問題基底解保持手段に保持されている対応する実行
可能基底および基底解を用いて線形計画問題を解くよう
に構成することができる。
【0039】請求項8に記載の発明では、請求項6また
は7に記載の表割り付け装置において、前記線形計画問
題ステータス保持手段に保持されたステータスは優先順
位を持っており、前記線形計画問題管理手段は、該ステ
ータスの優先順位に基づいて線形計画問題を解く順序を
決定する線形計画問題選択手段を設けることができる。
【0040】請求項9に記載の発明では、請求項1ない
し8のいずれか1項に記載の表割り付け装置において、
前記レイアウト評価式計算手段で計算されるレイアウト
評価式を、表中の項目欄にテキストが割り付けられた後
の空隙領域の面積の総和に基づいた式とすることができ
る。
【0041】請求項10に記載の発明では、請求項1な
いし9のいずれか1項に記載の表割り付け装置におい
て、前記区間束縛条件保持手段は、前記テキスト保持手
段に保持されているテキストを解析して単位テキストに
分解しさらに前記各単位テキストを割り付けるために最
低限必要な最小矩形領域の幅と高さをそれぞれ計算する
テキスト解析手段と、該テキスト解析手段で計算された
前記各最小矩形領域の幅と高さを保持する単位テキスト
特性保持手段と、前記テキスト中で仮に行折を行なう箇
所の列である仮行折候補点列を保持する仮行折候補点列
保持手段と、前記単位テキスト特性保持手段に保持され
ている前記各最小矩形領域の幅と高さを基に前記仮行折
候補点列を初期化する仮行折候補点列初期化手段と、前
記単位テキスト特性保持手段に保持されている前記各最
小矩形領域の幅と高さに基づき前記仮行折候補点列を順
次更新して新たな仮行折候補点列を生成し前記仮行折候
補点列保持手段に保持させる仮行折候補点列更新手段
と、前記仮行折候補点列保持手段に順次保持される前記
仮行折候補点列に基づいて前記テキストを割り付ける際
の矩形領域の寸法を計算する矩形領域寸法計算手段と、
前記仮行折候補点列の矩形領域の寸法が矩形領域の高さ
もしくは幅の不連続点を与えているか否かを判定する矩
形領域寸法境界値判定手段と、該矩形領域寸法境界値判
定手段によって矩形領域の高さもしくは幅の不連続点を
与えていると判定された矩形領域寸法を保持する矩形領
域寸法境界値保持手段を有することを特徴とするもので
ある。
【0042】請求項11に記載の発明では、表割り付け
方法において、パラメータを用い表の列幅または行高を
表現する一次式、および、表項目欄中に配置される前記
各テキストを割り付けた際に行折状態が一定になる矩形
の高さまたは幅の区間ごとに該矩形の高さまたは幅が一
定となるために前記パラメータの満たすべき条件の組で
ある区間束縛条件が設定され、レイアウトの良さを表わ
し前記区間束縛条件ごとに前記パラメータを用いた一次
式で表現されるレイアウト評価式を計算し、前記区間束
縛条件を制約条件とし各区間束縛条件に対応する前記レ
イアウト評価式を目的関数とする線形計画問題を解いて
最良のレイアウト評価値とそれに対応するパラメータの
組または問題解決不能の結果を得て、最良のレイアウト
評価値とそれに対応するパラメータの組が得られた場合
には、得られた結果をもとに全ての線形計画問題の中で
最良のレイアウト評価値とそれに対応するパラメータの
組を検索し、最良のレイアウト評価値とそれに対応する
パラメータの組に基づき表レイアウトを決定することに
より、表の行高、列幅および表中に現れるテキストの行
折を自動的に決定することを特徴とするものである。
【0043】
【作用】本発明によれば、請求項1または11に記載の
発明において、連結子保持手段に保持されているパラメ
ータを用いた表の列幅または行高を表現する一次式、お
よび、区間束縛条件保持手段に保持されている表項目欄
中に配置される前記各テキストを割り付けた際に行折状
態が一定になる矩形の高さまたは幅の区間ごとに該矩形
の高さまたは幅が一定となるために前記パラメータの満
たすべき条件の組である区間束縛条件を設定しておく。
レイアウト評価式計算手段では、レイアウトの良さを表
わし前記パラメータを用いた一次式で表現されるレイア
ウト評価式を区間束縛条件ごとに計算する。そして、最
適な表レイアウトを得るという問題を、区間束縛条件を
制約条件とし、各区間束縛条件に対応するレイアウト評
価式を目的関数とする小問題に分割し、線形計画問題解
決エンジン手段で線形計画法により解いて、小問題ごと
の最良のレイアウト評価値とそれに対応するパラメータ
の組、または、問題解決不能の結果を得る。線形計画問
題管理手段では、線形計画問題解決エンジン手段からの
結果に基づき、最良のレイアウト評価値とそれに対応す
るパラメータの組が得られた場合には、得られた結果を
もとに全ての線形計画問題の中で最良のレイアウト評価
値とそれに対応するパラメータの組を検索し、最良のレ
イアウト評価値とそれに対応するパラメータの組に基づ
き表レイアウトを決定する。これにより、表中の項目欄
に現われるテキストに応じて、表の行高、列幅および表
中に現れるテキストの行折等を自動的に決定することが
できる。また、最良のレイアウト評価値を有する表のレ
イアウトを選択することにより、コンパクトで見やすい
表を自動生成することができる。ユーザは、レイアウト
に特別な注文さえなければ、表の割り付けを完全に自動
的に行なうことができる。
【0044】上述のような本発明の構成によって、従来
の技術のように、ユーザが列幅を明示的に指定する必要
がないので、文書処理の自動化を促進することが可能と
なる。すなわち、上述したJ−Star、LaTeX、
Interleaf5のように、ユーザ自身が、行折に
よる見栄えや、列幅に関する束縛条件を考慮して、自ら
列幅をあらかじめ決定した上で、各列幅の値を個々に設
定したり、表マージンと均等幅の指定を行なう方法とは
異なり、本発明では、即座に、本発明の表割り付け装置
を起動し、あるいは、表割り付け方法に従った処理を行
なうことにより、指定された束縛条件を満足するだけで
なく、テキストを必要に応じて自動的に折り返した上
で、指定されたレイアウト評価基準を最適にするような
列幅・行高を自動的に計算し、表のレイアウトを生成す
ることができる。
【0045】請求項2に記載の発明によれば、さらに、
テキストの行折に依存せず前記パラメータ間に成立すべ
き共通束縛条件を表わす一次式を保持する共通束縛条件
保持手段を有しており、もし、列幅あるいは行高に関す
る束縛条件が存在する場合には、束縛条件そのものをユ
ーザが明示的に指定するだけで、細かな条件設定を可能
としている。線形計画問題解決エンジン手段では、区間
束縛条件保持手段に保持された区間束縛条件とともに、
共通束縛条件保持手段に保持された共通束縛条件を制約
条件として線形計画問題を解くことにより、共通束縛条
件をも満たす最適なレイアウトの表を得ることができ
る。
【0046】請求項3に記載の発明では、テキスト保持
手段に保持されるテキストを連結子保持手段に保持され
ている一次式の斉次部分に基づいてテキストクラスに分
類して保持するテキスト分類手段を有している。そし
て、テキスト分類手段によって分類したテキストクラス
ごとに、付随する区間束縛条件を割り当て、区間束縛条
件保持手段に保持する。したがって、全てのテキストク
ラスにおける区間束縛条件が、線形計画問題解決エンジ
ン手段を用いて管理手段によって解決されなければなら
ない線形計画問題の総数となる。これにより、各テキス
トごとの区間束縛条件を解決するための線形計画問題の
総数に比べ、解決しなければならない線形計画問題の総
数を減少させることが可能となり、結果として処理の効
率を向上させることができる。
【0047】請求項4に記載の発明によれば、線形計画
問題解決エンジン手段は、線形計画問題ごとに単体表を
計算する。単体表主要部保持手段には、線形計画問題解
決エンジン手段で計算される単体表の中で、複数の線形
計画問題間で共有可能な部分である主要部が保持され
る。線形計画問題エンジン手段が線形計画問題を解決す
る際には、先の線形計画問題の解決時に計算され、単体
表主要部保持手段に保持された単体表の主要部を使用し
て計算することにより、再計算の手間を省き、処理の効
率を向上させることが可能となる。
【0048】請求項5に記載の発明によれば、隣接問題
基底解計算手段は、実行可能基底と基底解を計算するご
とに計算された実行可能基底を挟んで隣接する線形計画
問題の実行可能基底と基底解を計算する。隣接問題基底
解計算手段により計算された実行可能基底と基底解は、
線形計画問題基底解保持手段に保持される。線形計画問
題解決エンジン手段が線形計画問題を解く際に、線形計
画問題基底解保持手段に保持されている実行可能基底お
よび基底解が存在したとき、その実行可能基底および基
底解を用いてただちに計算を開始することにより、該線
形計画問題の実行可能性を判定し、実行可能基底および
基底解を計算する手間を省き、処理の効率を向上させる
ことができる。
【0049】請求項6に記載の発明によれば、線形計画
問題ステータス保持手段は、線形計画問題それぞれに対
しその実行可能性が少なくとも「可能」または「不可
能」または「未知」を示すステータスを保持する。ま
た、線形計画問題ステータス計算手段が、線形計画問題
解決エンジン手段が各線形計画問題の実行可能性を判定
するごとに、線形計画問題ステータス保持手段が保持す
るステータスを複数の線形計画問題にわたって更新す
る。一つの線形計画問題の実行可能性あるいは不可能性
の判定から、他の一つないし複数の線形計画問題の実行
可能性あるいは実行不可能性が計算できることがある。
前記線形計画問題ステータス計算手段は、この性質を利
用する。この線形計画問題ステータス保持手段に保持さ
れているステータスを参照し、少なくとも「不可能」の
ステータスを有する線形計画問題を除外して処理を進め
ることにより、処理の効率を向上させることができる。
【0050】請求項7に記載の発明では、「可能」のス
テータスをさらに細分し、例えば、「解決済み」、「基
底解保持済み」、「実行可能」、「不可能」、または、
「未知」を示すステータスを線形計画問題ステータス保
持手段に保持する。請求項6に記載の発明と同様、「不
可能」のステータスを有する線形計画問題を除外して処
理を進めることにより、処理の効率を向上させることが
できるとともに、請求項5に記載の発明における計画問
題基底解保持手段に実行可能基底と基底解が保持された
状態など、種々の状態を示すことが可能となり、例え
ば、ステータスが「基底解保持済み」の場合には計画問
題基底解保持手段から計算済みの実行可能基底と基底解
を得ることにより、計算済みの部分の再計算を省略する
ことができ、処理の効率を向上させることができる。
【0051】請求項8に記載の発明によれば、線形計画
問題ステータス保持手段に保持されたステータスは優先
順位をつけることにより、例えば、「基底解保持済み」
のステータスを有する線形計画問題から解決することに
より、計算済みの実行可能基底および基底解を増やして
他の線形計画問題に用いることが可能となるなど、ステ
ータスに応じて、線形計画問題解決エンジン手段で解決
する線形計画問題を計画的に選択することができ、処理
効率を向上させることができる。
【0052】請求項9に記載の発明によれば、レイアウ
ト評価式計算手段で計算されるレイアウト評価式を、表
中の項目欄にテキストが割り付けられた後の空隙領域の
面積の総和に基づいた式とすることにより、空隙領域が
最良の表のレイアウトを得ることが可能となる。このほ
か、表の面積や、表の周長などが最良の表のレイアウト
を得るように構成することも可能である。
【0053】請求項10に記載の発明によれば、区間束
縛条件保持手段に設定される区間束縛条件を、次のよう
にして算出する。すなわち、テキスト解析手段におい
て、テキスト保持手段に保持されているテキストを解析
して、例えばワードのような単位テキストに分解し、分
解した各単位テキストを割り付けるために最低限必要な
最小矩形領域の幅と高さをそれぞれ計算し、単位テキス
ト特性保持手段に保持する。仮行折候補点列初期化手段
は、単位テキスト特性保持手段に保持されている各最小
矩形領域の幅と高さを基に仮行折候補点列を初期化し、
仮行折候補点列保持手段に保持させる。仮行折候補点列
更新手段は、矩形領域寸法計算手段および矩形領域寸法
境界値判定手段の処理が行なわれるごとに、単位テキス
ト特性保持手段に保持されている各最小矩形領域の幅と
高さに基づき、仮行折候補点列を更新して新たな仮行折
候補点列を生成し、仮行折候補点列保持手段に保持させ
る。矩形領域寸法計算手段は、仮行折候補点列初期化手
段または仮行折候補点列更新手段により生成され仮行折
候補点列保持手段に保持されている仮行折候補点列に基
づき、テキストを割り付ける際の矩形領域の寸法を計算
する。そして、矩形領域寸法境界値判定手段において、
仮行折候補点列の矩形領域の寸法が矩形領域の高さもし
くは幅について不連続点を与えているか否かを判定し、
不連続点の場合には矩形領域寸法を矩形領域寸法境界値
保持手段に保持する。
【0054】ある終了条件となるまで、仮行折候補点列
更新手段と、矩形領域寸法計算手段および矩形領域寸法
境界値判定手段の処理が行なわれることにより、矩形領
域寸法境界値保持手段には区間束縛条件が設定される。
設定された区間束縛条件は、テキスト解析手段によって
分解した単位テキストを単位とした条件である。そのた
め、例えば欧文のように単語単位でしか分割できない場
合や、禁則処理を行なう場合、あるいは、大きさの違う
文字を含む場合などでも、良好な行折りが行なえるよう
な区間束縛条件を生成することができる。
【0055】
【実施例】以下、本発明について詳細に説明するが、ま
ず、説明に用いる用語について解説する。図6は、表の
一例の説明図である。図6では、5行8列の簡単な表を
示している。
【0056】グリッドとは、水平および垂直な線分によ
って合同な小正方形に分割された矩形である。すなわ
ち、図6に示す表全体がグリッドである。グリッドは割
り付ける前の表の枠を仮想的に表現するものであり、グ
リッドを分割する各線分は表罫線を表現する。また、グ
リッド上に水平に並ぶ小正方形の個数の最大をグリッド
の幅と呼び、Wで表す。同様に、グリッド上に垂直に並
ぶ小正方形の個数の最大をグリッドの高さと呼び、Hで
表す。図6の例ではW=8,H=5である。また、セル
とは、分割された小正方形の集合を示す。
【0057】グリッド上でi番目とi+1番目の垂直罫
線、および1番目とH+1番目の水平罫線によって囲ま
れた縦長の矩形領域をグリッドの第i列と呼ぶ。また、
グリッド上でj番目とj+1番目の水平罫線、および1
番目とW+1番目の垂直罫線によって囲まれた横長の矩
形領域を、グリッドの第j行と呼ぶ。図6では、それぞ
れハッチングを施して示している。
【0058】表枠を割り付けた際の、垂直罫線間の距離
を水平インターバルと呼び、水平罫線間の距離を垂直イ
ンターバルと呼ぶ。特に、隣合った罫線間の距離を、そ
れぞれ、基本水平インターバル、基本垂直インターバル
と呼ぶ。表割り付け処理は、全ての基本水平インターバ
ルおよび基本垂直インターバルを計算し、表枠の大きさ
を決定する。基本水平インターバルは、左から順に、J
1 ,・・・,JW と表わされる。一方、基本垂直インタ
ーバルは上から順に、I1 ,・・・,IH と表わされ
る。
【0059】テキストとは、表の項目欄中に現れる項目
内容を保持する単位である。以下の説明では、テキスト
とは次の意味で用いられる。 ・テキストは、グリッド上で小正方形からなる矩形領域
(セル)を占める。1つのセルが複数の小正方形を含ん
でいても良い。 ・テキストは項目内容である文字列を保持する。
【0060】表割り付け処理は、必要なインターバルを
計算し、表枠を生成した後、各テキストがグリッド上に
占めるセルの位置をもとに表枠内の項目欄を選び、テキ
ストが保持する項目内容をその項目欄内に割り付ける。
以下の説明においては、簡単のため、各テキストの項目
内容は横書きに割り付けられるものとする。ただし、こ
の仮定は本質的なものではない。テキストが縦書きの場
合あるいは縦書きと横書きのテキストが混在する場合
に、本実施例における記載を拡張することはごく容易で
ある。
【0061】また、一つのテキスト中に含まれる文字の
フォントサイズは一定であるものとする。このような仮
定のもとでは、テキストを割り付ける矩形領域の高さが
変化することと、テキストの行折数が変化することとは
同値である。すなわち、行折数が増加したときに限っ
て、矩形領域の高さが増加する。テキスト中に異なるフ
ォントサイズの文字が含まれた場合には、矩形領域の高
さとテキストの行折数の間に、前記のような厳密な関係
は成り立たない。行折数が変化しても矩形領域の高さは
不変であることや、行折数が増加したにもかかわらず、
矩形領域の高さが減少することもあり得る。しかし、こ
の仮定も本質的なものではない。表中に異なるフォント
サイズの文字を含むテキストが存在する場合に、本実施
例における記載を拡張することは容易である。
【0062】表割り付け処理は、インターバルを計算す
る際、割り付け結果として得られる表レイアウトの品質
を計る尺度として、レイアウト評価式を計算する。レイ
アウト評価式には、表の面積,表の周長,空隙領域の面
積等が用いられる。以下の説明においては、簡単のた
め、レイアウト評価式は、その値が小さければ小さいほ
どよいレイアウト品質を表わしているものとする。
【0063】前記仮定のもとで、本発明は、次の2つの
性質に基づいている。 ・テキストの行折り状態が変化する度に、すなわちテキ
ストの1つの折り数が増減する度に、表の面積・表の周
長・空隙領域の面積等、表のレイアウトを評価するため
の値は不連続に変動する。 ・しかし、テキストの行折り状態が一定であるうちは、
表の面積・表の周長・空隙領域の面積等の値は、行高ま
たは列幅の一次式によって表現することができる。
【0064】例えば、表の各列に適当な幅が割り当てら
れているものとすると、この列の幅を大きく変更したと
き、項目欄中のテキストの行折り数が増減してしまう可
能性がある。しかし、変更の幅が十分小さい範囲にとど
まっていれば、全てのテキストの行折数は不変なまま保
たれる。表中の行の高さは、テキストの行折数によって
定まるので、テキストの行折数が不変な間は、各行の高
さも不変である。したがって、例えば、表の面積は、定
数である表の全高と、列幅の総和の積であるので、列幅
に関する一次関数となる。しかし、列幅の変化によりテ
キストの行折数が変わる場合を考えると、行折数がちょ
うど変化するような列幅の値において、表の面積は不連
続に変化する。従って、表の面積は列幅に関して連続関
数ですらない。
【0065】本発明では、このような性質に基づき、表
中の列幅(または行高)をそれぞれ一次式で表現するよ
うな1つ以上のパラメータを用い、テキストの行折状態
が一定である区間(折り返される行の数が一定である区
間)においてはパラメータの一次式で表現されるレイア
ウト評価基準に関して、「レイアウト評価基準の最良値
(最大値または最小値)を求める」という問題を複数の
小問題に分類して、それぞれの小問題においてはテキス
トの行折状態が一定に保たれるようにする。そして、各
小問題に対して線形計画法を適用し、局所的に最良のレ
イアウト値、および対応するパラメータの値を計算し、
局所最適解を得る。全ての小問題の局所最適解を走査し
て、全体として最良のレイアウト評価値を与えるパラメ
ータを求めて、最良の表レイアウトを生成する。
【0066】図1は、本発明の表割り付け装置の第1の
実施例を示す構成図である。図中、1はテキスト保持手
段、2は連結子保持手段、3は共通束縛条件保持手段、
4は区間束縛条件保持手段、5は行折特性列計算手段、
6は行折特性列保持手段、7は線形計画問題管理手段、
8は局所解保持手段、9は最適解探索手段、10はレイ
アウト評価式計算手段、11は基本垂直インターバル計
算手段、12は線形計画問題解決エンジン手段である。
【0067】表のレイアウトに必要な初期情報は、テキ
スト保持手段1、連結子保持手段2、共通束縛条件保持
手段3に保持される。これらの情報は、ネットワーク、
フロッピー、キーボードなど、種々の手段を介して装置
に読み込まれる。
【0068】テキスト保持手段1は、表中に現れるテキ
ストを保持する。すなわち、表の項目内容である文字列
(フォントサイズ、フォントフェースなどの修飾属性を
含む)と、文字列が割り付けられるべき項目欄に相当す
るセルの位置情報の組を、表の項目欄の数だけ保持す
る。
【0069】セルの位置情報は、次の2つのベクトルで
表される。テキストTがグリッド上に占めるセルが、グ
リッドの第a列から第b列までと共通部分を持つものと
するとき、テキストTの水平特性ベクトルとは、W次行
ベクトル(W個の数字の横並び)で、a番目からb番目
の要素が1で、残りの要素が0であるものをいう。テキ
ストTの水平特性ベクトルをhT と表わす。同様に、テ
キストTがグリッド上に占めるセルが、グリッドの第c
行から第d行までと共通部分を持つものとするとき、テ
キストTの垂直特性ベクトルとは、H次列ベクトル(H
個の数字の縦並び)で、c番目からd番目の要素が1
で、残りの要素が0であるものをいう。テキストTの垂
直特性ベクトルをvT と表わす。例えば、図6に示した
例において、2〜3列までと3〜4行までを1つのセル
とすると、水平特性ベクトルhT =(0,1,1,0,
0,0,0,0)、垂直特性ベクトルvT t(0,
0,1,1,0)である。
【0070】連結子保持手段2は、パラメータを用いた
一次式である連結子を保持する。表の割り付け状態を表
わすパラメータをx1 ,・・・,xm とする。パラメー
タのx1 ,・・・,xm に対して、基本水平インターバ
ルJ1 ,・・・,JW は、W行m列の行列C=
[ci,j ]を用いて、 Ji =ci,1 1 +・・・+ci,m m と表わされる。この行列Cを連結子と呼ぶ。連結子保持
手段2は、この連結子を保持する。ここで、各パラメー
タxi は、非負値をとるように予め変形されているもの
とする。x1 ,・・・,xm が負の値も取り得る時に
は、新しいパラメータui ≧0,vi ≧0を用いて、 xi =ui −vi と置き換え、さらに、u1 ,・・・,um ,v1 ,・・
・,vm をx1 ,・・・,x2mに、また、2mをmに置
きなおすことにより、x1 ≧0,・・・,xm ≧0とす
る方法が常套的に用いられる。
【0071】共通束縛条件保持手段3には、表レイアウ
トに関する束縛条件をパラメータを用いた一次不等式あ
るいは一次方程式のリストが保持される。
【0072】区間束縛条件保持手段4は、前処理とし
て、行折特性計算手段5で各テキストに関する行折特性
列を計算し、その計算結果を同手段中の行折特性列保持
手段6に記憶させる。
【0073】まず、行折特性列について説明する。テキ
ストをボックス内に割り付けることを考える。図7は、
ボックスの一例の説明図である。ボックスとはテキスト
の割り付けに必要な最小限の大きさを持つ矩形である。
ボックスの幅が十分大きいときには、例えば、図7
(A)に示すように、テキストは1行に割り付けられ、
ボックスの高さは1行分あれば十分である。ボックスの
幅が小さくなると、行折が発生し、図7(B)に示すよ
うにテキストは複数行にわたって割り付けられ、ボック
スの高さは折り返された行数分だけ必要となる。
【0074】いま、テキストTを固定して考える。ボッ
クスの幅wに対してテキストTを割り付けるために必要
な最低限のボックスの高さを返す関数を、テキストTに
関する行折関数と呼ぶ。図8は、行折関数の説明図であ
る。ボックスの幅が狭くなると、ある幅よりも狭くなっ
たときに行折が発生してボックスの高さが増える。そし
て、またある幅より狭くなるまで、行内の空隙の量によ
り調整されるため、一定のボックスの高さとなる。図8
に示すように、行折関数は、減少関数であり、階段関数
である。
【0075】さらに、テキストTの行折特性列
(sT,0 ,sT,1 ,・・・,sT,k(T))を次のように定
義する。 ・i<jならば、sT,i <sT,j また、テキストTの割り付けブロックの幅wが、特定の
i(i=0,1,・・・,kT −1)に対して区間[s
T,i ,sT,i+1 )を動くとき、行折関数の値は一定とな
る。この値を、hgT,i と表記する。 ・i<jならば、hgT,i >hgT,j すなわち、新たな行折りが生じるボックスの幅の限界値
からなる増加数列が、行折特性列である。また、hg
T,i を行折特性値sT,i に固有のボックス高と呼ぶ。な
お、上述の行折特性列の表記において、添字の添字が表
記できないため、添字kT はk(T)として示してい
る。kT と添字のk(T)は単に表記が違うだけであ
る。以下、添字の添字は同様に表記する。
【0076】行折特性列計算手段5は、本処理に先立っ
て、テキスト保持手段1に保持された情報を用いて、各
テキストに関する行折特性列と、行折特性列中の行折特
性値に固有なボックス高を計算し、行折特性列保持手段
6に記録する。
【0077】初期情報がセットされ、区間束縛条件保持
手段4において、行折特性列、ボックス高等の区間束縛
条件が計算されると、本処理に移行する。本処理、後処
理は、線形計画問題管理手段7により管理される。
【0078】線形計画問題管理手段7は、各テキストT
に対して、jT を0≦jT <kT を満たすように選ぶ。
選ばれたjT に基づいて、束縛条件として、以下の3種
類の線形不等式群を線形計画問題エンジン手段12に引
き渡す。ただし、dは罫線周りのマージン幅とする。 (1)各テキストTに関する束縛条件、すなわち、行折
特性列(sT,0 ,sT,1 ,・・・,sT,k(T))と、水平
特性ベクトルhT 、連結子Cから定まる条件 sT,j(T)≦hT *[ci,j ]* t(x1 ,・・・,
m )−d≦sT,j(T)+1 (2)任意のi(i=1,・・・,W)に関して、列幅
を規定する束縛条件 Ji =(0,・・・,0,1,0,・・・,0)*[c
i,j ]* t(x1 ,・・・,xm )≧0 (3)共通束縛条件保持手段3が保持するパラメータ間
の束縛条件を表わす一次方程式あるいは一次不等式。
【0079】上述の束縛条件(1)は、hT
[ci,j ]* t(x1 ,・・・,xm )=pT,1 1
・・・+pT,m m とおけば、 sT,j(T)≦pT,1 1 +・・・+pT,m m −d≦s
T,j(T)+1 である。各テキストTi (i=1,・・・,k)に固有
の行折特性列をsi,0 ,・・・,si,k(i)とした時、線
形計画問題管理手段7は、各テキストTi に対してj
T(i)=ji (0≦ji ≦ki −1)と表わすと、前記
(1)による束縛条件は以下のようになる。 p1,1 1 +・・・+p1,m m −d≧s1,j(1)1,1 1 +・・・+p1,m m −d≦s1,j(1)+1 ・・・ pk,1 1 +・・・+pk,m m −d≧sk,j(k)k,1 1 +・・・+pk,m m −d≦sk,j(k)+1 上記の束縛条件を、「(j1 ,・・・,jk )−問題」
の区間束縛条件という。
【0080】一方、束縛条件(2)に由来する束縛条件
と、束縛条件(3)に示した共通束縛条件を、必要なら
ば予めスラック変数を導入しておくことにより、 p'1,11 +・・・+p'1,mm =s'1 ・・・ p'k',11 +・・・+p'k',mm =s'k' とする。さらに、si'≧0を満たすように調整する。
【0081】線形計画問題管理手段7は、さらに、各テ
キストTi に対して(j1 ,・・・,jk )−問題にお
いて特定されている行折特性列si,j(i)に対応するボッ
クス高を、区間束縛条件保持手段4から取得して、レイ
アウト評価式計算手段10に引き渡し、その結果として
レイアウト評価式を受け取る。
【0082】さらに、これらの束縛条件は、スラック変
数y1 ,z1 ,・・・,yk ,zkを導入することによ
り、以下のように標準化される。
【数1】
【0083】これらの目的関数、束縛条件を線形計画問
題解決エンジン手段12に渡し、線形計画問題解決エン
ジン手段から返された値、すなわち、目的関数の最小値
と最小値を与えるパラメータとの組、または、線形計画
問題が実行不可能であることを示すシグナルを、局所解
保持手段8中のリストに付け加える。線形計画問題管理
手段7は、上記の手続きを、各テキストに関する行折特
性値の全テキストにわたる組合わせ全てに対して行な
う。各テキストに対して1つずつ当てられた行折特性値
の組合わせは、1つの線形計画問題を決定する。すなわ
ち、すべての(j1 ,・・・,jk )∈[0,・・・,
1 −1]×・・・×[0,・・・,kk−1]につい
て、(j1 ,・・・,jk )−問題を特定して解く。線
形計画問題管理手段7は、可能な全ての線形計画問題を
解決した後、線形計画問題管理手段7中の最適解探索手
段9に制御を移す。
【0084】最適解探索手段9は、局所解保持手段8中
のリスト順に探索して、目的関数の最小値と対応する最
適パラメータを取得する。最後に、探索して得られた最
適パラメータから行高・列幅を計算して表のレイアウト
を決定する。
【0085】レイアウト評価式計算手段10は、線形計
画問題管理手段7から、区間束縛条件保持手段4中の行
折特性列保持手段6に保持されている固有ボックス高が
渡され、連結子保持手段2に保持されている[cij]を
参照しつつ、レイアウト評価式を計算して線形計画問題
管理手段7に引き渡す。
【0086】レイアウト評価式計算手段10中の基本垂
直インターバル計算手段11は、入力された固有ボック
ス高hgT(i),j(i) をもとに、基本垂直インターバルI
1 ,・・・,IH を計算する。計算方法として複数の方
法が考えられるが、例えば、first fit法のア
ルゴリズムを用いることができる。first fit
法は現在最も広く用いられている方法で、グリッド平面
上のI行目の基本垂直インターバルIi を、I1 から順
に計算していくことを特徴としている。
【0087】first fit法による処理を簡単に
説明する。IはH次行ベクトルであり、零ベクトル
[0,・・・,0]に初期化されている。dは、各罫線
に共通な罫線周りのマージンであり、各罫線からd/2
の距離内にはテキストは流し込まれない。ベクトルWに
対してW[i]はそのi次成分を示している。
【0088】テキストTj の固有ボックス高hg
T(j),j(j) が入力されると、以下の処理をi=1からH
まで繰り返す。すべてのテキストTj について、テキス
トTj の垂直特性ベクトルvT(j)のi番目の要素vT(j)
[i]=1で、かつ、vT(j)[i+1]=0またはi=
Hで、かつ、hgT(j),j(j) >I*vT(j)−dのとき、
I[i]=I[i]+hgT(j),j(j) −I*vT(j)+d
を計算する。式中の演算子*は、スカラー量のかけ算ま
たは行列のかけ算を示している。
【0089】このような処理により、ベクトルIの各要
素I[i]が順次計算される。得られたベクトルIが基
本垂直インターバルの列である。すなわち、最終的に得
られたベクトルIは、I=[I1 ,・・・,IH ]であ
る。
【0090】基本垂直インターバル計算手段11によっ
て計算された基本垂直インターバルに基づいて、レイア
ウト評価式が計算される。レイアウト評価基準として
は、表の面積、表の周長、空隙面積等を用いることがで
きる。これら3つの場合について、それぞれ、レイアウ
ト評価式を記す。 ・表の面積 (I1 +・・・+IH )*{(c1,1 +・・・+
W,1 )x1 +・・・+(c1,m +・・・+cW,m )x
m } ・表の周長 (I1 +・・・+IH )+{(c1,1 +・・・+
W,1 )x1 +・・・+(c1,m +・・・+cW,m )x
m } ・空隙面積 各テキストTi についての空隙面積 {hT(i)*[ci,j ]* t(x1 ,・・・,xm )−
d}{(I1 ,・・・,IH )*vT(i)−hg
T(i),j(i) −d} の和が全体の空隙面積となる。式中 t(x1 ,・・・,
m )は転置ベクトルを表わす。すなわち、x1 ,・・
・,xm からなる列ベクトル(要素の縦並び)である。
【0091】いずれの場合も、hgT(i),j(i) がすべて
のTi に対して特定されれば、レイアウト評価式はパラ
メータx1 ,・・・,xm に関する一次関数となる。レ
イアウト評価式計算手段10は、上述の手続きを経て、
計算したレイアウト評価式を線形計画問題管理手段7に
返す。
【0092】線形計画問題解決エンジン手段12は、目
的関数の値を最小にするパラメータの組とそのときの最
小値を、与えられた束縛条件を満たす範囲内で探し出
し、線形計画問題管理手段7に報告する。そのような最
小値が存在しない場合は、線形計画問題が実行不可能で
あることを線形計画問題管理手段7に報告する。線形計
画問題解決エンジン手段12のアルゴリズムとしては、
単体法や摂動法などが広く知られており、これらの方法
を用いて線形計画問題を解決することができる。
【0093】図9は、本発明の表割り付け装置の第1の
実施例における動作の概要を示すフローチャートであ
る。まず、S31において、初期情報としてテキスト、
表のレイアウトの条件を示す一次式などが、それぞれテ
キスト保持手段1、連結子保持手段2、共通束縛条件保
持手段3に格納される。S32において、テキスト保持
手段1に保持されているテキストに従い、行折特性列や
ボックス高等の区間束縛条件を区間束縛条件保持手段4
で計算し、保持する。S33において、線形計画問題管
理手段7は、S32で計算された行折特性列から、各テ
キストTi ごとに行折特性値si,j(i)を一つ特定するこ
とにより、次に解決すべき線形計画問題を決定する区間
束縛条件の組を作る。この時、線形計画問題管理手段7
は、前記区間束縛条件の組による線形計画問題がすでに
解決されたものでないように選ぶ。ついで、S34にお
いて、S33で特定された行折特性値に固有なボックス
高の組を区間束縛条件保持手段4から取得し、レイアウ
ト評価式計算手段10に与え、レイアウト評価式を得
る。S35において、線形計画問題管理手段7は、S3
4で得られたレイアウト評価式を目的関数とし、S33
で特定された区間束縛条件の組、連結子保持手段2に保
持されている連結子から得られる束縛条件、共通束縛条
件保持手段3に保持されている共通束縛条件を束縛条件
とする線形計画問題を、線形計画問題解決エンジン手段
12により解く。そして、線形計画問題解決エンジン手
段12から、目的関数が最小となる値と、そのときのパ
ラメータとの組、あるいは、線形計画問題が実行不可能
であることを示す情報を得る。線形計画問題管理手段7
は、各テキストについて行折特性値を一つずつ割り当て
ることによって得られる行折特性値の組み合わせすべて
に対して、一回ずつ、線形計画問題の解決を行なう。S
36において、S35で解決した線形計画問題が、最後
の未解決線形計画問題か否かを判定し、最後でない時は
S33へ戻り、処理を続行する。該線形計画問題が最後
の未解決線形計画問題である場合には、S37におい
て、線形計画問題管理手段7は、線形計画問題解決エン
ジン手段12で得られた線形計画問題の解の中から、各
線形計画問題の目的関数が最小となる値の最小値を探索
して、その最小値と対応する最適パラメータを得る。こ
のパラメータに従って、表を構成することにより、最適
なレイアウトの表を得ることができる。なお、各ステッ
プにおける詳細な動作は、すでに述べたので、ここでは
省略する。
【0094】図10は、レイアウトされた表の一例の説
明図である。具体的に、図10に示すような表を得る場
合を考える。初期情報として、テキスト保持手段1に、
各欄に割り付けるテキスト、例えば、「活用」、「活用
のないもの」等と、そのテキストの水平特性ベクトルh
T と垂直特性ベクトルvT を格納しておく。例えば、テ
キスト「活用のないもの」では、水平特性ベクトルhT
=(1,0,0,0)、垂直特性ベクトルvT
t(0,1,1,1,0)である。このほか、文字種や
文字の大きさなど、種々の情報が格納される。また、共
通束縛条件保持手段3には、次の3つの条件を示す条件
式を格納する。 ・全体の幅が87.85mm(=250ポイント)以下
であること。 ・第2列(「主語とならないもの」が割り付けられる
列)と、第3列(「修飾語となるもの」、「修飾語とな
らないもの」が割り付けられる列)の幅が等しいこと。 ・各項目欄中のテキストは4行以上にわたって行折され
ないこと(テキストが横書きに見えるための条件)。
【0095】これらの設定を行なって、本発明の表割り
付け装置を実行させることにより、各列の幅、各行の高
さ、各テキストの行折を自動的に設定し、図10に示す
ような表を得ることができた。
【0096】図11は、本発明の表割り付け装置の第2
の実施例を示す構成図である。図中、図1と同様の部分
には、同じ符号を付して説明を省略する。13はテキス
ト分類手段、14は単体表主要部保持手段、15は初期
設定手段、16は実行可能性判定問題部、17は線形計
画問題部である。この第2の実施例では、テキスト保持
手段1に保持されるテキストを、ボックス幅を表わすパ
ラメータの一次式の斉次部分に基づいてテキストクラス
に分類して保持するテキスト分類手段13、および、線
形計画問題解決エンジン手段12が各線形計画問題ごと
に計算する単体表のうち、複数の線形計画問題で共有す
ることのできる部分すなわち主要部を、一括して保持す
る単体表主要部保持手段14を有している。
【0097】テキストクラスとしては、テキストを割り
付けるための幅を表わすパラメータの一次式の斉次部分
T,1 1 +・・・+pT,m m が共通であるようなテ
キストを全て集めたものとすることができる。分類され
たテキストは、それぞれ束縛条件の斉次部分と1対1に
対応付けられたテキストクラスを形成する。すなわち、
1つのテキストクラスに属するテキストは、行折に関す
る区間束縛条件の斉次部分を共有する。
【0098】上述の第1の実施例における区間束縛条件
保持手段4は、各テキストについてその区間束縛条件の
斉次部分に上限と下限となる行折特性値を割り当てるこ
とにより、特定の束縛条件を決める。このとき、全ての
テキストにわたる上限、下限の割当ての組合わせが、線
形計画問題管理手段7によって解決されなければならな
い線形計画問題の総数となる。しかし、この第2の実施
例によれば、テキスト分類手段13によって分類したテ
キストクラスごとに、付随する区間束縛条件の斉次部分
と斉次部分に割り当てられる上限と下限の組み合わせを
一つ以上、区間束縛条件保持手段4に保持する。そし
て、各テキストクラスに対して、付随する区間束縛条件
の斉次部分に上限と下限を一つずつ割り当てることによ
って、区間束縛条件の組が一つ定まる。このような組の
総数が、線形計画問題解決エンジン手段12を用いて解
決されなければならない線形計画問題の総数となる。
【0099】テキストクラスを用いることにより、上述
の第1の実施例における方法と比して、解くべき線形計
画問題の総数を減ずることができる。例を用いて説明す
る。いま、テキストT1 ,T2 が、共通のテキストクラ
スに属するものとする。両者に共通の区間束縛条件の斉
次部分を、 p1 1 +・・・+pm m とする。テキストTi (i=1,2)に対する上限、下
限の組が、[si,4 ,si,3 ],[si,3 ,si,2 ],
[si,2 ,si,1 ]であるとき、 si,4 ≧p1 1 +・・・+pm m ≧si,3i,3 ≧p1 1 +・・・+pm m ≧si,2i,2 ≧p1 1 +・・・+pm m ≧si,1 が、束縛条件である。すなわち、上記の3つの束縛条件
を、テキストT1 ,T2のそれぞれが有している。した
がって、T1 ,T2 に関する束縛条件の組み合わせは、
3×3=9である。
【0100】一方、s1,1 <s2,1 <s1,2 <s2,2
1,3 <s2,3 <s1,4 <s2,4 と仮定すると、テキス
トクラスに関する束縛条件は、 s2,4 ≧p1 1 +・・・+pm m ≧s1,41,4 ≧p1 1 +・・・+pm m ≧s2,32,3 ≧p1 1 +・・・+pm m ≧s1,31,3 ≧p1 1 +・・・+pm m ≧s2,22,2 ≧p1 1 +・・・+pm m ≧s1,21,2 ≧p1 1 +・・・+pm m ≧s2,1 s2,1 ≧p1 1 +・・・+pm m ≧s1,1 の7個で済む。
【0101】この格差は、テキストの総数、上限,下限
の各テキストに対する組の総数が多くなると、飛躍的に
広がる。前者による束縛条件の組み合わせの総数は、各
テキストに関する束縛条件の数の積のオーダーであるの
に対し、後者は和のオーダーであるからである。これに
より、各テキストごとの区間束縛条件を解決するための
線形計画問題の総数に比べ、解決しなければならない線
形計画問題の総数を減少させることが可能となり、結果
として処理の効率を向上させることができる。
【0102】このようなテキストクラスごとの束縛条件
を設定するため、テキスト分類手段13は、テキスト保
持手段1に保持されているテキストを走査してテキスト
クラスに分類する。テキストクラスに分類する処理は、
まず、各テキストTについて、テキストTを割り付ける
ための割付ボックスの幅をパラメータの一次式で表わ
す。第1の実施例において図7を用いて説明したよう
に、割付ボックスとはテキストの割付に必要な最小限の
大きさを持つ矩形である。割付ボックスの高さは、テキ
ストTが折り返された行数分だけ必要である。また、割
付ボックスの幅は、表中の罫線回りのマージンをdと表
わすとき、すなわち、テキストが罫線からd/2の距離
以内には割り付けられないとしたとき、
【数2】 と表わされる。
【0103】次に、ボックスの幅を表わす一次式の斉次
部分を共有するテキストを集めて、テキストクラスとし
て登録する。本実施例では、各罫線回りのマージンがす
べて等しいため、割り付けボックスの幅を表わす一次式
が一致することと、その斉次部分が一致することは同値
である。しかし、罫線ごとにマージンが変化する場合に
は、斉次部分が一致しても、割り付けボックスの幅が一
致するとは限らない。
【0104】テキストクラスには番号が振られ、C1
・・・Ck と表わされるものとする。各テキストクラス
i に対して、属するテキストの割付ボックスの幅を表
わす上記の一次式の斉次部を pi,1 1 +・・・pi,m m と表わし、テキストクラスとともに登録する。
【0105】このように分類されたテキストクラスごと
に、区間束縛条件保持手段4における区間束縛条件が計
算される。また、テキストクラスごとに定まる、割付ボ
ックスの幅を表わすパラメータの一次式の斉次部は、単
体表主要部保持手段14でも用いられ、初期設定手段1
5で実行可能性判定問題の単体表主要部の初期値を計算
する際に参照される。
【0106】線形計画問題解決エンジン手段12におい
て実行される線形計画問題の解決法として、上述したよ
うに、単体法および摂動法が広く知られている。これら
の方法は、単体表と呼ばれる行列を、一定の終了条件が
満たされるまで順次計算していくことに特徴がある。す
なわち、単体表がある特定の終了条件(単体基準Iおよ
び単体基準II)を満たしたならば最適解を抽出し、終
了条件を満たさないときは、ある特定の方法(単体基準
III)にしたがって新たな単体表を計算し(ピボッド
変換)、さらに、終了条件を調べる。一連の計算におい
て、全ての単体表は同じ行数と列数を持つ。上述の単体
基準IないしIIIは、単体法の一般的な基準である。
例えば、岩堀長慶著:線形不等式とその応用(岩波講座
基礎数学)等に記載されている。
【0107】より詳しく述べると、単体表は実行可能基
底指標と呼ばれる数列と固有に対応する。いま、単体表
を(以下、単体表とは簡約単体表を表わすものとす
る)、r+1行n+1列の行列とすると、実行可能基底
指標は、以下の条件を満たす自然数の列(a1 ,・・
・,ar )である。 a1 <a2 <・・・<ar 1≦ai ≦n
【0108】実行可能基底指標(a1 ,・・・,ar
に属する単体表とは、線形計画問題に付随して定まって
いる特定のr+1行n+1列行列を、その第a1 列ベク
トルから第ar 列ベクトル(実行可能基底)と
【数3】 を基底とすることによって、基底変換されたときの相対
成分のなす行列である。e0 に関する相対成分は第r+
1行に、第ai 列ベクトルに関する相対成分は第i行に
現れる。以下、単体表またはそのもととなる行列から最
下行・最右列を除いたr行n列の部分行列を主要部と呼
ぶことにする。
【0109】さて、区間束縛条件保持手段4に保持され
た各線形計画問題について、単体表のもととなる行列の
主要部は、線形計画問題によらず、一意である。したが
って、単体表の主要部を各線形計画問題が共有すること
によって、一度行なった計算結果を再利用することが可
能となる。結果として、再計算の手間を省き、処理の効
率を向上させることが可能となる。この機能を提供する
のが単体表主要部保持手段14である。
【0110】単体表主要部保持手段14には、実行可能
基底指標と単体表の主要部の組が、リストとして登録さ
れる。実行可能基底指標が与えられると、それをキーと
して単体表の主要部が検索される。また、線形計画問題
解決エンジン手段12が、今までに登録されていない実
行可能基底指標に属する単体表を計算すると、その主要
部が実行可能基底指標とともに単体表主要部保持手段1
4のリストに加えられる。
【0111】単体表主要部保持手段14は、初期値設定
手段15、実行可能性判定問題部16、線形計画問題部
17を含む。初期値設定手段15は、テキスト分類手段
13、連結子保持手段2と、共通束縛条件保持手段3か
ら必要な情報を取得して、実行可能性判定問題の単体表
主要部の初期値
【数4】 を計算し、実行可能性判定問題部16に実行可能基底指
標(m+2k+1,・・・,m+4k+k’)とともに
登録する。単体表の主要部は、この実行可能基底指標を
キーとして参照される。
【0112】実行可能性判定問題部16および線形計画
問題部17は、実行可能基底指標と、実行可能基底指標
が指示する実行可能基底に属する単体表の主要部の組か
らなるリストである。リスト中の組は実行可能基底指標
をキーとして検索される。線形計画問題解決エンジン手
段12は、実行可能性判定問題部16、線形計画問題部
17に保持されている単体表の主要部を用いて単体表を
作成し、単体表の計算を行なう。また、計算済みの単体
表の主要部で、実行可能性判定問題部16,線形計画問
題部17に登録されていないものについての登録処理を
行なう。
【0113】他の構成は、第1の実施例とほぼ同様であ
る。表のレイアウトに必要な初期情報は、テキスト保持
手段1、連結子保持手段2、共通束縛条件保持手段3に
保持される。
【0114】区間束縛条件保持手段4は、各テキストク
ラスごとに区間束縛条件である行折特性値を一つ以上保
持する。すなわち、テキストクラスCi に属する全ての
テキストTに対して、その行折特性列を計算し、その和
集合を昇順に並び変えて得られる列が、テキストクラス
i の行折特性列となる。テキストクラスCi の行折特
性列を si,0 ,・・・,si,l(i) と表わす。行折特性列計算手段5は、本処理に先立っ
て、テキスト保持手段1に保持された情報を用いて、テ
キスト分類手段13で分類されたテキストクラスごとの
行折特性列等を計算し、行折特性列保持手段6に記録す
る。
【0115】線形計画問題管理手段7は、区間束縛条件
保持手段4中の行折特性列保持手段6に保持されている
情報を走査して、各テキストクラスCi に対して1つの
行折特性値(si,j(i)、ただしji は0≦ji ≦li
1を満たす)を取得する。このとき、「(j1 ,・・
・,jk )−問題が特定された」という。(j1 ,・・
・,jk )−問題においては、パラメータの取り得る範
囲は、 si,j(i)≦pi,1 1 +・・・+pi,m m −d≦s
i,j(i)+1 に制限される。
【0116】次いで、線形計画問題管理手段7は、(j
1 ,・・・,jk )を特定することにより定まる各テキ
ストのボックス高をレイアウト評価式計算手段10に引
き渡し、結果としてレイアウト評価式を受け取る。得ら
れたレイアウト評価式を線形計画問題解決エンジン手段
12に目的関数として引き渡す。線形計画問題解決エン
ジン手段12に引き渡される束縛条件は、第1の実施例
と異なり、以下の形式とする。すなわち、(j1 ,・・
・,jk )−問題が特定されたとき、行折特性値の組の
列{(si,j(i),si,j(i)+1)}i=1,2,・・・,k である。
線形計画問題管理手段7は、線形計画問題解決エンジン
手段12から返された値(目的関数の最小値と最小値を
与えるパラメータとの組、または、線形計画問題が実行
不可能であることを示すシグナル)を、局所解保持手段
8中のリストに付け加える。
【0117】線形計画問題管理手段7は、上記の手続き
を、各テキストクラスに関する行折特性値について、全
テキストに渡る組み合わせすべてに対して行なう。すな
わち、 0≦j1 ≦l1 −1,0≦j2 ≦l2 −1,・・・,0
≦jk ≦lk −1 を満たす全てのji ,・・・,jk の組合わせに対し
て、(j1 ,・・・,jk)−問題を解く。線形計画問
題管理手段7は、可能な全ての線形計画問題を解決した
後、線形計画問題管理手段7中の最適解探索手段9によ
り、局所解保持手段8中のリストを順に探索して、目的
関数の最小値と対応する最適パラメータを取得する。最
後に、探索して得られた最適パラメータから行高、列幅
を計算して、表のレイアウトを決定する。
【0118】レイアウト評価式計算手段10は、線形計
画問題管理手段7から与えられた各テキストの割付ボッ
クス高をもとに、(j1 ,・・・,jk )−問題に固有
なレイアウト評価式を計算して線形計画問題管理手段7
に返す。この時、レイアウト評価式はパラメータx1
・・・,xm に関する一次関数である。
【0119】レイアウト評価式計算手段10が線形計画
問題管理手段7に返すレイアウト評価式を v1 1 +・・・+vm m と表わす。ただし、v1 ,・・・vm は、線形計画問題
管理手段7によって特定された(ji ,・・・,jk
に依存する実数である。
【0120】線形計画問題解決エンジン手段12は、線
形計画問題管理手段7からレイアウト評価式v1 1
・・・+vm m を目的関数として受け取り、また、行
折特性値の組の列{(si,j(i),si,j(i)+1)}
i=1,2,・・・,k を束縛条件として受け取って、目的関数の
値を最小にするパラメータの組とそのときの最小値を、
与えられた束縛条件を満たす範囲内で探し出し、線形計
画問題管理手段7に報告する。線形計画問題解決エンジ
ン手段12は、与えられた行折特性値の組の列{(s
i,j(i),si,j(i)+1)}i=1,2,・・・,k と、連結子保持手
段2に保持された連結子と、共通束縛条件保持手段3に
保持された共通束縛条件から、
【数5】 で与えられる束縛条件を計算する。そのような最小値が
存在しない場合は、線形計画問題が実行不可能であるこ
とを線形計画問題管理手段に報告する。このとき行なわ
れる処理は、(j1 ,・・・,jk )−問題の実行可能
性の判定、および、(j1 ,・・・,jk )−問題の解
決である。
【0121】図12は、本発明の表割り付け装置の第2
の実施例における全体の動作の一例を示すフローチャー
トである。テキスト保持手段1にテキストが、連結子保
持手段2に連結子C=[ci,j ]が初期情報として格納
されている。また、共通束縛条件保持手段3には、共通
束縛条件が初期情報として格納されている。
【0122】まず、前処理として、S41ないしS43
の処理が行なわれる。S41において、テキスト分類手
段13は、区間束縛条件の斉次部分により、テキスト保
持手段1に保持されているテキストをテキストクラスC
i (1≦i≦k)に分類する。また、各テキストクラス
i ごとに、割付ボックスの幅を表わす一次式の斉次部
i,1 1 +・・・+pi,m m をテキストクラスとと
もに登録する。S42において、単体表主要部保持手段
14中の初期設定手段15は、S41で分類されたテキ
ストクラスごとに、対応づけられた一次式の斉次部や、
連結子保持手段2に保持されている連結子や、共通束縛
条件保持手段3に保持されている共通束縛条件をもと
に、上述した実行可能性判定問題の単体表主要部の初期
値を計算し、実行可能基底指標とともに実行可能性判定
問題部16に格納する。また、S43において、区間束
縛条件保持手段4内の行折特性列計算手段5で、S41
で分類されたテキストクラスCi ごとに行折特性列s
i,1 ,・・・,si,l(i)を計算し、行折特性列保持手段
6に格納する。
【0123】これらの前処理が終了すると、次に本処理
に移行する。S44において、線形計画問題管理手段7
は、区間束縛条件保持手段4から、各テキストクラスC
i に対して1つの行折特性値si,j(i)(0≦ji ≦li
−1を満たす)を取り出す。すなわち、j1 ,・・・,
k で特定されるk個の行折特性値が取り出される。各
行折特性値si,j(i)と、si,j(i)+1により、テキストク
ラスCi の割付ボックスの幅は制限される。パラメータ
の取り得る範囲は、 si,j(i)≦pi,1 1 +・・・+pi,m m −d≦s
i,j(i)+1 となる。各テキストクラスについてこのような条件式が
設定されるので、k個の条件式が特定されたことにな
る。これにより、1つの線形計画問題である(j1,・
・・,jk )−問題が特定された。S45において、
(j1 ,・・・,jk)から固有に定まる各テキストの
割付ボックス高をレイアウト評価式計算手段10に渡
し、レイアウト評価式v1 1 +・・・+vm m を得
る。そして、S46において、S45で得られたレイア
ウト評価式v1 1 +・・・+vm m を目的関数とし
て線形計画問題解決エンジン手段12に渡す。さらに、
(j1 ,・・・,jk )−問題の行折特性値の組の列
{si,j(i)i=1,2,・・・,k を渡し、報告を待つ。線形計
画問題解決エンジン手段12における処理は後述する。
【0124】S47において、線形計画問題解決エンジ
ン手段12から、目的関数の最小値と、最小値を与える
パラメータとの組、あるいは、線形計画問題が実行不可
能であることを示す情報が、線形計画問題管理手段7に
報告される。この報告された情報は、局所解保持手段8
に保持されている局所解リストに追加される。S48に
おいて、線形計画問題がすべて解決されたか否かを判定
する。すなわち、すべての(j1 ,・・・,jk )の組
について、処理が行なわれたか否かを判定し、未解決の
問題が残っている場合には、S44へ戻り、次の
(j1 ,・・・,jk)の組を選択し、特定される線形
計画問題を処理する。
【0125】S48において、すべての線形計画問題が
処理された場合には、本処理を終了し、後処理に移る。
後処理としては、まず、S49において、局所解保持手
段8に保持されている局所解リストを探索し、保持され
ている目的関数の最小値のうちで最も小さい値と、その
値に対応するパラメータを得る。これが最適解である。
局所解リストに保持されている各局所解は、各テキスト
において行折が発生しない範囲での局所的な解である。
この中から最適解を選択することにより、行折を含めた
最適なレイアウトを得るための解を得ることができる。
S50において、S49で取得された最適解に基づい
て、表をレイアウトする。これにより、条件に合った最
適な表を作成することができる。
【0126】図13は、本発明の表割り付け装置の第2
の実施例における線形計画問題解決エンジン手段12の
実行可能性検証の動作の一例を示すフローチャートであ
る。線形計画問題解決エンジン手段12は、図12のS
46において、線形計画問題管理手段7から目的関数と
してレイアウト評価式v1 1 +・・・+vm m が渡
され、また、(j1 ,・・・,jk )−問題の行折特性
値の組の列{si,j(i),si,j(i)+1i=1,2,・・・,k が渡
される。線形計画問題解決エンジン手段12は、まず、
(j1 ,・・・,jk )−問題の実行可能性を判定す
る。
【0127】S51において、実行可能性検証のための
単体表の主要部の初期値を、単体表主要部保持手段14
中の実行可能性判定問題部16から取得する。単体表の
主要部の初期値は、以下の2k+k’行m+4k+k’
列の行列であり、実行可能基底指標(m+2k+1,・
・・,m+4k+k’)をキーとして検索し、参照する
ことができる。
【数6】
【0128】S52において、S51で得られた単体表
の主要部の初期値に、第2k+k’+1行および第m+
4k+k’+1列を付け加えて、単体表を完成させる。
追加するべき第2k+k’+1行は、最初のm+2k個
の要素の値が0、最後の2k+k’個の要素の値が1で
あるような、m+4k+k’次行ベクトル、 (0,・・・,0,1,・・・,1) である。一方、追加するべき第m+4k+k’+1列
は、線形計画問題管理部7から渡された(j1 ,・・
・,jk )−問題の行折特性値の組の列{si,j(i),s
i,j(i)+1i=1,2,・・・,k により生成される2k+k’+
1次列ベクトル、
【数7】 である。
【0129】S53において、現在の実行可能基底指標
および単体表が終了条件(単体基準Iまたは単体基準I
I)を満たすか否かを判定し、満たしていないならば、
S54ないしS59において、新たな実行可能基底指標
および単体表を計算する。新たな実行可能基底指標およ
び単体表の計算は、まず、S54において、単体基準I
IIにしたがって、新たな実行可能基底指標を計算す
る。実行可能基底指標は、m+4k+k’以下の自然数
からなる2k+k’個の要素の組である。S55におい
て、新たに計算した実行可能基底指標が、単体表主要保
持手段14中の実行可能性判定問題部16に登録されて
いるか否かを判定し、登録されていれば、S56で登録
されていた実行可能基底をキーに単体表の主要部を検索
し、得られた主要部でもとの単体表の主要部を置き換え
る。その後、S57で単体表の最右列と最下行の成分を
適切に掃き出すことにより、新たな実行可能基底指標に
対応する単体表を得る。S55において、実行可能基底
指標が単体表主要部保持手段14中の実行可能性判定問
題部16に登録されていなければ、S58で単体表全体
をピボット変換して新たな単体表を得る。この後、さら
に、S54で得られた実行可能基底指標と、S58で新
たに計算した単体表の主要部を単体表主要部保持手段1
4中の実行可能性判定問題部16に登録する。以上、S
53ないしS59の手続きを、終了条件(単体基準Iま
たは単体基準II)が満たされるまで繰り返す。上述の
単体基準I、単体基準II、単体基準IIIは、従来よ
り単体法の判定、計算によく用いられているものである
ので、ここでは説明を省略する。
【0130】S53において、実行可能基底指標および
単体表が終了条件(単体基準I)を満たしていると判断
されたときは、S60において、実行可能基底指標およ
び単体表から(j1 ,・・・,jk )−問題が実行可能
か否かを判定する。人工変数(m+2k+1番目からm
+4k+k’までのパラメータ)の値の和が0でないと
き、(j1 ,・・・,jk )−問題は実行不可能であ
る。線形計画問題解決エンジン手段12は、問題が実行
不可能であることを線形計画問題管理手段7に報告する
とともに制御を返す。人工変数の値が全て0であるとき
は、(j1 ,・・・,jk )−問題は実行可能である。
線形計画問題解決エンジン手段12は、引き続き、(j
1 ,・・・,jk )−問題を解く。
【0131】図14は、本発明の表割り付け装置の第2
の実施例における線形計画問題解決エンジン手段12の
線形計画問題解決の動作の一例を示すフローチャートで
ある。図13に示す実行可能性の判定により、実行可能
であると判定された場合には、(j1 ,・・・,jk
−問題を解く。
【0132】S61において、(j1 ,・・・,jk
−問題のための実行可能基底を探し、対応する単体表を
計算する。図13に示した処理により得られた単体表か
ら、最下行と第m+2k+1列から第m+4k+k’列
までを取り除き、さらに最下行にレイアウト評価式計算
手段10で計算されたレイアウト評価式のv1 ,・・
・,vm を用いたm+2k+1次行ベクトル (v1 ,・・・,vm ,0,・・・,0) を付け加える。次いで、図13に示した処理により得ら
れた実行可能基底指標のうち、値がm+2k以下の要素
のみを集め、掃き出し法を用いて、これらの要素を包含
する(j1 ,・・・,jk )−問題の実行可能基底指標
を求める。実行可能基底指標を求めた後、行列から全て
の要素が0である行を取り除くことによって、求めた実
行可能基底に属する単体表が計算される。このとき、単
体表から最下行および最右列を除いて得られる部分行列
が主要部である。
【0133】S62において、もし、S61で求められ
た実行可能基底指標が単体表主要保持手段14中の線形
計画問題部17に登録されていなければ、S61で求め
られた実行可能基底指標と、計算によって得られた単体
表の主要部(単体表の最下行と最右列を除いた部分行
列)を単体表主要部保持手段14中の線形計画問題部1
7に登録する。
【0134】S63において、実行可能基底指標および
単体表が終了条件(単体基準I)を満たすか否かを判定
し、満たしていないときは、S64ないしS69で新た
な実行可能基底指標および単体表を計算する。ここで、
各線形計画問題に固有の凸多面体は有界であることが分
かっているので、単体基準IIをチェックする必要はな
い。
【0135】まず、S64において、単体基準IIIに
したがって、新たな実行可能基底指標を計算する。S6
5において、この実行可能基底指標が、単体表主要部保
持手段14中の線形計画問題部17に登録されているか
否かを判定する。登録されていれば、S66において、
その実行可能基底指標をキーとして単体表の主要部を検
索し、得られた主要部でもとの単体表の主要部を置き換
える。その後、S67において、単体表の最右列と最下
行の成分を適切に掃き出すことにより、新たな実行可能
基底指標に対応する単体表を得る。
【0136】S65において、実行可能基底指標が、単
体表主要部保持手段14中の線形計画問題部17に登録
されていなければ、S68において、単体表全体をピボ
ット変換して、新たな単体表を計算する。この後、さら
に、S69において、S64で計算された実行可能基底
指標と、S68で新たに計算した単体表の主要部を単体
表主要部保持手段14中の線形計画問題部17に登録す
る。
【0137】以上、S63ないしS69の手続きを、終
了条件(単体基準I)が満たされるまで繰り返す。
【0138】S63において、実行可能基底指標および
単体表が終了条件(単体基準I)を満たしているとき
は、S70において、実行可能基底指標および単体表か
ら、最適レイアウト評価値(目的関数の最小値)と最適
解(目的関数に最小値を与えるパラメータの値の組)を
計算し、これらの計算値とともに線形計画問題管理手段
7に制御を返す。
【0139】線形計画問題管理手段7では、線形計画問
題解決エンジン手段12から返された値(目的関数の最
小値と最小値を与えるパラメータとの組、または、線形
計画問題が実行不可能であることを示すシグナル)を、
局所的解保持手段中のリストに加える。すべての
(j1 ,・・・,jk )−問題について、上述の線形計
画問題解決エンジン手段12の処理を行なった後、リス
トから目的関数の最小値と、対応する最適パラメータを
取得し、得られた最適パラメータから表のレイアウトを
決定する。
【0140】上述のように、図13におけるS56、お
よび、図14におけるS66で単体表主要部保持手段に
保持されている、単体表主要部を用いることにより、ピ
ボット変換等の計算処理に要する時間を短縮することが
でき、処理効率を向上させることができる。
【0141】図15は、本発明の表割り付け装置の第3
の実施例を示す構成図である。図中、図1と同様の部分
には同じ符号を付して説明を省略する。18は隣接問題
基底解計算手段、19は線形計画問題基底解保持手段、
20は線形計画問題ステータス計算手段、21は変更起
点リスト、22は線形計画問題ステータス保持手段であ
る。上述の第1の実施例では、1つの表レイアウトを得
るために非常に多くの線形計画問題を解決しなければな
らず、効率の点で難点がある。第2の実施例では、単体
表主要部を保持しておくことにより、処理効率の向上を
図った。この第3の実施例では、線形計画問題解決エン
ジン手段12内に隣接問題基底解計算手段18を有し、
隣接基底解保持手段19を設け、また、線形計画問題ス
テータス計算手段20および線形計画問題ステータス保
持手段22を設けて処理効率の更なる向上を図ってい
る。もちろん、第2の実施例で示したテキスト分類手段
13を用いたテキストクラスごとの処理や、単体表主要
部保持手段14との併用も可能である。
【0142】(j1 ,・・・,jk )−問題を解くに当
たって、実行可能基底(J)と基底解(ξX )(ここで
X∈Ω)が得られたとする。ここで、(j1 ,・・・,
k)−問題の束縛条件は、
【数8】 の形で与えられ、Ω={x1 ,・・・,xm ,y1 ,z
1 ,・・・,yk ,zk}、J⊂Ωである。
【0143】行列
【数9】 中の変数X∈Ωに対応する列ベクトルをvX と表わす。
すなわち、vx(i)は第i列、vy(i)は第m+2i−1
列、vz(i)は第m+2i列を表わす。
【0144】(J)が実行可能基底であるとは、
{vX }(X∈J)が、{vX }(X∈Ω)が張る線形
空間の基底であり、対応する基底解
【数10】 が存在して、束縛条件
【数11】 を満たすことである。ここで、実行可能基底に対して、
対応する基底解は一意である。
【0145】このとき、以下の性質が成り立つ。 (1)ξy(i)=0が成り立つとき、(j1 ,・・・,j
i-1 ,ji +1,ji+1 ,・・・,jk )−問題は実行
可能であり、以下が成り立つ。 ・J∋yi なら、(J)は実行可能基底である。 ・Ω\J∋yi ならば、(J∪{yi }\{zi })は
実行可能基底である。 ・(ξ'X)(X∈Ω)は基底解である。
【数12】 このとき、(j1 ,・・・,ji-1 ,ji +1,
i+1 ,・・・,jk )−問題を、実行可能基底(J)
を挟んで(j1 ,・・・,ji-1 ,ji ,ji+1 ,・・
・,jk )−問題と隣接しているという。 (2)ξz(i)=0が成り立つとき、(j1 ,・・・,j
i-1 ,ji −1,ji+1 ,・・・,jk )−問題は実行
可能であり、以下が成り立つ。 ・J∋zi なら、(J)は実行可能基底である。 ・Ω\J∋yi ならば、(J∪{zi }\{yi })は
実行可能基底である。 ・(ξ'X)(X∈Ω)は基底解である。
【数13】 このとき、(j1 ,・・・,ji-1 ,ji −1,
i+1 ,・・・,jk )−問題を、実行可能基底(J)
を挟んで(j1 ,・・・,ji-1 ,ji ,ji+1 ,・・
・,jk )−問題と隣接しているという。
【0146】隣接問題基底計算手段18は、線形計画問
題解決エンジン手段12が線形計画問題の実行可能基底
と基底解を計算する度に、その実行可能基底を挟んで隣
接する線形計画問題がすでに線形計画問題基底解保持手
段19に保持されているかを調べ、保持されていない場
合には、該隣接線形計画問題の実行可能基底と基底解を
上述の性質にしたがって計算して、線形計画問題基底解
保持手段19に登録する。
【0147】線形計画問題解決エンジン手段12が新た
に線形計画問題を解くときには、まず、線形計画問題基
底解保持手段19に該線形計画問題が登録されているか
を調べ、もし登録されているならば、登録されている実
行可能基底と基底解を用いて計算を開始する。これによ
り、線形計画問題解決エンジン手段12で行なわれる実
行可能性判定と初期実行可能基底探索のステップ(例え
ば、第2の実施例における図13に示した全ステップお
よび図14に示したS61)を省略することができる。
【0148】線形計画問題基底解保持手段19は、(j
1 ,・・・,jk )−問題に対して、その実行可能基
底、基底解、実行可能基底に属する単体表主要部を対応
付けて保持する。実行可能基底に属する単体表主要部と
は、(j1 ,・・・,jk )−問題の束縛条件行列
【数14】 を基底{vX }(x∈J)に関して基底変換して得られ
るr行2k+m列の行列[qi,j ]である。J=
{X1 ,・・・,Xr }とすると、qi,j はもとの束縛
条件行列中のj番目の列ベクトルvj の列ベクトルv
X(i)に対する相対成分である。すなわち、一意な一次結
合 vj =qi,j X(1)+・・・+qr,j X(r) が成り立つ。ここで、rは上記の束縛条件行列のランク
である。ここで、束縛条件の右辺(単体表の非斉次部
分)である列ベクトルを、基底(vX )(X∈J)の一
次結合
【数15】 と表わすとき、連立一次方程式
【数16】 は、もとの束縛条件
【数17】 と同値な束縛条件を与える。
【0149】また、各(j1 ,・・・,jm )−問題に
は、次のような性質がある。特定のテキストTi に関す
る行折条件が異なる2つの線形計画問題、(j1 ,・・
・,ji-1 ,ji ,ji+1 ,・・・,jk )−問題と、
(j1 ,・・・,ji-1 ,j'i,ji+1 ,・・・,
k )−問題について、以下の性質が成り立つ。ただ
し、ji <j'iが成り立つものとする。 (1)(j1 ,・・・,ji-1 ,ji ,ji+1 ,・・
・,jk )−問題と(j1 ,・・・,ji-1 ,j'i,j
i+1 ,・・・,jk )−問題の双方が実行可能であると
き、任意のji ≦j≦j'iに対して、(j1 ,・・・,
i-1 ,j,ji+1 ,・・・,jk )−問題は実行可能
である。 (2)(j1 ,・・・,ji-1 ,ji ,ji+1 ,・・
・,jk )−問題が実行可能であり、(j1 ,・・・,
i-1 ,j'i,ji+1 ,・・・,jk )−問題が実行不
可能であるとき、任意のj≧j'iに対して、(j1 ,・
・・,ji-1 ,j,ji+1 ,・・・,jk )−問題は実
行不可能である。 (3)(j1 ,・・・,ji-1 ,ji ,ji+1 ,・・
・,jk )−問題が実行不可能であり、(j1 ,・・
・,ji-1 ,j'i,ji+1 ,・・・,jk )−問題が実
行可能であるとき、任意のj≦ji に対して、(j1
・・・,ji-1 ,j,ji+1 ,・・・,jk )−問題は
実行不可能である。
【0150】線形計画問題解決エンジン手段12は、線
形計画問題の実行可能性を判定する度に、判定結果に応
じて、「実行可能である」、「実行不可能である」のい
ずれかを指示するステータスを線形計画問題ステータス
保持手段22中に、線形計画問題に対応付けて登録す
る。
【0151】線形計画問題ステータス計算手段20は、
ある線形計画問題のステータスの登録によって、上述の
(1)ないし(3)の性質からその実行可能性が判定で
きるすべての線形計画問題について、そのステータスを
計算し、登録する。このとき、変更起点リスト21を用
いる。変更起点リスト21には、新たに「実行可能であ
る」あるいは「実行不可能である」ことが判明した(j
1 ,・・・,jk )−問題が登録される。
【0152】線形計画問題ステータス計算手段20によ
って実行可能性が判定され、「実行可能である」、「実
行不可能である」のいずれかのステータスが新たに付与
される線形計画問題が存在すれば、その線形計画問題の
ステータスの登録によって、さらに実行可能性が判定で
きる線形計画問題が存在するかもしれない。線形計画問
題ステータス計算手段20は、このような線形計画問題
が存在しなくなるまで、上記の手続きを繰り返す。
【0153】線形計画問題ステータス保持手段22は、
区間束縛条件保持手段7に保持されている束縛条件の組
から導出される線形計画問題のそれぞれに対して、例え
ば、「実行可能である」、「実行不可能である」、「実
行可能性が未知である」ことを指示するステータスを保
持する。あるいは、それに加えて「解決済みである」並
びに「基底解が与えられている」ことを指示するステー
タスを保持する。
【0154】この線形計画問題ステータス保持手段22
と、線形計画問題ステータス計算手段20の作用によ
り、一部の線形計画問題の実行可能性を、線形計画法の
プログラムを用いることなく知ることができる。特に、
線形計画問題管理手段7は、線形計画問題ステータス計
算手段20によって「実行不可能である」ことを指示す
るステータスを付与された線形計画問題を除外して処理
を進めることにより、処理の効率を向上させることがで
きる。
【0155】線形計画問題のステータスをさらに詳細に
設定することができる。例えば、線形計画問題のステー
タスとして、「実行可能である」、「実行不可能であ
る」、「実行可能性が未知である」に加えて、「解決済
みである」並びに「基底解が与えられている」ことを指
示するステータスを設定することができる。
【0156】「実行可能である」ことを示すステータス
が設定された線形計画問題は、その実行可能性が線形計
画法の処理により判定されたものではなく、線形計画問
題ステータス計算手段20によって、他の線形計画問題
のステータスから計算されている線形計画問題である。
「基底解が与えられている」ことを示すステータスが設
定された線形計画問題は、隣接問題基底解計算手段18
によって、隣接する線形計画問題の実行可能基底と基底
解から、その線形計画問題の実行可能基底と基底解が計
算されている線形計画問題である。「実行不可能であ
る」ことを示すステータスが設定された線形計画問題
は、その実行不可能性が、線形計画法を用いて判定され
たか、または、前記の線形計画問題ステータス計算手段
によって他の線形計画問題のステータスから計算された
線形計画問題である。実行可能な線形計画問題を線形計
画問題解決エンジン手段が解決すると、該線形計画問題
のステータスは「解決済みである」に設定される。
【0157】線形計画問題管理手段7は、以下のように
線形計画問題を選択することによって、処理の効率化を
図る。 (1)「基底解が与えられている」ことを示すステータ
スが設定された線形計画問題が存在すれば、それを取得
する。 (2)「基底解が与えられている」ことを示すステータ
スが設定されている線形計画問題が存在しない場合、
「実行可能である」ことを示すステータスが設定された
線形計画問題が存在すれば、それを取得する。 (3)「基底解が与えられている」および「実行可能で
ある」ことを示すステータスが設定された線形計画問題
が存在しない場合、「実行可能性が未知である」線形計
画問題を取得する。
【0158】「基底解が与えられている」ことを示すス
テータスが設定された線形計画問題は、線形計画法のプ
ログラム中の実行可能性の判定処理を省略することがで
きるので、効率良く解を得ることができる。また、計算
の途中で中間的に得られる基底解から、隣接する線形計
画問題の基底解が得られるので、「基底解が与えられて
いる」ことを示すステータスが設定された線形計画問題
を優先的に解くことにより、他の線形計画問題の解決の
効率を向上させる。この効果は、連鎖的である。すなわ
ち、「基底解が与えられている」ことを示すステータス
が設定された線形計画問題を解決することにより、「基
底解が与えられている」ことを示すステータスが設定さ
れた線形計画問題が増殖していくという効果が得られ
る。
【0159】「実行可能である」ことを示すステータス
が設定された線形計画問題は、「基底解が与えられてい
る」ことを示すステータスが設定された線形計画問題と
は異なり、問題自身を解決するためには線形計画法のプ
ログラムのすべてのステップを実行しなければならない
が、隣接する線形計画問題の基底解を与えるという点で
は、「基底解が与えられている」ことを示すステータス
が設定された線形計画問題を解く場合と同様である。し
たがって、「実行可能である」ことを示すステータスが
設定された線形計画問題を優先的に解くことにより、や
はり、「基底解が与えられている」ことを示すステータ
スが設定された線形計画問題が連鎖的に増殖していくと
いう効果が得られる。
【0160】このように、線形計画問題管理手段7が線
形計画問題ステータス保持手段22に保持されているス
テータスに応じて、線形計画問題解決エンジン手段12
に引き渡す線形計画問題を計画的に選択することによっ
て、処理の効率を向上させることができる。
【0161】本発明の表割り付け装置の第3の実施例の
動作の一例を図15を用いて説明する。全体の動作は、
第1の実施例、第2の実施例とほぼ同様である。相違す
るのは線形計画問題管理手段7および線形計画問題解決
エンジン手段12における動作において、線形計画問題
基底解保持手段19、線形計画問題ステータス計算手段
20、線形計画問題ステータス保持手段22などを用い
ていることである。
【0162】以下の説明では、線形計画問題ステータス
保持手段22は、各(j1 ,・・・,jk )−問題に対
して、UNKNOWN,FEASIBLE,INFEA
SIBLE,READY,SOLVEDのいずれかのス
テータスを対応付けて保持する。これらのステータス
は、上述の「実行可能性が未知である」、「実行可能で
ある」、「実行不可能である」、「基底解が与えられて
いる」、「解決済みである」の各ステータスに相当す
る。初期状態においては、全ての問題のステータスはU
NKNOWNである。また、線形計画問題基底解保持手
段19に保持される線形計画問題のステータスは、RE
ADYまたはSOLVEDのいずれかである。
【0163】テキスト保持手段1、連結子保持手段2、
共通束縛条件保持手段3に保持される初期情報に関して
は、第1の実施例と同じである。さらに、区間束縛条件
保持手段4による前処理も、第1の実施例と同じであ
る。
【0164】線形計画問題管理手段7は、第1の実施例
と同様に、(j1 ,・・・,jk )−問題を特定し、
(j1 ,・・・,jk )に固有な、各テキストの割付ボ
ックス高をレイアウト評価式計算手段10に渡し、レイ
アウト評価式v1 1 +・・・+vm m を得る。得ら
れたレイアウト評価式を目的関数とし、
【数18】 の形で表わされる線形方程式を束縛条件とする(j1
・・・,jk )−問題を、線形計画問題解決エンジン手
段12に引き渡して解く。
【0165】図16は、本発明の表割り付け装置の第3
の実施例における線形計画問題解決の処理の一例を示す
フローチャートである。S101において、線形計画問
題管理手段7は、線形計画問題解決エンジン手段に引き
渡すべき線形計画問題、すなわち、(j1 ,・・・,j
k )−問題を特定する。S102において、線形計画問
題管理手段7は、選択された(j1 ,・・・,jk )−
問題を線形計画問題として完成させる。S103におい
て、線形計画問題解決エンジン手段12は、与えられた
線形計画問題を解く。S104において、線形計画問題
管理手段7は、線形計画問題解決エンジン手段12から
の返り値が最適パラメータと目的関数の最小値(最大
値)である場合には、線形計画問題と対応付けて局所解
保持手段8に付け加えた後、S101へ戻り、手続きを
繰り返す。線形計画問題解決エンジン手段12からの返
り値が、線形計画問題が実行不可能であることを報告す
るものである場合には、何もせず、S101へ戻り、手
続きを繰り返す。
【0166】この処理をすべての(j1 ,・・・,
k )−問題について繰り返し行なうことにより、局所
解保持手段8には、解決した(j1 ,・・・,jk )−
問題の最適解およびそのときのパラメータが蓄積されて
いる。線形計画問題管理手段7は、この局所解保持手段
8を走査し、最小の解を求める。そのときのパラメータ
を用いて表のレイアウトを決定し、テキストを割り付け
ることにより、表を完成させることができる。
【0167】以下、S101ないしS103の各ステッ
プの詳細な処理について説明する。図17は、線形計画
問題の特定処理の一例を示すフローチャートである。線
形計画問題管理手段7は、以下の手続きを経て、線形計
画問題解決エンジン手段12に引き渡すべき線形計画問
題を特定する。
【0168】S111において、READY状態の線形
計画問題が線形計画問題ステータス保持部22に登録さ
れていれば、S112においてそれを取得する。
【0169】S113において、READY状態の線形
計画問題が線形計画問題ステータス保持部22に登録さ
れていない場合、FEASIBLE状態の線形計画問題
が線形計画問題ステータス保持部22に登録されていれ
ば、S114においてそれを取得する。
【0170】S115において、READY状態の線形
計画問題、FEASIBLE状態の線形計画問題のいず
れも線形計画問題ステータス保持部22に登録されてい
ない場合、UNKNOWN状態の線形計画問題が線形計
画問題ステータス保持部22に登録されていれば、S1
16においてそれを取得する。
【0171】S117において、線形計画問題ステータ
ス保持部22に登録されている全ての線形計画問題のス
テータスがINFEASIBLE,SOLVEDのいず
れかであるか調べ、そうであるときにはS118の処理
を行ない、少なくとも1つの線形計画問題のステータス
がREADY,FEASIBLE,UNKNOWNのい
ずれかであるときには、S112またはS114または
S116で線形計画問題が選択されているので、線形計
画問題管理手段7による線形計画問題を特定する処理を
終了し、次の線形計画問題を完成させる処理に移る。
【0172】S117において、線形計画問題ステータ
ス保持部22に登録されている全ての線形計画問題のス
テータスがINFEASIBLE,SOLVEDとなる
と、S118において、線形計画問題管理手段7は、局
所解保持手段8を走査して、登録された目的関数の最小
値あるいは最大値の中から、大域的な最小値あるいは最
大値を探す。次いで、探した最小値あるいは最大値を与
える線形計画問題と最適パラメータを取得する。この最
適パラメータにより表のレイアウトを作成し、表を構成
することができる。このS118の処理の後、本発明の
表割り付け装置全体の処理を終了する。
【0173】図18は、線形計画問題を完成させる処理
の一例を示すフローチャートである。線形計画問題管理
手段7は、図17で説明した線形計画問題の選択処理に
よって選択された線形計画問題、すなわち、(j1 ,・
・・,jk )−問題を以下の手続きによって線形計画問
題として完成する。
【0174】S121において、特定された(j1 ,・
・・,jk )−問題のステータスが、FEASIBL
E,UNKNOWNのいずれかである場合は、S122
において、区分束縛条件保持手段4、連結子保持手段
2、および、共通束縛条件保持手段3から、(j1 ,・
・・,jk )−問題に属する線形計画問題の束縛条件
【数19】 を計算する。
【0175】S123において、特定された(j1 ,・
・・,jk )−問題のステータスがREADYである場
合は、S124において、線形計画問題基底解保持手段
19中で、(j1 ,・・・,jk )−問題に対応付けら
れている単体表主要部[qi,j ]と基底解(ξX )(X
∈Ω)を取得し、(j1 ,・・・,jk )−問題に属す
る線形計画問題の束縛条件
【数20】 を計算する。
【0176】S125において、レイアウト評価式計算
手段10から与えられた(j1 ,・・・,jk )−問題
に対する線形計画問題の目的関数を得る。そして、S1
26において、S122またはS124で計算した束縛
条件と目的関数からなる線形計画問題を定義し、線形計
画問題解決エンジン手段12に引き渡す。
【0177】図19は、線形計画問題の解決処理の一例
を示すフローチャートである。線形計画問題解決エンジ
ン手段12は、以下の手続きで、線形計画問題管理手段
7から与えられた線形計画問題を解く。
【0178】S131において、与えられた(j1 ,・
・・,jk )−問題のステータスがFEASIBLE,
UNKNOWNのいずれかであるときには、S132に
おいて、線形計画問題解決エンジン手段12は、与えら
れた線形計画問題の実行可能性を線形計画法を用いて判
定する。与えられた線形計画問題が実行不可能と判定さ
れた場合、S133において、線形計画問題ステータス
保持手段22中の(j1 ,・・・,jk )−問題に対応
するステータスをINFEASIBLEに変更する。さ
らに、(j1 ,・・・,jk )−問題を変更起点リスト
21に登録した上で、線形計画問題ステータス計算手段
20を呼び出す。線形計画問題ステータス計算手段20
は、(j1 ,・・・,jk )−問題のステータスの変化
がもたらす他の線形計画問題のステータスの変化を計算
する。また、線形計画問題解決エンジン手段12は処理
を終え、線形計画問題管理手段7に制御を返す。
【0179】S132において、該線形計画問題が実行
可能と判断された場合、S134において、掃き出し法
等を用いて実行可能基底(J)、基底解(ξ'X)(X∈
Ω)、実行可能基底に属する単体表(主要部と非斉次
部)[qi,j i=1,・・・,r,j=1,・・・,2k+m,(bi
i=1,・・・,rを計算して、現在の実行可能基底、基底解、
単体表とする。そして、S136へ進む。
【0180】一方、S131において、与えられた(j
1 ,・・・,jk )−問題のステータスがREADYで
ある時には、S135において、線形計画問題基底解保
持手段19から(j1 ,・・・,jk )−問題に対応付
けられた実行可能基底(J)を取得して、現在の実行可
能基底、基底解、単体表とする。
【0181】S136において、現在の実行可能基底を
挟んで隣接する線形計画問題の実行可能基底(J’)、
基底解(ξ'X)(X∈Ω)、(J’)に属する単体表主
要部[q'i,ji=1,・・・,r,j=1,・・・,2k+mを求め、線形計
画問題基底解保持手段19に登録する。この処理は、図
20を用いて後述する。
【0182】S137において、現在の基底解が
(j1 ,・・・,jk )−問題の目的関数の最小値を与
えているか否かを判定し、与えていないときは、S13
8において、現在の単体表にピボット変換を施して、新
たな実行可能基底、基底解、単体表を計算し、現在の実
行可能基底、基底解、単体表とした上で、S136の処
理を繰り返す。
【0183】ここで、最小性の判定、実行可能基底、基
底解、単体表の計算方法は単体(シンプレックス)法の
単体基準I、単体基準IIIとして知られている方法に
よる。
【0184】S137において、現在の基底解が
(j1 ,・・・,jk )−問題の目的関数の最小値を与
えているならば、S139において、線形計画問題ステ
ータス保持手段22中の(j1 ,・・・,jk )−問題
を変更起点リスト21の最後尾に追加する。
【0185】S140において、線形計画問題ステータ
ス計算手段20を呼び出して、他の線形計画問題のステ
ータスの変化を計算させる。
【0186】S141において、現在の基底解(最適パ
ラメータ)と目的関数の最小値を線形計画問題管理手段
7に報告するとともに、制御を返す。
【0187】図20は、現在の実行可能基底を挟んで隣
接する線形計画問題の実行可能基底、基底解、単体表主
要部を求める処理の一例を示すフローチャートである。
図20に示したフローチャートは、すべてのi=1,・
・・,kについて実行される。図19のS136で行な
われる処理は以下の手続きで実行される。
【0188】S151において、実行可能基底のyi
対応する成分ξy(i)が0であるか否かをチェックする。
ξy(i)=0であるならば、S153以下を実行し、その
他の場合はS152以下を実行する。S153におい
て、(j1 ,・・・,ji-1 ,ji +1,ji+1 ,・・
・,jk )−問題のステータスがUNKNOWN、FE
ASIBLEのいずれかであるか否かを判定する。
【0189】S153でUNKNOUN、FEASIB
LEのいずれかであるときは、S154において、実行
可能基底(J’)、基底解(ξ'X)(X∈Ω)、単体表
主要部[q'i,ji=1,・・・,r,j=1,・・・,2k+mを以下のよう
に求める。
【数21】 ただし、T-1[qi,j ]Tは、[qi,j ]の(zi ,y
i )を軸にしたピボット変換、すなわち、新しい実行可
能基底(J’)に関する基底変換の結果であり、J=
{X1 ,・・・,Xr },zi =Xl であるとき、変換
行列
【数22】 によって計算される。ここで、En はn次単位行列を表
す。
【0190】S155において、S154で求められた
実行可能基底、基底解、単体表主要部を、(j1 ,・・
・,ji-1 ,ji +1,ji+1 ,・・・,jk )−問題
と対応付けて、線形計画問題基底解保持手段19に登録
する。
【0191】S148において、i=0に設定する。こ
れは、最初のテキストにカウンタを設定したことを意味
する。次に、S149において、i=kであるか否かを
テストする。これは、カウンタが最後のテキストに達し
たことをテストすることを意味する。もし、i=kであ
った場合、すなわち、カウンタが最後のテキストを指示
していた場合には、現在の実行可能基底を挟んで隣接す
る線形計画問題についての処理が終了したものとして、
図19のS136の処理を終了する。i=kが成立しな
い場合には、S150において、i=i+1としてカウ
ンタを1つ進めた上で、S151以下の処理を行なう。
S156において、線形計画問題ステータス保持手段2
2中の(j1 ,・・・,ji-1 ,ji +1,ji+1 ,・
・・,jk )−問題のステータスをREADYに変更
し、さらに、(j1 ,・・・,ji-1 ,ji +1,j
i+1 ,・・・,jk )−問題の変更前のステータスがU
NKNOWNであった場合には、(j1 ,・・・,j
i-1 ,ji +1,ji+1 ,・・・,jk )−問題を変更
起点リスト21の最後尾に追加する。そして、S149
に戻り、S149以下の手続を繰り返す。
【0192】S153において、(j1 ,・・・,j
i-1 ,ji +1,ji+1 ,・・・,j k )−問題のステ
ータスがUNKNOWN、FEASIBLEのいずれか
ではない場合には、S149に戻り、S149以下の手
続を繰り返す。
【0193】S151において、ξy(i)=0でない場合
には、引き続き、S152において、ξz(i)が0である
か否かを調べる。ξz(i)=0であるならば、S157以
下の処理を実行し、その他の場合には存在するならば、
次のiを取得して、同じフローを繰り返す。
【0194】S157において、(j1 ,・・・,j
i-1 ,ji −1,ji+1 ,・・・,jk )−問題のステ
ータスがUNKNOWN,FEASIBLEのいずれか
であるか否かを判定する。ステータスがUNKNOW
N,FEASIBLEでない場合には、S149に戻
り、S149以下の手続を繰り返す。
【0195】S157において、ステータスがUNKN
OWN,FEASIBLEのいずれかである場合には、
S158において、実行可能基底(J’)基底解
(ξ'X)(X∈Ω)、単体表主要部[q'i,j
i=1,・・・,r,j=1,・・・,2k+mを以下のように求める。
【数23】 ただし、T-1[qi,j ]Tは、[qi,j ]の(yi ,z
i )を軸にしたピボット変換、すなわち、新しい実行可
能基底(J’)に関する基底変換の結果であり、J=
{X1 ,・・・,Xr },yi =Xl であるとき、変換
行列
【数24】 によって計算される。
【0196】S159において、求められた実行可能基
底、基底解、単体表主要部は、(j1 ,・・・,
i-1 ,ji −1,ji+1 ,・・・,jk )−問題と
対応付けて、線形計画問題基底解保持手段19に登録す
る。
【0197】S160において、線形計画問題ステータ
ス保持手段22中の(j1 ,・・・,ji-1 ,ji
1,ji+1 ,・・・,jk )−問題のステータスをRE
ADYに変更し、さらに、(j1 ,・・・,ji-1 ,j
i −1,ji+1 ,・・・,jk)−問題の変更前のステ
ータスがUNKNOWNであった場合には、(j1 ,・
・・,ji-1 ,ji −1,ji+1 ,・・・,jk )−問
題を変更起点リスト21の最後尾に追加する。そして、
S149に戻り、S149以下の手続を繰り返す。
【0198】図21は、線形計画問題ステータス計算手
段20の動作の一例を示すフローチャートである。線形
計画問題ステータス計算手段20が線形計画問題解決エ
ンジン手段12により起動されると、以下の手順で処理
を行なう。
【0199】S161において、変更起点リスト21が
空であれば処理を終了し、制御を線形計画問題解決エン
ジン手段12に返す。変更起点リスト21が空でないと
きは、S162において、変更起点リスト21の先頭の
線形計画問題を取り去り、取り去った線形計画問題を起
点として、以下のステータスの変更を実行する。
【0200】S163において、起点線形計画問題(例
えば、(j1 ,・・・,jk )−問題とする)のステー
タスが、SOLVED,READY,FEASIBLE
のいずれかであるか否かを判定し、そのいずれかである
ときはS164の処理を行ない、INFEASIBLE
であるときはS165の処理を行なった後、S161へ
戻る。
【0201】図22は、起点線形計画問題のステータス
がSOLVED,READY,FEASIBLEのいず
れかである場合の線形計画問題ステータス計算手段の動
作の一例を示すフローチャートである。この処理は、起
点線形計画問題が少なくとも実行可能である場合に、そ
のステータスを隣接する線形計画問題に伝播させるため
の処理である。初期設定として、S171において、イ
ンデックスiを1に設定する。
【0202】S172において、ji >1のとき、次の
条件のいずれかを満たす最大のa<ji を探索する。 (1)(j1 ,・・・,ji-1 ,a,ji+1 ,・・・,
k )−問題のステータスは、SOLVED,READ
Y,FEASIBLEのいずれかである。 (2)(j1 ,・・・,ji-1 ,a,ji+1 ,・・・,
k )−問題のステータスはINFEASIBLEであ
る。 (3)a=1である。
【0203】S173において、S172で探索された
aが、上述の条件「(1)(j1 ,・・・,ji-1
a,ji+1 ,・・・,jk )−問題のステータスは、S
OLVED,READY,FEASIBLEのいずれか
である。」を満たすときは、S174において、a<j
<ji を満たすjについて、(j1 ,・・・,ji-1
j,ji+1 ,・・・,jk )−問題のステータスがUN
KNOWNであれば、ステータスをFEASIBLEに
変更する操作を施す。
【0204】S175において、S172で探索された
aが、上述の条件「(2)(j1 ,・・・,ji-1
a,ji+1 ,・・・,jk )−問題のステータスはIN
FEASIBLEである。」を満たすとき、S176に
おいて、j<aを満たすすべてのjについて、(j1
・・・,ji-1 ,j,ji+1 ,・・・,jk )−問題の
ステータスがUNKNOWNであれば、ステータスをI
NFEASIBLEに変更する操作を施す。
【0205】S177において、ji <ki −1のと
き、次の条件のいずれかを満たす最小のb>ji を探索
する。 (1)(j1 ,・・・,ji-1 ,b,ji+1 ,・・・,
k )−問題のステータスはSOLVED,READ
Y,FEASIBLEのいずれかである。 (2)(j1 ,・・・,ji-1 ,b,ji+1 ,・・・,
k )−問題のステータスはINFEASIBLEであ
る。 (3)b=ki −1である。
【0206】S178において、S177で探索された
bが、上述の条件「(1)(j1 ,・・・,ji-1
b,ji+1 ,・・・,jk )−問題のステータスはSO
LVED,READY,FEASIBLEのいずれかで
ある。」を満たすときは、S179において、b>j>
i を満たす全てのjについて、(j1 ,・・・,j
i-1 ,j,ji+1 ,・・・,jk )−問題のステータス
がUNKNOWNであれば、ステータスをFEASIB
LEに変更する操作を施す。
【0207】S180において、S177で探索された
bが、上述の条件「(2)(j1 ,・・・,ji-1
b,ji+1 ,・・・,jk )−問題のステータスはIN
FEASIBLEである。」を満たすときは、S181
において、j>bを満たすすべてのjについて、
(j1 ,・・・,ji-1 ,j,ji+1 ,・・・,jk
−問題のステータスがUNKNOWNであればステータ
スをINFEASIBLEに変更する操作を施す。
【0208】S182において、S171ないしS18
1の処理でステータスが変更された全ての線形計画問題
を変更起点リスト21の最後尾に追加する。
【0209】S183において、インデックスiが最後
であるか、すなわち、i=kであるかをチェックし、そ
うであれば図21のS164の処理を終了する。もし、
i<kであれば、S184において、インデックスiを
1増やして、S172以降の処理を繰り返す。
【0210】図23は、起点線形計画問題のステータス
がINFEASIBLEである場合の線形計画問題ステ
ータス計算手段の動作の一例を示すフローチャートであ
る。この処理は、起点線形計画問題が実行不可能の場合
に、そのステータスを隣接する線形計画問題に伝播させ
るための処理である。初期設定として、S191におい
て、インデックスiを1に設定する。
【0211】S192において、ji >1のとき、次の
条件のいずれかを満たす最大のa<ji を探索する。 (1)(j1 ,・・・,ji-1 ,a,ji+1 ,・・・,
k )−問題のステータスは、SOLVED,READ
Y,FEASIBLEのいずれかである。 (2)a=1である。
【0212】S193において、S192で探索された
aが、上述の条件「(1)(j1 ,・・・,ji-1
a,ji+1 ,・・・,jk )−問題のステータスは、S
OLVED,READY,FEASIBLEのいずれか
である。」を満たすときは、j>ji を満たす全てのj
について、(j1 ,・・・,ji-1 ,j,ji+1 ,・・
・,jk )−問題のステータスがUNKNOWNであれ
ば、ステータスをINFEASIBLEに変更する操作
を施す。
【0213】S194において、ji <ki −1のと
き、次の条件のいずれかを満たす最小のb>ji を探索
する。 (1)(j1 ,・・・,ji-1 ,b,ji+1 ,・・・,
k )−問題のステータスは、SOLVED,READ
Y,FEASIBLEのいずれかである。 (2)b=ki −1である。
【0214】S195において、S194で探索された
bが、上述の条件「(1)(j1 ,・・・,ji-1
b,ji+1 ,・・・,jk )−問題のステータスは、S
OLVED,READY,FEASIBLEのいずれか
である。」を満たすときは、j<ji を満たす全てのj
について、(j1 ,・・・,ji-1 ,j,ji+1 ,・・
・,jk )−問題のステータスがUNKNOWNであれ
ば、INFEASIBLEに変更する操作を施す。
【0215】S196において、S191ないしS19
5でステータスが変更された全ての線形計画問題を、変
更起点リスト21の最後尾に追加する。
【0216】S197において、インデックスiが最後
であるか、すなわち、i=kであるかをチェックし、そ
うであれば図21のS165の処理を終了する。もし、
i<kであれば、S198において、インデックスiを
1増やしてS192に戻り、次のiについて処理を繰り
返す。
【0217】上述のような処理により、ステータスがI
NFEASIBLEの問題は、線形計画管理手段7によ
って最初から除外されるので、線形計画法が適用される
問題の総数を減ずることができる。さらに、ステータス
がREADYの場合には、線形計画問題基底解保持手段
19に登録されている実行可能基底、基底解、単体表主
要部を用いることにより、これらの計算を省略すること
が可能となる。このように、線形計画法の処理の一部を
省略することにより、表割り付け装置の処理速度を向上
させることができる。
【0218】上述の各実施例では、テキストTの行折特
性列(sT,0 ,sT,1 ,・・・,s T,k(T))が区間束縛
条件として区間束縛条件保持手段4に設定されたものと
して説明した。この行折特性列(sT,0 ,sT,1 ,・・
・,sT,k(T))は、例えば、図8に示した行折関数から
得ることができる。図8を用いて説明したように、行折
関数は、そのテキストが割り付けられる矩形領域の幅、
すなわちボックス幅に関する階段関数となる。従って、
行折関数を完全に記述することは、その点を境にボック
ス高が不連続に変化するボックス幅の値、すなわち行折
特性値sT,i を全て求めることと同値である。
【0219】例えば、テキストTが和文であって、すべ
て同一の大きさの文字で固定ピッチで配列される場合に
は、禁則処理等を考えなければ、文字単位の行折を行な
えばよいので、簡単に行折特性列を得ることができる。
この場合、行折特性列は以下の計算式で計算することが
可能である。 sT,i =[(テキストTの文字数+i−1)/i]×
(文字の幅) ただし、sT,i はテキストTの行折がi行からi+1行
に増加する際のボックス幅の境界値である。また、記号
[]はガウス記号であり、[r]は実数rの整数部分を
表わす。
【0220】しかし、テキストTとしては、和文のみの
ほか、欧文あるいは和欧交じり文である場合もある。ま
た、可変ピッチのテキストの場合もある。このような場
合には、上述の計算式を適用することはできず、さらに
複雑な処理が必要となる。
【0221】欧文テキストと和文テキストの最も大きな
差は、テキスト中の行折候補点、すなわち行折を行なえ
るテキスト中の位置が、和文の場合では禁則を除けば任
意の文字の直前直後であるのに対し、欧文の場合ではハ
イフネーションと禁則を除けば単語の直前直後である点
にある。ここで、禁則とは、各種句読点(,。、)や、
各種区切り記号(「」『』“”‘’"')が、それらに付
随しているテキスト部分から孤立して行中に現れてはな
らないという規則であり、欧文と和文の両方で共通な処
理によって遵守することが可能である。
【0222】このように、テキストTが欧文か和文かに
よって、また、禁則処理やハイフネーションを行なうか
否か、さらには文字や単語のピッチ、文字の大きさなど
によっても、行折候補点が変化し、行折特性列が変化す
る。そのため、高品質な割り付けを行なうためには、行
折特性列は、テキストTが欧文であるのか和文であるの
か、あるいは和欧交じり文であるのかを考慮するととも
に、禁則や文字の大きさの変化なども考慮して設定され
る必要がある。以下、このようなことを考慮した行折特
性列を求める構成について説明する。以下の説明では、
テキストは横書きであることを仮定するが、縦書きの和
文テキストであっても同様に構成することができる。
【0223】図24は、区間束縛条件保持手段の一例を
示す構成図である。図中、23はテキスト解析手段、2
4はワード特性保持手段、25は仮行折候補点列保持手
段、26は仮行折候補点列初期化手段、27は仮行折候
補点列更新手段、28は矩形領域寸法計算手段、29は
矩形領域寸法境界値判定手段、30は矩形領域寸法境界
値保持手段である。
【0224】テキスト解析手段23は、テキスト保持手
段1に保持されているテキストを解析して、テキストを
ワードに分解し、そのワードに分解する境界点、すなわ
ち行折候補点を抽出する。さらに、分解したそれぞれの
ワードを割り付けるために最低限必要な矩形領域の幅と
高さを計算してワード特性保持手段24に格納する。
【0225】行折候補点は、基本的に、和文の場合は文
字の直前直後、欧文の場合は単語の直前直後である。た
だし、句読点(、。,.)の直前、開区切り記号
(「『“‘"')の直後、閉区切り記号(」』”’"')の
直前は行折候補点にはならない。また、欧文においてハ
イフネーションを許す場合には、ハイフネーション辞書
に基づいて決定される単語中のハイフネーション可能位
置も行折候補点に含める。さらに、テキストの先頭(最
初の文字の直前)とテキストの最後尾(最後の文字の直
後)も行折候補点に含める。
【0226】隣接する行折候補点に挟まれた部分をワー
ドと呼ぶ。この意味で、本発明におけるワードとは、通
常の意味とは相違する概念である。上述のように、基本
的には、和文の場合は各文字がワードであり、欧文の場
合は単語がワードとなる。テキスト解析手段23によ
り、テキストはn個のワードの列Word1 ,・・・,
Wordn に分解されるものとする。さらに、Word
i を割り付けるために最低限必要な矩形領域の幅をWw
i 、矩形領域の高さをWhi と表わす。このとき、テキ
スト解析手段23は列Ww1 ,・・・,Wwn とW
1 ,・・・,Whnを計算し、ワード特性保持手段2
4に格納する。
【0227】ワード特性保持手段24は、ワードを割り
付けるために最低限必要な矩形領域の幅Wwi と高さW
i を保持する。また、仮行折候補点列保持手段25
は、仮に行折を行なうテキスト中の位置を指示する仮行
折候補点列Skを保持する。
【0228】仮行折候補点初期化手段26は、ワード特
性保持手段24に保持された情報をもとに、仮行折候補
点列保持手段25中の仮行折候補点列Skに初期値を設
定する。
【0229】仮行折候補点列更新手段27は、ワード特
性保持手段24に保持された情報をもとに、仮行折候補
点列保持手段25に保持されている現在の仮行折候補点
列Skを変更して、ボックス高hgT,i が不連続に変化
する可能性のある次の仮行折候補点列Skを順次計算
し、仮行折候補点列保持手段25に保持させる。仮行折
候補点列更新手段27は、矩形領域寸法計算手段28お
よび矩形領域寸法境界値判定手段29の処理が行なわれ
るごとに仮行折候補点列Skの計算を行なう。この計算
は、仮行折候補点列Skが終了条件を満たすまで繰り返
し行なわれる。
【0230】矩形領域寸法計算手段28は、ワード特性
保持手段24に保持された情報をもとに、仮行折候補点
列保持手段25に保持されている現在の仮行折候補点列
Skに基づいて、テキストを割り付ける際の矩形領域の
寸法、すなわち、ボックスの幅Fw(Sk)および高さ
Fh(Sk)を計算する。
【0231】矩形領域寸法境界値判定手段29は、矩形
領域寸法計算手段によって計算された矩形領域の寸法
が、ボックス高の不連続点になっているか否かを判定
し、計算されたボックス高が不連続点になっている場合
には、そのボックスの寸法を矩形領域寸法境界値保持手
段30に格納する。この不連続点の判定は、矩形領域寸
法計算手段28によって計算されたボックスの高さFh
(Sk)が、直前の仮行折候補点列で計算されたボック
スの高さFh(Sk)’と等しいか否かを判定すればよ
い。等しくないときに、不連続点と判定することができ
る。
【0232】矩形領域寸法境界値保持手段30は、矩形
領域寸法境界値判定手段によって不連続点と判定された
矩形領域の寸法を保持する。処理が終了した時点で、こ
の矩形領域寸法境界値保持手段30に保持されているボ
ックスの幅の列が行折特性列(sT,0 ,sT,1 ,・・
・,sT,k(T))となる。また、ボックスの幅に対応して
保持されているボックスの高さが、行折特性値sT,i
固有のボックス高hgT,i である。
【0233】次に、図24に示した区間束縛条件保持手
段の一例における動作を説明する。前処理として、テキ
スト解析手段23は、テキスト保持手段1に保持された
テキストTをワードの列Word1 ,・・・,Word
n に分解する。さらに、テキスト解析手段23は、各ワ
ードを割り付けるために最低限必要な矩形領域の幅の列
Ww1 ,・・・,Wwn と高さの列Wh1 ,・・・,W
n を計算し、ワード特性保持手段24に格納する。
【0234】以下の処理では、3つの変数、仮行折候補
点列Sk、仮矩形領域幅wk、仮矩形領域高hkを管理
しながら、矩形領域寸法境界値保持手段30中の矩形領
域幅境界値列Wsi と矩形領域高境界列Hsi に値を追
加していく。以下の説明では、仮行折候補点列Sk、仮
矩形領域幅wk、仮矩形領域高hkはすべて仮行折候補
点列保持手段25に保持されているものとする。
【0235】また、ワードとワードおよび行と行の間の
スペースについては、次のように、あらかじめ与えられ
た定数を考慮する。 ・ワードとワードの間のスペースがとるべき最小幅はδ
で与えられる。テキストが和文あるいは和欧文交じり文
であるときには、δ=0である。テキストが欧文である
場合には、δの値は正である。 ・行と行の間隔については以下の2通りの指定が許され
るものとする。 −各行高さと該行直下の垂直スペースの和と、該行の高
さの比率r≧1が指定されている。 −上下に隣接する行の間の垂直スペースの絶対値△hが
指定されている。
【0236】矩形領域寸法境界値保持手段30には、最
終的に矩形領域幅境界値列Ws1 ,・・・,WsN およ
び矩形領域高境界値列Hs1 ,・・・,HsN が保持さ
れる。これらは以下の意味を持つ。 ・i=1,・・・,N−1において、ボックスの幅wが
条件Wsi ≦w<Wsi+1 を満たすならば、first
fit法で該テキストを幅wのボックスに割り付けた
ときのボックスの高さhはh=Hsi となる。 ・ボックスの幅wが条件w≧WsN を満たすならば、f
irst fit法でテキストTを幅wのボックスに割
り付けたときのボックスの高さhはh=HsNとなる。
【0237】矩形領域幅境界値列Ws1 ,・・・,Ws
N は増加列である。一方、テキスト中に異なる大きさを
持つ文字が混在することを許しているので、矩形領域高
境界値列Hs1 ,・・・,HsN は必ずしも減少列とな
るとは限らない。また、同様の理由により、各Wsi
境にテキストの行折数が変化するとは限らない。
【0238】図25は、区間束縛条件保持手段の一例に
おける動作の一例を示すフローチャートである。図25
では、テキスト解析手段23によって、各ワードを割り
付けるために最低限必要な矩形領域の幅の列Ww1 ,・
・・,Wwn と高さの列Wh 1 ,・・・,Whn がワー
ド特性保持手段24に格納された後の処理を示してい
る。
【0239】S201において、仮行折候補点列初期化
手段26は、仮行折候補点列保持手段25に保持されて
いる仮行折候補点列Skに初期値を設定する。まず、W
w’を、 Ww’=max Wwi (i=1,・・・,n) として、仮行折候補点列Sk=(i0 (=0),i1
・・・,im-1 ,im (=n))を、すべてのj=0,
・・・,m−1について以下の2条件が満たされるよう
に定める。ただし、j=m−1については、第1の条件
のみ満たすものとする。 Wwi(j)+1+δ+Wwi(j)+2+δ+・・・+δ+Ww
i(j+1)≦Ww’ Wwi(j)+1+δ+Wwi(j)+2+δ+・・・+δ+Ww
i(j+1)+δ+Wwi(j+1)+1>Ww’ このような(i0 ,・・・,im )は、矩形領域の幅を
仮にWw’として前述のファーストフィット法を適用す
ることにより、直ちに得ることができる。仮行折候補点
列初期化手段26は、仮行折候補点列SkをSk=(i
0 ,・・・,im)とする。また、仮矩形領域幅wkと
仮矩形領域高hkを0に初期設定する。
【0240】次に、S202において、矩形領域寸法計
算手段28は、仮行折候補点列Sk=(i0 ,・・・,
m )に基づいて、ボックスの寸法を計算する。ボック
スの幅を与える関数Fw(Sk)=Fw(i0 ,・・
・,im )は以下のように定義される。
【数25】
【0241】同様に、ボックスの高さを与える関数Fh
(Sk)=Fh(i0 ,・・・,i m )は、以下のよう
に定義される。・行折比率rが与えられているときは以
下に従う。
【数26】 ・行間隔△hが与えられているときは以下に従う。
【数27】
【0242】S203において、矩形領域寸法境界値判
定手段29は、仮矩形領域幅wkを矩形領域寸法計算手
段28によって計算されたボックスの幅Fw(Sk)で
置き換える。さらに、矩形領域寸法計算手段28によっ
て計算されたボックスの高さFh(Sk)と仮矩形領域
高hkを比較して、 hk≠Fh(Sk) が成り立てば、仮矩形領域高hkを新たな値Fh(S
k)で置き換え、さらに、仮矩形領域幅wkと仮矩形領
域高hkを、それぞれ、矩形領域寸法境界値保持手段3
0内の矩形領域幅境界値列Wsおよび矩形領域高境界値
列Hsの最後尾に追加する。ボックスの高さFh(S
k)と、仮矩形領域高hkが等しいときには何もしな
い。
【0243】S204において、仮行折候補点列更新手
段27は、仮行折候補点列Skが(0,n)であるか否
かの判定を行ない、仮行折候補点列Skが(0,n)で
なければS205以降の処理を行ない、仮行折候補点列
Skが(0,n)であれば処理を終了する。
【0244】S205において、仮行折候補点列更新手
段27は、まず、j=0,・・・,m−2について、△
jを以下のように計算する。
【数28】
【0245】次いで、S206において、次の条件を満
たす最小のj0 を求める。 △j0 =min △j (j=0,・・・,m−2)
【0246】S207において、行折候補点部分列
(i’j(0)(=ij(0)),i’j(0)+1,i’j(0)+2,・
・・,i’m'(=n))を、すべてのj=j0 ,・・
・,m’−1について以下の2条件が満たされるように
定める。ただし、j=m−1については、第1の条件の
み満たすものとする。 Wwi'(j)+1 +δ+Wwi'(j)+2 +δ+・・・+δ+W
i'(j+1) ≦wk+△j0 Wwi'(j)+1 +δ+Wwi'(j)+2 +δ+・・・+δ+W
i'(j+1) +δ+Wwi'(j+1)+1 >wk+△j0 このような行折候補点部分列(i’j(0),i’j(0)+1
i’j(0)+2,・・・,i’m')は、Fwi'(j(0))+1以降
のワードからなるテキストに、first fit法を
適用することによって、直ちに得ることができる。
【0247】最後に、S208において、(i0
1 ,・・・,i’j(0)-1,i’j(0),i’j(0)+1
i’j(0)+2,・・・,i’m')を新たな仮行折候補点列
Skとして、仮行折候補点列保持手段25に格納し、S
202に戻る。
【0248】このような処理によって、S204で仮行
折候補点列Skが終了条件を満たし、処理を終了する
と、矩形領域寸法境界値保持手段30には、計算された
矩形領域幅境界値列および矩形領域高境界値列が格納さ
れている。例えば、上述の第1の実施例においては、矩
形領域幅境界値列Ws1 ,・・・,WsN をテキストT
の行折特性列(sT,0 ,sT,1 ,・・・,sT,k(T))と
すればよい。この行折特性列を区間束縛条件として、以
降の線形計画問題管理手段7で管理された本処理、後処
理を行なう。これによって、テキストTが和文あるいは
欧文あるいは和欧文交じり文であっても、また、可変ピ
ッチのテキストや、文字の大きさが変化するテキストで
あっても、最適な表レイアウトを生成することが可能と
なる。
【0249】また、上述の矩形領域幅境界値列および矩
形領域高境界値列の算出方法は、表のレイアウトに限ら
ず、例えば、新聞や雑誌などのような囲み記事が混在す
る文書の割り付けなどにおいても適用可能であり、高品
質のレイアウトを生成するような自動文書割り付け装置
の設計が可能である。
【0250】
【発明の効果】以上の説明から明らかなように、本発明
によれば、表の水平,垂直罫線の間隔(行高,列幅)の
自動決定と、項目欄中のテキストの自動行折りを両立さ
せた上で、最良のレイアウト基準を満たす表を生成する
ことができる。すなわち、ユーザが表に現れるテキスト
を自ら勘案して行高や列幅を指定する必要がない。本発
明の表割り付け装置は、表中の各項目欄に割り付けられ
るテキストの量に応じて、適切なテキストの行折りと、
適切な列幅,行高を自動的に計算して、表全体としてあ
らかじめ与えられたレイアウト評価基準を最良にする表
レイアウトを生成することができる。
【0251】レイアウト評価基準としては、行折り一定
の状態のもとで一次式で表わされるものであれば、任意
のものが適用できる。従来より知られている表の面積、
表の周長といったレイアウト評価基準は、この基準を満
たす。また、例えば、請求項9に記載の発明のように、
各項目欄のテキスト割付後の空隙領域の面積の総和を用
いることが可能である。
【0252】また、請求項2に記載の発明において、表
の水平,垂直罫線の間隔の間に成り立つべき任意の一次
式や一次不等式で表わされる共通束縛条件を設定可能と
することにより、条件設定の自由度を増すとともに、細
かな条件設定を可能とすることができる。生成される表
のレイアウトは、この共通束縛条件をも満たすものとな
る。
【0253】請求項3に記載の発明において、テキスト
分類手段によって、テキストをあらかじめテキストクラ
スに分類しておくことにより、解決すべき線形計画問題
の総数を減少させ、結果として処理の効率を向上させる
ことができる。
【0254】請求項4に記載の発明において、単体表主
要部保持手段に計算済みの単体表の主要部を保持させて
おくことにより、線形計画問題間で単体表の主要部を共
有することができ、不必要な再計算を回避し、処理の効
率を向上させることができる。
【0255】請求項5に記載の発明において、線形計画
問題基底解保持手段を有し、計算済みの実行可能基底、
基底解を保持させておくことにより、線形計画問題解決
エンジン手段が新たに線形計画問題を解き始める際に、
この線形計画問題基底解保持手段をを参照して、対応す
る実行可能基底、基底解が存在する場合には、その実行
可能基底、基底解を用いることにより、実行可能性の判
定や、初期実行可能基底を探索する処理などを省略する
ことができ、演算時間を短縮して処理の効率を向上させ
ることができる。
【0256】請求項6に記載の発明において、線形計画
問題ステータス保持手段を有することにより、例えば、
「不可能」を示すステータスを有する線形計画問題を解
かないように制御することができる。また、線形計画問
題ステータス計算手段によって、計算された線形計画問
題から他の線形計画問題についての実行可能性を判定で
きるとき、その結果に基づいて線形計画問題ステータス
保持手段内のステータスを変更することにより、線形計
画法による実行可能性の処理を省略することができる。
これらにより、演算時間を短縮し、処理の効率を向上さ
せることができる。
【0257】さらに、請求項7に記載の発明において、
ステータスの種類を増やし、例えば、線形計画問題基底
解保持手段に実行可能基底、基底解が保持されているこ
とを示すステータスを設けることにより、さらに計算量
を減少させ、処理効率を向上させることができる。
【0258】請求項8に記載の発明において、ステータ
スに優先順位を持たせることにより、処理の効率を向上
させるような順に線形計画問題を選択し、解決してゆく
ように制御することが可能となるという効果がある。
【0259】請求項10に記載の発明によれば、テキス
トTが和文あるいは欧文あるいは和欧文交じり文であっ
ても、また、可変ピッチのテキストや、文字の大きさが
変化するテキストであっても、最適な表レイアウトを生
成することが可能となる。
【図面の簡単な説明】
【図1】 本発明の表割り付け装置の第1の実施例を示
す構成図である。
【図2】 種々の形状の表の説明図である。
【図3】 LaTeXにより水平インターバルを指定し
ないで作成した表の一例の説明図である。
【図4】 LaTeXにより水平インターバルの大きさ
を指定して作成した表の一例の説明図である。
【図5】 ユーザにより要求される表の一例の説明図で
ある。
【図6】 表の一例の説明図である。
【図7】 ボックスの一例の説明図である。
【図8】 行折関数の説明図である。
【図9】 本発明の表割り付け装置の第1の実施例にお
ける動作の概要を示すフローチャートである。
【図10】 レイアウトされた表の一例の説明図であ
る。
【図11】 本発明の表割り付け装置の第2の実施例を
示す構成図である。
【図12】 本発明の表割り付け装置の第2の実施例に
おける全体の動作の一例を示すフローチャートである。
【図13】 本発明の表割り付け装置の第2の実施例に
おける線形計画問題解決エンジン手段12の実行可能性
検証の動作の一例を示すフローチャートである。
【図14】 本発明の表割り付け装置の第2の実施例に
おける線形計画問題解決エンジン手段12の線形計画問
題解決の動作の一例を示すフローチャートである。
【図15】 本発明の表割り付け装置の第3の実施例を
示す構成図である。
【図16】 本発明の表割り付け装置の第3の実施例に
おける線形計画問題解決の処理の一例を示すフローチャ
ートである。
【図17】 線形計画問題の特定処理の一例を示すフロ
ーチャートである。
【図18】 線形計画問題を完成させる処理の一例を示
すフローチャートである。
【図19】 線形計画問題の解決処理の一例を示すフロ
ーチャートである。
【図20】 現在の実行可能基底を挟んで隣接する線形
計画問題の実行可能基底、基底解、単体表主要部を求め
る処理の一例を示すフローチャートである。
【図21】 線形計画問題ステータス計算手段20の動
作の一例を示すフローチャートである。
【図22】 起点線形計画問題のステータスがSOLV
ED,READY,FEASIBLEのいずれかである
場合の線形計画問題ステータス計算手段の動作の一例を
示すフローチャートである。
【図23】 起点線形計画問題のステータスがINFE
ASIBLEである場合の線形計画問題ステータス計算
手段の動作の一例を示すフローチャートである。
【図24】 区間束縛条件保持手段の一例を示す構成図
である。
【図25】 区間束縛条件保持手段の一例における動作
の一例を示すフローチャートである。
【符号の説明】
1…テキスト保持手段、2…連結子保持手段、3…共通
束縛条件保持手段、4…区間束縛条件保持手段、5…行
折特性列計算手段、6…行折特性列保持手段、7…線形
計画問題管理手段、8…局所解保持手段、9…最適解探
索手段、10…レイアウト評価式計算手段、11…基本
垂直インターバル計算手段、12…線形計画問題解決エ
ンジン手段、13…テキスト分類手段、14…単体表主
要部保持手段、15…初期設定手段、16…実行可能性
判定問題部、17…線形計画問題部、18…隣接問題基
底解計算手段、19…線形計画問題基底解保持手段、2
0…線形計画問題ステータス計算手段、21…変更起点
リスト、22…線形計画問題ステータス保持手段、23
…テキスト解析手段、24…ワード特性保持手段、25
…仮行折候補点列保持手段、26…仮行折候補点列初期
化手段、27…仮行折候補点列更新手段、28…矩形領
域寸法計算手段、29…矩形領域寸法境界値判定手段、
30…矩形領域寸法境界値保持手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 明 神奈川県横浜市保土ヶ谷区神戸町134番 地 横浜ビジネスパークイーストタワー 富士ゼロックス株式会社内 (56)参考文献 特開 平4−280362(JP,A) 特開 平5−151208(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/21 G06F 17/50 G06F 17/60

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 表中に現れるテキストを保持するテキス
    ト保持手段と、パラメータを用い表の列幅または行高を
    表現する一次式を保持する連結子保持手段と、表項目欄
    中に配置される前記各テキストを割り付けた際に行折状
    態が一定になる矩形の高さまたは幅の区間ごとに該矩形
    の高さまたは幅が一定となるために前記パラメータの満
    たすべき条件の組である区間束縛条件を保持する区間束
    縛条件保持手段と、レイアウトの良さを表わし前記区間
    束縛条件保持手段に保持された区間束縛条件ごとに前記
    パラメータを用いた一次式で表現されるレイアウト評価
    式を計算するレイアウト評価式計算手段と、前記区間束
    縛条件保持手段に保持された区間束縛条件を制約条件と
    し各区間束縛条件に対応するレイアウト評価式を目的関
    数とする線形計画問題を解き最良のレイアウト評価値と
    それに対応するパラメータの組または問題解決不能を知
    らせる信号を出力する線形計画問題解決エンジン手段
    と、前記線形計画問題解決エンジン手段の出力結果をも
    とに全ての線形計画問題の中で最良のレイアウト評価値
    とそれに対応するパラメータの組から表レイアウトを決
    定する処理を少なくとも行なう線形計画問題管理手段を
    有することを特徴とする表割り付け装置。
  2. 【請求項2】 さらにテキストの行折に依存せず前記パ
    ラメータ間に成立すべき共通束縛条件を表わす一次式を
    保持する共通束縛条件保持手段を有し、前記線形計画問
    題解決エンジン手段は、前記区間束縛条件保持手段に保
    持された区間束縛条件と前記共通束縛条件保持手段に保
    持された共通束縛条件を制約条件とする線形計画問題を
    解くことを特徴とする請求項1に記載の表割り付け装
    置。
  3. 【請求項3】 前記テキスト保持手段に保持されるテキ
    ストを前記連結子保持手段に保持されている一次式の斉
    次部分に基づいてテキストクラスに分類して保持するテ
    キスト分類手段を有し、前記区間束縛条件保持手段は、
    前記テキストクラスごとに前記区間束縛条件を計算し保
    持することを特徴とする請求項1または2に記載の表割
    り付け装置。
  4. 【請求項4】 前記線形計画問題解決エンジン手段は前
    記線形計画問題ごとに単体表を計算するとともに、該線
    形計画問題解決エンジン手段で計算される単体表の中で
    複数の線形計画問題間で共有可能な部分である主要部を
    保持する単体表主要部保持手段を有し、前記線形計画問
    題エンジン手段が線形計画問題を解決する際に、先の線
    形計画問題の解決時に計算され、前記単体表主要部保持
    手段に保持された単体表の主要部を使用して計算するこ
    とを特徴とする請求項1ないし3のいずれか1項に記載
    の表割り付け装置。
  5. 【請求項5】 前記線形計画問題解決エンジン手段は、
    実行可能基底と基底解を計算するごとに計算された実行
    可能基底を挟んで隣接する線形計画問題の実行可能基底
    と基底解を計算する隣接問題基底解計算手段と、該隣接
    問題基底解計算手段により計算された実行可能基底と基
    底解を保持する線形計画問題基底解保持手段を有し、線
    形計画問題を解く際に、前記線形計画問題基底解保持手
    段に保持されている実行可能基底および基底解が存在し
    たとき、該実行可能基底および基底解を用いて計算を開
    始することを特徴とする請求項1ないし4のいずれか1
    項に記載の表割り付け装置。
  6. 【請求項6】 前記線形計画問題それぞれに対しその実
    行可能性が少なくとも「可能」または「不可能」または
    「未知」を示すステータスを保持する線形計画問題ステ
    ータス保持手段と、前記線形計画問題解決エンジン手段
    が各線形計画問題の実行可能性を判定するごとに前記線
    形計画問題ステータス保持手段が保持するステータスを
    複数の線形計画問題に関して更新する線形計画問題ステ
    ータス計算手段を有し、少なくとも「不可能」のステー
    タスを有する線形計画問題は処理しないことを特徴とす
    る請求項1ないし5のいずれか1項に記載の表割り付け
    装置。
  7. 【請求項7】 前記線形計画問題それぞれに対しその実
    行可能性が少なくとも「解決済み」、「基底解保持済
    み」、「実行可能」、「不可能」、または、「未知」を
    示すステータスを保持する線形計画問題ステータス保持
    手段と、前記線形計画問題解決エンジン手段が各線形計
    画問題の実行可能性を判定するごとに前記線形計画問題
    ステータス保持手段が保持するステータスを複数の線形
    計画問題に関して更新する線形計画問題ステータス計算
    手段を有し、少なくとも「不可能」のステータスを有す
    る線形計画問題は処理せず、「基底解保持済み」のステ
    ータスを有する線形計画問題は前記線形計画問題基底解
    保持手段に保持されている対応する実行可能基底および
    基底解を用いて線形計画問題を解くことを特徴とする請
    求項5に記載の表割り付け装置。
  8. 【請求項8】 前記線形計画問題ステータス保持手段に
    保持されたステータスは優先順位を持っており、前記線
    形計画問題管理手段は、該ステータスの優先順位に基づ
    いて線形計画問題を解く順序を決定する線形計画問題選
    択手段を有することを特徴とする請求項6または7に記
    載の表割り付け装置。
  9. 【請求項9】 前記レイアウト評価式計算手段で計算さ
    れるレイアウト評価式は、表中の項目欄にテキストが割
    り付けられた後の空隙領域の面積の総和に基づいた式で
    あることを特徴とする請求項1ないし8のいずれか1項
    に記載の表割り付け装置。
  10. 【請求項10】 前記区間束縛条件保持手段は、前記テ
    キスト保持手段に保持されているテキストを解析して単
    位テキストに分解しさらに前記各単位テキストを割り付
    けるために最低限必要な最小矩形領域の幅と高さをそれ
    ぞれ計算するテキスト解析手段と、該テキスト解析手段
    で計算された前記各最小矩形領域の幅と高さを保持する
    単位テキスト特性保持手段と、前記テキスト中で仮に行
    折を行なう箇所の列である仮行折候補点列を保持する仮
    行折候補点列保持手段と、前記単位テキスト特性保持手
    段に保持されている前記各最小矩形領域の幅と高さを基
    に前記仮行折候補点列を初期化する仮行折候補点列初期
    化手段と、前記単位テキスト特性保持手段に保持されて
    いる前記各最小矩形領域の幅と高さに基づき前記仮行折
    候補点列を順次更新して新たな仮行折候補点列を生成し
    前記仮行折候補点列保持手段に保持させる仮行折候補点
    列更新手段と、前記仮行折候補点列保持手段に順次保持
    される前記仮行折候補点列に基づいて前記テキストを割
    り付ける際の矩形領域の寸法を計算する矩形領域寸法計
    算手段と、前記仮行折候補点列の矩形領域の寸法が矩形
    領域の高さもしくは幅の不連続点を与えているか否かを
    判定する矩形領域寸法境界値判定手段と、該矩形領域寸
    法境界値判定手段によって矩形領域の高さもしくは幅の
    不連続点を与えていると判定された矩形領域寸法を保持
    する矩形領域寸法境界値保持手段を有することを特徴と
    する請求項1ないし9のいずれか1項に記載の表割り付
    け装置。
  11. 【請求項11】 パラメータを用い表の列幅または行高
    を表現する一次式、および、表項目欄中に配置される前
    記各テキストを割り付けた際に行折状態が一定になる矩
    形の高さまたは幅の区間ごとに該矩形の高さまたは幅が
    一定となるために前記パラメータの満たすべき条件の組
    である区間束縛条件が設定され、レイアウトの良さを表
    わし前記区間束縛条件ごとに前記パラメータを用いた一
    次式で表現されるレイアウト評価式を計算し、前記区間
    束縛条件を制約条件とし各区間束縛条件に対応する前記
    レイアウト評価式を目的関数とする線形計画問題を解い
    て最良のレイアウト評価値とそれに対応するパラメータ
    の組または問題解決不能の結果を得て、最良のレイアウ
    ト評価値とそれに対応するパラメータの組が得られた場
    合には、得られた結果をもとに全ての線形計画問題の中
    で最良のレイアウト評価値とそれに対応するパラメータ
    の組を検索し、最良のレイアウト評価値とそれに対応す
    るパラメータの組に基づき表レイアウトを決定すること
    により、表の行高、列幅および表中に現れるテキストの
    行折を自動的に決定することを特徴とする表割り付け方
    法。
JP06246349A 1994-04-11 1994-10-12 表割り付け装置および表割り付け方法 Expired - Fee Related JP3111832B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06246349A JP3111832B2 (ja) 1994-04-11 1994-10-12 表割り付け装置および表割り付け方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-71909 1994-04-11
JP7190994 1994-04-11
JP06246349A JP3111832B2 (ja) 1994-04-11 1994-10-12 表割り付け装置および表割り付け方法

Publications (2)

Publication Number Publication Date
JPH07334490A JPH07334490A (ja) 1995-12-22
JP3111832B2 true JP3111832B2 (ja) 2000-11-27

Family

ID=26413028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06246349A Expired - Fee Related JP3111832B2 (ja) 1994-04-11 1994-10-12 表割り付け装置および表割り付け方法

Country Status (1)

Country Link
JP (1) JP3111832B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3970357B2 (ja) * 1996-08-13 2007-09-05 富士ゼロックス株式会社 表割付装置及び表割付方法
JP2000242635A (ja) 1999-02-19 2000-09-08 Fuji Xerox Co Ltd 表編集装置

Also Published As

Publication number Publication date
JPH07334490A (ja) 1995-12-22

Similar Documents

Publication Publication Date Title
US5379373A (en) Document layout processing method and device for carrying out the same
US7640516B2 (en) Arranging graphic objects on pages
US7930072B2 (en) System for managing the navigational usability of an interactive map
Lindahl et al. A fix-and-optimize matheuristic for university timetabling
US20020032694A1 (en) System and method for creating, generating and processing user-defined generic specs
JP2000112993A (ja) 文書分類方法、記憶媒体、文書分類装置及び文書分類システム
US6665680B2 (en) Database structure having tangible and intangible elements and management system therefore
CN111949306A (zh) 一种支持开源项目碎片化学习的推送方法和系统
JP2021144294A (ja) データ補完システム、およびデータ補完方法
JP3111832B2 (ja) 表割り付け装置および表割り付け方法
Wandelt et al. An efficient and scalable approach to hub location problems based on contraction
Parkhomenko Questionnaires and organizational hierarchies.
Bemman et al. Generating Milton Babbitt’s all-partition arrays
DE102019202640A1 (de) Unterstützungssystem
Milanič et al. Minimal separators in graph classes defined by small forbidden induced subgraphs
Vinkó et al. Basin Hopping Networks of continuous global optimization problems
JP2020004373A (ja) 標準項目名設定装置、標準項目名設定方法及び標準項目名設定プログラム
Chen On performance evaluation with a dual-role factor
JPH07225770A (ja) データ検索装置
DE102020201383A1 (de) Unterstützungssystem, Speichermedium und Verfahren zur Darstellung von Beziehungen von Elementen
JP2845124B2 (ja) 最適解探索装置
CN117391643B (zh) 一种基于知识图谱的医保单据审核方法及系统
CN112131432A (zh) 数据网络设备的命令行多叉树获取方法及装置
JP6616854B2 (ja) 移行単位分析装置、移行単位分析方法及び移行単位分析プログラム
Bellone et al. An example of syntactic and semantic ties among images, texts and maps

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees