JPH1091800A - Method for plotting linear graphic and device therefor and storage medium - Google Patents

Method for plotting linear graphic and device therefor and storage medium

Info

Publication number
JPH1091800A
JPH1091800A JP26662096A JP26662096A JPH1091800A JP H1091800 A JPH1091800 A JP H1091800A JP 26662096 A JP26662096 A JP 26662096A JP 26662096 A JP26662096 A JP 26662096A JP H1091800 A JPH1091800 A JP H1091800A
Authority
JP
Japan
Prior art keywords
line
stroke
drawing apparatus
run
storage medium
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
JP26662096A
Other languages
Japanese (ja)
Inventor
Sanae Fukuzawa
早苗 福澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP26662096A priority Critical patent/JPH1091800A/en
Publication of JPH1091800A publication Critical patent/JPH1091800A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a linear graphic plotting method and device in which the increase of the number of objects can be prevented even when it is necessary to operate division in a run length format, and a higher speed linear graphic plotting processing can be operated than a conventional way. SOLUTION: The presence or absence of a positional relation in which plural closed areas are present on the same scan line is judged by a controller 2a, right and left point information corresponding to the closed area occupied on a raster memory related with strokes and connecting parts being the line segments of each unit is extracted by the controller 2a, and plural run data are synthesized into one object by the controller 2a.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プリンタ等におけ
る線図形描画方法及び装置並びに線図形描画方法及び装
置に用いる記憶媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for drawing a line figure in a printer or the like, and a storage medium used for the method and apparatus for drawing a line figure.

【0002】[0002]

【従来の技術】従来、ラスタメモリ上に複数の座標点か
らなる多角形または折れ線等の線図形を描画する場合、
まず、ストロークを全てy座標正方向に正規化した後、
図形全体をランレングスと呼ばれるデータ形式に変換す
ることによって線図形を表現していた。
2. Description of the Related Art Conventionally, when drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory,
First, after normalizing all strokes in the positive y-coordinate direction,
Line figures were represented by converting the entire figure into a data format called run length.

【0003】ランレングスは、閉領域の表現形式の1つ
で、データとして1スキャンライン毎に描画開始点(左
端点)と描画終了点(右端点)のx座標をランデータと
して一対で持つ。描画時は、この左端点と右端点との間
に挟まれる座標を閉領域内と認識する。
The run length is a form of expressing a closed region, and has a pair of x-coordinates of a drawing start point (left end point) and a drawing end point (right end point) as run data for each scan line. At the time of drawing, the coordinates sandwiched between the left end point and the right end point are recognized as within the closed area.

【0004】単体の部分(以下、ストロークと記述す
る)のみからなる線図形(直線)をラングレスに変換す
る場合、各スキャンラインのランデータを求める処理
は、以下の通りである。
In the case of converting a linear figure (straight line) consisting of only a single part (hereinafter referred to as a stroke) into runless, a process for obtaining run data of each scan line is as follows.

【0005】図14の(1)において、開始点SPから
終了点EPまで線幅Wの線を引く場合、直線の傾きsl
opeと線幅Wより、同図の(2)に示すような輪郭線
の頂点ABCDを求める。この頂点ABCDより、同図
の(3)に示すように輪郭線を左側(以下、左サイドと
記述する)と右側(以下、右サイドと記述する)とに分
ける。以下、左右サイドがスキャンラインの基準線と交
差する点のx座標を求めていく。同図の(4)におい
て、左サイドの開始位置はA点であり、この左サイドは
最初にy0スキャンラインと交差するので、この時のx
座標をL1とする。更に、B点を経てy1,y2スキャ
ンラインにおけるx座標L2,L3を求めた後、D点で
終了する。同様に右サイドにおいても、A点より出発し
てx座標R1,R2,R3を求め、C点を経てD点で終
了する。
In (1) of FIG. 14, when a line having a line width W is drawn from the start point SP to the end point EP, the inclination of the straight line is sl.
From the ope and the line width W, a vertex ABCD of the contour as shown in FIG. Based on the vertex ABCD, the contour is divided into a left side (hereinafter referred to as a left side) and a right side (hereinafter referred to as a right side) as shown in (3) of FIG. Hereinafter, the x coordinate of the point where the left and right sides intersect with the reference line of the scan line will be obtained. In (4) of the figure, the start position of the left side is point A, and since this left side first intersects the y0 scan line, x at this time
Let the coordinates be L1. Further, after obtaining the x coordinates L2 and L3 in the y1 and y2 scan lines via the point B, the process ends at the point D. Similarly, also on the right side, starting from point A, x coordinates R1, R2, and R3 are obtained, and the process ends at point D via point C.

【0006】上記のようにして求めた各サイドのx座標
のうち、同じスキャンライン上にあるものを1組のラン
データとする。そして、左サイドx座標(L1,L2,
L3…)が乗っているドットから右サイドx座標(R
1,R2,R3…)が乗っているドットまでの間を直線
上の物理座標点とする。
Of the x coordinates of each side obtained as described above, those on the same scan line are defined as a set of run data. Then, the left side x coordinate (L1, L2,
L3 ...) from the dot on the right side x coordinate (R
1, R2, R3,...) Are the physical coordinate points on a straight line up to the dot.

【0007】以上の方法により求めた各スキャンライン
の左右1組のランデータを最上位置スキャンラインから
最下位値スキャンラインまでまとめて、これを1つのラ
ンレングスオブジェクトとする。
A set of run data on the left and right of each scan line obtained by the above method is collected from the top position scan line to the lowest value scan line, and this is set as one run length object.

【0008】次に、複数のストロークからなる線図形を
ランレングスオブジェクトとする方法について説明す
る。
Next, a method of using a line figure composed of a plurality of strokes as a run-length object will be described.

【0009】図8の(1)、(2)において、2つのス
トローク1,2の接続部分ではストローク1とストロー
ク2の一部(図8の(2)における網掛け部分)が重な
るため、スキャンラインy3とy4においては、左右そ
れぞれのサイドに2つづつx座標が存在する。2つのス
トロークが形成する閉領域は、左サイドでは、2つの内
小さいもの、右サイドでは大きいものによって決定され
ると考えられるので、2つのストロークが重なっている
部分は、左右それぞれのx座標を比較して、正しく輪郭
を形成するものを当該スキャンラインのランデータとし
て採用する。
In (1) and (2) of FIG. 8, since a part of the stroke 1 and a part of the stroke 2 (a shaded portion in (2) of FIG. 8) overlap at a connection portion of the two strokes 1 and 2, the scanning is performed. In the lines y3 and y4, two x-coordinates exist on each of the left and right sides. The closed area formed by the two strokes is considered to be determined by two smaller ones on the left side and larger ones on the right side. By comparison, data that correctly forms an outline is adopted as run data of the scan line.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、上述し
た従来例にあっては、描画位置や重なり方によっては、
2つのストロークが1つのランレングスオブジェクトと
はなり得ない場合がある。
However, in the conventional example described above, depending on the drawing position and the way of overlapping,
In some cases, two strokes cannot be one run-length object.

【0011】図8の(2)において、スキャンラインy
1ではストローク1の左サイドのx座標よりもストロー
ク2の右サイドのx座標の方が大きいため、単純に左右
それぞれの比較を行って採用すべきランデータを決定す
ると、本来閉領域ではないはずのストローク2の右サイ
ドとストローク1の左サイドとの間(網掛け部分)を閉
領域と認識してしまう。同様にスキャンラインy4にお
いては、ストローク1の右サイドとストローク2の左サ
イドとの間が閉領域となってしまい、正しい輪郭線が得
られない。このような線図形は、正しく輪郭を形成する
ために1つのスキャンラインに2つのランデータを持た
なければならない。
In (2) of FIG. 8, a scan line y
In the case of 1, since the x coordinate on the right side of the stroke 2 is larger than the x coordinate on the left side of the stroke 1, if the run data to be adopted is simply determined by comparing the left and right sides, it should not be an originally closed area. Between the right side of the stroke 2 and the left side of the stroke 1 (shaded area) is recognized as a closed area. Similarly, on the scan line y4, the area between the right side of the stroke 1 and the left side of the stroke 2 is a closed area, and a correct contour line cannot be obtained. Such a line figure must have two run data in one scan line in order to form a contour correctly.

【0012】従って、従来のランレングスデータ形式を
使用する場合、このような線図形を1つのオブジェクト
として表現できないので、別々のランレングスオブジェ
クトとして扱わなければならないという制約がある。
Therefore, when the conventional run-length data format is used, since such a line figure cannot be represented as one object, there is a restriction that it must be treated as separate run-length objects.

【0013】ところで、このような位置関係にあるスト
ロークは分割しなければならないため、2つのストロー
クがそれぞれ別のランレングスオブジェクトとなる。こ
のとき、通常の処理を行う(2つのストロークが1つの
ランレングスとなる)場合に比べてオブジェクト数は2
倍になる。また、このように同一のスキャンラインに複
数のランが存在する状況は、例えば曲線を多角形で近似
するような線幅に比べてストロークの距離が短い場合に
発生しやすいので、細かいストロークになればなるほど
オブジェクト数が増える可能性が高くなる。
By the way, since the strokes having such a positional relationship must be divided, the two strokes become different run-length objects. At this time, the number of objects is 2 compared to the case where normal processing is performed (two strokes become one run length).
Double. In addition, such a situation in which a plurality of runs exist on the same scan line tends to occur when the stroke distance is shorter than a line width that approximates a curve by a polygon, for example, so that a fine stroke can be obtained. The more objects there are, the higher the possibility that the number of objects increases.

【0014】また、図8の(1)において、開始位置S
tart(x,y)からPoint1(x,y)を経
て、終了位置End(x,y)まで3点を指定して、線
幅Wの折れ線を描画する。このとき、同図の(2)に示
すように、スキャンラインy2においては、ストローク
2のS2−l2とストローク1のS1−r2を1組のラ
ンに、スキャンラインy3においては、ストローク2の
S1−l3とストローク1のS2−r3を1組のランと
することによって2つのストロークを1つのランレング
スにまとめることができる。
Also, in FIG. 8A, the start position S
From the start (x, y) to the end position End (x, y) through the Point1 (x, y), a polygonal line having a line width W is drawn by designating three points. At this time, as shown in (2) of the same figure, in the scan line y2, S2-l2 of the stroke 2 and S1-r2 of the stroke 1 are combined into one set of runs, and in the scan line y3, the S1 of the stroke 2 is combined. By setting -l3 and S2-r3 of stroke 1 as one set of runs, two strokes can be combined into one run length.

【0015】しかし、スキャンラインy1及びスキャン
ラインy4においては、ストローク1とストローク2と
が重なっておらず、同じスキャンラインに2つのランが
存在するために、2つのストロークを1つのランレング
スにまとめることができない。まとめようとすると、図
8の(2)の網掛け部分も塗りつぶされてしまう。
However, in the scan line y1 and the scan line y4, the strokes 1 and 2 do not overlap, and two runs exist on the same scan line. Therefore, the two strokes are combined into one run length. Can not do. If they are to be summarized, the shaded portion in (2) of FIG. 8 is also painted out.

【0016】本発明は上述した従来の技術の有するこの
ような問題点に鑑みてなされたものであり、その第1の
目的とするところは、ランレングス形式では分割せざる
を得ないような場合でも、オブジェクト数の増加を防ぐ
ことができ、従来より高速な線図形描画処理を行うこと
ができる線図形描画方法及び装置を提供しようとするも
のである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems of the prior art, and a first object of the present invention is to provide a case in which a run-length format must be used for division. However, an object of the present invention is to provide a line graphic drawing method and apparatus capable of preventing an increase in the number of objects and capable of performing a line graphic drawing process at a higher speed than before.

【0017】また、本発明の第2の目的とするところ
は、上記のような線図形描画装置を円滑に制御できるプ
ログラムを格納した記憶媒体を提供しようとするもので
ある。
A second object of the present invention is to provide a storage medium storing a program capable of smoothly controlling the above line drawing apparatus.

【0018】[0018]

【課題を解決するための手段】上記第1の目的を達成す
るために請求項1記載の線図形描画方法は、ラスタメモ
リ上に複数の座標点からなる多角形または折れ線等の線
図形を描画する際、ランレングスと呼ばれるデータ形式
を用いて行う線図形描画方法において、同じスキャンラ
イン上に複数の閉領域が存在する位置関係にあるか否か
を判断する判断ステップと、各々の単体の線分であるス
トローク及び接続部分についてそれぞれが前記ラスタメ
モリ上に占める閉領域に対応する左右点情報(以下、ラ
ンデータと記述する)を抽出する抽出ステップと、複数
のランデータを1つのオブジェクトに統合する統合ステ
ップとを具備したことを特徴するものである。
According to a first aspect of the present invention, there is provided a line figure drawing method for drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory. A line drawing method performed using a data format called run length, a determining step of determining whether or not there is a positional relationship in which a plurality of closed areas exist on the same scan line; An extraction step of extracting left and right point information (hereinafter, referred to as run data) corresponding to a closed area occupying the raster memory for each stroke and connection portion, and integrating a plurality of run data into one object And an integrating step.

【0019】また、上記第1の目的を達成するために請
求項2記載の線図形描画装置は、ラスタメモリ上に複数
の座標点からなる多角形または折れ線等の線図形を描画
する際、ランレングスと呼ばれるデータ形式を用いて行
う線図形描画装置において、同じスキャンライン上に複
数の閉領域が存在する位置関係にあるか否かを判断する
判断手段と、各々の単体の線分であるストローク及び接
続部分についてそれぞれが前記ラスタメモリ上に占める
閉領域に対応する左右点情報(以下、ランデータと記述
する)を抽出する抽出手段と、複数のランデータを1つ
のオブジェクトに統合する統合手段とを具備したことを
特徴するものである。
According to a second aspect of the present invention, there is provided a line graphic drawing apparatus for drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory. In a line graphic drawing apparatus that uses a data format called a length, a determination unit that determines whether or not there is a positional relationship in which a plurality of closed areas exist on the same scan line, and a stroke that is a single line segment of each. Extracting means for extracting left and right point information (hereinafter, referred to as run data) corresponding to a closed area occupying on the raster memory for each connected portion, and integrating means for integrating a plurality of run data into one object. It is characterized by having.

【0020】また、上記第1の目的を達成するために請
求項3記載の線図形描画装置は、請求項2記載の線図形
描画装置おいて、前記判断手段は、プリンタに設けられ
ていることを特徴するものである。
In order to achieve the first object, a line graphic drawing apparatus according to a third aspect of the present invention is the line graphic drawing apparatus according to the second aspect, wherein the determination means is provided in a printer. It is characterized by the following.

【0021】また、上記第1の目的を達成するために請
求項4記載の線図形描画装置は、請求項2記載の線図形
描画装置おいて、前記抽出手段は、プリンタに設けられ
ていることを特徴するものである。
According to a fourth aspect of the present invention, there is provided a line graphic drawing apparatus according to the second aspect, wherein the extracting means is provided in a printer. It is characterized by the following.

【0022】また、上記第1の目的を達成するために請
求項5記載の線図形描画装置は、請求項2記載の線図形
描画装置おいて、前記統合手段は、プリンタに設けられ
ていることを特徴するものである。
In order to achieve the first object, a line graphic drawing apparatus according to claim 5 is the line graphic drawing apparatus according to claim 2, wherein the integration means is provided in a printer. It is characterized by the following.

【0023】また、上記第1の目的を達成するために請
求項6記載の線図形描画装置は、請求項2または3記載
の線図形描画装置おいて、前記判断手段は、コントロー
ラであることを特徴するものである。
In order to achieve the first object, a line graphic drawing apparatus according to claim 6 is the line graphic drawing apparatus according to claim 2 or 3, wherein the determining means is a controller. It is characteristic.

【0024】また、上記第1の目的を達成するために請
求項7記載の線図形描画装置は、請求項2または3記載
の線図形描画装置おいて、前記抽出手段は、コントロー
ラであることを特徴するものである。
In order to achieve the first object, a line graphic drawing apparatus according to claim 7 is the line graphic drawing apparatus according to claim 2 or 3, wherein the extracting means is a controller. It is characteristic.

【0025】また、上記第1の目的を達成するために請
求項8記載の線図形描画装置は、請求項2または3記載
の線図形描画装置おいて、前記統合手段は、コントロー
ラであることを特徴するものである。
In order to achieve the first object, a line graphic drawing apparatus according to claim 8 is the line graphic drawing apparatus according to claim 2 or 3, wherein the integrating means is a controller. It is characteristic.

【0026】また、上記第2の目的を達成するために請
求項9記載の記憶媒体は、ラスタメモリ上に複数の座標
点からなる多角形または折れ線等の線図形を描画する
際、ランレングスと呼ばれるデータ形式を用いて行う線
図形描画装置を制御するプログラムを格納する記憶媒体
であって、同じスキャンライン上に複数の閉領域が存在
する位置関係にあるか否かを判断する判断ステップの判
断モジュールと、各々の単体の線分であるストローク及
び接続部分についてそれぞれが前記ラスタメモリ上に占
める閉領域に対応する左右点情報(以下、ランデータと
記述する)を抽出する抽出ステップの抽出モジュール
と、複数のランデータを1つのオブジェクトに統合する
統合ステップの統合モジュールとを有するプログラムを
格納したことを特徴するものである。
In order to achieve the second object, the storage medium according to the ninth aspect has a feature that when a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points is drawn on a raster memory, a run length and A storage medium for storing a program for controlling a line graphic drawing apparatus using a data format called, wherein a determination is made in a determination step of determining whether there is a positional relationship in which a plurality of closed areas exist on the same scan line. A module and an extraction module of an extraction step of extracting left and right point information (hereinafter, referred to as run data) corresponding to a closed area occupied on the raster memory with respect to strokes and connection portions each of which is a single line segment. And an integration module of an integration step of integrating a plurality of run data into one object. It is intended.

【0027】また、上記第2の目的を達成するために請
求項10記載の記憶媒体は、請求項9記載の記憶媒体に
おいて、前記プログラムは、前記請求項9記載の線図形
描画装置を制御することを特徴するものである。
In order to achieve the second object, a storage medium according to a tenth aspect is the storage medium according to the ninth aspect, wherein the program controls the line graphic drawing apparatus according to the ninth aspect. It is characterized by the following.

【0028】また、上記第2の目的を達成するために請
求項11記載の記憶媒体は、請求項9または10記載の
記憶媒体において、ROMよりなることを特徴するもの
である。
In order to achieve the second object, a storage medium according to claim 11 is the storage medium according to claim 9 or 10, wherein the storage medium comprises a ROM.

【0029】更に、上記第2の目的を達成するために請
求項12記載の記憶媒体は、請求項9または10記載の
記憶媒体において、ハードディスクよりなることを特徴
とするものである。
In order to achieve the second object, a storage medium according to claim 12 is the storage medium according to claim 9 or 10, characterized in that the storage medium comprises a hard disk.

【0030】[0030]

【発明の実施の形態】以下、本発明の各実施の形態を図
1〜図13に基づき説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS.

【0031】(第1の実施の形態)まず、本発明の第1
の実施の形態を図1〜図9に基づき説明する。図1は、
本発明の第1の実施の形態に係る線図形描画装置の構成
を示すブロック図であり、同図中、1はホストコンピュ
ータ、2はプリンタで、描画解析部(コントローラ)2
aと描画部(エンジン)2bとを有している。そして、
ホストコンピュータ1からの描画命令信号がプリンタ2
に送られることにより、該プリンタ2の描画解析部2a
で描画解析が行われ、その解析データに基づいて描画部
2bで線図形が描画される。
(First Embodiment) First, the first embodiment of the present invention will be described.
The embodiment will be described with reference to FIGS. FIG.
1 is a block diagram showing a configuration of a line graphic drawing apparatus according to a first embodiment of the present invention, in which 1 is a host computer, 2 is a printer, and a drawing analysis unit (controller) 2
a and a drawing unit (engine) 2b. And
The drawing command signal from the host computer 1 is transmitted to the printer 2
Is sent to the printer 2, the drawing analysis unit 2a of the printer 2
Is performed, and a line figure is drawn by the drawing unit 2b based on the analysis data.

【0032】次に、上記構成になる本実施の形態に係る
線図形描画装置の動作について、図2〜図7のフローチ
ャートに基づき説明する。ここでは、図8の(1)にお
いて、開始位置Start(x,y)からPoint1
(x,y)を経て、終了位置End(x,y)まで3点
を指定して、線幅Wの折れ線を描画する場合を例にして
説明する。このとき、同図の(2)に示すように、スキ
ャンラインy2においては、ストローク2のS2−l2
とストローク1のS1−r2を1組のランに、スキャン
ラインy3においては、ストローク2のS1−l3とス
トローク1のS2−r3を1組のランとすることによっ
て2つのストロークを1つのランレングスにまとめるこ
とができる。しかし、スキャンラインy1及びスキャン
ラインy4においては、ストローク1とストローク2と
が重なっておらず、同じスキャンラインに2つのランが
存在するために、2つのストロークを1つのランレング
スにまとめることができない。まとめようとすると、図
の網掛け部分も塗りつぶされてしまう。
Next, the operation of the line graphic drawing apparatus according to the present embodiment having the above configuration will be described with reference to the flowcharts of FIGS. Here, in (1) of FIG. 8, the start position Start (x, y) is changed to Point1.
An example will be described in which three points are designated through (x, y) to an end position End (x, y) to draw a polygonal line having a line width W. At this time, as shown in (2) of the figure, in scan line y2, S2-l2 of stroke 2
By setting S1-r2 of stroke 1 to one set of runs and S1-l3 of stroke 2 and S2-r3 of stroke 1 as one set of runs on scan line y3, two strokes are set to one run length. Can be summarized. However, in the scan line y1 and the scan line y4, the strokes 1 and 2 do not overlap, and two runs exist on the same scan line. Therefore, the two strokes cannot be combined into one run length. . If you try to put together, the shaded part of the figure will also be painted out.

【0033】そこで、本実施の形態においては、以下の
アルゴリズムによりストローク1とストローク2のラン
データから1つの複数ランレングスオブジェクトを作成
するようにしたものである。
Therefore, in the present embodiment, one multiple run-length object is created from the run data of stroke 1 and stroke 2 by the following algorithm.

【0034】図2〜図7は、本実施の形態にに係る線図
形描画装置のアルゴリズムを示すフローチャートであ
り、これらの処理ルーチンは、プリンタ2の描画解析部
2aにより、図示しないメモリに格納された制御プログ
ラムに基づいて実行される。
FIGS. 2 to 7 are flowcharts showing the algorithm of the line figure drawing apparatus according to the present embodiment. These processing routines are stored in a memory (not shown) by the drawing analysis unit 2a of the printer 2. It is executed based on the control program.

【0035】まず、図2において、ステップS1で現在
処理中のストローク番号mと現在使用中のランデータ格
納領域の番号nをそれぞれ初期化する。
First, in FIG. 2, in step S1, the stroke number m currently being processed and the number n of the currently used run data storage area are initialized.

【0036】図9に、ランデータ格納領域の構造を示
す。同図の(a)はCTL(左サイド)、同図の(b)
はCTR(右サイド)、同図の(c)はMRLをそれぞ
れ示す。CTL及びCTRは、左右のそれぞれのランデ
ータをスキャンライン毎に格納する領域で、n(=2)
個持つ。また、MRLは、左右1組のランデータをスキ
ャンライン毎にn(=MRL_max)個格納する領域
である。
FIG. 9 shows the structure of the run data storage area. (A) of the same figure, CTL (left side), (b) of the same figure
Indicates the CTR (right side), and FIG. CTL and CTR are areas for storing left and right run data for each scan line, and n (= 2)
Have The MRL is an area for storing n (= MRL_max) pieces of run data of one set of right and left for each scan line.

【0037】再び図2に戻って、同図のステップS2で
現在処理中のストロークの開始点Pm(第m番目の座標
点)をCPへ、終了点Pm+1をNPへそれぞれセット
する。次に、ステップS3で現在使用中のランデータ格
納領域の番号nが1より大きいか否かを判別し、nが0
または1であれば、そのままステップS5へ進み、nが
2以上であれば、FBE処理を終了して新しいランデー
タ作成中であると判断してステップS4でnを元(0)
に戻した後、ステップS5へ進む。このステップS5で
は、ストロークmの移動量dx(n),dy(n)をC
P,NPから計算する。ここで、dx,dyは、ストロ
ークの輪郭形状に対する変数で、全てn(=2)個持
つ。次に、ステップS6でストロークmの傾きslop
e(n)及び線端部の傾きcapslope(n)を計
算する。次に、ステップS7で前記ステップS5及びス
テップS6で求めた値と線幅Wとにより、ストロークm
の輪郭線の頂点座標top(n),left(n),b
ot(n),right(n)をそれぞれ求め、図3の
ステップS8へ進む。ここまでで、ストロークmのラン
データを収集するのに必要な情報が求められる。
Returning to FIG. 2, the start point Pm (m-th coordinate point) of the stroke currently being processed is set to CP and the end point Pm + 1 is set to NP in step S2 of FIG. Next, in step S3, it is determined whether or not the number n of the run data storage area currently being used is larger than 1, and n is 0.
If it is 1, the process proceeds directly to step S5, and if n is 2 or more, it is determined that the FBE process is terminated and new run data is being created, and n is returned to the original (0) in step S4.
After that, the process proceeds to step S5. In this step S5, the movement amounts dx (n) and dy (n) of the stroke m are set to C
Calculate from P and NP. Here, dx and dy are variables for the outline shape of the stroke, and all have n (= 2). Next, in step S6, the inclination slope of the stroke m
e (n) and the slope capslope (n) of the line end are calculated. Next, in step S7, the stroke m is calculated based on the value obtained in steps S5 and S6 and the line width W.
Vertex coordinates top (n), left (n), b
ot (n) and right (n) are obtained, and the process proceeds to step S8 in FIG. Up to this point, information necessary for collecting run data of the stroke m is obtained.

【0038】次に、図3及び図4の処理において、スト
ロークmのランデータを求める。即ち、図3において、
ステップS8でCTL(n).top.yをtop
(n).yに、jをtop(n).yにそれぞれセット
し、次のステップS9でCTL(n).top.xにt
op(n).xを、CTL(n)[j]にtop
(n).xをそれぞれセットする。ここで、CTLは左
側ランデータ、CTRは右側ランデータの格納領域であ
る。次に、ステップS10〜ステップS18で左側のラ
ンデータを収集する。即ち、ステップS10でj(スキ
ャンライン)を1つ進めて、ステップS11でjがle
ft(n).yよりも小さいか否かを判別する。そし
て、jがleft(n).yよりも小さい場合はステッ
プS12へ進んで、ストロークの傾きsegslope
が正(右下がり)が否かを判別する。そして、ストロー
クの傾きsegslopeが正ならば輪郭は図15の
(1)のA−B部分なので、ステップS13で線端部の
傾きcapslope(n)を使ってランデータを求め
て、ステップS16へ進む。また、ストロークの傾きs
egslopeが負(左下がり)ならば輪郭は図8の
(1)のE−F部分なので、ステップS15でストロー
クの傾きsegslope(n)を使ってランデータを
求て、ステップS16へ進む。
Next, in the processing of FIGS. 3 and 4, run data of the stroke m is obtained. That is, in FIG.
In step S8, CTL (n). top. top y
(N). y to j (top). y, and in the next step S9, CTL (n). top. x to t
op (n). x is added to CTL (n) [j]
(N). Set x respectively. Here, CTL is a left run data storage area, and CTR is a right run data storage area. Next, the run data on the left side is collected in steps S10 to S18. That is, j (scan line) is advanced by one in step S10, and j is le in step S11.
ft (n). It is determined whether it is smaller than y. And j is left (n). If it is smaller than y, the process proceeds to step S12, where the gradient of the stroke is segslope.
Is positive (downward to the right). If the slope segslope of the stroke is positive, the contour is the AB portion of (1) in FIG. 15, so run data is obtained using the slope capslope (n) of the line end in step S13, and the process proceeds to step S16. . Also, the inclination of the stroke s
If egslope is negative (downward to the left), the contour is the EF portion of (1) in FIG. 8, so run data is obtained using the stroke slope segslope (n) in step S15, and the process proceeds to step S16.

【0039】一方、前記ステップS11において、jが
left(n).yよりも大きい場合はステップS14
でストロークの傾きsegslopeが正(右下がり)
が否かを判別する。そして、ストロークの傾きsegs
lopeが正ならば輪郭は図15の(1)のB−C部分
なので、ステップS15でストロークの傾きsegsl
ope(n)を使ってランデータを求て、ステップS1
6へ進む。また、ストロークの傾きsegslopeが
負(左下がり)ならば輪郭は図8の(1)のF−G部分
なので、ステップS13で線端部の傾きcapslop
e(n)を使ってランデータを求めて、ステップS16
へ進む。
On the other hand, in step S11, j is left (n). If it is larger than y, step S14
And the slope segslope of the stroke is positive (downward to the right)
Is determined. And the stroke segs
If the value of “lope” is positive, the contour is a portion B-C in FIG. 15A, and the inclination of the stroke segsl is determined in step S15.
The run data is obtained using ope (n), and step S1 is performed.
Proceed to 6. If the slope segslope of the stroke is negative (downward to the left), the contour is the FG portion of (1) in FIG. 8, and the slope capslop of the line end is determined in step S13.
The run data is obtained using e (n), and step S16 is performed.
Proceed to.

【0040】ステップS16では、jがboy.
(n).yより大きいか否かを判別し、jがboy.
(n).yより小さい場合は、前記ステップS10へ戻
り、また、jがboy.(n).yより大きい場合は、
ステップS17でCTL(n).bot.yにjをセッ
トする。次に、ステップS18でCTR(n).to
p.yにtop(n).yをセットし、1=top
[n].yとして、図4のステップS19へ進む。
In step S16, j is boy.
(N). y to determine whether j is boy.
(N). If it is smaller than y, the process returns to step S10, and j is boy. (N). If it is greater than y,
In step S17, CTL (n). bot. Set j to y. Next, in step S18, CTR (n). to
p. y is top (n). Set y, 1 = top
[N]. As y, the process proceeds to step S19 in FIG.

【0041】図4において、ステップS19でCTR
(n).top.xにtop(n).xをセットし、C
TR(n)[j]にtop(n).xをセットする。次
に、ステップS20でjに1を加え、次のステップS2
1でjがright(n).yより小さいか否かを判別
する。そして、jがright(n).yよりも小さい
場合はステップS22へ進んで、ストロークの傾きse
gslopeが正(右下がり)が否かを判別する。そし
て、ストロークの傾きsegslopeが正ならば輪郭
は図8の(1)のD−C部分なので、ステップS23で
線端部の傾きcapslope(n)を使ってランデー
タを求めて、ステップS26へ進む。また、ストローク
の傾きsegslopeが負(左下がり)ならば輪郭は
図8の(1)のH−G部分なので、ステップS25でス
トロークの傾きsegslope(n)を使ってランデ
ータを求て、ステップS26へ進む。
Referring to FIG. 4, the CTR is set in step S19.
(N). top. x is top (n). Set x and C
TR (n) [j] is set to top (n). Set x. Next, 1 is added to j in step S20, and the next step S2
1 and j is right (n). It is determined whether it is smaller than y. And j is right (n). If it is smaller than y, the process proceeds to step S22, where the inclination of the stroke is se.
It is determined whether gslope is positive (downward to the right). If the slope segslope of the stroke is positive, the contour is the DC portion of (1) in FIG. 8, so the run data is obtained using the slope capslope (n) of the line end in step S23, and the process proceeds to step S26. . If the slope segslope of the stroke is negative (downward to the left), the contour is the HG portion of (1) in FIG. 8, and the run data is obtained using the slope segslope (n) of the stroke in step S25. Proceed to.

【0042】一方、前記ステップS21において、jが
right(n).yよりも大きい場合はステップS2
4でストロークの傾きsegslopeが正(右下が
り)が否かを判別する。そして、ストロークの傾きse
gslopeが正ならば輪郭は図8の(1)のA−D部
分なので、ステップS25でストロークの傾きsegs
lope(n)を使ってランデータを求て、ステップS
26へ進む。また、ストロークの傾きsegslope
が負(左下がり)ならば輪郭は図8の(1)のE−H部
分なので、ステップS23で線端部の傾きcapslo
pe(n)を使ってランデータを求めて、ステップS2
6へ進む。
On the other hand, in step S21, j is right (n). If it is larger than y, step S2
In step 4, it is determined whether or not the inclination segslope of the stroke is positive (downward to the right). Then, the stroke inclination se
If gslope is positive, the contour is the AD portion of (1) of FIG.
Step S finds run data using lop (n).
Proceed to 26. Also, the slope of the stroke segslope
Is negative (downward to the left), the contour is the EH portion in FIG. 8A, and the inclination capslo of the line end is determined in step S23.
The run data is obtained using pe (n), and step S2
Proceed to 6.

【0043】ステップS26では、jがboy.
(n).yより大きいか否かを判別し、jがboy.
(n).yより小さい場合は、前記ステップS20へ戻
り、また、jがboy.(n).yより大きい場合は、
ステップS27でCTR(n).bot.yにjをセッ
トする。次に、ステップS28でポイント(点列)番号
mに1を加えて、次のステップS29で格納領域番号n
が0(第1番目)であるか否かを判別する。そして、n
が0である場合は、ステップS30でnに1を加えて、
前記図2のステップS2へ戻る。また、前記ステップS
29においてnが0でなく1(第2番目の領域も使用済
み)であれば、図5のステップS31へ進む。
In step S26, j is boy.
(N). y to determine whether j is boy.
(N). If it is smaller than y, the process returns to step S20, and j is boy. (N). If it is greater than y,
In step S27, CTR (n). bot. Set j to y. Next, in step S28, 1 is added to the point (point sequence) number m, and in the next step S29, the storage area number n
Is 0 (first). And n
Is 0, 1 is added to n in step S30,
The process returns to step S2 in FIG. The step S
If n is not 0 but 1 (the second area has also been used) in 29, the process proceeds to step S31 in FIG.

【0044】図5において、ステップS31〜ステップ
S37までが、次の複数ランレングスオブジェクト生成
処理を行うか否かの判断処理である。ステップS31で
ストローク1のtop(0).yよりストローク2のt
op(1).yが小さいか否かを判別する。そして、ス
トローク1のtop(0).yよりストローク2のto
p(1).yが小さい場合は、topに近い位置のスキ
ャンラインに2つのランのできる可能性が高いため、ス
テップS42へ進んで複数ランレングス処理を行う。ま
た、前記ステップS31においてストローク1のtop
(0).yよりストローク2のtop(1).yが大き
い場合は、ステップS32でCTL(0)[top
(1).y]がCTL(1).top.xより小さいか
否かを判別する。そして、CTL(0)[top
(1).y]がCTL(1).top.xより小さい場
合は、ステップS33へ進み、CTL(1).top.
xがCTR(0)[top(1).y]より小さいか否
かを判別する。そして、CTL(1).top.xがC
TR(0)[top(1).y]より小さい場合は、即
ち、ストローク1の間にストローク2のx座標(CTL
(1).top.xが入っていればステップS34へ進
む。また、前記ステップS32においてCTL(0)
[top(1).y]がCTL(1).top.xより
大きい場合及び前記ステップS33においてCTL
(1).top.xがCTR(0)[top(1).
y]より大きい場合は、やはり2つのランができるの
で、ステップS39へ進む。
In FIG. 5, steps S31 to S37 are processing for determining whether or not to execute the next multiple run-length object generation processing. In step S31, top (0). t of stroke 2 from y
op (1). It is determined whether or not y is small. Then, the top (0). Stroke 2 to y
p (1). If y is small, there is a high possibility that two runs will be made on the scan line near the top, so the process proceeds to step S42 to perform a multiple run length process. In step S31, the top of the stroke 1 is set.
(0). top of stroke 2 from y (1). If y is large, CTL (0) [top
(1). y] is CTL (1). top. It is determined whether it is smaller than x. Then, CTL (0) [top
(1). y] is CTL (1). top. x, the process proceeds to step S33, and CTL (1). top.
x is CTR (0) [top (1). y] is determined. Then, CTL (1). top. x is C
TR (0) [top (1). y], that is, during the stroke 1, the x-coordinate of the stroke 2 (CTL
(1). top. If x is included, the process proceeds to step S34. In step S32, CTL (0)
[Top (1). y] is CTL (1). top. x and CTL in step S33.
(1). top. x is CTR (0) [top (1).
y], two runs can be made, so the process proceeds to step S39.

【0045】ステップS34では、slope(1)が
0より大きいか否かを判別し、slope(1)が0よ
り大きい場合は、ステップS35でストローク2のle
ft(1).yとright(1).yの小さい方(n
BT)をストローク2のright(1).yにセット
する。次に、ステップS37でストローク1のbot
(0).yよりもストローク2のleft(1).yと
right(1).yの小さい方(nBT)が大きいか
否かを判別する。そして、ストローク2のleft
(1).yとright(1).yの小さい方(nB
T)が、ストローク1のbot(0).yよりも小さい
場合は、bot付近に2つのランができる可能性が高い
ため、ステップS40へ進んで複数レングスオブジェク
トを生成する。
In step S34, it is determined whether or not slope (1) is greater than 0. If slope (1) is greater than 0, le in stroke 2 is determined in step S35.
ft (1). y and right (1). the smaller of y (n
BT) to the right of stroke 2 (1). Set to y. Next, in step S37, the bottom of the stroke 1
(0). left (1) of stroke 2 than y. y and right (1). It is determined whether the smaller y (nBT) is larger. And the left of stroke 2
(1). y and right (1). the smaller of y (nB
T) is the bot (0). If it is smaller than y, there is a high possibility that two runs will be made in the vicinity of bot, so the process proceeds to step S40 to generate a plurality of length objects.

【0046】また、前記ステップS37においてストロ
ーク2のleft(1).yとright(1).yの
小さい方(nBT)が、ストローク1のbot(0).
yよりも大きい場合は、通常のランレングスとして処理
できるので、ステップS38で従来処理を行ってランレ
ングスオブジェクトを作成し、図7のステップS67へ
進む。一方、前記ステップS34においてslope
(1)が0より小さい場合は、ステップS36でストロ
ーク2のleft(1).yとright(1).yの
小さい方(nBT)をストローク2のleft(1).
yにセットする。
In step S37, the left (1). y and right (1). y (nBT) is the bot (0).
If it is larger than y, it can be processed as a normal run length, so that a conventional process is performed in step S38 to create a run length object, and the process proceeds to step S67 in FIG. On the other hand, in step S34, slope
If (1) is smaller than 0, the left (1). y and right (1). y (nBT) is set to the left (1).
Set to y.

【0047】ステップS39〜図7のステップS65ま
では、複数ランレングス生成処理である。ステップS3
9〜ステップS41で、top(0).yとtop
(1).yの小さい方をjとし、jがtopの方のスト
ロークをcrt、そうでない方のストロークをotrと
する。
Steps S39 to S65 in FIG. 7 are a plurality of run length generation processes. Step S3
9 to step S41, top (0). y and top
(1). The smaller one of y is j, the stroke where j is top is crt, and the other stroke is otr.

【0048】ステップS39では、top(0).yが
top(1).yより小さいか否かを判別する。そし
て、top(0).yがtop(1).yより大きい場
合は、ステップS42でjをtop(1)にセットし、
次のステップS43でcrt=1、otr=0として、
ステップS44へ進む。また、前記ステップS39にお
いてtop(0).yがtop(1).yより小さい場
合は、ステップS40でjをtop(0)にセットし、
次のステップS41でcrt=0、otr=1として、
ステップS44へ進む。ステップS44では、左右1組
のランを2組づつ持つことが可能な複数ランレングスデ
ータの格納領域MRLに、高さjからtop(ot
r).yまではCTL(crt)、CTR(crt)の
1組だけをセットする(図8の(2)におけるスキャン
ラインy1より上の領域)。即ち、ステップS44で
は、MRL(0)[j].LeftにCTL(crt)
[j]を、MRL(0)[j].RightにCTR
(crt)[j]をそれぞれセットする。次に、ステッ
プS445でjに1を加えて、次のステップS46でj
がtop(otr).yより小さいか否かを判別する。
そして、jがtop(otr).yより小さい場合は、
前記ステップS44へ戻り、jがtop(otr).y
より大きい場合は、ステップS47でCTL(crt)
[j]がtop(otr).xより大きいか否かを判別
する。そして、CTL(crt)[j]がtop(ot
r).xより小さい場合は、ステップS49でLSにc
rtを、RSにotrをそれぞれセットし、図6のステ
ップS50へ進む。また、前記ステップS47において
CTL(crt)[j]がtop(otr).xより大
きい場合は、ステップS48でLSにotrを、RSに
crtをそれぞれセットし、図6のステップS50へ進
む。
In step S39, top (0). y is top (1). It is determined whether it is smaller than y. Then, top (0). y is top (1). If it is larger than y, j is set to top (1) in step S42,
In the next step S43, crt = 1 and otr = 0, and
Proceed to step S44. In step S39, top (0). y is top (1). If it is smaller than y, j is set to top (0) in step S40,
In the next step S41, crt = 0 and otr = 1, and
Proceed to step S44. In step S44, from the height j to the top (ot), a plurality of run length data storage areas MRL that can have two sets of right and left runs are provided.
r). Until y, only one set of CTL (crt) and CTR (crt) is set (area above scan line y1 in (2) of FIG. 8). That is, in step S44, MRL (0) [j]. CTL (crt) to Left
[J] is assigned to MRL (0) [j]. CTR to Right
(Crt) [j] is set. Next, 1 is added to j in step S445, and j is added in next step S46.
Is top (otr). It is determined whether it is smaller than y.
And j is top (otr). If less than y,
Returning to step S44, j becomes top (otr). y
If it is larger than CTL (crt) in step S47.
[J] is top (otr). It is determined whether it is greater than x. Then, CTL (crt) [j] becomes top (ot
r). If smaller than x, LS is set to c in step S49.
rt is set to RS and otr is set to RS, and the process proceeds to step S50 in FIG. In step S47, CTL (crt) [j] is set to top (otr). If it is larger than x, otr is set to LS and crt is set to RS in step S48, and the process proceeds to step S50 in FIG.

【0049】図6において、ステップS50ではCTR
(LS)[j]がCTL(RS)[j]より小さいか否
かを判別する。そして、CTR(LS)[j]がCTL
(RS)[j]より大きい場合は、即ち、LSとRSの
x座標が逆転するまでは、1スキャンラインに2つのラ
ンデータがあるので、ステップS51でMRL(0)
[j].LeftにストロークLSのCTL(LS)
[j]を、MRL(0)[j].Rightにストロー
クLSのCTR(LS)[j]を、MRL(1)
[j].LeftにストロークRSのCTL(RS)
[j]を、MRL(1)[j].Rightにストロー
クRSのCTR(RS)[j]をそれぞれセットする
(図8(2)におけるスキャンラインy1からスキャン
ラインy2の間)。次に、ステップS52でjに1を加
えて、前記ステップS50へ戻る。
In FIG. 6, in step S50, the CTR
It is determined whether (LS) [j] is smaller than CTL (RS) [j]. Then, CTR (LS) [j] is CTL
If (RS) [j] is larger, that is, since two run data are present in one scan line until the x coordinate of LS and RS is reversed, MRL (0) is determined in step S51.
[J]. Left CTL of stroke LS (LS)
[J] is assigned to MRL (0) [j]. The CTR (LS) [j] of the stroke LS is assigned to Right, and the MRL (1)
[J]. Left CTL of stroke RS (RS)
[J] is converted to MRL (1) [j]. The CTR (RS) [j] of the stroke RS is set to Right (between the scan line y1 and the scan line y2 in FIG. 8B). Next, 1 is added to j in step S52, and the process returns to step S50.

【0050】一方、前記ステップS50においてCTR
(LS)[j]がCTL(RS)[j]より小さい場合
は、ステップS53でCTL(LS)[j]がCTR
(RS)[j]より大きいか否かを判別する。そして、
CTL(LS)[j]がCTR(RS)[j]より小さ
い場合は、次にCTL(LS)とCTR(RS)が逆転
するまでは1スキャンラインに1つのランデータなの
で、ステップS54でMRL(0)[j].Leftに
CTL(LS)[j]を、MRL(0)[j].Rig
htにCTR(RS)[j]をそれぞれセットする。次
に、ステップS55でjに1を加えて、前記ステップS
53へ戻る。
On the other hand, in step S50, the CTR
If (LS) [j] is smaller than CTL (RS) [j], CTL (LS) [j] is set to CTR in step S53.
(RS) It is determined whether or not it is larger than [j]. And
If CTL (LS) [j] is smaller than CTR (RS) [j], one run data per scan line until CTL (LS) and CTR (RS) are reversed next time. (0) [j]. Left is CTL (LS) [j] and MRL (0) [j]. Rig
ht is set to CTR (RS) [j]. Next, 1 is added to j in step S55, and
Return to 53.

【0051】一方、前記ステップS53においてCTL
(LS)[j]がCTR(RS)[j]より大きい場合
は、再び1スキャンラインに2つのランができるので、
ステップS56でLSにRSを、RSにLSをそれぞれ
セットして、次のステップS57へ進む。このステップ
S57では、bot(LS).yがbot(RS).y
より小さいか否かを判別し、bot(LS).yがbo
t(RS).yより大きい場合はステップS58へ、b
ot(LS).yがbot(RS).yより小さい場合
はステップS59へそれぞれ進む。これらステップS5
8及びステップS59で、bot(LS).yとbot
(RS).yの内、小さい方のストロークをshor
t、大きい方のストロークをlongとする。ステップ
S58では、shortにRSを、longにLSをそ
れぞれセットして、図7のステップS60に進む。ま
た、ステップS59では、shortにLSを、lon
gにRSをそれぞれセットして、図7のステップS60
に進む。
On the other hand, in step S53, CTL
If (LS) [j] is greater than CTR (RS) [j], two runs are made again on one scan line,
In step S56, RS is set to LS and LS is set to RS, and the process proceeds to the next step S57. In this step S57, bot (LS). y is bot (RS). y
Is smaller than bot (LS). y is bo
t (RS). If it is larger than y, go to step S58, b
ot (LS). y is bot (RS). If it is smaller than y, the process proceeds to step S59. These steps S5
8 and step S59, bot (LS). y and bot
(RS). the smaller stroke of y
t, the larger stroke is long. In step S58, RS is set to short and LS is set to long, and the process proceeds to step S60 in FIG. In step S59, LS is set to short and lon is set to lon.
g is set to RS, respectively, and step S60 in FIG.
Proceed to.

【0052】図7において、ステップS60でjがbo
t(short).yより小さいか否かを判別し、jが
bot(short).yより小さい場合は、ステップ
S61でMRL(0)[j].LeftにCTL(L
S)[j]を、MRL(0)[j].RightにCT
R(LS)[j]を、MRL(0)[j].Leftに
CTR(RS)[j]を、MRL(0)[j].Rig
htにCTR(RS)[j]をそれぞれセットする(図
8の(2)におけるスキャンラインy4まで)。次に、
ステップS62でjに1を加えて、前記ステップS60
へ戻る。
In FIG. 7, j is bo in step S60.
t (short). It is determined whether or not j is smaller than y (bot (short). y, the MRL (0) [j]. CTL (L
S) [j] is converted to MRL (0) [j]. Right to CT
R (LS) [j] is replaced by MRL (0) [j]. Left is CTR (RS) [j], MRL (0) [j]. Rig
ht is set to CTR (RS) [j] (up to scan line y4 in (2) of FIG. 8). next,
In step S62, 1 is added to j, and in step S60
Return to

【0053】一方、前記ステップS60においてjがb
ot(short).yより大きい場合は、ステップS
63でjがbot(long).yより小さいか否かを
判別し、jがbot(long).yより小さい場合
は、ステップS64でMRL(0)[j].Leftに
CTL(long)[j]を、MRL(0)[j].R
ightにCTR(long)[j]をそれぞれセット
する(図8の(2)におけるスキャンラインy4より下
の領域)。次に、ステップS65でjに1を加えて、前
記ステップS63へ戻る。
On the other hand, in step S60, j is equal to b.
ot (short). If greater than y, step S
In 63, j is bot (long). y is determined to be smaller than j, and j is bot (long). y, the MRL (0) [j]. Left is CTL (long) [j] and MRL (0) [j]. R
The CTR (long) [j] is set for the light (the area below the scan line y4 in (2) of FIG. 8). Next, 1 is added to j in step S65, and the process returns to step S63.

【0054】一方、前記ステップS63においてjがb
ot(long).yより大きい場合は、ステップS6
6でnに1を加えて、次のステップS67へ進む。この
ステップS67では、mが最終点PointMaxであ
るか否かを判別し、mが最終点PointMaxでない
場合は、ステップS68でmに1を加えて、前記図2の
ステップS2へ戻る。そして、図2のステップ3におい
てnが2であれば、1つ前のストロークでMRLオブジ
ェクトを作成しているので、ステップ4でnをクリアし
て新しくランデータを収集する。以上の処理を繰り返
し、前記ステップS67においてmが最終点Point
Maxに達したならば、本処理動作を終了する。
On the other hand, in step S63, j is equal to b.
ot (long). If it is larger than y, step S6
In step 6, 1 is added to n, and the flow advances to the next step S67. In this step S67, it is determined whether or not m is the final point PointMax. If m is not the final point PointMax, 1 is added to m in step S68, and the process returns to step S2 in FIG. Then, if n is 2 in step 3 of FIG. 2, since the MRL object is created by the previous stroke, n is cleared in step 4 and new run data is collected. The above processing is repeated, and in step S67, m is the final point Point.
When the maximum value has been reached, this processing operation ends.

【0055】(第2の実施の形態)次に、本発明の第2
の実施の形態を図10〜図12に基づき説明する。図8
の(1)における開始位置(Start)から終了位置
(End)まで一定のパターンで水平な破線を描画する
とき、同じスキャンラインに複数のランが並ぶため、破
線全体をランレングスとすることができない。そこで、
本実施の形態では、パターンに対応した点列を求めてお
いて、FBEオブジェクトを生成するようにしたもので
ある。
(Second Embodiment) Next, a second embodiment of the present invention will be described.
Will be described with reference to FIGS. FIG.
When a horizontal dashed line is drawn in a fixed pattern from the start position (Start) to the end position (End) in (1), a plurality of runs are arranged on the same scan line, so that the entire dashed line cannot be made the run length. . Therefore,
In the present embodiment, a point sequence corresponding to a pattern is obtained, and an FBE object is generated.

【0056】以下、本実施の形態に係る線図形描画装置
の動作について、図10及び図11のフローチャートに
基づき説明する。
Hereinafter, the operation of the line graphic drawing apparatus according to the present embodiment will be described with reference to the flowcharts of FIGS.

【0057】図10において、まず、ステップS100
1で点列番号mを初期化し、次のステップS1002で
線全体のtopとbotを、開始位置PO.yと線幅W
より求める(図12参照)。次に、ステップS1003
でストロークの終了位置のx座標をendとする。次
に、ステップS1004で複数ラングレンスデータ格納
領域番号n=0にし、ステップS1005で黒パターン
の開始点PmをCP、終了点Pm+1をNPとする。次
に、ステップS1006で高さjにtopをセットし、
次のステップS1007でCTL(n)[j]にPm.
xを、CTR(n)[j]にPm+1.xをそれぞれセ
ットする。次に、ステップS1008で高さjが線全体
のbotより小さいか否かを判別し、高さjが線全体の
botより小さい場合は、ステップS1009でjに1
を加えて、前記ステップS1007へ戻る。一方、前記
ステップS1008において高さjが線全体のbotよ
り大きい場合は、図11のステップS1010へ進む。
In FIG. 10, first, at step S100
1, the point sequence number m is initialized, and in the next step S1002, top and bottom of the entire line are set to the start position PO. y and line width W
(See FIG. 12). Next, step S1003
Let the x coordinate of the end position of the stroke be end. Next, in step S1004, the multiple run length data storage area number n is set to 0, and in step S1005, the start point Pm of the black pattern is set to CP, and the end point Pm + 1 is set to NP. Next, top is set to height j in step S1006,
In the next step S1007, Pm.
x is assigned to CTR (n) [j] by Pm + 1. Set x respectively. Next, in step S1008, it is determined whether the height j is smaller than the bot of the entire line. If the height j is smaller than bot of the entire line, 1 is set to j in step S1009.
And returns to step S1007. On the other hand, if the height j is larger than the bot of the entire line in step S1008, the process proceeds to step S1010 in FIG.

【0058】図11において、ステップS1010で
は、点列番号mに2を加えて、次のステップS1011
でPm.xがendより小さいか否かを判別し、Pm.
xがendより小さい場合は、ステップS1013でn
に1を加えて、次のステップS1014へ進む。このス
テップS1014では、nがMRLで保持できる最大値
MRL_maxより大きいか否かを判別する。そして、
nがMRL_maxより小さい場合は、前記図10のス
テップS1005へ戻って次の黒パターンの処理を行
う。また、前記ステップS1014においてnがMRL
_maxより大きい場合は、ステップS1015で一旦
複数ランレングスオブジェクトを生成してから前記図1
0のステップS1004へ戻って新たにランデータの収
集を行う。
In FIG. 11, in step S1010, 2 is added to the point sequence number m, and the next step S1011 is performed.
At Pm. x is smaller than end, and Pm.
If x is smaller than end, n is determined in step S1013.
And then proceeds to the next step S1014. In this step S1014, it is determined whether or not n is larger than a maximum value MRL_max that can be held in the MRL. And
If n is smaller than MRL_max, the process returns to step S1005 in FIG. 10 to perform the processing of the next black pattern. In step S1014, n is MRL.
If it is larger than _max, a plurality of run-length objects are once generated in step S1015,
Returning to step S1004 of "0", new run data is collected.

【0059】一方、前記ステップS1011においてP
m.xがendに到達した場合は、ステップS1012
で複数ランレングスオブジェクトを生成した後、本処理
動作を終了する。
On the other hand, in the step S1011, P
m. If x has reached end, step S1012
After generating a plurality of run-length objects, the processing operation ends.

【0060】(第3の実施の形態)次に、本発明の線図
形描画方法及び装置に用いる記憶媒体について、図13
を用いて説明する。ラスタメモリ上に複数の座標点から
なる多角形または折れ線等の線図形を描画する際、ラン
レングスと呼ばれるデータ形式を用いて行う線図形描画
装置を制御するための制御プログラムを格納する記憶媒
体には、少なくとも「判断モジュール」、「抽出モジュ
ール」、「統合モジュール」の各モジュールのプログラ
ムコードを格納すれば良い。
(Third Embodiment) Next, a storage medium used for the method and apparatus for drawing a line figure according to the present invention will be described with reference to FIG.
This will be described with reference to FIG. When drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory, a storage medium for storing a control program for controlling a line figure drawing apparatus using a data format called run length is used. Should store at least the program code of each module of the “judgment module”, “extraction module”, and “integration module”.

【0061】ここで、「判断モジュール」は、同じスキ
ャンライン上に複数の閉領域が存在する位置関係にある
か否かを判断するためのプログラムモジュールである。
また、「抽出モジュール」は、各々の単体の線分である
ストローク及び接続部分についてそれぞれが前記ラスタ
メモリ上に占める閉領域に対応する左右点情報(以下、
ランデータと記述する)を抽出するためのプログラムモ
ジュールである。更に、「統合モジュール」は、複数の
ランデータを1つのオブジェクトに統合するためのプロ
グラムモジュールである。
Here, the "judgment module" is a program module for judging whether or not there is a positional relationship in which a plurality of closed areas exist on the same scan line.
In addition, the “extraction module” includes left and right point information (hereinafter, referred to as a single line segment) corresponding to a closed area occupied on the raster memory with respect to a stroke and a connection portion.
(Described as run data). Further, the “integration module” is a program module for integrating a plurality of run data into one object.

【0062】この記憶媒体は、ROM(リードオンリー
メモリ)或いはハードディスク等からなる。
This storage medium comprises a ROM (Read Only Memory) or a hard disk.

【0063】[0063]

【発明の効果】以上詳述したように本発明の線図形描画
方法及び装置によれば、今まで別々のオブジェクトとし
なければならなかったランデータを複数レングスオブジ
ェクトとして1つにまとめ、オブジェクト数を削減する
ことができ、これにより、従来より更に高速な線図形描
画処理を行うことができるという効果を奏する。
As described in detail above, according to the method and apparatus for drawing a line graphic according to the present invention, run data, which had to be made into separate objects until now, are combined into a plurality of length objects, and the number of objects is reduced. This makes it possible to perform a line graphic drawing process at a higher speed than before.

【0064】また、本発明の記憶媒体によれば、上述し
た線図形描画装置を円滑に制御することができるという
効果を奏する。
Further, according to the storage medium of the present invention, there is an effect that the above-described line drawing apparatus can be controlled smoothly.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態に係る線図形描画装
置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a line graphic drawing apparatus according to a first embodiment of the present invention.

【図2】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 2 is a flowchart illustrating an operation control procedure of the same-line drawing apparatus.

【図3】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 3 is a flowchart showing an operation control procedure of the same-line drawing apparatus.

【図4】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 4 is a flowchart illustrating an operation control procedure of the same-line drawing apparatus.

【図5】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 5 is a flowchart showing an operation control procedure of the same line drawing apparatus.

【図6】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 6 is a flowchart illustrating an operation control procedure of the same-line drawing apparatus.

【図7】同線図形描画装置の動作制御手順を示すフロー
チャートである。
FIG. 7 is a flowchart showing an operation control procedure of the same-line drawing apparatus.

【図8】同線図形描画装置におにおいて複数ラングレン
スオブジェクトとする図形を表わす図である。
FIG. 8 is a diagram illustrating a figure as a plurality of rungness objects in the same-line figure drawing apparatus.

【図9】同線図形描画装置におけるランデータ格納領域
の構造を示す図である。
FIG. 9 is a diagram showing a structure of a run data storage area in the same-line drawing apparatus.

【図10】本発明の第2の実施の形態に係る線図形描画
装置の動作制御手順を示すフローチャートである。
FIG. 10 is a flowchart illustrating an operation control procedure of the line graphic drawing apparatus according to the second embodiment of the present invention.

【図11】同線図形描画装置の動作制御手順を示すフロ
ーチャートである。
FIG. 11 is a flowchart showing an operation control procedure of the same-line drawing apparatus.

【図12】同線図形描画装置において複数ラングレンス
オブジェクトとする図形を表わす図である。
FIG. 12 is a diagram illustrating a graphic as a plurality of run-length objects in the same-line graphic drawing apparatus.

【図13】本発明の記憶媒体のプログラムモジュールを
示す図である。
FIG. 13 is a diagram showing a program module of a storage medium of the present invention.

【図14】図形の輪郭形状とランデータの関係を示す図
である。
FIG. 14 is a diagram illustrating a relationship between a contour shape of a figure and run data.

【図15】1つのラングレンスオブジェクトとして処理
できる図形を示す図である。
FIG. 15 is a diagram illustrating a graphic that can be processed as one rungrance object.

【符号の説明】[Explanation of symbols]

1 ホストコンピュータ 2 プリンタ 2a 描画解析部(コントローラ) 2b 描画部(エンジン) DESCRIPTION OF SYMBOLS 1 Host computer 2 Printer 2a Drawing analysis part (controller) 2b Drawing part (engine)

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 ラスタメモリ上に複数の座標点からなる
多角形または折れ線等の線図形を描画する際、ランレン
グスと呼ばれるデータ形式を用いて行う線図形描画方法
において、同じスキャンライン上に複数の閉領域が存在
する位置関係にあるか否かを判断する判断ステップと、
各々の単体の線分であるストローク及び接続部分につい
てそれぞれが前記ラスタメモリ上に占める閉領域に対応
する左右点情報(以下、ランデータと記述する)を抽出
する抽出ステップと、複数のランデータを1つのオブジ
ェクトに統合する統合ステップとを具備したことを特徴
する線図形描画方法。
When a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points is drawn on a raster memory, a line figure drawing method performed using a data format called run length is used to draw a plurality of line figures on the same scan line. A determining step of determining whether or not there is a positional relationship in which a closed region of
An extraction step of extracting left and right point information (hereinafter, referred to as run data) corresponding to a closed area occupied on the raster memory for each of the strokes and connection portions each of which is a single line segment; A line figure drawing method, comprising: an integration step of integrating into one object.
【請求項2】 ラスタメモリ上に複数の座標点からなる
多角形または折れ線等の線図形を描画する際、ランレン
グスと呼ばれるデータ形式を用いて行う線図形描画装置
において、同じスキャンライン上に複数の閉領域が存在
する位置関係にあるか否かを判断する判断手段と、各々
の単体の線分であるストローク及び接続部分についてそ
れぞれが前記ラスタメモリ上に占める閉領域に対応する
左右点情報(以下、ランデータと記述する)を抽出する
抽出手段と、複数のランデータを1つのオブジェクトに
統合する統合手段とを具備したことを特徴する線図形描
画装置。
2. Description of the Related Art When drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory, a line figure drawing apparatus that uses a data format called a run length is used to draw a plurality of lines on the same scan line. Determining means for determining whether or not there is a closed area in which a closed area exists, and left and right point information (stroke and connection portions, each of which is a single line segment) corresponding to the closed area occupied on the raster memory ( A line graphic drawing apparatus comprising: an extracting unit for extracting run data; and an integrating unit for integrating a plurality of run data into one object.
【請求項3】 前記判断手段は、プリンタに設けられて
いることを特徴する請求項2記載の線図形描画装置。
3. The line graphic drawing apparatus according to claim 2, wherein said judging means is provided in a printer.
【請求項4】 前記抽出手段は、プリンタに設けられて
いることを特徴する請求項2記載の線図形描画装置。
4. The apparatus according to claim 2, wherein said extracting means is provided in a printer.
【請求項5】 前記統合手段は、プリンタに設けられて
いることを特徴する請求項2記載の線図形描画装置。
5. The line graphic drawing apparatus according to claim 2, wherein said integration means is provided in a printer.
【請求項6】 前記判断手段は、コントローラであるこ
とを特徴する請求項2または3記載の線図形描画装置。
6. The apparatus according to claim 2, wherein the determination unit is a controller.
【請求項7】 前記抽出手段は、コントローラであるこ
とを特徴する請求項2または3記載の線図形描画装置。
7. The drawing apparatus according to claim 2, wherein the extracting unit is a controller.
【請求項8】 前記統合手段は、コントローラであるこ
とを特徴する請求項2または3記載の線図形描画装置。
8. The line graphic drawing apparatus according to claim 2, wherein said integrating means is a controller.
【請求項9】 ラスタメモリ上に複数の座標点からなる
多角形または折れ線等の線図形を描画する際、ランレン
グスと呼ばれるデータ形式を用いて行う線図形描画装置
を制御するプログラムを格納する記憶媒体であって、同
じスキャンライン上に複数の閉領域が存在する位置関係
にあるか否かを判断する判断ステップの判断モジュール
と、各々の単体の線分であるストローク及び接続部分に
ついてそれぞれが前記ラスタメモリ上に占める閉領域に
対応する左右点情報(以下、ランデータと記述する)を
抽出する抽出ステップの抽出モジュールと、複数のラン
データを1つのオブジェクトに統合する統合ステップの
統合モジュールとを有するプログラムを格納したことを
特徴する記憶媒体。
9. A storage for storing a program for controlling a line figure drawing apparatus which uses a data format called run length when drawing a line figure such as a polygon or a polygonal line composed of a plurality of coordinate points on a raster memory. A determination module of a determination step of determining whether or not the medium is in a positional relationship in which a plurality of closed regions are present on the same scan line; and a stroke and a connection portion each of which is a single line segment, An extraction module of an extraction step for extracting left and right point information (hereinafter, referred to as run data) corresponding to a closed area occupying a raster memory, and an integration module of an integration step for integrating a plurality of run data into one object. A storage medium storing a program having the program.
【請求項10】 前記プログラムは、前記請求項2〜7
または8記載の線図形描画装置を制御することを特徴す
る請求項9記載の記憶媒体。
10. The program according to claim 2, wherein
10. The storage medium according to claim 9, wherein said line graphic drawing apparatus is controlled.
【請求項11】 ROMよりなることを特徴する請求項
9または10記載の記憶媒体。
11. The storage medium according to claim 9, wherein the storage medium comprises a ROM.
【請求項12】 ハードディスクよりなることを特徴す
る請求項9または10記載の記憶媒体。
12. The storage medium according to claim 9, comprising a hard disk.
JP26662096A 1996-09-18 1996-09-18 Method for plotting linear graphic and device therefor and storage medium Pending JPH1091800A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26662096A JPH1091800A (en) 1996-09-18 1996-09-18 Method for plotting linear graphic and device therefor and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26662096A JPH1091800A (en) 1996-09-18 1996-09-18 Method for plotting linear graphic and device therefor and storage medium

Publications (1)

Publication Number Publication Date
JPH1091800A true JPH1091800A (en) 1998-04-10

Family

ID=17433352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26662096A Pending JPH1091800A (en) 1996-09-18 1996-09-18 Method for plotting linear graphic and device therefor and storage medium

Country Status (1)

Country Link
JP (1) JPH1091800A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353308C (en) * 2004-03-15 2007-12-05 致伸科技股份有限公司 Graph print-out method
CN106530208A (en) * 2016-11-22 2017-03-22 中国人民解放军理工大学 GPU-based method for calculating random polygon intersection area
CN106709857A (en) * 2016-11-22 2017-05-24 中国人民解放军理工大学 Arbitrary polygon intersection area calculation method based on probability statistics

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353308C (en) * 2004-03-15 2007-12-05 致伸科技股份有限公司 Graph print-out method
CN106530208A (en) * 2016-11-22 2017-03-22 中国人民解放军理工大学 GPU-based method for calculating random polygon intersection area
CN106709857A (en) * 2016-11-22 2017-05-24 中国人民解放军理工大学 Arbitrary polygon intersection area calculation method based on probability statistics
CN106530208B (en) * 2016-11-22 2019-04-09 中国人民解放军理工大学 A kind of arbitrary polygon intersecting area calculation method based on GPU
CN106709857B (en) * 2016-11-22 2019-12-10 中国人民解放军理工大学 method for calculating intersection area of any polygon based on probability statistics

Similar Documents

Publication Publication Date Title
US5214718A (en) Scan-in polygonal extraction of video images
US6151032A (en) Stroke-based glyph-outline font generation in low/high resolution space
US5524198A (en) Character or graphic processing method and apparatus
JP2911470B2 (en) Character processing apparatus and method
US6111587A (en) Method for converting non-zero winding to even-odd fill polygons
JP4022710B2 (en) Drawing processor
JPH1091800A (en) Method for plotting linear graphic and device therefor and storage medium
US5271093A (en) Video display apparatus for filling the interior shapes of contour
US5398293A (en) System for editing image data
WO1998053427A1 (en) Apparatus and methods for object interpolation and metamorphosis using skeletons
US5355448A (en) Method of generating dot signals corresponding to character pattern and the system therefor
US7508987B2 (en) Method, apparatus, system, and program for image processing capable of recognizing, reproducing, and enhancing an image, and a medium storing the program
CN1181556A (en) Apparatus for and method of measuring focus
JP2648384B2 (en) Figure filling device
JP2000066658A (en) Image processor and recording medium
JP2819961B2 (en) Printing control device
JP3536894B2 (en) Graphic processing unit
JPH05290162A (en) Diagram branch point connecting method for image input device
JPH05318839A (en) Formation of image, device thereof and information processing system
JPH0697387B2 (en) Character processing method
JP3294249B2 (en) Image processing device
JP3099556B2 (en) Data converter
JPH07262385A (en) Outline data generator
JP3122664B2 (en) Drawing equipment
JP2002032769A (en) Method and device for image processing