JP2922738B2 - Outline forming method and apparatus - Google Patents
Outline forming method and apparatusInfo
- Publication number
- JP2922738B2 JP2922738B2 JP4320670A JP32067092A JP2922738B2 JP 2922738 B2 JP2922738 B2 JP 2922738B2 JP 4320670 A JP4320670 A JP 4320670A JP 32067092 A JP32067092 A JP 32067092A JP 2922738 B2 JP2922738 B2 JP 2922738B2
- Authority
- JP
- Japan
- Prior art keywords
- contour
- contour point
- weight
- vector
- point
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明はアウトラインフォントを
利用して文字等の印刷或いは表示等を行うための輪郭形
成方法及び装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an outline forming method and apparatus for printing or displaying characters using an outline font.
【0002】[0002]
【従来の技術】従来、アウトラインフォントは直線と曲
線によって表わされる文字等の輪郭データから構成され
ている。この曲線には3次のベジェ曲線やスプライン曲
線、円弧等が一般的に用いられている。2. Description of the Related Art Conventionally, an outline font is composed of outline data such as characters represented by straight lines and curves. As this curve, a cubic Bezier curve, a spline curve, an arc, or the like is generally used.
【0003】この輪郭データ(アウトラインデータ)
は、ある特定の太さ(以後ウエイトと称する)のフォン
トのデータを表わすものである。即ち、細いフォント
(ウエイトがライトのフォント)は細いフォント用のア
ウトラインデータによって表わされ、太いフォント(ウ
エイトがボールドのフォント)は太いフォント用のアウ
トラインデータによって個々に表わされている。[0003] This contour data (outline data)
Represents font data of a specific thickness (hereinafter referred to as weight). That is, a thin font (a font with a light weight) is represented by outline data for a thin font, and a thick font (a font with a bold weight) is individually represented by outline data for a thick font.
【0004】[0004]
【発明が解決しようとする課題】従って、上記従来例で
は、複数の太さのフォントによる文字などを表示、もし
くは印刷するためには、複数のウエイトのアウトライン
フォントを個々に持たなければならないという問題があ
った。Therefore, in the above-mentioned conventional example, in order to display or print characters in a plurality of fonts, it is necessary to individually have a plurality of weight outline fonts. was there.
【0005】また、上記の問題を解決するシステムとし
て、太いアウトラインフォントと細いアウトラインフォ
ントから中間のアウトラインフォントを作ることを可能
としたものもあるが、任意の太さのアウトラインフォン
トをつくることはできなかった。[0005] As a system for solving the above-mentioned problem, there is a system which can create an intermediate outline font from a thick outline font and a thin outline font. However, an outline font having an arbitrary thickness can be created. Did not.
【0006】本発明は上記の問題点に鑑みてなされたも
のであり、輪郭上の各点にウエイトをパラメータとする
輪郭点移動のためのベクトル情報を付与することによ
り、一つの輪郭データで複数のウエイトの文字を発生さ
せることを可能とする輪郭形成方法及び装置を提供する
ことを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and provides vector information for moving a contour point using a weight as a parameter to each point on the contour, so that a plurality of points can be obtained by one contour data. It is an object of the present invention to provide a method and an apparatus for forming a contour, which can generate a character having a weight.
【0007】[0007]
【課題を解決するための手段】上記の目的を達成するた
めの本発明による輪郭形成装置は以下の構成を備える。
すなわち、第1のウエイトのパターンの輪郭の第1の輪
郭点に対応する座標データと、前記第1の輪郭点を第2
のウエイトのパターンの輪郭の第2の輪郭点の位置に移
動させるための前記第1の輪郭点に対応する2次以上の
曲線を表すベクトルデータとを記憶する記憶手段と、ウ
エイト情報を入力する入力手段と、前記入力手段により
入力されたウエイト情報と前記記憶手段に記憶されてい
るベクトルデータとに基づき、前記記憶手段に記憶され
ている第1の輪郭点に対応する座標データを第3の輪郭
点に対応する座標データに変換する変換手段とを備え
る。A contour forming apparatus according to the present invention for achieving the above object has the following arrangement.
That is, coordinate data corresponding to the first contour point of the contour of the pattern of the first weight, and the first contour point
Storage means for storing vector data representing a second-order or higher-order curve corresponding to the first contour point for moving to the position of the second contour point of the contour of the weight pattern, and inputting weight information And inputting coordinate data corresponding to the first contour point stored in the storage means to a third one based on the weight information input by the input means and the vector data stored in the storage means. Conversion means for converting into coordinate data corresponding to the contour points.
【0008】また、上記の目的を達成するための本発明
による文字輪郭形成方法は以下の工程を備えるものであ
る。すなわち、第1のウエイトのパターンの輪郭の第1
の輪郭点に対応する座標データと、前記第1の輪郭点を
第2のウエイトのパターンの輪郭の第2の輪郭点の位置
に移動させるための前記第1の輪郭点に対応する2次以
上の曲線を表すベクトルデータとを記憶する記億手段を
利用する輪郭形成方法であって、ウエイト情報を入力す
る入力ステップと、前記入力ステップにより入力された
ウエイト情報と前記記憶手段に記憶されているベクトル
データとに基づき、前記記憶手段に記憶されている第1
の輪郭点に対応する座標データを第3の輪郭点に対応す
る座標データに変換する変換ステップとを備える。Further, a character contour forming method according to the present invention for achieving the above object has the following steps. That is, the first contour of the pattern of the first weight
Coordinate data corresponding to the first contour point and a second or higher order coordinate corresponding to the first contour point for moving the first contour point to the position of the second contour point of the contour of the second weight pattern A contour forming method using memory means for storing vector data representing the curve of the above, wherein an input step of inputting weight information, and the weight information input by the input step and stored in the storage means The first data stored in the storage means based on the vector data;
Converting the coordinate data corresponding to the contour point into coordinate data corresponding to the third contour point.
【0009】[0009]
【作用】上記の構成によれば、第1のウエイトのパター
ンの輪郭を表わすための輪郭点のそれぞれについて、そ
の位置と、第2のウエイトのパターンの輪郭を表わすた
めの対応する輪郭点の位置まで移動する際の軌跡を2次
以上の曲線で表すベクトルデータとが記憶され、入力さ
れたウエイト情報と記憶されているベクトルデータとに
基づいて、第1の輪郭点の各々が入力されたウエイトに
対応する輪郭点に変換される。According to the above arrangement, the position of each contour point for representing the contour of the first weight pattern and the position of the corresponding contour point for representing the contour of the second weight pattern are represented. Vector data representing the trajectory of moving to the second or higher order curve is stored, and each of the first contour points is input based on the input weight information and the stored vector data. Is converted to a contour point corresponding to.
【0010】[0010]
【実施例】以下に添付の図面を参照して本発明の好適な
実施例について説明する。Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.
【0011】<実施例1>図1は本実施例の輪郭形成装
置の概略制御構成を表すブロック図である。同図におい
て、11は入力装置であり、出力すべきパターンを特定
するコード情報と、そのパターンの太さを特定するウエ
イト情報を受け取る。尚、本実施例では、出力すべきパ
ターンの1例として文字を扱うものとし、パターンを特
定するコードを文字コードと称することにする。12は
計算装置であり、入力装置11が受け取った文字コード
とウエイトから該当する文字の輪郭データを計算する。
13は記憶装置であり、ROM(読み出し専用メモリ)
14と、RAM(ランダムアクセスメモリ)15とを備
える。ROM14は、基本文字データ等を記憶し、RA
M15は、CPU12が計算のためのワークエリアとし
て使用したり、ROM14の基本文字データをCPU1
2で計算して得られた文字輪郭データを一時的に記憶し
たりするRAM。16は出力装置であり、CPU12で
計算した結果出来上がった文字輪郭データを出力する。<Embodiment 1> FIG. 1 is a block diagram showing a schematic control configuration of a contour forming apparatus according to the present embodiment. In the figure, an input device 11 receives code information for specifying a pattern to be output and weight information for specifying the thickness of the pattern. In this embodiment, characters are handled as an example of a pattern to be output, and a code for specifying the pattern is referred to as a character code. Reference numeral 12 denotes a calculation device which calculates outline data of a corresponding character from the character code and weight received by the input device 11.
A storage device 13 is a ROM (read only memory).
14 and a RAM (random access memory) 15. The ROM 14 stores basic character data, etc.
M15 is used by the CPU 12 as a work area for calculation, or when basic character data in the ROM 14 is
A RAM for temporarily storing character outline data obtained by calculation in 2; Reference numeral 16 denotes an output device which outputs character outline data obtained as a result of calculation by the CPU 12.
【0012】図2は本実施例の輪郭形成装置の応用の一
例として、輪郭形成装置をレーザビームプリンタに組み
込んだ場合の概略制御構成を表すブロック図である。同
図において、21は受信部であり、ホストコンピュータ
からの印刷データを受信する。22は画像形成部であ
り、CPU,ROM,RAMなどを備えた回路により構
成されている。23は本実施例の輪郭形成装置であり、
上述の図1におけるCPU12,ROM14,RAM1
5は画像形成部22のものを共有する。本装置の制御は
CPU12によって行われ、制御のためのプログラムは
ROM14に記憶してある。24は出力バッファであ
り、画像形成装置22によって形成された画像をビット
マップの形式で一時的に保存する。25は印刷部であ
り、出力バッファ24の内容をもとにレーザ駆動用のパ
ルスを発生し、紙上にトナーによる記録画像を形成す
る。FIG. 2 is a block diagram showing a schematic control configuration when the contour forming device is incorporated in a laser beam printer as an example of application of the contour forming device of the present embodiment. In the figure, a receiving unit 21 receives print data from a host computer. Reference numeral 22 denotes an image forming unit, which is configured by a circuit including a CPU, a ROM, a RAM, and the like. 23 is a contour forming device of the present embodiment,
CPU 12, ROM 14, RAM 1 in FIG.
5 shares the image forming unit 22. The control of this apparatus is performed by the CPU 12, and a control program is stored in the ROM 14. An output buffer 24 temporarily stores an image formed by the image forming apparatus 22 in a bitmap format. Reference numeral 25 denotes a printing unit, which generates a laser driving pulse based on the contents of the output buffer 24, and forms a recorded image with toner on paper.
【0013】図3は、本実施例の輪郭形成装置で用いら
れるフォントデータの形式の1例を図示したものであ
る。本データはゴシック体の「田」の文字である。図3
の実線で表した部分は文字のウエイトが1の時の輪郭デ
ータを表す。点線で表したベクトル(矢印)は、ウエイ
トを変えたときの各輪郭点の移動の軌跡を表すベクトル
(輪郭点移動ベクトル)である。各輪郭点移動ベクトル
はX座標とY座標がウエイトの関数として表されもので
ある。FIG. 3 shows an example of the format of font data used in the contour forming apparatus of this embodiment. This data is Gothic "ta" characters. FIG.
Represents the outline data when the weight of the character is 1. A vector (arrow) represented by a dotted line is a vector (contour point movement vector) representing a locus of movement of each contour point when the weight is changed. In each contour point movement vector, the X coordinate and the Y coordinate are expressed as a function of the weight.
【0014】また、図4はウエイトが10の時のゴシッ
ク体の「田」の輪郭データを表す図である。本実施例に
おいては、文字のウエイトは1が最も細く、10が最も
太いものとする。FIG. 4 is a diagram showing contour data of a gothic "field" when the weight is 10. In the present embodiment, it is assumed that 1 is the thinnest and 10 is the thickest.
【0015】図3で表したように、本実施例における輪
郭データは文字の輪郭を表す座標データと、ウエイトの
変化に対する輪郭座標の移動の軌跡を表す輪郭点移動ベ
クトルに関するデータ(以後ベクトルデータと称する)
とを備える。図3に示すように、「田」という文字の各
輪郭点のベクトルデータは、ベクトルがないものと、ウ
エイトをパラメータとするX,Y座標のそれぞれが一次
関数で表されるものとなる。As shown in FIG. 3, the contour data in the present embodiment is coordinate data representing the contour of a character, and data relating to a contour point movement vector representing a trajectory of the movement of the contour coordinates with respect to a change in weight (hereinafter referred to as vector data). Name)
And As shown in FIG. 3, the vector data of each contour point of the character “T” has no vector and each of the X and Y coordinates using the weight as a parameter is represented by a linear function.
【0016】図6は図3の「田」という文字のアウトラ
インデータの構成の一部を表す図である。同図において
フラグ1は輪郭の開始/終了を表すフラグ、フラグ2は
輪郭の属性を表すフラグ、フラグ3は輪郭点移動ベクト
ルのX方向の関数の次数を表すフラグ、フラグ4は輪郭
点移動ベクトルのY方向の関数の次数を表すフラグであ
る。フラグ3が0のときは輪郭点移動ベクトルのX方向
の座標値が変化しないことを表し、1のときはX方向の
座標値がウエイトの変化に対し一次関数的、すなわち直
線的に変化することを表す。同様にフラグ4が0のとき
は輪郭点移動ベクトルのY方向の座標値が変化しないこ
とを表し、1のときはY方向の座標値がウエイトの変化
に対し一次関数的、すなわち直線的に変化することを表
す。FIG. 6 is a diagram showing a part of the outline data structure of the character "" in FIG. In the figure, a flag 1 indicates a start / end of the contour, a flag 2 indicates an attribute of the contour, a flag 3 indicates a degree of a function of the contour point moving vector in the X direction, and a flag 4 indicates a contour point moving vector. Is a flag indicating the order of the function in the Y direction. When the flag 3 is 0, it indicates that the coordinate value of the contour point movement vector in the X direction does not change. When the flag is 1, the coordinate value in the X direction changes linearly, that is, linearly with respect to the change of the weight. Represents Similarly, when the flag 4 is 0, it indicates that the coordinate value of the contour point movement vector in the Y direction does not change. When the flag is 1, the coordinate value in the Y direction changes linearly, that is, linearly with the change of the weight. To do so.
【0017】また、図6において、X座標、Y座標はそ
れぞれの輪郭点のウエイト1における座標を表す。ま
た、ベクトルX座標及びベクトルY座標は、ウエイト1
0となったときのそれぞれの輪郭点の位置が、ウエイト
1の輪郭点の座標に対する移動量で表されている。In FIG. 6, the X coordinate and the Y coordinate represent the coordinates of each contour point in the weight 1. The vector X coordinate and the vector Y coordinate are weight 1
The position of each contour point when it becomes 0 is represented by the movement amount with respect to the coordinates of the contour point of weight 1.
【0018】図7は本実施例1の輪郭形成制御の手順を
表すフローチャートである。まず、ステップS701に
おいて出力すべき文字コードを受信し、ステップS70
2にてウエイト情報を受信する。即ち、図1の入力装置
11に文字コード及びウエイト情報が入力される。ステ
ップS703では、ステップS701で受信した文字コ
ードに従って基本の輪郭データをROM14から読み出
す。ステップS704では、読み出された輪郭データの
有する輪郭の点数をNmaxに代入する。そして、ステ
ップS705ではカウンタ変数nに1を代入する。FIG. 7 is a flowchart showing the procedure of the contour forming control according to the first embodiment. First, in step S701, a character code to be output is received.
At 2, weight information is received. That is, the character code and the weight information are input to the input device 11 of FIG. In step S703, basic contour data is read from the ROM 14 according to the character code received in step S701. In step S704, the number of contour points included in the read contour data is substituted for Nmax. Then, in step S705, 1 is substituted for the counter variable n.
【0019】ステップS706ではnがNmaxを越え
たかどうかを判定し、越えていればステップS712
へ、越えていなければステップS707へそれぞれ進
む。ステップS707では、n番目の輪郭点データがX
方向の輪郭点移動ベクトルを持っているかどうかを判定
(フラグ3が0でなければ輪郭点移動ベクトルが有る)
し、輪郭点移動ベクトルがあればステップS708を、
なければステップS709を実行する。ステップS70
8では輪郭点のX座標をウエイト情報及び輪郭点移動ベ
クトルのベクトルデータから計算する。また、ステップ
709では、n番目の輪郭点がY方向の輪郭点移動ベク
トルを持っているかどうかを判定(フラグ4が0でなけ
れば輪郭点移動ベクトルが有る)し、輪郭点移動ベクト
ルがあればステップS710を、なければステップS7
11を実行する。ステップS710ではn番目の輪郭点
のY座標をウエイト及び輪郭点移動ベクトルのベクトル
データから計算する。ステップS711ではカウンタ変
数nをインクリメントし、ステップS706へ戻り、次
の輪郭点についての処理を行う。また、ステップS71
2では変換されたデータを出力装置16より送出して本
処理を終了する。In step S706, it is determined whether or not n exceeds Nmax.
If not, the process proceeds to step S707. In step S707, the n-th contour point data is X
Determine whether or not there is a contour point movement vector in the direction (if flag 3 is not 0, there is a contour point movement vector)
If there is a contour point movement vector, step S708 is performed.
If not, step S709 is executed. Step S70
In step 8, the X coordinate of the contour point is calculated from the weight information and the vector data of the contour point movement vector. In step 709, it is determined whether the n-th contour point has a contour point movement vector in the Y direction (if the flag 4 is not 0, there is a contour point movement vector). Step S710, otherwise step S7
Step 11 is executed. In step S710, the Y coordinate of the nth contour point is calculated from the weight and the vector data of the contour point movement vector. In step S711, the counter variable n is incremented, and the process returns to step S706 to perform processing for the next contour point. Step S71
In step 2, the converted data is sent from the output device 16 and the process ends.
【0020】図8は輪郭点移動ベクトルを表す一次関数
の式の求め方を示す図である。本例では、図6のアウト
ラインデータの構成で示したように、ウエイト1の輪郭
点の座標(X座標,Y座標)と輪郭点移動ベクトルの終
点の座標(ベクトルX座標、ベクトルY座標により示さ
れる)とにより一次関数を表している。すなわち、輪郭
点移動ベクトルベクトルの始点,終点が分かっているた
め、容易に定数A、Bが決定され、一次関数を求めるこ
とができる。そして、それによって任意のウエイトの文
字輪郭データを求めることが可能になる。FIG. 8 is a diagram showing a method of obtaining an equation of a linear function representing a contour point movement vector. In this example, as shown in the outline data configuration in FIG. 6, the coordinates (X coordinate, Y coordinate) of the contour point of the weight 1 and the coordinates of the end point of the contour point movement vector (vector X coordinate, vector Y coordinate) are shown. Represents a linear function. That is, since the start point and the end point of the contour point movement vector are known, the constants A and B are easily determined, and the linear function can be obtained. This makes it possible to obtain character outline data of an arbitrary weight.
【0021】図9は、各輪郭点の輪郭点移動ベクトルを
自動的に計算で求める一例を表す図であり、2つのウエ
イトの輪郭データから輪郭点移動ベクトルを取り出す例
を表す。この例では、「A」のウエイト1とウエイト1
0における輪郭点の位置座標から輪郭点移動ベクトルを
求めている。即ち、ウエイト1の各輪郭点を始点とし、
ウエイト10の各輪郭点を終点とするベクトルを求め
る。これらの値を図6のデータ構成に従って記述する
と、X座標,Y座標がウエイト1の各輪郭点の座標にな
り、各輪郭点移動ベクトルの終点のX座標,Y座標がウ
エイト10のX座標,Y座標とウエイト1のX座標,Y
座標との差(ベクトルX座標、ベクトルY座標)で表さ
れる。FIG. 9 is a diagram showing an example in which a contour point movement vector of each contour point is automatically calculated, and shows an example of extracting a contour point movement vector from contour data of two weights. In this example, weight 1 of “A” and weight 1
The contour point movement vector is obtained from the position coordinates of the contour point at 0. That is, each contour point of the weight 1 is set as a starting point,
A vector ending with each contour point of the weight 10 is determined. When these values are described in accordance with the data configuration of FIG. 6, the X coordinate and the Y coordinate become the coordinates of each contour point of the weight 1, and the X coordinate and Y coordinate of the end point of each contour point moving vector are the X coordinate of the weight 10, Y coordinate and X coordinate of weight 1, Y
It is represented by the difference from the coordinates (vector X coordinate, vector Y coordinate).
【0022】もちろん、各輪郭点の輪郭点移動ベクトル
は他の求め方を用いて求めても良い。また、デザイナー
が輪郭点移動ベクトルを修正することも可能である。も
ちろん求めた輪郭点移動ベクトルが同じであれば、ベク
トルの求め方はウエイトの異なる文字輪郭データの生成
には影響しない。Of course, the contour point movement vector of each contour point may be obtained by other methods. It is also possible for the designer to modify the contour point movement vector. Of course, if the obtained outline point movement vectors are the same, the method of obtaining the vector does not affect the generation of character outline data having different weights.
【0023】以上説明したように、文字輪郭上の各点に
ウエイトを可変にするための輪郭点移動ベクトルを持た
せることにより以下のような効果がある。即ち、 1. ウエイトの変更を任意の太さに、かつリアルタイ
ムに計算することができる 2. 2種類のウエイトの違う輪郭を持ち補完する場合
に比べ、ベクトルを持たない点が存在する分、データ量
が少なくて済む 3. 2種類のウエイトの違う輪郭を持ち補間する場合
に比べ、対応する輪郭をその場で計算する必要がないた
め、スピードが速い 4. 輪郭データにベクトルを付加するためデータ管理
が容易である という効果がある。As described above, the following effects can be obtained by giving each point on the character outline a contour point movement vector for making the weight variable. That is, 1. 1. Weight changes can be calculated to any thickness and in real time. 2. Compared to the case where two types of weights have different outlines and complement, two points have no vector and the amount of data is small. 3. Compared to the case where two types of weights have different contours and interpolation is performed, there is no need to calculate the corresponding contours on the spot, so that the speed is higher. Since a vector is added to the contour data, there is an effect that data management is easy.
【0024】<実施例2>上述の実施例1では各輪郭点
の移動ベクトルが一次式で表される場合を説明した。し
かしながら、より複雑な図形になると、さまざまな関数
で表されるベクトルデータが出現する。ベクトルデータ
を表す関数は輪郭点によって一次式で表されるもの、二
次式で表されるもの、多項式で表されるもの、三角関数
で表されるもの、あるいウエイトを境に関数が変わるも
のなどがある。最も一般的には、各輪郭点移動ベクトル
は多項式で表され、それぞれの輪郭点のベクトルデータ
はその多項式の係数を導き出すための情報を合わせて保
存する。<Embodiment 2> In Embodiment 1 described above, the case where the movement vector of each contour point is represented by a linear expression has been described. However, when the figure becomes more complicated, vector data represented by various functions appears. Functions that represent vector data are represented by linear expressions, outline expressions, quadratic expressions, polynomial expressions, trigonometric functions, or weights based on contour points. There are things. Most commonly, each contour point movement vector is represented by a polynomial, and the vector data of each contour point is stored together with information for deriving the coefficients of the polynomial.
【0025】従って実施例2では、輪郭点移動ベクトル
を2次以上の曲線で所有する輪郭形成装置について説明
する。Therefore, in a second embodiment, a description will be given of a contour forming apparatus having a contour point movement vector as a quadratic or higher-order curve.
【0026】図10は、図1の輪郭形成装置において、
各輪郭点にウエイトを変化させるための輪郭点移動ベク
トルを一次の直線または二次以上の曲線で持たせた例で
あり、曲線で表される輪郭点移動ベクトルの1例を表す
図である。これは、各輪郭点のウエイトに対する移動の
軌跡を直線または曲線で表すことを意味する。ゴシック
体の「一」はウエイトが太くなるに従って各輪郭点がX
方向にも広がるが、その移動量はY方向の移動に対して
一定の比率ではない。この場合、二次以上の曲線を用い
て軌跡を表すことで本来の軌跡により近い軌跡が表せ
る。FIG. 10 shows the outline forming apparatus of FIG.
This is an example in which each contour point has a contour point movement vector for changing the weight as a primary straight line or a quadratic or higher curve, and is a diagram illustrating an example of a contour point movement vector represented by a curve. This means that the locus of movement of each contour point with respect to the weight is represented by a straight line or a curve. In Gothic "I", each contour point becomes X as the weight becomes thicker.
However, the amount of movement is not a fixed ratio to the movement in the Y direction. In this case, a trajectory closer to the original trajectory can be represented by representing the trajectory using a quadratic or higher-order curve.
【0027】図11は実施例2における輪郭データの構
成を表す図である。同図において、フラグ1は輪郭の開
始/終了を表すフラグ、フラグ2は輪郭の属性を表すフ
ラグである。フラグ3は輪郭点移動の軌跡におけるX方
向の関数の次数を表すフラグ、フラグ4はY方向の関数
の次数を表すフラグである。フラグ3が0のときはウエ
イトの変化に対してX方向の座標値が変化しないことを
表す。フラグ3が1のときは、ウエイトの変化に対して
X方向の座標値が一次関数的、すなわち直線的に変化す
ることを表す。また、フラグ3が2のときはウエイトの
変化に対してX方向の座標値が二次関数的、すなわち曲
線的に変化することを表す。同様にフラグ3が3以上の
場合はより複雑な曲線の動きを表すことができる。フラ
グ4はY方向に関してフラグ3と同等の意味を表す。各
輪郭点にはその次数に応じた点の座標が対応するウエイ
トの順に配列ではいっている。すなわち、一次で表せる
軌跡を描く点は輪郭点以外に1点、二次であれば輪郭点
以外に2点の座標が格納される。そして、各輪郭点の移
動ベクトルの次数に応じて、ベクトルX座標1,2…が
格納されており、各輪郭点におけるベクトルの計算式を
求めるのに使用される。FIG. 11 is a diagram showing a configuration of contour data in the second embodiment. In the figure, a flag 1 is a flag representing the start / end of the contour, and a flag 2 is a flag representing the attribute of the contour. Flag 3 is a flag indicating the order of the function in the X direction on the trajectory of the contour point movement, and flag 4 is a flag indicating the order of the function in the Y direction. When the flag 3 is 0, it indicates that the coordinate value in the X direction does not change with the change in the weight. When the flag 3 is 1, it indicates that the coordinate value in the X direction changes linearly, that is, linearly with the change in weight. When the flag 3 is 2, the coordinate value in the X direction changes quadratically, that is, changes in a curve with respect to the change in weight. Similarly, when the flag 3 is 3 or more, a more complicated curve movement can be represented. The flag 4 has the same meaning as the flag 3 in the Y direction. The coordinates of points corresponding to the degree of each contour point are arranged in the order of the corresponding weights. In other words, the coordinates of one point other than the contour points are stored as the points for drawing the locus which can be represented in the primary, and the coordinates of two points other than the contour points are stored in the case of the secondary points. The vector X coordinates 1, 2,... Are stored according to the order of the movement vector of each contour point, and are used to obtain a calculation formula of the vector at each contour point.
【0028】図12は、図11の形式の輪郭データから
所望のウエイトの文字輪郭データを計算し出力する手順
を表すフローチャートである。ここで、ステップS12
07におけるドラフトモードとは、文字の品位より速度
を優先する出力モードを表す。このドラフトモードにお
いては、すべての輪郭点の移動軌跡を1次式で近似する
ため、ウエイトの最も細い(ウエイト1)輪郭上の点
と、ウエイトの最も太い(ウエイト10)輪郭上の点を
結ぶ直線状に、所望のウエイトに対する輪郭点があると
して計算を行う。ドラフトモードでない場合は、輪郭デ
ータに基づいた次数での計算を行い、輪郭点の座標を求
める。FIG. 12 is a flowchart showing a procedure for calculating and outputting character outline data of a desired weight from the outline data in the format of FIG. Here, step S12
The draft mode in 07 represents an output mode in which speed is prioritized over character quality. In this draft mode, the points on the thinnest (weight 1) contour and the points on the thickest (weight 10) contour are connected to approximate the moving trajectories of all contour points by a linear expression. The calculation is performed assuming that there is a contour point for a desired weight in a straight line. If the mode is not the draft mode, the calculation is performed based on the order based on the outline data, and the coordinates of the outline point are obtained.
【0029】まず、ステップS1201及びステップS
1202において、入力装置11が出力すべき文字コー
ド及びその太さを決めるウエイト情報を受信する。ステ
ップS1203では、ステップS1201で受信した文
字コードに従って基本の輪郭データをROM14から読
み出す。ステップS1204では、読み出された輪郭デ
ータの有する輪郭の点数をNmaxに代入する。そし
て、ステップS1205ではカウンタ変数nに1を代入
する。First, step S1201 and step S120
At 1202, the input device 11 receives a character code to be output and weight information for determining its thickness. In step S1203, basic contour data is read from the ROM 14 according to the character code received in step S1201. In step S1204, the number of contour points included in the read contour data is substituted for Nmax. In step S1205, 1 is substituted for the counter variable n.
【0030】ステップS1206ではnがNmaxを越
えたかどうかを判定して、越えていればステップS12
18へ、越えていなければステップS1207へそれぞ
れ進む。ステップS1207では、画像形成装置の出力
モードがドラフトモードか否かをチェックし、ドラフト
モードでなければステップS1208以降の処理を実行
し、ドラフトモードであればステップS1213以降の
処理を実行する。In step S1206, it is determined whether or not n exceeds Nmax.
If not, the process proceeds to step S1207. In step S1207, it is checked whether or not the output mode of the image forming apparatus is in the draft mode. If the output mode is not the draft mode, the process from step S1208 is executed. If the output mode is the draft mode, the process from step S1213 is executed.
【0031】ドラフトモードでない場合、ステップS1
208にて、n番目の輪郭点に対してX方向の輪郭点移
動ベクトルの有無を判定(フラグ3が0でなければ移動
ベクトルが有る)する。そして、X方向の輪郭点移動ベ
クトルが存在すればステップS1209にて、輪郭点の
X座標をウエイト情報及び輪郭点移動ベクトルのベクト
ルデータから計算する。このときの輪郭点の移動の軌跡
を表す計算式は、フラグ3に記憶された曲線式の次数
と、ベクトルX座標1,2…を用いて決定する。例え
ば、曲線の次数が2であれば、ベクトルX座標1及び2
が用いられる。同様にして、ステップS1210及びス
テップS1212にて、輪郭点のY座標が求められる。
そして、nを1つインクリメントしてステップS120
6へ戻り、次の輪郭点に対して上述の処理を繰り返す。
そして、全輪郭点に対して処理が終了するとステップS
1206よりステップS1218へ進み、データ出力装
置16よりデータを送出して本処理を終了する。If the mode is not the draft mode, step S1
At 208, it is determined whether or not there is a contour point movement vector in the X direction for the nth contour point (if the flag 3 is not 0, there is a movement vector). If there is a contour point movement vector in the X direction, in step S1209, the X coordinate of the contour point is calculated from the weight information and the vector data of the contour point movement vector. The calculation formula representing the locus of the movement of the contour point at this time is determined using the order of the curve formula stored in the flag 3 and the vector X coordinates 1, 2,. For example, if the degree of the curve is 2, the vector X coordinates 1 and 2
Is used. Similarly, in steps S1210 and S1212, the Y coordinate of the contour point is obtained.
Then, n is incremented by one and step S120
Returning to step 6, the above processing is repeated for the next contour point.
When the processing is completed for all the contour points, step S
The process advances from step 1206 to step S1218 to send data from the data output device 16 and end this processing.
【0032】一方、出力モードがドラフトモードの場合
は、ステップS1207よりステップS1213へ進
む。ステップS1213では、n番目の輪郭点がX方向
の輪郭点移動ベクトルを持っているか否かをチェック
し、持っていればステップS1214へ進む。ステップ
S1214では、ウエイト1とウエイト10の輪郭点の
X座標より輪郭点移動ベクトルの計算式を1次式として
決定し、これを用いて所望のウエイトに対する輪郭点の
X座標を求める。Y座標についてもステップS1215
及びステップS1216により、上述のステップS12
13,1214と同様にして求めることができる。そし
て、ステップS1217にてnを1つカウントアップ
し、ステップS1206へ戻る。On the other hand, if the output mode is the draft mode, the flow advances from step S1207 to step S1213. In step S1213, it is checked whether the n-th contour point has a contour point movement vector in the X direction, and if so, the process proceeds to step S1214. In step S1214, a formula for calculating the contour point movement vector is determined as a linear expression from the X coordinates of the contour points of the weights 1 and 10, and the X coordinate of the contour point with respect to the desired weight is determined using this. Step S1215 for the Y coordinate
And step S1216, the above-described step S12
13 and 1214. Then, n is counted up by one in step S1217, and the process returns to step S1206.
【0033】図13は、各輪郭点のベクトルを自動的に
計算で求める一例であり、3つ以上のウエイトの輪郭デ
ータから非直線のベクトルを取り出す様子を表す図であ
る。この例では、「一」のウエイト1、ウエイト5とウ
エイト10から輪郭点移動ベクトル(2次式で表され
る)を求めている。即ち、ウエイト1の各輪郭点を始点
とし、ウエイト5の点を通りウエイト10の各輪郭点を
終了点とする2次式の輪郭点移動ベクトルを求める。こ
の場合、前述の図11のデータ構成では、X,Y座標は
ウエイト1の輪郭点の座標を表し、ベクトルX,Y座標
1はウエイト10の輪郭点の座標を示す(実際にはウエ
イト1に対する相対位置)。また、ベクトルX,Y座標
2はウエイト5の輪郭点の座標を示す。更に、ベクトル
X,Y座標3は、ウエイト3の輪郭点の座標を示す。FIG. 13 is an example in which the vector of each contour point is automatically obtained by calculation, and is a diagram showing how a non-linear vector is extracted from the contour data of three or more weights. In this example, a contour point movement vector (represented by a quadratic expression) is obtained from the “one” weight 1, the weight 5, and the weight 10. That is, a contour point movement vector of a quadratic expression is obtained, in which each contour point of the weight 1 is set as a start point, passes through the point of the weight 5 and each end point of the weight 10 is set as an end point. In this case, in the data configuration of FIG. 11 described above, the X and Y coordinates indicate the coordinates of the contour point of the weight 1, and the vector X and Y coordinates 1 indicate the coordinates of the contour point of the weight 10 (actually, with respect to the weight 1). relative position). The vector X, Y coordinates 2 indicate the coordinates of the contour point of the weight 5. Further, the vector X, Y coordinate 3 indicates the coordinates of the contour point of the weight 3.
【0034】メモリ容量やCPUのパワーに応じて、一
次式のデータを持つか、二次式以上のデータを持つかを
選択することも可能である。このとき、二次式以上のデ
ータを一次式のデータに変換することは容易に行える。
ただし、1次式の輪郭点移動ベクトルで近似した場合
は、2次式以上の輪郭点移動ベクトルを用いた場合に比
べて多少の文字品位の低下をまねくおそれがある。Depending on the memory capacity and the power of the CPU, it is also possible to select whether to have data of a primary type or data of a quadratic type or more. At this time, it is easy to convert the data of the quadratic expression or higher into the data of the primary expression.
However, when approximation is made using a contour point movement vector of a linear expression, there is a possibility that the character quality may be slightly reduced as compared with the case where a contour point movement vector of a quadratic expression or higher is used.
【0035】以上説明したように、文字輪郭上の各点に
ウエイトを可変にするためのベクトルを曲線で持たせる
ことにより以下のような効果がある。即ち、 1. より高品位のウエイト変更が行える 2. 直線で表すことができる部分は直線で表すことに
より、データ量を余り増やすことなくデータを格納する
ことができる 3. 曲線で高品位に展開するか直線で高速に展開する
かの選択ができる 4. 複数の輪郭情報を持つことに比べデータ管理が容
易である という効果がある。As described above, the following effects can be obtained by giving each point on the character outline a vector for changing the weight by a curve. That is, 1. 1. Higher quality weight change can be performed. By expressing a portion that can be represented by a straight line as a straight line, data can be stored without increasing the data amount too much. 3. You can choose whether to develop high quality with a curve or high speed with a straight line. This has the effect that data management is easier than having multiple pieces of contour information.
【0036】<実施例3>次に、実施例3では、1つの
輪郭点から輪郭点移動ベクトルを求め、この輪郭点移動
ベクトルを用いて各ウエイトに対する輪郭点の座標を求
める輪郭形成装置について説明する。尚、実施例3の輪
郭形成装置の構成は実施例1と同様であるのでここでは
その説明は省略する。Third Embodiment Next, in a third embodiment, a contour forming apparatus will be described in which a contour point movement vector is determined from one contour point, and the coordinates of the contour point for each weight are determined using the contour point movement vector. I do. The configuration of the contour forming apparatus according to the third embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
【0037】図14,図15,図16は、図1の輪郭形
成装置において、各輪郭点に対する輪郭点移動ベクトル
を求める手順を表すフローチャートである。図9で示し
たような2種類以上のウエイトからベクトルを求める場
合に比べ、1種類のウエイトの文字のみより輪郭点移動
ベクトルを求めることができる。この場合、アウトライ
ンデータの容量が減り、管理が容易になるという利点が
ある。FIG. 14, FIG. 15, and FIG. 16 are flowcharts showing a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus of FIG. Compared to the case where a vector is obtained from two or more types of weights as shown in FIG. 9, a contour point movement vector can be obtained from only characters of one type of weight. In this case, there is an advantage that the capacity of the outline data is reduced and management becomes easy.
【0038】図14のフローチャートの手順では、ウエ
イト1の輪郭点の位置から、水平方向の移動に対し、水
平移動不可、水平移動制限有り、水平移動制限無しの3
種類の分類を行っている。この移動の分類は対になる輪
郭と、他の輪郭或いは文字枠(ボディ枠)との位置関係
から導き出すことができる。即ち、ウエイトを10にし
たときの標準水平線幅とウエイトが1の標準水平線幅の
差分、輪郭点を水平に、対の輪郭とは反対方向に動かし
たときに、その輪郭点の輪郭に接触もしくは交差するか
どうか、また文字のボディ枠をはみ出すかどうか、とい
ったことから移動の可能性をフラグにセットする。同様
に垂直方向についても同様の判定を行っている。In the procedure of the flowchart of FIG. 14, from the position of the contour point of the weight 1, three movements of horizontal movement disabled, horizontal movement restricted, and no horizontal movement restricted with respect to horizontal movement.
Classify the types. This movement classification can be derived from the positional relationship between a paired contour and another contour or character frame (body frame). That is, the difference between the standard horizontal line width when the weight is set to 10 and the standard horizontal line width when the weight is 1, when the contour points are moved horizontally and in the opposite direction to the pair of contours, the contour points are touched or contacted. The possibility of movement is set in the flag based on whether or not they intersect and whether or not they extend beyond the body frame of the character. Similarly, the same determination is made in the vertical direction.
【0039】まずステップS1401で標準水平線幅を
入力する。本例では、ウエイト1のときと10のときの
標準水平線幅、標準垂直線幅を入力する。また、これら
標準水平線幅、標準垂直線幅は各フォントに応じて予め
ROM14に格納されているものとする。次に、ステッ
プS1402にて全輪郭点数をNに代入し、輪郭点カウ
ンタcを1にセットする。ステップS1403ではcが
Nより大きいか否かをチェックし、大きければステップ
S1501(図15)に進む。また、cがN以下であれ
ばステップS1404へ進み、c番目の輪郭点を取り出
す。First, in step S1401, a standard horizontal line width is input. In this example, the standard horizontal line width and the standard vertical line width for weights 1 and 10 are input. It is assumed that the standard horizontal line width and the standard vertical line width are stored in the ROM 14 in advance for each font. Next, in step S1402, the total number of contour points is substituted for N, and the contour point counter c is set to one. In step S1403, it is checked whether c is larger than N, and if it is larger, the process proceeds to step S1501 (FIG. 15). If c is equal to or smaller than N, the process advances to step S1404 to extract the c-th contour point.
【0040】ステップS1405では、取り出したc番
目の輪郭点が水平方向に移動可能かどうかを調べ、不可
であればステップS1408へ進み、可能であればステ
ップS1406へ進む。ステップS1406では水平方
向の移動に制限があるか否かをチェックし、制限があれ
ばステップS1409へ、無ければステップS1407
へそれぞれ進む。ステップS1407では、輪郭点の水
平方向の移動に対して制限がないので、当該輪郭点の水
平移動量大を表すフラグをセットする。また、ステップ
S1405で、水平移動が不可と判定された場合はステ
ップS1408にて水平移動不可を表すフラグをセット
する。更に、ステップS1406で水平移動に制限があ
る場合はステップS1409において水平移動量小を表
すフラグをセットする。In step S1405, it is checked whether the extracted c-th contour point can be moved in the horizontal direction. If it is impossible, the process proceeds to step S1408, and if it is possible, the process proceeds to step S1406. In step S1406, it is checked whether there is a restriction on horizontal movement. If there is a restriction, the process proceeds to step S1409.
Go to each. In step S1407, since there is no restriction on the horizontal movement of the contour point, a flag indicating a large horizontal movement amount of the contour point is set. If it is determined in step S1405 that horizontal movement is not possible, a flag indicating that horizontal movement is impossible is set in step S1408. Further, if there is a restriction on the horizontal movement in step S1406, a flag indicating a small horizontal movement amount is set in step S1409.
【0041】次に、ステップS1410以降で、垂直方
向についての移動量をチェックする。ステップS141
0では、取り出したc番目の輪郭点が垂直方向に移動可
能かどうかを調べ、不可であればステップS1413へ
進み、可能であればステップS1411へ進む。ステッ
プS1411では垂直方向の移動に制限があるか否かを
チェックし、制限があればステップS1414へ、無け
ればステップS1412へそれぞれ進む。ステップS1
412では、輪郭点の垂直方向の移動に対して制限がな
いので、当該輪郭点の垂直移動量大を表すフラグをセッ
トする。また、ステップS1410で、垂直移動が不可
と判定された場合はステップS1413にて垂直移動不
可を表すフラグをセットする。更に、ステップS141
1で垂直移動に制限がある場合はステップS1414に
おいて垂直移動量小を表すフラグをセットする。Next, in step S1410 and thereafter, the amount of movement in the vertical direction is checked. Step S141
In the case of 0, it is checked whether or not the extracted c-th contour point can be moved in the vertical direction. If not, the process proceeds to step S1413, and if it is possible, the process proceeds to step S1411. In step S1411, it is checked whether there is a restriction on vertical movement. If there is a restriction, the process proceeds to step S1414, and if not, the process proceeds to step S1412. Step S1
At 412, since there is no restriction on the vertical movement of the contour point, a flag indicating a large vertical movement amount of the contour point is set. If it is determined in step S1410 that vertical movement is not possible, a flag indicating that vertical movement is impossible is set in step S1413. Further, step S141
If the vertical movement is limited by 1, the flag indicating the small vertical movement amount is set in step S1414.
【0042】そして、ステップS1415において輪郭
点カウンタcを1つインクリメントしてステップS14
03へ戻る。このようにして、全輪郭点に対して移動量
を表すフラグがセットされると、ステップS1403よ
りステップS1501へ制御が進む。Then, in step S1415, the contour point counter c is incremented by one, and in step S14
Return to 03. In this way, when the flag indicating the movement amount is set for all the contour points, the control proceeds from step S1403 to step S1501.
【0043】このようにして求めた全輪郭点の移動量を
表すフラグから、各輪郭点の移動量を求める。図15で
はこの移動量を求める手続きを示している。移動量の計
算では通常、輪郭点の対となる輪郭点とあわせて必要と
なる太さになるよう、ベクトルを計算する。このため、
移動量を計算する点のフラグと、対の輪郭点のフラグを
合わせて移動量計算を行うサブルーチンをコールする。The moving amount of each contour point is obtained from the flag indicating the moving amount of all the contour points thus obtained. FIG. 15 shows a procedure for obtaining the movement amount. In the calculation of the movement amount, usually, a vector is calculated so as to have a required thickness together with a contour point which is a pair of the contour points. For this reason,
A subroutine for calculating the moving amount is called by combining the flag of the point for calculating the moving amount and the flag of the pair of contour points.
【0044】図15のフローチャートについて説明す
る。まず、ステップS1501にて、全輪郭点数をNに
代入し、輪郭点カウンタcを1にセットする。ステップ
S1502では、cがNより大きいか否かをチェック
し、大きければ本処理を終了し、cがN以下であればス
テップS1503へ進む。The flowchart of FIG. 15 will be described. First, in step S1501, the total number of contour points is substituted for N, and the contour point counter c is set to one. In step S1502, it is checked whether or not c is larger than N. If c is larger, the process ends, and if c is smaller than N, the process proceeds to step S1503.
【0045】ステップS1503では、c番目の輪郭点
を取り出し、ステップS1504ではc番目の輪郭点と
対をなす輪郭点を取り出す。この対をなす輪郭点はc番
目の輪郭点に対して垂直方向及び水平方向の幅を決定す
る輪郭点であり、1つの輪郭点に対して水平方向に対を
なす輪郭点、垂直方向に対をなす輪郭点の2つを抽出
し、それぞれの移動量を表すフラグを取り出す。そし
て、ステップS1505で移動量を計算する。ステップ
S1505ではウエイト1からウエイト10に変化した
場合の輪郭点の水平方向及び垂直方向の移動量が求めれ
られるので、これをステップS1506において各輪郭
点のベクトルX座標、ベクトルY座標としてセットす
る。ベクトルX座標及びベクトルY座標を用いて各ウエ
イトに対する輪郭点の位置は実施例1と同様であるので
ここでは説明を省略する。In step S1503, the c-th contour point is extracted, and in step S1504, a contour point paired with the c-th contour point is extracted. The contour points forming the pair are contour points that determine the width in the vertical and horizontal directions with respect to the c-th contour point. The contour points that form a pair in the horizontal direction with respect to one contour point, and the pair in the vertical direction. Are extracted, and a flag indicating the movement amount of each is extracted. Then, in step S1505, the movement amount is calculated. In step S1505, the horizontal and vertical movement amounts of the contour points when the weight 1 changes to the weight 10 are obtained. In step S1506, these are set as the vector X coordinate and vector Y coordinate of each contour point. The position of the contour point with respect to each weight using the vector X coordinate and the vector Y coordinate is the same as that in the first embodiment, and thus the description is omitted here.
【0046】ステップS1504における、ある輪郭点
と対になる輪郭点の抽出の方法については種々の方法が
可能である。その1例を図16のフローチャートを用い
て説明する。例えば、ある輪郭点を基準に水平方向及び
垂直方向に走査して、輪郭点と水平方向及び垂直方向に
対となる輪郭点を抽出する。Various methods are available for extracting a contour point paired with a certain contour point in step S1504. One example will be described with reference to the flowchart of FIG. For example, scanning is performed in the horizontal and vertical directions based on a certain contour point, and a contour point that is paired with the contour point in the horizontal and vertical directions is extracted.
【0047】図16は移動量を計算するサブルーチンで
あり、図15のステップS1505の処理の詳細を表す
フローチャートである。尚、移動量は、水平移動量大/
小フラグ或いは垂直移動量大/小フラグの種類によりあ
らかじめ定められており、対の輪郭点のフラグと標準線
幅から移動量の算出を行う。FIG. 16 is a flowchart showing a subroutine for calculating the amount of movement, which shows the details of the processing in step S1505 in FIG. The movement amount is large horizontal movement amount /
The movement amount is determined in advance according to the type of the small flag or the vertical movement amount large / small flag, and the movement amount is calculated from the pair of contour point flags and the standard line width.
【0048】まず、ステップS1601で、当該輪郭点
の水平移動量を図14のフローチャートでセットされた
フラグによりセットする。また、ステップS1503で
取り出された水平方向に対をなす輪郭点の水平移動量を
移動量を表すフラグによりセットする。ステップS16
02では、当該輪郭点の垂直移動量を図14のフローチ
ャートでセットされたフラグによりセットする。更に、
ステップS1503で抽出された垂直方向に対をなす輪
郭点の垂直移動量を移動量を表すフラグに基づいてセッ
トする。First, in step S1601, the horizontal movement amount of the contour point is set by the flag set in the flowchart of FIG. Further, the horizontal movement amount of the contour points forming a pair in the horizontal direction extracted in step S1503 is set by a flag indicating the movement amount. Step S16
In 02, the vertical movement amount of the contour point is set by the flag set in the flowchart of FIG. Furthermore,
The vertical movement amount of the contour points forming a pair in the vertical direction extracted in step S1503 is set based on the flag indicating the movement amount.
【0049】そして、ステップS1603では、注目し
ている輪郭点の水平移動量と、当該輪郭点と水平方向に
対をなす輪郭点の水平移動量と、ウエイト1における標
準水平線幅とを足し合わせて、これをWに代入する。同
様に、ステップS1604では、注目している輪郭点の
垂直移動量と、当該輪郭点と垂直方向に対をなす輪郭点
の垂直移動量と、ウエイト1における標準垂直線幅とを
足し合わせて、これをHに代入する。In step S1603, the horizontal movement amount of the contour point of interest, the horizontal movement amount of the contour point paired with the contour point in the horizontal direction, and the standard horizontal line width in weight 1 are added. Is substituted for W. Similarly, in step S1604, the vertical movement amount of the contour point of interest, the vertical movement amount of the contour point paired vertically with the contour point, and the standard vertical line width in weight 1 are added, and This is substituted into H.
【0050】ステップS1605においては、ステップ
S1603で代入されたWの値と、ウエイト10におけ
る標準水平線幅とを比較する。ここで、Wの方が大きい
場合は水平線幅が太くなり過ぎることを意味するので、
ステップS1606で水平移動量を補正する。即ち、ス
テップS1606では、ステップS1601でセットさ
れた輪郭点の水平移動量に、(ウエイト10の標準水平
線幅−ウエイト1の標準水平線幅)/(W−ウエイト1
の標準水平線幅)を乗じることで、ウエイト10におけ
る水平線幅が標準水平線幅を越えないように補正する。
一方、ステップS1605でWがウエイト10の標準水
平線幅以下であれば、ステップS1601でセットされ
た水平移動量をそのまま用いる。In step S1605, the value of W substituted in step S1603 is compared with the standard horizontal line width of the weight 10. Here, if W is larger, it means that the horizontal line width is too thick,
In step S1606, the horizontal movement amount is corrected. That is, in step S1606, the horizontal movement amount of the contour point set in step S1601 is expressed as (standard horizontal weight of weight 10).
Line width-standard horizontal line width of weight 1) / (W-weight 1
, The horizontal line width of the weight 10 is corrected so as not to exceed the standard horizontal line width.
On the other hand, if W is equal to or smaller than the standard horizontal line width of the weight 10 in step S1605, the horizontal movement amount set in step S1601 is used as it is.
【0051】ステップS1607及びステップS160
8では垂直方向について上述のステップS1605及び
ステップS1606と同様の処理を行う。このようにし
て、ウエイト10における各輪郭点の移動量が算出され
るので、これを用いて実施例1と同様の手法で輪郭点移
動ベクトルを得ることができる。Steps S1607 and S160
In step 8, the same processing as steps S1605 and S1606 is performed in the vertical direction. In this way, since the movement amount of each contour point in the weight 10 is calculated, a contour point movement vector can be obtained by using this, in the same manner as in the first embodiment.
【0052】また、図15のステップS1504におけ
る対をなす輪郭点の抽出方法としては種々の方法が考え
られるが、その1例を図22及び23を用いて説明す
る。図22はある注目輪郭点と対をなす輪郭点を抽出す
るための手順を表すフローチャートであり、図23はあ
る注目輪郭点と対をなす輪郭点を抽出するための手順を
説明するための図である。Various methods can be considered as a method of extracting a pair of contour points in step S1504 in FIG. 15, one example of which will be described with reference to FIGS. FIG. 22 is a flowchart showing a procedure for extracting a contour point forming a pair with a certain target contour point, and FIG. 23 is a diagram for explaining a procedure for extracting a contour point forming a pair with a certain target contour point. It is.
【0053】まず、ステップS2201において、注目
する輪郭点を始点とする輪郭ベクトルを抽出する。同様
にステップS2202において、注目する輪郭点を終点
とする輪郭ベクトルを抽出する。ここで輪郭ベクトル
は、図23に示されるように輪郭の内側がベクトルの方
向に対して常に左側にあるように構成される。以上のス
テップS2201および2202において、例えば図2
3の輪郭点2300を始点とする輪郭ベクトル2300
b及び輪郭点2300を終点とする輪郭ベクトル230
0aが抽出される。First, in step S2201, a contour vector starting from a contour point of interest is extracted. Similarly, in step S2202, a contour vector ending with the contour point of interest is extracted. Here, the contour vector is configured such that the inside of the contour is always on the left side with respect to the direction of the vector, as shown in FIG. In the above steps S2201 and 2202, for example, FIG.
3 is a contour vector 2300 starting from the contour point 2300
b and contour vector 230 ending at contour point 2300
0a is extracted.
【0054】次に、ステップS2203において、上記
抽出された輪郭ベクトルの方向の左側へ水平に走査し、
対をなす輪郭ベクトルを検索する。図23を用いて説明
すると、輪郭ベクトル2300bより水平方向に、例え
ば走査線2300cに沿って輪郭ベクトルを検索する
と、対ベクトルとして輪郭ベクトル2305bが抽出さ
れる。また、走査線2300dに沿って輪郭ベクトルを
検索すると輪郭ベクトル2302bが抽出される。Next, in step S2203, horizontal scanning is performed to the left in the direction of the extracted contour vector.
Search for a pair of contour vectors. Referring to FIG. 23, when a contour vector is searched from the contour vector 2300b in a horizontal direction, for example, along a scanning line 2300c, a contour vector 2305b is extracted as a pair vector. When a contour vector is searched along the scanning line 2300d, a contour vector 2302b is extracted.
【0055】そして、ステップS2204において、抽
出された対ベクトルが複数か否かをチェックし、複数で
なければステップS2205へ進み、複数ある場合はス
テップS2204へ進む。ステップS2205では、注
目する輪郭点を含む輪郭ベクトルと水平方向に最も近い
位置にある対ベクトルを抽出する。これを図23を用い
て説明すると、輪郭ベクトル2305bよりも輪郭ベク
トル2302bの方が近いので、これを対ベクトルとす
る。Then, in step S2204, it is checked whether or not there are a plurality of extracted pair vectors. If not, the process proceeds to step S2205, and if there are a plurality, the process proceeds to step S2204. In step S2205, a pair vector that is closest to the contour vector including the contour point of interest in the horizontal direction is extracted. This will be described with reference to FIG. 23. Since the contour vector 2302b is closer than the contour vector 2305b, this is set as a pair vector.
【0056】ステップS2206では、以上のようにし
て抽出された輪郭ベクトルの両端点のうち、注目してい
る輪郭点に近い方の端点を対をなす輪郭点とする。即
ち、図23において、輪郭ベクトル2302bの両端点
のうち輪郭点2300に近い方の端点は輪郭点2301
であるので、これを水平方向に対をなす輪郭点とする。In step S2206, of the end points of the contour vector extracted as described above, the end point closer to the contour point of interest is set as a pair of contour points. That is, in FIG. 23, the end point closer to the outline point 2300 among the end points of the outline vector 2302b is the outline point 2301.
Therefore, this is defined as a pair of contour points in the horizontal direction.
【0057】ステップS2207からステップS221
0では、垂直方向に対して走査を行い垂直方向に対をな
す輪郭点を求める。その内容は上記の水平方向の場合と
同様であるのでここではその説明を省略する。図23に
おいて、輪郭点2300の垂直方向に対をなす輪郭点と
して、輪郭点2301が得られる。また、例えば輪郭点
2302について上述の処理を実行すると、輪郭点23
03が水平方向に対をなす輪郭点として、輪郭点230
4が垂直方向に対をなす輪郭点として抽出されることが
わかる。Steps S2207 to S221
At 0, scanning is performed in the vertical direction to obtain a pair of contour points in the vertical direction. The contents are the same as in the case of the horizontal direction described above, and the description thereof is omitted here. In FIG. 23, a contour point 2301 is obtained as a pair of contour points in the vertical direction of the contour point 2300. Also, for example, when the above-described processing is performed on the contour point 2302,
03 is a pair of contour points in the horizontal direction,
4 is extracted as a pair of contour points in the vertical direction.
【0058】以上説明したように、文字輪郭上の各点に
ウエイトを可変にするためのベクトルを1種類のウエイ
トから自動計算することにより以下のような効果があ
る。即ち、 1.一種類のウエイトから他のウエイトを作成するベク
トルを計算できるため、文字デザインの工程が短縮され
る 2.複数の輪郭情報からベクトルを計算することに比
べ、データ管理が容易である という効果がある。As described above, the following effects can be obtained by automatically calculating a vector for varying the weight at each point on the character outline from one type of weight. That is, 1. A vector for creating another weight from one weight can be calculated, thereby shortening the character design process. There is an effect that data management is easier than calculating a vector from a plurality of contour information.
【0059】<実施例4>実施例4では、上述の実施例
3と同様に一種類のウエイトの輪郭点から輪郭点移動ベ
クトルを求めるが、ある輪郭点の移動量フラグとその輪
郭点と対をなす輪郭点の移動量フラグの組み合わせによ
って決定される移動量を、予めテーブルとして持たせて
ある輪郭形成装置について説明する。尚、実施例3の輪
郭形成装置の構成は実施例1と同様であるのでここでは
その説明は省略する。<Fourth Embodiment> In the fourth embodiment, a contour point movement vector is obtained from one kind of weight contour point in the same manner as in the third embodiment described above. The contour forming apparatus in which the movement amount determined by the combination of the movement amount flags of the contour points forming the following is stored in advance as a table will be described. The configuration of the contour forming apparatus according to the third embodiment is the same as that of the first embodiment, and a description thereof will be omitted.
【0060】図17から図19は、図1の装置で用いる
データを輪郭の点の位置から自動的に求める方法を表し
たフローチャートである。実施例3で示した方法にくら
べ、移動量をテーブルで持たせることにより、計算を省
力化でき、テーブルの分類を細かくすることでより品位
を上げることが容易である。FIGS. 17 to 19 are flow charts showing a method for automatically obtaining data used in the apparatus shown in FIG. 1 from the positions of the contour points. Compared to the method described in the third embodiment, by providing a table with the amount of movement, it is possible to save the calculation, and it is easy to improve the quality by finely classifying the table.
【0061】図17では、文字輪郭の点の位置から、水
平方向の移動に対し、水平移動不可、水平移動制限有
り、水平移動制限無しの3種類の分類を行っている。も
ちろん、この分類は条件を変えることで容易に細かくす
ることができる。この移動の分類は対になる輪郭と、他
の輪郭、文字枠(ボディ枠)との位置関係から導き出す
ことができる。すなわち、ウエイトを10にしたときの
標準水平線幅とウエイトが1の標準水平線幅の差分、輪
郭点を水平に、対の輪郭とは反対方向に動かしたとき
に、その輪郭点の輪郭に接触もしくは交差するかどう
か、また文字のボディ枠をはみ出すかどうか、といった
ことから移動の可能性をフラグにセットする。同様に垂
直方向についても同様の判定を行う。In FIG. 17, from the position of the point of the character outline, three types of classification are performed for horizontal movement: horizontal movement disabled, horizontal movement restricted, and no horizontal movement restricted. Of course, this classification can be easily refined by changing the conditions. This movement classification can be derived from the positional relationship between a paired contour, another contour, and a character frame (body frame). That is, the difference between the standard horizontal line width when the weight is set to 10 and the standard horizontal line width when the weight is 1, and when the contour points are moved horizontally and in the opposite direction to the pair of contours, the contour points are touched or contacted. The possibility of movement is set in the flag based on whether or not they intersect and whether or not they extend beyond the body frame of the character. Similarly, the same determination is made in the vertical direction.
【0062】図17のフローチャートにおけるステップ
S1701からS1715の各ステップは図14のフロ
ーチャートにおけるステップS1401からS1415
の各ステップと同様であり、ここではその説明は省略す
る。図17のフローチャートより求めた全輪郭点の移動
量のフラグから、実際の移動量を求める。図18ではこ
の移動量を求める手続きを示している。移動量の計算で
は通常、輪郭の点と輪郭の対となる点のフラグとをあわ
せて、テーブルから移動量を取り出す。Steps S1701 to S1715 in the flowchart of FIG. 17 correspond to steps S1401 to S1415 in the flowchart of FIG.
And the description is omitted here. The actual movement amount is obtained from the flags of the movement amounts of all the contour points obtained from the flowchart of FIG. FIG. 18 shows a procedure for obtaining the movement amount. In the calculation of the movement amount, usually, the movement amount is taken out from the table together with the outline point and the flag of the paired point of the outline.
【0063】図18における、ステップS1805を除
くステップS1801から1807の各ステップは、図
15におけるステップS1505を除くステップS15
01から1507の各ステップと同様である。ステップ
S1805は、水平移動テーブル及び垂直移動テーブル
を用いて移動量の絶対値を獲得するための処理であり、
その詳細を図19に示す。Steps S1801 to 1807 except for step S1805 in FIG. 18 correspond to step S15 except for step S1505 in FIG.
This is the same as each step from 01 to 1507. Step S1805 is a process for obtaining the absolute value of the movement amount using the horizontal movement table and the vertical movement table,
The details are shown in FIG.
【0064】図19は移動量を計算するサブルーチンで
ある。尚、ここで用いる水平移動テーブルや垂直移動テ
ーブルは書体や文字によって変えることが可能であり、
より細かなベクトルの調整が可能である。FIG. 19 shows a subroutine for calculating the amount of movement. It should be noted that the horizontal moving table and the vertical moving table used here can be changed depending on the font and characters.
Finer vector adjustment is possible.
【0065】図19について説明する。まず、ステップ
S1901で、注目している輪郭点の移動量を表すフラ
グと、当該輪郭点と水平方向に対をなす輪郭点の移動量
を表すフラグを取り出す。そして、ステップS1902
において、各輪郭点の移動量を表すフラグを用いて、図
20に示されるような水平移動テーブルを検索し、水平
方向の移動量の絶対値を獲得する。そして、対となる輪
郭点から離れる方向へ移動方向をセットする。ステップ
S1903では、注目している輪郭点の移動量を表すフ
ラグと、当該輪郭点と垂直方向に対をなす輪郭点の移動
量を表すフラグを取り出す。そして、ステップS190
4において、各輪郭点の移動量を表すフラグを用いて、
図21に示されるような垂直移動テーブルを検索し、垂
直方向の移動量の絶対値を獲得する。そして、対となる
輪郭点から離れる方向へ移動方向をセットする。Referring to FIG. First, in step S1901, a flag representing the movement amount of the contour point of interest and a flag representing the movement amount of the contour point forming a pair in the horizontal direction with the contour point are extracted. Then, step S1902
, A horizontal movement table as shown in FIG. 20 is searched using a flag indicating the movement amount of each contour point, and the absolute value of the movement amount in the horizontal direction is obtained. Then, the moving direction is set in a direction away from the pair of contour points. In step S1903, a flag indicating the moving amount of the contour point of interest and a flag indicating the moving amount of the contour point paired in the vertical direction with the contour point are extracted. Then, step S190
In step 4, using a flag indicating the movement amount of each contour point,
The vertical movement table as shown in FIG. 21 is searched to obtain the absolute value of the vertical movement amount. Then, the moving direction is set in a direction away from the pair of contour points.
【0066】以上のようにして、ウエイト10における
輪郭点の移動量が得られるので、これを用いて輪郭点移
動ベクトルを計算し、各ウエイトに対応する輪郭点の移
動量を算出することができる。As described above, since the movement amount of the contour point in the weight 10 is obtained, the movement amount of the contour point corresponding to each weight can be calculated by using the movement amount of the contour point. .
【0067】図20、21は図19の移動量の検索に用
いるテーブルである。図20は水平移動量用のテーブル
であり、図21は垂直移動量用のテーブルである。輪郭
点の移動量のフラグと、対の点の移動量のフラグとの組
み合わせからテーブルを検索し、対応する移動量を獲得
し、ベクトルの生成に用いる。FIGS. 20 and 21 are tables used for searching for the movement amount in FIG. FIG. 20 is a table for a horizontal movement amount, and FIG. 21 is a table for a vertical movement amount. The table is searched from the combination of the flag of the movement amount of the contour point and the flag of the movement amount of the pair of points, and the corresponding movement amount is obtained and used for generating a vector.
【0068】以上説明したように、文字輪郭上の各点に
ウエイトを可変にするための輪郭点移動ベクトルを1種
類のウエイトからテーブルを用いて設定することによ
り、以下のような効果がある。即ち、 1.一種類のウエイトから他のウエイトを作成するベク
トルを計算できるため、文字デザインの工程が短縮され
る 2.複数の輪郭情報からベクトルを計算することに比べ
データ管理が容易である 3.テーブルを複数持つことでさまざまなフォントの文
字をより高品位に展開するための輪郭点移動ベクトルを
作成可能である 4.判定条件を細かくすることで、文字をより高品位に
展開できるベクトルを作成可能である という効果がある。As described above, the following effects can be obtained by setting the outline point movement vector for changing the weight at each point on the character outline from one type of weight using a table. That is, 1. A vector for creating another weight from one weight can be calculated, thereby shortening the character design process. 2. Data management is easier than calculating a vector from a plurality of contour information. By having a plurality of tables, it is possible to create contour point movement vectors for developing characters of various fonts with higher quality. By making the judgment conditions finer, there is an effect that a vector that can develop characters with higher quality can be created.
【0069】尚、上記実施例3、4においては、メモリ
容量に余裕があれば、全文字に対して予め輪郭点の移動
量を計算し、これを格納しておくとで、処理のスピード
を向上することもできる。In the third and fourth embodiments, if the memory capacity is sufficient, the movement amount of the contour point is calculated in advance for all the characters, and the calculated movement amount is stored in advance. Can also be improved.
【0070】<実施例5>上記各実施例では輪郭点移動
ベクトルを1つの関数で表して各ウエイトに対する輪郭
点の位置を決定している。本実施例では、輪郭点の移動
ベクトルの関数が、あるウエイトを境に変化する場合を
説明する。<Embodiment 5> In each of the above embodiments, the position of the contour point with respect to each weight is determined by expressing the contour point movement vector by one function. In the present embodiment, a case will be described in which the function of the movement vector of the contour point changes at a certain weight.
【0071】図5は輪郭点移動ベクトルを表す関数が途
中で変化する例を表す。この例ではウエイト4を境にX
座標の関数が変化する。即ち、ウエイトが4以上ではX
座標は変化しなくなる。また、Y座標は二次以上の関数
により変化している。FIG. 5 shows an example in which the function representing the contour point movement vector changes on the way. In this example, X
The function of coordinates changes. That is, if the weight is 4 or more, X
The coordinates no longer change. In addition, the Y coordinate is changed by a quadratic or higher function.
【0072】図24は実施例5における輪郭データの構
成を表す図である。同図において、フラグ1からフラグ
4、X,Y座標、各ベクトルX,Y座標は実施例2の図
11と同様でありここでは説明を省略する。フラグ5は
X方向の輪郭点の移動ベクトルの関数が変化するウエイ
ト値を表す。また、フラグ6はY方向の輪郭点の移動ベ
クトルの関数が変化するウエイト値を表す。例えば図5
の注目点においてはフラグ5に4が格納される。また、
移動ベクトルに変化がない場合は0を格納するものとす
る。フラグ5もしくは6のいずれかが0以外の場合は、
次の欄の各座標データの表す内容が変わってくる。例え
ば、フラグ5に4が格納されている場合は、X座標とし
てウエイトが4の時の値が格納され、ウエイト値が4以
上の場合に用いるデータがフラグ3およびベクトルX座
標に格納される。FIG. 24 is a diagram showing the configuration of the contour data in the fifth embodiment. In this figure, the flags 1 to 4, the X and Y coordinates, and the respective vector X and Y coordinates are the same as in FIG. 11 of the second embodiment, and the description is omitted here. The flag 5 represents a weight value at which the function of the movement vector of the contour point in the X direction changes. The flag 6 indicates a weight value at which the function of the movement vector of the contour point in the Y direction changes. For example, FIG.
At the point of interest, 4 is stored in the flag 5. Also,
If there is no change in the movement vector, 0 is stored. If either flag 5 or 6 is non-zero,
The content represented by each coordinate data in the next column changes. For example, when 4 is stored in the flag 5, the value when the weight is 4 is stored as the X coordinate, and data used when the weight value is 4 or more is stored in the flag 3 and the vector X coordinate.
【0073】即ち、あるウエイト値を境に輪郭点の移動
ベクトルの関数が変化する場合、輪郭データは複数の欄
に渡って格納される。例えば、第1番目の欄にはウエイ
ト1から4に対するベクトルデータが、第2番目の欄に
はウエイト4から10に対するベクトルデータが格納さ
れる。更に関数の変化するウエイト値が複数有る場合は
これに応じて第3番目の欄、第4番目の欄にデータを格
納していけば良い。図24の例で説明すると、aという
輪郭点はX方向の移動ベクトルの関数ウエイト4で変化
する。そして、ウエイト4以降は第2欄のフラグ3が0
なのでX座標が変化しなくなる。一方輪郭点aのY方向
の移動ベクトルの変化はない(フラグ6が0でない)。That is, when the function of the movement vector of the contour point changes at a certain weight value, the contour data is stored in a plurality of columns. For example, the first column stores vector data for weights 1 to 4, and the second column stores vector data for weights 4 to 10. Further, when there are a plurality of weight values at which the function changes, data may be stored in the third column and the fourth column in accordance with the weight values. Referring to the example of FIG. 24, the contour point a changes with the function weight 4 of the movement vector in the X direction. After the weight 4, the flag 3 in the second column is set to 0.
Therefore, the X coordinate does not change. On the other hand, the movement vector of the contour point a in the Y direction does not change (the flag 6 is not 0).
【0074】また、輪郭点bはウエイト5でX方向の移
動ベクトルの関数が変化し、ウエイト3と7でY方向の
移動ベクトルの関数が変化する。そして、Y方向の移動
ベクトルの関数は、ウエイト1〜3が二次曲線、ウエイ
ト4〜7が一次の直線となり、ウエイト8〜10では変
化しなくなる。In the contour point b, the weight 5 changes the function of the motion vector in the X direction, and the weights 3 and 7 change the function of the motion vector in the Y direction. As for the function of the movement vector in the Y direction, the weights 1 to 3 are quadratic curves, the weights 4 to 7 are linear straight lines, and the weights 8 to 10 do not change.
【0075】図25は実施例5における輪郭点のX、Y
座標の変換手順を表すフローチャートである。尚、本実
施例5における文字輪郭データの出力手順は実施例2の
図12のフローチャートとほぼ同様であり、座標の変換
手順が異なるのみである。従って、図24に示したフロ
ーチャートは図12のステップS1208からステップ
S1211に相当する部分のみを表している。尚、各ベ
クトルX座標、ベクトルY座標に用いられているウエイ
ト値は、関数が変化するものについては個別に記憶して
おくものとする。FIG. 25 shows X and Y of contour points in the fifth embodiment.
It is a flowchart showing a coordinate conversion procedure. Note that the output procedure of the character outline data in the fifth embodiment is almost the same as the flowchart of FIG. 12 of the second embodiment, except for the coordinate conversion procedure. Therefore, the flowchart shown in FIG. 24 shows only a part corresponding to steps S1208 to S1211 in FIG. The weight values used for the respective vector X coordinates and vector Y coordinates are individually stored when the function changes.
【0076】ステップS2401では、フラグ5が0か
否かをチェックし、0であれば関数の変化がないのでス
テップS2402へ進み、当該輪郭点の第1欄に格納さ
れたデータを取り出す。また、フラグ5が0でない場合
は、ステップS2403において、第1欄及び以下に続
く欄のフラグ5の値により、用いるべき欄を決定し、該
当する欄に格納されたデータを取り出す。以上のように
して、ステップS2402もしくは2403により取り
出されたデータを用いてX座標の変換処理を実行する。
即ち、ステップS2404においてフラグ3をチェック
し、Xベクトルが存在するか否かを判断する。Xベクト
ルが存在する場合はステップS2405へ進み、輪郭点
のX座標をウエイト情報及び輪郭点移動ベクトルのベク
トルデータから計算する。このときの輪郭点の移動の軌
跡を表す計算式は、フラグ3に記憶された曲線式の次数
と、ベクトルX座標1,2…を用いて決定する。In step S2401, it is checked whether or not the flag 5 is 0. If the flag 5 is 0, there is no change in the function, and the flow advances to step S2402 to retrieve the data stored in the first column of the contour point. If the flag 5 is not 0, in step S2403, a column to be used is determined based on the value of the flag 5 in the first column and the following columns, and data stored in the corresponding column is extracted. As described above, the X coordinate conversion processing is executed using the data extracted in step S2402 or 2403.
That is, in step S2404, the flag 3 is checked to determine whether an X vector exists. If an X vector exists, the process advances to step S2405 to calculate the X coordinate of the contour point from the weight information and the vector data of the contour point movement vector. The calculation formula representing the locus of the movement of the contour point at this time is determined using the order of the curve formula stored in the flag 3 and the vector X coordinates 1, 2,.
【0077】ステップS2406からステップS241
0はY座標に関する処理であり、その内容は上述のステ
ップS2401から2405と同様でありここではその
説明を省略する。Steps S2406 to S241
0 is a process relating to the Y coordinate, the contents of which are the same as those in steps S2401 to 2405 described above, and a description thereof will be omitted here.
【0078】以上のようにして、本実施例5の文字輪郭
形成装置によれば、輪郭点の移動ベクトルの関数が有る
ウエイト値を境に変化する場合にも対応することができ
る。As described above, according to the character contour forming apparatus of the fifth embodiment, it is possible to cope with a case where the function changes with a weight value having a function of the movement vector of the contour point as a boundary.
【0079】以上説明したように、上記各実施例の輪郭
形成装置によれば、文字輪郭上の各点にウエイトを可変
にするためのベクトル情報を持たせることが可能とな
り、下記のような効果がある。即ち、 1.所望のウエイト値による文字の太さをリアルタイム
に計算することができる 2.少ないメモリ容量でウエイトを変更するための情報
を持たせることが可能である 3.ウエイトが違う文字の輪郭を高速に計算することが
可能である 4.輪郭データにベクトルを付加するためのデータ管理
が容易である 5.輪郭データに付加するベクトルデータの作成や取り
出しが容易にかつ高品位に行える 6.輪郭データにベクトルを付加する為の特別なデザイ
ンが必要なく、従来データとの共通化が容易であり、ま
たアウトラインフォントからビットマップフォントを生
成するモジュールの共有化も容易である 7.品位に応じて計算の複雑さを変えることができるた
め、さまざまな装置への応用が容易である 8.データの複雑さを、メモリ容量に応じて変えること
ができ、省メモリ化が可能である 9.データの複雑さを、CPUに応じて変えることがで
き、システムに合わせたカスタマイズが可能である 10.ウエイトを変化させるベクトルの作成方法によら
ず、同一の展開方法で輪郭データを生成することができ
る。As described above, according to the contour forming apparatus of each of the above embodiments, each point on the character contour can be provided with vector information for varying the weight, and the following effects can be obtained. There is. That is, 1. 1. The thickness of a character can be calculated in real time based on a desired weight value. 2. It is possible to have information for changing weights with a small memory capacity. 3. It is possible to calculate the outline of characters with different weights at high speed. 4. Data management for adding vectors to contour data is easy. 5. Vector data to be added to the contour data can be easily created and extracted with high quality. 6. A special design for adding a vector to the contour data is not required, so that it can be easily shared with conventional data, and a module for generating a bitmap font from an outline font can be easily shared. 7. Since the complexity of calculation can be changed according to the quality, it can be easily applied to various devices. 8. The complexity of data can be changed according to the memory capacity, and memory can be saved. 9. The complexity of the data can be changed according to the CPU, and can be customized according to the system. The contour data can be generated by the same expansion method regardless of the method of creating the vector for changing the weight.
【0080】なお、本発明は複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或いは装置にプロ
グラムを供給することによって達成される場合にも適用
できることは言うまでもない。The present invention may be applied to a system composed of a plurality of devices or an apparatus composed of one device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus.
【0081】[0081]
【発明の効果】以上説明してきたように、本発明の輪郭
形成方法及び装置によれば、各輪郭点に、ウエイトをパ
ラメータとする輪郭点移動のためのベクトル情報が付与
されるので、一つの輪郭データで複数のウエイトの文字
を発生させることができる。特に、ベクトル情報で示さ
れる輪郭点の移動軌跡が2次以上の曲線で表わされるの
で、各ウエイトにおいてより自然な文字パターンを発生
させることが可能となる。As described above, according to the contour forming method and apparatus of the present invention, each contour point is provided with vector information for moving the contour point using the weight as a parameter. A plurality of weight characters can be generated from the contour data. In particular, since the movement locus of the contour point indicated by the vector information is represented by a quadratic or higher-order curve, a more natural character pattern can be generated for each weight.
【0082】[0082]
【図1】本実施例の輪郭形成装置の概略制御構成を表す
ブロック図である。FIG. 1 is a block diagram illustrating a schematic control configuration of a contour forming apparatus according to an embodiment.
【図2】本実施例の輪郭形成装置をレーザビームプリン
タに組み込んだ場合の概略制御構成を表すブロック図で
ある。FIG. 2 is a block diagram illustrating a schematic control configuration when the contour forming apparatus according to the present embodiment is incorporated in a laser beam printer.
【図3】フォントデータの形式の1例を表す図である。FIG. 3 is a diagram illustrating an example of a format of font data.
【図4】図3のフォントデータをウエイト10で出力し
た状態を表す図である。FIG. 4 is a diagram illustrating a state in which the font data of FIG.
【図5】輪郭点移動ベクトルを表す関数が途中で変化す
る例を表す図である。FIG. 5 is a diagram illustrating an example in which a function representing a contour point movement vector changes on the way.
【図6】図3の「田」という文字のアウトラインデータ
の構成の一部を表す図である。FIG. 6 is a diagram illustrating a part of a configuration of outline data of a character “ta” in FIG. 3;
【図7】実施例1の輪郭形成制御の手順を表すフローチ
ャートである。FIG. 7 is a flowchart illustrating a procedure of contour formation control according to the first embodiment.
【図8】輪郭点移動ベクトルを表す一次関数の式の求め
方を示す図である。FIG. 8 is a diagram illustrating a method of obtaining an equation of a linear function representing a contour point movement vector.
【図9】2つのウエイトの輪郭データから輪郭点移動ベ
クトルを取り出す例を表す図である。FIG. 9 is a diagram illustrating an example of extracting a contour point movement vector from contour data of two weights.
【図10】曲線で表される輪郭点移動ベクトルの1例を
表す図である。FIG. 10 is a diagram illustrating an example of a contour point movement vector represented by a curve.
【図11】実施例2における輪郭データの構成を表す図
である。FIG. 11 is a diagram illustrating a configuration of contour data according to a second embodiment.
【図12】図11の形式の輪郭データから所望のウエイ
トの文字輪郭データを計算し出力する手順を表すフロー
チャートである。12 is a flowchart showing a procedure for calculating and outputting character outline data of a desired weight from outline data in the format of FIG. 11;
【図13】3つ以上のウエイトの輪郭データから非直線
のベクトルを取り出す様子を表す図である。FIG. 13 is a diagram illustrating a state in which a non-linear vector is extracted from contour data of three or more weights.
【図14】実施例3の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 14 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the third embodiment.
【図15】実施例3の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 15 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the third embodiment.
【図16】実施例3の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 16 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the third embodiment.
【図17】実施例4の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 17 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the fourth embodiment.
【図18】実施例4の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 18 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the fourth embodiment.
【図19】実施例4の輪郭形成装置において、各輪郭点
に対する輪郭点移動ベクトルを求める手順を表すフロー
チャートである。FIG. 19 is a flowchart illustrating a procedure for obtaining a contour point movement vector for each contour point in the contour forming apparatus according to the fourth embodiment.
【図20】水平移動テーブルのデータ構成を表す図であ
る。FIG. 20 is a diagram illustrating a data configuration of a horizontal movement table.
【図21】垂直移動テーブルのデータ構成を表す図であ
る。FIG. 21 is a diagram illustrating a data configuration of a vertical movement table.
【図22】注目輪郭点と対をなす輪郭点を抽出する手順
を表すフローチャートである。FIG. 22 is a flowchart illustrating a procedure for extracting a contour point paired with a contour point of interest.
【図23】注目輪郭点と対をなす輪郭点を抽出する手順
を説明するための図である。FIG. 23 is a diagram for explaining a procedure for extracting a contour point paired with a contour point of interest.
【図24】実施例5における輪郭データの構成を表す図
である。FIG. 24 is a diagram illustrating a configuration of contour data according to a fifth embodiment.
【図25】実施例5における輪郭点のX、Y座標の変換
手順を表すフローチャートである。FIG. 25 is a flowchart illustrating a procedure for converting the X and Y coordinates of a contour point according to the fifth embodiment.
11 入力装置 12 計算装置(CPU) 13 記憶装置 14 ROM 15 RAM 16 出力装置 Reference Signs List 11 input device 12 computing device (CPU) 13 storage device 14 ROM 15 RAM 16 output device
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06T 11/20 G06F 15/72 355U (58)調査した分野(Int.Cl.6,DB名) G09G 5/24 B41J 2/485 G06F 3/12 G06T 5/30 G06T 11/20 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 identification code FI G06T 11/20 G06F 15/72 355U (58) Field surveyed (Int.Cl. 6 , DB name) G09G 5/24 B41J 2 / 485 G06F 3/12 G06T 5/30 G06T 11/20
Claims (14)
の輪郭点に対応する座標データと、前記第1の輪郭点を
第2のウエイトのパターンの輪郭の第2の輪郭点の位置
に移動させるための前記第1の輪郭点に対応する2次以
上の曲線を表すベクトルデータとを記憶する記憶手段
と、 ウエイト情報を入力する入力手段と、 前記入力手段により入力されたウエイト情報と前記記憶
手段に記憶されているベクトルデータとに基づき、前記
記憶手段に記憶されている第1の輪郭点に対応する座標
データを第3の輪郭点に対応する座標データに変換する
変換手段とを備えることを特徴とする輪郭形成装置。1. The first contour of a pattern of a first weight.
Coordinate data corresponding to the first contour point and a second or higher order coordinate corresponding to the first contour point for moving the first contour point to the position of the second contour point of the contour of the second weight pattern Storage means for storing vector data representing the curve of the following; input means for inputting weight information; and the storage means based on the weight information input by the input means and the vector data stored in the storage means. Conversion means for converting the coordinate data corresponding to the first contour point stored in the memory device into coordinate data corresponding to the third contour point.
郭点に対応する座標データを送出する送出手段更に備え
ることを特徴とする請求項1記載の輪郭形成装置。2. The contour forming apparatus according to claim 1, further comprising sending means for sending coordinate data corresponding to the third contour point converted by said converting means.
とを特徴とする請求項1記載の輪郭形成装置。3. The contour forming apparatus according to claim 1, wherein the pattern is a character pattern.
2のウエイトは10であることを特徴とする請求項1記
載の輪郭形成装置。4. The contour forming apparatus according to claim 1, wherein the first weight is 1, and the second weight is 10.
ベクトルデータを含むことを特徴とする請求項1記載の
輪郭形成装置。5. The contour forming apparatus according to claim 1, wherein said vector data includes vector data representing a first-order straight line.
郭点に対応する座標データに基づくパターンを出力する
出力手段を更に備えることを特徴とする請求項1記載の
輪郭形成装置。6. The contour forming apparatus according to claim 1, further comprising output means for outputting a pattern based on coordinate data corresponding to the third contour point converted by said conversion means.
特徴とする請求項6記載の輪郭形成装置。7. The contour forming apparatus according to claim 6, wherein said output means includes a printer.
の輪郭点に対応する座標データと、前記第1の輪郭点を
第2のウエイトのパターンの輪郭の第2の輪郭点の位置
に移動させるための前記第1の輪郭点に対応する2次以
上の曲線を表すベクトルデータとを記憶する記億手段を
利用する輪郭形成方法であって、 ウエイト情報を入力する入力ステップと、 前記入力ステップにより入力されたウエイト情報と前記
記憶手段に記憶されているベクトルデータとに基づき、
前記記憶手段に記憶されている第1の輪郭点に対応する
座標データを第3の輪郭点に対応する座標データに変換
する変換ステップとを備えることを特徴とする輪郭形成
方法。8. The first contour of the pattern of the first weight.
Coordinate data corresponding to the first contour point and a second or higher order coordinate corresponding to the first contour point for moving the first contour point to the position of the second contour point of the contour of the second weight pattern A method of forming a contour using memory means for storing vector data representing a curve of a weight, wherein an input step of inputting weight information, and the weight information input in the input step and stored in the storage means Based on vector data,
Converting the coordinate data corresponding to the first contour point stored in the storage means into coordinate data corresponding to the third contour point.
輪郭点に対応する座標データを送出する送出ステップを
更に備えることを特微とする請求項8記載の輪郭形成方
法。9. The contour forming method according to claim 8, further comprising a sending step of sending coordinate data corresponding to the third contour point converted by said converting step.
ることを特徴とする請求項8記載の輪郭形成方法。10. The method according to claim 8, wherein the pattern is a character pattern.
第2のウエイトは10であることを特徴とする請求項8
記載の輪郭形成方法。11. The method according to claim 8, wherein the first weight is 1 and the second weight is 10.
The contour forming method described in the above.
すベクトルデータを含むことを特徴とする請求項8記載
の輪郭形成方法。12. The contour forming method according to claim 8, wherein said vector data includes vector data representing a first-order straight line.
3の輪郭点に対応する座標データに基づくパターンを出
力手段に出力するステップを更に備えることを特徴とす
る請求項8記載の輪郭形成方法。13. The contour forming method according to claim 8, further comprising a step of outputting a pattern based on the coordinate data corresponding to the third contour point converted by the converting step to an output unit.
を特徴とする請求項13記載の輪郭形成方法。14. The contour forming method according to claim 13, wherein said output means includes a printer.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4320670A JP2922738B2 (en) | 1992-11-30 | 1992-11-30 | Outline forming method and apparatus |
| TW082109818A TW262547B (en) | 1992-11-30 | 1993-11-22 | |
| DE4340599A DE4340599C2 (en) | 1992-11-30 | 1993-11-29 | Device and method for contour generation |
| CN93121111A CN1052320C (en) | 1992-11-30 | 1993-11-30 | Outline forming apparatus and method |
| US08/703,399 US6944823B2 (en) | 1992-11-30 | 1996-08-26 | Outline forming apparatus and method using inputted weight information |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4320670A JP2922738B2 (en) | 1992-11-30 | 1992-11-30 | Outline forming method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06167964A JPH06167964A (en) | 1994-06-14 |
| JP2922738B2 true JP2922738B2 (en) | 1999-07-26 |
Family
ID=18124018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4320670A Expired - Fee Related JP2922738B2 (en) | 1992-11-30 | 1992-11-30 | Outline forming method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2922738B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0375594A1 (en) * | 1988-12-23 | 1990-06-27 | United Technologies Corporation | Preparation of thin films of ferroelectric materials |
| FI20035250L (en) * | 2003-12-31 | 2005-07-01 | Nokia Corp | Organizing font scaling |
-
1992
- 1992-11-30 JP JP4320670A patent/JP2922738B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH06167964A (en) | 1994-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6678410B1 (en) | Generating a glyph | |
| US6577314B1 (en) | Character generation using data of plural types to which differing priorities are assigned | |
| US6922260B2 (en) | Print control apparatus, print control method and memory medium | |
| CA2069701A1 (en) | Method of substituting fonts and displaying characters | |
| JPS61101832A (en) | Word processor system | |
| JPH0930061A (en) | Character output device | |
| KR970008546B1 (en) | How to handle text or figures | |
| JP2922738B2 (en) | Outline forming method and apparatus | |
| US6944823B2 (en) | Outline forming apparatus and method using inputted weight information | |
| JP3106023B2 (en) | Contour forming apparatus and method | |
| EP1546917B1 (en) | Apparatus and method for processing variable print documents | |
| US5859647A (en) | Data processing apparatus and method and output device | |
| EP0461811A2 (en) | Pattern processing method | |
| KR960010410B1 (en) | Output method and device | |
| US5740275A (en) | Method and apparatus for processing characters using pattern data conversion | |
| EP0809206A3 (en) | Outputting apparatus and method | |
| US5499332A (en) | Character processing method and apparatus | |
| JPS62211692A (en) | Preparation system for character of varied size | |
| JPH0581247A (en) | Method for shaping document | |
| JP2773691B2 (en) | Printer device | |
| KR970004109B1 (en) | Picture processor | |
| JPH0668748B2 (en) | Document formatting method | |
| JPH09305160A (en) | Character generator | |
| JP3823730B2 (en) | Image processing apparatus and method | |
| EP1048456B1 (en) | Generating a glyph |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990405 |
|
| LAPS | Cancellation because of no payment of annual fees |