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
Application number
JP2223498A
Other languages
English (en)
Other versions
JPH04104296A (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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP2223498A priority Critical patent/JP2726951B2/ja
Publication of JPH04104296A publication Critical patent/JPH04104296A/ja
Priority to US08/110,811 priority patent/US5416852A/en
Application granted granted Critical
Publication of JP2726951B2 publication Critical patent/JP2726951B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/947Font 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図に示すように文字の形状が損なわれること
があった。
なお、この明細書において、「ストローク」とは、文
字を手書きする場合の文字のそれぞれの1点、1画をい
う。ここで、「水平ストローク」とは、横方向のストロ
ーク、すなわち、上記「ストローク」の内の略水平に延
びる部分をいい、「垂直ストローク」とは、縦方向のス
トローク、すなわち、上記「ストローク」の内の略垂直
に延びる部分をいう。
この発明は、座標値の丸め処理によるストローク間の
幅の不均一をなくし、ストローク間の幅を常に均一にす
ることができる文字・図形描画装置を提供することを目
的とする。
〔課題を解決するための手段〕
上記目的を達成するため、この発明は、 アウトラインフォントのデータを読取り、該アウトラ
インフォントのデータを構成する各制御点に基づき前記
アウトラインフォントに対応する文字または図形をビッ
トマップ上に展開して出力する文字・図形描画装置にお
いて、 前記アウトラインフォントのデータから水平ストロー
クの垂直方向位置又は垂直ストロークの水平方向位置及
び水平ストローク又は垂直ストロークの太さに関する情
報を抽出するアウトライン情報抽出手段と、 前記情報に基づいて、水平ストロークが3本以上あ
り、該水平ストロークの太さが全て同じであり、かつ各
水平ストローク間の幅の最大値と最小値との差が所定の
値以下である場合は、該水平ストローク間の幅の平均値
から補正後の水平ストローク間の幅を算出し、また、垂
直ストロークが3本以上あり、該垂直ストロークの太さ
が全て同じであり、かつ各垂直ストローク間の幅の最大
値と最小値との差が所定の値以下である場合は、該垂直
ストローク間の幅の平均値から補正後の垂直ストローク
間の幅を算出するストローク幅算出手段と、 前記ストローク幅算出手段で算出した補正後の水平ス
トローク又は垂直ストローク間の幅を維持し、かつ前記
アウトラインフォントの各制御点が前記ビットマップの
各格子点に乗るように量子化して再配置する再配置手段
と、 前記再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開するビットマップ展開手段と を具備することを特徴とする。
〔作用〕
アウトラインフォントのデータは、アウトライン情報
抽出手段に読込まれ、該アウトラインフォントのデータ
から水平又は垂直ストロークの端位置及びストロークの
太さに関する情報が抽出される。ストローク幅算出手段
は、抽出された情報からストロークの本数、ストローク
の太さ及び各ストローク間の幅の最大値と最小値の差を
点検し、ストローク間の幅の補正が必要かどうかを判断
し、補正が必要と判断したときは、抽出した情報に基づ
いて補正後のストローク間の幅を算出する。また、再配
置手段は、ストローク幅算出手段で算出した補正後のス
トローク間の幅を維持し、かつ前記アウトラインフォン
トの各制御点が前記ビットマップの各格子点に乗るよう
に量子化して再配置する。そして、ビットマップ展開手
段は、再配置手段で再配置された各制御点に基づいて前
記アウトラインフォントに対応する文字または図形をビ
ットマップ上に展開する。
〔実施例〕
以下、この発明に係わる文字・図形描画装置の一実施
例を説明する。
第1図は、この発明に係わる文字・図形描画装置の一
実施例を示す機能ブロック図である。
表示制御部1は、ビットマップメモリを具えた表示装
置であるCRT2と接続されており、このCRT2に各種データ
を可視表示するための制御を行う。
キーボード3は、この装置の操作を行うための各種デ
ータを入力する装置であり、ポインティング・デバイス
としてのマウス4と接続されている。
CPU(中央処理装置)5は、装置全体の制御を行うと
共に、各種の命令に基づいて所定のデータに対する演算
処理を行う回路であり、後述の記憶装置6やプログラム
メモリ8から読込んだデータに対する演算処理を実行す
る。
またCPU5には、アウトラインフォントのデータを読込
み、水平又は垂直ストロークの端位置及びストロークの
太さに関する情報を抽出するアウトライン情報抽出手段
11と、抽出した情報に基づいて補正後のストローク間の
幅を算出するストローク幅算出手段12と、算出されたス
トローク幅に基づいてアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化して再配
置し、該再配置した制御点に基づきアウトラインフォン
トに対応する図形または文字をビットマップ上に展開す
るビットマップ展開手段13が含まれている。
これらの制御手段を起動するためのプログラムは、後
述するプログラムメモリ8に格納されており、CPU5はこ
れらのプログラムを読込んでストローク間の幅を補正す
る。
記憶装置6は、アウトラインフォントのデータがフォ
ントファイルとして格納されているほか、必要に応じて
保存用のデータが格納される。
なお、記憶装置6に格納されるアウトラインフォント
のデータには、このアウトラインフォントにより展開さ
れる文字のストロークの端位置、例えば、垂直ストロー
クの水平方向左端の位置(Li)、水平方向右端の位置
(Ri)を示す情報が含まれている。
RAM7は、アウトラインフォントのデータを一時的に蓄
えるメモリ領域、あるいは前記データを加工、再配置す
るための作業領域として使用されるほか、この装置の動
作を制御するためのプログラムを一時的に格納したり、
このプログラムの実行のために処理される各種データを
一時的に格納するために使用される。
プログラムメモリ8は、この装置における各種の機能
を実行するための制御プログラムや、アウトライン情報
抽出プログラム、ストローク幅算出プログラム及びビッ
トマップ展開プログラムなどが格納される。
プリンタ制御部9は、データ出力部としての機能を有
し、この実施例ではレーザビームプリンタ10の印刷制御
を行う。
次に、第2図に示す文字のストローク間の幅を補正す
る場合のストローク幅算出手段12の動作を説明する。
なお、後述する第5図のフローチャートで明らかにな
るように、第2図に示す文字のストローク間の幅を補正
する場合、各ストロークの太さW0、W1、W2が全て同じで
あり、各ストローク間の幅の最大値と最小値との差(こ
の場合は、L0 L1間の距離とL1 L2間の距離との差)があ
る値より小さいときに上記ストローク間の幅の補正を行
い、それ以外の場合は行わない。
以下の説明では、第2図に示す文字の各ストロークの
太さW0、W1、W2が全てWで同じであり、L0 L1間の距離
とL1 L2間の距離との差がある値より小さいとする。
ストローク幅算出手段12は、水平又は垂直ストローク
の左端と右端の位置を補正するため、その位置を次の
〜により算出する。
ストロークの左端の配置幅を求める。
第2図のストロークの左端の位置L0〜L2について、L0
L1間、L1 L2間の平均値S′を次式(1)で求める。
S′=(L2−L0)/2 …(1) 補正後のストロークの左端の位置(L0′、L1′、L
2′)を次式(2)〜(4)で求める。
L0′=L0 …(2) L1′=L0′+S′ …(3) L2′=L0′+2×S′ …(4) 補正後のストロークの右端の位置(R0′、R1′、R
2′)を次式(5)〜(7)で求める。
R0′=L0′+W …(5) R1′=L1′+W …(6) R2′=L2′+W …(7) 上記処理によって、補正前のストロークの左端及び右
端の位置に対する補正後の左端及び右端の位置が求めら
れる。なお、とで求められたL0′、L1′、L2′及び
R0′、R1′、R2′は、ビットマップの各格子点に乗るよ
うにRAM7に再配置される。
すなわち、式(1)で算出される平均値S′として周
知の量子化による丸め処理が成された値を用い、また、
L0′もL0に対して量子化による丸め処理が成された値を
用いると、その結果、L1′およびL2′は、ビットマップ
の各格子点に乗ることになり、また、R0′、R1′、R2′
もビットマップの各格子点に乗ることになる。
次に、文字のアウトラインを構成する他のデータの補
正処理を説明する。なお、補正の方法は、データの位置
によって次の3つに分けられる。
データがストロークの内側にある場合 第3図に示すように点Pがストロークの内側、すなわ
ちLiとRiの間にあるときは、次式(8)に示すように、
点PをLiの移動距離Li′−Liだけ移動する。
P′=P+(Li′−Li) …(8) データがストロークの間にある場合 第4図に示すように点Pがストローク間にあるとき
は、直前のストロークの右端Ri′−1からの距離χを、
次式(9)に示すように補正前後のストローク間の幅の
比から求める。
χ=c×′/ …(9) 両端のストロークのさらに外側にある場合 点Pが外側にあるときは、両端のストロークの移動量
を同じだけ移動する。
なお、その他のデータについても、ビットマップの各
格子点に乗るようにRAM7に再配置される。
次に、上述した第2図に示す文字のストローク間の幅
を補正する場合のCPU5の処理手順を第5図のフローチャ
ートに基づいて説明する。
まず、アウトライン情報抽出手段11は、アウトライン
フォントのデータを読込み(ステップ101)、ストロー
クの左端と右端の位置情報を抽出する(ステップ102)
と共に、ストロークの太さの情報を抽出する(ステップ
103)。ここでは、第2図に示すように垂直ストローク
の左端の位置(L0、L1、L2)と右端の位置(R0、R1、R
2)、及び各ストロークの太さ(W0、W1、W2)の情報が
抽出される。
次に、ストローク幅算出手段12は前記アウトライン情
報抽出手段11によって抽出された情報について、ストロ
ークが3本以上あるかどうかを判断し(ステップ10
4)、ストロークが3本以上あるときは、ストロークの
太さは全て同じかどうかを判断する(ステップ105)。
ステップ105でストロークの太さが全て同じであると
きは、各ストローク間の最大幅と最少幅の差が2以下か
を判断し(ステップ106)、差が2以下であるときは、
補正後のストローク間の幅を算出する(ステップ10
7)。
そして、ストロークの左端とストロークの右端に対応
する制御点を、それぞれ求められた間隔が維持でき、か
つビットマップの各格子点に乗るようにRAM7に再配置す
ると共に(ステップ108、109)、その他の制御点もビッ
トマップの各格子点に乗るようにRAM7に再配置する。
その後、再配置した各制御点に基づきアウトラインフ
ォントに対応する文字または図形をビットマップ上に展
開する(ステップ110)。
なお、上記実施例では、「m」や「E」のようにスト
ローク間の幅が1種類しかない文字について述べたが、
「胃」や「鼻」のようにストローク間の幅が複数種ある
漢字のアウトラインフォントについても適用することが
できる。
第6図に示すように、「胃」の場合は1(田)と2
(月)に分解し、1と2についてストローク間の幅を均
一に揃える。同様に、「鼻」の場合も文字を1〜3に分
解し、“自”や“田”について別々にストローク間の幅
を補正する。その後、各部を合成して文字を形成する。
これによれば、各部ごとにストローク間の幅を均一に揃
えることができるので、品質のよい文字を得ることが可
能となる。
〔発明の効果〕
以上説明したように、この発明に係わる文字・図形描
画装置は、アウトラインフォントのデータから水平又は
垂直ストロークの端位置及びストロークの太さに関する
情報を抽出し、所定の条件に基づいて補正後のストロー
ク間の幅を算出するとともに、該算出した補正後のスト
ローク間の幅に基づきアウトラインフォントの各制御点
がビットマップの各格子点に乗るように量子化してメモ
リ上に再配置し、この再配置した各制御点に基づきアウ
トラインフォントに対応する文字または図形をビットマ
ップ上に展開するように構成したので、通常の処理では
座標値の丸めによってストローク間の幅が不揃いになる
ような場合でもストローク間の幅は常に均一となるよう
に補正され、品質のよい文字を得ることができる。
【図面の簡単な説明】
第1図はこの発明に係わる文字・図形描画装置の一実施
例を示す機能ブロック図、第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)

    (57)【特許請求の範囲】
  1. 【請求項1】アウトラインフォントのデータを読取り、
    該アウトラインフォントのデータを構成する各制御点に
    基づき前記アウトラインフォントに対応する文字または
    図形をビットマップ上に展開して出力する文字・図形描
    画装置において、 前記アウトラインフォントのデータから水平ストローク
    の垂直方向位置又は垂直ストロークの水平方向位置及び
    水平ストローク又は垂直ストロークの太さに関する情報
    を抽出するアウトライン情報抽出手段と、 前記情報に基づいて、水平ストロークが3本以上あり、
    該水平ストロークの太さが全て同じであり、かつ各水平
    ストローク間の幅の最大値と最小値との差が所定の値以
    下である場合は、該水平ストローク間の幅の平均値から
    補正後の水平ストローク間の幅を算出し、また、垂直ス
    トロークが3本以上あり、該垂直ストロークの太さが全
    て同じであり、かつ各垂直ストローク間の幅の最大値と
    最小値との差が所定の値以下である場合は、該垂直スト
    ローク間の幅の平均値から補正後の垂直ストローク間の
    幅を算出するストローク幅算出手段と、 前記ストローク幅算出手段で算出した補正後の水平スト
    ローク又は垂直ストローク間の幅を維持し、かつ前記ア
    ウトラインフォントの各制御点が前記ビットマップの各
    格子点に乗るように量子化して再配置する再配置手段
    と、 前記再配置手段で再配置された各制御点に基づいて前記
    アウトラインフォントに対応する文字または図形をビッ
    トマップ上に展開するビットマップ展開手段と を具備することを特徴とする文字・図形描画装置。
JP2223498A 1990-08-24 1990-08-24 文字・図形描画装置 Expired - Fee Related JP2726951B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 アウトラインデータ処理装置

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