JPH04125590A - 文字パターン情報変換方法および装置 - Google Patents
文字パターン情報変換方法および装置Info
- Publication number
- JPH04125590A JPH04125590A JP2244064A JP24406490A JPH04125590A JP H04125590 A JPH04125590 A JP H04125590A JP 2244064 A JP2244064 A JP 2244064A JP 24406490 A JP24406490 A JP 24406490A JP H04125590 A JPH04125590 A JP H04125590A
- Authority
- JP
- Japan
- Prior art keywords
- information
- character
- stroke
- curve
- contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、計算機による文字パターン情報の生成に係り
、ストローク単位の輪郭情報から文字単位の輪郭情報に
変換する方法に関する。また、この変換方法を用いた文
字パターンの変換装置に関する。更に、上記の文字変換
方法を用いた文書出力装置に関する。
、ストローク単位の輪郭情報から文字単位の輪郭情報に
変換する方法に関する。また、この変換方法を用いた文
字パターンの変換装置に関する。更に、上記の文字変換
方法を用いた文書出力装置に関する。
文字単位の輪郭情報を保持して文字パターンを出力する
方法はアウトライン文字方式あるいはベクトル文字方式
と呼ばれ、最近注目され標準化しつつある方法である。
方法はアウトライン文字方式あるいはベクトル文字方式
と呼ばれ、最近注目され標準化しつつある方法である。
この方法によると、従来のドツトの行列として文字パタ
ーンを保持する方法に対して、サイズや傾きの変換が可
能なために、1種類のパターンのセットを用意すれば種
々のサイズの出力に用いられる効果がある。この輪郭曲
線の表現方法としては、直線といわゆるベジェ曲線の系
列による方法が標準的である。ベジェ曲線とは、従来、
車の形状などのコンピュータ支援設計技術であるCAD
の分野で曲面に対して用いられていた形状表現であるが
、文字パターンに対してはこれの曲線表現を用いる。こ
れは、3または4点の制御点によってベジェ曲線素を定
義するものであり、この3または4点のうち2点が、定
義される曲線素の両端点であるが、他の1または2点は
一般に曲線上にない点である。このベジェ曲線及びその
サイズと回転変換法については、例えば、「ページ記述
言語PO5TSCRIPTリファレンス・マニュアルJ
(Adobe 5ystea+s著、松村訳、アスキ
ー出版局、1988年、原著は1985年発行)に示さ
れている。また、文字パターンをアウトライン情報で表
現する、より古い例として、アイ・イー・イー・イー発
行の雑誌コンピュータの1984年5月号の第40頁か
ら48頁(COMPIJTER,May 1984.
pp、40−48. IEEE) にJ。
ーンを保持する方法に対して、サイズや傾きの変換が可
能なために、1種類のパターンのセットを用意すれば種
々のサイズの出力に用いられる効果がある。この輪郭曲
線の表現方法としては、直線といわゆるベジェ曲線の系
列による方法が標準的である。ベジェ曲線とは、従来、
車の形状などのコンピュータ支援設計技術であるCAD
の分野で曲面に対して用いられていた形状表現であるが
、文字パターンに対してはこれの曲線表現を用いる。こ
れは、3または4点の制御点によってベジェ曲線素を定
義するものであり、この3または4点のうち2点が、定
義される曲線素の両端点であるが、他の1または2点は
一般に曲線上にない点である。このベジェ曲線及びその
サイズと回転変換法については、例えば、「ページ記述
言語PO5TSCRIPTリファレンス・マニュアルJ
(Adobe 5ystea+s著、松村訳、アスキ
ー出版局、1988年、原著は1985年発行)に示さ
れている。また、文字パターンをアウトライン情報で表
現する、より古い例として、アイ・イー・イー・イー発
行の雑誌コンピュータの1984年5月号の第40頁か
ら48頁(COMPIJTER,May 1984.
pp、40−48. IEEE) にJ。
Flowersによって示されている。アウトライン文
字パターンは、1文字の文字パターンを1つの図形と考
えて、その輪郭線で表現するものであり。
字パターンは、1文字の文字パターンを1つの図形と考
えて、その輪郭線で表現するものであり。
この輪郭には、外輪郭と内輪郭との2種類がある。
アウトライン文字方式による文字パターン表現を、ここ
では、単に、文字輪郭表現ということにスル。
では、単に、文字輪郭表現ということにスル。
この文字輪郭表現を得る手段としては、予め紙上に描い
た文字パターンを読み取ってその文字輪郭を生成する方
法が有るが、この場合、太さなどの形状の変形が困難で
あるという問題を持つ。つまり、同一のサイズで太さの
異なる文字パターンを生成したり、サイズの拡大率より
も大きい太さ拡大率を実現したりすることは困難である
。
た文字パターンを読み取ってその文字輪郭を生成する方
法が有るが、この場合、太さなどの形状の変形が困難で
あるという問題を持つ。つまり、同一のサイズで太さの
異なる文字パターンを生成したり、サイズの拡大率より
も大きい太さ拡大率を実現したりすることは困難である
。
ところで、ストロークの骨格情報と形状データによって
任意の太さの文字パターンを生成する方式が特願昭62
−104246に示されており、その中に。
任意の太さの文字パターンを生成する方式が特願昭62
−104246に示されており、その中に。
骨格情報から文字パターンを生成する過程で、目的の太
さや端辺形状のストローク単位の輪郭情報が得られるこ
とが記されている。この方式を骨格ベクトル方式といい
、この方式で表現される文字表現を骨格ベクトル文字と
いう。この方法で直線とベジェ曲線との系列より成るス
トローク輪郭曲線が得られる。情報処理学会発行の論文
誌の平成元年第9号の1111頁から1118頁に、骨
格ベクトル文字情報から、太さなどを制御して生成した
直線形式のストローク輪郭表現から、直線形式の文字輪
郭表現を生成する方法が示されている。
さや端辺形状のストローク単位の輪郭情報が得られるこ
とが記されている。この方式を骨格ベクトル方式といい
、この方式で表現される文字表現を骨格ベクトル文字と
いう。この方法で直線とベジェ曲線との系列より成るス
トローク輪郭曲線が得られる。情報処理学会発行の論文
誌の平成元年第9号の1111頁から1118頁に、骨
格ベクトル文字情報から、太さなどを制御して生成した
直線形式のストローク輪郭表現から、直線形式の文字輪
郭表現を生成する方法が示されている。
アウトライン文字パターンは太さの変形が困難であると
いう問題を持つ。これに応える方法として考えられた前
記従来技術は、直線のみから成るストローク輪郭情報か
ら文字輪郭情報に変換するものであり、これによって太
さ等の変形の実現は可能と成るが、輪郭曲線の品質が落
ちるという問題を持つ。
いう問題を持つ。これに応える方法として考えられた前
記従来技術は、直線のみから成るストローク輪郭情報か
ら文字輪郭情報に変換するものであり、これによって太
さ等の変形の実現は可能と成るが、輪郭曲線の品質が落
ちるという問題を持つ。
本発明の第1の目的は、上のように太さ等の形状の制御
の可能なストローク単位の輪郭情報を変換の元になるデ
ータとして採用して、所望の太さ等のストローク形状を
持った文字輪郭情報を得ることが可能であるような文字
パターン情報の変換方法を提供し、かつ、変換元と変換
先の輪郭情報を上記制御点による曲線で表現したものし
て、標準的で高品質の文字表現を与えられる上記変換方
法を実現することである。
の可能なストローク単位の輪郭情報を変換の元になるデ
ータとして採用して、所望の太さ等のストローク形状を
持った文字輪郭情報を得ることが可能であるような文字
パターン情報の変換方法を提供し、かつ、変換元と変換
先の輪郭情報を上記制御点による曲線で表現したものし
て、標準的で高品質の文字表現を与えられる上記変換方
法を実現することである。
本発明の第2の目的は、さらに、変換元と変換先の輪郭
情報を直線とベジェ曲線とで表現したものして、標準的
で高品質の文字表現を与えられる上記変換方法を実現す
ることである。
情報を直線とベジェ曲線とで表現したものして、標準的
で高品質の文字表現を与えられる上記変換方法を実現す
ることである。
本発明の第3の目的は、ストローク単位の骨格情報から
目的の形状のストローク情報を生成した上で、それに対
応する文字輪郭情報を生成することにより、種々の形状
の文字輪郭情報が得られる上記変換方法を実現すること
である。
目的の形状のストローク情報を生成した上で、それに対
応する文字輪郭情報を生成することにより、種々の形状
の文字輪郭情報が得られる上記変換方法を実現すること
である。
本発明の第4の目的は、変換元のストローク単位の輪郭
情報あるいは骨格情報を−揃いの文字セットについて保
持しそれらに上記の変換を施して一式の文字輪郭情報を
生成保存し得る文字パターン情報変換装置を提供するこ
とである。
情報あるいは骨格情報を−揃いの文字セットについて保
持しそれらに上記の変換を施して一式の文字輪郭情報を
生成保存し得る文字パターン情報変換装置を提供するこ
とである。
更に、本発明の第5の目的は、与えられた文字列の各文
字について上記の変換を適用し、変換結果として得られ
た文字輪郭情報を用いて目的の太さの文字パターン列を
プリンターあるいはディスプレイに出力できるような文
書出力装置を提供することである。
字について上記の変換を適用し、変換結果として得られ
た文字輪郭情報を用いて目的の太さの文字パターン列を
プリンターあるいはディスプレイに出力できるような文
書出力装置を提供することである。
〔課題を解決するための手段〕
上記第1の目的を達成するために、目的の太さその他の
形状を持った文字パターンを構成するストローク単位の
輪郭図形を表すストローク輪郭情報を保持し、異なるス
トローク輪郭の間の交点座標を計算し、それらの情報を
ベースに外輪郭線と内輪郭線情報を算出し、よって文字
単位の輪郭情報を与える文字輪郭情報を生成する。ここ
で、ストローク輪郭情報及び文字輪郭情報を、複数の制
御点で定義される部分的線素の系列として保持し、変換
過程で得られる外輪郭及び内輪郭を、やはり同形式の曲
線素の系列として定義するための制御点列を求めて表現
する。
形状を持った文字パターンを構成するストローク単位の
輪郭図形を表すストローク輪郭情報を保持し、異なるス
トローク輪郭の間の交点座標を計算し、それらの情報を
ベースに外輪郭線と内輪郭線情報を算出し、よって文字
単位の輪郭情報を与える文字輪郭情報を生成する。ここ
で、ストローク輪郭情報及び文字輪郭情報を、複数の制
御点で定義される部分的線素の系列として保持し、変換
過程で得られる外輪郭及び内輪郭を、やはり同形式の曲
線素の系列として定義するための制御点列を求めて表現
する。
上記第2の目的を達成するために、ストローク輪郭情報
及び文字輪郭情報を、線分とベジェ曲線との系列として
保持し、変換過程で得られる外輪郭及び内輪郭をこの線
分とベジェ曲線の系列である表現形式で表現する。
及び文字輪郭情報を、線分とベジェ曲線との系列として
保持し、変換過程で得られる外輪郭及び内輪郭をこの線
分とベジェ曲線の系列である表現形式で表現する。
上記第3の目的を達成するために、ストローク単位の骨
格情報と太さ等の形状データを含む骨格文字表現と、骨
格文字表現より該文字のストローク輪郭情報を生成する
。
格情報と太さ等の形状データを含む骨格文字表現と、骨
格文字表現より該文字のストローク輪郭情報を生成する
。
上記第4の目的を達成するために、目的の太さを持った
文字パターンを構成するストローク単位の輪郭図形を表
すストローク輪郭情報を複数文字のセットに関して保持
する手段を用いる。
文字パターンを構成するストローク単位の輪郭図形を表
すストローク輪郭情報を複数文字のセットに関して保持
する手段を用いる。
上記第5の目的を達成するために1文字輪郭情報によっ
て表現された文字パターンを印字、表示することの可能
なプリンター及びディスプレイ装置、及び、与えられた
文字コード列から各文字のストローク輪郭情報を取り出
して上記の変換を施す手段を用いる。
て表現された文字パターンを印字、表示することの可能
なプリンター及びディスプレイ装置、及び、与えられた
文字コード列から各文字のストローク輪郭情報を取り出
して上記の変換を施す手段を用いる。
太さや端辺形状を調節したストローク輪郭情報は骨格ベ
クトル文字などより得られる。この各ストロークの輪郭
線の交点は、輪郭線が曲線で与えられている場合にも近
似的に求められる。文字輪郭情報のうち、外輪郭曲線は
、ストローク輪郭を生成するのに必要な点の内、最大ま
たは最小値を起点としてトレースし、分岐点があった場
合、ベクトルの外積をとって符号を判定してトレース方
向を決定することにより生成できる。一方、内輪郭情報
は、既に抽出された外輪郭線の一部を含まない閉図形を
認識し、その閉図形がストロークの内部に含まれている
か否かを判定し、含まれていない場合を内輪郭情報とす
ることにより生成可能である。この結果を変換先の文字
輪郭情報で表すには、曲線種別など該文字輪郭情報の形
式によって表現する手段を用いる。この際、変換元の当
該部公的線素を定義する制御点と、上記のストローク輪
郭線の関連する交点とから、変換先の部分的線素を定義
する制御点を求める。特に、ベジェ曲線で輪郭情報を表
現する場合には、上記変換過程で得られた内輪郭あるい
は外輪郭上の点と、元のストローク輪郭情報における曲
線情報とから、曲線情報と座標点列とからなる変換結果
の文字輪郭情報を表現する部分ヘジ二曲線生成を含む方
法を用いる。
クトル文字などより得られる。この各ストロークの輪郭
線の交点は、輪郭線が曲線で与えられている場合にも近
似的に求められる。文字輪郭情報のうち、外輪郭曲線は
、ストローク輪郭を生成するのに必要な点の内、最大ま
たは最小値を起点としてトレースし、分岐点があった場
合、ベクトルの外積をとって符号を判定してトレース方
向を決定することにより生成できる。一方、内輪郭情報
は、既に抽出された外輪郭線の一部を含まない閉図形を
認識し、その閉図形がストロークの内部に含まれている
か否かを判定し、含まれていない場合を内輪郭情報とす
ることにより生成可能である。この結果を変換先の文字
輪郭情報で表すには、曲線種別など該文字輪郭情報の形
式によって表現する手段を用いる。この際、変換元の当
該部公的線素を定義する制御点と、上記のストローク輪
郭線の関連する交点とから、変換先の部分的線素を定義
する制御点を求める。特に、ベジェ曲線で輪郭情報を表
現する場合には、上記変換過程で得られた内輪郭あるい
は外輪郭上の点と、元のストローク輪郭情報における曲
線情報とから、曲線情報と座標点列とからなる変換結果
の文字輪郭情報を表現する部分ヘジ二曲線生成を含む方
法を用いる。
ストローク輪郭情報の保持手段は一式の文字セットに対
する該情報の保持に用い、文字列の表示出力時に必要な
文字輪郭情報の変換作成時の元情報となる。ストローク
の骨格情報と形状データとそれに基づく文字輪郭情報の
生成手段は、直線とベジェ曲線とから成るストローク輪
郭情報を変換生成する手段を提供する。文字輪郭情報の
保持手段は変換結果の文字輪郭情報の一式を保持し、文
字列の表示出力時に必要な文字輪郭情報を提供する。
する該情報の保持に用い、文字列の表示出力時に必要な
文字輪郭情報の変換作成時の元情報となる。ストローク
の骨格情報と形状データとそれに基づく文字輪郭情報の
生成手段は、直線とベジェ曲線とから成るストローク輪
郭情報を変換生成する手段を提供する。文字輪郭情報の
保持手段は変換結果の文字輪郭情報の一式を保持し、文
字列の表示出力時に必要な文字輪郭情報を提供する。
第1図は、本発明におけるストローク単位の輪郭データ
であるストローク輪郭情報から文字単位の輪郭データで
ある文字輪郭情報への変換までの概略の手順を示すフロ
ーチャートである。以下、本図をフローチャートの各処
理ステップに付した符号に従って説、明する。
であるストローク輪郭情報から文字単位の輪郭データで
ある文字輪郭情報への変換までの概略の手順を示すフロ
ーチャートである。以下、本図をフローチャートの各処
理ステップに付した符号に従って説、明する。
処理11:指定された文字に対するストローク輪郭情報
を、それらを文字ごとに収容しているストローク輪郭辞
書から読み込む。1文字のストローク輪郭情報はその文
字を構成するストロークの個数分のストローク輪郭情報
を含む。単一のストロークのストローク輪郭情報はその
ストロークの輪郭部分曲線を表す輪郭部分情報の列であ
る。この輪郭部分情報は、輪郭曲線を生成するための制
御点の列と曲線の種別とから成る。
を、それらを文字ごとに収容しているストローク輪郭辞
書から読み込む。1文字のストローク輪郭情報はその文
字を構成するストロークの個数分のストローク輪郭情報
を含む。単一のストロークのストローク輪郭情報はその
ストロークの輪郭部分曲線を表す輪郭部分情報の列であ
る。この輪郭部分情報は、輪郭曲線を生成するための制
御点の列と曲線の種別とから成る。
処理12:処理11で読み込んだ情報から、その文字を
構成するストロークの輪郭の交点を求め。
構成するストロークの輪郭の交点を求め。
メモリ上に格納する。この時、交点を有する複数のスト
ローク群をグループとして記憶する。もちろん、文字に
よってグループの数は異なる。また、文字二″のように
交点がない場合は、各々のエレメントの頂点座標列をそ
のまま外輪郭線情報とし、以下の13から15の処理は
スキップする。
ローク群をグループとして記憶する。もちろん、文字に
よってグループの数は異なる。また、文字二″のように
交点がない場合は、各々のエレメントの頂点座標列をそ
のまま外輪郭線情報とし、以下の13から15の処理は
スキップする。
処理13:同一グループ内で、ストロークの輪郭部分情
報と既にもとめた交点座標とから、互いに接触または交
差する複数ストロークを併せた図形の外輪郭線を定義す
る外輪郭線情報を生成する。
報と既にもとめた交点座標とから、互いに接触または交
差する複数ストロークを併せた図形の外輪郭線を定義す
る外輪郭線情報を生成する。
この外輪郭線情報の形式は、ストローク輪郭線情報の形
式と同じである。
式と同じである。
処理14:同一グループ内で、ストロークの輪郭部分情
報と既にもとめた交点座標とから、互いに接触または交
差する複数ストロークを併せた図形の内輪郭線を定義す
る内輪郭線情報を生成する。
報と既にもとめた交点座標とから、互いに接触または交
差する複数ストロークを併せた図形の内輪郭線を定義す
る内輪郭線情報を生成する。
この内輪郭線情報の形式は、ストローク輪郭線情報の形
式と同しである。
式と同しである。
処理15:処理13および14を上で求めた各グループ
について実行するための繰り返し判定処理である。
について実行するための繰り返し判定処理である。
処理16:処理16は処理13および処理14から呼び
だされる処理であり、4点01,02゜03、および、
04を制御点とする後述のベジェ曲線の2点01と04
とを端点とする曲線セグメントにおける交点の分割比を
求め、これと同し比率で制御点間の分割を行ない、この
分割点を新たな制御点とする部分ベジェ曲線を求める。
だされる処理であり、4点01,02゜03、および、
04を制御点とする後述のベジェ曲線の2点01と04
とを端点とする曲線セグメントにおける交点の分割比を
求め、これと同し比率で制御点間の分割を行ない、この
分割点を新たな制御点とする部分ベジェ曲線を求める。
部分ベジェ曲線というのは、これが元のベジェ曲線の一
部分となっているためである。
部分となっているためである。
以上の処理により、文字輪郭情報として必要な外輪郭線
情報と内輪郭線情報が生成できる。
情報と内輪郭線情報が生成できる。
ここで第2図を用いて、パ日″という文字を例として、
上の変換過程を説明する。
上の変換過程を説明する。
第2図(A)は、″日″という文字を構成する2個の縦
線ストローク20と22.3個の横線ストローク21.
23.24を示す。この図において、符号25などの白
丸印はストロークの部分輪郭情報の端点となる制御点で
ある。
線ストローク20と22.3個の横線ストローク21.
23.24を示す。この図において、符号25などの白
丸印はストロークの部分輪郭情報の端点となる制御点で
ある。
第2図(B)は、(A)の各ストロークを組み合わせて
゛′日″という字を表現した図である。符号26などの
白丸印は、ストロークの部分輪郭線の端点が重なった点
を表し、符号27などの黒丸印は、この場合以外のスト
ロークの輪郭線同志の交点である。
゛′日″という字を表現した図である。符号26などの
白丸印は、ストロークの部分輪郭線の端点が重なった点
を表し、符号27などの黒丸印は、この場合以外のスト
ロークの輪郭線同志の交点である。
第2図(C)が、第1図の変換処理の結果として得られ
る文字輪郭情報で、これは外輪郭線情報28と内輪郭線
情報29で構成される。
る文字輪郭情報で、これは外輪郭線情報28と内輪郭線
情報29で構成される。
以上の処理により生成された文字輪郭情報から。
ドツトイメージに変換するには、外輪郭線情報の表す外
輪郭線で囲まれた内側をオンドツトで塗り潰し1次に、
−度塗りつぶされた領域の内、内輪郭線情報の表す内輪
郭線で囲まれた内側をオフドツトで塗りつぶし前の状態
に戻すことによる。これにより必要な部分のみを塗りつ
ぶしたドツト文字が完成する。なお、別の塗りつぶし方
法として、外輪郭線と内輪郭線を区別しないで、塗りつ
ぶす方法も可能であるが、外輪郭線と内輪郭線を区別し
た方が、高速に塗りつぶすことが可能である。
輪郭線で囲まれた内側をオンドツトで塗り潰し1次に、
−度塗りつぶされた領域の内、内輪郭線情報の表す内輪
郭線で囲まれた内側をオフドツトで塗りつぶし前の状態
に戻すことによる。これにより必要な部分のみを塗りつ
ぶしたドツト文字が完成する。なお、別の塗りつぶし方
法として、外輪郭線と内輪郭線を区別しないで、塗りつ
ぶす方法も可能であるが、外輪郭線と内輪郭線を区別し
た方が、高速に塗りつぶすことが可能である。
次に第3図を用いて第1図の処理12に示した外輪郭線
情報を取得する方法について詳細に説明する。この図で
、白丸印と黒丸印の意味は前の通りである。点A、B、
E、Lで構成されるストローク(符号31)と点り、F
、N、Jで構成されるストローク(符号32)が重なり
あって複数の交点を有する場合である。なお、第3図で
は、説明を簡単にするために、2つのストロークが交点
を有する場合の例を示したが、2つ以上のストロークが
重なりあった場合も同様である。先ず、白丸印の点(頂
点と呼ぶ)および黒丸印の点く交点と呼ぶ)の中で、例
えば、最も右下に位置する点Aを起点として抽出する。
情報を取得する方法について詳細に説明する。この図で
、白丸印と黒丸印の意味は前の通りである。点A、B、
E、Lで構成されるストローク(符号31)と点り、F
、N、Jで構成されるストローク(符号32)が重なり
あって複数の交点を有する場合である。なお、第3図で
は、説明を簡単にするために、2つのストロークが交点
を有する場合の例を示したが、2つ以上のストロークが
重なりあった場合も同様である。先ず、白丸印の点(頂
点と呼ぶ)および黒丸印の点く交点と呼ぶ)の中で、例
えば、最も右下に位置する点Aを起点として抽出する。
点Aより反時計方向に輪郭に沿ってトレースする。最初
の点Bは、交点ではないので部分ABが外輪郭線情報の
一部として確定する。点Bから接続されている点はCだ
けであるので線分BCも外輪郭線情報の一部として確定
する。次に点Cからは、3つの方向(点り。
の点Bは、交点ではないので部分ABが外輪郭線情報の
一部として確定する。点Bから接続されている点はCだ
けであるので線分BCも外輪郭線情報の一部として確定
する。次に点Cからは、3つの方向(点り。
E、Fの方向)に分岐しているので、どの方向に分岐す
るかを決定する必要がある。外輪郭線をトレースしてい
るのであるから、一番外側の点Fに分岐する必要がある
。この点Fの選択は、ベクトルの外積をとりその符号を
判定することにより可能である。つまり、破線の矢印で
示したベクトルBCとベクトルBD、ベクトルBCとベ
クトルBE、ベクトルBCとベクトルBFの各々の外積
をとると、その符号は、それぞれ、負、ゼロ、正となる
。第3図のように、外輪郭線を反時計方向にトレースす
る場合は、まず、符号が負のベクトルを捜し、それがな
ければ、ゼロ、正の順でベクトルを捜していく。第3図
では、ベクトルBFが選択され、点Cから点Fに進むこ
とになる。なお、ベクトルの外積をとった結果、同一符
号のベクトルが複数ある場合は、各ベクトルの単位ベク
トルの内積をとり、その値の一番大きなベクトルを選択
する。以上の操作を起点に戻るまで繰り返して行うこと
により、トレースした順序で頂点と交点座標列からなる
外輪郭線情報が得られる。
るかを決定する必要がある。外輪郭線をトレースしてい
るのであるから、一番外側の点Fに分岐する必要がある
。この点Fの選択は、ベクトルの外積をとりその符号を
判定することにより可能である。つまり、破線の矢印で
示したベクトルBCとベクトルBD、ベクトルBCとベ
クトルBE、ベクトルBCとベクトルBFの各々の外積
をとると、その符号は、それぞれ、負、ゼロ、正となる
。第3図のように、外輪郭線を反時計方向にトレースす
る場合は、まず、符号が負のベクトルを捜し、それがな
ければ、ゼロ、正の順でベクトルを捜していく。第3図
では、ベクトルBFが選択され、点Cから点Fに進むこ
とになる。なお、ベクトルの外積をとった結果、同一符
号のベクトルが複数ある場合は、各ベクトルの単位ベク
トルの内積をとり、その値の一番大きなベクトルを選択
する。以上の操作を起点に戻るまで繰り返して行うこと
により、トレースした順序で頂点と交点座標列からなる
外輪郭線情報が得られる。
次に、第4図の例を用いて第1図の処理14で示した内
輪郭線情報の求め方を説明する。なお、第4図は、説明
を簡単にするために1つの内輪郭線を有する場合の例と
した。処理の概略は、すでに求めた外輪郭線の線分を含
まない最小の閉図形を全て求め、それらの閉図形が同一
グループのいずれのストロークの内側にもない場合、そ
の閉図形を構成する頂点および交点座標列を内輪郭線情
報とすることである。以下、これを詳細に説明する。
輪郭線情報の求め方を説明する。なお、第4図は、説明
を簡単にするために1つの内輪郭線を有する場合の例と
した。処理の概略は、すでに求めた外輪郭線の線分を含
まない最小の閉図形を全て求め、それらの閉図形が同一
グループのいずれのストロークの内側にもない場合、そ
の閉図形を構成する頂点および交点座標列を内輪郭線情
報とすることである。以下、これを詳細に説明する。
第4図において、外輪郭線情報の座標列として、第3図
に示した方法により、以下の点列が既に選択されている
。
に示した方法により、以下の点列が既に選択されている
。
B3.B2.Y3.Y2.A3.A2.Al。
A4.Xi、X4.Bl、B4.B3
これらの点列で構成される線分を含まない最小の閉図形
は以下の通りである。
は以下の通りである。
閉図形H:X2.C2,C1,Xi、X2閉図形に:
X3.X4.C4,C3,X3閉図形L:X2.X3.
Y4.Yl、X2閉図形M:Yl、Y2.D2.Di、
Yl閉図形Q:Y4.D4.D3.Y3.Y4ストロー
クの頂点列は以下の通りである。
X3.X4.C4,C3,X3閉図形L:X2.X3.
Y4.Yl、X2閉図形M:Yl、Y2.D2.Di、
Yl閉図形Q:Y4.D4.D3.Y3.Y4ストロー
クの頂点列は以下の通りである。
ストロークc :A1.A2.A3.A4ストロークd
: C1,C2,C3,C4ストロークe :Dl、
D2.D3.D4ストロークf:B1.B2.B3.B
4これらの閉図形のうち、閉図形Hは、ストロークc
(44)とストロークd(45)に、閉図形には、スト
ロークdとストロークf(47)に、閉図形Mは、スト
ロークCとストロークe(46)に、閉図形Qは、スト
ロークeとストロークfにそれぞれ含まれる。結果とし
て、閉図形りかどのストロークにも含まれないので、内
輪郭線を表わす閉図形となる。なお、内輪郭線を持たな
い文字もある。
: C1,C2,C3,C4ストロークe :Dl、
D2.D3.D4ストロークf:B1.B2.B3.B
4これらの閉図形のうち、閉図形Hは、ストロークc
(44)とストロークd(45)に、閉図形には、スト
ロークdとストロークf(47)に、閉図形Mは、スト
ロークCとストロークe(46)に、閉図形Qは、スト
ロークeとストロークfにそれぞれ含まれる。結果とし
て、閉図形りかどのストロークにも含まれないので、内
輪郭線を表わす閉図形となる。なお、内輪郭線を持たな
い文字もある。
以上の処理を行うことにより、ストローク輪郭情報から
文字輪郭情報として必要な情報である外輪郭線情報と内
輪郭線情報を取得てきたことになる。
文字輪郭情報として必要な情報である外輪郭線情報と内
輪郭線情報を取得てきたことになる。
さて、上の説明では、処理の流れを理解するために、前
掲の情報処理学会論文誌掲載の論文に従いつつ、ストロ
ークの輪郭線が直線として表現された簡単な例をとりあ
げたが、実際には直線とベジェ曲線とを組み合わせた輪
郭線表現が標準化しつつある。そこでこの曲線表現につ
いても第1図の流れによって、上記の変換が可能であれ
ばその効果が大である。この曲線の場合も、同様な処理
で外輪郭線および内輪郭線情報を求めることを可能とす
る手段を以下に示す。
掲の情報処理学会論文誌掲載の論文に従いつつ、ストロ
ークの輪郭線が直線として表現された簡単な例をとりあ
げたが、実際には直線とベジェ曲線とを組み合わせた輪
郭線表現が標準化しつつある。そこでこの曲線表現につ
いても第1図の流れによって、上記の変換が可能であれ
ばその効果が大である。この曲線の場合も、同様な処理
で外輪郭線および内輪郭線情報を求めることを可能とす
る手段を以下に示す。
この変換法の説明の前に輪郭曲線情報の表現法を第8図
に示す。1文字のストローク輪郭情報と文字輪郭情報は
ともに文字を構成する図形の輪郭情報の系列として第8
図1)のように表現される。
に示す。1文字のストローク輪郭情報と文字輪郭情報は
ともに文字を構成する図形の輪郭情報の系列として第8
図1)のように表現される。
このうち、符号80は、当該文字を構成する図形の個数
を示し、符号81は、個々の図形の輪郭情報の列を示す
。各図形輪郭情報の形式は、第8図2)のように、内輪
郭線か外輪郭線かの区別を表す情報と、図形輪郭情報を
構成する部分輪郭情報の個数を表す情報と、その個数分
の部分輪郭情報列との系列である。内輪郭線か外輪郭線
かの区別を表す情報は、ストローク輪郭情報の場合には
、内輪郭■がセットされ、文字輪郭情報の場合には、そ
の図形輪郭情報によっていずれかの値がセットされる。
を示し、符号81は、個々の図形の輪郭情報の列を示す
。各図形輪郭情報の形式は、第8図2)のように、内輪
郭線か外輪郭線かの区別を表す情報と、図形輪郭情報を
構成する部分輪郭情報の個数を表す情報と、その個数分
の部分輪郭情報列との系列である。内輪郭線か外輪郭線
かの区別を表す情報は、ストローク輪郭情報の場合には
、内輪郭■がセットされ、文字輪郭情報の場合には、そ
の図形輪郭情報によっていずれかの値がセットされる。
つぎに1部分輪郭曲線情報の内容は、第8図3)に示す
ように、部分輪郭曲線の種別として直線かベジェ曲線か
の区別を表す情報と、部分輪郭線情報を制御点の個数を
表す情報と、その個数分の制御点座標との系列である。
ように、部分輪郭曲線の種別として直線かベジェ曲線か
の区別を表す情報と、部分輪郭線情報を制御点の個数を
表す情報と、その個数分の制御点座標との系列である。
この曲線の場合に、先の説明と共通の処理手順で外輪郭
線および内輪郭線情報を求める手段を以下に示す。これ
は、第1図の処理13と14について上で説明した例に
おける頂点の取扱いに、輪郭線を構成する曲線の種別(
この場合、直線とベジェ曲線)の取扱いを追加すること
による。その結果、文字輪郭線情報として前述の部分輪
郭線情報の列が得られ、この部分輪郭情報は制御点列と
曲線種別とで表される。
線および内輪郭線情報を求める手段を以下に示す。これ
は、第1図の処理13と14について上で説明した例に
おける頂点の取扱いに、輪郭線を構成する曲線の種別(
この場合、直線とベジェ曲線)の取扱いを追加すること
による。その結果、文字輪郭線情報として前述の部分輪
郭線情報の列が得られ、この部分輪郭情報は制御点列と
曲線種別とで表される。
ここで、山口富士夫著の「コンピュータディスプレイに
よる形状処理工学[II] (日F’J工業新聞社、
1982年)の第5章に明らかにされているベジェ曲線
の表現とその性質を示す。第6図1)で、Q、に始まり
Q、に至る曲線61は、Qo、Q、、Q2およびQ3の
4点を制御点とする3次式ベジェ曲線である。この曲線
は、両端制御点Q。およびQ、を通り、そこでの接線ベ
クトルを、それぞれQ10工およびQ10.とする3次
曲線であり、パラメタを1 (0≦t≦1)として、次
式で表される。
よる形状処理工学[II] (日F’J工業新聞社、
1982年)の第5章に明らかにされているベジェ曲線
の表現とその性質を示す。第6図1)で、Q、に始まり
Q、に至る曲線61は、Qo、Q、、Q2およびQ3の
4点を制御点とする3次式ベジェ曲線である。この曲線
は、両端制御点Q。およびQ、を通り、そこでの接線ベ
クトルを、それぞれQ10工およびQ10.とする3次
曲線であり、パラメタを1 (0≦t≦1)として、次
式で表される。
P(t)=(1−t)’QO+3t(1−t)2Q、
+3(1−t)t2Q2+t’Q。
+3(1−t)t2Q2+t’Q。
この曲線は、1=0のとき、点Q0を通り、t=1のと
き、点Q、を通る。
き、点Q、を通る。
次に、第7図1)で、Qoに始まりQ2に至る曲線71
は、Qo、Q工、Q2の3点を制御点とする2次式ベジ
ェ曲線である。この曲線は、両端制御点Q。およびQ2
を通り、そこでの接線ヘクトルを、それぞれQ。Q工お
よびQ工Q2とする2次曲線であり、パラメタをt (
○≦t≦1)として、次式で表される。
は、Qo、Q工、Q2の3点を制御点とする2次式ベジ
ェ曲線である。この曲線は、両端制御点Q。およびQ2
を通り、そこでの接線ヘクトルを、それぞれQ。Q工お
よびQ工Q2とする2次曲線であり、パラメタをt (
○≦t≦1)として、次式で表される。
P(t)=(1−t)2Q0+2t(1−t)Q□+t
2Q2この曲線は、1=0のとき、点Q0 を通り、し
=1のとき、点Q2 を通る。この2次式ベジェ曲線は
、第7図2)のようにして3次式ベジェ曲線Ri (i
=o、1,2.3)に変換できることが知られている。
2Q2この曲線は、1=0のとき、点Q0 を通り、し
=1のとき、点Q2 を通る。この2次式ベジェ曲線は
、第7図2)のようにして3次式ベジェ曲線Ri (i
=o、1,2.3)に変換できることが知られている。
ここで、R1とR2は、それぞれ、QoQ、およびQ、
Q2を、2:1及び1:2に分割する点である。
Q2を、2:1及び1:2に分割する点である。
次に、第6図2)は、3次式ベジェ曲線の両端制御点の
いずれか(ここでは、第1制御点)と、この3次式ベジ
ェ曲線上の任意の1点を両端制御点とする3次式ベジェ
曲線の求め方、つまり、中間の2つの制御点の求め方を
示す。これを繰り返すと、3次式ベジェ曲線上の任意の
2点を両端制御点とする3次式ベジェ曲線が求められる
ことが明らかである。第6図2)には、制御点Q0 よ
り制御点QJ に至る3次式ベジェ曲線61の第1制御
点Q。と、この3次式ベジェ曲線上の任意の1点Cを両
端制御点とする3次式ベジェ曲線の求め方、つまり5制
御点R8=Qo、R工、R2およびR,=Cの求め方を
説明する。これらのうち1両端の2点は、既に明らかで
あるから、求めるのは、中間の2点、つまり、R1とR
2とである。上記文献によると、曲線61において点C
に対応するしの値をtsとすると、点R工はQ、Q工を
1:しSに分割する点1として求められる。次に、Q、
Q、、Q10.を同様に分割する点を、SおよびTとし
、更に、線分STを同様に分割する点を特とする請求め
る点R2は線分R工Sを1 : tsに分割する点、で
ある。この点は、UCの延長と線分R1S とが交わ
る点でもある。また、点Cでの接線が線分R1Sと交わ
る点として点R2を求めることも可能である。以上、3
次式ベジェ曲線上の任意の1点Cを与えるパラメタts
から、もとの3次式ベジェ曲線の先頭制御点と点Cとを
両端制御点とし、もとの3次式ベジェ曲線と重なる新た
な3次式ベジェ曲線を求める公知の方法を説明した。こ
の方法で、先頭制御点の代わりに最終制御点を用いても
同様である。この方法を2回繰り返すことにより、3次
式ベジェ曲線上の任意の2点を両端制御点とし、もとの
曲線上を通る3次式ベジェ曲線が得られる。次に、Cを
与えるパラメタtsの求め方であるが、これは、 C=(1−t)’Q、 +3t(1−t)2Q工+3(
1−t)t2Q2+t’Q)で与えられる3次方程式を
満足するtを、0≦t≦1なる条件で解くことによって
得られる。
いずれか(ここでは、第1制御点)と、この3次式ベジ
ェ曲線上の任意の1点を両端制御点とする3次式ベジェ
曲線の求め方、つまり、中間の2つの制御点の求め方を
示す。これを繰り返すと、3次式ベジェ曲線上の任意の
2点を両端制御点とする3次式ベジェ曲線が求められる
ことが明らかである。第6図2)には、制御点Q0 よ
り制御点QJ に至る3次式ベジェ曲線61の第1制御
点Q。と、この3次式ベジェ曲線上の任意の1点Cを両
端制御点とする3次式ベジェ曲線の求め方、つまり5制
御点R8=Qo、R工、R2およびR,=Cの求め方を
説明する。これらのうち1両端の2点は、既に明らかで
あるから、求めるのは、中間の2点、つまり、R1とR
2とである。上記文献によると、曲線61において点C
に対応するしの値をtsとすると、点R工はQ、Q工を
1:しSに分割する点1として求められる。次に、Q、
Q、、Q10.を同様に分割する点を、SおよびTとし
、更に、線分STを同様に分割する点を特とする請求め
る点R2は線分R工Sを1 : tsに分割する点、で
ある。この点は、UCの延長と線分R1S とが交わ
る点でもある。また、点Cでの接線が線分R1Sと交わ
る点として点R2を求めることも可能である。以上、3
次式ベジェ曲線上の任意の1点Cを与えるパラメタts
から、もとの3次式ベジェ曲線の先頭制御点と点Cとを
両端制御点とし、もとの3次式ベジェ曲線と重なる新た
な3次式ベジェ曲線を求める公知の方法を説明した。こ
の方法で、先頭制御点の代わりに最終制御点を用いても
同様である。この方法を2回繰り返すことにより、3次
式ベジェ曲線上の任意の2点を両端制御点とし、もとの
曲線上を通る3次式ベジェ曲線が得られる。次に、Cを
与えるパラメタtsの求め方であるが、これは、 C=(1−t)’Q、 +3t(1−t)2Q工+3(
1−t)t2Q2+t’Q)で与えられる3次方程式を
満足するtを、0≦t≦1なる条件で解くことによって
得られる。
以上、第6図及び第7図を用いて、2次式ベジェ曲線を
3次式ベジェ曲線に変換する方法と、3次式ベジェ曲線
上の2点を与えて、もとの3次式ベジェ曲線を通り、こ
の2点を両端制御点とするベジェ曲線を求める方法を示
した。
3次式ベジェ曲線に変換する方法と、3次式ベジェ曲線
上の2点を与えて、もとの3次式ベジェ曲線を通り、こ
の2点を両端制御点とするベジェ曲線を求める方法を示
した。
最近のアウトライン文字パターンの輪郭曲線は、2次ま
たは3次のベジェ曲線と直線との組み合わせで表現され
ることが多い。それ以外で用いられることのある線種と
して、円は3次式ベジェ曲線で高精度で近似でき、いわ
ゆる3次式スプライン曲線は、3次式ベジェ曲線に変換
できることが、止揚の文献に示されている。これにより
、以上の線種の組み合わせで表現される輪郭曲線は、直
線と3次式ベジェ曲線の組み合わせに変換できる。
たは3次のベジェ曲線と直線との組み合わせで表現され
ることが多い。それ以外で用いられることのある線種と
して、円は3次式ベジェ曲線で高精度で近似でき、いわ
ゆる3次式スプライン曲線は、3次式ベジェ曲線に変換
できることが、止揚の文献に示されている。これにより
、以上の線種の組み合わせで表現される輪郭曲線は、直
線と3次式ベジェ曲線の組み合わせに変換できる。
ここで、以上の公知技術を念頭に、このような曲線輪郭
について、第1図の処理手順を説明する。
について、第1図の処理手順を説明する。
前には、第1図の説明で用いた第3図と第4図のストロ
ーク輪郭は線分で表される部分輪郭情報の系列の場合の
例で示したが、これを線分または3次式ベジェ曲線で表
現される部分輪郭情報の系列で表されるものとする。こ
れらはいずれも第8図に従う情報で表される。これに対
して、第1図の処理手順はそのまま適用できる。第3図
と第4図に関する説明も曲線種別に依存しない。曲線種
別に依存する処理は次の2点である。
ーク輪郭は線分で表される部分輪郭情報の系列の場合の
例で示したが、これを線分または3次式ベジェ曲線で表
現される部分輪郭情報の系列で表されるものとする。こ
れらはいずれも第8図に従う情報で表される。これに対
して、第1図の処理手順はそのまま適用できる。第3図
と第4図に関する説明も曲線種別に依存しない。曲線種
別に依存する処理は次の2点である。
その第1は、線分または3次式ベジェ曲線で表現される
2つのストロークの部分輪郭間の交点を求める処理であ
るが、これは、解くべき方程式の次数が異なるというこ
とにすぎない。
2つのストロークの部分輪郭間の交点を求める処理であ
るが、これは、解くべき方程式の次数が異なるというこ
とにすぎない。
その第2は、上で求めた交点と、もとの部分輪郭曲線情
報とから、新たに、線分または3次式ベジェ曲線で表現
される外輪郭及び内輪郭の部分輪郭情報を生成する処理
である。これは、上述のベジェ曲線について知られた変
換法を適用する処理によって実現される。この処理は、
第1図における符号13の処理と符号14の処理とから
共通に利用される符号16の処理として示したが、これ
を実現する処理方法の例を、第9図によって示す。
報とから、新たに、線分または3次式ベジェ曲線で表現
される外輪郭及び内輪郭の部分輪郭情報を生成する処理
である。これは、上述のベジェ曲線について知られた変
換法を適用する処理によって実現される。この処理は、
第1図における符号13の処理と符号14の処理とから
共通に利用される符号16の処理として示したが、これ
を実現する処理方法の例を、第9図によって示す。
第9図は部分ベジェ曲線生成法を与える処理を示し、第
1図の符号13の処理と符号上4の処理とから、当該ス
トローク輪郭の部分輪郭情報PartIと、その上の2
点P1とP2とをパラメタとして呼び呂される符号16
の処理を与えるサブプログラムの流れをより具体的に示
したものである。
1図の符号13の処理と符号上4の処理とから、当該ス
トローク輪郭の部分輪郭情報PartIと、その上の2
点P1とP2とをパラメタとして呼び呂される符号16
の処理を与えるサブプログラムの流れをより具体的に示
したものである。
ここで、部分輪郭情報PartIがベジェ曲線を表すと
き、そのベジェ曲線のパラメタtに関して、PlはP2
より小さいtに対応するものとする。
き、そのベジェ曲線のパラメタtに関して、PlはP2
より小さいtに対応するものとする。
符号90は二tらのパラメタを取り込む処理である。こ
のサブプログラムの機能は、PartIの与える曲線の
部分である点P1とP2との間の曲線情報を部分輪郭線
情報PartOとして生成することである。符号91は
PartIで与えられる曲線が線分かベジェ曲線かを判
定する処理、符号93はこれが線分のとき部分輪郭線情
報PartOを生成する処理であり、曲線種別は直線と
し、制御点数は2てあり、制御点座標は、単に01=P
1,02=P2とすればよい。これによりこの場合の処
理は終了する。一方、符号92は、符号91での判定が
ベジェ曲線であった場合の処理であり、部分輪郭線情報
PartOの曲線種別はベジェ曲線とし、制御点数は4
とする。制御点座標列01は、符号94以下の処理で求
める。まず符号94の処理では1点P1か点P2かが入
力部分輪郭線の制御点と一致する場合かどうかを判定す
る。上の仮定とベジェ曲線の中間の制御点が曲線上にな
いことから、この判定は、P1=11またはP2=I4
のいずれかが成立することの判定である。これが成立す
る場合、処理は符号99に進み、不成立の場合、符号9
5に進む。まず、符号9つの処理では2点PL、P2の
いずれかが両端制御点のいずれかと一致する場合であり
、○1=PL、04=P2として、符号910の処理に
おいて別のサブプログラムである部分ベジェ計算を、第
1パラメタを○i、第2パラメタをIiとして呼ぶ。
のサブプログラムの機能は、PartIの与える曲線の
部分である点P1とP2との間の曲線情報を部分輪郭線
情報PartOとして生成することである。符号91は
PartIで与えられる曲線が線分かベジェ曲線かを判
定する処理、符号93はこれが線分のとき部分輪郭線情
報PartOを生成する処理であり、曲線種別は直線と
し、制御点数は2てあり、制御点座標は、単に01=P
1,02=P2とすればよい。これによりこの場合の処
理は終了する。一方、符号92は、符号91での判定が
ベジェ曲線であった場合の処理であり、部分輪郭線情報
PartOの曲線種別はベジェ曲線とし、制御点数は4
とする。制御点座標列01は、符号94以下の処理で求
める。まず符号94の処理では1点P1か点P2かが入
力部分輪郭線の制御点と一致する場合かどうかを判定す
る。上の仮定とベジェ曲線の中間の制御点が曲線上にな
いことから、この判定は、P1=11またはP2=I4
のいずれかが成立することの判定である。これが成立す
る場合、処理は符号99に進み、不成立の場合、符号9
5に進む。まず、符号9つの処理では2点PL、P2の
いずれかが両端制御点のいずれかと一致する場合であり
、○1=PL、04=P2として、符号910の処理に
おいて別のサブプログラムである部分ベジェ計算を、第
1パラメタを○i、第2パラメタをIiとして呼ぶ。
このサブプログラムは、先に第6図の2)を用いて説明
した方法そのものを実現するもので、3次式ベジェ曲線
上の1点を与えられてそれを両端制御点の1つとし、元
の3次式ベジェ曲線上を通る新たな3次式ベジェ曲線を
求める。具体的には、第2パラメタとして元のベジェ曲
線の制御点列を受は取り、第1パラメタとして結果とし
て返すベジェ曲線の制御点列を受は取る。但し、後者の
4つの制御点のうち、第1制御点と第4制御点とは入力
情報として設定されている。このうちいずれかが、元の
ベジェ曲線の両端制御点と一致するものであり、他方が
元の3次式ベジェ曲線上を通る点である。このサブプロ
グラムは第1パラメタの制御点列のうち、第2、第3の
制御点を求め、他の2点は入力のまま返す。これが求め
る部分ベジェ曲線であることは航述の説明で明らかであ
る。
した方法そのものを実現するもので、3次式ベジェ曲線
上の1点を与えられてそれを両端制御点の1つとし、元
の3次式ベジェ曲線上を通る新たな3次式ベジェ曲線を
求める。具体的には、第2パラメタとして元のベジェ曲
線の制御点列を受は取り、第1パラメタとして結果とし
て返すベジェ曲線の制御点列を受は取る。但し、後者の
4つの制御点のうち、第1制御点と第4制御点とは入力
情報として設定されている。このうちいずれかが、元の
ベジェ曲線の両端制御点と一致するものであり、他方が
元の3次式ベジェ曲線上を通る点である。このサブプロ
グラムは第1パラメタの制御点列のうち、第2、第3の
制御点を求め、他の2点は入力のまま返す。これが求め
る部分ベジェ曲線であることは航述の説明で明らかであ
る。
さて、判定94が不成立のとき、処理は符号95に進む
が、これは、元の3次式ベジェ曲線上を通り両端制御点
のいずれとも一致しない2点が与えられた場合の処理で
ある。符号95の処理では、仮の制御点座標列Tiを用
い、その第1制御点T1を元のベジェ曲線の第1制御点
11とし、第4制御点T4を入力点P2として、部分ベ
ジェ計算サブプログラムを第1パラメタをTi、第2パ
ラメタをIiとして呼び出す。この結果、上で仮定した
PL、P2との順序関係により、元のベジェ曲線の第1
制御点■1を第1制御点T1とし、入力点P2を第4制
御点T4とし、入力点P1を通る元のベジェ曲線の部分
をなす新たなベジェ曲線の制御点列が、Tiに返される
。この段階で、2点PL、P2のうちP2がベジェ曲線
Tiの第4制御点と一致することになり、残る処理は、
符号99におけると同様である。但し、この場合、部分
ヘジエ計算の第2パラメタは仮の制御点列T1である。
が、これは、元の3次式ベジェ曲線上を通り両端制御点
のいずれとも一致しない2点が与えられた場合の処理で
ある。符号95の処理では、仮の制御点座標列Tiを用
い、その第1制御点T1を元のベジェ曲線の第1制御点
11とし、第4制御点T4を入力点P2として、部分ベ
ジェ計算サブプログラムを第1パラメタをTi、第2パ
ラメタをIiとして呼び出す。この結果、上で仮定した
PL、P2との順序関係により、元のベジェ曲線の第1
制御点■1を第1制御点T1とし、入力点P2を第4制
御点T4とし、入力点P1を通る元のベジェ曲線の部分
をなす新たなベジェ曲線の制御点列が、Tiに返される
。この段階で、2点PL、P2のうちP2がベジェ曲線
Tiの第4制御点と一致することになり、残る処理は、
符号99におけると同様である。但し、この場合、部分
ヘジエ計算の第2パラメタは仮の制御点列T1である。
つまり、符号97の処理で、01=PL、04=P2と
して、符号98の処理において部分ベジェ計算を、第1
パラメタを○i、第2パラメタをTiとして呼ぶ。符号
910の処理あるいは符号98の処理で制御点列Oiに
求める3次式ベジェ曲線の制御点列が完成する。部分輪
郭線情報PartOのその他の情報は、既に符号92の
処理で設定済みである。
して、符号98の処理において部分ベジェ計算を、第1
パラメタを○i、第2パラメタをTiとして呼ぶ。符号
910の処理あるいは符号98の処理で制御点列Oiに
求める3次式ベジェ曲線の制御点列が完成する。部分輪
郭線情報PartOのその他の情報は、既に符号92の
処理で設定済みである。
第1図の符号13と符号14の処理から第9図のサブプ
ログラムを呼ぶ際には、交点が求まった当該ストローク
に関して、部分輪郭曲線単位に部分輪郭曲線情報と、2
点の交点座標を先に述へた順でこのサブプログラムに渡
せば良い。部分輪郭曲線が3点以上の交点をもつ場合は
この呼び出しを繰り返す。1点しか交点をもたない場合
は、結果の部分曲線に含まれる両端制御点の一方を求め
、これをPL、P2のいずれかとしてサブプログラムを
呼ぶ。これにより、第8図の部分輪郭線情報84が求め
られる。求める文字輪郭情報のその他の情報は、第8図
の符号83の構成部分輪郭線情報数83、内外輪郭線の
区別82、および文字を構成する図形数80である。こ
のうち、82は、符号13と14の処理の各々で対応す
る値が設定される。80は、符号12で求めたグループ
の個数として設定される。83は、符号13および14
の処理内で設定される。
ログラムを呼ぶ際には、交点が求まった当該ストローク
に関して、部分輪郭曲線単位に部分輪郭曲線情報と、2
点の交点座標を先に述へた順でこのサブプログラムに渡
せば良い。部分輪郭曲線が3点以上の交点をもつ場合は
この呼び出しを繰り返す。1点しか交点をもたない場合
は、結果の部分曲線に含まれる両端制御点の一方を求め
、これをPL、P2のいずれかとしてサブプログラムを
呼ぶ。これにより、第8図の部分輪郭線情報84が求め
られる。求める文字輪郭情報のその他の情報は、第8図
の符号83の構成部分輪郭線情報数83、内外輪郭線の
区別82、および文字を構成する図形数80である。こ
のうち、82は、符号13と14の処理の各々で対応す
る値が設定される。80は、符号12で求めたグループ
の個数として設定される。83は、符号13および14
の処理内で設定される。
以上述へてきた変換方法を文書処理装置に適用した例を
第5図に示す。キーボード505から入力された文字列
は、L5よびバス500を介してCPU502に転送さ
れる。CPU502では、仮名漢字変換が必要な場合は
仮名漢字変換により該当する文字を変換し、CPU50
2から文字を識別するための文字コードとして、バス5
00を経由して、ストローク輪郭辞書503をアクセス
し、そこから当該文字の各ストロークの位置と形状を与
えるストローク輪郭情報を読みだす。この情報をL3,
500.L8を経由してストローク輪郭情報から文字輪
郭情報への変換部510に送られる。ここで、まず、エ
レメント輪郭情報取り出し部511に転送する。511
はLIOを介して、文字輪郭情報生成部513にストロ
ーク毎の輪郭線情報を転送する。513では、第1図の
処理を行ない、外輪郭線情報と内輪郭線情報を生成する
。この結果をLi2及びL6またはL7を介して文字輪
郭情報を出力できる表示装置またはプリンタに出力させ
る。あるいは、Li2及びL4を介して、この文字輪郭
情報を文字輪郭辞書504に格納する。また、塗りつぶ
し処理部514で公知の方法により輪郭線の内部を塗り
つぶしてドツトイメージに展開し、Li2.L6やL7
を介して表示装置506やプリンタ507に出力する。
第5図に示す。キーボード505から入力された文字列
は、L5よびバス500を介してCPU502に転送さ
れる。CPU502では、仮名漢字変換が必要な場合は
仮名漢字変換により該当する文字を変換し、CPU50
2から文字を識別するための文字コードとして、バス5
00を経由して、ストローク輪郭辞書503をアクセス
し、そこから当該文字の各ストロークの位置と形状を与
えるストローク輪郭情報を読みだす。この情報をL3,
500.L8を経由してストローク輪郭情報から文字輪
郭情報への変換部510に送られる。ここで、まず、エ
レメント輪郭情報取り出し部511に転送する。511
はLIOを介して、文字輪郭情報生成部513にストロ
ーク毎の輪郭線情報を転送する。513では、第1図の
処理を行ない、外輪郭線情報と内輪郭線情報を生成する
。この結果をLi2及びL6またはL7を介して文字輪
郭情報を出力できる表示装置またはプリンタに出力させ
る。あるいは、Li2及びL4を介して、この文字輪郭
情報を文字輪郭辞書504に格納する。また、塗りつぶ
し処理部514で公知の方法により輪郭線の内部を塗り
つぶしてドツトイメージに展開し、Li2.L6やL7
を介して表示装置506やプリンタ507に出力する。
更に、骨格情報辞書520は、文字の骨格情報と形状デ
ータを保持し、L20を経由して符号521の骨格情報
からストローク輪郭情報への変換部に入力され、ここで
公知の骨格情報からストローク輪郭情報への変換を行な
った結果の直線とベジェ曲線とで表現されたストローク
輪郭情報をL21を経由してストローク辞書503に収
容される。
ータを保持し、L20を経由して符号521の骨格情報
からストローク輪郭情報への変換部に入力され、ここで
公知の骨格情報からストローク輪郭情報への変換を行な
った結果の直線とベジェ曲線とで表現されたストローク
輪郭情報をL21を経由してストローク辞書503に収
容される。
この情報は、上記のように利用される。符号521の変
換部で得られたストローク輪郭情報は、L21を経由し
てストローク輪郭情報から文字輪郭情報への変換部51
0に送られることもてきるここで変換結果として得られ
る文字輪郭情報の利用法は上に述べたのと同様である。
換部で得られたストローク輪郭情報は、L21を経由し
てストローク輪郭情報から文字輪郭情報への変換部51
0に送られることもてきるここで変換結果として得られ
る文字輪郭情報の利用法は上に述べたのと同様である。
ストローク単位の文字輪郭情報として、直線と3次式ベ
ジェ曲線を用いた場合について、品質の劣化なく、最近
標準化しつつある直線と3次式ベジェ曲線による文字輪
郭情報に変換が可能になったことと、骨格文字方式を用
いてストローク単位の文字輪郭情報として、太さその他
の形状の変形パターンを生成することにより、高品質の
文字輪郭フォントが自動的に生成可能となり、これを直
接プリンタや表示装置に出力できる。また今後文字輪郭
フォントで必要とされる多様な変形フォントの生産効率
を格段に向上できる。
ジェ曲線を用いた場合について、品質の劣化なく、最近
標準化しつつある直線と3次式ベジェ曲線による文字輪
郭情報に変換が可能になったことと、骨格文字方式を用
いてストローク単位の文字輪郭情報として、太さその他
の形状の変形パターンを生成することにより、高品質の
文字輪郭フォントが自動的に生成可能となり、これを直
接プリンタや表示装置に出力できる。また今後文字輪郭
フォントで必要とされる多様な変形フォントの生産効率
を格段に向上できる。
第1図は、ストローク輪郭情報を文字輪郭情報に変換す
る処理手順を示すフロー、第2図(A)はストローク輪
郭パターンの例、(B)はこれらを組み合わせて文字パ
ターンを表現した例であり、(C)は、(B)で表現し
た文字を文字輪郭情報として表現した例、第3図は、外
輪郭線のトレース方法を示す図、第4図は、内輪郭線を
求めるため、ストロークの接続状態を表す図、第5図は
。 本発明を適用した場合の文書処理装置の構成例、第6図
は、3次式ベジェ曲線の性質を説明する図、第7図は、
2次式ベジェ曲線の性質を説明する図、第8図は、線分
と3次式ベジェ曲線の系列として表されるストローク輪
郭情報と文字輪郭情報の表現形式の例を示す図である。 第9図は、第1図の処理16を具体的に示したものであ
り、ストローク輪郭の部分輪郭情報を生成する部分ベジ
ェ曲線生成処理を実行するサブプログラムの処理手順を
第 図 第3図 第4図 第6図 α 第7図 1)1文字のストローク輪郭情報と文字輪郭情報の形式
2)各図形輪郭情報の形式 3)部分輪郭線情報の形式
る処理手順を示すフロー、第2図(A)はストローク輪
郭パターンの例、(B)はこれらを組み合わせて文字パ
ターンを表現した例であり、(C)は、(B)で表現し
た文字を文字輪郭情報として表現した例、第3図は、外
輪郭線のトレース方法を示す図、第4図は、内輪郭線を
求めるため、ストロークの接続状態を表す図、第5図は
。 本発明を適用した場合の文書処理装置の構成例、第6図
は、3次式ベジェ曲線の性質を説明する図、第7図は、
2次式ベジェ曲線の性質を説明する図、第8図は、線分
と3次式ベジェ曲線の系列として表されるストローク輪
郭情報と文字輪郭情報の表現形式の例を示す図である。 第9図は、第1図の処理16を具体的に示したものであ
り、ストローク輪郭の部分輪郭情報を生成する部分ベジ
ェ曲線生成処理を実行するサブプログラムの処理手順を
第 図 第3図 第4図 第6図 α 第7図 1)1文字のストローク輪郭情報と文字輪郭情報の形式
2)各図形輪郭情報の形式 3)部分輪郭線情報の形式
Claims (1)
- 【特許請求の範囲】 1、文字パターンを構成する複数のストロークの輪郭の
交点を求め、該複数のストロークの各々の輪郭の内、求
められたいずれかの交点を端点とし、該文字パターンと
して使用される部分を決定し、各ストロークについて決
定された部分でもってその輪郭を表す文字パターン情報
変換方法において、 a)各ストローク情報として、必ずしも曲線上にない複
数の制御点によってそれぞれ定義され、そのストローク
を構成する複数の部分曲線を表す部分輪郭曲線情報の系
列を与え、それを用いて異なるストロークの輪郭の交点
を求め、 b)各ストロークを構成する複数の部分曲線の内、他の
ストロークとの交点を含む一つの部分曲線に対して、そ
の交点から始まり、文字輪郭として使用される、その一
つの部分曲線の一部(修正部分曲線)を規定する制御点
を求め、この修正部分曲線をこれらの制御点に基づいて
表す輪郭情報を生成する ことを特徴とする文字パターン情報変換方法。 2、ストローク輪郭情報から文字輪郭情報への請求項1
の変換方法において、変換元及び変換先の輪郭情報が共
に線分あるいはいわゆるベジエ曲線から成る部分輪郭曲
線情報の系列として与えられ、このうち線分情報の表現
形式は両端の2点を制御点として持ち、ベジエ曲線の表
現形式は両端点と1または2の曲線外の点よりなる3又
は4点を制御点として持ち、この曲線の生成は、始端に
おいて値0、終端において値1をとり、0から1までの
変域を持つパラメータの、制御点を係数とする2次又は
3次の方程式により与えられるものとし、上記ステップ
b)において、与えられた交点に対応するパラメタ値を
求め、その変域全体に対する分割比で、隣り合う制御点
間の線分を分割して、その分割点を制御点とし元のベジ
エ曲線上を通る部分ベジエ曲線を表す文字輪郭情報を生
成することを特徴とする請求項1の文字パターン情報変
換方法。 3、文字を構成するストローク単位の骨格線と太さ等の
形状データとから種々の形状のストローク輪郭情報を請
求項1あるいは2の形状表現で生成し、生成したストロ
ーク輪郭情報より文字輪郭情報を生成する請求項1ある
いは2の文字パターン情報変換方法。 4、文字パターンを構成するストローク単位の輪郭図形
を表すストローク輪郭情報あるいは骨格文字情報を複数
文字について保持する保持手段と、指定された文字に対
応する該ストローク情報を該保持手段より取り出す手段
と、請求項1、2あるいは3の文字パターン情報変換方
法により、該文字の文字輪郭情報を生成する手段を持つ
ことを特徴とする文字パターン情報変換装置。 5、請求項1、2または3の文字パターン情報変換方法
において、文字輪郭情報によって表現された文字パター
ンを印字あるいは表示するプリンタあるいはディスプレ
イ装置と、文字のコード列の中の各文字に対して該当す
るストローク輪郭情報あるいは骨格文字情報を取り出す
手段と、該情報に請求項1、2あるいは3の変換を施し
て得た文字輪郭情報を用いて、該文字列を該印字あるい
は表示装置に表示出力する手段を持つことを特徴とする
文書出力装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2244064A JPH04125590A (ja) | 1990-09-17 | 1990-09-17 | 文字パターン情報変換方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2244064A JPH04125590A (ja) | 1990-09-17 | 1990-09-17 | 文字パターン情報変換方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04125590A true JPH04125590A (ja) | 1992-04-27 |
Family
ID=17113198
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2244064A Pending JPH04125590A (ja) | 1990-09-17 | 1990-09-17 | 文字パターン情報変換方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04125590A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06166195A (ja) * | 1992-06-11 | 1994-06-14 | Esselte Dymo Nv | ラベル印刷装置及び印刷方法 |
-
1990
- 1990-09-17 JP JP2244064A patent/JPH04125590A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06166195A (ja) * | 1992-06-11 | 1994-06-14 | Esselte Dymo Nv | ラベル印刷装置及び印刷方法 |
| US5967679A (en) * | 1992-06-11 | 1999-10-19 | Esselte N.V. | Label printing apparatus |
| US6079889A (en) * | 1992-06-11 | 2000-06-27 | Esselte N.V. | Label printing apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS62123573A (ja) | コンピユ−タ・グラフイツク装置およびその操作方法 | |
| JP6298422B2 (ja) | マンマシンインターフェースのグラフィック表示用の文字列の処理技術 | |
| Zongker et al. | Example-based hinting of true type fonts | |
| JPH04125590A (ja) | 文字パターン情報変換方法および装置 | |
| JPH0812544B2 (ja) | 文字フォント生成装置 | |
| Mergler et al. | One approach to computer assisted letter design | |
| JPH04242793A (ja) | 文字パターン情報変換方法および装置 | |
| JPH01257995A (ja) | 文字図形生成装置 | |
| JPH0764533A (ja) | 文字フォント生成処理システム | |
| JPH0320789A (ja) | ベクトル文字変換方法と文書処理装置 | |
| JP3284172B2 (ja) | 文字処理装置 | |
| KR960013368B1 (ko) | 아우트라인(outline) 폰트의 형성방법 | |
| JPH04340590A (ja) | 文字フォント出力装置 | |
| JPS62157089A (ja) | ベクトル文字の作成方法 | |
| Adams | A dialogue of forms: letter and digital font design | |
| JP3025141B2 (ja) | 文字修飾装置 | |
| JPH04340592A (ja) | ベクトルフォント出力装置 | |
| JPH02176927A (ja) | 文字の処理方式 | |
| JP2861201B2 (ja) | データ変換装置 | |
| JPH04340591A (ja) | ベクトルフォント出力装置 | |
| JP3039214B2 (ja) | データ変換装置 | |
| JP3084817B2 (ja) | 文字出力装置 | |
| JPH05173537A (ja) | ニューラルネットワークによる文字フォント生成方法 | |
| JPS62212167A (ja) | 流用文字作成方式 | |
| JPH04171489A (ja) | 漢字フォントのデータ化方式 |