JPH04301887A - アウトラインフォント処理装置 - Google Patents
アウトラインフォント処理装置Info
- Publication number
- JPH04301887A JPH04301887A JP3089232A JP8923291A JPH04301887A JP H04301887 A JPH04301887 A JP H04301887A JP 3089232 A JP3089232 A JP 3089232A JP 8923291 A JP8923291 A JP 8923291A JP H04301887 A JPH04301887 A JP H04301887A
- Authority
- JP
- Japan
- Prior art keywords
- control point
- normal vector
- outline font
- direction angle
- processing
- 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
- 239000013598 vector Substances 0.000 claims abstract description 48
- 230000008859 change Effects 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 230000008719 thickening Effects 0.000 abstract description 30
- 230000015654 memory Effects 0.000 abstract description 20
- 230000015556 catabolic process Effects 0.000 abstract 1
- 238000006731 degradation reaction Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000006866 deterioration Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は文字パターンの表現に用
いられるアウトラインフォントの処理を行う文字パター
ン処理装置に係わり、例えばワークステーション等で作
成された文書をプリント出力する際にアウトラインフォ
ントのシックニング処理を行うアウトラインフォント処
理装置に関する。
いられるアウトラインフォントの処理を行う文字パター
ン処理装置に係わり、例えばワークステーション等で作
成された文書をプリント出力する際にアウトラインフォ
ントのシックニング処理を行うアウトラインフォント処
理装置に関する。
【0002】
【従来の技術】文字パターンを表現するフォントの1つ
としてアウトラインフォントが用いられることが多い。 このアウトラインフォントは文字パターンの輪郭を表わ
す輪郭情報とその他の属性情報から構成されるが、通常
これらの情報は予め各文字ごとに作成されメモリに格納
される。実際の文字パターン出力は、この輪郭情報を基
にまず輪郭を描いてからその内部を塗り潰すことにより
行われる。従って、この方式によればビットマップデー
タ方式に比べてフォントデータを格納するメモリの容量
が少なくて済むと共に、出力に際しての拡大・縮小や回
転操作が容易になり、しかもこれらの操作により印字品
質が劣化することがないという長所がある。
としてアウトラインフォントが用いられることが多い。 このアウトラインフォントは文字パターンの輪郭を表わ
す輪郭情報とその他の属性情報から構成されるが、通常
これらの情報は予め各文字ごとに作成されメモリに格納
される。実際の文字パターン出力は、この輪郭情報を基
にまず輪郭を描いてからその内部を塗り潰すことにより
行われる。従って、この方式によればビットマップデー
タ方式に比べてフォントデータを格納するメモリの容量
が少なくて済むと共に、出力に際しての拡大・縮小や回
転操作が容易になり、しかもこれらの操作により印字品
質が劣化することがないという長所がある。
【0003】図9は、アウトラインフォントの一例とし
て“2”という文字パターンを表わしたものである。
て“2”という文字パターンを表わしたものである。
【0004】この図に示すように、この文字パターンの
輪郭はn個の制御点P1 〜Pn と、これらを順次結
んだ線分により構成される。これらn個の制御点の座標
を示すデータは、予めP1 〜Pn の順(矢印M1
〜M7 の方向)にシステム内のメモリやハードディス
ク等のフォントデータ格納部に格納されており、レーザ
プリンタ等への出力に際しこれらのデータを基に輪郭を
描いてからその内側を塗り潰すようになっている。この
フォントデータ格納部には、各制御点を順次結ぶ各線分
の法線ベクトルV12〜Vn1の方向を示す法線ベクト
ルデータも格納されている。この図に示すように、これ
らの法線ベクトルは各線分について塗り潰す側から外側
に向かうものとする。
輪郭はn個の制御点P1 〜Pn と、これらを順次結
んだ線分により構成される。これらn個の制御点の座標
を示すデータは、予めP1 〜Pn の順(矢印M1
〜M7 の方向)にシステム内のメモリやハードディス
ク等のフォントデータ格納部に格納されており、レーザ
プリンタ等への出力に際しこれらのデータを基に輪郭を
描いてからその内側を塗り潰すようになっている。この
フォントデータ格納部には、各制御点を順次結ぶ各線分
の法線ベクトルV12〜Vn1の方向を示す法線ベクト
ルデータも格納されている。この図に示すように、これ
らの法線ベクトルは各線分について塗り潰す側から外側
に向かうものとする。
【0005】ワークステーション等で作成された文書を
、このようなアウトラインフォントを用いて印字出力す
る場合には、印字出力装置の特性に応じていくつかの特
別なフォント処理をする必要がある。その1つとしてシ
ックニング処理が行われる。これは、例えば印字手段と
してレーザプリンタのように機種ごとに印字特性が変化
するプリンタを使用する場合に、それぞれの装置の印字
特性に応じてフォントを太めたり細めたりする処理とし
て行われるものであり、アウトラインフォントを用いた
印字の品質を維持するのに必要な処理である。
、このようなアウトラインフォントを用いて印字出力す
る場合には、印字出力装置の特性に応じていくつかの特
別なフォント処理をする必要がある。その1つとしてシ
ックニング処理が行われる。これは、例えば印字手段と
してレーザプリンタのように機種ごとに印字特性が変化
するプリンタを使用する場合に、それぞれの装置の印字
特性に応じてフォントを太めたり細めたりする処理とし
て行われるものであり、アウトラインフォントを用いた
印字の品質を維持するのに必要な処理である。
【0006】このようなアウトラインフォントに対する
シックニング処理は、従来次のようにして行われていた
。これを図9の4つの制御点Px 、Py 、Pl 、
Pm を例にとって説明する。
シックニング処理は、従来次のようにして行われていた
。これを図9の4つの制御点Px 、Py 、Pl 、
Pm を例にとって説明する。
【0007】図10〜図17はそれぞれ制御点Px 、
Py 、Pl 、Pm の周辺を拡大して表わしたもの
である。 これらの図で、矢印45はフォントデータとして格納さ
れた制御点の処理順序方向を示し、矢印46は隣接する
法線ベクトルの変化方向を示す。
Py 、Pl 、Pm の周辺を拡大して表わしたもの
である。 これらの図で、矢印45はフォントデータとして格納さ
れた制御点の処理順序方向を示し、矢印46は隣接する
法線ベクトルの変化方向を示す。
【0008】図10に示すように、文字パターンを太め
るときには、各制御点をその制御点を含む2つの線分の
法線ベクトルの方向にそれぞれ所定量だけ移動する処理
を行う。例えば制御点Px の場合、線分L(x−1)
xの法線ベクトルV(x−1)xの正方向と線分Lx(
x+1)の法線ベクトルVx(x+1)の正方向にそれ
ぞれ距離Dだけ移動することにより、2つの新たな制御
点Px ′、Px ″を得る。これにより、新たな輪郭
線41が得られる。
るときには、各制御点をその制御点を含む2つの線分の
法線ベクトルの方向にそれぞれ所定量だけ移動する処理
を行う。例えば制御点Px の場合、線分L(x−1)
xの法線ベクトルV(x−1)xの正方向と線分Lx(
x+1)の法線ベクトルVx(x+1)の正方向にそれ
ぞれ距離Dだけ移動することにより、2つの新たな制御
点Px ′、Px ″を得る。これにより、新たな輪郭
線41が得られる。
【0009】反対に文字パターンを細めるときには、図
11に示すように、各制御点をその制御点を含む2つの
線分の法線ベクトルの方向と反対の方向にそれぞれ所定
量だけ移動する処理が行われる。例えば制御点Px の
場合、法線ベクトルV(x−1)x、およびVx(x+
1)の負方向にそれぞれ距離Dだけ移動することにより
、2つの新たな制御点Px ′、Px ″を得る。これ
により、新たな輪郭線42が得られる。
11に示すように、各制御点をその制御点を含む2つの
線分の法線ベクトルの方向と反対の方向にそれぞれ所定
量だけ移動する処理が行われる。例えば制御点Px の
場合、法線ベクトルV(x−1)x、およびVx(x+
1)の負方向にそれぞれ距離Dだけ移動することにより
、2つの新たな制御点Px ′、Px ″を得る。これ
により、新たな輪郭線42が得られる。
【0010】同様に、図12に示すように、制御点Py
に対して文字パターンを太める処理を行うときには制
御点Py を法線ベクトルV(y−1)y 、および
Vy(y+1)の正方向にそれぞれ距離Dだけ移動する
。これにより2つの新たな制御点Py ′、Py″を得
る。反対に文字パターンを細めるときは、図13に示す
ように、制御点Py を法線ベクトルV(y−1)y
、Vy(y+1)の負方向にそれぞれ距離Dだけ移動
する。これにより2つの新たな制御点Py ′、Py
″を得る。
に対して文字パターンを太める処理を行うときには制
御点Py を法線ベクトルV(y−1)y 、および
Vy(y+1)の正方向にそれぞれ距離Dだけ移動する
。これにより2つの新たな制御点Py ′、Py″を得
る。反対に文字パターンを細めるときは、図13に示す
ように、制御点Py を法線ベクトルV(y−1)y
、Vy(y+1)の負方向にそれぞれ距離Dだけ移動
する。これにより2つの新たな制御点Py ′、Py
″を得る。
【0011】また、図14に示すように、制御点Pl
に対して文字パターンを太める処理を行う場合には制御
点Pl を法線ベクトルV(l−1)l 、およびV
l(l+1)の正方向にそれぞれ距離Dだけ移動する。 これにより2つの新たな制御点Pl ′、Pl ″を得
る。反対に文字パターンを細めるときには、図15に示
すように、制御点Pl を法線ベクトルV(l−1)l
、Vl(l+1)の負方向にそれぞれ距離Dだけ移
動する。これにより2つの新たな制御点はPl ′、P
l ″を得る。
に対して文字パターンを太める処理を行う場合には制御
点Pl を法線ベクトルV(l−1)l 、およびV
l(l+1)の正方向にそれぞれ距離Dだけ移動する。 これにより2つの新たな制御点Pl ′、Pl ″を得
る。反対に文字パターンを細めるときには、図15に示
すように、制御点Pl を法線ベクトルV(l−1)l
、Vl(l+1)の負方向にそれぞれ距離Dだけ移
動する。これにより2つの新たな制御点はPl ′、P
l ″を得る。
【0012】さらに図16に示すように、制御点Pm
に対して文字パターンを太める処理を行う場合は、制御
点Pm を法線ベクトルV(m−1)m とVm(m
+1)の正方向にそれぞれ距離Dだけ移動する。これに
より2つの新たな制御点Pm ′、Pm ″を得る。反
対に文字パターンを細める場合は、図17に示すように
、制御点Pm を法線ベクトルベクトルV(m−1)m
、Vm(m+1)の負方向にそれぞれ距離Dだけ移
動する。これにより、2つの新たな制御点Pm ′、P
m ″を得る。
に対して文字パターンを太める処理を行う場合は、制御
点Pm を法線ベクトルV(m−1)m とVm(m
+1)の正方向にそれぞれ距離Dだけ移動する。これに
より2つの新たな制御点Pm ′、Pm ″を得る。反
対に文字パターンを細める場合は、図17に示すように
、制御点Pm を法線ベクトルベクトルV(m−1)m
、Vm(m+1)の負方向にそれぞれ距離Dだけ移
動する。これにより、2つの新たな制御点Pm ′、P
m ″を得る。
【0013】このように、従来、アウトラインフォント
を用いた文字パターンにシックニング処理を施して印字
出力する場合、フォントを構成するすべての制御点がそ
の処理の対象となっていた。
を用いた文字パターンにシックニング処理を施して印字
出力する場合、フォントを構成するすべての制御点がそ
の処理の対象となっていた。
【0014】ところで、図10および図14に示したよ
うに、制御点の処理順序方向45と法線ベクトルの変化
方向46が一致する制御点について文字パターンを太め
る処理を行う場合や、図13および図17に示したよう
に、制御点の処理順序方向45と法線ベクトルの変化方
向46が一致しない制御点について文字パターンを細め
るシックニング処理を行う場合には、新たな線分同士が
交差するという問題は生じない。
うに、制御点の処理順序方向45と法線ベクトルの変化
方向46が一致する制御点について文字パターンを太め
る処理を行う場合や、図13および図17に示したよう
に、制御点の処理順序方向45と法線ベクトルの変化方
向46が一致しない制御点について文字パターンを細め
るシックニング処理を行う場合には、新たな線分同士が
交差するという問題は生じない。
【0015】しかしながら、図11および図15に示し
たように、制御点の処理順序方向45と法線ベクトルの
変化方向46が一致する制御点について文字パターンを
細める処理を行う場合や、図12および図16に示した
ように、制御点の処理順序方向45と法線ベクトルの変
化方向46が一致しない制御点について文字パターンを
太める処理を行う場合には、新たに設定された制御点間
を結ぶ線分同士が交差する。例えば、図12では、新た
な制御点Py −1″とPy ′とを結ぶ線分と、新た
な制御点Py ″とPy+1′とを結ぶ線分は点Cy
で交差する。 これにより、3つの点Cy 、Py ′、Py ″によ
り形成される微小な閉領域49が生じることとなる。
たように、制御点の処理順序方向45と法線ベクトルの
変化方向46が一致する制御点について文字パターンを
細める処理を行う場合や、図12および図16に示した
ように、制御点の処理順序方向45と法線ベクトルの変
化方向46が一致しない制御点について文字パターンを
太める処理を行う場合には、新たに設定された制御点間
を結ぶ線分同士が交差する。例えば、図12では、新た
な制御点Py −1″とPy ′とを結ぶ線分と、新た
な制御点Py ″とPy+1′とを結ぶ線分は点Cy
で交差する。 これにより、3つの点Cy 、Py ′、Py ″によ
り形成される微小な閉領域49が生じることとなる。
【0016】図18は、図12における微小な閉領域4
9を拡大して表わしたものである。この図に示すように
、通常、ドットを塗り潰すか否かの判定は主走査方向4
7に沿ってドット単位で行われ、輪郭線に行き当たるご
とにそれ以降のドットデータを“0”(白)から“1”
(黒)、または“1”から“0”へと反転するようにな
っている。そして、このような走査を副走査方向48に
繰り返し行うことにより塗り潰しが行われる。ところが
、前述したような微小な閉領域49が存在すると、この
内部のドットデータは本来の値“1”から“0”に変化
してしまい、本来塗り潰されるべき領域が塗り潰されず
に白のまま残存することとなる。
9を拡大して表わしたものである。この図に示すように
、通常、ドットを塗り潰すか否かの判定は主走査方向4
7に沿ってドット単位で行われ、輪郭線に行き当たるご
とにそれ以降のドットデータを“0”(白)から“1”
(黒)、または“1”から“0”へと反転するようにな
っている。そして、このような走査を副走査方向48に
繰り返し行うことにより塗り潰しが行われる。ところが
、前述したような微小な閉領域49が存在すると、この
内部のドットデータは本来の値“1”から“0”に変化
してしまい、本来塗り潰されるべき領域が塗り潰されず
に白のまま残存することとなる。
【0017】同様に、図16の場合も、2つの制御点P
m ′、Pm ″と点Cm により形成される微小領域
が白として残存することとなる。
m ′、Pm ″と点Cm により形成される微小領域
が白として残存することとなる。
【0018】反対に、図11における2つの制御点Px
′、Px″と点Cx により形成される微小領域や、
図15における2つの制御点Pl ′、Pl ″と点C
l により形成される微小領域は、本来塗り潰しの行わ
れない領域であるにも係わらず、黒く塗り潰されてしま
うこととなる。
′、Px″と点Cx により形成される微小領域や、
図15における2つの制御点Pl ′、Pl ″と点C
l により形成される微小領域は、本来塗り潰しの行わ
れない領域であるにも係わらず、黒く塗り潰されてしま
うこととなる。
【0019】
【発明が解決しようとする課題】このように、従来行わ
れていたシックニング処理はフォントを構成するすべて
の制御点を対象としていたので、新たに設定された制御
点間を結ぶ線分同士が交差する部分が多数発生すること
となる。従って、そのまま塗り潰しを行うと、処理前に
は存在しなかった微小な黒または白の領域が多数生じ、
印字品質の低下を招くこととなる。これを防ぐためには
、シックニング処理により生じた微小な閉領域に対する
塗り潰し処理を行うか否かの判定を逐一行う必要がある
。しかしながら、そのためのアルゴリズムは極めて複雑
なものとなるため、CPU(中央処理装置)への負担が
増大すると共に処理速度が低下するという欠点があった
。
れていたシックニング処理はフォントを構成するすべて
の制御点を対象としていたので、新たに設定された制御
点間を結ぶ線分同士が交差する部分が多数発生すること
となる。従って、そのまま塗り潰しを行うと、処理前に
は存在しなかった微小な黒または白の領域が多数生じ、
印字品質の低下を招くこととなる。これを防ぐためには
、シックニング処理により生じた微小な閉領域に対する
塗り潰し処理を行うか否かの判定を逐一行う必要がある
。しかしながら、そのためのアルゴリズムは極めて複雑
なものとなるため、CPU(中央処理装置)への負担が
増大すると共に処理速度が低下するという欠点があった
。
【0020】そこで、このような欠点を除去するために
、すべての制御点についてシックニング処理を施すので
はなく、制御点を所定のシックニング処理条件を満たす
ものと満たさないものに分類し、条件を満たすものにつ
いてのみシックニング処理を施す装置が提案されている
。この装置によれば簡単な演算のみで制御点の分類がで
き、上述した微小閉領域の発生を防止することができる
。しかしながら、この方法では、シックニング処理を施
さない制御点があることから処理後の制御点の並びに凹
凸が生じ易く不自然になるため、結果として印字品質上
の問題が依然として存在していた。そこで、本発明の目
的は、アウトラインフォントのレーザプリンタ等への出
力に際して必要なシックニング処理による印字品質の劣
化を防止することができるアウトラインフォント処理装
置を提供することにある。
、すべての制御点についてシックニング処理を施すので
はなく、制御点を所定のシックニング処理条件を満たす
ものと満たさないものに分類し、条件を満たすものにつ
いてのみシックニング処理を施す装置が提案されている
。この装置によれば簡単な演算のみで制御点の分類がで
き、上述した微小閉領域の発生を防止することができる
。しかしながら、この方法では、シックニング処理を施
さない制御点があることから処理後の制御点の並びに凹
凸が生じ易く不自然になるため、結果として印字品質上
の問題が依然として存在していた。そこで、本発明の目
的は、アウトラインフォントのレーザプリンタ等への出
力に際して必要なシックニング処理による印字品質の劣
化を防止することができるアウトラインフォント処理装
置を提供することにある。
【0021】
【課題を解決するための手段】本発明では、(i) 文
字パターンの輪郭を構成する複数の制御点に関するデー
タをアウトラインフォントデータとして記憶するアウト
ラインフォントデータ記憶手段と、(ii)このアウト
ラインフォントデータ記憶手段に記憶されたアウトライ
ンフォントデータから、互いに隣接する制御点同士を結
ぶ線分の法線ベクトルの方向角を抽出する方向角抽出手
段と、(iii) この方向角抽出手段により抽出され
た法線ベクトル方向角を基に、互いに隣接する法線ベク
トルの変化量を算出する変化量算出手段と、(iv)こ
の変化量算出手段により算出された法線ベクトル変化量
を基に、各制御点の属性としての移動量を算出する移動
量算出手段と、(v) 方向角抽出手段により抽出され
た法線ベクトル方向角を基に、各制御点の属性としての
移動方向角を算出する移動方向角算出手段と、(vi)
この移動方向角算出手段により算出された移動方向角と
移動量算出手段により算出された移動量とを、各制御点
に対応付けて記憶する記憶手段とをアウトラインフォン
ト処理装置に具備させる。
字パターンの輪郭を構成する複数の制御点に関するデー
タをアウトラインフォントデータとして記憶するアウト
ラインフォントデータ記憶手段と、(ii)このアウト
ラインフォントデータ記憶手段に記憶されたアウトライ
ンフォントデータから、互いに隣接する制御点同士を結
ぶ線分の法線ベクトルの方向角を抽出する方向角抽出手
段と、(iii) この方向角抽出手段により抽出され
た法線ベクトル方向角を基に、互いに隣接する法線ベク
トルの変化量を算出する変化量算出手段と、(iv)こ
の変化量算出手段により算出された法線ベクトル変化量
を基に、各制御点の属性としての移動量を算出する移動
量算出手段と、(v) 方向角抽出手段により抽出され
た法線ベクトル方向角を基に、各制御点の属性としての
移動方向角を算出する移動方向角算出手段と、(vi)
この移動方向角算出手段により算出された移動方向角と
移動量算出手段により算出された移動量とを、各制御点
に対応付けて記憶する記憶手段とをアウトラインフォン
ト処理装置に具備させる。
【0022】そして、本発明では、アウトラインフォン
トデータを構成する各制御点につき、その前後の法線ベ
クトルの方向角を基に最適移動方向と最適移動量を算出
し、これを角制御点に対応付けて格納することとする。
トデータを構成する各制御点につき、その前後の法線ベ
クトルの方向角を基に最適移動方向と最適移動量を算出
し、これを角制御点に対応付けて格納することとする。
【0023】
【実施例】以下実施例につき本発明を詳細に説明する。
【0024】図1は本発明の一実施例におけるアウトラ
インフォント処理装置を表わしたものである。この装置
にはシステムバス11が設けられ、次のような各種の装
置回路が接続されている。
インフォント処理装置を表わしたものである。この装置
にはシステムバス11が設けられ、次のような各種の装
置回路が接続されている。
【0025】(i) CPU(中央処理装置)12:文
書や図形の作成・編集などの情報処理、および装置全体
の動作の制御を行う。
書や図形の作成・編集などの情報処理、および装置全体
の動作の制御を行う。
【0026】(ii)メインメモリ13:ランダム・ア
クセス・メモリ(RAM)からなり、ハードディスク2
2から読み出された制御プログラム、アウトラインフォ
ントテーブル、その他ユーザデータ等が格納される。
クセス・メモリ(RAM)からなり、ハードディスク2
2から読み出された制御プログラム、アウトラインフォ
ントテーブル、その他ユーザデータ等が格納される。
【0027】(iii) メモリマネジメントユニット
(MMU)14:メインメモリ13からデータを読み出
してシステムバス11に転送したり、反対にデータをメ
インメモリ13に格納する制御を行う。
(MMU)14:メインメモリ13からデータを読み出
してシステムバス11に転送したり、反対にデータをメ
インメモリ13に格納する制御を行う。
【0028】(iv)DMA(直接メモリアクセス)1
5:CPU12を介さずに周辺装置とメインメモリ13
の間でデータを直接転送するための制御を行う。
5:CPU12を介さずに周辺装置とメインメモリ13
の間でデータを直接転送するための制御を行う。
【0029】(v) ビットマップディスプレイ16:
キーボード18から入力されたユーザデータやハードデ
ィスク22から読み出されたデータ、およびCPU12
からの各種のメッセージ等を表示する。
キーボード18から入力されたユーザデータやハードデ
ィスク22から読み出されたデータ、およびCPU12
からの各種のメッセージ等を表示する。
【0030】(vi)CRTコントローラ17:ビット
マップディスプレイ16の制御を行う。
マップディスプレイ16の制御を行う。
【0031】(vii) キーボード18:入力用コミ
ュニケーションボード21を介して接続され、CPU1
2に対し各種の命令を実行するための指示やユーザデー
タを入力するのに用いられる。
ュニケーションボード21を介して接続され、CPU1
2に対し各種の命令を実行するための指示やユーザデー
タを入力するのに用いられる。
【0032】(viii)マウス19:ビットマップデ
ィスプレイ16の画面上のグラフィックカーソルの移動
や、処理項目の選択等に用いられる。
ィスプレイ16の画面上のグラフィックカーソルの移動
や、処理項目の選択等に用いられる。
【0033】(ix)ハードディスク22:この情報処
理装置の制御プログラムが格納されており、これがハー
ドディスクコントローラ23を介してメインメモリ13
のプログラム格納領域にロードされ、装置各部の制御が
行われる。また、このハードディスク22には、各文字
パターンごとに図3に示すようなアウトラインフォント
テーブル24および法線ベクトルテーブル33が格納さ
れ、CPU12の指示によりメインメモリ13内の作業
領域にロードされるようになっている。このうち、アウ
トラインフォントテーブル24には、文字パターンを構
成する制御点P1 〜Pn に対応して座標データp1
〜pn が格納され、法線ベクトルテーブル33には
、各法線ベクトルV12〜Vn1に対応してそのベクト
ル方向角を示すベクトルデータv12〜vn1が格納さ
れている。このハードディスク22には、その他のユー
ザデータも格納されるようになっている。
理装置の制御プログラムが格納されており、これがハー
ドディスクコントローラ23を介してメインメモリ13
のプログラム格納領域にロードされ、装置各部の制御が
行われる。また、このハードディスク22には、各文字
パターンごとに図3に示すようなアウトラインフォント
テーブル24および法線ベクトルテーブル33が格納さ
れ、CPU12の指示によりメインメモリ13内の作業
領域にロードされるようになっている。このうち、アウ
トラインフォントテーブル24には、文字パターンを構
成する制御点P1 〜Pn に対応して座標データp1
〜pn が格納され、法線ベクトルテーブル33には
、各法線ベクトルV12〜Vn1に対応してそのベクト
ル方向角を示すベクトルデータv12〜vn1が格納さ
れている。このハードディスク22には、その他のユー
ザデータも格納されるようになっている。
【0034】(x) レーザプリンタ25:必要に応じ
てシックニング処理を施されたアウトラインフォントデ
ータから生成されたビットマップデータを基に文字パタ
ーンの出力印字を行う。その他の画情報の出力印字も行
う。
てシックニング処理を施されたアウトラインフォントデ
ータから生成されたビットマップデータを基に文字パタ
ーンの出力印字を行う。その他の画情報の出力印字も行
う。
【0035】図2は図1の情報処理装置の外観を表わし
たものである。この図に示すように、ワークデスク26
上にはビットマップディスプレイ16、キーボード18
、およびレーザプリンタ25が載置され、それぞれ専用
ケーブル27、28、29により本体キャビネット31
に接続されている。このキーボード18にはマウス19
が接続されている。本体キャビネット31には、図1の
CPU12、メインメモリ13、ハードディスク22な
どの装置回路が収納されている。
たものである。この図に示すように、ワークデスク26
上にはビットマップディスプレイ16、キーボード18
、およびレーザプリンタ25が載置され、それぞれ専用
ケーブル27、28、29により本体キャビネット31
に接続されている。このキーボード18にはマウス19
が接続されている。本体キャビネット31には、図1の
CPU12、メインメモリ13、ハードディスク22な
どの装置回路が収納されている。
【0036】図5と共に、以上のような構成のアウトラ
インフォント処理装置の動作を説明する。ここでは、一
例として図7に示すような各制御点群について処理を行
うものとする。
インフォント処理装置の動作を説明する。ここでは、一
例として図7に示すような各制御点群について処理を行
うものとする。
【0037】まず、CPU12は、変数jに1をセット
したのち(ステップS101)、変数i、kにそれぞれ
jよりも1小さい値と1大きい値をセットする(ステッ
プS102)。ただし、セットされた値が“n+1”の
ときは“1”をセットし、セットされた値が“0”のと
きは(ステップS103)、“n”をセットする(ステ
ップS104)。ここで、nは処理対象の文字パターン
を構成する制御点の総数を示す。
したのち(ステップS101)、変数i、kにそれぞれ
jよりも1小さい値と1大きい値をセットする(ステッ
プS102)。ただし、セットされた値が“n+1”の
ときは“1”をセットし、セットされた値が“0”のと
きは(ステップS103)、“n”をセットする(ステ
ップS104)。ここで、nは処理対象の文字パターン
を構成する制御点の総数を示す。
【0038】次にCPU12は、ハードディスク22か
らアウトラインフォントテーブル24(図3)と法線ベ
クトルテーブル33(図4)をメインメモリ13にロー
ドし、制御点Pi 、Pj を結ぶ線分の法線ベクトル
Vijと、制御点Pj 、Pk を結ぶ線分の法線ベク
トルVjkを抽出する(ステップS105、ステップS
106)。そして、次の(1)式により、制御点Pj
の最適移動方向角データとしてAj を算出し(ステッ
プS107)、図6に示す制御点属性テーブル34に制
御点Pj と対応付けて書き込む(ステップS108)
。
らアウトラインフォントテーブル24(図3)と法線ベ
クトルテーブル33(図4)をメインメモリ13にロー
ドし、制御点Pi 、Pj を結ぶ線分の法線ベクトル
Vijと、制御点Pj 、Pk を結ぶ線分の法線ベク
トルVjkを抽出する(ステップS105、ステップS
106)。そして、次の(1)式により、制御点Pj
の最適移動方向角データとしてAj を算出し(ステッ
プS107)、図6に示す制御点属性テーブル34に制
御点Pj と対応付けて書き込む(ステップS108)
。
【0039】Aj =(Vij+Vjk)/2 ……
(1)
(1)
【0040】次にCPU12は、予め与えられて
いる法線ベクトル移動量Dをメインメモリ13から抽出
し、自己のレジスタにセットする(ステップS109)
。そして、法線ベクトルVij、Vjk間のベクトル方
向角変化量Vij−Vjkを求め、次の(2)式により
、制御点Pj の最適移動量Lj を算出する(ステッ
プS110)。但し、(2)式で〔 〕は絶対値を示
すものとする。
いる法線ベクトル移動量Dをメインメモリ13から抽出
し、自己のレジスタにセットする(ステップS109)
。そして、法線ベクトルVij、Vjk間のベクトル方
向角変化量Vij−Vjkを求め、次の(2)式により
、制御点Pj の最適移動量Lj を算出する(ステッ
プS110)。但し、(2)式で〔 〕は絶対値を示
すものとする。
【0041】
Lj =D/cos〔(Vij−Vjk)/2〕 ……
(2)
(2)
【0042】そして、この最適移動量Lj を制
御点属性テーブル34に制御点Pj と対応付けて書き
込む(ステップS111)。
御点属性テーブル34に制御点Pj と対応付けて書き
込む(ステップS111)。
【0043】次にCPU12は変数jを1インクリメン
トし(ステップS112)、ステップS102〜S11
1の処理を行う。以下これを繰り返し、変数jがnを越
えたとき(ステップS113;Y)、処理を終了する。
トし(ステップS112)、ステップS102〜S11
1の処理を行う。以下これを繰り返し、変数jがnを越
えたとき(ステップS113;Y)、処理を終了する。
【0044】このような処理により、メインメモリ13
内には図6のような制御点属性テーブル34が作成され
ることとなる。
内には図6のような制御点属性テーブル34が作成され
ることとなる。
【0045】実際のシックニング処理は、この制御点属
性テーブル34を参照し、アウトラインフォントテーブ
ル24に格納された各制御点の座標データに所定の演算
を行うことで行われる。これにより、各制御点Pj に
ついて最適移動方向Aj に最適移動量Lj だけ移動
した新たな制御点が求められる。
性テーブル34を参照し、アウトラインフォントテーブ
ル24に格納された各制御点の座標データに所定の演算
を行うことで行われる。これにより、各制御点Pj に
ついて最適移動方向Aj に最適移動量Lj だけ移動
した新たな制御点が求められる。
【0046】図8は、図7に示した制御点群について制
御点属性テーブル34に基づくシックニング処理を施し
た状態を表わしたものである。この図に示すように、例
えば制御点P2 は、法線ベクトルV12とV23のな
す角の丁度半分の方向A2 に、長さL2 だけ移動さ
せられた制御点P2 ′に変換されることとなる。他の
制御点についても同様である。
御点属性テーブル34に基づくシックニング処理を施し
た状態を表わしたものである。この図に示すように、例
えば制御点P2 は、法線ベクトルV12とV23のな
す角の丁度半分の方向A2 に、長さL2 だけ移動さ
せられた制御点P2 ′に変換されることとなる。他の
制御点についても同様である。
【0047】なお、本実施例で、法線ベクトルの方向角
を例えば反時計方向を正方向とする絶対角度で表わすこ
とにすれば、文字パターンを太める場合、細める場合の
いずれであっても(1)、(2)式がそのまま適用でき
るため、処理内容を場合分けする必要はなく、実際のシ
ックニング処理を単純化できる。
を例えば反時計方向を正方向とする絶対角度で表わすこ
とにすれば、文字パターンを太める場合、細める場合の
いずれであっても(1)、(2)式がそのまま適用でき
るため、処理内容を場合分けする必要はなく、実際のシ
ックニング処理を単純化できる。
【0048】また、本実施例では、シックニング処理用
の各種テーブルを格納するメモリとしてメインメモリ1
3を使用することとしたが、もちろん、これとは別個に
専用の作業用メモリを設けるようにしてもよい。
の各種テーブルを格納するメモリとしてメインメモリ1
3を使用することとしたが、もちろん、これとは別個に
専用の作業用メモリを設けるようにしてもよい。
【0049】さらに、シックニング処理により作成され
た制御点属性テーブル34をメインメモリ13だけでな
くハードディスク22にも格納するようにすれば、同じ
タイプのレーザプリンタを使用する限り既に作成したア
ウトラインフォントデータを使用できるので、その都度
図5の処理を行う必要がなくなり、印字出力を一層高速
化することができる。
た制御点属性テーブル34をメインメモリ13だけでな
くハードディスク22にも格納するようにすれば、同じ
タイプのレーザプリンタを使用する限り既に作成したア
ウトラインフォントデータを使用できるので、その都度
図5の処理を行う必要がなくなり、印字出力を一層高速
化することができる。
【0050】
【発明の効果】以上説明したように、本発明によれば、
アウトラインフォントデータを構成する各制御点につき
、その前後の法線ベクトルの方向角を基に最適移動方向
と最適移動量を算出して各制御点に対応付けて格納する
こととしたので、これを参照してシックニング処理を行
うことによりシックニング処理による印字品質の劣化を
防止することができるという効果がある。
アウトラインフォントデータを構成する各制御点につき
、その前後の法線ベクトルの方向角を基に最適移動方向
と最適移動量を算出して各制御点に対応付けて格納する
こととしたので、これを参照してシックニング処理を行
うことによりシックニング処理による印字品質の劣化を
防止することができるという効果がある。
【図1】 アウトラインフォント処理装置とその周辺
装置を示すブロック図である。
装置を示すブロック図である。
【図2】 アウトラインフォント処理装置とその周辺
装置の外観を示す外観図である。
装置の外観を示す外観図である。
【図3】 図1のハードディスクに格納されたアウト
ラインフォントテーブルを示す説明図である。
ラインフォントテーブルを示す説明図である。
【図4】 図1のハードディスクに格納された法線ベ
クトルテーブルを示す説明図である。
クトルテーブルを示す説明図である。
【図5】 このアウトラインフォント処理装置の動作
を説明するための流れ図である。
を説明するための流れ図である。
【図6】 図1のメインメモリ内に作成された制御点
属性テーブルを示す説明図である。
属性テーブルを示す説明図である。
【図7】 シックニング処理の対象となる制御点群の
一例を示す説明図である。
一例を示す説明図である。
【図8】 シックニング処理後の制御点群の状態を示
す説明図である。
す説明図である。
【図9】 アウトラインフォントの一例としての文字
パターン“2”を示す説明図である。
パターン“2”を示す説明図である。
【図10】 従来の太めるシックニング処理の第1の
例を示す説明図である。
例を示す説明図である。
【図11】 従来の細めるシックニング処理の第1の
例を示す説明図である。
例を示す説明図である。
【図12】 従来の太めるシックニング処理の第2の
例を示す説明図である。
例を示す説明図である。
【図13】 従来の細めるシックニング処理の第2の
例を示す説明図である。
例を示す説明図である。
【図14】 従来の太めるシックニング処理の第3の
例を示す説明図である。
例を示す説明図である。
【図15】 従来の細めるシックニング処理の第3の
例を示す説明図である。
例を示す説明図である。
【図16】 従来の太めるシックニング処理の第4の
例を示す説明図である。
例を示す説明図である。
【図17】 従来の細めるシックニング処理の第4の
例を示す説明図である。
例を示す説明図である。
【図18】 図12に示した従来のシックニング処理
後の塗り潰し処理を説明するための説明図である。
後の塗り潰し処理を説明するための説明図である。
Claims (1)
- 【請求項1】 文字パターンの輪郭を構成する複数の
制御点に関するデータをアウトラインフォントデータと
して記憶するアウトラインフォントデータ記憶手段と、
このアウトラインフォントデータ記憶手段に記憶された
アウトラインフォントデータから、互いに隣接する制御
点同士を結ぶ線分の法線ベクトルの方向角を抽出する方
向角抽出手段と、この方向角抽出手段により抽出された
法線ベクトル方向角を基に、互いに隣接する法線ベクト
ルの変化量を算出する変化量算出手段と、この変化量算
出手段により算出された法線ベクトル変化量を基に、各
制御点の属性としての移動量を算出する移動量算出手段
と、前記方向角抽出手段により抽出された法線ベクトル
方向角を基に、各制御点の属性としての移動方向角を算
出する移動方向角算出手段と、この移動方向角算出手段
により算出された移動方向角と移動量算出手段により算
出された移動量とを、各制御点に対応付けて記憶する記
憶手段とを具備することを特徴とするアウトラインフォ
ント処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3089232A JPH04301887A (ja) | 1991-03-29 | 1991-03-29 | アウトラインフォント処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3089232A JPH04301887A (ja) | 1991-03-29 | 1991-03-29 | アウトラインフォント処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04301887A true JPH04301887A (ja) | 1992-10-26 |
Family
ID=13965006
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3089232A Pending JPH04301887A (ja) | 1991-03-29 | 1991-03-29 | アウトラインフォント処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04301887A (ja) |
-
1991
- 1991-03-29 JP JP3089232A patent/JPH04301887A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5434591A (en) | Scrolling method and apparatus in which data being displayed is altered during scrolling | |
| US7747077B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| US5590247A (en) | Character string outputting method and apparatus capable of varying sizes of characters | |
| KR100277803B1 (ko) | 3차원 그래픽 표시장치 | |
| US4967376A (en) | Method for displaying characters and/or figures in a computer graphics and apparatus thereof | |
| EP0464794B1 (en) | Painting pattern generation system and pattern painting method using the system | |
| JPH02270019A (ja) | 高品質文字パターン発生方式 | |
| JP2886702B2 (ja) | アウトラインフォント処理装置 | |
| JP3034140B2 (ja) | 文字生成方法及びその装置 | |
| JPS63203341A (ja) | 拡大文字生成方式 | |
| JPH04104297A (ja) | 文字・図形描画装置 | |
| JPS63137378A (ja) | グラフイツクス処理システム | |
| JP2985275B2 (ja) | アウトラインフォントの文字発生方式 | |
| JP3039015B2 (ja) | 文字処理装置 | |
| CN116166165B (zh) | 可视化的文本选择方法、装置及存储介质 | |
| JPH02266480A (ja) | 高品質文字パターン発生方式 | |
| US5473751A (en) | High speed paint-out graphics device LSI and method of forming paint-out drawing | |
| JPH03209499A (ja) | アウトライン・フォントの形成方法およびその描画装置 | |
| JP2835056B2 (ja) | 高品質文字パターン発生方式 | |
| JPH0212382A (ja) | エアブラシ描画方式 | |
| JPS63211466A (ja) | 図形入力装置 | |
| JPH0922472A (ja) | イメージ処理方法 | |
| JP2787497B2 (ja) | 図形描画方法及び装置 | |
| CN114549292A (zh) | 场景图导出方法、装置、终端设备以及存储介质 | |
| JPH03278190A (ja) | 多角形塗りつぶし方式 |