JP2726951B2 - 文字・図形描画装置 - Google Patents
文字・図形描画装置Info
- Publication number
- JP2726951B2 JP2726951B2 JP2223498A JP22349890A JP2726951B2 JP 2726951 B2 JP2726951 B2 JP 2726951B2 JP 2223498 A JP2223498 A JP 2223498A JP 22349890 A JP22349890 A JP 22349890A JP 2726951 B2 JP2726951 B2 JP 2726951B2
- Authority
- JP
- Japan
- Prior art keywords
- strokes
- width
- stroke
- vertical
- horizontal
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/947—Font character edge processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Document Processing Apparatus (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、デスクトップパブリッシング(パソコン
等による電子出版)の分野で用いられる文字・図形描画
装置に関する。
等による電子出版)の分野で用いられる文字・図形描画
装置に関する。
現在、デスクトップパブリッシングの分野では、アウ
トラインフォントのデータから文字や図形(以下、文字
という)のパターンを生成するアウトラインフォント方
式が一般的になりつつある。このアウトラインフォント
方式は、従来のドットフォントのデータを使う方式に比
べて、文字の輪郭線を太く又は細くするなどの処理が文
字の品位を落とさずにできるという利点がある。このア
ウトラインフォント方式では、文字のアウトラインをビ
ットマップに展開する際、アウトラインフォントのデー
タを構成する各制御点に対して、量子化による丸め処理
を施した後、ビットマップの各格子点に乗せていくのが
一般的である。
トラインフォントのデータから文字や図形(以下、文字
という)のパターンを生成するアウトラインフォント方
式が一般的になりつつある。このアウトラインフォント
方式は、従来のドットフォントのデータを使う方式に比
べて、文字の輪郭線を太く又は細くするなどの処理が文
字の品位を落とさずにできるという利点がある。このア
ウトラインフォント方式では、文字のアウトラインをビ
ットマップに展開する際、アウトラインフォントのデー
タを構成する各制御点に対して、量子化による丸め処理
を施した後、ビットマップの各格子点に乗せていくのが
一般的である。
ところで、上述した量子化の過程では端数として生じ
る誤差分が四捨五入されるため、データをビットマップ
上に展開すると、元のデータとは異なる位置に配置され
ることがある。
る誤差分が四捨五入されるため、データをビットマップ
上に展開すると、元のデータとは異なる位置に配置され
ることがある。
このため、第7図に示すように縦又は横方向に複数の
ストロークを持ち、各ストローク間の幅が揃っているよ
うな文字の場合は、文字のストローク間の幅が不揃いに
なり、第8図に示すように文字の形状が損なわれること
があった。
ストロークを持ち、各ストローク間の幅が揃っているよ
うな文字の場合は、文字のストローク間の幅が不揃いに
なり、第8図に示すように文字の形状が損なわれること
があった。
なお、この明細書において、「ストローク」とは、文
字を手書きする場合の文字のそれぞれの1点、1画をい
う。ここで、「水平ストローク」とは、横方向のストロ
ーク、すなわち、上記「ストローク」の内の略水平に延
びる部分をいい、「垂直ストローク」とは、縦方向のス
トローク、すなわち、上記「ストローク」の内の略垂直
に延びる部分をいう。
字を手書きする場合の文字のそれぞれの1点、1画をい
う。ここで、「水平ストローク」とは、横方向のストロ
ーク、すなわち、上記「ストローク」の内の略水平に延
びる部分をいい、「垂直ストローク」とは、縦方向のス
トローク、すなわち、上記「ストローク」の内の略垂直
に延びる部分をいう。
この発明は、座標値の丸め処理によるストローク間の
幅の不均一をなくし、ストローク間の幅を常に均一にす
ることができる文字・図形描画装置を提供することを目
的とする。
幅の不均一をなくし、ストローク間の幅を常に均一にす
ることができる文字・図形描画装置を提供することを目
的とする。
上記目的を達成するため、この発明は、 アウトラインフォントのデータを読取り、該アウトラ
インフォントのデータを構成する各制御点に基づき前記
アウトラインフォントに対応する文字または図形をビッ
トマップ上に展開して出力する文字・図形描画装置にお
いて、 前記アウトラインフォントのデータから水平ストロー
クの垂直方向位置又は垂直ストロークの水平方向位置及
び水平ストローク又は垂直ストロークの太さに関する情
報を抽出するアウトライン情報抽出手段と、 前記情報に基づいて、水平ストロークが3本以上あ
り、該水平ストロークの太さが全て同じであり、かつ各
水平ストローク間の幅の最大値と最小値との差が所定の
値以下である場合は、該水平ストローク間の幅の平均値
から補正後の水平ストローク間の幅を算出し、また、垂
直ストロークが3本以上あり、該垂直ストロークの太さ
が全て同じであり、かつ各垂直ストローク間の幅の最大
値と最小値との差が所定の値以下である場合は、該垂直
ストローク間の幅の平均値から補正後の垂直ストローク
間の幅を算出するストローク幅算出手段と、 前記ストローク幅算出手段で算出した補正後の水平ス
トローク又は垂直ストローク間の幅を維持し、かつ前記
アウトラインフォントの各制御点が前記ビットマップの
各格子点に乗るように量子化して再配置する再配置手段
と、 前記再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開するビットマップ展開手段と を具備することを特徴とする。
インフォントのデータを構成する各制御点に基づき前記
アウトラインフォントに対応する文字または図形をビッ
トマップ上に展開して出力する文字・図形描画装置にお
いて、 前記アウトラインフォントのデータから水平ストロー
クの垂直方向位置又は垂直ストロークの水平方向位置及
び水平ストローク又は垂直ストロークの太さに関する情
報を抽出するアウトライン情報抽出手段と、 前記情報に基づいて、水平ストロークが3本以上あ
り、該水平ストロークの太さが全て同じであり、かつ各
水平ストローク間の幅の最大値と最小値との差が所定の
値以下である場合は、該水平ストローク間の幅の平均値
から補正後の水平ストローク間の幅を算出し、また、垂
直ストロークが3本以上あり、該垂直ストロークの太さ
が全て同じであり、かつ各垂直ストローク間の幅の最大
値と最小値との差が所定の値以下である場合は、該垂直
ストローク間の幅の平均値から補正後の垂直ストローク
間の幅を算出するストローク幅算出手段と、 前記ストローク幅算出手段で算出した補正後の水平ス
トローク又は垂直ストローク間の幅を維持し、かつ前記
アウトラインフォントの各制御点が前記ビットマップの
各格子点に乗るように量子化して再配置する再配置手段
と、 前記再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開するビットマップ展開手段と を具備することを特徴とする。
アウトラインフォントのデータは、アウトライン情報
抽出手段に読込まれ、該アウトラインフォントのデータ
から水平又は垂直ストロークの端位置及びストロークの
太さに関する情報が抽出される。ストローク幅算出手段
は、抽出された情報からストロークの本数、ストローク
の太さ及び各ストローク間の幅の最大値と最小値の差を
点検し、ストローク間の幅の補正が必要かどうかを判断
し、補正が必要と判断したときは、抽出した情報に基づ
いて補正後のストローク間の幅を算出する。また、再配
置手段は、ストローク幅算出手段で算出した補正後のス
トローク間の幅を維持し、かつ前記アウトラインフォン
トの各制御点が前記ビットマップの各格子点に乗るよう
に量子化して再配置する。そして、ビットマップ展開手
段は、再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開する。
抽出手段に読込まれ、該アウトラインフォントのデータ
から水平又は垂直ストロークの端位置及びストロークの
太さに関する情報が抽出される。ストローク幅算出手段
は、抽出された情報からストロークの本数、ストローク
の太さ及び各ストローク間の幅の最大値と最小値の差を
点検し、ストローク間の幅の補正が必要かどうかを判断
し、補正が必要と判断したときは、抽出した情報に基づ
いて補正後のストローク間の幅を算出する。また、再配
置手段は、ストローク幅算出手段で算出した補正後のス
トローク間の幅を維持し、かつ前記アウトラインフォン
トの各制御点が前記ビットマップの各格子点に乗るよう
に量子化して再配置する。そして、ビットマップ展開手
段は、再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開する。
以下、この発明に係わる文字・図形描画装置の一実施
例を説明する。
例を説明する。
第1図は、この発明に係わる文字・図形描画装置の一
実施例を示す機能ブロック図である。
実施例を示す機能ブロック図である。
表示制御部1は、ビットマップメモリを具えた表示装
置であるCRT2と接続されており、このCRT2に各種データ
を可視表示するための制御を行う。
置であるCRT2と接続されており、このCRT2に各種データ
を可視表示するための制御を行う。
キーボード3は、この装置の操作を行うための各種デ
ータを入力する装置であり、ポインティング・デバイス
としてのマウス4と接続されている。
ータを入力する装置であり、ポインティング・デバイス
としてのマウス4と接続されている。
CPU(中央処理装置)5は、装置全体の制御を行うと
共に、各種の命令に基づいて所定のデータに対する演算
処理を行う回路であり、後述の記憶装置6やプログラム
メモリ8から読込んだデータに対する演算処理を実行す
る。
共に、各種の命令に基づいて所定のデータに対する演算
処理を行う回路であり、後述の記憶装置6やプログラム
メモリ8から読込んだデータに対する演算処理を実行す
る。
またCPU5には、アウトラインフォントのデータを読込
み、水平又は垂直ストロークの端位置及びストロークの
太さに関する情報を抽出するアウトライン情報抽出手段
11と、抽出した情報に基づいて補正後のストローク間の
幅を算出するストローク幅算出手段12と、算出されたス
トローク幅に基づいてアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化して再配
置し、該再配置した制御点に基づきアウトラインフォン
トに対応する図形または文字をビットマップ上に展開す
るビットマップ展開手段13が含まれている。
み、水平又は垂直ストロークの端位置及びストロークの
太さに関する情報を抽出するアウトライン情報抽出手段
11と、抽出した情報に基づいて補正後のストローク間の
幅を算出するストローク幅算出手段12と、算出されたス
トローク幅に基づいてアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化して再配
置し、該再配置した制御点に基づきアウトラインフォン
トに対応する図形または文字をビットマップ上に展開す
るビットマップ展開手段13が含まれている。
これらの制御手段を起動するためのプログラムは、後
述するプログラムメモリ8に格納されており、CPU5はこ
れらのプログラムを読込んでストローク間の幅を補正す
る。
述するプログラムメモリ8に格納されており、CPU5はこ
れらのプログラムを読込んでストローク間の幅を補正す
る。
記憶装置6は、アウトラインフォントのデータがフォ
ントファイルとして格納されているほか、必要に応じて
保存用のデータが格納される。
ントファイルとして格納されているほか、必要に応じて
保存用のデータが格納される。
なお、記憶装置6に格納されるアウトラインフォント
のデータには、このアウトラインフォントにより展開さ
れる文字のストロークの端位置、例えば、垂直ストロー
クの水平方向左端の位置(Li)、水平方向右端の位置
(Ri)を示す情報が含まれている。
のデータには、このアウトラインフォントにより展開さ
れる文字のストロークの端位置、例えば、垂直ストロー
クの水平方向左端の位置(Li)、水平方向右端の位置
(Ri)を示す情報が含まれている。
RAM7は、アウトラインフォントのデータを一時的に蓄
えるメモリ領域、あるいは前記データを加工、再配置す
るための作業領域として使用されるほか、この装置の動
作を制御するためのプログラムを一時的に格納したり、
このプログラムの実行のために処理される各種データを
一時的に格納するために使用される。
えるメモリ領域、あるいは前記データを加工、再配置す
るための作業領域として使用されるほか、この装置の動
作を制御するためのプログラムを一時的に格納したり、
このプログラムの実行のために処理される各種データを
一時的に格納するために使用される。
プログラムメモリ8は、この装置における各種の機能
を実行するための制御プログラムや、アウトライン情報
抽出プログラム、ストローク幅算出プログラム及びビッ
トマップ展開プログラムなどが格納される。
を実行するための制御プログラムや、アウトライン情報
抽出プログラム、ストローク幅算出プログラム及びビッ
トマップ展開プログラムなどが格納される。
プリンタ制御部9は、データ出力部としての機能を有
し、この実施例ではレーザビームプリンタ10の印刷制御
を行う。
し、この実施例ではレーザビームプリンタ10の印刷制御
を行う。
次に、第2図に示す文字のストローク間の幅を補正す
る場合のストローク幅算出手段12の動作を説明する。
る場合のストローク幅算出手段12の動作を説明する。
なお、後述する第5図のフローチャートで明らかにな
るように、第2図に示す文字のストローク間の幅を補正
する場合、各ストロークの太さW0、W1、W2が全て同じで
あり、各ストローク間の幅の最大値と最小値との差(こ
の場合は、L0 L1間の距離とL1 L2間の距離との差)があ
る値より小さいときに上記ストローク間の幅の補正を行
い、それ以外の場合は行わない。
るように、第2図に示す文字のストローク間の幅を補正
する場合、各ストロークの太さW0、W1、W2が全て同じで
あり、各ストローク間の幅の最大値と最小値との差(こ
の場合は、L0 L1間の距離とL1 L2間の距離との差)があ
る値より小さいときに上記ストローク間の幅の補正を行
い、それ以外の場合は行わない。
以下の説明では、第2図に示す文字の各ストロークの
太さW0、W1、W2が全てWで同じであり、L0 L1間の距離
とL1 L2間の距離との差がある値より小さいとする。
太さW0、W1、W2が全てWで同じであり、L0 L1間の距離
とL1 L2間の距離との差がある値より小さいとする。
ストローク幅算出手段12は、水平又は垂直ストローク
の左端と右端の位置を補正するため、その位置を次の
〜により算出する。
の左端と右端の位置を補正するため、その位置を次の
〜により算出する。
ストロークの左端の配置幅を求める。
第2図のストロークの左端の位置L0〜L2について、L0
L1間、L1 L2間の平均値S′を次式(1)で求める。
L1間、L1 L2間の平均値S′を次式(1)で求める。
S′=(L2−L0)/2 …(1) 補正後のストロークの左端の位置(L0′、L1′、L
2′)を次式(2)〜(4)で求める。
2′)を次式(2)〜(4)で求める。
L0′=L0 …(2) L1′=L0′+S′ …(3) L2′=L0′+2×S′ …(4) 補正後のストロークの右端の位置(R0′、R1′、R
2′)を次式(5)〜(7)で求める。
2′)を次式(5)〜(7)で求める。
R0′=L0′+W …(5) R1′=L1′+W …(6) R2′=L2′+W …(7) 上記処理によって、補正前のストロークの左端及び右
端の位置に対する補正後の左端及び右端の位置が求めら
れる。なお、とで求められたL0′、L1′、L2′及び
R0′、R1′、R2′は、ビットマップの各格子点に乗るよ
うにRAM7に再配置される。
端の位置に対する補正後の左端及び右端の位置が求めら
れる。なお、とで求められたL0′、L1′、L2′及び
R0′、R1′、R2′は、ビットマップの各格子点に乗るよ
うにRAM7に再配置される。
すなわち、式(1)で算出される平均値S′として周
知の量子化による丸め処理が成された値を用い、また、
L0′もL0に対して量子化による丸め処理が成された値を
用いると、その結果、L1′およびL2′は、ビットマップ
の各格子点に乗ることになり、また、R0′、R1′、R2′
もビットマップの各格子点に乗ることになる。
知の量子化による丸め処理が成された値を用い、また、
L0′もL0に対して量子化による丸め処理が成された値を
用いると、その結果、L1′およびL2′は、ビットマップ
の各格子点に乗ることになり、また、R0′、R1′、R2′
もビットマップの各格子点に乗ることになる。
次に、文字のアウトラインを構成する他のデータの補
正処理を説明する。なお、補正の方法は、データの位置
によって次の3つに分けられる。
正処理を説明する。なお、補正の方法は、データの位置
によって次の3つに分けられる。
データがストロークの内側にある場合 第3図に示すように点Pがストロークの内側、すなわ
ちLiとRiの間にあるときは、次式(8)に示すように、
点PをLiの移動距離Li′−Liだけ移動する。
ちLiとRiの間にあるときは、次式(8)に示すように、
点PをLiの移動距離Li′−Liだけ移動する。
P′=P+(Li′−Li) …(8) データがストロークの間にある場合 第4図に示すように点Pがストローク間にあるとき
は、直前のストロークの右端Ri′−1からの距離χを、
次式(9)に示すように補正前後のストローク間の幅の
比から求める。
は、直前のストロークの右端Ri′−1からの距離χを、
次式(9)に示すように補正前後のストローク間の幅の
比から求める。
χ=c×′/ …(9) 両端のストロークのさらに外側にある場合 点Pが外側にあるときは、両端のストロークの移動量
を同じだけ移動する。
を同じだけ移動する。
なお、その他のデータについても、ビットマップの各
格子点に乗るようにRAM7に再配置される。
格子点に乗るようにRAM7に再配置される。
次に、上述した第2図に示す文字のストローク間の幅
を補正する場合のCPU5の処理手順を第5図のフローチャ
ートに基づいて説明する。
を補正する場合のCPU5の処理手順を第5図のフローチャ
ートに基づいて説明する。
まず、アウトライン情報抽出手段11は、アウトライン
フォントのデータを読込み(ステップ101)、ストロー
クの左端と右端の位置情報を抽出する(ステップ102)
と共に、ストロークの太さの情報を抽出する(ステップ
103)。ここでは、第2図に示すように垂直ストローク
の左端の位置(L0、L1、L2)と右端の位置(R0、R1、R
2)、及び各ストロークの太さ(W0、W1、W2)の情報が
抽出される。
フォントのデータを読込み(ステップ101)、ストロー
クの左端と右端の位置情報を抽出する(ステップ102)
と共に、ストロークの太さの情報を抽出する(ステップ
103)。ここでは、第2図に示すように垂直ストローク
の左端の位置(L0、L1、L2)と右端の位置(R0、R1、R
2)、及び各ストロークの太さ(W0、W1、W2)の情報が
抽出される。
次に、ストローク幅算出手段12は前記アウトライン情
報抽出手段11によって抽出された情報について、ストロ
ークが3本以上あるかどうかを判断し(ステップ10
4)、ストロークが3本以上あるときは、ストロークの
太さは全て同じかどうかを判断する(ステップ105)。
報抽出手段11によって抽出された情報について、ストロ
ークが3本以上あるかどうかを判断し(ステップ10
4)、ストロークが3本以上あるときは、ストロークの
太さは全て同じかどうかを判断する(ステップ105)。
ステップ105でストロークの太さが全て同じであると
きは、各ストローク間の最大幅と最少幅の差が2以下か
を判断し(ステップ106)、差が2以下であるときは、
補正後のストローク間の幅を算出する(ステップ10
7)。
きは、各ストローク間の最大幅と最少幅の差が2以下か
を判断し(ステップ106)、差が2以下であるときは、
補正後のストローク間の幅を算出する(ステップ10
7)。
そして、ストロークの左端とストロークの右端に対応
する制御点を、それぞれ求められた間隔が維持でき、か
つビットマップの各格子点に乗るようにRAM7に再配置す
ると共に(ステップ108、109)、その他の制御点もビッ
トマップの各格子点に乗るようにRAM7に再配置する。
する制御点を、それぞれ求められた間隔が維持でき、か
つビットマップの各格子点に乗るようにRAM7に再配置す
ると共に(ステップ108、109)、その他の制御点もビッ
トマップの各格子点に乗るようにRAM7に再配置する。
その後、再配置した各制御点に基づきアウトラインフ
ォントに対応する文字または図形をビットマップ上に展
開する(ステップ110)。
ォントに対応する文字または図形をビットマップ上に展
開する(ステップ110)。
なお、上記実施例では、「m」や「E」のようにスト
ローク間の幅が1種類しかない文字について述べたが、
「胃」や「鼻」のようにストローク間の幅が複数種ある
漢字のアウトラインフォントについても適用することが
できる。
ローク間の幅が1種類しかない文字について述べたが、
「胃」や「鼻」のようにストローク間の幅が複数種ある
漢字のアウトラインフォントについても適用することが
できる。
第6図に示すように、「胃」の場合は1(田)と2
(月)に分解し、1と2についてストローク間の幅を均
一に揃える。同様に、「鼻」の場合も文字を1〜3に分
解し、“自”や“田”について別々にストローク間の幅
を補正する。その後、各部を合成して文字を形成する。
これによれば、各部ごとにストローク間の幅を均一に揃
えることができるので、品質のよい文字を得ることが可
能となる。
(月)に分解し、1と2についてストローク間の幅を均
一に揃える。同様に、「鼻」の場合も文字を1〜3に分
解し、“自”や“田”について別々にストローク間の幅
を補正する。その後、各部を合成して文字を形成する。
これによれば、各部ごとにストローク間の幅を均一に揃
えることができるので、品質のよい文字を得ることが可
能となる。
以上説明したように、この発明に係わる文字・図形描
画装置は、アウトラインフォントのデータから水平又は
垂直ストロークの端位置及びストロークの太さに関する
情報を抽出し、所定の条件に基づいて補正後のストロー
ク間の幅を算出するとともに、該算出した補正後のスト
ローク間の幅に基づきアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化してメモ
リ上に再配置し、この再配置した各制御点に基づきアウ
トラインフォントに対応する文字または図形をビットマ
ップ上に展開するように構成したので、通常の処理では
座標値の丸めによってストローク間の幅が不揃いになる
ような場合でもストローク間の幅は常に均一となるよう
に補正され、品質のよい文字を得ることができる。
画装置は、アウトラインフォントのデータから水平又は
垂直ストロークの端位置及びストロークの太さに関する
情報を抽出し、所定の条件に基づいて補正後のストロー
ク間の幅を算出するとともに、該算出した補正後のスト
ローク間の幅に基づきアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化してメモ
リ上に再配置し、この再配置した各制御点に基づきアウ
トラインフォントに対応する文字または図形をビットマ
ップ上に展開するように構成したので、通常の処理では
座標値の丸めによってストローク間の幅が不揃いになる
ような場合でもストローク間の幅は常に均一となるよう
に補正され、品質のよい文字を得ることができる。
第1図はこの発明に係わる文字・図形描画装置の一実施
例を示す機能ブロック図、第2図〜第4図は文字のスト
ローク間の幅を補正する場合の説明図、第5図は文字の
ストローク間の幅を補正する場合のCPUの処理手順を示
すフローチャート、第6図はストローク間の補正処理を
漢字に適用した場合の説明図、第7図及び第8図は従来
例を示す説明図である。 5……CPU(中央処理装置)、6……記憶装置、7……R
AM、8……プログラムメモリ、11……アウトライン情報
抽出手段、12……ストローク幅算出手段、13……ビット
マップ展開手段。
例を示す機能ブロック図、第2図〜第4図は文字のスト
ローク間の幅を補正する場合の説明図、第5図は文字の
ストローク間の幅を補正する場合のCPUの処理手順を示
すフローチャート、第6図はストローク間の補正処理を
漢字に適用した場合の説明図、第7図及び第8図は従来
例を示す説明図である。 5……CPU(中央処理装置)、6……記憶装置、7……R
AM、8……プログラムメモリ、11……アウトライン情報
抽出手段、12……ストローク幅算出手段、13……ビット
マップ展開手段。
フロントページの続き (56)参考文献 特開 昭59−69787(JP,A) 特開 昭63−208898(JP,A) 特開 昭63−208899(JP,A) 特開 昭63−224965(JP,A) 特開 平1−303489(JP,A) 特開 平2−98788(JP,A) 特開 平2−35580(JP,A)
Claims (1)
- 【請求項1】アウトラインフォントのデータを読取り、
該アウトラインフォントのデータを構成する各制御点に
基づき前記アウトラインフォントに対応する文字または
図形をビットマップ上に展開して出力する文字・図形描
画装置において、 前記アウトラインフォントのデータから水平ストローク
の垂直方向位置又は垂直ストロークの水平方向位置及び
水平ストローク又は垂直ストロークの太さに関する情報
を抽出するアウトライン情報抽出手段と、 前記情報に基づいて、水平ストロークが3本以上あり、
該水平ストロークの太さが全て同じであり、かつ各水平
ストローク間の幅の最大値と最小値との差が所定の値以
下である場合は、該水平ストローク間の幅の平均値から
補正後の水平ストローク間の幅を算出し、また、垂直ス
トロークが3本以上あり、該垂直ストロークの太さが全
て同じであり、かつ各垂直ストローク間の幅の最大値と
最小値との差が所定の値以下である場合は、該垂直スト
ローク間の幅の平均値から補正後の垂直ストローク間の
幅を算出するストローク幅算出手段と、 前記ストローク幅算出手段で算出した補正後の水平スト
ローク又は垂直ストローク間の幅を維持し、かつ前記ア
ウトラインフォントの各制御点が前記ビットマップの各
格子点に乗るように量子化して再配置する再配置手段
と、 前記再配置手段で再配置された各制御点に基づいて前記
アウトラインフォントに対応する文字または図形をビッ
トマップ上に展開するビットマップ展開手段と を具備することを特徴とする文字・図形描画装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2223498A JP2726951B2 (ja) | 1990-08-24 | 1990-08-24 | 文字・図形描画装置 |
US08/110,811 US5416852A (en) | 1990-08-24 | 1993-08-23 | Pattern processing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2223498A JP2726951B2 (ja) | 1990-08-24 | 1990-08-24 | 文字・図形描画装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04104296A JPH04104296A (ja) | 1992-04-06 |
JP2726951B2 true JP2726951B2 (ja) | 1998-03-11 |
Family
ID=16799086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2223498A Expired - Fee Related JP2726951B2 (ja) | 1990-08-24 | 1990-08-24 | 文字・図形描画装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5416852A (ja) |
JP (1) | JP2726951B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3787380B2 (ja) * | 1995-09-28 | 2006-06-21 | キヤノン株式会社 | 文字データ処理装置及び方法及びコンピュータ制御装置 |
WO1998037495A1 (en) * | 1997-02-24 | 1998-08-27 | Zining Fu | Representation and restoration method of font information |
US8207969B1 (en) * | 2006-12-14 | 2012-06-26 | Disney Enterprises, Inc. | Method of abstracting a graphical object in a line art style suitable for printing and artwork-coloring |
CN114663551B (zh) * | 2022-04-08 | 2024-07-05 | 深圳软牛科技集团股份有限公司 | 一种在墨迹画板中创建图案笔划的方法、装置及相关组件 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5969787A (ja) * | 1982-10-15 | 1984-04-20 | 日本電気オフィスシステム株式会社 | 文字信号発生方法とその装置 |
US4959801A (en) * | 1986-02-07 | 1990-09-25 | Bitstream Inc. | Outline-to-bitmap character generator |
JP2898974B2 (ja) * | 1987-02-25 | 1999-06-02 | キヤノン株式会社 | 文字処理装置 |
JPH06100906B2 (ja) * | 1987-02-25 | 1994-12-12 | キヤノン株式会社 | 文字処理方法 |
JPH068990B2 (ja) * | 1987-03-25 | 1994-02-02 | 富士通株式会社 | パタ−ン表示信号発生装置 |
JPH01303489A (ja) * | 1988-06-01 | 1989-12-07 | Hitachi Ltd | 文字出力方式 |
JPH0298788A (ja) * | 1988-10-04 | 1990-04-11 | Fujitsu Ltd | パターンの相似変換方式 |
US4933866A (en) * | 1988-11-17 | 1990-06-12 | Vital Lasertype, Inc. | Method and apparatus for generating aesthetically alterable character designs |
US5050103A (en) * | 1989-05-12 | 1991-09-17 | Adobe Systems Incorporated | Method for displaying kanji characters |
US5068803A (en) * | 1989-09-15 | 1991-11-26 | Sun Microsystems, Inc. | Method and apparatus for filling contours in digital typefaces |
US5241653A (en) * | 1990-04-12 | 1993-08-31 | Adobe Systems Incorporated | Apparatus and method for adjusting and displaying scaled, rasterized characters |
JPH0481892A (ja) * | 1990-07-25 | 1992-03-16 | Brother Ind Ltd | アウトラインデータ処理装置 |
-
1990
- 1990-08-24 JP JP2223498A patent/JP2726951B2/ja not_active Expired - Fee Related
-
1993
- 1993-08-23 US US08/110,811 patent/US5416852A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5416852A (en) | 1995-05-16 |
JPH04104296A (ja) | 1992-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6678410B1 (en) | Generating a glyph | |
JP3354754B2 (ja) | カーニング処理方法 | |
JP3111811B2 (ja) | 文字間隔調整装置および方法 | |
US5524198A (en) | Character or graphic processing method and apparatus | |
JPH05143742A (ja) | ベクトル画像描画装置 | |
JP2726951B2 (ja) | 文字・図形描画装置 | |
JP3037854B2 (ja) | 文字生成方法及びその装置 | |
JP2655729B2 (ja) | 画像処理装置及び方法 | |
JPH09156066A (ja) | カーニング処理方法 | |
JP2605022B2 (ja) | 図形処理装置 | |
JPH03288197A (ja) | 文字処理装置 | |
JP3787372B2 (ja) | 文字生成装置及び方法 | |
JP3039015B2 (ja) | 文字処理装置 | |
JP2962392B2 (ja) | カーニング処理方法 | |
JPH04104297A (ja) | 文字・図形描画装置 | |
JP2856235B2 (ja) | 文字処理装置および文字出力方法 | |
Banjanin et al. | Font hinting techniques and the importance of applying these techniques for high-quality display of fonts on the output device screen | |
JPH0493992A (ja) | 文字・図形描画装置 | |
JPH0580741A (ja) | 文字フオント生成方式及び装置 | |
JP3087511B2 (ja) | データ変換装置 | |
JP3040624B2 (ja) | パターン発生装置 | |
EP1048456B1 (en) | Generating a glyph | |
JPH0323496A (ja) | 文字処理装置及び方法 | |
JP2800865B2 (ja) | 文字処理装置 | |
JP2771981B2 (ja) | 高品質文字パターン発生方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |