JPH06138865A - アウトラインフォント変形装置 - Google Patents
アウトラインフォント変形装置Info
- Publication number
- JPH06138865A JPH06138865A JP4277198A JP27719892A JPH06138865A JP H06138865 A JPH06138865 A JP H06138865A JP 4277198 A JP4277198 A JP 4277198A JP 27719892 A JP27719892 A JP 27719892A JP H06138865 A JPH06138865 A JP H06138865A
- Authority
- JP
- Japan
- Prior art keywords
- line
- contour
- outline
- outline font
- point
- 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
Links
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
ントデータを太くあるいは細くする。 【構成】 線幅補正部3は、アウトラインフォント入力
部2によって入力されたアウトラインフォントの輪郭線
を、パラメータ入力部4によって指定された補正量だけ
補正して、文字全体の太さを変える。その補正は、輪郭
点を結ぶ線分のx軸となす角に従って輪郭点を移動する
ことにより行う。
Description
データを太くあるいは細くする変形装置に関する。
る方法として、例えば、特開昭63−245572号公
報に記載された画像処理方法がある。この方法は、画像
の輪郭を特定する点を移動することによって太くしたり
あるいは細くしたりするものである。
た従来の方法では、画像の輪郭を特定する点を移動する
際に、2法線の和を求めているために、移動方向に偏り
が生じて、図13に示すように元の図形(実線)の形状
が崩れた図形(破線)になるという問題がある。また、
上記した方法によると、輪郭線の移動量が線分毎に異な
り、図形全体の形状を制御することが難しいという問題
がある。
く、アウトラインフォントデータを太くあるいは細くす
る変形装置を提案することにある。
に、請求項1記載の発明では、輪郭点を移動させること
によりアウトラインフォントを太くあるいは細くする変
形装置において、所定のデザインサイズのアウトライン
フォントを読み込む手段と、補正すべき線幅量を指定す
る手段と、該読み込まれたアウトラインフォントの輪郭
線を該指定された線幅量だけ補正して文字全体の太さを
変更する線幅補正手段と、該補正されたアウトラインフ
ォントを出力する手段を備えていることを特徴としてい
る。
段は、輪郭点を結ぶ線分のx軸となす角に従って該輪郭
点を移動することを特徴としている。
段は、輪郭点を結ぶ線分の垂直方向に該輪郭点を移動す
ることを特徴としている。
段は、輪郭点を結ぶ第1の線分と第2の線分が鋭角をな
して折り返すとき、先端点が形成されないように該第1
の線分と第2の線分を移動することを特徴としている。
段は、曲線部の移動を行うとき、該曲線の始点と終点を
結ぶ線分を用いて該移動方向を決定することを特徴とし
ている。
段は、全ての輪郭点の座標をn倍(nは整数)した後に
輪郭線を補正し、前記出力手段は前記デザインサイズの
n倍のアウトラインフォントを出力することを特徴とし
ている。
塗りつぶす際に、最初の輪郭線を黒塗り領域の開始点、
次の輪郭線を黒塗り領域の終了点と判定する第1のピク
セル処理系と、最初の輪郭線を黒塗り領域の開始点、次
の輪郭線を白塗り領域の開始点と判定する第2のピクセ
ル処理系があるとき、前記線幅補正手段は、前記第1の
ピクセル処理系用にデザインされたアウトラインフォン
トの輪郭線が前記第2のピクセル処理系においても同一
のデザインとなるように、あるいは前記第2のピクセル
処理系用にデザインされたアウトラインフォントの輪郭
線が前記第1のピクセル処理系においても同一のデザイ
ンとなるように、該輪郭線を制御することを特徴として
いる。
トの輪郭線を指定された補正量だけ移動して文字全体の
太さを変える。その補正は、輪郭点を結ぶ線分のx軸と
なす角に従って、あるいは輪郭点を結ぶ線分の垂直方向
に輪郭点を移動することにより行う。また、鋭い先端点
を持つ輪郭線の場合は、該先端点が形成されないように
線分を移動して形状の崩れを防止する。
的に説明する。 〈実施例1〉図1は、本発明の実施例のブロック構成図
であり、1はアウトラインフォントデータ格納部、2は
アウトラインフォントの入力部、3は入力されたアウト
ラインフォントの輪郭線を補正することによりステム、
斜線、曲線など文字全体の太さを変える線幅補正部、4
は補正量を指定するためのパラメータ入力部、5は変形
されたデータを出力するアウトラインフォント出力部、
6は変形されたアウトラインフォントデータの格納部、
7はこれら各部を制御する制御部である。
右、y軸は上方向を向いているものとする。また、輪郭
線はそれをたどる方向に対して右側が黒塗り領域である
ものとする。
使用される輪郭点テーブルを示す。すなわち、輪郭点番
号とその座標データ(orig)の組が格納されてい
る。これらは、アウトラインフォントの入力部2から得
られるものである。また、これらの座標データは、それ
ぞれの輪郭線として区分されているものとする。さら
に、テーブル中のmovedには、後述するように移動
された輪郭点の新座標が格納される。
くあるいは細くする処理)を行うための処理フローチャ
ートであり、図1の線幅補正部3によって実行される。
すなわち、全ての輪郭点に対し(ステップ101)、処
理対象の点(c)とその前の点(p)とその後の点
(n)を与えて(ステップ102、103)、関数Ne
wCoordを呼び出し、戻り値である処理後の座標m
oved〔c〕を、図2の該当する位置に記録する(ス
テップ104)。以下、p,c,nを順次増やして(ス
テップ105)処理を繰り返す。
ーチャートである。すなわち、直前の点(p)から処理
対象の点(c)に至る線分を移動するためのベクトルS
hiftVector(p,c)と処理対象の点(c)
から直後の点(n)に至る線分を移動するためのベクト
ルShiftVector(c,n)とを求め(ステッ
プ201)、それぞれの始点、終点(ステップ202で
は、始点がorig〔p〕、終点がorig〔c〕、ス
テップ203では、始点がorig〔c〕、終点がor
ig〔n〕)をそのベクトル方向に、パラメータ入力部
4から指定された補正量wだけ移動し(ステップ20
2、203)、得られた2直線の交点Intersec
tionを求めて、それを新座標NewCoordとし
て返す(ステップ204)。
hiftVectorの処理フローチャートである。こ
れは2点間のx座標とy座標の相違を計算し、その絶対
値がx軸の方が大きければ、なだらかな斜線と判断し
(ステップ301、302)、そうでなければ急な斜線
と判断する(ステップ301、303)。
終点のそれ(xe)よりも大きければ、黒塗り領域の下
端をなすことが分かるので、下向きの単位ベクトル
(0,−1)を返す(ステップ305)。終点のx座標
(xe)が始点のそれ(xs)よりも大きければ、黒塗
り領域の上端をなすことが分かるので、上向きの単位ベ
クトル(0,1)を返す(ステップ304)。急な斜線
についてもy軸方向について同様の処理を行う。
結ぶ線分のx軸となす角に従って輪郭点を移動処理す
る。図9は、本実施例によって輪郭点が移動処理された
結果を示す図である。上記実施例では、45度を境界と
して4種類に分けているが、これに限定されるものでは
なく、例えば8分割するなど種々の方法がある。
られる関数ShiftVectorの他の実施例の処理
フローチャートである。この処理では、まず始点から終
点に至るベクトルを求め(ステップ401)、これを反
時計回りに90度回転させた単位ベクトル(−y/N,
x/N)を返すものである(ステップ402)。
ぶ線分の垂直方向に、輪郭点を移動処理する。図10
は、本実施例によって輪郭点が移動処理された結果を示
す図である。
Coordの他の実施例の処理フローチャートである。
この処理フローチャートにおいて、ステップ501、5
02、503、505は、図4の関数NewCoord
の処理フローチャートにおけるステップ201から20
4と同じものである。この実施例では、ステップ50
4、506、507が新たに付加されている。
っているとき(ステップ504)、新しく点を追加し
(ステップ506)、極端な形状の変化を避けた実施例
である。図11は、この実施例による処理結果を示す。
すなわち、点2、点6、点3からなる輪郭線は、点6が
鋭い先端点となっているので、上記したような輪郭点の
移動処理を行うと、点1、点8、点4となる一部破線で
示す輪郭線となり、形状の変化が極端なものとなる(点
6がより鋭くなる程、点8の位置が遠くなる)。
点5を追加し(点5は点6を移動したものであり、また
点7は点6を移動したものである。ステップ507で
は、StartNextは点7となる)、点線部分の輪
郭線を抑止して形状の崩れを防止している。なお、この
例では、先端点6を2重化し、それを上下に広げた例を
示したが、これを必要な幅だけ右に移動すれば形状変化
はより少なくて済む。
ローチャートである。この実施例では、処理対象の点を
曲線上でない点とし、これより前の最初の曲線上でない
点と、これより後の最初の曲線上でない点とを用いて、
上述したと同様の処理を行い、移動は前後の点に挾まれ
る全ての点に対して行うものである。つまり、ステップ
604で曲線上の点(図12の点3)を見つけ、ステッ
プ605からステップ607で曲線の始点を探す(ステ
ップ606のpは図12の点2となる)。ステップ60
8からステップ610で曲線の終点を探す(ステップ6
09のnは図12の点5となる)。ステップ611から
ステップ616で、曲線の始点、終点(図12の点2、
5)と曲線の制御点(図12の点3、4)に対して平行
移動処理を行う。
す。点1と点2で線分が構成され、点5と点6で線分が
構成され、点2(曲線の始点)から点5(曲線の終点)
によって曲線が構成されている。また、点3、点4は曲
線の制御点である。
と、点5、点6の線分に対しては、上述したと同様の処
理を行う。すなわち、点1、点2の線分を、その垂直方
向に太らせ、点2、点5の線分を、右方向に移動させ、
同様に点5、点6の線分をその垂直方向に太らせる。そ
して、点2と点5を結ぶ線分の右方向の移動量と同じだ
け、点3と点4を結ぶ線分を右方向に移動することによ
り図12に示す結果が得られる。
制御点(点3、点4)で構成されるベツィエ曲線を例に
示したが、スプライン曲線などにおいても全く同様であ
る。
て整数しか許さない処理系においては、輪郭線を2ピク
セルずつ太くする場合には全体を1ピクセルずつ太くす
れば良い。ところが輪郭線を1ピクセル太くしようとす
ると、問題が起きる。つまり、全体を0.5ピクセル太
くすることができない。そこで、本実施例の線幅補正部
3では、すべての輪郭点の座標値を2倍し(256×2
56ピクセル空間を512×512ピクセル空間にす
る)、そこで全体を1ピクセルずつ太くすることによっ
て実質的に同様の効果を得ることができる。もちろん変
倍時のパラメータとしてこの拡大量を用いなければなら
ない。
に、最初に出会った輪郭線を黒塗り領域の開始点、次に
出会ったものを黒塗り領域の終了点と判定する第1のピ
クセル処理方式と、最初に出会った輪郭線を黒塗り領域
の開始点、次に出会った輪郭線を白塗り領域の開始点と
判定する第2のピクセル処理方式とがある。このような
塗りつぶし方式の相違は、ピクセルとは何であるかとい
う定義の相違から生じるものである。
インされたアウトラインフォントの輪郭線を、第2のピ
クセル処理方式に渡して処理すると、その線幅が細くな
り、線幅の同一性が保証されない。そこで、本実施例で
は、線幅補正部3では、第1のピクセル処理方式用にデ
ザインされたアウトラインフォントのすべての輪郭線を
全体的に0.5ピクセルずつ太くしてから、第2のピク
セル処理方式に輪郭線データを渡すようにする。これに
よって、第2のピクセル処理方式で処理しても、第1の
ピクセル処理方式用にデザインされたアウトラインフォ
ントと同一の形状のものが得られることになる。もちろ
ん、上記したものと逆に、第2のピクセル処理方式を第
1のピクセル処理方式に変換する場合についても、線幅
補正部で輪郭線を制御することによって、両ピクセル処
理方式において同一形状の文字が得られる。
発明によれば、アウトラインフォント変形装置を、アウ
トラインフォントの読み込む手段と、補正する線幅量の
指定手段と、読み込まれたアウトラインフォントの輪郭
線を指定された線幅量だけ補正して文字全体の太さを変
更する線幅補正手段と、補正されたアウトラインフォン
トを出力する手段によって構成しているので、アウトラ
インフォントの輪郭線を所定量だけ太くしたり細くした
りすることが可能となる。
ぶ線分のx軸となす角に従って輪郭点を移動処理してい
るので、少ない計算量によってアウトラインフォントの
輪郭線を太くしたり細くしたりすることができる。
ぶ線分の垂直方向に該輪郭点を移動処理しているので、
輪郭線の幅の変化量を文字全体で一定に保持することが
でき、高品質の文字を構成することができる。
が鋭角をなすとき、先端点が形成されないように線分を
移動しているので、極端に形状が変化することを防止す
ることができる。
動を行うとき曲線の始点と終点を結ぶ線分を用いてその
移動方向を決定しているので、曲線部においても確実に
その形状を保持して輪郭線を太くしたり細くしたりする
ことができる。
点の座標をn倍した後に輪郭線を補正しているので、1
ピクセル単位以下の変形も可能となる。
セル処理系用にデザインされたアウトラインフォントの
輪郭線が第2のピクセル処理系においても同一のデザイ
ンとなるように、あるいは第2のピクセル処理系用にデ
ザインされたアウトラインフォントの輪郭線が第1のピ
クセル処理系においても同一のデザインとなるように、
輪郭線を制御しているので、第1のピクセル処理系と第
2のピクセル処理系において同一形状の文字を得ること
ができる。
である。
フローチャートである。
ある。
ートである。
理フローチャートである。
ーチャートである。
を示す図である。
結果を示す図である。
理結果を示す図である。
る。
Claims (7)
- 【請求項1】 輪郭点を移動させることによりアウトラ
インフォントを太くあるいは細くする変形装置におい
て、所定のデザインサイズのアウトラインフォントを読
み込む手段と、補正すべき線幅量を指定する手段と、該
読み込まれたアウトラインフォントの輪郭線を該指定さ
れた線幅量だけ補正して文字全体の太さを変更する線幅
補正手段と、該補正されたアウトラインフォントを出力
する手段を備えていることを特徴とするアウトラインフ
ォント変形装置。 - 【請求項2】 前記線幅補正手段は、輪郭点を結ぶ線分
のx軸となす角に従って該輪郭点を移動することを特徴
とする請求項1記載のアウトラインフォント変形装置。 - 【請求項3】 前記線幅補正手段は、輪郭点を結ぶ線分
の垂直方向に該輪郭点を移動することを特徴とする請求
項1記載のアウトラインフォント変形装置。 - 【請求項4】 前記線幅補正手段は、輪郭点を結ぶ第1
の線分と第2の線分が鋭角をなして折り返すとき、先端
点が形成されないように該第1の線分と第2の線分を移
動することを特徴とする請求項1記載のアウトラインフ
ォント変形装置。 - 【請求項5】 前記線幅補正手段は、曲線部の移動を行
うとき、該曲線の始点と終点を結ぶ線分を用いて該移動
方向を決定することを特徴とする請求項1記載のアウト
ラインフォント変形装置。 - 【請求項6】 前記線幅補正手段は、全ての輪郭点の座
標をn倍(nは整数)した後に輪郭線を補正し、前記出
力手段は前記デザインサイズのn倍のアウトラインフォ
ントを出力することを特徴とする請求項1記載のアウト
ラインフォント変形装置。 - 【請求項7】 輪郭線の内点を塗りつぶす際に、最初の
輪郭線を黒塗り領域の開始点、次の輪郭線を黒塗り領域
の終了点と判定する第1のピクセル処理系と、最初の輪
郭線を黒塗り領域の開始点、次の輪郭線を白塗り領域の
開始点と判定する第2のピクセル処理系があるとき、前
記線幅補正手段は、前記第1のピクセル処理系用にデザ
インされたアウトラインフォントの輪郭線が前記第2の
ピクセル処理系においても同一のデザインとなるよう
に、あるいは前記第2のピクセル処理系用にデザインさ
れたアウトラインフォントの輪郭線が前記第1のピクセ
ル処理系においても同一のデザインとなるように、該輪
郭線を制御することを特徴とする請求項1記載のアウト
ラインフォント変形装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27719892A JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4-240827 | 1992-09-09 | ||
| JP24082792 | 1992-09-09 | ||
| JP27719892A JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06138865A true JPH06138865A (ja) | 1994-05-20 |
| JP3338484B2 JP3338484B2 (ja) | 2002-10-28 |
Family
ID=26534951
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27719892A Expired - Fee Related JP3338484B2 (ja) | 1992-09-09 | 1992-10-15 | アウトラインフォント変形装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3338484B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0657848A3 (en) * | 1993-12-09 | 1996-09-18 | Canon Kk | Method and device for generating characters. |
-
1992
- 1992-10-15 JP JP27719892A patent/JP3338484B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0657848A3 (en) * | 1993-12-09 | 1996-09-18 | Canon Kk | Method and device for generating characters. |
| US5959634A (en) * | 1993-12-09 | 1999-09-28 | Canon Kabushiki Kaisha | Character generating system employing thickening or narrowing of characters |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3338484B2 (ja) | 2002-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4620287A (en) | Method and apparatus for representation of a curve of uniform width | |
| US4975976A (en) | Image transformation method and device | |
| JP2634851B2 (ja) | 画像処理装置 | |
| JPH06138865A (ja) | アウトラインフォント変形装置 | |
| JP3266905B2 (ja) | 図形処理装置 | |
| JP3243293B2 (ja) | 輪郭線補正方法 | |
| JP3612257B2 (ja) | 画像データ編集装置 | |
| JPH05323937A (ja) | ヒンティング処理方法 | |
| JP3215179B2 (ja) | アウトラインフォントのヒンティング方法 | |
| JP2613653B2 (ja) | 画像処理装置 | |
| JPH0493992A (ja) | 文字・図形描画装置 | |
| JPH02244390A (ja) | ストローク抽出装置 | |
| JP2634906B2 (ja) | 画像処理方法 | |
| JP3536894B2 (ja) | 図形処理装置 | |
| JP3077128B2 (ja) | 細線保存変換方法 | |
| JPH0350686A (ja) | 図形処理方式 | |
| CN117710988A (zh) | 一种印章弯曲文本行矫正方法、装置及系统 | |
| JP2690385B2 (ja) | 円弧の拡大表示方法 | |
| JPH087794B2 (ja) | 画像処理方法 | |
| JPH0934435A (ja) | 文字出力装置 | |
| JPH03290691A (ja) | ベクタフォントの縮小方法 | |
| JPH05197365A (ja) | ヒンティング情報自動生成装置およびグリフ表示装置 | |
| JPH0573026A (ja) | 文字図形発生方法 | |
| JPH0896148A (ja) | 図形描画装置 | |
| JPH08123388A (ja) | 文字発生器における線幅保証方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110809 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120809 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |