JP3444726B2 - Character processor - Google Patents
Character processorInfo
- Publication number
- JP3444726B2 JP3444726B2 JP17231396A JP17231396A JP3444726B2 JP 3444726 B2 JP3444726 B2 JP 3444726B2 JP 17231396 A JP17231396 A JP 17231396A JP 17231396 A JP17231396 A JP 17231396A JP 3444726 B2 JP3444726 B2 JP 3444726B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- skeleton
- data
- bending
- point information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Description
【0001】[0001]
【発明の属する技術分野】この発明は文字処理装置に関
し、特に、輪郭データによって表現された文字パターン
から文字の骨組みとなる骨格データを抽出する文字処理
装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a character processing device, and more particularly to a character processing device for extracting skeleton data which is a frame of a character from a character pattern represented by contour data.
【0002】[0002]
【従来の技術】ここで、本明細書中の用語について説明
する。まず輪郭とは出力される文字において、一般的に
明朝体やゴシック体などの書体を厳密に見ると、字画に
多少の太さ(厚み)を有しているが、この太さ(厚み)
に相当する字画の縁のことをいう。骨格とは、文字の字
形を表わすものであって、太さを特に有するものではな
く、輪郭を1本の線(=芯線)で表現し、最低どのよう
な文字なのかと判別できる程度のものをいう。文字パタ
ーンの構成要素とは、文字を構成するための各字画のこ
とを指し、筆順における各1画ごとの形状をいう。2. Description of the Related Art Here, terms used in this specification will be described. First of all, the outline has a certain thickness (thickness) in the strokes when looking closely at the typeface such as Mincho or Gothic in terms of the characters that are output.
The edge of the stroke that corresponds to. The skeleton represents the shape of a character and does not have any particular thickness, but the outline is represented by one line (= core line), and at least it can be distinguished what kind of character it is. Say. The constituent element of the character pattern refers to each stroke for forming a character, and is the shape of each stroke in the stroke order.
【0003】輪郭点とは字画の縁の線上にある点であっ
て輪郭上の点を指す。制御点は輪郭を表現する方法とし
て、輪郭形状を曲線近似し、輪郭を表現するために、こ
の輪郭曲線上または輪郭曲線上以外に設けられた点(座
標)をいう。A contour point is a point on the edge line of a stroke and indicates a point on the contour. As a method of expressing the contour, the control point is a point (coordinates) provided on the contour curve or other than on the contour curve in order to approximate the contour by curve and express the contour.
【0004】入出力ベクトルとは、ある制御点におい
て、1つ手前の制御点(制御点の前後の関係は任意であ
る)から見た方向ベクトルを入力ベクトルといい、ある
制御点において、1つ次の制御点を見た方向ベクトルを
出力ベクトルという。したがって、滑らかな曲線上にお
けるある制御点の入出力ベクトルは一致する。入出力角
度とはある制御点における出力ベクトルの角度と1つ次
の制御点における入力ベクトルの角度の差である。An input / output vector is a direction vector seen from a control point immediately before (a relationship before and after the control point is arbitrary) at a certain control point. The direction vector that looks at the next control point is called the output vector. Therefore, the input / output vectors of a certain control point on the smooth curve match. The input / output angle is the difference between the angle of the output vector at a certain control point and the angle of the input vector at the next control point.
【0005】打込部とは筆で文字を書いた場合に始筆部
分の筆の入りが表現されるところをいう。点角度とはあ
る制御点の前に位置する制御点の出力ベクトルと後ろに
位置する制御点の入力ベクトルのなす角度をいう。端点
とは制御点のうち点角度の大きいものをいう。始点およ
び終点とは2つの端点候補の相対位置により決められる
ものである。The striking portion is a portion where the entry of the brush at the first stroke portion is expressed when a character is written with the brush. It refers to the angle of the incoming Chikarabe vector control point located in Chikarabe vector and back out of the control point located in front of the control points in the point angle. The end point is a control point having a large point angle. The start point and the end point are determined by the relative positions of the two end point candidates.
【0006】関節とは1つの構成要素の輪郭データから
抽出する骨格データにおいて、骨格データの中間部分に
あり、この中間部分を挟んで互いに独立した骨格データ
として扱える境界点のことである。たとえば輪郭で表現
された文字パターンにおいて、カーブの曲率(曲がり
方)が著しい部分や、1字画中に筆の打込部があり輪郭
データに特徴的な形状となっている部分を指す。半関節
とは、関節に類似するもので骨格点を結ぶ骨格データに
は連続性はないが関節と同様の性質を持つものをいう。[0006] A joint is a boundary point in the skeleton data extracted from the contour data of one component, which is located in the middle portion of the skeleton data and can be treated as skeleton data independent of each other with the middle portion sandwiched therebetween. For example, in a character pattern represented by a contour, it indicates a portion where the curvature (bent) of a curve is remarkable, or a portion where a stroke of a brush is formed in one character stroke and which has a characteristic shape in the contour data. A semi-joint is similar to a joint and has the same properties as a joint, although the skeletal data connecting the skeletal points does not have continuity.
【0007】従来、電子機器やコンピュータ端末では、
表示や印字のために、文字や記号などの文字パターン
を、予めアウトラインフォントと呼ばれる輪郭データと
してメモリに記憶してメモリから読出していたので、た
とえば日本語の漢字約7000文字について1書体すべ
ての輪郭データを記憶するだけでも極めて多くのデータ
量が必要となる。そこで、最近では文字パターンの構成
要素を骨格データとして予め記憶させておき、骨格デー
タに基づいて文字パターンを構成する方式が採用されて
いる。この方式によれば、記憶するデータ量を極めて少
なくすることができる。そのために、文字パターンの輪
郭データから骨格データを抽出する文字処理装置が注目
されつつある。Conventionally, in electronic equipment and computer terminals,
For display and printing, character patterns such as characters and symbols were previously stored in the memory as outline data called outline font and were read out from the memory. For example, about 7,000 Japanese kanji characters have all the outlines of one typeface. An extremely large amount of data is required just to store the data. Therefore, recently, a method has been adopted in which the constituent elements of the character pattern are stored in advance as skeleton data and the character pattern is constructed based on the skeleton data. According to this method, the amount of data to be stored can be extremely reduced. Therefore, a character processing device that extracts the skeleton data from the contour data of the character pattern is attracting attention.
【0008】一般に、文字パターンの輪郭データから骨
格データを抽出する文字処理装置では、文字パターンの
骨組みとなる中心線が骨格データとして抽出される。詳
細には、文字パターンの輪郭データの両側から等しい距
離にある点を複数個求め、それらを順次つないで中心線
とする。このとき、中心線を形成するのに最少数の点が
求められて、これが骨格データとなる。しかし、この方
法は、輪郭データの両側から等しい距離にある点を求め
ていくため処理速度が遅いという問題があった。また、
複雑な文字パターンでは骨格データの誤抽出が起こると
いう問題もあった。Generally, in a character processing device for extracting skeleton data from contour data of a character pattern, a center line which is a skeleton of the character pattern is extracted as skeleton data. Specifically, a plurality of points at equal distances from both sides of the contour data of the character pattern are obtained, and these points are sequentially connected to form a center line. At this time, the minimum number of points is determined to form the center line, and this is the skeleton data. However, this method has a problem that the processing speed is slow because points at equal distances are obtained from both sides of the contour data. Also,
There is also a problem that skeleton data is erroneously extracted in a complicated character pattern.
【0009】このような問題を解消するための装置とし
て、特開平2−244390号公報に示されたストロー
ク抽出装置がある。ここでは、輪郭データを単位線分に
分割した後、最も短い単位線分の端点と他の単位線分と
を最短距離で結んだとし、2本の線分の和が最小かつ互
いに逆向きになる単位線分を検出してこの2つの単位線
分間の中心線(単位骨格データ)を抽出する。次に単位
骨格データ間相互の補正を行なう。最後に連結可能な単
位骨格データ同士を連結していき、最終的な骨格データ
を抽出している。As a device for solving such a problem, there is a stroke extracting device disclosed in Japanese Patent Laid-Open No. 2-244390. Here, after dividing the contour data into unit line segments, the shortest distance between the end point of the shortest unit line segment and the other unit line segment is assumed, and the sum of the two line segments is the smallest and opposite to each other. The unit line segment is detected and the center line (unit skeleton data) between these two unit line segments is extracted. Next, mutual correction between the unit skeleton data is performed. Finally, the unit skeleton data which can be connected is connected, and the final skeleton data is extracted.
【0010】[0010]
【発明が解決しようとする課題】しかしながら、上述し
た公報に開示の方法では、輪郭データを単位線分に分割
しているので、突起部分や交差部分では抽出される単位
骨格が分断される。そのため単位骨格の単位骨格端点を
移動させて補正しており、抽出した単位骨格データが変
換されたり移動されるという問題点がある。また、分断
された単位骨格データのうち、ほぼ直線上に連結し得る
部分などの補正を行ない、順次連結して骨格データを生
成している。そのために、骨格データの骨格端点が移動
されて、本来抽出した骨格データとは異なってしまう。However, in the method disclosed in the above-mentioned publication, since the contour data is divided into unit line segments, the unit skeleton to be extracted is divided at the protruding portion and the intersecting portion. Therefore, the unit skeleton end points of the unit skeleton are moved and corrected, and the extracted unit skeleton data is converted or moved. Further, of the divided unit skeleton data, the portion that can be connected on a substantially straight line is corrected and sequentially connected to generate the skeleton data. Therefore, the skeleton end points of the skeleton data are moved, and the skeleton data is different from the originally extracted skeleton data.
【0011】さらに、この抽出された骨格データに基づ
いて骨格を共通にする多種の書体を生成する場合は、生
成後の文字の筆の打込部や屈曲部などの特徴的な部分
に、さまざまな変化をつけた高品質な輪郭データを生成
することはできない。たとえば、明朝体や正楷書体など
の文字パターンの始筆や終筆の飾りなどを高品質に生成
することはできなかった。Further, when various types of typefaces having a common skeleton are generated on the basis of the extracted skeleton data, various characteristic parts such as the writing portion and the bent portion of the brush of the generated character are changed. It is not possible to generate high-quality contour data with various changes. For example, it was not possible to generate a high-quality start or end decoration of a character pattern such as Mincho or Shojo typeface.
【0012】それゆえにこの発明の目的は、輪郭データ
によって表現された文字パターンから文字の骨組みとな
る骨格データを補正することなしに抽出できる文字処理
装置を提供することである。Therefore, an object of the present invention is to provide a character processing apparatus which can extract skeleton data which is a skeleton of a character from a character pattern represented by contour data without correcting it.
【0013】この発明の他の目的は、輪郭データによっ
て表現された文字パターンから、文字の骨組みとなる高
品質の骨格データを抽出できる文字処理装置を提供する
ことである。Another object of the present invention is to provide a character processing device capable of extracting high quality skeleton data which is a skeleton of a character from a character pattern represented by contour data.
【0014】この発明のさらなる他の目的は、骨格デー
タから多種の書体を合成する際に微妙な変化または強調
された変化を有する書体を合成することに利用可能な骨
格データを抽出できる文字処理装置を提供することであ
る。Still another object of the present invention is a character processing apparatus capable of extracting skeleton data which can be used for synthesizing a typeface having subtle changes or emphasized changes when synthesizing various typefaces from skeleton data. Is to provide.
【0015】[0015]
【課題を解決するための手段】請求項1に記載の文字処
理装置は、文字パターンの輪郭線を、制御点を基準とし
て定められる曲線または直線により近似して表現した輪
郭データに基づいて、文字を処理する装置であり、文字
パターンの輪郭データを記憶するための記憶手段と、記
憶手段から文字パターンの輪郭データを読出し、文字パ
ターンの構成要素ごとに、端点である制御点に端点情報
を付加するための端点情報付加手段と、端点情報が付加
された輪郭データの、文字パターンの輪郭形状の屈曲部
にあたる制御点に、屈曲点情報を付加するための屈曲点
情報付加手段と、端点情報と屈曲点情報とが付加された
文字パターンの構成要素ごとの輪郭データから文字パタ
ーンの骨格データを抽出するための骨格抽出手段と、端
点情報と、屈曲点情報と、骨格データとを、文字パター
ンの骨格情報として出力するための出力手段とを備えて
構成される。According to a first aspect of the present invention, there is provided a character processing apparatus, wherein a contour line of a character pattern is approximated by a curve or a straight line defined with a control point as a reference, based on contour data. And a storage unit for storing the contour data of the character pattern, the contour data of the character pattern is read from the storage unit, and end point information is added to the control point, which is the end point, for each constituent element of the character pattern. End point information adding means for doing, the control point corresponding to the bent portion of the contour shape of the character pattern of the contour data to which the end point information is added, the bending point information adding means for adding the bending point information, and the end point information, Skeleton extracting means for extracting the skeleton data of the character pattern from the contour data of each component of the character pattern to which the bending point information is added, end point information, and the bending point And distribution, and a skeleton data, and an output means for outputting as a scaffold information of the character pattern.
【0016】請求項1に係る文字処理装置は上述のよう
に構成されて、文字パターンの骨格情報が端点情報付加
手段、屈曲点情報付加手段および骨格抽出手段により該
文字パターンの構成要素ごとに得られた端点情報、屈曲
点情報および骨格データとして得られる。したがって、
文字パターンの骨格情報を補正することなしに、すなわ
ちより元の形状に忠実である正確な骨格情報を得ること
ができる。The character processing apparatus according to claim 1 is configured as described above, and the skeleton information of the character pattern is obtained for each constituent element of the character pattern by the end point information adding means, the bending point information adding means, and the skeleton extracting means. The obtained end point information, bending point information and skeleton data are obtained. Therefore,
It is possible to obtain accurate skeleton information that is more faithful to the original shape without correcting the skeleton information of the character pattern.
【0017】また、屈曲点情報付加手段により元の輪郭
データの筆の形状で打込部やカーブの曲率が大きい(輪
郭データが大きく屈曲している)などの特徴的な、ある
いは部分的な形状に屈曲点情報を付加した高品質な骨格
情報を得ることができる。Further, the bending point information adding means has a characteristic or partial shape such as the shape of the brush of the original contour data and the curvature of the driving portion or the curve is large (the contour data is largely bent). It is possible to obtain high-quality skeletal information with bending point information added to.
【0018】請求項2に記載の文字処理装置は、請求項
1に記載の装置の骨格抽出手段が、端点情報と屈曲点情
報とが付加された文字パターンの構成要素ごとの輪郭デ
ータから、関節を持つことができる骨格データを抽出す
るための手段を含んで構成される。According to a second aspect of the present invention, in the character processing apparatus according to the first aspect, the skeleton extracting unit of the apparatus according to the first aspect uses the joint data from the contour data for each component of the character pattern to which the end point information and the bending point information are added. It is configured to include means for extracting skeleton data that can have
【0019】請求項2に係る文字処理装置は上述のよう
に構成されて、端点情報と屈曲点情報とが付加された文
字パターンの構成要素ごとの輪郭データから、関節を持
つことのできる骨格データが抽出される。したがって、
1つの骨格データから関節で分割して構成要素の組合せ
による要素形状数を削減しながらも、微妙な変化を有す
る多種の書体を1つの骨格データから合成できる。The character processing device according to the second aspect is configured as described above, and the skeleton data capable of having a joint is obtained from the contour data for each constituent element of the character pattern to which the end point information and the bending point information are added. Is extracted. Therefore,
While dividing one skeleton data by joints to reduce the number of element shapes due to the combination of constituent elements, it is possible to synthesize various typefaces having subtle changes from one skeleton data.
【0020】請求項3に記載の文字処理装置は、請求項
1に記載の装置の骨格抽出手段が、端点情報と屈曲点情
報とが付加された文字パターンの構成要素ごとの輪郭デ
ータから、半関節を持つことができる骨格データを抽出
するための手段を含んで構成される。In the character processing device according to a third aspect, the skeleton extracting means of the device according to the first aspect uses the half data from the contour data for each constituent element of the character pattern to which the end point information and the bending point information are added. It is configured to include means for extracting skeletal data that can have joints.
【0021】請求項3に係る文字処理装置は上述のよう
に構成されて、端点情報と屈曲点情報とが付加された文
字パターンの構成要素ごとの輪郭データから、半関節を
持つことのできる骨格データが抽出される。したがっ
て、関節を持つことができる骨格データの場合と同様に
1つの骨格データで微妙な変化を有する多種の書体を合
成できるという高品質を維持しながら、そのデータ量を
削減することができる。The character processing device according to claim 3 is configured as described above, and a skeleton capable of having a half joint based on the contour data for each constituent element of the character pattern to which the end point information and the bending point information are added. Data is extracted. Therefore, it is possible to reduce the amount of data while maintaining the high quality that one type of skeleton data can synthesize various typefaces having subtle changes as in the case of skeleton data that can have joints.
【0022】請求項4に記載の文字処理装置は、請求項
1から3のいずれか1項に記載の文字処理装置の屈曲点
情報付加手段が、文字パターンの輪郭データ上の対象制
御点が屈曲点であるか否かを、対象制御点と次の制御点
の入力ベクトルの差が示す角度に基づいて判定するため
の判定手段と、屈曲点であると判定された制御点に屈曲
点情報を付加するための手段とを含んで構成される。The character processing apparatus of claim 4, bending point information adding means character processing equipment according to any one of claims 1 3, target control points on the outline data of the character pattern bending point whether the bending point, and determining means for determining based on Saga示 to angle of the input vector of the target control point and the next control point, the determined control points to be bending points And means for adding information.
【0023】請求項4に係る文字処理装置はこのように
構成されて、屈曲点情報付加手段は文字パターンの輪郭
データのカーブの曲率の程度に応じて屈曲点情報を付加
するか否かの判断ができるので、結果として関節に関す
る情報を付加するか否かの判断が容易となる。The character processing device according to claim 4 is configured as described above, and the bending point information adding means determines whether to add the bending point information according to the degree of curvature of the curve of the contour data of the character pattern. As a result, it becomes easy to judge whether or not to add the information about the joint.
【0024】[0024]
【0025】[0025]
【0026】[0026]
【0027】[0027]
【0028】請求項5に記載の文字処理装置は、請求項
1から4のいずれか1項に記載の文字処理装置がさら
に、付加された前述の屈曲点情報を除去するための屈曲
点情報除去手段を含んで構成される。A character processing device according to claim 5 is
The character processing device according to any one of 1 to 4 is further configured to include a bending point information removing unit for removing the above-described added bending point information.
【0029】請求項5に係る文字処理装置は上述のよう
に構成されて、屈曲点情報除去手段により付加された屈
曲点情報を除去することができるので、必要に応じて輪
郭データの屈曲点情報をなくして、すなわち屈曲点情報
を除去して骨格データを抽出することにより、より元の
形状に近い骨格データを得ることができる。The character processing device according to the fifth aspect is configured as described above and can remove the bending point information added by the bending point information removing means. Therefore, the bending point information of the contour data can be removed as necessary. By eliminating the bending point information and extracting the skeleton data, it is possible to obtain skeleton data closer to the original shape.
【0030】[0030]
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照し詳細に説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings.
【0031】図1は、この発明の実施の形態による文字
処理装置の機能ブロック図である。図において文字処理
装置はフォント用メモリ10、端点付加部20、屈曲点
付加部30、屈曲点除去部31、プログラム用メモリ
(図示せず)、ワーク用メモリ42および骨格抽出部4
1を含むCPU40、キーボードなどの入力部50、入
力部50からの入力データを一時格納する入力バッファ
60、CPU40の処理の結果発生したデータを一時格
納する出力バッファ70、出力バッファ70のデータを
ビットマップに展開するためのビットマップメモリ80
およびビットマップメモリ80から出力されるデータに
基づいて画像データを表示または印字するための出力部
90を含む。FIG. 1 is a functional block diagram of a character processing device according to an embodiment of the present invention. In the figure, the character processing device includes a font memory 10, an end point addition unit 20, a bending point addition unit 30, a bending point removal unit 31, a program memory (not shown), a work memory 42, and a skeleton extraction unit 4.
1 including a CPU 40, an input unit 50 such as a keyboard, an input buffer 60 for temporarily storing input data from the input unit 50, an output buffer 70 for temporarily storing data generated as a result of processing by the CPU 40, and a bit of data in the output buffer 70. Bitmap memory 80 for developing into a map
And an output unit 90 for displaying or printing image data based on the data output from the bitmap memory 80.
【0032】図2は、図1のフォント用メモリ10にお
ける文字パターンの輪郭データの構成例を示す図であ
る。図3は、図1のワーク用メモリ42に一時格納され
る抽出された骨格データの構成例を示す図である。FIG. 2 is a diagram showing a configuration example of contour data of a character pattern in the font memory 10 shown in FIG. FIG. 3 is a diagram showing a configuration example of the extracted skeleton data temporarily stored in the work memory 42 of FIG.
【0033】図4、図5および図6のそれぞれは図1の
端点付加部20、屈曲点付加部30および骨格抽出部4
1の構成例を示す図である。4, 5 and 6 are respectively the end point adding section 20, the bending point adding section 30 and the skeleton extracting section 4 of FIG.
It is a figure which shows the structural example of 1.
【0034】図4の端点付加部20は文字パターンの輪
郭データ上の制御点において、文字パターンの構成要素
ごとに始点および終点を表わす輪郭データの端点情報を
付加するために、制御点取出部201、点角度認識部2
02、端点候補検出部203および制御点相対位置認識
部204を含む。The end point adding section 20 of FIG. 4 adds the end point information of the contour data representing the start point and the end point for each constituent element of the character pattern to the control points on the contour data of the character pattern, in order to add the control point extracting section 201. , Point angle recognition unit 2
02, an end point candidate detection unit 203, and a control point relative position recognition unit 204.
【0035】図5の屈曲点付加部30は文字パターンの
輪郭データ上の制御点のうち、文字パターンの輪郭形状
が屈曲部に相当する制御点に屈曲点情報を付加するため
に制御点取出部301、入出力角度認識部302、内側
屈曲開始点検出部303、内側屈曲終了点検出部30
4、外側屈曲終了点検出部305、外側屈曲開始点検出
部306および始筆屈曲点検出部307を含む。The inflection point adding section 30 in FIG. 5 is a control point extracting section for adding inflection point information to control points on the contour data of a character pattern where the contour shape of the character pattern corresponds to the inflection point. 301, input / output angle recognition unit 302, inner bending start point detection unit 303, inner bending end point detection unit 30
4, an outer bending end point detection unit 305, an outer bending start point detection unit 306, and a first stroke bending point detection unit 307.
【0036】この屈曲点付加部30により制御点に付加
された屈曲点情報は所望に応じて屈曲点除去部31によ
り除去される。The bending point removing unit 31 removes the bending point information added to the control points by the bending point adding unit 30 as desired.
【0037】CPU40は文字パターンの輪郭データを
処理するための全動作を行なうためのものであって、図
6の骨格抽出部41を有している。骨格抽出部41は文
字パターンの輪郭データから骨格情報を抽出するために
構成要素取出部411、輪郭分割部412、骨格点検出
部413、関節検出部414、骨格点連結部415およ
び半関節検出部416を含む。The CPU 40 is for performing all the operations for processing the contour data of the character pattern, and has the skeleton extracting section 41 of FIG. The skeleton extracting unit 41 extracts the skeleton information from the contour data of the character pattern, the component extracting unit 411, the contour dividing unit 412, the skeleton point detecting unit 413, the joint detecting unit 414, the skeleton point connecting unit 415, and the half joint detecting unit. 416 is included.
【0038】入力部50は処理する文字パターンの文字
コードや書体コードなどの入力、抽出された屈曲点情報
を除去するための指示入力を行なうためのものである。The input section 50 is for inputting a character code or a typeface code of a character pattern to be processed, and for inputting an instruction for removing the extracted bending point information.
【0039】ここで、文字パターンの輪郭形状の曲線近
似方法について説明する。この方法には(1)円周上の
一部分を利用した円弧で表現する方法、(2)指定され
た点を通過する滑らかな曲線で結んだスプライン曲線で
表現する方法、(3)各曲線の1単位(=1セグメン
ト)を始点、終点および2つの制御点で構成して、制御
点が始点と終点における曲線の傾きの方向および曲線の
膨らみをベジェ曲線で表現する方法などを挙げることが
できる。本実施の形態では、文字パターンの輪郭形状は
上記(3)の3次ベジェ曲線を用いた方法で曲線近似さ
れる。ただし、これに特定されるものではない。Here, a method of approximating a curve of the contour shape of the character pattern will be described. In this method, (1) a method of expressing with a circular arc that uses a part of the circumference, (2) a method of expressing with a spline curve connected by a smooth curve that passes a specified point, (3) of each curve There is a method in which one unit (= 1 segment) is composed of a start point, an end point and two control points, and the control point expresses the direction of the slope of the curve at the start point and the end point and the bulge of the curve by a Bezier curve. . In the present embodiment, the contour shape of the character pattern is curve-approximated by the method using the cubic Bezier curve in (3) above. However, it is not limited to this.
【0040】次に、フォント用メモリ10の構成の一例
を図2を参照し説明する。フォント用メモリ10内には
抽出する文字パターンの輪郭データの書体を区別する書
体コード101と、文字コード102と、各文字コード
について対応の文字パターンの構成要素を区別する構成
要素コード103と、各構成要素コード103(要素)
ごとに属する制御点情報を示すための制御点コード10
4と、制御点座標データ105と、制御点の入出力角度
106と、制御点が端点として分割するか否かを示す分
割属性107とからなる。輪郭データを構成する各制御
点の並びは右回り(時計回り)とする。なお、分割属性
107には各輪郭データの始点や終点を示す端点情報2
00、屈曲点情報201および始筆屈曲点情報202が
格納される。Next, an example of the configuration of the font memory 10 will be described with reference to FIG. In the font memory 10, a typeface code 101 for distinguishing the typeface of the outline data of the character pattern to be extracted, a character code 102, and a constituent element code 103 for distinguishing the constituent elements of the corresponding character pattern for each character code, Component code 103 (element)
Control point code 10 for indicating control point information belonging to each
4, the control point coordinate data 105, the input / output angle 106 of the control point, and the division attribute 107 indicating whether or not the control point is divided as an end point. The arrangement of the control points forming the contour data is clockwise (clockwise). The division attribute 107 includes end point information 2 indicating the start point and end point of each contour data.
00, bending point information 201, and starting-stroke bending point information 202 are stored.
【0041】次に、図3を参照してワーク用メモリ42
に一時格納される抽出された骨格データの記憶内容の一
例を説明する。抽出された骨格データは、抽出された文
字パターンの輪郭データの書体を区別する書体コード1
11と該書体コード111に対応の複数の文字コード1
12とを含む。さらに各文字コード112ごとに文字パ
ターンを構成する構成要素数113および骨格点数11
7を含む。各文字コード112のそれぞれに対応して対
応の構成要素数113分だけ構成要素を区別する構成要
素コード114と、1構成要素に含まれる骨格点の個数
115と後述する骨格点コードへのポインタ116とか
らなる情報の組を含む。さらに構成要素数113の分だ
け各構成要素ごとに構成要素コードの骨格点コード11
8、骨格点の座標データ119、骨格点の属性120お
よび骨格点の入出力角度121からなる情報の組を含
む。Next, referring to FIG. 3, the work memory 42
An example of the storage content of the extracted skeleton data temporarily stored in the following will be described. The extracted skeleton data is a typeface code 1 that distinguishes the typeface of the outline data of the extracted character pattern.
11 and a plurality of character codes 1 corresponding to the typeface code 111
12 and. Further, for each character code 112, the number of constituent elements 113 and the number of skeleton points constituting the character pattern are 11
Including 7. A component code 114 corresponding to each of the character codes 112 that distinguishes the components by the corresponding number 113 of components, the number 115 of skeleton points included in one component, and a pointer 116 to a skeleton point code described later. It contains a set of information consisting of and. Further, the skeleton point code 11 of the component code for each component is equal to the number of component elements 113.
8, a skeleton point coordinate data 119, a skeleton point attribute 120, and a skeleton point input / output angle 121.
【0042】骨格点の属性120には、骨格データを表
現するためのカーブ、コーナー、タンジェントなどのポ
イント属性と、関節または半関節である関節情報が格納
されるようになっている。The skeleton point attribute 120 stores point attributes such as curves, corners, and tangents for expressing skeleton data, and joint information that is a joint or a half joint.
【0043】次に、図7の文字処理装置の処理フローチ
ャートを参照して図1の文字処理装置の動作について説
明する。Next, the operation of the character processing device of FIG. 1 will be described with reference to the processing flowchart of the character processing device of FIG.
【0044】まず、文字パターンの輪郭データ上の制御
点において入出力ベクトルのなす角度を認識して屈曲点
情報を付加しながら、骨格データを補正することなしに
抽出する手順について説明する。図8は、図1のフォン
ト用メモリ10内の文字パターンの輪郭データの一例を
説明する図である。まず入力部50のキーボードから骨
格データを抽出する対象となる図8の文字パターン
「ア」の文字コード(たとえば、JISコードの「25
22」)と書体コード(たとえば、書体名)を入力する
(S1)。入力された文字コードと書体コードは入力バ
ッファ60に別々に格納される(S2)。入力バッファ
60に格納された文字コードと書体コードに従ってフォ
ント用メモリ10内の該当する文字パターン「ア」の輪
郭データが読出され(S3)、CPU40のワーク用メ
モリ42へ転送される(S4)。[0044] First, while adding recognizes and bending point information the angle of the incoming out Chikarabe vector at the control points on the outline data of the character pattern, the procedure for extracting without correcting the skeleton data described. FIG. 8 is a diagram illustrating an example of contour data of a character pattern in the font memory 10 of FIG. First, the character code of the character pattern “A” in FIG. 8 from which the skeleton data is extracted from the keyboard of the input unit 50 (for example, the JIS code “25
22 ") and a font code (for example, font name) are input (S1). The input character code and typeface code are separately stored in the input buffer 60 (S2). According to the character code and the typeface code stored in the input buffer 60, the contour data of the corresponding character pattern "a" in the font memory 10 is read (S3) and transferred to the work memory 42 of the CPU 40 (S4).
【0045】ワーク用メモリ42に転送された輪郭デー
タのうち、該文字パターンを構成する構成要素を1つず
つ取出す(S5)。取出す順番は、たとえば格納されて
いる輪郭データの構成要素の並び順とすると、ここで
は、まず文字パターン「ア」の第1画目の輪郭データ
(形状は「フ」)が取出される。取出されたデータは、
図2において、文字コード102部分が文字パターン
「ア」のJISコード「2522」であり、構成要素コ
ード103が「1」(=形状が「フ」)と「2」(=形
状が「ノ」)の2つ存在し、構成要素コード103が
「1」と「2」のそれぞれの制御点コード104には、
制御点「A」から「J」の輪郭データを持つものであ
る。ここでは、構成要素コード103が「1」(=形状
が「フ」)についての処理を説明する。From the contour data transferred to the work memory 42, the constituent elements forming the character pattern are taken out one by one (S5). If the extraction order is, for example, the arrangement order of the components of the stored outline data, the outline data (the shape is “F”) of the first stroke of the character pattern “A” is extracted first here. The retrieved data is
In FIG. 2, the character code 102 part is the JIS code “2522” of the character pattern “a”, and the component code 103 is “1” (= shape is “fu”) and “2” (= shape is “no”). ) And the component code 103 is “1” and the control point code 104 of “2”,
It has contour data of control points “A” to “J”. Here, the process for the component code 103 of “1” (= shape is “F”) will be described.
【0046】前述のように文字パターンから取出された
構成要素の輪郭点のうち、始点および終点である端点に
端点付加部20によって始点と終点の端点情報を付加す
る(S6)。ここで、端点付加部20によって端点情報
を付加する手順について、図9の端点付加部20の端点
情報付加の処理フローチャートを参照し説明する。As described above, the end point adding section 20 adds end point information of the start point and the end point to the end points which are the start point and the end point among the contour points of the constituent elements extracted from the character pattern (S6). Here, the procedure of adding the endpoint information by the endpoint adding unit 20 will be described with reference to the processing flow chart of adding the endpoint information of the endpoint adding unit 20 in FIG.
【0047】図9において端点付加部20の制御点取出
部201によって、文字パターンから予め取出された構
成要素から制御点が取出されていき(S6a)、取出さ
れた対象となる各制御点の点角度を、点角度認識部20
2により求める(S6b)。ここで、制御点を取出して
点角度を求める順番は、たとえば、輪郭データ内の並び
順とする。In FIG. 9, the control point extraction unit 201 of the end point addition unit 20 extracts control points from the components extracted in advance from the character pattern (S6a), and the points of the respective control points to be extracted are extracted. The angle is determined by the point angle recognition unit 20.
2 is obtained (S6b). Here, the order of extracting the control points and obtaining the point angles is, for example, the arrangement order in the contour data.
【0048】上述のようにしてすべての制御点について
点角度が求められた後、点角度の1番目と2番目に大き
な2つの制御点を端点候補検出部203により端点候補
として検出する(S6c)。ここで、図8において点D
における点角度はθ1、点Fにおける点角度はθ2とな
る。したがって図8においては点Aと点Fが端点候補と
なる。After the point angles have been obtained for all the control points as described above, the two control points having the first and second largest point angles are detected by the end point candidate detection unit 203 as end point candidates (S6c). . Here, in FIG. 8, point D
The point angle at θ is θ1, and the point angle at point F is θ2. Therefore, in FIG. 8, points A and F are end point candidates.
【0049】次に、制御点相対位置認識部204により
2つの端点候補の相対位置により始点と終点が決められ
る(S6d)。文字パターンの一般的な書き順から、始
点(始筆部)は終点(終筆部)の右よりも左の、かつ下
よりも上に位置することを利用して決めることができ
る。よって、点Aに始点、点Fに終点である旨の端点情
報が付加される。上述のようにして付加された始点と終
点の端点情報200は、ワーク用メモリ42の輪郭デー
タの輪郭点に対応の分割属性107に格納される(S
7)。Next, the control point relative position recognition unit 204 determines the start point and the end point based on the relative positions of the two end point candidates (S6d). From the general writing order of the character patterns, it can be determined by utilizing that the starting point (starting stroke part) is located to the left of the end point (ending stroke part) and above the bottom. Therefore, the end point information indicating that the point A is the start point and the point F is the end point is added. The end point information 200 of the start point and the end point added as described above is stored in the division attribute 107 corresponding to the contour point of the contour data of the work memory 42 (S).
7).
【0050】端点情報が付加されたCPU40内のワー
ク用メモリ42の構成要素の輪郭データ上の制御点に、
屈曲点付加部30により屈曲点情報201が付加される
(S8)。屈曲点情報を付加する対象となる部分は、文
字パターンの構成要素の輪郭データの筆の形状で、カー
ブの曲率がきつい(大きい)輪郭データ上の制御点であ
る。ここで、屈曲点付加部30によって屈曲点情報20
1を付加する手順について、図10の屈曲点付加部30
の屈曲点情報付加の処理フローチャートを参照し説明す
る。At the control points on the contour data of the constituent elements of the work memory 42 in the CPU 40 to which the end point information is added,
The bending point addition unit 30 adds the bending point information 201 (S8). The portion to which the bending point information is added is the shape of the brush of the contour data of the constituent elements of the character pattern, and is the control point on the contour data where the curvature of the curve is tight (large). Here, the bending point information 20 is generated by the bending point adding unit 30.
Regarding the procedure for adding 1, the bending point adding section 30 of FIG.
This will be described with reference to the processing flow chart for adding the bending point information.
【0051】ただし、輪郭データの始点と終点間の骨格
データを、関節で分割すべきか否かを屈曲点付加部30
内で判断するものとする。そのため、骨格データが関節
で分割されない形状の輪郭データもあり得るが、ここで
は屈曲点情報201が付加される輪郭データについて説
明する。However, it is determined whether or not the skeleton data between the start point and the end point of the contour data should be divided by joints.
It will be decided in-house. Therefore, the skeleton data may be contour data of a shape that is not divided by joints, but here, the contour data to which the bending point information 201 is added will be described.
【0052】前述のようにして端点情報200が分割属
性107に格納された構成要素の輪郭データ上の制御点
を制御点取出部301によって1つずつ取出し(S8
a)、処理中の制御点と次の制御点との入力ベクトルの
差を、入出力角度認識部302により求める(S8
b)。制御点を取出す順番は、たとえば輪郭データの並
び順とし、始点となった点Aの次の点Bとする。そし
て、内側屈曲開始点検出部303によりベクトルの差が
あるしきい値以上の角度で左に屈曲している輪郭開始点
を内側屈曲開始点として検出する(S8c)。これは、
輪郭データにおいて曲線などの形状で曲率が大きい場
合、このベクトル差が大きくなって内側の屈曲部として
検知できるからである。As described above, the control point extraction unit 301 extracts the control points on the contour data of the constituent elements whose end point information 200 is stored in the division attribute 107 one by one (S8).
a), the difference between the input Chikarabe vector control points and the next control point in the process, determined by the output angle recognition unit 302 (S8
b). The control points are taken out in the order in which the contour data are arranged, for example, the point B next to the point A which is the start point. Then, the inner bending start point detection unit 303 detects the contour starting point bent to the left at an angle equal to or larger than a threshold value having a vector difference as an inner bending start point (S8c). this is,
This is because when the contour data has a large curvature in the shape of a curve or the like, this vector difference becomes large and can be detected as an inner bent portion.
【0053】図11は、この発明の実施の形態による点
角度を説明するための図である。図11において、点G
と次の点Hとの入力ベクトルの差はθ3となり、θ3が
あるしきい値以上の角度として点Gを内側屈曲開始点と
する。この点Gから右回り(時計回り)に順番に輪郭点
を1つずつ取出していき(S8a)、処理中の制御点と
次の制御点との入力ベクトルの差を求め(S8b)、内
側屈曲終了点検出部304によって、あるしきい値以下
の角度で左に屈曲するような輪郭開始点を内側屈曲終了
点として検知する(S8d)。FIG. 11 is a diagram for explaining a point angle according to the embodiment of the present invention. In FIG. 11, point G
The input and Chikarabe difference vector is .theta.3 becomes the following: H, a point G and the inner bending start point as a threshold angle or more which is .theta.3. Clockwise from this point G will take out one by one contour point in turn (clockwise) (S8a), determines the difference between incoming Chikarabe vector control points and the next control point during processing (S8b), The inner bending end point detection unit 304 detects a contour start point that bends to the left at an angle equal to or less than a certain threshold as the inner bending end point (S8d).
【0054】図11において、点Hと次の点Iとの入力
ベクトルの差はθ4となり、θ4があるしきい値以下の
角度として点Hを内側屈曲終了点とする。次に点Gを通
り、点Gの入力ベクトルの法線と反対側の輪郭データ上
との交点に一番近い制御点、すなわち外側の屈曲終了点
を外側屈曲終了点検出部305によって求める(S8
e)。図11においては点Eとなる。そして点Hを通
り、この点の入力ベクトルの法線と反対側の輪郭データ
上との交点に一番近い制御点、すなわち外側の屈曲開始
点を外側屈曲開始点検出部306によって求める(S8
f)。図11においては点Dとする。[0054] Input of 11, the point H and the next point I
Difference .theta.4 next vector, the point H and inner bending end point as an angle of less than a certain threshold .theta.4. Next, the outer bending end point detection unit 305 obtains the control point that passes through the point G and is closest to the intersection of the normal line of the input vector of the point G and the contour data on the opposite side, that is, the outer bending end point (S8).
e). In FIG. 11, it becomes a point E. Then, the control point is the closest to the intersection of the normal line of the input vector of this point and the contour data on the opposite side, that is, the outer bending start point is obtained by the outer bending start point detection unit 306 (S8).
f). In FIG. 11, the point is D.
【0055】よって、点Gに内側屈曲開始点情報、点H
に内側屈曲終了点情報、点Eに外側屈曲終了点情報、点
Dに外側屈曲開始点情報である屈曲点情報201が付加
される。屈曲点付加部30では、角度のしきい値を予め
任意に設定することで屈曲点を付加する条件を変えるこ
とができる(S8)。たとえば、カーブの曲率の程度に
応じて屈曲点情報201を付加するか否かの判断ができ
るので、結果として関節情報を付加するか否かの判断が
できることになる。つまり、輪郭において、カーブの曲
率(曲がり方)が特に大きい部分を屈曲点部分として認
識することができ、輪郭点または制御点に屈曲点情報2
01を付加する。屈曲点情報201を付加した場合は、
骨格情報を認識する際に、関節情報を付加する条件を設
定し、付加するか否かの判断をすることができる。Therefore, the inward bending start point information and the point H are set to the point G.
The inside bending end point information is added to the point, the outside bending end point information is added to the point E, and the bending point information 201 which is the outside bending start point information is added to the point D. In the bending point adding section 30, the condition for adding the bending point can be changed by setting the angle threshold value in advance (S8). For example, it is possible to determine whether or not to add the bending point information 201 according to the degree of curvature of the curve, and as a result, it is possible to determine whether or not to add the joint information. That is, in the contour, a portion having a particularly large curvature (bent) of the curve can be recognized as the bending point portion, and the bending point information 2 can be recognized as the contour point or the control point.
01 is added. When the bending point information 201 is added,
When recognizing the skeletal information, it is possible to set a condition for adding the joint information and determine whether or not to add the joint information.
【0056】図7に戻って、付加された屈曲点情報20
1をCPU40内のワーク用メモリ42の輪郭データの
制御点にある分割属性107に格納する(S9)。Returning to FIG. 7, the added bending point information 20.
1 is stored in the division attribute 107 at the control point of the contour data of the work memory 42 in the CPU 40 (S9).
【0057】ワーク用メモリ42にある端点情報200
と屈曲点情報201とが付加された輪郭データから、骨
格抽出部41によって関節を持つことができる骨格情報
が抽出される(S10)。ここで骨格抽出部41によっ
て関節を持つことができる骨格データを抽出する手順に
ついて図面を参照し説明する。End point information 200 in the work memory 42
The skeleton information capable of having a joint is extracted by the skeleton extraction unit 41 from the contour data to which the and the bending point information 201 are added (S10). Here, a procedure for extracting the skeleton data capable of having a joint by the skeleton extracting unit 41 will be described with reference to the drawings.
【0058】図12は、図1の骨格抽出部41による骨
格抽出方法の第1例を説明する図である。図13は、図
1の骨格抽出部41の骨格抽出手順の第1例を示すフロ
ーチャートである。FIG. 12 is a diagram for explaining a first example of the skeleton extracting method by the skeleton extracting unit 41 of FIG. FIG. 13 is a flowchart showing a first example of the skeleton extraction procedure of the skeleton extraction unit 41 of FIG.
【0059】まず骨格抽出部41の構成要素取出部41
1により構成要素の輪郭データを取出す(S10a)。First, the component extraction unit 41 of the skeleton extraction unit 41
The contour data of the component is extracted by 1 (S10a).
【0060】次に、図12において、屈曲点情報201
が付加されている点Dと点E間、点Gと点H間以外の始
点Aと終点F間の輪郭データ上を輪郭分割部412によ
って等分割にする(S10b)。この分割数は入力部5
0で入力しCPU40内に予め記憶させておくものとす
る。Next, referring to FIG. 12, the bending point information 201
The contour dividing unit 412 equally divides the contour data between the start point A and the end point F other than between the points D and E and between the points G and H (S10b). The number of divisions is the input unit 5
It is input as 0 and stored in the CPU 40 in advance.
【0061】次に、骨格点検出部413によって骨格点
を求める(S10c)。詳細には、図12の点Aと点D
間、点Eと点F間、点Fと点G間、点Hと点A間をそれ
ぞれ3分割したとし、点P1、点P2、点P3、点P
4、点P5、点P6、点P7、および点P8を発生させ
る。始点Aを骨格点K0とし、点P1と点P8、点P2
と点P7、点Dと点H、点Eと点G、点P3と点P6、
点P4と点P5とを結ぶ線分の中点を骨格点K1、K
2、K3、K4、K5およびK6とし、終点Fを骨格点
K7とする。Next, the skeleton point detector 413 obtains skeleton points (S10c). Specifically, point A and point D in FIG.
, Point E and point F, point F and point G, and point H and point A are divided into three parts, respectively, and point P1, point P2, point P3, point P
4, point P5, point P6, point P7, and point P8 are generated. The starting point A is a skeleton point K0, and points P1, P8, and P2
And point P7, point D and point H, point E and point G, point P3 and point P6,
The midpoints of the line segments connecting the points P4 and P5 are the skeleton points K1 and K.
2, K3, K4, K5 and K6, and the end point F is the skeleton point K7.
【0062】次に、関節検出部414により関節となる
骨格点が求められる(S10d)。つまり、外側屈曲開
始点Dと内側屈曲終了点Hとから生成された骨格点K3
と、骨格点K3から始点A方向にある一番近い骨格点K
2とを結ぶ直線と、外側屈曲終了点Eと内側屈曲開始点
Gとから生成された骨格点K4と、骨格点K4から終点
F方向にある一番近い骨格点K5とを結ぶ直線の交点に
関節となる骨格点を求めることができる。よって、関節
を持つことができる骨格情報を抽出できる。Next, the joint detecting section 414 obtains a skeleton point to be a joint (S10d). That is, the skeleton point K3 generated from the outer bending start point D and the inner bending end point H
And the closest skeleton point K in the direction of the starting point A from the skeleton point K3
2 and a skeleton point K4 generated from an outer bending end point E and an inner bending start point G, and a straight line connecting a skeleton point K5 closest to the end point F direction from the skeleton point K4. The skeletal points that become joints can be obtained. Therefore, it is possible to extract skeleton information that can have a joint.
【0063】図7に戻って、上述のようにして求められ
た骨格情報はワーク用メモリ42に骨格データとして格
納されて(S11)、今回取出された構成要素について
の処理が終了する。Returning to FIG. 7, the skeleton information obtained as described above is stored in the work memory 42 as skeleton data (S11), and the processing for the component extracted this time is completed.
【0064】次に、今回読出された1文字分の輪郭デー
タのすべての構成要素について一連の処理(S5〜S1
1)が行なわれたか否かを判断し(S12)、処理が終
了した場合次の処理(S13)へ進み、処理が未終了の
場合次に処理すべき構成要素の輪郭データを取出し(S
5)、同様にして処理を繰返す。Next, a series of processing (S5 to S1) is performed for all the constituent elements of the contour data for one character read this time.
It is determined whether or not step 1) has been performed (S12), and if the process is completed, the process proceeds to the next process (S13). If the process is not completed, the contour data of the component to be processed next is taken out (S12).
5) The same process is repeated.
【0065】一連の処理がすべて終了した文字パターン
の骨格データは出力バッファ70に出力される(S1
3)。出力バッファ70内の骨格データはビットマップ
メモリ80に転送され(S14)、ビットマップメモリ
80内のビットマップデータは出力部90に転送され
て、該文字についての処理が終了する。The skeleton data of the character pattern for which the series of processing has been completed is output to the output buffer 70 (S1).
3). The skeleton data in the output buffer 70 is transferred to the bitmap memory 80 (S14), the bitmap data in the bitmap memory 80 is transferred to the output unit 90, and the process for the character ends.
【0066】図14は、図1の骨格抽出部41による骨
格抽出方法の第2例を説明する図である。図15は、図
1の骨格抽出部41の骨格抽出手順の第2例を示すフロ
ーチャートである。図14および図15を用いて説明さ
れる骨格抽出手順は、前述した図13の骨格抽出手順を
改良したものである。以下に、図8に示された文字パタ
ーン「ア」の第1画目の輪郭データ(形状は「フ」)か
ら屈曲点情報201を付加し、関節を持った骨格データ
を2本抽出する手順について説明する。FIG. 14 is a diagram for explaining a second example of the skeleton extracting method by the skeleton extracting unit 41 of FIG. FIG. 15 is a flowchart showing a second example of the skeleton extraction procedure of the skeleton extraction unit 41 of FIG. The skeleton extraction procedure described with reference to FIGS. 14 and 15 is an improvement of the skeleton extraction procedure of FIG. 13 described above. The following is a procedure for adding bending point information 201 from the contour data (the shape is “F”) of the first stroke of the character pattern “A” shown in FIG. 8 and extracting two skeleton data with joints. Will be described.
【0067】ここで、1つの構成要素の輪郭データから
骨格データを複数本抽出して、これらをまとめて扱うこ
とができる。これらの骨格データは図13で説明したよ
うに、必ずしも連続性があるわけではない。これは、図
13の処理では、元の文字パターンの輪郭データの形状
と、抽出される骨格データの形状が著しく異なる場合が
ある。たとえば、文字パターンの輪郭データの筆の形状
でカーブの曲率が極めて大きい部分では抽出した骨格デ
ータが輪郭データを逸脱することがある。これは骨格点
数を増やすことで対処できるが、その分データ量が増え
てしまう。そこで、図15のフローチャートに示される
手順では、データ量を少なくしてより高品質な骨格デー
タを抽出している。Here, it is possible to extract a plurality of skeleton data from the contour data of one constituent element and to handle them collectively. These skeleton data do not necessarily have continuity as described in FIG. This is because in the process of FIG. 13, the shape of the outline data of the original character pattern and the shape of the extracted skeleton data may be significantly different. For example, the extracted skeleton data may deviate from the contour data in a portion of the contour data of the character pattern where the curvature of the curve is extremely large. This can be dealt with by increasing the number of skeleton points, but the amount of data increases accordingly. Therefore, in the procedure shown in the flowchart of FIG. 15, the data amount is reduced to extract higher quality skeleton data.
【0068】図15のフローチャートに従い図14に示
される文字パターン「ア」の第1画目の輪郭データ(形
状は「フ」)から半関節を持つことができる骨格データ
を抽出する手順について説明する。A procedure for extracting skeleton data capable of having a half-joint from the contour data (the shape is “F”) of the first stroke of the character pattern “A” shown in FIG. 14 will be described with reference to the flowchart of FIG. .
【0069】まず、CPU40のワーク用メモリ42中
の各種情報が付加された輪郭データから、骨格抽出部4
1により半関節を持つことができる骨格データを抽出す
る(S10′)。ここで、骨格抽出部41により半関節
を持つことができる骨格データを抽出する手順につい
て、以下に説明する。First, the skeleton extracting unit 4 from the contour data to which various information is added in the work memory 42 of the CPU 40.
The skeleton data which can have a half joint is extracted by 1 (S10 '). Here, a procedure for extracting the skeleton data capable of having a half joint by the skeleton extracting unit 41 will be described below.
【0070】まず、骨格抽出部41の構成要素取出部4
11により構成要素の制御点が取出される(S10
a′)。次に屈曲点情報201が付加されている点Dと
点E間、点Gと点H間の屈曲部以外の始点Aと終点F間
の輪郭データ上を輪郭分割部412によって等分割する
(S10b′)。ここで、分割数は入力部50で入力し
CPU40内に予め記憶させておく。First, the component extraction unit 4 of the skeleton extraction unit 41
The control points of the constituent elements are extracted by 11 (S10).
a '). Next, the contour dividing unit 412 equally divides the contour data between the start point A and the end point F between the points D and E to which the bending point information 201 is added and between the points G and H (S10b). ′). Here, the number of divisions is input by the input unit 50 and stored in the CPU 40 in advance.
【0071】次に、図14に示されるように、点Aと点
D間、点Eと点F間、点Fと点G間、点Hと点A間をそ
れぞれ3分割したとし、点P1、点P2、点P3、点P
4、点P5、点P6、点P7および点P8を発生させ
る。そして骨格点検出部413により始点Aを骨格点K
0とし、点P1と点P8、点P2と点P7、点Dと点
H、点Eと点G、点P3と点P6、および点P4と点P
5とを結ぶ線分の中点を骨格点K1、K2、K3、K
4、K5、K6とし、さらに終点Fを骨格点K7として
骨格点を求める(S10c′)。Next, as shown in FIG. 14, assuming that points A and D, points E and F, points F and G, points H and A are divided into three parts, respectively, and point P1 , Point P2, point P3, point P
4, point P5, point P6, point P7 and point P8 are generated. Then, the skeleton point detector 413 sets the starting point A to the skeleton point K.
0, points P1 and P8, points P2 and P7, points D and H, points E and G, points P3 and P6, and points P4 and P.
The midpoint of the line segment connecting with 5 is the skeleton point K1, K2, K3, K
4, K5, K6, and the skeleton point with the end point F as the skeleton point K7 (S10c ').
【0072】次に、外側屈曲終了点Eと内側屈曲開始点
Gから生成された骨格点K4と、骨格点K4から終点F
方向にある一番近い骨格点K5とを骨格点連結部415
により直線で結び(S10d′)、半関節検出部416
により終点Fと逆の方向に延長し輪郭データとの交点を
求める。この交点が半関節とされる(S10e′)。よ
って、図15のフローチャートに従って、半関節を持つ
ことができる骨格情報を抽出することができる。Next, the skeleton point K4 generated from the outer bending end point E and the inner bending start point G, and the skeleton point K4 to the end point F.
The closest skeleton point K5 in the direction to the skeleton point connection portion 415
By a straight line (S10d '), and the semi-joint detecting unit 416
Is extended in the direction opposite to the end point F to obtain the intersection with the contour data. This intersection is defined as a half joint (S10e '). Therefore, it is possible to extract skeleton information capable of having a half joint according to the flowchart of FIG.
【0073】ここで、外側屈曲開始点Dと内側屈曲終了
点Hとから生成された骨格点K3と、骨格点K3から始
点A方向にある一番近い骨格点K2とを結ぶ直線を、始
点Aと逆の方向に延長して輪郭データとの交点に半関節
を求めることもできる。Here, a straight line connecting the skeleton point K3 generated from the outer bending start point D and the inner bending end point H and the closest skeleton point K2 in the starting point A direction from the skeleton point K3 is set to the start point A. It is also possible to extend in the opposite direction to the half joint at the intersection with the contour data.
【0074】次に、骨格抽出部41による骨格抽出方法
の第3例について図7に示すフローチャートに従い説明
する。図16は、図1の骨格抽出部41による骨格抽出
方法の第3例を説明する図である。Next, a third example of the skeleton extracting method by the skeleton extracting unit 41 will be described with reference to the flowchart shown in FIG. FIG. 16 is a diagram illustrating a third example of the skeleton extracting method by the skeleton extracting unit 41 of FIG. 1.
【0075】明朝体や正楷書体などの書体に従う文字パ
ターン中には、図16に示す文字パターン「ア」の第2
画目の輪郭データ(形状は「ノ」)のような筆の形状で
打込部が見られるものがある。この骨格抽出方法の第3
例では、文字パターンの縦棒の輪郭データで筆の形状で
打込部などをもった特徴的な部分に関節を持つことがで
きる骨格データを抽出する手順が示される。このような
特徴的な部分を骨格データに情報として付加しておく
と、この骨格データを利用して書体を合成する場合に、
打込部などの形状を少し変えるだけで異なった印象を持
つ書体を合成することができる。しかも、複数書体間で
骨格データを共有できるので、データ量の増加を抑える
ことができる。In the character pattern according to the typeface such as Mincho typeface and regular typeface, the second part of the character pattern "A" shown in FIG.
There is a case where the driving part is seen in the shape of a brush like the contour data (the shape is “No”) of the stroke. The third of this skeleton extraction method
In the example, a procedure for extracting skeleton data capable of having a joint at a characteristic portion having a striking portion in the shape of a brush with contour data of vertical bars of a character pattern is shown. If such a characteristic part is added to the skeleton data as information, when synthesizing a typeface using this skeleton data,
It is possible to create a typeface with a different impression by simply changing the shape of the driving part. Moreover, since the skeleton data can be shared among a plurality of typefaces, an increase in the amount of data can be suppressed.
【0076】なお、ここでは縦棒の輪郭データで筆の形
状で打込部などを持った場合について説明しているが、
横棒の場合は座標軸が変わるだけでほぼ同様のため説明
を省略する。The case where the vertical bar contour data has a brush-shaped driving portion and the like is described here.
In the case of a horizontal bar, the description is omitted because it is almost the same except that the coordinate axes are changed.
【0077】図7に示すフローチャートをもとに、図1
6に示された文字パターン「ア」の第2画目の輪郭デー
タ(形状は「ノ」)から関節を持つことができる骨格デ
ータを抽出する手順について説明する。この手順におい
ても図7のS1からS7およびS12からS15に関す
る処理は前述と同様であるため、S21からS24の処
理について説明する。Based on the flowchart shown in FIG. 7, FIG.
A procedure for extracting skeleton data capable of having a joint from the contour data (the shape is “No”) of the second stroke of the character pattern “A” shown in 6 will be described. In this procedure as well, the processing relating to S1 to S7 and S12 to S15 in FIG. 7 is the same as that described above, so the processing from S21 to S24 will be described.
【0078】ここで、前処理として、前述と同様に端点
情報200が付加されており(S6)、図16において
は、点Aに始点、点Fに終点の端点情報200が付加さ
れているとする。Here, as preprocessing, the end point information 200 is added as in the above (S6), and in FIG. 16, the end point information 200 of the start point is added to the point A and the end point information 200 is added to the point F. To do.
【0079】まず、予め構成要素が取出されているので
(S5)、その制御点に屈曲点付加部30によって始筆
屈曲点情報202が付加される(S21)。ここで、屈
曲点付加部30による始筆屈曲点情報202の付加手順
について説明する。First, since the constituent elements are extracted in advance (S5), the inflection point information 202 is added to the control point by the inflection point adding section 30 (S21). Here, a procedure for adding the starting-stroke bending point information 202 by the bending point adding section 30 will be described.
【0080】図17は図1の屈曲点付加部30による始
筆屈曲点情報付加の処理フローチャートである。FIG. 17 is a processing flowchart for adding the first stroke bending point information by the bending point adding section 30 in FIG.
【0081】図17において、まず制御点取出部301
により構成要素の制御点が1つずつ取出される(S21
a)。取出す制御点の順番は、たとえば、始点Aからデ
ータの並び順とする。In FIG. 17, first, the control point extraction section 301
The control points of the constituent elements are taken out one by one (S21).
a). The order of the control points to be taken out is, for example, the order of data arrangement from the start point A.
【0082】次に、始筆屈曲点検出部307により以下
の条件を満たす制御点の中で前の制御点の出力ベクトル
と後ろの制御点の入力ベクトルの差が一番大きな輪郭点
を始筆屈曲点として求める。Next, Shihitsu bending point difference is largest contour point of the incoming Chikarabe vector control point of Chikarabe vector and back out of the front of the control points in the following conditions are satisfied control point by the detector 307 Is calculated as the bending point of the first stroke.
【0083】始筆屈曲点の条件は、処理中の構成要素の
Y軸高の中間より大きなY座標を持つ制御点を探す(S
21b)。その中の制御点を1つずつ取出す(S21
a)。そして、始点のY座標よりも小さいY座標を有す
る制御点を探す(S21c)。また、その中の制御点を
1つずつ取出す(S21a)。そして、始点のX座標よ
り大きいX座標を有する制御点を探す(S21d)。ま
たその中の制御点を1つずつ取出す(S21a)。その
Y座標が前の制御点より小さく後ろの制御点より大きな
制御点を探す(S21e)。また、その中の制御点を1
つずつ取出す(S21a)。処理中の制御点が輪郭デー
タの回り方向に対し右側に曲がっている制御点を探す
(S21f)。その中の制御点を1つずつ取出す(S2
1a)。なおかつ、前の制御点の出力ベクトルと後ろの
制御点の入力ベクトルの差が一番大きな輪郭点を探す
(S21c)。この制御点が始筆屈曲点となる(S21
g)。図16では制御点Bが始筆屈曲点となり、制御点
Bに始筆屈曲点情報202が付加される。The condition of the starting stroke point is to search for a control point having a Y coordinate larger than the middle of the Y-axis height of the component being processed (S
21b). The control points among them are taken out one by one (S21
a). Then, a control point having a Y coordinate smaller than the Y coordinate of the starting point is searched (S21c). In addition, the control points among them are taken out one by one (S21a). Then, a control point having an X coordinate larger than the X coordinate of the starting point is searched for (S21d). In addition, the control points among them are taken out one by one (S21a). A control point whose Y coordinate is smaller than the previous control point and larger than the rear control point is searched for (S21e). In addition, the control point in that is 1
Take out one by one (S21a). A control point in which the control point being processed is curved to the right with respect to the direction of the contour data is searched (S21f). Take out the control points one by one (S2
1a). Yet, the difference between the input Chikarabe vector of control points of Chikarabe vector and back out of the front of the control point is look for the largest contour points (S21c). This control point becomes the starting stroke point (S21).
g). In FIG. 16, the control point B becomes the starting stroke point, and the starting stroke point information 202 is added to the control point B.
【0084】上述のようにして始筆屈曲点となった制御
点の分割属性107に始筆屈曲点情報202が格納され
る(S22)。The starting-stroke inflection point information 202 is stored in the division attribute 107 of the control point which has become the initial-stroke inflection point as described above (S22).
【0085】次に、CPU40内のワーク用メモリ42
中の各種情報が付加された輪郭データから、骨格抽出部
41により骨格データが抽出される。この抽出手順につ
いて図18の図1の骨格抽出部41による骨格抽出手順
の第4例を示すフローチャートに従い説明する。Next, the work memory 42 in the CPU 40
The skeleton extracting unit 41 extracts the skeleton data from the contour data to which various kinds of information are added. This extraction procedure will be described with reference to a flowchart showing a fourth example of the skeleton extraction procedure by the skeleton extraction unit 41 in FIG. 1 shown in FIG.
【0086】骨格抽出手順の第4例では始筆関節を持つ
ことができる骨格情報を抽出することができる。In the fourth example of the skeleton extraction procedure, skeleton information capable of having a first stroke joint can be extracted.
【0087】まず、前述のようにして始筆屈曲点と判定
された図16の制御点Bを点P1として取出し(S23
a)、点P1の入力ベクトルの法線を反対側の輪郭デー
タにおろした交点に制御点P0を発生させる(S23
b)。そして、2つの制御点の中点に関節となる骨格点
K1をとる(S23c)。First, the control point B in FIG. 16 which is determined to be the first stroke bending point as described above is taken out as a point P1 (S23).
a) The control point P0 is generated at the intersection where the normal line of the input vector of the point P1 is set to the contour data on the opposite side (S23).
b). Then, the skeleton point K1 that serves as a joint is set at the midpoint between the two control points (S23c).
【0088】ここで、図16において制御点Bと終点F
間、点Fと制御点P0間の輪郭データ上を等分割する
(S23d)。分割数は入力部50で入力しCPU40
内に予め記憶させておくものとする。図16において、
点Bと点F間、点Fと点P0間をそれぞれ3分割したと
し、点P2、点P3、点P4および点P5を発生させ
る。始点Aを骨格点K0とし、点P1と点P0、点P2
と点P5、点P3と点P4とを結ぶ線分の中点をそれぞ
れ骨格点K1、K2およびK3とし、終点Fを骨格点K
4とし骨格点を求める(S23e)。なお、この骨格点
K1が始筆関節となる。Here, the control point B and the end point F in FIG.
Meanwhile, the contour data between the point F and the control point P0 is equally divided (S23d). The number of divisions is input by the input unit 50 and the CPU 40
It should be stored in advance. In FIG.
It is assumed that the points B and F and the points F and P0 are divided into three parts, and points P2, P3, P4 and P5 are generated. The starting point A is a skeleton point K0, and points P1, P0, and P2
Is the skeleton point K1, K2 and K3, respectively, and the end point F is the skeleton point K.
The skeleton point is determined as 4 (S23e). In addition, this skeleton point K1 becomes a starting stroke joint.
【0089】上述のようにして求められた骨格情報をC
PU40内のワーク用メモリ42の骨格データに格納す
る(S24)。以降の処理は前述した図7のS12〜S
15の処理と同様である。The skeleton information obtained as described above is C
The data is stored in the skeleton data of the work memory 42 in the PU 40 (S24). The subsequent processing is S12 to S of FIG.
It is similar to the process of 15.
【0090】次に、輪郭データの屈曲点情報をなくして
骨格データを抽出する手順について説明する。上述の第
1例ないし第4例の骨格抽出手順では屈曲点情報を付加
して骨格データを抽出するようにしていたが、輪郭デー
タの屈曲点情報をなくして骨格データを抽出すると、よ
り元の形状に近い骨格データを得ることができる。ここ
では、第7図のS21〜S24の手順により一度骨格デ
ータを抽出し、その後抽出された骨格データ中の屈曲点
情報を任意に除去して骨格データを抽出する手順を説明
する。図7のフローチャートを参照し、図16に示され
た文字パターン「ア」の第2画目の輪郭データ(形状は
「ノ」)に、S23で求められた骨格データから屈曲点
を除去して新たに骨格データを抽出する手順について説
明する。ここでは図7のS1〜S7、S21〜S24お
よびS12〜S15に関する処理は前述と同様であるの
でその説明は省略し、S31〜S36の骨格データ抽出
手順について説明する。Next, the procedure for extracting the skeleton data by eliminating the bending point information of the contour data will be described. In the skeleton extraction procedure of the first to fourth examples described above, the skeleton data is extracted by adding the bending point information, but if the skeleton data is extracted without the bending point information of the contour data, the original skeleton data is extracted. Skeleton data close to the shape can be obtained. Here, a procedure for extracting the skeleton data by once extracting the skeleton data by the procedure of S21 to S24 in FIG. 7 and then arbitrarily removing the bending point information in the extracted skeleton data will be described. Referring to the flowchart of FIG. 7, the bending points are removed from the skeleton data obtained in S23 in the contour data (the shape is “No”) of the second stroke of the character pattern “A” shown in FIG. A procedure for newly extracting skeleton data will be described. Since the processing relating to S1 to S7, S21 to S24, and S12 to S15 in FIG. 7 is the same as that described above, the description thereof will be omitted, and the skeleton data extraction procedure of S31 to S36 will be described.
【0091】ここでは、ワーク用メモリ42に分割属性
107に端点情報200が格納された輪郭データが取出
されている(S22)。また、骨格情報を持った骨格デ
ータも格納されている。Here, the contour data in which the end point information 200 is stored in the division attribute 107 is extracted from the work memory 42 (S22). Further, skeleton data having skeleton information is also stored.
【0092】まず、入力部50から予め取出された輪郭
データ上にある除去したい屈曲点情報が格納された分割
属性107(ここでは点Bに相当する)を持つ制御点コ
ード(たとえばB)を入力する(S31)。入力された
制御点コードは入力バッファ60に格納され(S3
2)、CPU40内のワーク用メモリ42に転送される
(S33)。First, a control point code (for example, B) having a division attribute 107 (corresponding to point B in this case) in which bending point information to be removed on the contour data extracted in advance from the input unit 50 is stored is input. Yes (S31). The input control point code is stored in the input buffer 60 (S3
2) is transferred to the work memory 42 in the CPU 40 (S33).
【0093】S22で予め取出された輪郭データよりS
31で入力された制御点コード104の分割属性107
に格納された屈曲点情報を屈曲点除去部31によって除
去する(S34)。すなわち、制御点Bの分割属性10
7に始筆屈曲点情報202が記憶されているが、屈曲点
除去部31によってこの始筆屈曲点情報202がクリア
されて分割属性107の内容はブランクとなる。する
と、制御点Bは通常の輪郭データ上の制御点と同じとな
り、関節を持たない従来の骨格データとして抽出される
ことになる。From the contour data extracted in advance in S22, S
The division attribute 107 of the control point code 104 input at 31
The bending point information stored in is removed by the bending point removing unit 31 (S34). That is, the division attribute 10 of the control point B
The starting-stroke bending point information 202 is stored in 7, but the starting-point bending point information 202 is cleared by the bending-point removing unit 31, and the content of the division attribute 107 becomes blank. Then, the control point B becomes the same as the control point on the normal contour data, and is extracted as the conventional skeleton data having no joint.
【0094】CPU40のワーク用メモリ42中の屈曲
点情報が除去された輪郭データから骨格抽出部41によ
り関節を持たない骨格データを以下のように抽出する
(S35)。The skeleton extracting unit 41 extracts skeleton data having no joint from the contour data in the work memory 42 of the CPU 40 from which the bending point information is removed (S35).
【0095】まず、図16の始点Aから終点F間と終点
Fから始点A間の輪郭データ上を等分割する。ここで
は、輪郭データ上を4分割したとする。始点Aから終点
F間にP1′、P2′、P3′、終点Fから始点A間に
P4′、P5′、P6′(図示せず)を発生させる。始
点Aを骨格点K0とし、点P1′と点P6′、点P2′
と点P5′、点P3′と点P4′とを結ぶ各線分の中点
を骨格点K1′、K2′、K3′(図示せず)とし、終
点Fを骨格点K4とし、各骨格点を求める。First, the contour data between the starting point A and the ending point F and between the ending point F and the starting point A in FIG. 16 are equally divided. Here, it is assumed that the contour data is divided into four. P1 ', P2', P3 'are generated between the start point A and the end point F, and P4', P5 ', P6' (not shown) are generated between the end point F and the start point A. The starting point A is a skeleton point K0, and points P1 ', P6', and P2 '
And the point P5 ', and the midpoints of the line segments connecting the points P3' and P4 'are skeleton points K1', K2 ', K3' (not shown), the end point F is the skeleton point K4, and each skeleton point is Ask.
【0096】上述のようにして求められた骨格点からな
る骨格情報をワーク用メモリ42の骨格データに格納す
る(S36)。以降の処理は、図7のS12に続く。The skeleton information composed of the skeleton points obtained as described above is stored in the skeleton data of the work memory 42 (S36). The subsequent process continues to S12 of FIG.
【0097】なお、図7のS31で、屈曲点情報が除去
されるべき制御点が選択されているが、選択の基準とし
ては、たとえばユーザが屈曲点情報が付加されている制
御点を任意にキーボードなどの入力部50を用いて選択
するようにしてもよい。Although the control point from which the bending point information should be removed is selected in S31 of FIG. 7, the user can arbitrarily select the control point to which the bending point information is added as the selection criterion. You may make it select using the input part 50, such as a keyboard.
【0098】次に、1つの文字パターンの各構成要素に
ついて骨格データを抽出する手順を異ならせるようにし
てもよい。つまり、図8に示す文字パターン「ア」の第
1画目の輪郭データ(形状は「フ」)に関節を持つ骨格
データを抽出する処理(図7のS1〜S11の処理)を
行なう。次に文字パターン「ア」の第2画目の輪郭デー
タ(形状は「ノ」)に始筆関節を持つより高品位な骨格
データを抽出する処理(S21〜S24)を行なう。つ
まり、文字パターン「ア」の第2画目の輪郭データにつ
いては始筆部分の筆の入りが含まれるので、始筆関節に
関する情報を持つより高品位な骨格データを抽出する方
が好ましい。Next, the procedure for extracting the skeleton data may be different for each constituent element of one character pattern. That is, the process (the process of S1 to S11 of FIG. 7) of extracting the skeleton data having the joint in the contour data (the shape is “F”) of the first stroke of the character pattern “A” shown in FIG. 8 is performed. Next, a process (S21 to S24) of extracting higher-quality skeleton data having the first stroke joint from the contour data (the shape is “No”) of the second stroke of the character pattern “A” is performed. In other words, since the outline data of the second stroke of the character pattern "A" includes the entry of the brush of the first stroke portion, it is preferable to extract higher-quality skeleton data having information about the first stroke joint.
【0099】なお、文字パターンの各構成要素について
その骨格情報を抽出する際に図7のS8〜S11および
S21〜S24のいずれの処理に分岐するかは、これか
ら生成する書体は始筆屈曲点を付加するか否かをユーザ
が任意に決め、その決定に基づいて処理するようにすれ
ばよい。When extracting the skeleton information of each constituent element of the character pattern, which of the processing steps S8 to S11 and S21 to S24 in FIG. The user may arbitrarily decide whether or not to perform it, and process based on the decision.
【図1】この発明の実施の形態による文字処理装置の機
能ブロック図である。FIG. 1 is a functional block diagram of a character processing device according to an embodiment of the present invention.
【図2】図1のフォント用メモリ10における文字パタ
ーンの輪郭データの構成例を示す図である。FIG. 2 is a diagram showing a configuration example of contour data of a character pattern in the font memory 10 of FIG.
【図3】図1のワーク用メモリ42に一時格納される抽
出した骨格データの構成例を示す図である。3 is a diagram showing a configuration example of extracted skeleton data temporarily stored in a work memory 42 in FIG.
【図4】図1の端点付加部20の構成例を示す図であ
る。FIG. 4 is a diagram showing a configuration example of an end point adding section 20 in FIG.
【図5】図1の屈曲点付加部30の構成例を示す図であ
る。5 is a diagram showing a configuration example of a bending point adding section 30 in FIG.
【図6】図1の骨格抽出部41の構成例を示す図であ
る。6 is a diagram showing a configuration example of a skeleton extraction unit 41 in FIG.
【図7】図1の文字処理装置の処理フローチャートであ
る。7 is a process flowchart of the character processing device of FIG.
【図8】図1のフォント用メモリ10内の文字パターン
の輪郭データの一例を説明する図である。8 is a diagram illustrating an example of contour data of a character pattern in the font memory 10 of FIG.
【図9】図1の端点付加部20の端点情報付加の処理フ
ローチャートである。9 is a processing flowchart for adding endpoint information by an endpoint adding unit 20 in FIG. 1. FIG.
【図10】図1の屈曲点付加部30の屈曲点情報付加の
処理フローチャートである。FIG. 10 is a processing flowchart for adding bending point information in the bending point adding section 30 of FIG.
【図11】この発明の実施の形態による点角度を説明す
るための図である。FIG. 11 is a diagram for explaining a point angle according to the embodiment of the present invention.
【図12】図1の骨格抽出部41による骨格抽出方法の
第1例を説明する図である。FIG. 12 is a diagram illustrating a first example of a skeleton extracting method by a skeleton extracting unit 41 of FIG. 1.
【図13】図1の骨格抽出部41の骨格抽出手順の第1
例を示すフローチャートである。13 is a first skeleton extraction procedure of a skeleton extraction unit 41 of FIG.
It is a flowchart which shows an example.
【図14】図1の骨格抽出部41による骨格抽出方法の
第2例を説明する図である。FIG. 14 is a diagram illustrating a second example of a skeleton extracting method by the skeleton extracting unit 41 of FIG. 1.
【図15】図1の骨格抽出部41の骨格抽出手順の第2
例を示すフローチャートである。15 is a second skeleton extraction procedure of the skeleton extraction unit 41 of FIG.
It is a flowchart which shows an example.
【図16】図1の骨格抽出部41による骨格抽出方法の
第3例を説明する図である。16 is a diagram illustrating a third example of a skeleton extracting method by the skeleton extracting unit 41 of FIG. 1.
【図17】図1の屈曲点付加部30による始筆屈曲点情
報付加の処理フローチャートである。FIG. 17 is a processing flowchart of adding the inflection point information of the first stroke by the inflection point adding section 30 of FIG. 1;
【図18】図1の骨格抽出部41による骨格抽出手順の
第4例を示すフローチャートである。FIG. 18 is a flowchart showing a fourth example of a skeleton extraction procedure by the skeleton extraction unit 41 of FIG. 1.
10 フォント用メモリ 20 端点付加部 30 屈曲点付加部 31 屈曲点除去部 40 CPU 41 骨格抽出部 42 ワーク用メモリ 50 入力部 107 分割属性 200 端点情報 201 屈曲点情報 202 始筆屈曲点情報 なお、各図中同一符号は同一または相当部分を示す。 Memory for 10 fonts 20 End point addition part 30 Bending point addition part 31 Bending point removal section 40 CPU 41 Skeleton extractor 42 Work memory 50 Input section 107 split attribute 200 End point information 201 Bending point information 202 Inflection point information In the drawings, the same reference numerals indicate the same or corresponding parts.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−166967(JP,A) 特開 平10−39851(JP,A) 特開 平6−131499(JP,A) 特開 平7−140958(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A 1-166967 (JP, A) JP-A 10-39851 (JP, A) JP-A 6-131499 (JP, A) JP-A 7- 140958 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) G09G 5/24
Claims (5)
として定められる曲線または直線により近似して表現し
た輪郭データに基づいて、文字を処理する文字処理装置
であって、 文字パターンの輪郭データを記憶するための記憶手段
と、 前記記憶手段から文字パターンの輪郭データを読出し、
文字パターンの構成要素ごとに、端点である制御点に端
点情報を付加するための端点情報付加手段と、 端点情報が付加された輪郭データの、文字パターンの輪
郭形状の屈曲部にあたる制御点に、屈曲点情報を付加す
るための屈曲点情報付加手段と、 端点情報と屈曲点情報とが付加された文字パターンの構
成要素ごとの輪郭データから文字パターンの骨格データ
を抽出するための骨格抽出手段と、 前記端点情報と、屈曲点情報と、骨格データとを、文字
パターンの骨格情報として出力するための出力手段とを
含む、文字処理装置。1. A character processing device for processing a character on the basis of contour data obtained by approximating a contour line of a character pattern by a curve or a straight line defined with reference to a control point, the contour data of the character pattern. Storage means for storing, and reading the contour data of the character pattern from the storage means,
For each constituent element of the character pattern, end point information adding means for adding end point information to the control point that is an end point, and the control point corresponding to the bent portion of the contour shape of the character pattern of the contour data with the end point information added, Bending point information adding means for adding the bending point information, and skeleton extracting means for extracting the skeleton data of the character pattern from the contour data of each constituent element of the character pattern to which the end point information and the bending point information are added, A character processing device, comprising: output means for outputting the end point information, the bending point information, and the skeleton data as skeleton information of a character pattern.
情報とが付加された文字パターンの構成要素ごとの輪郭
データから、関節を持つことができる骨格データを抽出
するための手段を含む、請求項1に記載の文字処理装
置。2. The skeleton extracting means includes means for extracting skeleton data capable of having a joint from contour data for each constituent element of a character pattern to which end point information and bending point information are added. The character processing device according to claim 1.
情報とが付加された文字パターンの構成要素ごとの輪郭
データから、半関節を持つことができる骨格データを抽
出するための手段を含む、請求項1に記載の文字処理装
置。3. The skeleton extracting means includes means for extracting skeleton data capable of having a half joint from the contour data of each constituent element of the character pattern to which the end point information and the bending point information are added. The character processing device according to claim 1.
ンの輪郭データ上の対象制御点が屈曲点であるか否か
を、前記対象制御点と次の制御点の入力ベクトルの差が
示す角度に基づいて判定するための判定手段と、 前記判定手段により屈曲点であると判定された制御点に
屈曲点情報を付加するための手段とを含む、請求項1か
ら3のいずれか1項に記載の文字処理装置。4. The bending point information adding means determines whether or not the target control point on the contour data of the character pattern is a bending point, by determining the difference between the input vector of the target control point and the input vector of the next control point.
Determination means for determining based on the shown angle formed, said and means for adding the inflection point information to the control point which is determined to be bending points by determining means, any one of claims 1 to 3 The character processing device according to item 1.
屈曲点情報除去手段をさらに含む、請求項1から4のい
ずれか1項に記載の文字処理装置。5. further comprising a bending point information removing means for removing the added bending point information, claims 1 to 4 Neu
The character processing device according to item 1 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17231396A JP3444726B2 (en) | 1996-07-02 | 1996-07-02 | Character processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17231396A JP3444726B2 (en) | 1996-07-02 | 1996-07-02 | Character processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1020846A JPH1020846A (en) | 1998-01-23 |
JP3444726B2 true JP3444726B2 (en) | 2003-09-08 |
Family
ID=15939607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17231396A Expired - Fee Related JP3444726B2 (en) | 1996-07-02 | 1996-07-02 | Character processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3444726B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156500A (en) * | 1999-02-01 | 2007-06-21 | Sharp Corp | Character display apparatus |
JP3490703B2 (en) * | 2001-03-23 | 2004-01-26 | ライズ株式会社 | Character processing method based on outline font information and computer-readable recording medium storing computer program for causing a computer system to execute the method |
-
1996
- 1996-07-02 JP JP17231396A patent/JP3444726B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1020846A (en) | 1998-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09134157A (en) | Hinting method and font file constituting method | |
CN112784531B (en) | Chinese character form and character library generation method based on deep learning and component splicing | |
US5524198A (en) | Character or graphic processing method and apparatus | |
JP3021278B2 (en) | Apparatus for generating uniform width line and method for generating uniform width line | |
JP3437037B2 (en) | Character pattern generator | |
US6266444B1 (en) | Character processing apparatus and method therefor | |
KR100376196B1 (en) | Outline smoothing method and system | |
US5917501A (en) | Method of cutting outline fonts into strokes and parts | |
JP3444726B2 (en) | Character processor | |
JPH09258712A (en) | Character pattern forming device | |
JP2845269B2 (en) | Figure shaping apparatus and figure shaping method | |
JP3149221B2 (en) | Image processing device | |
JP2718391B2 (en) | Line-symmetric figure shaping device | |
JP3172498B2 (en) | Image recognition feature value extraction method and apparatus, storage medium for storing image analysis program | |
JP3344538B2 (en) | Character generator | |
JP3034140B2 (en) | Character generation method and device | |
JPH11109943A (en) | Font processor and recording medium recorded with font processing program | |
JPH10149438A (en) | Axially symmetric graphic shaping device | |
JPH05303644A (en) | Grahic recognition method for picture processor | |
JP2894305B2 (en) | Recognition device candidate correction method | |
JP2882327B2 (en) | Line figure matching device | |
JPH1049670A (en) | Method for processing picture | |
JPH0736433A (en) | Character data base preparing device | |
JP2749858B2 (en) | Character processor | |
Trigo et al. | Interactive region matching for 2D animation coloring based on feature's variation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030610 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |