JP3457336B2 - Outline data processing device - Google Patents
Outline data processing deviceInfo
- Publication number
- JP3457336B2 JP3457336B2 JP13199991A JP13199991A JP3457336B2 JP 3457336 B2 JP3457336 B2 JP 3457336B2 JP 13199991 A JP13199991 A JP 13199991A JP 13199991 A JP13199991 A JP 13199991A JP 3457336 B2 JP3457336 B2 JP 3457336B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- outline
- line width
- vector
- coordinate value
- 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
- Image Processing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばアウトラインフ
ォントを内蔵したレーザープリンターの制御装置に関
し、特にはアウトラインフォントの輪郭線データによっ
て形状が決定される文字及び図形等の構成線の線幅を変
更する制御装置に関するものである。
【0002】
【従来の技術】従来、任意の大きさの文字や記号を高品
位に印字でき、また、斜体や回転等の変形が容易で、し
かも、それが1つのデータで表現できるため、直線及び
曲線で構成される文字や記号等の輪郭線の形状を、各々
の直線または曲線の区別を表わす属性フラグと該直線ま
たは曲線のデータ点の座票値データとにより表現するア
ウトラインデータを記憶した記憶手段を有するレーザー
プリンターが実用化されている。これらのレーザープリ
ンターでは、キャラクタの線幅を変更する場合に、直線
では、ベクトルデータの簡単な移動処理で済むが、曲線
にあっては、まずデータをショートベクトルデータに分
割し、その分割したショートベクトルデータに対して移
動処理を行なっていた。そして、その移動処理を施した
ショートベクトルデータ及び直線データとを再び直線と
曲線のデータ形式に変換していた。
【0003】
【発明が解決しようとする課題】しかしながら、曲線部
分のショートベクトルへの分割や、逆にショートベクト
ルから曲線への変換には多大な演算量が必要であり、C
PUに大きな負担をかけ、演算処理するのに多大の時間
を要していた。本発明は、上述した問題点を解決するた
めになされたものであり、輪郭線データによって形状を
確定された文字及び記号等の構成線の線幅の変更を曲線
部分のショートベクトル分割及びショートベクトルから
曲線式への変換を行わずに高速に行うアウトラインデー
タ処理装置を提供するものである。
【0004】
【課題を解決するための手段】この目的を達成するため
に本発明のアウトラインデータ処理装置は、直線及び曲
線で構成される文字や記号等フォントの輪郭線の形状
を、各々の直線または曲線の区別を表わす属性フラグと
該直線または曲線のデータ点の座標値データとにより表
現するアウトラインデータを記憶した記憶手段と、前記
記憶手段から前記アウトラインデータを読み出すアウト
ラインデータ読み出し手段と、前記フォントの線幅デー
タが入力される線幅入力手段と、前記アウトラインデー
タの隣接する二つの座標値データから、一方の座標値を
始点とし、他方の座標値を終点とするベクトルデータを
作成するベクトルデータ作成手段と、前記ベクトルデー
タの始点及び終点を、前記線幅入力手段に入力された線
幅データに基づいて、該ベクトルデータの法線方向に移
動するベクトルデータ移動手段と、前記移動された始点
及び終点を結ぶ直線を演算し、互いに隣接する該直線の
交点を求める交点演算手段と、前記交点演算手段で求め
た交点の座標値を、前記線幅データに基づいて変更され
た変更後座標値データとし、該変更後座標値データのデ
ータ点に対応する属性フラグとして、対応する変更前の
属性フラグをそのまま付したものをアウトラインデータ
として出力するアウトラインデータ出力手段とを備えた
ことを特徴とする。
【0005】
【作用】上記の構成を有する本発明のアウトラインデー
タ処理装置は以下に示す作用をなす。記憶手段は直線及
び曲線で構成される文字・図形等フォントの輪郭線の形
状を、各々の直線または曲線の区別を表わす属性フラグ
と該直線または曲線のデータ点の座標値データとにより
表現するアウトラインデータを記憶している。アウトラ
インデータ読み出し手段は記憶手段よりアウトラインデ
ータを読み出す。線幅入力手段には前記アウトラインデ
ータで表された文字・図形等の構成線の線幅データが入
力される。ベクトルデータ作成手段は、アウトラインデ
ータの隣接する二つの座標値データから、一方の座標値
を始点とし、他方の座標値を終点とするベクトルデータ
を作成する。ベクトルデータ移動手段は、ベクトルデー
タの始点及び終点を、前記線幅入力手段に入力された線
幅データに基づいて、該ベクトルデータの法線方向に移
動する。交点演算手段は、移動した始点及び終点を結ぶ
直線を演算し、互いに隣接する該直線の交点を求める。
アウトラインデータ出力手段は交点演算手段で求めた座
標値を前記線幅データに基づいて変更された変更後座標
値データとし、該変更後座標値データのデータ点に対応
する属性フラグとして、対応する変更前の属性フラグを
そのまま付したものをアウトラインデータとして出力す
る。
【0006】
【実施例】以下、本発明をレーザプリンタに搭載した一
実施例を図面を参照して説明する。図1はレーザプリン
タの制御回路のうち、主としてデータ変換を行なう関係
部分を示すブロック図である。この制御回路の主体を成
すマイクロコンピュータ部1は、CPU2、キャラクタ
ROM3、プログラムROM4、テキストメモリ5、ワ
ーキングメモリ6、ドットデータメモリ7を備えてい
る。これらCPU2等は、バス8を介して接続されてい
る。さらに、マイクロコンピータ部1にはバス8を介し
て入力装置9及び印字装置10が接続されている。
【0007】入力装置9は、例えばキーボードであっ
て、外部から供給されるキャラクタコード、線幅の指
定、文字サイズの指定、斜体・回転等の変形の指定等の
データをユーザーが入力する時に使用するものである。
印字装置10は、例えばレーザープリンターであり、ド
ットデータメモリ7から読みだされたドットマトリック
スデータにより印字を行なう装置である。プログラムR
OM4には本実施例で行う様々な制御を実施するための
プログラムが記憶されている。テキストメモリ5は、入
力装置9から入力されるキャラクタコード、線幅指定、
文字サイズの指定、斜体・回転等の変形の指定等のデー
タを記憶するものである。このテキストメモリ5が、線
幅データが入力される線幅入力手段に対応する。ワーキ
ングメモリ6は、CPU2がプログラムを実行する時に
必要なデータを一時的に記憶するものである。ドットデ
ータメモリ7はアウトライン変換部46により得られる
ドットデータを記憶するものである。キャラクタROM
3は、直線及び曲線で構成される文字や記号等フォント
の輪郭線の形状を、各々の直線または曲線の区別を表わ
す属性フラグと該直線または曲線のデータ点の座標値デ
ータとにより表現するアウトラインデータを記憶した記
憶手段である。
【0008】本実施例のアウトラインデータは直線とベ
ジェ曲線(以下、単に曲線と呼ぶ)で表され、データ点
の直線及び曲線等を区別する属性フラグとデータ点の座
標値である座標値データで構成される。属性フラグに
は、キャラクタの輪郭線の1つ(以下、閉ループと呼
ぶ)の始点を示す「S」、直線の終点を示す「L」、曲
線の第1制御点を示す「B1」、曲線の第2制御点を示
す「B2」、曲線の終点を示す「B」がある。属性フラ
グは1つの座標値データを伴っている。尚、直線及び曲
線の始点の座標値は1つ前のデータ点の座標値データで
ある。また、データの順番は閉ループの始点から決めら
れた回転方向で順次記憶されている。本実施例では輪郭
線の外側の線を表すループ(以後、単に外ループと呼
ぶ)は反時計方向に、輪郭線の内側の線を表すループ
(以後、単に内ループと呼ぶ)は時計方向に各々決めら
れている。
【0009】例えば図2に示す「D」のアウトラインデ
ータは図3のように記憶されている。すなわち、外ルー
プに関し、属性フラグ「S」は始点が点Aであることを
示し、属性フラグ「B1」、「B2」、「B」は反時計
回りの方向に終点を点Dとする曲線が形成され、その曲
線が点Bと点Cの二つの制御点を持つベジエ曲線で表わ
されることを示している。属性フラグ「L」は点Dと点
Aとが直線で結ばれることを示している。同様に、内ル
ープに関し、属性フラグ「S」は始点が点Eであること
を示し、属性フラグ「L」は点Eと点Fとが時計回りに
直線で結ばれることを示している。また、属性フラグ
「B1」、「B2」、「B」は終点を点Eとする曲線が
形成され、その曲線が点Gと点Hの二つの制御点を持つ
ベジエ曲線で表わされることを示している。
【0010】プログラムROM4には、図4に概念的に
示すようにデータ読み出し部42と、アウトラインデー
タの線幅を変更する線幅変更部43と、アウトラインデ
ータをショートベクトルに展開するデータ展開部44
と、アウトラインデータをドットデータに変換するアウ
トライン変換部46とがプログラムとして記憶され、各
々のプログラムはCPUにより実行される。データ読み
出し部42はテキストメモリ5からキャラクタコードを
1つ読み出し、そのキャラクタコードに応じたキャラク
タのアウトラインデータをキャラクタROM3の領域か
らバス8を介して読み、ワーキングメモリ内6の図示し
ないアウトラインデータバッファへ格納するものであ
る。線幅変更部43は、ベクトルデータ作成手段431
とベクトルデータ移動手段432と交点演算手段433
と変換アウトラインデータ生成部434と変換アウトラ
インデータ出力部435とからなる。ここでの処理は入
力装置9により指示された線幅がキャラクタROM3に
記憶されているキャラクタの線幅と異なるときに実行さ
れ、入力された線幅に基づいてキャラクタROM3に記
憶されたキャラクタのアウトラインデータの線幅を変更
した変換アウトラインデータを作成し、アウトラインデ
ータバッファに変換アウトラインデータとして格納する
ものである。詳細については後で説明する。
【0011】データ展開部44はアウトラインデータバ
ッファからアウトラインデータを順次読み出し、テキス
トメモリ5の文字サイズ、斜体・回転等の指示に応じた
変形を加え、直線と曲線のデータをショートベクトルに
変換するものである。アウトライン変換部46はショー
トベクトル化されたアウトラインデータをドットデータ
に変換し、ドットデータメモリ7に格納するものであ
る。
【0012】ここで線幅変更部43の処理を、キャラク
タROM3に記憶されている図2及び図3に示すキャラ
クタ「D」の座標点を「W」分だけ変更してキャラクタ
「D」の線幅を変更することを例にあげ、図5のフロー
チャートを用いて詳細に説明する。尚、上記「W」は、
入力装置9を通じて指定された線幅に基づいて決定され
る。S1はベクトルデータ作成手段431の処理であ
る。ここでは、閉ループのデータ群毎に、隣接するデー
タ点の座標値データを始点及び終点としたベクトルデー
タの集合を作成する。このとき、終点の属性フラグを同
時にデータとして持つ。すなわち、図6の矢印に示すよ
うなベクトルデータを作成し、外ループに関しては反時
計回りに、内ループに関しては時計回りに、各ベクトル
の始点及び終点を図7のようにデータ化する。次にS2
はベクトルデータ移動手段432の処理である。ここで
はS1で生成したベクトルデータをWだけ平行移動す
る。移動方向は、各ベクトルデータが示すベクトルの法
線方向に沿って、ベクトルの始点から終点を見たときの
ベクトルの左側から右側に向かう方向を正の方向として
いる。Wが正とすると、図8に示すように各ベクトルが
移動する。すなわち、外ループを形成していたベクトル
は外側に移動し、内ループを形成していたベクトルは内
側に正方向に移動する。
【0013】次にS3は交点演算手段433の処理であ
る。ここではS2で移動したベクトルデータを隣接する
もの同志連結する。すなわち、図9に示すように、矢印
で示すベクトルは直線的に延長され、隣接するベクトル
と交点を形成する。例えば、前記正方向へ移動した直線
ABと正方向へ移動した直線BCの各々の延長線の交点
として点Jが形成される。また、正方向へ移動すること
により交差する隣接したベクトルは、その交差する点が
交点とされる。例えば、正方向へ移動した直線EFと正
方向へ移動した直線FGは交差し、その交差する点が交
点Nとされる。そして、新しい交点を基にして、ベクト
ルの始点及び終点を示す座標値データは図10に示すよ
うに変更される。
【0014】次にS4は変換アウトラインデータ生成部
434の処理である。ここではS3で生成したベクトル
データの始点及び終点とベクトルデータの終点の属性フ
ラグから変換アウトラインデータを生成する。まず、1
閉ループの中で第1番目のベクトルデータの始点をアウ
トラインデータの始点「S」の座標値とする。以後、第
1番目のベクトルデータから順にベクトルデータの終点
の座標値を変換アウトラインデータの座標値データとし
ベクトルデータの終点の属性フラグを変換アウトライン
データを属性フラグとして変換アウトラインデータを生
成する。すなわち、図11及び図12に示すように外ル
ープに関して、点Iを始点、点Lを終点とし、点J及び
点Kを二つの制御点とする曲線と点Lと点Iとを結ぶ直
線となる。また、内ループに関して点Mを始点とし点N
とを結ぶ直線と、点Nと点Mとを結び点O及び点Pを二
つの制御点とする曲線となる。次にS5でS4で生成し
た変換アウトラインデータをアウトラインバッファに格
納する。以上の処理によって、入力された線幅に基づい
てキャラクタROM3に記憶されたキャラクタのアウト
ラインデータの線幅を変更した変換アウトラインデータ
を作成し、アウトラインデータバッファに変換アウトラ
インデータを格納することができる。
【0015】本実施例では本発明をレーザプリンタに適
用した例を示したが、これに限らずディスプレイ等の他
の出力装置にも適用可能である。又、本発明に外部記憶
装置を付加して、新たな文字・図形等のデータ作成装置
としても利用できる。又、本実施例では曲線式にベジェ
曲線を用いたが、スプライン、円弧等の他の曲線にも適
用できる。その他、本発明の趣旨を逸脱しない範囲で種
々の応用が可能である。
【0016】
【発明の効果】以上説明したことから明かなように、本
発明のアウトラインデータ処理装置によれば、ベクトル
データ作成手段が、記憶手段から読み出されたアウトラ
インデータの隣接する二つの座標値データから、一方の
座標値を始点とし、他方の座標値を終点とするベクトル
データを作成し、ベクトルデータ移動手段が、ベクトル
データの始点及び終点を、前記線幅入力手段に入力され
た線幅データに基づいて、該ベクトルデータの法線方向
に移動し、交点演算手段が、移動した始点及び終点を結
ぶ直線を演算し、互いに隣接する該直線の交点を求め、
アウトラインデータ出力手段が、交点演算手段で求めた
座標値を線幅データに基づいて変更された変更後座標値
データとし、該変更後座標値データのデータ点に対応す
る属性フラグとして、対応する変更前の属性フラグをそ
のまま付したものをアウトラインデータとして出力する
ので、アウトラインデータの座標値データの属性に関係
なく線幅変更を行うことができると共に、輪郭線データ
によって形状を確定された文字・記号等の構成線の線幅
の変更を曲線部分のショートベクトル分割及びショート
ベクトルから曲線式への変換を行わずにアウトラインデ
ータを直接演算処理でき、キャラクタの線幅の変更を高
速かつ容易に行うことができる。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control device for a laser printer having a built-in outline font, and more particularly to a character and a character whose shape is determined by outline data of the outline font. The present invention relates to a control device for changing the line width of a constituent line such as a graphic. 2. Description of the Related Art Conventionally, characters and symbols of any size can be printed with high quality, and it is easy to deform such as italic and rotation, and it can be expressed by one data. And outline data representing the shape of a contour line such as a character or a symbol composed of a curve by an attribute flag indicating the distinction between each straight line or a curve and the vote value data of the data point of the straight line or the curve. Laser printers having storage means have been put to practical use. In these laser printers, when changing the line width of a character, straight lines require only simple movement of vector data, but in the case of curves, data is first divided into short vector data, and the divided short data is used. Movement processing was performed on vector data. Then, the short vector data and the straight line data that have been subjected to the movement processing are converted again into a straight line and curved line data format. [0003] However, the division of a curve portion into short vectors, and conversely, the conversion from a short vector to a curve requires a large amount of computation, and C
It puts a heavy load on the PU and takes a lot of time to perform the arithmetic processing. SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and it is possible to change the line width of constituent lines such as characters and symbols whose shapes are determined by contour data by changing the short vector division and short vector of a curved portion. The present invention provides an outline data processing apparatus that performs high-speed conversion without performing conversion from to a curve expression. In order to achieve this object, an outline data processing apparatus according to the present invention converts the shape of the outline of a font such as a character or a symbol composed of straight lines and curves into each straight line. Storage means for storing outline data expressed by an attribute flag indicating a distinction between curves and coordinate value data of data points of the straight line or the curve; outline data reading means for reading the outline data from the storage means; Line width input means for inputting line width data, and vector data for creating vector data having one coordinate value as a start point and the other coordinate value as an end point from two adjacent coordinate value data of the outline data. creating means and said start and end point of the vector data, the line width input means is input to the line width data Vector data moving means moving in the normal direction of the vector data, and a straight line connecting the moved start point and end point, and calculating an intersection of adjacent straight lines. The calculating means, the coordinate value of the intersection obtained by the intersection calculating means, as the changed coordinate value data changed based on the line width data, as an attribute flag corresponding to the data point of the changed coordinate value data, And an outline data output means for outputting, as outline data, a data directly attached with the corresponding attribute flag before change. [0005] The outline data processing apparatus of the present invention having the above configuration has the following functions. The storage means is an outline for expressing the shape of the outline of a font such as a character or graphic composed of straight lines and curves by using attribute flags indicating the distinction of each straight line or curve and coordinate value data of data points of the straight lines or curves. Data is stored. The outline data reading means reads the outline data from the storage means. The line width input means receives line width data of constituent lines such as characters and figures represented by the outline data. The vector data creation means creates, from two adjacent coordinate value data of the outline data, vector data having one coordinate value as a start point and the other coordinate value as an end point. Vector data moving means, the start and end points of the vector data, based on the input line width data in the line width input means, to move <br/> moving in the normal direction of the vector data. The intersection calculating means calculates a straight line connecting the moved start point and end point, and obtains an intersection of the straight lines adjacent to each other.
The outline data output means uses the coordinate value obtained by the intersection calculation means as changed coordinate value data changed based on the line width data, and as an attribute flag corresponding to the data point of the changed coordinate value data, The data with the previous attribute flag attached as it is is output as outline data. An embodiment in which the present invention is mounted on a laser printer will be described below with reference to the drawings. FIG. 1 is a block diagram showing a part related to mainly performing data conversion in a control circuit of the laser printer. The microcomputer unit 1, which is a main component of the control circuit, includes a CPU 2, a character ROM 3, a program ROM 4, a text memory 5, a working memory 6, and a dot data memory 7. The CPU 2 and the like are connected via a bus 8. Further, an input device 9 and a printing device 10 are connected to the microcomputer unit 1 via a bus 8. The input device 9 is, for example, a keyboard, and is used when a user inputs data such as a character code supplied from the outside, designation of a line width, designation of a character size, designation of deformation such as italics and rotation, and the like. Is what you do.
The printing device 10 is, for example, a laser printer and is a device that performs printing using dot matrix data read from the dot data memory 7. Program R
The OM 4 stores programs for performing various controls performed in the present embodiment. The text memory 5 stores a character code input from the input device 9, a line width designation,
It stores data such as the designation of a character size and the designation of deformation such as italics and rotation. The text memory 5 corresponds to a line width input unit to which line width data is input. The working memory 6 temporarily stores data required when the CPU 2 executes a program. The dot data memory 7 stores the dot data obtained by the outline converter 46. Character ROM
An outline 3 represents the shape of the outline of a font such as a character or a symbol composed of straight lines and curves by using attribute flags indicating the distinction of each straight line or curve and coordinate value data of data points of the straight lines or curves. This is storage means for storing data. The outline data of this embodiment is represented by a straight line and a Bezier curve (hereinafter, simply referred to as a curve). The attribute flag distinguishes the straight line and the curve of the data point, and the coordinate value data which is the coordinate value of the data point. Be composed. The attribute flags include "S" indicating the start point of one of the contours of the character (hereinafter, referred to as a closed loop), "L" indicating the end point of the straight line, "B1" indicating the first control point of the curve, and "B1" indicating the first control point of the curve. There are “B2” indicating the second control point and “B” indicating the end point of the curve. The attribute flag is accompanied by one piece of coordinate value data. Note that the coordinate values of the start points of the straight line and the curve are the coordinate value data of the immediately preceding data point. The order of the data is sequentially stored in the rotation direction determined from the start point of the closed loop. In this embodiment, a loop representing a line outside the contour (hereinafter simply referred to as an outer loop) is counterclockwise, and a loop representing a line inside the contour (hereinafter simply referred to as an inner loop) is clockwise. Each is determined. For example, the outline data "D" shown in FIG. 2 is stored as shown in FIG. That is, regarding the outer loop, the attribute flag “S” indicates that the starting point is the point A, and the attribute flags “B1,” “B2,” and “B” indicate that the curve having the ending point as the point D in the counterclockwise direction. It shows that the curve is formed by a Bezier curve having two control points of point B and point C. The attribute flag “L” indicates that point D and point A are connected by a straight line. Similarly, regarding the inner loop, the attribute flag “S” indicates that the starting point is the point E, and the attribute flag “L” indicates that the point E and the point F are connected in a clockwise straight line. The attribute flags "B1,""B2," and "B" indicate that a curve having an end point at point E is formed, and that the curve is represented by a Bezier curve having two control points, point G and point H. ing. As shown conceptually in FIG. 4, the program ROM 4 has a data reading section 42, a line width changing section 43 for changing the line width of outline data, and a data expanding section 44 for expanding outline data into short vectors.
And an outline conversion unit 46 for converting outline data into dot data are stored as programs, and each program is executed by the CPU. The data reading unit 42 reads one character code from the text memory 5, reads outline data of a character corresponding to the character code from the area of the character ROM 3 via the bus 8, and transfers the outline data to an outline data buffer (not shown) of the working memory 6. What to store. The line width changing unit 43 includes a vector data creating unit 431.
And vector data moving means 432 and intersection calculation means 433
And a converted outline data generator 434 and a converted outline data output unit 435. The processing here is
This is executed when the line width specified by the force device 9 is different from the line width of the character stored in the character ROM 3, and the line width of the outline data of the character stored in the character ROM 3 is changed based on the input line width. The converted outline data is created and stored in the outline data buffer as converted outline data. Details will be described later. The data expanding section 44 sequentially reads out outline data from the outline data buffer, modifies the text memory 5 in accordance with the instruction such as the character size, italic / rotation, etc., and converts straight line and curve data into short vectors. It is. The outline converter 46 converts the short vectorized outline data into dot data and stores it in the dot data memory 7. [0012] Here in the processing of line width changing section 43, character
Character shown in FIGS. 2 and 3 are stored in the data ROM3
The coordinate point of Kuta "D" to change only "W" partial character
Changing the line width of “D” will be described in detail with reference to the flowchart of FIG. 5 as an example. The above “W” is
Determined based on the line width specified through the input device 9
You . S1 is a process of the vector data creation unit 431. Here, for each closed loop data group, a set of vector data with the coordinate value data of adjacent data points as a start point and an end point is created. At this time, the attribute flag of the end point is simultaneously held as data. That is, the vector data as shown by the arrow in FIG. 6 is created, and the start point and the end point of each vector are converted into data as shown in FIG. 7 in the counterclockwise direction for the outer loop and clockwise for the inner loop. Next, S2
Is the processing of the vector data moving means 432. Here, the vector data generated in S1 is translated by W. The moving direction is a positive direction along the normal direction of the vector indicated by each vector data, from the left to the right of the vector when the end point is viewed from the start point of the vector. If W is positive, each vector moves as shown in FIG. That is, the vector forming the outer loop moves outward, and the vector forming the inner loop moves inward in the positive direction. Next, S3 is a process of the intersection calculation means 433. Here, the vector data moved in S2 is connected to adjacent ones. That is, as shown in FIG. 9, the vector indicated by the arrow is linearly extended and forms an intersection with an adjacent vector. For example, a point J is formed as an intersection of the extension lines of the straight line AB moved in the forward direction and the straight line BC moved in the forward direction. In addition, adjacent vectors that intersect by moving in the forward direction have the intersecting points as intersections. For example, the straight line EF that has moved in the forward direction and the straight line FG that has moved in the forward direction intersect, and the intersection point is the intersection N. Then, based on the new intersection, the coordinate value data indicating the start point and the end point of the vector is changed as shown in FIG. Next, step S4 is a process of the conversion outline data generation unit 434. Here, the converted outline data is generated from the start and end points of the vector data generated in S3 and the attribute flag of the end point of the vector data. First, 1
The start point of the first vector data in the closed loop is set as the coordinate value of the start point “S” of the outline data. Thereafter, the coordinate value of the end point of the vector data is sequentially set from the first vector data to the coordinate value data of the converted outline data, and the attribute flag of the end point of the vector data is used as the converted outline data to generate the converted outline data. That is, as shown in FIGS. 11 and 12, a curve connecting the point L to the point I and a curve having the point I as a start point, the point L as an end point, and the points J and K as two control points, as shown in FIGS. Become. Further, with respect to the inner loop, a point M is a starting point and a point N
And a curve connecting points N and M with points O and P as two control points. Next, in S5, the converted outline data generated in S4 is stored in the outline buffer. By the above processing , based on the input line width
Out of the character stored in the character ROM 3
The converted outline data in which the line width of the line data is changed can be created, and the converted outline data can be stored in the outline data buffer. In this embodiment, an example in which the present invention is applied to a laser printer has been described. However, the present invention is not limited to this and can be applied to other output devices such as a display. Further, by adding an external storage device to the present invention, the present invention can also be used as a data creation device for new characters and figures. In this embodiment, a Bezier curve is used as a curve equation, but the present invention can be applied to other curves such as splines and arcs. In addition, various applications are possible without departing from the spirit of the present invention. As is apparent from the above description, according to the outline data processing apparatus of the present invention, the vector data creating means uses two adjacent coordinates of the outline data read from the storage means. from the value data, starting from one of the coordinate values, the other coordinate values to create a vector data as an end point, the line vector data moving means, the start and end points of the vector data, is input to the line width input means Based on the width data, the normal direction of the vector data
Go to the intersection calculating means calculates the straight line connecting the moved start and end points, obtain the intersection of adjacent straight line with each other,
The outline data output means sets the coordinate value obtained by the intersection calculation means as changed coordinate value data changed based on the line width data, and sets the corresponding change as an attribute flag corresponding to the data point of the changed coordinate value data. Since the data with the previous attribute flag added as it is is output as outline data, the line width can be changed regardless of the attribute of the coordinate value data of the outline data, and the characters and symbols whose shapes have been determined by the outline data The outline data can be directly processed without changing the line width of the constituent lines, etc., without dividing the short vector into a curved line and converting the short vector into a curved line, and the line width of the character can be changed quickly and easily. Can be.
【図面の簡単な説明】
【図1】データ変換を行なう部分の制御構成を示すブロ
ック図である。
【図2】本実施例のデータ形式を適用した「D」のイメ
ージを示す図である。
【図3】本実施例の「D」のアウトラインデータを示す
図である。
【図4】本実施例のプログラムROMの概念図である。
【図5】本実施例の線幅変換部の処理のフローチャート
である。
【図6】本実施例の「D」に関する線幅変更前のベクト
ルデータのイメージを示す図である。
【図7】本実施例の「D」に関する線幅変更前のベクト
ルデータを示す図である。
【図8】本実施例の線幅変換部での移動処理が終了した
ベクトルデータのイメージを示す図である。
【図9】本実施例の線幅変換部での連結処理が終了した
ベクトルデータのイメージを示す図である。
【図10】本実施例の線幅変換部での連結処理が終了し
たベクトルデータを示す図である。
【図11】本実施例の線幅変換部で生成した変換アウト
ラインデータを示す図である。
【図12】本実施例の線幅変換部で生成した変換アウト
ラインデータのイメージを示した図である。
【符号の説明】
9 入力装置
42 データ読み出し部
431 ベクトルデータ作成手段
432 ベクトルデータ移動手段
433 交点演算手段
434 変換アウトラインデータ生成部
435 変換アウトラインデータ出力部BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a control configuration of a part for performing data conversion. FIG. 2 is a diagram illustrating an image of “D” to which the data format of the present embodiment is applied. FIG. 3 is a diagram illustrating outline data of “D” in the present embodiment. FIG. 4 is a conceptual diagram of a program ROM of the present embodiment. FIG. 5 is a flowchart of a process performed by a line width conversion unit according to the embodiment. FIG. 6 is a diagram illustrating an image of vector data before a line width change regarding “D” in the embodiment. FIG. 7 is a diagram illustrating vector data before a line width change regarding “D” in the embodiment. FIG. 8 is a diagram illustrating an image of vector data on which movement processing in the line width conversion unit according to the present embodiment has been completed. FIG. 9 is a diagram illustrating an image of vector data on which the linking process has been completed in the line width conversion unit according to the embodiment; FIG. 10 is a diagram illustrating vector data on which the linking process has been completed in the line width conversion unit according to the embodiment; FIG. 11 is a diagram illustrating converted outline data generated by a line width conversion unit according to the present embodiment. FIG. 12 is a diagram illustrating an image of converted outline data generated by a line width conversion unit according to the present embodiment. [Description of Signs] 9 Input device 42 Data readout unit 431 Vector data creation unit 432 Vector data movement unit 433 Intersection operation unit 434 Conversion outline data generation unit 435 Conversion outline data output unit
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−245572(JP,A) 特開 昭63−303477(JP,A) 特開 昭61−246877(JP,A) 特開 平2−39360(JP,A) 特開 平4−93992(JP,A) 特開 平4−136898(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 - 5/26 G06F 15/66 G06F 15/72 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-63-245572 (JP, A) JP-A-63-303477 (JP, A) JP-A-61-246877 (JP, A) JP-A-2- 39360 (JP, A) JP-A-4-93992 (JP, A) JP-A-4-136898 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G09G 5 / 24-5 / 26 G06F 15/66 G06F 15/72
Claims (1)
フォントの輪郭線の形状を、各々の直線または曲線の区
別を表わす属性フラグと該直線または曲線のデータ点の
座標値データとにより表現するアウトラインデータを記
憶した記憶手段と、 前記記憶手段から前記アウトラインデータを読み出すア
ウトラインデータ読み出し手段と、 前記フォントの線幅データが入力される線幅入力手段
と、 前記アウトラインデータの隣接する二つの座標値データ
から、一方の座標値を始点とし、他方の座標値を終点と
するベクトルデータを作成するベクトルデータ作成手段
と、 前記ベクトルデータの始点及び終点を、前記線幅入力手
段に入力された線幅データに基づいて、該ベクトルデー
タの法線方向に移動するベクトルデータ移動手段と、 前記移動された始点及び終点を結ぶ直線を演算し、互い
に隣接する該直線の交点を求める交点演算手段と、 前記交点演算手段で求めた交点の座標値を、前記線幅デ
ータに基づいて変更された変更後座標値データとし、該
変更後座標値データのデータ点に対応する属性フラグと
して、対応する変更前の属性フラグをそのまま付したも
のをアウトラインデータとして出力するアウトラインデ
ータ出力手段とを備えたことを特徴とするアウトライン
データ処理装置。(57) [Claims 1] The shape of the outline of a font such as a character or a symbol composed of a straight line and a curve is defined by an attribute flag indicating the distinction between each straight line or a curve and the attribute flag of the straight line or the curve. Storage means for storing outline data represented by coordinate value data of data points, outline data reading means for reading the outline data from the storage means, line width input means for inputting the font line width data, From two coordinate value data adjacent to the outline data, one coordinate value is used as a starting point, vector data creating means for creating vector data using the other coordinate value as an end point, the start point and the end point of the vector data , Based on the line width data input to the line width input means, the vector data
Vector data moving means moving in the normal direction of the data, an intersection calculating means for calculating a straight line connecting the moved start point and end point, and obtaining an intersection of the straight lines adjacent to each other, and an intersection obtained by the intersection calculating means Are the coordinate values after change changed based on the line width data, and the attribute flags before change are directly attached as attribute flags corresponding to the data points of the coordinate value data after change. And an outline data output means for outputting the outline data as outline data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13199991A JP3457336B2 (en) | 1991-05-08 | 1991-05-08 | Outline data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13199991A JP3457336B2 (en) | 1991-05-08 | 1991-05-08 | Outline data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143046A JPH05143046A (en) | 1993-06-11 |
JP3457336B2 true JP3457336B2 (en) | 2003-10-14 |
Family
ID=15071191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13199991A Expired - Fee Related JP3457336B2 (en) | 1991-05-08 | 1991-05-08 | Outline data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3457336B2 (en) |
-
1991
- 1991-05-08 JP JP13199991A patent/JP3457336B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05143046A (en) | 1993-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3037854B2 (en) | Character generation method and device | |
JP3457336B2 (en) | Outline data processing device | |
JP3196236B2 (en) | Outline data processing device | |
JP3055187B2 (en) | Contour data processing device | |
JP3087427B2 (en) | Contour data converter | |
JPH0452475B2 (en) | ||
JP2886702B2 (en) | Outline font processor | |
JP2861201B2 (en) | Data converter | |
JP3057959B2 (en) | Data converter | |
JP3089795B2 (en) | Character symbol generator | |
JP3082236B2 (en) | Character drawing device | |
JP2908194B2 (en) | Character transformation control method | |
JPH04167082A (en) | Polygonal approximation system for curved section | |
JP3082173B2 (en) | Contour data processing device | |
JP2893836B2 (en) | Document creation device and document creation method | |
JP3055306B2 (en) | Data output device | |
JP2737845B2 (en) | Character processing method and apparatus | |
JP3028665B2 (en) | Character output device | |
JP3039214B2 (en) | Data converter | |
JP2881924B2 (en) | Data storage device | |
JP3254657B2 (en) | Data converter | |
JPH04278993A (en) | Outline data processor | |
JPH05216457A (en) | Data output device | |
JPH0683311A (en) | Character symbol generating device | |
JPH0424688A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080801 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090801 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100801 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |