JP3039015B2 - 文字処理装置 - Google Patents

文字処理装置

Info

Publication number
JP3039015B2
JP3039015B2 JP3188914A JP18891491A JP3039015B2 JP 3039015 B2 JP3039015 B2 JP 3039015B2 JP 3188914 A JP3188914 A JP 3188914A JP 18891491 A JP18891491 A JP 18891491A JP 3039015 B2 JP3039015 B2 JP 3039015B2
Authority
JP
Japan
Prior art keywords
outline
character
data
boundary position
reduced
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
JP3188914A
Other languages
English (en)
Other versions
JPH056164A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP3188914A priority Critical patent/JP3039015B2/ja
Publication of JPH056164A publication Critical patent/JPH056164A/ja
Application granted granted Critical
Publication of JP3039015B2 publication Critical patent/JP3039015B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は文字、記号等を示すパタ
ーンのアウトラインを拡大および縮小するための文字処
理装置に関する。
【0002】
【従来の技術】周知のように、デスクトップパブリッシ
ング(パソコンによる電子出版)においては、ラスタ文
字データばかりでなく、アウトライン文字データを使用
することが一般的になりつつある。これは、縮小または
拡大された文字や、装飾された文字を形成する場合、所
望の文字をラスタ文字データから導き出すよりも、アウ
トライン文字データから導き出した方が、所望の文字を
高品質かつ低データ量で得ることができるためである。
また、このアウトライン文字データは必要に応じてラス
タ文字データに変換され、このラスタ文字データをプリ
ンタ、CRT等に出力する。
【0003】しかしながら、従来はアウトライン文字デ
ータに対して縮小または拡大処理を施す場合、アウトラ
イン文字データによって示される文字パターンのアウト
ラインを単純に縮小または拡大していたので、縮小また
は拡大されたアウトラインをラスタ文字データに変換し
た場合、このラスタ文字データによって示されるビット
マップ上の文字パターンの品質が落ちることがあった。
【0004】例えば、アウトライン文字データが第17
図に示すような文字パターンのアウトラインであって、
このアウトライン文字データに対して1/10倍の縮小
処理を単純に施すと、第18図に示すようなアウトライ
ンが得られる。このアウトラインをラスタ文字データに
変換した場合、このアウトライン内に中心点が位置する
画素を「黒」とするので、結果として得られるビットマ
ップ上の文字パターンは第19図に示すようなものとな
る。この第19図に示す文字パターンにおける各線幅1
91,192と、第18図に示すアウトラインにおける
各線幅181,182を比較すると明らかなように、第
19図に示す各線幅191,192が不揃いになってい
る。これは第18図に示す各線幅181,182が1.
2画素分に相当し、ここには2つの画素の中心点が入る
場合と、1つの画素の中心点のみが入る場合とがあるか
らであり、前者の場合にはビットマップ上で2画素分の
幅となり、後者の場合には1画素分の幅となる。
【0005】そこで、希望するサイズに変換されたアウ
トラインを形付けるそれぞれの座標を一旦整数化(まる
めこみ)してからラスタ文字データに変換する方法があ
るが、四捨五入のような単純な整数化を施すと、第18
図に示すアウトラインは第20図に示すようなアウトラ
インとなってしまうので、ビットマップ上に展開する以
前に第19図に示す文字パターンと同様な結果を招くこ
ととなった。
【0006】このような文字パターンの線幅の不揃いを
解決するものとして、例えば特開平1−303489号
公報には文字出力方式が提案されている。ここでは文字
パターンの輪郭である対向する1対の線分のうち、一方
を基準線分、他方を補正対象線分とするとともに、対向
する1対の線分の間隔を基準幅としおき、文字パターン
を縮小するに際し、基準線分については縮小して整数化
することにより位置を定め、また補正対象線分について
は、まず基準幅を縮小して整数化することによりその値
を求め、基準線分に基づいて導かれた先の位置から基準
幅に基づいて導かれた先の値分だけ離れた位置に定める
ようにしている。このようにすれば、1対の線分を縮小
して整数化することにより得られる1対の線分の間隔が
不揃いになるようなことはなく、よって文字パターンの
線幅の不揃いを解決することができる。
【0007】しかしながら、上記特開平1−30348
9号公報に記載の文字出力方式では、元の文字パターン
を展開する2次元座標系の座標軸に平行な一対の線分の
みを対象としているので、曲線等を含む文字パターンの
場合は、その文字パターンを必ずしも良好に縮小するこ
とはできない。例えば、第21図に示すようなパターン
のアウトラインを1/10倍に縮小すると、第22図に
示すようなアウトラインが得られる。さらに、第22図
に示すアウトラインを整数化すると、第23図に示すよ
うなアウトラインが得られる。第23図において、それ
ぞれの対向する1対の線分は均等な幅を保ってそれぞれ
整数化されているが、この幅は整数化のときに第22図
での幅よりも広くなってしまうことがある。この場合、
中央に位置する円は整数化に際して補正を受けることが
ないので、回りの線分に接してしまう。ここで、第23
図に示すアウトラインと、第21図に示す元のアウトラ
インを比較すると明らかなように、縮小された文字パタ
ーンの品質が悪化している。
【0008】
【発明が解決しようとする課題】このように従来例によ
れば、アウトライン文字データによって示される文字パ
ターンが対向する1対の線分を組合せてなるものであれ
ば、文字パターンの縮小または拡大を良好になしうるも
のの、その文字パターンに曲線等の部分が含まれている
場合は、その部分に対する適切な補正を施さなかったの
で、縮小または拡大された文字パターンの品質が悪化す
るという問題点があった。
【0009】そこで、本発明は文字パターンのアウトラ
インに曲線等の部分が含まれていても、このアウトライ
ンを文字パターンの品質を悪化させることなく縮小また
は拡大することが可能な文字処理装置を提供することを
目的とする。
【0010】さらに、別の本発明は文字パターンのアウ
トラインを複数の部分アウトラインに分割し、これらの
部分アウトライン毎に処理を施すようにしており、これ
によりアウトライン全体が複雑であっても、このアウト
ラインを文字パターンの品質を悪化させることなく縮小
または拡大することが可能な文字処理装置を提供するこ
とを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、アウトライン文字データから拡
大または縮小された文字画像を形成する文字処理装置に
おいて、前記アウトライン文字データの示すアウトライ
ンの境界の位置を示す境界位置データ対および該アウト
ラインの制御点の位置を示す制御点データに対して縮小
または拡大処理を施して変換された変換境界位置データ
対および変換された変換制御点データを求める変換手段
と、前記変換手段で求めた変換境界位置データ対の一方
の境界位置データおよび該変換境界位置データ対の間の
距離を整数化し、該整数化された一方の境界位置データ
および該整数化された距離に基づき該変換境界位置デー
タ対の他方の境界位置データを求める整数化手段と、前
記変換手段により求めた変換境界位置データ対から前記
整数化手段によリ整数化された境界位置データ対への変
化量に基づき前記変換制御点データを補正する補正手段
と、前記補正手段で補正された制御点データに基づき縮
小または拡大された文字画像を生成する生成手段とを具
備することを特徴とする。
【0012】また、請求項2の発明は、アウトライン文
字データから拡大または縮小された文字画像を形成する
文字処理装置において、前記アウトライン文字データを
複数の部分アウトライン文字データに分割して記憶する
記憶手段と、前記記憶手段に記憶された部分アウトライ
ン文字データ毎に、前記部分アウトライン文字データの
示すアウトラインの境界の位置を示す境界位置データ対
および該アウトラインの制御点の位置を示す制御点デー
タに対して縮小または拡大処理を施して変換された変換
境界位置データ対および変換された変換制御点データを
求める変換手段と、前記変換手段で求めた変換境界位置
データ対の一方の境界位置データおよび該変換境界位置
データ対の間の距離を整数化し、該整数化された一方の
境界位置データおよび該整数化された距離に基づき該変
換境界位置データ対の他方の境界位置データを求める整
数化手段と、前記変換手段により求めた変換境界位置デ
ータ対から前記整数化手段によリ整数化された境界位置
データ対への変化量に基づき前記変換制御点データを補
正する補正手段と、前記補正手段で補正された制御点デ
ータに基づき部分アウトライン文字データの縮小または
拡大された文字画像を生成する生成手段とを具備するこ
とを特徴とする。
【0013】
【作用】請求項1の発明によれば、変換手段により、ア
ウトライン文字データの示すアウトラインの境界の位置
を示す境界位置データ対および該アウトラインの制御点
の位置を示す制御点データに対して縮小または拡大処理
を施して変換された変換境界位置データ対および変換さ
れた変換制御点データを求め、整数化手段により、この
変換境界位置データ対の一方の境界位置データおよび該
変換境界位置データ対の間の距離を整数化し、該整数化
された一方の境界位置データおよび該整数化された距離
に基づき該変換された境界位置データ対の他方の境界位
置データを求める。そして、補正手段により、変換境界
位置データ対から整数化手段によリ整数化された境界位
置データ対への変化量に基づき変換制御点データを補正
し、こ補正された制御点データに基づき縮小または拡大
された文字画像を生成手段で生成する。このような構成
によると、元の文字パターンに曲線等が含まれていて
も、この文字パターンの品質を悪化させることなく縮小
または拡大することができる。
【0014】また、請求項2の発明によれば、アウトラ
イン文字データを複数の部分アウトライン文字データに
分割して記憶手段に記憶する。そして、この記憶手段に
記憶された部分アウトライン文字データ毎に、 1)変換手段により、部分アウトライン文字データの示
すアウトラインの境界の位置を示す境界位置データ対お
よび該アウトラインの制御点の位置を示す制御点データ
に対して縮小または拡大処理を施して変換された変換境
界位置データ対および変換された変換制御点データを求
める 2)整数化手段により、変換手段で求めた変換境界位置
データ対の一方の境界位置データおよび該変換境界位置
データ対の間の距離を整数化し、該整数化された一方の
境界位置データおよび該整数化された距離に基づき該変
換境界位置データ対の他方の境界位置データを求める 3)補正手段により、変換手段により求めた変換境界位
置データ対から前記整数化手段によリ整数化された境界
位置データ対への変化量に基づき変換制御点データを補
正する 4)生成手段により、補正手段で補正された制御点デー
タに基づき部分アウトライン文字データの縮小または拡
大された文字画像を生成する処理を実行する。 このような構成によると、各部分アウトラインをそれぞ
れ独立して縮小、拡大処理することが可能になり、各部
分アウトラインが影響し合うことにより生じる文字パタ
ーンの著しい品質の悪化を防ぐことができる。
【0015】
【実施例】以下、本発明の実施例を添付図面を参照して
詳細に説明する。
【0016】まず、本発明の基本原理を述べる。なお、
ここでは第21図に示すアウトラインを縮小して整数化
する場合を例にして説明を行う。
【0017】第21図に示すアウトラインはアウトライ
ン文字データとして第24図に示すような形態で格納さ
れている。第24図において、アウトライン文字情報部
220には3つの各ポインタP1 ,P2 ,P3 、および
文字幅情報221が格納されている。文字幅情報221
は第21図に示すアウトラインの送り幅を示しおり、そ
の幅の値が“90”である。各ポインタP1,P2 ,P3
は制御点情報部222、縦方向境界位置情報部22
3、および横方向境界位置情報部224をそれぞれ指示
している。
【0018】制御点情報部222は輪郭線種データ22
5と、制御点データ226との対によって表されてい
る。輪郭線種データ225の値“0”は閉曲線の開始点
を示し、同データの値“1”は直線を示し、同データの
値“2”は3次ベジェ曲線を示している。制御点情報部
222における輪郭線種データ225の最初の値
“0”、引続く各値“1”に対応する制御点データ22
6は第21図に示す座標系における制御点座標(5,
5)から制御点座標(5,84)までの直線、制御点座
標(5,84)から制御点座標(84,84)までの直
線、制御点座標(84,84)から制御点座標(84,
5)までの直線、制御点座標(84,5)から制御点座
標(5,5)までの直線を示すものであり、よってアウ
トラインの外側の矩形21−1を示している。また、輪
郭線種データ225の2番目の値“0”、引続く各値
“1”に対応する制御点データ226は同座標系におけ
る制御点座標(20,20)から制御点座標(20,6
9)までの直線、制御点座標(20,69)から制御点
座標(69,69)までの直線、制御点座標(69,6
9)から制御点座標(69,20)までの直線、制御点
座標(69,20)から制御点座標(20,20)まで
の直線を示すものであり、よってアウトラインの内側の
矩形21−2を示している。さらに、輪郭線種データ2
25の3番目の値“0”、引続く各値“2”に対応する
制御点データ226は同座標系における制御点座標(3
0,45)から制御点座標(45,60)までの3次ベ
ジェ曲線、制御点座標(45,60)から制御点座標
(60,45)までの3次ベジェ曲線、制御点座標(6
0,45)から制御点座標(45,30)までの3次ベ
ジェ曲線、および制御点座標(45,30)から制御点
座標(30,45)までの3次ベジェ曲線を示してお
り、よって中央の円形21−3を示している。なお、3
次ベジェ曲線の場合は、3次ベジェ曲線が終了する制御
点の他に、更に2つの制御点を必要とするが、ここでは
簡略化のために直線と同様に終了の制御点しか表してい
ない。
【0019】縦方向境界位置情報部223は第21図に
示すアウトラインにおける縦方向の境界位置を表してお
り、第21図に示す座標系のx軸上の値で表される。こ
こでは4つの各値“5”,“20”,“69”,“8
4”であり、これらの値はアウトラインの左方で対向す
る外側境界位置および内側境界位置を示す1組の各値
“5”および“20”と、右方で対向する外側境界位置
および内側境界位置を示す1組の各値“84”および
“69”とに分類される。
【0020】横方向境界位置情報部224はアウトライ
ンにおける横方向の境界位置を表しており、座標系のy
軸上の値で表される。ここでは4つの各値“5”,“2
0”,“69”,“84”であり、これらの値はアウト
ラインの下方で対向する外側境界位置および内側境界位
置を示す1組の各値“5”および“20”と、上方で対
向する外側境界位置および内側境界位置を示す1組の各
値“84”および“69”とに分類されている。
【0021】さて、例えば第21図に示すアウトライン
を1/10倍に縮小する場合は、第24図に示すデータ
に対して1/10倍の縮小処理を施すこととなり、これ
により第25図に示すような縮小アウトライン文字デー
タが得られる。この縮小アウトライン文字データは第2
4図に示すデータと同様な構成であり、縮小アウトライ
ン文字情報部230には3つの各ポインタP1',P2',
P3'、および縮小文字幅情報231が格納されている。
縮小文字幅情報231は1/10倍に縮小されたアウト
ラインの送り幅を示し、各ポインタP1',P2',P3'は
縮小制御点情報部232、縮小縦方向境界位置情報部2
33、および縮小横方向境界位置情報部234をそれぞ
れ指示している。縮小文字幅情報231内の数値、縮小
制御点情報部232内の各数値、縮小縦方向境界位置情
報部233内の各数値、および縮小横方向境界位置情報
部234内の各数値は、第24図に示すデータにおける
それぞれの数値を1/10倍にすることにより得られた
ものである。
【0022】第25図に示すデータにおけるそれぞれの
数値に基づいて形成される縮小アウトラインは、第22
図に示すようなものとなる。
【0023】次に、第25図に示すデータが得られる
と、縮小縦方向境界位置情報部233内の各数値、およ
び縮小横方向境界位置情報部234内の各数値を整数化
する。縮小縦方向境界位置情報部233内の各数値は、
第22図に示す縮小アウトラインの左方で対向する外側
境界位置および内側境界位置を示す1組の各値“0.
5”および“2.0”と、右方で対向する外側境界位置
および内側境界位置を示す1組の各値“8.4”および
“6.9”とに分類されており、各組毎にそれぞれ整数
化される。同様に、縮小横方向境界位置情報部234内
の各数値は、第22図に示す縮小アウトラインの下方で
対向する外側境界位置および内側境界位置を示す1組の
各値“0.5”および“2.0”と、上方で対向する外
側境界位置および内側境界位置を示す1組の各値“8.
4”および“6.9”とに分類されており、各組毎にそ
れぞれ整数化される。
【0024】各組毎の整数化は、まず外側境界位置を示
す値を例えば四捨五入により整数化する。この後、外側
境界位置と内側境界位置間の距離を整数化し、この距離
に係わる整数と、先に求められた外側境界位置に係わる
整数に基づいて、内側境界位置を示す値を整数化する。
内側境界位置を示す値の整数化処理を次式(1)に示
す。
【0025】 内側境界位置に係わる整数= (外側境界位置に係わる整数)+FIX (外側境界位置と内側境界 位置間の距離) …(1) ただし、FIX ()は整数化を行う関数であって、例えば
四捨五入を行うための関数である。
【0026】ここで、縮小アウトラインの左方または下
方で対向する外側境界位置および内側境界位置を示す1
組の各値“0.5”および“2.0”を整数化する場
合、まず外側境界位置を示す値“0.5”を四捨五入に
より整数化して、外側境界位置に係わる整数値“1.
0”を求める。この後、内側境界位置に係わる整数値
“3.0”を上式(1)に基づく次のような計算式
(2)で求める。
【0027】 3.0=1.0+FIX (2.0−0.5) …(2) 同様に、縮小アウトラインの右方または上方で対向する
外側境界位置および内側境界位置を示す1組の各値
“8.4”および“6.9”を整数化する場合、まず外
側境界位置を示す値“8.4”を四捨五入により整数化
して、外側境界位置に係わる整数値“8.0”を求め
る。この後、内側境界位置に係わる整数値“6.0”を
上式(1)に基づく次のような計算式(3)で求める。
【0028】 6.0=8.0+FIX (6.9−8.4) …(3) 次に、縦方向の各境界位置および横方向の各境界位置毎
に、各境界位置から該各境界位置に係わるそれぞれの整
数への変化量を求める。ここでは縦方向の各境界位置の
変化量と横方向の各境界位置の変化量が同一であって、
これらの変化量は第26図に示すグラフで表される。
【0029】第26図に示すグラフにおいて、横軸xは
境界位置の値を示すとともに、縦軸yは境界位置に係わ
る整数値を示し、折れ線241は境界位置から該境界位
置に係わる整数への変化量を示す。この折れ線241上
において、点S1 は境界位置を示す値“0.5”と、該
値を整数化した整数値“1.0”とに対応し、点S2は
境界位置を示す値“2.0”と、該値を整数化した整数
値“3.0”とに対応し、点S3 は境界位置を示す値
“6.9”と、該値を整数化した整数値“6.0”とに
対応し、点S4 は境界位置を示す値“8.4”と、該値
を整数化した整数値“8.0”とに対応する。
【0030】このような縦方向の各境界位置の変化量と
横方向の各境界位置の変化量は、実際には折れ線の傾き
aと、折れ線のy切片bとで表される。例えば、点S1
から点S2 までの線分の傾きaとy切片bは次の様な各
計算式(4),(5)に従ってそれぞれ求められる。
【0031】 傾きa= (3.0−1.0)/(2.0−0.5)=1.33 …(4) y切片b= 1.0−0.5×1.33=0.33 …(5) 同様の計算が繰返され、点S2 から点S3 までの線分の
傾きa(=0.61)とy切片b(=1.78)が求め
られ、点S3 から点S4 までの線分の傾きa(=1.3
3)とy切片b(=−3.2)が求められる。
【0032】なお、第26図に示すグラフにおける点S
4 よりも右側、つまり次の点が存在しない場合は、次の
ような各計算式(6),(7)に示すように、点S4 よ
りも右側の線の傾きaを値“1.0”と仮定し、この線
のy切片bを求めることとなる。
【0033】 傾きa=1.0 …(6) y切片b= 8.0−1.0×8.4=−0.4 …(7) これまでの処理手順を表現すると、第27図に示すよう
になる。同図において、ステップ251は1/10倍の
縮小処理を施すことにより得られた縮小縦方向境界位置
情報部233および縮小横方向境界位置情報部234を
表している。ステップ252は縦方向の2つの各外側境
界位置を整数化するとともに、横方向の2つの各外側境
界位置を整数化したときの縮小縦方向境界位置情報部2
33および縮小横方向境界位置情報部234を表してい
る。ステップ253は縦方向の2つの各内側境界位置を
整数化するとともに、横方向の2つの各内側境界位置を
整数化したときの縮小縦方向境界位置情報部233およ
び縮小横方向境界位置情報部234を表している。ステ
ップ254は縦方向の各境界位置毎に折れ線の傾きaと
y切片bを求めるとともに、横方向の各境界位置毎に折
れ線の傾きaとy切片bを求めたときの縮小縦方向境界
位置情報部233および縮小横方向境界位置情報部23
4を表している。
【0034】こうして第27図に示すステップ254に
おける縮小縦方向境界位置情報部233および縮小横方
向境界位置情報部234を導出すと、縮小縦方向境界位
置情報部233内の情報に基づき、第25図に示す縮小
制御点情報部232内の各縮小制御点座標に係わるx軸
上の各値を補正するとともに、縮小横方向境界位置情報
部234内の情報に基づき、縮小制御点情報部232内
の各縮小制御点座標に係わるy軸上の各値を補正する。
【0035】すなわち、縮小制御点情報部232内の各
縮小制御点座標に係わるx軸上の各値としては、“0.
5”,“2.0”,“3.0”,“4.5”,“6.
0”,“6.9”,“8.4”がある。これらの値のう
ちの値“0.5”を補正する場合は、縮小縦方向境界位
置情報部233内の整数値“1.0”に対応する傾きa
(=1.33)およびy切片b(=0.33)に基づ
き、(a×0.5+b)という計算を行って、補正値
“1.0”(=1.33×0.5+0.33)を求め
る。また、値“2.0”を補正する場合は、縮小縦方向
境界位置情報部233内の整数値“1.0”に対応する
傾きa(=1.33)およびy切片b(=0.33)に
基づき、(a×2.0+b)という計算を行って、補正
値“3.0”を求める。さらに、値“3.0”を補正す
る場合は、縮小縦方向境界位置情報部233内の整数値
“3.0”に対応する傾きa(=0.61)およびy切
片b(=1.78)に基づき、(a×3.0+b)とい
う計算を行って、補正値“3.6”を求める。以降同様
に、値“4.5”を補正する場合は縮小縦方向境界位置
情報部233内の整数値“3.0”に対応する傾きaお
よびy切片bに基づいて補正値“4.5”を求め、値
“6.0”を補正する場合は縮小縦方向境界位置情報部
233内の整数値“6.0”に対応する傾きaおよびy
切片bに基づいて補正値“5.4”を求め、値“6.
9”を補正する場合は縮小縦方向境界位置情報部233
内の整数値“6.0”に対応する傾きaおよびy切片b
に基づいて補正値“6.0”を求め、値“8.4”を補
正する場合は縮小縦方向境界位置情報部233内の整数
値“8.0”に対応する傾きaおよびy切片bに基づい
て補正値“8.0”を求める。したがって、補正される
以前の各値“0.5”,“2.0”,“3.0”,
“4.5”,“6.0”,“6.9”,“8.4”と、
補正された後の各値“1.0”,“3.0”,“3.
6”,“4.5”,“5.4”,“6.0”,“8.
0”とのそれぞれの関係は第26図に示すグラフの折れ
線241上で表される。
【0036】また、縮小制御点情報部232内の各縮小
制御点座標に係わるy軸上の各値“0.5”,“2.
0”,“3.0”,“4.5”,“6.0”,“6.
9”,“8.4”は該各縮小制御点座標に係わるx軸上
の各値と同様に補正されるのであって、縮小横方向境界
位置情報部234から傾きaおよびy切片bが適宜に選
択されて補正される。もちろん、ここでは補正される以
前の各値と、補正された後の各値との関係は第26図に
示すグラフの折れ線241上で表される。
【0037】このような補正の結果、縮小制御点情報部
232内の各縮小制御点座標の値は第28図に示すよう
なものとなる。
【0038】この第28図に示す縮小制御点情報部23
2内の各縮小制御点座標に基づいてアウトラインを形成
すると、第29図に示すような補正された縮小アウトラ
インが得られる。この補正された縮小アウトラインから
明らかなように、平行な1対のライン間の距離は第21
図に示す元のアウトラインと同様に一定しており、不揃
いにはなっていない。また、中央の円形は縮小アウトラ
イン全体に対して適宜な位置および大きさに設定されて
いる。したがって、この補正された縮小アウトラインを
ビットマップ上に展開すると、平行な1対のラインによ
って形成される線幅は一定となり、かつ中央の円形は適
宜な位置および大きさに設定される。すなわち、縮小さ
れた文字パターンは元の文字パターンの特徴を保持して
おり、品質が著しく悪化しない。
【0039】このように第21図に示す元のアウトライ
ンにおける縦方向の各境界位置、横方向の各境界位置、
および各制御点座標を縮小して、縮小された縦方向の各
境界位置を整数化するとともに、縮小された横方向の各
境界位置を整数化し、縮小された縦方向の各境界位置か
ら該各境界位置に係わるそれぞれの整数への変化量に基
づいて縮小された各制御点座標のx軸上のそれぞれの値
を補正し、また縮小された横方向の各境界位置から該各
境界位置に係わるそれぞれの整数への変化量に基づいて
縮小された各制御点座標のy軸上のそれぞれの値を補正
し、補正された各制御点座標に基づいて縮小アウトライ
ンを形成するようにしている。ここで、縮小された各制
御点座標を補正するということは、境界位置の整数化に
よる境界位置の左右並びに上下の移動に伴って制御点座
標を同じ様に移動させるということである。このため、
補正された各制御点座標は適宜な位置をそれぞれ指示す
ることとなる。これにより、縮小された文字パターンの
品質が著しく悪化することを防止することできるのであ
る。
【0040】なお、各境界位置から該各境界位置に係わ
るそれぞれの整数への変化量を第26図に示すグラフに
おける折れ線で表しているが、これに限定されるもので
なく、各点S1 ,S2 ,S3 ,S4 を通る直線もしくは
曲線を求めれば、その変化量を直線もしくは曲線で表す
ことができる。また、各点S1 ,S2 ,S3 ,S4 を必
ず通る必要はなく、該各点に沿った変化を近似的に表す
関数があれば、その関数に基づく特性曲線で変化量を表
すことができる。例えば、折れ線を形成する各線分の傾
きaから傾きの平均値を求めるとともに、該各線分のy
切片bからy切片の平均値を求め、傾きが各傾きaの平
均値であって、かつy切片が各y切片bの平均値である
直線を第26図に示すグラフ上で求め、この直線を変化
量としてもよい。いずれにしろ、補正される以前の各縮
小制御点座標の値と、補正された後の各縮小点座標の値
との関係を直線もしくは曲線で表すこととなる。
【0041】第1図は本発明に係わる文字処理装置の一
実施例を示すブロック図である。同図において、書体デ
ータ1は後述するように文字パターンのアウトラインを
示すアウトライン文字データを含んでいる。
【0042】抽出部2は書体データ1を入力し、この書
体データ1から所定の文字パターンのアウトラインを示
すアウトライン文字データを抽出し、このアウトライン
文字データを記憶部3に記憶する。
【0043】変換部5は記憶部3内のアウトライン文字
データに対して例えば縮小処理を施し、これにより縮小
アウトラインを示す縮小アウトライン文字データを記憶
部3内で求める。
【0044】境界位置算出部6は縮小アウトライン文字
データによって示される各境界位置、つまり縮小アウト
ラインの各境界位置を整数化する。
【0045】変化量算出部7は縮小アウトラインの各境
界位置から該各境界位置に係わる整数への変化量を求め
る。
【0046】補正部8は変化量算出部7で求められた変
化量に基づいて縮小アウトライン文字データによって示
される各制御点、つまり縮小アウトラインを形付ける各
制御点を補正する。
【0047】展開部9は補正された各制御点により形付
けられるアウトラインを記憶部3内のビットマップ上に
展開し、これにより縮小された文字パターンを生成す
る。
【0048】第2図は、本実施例装置が適用される具体
的なシステムを示すブロック図である。同図において、
ランダムアクセスメモリ21は記憶部3(第1図に示
す)に対応しており、文字を加工するための作業領域と
して使用されるほか、このシステムを動作させるための
プログラムを一時的に格納したり、各種データを一時的
に格納するためのメモリである。また、このメモリ21
はビットマップに対応する画像メモリを備えており、文
字をビットマップ上に展開するに際しても利用される。
【0049】磁気ディスク装置22はこのシステムの基
本的な制御を行うためのプログラムや、書体データ1
(第1図に示す)をフォントファイルとして格納してい
るほか、必要に応じて保存用のデータを格納する外部記
憶装置である。
【0050】通信制御部23はケーブル24を介して外
部の電話回線網やローカルネットワーク等に接続され、
これらの網を通じて他の端末と通信するためのものであ
る。キーボード25はこのシステムの操作を行うために
各種データを入力するものであり、ポインティングデバ
イスとしてのマウス26が付設されている。このキーボ
ード25から、印字のためのデータ等を直接入力するこ
ともできる。
【0051】CRT制御部27はグラフィックディスプ
レイとしてのCRT28と接続されており、このCRT
28に対して各種データを可視表示するための制御を行
う。プリンタ制御部29はレーザプリンタ30の印刷制
御を行うためのものであり、この印刷制御により各種デ
ータが記録紙に記録される。
【0052】プロセッサ部31はバス32を通じて当該
システムを統合的に制御しており、各種のコマンドに基
づく演算を実行する。また、プロセッサ部31は第1図
に示す抽出部2、変換部5、境界位置算出部6、変化量
算出部7、補正部8、展開部9に対応しており、文字パ
ターンに対する各種の処理を行う。なお、このプロセッ
サ部31は中央処理装置(CPU)を主要構成要素とす
る周辺回路により構成される。
【0053】このような構成のシステムにおける基本的
な処理手順を第3図に示すフローチャートに従って述べ
る。
【0054】このシステムでは、まず印字を行うための
入力データが読込まれる(ステップ101)。この入力
データはコマンド形式になっており、プロセッサ部31
は入力データのコマンドの解釈を行う。そして、このコ
マンドが文字処理のコマンドかどうかを判断し(ステッ
プ102)、文字処理のコマンドであれば文字処理を行
う(ステップ103)。また、文字処理のコマンドでな
いときには、画像処理のコマンドかどうかを判断する
(ステップ104)。ここで、画像処理のコマンドであ
れば、CRT28の画面上の画像を処理する(ステップ
105)。さらに、画像処理のコマンドでなければ、そ
の他の処理を行う(ステップ106)。以上の処理を全
ての入力データについて終了するまで繰返し(ステップ
107)、入力データの処理が終了したときには、ラン
ダムアクセスメモリ21内の画像メモリに展開されてい
る文字を出力装置であるCRT28またはレーザプリン
タ30に出力し(ステップ108)、印字を行う。
【0055】次に、第3図に示すフローチャートにおけ
るステップ103でなされる文字処理に必要な書体デー
タ1(第1図に示す)について説明する。
【0056】まず、書体データ1を格納しているフォン
トファイルの構成を第4図に示す。このフォントファイ
ルに格納されている書体データ1は1種の書体で描かれ
た複数の文字を示すものであり、1書体1ファイルとな
っている。この書体データ1はラスタ文字情報領域41
と、アウトライン文字情報領域51とを有する。
【0057】ラスタ文字情報領域41は複数の文字パタ
ーンに対応するそれぞれのラスタ文字データ42を配列
してなり、1つのラスタ文字データ42は例えば第21
図に示すアウトラインを所定のサイズでビットマップ上
に展開することにより得られる文字パターンを示すラス
タデータ43と、この文字パターンの送り幅を示す文字
幅情報44とからなる。
【0058】また、アウトライン文字情報領域51は複
数の文字パターンのアウトラインに対応するそれぞれの
アウトライン文字データ52を配列してなり、それぞれ
のアウトライン文字データ52は先に述べた第24図に
示すような構成である。
【0059】なお、書体データ1におけるラスタ文字情
報領域41には既に登録されている複数の文字に対応す
るそれぞれの文字コード、および該各文字のサイズが含
まれているので、所望の文字コードとサイズを指定すれ
ば、必要とするラスタ文字データを検索することができ
る。また、書体データ1におけるアウトライン文字情報
領域51には既に登録されている複数の文字に対応する
それぞれの文字コードが含まれているので、所望の文字
コードを指定すれば、必要とする各アウトライン文字デ
ータを検索することができる。
【0060】さて、このような構成の書体データ1は第
3図に示すフローチャートにおけるステップ103の文
字処理で利用されるが、この文字処理を第5図に示すフ
ローチャートに従って更に詳しく述べる。
【0061】まず、プロセッサ部31は磁気ディスク装
置22内のフォントファイルをアクセスして、このフォ
ントファイルに格納されている書体データ1のラスタ文
字情報領域41を検索し(ステップ201)、ここに必
要とする文字に対応する文字コードおよび文字サイズが
登録されているか否かを判定する(ステップ202)。
ここで、これらの文字コードおよび文字サイズが登録さ
れているならば(ステップ202,YES )、該当するラ
スタ文字データ42を読出して、このラスタ文字データ
42をランダムアクセスメモリ21に転送する(ステッ
プ203)。これにより、ランダムアクセスメモリ21
内のビットマップ上で該当する文字パターンが該当する
サイズで形成される。この後、この文字パターンをCR
T28またはレーザプリンタ30に出力することとな
る。
【0062】一方、必要とする文字に対応する文字コー
ドおよび文字サイズがラスタ文字情報領域41に登録さ
れていなければ(ステップ202,NO)、書体データ1
のアウトライン文字情報領域51を検索し(ステップ2
04)、その文字コードが登録されているか否かを判定
する(ステップ205)。ここで、この文字コードが登
録されていなければ(ステップ205,NO)、エラー処
理を行って(ステップ206)、終了となる。
【0063】また、その文字コードがアウトライン文字
情報領域51に登録されていれば(ステップ205,YE
S )、プロセッサ部31における抽出部2が起動される
こととなる。この抽出部2はアウトライン文字情報領域
51から該当するアウトライン文字データ52を読出し
て、このアウトライン文字データ52を記憶部3(ラン
ダムアクセスメモリ21)に転送する(ステップ20
7)。
【0064】ここで、例えば記憶部3内のアウトライン
文字データが第24図に示すようなものであるとする
と、変換部5はこのアウトライン文字データに対して1
/10倍の縮小処理を施し、第25図に示す縮小アウト
ライン文字データをメモリ21内で形成する(ステップ
208)。この縮小アウトライン文字データによって示
されるアウトラインは第22図に示すようなものであ
る。
【0065】境界位置算出部6は縮小アウトライン文字
データの外側境界位置および内側境界位置を縦方向と横
方向で共に整数化し、これにより第27図に示すステッ
プ253のデータを得る(ステップ209)。引続き、
変化量算出部7は縦方向の各境界位置毎に折れ線の傾き
aとy切片bを求めるとともに、横方向の各境界位置毎
に折れ線の傾きaとy切片bを求め、これにより第27
図に示すステップ254のデータを得る。
【0066】この後、補正部8はアウトラインの各境界
位置に対応するそれぞれの傾きaとy切片bに基づい
て、縮小アウトライン文字データの各縮小制御点座標を
補正し、これにより第28図に示すデータを得る(ステ
ップ210)。
【0067】展開部9は第28図に示すデータに基づい
て第29図に示す補正された縮小アウトラインを記憶部
3内のビットマップ上で展開し、これにより縮小され補
正された文字パターンを形成する(ステップ211)。
この後、この文字パターンをCRT28またはレーザプ
リンタ30に出力することとなる。
【0068】なお、前記ステップ210で補正されたア
ウトラインは前記ステップ211で記憶部3内のビット
マップ上で展開され、これにより縮小され補正された文
字パターンが形成されるが、この文字パターンは出力装
置に出力されるだけでなく、その文字の文字コードとサ
イズが書体データ1のラスタ文字情報領域41に登録さ
れるとともに、この文字パターンおよび幅がラスタ文字
データ42として登録される。このため、再度同一の文
字コードとサイズを指定した場合は、該当する文字パタ
ーンをラスタ文字情報領域41から読出して形成するこ
とができる。すなわち、所望のサイズの文字パターンを
アウトラインに基づき一旦形成すれば、この文字パター
ンが登録されるので、アウトラインに基づく同一サイズ
の文字パターンの形成処理を繰返す必要はない。
【0069】ところで、上記本発明に係わる実施例によ
れば、第21図に示すアウトラインを文字パターンの品
質を悪化させることなく縮小することができたが、この
アウトラインの文字パターンよりも更に複雑な文字パタ
ーンを縮小する場合、複雑なアウトラインの部位に対す
る補正が他の部位に影響し、この他の部位に対して余分
な補正が施されることがある。
【0070】例えば、第30図に示すような既に縮小さ
れているアウトラインを補正すると、第31図に示すよ
うなアウトラインとなる。すなわち、第30図に示すア
ウトラインにおける縦方向の各境界位置はx軸上の各値
“6.6”,“7.2”,“9.8”,“10.4”で
表され、これらの値を整数化すると、第31図に示すx
軸上の各値“7.0”,“8.0”,“9.0”,“1
0.0”が求まる。このときの縦方向の各境界位置の変
化量に基づいて、第30図に示す各制御点座標A,B,
C,Dにおけるx軸上のそれぞれの値を補正すると、第
31図に示す各制御点座標A´,B´,C´,D´が得
られ、その部位が変形していることは明らかである。
【0071】なお、第32図は縦方向の各境界位置を示
すx軸上の各値“6.6”,“7.2”,“9.8”,
“10.4”を整数化し、各境界位置に対応するそれぞ
れの変化量を求めるまでの処理過程を示しており、第3
3図は補正される以前の各制御点座標A,B,C,Dに
おけるx軸上のそれぞれの値と、補正後の各制御点座標
A´,B´,C´,D´におけるx軸上のそれぞれの値
とを対比させている。また、第34図は補正される以前
の各制御点座標A,B,C,Dと、補正された後の各制
御点座標A´,B´,C´,D´とを拡大して示してお
り、制御点座標A´が右方向に移動し過ぎていることが
明らかである。
【0072】このように変形する部位が生じるのは、こ
の部位を形付ける制御点座標を該部位から離れている境
界位置に係わる変化量に基づいて補正しているためであ
る。そこで、別の本発明ではアウトラインを複数の部分
アウトラインに分割し、これらの部分アウトライン毎に
上記方法による縮小処理を施すようにしている。
【0073】第6図は別の本発明に係わる文字処理装置
の一実施例を示すブロック図である。同図において、書
体データ1は後述するように文字パターンのアウトライ
ンを分割した複数の部分アウトラインを含んでいる。
【0074】抽出部62は書体データ61を入力し、こ
の書体データ61から所定の文字パターンについての各
部分アウトラインを抽出し、これらの部分アウトライン
を記憶部63に記憶する。
【0075】変換部65は記憶部63内の各部分アウト
ライン毎に、部分アウトラインを例えば縮小し、これに
より該各部分アウトラインに対応するそれぞれの縮小部
分アウトラインを記憶部63内で求める。
【0076】アウトラインデータ演算部66は整数化部
66−1と補正部66−2を備えており、整数化部66
−1は各縮小部分アウトラインの境界位置を整数化し、
補正部66−2は各縮小部分アウトラインの制御点座標
を補正する。
【0077】展開部67は補正された各縮小部分アウト
ラインからなる縮小アウトライン、つまり縮小された文
字パターンの縮小アウトラインを記憶部63内のビット
マップ上に展開し、これにより縮小された文字パターン
を生成する。
【0078】第7図は本実施例装置が適用される具体的
なシステムを示すブロック図である。なお、同図におい
て、第2図に示すシステムと同様の作用を果たす部位に
は説明の便宜上同じ符号を付す。
【0079】このシステムは第2図に示すシステムと同
様にランダムアクセスメモリ21、磁気ディスク装置2
2、通信制御部23、ケーブル24、キーボード25、
マウス26、CRT制御部27、CRT28、プリンタ
制御部29、レーザプリンタ30、バス32を備えて構
成される。
【0080】また、プロセッサ部71は当該システムを
統合的に制御しており、第6図に示す抽出部62、変換
部65、アウトラインデータ演算部66および展開部6
7を内蔵する。
【0081】さらに、このシステムでは第2図に示すシ
ステムと同様の基本的な処理手順が行われるのであっ
て、その処理手順は第3図に示すフローチャートに従っ
て行われる。よって、この処理手順についての説明は省
略する。
【0082】次に、文字処理に必要な書体データ61
(第6図に示す)は第8図に示すような構成であって、
磁気ディスク装置22内に1書体1ファイルで格納され
ている。この書体データ61はラスタ文字情報領域81
と、アウトライン文字情報領域91とを有する。さら
に、ラスタ文字情報領域81はラスタ文字情報部82
と、ラスタコンポーネント情報部83とを有し、アウト
ライン文字情報領域91はアウトライン文字情報部92
と、アウトラインコンポーネント情報部93とを有す
る。
【0083】ラスタ文字情報領域81におけるラスタ文
字情報部82とラスタコンポーネント情報部83は、第
9図に示すように構成されている。すなわち、ラスタ文
字情報部82は1つの文字パターンに対応して各コンポ
ーネント化ラスタ文字データ84−1〜84−nを配列
してなり、各コンポーネント化ラスタ文字データ84−
1〜84−nは1つの文字パターンを分割した各部分パ
ターンをそれぞれ示す。また、ラスタコンポーネント情
報部83は各コンポーネント化ラスタ文字データ84−
1〜84−nに対応するそれぞれのコンポーネント位置
データ85−1〜85−nを配列してなり、1つのコン
ポーネント位置データは対応するコンポーネント化ラス
タ文字データの位置を示す。このような各コンポーネン
ト化ラスタ文字データおよび各コンポーネント位置デー
タは複数の文字パターン毎に、ラスタ文字情報部82お
よびラスタコンポーネント情報部83にそれぞれ配列さ
れる。ここで、1つの文字パターンに対応する各コンポ
ーネント位置データ85−1〜85−nに基づいて各コ
ンポーネント化ラスタ文字データ84−1〜84−nを
読出し、各コンポーネント化ラスタ文字データ84−1
〜84−nによって示されるそれぞれの部分パターンを
組立てると、1つの文字パターンが形成されることとな
る。
【0084】一方、アウトライン文字情報領域91にお
けるアウトライン文字情報部92とアウトラインコンポ
ーネント情報部93は、第10図に示すように構成され
ている。すなわち、アウトライン文字情報部92は1つ
の文字パターンのアウトラインに対応して各コンポーネ
ント化アウトライン文字データ94−1〜94−nを配
列してなり、各コンポーネント化アウトライン文字デー
タ94−1〜94−nは1つの文字パターンのアウトラ
インを分割した各部分アウトラインをそれぞれ示す。つ
まり、各コンポーネント化アウトライン文字データ94
−1〜94−nは第24図に示す構成のアウトラインデ
ータをそれぞれ有しており、これらのアウトラインデー
タは1つの文字パターンを示すアウトラインを分割した
各部分アウトラインをそれぞれ示している。また、アウ
トラインコンポーネント情報部93は各コンポーネント
化アウトライン文字データ94−1〜94−nに対応す
るそれぞれのコンポーネント位置データ95−1〜95
−nを配列してなり、1つのコンポーネント位置データ
は対応するコンポーネント化アウトライン文字データの
位置を示す。このような各コンポーネント化アウトライ
ン文字データおよび各コンポーネント位置データは複数
の文字パターンのアウトライン毎に、アウトライン文字
情報部92およびアウトラインコンポーネント情報部9
3にそれぞれ配列される。ここで、1つの文字パターン
のアウトラインに対応する各コンポーネント位置データ
95−1〜95−nに基づいて各コンポーネント化アウ
トライン文字データ94−1〜94−nを読出し、各コ
ンポーネント化アウトライン文字データ94−1〜94
−nによって示される複数の部分アウトラインを組立て
ると、1つの文字パターンのアウトラインが形成される
こととなる。
【0085】なお、書体データ61におけるラスタ文字
情報領域81には既に登録されている複数の文字に対応
するそれぞれの文字コード、および該各文字のサイズが
含まれているので、所望の文字コードとサイズを指定す
れば、該当する文字に対応する各コンポーネント位置デ
ータを検索し、これらのコンポーネント位置データに基
づいて必要とする各コンポーネント化ラスタ文字データ
を検索することができる。また、書体データ61におけ
るアウトライン文字情報領域91には既に登録されてい
る複数の文字に対応するそれぞれの文字コードが含まれ
ているので、所望の文字コードを指定すれば、該当する
文字に対応する各コンポーネント位置データを検索し、
これらのコンポーネント位置データに基づいて必要とす
る各コンポーネント化アウトライン文字データを検索す
ることができる。
【0086】さて、このような構成の書体データ61は
システムでなされる文字処理で利用されるが、この文字
処理を第11図に示すフローチャートに従って更に詳し
く述べる。
【0087】まず、プロセッサ部71は磁気ディスク装
置22内のフォントファイルをアクセスして、このフォ
ントファイルに格納されている書体データ61のラスタ
文字情報領域81を検索し(ステップ301)、ここに
必要とする文字に対応する文字コードおよび文字サイズ
が登録されているか否かを判定する(ステップ30
2)。ここで、これらの文字コードおよび文字サイズが
登録されているならば(ステップ302,YES )、ラス
タコンポーネント情報部83内の該当する各コンポーネ
ント位置データに基づいてラスタ文字情報部82から該
当する各コンポーネント化ラスタ文字データを逐次読出
して、これらのコンポーネント化ラスタ文字データをラ
ンダムアクセスメモリ21に順次転送する(ステップ3
03)。このとき、プロセッサ部71は各コンポーネン
ト化ラスタ文字データによって示されるそれぞれの部分
パターンを組立て、これによりランダムアクセスメモリ
21内のビットマップ上で文字パターンを形成する。こ
の後、この文字パターンをCRT28またはレーザプリ
ンタ30に出力することとなる。
【0088】一方、必要とする文字に対応する文字コー
ドおよび文字サイズがラスタ文字情報領域81に登録さ
れていなければ(ステップ302,NO)、書体データ6
1のアウトライン文字情報領域91を検索し(ステップ
304)、その文字コードが登録されているか否かを判
定する(ステップ305)。ここで、この文字コードが
登録されていなければ(ステップ305,NO)、エラー
処理を行って(ステップ306)、終了となる。
【0089】また、その文字コードがアウトライン文字
情報領域91に登録されていれば(ステップ305,YE
S )、プロセッサ部71における抽出部62が起動され
ることとなる。この抽出部62はアウトラインコンポー
ネント情報部93内の該当する各コンポーネント位置デ
ータに基づいてアウトライン文字情報部92から該当す
る各コンポーネント化アウトライン文字データを逐次読
出して、これらのコンポーネント化アウトライン文字デ
ータを記憶部63(ランダムアクセスメモリ21)に順
次転送する(ステップ307)。これらのコンポーネン
ト化アウトライン文字データは先に述べたように第24
図に示すような構成のアウトライン文字データである。
【0090】ここで、例えば記憶部63内の各コンポー
ネント化アウトライン文字データによって第12図の上
側部分アウトライン121と下側部分アウトライン12
2がそれぞれ示されているとし、これらの上側部分アウ
トライン121と下側部分アウトライン122からなる
アウトラインを必要とされる文字サイズ、つまり1/1
0倍に縮小するものとする。
【0091】この場合、変換部65は上側部分アウトラ
イン121および下側部分アウトライン122を示すそ
れぞれのコンポーネント化アウトライン文字データに対
して1/10倍の縮小処理を施し、それぞれの縮小コン
ポーネント化アウトライン文字データを記憶部63内で
形成する(ステップ308)。これらの縮小コンポーネ
ント化アウトライン文字データによって示されるアウト
ラインは第13図に示すようなものであり、縮小上側部
分アウトライン131および縮小下側部分アウトライン
132からなる。
【0092】アウトラインデータ演算部66における整
数化部66−1は縮小上側部分アウトライン131を示
す縮小コンポーネント化アウトライン文字データの外側
境界位置および内側境界位置を整数化するとともに、縮
小下側部分アウトライン132を示す縮小コンポーネン
ト化アウトライン文字データの外側境界位置および内側
境界位置を整数化する。さらに、整数化部66−1は整
数化に伴う各境界位置の変化量、つまり縮小上側部分ア
ウトライン131の各境界位置に対応するそれぞれの傾
きaとy切片bを求めるとともに、縮小下側部分アウト
ライン132の各境界位置に対応するそれぞれの傾きa
とy切片bを求める。引続き、アウトラインデータ演算
部66における補正部66−2は縮小上側部分アウトラ
イン131の各境界位置に対応するそれぞれの傾きaと
y切片bに基づいて、縮小上側部分アウトライン131
を示す縮小コンポーネント化アウトライン文字データの
各縮小制御点座標を補正する。同様に、補正部66−2
は縮小下側部分アウトライン132の各境界位置に対応
するそれぞれの傾きaとy切片bに基づいて、縮小下側
部分アウトライン132を示す縮小コンポーネント化ア
ウトライン文字データの各縮小制御点座標を補正する
(ステップ309)。こうして補正された縮小上側部分
アウトライン131に係わる各縮小制御点座標および縮
小下側部分アウトライン132に係わる各縮小制御点座
標に基づいてアウトラインを形成すると、第14図に示
すような補正上側部分アウトライン141および補正下
側部分アウトライン142を得ることができる。
【0093】展開部67は第14図に示す補正上側部分
アウトライン141および補正下側部分アウトライン1
42を記憶部63内のビットマップ上で展開し、これに
より縮小され補正された文字パターンを形成する(ステ
ップ310)。この後、この文字パターンをCRT28
またはレーザプリンタ30に出力することとなる。
【0094】ここで、第13図と第14図を比較すると
明らかなように、文字の品質は良好に保たれている。例
えば第13図に示す縮小上側部分アウトライン131の
各制御点A1 ,B1 ,C1 ,D1 からなる部位と、第1
4図に示す補正上側部分アウトライン141の各制御点
A1',B1',C1',D1'からなる部位とは同様の形状で
あり、ここに変形を生じていない。
【0095】次に、アウトラインデータ演算部66によ
る補正処理を第13図に示す縮小上側部分アウトライン
131の各制御点A1 ,B1 ,C1 ,D1 からなる部位
を例にして具体的に述べる。
【0096】まず、第13図に示す縮小上側部分アウト
ライン131はx軸上の値で表される縦方向の境界位置
が定義されておらず、このため境界位置の整数化は行わ
れない。この場合、変化量は第15図に示すように傾き
a=1.0、およびy切片b=0.0で表される。すな
わち、この変化量は補正される以前の制御点座標に係わ
るx軸上の値と、補正された後の制御点座標に係わるx
軸上の値とが等しいことを表している。したがって、第
13図に示す各制御点A1 ,B1 ,C1 ,D1に係わる
x軸上の各値と、第14図に示す各制御点A1',B1',
C1',D1'に係わるx軸上の各値とは、第16図に示す
ようにそれぞれ等しい。よって、その部位に変形を生じ
ていない。
【0097】なお、第13図に示す縮小下側部分アウト
ライン132における縦方向の境界位置は、x軸上の各
値“6.6”,“7.2”,“9.8”,“10.4”
で少なくとも表されるので、これらの値から該各値を整
数化したそれぞれの整数への変化量を求め、この変化量
に基づいて縮小下側部分アウトライン132の各制御点
座標に係わるx軸上の各値をそれぞれ補正する。この結
果、第14図に示す補正下側部分アウトライン142が
形成されることとなる。
【0098】ところで、前記ステップ309で補正され
た各部分アウトラインからなるアウトラインは前記ステ
ップ310で記憶部63内のビットマップ上で展開さ
れ、これにより縮小され補正された文字パターンが形成
されるが、この文字パターンは出力装置に出力されるだ
けでなく、その文字の文字コードとサイズが書体データ
61のラスタ文字情報領域81に登録されるとともに、
この文字パターンを構成する各部分パターンがそれぞれ
のコンポーネント化ラスタ文字データとしてラスタ文字
情報部82に登録され、これらのコンポーネント化ラス
タ文字データの位置を示すそれぞれのコンポーネント位
置データがラスタコンポーネント情報部83に登録され
る。このため、再度同一の文字コードとサイズを指定し
た場合は、該当する文字パターンを分割した各部分パタ
ーンをラスタ文字情報領域81から読出して、これらの
部分パターンからなる文字パターンを形成することがで
きる。すなわち、所望のサイズの文字パターンをアウト
ラインに基づき一旦形成すれば、この文字パターンが登
録されるので、アウトラインに基づく同一サイズの文字
パターンの形成処理を繰返す必要はない。
【0099】このように別の本発明に係わる実施例では
1つの文字パターンのアウトラインを分割した各部分ア
ウトライン毎に、部分アウトラインの境界位置を整数化
し、この境界位置から該境界位置に係わる整数への変化
量に基づいて部分アウトラインの制御点座標を補正して
いる。そして、補正を受けた各部分アウトラインからな
るアウトラインをビットマップ上に展開し、これにより
所望のサイズの文字パターンを形成している。このた
め、各部分アウトラインの1つ1つが余分な補正を受け
ずに済み、縮小された文字パターンの品質が著しく悪化
するようなことはない。
【0100】なお、上記各実施例ではアウトラインの縮
小を例にして述べているが、アウトラインを拡大すると
きにも本発明を適用しうる。例えば、4/3倍に拡大す
る場合は、拡大処理を施されたアウトラインの境界位置
および制御点座標が整数で表されないので、この境界位
置を整数化し、この境界位置から該境界位置に係わる整
数への変化量に基づいて制御点座標を補正する。もちろ
ん、このような処理は各部分アウトライン毎にも行いう
る。
【0101】
【発明の効果】以上説明したように本発明によれば、拡
大または縮小されたアウトラインの境界位置を整数化
し、この境界位置から該境界位置に係わる整数への変化
量に基づいてアウトラインを形付ける制御点を補正し、
補正された制御点に基づいて拡大または縮小された文字
パターンを形成するようにしている。このため、元の文
字パターンに曲線等の部分が含まれていても、この文字
パターンをその品質を悪化させることなく縮小または拡
大することができる。さらに、アウトラインを分割した
複数の部分アウトライン毎に、拡大または縮小、整数
化、並びに補正を施すようにしているので、該各部分ア
ウトラインの1つ1つが余分な補正を受けることはな
く、拡大または縮小された文字パターンの品質が著しく
悪化することを防止できる。
【図面の簡単な説明】
【図1】 本発明に係わる文字処理装置の一実施例を示
すブロック図。
【図2】 本実施例装置が適用される具体的なシステム
を示すブロック図。
【図3】 第2図に示すシステムにおける基本的な処理
手順を示すフローチャート。
【図4】 本実施例における書体データの構成を示す
図。
【図5】 本実施例における文字処理の手順を示すフロ
ーチャート。
【図6】 別の本発明に係わる文字処理装置の一実施例
を示すブロック図。
【図7】 別の本発明に係わる実施例装置が適用される
具体的なシステムを示すブロック図。
【図8】 別の本発明に係わる実施例における書体デー
タの構成を示す図。
【図9】 第8図に示す書体データにおけるラスタ文字
情報領域の構成を示す図。
【図10】 第8図に示す書体データにおけるアウトラ
イン文字情報領域の構成を示す図。
【図11】 別の本発明に係わる実施例における文字処
理の手順を示すフローチャート。
【図12】 別の本発明に係わる実施例におけるアウト
ラインを例示する図。
【図13】 第12図に示すアウトラインに対して縮小
処理を施すことにより得られる縮小アウトラインを示す
図。
【図14】 第13図に示す縮小アウトラインに対して
補正処理を施すことにより得られるアウトラインを示す
図。
【図15】 第13図に示す縮小上側部分アウトライン
の境界位置に対応する変化量を示す図。
【図16】 第13図に示す縮小上側部分アウトライン
の各制御点と第14図に示す縮小上側部分アウトライン
の各制御点とを対比して示す図。
【図17】 文字パターンのアウトラインを例示する
図。
【図18】 第17図に示すアウトラインに対して1/
10倍の縮小処理を施して得られる縮小アウトラインを
示す図。
【図19】 第18図に示す縮小アウトラインをビット
マップ上に展開して得られる文字パターンを示す図。
【図20】 第18図に示す縮小アウトラインに対して
整数化処理を施すことにより得られるアウトラインを示
す図。
【図21】 文字パターンのアウトラインを例示する
図。
【図22】 第21図に示すアウトラインに対して1/
10倍の縮小処理を施して得られる縮小アウトラインを
示す図。
【図23】 第22図に示す縮小アウトラインに対して
従来方式の整数化処理を施すことにより得られるアウト
ラインを示す図。
【図24】 本発明に係わるアウトライン文字データを
例示する図。
【図25】 第24図に示すアウトライン文字データに
対して1/10倍の縮小処理を施すことにより得られる
アウトライン文字データを示す図。
【図26】 第25図に示す縮小アウトライン文字デー
タにおける各境界位置から該各境界位置に係わるそれぞ
れの整数への変化量を示すグラフ。
【図27】 第25図に示す縮小アウトライン文字デー
タにおける各境界位置から該各境界位置に係わるそれぞ
れの整数への変化量を求めるときの処理過程を示す図。
【図28】 第25図に示す縮小アウトライン文字デー
タにおける各縮小制御点座標を補正した結果を示す図。
【図29】 第28図に示す補正された各縮小制御点座
標に基づいて形成される縮小アウトラインを示す図。
【図30】 既に縮小されているアウトラインを例示す
る図。
【図31】 第30図に示すアウトラインに対して補正
処理を施すことにより得られるアウトラインを示す図。
【図32】 第30図に示すアウトラインの各境界位置
から該各境界位置に係わるそれぞれの整数への変化量を
求めるときの処理過程を示す図。
【図33】 補正される以前の各制御点と補正後の各制
御点を対比させて示す図。
【図34】 第31図に示す補正されたアウトラインの
部分拡大図。
【符号の説明】
1,61…書体データ、2,62…抽出部、3,63…
記憶部、5,65…変換部、6…境界位置算出部、7…
変化量算出部、8…補正部、9,67…展開部、21…
ランダムアクセスメモリ、22…磁気ディスク装置、2
3…通信制御部、24…ケーブル、25…キーボード、
26…マウス、27…CRT制御部、28…CRT、2
9…プリンタ制御部、30…レーザプリンタ、31,7
1…プロセッサ部、32…バス、66…アウトラインデ
ータ演算部、66−1…整数化部、66−2…補正部。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−303489(JP,A) 特開 平2−278388(JP,A) 特開 昭62−272295(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 B41J 2/485 G06F 17/21

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 アウトライン文字データから拡大または
    縮小された文字画像を形成する文字処理装置において、 前記アウトライン文字データの示すアウトラインの境界
    の位置を示す境界位置データ対および該アウトラインの
    制御点の位置を示す制御点データに対して縮小または拡
    大処理を施して変換された変換境界位置データ対および
    変換された変換制御点データを求める変換手段と、 前記変換手段で求めた変換境界位置データ対の一方の境
    界位置データおよび該変換境界位置データ対の間の距離
    を整数化し、該整数化された一方の境界位置データおよ
    び該整数化された距離に基づき該変換境界位置データ対
    の他方の境界位置データを求める整数化手段と、 前記変換手段により求めた変換境界位置データ対から前
    記整数化手段によリ整数化された境界位置データ対への
    変化量に基づき前記変換制御点データを補正する補正手
    段と、 前記補正手段で補正された制御点データに基づき縮小ま
    たは拡大された文字画像を生成する生成手段とを具備す
    ることを特徴とする文字処理装置。
  2. 【請求項2】 アウトライン文字データから拡大または
    縮小された文字画像を形成する文字処理装置において、 前記アウトライン文字データを複数の部分アウトライン
    文字データに分割して記憶する記憶手段と、 前記記憶手段に記憶された部分アウトライン文字データ
    毎に、前記部分アウトライン文字データの示すアウトラ
    インの境界の位置を示す境界位置データ対および該アウ
    トラインの制御点の位置を示す制御点データに対して縮
    小または拡大処理を施して変換された変換境界位置デー
    タ対および変換された変換制御点データを求める変換手
    段と、 前記変換手段で求めた変換境界位置データ対の一方の境
    界位置データおよび該変換境界位置データ対の間の距離
    を整数化し、該整数化された一方の境界位置データおよ
    び該整数化された距離に基づき該変換境界位置データ対
    の他方の境界位置データを求める整数化手段と、 前記変換手段により求めた変換境界位置データ対から前
    記整数化手段によリ整数化された境界位置データ対への
    変化量に基づき前記変換制御点データを補正する補正手
    段と、 前記補正手段で補正された制御点データに基づき部分ア
    ウトライン文字データの縮小または拡大された文字画像
    を生成する生成手段とを具備することを特徴とする文字
    処理装置。
JP3188914A 1990-09-14 1991-07-29 文字処理装置 Expired - Fee Related JP3039015B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3188914A JP3039015B2 (ja) 1990-09-14 1991-07-29 文字処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24520390 1990-09-14
JP2-245203 1990-09-14
JP3188914A JP3039015B2 (ja) 1990-09-14 1991-07-29 文字処理装置

Publications (2)

Publication Number Publication Date
JPH056164A JPH056164A (ja) 1993-01-14
JP3039015B2 true JP3039015B2 (ja) 2000-05-08

Family

ID=26505217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3188914A Expired - Fee Related JP3039015B2 (ja) 1990-09-14 1991-07-29 文字処理装置

Country Status (1)

Country Link
JP (1) JP3039015B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3014247B2 (ja) * 1993-05-24 2000-02-28 富士通株式会社 文字生成方法及びその装置
JP3037854B2 (ja) * 1993-07-13 2000-05-08 富士通株式会社 文字生成方法及びその装置

Also Published As

Publication number Publication date
JPH056164A (ja) 1993-01-14

Similar Documents

Publication Publication Date Title
US5241653A (en) Apparatus and method for adjusting and displaying scaled, rasterized characters
KR970008546B1 (ko) 문자 또는 도형의 처리방법
JP3238580B2 (ja) 太め細め文字生成装置
JP3037854B2 (ja) 文字生成方法及びその装置
JP3039015B2 (ja) 文字処理装置
JP3333578B2 (ja) 面積算出装置
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JP2726951B2 (ja) 文字・図形描画装置
JP3280160B2 (ja) 文書処理装置および文書処理方法
JP2886702B2 (ja) アウトラインフォント処理装置
US5995674A (en) Image processing apparatus with shape-correction of a contour-specified figure
JPH0723997B2 (ja) 文字・図形描画装置
JP2785929B2 (ja) 文字処理装置
JPH0493992A (ja) 文字・図形描画装置
JP2985260B2 (ja) 文字処理装置
JP3072756B2 (ja) 描画装置
JP2806790B2 (ja) 文字発生装置およびその方法
JPH10198333A (ja) アウトライン文字描画装置
JP3437032B2 (ja) 文字作成装置
JPH06110442A (ja) 文字図形処理装置、及び文字または図形の変形処理方法
JP3055306B2 (ja) データ出力装置
JP2776347B2 (ja) プリンタ用描画装置
JPH0934435A (ja) 文字出力装置
JP3055918B2 (ja) フォントのデータ変換処理方法
JPH0695645A (ja) フルドット文字における文字影付け処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees