JP3034141B2 - Character generation method and device - Google Patents
Character generation method and deviceInfo
- Publication number
- JP3034141B2 JP3034141B2 JP4326657A JP32665792A JP3034141B2 JP 3034141 B2 JP3034141 B2 JP 3034141B2 JP 4326657 A JP4326657 A JP 4326657A JP 32665792 A JP32665792 A JP 32665792A JP 3034141 B2 JP3034141 B2 JP 3034141B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- stroke
- strokes
- line width
- outline
- 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
Links
Landscapes
- Dot-Matrix Printers And Others (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】(目次) 産業上の利用分野 従来の技術(図15乃至図16) 発明が解決しようとする課題 課題を解決するための手段(図1乃至図2) 作用 実施例 (a) 一実施例構成の説明(図3乃至図6) (b) 第1の実施例の説明(図7乃至図10) (c) 第2の実施例の説明(図11乃至図14) (d) 他の実施例の説明 発明の効果(Contents) Industrial application field Conventional technology (FIGS. 15 and 16) Problems to be Solved by the Invention Means for Solving the Problems (FIGS. 1 and 2) Action Embodiment (a) One Embodiment Description of Example Configuration (FIGS. 3 to 6) (b) Description of First Embodiment (FIGS. 7 to 10) (c) Description of Second Embodiment (FIGS. 11 to 14) (d) Others Description of the 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 reduced.
【0007】[0007]
【従来の技術】図15、図16は従来技術の説明図(そ
の1)、(その2)である。従来、図形やアウトライン
フォント等の実数表現の論理座標データを、整数で表現
されるビットマップイメージに展開する場合、座標デー
タは、プリンタやディスプレイのピクセル単位で表現で
きるように、小数部分がまるめ処理され、このまるめ処
理としては、座標データが最も近いピクセルで表現され
るようにするため、四捨五入が一般的である。2. Description of the Related Art FIGS. 15 and 16 are explanatory views (No. 1) and (No. 2) of the prior art. Conventionally, when developing logical coordinate data of real numbers such as figures and outline fonts into bitmap images expressed as integers, the coordinate data is rounded to a decimal point so that it can be expressed in pixel units of printers and displays. The rounding is generally performed by rounding off so that the coordinate data is represented by the nearest pixel.
【0008】例えば、図15(A)に示すように、アウ
トライン形式で表現された漢字「車」という文字を構成
するそれぞれの点(輪郭点)は、1000×1000な
どのような整数論理座標で保存されている。For example, as shown in FIG. 15 (A), each point (contour point) constituting the character “car” represented in outline form is represented by integer logical coordinates such as 1000 × 1000. Has been saved.
【0009】この論理座標上の文字アウトラインは、必
要とされる文字サイズに変換されて、小数点を含んだ座
標値に変換され、これを物理座標で表現できるように全
ての点を整数に四捨五入すると、全ての点が最も近傍の
整数にまるめ処理される。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.
【0010】例えば、24×24の文字サイズにする場
合には、座標変換処理とまるめ処理により、漢字の
「車」という文字は、図15(B)に示すようになる。
この例では、元の文字が太くデザインされた文字である
ため、生成された文字ビットマップイメージも2ピクセ
ルの幅を持つ。For example, in the case of a character size of 24 × 24, the character “car” of the kanji becomes as shown in FIG. 15B by the coordinate conversion process and the rounding process.
In this example, since the original character is a thickly designed character, the generated character bitmap image also has a width of 2 pixels.
【0011】この同じ文字を、今度は縦横16ドットの
ビットマップイメージとなるように変換すると、図15
(C)に示すようになり、真ん中の隣接する2本の横ス
トロークが接触してしまうことになる。When this same character is converted into a bitmap image of 16 dots in length and width, the same character is obtained as shown in FIG.
As shown in (C), two adjacent horizontal strokes in the middle come into contact with each other.
【0012】同様に、図16(A)に示すような、10
00×1000の論理座標でアウトライン形式で表現さ
れた漢字「亀」という文字を、16×16の文字サイズ
にすると、図16(B)に示すようになる。Similarly, as shown in FIG.
When the character "Kame", which is represented in the outline format by the logical coordinates of 00x1000, has a character size of 16x16, the result is as shown in Fig. 16B.
【0013】漢字「亀」という文字は、2つの「日」の
部分に含まれる3本の横線に加えて、頭の部分と、最後
の部分にも横線があり、合計8本の横線が含まれる。8
本の横線を表現するには、横線間の白い部分も含めて、
約倍の15ドットが必要となり、縦横15ドットの大き
さのビットマップイメージが正確に表現できる最小の大
きさである。The character "Kame" has a horizontal line at the head and at the end, in addition to the three horizontal lines included in the two "day" parts, and includes a total of eight horizontal lines. It is. 8
To express the horizontal lines of a book, including the white part between the horizontal lines,
About 15 times as large as 15 dots is required, which is the minimum size that can accurately represent a bitmap image of 15 dots in length and width.
【0014】更に、小さい12ドットの物理座標に縮小
処理されると、図16(C)に示すように、ストローク
間の白いスペースを表現するドットがないため、横線同
士が接触してしまうことになる。Further, when the processing is reduced to the small 12-dot physical coordinates, as shown in FIG. 16C, there is no dot expressing a white space between strokes, so that the horizontal lines come into contact with each other. Become.
【0015】[0015]
【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題があった。 図15のように、線幅が太いデザインの文字では、小
さく縮小すると、横線が接触してしまい、そこが黒くつ
ぶれたように見え、正しく文字を認識できなくなり、可
読性が悪くなる。However, the prior art has the following problems. As shown in FIG. 15, when a character having a thick line width is reduced to a small size, the horizontal line comes into contact with the character, and the character appears to be blackened, so that the character cannot be correctly recognized and readability deteriorates.
【0016】同様に、図16のように、線幅が細くて
も、複雑なデザインの文字では、小さく縮小すると、横
線が接触してしまい、そこが黒くつぶれたように見え、
正しく文字を認識できなくなり、可読性が悪くなる。Similarly, as shown in FIG. 16, even if the line width is small, in the case of a character having a complicated design, when the character is reduced to a small size, the horizontal lines come into contact with each other, and it appears that the characters are blackened.
Characters cannot be correctly recognized, resulting in poor readability.
【0017】従って、本発明は、縦ストロークや横スト
ロークが複数本並んでいる文字において、物理座標で生
成される文字のビットマップイメージが、ストローク同
士の接触により一部分黒くつぶれてしまうことを防止す
ることができる文字生成方法及びその装置を提供するこ
とを目的とする。Therefore, the present invention prevents a bitmap image of a character generated in physical coordinates from being partially blackened due to contact between strokes in a character in which a plurality of vertical strokes and horizontal strokes are arranged. It is an object of the present invention to provide a character generating method and a character generating device capable of generating the character.
【0018】[0018]
【課題を解決するための手段】図1は本発明の原理図で
ある。本発明の請求項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, a total value of intervals between the plurality of strokes after the rounding processing is calculated. The method is characterized in that a line width of any one of the plurality of strokes is reduced when the total value is smaller than the number obtained by subtracting 1 from the number of the strokes.
【0019】本発明の請求項2は、請求項1において、
前記線幅を細くするストロークが、前記複数のストロー
クの内、最も外側のストローク以外のストロークであ
り、且つ当該ストロークの線幅が2ピクセル以上あるス
トロークであることを特徴とする。[0020] Claim 2 of the present invention is characterized in that
The stroke for reducing the line width is a stroke other than the outermost stroke among the plurality of strokes, and the stroke has a line width of 2 pixels or more.
【0020】本発明の請求項3は、請求項1又は2にお
いて、前記線幅を細くするため、前記ストロークのまる
め処理後の整数座標値を変更することを特徴とする。本
発明の請求項4は、請求項1又は2又は3において、前
記文字のアウトライン情報とともに、前記文字の線幅を
細くするストロークを指定する情報を設定しておくこと
を特徴とする。According to a third aspect of the present invention, in the first or second aspect, in order to reduce the line width, an integer coordinate value after rounding the stroke is changed. According to a fourth aspect of the present invention, in the first, second or third aspect, information for designating a stroke for reducing the line width of the character is set together with the outline information of the character.
【0021】本発明の請求項5は、文字の輪郭線を座標
で表現したアウトラインフォント情報を、指定されたサ
イズの座標系の座標値に変換した後、整数座標値にまる
め処理して、該指定されたサイズの文字のビットマップ
イメージを生成する文字生成方法において、複数の同一
種類のストロークを持つ文字に対して、該まるめ処理後
の該複数のストローク間の間隔の合計値を算出して、該
ストロークの本数から1を引いた数と比較し、該合計値
が該引いた数より小さい場合に、該複数のストロークの
いずれかのストロークを削除することを特徴とする。According to a fifth aspect of the present invention, the outline font information expressing the outline of a character by coordinates is converted into coordinate values of a coordinate system of a designated size, and then rounded to integer coordinate values. In a character generation method for generating a bitmap image of a character having a designated size, for a character having a plurality of strokes of the same type, a total value of intervals between the plurality of strokes after the rounding process is calculated. Comparing the number of strokes minus one, and if the total value is smaller than the subtracted number, deleting any one of the plurality of strokes.
【0022】本発明の請求項6は、請求項5において、
前記文字のアウトライン情報とともに、前記文字の削除
するストロークを指定する情報を設定しておくことを特
徴とする。[0022] Claim 6 of the present invention is based on claim 5,
In addition to the outline information of the character, information for designating a stroke to delete the character is set.
【0023】本発明の請求項7は、文字の輪郭線を座標
で表現したアウトラインフォント情報を格納するフォン
トメモリ4と、該フォントメモリ4から指定された文字
のアウトラインフォント情報を読み出し、指定されたサ
イズの座標系の座標値に変換した後、整数座標値にまる
め処理して、該指定されたサイズの文字のビットマップ
イメージを生成する文字展開部3とを有する文字生成装
置において、該文字展開部3は、複数の同一種類のスト
ロークを持つ文字に対して、該まるめ処理後のストロー
ク間の間隔の合計値を算出して、該ストロークの本数に
1を引いた数と比較し、該合計値が該引いた数より小さ
い時は、該複数のストロークのいずれかの線幅を細くす
ることを特徴とする。According to a seventh aspect of the present invention, there is provided a font memory 4 for storing outline font information in which a contour line of a character is represented by coordinates, and an outline font information of the designated character is read out from the font memory 4 to specify the designated font. 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 total value of the intervals between the strokes after the rounding processing for a plurality of characters having the same type of stroke, compares the calculated value with the number obtained by subtracting 1 from the number of strokes, and When the value is smaller than the subtracted number, the line width of any of the plurality of strokes is reduced.
【0024】本発明の請求項8は、請求項7において、
前記文字展開部3は、前記複数のストロークの内、最も
外側のストローク以外のストロークであり、且つ当該ス
トロークの線幅が2ピクセル以上あるストロークの線幅
を細くすることを特徴とする。According to claim 8 of the present invention,
The character developing unit 3 is characterized in that the stroke is a stroke other than the outermost stroke among the plurality of strokes and the stroke width of the stroke is 2 pixels or more.
【0025】本発明の請求項9は、請求項7又は8にお
いて、前記文字展開部3は、前記線幅を細くするため、
前記ストロークのまるめ処理後の整数座標値を変更する
ことを特徴とする。According to a ninth aspect of the present invention, in accordance with the seventh or eighth aspect, the character developing unit 3 is arranged to reduce the line width.
The method is characterized in that integer coordinate values after the stroke rounding processing are changed.
【0026】本発明の請求項10は、請求項7又は8又
は9において、前記フォントメモリ4に、前記文字のア
ウトライン情報とともに、前記文字の線幅を細くするス
トロークを指定する情報を設定しておくことを特徴とす
る。According to a tenth aspect of the present invention, in the seventh or eighth or ninth aspect, information specifying a stroke for reducing the line width of the character is set in the font memory 4 together with the outline information of the character. It is characterized by putting.
【0027】本発明の請求項11は、文字の輪郭線を座
標で表現したアウトラインフォント情報を格納するフォ
ントメモリ4と、該フォントメモリ4から指定された文
字のアウトラインフォント情報を読み出し、指定された
サイズの座標系の座標値に変換した後、整数座標値にま
るめ処理して、該指定されたサイズの文字のビットマッ
プイメージを生成する文字展開部3とを有する文字生成
装置において、該文字展開部3は、複数の同一種類のス
トロークを持つ文字に対して、該まるめ処理後のストロ
ーク間の間隔の合計値を算出して、該ストロークの本数
に1を引いた数と比較し、該合計値が該引いた数より小
さい時は、該複数のストロークのいずれかのストローク
を削除することを特徴とする。According to an eleventh 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 specified character is read out from the font memory 4 to specify the specified font. 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 total value of the intervals between the strokes after the rounding processing for a plurality of characters having the same type of stroke, compares the calculated value with the number obtained by subtracting 1 from the number of strokes, and When the value is smaller than the subtracted number, one of the plurality of strokes is deleted.
【0028】本発明の請求項12は、請求項11におい
て、前記フォントメモリ4に、前記文字のアウトライン
情報とともに、前記文字の削除するストロークを指定す
る情報を設定しておくことを特徴とする。According to a twelfth aspect of the present invention, in the eleventh aspect, information specifying a stroke to be deleted of the character is set in the font memory 4 together with outline information of the character.
【0029】[0029]
【作用】本発明の請求項1及び7では、図1に示すよう
に、まるめ処理後のストローク同士が接触しているかを
判定するため、先ず、まるめ処理後のストローク間の間
隔の合計値を算出する。According to the first and seventh aspects of the present invention, as shown in FIG. 1, in order to determine whether or not the strokes after the rounding process are in contact with each other, first, the total value of the interval between the strokes after the rounding process is calculated. calculate.
【0030】一方、各ストロークが接触しない最低条件
は、間隔がストロークの本数から1を引いた数であるか
ら、当該合計値と当該引いた数とを比較し、合計値が引
いた数より小さい時は、ストロークが接触していると判
定し、一部のストロークの線幅を細くして、ストローク
の接触を防止し、文字の一部が黒くつぶれることを防止
するものである。On the other hand, since the minimum condition under which each stroke does not contact is that the interval is a number obtained by subtracting 1 from the number of strokes, the total value is compared with the subtracted number, and the total value is smaller than the subtracted number. At this time, it is determined that the strokes are in contact with each other, the line width of some of the strokes is reduced, the contact of the strokes is prevented, and the characters are prevented from being blackened.
【0031】本発明の請求項2及び8では、一般に文字
は最も外側のストロークが太い方が可読性が高いため、
最も外側のストロークを細くせずに、且つ1ピクセル幅
のストロークを細くすると、ストロークが消滅するた
め、2ピクセル以上のストロークを細くするものであ
る。In the second and eighth aspects of the present invention, in general, a character having a thick outermost stroke has higher legibility.
If the outermost stroke is not made thinner and a stroke having a width of one pixel is made thinner, the stroke disappears. Therefore, a stroke of two pixels or more is made thinner.
【0032】本発明の請求項3及び9では、対象とする
ストロークを細くするため、ビットマップイメージ展開
前のストロークの座標を変更することにより、容易にス
トロークを細くできるようにしている。According to the third and ninth aspects of the present invention, the stroke can be easily made thin by changing the coordinates of the stroke before developing the bitmap image in order to make the target stroke thin.
【0033】本発明の請求項4及び10では、予め線幅
を細くするストロークを設定しておくことにより、文字
デザイン上で細くしても可読性を保てるストロークを指
定でき、容易に線幅を細くするストロークを認識でき、
元の文字のデザインに合ったストロークの調整が可能と
なる。According to the fourth and tenth aspects of the present invention, by setting a stroke for thinning the line width in advance, it is possible to specify a stroke that can maintain readability even if the stroke is made thin on a character design, and the line width can be easily thinned. Can recognize the stroke
It is possible to adjust the stroke according to the original character design.
【0034】本発明の請求項5及び11では、図2に示
すように、まるめ処理後のストローク同士が接触してい
るかを判定するため、先ず、まるめ処理後のストローク
間の間隔の合計値を算出する。According to the fifth and eleventh aspects of the present invention, as shown in FIG. 2, in order to determine whether the strokes after the rounding process are in contact with each other, first, the total value of the interval between the strokes after the rounding process is calculated. calculate.
【0035】一方、各ストロークが接触しない最低条件
は、間隔がストロークの本数から1を引いた数であるか
ら、当該合計値と当該引いた数とを比較し、合計値が引
いた数より小さい時は、ストロークが接触していると判
定し、一部のストロークを削除して、ストロークの接触
を防止し、文字の一部が黒くつぶれることを防止するも
のである。On the other hand, since the minimum condition under which each stroke does not touch is that the interval is a number obtained by subtracting 1 from the number of strokes, the total value is compared with the subtracted number, and the total value is smaller than the subtracted number. At this time, it is determined that the strokes are in contact with each other, and some of the strokes are deleted to prevent the strokes from contacting each other and to prevent the characters from being partially blackened.
【0036】本発明の請求項6及び12では、予め削除
するストロークを設定しておくことにより、文字デザイ
ン上で削除しても可読性を保てるストロークを指定で
き、容易に削除するストロークを認識でき、元の文字の
デザインに合ったストロークの調整が可能となる。According to the sixth and twelfth aspects of the present invention, by setting a stroke to be deleted in advance, it is possible to specify a stroke that can maintain readability even if it is deleted on a character design, and can easily recognize a stroke to be deleted. It is possible to adjust the stroke according to the original character design.
【0037】[0037]
(a) 一実施例構成の説明 図3は本発明の一実施例ブロック図、図4は本発明の一
実施例文字展開部のブロック図、図5、図6は本発明の
一実施例フォントメモリの構成図(その1)、(その
2)である。(a) Description of the configuration of one embodiment Fig. 3 is a block diagram of one embodiment of the present invention, Fig. 4 is a block diagram of a character expanding unit of one embodiment of the present invention, and Figs. FIG. 2 is a configuration diagram (No. 1) and (No. 2) of a memory.
【0038】図3において、1は受信部であり、上位
(コンピュータ等)からの印刷コマンド及び印刷データ
を受信するもの、2はコマンド解析部であり、受信部1
で受信された印刷コマンド等の意味を解析して、文字と
図形に分けるもの、3は文字展開部であり、コマンド解
析部2からの文字コード、文字サイズ、向きを受け、フ
ォント格納メモリ4から文字情報を読み出して、文字を
ビットマップイメージに展開処理するものであり、図4
で後述するもの、4はフォント格納メモリであり、文字
をアウトライン形式で格納するものであり、図5、図6
で後述するものである。In FIG. 3, reference numeral 1 denotes a receiving unit which receives a print command and print data from a host (such as a computer), 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.
4 is a font storage memory for storing characters in an outline format.
This will be described later.
【0039】5は描画部であり、図形、イメージをビッ
トマップイメージに展開処理するとともに、ビットマッ
プイメージに展開された文字と図形とを重ね合わせて、
ビットマップメモリ6に書き込むもの、6はビットマッ
プメモリであり、描画部5により文字、図形のビットマ
ップイメージが書き込まれるもの、7は印字部であり、
ビットマップメモリ6内のデータを用紙に印刷するもの
である。Reference numeral 5 denotes a drawing unit, which develops figures and images into bitmap images and superimposes the characters and figures 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.
【0040】この動作は、受信部1で受信された印刷コ
マンド及び印刷データは、コマンド解析部2で意味が解
析され、文字と図形に分けられ、図形やイメージは描画
部5でビットマップイメージに展開処理され、文字は文
字展開部3でフォント格納メモリ4のアウトラインフォ
ント情報を利用して、指定された文字サイズのビットマ
ップイメージに展開処理される。In this operation, the print command and the print data received by the receiving unit 1 are analyzed in meaning by the command analyzing unit 2 and divided into characters and figures, and 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.
【0041】描画部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.
【0042】図4により文字展開部3の詳細を、ブロッ
ク化して説明すると、30は拡大縮小演算器であり、フ
ォント格納メモリ4からの文字コードに対応する文字ア
ウトライン情報を、指定された文字サイズになるよう
に、拡大縮小演算するもの、31はヒント処理部であ
り、ヒント処理前のデータとヒント処理後のデータを各
ストローク毎に保持する文字展開テーブル(図10、図
14にて後述)を持ち、ビットマップの文字品質が向上
するように、まるめ(ヒント)処理等を実行して、スト
ロークの幅、削除の調整を行うものである。Referring to FIG. 4, the details of the character expanding unit 3 will be described in the form of a block. Reference numeral 30 denotes a scaling calculator 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 performs a scaling operation so that the data before and after the hint processing are stored for each stroke (hereinafter described with reference to FIGS. 10 and 14). In order to improve the character quality of the bitmap, rounding (hint) processing or the like is executed to adjust the stroke width and deletion.
【0043】32はストローク間隔演算器であり、ヒン
ト(まるめ)処理後の横ストローク同士又は縦ストロー
ク同士の間隔と、その合計値を演算するもの、33は比
較器であり、演算されたストローク間隔の合計値と、検
査の対象となるストロークの本数から1を引いた値を比
較するものである。Reference numeral 32 denotes a stroke interval calculator which calculates the interval between horizontal strokes or vertical strokes after the hint (rounding) process and the total value thereof, and 33 denotes a comparator which calculates the calculated stroke interval. Is compared with a value obtained by subtracting 1 from the number of strokes to be inspected.
【0044】34は判定器であり、当該合計値が当該引
いた値より小さいという比較結果がでた時に、ヒント処
理部31に、ストロークを細くする又はストロークを削
除する指示をだすもの、35は面塗り処理部であり、ヒ
ント処理部31の輪郭線情報により輪郭線の内部を塗り
つぶし、ビットマップイメージを完成するものである。Numeral 34 denotes a determiner, which instructs the hint processing section 31 to reduce the stroke or delete the stroke when the comparison result indicates that the total value is smaller than the subtracted value. This is 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.
【0045】尚、文字展開部3は、プロセッサで構成さ
れ、これらブロック30〜35は、ソフトウェアを機能
ブロック化したものである。この動作を説明すると、文
字展開部3では、指定された文字情報(アウトライン情
報)をフォント格納メモリ4から探し、それを指定され
た大きさ(サイズ)となるように、拡大縮小演算器30
で拡大縮小し、ヒント処理部31で、拡大縮小変換した
座標データを文字展開テーブルに格納し、これをまるめ
処理して、ヒント処理後の座標データを算出し、文字展
開テーブルに格納する。The character expanding section 3 is constituted by a processor, and these blocks 30 to 35 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).
The hint processing unit 31 stores the coordinate data subjected to the scale conversion in the character expansion table, rounds this, calculates the coordinate data after the hint processing, and stores the coordinate data in the character expansion table.
【0046】このデータは、ストローク間隔演算器32
に与えられ、ヒント処理後の横ストローク同士又は縦ス
トローク同士の間隔が演算され、更にこれら間隔の合計
値が演算される。This data is stored in a stroke interval calculator 32.
Is calculated, the interval between the horizontal strokes or the vertical strokes after the hint processing is calculated, and the total value of these intervals is calculated.
【0047】比較器33は、ストローク間隔演算器32
の演算した合計値と、検査の対象となるストロークの本
数から1を引いた数とを比較し、比較結果を判定器34
に与え、判定器34は、比較結果により合計値が引いた
値より小さく、ストローク間に白いスペースがないと判
断されると、ヒント処理部31に、外側のストロークの
2本を除く残りのストロークの内1本の線幅を細くする
又は間引くよう指示する。The comparator 33 is a stroke interval calculator 32
Is compared with the number obtained by subtracting 1 from the number of strokes to be inspected.
When the determination unit 34 determines that the total value is smaller than the value obtained by subtraction and that there is no white space between the strokes, the determination unit 34 informs the hint processing unit 31 of the remaining strokes excluding the two outer strokes. Is instructed to narrow or thin one of the lines.
【0048】ヒント処理部31では、比較結果により合
計値が引いた値以上の場合には、特別な処理を行わず
に、ヒント処理後のデータを面塗り部37に渡し、比較
結果により合計値が引いた値より小さい場合には、外側
のストロークの2本を除く残りのストロークの内1本の
線幅を細くする又は間引くように、まるめ処理後のデー
タを変更したヒント処理後のデータを作成して、面塗り
部37に渡す。In the case where the sum is equal to or greater than the subtracted value, the hint processing unit 31 passes the data after the hint processing to the surface painting unit 37 without performing any special processing. Is smaller than the value obtained by subtraction, the data after the hint processing in which the data after the rounding processing is changed is changed so that the line width of one of the remaining strokes except the two outer strokes is reduced or thinned out. It is created and passed to the face coating unit 37.
【0049】最後に、面塗り部37は、渡されたデータ
により輪郭線の内部が指定通りに塗りつぶされ、ビット
マップイメージが完成する。図5、図6によりフォント
格納メモリの構成について説明する。Finally, the inside of the contour line is filled in the face-painting section 37 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.
【0050】ここでは、文字を構成する偏やつくりに相
当するエレメント、筆の運びに相当するストローク、入
筆部や終筆部に相当するパーツというように階層構造に
文字を分解する格納方式で説明する。Here, a storage method is employed in which characters are decomposed into a hierarchical structure, such as elements corresponding to bias and structure forming a character, strokes corresponding to the movement of a brush, and parts corresponding to a writing portion and an end portion. explain.
【0051】更に、データ量削減を目的として、文字の
階層構造と特徴データを格納した図5の構造情報格納メ
モリ4aと、ストローク又はパーツに分解された文字の
輪郭線を格納した輪郭情報格納メモリ4bからなるもの
で説明する。Further, for the purpose of reducing the amount of data, a structure information storage memory 4a shown in FIG. 5 for storing the hierarchical structure of the character and the characteristic data, and a contour information storage memory for storing the outline of the character decomposed into strokes or parts. 4b.
【0052】構造情報格納メモリ4aは、図5に示すよ
うに、文字セットの種類(明朝体、ゴシック体等)や作
成日付等の共通情報を格納したヘッダ部40と、文字コ
ードから目的の情報を探し出すキャラクタポインタ部4
1と、偏やつくり等に分解されたエレメントを指し示す
エレメントポインタ部42、各エレメントがどのような
構造を持つかを記述したエレメントディレクトリ部43
からなる。As shown in FIG. 5, 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
【0053】エレメントディレクトリ部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.
【0054】このストロークブロック45には、ストロ
ークの分類コードと、ストロークのパーツの情報(例え
ば、各パーツの文字座標系から見た原点座標等)を記述
したパーツブロックの他に、ホワイトスペースブロック
を持ち、ここにストロークの間隔を制御するための情報
が格納されている。The stroke block 45 includes a white space block as well as a part block in which a stroke classification code and information on the parts of the stroke (for example, the origin coordinates of each part viewed from the character coordinate system) are described. And information for controlling the interval between strokes is stored here.
【0055】このホワイトスペースブロックには、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.
When viewed in the direction, it indicates whether control of other strokes, intervals, and the like is required. When not necessary, “0” is entered, and when necessary, stroke control is required. The group number of the stroke group is entered.
【0056】例えば、前述の漢字「冊」という文字で
は、横ストロークが4本あり、これらはX方向の間隔等
の制御を必要とするから、同じグループ番号(例えば
「1」)が記入されている。For example, in the above-mentioned character "kanji", there are four horizontal strokes, which need to be controlled in the X direction, and so on, so that the same group number (for example, "1") is entered. I have.
【0057】次に、Yグループ番号は、そのストローク
がY方向に見て、他のストロークと間隔等の制御を必要
とするかどうかを示しており、必要がない時には、
「0」が記入されており、必要がある時は、ストローク
制御を必要とするストローク群のグループ番号が記入さ
れている。Next, the Y group number indicates whether or not the stroke requires control such as an interval with another stroke when viewed in the Y direction.
“0” is entered, and when necessary, the group number of a stroke group that requires stroke control is entered.
【0058】例えば、漢字「車」という文字では、横ス
トロークが5本あり、この内の3本はY方向のストロー
ク制御を必要とするから、同じグループ番号(例えば
「1」)が記入されている。For example, the kanji character "car" has five horizontal strokes, three of which require stroke control in the Y direction. Therefore, the same group number (for example, "1") is entered. I have.
【0059】又、細線化符号とは、太くデザインされた
書体の場合に、線と線の間隔が小さくなりすぎて、くっ
ついてしまうのを防止するため、この符号が「1」であ
るストロークを元の太さよりも細くして、線の間隔を保
つ目的で設けてある。Further, in order to prevent the line-to-line space from becoming too small and sticking to each other in the case of a typeface designed to be thick, a stroke whose code is "1" is used. It is provided for the purpose of keeping the distance between lines smaller than the original thickness.
【0060】次の消去符号は、文字をかなり小さなビッ
トマップに展開した時、隣同士のストロークがくっつい
てしまい、しかも幅が1ピクセルしかないために細くす
ることもできない場合に、この符号が「1」であるスト
ロークを消去して、可読性を向上させる目的として設け
てある。The following erasure code is used when a character is developed into a considerably small bitmap, and when adjacent strokes are stuck together and the width is only one pixel and cannot be made thinner, this code is used. It is provided for the purpose of erasing the stroke of "1" and improving readability.
【0061】指定された文字が、調整を必要とするよう
なストロークを持っているかどうかは、構造情報格納メ
モリ4a内のホワイトスペースブロックの中のXグルー
プ番号とYグループ番号を順に読み出して調べ、「0」
以外の番号が記入されていれば、同じグループ番号を持
つストローク同士について、線幅、削除の調整を行う。Whether or not the designated character has a stroke that requires 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. "0"
If a number other than the above is entered, the line width and deletion of strokes having the same group number are adjusted.
【0062】次に、輪郭情報格納メモリ4bは、例え
ば、文字がパーツまで分解されている場合には、図6に
示すようなデータ構造をとる。即ち、文字セットの種類
や作成日付等のような共通情報を格納したヘッダ部46
と、文字コードから目的の情報を探し出すキャラクタポ
インタ部47と、指定された文字を構成するパーツイメ
ージを探し出すパーツポインタ部48と、パーツイメー
ジが輪郭線で記述された輪郭情報部49とからなる。Next, the outline information storage memory 4b has a data structure as shown in FIG. 6, 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.
【0063】パーツポインタ部48には、各ストローク
の順にパーツポインタ1〜nが設けられ、各パーツポイ
ンタ1〜nには、ストロークの終了を示すフラグが設け
られている。The part pointer section 48 is provided with part pointers 1 to n in order of each stroke, and each of the part pointers 1 to n is provided with a flag indicating the end of the stroke.
【0064】例えば、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. .
【0065】このようにすると、輪郭情報部49の各パ
ーツは、文字毎にパーツポインタ部48を設けるだけ
で、多数の文字で共用でき、フォントメモリの削減が可
能となる。In this way, 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.
【0066】(b) 第1の実施例の説明 図7は本発明の第1の実施例処理フロー図、図8、図9
は本発明の第1の実施例文字生成動作説明図(その
1)、(その2)、図10は本発明の一実施例文字展開
テーブルの説明図である。(B) Description of the First Embodiment FIG. 7 is a processing flowchart of the first embodiment of the present invention, and FIGS.
FIGS. 7A and 7B are explanatory diagrams of a character generation operation according to the first embodiment of the present invention (part 1) and (part 2), and FIG.
【0067】先ず、漢字「車」を例に、図8、図9、図
10により、フォントメモリ4から文字を生成する動作
について説明する。図8に示すように、フォントメモリ
4の構造情報格納メモリ4aのキャラクタポインタ部4
1で、漢字「車」の文字コード「8ED4」をたより
に、エレメントへのポインタが得られ、更にエレメント
ポインタ部42で、構造情報の格納されているエレメン
トブロック44のポインタを得る。First, the operation of generating a character from the font memory 4 will be described with reference to FIGS. 8, 9 and 10, taking the Chinese character "car" as an example. As shown in FIG. 8, the character pointer unit 4 of the structure information storage memory 4a of the font memory 4
In step 1, a pointer to an element is obtained based on the character code "8ED4" of the kanji "car", and a pointer to an element block 44 in which structure information is stored is obtained in the element pointer section 42.
【0068】エレメントブロック44では、図9(B)
に示すように、漢字「車」は、8本のストロークで構成
されているので、エレメントの分類コードの次のストロ
ークブロック45内に、漢字「車」を構成する8本のス
トロークに関する情報が記述されている。In the element block 44, FIG.
As shown in the figure, since the kanji character "car" is composed of eight strokes, information on the eight strokes constituting the kanji character "car" is described in the stroke block 45 next to the element classification code. Have been.
【0069】ここでは、文字の書き順に従って並んでい
る例を示している。最初のストロークは、横線であり、
横線の分類コード「000010」を持ち、Xグループ
番号、Yグループ番号、細線化符号、消去符号の順に並
んだ制御符号欄が、「0100」であり、Y方向のスト
ローク制御のグループ番号が「1」設定されており、細
線化符号、消去符号は「0」である。Here, an example in which the characters are arranged in the writing order is shown. The first stroke is a horizontal line,
The control code column having the horizontal line classification code "000010" and arranged in the order of the X group number, the Y group number, the thinning code, and the erasure code is "0100", and the group number of the stroke control in the Y direction is "1". Is set, and the thinning code and the erasure code are “0”.
【0070】2番目のストロークは、縦線であり、分類
コード「000001」を持ち、X方向にグループ番号
があり、以下同様に、3番目、5番目、6番目、7番目
のストロークにY方向のグループ番号があり、4番目と
8番目のストロークにX方向のグループ番号がある。The second stroke is a vertical line, has a classification code "000001", has a group number in the X direction, and similarly applies to the third, fifth, sixth, and seventh strokes in the Y direction. The fourth and eighth strokes have group numbers in the X direction.
【0071】従って、「車」という文字については、X
方向に3本の調整ストロークグループがあり、Y方向に
5本の調整ストロークグループがあることになる。5番
目のストロークは、細線化符号が「1」のため、線幅の
太い書体等でビットマップに展開した時に、横線同士が
くっついてしまって間隔を保持できない場合には、これ
らの線幅を細くして間隔を保つように制御される。Therefore, for the character "car", X
There are three adjustment stroke groups in the direction and five adjustment stroke groups in the Y direction. In the fifth stroke, since the thinning code is "1", if the horizontal lines are stuck together when the bitmap is developed in a typeface with a large line width and the space cannot be maintained, these line widths are reduced. It is controlled so as to keep the interval narrow.
【0072】更に、5番目のストロークは、消去符号が
「1」であり、小さなビットマップイメージを生成する
場合に、横線同士が隣接してしまい、黒くつぶれた時、
この横線を消去して、線間の間隔を保つ。Further, in the fifth 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.
【0073】従って、構造情報格納メモリ4aでは、文
字「車」の文字コードから対応するストロークブロック
45の内容が引き出される。同様に、図9(A)に示す
ように、漢字「車」の文字コード「8ED4」からキャ
ラクタポインタ部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 "car". Similarly, as shown in FIG. 9A, the pointer of the part pointer section 48 is obtained from the character pointer section 47 from the character code "8ED4" of the kanji "car", and the outline information section 49 is obtained from the part pointer section 48.
The corresponding contour information is extracted.
【0074】図4で説明した拡大縮小演算器30は、か
かる輪郭情報を指定サイズの文字の大きさの輪郭情報に
拡大縮小演算する。例えば、図1に示すXが16ピクセ
ル、Yが16ピクセルのサイズにするには、1000×
1000の座標系で表現された文字の輪郭情報をX方向
は、16/1000倍し、Y方向は、16/1000倍
する。The enlargement / reduction operation unit 30 described with reference to FIG. 4 performs the enlargement / reduction operation on the outline information into outline information of the character size of the designated size. For example, to make the size of X 16 pixels and Y 16 pixels shown in FIG.
The contour information of a character represented by a coordinate system of 1000 is multiplied by 16/1000 in the X direction and 16/1000 in the Y direction.
【0075】このようにして、変換演算された輪郭情報
は、ストロークブロック45の情報とともに、図4のヒ
ント処理部31に送られ、ヒント処理部31では、図1
0の文字展開テーブルを作成する。The contour information thus calculated is sent to the hint processing section 31 of FIG. 4 together with the information of the stroke block 45.
Create a character expansion table of 0.
【0076】この文字展開テーブルは、図10に示すよ
うに、文字を構成する各ストローク毎に、ストローク番
号と、まるめ処理前のストロークの座標(縦ストローク
の線幅の左側のX座標Xl、縦ストロークの線幅の右側
のX座標Xr、横ストロークの線幅の下側のY座標Y
b、横ストロークの線幅の上側のY座標Yu)と、まる
め処理後のストロークの座標(縦ストロークの線幅の左
側のX座標Xl、縦ストロークの線幅の右側のX座標X
r、横ストロークの線幅の下側のY座標Yb、横ストロ
ークの線幅の上側のY座標Yu)と、グループ番号
(X、Y)、細線化符号(X、Y)、消去符号(X、
Y)と、そのストロークの輪郭情報を格納する。As shown in FIG. 10, the character development table includes, for each stroke constituting a character, the stroke number and the coordinates of the stroke before rounding processing (the X coordinate Xl on the left side of the line width of the vertical stroke, the vertical X coordinate Xr on the right side of stroke line width, Y coordinate Y on the lower side of horizontal stroke line width
b, the upper Y coordinate Yu of the horizontal stroke line width, the coordinates of the stroke after rounding (X coordinate Xl on the left side of the vertical stroke line width, X coordinate X on the right side of the vertical stroke line width)
r, lower Y coordinate Yb of the horizontal stroke line width, upper Y coordinate Yu of the horizontal stroke line width), group number (X, Y), thinning code (X, Y), erasing code (X ,
Y) and the outline information of the stroke.
【0077】従って、ヒント処理部31では、拡大縮小
演算器30で演算された各輪郭情報を、文字展開テーブ
ルの対応するストロークの輪郭情報欄に、ストロークの
構造情報を各々制御符号欄(グループ番号(X、Y)、
細線化符号(X、Y)、消去符号(X、Y))に格納
し、この輪郭情報と、縦ストロークか横ストロークかに
応じて、まるめ処理前のストロークの座標を求め、まる
め処理前のストローク座標欄に格納する。Therefore, the hint processing section 31 stores the outline information calculated by the scaling calculator 30 in the outline information field of the corresponding stroke in the character expansion table, and the structure information of the stroke in the control code field (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.
【0078】更に、ヒント処理部31は、このまるめ処
理前のストローク座標を、線幅保存まるめ処理を行い、
まるめ処理後のストローク座標を求め、文字展開テーブ
ルのまるめ処理後のストローク座標欄に格納する。Further, the hint processing unit 31 performs a line width saving rounding process on the stroke coordinates before the rounding process,
The stroke coordinates after the rounding process are obtained and stored in the stroke coordinates column after the rounding process in the character development table.
【0079】これを図8、図9で示した文字「車」につ
いて、図1の16×16のサイズに変換する例で説明す
ると、図9(B)に示すように、1番目のストローク1
は、横ストロークであるので、座標変換した輪郭情報か
ら、横ストロークの線幅の下側のY座標Ybと、横スト
ロークの線幅の上側のY座標Yuとを求めると、各々1
3.4、15.8となり、これをまるめ処理前のストロ
ーク欄に格納する。This will be described with reference to an example in which the character “car” shown in FIGS. 8 and 9 is converted into a 16 × 16 size shown in FIG. 1. As shown in FIG.
Is a horizontal stroke, and the Y coordinate Yb below the line width of the horizontal stroke and the Y coordinate Yu above the line width of the horizontal stroke are obtained from the coordinate information of the converted contour.
3.4 and 15.8, which are stored in the stroke column before rounding.
【0080】そして、これを線幅保存まるめ処理する
と、図1(B)に示すように、1番目のストローク1の
横ストロークの線幅の下側のY座標Ybは、「13」と
なり、横ストロークの線幅の上側のY座標Yuは、「1
5」となり、これをまるめ処理後のストローク欄に格納
する。Then, when this processing is performed to save the line width, as shown in FIG. 1B, the Y coordinate Yb below the line width of the horizontal stroke of the first stroke 1 becomes “13”, and The Y coordinate Yu on the upper side of the stroke line width is “1”.
5 ", which is stored in the stroke field after rounding.
【0081】以下、同様に、2番目のストローク2、3
番目のストローク3、4番目のストローク4、5番目の
ストローク5、6番目のストローク6について、7番目
のストローク7について、8番目のストローク8につい
て、まるめ処理前のストローク座標と、まるめ処理後の
ストローク座標とを求め、文字展開テーブルに格納す
る。Hereinafter, similarly, the second strokes 2, 3
For the third stroke 4, the fourth stroke 4, the fifth stroke 5, the sixth stroke 6, the seventh stroke 7, the eighth stroke 8, the stroke coordinates before the rounding process, The stroke coordinates are obtained and stored in the character expansion table.
【0082】このようにすると、まるめ処理前の文字
「車」は、まるめ処理により、図1(B)のようにな
る。これらのデータを用いて、図4のストローク間隔演
算器32、比較器33、判定器34の動作により、図7
の線幅調整処理が行われる。In this way, the character "car" before the rounding process becomes as shown in FIG. 1B by the rounding process. Using these data, the stroke interval calculator 32, the comparator 33, and the determiner 34 shown in FIG.
Is performed.
【0083】ヒント処理部31は、フォントメモリ4
の構造情報格納メモリ4aから指定された文字のエレメ
ントのストロークブロックを読み出し、拡大縮小演算器
30の輪郭情報とともに、図10の文字展開テーブルを
前述の如く作成する。The hint processing unit 31 stores the font memory 4
The stroke block of the designated character element is read from the structure information storage memory 4a, and the character expansion table of FIG. 10 is created as described above together with the outline information of the scaling calculator 30.
【0084】ヒント処理部31は、文字展開テーブル
のグループ番号欄を読み、同一のグループ番号のストロ
ークグループを拾い出し、これらのまるめ処理後のスト
ローク座標を読み出し、ストローク間隔演算器32に渡
す。The hint processing section 31 reads the group number column of the character development table, picks up the stroke group having the same group number, reads out the stroke coordinates after rounding the stroke groups, and passes them to the stroke interval calculator 32.
【0085】例えば、前述の漢字「車」の例では、文字
展開テーブルよりストローク3、5、6の3本のストロ
ークが同一のグループのストロークとして、そのまるめ
処理後のストローク座標が読み出される。For example, in the case of the aforementioned Chinese character "car", stroke coordinates after rounding processing are read out from the character expansion table as strokes of three strokes 3, 5, and 6 as the same group.
【0086】ストローク間隔演算器32は、まるめ処
理後のストローク座標からヒント処理後のストローク間
隔WSを計算する。図1、図10の例では、図1(B)
のa1’−b1、b1’−c1の2つのストローク間隔
が計算され、a1’はストローク3の下側Y座標Yb
(=10)であり、b1はストローク5の上側Y座標Y
u(=9)であり、b1’はストローク5の下側Y座標
Yb(=7)であり、c1はストローク6の上側Y座標
Yu(=7)であるから、ヒント処理後のストローク間
隔WSは、 WS=(a1’−b1)+(b1’−c1) =10−9+7−7=1 となる。The stroke interval calculator 32 calculates the stroke interval WS after the hint process from the stroke coordinates after the rounding process. In the example of FIGS. 1 and 10, FIG.
A1'-b1 and b1'-c1 are calculated, and a1 'is the lower Y coordinate Yb of stroke 3.
(= 10), and b1 is the upper Y coordinate Y of the stroke 5.
u (= 9), b1 ′ is the lower Y coordinate Yb (= 7) of the stroke 5, and c1 is the upper Y coordinate Yu (= 7) of the stroke 6, so that the stroke interval WS after the hint processing is performed. Is: WS = (a1′−b1) + (b1′−c1) = 10−9 + 7−7 = 1
【0087】次に、このストローク本数N(=3)から
1を引いて、N本のストロークに必要な白スペース数を
求めると、N−1=2となる。 比較器33は、この(N−1)からストローク間隔W
Sを差引き、その結果を判定器34に通知する。Next, 1 is subtracted from the number of strokes N (= 3), and the number of white spaces required for N strokes is calculated as N-1 = 2. The comparator 33 calculates the stroke interval W from (N−1).
S is subtracted, and the result is notified to the decision unit 34.
【0088】判定器34では、比較結果が「0」又は正
かを判定し、比較結果が「0」又は正なら、各ストロー
クの間に白スペースがあるため、細線化処理は必要ない
ため、ステップに進む。The decision unit 34 decides whether the comparison result is “0” or positive. If the comparison result is “0” or positive, there is a white space between each stroke, so that thinning processing is not necessary. Proceed to step.
【0089】一方、判定器34は、比較結果が「0」
又は正でなく、負であると判定すると、ストローク間に
充分な広さがなく、隣接するストロークが接触している
ことを示すので、ヒント処理部31にストロークの細線
化処理を指示する。On the other hand, the judgment unit 34 determines that the comparison result is “0”.
Alternatively, if it is determined that the stroke is not positive and negative, it indicates that there is not enough space between the strokes and that adjacent strokes are in contact with each other, so that the hint processing unit 31 is instructed to perform a stroke thinning process.
【0090】これにより、ヒント処理部31は、まるめ
処理後の座標値から対象となるN本のストロークの線幅
を調べ、線幅が2ピクセル以上あるストロークを抽出
し、線幅が2ピクセル以上あるストロークが無いと判断
すると、細線化処理ができないため、ステップに進
む。Thus, the hint processing unit 31 checks the line widths of the target N strokes from the coordinate values after the rounding processing, extracts strokes having a line width of 2 pixels or more, and outputs a stroke having a line width of 2 pixels or more. If it is determined that there is no certain stroke, the process proceeds to the step because the thinning process cannot be performed.
【0091】ヒント処理部31は、線幅が2ピクセル以
上あるストロークを見つけると、文字展開テーブルの細
線化符号欄を調べ、そのストロークに細線化符号がセッ
トされているかを調べる。When the hint processing section 31 finds a stroke having a line width of 2 pixels or more, the hint processing section 31 examines the thinning code field of the character expansion table and checks whether the thinning code is set in the stroke.
【0092】線幅が2ピクセル以上あるストロークの全
てに、細線化符号がセットされていないと、細線化処理
せずに、ステップに進む。 ヒント処理部31は、線幅が2ピクセル以上あり、且
つ細線化符号のセットされているストロークの線幅より
1を減じる。If the thinning code is not set for all the strokes having a line width of 2 pixels or more, the process proceeds to the step without performing the thinning process. The hint processing unit 31 subtracts 1 from the line width of the stroke in which the line width is 2 pixels or more and the thinning code is set.
【0093】即ち、文字展開テーブルの当該ストローク
のまるめ処理後の座標を、線幅が1ピクセル少なくなる
ように変更する。図1、図10の例では、文字「車」の
「日」の部分の真ん中のストローク5が、2ピクセル以
上の線幅を持ち、且つ細線化符号がセットされているの
で、このストローク5の文字展開テーブルのまるめ処理
後の下側Y座標Ybに「1」を加え、「8」として、線
幅を1ピクセル減少させる。That is, the coordinates of the stroke in the character expansion table after the rounding processing are changed so that the line width is reduced by one pixel. In the examples of FIGS. 1 and 10, the middle stroke 5 of the "day" portion of the character "car" has a line width of 2 pixels or more and a thinning code is set. “1” is added to the lower Y coordinate Yb after the rounding processing of the character expansion table, and the line width is reduced by one pixel as “8”.
【0094】このようにすると、文字「車」は、図1
(C)の如くなり、文字「車」の「日」の部分のつぶれ
がなくなり、見た目の印象を元の文字イメージに近づけ
る。ここで、細線化処理を行うストロークは、もっとも
外側の2本のストロークを除いた他のストロークとする
と、見た目の印象が元の文字のイメージに近いことか
ら、外側の2本のストローク(ここでは、ストローク
3、6)を除いた他のストロークに細線化符号をセット
しておく。In this way, the character "car" is
As shown in (C), the "day" portion of the character "car" is no longer crushed, and the visual impression approaches the original character image. Here, assuming that the strokes to be subjected to the thinning processing are other strokes except for the outermost two strokes, since the appearance impression is close to the original character image, the outer two strokes (here, the strokes) are used. , Strokes 3 and 6) are set with thinning codes in other strokes.
【0095】次に、ヒント処理部31は、文字展開テ
ーブルのグループ番号欄を調べ、未だ未処理のグループ
番号があるかを調べ、有れば、ステップに戻る。ヒン
ト処理部31は、未処理のグループ番号が無いと判定す
ると、X、Y方向とも調整処理を終了したかを調べ、終
了してなければ、ステップに戻り、終了していると、
文字の全エレメントを繰り返したかを判定し、全エレメ
ントを終了していなければ、ステップに戻り、終了し
ていれば、調整処理を終了する。Next, the hint processing section 31 checks the group number column of the character expansion table to see if there is any unprocessed group number, and if there is, returns to the step. When determining that there is no unprocessed group number, the hint processing unit 31 checks whether or not the adjustment processing has been completed in both the X and Y directions.
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 adjustment processing ends.
【0096】尚、調整処理が終了すると、文字展開部3
では、描画部5が、文字展開テーブルの内容により、描
画を行い、ビットマップイメージを完成する。このよう
にして、図1(B)のような縮小文字「車」でも、図1
(C)のようなストローク線幅の調整を行うことによ
り、元の文字のデザインに近いビットマップイメージが
得られる。When the adjustment process is completed, the character developing unit 3
Then, the drawing unit 5 performs drawing based on the contents of the character development table to complete a bitmap image. In this manner, even if the reduced character "car" as shown in FIG.
By adjusting the stroke line width as in (C), a bitmap image close to the original character design can be obtained.
【0097】(c) 第2の実施例の説明 図11は本発明の第2の実施例処理フロー図、図12、
図13は本発明の第1の実施例文字生成動作説明図(そ
の1)、(その2)、図14は本発明の一実施例文字展
開テーブルの説明図である。(C) Description of the Second Embodiment FIG. 11 is a processing flow chart of the second embodiment of the present invention.
FIG. 13 is an explanatory diagram (part 1) and (part 2) of the character generation operation of the first embodiment of the present invention, and FIG. 14 is an explanatory diagram of a character expansion table of one embodiment of the present invention.
【0098】先ず、漢字「亀」を例に、図12、図1
3、図14により、フォントメモリ4から文字を生成す
る動作について説明する。図12に示すように、フォン
トメモリ4の構造情報格納メモリ4aのキャラクタポイ
ンタ部41で、漢字「亀」の文字コード「8B54」を
たよりに、エレメントへのポインタが得られ、更にエレ
メントポインタ部42で、構造情報の格納されているエ
レメントブロック44のポインタを得る。First, the kanji character "Kame" is used as an example in FIGS.
An operation of generating a character from the font memory 4 will be described with reference to FIG. As shown in FIG. 12, a character pointer section 41 of the structure information storage memory 4a of the font memory 4 obtains a pointer to an element based on the character code "8B54" of the kanji character "Kame", and further obtains an element pointer section 42. Then, a pointer to the element block 44 in which the structure information is stored is obtained.
【0099】エレメントブロック44では、図13
(B)に示すように、漢字「亀」は、14本のストロー
クで構成されているので、エレメントの分類コードの次
のストロークブロック45内に、漢字「亀」を構成する
14本のストロークに関する情報が記述されている。In the element block 44, FIG.
As shown in (B), since the kanji character “Kame” is composed of 14 strokes, the 14 strokes constituting the kanji character “Kame” are included in the stroke block 45 next to the element classification code. Information is described.
【0100】ここでは、文字の書き順に従って並んでい
る例を示している。最初のストロークは、斜め線であ
り、斜め線の分類コードを持ち、Xグループ番号、Yグ
ループ番号、細線化符号、消去符号の順に並んだ制御符
号欄が、「0000」であり、X、Y方向のストローク
制御のグループ番号が「0」に設定されており、細線化
符号、消去符号も「0」である。Here, an example in which the characters are arranged in accordance with the writing order is shown. The first stroke is a diagonal line, has a diagonal line classification code, and a control code column arranged in the order of the X group number, the Y group number, the thinning code, and the erasure code is “0000”, and X, Y The group number of the direction stroke control is set to “0”, and the thinning code and the erasure code are also “0”.
【0101】2番目のストロークは、横線であり、分類
コードを持ち、X、Y方向のストローク制御のグループ
番号が「0」に設定されており、細線化符号、消去符号
も「0」である。The second stroke is a horizontal line, has a classification code, the group number of stroke control in the X and Y directions is set to "0", and the thinning code and the erasure code are also "0". .
【0102】このように、この文字「亀」では、図14
に示すように、ストローク9、11、14がX方向のス
トローク調整グループに、ストローク5、7、8がY方
向の第1のストローク調整グループに、ストローク1
0、12、13がY方向の第2のストローク調整グルー
プに設定されている。As described above, in this character “Kame”, FIG.
, Strokes 9, 11, and 14 are assigned to a stroke adjustment group in the X direction, and strokes 5, 7, and 8 are assigned to a first stroke adjustment group in the Y direction.
0, 12, and 13 are set in the second stroke adjustment group in the Y direction.
【0103】又、7番目のストローク7と12番目のス
トローク12は、細線化符号が「1」のため、線幅の太
い書体等でビットマップに展開した時に、横線同士がく
っついてしまって間隔を保持できない場合には、これら
の線幅を細くして間隔を保つように制御される。Further, since the seventh stroke 7 and the twelfth stroke 12 have a thinning code of "1", when they are developed into a bitmap in a font having a large line width, the horizontal lines are stuck to each other and the interval is Is not controlled, the line width is controlled to be small and the interval is maintained.
【0104】更に、7番目のストローク7と12番目の
ストローク12は、消去符号が「1」であり、小さなビ
ットマップイメージを生成する場合に、横線同士が隣接
してしまい、黒くつぶれた時、この横線を消去して、線
間の間隔を保つ。Further, the seventh stroke 7 and the twelfth stroke 12 have an erasure code of “1”, and when a small bitmap image is generated, the horizontal lines are adjacent to each other. This horizontal line is deleted to keep the space between the lines.
【0105】従って、構造情報格納メモリ4aでは、文
字「亀」の文字コードから対応するストロークブロック
45の内容が引き出される。同様に、図13(A)に示
すように、漢字「亀」の文字コード「8B54」からキ
ャラクタポインタ部47よりパーツポインタ部48のポ
インタを求め、パーツポインタ部48より輪郭情報部4
9より対応する輪郭情報を引き出す。Therefore, in the structure information storage memory 4a, the contents of the corresponding stroke block 45 are extracted from the character code of the character "Kame". Similarly, as shown in FIG. 13A, the pointer of the part pointer section 48 is obtained from the character pointer section 47 from the character code "8B54" of the kanji character "Kame", and the outline information section 4 is obtained from the part pointer section 48.
9 to extract corresponding contour information.
【0106】図4で説明した拡大縮小演算器30は、か
かる輪郭情報を指定サイズの文字の大きさの輪郭情報に
拡大縮小演算する。例えば、図2に示すXが12ピクセ
ル、Yが12ピクセルのサイズにするには、1000×
1000の座標系で表現された文字の輪郭情報をX方向
は、12/1000倍し、Y方向は、12/1000倍
する。The enlargement / reduction operation unit 30 described with reference to FIG. 4 performs the enlargement / reduction operation on the outline information to obtain the outline information of the character size of the designated size. For example, to make the size of X 12 pixels and Y 12 pixels shown in FIG.
The contour information of a character represented by a coordinate system of 1000 is multiplied by 12/1000 in the X direction and 12/1000 in the Y direction.
【0107】このようにして、変換演算された輪郭情報
は、ストロークブロック45の情報とともに、図4のヒ
ント処理部31に送られ、ヒント処理部31では、図1
4の文字展開テーブルを作成する。The contour information thus calculated is sent to the hint processing section 31 of FIG. 4 together with the information of the stroke block 45.
4 is created.
【0108】この文字展開テーブルは、図14に示すよ
うに、文字を構成する各ストローク毎に、ストローク番
号と、まるめ処理前のストロークの座標(縦ストローク
の線幅の左側のX座標Xl、縦ストロークの線幅の右側
のX座標Xr、横ストロークの線幅の下側のY座標Y
b、横ストロークの線幅の上側のY座標Yu)と、まる
め処理後のストロークの座標(縦ストロークの線幅の左
側のX座標Xl、縦ストロークの線幅の右側のX座標X
r、横ストロークの線幅の下側のY座標Yb、横ストロ
ークの線幅の上側のY座標Yu)と、グループ番号
(X、Y)、細線化符号(X、Y)、消去符号(X、
Y)と、そのストロークの輪郭情報を格納する。As shown in FIG. 14, the character development table includes, for each stroke constituting a character, the stroke number, the coordinates of the stroke before rounding processing (the X coordinate Xl on the left side of the line width of the vertical stroke, the vertical X coordinate Xr on the right side of stroke line width, Y coordinate Y on the lower side of horizontal stroke line width
b, the upper Y coordinate Yu of the line width of the horizontal stroke, the coordinates of the stroke after rounding (X coordinate Xl on the left side of the line width of the vertical stroke, and the X coordinate X on the right side of the line width of the vertical stroke)
r, lower Y coordinate Yb of the horizontal stroke line width, upper Y coordinate Yu of the horizontal stroke line width), group number (X, Y), thinning code (X, Y), erasing code (X ,
Y) and the outline information of the stroke.
【0109】従って、ヒント処理部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.
【0110】更に、ヒント処理部31は、このまるめ処
理前のストローク座標を、線幅保存まるめ処理を行い、
まるめ処理後のストローク座標を求め、文字展開テーブ
ルのまるめ処理後のストローク座標欄に格納する。Further, the hint processing unit 31 performs a line width saving rounding process on the stroke coordinates before the rounding process,
The stroke coordinates after the rounding process are obtained and stored in the stroke coordinates column after the rounding process in the character development table.
【0111】これを図12、図13で示した文字「亀」
について、図2の12×12のサイズに変換する例で説
明すると、図13(B)に示すように、2番目のストロ
ーク2は、横ストロークであるので、座標変換した輪郭
情報から、横ストロークの線幅の下側のY座標Ybと、
横ストロークの線幅の上側のY座標Yuとを求めると、
各々11.5、12.1となり、これをまるめ処理前の
ストローク欄に格納する。This is shown in FIG. 12 and FIG.
2 will be described with reference to FIG. 2B. As shown in FIG. 13B, the second stroke 2 is a horizontal stroke. Yb below the line width of
When the upper Y coordinate Yu of the line width of the horizontal stroke is obtained,
These are 11.5 and 12.1, respectively, and are stored in the stroke field before rounding.
【0112】そして、これを線幅保存まるめ処理する
と、図2(B)に示すように、2番目のストローク2の
横ストロークの線幅の下側のY座標Ybは、「11」と
なり、横ストロークの線幅の上側のY座標Yuは、「1
2」となり、これをまるめ処理後のストローク欄に格納
する。Then, when this processing is performed to save the line width, as shown in FIG. 2B, the Y coordinate Yb below the line width of the horizontal stroke of the second stroke 2 becomes “11”, and The Y coordinate Yu on the upper side of the stroke line width is “1”.
2 ", which is stored in the stroke field after rounding.
【0113】以下、同様に、斜め線を除く縦、横ストロ
ーク4、5、6、7、8、9、10、11、12、1
3、14について、まるめ処理前のストローク座標と、
まるめ処理後のストローク座標とを求め、文字展開テー
ブルに格納する。Hereinafter, similarly, the vertical and horizontal strokes excluding the diagonal lines 4, 5, 6, 7, 8, 9, 10, 11, 12, 1
For 3 and 14, stroke coordinates before rounding processing,
The stroke coordinates after the rounding process are obtained and stored in the character development table.
【0114】このようにすると、まるめ処理前の文字
「亀」は、まるめ処理により、図2(B)のようにな
る。これらのデータを用いて、図4のストローク間隔演
算器32、比較器33、判定器34の動作により、図1
1のストローク削除調整処理が行われる。In this way, the character “turtle” before the rounding process is changed to the one shown in FIG. 2B by the rounding process. Using these data, the stroke interval calculator 32, comparator 33, and determiner 34 in FIG.
One stroke deletion adjustment process is performed.
【0115】ヒント処理部31は、フォントメモリ4
の構造情報格納メモリ4aから指定された文字のエレメ
ントのストロークブロックを読み出し、拡大縮小演算器
30の輪郭情報とともに、図14の文字展開テーブルを
前述の如く作成する。The hint processing section 31 stores the font memory 4
Then, the stroke block of the specified character element is read out from the structure information storage memory 4a, and the character expansion table of FIG.
【0116】ヒント処理部31は、文字展開テーブル
のグループ番号欄を読み、同一のグループ番号のストロ
ークグループを拾い出し、これらのまるめ処理後のスト
ローク座標を読み出し、ストローク間隔演算器32に渡
す。The hint processing section 31 reads the group number column of the character development table, picks up the stroke groups having the same group number, reads out the stroke coordinates after rounding the stroke groups, and passes them to the stroke interval calculator 32.
【0117】例えば、前述の漢字「亀」の例では、文字
展開テーブルよりストローク5、7、8の3本のストロ
ークが同一のグループのストロークとして、そのまるめ
処理後のストローク座標が読み出される。For example, in the above example of the kanji character "Kame", the stroke coordinates after rounding processing are read out from the character expansion table as strokes of three strokes 5, 7, and 8 in the same group.
【0118】ストローク間隔演算器32は、まるめ処
理後のストローク座標からヒント処理後のストローク間
隔WSを計算する。図2、図14の例では、図2(B)
のa1’−b1、b1’−c1の2つのストローク間隔
が計算され、a1’はストローク5の下側Y座標Yb
(=9)であり、b1はストローク7の上側Y座標Yu
(=9)であり、b1’はストローク7の下側Y座標Y
b(=8)であり、c1はストローク8の上側Y座標Y
u(=8)であるから、ヒント処理後のストローク間隔
WSは、 WS=(a1’−b1)+(b1’−c1) =9−9+8−8=0 となる。The stroke interval calculator 32 calculates the stroke interval WS after the hint process from the stroke coordinates after the rounding process. In the example of FIGS. 2 and 14, FIG.
A1'-b1 and b1'-c1 are calculated, and a1 'is the lower Y coordinate Yb of the stroke 5.
(= 9), and b1 is the upper Y coordinate Yu of the stroke 7.
(= 9), and b1 ′ is the lower Y coordinate Y of the stroke 7.
b (= 8), and c1 is the upper Y coordinate Y of the stroke 8.
Since u (= 8), the stroke interval WS after the hint processing is as follows: WS = (a1′−b1) + (b1′−c1) = 9−9 + 8−8 = 0.
【0119】次に、このストローク本数N(=3)から
1を引いて、N本のストロークに必要な白スペース数を
求めると、N−1=2となる。 比較器33は、この(N−1)からストローク間隔W
Sを差引き、その結果を判定器34に通知する。Next, 1 is subtracted from the number of strokes N (= 3), and the number of white spaces required for N strokes is calculated as N-1 = 2. The comparator 33 calculates the stroke interval W from (N−1).
S is subtracted, and the result is notified to the decision unit 34.
【0120】判定器34では、比較結果が「0」又は正
かを判定し、比較結果が「0」又は正なら、各ストロー
クの間に白スペースがあるため、消去処理は必要ないた
め、ステップに進む。The determination unit 34 determines whether the comparison result is “0” or positive. If the comparison result is “0” or positive, there is no white space between the strokes, and the erasing process is not required. Proceed to.
【0121】一方、判定器34は、比較結果が「0」
又は正でなく、負であると判定すると、ストローク間に
充分な広さがなく、隣接するストロークが接触している
ことを示すので、ヒント処理部31にストロークの削除
処理を指示する。On the other hand, the judgment unit 34 determines that the comparison result is “0”.
Alternatively, if it is determined that the stroke is not positive but negative, it indicates that there is not enough space between the strokes and adjacent strokes are in contact, and the hint processing unit 31 is instructed to delete the stroke.
【0122】これにより、ヒント処理部31は、文字展
開テーブルの細線化符号欄を調べ、対象となるストロー
ク5、7、8に消去符号がセットされているかを調べ
る。対象となるストロークの全てに、消去符号がセット
されていないと、消去処理せずに、ステップに進む。As a result, the hint processing unit 31 checks the thinning code field of the character expansion table to determine whether the erasure code is set for the target strokes 5, 7, and 8. If the erasure code is not set for all the target strokes, the process proceeds to the step without performing the erasure process.
【0123】ヒント処理部31は、消去符号を持つス
トロークを見つけると、このストロークを間引く。即
ち、Y方向でいうと、文字展開テーブルの当該ストロー
クのまるめ処理後の下側と上側の座標を、同一とする。When finding a stroke having an erasure code, the hint processing section 31 thins out the stroke. That is, in the Y direction, the coordinates of the lower side and the upper side of the character expansion table after the rounding processing of the stroke are the same.
【0124】図2、図14の例では、文字「亀」の上の
「日」の部分の真ん中のストローク7に、消去符号がセ
ットされているので、このストローク7の文字展開テー
ブルのまるめ処理後の下側Y座標Ybに「1」を加え、
「9」として、線幅を0として、消去する。In the examples shown in FIGS. 2 and 14, the erasure code is set in the middle stroke 7 of the "day" portion above the character "turtle". "1" is added to the lower Y coordinate Yb after,
The line width is set to "9" and the line width is set to "0".
【0125】このようにすると、文字「亀」は、図2
(C)の如くなり、文字「亀」の上の「日」の部分のつ
ぶれがなくなり、見た目の印象を元の文字イメージに近
づける。In this way, the character "turtle" is displayed in FIG.
As shown in (C), the "day" portion on the character "turtle" is not broken, and the visual impression is closer to the original character image.
【0126】ここで、消去処理を行うストロークは、も
っとも外側の2本のストロークを除いた他のストローク
とすると、見た目の印象が元の文字のイメージに近いこ
とから、外側の2本のストローク(ここでは、ストロー
ク5、8)を除いた他のストロークに消去符号をセット
しておく。Here, assuming that the strokes to be erased are other strokes than the outermost two strokes, since the appearance impression is close to the original character image, the outer two strokes ( Here, an erasure code is set in other strokes except for the strokes 5 and 8).
【0127】次に、ヒント処理部31は、文字展開テ
ーブルのグループ番号欄を調べ、未だ未処理のグループ
番号があるかを調べ、有れば、ステップに戻る。ヒン
ト処理部31は、未処理のグループ番号が無いと判定す
ると、X、Y方向とも調整処理を終了したかを調べ、終
了してなければ、ステップに戻り、終了していると、
文字の全エレメントを繰り返したかを判定し、全エレメ
ントを終了していなければ、ステップに戻り、終了し
ていれば、調整処理を終了する。Next, the hint processing section 31 checks the group number column of the character expansion table to see if there is any unprocessed group number, and if there is, returns to the step. When it is determined that there is no unprocessed group number, the hint processing unit 31 checks whether the adjustment processing has been completed in both the X and Y directions, and if not completed, returns to the step.
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 adjustment processing ends.
【0128】尚、調整処理が終了すると、文字展開部3
では、描画部5が、文字展開テーブルの内容により、描
画を行い、ビットマップイメージを完成する。このよう
にして、図2(B)のような縮小文字「亀」でも、図2
(C)のようなストローク線幅の調整を行うことによ
り、元の文字のデザインに近いビットマップイメージが
得られる。When the adjustment process is completed, the character developing unit 3
Then, the drawing unit 5 performs drawing based on the contents of the character development table to complete a bitmap image. In this way, even the reduced character “Kame” as shown in FIG.
By adjusting the stroke line width as in (C), a bitmap image close to the original character design can be obtained.
【0129】(d) 他の実施例の説明 上述の実施例の他に、本発明は、次のような変形が可能
である。 第1の実施例において、漢字「車」について説明した
が、漢字「亀」等の横ストロークが並んでいるものや、
漢字「耐」、「熊」等の縦ストロークが並んでいるもの
等にも適用できる。(D) Description of Other Embodiments In addition to the above-described embodiments, the present invention can be modified as follows. In the first embodiment, the kanji "car" has been described.
The present invention can also be applied to those in which vertical strokes such as the kanji characters “to” and “bear” are arranged.
【0130】第2の実施例において、漢字「亀」の上
の「日」の部分で説明したが、下の「日」の部分も検証
することができ、同様に、漢字「車」等他の縦ストロー
ク又は横ストロークが並んでいるものにも適用できる。[0130] In the second embodiment, the "day" portion above the kanji "Kame" has been described. However, the "day" portion below can also be verified. Can be applied to those in which vertical strokes or horizontal strokes are arranged.
【0131】第1の実施例と第2の実施例を組み合わ
せて、線幅が2ピクセル以上あれば、第1の実施例の細
線化処理を行い、線幅が2ピクセルなければ、第2の実
施例の消去処理を行うようにすることもできる。By combining the first embodiment and the second embodiment, if the line width is 2 pixels or more, the thinning processing of the first embodiment is performed. If the line width is not 2 pixels, the second line is used. The erasing process of the embodiment may be performed.
【0132】輪郭情報として、文字座標系でのパーツ
の原点を設定し、この原点からの相対位置で表現しても
良い。 フォントメモリを、パーツ分割方式で説明したが、ス
トローク分割方式であっても良い。As the outline information, the origin of the part in the character coordinate system may be set, and expressed as a relative position from the origin. Although the font memory has been described in the part division system, the stroke memory may be used.
【0133】以上、本発明を実施例により説明したが、
本発明の主旨の範囲内で種々の変形が可能であり、これ
らを本発明の範囲から排除するものではない。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.
【0134】[0134]
【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。 ストロークが接触している時に、まるめ処理後のスト
ロークの線幅を細くして、又はストロークを消去するた
め、縮小しても、黒くつぶれることを防止でき、元の文
字のデザインを再現したビットマップイメージを得るこ
とができる。As described above, according to the present invention,
The following effects are obtained. A bitmap that reproduces the original character design by preventing the line from being blackened even if it is reduced to reduce the line width of the rounded stroke or erase the stroke when the stroke is in contact You can get the image.
【0135】まるめ処理後のストローク間の間隔の合
計値を算出して、ストロークの本数から1を引いた数と
比較し、合計値が引いた数より小さい時は、ストローク
が接触していると判定し、一部のストロークの線幅を細
く又は消去するので、簡易な演算で実現でき、文字生成
速度をそれ程低下させずに実現できる。The total value of the intervals between the strokes after the rounding process is calculated and compared with the number obtained by subtracting 1 from the number of strokes. If the total value is smaller than the number obtained by subtracting the stroke, it is determined that the strokes are in contact. Since the determination is made and the line width of some of the strokes is reduced or eliminated, it can be realized by a simple calculation, and can be realized without significantly lowering the character generation speed.
【図1】本発明の原理図(その1)である。FIG. 1 is a principle diagram (part 1) of the present invention.
【図2】本発明の原理図(その2)である。FIG. 2 is a principle diagram (part 2) of the present invention.
【図3】本発明の一実施例ブロック図である。FIG. 3 is a block diagram of one embodiment of the present invention.
【図4】本発明の一実施例文字展開部のブロック図であ
る。FIG. 4 is a block diagram of a character developing unit according to an embodiment of the present invention.
【図5】本発明の一実施例フォントメモリの構成図(そ
の1)である。FIG. 5 is a configuration diagram (part 1) of a font memory according to an embodiment of the present invention;
【図6】本発明の一実施例フォントメモリの構成図(そ
の2)である。FIG. 6 is a configuration diagram (part 2) of a font memory according to an embodiment of the present invention;
【図7】本発明の第1の実施例処理フロー図である。FIG. 7 is a processing flowchart of the first embodiment of the present invention.
【図8】本発明の第1の実施例文字生成動作説明図(そ
の1)である。FIG. 8 is a diagram (part 1) illustrating a character generation operation according to the first embodiment of the present invention.
【図9】本発明の第1の実施例文字生成動作説明図(そ
の2)である。FIG. 9 is a diagram (part 2) illustrating a character generation operation according to the first embodiment of the present invention.
【図10】本発明の第1の実施例文字展開テーブルの説
明図である。FIG. 10 is an explanatory diagram of a character expansion table according to the first embodiment of this invention.
【図11】本発明の第2の実施例処理フロー図である。FIG. 11 is a processing flowchart of a second embodiment of the present invention.
【図12】本発明の第2の実施例文字生成動作説明図
(その1)である。FIG. 12 is a diagram (part 1) illustrating a character generation operation according to the second embodiment of the present invention.
【図13】本発明の第2の実施例文字生成動作説明図
(その2)である。FIG. 13 is a diagram (part 2) illustrating a character generation operation according to the second embodiment of the present invention.
【図14】本発明の第2の実施例文字展開テーブルの説
明図である。FIG. 14 is an explanatory diagram of a character expansion table according to the second embodiment of this invention.
【図15】従来技術の説明図(その1)である。FIG. 15 is an explanatory diagram (part 1) of a conventional technique.
【図16】従来技術の説明図(その2)である。FIG. 16 is an explanatory diagram (part 2) of a conventional technique.
【符号の説明】 3 文字展開部 4 フォント格納メモリ 5 描画部 6 ビットマップメモリ 30 拡大縮小演算器 31 ヒント処理部 32 ストローク間隔演算器 33 比較器 34 判定器 35 面塗り処理部[Explanation of Signs] 3 Character development unit 4 Font storage memory 5 Drawing unit 6 Bitmap memory 30 Enlargement / reduction operation unit 31 Hint processing unit 32 Stroke interval operation unit 33 Comparator 34 Judge unit 35 Surface painting processing unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大伴 武都美 北海道札幌市東区北21条東19丁目3番21 号 有限会社大伴事務所内 (72)発明者 アントニオス・ヘルマン ドイツ連邦共和国リオナーシュトラッセ 14,フランクフルト71 フジツウドイチ ェランドゲーエムベーハー内 (56)参考文献 特開 平3−137697(JP,A) 特開 平4−360196(JP,A) 特開 平6−110438(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 inside Fuji-Gland Germany GmbH (56) References JP-A-3-137697 (JP, A) JP-A-4-360196 (JP, A) JP-A-6-110438 (JP, A) (58) Field surveyed (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 (12)
インフォント情報を、指定されたサイズの座標系の座標
値に変換した後、整数座標値にまるめ処理して、該指定
されたサイズの文字のビットマップイメージを生成する
文字生成方法において、 複数の同一種類のストロークを持つ文字に対して、該ま
るめ処理後の該複数のストローク間の間隔の合計値を算
出して、該ストロークの本数から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 of generating a bitmap image of the above, for a character having a plurality of strokes of the same type, a total value of the intervals between the plurality of strokes after the rounding process is calculated, and from the number of strokes A character generation method, comprising: comparing the number obtained by subtracting 1; and, when the total value is smaller than the number obtained by subtracting 1, reducing the line width of any one of the plurality of strokes.
複数のストロークの内、最も外側のストローク以外のス
トロークであり、且つ当該ストロークの線幅が2ピクセ
ル以上あるストロークであることを特徴とする請求項1
の文字生成方法。2. The method according to claim 1, wherein the stroke for reducing the line width is a stroke other than the outermost one of the plurality of strokes, and the stroke has a line width of 2 pixels or more. Claim 1
Character generation method.
クのまるめ処理後の整数座標値を変更することを特徴と
する請求項1又は2の文字生成方法。3. The character generation method according to claim 1, wherein an integer coordinate value after rounding of the stroke is changed to reduce the line width.
前記文字の線幅を細くするストロークを指定する情報を
設定しておくことを特徴とする請求項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 reducing the line width of the character is set.
インフォント情報を、指定されたサイズの座標系の座標
値に変換した後、整数座標値にまるめ処理して、該指定
されたサイズの文字のビットマップイメージを生成する
文字生成方法において、 複数の同一種類のストロークを持つ文字に対して、該ま
るめ処理後の該複数のストローク間の間隔の合計値を算
出して、該ストロークの本数から1を引いた数と比較
し、 該合計値が該引いた数より小さい場合に、該複数のスト
ロークのいずれかのストロークを削除することを特徴と
する文字生成方法。5. After converting outline font information expressing 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 of generating a bitmap image of the above, for a character having a plurality of strokes of the same type, a total value of the intervals between the plurality of strokes after the rounding process is calculated, and from the number of strokes A character generation method comprising: comparing one of the plurality of strokes with a number obtained by subtracting one from the number of strokes;
前記文字の削除するストロークを指定する情報を設定し
ておくことを特徴とする請求項5の文字生成方法。6. A method according to claim 1, further comprising:
6. The character generation method according to claim 5, wherein information for designating a stroke from which the character is to be deleted is set.
インフォント情報を格納するフォントメモリ(4)と、
該フォントメモリ(4)から指定された文字のアウトラ
インフォント情報を読み出し、指定されたサイズの座標
系の座標値に変換した後、整数座標値にまるめ処理し
て、該指定されたサイズの文字のビットマップイメージ
を生成する文字展開部(3)とを有する文字生成装置に
おいて、 該文字展開部(3)は、複数の同一種類のストロークを
持つ文字に対して、該まるめ処理後のストローク間の間
隔の合計値を算出して、該ストロークの本数に1を引い
た数と比較し、該合計値が該引いた数より小さい時は、
該複数のストロークのいずれかの線幅を細くすることを
特徴とする文字生成装置。7. 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) is provided for a character having a plurality of strokes of the same type, between the strokes after the rounding process. The total value of the intervals is calculated and compared with the number obtained by subtracting 1 from the number of strokes, and when the total value is smaller than the number obtained by subtracting,
A character generating apparatus characterized in that any one of the plurality of strokes has a reduced line width.
トロークの内、最も外側のストローク以外のストローク
であり、且つ当該ストロークの線幅が2ピクセル以上あ
るストロークの線幅を細くすることを特徴とする請求項
7の文字生成装置。8. The character developing section (3) reduces a line width of a stroke other than the outermost one of the plurality of strokes and has a line width of 2 pixels or more. 8. The character generation device according to claim 7, wherein:
くするため、前記ストロークのまるめ処理後の整数座標
値を変更することを特徴とする請求項7又は8の文字生
成方法。9. The character generation method according to claim 7, wherein the character developing unit changes the integer coordinate value after the stroke rounding processing to reduce the line width.
字のアウトライン情報とともに、前記文字の線幅を細く
するストロークを指定する情報を設定しておくことを特
徴とする請求項7又は8又は9の文字生成装置。10. The font memory according to claim 7, wherein information specifying a stroke for reducing the line width of the character is set together with outline information of the character. Character generator.
ラインフォント情報を格納するフォントメモリ(4)
と、該フォントメモリ(4)から指定された文字のアウ
トラインフォント情報を読み出し、指定されたサイズの
座標系の座標値に変換した後、整数座標値にまるめ処理
して、該指定されたサイズの文字のビットマップイメー
ジを生成する文字展開部(3)とを有する文字生成装置
において、 該文字展開部(3)は、複数の同一種類のストロークを
持つ文字に対して、該まるめ処理後のストローク間の間
隔の合計値を算出して、該ストロークの本数に1を引い
た数と比較し、該合計値が該引いた数より小さい時は、
該複数のストロークのいずれかのストロークを削除する
ことを特徴とする文字生成装置。11. A font memory (4) for storing outline font information in which the outline of a character is represented by coordinates.
And read out the outline font information of the designated character from the font memory (4), convert it to the coordinate value of the coordinate system of the designated size, and round the integer coordinate value to obtain the coordinates of the designated size. A character developing unit (3) for generating a bitmap image of a character, wherein the character developing unit (3) is configured to convert a stroke having a plurality of strokes of the same type into a stroke after the rounding process. Calculate the total value of the intervals between and compare it with the number obtained by subtracting 1 from the number of strokes, and when the total value is smaller than the number obtained by subtraction,
A character generating apparatus for deleting any one of the plurality of strokes.
字のアウトライン情報とともに、前記文字の削除するス
トロークを指定する情報を設定しておくことを特徴とす
る請求項11の文字生成方法。12. The character generation method according to claim 11, wherein information specifying a stroke to be deleted of the character is set in the font memory together with outline information of the character.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4326657A JP3034141B2 (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 | Method and device for generating characters |
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 generation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4326657A JP3034141B2 (en) | 1992-12-07 | 1992-12-07 | Character generation method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06175639A JPH06175639A (en) | 1994-06-24 |
JP3034141B2 true JP3034141B2 (en) | 2000-04-17 |
Family
ID=18190219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4326657A Expired - Fee Related JP3034141B2 (en) | 1992-12-07 | 1992-12-07 | Character generation method and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3034141B2 (en) |
Families Citing this family (4)
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 |
US8243077B2 (en) * | 2008-08-29 | 2012-08-14 | Dynacomware Taiwan Inc. | Method for generating stroke-based font characters for a low-resolution display |
US8107729B2 (en) * | 2009-01-26 | 2012-01-31 | Mitsubishi Electric Research Laboratories, Inc. | Method for improving character outlines using multiple alignment zones |
JP5752157B2 (en) * | 2013-01-31 | 2015-07-22 | シャープ株式会社 | Character display device and character display method |
-
1992
- 1992-12-07 JP JP4326657A patent/JP3034141B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06175639A (en) | 1994-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100209455B1 (en) | Character generation method and device | |
US4331955A (en) | Method and apparatus for smoothing outlines | |
JP4960310B2 (en) | Font data storage and retrieval method and apparatus | |
JPH08106276A (en) | Display method of text on screen | |
JPH11338452A (en) | Character font generating method and device, and computor-readable storage medium for storing character font generating program | |
JP3145509B2 (en) | Character generation method and device | |
Bigelow | The font wars, part 1 | |
JP4625269B2 (en) | CHARACTER IMAGE GENERATION DEVICE, CHARACTER IMAGE GENERATION METHOD, DISPLAY CONTROL DEVICE, CHARACTER IMAGE GENERATION PROGRAM, AND DISPLAY CONTROL PROGRAM | |
JP3034141B2 (en) | Character generation method and device | |
JPH06328785A (en) | Method and apparatus for forming character | |
JP3037854B2 (en) | Character generation method and device | |
JP3034140B2 (en) | Character generation method and device | |
JP3085175B2 (en) | Drawing equipment | |
US4736201A (en) | High speed image drawing method and apparatus therefor | |
JPS62211692A (en) | How to create different size characters | |
JP2569489B2 (en) | Brush character output device | |
JPH0679323B2 (en) | Brush typeface generation method | |
JP2580965B2 (en) | Printer device | |
JP3347756B2 (en) | Character generation method and device | |
JP2782752B2 (en) | Character pattern output device | |
KR910002799B1 (en) | Character generation method and apparatus for computer system | |
JPH0661960B2 (en) | Dot interpolation control device | |
JP2737845B2 (en) | Character processing method and apparatus | |
EP0477122A2 (en) | Method of utilizing fixed font metrics in a device using relative font metrics | |
JPH11305750A (en) | Method and device for generating pattern, computer readable recording medium storing pattern generation program and computer readable recording medium storing bit map pattern data |
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 |