JP3333297B2 - ラスタ出力文字の太さを改変する方法 - Google Patents

ラスタ出力文字の太さを改変する方法

Info

Publication number
JP3333297B2
JP3333297B2 JP34833893A JP34833893A JP3333297B2 JP 3333297 B2 JP3333297 B2 JP 3333297B2 JP 34833893 A JP34833893 A JP 34833893A JP 34833893 A JP34833893 A JP 34833893A JP 3333297 B2 JP3333297 B2 JP 3333297B2
Authority
JP
Japan
Prior art keywords
character
outline
distance
curve
segment
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
JP34833893A
Other languages
English (en)
Other versions
JPH07334144A (ja
Inventor
ステファン・ベルナルダス・ヨゼフ・クープマン
アブラハム・ニコ・アベケルク
Original Assignee
オセ−ネーデルランド・ビー・ブイ
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 オセ−ネーデルランド・ビー・ブイ filed Critical オセ−ネーデルランド・ビー・ブイ
Publication of JPH07334144A publication Critical patent/JPH07334144A/ja
Application granted granted Critical
Publication of JP3333297B2 publication Critical patent/JP3333297B2/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0042Rasterisation
    • G06K2215/0045Converting outline to bitmap
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0054Geometric transformations, e.g. on rasterised data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0054Geometric transformations, e.g. on rasterised data
    • G06K2215/0057Sizing and resolution changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ラスタ出力装置で出力
されるべき文字の太さを改変するための方法に関する。
この方法では、各文字の形状を直線及び曲線セグメント
から成るアウトラインとして定めるフォントデータが、
個々の文字のビットマップ表現に変換され、変換された
ビットマップ内の文字の太さが元のフォント文字の太さ
と所定の肥大化距離だけ異なるようされる。本発明はま
た、この方法を実行するのに適するプリンタにも関す
る。
【0002】
【従来の技術】テキスト情報を例えばレーザ・プリンタ
又は陰極線管のようなラスタ出力装置で印字若しくは表
示する際には、テキストの各文字のビットマップ表現が
必要である。ビットマップ表現によって、各ピクセルが
文字の充填部分に属するのか、或いは背景に属するのか
が指示される。複数のフォントが用いられる際には、多
数の異なるビットマップ表現が各文字に関して必要とな
ろう。何故ならば、ビットマップ表現は、フォント、フ
ォントサイズ、及びプリンタが作動するピクセルサイズ
に依存するからである。記憶容量の必要量を低減させ、
別の出力装置との間でのフォントの可搬性を向上させる
ために、フォントの文字の形状を、文字のアウトライン
を数学的記述することによって定めるのが便利である。
アウトラインは、文字の充填部の境界を表す1つ又はそ
れ以上の非交差の閉じたパス(経路)から成る。各パス
は特定の方向で通過する一定の方向を有する曲線であ
り、取決めによって、文字の充填(黒)部はこの方向に
通過する際に曲線の左側にある。各パスの数学的記述
は、DE−A−38 11 396及びEP−A−0
393 680に開示されているように、直線セグメン
トの終結点とベジア曲線の支持点との座標から成る。
【0003】ビットマップ表現は、ピクセルのラスタを
アウトラインの上に重ね、アウトライン内に取り囲まれ
た区域を黒いピクセルで充填することによって、アウト
ラインから得られる。(この文脈において、「黒」は文
字が印字されるべき色を意味する。)
【0004】アウトラインは容易に縮尺できるので、各
フォント文字に関して単一のアウトライン記述のみを必
要とし、異なるフォントサイズはアウトラインを縮尺す
ることによって得ることができる。したがって、フォン
トをプリンタの中に記憶するのに僅かな記憶容量しか必
要としない。テキストの所与の部分を印字する際には、
ビットマップ表現を、実際にテキストの中に現れるフォ
ント及びフォントサイズに関してのみ生成すれば良い。
他方、最も高い頻度で使用されるフォントのビットマッ
プ表現を生成し、記憶することも、勿論可能である。
【0005】アウトライン表現はプリンタの特性に依存
しないので、所与のフォントの印字可能な文字は、印字
に用いられる出力装置に関係なく同じ外観を有する。そ
れにもかかわらず、プリンタの特性がテキストの外観に
或る種の影響を与えることがしばしばあるので、これら
の影響を補償することが必要であるか、或いは少なくと
も望ましい。
【0006】例えば、レーザ・プリンタは、それぞれ
「ブラック・ライタ」及び「ホワイト・ライタ」と呼ば
れる2つのグループに分けることができる。ブラック・
ライタにおいては、レーザビームで露出された印字イメ
ージの部分のみが黒のトナーで現像される。ホワイト・
ライタにおいては、レーザビームで露出されなかった部
分のみが現像される。何れの場合においても、レーザビ
ームによって造り出される露出スポットは理想的な1ピ
クセルの寸法の正方形を具えておらず、むしろほぼ円形
である。その結果、それぞれ、ホワイト・ライタにおい
ては連続的な白区域を作り出し、ブラック・ライタにお
いては連続的な黒区域を作り出すために、露出スポット
の寸法を1ピクセルよりもやや大きくしなければならな
い。露出スポットのこの過剰寸法に起因して、ホワイト
・ライタで印字される黒文字は、ブラック・ライタで印
字される黒文字よりもより弱くなる。この効果を補償す
るために、文字、更に詳しく言うと文字のビットマップ
表現を、ホワイト・ライタにおいてはより太くしなけれ
ばならない。
【0007】この目的のために、ビットマップ表現を、
特定の位置に黒ピクセルを更に加えることによって手作
業で適正化することができる。しかし、この手順は、各
フォント、フォントサイズ、及びプリンタ機械装置に対
して個別に行わなければならないことから、非常に時間
が掛かって、アウトライン記述を用いることによって達
成される利点の大半を帳消しにしてしまうことになろ
う。したがって、自動的に遂行できる肥大化方法が必要
とされる。
【0008】自動肥大化の1つの方法については、図1
4及び図15に関連して以下で述べる。
【0009】図14には、文字「k」のアウトライン1
0が、アウトラインの上に重ねられるビットマップと共
に示されている。ビットマップの黒ピクセルは、灰色の
正方形(ピクセル)12によって表されている。この文
字を肥大化させるために、ビットマップを最初に右に向
けて1ピクセル分だけ移動させ、移動されたビットマッ
プを元のビットマップとOR論理によって組み合わせ
る。その後、結果として得られるビットマップを上に向
けて1ピクセル分だけ移動させ、移動されたこのビット
マップを最初の移動操作から得られるビットマップとO
R論理によって組み合わせる。結果は、図15に示され
ている。文字の垂直ステム14が右縁に加わる1ピクセ
ル分だけ肥大化していることが分かる。この状態は、ス
テム14の左側及び右側境界の両方を外向きに1/2ピ
クセル分だけ移動させることによって得られるであろう
結果と等価である。肥大化距離fは文字の充填部の境界
を外向きに移動させる距離として定義されるので、図1
4及び図15に説明する肥大化操作は、肥大化距離1/
2ピクセルに相当する。同様に、セリフ16の頂部縁に
ある実質的に水平な境界線は、上に向けて1ピクセル分
だけ移動されている。これは上側境界を上向きに半ピク
セル分だけ移動させ、下側境界を下向きに半ピクセル分
だけ移動させることと等価である。かくして、文字の水
平部分又はステムもまた、f=1/2ピクセルで肥大化
されている。しかし、図15において、文字の上向きに
勾配を有するステム18及び下向きに勾配を有するステ
ム20は、過剰に肥大化されていることが分かるであろ
う。かくして、この過程によって達成される肥大化は一
様ではなく、文字の外観が劣化する。
【0010】この方法のもう1つの短所は、f=1/2
ピクセルよりも小さい肥大化距離を得られないことであ
る。多くの場合、この肥大化距離は、ホワイト・ライタ
での露出スポットの過剰寸法を補償するには大き過ぎ
る。1/2ピクセルよりも小さい肥大化距離は、プリン
タの空間的解像力が1ピクセルに制約されているとは言
え、重要であるということに注意すべきである。この制
約された解像力に起因して、印字されたイメージの中で
の垂直及び水平線又はステムの幅は1ピクセルの段階で
しか変化できない。しかし、文字の勾配部分を適切な肥
大化距離で肥大化することがもし可能であれば、勾配を
有する線又はステムの有効幅を1ピクセルよりもかなり
小さい段階で変化させることができ、印字されたテキス
トの外観及び可読性を著しく向上できるであろう。
【0011】US−A−4 625 222では、印字
機械での文字ビットマップの自動肥大化のもう1つの方
法が開示されている。この方法では、灰色ピクセルを黒
と白の区域の間の境界でビットマップに付加して、文字
を幾分不鮮明に見えるようにする。この性質によって達
成される視覚的効果は、1/2ピクセルよりも小さい肥
大化距離によって肥大化することと同じである。しか
し、この方法は、灰色レベルを再生できるプリンタに限
られており、印字されたテキストの可読性で達成される
向上は限られている。何故ならば、ひとの視覚感受性は
黒と白の区域の間の鋭いコントラストにとりわけ依存し
ており、文字に対して灰色ピクセルを付加することはコ
ントラストが失われることを意味するからである。
【0012】US−A−4 620 287は、コンピ
ュータで生成されるグラフィックスの分野に関するもの
で、曲線の線重みを変更する問題に関係している。この
問題は、文字を肥大化させる問題と或る種の類似性を有
する。この文書の中で開示されている方法では、曲線を
直線セグメントの列によって近似させ、より大きな線重
みを得るために、これらの線セグメントを望ましい線幅
に相当する細長い矩形で置換する。この方法によって、
均一の肥大化を任意の大きさの肥大化距離で達成できる
が、曲線の滑らかな外観を温存するためには、曲線を多
数のセグメント及び矩形にそれぞれ分割しなければなら
ないので、コンピュータで行われる計算及びグラフィッ
クス操作に多大な時間を消費することになる。
【0013】
【発明が解決しようとしている課題】これらの短所にか
んがみて、本発明の目的は、文字の太さを精細かつ効率
的に任意の量だけ調整できる方法及び同方法を実施する
プリンタを提供することである。本発明により、この目
的は請求項1の前文による方法を提供することによって
達成される。請求項1の前文による方法は、改変アウト
ラインをフォントデータ及び肥大化距離fに基づいて計
算し、その後、ビットマップ表現を、改変されたアウト
ラインを離散的ピクセルで充填することによって得るこ
とを特徴としている。
【0014】
【課題を解決するための手段】この方法を実行するプリ
ンタについては、請求項4に請求されている。
【0015】前に論考した文字肥大化の方法はビットマ
ップ・レベルで行われるので、肥大化を、アウトライン
をビットマップ表現に変形する前に、アウトラインで行
うことが本発明の重要な特徴である。理想的には、改変
されたアウトラインは、元のアウトラインを外向きに肥
大化距離fだけ移動させることによって得られる。更に
精密に言うと、元のアウトラインの外向きの移動は、以
下の操作によって定められる。半径fの円が、元のアウ
トラインの各点の回りに描かれる。改変されたアウトラ
インは、これらの総ての円の外側包絡線である。負の肥
大化距離(文字の細くなった太さに相当する)を受け入
れることもまた可能である。もしfが負であれば、改変
されたアウトラインは、円の内側包絡線によって定めら
れる。
【0016】本発明による方法の1つの有利な実施例に
おいて、改変されたアウトラインの数学的記述は、元の
アウトラインの記述と同じ書式を有する。例えば、もし
元のアウトラインが直線セグメントの終結点及びベジア
曲線の制御点によって定められるならば、改変されたア
ウトラインもまた、直線セグメントの終結点と、改変さ
れたアウトラインの理想的形状を近似するベジア曲線の
制御点との座標によって定められる。
【0017】本発明による方法のこの実施例には、肥大
化距離を望ましいように選択できて、文字の均一な肥大
化が達成される利点がある。更に、この方法は従来の文
字生成技法と両立性を有する。何故ならば、改変された
アウトラインが元のアウトラインと同じ書式で記述さ
れ、その結果、ビットマップを充填するための通常の方
法及び系は変更されないからである。
【0018】本発明の適用可能性は、ラスタ出力装置の
特定の特性の修正には限定されない。本発明者は、印字
されたテキストの読み易さは、とりわけフォントサイズ
が小さい場合、文字の太さの設定によって大幅に影響さ
れること、しかし、最適と見なされる太さには個々の人
ごとに大きな差異があることを発見した。本発明では、
ユーザの好みに従って文字の太さを個々人ごとに調整す
る可能性が呈示される。したがって、本発明によるテキ
スト再生系、すなわちプリンタに、印字されるべき文字
の太さを調整するための選択スイッチを設けることがで
きる。これに替えて、文字の太さを、テキストをプリン
タに対して伝送するホストコンピュータの中に設定する
こともできる。この場合、プリンタが1つのネットワー
クの中で複数のユーザに共有されるのであれば、各ユー
ザが個々に文字の太さを設定できる。文字の太さの最適
化は読み易さの観点から重要であるだけでなく、光学的
文字認識(OCR)性を向上させるためにもまた有用で
ある。
【0019】本発明では更に、非線形縮尺の可能性が呈
示される。非線形縮尺では、文字の太さが、読み易さを
向上させるために、小さいフォントサイズに関して不均
衡に増大される。これは、金属活字を用いる印刷業界で
は慣行になっているが、ディジタル印字機械で実行する
のは現時点まで困難であった。
【0020】もう1つの有利な用途は、離散化誤りの修
正である。かかる誤りは、離散的ピクセルから成るビッ
トマップの中では、斜めの線又はステムの線幅は垂直及
び水平の線又はステムの線幅よりも遥かに高い精度で再
生され得るということから生じる。もし、例えば文字
「N」のような垂直及び斜めのステムで、選択されたフ
ォント及びフォントサイズによって、3.8ピクセルの
幅を具えることが必要であるとすると、垂直ステムの幅
を離散化過程で4ピクセルに丸めることになる。しか
し、斜めのステムの平均幅は、離散化を行った後におい
てさえも依然として3.8ピクセルになる。かくして、
離散化によって、ステム幅に好ましくない不均衡が作り
出される。本発明により、この不均衡を、肥大化距離f
=0.1ピクセルを選択することによって避けることが
できる。これによって、垂直及び斜めのステムの両方の
幅は、離散化の前及び後に、均一に4.0ピクセルにな
る。
【0021】本発明の更なる選択的特徴は、従属の請求
項に示されている。
【0022】以下、本発明を添付図面に関連して詳細に
記述する。
【0023】
【実施例】図1には、紙供給タブレット24、及び印字
されたコピーのための排出ビン26から成るレーザ・プ
リンタ(ラスタ出力装置)22が示されている。レーザ
・プリンタ22のハウジングの背面側には、印字される
べきデータをホストコンピュータ(図示されていない)
から受容するケーブル30のためのコネクタ28が設け
られている。これに加えて、印字されたテキストの文字
の太さを調整できるようにする、例えばスライド・スイ
ッチ(入力装置)32のような、選択スイッチが設けら
れている。
【0024】図2は、レーザ・プリンタ22の電子制御
系のブロック線図である。この制御系は、おおまかに、
データ処理ブロック34、フォント・メモリ36、文字
ビットマップ・メモリ38、及びページサイズ・ビット
マップ・メモリ40から成る。データ処理ブロック34
には、文字生成装置42が含まれる。文字生成装置42
は、主プロセシング・ユニット(制御装置)44の一部
としても良いが、図の中では明確にするために独立の状
態で示してある。
【0025】フォント・メモリ36によって、複数のフ
ォントが、各文字の形状をアウトラインの数学的記述で
特定する所定の書式で記憶される。文字生成装置42に
よって、フォントデータがフォント・メモリ36から読
み出され、選択されたフォントの各文字のアウトライン
記述が、文字ビットマップに拡張される。その後、文字
ビットマップは文字ビットマップ・メモリ38の中に記
憶される。
【0026】主プロセシング・ユニット44によって、
ケーブル30を介して伝送されるテキストデータが受容
され、これらのデータに従って、個々の文字のビットマ
ップ表現が文字ビットマップ・メモリ38から引き出さ
れ、ページサイズ・ビットマップ・メモリ40の中の望
ましい位置に記憶される。完全なページがこの方法で準
備し終わると、主プロセシング・ユニットによって、ペ
ージサイズ・ビットマップの内容がメモリ40から読み
出され、これらの内容がピクセル・ビットストリームと
して、レーザ・プリンタ22の中に設けられているラス
タ出力スキャナのレーザビームを変調するために、変調
器(ラスタ出力装置)46に送られる。
【0027】主プロセシング・ユニットで新しい印字作
業のためのデータが受容されると、主プロセシング・ユ
ニットによって、この印字作業に必要なフォントがビッ
トマップ・メモリ38の中で入手可能な状態になってい
るかどうかが点検される。もし必要なフォントがビット
マップ・レベルで未だ入手可能な状態になっていなけれ
ば、主プロセシング・ユニットによって、ページサイズ
・ビットマップの装填が始まる前に、文字生成装置42
に対してこれらのフォントをビットマップに展開するよ
うに指令が与えられる。
【0028】選択スイッチ(入力装置)32は文字生成
装置42に接続され、これによって、文字の太さを改変
する肥大化距離fを指示する信号が供給される。もしf
が正であれば、ビットマップ表現が、各文字をフォント
・メモリ36の中に記憶されているアウトラインに比べ
て量fだけ肥大化するような方法で生成される。もしf
が負であれば、文字のビットマップ表現は、フォント・
メモリの中のアウトラインよりも肉細になる。
【0029】文字生成装置42によって演じられる過程
は、図3に示されている。段階S1では、各文字のアウ
トラインの数学的記述がフォント・メモリ36から読み
出される。段階S2では、文字生成装置42によって、
選択スイッチ32を用いて設定された肥大化距離fが読
み出される。もし段階S3において肥大化距離fが0に
等しくないことが分かれば、改変されたアウトラインの
数学的記述が段階S4において計算される。改変された
アウトラインは一般的に、元のアウトラインの各点を外
向きに肥大化距離fだけ移動させることによって得られ
る。必要な計算は、数学的記述をフォント・メモリの中
で記憶する書式に依存する。特定の例について以下に説
明する。
【0030】改変されたアウトラインが段階S4におい
て確定されると、文字生成装置42は、文字ビットマッ
プを装填する段階S5に進む。この段階において、印字
色(黒)が、改変されたアウトラインによって特定され
る輪郭内に位置する文字ビットマップの中の各ピクセル
に対して指定され、背景色(白)が文字ビットマップの
残りの総てのピクセルに対して指定される。
【0031】もし段階S3においてfが0に等しいこと
が分かれば、改変されたアウトラインを計算する必要は
なく、段階S4を省略して次の段階に進む。
【0032】図4には、図14に示される文字「k」に
対してこの肥大化操作を適用した時の結果が示されてい
る。元のアウトライン10は外向きに肥大化距離f=
0.4ピクセルだけ移動されて、改変されたアウトライ
ン48が得られる。適切に改変されたヒント (hint) に
基づいて、アウトライン48は、ビットマップの格子に
関して、垂直ステム14の右側境界線が正確に格子の列
に整列するように配置されている。その後、段階S5に
おいて、改変されたアウトライン48は黒いピクセル1
2で充填される。すなわち、中心がアウトライン48内
に収まる各ピクセルは黒にされている。
【0033】図4及び図15に示されるビットマップ表
現を比較すると、図4においては、文字「k」の滑らか
で均質な肥大化が得られていること、及びそれぞれのス
テム14、18、20が図14における均衡と実質的に
同様であることが観察されるであろう。
【0034】垂直ステム14の場合、図4で用いられる
0.4ピクセルの肥大化距離と図15で用いられる0.
5ピクセルの肥大化距離との間の差異を観察することが
できない。何故ならば、離散化段階S5においてステム
幅が6ピクセルに丸められていることによる。しかし、
図4における斜めのステム18及び20の境界に着目す
ると、もし肥大化距離を0.4ピクセルから0.5ピク
セルに増加させたならば、多数の新しいピクセルを付加
しなければならなかっただろうということが観察される
であろう。かくして、肥大化距離fの0.1ピクセル程
度の僅かな変化でさえも、顕著な効果がある。
【0035】もし図4において肥大化距離f=0.2ピ
クセルが選ばれたならば、垂直ステム14の幅は図14
のように5ピクセルになっていたであろうが、しかしそ
れにもかかわらず、斜めのステム18及び20では僅か
な肥大化かしか観察されないであろう。
【0036】段階S4における改変されたアウトライン
48の計算の過程について、図5から図13までに関連
して以下に詳細に説明する。
【0037】図5には、文字「b」のアウトライン10
が示されている。アウトラインは、文字の黒い区域を境
界付ける2つの閉じたパス50及び52から成る。各パ
ス50及び52はそれぞれ、矢印54及び56によって
方向付けられている。取決めにより、文字の黒い区域は
それぞれ、関連の矢印54又は56に関する方向に見れ
ば、パス50又は52の左側にある。
【0038】ここで示す例では、パス50は直線セグメ
ント58のみから成り、パス52は直線セグメント60
及び62のみから成る。
【0039】図6に示される改変されたアウトライン4
8は、元のアウトライン10から、以下の段階を実行す
ることによって得られる。
【0040】第1の段階では、直線セグメント58、6
0、及び62が、線セグメントの方向に対して直角な方
向に肥大化距離fだけ移動される。もしfがここに示す
例のように正であれば、線セグメントは外向きに、すな
わち矢印54又は56に対してそれぞれ右側に移動され
る。この方法によって、新しい直線セグメント58′及
び60′が得られる。元の線セグメント60の幾分かは
小さな線セグメント62によって分離されているが、新
しい線セグメント60′が互いに交差し、小さな線セグ
メント62が余分になっていることが観察されるであろ
う。これが、線セグメント62に相当する移動された線
セグメントが示されていない理由である。かかる余分な
線セグメントは、一般に、元の線セグメントが非常に小
さい場合、すなわち肥大化距離f程度である場合に生じ
る。
【0041】第2の段階では、図6に示されるように、
新しい線セグメント58′が、新しい閉じたパス50′
を形成するために結合され、新しい線セグメント60′
が、新しい閉じたパス52′を形成するために結合され
る。
【0042】新しい線セグメントを結合する過程におい
て、2つの場合を識別することができる。図5では、新
しい線セグメント58′の2つが交差点64で交差して
はいるが、隣接の線セグメント58′の他の組は交差せ
ずに間に間隙を形成していることが分かるであろう。パ
ス52の場合には、新しい線セグメント60′の総てが
交差点66で交差している。
【0043】したがって、結合過程の最初の副次的段階
には、新しい線セグメントが交差するかどうかを点検す
ることが含まれる。この試験は、隣接の線セグメント5
8′の総ての組に対してだけではなく、更に広く、2つ
の終結点の距離が一定の値(肥大化距離f程度)よりも
小さい新しい線セグメント58′及び60′の総ての組
に対しても行われなければならない。もし線セグメント
が交差することが分かったならば、交差点64又は66
はそれぞれ、2つの線セグメントの新しい共通終結点と
見なされる。すなわち、交差点を超えて突き出す端部は
線セグメントから切除され、あらゆる余分な線セグメン
トは取り除かれる。
【0044】もし隣接する2つの線セグメント58の移
動されたイメージ(線セグメント)58′が交差しなけ
れば、新しい線セグメント58′を結合するための2つ
の可能性がある。1つの可能性は、線セグメント58′
の終結点を相互結合する新しい(直線又は曲線の)線セ
グメントを付加することである。もう1つの可能性は、
線セグメント58′を交差するまで引き伸ばすことであ
る。この解決法は、図6において適用されている。
【0045】もしこの後者の方法を用いるとすれば、図
7に示すような線セグメント58が非常に鋭い角度で交
差する場合に対して、或る種の特別な準備が為されなけ
ればならない。そうすると、新しい2つの線セグメント
58′を交差するまで引き伸ばさなければならない距離
が、望ましくない程度にまで大きくなり得る。したがっ
て、線セグメント58′を引き伸ばす距離を、肥大化距
離fの2倍までに制限することが望ましい。もし新しい
線セグメント58′が2fだけ引き伸ばされた後にも依
然交差しないならば、引き伸ばされた線セグメント5
8′の新しい終結点は、図7に示すような付加的な線セ
グメント68によって相互結合される。もし引き伸ばし
が2fに制限されているならば、付加的な線セグメント
68は、1つの線セグメント58間に形成される角度が
60°以下である時には何時でも必要になる。
【0046】商業的に入手可能なフォントの殆どの場
合、アウトライン記述には直線セグメントだけでなく曲
線セグメントも含まれる。その結果、肥大化過程には曲
線セグメントを取り扱う適切な方法が準備されなければ
ならない。
【0047】曲線セグメントの数学的記述は、種々の方
法で与えることができる。しかし、アウトライン・フォ
ントに好適な記述には、少なくとも、以下のパラメータ
が具えられなければならない。すなわち、 ●線セグメントの開始点P0の座標 ●線セグメントの終結点P3の座標 ●P0における接線方向 ●P3における接線方向 である。
【0048】更に、曲線の中間部で曲線の形状を規定す
る少なくとも1つの付加的なパラメータが準備されなけ
ればならない。
【0049】文字アウトラインの部分を形成する閉じた
パスは一般に、複数の直線及び曲線セグメントから成
り、このパスはしばしば、個々の線セグメントの開始点
及び終結点においてさえも微分可能である。これは、開
始点における接線方向が、先行曲線セグメントの終結点
における接線方向と、或いは先行直線セグメントの接線
方向と、それぞれ同等であることを意味する。このこと
が改変されたアウトラインに対しても妥当することを確
実にするために、元のアウトラインの曲線セグメントを
改変されたアウトラインの相当する線セグメントに変形
するのに用いられる方法では、以下の条件を満足しなけ
ればならない。すなわち、 ●連続する線セグメントの開始点及び終結点は、同一の
方向に、同じ距離だけ移動されなければならない。この
距離及び方向は、距離fであり、接線に対して直角な方
向であることが好ましい。 ●変形では、開始点及び終結点での接線方向が温存され
なければならない。である。
【0050】その後、上述の付加的なパラメータを変化
させて、改変されたアウトラインの理想的な形状を十分
な精度で近似させなければならない。。
【0051】1つの例として、3次ベジア曲線によって
与えられる曲線セグメントを変形する方法について以下
に述べる。
【0052】図8を参照すると、3次べジア曲線、即
ち、べジア曲線70は、4つの制御点P0、P1、P2
及びP3の座標によって決定され得る。制御点P0及び
P3はそれぞれ線セグメントの開始点及び終結点であ
る。制御点P1によってP0における接線の方向が決定
され、制御点P2によってP3における接線の方向が決
定される。曲線の開始点及び終結点と、これらの点にお
ける接線方向とが与えられと、上記記載にはそれぞれP
0及びP1と、P2及びP3とを通過する直線上の制御
点P1及びP2の位置で表わされる2度の自由度が依然
として含まれる。
【0053】ベジア曲線の正確な形状は、以下のベクト
ル方程式によって与えられる。すなわち、 P(t)=P0(1−t)+3P1(1−t)t+ 3P2(1−t)t+P3t (1)
【0054】tを0から1へ連続的に増加させると、点
P(t)はベジア曲線70に沿ってP0からP3へ移動
する。ベジア曲線の方位は増加するtの方向によって与
えられる。かくして、図8に示されるベジア曲線70に
よって、文字の充填部分の凸部が境界付けられる。曲線
の方位はまた、ベクトルの方向L0=P1−P0、L1
=P2−P1、及びL2=P3−P2によって指示され
る。これらのベクトルの方向によって、制御点P0から
P3までが相互接続される。
【0055】べジア曲線70は以下のように新しいべジ
ア曲線70’に変形される。
【0056】制御点P0及びP1が、ベクトルL0に対
して直角な方向に肥大化距離fだけ移動される。もしf
が正であれば、移動方向はベクトルL0の右側に向く。
かくして、新しい点P0′及びP1′と、新しいベクト
ルL0′とが得られる。
【0057】制御点P2及びP3と、ベクトルL2と
が、同じ方法で移動されて新しい制御点P2′及びP
3′と、新しいベクトルL2′とが得られる。
【0058】その後、点P1′がベクトルL0′の方向
に一定の距離f1だけ移動され、新しい制御点P1″が
得られる。距離f1は、ベクトルL0、L1、L3と肥
大化距離fとの関数である。f1の符号は、ベクトルL
0と、P0及びP3とP0からP3の方向に見て右にあ
る点とを接続する線に対して直角なベクトルNとの間の
スカラー積の符号に等しい。図8において、N点は上向
きであり、L0もまた上向き成分を有するので、f1は
正であり、すなわち、P1′はL0′の正方向に移動す
る。
【0059】同様に、点P2′が、ベクトルL2′の方
向に一定の距離f2だけ移動される。距離f2もまた、
L0、L1、L3とfとの関数であり、f2の符号は、
L2とNとの間のスカラー積の符号に等しい。図8にお
いて、L2とNとは反対方向であり、したがって、点P
2″は、点P2′をベクトルL2′の負方向に移動させ
ることによって得られる。
【0060】f1の絶対値は、ベクトルL0とL1との
間の角度ψ0の関数として得られる。すなわち、 |f1|=(4/3).f.[1−cos(ψ0)] cos(ψ0)=L0L1/(|L0|.|L1|) (2) である。ここではスカラー積を意味する。
【0061】同様に、f2の絶対値は、L1とL2との
間の角度ψ1の関数として得られる。すなわち、 |f2|=(4/3).f.[1−cos(ψ1)] cos(ψ1)=L1L2/(|L1|.|L2|) (3) である。
【0062】これらの方程式は、図8及び図9に示され
る例において用いられた。図9においては、ベジア曲線
70によって文字の凹部が境界付けられている。
【0063】上述の方法によって、殆どの実際的な場合
に満足すべき結果が得られるであろう。しかし、或る種
のベジア曲線に関しては、以下の方程式によってより良
い結果が得られる。すなわち、 |f1|=(4/3).f.[1−cos(ψ0/2)] ここで、ψ0=arc cos[L0L1/(|L0|.|L1|)] (2′) |f2|=(4/3).f.[1−cos(ψ1/2)] ここで、ψ1=arc cos[L1L2/(|L1|.|L2|)] (3′) である。
【0064】以下の表において、最良の結果を与える方
程式は、角度ψ0及びψ1の値に依存して示される。表
において、「I」は角度が第1象限(0°≦ψ<90
°)にあることを意味し、「II」は角度が第2象限(9
0°≦ψ<180°)にあることを意味し、以下同様で
ある。これに関連して、L0とL1との間の角度ψ0
は、L0を反時計方向にL1に合致するまで回転させる
ことによって見付けられる。角度ψ1は、同様な方法で
見付けられる。角度ψ0及びψ1は、図8及び図9に示
されている。 ψ0 ψ1 好ましい方程式 I I (2)及び(3) I II (2)及び(3) I III (2)及び(3′) I IV (2)及び(3) II I (2)及び(3) II II (2)及び(3) II III (2′)及び(3′) II IV (2′)及び(3) III I (2′)及び(3) III II (2′)及び(3′) III III (2′)及び(3′) III IV (2)及び(3) IV I (2)及び(3) IV II (2)及び(3′) IV III (2)及び(3) IV IV (2)及び(3)
【0065】ベジア曲線がS字のような形状を有する場
合には、これらの方程式によってもまた、満足すべき結
果が得られる。これらの事例における代替的な方法は、
S字形状ベジア曲線を均一な曲率の2つのベジア曲線に
分割することである。そうすることによって、これらの
2つのベジア曲線の各々を、図8及び図9に関連して述
べた方法で変換することができる。
【0066】もしベジア曲線の開始点、終結点がパスの
微分不可能点であるならば、すなわち、もしベジア曲線
が隣接のベジア曲線又は隣接の直線セグメントと角度を
形成しているならば、改変されたアウトラインのセグメ
ントを互いに結合しなければならない。図5及び図6に
関連して論考した事例におけるように、新しい線セグメ
ントは、互いに交差しても良いし、或いは、間に間隙を
形成しても良い。
【0067】もし間隙が形成されるならば、ベジア曲線
を、ベジア曲線の相当する開始点又は終結点における接
線と同じ方位を有する直線セグメントを付加することに
よって、引き伸ばすことができる。この手順は、図5及
び図7に関連して述べた手順に相当する。
【0068】しかし、もし新しいベジア曲線が隣接ベジ
ア曲線又は隣接直線セグメントと交差するならば、解決
すべき問題は交差点を定めることである。
【0069】例として、図10には、鋭い角度で接する
2つのベジア曲線70及び72が示されている。このよ
うな状況には、例えば「8」のような文字で遭遇する。
元のアウトラインのベジア曲線70、72が新しいベジ
ア曲線70′、72′に変換された時、交差点76の片
側にある冗長部74は取り除かれなければならない。こ
の目的のために、2つのベジア曲線70′と72′との
間の交差点76が決定されなければならない。
【0070】この交差点76は図11及び13に示され
る回帰法によって概略的に定め得る。図11の第1段階
では、2つの更新されたべジア曲線70’及び72’の
境界付け箱78が重畳しているかどうかが検証される。
境界付け箱はそれぞれべジア曲線の制御点によって定め
られる四角形である。この例では、境界付け箱78は陰
影付けられた区域80内で重畳する。重畳80が2つの
境界付け箱間に存在するかどうかはを定める試験は、詳
説を要しない簡単なアルゴリズムである。重畳80の存
在が見出されると各べジア曲線70、72は点P=P
(t=0.5)で2等分される。従って、更新されたべ
ジア曲線70’は新たにより小さい2つのべジア曲線7
0’a及び70’bに分割され、更新されたべジア曲線
72’は新しいべジア曲線72’a及び72’bに分割
される。
【0071】ベジア曲線70′a、70′bの制御点
は、曲線70′の制御点からデ・カステリャウ法 (DeCa
steljau method) によって誘導される。デ・カステリャ
ウ法については、1988年4月発行の「コンピュータ
支援による設計」第20巻、第3号の114ページから
116ページまでの中でP・J・バリーとR・N・ゴー
ルドマン (P.J. Barry and R.N. Goldman in "Computer
Aided Design", Vol. 20, No. 3, April 1988, pages
114 to 116) によって記述されている。要約すると、も
しベジア曲線を交差点P(t)で交差させるのであれ
ば、制御点P0及びP1、P1及びP2、P2及びP3
をそれぞれ接続する直線セグメントの各々を、分割比t
/(1−t)で分割する。その後、この方法で得ら
れる3つの分割点を接続する2つの線を、同じ分割比で
再び分割し、結果として生じる2つの分割点を、同じ分
割比で再び分割する。この方法で得られる単一の分割点
が、ベジア曲線の上にあり、点P(t)に等しいこと
を示すことができる。分割点は、新しいセグメントの制
御点となる。
【0072】曲線70′a等に関する制御点が一旦定め
られると、曲線70′a及び72′aの境界付け箱の
間、或いは曲線70′b及び72′bの間に重畳がある
かどうかが検証される。この試験の結果に依存して、曲
線70′a及び72′a、又は曲線70′b及び72′
bの何れかが上述の方法と同じ方法で再び2等分され、
更に小さな副次的曲線と境界付け箱とが、図13に示す
ように得られる。この手順を数回反復し、境界付け箱の
寸法が縮むにつれて、数回の反復段階後には交差点76
の良好な近似が得られる。通常、8段階以上の反復は要
しない。
【0073】交差点76が決定された後、交差点76
は、保有されるべき曲線70′及び72′の部分の新し
い開始点、終結点として用いられる。これらの部分の他
の新しい制御点P1、P2は、デ・カステリャウ法を用
いて計算される。
【0074】もしベジア曲線と直線セグメントとの間の
交差点を定める必要があれば、手順は、直線セグメント
と単一のベジア曲線の境界付け箱との間の重畳が定めら
れることに差異がある他は、上述の手順と同じである。
【0075】交差点を定める上述の方法によって、交差
点76の座標だけでなく、ベジア曲線70′及び72′
の相当するパラメータもそれぞれ与えられる。かくし
て、ここで再びデ・カステリャウ法を、残りの曲線7
0′及び72′に関する制御点を冗長部74なしで得る
ために、ベジア曲線70′及び72′を交差点76で分
割するのに用いることができる。
【0076】本発明を特定の実施例に関して以上記述し
た。しかし、本発明はこれらの実施例に限定されないこ
とを理解すべきである。例えば、ベジア曲線の交差点を
他のベジア曲線又は直線セグメントで定める既知の方法
を、上述の手順の代わりに用いることができる。
【0077】更に、改変されたアウトラインにおけるベ
ジア曲線の制御点を計算する方程式(2)、(3)、及
び(2′)、(3′)を、改変されたアウトラインの理
想的形状を近似するための適切な他のあらゆるアルゴリ
ズムに置き換えることができる。
【0078】現在、当明細書で述べた方法は好ましいと
考えられる。何故ならば、同方法によって、過大な時間
を要することなく満足な結果が得られ、更に重要なこと
として、この手順は数学的に安定であることが証明され
ているからである。
【0079】文字の形状に関する情報に加え、商業的に
入手可能なフォントには通常、「ヒント ("hints")」と
呼ばれ、文字の位置をラスタ出力装置の格子に対して適
正に調整するのに役立つ情報の断片が含まれる。かかる
ヒントによって、例えば、文字をピクセル格子の行及び
桁に整列させるための或る種の基準位置が特定される。
これらの場合、ヒント情報を、選択された肥大化距離に
よって改変することもまた必要となろう。
【0080】本発明は、アウトラインの曲線セグメント
を3次ベジア曲線又はベジア曲線によって記述するフォ
ントに全く限定されない。
【0081】曲線セグメントに関してどのような記述が
用いられようとも、改変されたアウトラインを得るため
の変換は、同一の種類の記述を改変されたアウトライン
の中の曲線セグメントに対しても使用できる形になって
いる。
【0082】図1に示されるレーザ・プリンタにおい
て、肥大化距離fを入力するためのスライドスイッチ3
2はユーザから接近可能になっている。改変された実施
例においては、肥大化距離fを設定するための入力装置
をレーザ・プリンタのハウジング内に設けて、保守技術
者だけに接近可能にすることができる。更に、肥大化距
離fを設定するための指令を、ホスト・コンピュータか
ら他の印字データと共に伝送することができる。この場
合、主プロセシング・ユニット44を、ホスト・コンピ
ュータから受容される指令を複号させ、肥大化距離fに
関しての相当する設定値を文字生成装置42に対して供
給するように適応させる。もし系に選択スイッチ32が
付加的に設けられていれば、この選択スイッチから受容
される信号を、肥大化距離に関する省略時設定として取
り扱うことができる。
【0083】最後に、本発明による方法は、プリンタ、
更に一般的にラスタ出力装置に実施できるだけでなく、
文字ビットマップ・メモリ38に直接積み込まれる文字
ビットマップを生成するために特殊に設計される装置に
も実施できるので、プリンタにフォント・メモリ36を
設ける必要がないことに留意すべきである。
【図面の簡単な説明】
【図1】図1は、本発明を実施するレーザ・プリンタの
概観図である。
【図2】図2は、本発明のレーザ・プリンタのブロック
線図である。
【図3】図3は、本発明による肥大化方法の全般的段階
を説明する流れ図である。
【図4】図4には、本発明により肥大化される文字
「k」のアウトライン及びビットマップ表現が示されて
いる。
【図5】図5には、直線セグメントで境界付けられる文
字を肥大化する過程が示されている。
【図6】図6には、直線セグメントで境界付けられる文
字を肥大化する過程が示されている。
【図7】図7には、アウトラインの直線セグメントが鋭
い角度で交わる特殊な事例が示されている。
【図8】図8には、ベジア曲線として定められるアウト
ライン・セグメントを肥大化する方法が示されている。
【図9】図9には、ベジア曲線として定められるアウト
ライン・セグメントを肥大化する方法が示されている。
【図10】図10には、曲線セグメント間の交差点をお
おまかに定める方法が示されている。
【図11】図11には、曲線セグメント間の交差点をお
おまかに定める方法が示されている。
【図12】図12には、曲線セグメント間の交差点をお
おまかに定める方法が示されている。
【図13】図13には、曲線セグメント間の交差点をお
おまかに定める方法が示されている。
【図14】図14には、文字「k」のアウトライン及び
ビットマップ表現が示されている。
【図15】図15には、図14に示される文字のビット
マップ表現が、本発明の対象でない方法で肥大化された
状態で示されている。
【符号の説明】
30 ケーブル 32 入力装置(選択スイッチ) 34 データ処理ブロック 36 フォント・メモリ 38 ビットマップ・メモリ(文字ビットマップ) 40 ページサイズ・ビットマップ・メモリ 44 主プロセシング・ユニット 46 ラスタ出力装置(変調装置)
───────────────────────────────────────────────────── フロントページの続き 合議体 審判長 高橋 泰史 審判官 松尾 淳一 審判官 三輪 学 (56)参考文献 特開 平4−93992(JP,A) 特開 平4−136898(JP,A) 特開 平4−174897(JP,A) 特開 平4−120594(JP,A) 特許2886702(JP,B2) 特公 昭63−6874(JP,B2) 米国特許5673371(US,A) 欧州公開604685(EP,A1) 欧州特許605048(EP,B1) (58)調査した分野(Int.Cl.7,DB名) G09G 5/24 - 5/28

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 ラスタ出力装置(22)に出力されるべ
    き文字の太さを改変する方法であって、 線セグメントの開始点P0と、終結点P3と、開始点P
    0及び終結点P3におけるべジア曲線の接線上に位置す
    る中間制御点P1及びP2とを含む制御点によって限定
    される該べジア曲線である曲線セグメント(70)を含
    む線セグメント(58,60,70)から成るアウトラ
    イン(10)として各文字の形状を定めるフォントデー
    タを与え、 ビットマップ表現のために縮尺される文字の外観を損な
    わないようにすべての線セグメントが一様に移動される
    ように所望の任意の肥大化距離fを定め、 すべての線セグメントを前記肥大化距離fだけ一様に移
    動させて該フォントデータ及び該肥大化距離(f)に基
    づいて改変されたアウトライン(48)を計算し、下記
    段階a)乃至c)の手順を用いてべジア曲線によって形
    成される曲線セグメント(70)をべジア曲線によって
    均等に形成される新しい曲線セグメント(70’)に変
    換することによってそれが移動されるようにし、 a)前記開始点P0及び終結点P3におけるそれぞれの
    接線方向に垂直な方向で前記肥大化距離だけ該開始点P
    0及び終結点P3を移動させ、それによって改変された
    アウトラインの新しい曲線セグメント(70’)の開始
    点P0’及び終結点P3’を得るようにし、 b)それぞれ該開始点P0及び終結点P3における移動
    方向と同一方向に該中間制御点P1及びP2をそれぞれ
    同一距離に亘り移動させ、それによって新しい中間制御
    点P1’及びP2’を得るようにし、 c)該点P0’及びP1’を結ぶ線に沿って距離f1に
    亘り前記新しい中間制御点P1’を移動させると共に該
    点P2’及びP3’を結ぶ線に沿って距離f2に亘り前
    記新しい中間制御点P2’を移動させ、それぞれ距離f
    1及びf2が、P0とP1とを結ぶ線とP1とP3とを
    結ぶ線間の角度、及びP1とP2とを結ぶ線とP2とP
    3とを結ぶ線間の角度の関数に依存し、それによって該
    改変されたアウトラインに属する該新しい曲線セグメン
    ト(70’)の中間制御点P1’’及びP2’’を得る
    ようにし、 最早交っていない移動された隣接の線セグメントを接続
    することによって該改変されたアウトライン(48)の
    あらゆる間隙をなくし、 該改変されたアウトライン(48)を離散的ピクセル
    (12)で充填することによって該文字のビットマップ
    表現を得ることから成る文字太さ改変方法。
  2. 【請求項2】 直線セグメント(58,60,62)に
    関して、前記直線セグメントを該直線セグメントに対し
    て直角な方向に前記肥大化距離fだけ移動させることに
    よって前記改変されたアウトライン(48)が決定され
    る、請求項1の方法。
  3. 【請求項3】 付加的な線セグメントを挿入するか又は
    線セグメントが交差するまで引延ばすことによって該新
    しい線セグメント(58’,60’)の隣接終結点を接
    続するか若しくは該改変された線セグメントが既に交差
    しているならば、交差点(66,76)における終結部
    分を切除することによって隣接終結点を接続することを
    さらに含む、請求項1の方法。
  4. 【請求項4】 各文字の形状を直線セグメント及び曲線
    セグメントから成るアウトライン(10)として定める
    フォントデータを記憶するフォントメモリ(36)であ
    って、該アウトラインが線セグメントの開始点P0と、
    終結点P3と、開始点P0及び終結点P3におけるべジ
    ア曲線の接線上に位置する中間制御点P1及びP2とを
    含む制御点によって限定される該べジア曲線である曲線
    セグメント(70)を含むフォントメモリと、 個々の文字のビットマップ表現を記憶するビットマップ
    メモリ(38)と、 前記フォントデータを前記ビットマップ表現に変形する
    文字発生装置(42)と、 ラスタ出力装置(46)と、 符号化されたテキストデータを受容し、該ビットマップ
    メモリ(38)に記憶される該ビットマップデータを、
    該受容されたテキストデータに従って該ラスタ出力装置
    (46)に供給させる制御装置(44)とから成るプリ
    ンタであって、 前記文字発生装置(42)が、離散ピクセルで文字アウ
    トラインを満たすことによって該フォントデータをビッ
    トマップ表現に変形するようにされ、かつさらにそのす
    べてのセグメントを任意の肥大化距離fにより一様に移
    動させることによって文字アウトラインを修正するため
    に、該文字発生装置(42)は、 a)前記開始点P0及び終結点P3におけるそれぞれの
    接線方向に垂直な方向で前記肥大化距離だけ該開始点P
    0及び終結点P3を移動させ、それによって改変された
    アウトラインの新しい曲線セグメント(70’)の開始
    点P0’及び終結点P3’を得るようにし、 b)それぞれ該開始点P0及び終結点P3における移動
    方向と同一方向に該中間制御点P1及びP2をそれぞれ
    同一距離に亘り移動させ、それによって新しい中間制御
    点P1’及びP2’を得るようにし、 c)該点P0’及びP1’を結ぶ線に沿って距離f1に
    亘り前記新しい中間制御点P1’を移動させると共に該
    点P2’及びP3’を結ぶ線に沿って距離f2に亘り前
    記新しい中間制御点P2’を移動させ、それぞれ距離f
    1及びf2が、P0とP1とを結ぶ線とP1とP2とを
    結ぶ線間の角度、及びP1とP2とを結ぶ線とP2とP
    3とを結ぶ線間の角度の関数に依存し、それによって該
    改変されたアウトラインに属する該新しい曲線セグメン
    ト(70’)の中間制御点P1’’及びP2’’を得る
    ようにして、べジア曲線によって形成される曲線セグメ
    ント(70)をべジア曲線によって同等に形成される新
    しい曲線セグメントに変形させるようにし、 最早交っていない移動された隣接の線セグメントを接続
    することによって該改変されたアウトライン(48)の
    あらゆる間隙をなくし、 該改変されたアウトライン(48)を離散的ピクセル
    (12)で充填することによって該文字のビットマップ
    表現を得る、ことを特徴とするプリンタ。
  5. 【請求項5】 前記文字発生装置(42)が、該直線セ
    グメント対して直角な方向に直線セグメント(58,6
    0,62)を前記肥大化距離fだけ移動させるようにさ
    れる、請求項4のプリンタ。
  6. 【請求項6】 前記文字発生装置(42)が、 付加的な線セグメントを挿入するか又は線グメントが交
    差するまで引延ばすことによって該新しい線セグメント
    (58’,60’)の隣接終結点を接続するか若しくは
    該改変された線セグメントが既に交差しているならば、
    交差点(66,76)における終結部分を切除すること
    によって隣接終結点を接続することをさらに含む、請求
    項4のプリンタ。
  7. 【請求項7】 該肥大化距離fを入力する入力装置(3
    2)を含む請求項4のプリンタ。
  8. 【請求項8】 前記入力装置(32)がユーザーにより
    操作可能なスイッチを含む、請求項7のプリンタ。
JP34833893A 1992-12-28 1993-12-27 ラスタ出力文字の太さを改変する方法 Expired - Fee Related JP3333297B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL92204086.0 1992-12-28
EP92204086A EP0604685A1 (en) 1992-12-28 1992-12-28 Method of modifying the fatness of characters

Publications (2)

Publication Number Publication Date
JPH07334144A JPH07334144A (ja) 1995-12-22
JP3333297B2 true JP3333297B2 (ja) 2002-10-15

Family

ID=8211174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34833893A Expired - Fee Related JP3333297B2 (ja) 1992-12-28 1993-12-27 ラスタ出力文字の太さを改変する方法

Country Status (4)

Country Link
US (1) US5673371A (ja)
EP (1) EP0604685A1 (ja)
JP (1) JP3333297B2 (ja)
DE (1) DE69323983T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0604685A1 (en) 1992-12-28 1994-07-06 Océ-Nederland B.V. Method of modifying the fatness of characters
US5959634A (en) * 1993-12-09 1999-09-28 Canon Kabushiki Kaisha Character generating system employing thickening or narrowing of characters
US5864711A (en) * 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US6911987B1 (en) * 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
JP3576797B2 (ja) * 1997-04-01 2004-10-13 キヤノン株式会社 図形処理装置、図形処理方法、文字処理装置および文字処理方法
US6552727B2 (en) 1998-03-27 2003-04-22 Microsoft Corp. Method for authoring hints for a font using a graphical user interface
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
AUPS048902A0 (en) * 2002-02-13 2002-03-07 Silverbrook Research Pty. Ltd. Methods and systems (ap49)
US7418664B2 (en) 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7028266B2 (en) 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US8756513B1 (en) 2002-04-23 2014-06-17 Microsoft Corporation Document viewing mechanism for document sharing environment
US7293243B1 (en) * 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
US7356563B1 (en) 2002-06-06 2008-04-08 Microsoft Corporation Methods of annotating a collaborative application display
US7580039B2 (en) * 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7639258B1 (en) * 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7005957B2 (en) * 2004-05-29 2006-02-28 Tsung-Mou Yu Mechanism for trip-free of the bimetallic plate of a safety switch device
US7612897B2 (en) * 2004-09-24 2009-11-03 Seiko Epson Corporation Method of managing the printing of characters and a printing device employing method
US20060103857A1 (en) * 2004-11-17 2006-05-18 Lexmark International, Inc. Method of reducing a consumption of imaging substance when forming an image
KR100694085B1 (ko) * 2005-01-24 2007-03-12 삼성전자주식회사 문자 이미지의 생성 방법 및 장치
JP2007166287A (ja) * 2005-12-14 2007-06-28 Fuji Xerox Co Ltd 画像処理装置、および画像処理方法
EP1840515B1 (en) * 2006-03-31 2009-10-28 Research In Motion Limited Methods and apparatus for dynamically labeling map objects in visually displayed maps of mobile communication devices
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
US8085271B2 (en) * 2007-06-08 2011-12-27 Apple Inc. System and method for dilation for glyph rendering
US7944447B2 (en) * 2007-06-22 2011-05-17 Apple Inc. Adaptive and dynamic text filtering
CN102918566B (zh) * 2011-04-15 2016-01-06 松下电器产业株式会社 曲线描绘装置、曲线描绘方法及集成电路
US9189872B2 (en) * 2012-10-12 2015-11-17 Google Inc. Bezier arc approximation spring system
US9633469B2 (en) * 2013-03-15 2017-04-25 Nvidia Corporation Conservative rasterization of primitives using an error term
WO2014205632A1 (en) * 2013-06-24 2014-12-31 Adobe Systems Incorporated Gravity point drawing method
US20150178961A1 (en) * 2013-12-20 2015-06-25 Nvidia Corporation System, method, and computer program product for angular subdivision of quadratic bezier curves
KR20160031354A (ko) * 2014-09-12 2016-03-22 한국전자통신연구원 사용자 체감 품질에 기반한 스케줄링 방법 및 장치
US10347016B2 (en) * 2016-01-12 2019-07-09 Monotype Imaging Inc. Converting font contour curves
US10936792B2 (en) 2017-12-21 2021-03-02 Monotype Imaging Inc. Harmonizing font contours
US11645435B2 (en) * 2019-06-20 2023-05-09 Dassault Systemes Simulia Corp. Fast method for computer-based simulation
US11257256B2 (en) * 2020-05-15 2022-02-22 Adobe Inc. Raster image tracing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673371A (en) 1992-12-28 1997-09-30 Oce-Nederland B.V. Method of modifying the fatness of characters to be output on a raster output device
JP2886702B2 (ja) 1990-07-06 1999-04-26 富士ゼロックス株式会社 アウトラインフォント処理装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58113982A (ja) * 1981-12-26 1983-07-07 富士フアコム制御株式会社 ラスタスキヤン型デイスプレイ装置における表示線の太さ制御方法
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
US4625222A (en) * 1984-05-17 1986-11-25 International Business Machines Corporation Interacting print enhancement techniques
JPH081553B2 (ja) * 1987-04-06 1996-01-10 キヤノン株式会社 画像データの圧縮方式
GB2203613B (en) * 1987-04-06 1992-01-02 Canon Kk Image processing apparatus
JPH0815796B2 (ja) * 1988-09-20 1996-02-21 松下電送株式会社 文字フォント生成方法
JP2907855B2 (ja) * 1989-02-27 1999-06-21 株式会社日立製作所 文字パターン発生装置および文字パターン発生方法
US5099435A (en) * 1989-03-31 1992-03-24 Bitstream, Inc. Method and apparatus for conversion of outline characters to bitmap characters
KR930002339B1 (ko) * 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법
JPH0333896A (ja) * 1989-06-30 1991-02-14 Fuji Xerox Co Ltd フォント描画装置
JPH0378795A (ja) * 1989-08-22 1991-04-03 Toshiba Corp 文書作成装置
EP0471849B1 (en) * 1990-02-27 1995-06-07 Seiko Epson Corporation Method of generating dot signal corresponding to character pattern and device therefor
JPH03259296A (ja) * 1990-03-09 1991-11-19 Canon Inc パターン発生装置
JPH0493992A (ja) * 1990-08-06 1992-03-26 Fuji Xerox Co Ltd 文字・図形描画装置
JPH0493994A (ja) * 1990-08-06 1992-03-26 Fuji Xerox Co Ltd 文字処理装置
JP3082228B2 (ja) * 1990-09-11 2000-08-28 ブラザー工業株式会社 データ変換装置
JP2887263B2 (ja) * 1990-09-28 1999-04-26 富士ゼロックス株式会社 文字変形装置
JP2956784B2 (ja) * 1990-11-02 1999-10-04 株式会社リコー 漢字フォントのデータ化方式
JPH04174897A (ja) * 1990-11-08 1992-06-23 Nec Off Syst Ltd 書体生成装置
US5355449A (en) * 1991-09-30 1994-10-11 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
US5280576A (en) * 1991-12-24 1994-01-18 Xerox Corporation Method of adjusting the weight of a character of an outline font
US5363479A (en) * 1992-07-02 1994-11-08 Microsoft Corporation System and method for rendering bezier splines
US5367617A (en) * 1992-07-02 1994-11-22 Microsoft Corporation System and method of hybrid forward differencing to render Bezier splines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2886702B2 (ja) 1990-07-06 1999-04-26 富士ゼロックス株式会社 アウトラインフォント処理装置
US5673371A (en) 1992-12-28 1997-09-30 Oce-Nederland B.V. Method of modifying the fatness of characters to be output on a raster output device

Also Published As

Publication number Publication date
DE69323983T2 (de) 1999-08-19
EP0604685A1 (en) 1994-07-06
JPH07334144A (ja) 1995-12-22
US5673371A (en) 1997-09-30
DE69323983D1 (de) 1999-04-22

Similar Documents

Publication Publication Date Title
JP3333297B2 (ja) ラスタ出力文字の太さを改変する方法
US5666543A (en) Method of trapping graphical objects in a desktop publishing program
US6678410B1 (en) Generating a glyph
US5943680A (en) Output apparatus in which a plurality of images having a plurality of accuracy of colors are output to output devices having different accuracy of colors
EP1077445B1 (en) Device dependent rendering of characters
JP3976363B2 (ja) 自動的グラフィックパターン配置方法及びシステム
JPH11250272A (ja) 自動イメ―ジレイアウト方法及びシステム
US5524198A (en) Character or graphic processing method and apparatus
JPH05143742A (ja) ベクトル画像描画装置
JPS6233948B2 (ja)
EP0749099B1 (en) Blend control system
EP0461811A2 (en) Pattern processing method
US20060119897A1 (en) Output apparatus and program thereof
JPH05207266A (ja) 画像編集処理装置
EP0605048B1 (en) Method of modifying the fatness of characters
EP0418868B1 (en) Image processing system
EP0654764A2 (en) Method of and apparatus for converting format of an image having linear color variation
JPH0668247A (ja) ディジタル画像データ変倍方法および装置
JP3536894B2 (ja) 図形処理装置
EP1048456B1 (en) Generating a glyph
JP3573291B2 (ja) 文字データ作成方法及び文字データ作成装置
JPH0333895A (ja) フォント描画装置
JPH10307572A (ja) アウトライン文字描画方法,アウトライン文字描画装置およびアウトライン文字描画プログラムを格納した記憶媒体
JPH08287050A (ja) レイアウトデザイン装置
JPH02205892A (ja) 文字発生装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070726

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees