JPH04373082A - Character generator - Google Patents

Character generator

Info

Publication number
JPH04373082A
JPH04373082A JP3151444A JP15144491A JPH04373082A JP H04373082 A JPH04373082 A JP H04373082A JP 3151444 A JP3151444 A JP 3151444A JP 15144491 A JP15144491 A JP 15144491A JP H04373082 A JPH04373082 A JP H04373082A
Authority
JP
Japan
Prior art keywords
affine transformation
curve
curve interpolation
data
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3151444A
Other languages
Japanese (ja)
Inventor
Shinji Wakizaka
新路 脇坂
Kazuko Hasegawa
和子 長谷川
Hiroshi Wada
和田 弘士
Norio Tanaka
紀夫 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3151444A priority Critical patent/JPH04373082A/en
Publication of JPH04373082A publication Critical patent/JPH04373082A/en
Pending legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To process characters with high quality at high speed by executing both the processing of executing curve transformation after affine transformation and the processing of executing the affine transformation after the curve transformation. CONSTITUTION:Input font data 14 are processed by an affine transformation block 2 or a curve interpolation block 3. In that case, when outputting characters in a small size in comparison with a source outline font data size, the character quality is improved by executing the affine transformation after executing the curve interpolation. Reversely when outputting large characters, processing time can be considerably shortened by executing the curve interpolation after executing the affine transformation.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、ベクトル形式で表され
た文字の輪郭データをアフィン変換により、または、曲
線補間により座標変換演算した後、ラスタ形式のデータ
に変換し、出力する文字発生装置に関する。
[Industrial Application Field] The present invention is a character generation device that performs coordinate transformation calculations on character outline data expressed in vector format by affine transformation or curve interpolation, and then converts the data into raster format data and outputs the data. Regarding.

【0002】0002

【従来の技術】複数の文字サイズの文字や回転,斜体等
の文字を出力する方法として、文字データの輪郭上の座
標を文字フォントとしてROM又は外部記憶装置に持ち
、指定出力サイズにしたがってアフィン変換と呼ばれる
座標変換演算して出力するものがある。また、文字の曲
線を美しく出力するために、曲線補間により曲線上の座
標に座標変換して出力するものがある。
[Prior Art] As a method for outputting characters of multiple character sizes, rotated characters, italic characters, etc., coordinates on the outline of character data are stored in a ROM or external storage device as a character font, and affine transformation is performed according to the specified output size. There is a method that performs coordinate transformation calculations and outputs them. In addition, in order to output the curved lines of characters beautifully, there are some that use curved interpolation to convert the coordinates to coordinates on the curved line and output them.

【0003】図9は、従来の文字発生装置のブロック図
であり、アウトラインフォントデータを構成する座標デ
ータをページメモリ上へビットマップデータに変換する
一連の処理を行なう文字発生用LSI,OFP(アウト
ラインフォントプロセッサ)である。特に制限されない
が、同図において実線で囲まれた各回路ブロックは、周
知の半導体集積回路技術によって、一つの半導体チップ
上に形成されている。ここで、OFP27は、ホストイ
ンタフェース28およびホストインタフェース内部にあ
るフォント入力FiFo29,アフィン変換ブロック3
0,FiFo31,曲線補間ブロック32,FiFo3
3,ライン発生ブロック34,ドットメモリ35,塗り
潰しBitBLTブロック36,ページメモリインタフ
ェース37から構成されている。ホストインタフェース
28からは、システムバスに接続されるアドレスバス,
データバス,制御信号群が出力される。内部データバス
38は、システムデータバスに接続されている。また、
ページメモリインタフェース37からは、ページメモリ
コントローラに接続されるアドレスバス,データバス,
制御信号群が出力される。OFPでは、アフィン変換に
よる座標変換演算の後に、曲線補間による曲線上の座標
に座標変換演算が行なわれる。
FIG. 9 is a block diagram of a conventional character generation device, in which a character generation LSI, OFP (outline font processor). Although not particularly limited, each circuit block surrounded by a solid line in the figure is formed on one semiconductor chip using well-known semiconductor integrated circuit technology. Here, the OFP 27 connects the host interface 28, the font input FiFo 29 inside the host interface, and the affine transformation block 3.
0, FiFo31, curve interpolation block 32, FiFo3
3, a line generation block 34, a dot memory 35, a fill-in BitBLT block 36, and a page memory interface 37. From the host interface 28, an address bus connected to the system bus,
Data bus and control signal group are output. Internal data bus 38 is connected to the system data bus. Also,
From the page memory interface 37, an address bus, a data bus, and a data bus are connected to the page memory controller.
A control signal group is output. In OFP, after a coordinate transformation operation by affine transformation, a coordinate transformation operation is performed on coordinates on a curve by curve interpolation.

【0004】なお、本出願人が先に出願した特願平2−
19052号,「文字発生装置」32900004には
、アフィン変換及び曲線補間により座標変換機能を持つ
文字発生装置が記載されている。
[0004] It should be noted that the patent application No. 2-1 filed earlier by the present applicant
No. 19052, "Character Generator" 32900004 describes a character generator having a coordinate conversion function using affine transformation and curve interpolation.

【0005】[0005]

【発明が解決しようとする課題】上記従来の文字発生装
置では、図9に示すように、アフィン変換による座標変
換演算の後に、曲線補間による曲線上の座標に座標変換
演算が行なわれる。図8に、入力されるアウトラインフ
ォントデータの曲線座標データが曲線上の座標データに
変換される様子を示す。曲線は三次ベジェ曲線であり、
一曲線を表す曲線座標データは、始点(x1,y1),
制御点(x2,y2),制御点(x3,y3),終点(
x4,y4)である。これら四つの座標点の位置関係か
ら曲線が規定され、曲線上の座標データを新たに発生す
る。
In the conventional character generating device described above, as shown in FIG. 9, after a coordinate transformation operation by affine transformation, a coordinate transformation operation is performed for coordinates on a curved line by curve interpolation. FIG. 8 shows how curve coordinate data of input outline font data is converted to coordinate data on a curve. The curve is a cubic Bezier curve,
The curve coordinate data representing one curve is the starting point (x1, y1),
Control point (x2, y2), control point (x3, y3), end point (
x4, y4). A curve is defined from the positional relationship of these four coordinate points, and coordinate data on the curve is newly generated.

【0006】まず、従来通り、アフィン変換を行なった
後に、曲線補間を行なう場合を考える。図8(a)は、
元のアウトラインフォントデータが示す曲線23である
First, let us consider the case where curve interpolation is performed after affine transformation as in the past. FIG. 8(a) is
This is a curve 23 shown by the original outline font data.

【0007】小さい文字を出力するとき、曲線座標デー
タは、図8(b)に示す様に、(x1’,y1’),(
x2’,y2’),(x3’,y3’),(x4’,y
4’)にアフィン変換される。このとき、元のフォント
が作られているメッシュサイズから小さいメッシュサイ
ズに座標変換されることから、量子化誤差により元の曲
線23に対して、曲線25の形状がゆがめられ、曲線補
間により発生した曲線25上の座標データ25p は、
文字品質を悪くする。
When outputting small characters, the curve coordinate data is (x1', y1'), (
x2', y2'), (x3', y3'), (x4', y
4') is affine transformed. At this time, since the coordinates are transformed from the mesh size where the original font was created to a smaller mesh size, the shape of the curve 25 is distorted with respect to the original curve 23 due to quantization error, which is caused by curve interpolation. The coordinate data 25p on the curve 25 is
Decrease character quality.

【0008】大きい文字を出力するとき、曲線座標デー
タは、図8(c)に示す様に、(x1’,y1’),(
x2’,y2’),(x3’,y3’),(x4’,y
4’)にアフィン変換される。このとき、元のフォント
が作られているメッシュサイズから大きいメッシュサイ
ズに座標変換されることから、量子化誤差は無視でき、
元の曲線23に対して、曲線26の形状がゆがめられる
ことはないが、逆に曲線26上の座標データの数を多く
発生しないと文字品質を悪くする。
When outputting large characters, the curve coordinate data is (x1', y1'), (
x2', y2'), (x3', y3'), (x4', y
4') is affine transformed. At this time, the coordinates are transformed from the mesh size where the original font was created to a larger mesh size, so the quantization error can be ignored.
The shape of the curve 26 is not distorted with respect to the original curve 23, but on the contrary, unless a large number of coordinate data on the curve 26 are generated, character quality will deteriorate.

【0009】次に、曲線補間を行なった後に、アフィン
変換を行なう場合を考える。
Next, consider the case where affine transformation is performed after curve interpolation.

【0010】小さい文字を出力するとき、図8(a)に
示すように、曲線補間により曲線座標データ(x1,y
1),(x2,y2),(x3,y3),(x4,y4
)から曲線23上の座標データ23p を発生する。こ
れらは、元フォントデータにおける曲線上にあるから、
アフィン変換された後の曲線24上の座標データ24p
に変換されても、文字品質を極端に悪くすることはない
When outputting small characters, as shown in FIG. 8(a), curved coordinate data (x1, y
1), (x2, y2), (x3, y3), (x4, y4
) to generate coordinate data 23p on the curve 23. These are on the curve in the original font data, so
Coordinate data 24p on the curve 24 after affine transformation
Even if it is converted to , the character quality will not be significantly degraded.

【0011】大きい文字を出力するとき、同様に、曲線
補間により曲線23上の座標データを多く発生し、アフ
ィン変換により曲線26上の座標データ26p に変換
する。このとき、曲線補間により発生したすべての座標
データに対してアフィン変換を行なうため、曲線座標デ
ータだけアフィン変換するのに比べて処理時間が長くか
かる。
When outputting large characters, similarly, a large amount of coordinate data on the curve 23 is generated by curve interpolation, and converted to coordinate data 26p on the curve 26 by affine transformation. At this time, since affine transformation is performed on all coordinate data generated by curve interpolation, processing time is longer than when affine transformation is performed only on curve coordinate data.

【0012】すなわち、文字品質並びに処理の高速化を
向上するためには、小さい文字を出力するときは、曲線
補間を行なった後にアフィン変換を行ない、大きい文字
を出力するときは、アフィン変換を行なった後に曲線補
間を行なう必要がある。
That is, in order to improve character quality and processing speed, when outputting small characters, perform curve interpolation and then perform affine transformation, and when outputting large characters, perform affine transformation. After that, it is necessary to perform curve interpolation.

【0013】本発明の目的は、LSI化に適した文字発
生方法及びその装置を提供することにある。
An object of the present invention is to provide a character generation method and apparatus suitable for LSI.

【0014】また、本発明の他の目的は、LSI化が可
能な小さな回路規模でアフィン変換及び曲線補間の処理
順序を切り換えることができる文字発生方法及びその装
置を提供することにある。
Another object of the present invention is to provide a character generation method and apparatus capable of switching the processing order of affine transformation and curve interpolation with a small circuit scale that can be implemented in LSI.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明による文字発生装置は、アフィン変換を行な
うアフィン変換ブロックと曲線補間を行なう曲線補間ブ
ロックをもち、アフィン変換を行なった後に曲線補間を
行なう処理と、曲線補間を行なった後にアフィン変換を
行なう処理を、各ブロックの内容を変更することなくバ
スを切り換えることにより実行するものである。
[Means for Solving the Problems] In order to achieve the above object, a character generating device according to the present invention has an affine transformation block that performs affine transformation and a curve interpolation block that performs curve interpolation. Interpolation processing and affine transformation processing after curve interpolation are executed by switching buses without changing the contents of each block.

【0016】文字発生装置において、アフィン変換を行
なった後に曲線補間を行なう処理、または曲線補間を行
なった後にアフィン変換を行なう処理のどちらを実行す
るかを切り換える信号は、切り換え用レジスタ一ビット
を持たせるようにするものである。
In the character generator, a signal for switching whether to perform affine transformation and then curve interpolation, or curve interpolation and then affine transformation, has one bit in the switching register. It is intended to make it possible to

【0017】文字発生装置において、アフィン変換を行
なった後に曲線補間を行なう処理、または曲線補間を行
なった後にアフィン変換を行なう処理のどちらを実行す
るかを切り換える信号は、入力された情報にしたがって
簡単な制御回路により発生するようにしたものである。
In a character generator, a signal for switching between performing affine transformation followed by curve interpolation or curve interpolation followed by affine transformation can be easily generated according to the input information. This is generated by a control circuit.

【0018】[0018]

【作用】上述の手段によれば、アフィン変換を行なった
後に曲線補間を行なう処理と、曲線補間を行なった後に
アフィン変換を行なう処理の二つの処理を切り換えて行
なうことにより、元のアウトラインフォントデータサイ
ズに比べて、小さい文字を出力するにおいては、曲線補
間を行なった後にアフィン変換を行なうことから文字品
質の向上が期待できる。また、大きい文字を出力するに
おいては、アフィン変換を行なった後に曲線補間を行な
うことから処理時間を大幅に短縮することができる。す
なわち、出力文字サイズに応じて、品質の良い文字を高
速に出力することができる。さらに、アフィン変換ブロ
ックと曲線補間ブロックの内容を変更することなく、バ
スを切り換えることにより、文字発生装置全体の規模を
増大させることがなく、LSI化に適している。
[Operation] According to the above-mentioned means, original outline font data can be restored by switching between two processes: affine transformation followed by curve interpolation and curve interpolation followed by affine transformation. When outputting characters that are small compared to the size, an improvement in character quality can be expected because affine transformation is performed after curve interpolation. Furthermore, when outputting large characters, curve interpolation is performed after affine transformation, so processing time can be significantly shortened. That is, it is possible to output high-quality characters at high speed according to the output character size. Furthermore, by switching the bus without changing the contents of the affine transformation block and the curve interpolation block, the scale of the entire character generator is not increased, making it suitable for LSI implementation.

【0019】さらに、二つの処理を切り換える信号は、
切り換え用レジスタ1ビットを持たせたことにより、ユ
ーザが二つの処理の切り換えを文字出力サイズに合わせ
て設定できる。
Furthermore, the signal for switching between the two processes is
By providing one bit in the switching register, the user can set the switching between the two processes according to the character output size.

【0020】また、二つの処理を切り換える信号は、あ
らかじめ設定されている入力情報、例えば出力文字サイ
ズや、アフィン変換におけるアフィンマトリクスデータ
[0020] Furthermore, the signal for switching between the two processes is based on preset input information, such as output character size and affine matrix data in affine transformation.

【0021】[0021]

【数1】         x’=  ax+by+e     
                         
      (アフィン変換の式)        y
’=  cx+dy+f              
              ………(1)ここで、a
,b,c,d,e,f:アフィンマトリクスデータから
、簡単な制御回路を用いて発生することにより、ユーザ
が改めて切り換え信号を設定しなくても、自動的に切り
換えることができる。
[Math. 1] x'= ax+by+e

(Affine transformation formula) y
'= cx+dy+f
......(1) Here, a
, b, c, d, e, f: are generated from affine matrix data using a simple control circuit, so that switching can be performed automatically without the user having to set a switching signal again.

【0022】[0022]

【実施例】以下、本発明の実施例を詳細に説明する。EXAMPLES Examples of the present invention will be described in detail below.

【0023】図1に、本発明を適用した文字発生装置の
アフィン変換及び曲線補間のブロック図を示す。なお、
本装置は、これに限定する必要はなく、マイクロコンピ
ュータ周辺機器としてLSI化した単体素子であっても
、システム化した装置であってもよい。
FIG. 1 shows a block diagram of affine transformation and curve interpolation of a character generator to which the present invention is applied. In addition,
The present device is not limited to this, and may be a single element integrated into an LSI as a microcomputer peripheral device, or a systemized device.

【0024】1は、本発明のアフィン変換を行なった後
に曲線補間を行なう処理と曲線補間を行なった後にアフ
ィン変換を行なう処理を切り換えて実行するブロックで
ある。これを構成する要素として、2は、アフィン変換
を行なうアフィン変換ブロックであり、3は、曲線補間
を行なう曲線補間ブロックである。4及び5は、アフィ
ン変換ブロックあるいは曲線補間ブロックに座標変換さ
れた座標データ及びフラグデータを蓄えておくFiFo
である。6,7,8及び9は、データバスを切り換える
ためのセレクタであり、切り換え用信号として、セレク
ト信号10が接続されている。それぞれの構成要素は、
データバスにより連結されている。FiFo4及び5か
らアフィン変換ブロック及び曲線補間ブロックへ出力さ
れている制御信号は、FiFoへのライト許可またはリ
ード許可信号である。各ブロックからFiFoへのライ
トまたはリードイネーブル信号はここでは省略した。
Reference numeral 1 denotes a block that switches and executes the process of performing affine transformation followed by curve interpolation and the process of performing affine transformation after curve interpolation according to the present invention. As elements constituting this, 2 is an affine transformation block that performs affine transformation, and 3 is a curve interpolation block that performs curve interpolation. 4 and 5 are FiFos that store coordinate data and flag data that have been coordinate transformed into an affine transformation block or a curve interpolation block.
It is. 6, 7, 8, and 9 are selectors for switching data buses, and a select signal 10 is connected as a switching signal. Each component is
They are connected by a data bus. The control signals output from the FiFos 4 and 5 to the affine transformation block and the curve interpolation block are write permission or read permission signals to the FiFos. Write or read enable signals from each block to the FiFo are omitted here.

【0025】図2は、図1において、セレクト信号10
を発生するための一例である。11は、レジスタであり
、そのうち、一ビットをセレクト信号10に割り当てた
ものである。このレジスタ11は、例えば、コマンドレ
ジスタであり、ユーザがアウトラインフォントデータの
出力文字サイズに応じて設定するものである。
FIG. 2 shows the selection signal 10 in FIG.
This is an example for generating . 11 is a register, one bit of which is assigned to the select signal 10; This register 11 is, for example, a command register, and is set by the user according to the output character size of the outline font data.

【0026】図3は、セレクト信号10を発生するため
の一例である。13は、あらかじめ設定されている入力
情報であり、例えば、出力文字サイズやアフィン変換に
おけるアフィンマトリクスデータである。これらの入力
情報から、簡単な制御回路12、例えば、デコーダを用
いてセレクト信号10を発生する。よって、図2に示し
たように、ユーザが改めてセレクト信号10を設定しな
くても、自動的に切り換えることができる。
FIG. 3 is an example of generating the select signal 10. Reference numeral 13 indicates input information set in advance, such as output character size and affine matrix data for affine transformation. From these input information, a select signal 10 is generated using a simple control circuit 12, for example a decoder. Therefore, as shown in FIG. 2, automatic switching is possible without the user having to set the select signal 10 again.

【0027】次に、アウトラインフォントデータが実際
にアフィン変換及び曲線補間によって座標変換される様
子について説明する。
Next, a description will be given of how outline font data is actually coordinate transformed by affine transformation and curve interpolation.

【0028】図4は、アウトラインフォントデータの構
造図である。14は、アウトラインフォントデータであ
り、大きく分けて、フラグデータと座標データから構成
されている。8001hは領域開始フラグデータであり
、8008hは曲線開始フラグデータであり、8004
hは文字の終了フラグデータである。(x0,y0)〜
(xn,yn)は座標データであり、直線座標データと
曲線座標データを構成している。
FIG. 4 is a structural diagram of outline font data. 14 is outline font data, which is roughly divided into flag data and coordinate data. 8001h is area start flag data, 8008h is curve start flag data, and 8004
h is character end flag data. (x0, y0) ~
(xn, yn) is coordinate data, which includes linear coordinate data and curved coordinate data.

【0029】図5はアフィン変換ブロック2の動作を説
明するためのフローチャートである。15は、アウトラ
インフォントデータ14を一ワードごとにリードする。 終了フラグデータ8004hの場合、出力17して終了
する。終了フラグデータ以外のフラグデータ、領域開始
フラグデータ8001hまたは曲線開始フラグデータ8
008hの場合、出力する17。座標データの場合、(
x,y)のペアを確認し、式(1)に示したアフィン変
換16を実行し、座標データ(x’,y’)を出力する
17。
FIG. 5 is a flowchart for explaining the operation of the affine transformation block 2. 15 reads the outline font data 14 word by word. In the case of end flag data 8004h, output 17 and end. Flag data other than end flag data, area start flag data 8001h or curve start flag data 8
If 008h, output 17. For coordinate data, (
x, y), executes the affine transformation 16 shown in equation (1), and outputs the coordinate data (x', y') 17.

【0030】図6は、曲線補間ブロック3の動作を説明
するためのフローチャートである。18は、アウトライ
ンフォントデータ14を一ワードごとにリードする。終
了フラグデータ8004hの場合、出力し20、終了す
る。 領域開始フラグデータ8001hの場合、出力する20
。 曲線開始フラグデータ8008hの場合、先にリードし
た座標データ(x1,y1)及び次にリードされる座標
データ(x2,y2),(x3,y3),(x4,y4
)の組を確認し、曲線補間19を実行し、座標データ(
x1,y1),(xb1,yb1),(xb2,yb2
),(xb3,yb3),(x4,y4)を出力する2
0(但し、曲線上の座標3点発生)。8008hは出力
しない。また、曲線開始フラグデータと関係のない座標
データ、すなわち、直線座標データに関してはそのまま
出力する。
FIG. 6 is a flowchart for explaining the operation of the curve interpolation block 3. 18 reads the outline font data 14 word by word. In the case of end flag data 8004h, output 20 and end. In the case of area start flag data 8001h, output 20
. In the case of curve start flag data 8008h, the coordinate data read first (x1, y1) and the coordinate data read next (x2, y2), (x3, y3), (x4, y4
), execute curve interpolation 19, and obtain the coordinate data (
x1, y1), (xb1, yb1), (xb2, yb2
), (xb3, yb3), (x4, y4) 2
0 (however, three coordinate points on the curve occur). 8008h is not output. Further, coordinate data unrelated to the curve start flag data, that is, linear coordinate data, is output as is.

【0031】アフィン変換を行なった後に曲線補間を行
なった場合について説明する。図1において、セレクト
信号10は、”0”すなわちオフ状態であるとする。セ
レクタ6,セレクタ7及びセレクタ8は、入力s0及び
入力s1のうちs0を出力する。また、セレクタ9は、
セレクト信号10の反転”1”、すなわち、オン状態の
セレクト信号により、入力s0及び入力s1のうちs1
を出力する。図4に示す入力フォントデータ14は、セ
レクタ6だけを通り、アフィン変換ブロック2ヘ入力さ
れる。アフィン変換されたデータは出力され、セレクタ
8だけを通り、FiFo4へ書き込まれる。次に、Fi
Fo4から読み出されたデータは、セレクタ7だけを通
り、曲線補間ブロック3へ入力される。曲線補間された
データは出力され、セレクタ9だけを通り、FiFo5
へ書き込まれる。曲線補間ブロックで曲線上に発生する
座標点数を三点とすると、入力フォントデータ14は、
図7(a)に示す出力データに変換され、FiFo5へ
書き込まれる。
A case will be explained in which curve interpolation is performed after affine transformation. In FIG. 1, it is assumed that the select signal 10 is "0", that is, in an off state. Selector 6, selector 7, and selector 8 output s0 of input s0 and input s1. In addition, the selector 9 is
Due to the inversion of the select signal 10 being "1", that is, the select signal in the on state, s1 of the input s0 and input s1 is
Output. The input font data 14 shown in FIG. 4 passes only through the selector 6 and is input to the affine transformation block 2. The affine-transformed data is output, passes only through the selector 8, and is written to the FiFo4. Next, Fi
The data read from Fo4 passes through only the selector 7 and is input to the curve interpolation block 3. The curve interpolated data is output, passes only through the selector 9, and is sent to the FiFo5
is written to. Assuming that the number of coordinate points generated on the curve in the curve interpolation block is three, the input font data 14 is as follows.
The output data is converted into the output data shown in FIG. 7(a) and written to the FiFo5.

【0032】逆に、曲線補間を行なった後にアフィン変
換を行なった場合について説明する。図1において、セ
レクト信号10は、”1”、すなわち、オン状態である
とする。セレクタ6,セレクタ7及びセレクタ8は、入
力s0及び入力s1のうちs1を出力する。また、セレ
クタ9は、セレクト信号10の反転”0”、すなわち、
オフ状態のセレクト信号により、入力s0及び入力s1
のうちs0を出力する。図4に示す入力フォントデータ
14は、セレクタ7だけを通り、曲線補間ブロック3へ
入力される。曲線補間されたデータは出力され、セレク
タ8だけを通り、FiFo4へ書き込まれる。次に、F
iFo4から読み出されたデータは、セレクタ6だけを
通り、アフィン変換ブロック2へ入力される。アフィン
変換されたデータは出力され、セレクタ9だけを通り、
FiFo5へかきこまれる。同様に、曲線上に発生する
座標点数を三点とすると、入力フォントデータ14は、
図7(b)に示す出力データに変換され、FiFo5へ
書き込まれる。
Conversely, a case will be explained in which affine transformation is performed after curve interpolation. In FIG. 1, it is assumed that the select signal 10 is "1", that is, in the on state. Selector 6, selector 7, and selector 8 output s1 of input s0 and input s1. Further, the selector 9 outputs the inverted “0” of the select signal 10, that is,
With the select signal in the off state, input s0 and input s1
Of these, s0 is output. The input font data 14 shown in FIG. 4 passes only through the selector 7 and is input to the curve interpolation block 3. The curve-interpolated data is output, passes only through the selector 8, and is written to the FiFo 4. Next, F
The data read from the iFo4 passes only through the selector 6 and is input to the affine transformation block 2. The affine transformed data is output and passes only through selector 9,
Scratched into FiFo5. Similarly, if the number of coordinate points occurring on the curve is three, the input font data 14 is
The output data is converted into the output data shown in FIG. 7(b) and written to the FiFo5.

【0033】すなわち、図7に示すように、アフィン変
換を行なった後に曲線補間を行なった場合と、曲線補間
を行なった後にアフィン変換を行なった場合とでは、出
力データの構造は等しい。よって、アフィン変換と曲線
補間を行なう順序を切り換えても、例えば、次のライン
発生ブロックへ必要なデータだけを同じ形式で出力する
ことができる。
That is, as shown in FIG. 7, the structure of the output data is the same when curve interpolation is performed after affine transformation and when affine transformation is performed after curve interpolation. Therefore, even if the order of performing affine transformation and curve interpolation is changed, only necessary data can be output in the same format to the next line generation block, for example.

【0034】[0034]

【発明の効果】本発明によれば従来では、アフィン変換
を行なった後に曲線補間を行なっていたため、充分な品
質の良い文字を出力することができなかったのに対して
、アフィン変換を行なった後に曲線補間を行なう処理と
、曲線補間を行なった後にアフィン変換を行なう処理の
両方を実行可能にしたことから、品質の良い文字を高速
に処理することができる。さらに、バスを切り換えるこ
とにより実現したことから、アフィン変換ブロック及び
曲線補間ブロックの内容を変更する必要がなく、LSI
化に適した小さな回路規模でアフィン変換及び曲線補間
の処理順序の切り換えが可能となる。
[Effects of the Invention] According to the present invention, in the past, curve interpolation was performed after performing affine transformation, which made it impossible to output characters of sufficient quality. Since it is possible to execute both the process of performing curve interpolation later and the process of performing affine transformation after performing curve interpolation, high-quality characters can be processed at high speed. Furthermore, since this was realized by switching buses, there is no need to change the contents of the affine transformation block and curve interpolation block, and LSI
It is possible to switch the processing order of affine transformation and curve interpolation with a small circuit scale suitable for

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

【図1】アフィン変換及び曲線補間のブロック図、[Figure 1] Block diagram of affine transformation and curve interpolation,

【図
2】セレクト信号用レジスタの説明図、
[Figure 2] Explanatory diagram of select signal register,

【図3】セレク
ト信号用制御回路のブロック図、
[Figure 3] Block diagram of select signal control circuit,

【図4】アウトライン
フォントデータの説明図、
[Figure 4] Illustration of outline font data,

【図5】アフィン変換ブロッ
クのフローチャート、
[Figure 5] Flowchart of affine transformation block,

【図6】曲線補間ブロックのフロ
ーチャート、
[Fig. 6] Flowchart of curve interpolation block,

【図7】出力データの説明図、[Fig. 7] Explanatory diagram of output data,

【図8】曲線上の発生座標データの説明図、[Fig. 8] An explanatory diagram of occurrence coordinate data on a curve,

【図9】従
来の文字発生装置のブロック図。
FIG. 9 is a block diagram of a conventional character generator.

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

1…アフィン変換及び曲線補間のブロック、2…アフィ
ン変換ブロック、3…曲線補間ブロック、4…FiFo
、5…FiFo、14…アウトラインフォントデータ、
23…三次ベジェ曲線、27…アウトラインフォントプ
ロセッサ(OFP)。
1... Affine transformation and curve interpolation block, 2... Affine transformation block, 3... Curve interpolation block, 4... FiFo
, 5...FiFo, 14...outline font data,
23... Cubic Bezier curve, 27... Outline font processor (OFP).

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】ベクトル形式で表された文字の輪郭データ
を、アフィン変換や曲線補間により座標変換を行なった
後に、ラスタ形式で表された文字データに変換すること
により文字を発生する文字発生装置において、前記アフ
ィン変換を行なうアフィン変換ブロックと曲線補間を行
なう曲線補間ブロックを設け、前記アフィン変換を行な
った後に前記曲線補間を行なう処理と、あるいは前記曲
線補間を行なった後に前記アフィン変換を行なう処理が
、各ブロックの内容を変更することなく、バスを切り換
えることにより実行することを特徴とする文字発生装置
Claim 1: A character generating device that generates characters by converting character contour data expressed in vector format into character data expressed in raster format after performing coordinate transformation using affine transformation or curve interpolation. An affine transformation block that performs the affine transformation and a curve interpolation block that performs curve interpolation are provided, and a process of performing the curve interpolation after performing the affine transformation, or a process of performing the affine transformation after performing the curve interpolation. is executed by switching buses without changing the contents of each block.
【請求項2】請求項1において、前記文字発生装置は、
前記アフィン変換を行なった後に前記曲線補間を行なう
処理あるいは前記曲線補間を行なった後に前記アフィン
変換を行なう処理のどちらを実行するかを切り換える手
段として、切り換え用のレジスタを一ビット持たせるこ
とにより切り換える文字発生装置。
2. In claim 1, the character generating device comprises:
As means for switching between performing the curve interpolation after performing the affine transformation, or performing the affine transformation after performing the curve interpolation, it is possible to switch by providing a register for switching with one bit. Character generator.
【請求項3】請求項1において、前記文字発生装置は、
前記アフィン変換を行なった後に前記曲線補間を行なう
処理あるいは前記曲線補間を行なった後に前記アフィン
変換を行なう処理のどちらを実行するかを切り換える手
段として、入力された情報にしたがって、自動的に切り
換える文字発生装置。
3. In claim 1, the character generating device comprises:
Characters that are automatically switched according to input information as means for switching between performing the affine transformation and then performing the curve interpolation, or performing the curve interpolation and then performing the affine transformation. Generator.
JP3151444A 1991-06-24 1991-06-24 Character generator Pending JPH04373082A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3151444A JPH04373082A (en) 1991-06-24 1991-06-24 Character generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3151444A JPH04373082A (en) 1991-06-24 1991-06-24 Character generator

Publications (1)

Publication Number Publication Date
JPH04373082A true JPH04373082A (en) 1992-12-25

Family

ID=15518738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3151444A Pending JPH04373082A (en) 1991-06-24 1991-06-24 Character generator

Country Status (1)

Country Link
JP (1) JPH04373082A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010572A (en) * 2012-06-28 2014-01-20 Strauss Technology Co Ltd Vector image drawing device and vector image drawing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010572A (en) * 2012-06-28 2014-01-20 Strauss Technology Co Ltd Vector image drawing device and vector image drawing method

Similar Documents

Publication Publication Date Title
US4763119A (en) Image processing system for area filling of graphics
JPH0484192A (en) Graphic processor and graphic processing method
EP0658858B1 (en) Graphics computer
JPH02289067A (en) Character pattern signal generating device
JPH04373082A (en) Character generator
JP2653078B2 (en) Image display control device and electronic device having the same
JP4828006B2 (en) Image processing device
JPS6055389A (en) Character/graphic display
JPH0627922A (en) Character pattern display controller
KR970003326B1 (en) Character graphics generating circuits
JPH04241391A (en) Character generator
JP2005128689A (en) Image drawing device
JP4232234B2 (en) Image processing device
JP2711673B2 (en) Image data transfer control method and device
JPH0520450A (en) Picture processor
JPS6125192B2 (en)
JP3247441B2 (en) Image processing device
JPH06161421A (en) Character generating device
JP2557630B2 (en) Image reduction device
JPH0388022A (en) Image display device
JPS61279888A (en) Character generator
JPS60107151A (en) Vector expanding system
JPH02196296A (en) Character generator
JPH0740180B2 (en) Display controller
JPH01205280A (en) Picture converter