JPH0423081A - 文字列挿入方式 - Google Patents
文字列挿入方式Info
- Publication number
- JPH0423081A JPH0423081A JP2127770A JP12777090A JPH0423081A JP H0423081 A JPH0423081 A JP H0423081A JP 2127770 A JP2127770 A JP 2127770A JP 12777090 A JP12777090 A JP 12777090A JP H0423081 A JPH0423081 A JP H0423081A
- Authority
- JP
- Japan
- Prior art keywords
- character
- frame
- character string
- data
- house
- 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.)
- Granted
Links
Landscapes
- Processing Or Creating Images (AREA)
- Document Processing Apparatus (AREA)
- Instructional Devices (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、コンピュータ等で取り扱われる図形データ
の座標上において、不定形な囲枠データ]〕に文字列デ
ータを挿入する方式に関するものである。
の座標上において、不定形な囲枠データ]〕に文字列デ
ータを挿入する方式に関するものである。
[従来の技術]
従来、コンピュータ等では、地図などの図形を数値デー
タ化して取り扱っており、すなわち、予め定めた基準と
なる座押上に図形を当て嵌めることで数値データ化し、
そうした座標上において図形データとして取り扱ってい
る。
タ化して取り扱っており、すなわち、予め定めた基準と
なる座押上に図形を当て嵌めることで数値データ化し、
そうした座標上において図形データとして取り扱ってい
る。
例えば、電力会社等においては、契約により各戸に電力
を送配電することから、その把握および管理等のため、
コンピュータ上において配電状況の地図化が行われてい
る。つまり、第23図は。
を送配電することから、その把握および管理等のため、
コンピュータ上において配電状況の地図化が行われてい
る。つまり、第23図は。
コンピュータ上における。そうした図形表示例を示す斜
視図であるが、同図に示すようにコンピュータ上におい
ては、航空写真などによる地図情報から室枠等の輪郭だ
けを残して図形データを作成するとともに、それら室枠
各々の中に、契約名義人などの文字列データを挿入し、
いわゆる配電マツプとしており、文字列データを適宜更
新して顧客サービスの用に供している。
視図であるが、同図に示すようにコンピュータ上におい
ては、航空写真などによる地図情報から室枠等の輪郭だ
けを残して図形データを作成するとともに、それら室枠
各々の中に、契約名義人などの文字列データを挿入し、
いわゆる配電マツプとしており、文字列データを適宜更
新して顧客サービスの用に供している。
[発明が解決しようとする課題]
しかしながら、従来においては、文字列データの挿入(
更新)は、その文字列データを室枠内に最適に合致させ
るために、コンピュータの操作者が表示画像J二で家枠
の座標位置、大きさ、形状など諸元を検査し、それらに
適宜対応して、文字列データの座標位置、大きさなどの
諸元を逐一指示しなければならず、指示操作が煩わしく
手間がかかるという問題があった。
更新)は、その文字列データを室枠内に最適に合致させ
るために、コンピュータの操作者が表示画像J二で家枠
の座標位置、大きさ、形状など諸元を検査し、それらに
適宜対応して、文字列データの座標位置、大きさなどの
諸元を逐一指示しなければならず、指示操作が煩わしく
手間がかかるという問題があった。
この発明は上記のような課題を解決するためになされた
ものであり、指示操作を簡単化しうるよう文字列データ
挿入の自動化に好ましく適用でき、利便性の向上を図れ
る文字列挿入方式を提供することをその目的とする。
ものであり、指示操作を簡単化しうるよう文字列データ
挿入の自動化に好ましく適用でき、利便性の向上を図れ
る文字列挿入方式を提供することをその目的とする。
[課題を解決するための手段]
上記目的を達成するため、この発明の請求項1記載の文
字列挿入方式は、囲枠内で最も広い部分を判断し、その
中心点を求める囲枠内広さ判断処理と、この中心点を通
る直線のうち囲枠との交点間の距離が最も長い直線と平
行及び垂直に新たな座標軸を設定する座標変換処理と、
囲枠に外接して各辺がに−13E新たな各座標軸に平行
な最小の長方形を求め、この外接長方形の各辺に接する
所定幅部分のうち囲枠との重なりが少ない部分を削除し
、これを各辺が囲枠内に含まれるようになるまで繰り返
すことにより文字列を作図する文字枠を生成する文字枠
作成処理と、文字列の作図方向を上記文字枠が縦長のと
きは縦とし、横長のときは横とする作図方向決定処理と
、文字列データに含まれる分割可能情報と上記文字枠の
縦横比に基づき文字列の最適な並びを作成する文字列作
成処理と、作成された文字列が上記文字枠に入るように
文字サイズを決定する文字サイズ決定処理と、文字枠を
上記作成された文字列の行数に等しく分割して、各分割
部分の中心に各行の中心の文字がくるように作図する作
図処理とを有するものである。
字列挿入方式は、囲枠内で最も広い部分を判断し、その
中心点を求める囲枠内広さ判断処理と、この中心点を通
る直線のうち囲枠との交点間の距離が最も長い直線と平
行及び垂直に新たな座標軸を設定する座標変換処理と、
囲枠に外接して各辺がに−13E新たな各座標軸に平行
な最小の長方形を求め、この外接長方形の各辺に接する
所定幅部分のうち囲枠との重なりが少ない部分を削除し
、これを各辺が囲枠内に含まれるようになるまで繰り返
すことにより文字列を作図する文字枠を生成する文字枠
作成処理と、文字列の作図方向を上記文字枠が縦長のと
きは縦とし、横長のときは横とする作図方向決定処理と
、文字列データに含まれる分割可能情報と上記文字枠の
縦横比に基づき文字列の最適な並びを作成する文字列作
成処理と、作成された文字列が上記文字枠に入るように
文字サイズを決定する文字サイズ決定処理と、文字枠を
上記作成された文字列の行数に等しく分割して、各分割
部分の中心に各行の中心の文字がくるように作図する作
図処理とを有するものである。
また、この発明の請求項2記載の文字列挿入方式は5上
記請求項1の囲枠内広さ判断処理の代わりに、囲枠デー
タを構成するベクトルの向きを所定回りに書換えるベク
トル書換え処理と、書換えられた各ベクトルの関係を調
べることにより囲枠の凹凸を調べて凹みを除去する凹み
除去処理と、この凹み除去処理を所定の条件が満たされ
たときに停止して残った部分を仮囲枠とする仮囲枠決定
処理とを有するものである。
記請求項1の囲枠内広さ判断処理の代わりに、囲枠デー
タを構成するベクトルの向きを所定回りに書換えるベク
トル書換え処理と、書換えられた各ベクトルの関係を調
べることにより囲枠の凹凸を調べて凹みを除去する凹み
除去処理と、この凹み除去処理を所定の条件が満たされ
たときに停止して残った部分を仮囲枠とする仮囲枠決定
処理とを有するものである。
[作用コ
この発明の請求項1又は2記載の方式においては、囲枠
の大きさに応じて文字サイズが適宜決定され、また、囲
枠の形状に応じて最適な方向に作図方向が決定され、は
ぼ囲枠の中に文字列データが挿入される。このため、こ
の方式をソフトプログラム化することにより文字列デー
タの挿入が自動化される。
の大きさに応じて文字サイズが適宜決定され、また、囲
枠の形状に応じて最適な方向に作図方向が決定され、は
ぼ囲枠の中に文字列データが挿入される。このため、こ
の方式をソフトプログラム化することにより文字列デー
タの挿入が自動化される。
[実施例]
以下、この発明の実施例を図について説明する。
第1図はこの発明の第1の実施例を示すフローチャート
である。ここで、実施例の説明に入る前に、その前提と
なるものについて説明する。
である。ここで、実施例の説明に入る前に、その前提と
なるものについて説明する。
第2図に示すように、図面データとして、家屋の位置、
形状を示す家屋図データ(囲枠データ)とそれに対応し
た家名を示す家名データ(文字列データ)があり、それ
らを基に適切な図面を作成するものとする。上記家屋図
データは、第3図falに示すように家屋−つ一つの形
状を形成するベクトルの記録データで1図の例でいえば
6本のベクトルの始点と終点の記録データである。また
、家名データは、第3図fblに示すように家屋図デー
タの家屋に対応する家名の記録データで、どの家屋図の
家名か、文字数、文字列(分割可能の情報′*′も含む
)から成る。更に、本願は、家屋図データと家名データ
の対応関係が一枚の図面の上で容易に確認できることを
目標とし、以下の仕様を設定した(第4図参照)。
形状を示す家屋図データ(囲枠データ)とそれに対応し
た家名を示す家名データ(文字列データ)があり、それ
らを基に適切な図面を作成するものとする。上記家屋図
データは、第3図falに示すように家屋−つ一つの形
状を形成するベクトルの記録データで1図の例でいえば
6本のベクトルの始点と終点の記録データである。また
、家名データは、第3図fblに示すように家屋図デー
タの家屋に対応する家名の記録データで、どの家屋図の
家名か、文字数、文字列(分割可能の情報′*′も含む
)から成る。更に、本願は、家屋図データと家名データ
の対応関係が一枚の図面の上で容易に確認できることを
目標とし、以下の仕様を設定した(第4図参照)。
仕様:
・家名データの文字は自由な方向に作図する(第4図(
a)、(bl)。
a)、(bl)。
・家名データの文字は家屋図データの家屋の図からなる
べくはみ出さないようにする(第4図(C))。
べくはみ出さないようにする(第4図(C))。
・複数行に分割できる家名データは複数行に分けて作図
することができる(第4図(d)。
することができる(第4図(d)。
(e))。
以上の仕様を満たすため、本実施例では、基枠の中で一
番広い空間を見つけ、その付近に文字枠を設定して作図
する。なお、縦にY′軸、横にX′軸をとるものとし、
Y′軸は上方向に X を軸は右方向に増加するものと
する。
番広い空間を見つけ、その付近に文字枠を設定して作図
する。なお、縦にY′軸、横にX′軸をとるものとし、
Y′軸は上方向に X を軸は右方向に増加するものと
する。
さて、第1図のフローチャートを用いて第1の実施例に
ついて説明する。
ついて説明する。
a、室枠の中の広さの判断(ステップSl)室枠に外接
し、X′軸とY′軸に平行な最小の長方形を求める。そ
の長方形をX′軸 Y j軸に平行な直線でそれぞれ1
等分2g等分する。f。
し、X′軸とY′軸に平行な最小の長方形を求める。そ
の長方形をX′軸 Y j軸に平行な直線でそれぞれ1
等分2g等分する。f。
gの値は任意の正の整数であるが、大きいほうが良い。
上記X″軸とY′軸に平行なf−1本とg−i本の直線
の交点の中で、次の条件を満たす点を選ぶ。
の交点の中で、次の条件を満たす点を選ぶ。
条件:
・室枠の内部にある点である。
・この点を中心として基枠を構成するベクトルと接しな
い最大の円を作ったとき、その半径が他の点を中心とし
た同じような円の半径より短くない。
い最大の円を作ったとき、その半径が他の点を中心とし
た同じような円の半径より短くない。
選ばれた点をC6とする(第5図参照)。
b、座標変換(ステップS2)
上記で選ばれたC8について次の処理を行う。
まず、室枠を構成するベクトルV1yV21・・・gV
nについて、任意のvIと平行でかっC8を通る直線を
引く。直線とベクトルの交点は複数あるが、Coに一番
近い交点と、その反対方向でCoに一番近い交点との距
離をd、とする。このd、が一番大きくなるVi を求
める(第6図参照)。
nについて、任意のvIと平行でかっC8を通る直線を
引く。直線とベクトルの交点は複数あるが、Coに一番
近い交点と、その反対方向でCoに一番近い交点との距
離をd、とする。このd、が一番大きくなるVi を求
める(第6図参照)。
次に、■、とX′軸とのなす角を求める。X′軸に対し
■1がなす角度を反時計方向にθ(rad)であるとす
る。
■1がなす角度を反時計方向にθ(rad)であるとす
る。
一π/4≦θ≦π/4のとき、X″−Y′の双軸をθ(
rad)だけ反時計回りに回転させた座標軸x−yを設
定する(第7図(a))。
rad)だけ反時計回りに回転させた座標軸x−yを設
定する(第7図(a))。
同様に、π/4〈θ〈3π/4のとき−x’Y′の双軸
をO−π/ 2 (rad)だけ反時計回りに回転させ
た座標軸X−Yを設定する(第7図(bl)。
をO−π/ 2 (rad)だけ反時計回りに回転させ
た座標軸X−Yを設定する(第7図(bl)。
3π/4≦θ≦5π/4のとき、x’ −y’ の双軸
をO−π(rad)だけ反時計回りに回転させた座標軸
X−Yを設定する(第7図(C))。
をO−π(rad)だけ反時計回りに回転させた座標軸
X−Yを設定する(第7図(C))。
5π/4くθ〈7π/4のとき、X’−Y’の双軸を0
−3π/ 2 (rad)だけ反時計回りに回転させた
座標軸X−Yを設定する(第7図(d))。
−3π/ 2 (rad)だけ反時計回りに回転させた
座標軸X−Yを設定する(第7図(d))。
C1文字枠の作成(ステップS3)
文字列を作図する文字枠を作成する処理で、以下の処理
から成る。
から成る。
■領域作成(第8図参照)
家屋図データの室枠に外接し、各辺がY軸、Y軸に平行
な最小の長方形を求める。この外接長方形をY軸に平行
な直線でf等分し、Y軸に平行な直線でg等分する。こ
れにより、外接長方形はfXg個の長方形に分割され、
この長方形を領域と呼ぶことにする。f、gの値は任意
の整数であるが、十分大きくとる。領域を囲む長方形を
B1とする。
な最小の長方形を求める。この外接長方形をY軸に平行
な直線でf等分し、Y軸に平行な直線でg等分する。こ
れにより、外接長方形はfXg個の長方形に分割され、
この長方形を領域と呼ぶことにする。f、gの値は任意
の整数であるが、十分大きくとる。領域を囲む長方形を
B1とする。
■領域の削除(第9図参照)
ある外接長方形B、の4辺に接する一列の領域の並びを
考える。それぞれの領域の並びについて、家屋図データ
の室枠の中に完全に入るものの数をm8個とし、そうで
ないものをmoとする。
考える。それぞれの領域の並びについて、家屋図データ
の室枠の中に完全に入るものの数をm8個とし、そうで
ないものをmoとする。
m。/ (m 0+ m l)の値を計算し、この値が
一番大きい領域の並びを削除する。m、/ (mo +
mi)の値の一番大きい並びが複数あった場合は、並び
に含まれる領域の数が一番少ない並びを削除する。m。
一番大きい領域の並びを削除する。m、/ (mo +
mi)の値の一番大きい並びが複数あった場合は、並び
に含まれる領域の数が一番少ない並びを削除する。m。
/ (m0+m+ )の値の一番大きい並びが複数あり
、その中で並びに含まれる領域の数が一番少ない並びが
複数ある場合は、その中から無作為に一つの並びを選択
し削除する。
、その中で並びに含まれる領域の数が一番少ない並びが
複数ある場合は、その中から無作為に一つの並びを選択
し削除する。
■文字枠の決定(第10図参照)
上述した■の領域の削除を何回か繰り返し1次の条件を
満たした場合に■の処理を中止して。
満たした場合に■の処理を中止して。
残った領域によって決まる長方形B、を文字枠とする。
このとき、文字枠の左下の頂点の座標を(XM I N
、 YM I N)とし、右上の頂点の座標を(XMA
X、YMAX)とする。
、 YM I N)とし、右上の頂点の座標を(XMA
X、YMAX)とする。
条件:
・B4の4辺に接する領域の全てが家屋図データの室枠
内に含まれる。
内に含まれる。
これによって、室枠の形状に重なる文字枠が設定できる
。
。
d0作図方向の決定(ステップS4)
次に、文字列を作図する方向を決める。ここでは、上記
において作成された文字枠の(X、MAX−X、MIN
)と(YMAX−YMI N)を比較して、(XMAX
−XMIN)の方が大きい場合(横長)は第11図ta
+に示すように横書き、(YMAX−YMIN)の方が
大きい場合(縦長)は第11図(biに示すように縦書
きに家名データを書くものとする。
において作成された文字枠の(X、MAX−X、MIN
)と(YMAX−YMI N)を比較して、(XMAX
−XMIN)の方が大きい場合(横長)は第11図ta
+に示すように横書き、(YMAX−YMIN)の方が
大きい場合(縦長)は第11図(biに示すように縦書
きに家名データを書くものとする。
e0文字列の作成(ステップS5)
文字列をどのように並べて作図するかという文字列の書
式を設定する処理で、以下の処理から成る。
式を設定する処理で、以下の処理から成る。
■板書式の設定(第1−2図参照)
1文字の縦横比が1:1であると仮定し1文字の大きさ
を自由に変えられると仮定する。このとき分割可能情報
′木′も一つの文字と考え、任意の文字間で文字列デー
タを任意側の部分に分割できると考えて、最も空白がな
いように文字を文字枠の中に並べることを考える。分割
可能情報も含む総文字数をMとして、1行中の文字数を
k、1列中の文字数を!1作図方向が縦のとき(YMA
XYMIN):(XMAX−XMIN)=P:(1、作
図方向が横のとき(XMAX−XMIN) : (YM
AX−YMIN)=p:qとおけばk −12:M p:q=に:ff となり、故に を得る。ここで、k以上の最小の整数をKとし、p以上
の最小の整数をLとする。
を自由に変えられると仮定する。このとき分割可能情報
′木′も一つの文字と考え、任意の文字間で文字列デー
タを任意側の部分に分割できると考えて、最も空白がな
いように文字を文字枠の中に並べることを考える。分割
可能情報も含む総文字数をMとして、1行中の文字数を
k、1列中の文字数を!1作図方向が縦のとき(YMA
XYMIN):(XMAX−XMIN)=P:(1、作
図方向が横のとき(XMAX−XMIN) : (YM
AX−YMIN)=p:qとおけばk −12:M p:q=に:ff となり、故に を得る。ここで、k以上の最小の整数をKとし、p以上
の最小の整数をLとする。
これによって、文字列を任意に分割して5行に列に並べ
たときに、はぼ文字枠と相似形の文字列になるような整
数り、Kが得られる。
たときに、はぼ文字枠と相似形の文字列になるような整
数り、Kが得られる。
■行数の補正
作図方向が縦のときは(XMAX−XMIN)、横のと
きは(YMAX−YMIN)の値を調べ、この値をJと
する。また、作図することができる最小の文字の大きさ
を幅W、高さhとする。作図方向が縦で、前記板書式で
求めた文字列データのとる最小の幅(wXL)>Jの場
合、または、作図方向が横で、板書式で求めた文字列デ
ータのとる最小の高さ(hXL)>Jの場合は1文字枠
の中にL行の文字列が作図できない。従って、このとき
に限り、作図方向が縦の場合はLをwXL<Jを満たす
最大の整数値とし、横の場合はLを)IXL<Jを満た
す最大の整数値とする。また、作図方向の縦横に関係な
く、Lの値が変化した場合は、にもM/L以上の最小の
整数値とする。但し2作図方向が縦でJ < wのとき
は文字枠の幅をWにしてL=1とする。つまり、XMA
Xの値に(J−w)/2を加え、XMINの値から(J
−w)/2を減する。同様に1作図方向が横でJ<hの
ときは文字枠の高さをhにしてL=1とする。つまり、
YMAXの値に(J−h)/2を加え、YMINの値か
ら(J−h)/2を減する。
きは(YMAX−YMIN)の値を調べ、この値をJと
する。また、作図することができる最小の文字の大きさ
を幅W、高さhとする。作図方向が縦で、前記板書式で
求めた文字列データのとる最小の幅(wXL)>Jの場
合、または、作図方向が横で、板書式で求めた文字列デ
ータのとる最小の高さ(hXL)>Jの場合は1文字枠
の中にL行の文字列が作図できない。従って、このとき
に限り、作図方向が縦の場合はLをwXL<Jを満たす
最大の整数値とし、横の場合はLを)IXL<Jを満た
す最大の整数値とする。また、作図方向の縦横に関係な
く、Lの値が変化した場合は、にもM/L以上の最小の
整数値とする。但し2作図方向が縦でJ < wのとき
は文字枠の幅をWにしてL=1とする。つまり、XMA
Xの値に(J−w)/2を加え、XMINの値から(J
−w)/2を減する。同様に1作図方向が横でJ<hの
ときは文字枠の高さをhにしてL=1とする。つまり、
YMAXの値に(J−h)/2を加え、YMINの値か
ら(J−h)/2を減する。
■書式の決定(第13図参照)
第13図(alに示すように1文字列データを分割可能
情報がでてくるたびに区切り、先頭から文字列19文字
列2.・・・と番号を付ける。文字列iの文字数をm
(i)とする。
情報がでてくるたびに区切り、先頭から文字列19文字
列2.・・・と番号を付ける。文字列iの文字数をm
(i)とする。
L≠1のときi < Lである行iに含まれる文字列は
次のように決定する。
次のように決定する。
i−i行目までに行の中に含まれた文字列を除いた残り
の文字列の先頭が文字列Sであったとする。i=1であ
ったならばs=1になる。第13図(′b)に示すよう
に、m(s)+m(s+1)+m(s+2)+ −”l
l(t)+(t−1)<Kとなる最大の整数tを求める
。なお、Kは前記板書式で決めた一行の文字列の目安で
ある。
の文字列の先頭が文字列Sであったとする。i=1であ
ったならばs=1になる。第13図(′b)に示すよう
に、m(s)+m(s+1)+m(s+2)+ −”l
l(t)+(t−1)<Kとなる最大の整数tを求める
。なお、Kは前記板書式で決めた一行の文字列の目安で
ある。
ト(履(s)+m(s+1)十 ・・・十、ll (t
) +(t、−5) )+に−(m(s)+m(s+1
)+ −+m(t+1)+(t+l−5))<0であ
れば、文字列Sから文字列tまでを合わせた文字列の文
字数の値の方が、文字列Sから文字列t+1までを合わ
せた文字数の値よりもKに近いと判断して、i行目の行
に含まれる文字列を文字列Sから文字列tまでとそれら
の間に含まれる分割可能情報全部とする。それ以外の場
合は、j行目の行に含まれる文字列を文字列Sから文字
列t+1までとそれらの間に含まれる分割可能情報全部
とする。すなわち、第13図参照lに示すように1文字
列Sからに文字目に一番近い分割可能情報の手前までを
その行に作図する文字列とする。
) +(t、−5) )+に−(m(s)+m(s+1
)+ −+m(t+1)+(t+l−5))<0であ
れば、文字列Sから文字列tまでを合わせた文字列の文
字数の値の方が、文字列Sから文字列t+1までを合わ
せた文字数の値よりもKに近いと判断して、i行目の行
に含まれる文字列を文字列Sから文字列tまでとそれら
の間に含まれる分割可能情報全部とする。それ以外の場
合は、j行目の行に含まれる文字列を文字列Sから文字
列t+1までとそれらの間に含まれる分割可能情報全部
とする。すなわち、第13図参照lに示すように1文字
列Sからに文字目に一番近い分割可能情報の手前までを
その行に作図する文字列とする。
図示の例では、文字列Sから文字列しになる。また、
m (s)≧にのときはi行目の文字列を文字列Sとす
る。
m (s)≧にのときはi行目の文字列を文字列Sとす
る。
1==Lのときは、i行目の行に含まれる文字列をi−
i行目までに行の中に含まれた文字列を除いた残りの文
字列全部と、その部分に含まれる分割可能情報全部とす
る。L”=1のときは、これに従いi行目の行は文字列
データ全部となる61行目より前述のような方法でL行
目までを決定するか、途中のj行目において全ての文字
列データを含んでしまった場合は、書式の設定を終了す
る。Lに満たない値iによって示されるi行目の行で全
ての文字列データを含んでしまった場合、Lの値を新し
くiとする。
i行目までに行の中に含まれた文字列を除いた残りの文
字列全部と、その部分に含まれる分割可能情報全部とす
る。L”=1のときは、これに従いi行目の行は文字列
データ全部となる61行目より前述のような方法でL行
目までを決定するか、途中のj行目において全ての文字
列データを含んでしまった場合は、書式の設定を終了す
る。Lに満たない値iによって示されるi行目の行で全
ての文字列データを含んでしまった場合、Lの値を新し
くiとする。
これによって、i行目からL行目までに作図するそれぞ
れの行に含まれる文字列の範囲が決定される。
れの行に含まれる文字列の範囲が決定される。
f0文字サイズの決定(ステップS6)文字サイズを決
定する。全ての行の文字列の中で一番文字数の多い行の
文字数をm (MAX)とする。このとき、1文字の文
字サイズを幅W、高さHとして次のように決める(第1
4図(at、 ()))参照)。
定する。全ての行の文字列の中で一番文字数の多い行の
文字数をm (MAX)とする。このとき、1文字の文
字サイズを幅W、高さHとして次のように決める(第1
4図(at、 ()))参照)。
作図方向が横のとき
W:(XMAX−XMIN)/m(MAX) X aH
=(YMAX−YMIN)ル ×β作図方向が縦のと
き W=(XMAX−XMIN)/L X 13t(=
(YMAX−YMIN)/m(MAX) X aこのよ
うに、文字枠をL等分、m(MAX)等分し、その辺を
α倍、β倍したものを1文字のサイズとする。但し、縦
横双方向の場合で、HとWの値が予め設定した文字の最
大サイズHMAX。
=(YMAX−YMIN)ル ×β作図方向が縦のと
き W=(XMAX−XMIN)/L X 13t(=
(YMAX−YMIN)/m(MAX) X aこのよ
うに、文字枠をL等分、m(MAX)等分し、その辺を
α倍、β倍したものを1文字のサイズとする。但し、縦
横双方向の場合で、HとWの値が予め設定した文字の最
大サイズHMAX。
WM、AXより大きい場合は、H=HMAX、W=WM
AXとする。また、α、βは0より大きく1以下の実数
で任意に設定できる。α、βの値が1に近ければ文字枠
内に大きく文字が作図され、0に近ければ小さく作図さ
れる。また、βによって作図のときの行間隔が決まる。
AXとする。また、α、βは0より大きく1以下の実数
で任意に設定できる。α、βの値が1に近ければ文字枠
内に大きく文字が作図され、0に近ければ小さく作図さ
れる。また、βによって作図のときの行間隔が決まる。
作図可能な最小の文字の幅W、高さhに対して、仮にW
<wであるならばWの値をWとする。
<wであるならばWの値をWとする。
同様に、H<hであるならばHの値をhとする。
これにより、作図可能な文字サイズが得られる。
g9作図(ステップS5)
実際に作図を行う処理で、以下の処理から成る(第15
図参照)。
図参照)。
■文字枠の分割
文字枠を文字列の行数りに等しい部分に分割する。縦書
きの場合、Y軸に平行な直線で文字枠をL個の部分に分
割し、右側の部分から順に枠1゜枠2.・・・、枠りと
する。横書きの場合、X軸に平行な直線で文字枠をL個
の部分に分割し、上側の部分から順に枠1.枠2.・・
・、枠りとする。
きの場合、Y軸に平行な直線で文字枠をL個の部分に分
割し、右側の部分から順に枠1゜枠2.・・・、枠りと
する。横書きの場合、X軸に平行な直線で文字枠をL個
の部分に分割し、上側の部分から順に枠1.枠2.・・
・、枠りとする。
■作図
枠1に文字列データの1行目が対応し、枠2゜枠3も同
様に2行目、3行目に対応し、枠りはL行目に対応する
。基本的には、枠iを目安にi行目の文字列を作図する
ことになる。この方法を以下に述べる。
様に2行目、3行目に対応し、枠りはL行目に対応する
。基本的には、枠iを目安にi行目の文字列を作図する
ことになる。この方法を以下に述べる。
i行目の文字列の文字数がm (i)であったとき、m
(i)/2番目の文字をmeとする。但し、m (i)
が奇数であるときは(m (i) +1)72番目の文
字をmcとする。枠iの4頂点から2本の対角線を引き
その交点をPoとして、文字mcの中心がP。にくるよ
うにi行目の文字列を枠i上に作図する。作図方向が縦
の場合はY軸に平行に上から下へ文字列を作図し、横の
場合はX軸に平行に左から右へ文字列を作図する。それ
ぞれの文字の向きは文字の上部がY軸子方向に向くよう
にする。また、−文字の端から隣の文字の端までの距離
を設定値だけ離す。あるいは1文字の中心同志の間隔を
、縦方向のとき(YMAX−YMIN)/m (MAX
)、横方向のとき(XMAX−XMIN)/m (MA
X)だけあける。
(i)/2番目の文字をmeとする。但し、m (i)
が奇数であるときは(m (i) +1)72番目の文
字をmcとする。枠iの4頂点から2本の対角線を引き
その交点をPoとして、文字mcの中心がP。にくるよ
うにi行目の文字列を枠i上に作図する。作図方向が縦
の場合はY軸に平行に上から下へ文字列を作図し、横の
場合はX軸に平行に左から右へ文字列を作図する。それ
ぞれの文字の向きは文字の上部がY軸子方向に向くよう
にする。また、−文字の端から隣の文字の端までの距離
を設定値だけ離す。あるいは1文字の中心同志の間隔を
、縦方向のとき(YMAX−YMIN)/m (MAX
)、横方向のとき(XMAX−XMIN)/m (MA
X)だけあける。
これにより、文字枠の中心に任意の文字間隔で文字列デ
ータを作図できる。
ータを作図できる。
以上のようにして作図された本実施例の作図結果を第1
6図(a)、ら)に示す。
6図(a)、ら)に示す。
以上のように本実施例では、家枠の大きさに応じて文字
サイズが適宜決定され、また、室枠の形状に応じて最適
な方向に文字列の作図方向が決定され、はぼ室枠の中に
文字列データが挿入される。そして1本実施例では、上
述した手法がソフトプログラム化されてコンピュータ上
で動作するので、文字列データの挿入が自動化されるこ
ととなる。
サイズが適宜決定され、また、室枠の形状に応じて最適
な方向に文字列の作図方向が決定され、はぼ室枠の中に
文字列データが挿入される。そして1本実施例では、上
述した手法がソフトプログラム化されてコンピュータ上
で動作するので、文字列データの挿入が自動化されるこ
ととなる。
第17図はこの発明の第2の実施例を示すフローチャー
トである。本実施例では、前述した仕様を満たすため、
室枠の周りの凹凸を調べ、なるべく凹凸がなくなるよう
に削り、残った部分に文字枠を設定する。なお、上記第
1の実施例同様、縦にY′軸、横にX′軸をとるものと
し、Y′軸は上方向に X l軸は右方向に増加するも
のとする。
トである。本実施例では、前述した仕様を満たすため、
室枠の周りの凹凸を調べ、なるべく凹凸がなくなるよう
に削り、残った部分に文字枠を設定する。なお、上記第
1の実施例同様、縦にY′軸、横にX′軸をとるものと
し、Y′軸は上方向に X l軸は右方向に増加するも
のとする。
以下、第17図のフローチャートを用いて第2の実施例
について説明する。
について説明する。
a、ベクトルの書換え(ステップ11)家屋図データの
ベクトルの書換えを行う。第18図に示すように、家屋
図データのベクトルの向きは一定ではないので、これを
書換えて反時計回りにベクトルの向きを変える。
ベクトルの書換えを行う。第18図に示すように、家屋
図データのベクトルの向きは一定ではないので、これを
書換えて反時計回りにベクトルの向きを変える。
b、凹みの除去
ここでは、以下の処理を行う。
■凹凸を調べる(第19図参照)
家枠の頂点は1つのベクトルの終点であり、他のベクト
ルの始点である。ある頂点において終点で接するベクト
ルに対して、始点で接するベクトルのなす角を求める。
ルの始点である。ある頂点において終点で接するベクト
ルに対して、始点で接するベクトルのなす角を求める。
ある頂点に終点で接するべクトルを延長した直線を考え
、そのベクトルの始点から終点の方向を′+′ とする
。このとき、その頂点に始点で接するベクトルが、この
直線をマイナスからプラス方向に見たときに右側にあれ
ば凹みとして、それ以外のときは凸及び平とする。
、そのベクトルの始点から終点の方向を′+′ とする
。このとき、その頂点に始点で接するベクトルが、この
直線をマイナスからプラス方向に見たときに右側にあれ
ば凹みとして、それ以外のときは凸及び平とする。
■凹みを除く
■で凹みであると判断した頂点をP、、P2゜・・・、
Pkとする。P、において終点で接するベクトルをVe
i として、Piにおいて始点で接するベクトルをVS
i とする。
Pkとする。P、において終点で接するベクトルをVe
i として、Piにおいて始点で接するベクトルをVS
i とする。
PI*P2y・・・、Pk全てについて次の計算をする
。
。
PiからVeiの始点から終点方向に延長した線を引い
たときに、その線が室枠を構成するベクトルと交わる点
のうち、P、に一番近いものをPeiとする。室枠は直
線Pei P’tによって2つの部分に分けられるが、
2つに分けられた家枠のうち面積の小さい方の部分の面
積をSlとする。
たときに、その線が室枠を構成するベクトルと交わる点
のうち、P、に一番近いものをPeiとする。室枠は直
線Pei P’tによって2つの部分に分けられるが、
2つに分けられた家枠のうち面積の小さい方の部分の面
積をSlとする。
同様にP、からV5iの終点から始点方向に延長した線
を引いたときに、その線が室枠を構成するベクトルと交
わる点のうち、P、に一番近いものをPs、とする。室
枠は直線Ps□P、によって2つの部分に分けられるが
、2つに分けられた家枠のうち面積の小さい方の部分の
面積が先に求めたSiより小さい場合、この面積をSI
とする。
を引いたときに、その線が室枠を構成するベクトルと交
わる点のうち、P、に一番近いものをPs、とする。室
枠は直線Ps□P、によって2つの部分に分けられるが
、2つに分けられた家枠のうち面積の小さい方の部分の
面積が先に求めたSiより小さい場合、この面積をSI
とする。
■凸部分の削除(第20図参照)
SlyS2y・・・、Skが求まったとき、この中で最
小のものがS、であったとする。最小のものが複数あっ
た場合は任意に選ぶ。このとき面積S1を構成するベク
トルを考え、その中に直線PelPtが含まれていれば
室枠を示すベクトルにV「丁71を追加して、面積S、
を構成する家枠の一部を取り除く。もし、Siを構成す
るベクトルが直線Ps、P、を含んでいれば、室枠を示
すベクトルにr丁J、を追加して、面積S、を構成する
家枠の一部を取り除く。
小のものがS、であったとする。最小のものが複数あっ
た場合は任意に選ぶ。このとき面積S1を構成するベク
トルを考え、その中に直線PelPtが含まれていれば
室枠を示すベクトルにV「丁71を追加して、面積S、
を構成する家枠の一部を取り除く。もし、Siを構成す
るベクトルが直線Ps、P、を含んでいれば、室枠を示
すベクトルにr丁J、を追加して、面積S、を構成する
家枠の一部を取り除く。
C3仮家枠の決定(ステップ513)
上記「b、凹みの除去」を繰り返して白部分を削り、凹
みをなくすわけであるが、その■を繰り返すと極端に面
積が減ってしまい、残った部分に文字枠を設定すると文
字が小さくなってしまう。
みをなくすわけであるが、その■を繰り返すと極端に面
積が減ってしまい、残った部分に文字枠を設定すると文
字が小さくなってしまう。
故に、上記「b、凹みの除去」については停止条件が必
要であり、それを以下に記す。
要であり、それを以下に記す。
条件
・室枠の面積が一番始めの面積の1/SL以下になると
き。但し、 SLは任意の実数で2≦SL≦3程度の値
が考えられる。
き。但し、 SLは任意の実数で2≦SL≦3程度の値
が考えられる。
・凹みである点が全くなくなってしまったとき以上の条
件を満たしたときは前記「b、凹みの除去」を停止し、
このときに残った室枠を新しい室枠と考える(第21図
(al、(bl)。
件を満たしたときは前記「b、凹みの除去」を停止し、
このときに残った室枠を新しい室枠と考える(第21図
(al、(bl)。
d、座標変換(ステップ514)
上記「c、仮室枠の決定」で求まった家枠のうち一番長
いベクトルをviとする。
いベクトルをviとする。
以降は、前記第1の実施例のrb、座標変換」と同様で
ある。すなわち、■、とX′軸とのなす角を求める。X
′軸に対しV、がなす角度を反時計方向にθ(rad)
であるとする。
ある。すなわち、■、とX′軸とのなす角を求める。X
′軸に対しV、がなす角度を反時計方向にθ(rad)
であるとする。
−π/4≦θ≦π/4のとき、x’−y’の双軸をθ(
rad)だけ反時計回りに回転させた座標軸x−yを設
定する(第7図(a))。
rad)だけ反時計回りに回転させた座標軸x−yを設
定する(第7図(a))。
同様に、π/4〈θ〈3π/4のとき、X′Y′の双軸
をθ−π/ 2 (rad)だけ反時計回りに回転させ
た座標軸X−Yを設定する(第7図の))。
をθ−π/ 2 (rad)だけ反時計回りに回転させ
た座標軸X−Yを設定する(第7図の))。
3π/4≦θ≦5π/4のとき、X’−Y’の双軸をθ
−π(rad)だけ反時計回りに回転させた座標軸X−
Yを設定する(第7図(C))。
−π(rad)だけ反時計回りに回転させた座標軸X−
Yを設定する(第7図(C))。
5π/4〈θ〈7π/4のとき、x’−y’の双軸をθ
−3π/ 2 (rad)だけ反時計回りに回転させた
座標軸X−Yを設定する(第7図(d))。
−3π/ 2 (rad)だけ反時計回りに回転させた
座標軸X−Yを設定する(第7図(d))。
e0文字枠の作成(ステップ515)
前記第1の実施例の「c0文字枠の作成」と同じ処理を
行う。
行う。
f1作図方向の決定(ステップ816)前記第1の実施
例の「d0作図方向の決定」と同じ処理を行う。
例の「d0作図方向の決定」と同じ処理を行う。
g6文字列の作成(ステップ517)
前記第1の実施例の「e1文字列の作成」と同じ処理を
行う。
行う。
h0文字サイズの決定(ステップ818)前記第]の実
施例のrf、文字サイズの決定。
施例のrf、文字サイズの決定。
と同じ処理を行う。
i0作図(ステップ519)
耐記第1の実施例の「g0作作図と同じ処理(行う。
このようにして作図された本実施例の作図結tを第22
図fan、 i’b)に示す。
図fan、 i’b)に示す。
以上のように、本実施例においても前記第1Q実施例と
同様の効果が得られる。
同様の効果が得られる。
[発明の効果]
以上のように、この発明の請求項1又は2記歳の方式に
よれば、囲枠の大きさに応じて文字サイズが適宜決定さ
れ、また、囲枠の形状に応じて充適な方向に作図方向が
決定され、はぼ囲枠の中に文字列データが挿入される。
よれば、囲枠の大きさに応じて文字サイズが適宜決定さ
れ、また、囲枠の形状に応じて充適な方向に作図方向が
決定され、はぼ囲枠の中に文字列データが挿入される。
従って、このような方式をソフトプログラム化すること
により文字列データの挿入が自動化される。すなわち、
文字列データ挿入の自動化に好ましく適用でき、これに
より、その指示操作を簡単化でき、利便性を向上できる
。
により文字列データの挿入が自動化される。すなわち、
文字列データ挿入の自動化に好ましく適用でき、これに
より、その指示操作を簡単化でき、利便性を向上できる
。
第1図はこの発明の第1の実施例を示すフローチャート
、第2図〜第4図はこの発明の前提となるもの示す概略
図、第5図〜第16図は第1の実施例の作用、効果を示
す概略図、第17図はこの発明の第2の実施例を示すフ
ローチャート、第18図〜第22図は第2の実施例の作
用、効果を示す概略図、第23図はコンピュータの図形
表示例を示す斜視図である。 Slは室枠の中の広さの判断(囲枠内広さ判断処理)、
S2. S14は座標変換(座標変換処理)、S3.
S15は文字枠の作成(文字枠作成処理)、S4. S
16は作図方向の決定(作図方向決定処理)、S5.S
17は文字列の作成(文字列作成処理)、S6. S1
8は文字サイズの決定(文字サイズ決定処理)、S7.
S19は作図(作図処理)、Sllはベクトルの書換
え(ベクトル書換え処理)、512は凹の除去(凹み除
去処理) 3は仮室枠の決定 (仮囲枠決定処 理)
、第2図〜第4図はこの発明の前提となるもの示す概略
図、第5図〜第16図は第1の実施例の作用、効果を示
す概略図、第17図はこの発明の第2の実施例を示すフ
ローチャート、第18図〜第22図は第2の実施例の作
用、効果を示す概略図、第23図はコンピュータの図形
表示例を示す斜視図である。 Slは室枠の中の広さの判断(囲枠内広さ判断処理)、
S2. S14は座標変換(座標変換処理)、S3.
S15は文字枠の作成(文字枠作成処理)、S4. S
16は作図方向の決定(作図方向決定処理)、S5.S
17は文字列の作成(文字列作成処理)、S6. S1
8は文字サイズの決定(文字サイズ決定処理)、S7.
S19は作図(作図処理)、Sllはベクトルの書換
え(ベクトル書換え処理)、512は凹の除去(凹み除
去処理) 3は仮室枠の決定 (仮囲枠決定処 理)
Claims (2)
- (1)コンピュータ等で取り扱われる図形データの座標
上において、不定形な囲枠データ上に文字列データを挿
入する方式であって、 囲枠内で最も広い部分を判断し、その中心点を求める囲
枠内広さ判断処理と、この中心点を通る直線のうち囲枠
との交点間の距離が最も長い直線と平行及び垂直に新た
な座標軸を設定する座標変換処理と、囲枠に外接して各
辺が上記新たな各座標軸に平行な最小の長方形を求め、
この外接長方形の各辺に接する所定幅部分のうち囲枠と
の重なりが少ない部分を削除し、これを各辺が囲枠内に
含まれるようになるまで繰り返すことにより文字列を作
図する文字枠を生成する文字枠作成処理と、文字列の作
図方向を上記文字枠が縦長のときは縦とし、横長のとき
は横とする作図方向決定処理と、文字列データに含まれ
る分割可能情報と上記文字枠の縦横比に基づき文字列の
最適な並びを作成する文字列作成処理と、作成された文
字列が上記文字枠に入るように文字サイズを決定する文
字サイズ決定処理と、文字枠を上記作成された文字列の
行数に等しく分割して、各分割部分の中心に各行の中心
の文字がくるように作図する作図処理とを有することを
特徴とする文字列挿入方式。 - (2)コンピュータ等で取り扱われる図形データの座標
上において、不定形な囲枠データ上に文字列データを挿
入する方式であつて、 囲枠データを構成するベクトルの向きを所定回りに書換
えるベクトル書換え処理と、書換えられた各ベクトルの
関係を調べることにより囲枠の凹凸を調べて凹みを除去
する凹み除去処理と、この凹み除去処理を所定の条件が
満たされたときに停止して残った部分を仮囲枠とする仮
囲枠決定処理と、この仮囲枠を構成するベクトルのうち
一番長いものと平行及び垂直に新たな座標軸を設定する
座標変換処理と、仮囲枠に外接して各辺が上記新たな各
座標軸に平行な最小の長方形を求め、この外接長方形の
各辺に接する所定幅部分のうち仮囲枠との重なりが少な
い部分を削除し、これを各辺が仮囲枠内に含まれるよう
になるまで繰り返すことにより文字列を作図する文字枠
を生成する文字枠作成処理と、文字列の作図方向を上記
文字枠が縦長のときは縦とし、横長のときは横とする作
図方向決定処理と、文字列データに含まれる分割可能情
報と上記文字枠の縦横比に基づき文字列の最適な並びを
作成する文字列作成処理と、作成された文字列が上記文
字枠に入るように文字サイズを決定する文字サイズ決定
処理と、文字枠を上記作成された文字列の行数に等しく
分割して、各分割部分の中心に各行の中心の文字がくる
ように作図する作図処理とを有することを特徴とする文
字列挿入方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2127770A JP2558925B2 (ja) | 1990-05-17 | 1990-05-17 | 文字列挿入方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2127770A JP2558925B2 (ja) | 1990-05-17 | 1990-05-17 | 文字列挿入方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0423081A true JPH0423081A (ja) | 1992-01-27 |
| JP2558925B2 JP2558925B2 (ja) | 1996-11-27 |
Family
ID=14968265
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2127770A Expired - Fee Related JP2558925B2 (ja) | 1990-05-17 | 1990-05-17 | 文字列挿入方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2558925B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003263101A (ja) * | 2002-03-08 | 2003-09-19 | Hitachi Information Systems Ltd | 地番文字列の配置方法 |
-
1990
- 1990-05-17 JP JP2127770A patent/JP2558925B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003263101A (ja) * | 2002-03-08 | 2003-09-19 | Hitachi Information Systems Ltd | 地番文字列の配置方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2558925B2 (ja) | 1996-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3110837B2 (ja) | 地図図形データ管理方式 | |
| US4967376A (en) | Method for displaying characters and/or figures in a computer graphics and apparatus thereof | |
| US6973642B2 (en) | Multi-dimensional programming device and multi-dimensional programming method | |
| JPH0423081A (ja) | 文字列挿入方式 | |
| JPH06176122A (ja) | 図形編集装置 | |
| JPH0423080A (ja) | 文字列挿入方式 | |
| US4829292A (en) | Method for displaying box cursors | |
| JPS61131171A (ja) | 図形エレメント選択装置 | |
| JPS63155260A (ja) | コンピユ−タによる表の編集方法 | |
| JP3006988B2 (ja) | 表計算装置および表計算装置のデータ管理方法 | |
| JPS5850039A (ja) | 表の出力方法 | |
| JPH0439712B2 (ja) | ||
| JPS6095490A (ja) | 描画パタ−ン埋め込み回路 | |
| JPH04247587A (ja) | グラフィック表示装置 | |
| JPH0658690B2 (ja) | 描画方法 | |
| JPS63240682A (ja) | 図形表示におけるクリツピング処理方式 | |
| JPH08249481A (ja) | 図面処理装置 | |
| JPH01155481A (ja) | 3次元形状表示装置 | |
| JPH028960A (ja) | 2多角形の共通部分抽出処理方法 | |
| JPH02298989A (ja) | Crt画面のマルチウインド―制御装置 | |
| JPS6368985A (ja) | 面ぬり方式 | |
| JPS58146982A (ja) | 文書編集装置 | |
| JPH10254421A (ja) | 色選択方法 | |
| JPH06231225A (ja) | 三次元図形描画装置 | |
| JPH04277863A (ja) | グラフィック表示装置における表の表示方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080905 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090905 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |