JPH09167245A - 線分処理装置 - Google Patents

線分処理装置

Info

Publication number
JPH09167245A
JPH09167245A JP7325581A JP32558195A JPH09167245A JP H09167245 A JPH09167245 A JP H09167245A JP 7325581 A JP7325581 A JP 7325581A JP 32558195 A JP32558195 A JP 32558195A JP H09167245 A JPH09167245 A JP H09167245A
Authority
JP
Japan
Prior art keywords
ruled line
line
ruled
coordinates
registered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7325581A
Other languages
English (en)
Inventor
Terubumi Iwadate
光史 岩館
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP7325581A priority Critical patent/JPH09167245A/ja
Publication of JPH09167245A publication Critical patent/JPH09167245A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】一部または全部が重なり合う複数の線分を、1
本の線分に統合して拘束に出力処理すると共に、接続し
て1本となる個別に座標設定がなされた2本の点線を、
一定ピッチの1本の点線として高速に出力処理する。 【解決手段】論理罫線用テーブル41には、各罫線(線
分)について、罫線種、罫線方向フラグ及び始点と終点
の座標が登録される。CPU31は、論理罫線用テーブ
ル41から各罫線の上記登録情報を読み出し、一部また
は全部が重なっている罫線を1本の罫線に統合し、その
統合により得られた罫線の始点と終点の座標を、描画用
テーブル42または印刷用テーブル43に登録する。こ
の描画用テーブル42または印刷用テーブル43に登録
された罫線は、CPU31の制御により、ディスプレイ
35の画面に表示されたり、プリンタ34を介して用紙
に印刷出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、帳票、各種の表、
さらには図形などを構成する各種の線分の出力に係わる
処理を実行する線分情報処理装置に関する。
【0002】
【従来の技術】最近では、帳票の作成や、見積書、請求
書、報告書さらには企画書などの作成が、オフィスコン
ピュータやパーソナルコンピュータで行われるようにな
っている。このような文書は、図形や表などを含む、い
わゆる、複合文書が多くなっている。帳票や表は、一般
に,複数の枠やセルなどから構成される。そして、これ
らの枠や罫線は、縦と横の罫線から構成される。このよ
うな帳票や表の作成処理おいては、ユーザ自身でフォー
マットを設定する必要がある。
【0003】このため、ユーザは、帳票や表を作成する
場合、枠やセルを構成する罫線の始点と終点を指定す
る。そして、この指定された罫線の始点・終点情報を基
に、帳票作成ソフトや表作成ソフトなどによって自動的
に帳票や表が作成される。
【0004】図20〜図21は、従来の帳票作成ソフト
や表作成ソフトなどを用いて、ユーザが帳票や表を作成
する方法を説明する図である。図20は、文字列A,
B,C,Dが記入される表を作成する際にユーザが、そ
れらの文字列の記入枠を設定する方法を説明する図であ
る。この場合、ユーザは、上記文字列の記入枠を構成す
る各罫線について、各記入枠毎に、個別に、線種(直
線、点線など)及びその始点と終点を設定する必要があ
る。
【0005】図20に示す例では、文字列Aと文字列B
が記入される記入枠10と文字列Cと文字列Dが記入さ
れる記入枠20が示されている。実線の直線で構成され
る記入枠10においては、文字列Aと文字列Bが、点線
11で区切られて上下に配置される。また、実線の直線
で構成される記入枠20においては、文字列Cと文字列
Dが、点線21で区切られて上下に配置される。この場
合、ユーザは、記入枠10においては、上記点線11以
外に、垂直方向(縦)と水平方向(横)の4本の直線1
2〜15の線種(直線、点線など)及びその始点と終点
のXY座標を設定する必要がある。また、記入枠20に
おいては、上記点線21以外に、垂直方向と水平方向の
4本の直線22〜25の線種(直線、点線など)及びそ
の始点と終点を設定する必要がある。
【0006】このとき、ユーザは、図21に示すよう
に、文字列Aと文字列Bの記入枠10と文字列Cと文字
列Dの記入枠20が水平方向に結合されるように、上記
直線12〜15並びに直線22〜25、及び点線11、
21の始点と終点のX、Y座標を設定した場合、上記記
入枠10の右枠の直線14と上記記入枠20の左枠の直
線22とが同一の直線を構成するようになる。また、上
記記入枠10の点線11と上記記入枠20の点線21と
が一本の点線を構成するようになる。
【0007】
【発明が解決しようとする課題】従来の帳票作成ソフト
や表作成ソフトは、上述したような記入枠10及び20
を結合して一つの表として作成するような座標設定を行
った場合、その表をディスプレイやプリンタに描画・印
刷する際、以下に述べるような問題が発生していた。
【0008】記入枠10の右枠の直線14と記入枠20
の左枠の直線22とが同一の直線を構成するようになる
にも係わらず、該直線14と該直線22の描画・印刷
を、ユーザの設定した始点と終点の座標にしたがって、
それぞれ個別に行っていた。すなわち、同じ直線の描画
・印刷を2回に分けて行っていたため、描画・印刷処理
に余分な時間がかかるという問題があった。
【0009】また、記入枠10の点線11と記入枠20
の点線21を、ユーザの設定した始点と終点の座標にし
たがって、それぞれ、個々に描画・印刷していた。この
ため、点線11と点線21が1直線として配置されるよ
うに描画・印刷されるべきにも係わらず、点線11と点
線21との結合箇所27で,点線のピッチが合わなくな
ってしまい、見た目に不自然な描画・印刷になってしま
うという問題があった。
【0010】本発明の課題は、上記問題点を解決するた
めに、それぞれ、個別に始点と終点の座標が設定され
た複数の点線が、一本の直線として結合・配置される場
合、その結合により得られた1本の点線のピッチが一定
となるように補正することである。また、個別に始点
と終点の座標が設定された同一の線種の複数の線分が一
本の線分に統合されて配置される場合、その線分の描画
・印刷を1回で行うようにすることである。さらに、2
本の線分(点線を含む)の座標が完全に一致していなく
ても、座標の差が予め定められた許容範囲内であれば、
自動的に座標を補正して、上記との機能を実現する
ことである。
【0011】
【課題を解決するための手段】第一の発明は、以下の手
段を備える。線分情報記憶手段は、各線分について、そ
の始点と終点の位置情報、その方向及びその線種を示す
罫線種情報を記憶している。
【0012】線分統合手段は、該線分情報記憶手段に記
憶されている各線分の情報を読み出し、同一線種でかつ
同一方向の線分の内、一部または全てが互いに重なりあ
う線分を検索し、それらの線分を1本の線分に統合す
る。
【0013】したがって、同一線種でかつ同一方向の複
数の線分について、それらが互いに重なり合う場合に
は、それらの線分を1本の線分に統合することができ
る。第二の発明は、以下の手段を備える。
【0014】線分情報記憶手段は、各線分について、そ
の始点と終点の位置情報、その方向及びその線種を示す
罫線種情報を記憶している。線分統合手段は、該線分情
報記憶手段に記憶されている各線分の情報を読み出し、
同一線種でかつ同一方向の線分の内、1部または全部が
所定の許容範囲内で互いに重なりあう線分を、各線分の
始点及び終点の座標を比較することにより検索し、それ
らの線分を1本の線分に統合する。
【0015】したがって、複数の線分において、それら
の始点または終点の座標が完全に一致しない場合でも、
その差が、所定の許容範囲内で互いに重なりあうとみな
せる場合については、それらの線分を1本の線分に自動
的に統合することができる。
【0016】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施例を詳細に説明する。図1は、本発明の実施例
である線分情報処理装置のシステム構成を示すブロック
図である。
【0017】CPU31は、ROM(リード・オンリ・
メモリ)32に格納されている図形エディタ等のプログ
ラムを実行して、帳票や表等の作成、その作成した帳票
や表等の表示及び印刷処理を実行する。また、システム
全体の制御も行う。
【0018】ワーキングメモリ33は、CPU31が上
記図形エディタの実行や、該図形エディタによって作成
された線分の表示・印刷処理を実行する際に、各種変数
の一時的な値などを記憶しておくために設けられたメモ
リであり、RAM(ランダム・アクセス・メモリ)など
から成る。
【0019】プリンタ34は、CPU31の制御を受け
て、上記線分の印刷処理の際に、ユーザによって作成さ
れた帳票や表などを印刷出力する。このプリンタ34
は、例えば、シリアル・プリンタやページ・プリンタな
どから成る。
【0020】ディスプレイ35は、例えば、CRTディ
スプレイや液晶ディスプレイなどから成り、CPU31
の制御を受けて、上記線分の印刷処理の際に、ユーザに
よって作成された帳票や表などを表示する。
【0021】キーボード36は、ユーザが帳票や表など
を作成するために使用される入力装置であり、該帳票や
表などを作成する際に、それらの枠内にデータを入力す
るためなどに用いられる。また、それらの帳票や表を構
成する罫線の線種(罫線種)、罫線方向及び始点と終点
の座標値などを、ユーザが入力・設定するために用いら
れる。
【0022】マウス37は、例えば、ユーザが帳票や表
などを作成する際、データを入力する文字枠やセルなど
を指定するために用いられるポインティング・デバイス
である。
【0023】外部記憶装置38は、ユーザが作成した帳
票や表などを記憶するなどのために用いられる記憶装置
であり、例えば、フロッピーディスク装置(FDD)や
ハードディスク装置(HDD)などから成る。
【0024】論理罫線用テーブル41は,ユーザがキー
ボード36の操作によって入力した帳票や表を構成する
全罫線(全線分)について、その線種、罫線方向(線分
方向)及びその始点と終点の論理XY座標系でのX,Y
座標値を記憶・管理するテーブルであり、CPU31に
よって管理される。
【0025】描画用テーブル42は、CPU31がユー
ザによって作成された帳票や表を、ディスプレイ35に
表示する際に、その帳票や表を構成する全罫線につい
て、その線種や始点と終点の論理XY座標系でのX,Y
座標値を記憶するテーブルであり、CPU31によって
管理される。
【0026】印刷用テーブル43は、CPU31がユー
ザによって作成された帳票や表をプリンタ34に印刷出
力する際に、その帳票や表を構成する全罫線について、
その線種や始点と終点の論理XY座標系でのX,Y座標
値を記憶するテーブルであり、CPU31によって管理
される。
【0027】上記構成において、CPU31は、ROM
32、ワーキングメモリ33、プリンタ34。ディスプ
レイ35、キーボード36、マウス37、外部記憶装置
38、論理罫線用テーブル41、描画用テーブル42及
び印刷用テーブル43と、バス45を介して接続されて
いる。
【0028】図2は、論理罫線用テーブル41の構成を
示す図である。同図に示すように論理罫線用テーブル4
1は、各エントリが、罫線種、罫線方向フラグ、始点の
X,Y座標、終点のX,Y座標、及び描画/印刷用テー
ブル登録済みフラグの各項目から構成され、各エントリ
に、帳票や表を構成する個々の罫線について,罫線種、
罫線方向フラグ、始点のX,Y座標、終点のX,Y座標
及び描画/印刷用テーブル登録済みフラグの各項目を、
記憶するようになっている。
【0029】図2に示す論理罫線用テーブル41には、
図20に示す記入枠10内の点線11と記入枠20内の
点線21、さらには、該記入枠10の右枠の直線14と
該記入枠20の左枠の直線22について、始点のX,Y
座標及び終点のX,Y座標の値が登録されている。
【0030】すなわち、点線11の始点のX,Y座標は
X1,Y1,終点のX,Y座標はX2,Y2となってい
る。また、点線21の始点のX,Y座標はX3,Y3,
終点のX,Y座標はX4,Y4となっている。さらに、
直線14の始点のX,Y座標はX5,Y5,終点のX,
Y座標はX6,Y6となっている。また、さらに、直線
22の始点のX,Y座標はX7,Y7,終点のX,Y座
標はX8,Y8となっている。
【0031】ここで、ユーザが、図21に示すように記
入枠10と記入枠20を水平方向に結合させて、併置さ
せる場合には、 Y1=Y2=Y3=Y4 X2=X3 X5=X7 Y5=Y7 X6=X8 Y6=Y8 となるように、論理X,Y座標を入力する。
【0032】ところで、上記罫線方向フラグは、罫線の
向きが水平または垂直のいづれで有るかを示すフラグ、
描画/印刷用テーブル登録済みフラグは、CPU31が
帳票、表などを描画または印刷出力する際、論理罫線用
テーブル41に設定されている各罫線の論理X,Y座標
を、描画用テーブル42または印刷用テーブル43に登
録し終わったか否かを示すフラグである。尚、この登録
の際、点線11と点線21は1本化される。そして、C
PU31は、この1本化された点線を一定のピッチで描
画または印刷出力する。また、直線14と直線22は1
本の直線に統合される。CPU31は、この1本に統合
された直線を、一回の処理で描画または印刷出力する。
【0033】図3は、CPU31が上記点線11と点線
21の1本化と、直線14と直線22の統合を行う際
に、CPU31によって描画用テーブル42または印刷
用テーブル43に登録される内容を示す図である。
【0034】同図に示すように、点線11と点線21
は、始点のX,Y座標が(X1,Y1),終点のX,Y
座標が(X4,Y4)の1本の点線31として登録され
る。また、直線14と直線22は、始点のX,Y座標が
(X5,Y5),終点のX,Y座標が(X6,Y6)で
ある直線14に統合される(図13参照)。このよう
に、描画用テーブル42と印刷用テーブル43に設定さ
れる項目は、直線または点線などの罫線(線分)の始点
及び終点のX,Y座標である。
【0035】次に、CPU31が図形エディタによって
作成された帳票や表を、描画または印刷出力す際の線分
描画処理(罫線描画処理)を、図4〜図5を参照して説
明する。
【0036】(A) 図4〜図5は、2本の水平方向の
罫線(線分)51、52を、1本の直線に統合する方法
を説明する図である。以下の説明では、罫線51の左端
と右端の座標を、それぞれ、(X1,Y1)、(X2,
Y2)とし、また、罫線52の左端と右端の座標を、そ
れぞれ、(X3,Y3)、(X4,Y4)とする。ま
た、罫線51と罫線51のY座標が等しい、すなわち、
Y1=Y2=Y3=Y4であり、かつ0≦X1<X2,
0≦X3<X4であるとする。
【0037】図5(a)は、罫線52が罫線51に含ま
れる場合の例である。すなわち、下記に示す条件(1−
1)が成立する場合である。 X1≦X3<X4≦X2 (1−1) この場合、罫線52を罫線51に統合する。すなわち、
罫線51と罫線52が設定されている帳票や表を描画ま
たは印刷出力する場合、罫線51のみを描画または印刷
出力する。
【0038】次に、図5(b)は、図5(a)の場合と
は逆に、罫線51が罫線52に含まれる場合の例であ
る。すなわち、下記に示す条件(1−2)が成立する場
合である。
【0039】 X3≦X1<X2≦X4 (1−2) この場合、罫線51を罫線52に統合する。すなわち、
罫線51と罫線52が設定されている帳票や表を描画ま
たは印刷出力する場合、罫線52のみを描画または印刷
出力する。
【0040】次に、図5(c)は、罫線52の左端(始
点)が罫線51の左端(始点)より左側にあり、かつ罫
線51の右端(終点)が罫線52の右端(終点)より右
側にある場合の例である。すなわち、下記に示す条件
(1−3)が成立する場合である。
【0041】 X3<X1≦X4<X2 (1−3) この場合、罫線51と罫線52を、左端(始点)を罫線
52の左端(始点)、右端(終点)を罫線51の右端
(終点)とする新たな罫線53に統合し、帳票や表を描
画または印刷出力する場合、この罫線53を描画または
印刷出力する。
【0042】次に、図5(d)は、罫線51の左端(始
点)が罫線52の左端(始点)よりも左側にあり、かつ
罫線52の右端(終点)が罫線51の右端(終点)より
も右側にある場合の例である。すなわち、下記に示す条
件(1−4)が成立する場合である。
【0043】 X1<X3≦X2<X4 (1−4) この場合、罫線51と罫線52を、左端(始点)を罫線
51の左端(始点)、右端(終点)を罫線52の右端
(終点)とする新たな罫線54に統合し、帳票や表を描
画または印刷出力する場合、この罫線54を描画または
印刷出力する。
【0044】以上は、2本の罫線(線分)が水平方向の
場合であったが、2本の罫線が垂直方向の場合にも,同
様にして、それらの始点と終点のY座標の位置関係を考
慮して,1本の罫線(線分)に統合することができる。
【0045】(B) 以下、図6に示す2本の垂直方向
の罫線(線分)61、62の場合について述べる。この
とき、罫線61の下端(始点)と上端(終点)の座標
を、それぞれ、(X1,Y1),(X2,Y2)とす
る。また、罫線62の下端(始点)と上端(終点)の座
標を、それぞれ、(X3,Y3),(X4,Y4)とす
る。そして、これら2本の罫線61、62が一部または
全部が重なっている、すなわち、X1=X2=X3=X
4で、かつ、0≦Y1<Y2,0≦Y3<Y4とする。
【0046】(1) 罫線61に罫線62が含まれる場
合。この場合、下記に示す条件(2−1)が成立する。 Y2≦Y4<Y3≦Y1 (2−1) この場合には、2本の罫線61と罫線62を、1本の罫
線61に統合する。
【0047】(2) 罫線62に罫線61が含まれる場
合。この場合、下記に示す条件(2−2)が成立する。 Y4≦Y2<Y1≦Y3 (2−2) この場合には、2本の罫線61と罫線62を、1本の罫
線62に統合する。
【0048】(3) 罫線62の下端(始点)が罫線6
1の下端(始点)よりも下側にあり、罫線62の上端
(終点)が罫線61に含まれる場合。この場合、下記に
示す条件(2−3)が成立する。
【0049】 Y2≦Y4≦Y1<Y3 (2−3) この場合には、2本の罫線61と罫線62を、下端(始
点)が罫線62の下端(始点)に等しく、上端(終点)
が罫線61の上端(終点)に等しい1本の罫線に統合す
る。すなわち、下端(始点)の座標が(X3,Y3),
上端(終点)の座標が(X2,Y2)の罫線に統合す
る。
【0050】(4) 罫線62の上端(終点)が罫線6
1の上端(終点)よりも上にあり、罫線62の下端(始
点)が罫線61に含まれる場合。この場合、下記に示す
条件(2−4)が成立する。
【0051】 Y4<Y2≦Y3≦Y1 (2−4) この場合には、2本の罫線61と罫線62を、下端(始
点)が罫線61の下端(始点)に等しく、上端(終点)
が罫線62の上端(終点)に等しい1本の罫線に統合す
る。すなわち、下端(始点)の座標が(X1,Y1),
上端(終点)の座標が(X4,Y4)の罫線に統合す
る。
【0052】(C) 続いて、図7に示す2本の斜めの
罫線(線分)71、72を、1本の罫線に統合する場合
を考える。この場合、罫線71の左下(始点)の座標を
(X1,Y1),右上(終点)の座標を(X2,Y2)
とする。また、罫線72の左下(始点)の座標を(X
3,Y3),右上(終点)の座標を(X4,Y4)とす
る。すなわち、0≦X1<X2,0≦Y2<Y1が成立
し、また、0≦X3<X4,0≦Y4<Y3が成立する
場合を考える。
【0053】そして、上記2本の罫線71と罫線72
の、一部または全部が重なっている場合を考える。この
とき、上記2本の罫線71と罫線72の傾きが等しいの
で、 (Y2−Y1)/(X2−X1)=(Y4−Y3)/
(X4−X3) が成立する。
【0054】(1) 罫線71内に罫線72が含まれる
とき。この場合、下記の条件(3−1−1)、(3−1
−2)及び(3−1−3)が成立する。
【0055】 X1≦X3<X4≦X2 (3−1−1) Y2≦Y4<Y3≦Y1 (3−1−2) (Y3−Y1)/(X3−X1)=(Y2−Y3)/(X2−X3) … (3−1−3) この場合には、罫線72を罫線71に統合する。
【0056】(2) 罫線72内に罫線71が含まれる
とき。この場合、下記の条件(3−2−1)、(3−2
−2)及び(3−2−3)が成立する。
【0057】 X3≦X1<X2≦X4 (3−2−1) Y4≦Y2<Y1≦Y3 (3−2−2) (Y3−Y1)/(X3−X1)=(Y2−Y3)/(X2−X3) … (3−2−3) この場合には、罫線71を罫線72に統合する。
【0058】(3) 罫線72の下端(始点)が罫線7
1の下端(始点)よりも下側にあり、かつ罫線72の上
端(終点)が罫線71に含まれるとき。この場合、下記
の条件(3−3−1)、(3−3−2)及び(3−3−
3)が成立する。
【0059】 X3<X1≦X4≦X2 (3−3−1) Y2≦Y4≦Y1<Y3 (3−3−2) (Y1−Y3)/(X1−X3)=(Y2−Y3)/(X2−X3) … (3−3−3) この場合には、罫線72の下端を始点とし、罫線71の
上端を終点とする1本の罫線に統合する。すなわち、始
点(下端)の座標が(X3,Y3),終点(上端)の座
標が(X2,Y2)である1本の罫線に統合する。 (4) 罫線72の上端が罫線71の上端よりも上側に
あり、かつ罫線72の下端が罫線71に含まれるとき。
【0060】この場合、下記の条件(3−4−1)、
(3−4−2)及び(3−4−3)が成立する。 X1≦X3≦X2<X4 (3−4−1) Y4<Y2≦Y3≦Y1 (3−4−2) (Y3−Y1)/(X3−X1)=(Y2−Y3)/(X2−X3) … (3−4−3) この場合には、罫線71の下端を始点とし、罫線72の
上端を終点とする1本の罫線に統合する。すなわち、始
点(下端)の座標が(X1,Y1),終点(上端)の座
標が(X4,Y4)である1本の罫線に統合する。
【0061】次に、上記構成の実施例における帳票や表
等の描画または表示処理を、図8〜図15を参照しなが
ら説明する。図8は、CPU31により実行される図形
エディタの処理を説明するフローチャートである。
【0062】まず、ユーザは、キーボード36やマウス
37を操作して、ディスプレイ35の画面上で、帳票や
表等を作成するための図形の編集処理を行う(ステップ
S1)。
【0063】CPU31は、上記編集処理において入力
された各記入枠(図形)を構成する各線分について、、
その論理XY座標系での位置座標を基に、論理罫線用テ
ーブル41を作成する(ステップS2)。
【0064】この処理により、各記入枠を構成する罫線
について、罫線種、罫線方向フラグ、始点のX,Y座
標、及び終点のX,Y座標が、図2に示すような形式
で,論理罫線用テーブル41に登録される。
【0065】次に、図9は、CPU31が上記図8のス
テップS2で作成された論理罫線用テーブル41に登録
された情報に基づいて、ユーザが図形エディタを用いて
作成した帳票や表等をディスプレイ35の画面に表示さ
せる処理を説明するフローチャートである。
【0066】CPU31は、まず、論理罫線用テーブル
41から描画用テーブル42を作成する(ステップS1
1)。この処理については、図11〜図14のフローチ
ャートを参照しながら、後述、詳しく説明する。この処
理により、上記図4〜図5を参照しながら説明した2本
の罫線を1本の罫線に統合する処理や、1本化可能な複
数の点線同士を1本化する処理などが行われる。
【0067】次に、描画用テーブル42から罫線データ
を順次、読み出して、ユーザが図形エディタを用いて作
成した帳票や表等を、ディスプレイ35の画面に表示さ
せる(ステップS12)。
【0068】続いて、、図10は、CPU31が上記図
8のステップS2で作成された論理罫線用テーブル41
に設定された情報に基づいて、ユーザが図形エディタを
用いて作成した帳票や表をプリンタ34に印刷出力させ
る処理を説明するフローチャートである。
【0069】CPU31は、まず、論理罫線用テーブル
41から印刷用テーブル43を作成する(ステップS2
1)。この処理については、図11〜図14のフローチ
ャートを参照しながら、後述、詳しく説明する。この処
理は、基本的には、図9のフローチャートのステップS
12の処理と同様なものである。
【0070】次に、印刷用テーブル43から罫線データ
を順次、読み出して、ユーザが図形エディタを用いて作
成した帳票や表等を、プリンタ34を介して印刷出力さ
せる(ステップS22)。
【0071】続いて、図11〜図14を参照しながら、
上記図9のフローチャートのステップS11及び図10
のフローチャートのステップS21の処理を、詳細に説
明する。 まず、論理罫線用テーブル41に登録されて
いる各罫線(線分)のデータを、始点のX,Y座標を基
にソートする(ステップS30)。
【0072】このソートにより、論理罫線用テーブル4
1内の各罫線のデータは、例えば、その始点のX座標値
の小さい順に並べられる。次に、描画/印刷用テーブル
登録済みフラグを、全て、「オフ」に初期化する(ステ
ップS31)。続いて、上記のようにしてソートされた
論理罫線用テーブル41を、先頭から順に検索し、描画
/印刷用テーブル登録済みフラグが「オフ」となってい
る罫線データが存在するか否かを判別する(ステップS
32)。
【0073】そして、論理罫線用テーブル41に描画/
印刷用テーブル登録済みフラグが「オフ」となっている
罫線データが存在しなければ(ステップS32,N
o),論理罫線用テーブル41内の全ての罫線データに
対する処理が終了したものと認識し処理を終了する。
【0074】一方、論理罫線用テーブル41内に、描画
/印刷用テーブル登録済みフラグが「オフ」となってい
る罫線データが存在すれば(ステップS32,Ye
s)、論理罫線用テーブル41から描画用テーブル42
または印刷用テーブル43に登録する罫線データを1本
取り出し、この罫線データの描画/印刷用テーブル登録
済みフラグを「オン」に設定する。そして、次に、その
取り出した罫線データの罫線種、及び始点と終点のX,
Y座標を描画用テーブル42または印刷用テーブル43
に登録する(ステップS33)。
【0075】次に、その取り出した罫線データの罫線方
向フラグを参照して、そのデータの罫線が水平方向の直
線であるか否かを判別する(ステップS34)。そし
て、その罫線(第一の罫線)が水平線であれば(ステッ
プS34、Yes)、図12のフローチャートのステッ
プS37の処理に移る。
【0076】ステップS37では、再び、論理罫線用テ
ーブル41を検索して、該論理罫線用テーブル41から
描画/印刷用テーブル登録済みフラグが「オフ」となっ
ていて、かつ罫線方向フラグが「水平」を示している罫
線データを取り出す。
【0077】次に、その罫線データの罫線(第二の罫
線)と上記第一の罫線の始点と終点が一致するか否かを
判別する(ステップS38)。そして、両者の始点と終
点が一致すれば(ステップS38,Yes)、論理罫線
用テーブル41内の上記第二の罫線のデータの描画/印
刷用テーブル登録済みフラグを「オン」に設定する(ス
テップS46)。
【0078】これにより、第一の罫線のみが描画用テー
ブル42または印刷用テーブル43に登録される。すな
わち、第一の罫線と第二の罫線は、全く同じなので、上
記テーブル42、43には、第一の罫線のみを登録す
る。
【0079】一方、上記ステップS38で、両者の始点
と終点が一致しないと判別すると(ステップS38,N
o)、第一の罫線に第二の罫線が含まれるか否かを、上
述した方法により判別する(ステップS39)。
【0080】そして、第一の罫線に第二の罫線が含まれ
ていれば(ステップS39,Yes)、上記ステップS
46の処理を実行する。これにより、上記の場合と同様
に、描画用テーブル42または印刷用テーブル43には
第一の罫線のみが登録され、第二の罫線は登録されな
い。すなわち、第一の罫線と第二の罫線は、第一の罫線
に統合される(図5(a)参照)。
【0081】一方、上記ステップS39で第一の罫線に
第二の罫線が含まれていなければ(ステップS39、N
o),次に、第二の罫線に第一の罫線が含まれるか否か
を判別する(ステップS40)。そして、第二の罫線に
第一の罫線が含まれていれば(ステップS40、Ye
s),ステップS33で描画用テーブル42または印刷
用テーブル43に登録した第一の罫線のデータの内、始
点と終点の座標を、第二の罫線の始点と終点の座標に書
き換える(ステップS41)。そして、続いて、ステッ
プS46の処理を行う。
【0082】これにより、描画用テーブル42または印
刷用テーブル43には第二の罫線のデータが登録され、
第一の罫線のデータは登録されなくなる。すなわち、第
一の罫線と第二の罫線は、第二の罫線に統合される(図
5(b)参照)。
【0083】一方、上記ステップS40で第二の罫線に
第一の罫線が含まれなければ(ステップS40,N
o),第二の罫線の左端(始点)が第一の罫線の左端
(始点)よりも左側にあり、かつ第二の罫線の右端(終
点)が第一の罫線に含まれるか否かを判別する(ステッ
プS42)。そして、この条件が成立すれば(ステップ
S42、Yes)、ステップS33で描画用テーブル4
2または印刷用テーブル43に登録した第一の罫線のデ
ータの内、始点の座標を、第二の罫線の始点の座標に書
き換える(ステップS43)。そして、続いて、ステッ
プS46の処理を行う。
【0084】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される(図5(c)参照)。ま
た、上記ステップS42でNoと判別すれば、次に、第
二の罫線の右端(終点)が第一の罫線の終点よりも右側
にあり、かつ第二の罫線の左端(始点)が第一の罫線に
含まれるか否かを判別する(ステップS44)。そし
て、この条件が成立すれば(ステップS44、Ye
s)、ステップS33で描画用テーブル42または印刷
用テーブル43に登録した第一の罫線のデータの内、終
点の座標を、第二の罫線の終点の座標に書き換える(ス
テップS45)。そして、続いて、ステップS46の処
理を行う。
【0085】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される(図5(d)参照)。続い
て、論理罫線用テーブル41の最後まで検索したか否か
を判別し(ステップS47),まだ、最後まで検索して
いなければ(ステップS47、NO)、再び、ステップ
S37に戻る。そして、上述したステップS37〜S4
6の処理を繰り返す。
【0086】このようにして、ステップS33で論理罫
線用テーブル41から取り出した水平方向の罫線(第一
の罫線)と一部または全部が重なる罫線(第二の罫線)
が全て論理罫線用テーブル41から抽出され、それらの
罫線が統合された1本の罫線が描画用テーブル42また
は印刷用テーブル43に登録される。また、論理罫線用
テーブル41において、第一の罫線と第二の罫線の描画
/印刷用テーブル登録済みフラグが「オン」に設定され
る。そして、論理罫線用テーブル41の最後の罫線デー
タの処理が終了したと判別すると(ステップS47,N
o)、上記ステップS32に戻る。
【0087】前記ステップS34で、ステップS33で
論理罫線用テーブル41から取り出し罫線データの罫線
が「水平」でなければ(No),次に、該罫線データの
罫線方向フラグを参照して、該罫線(第一の罫線)が
「垂直」(垂線)であるか否かを判別する(ステップS
35)。そして、垂線であれば(ステップS35,Ye
s)、図13のフローチャートのステップS48に移
る。
【0088】ステップS48では、再び、論理罫線用テ
ーブル41を検索して、該論理罫線用テーブル41から
描画/印刷用テーブル登録済みフラグが「オフ」となっ
ていて、かつ罫線方向フラグが「垂直」を示している罫
線データを取り出す。
【0089】次に、そのデータの罫線(第二の罫線)と
上記第一の罫線の始点と終点が一致するか否かを判別す
る(ステップS49)。そして、両者の始点と終点が一
致すれば(ステップS49,Yes)、論理罫線用テー
ブル41内の上記第二の罫線のデータの描画/印刷用テ
ーブル登録済みフラグを「オン」に設定する(ステップ
S57)。
【0090】これにより、第一の罫線のみが描画用テー
ブル42または印刷用テーブル43に登録される。すな
わち、第一の罫線と第二の罫線は、全く同じなので、上
記テーブル42、43には、第一の罫線のみを登録す
る。
【0091】一方、上記ステップS49で、両者の始点
と終点が一致しないと判別すると(ステップS49,N
o)、第一の罫線に第二の罫線が含まれるか否かを、上
記の方法により判別する(ステップS50)。
【0092】そして、第一の罫線に第二の罫線が含まれ
ていれば(ステップS50,Yes)、上記ステップS
57の処理を実行する。これにより、上記の場合と同様
に、描画用テーブル42または印刷用テーブル43には
第一の罫線のみが登録され、第二の罫線は登録されな
い。すなわち、第一の罫線と第二の罫線は、第一の罫線
に統合される。
【0093】一方、上記ステップS50で第一の罫線に
第二の罫線が含まれていなければ(ステップS50、N
o),次に、第二の罫線に第一の罫線が含まれるか否か
を判別する(ステップS51)。そして、第二の罫線に
第一の罫線が含まれていれば(ステップS51、Ye
s),ステップS33で描画用テーブル42または印刷
用テーブル43に登録した第一の罫線のデータの内、始
点と終点の座標を、第二の罫線の始点と終点の座標に書
き換える(ステップS52)。そして、続いて、ステッ
プS57の処理を行う。
【0094】これにより、描画用テーブル42または印
刷用テーブル43には第二の罫線のデータが登録され、
第一の罫線のデータは登録されなくなる。すなわち、第
一の罫線と第二の罫線は、第二の罫線に統合される。
【0095】一方、上記ステップS51で第二の罫線に
第一の罫線が含まれなければ(ステップS51,N
o),第二の罫線の下端(始点)が第一の罫線の下端
(始点)よりも下側にあり、かつ第二の罫線の上端(終
点)が第一の罫線に含まれるか否かを判別する(ステッ
プS53)。そして、この条件が成立すれば(ステップ
S53、Yes)、ステップS54で描画用テーブル4
2または印刷用テーブル43に登録した第一の罫線のデ
ータの内、始点の座標を、第二の罫線の始点の座標に書
き換える(ステップS54)。そして、続いて、ステッ
プS57の処理を行う。
【0096】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される。また、上記ステップS5
3でNoと判別すれば、次に、第二の罫線の上端(終
点)が第一の罫線の上端(終点)よりも上側にあり、か
つ第二の罫線の下端(始点)が第一の罫線に含まれるか
否かを判別する(ステップS55)。そして、この条件
が成立すれば(ステップS55、Yes)、ステップS
33で描画用テーブル42または印刷用テーブル43に
登録した第一の罫線のデータの内、終点の座標を、第二
の罫線の終点の座標に書き換える(ステップS56)。
そして、続いて、ステップS57の処理を行う。
【0097】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される。続いて、論理罫線用テー
ブル41の最後まで検索したか否かを判別し(ステップ
S58),まだ、最後まで検索していなければ(ステッ
プS58、NO)、再び、ステップS48に戻る。そし
て、上述したステップS48〜S57の処理を繰り返
す。
【0098】このようにして、ステップS33で論理罫
線用テーブル41から取り出した垂直方向の罫線(第一
の罫線)と一部または全部が重なる罫線(第二の罫線)
が全て論理罫線用テーブル41から抽出され、それらの
罫線が統合された1本の垂直方向の罫線が描画用テーブ
ル42または印刷用テーブル43に登録される。また、
論理罫線用テーブル41において、第一の罫線と第二の
罫線の描画/印刷用テーブル登録済みフラグが「オン」
に設定される。そして、論理罫線用テーブル41の最後
の罫線データの処理が終了したと判別すると(ステップ
S47,No)、上記ステップS32に戻る。
【0099】前記ステップS35で、ステップS33で
論理罫線用テーブル41から取り出し罫線データの罫線
が「垂直」でなければ(ステップS35,No),次
に、該罫線データの罫線方向フラグを参照して、該罫線
(第一の罫線)が「斜め」(斜線)であるか否かを判別
する(ステップS36)。そして、斜線であれば(ステ
ップS36,Yes)、図14のフローチャートのステ
ップS59に移る。
【0100】ステップS59では、再び、論理罫線用テ
ーブル41を検索して、該論理罫線用テーブル41から
描画/印刷用テーブル登録済みフラグが「オフ」となっ
ていて、かつ罫線方向フラグが「斜め」を示している罫
線データを取り出す。
【0101】次に、そのデータの罫線(第二の罫線)と
上記第一の罫線の始点と終点が一致するか否かを判別す
る(ステップS60)。そして、両者の始点と終点が一
致すれば(ステップS60,Yes)、論理罫線用テー
ブル41内の上記第二の罫線のデータの描画/印刷用テ
ーブル登録済みフラグを「オン」に設定する(ステップ
S68)。
【0102】これにより、第一の罫線のみが描画用テー
ブル42または印刷用テーブル43に登録される。すな
わち、第一の罫線と第二の罫線は、全く同じなので、上
記テーブル42、43には、第一の罫線のみを登録す
る。これにより、第一の罫線と第二の罫線は、第一の罫
線に統合される。
【0103】一方、上記ステップS60で、両者の始点
と終点が一致しないと判別すると(ステップS60,N
o)、第一の罫線に第二の罫線が含まれるか否かを、上
記の方法により判別する(ステップS61)。
【0104】そして、第一の罫線に第二の罫線が含まれ
ていれば(ステップS61,Yes)、上記ステップS
68の処理を実行する。これにより、上記の場合と同様
に、描画用テーブル42または印刷用テーブル43には
第一の罫線のみが登録され、第二の罫線は登録されな
い。すなわち、第二の罫線は第一の罫線に含まれるの
で、上記テーブル42、43には、第一の罫線のみを登
録する。これにより、第一の罫線と第二の罫線は、第一
の罫線に統合される。
【0105】一方、上記ステップS61で第一の罫線に
第二の罫線が含まれていなければ(ステップS61、N
o),次に、第二の罫線に第一の罫線が含まれるか否か
を判別する(ステップS62)。そして、第二の罫線に
第一の罫線が含まれていれば(ステップS62、Ye
s),ステップS33で描画用テーブル42または印刷
用テーブル43に登録した第一の罫線のデータの内、始
点と終点の座標を、第二の罫線の始点と終点の座標に書
き換える(ステップS63)。そして、続いて、ステッ
プS68の処理を行う。
【0106】これにより、描画用テーブル42または印
刷用テーブル43には第二の罫線のデータが登録され、
第一の罫線のデータは登録されなくなる。すなわち、第
一の罫線と第二の罫線は、第二の罫線に統合される。
【0107】一方、上記ステップS62で第二の罫線に
第一の罫線が含まれなければ(ステップS62,N
o),第二の罫線の下端(始点)が第一の罫線の下端
(始点)よりも下側にあり、かつ第二の罫線の上端(終
点)が第一の罫線に含まれるか否かを判別する(ステッ
プS64)。そして、この条件が成立すれば(ステップ
S64、Yes)、ステップS65で描画用テーブル4
2または印刷用テーブル43に登録した第一の罫線のデ
ータの内、始点の座標を、第二の罫線の始点の座標に書
き換える(ステップS65)。そして、続いて、ステッ
プS68の処理を行う。
【0108】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される。また、上記ステップS6
4でNoと判別すれば、次に、第二の罫線の上端(終
点)が第一の罫線の上端(終点)よりも上側にあり、か
つ第二の罫線の下端(始点)が第一の罫線に含まれるか
否かを判別する(ステップS66)。そして、この条件
が成立すれば(ステップS66、Yes)、ステップS
33で描画用テーブル42または印刷用テーブル43に
登録した第一の罫線のデータの内、終点の座標を、第二
の罫線の終点の座標に書き換える(ステップS67)。
そして、続いて、ステップS68の処理を行う。
【0109】これにより、第一の罫線と第二の罫線を重
ね合わせた第三の罫線が描画用テーブル42または印刷
用テーブル43に登録される。続いて、論理罫線用テー
ブル41の最後まで検索したか否かを判別し(ステップ
S69),まだ、最後まで検索していなければ(ステッ
プS69、NO)、再び、ステップS59に戻る。そし
て、上述したステップS59〜S68の処理を繰り返
す。
【0110】このようにして、ステップS33で論理罫
線用テーブル41から取り出した斜め方向の罫線(第一
の罫線)と一部または全部が重なる斜め方向の罫線(第
二の罫線)が全て論理罫線用テーブル41から抽出さ
れ、それらの罫線が統合された1本の斜め方向の罫線が
描画用テーブル42または印刷用テーブル43に登録さ
れる。また、論理罫線用テーブル41において、第一の
罫線と第二の罫線の描画/印刷用テーブル登録済みフラ
グが「オン」に設定される。そして、論理罫線用テーブ
ル41の最後の罫線データの処理が終了したと判別する
と(ステップS47,No)、上記ステップS32に戻
る。
【0111】以上の動作により、論理罫線用テーブル4
1に登録されている罫線種が同一な複数の罫線は、一部
または全部が重なっているか、または一つの連続する罫
線を形成するならば(例えば、一方の罫線の終点と他方
の罫線の始点が一致する場合)、一つの罫線に統合され
て描画用テーブル42または印刷用テーブル43に登録
される。
【0112】この結果、一部または全部が重なる複数の
水平線、垂線または斜め線が1本の罫線に統合されて描
画/印刷出力されるので、従来よりも帳票や表の描画/
印刷時間を短縮できる。また、直線のみならず、太線、
細線または二重線などに対しも、同様な処理が可能であ
る。
【0113】また、論理罫線用テーブル41から取り出
した罫線が点線(第一の点線)の場合、始点がこの第一
の点線の終点と一致する点線(第二の点線)が、論理罫
線用テーブル41に登録されているか否かが検索され
る。そして、第二の点線が見つかれば、始点を第一の点
線の始点とし、終点を第二の点線の終点とする第三の点
線を、描画用テーブル42または印刷用テーブル43に
登録する。
【0114】以上の処理により、ディスプレイ35の画
面表示またはプリンタ34の印刷出力の際には、図20
に示す記入枠10と記入枠20が隣接して結合される場
合、図15に示すように点線11と点線21とが1本の
点線31に1本化されて,ディスプレイ35またはプリ
ンタ34に描画/印刷出力される。このとき、点線31
は、1本の点線なので、一定のピッチで描画/印刷出力
される。また、この点線31は、従来のように点線11
と点線21とに2回に分けて、印刷または出力されず
に、1回で描画/印刷出力されるので、従来よりも、そ
の出力処理時間が短縮される。また、点線のピッチが一
定となるので、綺麗な点線が描画/印刷出力される。
【0115】尚、点線に限らず、一点鎖線や二点鎖線
も、同様な処理が可能である。次に、本発明の第二の実
施例を説明する。上記第一の実施例では、論理罫線用テ
ーブル41に登録されている罫線の座標を厳密に採用し
て、複数の罫線の重なり具合を調べていたので、ユーザ
の設定した座標が少しでもずれている場合、それらの罫
線を統合することはできない。しかしながら、ユーザが
罫線の始点と終点の座標を設定する場合、個々の記入枠
毎に各罫線の始点と終点の座標を設定していくので、隣
接する記入枠について罫線の始点と終点の座標を設定し
ていくとき、その座標が少しズレル場合があり得る。す
なわち、例えば、実際には水平方向に繋げたい2つの罫
線があった場合、左側の罫線の終点の座標と右側の罫線
の始点の座標を、正確に一致させて入力すべき所を、誤
って、少しズラして入力してしまう場合がままありえ
る。これは、垂直方向または斜め方向に繋げる2つの罫
線についても同様である。さらに、帳票や表などにおい
て、水平方向または垂直方向に隣接する2つの記入枠
で、重なる罫線が有る場合、これらの重ならせるべき罫
線の始点と終点の座標を同一にすべき所を、誤って、少
しずらして入力してしまう場合がある。
【0116】以下に述べる第二の実施例は、このような
場合を救済するものである。すなわち、2つの座標値が
異なっていても、その差が予め定められた許容範囲内に
あれば、それらの座標値は同一と見なして、上記第一の
実施例と同様にして2つの罫線を1つの罫線に統合する
ものである。
【0117】一例として、図2の論理罫線用テーブル4
1に登録されている点線11と点線12の2つの点線の
場合を取り上げる。これら2つの点線は、図15に示す
ように、本来は1つの点線31に統合されるべきもので
あるとする。
【0118】このとき、ユーザによって論理罫線用テー
ブル41に登録された点線11の終点の座標(X2,Y
2)と点線21の始点の座標(X3,Y3)の間に、 X2≠X3,Y2≠Y3 の関係があったとする。この場合、点線11と点線21
のX座標とY座標について、その差の絶対値ABS(X
3−X2),ABS(Y3−Y2)の値(ABSは、絶
対値を表す記号)が、それぞれ、予め定められた許容値
PX,PY以下であるか否かを調べる。そして、 ABS(X3−X2)≦許容値PX (4−1) ABS(Y3−Y2)≦許容値PY (4−2) であれば、点線21の始点の座標(X2,Y2)と終点
の座標(X3,Y3)を、以下に右矢印で示すように自
動修正する。
【0119】 始点:(X3,Y3)→(X2,Y2) 終点:(X4,Y4)→(X4−(X3−X2),Y4−(Y3−Y2)) 但し、X4>X3>X2 上記X座標、Y座標の修正は、点線21の始点が点線1
1の終点と一致するように、点線31をX方向またはY
方向に平行移動させることを意味する。
【0120】これにより、点線11と点線21を、図1
5に示された1本の点線31に1本化できる。そして、
この点線の始点と終点の座標を、図16に示すように、
描画用テーブル42または印刷用テーブル43に登録す
る。
【0121】このような方法は、点線のみならず、直線
にも適用できる。すなわち、例えば、図20に示す直線
13と直線23が、図17(a)に示すような位置関係
となるように、論理罫線用テーブル41に設定された場
合である。この場合、図17(b)に示すように、破線
で示す位置に設定された直線23を、矢印A,Bで示す
ように左下方向に平行移動させて、これを直線23’と
し、この直線23’の始点の座標を、直線13の終点の
座標(X10,Y10)に一致させる。尚、この場合、 ABS(X11−X10)≦許容値PX (5−1) ABS(Y11−Y10)≦許容値PY (5−2) を満足している必要がある。
【0122】また、論理罫線用テーブル41に座標が登
録された2本の直線71と直線72の位置関係が、図1
8(a)〜(e)に示すような関係にある場合について
も、X座標またはY座標のズレが許容値PX、PYの範
囲内に収まっていれば、それぞれ、図18(a)’〜
(e)’に矢印で模式的に示すように、直線72を直線
71に重ね合わせて、1本の直線73に統合するように
する。これは、上述した第一の実施例による、一部また
は全部が重なる2本の直線を1本の直線に統合する方法
を拡張するものである。
【0123】尚、図18には、水平方向の2本の直線の
場合の例を示しているが、前記第一実施例と同様にし
て、垂直方向の2本の直線、さらには、斜め方向の2本
の直線についても、図18に示す方法と同様にして、そ
れらが。予め定められた所定の許容範囲内で一部または
全部が重なっているとみなせるならば、1本の直線に統
合するようにして、ユーザの始点と終点の座標入力ミス
を救済するようにすることも可能である。また、この直
線の線種も、実線のみに限定されることなく、点線、一
点鎖線、二点鎖線、さらには、二重線などいろいろな線
種の直線に適用することが可能である。
【0124】次に、図19のフローチャートを参照しな
がら、以上述べた方法による、第二実施例における線分
描画/印刷処理を説明する。図19のフローチャート
は、第一実施例における図12のフローチャートに相当
するものである。
【0125】図19のフローチャートにおいて、まず、
図12のフローチャートのステップS37と同様にし
て、論理罫線用テーブル41を検索して、該論理罫線用
テーブル41から描画/印刷用テーブル登録済みフラグ
が「オフ」となっていて、かつ罫線方向フラグが「水
平」を示している罫線データを取り出す(ステップS1
01)。
【0126】次に、そのデータの罫線(第二の罫線)の
始点と図11のフローチャートのステップS33で論理
罫線用テーブル41から取り出した上記第一の罫線の終
点とが、所定の許容範囲内で一致するか否かを判別する
(ステップS102)。そして、両者の始点と終点が所
定の許容範囲内で一致すれば(ステップS102,Ye
s)、上記第一の罫線の始点の座標と上記第二の罫線の
終点の座標の差を、オフセット値として算出する(ステ
ップS103)。このオフセット値は、X座標とY座標
とに分けて算出される。尚、第一の罫線の終点と第二の
罫線の始点が完全に一致すれば、オフセット値は、X座
標、Y座標とも”0”になる。
【0127】続いて、上記オフセット値を用いて図17
に示す方法により、第二の罫線の始点と終点の座標を、
該第二の罫線の始点が第二の罫線の終点に一致するよう
に、補正する(ステップS104)。
【0128】次に、第一の罫線の始点を始点とし、上記
補正された第二の罫線の終点を終点とする第三の罫線
を、描画用テーブル42または印刷用テーブル43に登
録し(ステップS105)、図12のフローチャートの
ステップ46と同様の処理を行う(ステップS11
4)。すなわち、論理罫線用テーブル41内の上記第二
の罫線の描画/印刷用テーブル登録済みフラグを「オ
ン」に設定する。
【0129】上記動作により、図17(a)に示す2つ
の直線13と直線23を、図17(b)に示すように操
作して、これら2つの直線13と直線23を、1本の直
線に統合することができる。
【0130】一方、上記ステップS102で第一の罫線
と第二の罫線が所定の許容範囲内で一致しているとみな
せないならば(ステップS102,No)、第一の罫線
の終点と第二の罫線の始点の座標が、X座標は一致して
おり、かつY座標の差は所定の範囲内にあるという第一
の条件を満足しているか否かを判別する(ステップS1
06)。この判別は、第一の罫線と第二の罫線が、それ
ぞれ、図18(a)に示す直線71と直線72に該当す
るか否かを判別するものである。
【0131】そして、上記第一の条件を満足していれば
(ステップS106,Yes),次に、上述したステッ
プS114の処理に移る。したがって、この場合、第二
の罫線は、描画用テーブル42または印刷用テーブル4
3には登録されない。すなわち、第二の罫線は、第一の
罫線と同一であるとみなされ、描画用テーブル42また
は印刷用テーブル43には第一の罫線のみが登録され
る。
【0132】一方。上記ステップS106の判別条件が
満足されなければ(ステップ106、No),続いて、
第二の罫線が第一の罫線よりも長さが短く、かつ所定の
許容範囲内で、第二の罫線が第一の罫線に含まれるとみ
なせるという第二の条件を満足するか否かを判別する
(ステップS107)。これは、図18(b)に示す直
線71と直線72が、それぞれ、第一の罫線、第二の罫
線に相当するか否かの判別に該当する。そして、上記第
二の条件を満足していれば(ステップS107,Ye
s),ステップS114の処理に移る。したがって、こ
の場合も、第二の罫線は、描画用テーブル42または印
刷用テーブル43には登録されず、第一の罫線のみが登
録される。
【0133】一方、上記ステップS107で上記第二の
条件が満足されていないと判別すれば(ステップS10
7,No),次に、第二の罫線が第一の罫線よりも長
く、かつ所定の許容範囲内で、第一の罫線が第一の罫線
の内部に含まれるとみなせるという第三の条件を満足し
ているか否かを判別する(ステップS108)。これ
は、図18(c)に示す直線71と直線72が、それぞ
れ、第一の罫線、第二の罫線に相当するか否かの判別に
該当する。そして、上記第三の条件を満足していれば
(ステップS108,Yes),図18(c)’に示す
ように、第一の罫線の始点と終点のX座標を、第二の罫
線の始点と終点のX座標に補正した第三の罫線を、描画
用テーブル42または印刷用テーブル43に登録する
(ステップS109)。そして、ステップS114の処
理に移る。したがって、この場合は、始点と終点のX座
標が第二の罫線のX座標、また、始点と終点のY座標が
第一の罫線のY座標である第三の罫線が、描画用テーブ
ル42または印刷用テーブル43に登録される。そし
て、論理罫線用テーブル41内の上記第二の罫線の描画
/印刷用テーブル登録済みフラグが「オン」に設定され
る。
【0134】また、ステップS108で上記第三の条件
が満足されないと判別すれば(ステップS108,N
o),次に、所定の許容範囲内で第二の罫線の左端(始
点)が第一の罫線の左端(始点)よりも左側にあり、か
つ第二の罫線の右端(終点)が第一の罫線に含まれるか
という第四の条件を満足しているとみなせるか否かを判
別する(ステップS110)。
【0135】これは、図18(d)に示す直線71と直
線72が、それぞれ、第一の罫線、第二の罫線に相当す
るか否かの判別に該当する。そして、上記第四の条件を
満足していれば(ステップS110,Yes),図18
(d)’に示すように、第一の罫線の始点のX座標を、
第二の罫線の始点のX座標に補正した第三の罫線を、描
画用テーブル42または印刷用テーブル43に登録する
(ステップS111)。そして、ステップS114の処
理に移る。
【0136】したがって、この場合は、始点のX座標が
第二の罫線のX座標、終点のX座標とY座標が第一の罫
線のX座標,Y座標である第三の罫線が描画用テーブル
42または印刷用テーブル43に登録される。そして、
論理罫線用テーブル41内の上記第二の罫線の描画/印
刷用テーブル登録済みフラグが「オン」に設定される。
【0137】また、ステップS110で上記第四の条件
が満足されないと判別すれば(ステップS110,N
o),次に、所定の許容範囲内で第二の罫線の右端(終
点)が第一の罫線の右端(終点)よりも右側にあり、か
つ第二の罫線の左端(始点)が第一の罫線に含まれるか
という第五の条件を満足しているとみなせるか否かを判
別する(ステップS112)。
【0138】これは、図18(e)に示す直線71と直
線72が、それぞれ、第一の罫線、第二の罫線に相当す
るか否かの判別に該当する。そして、上記第五の条件を
満足していれば(ステップS112,Yes),図18
(e)’に示すように、第一の罫線の終点のX座標を第
二の罫線の終点のX座標に補正した第三の罫線を、描画
用テーブル42または印刷用テーブル43に登録する
(ステップS113)。そして、ステップS114の処
理に移る。
【0139】したがって、この場合は、始点のX座標が
第一の罫線のX座標、終点のX座標が第二の罫線のX座
標,さらに、始点と終点のY座標が第一の罫線のY座標
である第三の罫線が、描画用テーブル42または印刷用
テーブル43に登録される。そして、論理罫線用テーブ
ル41内の上記第二の罫線の描画/印刷用テーブル登録
済みフラグが「オン」に設定される。
【0140】続いて、論理罫線用テーブル41の最後ま
で検索したか否かを判別し(ステップS115),ま
だ、最後まで検索していなければ(ステップS115、
NO)、再び、ステップS101に戻る。そして、上述
したステップS102〜S114の処理を繰り返す。
【0141】このようにして、ステップS33で論理罫
線用テーブル41から取り出した水平方向の罫線(第一
の罫線)と一部または全部が、所定の許容範囲内で重な
る罫線(第二の罫線)が全て論理罫線用テーブル41か
ら抽出され、それらの罫線が統合された1本の罫線が描
画用テーブル42または印刷用テーブル43に登録され
る。また、論理罫線用テーブル41において、第一の罫
線と第二の罫線の描画/印刷用テーブル登録済みフラグ
が「オン」に設定される。そして、論理罫線用テーブル
41の最後の罫線データの処理が終了したと判別すると
(ステップS115,No)、図11のフローチャート
のステップS32に戻る。
【0142】以上、述べた以外の処理は、図11〜図1
4のフローチャートに示された上記第一の実施例の処理
と同様である。上記実施例では、ユーザにより始点と終
点の座標の設定がなされた2本の罫線(線分)が、その
一部または全部が重なる場合に1本の罫線(線分)に統
合して、表示または出力するようにしているが、本発明
は、これに限定されることなく、3本以上の罫線(線
分)を、ユーザに設定された始点と終点の座標を基に、
1本の罫線(線分)に統合するような場合に拡張できる
ようにすることも可能である。このようにすれば、大き
な帳票やスプレッドシート(表)の枠などを、高速に描
画または印刷出力することが可能になる。また、帳票や
表のみならず、各種図形や画像の描画や印刷にも適用可
能であり、また、地図などの作成にも適用可能である。
【0143】
【発明の効果】以上、説明したように、本発明によれ
ば、始点と終点の座標が設定された同一の線種の複数の
線分について、一部または全部が互いに重なり合うかを
判別し、重なり合う場合には、これらの線分を1本の線
分に統合する。また、この統合された線分を1回で出力
する。
【0144】したがって、複数の点線が1直線を形成す
るように、各点線の始点と終点の座標が個別に設定され
た場合でも、それらの点線を物理的に1本の点線に統合
して、該点線を一定のピッチで出力できるので、綺麗に
点線を出力することが可能になる。また、個別に設定さ
れた複数の点線を1本の点線に統合してから、その点線
を、1回で描画または印刷出力できるので、表示装置の
画面上への描画や印刷装置による印字出力処理を高速化
できる。また、点線以外の線分についても、一部または
全部が互いに重なり合うように、その始点と終点の座標
が設定された複数の線分を、物理的に1本の線分に統合
し、さらに、その1本に統合された線分を1回で出力す
るので、帳票、表、さらには図形などの描画または印刷
などの出力処理を高速化できる。
【0145】また、始点または終点の座標が完全に一致
せず、厳密には一部または全部が重ならない複数の線分
についても、それらの座標のズレが、予め、定められた
許容範囲内であれば、一方の線分の始点または終点の座
標を自動的に補正して、複数の線分を、物理的に1本の
線分に統合するので、例え、ユーザが、本来、同一の座
標値を設定すべきところを、誤って入力ミスしても、そ
れらの入力ミスが行われた複数の線分を1本の線分に統
合することが可能になる。
【0146】したがって、本来、1本の線分に統合可能
な座標値に設定ミスがあった複数の線分についても、上
記効果を得ることが可能になる。
【図面の簡単な説明】
【図1】本発明の実施例の線分処理装置のシステム構成
を示すブロック図である。
【図2】論理罫線用テーブルの内部構成を説明する図で
ある。
【図3】描画用テーブル及び印刷用テーブルの内部構成
を説明する図である。
【図4】第一実施例における、2本の水平方向の罫線の
始点と終点の座標を説明する図である。
【図5】2本の罫線が水平のとき、それらを、1本の罫
線に統合する場合の例を示す図である。
【図6】第一実施例における、2本の垂直方向の罫線の
始点と終点の座標を説明する図である。
【図7】第一実施例における、2本の斜め方向の罫線の
始点と終点の座標を説明する図である。
【図8】図形エディタの処理を説明するフローチャート
である。
【図9】帳票または表を、ディスプレイの画面に表示す
る場合の動作を説明するフローチャートである。
【図10】帳票または表を、プリンタの画面に表示する
場合の動作を説明するフローチャートである。
【図11】第一実施例における帳票または表の表示また
は印字出力処理を説明するフローチャート(その1)で
ある。
【図12】第一実施例における帳票または表の表示また
は印字出力処理を説明するフローチャート(その2)で
ある。
【図13】第一実施例における帳票または表の表示また
は印字出力処理を説明するフローチャート(その3)で
ある。
【図14】第一実施例における帳票または表の表示また
は印字出力処理を説明するフローチャート(その4)で
ある。
【図15】図11〜図14のフローチャートの処理によ
って表示または印刷出力される帳票または表の形態を示
す図である。
【図16】本発明の第二実施例の処理によって、補正さ
れて、描画用テーブルまたは印刷用テーブルに登録され
る点線の始点と終点の座標を説明する図である。
【図17】第二実施例において、一方の水平方向の直線
の終点と他方の水平方向の直線の始点が、予め、定めら
れた許容範囲内で同一とみなせる場合に、両直線を1本
の直線に統合する方法を説明する図である。
【図18】第二の実施例において、2本の水平方向の直
線を1本の直線に統合する場合の例を説明する図であ
る。
【図19】第二実施例の本発明の要部に係わる処理を説
明するフローチャートである。
【図20】配置前の2つの記入枠を示す図である。
【図21】従来技術における図20に示す2つの記入枠
を横に併置した場合の描画または印刷出力の例を示す図
である。
【符号の説明】
31 CPU 32 ROM 33 ワーキングメモリ 34 プリンタ 35 ディスプレイ 36 キーボード 37 マウス 38 外部記憶装置 41 論理罫線用テーブル 42 描画用テーブル 43 印刷用テーブル 45 バス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】各線分について、その始点と終点の位置情
    報、その方向及びその線種を示す罫線種情報を記憶して
    いる線分情報記憶手段と、 該線分情報記憶手段に記憶されている各線分の情報を読
    み出し、同一線種でかつ同一方向の線分の内、一部また
    は全てが互いに重なりあう線分を検索し、それらの線分
    を1本の線分に統合する線分統合手段と、 を備えることを特徴とする線分情報処理装置。
  2. 【請求項2】各線分について、その始点と終点の位置情
    報、その方向及びその線種を示す罫線種情報を記憶して
    いる線分情報記憶手段と、 該線分情報記憶手段に記憶されている各線分の情報を読
    み出し、同一線種でかつ同一方向の線分の内、一部また
    は全部が所定の許容範囲内で互いに重なりあう線分を、
    各線分の始点及び終点の座標を比較することにより検索
    し、それらの線分を1本の線分に統合する線分統合手段
    と、 を備えることを特徴とする線分情報処理装置。
JP7325581A 1995-12-14 1995-12-14 線分処理装置 Pending JPH09167245A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7325581A JPH09167245A (ja) 1995-12-14 1995-12-14 線分処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7325581A JPH09167245A (ja) 1995-12-14 1995-12-14 線分処理装置

Publications (1)

Publication Number Publication Date
JPH09167245A true JPH09167245A (ja) 1997-06-24

Family

ID=18178490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7325581A Pending JPH09167245A (ja) 1995-12-14 1995-12-14 線分処理装置

Country Status (1)

Country Link
JP (1) JPH09167245A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989714A (zh) * 2018-04-06 2020-11-24 三菱电机株式会社 虚线校正装置及虚线校正方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111989714A (zh) * 2018-04-06 2020-11-24 三菱电机株式会社 虚线校正装置及虚线校正方法
CN111989714B (zh) * 2018-04-06 2024-06-11 三菱电机株式会社 虚线校正装置及虚线校正方法

Similar Documents

Publication Publication Date Title
US4912669A (en) Document-editing system
JP4356847B2 (ja) フィールド定義情報生成方法、ならびび、フィールド定義情報生成装置
PT671037E (pt) Metodo e sistema para criacao especificacao e geracao fontes parametricas
JP2000155859A (ja) 数値解析用メッシュ生成方法およびメッシュ生成装置
JP3527615B2 (ja) レイアウト組版方法
JPH06332680A (ja) プログラム自動生成装置
JPH09167245A (ja) 線分処理装置
JP4288972B2 (ja) レイアウトシステム、レイアウト支援システム、レイアウト支援プログラム及びレイアウト支援方法
JP4132224B2 (ja) 組版方法および組版装置、並びに、その処理を実行するためのプログラムを記録した記録媒体
JPH079658B2 (ja) 文字サイズ不変の拡大図自動作成方法
JP2007272809A (ja) エディタプログラム、該エディタプログラムを記録したコンピュータ読取可能な記録媒体、及び該エディタプログラムを用いた機器操作支援システム
JP4737659B2 (ja) 表組データベースシステムおよび表組データ作成装置
JPH03134771A (ja) 画面帳票形式の自動作成方法
JP2922536B2 (ja) 論理回路図処理装置、及び論理回路図表示方法
JP3725977B2 (ja) 縁取り文字作成方法及びその装置並びにその処理を実行するためのプログラムを記録した記録媒体
JPH07129391A (ja) プログラム作成方法及び装置並びにプリントイメージデータ作成方法及び装置
JPH0896044A (ja) 帳票設計・読取プログラム作成支援システム
JPH07105212A (ja) レイアウトデザイン装置
JP2003157292A (ja) 製品レイアウト管理方式および管理方法
JPH07334550A (ja) 線路設備図作成装置
JPH07121333A (ja) プログラム作成方法及び装置並びにプリントイメージデータ作成方法及び装置
JP2002073691A (ja) 建物用cadシステム
JPH08115358A (ja) 表および図形のデータ接続方法およびデータ接続装置
JP2000011072A (ja) データ印字プログラム生成方法
JPH02166552A (ja) 文書作成装置