JP3347756B2 - 文字生成方法及びその装置 - Google Patents
文字生成方法及びその装置Info
- Publication number
- JP3347756B2 JP3347756B2 JP03340092A JP3340092A JP3347756B2 JP 3347756 B2 JP3347756 B2 JP 3347756B2 JP 03340092 A JP03340092 A JP 03340092A JP 3340092 A JP3340092 A JP 3340092A JP 3347756 B2 JP3347756 B2 JP 3347756B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- stroke
- information
- point data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Dot-Matrix Printers And Others (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】(目次) 産業上の利用分野 従来の技術(図16乃至図18) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用 実施例 (a) 第1の実施例の説明(図2乃至図8) (b) 第2の実施例の説明(図9乃至図14) (c) 第3の実施例の説明(図15) (d) 他の実施例の説明 発明の効果
【0002】
【産業上の利用分野】本発明は、文字を輪郭線データで
表現して、拡大又は縮小に応じて輪郭線データを演算し
て、量子化補正して文字パターンを生成する文字生成方
法及びその装置に関する。
表現して、拡大又は縮小に応じて輪郭線データを演算し
て、量子化補正して文字パターンを生成する文字生成方
法及びその装置に関する。
【0003】文字パターンは、文字を表示、印刷する装
置に、広く利用されており、文字パターンを格納してお
き、文字コードに対応した文字パターンを生成して、表
示、印刷する。
置に、広く利用されており、文字パターンを格納してお
き、文字コードに対応した文字パターンを生成して、表
示、印刷する。
【0004】この文字パターンの格納に、広くビットマ
ップによる文字格納形式が用いられてきたが、日本語等
の文字数が多いものでは、メモリの容量が大きくなるた
め、アウトライン(輪郭記述)形式が利用されつつあ
る。
ップによる文字格納形式が用いられてきたが、日本語等
の文字数が多いものでは、メモリの容量が大きくなるた
め、アウトライン(輪郭記述)形式が利用されつつあ
る。
【0005】このようなアウトライン形式は、データ圧
縮、文字の拡大/縮小処理の点で、ビットマップ方式よ
り優れているが、拡大/縮小処理によるマルチポイント
文字における文字品質の劣化が生じる。
縮、文字の拡大/縮小処理の点で、ビットマップ方式よ
り優れているが、拡大/縮小処理によるマルチポイント
文字における文字品質の劣化が生じる。
【0006】このため、量子化誤差による文字劣化を防
止する品質補正処理技術が要求される。
止する品質補正処理技術が要求される。
【0007】
【従来の技術】図16、図17、図18は従来技術の説
明図(その1)、(その2)、(その3)である。
明図(その1)、(その2)、(その3)である。
【0008】図16(A)に示すように、原文字パター
ンにおける各々4ドット(ピクセル)の幅の2つの線1
1、12を、0.7倍縮小すると、Y方向で輪郭座標「1
8」から「22」の線11は、輪郭座標「12.6」、
「15.4」となり、丸め処理で量子化すると、輪郭座標
「13」から「15」の2ドット幅となり、Y方向で輪
郭座標「10」から「18」の線12は、輪郭座標「7.
0」、「9.8」となり、丸め処理で量子化すると、輪郭
座標「7」から「10」の3ドット幅となる。
ンにおける各々4ドット(ピクセル)の幅の2つの線1
1、12を、0.7倍縮小すると、Y方向で輪郭座標「1
8」から「22」の線11は、輪郭座標「12.6」、
「15.4」となり、丸め処理で量子化すると、輪郭座標
「13」から「15」の2ドット幅となり、Y方向で輪
郭座標「10」から「18」の線12は、輪郭座標「7.
0」、「9.8」となり、丸め処理で量子化すると、輪郭
座標「7」から「10」の3ドット幅となる。
【0009】このように、輪郭データを縮小/拡大し
て、文字を生成すると、コンピュータの持ちうる座標形
式が、量子化座標形式(整数値以外を持たない)である
ため、所謂丸めの誤差により、文字品質が劣化し、例え
ば、明朝体文字の「悲」では、図16(B)に示すよう
に、線幅に不揃いが発生する。
て、文字を生成すると、コンピュータの持ちうる座標形
式が、量子化座標形式(整数値以外を持たない)である
ため、所謂丸めの誤差により、文字品質が劣化し、例え
ば、明朝体文字の「悲」では、図16(B)に示すよう
に、線幅に不揃いが発生する。
【0010】このような傾向は、他の文字でも同様であ
り、図17に示すように、例えば、明朝体文字の「森」
でも、縮小すると、各エレメントA、B、Cの「木」の
部分の横線の飾りの形状が、太枠の本来の形から斜線の
ように異なり、線幅も異なる。
り、図17に示すように、例えば、明朝体文字の「森」
でも、縮小すると、各エレメントA、B、Cの「木」の
部分の横線の飾りの形状が、太枠の本来の形から斜線の
ように異なり、線幅も異なる。
【0011】このような文字の形状を、縮小/拡大して
も保存する従来技術として、図18に示すような品質補
正情報を輪郭データに付加して、丸め処理の際に、品質
補正情報で補正する方法が提案されている。
も保存する従来技術として、図18に示すような品質補
正情報を輪郭データに付加して、丸め処理の際に、品質
補正情報で補正する方法が提案されている。
【0012】例えば、図18(A)では、文字の横線の
線幅補正の例を示し、左が補正前、右が補正後であり、
枡目が出力デバイスの座標系、黒い線が出力解像度に縮
小された書体データ、四角のついた輪郭点が補正される
点である。
線幅補正の例を示し、左が補正前、右が補正後であり、
枡目が出力デバイスの座標系、黒い線が出力解像度に縮
小された書体データ、四角のついた輪郭点が補正される
点である。
【0013】この場合、文字の横線であるので、矢印の
ついた横線の下側に位置する2点をレファレンスポイン
ト(基準点)として、座標系の近接整数値へ動かし、他
の横線の上部に位置する2点をレラティブポイント(相
対点)として、基準点に対し相対的に動かすことによ
り、左図のように、2ピクセルの線幅を確保する。
ついた横線の下側に位置する2点をレファレンスポイン
ト(基準点)として、座標系の近接整数値へ動かし、他
の横線の上部に位置する2点をレラティブポイント(相
対点)として、基準点に対し相対的に動かすことによ
り、左図のように、2ピクセルの線幅を確保する。
【0014】この線が縦線の場合には、移動方向が左右
となる。図18(B)は、文字の中で、曲がった線(は
ね、はらいなど)の補正の例を示し、原則的な処理は、
図18(A)と同一であり、曲がった線(ストローク)
が、ほぼ立っているような場合は、縦線と同様に左右
(X)方向に補正され、曲線がほぼ寝ているような場合
は、横線と同様に上下(Y)方向に補正される。
となる。図18(B)は、文字の中で、曲がった線(は
ね、はらいなど)の補正の例を示し、原則的な処理は、
図18(A)と同一であり、曲がった線(ストローク)
が、ほぼ立っているような場合は、縦線と同様に左右
(X)方向に補正され、曲線がほぼ寝ているような場合
は、横線と同様に上下(Y)方向に補正される。
【0015】ここで、幾何学的な形状の補正を除いて
は、文字の品質というのは、対象の線(ストローク)の
文字構造に関する役割(横線、縦線、はらいなど)によ
り、基本的な取り扱いが決定される。
は、文字の品質というのは、対象の線(ストローク)の
文字構造に関する役割(横線、縦線、はらいなど)によ
り、基本的な取り扱いが決定される。
【0016】従来技術では、この文字の構造を、文字の
輪郭線データからパターン認識の手法を用いて判定して
いた。
輪郭線データからパターン認識の手法を用いて判定して
いた。
【0017】
【発明が解決しようとする課題】このため、従来技術で
は、次の問題があった。 パターン認識の手法では、例えば、図18(C)の左
に示すストロークでは、文字の横線の一部であるが、縦
長の輪郭線を持つため、縦線と誤認したり、図18
(C)の右に示すストロークでは、文字の縦線の一部で
あるが、横長の輪郭線を持つため、横線と誤認したりし
て、認識の間違いを生じて、正確な品質補正ができな
い。
は、次の問題があった。 パターン認識の手法では、例えば、図18(C)の左
に示すストロークでは、文字の横線の一部であるが、縦
長の輪郭線を持つため、縦線と誤認したり、図18
(C)の右に示すストロークでは、文字の縦線の一部で
あるが、横長の輪郭線を持つため、横線と誤認したりし
て、認識の間違いを生じて、正確な品質補正ができな
い。
【0018】複雑な形状の文字に対しては、認識処理
がおおがかりとなり、安価な装置に適用できない。 従って、本発明は、正確に且つ容易に文字の品質補正を
することができる文字生成方法及びその装置を提供する
ことを目的とする。
がおおがかりとなり、安価な装置に適用できない。 従って、本発明は、正確に且つ容易に文字の品質補正を
することができる文字生成方法及びその装置を提供する
ことを目的とする。
【0019】又、本発明は、複数の書体を格納しても、
品質補正の情報量を最小限として、正確に且つ容易に文
字の品質補正をすることができる文字生成方法及びその
装置を提供することを目的とする。
品質補正の情報量を最小限として、正確に且つ容易に文
字の品質補正をすることができる文字生成方法及びその
装置を提供することを目的とする。
【0020】
【課題を解決するための手段】図1は本発明の原理図で
ある。本発明の請求項1は、文字パターンを少なくとも
複数のストロークに分割して、各ストロークの輪郭点デ
ータを格納し、該輪郭点データにより各ストロークを形
成して、該文字パターンを生成する文字生成方法におい
て、各文字の書体に共通な該ストロークの構造情報と、
それぞれの文字に固有な該輪郭点データの品質補正情報
を、各文字の各書体毎に格納しておき、文字パターンの
生成時には、各文字の各書体に応じた輪郭点データの品
質補正情報を用い、文字の拡大又は縮小に対し、該輪郭
点データに拡大又は縮小倍率を乗じた輪郭点データを演
算し、該輪郭点データを該ストロークの構造情報と該品
質補正情報により量子化補正して、各ストロークを形成
して、該拡大された又は縮小された文字パターンを生成
することを特徴とする。
ある。本発明の請求項1は、文字パターンを少なくとも
複数のストロークに分割して、各ストロークの輪郭点デ
ータを格納し、該輪郭点データにより各ストロークを形
成して、該文字パターンを生成する文字生成方法におい
て、各文字の書体に共通な該ストロークの構造情報と、
それぞれの文字に固有な該輪郭点データの品質補正情報
を、各文字の各書体毎に格納しておき、文字パターンの
生成時には、各文字の各書体に応じた輪郭点データの品
質補正情報を用い、文字の拡大又は縮小に対し、該輪郭
点データに拡大又は縮小倍率を乗じた輪郭点データを演
算し、該輪郭点データを該ストロークの構造情報と該品
質補正情報により量子化補正して、各ストロークを形成
して、該拡大された又は縮小された文字パターンを生成
することを特徴とする。
【0021】本発明の請求項2は、請求項1において、
前記品質補正情報が、量子化誤差補正の基準点となる基
準点情報と、丸め処理のための相対点情報であることを
特徴とする。
前記品質補正情報が、量子化誤差補正の基準点となる基
準点情報と、丸め処理のための相対点情報であることを
特徴とする。
【0022】本発明の請求項3は、請求項1又は2にお
いて、前記ストロークの輪郭点データが、前記ストロー
クを複数のパーツに分割した各パーツの輪郭点データか
ら構成されることを特徴とする。
いて、前記ストロークの輪郭点データが、前記ストロー
クを複数のパーツに分割した各パーツの輪郭点データか
ら構成されることを特徴とする。
【0023】本発明の請求項4は、請求項1又は2又は
3において、前記文字パターンの各ストロークの構造情
報を共通ファイル6に格納し、各書体毎に前記各ストロ
ークの輪郭点データと品質補正情報とを書体ファイル7
に格納し、該書体ファイル7から指定された書体の前記
各ストロークの輪郭点データと品質補正情報を読み出
し、該共通ファイル6から該各ストロークの構造情報を
読み出すことを特徴とする。
3において、前記文字パターンの各ストロークの構造情
報を共通ファイル6に格納し、各書体毎に前記各ストロ
ークの輪郭点データと品質補正情報とを書体ファイル7
に格納し、該書体ファイル7から指定された書体の前記
各ストロークの輪郭点データと品質補正情報を読み出
し、該共通ファイル6から該各ストロークの構造情報を
読み出すことを特徴とする。
【0024】本発明の請求項5は、文字パターンを少な
くとも複数のストロークに分割して、各ストロークの輪
郭点データを格納し、該輪郭点データにより各ストロー
クを形成して、該文字パターンを生成する文字生成装置
において、各文字の書体に共通な該ストロークの構造情
報と、それぞれの文字に固有な該ストロークの輪郭点デ
ータと、該輪郭点データの品質補正情報を、各文字の各
書体毎に格納するファイル6、7と、文字パターンの生
成時には、各文字の各書体に応じた輪郭点データの品質
補正情報を用い、文字の拡大又は縮小に対し、該ファイ
ル6、7の該輪郭点データに拡大又は縮小倍率を乗じた
輪郭点データを演算し、該輪郭点データを該ストローク
の構造情報と該品質補正情報により量子化補正して、各
ストロークを形成して、該拡大された又は縮小された文
字パターンを生成する文字生成部5、8とを有すること
を特徴とする。
くとも複数のストロークに分割して、各ストロークの輪
郭点データを格納し、該輪郭点データにより各ストロー
クを形成して、該文字パターンを生成する文字生成装置
において、各文字の書体に共通な該ストロークの構造情
報と、それぞれの文字に固有な該ストロークの輪郭点デ
ータと、該輪郭点データの品質補正情報を、各文字の各
書体毎に格納するファイル6、7と、文字パターンの生
成時には、各文字の各書体に応じた輪郭点データの品質
補正情報を用い、文字の拡大又は縮小に対し、該ファイ
ル6、7の該輪郭点データに拡大又は縮小倍率を乗じた
輪郭点データを演算し、該輪郭点データを該ストローク
の構造情報と該品質補正情報により量子化補正して、各
ストロークを形成して、該拡大された又は縮小された文
字パターンを生成する文字生成部5、8とを有すること
を特徴とする。
【0025】本発明の請求項6は、請求項5において、
前記品質補正情報が、量子化誤差補正の基準点となる基
準点情報と、丸め処理のための相対点情報であることを
特徴とする。
前記品質補正情報が、量子化誤差補正の基準点となる基
準点情報と、丸め処理のための相対点情報であることを
特徴とする。
【0026】本発明の請求項7は、請求項5又は6にお
いて、前記ストロークの輪郭点データが、前記ストロー
クを複数のパーツに分割した各パーツの輪郭点データか
ら構成されることを特徴とする。
いて、前記ストロークの輪郭点データが、前記ストロー
クを複数のパーツに分割した各パーツの輪郭点データか
ら構成されることを特徴とする。
【0027】本発明の請求項8は、請求項5又は6又は
7において、前記ファイル6、7が、前記文字パターン
の各ストロークの構造情報を格納する共通ファイル6
と、各書体毎に前記各ストロークの輪郭点データと品質
補正情報とを格納する書体ファイル7とを含み、前記文
字生成部5、8が、該書体ファイル7から指定された書
体の前記各ストロークの輪郭点データと品質補正情報を
読み出し、該共通ファイル6から該各ストロークの構造
情報を読み出すことを特徴とする。
7において、前記ファイル6、7が、前記文字パターン
の各ストロークの構造情報を格納する共通ファイル6
と、各書体毎に前記各ストロークの輪郭点データと品質
補正情報とを格納する書体ファイル7とを含み、前記文
字生成部5、8が、該書体ファイル7から指定された書
体の前記各ストロークの輪郭点データと品質補正情報を
読み出し、該共通ファイル6から該各ストロークの構造
情報を読み出すことを特徴とする。
【0028】
【作用】本発明の請求項1又は5では、各文字の各スト
ロークの構造情報を予め格納しておき、文字の拡大又は
縮小に対し、輪郭点データに拡大又は縮小倍率を乗じた
輪郭点データを演算し、該輪郭点データをストロークの
構造情報と品質補正情報により量子化補正して、各スト
ロークを形成して、拡大された又は縮小された文字パタ
ーンを生成するようにしているので、パターン認識によ
るストロークの誤認が生じないから、正確に品質補正で
き、しかもメモリに格納するだけで良いので、容易に実
現できる。
ロークの構造情報を予め格納しておき、文字の拡大又は
縮小に対し、輪郭点データに拡大又は縮小倍率を乗じた
輪郭点データを演算し、該輪郭点データをストロークの
構造情報と品質補正情報により量子化補正して、各スト
ロークを形成して、拡大された又は縮小された文字パタ
ーンを生成するようにしているので、パターン認識によ
るストロークの誤認が生じないから、正確に品質補正で
き、しかもメモリに格納するだけで良いので、容易に実
現できる。
【0029】本発明の請求項2又は6では、品質補正情
報が、量子化誤差補正の基準点となる基準点情報と、丸
め処理のための相対点情報であるので、品質補正情報を
少なくして、正確な品質補正ができる。
報が、量子化誤差補正の基準点となる基準点情報と、丸
め処理のための相対点情報であるので、品質補正情報を
少なくして、正確な品質補正ができる。
【0030】本発明の請求項3又は7では、ストローク
の輪郭点データが、前記ストロークを複数のパーツに分
割した各パーツの輪郭点データから構成されているの
で、パーツを複数の文字で共用でき、輪郭データの数を
削減できる。
の輪郭点データが、前記ストロークを複数のパーツに分
割した各パーツの輪郭点データから構成されているの
で、パーツを複数の文字で共用でき、輪郭データの数を
削減できる。
【0031】本発明の請求項4又は8では、文字パター
ンの各ストロークの構造情報を格納する共通ファイル6
と、各書体毎に前記各ストロークの輪郭点データと品質
補正情報とを格納する書体ファイル7とを含み、前記文
字生成部5、8が、該書体ファイル7から指定された書
体の前記各ストロークの輪郭点データと品質補正情報を
読み出し、該共通ファイル6から該各ストロークの構造
情報を読み出すので、同一文字の各書体毎に、ストロー
クの構造情報を持つ必要がなく、各書体は、書体を表す
輪郭データと品質補正情報とを持てば良く、限られた資
源で、多数の書体データを格納しつつ、正確な品質補正
ができる。
ンの各ストロークの構造情報を格納する共通ファイル6
と、各書体毎に前記各ストロークの輪郭点データと品質
補正情報とを格納する書体ファイル7とを含み、前記文
字生成部5、8が、該書体ファイル7から指定された書
体の前記各ストロークの輪郭点データと品質補正情報を
読み出し、該共通ファイル6から該各ストロークの構造
情報を読み出すので、同一文字の各書体毎に、ストロー
クの構造情報を持つ必要がなく、各書体は、書体を表す
輪郭データと品質補正情報とを持てば良く、限られた資
源で、多数の書体データを格納しつつ、正確な品質補正
ができる。
【0032】
(a) 第1の実施例の説明 図2は本発明の一実施例構成図、プリンタ制御部を示し
てあり、図3、図4、図5は本発明の第1の実施例デー
タ説明図(その1)、(その2)、(その3)であり、
異なる書体のデータを示している。
てあり、図3、図4、図5は本発明の第1の実施例デー
タ説明図(その1)、(その2)、(その3)であり、
異なる書体のデータを示している。
【0033】図2において、1はホストであり、パーソ
ナルコンピュータ、ワードプロセッサ等で構成され、プ
リンタ制御部に印刷データを送出するもの、2はホスト
インタフェース処理部であり、ホスト1とのインタフェ
ース制御を行うもの、3はコマンド処理部であり、ホス
ト1からの印刷データが、図形データか、文字データか
を判別するものである。
ナルコンピュータ、ワードプロセッサ等で構成され、プ
リンタ制御部に印刷データを送出するもの、2はホスト
インタフェース処理部であり、ホスト1とのインタフェ
ース制御を行うもの、3はコマンド処理部であり、ホス
ト1からの印刷データが、図形データか、文字データか
を判別するものである。
【0034】4は図形処理部であり、図形データに応じ
て、図形のビットデータを作成するもの、5は文字処理
部であり、文字データ(文字コード、文字サイズ、書体
名)に応じて、後述する共通書体情報格納メモリ6、書
体情報格納メモリ7から必要な構造情報等と、書体に固
有の書体データ(品質補正情報を含む)を読出し、アウ
トライン形式の文字データを作成するものである。
て、図形のビットデータを作成するもの、5は文字処理
部であり、文字データ(文字コード、文字サイズ、書体
名)に応じて、後述する共通書体情報格納メモリ6、書
体情報格納メモリ7から必要な構造情報等と、書体に固
有の書体データ(品質補正情報を含む)を読出し、アウ
トライン形式の文字データを作成するものである。
【0035】6は共通書体情報格納メモリであり、各文
字の書体に共通な情報(構造情報等)を格納するもの、
7は書体情報格納メモリであり、それぞれの書体に固有
な書体データを格納するもの、8はビットデータ展開部
であり、アウトライン形式の文字データを文字ビットデ
ータに展開するもの、9はビットマップメモリであり、
図形ビットデータと、文字ビットデータとが書き込まれ
るものであり、図示しないプリンタ機構部に出力して、
印刷させるものである。
字の書体に共通な情報(構造情報等)を格納するもの、
7は書体情報格納メモリであり、それぞれの書体に固有
な書体データを格納するもの、8はビットデータ展開部
であり、アウトライン形式の文字データを文字ビットデ
ータに展開するもの、9はビットマップメモリであり、
図形ビットデータと、文字ビットデータとが書き込まれ
るものであり、図示しないプリンタ機構部に出力して、
印刷させるものである。
【0036】共通書体情報格納メモリ6には、図3
(A)に示す文字「森」を例にすると、図3(B)に示
すように、「木」という3つのエレメントA、B、Cの
文字要素ブロックコードと、3つのエレメントの文字要
素の特長であるエレメントを構成する各ストロークの構
造情報が格納されている。
(A)に示す文字「森」を例にすると、図3(B)に示
すように、「木」という3つのエレメントA、B、Cの
文字要素ブロックコードと、3つのエレメントの文字要
素の特長であるエレメントを構成する各ストロークの構
造情報が格納されている。
【0037】この例では、エレメント「木」は、横線、
縦線、左はらい、右はらいの4つの構造のストロークで
構成されていることを示す。一方、書体情報格納メモリ
7には、図4、図5に示す如く明朝体書体、角ゴシック
書体に対する各ストロークの品質補正情報と輪郭データ
が格納されている。
縦線、左はらい、右はらいの4つの構造のストロークで
構成されていることを示す。一方、書体情報格納メモリ
7には、図4、図5に示す如く明朝体書体、角ゴシック
書体に対する各ストロークの品質補正情報と輪郭データ
が格納されている。
【0038】例えば、図4(A)の明朝体書体「森」に
対しては、図4(B)に示すストローク1の各輪郭点a
〜fに対し、図4(C)に示すように、各輪郭点a〜f
のX、Y座標Xa〜Xf、Ya〜Yfが格納されてい
る。
対しては、図4(B)に示すストローク1の各輪郭点a
〜fに対し、図4(C)に示すように、各輪郭点a〜f
のX、Y座標Xa〜Xf、Ya〜Yfが格納されてい
る。
【0039】そして、各輪郭点座標に対し、品質補正情
報が設定され、ストローク1は横線のため、図4(B)
の下2点e、fにレファレンスポイント(基準点)の
「0」を、残りの4点a〜dにリラティブポイント(相
対点)の「1」を設定している。
報が設定され、ストローク1は横線のため、図4(B)
の下2点e、fにレファレンスポイント(基準点)の
「0」を、残りの4点a〜dにリラティブポイント(相
対点)の「1」を設定している。
【0040】又、図5(A)の各ゴシック書体「森」に
対しては、図5(B)に示すストローク1の各輪郭点a
〜dに対し、図5(C)に示すように、各輪郭点a〜d
のX、Y座標Xa〜Xd、Ya〜Ydが格納されてい
る。
対しては、図5(B)に示すストローク1の各輪郭点a
〜dに対し、図5(C)に示すように、各輪郭点a〜d
のX、Y座標Xa〜Xd、Ya〜Ydが格納されてい
る。
【0041】そして、各輪郭点座標に対し、品質補正情
報が設定され、ストローク1は横線のため、図5(B)
の下2点c、dにレファレンスポイント(基準点)の
「0」を、残りの2点a〜bにリラティブポイント(相
対点)の「1」を設定している。
報が設定され、ストローク1は横線のため、図5(B)
の下2点c、dにレファレンスポイント(基準点)の
「0」を、残りの2点a〜bにリラティブポイント(相
対点)の「1」を設定している。
【0042】図6は本発明の第1の実施例文字展開処理
フロー図、図7は本発明の第1の実施例ヒント処理フロ
ー図、図8は本発明の第1の実施例動作説明図である。
先ず、ホスト1からプリンタ制御部に、印刷データが送
られてくる。この印刷データは、書体、文字、文字サイ
ズの指定、図形の指定である。
フロー図、図7は本発明の第1の実施例ヒント処理フロ
ー図、図8は本発明の第1の実施例動作説明図である。
先ず、ホスト1からプリンタ制御部に、印刷データが送
られてくる。この印刷データは、書体、文字、文字サイ
ズの指定、図形の指定である。
【0043】ホストインタフェース処理部2は、この印
刷データを解読し、コマンド処理部3に送る。コマンド
処理部3は、図形の印刷データは、図形処理部4に、文
字の印刷データは、文字処理部5へ送る。
刷データを解読し、コマンド処理部3に送る。コマンド
処理部3は、図形の印刷データは、図形処理部4に、文
字の印刷データは、文字処理部5へ送る。
【0044】図形処理部4は、図形データを図形のビッ
トデータに展開し、ビットマップメモリ9に書き込む。
一方、文字処理部5は、図6の処理により、文字を展開
する。
トデータに展開し、ビットマップメモリ9に書き込む。
一方、文字処理部5は、図6の処理により、文字を展開
する。
【0045】文字処理部5は、文字コードと、書体名
と、文字サイズとを読み込み、文字コードで共通情報格
納メモリ(共通ファイルという)6から対応する文字の
ストローク構造情報を読み込み、文字コードと書体名と
で、書体格納メモリ(書体ファイルという)7から対応
する文字の輪郭点情報と品質補正情報と読み込む。
と、文字サイズとを読み込み、文字コードで共通情報格
納メモリ(共通ファイルという)6から対応する文字の
ストローク構造情報を読み込み、文字コードと書体名と
で、書体格納メモリ(書体ファイルという)7から対応
する文字の輪郭点情報と品質補正情報と読み込む。
【0046】文字処理部5は、各ストロークの輪郭点
情報に対し、文字サイズで決定される倍率を乗じた上
で、各エレメントの各ストロークに対し、図7のヒント
処理を実行する。
情報に対し、文字サイズで決定される倍率を乗じた上
で、各エレメントの各ストロークに対し、図7のヒント
処理を実行する。
【0047】ストロークが横線、横はらいであれば、図
8に示すように、リファレンスポイントe、fをY整数
値にまるめ、レラティブポイントa〜dのY座標をまる
め、最後に、全ての点のX座標をまるめる。
8に示すように、リファレンスポイントe、fをY整数
値にまるめ、レラティブポイントa〜dのY座標をまる
め、最後に、全ての点のX座標をまるめる。
【0048】同様に、ストロークが縦線、縦はらいであ
れば、リファレンスポイントをX整数値にまるめ、レラ
ティブポイントのX座標をまるめ、最後に、全ての点の
Y座標をまるめる。
れば、リファレンスポイントをX整数値にまるめ、レラ
ティブポイントのX座標をまるめ、最後に、全ての点の
Y座標をまるめる。
【0049】更に、ストロークがこれら以外であれば、
リファレンスポイントのまるめ、レラティブポイントの
まるめを行う。このようにして、各ストロークの品質補
正された輪郭座標をビットデータ展開部8に書き込む。
リファレンスポイントのまるめ、レラティブポイントの
まるめを行う。このようにして、各ストロークの品質補
正された輪郭座標をビットデータ展開部8に書き込む。
【0050】文字処理部5は、1文字内の全てのエレ
メントについて終了したかを調べ、終了していなけれ
ば、ステップに戻り、終了していれば、終了する。次
に、ビットデータ展開部8は、図8に示すように、与え
られた輪郭情報に従い、輪郭を描画し、内部を塗り潰
し、文字パターンを生成し、ビットマップメモリ9に書
き込む。
メントについて終了したかを調べ、終了していなけれ
ば、ステップに戻り、終了していれば、終了する。次
に、ビットデータ展開部8は、図8に示すように、与え
られた輪郭情報に従い、輪郭を描画し、内部を塗り潰
し、文字パターンを生成し、ビットマップメモリ9に書
き込む。
【0051】ビットマップメモリ9に1頁分のビットデ
ータが書き込まれると、印刷機構部に送り、印刷せしめ
る。このように、各文字の各ストロークの構造情報を格
納したので、ストロークの構造による品質補正情報に従
う品質補正処理を正確に実行でき、文字の品質を保持し
た拡大/縮小処理が可能となるとともに、各ストローク
の構造情報を格納することにより実現できるので、容易
に実現できる。
ータが書き込まれると、印刷機構部に送り、印刷せしめ
る。このように、各文字の各ストロークの構造情報を格
納したので、ストロークの構造による品質補正情報に従
う品質補正処理を正確に実行でき、文字の品質を保持し
た拡大/縮小処理が可能となるとともに、各ストローク
の構造情報を格納することにより実現できるので、容易
に実現できる。
【0052】又、この実施例では、このような品質補正
情報を持たせると、必然的にメモリ容量が増大するが、
同一の文字に対しては,各ストロークの構造情報を共通
ファイル6に格納し、各書体特有の輪郭情報と品質補正
情報を書体別に持たせる構成をとったので、各ストロー
クの構造情報を各書体毎に持たなくて済み、大幅なメモ
リ容量が削減できる。
情報を持たせると、必然的にメモリ容量が増大するが、
同一の文字に対しては,各ストロークの構造情報を共通
ファイル6に格納し、各書体特有の輪郭情報と品質補正
情報を書体別に持たせる構成をとったので、各ストロー
クの構造情報を各書体毎に持たなくて済み、大幅なメモ
リ容量が削減できる。
【0053】各ストロークの構造情報に、1バイト要す
ると、各ストロークの構造情報は、書体数にかかわら
ず、1バイトで済むが、各書体毎に持たせると、書体数
m分のmバイト要し、例えば、文字「森」の例では、ス
トロークが16であるから、16バイトで済むが、各書
体毎に持たせると、書体数が「6」では、96バイト必
要とし、1文字に対し80バイトの削減ができ、300
0文字では、240キロバイトもの削減が可能となる。
ると、各ストロークの構造情報は、書体数にかかわら
ず、1バイトで済むが、各書体毎に持たせると、書体数
m分のmバイト要し、例えば、文字「森」の例では、ス
トロークが16であるから、16バイトで済むが、各書
体毎に持たせると、書体数が「6」では、96バイト必
要とし、1文字に対し80バイトの削減ができ、300
0文字では、240キロバイトもの削減が可能となる。
【0054】更に、品質補正情報を1ビットで示せるの
で、品質補正情報も少ない容量で実現でき、特に漢字等
の多書体のものに効果が大きい。 (b) 第2の実施例の説明 図9は本発明の第2の実施例説明図、図10は本発明の
第2の実施例共通ファイルの説明図、図11、図12は
本発明の第2の実施例書体ファイルの説明図(その
1)、(その2)である。
で、品質補正情報も少ない容量で実現でき、特に漢字等
の多書体のものに効果が大きい。 (b) 第2の実施例の説明 図9は本発明の第2の実施例説明図、図10は本発明の
第2の実施例共通ファイルの説明図、図11、図12は
本発明の第2の実施例書体ファイルの説明図(その
1)、(その2)である。
【0055】図9に示すように、文字は、連続した部分
パターンであり、部首、つくりに準ずるエレメントに分
割でき、エレメントは、筆の運びに準ずるストロークに
分割でき、ストロークは、1つの筆がつくりだすデザイ
ン的な特徴を示す左端部分、直線部分、右端部分等のパ
ーツに分割できる。
パターンであり、部首、つくりに準ずるエレメントに分
割でき、エレメントは、筆の運びに準ずるストロークに
分割でき、ストロークは、1つの筆がつくりだすデザイ
ン的な特徴を示す左端部分、直線部分、右端部分等のパ
ーツに分割できる。
【0056】このように、文字を階層的に分割していく
と、次第に文字間で共通の部分パターンが増加し、共用
できる部分パターンの数が多くなり、それだけメモリを
削減できる。
と、次第に文字間で共通の部分パターンが増加し、共用
できる部分パターンの数が多くなり、それだけメモリを
削減できる。
【0057】このパーツに、第1の実施例の思想を適用
し、更に共通ファイル6のメリットを輪郭点座標の削減
に利用したのが、本実施例である。図10(A)は、図
3の文字「森」をパーツに分割したものであり、例え
ば、エレメントA(「木」)は、ストローク横線部分
は、左端A1、直線A2、右端A3のパーツに、ストロ
ーク縦線部分は、上端A4、直線A5、下端A6のパー
ツに、ストローク斜め部分は、各々斜め線A7と、飾り
A8のパーツに、ストローク斜め部分は、各々斜め線A
9と、飾りA10のパーツに分割される。
し、更に共通ファイル6のメリットを輪郭点座標の削減
に利用したのが、本実施例である。図10(A)は、図
3の文字「森」をパーツに分割したものであり、例え
ば、エレメントA(「木」)は、ストローク横線部分
は、左端A1、直線A2、右端A3のパーツに、ストロ
ーク縦線部分は、上端A4、直線A5、下端A6のパー
ツに、ストローク斜め部分は、各々斜め線A7と、飾り
A8のパーツに、ストローク斜め部分は、各々斜め線A
9と、飾りA10のパーツに分割される。
【0058】この各パーツの共通始点位置を、図10
(A)に示すように、パーツA1、A2、A3、A4、
A5、A6、A8、A7とA9、A10の共通始点位置
a、b、c、d、e、f、g、i、hとなる。
(A)に示すように、パーツA1、A2、A3、A4、
A5、A6、A8、A7とA9、A10の共通始点位置
a、b、c、d、e、f、g、i、hとなる。
【0059】又、ここでは、実際の文字サイズ1023
×1023ドットの1/4の255×255ドットの座
標系で、共通始点位置を設定して、共通始点位置座標の
X、Yが各々1バイトで済むようにしている。
×1023ドットの1/4の255×255ドットの座
標系で、共通始点位置を設定して、共通始点位置座標の
X、Yが各々1バイトで済むようにしている。
【0060】この共通始点位置を格納する共通ファイル
6の構成は、図10(B)に示すように、エレメントコ
ードと、ストロークコード(ここでは、横線)とパーツ
コードと、その始点aの位置(絶対座標)で構成する。
6の構成は、図10(B)に示すように、エレメントコ
ードと、ストロークコード(ここでは、横線)とパーツ
コードと、その始点aの位置(絶対座標)で構成する。
【0061】例えば、文字「森」の例では、3つのエレ
メント「木」のコードと、各エレメントのストローク
(「木」では、横線、縦線、左はらい、右はらい)のコ
ードと、各ストロークのパーツコードと、各パーツの共
通始点位置とで構成され、横線のストロークに対して
は、左端のパーツコードと、左端の始点aの位置(a
x、ay)と、直線のパーツコードと、直線の始点bの
位置(bx、by)と、右端のパーツコードと、右端の
始点cの位置(cx、cy)とを有する。
メント「木」のコードと、各エレメントのストローク
(「木」では、横線、縦線、左はらい、右はらい)のコ
ードと、各ストロークのパーツコードと、各パーツの共
通始点位置とで構成され、横線のストロークに対して
は、左端のパーツコードと、左端の始点aの位置(a
x、ay)と、直線のパーツコードと、直線の始点bの
位置(bx、by)と、右端のパーツコードと、右端の
始点cの位置(cx、cy)とを有する。
【0062】次に、書体ファイル7について説明する。
図11に示すように、明朝体の「森」は、文字ボディサ
イズ1023×1023の座標系において、共通ファイ
ル6の共通始点位置a、b、c、d、e、f、g、i、
hから明朝体の各パーツA1、A2、A3、A4、A
5、A6、A8、A7とA9、A10への原点までの相
対変位量で示せば良い。
図11に示すように、明朝体の「森」は、文字ボディサ
イズ1023×1023の座標系において、共通ファイ
ル6の共通始点位置a、b、c、d、e、f、g、i、
hから明朝体の各パーツA1、A2、A3、A4、A
5、A6、A8、A7とA9、A10への原点までの相
対変位量で示せば良い。
【0063】例えば、明朝体のパーツA1は、共通始点
位置aからパーツA1の始点位置への相対変位量(Xオ
フセットrax、Yオフセットray)と、パーツA1
の輪郭情報で構成され、パーツA2以下についても同様
である。
位置aからパーツA1の始点位置への相対変位量(Xオ
フセットrax、Yオフセットray)と、パーツA1
の輪郭情報で構成され、パーツA2以下についても同様
である。
【0064】即ち、図11(B)に示す左端パーツA1
は、4つの輪郭点a1〜d1で表現されるから、図11
(C)に示すように、文字「森」の文字コード「312
4」に対し、各パーツのポインタを設け、ポインタの位
置に、パーツA1では、共通始点aからパーツA1の始
点位置への相対変位量(Xオフセットrax、Yオフセ
ットrby)と、パーツA1の輪郭情報である輪郭点a
1〜d1のパーツA1からの相対変位量Xa〜Xd、Y
a〜Ydと、その品質補正情報(レファレンスポイント
は、「0」、リラティブポイントは「1」)とを格納す
れば良い。
は、4つの輪郭点a1〜d1で表現されるから、図11
(C)に示すように、文字「森」の文字コード「312
4」に対し、各パーツのポインタを設け、ポインタの位
置に、パーツA1では、共通始点aからパーツA1の始
点位置への相対変位量(Xオフセットrax、Yオフセ
ットrby)と、パーツA1の輪郭情報である輪郭点a
1〜d1のパーツA1からの相対変位量Xa〜Xd、Y
a〜Ydと、その品質補正情報(レファレンスポイント
は、「0」、リラティブポイントは「1」)とを格納す
れば良い。
【0065】同様に、図12に示すように、角ゴシック
体の「森」は、文字ボディサイズ1023×1023の
座標系において、共通始点位置a、b、c、d、e、
f、g、i、hから各パーツA1’、A2’、A3’、
A4’、A5’、A6’、A8’、A7’とA9’、A
10’への相対変位量で示せば良い。
体の「森」は、文字ボディサイズ1023×1023の
座標系において、共通始点位置a、b、c、d、e、
f、g、i、hから各パーツA1’、A2’、A3’、
A4’、A5’、A6’、A8’、A7’とA9’、A
10’への相対変位量で示せば良い。
【0066】例えば、角ゴシック体のパーツA1’は、
共通始点位置aからパーツA1’の始点位置への相対変
位量(Xオフセットrax、Yオフセットray)と、
パーツA1’の輪郭情報で構成され、パーツA2’以下
についても同様である。
共通始点位置aからパーツA1’の始点位置への相対変
位量(Xオフセットrax、Yオフセットray)と、
パーツA1’の輪郭情報で構成され、パーツA2’以下
についても同様である。
【0067】即ち、図12(B)に示す左端パーツA
1’は、4つの輪郭点a1〜d1で表現されるから,図
12(C)に示すように、文字「森」の文字コード「3
124」に対し、各パーツのポインタを設け、ポインタ
の位置に、パーツA1’では、共通始点aからパーツA
1の始点位置への相対変位量(Xオフセットrax、Y
オフセットray)と、パーツA1’の輪郭情報である
輪郭点a1〜d1のパーツA1’からの相対変位量Xa
〜Xd、Ya〜Ydと、その品質補正情報(レファレン
スポイントは「0」、リラティブポイントは「1」)と
を格納すれば良い。
1’は、4つの輪郭点a1〜d1で表現されるから,図
12(C)に示すように、文字「森」の文字コード「3
124」に対し、各パーツのポインタを設け、ポインタ
の位置に、パーツA1’では、共通始点aからパーツA
1の始点位置への相対変位量(Xオフセットrax、Y
オフセットray)と、パーツA1’の輪郭情報である
輪郭点a1〜d1のパーツA1’からの相対変位量Xa
〜Xd、Ya〜Ydと、その品質補正情報(レファレン
スポイントは「0」、リラティブポイントは「1」)と
を格納すれば良い。
【0068】従って、書体ファイル7は、図11
(C)、図12(C)に示すように、ヘッダと、ポイン
タ部T5と、パーツポインタ部T6と、輪郭情報部T7
とで構成され、ポインタ部T5は、文字コードと書体名
とに対応したパーツポインタ部T6の先頭アドレスを示
し、パーツポインタ部T6は、当該文字を構成する各パ
ーツの輪郭情報部T7のアドレスを示す。
(C)、図12(C)に示すように、ヘッダと、ポイン
タ部T5と、パーツポインタ部T6と、輪郭情報部T7
とで構成され、ポインタ部T5は、文字コードと書体名
とに対応したパーツポインタ部T6の先頭アドレスを示
し、パーツポインタ部T6は、当該文字を構成する各パ
ーツの輪郭情報部T7のアドレスを示す。
【0069】輪郭情報部T7は、各パーツのXオフセッ
ト、Yオフセットと、そのパーツの輪郭情報と品質補正
情報とで構成される。図13は本発明の第2の実施例処
理フロー図、図14は本発明の第2の実施例動作説明図
である。
ト、Yオフセットと、そのパーツの輪郭情報と品質補正
情報とで構成される。図13は本発明の第2の実施例処
理フロー図、図14は本発明の第2の実施例動作説明図
である。
【0070】この例でも、構成は、図2のものと同一で
あり、先ず、ホスト1からプリンタ制御部に、印刷デー
タが送られてくる。この印刷データは、書体、文字、文
字サイズの指定、図形の指定である。
あり、先ず、ホスト1からプリンタ制御部に、印刷デー
タが送られてくる。この印刷データは、書体、文字、文
字サイズの指定、図形の指定である。
【0071】ホストインタフェース処理部2は、この印
刷データを解読し、コマンド処理部3に送る。コマンド
処理部3は、図形の印刷データは、図形処理部4に、文
字の印刷データは、文字処理部5へ送る。
刷データを解読し、コマンド処理部3に送る。コマンド
処理部3は、図形の印刷データは、図形処理部4に、文
字の印刷データは、文字処理部5へ送る。
【0072】図形処理部4は、図形データを図形のビッ
トデータに展開し、ビットマップメモリ9に書き込む。
一方、文字処理部5は、図13の処理により、文字を展
開する。
トデータに展開し、ビットマップメモリ9に書き込む。
一方、文字処理部5は、図13の処理により、文字を展
開する。
【0073】文字処理部5は、文字コードと、書体名
と、文字サイズとを読み込み、文字コードで共通ファイ
ル6から対応する各エレメントコードと、各ストローク
コード(ストロークの構造情報)と、各パーツコード
と、その共通始点位置を読み込み、文字コードと書体名
とで、書体ファイル7から対応する各パーツコードと、
オフセット値と、輪郭情報と品質補正情報を読み込む。
と、文字サイズとを読み込み、文字コードで共通ファイ
ル6から対応する各エレメントコードと、各ストローク
コード(ストロークの構造情報)と、各パーツコード
と、その共通始点位置を読み込み、文字コードと書体名
とで、書体ファイル7から対応する各パーツコードと、
オフセット値と、輪郭情報と品質補正情報を読み込む。
【0074】文字処理部5は、各パーツの始点の位置
を、共通始点位置とオフセット値から下記式で算出す
る。 始点位置X=共通始点位置nx×4+オフセット値rn
x 始点位置Y=共通始点位置ny×4+オフセット値rn
x この始点位置と配置原点として、パーツの各輪郭点の座
標を1023×1023の座標系の座標に計算する。
を、共通始点位置とオフセット値から下記式で算出す
る。 始点位置X=共通始点位置nx×4+オフセット値rn
x 始点位置Y=共通始点位置ny×4+オフセット値rn
x この始点位置と配置原点として、パーツの各輪郭点の座
標を1023×1023の座標系の座標に計算する。
【0075】次に、ヒント処理が指定されていると、
指定文字サイズの倍率を各輪郭点座標に掛け、指定文字
サイズの各輪郭点座標をえて、図7のヒント処理を実行
する。
指定文字サイズの倍率を各輪郭点座標に掛け、指定文字
サイズの各輪郭点座標をえて、図7のヒント処理を実行
する。
【0076】即ち、各パーツのストロークコード(構造
情報)により、ストロークが横線、横はらいであれば、
図8に示すように、リファレンスポイントe、fをY整
数値にまるめ、レラティブポイントa〜dのY座標をま
るめ、最後に、全ての点のX座標をまるめる。
情報)により、ストロークが横線、横はらいであれば、
図8に示すように、リファレンスポイントe、fをY整
数値にまるめ、レラティブポイントa〜dのY座標をま
るめ、最後に、全ての点のX座標をまるめる。
【0077】同様に、ストロークが縦線、縦はらいであ
れば、リファレンスポイントをX整数値にまるめ、レラ
ティブポイントのX座標をまるめ、最後に、全ての点の
Y座標をまるめる。
れば、リファレンスポイントをX整数値にまるめ、レラ
ティブポイントのX座標をまるめ、最後に、全ての点の
Y座標をまるめる。
【0078】更に、ストロークがこれら以外であれば、
リファレンスポイントのまるめ、レラティブポイントの
まるめを行う。このようにして、各ストロークの品質補
正された輪郭座標をビットデータ展開部8に書き込む。
リファレンスポイントのまるめ、レラティブポイントの
まるめを行う。このようにして、各ストロークの品質補
正された輪郭座標をビットデータ展開部8に書き込む。
【0079】文字処理部5は、1ストローク内の全て
のパーツについて終了したかを、共通ファイル6のスト
ロークブロックT3(図10参照)により調べ、終了し
ていなければ、ステップに戻る。
のパーツについて終了したかを、共通ファイル6のスト
ロークブロックT3(図10参照)により調べ、終了し
ていなければ、ステップに戻る。
【0080】1ストローク内の全てのパーツについて
終了していれば、次に、文字処理部5は、1エレメント
内の全てのストロークについて終了したかを、共通ファ
イル6のエレメントブロックT2により調べ、終了して
いなければ、ステップに戻る。
終了していれば、次に、文字処理部5は、1エレメント
内の全てのストロークについて終了したかを、共通ファ
イル6のエレメントブロックT2により調べ、終了して
いなければ、ステップに戻る。
【0081】1エレメント内の全てのストロークにつ
いて終了していれば、次に、文字処理部5は、1文字内
の全てのエレメントについて終了したかを、共通ファイ
ル6のエレメントディレクトリにより調べ、終了してい
なければ、ステップに戻り、終了していれば、終了す
る。
いて終了していれば、次に、文字処理部5は、1文字内
の全てのエレメントについて終了したかを、共通ファイ
ル6のエレメントディレクトリにより調べ、終了してい
なければ、ステップに戻り、終了していれば、終了す
る。
【0082】次に、ビットデータ展開部8は、与えられ
た配置原点から輪郭情報に従い、輪郭を描画し、内部を
塗り潰し、文字パターンを生成し、ビットマップメモリ
9に書き込む。
た配置原点から輪郭情報に従い、輪郭を描画し、内部を
塗り潰し、文字パターンを生成し、ビットマップメモリ
9に書き込む。
【0083】ビットマップメモリ9に1頁分のビットデ
ータが書き込まれると、印刷機構部に送り、印刷せしめ
る。これを図14により説明すると、文字コード(ここ
では、文字「森」で、JISコードは3124)を受け
ると、共通ファイル6のポインタ部T1が、エレメント
ブロックT2の「森」を構成するエレメントの先頭アド
レスを指す。
ータが書き込まれると、印刷機構部に送り、印刷せしめ
る。これを図14により説明すると、文字コード(ここ
では、文字「森」で、JISコードは3124)を受け
ると、共通ファイル6のポインタ部T1が、エレメント
ブロックT2の「森」を構成するエレメントの先頭アド
レスを指す。
【0084】エレメントブロックT2は、エレメントコ
ードと、そのエレメントを構成するストロークブロック
T3を有し、ここでは、「森」が、3つの「木」という
エレメントから構成されているため、「木」のエレメン
トコードと、ストロークブロックがそれぞれ3つあり、
このエレメントは筆順に従って並んでいる。
ードと、そのエレメントを構成するストロークブロック
T3を有し、ここでは、「森」が、3つの「木」という
エレメントから構成されているため、「木」のエレメン
トコードと、ストロークブロックがそれぞれ3つあり、
このエレメントは筆順に従って並んでいる。
【0085】ストロークブロックT3は、エレメントブ
ロックT2内に有り、ストロークコードと、そのストロ
ークを構成するパーツに関する情報(パーツブロックT
4)を持ち、ここでは、「森」のひとつめのエレメント
「木」が、4本のストロークから構成されているため、
4つのストロークコード(横線、縦線、左はらい、右は
らい)と、それぞれのパーツブロックT4を持ち、この
ストロークも筆順に従って並んでいる。
ロックT2内に有り、ストロークコードと、そのストロ
ークを構成するパーツに関する情報(パーツブロックT
4)を持ち、ここでは、「森」のひとつめのエレメント
「木」が、4本のストロークから構成されているため、
4つのストロークコード(横線、縦線、左はらい、右は
らい)と、それぞれのパーツブロックT4を持ち、この
ストロークも筆順に従って並んでいる。
【0086】パーツブロックT4は、ストロークブロッ
クT3内に有り、そのストロークを構成するパーツと、
その位置情報が格納されており、ここでは、「木」の1
画目に着目すると、この横線は、入筆部(点a)、送筆
部(点b)、終筆部(点c)の3つのパーツから構成さ
れ、それぞれのパーツコードと、位置情報(X、Y)を
持つ。
クT3内に有り、そのストロークを構成するパーツと、
その位置情報が格納されており、ここでは、「木」の1
画目に着目すると、この横線は、入筆部(点a)、送筆
部(点b)、終筆部(点c)の3つのパーツから構成さ
れ、それぞれのパーツコードと、位置情報(X、Y)を
持つ。
【0087】この位置情報の座標値は、前記の通り25
5×255の座標系で表現され、パーツは、運筆の方向
に従って並んでいる。このように、文字「森」のパーツ
ブロックには、計30のパーツコードと位置情報が格納
されており、これは筆順通りである。
5×255の座標系で表現され、パーツは、運筆の方向
に従って並んでいる。このように、文字「森」のパーツ
ブロックには、計30のパーツコードと位置情報が格納
されており、これは筆順通りである。
【0088】次に、書体ファイル7においては、書体名
と文字コードを受けると、ポインタ部T5が、パーツポ
インタ部T6の書体「森」を構成するパーツポインタの
先頭アドレスを示す。
と文字コードを受けると、ポインタ部T5が、パーツポ
インタ部T6の書体「森」を構成するパーツポインタの
先頭アドレスを示す。
【0089】パーツポインタ部T6は、文字毎に、その
文字を構成するパーツ数分だけポインタが格納されてお
り、ここでは、「森」は30のパーツから構成されてい
るため、パーツポインタが30個連続して格納されてお
り、これは筆順に従っている。
文字を構成するパーツ数分だけポインタが格納されてお
り、ここでは、「森」は30のパーツから構成されてい
るため、パーツポインタが30個連続して格納されてお
り、これは筆順に従っている。
【0090】即ち、1画目の入筆部のパーツポインタ、
送筆部のパーツポインタ、終筆部のパーツポインタ、2
画目の入筆部のパーツポインタ・・・という順であり、
これは共通ファイル6のパーツの順番と完全に一致して
いる。
送筆部のパーツポインタ、終筆部のパーツポインタ、2
画目の入筆部のパーツポインタ・・・という順であり、
これは共通ファイル6のパーツの順番と完全に一致して
いる。
【0091】パーツポインタは、そのパーツの始点位置
情報(X、Y)及び輪郭情報(品質補正情報を含む)を
持つ輪郭情報部T7を指し、始点位置情報は、共通ファ
イル6が持つ絶対位置からのオフセット値で表現され、
例えば、パーツポインタ1が指している輪郭情報部T7
が持つ位置情報は、共通ファイル6の点aからのオフセ
ット値(相対変位量)である。
情報(X、Y)及び輪郭情報(品質補正情報を含む)を
持つ輪郭情報部T7を指し、始点位置情報は、共通ファ
イル6が持つ絶対位置からのオフセット値で表現され、
例えば、パーツポインタ1が指している輪郭情報部T7
が持つ位置情報は、共通ファイル6の点aからのオフセ
ット値(相対変位量)である。
【0092】このようにして、共通ファイル6の共通始
点位置情報と、書体ファイル7の書体別のオフセット値
が読み込まれると、各パーツの絶対始点位置が算出さ
れ、この絶対始点位置を拡大/縮小処理し、ヒント処理
して、パーツを書き込むことにより、文字パターンが生
成される。
点位置情報と、書体ファイル7の書体別のオフセット値
が読み込まれると、各パーツの絶対始点位置が算出さ
れ、この絶対始点位置を拡大/縮小処理し、ヒント処理
して、パーツを書き込むことにより、文字パターンが生
成される。
【0093】このように、各書体に共通の始点座標を設
定し、書体別にオフセット値を設定するので、この例で
は、1023×1023ドットの「森」の例で示すと、
共通始点位置として、30のパーツに対し、各々X、Y
に1バイトづつの60バイトを、オフセット値として、
各書体に対し、30のパーツ要素に対し、各々X、Yに
1バイトづつの60バイトを必要とする。
定し、書体別にオフセット値を設定するので、この例で
は、1023×1023ドットの「森」の例で示すと、
共通始点位置として、30のパーツに対し、各々X、Y
に1バイトづつの60バイトを、オフセット値として、
各書体に対し、30のパーツ要素に対し、各々X、Yに
1バイトづつの60バイトを必要とする。
【0094】従って、書体数が「3」なら、240バイ
トで済み、従来の各書体毎に絶対位置で表示し、Xに2
バイト、Yに2バイト要するでは、360(30×4×
3)バイト要し、必要な記憶容量が削減でき、書体数が
増える程、削減の効果が大きく、例えば、書体数が
「6」では、この実施例では、420バイトでよいが、
従来技術では、720バイト必要とし、削減の効果が大
きい。
トで済み、従来の各書体毎に絶対位置で表示し、Xに2
バイト、Yに2バイト要するでは、360(30×4×
3)バイト要し、必要な記憶容量が削減でき、書体数が
増える程、削減の効果が大きく、例えば、書体数が
「6」では、この実施例では、420バイトでよいが、
従来技術では、720バイト必要とし、削減の効果が大
きい。
【0095】(c) 第3の実施例の説明 図15は本発明の第3の実施例説明図であり、書体ファ
イル7の他の例を示している。
イル7の他の例を示している。
【0096】この例では、輪郭情報部T7を、オフセッ
ト情報部T71と、輪郭情報部(輪郭情報と品質補正情
報)T72に分け、パーツポインタ部T6により、オフ
セット情報部T71と、輪郭情報部T72とを指すよう
にしたものである。
ト情報部T71と、輪郭情報部(輪郭情報と品質補正情
報)T72に分け、パーツポインタ部T6により、オフ
セット情報部T71と、輪郭情報部T72とを指すよう
にしたものである。
【0097】このようにしたのは、第2の実施例では、
オフセット値と輪郭情報が一体のため、輪郭が同一で
も、オフセットが異なると、文字間で共用できないた
め、オフセット情報と、輪郭情報を分け、輪郭の同一の
ものは、輪郭情報を共用できるようにしたものであり、
このようにすると、輪郭情報の数が大幅に減少できる。
オフセット値と輪郭情報が一体のため、輪郭が同一で
も、オフセットが異なると、文字間で共用できないた
め、オフセット情報と、輪郭情報を分け、輪郭の同一の
ものは、輪郭情報を共用できるようにしたものであり、
このようにすると、輪郭情報の数が大幅に減少できる。
【0098】(d) 他の実施例の説明 上述の実施例の他に、本発明は、次のような変形が可能
である。 第1の実施例では、輪郭情報を絶対座標で示している
が、第2の実施例のように、共通ファイルに共通始点位
置を絶対座標で格納し、書体ファイルの輪郭情報を相対
座標で示して、輪郭情報の削減を図ることもできる。
である。 第1の実施例では、輪郭情報を絶対座標で示している
が、第2の実施例のように、共通ファイルに共通始点位
置を絶対座標で格納し、書体ファイルの輪郭情報を相対
座標で示して、輪郭情報の削減を図ることもできる。
【0099】構造情報をストローク単位で表現してい
るが、パーツ単位で表現しても良い。 以上、本発明を実施例により説明したが、本発明の主旨
の範囲内で種々の変形か可能であり、これらを本発明の
範囲から排除するものではない。
るが、パーツ単位で表現しても良い。 以上、本発明を実施例により説明したが、本発明の主旨
の範囲内で種々の変形か可能であり、これらを本発明の
範囲から排除するものではない。
【0100】
【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。 各文字の各ストロークの構造情報を予め格納してお
き、文字の拡大又は縮小に対し、輪郭点データに拡大又
は縮小倍率を乗じた輪郭点データを演算し、該輪郭点デ
ータをストロークの構造情報と品質補正情報により量子
化補正して、各ストロークを形成して、拡大された又は
縮小された文字パターンを生成するようにしているの
で、パターン認識によるようなストロークの誤認が生じ
ないから、正確に品質補正できる。
次の効果を奏する。 各文字の各ストロークの構造情報を予め格納してお
き、文字の拡大又は縮小に対し、輪郭点データに拡大又
は縮小倍率を乗じた輪郭点データを演算し、該輪郭点デ
ータをストロークの構造情報と品質補正情報により量子
化補正して、各ストロークを形成して、拡大された又は
縮小された文字パターンを生成するようにしているの
で、パターン認識によるようなストロークの誤認が生じ
ないから、正確に品質補正できる。
【0101】しかもメモリに格納するだけで良いの
で、容易に実現できる。
で、容易に実現できる。
【図1】本発明の原理図である。
【図2】本発明の一実施例構成図である。
【図3】本発明の第1の実施例データ説明図(その1)
である
である
【図4】本発明の第1の実施例データ説明図(その2)
である
である
【図5】本発明の第1の実施例データ説明図(その3)
である
である
【図6】本発明の第1の実施例文字展開処理フロー図で
ある。
ある。
【図7】本発明の第1の実施例ヒント処理フロー図であ
る。
る。
【図8】本発明の第1の実施例動作説明図である。
【図9】本発明の第2の実施例説明図である。
【図10】本発明の第2の実施例共通ファイルの説明図
である。
である。
【図11】本発明の第2の実施例書体ファイル説明図
(その1)である。
(その1)である。
【図12】本発明の第2の実施例書体ファイル説明図
(その2)である。
(その2)である。
【図13】本発明の第2の実施例文字展開処理フロー図
である。
である。
【図14】本発明の第2の実施例動作説明図である。
【図15】本発明の第3の実施例説明図である。
【図16】従来技術の説明図(その1)である。
【図17】従来技術の説明図(その2)である。
【図18】従来技術の説明図(その3)である。
1 ホスト 2 ホストインタフェース処理部 3 コマンド処理部 4 図形処理部 5 文字処理部 6 共通書体情報格納メモリ(共通ファイル) 7 書体情報格納メモリ(書体ファイル) 8 ビットデータ展開部 9 ビットマップメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 知子 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 本門 慎一郎 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平2−278389(JP,A) 特開 平3−92898(JP,A) 特開 平3−221994(JP,A) 特開 平1−166967(JP,A) 特開 昭61−147288(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/00 - 5/42 G06F 3/14 - 3/153 G06F 17/21 - 17/26 B41J 2/485
Claims (8)
- 【請求項1】 文字パターンを少なくとも複数のストロ
ークに分割して、各ストロークの輪郭点データを格納
し、該輪郭点データにより各ストロークを形成して、該
文字パターンを生成する文字生成方法において、 各文字の書体に共通な該ストロークの構造情報と、それ
ぞれの文字に固有な該輪郭点データの品質補正情報を、
各文字の各書体毎に格納しておき、文字パターンの生成時には、各文字の各書体に応じた輪
郭点データの品質補正情報を用い、 文字の拡大又は縮小
に対し、該輪郭点データに拡大又は縮小倍率を乗じた輪
郭点データを演算し、該輪郭点データを該ストロークの
構造情報と該品質補正情報により量子化補正して、各ス
トロークを形成して、該拡大された又は縮小された文字
パターンを生成することを特徴とする文字生成方法。 - 【請求項2】 前記品質補正情報が、量子化誤差補正の
基準点となる基準点情報と、丸め処理のための相対点情
報であることを特徴とする請求項1の文字生成方法。 - 【請求項3】 前記ストロークの輪郭点データが、前記
ストロークを複数のパーツに分割した各パーツの輪郭点
データから構成されていることを特徴とする請求項1又
は2の文字生成方法。 - 【請求項4】 前記文字パターンの各ストロークの構造
情報を共通ファイル(6)に格納し、各書体毎に前記各
ストロークの輪郭点データと品質補正情報とを書体ファ
イル(7)に格納し、該書体ファイル(7)から指定さ
れた書体の前記各ストロークの輪郭点データと品質補正
情報を読み出し、該共通ファイル(6)から該各ストロ
ークの構造情報を読み出すことを特徴とする請求項1又
は2又は3の文字生成方法。 - 【請求項5】 文字パターンを少なくとも複数のストロ
ークに分割して、各ストロークの輪郭点データを格納
し、該輪郭点データにより各ストロークを形成して、該
文字パターンを生成する文字生成装置において、 各文字の書体に共通な該ストロークの構造情報と、それ
ぞれの文字に固有な該ストロークの輪郭点データと、該
輪郭点データの品質補正情報を、各文字の各書体毎に格
納するファイル(6、7)と、文字パターンの生成時には、各文字の各書体に応じた輪
郭点データの品質補正情報を用い、 文字の拡大又は縮小
に対し、該ファイル(6、7)の該輪郭点データに拡大
又は縮小倍率を乗じた輪郭点データを演算し、該輪郭点
データを該ストロークの構造情報と該品質補正情報によ
り量子化補正して、各ストロークを形成して、該拡大さ
れた又は縮小された文字パターンを生成する文字生成部
(5、8)とを有することを特徴とする文字生成装置。 - 【請求項6】 前記品質補正情報が、量子化誤差補正の
基準点となる基準点情報と、丸め処理のための相対点情
報であることを特徴とする請求項5の文字生成装置。 - 【請求項7】 前記ストロークの輪郭点データが、前記
ストロークを複数のパーツに分割した各パーツの輪郭点
データから構成されていることを特徴とする請求項5又
は6の文字生成装置。 - 【請求項8】 前記ファイル(6、7)が、前記文字パ
ターンの各ストロークの構造情報を格納する共通ファイ
ル(6)と、各書体毎に前記各ストロークの輪郭点デー
タと品質補正情報とを格納する書体ファイル(7)とを
含み、前記文字生成部(5、8)が、該書体ファイル
(7)から指定された書体の前記各ストロークの輪郭点
データと品質補正情報を読み出し、該共通ファイル
(6)から該各ストロークの構造情報を読み出すことを
特徴とする請求項5又は6又は7の文字生成装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03340092A JP3347756B2 (ja) | 1992-02-20 | 1992-02-20 | 文字生成方法及びその装置 |
KR93000968A KR960015761B1 (en) | 1992-01-27 | 1993-01-27 | Charaster gerenating method and apparatus |
CN93102394.7A CN1027472C (zh) | 1992-01-27 | 1993-01-27 | 文字生成方法及其装置 |
US08/009,896 US5727140A (en) | 1992-01-27 | 1993-01-27 | Character generating method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03340092A JP3347756B2 (ja) | 1992-02-20 | 1992-02-20 | 文字生成方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05232931A JPH05232931A (ja) | 1993-09-10 |
JP3347756B2 true JP3347756B2 (ja) | 2002-11-20 |
Family
ID=12385550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03340092A Expired - Fee Related JP3347756B2 (ja) | 1992-01-27 | 1992-02-20 | 文字生成方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3347756B2 (ja) |
-
1992
- 1992-02-20 JP JP03340092A patent/JP3347756B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05232931A (ja) | 1993-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5727140A (en) | Character generating method and apparatus | |
KR100193584B1 (ko) | 문자 발생 시스템 및 문자 발생 방법 | |
JP3474037B2 (ja) | 文字パターン生成装置 | |
JP3145509B2 (ja) | 文字生成方法及びその装置 | |
JPH06328785A (ja) | 文字生成方法及びその装置 | |
JP3037854B2 (ja) | 文字生成方法及びその装置 | |
JP3347756B2 (ja) | 文字生成方法及びその装置 | |
JPH05120441A (ja) | ベクトル画像描画装置 | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
JPH09325750A (ja) | 画像処理装置および方法 | |
JP3055187B2 (ja) | 輪郭線データ処理装置 | |
JPH05232926A (ja) | 文字記号発生装置 | |
JP3344538B2 (ja) | 文字生成装置 | |
JP3034141B2 (ja) | 文字生成方法及びその装置 | |
JP2562458B2 (ja) | コンピュータシステム用文字発生方法 | |
JP2569489B2 (ja) | 毛筆文字出力装置 | |
JP2629098B2 (ja) | 文字配置補正方式 | |
JP2782752B2 (ja) | 文字パターン出力装置 | |
JPH05204360A (ja) | 文字生成方法及びその装置 | |
JP2935189B2 (ja) | アウトラインフォント処理装置 | |
JP2771629B2 (ja) | 文字処理装置 | |
JP2835056B2 (ja) | 高品質文字パターン発生方式 | |
JPH08101675A (ja) | フォント展開装置 | |
JP3072756B2 (ja) | 描画装置 | |
JPH06251164A (ja) | 文字パターン生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020122 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020820 |
|
LAPS | Cancellation because of no payment of annual fees |