JPH0410179A - 印刷装置 - Google Patents

印刷装置

Info

Publication number
JPH0410179A
JPH0410179A JP11466190A JP11466190A JPH0410179A JP H0410179 A JPH0410179 A JP H0410179A JP 11466190 A JP11466190 A JP 11466190A JP 11466190 A JP11466190 A JP 11466190A JP H0410179 A JPH0410179 A JP H0410179A
Authority
JP
Japan
Prior art keywords
data
coordinate
straight line
output
terminal
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
JP11466190A
Other languages
English (en)
Inventor
Hiroyuki Kiyamazawa
木山沢 弘之
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP11466190A priority Critical patent/JPH0410179A/ja
Publication of JPH0410179A publication Critical patent/JPH0410179A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、印刷装置に関する。
[従来の技術] 従来のプリンタにおいて例をとると、第2図(a)の2
4.25,26.27で示す平行四辺形を表示する場合
例えば、 1965年発行のIBMSystem Jo
umal、  vol、4゜no、1.の25頁から3
0頁に記載されている。  J、E。
Bresenham氏によるアルゴリズム(以下、プレ
ゼンハムアルゴリズムという)を使って、第2図(a)
に点線の矢印で示す 30,31,32,33,34,
35,36.37 のそれぞれの整数のX座標において
、そのX座標によって決定される水平線と実際の直線と
の交点が、どのビットの上にあるか計算して、第2図(
a)において28に示すような、灰色に着色して示すと
ころの、実際の直線に最も近いビットをオンにすること
によって表示していた。また、これらの処理は全て、ソ
フトウェアによって行われていた。なお。
ここで、21.22はそれぞれy軸、y軸を示し。
23はX、yともに整数である座標点を示す。
[発明が解決しようとする課題] しかし、このような従来の方法では、第2図(b)に示
すように、  42.43,44.45で示される細長
い図形を表示する場合、実際には連続した図形であるの
に2表示すると途切れてしまうことがある。なお。
ここで、 40.41はそれぞれy軸、y軸であり、4
6.47゜4g、49,50,51.52  は整数の
X座標を示す水平線である。
本発明はかかる課題に鑑みて成されたものであり、その
目的とするところは、従来のアルゴリズムの本質的な部
分を変更せずにさらに発展させ。
任意の直線が全て連続して表示されるように、直線が通
過するビットは全てオンにして、なおかつ。
塗りつぶしを行う部分を一部電子回路に置き換えること
により、アルゴリズムの実行時間を、大幅に短縮するこ
とにある。
[課題を解決するための手段] 本発明の印刷装置は1文字や図形を2輪郭を表す整数で
あるxy座標データとして扱い、用紙に印刷する。印刷
装置において、前記文字や図形のデータの入出力を行う
、データ入出力手段と、前記図形や文字の2輪郭を表す
整数であるxy座標データに含まれている2曲線のデー
タを、直線の整数のxy座標データに近似する。直線近
似部と。
前記直線近似部によって1曲線のデータを近似した。前
記直線の整数のxy座標データと、入力されたままの直
線の整数であるxy座標データを使って、それら前記直
線を、前記印刷装置の離散的なビットに対応させる際に
、前記直線が通過する前記ビットを前記直線に対応させ
るように、前記直線で構成される前記図形や文字を塗り
つぶす範囲を決定するのに必要なデータを算出して出力
する。塗りつぶしデータ計算部と、前記塗りつぶしデー
タ計算部の出力を使って、塗りつぶしを行う範囲を決定
する。塗りつぶし範囲決定回路と、前記塗りつぶし範囲
決定回路の出力に従って、ビットマツプディジタルデー
タを作成して、用紙に転写する用紙転写装置を有するこ
とを特徴とする。
[作用] 本発明の印刷装置の作用について説明すると。
第1図の機能ブロック図に示すように、lのデータ入出
力手段にデータが入力されると、2の直線近似部におい
て、入力されたデータに曲線が含まれていた場合、直線
に近似される2次に、3の塗りつぶしデータ計算部にお
いて、直線が通過したビットがオンになるように、塗り
つぶしを行う場合に必要になるデータを求める。尚、こ
れらのデータについては後述する。ここで、塗りつぶし
を行う場合、どの様にビットを選択するかについて説明
する。
基本的に、塗りつぶしは向かい合った2本の辺の間にあ
るビットを全てオンにすることである。
また、印刷装置においては、印刷される面は離散的なビ
ットで構成されているから、整数の任意のX座標におい
て、向かい合った2本の辺の各々の整数のX座標を求め
ればよい、この様子を第3図に示す、ここで、第3図(
a)は、向がい合った辺のうち、左側にある辺(以下、
左辺という)について、整数の各X座標に於て、とのX
座標に対応するビットが、塗りつぶしを行う最も左側の
ビットとして選択されるかを示している1図中、3o2
で示すような、灰色に着色されたビットが、その整数の
X座標に於て最も左側にあると判断されたビットである
。303は、任意のビットにおけるそのビットの中心の
座標を示している。尚、303で示される座標は+  
X+’lともに整数である。 304,305はそれぞ
れ、y軸、y軸である。
第3図(b)は、右側にある辺(以下、右辺という)に
ついて、同様に示したものである。ここで、灰色に着色
したビットは、各整数のy座標に於て最も右側にあると
判断されたビットである。
そして、このように、高速に塗りつぶしを行うために必
要なデータを、4の塗りつぶし範囲決定回路に送り、塗
りつぶしを行う範囲を決定する。
塗りつぶし範囲決定回路によって求められた塗りつぶし
を行う範囲のデータは、5の用紙転写装置に送られ、そ
のデータを基に、ビットマツプデータを作成して用紙に
転写される。
[実施例] 以下に1本発明の印刷装置の詳細を図示した実施例に基
づいて、説明する。
第10図は本発明の実施例を示すシステム構成図である
図中符号111は、112のマイクロプロセサ(以下。
CPUという) 、  113のリードオンリメモリ 
(以下。
romという) 、 114のランダムアクセスメモリ
(以下、ワークメモリという) 、115のアイ・オー
(以下、Iloという)から成るマイクロコンピュータ
で、116の用紙転写装置と、117の塗りつぶし範囲
決定回路と接続されている。
111のマイクロコンピュータは、116の用紙転写装
置とのデータ入出力機能、直線近似機能、塗りつぶしデ
ータ計算機能を有し、これらの機能は113のromに
入っているプログラムにしたがって。
112のCPUが働いて、115のIloや、114の
ワークメモリを操作することによって実現する。
第16図は、117の塗りつぶし範囲決定回路のブロッ
ク図であり、 CPUと用紙転写装置との接続状態も同
時に示しである。91Oで示す点線で囲んだ部分が塗り
つぶし範囲決定回路である。912゜913が高速に塗
りつぶしを行うために必要な。
左辺のデータを演算する回路ブロックである。
914.915は、高速に塗りつぶしを行うために必要
な、右辺のデータを演算する回路ブロックである。これ
らデータについては、後述する。
911はCPUであり、916は用紙転写装置である。
尚1本実施例では、座標は8ビツトの符号付きの整数で
表されるとしているが、座標は何ビットであっても構わ
ない。
次にこの様に構成した装置の動作を、第11図と第12
図と第13図と第14図と第15図に示したフローチャ
ートと、第17図と第18図と第19図と第20図に示
した回路図、及び、第3図と第4図と第5図と第6図と
第7図と第8図に示した概念図に基づいて説明する。
尚9本実施例では2図形や文字を印刷する位置をxy座
標で表現するものとする。
本印刷装置が動き出すと、111のマイクロコンピュー
タの113のromに記憶されているプログラムに従っ
て、116の用紙転写装置からの入力待になる。
(ステップ1) 116の用紙転写装置から、115の工/○に対して。
実行要求と文字や図形のデータが入力されると。
(ステップ1)まず2曲線があるか調べる。 (ステッ
プ2)曲線があるなら、直線に近似する。
(ステップ3) ステップ4では、高速に塗りつぶしを行う場合に必要な
データを計算する。これらのデータについて詳細に説明
する。尚9辺の始点の座標を(Xl。
yl)とし、終点の座標を(x2.y2)  とする。
また、ylくy2とする。
まず、左辺のデータの算出法、及び、ビットの選択法に
ついて、第4図に示す概念図をもとに説明する。第4図
(a)に、401で示される左辺、及び、各y座標に於
て、最も左にあると判断されたビットを、402で示さ
れる様に、灰色に着色して示す、404はy軸、4o5
はy軸である・第4図(b)は、第4図(a)の403
で示される円内を拡大して示したものである。ここで、
 421゜422はX方向のビット境界、  451,
452,453,454はX方向のビット境界である。
そして、 410.411,412で示したX方向のビ
ット境界からの距離(以下。
errという)が、ビット選択の基準になる。X方向の
ビット境界から見て、  errが負ならば左のビット
正ならば右のビットを選択する。第4図(b)の場合、
431のy座標に於て410のerrを調べると、負で
あるから、441のビットを最も左側にあるビットとす
る0次にerrに(x2−x 1) / (y2−y 
1)という値を加えることによって、452のX方向の
ビット境界に於ける。411で示すerrを求める。こ
のerrは正だから、442で示すビットを選択する。
そして、基準とするX方向のビット境界を422に移し
411のerrに1− (x2−xl)/ (y2  
yl)を加えることによって、412のerrを求め、
ビット選択の判断を繰り返す。
e汀は、この手順を実行する前に1回だけ初期値を計算
し、その後は、定数c2 =  (x2−xl)/(y
2−yl)あるいは、 cl =  1−(x2−xi
)/(y2−yl)を加えるだけでよい。
次に、左辺のerrの初期値の求め方を説明する。
第5図は、errの初期値の計算例を示す概念図である
。第5図(a)は、501で示される辺の傾きが正の場
合について示し、第5図(b)は、521で示される辺
の傾きが負の場合について示している。
505.526で示した四角に囲まれた部分が1つのビ
ットに対応し、506,527は、ビットの中心座標を
示す。
尚、ビットの中心座標は整数であり、また、直線の始点
を(X 1+  y 1) 、終点を(x2.y2)と
する6 ここで、yl〈y2であるとする。
まず、第5図(a)について説明する。
第5図(a)は501で示す直線の始点付近を表示した
ものである。507のX方向の境界から、502に示す
ような、直線の始点までの距離を求める。直線の始点の
xy座標は整数だから、この距離は−0,5である。こ
の値に503に示す距離を加えて、504に示すerr
の初期値を求める。ここで、503に示す距離は、 y
2−ylを deltay とおき、 x2−xlを 
deltaXとおくと、503に示す距離は。
0.5 X  deltax  / deltayであ
る。従って。
err = 0.5 X  deltax / del
tay  −0,5である。だたし、このままでは2割
り算や小数が存在するため、これを、整数のみで演算で
きるようにする。即ち2両辺に2 X  deltay
 をかけて。
2 X  deltay  X  err= delt
ax  −deltay とする。  errは正負の判断しかしないから、新た
に。
2 X  deltay X  errを、  err
とおきなおす、よって。
err  = deltax  −deltayとなる
また、前述したerrに加える値。
c2 =  (x2−xl)/(y2−yl)即ち。
c2 = deltax  /  deltayあるい
は。
cl =  1−(x2−xl)/(y2−yl)即ち
cl = 1−  deltax  /  delta
yにも 2 X  deltay をかけなければなら
ないから。
c2 = 2  X  deltax cl = 2 X  (deltay  −delta
x)となる。
これで、傾きが正の左辺についてのデータが求まった。
次に、傾きが負の左辺のデータの求め方を、第5図(b
)を使って、説明する。
第5図(b)は521で示す直線の始点付近を表示した
ものである。524のX方向の境界から、521に示す
ような、直線の始点までの距離を求める。直線の始点の
xy座標は整数だから、この距離は0.5である。この
値に523に示す距離(負の値)を加えて、524に示
すen−の初期値を求める。ここで、523に示す距離
は、 y2−ylを deltay  とおき、 x2
−xiを deltaxとおくと、523に示す距離は
0.5 X  deltax  / deltayであ
る。従って。
err = 0.5 X  deltax / del
tay + 0.5である。だたし、このままでは2割
り算や小数が存在するため、これを、整数のみで演算で
きるようにする。即ち2両辺に2 X  deltay
 をがけて。
2 X  deltay  X  err= delt
ax  + deltayとする。  errは正負の
判断しかしないから、新たに。
2 X  deltay X  errを、  err
とおきなおす、よって。
err = deltax +deltayとなる。
さらに。
m= deltax  div  deltayを求め
る。ここで、 divは整数の割り算を示す、そして。
ml = m + 1 ml=m を求める。
これで、左辺のデータが求まった。 (ステップ次に、
右辺のデータの算出法、及び、ビットの選択法について
、第6図に示す概念図をもとに説明する。第6図(a)
に、601で示される右辺、及び、各X座標に於て、最
も右にあると判断されたビットを、602で示される様
に、灰色に着色して示す、6o4はy軸、605はX軸
である。
第6図(b)は、第6図(a)の603で示される円内
を拡大して示したものである。ここで、 621゜62
2はX方向のビット境界、  651,652,653
,654はX方向のビット境界である。そして、 61
0.611,612で示したX方向のビット境界からの
距離(以下。
errという)が、ビット選択の基準になる。X方向の
ビット境界から見て、  errが負ならば左のビット
正ならば右のビットを選択する。第6図(b)の場合、
631のX座標に於て610のerrを調べると、負で
あるから、641のビットを最も左側にあるビットとす
る0次にerrに(x2−xl)/ (y2  yl)
という値を加えることによって、652のX方向のビッ
ト境界に於ける。611で示すerrを求める。このe
汀は正だから、642で示すビットを選択する。そして
、基準とするX方向のビット境界を622に移し。
611のerrに1− (x2−xl)/ (y2−y
l)を加えることによって、612のerrを求め、ビ
ット選択の判断を繰り返す。
このように、右辺のデータも左辺のデータと全く同様に
計算できる。 (ステップ6)以上、説明してきたビッ
トの選択法を、左辺と右辺の違いに焦点を当ててまとめ
ると、第7図の概念図に示すように、左辺と右辺の処理
の違いは。
最も左側のビット、あるいは、最も右側のビットを決め
る際、傾きが正であれば、第7図(a)に示すように、
左辺はelTをみて、その上のビットを決定するのに対
し、第7図(c)に示すように。
右辺はerrをみて、その下のビットを決定するという
ことである。また、傾きが負であれば、第7図(b)に
示すように、左辺はerrをみて、その下のビットを決
定するのに対し、第7図(d)に示すように、右辺はe
rrをみて、その上のビットを決定する。
なお2便宜上、左辺のerrをerrl、clをell
、c2をc21.mlをmll、m2をm12とする。
右辺についても、同様に、右辺のerrをerrr、c
lをclr、c2をc2r。
mlをmrl、m2をmr 2とする。
このようにして左辺のerrl  、 cll 、 c
21 、 mll 。
m12.及び右辺のerrr  、 clr 、 c2
r 、 mrl 、 mr2を計算したら、これらのデ
ータを塗りつぶし範囲決定回路に送る。(ステップ7) このことについて、第12図に示したフローチャートと
、第8図に示した概念図に基づいて説明する。
第8図に於て、太線は塗りつぶすべき多角形の輪郭を示
す、ここでは2便宜上、803で示した左上隅を座標軸
原点とし、801をX軸、802をy軸とする。また、
810で示した点が、ビットに於ける概念的な中心座標
であり、その値は整数である。さらに、ビットは、概念
的に、隙間なく並んだ正方形として表現し、オンになる
ビットは灰色に着色して表す、804’、805,80
6゜807.808,809は多角形の各々の辺である
。さらに、841,842,843,844゜845.
846,847,848,849で示した目盛りは整数
のX座標を表し、851,852゜853.854,8
56,857,858,859゜860で示した目盛り
は整数のX座標を示す、なお、821,822,823
の白抜きの矢印は。
805の辺のそれぞれのerrを示し、831゜832
.833,834で示した白抜きの矢印は。
804の辺のそれぞれのerrを示す。
まず、各辺の始点のX座標の小さい順に並べる。
始点のX座標の等しい辺については、ここでは考えない
、 (ステップ18) 次に、最も小さい始点、あるいは、終点を持つ辺のX座
標値を取り出し、カレントのX座標とする。ここでは、
851で示したX座標になる。
(ステップ19) ステップ20では、塗りつぶし範囲決定回路に。
初期化信号を送って初期化する。
ステップ21では、全部の辺に対して、処理を終了した
か、即ち、塗りつぶしを完了したか調べる。塗りつぶし
が完了したら、ステップ30へ行く、そうでなければ、
ステップ22へ行く。
ステップ22では、カレントのX座標に始点がある全て
の辺について、X座標の小さい順に並べ換えをする。X
座標が同じなら、  deltax / deltay
で表される辺の傾きの小さい順に並べる。851のX座
標では804..805の辺が始点を持ち。
同じX座標を持っているので、傾きの小さい順である。
804,805の順に並べる。
そして、左側にある辺を左辺、右側にある辺を右辺とす
る。804が左辺、805が右辺になる。
(ステップ23) ステップ24では、塗りつぶし範囲決定回路のリセット
端子にリセット信号を送り2回路をリセットする。
ステップ25では、塗りつぶしデータ計算部で計算され
た。  errl  、 cll 、 c21 、 m
ll 、 m12と。
左辺の始点のX座標と、終点のX座標(以下、X5EN
Dと云う)と、左辺のdeltayを127から引いた
値(以下、ENDYIと云う)と、左辺の傾きが表され
ているdeltaxの符号ビット (以下、  s 5
lopelと云う)と、  errr  、 clr 
、 c2r 、 mrl 、 mr2と、右辺の始点の
X座標と、終点のX座標(以下、XeENDと云う)と
右辺のdeltayを127から引いた値(以下、 E
ND Yrと云う)と、右辺の傾きが表されているde
ltaxの符号ビット(以下、  s 5loperと
云う)と、カレントのX座標と、左辺と右辺の終点のX
座標のうち。
小さい方の値(以下、Yendと云う)に1を加えてカ
レントのX座標を引いた値を、塗りつぶし範囲決定回路
にセットし、ロード信号を送る。このことについて第1
3図に示すフローチャートと第17図と第18図と第1
9図と第20図に示す回路図に従って、詳しく説明する
第17図は、左辺上にあるビットを表す座標を求める回
路である。ステップ20で送る初期化信号は、216の
INITIAL端子に加えられる。この信号は、217
のオアゲートを通って、221と。
227と、238を除く、各フリップフロップ。
及び、ラッチのCLR端子に加えられる。これによって
2回路が初期化される。
ステップ25で行われる各データのセットについて、左
辺と右辺各々について説明する。
まず、左辺について説明すると、第17図の。
201の端子にs  5lopelを、202の端子に
errlを、204の端子にallを、205の端子に
c21を、207の端子にXs  endを。
208の端子にmllを、209の端子に而2を、21
0の端子にXsを、211の端子にEND  Ylを送
る。201の端子は、221,222のラッチと接続さ
れている。221と222は非同期のラッチであり、C
LR信号が入力されるか、あるいは、新たなデータが入
力されるまでは、データを保持している。202,20
4,205,207゜208.209,210の端子は
、各々、227゜218.219,220,232,2
34,238゜のラッチと接続されている。   22
7,218゜219.220,232,234,238
は非同期のラッチであり、CLR信号が入力されるか。
あるいは、新たなデータが入力されるまでは、データを
保持している。211の端子は、247のデータ保持機
能を持ったカウンタに接続されている。247のカウン
タは、入力されたデータを一旦記憶しておいて、ロード
信号(以下、LDという)が入力されたときに、入力さ
れたデータに従ったカウントを開始する。
次に、右辺について説明すると、第18図の。
251の端子にs  5loperを、252の端子に
errrを、254の端子にclrを、255の端子に
c2rを、257の端子にXe endを、258の端
子にmrlを、259の端子にmr2を、260の端子
にXeを、261の端子にEND  Yrを送る。
251の端子は、271,272のラッチと接続されて
いる。271と272は非同期のラッチであり、CLR
信号が入力されるか、あるいは、新たなデータが入力さ
れるまでは、データを保持している。252,254,
255,257,258゜259.260の端子は、各
々、277.269゜270.293,282,284
,288.のラッチと接続されている。277.269
,270゜293.282,284,288は非同期の
ラッチであり、CLR信号が入力されるか、あるいは。
新たなデータが入力されるまでは、データを保持してい
る。261の端子は、297のデータ保持機能を持った
カウンタに接続されている。297のカウンタは、入力
されたデータを一旦記憶しておいて、LDが入力された
ときに、入力されたデータに従ったカウントを開始する
さらに、第19図の922の端子に。
Yend+1−current  y をセットする。この値は、塗りつぶしを行うy座標の範
囲を示す、922の端子は、926のカウンタに接続さ
れている。926のカウンタは、第18図の297のカ
ウンタと同様の機能を持つ。
そして、第20図の951の端子にcurrent y
をセットする。951の端子は955のラッチに接続さ
れている。955のラッチは第18図の288のラッチ
と同様な機能を持つ。
このようにして、塗りつぶし範囲決定回路にデータをセ
ットした後、CPUはこれらのデータを0にして、ステ
ップ26へ行く、ステップ26では、現在の処理が最初
の辺の処理であるか判断する。第8図に於いては、80
4と805の辺の処理が最初の辺の処理である。ステッ
プ26で最初の辺の処理と判断された場合、ステップ2
7へ行き、塗りつぶし範囲決定回路に、 INIT L
OAD信号とLOAD信号を送る。そうでない場合、ス
テップ28へいき、 LOAD信号を塗りつぶし範囲決
定回路に送る。塗りつぶし範囲決定回路は、 LOAI
)信号を受けると、CPUに対してホルト信号を出し、
塗りつぶし処理が一段落するまで、CPUの動作を一旦
停止させる。
ここで、塗りつぶし範囲決定回路の動作について、第1
2図に示したフローチャートと、第17図と第18図と
第19図と第20図に示した回路図に従って、詳細に説
明する。
まず、第17図に示した回路図の、全体の機能について
説明する。
第17図は左辺上の座標点を求める回路図である。20
2の端子に与えられたerrlは227のラッチに一旦
記憶され、228のオアゲートを通じて、229のフリ
ップフロップに送られる。
尚、227のラッチは、errlを229のフリップフ
ロップに送った後、203の端子に加えられるclea
r信号によってリセットされる。このことについては後
述する。229のフリップフロップに加えられ、206
の端子に加えられているクロックによって、サンプリン
グされたerrlは230の加算器に加えられ、all
、あるいは。
c21との和が求められる。
ellとc21は、各々、204,205の端子に加え
られ、各々、218,219のラッチに一旦記憶される
。そして、223,224のセレクタに送られ、err
lが正の時にcllをerr 1に加えてerrlが負
の時にc21を加えるか。
あるいは、errlが正の時にc21を加えて負の時に
cllを加えるかを、201の端子に加えられ、222
のラッチを経て223,224のセレクタのSEL端子
に加えられるs 5lopelの値によって2選択され
る。さらに、225のセレクタに送られ、ここで、er
rlの符号ビットによって、ellを出力するか、c2
1を出力するか選択されて、226のフリップフロップ
に送られる。
ここで、クロックでサンプリングされた後、230の加
算器に送られる。
230の加算器で、errlと、all、あるいは、c
21の和を計算したら、その計算結果は231のフリッ
プフロップを通って228のオアゲートを通じて229
のフリップフロップに戻って、計算を繰り返す。
210の端子に加えられたXSは、238のラッチに一
旦記憶され、239のオアゲートを通って240のフリ
ップフロップに送られる。240のフリップフロップで
は、クロックでサンプリングされて、241の加算器に
加えられる、ここでは、左辺の傾き、あるいは、err
lの値によって9m11またはm12との和が求められ
る。
m 11とm12は、各々、208,209の端子に加
えられ、各々、232,234のラッチに一旦記憶され
る。そして、233,235のセレクタに送られ、er
rlが正の時にmllをXSに加えてerrlが負の時
にm12を加えるか、あるいは、errlが正の時にm
L2を加えて負の時にmllを加えるかを、201の端
子に加えられ。
222のラッチを経て233,235のセレクタのSE
L端子に加えられるs 5lopelの値によって。
選択される。さらに、236のセレクタに送られ。
ここで、errlの符号ビットによって、mllを出力
するか、m12を出力するか選択されて。
237のフリップフロップに送られる。ここで。
クロックでサンプリングされた後、241の加算器に送
られる。
241の加算器で、xsと、mll、あるいは。
m12の和を計算したら、その計算結果は246のフリ
ップフロップと、242のセレクタに送られる。246
のフリップフロップの出力は、228のオアゲートに送
られ、229のフリップフロップに戻って、計算を繰り
返す。
242のセレクタでは、左辺の終点のX座標であるXs
  ENDとXSとの選択が行われる。これは、左辺の
終点のX座標の補正のためである。
左辺の終点は、247のカウンタが検出する。このこと
については後述する。
242のセレクタの出力は、245のフリップフロップ
に入力され、クロックでサンプリングされた後、215
の出力端子から用紙転写装置に送られる。
尚、247のカウンタはEND  Ylからカウントを
開始し、出力がすべて1になるとりプルキャリを出力す
るが、247のカウンタのリプルキャリ出力によって、
LOAD信号と、リセット信号を、各々、249,25
0のアンドゲートでゲートしている。このため、247
のカウンタのリプルキャリ信号が出ていない、即ち、1
本の左辺の処理が終了するまでは、LO,AD倍信号リ
セット信号も受は付けないようになっている。また。
clear信号も、同様に991のアンドゲートでゲー
トされている。
第18図は右辺上の座標点を求める回路図である。25
2の端子に与えられたerrrは277のラッチに一旦
記憶され、278のオアゲートを通じて、279のフリ
ップフロップに送られる。
尚、277のラッチは、errrを279のフリップフ
ロップに送った後、253の端子に加えられるclea
r信号によってリセットされる。このことについては後
述する。279のフリップフロップに加えられ、256
の端子に加えられているクロックによって、サンプリン
グされたerrrは280の加算器に加えられ、clr
、あるいは。
c2rとの和が求められる。
clrとc2rは、各々、254,255の端子に加え
られ、各々、269,270のラッチに一旦記憶される
。そして、273,274のセレクタに送られ、err
rが正の時にclrをerrrに加えてerrrが負の
時にc2rを加えるか。
あるいは、errrが正の時にc2rを加えて負の時に
clrを加えるかを、251の端子に加えられ、272
のラッチを経て273,274のセレクタのSEL端子
に加えられるs 5loperの値によって2選択され
る。さらに、275のセレクタに送られ、ここで、er
rrの符号ビットによって、clrを出力するか、c2
rを出力するか選択されて、276のフリップフロップ
に送られる。
ここで、クロックでサンプリングされた後、280の加
算器に送られる。
280の加算器で、errrと、clr、あるいは、c
2rの和を計算したら、その計算結果は281のフリッ
プフロップを通って278のオアゲートを通じて279
のフリップフロップに戻って、計算を繰り返す。
260の端子に加えられたxeは、288のラッチに一
旦記憶され、289のオアゲートを通って290のフリ
ップフロップに送られる。290のフリップフロップで
は、クロックでサンプリングされて、291の加算器に
加えられる。ここでは、右辺の傾き、あるいは、err
rの値によって、mrlまたはmr2との和が求められ
る。
mrlとm r 2は、各々、258,259の端子に
加えられ、各々、282,284のラッチに一旦記憶さ
れる。そして、283,285のセレクタに送られ、e
rrrが正の時にmrlをxeに加えてerrrが負の
時にmr2を加えるか、あるいは、errrが正の時に
mr2を加えて負の時にmrlを加えるかを、251の
端子に加えられ。
272のラッチを経て283,285のセレクタのSE
L端子に加えられるs 5loperの値によって。
選択される。さらに、286のセレクタに送られ。
ここで、errrの符号ビットによって、mrlを出力
するか、mr2を出力するか選択されて。
287のフリップフロップに送られる。ここで。
クロックでサンプリングされた後、291の加算器に送
られる。
291の加算器で、xeと、mrl、あるいは。
mr2の和を計算したら、その計算結果は296のフリ
ップフロップと、292のセレクタに送られる。296
のフリップフロップの出力は289のオアゲートに送ら
れ、290のフリップフロップに戻って、計算を繰り返
す。
292のセレクタでは、右辺の終点のX座標であるXe
  ENDとxeとの選択が行われる。これは、右辺の
終点のX座標の補正のためである。
右辺の終点は、297のカウンタが検出する。このこと
については後述する。
292のセレクタの出力は、295のフリップフロップ
に入力され、クロックでサンプリングされた後、266
の出力端子から用紙転写装置に送られる。
尚、297のカウンタはEND  Yrからカウントを
開始し、出力がすべてlになるとりプルキャリを出力す
るが、297のカウンタのリプルキャリ出力によって、
LOAD信号と、リセット信号を、各々、299,26
5のアンドゲートでゲートしている。このため、297
のカウンタのリプルキャリ信号が出ていない、即ち、1
本の右辺の処理が終了するまでは、LOAD信号もリセ
ット信号も受は付けないようになっている。また。
clear信号も同様に992のアンドゲートでゲート
されている。
第17図と第18図に示した回路は共にクロックに同期
して動作する。そのためのクロックを制御する回路が第
19図に示した回路である。
921はLOAD信号を入力する端子、922はYen
d+1−current  yを入力する端子、923
はMASTERCLOCKを入力する端子、924はリ
セット端子である。ここで。
MASTERCLOCKとは、クロックを発生するため
の矩形波発振回路の出力である。 LOAD信号は、ス
テップ27.あるいは、ステップ28で送られる信号で
ある。  Yend+1−current yは、ステ
ップ25でセットされるデータである。リセット信号は
、ステップ24で送られる信号である。
926のカウンタは、LOAD信号が送られると、  
Yend+1−Current−yからクロックをカウ
ントし。
出力がすべてlになったらリプルキャリを出力する。リ
プルキャリは926のENABLE端子に入力されてお
り、リプルキャリが出力されるとカウンタは動作を停止
する。
また、リプルキャリは938のオアゲートを通って、9
27のインバータで反転されて、929のフリップフロ
ップに入力される。929のフリップフロップでは、M
ASTERCLOCKを928のインバータで反転した
クロックで、入力信号をサンプリングしている。929
のフリップフロップの非反転出力は、930のアンドゲ
ートでMASTERCLOCKとのアンドをとって。
931の出力端子から、CLOCKとして出力される。
このCLOCKが各回路ブロックに入力されている。こ
のようにMASTERCLOCKを、リプルキャリでゲ
ートしているため、各回路は、  (Yend+1−c
urrent y )クロックの間しか動作しない、さ
らに、929のフリップフロップの反転出力はそのまま
、HALT信号としてCPUに送られる。この信号がア
クティブの間、CPUは動作を停止している。つまり、
CPUが動作を停止している間、塗りつぶし範囲決定回
路は動作し。
CPUが動作している間、塗りつぶし範囲決定回路は動
作を停止している。このようにしてCPUとの同期をと
っている。
以上のようにして、XSとxeが求められるが。
この他に、y座標の値も求めなければならない。
この、y座標を求める回路が第20図に示した回路であ
る。
951には、  current yがセットされ、そ
して。
955のラッチに一時記憶される。955のラッチの出
力は、956のフリップフロップに送られる。956の
フリップフロップはCLOCKが人力されないとデータ
を出力しないため、 CLOCKが入力されるまで、加
算器にデータが送られることはない、952には、LO
AD信号が加えられる。
LOAD信号は、959のカウンタに伝えられ。
LOAD信号が入力されると、959のカウンタは、デ
ータを内部に取り込む、このデータはOである。953
はCLOCKが人力される端子である。ここに入力され
るCLOCKは第19図の回路で制御されたCLOCK
である。従って1回路が動作するときしかCLOCKは
入力されない、954はリセット端子である。
955のラッチに記憶されたcurrent yは95
6のフリップフロップに送られ、CLOCKが入力され
ると、957の加算器に送られる。959のカウンタの
出力は、960のフリップフロップに加えられ、960
のフリップフロップの出力は。
957の加算器に送られる。957の加算器で。
current  yとカウンタの出力との和が計算さ
れ、961の端子からyの値が出力される。
なお、current  yが人力されてから出力され
るまでの回路構成は、XSあるいはxeを計算する回路
と同様な構成になっている。従って。
各出力端子に於けるデータ間の同期がとれている。
次に、塗りつぶし範囲決定回路の動作について。
第12図と第13図と第14図と第15図に示したフロ
ーチャートと、第8図に示した概念図と。
第17図と第18図と第19図と第20図に示した回路
図に従って、詳細に説明する。
ステップ31では、新規の辺があった場合、その始点の
補正を行う、このことを、第14図に示すフローチャー
トに従って、詳しく説明する。
ステップ51では、左辺が新規の辺であるか判断する。
ここで、新規の辺とは、その辺の始点のy座標がカレン
トのy座標である辺である。第8図では、804が新規
の左辺である。新規の辺で有ればステップ52へ行き、
そうでなければステップ56へ行<、第17図の回路に
於いて、この判断は、247のカウンタのリプルキャリ
出力と。
INITIAL信号と、INIT  LOAD信号によ
って行う、 INITIAL信号、あるいは、INIT
 LOAD信号が入力されたときは、最初の辺の処理で
あるから、左辺は新規の辺であると判断される。また。
LOAD信号が入力された直後に新規の辺の処理を行う
、しかし、リプルキャリ信号が出力されていないときは
、まだ、1本の左辺の処理を終了していないから、LO
AD信号、CLEAR信号。
RESET信号を受は付けない、従って、新規の辺の処
理は行わない。
ステップ52では、左辺の傾きが正かどうか調べる。傾
きが正ならばステップ56へ行く、そうでなければ、ス
テップ53へ行<、804の辺の傾きは負であるので、
ステップ53へ行く、第17図に於いては、221のラ
ッチの出力によって。
226のフリップフロップと237のフリップフロップ
にCLR信号を入力することによって実現する。即ち、
傾きが正の場合、傾きの符号ビットであるs 5lop
elは0であるから2221のラッチの反転出力は1で
ある。従って、226,237のフリップフロップはク
リアされ、0が出力される。
故に230,241の加算器では、各々err 1とX
SにOが加えられる。これによって、ステップ52から
ステップ56へ行ぐルートが実現される。
ステップ53では、  errlが正であるか調べる。
errlが正ならば、ステップ54へ行き、そうでなけ
ればステップ55へ行く、ステップ54゜ステップ55
では前述したように、各々、  errlの修正とxs
の決定を行う、804の辺のerr 1は、第8図の8
31に示すように、正であるからステップ54へ行く、
ここで、errlを補正し。
832で示すerrlを求める。また、xsは804の
辺の始点のX座標となる。 (ステップ54)ステップ
53.ステップ54.ステップ55の機能の実現方法に
ついては後述する。
ステップ56では、右辺が新規の辺であるか調べる。右
辺が新規の辺で有れば、ステップ57へ行き、そうでな
ければステップ61へ行<、第18図の回路に於いて、
この判断は、297のカウンタのリプルキャリ出力と、
INITIAL信号と。
INIT  LOAD信号によって行う、 INITI
AL信号、あるいは、INIT LOAD信号が入力さ
れたときは。
最初の辺の処理であるから、右辺は新規の辺であると判
断される。また、LOAD信号が入力された直後に新規
の辺の処理を行う、しかし、リプルキャリ信号が出力さ
れていないときは、まだ、1本の右辺の処理を終了して
いないから、LOAD信号、CLEAR信号、RESE
T信号を受は付けない、従って、新規の辺の処理は行わ
ない。
ステップ57では、右辺の傾きが正であるが調べる。右
辺の傾きが正であるならばステップ58へ行き、そうで
なければ、ステップ59へ行く。
805で示される右辺の傾きは正であるので、ステップ
58へ行く、第18図に於いては、271のラッチの出
力によって、276のフリップフロップと287のフリ
ップフロップにCLR信号を入力することによって実現
する。即ち、傾きが負の場合、傾きの符号ビットである
s 5loperは1であるから、271のラッチの非
反転出力には1が出力される。従って、276.287
のフリップフロップはクリアされOが出力される。故に
、280゜291の加算器では、各々、errrとxe
にOが加えられる。これによって、ステップ57からス
テップ61へ行くルートが実現される。
ステップ58では、errrが正であるか調べる。er
rrが正ならばステップ60へ行き、そうでなければ、
ステップ59へ行く。
ステップ59.ステップ60では、前述したように、そ
れぞれerrrの修正とxeの決定を行う、821で示
される。805の右辺のerrrはOなので、ステップ
59へ行き、821のemにclrを加えることにより
、822のerrrを求める。xeは805の辺の始点
になる。ステップ58.ステップ59.ステップ60の
機能の実現方法については後述する。
ステップ61では、第17図で求まったXsと。
第18図で求まったXeと、第20図で求まったyの値
を用紙転写装置に送る。この値を基にして。
用紙転写装置は、851のX座標に於て、 xsとxe
の間のビットをオンにする。第8図に於いては。
(845のX座標、851のX座標)と(845のX座
標、851のX座標)の間、即ち、 (845のX座標
、851のX座標)のビットをオンにする。カレントの
X座標は。
959のカウンタが1カウントアツプするので。
自動的に1増える。なお、ここでは、Yendは854
のX座標である。
このようにして、新規の辺の補正が終了したら。
第13図のフローチャートのステップ32へ行く。
ステップ32では、カレントのX座標(以下。
yという、)がYendより小さいが調べる。小さけれ
ば、ステップ33へ行き、そうでなければステップ48
へ行く、現在処理を行っているX座標は825のX座標
であるから、ステップ33へ行く、この機能は第19図
に示す回路で実現している。即ち926のカウンタが、
yena+t−current yまでカウントして、
リプルキャリを出力することによって、Yendまで処
理をしたことが解る。
そうすると、リプルキャリ出力によって、 CLOCK
が停止し、塗りつぶし範囲決定回路は動作を停止する。
そして、 HALTが解除されることによって、 CP
Uが動作を開始する。
ステップ33では、左辺の傾きが正かどうか調べる。正
ならば、ステップ34へ行き、そうでなければ、ステッ
プ35へ行く、現在処理している左辺である804の辺
の傾きは負であるから、ステップ35へ行く。
ステップ34.ステップ36.ステップ37は傾きが正
の左辺に対して、前述したビットの選択法の手順を示し
たものである。またステップ35゜ステップ38.ステ
ップ39は傾きが負の左辺に対して、前述したビットの
選択法の手順を示したものである。
ステップ35では、  804の左辺において。
832で示されるerrlの値を調べると、負であるか
ら、ステップ39へ行く。
ステップ39で、832のerrlを833のerrl
になおして、845のX座標にあったxsを、844の
X座標にする。
ステップ33.ステップ34.ステップ35゜ステップ
36.ステップ37.ステップ38.ステップ39の実
現方法について説明する。ステップ33での判断の違い
で何が異なるか考えると。
辺の傾きが正か負で、errlとOとの大小判断が逆に
なることである。
第17図では、errlの大小判断は固定し。
errl、あるいは、XSに加える値を入れ換えること
によって実現している。cll、c21は。
各々、218,219のラッチを通って223゜224
のセレクタに送られる。223,224゜225のセレ
クタは、SEL端子の入力が0のとき、Aの端子に入力
されたデータを出力Yに送る。
辺の傾きが正の時、  s 5lopelはOだから、
223゜224のセレクタはAの端子の入力を出力する
そのため、225のセレクタのAの入力端子にはall
が、Bの入力端子にはc21が送られる。
225のセレクタもSELがOのとき、Aを出力し、S
ELが1のときBを出力するから、傾きが正の場合、e
rrlが負でないならば、cllを226のフリップフ
ロップを通じて230の加算器に送り、errlが負の
ならば、c21を同様に加算器に送る。mll、m12
についても全く同じ動作をする。
ステップ40では、右辺の傾きが正であるか調べる。正
ならば、ステップ41へ行き、そうでなければ、ステッ
プ42へ行く、現在処理している右辺である805の辺
の傾きは正であるから、ステップ41へ行く。
ステップ41.ステップ43.ステップ44は傾きが正
の右辺に対して、前述したビットの選択法の手順を示し
たものである。またステップ42゜ステップ45.ステ
ップ46は傾きが負の右辺に対して、前述したビットの
選択法の手順を示したものである。
ステップ41では、822で示される。805の右辺の
errrの値を調べると、0より犬で有るから、ステッ
プ43へ行く。
ステップ43で、822のerrrを823のerrr
になおして、845のX座標にあったxeを、846の
X座標にする。
ステップ40.ステップ41.ステップ42゜ステップ
43.ステップ44.ステップ45.ステップ46の実
現方法については、左辺の場合と全く同様である。
そして、XSとxeの値とyを用紙転写装置に送る。 
(ステップ47) その後、ステップ32へもどって、カレントのyがYe
ndより小さい間、即ち、247.あるいは、297の
カウンタのリプルキャリが出力されるまで、ステップ3
2からステップ47を繰り返す。
カレントのyがYendより小さくなくなって。
247、あるいは、297のカウンタのリプルキャリが
出力されたら、ステップ48へ行く、第8図の804と
805の辺に対しては、yが845のX座標になったき
、ステップ48へ行く。
ステップ48では、そのX座標で、処理を終了する辺、
つまり、そのX座標に終点がある辺について、終了点の
補正を行う。
このことについて、第15図のフローチャートに従って
、説明する。
まず、左辺の処理が終了したか調べる。 (ステップ7
1)左辺の処理が終了していないなら、ステップ72へ
行く、ステップ72では通常の処理を行う、ここで言う
通常の処理とは、第13図のフローチャートのステップ
33からステップ29に示す処理と全く同じ処理である
。そして、この通常の処理を行ったら、ステップ77へ
行<、804の左辺の場合、まだ、処理が終了していな
いので。
ステップ72の通常の処理を行い、XSには、842の
X座標の値を代入する。
ステップ71で、左辺の処理が終了したと判断されたら
、ステップ73へ行き、左辺の傾きが正であるか調べる
。左辺の傾きが正ならば、ステップ75へ行き、そうで
なければ、ステップ74へ行く。
ステップ74では、XSに左辺の終点のX座標を代入す
る。
ステップ75では、errlが正がどうが調べる。er
rlが正ならば、ステップ74へ行く。
そうでなければ、ステップ77へ行く。
次に、右辺の処理が終了したか調べる。 (ステップ7
7)右辺の処理が終了していないなら、ステップ78へ
行く、ステップ78では通常の処理を行う、ここで言う
通常の処理とは、第13図のフローチャートのステップ
40からステップ46に示す処理と全く同じ処理である
。そして、この通常の処理を行ったら、ステップ83へ
行く。
ステップ77で、右辺の処理が終了したと判断されたら
、ステップ79へ行き、右辺の傾きが正であるか調べる
。右辺の傾きが正ならば、ステップ80へ行き、そうで
なければ、ステップ81へ行く。
ステップ80では、xeに右辺の終点のX座標を代入す
る。
ステップ81では、errrが正かどうか調べる。er
rrが正ならば、ステップ80へ行く。
そうでなければ、ステップ83へ行く。
805の右辺は、処理が終了するので、ステップ79へ
行き、傾きが正なので、ステップ8oへ行く、そして、
x6に805の辺の終点の848のX座標を代入する。
ステップ83では、XSとxeとyを用紙転写装置に送
る。第8図では、854のX座標に於いて、xsからx
e、即ち、 (842のX座標、854のX座標)と(
848のX座標、854のX座標)を送る。
この動作の実現方法につl、)て第17図と第18図で
説明する。
左辺の終点の検出は、前述したように247のカウンタ
で行う、左辺の終点になると、247のカウンタからリ
プルキャリが出力される。これが。
244と993のアンドゲートに入力されるため。
各々のゲートはりプルキャリ以外の信号を9通過させる
ことができるようになる。このとき244のアンドゲー
トは、左辺の傾きが負の時に1を出力する。この出力が
、994のノアゲートで反転されてOになり、242の
セレクタのSEL端子に入力される。SEL端子がOに
なると、242のセレクタはAの入力を出力する。これ
によって、Xs  ENDが出力され、ステップ71.
ステップ73、ステップ74の流れが実現できる。ステ
ツブ71.ステップ73.ステップ75.ステップ74
の流れを実現するには、243のインバータで、左辺の
、傾きが正の時、1を993のアンドゲートに入力し、
995のインバータでerrlが正の時、1を993の
アンドゲートに入力する。そして、993のアンドゲー
トの出力を、994のノアゲートで反転して、242の
セレクタのSEL端子に入力することによって、Xs 
 endを出力させる。
右辺の終点の検出は、左辺の終点の検出と同様に、29
7のカウンタで行う、右辺の終点になると、297のカ
ウンタがらリプルキャリが出力される。これが、294
と997のアンドゲートに入力されるため、各々のゲー
トはりプルキャリ以外の信号を2通過させることができ
るようになる。
このとき294のアンドゲートは、右辺の傾きが正の時
に、996のインバータによって1を入力され、1を出
力する。この出力が、998のノアゲートで反転されて
Oになり、292のセレクタのSEL端子に入力される
。SEL端子が0になると、292のセレクタはAの入
力を出力する。これによって、 Xe endが出力さ
れ、ステップ77、ステップ79.ステップ80の流れ
が実現できる。ステップ77、ステップ79.ステップ
81.ステップ80の流れを実現するには、右辺の傾き
が負の時21を997のアンドゲートに入力し、emが
負の時、1を997のアンドゲートに入力する。
そして、997のアンドゲートの出力を、998のノア
ゲートで反転して、292のセレクタのSEL端子に入
力することによって、Xe  endを出力させる。
以上のようにして、Yendまで処理すると。
第19図の926のカウンタのリプルキャリが出力され
、カウントが停止する。そして、このリプルキャリが9
38のオアゲートと927のインバータを経て、929
のフリップフロップから930のアンドゲートに加えら
れると、CLOCKが停止する。また、 HALTも解
除され、 CPUがプログラムの実行を再開する。 C
PUは、第12図のステップ29を実行する。ステップ
29では、YendO値をカレントのy座標の値として
、ステップ21に戻る。
そして、全ての辺を処理し終わるまで、ステップ21か
らステップ29を繰り返す。
全部の辺の処理を終了したら、第11図のステップ1に
戻り、入力を待つ。
[発明の効果] 以上説明したように2本発明によれば、塗りつぶしを行
う図形の辺が通過するビットをすべてオンにできるため
、従来の方法では正しく塗りつぶしができなかった第2
図に示すような図形も、第9図に示すように、正しく塗
りつぶすことができる。さらに、複雑な繰り返し処理を
回路化したため、処理が大幅に高速化される。また2回
路も。
−船釣な回路素子のみで構成されているので2回路を実
現するのが容易で、ゲートアレイ等LSI化しやすく1
本発明の効果は多大である。
【図面の簡単な説明】 第1図は2本発明の印刷装置の構成を示す機能ブロック
図。 第2図は、従来例に於ける問題点を示す概念図。 第3図は1本発明の塗りつぶしに於ける。ビットの選択
法の基本方針を示した概念図。 第4図は2本発明の、左辺の塗りつぶしに必要なデータ
を示す概念図。 第5図は2本発明の、左辺の塗りつぶしに必要なデータ
の求め方を示す概念図。 第6図は2本発明の、右辺の塗りつぶしに必要なデータ
を示す概念図。 第7図は1本発明の、塗りつぶしに於けるビットの選択
法について、左辺と右辺の各々の傾きに応じた違いを示
す概念図。 第8図は9本発明による多角形の塗りつぶし方を示す概
念図。 第9図は2本発明によって、第2図に示した従来例の問
題点が、解消されることを示した概念図。 第10図は2本発明の実施例を示すシステム構成図。 第11図は2本発明の印刷装置の実施例を示すフローチ
ャート。 第12図は1本発明の印刷装置の実施例のうち。 ビットデータを作成する部分の全体の流れを示すフロー
チャート。 第13図は2本発明の印刷装置の実施例のうち。 塗りつぶしを行ってビットデータを作成する部分の詳細
な流れを示すフローチャート。 第14図は1本発明の印刷装置の実施例の、塗りつぶし
を行ってビットデータを作成する部分の詳細な流れを示
すフローチャートのうち、新規の辺の座標点の補正の流
れを示すフローチャート。 第15図は2本発明の印刷装置の実施例の、塗りつぶし
を行ってビットデータを作成する部分の詳細な流れを示
すフローチャートのうち、処理を終了する辺の座標点の
補正の流れを示すフローチャート。 第16図は2本発明の印刷装置の実施例のうち。 塗りつぶし範囲決定回路の構成、及び、 CPU、用紙
転写装置との接続を示すブロック図。 第17図は9本発明の印刷装置の実施例のうち。 塗りつぶし範囲決定回路の、左辺の処理を行う回路の実
現例を示した回路図。 第18図は2本発明の印刷装置の実施例のうち。 塗りつぶし範囲決定回路の、右辺の処理を行う回路の実
現例を示した回路図。 第19図は2本発明の印刷装置の実施例のうち。 塗りつぶし範囲決定回路の動作を制御する回路の実現例
を示した回路図。 第20図は9本発明の印刷装置の実施例のうち。 塗りつぶし範囲決定回路のy座標の値を計算する回路の
実現例を示した回路図。 1 ・・・ 2 ・・・ 3 ・・・ 4 ・・・ 5 ・・・ データ人。出力手段 直線近似部 塗りつぶしデータ計算部 ビットデータ作成部 用紙転写装置 21・・・X軸 22・・・y軸 23・・・ビットの中心座標 24.25,27.26  ・・・塗りつぶしを行う多
角形28・・・塗りつぶされたビットの例 30.31,32,33,34,35,36,37  
 ・・・整数のy座標を示す直線 40・・・X軸 41・・・y軸 42.43,44,45  ・・・従来の方法では問題
が発生する。 塗りつぶされる多角形 46.47,48,49,50,51.52  ・・・
整数のy座標を示す直線 301 ・・・ 302・・・ 303.307 304.309 305.310 306 ・・・ 308・・・ 左辺を示す直線 左辺として選択されるビットを示す例 ・・・ビットの中心座標 ・・・y軸 ・・・X軸 右辺として選択されるビットを示す例 右辺を示す直線 401・・・左辺を示す直線 402・・・左辺として選択されるピッ403・・・拡
大図の範囲を示す円 404・・・y軸 405・・・X軸 410.411,412 421.422・・・ 431.432,433 441.442,443 451.452,453 ・・・左辺のerrを示す矢印 X軸方向のビット境界 ・・・整数のy座標を示す矢印 ・・・左辺として選択されるビット ・・・y軸方向のビット境界 トを示す例 501・・・左辺の始点付近を示す傾きが正の直線50
2・・・X軸方向のビット境界からの距離503・・・
傾きが正の左辺とy軸方向のビット境界との交点と、傾
きが正の左辺の始点との、X軸方向の距離 504・・・傾きが正の左辺のerrの初期値505.
526・・・ 1つのビットを示す凡例506.527
・・・ビットの中心座標507.524・・・X軸方向
のビット境界521・・・左辺の始点付近を示す傾きが
負の直線522・・・X軸方向のビット境界からの距離
523・・・傾きが負の左辺とy軸方向のビット境界と
の交点と、傾きが負の左辺の始点との、X軸方向の距離 525・・・傾きが負の左辺のerrの初期値601・
・・右辺を示す直線 602・・・右辺として選択されるビットを示す例60
3・・・拡大図の範囲を示す円 604・・・y軸 605・・・X軸 610.611,612 ・・・右辺のerrを示す矢
印621.622・・・X軸方向のビット境界631.
632,633  ・・・整数のy座標を示す矢印64
1.642,643  ・・・右辺として選択されるビ
ット651.652,653,654  ・・・ y軸
方向のビット境界801・・・X軸 802・・・y軸 803・・・座標軸原点 804.805,806,807,808,809  
・・・辺で表される塗りつぶしをする多角形 810・・・ビットの中心座標 821.822,823  ・805の辺の各々のer
r831.832,833,834  ・804の辺の
各々のerr841.842,843,844,845
,846,847,848,849・・・y軸の整数座
標 851.852,853,854,855,856,8
57,858,859,860・・・y軸の整数座標 901.902,903,904  ・・・第2図に示
す、従来の方法では問題が発生する。塗りつぶされる多
角形910・・・ 911 ・・・ 912・・・ 913 ・・・ 914・・・ 塗りつぶし範囲決定回路 CPU errl計算回路 xs計算回路 errr計算回路 915・・・ xe計算回路 916・・・用紙転写装置 201− s  s 1ope 1入力端子202・・
・ errl入力端子 203.253− c l e a r入力端子204
・・・all入力端子 205・・・c21入力端子 206.256,953  ・・・CLOCK入力端子
207・・・Xs  END入力端子 208・・・m11入力端子 209・・・m12入力端子 210・・・Xs入力端子 211・・・END  Yl入力端子 212.262・・・ INIT  LOAD入力端子
213.263,921,952  ・・・ LOAD
入力端子214.264,924,954  ・・・R
ESET入力端子215・・・Xs出力端子 216.267・・・ INITIAL入力端子251
 ・・・ 252・・・ 254・・・ 255 ・・・ 257 ・・・ 258・・・ 259・・・ 260・・・ 261 ・・・ 266 ・・・ 922・・・ 923 ・・・ 931 ・・・ 936 ・・・ 933 ・・・ 951 ・・・ 961 ・・・ s  5loper入力端子 errr入力端子 clr入力端子 c2r入力端子 Xe  END入力端子 mr1入力端子 mr2入力端子 Xe入力端子 END  Yr入力端子 Xe出力端子 Yend+1−current y入力端子MASTE
R−CLOCK入力端子 CLOCK出力端子 HALT出力端子 c、l e a r出力端子 Current−y入力端子 y出力端子 221.222,227,218.219.220,2
32,234,238.271.277 。 272.269,270,293,282,284,2
88,925,937,955・・・ラッチ 229.226,231,237,240,245,2
46,279,276.281.287゜290.29
6,295,929,932,956,960,958
・・・フリップフロップ 223.224,225.233.235.236,2
42,273.274,275.283 。 285.286,292  ・・・セレクタ230.2
41,280,291,957  ・・・加算器247
.297,926,959  ・・・カウンタ228.
239,217,248,278,289,268,2
98,938・・・オアゲート 243.994,996,927,928  ・・・イ
ンバータ244.249,250,265.294,2
99,991.992,993.997,930゜93
4・・・アンドゲート 994.998・・・ノアゲート 111・・・マイクロコンピュータ 112・・・CPU 113・・・rom 114・・・ワークメモリ 116・・・ 117 ・・・ O 用紙転写装置 塗りつぶし範囲決定回路 以上

Claims (1)

  1. 【特許請求の範囲】 a)文字や図形を、輪郭を表す整数であるxy座標デー
    タとして扱い、用紙に印刷する、印刷装置において、 b)前記文字や図形のデータの入出力を行う、データ入
    出力手段と、 c)前記図形や文字の、輪郭を表す整数であるxy座標
    データに含まれている、曲線のデータを、直線の整数の
    xy座標データに近似する、直線近似部と、 d)前記直線近似部によって、曲線のデータを近似した
    、前記直線の整数のxy座標データと、入力されたまま
    の直線の整数であるxy座標データを使って、それら前
    記直線を、前記印刷装置の離散的なビットに対応させる
    際に、前記直線が通過する前記ビットを前記直線に対応
    させるように、前記直線で構成される前記図形や文字を
    塗りつぶす範囲を決定するのに必要なデータを算出して
    出力する、塗りつぶしデータ計算部と、 e)前記塗りつぶしデータ計算部の出力を使って、塗り
    つぶしを行う範囲を決定する、塗りつぶし範囲決定回路
    と、 f)前記塗りつぶし範囲決定回路の出力に従って、ビッ
    トマップディジタルデータを作成して、用紙に転写する
    用紙転写装置を有することを特徴とする印刷装置。
JP11466190A 1990-04-27 1990-04-27 印刷装置 Pending JPH0410179A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11466190A JPH0410179A (ja) 1990-04-27 1990-04-27 印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11466190A JPH0410179A (ja) 1990-04-27 1990-04-27 印刷装置

Publications (1)

Publication Number Publication Date
JPH0410179A true JPH0410179A (ja) 1992-01-14

Family

ID=14643407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11466190A Pending JPH0410179A (ja) 1990-04-27 1990-04-27 印刷装置

Country Status (1)

Country Link
JP (1) JPH0410179A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908612B2 (en) 2018-03-29 2021-02-02 Toyota Research Institute, Inc. Systems and methods for an autonomous cart robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908612B2 (en) 2018-03-29 2021-02-02 Toyota Research Institute, Inc. Systems and methods for an autonomous cart robot

Similar Documents

Publication Publication Date Title
KR950012083B1 (ko) 문자/도형 발생 장치 및 정보 처리장치
JPS63198174A (ja) 図形処理装置
JPH0410179A (ja) 印刷装置
JP2634851B2 (ja) 画像処理装置
JPH03233689A (ja) アウトラインデータ描画装置
JP3087427B2 (ja) 輪郭線データ変換装置
JPH01303489A (ja) 文字出力方式
JP3059189B2 (ja) 塗りつぶし回路
JPH0589251A (ja) 画像の描画装置
JPH01191192A (ja) 高品質文字発生装置
JP3238202B2 (ja) 文字・図形発生装置および情報処理装置
KR920002471B1 (ko) 그래픽 제어기
EP0838786A1 (en) Method of producing polygon data, image processor to which the method is applied, and expanded function board
JPS63303477A (ja) ベクトル文字もしくはベクトル図形の処理方法
JPS62285188A (ja) 線分の表示方法
JP3457336B2 (ja) アウトラインデータ処理装置
JPH0451284A (ja) パターン拡大変換装置
JP3072756B2 (ja) 描画装置
JP3067137B2 (ja) 直線描画機能を備えた情報処理装置
EP0229694A2 (en) Vector graphics generator set-up
JPS6383823A (ja) プリント出力編集方式
JPS62205479A (ja) Crtデイスプレイ装置の特殊図形発生回路
JPH04162092A (ja) アウトラインフォントの文字発生方式
McCormac Design and implementation of a PostScript compatible system of graphics primitive procedures
JPH0384680A (ja) 文書作成装置