JPH03127097A - Drawing method for vector font - Google Patents

Drawing method for vector font

Info

Publication number
JPH03127097A
JPH03127097A JP1266675A JP26667589A JPH03127097A JP H03127097 A JPH03127097 A JP H03127097A JP 1266675 A JP1266675 A JP 1266675A JP 26667589 A JP26667589 A JP 26667589A JP H03127097 A JPH03127097 A JP H03127097A
Authority
JP
Japan
Prior art keywords
vector
reference point
point
character
coordinate values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1266675A
Other languages
Japanese (ja)
Inventor
Yukihiro Taguchi
田口 之博
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1266675A priority Critical patent/JPH03127097A/en
Publication of JPH03127097A publication Critical patent/JPH03127097A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To increase the speed of drawing which uses the vector font by referring to stored coordinate values and calculating the outer product of two vectors, and determining a triangle to be painted out. CONSTITUTION:A processor 1 reads a program out of a ROM 2, reads the coordinate values of a vector for drawing the contour of a character stored in a RAM 3 to draw the contour of the character on an image memory 4, and paints out the bits in a closed area segmented with the contour. For example, it is checked whether there are other points in a triangle DELTAABC and when not, the inside of the triangle DELTAABC is painted out. Then the coordinate value of the RAM 3 indicated by a point B is given a deletion mark and the operation is finished when the number of dots which are not given the deletion mark reaches two. Consequently, a drawn character can be painted out quickly on a vector font basis.

Description

【発明の詳細な説明】 〔概要〕 品質の良い文字を高速に描画することを可能とするベク
トルフォントの描画方法に関し、ベクトルフォントによ
る描画速度を高速化することを目的とし、 文字の輪郭を描画するベクトルの基準点の位置を示す座
標値を、輪郭を描画する順に順次連続して記憶し、ベク
トル描画された文字輪郭の内部を塗りつぶして文字を作
成する文字情報出力装置の処理において、記憶された座
標値の中の任意の基準点Aに対応する座標値と、基準点
Aに隣接する基準点Bの座標値と、基準点Bに隣接する
基準点Cの座標値に基づき、ベクトルABとベクトルA
Cの外積を求め、基準点CがベクトルABに対し、文字
輪郭内側にあるか否かを調べ、基準点Cが文字輪郭内側
にある場合、三角形ΔABCの内部に他の基準点が存在
するか否かを調べ、三角形ΔABCの内部に他の基準点
が存在しない場合、三角形ΔABCの内部を塗りつぶす
と共に、基準点Bの座標値に削除マークを付与し、基準
点Cが文字輪郭内側に無い場合と、三角形ΔABCの内
部に他の基準点が存在する場合と、三角形ΔABCの内
部の塗りつぶしが済んだ場合は、新たな任意の基準点A
を定めて前記動作を繰り返すことにより、削除マークを
付与されない基準点の数が2となった時、塗りつぶし動
作を終了する構成とする。
[Detailed Description of the Invention] [Summary] Regarding a vector font drawing method that enables high-quality characters to be drawn at high speed, the present invention aims to speed up the drawing speed of vector fonts by drawing outlines of characters. Coordinate values indicating the position of the reference point of the vector to be drawn are sequentially memorized in the order in which the outline is drawn, and are stored in the process of a character information output device that creates a character by filling in the inside of the character outline drawn by the vector. The vector AB and Vector A
Find the cross product of C, check whether the reference point C is inside the character outline with respect to the vector AB, and if the reference point C is inside the character outline, are there other reference points inside the triangle ΔABC? If there is no other reference point inside the triangle ΔABC, fill the inside of the triangle ΔABC and add a deletion mark to the coordinates of the reference point B, and if the reference point C is not inside the character outline. , if there is another reference point inside the triangle ΔABC, or if the interior of the triangle ΔABC has been filled, a new arbitrary reference point A is created.
By repeating the above operation after determining , the filling operation is terminated when the number of reference points that are not marked for deletion reaches 2.

〔産業上の利用分野〕[Industrial application field]

本発明は情報処理装置の文字情報出力装置に係り、特に
品質の良い文字を高速に描画することを可能とするベク
トルフォントの描画方法に関する。
The present invention relates to a character information output device for an information processing device, and more particularly to a vector font drawing method that enables high-quality characters to be drawn at high speed.

パーソナルコンピュータやワードプロセッサ及びCAD
システム等の情報処理装置の文字情報出力装置として、
プリンタやグラフィックデイスプレィ装置等が使用され
ている。そして、このプリンタやグラフィックデイスプ
レィ装置等の高性能化に伴い、表示或いは印字される文
字の品質向上が要求されている。
Personal computer, word processor and CAD
As a character information output device for information processing devices such as systems,
Printers, graphic display devices, etc. are used. As printers, graphic display devices, etc. become more sophisticated, there is a demand for improved quality of displayed or printed characters.

ところで、既存の文字描画方法は、予め文字フォントを
ROM等に格納しておき、この文字フォントを読出して
画像メモリ上に展開することにより、文字表示を行って
いる。そして、文字の大きさを変えて文字表示を行う場
合、ROMから読出した文字フォントを拡大又は縮小し
ているが、これでは文字の曲線部分に凹凸が表れるため
、文字品質が著い低下する。
By the way, in existing character drawing methods, character fonts are stored in advance in a ROM, etc., and characters are displayed by reading out the character fonts and developing them on an image memory. When displaying characters by changing the size of the characters, the character font read from the ROM is enlarged or reduced, but this causes irregularities to appear on the curved portions of the characters, resulting in a significant drop in character quality.

これを避けるためベクトルフォントによる描画方法が提
案されているが、この描画速度は速いことが望まれてい
る。
To avoid this, a drawing method using vector fonts has been proposed, but it is desired that this drawing speed be fast.

〔従来の技術〕[Conventional technology]

従来のベクトルフォントによる文字の描画方法は、ベク
トルにより文字の輪郭を画像メモリ上に描画してから、
その閉領域内部のビットを塗りつぶす方法が用いられて
いる。
The conventional method for drawing characters using vector fonts is to draw the outline of the character using vectors on image memory, then
A method is used to fill in the bits inside the closed area.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ベクトルにより文字の輪郭を描画すると、幾つかの閉領
域が形成される。従って、この閉領域を塗りつぶすこと
により、文字を描くことが出来る。
When the outline of a character is drawn using vectors, several closed regions are formed. Therefore, characters can be drawn by filling in this closed area.

しかし、従来はこの閉領域を検出するのに、画像メモリ
に描かれた文字の外形をサーチする走査が必要であった
。即ち、主走査方向に逐次メモリ内容を読出しながら、
ビットをチエツクして境界点を示す黒ドツトが2点検出
されると、この2点の黒ドツト間を総て黒ドツトとする
処理を行う。
However, conventionally, in order to detect this closed area, scanning was required to search for the outline of the character drawn in the image memory. That is, while sequentially reading out the memory contents in the main scanning direction,
When the bits are checked and two black dots indicating boundary points are detected, a process is performed to make all the areas between these two black dots black.

従って、塗りつぶし動作時間が長くなると共に、描画速
度はメモリのアクセス速度に大きく影響されるという問
題がある。
Therefore, there is a problem that the filling operation time becomes longer and the drawing speed is greatly influenced by the memory access speed.

本発明はこのような問題点に鑑み、ベクトルフォントに
よる描画速度を高速化することを目的としている。
In view of these problems, the present invention aims to increase the drawing speed of vector fonts.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明の構成を示す処理の流れ図である。 FIG. 1 is a process flowchart showing the configuration of the present invention.

第1図は文字情報出力装置を制御するプロセッサの処理
の流れを示し、5〜9は処理のステップである。
FIG. 1 shows the flow of processing by a processor that controls a character information output device, and 5 to 9 are processing steps.

即ち、文字の輪郭を描画するベクトルの基準点の位置を
示す座標値を、該輪郭を描画する順に順次連続して記憶
し、該座標値に基づきベクトル描画された文字輪郭の内
部を塗りつぶして文字を作成する文字情報出力装置にお
いて、 プロセッサはステップ5において、前記記憶された座標
値の中の任意の基準点Aの座標値と、該基準点Aに隣接
する基準点Bの座標値と、該基準点Bに隣接する基準点
Cの座標値に基づき、ベクトルABとベクトルACO外
積を求め、ステップ6で、Bfj基準点Cが該ベクトル
ABに対し、文字輪郭内側にあるか否かを検出し、 該基準点Cが文字輪郭内側にある場合は、ステップ7で
、三角形ΔABCの内部に他の基準点が存在するか調べ
、 他の基準点が存在しなければ、ステップ8で三角形ΔA
BCの内部を塗りつぶすと共に、該基準点Bの座標値に
削除マークを付与して、以後の処理からは除外すること
を指定し、 ステップ6で前記基準点Cが文字輪郭内側に無い場合と
、ステップ7で三角形ΔABCの内部に他の基準点が存
在する場合と、ステップ8で三角形ΔABCの内部の塗
りつぶしが済んだ場合は、ステップ5の処理に戻り、新
たな任意の基準点Aを定めて前記動作を繰り返すことに
より、ステップ9で前記削除マークを付与されていない
前記ベクトルの基準点の数が2となった時、塗りつぶし
動作を終了する。
That is, the coordinate values indicating the position of the reference point of the vector for drawing the outline of a character are sequentially memorized in the order in which the outline is drawn, and the inside of the character outline drawn by the vector is filled based on the coordinate values to draw the character. In the character information output device that creates a Based on the coordinate values of the reference point C adjacent to the reference point B, the cross product of the vector AB and the vector ACO is obtained, and in step 6, it is detected whether or not the Bfj reference point C is inside the character contour with respect to the vector AB. , If the reference point C is inside the character contour, in step 7 it is checked whether there is another reference point inside the triangle ΔABC, and if there is no other reference point, in step 8 the triangle ΔA is
Fill in the inside of BC, add a deletion mark to the coordinates of the reference point B, and specify that it will be excluded from subsequent processing, and in step 6, if the reference point C is not inside the character outline, If there is another reference point inside triangle ΔABC in step 7, or if the interior of triangle ΔABC has been filled in in step 8, return to step 5 and define a new arbitrary reference point A. By repeating the above operation, when the number of reference points of the vector to which the deletion mark has not been added reaches 2 in step 9, the filling operation is completed.

〔作用〕[Effect]

上記の如く構成することにより、記憶されている座標値
を参照して、二つのベクトルの外積を演算することで、
塗りつぶしの対象となる三角形を決定するため、従来の
ように画像メモリに展開された文字輪郭をサーチする必
要が無く、文字品質の良いベクトルフォントによる描画
文字の塗りつぶしを高速化することが可能となり、品質
の良い文字を高速に描画することが出来る。
By configuring as above, by referring to the stored coordinate values and calculating the cross product of two vectors,
In order to determine the triangle to be filled, there is no need to search the character outline developed in image memory as in the past, and it is now possible to speed up the filling of drawn characters using vector fonts of high character quality. It is possible to draw high-quality characters at high speed.

〔実施例〕〔Example〕

第2図は本発明の一実施例を示す回路のブロック図で、
第3図は第2図の動作を説明する図である。
FIG. 2 is a block diagram of a circuit showing an embodiment of the present invention.
FIG. 3 is a diagram illustrating the operation of FIG. 2.

プロセッサ1はROM2に格納されているプログラムを
読出して動作し、RAM3に格納されている文字の輪郭
を描画するベクトルの座標値を読出して、画像メモリ4
に文字の輪郭を描画し、この輪郭で区分される閉領域内
のビットの塗りつぶしを行う。
The processor 1 reads a program stored in the ROM 2 and operates it, reads out the coordinate values of a vector for drawing the outline of a character stored in the RAM 3, and stores the coordinate values in the image memory 4.
The outline of the character is drawn, and the bits within the closed area defined by this outline are filled in.

RAM3には、例えば、第3図に示す如き輪郭の図形に
基づくベクトルの基準点の座標値が格納されている。即
ち、基準点Aを示す座標値χ1.Y1から基準点Hを示
す座標値に□Y8までが、例えば、下記の如く順次記憶
されている。
The RAM 3 stores, for example, coordinate values of reference points of vectors based on contour figures as shown in FIG. That is, the coordinate value χ1. indicating the reference point A. The coordinate values from Y1 to □Y8 indicating the reference point H are sequentially stored, for example, as shown below.

X、、Y。X,,Y.

X、、Y。X,,Y.

X3・Yゴ X、、Y。X3・Ygo X,,Y.

X、、Y。X,,Y.

X&、 Y& X?、Y? XIl、Y8 上記の配列は各ベクトルがA点を基準にして、順次時計
回りの方向(以後右方向と略す)に描画されていること
を示している。プロセッサ1は先ずRAM3に記録され
ている座標値から、任意の1点を選択し、例えば、A点
の座標値X、、Y、を始点として2点目のB点の座標値
Xt、 yzを読出す。
X&, Y&X? , Y? XIl, Y8 The above arrangement shows that each vector is drawn sequentially in a clockwise direction (hereinafter abbreviated as rightward) with point A as a reference. The processor 1 first selects an arbitrary point from the coordinate values recorded in the RAM 3, and uses the coordinate values X, , Y, of point A as the starting point, and calculates the coordinate values Xt, yz of the second point B. Read out.

そして、このA、Bの2点をもとにベクトルABを求め
る。
Then, vector AB is determined based on these two points A and B.

次にプロセンサ1は、3点目の0点の座標値X3゜Y、
を続出し、この座標値XIY3を持つ点CがベクトルA
Bの右方向にあるか、時計回りとは逆方向(以後左方向
と略す)にあるか調べる。即ち、ベクトルABとベクト
ルACの外積を求めて得られるベクトルの符号が正か負
かで判定する。
Next, Prosensor 1 calculates the coordinates of the third 0 point, X3°Y,
The point C with this coordinate value XIY3 is the vector A
Check whether it is to the right of B or in the opposite direction from clockwise (hereinafter abbreviated as left direction). That is, it is determined whether the sign of the vector obtained by calculating the outer product of vector AB and vector AC is positive or negative.

ベクトルABとACは、X、Y平面上に存在するため、
外積で求められるベクトルの符号だけで、0点がB点の
右方向にあるか、左方向にあるか判定することが出来る
Since vectors AB and AC exist on the X, Y plane,
It can be determined whether the 0 point is to the right or to the left of point B just by the sign of the vector obtained by the cross product.

本例の如く、0点がB点の左方向にある場合は、ベクト
ルABとベクトルACの外積で求めたベクトルの符号は
正となるため、プロセッサ1は描画メモリ4上の3点A
、B、Cで形成される三角形ΔABCの内部の塗りつぶ
しは行わない。これは不必要な領域の塗りつぶしを防止
するためである。
As in this example, when point 0 is to the left of point B, the sign of the vector obtained by the cross product of vector AB and vector AC is positive, so processor 1
The interior of the triangle ΔABC formed by , B, and C is not filled. This is to prevent unnecessary areas from being filled in.

ここで、プロセッサlは任意の1点として、例えばB点
を選択し、B点の座標値Xt、 ’itを読出し、これ
を始点として2点目の0点の座標値X2+YIを読出す
。そして、このB、Cの2点をもとにベクトルBCを求
め、3点目のD点の座標値に4.v4を読出し、この座
標値に4.Y4を持つ点りがベクトルBCの右方向にあ
るか、左方向にあるか調べる。
Here, the processor l selects, for example, point B as an arbitrary point, reads the coordinate values Xt, 'it of point B, and uses this as a starting point to read the coordinate values X2+YI of the second point 0. Then, a vector BC is obtained based on these two points B and C, and the coordinate value of the third point D is set to 4. Read v4 and add 4 to this coordinate value. Check whether the dot with Y4 is to the right or left of vector BC.

ベクトルBCとベクトルBDO外積を求めて得られるベ
クトルの符号は、本例の場合負であるため、次にプロセ
ッサlはB、 C,Dの3点によって形成される三角形
ΔBCD内部に他の点が存在するか調べる。即ち、プロ
セッサ1はRAM3に格納されている座標値が示す各点
の位置が、三角形ΔBCDの3辺を構成するベクトルB
C,CD。
Since the sign of the vector obtained by calculating the cross product of vector BC and vector BDO is negative in this example, processor Check if it exists. That is, the processor 1 determines that the position of each point indicated by the coordinate values stored in the RAM 3 is a vector B that constitutes three sides of the triangle ΔBCD.
C.CD.

DBの右方向にあるか否かを調べる。Check whether it is on the right side of the DB.

若し、三角形ΔBCD内部に1点でも存在すると、B点
から2点目の座標値を読出してベクトルを求め、更に3
点目の座標値を読出す動作をやりなおす。これは不要な
領域を塗りつぶすことを防止するためである。
If even one point exists inside the triangle ΔBCD, read the coordinate values of the second point from point B to find the vector, and then
Redo the operation of reading the coordinate values of the point. This is to prevent unnecessary areas from being filled in.

三角形ΔBCD内部に他の点が無ければ、描画メモリ4
上の3点B、C,Dで形成される三角形ΔBCD内部を
塗りつぶし、RAM3に記憶されている2点目の0点の
座標値X3+ Ysに削除マークを付加し、以後C点は
存在しないものとして取り扱う。
If there are no other points inside the triangle ΔBCD, the drawing memory 4
Fill in the inside of the triangle ΔBCD formed by the three points B, C, and D above, add a deletion mark to the coordinate value X3+Ys of the second 0 point stored in RAM3, and point C will no longer exist. Treated as such.

次にプロセッサ1は、任意の1点として例えばD点を選
択し、D点の座ti値Xa=Yaを読出し、これを始点
として2点目のE点の座標値Xs、 Ysを読出す。そ
して、このり、  Eの2点をもとにベクトルDEを求
め、3点目のF点の座標値Xh、Yhを読出し、この座
標(iX□y6を持つ点FがベクトルDEの右方向にあ
るか、左方向にあるか調べる。
Next, the processor 1 selects, for example, point D as an arbitrary point, reads the coordinate ti value Xa=Ya of point D, and uses this as a starting point to read the coordinate values Xs, Ys of the second point E. Then, calculate the vector DE based on the two points E, read out the coordinate values Xh and Yh of the third point F, and calculate that the point F with this coordinate (iX□y6) is in the right direction of the vector DE. Check if it is there or to the left.

ベクトルDEとベクトルDFの外積を求めて得られるベ
クトルの符号は、本例の場合負であるため、次にプロセ
ッサ1はり、 E、 Fの3点によって形成される三角
形ΔDEF内部に他の点が存在するか調べる。・即ち、
プロセッサlはRAM3に格納されている座標値が示す
各点の位置が、三角形ΔDEFの3辺を構成するベクト
ルDE、  EFFDの右方向にあるか否かを調べる。
Since the sign of the vector obtained by calculating the cross product of the vector DE and the vector DF is negative in this example, next, if there are other points inside the triangle ΔDEF formed by the three points of the processor 1, E, and F, Check if it exists.・That is,
Processor l checks whether the position of each point indicated by the coordinate values stored in RAM 3 is on the right side of vectors DE and EFFD forming three sides of triangle ΔDEF.

若し、三角形ΔDEF内部に1点でも存在すると、D点
から2点目の座標値を読出してベクトルを求め、更に3
点目の座標値を読出す動作をやりなおす。
If even one point exists inside the triangle ΔDEF, read the coordinate values of the second point from point D to find the vector, and then
Redo the operation of reading the coordinate values of the point.

三角形ΔDEF内部に他の点が無ければ、描画メモリ4
上の3点り、E、Fで形成される三角形ΔDEFの内部
を塗りつぶすと、RAM3に記憶されている2点目のE
点の座標値X、、Y、に削除マークを付加し、以後E点
は存在しないものとして取り扱う。
If there are no other points inside the triangle ΔDEF, the drawing memory 4
When the interior of the triangle ΔDEF formed by the three points above, E and F is filled in, the second point E stored in RAM3 is filled in.
A deletion mark is added to the coordinate values X,,Y, of the points, and point E is treated as not existing from now on.

次にプロセッサ1は、任意の1点として例えばB点を選
択し、前記同様に三角形ΔBDFの内部を塗りつぶすと
、RAM3に記憶されている2点目のD点の座標値Xa
、Yaに削除マークを付加し、以後り点は存在しないも
のとして取り扱う。
Next, the processor 1 selects, for example, point B as an arbitrary point and fills the inside of the triangle ΔBDF in the same manner as described above, and then the coordinate value Xa of the second point D stored in the RAM 3
, Ya are added with deletion marks, and subsequent points are handled as if they do not exist.

次にプロセッサlは、任意の1点として例えばB点を選
択し、前記同様に三角形ΔBFGの内部を塗りつぶすと
、RAM3に記憶されている2点目のF点の座標値X、
、 Y、に削除マークを付加し、以後F点は存在しない
ものとして取り扱う。
Next, the processor l selects, for example, point B as an arbitrary point and fills the inside of the triangle ΔBFG in the same manner as described above, and then the coordinate value X of the second point F stored in the RAM 3,
A deletion mark is added to , Y, and from now on point F is treated as not existing.

次にプロセッサ1は、任意の1点として例えばB点を選
択し、前記同様に三角形ΔBGHの内部を塗りつぶすと
、RAM3に記憶されている2点目のG点の座標値XI
 Y?に削除マークを付加し、以後G点は存在しないも
のとして取り扱う。
Next, when the processor 1 selects, for example, point B as an arbitrary point and fills the interior of the triangle ΔBGH in the same manner as described above, the processor 1 selects the coordinate value XI of the second point G stored in the RAM 3.
Y? A deletion mark is added to the point G, and from now on, point G is treated as not existing.

次にプロセ・ンサ1は、任意の1点として例えばB点を
選択し、前記同様に三角形ΔBHAの内部を塗りつぶす
と、RAM3に記憶されている2点目のH点の座標値X
□Y8に削除マークを付加し、以後H点は存在しないも
のとして取り扱う。
Next, the processor 1 selects, for example, point B as an arbitrary point and fills the inside of the triangle ΔBHA in the same manner as described above, and then the coordinate value of the second point H stored in the RAM 3
□Add a deletion mark to Y8 and treat point H as not existing from now on.

プロセッサ1はRAM3に格納されている座標値の中で
削除マークの付加されていない座標値が2点となると、
塗りつぶし処理が完了したと判定する。これは塗りつぶ
す三角形が存在しないためである。
When the processor 1 has two coordinate values to which no deletion mark has been added among the coordinate values stored in the RAM 3,
It is determined that the filling process is completed. This is because there are no triangles to fill.

第4図は第2図の動作を説明するフローチャートである
FIG. 4 is a flowchart explaining the operation of FIG. 2.

プロセッサ1はRAM3に例えば右方向に順次連なる点
の座標値から、ステップのでへ点を選択し、この座標値
を読出す。そして、ステップ■でA点の座標値に削除マ
ークがあるか調べ、削除マークが付与されていると、ス
テップ■の処理に戻リ、新たなA点を選択する。
The processor 1 selects a point at the end of a step from the coordinate values of points successively connected in the right direction in the RAM 3, for example, and reads out this coordinate value. Then, in step (2), it is checked whether there is a deletion mark in the coordinate values of point A, and if a deletion mark is attached, the process returns to step (2) and a new point A is selected.

ステップ■で削除マークが付与されていなければ、続い
てステップ■で8点を選択し、この座標値を読出す。そ
して、ステップ■で8点の座標値に削除マークがあるか
調べ、削除マークが付与されていると、ステップ■の処
理に戻り、新たなり点を選択する。
If no deletion mark is given in step (2), then in step (2) eight points are selected and their coordinate values are read. Then, in step (2), it is checked whether there is a deletion mark at the coordinate values of the eight points, and if a deletion mark is given, the process returns to step (2) and a new point is selected.

ステップ■で削除マークが付与されていなければ、ステ
ップ■でベクトルABを求める。そして、ステップ■で
0点を選択し、この座標値を読出す。
If no deletion mark is given in step (2), vector AB is determined in step (2). Then, in step (2), the 0 point is selected and its coordinate values are read out.

そして、ステップ■で削除マークがあるか調べ、削除マ
ークが付与されていると、ステップ■の処理に戻り、新
たな0点を選択する。
Then, in step (2), it is checked whether there is a deletion mark, and if a deletion mark is given, the process returns to step (2) and a new 0 point is selected.

ステップ■で削除マークが付与されていなければ、ステ
ップ■でベクトルABとACO外積を求める。そして、
ステップ■で0点はベクトルABの右方向にあるか調べ
、右方向に無ければステップ■の処理に戻り、右方向に
あれば、ステップ[相]で三角形ΔABCの内部に他の
点があるか調べる。
If a deletion mark is not given in step (2), the cross product of vectors AB and ACO is calculated in step (2). and,
In step ■, check whether the 0 point is on the right side of the vector AB. If it is not on the right side, return to the process of step ■. If it is on the right side, check whether there are other points inside the triangle ΔABC in step [phase]. investigate.

ステップ[相]で三角形ΔABC内に他の点が存在する
場合、ステップ■の処理に戻り、三角形ΔABC内に他
の点が存在しなければ、ステップ■で三角形ΔABC内
を塗りつぶす。
If another point exists within the triangle ΔABC in step [phase], the process returns to step (2), and if no other point exists within the triangle ΔABC, the interior of the triangle ΔABC is filled in in step (2).

そして、ステップ@で8点を示すRAM3の座標値に削
除マークを付与し、ステップ@で削除マークの付与され
ぬ点の数が2となったか調べ、2より多ければステップ
■の処理に戻り、2となると動作を終了する。
Then, in step @, a deletion mark is added to the coordinate value of RAM 3 indicating 8 points, and in step @, it is checked whether the number of points to which no deletion mark is added is 2, and if it is greater than 2, the process returns to step ■. When it reaches 2, the operation ends.

尚、ベクトルABとACの外積を求める演算は、積和演
算だけで済むため、ハードウェア化が容易であり、演算
時間は少ない。又、三角形ΔABC内に他の点が存在す
るか調べる時間は、最初は多数の点があるが、順次削除
マークが付与されることで照合する点の数は減少するた
め、平均すればそれほど多くの時間は必要としない。
Note that the calculation for calculating the outer product of vectors AB and AC requires only a product-sum calculation, so it is easy to implement in hardware and the calculation time is short. In addition, the time it takes to check whether there are other points within the triangle ΔABC is that there are many points at first, but as deletion marks are added sequentially, the number of points to be matched decreases, so it takes less time on average. time is not required.

〔発明の効果〕〔Effect of the invention〕

以上説明した如く、本発明は座標値を参照して塗りつぶ
しの対象となる三角形を決定するため、画像メモリに展
開された文字輪郭をサーチする必要が無く、文字品質の
良いベクトルフォントによる描画文字の塗りつぶしを高
速化するため、品質の良い文字を高速に描画することが
出来る。
As explained above, since the present invention determines the triangle to be filled with reference to the coordinate values, there is no need to search for the character outline developed in the image memory, and the present invention eliminates the need to search for the character outline developed in the image memory, and allows the user to draw characters using vector fonts with good character quality. Because it speeds up filling, it is possible to draw high-quality characters at high speed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の構成を示す処理の流れ図、第2図は本
発明の一実施例を示す回路のブロック図、 第3図は第2図の動作を説明する図、 第4図は第2図の動作を説明するフローチャートである
。 図において、 ■はプロセッサ、   2はROM。 3とRAM、    4は画像メモリ、5〜9は処理ス
テップである。 Qjl ヨ月f)414AAti7ス5子里、’ >L
 Jlt 0第 図 本変9月の一実fiを、イ々・11示T回躇のプロ・ソ
フ図像 団 第2図の重カイT2言XΣ口月 する間第 ■ 第2図 の重力作ヒ言先口月するフロー÷マート第 図(そ/72)
FIG. 1 is a process flowchart showing the configuration of the present invention, FIG. 2 is a block diagram of a circuit showing an embodiment of the present invention, FIG. 3 is a diagram explaining the operation of FIG. 2, and FIG. 2 is a flowchart illustrating the operation of FIG. 2. FIG. In the figure, ■ is a processor, and 2 is a ROM. 3 is a RAM, 4 is an image memory, and 5 to 9 are processing steps. Qjl Yozuki f) 414AAti7su5kuri,'>L
Jlt 0th illustration book change September's first fruit fi, I and 11 shown T times of the professional software iconography group Figure 2's heavy Kai T2 words Flow ÷ Mart Diagram (Part 72)

Claims (1)

【特許請求の範囲】  文字の輪郭を描画するベクトルの基準点の位置を示す
座標値を、該輪郭を描画する順に順次連続して記憶し、
該記憶された座標値に基づきベクトル描画された文字輪
郭の内部を塗りつぶして文字を作成する文字情報出力装
置の処理において、該記憶された座標値の中の任意の基
準点Aに対応する座標値と、該基準点Aに隣接する基準
点Bの座標値と、該基準点Bに隣接する基準点Cの座標
値に基づき、ベクトルABとベクトルACの外積を求め
(5)て、基準点Cが該ベクトルABに対し、文字輪郭
内側にあるか否かを調べ(6)、該基準点Cが文字輪郭
内側にある場合は、三角形ΔABCの内部に他の基準点
が存在するか否かを調べ(7)、 該三角形ΔABCの内部に他の基準点が存在しない場合
は、該三角形ΔABCの内部を塗りつぶすと共に、前記
基準点Bの座標値に削除マークを付与して、以後の処理
からは除外することを指定し(8)、 前記基準点Cが文字輪郭内側に無い場合と、該三角形Δ
ABCの内部に他の基準点が存在する場合と、該三角形
ΔABCの内部の塗りつぶしが済んだ場合は、新たな任
意の基準点Aを定めて前記動作を繰り返すことにより、
前記削除マークを付与されない前記ベクトルの基準点の
数が2となった時(9)、塗りつぶし動作を終了するこ
とを特徴とするベクトルフォントの描画方法。
[Scope of Claims] Coordinate values indicating the positions of reference points of vectors for drawing outlines of characters are successively stored in the order in which the outlines are drawn,
In the process of a character information output device that creates a character by filling in the inside of a character outline drawn as a vector based on the stored coordinate values, a coordinate value corresponding to an arbitrary reference point A among the stored coordinate values is determined. Based on the coordinate values of the reference point B adjacent to the reference point A and the coordinate values of the reference point C adjacent to the reference point B, the cross product of the vector AB and the vector AC is calculated (5), and the reference point C is determined. Check whether the reference point C is inside the character outline for the vector AB (6), and if the reference point C is inside the character outline, check whether there is another reference point inside the triangle ΔABC. Inspection (7): If there is no other reference point inside the triangle ΔABC, fill out the interior of the triangle ΔABC, add a deletion mark to the coordinates of the reference point B, and remove it from subsequent processing. (8), and if the reference point C is not inside the character contour, the triangle Δ
If there are other reference points inside ABC and if the interior of the triangle ΔABC has been filled, by setting a new arbitrary reference point A and repeating the above operation,
A vector font drawing method characterized in that the filling operation is ended when the number of reference points of the vector to which the deletion mark is not added reaches 2 (9).
JP1266675A 1989-10-13 1989-10-13 Drawing method for vector font Pending JPH03127097A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1266675A JPH03127097A (en) 1989-10-13 1989-10-13 Drawing method for vector font

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1266675A JPH03127097A (en) 1989-10-13 1989-10-13 Drawing method for vector font

Publications (1)

Publication Number Publication Date
JPH03127097A true JPH03127097A (en) 1991-05-30

Family

ID=17434134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1266675A Pending JPH03127097A (en) 1989-10-13 1989-10-13 Drawing method for vector font

Country Status (1)

Country Link
JP (1) JPH03127097A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015770B2 (en) 2012-04-18 2015-04-21 Mitsubishi Electric Corporation Digital broadcasting reception apparatus and digital broadcasting reception method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015770B2 (en) 2012-04-18 2015-04-21 Mitsubishi Electric Corporation Digital broadcasting reception apparatus and digital broadcasting reception method

Similar Documents

Publication Publication Date Title
US5237649A (en) Method and system for acquiring interpolation points from straight short vectors representing figure in curve fitting
EP0545664A2 (en) Method and apparatus for generating and displaying freeform strokes
KR940006918B1 (en) Method and system for filling contours in digital typefaces
US5519412A (en) Pattern processing method
JPH03127097A (en) Drawing method for vector font
JPS6365151B2 (en)
JPH05258073A (en) Graphic painting-out device
JPH0452475B2 (en)
JP2806679B2 (en) Character generator
JP3066060B2 (en) Polygonal approximation method for Besee curve section
JP2899012B2 (en) Character processing apparatus and method
JPH01303489A (en) Character output system
EP0454125B1 (en) Method of producing characters and figures using computer
JPH0823741B2 (en) How to process vector characters or graphics
JP2985275B2 (en) Character generation method of outline font
JP2802646B2 (en) A scaling method for character patterns using vector fonts
JP3536894B2 (en) Graphic processing unit
JP2886702B2 (en) Outline font processor
JPH02266480A (en) High quality character pattern generating system
JP2000125119A5 (en)
JP3035141B2 (en) Character creation device and character creation method
JP3039214B2 (en) Data converter
JP2740539B2 (en) Enlarged reproduction image information creation method and apparatus
JP3567728B2 (en) Image processing method and apparatus
JP3072756B2 (en) Drawing equipment