JPH06332431A - Character generator - Google Patents

Character generator

Info

Publication number
JPH06332431A
JPH06332431A JP5118591A JP11859193A JPH06332431A JP H06332431 A JPH06332431 A JP H06332431A JP 5118591 A JP5118591 A JP 5118591A JP 11859193 A JP11859193 A JP 11859193A JP H06332431 A JPH06332431 A JP H06332431A
Authority
JP
Japan
Prior art keywords
coordinate
correction
character
line
data
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
JP5118591A
Other languages
Japanese (ja)
Inventor
Kazuko Hasegawa
和子 長谷川
Kazuhisa Nishimoto
和久 西本
Shinji Wakizaka
新路 脇坂
Hiroaki Shirane
弘晃 白根
Hiroshi Wada
弘士 和田
Hiroko Sato
裕子 佐藤
Yoshifumi Takahashi
芳文 高橋
Shigeo Hayashi
繁夫 林
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 Image Information Systems Inc
Hitachi Ltd
Hitachi Advanced Digital Inc
Original Assignee
Hitachi Image Information Systems Inc
Hitachi Ltd
Hitachi Video and Information System Inc
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 Image Information Systems Inc, Hitachi Ltd, Hitachi Video and Information System Inc filed Critical Hitachi Image Information Systems Inc
Priority to JP5118591A priority Critical patent/JPH06332431A/en
Publication of JPH06332431A publication Critical patent/JPH06332431A/en
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To provide a character generator capable of improving the quality of a character by arranging the horizontal and vertical lines of the character at the optimum line width corresponding to generated character and character size. CONSTITUTION:The coordinate value of a contour point representing the contour of the character, correction information including the correction line width(line width in fundamental size of character) of the line of the character provided with the coordinate value, and the kind of coordinate transformation are received. When it is instructed of correction by the correction information, the coordinate value of a reference line is estimated (processing 901, 902, 904), and the change of line width by the coordinate transformation is added on the correction line width (including fraction calculation) (processing 903, 905-907). The coordinate value after the coordinate transformation is calculated based on the estimated coordinate value of the reference line, the line width on which the change is added, and the kind of the coordinate transformation (processing 908-913).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、文字の輪郭線の形状を
示す座標データを、アフィン変換等の座標変換をした後
に、ラスター形式のデータに変換して、文字のデータを
発生する文字発生装置に係り、特に、文字の品質を向上
することに好適な文字発生方式及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character generator which generates character data by converting coordinate data indicating the shape of a character contour line into raster format data after coordinate conversion such as affine transformation. The present invention relates to a device, and more particularly, to a character generation method and device suitable for improving character quality.

【0002】[0002]

【従来の技術】従来、高品質な文字を発生するために
は、文字の輪郭情報を多角形の頂点を座標点で表現した
フォントデータをフォントROMに格納し、フォントデ
ータをこのフォントROMから取り出して必要とする文
字サイズにアフィン変換等の座標変換を施し、レーザー
プリンタやディスプレイ等の出力装置に、ラスター形式
で出力していた。この方法では、文字の太さ、すなわち
線幅は、文字の縮小、拡大率に比例していたため、文字
を縮小した場合には、文字がつぶれて表示され、文字を
拡大した場合には、表示される文字が貧弱になり、みに
くい文字となっていた。
2. Description of the Related Art Conventionally, in order to generate a high quality character, font data in which contour information of a character is expressed by coordinate points of polygon vertices is stored in a font ROM, and the font data is extracted from this font ROM. Then, coordinate conversion such as affine transformation is applied to the required character size, and the result is output in raster format to an output device such as a laser printer or a display. In this method, the thickness of the character, that is, the line width, is proportional to the reduction and enlargement ratio of the character. Therefore, when the character is reduced, the character is displayed crushed, and when the character is enlarged, the display is The letters that were written became poor and were difficult to see.

【0003】このような問題に対処するため、例えば特
開平3−210598号公報のように、発生する文字サ
イズに応じて水平線及び垂直線の最適な線幅値を規定
し、これを線幅テーブルに記憶しておき、水平線又は、
垂直線にアフィン変換等の座標変換を施すときに、水平
線又は垂直線を構成する2本の線のうち、一方の線の座
標は座標値を座標変換し、もう一方の線の座標は上記一
方の線の座標変換後の座標値からの太さで指定し、その
太さは、発生する文字サイズに対応した上記線幅テーブ
ルの値を選択することで、文字サイズに対応した線幅を
実現していた。
In order to cope with such a problem, for example, as disclosed in Japanese Patent Laid-Open No. 3-210598, optimum line width values of horizontal lines and vertical lines are defined according to the generated character size, and the line width table is set. In the horizon or
When performing coordinate transformation such as affine transformation on a vertical line, the coordinate of one of the two lines forming the horizontal line or the vertical line is the coordinate value, and the coordinate of the other line is the above-mentioned one. The line width corresponding to the character size is realized by specifying the thickness from the coordinate value of the line after the coordinate conversion and selecting the value of the above line width table corresponding to the generated character size. Was.

【0004】[0004]

【発明が解決しようとする課題】上記従来技術によれ
ば、文字サイズによって線幅が一意に決まってしまうの
で、単一文字内の水平線及び垂直線に、複数の異なる線
幅が存在する文字の補正を行なうことができないという
問題があった。
According to the above-mentioned prior art, since the line width is uniquely determined by the character size, the correction of characters in which a plurality of different line widths exist in the horizontal line and the vertical line in a single character. There was a problem that I could not do.

【0005】また、発生するすべての文字サイズの線幅
をテーブルに記憶する必要があり、さらに、書体毎に水
平線及び垂直線の線幅を異ならせたい場合には書体毎に
異なる線幅をテーブルに記憶する必要がある。このため
に、多くの線幅テーブルを必要とし、テーブルの記憶容
量を多く必要とすると言った問題点があった。
Further, it is necessary to store the line widths of all the generated character sizes in a table. Further, when it is desired to make the horizontal line width and the vertical line width different for each typeface, the different linewidths for each typeface are stored in the table. Need to remember. For this reason, there is a problem that a large number of line width tables are required and a large storage capacity of the tables is required.

【0006】さらに、回転や斜変形を行った文字の補正
を行なうことができないという問題があった。
Further, there is a problem that it is impossible to correct a character that has been rotated or skewed.

【0007】本発明は、上記問題点を考慮して、単一文
字内の水平線及び垂直線に、複数の異なる線幅が存在す
る文字の線幅の補正を行ない、文字の品質を向上するこ
とができる文字発生装置を提供することを目的とする。
In view of the above problems, the present invention can improve the character quality by correcting the line width of a character having a plurality of different line widths on a horizontal line and a vertical line in a single character. It is an object of the present invention to provide a character generation device that can perform.

【0008】また、テーブルの記憶容量を多く必要とせ
ずに、文字の品質を向上することができる文字発生装置
を提供することを目的とする。
Another object of the present invention is to provide a character generator capable of improving character quality without requiring a large storage capacity of a table.

【0009】さらに、90度単位の回転や、斜変形によ
って、1軸方向のせん断を行っても、発生する文字中の
全ての水平線及び全ての垂直線をそれぞれ最適な線幅に
整えることにより、文字の品質を向上することができる
文字発生装置を提供することを目的とする。
Further, even if shearing in the direction of one axis is performed by rotating in 90-degree units or obliquely deforming, by adjusting all horizontal lines and all vertical lines in the generated character to the optimum line widths, An object of the present invention is to provide a character generator capable of improving character quality.

【0010】[0010]

【課題を解決するための手段】上記課題を解決するため
に、本発明によれば、太さを有する文字構成線からなる
文字の、予め定められた文字サイズにおける輪郭点の座
標データを受けて、該座標データに対して、指定された
座標変換を行なう座標変換手段と、該座標変換手段によ
り変換された座標データを受けてラスター形式で表され
た文字データに変換するラスター変換手段とを備える文
字発生装置において、前記座標データの少なくとも一部
は、前記座標変換に際しての該座標データの補正に関す
る補正情報を格納する手段を備えることができる。
According to the present invention, in order to solve the above-mentioned problems, coordinate data of a contour point of a character composed of a character forming line having a thickness in a predetermined character size is received. A coordinate conversion means for performing designated coordinate conversion on the coordinate data, and a raster conversion means for receiving the coordinate data converted by the coordinate conversion means and converting the coordinate data into character data represented in a raster format. In the character generation device, at least a part of the coordinate data may include a unit for storing correction information regarding correction of the coordinate data at the time of the coordinate conversion.

【0011】該補正情報は、該補正情報が付与された座
標データに対して行なうべき補正の方向、および、当該
座標データを含む文字構成線の前記予め定められた文字
サイズにおける太さ情報を含むことができる。また、前
記補正情報は、水平な前記文字構成線の上側または下側
のうちの一方の線分の輪郭点、または垂直な前記文字構
成線の右側または左側のうちの一方の線分上の輪郭点の
みに付与されることができる。
The correction information includes the direction of correction to be performed on the coordinate data to which the correction information is added, and the thickness information of the character forming line including the coordinate data in the predetermined character size. be able to. In addition, the correction information is a contour point on one of the upper and lower sides of the horizontal character component line, or a contour on one of the right and left line segments of the vertical character component line. Can only be given to points.

【0012】また、前記座標変換手段は、前記座標変換
に際し、前記補正情報が付与された座標データに対し
て、当該座標データと太さ情報とに基づいて、前記文字
構成線の上側または下側のうちの他方、右側または左側
のうちの他方の線分の座標値を求めて基準座標値とし、
該求められた基準座標値に、前記指定された座標変換を
行なうとともに、該座標変換を前記太さ情報に反映さ
せ、前記座標変換された基準座標値、前記反映後の太さ
情報、および前記指定された座標変換の種類に基づい
て、前記輪郭点の座標変換後の座標値を算出する算出手
段を備えることができる。
Further, the coordinate conversion means, in the coordinate conversion, with respect to the coordinate data to which the correction information is added, based on the coordinate data and the thickness information, above or below the character forming line. Of the other, the right side or the left side of the other line segment is obtained as the reference coordinate value,
The specified coordinate conversion is performed on the obtained reference coordinate values, and the coordinate conversion is reflected in the thickness information. The coordinate converted reference coordinate values, the reflected thickness information, and It is possible to provide a calculating means for calculating coordinate values of the contour points after coordinate conversion based on the designated type of coordinate conversion.

【0013】さらに、文字の基本サイズにおける線幅を
記憶する線幅補正レジスタを複数設け、フォントROM
から入力する座標データのうち、線幅補正対象線分(水
平線及び垂直線)の座標データの補正情報に、どの線幅
補正レジスタに記憶した線幅データを用いて線幅を補正
するかを示す値である補正番号データを付加することも
できる。
Further, a plurality of line width correction registers for storing the line width in the basic size of the character are provided, and the font ROM
Of the coordinate data input from, the correction information of the line width correction target line segment (horizontal line and vertical line) indicates which line width correction register is used to correct the line width. Correction number data, which is a value, can also be added.

【0014】さらに、前記算出手段によりアフィン変換
後の線幅値の小数点以下のデータの端数処理を施す際に
用いる線幅端数処理レジスタを設けることもできる。
Further, it is possible to provide a line width fraction processing register used when the calculation means performs a fraction processing of the data after the decimal point of the line width value after the affine transformation.

【0015】また、アフィン変換等の座標変換によって
生じた90度単位の回転、鏡転及び、斜変形(せん断)
といった文字の変形情報を記憶する線幅補正モードレジ
スタを設け、前記算出手段は該レジスタから座標変換の
種類を取得するように構成することもできる。
Further, rotation, mirror rotation, and oblique deformation (shear) in units of 90 degrees caused by coordinate transformation such as affine transformation.
It is also possible to provide a line width correction mode register for storing character deformation information such as, and to calculate the coordinate conversion type from the register.

【0016】[0016]

【作用】座標変換手段は、座標変換に際し、補正情報が
付与された座標データに対して、当該座標データと太さ
情報とに基づいて、文字構成線の上側または下側のうち
の他方、右側または左側のうちの他方の線分の座標値を
求めて基準座標値とし、求められた基準座標値に、指定
された座標変換を行なうとともに、座標変換を太さ情報
に反映させ、座標変換された基準座標値、反映後の太さ
情報、および指定された座標変換の種類に基づいて、輪
郭点の座標変換後の座標値を算出する。
In the coordinate conversion, the coordinate conversion means, on the basis of the coordinate data and the thickness information, with respect to the coordinate data to which the correction information is added, the other of the upper side or the lower side of the character forming line, the right side. Alternatively, the coordinate value of the other line segment on the left side is obtained as the reference coordinate value, and the obtained reference coordinate value is subjected to the specified coordinate conversion, and the coordinate conversion is reflected in the thickness information to be coordinate converted. The coordinate value after the coordinate conversion of the contour point is calculated based on the reference coordinate value, the thickness information after reflection, and the designated type of coordinate conversion.

【0017】各線幅補正レジスタにはそれぞれ異なった
線幅データ値を格納することが好ましく、同じ線幅にし
たい水平線及び垂直線の座標データに付加した補正番号
データは、同じ線幅値を格納した線幅補正レジスタを選
択する値を入れるので、文字中の各水平線及び垂直線を
座標変換する際に、最も適した線幅値になるよう線幅を
補正する。
It is preferable to store different line width data values in the respective line width correction registers, and the correction number data added to the coordinate data of the horizontal line and the vertical line which are desired to have the same line width store the same line width value. Since the value for selecting the line width correction register is entered, the line width is corrected so that the most suitable line width value is obtained when the coordinates of each horizontal line and vertical line in the character are converted.

【0018】また、発生する文字の線幅を求める演算
に、線幅補正レジスタと線幅端数処理レジスタを用いる
ことで、文字の基本サイズと発生する文字のサイズとの
比と、基本サイズにおける線幅値と発生する文字サイズ
における最も適した線幅値の比が異なる場合でも、発生
する文字の線幅の小数点以下の端数処理方法を選択する
ことができるので、発生する各文字サイズで最適な線幅
値の文字を得る。
Further, by using the line width correction register and the line width fraction processing register in the calculation for obtaining the line width of the generated character, the ratio between the basic size of the character and the size of the generated character, and the line in the basic size. Even if the ratio of the width value to the most suitable line width value for the generated character size is different, you can select the fraction processing method after the decimal point of the generated line width of the character, so it is optimal for each generated character size. Gets the line width value character.

【0019】また、線幅補正モードレジスタ値によっ
て、線幅の算出で行う座標変換方法を切り換えるので、
発生する文字の変形状態に対応した線幅補正処理を実現
する。
Further, the coordinate conversion method for calculating the line width is switched depending on the line width correction mode register value.
A line width correction process corresponding to a deformed state of a generated character is realized.

【0020】補正対象線分の始点座標と終点座標のう
ち、始点座標のみ補正し、終点座標は始点座標で補正し
た座標値を継承する処理を行うので、文字発生に要する
時間を低減する。
Of the start point coordinates and end point coordinates of the line segment to be corrected, only the start point coordinates are corrected, and the end point coordinates are processed by inheriting the coordinate values corrected by the start point coordinates, thus reducing the time required for character generation.

【0021】[0021]

【実施例】以下、本発明の実施例を図面を用いて説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

【0022】まず、図1を用いて、本発明を実施するた
めに用いる情報処理装置の一実施例について説明する。
First, an embodiment of an information processing apparatus used to carry out the present invention will be described with reference to FIG.

【0023】この情報処理装置は、図示するように、文
字の輪郭情報を多角形の頂点の座標点(座標データ)で
表現したフォントデータを格納するためのフォントRO
M(リードオンリメモリ)101、文字発生装置10
2、キーボード装置等の入力装置103、システムを動
作させるためのプログラムなどを記憶するRAM(ラン
ダムアクセスメモリ)104、中央処理装置(以下、C
PUと称す)105、ディスプレイ装置やプリンタ装置
等の出力装置107、文字発生装置102で発生したラ
スター形式の文字データを記憶するページメモリ106
で構成する。
As shown in the figure, this information processing apparatus has a font RO for storing font data in which contour information of a character is represented by coordinate points (coordinate data) of the vertices of a polygon.
M (read only memory) 101, character generator 10
2, an input device 103 such as a keyboard device, a RAM (random access memory) 104 for storing programs for operating the system, a central processing unit (hereinafter, C)
A PU) 105, an output device 107 such as a display device or a printer device, and a page memory 106 for storing character data in raster format generated by the character generation device 102.
It consists of.

【0024】CPU105はRAM104及び、入力装
置103からの情報に応じて、発生させたい文字のサイ
ズや線幅を補正するために必要な各種パラメータ(後に
詳述する)を、本発明で特徴的な文字発生装置102内
の各種レジスタに設定した後、フォントROM101か
らフォントデータを読みだし、文字発生装置102に出
力する。本発明で特徴的な文字発生装置102は、入力
したフォントデータの座標データを、設定されたレジス
タ値に応じラスター形式の文字データに変換する。文字
発生装置102で作成されたラスター形式の文字データ
は、CPU105によって読みだされ、一時的にページ
メモリ106に記憶される。ページメモリ106に記憶
された文字データは、CPU105によって出力装置1
07に供給され、文字などの印刷や表示がなされる。
The CPU 105 is characterized by various parameters (detailed later) necessary for correcting the size and line width of a character to be generated according to the information from the RAM 104 and the input device 103. After setting the various registers in the character generator 102, the font data is read from the font ROM 101 and output to the character generator 102. The character generation device 102, which is a feature of the present invention, converts the coordinate data of the input font data into raster format character data according to the set register value. The raster-format character data created by the character generator 102 is read by the CPU 105 and temporarily stored in the page memory 106. The character data stored in the page memory 106 is output to the output device 1 by the CPU 105.
It is supplied to 07, and characters and the like are printed and displayed.

【0025】次に、前記文字発生装置102がフォント
ROM101から入力するフォントデータについて図面
を用いて説明する。図2は、図1に示す文字のフォント
ROM101に格納されるフォントデータのデータ構成
例であり、図3、図4は図2に示す座標データの構成例
であり、図6は文字例及び、後述する補正番号の付加位
置例を示す説明図である。
Next, the font data input from the font ROM 101 by the character generator 102 will be described with reference to the drawings. 2 is a data configuration example of the font data stored in the font ROM 101 of the characters shown in FIG. 1, FIGS. 3 and 4 are configuration examples of the coordinate data shown in FIG. 2, and FIG. It is explanatory drawing which shows the addition position of the correction number mentioned later.

【0026】また、以下の実施例では、座標系として左
下原点座標系を用いて説明しており、特に規定していな
い場合は、16ビット長のデータで、最上位ビットを符
号ビットとし、下位4ビットが小数部の固定小数点のデ
ータである。
In the following embodiments, the coordinate system of the lower left origin is used as the coordinate system. Unless otherwise specified, 16-bit data is used, the most significant bit is the sign bit, and the lower bit is the lower bit. 4 bits are fixed point data with a decimal part.

【0027】図2に示したように、フォントROM10
1から入力されるフォントデータは、大きく分けてフラ
グデータ(201,206)と座標データ(202,2
03,204,205)とから構成される。フラグデー
タは、本実施例においては1ワードで、フラグデータの
種類としては、1文字のデータの先頭または一閉ループ
の先頭座標の直前に存在するループ開始フラグ201
や、1文字のデータの終了を示す終了フラグ206の他
に、図2中には記載していないが、文字の輪郭中、曲線
上の座標値を入力することを示す曲線フラグ、直線上の
座標値を入力することを示す直線フラグがあり、これら
フラグデータには負の数が好適に用いられる。
As shown in FIG. 2, the font ROM 10
Font data input from 1 is roughly divided into flag data (201, 206) and coordinate data (202, 2).
03, 204, 205). The flag data is one word in this embodiment, and the type of the flag data is the loop start flag 201 existing immediately before the head of one character data or the head coordinate of one closed loop.
In addition to the end flag 206 indicating the end of the data of one character, although not shown in FIG. 2, a curve flag indicating that the coordinate value on the curve is input in the outline of the character, a straight line There is a straight line flag that indicates inputting coordinate values, and negative numbers are preferably used for these flag data.

【0028】基本的に座標データは、図3に示したよう
にX座標及びY座標の座標値、そして線幅を補正する際
に用いる補正番号データ(このデータにより、補正を行
なうか否か、補正を行なう場合にはX座標の補正かY座
標の補正か、補正する場合には線幅はいくつかを知るこ
とができる)の3ワードで構成し、図6に示すように、
文字輪郭を表す外側のループの座標点(座標点P0〜座
標点P7)は反時計周り、内側のループの座標点(座標
点P10〜座標点P17)は時計周りに順次格納され
る。上記補正番号データは、垂直線の右側および、水平
線の上側のみに付加されている。図6中では、座標点P
0〜座標点P17のうち、○で囲った座標点に垂直線の
線幅を補正することを示す補正番号データが付加されて
おり、文字発生装置はこの座標点のX座標値を補正す
る。また、△で囲った座標点に水平線の線幅を補正する
ことを示す補正番号データが付加されており、文字発生
装置はこの座標点のY座標値を補正する。
Basically, the coordinate data is, as shown in FIG. 3, the coordinate values of the X coordinate and the Y coordinate, and the correction number data used for correcting the line width (whether or not the correction is performed depending on this data, When the correction is performed, the X coordinate or the Y coordinate is corrected. When the correction is performed, the line width can be known.
The outer loop coordinate points (coordinate points P0 to P7) representing the character contour are stored counterclockwise, and the inner loop coordinate points (coordinate points P10 to P17) are sequentially stored clockwise. The correction number data is added only to the right side of the vertical line and the upper side of the horizontal line. In FIG. 6, the coordinate point P
Of the 0 to coordinate points P17, correction number data indicating that the line width of the vertical line is to be corrected is added to the coordinate points surrounded by circles, and the character generator corrects the X coordinate value of this coordinate point. Further, correction number data indicating that the line width of the horizontal line is corrected is added to the coordinate point surrounded by Δ, and the character generator corrects the Y coordinate value of this coordinate point.

【0029】例えば、線幅の補正対象である水平線を構
成する2本の線分である、座標点P13,P14を結ぶ
線分とP4,P5を結ぶ線分において、座標点P13,
P14を結ぶ線分に対しては補正処理を実施せず(この
ような線分を平行線の基準線という)、座標点P4,P
5を結ぶ線分のY座標を補正することで線幅を補正す
る。
For example, in the line segment connecting the coordinate points P13 and P14 and the line segment connecting P4 and P5, which are two line segments forming a horizontal line whose line width is to be corrected, the coordinate point P13,
The correction process is not performed on the line segment connecting P14 (such a line segment is referred to as a parallel reference line), and the coordinate points P4, P
The line width is corrected by correcting the Y coordinate of the line segment connecting the five.

【0030】さらに、座標点P4,P5を結ぶ線分のう
ち、座標データに水平線の補正番号データが付加されて
いるのは座標点P4のみであり、座標点P4にはY座標
の座標値の補正処理を実施するが、座標点P5にはY座
標の座標値の補正処理を実施しない。座標点P5のY座
標の座標値としては、座標点P4に実施した補正処理の
結果のY座標の座標値を与える(これを継承という)。
以後、このフォントデータ内の直前にある座標点に対し
て実施した補正処理の結果の座標値を継承する処理を、
前点の継承処理と称する。文字発生装置が1つの座標点
に対して実施する処理に着目すると、座標点P6の座標
データには水平線の補正番号データが付加されているの
でY座標の座標値を補正し、X座標の座標値は座標点P
5と同じ座標点なので座標点P5で補正したX座標の座
標値を継承すればよい。
Further, among the line segments connecting the coordinate points P4 and P5, only the coordinate point P4 has the horizontal line correction number data added to the coordinate data, and the coordinate point P4 has the Y coordinate value. The correction process is performed, but the coordinate value of the Y coordinate is not corrected for the coordinate point P5. As the coordinate value of the Y coordinate of the coordinate point P5, the coordinate value of the Y coordinate of the result of the correction processing performed on the coordinate point P4 is given (this is called inheritance).
After that, the process of inheriting the coordinate value of the result of the correction process performed for the coordinate point immediately before in this font data is
This is called the inheritance process of the previous point. Focusing on the processing performed by the character generation device for one coordinate point, since the correction data of the horizontal line is added to the coordinate data of the coordinate point P6, the coordinate value of the Y coordinate is corrected and the coordinate value of the X coordinate is corrected. Value is coordinate point P
Since it is the same coordinate point as 5, the coordinate value of the X coordinate corrected at the coordinate point P5 may be inherited.

【0031】このように、座標データの構成を、文字輪
郭を表す外側のループの座標点は反時計周り、内側のル
ープの座標点は時計周りに、文字発生装置に順次入力さ
れるような構成とし、上記補正番号データを文字の垂直
線の右側および、水平線の上側にのみに付加すれば、補
正対象線分の始点座標と終点座標のうち、始点座標の座
標値のみを補正し、終点座標の座標値は始点座標で補正
した座標値を継承すれば良いことになる。これは、前点
で補正処理を行なったか否かをフラグで記憶しておき、
現点の処理を行なう場合にこのフラグを参照して、前点
で補正処理を行なった場合には前点の継承処理を行なう
ようにすればよい。このように構成すれば、図3のよう
に補正番号データが1ワードの場合(XまたはY座標の
うちの一方の補正のみ指定可能)においても、Xおよび
Y座標の補正を行なうことができる。
As described above, the coordinate data is configured so that the coordinate points of the outer loop representing the character contour are sequentially input counterclockwise and the coordinate points of the inner loop are clockwise and sequentially input to the character generator. If the above correction number data is added only to the right side of the vertical line of the character and above the horizontal line, only the coordinate value of the start point coordinate of the start point coordinate and end point coordinate of the line to be corrected is corrected, and the end point coordinate is corrected. As for the coordinate value of, the coordinate value corrected by the start point coordinate may be inherited. This is done by storing in a flag whether or not the correction process was performed at the previous point,
This flag may be referred to when the processing of the current point is performed, and the inheritance processing of the previous point may be performed when the correction processing is performed at the previous point. According to this structure, even when the correction number data is one word as shown in FIG. 3 (only one of the X and Y coordinates can be specified), the X and Y coordinates can be corrected.

【0032】なお、座標データの構成を、文字輪郭を表
す外側のループの座標点は時計周り、内側のループの座
標点は反時計周りに、文字発生装置に順次入力されるよ
うな構成とし、上記補正番号データを文字の垂直線の左
側および、水平線の下側にのみに付加しても同様に行な
うことができる。
The coordinate data is configured so that the coordinate points of the outer loop representing the character contour are sequentially input to the character generator in the clockwise direction, and the coordinate points of the inner loop are counterclockwise. The same correction can be performed by adding the correction number data only to the left side of the vertical line of the character and below the horizontal line.

【0033】また、図4はループの開始座標が補正対象
線分の終点座標の場合の座標データ構成例であり、図3
に示した座標データ構成例に前点の座標データの補正番
号データを付加した4ワード構成にしている。例えば図
6中、座標点P6をループの開始座標とした場合、座標
点P6の座標データには、座標点P17の座標データの
補正番号データをも付加する。そして、このように補正
番号が二つ存在する場合は、X座標とY座標の両方の座
標値を補正するようにする(始点であるので継承はおこ
なえない)。
FIG. 4 shows an example of the coordinate data structure when the start coordinates of the loop are the end coordinates of the line segment to be corrected.
In addition to the coordinate data configuration example shown in (1), the correction number data of the coordinate data of the previous point is added to form a 4-word configuration. For example, in FIG. 6, when the coordinate point P6 is the start coordinate of the loop, the correction number data of the coordinate data of the coordinate point P17 is also added to the coordinate data of the coordinate point P6. When there are two correction numbers in this way, the coordinate values of both the X coordinate and the Y coordinate are corrected (because it is the start point, inheritance cannot be performed).

【0034】また、本実施例において補正番号データ
は、図3に示したように線幅を補正する座標値の直前に
付加しており、下位4ビットのみを用い上位12ビット
には“0”が入る。さらに図4に示したように補正番号
データが二つ存在する場合、1つめの補正番号データを
前点の補正番号データとし、下位から5ビット目を
“1”にすることで補正番号データが一つ存在する場合
と補正番号データが二つ存在する場合とを判定する。
In this embodiment, the correction number data is added immediately before the coordinate value for correcting the line width as shown in FIG. 3, and only the lower 4 bits are used and the upper 12 bits are "0". Goes in. Further, when there are two correction number data as shown in FIG. 4, the first correction number data is used as the correction number data of the previous point, and the correction number data is set by setting the fifth bit from the lower order to “1”. It is determined whether there is one and two correction number data.

【0035】以下、本発明で特徴的な文字発生装置の処
理を詳細に説明する。
The processing of the character generator characteristic of the present invention will be described in detail below.

【0036】図5は、前記文字発生装置102で行う処
理の概略フローチャートの一例であり、以下、図1,図
2,図3および図5を用いて文字発生装置102の動作
の概要を説明する。
FIG. 5 is an example of a schematic flow chart of the processing performed by the character generating device 102. An outline of the operation of the character generating device 102 will be described below with reference to FIGS. 1, 2, 3 and 5. .

【0037】まず、フォントデータをフォントROM1
01から1ワード読みだし、(処理501)読みだした
データに応じて、以下(1)〜(3)の分岐処理を行う
(分岐処理502、503)。
First, the font data is stored in the font ROM 1
One word is read from 01 (process 501), and the following branch processes (1) to (3) are performed according to the read data (branch processes 502 and 503).

【0038】(1)読みだしたデータが前記ループ開始
フラグ201であれば処理501に戻り、再度フォント
ROMから1ワード読みだす。
(1) If the read data is the loop start flag 201, the process returns to step 501, and one word is read again from the font ROM.

【0039】(2)読みだしたデータが前記終了フラグ
206であれば処理508に移る。
(2) If the read data is the end flag 206, the process proceeds to step 508.

【0040】(3)読みだしたデータが前記ループ開始
フラグ201でも前記終了フラグ206でもなければ、
以下の処理を行う。
(3) If the read data is neither the loop start flag 201 nor the end flag 206,
The following processing is performed.

【0041】(a)1座標分の座標データ(図3におい
ては3ワード、図4においては4ワード)をフォントR
OMから読みだす(処理504)。
(A) The coordinate data for one coordinate (3 words in FIG. 3, 4 words in FIG. 4) is used as the font R.
Read from OM (process 504).

【0042】(b)読みだした座標データに対し、拡
大、縮小、斜変形(せん断)、鏡転、本発明で特徴的な
線幅補正といった座標変換を行う(処理505)。
(B) The read coordinate data is subjected to coordinate conversion such as enlargement, reduction, oblique deformation (shear), mirror rotation, and line width correction characteristic of the present invention (process 505).

【0043】(c)座標間を曲線に見える程度の短い直
線に分割するための座標値を発生する曲線補間処理、例
えば、三次べジェ曲線補間を行う(但し、入力した座標
データが曲線上の座標値の時(前記、曲線フラグ入力
時)にのみ実施する。)(処理506)。
(C) Curve interpolation processing for generating coordinate values for dividing the coordinates into short straight lines that look like curves, for example, cubic Bezier curve interpolation (however, input coordinate data is on a curve This is executed only when the coordinate value is reached (when the curve flag is input) (process 506).

【0044】(d)入力した座標データ間を線で結んだ
輪郭イメージのラスター形式のデータに変換し、処理5
01に戻る。(処理507) 前記終了フラグ206を入力時に行う処理508は、上
記ライン発生処理507で生成した線で囲まれる領域を
塗り潰す処理である。本実施例では上記一連の処理を実
施することで、入力した座標データをラスター形式の文
字データに変換することが出来る。
(D) Convert the input coordinate data into raster format data of a contour image in which lines are connected, and process 5
Return to 01. (Process 507) The process 508 performed when the end flag 206 is input is a process of filling the area surrounded by the line generated in the line generation process 507. In the present embodiment, by performing the series of processes described above, the input coordinate data can be converted into raster-type character data.

【0045】次に本発明で特徴的な座標変換処理505
で必要とする各種パラメータを保持するレジスタの一覧
表を図17に示し、内容を説明すると共に、座標変換処
理505で行う拡大、縮小、斜変形(せん断)、鏡転、
本発明で特徴的な線幅補正といった座標変換処理の概要
を説明する。
Next, the coordinate conversion processing 505 which is characteristic of the present invention.
FIG. 17 shows a list of registers that hold various parameters required for the above, and the contents will be described, and the enlargement, reduction, oblique deformation (shear), mirror rotation, and the like performed in the coordinate conversion processing 505 will be performed.
An outline of coordinate conversion processing such as line width correction characteristic of the present invention will be described.

【0046】アフィンレジスタA(以後、AMAと称
す)、アフィンレジスタB(以後、AMBと称す)、ア
フィンレジスタC(以後、AMCと称す)、アフィンレ
ジスタD(以後、AMDと称す)、アフィンシフトレジ
スタX(以後、ACSXと称す)、アフィンシフトレジ
スタY(以後、ACSYと称す)は、入力した座標デー
タに対しアフィン変換処理を行う際に用いるパラメータ
を保持するレジスタである。アフィン変換処理とは、拡
大、縮小、回転、斜変形(せん断)、鏡転等の座標変換
を行う処理であり、座標データ(XI,YI)の座標変
換後の座標データを(XO,YO)とすると、式(1
1)および式(12)で表すことができる。
Affine register A (hereinafter referred to as AMA), affine register B (hereinafter referred to as AMB), affine register C (hereinafter referred to as AMC), affine register D (hereinafter referred to as AMD), affine shift register An X (hereinafter referred to as ACSX) and an affine shift register Y (hereinafter referred to as ACSY) are registers that hold parameters used when performing affine transformation processing on input coordinate data. The affine transformation process is a process for performing coordinate transformation such as enlargement, reduction, rotation, oblique deformation (shear), and mirror rotation, and the coordinate data after the coordinate transformation of the coordinate data (XI, YI) is (XO, YO). Then, the formula (1
1) and the formula (12).

【0047】 XO=AMA×XI+AMB×YI+ACSX …(11) YO=AMC×XI+AMD×YI+ACSY …(12) これらのパラメータのうち、AMA、AMB、AMC、
AMDは、行なうべき変換に合わせて式(13)、式
(14)、式(15)、式(16)で計算でき、ACS
X、ACSYは回転、斜変形等により、負領域にはみ出
た領域を正で表せる領域に並行移動するための値をいれ
る。なお、本実施例では、AMA、AMB、AMC、A
MDは最上位ビットが符号ビットで下位10ビットが小
数部のデータである。したがって、式(11)中のAM
A×XI等、AMA、AMB、AMC、AMDを用いた
乗算結果は、10ビット右にシフトする必要がある。そ
してこれらのパラメータは前記LWR6等と同様に、文
字発生装置102がフォントROM101からフォント
データを読みだす前に、CPU105によりあらかじめ
設定される。
XO = AMA × XI + AMB × YI + ACSX (11) YO = AMC × XI + AMD × YI + ACSY (12) Among these parameters, AMA, AMB, AMC,
AMD can be calculated by equation (13), equation (14), equation (15), and equation (16) according to the conversion to be performed.
Values for X and ACSY are set for parallel movement of a region protruding from the negative region to a region that can be expressed by a positive value due to rotation, oblique deformation, or the like. In this embodiment, AMA, AMB, AMC, A
In the MD, the most significant bit is a sign bit and the lower 10 bits are data of a decimal part. Therefore, AM in equation (11)
The multiplication result using AMA, AMB, AMC, AMD such as A × XI needs to be shifted to the right by 10 bits. Then, these parameters are set in advance by the CPU 105 before the character generator 102 reads the font data from the font ROM 101, similarly to the LWR 6 and the like.

【0048】 AMA=a(cosθ-sinθtanψ) …(13) AMB=d(cosθtanφ-sinθtanφtanψ-sinθ) …(14) AMC=a(sinθ+tanψcosθ) …(15) AMD=d(sinθtanφ+cosθtanφtanψcosθ) …(16) a:X方向の拡大率 d:Y方向の拡大率 θ:回転角(時計周りがプラス) φ:斜体角度1(Y軸に対する斜体で反時計周りがプラ
ス) ψ:斜体角度2(X軸に対する斜体で時計周りがプラ
ス) 線幅補正モードレジスタ(以後、WMRと称す)は、線
幅を補正する方向等を決定するため必要な、上記アフィ
ン変換によって行った文字の変形情報のパラメータを保
持するためのレジスタであり、回転によって生じた90
度単位の回転及び鏡転の有無、斜変形によって生じたせ
ん断の有無等を設定される。90度単位以外の回転は、
せん断有と設定する。WMRの構成(ビット割り付け)
例を、図15に示す。このWMRの値はアフィンレジス
タの値から導きだすこともできる。例えば、AMBとA
MCに“0”、AMAとAMDに正の数を設定していれ
ば、アフィン変換後の文字は、拡大縮小のみを行ってお
り、回転、せん断を行っていないことがわかるし、AM
AとAMDに“0”、AMBに負の数、AMCに正の数
を設定されていれば、アフィン変換後の文字は、拡大縮
小及び、90度回転のみを行っており、せん断を行って
いないことがわかる。
AMA = a (cosθ-sinθtanψ) (13) AMB = d (cosθtanφ-sinθtanφtanψ-sinθ) (14) AMC = a (sinθ + tanψcosθ) (15) AMD = d (sinθtanφ + cosθtanφtanψcosθ) (16) a: Expansion ratio in X direction d: Expansion ratio in Y direction θ: Rotation angle (clockwise is positive) φ: Italic angle 1 (Italic with respect to the Y axis, counterclockwise is positive) ψ: Italic angle 2 ( The italic type with respect to the X-axis and the clockwise direction are positive.) The line width correction mode register (hereinafter, referred to as WMR) is a parameter of the character deformation information obtained by the affine transformation, which is necessary for determining the direction for correcting the line width. Is a register for holding the
It is set whether or not rotation and mirror rotation in units of degrees and the presence or absence of shear caused by oblique deformation. Rotations other than 90 degree units
Set with shear. WMR configuration (bit allocation)
An example is shown in FIG. The WMR value can also be derived from the affine register value. For example, AMB and A
If "0" is set for MC and a positive number is set for AMA and AMD, it can be seen that the characters after affine transformation are only scaled and not rotated or sheared.
If "0" is set for A and AMD, a negative number is set for AMB, and a positive number is set for AMC, the characters after affine transformation are only scaled and rotated by 90 degrees, and are sheared. I know there isn't.

【0049】線幅端数処理レジスタ(以後、WCRと称
す)は、線幅を算出する際の端数処理に関するパラメー
タを保持するレジスタであり、算出された線幅にこのレ
ジスタに格納されたパラメータの値を加え、小数部(下
位4ビット)をゼロにすることにより、端数処理を行
う。例えば、WCRに“0”を設定すると、小数部の切
り捨て処理を行い、“8”を設定すると、小数部を0.
4捨0.5入処理を行い、“4”を設定すると、小数部
を0.74捨0.75入処理を行う(16進法による加
算であることに注意されたい)。
The line width fraction processing register (hereinafter, referred to as WCR) is a register for holding a parameter related to the fraction processing when calculating the line width, and the value of the parameter stored in this register in the calculated line width. Is added, and the fractional part (lower 4 bits) is set to zero to perform fraction processing. For example, when WCR is set to "0", the fractional part is truncated, and when "8" is set, the fractional part is set to 0.
If the rounding to four rounds 0.5 is performed and "4" is set, the rounding to 0.74 rounds the fractional part is performed (note that it is addition in hexadecimal notation).

【0050】線幅補正レジスタ6(以後、LWR6と称
す)から線幅補正レジスタ15(以後、LWR15と称
す)は、基本サイズにおける線幅を保持するためのレジ
スタである。このWMR及びWCR、LWR6〜LWR
15に設定されるパラメータも前記AMA等と同様に、
文字発生装置102がフォントROM101からフォン
トデータを読みだす前に、CPU105によりあらかじ
め設定される。
The line width correction register 6 (hereinafter referred to as LWR6) to the line width correction register 15 (hereinafter referred to as LWR15) are registers for holding the line width in the basic size. This WMR and WCR, LWR6 ~ LWR
The parameters set in 15 are the same as in the AMA, etc.
It is set in advance by the CPU 105 before the character generator 102 reads the font data from the font ROM 101.

【0051】X座標入力レジスタ(以後、XIと称
す)、Y座標入力レジスタ、(以後、YIと称す)は前
記座標変換処理505で変換対象となる座標値を保持す
るためのレジスタであり、X座標出力レジスタ(以後、
XOと称す)、Y座標出力レジスタ、(以後、YOと称
す)は前記座標変換処理505で変換された結果の座標
値を保持するためのレジスタである。線幅補正結果退避
レジスタ(以後、TEMPと称す)は、前記、前点の継
承処理を行う際に、継承する補正結果を退避するための
レジスタである。すなわち、補正処理を行なう度に補正
結果をTEMPに退避しておく。
The X coordinate input register (hereinafter referred to as XI), the Y coordinate input register, and (hereinafter referred to as YI) are registers for holding the coordinate values to be converted in the coordinate conversion processing 505, and X Coordinate output register (hereafter
XO), a Y coordinate output register, and (hereinafter, referred to as YO) are registers for holding the coordinate values obtained as a result of the coordinate conversion processing 505. The line width correction result save register (hereinafter referred to as TEMP) is a register for saving the correction result to be inherited when the previous point inheritance process is performed. That is, each time the correction processing is performed, the correction result is saved in TEMP.

【0052】本実施例での線幅補正の適用範囲は、座標
変換が拡大、縮小、90度単位の回転、鏡転、一軸方向
のせん断の場合に及ぶ。このうち、90度単位の回転及
び、鏡転を行っていなければ、座標データ(XI,Y
I)の座標変換後の座標データを(XO,YO)、補正
番号データに対応したLWRの値をWとすると、XO,
YOを式(17)および式(18)で算出することが、
本発明による線幅補正方法で最も特徴的な点である。な
お、式(17)、式(18)は座標系として左上原点座
標系を用いた場合の計算式であり、例えば左下原点座標
系を用いた場合の計算式は、式(18)が式(18’)
となる。また、水平線または垂直線を構成する2本の線
の、基準線と補正対象線の関係を反対にした場合も、座
標系を換えた場合と同様に、計算式が変わる。
The applicable range of the line width correction in this embodiment extends to the case where the coordinate conversion is enlargement, reduction, rotation by 90 degrees, mirror rotation, and uniaxial shearing. Of these, the coordinate data (XI, Y
When the coordinate data after the coordinate conversion of I) is (XO, YO) and the value of LWR corresponding to the correction number data is W, XO,
YO can be calculated by the equation (17) and the equation (18),
This is the most characteristic point of the line width correction method according to the present invention. Equations (17) and (18) are equations when the upper left origin coordinate system is used as the coordinate system. For example, when the lower left origin coordinate system is used, equation (18) is 18 ')
Becomes Also, when the relationship between the reference line and the correction target line of the two lines forming the horizontal line or the vertical line is reversed, the calculation formula changes as in the case of changing the coordinate system.

【0053】 XO=(AMA×(XI−W))+(AMA×W−1) …(17) YO=(AMD×(YI+W))−(AMD×W−1) …(18) YO=(AMD×(YI−W))+(AMD×W−1) …(18’) ここで、式(17)について簡単に説明する。本発明に
おける線幅補正方式の考え方は、基本的に“補正対象線
を基準線に対して最適な線幅となるよう移動させる”と
いうことである。そこで式(17)では、まず、補正対
象線の座標値XIから基本サイズにおける線幅Wを減算
することで基準線の座標値を求め、これとアフィンパラ
メータAMAとの乗算でアフィン変換後の基準線の座標
値を求めている。この基準線の座標値に、アフィン変換
後の線幅を加算することにより、補正対象線のアフィン
変換後の座標値を求めることができる。アフィン変換後
の線幅は、基本的に基本サイズにおける線幅W(アフィ
ン変換前の線幅)と、アフィンパラメータAMAの乗算
で求めることができる。しかし、実際にプリンタ等に出
力すると線幅が1ドット太くなってしまうため、(AM
A×W−1)を線幅として加算している。
XO = (AMA × (XI−W)) + (AMA × W−1) (17) YO = (AMD × (YI + W)) − (AMD × W−1) (18) YO = ( AMD * (YI-W)) + (AMD * W-1) ... (18 ') Here, Formula (17) is demonstrated easily. The idea of the line width correction method in the present invention is basically "to move the line to be corrected so as to have an optimum line width with respect to the reference line". Therefore, in equation (17), first, the coordinate value of the reference line is obtained by subtracting the line width W in the basic size from the coordinate value XI of the correction target line, and the reference value after affine transformation is obtained by multiplying this by the affine parameter AMA. The coordinate value of the line is calculated. By adding the line width after the affine transformation to the coordinate value of this reference line, the coordinate value after the affine transformation of the correction target line can be obtained. The line width after affine transformation can be basically obtained by multiplying the line width W (line width before affine transformation) in the basic size by the affine parameter AMA. However, the line width becomes 1 dot thicker when it is actually output to a printer, so (AM
A × W-1) is added as the line width.

【0054】なお、線幅が1ドット太くなってしまう理
由は、図14に示して説明する。例えば、Y座標が
“2”の線分と“5”の線分とで構成される水平線は、
本来3ドットになるはずである。しかし、印刷すると図
示したように4ドットとなってしまい、本来の線幅より
も1ドット太くなってしまうのである。
The reason why the line width becomes thicker by one dot will be described with reference to FIG. For example, a horizontal line composed of a line segment whose Y coordinate is “2” and a line segment whose Y coordinate is “5” is
It should be 3 dots originally. However, when it is printed, it becomes 4 dots as shown in the figure, which is 1 dot thicker than the original line width.

【0055】また、出力する文字の線幅を示す第2項の
(AMA×W−1)、(AMD×W−1)の計算結果
は、上記WCRの値によって端数処理((AMA×W−
1)、(AMD×W−1)の値にWCRの値を加算)を
行なうと、より高品質な文字を発生することが出来る。
The calculation results of (AMA × W-1) and (AMD × W-1) of the second term indicating the line width of the character to be output are rounded according to the value of WCR ((AMA × W-
If 1) and (AMD × W-1) are added to the value of WCR), higher quality characters can be generated.

【0056】次に、図18に上記補正番号データ値と線
幅補正内容及び座標変換処理505における処理の対応
表の一例を示し、補正番号データの説明をする。図18
に示したように、補正番号データ値が“0”〜“5”の
時、その座標データは線幅の補正対象ではないことを意
味し、“6”〜“9”の時、その座標データは補正対象
線分の垂直線の始点データであることを意味し、“1
0”〜“15”の時、その座標データは補正対象線分の
水平線の始点データであることを意味している。そし
て、補正番号データ値に対応する線幅補正レジスタに格
納された値を基本サイズにおける線幅として、垂直線及
び水平線のアフィン変換後の線幅を補正する。例えば、
補正番号データの値が“6”の時は、LWR6の値を基
本サイズにおける垂直線の線幅Wとして、入力座標デー
タのうちのX座標の座標値の補正処理を実施する。同様
に、補正番号データ値が“10”の時は、LWR10の
値を基本サイズにおける水平線の線幅Wとして、入力座
標データのうちのY座標の座標値の補正処理を実施す
る。
Next, FIG. 18 shows an example of a correspondence table of the correction number data values, the line width correction contents and the processing in the coordinate conversion processing 505, and the correction number data will be described. FIG.
As shown in, when the correction number data value is "0" to "5", it means that the coordinate data is not a line width correction target, and when it is "6" to "9", the coordinate data is Means that it is the start point data of the vertical line of the line segment to be corrected, and "1
When it is from 0 "to" 15 ", it means that the coordinate data is the start point data of the horizontal line of the correction target line segment, and the value stored in the line width correction register corresponding to the correction number data value is As the line width in the basic size, the line width after affine transformation of vertical lines and horizontal lines is corrected.
When the value of the correction number data is "6", the value of LWR6 is set as the line width W of the vertical line in the basic size, and the correction process of the coordinate value of the X coordinate of the input coordinate data is performed. Similarly, when the correction number data value is "10", the value of LWR10 is set as the line width W of the horizontal line in the basic size, and the correction process of the coordinate value of the Y coordinate of the input coordinate data is performed.

【0057】このように、本発明では、垂直線の線幅を
保持するレジスタが4本(LWR6〜LWR9)あり、
水平線の線幅を保持するレジスタが6本(LWR10〜
LWR15)ある。このため、一文字中に複数の線幅が
存在(混在)する文字に対しても、高品質な文字を発生
することが出来る。また前記実施例では、垂直線の線幅
を保持するレジスタとして4本、水平線の線幅を保持す
るレジスタとして6本のレジスタを用意したが、これに
制限するものではなく、もっと多くても少なくても良
い。また、漢字は一般的に垂直線の数より水平線の数の
方が多い文字が多いため、水平線のほうが多くの線幅を
設定出来るようにしているが、垂直線の線幅のほうをを
多く設定出来るようにしても良いし、同数設定出来るよ
うにしても良い。
As described above, in the present invention, there are four registers (LWR6 to LWR9) for holding the line width of the vertical line,
There are six registers that hold the line width of the horizontal line (LWR10-10
LWR15) Yes. Therefore, it is possible to generate a high quality character even for a character having a plurality of line widths (mixed) in one character. Further, in the above-described embodiment, four registers are provided as the registers for holding the line width of the vertical lines and six registers are provided as the registers for holding the line width of the horizontal lines. May be. In addition, since many Kanji characters have more horizontal lines than vertical lines, it is possible to set more line widths for horizontal lines, but more line widths for vertical lines. The number may be set, or the same number may be set.

【0058】図19は、前記、座標変換処理505を実
施するために必要なフラグの一覧表である。補正番号数
フラグ(以後、FCと称す)は1ビットのフラグであ
り、前記処理504において、入力した座標データに補
正番号データが1つしか付加されていない時“0”をセ
ットされ、前記座標データに補正番号データが2つ付加
されている時、“1”をセットされる。
FIG. 19 is a list of flags necessary for carrying out the coordinate conversion processing 505. The correction number number flag (hereinafter referred to as FC) is a 1-bit flag. In the process 504, "0" is set when only one correction number data is added to the input coordinate data, When two correction number data are added to the data, "1" is set.

【0059】現点の補正フラグ(以後、WCFと称す)
及び前点の補正フラグ(以後、BCFと称す)は、各
々、前記前点の継承処理を行う際に用いる各2ビットの
フラグであり、入力された座標データにX座標の線幅の
補正処理を施した時“3”をセットされ、Y座標の線幅
の補正処理を施した時“2”をセットされ、補正処理を
施さなかった時、“0”または“1”をセットされる。
Current point correction flag (hereinafter referred to as WCF)
The correction flag of the previous point (hereinafter referred to as BCF) is a 2-bit flag used when the inheritance process of the previous point is performed, and the correction process of the line width of the X coordinate is performed on the input coordinate data. When the correction is performed, the value is set to "3", when the correction processing of the line width of the Y coordinate is performed, the value is set to "2", and when the correction processing is not performed, the value is set to "0" or "1".

【0060】ここで、前記WCRに設定される値を図2
0を用いて詳しく説明する。図20は、発生させる各文
字サイズにおける、最適な線幅を示した一例である。例
えば、1024ドットの文字が基準サイズとしてフォン
トROM格納されており、この文字の水平線の線幅が2
5ドット、垂直線の線幅が60ドットまたは50ドット
の2種類の線幅であったとすると、単純にこの文字にア
フィン変換を施して、56ドットの文字を発生(縮小)
させると、水平線の線幅は、1.37ドット(56×2
5÷1024)、垂直線の線幅は、60ドット時:3.
28ドット(56×60÷1024)、50ドット時:
2.73ドット(56×50÷1024)となるので、
小数点以下の端数処理を“四捨五入”や“切り捨て”処
理を行うと図20に示した、サイズが56ドットの場合
の最適な線幅(水平線2ドット、垂直線4乃至3ドッ
ト)にならない。このとき図20に示した線幅を実現す
るためには、例えば、0.24捨0.25入すれば良
い。すなわち、前記、WCRに“Ch”(16進数の
C、すなわち10進数の13)を設定し、アフィン変換
後の線幅の値にWCRの値を加算すれば良いのである。
このように、WCRを用いることで、発生する文字サイ
ズに応じた、最適な線幅の文字を発生することが出来
る。またWCRは、線幅の微調整に用いることができる
ので、プリンタの特性等にあわせて、WCRに小数点以
下の端数処理で用いる値より大きい値を設定することで
線幅の太め処理や、小数点以下の端数処理で用いる値よ
り小さい値を設定することで線幅の細め処理を施しても
良く、“Fh”(16進数のF、すなわち10進数の1
5)より大きい値や負の数を設定しても良い。なお、上
記、WCRは文字サイズに応じて異なった値を設定して
も良いし、全ての文字サイズあるいは複数の文字サイズ
で同じ値を設定しても良い。
The values set in the WCR are shown in FIG.
A detailed description will be given using 0. FIG. 20 is an example showing the optimum line width for each generated character size. For example, a character of 1024 dots is stored in a font ROM as a reference size, and the horizontal width of this character is 2
Assuming that there are two types of line width of 5 dots and vertical line width of 60 dots or 50 dots, this character is simply affine transformed to generate a 56 dot character (reduction).
Then, the line width of the horizontal line is 1.37 dots (56 × 2
5 ÷ 1024), and the line width of the vertical line is 60 dots: 3.
28 dots (56 × 60 ÷ 1024), 50 dots:
Since it is 2.73 dots (56 × 50 ÷ 1024),
When the rounding processing or the rounding down processing after the decimal point is performed, the optimum line width (horizontal line 2 dots, vertical line 4 to 3 dots) shown in FIG. 20 is not obtained when the size is 56 dots. At this time, in order to realize the line width shown in FIG. That is, "Ch" (hexadecimal C, that is, decimal 13) is set in the WCR, and the WCR value is added to the line width value after the affine transformation.
As described above, by using WCR, it is possible to generate a character having an optimum line width according to the generated character size. Since the WCR can be used for fine adjustment of the line width, by setting the WCR to a value larger than the value used for the fractional processing below the decimal point according to the characteristics of the printer, the thickening of the line width and the decimal point can be performed. The line width may be narrowed by setting a value smaller than the value used in the following fraction processing, and "Fh" (F in hexadecimal, that is, 1 in decimal).
5) A larger value or a negative number may be set. The WCR may be set to different values depending on the character size, or may be set to the same value for all character sizes or a plurality of character sizes.

【0061】以下、前記座標変換処理505で行う処理
を図面を用いてより詳細に説明する。図7は前記座標変
換処理505で行う処理のフローチャートの一例であ
る。
The processing performed in the coordinate conversion processing 505 will be described in more detail below with reference to the drawings. FIG. 7 is an example of a flowchart of the processing performed in the coordinate conversion processing 505.

【0062】まず、前記AMA、AMB、AMC、AM
D、ACSX、ACSYに格納してあるアフィンパラメ
ータを用いて、XI及びYIに格納された座標値に前記
アフィン変換処理を施し、変換結果をXO、YOに格納
する(処理701)。
First, the AMA, AMB, AMC, AM
Using the affine parameters stored in D, ACSX and ACSY, the affine transformation process is performed on the coordinate values stored in XI and YI, and the transformation result is stored in XO and YO (process 701).

【0063】分岐処理702ではFCが“1”の時、前
点の補正番号に対する線幅補正処理を行うため、分岐処
理703に移り、FCが“0”の時、現点の補正番号に
対する線幅補正処理を行うため、分岐処理707に移
る。FCが“1”となるのは、座標データ構成が図4の
ように4ワードである場合で、4ワードである場合と
は、上述のようにループの開始座標が補正対象線分の終
点座標である場合とすればよい。
In the branch process 702, when FC is "1", the line width correction process for the correction number of the previous point is performed. Therefore, the process moves to the branch process 703, and when FC is "0", the line for the correction number of the current point is performed. In order to perform the width correction processing, the processing shifts to the branch processing 707. FC becomes “1” when the coordinate data structure is 4 words as shown in FIG. 4, and when it is 4 words, the start coordinate of the loop is the end coordinate of the correction target line segment as described above. If it is.

【0064】分岐処理703は、前点の補正番号データ
が“6”以上の時は、前点の補正番号データに応じた前
記線幅補正処理を行い処理結果の座標値をTEMPに格
納する(処理704)が、“6”未満の時は、入力した
座標データが補正対象ではないので、上記処理を行わな
い。そして、WCF、及びFCを“0”にクリアする
(処理705)ことで、前点の補正番号データに対する
線幅補正処理を終了し、分岐処理702に戻る。
In the branching process 703, when the correction number data of the previous point is "6" or more, the line width correction process is performed according to the correction number data of the previous point, and the coordinate value of the processing result is stored in TEMP ( When the processing 704) is less than “6”, the input coordinate data is not a correction target, so the above processing is not performed. Then, by clearing WCF and FC to "0" (process 705), the line width correction process for the correction number data of the previous point is ended, and the process returns to the branch process 702.

【0065】また、分岐処理707は、補正番号データ
が“6”以上の時は、現点の補正番号データに応じた前
記線幅補正処理を行い補正処理に応じてWCFをセット
し(処理708)、分岐処理709に移るが、“6”未
満の時は、入力した座標データが補正対象ではないの
で、座標変換処理を終了する。
When the correction number data is "6" or more, the branching process 707 performs the line width correction process according to the correction number data of the current point and sets WCF according to the correction process (process 708). ), The process moves to the branching process 709, but when it is less than “6”, the input coordinate data is not the correction target, and the coordinate conversion process is ended.

【0066】分岐処理709は、BCFが“2”未満の
時は分岐処理712に移るが、“2”以上の時は、前点
で線幅を補正しているので、TEMPに格納された座標
値を用いて前点の継承処理を行い(処理710)、前点
の継承処理を行ったのでBCFを“0”にクリアし(処
理711)、分岐処理712に移る。
The branching process 709 moves to the branching process 712 when the BCF is less than "2", but when the BCF is "2" or more, the line width is corrected at the previous point, so the coordinates stored in the TEMP. The inheritance process of the previous point is performed using the value (process 710). Since the inheritance process of the previous point is performed, BCF is cleared to "0" (process 711), and the process proceeds to branch process 712.

【0067】分岐処理712では、WCFが“2”未満
の時は座標変換処理を終了するが、“2”以上の時は、
処理708で算出された線幅補正後の座標値をTEMP
に退避し(処理713)、WCFの値をBCFに移すと
共に、WCFを“0”クリアし(処理714)た後、座
標変換処理を終了する。
In the branch processing 712, the coordinate conversion processing is ended when WCF is less than "2", but when WCF is "2" or more,
The coordinate value after the line width correction calculated in the process 708 is TEMP.
(Processing 713), the value of WCF is transferred to BCF, WCF is cleared to “0” (Processing 714), and then the coordinate conversion processing is ended.

【0068】このように本実施例では、線幅を補正する
対象となる補正対象線分のうち、始点座標のみを補正
し、終点座標は前点の継承処理を行うだけで済む(ルー
プの開始座標が補正対象線分の終点座標である場合の
み、前点の継承処理を行なわない)ので、高速に文字を
発生することが出来る。また、線幅を補正する補正対象
線分の始点と終点の両座標に補正処理を実施しても良
く、文字品質に変わりはない。この場合、WCF、BC
F、FC、TEMPは必要なく、また前点の継承処理も
必要ない。
As described above, in the present embodiment, of the correction target line segment whose line width is to be corrected, only the start point coordinates are corrected and the end point coordinates are simply inherited from the previous point (loop start). Only when the coordinates are the coordinates of the end point of the correction target line segment, the inheritance processing of the previous point is not performed), so that the character can be generated at high speed. Further, the correction processing may be performed on both the coordinates of the start point and the end point of the correction target line segment for correcting the line width, and the character quality remains unchanged. In this case, WCF, BC
F, FC, TEMP are not required, nor is the inheritance process of the previous point required.

【0069】次に、本発明で最も特徴的な、線幅補正処
理704及び線幅補正処理708を図面を用いて、より
詳細に説明する。図8は本発明で最も特徴的な、線幅補
正処理704及び線幅補正処理708の概略フローチャ
ートであり、図9は、X座標の線幅補正処理の詳細フロ
ーチャートであり、図10は、Y座標の線幅補正処理の
詳細フローチャートである。
Next, the line width correction processing 704 and the line width correction processing 708, which are the most characteristic features of the present invention, will be described in more detail with reference to the drawings. FIG. 8 is a schematic flowchart of the line width correction processing 704 and the line width correction processing 708, which are the most characteristic features of the present invention, FIG. 9 is a detailed flowchart of the X coordinate line width correction processing, and FIG. 7 is a detailed flowchart of a coordinate line width correction process.

【0070】線幅補正処理704は線幅を補正する際に
補正番号データを用いるのに対し、線幅補正処理708
は、前点の補正番号データを用いることを除けば、全く
同じ処理を行うため、ここでは線幅補正処理704の実
施例のみ説明する。
The line width correction processing 704 uses the correction number data when correcting the line width, while the line width correction processing 708.
Performs exactly the same processing except that the correction number data of the previous point is used, and therefore only the embodiment of the line width correction processing 704 will be described here.

【0071】以下の実施例では、左上原点座標系を用い
て説明する。
The following embodiment will be described using the upper left origin coordinate system.

【0072】まず、分岐処理801で、座標データに付
加してある補正番号データが“10”以上か否かによっ
て、水平線の線幅を補正するか垂直線の線幅を補正する
かを判定し、“10”未満の時は垂直線即ちX座標が補
正対象であり、分岐処理802に移り、“10”以上の
時は水平線即ちY座標が補正対象であり、分岐処理80
3に移る。分岐処理802ではWMRの値を参照し、ア
フィン変換処理によってY軸せん断を発生させていなけ
れば、補正の対象であるX座標の補正処理(詳細は図9
を用いて説明する)を実施し(処理804)、線幅補正
処理を終了するが、Y軸せん断を発生させていると線幅
補正処理を実施せず、線幅補正処理を終了する。同様
に、分岐処理803ではWMRの値を参照し、アフィン
変換処理によってX軸せん断を発生させていなければ、
補正の対象であるY座標の補正処理(詳細は図10を用
いて説明する)を実施し(処理805)、線幅補正処理
を終了するが、X軸せん断を発生させていると線幅補正
処理を実施せず、線幅補正処理を終了する。
First, in the branch processing 801, it is determined whether the line width of the horizontal line or the vertical line is corrected depending on whether the correction number data added to the coordinate data is "10" or more. , If it is less than “10”, the vertical line, that is, the X coordinate is the correction target, and the process moves to the branch processing 802. If it is “10” or more, the horizontal line, that is, the Y coordinate is the correction target, the branch process 80.
Move to 3. In the branching process 802, the value of WMR is referred to, and if the Y-axis shear is not generated by the affine transformation process, the correction process of the X coordinate to be corrected (see FIG.
Is performed (process 804) and the line width correction process ends, but if Y-axis shearing is occurring, the line width correction process is not executed and the line width correction process ends. Similarly, in the branching process 803, the value of WMR is referred to, and if the X-axis shear is not generated by the affine transformation process,
The Y-coordinate correction process (details will be described with reference to FIG. 10) that is the correction target is executed (process 805), and the line width correction process ends, but if the X-axis shearing is generated, the line width correction is performed. The line width correction process is terminated without performing the process.

【0073】処理804におけるX座標の補正処理は図
9を用いて説明する。まず、処理901では、線幅を補
正する対象となる線の基準となる基準線のX座標を算出
する。なお、基準線のX座標は入力座標(XI)から補
正番号データに対応した線幅補正レジスタに格納された
線幅値(W)を減じることで算出できる。次に以下の条
件1によって、処理902、903または処理904、
905に移る。
The correction processing of the X coordinate in the processing 804 will be described with reference to FIG. First, in process 901, the X coordinate of the reference line that is the reference of the line whose line width is to be corrected is calculated. The X coordinate of the reference line can be calculated by subtracting the line width value (W) stored in the line width correction register corresponding to the correction number data from the input coordinate (XI). Next, according to the following condition 1, processing 902, 903 or processing 904,
Move to 905.

【0074】条件1:アフィン変換処理によって90度
または270度の回転あり(WMRの値を参照して判
定)。
Condition 1: Rotation of 90 degrees or 270 degrees is performed by the affine transformation process (determined by referring to the value of WMR).

【0075】処理902、903及び処理904、90
5では共に、処理901で算出した基準線のX座標及
び、処理901で用いた線幅値(W)のアフィン変換処
理を行うが、アフィン変換処理で用いるアフィンパラメ
ータが異なる。処理902、903ではアフィンパラメ
ータとしてAMA、ACSXを用いるが、処理904、
905ではアフィンパラメータとしてAMC、ACSY
を用いる。処理902における基準線の座標のアフィン
変換処理結果は、基準線の座標をXB、そのアフィン変
換処理結果をXB’とすると、 XB’=AMA×XB+ACSX …(19) として式(19)で表せる。
Processes 902 and 903 and processes 904 and 90
In both 5, the affine transformation processing of the X coordinate of the reference line calculated in the processing 901 and the line width value (W) used in the processing 901 is performed, but the affine parameters used in the affine transformation processing are different. Although AMA and ACSX are used as affine parameters in processing 902 and 903, processing 904 and
In 905, AMC and ACSY as affine parameters
To use. The affine transformation processing result of the coordinates of the reference line in the processing 902 can be expressed by equation (19) as XB ′ = AMA × XB + ACSX (19), where XB is the coordinates of the reference line and XB ′ is the affine transformation processing result.

【0076】処理904における基準線のアフィン変換
処理の座標は、式(19)のAMAをAMC、ACSX
をACSYに換えれば良い。
The coordinates of the affine transformation process of the reference line in the process 904 are as follows: AMA in equation (19) is AMC, ACSX
Should be replaced with ACSY.

【0077】処理903における線幅のアフィン変換処
理結果は、補正番号データに対応した線幅をW、そのア
フィン変換処理結果をW’とすると、 W’=|AMA×W|+WCR …(20) として式(20)で表せる。
The line width affine transformation processing result in the processing 903 is W ′ = | AMA × W | + WCR (20) where W is the line width corresponding to the correction number data and W ′ is the affine transformation processing result. Can be expressed by equation (20).

【0078】処理905における線幅のアフィン変換処
理結果は、式(20)のAMAをAMCに換えれば良
い。
As the result of the affine transformation processing of the line width in the processing 905, AMA in equation (20) may be replaced with AMC.

【0079】そして、処理903または処理904で算
出した線幅W’の小数点以下を“0”にし(処理90
6)、線幅W’が1以下であるか否か(条件2)を判定
し、1以下でなければ線幅W’を“1”デクリメントす
る。ここで、1以下の時、“1”デクリメントしない理
由は、線幅W’を負の数にしないためである。以上の演
算で求めた基準線の座標XB’及び線幅W’を、以下の
条件3で、加算(処理908)または減算(処理90
9)する。
Then, the decimal point of the line width W'calculated in the process 903 or the process 904 is set to "0" (process 90).
6) It is determined whether or not the line width W ′ is 1 or less (condition 2). If it is not 1 or less, the line width W ′ is decremented by “1”. Here, the reason why "1" is not decremented when it is 1 or less is that the line width W'is not a negative number. The coordinate XB ′ and the line width W ′ of the reference line obtained by the above calculation are added (process 908) or subtracted (process 90) under the following condition 3.
9) Do.

【0080】条件3:アフィン変換処理によって180
度回転とY軸鏡転のうちどちらかを行っている(WMR
の値を参照して判定する)。
Condition 3: 180 by affine transformation processing
Either rotation or Y-axis mirror rotation is performed (WMR
Judgment by referring to the value of).

【0081】さらに、処理908または処理909での
演算結果に桁上がりや負の数が発生したか否かを判定し
(条件4)、桁上がりや負の数が発生したと判定された
場合は、その演算結果を強制的に“0”にする(処理9
10)。
Furthermore, it is determined whether a carry or a negative number has occurred in the calculation result of the process 908 or the process 909 (condition 4). If it is determined that a carry or a negative number has occurred, , The operation result is forcibly set to “0” (Process 9
10).

【0082】そして、以下の条件5によって、上記まで
の演算結果をXOに格納して(処理911)WCFに”
3”を入れる(処理912)、または、上記までの演算
結果をYOに格納して(処理913)WCFに”2”を
入れる(処理914)。
Then, under the following condition 5, the calculation result up to the above is stored in XO (process 911) and stored in WCF.
3 "is put (process 912), or the calculation result up to the above is stored in YO (process 913) and" 2 "is put into WCF (process 914).

【0083】条件5:アフィン変換処理によって90度
または270度の回転あり(WMRの値を参照して判
定)。
Condition 5: Rotation of 90 degrees or 270 degrees by affine transformation processing (determined by referring to the value of WMR).

【0084】ここで、上記のように条件1,条件3およ
び条件5によりアフィン変換処理の種類を判定し、この
種類に応じて線幅補正処理を変える理由について、図1
3を用いて説明する。
Here, the reason why the type of affine transformation process is determined by the conditions 1, 3 and 5 as described above and the line width correction process is changed according to this type will be described with reference to FIG.
3 will be used for the explanation.

【0085】図13は、上記理由を説明するために、一
例として、アフィン変換処理により回転を行なっていな
い場合と、90度回転を行なっている場合との線幅補正
処理の相違を説明するための図である。ここでは、ゴシ
ック体の“L”をモデル化した文字を例として説明す
る。図中、実線は基準線、破線は補正対象線を示す。図
示したように、回転を行なっていない場合、水平線(Y
座標)の補正処理は、基準線に対して補正対象線をマイ
ナス方向に移動させ、用いるアフィンパラメータはAM
Dである。また垂直線(X座標)の補正処理は、基準線
に対して補正対象線をプラス方向に移動させ、用いるア
フィンパラメータはAMAである。これに対して、90
度回転を行なっている場合は、水平線は垂直線に、垂直
線は水平線になるので、図示したように、補正対象線の
移動方向、用いるアフィンパラメータ等が異なる。
FIG. 13 illustrates the difference in the line width correction processing between the case where the rotation is not performed by the affine transformation processing and the case where the rotation is performed by 90 degrees in order to explain the above reason. FIG. Here, a character that models a Gothic "L" is described as an example. In the figure, the solid line indicates the reference line and the broken line indicates the correction target line. As shown, the horizontal line (Y
In the correction process of (coordinates), the correction target line is moved in the negative direction with respect to the reference line, and the affine parameter used is AM.
It is D. Further, in the correction processing of the vertical line (X coordinate), the correction target line is moved in the plus direction with respect to the reference line, and the affine parameter used is AMA. On the other hand, 90
In the case of performing the degree rotation, since the horizontal line becomes the vertical line and the vertical line becomes the horizontal line, the moving direction of the correction target line, the affine parameter to be used, and the like are different as illustrated.

【0086】このように、線幅補正処理ではアフィン変
換における変形状態(90度単位の回転、鏡転の座標
軸、これらの組合せ)に応じて、処理を変える必要があ
る。なお、本実施例では、図示したように左上原点座標
系を用いた場合について説明しており、座標系が異なる
と、補正対象線の基準線からの移動方向(線幅の加算/
減算)は本実施例と同一にならない。
As described above, in the line width correction processing, it is necessary to change the processing according to the deformation state in the affine transformation (rotation in units of 90 degrees, mirror coordinate axis, combination thereof). In the present embodiment, the case where the upper left origin coordinate system is used as shown in the figure is explained. If the coordinate system is different, the moving direction of the correction target line from the reference line (addition of line width /
Subtraction) is not the same as this embodiment.

【0087】処理805におけるY座標の補正処理の詳
細なフローチャートを図10に示す。図10に示したよ
うに、Y座標の補正処理は、基本的に、図9を用いて説
明したX座標の補正処理と同様な処理内容であり、異な
るのは以下の4項目のみである。 (1)基準線の座標
の算出処理 X座標の補正処理:XI+Wによって算出 Y座標の補正処理:YI−Wによって算出 (2)基準線の座標YB及び線幅Wを算出する際に用い
るアフィンパラメータ X座標の補正処理:AMA、AMC、ACSX、ACS
Y Y座標の補正処理:AMD、AMB、ACSY、ACS
X (3)分岐条件3 X座標の補正処理:アフィン変換処理によって、180
度回転とY軸鏡転のどちらかを行っている Y座標の補正処理:アフィン変換処理によって、X軸鏡
転、180度回転、90度または270度回転の3条件
のうち、1つまたは3つ全てを行っている (4)分岐条件5による分岐先 X座標の補正処理とY座標の補正処理とで逆になる。
FIG. 10 shows a detailed flowchart of the Y coordinate correction processing in the processing 805. As shown in FIG. 10, the Y coordinate correction processing basically has the same processing content as the X coordinate correction processing described with reference to FIG. 9, and only the following four items are different. (1) Calculation process of coordinates of reference line X-axis correction process: calculated by XI + W Y-correction process: calculated by YI-W (2) Affine parameter used to calculate coordinates YB and line width W of the reference line X coordinate correction processing: AMA, AMC, ACSX, ACS
YY coordinate correction processing: AMD, AMB, ACSY, ACS
X (3) Branching condition 3 X coordinate correction process: 180 by affine transformation process
Either Y-axis rotation or Y-axis rotation is performed. Y coordinate correction processing: One or three of three conditions of X-axis rotation, 180-degree rotation, 90-degree or 270-degree rotation by affine transformation processing. (4) Branch destination under branching condition 5 The X coordinate correction process and the Y coordinate correction process are reversed.

【0088】そこで、同じ処理の説明は割愛する。Therefore, the description of the same processing will be omitted.

【0089】このように、本発明では、アフィン変換に
よる文字の90度単位の回転、せん断等の情報によっ
て、基準線に対する、算出した線幅データの加減算等を
切り換えているので、発生する文字が90度単位の回転
や、一軸方向のせん断を行っている場合でも、水平線や
垂直線の線幅が整った高品質な文字を発生することが出
来る。
As described above, according to the present invention, the addition and subtraction of the calculated line width data with respect to the reference line is switched according to the information such as the rotation and shearing of the character in 90 degree units by the affine transformation. Even when rotating by 90 degrees or shearing in the uniaxial direction, it is possible to generate high-quality characters with uniform line widths of horizontal lines and vertical lines.

【0090】すなわち、基本サイズが256ドットの
“日”という文字を、16ドットに縮小した場合に、補
正を行なわないと図21(b)のように出力されるが、
補正を行なうと図21(a)のように高品質に出力され
る。文字に回転または一軸方向のせん断を行なう場合に
も、このような高品質な文字を出力することできる。
That is, when a character of "day" having a basic size of 256 dots is reduced to 16 dots, it is output as shown in FIG. 21B without correction.
When the correction is performed, the output is of high quality as shown in FIG. Even when a character is rotated or uniaxially sheared, such a high quality character can be output.

【0091】また、前述までの実施例では、文字の線幅
を整える実施例についてのみ説明したが、補正番号デー
タ及び、線幅補正レジスタに、文字の線と線の隙間のド
ット幅を示すデータを設定し、フォントROMに格納し
たフォントデータに付加している補正番号データの位置
を変えれば、文字の線と線の隙間の白い部分の幅を整え
ることも本発明と同様な処理内容で可能であり、線幅の
太い強調文字等のように、文字の線幅よりも線と線の隙
間の白い部分の方が狭い書体に対して有効である。
Further, in the above-described embodiments, only the embodiment for adjusting the line width of the character has been described. However, the correction number data and the line width correction register include data indicating the dot width of the space between the character lines. Is set and the position of the correction number data added to the font data stored in the font ROM is changed, the width of the white portion of the space between the character lines can be adjusted with the same processing contents as the present invention. Thus, the white portion of the space between the lines is narrower than the line width of the character, such as emphasized characters having a thick line width.

【0092】図11は、以上で説明した、本発明で特徴
的な座標変換処理をLSI化する場合の一実施例であ
る。111は16ビットの積和演算を高速に実行するた
めのデータパスであり、112は、データパス111を
制御するコントロール部である。116はコントロール
部112からの制御信号群であり、113は図19に示
したフラグを保持するためのフラグ群格納部である。1
17は前記WMRであり、114はフォントROMから
入力されるデータや、レジスタに設定すべきパラメータ
を伝達するためのデータバスであり、115はデータパ
ス111における座標変換処理で変換した座標データを
曲線補間処理を行なう処理部(図示せず)に渡すための
データバスである。
FIG. 11 shows an embodiment in which the coordinate conversion processing characteristic of the present invention described above is implemented as an LSI. Reference numeral 111 is a data path for executing a 16-bit multiply-add operation at high speed, and 112 is a control unit for controlling the data path 111. Reference numeral 116 is a control signal group from the control unit 112, and 113 is a flag group storage unit for holding the flags shown in FIG. 1
Reference numeral 17 is the WMR, 114 is a data bus for transmitting data input from the font ROM and parameters to be set in the register, and 115 is a curve of the coordinate data converted by the coordinate conversion processing in the data path 111. It is a data bus for passing to a processing unit (not shown) that performs interpolation processing.

【0093】データパス111は図17に示したレジス
タのうち、WMR以外の全てのレジスタを格納するため
のレジスタファイル、乗算器、シフタ、ALU、バス等
で構成される。本実施例において、コントロール部11
2は、WMR117および、フラグ群113の値に応じ
て、例えば、データパス111内のレジスタファイルか
ら必要なパラメータをデータパス111内のバスに乗
せ、データパス111内の乗算器を用いて乗算させると
いった、データパス111の制御をする。そして、この
ようなデータパス111の制御を行なうことで、図7、
図8、図9、図10を用いて説明した座標変換処理を実
現することが出来る。なおコントロール部112は、マ
イクロプログラム、PLA、ステートマシン等を用いれ
ば容易に実現出来、実現性に何ら問題はない。
The data path 111 is composed of a register file for storing all the registers other than WMR among the registers shown in FIG. 17, a multiplier, a shifter, an ALU, a bus and the like. In this embodiment, the control unit 11
In accordance with the values of the WMR 117 and the flag group 113, 2 places a required parameter from a register file in the data path 111 on the bus in the data path 111, and multiplies by using a multiplier in the data path 111. The data path 111 is controlled. By controlling the data path 111 as described above,
The coordinate conversion processing described with reference to FIGS. 8, 9 and 10 can be realized. The control unit 112 can be easily realized by using a microprogram, a PLA, a state machine, etc., and there is no problem in the realization.

【0094】また、処理内容によってはステートマシン
等で構成して該ステートマシン等に組み込まれたプログ
ラムにより処理を実行すると、処理速度が遅くなる等の
不具合が生じる場合には、図7、図8、図9、図10を
用いて説明した座標変換処理の全てをステートマシン等
で構成したコントロール部112で行う必要はない。
In addition, depending on the processing contents, if a problem such as a slow processing speed occurs when the processing is executed by a program built in the state machine or the like and the processing is carried out by using a state machine or the like, as shown in FIGS. It is not necessary to perform all of the coordinate conversion processing described with reference to FIGS. 9 and 10 by the control unit 112 configured by a state machine or the like.

【0095】例として、座標変換処理の内、補正番号デ
ータに対応した線幅値をデータパス111内のレジスタ
ファイルからデータパス111内のバスに乗せるための
制御信号を生成する処理をステートマシン等ではなく、
ハードウエア(LWR制御部)を設けて実施する場合の
コントロール部112のブロック図を図16に示す。ま
た、図16のLWR制御部160の一実施例のブロック
図を図11に示し、動作を説明する。
As an example, in the coordinate conversion process, a process of generating a control signal for loading a line width value corresponding to the correction number data from a register file in the data path 111 to a bus in the data path 111 is a state machine or the like. not,
FIG. 16 shows a block diagram of the control unit 112 when the hardware (LWR control unit) is provided and implemented. Further, FIG. 11 shows a block diagram of an embodiment of the LWR control unit 160 of FIG. 16, and the operation will be described.

【0096】図11において、121は補正番号データ
を保持するための補正番号保持部であり、122は前点
の補正番号データを保持するための前点の補正番号保持
部である。123はセレクタであり、124は4to1
6のデコーダ(4ビットのデータを入力し16ビットの
データを出力するデコーダ)であり、125はセレクタ
123のセレクト信号である。126Aはデータパス1
11内のレジスタファイルからLWR6の値をデータパ
ス111内のバスに乗せるための制御信号であり、12
6BはLWR7の値をバスに乗せるための制御信号であ
り、126CはLWR8の値をバスに乗せるための制御
信号であり、126DはLWR9の値をバスに乗せるた
めの制御信号であり、126EはLWR10の値をバス
に乗せるための制御信号であり、126FはLWR11
の値をバスに乗せるための制御信号であり、126Gは
LWR12の値をバスに乗せるための制御信号であり、
126HはLWR13の値をバスに乗せるための制御信
号であり、126IはLWR14の値をバスに乗せるた
めの制御信号であり、126JはLWR15の値をバス
に乗せるための制御信号である。127は補正番号デー
タであり、128は前点の補正番号データであり、12
9は図16のステートマシン161が出力する制御信号
である。
In FIG. 11, reference numeral 121 is a correction number holding unit for holding the correction number data, and 122 is a front point correction number holding unit for holding the correction number data of the previous point. 123 is a selector, and 124 is 4to1
6 is a decoder (a decoder that inputs 4-bit data and outputs 16-bit data), and 125 is a select signal of the selector 123. 126A is the data path 1
A control signal for loading the value of LWR6 from the register file in 11 onto the bus in the data path 111.
6B is a control signal for putting the value of LWR7 on the bus, 126C is a control signal for putting the value of LWR8 on the bus, 126D is a control signal for putting the value of LWR9 on the bus, and 126E is This is a control signal for loading the value of LWR10 on the bus, and 126F is LWR11.
Is a control signal for loading the value of LWR12 on the bus, and 126G is a control signal for loading the value of LWR12 on the bus.
126H is a control signal for putting the value of LWR13 on the bus, 126I is a control signal for putting the value of LWR14 on the bus, and 126J is a control signal for putting the value of LWR15 on the bus. 127 is the correction number data, 128 is the correction number data of the previous point, 12
Reference numeral 9 is a control signal output by the state machine 161 of FIG.

【0097】補正番号保持部121及び前点の補正番号
保持部122で保持している補正番号データ127及び
前点の補正番号データ128は、セレクタ123に入力
される。セレクタ123は、セレクト信号125によっ
て、入力された二つの補正番号データから1つを選択
し、デコーダ124に出力する。このセレクト信号12
5は、前記フラグ群113に保持された補正番号フラグ
FC(図19参照)であり、セレクト信号125が
“0”の時、補正番号データ127を選択し、“1”の
時、前点の補正番号データ128を選択する。
The correction number data 127 and the previous point correction number data 128 held in the correction number holding unit 121 and the previous point correction number holding unit 122 are input to the selector 123. The selector 123 selects one of the two input correction number data by the select signal 125 and outputs it to the decoder 124. This select signal 12
Reference numeral 5 is a correction number flag FC (refer to FIG. 19) held in the flag group 113. When the select signal 125 is "0", the correction number data 127 is selected, and when it is "1", the previous point The correction number data 128 is selected.

【0098】デコーダ124は、入力される補正番号デ
ータ127または、前点の補正番号データ128をデコ
ードし、ステートマシン161が制御信号129を出力
したときに、デコードした信号を、補正番号データに対
応した線幅値をデータパス111内のレジスタファイル
からデータパス111内のバスに乗せるための制御信号
126A〜126Jとして、データパス111に出力す
る。例えば、デコーダ124に入力したデータが“0”
〜“5”の時は、制御信号126A〜126Jは全て
“Low”を出力し、“6”の時は、制御信号126A
〜126Jのうち、制御信号126Aのみ“High”
を出力する。このようにして、補正番号データに対応し
た線幅値をデータパス111内のレジスタファイルから
データパス111内のバスに乗せるための制御信号を生
成する処理をコントロール部112以外で実施する事も
出来る。本実施例では、ステートマシン161が制御信
号129を出力するとすぐに、制御信号126Aを出力
することが出来、高速な処理に適している。
The decoder 124 decodes the input correction number data 127 or the previous correction number data 128, and when the state machine 161 outputs the control signal 129, the decoded signal corresponds to the correction number data. The line width value is output from the register file in the data path 111 to the data path 111 as control signals 126A to 126J for loading on the bus in the data path 111. For example, the data input to the decoder 124 is "0".
In the case of "5", the control signals 126A to 126J all output "Low", and in the case of "6", the control signal 126A.
Out of 126J, only the control signal 126A is "High"
Is output. In this way, a process other than the control unit 112 can be used to generate a control signal for causing the line width value corresponding to the correction number data to be loaded on the bus in the data path 111 from the register file in the data path 111. . In this embodiment, the state machine 161 can output the control signal 126A immediately after outputting the control signal 129, which is suitable for high-speed processing.

【0099】また、図11では、座標変換処理をLSI
化する実施例に付いてのみ説明したが、ベジェ曲線補間
処理、ライン発生処理、塗り潰し処理も同様な構成容易
に実現出来、文字発生装置を容易にLSI化することが
出来る。また複数の処理で、データパス111を共用し
ても良い。
Further, in FIG. 11, the coordinate conversion processing is performed by the LSI.
Although the description has been given only to the embodiment in which the conversion is performed, the Bezier curve interpolation processing, the line generation processing, and the filling processing can be easily realized with the same configuration, and the character generation device can be easily integrated into an LSI. The data path 111 may be shared by a plurality of processes.

【0100】[0100]

【発明の効果】以上説明したように、本発明によれば、
単一文字内の水平線及び垂直線に、複数の線幅が存在す
る文字でも、水平線及び垂直線の線幅を整えることが出
来、高品質な文字を発生することが出来るという効果が
ある。
As described above, according to the present invention,
Even for a character having a plurality of line widths in a horizontal line and a vertical line in a single character, it is possible to adjust the line widths of the horizontal line and the vertical line, and it is possible to generate a high quality character.

【0101】また、線幅の記憶手段(レジスタ)を書体
毎に持つ必要がなく、線幅補正に必要な記憶容量が少な
くて済むという効果がある。
Further, since it is not necessary to have a line width storage means (register) for each typeface, there is an effect that the storage capacity required for line width correction can be small.

【0102】さらに、拡大縮小だけでなく、90度単位
の回転や、一軸方向のせん断を行った文字でも水平線及
び垂直線を整えることが出来、高品質な文字を発生する
ことが出来るという効果がある。
Furthermore, not only the enlargement / reduction but also the rotation of 90 degrees and the uniaxial shearing of characters can be used to adjust the horizontal and vertical lines, which produces high quality characters. is there.

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

【図1】情報処理装置のブロック図。FIG. 1 is a block diagram of an information processing device.

【図2】フォントデータ構成例説明図。FIG. 2 is an explanatory diagram of a font data configuration example.

【図3】座標データ構成例1説明図。FIG. 3 is an explanatory diagram of a coordinate data configuration example 1.

【図4】座標データ構成例2説明図。FIG. 4 is an explanatory diagram of a coordinate data configuration example 2;

【図5】文字発生装置の動作の概略フローチャート。FIG. 5 is a schematic flowchart of the operation of the character generation device.

【図6】文字例及び補正番号データ付加位置例説明図。FIG. 6 is an explanatory diagram of an example of character and correction number data addition positions.

【図7】座標変換処理フローチャート。FIG. 7 is a coordinate conversion processing flowchart.

【図8】線幅補正処理の詳細フローチャート。FIG. 8 is a detailed flowchart of line width correction processing.

【図9】X座標の線幅補正処理の詳細フローチャート。FIG. 9 is a detailed flowchart of the X-coordinate line width correction processing.

【図10】Y座標の線幅補正処理の詳細フローチャー
ト。
FIG. 10 is a detailed flowchart of a Y-coordinate line width correction process.

【図11】座標変換処理部のブロック図。FIG. 11 is a block diagram of a coordinate conversion processing unit.

【図12】LWR制御部のブロック図。FIG. 12 is a block diagram of an LWR control unit.

【図13】アフィン変換の種類による線幅補正処理の違
いの説明図。
FIG. 13 is an explanatory diagram showing a difference in line width correction processing depending on the type of affine transformation.

【図14】印刷時の線幅イメージの差の説明図。FIG. 14 is an explanatory diagram of a difference in line width image during printing.

【図15】線幅補正モードレジスタ(WMR)ビット割
り付け説明図。
FIG. 15 is an explanatory diagram of bit width correction mode register (WMR) bit allocation.

【図16】コントロール部のブロック図。FIG. 16 is a block diagram of a control unit.

【図17】レジスタ一覧表の説明図。FIG. 17 is an explanatory diagram of a register list.

【図18】補正番号データ対応表の説明図。FIG. 18 is an explanatory diagram of a correction number data correspondence table.

【図19】フラグ一覧表の説明図。FIG. 19 is an explanatory diagram of a flag list.

【図20】文字サイズにおける最適な線幅例の説明図。FIG. 20 is an explanatory diagram of an example of an optimum line width in character size.

【図21】補正された文字の形状についての説明図。FIG. 21 is an explanatory diagram of a corrected character shape.

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

101…フォントROM、102…文字発生装置、10
3…入力装置、104…RAM、105…CPU、10
6…ページメモリ、107…出力装置。
101 ... Font ROM, 102 ... Character generator, 10
3 ... Input device, 104 ... RAM, 105 ... CPU, 10
6 ... Page memory, 107 ... Output device.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 西本 和久 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立画像情報システム内 (72)発明者 脇坂 新路 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 白根 弘晃 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立画像情報システム内 (72)発明者 和田 弘士 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 佐藤 裕子 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 高橋 芳文 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立画像情報システム内 (72)発明者 林 繁夫 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体設計開発センタ内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Kazuhisa Nishimoto 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Inside Hitachi Imaging Information Systems (72) Inventor Shinro Wakisaka 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Hitachi, Ltd., Microelectronics Equipment Development Laboratory (72) Inventor Hiroaki Shirane, 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture In-house Hitachi Imaging Information Systems (72) Inventor, Hiroshi Wada Totsuka, Yokohama-shi, Kanagawa 292, Yoshida-cho, Tokyo, within Hitachi, Ltd. Microelectronics Equipment Development Laboratory (72) Inventor, Yuko Sato, 292, Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture Within Hitachi, Ltd. Microelectronics Equipment Development Laboratory (72) ) Inventor Yoshifumi Takahashi Totsuka Ward, Yokohama City, Kanagawa Prefecture Tamachi 292 address Co., Ltd. Hitachi image information in the system (72) inventor Shigeo Hayashi Tokyo Kodaira Josuihon-cho, Chome No. 20 No. 1 Co., Ltd. Hitachi, semiconductor design and development within the center

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】太さを有する文字構成線からなる文字の、
予め定められた文字サイズにおける輪郭点の座標データ
を受けて、該座標データに対して、指定された座標変換
を行なう座標変換手段と、該座標変換手段により変換さ
れた座標データを受けてラスター形式で表された文字デ
ータに変換するラスター変換手段とを備える文字発生装
置において、 前記座標データの少なくとも一部は、前記座標変換に際
しての該座標データの補正に関する補正情報を備え、 該補正情報は、該補正情報が付与された座標データに対
して行なうべき補正の方向、および、当該座標データを
含む文字構成線の前記予め定められた文字サイズにおけ
る太さ情報を含み、 前記補正情報は、水平な前記文字構成線の上側または下
側のうちの一方の線分の輪郭点、または垂直な前記文字
構成線の右側または左側のうちの一方の線分上の輪郭点
のみに付与され、 前記座標変換手段は、前記座標変換に際し、 前記補正情報が付与された座標データに対して、当該座
標データと太さ情報とに基づいて、前記文字構成線の上
側または下側のうちの他方、右側または左側のうちの他
方の線分の座標値を求めて基準座標値とし、 該求められた基準座標値に、前記指定された座標変換を
行なうとともに、 該座標変換を前記太さ情報に反映させ、 前記座標変換された基準座標値、前記反映後の太さ情
報、および前記指定された座標変換の種類に基づいて、
前記輪郭点の座標変換後の座標値を算出することを特徴
とする文字発生装置。
1. A character composed of character constituent lines having a thickness,
Raster format by receiving coordinate data of a contour point having a predetermined character size and performing coordinate conversion specified by the coordinate data, and coordinate data converted by the coordinate converting means. In a character generator provided with a raster conversion means for converting into character data represented by, at least a part of the coordinate data comprises correction information regarding correction of the coordinate data at the time of the coordinate conversion, and the correction information is The correction information includes a direction of correction to be performed on the coordinate data to which the correction information is added, and thickness information of a character forming line including the coordinate data in the predetermined character size, and the correction information is a horizontal line. The outline point of one of the upper or lower sides of the character construction line, or one of the right or left sides of the vertical character construction line The coordinate conversion means is added only to the contour points on the minute line, and the coordinate conversion means, in the coordinate conversion, with respect to the coordinate data to which the correction information is added, based on the coordinate data and the thickness information, the character component line. The coordinate value of the other of the upper side and the lower side of, and the other line segment of the right side or the left side is obtained as a reference coordinate value, and the specified coordinate conversion is performed on the obtained reference coordinate value. The coordinate conversion is reflected in the thickness information, based on the coordinate-converted reference coordinate value, the reflected thickness information, and the designated type of coordinate conversion,
A character generator characterized in that it calculates coordinate values of the contour points after coordinate conversion.
【請求項2】請求項1において、前記座標変換の種類を
示す補正モード情報を備え、 前記補正モード情報は、少なくとも、前記座標変換の種
類が、90度の回転,180度の回転,270度の回
転,鏡転またはせん断であることをそれぞれ示す情報で
あり、 該補正モード情報で示される座標変換の種類に基づい
て、前記補正を受ける座標データの前記座標変換後の座
標値を算出することを特徴とする文字発生装置。
2. The correction mode information according to claim 1, further comprising: correction mode information indicating a type of the coordinate conversion, wherein the correction mode information is such that at least the type of the coordinate conversion is 90 degrees rotation, 180 degrees rotation, 270 degrees. Of the coordinate data after the coordinate conversion is calculated based on the type of coordinate conversion indicated by the correction mode information. Character generator characterized by.
【請求項3】請求項1において、前記補正情報は、 前記座標データを含む文字構成線の前記予め定められた
文字サイズにおける太さ情報に替えて、 前記座標データを含む文字構成線と他の文字構成線との
間隔の大きさ情報を有することを特徴とする文字発生装
置。
3. The correction information according to claim 1, wherein the correction information is replaced with thickness information of the character formation line including the coordinate data in the predetermined character size, and the character formation line including the coordinate data and other information. A character generator characterized in that it has information on the size of the space between the character forming lines.
【請求項4】請求項1において、前記補正情報は、予め
定められた補正の方向および太さ情報を示す複数の補正
番号からなることを特徴とする文字発生装置。
4. The character generation device according to claim 1, wherein the correction information includes a plurality of correction numbers indicating predetermined correction direction and thickness information.
【請求項5】請求項4において、前記太さ情報は、前記
補正番号に対して予め対応づけられたレジスタに格納さ
れた値により与えられることを特徴とする文字発生装
置。
5. The character generator according to claim 4, wherein the thickness information is given by a value stored in a register which is associated with the correction number in advance.
【請求項6】請求項4において、前記補正番号の少なく
とも1つは、当該補正番号が付与された座標データが補
正対象でないことを示すことを特徴とする文字発生装
置。
6. The character generator according to claim 4, wherein at least one of the correction numbers indicates that the coordinate data to which the correction number is assigned is not a correction target.
【請求項7】請求項1において、前記太さ情報に、前記
指定された座標変換を反映させる際に、予め定められた
値を加算して、端数処理を行なうことを特徴とする文字
発生装置。
7. The character generator according to claim 1, wherein when the designated coordinate conversion is reflected in the thickness information, a predetermined value is added to perform fraction processing. .
【請求項8】請求項1または7において、 前記補正の方向は、前記座標変換前の前記文字構成線が
水平線である場合に垂直方向であり、前記文字構成線が
垂直線である場合に水平方向であり、 前記太さ情報は、前記補正の方向に対して、各々予め定
められた複数の太さから選択されて指定されることを特
徴とする文字発生装置。
8. The correction direction according to claim 1, wherein the correction direction is a vertical direction when the character constituting line before the coordinate conversion is a horizontal line, and a horizontal direction when the character constituting line is a vertical line. The character generation device is a direction, and the thickness information is selected and designated from a plurality of predetermined thicknesses with respect to the correction direction.
【請求項9】請求項8において、前記補正の方向に対し
て予め定められる前記太さ情報の数は、前記補正の方向
により異なることを特徴とする文字発生装置。
9. The character generator according to claim 8, wherein the number of pieces of thickness information predetermined with respect to the correction direction differs depending on the correction direction.
【請求項10】請求項8において、 前記文字構成線の輪郭上のループの始点である輪郭点に
対してのみ、垂直方向および水平方向の両補正情報が付
与され、 前記始点以外の輪郭点に対しては、垂直方向および水平
方向のうちの一方の補正情報が付与され、 前記座標変換手段は、前記座標データを1つずつシーケ
ンシャルに受け、 垂直方向および水平方向のうち付与されていない補正情
報については、直前に受けられた輪郭点の補正情報を継
承して用いることを特徴とする文字発生装置。
10. The vertical and horizontal correction information is added only to a contour point which is a start point of a loop on the contour of the character component line, and contour points other than the start point are added to the contour points. On the other hand, correction information in one of the vertical direction and the horizontal direction is added, and the coordinate conversion means sequentially receives the coordinate data one by one, and correction information that is not added in the vertical direction and the horizontal direction. For the character generator, the correction information of the contour point received immediately before is inherited and used.
【請求項11】請求項1において、 前記指定された座標変換が拡大変換または縮小変換であ
る場合には、前記太さ情報をW、拡大率または縮小率を
A、前記輪郭点の座標変換前の座標データを(XI,Y
I)、座標変換後の座標データを(XO,YO)とする
と、 補正を受けない座標データについて、 XO=A×XI YO=A×YI とし、 補正を受ける座標データについて、 XO=A×(XI−W)+(A×W−1) YO=A×(YI+W)+(A×W−1) とすることを特徴とする文字発生装置。
11. The method according to claim 1, wherein when the designated coordinate conversion is enlargement conversion or reduction conversion, the thickness information is W, the enlargement ratio or reduction ratio is A, and the contour point before coordinate conversion. Coordinate data of (XI, Y
I), assuming that the coordinate data after coordinate conversion is (XO, YO), for coordinate data that is not corrected, XO = A × XI YO = A × YI, and for coordinate data that is corrected, XO = A × ( XI-W) + (A * W-1) YO = A * (YI + W) + (A * W-1).
【請求項12】請求項11において、前記座標データが
補正を受ける座標データである場合には、端数処理用の
予め定められた値をWCRとして、 XO=A×(XI−W)+(A×W+WCR−1) YO=A×(YI+W)+(A×W+WCR−1) とすることにより、端数処理を行なうことを特徴とする
文字発生装置。
12. When the coordinate data is coordinate data to be corrected in claim 11, XO = A × (XI−W) + (A × W + WCR-1) YO = A × (YI + W) + (A × W + WCR-1) to perform fractional processing.
【請求項13】請求項12において、A×W+WCR<
1である場合には、 XO=A×(XI−W)+(A×W+WCR) YO=A×(YI+W)+(A×W+WCR) とすることにより、端数処理を行なうことを特徴とする
文字発生装置。
13. The method according to claim 12, wherein A × W + WCR <
If 1, then XO = A × (XI−W) + (A × W + WCR) YO = A × (YI + W) + (A × W + WCR) to perform fraction processing. Generator.
【請求項14】請求項11,12または13において、
XOまたはYOの値が0より小さい場合には、該XOま
たはYOの値を0とすることを特徴とする文字発生装
置。
14. The method according to claim 11, 12 or 13,
A character generator characterized in that when the value of XO or YO is less than 0, the value of XO or YO is set to 0.
JP5118591A 1993-05-20 1993-05-20 Character generator Pending JPH06332431A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5118591A JPH06332431A (en) 1993-05-20 1993-05-20 Character generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5118591A JPH06332431A (en) 1993-05-20 1993-05-20 Character generator

Publications (1)

Publication Number Publication Date
JPH06332431A true JPH06332431A (en) 1994-12-02

Family

ID=14740380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5118591A Pending JPH06332431A (en) 1993-05-20 1993-05-20 Character generator

Country Status (1)

Country Link
JP (1) JPH06332431A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163700A (en) * 2004-12-06 2006-06-22 Kyocera Mita Corp Drawing processor and program
JP2006338603A (en) * 2005-06-06 2006-12-14 Matsushita Electric Ind Co Ltd Curve rendering device, curve rendering method, parking support system and vehicle

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163700A (en) * 2004-12-06 2006-06-22 Kyocera Mita Corp Drawing processor and program
JP4624087B2 (en) * 2004-12-06 2011-02-02 京セラミタ株式会社 Drawing processing apparatus and program
JP2006338603A (en) * 2005-06-06 2006-12-14 Matsushita Electric Ind Co Ltd Curve rendering device, curve rendering method, parking support system and vehicle
JP4727304B2 (en) * 2005-06-06 2011-07-20 パナソニック株式会社 Curve drawing device, curve drawing method, parking support device, and vehicle

Similar Documents

Publication Publication Date Title
US5959635A (en) Character pattern generator
US5666520A (en) Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line
US4837847A (en) Image processing apparatus
US5870107A (en) Character and symbol pattern generator based on skeleton data including thickness calculation
US6753862B1 (en) Outline smoothing method and system
JP2861194B2 (en) Data converter
JPH06161419A (en) Character output device
US5371839A (en) Rendering processor
JPH06332431A (en) Character generator
JP2876942B2 (en) Data converter
JP2634851B2 (en) Image processing device
JP3009525B2 (en) Vector image drawing equipment
JP3029135B2 (en) Character processing apparatus and method
JP3089913B2 (en) High quality character output device
JP2782752B2 (en) Character pattern output device
JPS6138981A (en) Pattern multiplication
JP2761222B2 (en) Character generation method
JP2836617B2 (en) Rendering processor
JP3215169B2 (en) Character processing apparatus and method
JPH06167961A (en) System and device for character correction
JP2738189B2 (en) Coordinate conversion method and coordinate conversion device
JP3244411B2 (en) Character image data generation method and device, and character output method and device
JP3039214B2 (en) Data converter
JP2896097B2 (en) Method and apparatus for filling outline font in which characters are configured for each element
JPH11213169A (en) Printer, plotting device and method