JP3173188B2 - 文字配置決定装置及びワークステーション - Google Patents

文字配置決定装置及びワークステーション

Info

Publication number
JP3173188B2
JP3173188B2 JP30315992A JP30315992A JP3173188B2 JP 3173188 B2 JP3173188 B2 JP 3173188B2 JP 30315992 A JP30315992 A JP 30315992A JP 30315992 A JP30315992 A JP 30315992A JP 3173188 B2 JP3173188 B2 JP 3173188B2
Authority
JP
Japan
Prior art keywords
character
characters
line
width
determined
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
JP30315992A
Other languages
English (en)
Other versions
JPH06131331A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP30315992A priority Critical patent/JP3173188B2/ja
Publication of JPH06131331A publication Critical patent/JPH06131331A/ja
Application granted granted Critical
Publication of JP3173188B2 publication Critical patent/JP3173188B2/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】一方、係る問題を解決するものとして、従
来、特開昭56−93546号公報に開示された植字方
法に関する発明があるが、係る発明は、実際に印字する
際に所定の型枠内に余白なく文字を配置するための文字
の大きさ(級数)を決定することを目的としてなされて
いる。すなわち、印字する型枠に相似する仮想スペース
を設定し、その仮想スペース内に文字を配置しておき、
係る仮想スペース内の文字をk倍することにより、実際
の型枠にバランス良く印字するもので、係るk倍の値を
決定するものである。したがって、上記した問題点であ
る仮想スペース内にいかにバランス良く文字を配置する
かの自動処理化はなされていない。
【0006】本発明は、上記した背景に鑑みてなされた
もので、その目的とするところは、任意形状の型枠内に
任意の文字列を余白なく、しかも見た目にもバランス良
く自動的に配置することのできる文字配置決定装置及び
ワークステーションを提供することにある。
【0007】
【課題を解決するための手段】上記した目的を達成する
ために、本発明に係る文字配置決定装置では、所定形状
の型枠内に、所定の文字列を配置するための文字配置決
定装置であって、与えられた前記型枠の情報並びに文字
列の情報から、前記型枠内に配置する文字の大きさ並び
に行数を算出する手段と、前記算出された行数並びに文
字の大きさに基づいて行毎の文字数を算出する手段と、
算出された行毎の文字数から、各行の余裕分を求め、
の余裕分に基づいて各行毎に、各文字毎の字間を算出
し、その算出した字間にしたがって前記各文字を配置す
る文字配置決定手段と、前記文字配置決定手段から行
間,行毎の字間の平均,行毎の字間の平均に対するばら
つき並びに行毎の字間の上下行に対するばらつきの情報
を受け、決定した各行ごとの各文字の配置状況を前記4
つの情報に基づいて評価する手段と、その評価する手段
の評価結果が悪い時に、前記行数・前記文字の大きさを
修正する修正手段とを備え、係る修正手段により修正さ
れた行数・文字の大きさに基づいて前記文字数を算出す
る手段を再実行可能に構成した。
【0008】
【0009】さらに好ましくは、前記行毎の文字数を算
出する手段を、与えられた文字列を構成する文字に応じ
た基本文字幅を有し、その基本文字幅で各文字が配置し
たと仮定して各行に順次文字を追加し、各行毎に配置す
る文字数を仮決定する文字数決定手段と、その文字数決
定手段により決定された、最終行における文字の配置状
況から、各行に配置した文字数の過不足状況を判断し、
所定の行に対して文字の追加・削減を適宜行い各行の配
置状況が均一になるように各行の文字数を決定する文字
数変更手段とから構成することである。
【0010】さらに、本発明のワークステーションとし
ては、上記したいずれかの構成からなる文字配置決定装
置がアプリケーションシステムとして搭載され、ワーク
ステーションが保有するキーボード等の入力装置或いは
テキストファイルから与えられた所定の文字列情報を、
同表示装置上に表示された所定の型枠内に自動配置可能
とした。
【0011】
【作用】型枠の形状や大きさ等の型枠情報と、その型枠
内に配置する文字列の情報に基づいて、型枠内に配置す
るに適した文字の大きさ並びにその時の行数を初期設定
する。次いで、文字数を算出する手段にて初期設定した
行数並びに文字の大きさにしたがって、文字列を構成す
る文字を順に各行に設定する。そして、各文字の幅を考
慮し各行での配置比率がほぼ等しくなるように各行に配
置する文字数を決定する。よって、各行に存在する余白
部分の量が各行でほぼ等しくなり、型枠内に均一に文字
を配置することが可能となる。次に、文字配置決定手段
にて、各行ごとに上記設定された文字数(文字)の字間
を、上記各文字の幅を考慮して適切な値を設定する。こ
れにより、極端な余白部分などがなく、型枠内に文字列
を構成する文字が均一に配置される。
【0012】また、評価手段並びに修正手段を設けた場
合には、上記のようにして決定された文字の配置状況を
判断し、適切でないときには、修正手段にて初期設定し
た行数或いは文字の大きさを修正する。そして、その修
正後の行数・文字の大きさにしたがって、上記処理を行
い、文字の配置を試みる。そして、必要に応じ、所定の
評価が得られるまで繰り返し修正並びに再配置を行い、
より完成度の高い文字配置を行う。
【0013】
【実施例】以下、本発明に係る文字配置決定装置の好適
な実施例を添付図面を参照にして詳述する。図1は本発
明の一実施例を示している。本例では、横書(横組)態
様の装置で(縦書態様のものでも略同様に行うことがで
きる)、ワークステーション内のアプリケーションシス
テムの一つとして搭載された例を示している。同図に示
すように、ワークステーション自体が備えたキーボー
ド,マウス等の入力装置1から直接、或いは記憶装置
(テキストファイル等)2に予め格納されたデータを読
み出すことにより、型枠並びに文字列等のデータが次段
の初期行数・級数算出部3に与えられるようになってい
る。尚、型枠データとしては、例えばイメージスキャナ
等から入力するようにしても良い。
【0014】この初期行数・級数算出部3では、与えら
れたデータに基づいて、その型枠内に所定の文字列を配
置する際における行数,行毎の平均文字数(仮設定)並
びに級数を算出するようになっており、具体的には、以
下の通りである。
【0015】*型枠が矩形の場合 与えられた文字列データから総文字数WN [文字]を
得、型枠データから型枠高さFH [mm]並びに型枠幅
W [mm]を得る。そして、それに基づいて、下記式
より行毎文字数平均WL [文字],行数LN [行]並び
に級数Q[級](但し、級は文字の大きさの単位を示
し、1級が0.25[mm]である)が、求められる。
【0016】
【数1】 WL =((3/2)・WN ・FW /FH 1/2 (1) LN =(WN /WL )+1 (2) Q = 4・FW /WL (3) 但し、上記式(2),(3)中、「WN /WL 」,「F
W /WL 」は、ともに小数点以下切り捨てをし、整数に
規格化している。尚、式(2)で1を加えたのは、文字
間の詰めより開けを多くしたいため、行数を多めにする
ためで、一方、式(3)で1を加えないのは、文字間の
詰めより開けを多くしたいため、級数を小さめに設定す
るためである。
【0017】ここで、上記各式(1)〜(3)の導出原
理について説明すると、以下のようになっている。ま
ず、型枠内に文字データを配置したとすると、1行目の
文字の上端は型枠の上端に位置し、また、最終のLN
目の文字の下端は型枠の下端に位置する。また、行と行
の間には所定の距離がおかれ、それが行間となる。よっ
て、行間を文字の高さ(全角)の半分と置くと、行間の
存在数は行数から1だけ少ないため、下記式(4)が成
り立つ。
【0018】
【数4】 FH =(LN −1)・(3/2)・Q/4+Q/4 (4) そして、この右辺は、下記式(4)′に近似できる。
【0019】 LN ・(3/2)・Q/4 (4)′ また、1行に配置する文字と文字の間隔(字間)を0と
すると、型枠幅FW は、1行に配置する文字数と1文字
の幅の積となり、さらに、総文字数は1行当たりに配置
する文字数と行数の積となるため、それぞれ下記式
(5),(6)が成り立つ。そして、それら各式
(4)′,(5),(6)から、WL ,LN ,Qについ
てそれぞれ解くことにより上記した式(1)〜(3)が
得られるのである。 FW =WL ・Q/4 (5) WN =WL ・LN (6) 一方、行間或いは字間等についてユーザ設定がある場合
(この設定も上記入力装置1等から与えられる)は、設
定字送りをWSS[全角比](=字間[全角比]+1)、
設定行送りをLSS[全角比](=行間[全角比]+1)
とおくと(図2参照)、上記と同様の理由から下記式
(7)〜(9)が成り立つ。尚、この例でも上記式
(2),(3)と同様に「WN /WL 」「FW /(WSS
・WL )」は、小数点以下切り捨てである。
【0020】
【数5】 WL =((LSS・WN ・FW )/(WSS・FH 1/2 (7) LN =(WN /WL )+1 (8) Q = 4・FW /(WSS・WL ) (9) そして、級数或いは行数のどちらかがユーザ設定された
場合、残りの変数を上記式より算出する。尚、両方とも
ユーザ設定された場合、その設定値をそのまま用いる。
【0021】尚また、上記標準(ユーザ設定がない)の
場合には、本例では、字間が0のため設定字送りWSS
1となり、行間が0.5(文字の全角に対する比率)と
したため、設定行送りLSSは1.5となるので、かかる
値を上記式(7)〜(9)に代入すると上記式(1)〜
(3)が得られる。
【0022】*型枠が任意形状の場合 型枠の形状が任意(矩形以外)とすると、行毎の型枠幅
等が異なるため、上記のように高さ並びに幅の寸法に基
づいて各数値を算出することができない。そこで、以下
のように、面積を基準に求める。
【0023】まず、型枠データから型枠の総面積FA
を求める。次いで、型枠内の文字の占有可能面積FAP
を求める。すなわち、上記したごとく、標準値は字間が
0で行間が0.5[全角比]であるため、文字の占有可
能面積FAPは、行間部分を除いた、 FAP=(2/3)FA (近似式) となる。
【0024】そして、その様にして求めた占有可能面
積FAPを文字列データから得られた総文字数WN で除算
することにより、一文字当たりの占有可能面積CAPを求
める(CAP=FAP/WN )。次いで、一文字当たりの
幅(高さ)は、文字の領域が正方形であることから面積
の平方根により求めることができるので、下記式(1
0)により、級数が求められ、また、係る級数が求めら
れたなら、行数は下記式(11)により求めることがで
きる。尚、式(11)においても、「(8/3)・FH
/Q」は、小数点以下切り捨てを行う。
【0025】
【数6】 Q=CAP 1/2 ・4 (10) LN =((8/3)・FH /Q)+1 (11) 一方、ユーザ設定がある場合には、上記型枠が矩形の場
合と同様の理由から、以下の手順により級数等が求めら
れる。すなわち、上記の標準の場合の処理に沿って説明
すると、′型枠データから型枠の総面積FA を求め
る。′次いで、型枠内の文字の占有可能面積FAPを求
める。この時、上記式と相違し、 FAP=FA /(LSS・WSS) となる。
【0026】′そして、一文字当たりの占有可能面積
APは、上記と同様の下記式、 CAP=FAP/WN により求められる。′そして、級数Qも、上記のよう
にして得られた一文字当たりの占有面積CAPに基づい
て、上記式(10)により求められる。さらに行数LN
は、下記式(12)により求める。なおこの式(12)
においても、「FH/(Q・LSS)」は、小数点以下切
り捨てを行う。
【0027】
【数7】 LN =4・FH /(Q・LSS)+1 (12) 尚、上記した各例では、前提として文字列を構成する各
文字の文字幅を全角(同一)とおいて、各式を求めた
が、実際に、見た目まで考慮してバランス良く配置する
ためには、文字数WS の変わりに文字長の文字数相当分
NSを用いる。すなわち、英数字は、通常の文字に比べ
て幅が狭く(約半角程度)、また、文字同士でもひらが
なやカタカナは、漢字に対して幅が狭い(半角から全角
の間)。さらに、同じ英数字でも例えば「I」のように
より幅が狭いものや、「Q」のように比較的幅が広いも
のもあり、また、かなでも「し」のように狭いものや
「ね」のように広いものがある。さらに、漢字同士でも
画数の多少や、縦線の数等によりその文字幅はばらつ
く。そこで、文字毎の文字幅をCW [j] (全角比)とす
ると、上記文字相当分WNSは、下記式により求められ
る。
【0028】
【数7】 尚、上記した各文字に対する文字幅は、予め所定の記憶
部に格納しておき、必要に応じて読み出すようになって
いる。
【0029】そして、上記いずれかの手順にしたがっ
て、初期の行数並びに級数が求められたなら、かかる算
出結果並びに文字列データ,型枠データなどの所定のデ
ータを次段の文字数決定部4に送り、そこにおいて、基
準文字幅での行毎の文字数の仮割り当てを行うようにな
っている。
【0030】すなわち、図3に示すように、まず配置可
能幅として、型枠データから得られた型枠幅を設定する
とともに、他のフラグなどを初期化する(S101,1
02)。そして、文字列データの先頭から順に処理対象
の行に1文字ずつ加えていき、その都度、基本文字幅を
行幅カウンタに加算する。この基本文字幅とは、各文字
毎にそれぞれ設定されており、後述するごとく文字幅
と、その文字に与えられる字間変動許容幅との合計から
なる。なお、この値は、実際の文字の幅が狭いほど小さ
くなり、所定のデータベース7に格納されている。そし
て、その行幅カウンタが、ステップ101で設定した配
置可能幅になるまで文字の加算を行う(S103〜10
7)。
【0031】そして、その処理対象の行が、配置可能幅
に達したなら、その行に配置可能な最大文字数が追加
(設定)されたことを意味するため、その時の文字数カ
ウンタに格納された文字数を文字数バッファにコピー
し、また、行幅カウンタに格納された行幅を行幅バッフ
ァにコピーする。但し、実際の処理においては、ステッ
プ116にて文字数がインクリメントされ、その処理対
象行に配置可能幅を越えた時にステップ117の分岐判
断がYとなり次のステップ118に進むため、ステップ
118に進んだ時の文字数カウンタには、配置可能幅を
越えない最大文字数より1文字多くなり、同様に行幅カ
ウンタに格納された値も1文字分の幅だけ長く(型枠幅
以上)なっているので、文字カウンタのカウンタ値から
1を減算した値、並びに行幅カウンタから基本文字幅を
減算した値を各バッファに格納することになる。これに
より、その処理対象の行に配置される文字数並びにその
文字により占有される行幅が、算出格納されることにな
る(S108,109)。
【0032】次いで、行数をインクリメントするととも
に、各カウンタをリセットし、次の行に対しての処理に
移るための所定の前処理を行った後(S110,11
1,113,114)、ステップ103に戻り、処理対
象の行に、文字列データのうち前の行の最後の文字の次
の文字から1つずつ追加し、その行に配置すべき文字を
決定する。そして、係る処理を文字列の最終文字になる
まで行い、最終文字に達したなら(S104)、分岐判
断ステップによりステップ115に飛び、文字数カウン
タ並びに行幅カウンタの値をそれぞれ各バッファにコピ
ーし(S115,116)、処理を終了する。これによ
り、各行に配置する文字数が決定される。尚、初期設定
で算出された行数は、上記したごとく余裕を持って予め
多く設定されているため、通常は最終行に達しないか、
或いは最終行の途中で最終文字に達するが、何等かの原
因により最終文字に達する前にステップ110で行数を
インクリメントした結果最終行を越えてしまった場合に
は、行数をデクリメントして最終行に戻した後(S11
2)、ステップ103に戻り最終行に1文字ずつ追加し
ていく。すなわち、最終行に残りすべての文字を追加す
る。これにより最終文字に達した時には、当然のことな
がら行幅カウンタに格納された値は型枠幅より長くな
る。
【0033】そして、このようにして決定された文字数
が、次段の文字数変更部5に与えられ、決定した各行の
文字数が適正か否かが判断され、不適当の場合には、文
字数等の変更処理がなされる。すなわち、概略を説明す
ると、最終行の行幅が型枠幅より大きいか否かを判断
し、小さい場合には、最終行に余白が多く存在し、バラ
ンスが悪い、すなわちそれ以外の上位の各行に文字を多
く詰め過ぎたたことを意味するため、所定の行の文字数
を削除し、それに応じて他の行に文字数を修正する。つ
まり、文字数を削減する所定の行の選択は、1文字削減
した時の行末余裕の開け側の字間変動許容幅の行毎の総
和に対する比率の最も小さい行とする。そして、残りの
行は削減した行末余裕の開け側の許容幅総和に対する比
率を越えない範囲で、各行の文字数を決定する(詳細は
後述する)。
【0034】一方、最終行の行幅が型枠幅よりも大きい
場合には、全体的に各行での文字の設定数が少ないこと
を意味するため、上記の所定の行に文字数を追加し、最
終行に綺麗に文字が配置できるようにする。つまり、1
文字追加した時の行末食み出しの、詰める側の字間変動
許容幅の行毎の総和に対する比率の最も小さい行を選択
し、そこに1文字追加する。そして、残りの行は追加し
た行の行末食み出しの、詰め側許容幅総和に対する比率
を越えない範囲で、各行の文字数を決定する(詳細は後
述する)。
【0035】そして具体的には、以下の処理が行われ
る。まず、この文字数変更部5で行う処理における各用
語の定義をすると、下記のようになっている。
【0036】
【表1】 行毎の先頭文字番号:LWS[i] ,i=0,1,…,LN -1
(行番号) 行毎の文字数:LWN[i] 文字毎の文字幅:CW [j] ,j=0,1,…,WN -1
(文字番号) 行末余裕(食み出し):LS [i] (型枠幅からそ
の行の各文字幅の合計値を引いた値が余裕或いは食み出
しとなるため、その行末余裕LS [i] は下記式により求
められる)
【0037】
【表2】 文字数削減時の行末余裕:LSM[i] 文字数追加時の行末食み出し:LSP[i] LSM[i] =LS [i] +CW [LWS[i+1]-1 ] LSP[i] =LS [i] −CW [LWS[i+1] ]
【0038】
【表3】 文字毎の開け側許容幅:CR [j] 行毎の開け側許容幅総和:LR [i]
【0039】
【表4】 文字毎の詰め側許容幅:CL [j] 行毎の詰め側許容幅総和:LL [i]
【0040】
【表5】 文字数削減時の行毎の開け側許容幅総和:LRM[i] 文字数追加時の行毎の詰め側許容幅総和:LLP[i] LRM[i] =LR [i] −CR [LWS[i+1]-1 ]−CR [L
WS[i+1]-2 ] LLP[i] =LL [i] −CL [LWS[i+1]-1 ]+CL [L
WS[i+1 ]
【0041】
【表6】 行末余裕の開け側許容幅総和に対する比率:LRSR [i] 文字数削減時の行末余裕の開け側許容幅総和に対する比
率:LRSRM[i] LRSR [i] =LS [i] /LR [i] LRSRM[i] =LSM[i] /LRM[i]
【0042】
【表7】 行末食み出しの詰め側許容幅総和に対する比率:LRSL
[i] 文字数追加時の行末食み出しの詰め側許容幅総和に対す
る比率:LRSLP[i] LRSL [i] =−LS [i] /LL [i] LRSLP[i] =−LSP[i] /LLP[i] 次に、本変更部5の具体的な処理手順について図4に示
すフローチャートに基づいて説明する。まず、最終行の
行幅が、型枠幅より大きいか小さいかの判断を行い、修
正内容を決定する。ここでは、最終行における行末余裕
が0以上(最終行までにすべての文字列がおさまってい
る)か否かを判断し、0以上であれは、文字数削減によ
る調整を行うことに決定する(S201,202)。
【0043】そして、削減することに決定すると、各行
のうち最も小さい文字削減時の行末余裕の開け側許容幅
総和に対する比率LRSRM[i] を有する行[I]を探索す
る。そして、その行の文字数LWN[I] を1文字減らす。
そして、その減らした後の比率範囲をLRSRM[i] に設定
する(S203)。
【0044】次いで、I行目以降、具体的にはI+1行
目から最終行までの各行に対して、再度文字設定を行
う。すなわち、前工程で行われたI+1行目以降におけ
る文字列の配置をクリアし、ステップ203で削除した
文字から順に残りの文字列の文字を1つずつ処理対象行
に追加していく。そして、この追加する都度その行につ
いての行末余裕と開け側許容幅総和を算出し、両者の比
率が上記比率範囲より小さくなる直前で追加処理を停止
し、その処理対象の行の文字数を決定する。次いで、次
の行に対して上記と同様の処理を繰り返し行い、最終行
まで文字の再設定を行う(S204)。
【0045】すなわち、上記した文字数決定部4では、
各行に配置する文字数を決定するに際し、型枠幅を越え
ない最大数を配置するようにしたが、この修正処理で
は、1字削除した行の比率範囲を基準とし、それを越え
ない(型枠幅を基準とする場合よりも狭くなる)文字数
を決定するようにしている。
【0046】そして、最終行まで文字の再設定を行った
なら、その最終行における行末余裕と開け側許容幅総和
との比率が、上記比率範囲より大きいか否かを判断し、
大きければステップ203に戻り、再度修正作業を続行
し、小さければ終了する(S205)。
【0047】一方、ステップ201の判断で、行末余裕
が負であると文字数追加による調整を行うことに決定す
る(S201,206)。そして、ステップ207に飛
び、上記削減処理と同様に最も小さいLRSLP[i] の行を
追加処理対象行に決定する。尚、LRSLP[i] が1より大
きくなる場合は、初期設定された級数並びに行数での箱
組は不可能であるため処理を終了する。次いで、対象行
の文字数LWN[I] を1文字増やし、その時の比率範囲を
RSLP[i] に設定する(S207)。
【0048】そして、I行目以降に対して行末食み出し
と詰め側許容幅総和とを1文字ずつ追加しながら算出
し、その比率が上記比率範囲より大きくなった時点、も
しくは、行末食み出しが詰め側許容幅総和より大きくな
る(比率が1より大きくなる)直前で停止し、その停止
字の文字数をその行に配置する文字数と決定し、次の行
の処理に移る(S208)。
【0049】そして、最終行まで文字の再設定を行った
なら、その最終行における行末食み出しと詰め側許容幅
総和との比率が、上記比率範囲より大きいか否かを判断
し、大きければステップ207に戻り、再度修正作業を
続行し、小さければ終了する(S209)。これによ
り、バランス良く配置するための各行の文字数が決定さ
れる。
【0050】上記処理手順により、初期設定された級
数,行数における各行に配置する文字数が決定されたな
ら、その文字数や文字列データなどの所定のデータを次
段の文字配置決定部6に与えられ、各字間毎の字間メン
バシップ値が同一行内で同じになるように、各字間を設
定する。そして、この例ではすべてのメンバシップ関数
は、図5に示すように三角形もしくは台数(図示の例で
はすべて三角形とした)としている。尚、各文字のメン
バシップ関数は予め字間設定用ファジィ知識ベース7に
格納されており、必要に応じて呼び出すようになってい
る。
【0051】この字間の設定の概略を説明すると、例え
ば同図(A)に示すように数字の「1」,かなの「か」
並びに漢字の「漢」の詰め側字間変動許容幅のメンバシ
ップ関数が与えられているとする。すなわち、「1」の
ように実際の文字幅が狭い場合には、「漢」のように実
際の文字幅が広い場合に比し、たとえ隣接する他の文字
との間隔である字間が同じでも、実際の文字部分の周囲
に存在する空間のために間延びしてしまうため、見た目
にも間延びした感じを生じさせない許容幅は狭くなる。
したがって、図示したように実際の文字の幅等に応じて
許容幅が異なる。
【0052】尚、このメンバシップ関数の幅(許容幅)
は、漢字同士,かな同士或いは英数字同士でもその画数
や実際の文字幅等により異なるため、上記したように各
文字ごとにメンバシップ関数を設定し、記憶させること
が望ましいが、例えば、漢字,かな,英数字等のグルー
プ化を図り(グループの分け方は上記のものに限らない
のはもちろんである)、各グループごとにメンバシップ
関数を設定し、簡略化してメモリ容量の縮小化並びに演
算処理等の簡便化を図るようにしても良い。
【0053】そして、仮に上記の3つの文字「1」,
「か」,「漢」が1行中に存在するとすると、それら3
つの文字のメンバシップ関数を合成し、合成メンバシッ
プ関数を求める(同図(B)参照)。この時、仮にこの
行の行末余裕が1.4であるとすると、同図(C)から
明らかなように、この行に関するメンバシップ値は約
0.4と求められる。よって、3つの文字の字間は、そ
のメンバシップ値0.4になるように決定、すなわち、
同図(D)に示すように、字間は「1」が0.3,
「か」が0.5,「漢」が0.6(3つの文字の時間の
合計は、1.4となり、行末余裕と等しくなる)に決定
される。このような処理を各行毎に行い、各行に配置さ
れる各文字の字間がバランスの良く配置されることにな
る。尚、この図示の例では、詰め側についてのみ示した
が、開け側についても同様である。
【0054】ところで、本例では、上記したごとくメン
バシップ関数の形状を三角形としたため、上記のような
メンバシップの合成などの推論処理を行うことなく、そ
の関数幅に基づいて比例的に各字間を求めることができ
る。したがって、本実施例における文字配置決定部6で
は、ファジィ推論を行うことなく、係る比率が一定にな
るように四則演算により、各字間を算出するようにして
いる。それにともない、データベース7に格納するデー
タも、ファジィ知識ではなく、文字と許容幅等を対にし
たテーブルとしている。そして、具体的には以下の通り
である。
【0055】*字間を開ける場合 文字毎の開け側許容幅をCR [j] 、行毎の開け側許容幅
総和をLR [i] とすると、メンバシップ値に相当する行
末余裕の開け側許容幅総和に対する比率であるL
RSR [i] は、上記したように、 LRSR [i] =LS [i] /LR [i] により求められる。
【0056】よって、各文字毎の開け幅CSR[j] は、 CSR[j] =LRSR [i] ・CR [j] により、簡単に求められる。 *字間を詰める場合 文字毎の詰め側許容幅をCL [j] 、行毎の詰め側許容幅
総和をLL [i] とすると、メンバシップ値に相当する行
末食み出しの詰め側許容幅総和に対する比率であるL
RSL [i] は、上記したように、 LRSL [i] =−LS [i] /LL [i] により求められる。
【0057】よって、各文字毎の詰め幅CSL[j] は、 CSL[j] =LRSL [i] ・CL [j] により、簡単に求められる。そして、このようにして求
められた字間データや文字列データ,型枠データ等を次
段の評価部8に送り、上記各処理部で求められた級数・
行数・文字数により、文字列が余白なくしかもバランス
よく型枠内に配置されているかの評価を行うようになっ
ている。
【0058】すなわち、この評価部8では、4入力1出
力のファジィ推論により評価を行うようになっており、
具体的には、入力としては、行間、行毎の字間の平
均LRSA 、行毎の字間の平均に対するばらつき
DRSA、並びに行毎の字間の上下行に対するばらつき
DRSNである。
【0059】そして、の平均値は、下記式により求め
られる。但し、行数をNとし、行毎の字間LRS[i] は、
S [i] >0ならLRSR [i] ,LS [i] ≦0ならLRSL
[i]とする。
【0060】
【数9】 また、のばらつきLDRSAは、
【0061】
【数10】 により、求められのばらつきLDRSNは、
【0062】
【数11】 より求められる。また、評価値式としては、以下のよう
になっている。尚、右辺の度合いが大きいほど、左辺の
評価結果の悪い度合いも高くなる。
【0063】 字間がスカスカの場合 → 評価結果悪い 字間がキチキチの場合 → 評価結果悪い 行間がスカスカの場合 → 評価結果悪い 行間がキチキチの場合 → 評価結果悪い 字間のばらつきが大きい場合 → 評価結果悪い そして、4つの入力を上記評価式に与え、所定のメンバ
シップ関数に従い推論し評価結果VE を求める。そし
て、その評価結果VE が、所定の閾値より大きい場合に
は、級数・行数の設定が不適切であったと判断でき、級
数・行数の修正を決定する。尚、この判断時の推論は、
ファジィ推論を用いて行ったが、重み加算により各評価
式の評価結果を合計することにより算出しても良い。
【0064】そして、評価部8における判定結果が「修
正必要」とすると、次段の修正用推論部9に、所定のデ
ータを送り、そこにおいて与えられたデータに基づい
て、ファジィ知識データベース10に格納されたファジ
ィ知識を用いて所定の推論を行い、級数・行数のうち、
変更の必要なものを特定するとともに、その修正内容を
決定するようになっている。具体的には、以下の通りで
ある。
【0065】まず、この推論部9は6入力4出力で、入
力は、行間、行毎の字間の平均LRSA 、行毎の字
間の平均に対するばらつきLDRSA、並びに行毎の字間
の上下行に対するばらつきLDRSN、級数変更ユーザ選
好度UC 、行数変更ユーザ選好度UL である。そし
て、〜は、上記した評価部8におけるそれと同様で
あり、評価部8側から与えられる。また、,は、使
用するユーザが級数或いは行数に対する変更の選好の度
合いを示すもので、入力装置1或いは、ユーザが固定と
考えると記憶装置2から与えられる。また、出力として
は、級数増加有望度ECI、級数削減有望度ECD
行数増加有望度ELI、行数削減有望度ELDである。
【0066】そして、修正知識並びにメンバシップ関数
としては、それぞれ図6,図7に示すようになってい
る。さらに、変更項目の決定アルゴリズムとしては、 ECI>ECD & EC1>ThL →級数増加 ECD>ECI & ECD>ThL →級数削減 ELI>ELD & EL1>ThD →行数増加 ELD>ELI & ELD>ThD →行数削減 となっている。但し、ThL ,ThD は、それぞれ級数
・行数の増減を決定するための閾値である。
【0067】そして、本推論部9では、図6,図7に示
すファジィ知識に基づいて、MAX−MIN法に基づい
てファジィ推論を行い、級数・行数の増減に対する有望
度を求め、それを上記変更項目の決定アルゴリズムに基
づいて、修正する対象(級数/行数)並びに処理内容
(増加/減少)を決定し、文字数決定部4等に修正内容
を送るようになっている。尚、本例では、級数,行数と
も1回の推論に付き1級,1行ずつの変更とした。
【0068】さらに、上記した文字配置決定部6の出力
は、液晶ディスプレイ,CRT等の表示装置11や、プ
リンタなどの出力装置12さらには、記憶装置13等に
接続され、少なくとも最終的に決定した配置を所定の出
力手段に対して出力できるようになっている。尚、本例
では、文字配置決定部6にて決定された(仮決定も含
む)データは、すべて出力できるようになっている。
【0069】上記したごとく、処理の順序にしたがっ
て、本装置の構成を説明したが、係る装置を用いて、実
際に配置決定処理を行うためのフローを図8に示す。同
図に示すように、与えられた型枠,文字列データなどか
ら、初期行数・級数算出部3にて、行数並びに級数を求
め、算出結果に基づいて、文字数決定部4にて各行ごと
に配置する文字数を決定する(S301〜304)。
【0070】次いで、文字数変更部5にて、上記決定し
た文字数を、型枠全体にバランス良く、各行に均等に配
置できるための文字数を決定し(S305,306)、
次いで、文字配置決定部6にて、その様にして決定され
た文字数に基づき、各行毎の文字の配置位置(字間)を
決定する(S307)。そして、評価部8にて、決定し
た配置でよいか否かが判断され(S308,309)、
良い場合には後述するステップ311に飛び、また悪い
場合には、修正用ファジィ推論部9にて、行数或いは級
数の修正が行われた後(S310)、ステップ305に
戻りその修正後の行数・級数に基づいて再度上記した文
字数の決定並びに配置位置の決定が行われる。
【0071】そして、上記処理ステップを実行すること
により、本装置で一応の評価が得られたなら、ステップ
311に飛ぶ。すなわち、本例では、本装置で決定した
配置に対し、ユーザが手作業によりさらに修正を施すこ
とができるようになっている。したがって、ユーザの手
作業が必要か否かが判断され、不要であればそのまま処
理を終了し、上記決定した文字配置が確定する。一方ユ
ーザによる修正が必要と判断された場合には、ユーザが
所定の修正作業を行った後(S312)、ステップ30
5に戻り、再度文字配置の修正処理が行われる。そし
て、係るユーザの修正命令は、本装置で一応決定された
文字の配置を表示装置11或いは出力装置12に出力
し、それを見ながら入力装置1を用いて入力することな
どにより行われる。
【0072】ここで、ユーザが行う手作業の修正の一例
を示すと、例えば級数の変更や、行数の変更、さらには
所定の文字の移動処理などがある。そして、級数・行数
変更の場合には、推論部9が行う処理をユーザが行った
ことになるため、上記したステップ310から305に
戻る処理と同様の過程により、変更後の級数等に基づい
て文字数・字間が決定される。また、文字の移動処理等
を行った場合には、文字数決定部5における文字の追加
/削減する行の探索等の処理をユーザが行ったことにな
るため、係る処理はステップ305の一部であるので、
この経路によりステップ305に戻った場合、処理した
行以降について、文字数の再設定を行うことになる(ス
テップ305の途中から、処理実行をする)。尚、係る
場合には、文字を移動した箇所以降について新たな型枠
設定をしたと考え、かかる新たな型枠に対して、移動し
た文字以降の各文字で構成される文字列をバランス良く
配置する処理をすると考え、新たに決定処理を行うよう
にしても良い。
【0073】そして、このようにして決定された文字の
配置の一例を示すと、図9に示すように、型枠Kに実際
の文字幅が異なる文字(図中、四角形で示す)が混在す
る場合、幅の狭い文字の字間aは狭くなり、幅の広い文
字の字間bは広くなる。また、好ましくは、たとえ幅の
狭い文字であっても、隣接する他の文字の幅に応じ、狭
い文字同士の字間cは狭く、一方、他の文字の幅が広い
場合には、字間dはやや広くすることであるが、本発明
は必ずしもここまで調整する必要はなく、各文字の特性
(文字幅,字間許容変動幅)に応じて各行の余裕分を振
り分ける(上記a,bのように)ようになれば良い。そ
して、本装置をワークステーションのアプリケーション
システムとして搭載することにより、デスク・トップ・
パブリッシング(DTP)機能の向上が図られる。
【0074】また、上記した第1実施例では、字間の決
定の際に用いたメンバシップ関数を三角形等とし、クリ
スプな処理を可能としたが、本発明はこれに限ることな
く、例えば図10に示すように、任意の形状からなるメ
ンバシップ関数を用いるようにしても良い。すなわち、
例えば幅の狭い文字の場合、字間が0から少しでも広が
った場合、見た目に与える影響は、実際に広がった(文
字と文字との間が離れた)距離よりも大きく感じ、逆に
幅の広い文字の場合字間が0から少し広がったとして
も、上記幅の狭い文字の時における広がりの印象よりも
少ない。また、ある程度字間が広がった状態からさらに
少量(上記0からの拡がり量と同じ)広がったとして
も、その時の広がりの印象は、上記のものよりも小さく
なる。すなわち、字間の変動距離に対する見た目に与え
る印象は、実際には線形ではない。そこで、上記のよう
に係る印象度の変化をメンバシップ関数で現すことによ
り、より細かで正確な字間の設定をすることが可能とな
る。
【0075】そしてこの場合においても、文字配置決定
部6における処理が、上記した実施例中の概要説明で示
したように、メンバシップ関数の合成等をしたり、メン
バシップ値が同一になるように各字間を設定する処理が
必要となる点等で異なるものの、その他の処理(装置)
は基本的に同一の構成を用いることができる。
【0076】また、文字配置決定部6が、上記のように
ファジィ推論により作動するとした場合に、使用するメ
ンバシップ関数は、上記任意形状はもちろん、図5に示
すような三角形やさらには台形状等のクリスプな処理可
能なものを用いても、もちろんかまわない。
【0077】さらに、上記した各実施例では、文字の単
位を最小文字(1文字)、すなわち「語」としたが、例
えば単語単位、熟語単位など、複数の文字が組合わさっ
て所定の意味を生じるような場合、係る単位を切り離し
不可分の一つの単位ととらえ、上記した文字幅をそれら
複数の文字の文字幅の合計値として、上記各処理を行う
こともできる。係る場合には、関連する文字が2行に渡
ることがなく、より読みやすい文字の配置となる。
【0078】
【発明の効果】以上のように、本発明に係る文字配置決
定装置及びそれを搭載したワークステーションでは、行
数等を決定する手段等により型枠の形状や大きさのデー
タと、そこに配置する文字列の情報(特に文字数)か
ら、配置時に必要な行数並びに文字の大きさを決定する
ことができ、それに従い型枠幅に応じて各行にほぼ均等
に文字を配置することができる。この時、各文字の幅を
考慮しておこなうため、文字列中、幅の細い文字の存在
比率の多い部分は1行当たり比較的多数の文字を配置
し、幅の太い文字の存在比率が多い部分は逆に1行当た
りに比較的少数の文字を配置することができ、これによ
り、各行に存在する余白部分の量が各行でほぼ等しくな
り、型枠内に均一に文字を配置することができる。ま
た、各行毎に文字を配置する時も、字間を上記同様に各
文字の有する文字幅等の特性を考慮して決定するため、
見た目に綺麗な文字配置が行える。
【0079】また、評価機構を設けた場合には、一度設
定した文字の配置状況を評価し、その評価値が悪い場合
には、当初設定した行数或いは級数が不適切であったと
し、その不適切な箇所を修正し、再度文字の配置を実行
することができるため、より完成度の高い自動配置を行
うことができる。
【図面の簡単な説明】
【図1】本発明に係る文字配置決定装置及びワークステ
ーションの好適な一実施例を示すブロック構成図であ
る。
【図2】本例における字間,行間等を説明するための図
である。
【図3】文字数決定部の機能を説明するフローチャート
図である。
【図4】文字数変更部の機能を説明するフローチャート
図である。
【図5】文字配置決定部の動作の一例を説明する図であ
る。
【図6】行数・級数修正用ファジィ知識データベースに
格納された修正知識の一例を示す図である。
【図7】同メンバシップ関数の一例を示す図である。
【図8】本装置の全体の動作を説明するフローチャート
図である。
【図9】文字配置された結果の一例を示す図である。
【図10】他の実施例における文字配置決定部において
実行されるメンバシップ関数及びその動作例を示す図
で、上記図5に対応する図である。
【符号の説明】
1 入力装置 2 記憶装置 3 初期行数・級数算出部 4 文字数決定部 5 文字数変更部 6 文字配置決定部 7 文字配置決定用の字間データベース 8 評価部 9 行数・級数修正用ファジィ推論部 10 行数・級数修正用ファジィ知識データベース 11 表示装置 12 出力装置 13 記憶装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/20 - 17/26 G06F 9/44 554 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定形状の型枠内に、所定の文字列を配
    置するための文字配置決定装置であって、 与えられた前記型枠の情報並びに文字列の情報から、前
    記型枠内に配置する文字の大きさ並びに行数を算出する
    手段と、 前記算出された行数並びに文字の大きさに基づいて行毎
    の文字数を算出する手段と、 算出された行毎の文字数から、各行の余裕分を求め、
    の余裕分に基づいて各行毎に、各文字毎の字間を算出
    し、その算出した字間にしたがって前記各文字を配置す
    る文字配置決定手段と、前記文字配置決定手段から行間,行毎の字間の平均,行
    毎の字間の平均に対するばらつき並びに行毎の字間の上
    下行に対するばらつきの情報を受け、決定した各行ごと
    の各文字の配置状況を前記4つの情報に基づいて評価す
    る手段と、 その評価する手段の評価結果が悪い時に、前記行数・前
    記文字の大きさを修正する修正手段とを備え、 係る修正手段により修正された行数・文字の大きさに基
    づいて前記文字数を算出する手段を再実行可能とした
    字配置決定装置。
  2. 【請求項2】 前記行毎の文字数を算出する手段が、与
    えられた文字列を構成する文字に応じた基本文字幅を有
    し、その基本文字幅で各文字が配置したと仮定して各行
    に順次文字を追加し、各行毎に配置する文字数を仮決定
    する文字数決定手段と、 その文字数決定手段により決定された、最終行における
    文字の配置状況から、各行に配置した文字数の過不足状
    況を判断し、所定の行に対して文字の追加・削減を行
    各行の配置状況が均一になるように各行の文字数を決定
    する文字数変更手段とから構成されることを特徴とする
    請求項1に記載の文字配置決定装置。
  3. 【請求項3】 請求項1または2に記載の文字配置決定
    装置がアプリケーションシステムとして搭載され、キー
    ボード等の入力装置或いはテキストファイルから与えら
    れた前記所定の文字列情報を、表示装置上に表示された
    所定の型枠内に自動配置可能としたワークステーショ
    ン。
JP30315992A 1992-10-16 1992-10-16 文字配置決定装置及びワークステーション Expired - Fee Related JP3173188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30315992A JP3173188B2 (ja) 1992-10-16 1992-10-16 文字配置決定装置及びワークステーション

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30315992A JP3173188B2 (ja) 1992-10-16 1992-10-16 文字配置決定装置及びワークステーション

Publications (2)

Publication Number Publication Date
JPH06131331A JPH06131331A (ja) 1994-05-13
JP3173188B2 true JP3173188B2 (ja) 2001-06-04

Family

ID=17917595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30315992A Expired - Fee Related JP3173188B2 (ja) 1992-10-16 1992-10-16 文字配置決定装置及びワークステーション

Country Status (1)

Country Link
JP (1) JP3173188B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594171B2 (en) 2004-10-01 2009-09-22 Adobe Systems Incorporated Rule-based text layout

Also Published As

Publication number Publication date
JPH06131331A (ja) 1994-05-13

Similar Documents

Publication Publication Date Title
US5956738A (en) Article layout device for automatic column text layout
US9223757B2 (en) Automated paragraph layout
US6414698B1 (en) Method for enabling adaptive sizing of display elements
US6603493B1 (en) Method for arranging display elements
JP3354754B2 (ja) カーニング処理方法
US6952210B1 (en) Method of generating multiple master typefaces containing kanji characters
US6678410B1 (en) Generating a glyph
EP0117406B1 (en) Automatically balancing and vertically justifying text and/or graphics
US6415306B2 (en) Method for selecting next feature for placement on a page
EP0117405A2 (en) Automatically balancing and vertically justifying text and/or graphics
JPH0969096A (ja) 記事配置装置
US6620206B1 (en) White space equalization around features placed on a page
CA1320277C (en) Display apparatus and method with multi-window function
US5642476A (en) Computer generated variable line width of a vector graphic
JP3173188B2 (ja) 文字配置決定装置及びワークステーション
JP4330954B2 (ja) 日本語テキストの調整用グリッドトラッキング及び文字組間隔
US20040125107A1 (en) Coordinating grid tracking and mojikumi spacing of Japanese text
JPH0675952A (ja) 文書作成装置
CN112926286B (zh) 一种动态表格生成方法与系统
JPS60150164A (ja) 文書作成装置
JP3594336B2 (ja) 文字組版方法及びその装置
JPH03291748A (ja) 表データ作成制御方法及びデータ処理装置
JP3275628B2 (ja) レイアウト修正装置
JP3503968B2 (ja) 文字組版方法
JPH09146519A (ja) キャラクタ合成装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010227

LAPS Cancellation because of no payment of annual fees