JP3037854B2 - 文字生成方法及びその装置 - Google Patents

文字生成方法及びその装置

Info

Publication number
JP3037854B2
JP3037854B2 JP5195455A JP19545593A JP3037854B2 JP 3037854 B2 JP3037854 B2 JP 3037854B2 JP 5195455 A JP5195455 A JP 5195455A JP 19545593 A JP19545593 A JP 19545593A JP 3037854 B2 JP3037854 B2 JP 3037854B2
Authority
JP
Japan
Prior art keywords
coordinates
character
stroke
coordinate
origin
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5195455A
Other languages
English (en)
Other versions
JPH0725068A (ja
Inventor
年邦 ▲吉▼田
武都美 大伴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5195455A priority Critical patent/JP3037854B2/ja
Priority to US08/225,955 priority patent/US5450096A/en
Priority to CN94108137A priority patent/CN1071976C/zh
Priority to KR1019940016705A priority patent/KR0142162B1/ko
Publication of JPH0725068A publication Critical patent/JPH0725068A/ja
Application granted granted Critical
Publication of JP3037854B2 publication Critical patent/JP3037854B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/485Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by the process of building-up characters or image elements applicable to two or more kinds of printing or marking processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • G06K2215/0045Converting outline to bitmap

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図13乃至図14) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用 実施例 (a)第1の実施例の説明(図2乃至図8) (b)他の実施例の説明(図9乃至図12) 発明の効果
【0002】
【産業上の利用分野】本発明は、論理座標系で表現され
たアウトライン文字を、整数値で表現される物理座標上
に展開する文字生成方法及びその装置に関する。プリン
タ装置、ディスプレイ装置等においては、文字を印刷乃
至表示するため、文字パターンの生成を必要とする。こ
の文字パターンの生成において、近年、同一文字でも、
種々の文字サイズの文字が要求されている。これに対応
して同一文字について、種々の文字サイズの文字パター
ンを持たせることは、漢字のように多数の文字種類を持
つものでは、メモリ容量が大きく必要となる。
【0003】これを解決するために、アウトラインフォ
ントのように、文字の輪郭情報を実数表現で且つ論理座
標系で表現した文字パターン情報を持っておき、この情
報を指定された文字サイズ座標系に変換して、文字を整
数で表現されるビットマップイメージに展開することが
行われている。このような文字生成方法においては、小
さい文字を展開しても、文字が元のデザインに忠実に再
現されることが求められる。
【0004】
【従来の技術】図13はアウトラインフォントの説明
図、図14は従来技術の説明図である。従来、図形やア
ウトラインフォント等の実数表現の論理座標データを、
整数で表現されるビットマップイメージに展開する場
合、座標データは、プリンタやディスプレイのピクセル
単位で表現できるように、小数部分がまるめ処理され
る。このまるめ処理としては、座標データが最も近いピ
クセルで表現されるようにするため、四捨五入が一般的
である。
【0005】例えば、図13に示すように、アウトライ
ン形式で表現された漢字の明朝体の「門」、「七」で説
明する。「門」、「七」という文字を構成するそれぞれ
の輪郭点は、1000×1000などのような整数論理
座標で保存されている。この論理座標上の文字アウトラ
インは、必要とされる文字サイズに変換されて、小数点
を含んだ座標値に変換され、これを物理座標で表現でき
るように全ての点を整数に四捨五入すると、全ての点が
最も近傍の整数にまるめ処理される。例えば、15×2
4の文字サイズに変換すると、漢字「門」、「七」は、
図14(A)、図14(B)に示すようになる。
【0006】
【発明が解決しようとする課題】しかしながら、従来技
術では、次の問題があった。文字のポイントサイズが小
さくなる程、文字の品質が損なわれ、見苦しい字体にな
ってしまう。これは文字の輪郭線を数式表現した文字イ
メージを整数座標系である物理座標で表現する際に起き
る丸め誤差による。特に、斜めのストローク等は、縦
線、横線が段差を作ってしまい、文字の品質を落とす原
因となる。例えば、図14(A)の漢字「門」では、両
側の縦線ストロークに段差がみられる。同様に、図14
(B)の漢字「七」では、横線ストロークに段差がみら
れる。
【0007】従って、本発明は、小さいポイントサイズ
に変換しても、ビットマップイメージにストロークの段
差を生じないようにした文字生成方法及びその装置を提
供することを目的とする。
【0008】
【課題を解決するための手段】図1は本発明の原理図で
ある。本発明の請求項1は、文字の輪郭線を論理座標で
表現したアウトライン座標情報を、指定されたサイズの
大きさの整数表現の物理座標に変換して、前記指定され
たサイズの文字のビットマップイメージを生成する文字
生成方法において、前記変換倍率が予定の倍率より小さ
い時に、前記文字を構成するストロークの予め定めた2
点の座標からせん断率を計算し、前記各ストロークの各
点の前記ストロークの種類に従う座標軸の座標を前記せ
ん断率によりせん断補正計算することを特徴とする。
【0009】本発明の請求項2は、請求項1において、
前記せん断補正計算のため、前記ストロークの種類に従
う一の座標軸と直交する他の座標軸の座標に前記せん断
率を乗算したものを、前記一の座標軸の座標に加算する
ことを特徴とする。本発明の請求項3は、請求項1又は
2において、前記ストロークは、複数のパーツで構成さ
れるとともに、前記各パーツの各点の前記ストロークの
種類に従う座標軸の座標を前記せん断率によりせん断補
正計算することを特徴とする。
【0010】本発明の請求項4は、請求項3において、
前記各パーツの各点は、パーツの原点に対する相対座標
で表現されるとともに、各パーツ原点の座標から基準線
を求め、各パーツ原点の座標を前記基準線に移動した
後、前記移動した各パーツの原点からせん断率を計算
し、前記各パーツの各点の前記ストロークの種類に従う
座標軸の座標を前記せん断率により各点の補正相対座標
を算出し、前記移動後のパーツ原点座標との加算により
前記各パーツの絶対座標を算出することを特徴とする。
【0011】本発明の請求項5は、請求項1又は2又は
3又は4において、前記予定の倍率を書体毎に設定した
ことを特徴とする。本発明の請求項6は、請求項1又は
2又は3又は4又は5において、前記補正計算のための
各点の座標は、前記アウトライン座標情報であることを
特徴とする。本発明の請求項7は、請求項1又は2又は
3又は4又は5において、前記補正計算のための各点の
座標は、前記アウトライン座標情報に変換倍率を乗じた
座標であることを特徴とする。
【0012】本発明の請求項8は、文字の輪郭を座標で
表現したアウトラインフォント情報を格納するフォント
メモリ4と、該フォントメモリ4から指定された文字の
アウトラインフォント情報を読み出し、指定されたサイ
ズの座標系の物理座標値に変換して、前記指定されたサ
イズの文字のビットマップイメージを生成する文字展開
部3とを有する文字生成装置において、該文字展開部3
は、前記変換倍率が予定の倍率より小さい時に、前記文
字を構成するストロークの予め定めた2点の座標からせ
ん断率を計算し、前記各ストロークの各点の前記ストロ
ークの種類に従う座標軸の座標を前記せん断率によりせ
ん断補正計算することを特徴とする。
【0013】本発明の請求項9は、請求項8において、
前記文字展開部3は、前記せん断補正計算のため、前記
ストロークの種類に従う一の座標軸と直交する他の座標
軸の座標に前記せん断率を乗算したものを、前記一の座
標軸の座標に加算することを特徴とする。
【0014】本発明の請求項10は、請求項8又は9に
おいて、前記文字展開部3は、前記ストロークは、複数
のパーツで構成されるとともに、前記各パーツの各点の
前記ストロークの種類に従う座標軸の座標を前記せん断
率によりせん断補正計算することを特徴とする。
【0015】本発明の請求項11は、請求項10におい
て、前記フォントメモリ4に、前記パーツの各点の座標
として、前記パーツの原点と、前記パーツの原点に対す
る相対座標とを格納するとともに、前記文字展開部4
は、前記各パーツ原点の座標から基準線を求め、各パー
ツ原点の座標を前記基準線に移動した後、前記移動した
各パーツの原点からせん断率を計算し、前記各パーツの
各点の前記ストロークの種類に従う座標軸の座標を前記
せん断率により各点の補正相対座標を算出し、前記移動
後のパーツ原点座標との加算により前記各パーツの絶対
座標を算出することを特徴とする。
【0016】本発明の請求項12は、請求項8又は9又
は10又は11において、前記フォントメモリ4に、前
記予定の倍率を書体毎に設定するとともに、前記文字展
開部4は、前記書体毎の予定の倍率を読み出し、前記変
換倍率と比較することを特徴とする。
【0017】本発明の請求項13は、請求項8又は9又
は10又は11又は12において、前記文字展開部4
は、前記アウトライン座標情報を前記補正計算すること
を特徴とする。本発明の請求項14は、請求項8又は9
又は10又は11又は12において、前記文字展開部4
は、前記アウトライン座標情報を前記倍率変換した座標
を前記補正計算することを特徴とする。
【0018】
【作用】あるポイント数以下の斜めになったストローク
の再現には限度がある。本発明は、斜めストロークは、
そもそも錯視補正のため行われる点に着目し、小さい文
字では、この錯視補正を行わないビットマップイメージ
を生成して、読み易さの向上を図るものである。そこ
で、本発明では、所定のポイント数以下の文字の生成に
おいて、斜めのストロークに対して、縦横の太さを変え
ずに、せん断変形を利用して、垂直水平にするものであ
る。
【0019】このため、本発明の請求項1及び8では、
文字を構成するストロークの予め定めた2点の座標から
せん断率を計算する。そして、各ストロークの各点のス
トロークの種類に従う座標軸の座標をせん断率によりせ
ん断補正計算して、段差のない真っ直ぐなストロークを
得るものである。
【0020】本発明の請求項2及び9では、せん断補正
計算のため、前記ストロークの種類に従う一の座標軸と
直交する他の座標軸の座標に前記せん断率を乗算したも
のを、前記一の座標軸の座標に加算するにより、簡単な
演算によりストロークを真っ直ぐとするものである。本
発明の請求項3及び10では、ストロークを複数のパー
ツで構成した場合には、各パーツの各点の前記ストロー
クの種類に従う座標軸の座標をせん断率によりせん断補
正計算して、ストロークを真っ直ぐにするものである。
【0021】本発明の請求項4及び11では、パーツの
各点をパーツの原点に対する相対座標で表現した場合に
は、各パーツ原点の座標から基準線を求めて、各パーツ
原点の座標を基準線に移動しするとともに、各パーツの
原点からせん断率を計算する。そして、各パーツの各点
の前記ストロークの種類に従う座標軸の座標をせん断率
により各点の補正相対座標を算出し、移動後のパーツ原
点座標との加算により前記各パーツの絶対座標を算出す
る。このようにして、パーツに原点を持たせても、スト
ロークを真っ直ぐにできる。
【0022】本発明の請求項5及び12では、書体毎に
せん断補正した方がよいポイント数が異なるため、書体
毎に予定の倍率を変えたものである。本発明の請求項6
又は13では、補正計算の対象を倍率変換前のアウトラ
イン座標情報としたものである。本発明の請求項7又は
14では、補正計算の対象を倍率変換後の座標としたも
のである。
【0023】
【実施例】 (a)一実施例の説明 図2は本発明の一実施例ブロック図、図3は図2の要部
構成図、図4は本発明によるストロークと原点の関係
図、図5は本発明によるストロークと基準線の関係図、
図6は本発明による補正動作説明図、図7は本発明によ
る補正後のストローク説明図、図8は本発明による補正
後の文字パターンの説明図である。
【0024】図2において、1は受信部であり、上位
(コンピュータ等)からの印刷コマンド及び印刷データ
を受信するものである。2はコマンド解析部であり、受
信部1で受信された印刷コマンド等の意味を解析して、
文字と図形に分けるものである。
【0025】3は文字展開部であり、コマンド解析部2
からの文字コード、文字サイズ、文字の向き(縦、横
等)を受け、フォント格納メモリ4から文字情報を読み
出して、文字を展開処理するものであり、図3で後述す
るものである。4はフォント格納メモリであり、文字を
アウトライン形式で格納するものであり、図3で後述す
るものである。
【0026】5はCPUであり、コマンド解析部2と文
字展開部3の動作を実行するものである。6は描画部で
あり、図形、展開文字をビットマップイメージに描画処
理するとともに、ビットマップイメージに描画された文
字と図形とを重ね合わせて、ビットマップメモリ7に書
き込むものである。この描画部6は、周知の描画LSI
で構成されている。
【0027】7はビットマップメモリであり、描画部6
により文字、図形のビットマップイメージが書き込まれ
るものである。8は印字部であり、電子写真プリンタ等
のページプリンタで構成され、ビットマップメモリ7内
のデータを用紙に印刷するものである。
【0028】この構成の動作は、受信部1で受信された
印刷コマンド及び印刷データは、コマンド解析部2で意
味が解析され、文字と図形に分けられる。図形やイメー
ジは描画部6でビットマップイメージに展開処理され
る。一方、文字は文字展開部3でフォント格納メモリ4
のアウトラインフォント情報を利用して、指定された変
換倍率のビットマップイメージに展開処理される。描画
部6は、ビットマップイメージに展開された文字と図形
を重ね合わせ、ビットマップメモリ7に書き込む。ビッ
トマップメモリ7のデータは、印字部8により用紙に印
刷される。
【0029】図3により文字展開部3の詳細を、ブロッ
ク化して説明する。30はヒント処理部であり、ヒント
処理前のフォント格納メモリ4からの文字コードに対応
する文字アウトライン情報(輪郭座標値)をせん断演算
処理するものである。31は拡大縮小演算器であり、せ
ん断処理されたデータを指定された文字サイズになるよ
うに、拡大縮小演算するものである。
【0030】ヒント処理部30において、S1はせん断
限界値比較ブロックであり、フォントメモリ4の対象書
体のせん断限度値(変換倍率)と指定された変換倍率と
を比較して、展開する変換倍率がせん断限度値以下な
ら、当該文字についてせん断補正計算の実行を指示する
ものである。
【0031】S2はストローク種類比較ブロックであ
り、フォントメモリ4の当該文字の各ストロークのスト
ロークの種類と予め定めたせん断補正処理するストロー
クの種類(ここでは、縦線ストロークと横線ストロー
ク)とを比較して、対象となるストロークを探すもので
ある。
【0032】S3はストローク原点読み取りブロックで
あり、当該対象となったストロークの予め定められたス
トロークの原点(スタート原点及びエンド原点)を、フ
ォントメモリ4から読み出すものである。S4はせん断
率演算ブロックであり、読み取ったストロークの原点か
らせん断率を演算するものである。S5は各座標値せん
断演算ブロックであり、ストロークの各点の座標値をせ
ん断率によりせん断演算するものである。
【0033】次に、フォントメモリ4は、各文字セット
毎に、文字セットの種類(明朝体、ゴシック体等)や作
成日付等の共通情報を格納したヘッダ部40が設けられ
ている。このヘッダ部40にこの文字セットの制御情報
として、せん断限度値(変換倍率)を格納してある。そ
して、該当する文字コードに対応した位置に、文字コー
ドを構成するストローク情報部41が設けられている。
このストローク情報部41には、そのストロークの種類
と、そのストロークのスタート原点の座標と、エンド原
点の座標と、ストロークの各輪郭点の座標とが格納され
ている。
【0034】尚、文字展開部3は、前述のように、プロ
セッサで構成され、これらブロック30〜31、S1〜
S5は、ソフトウェアを機能ブロック化したものであ
る。この動作を図4(A)に示す縦ストローク、図4
(B)に示す横ストロークを例にして説明する。この縦
ストロークは、輪郭点a、b、c、dで構成されてい
る。この各輪郭点の論理座標(X、Y)が、前記フォン
トメモリ4のストローク情報部41に格納されている。
このストローク情報部41には、ストロークの原点(ス
タート原点とエンド原点)が格納されている。図では、
ストロークの原点は、点a、bのため、その座標(X
1、Y1)、(X2、Y2)が格納されている。
【0035】同様に、この横ストロークは、輪郭点a、
b、c、d、eで構成されている。この各輪郭点の論理
座標(X、Y)が、前記フォントメモリ4のストローク
情報部41に格納されている。このストローク情報部4
1には、ストロークの原点(スタート原点とエンド原
点)が格納されている。図では、ストロークの原点は、
点a、bのため、その座標(X1、Y1)、(X2、Y
2)が格納されている。
【0036】次に、この構成の動作を、図4乃至図7を
用いて説明すると、展開すべき文字コードが、文字展開
部3に与えられると、フォントメモリ4の対応する書体
のヘッダー部40のせん断限界値(変換倍率)を読み出
す。そして、文字展開部3は、せん断限界値比較処理S
1により、読み出したせん断限界値と展開すべき変換倍
率とを比較する。この比較により、展開すべき変換倍率
が読み出したせん断限界値より小さいと判断すると、せ
ん断処理を実行する。一方、展開すべき変換倍率が読み
出したせん断限界値より小さくないと判断すると、この
文字に対しては、せん断処理を実行しない。
【0037】せん断処理を実行すると判定すると、文字
展開部3は、ストローク種類比較処理S2により、フォ
ントメモリ4の当該文字コードに対応するストローク情
報部41をサーチし、当該文字を構成する各ストローク
のストローク種類を読み出す。そして、この読み出した
ストローク種類と予め定めたせん断処理するストローク
種類(ここでは、縦線ストロークと横線ストローク)と
を比較し、一致したストロークを捜す。一致したストロ
ークがない時は、せん断処理を行わない。
【0038】一致したストロークがあると、文字展開部
3は、ストローク原点読み取り処理S3により、フォン
トメモリ4から当該文字の一致したストロークの原点情
報を読み込む。ここでは、ストロークスタート原点aの
座標(X1、Y1)とストロークエンド原点bの座標
(X2、Y2)とを読み取る。
【0039】次に、文字展開部3は、せん断演算処理S
4により、X軸方向のせん断率d1Y軸方向のせん断率
d2とを下記式により演算する。 d1=−(X2−X1)/(Y2−Y1) (1) d2=−(Y2−Y1)/(X2−X1) (2)
【0040】このせん断率d1、d2を演算すると、文
字展開部3は、各座標値のせん断演算処理S5を実行す
る。このせん断の基準線は、図5(A)、図5(B)に
示すように、原点間を結ぶ線であり、せん断処理は、図
6(A)、図6(B)に示すように、せん断の基準線を
真っ直ぐに直すものである。従って、せん断演算は、ス
トロークの種類により定めたせん断方向のみについて実
行する。
【0041】例えば、図4(A)、図5(A)、図6
(A)の縦線ストロークでは、縦線を真っ直ぐにするた
め、X軸方向のせん断を行う。一方、図4(B)、図5
(B)、図6(B)の横線ストロークでは、横線を真っ
直ぐにするため、Y軸方向のせん断を行う。せん断演算
のための式を、次に示す。
【0042】X軸方向のせん断 X=X+d1・Y (3) Y=Y (4) Y軸方向のせん断 X=X (5) Y=d2・X+Y (6)
【0043】従って、文字展開部3は、フォントメモリ
4の当該文字コードの当該ストローク情報部41の一致
した各ストロークの輪郭データを読み出す。そして、前
述のせん断演算式により、せん断演算する。
【0044】例えば、図4(A)の縦ストロークでは、
図7(A)に示すように、せん断補正後の各点a’、
b’、c’、d’の座標は、次のようになる。 X1=X1+d1・Y1 Y1=Y1 X2=X2+d1・Y2 Y2=Y2 X3=X3+d1・Y3 Y3=Y3 X4=X4+d1・Y4 Y4=Y4
【0045】即ち、縦ストロークでは、X軸方向のせん
断のため、X座標のみせん断演算し、Y軸の座標はその
ままとする。同様に、図4(B)の横ストロークでは、
図7(B)に示すように、せん断補正後の各点a’、
b’、c’、d’、e’の座標は、次のようになる。 X1=X1 Y1=X1・d2+Y1 X2=X2 Y2=X2・d2+Y2 X3=X3 Y3=X3・d2+Y3 X4=X4 Y4=X4・d2+Y4 X5=X5 Y5=X5・d2+Y5
【0046】即ち、横ストロークでは、Y軸方向のせん
断のため、Y座標のみせん断演算し、X軸の座標はその
ままとする。このようにすると、前述のストロークのア
ウトライン情報は、図7(A)、図7(B)に示す如く
なる。そして、文字展開部3は、拡大縮小演算部31に
より、この文字の補正した各ストロークのアウトライン
座標情報及び補正の対象とならなかったアウトライン座
標情報を指定された変換倍率で乗算し、指定ポイントサ
イズの輪郭座標を得て、丸め処理する。この変換座標デ
ータを描画部6に送り、面塗り処理させると、図4
(A)、図4(B)に示す輪郭は、図8(A)、図8
(B)に示すような文字パターンに展開される。
【0047】このようにして、斜めのストロークは、小
さいポイントサイズの文字では、垂直、水平のストロー
クにせん断補正されるため、段差のない見やすい文字パ
ターンに展開できる。 (b)他の実施例の説明
【0048】図9は本発明の他の実施例のフォントメモ
リ構成図、図10は本発明の他の実施例ストロークとパ
ーツの関係図、図11は本発明の他の実施例処理フロー
図、図12は本発明の他の実施例の補正動作説明図であ
る。ここでは、文字を構成するエレメント、エレメント
を構成するストローク、ストロークの入筆部や終筆部に
相当するパーツというように階層構造に文字を分解する
格納方式で説明する。更に、データ量削減を目的とし
て、フォントメモリ4を、文字の階層構造と特徴データ
を格納した図9の構造情報ファイル4aと、ストローク
又はパーツに分解された文字の輪郭線情報を格納した輪
郭情報ファイル4bからなるもので説明する。
【0049】構造情報ファイル4aは、図9に示すよう
に、文字セットの種類(明朝体、ゴシック体等)や作成
日付等の共通情報と、文字コードから目的の情報を探し
出すキャラクタポインタとを有するヘッダ部40と、文
字の各ストロークの分類コードと、ストロークを構成す
るパーツ情報部のアドレスとを有するストロークブロッ
グ41と、各パーツの原点等を格納したパーツブロック
42を有している。次に、輪郭情報ファイル4bは、各
パーツの座標データを格納する。このヘッダ部40に前
述のせん断限界値が格納されている。又、パーツの座標
データは、各パーツの原点(絶対座標)からの相対座標
で格納されている。
【0050】このようなメモリ構成は、構造情報ファイ
ル4aに、書体によらずに、共通の書体情報である各パ
ーツの原点座標を持たせることができる。従って、輪郭
情報ファイル4bの輪郭情報部は、書体毎に変化するそ
の原点からの相対位置座標をもてば良くなり、論理座標
系の絶対座標を必要としない。このため、複数の書体に
対し、パーツの原点を共通化できるため、それだけメモ
リ容量を削減できる。しかも、輪郭情報部の各パーツ
は、複数の書体や複数の文字で共用できるため、更にメ
モリ容量を削減できる。
【0051】次に、図10に示す明朝体漢字「七」の横
ストローク「ー」を例に説明すると、図10(A)に示
すように、横ストロークは、文字の書き順に従って入筆
部A1、直線部A2、終筆部A3の順の並んでいる。従
って、構造情報ファイル4aのパーツブロックには、ス
トローク「−」の3つのパーツの共通絶対位置座標(原
点)が格納されている。一方、輪郭情報ファイル4bに
は、図10(B)に示すように、各パーツの輪郭点の座
標が原点からの相対位置座標で格納されている。
【0052】次に、図11の処理フロー図により、図1
2を用いて動作を説明する。 (S1)CPU(以下、プロセッサという)5は、展開
すべき文字データを獲得する。文字データには、文字コ
ードと変換倍率を含む。プロセッサ5は、構造情報ファ
イル4aのヘッダ部40を参照して、当該文字コードの
書体のせん断限界値を得る。
【0053】(S2)次に、プロセッサ5は、読み出し
たせん断限界値と展開すべき変換倍率とを比較する。こ
の比較により、展開すべき変換倍率が読み出したせん断
限界値より小さいと判断すると、せん断処理を実行す
る。一方、展開すべき変換倍率が読み出したせん断限界
値より小さくないと判断すると、この文字に対しては、
せん断処理を実行しないため、終了する。
【0054】(S3)せん断処理を実行すると判定する
と、プロセッサ5は、ストローク種フォントメモリ4の
当該文字コードに対応するストロークブロック41をサ
ーチし、当該文字を構成する各ストロークのストローク
種類を読み出す。そして、この読み出したストローク種
類と予め定めたせん断処理するストローク種類(ここで
は、縦線ストロークと横線ストローク)とを比較し、一
致したストロークを捜す。一致したストロークがない時
は、せん断処理を行わないため、終了する。
【0055】(S4)一致したストロークがあると、プ
ロセッサ5は、フォントメモリ4の構造情報ファイル4
aのパーツブロック42から当該文字の一致したストロ
ークのパーツの原点情報を読み込む。そして、これらパ
ーツによるストローク原点の中点を求め、新たなストロ
ーク原点とする。
【0056】(S5)プロセッサ5は、前述の(1) 、
(2) 式により、X軸方向のせん断率d1Y軸方向のせん
断率d2とを下記式により演算する。 (S6)次に、プロセッサ5は、フォントメモリ4の輪
郭情報ファイル4bから前記せん断処理する各ストロー
クのパーツの輪郭データを読み出す。そして、前述の
(3) 〜(6) 式のせん断演算式により、せん断演算する。
【0057】(S7)この輪郭点の座標を書き込む。 以降、図3で示した拡大縮小演算により、この各パーツ
の相対座標に対応するパーツの絶対位置原点座標を加算
して、各パーツの絶対位置を得る。そして、これら座標
情報を指定された変換倍率で乗算し、指定ポイントサイ
ズの輪郭座標を得て、丸め処理する。更に、この変換座
標データを描画部6に送り、面塗り処理させると、当該
文字のビットマップイメージが完成する。
【0058】これを、図10(A)のストローク「ー」
の例で、具体的に説明すると、先ず、ストロークの基準
線上にある各パーツ原点O1(70、544)、O2
(125、550)、O3(947、642)を水平に
する。水平ストロークのため、ここでは、各パーツ原点
のY座標の中点Ymを得る。 Ym=(642−544)/2+544=593
【0059】この中点に各パーツ原点O1、O2、O3
を移動させる。従って、各パーツ原点の座標は、次のよ
うになる。 O1 (70、544) → (70、59
3) O2 (125、544) → (125、59
3) O3 (947、642) → (947、59
3) この状態では、各パーツA1、A2、A3は、図12
(A)に示すように、パーツ同士の繋がりがない。
【0060】次に、せん断率を(1) 式、(2) 式により算
出する。この例では、先頭パーツがスタートパーツ、最
終パーツがエンドパーツのため、スタート、エンドの区
別情報を必要としない。 d1=−(947−70)/(642−544)=−
8.94898 d2=−(642−544)/(947−70)=−
0.11174
【0061】次に、せん断の基準点を、各パーツ原点と
して、各パーツの構成点をせん断する。これは、横スト
ロークのため、前述の(5) 式、(6) 式による。 X=X Y=d2・X+Y スタートパーツA1は、次のようになる。
【0062】第1点のY座標は、−0.11174×0
+30=30であるから、せん断後の相対相対座標は、
(0、30)となり、絶対座標は、(0、623)とな
る。第2点のY座標は、−0.11174×17+2=
0であるから、せん断後の相対相対座標は、(17、
0)となり、絶対座標は、(87、593)となる。第
3点のY座標は、−0.11174×78+9=0であ
るから、せん断後の相対相対座標は、(78、0)とな
り、絶対座標は、(148、593)となる。
【0063】第4点のY座標は、−0.11174×7
8+39=30であるから、せん断後の相対相対座標
は、(78、30)となり、絶対座標は、(148、6
23)となる。ミドルパーツA2は、次のようになる。
【0064】第1点のY座標は、−0.11174×0
+30=30であるから、せん断後の相対相対座標は、
(0、30)となり、絶対座標は、(125、623)
となる。第2点のY座標は、−0.11174×0+0
=0であるから、せん断後の相対相対座標は、(0、
0)となり、絶対座標は、(125、593)となる。
【0065】第3点のY座標は、−0.11174×7
12+80=0であるから、せん断後の相対相対座標
は、(712、0)となり、絶対座標は、(837、5
93)となる。第4点のY座標は、−0.11174×
712+108=28であるから、せん断後の相対相対
座標は、(712、28)となり、絶対座標は、(83
7、621)となる。
【0066】エンドパーツA3は、次のようになる。第
1点のY座標は、−0.11174×−110+87=
99であるから、せん断後の相対相対座標は、(−11
0、99)となり、絶対座標は、(837、692)と
なる。第2点のY座標は、−0.11174×−197
−22=0であるから、せん断後の相対相対座標は、
(−197、0)となり、絶対座標は、(750、59
3)となる。
【0067】第3点のY座標は、−0.11174×0
+0=0であるから、せん断後の相対相対座標は、
(0、0)となり、絶対座標は、(947、593)と
なる。第4点のY座標は、−0.11174×3+26
=26であるから、せん断後の相対相対座標は、(−
3、26)となり、絶対座標は、(944、619)と
なる。
【0068】このようにすると、図12(B)にの実線
に示すように、せん断されたストロークが得られる。こ
のように、この実施例においても、前述の一実施例と同
様の効果が得られる他に、パーツに分解しても、ストロ
ークの直立が可能となり、更に、構造情報ファイルと輪
郭情報ファイルとに分割するため、メモリの削減の効果
が得られる。
【0069】上述の実施例の他に、本発明は、次のよう
な変形が可能である。 明朝体漢字「門」、「七」について説明したが、他の
水平ストロークを有する漢字や、他の垂直ストロークを
有する漢字にも適用できる。 水平、垂直ストロークについて説明したが、斜めスト
ロークにも適用でき、この場合、基準線は、輪郭点の2
点を結ぶ斜め線となる。
【0070】フォントメモリを、パーツ分割方式で説
明したが、ストローク分割方式であっても良い。 元のアウトライン情報を補正しているが、倍率変換後
の座標データをせん断補正しても良い。 以上、本発明を実施例により説明したが、本発明の主旨
の範囲内で種々の変形が可能であり、これらを本発明の
範囲から排除するものではない。
【0071】
【発明の効果】以上説明したように、本発明によれば、
次の効果を奏する。 文字を構成するストロークの予め定めた2点の座標か
らせん断率を計算して、各ストロークの各点のストロー
クの種類に従う座標軸の座標をせん断率によりせん断補
正計算するため、段差のない真っ直ぐなストロークが得
られ、小さな文字でも、見やすいビットマップイメージ
を生成できる。 従って、アウトライン情報を用いても、小さな文字に
おける元の文字と印象が異なる文字パターンの生成を防
止でき、文字品質が向上する。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の一実施例ブロック図である。
【図3】図2の要部構成図である。
【図4】本発明の一実施例のストロークと原点の関係図
である。
【図5】本発明の一実施例のストロークと基準線の関係
図である。
【図6】本発明の一実施例の補正動作説明図である。
【図7】本発明の一実施例の補正後のストローク説明図
である。
【図8】本発明の一実施例の補正後の文字パターンの説
明図である。
【図9】本発明の他の実施例のフォントメモリ構成図で
ある。
【図10】本発明の他の実施例のストロークとパーツの
関係図である。
【図11】本発明の他の実施例処理フロー図である。
【図12】本発明の他の実施例の補正動作説明図であ
る。
【図13】アウトラインフォントの説明図である。
【図14】従来技術の説明図である。
【符号の説明】
3 文字展開部 4 フォント格納メモリ 5 CPU 6 描画部 7 ビットマップメモリ 8 印字部 30 ヒント処理部 31 拡大縮小演算器 4a 構造情報ファイル 4b 輪郭情報ファイル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大伴 武都美 北海道札幌市東区北21条東19丁目3番21 号 有限会社大伴事務所内 (58)調査した分野(Int.Cl.7,DB名) B41J 2/485 G06F 3/12 G09G 5/24

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 文字の輪郭線を論理座標で表現したアウ
    トライン座標情報を、指定されたサイズの大きさの整数
    表現の物理座標に変換して、前記指定されたサイズの文
    字のビットマップイメージを生成する文字生成方法にお
    いて、 前記変換倍率が予定の倍率より小さい時に、前記文字を
    構成するストロークの予め定めた2点の座標からせん断
    率を計算し、前記各ストロークの各点の前記ストローク
    の種類に従う座標軸の座標を前記せん断率によりせん断
    補正計算することを特徴とする文字生成方法。
  2. 【請求項2】 前記せん断補正計算のため、前記ストロ
    ークの種類に従う一の座標軸と直交する他の座標軸の座
    標に前記せん断率を乗算したものを、前記一の座標軸の
    座標に加算することを特徴とする請求項1の文字生成方
    法。
  3. 【請求項3】 前記ストロークは、複数のパーツで構成
    されるとともに、前記各パーツの各点の前記ストローク
    の種類に従う座標軸の座標を前記せん断率によりせん断
    補正計算することを特徴とする請求項1又は2の文字生
    成方法。
  4. 【請求項4】 前記各パーツの各点は、パーツの原点に
    対する相対座標で表現されるとともに、各パーツ原点の
    座標から基準線を求め、各パーツ原点の座標を前記基準
    線に移動するとともに、前記各パーツの原点からせん断
    率を計算し、前記各パーツの各点の前記ストロークの種
    類に従う座標軸の座標を前記せん断率により各点の補正
    相対座標を算出し、前記移動後のパーツ原点座標との加
    算により前記各パーツの絶対座標を算出することを特徴
    とする請求項3の文字生成方法。
  5. 【請求項5】 前記予定の倍率を書体毎に設定したこと
    を特徴とする請求項1又は2又は3又は4の文字生成方
    法。
  6. 【請求項6】 前記補正計算のための各点の座標は、前
    記アウトライン座標情報であることを特徴とする請求項
    1又は2又は3又は4又は5の文字生成方法。
  7. 【請求項7】 前記補正計算のための各点の座標は、前
    記アウトライン座標情報に変換倍率を乗じた座標である
    ことを特徴とする請求項1又は2又は3又は4又は5の
    文字生成方法。
  8. 【請求項8】 文字の輪郭を座標で表現したアウトライ
    ンフォント情報を格納するフォントメモリ(4)と、該
    フォントメモリ(4)から指定された文字のアウトライ
    ンフォント情報を読み出し、指定されたサイズの座標系
    の物理座標値に変換して、前記指定されたサイズの文字
    のビットマップイメージを生成する文字展開部(3)と
    を有する文字生成装置において、該文字展開部(3)
    は、前記変換倍率が予定の倍率より小さい時に、前記文
    字を構成するストロークの予め定めた2点の座標からせ
    ん断率を計算し、前記各ストロークの各点の前記ストロ
    ークの種類に従う座標軸の座標を前記せん断率によりせ
    ん断補正計算することを特徴とする文字生成装置。
  9. 【請求項9】 前記文字展開部(3)は、前記せん断補
    正計算のため、前記ストロークの種類に従う一の座標軸
    と直交する他の座標軸の座標に前記せん断率を乗算した
    ものを、前記一の座標軸の座標に加算することを特徴と
    する請求項8の文字生成装置。
  10. 【請求項10】 前記文字展開部(3)は、前記ストロ
    ークは、複数のパーツで構成されるとともに、前記各パ
    ーツの各点の前記ストロークの種類に従う座標軸の座標
    を前記せん断率によりせん断補正計算することを特徴と
    する請求項8又は9の文字生成装置。
  11. 【請求項11】 前記フォントメモリ(4)に、前記パ
    ーツの各点の座標として、前記パーツの原点と、前記パ
    ーツの原点に対する相対座標とを格納するとともに、前
    記文字展開部(4)は、前記各パーツ原点の座標から基
    準線を求め、各パーツ原点の座標を前記基準線に移動す
    るとともに、前記各パーツの原点からせん断率を計算
    し、前記各パーツの各点の前記ストロークの種類に従う
    座標軸の座標を前記せん断率により各点の補正相対座標
    を算出し、前記移動後のパーツ原点座標との加算により
    前記各パーツの絶対座標を算出することを特徴とする請
    求項10の文字生成装置。
  12. 【請求項12】 前記フォントメモリ(4)に、前記予
    定の倍率を書体毎に設定するとともに、前記文字展開部
    (4)は、前記書体毎の予定の倍率を読み出し、前記変
    換倍率と比較することを特徴とする請求項8又は9又は
    10又は11の文字生成装置。
  13. 【請求項13】 前記文字展開部(4)は、前記アウト
    ライン座標情報を前記補正計算することを特徴とする請
    求項8又は9又は10又は11又は12の文字生成装
    置。
  14. 【請求項14】 前記文字展開部(4)は、前記アウト
    ライン座標情報を前記倍率変換した座標を前記補正計算
    することを特徴とする請求項8又は9又は10又は11
    又は12の文字生成装置。
JP5195455A 1993-07-13 1993-07-13 文字生成方法及びその装置 Expired - Fee Related JP3037854B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5195455A JP3037854B2 (ja) 1993-07-13 1993-07-13 文字生成方法及びその装置
US08/225,955 US5450096A (en) 1993-07-13 1994-04-08 Character generating method and apparatus
CN94108137A CN1071976C (zh) 1993-07-13 1994-07-08 字符生成方法及装置
KR1019940016705A KR0142162B1 (ko) 1993-07-13 1994-07-12 문자 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5195455A JP3037854B2 (ja) 1993-07-13 1993-07-13 文字生成方法及びその装置

Publications (2)

Publication Number Publication Date
JPH0725068A JPH0725068A (ja) 1995-01-27
JP3037854B2 true JP3037854B2 (ja) 2000-05-08

Family

ID=16341357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5195455A Expired - Fee Related JP3037854B2 (ja) 1993-07-13 1993-07-13 文字生成方法及びその装置

Country Status (4)

Country Link
US (1) US5450096A (ja)
JP (1) JP3037854B2 (ja)
KR (1) KR0142162B1 (ja)
CN (1) CN1071976C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3576611B2 (ja) * 1994-12-05 2004-10-13 キヤノン株式会社 文字発生装置ならびに方法
US5909519A (en) * 1996-05-21 1999-06-01 Hewlett-Packard Company Method for printing pseudo-bold characters at arbitrary orientations, scaling, and resolutions
US6157390A (en) * 1996-09-20 2000-12-05 Dynalab (S) Ltd. Stroke-based font generation
US6151032A (en) * 1996-09-20 2000-11-21 Dynalab, Inc. Stroke-based glyph-outline font generation in low/high resolution space
US5991464A (en) * 1998-04-03 1999-11-23 Odyssey Technologies Method and system for adaptive video image resolution enhancement
US6501475B1 (en) 1999-10-22 2002-12-31 Dynalab Inc. Glyph-based outline font generation independent of resolution
US6661417B1 (en) 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
JP4393161B2 (ja) * 2003-11-20 2010-01-06 キヤノン株式会社 画像処理装置及び画像処理方法
KR100644505B1 (ko) * 2004-06-04 2006-11-10 삼성코닝정밀유리 주식회사 유리기판용 간지 로딩 장치 및 로딩 방법
CN111949156B (zh) * 2020-07-10 2024-03-29 广州视源电子科技股份有限公司 书写装置的汉字书写测试方法及***、书写装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3593287A (en) * 1968-04-18 1971-07-13 Nippon Electric Co Optical character reader embodying detected vertical stroke relocation
US4173753A (en) * 1977-09-22 1979-11-06 Hsu Ching Chou Input system for sino-computer
JP2532367B2 (ja) * 1985-05-02 1996-09-11 株式会社リコー 文字パタ−ン発生方法
NL8503461A (nl) * 1985-12-17 1986-04-01 Oce Nederland Bv Werkwijze voor het genereren van lijnstukken.
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness
DE3851591D1 (de) * 1987-07-30 1994-10-27 Computer Ges Konstanz Schaltungsanordnung zur Aufbereitung von schrägstehenden, insbesondere handgeschriebenen Zeichen.
US5018217A (en) * 1988-09-26 1991-05-21 Brother Kogyo Kabushiki Kaisha Data converting apparatus having means for changing ornamental stroke end data of character outline
JP2768423B2 (ja) * 1988-09-30 1998-06-25 シャープ株式会社 文字処理装置
JPH02287684A (ja) * 1989-04-28 1990-11-27 Ibm Japan Ltd イメージ処理装置および方法
JP2550418B2 (ja) * 1990-01-20 1996-11-06 富士通株式会社 アウトライン文字補正方式
JP3039015B2 (ja) * 1990-09-14 2000-05-08 富士ゼロックス株式会社 文字処理装置
JPH04174898A (ja) * 1990-11-08 1992-06-23 Toshiba Corp 文字表示制御装置
US5325447A (en) * 1991-10-02 1994-06-28 Environmental Research Institute Of Michigan Handwritten digit normalization method

Also Published As

Publication number Publication date
CN1103032A (zh) 1995-05-31
JPH0725068A (ja) 1995-01-27
KR950004057A (ko) 1995-02-17
KR0142162B1 (ko) 1998-07-01
CN1071976C (zh) 2001-09-26
US5450096A (en) 1995-09-12

Similar Documents

Publication Publication Date Title
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3145509B2 (ja) 文字生成方法及びその装置
JP3037854B2 (ja) 文字生成方法及びその装置
JP3014247B2 (ja) 文字生成方法及びその装置
JP3791259B2 (ja) アウトラインスムージング処理方法
JPH0916146A (ja) 文字・記号パターン発生装置
JP3034140B2 (ja) 文字生成方法及びその装置
JPS62211692A (ja) 異なるサイズ文字の作成方式
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP2562458B2 (ja) コンピュータシステム用文字発生方法
JP2899012B2 (ja) 文字処理装置及び方法
JPH06175639A (ja) 文字生成方法及びその装置
JP3473046B2 (ja) 非正立文字の描画方法および装置
JP2806790B2 (ja) 文字発生装置およびその方法
JP3072756B2 (ja) 描画装置
JPH04348388A (ja) 文字出力方式
JPH09305160A (ja) 文字生成装置
JPH11224331A (ja) ラスタ画像生成装置およびラスタ画像生成方法
JP2861201B2 (ja) データ変換装置
JPH08101675A (ja) フォント展開装置
JPH03288894A (ja) 文書作成装置及び文書作成方法
JPH06110444A (ja) 文字処理装置および文字出力方法
JPH01210355A (ja) 文字パターン発生方式
JPH05341761A (ja) 文字発生装置
JPH0950271A (ja) 文字処理装置及びその方法

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: 20000208

LAPS Cancellation because of no payment of annual fees