JPH07160241A - Character generator - Google Patents
Character generatorInfo
- Publication number
- JPH07160241A JPH07160241A JP5309555A JP30955593A JPH07160241A JP H07160241 A JPH07160241 A JP H07160241A JP 5309555 A JP5309555 A JP 5309555A JP 30955593 A JP30955593 A JP 30955593A JP H07160241 A JPH07160241 A JP H07160241A
- Authority
- JP
- Japan
- Prior art keywords
- character
- data
- coordinate
- amount
- thin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ベクトル形式でコード
化された文字等をドット形式に変換する機能を有する文
字発生装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character generator having a function of converting a character coded in a vector format into a dot format.
【0002】[0002]
【従来の技術】従来、ベクトル形式で格納されたデータ
をビットマップに展開して文字を出力する装置におい
て、ROMやハードディスクに格納された座標データを
読み出し、その座標データに拡大縮小率をかけて所望の
サイズに変換した後にドット形式に変換して文字データ
を得ていた。2. Description of the Related Art Conventionally, in a device for expanding data stored in a vector format into a bit map and outputting a character, coordinate data stored in a ROM or a hard disk is read and the coordinate data is multiplied by an enlargement / reduction rate. After converting to a desired size, it was converted to a dot format to obtain character data.
【0003】[0003]
【発明が解決しようとする課題】しかしながら上記従来
例の場合、同一の書体でもウエイトが異なればそれぞれ
に対して1つずつ座標データを持つ必要がある。しかし
和文書体の場合1書体当たり8000文字程度あり、そ
の1書体に必要な座標データの容量は1Mバイトから3
Mバイトほど必要である。そして、それぞれのウエイト
に対して座標データを持たせることになればその容量は
膨大な容量になってしまうという問題点があった。However, in the case of the above-mentioned conventional example, even if the same typeface has different weights, it is necessary to have one coordinate data for each typeface. However, in the case of the Japanese typeface, there are about 8000 characters per typeface, and the capacity of the coordinate data required for that typeface is from 1 MB to 3
It requires about M bytes. Then, if each weight is provided with coordinate data, its capacity becomes enormous.
【0004】本発明は、上記の問題点を解消するために
なされたもので、少なくとも1つの書体の複数の輪郭デ
ータで構成される文字データから同一の書体での異なる
ウエイトのデータを発生させることによって、少ないメ
モリ容量で、さまざまな肉厚量の各書体の文字データを
発生できる文字発生装置を提供することを目的とする。The present invention has been made to solve the above problems, and generates data of different weights in the same typeface from character data composed of a plurality of contour data of at least one typeface. Therefore, it is an object of the present invention to provide a character generator capable of generating character data of various typefaces having various wall thicknesses with a small memory capacity.
【0005】[0005]
【課題を解決するための手段】本発明に係る第1の文字
発生装置は、1文字が交差する複数の輪郭データで構成
される文字データを記憶する記憶手段と、この記憶手段
に記憶された各輪郭データに基づいて文字パターンを発
生する発生手段と、前記文字パターンを太める又は細め
るための太字量または細字量を入力する入力手段と、こ
の入力手段から入力された太字量または細字量に基づい
て各輪郭データの座標値を変換する変換手段とを有し、
発生手段は前記変換手段により座標変換された各輪郭デ
ータに基づいて太いまたは細い文字パターンを発生させ
るように構成したものである。A first character generating apparatus according to the present invention stores a character data which is composed of a plurality of contour data in which one character intersects, and a memory means which stores the character data. Generating means for generating a character pattern based on each contour data, input means for inputting a bold character amount or thin character amount for thickening or thinning the character pattern, and a bold character amount or a thin character amount input from this input means. And a conversion means for converting the coordinate value of each contour data based on
The generating means is configured to generate a thick or thin character pattern based on each contour data coordinate-converted by the converting means.
【0006】本発明に係る第2の文字発生装置は、変換
手段は、対象座標に隣接する2点の座標値を参照して1
つの変換座標を決定するように構成したものである。In the second character generating apparatus according to the present invention, the converting means refers to the coordinate values of two points adjacent to the target coordinate to determine 1
It is configured to determine one transformation coordinate.
【0007】本発明に係る第3の文字発生装置は、変換
手段は、抽出した各輪郭データを入力された太字量また
は細字量をx方向及びy方向に対して独立して可変する
ように構成したものである。In the third character generating device according to the present invention, the converting means is constructed so that the bold or fine character amount, which is input to each of the extracted contour data, can be independently changed in the x direction and the y direction. It was done.
【0008】本発明に係る第4の文字発生装置は、発生
手段は、変換された各輪郭データに基づいてビットマッ
プフォント,輪郭座標データ,グレースケールフォント
のいずれかを出力するように構成したものである。In a fourth character generator according to the present invention, the generating means is configured to output any one of a bitmap font, contour coordinate data and gray scale font based on each converted contour data. Is.
【0009】本発明に係る第5の文字発生装置は、1文
字が交差する複数の輪郭データで構成される肉厚量の異
なる文字データを複数記憶する記憶手段と、この記憶手
段に記憶された各輪郭データに基づいて太字量の異なる
文字パターンを発生する発生手段と、前記文字パターン
を太める又は細めるための太字量または細字量を入力す
る入力手段と、この入力手段から入力された太字量また
は細字量に基づいて変換するいずれかの文字データ候補
を決定する決定手段と、この決定手段に決定された文字
データに対応する各輪郭データの座標値を変換する変換
手段とを有し、前記発生手段は前記変換手段により座標
変換された各輪郭データに基づいて太いまたは細い文字
パターンを発生させるように構成したものである。A fifth character generator according to the present invention stores a plurality of character data having different wall thicknesses, which is composed of a plurality of contour data with which one character intersects, and a memory means for storing the character data. Generating means for generating character patterns having different boldface amounts based on each contour data, input means for inputting a boldface amount or thinface amount for thickening or thinning the character pattern, and a boldface amount input from this input means Alternatively, it has a determining means for determining any character data candidate to be converted based on the fine character amount, and a converting means for converting the coordinate value of each contour data corresponding to the character data determined by this determining means, The generating means is configured to generate a thick or thin character pattern based on each contour data coordinate-converted by the converting means.
【0010】本発明に係る第6の文字発生装置は、決定
手段は、入力手段から入力された太字量または細字量に
近い肉厚量の文字データを変換する文字データ候補とす
るように構成したものである。In the sixth character generator according to the present invention, the deciding means is constituted so as to convert the character data having a thickness amount close to the bold character amount or the thin character amount inputted from the input means into a character data candidate. It is a thing.
【0011】[0011]
【作用】第1の発明においては、入力手段から入力され
た太字量または細字量に基づいて変換手段が各輪郭デー
タの座標値を変換し、該座標変換された各輪郭データに
基づいて発生手段が太いまたは細い文字パターンを発生
させて、少ない文字データから肉厚量の異なる太字また
は細字文字を発生させるものである。In the first aspect of the invention, the converting means converts the coordinate value of each contour data based on the bold or fine character amount input from the input means, and the generating means based on each coordinate-converted contour data. Generates a thick or thin character pattern to generate a bold or thin character having a different thickness from a small amount of character data.
【0012】第2の発明においては、変換手段は、対象
座標に隣接する2点の座標値を参照して1つの変換座標
を決定して、バランスのとれた太字または細字の文字パ
ターンを発生するものである。In the second invention, the conversion means determines one conversion coordinate by referring to the coordinate values of two points adjacent to the target coordinate, and generates a balanced bold or fine character pattern. It is a thing.
【0013】第3の発明においては、変換手段は、抽出
した各輪郭データを入力された太字量または細字量をx
方向及びy方向に対して独立して可変して、書体毎の特
徴を活かした太字または細字の文字パターンを発生する
ものである。According to the third aspect of the invention, the converting means converts the extracted outline data into the input bold or fine character amount by x.
The character pattern of bold type or thin type is generated by utilizing the characteristics of each typeface by independently changing the direction and the y direction.
【0014】第4の発明においては、発生手段は、変換
された各輪郭データに基づいてビットマップフォント,
輪郭座標データ,グレースケールフォントのいずれかを
出力して、種々の出力手段に適切なデータ形式で太字ま
たは細字の文字データを供給するものである。In a fourth aspect of the invention, the generating means is a bit map font based on each of the converted contour data.
Either the outline coordinate data or the grayscale font is output, and the bold or fine character data is supplied to various output means in an appropriate data format.
【0015】第5の発明においては、入力手段から入力
された太字量または細字量に基づいて決定手段が変換す
るいずれかの文字データ候補を決定し、該決定された文
字データに対応する各輪郭データの座標値を変換手段が
変換し、該座標変換された各輪郭データに基づいて発生
手段が太いまたは細い文字パターンを発生して、文字デ
ータ資源を活かして最良の太字または細字の文字データ
を発生させるものである。In the fifth invention, one of the character data candidates to be converted by the determining means is determined based on the bold character amount or the fine character amount input from the input means, and each contour corresponding to the determined character data. The converting means converts the coordinate values of the data, and the generating means generates a thick or thin character pattern based on each coordinate-converted contour data, and utilizes the character data resource to obtain the best bold or thin character data. It is what is generated.
【0016】第6の発明においては、決定手段は、入力
手段から入力された太字量または細字量に近い肉厚量の
文字データを変換する文字データ候補として、より厳密
な太字または細字の文字データを発生させるものであ
る。In the sixth aspect of the invention, the deciding means is a stricter bold or thin character data as a character data candidate for converting the character data of the thickness amount close to the bold or thin character amount inputted from the input means. Is generated.
【0017】[0017]
〔第1実施例〕次に、本発明の実施例について説明す
る。[First Embodiment] Next, an embodiment of the present invention will be described.
【0018】なお、本発明は複数の機器からなるシステ
ムにおいて、達成されてもよく、1つの機器からなる装
置において達成されてもよい。また、システムあるいは
装置にプログラムを供給することにより、本発明が達成
される場合にも適用されることはいうまでもない。The present invention may be achieved in a system composed of a plurality of devices or in an apparatus composed of a single device. Further, it goes without saying that the present invention is also applied to the case where the present invention is achieved by supplying a program to a system or an apparatus.
【0019】図1は本発明に係る文字発生装置を適用可
能な第1のシステムの制御構成を示すブロック図であ
る。FIG. 1 is a block diagram showing a control configuration of a first system to which the character generator according to the present invention can be applied.
【0020】本システムは日本語ワードプロセッサであ
ってもよいし、ワークステーションあるいはコンピュー
タシステムであってもよい。The system may be a Japanese word processor, a workstation or a computer system.
【0021】図1において、1はCPU、すなわち中央
処理装置であり、この装置全体の制御および演算処理等
を行うものである。2はROM、すなわち読み出し専用
メモリであり、システム起動プログラムおよび文字パタ
ーン・データ等の記憶領域である。3はRAMすなわち
ランダムアクセスメモリであり、使用制限のないデータ
記憶領域であり、さまざまな処理毎に各々のプログラム
およびデータがロードされ、実行される領域である。4
はKBCすなわちキーボード制御部であり、5のKBす
なわちキーボードよりキー入力データを受け取りCPU
1へ伝達する。6はCRTCすなわちディスプレイ制御
部であり、7はCRTすなわちディスプレイ装置であ
り、CRTC6よりデータを受け取り表示する。9はF
Dすなわちフロッピーディスク装置あるいはHDすなわ
ちハードディスク装置等の外部記憶装置であり、プログ
ラムおよびデータを記憶させておき、実行時必要に応じ
て参照またはRAM3へロードする。In FIG. 1, reference numeral 1 is a CPU, that is, a central processing unit, which performs control of the entire apparatus and arithmetic processing. Reference numeral 2 denotes a ROM, that is, a read-only memory, which is a storage area for the system boot program, character pattern data, and the like. Reference numeral 3 denotes a RAM, that is, a random access memory, which is a data storage area without use restrictions, and is an area in which each program and data are loaded and executed for each various processing. Four
Is a KBC, that is, a keyboard control unit, which receives key input data from 5 KB, which is a keyboard, and a CPU
Transmit to 1. Reference numeral 6 is a CRTC, that is, a display control unit, and 7 is a CRT, which is a display device, which receives data from the CRTC 6 and displays it. 9 is F
An external storage device such as D, that is, a floppy disk device or HD, that is, a hard disk device, stores programs and data, and refers to them or loads them into the RAM 3 at the time of execution as needed.
【0022】8はDKCすなわちディスク制御部であ
り、データ伝送等の制御を行うものであり、10はPR
TCすなわちプリンタ制御部であり、11はPRTすな
わちプリンタ装置である。12はシステムバスであり、
上述の構成要素間のデータの通路となるべきものであ
る。Reference numeral 8 is a DKC, that is, a disk control unit, which controls data transmission and the like, and 10 is a PR.
TC, a printer control unit, and 11 a PRT, a printer device. 12 is a system bus,
It should serve as a data path between the above-mentioned components.
【0023】図2は本発明に係る文字発生装置を適用可
能な第2のシステムの制御構成を示すブロック図であ
り、図1と同一のものには同一の符号を付してある。FIG. 2 is a block diagram showing a control configuration of a second system to which the character generator according to the present invention can be applied. The same parts as those in FIG. 1 are designated by the same reference numerals.
【0024】なお、本システムはレーザビームプリンタ
であってもよいし、バブルジェットプリンタあるいは熱
転写等の出力機であってもよい。The system may be a laser beam printer, a bubble jet printer, or an output device such as a thermal transfer printer.
【0025】図2において、21はCPU、すなわち中
央処理装置であり、この装置全体の制御および演算処理
等を行うものである。In FIG. 2, reference numeral 21 is a CPU, that is, a central processing unit, which controls the entire device and performs arithmetic processing and the like.
【0026】22はROMすなわち読み出し専用メモリ
であり、システム起動プログラムおよび文字パターン・
データ等の記憶領域である。23はRAMすなわちラン
ダムアクセスメモリであり、使用制限のないデータ記憶
領域であり、さまざまな処理毎に各々のプログラムおよ
びデータがロードされ、実行される領域である。Reference numeral 22 is a ROM, that is, a read-only memory, which includes a system startup program and a character pattern.
A storage area for data and the like. Reference numeral 23 is a RAM, that is, a random access memory, which is a data storage area without use restrictions, and is an area in which each program and data are loaded and executed for each various processing.
【0027】この様に構成された文字発生装置におい
て、キーボード5から入力された太字量または細字量に
基づいてROM2に記憶された変換プログラムをCPU
1が実行して、各輪郭データの座標値を後述するように
変換し、該座標変換された各輪郭データに基づいてCP
U1が太いまたは細い文字パターンを発生させて、少な
い文字データから肉厚量の異なる太字または細字文字を
発生させるものである。In the character generator configured as described above, the conversion program stored in the ROM 2 is stored in the CPU based on the bold or thin character amount input from the keyboard 5.
1 performs the conversion of the coordinate values of each contour data as described later, and the CP is converted based on each coordinate-transformed contour data.
U1 generates a thick or thin character pattern to generate bold or thin characters having different wall thicknesses from a small amount of character data.
【0028】また、CPU1は、対象座標に隣接する2
点の座標値を参照して1つの変換座標を決定して、バラ
ンスのとれた太字または細字の文字パターンを発生する
ものである。Further, the CPU 1 has a function 2 adjacent to the target coordinate.
One conversion coordinate is determined by referring to the coordinate value of a point, and a well-balanced bold or thin character pattern is generated.
【0029】さらに、CPU1は、抽出した各輪郭デー
タを入力された太字量または細字量をx方向及びy方向
に対して独立して可変して、書体毎の特徴を活かした太
字または細字の文字パターンを発生するものである。Further, the CPU 1 independently changes the input boldface amount or fine letter amount in each of the extracted contour data in the x direction and the y direction, and makes use of the characteristics of each typeface in bold or thin characters. A pattern is generated.
【0030】また、CPU1は、変換された各輪郭デー
タに基づいてビットマップフォント,輪郭座標データ,
グレースケールフォントのいずれかを出力して、種々の
出力手段に適切なデータ形式で太字または細字の文字デ
ータを供給するものである。さらに、キーボード5から
入力された太字量または細字量に基づいてCPU1が変
換するいずれかの文字データ候補をROM2に記憶され
るテーブルから決定し、該決定された文字データに対応
する輪郭データの座標値を変換し、該座標変換された各
輪郭データに基づいて太いまたは細い文字パターンを発
生して、文字データ資源を活かして最良の太字または細
字の文字データを発生させるものである。The CPU 1 also uses a bitmap font, contour coordinate data, and
One of the grayscale fonts is output and the bold or thin character data is supplied to various output means in an appropriate data format. Further, one of the character data candidates to be converted by the CPU 1 is determined from the table stored in the ROM 2 based on the bold or thin character amount input from the keyboard 5, and the coordinates of the contour data corresponding to the determined character data are determined. A value is converted, a thick or thin character pattern is generated based on each coordinate-converted contour data, and character data resources are utilized to generate the best bold or thin character data.
【0031】また、CPU1は、キーボード5から入力
された太字量または細字量に近い肉厚量の文字データを
変換する文字データ候補として、より厳密な太字または
細字の文字データを発生させるものである。Further, the CPU 1 generates stricter bold or thin character data as a character data candidate for converting character data having a thickness close to the bold or thin amount input from the keyboard 5. .
【0032】次に、本発明の実施例の詳細を図3のフロ
ーチャートを用いて説明する。Next, details of the embodiment of the present invention will be described with reference to the flowchart of FIG.
【0033】図3は本発明に係る文字発生装置における
第1の文字発生方法を示すフローチャートである。な
お、(1)〜(16)は各ステップを示す。FIG. 3 is a flow chart showing a first character generating method in the character generating device according to the present invention. Note that (1) to (16) indicate each step.
【0034】ここで説明する例は、ウエイトの異なる同
一の書体がシステムに1つ存在するとき、そのデータを
用いて異なるウエイトのデータを発生させるときの例で
ある。The example described here is an example of generating data of different weights by using the data when one typeface having different weights exists in the system.
【0035】ステップ(1)において入力パラメータを
受け取る。ここで入力パラメータとしては出力すべき文
字の文字コード,書体,ウエイト,出力サイズ,出力形
式等がある。文字コードとしてはJISコード,シフト
JISコード,EUCコード,UNIコード等のあらか
じめ対象となるシステムがどの文字コード体系によって
定められているかによって決まる。また、書体としては
明朝体,ゴシック体,丸ゴシック体等のシステムがあら
かじめ内蔵しているデータあるいはオプションとして加
えられたデータの中から選ばれる。ウエイトは前記書体
の線の太さ情報であり、ここでは極細,細,中,太,極
太等の情報が与えられる。出力サイズは実際にフォント
データを出力する際にどれ位の大きさで出力するかの情
報である。出力形式は所望とするフォントの出力データ
形式であり、輪郭座標データ出力,ビットマップ出力等
の要求が出される。In step (1), input parameters are received. Here, the input parameters include a character code of a character to be output, a font, a weight, an output size, an output format, and the like. The character code is determined according to which character code system the target system such as JIS code, shift JIS code, EUC code, UNI code is defined in advance. The typeface is selected from the data such as Mincho typeface, Gothic type, and Maru Gothic type that are built in the system in advance or added as an option. The weight is information on the line thickness of the typeface, and here, information such as extra fine, fine, medium, thick, and extra thick is given. The output size is information on how large the font data is actually output. The output format is an output data format of a desired font, and a request such as contour coordinate data output or bitmap output is issued.
【0036】次に、ステップ(2)において対象文字の
座標データを読み込む。このデータはROM,RAM,
ハードディスク,フロッピーディスク等にあらかじめ格
納されており、ステップ(1)で取り込んだ入力情報の
書体情報や文字コード情報から検索して必要分読み込
む。このとき取り込む入力情報は図4に示すように文字
の輪郭の特徴点を抽出した座標情報であり、それぞれの
点に対して直線データ/曲線データ判別フラグ、輪郭開
始点/終了点フラグ等の属性情報を持つ。そして、ここ
で扱う曲線データの補間式は2次あるいは3次Bスプラ
イン曲線であったり、2次あるいは3次ベジェ曲線であ
ったりするが、どの補間式を使用しているかはあらかじ
め決定されている。Next, in step (2), the coordinate data of the target character is read. This data is ROM, RAM,
It is stored in advance on a hard disk, floppy disk, etc., and is searched for from the typeface information and character code information of the input information fetched in step (1) and read as necessary. The input information fetched at this time is the coordinate information obtained by extracting the characteristic points of the contour of the character as shown in FIG. 4, and the attributes such as the straight line data / curve data discrimination flag and the contour start point / end point flag for each point. Have information. The interpolation formula of the curve data handled here may be a quadratic or cubic B-spline curve or a quadratic or cubic Bézier curve. Which interpolation formula is used is determined in advance. .
【0037】また、文字枠を示す座標の最小値は0、最
大値は800等で表現されている。また、各ストローク
の枠の基準点への文字の原点からのオフセット情報を持
つ。そして、ステップ(3)においては取り込んだ座標
データを入力パラメータのウエイト情報に応じて太め/
細め処理を行う。この時の処理は図12のフローチャー
トを用いて後で詳述するが、この太め/細めを行った結
果は図5に示すように各々の輪郭線を太めた/細めた座
標に変換される。The minimum value of the coordinates indicating the character frame is represented by 0, and the maximum value is represented by 800 or the like. It also has offset information from the origin of the character to the reference point of the frame of each stroke. Then, in step (3), the loaded coordinate data is thickened / decreased according to the weight information of the input parameter.
Perform thinning processing. The processing at this time will be described in detail later with reference to the flowchart of FIG. 12, but the result of this thickening / thinning is converted into the thickening / thinning coordinates of each contour line as shown in FIG.
【0038】このとき太め/細め処理後の座標点は1対
1に対応しており、それぞれの点の持つ属性フラグは変
化しない。そして、ステップ(4)において、ステップ
(3)で得られた太めた/細めた座標データを入力パラ
メータの出力サイズに応じて拡大縮小処理を行う。この
時の計算方法は、要求出力サイズを(Ax,Ay)、ス
テップ(3)で得られたそれぞれの座標値を(x,
y)、拡大縮小処理後のそれぞれの座標値を(X,
Y)、格納されている文字枠のサイズを(Mx,My)
とすると、 (X,Y)=(x×Ax/Mx,y×Ay/My) となる。上記計算を1文字が持つすべての座標列におい
て計算する。また、このときステップ(3)で得られた
各座標点における属性フラグは変化しない。そして、ス
テップ(5)においては入力パラメータの出力形式で判
定し、出力形式が輪郭座標データ出力であれば、ステッ
プ(6)に進み、ステップ(4)で得られた拡大縮小後
の座標点および座標点属性のデータ列を要求側へ返す。
図6にその座標出力の例を示す。またステップ(5)に
おいてビットマップ出力が要求されていれば、ステップ
(7)へ進む。ステップ(7)からステップ(13)に
おいては、実際に座標データからビットマップのデータ
を作成する処理である。ステップ(7)においては、対
象となる座標データが直線であるかあるいは曲線である
かを判定する。At this time, the coordinate points after the thickening / thinning processing correspond to each other one by one, and the attribute flag of each point does not change. Then, in step (4), the thickened / narrowed coordinate data obtained in step (3) is enlarged / reduced according to the output size of the input parameter. The calculation method at this time is that the required output size is (Ax, Ay), and the coordinate values obtained in step (3) are (x, Ay).
y), the respective coordinate values after the scaling process are (X,
Y), the size of the stored character frame is (Mx, My)
Then, (X, Y) = (x × Ax / Mx, y × Ay / My). The above calculation is performed for all the coordinate sequences of one character. At this time, the attribute flag at each coordinate point obtained in step (3) does not change. Then, in step (5), determination is made according to the output format of the input parameter, and if the output format is contour coordinate data output, the process proceeds to step (6) and the scaled coordinate points obtained in step (4) and Returns the coordinate point attribute data string to the requester.
FIG. 6 shows an example of the coordinate output. If bitmap output is requested in step (5), the process proceeds to step (7). Steps (7) to (13) are processes for actually creating bitmap data from coordinate data. In step (7), it is determined whether the target coordinate data is a straight line or a curved line.
【0039】対象となる座標データが直線である場合
は、その座標点を直線のスタート点とし、次の座標点を
直線のエンド点としてステップ(8)へ進む。対象とな
るデータが曲線データである場合はその座標点から曲線
終了フラグが付されている座標データまでを曲線データ
としてステップ(9)へ進む。ステップ(8)において
は直線を発生させる処理を行う。このときの直線発生方
法はDDAによって発生させる。そして、DDAによっ
て発生させた座標データは図7に示すような塗りつぶし
用座標テーブルに格納する。When the target coordinate data is a straight line, the coordinate point is set as the start point of the straight line and the next coordinate point is set as the end point of the straight line, and the process proceeds to step (8). If the target data is curve data, the process from the coordinate point to the coordinate data to which the curve end flag is added is regarded as curve data, and the process proceeds to step (9). In step (8), a process for generating a straight line is performed. The straight line generating method at this time is generated by DDA. Then, the coordinate data generated by the DDA is stored in the filling coordinate table as shown in FIG.
【0040】図7に示す塗りつぶし用座標テーブルは出
力領域の各y座標に対して、x座標のスタート座標/ス
トップ座標を格納していく。DDAによって同一のy座
標に対して複数のx座標が存在する場合は、ストローク
の輪郭に対して最も外側になるようにx座標を設定す
る。ステップ(9)においては曲線データを短い直線
(ショートベクトル)の集合に変換する処理を行う。The filling coordinate table shown in FIG. 7 stores the start coordinate / stop coordinate of the x coordinate for each y coordinate of the output area. When there are a plurality of x-coordinates for the same y-coordinate by the DDA, the x-coordinates are set so as to be the outermost part with respect to the contour of the stroke. In step (9), the curve data is converted into a set of short straight lines (short vectors).
【0041】図8に3次ベジェ曲線をショートベクトル
の集合に変換するようすを示している。点A,B,C,
Dはステップ(3)より得られた座標変換後の曲線デー
タ(3次ベジェ曲線構成点)であり、これらの点からま
ず点a,点b,点cを求める。点aは点Aと点Bの中
点、点bは点Bと点Cの中点、点cは点Cと点Dの中点
である。FIG. 8 shows how to convert a cubic Bezier curve into a set of short vectors. Points A, B, C,
D is curve data (third-order Bezier curve constituent points) after coordinate conversion obtained in step (3), and points a, b, and c are first obtained from these points. Point a is the midpoint between points A and B, point b is the midpoint between points B and C, and point c is the midpoint between points C and D.
【0042】そして、次に点x,点y,点zを求める。
点xは点aと点bの中点、点zは点bと点cの中点、点
yは点xと点zの中点である。そうすると点列Aaxy
が新しい1つの3次ベジェ構成点、そして、点列yzc
Dがもう1つの3次ベジェ構成点となる。そして、それ
ぞれのベジェ構成点を同様な操作で細分化していき、あ
る判定基準を満たしたらそのとき細分化を中止する。そ
して、それまでにできた3次ベジェの構成点列がショー
トベクトルの集合となる。Then, the points x, y, and z are obtained.
The point x is the midpoint between the points a and b, the point z is the midpoint between the points b and c, and the point y is the midpoint between the points x and z. Then the point sequence Aaxy
Is a new cubic Bezier constituent point, and the point sequence yzc
D is another cubic Bezier constituent point. Then, each Bezier constituent point is subdivided by the same operation, and when a certain criterion is satisfied, the subdivision is stopped at that time. Then, the constituent point sequence of the cubic Bezier created up to that point becomes a set of short vectors.
【0043】そして、ステップ(10)において、ステ
ップ(9)で求めたショートベクトルの集合に基づい
て、塗りつぶし用座標テーブルに格納する。このテーブ
ルに対する格納方法は、ステップ(8)で示した方法と
まったく同様であり、すべてのショートベクトルに対し
て処理を終了するまで繰り返す。Then, in step (10), it is stored in the filling coordinate table based on the set of short vectors obtained in step (9). The storage method for this table is exactly the same as the method shown in step (8), and is repeated until processing is completed for all short vectors.
【0044】そして、ステップ(11)において1つの
輪郭の座標データがすべて終了したかどうかを判定し、
処理が終了していればステップ(13)へ進み、処理が
終了していなければステップ(12)に進む。ステップ
(12)においては次のデータを処理するために現在の
座標データへのポインタを更新する。直線の場合であれ
ば次の座標データへポインタを更新し、曲線データであ
れば曲線の終了座標点までポインタを更新する。Then, in step (11), it is judged whether or not the coordinate data of one contour are all finished,
If the process is completed, the process proceeds to step (13). If the process is not completed, the process proceeds to step (12). In step (12), the pointer to the current coordinate data is updated to process the next data. If it is a straight line, the pointer is updated to the next coordinate data, and if it is curve data, the pointer is updated to the end coordinate point of the curve.
【0045】そして、ステップ(7)に戻って新たに直
線/曲線判定をして打点を行っていく。ステップ(1
3)においては1文字分すべての輪郭データに対して処
理を終了したかどうかを判定し、すべての輪郭に対して
処理を終了していればステップ(15)に進み、処理を
終了していなければステップ(14)に進む。そして、
ステップ(14)においては、1輪郭が終了した後なの
で次の輪郭の先頭にポインタを進めステップ(7)に戻
る。ステップ(15)においてはすべての座標データに
対して2つの平面への打点処理が終了しているので、図
9に示すようにステップ(8)およびステップ(10)
で塗りつぶし用座標テーブルに格納された各y座標に対
するx座標に対してノンゼロワインディング方式で塗り
つぶしを行う。この方式は各スキャンラインの左側から
スキャンしていき、スタート点であればフラグの値をイ
ンクリメントし、エンド点であればデクリメントする。
そして、フラグの値が0でなければその間は1として塗
りつぶし処理を行う。Then, returning to step (7), a new straight line / curve determination is made and a dot is made. Step (1
In 3), it is determined whether or not the processing has been completed for all contour data for one character. If the processing has been completed for all contours, the process proceeds to step (15) and the processing must be completed. If so, proceed to step (14). And
In step (14), since one contour is completed, the pointer is advanced to the beginning of the next contour and the procedure returns to step (7). In step (15), since the dot processing on the two planes has been completed for all the coordinate data, as shown in FIG. 9, steps (8) and (10) are performed.
The non-zero winding method is applied to the x-coordinate for each y-coordinate stored in the paint coordinate table. This method scans from the left side of each scan line, increments the flag value at the start point, and decrements at the end point.
Then, if the value of the flag is not 0, it is set to 1 during that period and the filling process is performed.
【0046】そして、ステップ(16)において要求側
の指定する領域にステップ(15)で求められた1文字
分のデータを返して処理を終了する。Then, in step (16), the data for one character obtained in step (15) is returned to the area designated by the requesting side, and the process ends.
【0047】次に、図10のフローチャートを用いて図
3のステップ(3)における太め/細め処理の実施例を
詳述する。Next, the embodiment of the thickening / thinning process in step (3) of FIG. 3 will be described in detail with reference to the flowchart of FIG.
【0048】本発明における太め/細めの処理はストロ
ークに太める/細めるパラメータを変化させ、それぞれ
の輪郭点座標を変更する。In the thickening / thinning process according to the present invention, the thickening / thinning parameters for the stroke are changed to change the respective coordinates of the contour points.
【0049】図10は本発明に係る文字発生装置におけ
る太め/細めの処理手順の一例を示すフローチャートで
ある。なお、(1)〜(9)は各ステップを示す。FIG. 10 is a flowchart showing an example of a thickening / thinning processing procedure in the character generator according to the present invention. Note that (1) to (9) indicate each step.
【0050】ステップ(1)ではウエイトに応じて輪郭
の太さのパラメータを決定する。太さを決定するパラメ
ータは輪郭に対してそれぞれx方向,y方向の独立に値
を持ち、横線の太め量および縦線の太め量をそれぞれ独
立に管理する。これは例えば図11に示すように明朝体
を太めようとした場合、明朝体の横線はさほど太くせず
に済むのに縦線は大きく太める必要があるため、x方向
およびy方向に対してそれぞれ異なる値を設定する必要
があるからである。また、図12に示すように丸ゴシッ
ク体の場合は、横方向および縦方向はほぼ同じ量だけ太
らせている。したがって、それぞれの書体に対しても太
めるべき値を変化させる必要がある。そこで、図13に
示すようにそれぞれの書体とウエイトにおける横線と縦
線に対して線の中心から輪郭までの標準値のデータをあ
らかじめテーブルでもたせ、入力された対象座標データ
の書体およびウエイトと出力したい座標データのウエイ
トから輪郭の太め量をそれぞれx方向およびy方向に対
して決定する。このときこの太め量が正の値となる場合
は太め処理が行われ、太め量が負の値となる場合には細
め処理が行われることになる。In step (1), the parameter for the thickness of the contour is determined according to the weight. The parameters that determine the thickness independently have values in the x direction and the y direction with respect to the contour, and the horizontal line thickening amount and the vertical line thickening amount are independently managed. For example, when the Mincho body is thickened as shown in FIG. 11, the horizontal line of the Mincho body does not need to be thick, but the vertical line needs to be thickened. Therefore, in the x direction and the y direction, This is because it is necessary to set different values for each. Further, as shown in FIG. 12, in the case of the round Gothic body, the horizontal direction and the vertical direction are thickened by substantially the same amount. Therefore, it is necessary to change the value to be thickened for each typeface. Therefore, as shown in FIG. 13, the standard value data from the center of the line to the contour for the horizontal line and the vertical line in each typeface and weight are stored in a table in advance, and the typeface and weight of the input target coordinate data and the output are output. From the weight of the desired coordinate data, the thickening amount of the contour is determined for the x direction and the y direction, respectively. At this time, the thickening process is performed when the thickening amount has a positive value, and the thinning process is performed when the thickening amount has a negative value.
【0051】ステップ(2)においては各ストロークの
オフセット情報を太さパラメータに応じて変化させる。
この計算方法は、オフセットのx座標およびy座標から
太さパラメータのx値およびy値を減じることによって
求められる。そして、ステップ(3)からステップ
(7)までの間で1ストロークの構成点のすべての座標
点列に対して太め/細め処理を行う。ステップ(3)で
はまず処理を施すための対象点を取り込む。そして、ス
テップ(4)で対象点の両隣の点を取り込む。In step (2), the offset information of each stroke is changed according to the thickness parameter.
This calculation method is obtained by subtracting the x and y values of the thickness parameter from the x and y coordinates of the offset. Then, between step (3) and step (7), thickening / thinning processing is performed on all coordinate point sequences of the constituent points of one stroke. In step (3), first, the target point to be processed is fetched. Then, in step (4), points on both sides of the target point are captured.
【0052】そして、ステップ(5)において実際の太
め処理を行う。この様子は図14に示すように対象点を
B、対象点の1つ前の点をA、対象点の次の点をCとす
ると、ベクトルAB、およびベクトルBCをなす角を2
分する方向に対して、輪郭の向きが左回りであれば右側
に移動し、輪郭の向きが右回りであれば左側に移動す
る、そして、その移動量は、ステップ(1)で求めたx
太め量,y太め量によってその斜辺となるように決定す
る。このとき求められた座標値は1ストロークの枠に対
する座標値であるので、ステップ(2)で求めたオフセ
ット座標を加えて文字の原点からの座標値とする。Then, in step (5), an actual thickening process is performed. As shown in FIG. 14, when the target point is B, the point immediately before the target point is A, and the point next to the target point is C, the angle forming the vector AB and the vector BC is 2 as shown in FIG.
With respect to the dividing direction, if the contour direction is counterclockwise, it moves to the right side, and if the contour direction is clockwise, it moves to the left side, and the amount of movement is x determined in step (1).
It is decided to be the hypotenuse depending on the thickening amount and the y thickening amount. Since the coordinate value obtained at this time is the coordinate value for the frame of one stroke, the offset coordinate obtained in step (2) is added to obtain the coordinate value from the origin of the character.
【0053】そして、ステップ(6)において1輪郭分
のすべての座標点において処理を行っていればステップ
(8)に進み、まだ処理すべき輪郭点が存在する場合に
は、ステップ(7)に進み、次の輪郭点へポインタを進
めて再度太め処理を行う。ステップ(8)においては、
1文字分のすべての輪郭において処理を行ったかどうか
を判定し、すべて処理を行っていればステップ(9)へ
進み、まだ処理すべき輪郭が存在するときは、次の輪郭
にポインタを進めて再度太め処理を行う。Then, in step (6), if processing has been performed on all coordinate points for one contour, the process proceeds to step (8). If there are still contour points to be processed, the process proceeds to step (7). Then, the pointer is advanced to the next contour point and the thickening process is performed again. In step (8),
It is determined whether or not processing has been performed on all contours for one character, and if all processing has been performed, the process proceeds to step (9). If there is a contour to be processed, the pointer is advanced to the next contour. Perform the thickening process again.
【0054】そして、すべての輪郭座標点において太め
処理が施されたときに、ステップ(9)に進む。ステッ
プ(9)においては、太め/細め処理を行ったことによ
り、図15に示すように文字の全体の枠が太め処理の場
合大きくなり、細め処理の場合は小さくなってしまう。Then, when the thickening processing is performed on all the contour coordinate points, the process proceeds to step (9). In step (9), the thickening / thinning process causes the entire frame of the character to be large in the thickening process and small in the thinning process as shown in FIG.
【0055】よって、元の文字の全体枠に大きさを調整
する必要がある。その拡大/縮小量はステップ(1)で
求めた輪郭の太め量(細めの場合は負の値)の2倍分だ
け太まっている。Therefore, it is necessary to adjust the size of the entire frame of the original character. The enlargement / reduction amount is thickened by twice the thickening amount (negative value in the case of thinning) of the contour obtained in step (1).
【0056】そこで、元の文字枠のX幅をBx、輪郭の
太め量の横の値をFxとし、Y幅をBy、輪郭の太め量
の縦の値をFyとし、太め処理を行った座標を(x,
y)、調整後の座標を(X,Y)とすると、 (X,Y)=((x+Fx)×Bx/(Bx+Fx×
2)、(y+Fy)×By/(By+Fy×2)) で計算することができる。そして、この計算を1文字分
すべての座標点列において処理することによって図10
に示した太め処理を終了する。 〔第2実施例〕次に、第2実施例について説明する。こ
こで説明するのはあるウエイトの書体を要求したとき、
同一の書体がシステムに2つ以上存在したときの例であ
る。Therefore, the X width of the original character frame is Bx, the horizontal value of the thickening amount of the contour is Fx, the Y width is By, and the vertical value of the thickening amount of the contour is Fy. To (x,
y), where the adjusted coordinates are (X, Y), (X, Y) = ((x + Fx) × Bx / (Bx + Fx ×
2), (y + Fy) × By / (By + Fy × 2)). Then, by performing this calculation on all the coordinate point sequences for one character, FIG.
The thickening process shown in is ended. [Second Embodiment] Next, a second embodiment will be described. The explanation here is that when you request a certain typeface,
This is an example when two or more same typefaces exist in the system.
【0057】このときは要求するウエイトを複数ある同
一の書体の中からどのウエイトの書体を基にして処理す
るかが重要である。従って、基準となるウエイトの書体
が決定すれば、その後のウエイト変換処理は前記実施例
で示したものと同様の処理できるのでここでは、基準と
なるウエイトの選択方法のみについて説明し、それ以外
は省略する。At this time, it is important that which of the weighted fonts to process the requested weight is based on. Therefore, if the typeface of the reference weight is determined, the subsequent weight conversion processing can be performed in the same manner as that shown in the above-mentioned embodiment. Therefore, only the method of selecting the reference weight will be described here, and other than that, Omit it.
【0058】図16は本発明に係る文字発生装置におけ
る太めパラメータ選択処理手順の一例を示すフローチャ
ートである。なお、(1)〜(6)は各ステップを示
す。FIG. 16 is a flow chart showing an example of the thick parameter selection processing procedure in the character generator according to the present invention. Note that (1) to (6) indicate each step.
【0059】ステップ(1)において記憶装置にどの書
体のどのウエイトが格納されているかを検索する必要が
ある。そこで各書体のヘッダ部に記憶されているヘッダ
情報を参照してテーブルにデータ存在情報を格納する。
図17に示すテーブルデータの例では明朝体のウエイト
3とウエイト7、丸ゴシック体のウエイト5、角ゴシッ
ク体のウエイト6、楷書体のウエイト4とウエイト7が
格納されていることが分かる。In step (1), it is necessary to retrieve which weight of which typeface is stored in the storage device. Therefore, the data existence information is stored in the table by referring to the header information stored in the header portion of each typeface.
In the example of the table data shown in FIG. 17, it can be seen that the weights 3 and 7 of Mincho type, the weight 5 of round Gothic type, the weight 6 of square Gothic type, the weights 4 and 7 of cursive type are stored.
【0060】そして、ステップ(2)においては、まず
要求されたウエイトの情報がすでにROMあるいはハー
ドディスク装置等の記憶装置に格納されているか否かを
判定する。この時はステップ(1)で作成されたテーブ
ルを検索していき、要求された書体とウエイトの情報に
よりデータが記憶装置に格納されているか否かが分か
る。要求されたウエイトの情報が記憶装置に格納されて
いれば、ステップ(3)へ進み、格納されていなければ
ステップ(4)へ進む。ステップ(3)は要求されたウ
エイトの情報がすでに記憶装置に格納されていた場合の
例であり、この時は太め/細め処理を行う必要がないの
で記憶装置から座標データを読み込み、その座標データ
から出力サイズに応じて拡大縮小を行い、ビットマップ
フォントを作成して処理を終了する。Then, in step (2), it is first determined whether or not the requested weight information is already stored in the storage device such as the ROM or the hard disk device. At this time, the table created in step (1) is searched to find out whether the data is stored in the storage device based on the requested typeface and weight information. If the requested weight information is stored in the storage device, the process proceeds to step (3). If not, the process proceeds to step (4). Step (3) is an example when the requested weight information is already stored in the storage device. At this time, since it is not necessary to perform the thickening / thinning process, the coordinate data is read from the storage device and the coordinate data is read. Then, scaling is performed according to the output size, a bitmap font is created, and the processing ends.
【0061】ステップ(4)では、要求されたウエイト
の情報が記憶装置にはない場合であり、この時は太め/
細め処理を行って要求されたウエイトの文字を出力す
る。そこで、その太め/細め処理を行う元となるデータ
を選択する必要がある。一般に細め処理を行う場合に比
べて太め処理を行ったほうが品質的に劣化が少なくて済
むのでここでは、要求されたウエイトよりも小さいウエ
イトの情報が記憶装置に格納されているか否かをステッ
プ(1)で作成したテーブルを元に判定を行う。In step (4), the requested weight information is not stored in the storage device.
The characters of the requested weight are output after performing the thinning processing. Therefore, it is necessary to select the data to be the source of the thickening / thinning processing. Generally, the thickening process causes less deterioration in quality than the thinning process. Therefore, here, it is determined whether or not the weight information smaller than the requested weight is stored in the storage device. Judgment is made based on the table created in 1).
【0062】そして、要求されたウエイトよりも小さい
ウエイトの情報が記憶装置に格納されていればステップ
(5)に進み、要求されたウエイトの情報が記憶装置に
格納されていなければステップ(6)に進む。Then, if the weight information smaller than the requested weight is stored in the storage device, the process proceeds to step (5), and if the requested weight information is not stored in the storage device, the step (6). Proceed to.
【0063】例えばウエイト5の明朝体を出力したい場
合には、ウエイト3の明朝体が記憶装置に存在するので
ステップ(5)に進み、ウエイト3の角ゴシック体を出
力したい場合にはそれより小さいウエイトの角ゴシック
体は存在しないのでステップ(6)に進む。For example, when the Mincho body of the weight 5 is to be output, since the Mincho body of the weight 3 exists in the storage device, the process proceeds to step (5), and when the square Gothic body of the weight 3 is to be output, Since there is no smaller weight angular Gothic font, the process proceeds to step (6).
【0064】ステップ(5)においては太め処理の元と
なるウエイトの書体の選択を行い、その太め処理のx方
向,y方向のパラメータの設定を行う。ウエイト5の明
朝体の出力要求の場合、ウエイト3の明朝体が存在する
のでウエイト3とウエイト5の輪郭におけるx方向,y
方向の差分を太めパラメータとしてセットする。ステッ
プ(6)においては細め処理の元となるウエイトの書体
の選択を行い、その細め処理の輪郭についてx方向,y
方向のパラメータの設定を行う。In step (5), the typeface of the weight which is the source of the thickening process is selected, and the parameters of the thickening process in the x and y directions are set. In the case of the output request of the Mincho body of the weight 5, since the Mincho body of the weight 3 exists, the contours of the weight 3 and the weight 5 are in the x direction, y.
Set the difference in direction as a thick parameter. In step (6), the typeface of the weight that is the source of the thinning processing is selected, and the contour of the thinning processing is selected in the x direction and the y direction.
Set the direction parameter.
【0065】ウエイト3の角ゴシック体の出力要求の場
合、ウエイト6の角ゴシック体が存在するのでウエイト
3とウエイト6の輪郭におけるx方向,y方向の差分を
細めパラメータとしてセットする。以上のようにステッ
プ(5)およびステップ(6)で太めあるいは細めのパ
ラメータのセットした後は前記第1の実施例で説明した
とおり処理を行い、所望のウエイトの文字を出力する。In the case of the output request of the square Gothic body of the weight 3, since the square Gothic body of the weight 6 exists, the difference between the contours of the weight 3 and the weight 6 in the x direction and the y direction is set as a thinning parameter. After setting the thick or thin parameters in steps (5) and (6) as described above, the processing is performed as described in the first embodiment, and the character of the desired weight is output.
【0066】ここでは、対象文字よりウエイトが小さい
書体のデータが存在するか否かについて説明したが、対
象文字よりもウエイトが大きい書体のデータが存在する
か否かについて判定を行ってもよい。また、対象文字の
ウエイトに最も近いウエイトのデータを選択して、その
データを基にウエイト変換処理を行ってもよい。 〔第3実施例〕次に、第3実施例について説明する。こ
こで説明するのは前記第1,第2実施例で説明した太め
処理をグレイスケールフォントに対しても適用できるこ
とを説明する。Here, it has been described whether or not there is data of a typeface whose weight is smaller than that of the target character, but it may be determined whether or not there is data of a typeface whose weight is larger than that of the target character. In addition, weight data closest to the weight of the target character may be selected and the weight conversion process may be performed based on the data. [Third Embodiment] Next, a third embodiment will be described. Here, it will be explained that the thickening processing described in the first and second embodiments can be applied to a gray scale font.
【0067】ビットマップフォントの各ドットの値が0
または1の2値のフォントであるのに対して、グレイス
ケールフォントは各ドットが0〜3あるいは0〜15あ
るいは0〜255等多値を扱うことが可能な多値フォン
トである。そして、このグレイスケールフォントを生成
するための方法として、一般には図18に示すようにn
2 階調のグレイスケールフォントを出力するときは、図
3のステップ(4)において出力サイズ要求の縦方向,
横方向をそれぞれn倍して、その出力サイズによってビ
ットマップフォントを作成する。The value of each dot of the bitmap font is 0
In contrast to the binary font of 1 or 1, the gray scale font is a multi-value font in which each dot can handle multi-value such as 0 to 3, 0 to 15, or 0 to 255. As a method for generating this grayscale font, generally, as shown in FIG.
When outputting a 2-gradation grayscale font, in the vertical direction of the output size request in step (4) of FIG.
The horizontal direction is multiplied by n, and a bitmap font is created according to the output size.
【0068】そして、図18に示すように縦横nビット
で分割していきそれぞれのn×nの分割矩形領域の中に
何ビット1が含まれているかによってグレイスケールの
1ドットに対する多値の値が決定される。したがって第
1の実施例をグレイスケールフォントに応用した場合、
図19に示すフローチャートのようになる。Then, as shown in FIG. 18, the pixel is divided into vertical and horizontal n bits, and depending on how many bits 1 are included in each n × n divided rectangular area, a multivalued value for one dot of the gray scale is obtained. Is determined. Therefore, when the first embodiment is applied to a grayscale font,
It becomes like the flowchart shown in FIG.
【0069】図19は本発明の本発明に係る文字発生装
置における第1の文字発生方法を示すフローチャートで
ある。なお、(1)〜(18)は各ステップを示す。FIG. 19 is a flow chart showing a first character generation method in the character generation device according to the present invention. Note that (1) to (18) indicate each step.
【0070】このフローチャートは、前記第1の実施例
で説明したビットマップフォント発生あるいは輪郭座標
出力のフローチャートとほとんど同様であり、それぞれ
のステップは図3のステップとほぼ一致しているので、
ここではグレイスケールフォント発生させることによっ
て処理が異なるステップのところのみを説明する。This flow chart is almost the same as the flow chart for bitmap font generation or contour coordinate output described in the first embodiment, and since each step is almost the same as the step in FIG. 3,
Here, only the steps where the processing is different by generating the gray scale font will be described.
【0071】なお、異なるステップはステップ(1),
ステップ(4)であり、ステップ(16)およびステッ
プ(17)は追加である。The different steps are step (1),
Step (4), steps (16) and (17) are additional.
【0072】ステップ(1)においては、入力パラメー
タの取り込みであり、入力パラメータにグレイスケール
情報が追加される。パラメータは、文字コード,書体,
ウエイト情報,文字の出力サイズ,グレイのレベル,出
力形式,出力器の特性等である。文字コードとしてはJ
ISコード,シフトJISコード,EUCコード,UN
Iコード等のあらかじめ対象となるシステムがどの文字
コード体系によって定められているかによって決まる。
また書体としては明朝体,ゴシック体,丸ゴシック体等
のシステムがあらかじめ内蔵しているデータあるいはオ
プションとして加えられたデータの中から選ばれる。In step (1), the input parameters are fetched, and gray scale information is added to the input parameters. Parameters are character code, typeface,
It includes weight information, character output size, gray level, output format, output device characteristics, and the like. The character code is J
IS code, shift JIS code, EUC code, UN
It depends on which character code system the target system such as the I code is defined in advance.
The typeface is selected from the data that the system such as Mincho, Gothic, and Maru Gothic has built-in or the data added as an option.
【0073】そして、この時のデータの内容は、グレイ
スケールフォント発生のための特別なデータは格納され
ておらす、ビットマップフォント発生のときのデータと
まったく同様である。ウエイト情報は、前記書体の線の
太さ情報であり、ここでは極細,細,中,太,極太等の
情報が与えられる。The content of the data at this time is exactly the same as the data at the time of generating the bitmap font, in which special data for generating the gray scale font is stored. The weight information is the line thickness information of the typeface, and here, information such as extra fine, thin, medium, thick, and extra thick is given.
【0074】文字の出力サイズとしては、実際にフォン
トデータを出力する際にどれ位の大きさで出力するかの
情報であり、x方向,y方向のサイズが要求される。グ
レイのレベルは、グレイスケールフォントを発生させる
際に何階調でグレイスケールフォントを作成するかの情
報である。これは4階調,16階調,256階調等出力
器の特性に応じて設定される。The character output size is information about how large the font data is to be output when the font data is actually output, and the sizes in the x and y directions are required. The gray level is information on how many gradations a grayscale font is created when generating a grayscale font. This is set according to the characteristics of the output device, such as 4 gradations, 16 gradations, and 256 gradations.
【0075】出力形式は所望とするフォントの出力デー
タ形式であり、輪郭座標データ出力,ビットマップフォ
ント出力,グレイスケールフォント出力,1ドットの表
現形式等がある。The output format is an output data format of a desired font and includes contour coordinate data output, bitmap font output, gray scale font output, 1-dot expression format, and the like.
【0076】1ドットの表現形式は例えばグレイスケー
ルフォントの場合は、1ドットを1バイトで表現するの
か、あるいは2ドットや4ドットを1バイトで表現する
のかといった表現形式の指定である。The expression format of 1 dot is, for example, in the case of a gray scale font, one dot is expressed by 1 byte, or 2 dots or 4 dots is expressed by 1 byte.
【0077】出力器の特性は、グレイスケールフォント
を作成する際にどのようにしてグレイ値を決定すると対
象とする出力器に対して最も最適なグレイスケールフォ
ントが得られるかといった情報である。The characteristics of the output device are information such as how to determine the gray value when creating a grayscale font to obtain the most optimal grayscale font for the target output device.
【0078】ステップ(4)においては、出力サイズと
グレイスケールフォントのグレイレベルによって、ステ
ップ(2)で読み込んだ座標データに対して拡大縮小処
理を行う。このとき拡大縮小するための計算式は、要求
出力サイズを(Ax,Ay)、グレイレベルをn、ステ
ップ(3)で得られたそれぞれの座標値を(x,y)、
拡大縮小処理後のそれぞれの座標値を(X,Y)、格納
されているデータの文字枠のサイズを(Mx,My)と
すると、 (X,Y)=(x×√n×Ax/Mx,y×√n×Ay/My) となる。In step (4), the coordinate data read in step (2) is enlarged or reduced depending on the output size and the gray level of the gray scale font. At this time, the calculation formulas for scaling are as follows: the required output size is (Ax, Ay), the gray level is n, and the coordinate values obtained in step (3) are (x, y),
If the respective coordinate values after the enlargement / reduction processing are (X, Y) and the size of the character frame of the stored data is (Mx, My), (X, Y) = (x × √n × Ax / Mx , Y × √n × Ay / My).
【0079】ステップ(16)、およびステップ(1
7)においては、ステップ(15)で作成されたビット
マップフォントからグレイスケールフォントを作成する
処理を行う。Step (16), and step (1
In 7), a process of creating a grayscale font from the bitmap font created in step (15) is performed.
【0080】まず、ステップ(16)においては、入力
パラメータとして得られた出力器の特性によって、グレ
イスケール変換テーブルの選択を行う。グレイスケール
フォント変換テーブルは図20に示すように、16階調
の場合4×4のマスクであらかじめ出力器の特性を表現
するための値を格納しておく。First, in step (16), a gray scale conversion table is selected according to the characteristics of the output device obtained as an input parameter. As shown in FIG. 20, the grayscale font conversion table stores values for expressing the characteristics of the output device in advance with a 4 × 4 mask in the case of 16 gradations.
【0081】図20の(a)の例では出力器の輝度特性
がすべて均一になっている場合の例である。図20の
(b)の場合は、輝度がドットの中心部が高く周辺部が
低い場合の例である。また、図20(c)の場合は、輝
度がドットの周辺部が高く中心部が低い場合の例であ
る。これらの中から最も出力器の輝度特性に適したテー
ブルを選択する。The example shown in FIG. 20A is an example in which the luminance characteristics of the output device are all uniform. In the case of FIG. 20B, the brightness is high in the central part of the dot and low in the peripheral part. In addition, the case of FIG. 20C is an example in which the luminance is high in the peripheral portion of the dot and low in the central portion. From these, the table most suitable for the brightness characteristics of the output device is selected.
【0082】そして、ステップ(17)において、ステ
ップ(16)で選択されたテーブルを元にグレイスケー
ルフォントを作成する。この様子を図21を例にとって
説明する。Then, in step (17), a grayscale font is created based on the table selected in step (16). This situation will be described with reference to FIG. 21 as an example.
【0083】図21は、ステップ(15)で求められた
ビットマップフォントであり、その縦横のサイズはそれ
ぞれグレイレベルnに対して、√n倍で作成されてい
る。したがって、縦横をそれぞれ√nで分割して、√n
×√nのます目を抽出し、そのます目の1つに注目し、
そのます目のビットの値とステップ(16)で求められ
たテーブルのます目の値とをそれぞれ対応するます目ど
うしをかけ算する。FIG. 21 shows the bitmap font obtained in step (15), the vertical and horizontal sizes of which are each √n times the gray level n. Therefore, divide vertical and horizontal by √n,
Extract the squares of × √n, pay attention to one of the squares,
The value of the bit of the cell and the value of the cell of the table obtained in step (16) are multiplied by the corresponding cells.
【0084】そして、その結果の合計を取ることによっ
て、対象となるドットのグレイスケール値が求められ
る。図21の例では、16階調のグレイスケールフォン
トを出力する場合の例であり、4×4のます目に対して
図20(b)のテーブルが選択された場合の例を示し
た。この操作をすべてのます目に対して行うことによっ
て、図22に示すようなグレイスケールフォントが生成
される。Then, by taking the sum of the results, the gray scale value of the target dot is obtained. The example of FIG. 21 is an example of outputting a grayscale font of 16 gradations, and is an example of the case where the table of FIG. 20B is selected for a 4 × 4 grid. By performing this operation for all squares, a grayscale font as shown in FIG. 22 is generated.
【0085】そして、ステップ(18)で出力形式に応
じてグレイスケールフォントを格納して要求側へデータ
を返す。この時出力形式が1ドットに対して1バイトの
要求であればそれぞれのます目の値を1バイトに詰めて
格納する。また、隣り合う2点を1バイトに詰める要求
であれば、1ドットを4ビットに詰めてデータを格納
し、要求側へ返して処理を終了する。Then, in step (18), a grayscale font is stored according to the output format and the data is returned to the request side. At this time, if the output format requires 1 byte for 1 dot, the value of each square is packed into 1 byte and stored. If the request is to pack two adjacent points into one byte, one dot is packed into four bits to store the data, and the data is returned to the requesting side to end the processing.
【0086】[0086]
【発明の効果】以上説明したように、本発明に係る第1
の発明によれば、入力手段から入力された太字量または
細字量に基づいて変換手段が各輪郭データの座標値を変
換し、該座標変換された各輪郭データに基づいて発生手
段が太いまたは細い文字パターンを発生させて、少ない
文字データから肉厚量の異なる太字または細字文字を発
生させることができる。As described above, the first aspect of the present invention
According to the invention, the converting means converts the coordinate value of each contour data based on the bold character amount or the fine character amount input from the input means, and the generating means is thick or thin based on each coordinate-converted contour data. By generating a character pattern, it is possible to generate bold or thin characters having different wall thicknesses from a small amount of character data.
【0087】第2の発明によれば、変換手段は、対象座
標に隣接する2点の座標値を参照して1つの変換座標を
決定して、バランスのとれた太字または細字の文字パタ
ーンを発生することができる。According to the second invention, the conversion means determines one converted coordinate by referring to the coordinate values of two points adjacent to the target coordinate, and generates a balanced bold or fine character pattern. can do.
【0088】第3の発明によれば、変換手段は、抽出し
た各輪郭データを入力された太字量または細字量をx方
向及びy方向に対して独立して可変して、書体毎の特徴
を活かした太字または細字の文字パターンを発生するこ
とができる。According to the third aspect of the invention, the converting means changes the input bold-face amount or fine-letter amount of each of the extracted contour data independently in the x-direction and the y-direction to determine the characteristics of each typeface. It is possible to generate a bold or thin character pattern that is utilized.
【0089】第4の発明によれば、発生手段は、変換さ
れた各輪郭データに基づいてビットマップフォント,輪
郭座標データ,グレースケールフォントのいずれかを出
力して、種々の出力手段に適切なデータ形式で太字また
は細字の文字データを供給することができる。According to the fourth invention, the generating means outputs any one of the bitmap font, the contour coordinate data and the gray scale font based on the converted contour data, and is suitable for various output means. It can supply bold or thin character data in the data format.
【0090】第5の発明によれば、入力手段から入力さ
れた太字量または細字量に基づいて決定手段が変換する
いずれかの文字データ候補を決定し、該決定された文字
データに対応する各輪郭データの座標値を変換手段が変
換し、該座標変換された各輪郭データに基づいて発生手
段が太いまたは細い文字パターンを発生して、文字デー
タ資源を活かして最良の太字または細字の文字データを
発生させることができる。According to the fifth aspect, any character data candidate to be converted by the determining means is determined based on the bold or thin character amount input from the input means, and each character data candidate corresponding to the determined character data is determined. The converting means converts the coordinate value of the contour data, and the generating means generates a thick or thin character pattern based on each coordinate-converted contour data, and utilizes the character data resource to produce the best bold or thin character data. Can be generated.
【0091】第6の発明によれば、決定手段は、入力手
段から入力された太字量または細字量に近い肉厚量の文
字データを変換する文字データ候補として、より厳密な
太字または細字の文字データを発生させることができ
る。According to the sixth invention, the deciding means is a stricter bold or thin character as a character data candidate for converting the character data of the thickness amount close to the bold amount or the thin character amount inputted from the input means. Data can be generated.
【0092】従って、少ないメモリ容量で、さまざまな
肉厚量の各書体の文字データを発生できるという効果を
奏する。Therefore, it is possible to generate character data of each typeface having various wall thicknesses with a small memory capacity.
【図1】本発明に係る文字発生装置を適用可能な第1の
システムの制御構成を示すブロック図である。FIG. 1 is a block diagram showing a control configuration of a first system to which a character generation device according to the present invention can be applied.
【図2】本発明に係る文字発生装置を適用可能な第2の
システムの制御構成を示すブロック図である。FIG. 2 is a block diagram showing a control configuration of a second system to which the character generation device according to the present invention can be applied.
【図3】本発明に係る文字発生装置における第1の文字
発生方法を示すフローチャートである。FIG. 3 is a flowchart showing a first character generation method in the character generation device according to the present invention.
【図4】本発明に係る文字発生装置における変換元のア
ウトラインフォントの構成を示す模式図である。FIG. 4 is a schematic diagram showing a configuration of a conversion source outline font in the character generation device according to the present invention.
【図5】本発明に係る文字発生装置における変換後のア
ウトラインフォントの構成を示す模式図である。FIG. 5 is a schematic diagram showing a configuration of an outline font after conversion in the character generation device according to the present invention.
【図6】本発明に係る文字発生装置における変換後のア
ウトラインフォントの座標出力データを示す図である。FIG. 6 is a diagram showing coordinate output data of an outline font after conversion in the character generator according to the present invention.
【図7】本発明に係る文字発生装置における座標データ
からの塗りつぶしテーブル作成状態を示す図である。FIG. 7 is a diagram showing a state of creating a paint table from coordinate data in the character generator according to the present invention.
【図8】本発明に係る文字発生装置における3次ベジェ
曲線のショートベクトル集合への変換状態を示す図であ
る。FIG. 8 is a diagram showing a state of conversion of a cubic Bezier curve into a short vector set in the character generator according to the present invention.
【図9】本発明に係る文字発生装置におけるビットマッ
プフォント生成過程を示す図である。FIG. 9 is a diagram showing a bitmap font generation process in the character generator according to the present invention.
【図10】本発明に係る文字発生装置における太め/細
め処理手順の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of a thickening / thinning processing procedure in the character generation device according to the present invention.
【図11】本発明に係る文字発生装置における内外輪郭
判定前処理を説明する図である。FIG. 11 is a diagram illustrating inner / outer contour determination preprocessing in the character generation device according to the present invention.
【図12】本発明に係る文字発生装置におけるゴシック
体太め処理結果を示す図である。FIG. 12 is a diagram showing a result of a Gothic body thickening process in the character generation device according to the present invention.
【図13】本発明に係る文字発生装置における太めパラ
メータを決定するための第1のテーブルデータを示す図
である。FIG. 13 is a diagram showing first table data for determining a thick parameter in the character generation device according to the present invention.
【図14】本発明に係る文字発生装置における太め処理
状態を示す模式図である。FIG. 14 is a schematic diagram showing a thickening processing state in the character generation device according to the present invention.
【図15】本発明に係る文字発生装置における太め又は
細め処理に伴う枠サイズ補正状態を示す図である。FIG. 15 is a diagram showing a frame size correction state associated with thickening or thinning processing in the character generation device according to the present invention.
【図16】本発明に係る文字発生装置における太めパラ
メータ選択処理手順の一例を示すフローチャートであ
る。FIG. 16 is a flowchart showing an example of a thick parameter selection processing procedure in the character generation device according to the present invention.
【図17】本発明に係る文字発生装置における太めパラ
メータを決定するための第2のテーブルデータを示す図
である。FIG. 17 is a diagram showing second table data for determining a thick parameter in the character generation device according to the present invention.
【図18】本発明に係る文字発生装置におけるグレース
ケールフォント作成用のビットマップを説明する図であ
る。FIG. 18 is a diagram illustrating a bitmap for creating a grayscale font in the character generation device according to the present invention.
【図19】本発明の文字発生装置における第2の文字発
生方法を示すフローチャートである。FIG. 19 is a flowchart showing a second character generation method in the character generation device of the present invention.
【図20】本発明の文字発生装置におけるグレイスケー
ルフォント変換テーブルの一例を示す図である。FIG. 20 is a diagram showing an example of a grayscale font conversion table in the character generation device of the present invention.
【図21】本発明の文字発生装置におけるグレイスケー
ルフォント変換処理過程を示す図である。FIG. 21 is a diagram showing a grayscale font conversion process in the character generator of the present invention.
【図22】本発明の文字発生装置におけるグレイスケー
ルフォント変換状態を示す図である。FIG. 22 is a diagram showing a grayscale font conversion state in the character generation device of the present invention.
1 CPU 2 ROM 3 RAM 5 キーボード 6 ディスプレイ制御部 1 CPU 2 ROM 3 RAM 5 keyboard 6 display control unit
Claims (6)
成される文字データを記憶する記憶手段と、この記憶手
段に記憶された複数の輪郭データに基づいて文字パター
ンを発生する発生手段と、前記文字パターンを太める又
は細めるための太字量または細字量を入力する入力手段
と、この入力手段から入力された太字量または細字量に
基づいて各輪郭データの座標値を変換する変換手段とを
有し、前記発生手段は前記変換手段により座標変換され
た各輪郭データに基づいて太いまたは細い文字パターン
を発生させることを特徴とする文字発生装置。1. Storage means for storing character data composed of a plurality of contour data at which one character intersects, and generating means for generating a character pattern based on the plurality of contour data stored in the storage means. An input unit for inputting a bold or thin character amount for thickening or thinning the character pattern and a converting unit for converting the coordinate value of each contour data based on the bold or thin character amount input from the input unit. A character generating device, wherein the generating means generates a thick or thin character pattern based on each contour data coordinate-converted by the converting means.
座標値を参照して1つの変換座標を決定することを特徴
とする請求項1記載の文字発生装置。2. The character generating device according to claim 1, wherein the conversion means determines one conversion coordinate by referring to coordinate values of two points adjacent to the target coordinate.
力された太字量または細字量をx方向及びy方向に対し
て独立して可変することを特徴とする請求項1記載の文
字発生装置。3. The character generator according to claim 1, wherein the conversion means independently changes the amount of bold characters or the amount of thin characters input to each of the extracted contour data in the x direction and the y direction. .
基づいてビットマップフォント,輪郭座標データ,グレ
ースケールフォントのいずれかを出力することを特徴と
する請求項1記載の文字発生装置。4. The character generating device according to claim 1, wherein the generating means outputs any one of a bitmap font, contour coordinate data, and a grayscale font based on the converted contour data.
成される肉厚量の異なる文字データを複数記憶する記憶
手段と、この記憶手段に記憶された各輪郭データに基づ
いて太字量の異なる文字パターンを発生する発生手段
と、前記文字パターンを太める又は細めるための太字量
または細字量を入力する入力手段と、この入力手段から
入力された太字量または細字量に基づいて変換するいず
れかの文字データ候補を決定する決定手段と、この決定
手段に決定された文字データに対応する各輪郭データの
座標値を変換する変換手段とを有し、前記発生手段は前
記変換手段により座標変換された各輪郭データに基づい
て太いまたは細い文字パターンを発生させることを特徴
とする文字発生装置。5. A storage unit for storing a plurality of character data having different wall thicknesses, each of which is composed of a plurality of contour data with which one character intersects, and a bold character amount different based on each contour data stored in the storage unit. Generating means for generating a character pattern, input means for inputting a bold or thin character amount for thickening or thinning the character pattern, and conversion based on the bold or thin character amount input from this input means Of the character data candidates, and conversion means for converting the coordinate value of each contour data corresponding to the character data determined by this determination means, wherein the generation means are coordinate-converted by the conversion means. A character generator which generates a thick or thin character pattern based on each contour data.
字量または細字量に近い肉厚量の文字データを変換する
文字データ候補として決定することを特徴とする請求項
5記載の文字発生装置。6. The character generator according to claim 5, wherein the determining means determines as character data candidates for converting the character data having a thickness amount close to the bold character amount or the thin character amount input from the input means. .
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5309555A JPH07160241A (en) | 1993-12-09 | 1993-12-09 | Character generator |
US08/351,641 US5959634A (en) | 1993-12-09 | 1994-12-07 | Character generating system employing thickening or narrowing of characters |
EP94309154A EP0657848B1 (en) | 1993-12-09 | 1994-12-08 | Character generating apparatus and method |
DE69425037T DE69425037T2 (en) | 1993-12-09 | 1994-12-08 | Method and device for generating characters |
SG1996006393A SG55106A1 (en) | 1993-12-09 | 1994-12-08 | Character generating apparatus and method of the same |
CN94112935A CN1098515C (en) | 1993-12-09 | 1994-12-09 | Character generating apparatus and method of the same |
TW083111473A TW301731B (en) | 1993-12-09 | 1994-12-09 | |
KR1019940033442D KR0167618B1 (en) | 1993-12-09 | 1994-12-09 | Character generating apparatus and method of the same |
HK98112643A HK1011777A1 (en) | 1993-12-09 | 1998-12-01 | Character generating apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5309555A JPH07160241A (en) | 1993-12-09 | 1993-12-09 | Character generator |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07160241A true JPH07160241A (en) | 1995-06-23 |
Family
ID=17994429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5309555A Pending JPH07160241A (en) | 1993-12-09 | 1993-12-09 | Character generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07160241A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852680A (en) * | 1994-12-05 | 1998-12-22 | Canon Kabushiki Kaisha | Character processing apparatus and a character processing method |
-
1993
- 1993-12-09 JP JP5309555A patent/JPH07160241A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852680A (en) * | 1994-12-05 | 1998-12-22 | Canon Kabushiki Kaisha | Character processing apparatus and a character processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0167618B1 (en) | Character generating apparatus and method of the same | |
US5959635A (en) | Character pattern generator | |
JP3576611B2 (en) | Character generator and method | |
KR970008546B1 (en) | Character or graphic processing method | |
US6753862B1 (en) | Outline smoothing method and system | |
JPH05204363A (en) | High-speed vertical scanning-conversion and charging method and device for formation of outline character style character in dot matrix device | |
US5771035A (en) | Character generation device | |
JP3037854B2 (en) | Character generation method and device | |
JPH07160241A (en) | Character generator | |
JPH02270019A (en) | Generation system for high quality character pattern | |
JPH07160242A (en) | Character generator | |
JP2806679B2 (en) | Character generator | |
JP3376152B2 (en) | Character generator and method | |
JPH02266480A (en) | High quality character pattern generating system | |
JP3215169B2 (en) | Character processing apparatus and method | |
JP3025739B2 (en) | Character pattern generation device and character pattern generation method | |
JPH09330073A (en) | Character generator and its method | |
JP2603322B2 (en) | Character processing apparatus and method | |
JPH01191192A (en) | High quality character generating device | |
JP2806790B2 (en) | Character generator and method | |
JP3210448B2 (en) | Character processing method and apparatus | |
JP2001109454A (en) | Character processing device | |
JPH03288894A (en) | Document preparing device | |
JPH07306669A (en) | Character output device | |
JPH08297482A (en) | Character processing device and method |