JPH06161421A - Character generating device - Google Patents
Character generating deviceInfo
- Publication number
- JPH06161421A JPH06161421A JP4308468A JP30846892A JPH06161421A JP H06161421 A JPH06161421 A JP H06161421A JP 4308468 A JP4308468 A JP 4308468A JP 30846892 A JP30846892 A JP 30846892A JP H06161421 A JPH06161421 A JP H06161421A
- Authority
- JP
- Japan
- Prior art keywords
- data
- character
- block
- dot
- font
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、コンピュータグラフィ
ックス分野の文字図形発生装置に係り、特に、ベクトル
形式で表された文字図形の輪郭データをラスタ形式のデ
ータに変換する文字図形発生装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character / graphics generator in the field of computer graphics, and more particularly to a character / graphics generator for converting outline data of a character / graphic represented in a vector format into raster format data.
【0002】[0002]
【従来の技術】複数のサイズの文字や、回転、斜体等の
文字を出力する方法として、文字の輪郭情報で構成され
たアウトラインフォントデータをドットフォントデータ
に変換する装置がある。アウトラインフォントデータ
は、文字の輪郭上の点を座標値で表したデータと、デー
タの属性を示すフラグデータ等から構成されている。こ
のアウトラインフォントデータを文字フォントとしてR
OM又は外部記憶装置に持ち、指定された出力サイズに
したがってアフィン変換と呼ばれる座標変換演算を行
い、また、文字の曲線を美しく出力するために、曲線補
間により曲線上の座標データに座標変換演算して出力す
る。さらに、座標変換された座標データ間をドットでラ
インを発生し、発生された文字のアウトライン内部を塗
り潰してドットフォントに変換して出力する文字発生装
置がある。2. Description of the Related Art As a method of outputting characters of a plurality of sizes and characters such as rotation and italics, there is an apparatus for converting outline font data composed of character outline information into dot font data. The outline font data is composed of data in which the points on the outline of the character are represented by coordinate values, flag data indicating the attributes of the data, and the like. Use this outline font data as a character font
The coordinate conversion operation called affine transformation is performed according to the specified output size in the OM or the external storage device, and in order to output the curve of the character beautifully, the coordinate conversion operation is performed on the coordinate data on the curve by curve interpolation. Output. Further, there is a character generator that generates a line with dots between coordinate-converted coordinate data, fills the outline of the generated character, converts it into a dot font, and outputs it.
【0003】図16は、本出願人が先に出願した特願平2
−19052号、「文字発生装置」に記載した上記アウ
トラインフォントデータをドットフォントデータに変換
する一連の処理を行う文字発生用LSI、アウトライン
フォントプロセッサ(OFP)80の内部ブロック構成例
である。FIG. 16 shows the Japanese Patent Application No. 2 filed by the applicant earlier.
No. 19052, “Character generator”, it is an internal block configuration example of an outline font processor (OFP) 80, which is a character generation LSI for performing a series of processes for converting the outline font data into dot font data.
【0004】OFP80は、ホストインタフェース81及び
ホストインタフェース内部にあるフォント入力FIFO
82、アフィン変換ブロック及び線幅補正ブロックから成
るブロック83、FIFO084、曲線補間ブロック85、F
IFO86、ライン発生ブロック87、ドットメモリ88、塗
り潰しBitBLTブロック89、ページメモリインタフ
ェース90から構成されている。ホストインタフェース81
からは、システム側のシステムバスに接続されるアドレ
スバス、データバス、制御信号群が出力される。内部デ
ータバス91は、システムデータバスに接続されている。
更に、フォント入力FIFO82からアフィン変換ブロッ
ク及び線幅補正ブロックから成るブロック83に対してデ
ータバス92が接続されている。また、ページメモリイン
タフェース90からは、システム側のページメモリコント
ローラに接続されるアドレスバス、データバス、制御信
号群が出力される。The OFP 80 is a host interface 81 and a font input FIFO inside the host interface.
82, block 83 consisting of affine transformation block and line width correction block, FIFO084, curve interpolation block 85, F
It comprises an IFO 86, a line generation block 87, a dot memory 88, a fill BitBLT block 89, and a page memory interface 90. Host interface 81
Outputs an address bus, a data bus, and a control signal group connected to the system bus on the system side. The internal data bus 91 is connected to the system data bus.
Further, a data bus 92 is connected from the font input FIFO 82 to a block 83 composed of an affine transformation block and a line width correction block. The page memory interface 90 outputs an address bus, a data bus, and a control signal group connected to the page memory controller on the system side.
【0005】[0005]
【発明が解決しようとする課題】上記従来の文字発生装
置では、上記アウトラインフォントデータをドットデー
タに変換する一連の処理に必要な機能をそれぞれ一ブロ
ック単位で行い、各ブロックをパイプライン処理させる
ことにより高速処理を実現している。そのため、アフィ
ン変換ブロック及び線幅補正ブロックから成るブロック
83と、曲線補間ブロック85と、ライン発生ブロック87
と、塗り潰しBitBLTブロック89それぞれにレジス
タファイル、乗算器、シフタ、ALU等から構成された
エグゼキューションユニット(EU)を持っていた。さ
らに、フォント入力FIFO82の出力データバス92を持
っていた。また,ホストインタフェース81及びページメ
モリインタフェース90を持たせ、システム側とのデータ
の入力と出力を独立させた。したがって、文字発生装置
全体の規模が増大し、比較的低価格なシステムにおいて
は、システム全体に占める文字発生装置のコストがかか
る。In the conventional character generator, the functions necessary for the series of processes for converting the outline font data into dot data are performed in block units, and each block is pipeline processed. Has achieved high-speed processing. Therefore, a block consisting of an affine transformation block and a line width correction block
83, curve interpolation block 85, line generation block 87
Each of the filled BitBLT blocks 89 had an execution unit (EU) composed of a register file, a multiplier, a shifter, an ALU and the like. In addition, it had an output data bus 92 for the font input FIFO 82. Further, the host interface 81 and the page memory interface 90 are provided so that data input and output with the system side are independent. Therefore, the overall size of the character generator increases, and in a relatively low-priced system, the cost of the character generator occupies the entire system.
【0006】そこで、低価格なシステムにおいて、文字
発生装置のアーキテクチャーを従来の一機能一ブロック
から複数機能一ブロックにすることに着目した。まず、
複数の機能を実行するコントロールに対して、各演算に
必要な最小限のプリミティブで構成した共通EUを構築
することにより、複数機能を実現する一つのブロックの
規模を縮小することができ、さらに、文字発生装置全体
の規模を縮小することができる。また、このブロックを
少なくとも二つ以上FIFOで接続し、二段のパイプラ
イン処理をさせることにより、システムに最適な処理速
度が実現できる。Therefore, in a low-cost system, attention has been paid to changing the architecture of the character generation device from one function / one block to a plurality of functions / one block. First,
For a control that executes multiple functions, by constructing a common EU composed of the minimum number of primitives required for each operation, it is possible to reduce the scale of one block that realizes multiple functions. The size of the entire character generator can be reduced. Also, by connecting at least two or more of these blocks with a FIFO and performing pipeline processing in two stages, the optimum processing speed for the system can be realized.
【0007】本発明の目的は、文字の輪郭情報で構成さ
れたアウトラインフォントデータをドットフォントデー
タに変換する文字発生装置において、システムに最適な
処理速度が実現でき、出力する文字の品質を向上させる
ための文字補正機能の追加や、他の機能を追加しても、
装置全体の規模が増大しない文字発生装置を提供するこ
とである。An object of the present invention is to improve the quality of output characters by realizing the optimum processing speed for the system in a character generator for converting outline font data composed of character outline information into dot font data. Even if you add a character correction function for other purposes or add other functions,
It is an object of the present invention to provide a character generator that does not increase the scale of the entire device.
【0008】また、本発明の他の目的は、LSI化に適
した上記文字発生装置を提供することである。Another object of the present invention is to provide the above character generator suitable for LSI.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するため
に、本発明による文字発生装置は、CPUインタフェー
ス及びフォントメモリからアウトラインフォントデータ
を一時的に格納しておくフォント入力FIFOと、フォ
ント入力FIFOから順にアウトラインフォントデータ
を読み込み、座標データ(x,y)については(x’,
y’)に変換するベクターブロックと、変換された座標
データ(x’,y’)を一時的に格納しておくFIFO
と、FIFOから座標データを読み込み、座標データ間
をドットでラインを発生するラスターブロックと、発生
したドットデータを格納しておくドットメモリと、ドッ
トメモリからドットデータを読み込み、文字のアウトラ
イン内部を塗り潰し、再びドットメモリに格納する該ラ
スターブロックを設けている。In order to achieve the above object, a character generator according to the present invention includes a font input FIFO for temporarily storing outline font data from a CPU interface and a font memory, and a font input FIFO. The outline font data is read in order from and the coordinate data (x, y) is (x ',
FIFO for temporarily storing the vector block to be converted into y ') and the converted coordinate data (x', y ')
And raster data that reads the coordinate data from the FIFO and generates lines with dots between the coordinate data, the dot memory that stores the generated dot data, and the dot data that is read from the dot memory and fills the outline of the character. The raster block to be stored in the dot memory again is provided.
【0010】上記の文字発生装置において、CPUイン
タフェースは、外部からのデータ、アドレス及び制御信
号を受けて、内部ベクターブロック及びラスターブロッ
クに対して、データバス、アドレスバス及び制御信号を
供給し、ベクターブロックにおけるフォント入力FIF
Oからのデータの読み込みと、ベクターブロック及びラ
スターブロック内にあるユーザレジスタのリード、ライ
トと、ドットメモリの読みだしのバス制御及びタイミン
グを制御するものである。In the above character generator, the CPU interface receives data, addresses and control signals from the outside and supplies the data bus, address bus and control signals to the internal vector block and raster block, Font input FIF in block
The bus control and timing of reading data from O, reading and writing user registers in the vector block and raster block, and reading dot memory are controlled.
【0011】上記の文字発生装置において、ベクターブ
ロックは、コントロール部と演算部(エグゼキューショ
ンユニット)から成り、出力する文字サイズに応じて、
文字を構成しているすべての線の幅を補正する線幅補正
と、文字の拡大、縮小、回転等の座標変換を行うアフィ
ン変換と、文字の水平線、垂直線の線幅を均一に補正す
る線幅補正途、曲線データに関してショートベクトルで
曲線を発生する曲線補間と、アウトラインフォントデー
タを構成しているループの先頭データに関してドットメ
モリ上に展開する際のドットメモリのアドレスを計算す
るアドレス計算を行うものである。In the above character generator, the vector block is composed of a control unit and a calculation unit (execution unit), and depending on the character size to be output,
Line width correction that corrects the widths of all the lines that make up a character, affine transformation that performs coordinate conversions such as enlargement, reduction, and rotation of characters, and even correction of the line widths of horizontal and vertical lines of characters. During line width correction, curve interpolation that generates a curve with a short vector for curve data and address calculation that calculates the address of the dot memory when expanding on the dot memory for the head data of the loop that makes up the outline font data are performed. It is something to do.
【0012】上記の文字発生装置において、ラスターブ
ロックは、コントロール部と演算部(エグゼキューショ
ンユニット)から成り、座標データ間をドットでライン
を発生するライン発生と、ライン発生により生成された
文字のアウトライン内部を塗り潰す塗り潰しと、文字を
展開するドットメモリの制御及びドットメモリのクリア
を行うものである。In the above character generator, the raster block is composed of a control unit and a calculation unit (execution unit), and generates a line between dots of coordinate data and a character generated by the line generation. It is to fill the inside of the outline, control the dot memory for expanding characters, and clear the dot memory.
【0013】上記の文字発生装置において、ベクターブ
ロックとラスターブロックの間には、FIFOを設け、
ベクターブロックとラスターブロックは並列に動作する
ものである。In the above character generator, a FIFO is provided between the vector block and the raster block,
The vector block and raster block operate in parallel.
【0014】上記の文字発生装置において、ドットメモ
リの読みだしは、ユーザレジスタと同様に、CPUから
のアドレスを一つのアドレスでリードし、文字発生装置
内部では、ドットメモリのアドレスを順次インクリメン
トするものである。In the above character generator, the dot memory is read by reading the address from the CPU with one address as in the case of the user register, and the address of the dot memory is sequentially incremented inside the character generator. Is.
【0015】[0015]
【作用】上記の手段によれば、CPUインタフェース及
びフォントメモリからアウトラインフォントデータを一
時的に格納しておくフォント入力FIFOと、フォント
入力FIFOから順にアウトラインフォントデータを読
み込み、座標データ(x,y)については(x’,
y’)に変換するベクターブロックと、変換された座標
データ(x’,Y’)を一時的に格納しておくFIFO
と、FIFOから座標データを読み込み、座標データ間
をドットでラインを発生するラスターブロックと、発生
したドットデータを格納しておくドットメモリと、ドッ
トメモリからドットデータを読み込み、文字のアウトラ
イン内部を塗り潰し、再びドットメモリに格納する該ラ
スターブロックを備えたことから、システムに最適な処
理速度が実現でき、文字発生装置全体の規模を縮小する
ことができる。According to the above means, the font input FIFO for temporarily storing the outline font data from the CPU interface and the font memory, and the outline font data are sequentially read from the font input FIFO, and the coordinate data (x, y) is read. For (x ',
FIFO for temporarily storing the vector block to be converted into y ') and the converted coordinate data (x', Y ')
And raster data that reads the coordinate data from the FIFO and generates lines with dots between the coordinate data, the dot memory that stores the generated dot data, and the dot data that is read from the dot memory and fills the outline of the character. Since the raster block to be stored in the dot memory again is provided, the optimum processing speed for the system can be realized and the scale of the entire character generating device can be reduced.
【0016】上記の手段によれば、CPUインタフェー
スは、外部からのデータ、アドレス及び制御信号を受け
て、内部ベクターブロック及びラスターブロックに対し
て、データバス、アドレスバス及び制御信号を供給し、
ベクターブロックにおけるフォント入力FIFOからの
データの読み込みと、ベクターブロック及びラスターブ
ロック内にあるユーザレジスタのリード、ライトとドッ
トメモリの読みだしのバス制御及びタイミングを制御す
ることから、ブロック間のデータバス、アドレスバス及
び制御信号の本数を少なくすることができ、文字発生装
置全体の規模を縮小することができる。According to the above means, the CPU interface receives the data, the address and the control signal from the outside and supplies the data bus, the address bus and the control signal to the internal vector block and the raster block,
Data bus from block to block, because it controls data read from font input FIFO in vector block and read / write of user register in vector block and raster block and read / write bus control and timing control. The number of address buses and control signals can be reduced, and the overall size of the character generator can be reduced.
【0017】上記の手段によれば、ベクターブロック
は、コントロール部と演算部(エグゼキューションユニ
ット)から成り、出力する文字サイズに応じて、文字を
構成しているすべての線の幅を補正する線幅補正と、文
字の拡大、縮小、回転等の座標変換を行うアフィン変換
と、文字の水平線、垂直線の線幅を均一に補正する線幅
補正と、曲線データに関してショートベクトルで曲線を
発生する曲線補間と、アウトラインフォントデータを構
成しているループの先頭データに関してドットメモリ上
に展開する際のドットメモリのアドレスを計算するアド
レス計算を行うことから、出力する文字品質の向上が可
能になり、ベクターブロックの規模を小さくすることが
でき、文字発生装置全体の規模を縮小することができ
る。According to the above means, the vector block is composed of the control unit and the arithmetic unit (execution unit), and corrects the widths of all the lines forming the character in accordance with the size of the character to be output. Line width correction, affine transformation that performs coordinate conversion such as enlargement, reduction, and rotation of characters, line width correction that uniformly corrects the line widths of horizontal and vertical lines of characters, and generates curves with short vectors for curve data. It is possible to improve the output character quality by performing curve interpolation and address calculation to calculate the address of the dot memory when expanding it on the dot memory for the head data of the loop that makes up the outline font data. The size of the vector block can be reduced, and the size of the entire character generator can be reduced.
【0018】上記の手段によれば、ラスターブロック
は、コントロール部と演算部(エグゼキューションユニ
ット)から成り、座標データ間をドットでラインを発生
するライン発生と、ライン発生により生成された文字の
アウトライン内部を塗り潰す塗り潰しと、文字を展開す
るドットメモリの制御及びドットメモリのクリアを行う
ことから、ラスターブロックの規模を小さくすることが
でき、文字発生装置全体の規模を縮小することができ
る。According to the above means, the raster block is composed of the control unit and the arithmetic unit (execution unit), and the line generation for generating lines with dots between the coordinate data and the character generation generated by the line generation. Since the inside of the outline is filled and the dot memory for expanding the character is controlled and the dot memory is cleared, the scale of the raster block can be reduced and the scale of the entire character generator can be reduced.
【0019】上記の手段によれば、ベクターブロックと
ラスターブロックの間には、FIFOを設け、ベクター
ブロックとラスターブロックは、並列に動作することか
ら、システムに最適な処理速度を実現できる。According to the above means, a FIFO is provided between the vector block and the raster block, and the vector block and the raster block operate in parallel, so that the optimum processing speed for the system can be realized.
【0020】上記の手段によれば、ドットメモリの読み
だしは、ユーザレジスタと同様に、CPUからのアドレ
スを一つのアドレスでリードし、文字発生装置内部で
は、ドットメモリのアドレスを順次インクリメントする
ことから、アドレスの縮小及びシステム側の負担を軽減
できる。According to the above-mentioned means, when reading the dot memory, the address from the CPU is read by one address as in the case of the user register, and the address of the dot memory is sequentially incremented inside the character generator. Therefore, it is possible to reduce the address and the load on the system side.
【0021】[0021]
【実施例】以下、本発明の実施例を詳細に説明する。EXAMPLES Examples of the present invention will be described in detail below.
【0022】図2に、文字の輪郭情報で構成されたアウ
トラインフォントデータをドットデータに変換する文字
発生装置を用いたシステム構成例を示す。アドレスバ
ス、データバス、制御信号群からなるシステムバス17に
は、CPU11、システムメモリ12、文字発生装置 1、フ
ォントメモリ13、プリンタ14、キーボード15、ディスプ
レイ16が接続されている。このシステムは、主に低価格
ワードプロセッサや、CRTシステムに用いられる。例
えば、CPU 1は、フォントメモリ13からアウトライン
フォントデータを読みだし、文字発生装置 1に対して書
き込む。文字発生装置 1は、書き込まれたアウトライン
フォントデータを順次ドットフォントデータに変換し
て、内蔵されたドットメモリに展開する。CPU11は、
文字発生装置1のドットメモリに展開されたドットフォ
ントデータを読みだし、プリンタ14やディスプレイ16に
対して転送し、印刷あるいは表示する。FIG. 2 shows a system configuration example using a character generator for converting outline font data composed of character contour information into dot data. A CPU 11, a system memory 12, a character generator 1, a font memory 13, a printer 14, a keyboard 15 and a display 16 are connected to a system bus 17 including an address bus, a data bus and a control signal group. This system is mainly used for low cost word processors and CRT systems. For example, the CPU 1 reads out outline font data from the font memory 13 and writes it in the character generator 1. The character generator 1 sequentially converts the written outline font data into dot font data and expands it in a built-in dot memory. CPU11
The dot font data expanded in the dot memory of the character generator 1 is read out, transferred to the printer 14 or the display 16, and printed or displayed.
【0023】図1は、本発明を適用した文字発生装置 1
のブロック図である。なお、本装置は、これに限定する
必要はなく、マイクロコンピュータ周辺機器としてLS
I化した単体素子であっても、システム化した装置であ
ってもよい。FIG. 1 shows a character generator 1 to which the present invention is applied.
It is a block diagram of. It should be noted that the present invention is not limited to this, and is not limited to the LS as a microcomputer peripheral.
It may be an I-shaped single element or a systemized device.
【0024】ここで、文字発生装置 1は、CPUインタ
フェース 2およびCPUインタフェース 2内部にあるフ
ォント入力FIFO 3、ベクターブロック 4、FIFO
5、ラスターブロック 6、ドットメモリ 7から構成され
ている。CPUインタフェース 2からは、システムバス
に接続されるアドレスバス、データバス、制御信号群が
入出力される。Here, the character generator 1 includes a CPU interface 2 and a font input FIFO 3, a vector block 4, and a FIFO inside the CPU interface 2.
It consists of 5, raster block 6, and dot memory 7. An address bus, a data bus, and a control signal group connected to the system bus are input and output from the CPU interface 2.
【0025】図3は、ベクターブロック 4のブロック図
である。ベクターブロック 4は、コントロール部21と演
算部(エグゼキューションユニット)22から構成されて
いる。コントロール部21は、出力する文字サイズに応じ
て、文字を構成しているすべての線の幅を補正する線幅
補正123と、文字の拡大、縮小、回転等の座標変換を行
うアフィン変換24と、文字の水平線、垂直線の線幅を均
一に補正する線幅補正225と、曲線データに関してショ
ートベクトルで曲線を発生する曲線補間26と、アウトラ
インフォントデータを構成しているループの先頭データ
に関してドットメモリ 7条に展開する際のドットメモリ
7のアドレスを計算するアドレス計算27を行うコントロ
ール群である。FIG. 3 is a block diagram of the vector block 4. The vector block 4 is composed of a control unit 21 and a calculation unit (execution unit) 22. The control unit 21 includes a line width correction 123 that corrects the widths of all the lines that form a character according to the size of the output character, and an affine transformation 24 that performs coordinate conversion such as enlarging, reducing, and rotating the character. , A line width correction 225 that uniformly corrects the horizontal and vertical line widths of characters, a curve interpolation 26 that generates a curve with a short vector for the curve data, and a dot for the beginning data of the loop that forms the outline font data. Memory Dot memory when expanding to Article 7
It is a control group that performs address calculation 27 that calculates the address of 7.
【0026】図8は、ベクターブロック 4におけるエグ
ゼキューションユニット22のブロック図である。エグゼ
キューションユニット22は、Aバス 401とBバス 402の
2バスで構成され、レジスタファイル 403、乗算器 40
5、乗算器の出力用ラッチ 406及び 407、ALUの入力
用ラッチ 408及び 409、ALU 410、ALUの出力用ラ
ッチ 411が図のように接続されている。バス構成は、3
バス以上の構成をとってもよい。テーブル 404には、ベ
ジェ曲線補間用係数が記憶されている。これは、RO
M、RAM、PLA、レジスタファイル、ロジック等で
構成されている。FIG. 8 is a block diagram of the execution unit 22 in the vector block 4. The execution unit 22 is composed of two buses, an A bus 401 and a B bus 402, and has a register file 403 and a multiplier 40.
5, the output latches 406 and 407 of the multiplier, the input latches 408 and 409 of the ALU, the ALU 410, and the output latch 411 of the ALU are connected as shown. Bus configuration is 3
You may take the structure more than a bus. Table 404 stores Bezier curve interpolation coefficients. This is RO
It is composed of M, RAM, PLA, register file, logic and the like.
【0027】図4は、ラスターブロック 6のブロック図
である。ラスターブロック 6は、コントロール部31と演
算部(エグゼキューションユニット)32から構成されて
いる。コントロール部31は、座標データ間をドットでラ
インを発生するライン発生33と、ライン発生により生成
された文字のアウトライン内部を塗り潰す塗り潰し34
と、文字を展開するドットメモリの制御及びドットメモ
リをクリアするドットメモリ制御 ・クリア35を行うコン
トロール群である。FIG. 4 is a block diagram of the raster block 6. The raster block 6 is composed of a control section 31 and a calculation section (execution unit) 32. The control unit 31 generates a line 33 that generates a line with dots between coordinate data and a fill 34 that fills the outline of the character generated by the line generation.
And a dot memory control for clearing the dot memory and a dot memory control / clear 35 control group for clearing the dot memory.
【0028】図9は、ラスターブロック 6におけるエグ
ゼキューションユニット32のブロック図である。エグゼ
キューションユニット32は、Aバス 412とBバス 413の
2バスで構成され、レジスタファイル 414、ALU 41
5、ALUの出力用ラッチ 416、塗り潰しロジック 417
が図のように接続されている。バス構成は、3バス以上
の構成をとってもよい。FIG. 9 is a block diagram of the execution unit 32 in the raster block 6. The execution unit 32 is composed of two buses, an A bus 412 and a B bus 413, and has a register file 414 and an ALU 41.
5, ALU output latch 416, fill logic 417
Are connected as shown. The bus configuration may be three or more.
【0029】図5は、ドットメモリ 7のブロック図であ
る。さらに、ドットメモリ 7は、ドットメモリセル38と
アドレス生成カウンタ37から構成されている。文字発生
装置1において、ドットメモリ 7の読みだしは、ユーザ
レジスタと同様に、CPUからのアドレスを一つのアド
レスでリードできるようにするため、アドレス生成カウ
ンタ37を設けて、ドットメモリ38のアドレスを順次イン
クリメントするようにした。FIG. 5 is a block diagram of the dot memory 7. Further, the dot memory 7 is composed of a dot memory cell 38 and an address generation counter 37. In the character generator 1, the dot memory 7 is read out by providing an address generation counter 37 and reading the address of the dot memory 38 so that the address from the CPU can be read by one address as in the case of the user register. It was made to increment sequentially.
【0030】次に、本発明における文字発生装置の動作
について説明する。Next, the operation of the character generator according to the present invention will be described.
【0031】図6、図7は、文字発生装置の動作を示す
処理フローチャートである。6 and 7 are process flowcharts showing the operation of the character generator.
【0032】図6(a)では、CPU11は、文字発生装
置 1内のドットメモリ 7に対してクリアを行う。そこ
で、文字発生装置 1内のラスターブロック 6は、 601
で、ドットメモリ 7をクリアする。クリアが終了した
ら、 602でCPU11からの起動待ち状態となる。In FIG. 6A, the CPU 11 clears the dot memory 7 in the character generator 1. Therefore, the raster block 6 in the character generator 1 is 601
Then clear the dot memory 7. After the completion of clearing, the CPU 11 waits for activation from the CPU 11 at 602.
【0033】次に、図6(b)及び図7(c)では、C
PU11は、文字発生装置 1を起動する。文字発生装置 1
内のベクターブロック 4及びラスターブロック 6は、同
時に動作を開始する。Next, in FIGS. 6B and 7C, C
PU11 activates the character generator 1. Character generator 1
The vector block 4 and the raster block 6 in the inside start operating simultaneously.
【0034】ベクターブロック 4は、 603で、フォント
入力FIFO 3からアウトラインフォントデータをリー
ドする。リードしたデータに対して、 604では、出力す
る文字サイズに応じて、文字を構成しているすべての線
の幅を補正する線幅補正1を実行する。次に、 605で
は、文字の拡大、縮小、回転等の座標変換を行うアフィ
ン変換を実行する。次に、 606では、文字の水平線、垂
直線の線幅を均一に補正する線幅補正2を実行する。次
に、 607で、処理したデータが、アウトラインフォント
データを構成しているループの開始点であった場合は、
608で、ドットメモリ上に展開する際のドットメモリの
アドレスを計算するアドレス計算を実行する。次に、 6
09で、処理したデータが、曲線データであった場合は、
610で、ショートベクトルで曲線を発生する曲線補間を
実行する。最後に、 611で、処理したデータを、FIF
O 5へ書き込む。この一連の処理を繰り返し実行する。
また、線幅補正1 604、アフィン変換 605、線幅補正2
606、曲線補間 610の処理の順番は変更してもよい。The vector block 4, at 603, reads the outline font data from the font input FIFO 3. At 604, the read data is subjected to line width correction 1 for correcting the widths of all the lines forming the character in accordance with the output character size. Next, at 605, affine transformation is performed to perform coordinate transformation such as enlargement, reduction, and rotation of characters. Next, in step 606, a line width correction 2 for uniformly correcting the horizontal and vertical line widths of the character is executed. Next, in 607, if the processed data is the start point of the loop forming the outline font data,
At 608, address calculation is performed to calculate the address of the dot memory when expanding on the dot memory. Then 6
In 09, if the processed data is curve data,
At 610, curve interpolation is performed to generate a curve with the short vector. Finally, in 611, the processed data is transferred to the FIF.
Write to O 5. This series of processing is repeatedly executed.
Also, line width correction 1 604, affine transformation 605, line width correction 2
The processing order of 606 and curve interpolation 610 may be changed.
【0035】ラスターブロック 6は、ベクターブロック
4が、FIFO 5に処理したデータを書き込んだ時点
で、 612で、FIFO 5からデータをリードする。リー
ドしたデータに対して、 613では、座標データ間をドッ
トでラインを発生するライン発生を実行する。次に、 6
14で、発生したデータをドットメモリ 7にライトする。
この一連の処理を繰り返し実行し、 615で、一文字分の
データが処理され、終了したら、 616で、ライン発生 6
13によりドットメモリ 7に生成された文字のアウトライ
ン内部を塗り潰す塗り潰しを実行する。さいごに、617
で、文字発生装置1の動作を終了する。Raster block 6 is a vector block
When 4 writes the processed data to the FIFO 5, the data is read from the FIFO 5 at 612. At 613, line generation is performed for the read data to generate lines with dots between coordinate data. Then 6
At 14, the generated data is written to dot memory 7.
This series of processing is repeatedly executed, the data for one character is processed in 615, and when it is finished, the line is generated in 616.
Execute the filling to fill the inside of the outline of the character generated in the dot memory 7 by 13. Finally, 617
Then, the operation of the character generator 1 ends.
【0036】次に、図6、図7で説明した文字発生装置
の動作処理フローチャートの各処理について説明する。Next, each process of the operation process flowchart of the character generator described in FIGS. 6 and 7 will be described.
【0037】初めに、文字を構成しているすべての線の
幅を補正する線幅補正1 604について説明する。図13
は、アウトラインフォントデータの座標データ(x0,
y0)〜(x17,y17)である。この座標データに
よって、文字の輪郭57が形成されている。この文字を縮
小した場合、文字がつぶれて、文字品質が低下する。こ
れを防ぐために、文字を縮小する前に、58に示すよう
に、あらかじめ文字の輪郭を補正して、文字全体の線幅
を細めておく必要がある。それには、輪郭を形成してい
る座標データを補正する。例えば、座標データ(x2,
y2)を(x’2,y’2)に変換するためには、以下
の演算を行う。First, the line width correction 1604 for correcting the widths of all the lines forming a character will be described. Figure 13
Is the outline font data coordinate data (x0,
y0) to (x17, y17). A character outline 57 is formed by this coordinate data. When this character is reduced, the character is crushed and the character quality deteriorates. To prevent this, it is necessary to correct the outline of the character in advance and reduce the line width of the entire character before reducing the character, as shown at 58. To this end, the coordinate data forming the contour is corrected. For example, coordinate data (x2,
In order to convert y2) into (x'2, y'2), the following calculation is performed.
【0038】[0038]
【数1】x’2=x2−dxpx y’2=y2+dypx 演算は、ベクターブロック 4のエグゼキューションユニ
ット22で実行される。図8に示すエグゼキューションユ
ニット22で、演算例を説明する。式(数1)のx2及び
y2は、レジスタファイル 403のxn及びynに格納さ
れたものとする。補正量dxpx及びdypxもあらか
じめレジスタファイル 403に格納されているものとす
る。そこで、この演算のあるステートで、x2は、Aバ
ス 401にリードされてALUの入力ラッチ 408にラッチ
され、また、dxpxは、Bバス 402にリードされてA
LUの入力ラッチ 409にラッチされる。つぎのステート
でALU 410により、x2−dxpxの演算が実行され
て、演算結果x’2がALUの出力ラッチ 411にラッチ
される。同様に、y’2についても、演算が実行され
る。よって、すべての座標データに関して、## EQU1 ## x'2 = x2-dxpx y'2 = y2 + dypx The operation is executed by the execution unit 22 of the vector block 4. A calculation example will be described in the execution unit 22 shown in FIG. It is assumed that x2 and y2 in the equation (Equation 1) are stored in xn and yn of the register file 403. The correction amounts dxpx and dypx are also stored in the register file 403 in advance. Therefore, in a certain state of this operation, x2 is read by the A bus 401 and latched by the input latch 408 of the ALU, and dxpx is read by the B bus 402 and A x.
It is latched in the LU input latch 409. In the next state, the operation of x2-dxpx is executed by the ALU 410, and the operation result x'2 is latched in the output latch 411 of the ALU. Similarly, the calculation is executed for y'2. Therefore, for all coordinate data,
【0039】[0039]
【数2】x’n=xn±dxpx y’n=yn±dypx の演算を行う。## EQU2 ## The calculation of x'n = xn ± dxpx y'n = yn ± dypx is performed.
【0040】このとき、補正する方向(±)及び補正量
dxpx,dypxを決める方法として、あらかじめ、
各座標データに属性を付加しておく方法がある。あるい
は、補正対象となる座標データの前後の座標データから
補正する方向及び補正量を決めてもよい。また、文字を
拡大した場合には、文字が貧弱になり、文字品質が低下
する。これを防ぐために、文字を拡大する前に、文字全
体の線幅を太めておく必要がある。これも、上記の文字
全体の線幅を細める処理と同様にすればよい。At this time, as a method of determining the correction direction (±) and the correction amounts dxpx and dypx,
There is a method of adding an attribute to each coordinate data. Alternatively, the correction direction and the correction amount may be determined from the coordinate data before and after the coordinate data to be corrected. Further, when the character is enlarged, the character becomes poor and the character quality deteriorates. To prevent this, it is necessary to thicken the line width of the entire character before enlarging the character. This may also be performed in the same manner as the above-described processing for narrowing the line width of the entire character.
【0041】次に、文字の拡大、縮小、回転等の座標変
換を行うアフィン変換 605について説明する。図10は、
アウトラインフォントデータの座標データ(x0,y
0)〜(x11,y11)である。この座標データによ
って、文字の輪郭51が形成されている。この文字をアフ
ィン変換により縮小したのが座標データ(x’0,y’
0)〜(x’11,y’11)が示す輪郭52の文字であ
る。アフィン変換は、以下の演算を行う。Next, the affine transformation 605 for performing coordinate transformation such as enlargement, reduction and rotation of characters will be described. Figure 10
Outline font data coordinate data (x0, y
0) to (x11, y11). A character outline 51 is formed by this coordinate data. Coordinate data (x'0, y ') is obtained by reducing this character by affine transformation.
0) to (x'11, y'11) are the characters of the contour 52. The affine transformation performs the following operations.
【0042】[0042]
【数3】x’n=Axn+Byn+tx y’n=Cxn+Dyn+tY 演算は、上記の線幅補正1と同じベクターブロック 4の
エグゼキューションユニット22で実行される。図8に示
すエグゼキューションユニット22で、演算例を説明す
る。レジスタファイル 403には、アフィンマトリックス
データA,B,C,D,tx,tyと座標データxn,
ynが格納されているものとする。## EQU3 ## x'n = Axn + Byn + tx y'n = Cxn + Dyn + tY The operation is executed by the execution unit 22 of the vector block 4 which is the same as the line width correction 1 described above. A calculation example will be described in the execution unit 22 shown in FIG. The register file 403 has affine matrix data A, B, C, D, tx, ty and coordinate data xn,
It is assumed that yn is stored.
【0043】そこで、この演算のあるステートで、A
は、Aバス 401リードされて保持され、xnは、Bバス
402にリードされて保持される。つぎのステート以降
で、バスに保持されたデータは乗算器(MULT)によ
り乗算されて、乗算結果Axnは、乗算出力ラッチ 406
及び 407にラッチされ、さらに、Bバスにリードされ
て、ALUの入力ラッチ 409にラッチされる。同様にし
て、乗算結果Bynは、ALUの入力ラッチ 408にラッ
チされる。つぎのステートで、ALU 410により、加算
結果Axn+BynがALUの出力ラッチ 411にラッチ
される。つぎのステートで、Axn+BynがAバスに
リードされて、ALUの入力ラッチ 408にラッチされ、
txがBバスにリードされて、ALUの入力ラッチ 409
にラッチされる。つぎのステートで、ALU 410によ
り、Axn+Byn+txが実行され、加算結果x’が
ALUの出力ラッチ 411にラッチされる。同様に、y’
nについても、アフィン変換が実行される。Therefore, in the state with this operation, A
Is read and held by A bus 401, xn is B bus
The lead is held by 402. After the next state, the data held on the bus is multiplied by the multiplier (MULT), and the multiplication result Axn is obtained by the multiplication output latch 406.
And 407, further read by the B bus, and latched by the input latch 409 of the ALU. Similarly, the multiplication result Byn is latched in the input latch 408 of the ALU. In the next state, the addition result Axn + Byn is latched by the ALU 410 in the output latch 411 of the ALU. In the next state, Axn + Byn is read to the A bus and latched in the input latch 408 of the ALU,
tx is read by the B bus and the input latch of ALU 409
Latched on. In the next state, the ALU 410 executes Axn + Byn + tx, and the addition result x ′ is latched in the output latch 411 of the ALU. Similarly, y '
The affine transformation is also executed for n.
【0044】次に、文字の水平線、垂直線の線幅を均一
に補正する線幅補正2 606について説明する。図11は、
アウトラインフォントデータの座標データ(x0,y
0)〜(x11,y11)である。この座標データによ
って、文字の輪郭53が形成されている。この例では、座
標データ(x4,y4)と(x7,y7)で形成されて
いる輪郭が、文字の水平線の不均一の原因になってい
る。そこで、以下の演算を行い、文字の輪郭54に補正
し、文字の水平線を均一にする。Next, the line width correction 2606 for uniformly correcting the horizontal and vertical line widths of a character will be described. Figure 11
Outline font data coordinate data (x0, y
0) to (x11, y11). A character outline 53 is formed by this coordinate data. In this example, the contour formed by the coordinate data (x4, y4) and (x7, y7) causes unevenness of the horizontal line of the character. Therefore, the following calculation is performed to correct the contour 54 of the character to make the horizontal line of the character uniform.
【0045】[0045]
【数4】y’4=y9+dypa 演算は、上記の線幅補正1やアフィン変換と同じベクタ
ーブロック 4のエグゼキューションユニット22で実行さ
れる。[Mathematical formula-see original document] y'4 = y9 + dypa The arithmetic operation is executed by the execution unit 22 of the vector block 4, which is the same as the above-mentioned line width correction 1 and affine transformation.
【0046】よって、補正対象となる座標データに関し
て、Therefore, regarding the coordinate data to be corrected,
【0047】[0047]
【数5】x’n=xn±dxpa y’n=yn±dypa の演算を行う。## EQU5 ## The calculation of x'n = xn ± dxpa y'n = yn ± dypa is performed.
【0048】このとき、補正対象となる座標データに
は、あらかじめ、属性を付加しておき補正を実行する。
また、同じ値となるデータにおいては、補正されたデー
タをそのまま継承する。At this time, an attribute is added in advance to the coordinate data to be corrected, and the correction is executed.
Further, for data having the same value, the corrected data is inherited as it is.
【0049】次に、アウトラインフォントデータを構成
しているループの先頭データに関してドットメモリ上に
展開する際のドットメモリのアドレスを計算するアドレ
ス計算 608について説明する。図14は、アウトラインフ
ォントデータの座標データ(x0,y0)〜(x11,
y11)である。この座標データによって、文字の輪郭
59が形成されている。また、ループは、(x0,y0)
〜(x7,y7)と(x8,y8)〜(x11,y1
1)の二つのループから構成されている。よって、アド
レス計算は、座標データ(x0,y0)及び(x8,y
8)について計算する。例えば、ドットメモリ上のアド
レスがドットメモリアドレス72に割り当てられている。
(x0,y0)は、ドットメモリ上の4番地に相当する
とする。この4番地をx0とy0から計算する。また、
4番地のうちのどの1ビットに相当するかをx0をデコ
ードして、ビットアドレス73を求める。このアドレス計
算を、上記の線幅補正1、アフィン変換、線幅補正2と
おなじベクターブロック 4のエグゼキューションユニッ
ト22で実行する。計算されたアドレスデータは、アウト
ラアインフォントデータと同様にして、FIFO 5を経
由してラスターブロック 6に転送される。Next, the address calculation 608 for calculating the address of the dot memory when the head data of the loop forming the outline font data is expanded on the dot memory will be described. FIG. 14 shows coordinate data (x0, y0) to (x11, of outline font data).
y11). With this coordinate data, the outline of the character
59 are formed. Also, the loop is (x0, y0)
~ (X7, y7) and (x8, y8) to (x11, y1)
It is composed of two loops of 1). Therefore, the address calculation is performed with coordinate data (x0, y0) and (x8, y
Calculate for 8). For example, an address on the dot memory is assigned to the dot memory address 72.
It is assumed that (x0, y0) corresponds to address 4 on the dot memory. This 4th address is calculated from x0 and y0. Also,
The bit address 73 is obtained by decoding x0 which one of the four addresses corresponds to. This address calculation is executed by the execution unit 22 of the vector block 4, which is the same as the above line width correction 1, affine transformation, and line width correction 2. The calculated address data is transferred to the raster block 6 via the FIFO 5 in the same manner as the outline font data.
【0050】次に、曲線データに関してショートベクト
ルで曲線を発生する曲線補間 610について説明する。図
12は、アウトラインフォントデータの座標データにう
ち、曲線データで示された座標データ(x0,y0)〜
(x3,y3)である。また、この曲線は、3次のベジ
ェ曲線データ55である。曲線補間により発生した座標デ
ータ(x’0,y’0)〜(x’3,y’3)が文字の
輪郭56を形成する。曲線補間は、以下の演算を実行す
る。Next, a curve interpolation 610 for generating a curve with a short vector for curve data will be described. Figure
12 is the coordinate data (x0, y0) to the coordinate data shown by the curve data in the coordinate data of the outline font data.
(X3, y3). Further, this curve is the cubic Bezier curve data 55. The coordinate data (x'0, y'0) to (x'3, y'3) generated by the curve interpolation form the outline 56 of the character. Curve interpolation performs the following operations.
【0051】[0051]
【数6】 x’n=C0x0+C1x1+C2x2+C3x3 y’n=C0y0+C1y1+C2y2+C3Y3 演算は、上記の線幅補正1、アフィン変換、線幅補正
2、アドレス計算、曲線補間と同じベクターブロック 4
のエグゼキューションユニット22で実行される。図8に
示すエグゼキューションユニット22のレジスタファイル
403のp0x,p0y,〜p3x,p3yには、曲線デ
ータ(x0,y0)〜(x3,y3)が格納されてい
る。また、テーブル 404には、C0〜C3が、格納され
ている。このC0〜C3を選択することにより、アフィ
ン変換と同様な積和演算を繰り返し、座標データ(x’
0,y’0)〜(x’3,y’3)を算出する。[Mathematical formula-see original document] x'n = C0x0 + C1x1 + C2x2 + C3x3 y'n = C0y0 + C1y1 + C2y2 + C3Y3 The operation is the same vector block as the above line width correction 1, affine transformation, line width correction 2, address calculation, and curve interpolation 4
Execution unit 22 of. Register file for execution unit 22 shown in Figure 8
Curve data (x0, y0) to (x3, y3) are stored in p0x, p0y, ~ p3x, p3y of 403. The table 404 stores C0 to C3. By selecting C0 to C3, the product-sum operation similar to the affine transformation is repeated, and the coordinate data (x '
0, y'0) to (x'3, y'3) are calculated.
【0052】次に、座標データ間をドットでラインを発
生するライン発生 613及びライン発生により生成された
文字のアウトライン内部を塗り潰す塗り潰し 616につい
て説明する。図14は、座標データ間59をドットでライン
を発生し、ドットメモリ上に展開した文字のアウトライ
ン71であり、図15は、文字のアウトライン71の内部を塗
り潰して再びドットメモリに展開されたドットフォント
74である。ライン発生における演算は、ラスターブロッ
ク 6のエグゼキューションユニット32で実行される。ま
た、塗り潰しにおける演算も、ラスターブロック 6のエ
グゼキューションユニット32で実行される。Next, the line generation 613 for generating a line with dots between coordinate data and the filling 616 for filling the inside of the outline of the character generated by the line generation will be described. FIG. 14 is a character outline 71 generated on a dot memory by generating a line with dots between coordinate data 59, and FIG. 15 is a dot expanded on the dot memory again by filling the inside of the character outline 71. font
74. The calculation in line generation is performed in the execution unit 32 of the raster block 6. Further, the calculation in the filling is also executed by the execution unit 32 of the raster block 6.
【0053】[0053]
【発明の効果】本発明によれば、文字の輪郭情報で構成
されたアウトラインフォントデータをドットフォントデ
ータに変換する文字発生装置において、システムに最適
な処理速度が実現でき、高品質な文字を発生することが
できる。According to the present invention, in a character generator for converting outline font data composed of character contour information into dot font data, optimum processing speed for the system can be realized and high quality characters can be generated. can do.
【0054】さらに、一連のアウトラインフォントデー
タ処理において、座標変換に関するベクターデータ変換
処理とライン発生及び塗り潰しに関するラスターデータ
変換処理を二つのブロックわけて、それぞれに持たせた
エグゼキューションユニットは、乗算器、ALU、レジ
スタファイル、ラッチ、バス構成等を最小限にしたこと
から、文字発生装置全体の規模を縮小することができ
る。Furthermore, in a series of outline font data processing, vector data conversion processing relating to coordinate conversion and raster data conversion processing relating to line generation and filling are divided into two blocks, and the execution unit provided in each block is a multiplier. , ALU, register file, latch, bus configuration, etc. are minimized, so that the overall size of the character generator can be reduced.
【図1】文字発生装置のブロック図である。FIG. 1 is a block diagram of a character generator.
【図2】文字発生装置を使用したシステム構成図であ
る。FIG. 2 is a system configuration diagram using a character generation device.
【図3】ベクターブロックの内部構成図である。FIG. 3 is an internal configuration diagram of a vector block.
【図4】ラスターブロックの内部構成図である。FIG. 4 is an internal configuration diagram of a raster block.
【図5】ドットメモリの内部構成図である。FIG. 5 is an internal configuration diagram of a dot memory.
【図6】文字発生装置の動作処理フローチャートであ
る。FIG. 6 is an operation processing flowchart of the character generation device.
【図7】同じく動作処理フローチャートである。FIG. 7 is a flowchart of an operation process of the same.
【図8】ベクターブロックのエグゼキューションユニッ
ト図である。FIG. 8 is an execution unit diagram of a vector block.
【図9】ラスターブロックのエグゼキューションユニッ
ト図である。FIG. 9 is an execution unit diagram of a raster block.
【図10】アフィン変換の説明図である。FIG. 10 is an explanatory diagram of affine transformation.
【図11】線幅補正2の説明図である。FIG. 11 is an explanatory diagram of line width correction 2.
【図12】曲線補間の説明図である。FIG. 12 is an explanatory diagram of curve interpolation.
【図13】線幅補正1の説明図である。FIG. 13 is an explanatory diagram of line width correction 1.
【図14】アドレス計算及びライン発生の説明図であ
る。FIG. 14 is an explanatory diagram of address calculation and line generation.
【図15】塗り潰しの説明図である。FIG. 15 is an explanatory diagram of filling.
【図16】文字発生装置のブロック図である。FIG. 16 is a block diagram of a character generator.
1…文字発生装置、 2…CPUインタフェース、 3…フォント入力FIFO、 4…ベクターブロック、 5…FIFO、 6…ラスターブロック、 7…ドットメモリ。 1 ... Character generator, 2 ... CPU interface, 3 ... Font input FIFO, 4 ... Vector block, 5 ... FIFO, 6 ... Raster block, 7 ... Dot memory.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長谷川 和子 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 和田 弘士 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 佐藤 裕子 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 白根 弘晃 神奈川県横浜市戸塚区吉田町292番地株式 会社日立画像情報システム内 (72)発明者 西本 和久 神奈川県横浜市戸塚区吉田町292番地株式 会社日立画像情報システム内 (72)発明者 林 繁夫 東京都小平市上水本町五丁目20番1号株式 会社日立製作所半導体設計開発センタ内 (72)発明者 桐山 範雄 茨城県日立市東多賀町一丁目1番1号株式 会社日立製作所多賀工場内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Kazuko Hasegawa 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa, Ltd. Microelectronics Devices Development Laboratory, Hitachi, Ltd. (72) Hiroshi Wada 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa House number Hitachi, Ltd. Microelectronics equipment development laboratory (72) Inventor Yuko Sato 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture Household number Hitachi Ltd. Microelectronics equipment development laboratory (72) Inventor Hiroaki Shirane Totsuka Yokohama, Kanagawa Prefecture 292 Yoshida-cho, Tokyo Stock company Hitachi Image Information Systems (72) Inventor Kazuhisa Nishimoto 292 Yoshida-cho, Totsuka-ku, Yokohama City, Kanagawa Stock company Hitachi Image Information Systems (72) Inventor Shigeo Hayashi Kamimizumoto-cho, Kodaira-shi, Tokyo 5 chome No. 20-1 Stock, Hitachi Ltd. Semiconductor Design and Development Center (72) Inventor Norio Kiriyama 1-1-1, Higashitaga-cho, Hitachi City, Ibaraki Hitachi Ltd. Taga Factory
Claims (6)
フォントデータをドットフォントデータに変換する文字
発生装置において、CPUインタフェース及びフォント
メモリからアウトラインフォントデータを一時的に格納
しておくフォント入力FIFOと、フォント入力FIF
Oから順にアウトラインフォントデータを読み込み、座
標データ(x,y)を(x’,y’)に座標変換するベ
クターブロックと、変換された座標データ(x’,
y’)を一時的に格納しておくFIFOと、FIFOか
ら座標データを読み込み、座標データ間をドットでライ
ンを発生するラスターブロックと、発生したドットデー
タを格納しておくドットメモリと、ドットメモリからド
ットデータを読み込み、文字のアウトライン内部を塗り
潰し、再びドットメモリに格納する該ラスターブロック
を備えたことを特徴とする文字発生装置。1. A character generator for converting outline font data composed of character contour information into dot font data, and a font input FIFO for temporarily storing the outline font data from a CPU interface and a font memory, Font input FIF
A vector block for sequentially reading outline font data from O and converting coordinate data (x, y) into (x ', y') and converted coordinate data (x ',
y ') for temporarily storing, a raster block for reading coordinate data from the FIFO and generating lines between the coordinate data with dots, a dot memory for storing the generated dot data, and a dot memory A character generation device comprising the raster block for reading dot data from a character, filling the outline of the character, and storing it in the dot memory again.
PUインタフェースは、外部からのデータ、アドレス及
び制御信号を受けて、内部ベクターブロック及びラスタ
ーブロックに対してデータバス、アドレスバス及び制御
信号を供給し、ベクターブロックにおけるフォント入力
FIFOからのデータの読み込みと、ベクターブロック
及びラスターブロック内にあるユーザレジスタのリー
ド、ライトと、ドットメモリの読みだしのバス制御及び
タイミングを制御することを特徴とする文字発生装置。2. The character generator according to claim 1, wherein C
The PU interface receives data, address and control signals from the outside, supplies a data bus, address bus and control signals to the internal vector block and raster block, and reads data from the font input FIFO in the vector block. A character generator which controls bus control and timing of reading and writing of user registers in the vector block and raster block, and reading of dot memory.
て、ベクターブロックは、コントロール部と演算部(エ
グゼキューションユニット)から成り、出力する文字サ
イズに応じて、文字を構成しているすべての線の幅を補
正する線幅補正と、文字の拡大、縮小、回転等の座標変
換を行うアフィン変換と、文字の水平線、垂直線の線幅
を均一に補正する線幅補正と、曲線データに関してショ
ートベクトルで曲線を発生する曲線補間と、アウトライ
ンフォントデータを構成しているループの先頭データに
関してドットメモリ上に展開する際のドットメモリのア
ドレスを計算するアドレス計算を行うことを特徴とする
文字発生装置。3. The character generator according to claim 1 or 2, wherein the vector block comprises a control section and a calculation section (execution unit), and all the characters are formed in accordance with the output character size. Line width correction that corrects the line width of the character, affine transformation that performs coordinate conversion such as enlargement, reduction, and rotation of the character, line width correction that uniformly corrects the line width of the horizontal and vertical lines of the character, and curve data Characters that perform curve interpolation that generates a curve with a short vector and address calculation that calculates the address of the dot memory when expanding on the dot memory for the head data of the loop that constitutes the outline font data Generator.
て、ラスターブロックは、コントロール部と演算部(エ
グゼキューションユニット)から成り、座標データ間を
ドットでラインを発生するライン発生と、ライン発生に
より生成された文字のアウトライン内部を塗り潰す塗り
潰しと、文字を展開するドットメモリの制御及びドット
メモリのクリアを行うことを特徴とする文字発生装置。4. The character generator according to claim 1, wherein the raster block is composed of a control unit and a calculation unit (execution unit), and a line generating line generating a line between the coordinate data and a line generating the line. A character generator characterized by performing filling for filling an outline of a character generated by generation, control of a dot memory for expanding a character, and clearing of the dot memory.
クターブロックとラスターブロックは並列に動作するこ
とを特徴とする文字発生装置。5. The character generator according to claim 1, wherein the vector block and the raster block operate in parallel.
て、ドットメモリの読みだしは、固定アドレスでリード
し、文字発生装置内部では、ドットメモリのアドレスを
順次インクリメントすることを特徴とする文字発生装
置。6. The character generator according to claim 1 or 2, wherein the dot memory is read at a fixed address, and the address of the dot memory is sequentially incremented inside the character generator. Generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4308468A JPH06161421A (en) | 1992-11-18 | 1992-11-18 | Character generating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4308468A JPH06161421A (en) | 1992-11-18 | 1992-11-18 | Character generating device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06161421A true JPH06161421A (en) | 1994-06-07 |
Family
ID=17981391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4308468A Pending JPH06161421A (en) | 1992-11-18 | 1992-11-18 | Character generating device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06161421A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19904307A1 (en) * | 1999-01-28 | 2000-08-10 | Bosch Gmbh Robert | Process for the production of three-dimensional structures by means of an etching process |
DE19904305A1 (en) * | 1999-01-28 | 2000-08-17 | Bosch Gmbh Robert | Convex structure formation involves changing etching removal rate of base material as function of etching time depending on base material |
-
1992
- 1992-11-18 JP JP4308468A patent/JPH06161421A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19904307A1 (en) * | 1999-01-28 | 2000-08-10 | Bosch Gmbh Robert | Process for the production of three-dimensional structures by means of an etching process |
DE19904305A1 (en) * | 1999-01-28 | 2000-08-17 | Bosch Gmbh Robert | Convex structure formation involves changing etching removal rate of base material as function of etching time depending on base material |
DE19904307C2 (en) * | 1999-01-28 | 2001-09-20 | Bosch Gmbh Robert | Process for the production of three-dimensional structures by means of an etching process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH056160A (en) | Graphic-processor | |
JP3791259B2 (en) | Outline smoothing processing method | |
JPH0916146A (en) | Character and symbol pattern generating device | |
JP3037854B2 (en) | Character generation method and device | |
JPH06161421A (en) | Character generating device | |
JP3009525B2 (en) | Vector image drawing equipment | |
JPH0443395A (en) | Character font memory and character pattern generating device using same | |
JP2002116729A (en) | Data processing method, picture display method, picture processing device, picture display device, picture display system, and picture processing system | |
JPH05281945A (en) | Character and pattern generating circuit | |
JP2980732B2 (en) | How to generate outline fonts | |
JPH0627922A (en) | Character pattern display controller | |
JP3238202B2 (en) | Character / graphic generating apparatus and information processing apparatus | |
JPH03288894A (en) | Document preparing device | |
JPH06162184A (en) | System and device for curve interpolation | |
JPH01191192A (en) | High quality character generating device | |
JPH06324666A (en) | Character generating device | |
JP2603322B2 (en) | Character processing apparatus and method | |
JPH02168361A (en) | Pattern data preparing device to prepare coordinates data and processor | |
JPH0511733A (en) | Character generating device | |
JP2637921B2 (en) | Character symbol generator | |
JP2803746B2 (en) | Character processing method and apparatus | |
JPH06301367A (en) | Character generator | |
JPH05188925A (en) | System and device for data input | |
JPH04241391A (en) | Character generator | |
JPH04373082A (en) | Character generator |