JPH03225394A - Character generation device - Google Patents

Character generation device

Info

Publication number
JPH03225394A
JPH03225394A JP2019052A JP1905290A JPH03225394A JP H03225394 A JPH03225394 A JP H03225394A JP 2019052 A JP2019052 A JP 2019052A JP 1905290 A JP1905290 A JP 1905290A JP H03225394 A JPH03225394 A JP H03225394A
Authority
JP
Japan
Prior art keywords
data
coordinate
coordinate data
line width
correction
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
JP2019052A
Other languages
Japanese (ja)
Inventor
Yoshito Suzuki
芳人 鈴木
Shinji Wakizaka
新路 脇坂
Hiroshi Wada
和田 弘士
Hiroyuki Koizumi
洋之 小泉
Susumu Kaneko
進 金子
Fumihiro Takahashi
文博 高橋
Toshio Asai
俊雄 浅井
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP2019052A priority Critical patent/JPH03225394A/en
Priority to KR1019900017939A priority patent/KR940001106B1/en
Publication of JPH03225394A publication Critical patent/JPH03225394A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation

Abstract

PURPOSE:To correct a line width at a high speed on a small circuit scale which can be formed to an LSI by correcting the width of a specified line to the specified line width while performing coorinate transformation or curve interpolation by affine transformation. CONSTITUTION:The data of coordinate is temporarily stored in a font input FiFo 15 in a host interface 23. An affine transformation block/line width correc tion block 16 orderly reads the data of coordinate (x, y) from the FiFo 15 so as to execute the affine transformation, x'=ax+by+e, Y'=cx+dy+f, pro vided that a-d are the constants of affine matrix data and (e) and (f) are constants. Furthermore, the correction is performed to the data of coordinate (x', Y') in order to correct the line width, and the corrected data (x'', y'') is outputted to an FiFo 20. A line width interpolation block 17 reads the data of coordinate (x', y') or (x'', y''), generates the data of coordinate expressing a curve and outputs it to an FiFo 21. A line generation block 18 generates the contour of a character based on the data of coordinate and writes it in a dot memory 22. A painting-out Bit BLT block 19 paints out the inside of the contour and writes it in a page memory.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル形式で表わされた文字の輪郭データ
をアフィン変換により拡大又は縮小演算した後、ラスタ
形式のデータに変換し、出力する文字発生方法及び文字
発生装置に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention expands or reduces character contour data expressed in vector format using affine transformation, and then converts the data into raster format data and outputs the data. The present invention relates to a character generation method and a character generation device.

〔従来の技術〕[Conventional technology]

複数の文字サイズの文字を出力する方法として、近年文
字データの輪郭上の座標を文字フォントとしてROM又
は外部記憶装置に持ち、指定出力サイズに従って拡大又
は縮小演算して出力するものがある。この方法では、比
較的小さな文字を出力する為の縮小演算において、演算
誤差が大きくなるので、縮小演算後文手品質低下を防ぐ
ため、縦および横方向の線幅を補正する処理が必要であ
る。
In recent years, as a method for outputting characters of a plurality of character sizes, there is a method in which coordinates on the outline of character data are stored in a ROM or an external storage device as a character font, and the data is enlarged or reduced according to a specified output size and output. In this method, the calculation error becomes large during the reduction operation to output relatively small characters, so it is necessary to correct the line width in the vertical and horizontal directions to prevent the quality of the writing from deteriorating after the reduction operation. .

第12図は、従来の文字発生装置のブロック図である。FIG. 12 is a block diagram of a conventional character generator.

1は、ベクトル形式の文字フォントデータであり、6は
、アフィン変換または曲線補間等の座標変換を実行する
ブロックであり、7は、1文字当りの全ての座標変換が
終了した後、線幅補正を行う線幅補正ブロックであり、
3は、ライン又は曲線発生を行うブロックであり、4は
、3で発生した輪郭文字の内部を塗りつぶ丁ブロックで
あり、5は、ドツトに展開されたラスタ形式の文字パタ
ーンである。
1 is character font data in vector format, 6 is a block that executes coordinate transformation such as affine transformation or curve interpolation, and 7 is a block that executes line width correction after all coordinate transformations per character are completed. It is a line width correction block that performs
3 is a block for generating lines or curves; 4 is a block that fills in the inside of the outline character generated in 3; and 5 is a raster-format character pattern developed into dots.

特開昭62−272295号には、線幅制御機能を持つ
文字パターンの拡大・縮小方式が記載されている。
Japanese Patent Laid-Open No. 62-272295 describes a character pattern enlargement/reduction method having a line width control function.

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

上記従来の線幅制御方式では、第12図に示すように、
1文字当りの全ての座標変換が終了した後、線幅補正を
行う為、処理時間が長くかかるという欠点があった。ま
た、線幅補正を行う為には。
In the conventional line width control method described above, as shown in FIG.
Since line width correction is performed after all coordinate transformations for each character are completed, there is a drawback that processing time is long. Also, to perform line width correction.

アフィン変換されたデータから線幅補正に必要なデータ
を抽出し、保持しておくことが必要とされる。そのため
、このデータを蓄えておくための比較的大容量のRAM
等の記憶装置が必要であった。
It is necessary to extract and retain data necessary for line width correction from the affine-transformed data. Therefore, a relatively large capacity RAM is required to store this data.
etc. storage devices were required.

よって、従来の線幅補正方式では、線幅補正機能を有し
、ベクトル形式で表わされた文字の輪郭データを、アフ
ィン変換により座標変換を施した後に、ラスタ形式で表
わされた文字データに変換する文字発生装置をLSI化
することは困難であった。
Therefore, in the conventional line width correction method, which has a line width correction function, character outline data expressed in vector format is subjected to coordinate transformation using affine transformation, and then character data expressed in raster format is converted into character data. It was difficult to implement a character generator that converts into LSI.

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

また1本発明の他の目的は、LSI化が可能な小さな回
路規模で一幅補正が高速に実行できる線幅補正方式およ
び装置を提供することにある。
Another object of the present invention is to provide a linewidth correction method and device that can perform single-width correction at high speed with a small circuit scale that can be integrated into an LSI.

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

本願において開示される発明のうち代表的なものの概要
を簡単に説明丁れば下記の通りである。
A brief overview of typical inventions disclosed in this application is as follows.

すなわち、アフィンf換により座標変換を行いながら、
または、曲線補間を行し・ながら、指定した直線の線幅
な指定した線幅に補正するようにするものである。
That is, while performing coordinate transformation by affine f transformation,
Alternatively, while performing curve interpolation, the line width of a specified straight line is corrected to a specified line width.

上記アフィン変換により座標変換を行いながら、または
、曲線補間を行いながら、指定した直線の線幅を指定し
た線幅に補正することにおいて、修正されるべき座標デ
ータには、補正の内容を示す補正フラグデータが付加さ
れ、この補正フラグデータに従って、座標データが修正
されることにより、指定した直線の線幅を指定した線幅
に補正するようにするものである◎ また、上記修正される座標データは、次に処理されるべ
き座標データに向うベクトルの方向に対して、垂直方向
にのみ修正されるようにするものである。
When correcting the line width of a specified straight line to the specified line width while performing coordinate transformation using the above affine transformation or while performing curve interpolation, the coordinate data to be corrected must be corrected to indicate the content of the correction. By adding flag data and correcting the coordinate data according to this correction flag data, the line width of the specified straight line is corrected to the specified line width ◎ Also, the coordinate data to be corrected above This allows correction only in the direction perpendicular to the direction of the vector toward the coordinate data to be processed next.

さらに、上記修正されるべき座標データは、1つ前に処
理された座標データが修正されていた場合に、修正され
た座標データの座標値か継承されるようにするものであ
る。
Further, the coordinate data to be corrected is such that when the previously processed coordinate data has been corrected, the coordinate values of the corrected coordinate data are inherited.

アウトラインフォントデータを構成する座標点の集りで
作られたアウトライン文字の各ループでは、始点及び終
点は同一座標データで構成されており、処理された座標
データの出力される順番は、第2番目の座標データから
順に出力し、最後K。
In each loop of outline characters made from a collection of coordinate points that make up outline font data, the start point and end point are made up of the same coordinate data, and the output order of processed coordinate data is the second Output the coordinate data in order, and then output K at the end.

第2番目の座標データを出力するようにしたものである
The second coordinate data is output.

あるいは、上記アウトラインフォントデータな構成する
座標点の集りで作られたアウトライン文字の各ループで
は、始点及び終点は同一座標データで構成されており、
第1番目以降の座標データの順列が切り離すことができ
ない一連のデータの場合に、処理された座標データの出
力される順番は、切り離すことができるところの座標デ
ータから出力し、最後に、第2番目以降の一連の座標デ
ータを出力するようにしたものである。
Alternatively, in each loop of outline characters made from a collection of coordinate points that make up the outline font data, the start point and end point are made up of the same coordinate data,
If the first and subsequent permutations of coordinate data are a series of data that cannot be separated, the order in which the processed coordinate data is output is that the coordinate data that can be separated is output first, and finally, the second The system outputs a series of coordinate data from the th point onwards.

〔作用〕[Effect]

上記した手段によれば、アフィン変換により座標変換を
行いながら、または1曲縁補間を行いながら、指定した
直線の線幅を指定した巌偏に補正を行うことから、アフ
ィン変換された、ある(・は曲線補間された1文字当り
のデータから線幅補正に必要なデータを抽出し、このデ
ータを蓄えておく大規模なRAM等の記憶装置を用いる
ことなく線幅補正できる。そのため、線幅補正機能を持
つ文字発生装置全体の規模を縮小することができる。
According to the above-mentioned means, the line width of a specified straight line is corrected to a specified deviation while performing coordinate transformation by affine transformation or while performing single curved edge interpolation.・Extracts the data necessary for line width correction from the curve-interpolated data per character, and can correct the line width without using a large-scale storage device such as RAM to store this data. The entire scale of the character generator having the correction function can be reduced.

また、指定した直線の線幅を指定した線幅に補正する線
幅補正において、修正されるべき座標データには、補正
の内容を示す補正フラグデータを付加し、補正フラグデ
ータに従って座標データが修正されることから、アフィ
ン変換された、あるいは曲線補間された1文字当りのデ
ータから線幅補正に必要なデータを抽出する等の処理が
いらないことから、高速な線幅補正が実現できる。
In addition, in line width correction that corrects the line width of a specified straight line to the specified line width, correction flag data indicating the content of correction is added to the coordinate data to be corrected, and the coordinate data is corrected according to the correction flag data. Therefore, there is no need for processing such as extracting data necessary for line width correction from data per character that has been subjected to affine transformation or curve interpolation, so that high-speed line width correction can be realized.

さらに、修正されるべき座標データは、次に処理される
べき座碑データに向うベクトル方向に対して、垂直方向
にのみ修正される。丁なわち、1つの座標データの組(
x、y)に対して、ベクトル方向がX軸方向ならば、y
座標値のみ修正され、y軸方向ならば、X座標値のみ修
正される。
Furthermore, the coordinate data to be modified is modified only in the direction perpendicular to the vector direction toward the monument data to be processed next. In other words, one set of coordinate data (
x, y), if the vector direction is the X-axis direction, then y
Only the coordinate values are corrected; in the case of the y-axis direction, only the X-coordinate values are corrected.

かつ、修正される座標データは、1つ前に処理された座
標データが修正されて(・た場合には、修正された座標
データの座標値が継承される、丁なわち、1つ前の座標
データのX座標値が修正されたならば、そのX座標値が
修正されるべき座標データのX座標値として置換される
。そのため、1つの座標データの組(x、y)のどちら
か1方のみ修正すれば良いため、線幅補正に必要なレジ
スタ等を1/2に減らすことができ、装置全体の規模を
縮小することができる。
In addition, the coordinate data to be corrected is the coordinate data processed before the previous one is corrected. If the X coordinate value of the coordinate data is modified, that X coordinate value is replaced as the X coordinate value of the coordinate data to be modified.Therefore, either one of one coordinate data set (x, y) Since only one side needs to be corrected, the number of registers and the like required for line width correction can be reduced to 1/2, and the scale of the entire apparatus can be reduced.

また、アウトラインフォントデータを構成する座標点の
集りで作られたアウトライン文字の各ループでは、始点
及び終点は同一座標データで構成されており、処理され
た座標データの出力される順番は、第2番目の座標デー
タから順に出力し、最後に、第2番目の座標データを出
力する。
In addition, in each loop of outline characters made from a collection of coordinate points that make up outline font data, the start point and end point are made up of the same coordinate data, and the output order of processed coordinate data is The coordinate data is output in order starting from the second coordinate data, and finally the second coordinate data is output.

かつ、第1番目以降の座標データの順列が切り離すこと
ができない一連のデータの場合には、処理された座標デ
ータの出力される順番は、切り離丁ことかできるところ
の座標データから出力し。
In addition, in the case of a series of data in which the permutations of the coordinate data after the first one cannot be separated, the order in which the processed coordinate data is output is outputted starting from the coordinate data that can be separated.

最後に、第2番目以降の一連の座標データを出力するこ
と罠より1品質の良い文字を出力することができろ。
Finally, by outputting the second and subsequent series of coordinate data, you should be able to output characters with better quality than the trap.

〔実施例〕〔Example〕

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

第1図は、本発明を適用した文字発生装置のブロック図
である。なお、本装置は、これに限定する必要はなく、
マイクロコンピュータ周辺機器としてLSI化した単体
素子であっても、システム化した装置であってもよい。
FIG. 1 is a block diagram of a character generator to which the present invention is applied. Note that this device does not need to be limited to this.
It may be a single element made into an LSI as a microcomputer peripheral device, or it may be a systemized device.

1は、ベクトル形式の文字フォントデータであり、2は
、アフィン変換・曲想補間等の座標変換と同時に線幅補
正を実現する制御部であり、3は。
1 is character font data in vector format; 2 is a control unit that realizes line width correction at the same time as coordinate transformation such as affine transformation and circumflex interpolation; and 3 is a control unit that realizes line width correction simultaneously.

ライン又は曲線発生部、4は、3で発生した輪郭文字の
内部を塗りつぶすブロックで、5は、ドツトに展開され
たラスタ形式の文字パターンである。
The line or curve generating section 4 is a block that fills the inside of the outline character generated in step 3, and 5 is a raster-type character pattern developed into dots.

第5図には、本発明を適用したシステムの一実施例が示
されている。同図は、本発明を適用したアウトラインフ
すントデータを構成する座標データをページメモリ上へ
ビットマツプデータに変換する一連の処理を行う文字発
生用LSI、0FF(アウトラインフォントプロセッサ
)を用いたシステム構成例である。アドレスバス、デー
タバス。
FIG. 5 shows an embodiment of a system to which the present invention is applied. The figure shows a system using OFF (outline font processor), a character generation LSI that performs a series of processes to convert coordinate data constituting outline font data into bitmap data on a page memory to which the present invention is applied. This is a configuration example. address bus, data bus.

制御信号バスから成るシステムバス33には、ホストC
PU26.システムメモリ27.アウトラインフォント
メモリ28.DMAコントローラ29゜0FP25.ペ
ージメモリコントローラ3oが接続されており、また、
OFFにはページメモリコントローラ30が接続され、
ページメモリコントローラにはページメモリ31が接続
され、ページメモリには、プリンタ及びCRTシステム
32に接続されている。このシステムは、 主にペーシ
フリンタコントローラやCRTシステムに用いられる。
A system bus 33 consisting of a control signal bus includes a host C
PU26. System memory 27. Outline font memory 28. DMA controller 29°0FP25. A page memory controller 3o is connected, and
A page memory controller 30 is connected to OFF,
A page memory 31 is connected to the page memory controller, and the page memory is connected to a printer and a CRT system 32. This system is mainly used for pace printer controllers and CRT systems.

例えば、OFPは、ホス)CPUからの信号により、D
MACをかいして、アウトラインフォントメモリ28か
らアワトライン7オントデータである座標データを受は
取り、ページメモリコントローラ30をかいして、ペー
ジメモリ31上へビットマツプデータに変換して書き込
む。
For example, the OFP uses a signal from the CPU (host) to
The MAC is used to receive coordinate data, which is the eight-line 7 ont data, from the outline font memory 28, and the page memory controller 30 is used to convert it into bitmap data and write it onto the page memory 31.

第4図に、OFFの内部ブロック図を示す。特に制限さ
れな(・が、同図におい【実線で囲まれた各回路ブロッ
クは1周知の半導体集積回路技術によって、1つの半導
体チップ上に形成されている。
FIG. 4 shows an internal block diagram of OFF. Although not particularly limited, each circuit block surrounded by a solid line in the figure is formed on one semiconductor chip by a well-known semiconductor integrated circuit technology.

ここで、0FP25は、ホストインタフェース23およ
びホストインタフェース内部にあるフォント人力F s
 F o 15 mアフィン変換ブロック及び線幅補正
ブロックから成るブロック16 、FiFoo 20e
曲線補間ブロックl 7 、FiFo 121*ライン
発生ブロック18.ドツトメモリ22.塗り潰しB i
 t BLTブロック19.ページメモリインタフェー
ス24から構成されて(・る。ホストインタフェース2
3からは、システムバスに接続されるアドレスバス、デ
ータバス、制御信号群が出力される。内部ハスデータ1
4は、システムデータバスに接続されている。また、ペ
ージメモリインタフェース24からは、ページメモリコ
ントローラ30に接続さnるアドレスバス、データバス
、制御信号群が出力される。
Here, 0FP25 is the host interface 23 and the font Fs inside the host interface.
Block 16 consisting of F o 15 m affine transformation block and line width correction block, FiFoo 20e
Curve interpolation block l7, FiFo 121*line generation block 18. Dot memory 22. Fill B i
t BLT block 19. It consists of a page memory interface 24 (. host interface 2).
3 outputs an address bus, a data bus, and a group of control signals connected to the system bus. Internal lotus data 1
4 is connected to the system data bus. Further, the page memory interface 24 outputs an address bus, a data bus, and a group of control signals connected to the page memory controller 30.

次にOFFの動作について説明する。アウトラインフォ
ントメモリからリードした座標データは、ホストインタ
フェース内のフォント人力FiF。
Next, the OFF operation will be explained. The coordinate data read from the outline font memory is input to the font input FiF in the host interface.

に−時的に格納される。アフィン変換ブロックは、フォ
ント人力FiFoから順に座標データx、yを読み込み
、アフィン変換(次式■) ここで、a + b HC+ d ニアフィンマトリク
スデータ定数であり、e、f:定数である。
– stored temporally. The affine transformation block sequentially reads the coordinate data x, y from the font input FiFo and performs affine transformation (the following formula (■)) where a + b HC + d are near fin matrix data constants, and e and f are constants.

を実行し、さもに#4幅補正を実行するために指定され
た座標データx r Y′に対して修正を行い、修正さ
れた座標データx + Y’をFiFo Oへ出力する
。この線幅補正な実行する線幅補正ブロックは曲線補間
ブロックにあってもよい。曲線補間ブロックは、FiF
oOに一時的に格納された座標データx′、y′あるい
はxa、yaをリードし1曲縁データの場合は曲線を表
丁新たな座標データを発生して、FiFo 1へ出力す
る。ライン発生ブロックは、FiFolから一時的に格
納された座標データを読み込み、座標点間をドツトイメ
ージでラインを発生し、文字の輪郭を作り、ビットマツ
プデータとして、トントメモリへ書き込む。塗り潰しB
it−BLTブロックは、トントメモリから1文字ごと
に輪郭を表丁ビットマツプデータな読み込み、輪郭内を
塗り潰し、ページメモリインタフェースを経由して、ペ
ージメモリ上に、ビットマツプデータなブロック転送し
ながら書き込む。
Then, the coordinate data x r Y' specified for executing the #4 width correction is corrected, and the corrected coordinate data x + Y' is output to the FiFo O. The line width correction block that executes this line width correction may be located in a curve interpolation block. The curve interpolation block is FiF
The coordinate data x', y' or xa, ya temporarily stored in oO is read, and in the case of one curved edge data, new coordinate data is generated and output to FiFo 1. The line generation block reads temporarily stored coordinate data from FiFol, generates a line between the coordinate points as a dot image, creates the outline of a character, and writes it into the memory as bitmap data. Fill B
The it-BLT block reads the outline of each character from the tonto memory as bitmap data, fills the inside of the outline, and writes it to the page memory via the page memory interface while transferring the bitmap data block. .

第2図は、10文字フォントデータを示す。(a)は従
来の輪郭データのみのデータで、(b)は本発明にかか
わる補正フラグ8を付与したデータである。
FIG. 2 shows 10 character font data. (a) is conventional contour data only data, and (b) is data to which a correction flag 8 related to the present invention has been added.

(C)は上記補正フラグ8の詳細な機能を示す。(C) shows the detailed function of the correction flag 8.

第3図は、第1図に示したmair補正部補正部組ブロ
ックを示す。10は、補正フラグ8の内、番号(0〜n
:整数)及び補正フラグが付加されたアフィン変換後の
座標データ(x、y’)、あるいは修正された座標デー
タ(x、y)のいづれか−方の座標値データを蓄えるR
AMである。11は、補正フラグの情報に従って補正フ
ラグが付加された座標データ(x、y)を修正する演算
部である。
FIG. 3 shows the mair correction unit correction unit set block shown in FIG. 10 is the number (0 to n
: integer) and the coordinate data after affine transformation (x, y') with a correction flag added, or the corrected coordinate data (x, y).
It is AM. Reference numeral 11 denotes an arithmetic unit that corrects coordinate data (x, y) to which a correction flag has been added in accordance with information on the correction flag.

13は、線幅を任意の値に設定するための指定線幅レジ
スタである。12のRAM2は第4図のFiFo020
に相当する。
13 is a designated line width register for setting the line width to an arbitrary value. 12 RAM2 is FiFo020 in Fig. 4
corresponds to

第6図から第11図および第13図により、第3図で行
われる線幅補正方式について説明する。
The line width correction method performed in FIG. 3 will be explained with reference to FIGS. 6 to 11 and 13.

第6図は、[日Jという文字を例にとり、座標データで
構成されるアウトラインフォントを模式的に作成した図
であり、実際には、曲線等が含まれているが、ここでは
水平線及び垂直線で構成する。この例では、3本の水平
線と2本の垂直線で構成されている。説明を簡略化する
ため、水平線のみを線幅補正することにする。座標デー
タ(xo。
Figure 6 is a schematic diagram of an outline font composed of coordinate data, taking the character ``J'' as an example.In reality, it contains curved lines, etc., but here we will use horizontal lines and vertical lines. Composed of lines. In this example, it is composed of three horizontal lines and two vertical lines. To simplify the explanation, only the line width of the horizontal line will be corrected. Coordinate data (xo.

yo )〜(X16 + yt* )は、アフィン変換
後の座標データである。
yo ) to (X16 + yt*) are coordinate data after affine transformation.

水平MAK番号■、■、■を付ける。この番号が第2図
fclの補正フラグの番号(1〜n整数)になろうこれ
らの水平線を丁べて2ドツトになるように線幅補正を行
へものとする。
Add horizontal MAK numbers ■, ■, ■. This number will be the number of the correction flag (integer 1 to n) in FIG.

線幅補正方式として、第9図(a)に示すように、座標
点(xl、Yn)の修正は、次の座標点(xn+1+y
 n+1 )に向って(ベクトル方向に対して)、垂直
方向のみ行えるものとする。また、第9図Tb)に示す
ように、修正された座標点(xn、yn)から、次の座
標点(xn+11 Yn+1 )へ処理が移行した場合
、修正された座標値が継承される。すなわち、座標点(
x n+ y n)において、ynがy二に修正された
場合、次の座標点(x 1+t + )yl+1 )の
yn+。
As shown in FIG. 9(a), as a line width correction method, correction of the coordinate point (xl, Yn) is performed using the following coordinate point (xn+1+y
n+1) (with respect to the vector direction), and only in the vertical direction. Furthermore, as shown in FIG. 9Tb), when the process moves from the corrected coordinate point (xn, yn) to the next coordinate point (xn+11 Yn+1), the corrected coordinate values are inherited. That is, the coordinate point (
x n+ y n), if yn is modified to y2, then yn+ at the next coordinate point (x 1+t + )yl+1).

はyn′がそのまま継承されてynになる。becomes yn by inheriting yn' as is.

ここで、座標点の修正には、修正と、修正された座標値
を保存しておき、新たな座標点の修正時に保存しておい
た座標値に置き換える置換とがある。第11図に示すよ
うに、水平線又は垂直線が、複数の座標点から構成され
ている場合は、修正点と置換点が発生する。これは、同
じ修正処理を繰り返さないためである。
Here, the correction of the coordinate point includes correction and replacement, in which the corrected coordinate value is saved and replaced with the saved coordinate value when a new coordinate point is corrected. As shown in FIG. 11, when a horizontal line or a vertical line is composed of a plurality of coordinate points, correction points and replacement points occur. This is to avoid repeating the same correction process.

第13図に、以上の方式による線幅補正のフローチャー
トを示す。
FIG. 13 shows a flowchart of line width correction using the above method.

以上の方式に従って線幅補正を実行するために第6図に
示すアウトラインフォントデータを線幅補正用フォント
データ、丁なわち、補正フラグ8を付与したデータに、
ループ1.ループ2.ループ3の順に加工する。水平線
を構成する座標データ、例えば、水平耐■においては、
(Xo+Yo)。
In order to perform line width correction according to the above method, the outline font data shown in FIG.
Loop 1. Loop 2. Process in the order of loop 3. In the coordinate data that constitutes the horizontal line, for example, horizontal resistance ■,
(Xo+Yo).

(X+ +Y+)t (Xs+ysL (Xa+)’a
L(X*+y%l)であり、最初に現われたデータが基
準点となる。
(X+ +Y+)t (Xs+ysL (Xa+)'a
L(X*+y%l), and the first appearing data becomes the reference point.

すなわち、(Xo+yo)が基準点となり、次のデータ
(XH* Yt )へ向う線分が基準線■となり、この
線分のベクトル方向が座標軸に対して正の方向ならば、
正とし、負の方向ならば、負とする。この方向は、修正
点が基準線に対してどちら側にあるかを判定するのく用
いる。すなわち、基醜点の座標値に指定した線幅値を加
算し、あるいは減算して修正点を求めるためである。
In other words, (Xo+yo) is the reference point, the line segment heading to the next data (XH*Yt) is the reference line ■, and if the vector direction of this line segment is positive with respect to the coordinate axis, then
It is taken as positive, and if it is in the negative direction, it is taken as negative. This direction is used to determine which side the correction point is on with respect to the reference line. That is, the correction point is obtained by adding or subtracting the specified line width value to the coordinate value of the basic point.

(xt+Y1)はX軸方向く修正されることから、この
水平線のみ線幅補正の場合、何の属性ももたない。(x
@ + )’t )は、水平線■の基準点となる。
Since (xt+Y1) is corrected in the X-axis direction, if only this horizontal line is corrected in line width, it does not have any attributes. (x
@+)'t) becomes the reference point of the horizontal line ■.

(X、+ ’/* )は、属性をもたない。(X4 e
 Yo )は、基準点(XQ l yo )と同様であ
り、かつ、基準点は不動点であることから、属性をもた
ない。
(X, +'/*) has no attributes. (X4 e
Yo ) is the same as the reference point (XQ lyo ), and since the reference point is a fixed point, it does not have an attribute.

次に、同じ水平線■に対して、2番目に現われたデータ
(Xs e )’s )が修正点となる。ちなみに、(
X5 # Ys )はX軸方向に修正される点であるこ
とから、2番目に現われるデータではない。さらに。
Next, for the same horizontal line ■, the second appearing data (Xse)'s) becomes the correction point. By the way,(
Since X5 #Ys) is a point to be corrected in the X-axis direction, it is not the data that appears second. moreover.

この例では現われないが、3番目以降に現われたデータ
は置換点となる。
Although it does not appear in this example, the third and subsequent data appear as replacement points.

同様にして、丁べての座標データに対してみていくと、
水平線■に対して、(Xs+ + Ytt )が修正点
となる。水平線■に対して、(x@ e ys )が基
準点となり*  (Xts e y+m )が修正点と
なる。
In the same way, if we look at the coordinate data of the whole table, we get
(Xs+ + Ytt) is the correction point for the horizontal line ■. With respect to the horizontal line ■, (x@eys) is the reference point and *(Xtsey+m) is the correction point.

以上の線幅補正は水平線のみの場合を考えたが、同様に
して、垂直線に対しても座標データに属性を付けていけ
ば、水平・垂直線を同時に線幅補正できる。このとき、
1つの座標データには、水平線線幅補正か垂直!1線幅
補正かのいずれか1方の属性しか付かない。
The above line width correction was performed for only horizontal lines, but by attaching attributes to the coordinate data for vertical lines in the same way, it is possible to correct the line widths of horizontal and vertical lines at the same time. At this time,
One coordinate data has horizontal line width correction or vertical line width correction! Only one of the attributes, line width correction or line width correction, can be attached.

第7図は、第6図の座標データに対して、属性を持つ座
標データにその属性を補正フラグにセットして付与した
耕幅補正用フォントデータ構造であるうここで、800
11mはループ開始フラグ、8004、、は1文字終了
フラグである。この線幅補正用フォントデータなj−次
読み込みながら補正フラグに従つ゛(線幅補正を実行し
ていく。
FIG. 7 shows a font data structure for tilling width correction in which the coordinate data in FIG. 6 is given an attribute by setting the attribute in the correction flag.
11m is a loop start flag, and 8004 is a one-character end flag. While reading this font data for line width correction in the j-th order, it follows the correction flag (line width correction is executed).

第8図は、第3図処示すRAMll0に格納されていく
補正フラグの番号とその座標データを表わしている。(
a)は、(Xo + Yo )から(X・、yo)まで
処理された時点のRAMIの様子であり、番号に相当す
る基準点の座標値が書き込まれて(・る。
FIG. 8 shows the correction flag numbers and their coordinate data stored in RAMll0 shown in FIG. 3. (
A) shows the state of RAMI at the time when processing from (Xo + Yo) to (X·, yo) is performed, and the coordinate values of the reference points corresponding to the numbers are written (·).

これは、補正フラグの8,9ビツトの内容が100”(
基準点)K基づいて処理される。(b)は%(Xlly
a)が処理された時点のRAMIの様子であり、補正フ
ラグの番号及び8.9ビツトの内容が@01″(修正点
)10ビツトの内容が11”(y座標を修正・置換)1
1ビツトの内容が@O′″(基準線方向が正)に基づき
、番号■番地のyoがy、″(書き換えられた。ここで
、基準点のyoが消されるが、これは修正後は不要にな
り、さらに、同じ番号の置換点の処理時には、書き換え
られたy、′が使用されるためである。(C)は、丁べ
ての座標データが処理されたときのRAM1の様子であ
る。
This means that the contents of 8 and 9 bits of the correction flag are 100" (
(reference point) is processed based on K. (b) is %(Xlly
The state of RAMI at the time a) is processed, the correction flag number and the contents of 8.9 bits are @01'' (correction point) and the contents of 10 bits are 11'' (correction/replacement of y coordinate) 1
Based on the content of 1 bit @O''' (the direction of the reference line is positive), the yo at the number ■ address is rewritten as y,'' (the yo at the reference point is erased, but after correction This is because the rewritten y,' is used when processing replacement points with the same number.(C) shows the state of RAM1 when all the coordinate data has been processed. be.

RAMIの容量は、XとYの修正点の合計の半分で丁む
ことがわかる。この例では、線幅補正される前から、水
平線■及び■は2ドツトの幅であることから、ya””
Ya + Yt+’=yttである。
It can be seen that the capacity of RAMI is half the sum of the correction points of X and Y. In this example, the horizontal lines ■ and ■ are two dots wide before line width correction, so ya""
Ya + Yt+'=ytt.

また、(XI@ * YI4 )においては、前修正点
(Xlj ly+m’)のyl、″が継承され、y0→
Y+*’=Y+s″となって(・る。
Also, in (XI@*YI4), yl,'' of the previous correction point (Xlj ly+m') is inherited, and y0→
Y+*'=Y+s'' (・ru.

第10図は、本発明の線幅補正方式において、第3図の
RAM212 または第4図のFiFo  020ある
いはFiFo121に出力される順序を示したものであ
る。(a)は、線幅補正を実行し、入力された座標デー
タP、と同じ順番で出力する。このとき、Plがゴミと
して残る場合がある。そこで、(b)に示すようなルー
プの開始が直線で始まる場合には、Plを出力せず、P
、かう出力し、終りKP、を出力し、P、が始点となり
、新たにP6を終点とする。(C)に示すようなループ
の開始が曲線発生用制御データで切り離丁ことができな
い一連のデータの場合には、P+  、Pt  、Ps
を出力せず、P、かう出力し、終りにP、、Ps 、P
FIG. 10 shows the order in which signals are output to the RAM 212 in FIG. 3 or the FiFo 020 or FiFo 121 in FIG. 4 in the line width correction method of the present invention. In (a), line width correction is executed and output in the same order as the input coordinate data P. At this time, Pl may remain as dust. Therefore, if the loop starts with a straight line as shown in (b), Pl is not output and P
, and outputs the end KP, with P becoming the starting point and P6 being the new ending point. If the start of the loop is a series of data that cannot be separated by curve generation control data as shown in (C), P+, Pt, Ps
without outputting P, outputting P, at the end P, , Ps , P
.

を出力し、P、が始点となり、新たKP、が終点となる
。以上の出力方式により、品質のよ(・ループが発生で
きる。
, P, becomes the starting point, and the new KP, becomes the ending point. The above output method can result in poor quality (-) loops.

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

以上説明したように5本発明における文字発生装置にお
(・ては、従来では線幅補正に費してし・た時間をアフ
ィン変換または曲線補間と同時に行える為、処理時間の
短縮が可能となり、従来の方式では修正点を全てメモリ
上にスタックしなければならなかったが、これが不要と
なり、大幅なメモリの削減が可能となる。
As explained above, in the character generation device of the present invention, the time that was conventionally spent on line width correction can be performed at the same time as affine transformation or curve interpolation, so processing time can be shortened. In the conventional method, all correction points had to be stacked in memory, but this is no longer necessary, and the memory capacity can be significantly reduced.

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

第1図は、本発明の一実施例の文字発生装置のブロック
図、 第2図al 、 (b) 、 (clは、補正用データ
詳装置、第3図ま、線幅補正部の詳細ブロック図、第4
図よ、OFFの内部ブロック図、 第5図1、OFFのシステム構成図、 第6図ま、線幅補正方式を説明するだめの図、第7図1
、線幅補正用フォントデータ構造図、第8図a) 、 
(b) 、 (e)、第9図(a) 、 (b)、第1
0図(a)。 (bl 、 (c)及び第11図は、線幅補正方式を説
明するための図、 第12図は、従来の方式の文字発生装置のブロック図で
ある。 第13図は、線幅補正のフローチャートである。 1・・・文字フォントデータ、2・・・線幅補正部、8
・・・補正フラグ、10・・・RAMI、11・・・演
算部、13・・・指定融幅レジスタ、3・・・ライン又
は曲線発生部、4・・・塗りつぶし部、5・・・拡大・
縮小文字パターン、25・・・OFF。
FIG. 1 is a block diagram of a character generating device according to an embodiment of the present invention; FIG. 2 al, (b), and (cl) are detailed correction data devices; FIG. Figure, 4th
Figure 5: Internal block diagram of OFF, Figure 5: 1, System configuration diagram of OFF, Figure 6: Diagram for explaining the line width correction method, Figure 7: 1
, Font data structure diagram for line width correction, Figure 8a),
(b), (e), Figure 9 (a), (b), 1st
Figure 0 (a). (bl, (c) and FIG. 11 are diagrams for explaining the line width correction method. FIG. 12 is a block diagram of a conventional character generation device. FIG. 13 is a diagram for explaining the line width correction method. It is a flowchart. 1... Character font data, 2... Line width correction section, 8
... Correction flag, 10 ... RAMI, 11 ... Calculation section, 13 ... Specified melt width register, 3 ... Line or curve generation section, 4 ... Filled section, 5 ... Enlargement・
Reduced character pattern, 25...OFF.

Claims (1)

【特許請求の範囲】 1、ベクトル形式で表わされた文字の輪郭データを、ア
フィン変換により座標変換を施した後に、ラスタ形式で
表わされた文字データに変換することにより文字を発生
する文字発生装置であって、アフィン変換により座標変
換を行いながら、または、曲線補間を行いながら、指定
した直線の線幅を指定した線幅に補正することを特徴と
する文字発生装置。 2、上記線幅の補正は、修正される座標データに、補正
の内容を示す補正フラグデータが付加され、該補正フラ
グに従って座標データが修正されることにより、指定し
た直線の線幅を指定した線幅に補正することを特徴とす
る請求項1記載の文字発生装置。 3、上記修正される座標データは、次に処理される座標
データに向うベクトルの方向に対して、垂直方向にのみ
修正されることを特徴とする請求項1または請求項2記
載の文字発生装置。 4、上記修正される座標データは、1つ前に処理された
座標データが修正されていた場合に、修正された座標デ
ータの座標値が継承されることを特徴とする請求項1、
請求項2または請求項3記載の文字発生装置。 5、アウトラインフォントデータを構成する座標点の集
りで作られたアウトライン文字の各ループにおいて、始
点及び終点は同一座標データで構成されており、処理さ
れた座標データの出力される順番は、第2番目の座標デ
ータから順に出力し、最後に、第2番目の座標データを
出力することを特徴とする請求項1記載の文字発生装置
。 6、上記アウトラインフォントデータを構成する座標点
の集りで作られたアウトライン文字の各ループにおいて
、始点及び終点は同一座標データで構成されており、第
1番目以降の座標データの順列が切り離すことができな
い一連のデータの場合に、処理された座標データの出力
される順番は、切り離すことができるところの座標デー
タから出力し、最後に、第2番目以降の一連の座標デー
タを出力することを特徴とする請求項1または請求項5
記載の文字発生装置。
[Claims] 1. A character generated by converting character contour data expressed in vector format into character data expressed in raster format after performing coordinate transformation using affine transformation. What is claimed is: 1. A character generating device that corrects the line width of a specified straight line to a specified line width while performing coordinate transformation by affine transformation or while performing curve interpolation. 2. In the above line width correction, correction flag data indicating the content of the correction is added to the coordinate data to be corrected, and the coordinate data is corrected according to the correction flag, thereby specifying the line width of the specified straight line. 2. The character generating device according to claim 1, wherein the character generating device corrects the line width. 3. The character generating device according to claim 1 or 2, wherein the coordinate data to be modified is modified only in the direction perpendicular to the direction of a vector toward the coordinate data to be processed next. . 4. Claim 1, wherein the coordinate data to be corrected inherits the coordinate values of the corrected coordinate data when the previously processed coordinate data has been corrected.
A character generating device according to claim 2 or claim 3. 5. In each loop of outline characters made from a collection of coordinate points that make up outline font data, the start point and end point are made up of the same coordinate data, and the output order of the processed coordinate data is the second 2. The character generating device according to claim 1, wherein the character generating device sequentially outputs the coordinate data starting from the second coordinate data, and finally outputs the second coordinate data. 6. In each loop of outline characters made from a collection of coordinate points that make up the outline font data, the start point and end point are made up of the same coordinate data, and the permutations of coordinate data after the first point cannot be separated. In the case of a series of data that cannot be separated, the processed coordinate data is output in the order in which the coordinate data that can be separated is output first, and finally, the second and subsequent series of coordinate data are output. Claim 1 or Claim 5
The character generator described.
JP2019052A 1989-11-08 1990-01-31 Character generation device Pending JPH03225394A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019052A JPH03225394A (en) 1990-01-31 1990-01-31 Character generation device
KR1019900017939A KR940001106B1 (en) 1989-11-08 1990-11-07 Image processing method and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019052A JPH03225394A (en) 1990-01-31 1990-01-31 Character generation device

Publications (1)

Publication Number Publication Date
JPH03225394A true JPH03225394A (en) 1991-10-04

Family

ID=11988659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019052A Pending JPH03225394A (en) 1989-11-08 1990-01-31 Character generation device

Country Status (1)

Country Link
JP (1) JPH03225394A (en)

Similar Documents

Publication Publication Date Title
JPS61249175A (en) Graphic processor
JPH0378651B2 (en)
JP2634851B2 (en) Image processing device
JP3009525B2 (en) Vector image drawing equipment
US6504543B1 (en) Polygon drawing method and polygon drawing apparatus
JPH03225394A (en) Character generation device
JPH02296291A (en) Character dot pattern signal generating device
EP0464794A2 (en) Painting pattern generation system and pattern painting method using the system
JPH05232926A (en) Character code generating device
JP3807571B2 (en) Shape conversion method, recording medium on which program for executing the method is recorded, and shape conversion device
JPH02280195A (en) Character generator
KR940001106B1 (en) Image processing method and apparatus therefor
JP2985275B2 (en) Character generation method of outline font
JPS5892072A (en) Printer
JPH0511733A (en) Character generating device
JP2884862B2 (en) Data processing device
JPH02226491A (en) Data converting method
JP2935189B2 (en) Outline font processor
JP2833921B2 (en) Vector font transformation processing method
JP2881924B2 (en) Data storage device
JP3365068B2 (en) Image processing device
JP3055306B2 (en) Data output device
JP2835056B2 (en) High quality character pattern generation method
JPH04241391A (en) Character generator
JPH0481894A (en) Outline data processor