JP3034140B2 - Character generation method and device - Google Patents

Character generation method and device

Info

Publication number
JP3034140B2
JP3034140B2 JP4326656A JP32665692A JP3034140B2 JP 3034140 B2 JP3034140 B2 JP 3034140B2 JP 4326656 A JP4326656 A JP 4326656A JP 32665692 A JP32665692 A JP 32665692A JP 3034140 B2 JP3034140 B2 JP 3034140B2
Authority
JP
Japan
Prior art keywords
stroke
interval
character
rounding
magnification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4326656A
Other languages
Japanese (ja)
Other versions
JPH06175638A (en
Inventor
慎一郎 本門
武都美 大伴
アントニオス・ヘルマン
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4326656A priority Critical patent/JP3034140B2/en
Priority to US08/161,751 priority patent/US5526476A/en
Priority to CN93121146A priority patent/CN1045835C/en
Priority to KR1019930026683A priority patent/KR0124961B1/en
Publication of JPH06175638A publication Critical patent/JPH06175638A/en
Priority to KR1019970015855A priority patent/KR100209455B1/en
Application granted granted Critical
Publication of JP3034140B2 publication Critical patent/JP3034140B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】(目次) 産業上の利用分野 従来の技術(図12乃至図14) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用 実施例 (a) 一実施例構成の説明(図2乃至図5) (b) 一実施例処理の説明(図6乃至図11) (c) 他の実施例の説明 発明の効果(Contents) Industrial application field Conventional technology (FIGS. 12 to 14) Problems to be Solved by the Invention Means for Solving the Problems (FIG. 1) Action Embodiment (a) Description (FIGS. 2 to 5) (b) Description of processing of one embodiment (FIGS. 6 to 11) (c) Description of another embodiment Effect of the Invention

【0002】[0002]

【産業上の利用分野】本発明は、論理座標系で表現され
たアウトライン文字を、整数値で表現される物理座標上
に展開する文字生成方法及びその装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character generation method and apparatus for developing outline characters expressed in a logical coordinate system on physical coordinates expressed in integer values.

【0003】プリンタ装置、ディスプレイ装置等におい
ては、文字を印刷乃至表示するため、文字パターンの生
成を必要とするが、この文字パターンの生成において、
近年、同一文字でも、種々の文字サイズの文字が要求さ
れている。
In a printer device, a display device, or the like, a character pattern needs to be generated in order to print or display characters.
In recent years, characters of various character sizes have been required for the same characters.

【0004】このため、同一文字について、種々の文字
サイズの文字パターンを持たせることは、漢字のよう
に、多数の文字種類を持つものでは、メモリ容量が大き
く必要となる。
[0004] For this reason, providing character patterns of various character sizes for the same character requires a large memory capacity for those having a large number of character types such as Chinese characters.

【0005】これを解決するために、アウトラインフォ
ントのように、文字の輪郭情報を実数表現で且つ論理座
標系で表現した文字パターン情報を持っておき、この情
報を指定された文字サイズ座標系に変換して、文字を整
数で表現されるビットマップイメージに展開することが
行われている。
In order to solve this problem, character pattern information in which character outline information is expressed in a real number and in a logical coordinate system, such as an outline font, is stored, and this information is stored in a designated character size coordinate system. Conversion is performed to develop characters into bitmap images represented by integers.

【0006】このような文字生成方法においては、文字
の拡大、縮小をしても、文字が元のデザインに忠実に再
現されることが求められる。
In such a character generation method, it is required that the character be faithfully reproduced in the original design even if the character is enlarged or reduced.

【0007】[0007]

【従来の技術】図12、図13、図14は従来技術の説
明図(その1)、(その2)、(その3)である。
2. Description of the Related Art FIGS. 12, 13 and 14 are explanatory views (No. 1), (No. 2) and (No. 3) of the prior art.

【0008】従来、図形やアウトラインフォント等の実
数表現の論理座標データを、整数で表現されるビットマ
ップイメージに展開する場合、座標データは、プリンタ
やディスプレイのピクセル単位で表現できるように、小
数部分がまるめ処理され、このまるめ処理としては、座
標データが最も近いピクセルで表現されるようにするた
め、四捨五入が一般的である。
Conventionally, when developing logical coordinate data of a real number such as a figure or an outline font into a bitmap image expressed by an integer, the coordinate data is expressed in a decimal part so that it can be expressed in a pixel unit of a printer or a display. The rounding process is generally performed by rounding off so that the coordinate data is represented by the nearest pixel.

【0009】例えば、図12に示すように、アウトライ
ン形式で表現された漢字「目」という文字を構成するそ
れぞれの点(輪郭点)は、1000×1000などのよ
うな整数論理座標で保存されている。
For example, as shown in FIG. 12, each point (contour point) constituting the character of the Chinese character "eye" expressed in an outline format is stored in integer logical coordinates such as 1000.times.1000. I have.

【0010】この論理座標上の文字アウトラインは、必
要とされる文字サイズに変換されて、小数点を含んだ座
標値に変換され、これを物理座標で表現できるように全
ての点を整数に四捨五入すると、全ての点が最も近傍の
整数にまるめ処理される。
The character outline on the logical coordinates is converted into a required character size, converted into a coordinate value including a decimal point, and all points are rounded to an integer so as to be expressed in physical coordinates. , All points are rounded to the nearest integer.

【0011】例えば、12×14の文字サイズにする場
合には、図13(A)に示すように、座標変換処理によ
り、漢字の「目」という文字の左側の縦ストロークは、
X座標で、e=1.2からe’=2.7で表現され、四
捨五入のまるめ処理によって、図13(B)に示すよう
に、この縦ストロークは、X座標で1から3までの2ピ
クセル幅のビットマップイメージとなる。
For example, in the case of a character size of 12 × 14, as shown in FIG. 13A, a vertical stroke on the left side of the character “E” of the Chinese character is obtained by the coordinate conversion process.
The X-coordinate is expressed by e = 1.2 to e ′ = 2.7, and as shown in FIG. 13 (B), this vertical stroke is represented by 2 to 1 to 3 in the X-coordinate by rounding off and rounding. It becomes a bitmap image of pixel width.

【0012】又、文字「目」の右側の縦ストロークが、
X座標で、f=7.7からf’=9.2で表現され、ま
るめ処理の四捨五入により、図13(B)に示すよう
に、この縦ストロークは、X座標で、8から9までの1
ピクセル幅のビットマップイメージとなる。
The vertical stroke on the right side of the character "eye" is
In the X coordinate, f = 7.7 to f ′ = 9.2, and by rounding off the rounding process, as shown in FIG. 13 (B), this vertical stroke is expressed in the X coordinate from 8 to 9. 1
It becomes a bitmap image of pixel width.

【0013】このように、元々同じ幅を持つ縦ストロー
クであっても、四捨五入等のまるめ処理によって、物理
座標上の幅が、左側が2ピクセル、右側が1ピクセルに
なってしまう。
As described above, even if the vertical strokes have the same width, the width on the physical coordinates becomes 2 pixels on the left side and 1 pixel on the right side due to rounding processing such as rounding.

【0014】同様に、この文字「目」の4本の横ストロ
ークは、図13(A)に示すように、座標変換により、
上から順に、Y座標で、d=11.5、d’=12.
7、c=8.3、c’=9.5、b=4.5、b’=
5.7、a=0.3、a’=1.5となり、図13
(B)に示すように、まるめ処理により、各々d=1
2、d’=13、c=8、c’=10、b=5、b’=
6、a=0、a’=2となり、各横ストロークの線幅
は、各々1、2、1、2ピクセルとなる。
Similarly, the four horizontal strokes of the character “eye” are obtained by coordinate transformation as shown in FIG.
From the top, in the Y coordinate, d = 11.5, d ′ = 12.
7, c = 8.3, c ′ = 9.5, b = 4.5, b ′ =
5.7, a = 0.3, a ′ = 1.5, and FIG.
As shown in (B), by the rounding process, d = 1
2, d '= 13, c = 8, c' = 10, b = 5, b '=
6, a = 0 and a '= 2, and the line width of each horizontal stroke is 1, 2, 1, and 2 pixels, respectively.

【0015】このため、座標変換によって、各々の幅が
同一の「1.2」であるにもかかわらず、まるめ処理に
より、1ピクセルと2ピクセルの幅に処理されてしま
う。アウトラインフォントから展開されたビットマップ
フォントでは、この幅の誤差は、文字の印象を変えてし
まうので、できるだけ小さくするべきである。
[0015] For this reason, even though the respective widths are the same "1.2" by the coordinate conversion, they are processed to a width of 1 pixel and 2 pixels by the rounding process. In bitmap fonts developed from outline fonts, this width error changes the character's impression, so it should be as small as possible.

【0016】これを解決するため、図14に示すような
線幅保存まるめ処理方法が提案されている。この方法
は、横ストロークの上下又は縦ストロークの左右の内、
片方の輪郭線を優先的にまるめ処理して、もう片方を線
幅を保存したまままるめ処理するというものである。
In order to solve this, a line width preserving rounding method as shown in FIG. 14 has been proposed. This method, up and down horizontal stroke or left and right vertical stroke,
One of the contour lines is preferentially rounded, and the other is rounded while maintaining the line width.

【0017】図14により説明すると、図14(A)の
座標変換後の漢字「目」の内、a、b、c、d、e、f
が優先的にまるめ処理が行われる輪郭線であり、a’、
b’、c’、d’、e’、f’が線幅を保存したままで
まるめ処理される輪郭線である。
Referring to FIG. 14, among the kanji "eyes" after the coordinate conversion in FIG. 14A, a, b, c, d, e, f
Are contour lines on which rounding processing is performed preferentially, and a ′,
b ', c', d ', e', and f 'are contour lines to be rounded while keeping the line width.

【0018】先ず、一番下の横ストロークのY座標がa
である輪郭線をまるめ処理すると、「0.3」が四捨五
入によって「0」となる。次に、一番下の横ストローク
のY座標がa’である輪郭線をまるめ処理するが、この
時線幅を保存するから、aが0.3から0にまるめ処理
された誤差分の「−0.3」がa’に加えられ、a’=
1.5−0.3=1.2となり、まるめ処理によって、
線幅は1ピクセルとなる。
First, the Y coordinate of the bottom horizontal stroke is a
Is rounded, “0.3” becomes “0” by rounding. Next, the contour line in which the Y coordinate of the bottom horizontal stroke is a 'is rounded. At this time, the line width is preserved. −0.3 ”is added to a ′, and a ′ =
1.5−0.3 = 1.2, and by rounding,
The line width is one pixel.

【0019】同様に、一番上の横ストロークでは、輪郭
線dが「11.5」であり、まるめ処理により「12」
となると、輪郭線d’は12.7+0.5(誤差分)=
13.2となり、まるめ処理により「13」となり、線
幅は1ピクセルとなり、二番目の横ストロークでは、輪
郭線cが「8.3」であり、まるめ処理により「8」と
なると、輪郭線c’は9.5−0.3(誤差分)=9.
2となり、まるめ処理により「9」となり、線幅は1ピ
クセルとなり、三番目の横ストロークでは、輪郭線bが
「4.5」であり、まるめ処理により「5」となると、
輪郭線b’は5.7+0.5(誤差分)=6.2とな
り、まるめ処理により「6」となり、線幅は1ピクセル
となり、横ストロークの線幅は、もとの1.2にもっと
も近い1ピクセルに全て揃うことになる。
Similarly, in the uppermost horizontal stroke, the contour d is “11.5”, and “12” is obtained by rounding.
Then, the contour d ′ is 12.7 + 0.5 (error) =
13.2, the rounding process becomes "13", the line width becomes 1 pixel, the contour c is "8.3" in the second horizontal stroke, and the contour becomes "8" by the rounding process. c ′ is 9.5−0.3 (for error) = 9.
When the rounding process becomes “9”, the line width becomes 1 pixel, and in the third horizontal stroke, the outline b becomes “4.5”, and when the rounding process becomes “5”,
The outline b ′ becomes 5.7 + 0.5 (error) = 6.2, becomes “6” by the rounding process, the line width becomes 1 pixel, and the line width of the horizontal stroke is the original 1.2. All of them will be aligned to a close one pixel.

【0020】縦ストロークも同様にして、線幅2ピクセ
ルに揃い、図14(B)に示す如くなる。
Similarly, the vertical strokes are aligned to a line width of 2 pixels, as shown in FIG.

【0021】[0021]

【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題があった。横ストロークの線幅は揃う
が、図14(B)に示すように、横ストローク同士の間
隔は、上から、3、2、4ピクセルとなる。
However, the prior art has the following problems. Although the line widths of the horizontal strokes are the same, as shown in FIG. 14B, the intervals between the horizontal strokes are 3, 2, and 4 pixels from the top.

【0022】これを元の間隔と比較してみると、まるめ
処理前のストローク間隔は、文字「目」の上から順に、
c’=9.5、d=11.5であるから、d−c’=
2.0、b’=5.7、c=8.3であるから、c−
b’=2.6、a’=1.5、b=4.5であるから、
b−a’=3.0となり、元々の横ストロークの間隔は
上から下へ順に広くなっているが、まるめ処理後では、
中上下の順で広くなっており、間隔の逆転が生じてい
る。
When this is compared with the original interval, the stroke interval before rounding processing is as follows from the top of the character "eyes".
Since c ′ = 9.5 and d = 11.5, dc ′ =
2.0, b ′ = 5.7 and c = 8.3, so that c−
Since b ′ = 2.6, a ′ = 1.5 and b = 4.5,
ba ′ = 3.0, and the original horizontal stroke interval gradually increases from top to bottom, but after rounding,
It becomes wider in the middle and upper and lower order, and the interval is reversed.

【0023】即ち、c’とdの間隔は、元々2.0であ
るのに、3ピクセルの間隔に再現されており、b’とc
の間隔は、元々2.6であるのに、2ピクセルの間隔に
再現されている。
That is, although the interval between c ′ and d is originally 2.0, it is reproduced at an interval of 3 pixels.
Is reproduced at an interval of 2 pixels although it is originally 2.6.

【0024】横ストロークや縦ストロークの多い文字に
ついては、特に線幅やストロークの間隔を、論理座標で
表現された文字に忠実に再現することが文字品質を向上
させる上で重要であるが、線幅は改善されても、間隔ま
では調整されていなかった。
For characters having a large number of horizontal strokes and vertical strokes, it is important to reproduce the line width and the interval of the strokes faithfully to the character represented by the logical coordinates in order to improve the character quality. The width was improved but not adjusted to the spacing.

【0025】従って、本発明は、ストロークが複数本並
んでいる文字において、ストロークとストロークの間隔
を元のデザインに忠実に再現して、品質の良いビットマ
ップイメージを得ることができる文字生成方法及びその
装置を提供することを目的とする。
Accordingly, the present invention provides a character generation method and a character generation method capable of obtaining a high-quality bitmap image by faithfully reproducing an interval between strokes in a character having a plurality of strokes. It is intended to provide the device.

【0026】[0026]

【課題を解決するための手段】図1は本発明の原理図で
ある。本発明の請求項1は、文字の輪郭線を座標で表現
したアウトラインフォント情報を、指定されたサイズの
座標系の座標値に変換した後、整数座標値にまるめ処理
して、該指定されたサイズの文字のビットマップイメー
ジを生成する文字生成方法において、複数の同一種類の
ストロークを持つ文字に対して、該まるめ処理前のスト
ローク間の間隔と該まるめ処理後のストローク間の間隔
とから各間隔の変換倍率を算出し、該変換倍率の内、最
大の倍率と最小の倍率との差が小さくなるように、該複
数のストローク間隔間のストロークの座標を移動するこ
とを特徴とする。
FIG. 1 is a diagram illustrating the principle of the present invention. According to a first aspect of the present invention, after converting outline font information expressing the outline of a character by coordinates into coordinate values of a coordinate system having a specified size, the outline font information is rounded to integer coordinate values, and the specified coordinates are rounded. In a character generation method for generating a bitmap image of a character having a size, for a character having a plurality of strokes of the same type, each of a distance between strokes before the rounding processing and a distance between strokes after the rounding processing is used. A conversion magnification of the interval is calculated, and coordinates of strokes between the plurality of stroke intervals are moved so that a difference between a maximum magnification and a minimum magnification among the conversion magnifications is reduced.

【0027】本発明の請求項2は、請求項1において、
前記ストロークの座標を移動するため、前記変換倍率の
内、最大の倍率と最小の倍率との第1の差を算出し、該
最大となる倍率の該まるめ処理後のストローク間隔から
1を引いた当該倍率と、該最小となる倍率の該まるめ処
理後のストローク間隔に1を足した当該倍率とを算出
し、これらの倍率の第2の差を算出し、該第1の差と該
第2の差とを比較して、該第2の差が該第1の差よりも
小さい時に、該最大となる倍率のストローク間隔から該
最小となる倍率のストローク間隔までの間のストローク
を、該最大となる倍率のストローク間隔の方に1単位座
標だけ移動させることを特徴とする。
According to a second aspect of the present invention,
In order to move the coordinates of the stroke, a first difference between the maximum magnification and the minimum magnification among the conversion magnifications is calculated, and 1 is subtracted from the stroke interval after the rounding processing of the maximum magnification. The magnification and the magnification obtained by adding 1 to the stroke interval after the rounding processing of the minimum magnification are calculated, a second difference between these magnifications is calculated, and the first difference and the second When the second difference is smaller than the first difference, the stroke between the stroke interval of the maximum magnification and the stroke interval of the minimum magnification is set to the maximum difference. It is characterized in that it is moved by one unit coordinate toward the stroke interval of the magnification.

【0028】本発明の請求項3は、請求項1又は2にお
いて、前記各間隔の変換倍率を算出するため、前記まる
め処理前のストローク間の間隔と前記まるめ処理後のス
トローク間の間隔とを求めて、前記求めたまるめ処理前
のストローク間の間隔と前記まるめ処理後のストローク
間の間隔とから各間隔の変換倍率を算出することを特徴
とする。
According to a third aspect of the present invention, in order to calculate the conversion magnification of each of the intervals, the interval between the strokes before the rounding process and the interval between the strokes after the rounding process are calculated. The conversion magnification of each interval is calculated from the calculated interval between the strokes before the rounding process and the calculated interval between the strokes after the rounding process.

【0029】本発明の請求項4は、請求項1又は2又は
3において、前記文字のアウトライン情報とともに、前
記文字のストローク間隔の制御を行うストロークを指定
する情報を設定しておくことを特徴とする。
According to a fourth aspect of the present invention, in the first, second or third aspect, information for specifying a stroke for controlling a stroke interval of the character is set together with the outline information of the character. I do.

【0030】本発明の請求項5は、請求項1又は2又は
3又は4において、前記まるめ処理前のストローク間の
間隔と該まるめ処理後のストローク間の間隔とから各間
隔の変換倍率を算出するため、前記アウトライン情報か
ら前記文字の各ストロークの座標を算出して前記まるめ
前のストローク座標を格納し、前記まるめ前のストロー
ク座標をまるめ処理して前記まるめ後のストローク座標
を格納し、前記格納したまるめ前のストローク座標によ
り、前記まるめ前の各ストローク間隔を算出するととも
に、前記格納したまるめ後のストローク座標により、前
記まるめ後の各ストローク間隔を算出することを特徴と
する。
According to a fifth aspect of the present invention, the conversion magnification of each interval is calculated from the interval between the strokes before the rounding process and the interval between the strokes after the rounding process. To calculate the coordinates of each stroke of the character from the outline information, store the stroke coordinates before rounding, round the stroke coordinates before rounding and store the stroke coordinates after rounding, Each stroke interval before the rounding is calculated based on the stored stroke coordinates before rounding, and each stroke interval after the rounding is calculated based on the stored stroke coordinates after rounding.

【0031】本発明の請求項6は、文字の輪郭線を座標
で表現したアウトラインフォント情報を格納するフォン
トメモリ4と、該フォントメモリ4から指定された文字
のアウトラインフォント情報を読み出し、指定されたサ
イズの座標系の座標値に変換した後、整数座標値にまる
め処理して、該指定されたサイズの文字のビットマップ
イメージを生成する文字展開部3とを有する文字生成装
置において、該文字展開部3は、複数の同一種類のスト
ロークを持つ文字に対して、該まるめ処理前のストロー
ク間の間隔と該まるめ処理後のストローク間の間隔とか
ら各間隔の変換倍率を算出して、該変換倍率の内、最大
の倍率と最小の倍率との差が小さくなるよう該複数のス
トローク間隔間のストロークの座標を移動することを特
徴とする。
According to a sixth aspect of the present invention, there is provided a font memory 4 for storing outline font information in which the outline of a character is represented by coordinates, and the outline font information of the designated character is read out from the font memory 4 and the designated font font information is read out. After converting the coordinates into a coordinate value of a size coordinate system, the character developing device having a character developing unit 3 for rounding to an integer coordinate value and generating a bitmap image of the character of the designated size. The unit 3 calculates the conversion magnification of each interval from the interval between the strokes before the rounding process and the interval between the strokes after the rounding process for a plurality of characters having the same type of stroke, and The coordinate of the stroke between the plurality of stroke intervals is moved so that the difference between the maximum magnification and the minimum magnification among the magnifications becomes small.

【0032】本発明の請求項7は、請求項6において、
前記文字展開部3は、前記ストロークを移動するため、
前記変換倍率の内、最大の倍率と最小の倍率との第1の
差を算出し、該最大となる倍率の該まるめ処理後のスト
ローク間隔から1を引いた当該倍率と、該最小となる倍
率の該まるめ処理後のストローク間隔に1を足した当該
倍率とを算出し、これらの倍率の第2の差を算出し、該
第1の差と該第2の差とを比較して、該第2の差が該第
1の差よりも小さい時に、該最大となる倍率のストロー
ク間隔から該最小となる倍率のストローク間隔までの間
のストロークを、該最大となる倍率のストローク間隔の
方に1単位座標だけ移動させることを特徴とする。
In a seventh aspect of the present invention,
The character developing unit 3 moves the stroke,
Among the conversion magnifications, a first difference between a maximum magnification and a minimum magnification is calculated, the magnification obtained by subtracting 1 from the stroke interval after the rounding processing of the maximum magnification, and the minimum magnification Calculating the magnification obtained by adding 1 to the stroke interval after the rounding processing, calculating a second difference between these magnifications, comparing the first difference with the second difference, When the second difference is smaller than the first difference, the stroke from the stroke interval of the maximum magnification to the stroke interval of the minimum magnification is shifted toward the stroke interval of the maximum magnification. It is characterized in that it is moved by one unit coordinate.

【0033】本発明の請求項8は、請求項6又は7にお
いて、前記文字展開部3は、前記各間隔の変換倍率を算
出するため、前記まるめ処理前のストローク間の間隔と
前記まるめ処理後のストローク間の間隔とを求めて、前
記求めたまるめ処理前のストローク間の間隔と前記まる
め処理後のストローク間の間隔とから各間隔の変換倍率
を算出することを特徴とする。
According to an eighth aspect of the present invention, in accordance with the sixth or seventh aspect, the character expanding section 3 calculates the conversion magnification of each of the intervals, so that the interval between the strokes before the rounding process and the after-rounding process are calculated. The conversion magnification of each interval is calculated from the obtained interval between the strokes before the rounding process and the obtained interval between the strokes after the rounding process.

【0034】本発明の請求項9は、請求項6又は7又は
8において、前記フォントメモリ4に、前記文字のアウ
トライン情報とともに、前記文字のストローク間隔の制
御を行うストロークを指定する情報を設定しておくこと
を特徴とする。
According to a ninth aspect of the present invention, in the sixth, seventh or eighth aspect, information specifying a stroke for controlling a stroke interval of the character is set in the font memory 4 together with outline information of the character. It is characterized in that

【0035】本発明の請求項10は、請求項6又は7又
は8又は9において、前記文字展開部3は、前記まるめ
処理前のストローク間の間隔と該まるめ処理後のストロ
ーク間の間隔とから各間隔の変換倍率を算出するため、
前記アウトライン情報から前記文字の各ストロークの座
標を算出して前記まるめ前のストローク座標を格納し、
前記まるめ前のストローク座標をまるめ処理して前記ま
るめ後のストローク座標を格納し、前記格納したまるめ
前のストローク座標により、前記まるめ前の各ストロー
ク間隔を算出するとともに、前記格納したまるめ後のス
トローク座標により、前記まるめ後の各ストローク間隔
を算出することを特徴とする。
According to a tenth aspect of the present invention, in accordance with the sixth or seventh or eighth or ninth aspect, the character developing section 3 determines the interval between strokes before the rounding process and the interval between strokes after the rounding process. To calculate the conversion magnification for each interval,
Calculate the coordinates of each stroke of the character from the outline information and store the stroke coordinates before rounding,
The stroke coordinates before rounding are rounded to store the stroke coordinates after rounding, the stroke coordinates before rounding are calculated based on the stored stroke coordinates before rounding, and the stored strokes after rounding are stored. Each stroke interval after the rounding is calculated based on coordinates.

【0036】[0036]

【作用】本発明の請求項1及び6では、まるめ処理後の
ストローク間隔が元の文字でのストローク間隔の倍率が
均等であれば、まるめ処理後のストローク間隔は、元の
文字のデザインを再現しているといえる。
According to the first and sixth aspects of the present invention, if the stroke interval after rounding is equal to the stroke interval of the original character, the stroke interval after rounding reproduces the original character design. It can be said that.

【0037】このため、まるめ処理前のストローク間の
間隔とまるめ処理後のストローク間の間隔とから各間隔
の変換倍率を算出して、変換倍率の内、最大の倍率と最
小の倍率との差が小さくなるように複数のストローク間
隔間のストロークの座標を移動することにより、ストロ
ーク間隔を調整するものである。
For this reason, the conversion magnification of each interval is calculated from the interval between the strokes before the rounding processing and the interval between the strokes after the rounding processing, and the difference between the maximum magnification and the minimum magnification among the conversion magnifications is calculated. The stroke interval is adjusted by moving the coordinates of the strokes between the plurality of stroke intervals so as to reduce.

【0038】本発明の請求項2及び7では、最大の倍率
と最小の倍率との差を小さくするため、ストロークを1
ピクセルだけ移動させた時のかかる倍率の差を求め、移
動前の第1の差と、移動後の第2の差とを比較して、差
が最小となるストロークの位置を決定するようにして、
簡易な演算により、実現するようにした。
According to the second and seventh aspects of the present invention, in order to reduce the difference between the maximum magnification and the minimum magnification, the stroke is set to one.
The difference in the magnification when the pixel is moved by the pixel is obtained, the first difference before the movement is compared with the second difference after the movement, and the position of the stroke where the difference is minimized is determined. ,
It is realized by simple calculation.

【0039】本発明の請求項3及び8では、まるめ処理
前のストローク座標からまるめ処理前のストローク間隔
を算出するため、容易にまるめ処理前のストローク間隔
を演算できる。
According to the third and eighth aspects of the present invention, since the stroke interval before the rounding process is calculated from the stroke coordinates before the rounding process, the stroke interval before the rounding process can be easily calculated.

【0040】本発明の請求項4及び9では、文字のアウ
トライン情報とともに、文字のストローク間隔の制御を
行うストロークを指定する情報を設定したので、ストロ
ーク間隔の制御対象を容易に認識でき、元の文字のデザ
インに合ったストロークの調整が可能となる。
According to the fourth and ninth aspects of the present invention, information for designating a stroke for controlling the stroke interval of the character is set together with the outline information of the character, so that the object to be controlled for the stroke interval can be easily recognized. It is possible to adjust the stroke according to the character design.

【0041】本発明の請求項5及び10では、文字のア
ウトライン情報から変換により求めたまるめ前のストロ
ーク情報からまるめ前のストローク間隔を演算するの
で、容易にまるめ前のストローク間隔を求めることがで
き、文字生成速度をそれ程低下せずに実現できる。
According to the fifth and tenth aspects of the present invention, the stroke interval before rounding is calculated from the stroke information before rounding obtained by conversion from the outline information of the character, so that the stroke interval before rounding can be easily obtained. , Can be realized without significantly lowering the character generation speed.

【0042】[0042]

【実施例】【Example】

(a) 一実施例構成の説明 図2は本発明の一実施例ブロック図、図3は本発明の一
実施例文字展開部のブロック図、図4、図5は本発明の
一実施例フォントメモリの構成図(その1)、(その
2)である。
(a) Description of the configuration of one embodiment FIG. 2 is a block diagram of one embodiment of the present invention, FIG. 3 is a block diagram of a character expansion unit of one embodiment of the present invention, and FIGS. FIG. 2 is a configuration diagram (No. 1) and (No. 2) of a memory.

【0043】図2において、1は受信部であり、上位
(コンピュータ等)からの印刷コマンド及び印刷データ
を受信するもの、2はコマンド解析部であり、受信部1
で受信された印刷コマンド等の意味を解析して、文字と
図形に分けるもの、3は文字展開部であり、コマンド解
析部2からの文字コード、文字サイズ、向きを受け、フ
ォント格納メモリ4から文字情報を読み出して、文字を
ビットマップイメージに展開処理するものであり、図3
で後述するもの、4はフォント格納メモリであり、文字
をアウトライン形式で格納するものであり、図4、図5
で後述するものである。
In FIG. 2, reference numeral 1 denotes a receiving unit which receives a print command and print data from a host (computer or the like), and 2 denotes a command analyzing unit.
3 is a character developing unit that analyzes the meaning of the print command and the like received in step 2 and separates it into characters and figures, receives a character code, a character size, and a direction from the command analyzing unit 2, The character information is read out, and the character is developed into a bitmap image.
Reference numeral 4 denotes a font storage memory for storing characters in an outline format.
This will be described later.

【0044】5は描画部であり、図形、イメージをビッ
トマップイメージに展開処理するとともに、ビットマッ
プイメージに展開された文字と図形とを重ね合わせて、
ビットマップメモリ6に書き込むもの、6はビットマッ
プメモリであり、描画部5により文字、図形のビットマ
ップイメージが書き込まれるもの、7は印字部であり、
ビットマップメモリ6内のデータを用紙に印刷するもの
である。
Reference numeral 5 denotes a drawing unit, which develops graphics and images into bitmap images, and superimposes characters and graphics developed into bitmap images,
A writing unit 6 for writing to the bitmap memory 6; a bitmap memory 6 for writing bitmap images of characters and figures by the drawing unit 5; a printing unit 7;
The data in the bitmap memory 6 is printed on paper.

【0045】この動作は、受信部1で受信された印刷コ
マンド及び印刷データは、コマンド解析部2で意味が解
析され、文字と図形に分けられ、図形やイメージは描画
部5でビットマップイメージに展開処理され、文字は文
字展開部3でフォント格納メモリ4のアウトラインフォ
ント情報を利用して、指定された文字サイズのビットマ
ップイメージに展開処理される。
In this operation, the print command and print data received by the receiving unit 1 are analyzed in meaning by the command analyzing unit 2 and are divided into characters and figures. The figures and images are converted into bitmap images by the drawing unit 5. The characters are expanded, and the characters are expanded into a bitmap image of the designated character size by using the outline font information in the font storage memory 4 in the character expansion unit 3.

【0046】描画部5は、ビットマップイメージに展開
された文字と図形を重ね合わせ、ビットマップメモリ6
に書き込み、ビットマップメモリ6のデータは、印字部
7により用紙に印刷される。
The drawing unit 5 superimposes the characters and figures developed on the bitmap image and stores them in the bitmap memory 6.
And the data in the bitmap memory 6 is printed on paper by the printing unit 7.

【0047】図3により文字展開部3の詳細を、ブロッ
ク化して説明すると、30は拡大縮小演算器であり、フ
ォント格納メモリ4からの文字コードに対応する文字ア
ウトライン情報を、指定された文字サイズになるよう
に、拡大縮小演算するもの、31はヒント処理部であ
り、ヒント処理前のデータとヒント処理後のデータを各
ストローク毎に保持するテーブル(図9にて後述)を持
ち、ビットマップの文字品質が向上するように、まるめ
(ヒント)処理等を実行して、幅の調整や位置の調整を
行うものである。
Referring to FIG. 3, the details of the character expanding section 3 will be described in the form of a block. Reference numeral 30 denotes an enlargement / reduction operation unit which converts character outline information corresponding to a character code from the font storage memory 4 into a designated character size. Numeral 31 denotes a hint processing unit which has a table (described later with reference to FIG. 9) for holding the data before the hint processing and the data after the hint processing for each stroke. The width and the position are adjusted by executing a rounding (hint) process or the like so as to improve the character quality of.

【0048】32はストローク間隔演算器であり、ヒン
ト(まるめ)処理後の横ストローク同士又は縦ストロー
ク同士の間隔と、ヒント処理前の横ストローク又は縦ス
トローク同士の間隔を算出するもの、33は倍率演算器
であり、ヒント処理前のストローク間隔とヒント処理後
のストローク間隔との変換倍率を演算するもの、34は
最大最小倍率検出器であり、変換倍率の最大と最小とを
検出して、差を演算するものである。
Reference numeral 32 denotes a stroke interval calculator which calculates the interval between horizontal strokes or vertical strokes after the hint (rounding) processing and the interval between horizontal strokes or vertical strokes before the hint processing, and 33 denotes a magnification. An arithmetic unit for calculating a conversion magnification between the stroke interval before the hint processing and the stroke interval after the hint processing; a maximum / minimum magnification detector 34 for detecting the maximum and the minimum of the conversion magnification and calculating the difference; Is calculated.

【0049】35は試行器であり、ストローク間隔演算
器32に、変換倍率が最小となるストローク間隔のヒン
ト処理後の間隔に1ピクセルを足し、変換倍率が最大と
なるストローク間隔のヒント処理後の間隔に1ピクセル
を引いたストローク間隔の演算を指示するものである。
Reference numeral 35 denotes a trial unit which adds one pixel to the stroke interval calculator 32 after the hint processing of the stroke interval at which the conversion magnification becomes the minimum, and after the hint processing of the stroke interval at which the conversion magnification becomes the maximum. This is an instruction to calculate a stroke interval obtained by subtracting one pixel from the interval.

【0050】36は判定器であり、試行前の最大倍率と
最小倍率との差と、試行後の最大倍率と最小倍率との差
とを比較し、試行により差が縮まっていれば、試行後の
結果を、試行により差が縮まっていなければ、試行前の
結果をヒント処理部31にフィードバックするもの、3
7は面塗り処理部であり、ヒント処理部31の輪郭線情
報により輪郭線の内部を塗りつぶし、ビットマップイメ
ージを完成するものである。
Numeral 36 denotes a decision unit which compares the difference between the maximum magnification and the minimum magnification before the trial and the difference between the maximum magnification and the minimum magnification after the trial. If the difference is not reduced by the trial, the result before the trial is fed back to the hint processing unit 31;
Reference numeral 7 denotes a surface painting processing unit which fills the inside of the outline with the outline information of the hint processing unit 31 to complete a bitmap image.

【0051】尚、文字展開部3は、プロセッサで構成さ
れ、これらブロック30〜37は、ソフトウェアを機能
ブロック化したものである。この動作を説明すると、文
字展開部3では、指定された文字情報(アウトライン情
報)をフォント格納メモリ4から探し、それを指定され
た大きさ(サイズ)となるように、拡大縮小演算器30
で拡大縮小し、ヒント処理部31で、拡大縮小変換した
座標データをテーブルに格納し、これをまるめ処理し
て、ヒント処理後の座標データを算出し、テーブルに格
納する。
The character developing section 3 is constituted by a processor, and these blocks 30 to 37 are functional blocks of software. This operation will be described. In the character expanding section 3, the designated character information (outline information) is searched from the font storage memory 4, and the enlargement / reduction operation unit 30 is set so as to have the designated size (size).
Then, the hint processing unit 31 stores the coordinate data subjected to the scaling conversion in a table, rounds the coordinate data, calculates the coordinate data after the hint processing, and stores the coordinate data in the table.

【0052】このデータは、ストローク間隔演算器32
に与えられ、ヒント処理後の横ストローク同士又は縦ス
トローク同士の間隔と、ヒント処理前の横ストローク同
士又は縦ストローク同士の間隔とが演算される。
This data is stored in the stroke interval calculator 32.
The interval between horizontal strokes or vertical strokes after the hint processing and the interval between horizontal strokes or vertical strokes before the hint processing are calculated.

【0053】ストローク間隔演算器32の演算した間隔
により、倍率演算器33が、変換倍率を演算し、最大最
小倍率検出器34により、変換倍率の最大の間隔と最小
の間隔が検出され、その差(第1の差)が演算され、判
定器36に一時保持される。
The magnification calculator 33 calculates the conversion magnification based on the interval calculated by the stroke interval calculator 32, and the maximum and minimum magnification detector 34 detects the maximum interval and the minimum interval of the conversion magnification. (First difference) is calculated and temporarily stored in the determiner 36.

【0054】試行器35は、倍率が最小となるストロー
ク間隔のヒント処理後の間隔から1ピクセルを足し、倍
率が最大となるストローク間隔のヒント処理後の間隔か
ら1ピクセルを引く試行を、ストローク間隔演算器32
に指示し、ストローク間隔演算器32は、これに従った
ヒント処理後のストローク間隔を演算し、倍率演算器3
3に出力する。
The trial unit 35 performs an attempt to add one pixel from the interval after the hint processing of the stroke interval at which the magnification is the minimum and subtract one pixel from the interval after the hint processing of the stroke interval at which the magnification is the maximum. Arithmetic unit 32
And the stroke interval calculator 32 calculates the stroke interval after the hint processing according to the instruction, and
Output to 3.

【0055】倍率演算器33では、ヒント処理後のスト
ローク間隔が修正された変換倍率を演算し、最大最小倍
率検出器34により、この最大の間隔と最小の間隔の差
(第2の差)が演算され、判定器36に出力される。
The magnification calculator 33 calculates the conversion magnification in which the stroke interval after the hint processing is corrected, and the maximum / minimum magnification detector 34 calculates the difference (second difference) between the maximum interval and the minimum interval. The calculation is performed and output to the determiner 36.

【0056】判定器36は、先の一時保持した第1の差
と、試行後の第2の差を比較し、試行によって差が縮ま
っていれば、試行後の結果を、差が縮まっていなけれ
ば、試行前の結果をヒント処理部31にフィードバック
する。
The judging unit 36 compares the first difference temporarily held and the second difference after the trial. If the difference is reduced by the trial, the result after the trial must be reduced. For example, the result before the trial is fed back to the hint processing unit 31.

【0057】ヒント処理部31では、試行が不成功の場
合には、特別な処理を行わずに、ヒント処理後のデータ
を面塗り部37に渡し、試行が成功した場合には、最大
倍率となるストローク間隔から最小倍率となるストロー
ク間隔までの間のストロークを最大倍率となるストロー
ク間隔の方へ1ピクセルだけ移動させたヒント処理後の
データを作成して、面塗り部37に渡す。
If the trial is unsuccessful, the hint processing unit 31 passes the data after the hint processing to the face-coating unit 37 without performing any special processing. The data after the hint processing in which the stroke from the stroke interval to the stroke interval to be the minimum magnification is moved by one pixel toward the stroke interval to be the maximum magnification is created and transferred to the surface painting unit 37.

【0058】最後に、面塗り部37は、渡されたデータ
により輪郭線の内部が指定通りに塗りつぶされ、ビット
マップイメージが完成する。図4、図5によりフォント
格納メモリの構成について説明する。
Finally, in the face-painting section 37, the inside of the outline is painted as specified by the passed data, and the bitmap image is completed. The configuration of the font storage memory will be described with reference to FIGS.

【0059】ここでは、文字を構成する偏やつくりに相
当するエレメント、筆の運びに相当するストローク、入
筆部や終筆部に相当するパーツというように階層構造に
文字を分解する格納方式で説明する。
Here, a storage method is used in which characters are decomposed into a hierarchical structure, such as elements corresponding to bias and structure forming a character, strokes corresponding to carrying a brush, and parts corresponding to a writing portion and an end portion. explain.

【0060】更に、データ量削減を目的として、文字の
階層構造と特徴データを格納した図4の構造情報格納メ
モリ4aと、ストローク又はパーツに分解された文字の
輪郭線を格納した輪郭情報格納メモリ4bからなるもの
で説明する。
Further, for the purpose of reducing the amount of data, a structure information storage memory 4a shown in FIG. 4 for storing the character hierarchical structure and the characteristic data, and a contour information storage memory for storing the outline of the character decomposed into strokes or parts. 4b.

【0061】構造情報格納メモリ4aは、図4に示すよ
うに、文字セットの種類(明朝体、ゴシック体等)や作
成日付等の共通情報を格納したヘッダ部40と、文字コ
ードから目的の情報を探し出すキャラクタポインタ部4
1と、偏やつくり等に分解されたエレメントを指し示す
エレメントポインタ部42、各エレメントがどのような
構造を持つかを記述したエレメントディレクトリ部43
からなる。
As shown in FIG. 4, the structure information storage memory 4a includes a header section 40 storing common information such as a character set type (Mincho style, Gothic style, etc.) and a creation date. Character pointer section 4 for finding information
1, an element pointer section 42 pointing to elements decomposed into bias or structure, and an element directory section 43 describing how each element has a structure.
Consists of

【0062】エレメントディレクトリ部43には、各エ
レメントの分類コードと、エレメントを構成するストロ
ークの詳細な情報を記述したストロークブロック45と
を有するエレメントブロック44で構成されている。
The element directory section 43 is composed of an element block 44 having a classification code of each element and a stroke block 45 in which detailed information of a stroke constituting the element is described.

【0063】このストロークブロック45には、ストロ
ークの分類コードと、ストロークのパーツの情報(例え
ば、各パーツの文字座標系から見た原点座標等)を記述
したパーツブロックの他に、ホワイトスペースブロック
を持ち、ここにストロークの間隔を制御するための情報
が格納されている。
The stroke block 45 includes a white space block in addition to a part block in which a stroke classification code and information on parts of the stroke (for example, the origin coordinates of the respective parts as viewed from the character coordinate system) are described. And information for controlling the interval between strokes is stored here.

【0064】このホワイトスペースブロックには、Xグ
ループ番号と、Yグループ番号と、細線化符号と、消去
符号とを有し、Xグループ番号は、そのストロークがX
方向に見て、他のストロークと間隔の制御を必要とする
かどうかを示しており、必要がない時には、「0」が記
入されており、必要がある時は、間隔制御を必要とする
ストローク群のグループ番号が記入されている。
The white space block has an X group number, a Y group number, a thinning code, and an erasure code.
In the direction, it indicates whether or not other strokes and interval control are required. When there is no need, "0" is entered. When necessary, the stroke which requires interval control is indicated. The group number of the group is entered.

【0065】例えば、漢字「冊」という文字では、縦ス
トロークが4本あり、これらはX方向の間隔制御を必要
とするから、同じグループ番号(例えば「1」)が記入
されている。
For example, in the case of the kanji character "book", there are four vertical strokes, which need to be controlled in the X direction. Therefore, the same group number (for example, "1") is entered.

【0066】次に、Yグループ番号は、そのストローク
がY方向に見て、他のストロークと間隔の制御を必要と
するかどうかを示しており、必要がない時には、「0」
が記入されており、必要がある時は、間隔制御を必要と
するストローク群のグループ番号が記入されている。
Next, the Y group number indicates whether or not the stroke requires control of other strokes and intervals when viewed in the Y direction.
Is entered, and when necessary, the group number of a stroke group that requires interval control is entered.

【0067】例えば、前述の漢字「目」という文字で
は、横ストロークが4本あり、これらはY方向の間隔制
御を必要とするから、同じグループ番号(例えば
「1」)が記入されている。
For example, in the case of the above-mentioned character "E", there are four horizontal strokes, and since these require interval control in the Y direction, the same group number (for example, "1") is entered.

【0068】又、細線化符号とは、太くデザインされた
書体の場合に、線と線の間隔が小さくなりすぎて、くっ
ついてしまうのを防止するため、この符号が「1」であ
るストロークを元の太さよりも細くして、線の間隔を保
つ目的で設けてある。
In order to prevent a line type from being stuck together due to an excessively small space between lines in a typeface designed to be thick, a thin line code is a stroke whose code is "1". It is provided for the purpose of keeping the distance between lines smaller than the original thickness.

【0069】次の消去符号は、文字をかなり小さなビッ
トマップに展開した時、隣同士のストロークがくっつい
てしまい、しかも幅が1ピクセルしかないために細くす
ることもできない場合に、この符号が「1」であるスト
ロークを消去して、可読性を向上させる目的として設け
てある。
The following erasure code is used when the character is expanded into a considerably small bitmap, and the strokes between the adjacent characters are stuck together, and the width is only one pixel, so that the code cannot be narrowed. It is provided for the purpose of erasing the stroke of "1" and improving readability.

【0070】指定された文字が、間隔の調整を必要とよ
うなストロークを持っているかどうかは、構造情報格納
メモリ4a内のホワイトスペースブロックの中のXグル
ープ番号とYグループ番号を順に読み出して調べ、
「0」以外の番号が記入されていれば、同じグループ番
号を持つストローク同士について、間隔の調整を行う。
Whether or not the designated character has a stroke that requires an interval adjustment is checked by sequentially reading the X group number and the Y group number in the white space block in the structure information storage memory 4a. ,
If a number other than “0” is entered, the distance between strokes having the same group number is adjusted.

【0071】次に、輪郭情報格納メモリ4bは、例え
ば、文字がパーツまで分解されている場合には、図5に
示すようなデータ構造をとる。即ち、文字セットの種類
や作成日付等のような共通情報を格納したヘッダ部46
と、文字コードから目的の情報を探し出すキャラクタポ
インタ部47と、指定された文字を構成するパーツイメ
ージを探し出すパーツポインタ部48と、パーツイメー
ジが輪郭線で記述された輪郭情報部49とからなる。
Next, the outline information storage memory 4b has a data structure as shown in FIG. 5, for example, when characters are decomposed into parts. That is, the header section 46 storing common information such as the type of character set and the creation date.
A character pointer unit 47 for searching for target information from the character code, a part pointer unit 48 for searching for a part image constituting the designated character, and a contour information unit 49 in which the part image is described by a contour line.

【0072】パーツポインタ部48には、各ストローク
の順にパーツポインタ1〜nが設けられ、各パーツポイ
ンタ1〜nには、ストロークの終了を示すフラグが設け
られている。
The part pointer section 48 is provided with part pointers 1 to n in the order of strokes, and each of the part pointers 1 to n is provided with a flag indicating the end of the stroke.

【0073】例えば、1つのストロークのパーツが、パ
ーツポインタ1、2とすると、パーツポインタ2に、ス
トロークの終了を示すフラグが設定され、各ストローク
がどのパーツに対応するかが判るようにしてある。
For example, if the parts of one stroke are the parts pointers 1 and 2, a flag indicating the end of the stroke is set in the parts pointer 2 so that it is possible to determine which part each stroke corresponds to. .

【0074】このようにすると、輪郭情報部49の各パ
ーツは、文字毎にパーツポインタ部48を設けるだけ
で、多数の文字で共用でき、フォントメモリの削減が可
能となる。
Thus, each part of the outline information section 49 can be shared by a large number of characters only by providing the part pointer section 48 for each character, and the font memory can be reduced.

【0075】(b) 一実施例処理の説明 図6は本発明の一実施例間隔制御処理フロー図、図7、
図8は本発明の一実施例文字生成動作説明図(その
1)、(その2)、図9は本発明の一実施例文字展開テ
ーブルの説明図、図10、図11は本発明の一実施例動
作説明図(その1)、(その2)である。
(B) Description of one embodiment process FIG. 6 is a flowchart of an interval control process according to one embodiment of the present invention.
FIG. 8 is an explanatory diagram of a character generation operation according to an embodiment of the present invention (part 1), (part 2), FIG. 9 is an explanatory diagram of a character expansion table of an embodiment of the present invention, and FIGS. FIG. 7 is an explanatory diagram (part 1) and (part 2) of the operation of the embodiment.

【0076】先ず、漢字「目」を例に、図7、図8、図
9により、フォントメモリ4から文字を生成する動作に
ついて説明する。図7に示すように、フォントメモリ4
の構造情報格納メモリ4aのキャラクタポインタ部41
で、漢字「目」の文字コード「96DA」をたよりに、
エレメントへのポインタが得られ、更にエレメントポイ
ンタ部42で、構造情報の格納されているエレメントブ
ロック44のポインタを得る。
First, the operation of generating a character from the font memory 4 will be described with reference to FIGS. 7, 8, and 9, taking the Chinese character "eye" as an example. As shown in FIG.
Character pointer section 41 of the structure information storage memory 4a
Then, according to the character code "96DA" of the kanji "eye",
The pointer to the element is obtained, and the pointer of the element block 44 in which the structure information is stored is obtained by the element pointer section 42.

【0077】エレメントブロック44では、エレメント
の分類コードの次のストロークブロック45内に、漢字
「目」を構成する6本のストロークに関する情報が記述
されている。
In the element block 44, information on the six strokes constituting the kanji "eye" is described in the stroke block 45 following the element classification code.

【0078】ここでは、文字の書き順に従って並んでい
る例を示している。最初のストロークは、縦線であり、
縦線の分類コード「000001」を持ち、Xグループ
番号、Yグループ番号、細線化符号、消去符号の順に並
んだ制御符号欄が、「0000」であり、X、Y共に間
隔制御のグループ番号が「0」のため、間隔制御の必要
はなく、細線化符号、消去符号も「0」である。
Here, an example in which the characters are arranged in the order of writing is shown. The first stroke is a vertical line,
The control code column having the vertical line classification code "000001" and arranged in the order of the X group number, the Y group number, the thinning code, and the erasure code is "0000". Since it is "0", there is no need for interval control, and the thinning code and the erasure code are also "0".

【0079】2番目のストロークは、横線であり、分類
コード「000010」を持ち、Y方向にグループ番号
があり、以下同様に、4番目、5番目、6番目のストロ
ークと共にY方向の間隔制御の対象となり、「目」とい
う文字については、Y方向に4本の間隔制御のグループ
があることになる。
The second stroke is a horizontal line, has a classification code "0000010", has a group number in the Y direction, and similarly applies the fourth, fifth, and sixth strokes together with the interval control in the Y direction. For the character "eye", there are four groups of interval control in the Y direction.

【0080】4番目、5番目のストロークは、細線化符
号が「1」のため、線幅の太い書体等でビットマップに
展開した時に、横線同士がくっついてしまって間隔を保
持できない場合には、これらの線幅を細くして間隔を保
つように制御される。
In the fourth and fifth strokes, when the thinning code is “1”, when the horizontal lines are stuck together when the bitmap is developed in a font having a large line width and the spacing cannot be maintained, , Are controlled so as to keep the line width small and maintain the interval.

【0081】更に、4番目のストロークは、消去符号が
「1」であり、小さなビットマップイメージを生成する
場合に、横線同士が隣接してしまい、黒くつぶれた時、
この横線を消去して、線間の間隔を保つ。
Further, in the fourth stroke, the erasure code is “1”, and when a small bitmap image is generated, when the horizontal lines are adjacent to each other and become black,
This horizontal line is deleted to keep the space between the lines.

【0082】従って、構造情報格納メモリ4aでは、文
字「目」の文字コードから対応するストロークブロック
45の内容が引き出される。同様に、図8(A)に示す
ように、漢字「目」の文字コード「96DA」からキャ
ラクタポインタ部47よりパーツポインタ部48のポイ
ンタを求め、パーツポインタ部48より輪郭情報部49
より対応する輪郭情報を引き出す。
Therefore, in the structure information storage memory 4a, the contents of the corresponding stroke block 45 are derived from the character code of the character "eye". Similarly, as shown in FIG. 8A, a pointer of the part pointer section 48 is obtained from the character pointer section 47 from the character code "96DA" of the kanji "eye", and the outline information section 49 is obtained from the part pointer section 48.
The corresponding contour information is extracted.

【0083】図3で説明した拡大縮小演算器30は、か
かる輪郭情報を指定サイズの文字の大きさの輪郭情報に
拡大縮小演算する。例えば、図10に示すXが12ピク
セル、Yが14ピクセルのサイズにするには、図12で
示した1000×1000の座標系で表現された文字の
輪郭情報をX方向は、12/1000倍し、Y方向は、
14/1000倍する。
The enlargement / reduction operation unit 30 described with reference to FIG. 3 performs the operation of enlarging / reducing the outline information into outline information of the character size of the designated size. For example, in order to set the size of X to 12 pixels and the size of Y to 14 pixels shown in FIG. 10, the outline information of the character represented by the 1000 × 1000 coordinate system shown in FIG. And the Y direction is
14/1000 times.

【0084】このようにして、変換演算された輪郭情報
は、ストロークブロック45の情報とともに、図3のヒ
ント処理部31に送られ、ヒント処理部31では、図9
の文字展開テーブルを作成する。
The contour information calculated in this manner is sent to the hint processing section 31 of FIG. 3 together with the information of the stroke block 45.
Create a character expansion table.

【0085】この文字展開テーブルは、文字を構成する
各ストローク毎に、ストローク番号と、まるめ処理前の
ストロークの座標(縦ストロークの線幅の左側のX座標
Xl、縦ストロークの線幅の右側のX座標Xr、横スト
ロークの線幅の下側のY座標Yb、横ストロークの線幅
の上側のY座標Yu)と、まるめ処理後のストロークの
座標(縦ストロークの線幅の左側のX座標Xl、縦スト
ロークの線幅の右側のX座標Xr、横ストロークの線幅
の下側のY座標Yb、横ストロークの線幅の上側のY座
標Yu)と、グループ番号(X、Y)、細線化符号
(X、Y)、消去符号(X、Y)と、そのストロークの
輪郭情報を格納する。
The character development table includes, for each stroke constituting a character, a stroke number, the coordinates of the stroke before rounding processing (X coordinate Xl on the left side of the line width of the vertical stroke, and the right side of the line width of the vertical stroke). X coordinate Xr, Y coordinate Yb below line width of horizontal stroke, Y coordinate Yu above line width of horizontal stroke, and coordinates of stroke after rounding processing (X coordinate Xl on the left side of line width of vertical stroke) X coordinate Xr on the right side of the line width of the vertical stroke, Y coordinate Yb on the lower side of the line width of the horizontal stroke, Y coordinate Yu on the upper side of the line width of the horizontal stroke), the group number (X, Y), and thinning. A code (X, Y), an erasure code (X, Y), and outline information of the stroke are stored.

【0086】従って、ヒント処理部31では、拡大縮小
演算器30で演算された各輪郭情報を、文字展開テーブ
ルの対応するストロークの輪郭情報欄に、ストロークの
構造情報を各々制御符号欄(グループ番号(X、Y)、
細線化符号(X、Y)、消去符号(X、Y))に格納
し、この輪郭情報と、縦ストロークか横ストロークかに
応じて、まるめ処理前のストロークの座標を求め、まる
め処理前のストローク座標欄に格納する。
Therefore, the hint processing unit 31 stores the outline information calculated by the scaling calculator 30 in the outline information column of the corresponding stroke in the character expansion table, and the structure information of the stroke in the control code column (group number). (X, Y),
Are stored in the thinning code (X, Y) and the erasure code (X, Y)), and the coordinates of the stroke before rounding are obtained according to the outline information and the vertical stroke or the horizontal stroke. Store in the stroke coordinate field.

【0087】更に、ヒント処理部31は、このまるめ処
理前のストローク座標を、前述の線幅保存まるめ処理を
行い、まるめ処理後のストローク座標を求め、文字展開
テーブルのまるめ処理後のストローク座標欄に格納す
る。
Further, the hint processing section 31 performs the above-described line width preserving rounding processing on the stroke coordinates before the rounding processing, obtains the stroke coordinates after the rounding processing, and calculates the stroke coordinates after the rounding processing in the character development table. To be stored.

【0088】これを図7、図8で示した文字「目」につ
いて、図10のサイズに変換する例で説明すると、図8
(B)に示すように、1番目のストローク1は、縦スト
ロークであるので、輪郭情報から縦ストロークの線幅の
左側のX座標Xlを、図10(A)のeの座標である
1.3を、縦ストロークの線幅の右側のX座標Xrを、
図10(A)のe’の座標である2.7を求め、まるめ
処理前のストローク欄に格納する。
This will be described with reference to an example of converting the character “eyes” shown in FIGS. 7 and 8 into the size shown in FIG.
As shown in FIG. 10B, since the first stroke 1 is a vertical stroke, the X coordinate X1 on the left side of the line width of the vertical stroke is determined from the outline information as the coordinate of e in FIG. 3 to the X coordinate Xr on the right side of the line width of the vertical stroke,
2.7, which is the coordinate of e ′ in FIG. 10A, is obtained and stored in the stroke column before rounding.

【0089】そして、これを線幅保存まるめ処理する
と、図10(B)に示すように、1番目のストローク1
の縦ストロークの線幅の左側のX座標Xlは、「1」と
なり、縦ストロークの線幅の右側のX座標Xrは、
「3」となり、これをまるめ処理後のストローク欄に格
納する。
Then, when this processing is performed for the line width preserving rounding processing, as shown in FIG.
The X coordinate Xl on the left side of the line width of the vertical stroke is “1”, and the X coordinate Xr on the right side of the line width of the vertical stroke is
"3" is stored in the stroke field after rounding.

【0090】以下、同様に、2番目のストローク2、3
番目のストローク3、4番目のストローク4、5番目の
ストローク5、6番目のストローク6について、まるめ
処理前のストローク座標と、まるめ処理後のストローク
座標とを求め、文字展開テーブルに格納する。
Hereinafter, similarly, the second strokes 2, 3
For the third stroke, the fourth stroke 4, the fifth stroke 5, and the sixth stroke 6, the stroke coordinates before the rounding process and the stroke coordinates after the rounding process are obtained and stored in the character development table.

【0091】このようにすると、まるめ処理前の文字
「目」は、図10(A)のようになり、まるめ処理後の
文字「目」は、図10(B)のようになる。これらのデ
ータを用いて、図3のストローク間隔演算器32、倍率
演算器33、最大最小倍率検出器34、試行器35、判
定器36の動作により、図6の間隔制御処理が行われ
る。 ヒント処理部31は、フォントメモリ4の構造情報格
納メモリ4aから指定された文字のエレメントのストロ
ークブロックを読み出し、拡大縮小演算器30の輪郭情
報とともに、図9の文字展開テーブルを前述の如く作成
する。
In this way, the character "eye" before the rounding process becomes as shown in FIG. 10A, and the character "eye" after the rounding process becomes as shown in FIG. 10B. Using these data, the interval control processing of FIG. 6 is performed by the operations of the stroke interval calculator 32, the magnification calculator 33, the maximum / minimum magnification detector 34, the trial unit 35, and the determiner 36 of FIG. The hint processing unit 31 reads the stroke block of the specified character element from the structure information storage memory 4a of the font memory 4, and creates the character expansion table of FIG. 9 together with the outline information of the scaling calculator 30 as described above. .

【0092】ヒント処理部31は、文字展開テーブル
のグループ番号欄を読み、同一のグループ番号のストロ
ークグループを拾い出し、これらのまるめ処理前のスト
ローク座標と、まるめ処理後のストローク座標とを読み
出し、ストローク間隔演算器32に渡す。
The hint processing section 31 reads the group number column of the character expansion table, picks up a stroke group having the same group number, and reads out the stroke coordinates before the rounding process and the stroke coordinates after the rounding process. This is passed to the stroke interval calculator 32.

【0093】例えば、前述の漢字「目」の例では、文字
展開テーブルよりストローク2、4、5、6の4本のス
トロークが同一のグループのストロークとして、そのま
るめ処理前のストローク座標と、まるめ処理後のストロ
ーク座標とが読み出される。
For example, in the above-described example of the Chinese character "E", four strokes 2, 4, 5, and 6 are regarded as strokes of the same group from the character expansion table, and the stroke coordinates before the rounding processing and the rounding The stroke coordinates after the processing are read.

【0094】ストローク間隔演算器32は、まるめ処
理前のストローク座標から元の文字のストローク間隔を
計算し、次にまるめ処理後のストローク座標からヒント
処理後のストローク間隔を計算する。
The stroke interval calculator 32 calculates the stroke interval of the original character from the stroke coordinates before the rounding process, and then calculates the stroke interval after the hint process from the stroke coordinates after the rounding process.

【0095】図9、図10の例では、図10(A)のd
−c’、c−b’、b−a’の3つのストローク間隔w
a1、wa2、wa3が、元の文字のストローク間隔と
して計算され、図10(B)のd0−c’0、c0−
b’0、b0−a’0の3つのストローク間隔wb1、
wb2、wb3が、ヒント処理後のストローク間隔とし
て計算される。
In the examples of FIGS. 9 and 10, d in FIG.
-Three stroke intervals w of c ', cb', ba '
a1, wa2, and wa3 are calculated as the stroke intervals of the original character, and d0-c'0, c0- in FIG.
three stroke intervals wb1, b'0, b0-a'0,
wb2 and wb3 are calculated as the stroke interval after the hint processing.

【0096】次に、倍率演算器33により、ヒント処
理後のストローク間隔を元の文字のストローク間隔で割
って、各ストローク間隔の倍率(比)が計算される。図
10の例では、各ストローク間隔の倍率として、wb1
/wa1、wb2/wa2、wb3/wa3が計算され
る。
Next, the magnification calculator 33 calculates the magnification (ratio) of each stroke interval by dividing the stroke interval after the hint processing by the stroke interval of the original character. In the example of FIG. 10, the magnification of each stroke interval is wb1
/ Wa1, wb2 / wa2, wb3 / wa3 are calculated.

【0097】そして、最大最小倍率検出器33により、
計算した倍率を比較して、倍率の最小と最大とを検出
し、最大(例えば、wb1/wa1)と最小(例えば、
wb2/wa2)との差(第1の差)を演算する。
Then, the maximum / minimum magnification detector 33 calculates
By comparing the calculated magnifications, the minimum and maximum of the magnification are detected, and the maximum (for example, wb1 / wa1) and the minimum (for example, wb1 / wa1) are detected.
wb2 / wa2) (first difference).

【0098】試行器35は、最大の倍率の分子(ヒン
ト処理後のストローク間隔)から1を減じ、最小の倍率
の分子(ヒント処理後のストローク間隔)に1を加える
ようストローク間隔演算器32に指示する。
The trial unit 35 causes the stroke interval calculator 32 to subtract 1 from the numerator of the maximum magnification (stroke interval after hint processing) and add 1 to the numerator of the minimum magnification (stroke interval after hint processing). To instruct.

【0099】これにより、ストローク間隔演算器32
は、最大の倍率の分子wb1に1を引き、最小の倍率の
分子wb2に1を足す演算を行い、倍率演算器33は、
この最大倍率のストローク間隔の倍率と最小の倍率のス
トローク間隔の倍率とを計算する。
Thus, the stroke interval calculator 32
Performs an operation of subtracting 1 from the numerator wb1 having the maximum magnification and adding 1 to the numerator wb2 having the minimum magnification.
The magnification of the stroke interval of the maximum magnification and the magnification of the stroke interval of the minimum magnification are calculated.

【0100】即ち、(wb1−1)/wa1と、(wb
2+1)/wa2とを計算する。次に、最大最小倍率検
出器33は、この差(第2の差)を計算する。 判定器36は、第1の差と第2の差とを比較し、第2
の差が第1の差より小さくなり、試行により差が小さく
なったかを判定する。
That is, (wb1-1) / wa1 and (wb
2 + 1) / wa2. Next, the maximum / minimum magnification detector 33 calculates this difference (second difference). The determiner 36 compares the first difference with the second difference,
Is smaller than the first difference, and it is determined whether the difference has been reduced by trial.

【0101】判定器36は、差が小さくならなければ、
ヒント処理部31の文字展開テーブルを変更しないが、
逆に、差が小さくなると、最大倍率のストローク間隔と
最小倍率のストローク間隔の間のストロークの座標に1
ピクセルを加算又は減算して、ストロークイメージを移
動させるようヒント処理部31に指示する。
If the difference does not become small, the decision unit 36
Although the character expansion table of the hint processing unit 31 is not changed,
Conversely, when the difference becomes small, the coordinates of the stroke between the stroke interval of the maximum magnification and the stroke interval of the minimum magnification become 1
The hint processing unit 31 is instructed to move the stroke image by adding or subtracting pixels.

【0102】ヒント処理部31では、文字展開テーブル
のまるめ処理後の当該ストロークの座標値を1ピクセル
変更する。ここでは、ストローク間隔wb1、wb2の
間のストローク4の横ストロークの線幅の下側のY座標
Yb、横ストロークの線幅の上側のY座標Yuの各々
に、「1」を加算して、文字展開テーブルを更新する。
The hint processing unit 31 changes the coordinate value of the stroke after rounding the character expansion table by one pixel. Here, “1” is added to each of the lower Y coordinate Yb of the horizontal stroke line width of the stroke 4 and the upper Y coordinate Yu of the horizontal stroke line width of the stroke 4 between the stroke intervals wb1 and wb2, Update the character expansion table.

【0103】従って、これにより生成される文字「目」
は、図11のようになる。 次に、ヒント処理部31は、文字展開テーブルのグル
ープ番号欄を調べ、未だ未処理のグループ番号があるか
を調べ、有れば、ステップに戻る。
Therefore, the character "eye" generated by this
Is as shown in FIG. Next, the hint processing unit 31 checks the group number column of the character expansion table to check whether there is any unprocessed group number. If there is, the process returns to the step.

【0104】ヒント処理部31は、未処理のグループ番
号が無いと判定すると、X、Y方向とも間隔制御を終了
したかを調べ、終了してなければ、ステップに戻り、
終了していると、文字の全エレメントを繰り返したかを
判定し、全エレメントを終了していなければ、ステップ
に戻り、終了していれば、間隔制御処理を終了する。
When determining that there is no unprocessed group number, the hint processing unit 31 checks whether the interval control has been completed in both the X and Y directions, and if not completed, returns to the step.
If the processing has been completed, it is determined whether all the elements of the character have been repeated. If all the elements have not been completed, the process returns to the step. If completed, the interval control processing ends.

【0105】尚、間隔制御が終了すると、文字展開部3
では、描画部37が、文字展開テーブルの内容により、
描画を行い、ビットマップイメージを完成する。これを
図9、図10、図11の漢字「目」の例で具体的に説明
する。
When the interval control is completed, the character developing unit 3
Then, the drawing unit 37 determines, based on the contents of the character expansion table,
Draw and complete the bitmap image. This will be specifically described with reference to the example of the kanji character “E” in FIGS. 9, 10, and 11.

【0106】ステップにより、図9の文字展開テーブ
ルからストローク2、4、5、6が横ストロークの同一
グループとして抽出され、そのまるめ前ストローク座標
と、まるめ後のストローク座標が読み出される。
By the steps, strokes 2, 4, 5, and 6 are extracted from the character development table of FIG. 9 as the same group of horizontal strokes, and the stroke coordinates before rounding and the stroke coordinates after rounding are read out.

【0107】次に、ステップで各ストロークのまるめ
処理前の間隔wa1、wa2、wa3が計算される。 wa1=d(ストローク2のYb)−c’(ストローク4のYu) =11.5−9.5=2.0 wa2=c(ストローク4のYb)−b’(ストローク5のYu) =8.3−5.7=2.6 wa3=b(ストローク5のYb)−a’(ストローク6のYu) =4.5−1.5=3.0 又、各ストロークのまるめ処理後の間隔wb1、wb
2、wb3が計算される。
Next, in steps, intervals wa1, wa2, wa3 of each stroke before rounding processing are calculated. wa1 = d (Yb of stroke 2) −c ′ (Yu of stroke 4) = 11.5−9.5 = 2.0 wa2 = c (Yb of stroke 4) −b ′ (Yu of stroke 5) = 8 .3-5.7 = 2.6 wa3 = b (Yb of stroke 5)-a '(Yu of stroke 6) = 4.5-1.5 = 3.0 Also, the interval of each stroke after rounding processing wb1, wb
2, wb3 is calculated.

【0108】 wb1=d0(ストローク2のYb)−c’0(ストローク4のYu) =12−9=3 wb2=c0(ストローク4のYb)−b’0(ストローク5のYu) =8−6=2 wb3=b0(ストローク5のYb)−a’0(ストローク6のYu) =5−1=4 次に、ステップでストローク間隔の倍率wb1/wa
1、wb2/wa2、wb3/wa3が計算される。
Wb1 = d0 (Yb of stroke 2) −c′0 (Yu of stroke 4) = 12−9 = 3 wb2 = c0 (Yb of stroke 4) −b′0 (Yu of stroke 5) = 8− 6 = 2 wb3 = b0 (Yb of stroke 5) −a′0 (Yu of stroke 6) = 5-1 = 4 Next, in step, the magnification wb1 / wa of the stroke interval
1, wb2 / wa2, wb3 / wa3 are calculated.

【0109】wb1/wa1=3/2.0=1.5 wb2/wa2=2/2.6=0.77 wb3/wa3=4/3.0=1.33 ここで、倍率の最大と最小の差r1を計算すると、 r1=wb1/wa1−wb2/wa2=1.5−0.77=0.73 となる。Wb1 / wa1 = 3 / 2.0 = 1.5 wb2 / wa2 = 2 / 2.6 = 0.77 wb3 / wa3 = 4 / 3.0 = 1.33 Here, the maximum and minimum magnifications Calculating the difference r1 of the following gives: r1 = wb1 / wa1-wb2 / wa2 = 1.5-0.77 = 0.73.

【0110】次に、ステップで倍率の最小のストロー
ク間隔のまるめ処理後の間隔wb2を1だけ大きくし、
倍率の最大のストローク間隔のまるめ処理後の間隔wb
1を1だけ小さくして、ステップでもう一度ストロー
ク間隔の倍率wb1/wa1、wb2/wa2、wb3
/wa3を計算すると、 wb1/wa1=2/2.0=1.0 wb2/wa2=3/2.6=1.15 wb3/wa3=4/3.0=1.33 となり、最大と最小であった倍率の差r2を計算する
と、 r2=wb2/wa2−wb1/wa1=1.15−1.0=0.15 となる。
Next, in a step, the interval wb2 after the rounding processing of the minimum stroke interval of the magnification is increased by one.
Interval wb after rounding of maximum stroke interval of magnification
1 is reduced by 1 and the stroke interval magnifications wb1 / wa1, wb2 / wa2, wb3 are again increased in steps.
When calculating / wa3, wb1 / wa1 = 2 / 2.0 = 1.0 wb2 / wa2 = 3 / 2.6 = 1.15 wb3 / wa3 = 4 / 3.0 = 1.33 Calculating the magnification difference r2 as follows: r2 = wb2 / wa2-wb1 / wa1 = 1.15-1.0 = 0.15

【0111】ステップで、この入れ換えの試行前の差
r1と、試行後の差r2とを比較すると、試行後の差r
2が小さく、試行によって、ストローク間隔の拡大縮小
率(変換倍率)の偏差が小さくなっている。
In the step, the difference r1 before the trial of the exchange is compared with the difference r2 after the trial, and the difference r
2 is small, and the deviation of the enlargement / reduction ratio (conversion magnification) of the stroke interval is reduced by trial.

【0112】この倍率の最も小さいストローク間隔と、
倍率の最も大きいストローク間隔ではさまれる全てのス
トロークを1ピクセルだけ、倍率の最大のストローク間
隔の方に移動させる。
The stroke interval having the smallest magnification,
All strokes sandwiched between the stroke intervals having the largest magnification are moved by one pixel toward the stroke interval having the largest magnification.

【0113】ここでは、倍率の最小のストローク間隔
は、c0−b’0であり、倍率の最大のストローク間隔
は、d0−c’0であるので、間にはさまれるストロー
クは、上から2番目の横ストローク4であるから、これ
を倍率の最大のストローク間隔方向に座標移動する。
Here, the minimum stroke interval of the magnification is c0−b′0, and the maximum stroke interval of the magnification is d0−c′0. Since this is the fourth horizontal stroke 4, the coordinate is moved in the direction of the maximum stroke interval of the magnification.

【0114】即ち、横ストローク4の文字展開テーブル
のまるめ処理後の座標を、1ピクセル上に移動し、この
横ストローク4の線幅の下側のY座標Ybに「1」を加
え、「8」から「9」とし、線幅の上側のY座標Yuに
「1」を加え、「9」から「10」とする。尚、図9の
テーブル中のYb、Yuは移動後の値を記してある。
That is, the coordinates of the character expansion table of the horizontal stroke 4 after the rounding processing are moved up by one pixel, and “1” is added to the Y coordinate Yb below the line width of the horizontal stroke 4 to obtain “8”. ”To“ 9 ”, and“ 1 ”is added to the Y-coordinate Yu on the upper side of the line width to change“ 9 ”to“ 10 ”. Incidentally, Yb and Yu in the table of FIG. 9 indicate the values after the movement.

【0115】このようにすると、図11のような、元の
漢字「目」のデザインに近いビットマップイメージが得
られる。 (c) 他の実施例の説明 上述の実施例の他に、本発明は、次のような変形が可能
である。
In this way, a bitmap image close to the original kanji “eye” design as shown in FIG. 11 is obtained. (c) Description of Other Embodiments In addition to the above-described embodiments, the present invention can be modified as follows.

【0116】漢字「目」について説明したが、漢字
「貝」等の横ストロークが並んでいるものや、漢字
「耐」、「熊」等の縦ストロークが並んでいるもの等に
も適用できる。
Although the kanji character "eye" has been described, the present invention can be applied to a character having horizontal strokes such as a kanji character "shell" or a character having vertical strokes such as a kanji character "bear" and "bear".

【0117】まるめ処理前のストローク間隔を、座標
変換後の座標値より算出しているが、フォントメモリ4
の元の輪郭情報からも算出でき、この間隔をフォントメ
モリに格納しておいても良い。
The stroke interval before the rounding process is calculated from the coordinate values after the coordinate conversion.
Can be calculated from the original contour information, and this interval may be stored in the font memory.

【0118】輪郭情報として、文字座標系でのパーツ
の原点を設定し、この原点からの相対位置で表現しても
良い。 フォントメモリを、パーツ分割方式で説明したが、ス
トローク分割方式であっても良い。
As the outline information, the origin of the part in the character coordinate system may be set, and may be represented by a relative position from this origin. Although the font memory has been described in the part division system, the stroke memory may be used.

【0119】以上、本発明を実施例により説明したが、
本発明の主旨の範囲内で種々の変形が可能であり、これ
らを本発明の範囲から排除するものではない。
As described above, the present invention has been described with reference to the embodiments.
Various modifications are possible within the scope of the present invention, and these are not excluded from the scope of the present invention.

【0120】[0120]

【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。 まるめ処理後のストローク間隔を調整して、元の文字
でのストローク間隔に等しくさせるため、元の文字のデ
ザインを再現したビットマップイメージを得ることがで
きる。
As described above, according to the present invention,
The following effects are obtained. Since the stroke interval after the rounding process is adjusted to be equal to the stroke interval of the original character, a bitmap image reproducing the design of the original character can be obtained.

【0121】まるめ処理前のストローク間の間隔とま
るめ処理後のストローク間の間隔とから各間隔の変換倍
率を算出して、変換倍率の内、最大の倍率と最小の倍率
との差が小さくなるように複数のストローク間隔間のス
トロークの座標を移動することにより、ストローク間隔
を調整するので、簡易な演算で実現でき、文字生成速度
をそれ程低下させずに実現できる。
The conversion magnification of each interval is calculated from the interval between the strokes before the rounding processing and the interval between the strokes after the rounding processing, and the difference between the maximum magnification and the minimum magnification among the conversion magnifications is reduced. The stroke interval is adjusted by moving the coordinates of the strokes between the plurality of stroke intervals as described above, so that the calculation can be realized with a simple calculation, and the character generation speed can be realized without much lowering.

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

【図1】本発明の原理図である。FIG. 1 is a principle diagram of the present invention.

【図2】本発明の一実施例ブロック図である。FIG. 2 is a block diagram of one embodiment of the present invention.

【図3】本発明の一実施例文字展開部のブロック図であ
る。
FIG. 3 is a block diagram of a character developing unit according to one embodiment of the present invention.

【図4】本発明の一実施例フォントメモリの構成図(そ
の1)である。
FIG. 4 is a configuration diagram (part 1) of a font memory according to an embodiment of the present invention;

【図5】本発明の一実施例フォントメモリの構成図(そ
の2)である。
FIG. 5 is a configuration diagram (part 2) of a font memory according to an embodiment of the present invention;

【図6】本発明の一実施例間隔制御処理フロー図であ
る。
FIG. 6 is a flowchart of an interval control process according to an embodiment of the present invention.

【図7】本発明の一実施例文字生成動作説明図(その
1)である。
FIG. 7 is an explanatory diagram (part 1) of a character generation operation according to an embodiment of the present invention.

【図8】本発明の一実施例文字生成動作説明図(その
2)である。
FIG. 8 is an explanatory diagram (part 2) of a character generation operation according to an embodiment of the present invention.

【図9】本発明の一実施例文字展開テーブルの説明図で
ある。
FIG. 9 is an explanatory diagram of a character expansion table according to an embodiment of the present invention.

【図10】本発明の一実施例動作説明図(その1)であ
る。
FIG. 10 is a diagram (part 1) illustrating the operation of the embodiment of the present invention.

【図11】本発明の一実施例動作説明図(その2)であ
る。
FIG. 11 is a diagram (part 2) for explaining the operation of the embodiment of the present invention;

【図12】従来技術の説明図(その1)である。FIG. 12 is an explanatory diagram (part 1) of a conventional technique.

【図13】従来技術の説明図(その2)である。FIG. 13 is an explanatory view (part 2) of a conventional technique.

【図14】従来技術の説明図(その3)である。FIG. 14 is an explanatory diagram (part 3) of the related art.

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

3 文字展開部 4 フォント格納メモリ 30 拡大縮小演算器 31 ヒント処理部 32 ストローク間隔演算器 33 倍率演算器 34 最大最小倍率検出器 35 試行器 36 判定器 37 面塗り処理部 Reference Signs List 3 Character development unit 4 Font storage memory 30 Enlargement / reduction operation unit 31 Hint processing unit 32 Stroke interval operation unit 33 Magnification operation unit 34 Maximum / minimum magnification detection unit 35 Trial unit 36 Judgment unit 37 Surface painting processing unit

───────────────────────────────────────────────────── フロントページの続き (72)発明者 大伴 武都美 北海道札幌市東区北21条東19丁目3番21 号 有限会社大伴事務所内 (72)発明者 アントニオス・ヘルマン ドイツ連邦共和国リオナーシュトラッセ 14,フランクフルト71 フジツウドイチ ェランドゲーエムベーハー内 (56)参考文献 特開 平3−38691(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/00 - 5/40 B41J 2/485 B41J 5/30 G06F 3/12 G06F 3/14 - 3/153 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Taketomi Otomo 193-3-1, Kita 21-Jyohigashi, Higashi-ku, Sapporo-shi, Hokkaido Inside the Otomo Co., Ltd. (72) Inventor Antonio Hermann Rionerstrasse, Germany 14, frankfurt 71 Fujitsu Gland Germany GmbH (56) References JP-A-3-38691 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G09G 5/00-5 / 40 B41J 2/485 B41J 5/30 G06F 3/12 G06F 3/14-3/153

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 文字の輪郭線を座標で表現したアウトラ
インフォント情報を、指定されたサイズの座標系の座標
値に変換した後、整数座標値にまるめ処理して、該指定
されたサイズの文字のビットマップイメージを生成する
文字生成方法において、 複数の同一種類のストロークを持つ文字に対して、該ま
るめ処理前のストローク間の間隔と該まるめ処理後のス
トローク間の間隔とから各間隔の変換倍率を算出し、 該変換倍率の内、最大の倍率と最小の倍率との差が小さ
くなるように、該複数のストローク間隔間のストローク
の座標を移動することを特徴とする文字生成方法。
1. After converting outline font information representing the outline of a character by coordinates into a coordinate value of a coordinate system of a specified size, rounding processing is performed to an integer coordinate value, and the character of the specified size is converted. In the character generation method for generating a bitmap image of the above, for a character having a plurality of strokes of the same type, conversion of each interval is performed based on an interval between strokes before the rounding process and an interval between strokes after the rounding process. A character generation method comprising: calculating a magnification; and moving a coordinate of a stroke between the plurality of stroke intervals so as to reduce a difference between a maximum magnification and a minimum magnification among the conversion magnifications.
【請求項2】 前記ストロークの座標を移動するため、
前記変換倍率の内、最大の倍率と最小の倍率との第1の
差を算出し、 該最大となる倍率の該まるめ処理後のストローク間隔か
ら1を引いた当該倍率と、該最小となる倍率の該まるめ
処理後のストローク間隔に1を足した当該倍率とを算出
し、これらの倍率の第2の差を算出し、 該第1の差と該第2の差とを比較して、該第2の差が該
第1の差よりも小さい時に、該最大となる倍率のストロ
ーク間隔から該最小となる倍率のストローク間隔までの
間のストロークを、該最大となる倍率のストローク間隔
の方に1単位座標だけ移動させることを特徴とする請求
項1の文字生成方法。
2. In order to move the coordinates of the stroke,
Calculating a first difference between a maximum magnification and a minimum magnification among the conversion magnifications, and subtracting 1 from the stroke interval after the rounding processing of the maximum magnification and the minimum magnification Calculating a magnification obtained by adding 1 to the stroke interval after the rounding processing, calculating a second difference between these magnifications, comparing the first difference with the second difference, When the second difference is smaller than the first difference, the stroke from the stroke interval of the maximum magnification to the stroke interval of the minimum magnification is shifted toward the stroke interval of the maximum magnification. 2. The character generation method according to claim 1, wherein the character is moved by one unit coordinate.
【請求項3】 前記各間隔の変換倍率を算出するため、
前記まるめ処理前のストローク間の間隔と前記まるめ処
理後のストローク間の間隔とを求めて、前記求めたまる
め処理前のストローク間の間隔と前記まるめ処理後のス
トローク間の間隔とから各間隔の変換倍率を算出するこ
とを特徴とする請求項1又は2の文字生成方法。
3. A method for calculating a conversion magnification of each interval,
The interval between the strokes before the rounding process and the interval between the strokes after the rounding process are obtained, and the obtained interval between the strokes before the rounding process and the interval between the strokes after the rounding process are calculated. 3. The character generation method according to claim 1, wherein a conversion magnification is calculated.
【請求項4】 前記文字のアウトライン情報とともに、
前記文字のストローク間隔の制御を行うストロークを指
定する情報を設定しておくことを特徴とする請求項1又
は2又は3の文字生成方法。
4. A method according to claim 1, further comprising:
4. The character generation method according to claim 1, wherein information for designating a stroke for controlling the stroke interval of the character is set.
【請求項5】 前記まるめ処理前のストローク間の間隔
と該まるめ処理後のストローク間の間隔とから各間隔の
変換倍率を算出するため、前記アウトライン情報から前
記文字の各ストロークの座標を算出して前記まるめ前の
ストローク座標を格納し、前記まるめ前のストローク座
標をまるめ処理して前記まるめ後のストローク座標を格
納し、前記格納したまるめ前のストローク座標により、
前記まるめ前の各ストローク間隔を算出するとともに、
前記格納したまるめ後のストローク座標により、前記ま
るめ後の各ストローク間隔を算出することを特徴とする
請求項1又は2又は3又は4の文字生成方法。
5. The coordinates of each stroke of the character are calculated from the outline information in order to calculate a conversion magnification of each interval from an interval between strokes before the rounding process and an interval between strokes after the rounding process. The stroke coordinates before rounding are stored, the stroke coordinates before rounding are rounded, the stroke coordinates after rounding are stored, and the stored stroke coordinates before rounding are stored.
While calculating each stroke interval before rounding,
5. The character generation method according to claim 1, wherein each stroke interval after the rounding is calculated based on the stored stroke coordinates after the rounding.
【請求項6】 文字の輪郭線を座標で表現したアウトラ
インフォント情報を格納するフォントメモリ(4)と、
該フォントメモリ(4)から指定された文字のアウトラ
インフォント情報を読み出し、指定されたサイズの座標
系の座標値に変換した後、整数座標値にまるめ処理し
て、該指定されたサイズの文字のビットマップイメージ
を生成する文字展開部(3)とを有する文字生成装置に
おいて、 該文字展開部(3)は、複数の同一種類のストロークを
持つ文字に対して、該まるめ処理前のストローク間の間
隔と該まるめ処理後のストローク間の間隔とから各間隔
の変換倍率を算出して、該変換倍率の内、最大の倍率と
最小の倍率との差が小さくなるよう該複数のストローク
間隔間のストロークの座標を移動することを特徴とする
文字生成装置。
6. A font memory (4) for storing outline font information representing the outline of a character by coordinates,
The outline font information of the designated character is read from the font memory (4), converted into the coordinate value of the coordinate system of the designated size, rounded to an integer coordinate value, and the character of the designated size is read out. A character developing unit (3) for generating a bitmap image, wherein the character developing unit (3) converts a character having a plurality of strokes of the same type between strokes before the rounding process. A conversion magnification of each interval is calculated from the interval and the interval between the strokes after the rounding processing, and among the conversion magnifications, the conversion between the plurality of stroke intervals is reduced so that the difference between the maximum magnification and the minimum magnification is reduced. A character generation device for moving the coordinates of a stroke.
【請求項7】 前記文字展開部(3)は、前記ストロー
クを移動するため、前記変換倍率の内、最大の倍率と最
小の倍率との第1の差を算出し、 該最大となる倍率の該まるめ処理後のストローク間隔か
ら1を引いた当該倍率と、該最小となる倍率の該まるめ
処理後のストローク間隔に1を足した当該倍率とを算出
し、これらの倍率の第2の差を算出し、 該第1の差と該第2の差とを比較して、該第2の差が該
第1の差よりも小さい時に、該最大となる倍率のストロ
ーク間隔から該最小となる倍率のストローク間隔までの
間のストロークを、該最大となる倍率のストローク間隔
の方に1単位座標だけ移動させることを特徴とする請求
項6の文字生成装置。
7. The character developing unit (3) calculates a first difference between a maximum magnification and a minimum magnification among the conversion magnifications to move the stroke, and calculates the first magnification. The magnification obtained by subtracting 1 from the stroke interval after the rounding processing and the magnification obtained by adding 1 to the stroke interval after the rounding processing of the minimum magnification are calculated, and a second difference between these magnifications is calculated. Calculating, comparing the first difference with the second difference, and when the second difference is smaller than the first difference, from the stroke interval of the largest magnification to the smallest magnification. 7. The character generating apparatus according to claim 6, wherein a stroke up to the stroke interval is moved by one unit coordinate toward the stroke interval of the maximum magnification.
【請求項8】 前記文字展開部(3)は、前記各間隔の
変換倍率を算出するため、前記まるめ処理前のストロー
ク間の間隔と前記まるめ処理後のストローク間の間隔と
を求めて、前記求めたまるめ処理前のストローク間の間
隔と前記まるめ処理後のストローク間の間隔とから各間
隔の変換倍率を算出することを特徴とする請求項6又は
7の文字生成装置。
8. The character developing unit (3) calculates an interval between strokes before the rounding process and an interval between strokes after the rounding process in order to calculate a conversion magnification of each interval. 8. The character generating apparatus according to claim 6, wherein a conversion magnification of each interval is calculated from the obtained interval between strokes before the rounding process and the interval between strokes after the rounding process.
【請求項9】 前記フォントメモリ(4)に、前記文字
のアウトライン情報とともに、前記文字のストローク間
隔の制御を行うストロークを指定する情報を設定してお
くことを特徴とする請求項6又は7又は8の文字生成装
置。
9. The font memory according to claim 6, wherein information specifying a stroke for controlling a stroke interval of the character is set together with outline information of the character. 8 character generator.
【請求項10】 前記文字展開部(3)は、前記まるめ
処理前のストローク間の間隔と該まるめ処理後のストロ
ーク間の間隔とから各間隔の変換倍率を算出するため、
前記アウトライン情報から前記文字の各ストロークの座
標を算出して前記まるめ前のストローク座標を格納し、
前記まるめ前のストローク座標をまるめ処理して前記ま
るめ後のストローク座標を格納し、前記格納したまるめ
前のストローク座標により、前記まるめ前の各ストロー
ク間隔を算出するとともに、前記格納したまるめ後のス
トローク座標により、前記まるめ後の各ストローク間隔
を算出することを特徴とする請求項6又は7又は8又は
9の文字生成装置。
10. The character developing unit (3) calculates a conversion magnification of each interval from an interval between strokes before the rounding process and an interval between strokes after the rounding process.
Calculate the coordinates of each stroke of the character from the outline information and store the stroke coordinates before rounding,
The stroke coordinates before rounding are rounded to store the stroke coordinates after rounding, the stroke coordinates before rounding are calculated based on the stored stroke coordinates before rounding, and the stored strokes after rounding are stored. 10. The character generation device according to claim 6, wherein each stroke interval after the rounding is calculated based on coordinates.
JP4326656A 1992-12-07 1992-12-07 Character generation method and device Expired - Fee Related JP3034140B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP4326656A JP3034140B2 (en) 1992-12-07 1992-12-07 Character generation method and device
US08/161,751 US5526476A (en) 1992-12-07 1993-12-03 Method and apparatus for generating character patterns expressed by coordinates of a coordinate system
CN93121146A CN1045835C (en) 1992-12-07 1993-12-07 Character generating method and apparatus
KR1019930026683A KR0124961B1 (en) 1992-12-07 1993-12-07 Method and apparatus for generating character patterns expressed by coordinates of a coordinate system
KR1019970015855A KR100209455B1 (en) 1992-12-07 1997-04-28 Character generating method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4326656A JP3034140B2 (en) 1992-12-07 1992-12-07 Character generation method and device

Publications (2)

Publication Number Publication Date
JPH06175638A JPH06175638A (en) 1994-06-24
JP3034140B2 true JP3034140B2 (en) 2000-04-17

Family

ID=18190211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4326656A Expired - Fee Related JP3034140B2 (en) 1992-12-07 1992-12-07 Character generation method and device

Country Status (1)

Country Link
JP (1) JP3034140B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239318B2 (en) 2001-03-23 2007-07-03 Rise Kabushikikaisha Method and computer software program product for processing characters based on outline font
JP4662412B2 (en) * 2003-05-15 2011-03-30 シャープ株式会社 Character graphic display device, character graphic display method, program, and recording medium
JP3883554B2 (en) * 2005-01-19 2007-02-21 シャープ株式会社 Character / graphic display device, program, and recording medium
JP4785644B2 (en) * 2006-06-26 2011-10-05 株式会社沖データ Printing system and print data processing apparatus
JP2019053225A (en) * 2017-09-15 2019-04-04 ブラザー工業株式会社 Control program

Also Published As

Publication number Publication date
JPH06175638A (en) 1994-06-24

Similar Documents

Publication Publication Date Title
KR100209455B1 (en) Character generating method and apparatus thereof
JP3145509B2 (en) Character generation method and device
KR970008546B1 (en) Character or graphic processing method
KR100376196B1 (en) Outline smoothing method and system
JP3014247B2 (en) Character generation method and device
JP3037854B2 (en) Character generation method and device
JP3034140B2 (en) Character generation method and device
US4967376A (en) Method for displaying characters and/or figures in a computer graphics and apparatus thereof
JP4625269B2 (en) CHARACTER IMAGE GENERATION DEVICE, CHARACTER IMAGE GENERATION METHOD, DISPLAY CONTROL DEVICE, CHARACTER IMAGE GENERATION PROGRAM, AND DISPLAY CONTROL PROGRAM
EP0356262B1 (en) Image processing apparatus
US4853885A (en) Method of compressing character or pictorial image data using curve approximation
US5526474A (en) Image drawing with improved process for area ratio of pixel
JP3034141B2 (en) Character generation method and device
US4736201A (en) High speed image drawing method and apparatus therefor
JPH02270019A (en) Generation system for high quality character pattern
JP2770582B2 (en) Figure filling device
EP0454125B1 (en) Method of producing characters and figures using computer
JP2630843B2 (en) Straight line drawing method and apparatus
JP2782752B2 (en) Character pattern output device
JP3347756B2 (en) Character generation method and device
JP2835056B2 (en) High quality character pattern generation method
JP2538631B2 (en) How to handle vector characters
JP2580965B2 (en) Printer device
JP2637921B2 (en) Character symbol generator
JP3072756B2 (en) Drawing equipment

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000201

LAPS Cancellation because of no payment of annual fees