Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3370838B2 - Character data generator - Google Patents
[go: Go Back, main page]

JP3370838B2 - Character data generator - Google Patents

Character data generator

Info

Publication number
JP3370838B2
JP3370838B2 JP32366295A JP32366295A JP3370838B2 JP 3370838 B2 JP3370838 B2 JP 3370838B2 JP 32366295 A JP32366295 A JP 32366295A JP 32366295 A JP32366295 A JP 32366295A JP 3370838 B2 JP3370838 B2 JP 3370838B2
Authority
JP
Japan
Prior art keywords
segment
character
coordinate
data
short
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP32366295A
Other languages
Japanese (ja)
Other versions
JPH09146517A (en
Inventor
桂司 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP32366295A priority Critical patent/JP3370838B2/en
Publication of JPH09146517A publication Critical patent/JPH09146517A/en
Application granted granted Critical
Publication of JP3370838B2 publication Critical patent/JP3370838B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、いわゆるアウト
ラインフォントのキャラクタをプリンタやモニター等に
表示するためのキャラクタデータ発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character data generator for displaying a character in a so-called outline font on a printer, a monitor or the like.

【0002】[0002]

【従来の技術】プリンタ等においてアウトラインフォン
トを表示する場合、そのキャラクタの輪郭線を複数の直
線(ショートベクトル)で近似し、仮想的な格子線とそ
のショートベクトルとの交点を求めることにより、実際
の表示に用いるドットフォントを作成する方法が一般的
である。ここでキャラクタとして、例えば1つの文字を
2枚の印刷紙に跨るような大きな文字で印刷したり、メ
モリの節約等のために、文字の一部分をドットフォント
に展開する場合(以下、クリッピングという)、個々の
ショートベクトルについて、部分表示のためのドットフ
ォントを作成する上で、必要かどうか(関与するかどう
か)を一々判断しなければならない。それが、フォント
展開の高速化の妨げとなり、特にショートベクトルの数
が多いほどこのような弊害が生じる。
2. Description of the Related Art When an outline font is displayed on a printer or the like, the outline of the character is approximated by a plurality of straight lines (short vectors), and the intersection of the virtual grid line and the short vector is obtained. A method of creating a dot font used to display is generally used. Here, as a character, for example, when one character is printed with a large character that straddles two printing sheets, or when a part of the character is expanded to a dot font to save memory (hereinafter referred to as clipping) For each short vector, whether or not it is necessary (whether or not to participate) in creating a dot font for partial display must be determined one by one. This hinders the speeding up of font expansion, and such an adverse effect occurs especially as the number of short vectors increases.

【0003】[0003]

【発明が解決しようとする課題】本発明は、文字等のキ
ャラクタを部分的にアウトラインフォントからドットフ
ォントへ展開する際に、処理の高速化を図ることを課題
とする。
SUMMARY OF THE INVENTION An object of the present invention is to speed up the processing when a character such as a character is partially expanded from an outline font to a dot font.

【0004】[0004]

【課題を解決するための手段及び作用・効果】本発明の
特徴を要約すれば、次のとおりである。まず、対象とな
る装置は、キャラクタの輪郭を個々のショートベクトル
の連続によるアウトラインフォントのデータで特定する
とともに、それらショートベクトルと仮想的な格子線と
の交点を求めることにより、上記キャラクタを表示する
ためのドットフォントのデータ(ドットデータ)を求め
るキャラクタデータ発生装置である。その要旨とすると
ころは、上記個々のショートベクトルの適数の連続であ
る一続きのセグメントを複数組設定することにより、キ
ャラクタの輪郭の全体を上記ショートベクトルの数より
少ない数の上記セグメントに分割する。さらに上記表示
すべきドットフォントのデータに各セグメントが関与す
るかどうかを判別し、かつその関与するセグメントのみ
について、当該セグメントに属する上記ショートベクト
ルと格子線との交点を求めて、部分的に表示すべきドッ
トフォントのデータを生成するものとする。
[Means for Solving the Problems and Actions / Effects] The features of the present invention can be summarized as follows. First, the target device displays the character by identifying the outline of the character with the data of the outline font formed by the continuation of individual short vectors, and obtaining the intersections of the short vectors and the virtual grid lines. Is a character data generator for obtaining dot font data (dot data) for The gist of this is to divide the entire outline of the character into a smaller number of segments than the number of short vectors by setting a plurality of sets of a series of segments, each of which is an appropriate number of consecutive short vectors. To do. Further, it is determined whether or not each segment is involved in the dot font data to be displayed, and for only the involved segment, the intersection point of the short vector and the grid line belonging to the segment is obtained and partially displayed. It is assumed that the dot font data to be generated is generated.

【0005】また、キャラクタの輪郭に対応するショー
トベクトルの全体を複数組のセグメントに分割する際、
ショートベクトルの座標基準方向(例えば、X−Y座標
におけるY方向)等において、単調減少するショートベ
クトルの連続的な組み合わせ、又は単調増加するショー
トベクトルの連続的な組み合わせを一続きのセグメント
に設定する一方、単調減少から増加に転ずる又は単調増
加から減少に転ずる点を次のセグメントの始点とするこ
とができる。
Further, when the entire short vector corresponding to the outline of the character is divided into a plurality of sets of segments,
In the coordinate reference direction of the short vector (for example, the Y direction in the XY coordinates) or the like, a continuous combination of the short vectors that monotonically decreases or a continuous combination of the short vectors that monotonically increases is set in a series of segments. On the other hand, the point at which the change from monotonous decrease to increase or from monotonous increase to decrease can be set as the start point of the next segment.

【0006】また、上記複数組のセグメントの上記座標
系におけるデータをセグメント登録手段に登録し、また
キャラクタの部分的に表示すべき領域を取り込むクリッ
ピング領域取り込み手段を設け、クリッピング領域の座
標データとセグメント登録手段に登録されたセグメント
の座標データとを比較することに基づいて、各セグメン
トが上記キャラクタの部分的なドット展開に関与するか
どうかを判定する処理を行うことができる。
Further, there is provided clipping area loading means for loading the data in the coordinate system of the plurality of sets of segments in the segment registration means, and for loading the area to be partially displayed of the character, the coordinate data of the clipping area and the segments. Based on the comparison with the coordinate data of the segment registered in the registration means, it is possible to perform the process of determining whether or not each segment is involved in the partial dot development of the character.

【0007】本発明に従い、アウトラインフォントのキ
ャラクタの輪郭線を近似するショートベクトル群を、適
数ずつ集めてセグメントとし、これによりキャラクタの
輪郭を複数のセグメントに分割した処理を行い、このセ
グメントの概念の導入に基づき、部分的なドットフォン
トのデータへの展開において、個々のショートベクトル
単位ではなく、それを適数ずつまとめたセグメント単位
でフォント展開に必要かどうかを判断するため、個々の
ショートベクトル単位で処理するより判定回数が減少
し、これがフォント展開の高速化につながる。
According to the present invention, a short vector group approximating the outline of a character in an outline font is collected in appropriate numbers to form a segment, and the process of dividing the outline of the character into a plurality of segments is performed according to the concept of this segment. In order to determine whether or not it is necessary to develop fonts not in individual short vector units but in segment units in which a proper number of them are grouped in the development of partial dot font data, The number of judgments is reduced compared to processing in units, which leads to faster font expansion.

【0008】さらに、キャラクタの一部をアウトライン
フォントからドットフォントへ展開する場合に限らず、
一般にアウトラインフォントからドットフォントへの展
開において、上述の適数のショートベクトルを集めたセ
グメントを1つの単位として導入することにより、この
セグメントを従来からのショートベクトルと同様に扱う
ことができる。その結果、1つのセグメントに属するシ
ョートベクトル群と仮想格子線との交点を、従来からの
1つのショートベクトルと仮想格子線との交点群とみな
すことが可能になる。これによって、従来のショートベ
クトル群の数からセグメントの数へと、取り扱う対象を
大幅に減らすことができ、処理の簡略化による高速化が
実現する。
Further, not only when a part of the character is expanded from the outline font to the dot font,
Generally, in the development from the outline font to the dot font, by introducing the segment in which the appropriate number of short vectors are collected as one unit, this segment can be treated in the same manner as the conventional short vector. As a result, it becomes possible to regard an intersection of a short vector group belonging to one segment and a virtual lattice line as an intersection group of one conventional short vector and a virtual lattice line. As a result, the number of targets to be handled can be greatly reduced from the number of conventional short vector groups to the number of segments, and speeding up is realized by simplifying processing.

【0009】[0009]

【発明の実施の形態】以下、図面に示す実施例を参照し
つつ、本発明の実施の形態を説明する。まず図1及び図
2に基づいて、基本的な点を説明する。本発明では、ま
ずR1に示すように、フォントの輪郭線を近似するショ
ートベクトル群を、複数のセグメントに分割する。これ
は図2に概念的に示すように、「イ」の文字を例にとれ
ば、その文字の輪郭線は複数のショートベクトルV1、
V2、V3・・・V14で近似され、これらの各ショートベ
クトルV1、V2・・・の始点及び終点の各座標等により
各ショートベクトルが特定される。そして、図2(b)
の反時計回り(左回り)において、これらショートベク
トルの適数を集めることによりセグメント〜とし、
これによって文字の輪郭を〜のセグメントに分割す
る。この例では、Y軸方向に単調増加又は単調減少とな
るかどうかを基準として、セグメントの分割を行ってい
る。つまり上端の点(P1)を起点として、ショートベ
クトルV1〜V6までが単調減少のセグメント、ショー
トベクトルV7〜V8が単調増加のセグメント、さらに
ショートベクトルV9〜V10が単調減少のセグメント
、さらにショートベクトルV11〜V14が単調増加のセ
グメントとなる。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the embodiments shown in the drawings. First, basic points will be described with reference to FIGS. 1 and 2. In the present invention, first, as indicated by R1, the short vector group approximating the outline of the font is divided into a plurality of segments. As conceptually shown in FIG. 2, if the character "a" is taken as an example, the outline of the character has a plurality of short vectors V1,
V14 is approximated by V2, V3 ... V14, and each short vector is specified by the coordinates of the start point and end point of each of these short vectors V1, V2. And FIG. 2 (b)
In the counterclockwise direction (counterclockwise) of, the appropriate number of these short vectors are collected to make a segment ~,
This divides the outline of the character into segments. In this example, the segment division is performed based on whether the increase or decrease is monotonic in the Y-axis direction. That is, starting from the upper end point (P1), the short vectors V1 to V6 are monotonically decreasing segments, the short vectors V7 to V8 are monotonically increasing segments, and the short vectors V9 to V10 are monotonically decreasing segments, and further the short vector V11. ~ V14 is a monotonically increasing segment.

【0010】次に、制御ブロック系も含めてさらに具体
的に説明する。図3はその制御系のブロック図であり、
CPU1を核にコンピュータ2が構成される。CPU1
には、文字等のキャラクタのアウトラインフォントのデ
ータを記憶したフォントROM3、前述のセグメントの
処理をはじめとするプログラムを記憶したプログラムR
OM4、各種メモリ領域が設定されたRAM5、アウト
ラインフォントからドットフォントを展開するキャラク
タジェネレータ6が接続され、さらにキーボート等の入
力装置7が入力インターフェース8を介して、またモニ
タ9やプリンタ10等の出力装置が出力インターフェー
ス11を介してCPU1等に接続される。RAM5には
ワークメモリ5aの他、セグメントの生成の際に各ショ
ートベクトルがY座標方向において上昇しているか下降
しているかを表す、上昇/下降フラグをたてる上昇・下
降フラグメモリ5b、得られたセグメントを登録するセ
グメント登録メモリ5c、クリッピング等の対象エリア
を取り込むクリッピングエリアメモリ5d等、必要なメ
モリ領域が確保されている。
Next, the control block system will be described more specifically. FIG. 3 is a block diagram of the control system,
A computer 2 is configured with a CPU 1 as a core. CPU1
Is a font ROM 3 that stores outline font data of characters such as characters, and a program R that stores programs such as the above-described segment processing.
An OM 4, a RAM 5 in which various memory areas are set, a character generator 6 that develops a dot font from an outline font are connected, and an input device 7 such as a keyboard outputs an output from a monitor 9 or a printer 10 via an input interface 8. The device is connected to the CPU 1 and the like via the output interface 11. In addition to the work memory 5a, the RAM 5 includes an ascending / descending flag memory 5b for setting an ascending / descending flag indicating whether each short vector is rising or falling in the Y coordinate direction when a segment is generated. Necessary memory areas such as a segment registration memory 5c for registering a segment and a clipping area memory 5d for taking in a target area such as clipping are secured.

【0011】次に、図4に基づいてセグメントの分割の
処理の一例を説明する。ステップS1(以下、単にS1
という)で、対象となる文字等のキャラクタ(以下、単
に文字という)の全ての輪郭線(ループ)をチェックし
たかどうかが判断される。S2で、上昇/下降フラグの
初期化(図3の上昇/下降フラグメモリ5bの初期化)
が行われるとともに、最初の点(例えば図2(a)のP
1)のY座標と、その座標が格納されたメモリのアドレ
スを登録する。そしてS3を経てS4で、次の点(例え
ば図2(a)のP2)のY座標を取り込み、S5でこの
点のY座標が直前の点のY座標よりも大きいか(上昇
中)どうかが判断される。ここで上昇中と判断されれ
ば、S7のステップが、また図2のP1→P2のように下
降中と判断されれば、S6のステップがそれぞれ実行さ
れる。
Next, an example of segment division processing will be described with reference to FIG. Step S1 (hereinafter, simply S1
It is determined whether all contour lines (loops) of the target character (hereinafter, simply referred to as a character) have been checked. In S2, the up / down flag is initialized (initialization of the up / down flag memory 5b in FIG. 3).
Is performed and the first point (for example, P in FIG.
Register the Y coordinate of 1) and the address of the memory in which the coordinate is stored. Then, after passing through S3, in S4, the Y coordinate of the next point (for example, P2 in FIG. 2A) is taken in, and in S5, whether the Y coordinate of this point is larger than the Y coordinate of the immediately preceding point (during rising). To be judged. If it is determined that the vehicle is rising, step S7 is executed. If it is determined that the vehicle is descending as shown by P1 → P2 in FIG. 2, step S6 is executed.

【0012】図5はS6のルーチンの内容を具体的に示
すもので、図4のS5の判断がNO(下降中)である場
合を受けて、図5のSa1及びSa2の判断を経る。ここ
で「その前」とは、1つ前のショートベクトルのことを
意味している。従って、例えば図2(a)において、現
在P2の処理を行っているとすれば、これより前のショ
ートベクトルは存在しないため、Sa1及びSa2ともに
NOの判断となり、この場合はSa4で下降中にフラグ
をセットする。
FIG. 5 specifically shows the contents of the routine of S6, and in response to the case where the determination of S5 of FIG. 4 is NO (descent), the determination of Sa1 and Sa2 of FIG. 5 is performed. Here, “before” means the immediately preceding short vector. Therefore, for example, in FIG. 2 (a), if the process of P2 is currently performed, there is no short vector before this, so that Sa1 and Sa2 are both NO determinations, and in this case, Sa4 is descending. Set the flag.

【0013】また、図2(a)において、例えばP10の
点の処理を行うと仮定すれば、その前のショートベクト
ルV8は上昇中なので、P9において上昇から下降に転じ
たこととなる。このような場合は、Sa2を経て、Sa3
で下降中にフラグがセットされる。そしてSa5で、ピ
ーク(頂上)のY座標(図2(a)の例で言えば、例え
ばP9点のY座標)、下降マーク及び上記Y座標が格納
されたメモリのアドレスを登録する。なお、例えば図2
(a)のP3の点を想定すれば、図5のSa1の「その前
も下降中か」の判断はYESとなり、リターンによっ
て、図4のS3に戻る。
Further, in FIG. 2A, if it is assumed that the point P10 is processed, for example, the short vector V8 before that is rising, which means that the short vector V8 has changed from rising to falling at P9. In such a case, after going through Sa2, Sa3
The flag is set while descending with. Then, in Sa5, the Y coordinate of the peak (top) (for example, the Y coordinate of the point P9 in the example of FIG. 2A), the descending mark, and the address of the memory in which the Y coordinate is stored are registered. Note that, for example, in FIG.
Assuming the point P3 in (a), the determination of "Is it descending before that?" In Sa1 in Fig. 5 is YES, and the process returns to S3 in Fig. 4 by return.

【0014】S7のルーチンは、図6に示すように、図
5と逆の関係になり、初期の場合はSb1、Sb2のNO
の判断を経て、Sb4ではじめて上昇中にフラグがセッ
トされる。また例えば図2(a)のP13の場合は、Sb
1においてその前も上昇中と判断されるため、図4のS
3に戻る。また図2(a)の例えばP8点を想定すれ
ば、その前(ショートベクトルV6)は下降中であるた
め、下降から上昇に転じたこととなり、Sb3で上昇中
にフラグがセットされる。Sb5では、ピーク(谷底)
のY座標(例えばP7のY座標)、上昇マーク及びその
Y座標が格納されたメモリのアドレスを登録する。そし
て、図4のS3ですべてのショートベクトルをチェック
したと判断されれば、S8でセグメントの登録(C)の
ルーチンが実行され、さらにS1においてすべての輪郭
線をチェックしたと判断すれば、処理が終了する。なお
全ての輪郭線とは、1つの閉じたループ単位で判断し、
例えば図12の「P」のような場合は、輪郭線が内側と
外側で合計2個存在することになる。
As shown in FIG. 6, the routine of S7 has the opposite relationship to that of FIG. 5, and in the initial case, NO in Sb1 and Sb2.
The flag is set during the ascending for the first time in Sb4 after the judgment of. Further, for example, in the case of P13 in FIG.
Since it is determined that the increase is occurring before that in 1 as well, S in FIG.
Return to 3. Further, assuming, for example, the point P8 in FIG. 2A, since the point before (short vector V6) is descending, it means that it has changed from descending to ascending, and the flag is set during ascending in Sb3. At Sb5, peak (valley bottom)
The Y coordinate (for example, the Y coordinate of P7), the rising mark, and the address of the memory storing the Y coordinate are registered. If it is determined in S3 in FIG. 4 that all the short vectors have been checked, the segment registration (C) routine is executed in S8, and if it is determined in S1 that all the contour lines have been checked, the processing proceeds. Ends. In addition, all contour lines are judged in one closed loop unit,
For example, in the case of "P" in FIG. 12, there are a total of two contour lines inside and outside.

【0015】以上において、ここまでの登録データは、
例えば図7に概念的に示すようなものとなる。Y座標の
登録では開始点のY座標、1番目のピークY座標、2番
目のピークY座標・・・が登録される。いま、図2
(a)のP1を開始点とすれば、左回りに1番目のピー
クY座標はP7点のY座標、2番面のピークY座標はP9
点のY座標、3番目のピークY座標はP11点のY座標と
なる。そして、例えば1番目のピークY座標に対応して
付けられた上昇マークは、この1番目のピークのY座標
まで単調減少を続け、ここで下降から上昇に転じたこと
を意味する。また図7で、2番目のピークY座標に対応
する下降マークは、この2番目のピークY座標まで単調
増加を続け、ここで上昇から下降に転じたことを意味す
る。またアドレスについては、開始点から1番目、2番
目等のピーク点のY座標等を格納したアドレスが登録さ
れる。前述のように、このようなデータは1つの輪郭線
(ループ)ごとに付けられる。なお、各ピークY座標に
付けられる上昇/下降マークは、そのピークより前を基
準にして付けること(例えば、図2(a)のP7点等、
単調減少の終端(1番目のピークY座標)に下降マーク
を付けること)もでき、この場合は上昇/下降マークの
関係(定義)が逆になる。
In the above, the registration data up to this point is
For example, it is as conceptually shown in FIG. In the registration of the Y coordinate, the Y coordinate of the start point, the first peak Y coordinate, the second peak Y coordinate, ... Are registered. Figure 2 now
If P1 in (a) is used as the starting point, the first peak Y coordinate in the counterclockwise direction is the P7 point Y coordinate, and the No. 2 peak Y coordinate is P9.
The Y coordinate of the point and the third Y coordinate of the peak become the Y coordinate of the P11 point. Then, for example, the rising mark attached corresponding to the Y coordinate of the first peak means that the Y mark continues to decrease monotonically until the Y coordinate of the first peak, and here, the rising mark turns to rising. Further, in FIG. 7, the descending mark corresponding to the second Y coordinate of the peak means that the monotonous increase continues up to the second Y coordinate of the peak, where it has changed from the ascending to the descending. As for the address, the address storing the Y coordinate of the first, second, etc. peak points from the start point is registered. As described above, such data is attached to each contour line (loop). It should be noted that the rising / falling marks attached to the Y-coordinates of each peak should be placed on the basis of the point before the peak (for example, P7 point in FIG.
It is also possible to end the monotonically decreasing end (with a descending mark at the first peak Y coordinate), in which case the ascending / descending mark relationship (definition) is reversed.

【0016】そして、このように1つの輪郭線ごとに得
られたデータをもとに、セグメントデータを作成・登録
していく。以下、図8のセグメントの登録ルーチン
(C)に基づいて具体的に説明する。まずSc1で最初
の組(開始点)のY座標とそのアドレスを取り出す
(A)。例えば図2の例では、P1の点が対象となる。
そしてSc2を経てSc3に移行し、次の組のデータを取
得する(B)。図2の例では、次の組のデータはP7の
点に関するものとなる。そしてSc4で、上記(B)に
は上昇/下降マークのいずれが付与されているかが判断
され、上昇のマークであればこのピークY座標は谷底で
あることを意味し、上記(A)のY座標とアドレス、
(B)のY座標とアドレスの順にセグメントとして登録
される。そしてSc7で、データ(B)によって上記デ
ータ(A)の内容が更新され、Sc2に戻る。
Then, segment data is created and registered based on the data thus obtained for each contour line. Hereinafter, a specific description will be given based on the segment registration routine (C) of FIG. First, in Sc1, the Y coordinate of the first set (start point) and its address are taken out (A). For example, in the example of FIG. 2, the point P1 is the target.
Then, the process proceeds to Sc3 via Sc2 to acquire the next set of data (B). In the example of FIG. 2, the next set of data is for point P7. Then, in Sc4, it is judged which of the rising and falling marks is given to the above (B), and if it is a rising mark, it means that this peak Y coordinate is the bottom of the valley. Coordinates and addresses,
The segment is registered as a segment in the order of the Y coordinate and the address in (B). Then, in Sc7, the contents of the data (A) are updated by the data (B), and the process returns to Sc2.

【0017】なおSc4で下降マークと判断されれば、
このピークY座標は頂上であることを意味し、Sc6で
(B)のY座標とアドレス、(A)のY座標とアドレス
の順にセグメントとして登録される。このようにするの
は、Y座標として大きいものから小さいものの順に登録
する趣旨であり、セグメントとして登録された2組の点
のデータは、必ず1番目のY座標の方が2番目の点のY
座標より大きくなるように登録される。以上のようなセ
グメントの登録により、各セグメントの始端と終端の座
標情報が登録されることとなる。
If it is determined that the mark is a descending mark in Sc4,
This peak Y coordinate means that it is the summit, and in Sc6, the Y coordinate and address of (B) and the Y coordinate and address of (A) are registered as segments in this order. This is to register the Y coordinate in order from the largest to the smallest, and the data of the two sets of points registered as the segment must always have the first Y coordinate as the Y point of the second point.
Registered to be larger than the coordinates. By registering the segments as described above, the coordinate information of the start end and the end of each segment is registered.

【0018】次に、図9に基づいて有効セグメントの判
定の流れを説明する。例えば図10に示すように、
「イ」の一部をクリッピング対象領域Cに設定した場
合、前述のように登録されたセグメントのうち、そのど
れがクリッピング対象領域Cに関与するか(そのクリッ
ピング対象領域Cのドット展開に必要かどうか)が判断
される。まず、概念的な説明をすれば、図10に示すよ
うに、セグメント及びは必要なく、セグメント及
びのみが必要(関与)となる。このように、クリッピ
ング対象領域Cに対し有効なセグメントかどうかを判断
するには、各セグメント〜の始端又は終端のY座標
SegMinY又はSegMaxYと、クリッピング対象領域CのY
座標の最大値nMaxY又は最小値nMinYとの大小関係を見
ればよい。例えばセグメントの最小値SegMinY(P7
のY座標)は、クリッピング対象領域CのY座標の最大
値nMaxYより大きいから、このセグメントは有効なセ
グメントでないとして除外できる。セグメントについ
ても同様である。
Next, the flow of determining the effective segment will be described with reference to FIG. For example, as shown in FIG.
When a part of "a" is set as the clipping target area C, which of the registered segments is involved in the clipping target area C (whether the dot expansion of the clipping target area C is necessary) Will be judged. First, if a conceptual explanation is given, as shown in FIG. 10, the segment and are not necessary, and only the segment and are necessary (involved). In this way, to determine whether the segment is a valid segment for the clipping target area C, the Y coordinate of the start or end of each segment
SegMinY or SegMaxY and Y of the clipping target area C
It suffices to look at the magnitude relationship with the maximum value nMaxY or the minimum value nMinY of the coordinates. For example, the minimum value of the segment SegMinY (P7
Y coordinate) is larger than the maximum Y coordinate nMaxY of the clipping target area C, and this segment can be excluded as a valid segment. The same applies to the segments.

【0019】このような処理の流れを図9で具体的に示
す。そのS11では、セグメントの1番目のY座標(例え
ば図10のセグメントのP1のY座標)を前述のSegMa
xYへ代入し、セグメントの2番目のY座標(例えばP7
のY座標)をSegMinYへ代入する。S12では、そのよう
に代入されたセグメントのSegMinY(例えば図10のP
7のY座標)が、クリッピング対象領域CのY座標の最
大値nMaxYより大きいかどうか、あるいはSegMaxYがク
リッピング領域のY座標の最小値nMinYより小さいかど
うかが判断される。該当する場合は、S13でそのセグ
メントは不要として登録から削除され、有効と判断され
たセグメントはそのまま残されて、S14で次のセグメ
ントのチェックへ移る。このようにして有効なセグメン
トかどうかが判定され、S10で全てのセグメントのチ
ェックが終了すれば、このルーチンも終了する。そし
て、有効なセグメントの登録のみが残ることとなる。
The flow of such processing is specifically shown in FIG. In S11, the first Y coordinate of the segment (for example, the Y coordinate of P1 of the segment in FIG. 10) is set to SegMa described above.
Substitute for xY, the second Y coordinate of the segment (eg P7
(Y coordinate of) is substituted into SegMinY. In S12, SegMinY of the segment thus substituted (for example, P in FIG. 10).
7) is larger than the maximum Y coordinate nMaxY of the clipping target area C, or whether SegMaxY is smaller than the minimum Y coordinate nMinY of the clipping area. If so, the segment is deleted from the registration as unnecessary in S13, the segment determined to be valid is left as it is, and the process proceeds to S14 to check the next segment. In this way, it is determined whether or not the segment is a valid segment, and if the checking of all the segments is completed in S10, this routine is also completed. Then, only valid segment registrations remain.

【0020】いま、図10において、仮に各ショートベ
クトルV1〜V14について有効かどうかを判断するとす
れば、14回の判定処理が必要となるが、セグメント単
位で行えば4回の判定処理で済み、処理の高速化が実現
する。そして、このように有効なセグメントが抽出され
た後、例えば図11に示すように、ドットフォントの展
開が図3のキャラクタジェネレータ6に対して行われ
る。図11のS20では、有効セグメントに所属するショ
ートベクトルと仮想格子点との交点を求めることによ
り、ドットフォントのデータが生成され、S21で、ク
リッピング対象領域と重ならない部分についてのドット
を排除することにより、目的とするクリッピング対象領
域のドットフォントのデータが得られる。
Now, in FIG. 10, if it is judged whether or not each of the short vectors V1 to V14 is valid, judgment processing of 14 times is required. However, if judgment is made in segment units, judgment processing of 4 times is sufficient. High-speed processing is realized. Then, after the effective segment is extracted in this way, dot font development is performed on the character generator 6 of FIG. 3, for example, as shown in FIG. In S20 of FIG. 11, dot font data is generated by obtaining the intersections of the short vector belonging to the effective segment and the virtual lattice points, and in S21, the dots of the portion that does not overlap the clipping target area are excluded. As a result, target dot font data of the clipping target area is obtained.

【0021】以上はクリッピングに伴う例を挙げたが、
1つの文字を2枚の印刷紙に跨るよう大きく拡大して印
刷するような場合も、前述のようなセグメントを導入し
た処理は有効である。
The above is an example with clipping.
Even in the case of printing one character by enlarging it so as to straddle two sheets of printing paper, the processing with the above-described segment introduced is effective.

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

【図1】本発明を概念的に示すフローチャート。FIG. 1 is a flowchart conceptually showing the present invention.

【図2】セグメントの概念を示す説明図。FIG. 2 is an explanatory diagram showing the concept of segments.

【図3】制御系の一例を示すブロック図。FIG. 3 is a block diagram showing an example of a control system.

【図4】セグメント分割の処理の一例を示すフローチャ
ート。
FIG. 4 is a flowchart showing an example of segment division processing.

【図5】図4のS6のルーチンを示すフローチャート。5 is a flowchart showing a routine of S6 of FIG.

【図6】図4のS7のルーチンを示すフローチャート。FIG. 6 is a flowchart showing a routine of S7 of FIG.

【図7】各セグメントの登録手法の一例を概念的に示す
図。
FIG. 7 is a diagram conceptually showing an example of a registration method of each segment.

【図8】図4のS8のルーチンを示すフローチャート。FIG. 8 is a flowchart showing a routine of S8 of FIG.

【図9】有効セグメントの判定の処理を示すフローチャ
ート。
FIG. 9 is a flowchart showing processing of determining an effective segment.

【図10】クリッピングの一例を示す図。FIG. 10 is a diagram showing an example of clipping.

【図11】有効セグメントを用いて、ドットフォントを
展開する一例を示すフローチャート。
FIG. 11 is a flowchart showing an example of developing a dot font using valid segments.

【図12】キャラクタの他の例を示す図。FIG. 12 is a diagram showing another example of a character.

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

1 CPU 2 コンピュータ 3 フォントROM 4 プログラムROM 5 RAM 6 キャラクタジェネレータ 1 CPU 2 computers 3 font ROM 4 Program ROM 5 RAM 6 character generator

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 キャラクタの輪郭を個々のショートベク
トルの連続によるアウトラインフォントのデータで特定
するとともに、それらショートベクトルと仮想的な格子
線との交点を求めることにより、前記キャラクタを表示
するためのドットフォントのデータを求めるキャラクタ
データ発生装置において、 前記個々のショートベクトルの適数の連続である一続き
のセグメントを複数組設定し、それにより前記キャラク
タの輪郭の全体を前記ショートベクトルの数より少ない
数の前記セグメントに分割するセグメント分割手段と、 前記表示すべきドットフォントのデータに各セグメント
が関与するかどうかを判定する有効セグメント判定手段
と、 関与しないと判定された前記セグメントは除外し、関与
すると判定されたセグメントのみについて当該セグメン
トに属する前記ショートベクトルと前記格子線との交点
を求めて、前記表示すべきドットフォントのデータを生
成するドット変換手段と、 を含むことを特徴とするキャラクタデータ発生装置。
1. A dot for displaying the character by specifying the outline of the character with data of an outline font formed by a series of individual short vectors, and obtaining an intersection between the short vector and a virtual grid line. In a character data generator for obtaining font data, a plurality of sets of a suitable number of continuous segments of the individual short vectors are set, whereby the entire outline of the character is smaller than the number of short vectors. Segment dividing means for dividing the segment into the segments, effective segment determining means for determining whether each segment is involved in the dot font data to be displayed, and excluding the segment determined not to be involved, Only the judged segment A character data generating device, comprising: dot conversion means for obtaining an intersection of the short vector belonging to the segment and the grid line to generate data of the dot font to be displayed.
【請求項2】 前記セグメント分割手段は、 前記キャラクタの輪郭に対応する前記ショートベクトル
の全体を前記複数組のセグメントに分割する際、前記シ
ョートベクトルの座標基準方向において単調減少するシ
ョートベクトルの連続的な組み合わせ、又は単調増加す
るショートベクトルの連続的な組み合わせを前記一続き
のセグメントに設定する一方、単調減少から増加に転ず
る点又は単調増加から減少に転ずる点を次のセグメント
の始点とするものである請求項1記載のキャラクタデー
タ発生装置。
2. The segment dividing means, when dividing the whole of the short vector corresponding to the contour of the character into the plurality of sets of segments, a series of short vectors that monotonically decreases in the coordinate reference direction of the short vector. Or a continuous combination of monotonically increasing short vectors is set in the series of segments, while the point at which a monotonous decrease changes to an increase or the point at which a monotonic increase changes to a decrease becomes the start point of the next segment. The character data generator according to claim 1.
【請求項3】 前記セグメント分割手段により得られた
複数組の前記セグメントの前記座標系におけるデータを
登録するセグメント登録手段と、 前記キャラクタの部分的に表示すべき領域としてクリッ
ピング領域を取り込むクリッピング領域取込み手段とを
備え、 前記有効セグメント判定手段は、前記クリッピング領域
の座標データと前記セグメント登録手段に登録された各
セグメントの座標データとを比較することに基づいて、
前記各セグメントについて前記判定処理を行う請求項1
又は2記載のキャラクタデータ発生装置。
3. A segment registration means for registering data in the coordinate system of a plurality of sets of the segment obtained by the segment division means, and a clipping area capture for capturing a clipping area as an area to be partially displayed by the character. Means, the effective segment determination means, based on comparing the coordinate data of the clipping region and the coordinate data of each segment registered in the segment registration means,
The determination process is performed for each segment.
Alternatively, the character data generator described in 2.
JP32366295A 1995-11-17 1995-11-17 Character data generator Expired - Fee Related JP3370838B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32366295A JP3370838B2 (en) 1995-11-17 1995-11-17 Character data generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32366295A JP3370838B2 (en) 1995-11-17 1995-11-17 Character data generator

Publications (2)

Publication Number Publication Date
JPH09146517A JPH09146517A (en) 1997-06-06
JP3370838B2 true JP3370838B2 (en) 2003-01-27

Family

ID=18157216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32366295A Expired - Fee Related JP3370838B2 (en) 1995-11-17 1995-11-17 Character data generator

Country Status (1)

Country Link
JP (1) JP3370838B2 (en)

Also Published As

Publication number Publication date
JPH09146517A (en) 1997-06-06

Similar Documents

Publication Publication Date Title
US4845656A (en) System for transferring data between memories in a data-processing apparatus having a bitblt unit
US6130667A (en) Character pattern generating apparatus
JP3207336B2 (en) Character pattern generator
JP3370838B2 (en) Character data generator
JP3196236B2 (en) Outline data processing device
JP2899012B2 (en) Character processing apparatus and method
JP3082467B2 (en) Outline data processing device
JPH08123392A (en) Data converter
JP2861127B2 (en) Data converter
JP3054157B2 (en) Character processing device and character processing method
JP3126696B2 (en) Character generation method
JP3341048B2 (en) Document printing device
JP2907826B2 (en) Character font management device
JPH01229649A (en) Printing method using vector font data
JPH06149208A (en) Character generating device
JP3382444B2 (en) Character processing apparatus and method
JPH02210395A (en) Character/figure generation method
JP2647510B2 (en) Character processing apparatus and method
JP3077180B2 (en) Data converter
JP2917336B2 (en) Packaging layout system for web
JPH1185129A (en) Character generating device, character generating method, and recording medium storing character generation control program
JPH05241557A (en) Device and method for controlling character display
JPH03127097A (en) Drawing method for vector font
JPH10334248A (en) Print processing device and method
JPH06166222A (en) Printer

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071115

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081115

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091115

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091115

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101115

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101115

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111115

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111115

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121115

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131115

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees