JPH07152920A - Graphic processor and its method - Google Patents

Graphic processor and its method

Info

Publication number
JPH07152920A
JPH07152920A JP5325990A JP32599093A JPH07152920A JP H07152920 A JPH07152920 A JP H07152920A JP 5325990 A JP5325990 A JP 5325990A JP 32599093 A JP32599093 A JP 32599093A JP H07152920 A JPH07152920 A JP H07152920A
Authority
JP
Japan
Prior art keywords
contour
line
data
outline
filling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5325990A
Other languages
Japanese (ja)
Other versions
JP2888270B2 (en
Inventor
Yoshihisa Kobayashi
芳尚 小林
Masayoshi Kouno
真儀 河野
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP5325990A priority Critical patent/JP2888270B2/en
Publication of JPH07152920A publication Critical patent/JPH07152920A/en
Application granted granted Critical
Publication of JP2888270B2 publication Critical patent/JP2888270B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To solve an acute end and an overlap problem and to enable high- speed software processing. CONSTITUTION:An instruction means 1 instructs the kind, size, and modification of a graphic to be processed. Then outline data on the graphic instructed by the instruction means 1 are supplied from an outline data memory 2 to an outline raster scanning means 3. The outline data are so set that the direction of external loop data is opposite to the direction of internal loop data. Then the outline raster scanning means 3 makes a raster scan. For this raster scan, one outline point forming one outline is determined on one line and generated in a painting-out buffer 5. Further, a painting-out means 4 performs an additive subtractive painting-out process and the value of respective pixels of the painting-out buffer 5 are increased or decreased; when the value becomes larger than 1, the pixels are painted out on each line. Lastly, the graphic stored in the painting-out buffer 5 is displayed at a display means 6.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、図形処理装置及びその
方法に係り、特に文字などの図形の輪郭を示すアウトラ
インベクトルデータをドットデータに変換する際に、輪
郭および図形の内部や外部を塗り潰す図形処理装置及び
その方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic processing apparatus and method, and more particularly, when converting outline vector data indicating the outline of a graphic such as a character into dot data, the inside and outside of the outline and the graphic are painted. The present invention relates to a crushing graphic processing apparatus and method.

【0002】[0002]

【従来の技術】従来より、拡大・縮小した際にも高品質
な文字として表示するために、文字の輪郭をアウトライ
ンデータとして保持し、このアウトラインデータをドッ
トデータに変換することによって描画される文字の輪郭
の内部または外部を塗り潰す方法が採られている。
2. Description of the Related Art Conventionally, in order to display a high-quality character even when it is enlarged or reduced, the outline of the character is held as outline data, and the character drawn by converting the outline data into dot data. The method of filling the inside or outside of the contour of the is adopted.

【0003】そして、コード化された文字を拡大・縮小
してブラウン管等の出力装置に表示させる方法として、
特公昭53-15624号の「文字等発生方式」や特公昭53-410
17号の「高品位文字等の発生方式」等が知られている。
ところが、これらの方法は、文字の輪郭の尖鋭端の部分
が1ドットとなる場合に文字の塗り潰しが正しく行われ
ないという問題があり、以降の特許出願等において、こ
の尖鋭端問題を解決する方法がいくつか提案されてい
る。
As a method of enlarging / reducing coded characters and displaying them on an output device such as a cathode ray tube,
Japanese Patent Publication No. 53-15624 “Character Generation Method” and Japanese Patent Publication No. 53-410
No. 17, “Method of generating high-quality characters, etc.” is known.
However, these methods have a problem that the character is not filled correctly when the sharp edge portion of the character outline is 1 dot, and in the following patent applications, etc., the method for solving this sharp edge problem is solved. Have been proposed.

【0004】尖鋭端問題を解決して文字や図形のアウト
ラインベクトルデータを塗り潰す方法としては、特開平
2-59872 号の「画像処理装置」や特開平4-684 号の「図
形塗り潰し方法」、特開平3-233689号の「アウトライン
データ描画装置」等が提案されている。そして、特開平
2-59872 号の「画像処理装置」は、尖鋭端問題をソフト
ウエア処理に適した簡単な方法で解決する比較的優れた
方法であり、輪郭線をプロットしながら、順次ラスタス
キャン方向に反転塗り潰しを行なうことにより、尖鋭端
問題を回避しつつ簡単な構成で塗り潰しを行なうように
したものである。しかしながら、1スキャンラインにつ
いて局部的に多数回の反転処理が必要であるので、処理
速度が低下するという問題がある。そこで、この提案で
は、図形の中心線近辺で塗り潰し処理領域を二分して、
各領域での塗り潰し方向を変えることにより、反転処理
が局部的に重複する度合いを軽減させているが、この場
合でも処理速度が低下するという課題は残っていた。
As a method for solving the sharp edge problem and filling out outline vector data of characters and figures, there is disclosed in
The "image processing device" of 2-59872, the "graphic filling method" of JP-A-4-684, and the "outline data drawing device" of JP-A-3-233689 are proposed. And Japanese Patent Laid-Open No.
The 2-59872 "Image processing device" is a relatively excellent method that solves the sharp-edge problem by a simple method suitable for software processing. By performing the above, the filling operation is performed with a simple structure while avoiding the problem of sharp edges. However, there is a problem in that the processing speed is lowered because it is necessary to locally perform inversion processing a large number of times for one scan line. Therefore, in this proposal, the filling processing area is divided into two in the vicinity of the center line of the figure,
By changing the filling direction in each area, the degree to which the inversion processing locally overlaps is reduced, but even in this case, the problem that the processing speed decreases remains.

【0005】また、塗り潰しの問題として、輪郭の重複
問題がある。この重複問題をアウトライン文字の修飾の
一つである文字の太さ変形を例にして以下に説明する。
例えば、片仮名「ム」が図10(A)に示すようにアウ
トラインベクトルで定義されている場合、太さ変形を行
なう方法の一例は、同図(B)に示すように、各頂点で
接する二辺の成す角を二分する方向に、その頂点座標を
移動することである。この時、同図(B)中、太い矢印
で示した部分のように輪郭線の衝突あるいは重複が発生
することがあり、この場合、特開平2-59872 号の方法で
は次のような問題が発生する。
Further, as a problem of filling, there is a problem of overlapping of contours. This duplication problem will be described below by taking a character thickness modification, which is one of the modifications of outline characters, as an example.
For example, when the katakana "mu" is defined by an outline vector as shown in FIG. 10A, an example of a method of performing thickness transformation is, as shown in FIG. To move the vertex coordinates in a direction that bisects the angle formed by the side. At this time, the contour lines may collide or overlap as shown by a thick arrow in FIG. 7B. In this case, the method of Japanese Patent Laid-Open No. 2-59872 has the following problems. Occur.

【0006】即ち、この輪郭線の重複が発生した部分を
拡大したものを図11(A)〜(E)に示し、輪郭線で
囲まれた文字の内部を塗り潰す場合の反転塗り潰しの手
順を説明すると、まず、同図(A)に示すように、一番
左側の輪郭線よりも右側を黒く反転させ、次に、同図
(B)のように、その隣の輪郭線の右側を白く反転させ
て輪郭線で囲まれた部分だけを黒くする。ところが同様
の処理を行っていくと、同図(C),(D)のように、
輪郭線に囲まれた部分のうち、重複した部分を再度反転
してしまうため、同図(E)のように、輪郭線に囲まれ
ているにもかかわらず、白い中抜け部分が発生してしま
うことがあった。
That is, FIGS. 11 (A) to 11 (E) show enlarged views of a portion where the contour lines overlap each other, and the reverse filling procedure for filling the inside of the character surrounded by the contour lines is shown. To explain, first, as shown in FIG. 7A, the right side of the leftmost contour line is inverted to black, and then the right side of the adjacent contour line is made white as shown in FIG. Invert to blacken only the area enclosed by the outline. However, when the same processing is performed, as shown in (C) and (D) of FIG.
Since the overlapped portion of the portion surrounded by the contour line is inverted again, a white hollow portion occurs even though it is surrounded by the contour line as shown in FIG. There was something that happened.

【0007】特開平4-684 号の「図形塗り潰し方法」
は、ピクセル(画素)を、輪郭フラグと方向ビットとの
組み合わせビットで表現し、輪郭描画時と塗り潰し時と
でこのピクセルを参照しながら書き換えを行なうことに
より、拡大縮小に起因する重複問題を解決しようとする
ものである(なお、この方法では輪郭描画と塗り潰しは
個別に行なっている)。特に、図12に示されたような
文字縮小に伴う、平行する輪郭の縮退による字画の消失
に対しても対応することができるものである。
Japanese Patent Laid-Open No. 4-684 “Graphic Filling Method”
Solves the duplication problem caused by scaling by expressing a pixel (pixel) by a combination bit of a contour flag and a direction bit, and rewriting while referring to this pixel at the time of contour drawing and at the time of filling. This is what we are trying to do (note that this method does contouring and filling separately). In particular, it is possible to deal with the disappearance of the stroke due to the degeneracy of the parallel contours accompanying the character reduction as shown in FIG.

【0008】ところが、この方法で輪郭描画を行う場
合、輪郭描画開始後、ピクセルの方向情報の更新規則か
ら漏れるケースが必ず発生する。例えば、この更新規則
は前と次のピクセルのデータによって現在のピクセルに
対する方向値が定まるため、輪郭の始点直後の処理は定
まらないことになる(図13(A))。また、輪郭の始
点直後からY座標値に変化のない点が続いた場合、不定
点が連続して発生するようなことが起こりうる(同図
(B))。したがって、特開平4-684 号に開示されてい
る手順のほかに、輪郭描画一周後に、不定点を探して改
めて決定し直す処理が必要であった。
However, when the contour drawing is performed by this method, there is always a case where the rule for updating the direction information of the pixel is omitted after the start of the contour drawing. For example, in this update rule, since the direction value for the current pixel is determined by the data of the previous and next pixels, the processing immediately after the start point of the contour is not determined (FIG. 13 (A)). Further, if a point where the Y coordinate value does not change continues immediately after the start point of the contour, indefinite points may continuously occur ((B) in the same figure). Therefore, in addition to the procedure disclosed in Japanese Patent Laid-Open No. 4-684, it is necessary to search for an indefinite point and determine it again after one round of contour drawing.

【0009】さらに、最も重要な方向情報の作成から塗
り潰しに至る処理については、この提案には明確に記載
されていないが、この場合、図14(A)に示すような
内部に塗り潰しを行わない部分を有する図形に対して同
図(B)に示すようなベクトルデータが存在するとき、
更新規則による方向決定と不定点の再決定を行なって輪
郭描画を行なうと図16に示すようになる。なお、黒丸
は輪郭ビットがセットされた点であり、数値の書き込ま
れていない点は、値が初期状態(=0)の点である。
Further, although the process from the creation of the most important direction information to the filling is not clearly described in this proposal, in this case, the filling as shown in FIG. 14 (A) is not performed inside. When vector data such as that shown in FIG.
FIG. 16 shows the outline drawing when the direction is determined and the indefinite point is determined again by the update rule. The black circles are points where the contour bits are set, and the points where no numerical value is written are points where the values are in the initial state (= 0).

【0010】そして、水平方向にピクセル毎の値を加算
して行くと、図17に示すような結果が得られる。これ
に対して、ゼロ非ゼロ偶数奇数の条件判断を行
ない、輪郭情報と論理和をとるなどの処理をすることに
より、図15(A)に示す図形に対して、それぞれ図1
5(B)〜(E)に示すような結果が得られる。このと
き、図14(A)に示すように、内部に塗り潰しを行わ
ない部分を有する図形の塗り潰しを正確に行うために
は、図15(E)で示された結果が得られる奇数の条
件を採用することになる。
When the values for each pixel are added in the horizontal direction, the result shown in FIG. 17 is obtained. On the other hand, by performing a condition judgment of zero non-zero even odd number and performing a logical sum with the contour information, the figure shown in FIG.
The results as shown in 5 (B) to (E) are obtained. At this time, as shown in FIG. 14 (A), in order to accurately fill a figure having a portion which is not filled inside, an odd condition that can obtain the result shown in FIG. 15 (E) is set. Will be adopted.

【0011】ここで、太さ変形の例で説明したような輪
郭線の重複が発生起した際の問題点について説明する。
図18(A)に示すような図形に対して同図(B)に示
すようなベクトルデータがあったとすると(太さ変更に
起因する状況を模式的に示した図である)、先の例と同
様に更新規則による方向決定と不定点の再決定を行なっ
て輪郭描画を行なうと図19に示すようになる。
Here, a problem when the contour lines overlap as described in the thickness modification example will be described.
If there is vector data as shown in FIG. 18B for a figure as shown in FIG. 18A (a diagram schematically showing a situation caused by a change in thickness), the previous example Similarly, when the direction is determined by the update rule and the indefinite point is re-determined and the contour is drawn, the result is as shown in FIG.

【0012】そして、水平方向にピクセルごとに値を加
算して行くと、図20に示すような結果が得られる。こ
こで上と同じように採用する条件を奇数であることに
すると、重複部分の値が−2となって奇数とならないの
で、重複部分で抜けが生じてしまう。他方、非ゼロを
条件として採用すると、本来塗り潰す必要のない内ルー
プの内側まで塗り潰されることになり、本質的な問題が
生じてしまう。さらに、指摘した不定点処理の問題も含
め、この提案は、特殊ルールに基づく判断処理が多く、
また、特殊な処理への分岐も多いため、この提案の実施
例で示されたような構成の装置を用いてソフトウエア処
理を行った場合、非常に処理時間のかかるものとなって
しまう。
Then, when values are added pixel by pixel in the horizontal direction, the result shown in FIG. 20 is obtained. Here, if the condition to be adopted is the odd number as in the above case, the value of the overlapping portion becomes -2, which is not an odd number, so that the omission occurs at the overlapping portion. On the other hand, if non-zero is used as the condition, the inside of the inner loop, which originally does not need to be filled, is filled, which causes an essential problem. Furthermore, including the problem of indefinite point processing that I pointed out, this proposal has a lot of judgment processing based on special rules,
Also, since there are many branches to special processing, it takes a very long processing time when software processing is performed by using the apparatus having the configuration shown in the embodiment of this proposal.

【0013】そして、特開平3-233689号の「アウトライ
ンデータ描画装置」は、上記した特開平2-59872 号と類
似した特殊ルールに基づいた輪郭描画と塗り潰しを個別
に行なう方法であり、上記提案で問題となった、輪郭線
の重複部分の中抜け問題に対する対策について詳細に説
明されているが、その使用されるルールが状態遷移を導
入したより複雑なものになっている。このため、ハード
ウエア高速化を目的の一つにしているものの状態遷移処
理等、現在使用されているMPU(microprocessing un
it)によってソフトウエア処理を行うには、さらに時間
のかかる方法となっていた。
The "outline data drawing device" of JP-A-3-233689 is a method for individually performing contour drawing and filling based on a special rule similar to that of JP-A-2-59872 described above. A detailed explanation is given on the countermeasure for the blanking problem of the overlapping portion of the contour line, which is a problem, but the rule used is more complicated than the one that introduces the state transition. Therefore, although one of the objectives is to speed up hardware, MPU (microprocessing un
It) took a much longer time to process software.

【0014】[0014]

【発明が解決しようとする課題】輪郭描画と塗り潰しを
別々に行なう方法では、輪郭を単なるドットの集合とし
てではなく、輪郭の個々の部分の持つ性質を何らかの形
で記憶することによって尖鋭端に対処する必要があっ
た。一方、特開平2-59872 号のような方法では、尖鋭端
問題は回避できるが、重複問題を避けることができなか
った。
In the method of performing contour drawing and filling separately, a sharp edge is dealt with by not storing the contour as a simple set of dots but by storing the property of each part of the contour in some form. Had to do. On the other hand, with the method disclosed in Japanese Patent Laid-Open No. 2-59872, the sharp tip problem can be avoided, but the duplication problem cannot be avoided.

【0015】さらに、従来の方法では、尖鋭端問題と重
複問題の両方を回避しようとすると、ソフトウエアの処
理に時間が掛かり、あまり実用的ではなかった。そこで
本発明は、上記した尖鋭端および輪郭重複に起因する問
題を簡単な方法で解決し、MPUによるソフトウエア処
理を行う場合に高速処理が可能な図形処理装置及びその
方法を提供することを目的とする。
Further, in the conventional method, if it is attempted to avoid both the sharp edge problem and the duplication problem, it takes a long time to process the software, which is not very practical. SUMMARY OF THE INVENTION It is therefore an object of the present invention to solve the above-mentioned problems caused by sharp edges and contour overlap by a simple method, and to provide a graphic processing apparatus and method capable of high-speed processing when performing software processing by an MPU. And

【0016】[0016]

【課題を解決するための手段】上記目的を達成するため
の手段として、少なくとも図形の種類や大きさを指示す
る指示手段と、ループ内が図形となる外輪郭を示す外ル
ープデータの方向とループ外が図形となる内輪郭を示す
内ループデータの方向とが逆方向となるように設定され
たアウトラインデータを記憶するアウトラインデータ記
憶手段と、前記指示手段によって指示された図形の前記
アウトラインデータが前記アウトラインデータ記憶手段
から供給され、前記アウトラインデータの示す輪郭線を
1つのラインごとに1つの輪郭点を決定してラスタ化す
る輪郭ラスタ化手段と、この輪郭ラスタ化手段によって
決定される前記輪郭線がライン処理方向と垂直方向に対
して増加する方向か減少する方向かによって前記輪郭線
で区切られる予め定められた一方向側の各ピクセルの値
を1ラインごとにインクリメントまたはディクリメント
する塗り潰し手段と、この塗り潰し手段によって塗り潰
される図形を記憶する塗り潰しバッファとを備えたこと
を特徴とする図形処理装置、及び、図形の輪郭を示すア
ウトラインデータをビットマップデータに変換する際に
この図形の内部または外部を塗り潰す図形処理方法であ
って、ループ内が図形となる外輪郭を示す外ループデー
タの方向とループ外が図形となる内輪郭を示す内ループ
データの方向とが逆方向となるように設定された前記ア
ウトラインデータの示す輪郭線を1つのラインごとに1
つの輪郭点を決定してラスタ化し、前記輪郭線がライン
処理方向と垂直方向に対して増加する方向か減少する方
向かによって前記輪郭線で区切られる予め定められた一
方向側の各ピクセルの値を1ラインごとにインクリメン
トまたはディクリメントするようにしたことを特徴とす
る図形処理方法を提供しようとするものである。
As means for achieving the above-mentioned object, an instruction means for instructing at least the type and size of a figure, a direction of outer loop data indicating an outer contour in which a loop is a figure, and a loop Outline data storage means for storing the outline data set so that the direction of the inner loop data showing the inner contour of which the outside is a figure is opposite, and the outline data of the figure indicated by the instructing means is the above-mentioned. Contour rasterizing means which is supplied from the outline data storing means and rasterizes the contour line indicated by the outline data by determining one contour point for each line and the contour line determined by the contour rasterizing means. Is divided by the contour line in advance depending on whether the line processing direction is an increasing direction or a decreasing direction with respect to the vertical direction. A graphics processing device comprising: a filling means for incrementing or decrementing the value of each pixel on the one direction side set for each line; and a filling buffer for storing a graphic filled by the filling means, And, a method of processing a figure that fills the inside or outside of this figure when converting outline data showing the contour of the figure into bitmap data, and the direction of the outer loop data showing the outer contour where the inside of the loop becomes the figure. The contour line indicated by the outline data, which is set so that the direction of the inner loop data indicating the inner contour outside the loop is a direction, is set to 1 for each line.
The value of each pixel on one side in a predetermined direction divided by the contour line depending on whether the contour line is determined and rasterized and the contour line increases or decreases with respect to the line processing direction and the vertical direction. Is to be incremented or decremented line by line.

【0017】[0017]

【作用】輪郭描画と塗り潰しを並行して行なうことによ
り、特別に輪郭の性質を記憶することなく、尖鋭端問題
に対処する。また、アウトラインデータに記憶されてい
る外ループデータと内ループデータとをループの向きで
明確に区別し、輪郭点ごとに1ラインの加減算処理を行
なって、各ピクセルの値の正負から塗りつぶされたか否
かを判断することにより、重複部分の中抜けを防止する
ことができる。さらに、MPUの処理しやすいワード長
に複数ピクセルをまとめた状態で、特殊な判断を用いず
に簡単なアルゴリズムを使用して処理することにより、
処理速度を向上させることができる。
By performing contour drawing and filling in parallel, the sharp edge problem can be dealt with without memorizing the nature of the contour. In addition, whether the outer loop data and the inner loop data stored in the outline data are clearly distinguished by the direction of the loop, and one line is added / subtracted for each contour point to see if the value of each pixel is filled By determining whether or not it is possible to prevent the omission of the overlapping portion. Furthermore, by processing multiple pixels in a word length that is easy for the MPU to process, by using a simple algorithm without special judgment,
The processing speed can be improved.

【0018】[0018]

【実施例】本発明の図形処理装置及びその方法の一実施
例を図面と共に説明する。図1は、本発明の図形処理装
置の一実施例を示す構成図である。同図において、指示
手段1は、処理を行う図形の種類(どの図形を処理する
か)、拡大縮小等の大きさ及び太さや形状等の修飾を指
示するものである。そして、この指示手段1よって指示
された図形のアウトラインデータが、アウトラインデー
タメモリ(アウトラインデータ記憶手段)2から輪郭ラ
スタ化手段3に供給される。アウトラインデータメモリ
2に記憶されている各図形のアウトラインデータは、ル
ープ内を図形として判断する外輪郭を示す外ループデー
タの方向とループ外を図形として判断する内輪郭を示す
内ループデータの方向とが逆方向となるようにして頂点
のデータと線の種類のデータがそれぞれ配列されたもの
である。そして、輪郭ラスタ化手段3によってこのアウ
トラインデータをラスタ化することによって輪郭を作成
する。このラスタ化は、後述するように、各頂点を結ぶ
輪郭線を形成する輪郭点を(塗り潰しバッファ5の)1
つのラインごとに1つづつ決定するようにして行い、塗
り潰し手段4を介して塗り潰しバッファ5に描画する。
さらに、塗り潰し手段4により、後述する加減算塗り潰
しを行って、塗り潰しバッファ5に描画されている図形
の各ピクセル(画素)の値をインクリメントまたはディ
クリメントし、一定値以下または以上となったピクセル
を塗り潰されたピクセルとすることにより、図形の塗り
潰しを行う。最後に、塗り潰しバッファ5に記憶された
図形を表示手段6に表示することにより、指示手段1に
て指示された図形を表示することができる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the graphic processing apparatus and method of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the graphic processing apparatus of the present invention. In the figure, the instruction means 1 is for instructing the type of graphic to be processed (which graphic is to be processed), the size such as enlargement and reduction, and the modification of the thickness and shape. Then, the outline data of the figure instructed by the instructing means 1 is supplied from the outline data memory (outline data storing means) 2 to the contour rasterizing means 3. The outline data of each figure stored in the outline data memory 2 includes the direction of the outer loop data indicating the outer contour for judging the inside of the loop as the figure and the direction of the inner loop data indicating the inner contour for judging the outside of the loop as the figure. The data of the vertices and the data of the type of the line are arranged in the opposite direction. Then, the contour rasterizing means 3 rasterizes the outline data to create a contour. In this rasterization, as will be described later, the contour points forming the contour line connecting the vertices are set to 1 (in the filling buffer 5).
One for each line is determined, and drawing is performed in the filling buffer 5 via the filling means 4.
Further, the filling means 4 performs addition and subtraction filling described later, increments or decrements the value of each pixel (pixel) of the figure drawn in the filling buffer 5, and fills the pixels that are below or above a certain value. The figure is filled with the selected pixels. Finally, by displaying the figure stored in the filling buffer 5 on the display means 6, the figure instructed by the instructing means 1 can be displayed.

【0019】また、図2に本発明の図形処理装置の具体
例を示す。図1に示した構成図と対比しながら説明する
と、キーボード1aは、処理を行う図形の種類、大きさ
及び修飾を指示する指示手段1に相当するものであり、
MPU(microprocessing unit)7は、プログラムRO
M8に記憶されているプログラムに従って、アウトライ
ンデータROM2aから供給されるアウトラインデータ
に対して演算を行い、VRAM等の塗り潰しバッファR
AM5aに出力して図形の描画と塗り潰しを行う回路で
ある。なお、アウトラインデータROM2aは図1のア
ウトラインデータメモリ2に相当し、MPU7とプログ
ラムROM8とが輪郭ラスタ化手段3と塗り潰し手段4
とに相当する。そして、塗り潰しバッファRAM5aは
塗り潰しバッファ5に相当している。塗り潰しバッファ
RAM5aに記憶された図形は、DA変換器9によりア
ナログビデオ信号に変換されて、CRT等の表示手段6
に出力される。
FIG. 2 shows a concrete example of the graphic processing apparatus of the present invention. Explaining in comparison with the configuration diagram shown in FIG. 1, the keyboard 1a corresponds to the instruction means 1 for instructing the type, size, and decoration of a graphic to be processed.
MPU (microprocessing unit) 7 is a program RO
According to the program stored in M8, the outline data supplied from the outline data ROM 2a is operated, and the filling buffer R such as VRAM is filled.
This is a circuit for outputting to the AM 5a to draw and fill a figure. The outline data ROM 2a corresponds to the outline data memory 2 of FIG. 1, and the MPU 7 and the program ROM 8 include the contour rasterizing means 3 and the filling means 4.
Is equivalent to. The fill buffer RAM 5a corresponds to the fill buffer 5. The figure stored in the fill buffer RAM 5a is converted into an analog video signal by the DA converter 9, and the display means 6 such as a CRT is displayed.
Is output to.

【0020】次に、本発明の主要部分である図形の輪郭
のラスタ化及び塗り潰しの方法について具体的に説明す
る。なお、図3以降の図面は、塗り潰しバッファ5内に
生成される2次元イメージ平面をXY座標で表し、X座
標の増加方向を塗り潰し処理の進む方向とし、Y座標の
増加方向が文字または図形の上方向、X座標の増加方向
が文字または図形の右方向として表したものである。ま
た、アウトラインデータメモリ2に記憶され、塗り潰し
の対象となる文字の輪郭を示すアウトラインデータは、
直線や近似曲線等で表現された一般的なアウトラインデ
ータで良いが、そのデータの配列方向は、外ループと内
ループとで逆向きに表現して、これらを明確に区別する
必要がある。なお、一般にアウトラインデータは、展開
処理系と対応づけられているので、このようなデータと
しても問題は生じない。
Next, the method of rasterizing and filling the outline of the figure, which is the main part of the present invention, will be specifically described. In the drawings from FIG. 3 onward, the two-dimensional image plane generated in the fill buffer 5 is represented by XY coordinates, the increasing direction of the X coordinate is the direction in which the filling process proceeds, and the increasing direction of the Y coordinate is a character or figure. The upward direction and the increasing direction of the X coordinate are expressed as the right direction of the character or figure. Further, the outline data stored in the outline data memory 2 and showing the outline of the character to be filled is
Although general outline data expressed by a straight line or an approximate curve may be used, the arrangement direction of the data needs to be expressed in the outer loop and the inner loop in opposite directions to clearly distinguish them. Since the outline data is generally associated with the expansion processing system, there is no problem even with such data.

【0021】(1)まず、輪郭の作成について説明す
る。アウトラインデータから輪郭を作成するためには、
一般にDDA(Digital Differential Analyzer )アル
ゴリズムと呼ばれているアルゴリズムを使用する。この
DDAアルゴリズムについては、各種国内の公知文献に
記載されており、例えば、「実践コンピュータグラフィ
ックス--基礎手続きと応用--」山口富士夫監修に詳しく
紹介されている。DDAアルゴリズムは、直線をラスタ
化するために、その直線を示す微分方程式の解を漸化式
の形で表現し、XまたはYの値を1ピクセルづつ増加さ
せながら、輪郭点を決定するものである。そして、DD
Aアルゴリズムのなかでも整数型Bresenham アルゴリズ
ムは、少数値を使用せず、しかも除算を行わないため一
般的なデジタル処理系で扱うのに都合が良い。また、誤
差の少ない直線イメージのプロットが行なえるため、広
く用いられている。
(1) First, the creation of the contour will be described. To create a contour from outline data,
An algorithm generally called a DDA (Digital Differential Analyzer) algorithm is used. The DDA algorithm is described in various domestic publicly known documents and, for example, is introduced in detail in "Practical computer graphics--basic procedures and applications--" supervised by Fujio Yamaguchi. In order to rasterize a straight line, the DDA algorithm expresses the solution of the differential equation indicating the straight line in the form of a recurrence formula, and determines the contour point while increasing the value of X or Y by 1 pixel. is there. And DD
Among the A algorithms, the integer Bresenham algorithm is convenient for use in a general digital processing system because it does not use a decimal value and does not perform division. It is also widely used because it can plot a linear image with few errors.

【0022】このBresenham 一般化アルゴリズムは、C
RT等に描画された直線の輝度が、直線の向きによらず
視覚的に一定となるように考慮し、一般化されたもので
ある。そして、直線の向きをXY平面上の八分円で考
え、第2と第3、第4と第5、第6と第7、第8と第1
のそれぞれの八分円の組について、アルゴリズムの変
数としてXを選択するのか、Yを選択するのか、それ
ぞれ選択した変数をインクリメントするのか、デク
リメントするのか、の4種類を対応づけるものである。
This Bresenham generalized algorithm is C
It is generalized in consideration that the brightness of a straight line drawn on RT or the like is visually constant regardless of the direction of the straight line. Then, the direction of the straight line is considered as an octant on the XY plane, and the second and third, fourth and fifth, sixth and seventh, eighth and first
With respect to each set of octants, the four types are associated with each other: whether X is selected as a variable of the algorithm, Y is selected, whether each selected variable is incremented, or decremented.

【0023】本実施例では、Bresenham アルゴリズムを
使用するが、その目的は、描画された直線の輝度が、直
線の向きによらず視覚的に一定となるようにすることで
はなく、塗り潰し処理の開始点を決定することである。
そして、4種類全ての処理を考えると、1回に決まる塗
り潰し開始点の数が、塗り潰し処理方向から見て一つに
定まらず、不都合が生じるので、本実施例では、直線ベ
クトルの方向にかかわらず、Yのみを変数としてインク
リメントのみ行なう( 整数型Bresenham アルゴリズムの
第2と第3八分円の組に対応する処理内容) ことによ
り、開始点を定めている。
In this embodiment, the Bresenham algorithm is used, but the purpose thereof is not to make the brightness of the drawn straight line visually constant regardless of the direction of the straight line, but to start the filling process. The point is to decide.
Considering all four types of processing, the number of filling start points determined once is not fixed to one when viewed from the filling processing direction, which causes inconvenience. Therefore, in this embodiment, regardless of the direction of the straight line vector. Instead, only Y is used as a variable, and only the increment is performed (the processing content corresponding to the pair of the second and third octants of the integer type Bresenham algorithm), thereby defining the starting point.

【0024】ここで、DDAアルゴリズムと塗り潰しと
の関連について説明する。図3(A)は整数型Bresenha
m 一般化アルゴリズムの第1八分円に対応する処理結果
の例であり、同図(B)は第2八分円に対する処理結果
の例である。そして、同図(A)ではX正方向に1つづ
つ増加させながら輪郭点を決定し、同図(B)では、Y
正方向に1つづつ増加させながら輪郭点を決定したもの
となっている。このようにして決定した輪郭点を塗り潰
し処理の開始点としてX正方向に塗り潰し処理を行なう
場合、同図(A)では、単一の輪郭線を形成する一つの
Y座標値(同一ライン)に対して、複数の輪郭点が存在
するので、塗り潰し開始点が複数存在することになっ
て、不都合が生じる。この結果、処理が重複するだけで
なく、反転や加減算の結果に誤りを生じる虞れがある。
Here, the relation between the DDA algorithm and the filling will be described. Figure 3 (A) is an integer type Bresenha
m This is an example of the processing result corresponding to the first octant of the generalized algorithm, and FIG. 6B is an example of the processing result for the second octant. Then, in the same figure (A), the contour point is determined while incrementing by 1 in the positive X direction, and in the same figure (B), the contour point is determined.
The contour points are determined by incrementing them one by one in the positive direction. When the filling process is performed in the positive X direction with the contour point thus determined as the starting point of the filling process, in FIG. 9A, one Y coordinate value (same line) forming a single contour line is set. On the other hand, since there are a plurality of contour points, there are a plurality of filling start points, which causes inconvenience. As a result, not only the processes are duplicated, but also errors may occur in the results of inversion and addition / subtraction.

【0025】これに対して、同図(B)では、単一の輪
郭線を形成する一つのY座標値に対しては、一つの輪郭
点しか存在しないので、塗り潰し開始点も一つに決定さ
れ、不都合は生じない。そこで、本実施例では、アウト
ラインデータがどの分円に当てはまるかの判断は行なわ
ず、第2と第3八分円の組に対応させて、変数がY座標
のみとなるように、DDAアルゴリズムを変形して使用
する。なお、このように対応させると輝度は一定となる
とは限らないが、処理の結果得られる輪郭点は、塗り潰
しの開始点として用いるためのものなので、輪郭の輝度
等の変化は問題とならない。
On the other hand, in FIG. 7B, since there is only one contour point for one Y coordinate value forming a single contour line, the filling start point is also determined as one. Therefore, no inconvenience occurs. Therefore, in the present embodiment, a determination is made as to which quadrant the outline data fits in, and the DDA algorithm is used so that the variable is only the Y coordinate in correspondence with the set of the second and third octants. Use by transforming. It should be noted that the correspondence does not always make the brightness constant, but since the contour point obtained as a result of the processing is used as a starting point for filling, a change in the brightness of the contour or the like does not pose a problem.

【0026】(2)次に、塗り潰しについて尖鋭端問題
を中心に説明する。本実施例の塗り潰し方法は、変形D
DAアルゴリズムを使用して1つのラインごとに1つの
輪郭点を決定してラスタ化することにより輪郭線を描画
し、この輪郭線がライン処理方向と垂直方向に対して増
加する方向であるときに輪郭線によって区切られた右側
の各ピクセルの値を1ラインごとにインクリメント(増
加)し、減少する方向であるときにデクリメント(減
少)して、その値が1以上となったピクセルを塗り潰す
ピクセルとしたものである。
(2) Next, the filling will be described focusing on the pointed tip problem. The filling method according to the present embodiment is the modification D.
A contour line is drawn by determining and rasterizing one contour point for each line using the DA algorithm, and when this contour line is in a direction increasing with respect to the line processing direction and the vertical direction, A pixel that increments (increases) the value of each pixel on the right side separated by the contour line for each line, and decrements (decreases) when it is in the decreasing direction, and fills the pixels whose value is 1 or more. It is what

【0027】具体的には、まず、各ピクセルを数ビット
の整数値で表現し、初期値を0とする。次に、変形DD
Aアルゴリズムにおいて、塗り潰し開始点が一つ決まる
ごとに、X座標値の増加方向に各ピクセル値の加減算を
行なう。そして、変形DDAアルゴリズム処理を行なう
際、もし、直線の始点のY座標値が終点のY座標値より
小さければ、始点から終点に向かって塗り潰し開始点を
決定して行く。そのとき、各ピクセルに対する操作はイ
ンクリメント(増加)である。もし、直線の始点のY座
標値が終点のY座標値より大きければ、終点から始点に
向って塗り潰し開始点を決定して行く。そのときの各ピ
クセルに対する操作は逆にデクリメント(減少)であ
る。
Specifically, first, each pixel is represented by an integer value of several bits, and the initial value is set to 0. Next, the modified DD
In the A algorithm, each time the filling start point is determined, addition or subtraction of each pixel value is performed in the increasing direction of the X coordinate value. Then, when performing the modified DDA algorithm process, if the Y coordinate value of the starting point of the straight line is smaller than the Y coordinate value of the ending point, the filling starting point is determined from the starting point to the ending point. At that time, the operation for each pixel is an increment. If the Y coordinate value of the start point of the straight line is larger than the Y coordinate value of the end point, the filling start point is determined from the end point toward the start point. On the contrary, the operation for each pixel is decrement.

【0028】次に、この方法で、尖鋭端を含む図形の塗
り潰しを行なう場合について説明する。3点A(0,
0)、B(4,8)、C(7,0)からなる三角形を考
える。この三角形は外ループなので時計周りに定義され
る。まず、図4に示すように線分ABに対応する輪郭点
のプロットおよび塗り潰し処理を行なう。輪郭点は図中
矢印の方向に、黒丸で示す各点に定まり、一つの輪郭点
が決まるごとにその輪郭点とその輪郭点の右側すべての
点( 白丸の点) の値に加減算処理を行なう。この場合、
線分がY座標増加方向なので、加算処理を行ない、右側
各点の値は+1となる。
Next, description will be given of a case where a figure including a sharp edge is filled by this method. 3 points A (0,
Consider a triangle consisting of 0), B (4,8) and C (7,0). Since this triangle is an outer loop, it is defined clockwise. First, as shown in FIG. 4, the contour points corresponding to the line segment AB are plotted and filled. Contour points are set at each point indicated by a black circle in the direction of the arrow in the figure. Every time one contour point is determined, addition and subtraction processing is performed on the value of that contour point and all the points to the right of that contour point (white circles). . in this case,
Since the line segment is in the Y coordinate increasing direction, addition processing is performed, and the value of each point on the right side becomes +1.

【0029】次に、図5に示すように、線分BCに対応
する輪郭点決定および塗り潰し処理を行なう。輪郭線は
点Bから点Cの向きに定義されているが、逆転して矢印
の方向(点Cから点Bへの方向)に描画する。輪郭点は
黒三角の各点に決まり、一つの輪郭点が決まるごとにそ
の輪郭点とその輪郭点の右側のすべての点( 白三角の
点) の値に加減算処理を行なう。この場合、線分をY座
標増加方向に逆転したので、減算処理を行なう。その結
果、各点の値は、図6に示す黒丸の点のみが+1、その
他の点は0となる。また、点Cと点AのY座標値は等し
いので、線分CAに対しては処理を行う必要はない。
Next, as shown in FIG. 5, contour point determination and filling processing corresponding to the line segment BC are performed. Although the contour line is defined in the direction from the point B to the point C, it is reversed and drawn in the direction of the arrow (direction from the point C to the point B). The contour point is determined by each point of the black triangle, and every time one contour point is determined, the value of the contour point and all the points (white triangle points) on the right side of the contour point are added and subtracted. In this case, since the line segment is reversed in the Y coordinate increasing direction, the subtraction process is performed. As a result, the value of each point becomes +1 only at the black circle points shown in FIG. 6, and becomes 0 at the other points. Further, since the Y coordinate values of the point C and the point A are equal, it is not necessary to process the line segment CA.

【0030】このようにして塗り潰しを行うと、尖鋭端
を含む図形を塗り潰したときに尖鋭端が右側に尾を引く
ように塗り潰しが行われるなどの不都合が生じず、正確
な塗り潰しを行うことができる。なお、ここでは、一線
分に対するDDAアルゴリズムのループ条件を、Y変数
<終点のY座標値として例を示したが、条件をY変数≦
終点のY座標値としても結果は同じになる。
By performing the filling in this way, there is no inconvenience such as when the figure including the sharp edge is filled so that the sharp edge has a tail on the right side, the accurate filling can be performed. it can. Here, the loop condition of the DDA algorithm for one line segment is illustrated as Y variable <Y coordinate value of the end point, but the condition is Y variable ≦
The result is the same even if the Y coordinate value of the end point is used.

【0031】(3)さらに、塗り潰しについて重複問題
を中心に説明する。従来例にて使用した図10(A)に
示すアウトラインベクトルで定義されている片仮名
「ム」を同図(B)に示すように太くした場合に生じる
図形の重複の処理について説明する。なお、同図(B)
中、太い矢印で示した輪郭線の重複が発生した部分を拡
大したものを図7(A)〜(E)に示して説明する。こ
こでは、(2)で使用したのと同様、変形DDAアルゴ
リズムと加減算塗り潰しとを組み合わせた方法を使う。
(3) Further, the filling problem will be described focusing on the duplication problem. A description will be given of a process of overlapping graphics that occurs when the katakana “mu” defined by the outline vector shown in FIG. 10A used in the conventional example is thickened as shown in FIG. In addition, the same figure (B)
In FIG. 7A to FIG. 7E, description will be given by enlarging a portion in which the outline of the outline indicated by a thick arrow has occurred. Here, as in the case of (2), a method combining the modified DDA algorithm and addition / subtraction filling is used.

【0032】まず、図7(A)に示す線分Aについて処
理を行なうと、線分AはY座標値増加方向なので、この
線分Aの左側は初期値0のままで、線分Aの右側は+1
となる。次に、同図(B)に示すように、線分Bについ
て処理を行なうと、線分BはY座標値減少方向なので、
線分Aと線分Bの間は+1のままで、線分Bの右側は差
し引き0となる。
First, when the line segment A shown in FIG. 7A is processed, since the line segment A is in the Y coordinate value increasing direction, the left side of this line segment A remains the initial value 0 and the line segment A +1 on the right
Becomes Next, as shown in FIG. 6B, when the line segment B is processed, the line segment B is in the direction of decreasing the Y coordinate value.
Between the line segment A and the line segment B remains +1 and the right side of the line segment B is deducted 0.

【0033】さらに、同図(C)に示すように、線分C
について処理を行なうと、線分CはY座標値増加方向な
ので、線分Cの右側のピクセルをすべて+1にする。そ
の結果、線分Cの右側のうち線分Aと線分Bとで挾まれ
た部分(線分Cと線分Bとの間の部分)では+2とな
り、それ以外の部分(線分B及び線分Cよりも右側の部
分)では+1となる。また、線分Cの左側のうち線分A
と線分Bとで挾まれた部分(線分C及び線分Bよりも左
側の部分)は+1のままであり、それ以外の部分(線分
Bと線分Cとの間の部分)は0のままである。
Further, as shown in FIG.
Is performed, the line segment C is in the Y coordinate value increasing direction, so all the pixels on the right side of the line segment C are set to +1. As a result, on the right side of the line segment C, the part between the line segment A and the line segment B (the part between the line segment C and the line segment B) becomes +2, and the other part (the line segment B and the line segment B It becomes +1 in the part on the right side of the line segment C). Also, line segment A on the left side of line segment C
The part sandwiched by the line segment B and the line segment B (the part on the left side of the line segment C and the line segment B) remains +1 and the other part (the part between the line segment B and the line segment C) remains. It remains 0.

【0034】そして、同図(D)に示すように、線分D
について処理を行なうと、線分Cと同様に、Y座標値増
加方向であることから線分Dの右側のピクセルをすべて
+1にし、図のように線分Dの右側ののうち線分Aと線
分Bとで挾まれた部分を+2にして、それ以外の部分を
+1にする。最後に、同図(E)に示すように、線分E
について処理を行なうと、線分EはY座標値減少方向な
ので、線分Eの右側のピクセルをすべて−1にして、そ
の値は差し引き0となる。そして、このように処理して
得られた値が正(1以上)であるピクセルを塗り潰すピ
クセルとすることにより、輪郭が重複した部分でも正し
い塗り潰し結果を得ることができる。
Then, as shown in FIG.
As for the line segment C, all pixels on the right side of the line segment D are set to +1 because they are in the Y coordinate value increasing direction. The part sandwiched by the line segment B is set to +2, and the other parts are set to +1. Finally, as shown in FIG.
When the process is performed on the line segment E, since the line segment E is in the direction of decreasing the Y coordinate value, all the pixels on the right side of the line segment E are set to -1, and the value is deducted. Then, by setting the pixel having a positive value (1 or more) obtained by such processing as the pixel to be filled, the correct filling result can be obtained even in the portion where the contours overlap.

【0035】したがって、変形DDAアルゴリズムと加
減算塗り潰しとを組み合わせた方法を使うことにより、
尖鋭端問題と重複問題の両方を解決することができる。
また、上記実施例では、ループ内が図形となる外輪郭を
示す外ループデータについて説明したが、ループ外が図
形となる内輪郭を示す内ループデータの場合でも、その
データの配列方向を外ループデータと逆方向となるよう
にアウトラインデータを保持しておくことにより、全く
同様の処理で正しい塗り潰しを行うことができる。
Therefore, by using the method combining the modified DDA algorithm and the addition / subtraction filling,
It can solve both the sharp point problem and the overlap problem.
Further, in the above-described embodiment, the outer loop data indicating the outer contour in which the inside of the loop is a figure has been described. By holding the outline data so that it is in the opposite direction to the data, correct filling can be performed by exactly the same processing.

【0036】(4)最後に、塗り潰しを高速化処理する
方法について説明する。ここでは、特にMPUを使用し
たソフトウエア処理において高速化する方法について説
明する。上記で説明した本発明の塗り潰し方法では、各
ピクセルに加減算処理を行うために、複数ビットで1ピ
クセルを表現する必要がある。実際に何ビット必要にな
るかは文字図形の複雑さによるが、通常日本語アウトラ
インフォントに使用する場合は、4ビット程度で十分で
ある。一方、一般的にMPUが扱うデータの処理単位は
2のべき乗であり、比較的大量のデータ処理を行なう場
合には、16ビットまたは32ビットのデータバス幅を
持つMPUが通常使用される。
(4) Finally, a method of speeding up the filling will be described. Here, a method for speeding up the software processing especially using the MPU will be described. In the filling method of the present invention described above, it is necessary to represent one pixel with a plurality of bits in order to perform addition / subtraction processing on each pixel. How many bits are actually required depends on the complexity of the character graphic, but when used for Japanese outline fonts, about 4 bits is usually sufficient. On the other hand, the processing unit of data generally handled by the MPU is a power of 2, and when a relatively large amount of data is processed, the MPU having a data bus width of 16 bits or 32 bits is usually used.

【0037】ここで、複数ピクセルを組み合わせて効率
良く塗り潰し処理を行なう例として、16ビットアクセ
ス可能なバッファメモリを使って、4ビット/ピクセル
で表現されたデータの処理を考える。この場合、ピクセ
ル配置とメモリ配置は図18(A),(B)に示すよう
に対応づけることができる。なお、同図(A)はバッフ
ァメモリ上に文字のイメージを表現したときのピクセル
配置を示す図であり、同図(B)はMPUから見たバッ
ファメモリのアドレス配置図である。そして、1ワード
が16ビットのメモリに4ビットのピクセルを配置する
ので、1ワード内に4ピクセルが配置されることにな
る。
Here, as an example of efficiently performing the filling process by combining a plurality of pixels, consider the process of data represented by 4 bits / pixel using a 16-bit accessible buffer memory. In this case, the pixel arrangement and the memory arrangement can be associated with each other as shown in FIGS. Note that FIG. 9A is a diagram showing a pixel arrangement when a character image is expressed on the buffer memory, and FIG. 9B is an address arrangement diagram of the buffer memory as seen from the MPU. Since 4-bit pixels are arranged in a 16-bit memory for 1 word, 4 pixels are arranged in 1 word.

【0038】ここで、DDAアルゴリズム等で決定した
塗り潰し開始点(輪郭点)は、メモリ配置上では、ビッ
ト15−12、ビット11−8、ビット7−4、および
ビット3−0の4つの部分のいずれかに対応づけられた
データワードとなる。一方、塗り潰し開始点に対応づけ
られたデータワードよりピクセル配置上右側に対応する
データワードは、すべてのビット部分をインクリメント
またはデクリメント処理することになる。
Here, the filling start point (contour point) determined by the DDA algorithm or the like is four parts of bit 15-12, bit 11-8, bit 7-4, and bit 3-0 in the memory layout. Is a data word associated with either of the above. On the other hand, in the data word corresponding to the pixel arrangement upper right side of the data word associated with the filling start point, all bit parts are incremented or decremented.

【0039】したがって、図9に示すように、開始点の
塗り潰しは、上記4つの場合に分けられるが、ピクセル
配置上その右側に対応するデータワードは、全てビット
15−12に塗り潰し開始点が対応づけられた場合と同
等の処理を行なえばよいことになる。そして、上記の4
つの場合の対応づけの方法は、X軸方向1ライン分のピ
クセル数が、1データワードが表現するピクセル数
(4)の整数倍である(図9に示すような場合)と仮定
すれば、決定した塗り潰し開始点のX座標値を1データ
ワードが表現するピクセル数で割った際の余りに応じて
対応づけすることができる(図中、余りが0,1,2,
3のとき、それぞれa,b,c,d…an,bn,c
n,dnの各行に対応する)。
Therefore, as shown in FIG. 9, the filling of the starting point is divided into the above four cases, but all the data words corresponding to the right side of the pixel arrangement in the pixel arrangement correspond to the filling starting point in bits 15-12. It suffices to perform the same processing as the case of being attached. And the above 4
Assuming that the number of pixels for one line in the X-axis direction is an integer multiple of the number of pixels (4) represented by one data word (in the case as shown in FIG. 9) in the case of two cases, Corresponding can be made according to the remainder when the X coordinate value of the determined painting start point is divided by the number of pixels represented by one data word (in the figure, the remainder is 0, 1, 2,
3 is a, b, c, d ... An, bn, c, respectively.
(corresponding to each row of n and dn).

【0040】このように、4つの場合の対応づけを行っ
て、塗り潰し開始点及びその右側のピクセルをインクリ
メントまたはデクリメントしていき、最終的に1以上
(または0以下)となったピクセルを塗り潰されたとし
て処理すれば良い。
As described above, the four cases are associated with each other to increment or decrement the filling start point and the pixels on the right side of the filling start point, and the pixels which finally become 1 or more (or 0 or less) are filled. It should be treated as if

【0036】次に、ピクセルの持つ値の実際の表現方法
と実際の加減算方法について説明する。上記したよう
に、ピクセルの持つ値を通常の整数表現で処理しても良
いが、表現の方法を工夫することにより、ソフトウエア
で処理する際に、上記の組み合わせ処理を効率的に行な
うことができる。なお、この方法は、ハードウエアで構
成した場合でも高速処理が可能である。通常は符号つき
の整数を2進化表現する場合、2の補数表現で行なうこ
とが多いが、オフセットを付けた上で符号なし2進化整
数の形で表現することもできるので、ここでは、後者の
符号なし2進化整数の形で表現する場合を例にとって説
明する(なお、加減算する方の数値は、2の補数表現で
行なう)。
Next, an actual representation method of the value of a pixel and an actual addition / subtraction method will be described. As described above, the value of a pixel may be processed by a normal integer expression, but by devising the expression method, the above combination processing can be performed efficiently when processing by software. it can. It should be noted that this method enables high-speed processing even when it is configured by hardware. Normally, when a signed integer is expressed in binary, it is often expressed in 2's complement notation, but since it can also be expressed in the form of unsigned binary coded integer with an offset, the latter code is used here. None A case of expressing in the form of a binary-coded integer will be described as an example (note that the numbers to be added and subtracted are expressed in 2's complement).

【0041】オフセット付き符号なし2進化整数の表現
をnビットで表現するときには、0の値を最上位ビット
以外がオールセットとし、2n /2の値をオールクリ
ア、−((2n /2)−1)の値をオールセットとしたビ
ット符号で表現する。そして、4ビット符号の例を示す
と、次のようになる。
When an unsigned binary coded integer with offset is represented by n bits, the value of 0 is all set except for the most significant bit, and the value of 2 n / 2 is all clear,-((2 n / 2 ) -1) is represented by a bit code in which all values are set. An example of a 4-bit code is as follows.

【0042】 [0042]

【0043】この値に対して加減算( インクリメントと
デクリメント) を行うには、 インクリメント: +0001 デクリメント: +1111(ただし、キャリーを無視) の演算を行なうことで成立する( なお、以下に示す演算
は、被加算値を2の補数表現にした場合でも加算値は同
じである) 。
To perform addition and subtraction (increment and decrement) on this value, it is established by performing an operation of increment: +0001 decrement: +1111 (however, carry is ignored). , And the added value is the same even when the augend is expressed in 2's complement).

【0044】この演算処理を複数ピクセルを組み合わせ
て処理する場合について図8(A),(B)及び図9の
場合を例にして説明する。4ピクセルの組み合わせに対
してインクリメントする場合は、上述したように塗り潰
し開始点に相当するビット部分の位置によって、加算値
は下記4つの場合に分けられる。
A case where this arithmetic processing is performed by combining a plurality of pixels will be described by taking the cases of FIGS. 8A, 8B and 9 as an example. When incrementing for a combination of 4 pixels, the added value is divided into the following four cases depending on the position of the bit part corresponding to the filling start point as described above.

【0045】 塗り潰し開始 加算値(2進表現16ビット) ビット15-12: 0001 0001 0001 0001 ビット11-8 : 0000 0001 0001 0001 ビット 7-4 : 0000 0000 0001 0001 ビット 3-0 : 0000 0000 0000 0001Fill start Add value (binary representation 16 bits) Bits 15-12: 0001 0001 0001 0001 Bits 11-8: 0000 0001 0001 0001 Bits 7-4: 0000 0000 0001 0001 Bits 3-0: 0000 0000 0000 0001

【0046】一方、デクリメントする場合は、キャリー
が上位のビットに伝搬するので、この処理に注意する必
要がある。例えば、初期化されている2ピクセルを両方
ともデクリメントする場合には、 初期値:±0 0111 0111 加算値:−1 1110 キャリ 1111 加算結果: 1000 ← 1000 となるように、最下位に配置されたピクセル部分以外
は、加算値がオールセット(2の補数表現の−1)では
なく、最下位ビットはクリア(2の補数表現の−2)と
する必要がある。
On the other hand, in the case of decrementing, the carry propagates to the upper bits, so it is necessary to pay attention to this processing. For example, when decrementing both of the two initialized pixels, the initial value: ± 0 0111 0111 Addition value: -1 1110 Carry 1111 Addition result: 1000 ← 1000. Except for the pixel portion, it is necessary that the added value is not all set (-1 in 2's complement expression) and the least significant bit is clear (-2 in 2's complement expression).

【0047】さらに、塗り潰し開始点に相当するビット
部分の位置が最上位にない場合は、開始点より左側に相
当する( デクリメントしない) ビット部分の加算値は、
キャリーを相殺するように、オールセット(2の補数表
現の−1)である必要がある。例えば、初期化されてい
る2ピクセルのうち、下位のピクセルのみをデクリメン
トするときは、 初期値:±0 、±0 0111 0111 加算値:±0 、−1 1111 キャリ 1111 加算結果: 0111 ← 1000 のようにする。
Further, when the position of the bit part corresponding to the filling start point is not at the highest position, the added value of the bit part corresponding to the left side of the start point (without decrement) is
It must be all-set (-1 in 2's complement representation) to offset the carry. For example, when decrementing only the lower pixel of the two initialized pixels, the initial value: ± 0, ± 0 0111 0111 additional value: ± 0, -1111 carry 1111 additional result: 0111 ← 1000 To do so.

【0048】したがって、4ピクセルの組み合わせに対
してデクリメントする場合は、塗り潰し開始点に相当す
るビット部分の位置によって、加算値は下記4つの場合
に分けられ、それぞれに対応させた加算値を用いること
により、正しいデクリメントが可能となる。
Therefore, when decrementing for a combination of 4 pixels, the added value is divided into the following four cases depending on the position of the bit portion corresponding to the filling start point, and the added value corresponding to each is used. This enables correct decrement.

【0049】 塗り潰し開始 加算値(2進表現16ビット) ビット15-12 : 1110 1110 1110 1111 ビット11-8 : 1111 1110 1110 1111 ビット 7-4 : 1111 1111 1110 1111 ビット 3-0 : 1111 1111 1111 1111Fill start Add value (binary representation 16 bits) Bits 15-12: 1110 1110 1110 1111 bits 11-8: 1111 1110 1110 1111 bits 7-4: 1111 1111 1110 1111 bits 3-0: 1111 1111 1111 1111

【0050】以上4ピクセルの場合のインクリメントと
デクリメントについて説明したが、本発明は、他のピク
セル数及び32ビットの場合などでも同様にして加算値
を求めて加減算を行うことができ、上記したような加算
値を加算するだけで、インクリメントやデクリメントを
行うことができるので、高速演算処理が可能であり、さ
らに、最終的な値を得てから塗り潰すピクセルを決定す
れば良いので、何度も反転処理を行う必要がなく、塗り
潰し処理も高速で行うことができる。
Although the increment and decrement in the case of 4 pixels have been described above, the present invention can similarly obtain an addition value and perform addition and subtraction in the case of other numbers of pixels and 32 bits. Since it is possible to perform increment or decrement by simply adding the added value, high-speed arithmetic processing is possible, and moreover, it is sufficient to determine the pixel to be filled after obtaining the final value, It is not necessary to perform the inversion process, and the filling process can be performed at high speed.

【0051】[0051]

【発明の効果】本発明の図形処理装置及びその方法は、
輪郭描画と塗り潰しを並行して行なっているので、特別
に輪郭の性質を記憶することなく、尖鋭端の塗り潰しを
正確に行うことができる。
The graphic processing apparatus and method of the present invention are
Since the contour drawing and the filling are performed in parallel, it is possible to accurately fill the sharp end without memorizing the nature of the contour.

【0052】また、アウトラインデータに記憶されてい
る外ループデータの方向と内ループデータの方向とを逆
方向にして明確に区別した上で、輪郭点ごとに1ライン
の加減算処理を行なって、各ピクセルの値の正負から塗
りつぶされたか否かを判断できるようにしているので、
重複部分の中抜けを防止することができる。また、外ル
ープデータと内ループデータとを区別することなく、同
じ処理で正確な塗り潰しを行うことができる。
Further, after the direction of the outer loop data and the direction of the inner loop data stored in the outline data are reversed to be clearly distinguished, one line is added / subtracted for each contour point to obtain each line. Since it is possible to judge whether the pixel is filled or not based on whether the pixel value is positive or negative,
It is possible to prevent the omission of the overlapping portion. Further, it is possible to perform accurate filling by the same processing without distinguishing the outer loop data and the inner loop data.

【0053】さらに、MPUの処理しやすいワード長に
複数ピクセルをまとめた状態で、特殊な判断を用いずに
簡単なアルゴリズムを使用して処理しているので、高速
でのソフトウエア処理が可能となると共に、メモリを高
効率で利用することができる。そして、ハードウエアで
処理を行う場合も簡単な構成で実現することができる。
Furthermore, since a simple algorithm is used in a state where a plurality of pixels are grouped into a word length that is easy for the MPU to process, and a simple algorithm is used, high-speed software processing is possible. In addition, the memory can be used with high efficiency. Further, even when the processing is performed by hardware, it can be realized with a simple configuration.

【0054】また、複数ピクセルを同時に扱うことによ
り、近年のMPUに一部実装されているハード的なデー
タバス幅の複数倍のデータビット数を単一命令にて処理
できるような機能を有効に利用することができるという
効果がある。
Further, by simultaneously handling a plurality of pixels, a function capable of processing a data bit number which is multiple times the hardware data bus width, which is partially implemented in recent MPUs, by a single instruction is effective. There is an effect that it can be used.

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

【図1】本発明の図形処理装置の一実施例を示す構成図
である。
FIG. 1 is a configuration diagram showing an embodiment of a graphic processing device of the present invention.

【図2】本発明の図形処理装置の具体例を示す構成図で
ある。
FIG. 2 is a configuration diagram showing a specific example of a graphic processing device of the present invention.

【図3】(A)は整数型Bresenham 一般化アルゴリズム
の第1八分円に対応する処理結果の例を示す図、(B)
は同じく第2八分円に対応する処理結果の例を示す図で
ある。
FIG. 3A is a diagram showing an example of a processing result corresponding to the first octant of the integer type Bresenham generalized algorithm; FIG.
FIG. 9B is also a diagram showing an example of a processing result corresponding to the second octant.

【図4】本発明で尖鋭端を含む図形の塗り潰しを説明す
るための図である。
FIG. 4 is a diagram for explaining filling of a figure including a sharp end according to the present invention.

【図5】本発明で尖鋭端を含む図形の塗り潰しを説明す
るための図である。
FIG. 5 is a diagram for explaining filling of a figure including a sharp end according to the present invention.

【図6】本発明で尖鋭端を含む図形の塗り潰しを説明す
るための図である。
FIG. 6 is a diagram for explaining filling of a figure including a sharp end according to the present invention.

【図7】(A)〜(E)は本発明で塗り潰しの重複問題
を説明するための図である。
7 (A) to 7 (E) are diagrams for explaining the overlapping problem of filling in the present invention.

【図8】(A)は本発明の一実施例でバッファメモリ上
に文字のイメージを表現したときのピクセル配置を示す
図、(B)はMPUから見たバッファメモリのアドレス
配置を示す図である。
FIG. 8A is a diagram showing a pixel arrangement when a character image is expressed on a buffer memory in an embodiment of the present invention, and FIG. 8B is a diagram showing an address arrangement of the buffer memory as seen from the MPU. is there.

【図9】本発明の一実施例で開始点の塗り潰しの場合分
けについて説明するためのピクセル配置を示す図であ
る。
FIG. 9 is a diagram showing a pixel arrangement for explaining case classification of filling of a starting point in an embodiment of the present invention.

【図10】(A)は文字の例を示す図、(B)はその文
字の太さを変形した例を示す図である。
10A is a diagram showing an example of a character, and FIG. 10B is a diagram showing an example in which the thickness of the character is modified.

【図11】(A)〜(E)は従来の塗り潰しの重複問題
を説明するための図である。
11A to 11E are diagrams for explaining a conventional overlapping problem of filling.

【図12】従来例を説明するための図である。FIG. 12 is a diagram for explaining a conventional example.

【図13】(A),(B)はそれぞれ従来例の問題点を
説明するための図である。
13A and 13B are diagrams for explaining the problems of the conventional example.

【図14】(A)は図形の例を示す図、(B)はそのベ
クトル例を示す図である。
14A is a diagram showing an example of a graphic, and FIG. 14B is a diagram showing an example of a vector thereof.

【図15】(A)は図形の例を示す図、(B)〜(E)
はその図形の塗り潰し結果の例を示す図である。
FIG. 15A is a diagram showing an example of a figure, and FIGS.
FIG. 8 is a diagram showing an example of a result of filling the figure.

【図16】図14の図形の輪郭描画を行なった例を示す
図である。
16 is a diagram showing an example in which contour drawing of the graphic of FIG. 14 is performed.

【図17】図14の図形の輪郭描画を行なった例を示す
図である。
FIG. 17 is a diagram showing an example in which contour drawing of the figure in FIG. 14 is performed.

【図18】(A)は図形の例を示す図、(B)はそのベ
クトル例を示す図である。
18A is a diagram showing an example of a graphic, and FIG. 18B is a diagram showing an example of its vector.

【図19】図18の図形の輪郭描画を行なった例を示す
図である。
FIG. 19 is a diagram showing an example in which contour drawing of the figure of FIG. 18 is performed.

【図20】図18の図形の輪郭描画を行なった例を示す
図である。
20 is a diagram showing an example in which contour drawing of the figure in FIG. 18 is performed.

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

1 指示手段 1a キーボード 2 アウトラインデータメモリ(アウトラインデータ記
憶手段) 2a アウトラインデータROM 3 輪郭ラスタ化手段 4 塗り潰し手段 5 塗り潰しバッファ 5a 塗り潰しバッファRAM 6 表示手段 7 MPU(microprocessing unit) 8 プログラムROM 9 DA変換器
1 Indication Means 1a Keyboard 2 Outline Data Memory (Outline Data Storage Means) 2a Outline Data ROM 3 Outline Rasterization Means 4 Filling Means 5 Filling Buffer 5a Filling Buffer RAM 6 Display Means 7 MPU (microprocessing unit) 8 Program ROM 9 DA Converter

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】少なくとも図形の種類や大きさを指示する
指示手段と、 ループ内が図形となる外輪郭を示す外ループデータの方
向とループ外が図形となる内輪郭を示す内ループデータ
の方向とが逆方向となるように設定されたアウトライン
データを記憶するアウトラインデータ記憶手段と、 前記指示手段によって指示された図形の前記アウトライ
ンデータが前記アウトラインデータ記憶手段から供給さ
れ、前記アウトラインデータの示す輪郭線を1つのライ
ンごとに1つの輪郭点を決定してラスタ化する輪郭ラス
タ化手段と、 この輪郭ラスタ化手段によって決定される前記輪郭線が
ライン処理方向と垂直方向に対して増加する方向か減少
する方向かによって前記輪郭線で区切られる予め定めら
れた一方向側の各ピクセルの値を1ラインごとにインク
リメントまたはディクリメントする塗り潰し手段と、 この塗り潰し手段によって塗り潰される図形を記憶する
塗り潰しバッファとを備えたことを特徴とする図形処理
装置。
1. An instruction means for instructing at least the type and size of a figure, a direction of outer loop data showing an outer contour in which the inside of the loop is a figure, and a direction of inner loop data showing an inner contour in which the outside of the loop is a figure. And outline data storage means for storing outline data set so as to be in the opposite direction, and the outline data of the graphic indicated by the instruction means is supplied from the outline data storage means, and the outline indicated by the outline data Contour rasterizing means for deciding and rasterizing a line by determining one contour point for each line, and whether the contour line determined by this contour rasterizing means increases in the line processing direction and the vertical direction. For each line, the value of each pixel on the predetermined one direction side that is divided by the contour line depending on the decreasing direction is A fill means for incrementing or decrementing, graphics processing apparatus being characterized in that a fill buffer storing graphic to be filled by the fill means.
【請求項2】図形の輪郭を示すアウトラインデータをビ
ットマップデータに変換する際にこの図形の内部または
外部を塗り潰す図形処理方法であって、 ループ内が図形となる外輪郭を示す外ループデータの方
向とループ外が図形となる内輪郭を示す内ループデータ
の方向とが逆方向となるように設定された前記アウトラ
インデータの示す輪郭線を1つのラインごとに1つの輪
郭点を決定してラスタ化し、 前記輪郭線がライン処理方向と垂直方向に対して増加す
る方向か減少する方向かによって前記輪郭線で区切られ
る予め定められた一方向側の各ピクセルの値を1ライン
ごとにインクリメントまたはディクリメントするように
したことを特徴とする図形処理方法。
2. A figure processing method for filling the inside or outside of a figure when converting outline data showing the figure outline into bitmap data, wherein outer loop data showing an outer contour in which a loop is a figure. And the contour line indicated by the outline data set so that the direction of the inner loop data showing the inner contour of the outside of the loop is the opposite direction, one contour point is determined for each line. Rasterization, incrementing the value of each pixel on a predetermined one direction side divided by the contour line for each line depending on whether the contour line increases or decreases with respect to the line processing direction and the vertical direction, or A figure processing method characterized in that decrementing is performed.
【請求項3】請求項1記載の図形処理装置に使用される
図形処理方法であって、 1ピクセルのデータを複数ビットの符号つき整数または
オフセットつきの符号なし整数で表現し、塗り潰し手段
の1データワードに複数ピクセル分のデータを格納し
て、この1データワード単位またはその整数倍を単位と
してインクリメントまたはディクリメント処理すること
を特徴とする図形処理方法。
3. A graphic processing method used in the graphic processing device according to claim 1, wherein 1-pixel data is expressed by a signed integer of a plurality of bits or an unsigned integer with an offset, and 1 data of the filling means. A graphic processing method characterized by storing data for a plurality of pixels in a word and performing increment or decrement processing in units of one data word or an integral multiple thereof.
【請求項4】請求項3記載の図形処理方法であって、 塗り潰し開始点に相当する複数ビット部分よりライン処
理方向の逆方向に相当する複数ビット部分をオールクリ
アにし、塗り潰し開始点に相当する複数ビット部分とそ
の複数ビット部分よりライン処理方向の順方向に相当す
る複数ビット部分のそれぞれの最下位ビットをセットに
してそれ以外の各ビットをクリアにした加算値を加算す
ることにより、インクリメント操作を行い、 塗り潰し開始点に相当する複数ビット部分よりライン処
理方向の逆方向に相当する複数ビット部分をオールセッ
トにし、塗り潰し開始点に相当する複数ビット部分がデ
ータワードの最下位にない場合はその最下位ビットをク
リアにしてそれ以外の各ビットをセットにし、塗り潰し
開始点に相当する複数ビット部分よりライン処理方向の
順方向に相当する複数ビット部分がデータワードの最下
位にない場合はその最下位ビットをクリアにしてそれ以
外の各ビットをセットにし、最下位の複数ビット部分を
オールセットにした加算値を加算することにより、デク
リメント操作を行なうことを特徴とする図形処理方法。
4. The graphic processing method according to claim 3, wherein a plurality of bit portions corresponding to a direction opposite to the line processing direction are all cleared from a plurality of bit portions corresponding to the filling start point and correspond to the filling start point. Increment operation by adding the added value that sets each least significant bit of the multi-bit part and the multi-bit part corresponding to the forward direction of the line processing direction from the multi-bit part and clears the other bits If the multi-bit part corresponding to the direction opposite to the line processing direction is all set from the multi-bit part corresponding to the filling start point and the multi-bit part corresponding to the filling start point is not at the lowest position of the data word, Multiple bits corresponding to the filling start point, with the least significant bit cleared and all other bits set If the multi-bit part corresponding to the forward direction of the line processing direction is not at the bottom of the data word, the least significant bit is cleared and each other bit is set, and the least-significant multi-bit part is all set. A figure processing method, characterized in that a decrement operation is performed by adding the added value obtained in step (1).
JP5325990A 1993-11-30 1993-11-30 Graphic processing apparatus and method Expired - Lifetime JP2888270B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5325990A JP2888270B2 (en) 1993-11-30 1993-11-30 Graphic processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5325990A JP2888270B2 (en) 1993-11-30 1993-11-30 Graphic processing apparatus and method

Publications (2)

Publication Number Publication Date
JPH07152920A true JPH07152920A (en) 1995-06-16
JP2888270B2 JP2888270B2 (en) 1999-05-10

Family

ID=18182871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5325990A Expired - Lifetime JP2888270B2 (en) 1993-11-30 1993-11-30 Graphic processing apparatus and method

Country Status (1)

Country Link
JP (1) JP2888270B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208070A (en) * 1997-01-16 1998-08-07 Nec Corp Contour extracting method for polygon
US7298900B2 (en) 2002-09-30 2007-11-20 Canon Kabushiki Kaisha Image processing method, image processing apparatus and image processing program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166180A (en) * 1987-12-22 1989-06-30 Fujitsu Ltd Paint-out processing device for graphic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166180A (en) * 1987-12-22 1989-06-30 Fujitsu Ltd Paint-out processing device for graphic

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208070A (en) * 1997-01-16 1998-08-07 Nec Corp Contour extracting method for polygon
US7298900B2 (en) 2002-09-30 2007-11-20 Canon Kabushiki Kaisha Image processing method, image processing apparatus and image processing program
US8155445B2 (en) 2002-09-30 2012-04-10 Canon Kabushiki Kaisha Image processing apparatus, method, and processing program for image inversion with tree structure

Also Published As

Publication number Publication date
JP2888270B2 (en) 1999-05-10

Similar Documents

Publication Publication Date Title
EP0356103B1 (en) Scan-conversion process and processor
JP3483946B2 (en) Font processing apparatus and font processing method
JPH0554114B2 (en)
EP0344686B1 (en) Clipping process and processor
US5489920A (en) Method for determining the optimum angle for displaying a line on raster output devices
US5524198A (en) Character or graphic processing method and apparatus
JPH05204363A (en) High-speed vertical scanning-conversion and charging method and device for formation of outline character style character in dot matrix device
EP0356262B1 (en) Image processing apparatus
JP3009525B2 (en) Vector image drawing equipment
JP2634851B2 (en) Image processing device
JP2888270B2 (en) Graphic processing apparatus and method
US6504543B1 (en) Polygon drawing method and polygon drawing apparatus
EP0062669A1 (en) Graphic and textual image generator for a raster scan display.
JP2674287B2 (en) Graphic microcomputer
EP0642101A2 (en) A wide line drawing method
US8907955B2 (en) Vector image drawing device, vector image drawing method, and recording medium
JPWO2010134124A1 (en) Vector drawing equipment
JP3603593B2 (en) Image processing method and apparatus
JP3493745B2 (en) Drawing device
US5444834A (en) Filling pattern generation apparatus and method including correction for pattern overflow
JP2782904B2 (en) Polygon fill method
JP2748787B2 (en) Curve generator
JP2000267644A (en) Device and method for processing font, and storage medium therefor
JPH0896148A (en) Graphic plotting device
JP2835056B2 (en) High quality character pattern generation method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090219

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090219

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100219

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110219

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120219

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120219

Year of fee payment: 13

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120219

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120219

Year of fee payment: 13

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 15

EXPY Cancellation because of completion of term