JPH04121788A - データ変換装置 - Google Patents

データ変換装置

Info

Publication number
JPH04121788A
JPH04121788A JP2241863A JP24186390A JPH04121788A JP H04121788 A JPH04121788 A JP H04121788A JP 2241863 A JP2241863 A JP 2241863A JP 24186390 A JP24186390 A JP 24186390A JP H04121788 A JPH04121788 A JP H04121788A
Authority
JP
Japan
Prior art keywords
data
outline
character
correction
curve
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.)
Granted
Application number
JP2241863A
Other languages
English (en)
Other versions
JP3189276B2 (ja
Inventor
Yosuke Ito
陽介 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP24186390A priority Critical patent/JP3189276B2/ja
Priority to US07/755,529 priority patent/US5309554A/en
Priority to GB9119351A priority patent/GB2249462B/en
Publication of JPH04121788A publication Critical patent/JPH04121788A/ja
Application granted granted Critical
Publication of JP3189276B2 publication Critical patent/JP3189276B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • 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/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding
    • 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)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、文字・記号等のキャラクタの輪郭を表すアウ
トラインデータをドツトデータに変換するデータ変換装
置に関するものであり、特に、キャラクタを構成する凹
部または凸部の滑らかさの確保に関するものである。
[従来技術] 従来、文字・記号等キャラクタを表すデータをコンピュ
ータを用いて処理し、印字、デイスプレィ表示等なんら
かの形で出力する場合、最小処理単位である画素毎にド
ツトデータを作成することが広く行なわれている。この
際、表示されるキャラクタ全部について予めドツトデー
タを作成し、メモリに記憶させると極めて容量の大きい
メモリが必要となるため、特公昭53−41017号公
報に記載されているように、キャラクタをその輪郭を表
すアウトラインデータで記憶させ、印字、デイスプレィ
表示等の出力時にデータ変換手段によりドツトデータに
変換することが望ましい。
このアウトラインデータをドツトデータに変換するには
画素スクリーンが用いられる。画素スクリーンは、−平
面内において互いに直交するX軸とY軸とにそれぞれ平
行な複数の規定線により画素を規定するものであり、デ
ータ変換手段は、画素スクリーンにキャラクタの輪郭を
重ね合わせた場合に、輪郭内に一定の基準以上の部分が
含まれる画素に対応するビットデータをキャラクタ構成
線の存在を表すデータに設定し、アウトラインデータを
ドツトデータに変換するのである。
[発明が解決しようとする課題] しかしながら、このようにアウトラインデータをドツト
データに変換し、キャラクタを表示する場合には、キャ
ラクタが表示される位置によって同じキャラクタ構成線
であってもその内側に一定の基準以上台まれる画素の数
、位置等が異なり、キャラクタ構成線の凹凸部のドツト
構成が異なる。
特に、図7図に示すように凸部11のドツトデータの配
置が構成された場合、凸部11に対応するドツトデータ
が1ドツトだけが飛び出しているように見え非常に見苦
しい形状を呈する場合がある。
これは、人間の目がキャラクタの特徴を構成線の凹凸部
を見て判断するため特に目立つことがある。
また凹部についても同様なことが言え、1ドツトだけへ
こんでいる場合も目立つ。幅方向の画素数が多い場合で
も、凸部にゴミがついたような感じを与え、表示品質が
低下する問題がある。
本発明は、上述した問題点を解決するためになされたも
のであり、キャラクタ構成線の凹凸部が滑らかになるよ
うにドツトデータを設定することができるデータ変換装
置を提供することを課題として為されたものである。
[課題を解決するための手段] この目的を達成するために、本発明のデータ変換装置は
、第1図に示すように、データ変換手段を備えた装置で
あり、キャラクタを構成するキャラクタ構成線のX軸方
向またはY軸方向に対する凹部または凸部の座標を算出
する凹凸部算出手段と、凹凸部を含む構成線の凹凸部付
近のドツトデータの段差を緩和するような向きおよび量
で、前記凹凸部算出手段によって得られた凹部または凸
部の座標を画素スクリーンの規定線に対して一定の座標
に相対移動させる輪郭線移動手段とを設け、かつ、デー
タ変換手段を、輪郭線移動手段の移動により得られたア
ウトラインデータをドツトデータに変換するものとした
ことを要旨とするものである。
[作用] 上記の構成を有する本発明によれば、キャラクタ構成線
を画定する輪郭線を画素スクリーンに対して相対移動さ
せれば、キャラクタ構成線内に含まれる画素の配置が変
わる。したがって、凹凸部の座標を凹凸部算出手段によ
り算出し、得られた凹凸部の座標をキャラクタ構成線の
凹凸部付近において滑らかなドツトデータを構成するよ
うに凹凸部を含む輪郭線を輪郭線移動手段により最小ス
クリーン単位以内で移動することによってキャラクタ構
成線内に含まれる画素の配置を変え、キャラクタを常に
見栄え良く出力することができる。
[実施例コ 以下、レーザプリンタにおいてアウトラインデータをド
ツトデータに変換する装置に本発明を適用した場合を例
に取り、図面に基づいて詳細に説明する。
第2図はレーザプリンタの制御回路のうち、データ変換
に関する部分を主として示す図である。
この制御回路の主体を成すマイクロコンピュータ部10
は、CPtJ12、キ+−yり9ROM14、プログラ
ムROM16、テキストメモリ18、ワーキングメモリ
20、凹凸部修正データメモリ22、ドツトデータメモ
リ24を備えている。これらCP012等はバス28に
より接続されており、バス28には入力装置30および
印字部32が接続されている。入力装置30は必要なデ
ータをマイクロコンピュータ部10に入力するものであ
り、印字部32はマイクロコンピュータ部10からの指
令に基づいてレーザプリント方式により印字を行なう部
分である。なお、本レーザプリンタの解像度は300ド
ツト/インチとする。
CPL]12には、第3図に概念的に示すようにデータ
続出部36、凹凸部を修正する凹凸部修正部38、アウ
トラインデータをドツトデータに変換するデータ変換部
40等が設けられている。テキストメモリ18は、入力
装置30から入力されるコードデータから成るキャラク
タデータを記憶するものであり、ワーキングメモリ20
は、プログラム実行時に必要なデータを一時的に記憶す
るものである。また、凹凸部修正データメモリ22には
凹凸部修正部38により求められる凹凸部の修正に関す
るデータが記憶される。凹凸部修正データメモリ22の
内部に記憶されるデータの一部は第6図に示すような構
成となっており、Nxはひとつの曲線のX方向の凹凸部
の個数、SxはアウトラインデータのX方向の凹凸部の
総数が記憶され、複数個のX座標の修正前のデータを記
憶するX座標修正前デー2群81、X座標修正前デー2
群81の各X座標と対応する修正後のデータを記憶する
X座標修正後デー2群82がある。X方向についても同
様に、NYはひとつの曲線のX方向の凹凸部の個数、S
YはアウトラインデータのX方向の凹凸部の総数が記憶
され、複数個のX座標の修正前のデータを記憶するy座
標修正前データ群83、y座標修正前データ群83の各
X座標と対応する修正後のデータを記憶するy座標修正
後データ群84がある。ドツトデータメモリ24にはデ
ータ変換部40の変換により得られるドツトデータが記
憶される。
キャラクタROM14には、アルファベットその他の文
字や記号等キャラクタのアウトラインデータが記憶され
ている。キャラクタは第5図にアルファベットの”0”
を例にして示すように、少なくとも1本のキャラクタ構
成線44から成る。
各キャラクタ構成線44の画定は、外輪郭線46と内輪
郭線47により行なわれ、それら輪郭線46.47が集
まってキャラクタの輪郭を構成している。アウトライン
データは、各キャラクタの輪郭を決定するのに必要な複
数の点の座標および輪郭線の種別(直線または曲線等)
を表すデータの群から成る。キャラクタの輪郭を決定す
る座標面は、第5図に示すように、縦(Y軸)、横(X
軸)がそれぞれ100OX100Oの大きさとされてい
る。この座標面において、例えば、アルファベットの”
H”のように複数の直線により構成されるキャラクタに
ついては、その輪郭の角毎の座標データ群によってアウ
トラインデータが構成される。また、アルファベットの
”0”のように曲線を含むものについては、その輪郭を
適当な曲線セグメント単位にベジェ曲線と呼ばれる3次
曲線を用いて複数の曲線を組み合わせて構成する。1本
のベジェ曲線は4点で定義され、本実施例の”0”は、
全部で4本のベジェ曲線から構成されている。
第5図ではベジェ曲線を定義する点を黒丸点で表し、ベ
ジェ曲線の制御腕は点線の直線で表している。なお、ベ
ジェ曲線の制御腕の詳細については後述する。勿論、曲
線を表す曲線式は、円弧、楕円弧、スプライン曲線、B
−スプライン曲線等があり、いずれも輪郭線として用い
ることができるが、本発明を実施するにあたって凹凸部
を容易に算出可能である曲線式が望ましい。このように
アウトラインデータの内輪郭線、外輪郭線の区別とアウ
トラインデータを構成する各点の座標と輪郭線の種別(
直線または曲線等)は輪郭線に沿って順にキャラクタR
OM14に記憶されている。
ここで、本実施例で曲線のデータとして用いる3次のベ
ジェ曲線について数学的な定義および曲線の性質に関し
て説明する。第13図(a)に示すように3次のベジェ
曲線P(以下、単に曲線とした場合は3次のベジェ曲線
であるとする)は、2次元平面上のQ。、Q3、Q2、
Q8の4点で定義され、前記曲線上の任意の1点P (
t)、(0≦t≦1)は、 で定義される。
ここで、 行列Miは、 である。式(1)より、P (0) =Qo、 P (
1)=Q、であるから、曲線Pは点Q0を始点とし点Q
3を終点とすることがわかる。また、点Q、およびQ2
は曲線P上を通過しないが曲線Pの形状を決めるもので
あることから制御点と呼ぶ。
次に、曲線Pの凹凸部を算出するために式(1)を変数
tで微分すると、 P’ (t)=(iQo+9Q+−9Qs+3Q+)t
”+(6QO−12Q、+60z)t +(−3Q、+3Q1)   ・・・・・・(2)とな
る。tが0≦t≦1の範囲でP・(B =。
となるような場合曲線Pの凹凸部であることに他ならな
い。式(2)のtの各係数を (A、、Aア)=A=−3Qo+9Qz−9Qt+3Q
s(Bx、 By)=B=6 Qo  12 Qz+ 
6 Qt(C,、Cア)=C=−30,+3Q。
とおき、X方向とX方向にわけて凹凸部である点のtを
求める。まず、X方向についての判別式は、D、=B、
’−4A、C,・・・・・・(3)となり、少なくとも
D8〈0のときX方向に関する凹凸部は存在しない。ま
た、A、=Oのときも凹凸部は存在しない。D1≧Oの
とき、t!、=(−B、+5QRT(D、))/(2A
、)t、=(−B、−8QRT(D、))/(2A、)
−・−・・・(4)となり、2つのt。1、tx2が求
められるが範囲が0≦t≦1を逸脱するtに関しては、
曲線Pの凹凸部を示すものではない。ここで、5QRT
は、平方根を取ることを示す。同様に、X方向について
の判別式は、 Dア=B−−4A、Cア    ・・・・・・(5)と
なり、少なくともり、<OのときX方向に関する凹凸部
は存在しない。また、Aア=0のときも凹凸部は存在し
ない。Dアミ0のとき、tア、=(−B、+5QRT(
D、))/(2Aア)t、2=(−B、−8QRT(D
、))/(2A、)・・・・・・(6)となり、2つの
tア0、t、2が求められるが範囲が0≦t≦1を逸脱
するtに関しては、曲線Pの凹凸部を示すものではない
。ところで、式(2)より” (O) ”3 (Q、Q
o) 、P  (1) =3(Q、−Q2)であるから
線分Q、Q、は点Q0における曲線Pの傾きと一致し、
同様に線分Q、Q、は点Q8における曲線Pの傾きと一
致している。したがって、線分Q。QlおよびQ、Q、
の傾きによって曲線Pの形状をおおかた予測できるため
線分Q。Q、およびQ、Q、を制御腕と呼ぶ。
曲線Pの凹凸部の移動を行なうために1本の曲線Pを凹
凸部ごとに複数の曲線Pに分割する。第13図(b)に
示すように1=1.から1 = 1 、、。
までの区間の曲線Plを曲線Pを定義する4点Q。、Q
、、Q2、Qsで表す(但し、t 、< t I−1か
つt≠t 141とする)。4点Q。L′、Q 1 (
’)、Q2(1)Q3(1)は、曲線P、(u)(o≦
U≦1)を定義する点である。式(1)より明らかにQ
 、 (+1 = p(t +) 、Qs”)=P (
t ++1)である。パラメータ変換 U = (111)/(1+。、−1 を行なうため、上式を式 に代入すると、 (U)= [((t +1−t )u+t 、 ] ” ((t++1−tl)u+tl)” (t++1−t )u+t。
1] == [u a  u 2  u 1] × =[u3 u′a u 1] M。
但し、 tx、= (1t+) ”  t>z= (1−t) 
”tl、ttm= (1−t +)  t 12、t 
、a=t + 、t 21= (1t +) ’ (1
t ++、)、t2s+= (1−t+) (t++灯
(3t l+1 2)t l)、tzs=t+(2t+
や、−(3tI+、1)t+)、t 24” t i’
 t 141、 ts、=(1t+)  (1t+・1)2tsz=(1
t++z)(2t++z  (3t++11)1+) 
、 tsm=tt+z (l+4. (3t++、−2)t
+)、t114= t + i I+>”、t 41=
 ((1−t 141) ”ta2= (1t l−1
) 2t 1++、t4g=(1’+。1)tl+1”
、tth=tlヤ、8、である。したがって、 Q、(1)= t 2.Qo+ t 22Q1+ t 
2sQ2+ t 2aQsQt”= t s>Qo+ 
t B2Q1+ t !3Q2+ t saQg・・・
・・・(7) となり、曲線P、の制御点Q1(j)、Q2N+を求め
ることができる。以上から、ひとつのベジェ曲線から凹
凸部の座標を算出し、元のベジェ曲線を凹凸部毎に複数
のベジェ曲線に分割する。式(3)(4)および(5)
(6)より凹凸部を表すtを求め、tの値の小さい順番
にt、(i=:1〜j−1)とする。但し、凹凸部が存
在しない場合は分割は行なわない。ここでjは(凹凸部
の総数+1)とし、t、=o、t、=1とする。曲線P
は、曲線p + (s = 0−j−1)のj区間の曲
線に分割することができる。
本レーザプリンタにおいてアウトラインデータのドツト
データへの変換は、第7図に示す画素スクリーン52を
用いて行なわれる。画素スクリーン52はアウトライン
データをド・ノドデータに変換するための計算上のもの
であるが、ここでは理解を容易にするために実在するも
のとして図示することとする。また、ここにおいて画素
とは、レーザにより印字が行なわれる際の最小印字単位
であり、画素スクリーン52は、−平面内において互い
に直交し、X軸方向とY軸方向とにそれぞれ平行である
。本実施例において画素は、円形とされており、画素毎
に印字を行なうか否かのド・ノドデータが作成される。
また、各画素の中心点(以下、画素中心点と称する。)
を通り、X軸方向とY軸方向とにそれぞれ平行なX方向
の規定線とX方向の規定線とが設定されており、各画素
の位置は画素中心点の座標で表される。なお、画素は矩
形その他の形状とすることも可能である。
画素スクリーン52は印字用紙の印字面に対応して想定
されるものであるが、第7図には理解を容易にするため
に1キャラクタ分を取り出して示しである。したがって
、画素スクリーン52全体においてX方向の規定線及び
X方向の規定線に実際に付される目盛り値は、第7図に
おいてX方向の規定線及びX方向の規定線に付されてい
る目盛り値に適宜の整数をそれぞれ加えた値となるが、
ここでは1キャラクタ分に付いてのみ考えることとする
アウトラインデータのドツトデータへの変換は、キャラ
クタの輪郭を画素スクリーン52に重ね合わせたと想定
して行なわれ、本実施例においてはキャラクタの輪郭内
の各画素にドツトが形成されるようになっており、その
画素のビットデータが1とされる。輪郭内には1個の画
素の全部または一部が含まれることとなるが、本実施例
においては輪郭内に画素中心点が含まれる画素のビット
データが1に設定される。
また、本レーザプリンタは、キャラクタを6゜48ポイ
ント、10ポイント、12ポイント、20ポイント、2
4ポイント、30ポイント等任意の印字ポイントサイズ
で印字することができ、印字ポイントサイズに合わせて
前記1000×1000の座標面で作られた輪郭の座標
値が換算される。1画素の1辺の長さを1で表す座標面
を画素スクリーン52上に想定して座標値の換算が行な
われるのであり、ある印字ポイントサイズのキャラクタ
がCxC画素で表されるとすれば、1000X100O
の座標面上における輪郭を決定する各点の座標値にC/
1000を掛ければ上記画素スクリーン52上に想定し
た座標面上の座標値が得られるのである。ここでは1個
のキャラクタが27X27画素で表される6、48ポイ
ントで印字を行なう場合について説明する。第7図の画
素スクリーン52に付された数字はこの場合の座標値で
ある。なお、キャラクタの輪郭を画素スクリーン52に
重ね合わせる際には、印字位置データに基づいて各キャ
ラクタの基準点の画素スクリーン52上における座標値
の決定も行なわれ、得られた基準点の座標値と上記換算
された座標値とを用いて重ね合わせが行なわれる。
このようにキャラクタの輪郭の画素スクリーン52上に
おける位置はキャラクタの大きさの他、印字位置にも影
響されるため、同じキャラクタを構成するキャラクタ構
成線44でも凸部の構成画素が異なり、凸部の滑らかさ
に大きな違いが生ずることがある。例えば、1画素内に
形成されるドツトを円で表せば、第8図(b)に示すよ
うに凸部の構成画素が5画素となり滑らかな凸部が構成
されているが、キャラクタ構成線44は印字位置によっ
て第8図(a)に示すように凸部の構成画素が1画素と
なり凸部が飛び出ているように見え、非常に目立つもの
がある。図中、格子は画素スクリーン52の一部を示し
ている。
これに対し、本レーザプリンタにおいては印字サイズが
2ポイント以上の場合、凹凸部付近のドツトデータが滑
らかになるようにアウトラインデータを修正してビット
データを設定し、キャラクタ構成線を常に良好なキャラ
クタを印字するようにされており、プログラムROM1
6には、第4図にフローチャートで示す凹凸部修正機能
を備えたドツトデータ変換用のプログラムを初めとして
、印字に必要な種々のプログラムが記憶されている。
以下、アルファベットのO”を例に取り、アウトライン
データのドツトデータへの変換について説明する。なお
、印字については本発明を理解する上で不可欠ではない
ため詳細な説明は省略するが、本レーザープリンタにお
いては印字が1ページごとに行なわれる。テキストメモ
リ18に記憶された文書データのうち1ペ一ジ分ずつデ
ータが読み出され、そのデータに対応する多数のキャラ
クタのアウトラインデータがそれぞれドツトデータに変
換されて印字が行なわれるのである。
第4図(a)に示すフローチャートにそって詳細に本実
施例の凹凸部修正処理について説明すると、まず、ステ
ップSL(以下、Slと略記する。
他のステップについても同じ。)において処理されるキ
ャラクタのアウトラインデータおよび印字サイズが読み
出され、各アウトラインデータは印字サイズに従ったポ
イントサイズに変換される。
例えば、6.48ポイントであれば全てのアウトライン
データに対して0.027を掛けることにより変換され
る。S2において印字サイズが2ポイントより大である
か否かの判定が行なわれるのであり、印字サイズが2ポ
イント以下の場合には判定結果はNOとなり、S3にお
いてアウトラインデータの中に曲線があれば直線を複数
個接続することにより近似的に直線化し、S4において
ドツトデータの設定が行なわれる。キャラクタの輪郭が
そのまま画素スクリーン52に重ね合わされ、輪郭内に
画素中心点が含まれる画素に対応するドツトデータが1
に設定され、ドツトデータメモリ24に記憶されるので
ある。
それに対し印字サイズが20ポイント、24ポイント、
30ポイント等2ポイントより大きい場合にはS2の判
定結果はYESとなり、S5においてアウトラインデー
タの点の座標および線の種別を順番に読み出す。線の種
別を86で判定し曲線以外の線つまり直線であれば判定
結果はNOとなり、S12で直線を凹凸部修正データメ
モリ22に登録する。一方、読み出した線の種別が曲線
の時にはS6の判定結果はYESとなり、S7から81
0までの曲線の凹凸部修正データ作成処理を実行し、S
llにおいて凹凸部修正データと曲線を凹凸部修正デー
タメモリ22に登録する。曲線はS7において凹凸部の
位置を、曲線を表す変数tの値をX方向は式(3)(4
)およびX方向は式(5)(6)を用いて算出する。X
方向の凹凸部の個数は第6図(a)に示す凹凸部修正デ
ータメモリ22の一部であるNxに記憶し、またX方向
の凹凸部の個数は第6図(b)に示す凹凸部修正データ
メモリ22の一部であるN7に記憶する。さらにX方向
の凹凸部の総数S、にNxを加え、同じくX方向の凹凸
部の総数SYにN9を加えるたものを記憶する。S7で
算出された凹凸部の個数N、、NYを88において判定
し、Nx=0かつNY=Oの場合該曲線は一つも凹凸部
を持たないためS9.810をスキップし、Sllの処
理を行なう。S9において87で算出したX方向および
X方向の変数tを値の小さい順に並べ変えワーキングメ
モリ20に一旦記憶する。それぞれの変数tに対してX
方向であればX座標、X方向であればX座標を式(1)
に変数tを代入して算出し、順番にX座標データは第6
図(a)のX座標修正前データ群81に、X座標データ
は第6図(b)のy座標修正前データ群83に追加格納
される。いま格納した座標データは修正前データであり
、S23または833においてアウトラインデータの修
正のときどの点を修正するのか検索する場合に使われる
。次に修正後のデータを、修正前のデータと輪郭線の内
外および凹凸部の凹部か凸部かにより算出する。アウト
ラインデータを構成する輪郭線の内外のデータはSlの
段階で読み込まれているものとし、輪郭線の凹凸部が凹
部であるのか凸部であるのかは凹凸部付近の微分値の符
号によって判別することとする。
ここで、X方向の凹凸部の修正データの算出方法を第9
図(a)に示すような輪郭線である曲線60が画素スク
リーン52と重ね合わされている状態を例にして説明す
る。第9図(a)では、曲線60の左部をドツトデータ
として構成する場合、点61の付近の1ドツトだけがへ
こんでしまう一方、曲線60の右部をドツトデータとし
て構成する場合、点61の付近の1ドツトだけが飛び出
てしまい非常に見苦しい態様を成すことがわかる。
曲線60を表す曲線式からX方向で凹凸部が存在するこ
とが式(3)(4)より判定され、その点を示す変数t
の値が算出され、式(1)に代入することにより点61
のX座標が算出される。算出されたX座標の小数部がち
ょうど0っまり整数のとき、修正後のX座標のデータは
、外輪郭線で凸部のとき−0,5、外輪郭線で四部のと
き+0゜5、内輪郭線で凸部のとき+0.5、内輪郭線
で凹部のとき−0,5する。それ以外の小数部をX座標
が持つときは、X座標の値を超えない最大の整数値に0
. 5を加えた値を修正後のデータする。
これにしたがって、修正データを算出すると点61は第
9図(b)の点65の位置に修正されることとなる。こ
のとき曲線60は式(7)を用いて点65を境に二つの
曲線62.64に分割される。
第9図(b)では、曲線62.64の左部をドツトデー
タとして構成する場合、点65の付近の3ドツトがへこ
む一方、曲線62.64の右部をドツトデータとして構
成する場合、点65の付近は3ドツト構成となり第9図
(a)に比較して滑らかなドツトデータとして変換され
ることがわかる。
同様に、X方向の凹凸部の修正データの算出方法を第1
0図(a)に示すような曲線70が画素スクリーン52
と重ね合わされている状態を例にして説明する。第10
図(a)では、曲線70の上部をドツトデータとして構
成する場合、点71の付近の1ドツトだけがへこんでし
まう一方、曲線70の下部をドツトデータとして構成す
る場合、点71の付近の1ドツトだけが飛び出てしまい
非常に見苦しい態様を成すことがわかる。曲線70を表
す曲線式からX方向で凹凸部が存在することが式(5)
(6)より判定されその点を示す変数tの値が算出され
、式(1)に代入することにより点71のX座標が算出
される。算出されたX座標の小数部がちょうどOつまり
整数のとき、修正後のX座標のデータは、外輪郭線で凸
部のとき−0,5、外輪郭線で凹部のとき+0.5、内
輪郭線で凸部のとき+0.5、内輪郭線で凹部のとき−
0,5する。それ以外の小数部をX座標が持つときは、
y座標の値を超えない最大の整数値に0゜5を加えた値
を修正後のデータする。これにしたがって、修正データ
を算出すると点71は第10図(b)の点75の位置に
修正されることとなる。
このとき曲線70は式(7)を用いて点75を境に二つ
の曲線72.74に分割される。第10図(b)では、
曲線72.74の上部をドツトデータとして構成する場
合、点75の付近の3ドツトがへこむ一方、曲線72.
74の下部をドツトデータとして構成する場合、点75
の付近は3ドツト構成となり第10図(a)に比較して
滑らかなドツトデータとして変換されることがわかる。
このようにして、算出された修正後のX座標データは、
第6図(a)のX座標修正後データ群82に対応する修
正前データと対応して参照可能であるように格納され、
同様に算出された修正後のX座標データは、第6図(b
)のy座標修正後データ群84に対応する修正前データ
群と対応して参照可能であるように格納される。次に、
S10においてワーキングメモリ20に一旦記憶された
(Nx+NY)個の変数tを順番に読み出し、それぞれ
変数tl、1≦i≦NX+NYとする。さらにt、=o
、t、=1、j= N x + N v + 1として
、変数tlを式(1)および式(7)にi=oから順番
に1=j−1まで適用することにより分割した曲線を定
義する制御点および制御腕を算出する。
この様子を第9図および第10図を例に説明すると、第
9図(a)の曲線60は凹凸部である点61で2つの曲
線62.64に分割され、制御点として点66.67と
図示していないが残り2点の制御点が算出される。第9
図(b)中の太い小線は制御腕を示してあり、X方向に
凹凸部であることから制御腕は垂直となる。同様に、第
10図(a)の曲線7oは凹凸部である点71で2つの
曲線72.74に分割され、制御点として点76.77
と図示していないが残り2点の制御点が算出される。第
10図(b)中の太い点線は制御腕を示してあり、X方
向に凹凸部であることから制御腕は水平となる。
このようにして、もとの曲線は凹凸部毎に分割され輪郭
線の凹凸部の移動を行なうことが可能となり、S11に
おいて810で算出され、分割された複数個の曲線を凹
凸部修正データメモリ22に登録する。第5図に示した
アルファベットの”0”を凹凸部毎に曲線を分割し状態
を第11図に示す。この場合”0”は全部で4本の曲線
から構成されていたが、分割することにより8本の曲線
で構成される。
S5において読み出された点のデータがアウトラインデ
ータの最後のデータでるか否か813で判別し、最後の
データでなければ判定結果がN。
となり、S5から312までの処理を繰り返し実行し、
凹凸部修正データメモリ22に修正データおよび修正さ
れるアウトラインデータを登録する。
一方アウドラインデータが最後のデータであれば913
の判定結果はYESとなりS14において、凹凸部を修
正するためのアウトラインデータの移動ルーチンを呼び
出し、凹凸部修正データメモリに登録された輪郭線デー
タに対して適用する。S14で移動修正された後S3に
おいてアウトラインデータの中に曲線があれば直線を複
数個接続することにより近似的に直線化し、S4におい
てドツトデータの設定が行なわれる。キャラクタの輪郭
がそのまま画素スクリーン52に重ね合わされ、輪郭内
に画素中心点が含まれる画素に対応するドツトデータが
1に設定され、ドツトデータメモリ24に記憶されるの
である。
次に、S14において呼び出されるアウトラインデータ
の移動ルーチンについて第4図(b)のフローチャート
にそって詳細に説明すると、まず、S20においてX方
向の凹凸部の総数SxがOか否かを判定し、0であれば
判定結果はYESとなりX方向の凹凸部修正処理である
S21からS25までの処理をスキップし、X方向の凹
凸部の修正処理を行なわない。SxがO以外のときつま
りX方向の凹凸部が少なくとも1個以上存在した場合S
20の判定結果はNoとなり、S21で凹凸部の修正処
理を計数するカウンタnをOで初期化する。カウンタn
はワーキングメモリ20に確保されているとする。S2
2においてX方向の凹凸部の修正前のX座標データをX
座標修正前データ群81から読み出し、それと対応する
修正後のX座標データをX座標修正後データ群82から
読み出す。次に823において凹凸部修正データメモリ
22に登録されているアウトラインデータの全ての点に
渡って、修正前のX座標データと許容範囲内に存在する
点を検索し、その点のX座標を修正後のX座標データを
置き換える。許容範囲は0゜0から0. 5までのいず
れの値を取ってもよいが本実施例では0.5とする。第
9図を例として説明すると点61のX座標が点65のX
座標に置き換えられ、さらに曲線60を曲線62と曲線
64に分割した結果算出された点66および点67も点
65と同じX座標に置き換えられる。これは前述したよ
うに点61がX方向の凹凸部であるため点61における
分割した2つの曲線の制御腕が垂直になるからである。
また、曲線と垂直線が接続している場合等は接続してい
る垂直線も同じようにX座標が置き換えられ、垂直線の
垂直度は保たれるのである。このようにして、X座標が
置き換えられた結果を第9図(b)に示し、図中の細い
点線は元の曲線60であり、X座標が置き換えられるこ
とにより凹凸部を修正した曲線を曲線62および曲線6
4で表す。1組のX方向の凹凸部が修正処理を終えると
、S24においてカウンタnに1を加え、S25におい
て、Sxとカウンタnが等しいかどうか判別され、等し
くない場合は判別結果がNOとなり、S21からS24
までの一連のX方向の凹凸部修正処理を繰り返し実行す
る。
また、Sxとカウンタnが等しいときは、S25の判別
結果はYESとなり、すべてのX方向の凹凸部の修正処
理が終えたこととなる。・次に、S30においてX方向
の凹凸部の総数SYがOか否かを判定し、0であれば判
定結果はYESとなりX方向の凹凸部修正処理であるS
31からS35までの処理をスキップし、X方向の凹凸
部の修正処理を行なわない。SYがO以外のときつまり
X方向の凹凸部が少なくとも1個以上存在した場合S3
0の判定結果はNOとなり、S31で凹凸部の修正処理
を計数するカウンタnを0で初期化する。
カウンタnはX方向の凹凸部修正処理と同じものを使用
する。832においてX方向の凹凸部の修正前のX座標
データをy座標修正前データ群83から読み出し、それ
と対応する修正後のX座標データをy座標修正後データ
群84から読み出す。
次に833において凹凸部修正データメモリ32に登録
されているアウトラインデータの全ての点に渡って、修
正前のX座標データと許容範囲内に存在する点を検索し
、その点のX座標を修正後のX座標データを置き換える
。許容範囲は0.0から0.5までのいずれの値を取っ
てもよいが本実施例ではX方向と同じく0.5とする。
第10図を例として説明すると点71のX座標が点75
のX座標に置き換えられ、さらに曲線70を曲線72と
曲線74に分割した結果算出された点76および点77
も点75と同じX座標に置き換えられる。これは前述し
たように点71がX方向の凹凸部であるため点71にお
ける分割した2つの曲線の制御腕が水平になるからであ
る。また、曲線と水平線が接続している場合等は接続し
ている水平線も同じようにX座標が置き換えられ、水平
線の水平度は保たれるのである。このようにして、X座
標が置き換えられた結果を第10図(b)に示し、図中
の細い点線は元の曲線70であり、X座標が置き換えら
れることにより凹凸部を修正した曲線を曲線72および
曲線74で表す。1組のX方向の凹凸部が修正処理を終
えると、834においてカウンタnに1を加え、S35
において、S7とカウンタnが等しいかどうか判別され
、等しくない場合は判別結果がNoとなり、S31がら
S34までの一連のX方向の凹凸部修正処理を繰り返し
実行する。また、sYとカウンタnが等しいときは、S
35の判別結果はYESとなり、すべてのX方向の凹凸
部の修正処理が終えたこととなる。この凹凸部修正処理
を第11図に示すアルファベットの”0”に対して処理
を施し、画素を円形として画素中心点がアウトラインデ
ータの内部にあるときドツトデータを1としたときのキ
ャラクタ構成線を示した図を第12図に示す。第7図の
”O”のキャラクタ構成線に比較して第12図のキャラ
クタ構成線は、明らかに凹凸部において滑らかにドツト
データが構成されている。
このように本実施例のレーザプリンタにおいては、キャ
ラクタ構成線の凹凸部を滑らかになるように修正するこ
とによって、キャラクタを見栄えよく印字することがで
きる。また、キャラクタのアウトラインデータの凹凸部
を算出することより、凹凸部の座標データ等を予め記憶
することがないためキャラクタの記憶データ量が少なく
て済む。
以上詳述したことから明らかなように、本発明によれば
、プログラムROM16の83を記憶する部分およびド
ツトデータ変換部40の84を実行する部分がデータ変
換手段を構成し、プログラムROM16のS2からS1
4を記憶する部分およびCPUI 2のそれらステップ
を実行する部分が凹凸部算出手段を構成し、プログラム
ROM16のS20からS35を記憶する部分およびC
PU12のそれらステップを実行する部分、すなわち凹
凸部修正部38等が輪郭線移動手段を構成しているので
ある。
なお、上記実施例において、輪郭線の移動をアウトライ
ンデータの全てに対して適用したが、輪郭線を複数の区
間に分離しその範囲内毎に凹凸部を修正するデータを算
出し、区間毎にアウトラインデータの移動を適用するこ
とが可能である。また、各輪郭線の内外のデータを含ま
ず、輪郭線のループの方向により内外を判別することも
可能である。
また、上記実施例において、輪郭線の移動を行なう場合
に、予め設定されたキャラクタ構成線の縦線幅データ、
横線幅データ等があるときは、幅データを参照した修正
移動を行なうことも可能である。例えば、アルファベッ
トの”0”であればキャラクタ構成線の上下左右に対し
て幅データを設定し、幅データに即したドツト数を確保
しかつ凹凸部を滑らかにするように輪郭線の移動を行な
う。
さらに、レーザプリンタ以外のプリンタにも適用し得る
ことは勿論、プリンタ以外にも文字、記号等のキャラク
タのアウトラインデータをドツトデータに変換する必要
のある装置に一般的に本発明を適用することができる。
その他、いちいち例示することはしないが、当業者の知
識に基づいて種々の変形、改良を施した態様で実施する
ことができる。
[発明の効果コ 以上詳述したことから明らかなように、本発明のデータ
変換装置によれば、キャラクタ構成線の凹凸部を算出し
、凹凸部の座標とキャラクタ構成線を一定の座標に相対
移動させることにより、キャラクタ構成線内にあるドツ
トデータを凹凸部付近において滑らかになるように構成
することができ、常に見栄えのよいキャラクタを出力す
ることができる。
【図面の簡単な説明】
第1図から第13図までは本発明を具体化した実施例を
示すもので、第1図は、本発明の構成を概念的に示すブ
ロック図である。第2図は本発明の一実施例であるデー
タ変換装置を備えたレーザプリンタの制御回路を示すブ
ロック図である。第3図は上記制御回路の構成要素であ
るCPUを概念的に示す図である。第4図は上記制御回
路のプログラムROMに記憶されたプログラムのうち、
データ変換用プログラムを示すフローチャートである。 第5図は上記データ変換装置により変換されるアルファ
ベットの”O”の輪郭を示す図である。第6図は凹凸部
修正データを示す図である。 第7図は上記アルファベットの”O”を画素スクリーン
に重ねて示す図である。第8図はキャラクタ構成線を画
定するアウトラインの印字位置により凸部のドツト構成
の違いを説明する図である。 第9図はX方向の凹凸部の修正を説明する図である。第
10図はX方向の凹凸部の修正を説明する図である。第
11図は上記アルファベットの”O”を構成する輪郭線
を凹凸部毎に曲線を分割したことを示す図である。第1
2図は凹凸部を修正した上記アルファベットの”O”を
画素スクリーンに重ねて示す図である。第13図は3次
のベジェ曲線の定義と曲線の分割を説明する図である。 10はマイクロコンピュータ部、11は凹凸部、12は
CPU、14はキャラクタROM、16はプログラムR
OM、18はテキストメモリ、20はワーキングメモリ
、22は凹凸部修正データメモリ、24はドツトデータ
メモリ、36はデータ読出部、38は凹凸部修正部、4
0はデータ変換部、44はキャラクタ構成線、46は外
輪郭線、47は内輪郭線、52は画素スクリーンである

Claims (1)

  1. 【特許請求の範囲】 1、アウトラインデータによって表されるキャラクタの
    輪郭を、互いに直交するX軸方向とY軸方向とにそれぞ
    れ平行な複数の規定線により画素を規定する画素スクリ
    ーンに重ね合わせたと想定した場合に、キャラクタを構
    成するキャラクタ構成線内に一定基準を満たす状態で含
    まれる画素に対応するドットデータをキャラクタ構成線
    の存在を表すデータに設定し、アウトラインデータをド
    ットデータに変換するデータ変換手段を備えたデータ変
    換装置において、 前記キャラクタを構成するキャラクタ構成線のX軸方向
    またはY軸方向に対する凹部または凸部の座標を算出す
    る凹凸部算出手段と、 前記凹凸部算出手段によって得られた凹部または凸部の
    座標を前記画素スクリーンの規定線に対して一定の座標
    に相対移動させる輪郭線移動手段と、 を設け、かつ、前記データ変換手段を、前記輪郭線移動
    手段の移動により得られたアウトラインデータをドット
    データに変換するものとしたことを特徴とするデータ変
    換装置。
JP24186390A 1990-09-12 1990-09-12 データ変換装置 Expired - Fee Related JP3189276B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP24186390A JP3189276B2 (ja) 1990-09-12 1990-09-12 データ変換装置
US07/755,529 US5309554A (en) 1990-09-12 1991-09-05 Apparatus for converting character outline data into dot data, having means for moving outline segments
GB9119351A GB2249462B (en) 1990-09-12 1991-09-10 Apparatus for converting character outline data into dot data,having means for moving outline segments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24186390A JP3189276B2 (ja) 1990-09-12 1990-09-12 データ変換装置

Publications (2)

Publication Number Publication Date
JPH04121788A true JPH04121788A (ja) 1992-04-22
JP3189276B2 JP3189276B2 (ja) 2001-07-16

Family

ID=17080647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24186390A Expired - Fee Related JP3189276B2 (ja) 1990-09-12 1990-09-12 データ変換装置

Country Status (3)

Country Link
US (1) US5309554A (ja)
JP (1) JP3189276B2 (ja)
GB (1) GB2249462B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574842A (en) * 1988-07-29 1996-11-12 Canon Kabushiki Kaisha Document processing apparatus and method for generating a character or symbol pattern across a plurality of lines
JP3164617B2 (ja) * 1991-11-07 2001-05-08 株式会社日立製作所 文字図形変形処理装置および方法
JP3057935B2 (ja) * 1992-11-16 2000-07-04 ブラザー工業株式会社 文字出力装置
US5796409A (en) * 1993-04-06 1998-08-18 Ecole Polytechnique Federale De Lausanne Method for producing contrast-controlled grayscale characters
JP2964841B2 (ja) * 1993-07-15 1999-10-18 ブラザー工業株式会社 データ変換装置
US5781714A (en) * 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
US5583978A (en) * 1994-05-27 1996-12-10 Bitstream Inc. Apparatuses and methods for creating and using portable fonted texts with embedded automatically-created font descriptions
JPH0816801A (ja) * 1994-06-30 1996-01-19 Canon Inc 画像処理方法及び装置
JP3238580B2 (ja) * 1994-09-14 2001-12-17 シャープ株式会社 太め細め文字生成装置
JP3226734B2 (ja) * 1994-10-19 2001-11-05 キヤノン株式会社 データ変換装置および方法
JP4066585B2 (ja) * 2000-01-24 2008-03-26 株式会社日立製作所 図形作成方法
US7490166B2 (en) * 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
TW493144B (en) * 2001-02-26 2002-07-01 Ulead Systems Inc Drawing method for trimmed ribbon graphs and computer readable media for program storage
US8179565B2 (en) * 2005-09-08 2012-05-15 Go Daddy Operating Company, LLC Document color and shades of gray optimization using outlining
US8115977B2 (en) * 2005-09-08 2012-02-14 Go Daddy Operating Company, LLC Document color and shades of gray optimization using monochrome patterns
US7502135B2 (en) * 2005-09-08 2009-03-10 The Go Daddy Group, Inc. Document color and shades of gray optimization using dithered monochrome surfaces
US7777917B2 (en) * 2005-09-08 2010-08-17 The Go Daddy Group, Inc. Document color and shades of gray optimization using solid monochrome colors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2641708C3 (de) * 1976-09-16 1980-02-21 Paul 6456 Langenselbold Gutermuth Unterdecke, insbesondere für gewerbliche Küchen, Schlachthauser, Waschkuchen u.dgl
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
US4675830A (en) * 1984-07-06 1987-06-23 Compugraphic Corporation Method for producing a scaleable typeface data
US5073956A (en) * 1988-10-25 1991-12-17 Brother Kogyo Kabushiki Kaisha Apparatus for converting image outline data into dot data representative of dots to be formed
US5099435A (en) * 1989-03-31 1992-03-24 Bitstream, Inc. Method and apparatus for conversion of outline characters to bitmap characters
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
JPH0378795A (ja) * 1989-08-22 1991-04-03 Toshiba Corp 文書作成装置

Also Published As

Publication number Publication date
US5309554A (en) 1994-05-03
GB9119351D0 (en) 1991-10-23
JP3189276B2 (ja) 2001-07-16
GB2249462A (en) 1992-05-06
GB2249462B (en) 1994-08-31

Similar Documents

Publication Publication Date Title
JPH04121788A (ja) データ変換装置
US5241653A (en) Apparatus and method for adjusting and displaying scaled, rasterized characters
JPH0443587B2 (ja)
JPS62123573A (ja) コンピユ−タ・グラフイツク装置およびその操作方法
KR100818718B1 (ko) 화상 처리 장치, 및 화상 처리 프로그램이 기록된 컴퓨터판독가능한 기록 매체
JP3057935B2 (ja) 文字出力装置
US5351315A (en) Apparatus for smoothing outlines of images
JP3038840B2 (ja) データ変換装置
JP3169013B2 (ja) データ出力装置
JPH02231166A (ja) データ変換装置
JP2841829B2 (ja) データ変換装置
JP2956705B2 (ja) データ変換装置
JP3057811B2 (ja) データ変換装置
JP3211404B2 (ja) 文字列出力装置
JP2757411B2 (ja) データ変換装置
JPS6356693A (ja) 文字のドツト化方式
JPH02234195A (ja) データ変換装置
JP3132507B2 (ja) データ出力方法
JP2746008B2 (ja) 塗色図形描画装置および塗色データ決定方法
JPH04104294A (ja) データ変換装置
JP2881863B2 (ja) データ変換装置
JP2861201B2 (ja) データ変換装置
JP2881924B2 (ja) データ記憶装置
JP2770331B2 (ja) データ変換装置
JPH04257893A (ja) データ変換装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20080518

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees