JPH0194385A - ベクトルフォントの縮小方法 - Google Patents

ベクトルフォントの縮小方法

Info

Publication number
JPH0194385A
JPH0194385A JP62252969A JP25296987A JPH0194385A JP H0194385 A JPH0194385 A JP H0194385A JP 62252969 A JP62252969 A JP 62252969A JP 25296987 A JP25296987 A JP 25296987A JP H0194385 A JPH0194385 A JP H0194385A
Authority
JP
Japan
Prior art keywords
point
coordinate data
coordinate
memory
points
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
JP62252969A
Other languages
English (en)
Other versions
JP2506127B2 (ja
Inventor
Yukiko Hiroshima
広島 ゆき子
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.)
Alps Alpine Co Ltd
Original Assignee
Alps Electric Co 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 Alps Electric Co Ltd filed Critical Alps Electric Co Ltd
Priority to JP62252969A priority Critical patent/JP2506127B2/ja
Publication of JPH0194385A publication Critical patent/JPH0194385A/ja
Application granted granted Critical
Publication of JP2506127B2 publication Critical patent/JP2506127B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、電子出版、ワードプロセッサ等の分野にお
いて用いられるベクトルフォントの縮小方法に関する。
「従来の技術」 例えば、ワードプロセッサにおいて毛筆文字を印字させ
ようとする場合、予め毛筆文字をスキャナやカメラ等に
よって読み取り、例えば256×256ドツトの2値デ
ータに変換する。次に、この2値データから文字のアウ
トラインを抽出し、輪郭線捕間データを生成し、辞書メ
モリ内に記憶させておく。そして、印字を行う場合は、
まず、辞書メモリから輪郭線補間データを読み出し、次
いで、この読み出したデータから、256x256ドツ
トの主要アウトラインポイントの座標を示す座標データ
を得る。次に、この座標データの縮小処理を行う。すな
わち、例えば印字を“48×48ドツト/1文1字°で
行う場合は、各座標データに48/256を乗算し、次
いで、この乗算結果の少数点以下を四捨五入によってま
るめる。次に、上述した縮小処理によって得られた座標
データをアウトラインパターンに変換する。これにより
、文字のアウトライン上のドツトが“l”、それ以外の
ドツトが“0”のパターンが得られる。第10図にこの
アウトラインパターンの一例を示す。この図において、
数字“l”以外の部分が“0”となる。
次に、上記アウトラインパターンにおける字の内部を“
l”で塗り潰す。このようにして毛筆文字のドツトパタ
ーン(48X48ドツト)が得られる。
「発明が解決しようとする問題点」 ところで、上述した従来の縮小処理においては、256
X256のパターン(1倍の再生時)では斜めに走って
いた複数のポイントが、第10図に符号Pを付して示す
ように、縮小およびまるめ処理の結果横−直線に並んで
しまう場合がある。このような場合、文字線の側部から
飛び出しが発生し、文字線の滑らかさが失われる問題が
あった。
この発明は、上述した文字線の側部の飛び出しを防止し
て、滑らかで品質のよい印字を可能とするベクトルフォ
ントの縮小方法を提供することを目的としている。
「問題点を解決するための手段」 この発明は、まるめ処理の結果、まるめ処理の前に斜め
に並んでいた複数のポイントが横方向に並んだ場合に、
文字線の太さがより細くなるように前記横方向に並んだ
ポイントの内の1つを選択し、他のポイントを消去する
ことを特徴としている。
「作用」 この発明によれば、まるめ処理の結果横方向に並んだポ
イントを上記のように選択・消去するので、まるめ処理
に起因する文字線側部の飛び出しを防止することができ
る。
「実施例」 以下、図面を参照してこの発明の一実施例について説明
する。第1図はこの発明の一実施例によるベクトルフォ
ントの縮小方法を示すフローチャートである。
まず、ステップSalでは、辞書メモリから印字すべき
文字の関数フォントデータを読み出す。
次いで、ステップSa2では、この読み出した関数フォ
ントデータから、256X256ドツトによるアウトラ
インパターン(すなわち、圧縮時の1倍に再生されたパ
ターン)の主要アウトラインポイントの座標データを算
出し、記憶手段に格納する。第2図(イ)は、同図(ロ
)に示すようにアウトラインが2個のループで構成され
たかな文字「い」の座標データが、メモリM1に格納さ
れている状態を示す。このメモリMlには、アウトライ
ン上の主要ポイントの座標データが、各ループ毎にルー
プスタートポイントから時計廻りの順で格納され、最後
にループエンドマークが付加されている。なお、上記座
標データの基準となる座標軸は、第2図(ロ)に示す通
りである。
また、上記ステップSa2では、第3図に示すように、
メモリM2内に設定されているデータカウンタDC内に
、メモリMl内の座標データの総数が書き込まれる。さ
らに、このステップSa2において、メモリM2内に設
定されているスタートポイントスタックSP内に、各ル
ープのスタートポイントの座標データが書き込まれたメ
モリMlのアドレス(第2図(イ)におけるADa、A
Db。
ADc)が書き込まれる。なお、この例の場合、ループ
の総数は2個であるが、ループスタートポイント用スタ
ックには3個のアドレスが格納される。
1番目と2番目のアドレスはそれぞれ1番目と2番目の
ループスタートポイントのアドレスであるが、3番目の
アドレスは2番目のループのループエンドマークの次の
アドレスが格納される。
次に、第1図のステップSa3へ進むと、ループスター
トフラグLSF(第3図)が“t”にセットされ、次い
でステップSa4において、ループカウンタLC(第3
図)にrlJがセットされる。この初期設定が終わると
ステップSa5に進む。ステップSa5では、データカ
ウンタDC内のデータが「0」か否かが判断される。そ
して、この判断結果が「NOJの場合は、ステップSa
6へ進む。ステップSa6では、メモリM1から最初の
座標データ(Xl。
Yl)が読み出される。次にステップSa7へ進むと、
データカウンタDCがデクリメントされる。
次に、ステップSa8では、ループスタートフラグLS
Fが“l”であるか否かが判断され、この判断結果がr
Y E S Jであれば、ステップSa9へ進む。
ステップSa9では、メモリM2内のスタートポイント
スタックSP内に記憶されている次のループのスタート
アドレス(この場合、アドレスADb)に基づいて、現
在処理中のループのエンドポイントの1つ前のポイント
の座標データ(この場合、X 78. Y ta)が読
み出される。なお、ループのエンドポイントの座標デー
タ(X to、 Y 78)はループのスタートポイン
トの座標データ(X、、Yυと同一になる。また、以下
、上述したエンドポイントの1つ前のポイントの座標デ
ータを最終座標データという。次に、ステップ5alO
へ進むと、スタートポイントの方向属性がスタートポイ
ントの座標データおよび上述した最終座標データに基づ
いて検出され、次いで、ステップSat 1へ進むと、
スタートポイントの座標データの縮小演算が行なわれ、
次いでステップ5a12へ進むと、ステップSal 1
の演算結果のまるめ処理が行なわれる。なお、これらス
テップ5alO〜5a12の処理については後に詳述す
る。次に、ステップ5a13へ進むと、上記ステップS
al O,Sal 1の処理によって得られた縮小座標
データ(XI’、Ylo)がメモリM3(第2図(ハ)
)に書き込まれ、次いで、ステップ5a14へ進むと、
ループスタートフラグLSFがクリアされる。そして、
ステップSa5へ戻る。
ステップSa5では、再びデータカウンタCDのデータ
が「0」か否かが判断され、次いでステップSa6へ進
むと、第2番目の座標データ(Xm、Yt)がメモリM
2から読み出される。次いでステップSa7へ進むと、
データカウンタCD内のデータがデクリメントされ、そ
して、ステップSa8へ進む。この場合、ステップSa
8の判断結果が「NO」となり(ステップ5a14参照
)、ステップ5a15へ進む。ステップ5a15では、
ステップSa6で読み出したデータがループエンドマー
クであるか否かが判断され、この判断結果が「NO」の
場合はステップSal 6へ進む。ステップ5a16で
は、処理済フラグS ZF(第3図)がI”であるか否
かが判断される。この処理済フラグSZFは初期状態に
おいてクリアされており、したがって、この時点ではス
テップ5a16の判断結果が「NO」となり、ステップ
5a17へ進む。ステップ5a17では、現在処理中の
ポイントの方向属性が検出され、次いでステップ5a1
8では、次に処理すべきポイントの方向属性が検出され
る。以下、この方向属性の検出について詳述する。
まず、方向属性とは、前回処理したポイントから見た現
在処理中のポイントの方向であり、この実施例において
は、第4図に示す<1>〜く8〉の方向が決められてい
る。この方向属性の検出は次のようにして行なわれる。
すなわち、前回処理したポイントの座標に対する現在処
理中のポイントのX方向変位量(Xm  Xm−t)と
Y方向変位量(Ym  Yn+−1)を求め、その結果
、X方向変位量が正でY方向変位量が0の場合は方向属
性が<1>、X方向変位量が負でY方向変位量が0の場
合は方向属性がく2〉、X方向変位量が0でY方向変位
量が負の場合は方向属性が〈3〉、X方向変位量がOで
Y方向変位量が正の場合は方向属性〈4〉、X方向変位
量が正でY方向変位量が負の場合は方向属性が<5>、
X方向変位量が負でY方向変位量が正の場合は方向属性
が〈6〉、X方向変位量が負でY方向変位量が負の場合
は方向属性が〈7〉、X方向変位量が正でY方向変位量
が正の場合は方向属性が〈8〉となる。
以上のようにして、現在処理中のポイントおよび次に処
理すべきポイントの方向属性が求められると、ステップ
5a19に進む、。ステップ5a19では、現在処理中
のポイントが鋭角部または鈍角部であるか否かが、上述
したステップ5a17,5a18において検出された方
向属性に基づいて判断される。すなわち、第5図(イ)
〜(ニ)に示すように、現ポイントの方向属性1次ポイ
ントの方向属性が各々、<5 >、<6 >、<7 >
、<8 >、<6 >、<5 >、<8 >、<7 >
の場合は、1つ前のポイント、現ポイント、次ポイント
が鋭角をなし、一方、第5図(ホ)〜(チ)に示すよう
に、現ポイントの方向属性1次ポイントの方向属性が各
々、<5 >、<8 >、<6 >、<7〉、<7 >
、<5 >、< 8 > 、、’、6 >の場合は、1
つ前のポイント、現ポイント、次ポイントが鈍角をなす
。そこで、現ポイント、次ポイントの方向属性が第5図
のいずれかの場合は、ステップ5a19の判断結果がr
Y E S Jとなり、第5図のいずれでもない場合は
、判断結果がrNOJとなる。
ステップSal 9の判断結果がrNOJの場合は、ス
テップ5a20へ進む。ステップ5a20では、現ポイ
ントの座標縮小演算が行なわれる。すなわち、例えば印
字を“48X48ドツト/1文字”で行う場合は、現在
処理中のポイントの座標データに48/256を乗算す
る。次にステップ5a21へ進むと、ステップ5a20
の演算結果の小数点以下をまるめる第1のまるめ処理が
行なわれる。
このまるめ処理は、上述したステップ5a17において
検出された方向属性および第6図に示すテーブルに基づ
いて行なわれる。すなわち、現在処理中のポイントの方
向属性が例えば<1>の場合は縮小後のX座標の小数点
以下第1位が8捨9人され、また、縮小後のY座標の小
数点以下第1位が1捨2人される。同様に、方向属性が
例えば〈7〉の場合は、縮小後のX座標が1捨2人、Y
座標が1捨2人される。なお、第6図のテーブルには、
実際上は切り上げ/切り捨ての境界値が設定されている
。また、前述したステップSal 1,5a12の処理
も上述したステップSa20 、Si21の処理と同様
である。また、上記第1のまるめ処理に代えて、四捨五
入を行ってもよい。
次に、ステップ5a22へ進むと、前回縮小処理したポ
イントのY座標と現在縮小処理が終了したのポイントの
Y座標とが同一か否かが判断される。そして、この判断
結果がrNOJの場合、すなわち、前回処理済の縮小後
のポイントと現在処理が終了した縮小後のポイントが横
−直線上にない場合はステップ5a23へ進む。ステッ
プ5a23では、上記ステップSa20 、Si21の
処理によって得られた縮小座標データ(Xs’、Yt’
)がメモリM3(第2図(ハ))に書き込まれ、そして
、ステップSa5へ戻る。一方、ステップ5a22の判
断結果がrY E S Jの場合、すなわち、前回処理
済のポイントと現在処理が終了したポイントとが横−直
線上にある場合は、ステップ5a24へ進む。ステップ
5a24では、前回処理済のポイントの座標データと現
在縮小処理が終了したポイントの座標データの内の一方
を有効座標として選択する。
この選択は第7図に示すテーブルに基づいて行なわれる
。以下、このテーブルについて説明する。
このテーブルにおいては、前回処理済のポイントの座標
をa(ax、by)、現在処理が終了したポイントの座
標をb(bx、by)としている。また、ax=bx+
1は、前ポイントのX座標が現ポイントのX座標より1
ポイント右方にある場合であり、ax=bx−1は前ポ
イントのX座標が現ポイントのX座標より1ポイント左
方にある場合であり、上記以外とは、2ポイント以上ず
れている場合である。また最上側の数値は現ポイントの
方向属性を示している。
しかして、このテーブルから明らかなように、現ポイン
トの方向属性が<1 >、<2 >の場合は、もともと
(縮小前も)横にならんでいたポイントであり、したが
って、a(前ポイントの座標データ)、b(現記以外」
の場合もa、b共に有効となる。また、「ax=bx+
IJまたはrax=bx−1コの場合であって、現ポイ
ントの方向属性が〈3〉〜〈8〉の場合は、テーブルに
示す一方が選択される。
上述した選択が終了すると、ステップ5a25へ進む。
このステップ5a25では、ステップ5a24において
選択された有効座標データがメモリM3に格納される。
すなわち、まず、a、bとも有効の場合は、この時点で
座標データaが既にメモリM3に格納されていることか
ら、座標データbがメモリM3に格納される。また、座
標データaが選択された場合は、同座標データaがすで
に格納済であるので、なんの処理も行なわれない。また
、座標データbが選択された場合は、メモリM3にすで
に書き込まれている座標データaが消去され、代わりに
座標データbが書き込まれる。そして、ステップSa5
へ戻る。
他方、ステップ5a19の判断結果がrY E S J
の場合はステップ5a26へ進む。ステップSa2夕の
縮小演算が行なわれる。次にステップ5a27へ進むと
、ステップ5a26の演算結果に対して第2のまるめ処
理が行なわれる。この第2のまるめ処理は、ステップS
al 7.Sal 8において検出された方向属性およ
び第8図のテーブルに基づいて行なわれる。すなわち、
例えば、現ポイントの方向属性がく5〉、次ポイントの
方向属性が〈6〉の場合は、現ポイントのX座標を四捨
五入、Y座標を七拾八人によってまるめ、また、次ポイ
ントのX座標を七拾八人、Y座標を一拾二人によってま
るめる。また、例えば現ポイントの方向属性がく7〉、
次ポイントの方向属性が〈5〉であった場合は、現ポイ
ントのX座標を四捨五入、Y座標を二拾三人によってま
るめ、また、次ポイントのX座標を二拾三人、Y座標を
六拾七人によってまるめる。次にステップ5a28へ進
むと、現ポイントのまるめ処理の結果がメモリM3に書
き込まれ、また、次ポイントのまるめ処理の結果がメモ
リM2内に一時記憶される。次にステップ5a29へ進
むと、処理済フラグSZFに“1”が書き込まれる。こ
のフラグSZF“!”は、次ポイントの座標データの縮
小処理が既に終わっていることを示している。そして、
ステップSa5へ戻る。なお、第8図のテーブルには、
実際は切り上げ/切り捨ての境界値が設定されている。
次にステップSa5 、Sa6 、Sa? 、Sa8.
5a15が逐次実行されて、ステップ5a16へ進む。
そして、このステップSal 6の判断結果がrYES
」の場合は、ステップ5a30へ進む。ステップ5a3
0では、メモリM2内に一時記憶されている縮小および
第2のまるめ処理が終了した座標データがメモリM3内
に格納される。そして、ステップSa5へ戻る。
以下、同様にして、第1ループの各座標データが順次読
み出され、縮小処理される。そして、第1ループのルー
プエンドマークがメモリMlから読み出されると、ステ
ップSal 5の判断結果が「YES」となり、ステッ
プ5a31へ進む。ステップ5a31では、縮小処理後
のエンドポイントの座標データ(X 7s’ 、 Y 
7+1” )が縮小処理後のスタートポイントの座標デ
ータ(xl”、y+’)に書き変えられる。なお、この
処理は、エンドポイントの座標データが常にスタートポ
イントの座標データと一致している必要があるため行う
処理である。次に、ステップ5a32へ進むと、ループ
スタートフラグLSFが′l”にセットされる。次いで
ステップ5a33へ進むと、ループカウンタLC内のデ
ータかインクリメントされ、「2」となる。そして、ス
テップSa5へ戻り、以後第2番目のループについて上
記と同様の縮小処理が行なわれる。
次に、メモリMl内の総ての座標データについて縮小処
理が終了すると、ステップSa5の判断結果がrY E
 S Jとなり、ステップ5a34へ進む。
ステップ5a34では、メモリM3内の座標データがア
ウトラインパターンに変換され、次いでそのアウトライ
ンの内部の塗り潰し処理が行なわれる。このようにして
、文字の内部が“l”、外部が“0”の縮小パターンが
得られる。
以上がこの発明の一実施例によるベクトルフォントの縮
小方法である。次に、この発明のポイントである有効座
標決定処理(ステップ5a24;第7図参照)の効果を
説明する。いま、第9図における実線りを文字のアウト
ラインとし、点PI。
P2を、縮小処理後であって、第2のまるめ処理前のポ
イントであるとし、点Plc、P2cを各々、点P 1
 、P 2のまるめ処理後のポイントであるとする。こ
こで点Pie、P2cは横−直線上に並んでいる。この
場合、前ポイントP1のX座標aXと現ポイントP2の
X座標bxとは、ax=bx+1の関係にあり、また、
現ポイントP2の方向属性は〈6〉である。したがって
、第7図のテーブルに基づいて現ポイントの座標データ
bが選択される。すなわち、第9図のポイントP2cが
選択され、ポイントPieが消去される。この結果、文
字線から飛び出すポイントPLaが消去されることにな
る。
「発明の効果」 以上説明したように、この発明によれば、縮小処理に基
づく文字線からの飛び出しを防止することができ、この
結果、滑らかで品質のよいベクトルフォントを再生し、
印字等に活用することができる。
【図面の簡単な説明】
第1図はこの発明の一実施例によるベクトルフォント縮
小方法の処理過程を示すフローチャート、第2図(イ)
は縮小前の座標データが記憶されるメモリM1を示す図
、第2図(ロ)は文字の主要アウトラインポイントの一
例を示す図、第2図(ハ)は縮小後の座標データが記憶
されるメモリM3を示す図、第3図は一時記憶メモリM
2を示す図、第4図は方向属性を説明するための図、第
5図は方向属性の組み合わせを示す図、第6図は第1の
まるめ処理の境界値が設定されたテーブルを示す図、第
7図は有効座標決定処理において使用されるテーブルを
示す図、第8図は第2のまるめ処理の境界値が設定され
たテーブルを示す図、第9図はこの発明の詳細な説明す
るための図、第1θ図は文字のアウトラインパターンの
一例を示す図である。 Ml〜M3・・・・・・メモリ。

Claims (1)

    【特許請求の範囲】
  1. 文字のアウトラインを構成するベクトルポイント(座標
    )を、指定された縮小率で縮小し、この縮小演算におい
    て発生する少数点以下の数値をまるめ処理して縮小後の
    座標を求めるベクトルフォントの縮小方法において、上
    記まるめ処理の結果、まるめ処理前に斜めに並んでいた
    複数のポイントが横方向に並んだ場合に、文字線の太さ
    がより細くなるように前記横方向に並んだポイントの内
    の1つを選択し、他のポイントを消去することを特徴と
    するベクトルフォントの縮小方法。
JP62252969A 1987-10-07 1987-10-07 ベクトルフォントの縮小方法 Expired - Fee Related JP2506127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62252969A JP2506127B2 (ja) 1987-10-07 1987-10-07 ベクトルフォントの縮小方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62252969A JP2506127B2 (ja) 1987-10-07 1987-10-07 ベクトルフォントの縮小方法

Publications (2)

Publication Number Publication Date
JPH0194385A true JPH0194385A (ja) 1989-04-13
JP2506127B2 JP2506127B2 (ja) 1996-06-12

Family

ID=17244674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62252969A Expired - Fee Related JP2506127B2 (ja) 1987-10-07 1987-10-07 ベクトルフォントの縮小方法

Country Status (1)

Country Link
JP (1) JP2506127B2 (ja)

Also Published As

Publication number Publication date
JP2506127B2 (ja) 1996-06-12

Similar Documents

Publication Publication Date Title
JPS58149579A (ja) 情報入力領域設定方式
JPH0336668A (ja) Cadシステムにおける形状生成方式
JPH0194385A (ja) ベクトルフォントの縮小方法
US5519412A (en) Pattern processing method
JPH0194386A (ja) ベクトルフォントの縮小方法
JPH0351894A (ja) ベクトルフオントによる文字パターン発生機能を備えた情報処理装置
JP4201361B2 (ja) デザイン評価装置及びデザイン作成装置
JP3194779B2 (ja) 塗りつぶし装置
JP2773127B2 (ja) 画像編集方法
JPH05181848A (ja) 罫線作成方法
JP2606176B2 (ja) 図形処理装置
JP2802646B2 (ja) ベクトルフオントによる文字パターンの変倍処理方法
JP2578748B2 (ja) 手書情報処理方法
JP2545530B2 (ja) 文書処理装置
JP2705116B2 (ja) 地図情報の表示方法
JPH06131107A (ja) ペン入力操作方法および情報処理装置
JPS6175428A (ja) 図形作描方法
JPS58155474A (ja) 平行曲線の描画装置
JP2907425B2 (ja) 文字処理装置
JPH0332111B2 (ja)
JPS61102259A (ja) キャラクタ表示パタ−ン生成装置
JPS59202868A (ja) 印字制御装置
JPH06290198A (ja) 帳票作成装置
JPH0344697A (ja) ドットパターン発生装置
JPH0325576A (ja) 図形処理システム

Legal Events

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