JP3436008B2 - Drawing processing device - Google Patents

Drawing processing device

Info

Publication number
JP3436008B2
JP3436008B2 JP21845396A JP21845396A JP3436008B2 JP 3436008 B2 JP3436008 B2 JP 3436008B2 JP 21845396 A JP21845396 A JP 21845396A JP 21845396 A JP21845396 A JP 21845396A JP 3436008 B2 JP3436008 B2 JP 3436008B2
Authority
JP
Japan
Prior art keywords
line
width
diagonal line
unit
approximate
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.)
Expired - Fee Related
Application number
JP21845396A
Other languages
Japanese (ja)
Other versions
JPH1063867A (en
Inventor
好弘 千田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP21845396A priority Critical patent/JP3436008B2/en
Publication of JPH1063867A publication Critical patent/JPH1063867A/en
Application granted granted Critical
Publication of JP3436008B2 publication Critical patent/JP3436008B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータで作
成された図形データに基づき、プリンタやグラフィック
ディスプレイ装置等の出力のための描画処理を行う描画
処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing processing apparatus for carrying out drawing processing for output from a printer, a graphic display device or the like, based on graphic data created by a computer.

【0002】[0002]

【従来の技術】コンピュータで作成した図形をプリンタ
やグラフィックディスプレイ装置から出力するには、一
般に、コンピュータが保持するベクトル情報などの図形
データをビットマップイメージに展開する必要がある。
このようなビットマップイメージへの展開のことを描画
処理という。
2. Description of the Related Art In order to output a graphic created by a computer from a printer or a graphic display device, it is generally necessary to develop graphic data such as vector information held by the computer into a bit map image.
The development into such a bitmap image is called drawing processing.

【0003】描画処理における基本的な処理の一つに、
閉領域の塗りつぶしがある。閉領域とは、直線や曲線か
ら構成される閉曲線で囲まれた領域のことをいい、塗り
つぶしとはこのような閉領域の中のピクセルを一定の色
で塗ることをいう。塗りつぶし処理は、スキャン変換
(走査変換)と呼ばれることもある。
One of the basic processes in the drawing process is
There is a closed area fill. The closed region refers to a region surrounded by a closed curve composed of straight lines and curved lines, and the filling refers to painting pixels in such a closed region with a constant color. The filling process is sometimes called scan conversion (scan conversion).

【0004】閉領域の塗りつぶしの方法の一つに、例え
ば『コンピュータグラフィックス』(J.D FOLEY ,A.VAN
DAM著,日本コンピュータ協会,1984年)に示され
るスキャンラインアルゴリズム(同書pp466〜47
2)がある。このスキャンラインアルゴリズムについ
て、図14を参照して説明する。スキャンラインアルゴ
リズムは、大まかにいって次の3つのステップからな
る。
One of the methods for filling closed areas is, for example, "Computer Graphics" (JD FOLEY, A.VAN
DAM, Japan Computer Association, 1984) Scanline Algorithm (ibid., Pp. 466-47)
There is 2). This scanline algorithm will be described with reference to FIG. The scanline algorithm roughly consists of three steps:

【0005】(1)閉領域200(図14(a))を規
定する閉曲線205を、十分な精度が得られる程度の微
小な直線に分割する。この処理により、閉曲線205は
多角形210に近似される(図14(b)) (2)閉曲線205を近似した多角形210を、更に走
査線(スキャンライン)1本分(すなわち1ピクセル
分)の幅(すなわち1ピクセル分)の長方形220に分
割する(図14(c)) (3)各走査線に沿って個々の長方形220を塗る(図
14(d)) このスキャンラインアルゴリズムは、走査線を使用する
表示装置や印刷装置と整合性がよく、閉領域の塗りつぶ
し手法としてよく用いられている。
(1) The closed curve 205 that defines the closed region 200 (FIG. 14A) is divided into minute straight lines that are sufficiently accurate. By this processing, the closed curve 205 is approximated to the polygon 210 (FIG. 14B). (2) The polygon 210 approximated to the closed curve 205 is further scanned by one scanning line (scan line) (that is, one pixel). (FIG. 14 (c)) (3) Apply the individual rectangles 220 along each scan line (FIG. 14 (d)) This scan line algorithm scans It has good compatibility with display devices and printing devices that use lines, and is often used as a method for filling closed areas.

【0006】このアルゴリズムの実行においてもっとも
計算時間がかかるのは、閉領域を多角形近似するステッ
プであり、これに要する計算時間は閉領域の面積とは直
接には関係しない。例えば、極めて小面積の閉領域であ
っても、形状が複雑な場合は、近似精度を得るために多
大の計算時間を要し、結局塗りつぶしに要する時間も膨
大なものとなる。
In the execution of this algorithm, the calculation time is the step of approximating the closed region into a polygon, and the calculation time required for this is not directly related to the area of the closed region. For example, even in a closed area having an extremely small area, if the shape is complicated, a great amount of calculation time is required to obtain the approximation accuracy, and the time required for filling is also enormous.

【0007】そこで、このような問題を解決する近似描
画手法が、従来開発されている。そのような近似描画手
法の一つに次のようなものがある。
Therefore, an approximate drawing method for solving such a problem has been conventionally developed. One of such approximate drawing methods is as follows.

【0008】この手法は、垂直方向又は水平方向に細長
い閉領域の塗りつぶしを近似的に処理するものである。
具体的には、図15(a)に示すように、まず閉領域2
30を囲む最小の長方形であるバウンディングボックス
240を求め、そのバウンディングボックス240の幅
及び高さを所定の基準値と比較する。そして、幅又は高
さの少なくとも一方が基準値以下の場合に、そのバウン
ディングボックス240を塗りつぶす(図15(b))
ことにより、閉領域230の塗りつぶしの近似とする。
This method approximates the filling of an elongated closed area in the vertical or horizontal direction.
Specifically, as shown in FIG. 15A, first, the closed region 2
A bounding box 240 that is the smallest rectangle surrounding 30 is determined, and the width and height of the bounding box 240 are compared with a predetermined reference value. Then, when at least one of the width and the height is equal to or less than the reference value, the bounding box 240 is filled (FIG. 15B).
As a result, the closed area 230 is approximated to be filled.

【0009】この近似描画手法によれば、塗りつぶし対
象の閉領域の幅が1ピクセル以下もしくは同程度の場合
には、スキャンラインアルゴリズムと遜色のない画像品
質を得ることができる。
According to this approximate drawing method, when the width of the closed region to be filled is 1 pixel or less or about the same, it is possible to obtain image quality comparable to the scan line algorithm.

【0010】例えば、CAD等で作成された精密な図面
を小さい用紙に印刷する場合等のように、計算上1ピク
セル以下の厚みの閉領域が生じる場合は往々にしてあ
る。スキャンラインアルゴリズムによる塗りつぶし処理
では、このような場合にも上記多角形近似などの処理を
行っていたため、描画処理に膨大な時間を要する場合が
あった。これに対し、上記近似描画手法を用いれば、描
画処理の時間を節約することができた。
It is often the case that a closed region having a thickness of 1 pixel or less is calculated in the calculation, for example, when a precise drawing created by CAD or the like is printed on a small sheet. In the filling processing by the scan line algorithm, even in such a case, since the processing such as the polygon approximation is performed, the drawing processing may require a huge amount of time. On the other hand, if the above-mentioned approximate drawing method is used, the drawing processing time can be saved.

【0011】[0011]

【発明が解決しようとする課題】しかしながら、上述の
従来の近似描画手法は、閉領域が水平方向又は垂直方向
に細長い場合にしか対応することができず、描画処理の
効率化の手段としては十分なものとはいえなかった。す
なわち、従来の近似描画手法は、図16に示すように斜
め方向に細長い閉領域250を近似処理することができ
ず、従来はこのような閉領域についてはスキャンライン
アルゴリズム等により塗りつぶし処理を行うしかなかっ
た。
However, the above-mentioned conventional approximate drawing method can be applied only when the closed region is elongated in the horizontal direction or the vertical direction, and is sufficient as a means for improving the efficiency of the drawing process. It wasn't very good. That is, the conventional approximate drawing method cannot approximate a slender closed region 250 in an oblique direction as shown in FIG. 16, and in the past, such a closed region must be filled with a scan line algorithm or the like. There wasn't.

【0012】本発明は、このような問題を解決するため
になされたものであり、斜め方向に細長い閉領域の塗り
つぶしについても近似処理を行うことができる描画処理
装置を提供することを目的とする。
The present invention has been made in order to solve such a problem, and an object of the present invention is to provide a drawing processing apparatus capable of performing an approximation process even for filling a slender closed region which is slender in an oblique direction. .

【0013】[0013]

【課題を解決するための手段】前述の目的を達成するた
めに、本発明に係る描画処理装置は、塗りつぶし対象の
領域を囲み、水平線及び垂直線で構成される最小の矩形
枠を求める矩形枠算出手段と、前記矩形枠の対角線を求
める対角線算出手段と、前記対角線に垂直な方向につい
ての前記領域の最大幅を求める領域幅算出手段と、前記
最大幅を所定の基準値と比較し、前記最大幅が前記基準
値以下の場合に前記領域が近似描画可能であると判定す
る近似可否判定手段と、前記近似可否判定手段で近似描
画可能と判定された場合に、前記対角線に沿って前記最
大幅に対応する幅の線分を描画する近似描画手段とを有
することを特徴とする。
In order to achieve the above-mentioned object, a drawing processing apparatus according to the present invention is a rectangular frame that surrounds a region to be filled and finds a minimum rectangular frame composed of horizontal lines and vertical lines. Calculating means, a diagonal line calculating means for obtaining a diagonal line of the rectangular frame, a region width calculating means for obtaining a maximum width of the region in a direction perpendicular to the diagonal line, and comparing the maximum width with a predetermined reference value, When the maximum width is less than or equal to the reference value, the approximation possibility determination unit that determines that the area can be approximated to be drawn, and when the approximation possibility determination unit determines that the area can be approximated to be drawn, the maximum along the diagonal line An approximate drawing means for drawing a line segment having a width corresponding to a large extent is provided.

【0014】この構成では、塗りつぶし対象の領域を囲
む矩形枠を求め、その領域の塗りつぶし処理をこの矩形
枠の対角線の描画処理で近似する。近似描画を行う条件
は、矩形枠の対角線に垂直な方向についてのその領域の
最大幅が所定の基準値以下となる場合である。例えば、
1ピクセルの幅程度の値を基準値として用いれば、1ピ
クセル以下の厚みの領域については直線近似で描画され
るため、描画処理速度が向上する。基準値をもっと大き
な値とすれば、近似処理が適用される対象が広くなるの
で描画処理速度はさらに向上するが、描画結果の精密度
は近似処理のため劣化する。基準値は、描画結果の品質
と処理速度との兼ね合いに応じて決める必要がある。な
お、この構成において、線分の描画は、線分に対応する
領域の塗りつぶし処理を含んだ概念とする。
In this configuration, a rectangular frame surrounding the area to be filled is obtained, and the filling processing of the area is approximated by the drawing processing of the diagonal line of this rectangular frame. The condition for performing approximate drawing is that the maximum width of the area in the direction perpendicular to the diagonal line of the rectangular frame is equal to or less than a predetermined reference value. For example,
If a value of a width of about 1 pixel is used as a reference value, an area having a thickness of 1 pixel or less is drawn by linear approximation, so that the drawing processing speed is improved. If the reference value is set to a larger value, the target to which the approximation processing is applied becomes wider, so that the drawing processing speed is further improved, but the precision of the drawing result is deteriorated due to the approximation processing. The reference value needs to be determined according to the balance between the quality of the drawing result and the processing speed. It should be noted that in this configuration, the drawing of the line segment is a concept including the filling process of the area corresponding to the line segment.

【0015】この構成によれば、塗りつぶし対象の領域
が斜め方向に細長い領域である場合に、その領域を直線
(線分)で近似して描画することができる。
With this configuration, when the area to be filled is an area that is slender in the oblique direction, the area can be approximated by a straight line (line segment) and drawn.

【0016】また、本発明は、塗りつぶし対象領域を定
義する制御点群の座標に基づき、前記制御点群を囲み、
水平線及び垂直線で構成される最小の矩形枠を求める矩
形枠算出手段と、前記矩形枠の対角線を求める対角線算
出手段と、前記対角線と前記各制御点との距離を求め、
前記対角線の上下それぞれの側についての前記距離の最
大値同士の和に基づき前記領域の最大幅を決定する領域
幅算出手段と、前記最大幅を所定の基準値と比較し、前
記最大幅が前記基準値以下の場合に前記領域が近似描画
可能であると判定する近似可否判定手段と、前記近似可
否判定手段にて近似描画可能と判定された場合に、前記
対角線に沿って前記最大幅に対応する幅の線分を描画す
る近似描画手段とを有することを特徴とする。
Further, the present invention encloses the control point group based on the coordinates of the control point group which defines the filling target area,
Rectangular frame calculating means for obtaining a minimum rectangular frame composed of a horizontal line and a vertical line, diagonal line calculating means for obtaining a diagonal line of the rectangular frame, and a distance between the diagonal line and each of the control points,
Region width calculation means for determining the maximum width of the region based on the sum of the maximum values of the distance on each side of the diagonal line, and comparing the maximum width with a predetermined reference value, the maximum width is Approximation propriety determination means for determining that the area is approximate drawable when it is less than or equal to a reference value, and corresponds to the maximum width along the diagonal line when it is determined by the approximation propriety judgment means that approximate drawing is possible. And an approximate drawing means for drawing a line segment having a width.

【0017】この構成では、塗りつぶし対象の領域を定
義する制御点群の座標に基づいて処理を行う。ここで、
制御点とは、領域を囲む閉曲線(輪郭)を定義するため
の点であり、直線の端点やベジェ曲線等のパラメトリッ
クな曲線の制御点、スプライン曲線等の内挿曲線の節
点、などがその一例である。コンピュータからプリンタ
等に与えられる図形データはこの制御点の集合の形で表
現される場合が多く、本構成では、この制御点データに
基づき矩形枠や領域の最大幅を求め、近似処理の可否を
判定することにより、処理の高速化を図っている。一般
に制御点は領域の輪郭に近い位置にあるので、制御点を
用いても精度よく近似可否の判定を行うことができる。
この構成でも、塗りつぶし対象の領域が斜め方向に細長
い領域である場合には、それを検出し、その領域を斜め
方向の直線(線分)で近似して描画することができる。
With this configuration, processing is performed based on the coordinates of the control point group that defines the area to be filled. here,
A control point is a point for defining a closed curve (contour) that encloses a region, and examples are control points of parametric curves such as straight line end points and Bezier curves, nodes of interpolation curves such as spline curves, etc. Is. Graphic data given from a computer to a printer or the like is often expressed in the form of a set of control points. With this configuration, the maximum width of a rectangular frame or area is calculated based on this control point data, and whether or not approximation processing can be performed is determined. By making the determination, the processing speed is increased. In general, the control point is located near the contour of the region, so that the approximation can be accurately determined even if the control point is used.
Even with this configuration, when the area to be filled is an area that is slender in the oblique direction, it can be detected, and the area can be approximated by an oblique straight line (line segment) and drawn.

【0018】また、この構成において、領域幅算出手段
が、矩形枠の対角線が一方の座標軸と平行になるよう座
標変換を行い、座標変換後の各制御点の座標に基づき前
記対角線と制御点との距離を求めるようにすることもで
きる。この場合、対角線と制御点との距離を当該制御点
の座標成分から直接的に求めることができ、領域の最大
幅の算出が容易となる。
Further, in this configuration, the area width calculating means performs coordinate conversion so that the diagonal line of the rectangular frame is parallel to one coordinate axis, and the diagonal line and the control point are converted based on the coordinates of each control point after the coordinate conversion. It is also possible to obtain the distance of. In this case, the distance between the diagonal line and the control point can be directly obtained from the coordinate component of the control point, and the maximum width of the area can be easily calculated.

【0019】また、本発明の好適な態様では、近似描画
手段は、前記距離の前記対角線の上側についての最大値
と下側についての最大値との差に応じて、線分の中心軸
を前記対角線からシフトする。
Further, in a preferred aspect of the present invention, the approximate drawing means sets the central axis of the line segment in accordance with a difference between a maximum value of the distance above the diagonal line and a maximum value of the diagonal line below the diagonal line. Shift from the diagonal.

【0020】この構成によれば、領域が対角線のいずれ
かの側に偏っている場合には、その偏りを反映した位置
に近似線分を描画することができ、もとの領域の配置関
係をより忠実に反映した近似結果を得ることができる。
According to this configuration, when the area is biased on either side of the diagonal line, it is possible to draw an approximate line segment at a position that reflects the bias, and the layout relationship of the original area is determined. It is possible to obtain an approximation result that reflects more faithfully.

【0021】また、本発明の別の態様では、近似描画手
段は、前記対角線の上側の前記距離の最大値を線幅とす
る線分と前記対角線の下側の前記距離の最大値を線幅と
する線分とを前記対角線を境に隣接させて描画する。
Further, in another aspect of the present invention, the approximate drawing means sets a line segment having a maximum value of the distance above the diagonal as a line width and a maximum value of the distance below the diagonal to the line width. And the line segment to be drawn are adjacent to each other with the diagonal line as a boundary.

【0022】この構成では、対角線の上側と下側で、そ
れぞれの側での領域の最大幅の線分を描画することによ
り、全体として対角線に対する領域の偏りを反映した近
似描画結果を得ることができる。
With this configuration, by drawing the line segment having the maximum width of the area on each of the upper side and the lower side of the diagonal line, an approximate drawing result reflecting the bias of the area with respect to the diagonal line as a whole can be obtained. it can.

【0023】また、本発明は、領域幅算出手段に対して
前記矩形枠の2つの対角線のそれぞれについて前記最大
幅を求めさせ、2つの対角線についての前記最大幅が共
に前記基準値より小さい場合に、前記最大幅が小さい方
の対角線についての線分を前記近似描画手段に描画させ
る制御手段を有することを特徴とする。
Further, according to the present invention, the area width calculating means is made to obtain the maximum width for each of the two diagonal lines of the rectangular frame, and when the maximum widths for the two diagonal lines are both smaller than the reference value. And a control means for causing the approximate drawing means to draw a line segment for the diagonal line having the smaller maximum width.

【0024】この構成によれば、矩形枠の2つの対角線
のいずれを用いても近似可能な場合に、より良い近似に
なる方を選択して描画することができる。
According to this configuration, when approximation can be performed using either of the two diagonal lines of the rectangular frame, the one with the better approximation can be selected and drawn.

【0025】更に、本発明の描画処理装置は、前記基準
値に関するユーザの入力を受け付ける基準値入力手段を
有することを特徴とする。
Further, the drawing processing apparatus of the present invention is characterized by having reference value input means for receiving a user's input regarding the reference value.

【0026】この構成によれば、描画処理ごとに基準値
を変更することができ、ユーザは処理速度優先の描画処
理と精密度優先の描画処理とを必要に応じて使い分ける
ことができる。
With this configuration, the reference value can be changed for each drawing process, and the user can selectively use the drawing process prioritizing the processing speed and the drawing process prioritizing the precision.

【0027】[0027]

【発明の実施の形態】以下、本発明に係る描画処理装置
の好適な実施形態を図面に基づいて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A preferred embodiment of a drawing processing apparatus according to the present invention will be described below with reference to the drawings.

【0028】図1は、本実施形態の描画処理装置の全体
構成を示す機能ブロック図である。図1の構成は、コン
ピュータ等から送られてくるページ記述言語(PDL:
PageDescription Language )のデータに基づき描画処
理を行う装置を示したものであり、具体例としては、ペ
ージ記述言語データを展開して後段のプリンタに供給す
るプリンタサーバ等がこれに相当する。
FIG. 1 is a functional block diagram showing the overall configuration of the drawing processing apparatus of this embodiment. The configuration of FIG. 1 has a page description language (PDL: sent from a computer or the like.
This is a device for performing drawing processing based on data of PageDescription Language), and as a concrete example, a printer server or the like which develops page description language data and supplies it to a printer in the subsequent stage corresponds to this.

【0029】図1において、ページ記述言語解析部10
は、コンピュータ等から送られてくるPDLデータを受
けとり、このデータの解析及び実行を行う。ページ記述
言語解析部10は、命令解析部12、制御命令実行部1
4、及び描画命令実行部16を含む。命令解析部12
は、PDLデータを解析し、そのデータに含まれる各命
令をその種類に応じて制御命令実行部14又は描画命令
実行部16に振り分ける。ページ記述言語には、文字や
図形の描画を指示する描画命令のほかに、一般のプログ
ラミング言語と同様、変数に対する代入や数値演算、繰
り返しや条件分岐等による処理の制御等を指示するため
の制御命令が規定されている。例えば、用紙サイズの指
定や印刷枚数の指定等は、制御命令により行われる。従
って、命令解析部12は、PDLのコードから各命令の
種類を判定し、制御命令は制御命令実行部14に、描画
命令は描画命令実行部16に、それぞれ分類して入力す
る。
In FIG. 1, the page description language analysis unit 10
Receives PDL data sent from a computer or the like and analyzes and executes this data. The page description language analysis unit 10 includes an instruction analysis unit 12 and a control instruction execution unit 1.
4 and the drawing command execution unit 16. Instruction analysis unit 12
Analyzes PDL data and distributes each command included in the data to the control command execution unit 14 or the drawing command execution unit 16 according to its type. In the page description language, in addition to drawing commands that instruct drawing of characters and figures, as in general programming languages, control for instructing assignment of variables, numerical operations, control of processing such as repetition and conditional branching, etc. The order is prescribed. For example, the control of the control command designates the paper size and the number of printed sheets. Therefore, the command analysis unit 12 determines the type of each command from the PDL code, classifies and inputs the control command to the control command execution unit 14 and the drawing command to the drawing command execution unit 16.

【0030】制御命令実行部14は、PDLが想定して
いるデータ構造、スタック、グラフィック状態変数等を
保持・管理しており、命令解析部12から与えられた制
御命令に応じてそれらの状態値を変更し、更に外部から
の参照に応じてそれらの状態値を出力する。本実施形態
では、描画する図形を定義する命令はこの制御命令実行
部14で処理される。すなわち、制御命令実行部14
は、図形を定義する命令から図形の定義情報を抽出し、
それを所定のデータ構造の形に整理して保持し、管理す
る。
The control command execution unit 14 holds and manages the data structure, stack, graphic state variables, and the like assumed by the PDL, and according to the control command given from the command analysis unit 12, those state values. , And output those state values according to external reference. In this embodiment, the control command execution unit 14 processes a command that defines a graphic to be drawn. That is, the control command execution unit 14
Extracts the definition information of the figure from the command that defines the figure,
It is organized and maintained in the form of a predetermined data structure and managed.

【0031】一方、描画命令実行部16は、命令解析部
12から入力された描画命令に基づき、その描画命令の
実行に必要な情報を制御命令実行部14等から取得し、
それら情報を後段の描画処理部20に送る。
On the other hand, the drawing command executing unit 16 acquires information necessary for executing the drawing command from the control command executing unit 14, etc., based on the drawing command input from the command analyzing unit 12,
The information is sent to the drawing processing unit 20 in the subsequent stage.

【0032】描画処理部20では、描画命令実行部16
から送られてきた情報に基づいて描画処理を行い、その
結果をビットマップメモリである描画バッファ40に書
き込む。なお、描画処理部20の構成や機能等について
は、後に更に詳しく説明する。
In the drawing processing section 20, the drawing command executing section 16
The drawing process is performed based on the information sent from the device, and the result is written in the drawing buffer 40 which is a bitmap memory. The configuration and functions of the drawing processing unit 20 will be described in more detail later.

【0033】このように、本実施形態では、PDLを解
析する部分(ページ記述言語解析部10)と、実際の描
画処理を行う部分(描画処理部20)とを別体として構
成している。これにより、ページ記述言語解析部10の
出力は、プリンタだけでなく、ディスプレイ装置や、P
DLで記述された図形データを他のデータ形式に変換す
るコンバータ等、種々の装置に供給することができる。
すなわち、この構成によれば、ページ記述言語解析部1
0は、様々な種類の描画処理系を構成するための汎用の
部品として用いることができる。本実施形態では、ペー
ジ記述言語解析部10は、PDLの描画命令を所定の仕
様に従った形式に編集して出力し、この後段に続く描画
処理部20は、その指示形式を受け付け可能な構成とな
っている。
As described above, in this embodiment, the part for analyzing the PDL (page description language analysis part 10) and the part for performing the actual drawing process (drawing processing part 20) are configured as separate bodies. As a result, the output of the page description language analysis unit 10 is not limited to the printer, but also to the display device or P
It can be supplied to various devices such as a converter for converting the graphic data described in DL into another data format.
That is, according to this configuration, the page description language analysis unit 1
0 can be used as a general-purpose component for forming various types of drawing processing systems. In the present embodiment, the page description language analysis unit 10 edits and outputs a PDL drawing command in a format conforming to a predetermined specification, and the drawing processing unit 20 following this stage can accept the instruction format. Has become.

【0034】ここで、PDLの一種であるPostSc
riptで記述されたデータの一例を示し、これに対す
るページ記述言語解析部10の処理動作について説明す
る。ここでは、図2に示す閉領域50の塗りつぶしを例
にとって説明する。
Here, PostSc which is a kind of PDL is used.
An example of data described in ript will be shown, and the processing operation of the page description language analysis unit 10 for this will be described. Here, the filling of the closed region 50 shown in FIG. 2 will be described as an example.

【0035】図2の閉領域50は、直線分AB、BC、
CDと、曲線分DAとで構成される閉曲線で囲まれた領
域として定義される。PostScriptでは、曲線
は3次のベジェ曲線として表現され、曲線分DAは、始
点D、終点A、制御点E及びFの座標により定義され
る。なお、直線分の始点及び終点、曲線分の始点、終点
及び制御点は、線分を定義する点という意味ではすべて
同一の働きをするので、以下ではすべて一律に制御点と
呼ぶ。
The closed region 50 in FIG. 2 is a straight line segment AB, BC,
It is defined as a region surrounded by a closed curve composed of CD and a curved line segment DA. In PostScript, a curve is expressed as a cubic Bezier curve, and a curve segment DA is defined by coordinates of a start point D, an end point A, and control points E and F. The start point and end point of a straight line segment, the start point and end point of a curve segment, and the control point all have the same function in the sense that they define a line segment, so they will all be referred to below uniformly as control points.

【0036】図3は、この図2の閉領域50の塗りつぶ
し処理をPostScriptで記述した例である。P
ostScriptでは、図形の描画は、図形の形状を
定義するパスと、そのパスで定義された図形に対する描
画操作内容とにより指定される。パスは、線分を順次追
加していくことにより構築される。パスに最も新しく追
加された線分の終端点は「カレントポイント」と呼ばれ
る。パス構築のために用いられるのがパス構築オペレー
タであり、図3では、moveto、lineto、curveto 、clos
epath がパス構築オペレータである。これらオペレータ
の前の数値の組がカレントポイントの座標を示す。move
toは、新しいカレントポイントを指定するオペレータで
あり、パスの始点を示すために用いられる。linetoは、
以前のカレントポイントと新しいカレントポイントとを
接続する直線分をパスに追加するためのものである。cu
rveto は、3次のベジェ曲線をパスに追加するために用
いられる。closepath は、パスを明示的に閉じるために
用いられ、カレントポイントと当該パスの始点とを結ぶ
直線をパスに加える処理を示す。このように、直線分や
曲線分を順に繋げて構成した一連の経路がパスであり、
このパスは線や領域を定義する抽象的な形状データとし
て扱われる。具体的な描画処理は、このパスに対してペ
イントオペレータを作用させることにより実現される。
図3では、fillがペイントオペレータであり、このfill
オペレータは、それまでに構築されたパスで囲まれる閉
領域に対する塗りつぶしを指示するために用いられる。
ペイントオペレータには、このほか、パスに沿った線を
描画するstroke等がある。本実施形態では、パス構築オ
ペレータは制御命令として扱われ、ペイントオペレータ
は描画命令として扱われる。なお、PostScrip
tの詳細については、例えば『PostScriptリ
ファレンス・マニュアル第2版』(Adobe Systems 著、
アスキー出版局)に詳しく説明されている。
FIG. 3 is an example in which the filling processing of the closed region 50 of FIG. 2 is described in PostScript. P
In ostScript, drawing of a graphic is specified by a path that defines the shape of the graphic and the content of drawing operation for the graphic defined by the path. The path is constructed by sequentially adding line segments. The terminal point of the line segment most recently added to the path is called the "current point". The path construction operator is used for path construction. In Figure 3, moveto, lineto, curveto, clos
epath is the path construction operator. The set of numbers in front of these operators indicates the coordinates of the current point. move
to is an operator that specifies a new current point, and is used to indicate the start point of the path. lineto is
It is for adding a straight line segment connecting the old current point and the new current point to the path. cu
rveto is used to add a cubic Bezier curve to the path. closepath is used to explicitly close a path and indicates the process of adding a straight line connecting the current point and the start point of the path to the path. In this way, a series of routes constructed by connecting straight lines and curved lines in order is a path,
This path is treated as abstract shape data that defines lines and areas. Specific drawing processing is realized by causing a paint operator to act on this path.
In Figure 3, fill is the paint operator and this fill
The operator is used to instruct the filling of the closed area enclosed by the paths constructed so far.
In addition to this, the paint operator includes a stroke that draws a line along the path. In this embodiment, the path construction operator is treated as a control command, and the paint operator is treated as a drawing command. In addition, PostScript
For details of t, for example, “PostScript Reference Manual Second Edition” (by Adobe Systems,
Ascii Publishing) is explained in detail.

【0037】図3のようなPostScriptのデー
タは、テキストデータの形でページ記述言語解析部10
に入力される。命令解析部12は、このテキストデータ
を整数、名前、記号等に分解し、分解した字句を更にデ
ータと命令とに分解する。データは制御命令実行部14
に送られ、その内部に保持される。また、命令は、制御
命令か描画命令かが判別され、その結果に応じて制御命
令実行部14又は描画命令実行部16のいずれかに入力
される。movetoやlineto等のパス構築オペレータは制御
命令であり、制御命令実行部14に送られる。制御命令
実行部14は、パスの情報を示すデータ構造を有してお
り、パス構築オペレータを解釈して得た線分のデータを
そのデータ構造に逐次追加していく。図3のデータ例で
は、movetoからclosepath までのパス構築オペレータ
は、記述順に順次制御命令実行部14に送られ、この結
果制御命令実行部14にパスを表すデータが構築されて
いく。そして、fillオペレータは、描画命令と解釈さ
れ、描画命令実行部16に入力される。fill等のペイン
トオペレータは、オペランドとしてその処理が適用され
るパスの情報を必要とする。このため、描画命令実行部
16は、fillオペレータのオペランドとして、制御命令
実行部14に対し、それまでに構築されたパスのデータ
についての参照要求を出し、その要求に応じて得られた
パスの情報と、描画命令自体の種類(この場合はfill)
とからなる、描画指示データを後段の描画処理部20に
出力する。
The data of PostScript as shown in FIG. 3 is in the form of text data in the page description language analysis unit 10.
Entered in. The instruction analysis unit 12 decomposes the text data into integers, names, symbols and the like, and further decomposes the decomposed lexical into data and instructions. The data is the control instruction execution unit 14
Sent to and retained within. Further, it is determined whether the command is a control command or a drawing command, and is input to either the control command executing unit 14 or the drawing command executing unit 16 according to the result. Path building operators such as moveto and lineto are control commands and are sent to the control command execution unit 14. The control command execution unit 14 has a data structure indicating path information, and sequentially adds line segment data obtained by interpreting the path construction operator to the data structure. In the data example of FIG. 3, the path construction operators from moveto to closepath are sequentially sent to the control instruction execution unit 14 in the order of description, and as a result, the data representing the path is constructed in the control instruction execution unit 14. Then, the fill operator is interpreted as a drawing command and is input to the drawing command execution unit 16. A paint operator such as fill needs information of a path to which the processing is applied as an operand. Therefore, the drawing command execution unit 16 issues a reference request for the data of the path constructed up to that time to the control command execution unit 14 as an operand of the fill operator, and the path obtained in accordance with the request is issued. Information and type of drawing command itself (fill in this case)
And outputs the drawing instruction data to the drawing processing unit 20 in the subsequent stage.

【0038】図4は、描画命令実行部16から描画処理
部20に供給される描画指示データのデータ構造を示し
ており、図3のPostScript記述に対応してい
る。図4において、命令種類102には、描画命令の種
類を示す識別子(この例ではfill)が記述される。この
命令種類102に続いて、描画命令のオペランドの長さ
を示すデータ104が記述される。パスのデータはパス
を構成する線分の数により変わるので、描画命令のオペ
ランドは可変長データとなる。このため、描画処理部2
0での処理にはオペランドのサイズを示すデータ104
が必要となる。そして、このデータ104の後に、オペ
ランド106が続く。この例では、オペランド106
は、閉領域を定義する線分データの配列となっている。
この配列の各要素は、それぞれ1つの識別子108と2
つの数値データ110のフィールドからなっている。前
記データ104は、この配列の要素の数を示している。
数値データ110は、描画領域上の点の座標を示す。そ
して、識別子108は、その点の意味を示すものであ
り、PostScriptのパス構築オペレータに対応
する。moveは、指定されている点に線を引かずに移動す
る処理を示し、PostScriptのmovetoに対応す
る。lineは、直前の要素の点から指定されている点に向
かって直線を引きながら移動する処理を示し、linetoに
対応する。また、この例では、PostScriptの
curveto オペレータは、curve1、curve2及びcurve3の3
つの要素に分割される。curve1及びcurve2は、ベジェ3
次曲線の2つの制御点を示し、curve3はベジェ3次曲線
の終点を示す。これら3つの要素により、curve1の直前
の要素の点を始点、curve3に指定された点を終点とし、
curve1及びcurve2に指定された点を制御点としたベジェ
3次曲線が指定される。そして、close は、closepath
に対応しており、直前の要素の点から当該パスの始点
(すなわちmoveで示された点)まで直線を引きながら移
動し、パスを明示的に閉じる処理を示す。この要素によ
り、閉曲線のパスが完成する。なお、この例では、curv
e1〜curve3により、パスは既に始点のところまで到達し
ているので、このclose によっては線は引かれず、clos
e は当該パスが閉曲線であることの明示的な宣言の役割
を果たすのみである。
FIG. 4 shows the data structure of the drawing instruction data supplied from the drawing command execution unit 16 to the drawing processing unit 20, and corresponds to the PostScript description of FIG. In FIG. 4, in the command type 102, an identifier (fill in this example) indicating the type of drawing command is described. Following the instruction type 102, data 104 indicating the length of the operand of the drawing instruction is described. Since the path data changes depending on the number of line segments that make up the path, the drawing instruction operand is variable length data. Therefore, the drawing processing unit 2
For processing 0, data 104 indicating the size of the operand
Is required. Then, the operand 106 follows the data 104. In this example, operand 106
Is an array of line segment data defining a closed region.
Each element of this array has an identifier 108 and an identifier 2 respectively.
It is composed of fields of one numerical data 110. The data 104 indicates the number of elements in this array.
The numerical data 110 indicates the coordinates of points on the drawing area. The identifier 108 indicates the meaning of the point and corresponds to the PostScript path construction operator. move indicates a process of moving to a specified point without drawing a line, and corresponds to moveto of PostScript. line indicates the process of moving while drawing a straight line from the point of the immediately preceding element to the specified point, and corresponds to lineto. Also, in this example, PostScript
The curveto operator is 3 for curve1, curve2 and curve3
It is divided into two elements. curve1 and curve2 are Bezier 3
Two control points of the cubic curve are shown, and curve3 shows the end point of the Bezier cubic curve. With these three elements, the point of the element immediately before curve1 is the start point, the point specified in curve3 is the end point,
A Bezier cubic curve with the points specified by curve1 and curve2 as control points is specified. And close is closepath
It corresponds to, and shows the processing of moving from the point of the previous element to the start point of the path (that is, the point indicated by move) while drawing a straight line and explicitly closing the path. This element completes the path of the closed curve. Note that in this example, curv
With e1 to curve3, the path has already reached the start point, so this close does not draw a line, and clos
e only serves as an explicit declaration that the path is a closed curve.

【0039】このように、本実施形態では、ページ記述
言語解析部10は、ペイントオペレータを検出した場合
には、そのオペレータと、対象となるパスを示すオペラ
ンドとを図4のような形式の描画指示データの形に編集
し、描画処理部20に対して出力する。
As described above, in this embodiment, when the page description language analysis unit 10 detects a paint operator, the page description language analysis unit 10 draws the operator and the operand indicating the target path in the format shown in FIG. The instruction data is edited and output to the drawing processing unit 20.

【0040】なお、図4では、描画命令としてfillオペ
レータが与えられた場合を説明したが、ページ記述言語
解析部10は、線を描画するstrokeオペレータについて
も同様にして描画指示データを作成し出力する。また、
文字列の印字を指示するオペレータについては、文字列
をオペランドとした描画指示データを作成し、出力す
る。また、図3においてfillオペレータの後に記述され
ているshowpageオペレータは、それまでに形成された描
画結果の表示(印刷)出力を指示するオペレータであ
り、描画命令として扱われる。描画命令実行部16は、
showpageを受けとると、描画結果の出力指示を示すpage
eject 識別子を含むデータを描画処理部20に対して出
力する。このpageeject 識別子には、印刷枚数を示す整
数値が付加される。この印刷枚数は、showpageオペレー
タに付属する数値に基づき制御命令実行部14に設定さ
れているものであり、デフォルト値は1である。描画命
令実行部16は、制御命令実行部14からこの印刷枚数
データを読み出して、pageeject 識別子に付加して出力
する。このように、描画命令実行部16は、命令解析部
12から描画命令を受けとると、この命令に対応する描
画指示の識別子を求め、更にこの指示の実行に必要なオ
ペランドの情報を制御命令実行部14等から取得し、こ
れらから識別子を先頭とする描画指示データを作成して
描画処理部20に転送する。
In FIG. 4, the case where the fill operator is given as a drawing command has been described, but the page description language analysis unit 10 similarly creates and outputs drawing instruction data for the stroke operator that draws a line. To do. Also,
For the operator who instructs the printing of the character string, the drawing instruction data having the character string as an operand is created and output. Further, the showpage operator described after the fill operator in FIG. 3 is an operator for instructing the display (printing) output of the drawing result formed so far, and is treated as a drawing command. The drawing command execution unit 16
Page that shows output instruction of drawing result when showpage is received
The data including the eject identifier is output to the drawing processing unit 20. An integer value indicating the number of printed sheets is added to this pageeject identifier. The number of printed sheets is set in the control command execution unit 14 based on the numerical value attached to the showpage operator, and the default value is 1. The drawing command execution unit 16 reads out the print number data from the control command execution unit 14, adds it to the pageeject identifier, and outputs it. As described above, when the drawing command executing unit 16 receives the drawing command from the command analyzing unit 12, the drawing command executing unit 16 obtains the identifier of the drawing command corresponding to this command, and further obtains the information of the operand necessary for executing this command from the control command executing unit. 14 and the like, drawing instruction data having an identifier at the head is created from these, and the drawing instruction data is transferred to the drawing processing unit 20.

【0041】次に、描画処理部20について説明する。
描画処理部20は、前述のページ記述言語解析部10か
ら送られてきた描画指示データに基づき、描画バッファ
40に対して描画処理を行うための構成であり、描画指
示検出部22、文字列印字処理部24、線分処理部2
6、領域処理部28、曲線描画部30、直線描画部3
2、スキャン変換部34を含む。描画指示検出部22
は、ページ記述言語解析部10から受けとった描画指示
データを解析して指示の種類を求め、各描画指示データ
をその種類に応じて適切な処理部に振り分ける。指示の
種類は、描画指示データの先頭に示された識別子によっ
て判定する。これにより、文字列の印字指示は文字列印
字処理部24に、線分の描画指示は線分処理部26に、
閉領域の塗りつぶしの指示は領域処理部28に、それぞ
れ振り分けられる。例えば、識別子fillの描画指示デー
タは、領域処理部28に送られる。
Next, the drawing processing section 20 will be described.
The drawing processing unit 20 is configured to perform drawing processing on the drawing buffer 40 based on the drawing instruction data sent from the page description language analysis unit 10 described above. Processor 24, line segment processor 2
6, area processing unit 28, curve drawing unit 30, straight line drawing unit 3
2. Includes a scan converter 34. Drawing instruction detection unit 22
Analyzes the drawing instruction data received from the page description language analysis unit 10 to obtain the type of instruction, and allocates each drawing instruction data to an appropriate processing unit according to the type. The type of instruction is determined by the identifier shown at the beginning of the drawing instruction data. As a result, a character string print instruction is given to the character string print processing unit 24, and a line segment drawing instruction is given to the line segment processing unit 26.
The instruction to fill the closed area is distributed to the area processing unit 28. For example, the drawing instruction data of the identifier fill is sent to the area processing unit 28.

【0042】文字列印字処理部24は、描画指示データ
に含まれる文字列データを、指定されたフォントで描画
バッファ40上に書き込む。描画バッファ40は、一例
としては72dpi(1インチ当たり72ドット)の解
像度の白黒2階調のビットマップイメージを保持するメ
モリを用いることができる。
The character string print processing unit 24 writes the character string data included in the drawing instruction data into the drawing buffer 40 in the designated font. As the drawing buffer 40, for example, a memory that holds a black and white two-tone bitmap image having a resolution of 72 dpi (72 dots per inch) can be used.

【0043】線分処理部26は、線分描画指示を処理す
る専門のモジュールである。線分処理部26は、描画指
示データに含まれるパスのデータを解析し、そのパスを
構成要素の直線分及び曲線分に分解し、直線分に対して
は直線描画部32に、曲線分に対しては曲線描画部30
に、それぞれ描画指示を出す。直線描画部32は、与え
られた始点、終点のデータに従って、描画バッファ40
上に直線を描画する。また、曲線描画部30は、与えら
れた始点、制御点及び終点のデータに従って、描画バッ
ファ40上に曲線を描画する。
The line segment processing section 26 is a specialized module for processing a line segment drawing instruction. The line segment processing unit 26 analyzes the data of the path included in the drawing instruction data, decomposes the path into the straight line segments and the curved line segments of the constituent elements, and the straight line segments are converted into the straight line drawing unit 32 and the curved line segments. On the other hand, the curve drawing unit 30
To each drawing instruction. The straight line drawing unit 32 draws the drawing buffer 40 according to the given start point and end point data.
Draw a straight line on top. In addition, the curve drawing unit 30 draws a curve on the drawing buffer 40 in accordance with the given start point, control point, and end point data.

【0044】領域処理部28は、閉領域の塗りつぶしを
処理するモジュールである。領域処理部28には、直線
描画部32とスキャン変換部34が接続されている。こ
こで、スキャン変換部34は、先に説明したスキャンラ
インアルゴリズムを用い、描画バッファ40上に塗りつ
ぶし図形の描画を行うモジュールである。領域処理部2
8は、描画指示データに含まれる閉領域(パス)のデー
タを解析し、その閉領域が直線分で近似可能か否かを判
定する。直線近似が不可能な場合には、領域処理部28
は、閉領域のデータをスキャン変換部34に供給し、ス
キャンラインアルゴリズムによる塗りつぶし処理を実行
させる。一方、直線近似が可能な場合には、領域処理部
28は、近似直線のデータを作成して直線描画部32に
供給し、直線描画部32に直線分の描画を行わせる。こ
の領域処理部28による近似可否判定等の処理について
は、後に詳しく説明する。
The area processing unit 28 is a module for processing the filling of the closed area. A line drawing unit 32 and a scan conversion unit 34 are connected to the area processing unit 28. Here, the scan conversion unit 34 is a module that draws a filled figure on the drawing buffer 40 using the scan line algorithm described above. Area processing unit 2
8 analyzes the data of the closed area (path) included in the drawing instruction data, and determines whether or not the closed area can be approximated by a straight line segment. If linear approximation is not possible, the area processing unit 28
Supplies the data of the closed region to the scan conversion unit 34, and causes the scan conversion unit 34 to execute the filling process. On the other hand, when straight line approximation is possible, the area processing unit 28 creates approximate straight line data and supplies it to the straight line drawing unit 32, and causes the straight line drawing unit 32 to draw straight line segments. The processing such as the approximation possibility determination by the area processing unit 28 will be described in detail later.

【0045】なお、ページ記述言語解析部10から描画
処理部20に与えられる描画指示データには、描画バッ
ファ40に対する操作を伴わないpageeject のようなも
のもある。描画指示データとしてpageeject が入力され
た場合、描画指示検出部22は、後段に接続されたプリ
ンタ等の装置に対し、信号線36を介して、描画処理終
了を示すコードと印刷枚数のデータとを含む通知を送信
する。この通知を受けた後段の装置は、描画バッファ4
0から描画結果を読み出し、印刷等の処理を行う。
Note that the drawing instruction data given from the page description language analysis unit 10 to the drawing processing unit 20 may be something like page eject that does not involve an operation on the drawing buffer 40. When pageeject is input as the drawing instruction data, the drawing instruction detection unit 22 sends the code indicating the end of the drawing process and the data of the number of prints to the device such as a printer connected in the subsequent stage via the signal line 36. Send notifications containing. The device at the latter stage receiving this notification is the drawing buffer 4
The drawing result is read from 0 and processing such as printing is performed.

【0046】以上、図1の装置における処理の流れの全
体像を説明した。次に、領域処理部28の処理につい
て、更に詳しく説明する。
The overall image of the processing flow in the apparatus of FIG. 1 has been described above. Next, the processing of the area processing unit 28 will be described in more detail.

【0047】前述したように、領域処理部28では、ま
ず、閉領域の塗りつぶし処理が直線分の描画で近似でき
るか否かを判定する。本実施形態では、閉領域を囲い込
むような線幅を持つ直線を想定し、その直線の線幅が所
定の基準値以下である場合に直線近似可能と判定し、近
似描画処理を実行する。この近似処理は次の3つの段階
に分けられる。
As described above, the area processing unit 28 first determines whether or not the filling processing of the closed area can be approximated by drawing a straight line segment. In the present embodiment, a straight line having a line width that encloses a closed region is assumed, and when the line width of the straight line is equal to or less than a predetermined reference value, it is determined that the line can be approximated, and the approximate drawing process is executed. This approximation process is divided into the following three stages.

【0048】第1の段階は、与えられた閉領域(パス)
のデータが連続した1つの領域であるか否かを判定する
段階である。1つの塗りつぶし命令(例えばfill)の対
象となる閉領域(パス)は、連続しない複数の閉領域か
ら構成される場合もあり、このような場合にそれら連続
しない複数の閉領域を1本の連続した直線分で近似して
しまうと、描画結果の印象が元の図形とかなり異なった
ものとなる可能性がある。そこで、本実施形態では、塗
りつぶし対象の閉領域が連続した1つの領域である場合
にのみ近似処理を行うこととしている。図5は、この第
1段階の判定処理の手順を示している。領域処理部28
は、描画指示データのオペランド106(図4参照)で
ある閉領域のデータについて、まず最初のエントリがmo
veであるかを調べ(S10)、次に最後のエントリがcl
ose であるかを調べる(S12)。これらの判定の結果
がいずれか一方でもnoの場合には、領域処理部28は
これを近似不可能と判定し、この閉領域のデータをスキ
ャン変換部34に送る(S16)。そして、最初と最後
以外のエントリにmove又はclose があるかを調べる(S
14)。この判定の結果がyesの場合には、塗りつぶ
し対象の閉領域(パス)が複数の閉領域(サブパス)に
分かれているということなので、領域処理部28はこれ
を近似不可能と判定し、この閉領域のデータをスキャン
変換部34に送る(S16)。そして、S14の判定の
結果がnoであった場合、すなわち閉領域のエントリの
最初がmove、最後がclose で、かつこれら以外のエント
リにmove及びclose がない場合にのみ、次の第2段階の
判定に進む。
The first step is the given closed region (pass).
Is a step of determining whether or not the data of 1 is a continuous area. A closed area (path) that is the target of one filling instruction (for example, fill) may be composed of a plurality of closed areas that are not continuous. In such a case, the plurality of closed areas that are not continuous are combined into one continuous area. If approximated by the straight line segment, the impression of the drawing result may be quite different from the original figure. Therefore, in the present embodiment, the approximation process is performed only when the closed region to be filled is one continuous region. FIG. 5 shows the procedure of this first-stage determination process. Area processing unit 28
Is the operand 106 (see FIG. 4) of the drawing instruction data, the first entry is mo
It is checked whether it is ve (S10), and then the last entry is cl
It is checked whether it is ose (S12). If one of these determination results is no, the area processing unit 28 determines that this cannot be approximated, and sends the data of this closed area to the scan conversion unit 34 (S16). Then, it is checked whether there is move or close in the entries other than the first and last entries (S
14). If the result of this determination is yes, it means that the closed area (path) to be filled is divided into a plurality of closed areas (sub-paths), so the area processing unit 28 determines that this cannot be approximated, and The data of the closed region is sent to the scan conversion unit 34 (S16). Then, only when the result of the determination in S14 is no, that is, when the entry of the closed area is move, the end is close, and there is no move or close in the other entries, the following second stage Go to judgment.

【0049】この第2段階では、塗りつぶし対象の閉領
域が水平又は垂直方向の直線で近似できるか否かを判定
し、この近似可能な場合には、閉領域の塗りつぶしを行
う変わりに、近似直線分の描画を行う。この第2段階以
降では、数値演算が必要となる。領域処理部28では、
これら演算処理に用いる変数等を図6に示す“data”と
いう名前の構造体としてまとめて管理している。
In this second step, it is judged whether or not the closed region to be filled can be approximated by a straight line in the horizontal or vertical direction, and if this can be approximated, instead of filling the closed region, an approximate straight line is drawn. Draw minutes. Numerical calculations are required after the second stage. In the area processing unit 28,
Variables and the like used in these arithmetic processes are collectively managed as a structure named "data" shown in FIG.

【0050】ここで、構造体“data”の各メンバについ
て説明すると、まず実数“limit ”は、直線近似の可否
の判定に用いる基準値であり、近似可能な線幅の最大値
を示す。次に、構造体“bb”には、当該閉領域を囲むバ
ウンディングボックスのデータが設定される。バウンデ
ィングボックスは、(xmin,ymin)を左下の頂点、(xm
ax,ymax)を右上の頂点とする座標軸に平行な矩形とし
て定義される。実数“dd”には、バウンディングボック
スの対角線の傾きの値がセットされる。この値は次の第
3段階の判定で用いられる。構造体“p0”及び“p1”に
は、それぞれ近似直線分の始点及び終点の座標が設定さ
れる。そして、“linewidth ”には、閉領域を直線近似
する場合の近似直線分の線幅がセットされる。
Here, each member of the structure "data" will be described. First, the real number "limit" is a reference value used for determining whether or not linear approximation is possible, and indicates the maximum value of the line width that can be approximated. Next, in the structure “bb”, the data of the bounding box that surrounds the closed area is set. For the bounding box, (xmin, ymin) is the lower left vertex, (xm
ax, ymax) is defined as a rectangle parallel to the coordinate axis with the upper right vertex. The value of the diagonal of the bounding box is set to the real number "dd". This value is used in the determination in the next third stage. The coordinates of the start point and the end point of the approximate straight line segment are set in the structures "p0" and "p1", respectively. Then, in "linewidth", the line width of the approximate straight line segment when the closed region is linearly approximated is set.

【0051】図7を参照して第2段階の処理の手順を説
明する。まず、S20にて、構造体dataの中のlimit
に、判定のための基準値を設定する。この基準値は、シ
ステムに予め登録された既定値である。なお、図7等で
は“data.limit”などの表現が用いられているが、これ
は“構造体.メンバ名”の形であり、構造体内のメンバ
の参照を示している。
The procedure of the second stage processing will be described with reference to FIG. First, in S20, the limit in the structure data
Then, the reference value for the judgment is set. This reference value is a default value registered in advance in the system. In FIG. 7 and the like, expressions such as “data.limit” are used, but this is in the form of “structure.member name” and indicates a reference to a member in the structure.

【0052】次に、S22にて、塗りつぶし対象の閉領
域を囲むバウンディングボックスが求められる。本実施
形態では、閉領域を定義する制御点群(線分の始点、終
点を含む)を囲み、座標系に平行な最小の矩形枠をバウ
ンディングボックスとする。具体的には、各制御点のx
座標の最大値xmax及び最小値xminと、y座標の最大値ym
axと最小値yminとがそれぞれ求められ、それらの値が構
造体bbの各メンバとして設定される。各制御点の座標
は、描画指示データ(図4参照)のオペランド106の
数値データ110から得ることができる。この結果、点
(xmin,ymin)を左下頂点とし点(xmax,ymax)を右上
頂点とする矩形枠、すなわちバウンディングボックスが
定義される。このように、本実施形態では、制御点の座
標の最大値、最小値を求めるだけでバウンディングボッ
クスを決定することができ、極めて高速に処理すること
ができる。
Next, in S22, a bounding box surrounding the closed area to be filled is obtained. In this embodiment, a bounding box is a minimum rectangular frame that surrounds a control point group (including the start point and the end point of a line segment) that defines a closed region and that is parallel to the coordinate system. Specifically, x of each control point
Maximum value xmax and minimum value xmin of coordinates and maximum value ym of y coordinate
The ax and the minimum value ymin are obtained, and those values are set as the members of the structure bb. The coordinates of each control point can be obtained from the numerical data 110 of the operand 106 of the drawing instruction data (see FIG. 4). As a result, a rectangular frame, that is, a bounding box, in which the point (xmin, ymin) is the lower left vertex and the point (xmax, ymax) is the upper right vertex, is defined. As described above, in the present embodiment, the bounding box can be determined only by obtaining the maximum value and the minimum value of the coordinates of the control points, and the processing can be performed at extremely high speed.

【0053】なお、ベジェ曲線には、各制御点(曲線の
始点、終点を含む)を結んで形成される凸多角形の中に
曲線が含まれてしまうという性質(凸閉包性)があるの
で、その凸多角形を囲むバウンディングボックスを考え
れば、曲線はそのバウンディングボックスに完全に含ま
れてしまう。従って、PostScriptのように閉
領域が直線とベジェ曲線との組み合わせで定義されてい
るような場合には、それら直線及び曲線の制御点群を囲
むバウンディングボックスを求めれば、閉領域全体がそ
のバウンディングボックス内に完全に含まれることにな
る。この場合、得られるバウンディングボックスは、真
のバウンディングボックス(すなわち、閉領域を囲み、
座標系に平行な最小の矩形枠)とは必ずしも一致しない
が、真のバウンディングボックスよりも小さくなること
はない。従って、この例では、次に説明するS24やS
26での近似可否判定において、真のバウンディングボ
ックスを用いれば直線近似可能と判定される閉領域を近
似不可能と判定することはあっても、直線近似してはい
けない閉領域(すなわち基準値より幅の大きい閉領域)
を近似可能と判定することはないので、実用上の問題は
ない。もちろん、装置の処理能力、処理速度に余裕があ
るのであれば、閉領域の真のバウンディングボックスを
求め、これに基づき処理を行う構成としても良い。
The Bezier curve has the property that the curve is included in the convex polygon formed by connecting the control points (including the start point and the end point of the curve) (convex closure property). , Considering the bounding box that surrounds the convex polygon, the curve is completely contained in the bounding box. Therefore, in the case where a closed region is defined by a combination of a straight line and a Bezier curve like PostScript, if the bounding box surrounding the control points of the straight line and the curve is obtained, the entire closed region is the bounding box. Will be completely contained within. In this case, the resulting bounding box is the true bounding box (ie, it encloses a closed region,
The smallest bounding box parallel to the coordinate system) does not necessarily match, but is never smaller than the true bounding box. Therefore, in this example, S24 and S, which will be described next,
In the approximation propriety determination in 26, if a true bounding box is used, a closed region that is determined to be linearly approximated may be determined to be not approximated, but a closed region that should not be linearly approximated (that is, from a reference value (A large closed area)
There is no problem in practical use because it is not determined that can be approximated. Of course, if the processing capacity and the processing speed of the apparatus are sufficient, the true bounding box of the closed region may be obtained and the processing may be performed based on this.

【0054】バウンディングボックスが得られると、次
に、S24にてバウンディングボックスの幅、すなわち
x方向の辺の長さ(xmax−xmin)を求め、これを基準値
limit と比較する。比較の結果、前記x方向の辺の長さ
が基準値以下の場合には、閉領域はy方向に延びた幅が
基準値以下の細長い領域であると捉えることができる。
従って、S26において、その閉領域をバウンディング
ボックスに相当する直線分に近似する。より詳しくは、
構造体dataにおいて、まずp0及びp1のx座標に対して
(xmax+xmin)/2をセットし、p0及びp1のy座標に対
してそれぞれymin及びymaxをセットし、linewidth に対
してバウンディングボックスのx方向の幅(xmax−xmi
n)をセットする。p0及びp1をそれぞれ始点及び終点と
し、linewidth を線幅とする直線を描画すれば、バウン
ディングボックスの塗りつぶしと等価な処理結果を得る
ことができる。S26での構造体dataに対するデータの
設定が終わると、領域処理部28は、直線描画部32に
対して、点p0から点p1まで線幅linewidth の直線を引く
指示を出す(S32)。直線描画部32は、指示された
直線を描画バッファ40に対して描画する。
When the bounding box is obtained, the width of the bounding box, that is, the length of the side in the x direction (xmax-xmin) is determined in S24, and this is used as a reference value.
Compare with limit. As a result of the comparison, when the length of the side in the x direction is equal to or smaller than the reference value, the closed region can be regarded as an elongated region whose width extending in the y direction is equal to or smaller than the reference value.
Therefore, in S26, the closed region is approximated to the straight line segment corresponding to the bounding box. For more details,
In the structure data, first set (xmax + xmin) / 2 for the x-coordinates of p0 and p1, set ymin and ymax for the y-coordinates of p0 and p1, respectively, and set the linewidth in the x-direction of the bounding box. Width of (xmax−xmi
n) is set. By drawing straight lines with p0 and p1 as the start and end points and linewidth as the line width, the processing result equivalent to filling the bounding box can be obtained. After setting the data for the structure data in S26, the area processing unit 28 issues an instruction to the straight line drawing unit 32 to draw a straight line having a line width linewidth from the point p0 to the point p1 (S32). The straight line drawing unit 32 draws the designated straight line in the drawing buffer 40.

【0055】S24の判定の結果がnoの場合には、S
28にてバウンディングボックスの高さ、すなわちy方
向の辺の長さ(ymax−ymin)を求め、これを基準値limi
t と比較する。この比較の結果、前記y方向の辺の長さ
が基準値以下の場合には、閉領域はx方向に延びた幅が
基準値以下の細長い領域と捉えることができ、直線近似
可能と判定される。従って、この場合、S30にて近似
直線分を表すパラメータが構造体dataにセットされ、S
32にて直線描画部32に対しこれらパラメータを送信
する。この結果、直線描画部32は、描画バッファ40
にその近似直線分を描画する。
If the result of the determination in S24 is no, S
At 28, the height of the bounding box, that is, the length of the side in the y direction (ymax-ymin) is obtained, and this is used as the reference value limi
Compare with t. As a result of this comparison, when the length of the side in the y direction is equal to or less than the reference value, the closed region can be regarded as an elongated region having a width extending in the x direction equal to or less than the reference value, and it is determined that linear approximation is possible. It Therefore, in this case, the parameter representing the approximate straight line segment is set in the structure data in S30, and S
At 32, these parameters are transmitted to the straight line drawing unit 32. As a result, the line drawing unit 32 causes the drawing buffer 40 to
Draw the approximate straight line segment on.

【0056】さて、S28の判定の結果がnoの場合、
すなわちバウンディングボックスの幅及び高さが共に基
準値limit より大きい場合には、次の第3段階の処理に
進む。
If the result of the determination in S28 is no,
That is, when both the width and height of the bounding box are larger than the reference value limit, the process proceeds to the next third step.

【0057】第3段階の処理では、塗りつぶし対象の閉
領域がバウンディングボックスの対角線で近似可能か否
かを判定する。この第3段階の処理の手順は図8及び図
9に示されている。本実施形態では、閉領域を、前記閉
領域を覆い、対角線に沿った最小の直線分で近似するこ
とを考える。近似の可否の判定は、基本的には対角線に
垂直な方向についての閉領域の最大幅が基準値より大き
いか小さいかによるが、閉領域の最大幅は、その閉領域
をバウンディングボックスの対角線で近似した場合の近
似直線分の線幅と捉えることができる。従って、本実施
形態では、近似直線分の線幅を試算し、この線幅を基準
値と比較し、この線幅が基準値より小さいときに近似可
能と判定する。なお、本実施形態では、高速処理を実現
するために、閉領域を規定する実際の閉曲線ではなく、
その閉曲線を定義する制御点に基づいて閉領域の最大幅
(すなわち近似直線分の線幅)を求める。以下、図8及
び図9のフローチャートを参照しつつ、図10に示され
た閉領域66を例にとって、この第3段階の処理手順を
詳説する。
In the process of the third stage, it is determined whether or not the closed area to be filled can be approximated by the diagonal line of the bounding box. The procedure of this third stage processing is shown in FIGS. 8 and 9. In the present embodiment, it is considered that the closed region is approximated by the minimum straight line segment that covers the closed region and extends along the diagonal line. Whether or not the approximation can be performed basically depends on whether the maximum width of the closed region in the direction perpendicular to the diagonal line is larger or smaller than the reference value.The maximum width of the closed region is the diagonal line of the bounding box. It can be regarded as the line width of an approximate straight line when approximated. Therefore, in the present embodiment, the line width of the approximate straight line segment is trial-calculated, this line width is compared with the reference value, and when this line width is smaller than the reference value, it is determined that approximation is possible. In the present embodiment, in order to realize high-speed processing, not the actual closed curve that defines the closed region,
The maximum width of the closed region (that is, the line width of the approximate straight line segment) is obtained based on the control points that define the closed curve. Hereinafter, the processing procedure of the third stage will be described in detail by taking the closed region 66 shown in FIG. 10 as an example with reference to the flowcharts of FIGS. 8 and 9.

【0058】図10の閉領域66は、ベジェ3次曲線6
2及び64で囲まれた領域であり、曲線62は制御点6
0−1,60−2,60−3,60−4で定義され、曲
線64は制御点60−4,60−5,60−6,60−
1で定義されている。このような閉領域66に対し、前
記第2段階のS22において既にバウンディングボック
ス70が求められている(図11参照)。
The closed region 66 in FIG. 10 is a Bezier cubic curve 6
The area surrounded by 2 and 64, the curve 62 is the control point 6
0-1, 60-2, 60-3, 60-4, and the curve 64 is the control points 60-4, 60-5, 60-6, 60-.
It is defined in 1. A bounding box 70 has already been obtained for the closed region 66 in the second step S22 (see FIG. 11).

【0059】本実施形態では、まずこのバウンディング
ボックス70の2つの対角線のうちの一方を選び、この
対角線による近似可能性を調べる。本実施形態では、傾
きが正の対角線72をまず選択する。近似可能性の判定
のためには、前述したように近似直線分の線幅を求める
必要がある。本実施形態では、対角線72と各制御点と
の距離をそれぞれ求め、それら距離値のうち対角線72
の上側の制御点についての最大値と対角線72の下側の
制御点についての最大値を求め、これら両側の最大値の
和を近似直線分の線幅とする。ただし、対角線と制御点
との距離を点と直線との距離の定義の通りに求めると二
乗演算等が多くなり計算処理に時間がかかるので、本実
施形態では、次のような方法で計算処理量を低減してい
る。
In this embodiment, first, one of the two diagonal lines of the bounding box 70 is selected and the possibility of approximation by this diagonal line is examined. In this embodiment, the diagonal line 72 having a positive inclination is first selected. In order to determine the approximation possibility, it is necessary to obtain the line width of the approximation straight line segment as described above. In the present embodiment, the distance between the diagonal line 72 and each control point is obtained, and the diagonal line 72 of those distance values is calculated.
The maximum value of the control points on the upper side of and the maximum value of the control points on the lower side of the diagonal line 72 are obtained, and the sum of the maximum values on both sides thereof is set as the line width of the approximate straight line segment. However, if the distance between the diagonal line and the control point is calculated according to the definition of the distance between the point and the straight line, the number of square operations increases and the calculation process takes time. Therefore, in the present embodiment, the calculation process is performed by the following method. The amount has been reduced.

【0060】すなわちこの方法では、図11に示すよう
に、各制御点60を通り対角線72に平行な直線を求
め、その直線のy切片ydi を求め、これらydi の最大値
ydmaxと最小値ydmin との差を対角線と垂直な方向に射
影することにより近似直線分の線幅を求める。
That is, in this method, as shown in FIG. 11, a straight line that passes through each control point 60 and is parallel to the diagonal line 72 is obtained, the y-intercept ydi of the straight line is obtained, and the maximum value of these ydi is obtained.
The line width of the approximate straight line segment is obtained by projecting the difference between ydmax and the minimum value ydmin in the direction perpendicular to the diagonal line.

【0061】まず、対角線72の傾きddは、次式によっ
て求めることができる。
First, the slope dd of the diagonal line 72 can be obtained by the following equation.

【0062】[0062]

【数1】 dd =(ymax−ymin)/(xmax−xmin)・・・(1) 左辺の各座標値は、構造体data内のバウンディングボッ
クスbbにセットされている。
## EQU00001 ## dd = (ymax-ymin) / (xmax-xmin) (1) Each coordinate value on the left side is set in the bounding box bb in the structure data.

【0063】次に、制御点の座標(px,py)と前記傾き
ddに基づき、制御点iを通り対角線に平行な直線のy切
片ydi を求める。これは、直線の公式を変形した次式に
より求められる。
Next, the coordinates (px, py) of the control point and the inclination
Based on dd, a y-intercept ydi of a straight line passing through the control point i and parallel to the diagonal line is obtained. This is obtained by the following formula, which is a modification of the straight line formula.

【0064】[0064]

【数2】 ydi = py - px*dd ・・・(2) この演算を全制御点について行い、ydi の最大値及び最
小値を求め、それらの値をそれぞれydmax 及びydmin と
する。
(2) ydi = py-px * dd (2) This operation is performed for all control points to find the maximum and minimum values of ydi, and set those values as ydmax and ydmin, respectively.

【0065】ここで、近似直線分の線幅linewidth は、
次の関係式を満たす。
Here, the line width linewidth of the approximate straight line segment is
The following relational expression is satisfied.

【0066】[0066]

【数3】 linewidth = (ydmax - ydmin )*sinφ =(ydmax - ydmin )*cosθ・・・(3) 一方、点(0,0),(1,0),(1,dd)からなる
直角三角形について三平方の定理を考えると、次の関係
が成り立つ。
[Equation 3] linewidth = (ydmax-ydmin) * sin φ = (ydmax-ydmin) * cos θ (3) On the other hand, a right angle consisting of points (0,0), (1,0), (1, dd) Considering the Pythagorean theorem for a triangle, the following relation holds.

【0067】[0067]

【数4】 1/(cosθ)2 =12 +dd2 ・・・(4) この(4)式を変形すると、## EQU4 ## 1 / (cos θ) 2 = 1 2 + dd 2 (4) When this equation (4) is transformed,

【数5】 (cosθ)2 =1/(1+dd2 )・・・(5) が得られる。この式と(3)式とから、(5) (cos θ) 2 = 1 / (1 + dd 2 ) ... (5) is obtained. From this equation and equation (3),

【数6】 linewidth 2 = (ydmax - ydmin )2 /(1+dd2 )・・・(6) の関係式が導かれる。この(6)式の演算結果の平方根
をとれば、近似直線分の線幅linewidth が求められる。
[Equation 6] linewidth 2 = (ydmax-ydmin) 2 / (1 + dd 2 ) ... (6) The relational expression is derived. The line width linewidth of the approximate straight line segment can be obtained by taking the square root of the calculation result of the equation (6).

【0068】以上の処理を実現するために、領域処理部
28は、図6に示した構造体dataの他に、一時変数とし
てydmax 及びydmin を用いる。そして、まずS40に
て、一時変数ydmax をシステムで取り扱う整数の最小値
に初期化し、ydmin をシステムで取り扱う整数の最大値
に初期化する。そして、S40にて、更に上述の式
(1)に基づいて対角線72の傾きを求め、これを構造
体dataのメンバddにセットする。次に、S42にて、描
画指示データのオペランドから閉領域の制御点を一つ取
りだし、そのx座標及びy座標を一時変数px及びpyに代
入する。そして、S44にて、当該制御点を通り対角線
に平行な直線のy切片を上述の式(2)に基づいて求
め、得られたy切片の値とそれまでのydmax とのうち大
きい方を新たなydmax とし、同様にy切片の値とそれま
でのydmin とのうちと小さい方を新たなydmin とする。
そして、描画指示データに含まれるすべての制御点につ
いて上記S42及びS44の操作を繰り返す。S46に
てすべての制御点について処理したと判定された時点で
は、一時変数ydmax 及びydmin は、それぞれy切片の最
大値及び最小値となっている。
In order to realize the above processing, the area processing unit 28 uses ydmax and ydmin as temporary variables in addition to the structure data shown in FIG. In step S40, the temporary variable ydmax is initialized to the minimum integer value handled by the system, and ydmin is initialized to the maximum integer value handled by the system. Then, in S40, the inclination of the diagonal line 72 is further calculated based on the above equation (1), and this is set in the member dd of the structure data. Next, in S42, one control point in the closed region is taken out from the operand of the drawing instruction data, and its x coordinate and y coordinate are substituted into temporary variables px and py. Then, in S44, the y-intercept of a straight line passing through the control point and parallel to the diagonal line is obtained based on the above equation (2), and the larger of the obtained y-intercept value and ydmax up to that time is newly added. Ydmax, and similarly, the smaller of the y-intercept value and the ydmin up to that point is set as the new ydmin.
Then, the operations of S42 and S44 are repeated for all the control points included in the drawing instruction data. When it is determined in S46 that all control points have been processed, the temporary variables ydmax and ydmin are the maximum value and the minimum value of the y-intercept, respectively.

【0069】このようにしてy切片の最大値及び最小値
が求められると、次にS48にて、上式(6)に従っ
て、近似直線分の線幅の二乗が試算される。試算結果
は、構造体dataのメンバlinewidth に一時的に格納され
る。
When the maximum value and the minimum value of the y-intercept are obtained in this way, next, in S48, the square of the line width squared of the approximate straight line segment is calculated according to the above equation (6). The trial calculation result is temporarily stored in the member linewidth of the structure data.

【0070】直線近似の可否は、この線幅の二乗値のま
まで判定する。すなわち、S50において、線幅の二
乗、すなわち構造体dataのlinewidth の現在値を、同じ
く構造体dataに登録された基準値limit の二乗と比較
し、linewidth がlimit の二乗以下の場合に直線近似可
能と判定する。
Whether the linear approximation is possible or not is determined by the square value of the line width. That is, in S50, the square of the line width, that is, the current value of the linewidth of the structure data is compared with the square of the reference value limit that is also registered in the structure data, and linear approximation is possible when the linewidth is less than or equal to the square of limit. To determine.

【0071】このように、本実施形態では、実際の閉領
域の輪郭自体ではなく、その輪郭を規定する制御点から
近似直線分の線幅を求め、これに基づき近似可否の判定
を行っているが、このような処理でも実用上十分な精度
で近似可否の判定が可能である。特に、PostScr
iptのように閉領域が直線とベジェ曲線で規定される
ような場合には、ベジェ曲線の凸閉包性からいって閉領
域は制御点から求められた近似直線内部に包含されてし
まう。一方、閉領域自体の幅はその近似直線の線幅より
確実に小さいので、本実施形態では、基準値より幅が大
きい閉領域を近似可能と判定することは全くなく、実用
上の問題はない。もちろん、装置の処理能力、処理速度
に余裕があるのであれば、閉領域の輪郭自体に基づき閉
領域の最大幅を求め、これに基づき近似可否の判定を行
う構成としても良い。
As described above, in this embodiment, not the actual contour of the closed region itself but the line width of the approximate straight line segment is obtained from the control point that defines the contour, and the determination as to whether or not the approximation is possible is performed based on this. However, even with such processing, it is possible to determine whether or not the approximation can be performed with sufficient accuracy in practical use. In particular, PostScr
When the closed region is defined by a straight line and a Bezier curve like ipt, the closed region is included in the approximate straight line obtained from the control points due to the convex closure property of the Bezier curve. On the other hand, since the width of the closed region itself is definitely smaller than the line width of the approximate straight line, in the present embodiment, there is no case in which it is determined that a closed region having a width larger than the reference value can be approximated, and there is no practical problem. . Of course, if the processing capacity and the processing speed of the apparatus are sufficient, the maximum width of the closed region may be obtained based on the contour of the closed region itself, and the approximation may be determined based on this.

【0072】S50において直線近似可能と判定された
場合には、近似直線分の線幅及び始点、終点の座標を求
める(S52)。具体的には、まずlinewidth の平方根
を新たに構造体dataのlinewidth にセットし、これを近
似直線分の線幅とする。そして、対角線72の端点(xm
in,ymin)及び(xmax,ymax)を構造体dataの点p0及び
p1の座標としてセットする。そして、S52での構造体
dataに対するデータの設定が終わると、領域処理部28
は、直線描画部32に対して、点p0から点p1まで線幅li
newidth の直線を引く指示を出す(S54)。この結
果、直線描画部32は、指示された直線を描画バッファ
40に対して描画する。図12は、図10に示した閉領
域66に対して得られた近似直線分80を示している。
When it is determined in S50 that the straight line can be approximated, the line width of the approximate straight line segment and the coordinates of the start point and the end point are obtained (S52). Specifically, first, the square root of linewidth is newly set to the linewidth of the structure data, and this is set as the linewidth of the approximate straight line segment. Then, the end point of the diagonal line 72 (xm
in, ymin) and (xmax, ymax) are the points p0 and
Set as coordinates of p1. And the structure at S52
When the data setting for data is completed, the area processing unit 28
Is the line width li from the point p0 to the point p1 for the straight line drawing unit 32.
It gives an instruction to draw a newidth line (S54). As a result, the line drawing unit 32 draws the specified line in the drawing buffer 40. FIG. 12 shows an approximate straight line segment 80 obtained for the closed region 66 shown in FIG.

【0073】図10〜図12の例は、S50で直線近似
可能と判定される場合、すなわちバウンディングボック
スの対角線のうち傾きが正の対角線で近似可能な場合で
あった。これに対して、S50の判定で直線近似不可能
と判定された場合には、バウンディングボックスのもう
一方の対角線についての近似可能性を調べる。この手順
を示したのが図9である。
The examples of FIGS. 10 to 12 are the cases where it is determined in S50 that linear approximation is possible, that is, the diagonal lines of the bounding box that can be approximated with a positive inclination. On the other hand, if it is determined in S50 that linear approximation is not possible, the possibility of approximation for the other diagonal line of the bounding box is checked. This procedure is shown in FIG.

【0074】図9の処理手順では、まずS60にて、構
造体data内の傾きddに、それまでのddの値に−1を乗じ
た値をセットする。以降の処理は、基本的に図8の場合
と同様である。すなわち、図8の場合と同様な処理によ
りydmax 及びydmin を求め(S62〜S66)、更に近
似直線分の線幅の二乗値を求め(S68)、これを基準
値limit の二乗値と比較して、直線近似の可否を判定す
る(S70)。そして、直線近似可能と判定された場合
には、前記線幅の二乗値の平方根をとって近似線分の線
幅limitwidthを求め、更に対角線の端点(xmin,ymax)
及び(xmax,ymin)をそれぞれ近似直線分の始点p0及び
終点p1の座標値としてセットする(S72)。そして、
これら線幅、始点及び終点のデータを直線描画部32に
与え、描画バッファ40上に近似直線を描画させる(S
74)。また、S70の判定で近似不可能と判定された
場合には、当該閉領域はバウンディングボックスの対角
線による近似は不可能ということになるので、閉領域の
制御点のデータをそのままスキャン変換部34に供給
し、スキャン変換部34にスキャンラインアルゴリズム
による領域塗りつぶし処理を実行させる(S76)。
In the processing procedure of FIG. 9, first, in S60, the slope dd in the structure data is set to a value obtained by multiplying the value of dd up to that time by -1. The subsequent processing is basically the same as in the case of FIG. That is, ydmax and ydmin are obtained by the same processing as in the case of FIG. 8 (S62 to S66), the square value of the line width of the approximate straight line segment is further obtained (S68), and this is compared with the square value of the reference value limit. , It is determined whether or not linear approximation is possible (S70). Then, when it is determined that the straight line can be approximated, the square root of the square value of the line width is obtained to obtain the line width limitwidth of the approximate line segment, and further the end points of the diagonal line (xmin, ymax)
And (xmax, ymin) are set as the coordinate values of the start point p0 and the end point p1 of the approximate straight line segment, respectively (S72). And
The line width, the start point and the end point data are given to the straight line drawing unit 32 to draw an approximate straight line on the drawing buffer 40 (S).
74). If it is determined in S70 that the closed region cannot be approximated, it means that the closed region cannot be approximated by the diagonal line of the bounding box. Therefore, the control point data of the closed region is directly input to the scan conversion unit 34. The image data is supplied and the scan conversion unit 34 is caused to execute the area filling processing by the scan line algorithm (S76).

【0075】このように、本実施形態では、まずバウン
ディングボックス自体による近似を試み、これが不可能
な場合にバウンディングボックスの対角線による近似を
試みる。この方式によれば、塗りつぶし対象の閉領域
が、垂直方向、水平方向に細長い(すなわち幅が所定の
基準値より小さい)場合だけでなく、斜め方向に細長い
場合にも、当該閉領域の塗りつぶし処理を直線分の描画
処理によって近似することができる。
As described above, in the present embodiment, first, the approximation by the bounding box itself is tried, and when this is impossible, the approximation by the diagonal line of the bounding box is tried. According to this method, not only when the closed region to be filled is elongated in the vertical and horizontal directions (that is, the width is smaller than a predetermined reference value), but also when it is elongated in the oblique direction, the filling process of the closed region is performed. Can be approximated by a straight line drawing process.

【0076】以上説明した例では、近似可能と判定され
た場合には直線描画部32にて直線分を描画したが、本
実施形態では、これに限らず、例えば近似直線分に対応
する多角形領域を求め、この領域のデータをスキャン変
換部34に送って塗りつぶし処理を行わせることも可能
であり、このような処理でも閉領域の塗りつぶし処理を
高速に近似処理することができる。ただし、一般に直線
描画部32による直線描画処理の方がスキャン変換部3
4による領域塗りつぶし処理よりも高速に処理できるの
で、処理の高速化という目的からすれば前者の方がより
好ましい結果が得られる。
In the example described above, when it is determined that approximation is possible, the straight line drawing unit 32 draws a straight line segment. However, the present embodiment is not limited to this. For example, a polygon corresponding to an approximate straight line segment may be drawn. It is also possible to obtain an area and send the data of this area to the scan conversion unit 34 to perform the filling processing. Even with such processing, the filling processing of the closed area can be approximated at high speed. However, in general, the straight line drawing processing by the straight line drawing unit 32 is more preferable than the scan conversion unit 3.
Since the area filling processing can be performed at a higher speed than the area filling processing by 4, the former can obtain a more preferable result for the purpose of speeding up the processing.

【0077】また、前記第3段階の近似直線の線幅の試
算を、各制御点の座標を距離計算に都合のよい座標系に
座標変換した後に行うことも考えられる。この場合に
は、バウンディングボックスの対角線を求めた後、その
対角線がx軸(又はy軸)に平行になるように各制御点
の座標を座標変換(すなわち回転)させる。このように
すれば、単純な座標成分の比較のみによって近似直線の
線幅を求めることができる。
It is also possible to carry out the trial calculation of the line width of the approximated straight line in the third stage after the coordinates of each control point are converted into a coordinate system convenient for distance calculation. In this case, after the diagonal line of the bounding box is obtained, the coordinates of each control point are coordinate-converted (that is, rotated) so that the diagonal line becomes parallel to the x-axis (or the y-axis). By doing so, the line width of the approximate straight line can be obtained only by simply comparing the coordinate components.

【0078】また、以上の実施形態は、近似判定の基準
値limit の値が当該描画処理装置の1ピクセルの幅程度
の場合を想定したものであるが、基準値limit を更に大
きな値に設定すれば、描画処理を更に高速化することが
できる。基準値limit を1ピクセルの幅より大きな値に
設定した場合には、次の方法により画質の向上を図るこ
とができる。
In the above embodiment, the reference value limit of the approximation judgment is assumed to be about one pixel width of the drawing processing apparatus. However, the reference value limit may be set to a larger value. If so, the drawing process can be further speeded up. When the reference value limit is set to a value larger than the width of one pixel, the image quality can be improved by the following method.

【0079】すなわち、この方法では、閉領域の分布が
バウンディングボックスの対角線に対して均等ではなく
一方に偏っている場合に、その偏りを反映した近似直線
分を描画する。このためには、図13に示すように、制
御点60を通り対角線72に平行な直線のy切片の最大
値ydmax と最小値ydmin の中点(ydmax+ydmin )/2を
求め、近似直線分の中心軸を、この中点を通り対角線7
2に平行な直線74にシフトする。この近似直線分の始
点p0及び終点p1(図13参照)は簡単な演算により求め
られる。図13の例では、近似直線分を対角線に垂直な
方向にシフトしたが、y軸方向にシフトしてもよい。
That is, according to this method, when the distribution of the closed region is not uniform with respect to the diagonal of the bounding box and is biased to one side, an approximate straight line segment reflecting the bias is drawn. To this end, as shown in FIG. 13, the midpoint (ydmax + ydmin) / 2 of the maximum value ydmax and the minimum value ydmin of the y-intercept line of the straight line that passes through the control point 60 and is parallel to the diagonal line 72 is calculated, and the approximate straight line segment is obtained. Diagonal line 7 passing through this midpoint
Shift to a straight line 74 parallel to 2. The start point p0 and the end point p1 (see FIG. 13) of this approximate straight line segment are obtained by a simple calculation. In the example of FIG. 13, the approximate straight line segment is shifted in the direction perpendicular to the diagonal line, but it may be shifted in the y-axis direction.

【0080】また、対角線に対する閉領域の偏りを反映
した近似描画の手法としては、次のような方法も考えら
れる。すなわち、この方法では、閉領域をバウンディン
グボックスの対角線の上側と下側とに分けて考え、まず
それぞれの側について制御点の対角線との距離の最大値
を求める。この最大値は、前述のy切片を用いる方法で
求めることができる。そして、対角線の上側及び下側に
対し、それぞれの側の前記最大値を線幅とし、対角線に
て隣接する2本の直線を描画する。この方法でも、閉領
域の偏りに応じて近似直線の中心軸をシフトする方法と
同様の結果を得ることができる。
The following method is also conceivable as a method of approximate drawing that reflects the bias of the closed region with respect to the diagonal line. That is, in this method, the closed region is considered separately on the upper side and the lower side of the diagonal line of the bounding box, and the maximum value of the distance from the diagonal line of the control point is first obtained for each side. This maximum value can be obtained by the method using the aforementioned y-intercept. Then, with respect to the upper side and the lower side of the diagonal line, the maximum value on each side is set as the line width, and two straight lines adjacent to each other on the diagonal line are drawn. Also with this method, the same result as the method of shifting the central axis of the approximate straight line according to the bias of the closed region can be obtained.

【0081】また、上記実施形態では、一方の対角線で
近似可能と判定された場合には、すぐにその対角線によ
る近似を行っていたが、近似結果の精度を向上させるた
めには、両方の対角線について近似可能性を調べ、より
良好な近似直線分が得られる方を選択するという方法を
取ることもできる。この場合、バウンディングボックス
の両方の対角線についてそれぞれ近似直線分の線幅を求
め、この線幅の小さい方の対角線を選択して、この対角
線に沿って近似直線分を描画する。
Further, in the above embodiment, when it is determined that one diagonal line can be approximated, the diagonal line is immediately used for approximation. However, in order to improve the accuracy of the approximation result, both diagonal lines can be used. It is also possible to take a method of examining the approximation possibility with respect to and selecting the one that can obtain a better approximation straight line segment. In this case, the line widths of the approximate straight line segments are obtained for both diagonal lines of the bounding box, the diagonal line with the smaller line width is selected, and the approximate straight line segments are drawn along this diagonal line.

【0082】また、上記実施形態では、近似判定の基準
値limit の値はシステムに予め登録された固定値であっ
たが、基準値limit の値を動的に変化させることも可能
である。すなわち、基準値limit の値は、近似判定処理
を開始するまでに確定されていればよいので、システム
に基準値を入力するためのユーザインタフェースを設
け、各描画処理機会ごとにユーザが基準値を入力する構
成とすることもできる。この構成によれば、ユーザが処
理速度と描画品質とのトレードオフを勘案して、適切な
基準値を設定することができる。
Further, in the above embodiment, the reference value limit of the approximation judgment is a fixed value registered in advance in the system, but the value of the reference value limit can be dynamically changed. That is, the value of the reference value limit needs to be fixed by the time the approximation determination process is started. Therefore, a user interface for inputting the reference value is provided in the system, and the user sets the reference value for each drawing processing opportunity. It can also be configured to input. With this configuration, the user can set an appropriate reference value in consideration of the trade-off between the processing speed and the drawing quality.

【0083】また、上記実施形態では、描画対象の閉領
域がPDLで記述されている場合について説明したが、
本発明はこのような場合に限定されるものではなく、様
々な形式で表現された領域の塗りつぶし処理に適用可能
である。
In the above embodiment, the case where the closed area to be drawn is described in PDL has been described.
The present invention is not limited to such a case, and can be applied to the filling processing of areas expressed in various formats.

【0084】[0084]

【発明の効果】以上説明したように、本発明によれば、
塗りつぶし対象の領域が斜め方向に細長い場合には、そ
の領域を囲む矩形枠の対角線を描画することにより、前
記領域の塗りつぶしを近似的に高速に処理することがで
きる。
As described above, according to the present invention,
When the area to be filled is slender in the diagonal direction, by drawing a diagonal line of a rectangular frame surrounding the area, the filling of the area can be processed approximately at high speed.

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

【図1】 本発明に係る描画処理装置の概略構成を示す
機能ブロック図である。
FIG. 1 is a functional block diagram showing a schematic configuration of a drawing processing apparatus according to the present invention.

【図2】 閉領域の一例を示す図である。FIG. 2 is a diagram showing an example of a closed region.

【図3】 図2の閉領域の塗りつぶしを指示するPos
tScriptの記述例である。
3 is a Pos for instructing filling of a closed area in FIG.
It is a description example of tScript.

【図4】 図3の記述に対応して実施形態のページ記述
言語解析部で作成される描画指示データの内容を示す図
である。
FIG. 4 is a diagram showing the content of drawing instruction data created by a page description language analysis unit of the embodiment corresponding to the description of FIG.

【図5】 近似処理の可否判定の第1段階の処理手順を
示すフローチャートである。
FIG. 5 is a flowchart showing a processing procedure of a first step of determining whether or not approximation processing is possible.

【図6】 実施形態の領域処理部において用いられるデ
ータの構造を示す図である。
FIG. 6 is a diagram showing a structure of data used in the area processing unit of the embodiment.

【図7】 近似処理の可否判定の第2段階の処理手順を
示すフローチャートである。
FIG. 7 is a flowchart showing a processing procedure of a second step of determining whether or not approximation processing is possible.

【図8】 近似処理の可否判定の第3段階の処理手順の
一部を示すフローチャートである。
FIG. 8 is a flowchart showing a part of a processing procedure of a third step of determining whether or not approximation processing is possible.

【図9】 近似処理の可否判定の第3段階の処理手順の
残りの部分を示すフローチャートである。
FIG. 9 is a flowchart showing the remaining part of the processing procedure of the third step of determining whether or not approximation processing is possible.

【図10】 斜め方向に細長い閉領域の一例を示す図で
ある。
FIG. 10 is a diagram showing an example of a closed region elongated in an oblique direction.

【図11】 図10の閉領域に対する近似処理の手順を
説明するための図である。
FIG. 11 is a diagram for explaining the procedure of an approximation process for the closed region in FIG.

【図12】 図10の閉領域が斜め方向の直線分で近似
描画された結果を示す図である。
FIG. 12 is a diagram showing a result of approximate drawing of the closed region in FIG. 10 by a straight line segment in an oblique direction.

【図13】 近似描画の手法の変形例を説明するための
図である。
FIG. 13 is a diagram for explaining a modified example of the approximate drawing method.

【図14】 スキャンラインアルゴリズムの手順を説明
するための図である。
FIG. 14 is a diagram for explaining a procedure of a scanline algorithm.

【図15】 従来の近似描画手法を説明するための図で
ある。
FIG. 15 is a diagram for explaining a conventional approximate drawing method.

【図16】 斜め方向に細長い領域の一例である。FIG. 16 is an example of a region elongated in an oblique direction.

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

10 ページ記述言語解析部、12 命令解析部、14
制御命令実行部、16 描画命令実行部、20 描画
処理部、22 描画指示検出部、24 文字列印字処理
部、26 線分処理部、28 領域処理部、30 曲線
描画部、32直線描画部、34 スキャン変換部、40
描画バッファ。
10 page description language analysis unit, 12 instruction analysis unit, 14
Control command executing unit, 16 drawing command executing unit, 20 drawing processing unit, 22 drawing instruction detecting unit, 24 character string printing processing unit, 26 line segment processing unit, 28 area processing unit, 30 curve drawing unit, 32 straight line drawing unit, 34 scan converter, 40
Drawing buffer.

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/40 200 G09G 5/20 G09G 5/36 Front page continuation (58) Fields surveyed (Int.Cl. 7 , DB name) G06T 11/40 200 G09G 5/20 G09G 5/36

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 塗りつぶし対象の領域を囲み、水平線及
び垂直線で構成される最小の矩形枠を求める矩形枠算出
手段と、 前記矩形枠の対角線を求める対角線算出手段と、 前記対角線に垂直な方向についての前記領域の最大幅を
求める領域幅算出手段と、 前記最大幅を所定の基準値と比較し、前記最大幅が前記
基準値以下の場合に前記領域が近似描画可能であると判
定する近似可否判定手段と、 前記近似可否判定手段にて近似描画可能と判定された場
合に、前記対角線に沿って前記最大幅に対応する幅の線
分を描画する近似描画手段と、 を有することを特徴とする描画処理装置。
1. A rectangular frame calculation unit that surrounds a region to be filled and that calculates a minimum rectangular frame that is composed of horizontal lines and vertical lines, a diagonal line calculation unit that calculates a diagonal line of the rectangular frame, and a direction perpendicular to the diagonal line. Region width calculation means for obtaining the maximum width of the region, and comparing the maximum width with a predetermined reference value, and if the maximum width is less than or equal to the reference value, the region is approximated to be drawable approximation A possibility determining unit, and an approximate drawing unit that draws a line segment having a width corresponding to the maximum width along the diagonal line when the approximate possibility determining unit determines that approximate drawing is possible. Drawing processing device.
【請求項2】 塗りつぶし対象領域を定義する制御点群
の座標に基づき、前記制御点群を囲み、水平線及び垂直
線で構成される最小の矩形枠を求める矩形枠算出手段
と、 前記矩形枠の対角線を求める対角線算出手段と、 前記対角線と前記各制御点との距離を求め、前記対角線
の上下それぞれの側についての前記距離の最大値同士の
和に基づき前記領域の最大幅を決定する領域幅算出手段
と、 前記最大幅を所定の基準値と比較し、前記最大幅が前記
基準値以下の場合に前記領域が近似描画可能であると判
定する近似可否判定手段と、 前記近似可否判定手段にて近似描画可能と判定された場
合に、前記対角線に沿って前記最大幅に対応する幅の線
分を描画する近似描画手段と、 を有することを特徴とする描画処理装置。
2. A rectangular frame calculating means for calculating a minimum rectangular frame that surrounds the control point group and is composed of horizontal lines and vertical lines based on the coordinates of the control point group that defines the area to be filled, Diagonal line calculating means for obtaining a diagonal line, the distance between the diagonal line and each of the control points is obtained, and the area width for determining the maximum width of the area based on the sum of the maximum values of the distances on each side of the diagonal line. Computation means, comparing the maximum width with a predetermined reference value, the approximation possibility determination means for determining that the region can be approximated when the maximum width is less than the reference value, the approximation possibility determination means Approximate drawing means for drawing a line segment having a width corresponding to the maximum width along the diagonal line when it is determined that approximate drawing is possible.
【請求項3】 請求項2に記載の描画処理装置におい
て、 前記領域幅算出手段は、前記対角線が一方の座標軸と平
行になるよう座標変換を行い、座標変換後の各制御点の
座標に基づき前記距離を求めることを特徴とする描画処
理装置。
3. The drawing processing apparatus according to claim 2, wherein the area width calculation means performs coordinate conversion so that the diagonal line is parallel to one coordinate axis, and based on the coordinates of each control point after the coordinate conversion. A drawing processing apparatus for obtaining the distance.
【請求項4】 請求項2又は3に記載の描画処理装置に
おいて、 前記近似描画手段は、前記距離の前記対角線の上側につ
いての最大値と下側についての最大値との差に応じて、
前記線分の中心軸を前記対角線からシフトすることを特
徴とする描画処理装置。
4. The drawing processing device according to claim 2 or 3, wherein the approximate drawing unit is configured to, in accordance with a difference between a maximum value of an upper side and a maximum value of a lower side of the diagonal of the distance,
A drawing processing apparatus, wherein a central axis of the line segment is shifted from the diagonal line.
【請求項5】 請求項2又は3記載の描画処理装置にお
いて、 前記近似描画手段は、前記対角線の上側の前記距離の最
大値を線幅とする線分と前記対角線の下側の前記距離の
最大値を線幅とする線分とを前記対角線を境に隣接させ
て描画することを特徴とする描画処理装置。
5. The drawing processing apparatus according to claim 2, wherein the approximate drawing unit is configured to divide a line segment having a maximum value of the distance above the diagonal line as a line width and the distance below the diagonal line. A drawing processing apparatus, which draws a line segment having a maximum value as a line width adjacent to each other with the diagonal line as a boundary.
【請求項6】 請求項1〜5のいずれかに記載の描画処
理装置において、 前記領域幅算出手段に対して前記矩形枠の2つの対角線
のそれぞれについて前記最大幅を求めさせ、2つの対角
線についての前記最大幅が共に前記基準値より小さい場
合に、前記最大幅が小さい方の対角線についての線分を
前記近似描画手段に描画させる制御手段を有することを
特徴とする描画処理装置。
6. The drawing processing apparatus according to claim 1, further comprising causing the area width calculating unit to obtain the maximum width for each of two diagonal lines of the rectangular frame. When both of the maximum widths are smaller than the reference value, the drawing processing apparatus further comprises control means for causing the approximate drawing means to draw a line segment for a diagonal line having a smaller maximum width.
【請求項7】 請求項1〜6のいずれかに記載の描画処
理装置であって、 前記基準値に関するユーザの入力を受け付ける基準値入
力手段を有することを特徴とする描画処理装置。
7. The drawing processing apparatus according to claim 1, further comprising a reference value input unit that receives a user's input regarding the reference value.
JP21845396A 1996-08-20 1996-08-20 Drawing processing device Expired - Fee Related JP3436008B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21845396A JP3436008B2 (en) 1996-08-20 1996-08-20 Drawing processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21845396A JP3436008B2 (en) 1996-08-20 1996-08-20 Drawing processing device

Publications (2)

Publication Number Publication Date
JPH1063867A JPH1063867A (en) 1998-03-06
JP3436008B2 true JP3436008B2 (en) 2003-08-11

Family

ID=16720153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21845396A Expired - Fee Related JP3436008B2 (en) 1996-08-20 1996-08-20 Drawing processing device

Country Status (1)

Country Link
JP (1) JP3436008B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476103B2 (en) 2009-11-27 2014-04-23 富士フイルム株式会社 Page description data processing apparatus, method and program
JP5369041B2 (en) 2010-03-30 2013-12-18 富士フイルム株式会社 Page description data processing apparatus, method and program
JP2011210164A (en) * 2010-03-30 2011-10-20 Fujifilm Corp Page description data processing apparatus, method and program
US8144147B2 (en) * 2010-04-07 2012-03-27 Intel Corporation Hierarchical bounding of displaced parametric surfaces
CN106482675B (en) * 2016-10-17 2019-01-18 武汉大学 A kind of area ploughed by tractors automatic measurement & calculation method, apparatus and system

Also Published As

Publication number Publication date
JPH1063867A (en) 1998-03-06

Similar Documents

Publication Publication Date Title
JP3333297B2 (en) How to change the thickness of raster output characters
US6765576B2 (en) Tile-based digital differential analyzer rasterization
US6507677B2 (en) Image data adjusting device and method
JP3142550B2 (en) Graphic processing unit
US5404431A (en) Image drawing with improved area ratio approximation process
JP3436008B2 (en) Drawing processing device
EP0537030A2 (en) Character or graphic processing method
US5095520A (en) Method and apparatus for drawing wide lines in a raster graphics system
US5388166A (en) Image drawing apparatus
JPH08146936A (en) Method and device for processing outline font data
JP2666750B2 (en) Figure placement device
US6201553B1 (en) Character generating method and apparatus
JP4772604B2 (en) Vector graphic drawing apparatus and program thereof
US6538756B1 (en) Information processing apparatus and recording medium with pattern generation programs recorded thereon
US5574842A (en) Document processing apparatus and method for generating a character or symbol pattern across a plurality of lines
JPH0877324A (en) Electronic filing device
JP2002015329A (en) Image processing device and image processing method
JPH1131231A (en) Picture forming device and gradation plotting method
US5134687A (en) Method for converting image data into dot data
JP5473782B2 (en) Image processing apparatus and image processing program
EP0981106A2 (en) Method and apparatus for image scaling
JP3082467B2 (en) Outline data processing device
JP3716528B2 (en) Image processing device
JP3493745B2 (en) Drawing device
JPH1049690A (en) Picture forming device

Legal Events

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

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees