JP2920387B2 - デジタル書体の視覚的劣化を最少にする方法および装置 - Google Patents

デジタル書体の視覚的劣化を最少にする方法および装置

Info

Publication number
JP2920387B2
JP2920387B2 JP1187596A JP18759689A JP2920387B2 JP 2920387 B2 JP2920387 B2 JP 2920387B2 JP 1187596 A JP1187596 A JP 1187596A JP 18759689 A JP18759689 A JP 18759689A JP 2920387 B2 JP2920387 B2 JP 2920387B2
Authority
JP
Japan
Prior art keywords
stroke
adjusted
character
typeface
frame
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
JP1187596A
Other languages
English (en)
Other versions
JPH02127689A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH02127689A publication Critical patent/JPH02127689A/ja
Application granted granted Critical
Publication of JP2920387B2 publication Critical patent/JP2920387B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • 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/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding
    • 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/948Alteration of stored fonts to maintain feature consistency throughout scaled font

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はインテリジェント・スケーリング技術に係
り、特にデジタル書体の視覚的劣化を最小に抑えるため
のデータ処理方法およびデータ処理装置に関する。
〔従来の技術〕
コンピュータが一般的になり入手しやすくなるにつれ
て、利用できるプログラムの数も増加してきている。利
用できるコンピュータ・プログラムは多種多様であっ
て、広範囲な用途を含む。また、コンピュータの利用者
も、10年前のコンピュータ・プログラマから、ワードプ
ロセッシングおよび会計処理を含めた各種のタスクのた
めの業務まで広がってきている。
連続表現(人により書かれた書体のような)を離散的
なデジタル表現へ変換する際に、ある程度の劣化が生じ
ることは、連続アナログ形態をデジタル表現で表すこと
の性質から良く理解されている。コンピュータの当初の
使用者であって、コンピュータにより(典型的にはCRT
およびコンピュータ・プリンタ上に)発生されたデジタ
ル書体(タイプフェイス)を見て読むプログラマや技術
者は、キャラクタが何とか読める限りは、デジタル書体
がどのように見えるかということについては関心を持た
なかった。しかし、デジタル書体を見て読む人が変化し
たばかりでなく、デジタル書体の読みやすさと劣化につ
いての要求も変化してきた。
その結果、読みやすいデジタル書体を提供できること
が、印刷および植字の自動化のためばかりでなく、読み
やすい文字品質の書体を求めるワードプロセッサの利用
者にとって極めて重要になってきた。デジタル書体につ
いて更に詳しく知るためには、ビゲロウ(Bigelow)お
よびデイ(Day)著の「デジタル・タイポグラフィ(Dig
ital Typography)」(サイエンティフィック・アメリ
カン(Scientific American)1983年8月号106〜119
頁、および、カーロウ(Karow)著の「デジタル・フォ
ーマット・フォー・タイプフェイス(Digital Formats
for Typefaces)」(URW Verlarg 1987)を参照された
い。
典型的にはデジタル書体の構成は、書体を手作業で形
成し、それをデジタル化してからIKARUSのようなデジタ
ル書体・フォーマットへ入力する。キャラクタの輪郭を
定めるキャラクタの制御点は、デジタル・ディスプレイ
装置またはプリンタの解像度に対応する離散的な格子
(グリッド)位置に常に一致するわけではない点から、
諸問題が生じてくる。その結果、制御点は最も近い格子
点へと丸められ、異なるキャラクタの部分(たとえば、
大文字の「I」と「J」の垂直部分の幅)が元来は同じ
寸法を有していても、違った寸法となってしまう。かか
る方法では、変形したキャラクタ相互間における高さと
幅の関係からキャラクタを読んで認識することが容易で
なくなり、デジタル書体が視覚的に劣化してしまう。さ
らに、デジタル書体をある係数だけ全体的に大きくする
と、デジタル書体のおかしな所もその係数だけ増大する
から、一層の劣化が生じることになる。
キャラクタまたはキャラクタ部分の高さまたは厚さ
を、正確ではないが、ほぼ同じ高さまたは幅にすること
もある事実から、別の問題も生じる。デジタル書体の寸
法が小さくなるにつれて、高さまたは幅の差が小さくな
るために、歪みが増大する。たとえば、もし、キャラク
タの高さが全く同じであるとすると、各キャラクタの縮
小された高さも同じである。しかし、高さが小さい値だ
け異なり、ディスプレイ装置の解像度が低いとすると、
あるキャラクタの高さをある1つの画素まで丸め、別の
キャラクタの高さを別の画素まで丸めてしまうことが、
本来の高さの相違が0.25より小さかったとしても、生じ
得る。上記の例のような、小さな大きさ(低解像度)の
ケースにおいては、元来の対称性とプロポーションを維
持するために、キャラクタの高さを同じ画素まで丸める
ことが望ましい。したがって、従来技術では、デジタル
書体は、キャラクタの相互間で、およびキャラクタ部分
の相互刊で、元来の対称性とプロポーションを失い、視
覚的に劣化することになる。
これらの問題を解決するために、熟練した技術者によ
って、各キャラクタを検査して欠陥を手作業で訂正し、
技術者が読みやすくなると考えるようキャラクタ部分を
修正する。しかし、この手法は時間と費用がかかる。表
示のためにデジタル書体のスケーリングを行う場合に考
えるべき主な変数には次の2つがある。すなわち、
(1)フォントのサイズ:たとえば、9ポイント,10ポ
イントまたは12ポイント、(2)ディスプレイ装置ない
し出力装置の解像度。フォントそれぞれについて、可能
な(解像度とフォント・サイズの積に等しい)スケール
ごとに手作業を行わなければならない。また、その作業
の質は技術者の技能に依存する。手作業を支援するため
にコンピュータ支援プロセスが導入されている。たとえ
ば、キャラクタを表示し、熟練した技術者がディスプレ
イ装置上のキャラクタを見て修正するための手段を提供
する装置がある。しかし、調節過程、すなわち、何をど
れだけ調節するかということは、熟練した技術者によっ
て依然として行われる。米国特許第4,675,830号にはキ
ャラクタの相対的な大きさを維持しつつ拡大縮小(スケ
ーリング)される書体データを生じる方法が開示されて
いる。しかし、その方法は、書体を記述するデータの入
力ばかりでなく、格子点に整列させられる書体の主要点
と格子間距離のような制御情報も必要とする。この付加
情報は、書体の視覚検査に基づいて制御情報を生成する
という熟練した技術者によって手動により発生しなけれ
ばならない。
〔発明が解決しようとする課題〕
したがって、本発明の目的は、デジタル・タイプフェ
イス(書体)の視覚的な劣化を最少限に抑えることであ
る。
本発明の別の目的は、デジタル書体の可読性を高くす
る自動化した方法を得ることである。
本発明の別の目的は、書体のキャラクタの間で視覚的
な対称性とプロポーションを維持することである。
本発明の別の目的は、インテリジェント拡大縮少法を
得ることである。
本発明の別の目的は、書体のキャラクタを構成する視
覚的成分の分類を行う方法を得ることである。
本発明の更に別の目的は、優先度の高い視覚的成分が
格子点に整列させられ、優先度の低い成分の整列が優先
度の高い成分の整列に依存するような、書体の視覚的成
分の優先度を決定する方法を得ることである。
〔課題を解決するための手段〕
本発明の方法により、熟練した技術者の手動入力なし
にデジタル書体の視覚的劣化が最少限に抑えられる。
本発明は、デジタル・タイプフェイス(書体)の生成
に際して、特にスケール変更(画素数の変更)を伴う場
合に生じる視覚的な劣化を最少限に抑えるために、デジ
タル・コンピュータとともに最も有利に用いられる方法
と装置を提供するものである。本発明によれば、各キャ
ラクタを記述するためにフレームを用い、このフレーム
が、各キャラクタを構成する視覚的成分を分析および設
定する所定の規則のセットと、既に整列された視覚的成
分に関連しての格子点上での視覚的成分の整列における
優先度とに従って修正される。
デジタル書体フォーマットでキャラクタを形成するた
めに用いられる制御点を分析してキャラクタのフレーム
を決定する。フレームは、キャラクタの簡略化した態様
であり、キャラクタの保持すべき重要な視覚的特性また
は視覚的成分を有する。フレームの輪郭を定める座標の
優先度すなわち重要性を決定するために、フレームは水
平方向と垂直方向に分析される。マスタ座標と呼ばれる
重要な座標値が次に更に分析されて、対応するマスタ・
セグメントが決定される。これらのマスタ・セグメント
が更に分析されて、ストロークを形成するセグメント対
が決定される。ストロークは分類され、優先順位がつけ
られる。
キャラクタの分析から決定された視覚的成分を用い
て、フレームの座標の調整が、形成されているストロー
クが水平方向と垂直方向のいずれに向けられているかに
依存するある規則に従って行われる。この調整は最高優
先度の成分(最高優先度のストローク)から始まる。低
優先度ストローク,ストロークの一部でないマスタ座
標,マスタ座標として定められていないフレーム座標の
ような低優先度の成分が、次に、既に整列させられた成
分に依存するようにして、修正すなわち整列させられ
る。優先度と調整規則とのために、各キャラクタの重要
な視覚的成分が保存され、且つ、各キャラクタの視覚的
成分と書体の他のキャラクタとの関係が保存されて、書
体の視覚的劣化を最少にする。
〔実施例〕
《表記法などについて》 以下に行う本発明の詳しい説明は、コンピュータメモ
リ内のデータビットについてのオペレーションのアルゴ
リズムおよび記号的表現について主として行う。それら
のアルゴリズム記述および表現は、データ処理の専門家
が、仕事の成果を他の専門家へ最も効果的に伝えるため
に用いる手段である。
アルゴリズムのことをここでは、一般的に、希望の結
果へ導く自己矛盾のない一連の過程と理解されたい。そ
れらの過程は物理量の物理的取扱いを要するものであ
る。通常は、それらの量は、蓄積、移動、組合わせ、比
較、その他の操作を行うことができる電気信号または磁
気信号の形をとるが、必ずしもそれに限られない。時に
は、主として一般的な使用という理由から、それらの信
号をビット、値、エレメント、記号、キャラクタ、項、
数等と呼ぶことが便利なことが判明している。しかし、
それらの用語およびそれに類似の用語を適切な物理量に
組合わせるべきこと、およびそれらの用語はそれらの量
に付けられる単に便利なレッテルにすぎないことを記憶
しておくべきである。
更に、行われる操作は、加算または比較のようなもの
に関してしばしば言及される。加算または比較は人によ
り行われる精神的な活動に一般的に関連づけられる。本
発明の部分を構成するここで説明するオペレーションの
いずれにおいても、人がそれを行えることは不要であ
り、あるいはほとんどの場合に望ましくない。それらの
オペレーションは機械のオペレーションである。本発明
のオペレーションを行うために有用な機械は汎用デジタ
ルコンピュータまたは他の類似の装置を含む。全ての場
合において、コンピュータを運転する方法すなわちオペ
レーションと計算自体の方法の間の違いを憶えておくべ
きである。本発明は電気信号または他の(たとえば機械
的または化学的)物理的信号を処理して、他の希望の物
理的信号を発生するためにコンピュータを動作させる方
法過程に関するものである。
本発明はそれらのオペレーションを行う装置にも関す
るものである。この装置は求められている目的のために
とくに構成でき、あるいは、内蔵しているコンピュータ
プログラムにより選択的に起動または再構成されるもの
として汎用コンピュータを含むことができる。ここで示
すアルゴリズムは特定のコンピュータまたはその他の装
置には本来関連しない。とくに、本発明に従って書かれ
たプログラムに各種の汎用機を使用でき、または求めら
れている方法過程を行うために一層特殊化された装置を
一層便利に構成できることがわかる。それらの種々の機
械のために求められている構造は以下の説明から明らか
になるであろう。
以下に行う詳細な説明はいくつかの部分に分けられ
る。最初の部分では、デジタル書体の視覚的な劣化を最
少限に抑える方法を行う汎用装置の構成について説明す
る。次の部分では、書体における各キャラクタの重要な
視覚的成分を決定するための書体データの分析、およ
び、視覚的成分の調整の優先度、ならびに、水平方向と
垂直方向および斜め方向でのキャラクタの調整のような
本発明に直接関係する部分を扱う。
本発明を完全に理解できるようにするために、以下の
説明においては、アルゴリズム規約、キャラクタ定義規
約、ビットの特定の数等のような特定の事項の詳細につ
いて数多く述べてある。しかし、そのような特定の詳細
事項なしに本発明を実施できることが当業者には明らか
であろう。その他の場合には、本発明を不必要に詳しく
説明して本発明をあいまいにしないために、周知の回路
およびその構成については説明しない。
以下、図面を参照して本発明を実施例について詳しく
説明する。
《装置全体の構成》 第1図は、ディジタル書体の読み易さを高めるための
コンピュータを基礎とする本発明の典型的な装置を示
す。図示のコンピュータ1は3つの主な部分を有する。
第1の部分は入力/出力(I/O)回路2である。このI/O
回路情報を適切な態様でコンピュータ1の他の部分と通
信するために用いられる。コンピュータ1の他の部分
は、中央処理装置(CPU)3とメモリ4とである。CPU3
とメモリ4は殆どの汎用コンピュータに典型的に見られ
るものである。実際に、コンピュータ1に含まれている
幾つかの素子は、広範なデータ処理装置を表すことを意
図するものである。コンピュータ1の役割を満たすのに
適切なデータ処理装置の特定の例にはアメリカ合衆国カ
リフォルニア州マウンテン・ビュー(Mountain View)
所在のサン・マイクロシステムズ社(Sun Microsystem
s,Inc.)により製造されている装置が含まれる。同様な
性能を有する他のコンピュータも、下記の諸機能を実行
するために容易に適用できる。
第1図には入力装置5も示されている。その入力装置
1は典型的な実施例ではキー・ボードとして示されてい
る。しかし、入力装置は実際にはカード読取器、磁気テ
ープまたは紙テープ読取器、その他の周知の入力装置
(もちろん、他のコンピュータを含む)とすることがで
きる。大容量メモリ6がI/O回路2へ結合されて、コン
ピュータ1のための付加的ストレージを提供する。その
大容量メモリ6は他のプログラムを含むことができ、か
つ磁気テープ読取器、紙テープ読取器またはその他の周
知の装置の態様をとることができる。大容量メモリ6に
保持されているデータは、適切な場合には、メモリ4の
部分としてコンピュータ1に標準的なやり方で組み込む
ことができる。
また、表示モニタ7も示されている。その表示モニタ
7は、メッセージその他の通信をユーザへ表示するため
に用いられる。その表示モニタ7はCRTディスプレイ装
置のような他の周知の装置の何れかの態様をとることが
できる。表示モニタ7は、本発明の方法に従って修正さ
れたデジタル書体データから発生されたグラフィック映
像(すなわちデジタル書体)も表示できる。指令モード
を選択し、たとえば書体のサイズのような入力データを
編集するために用いられ、かつシステムへ情報を入力す
るために一層便利な手段を提供するものである。
《プロセスの概観》 デジタル書体の幾つかの大文字キャラクタおよび小文
字キャラクタが示されている第2a図を参照する。第2a図
には小文字「o」「f」と大文字「N」「G」が示され
ている。各キャラクタには、1組の点(たとえば点10,1
5,20,25)も示されている。それらの点はキャラクタの
制御点である。それらの制御点は、キャラクタを記述す
るのに使用するデジタル・フォーマットに依存する。こ
の例では、キャラクタは描かれており、制御点は、直線
セグメント,円錐アーク,ベジェ・アークを含む輪郭フ
ォーマットを反映している。直線セグメントは2つの制
御点により記述され、円錐アークは2つの制御点により
記述され、ベジェ・アークは4つの制御点により記述さ
れる。たとえば、第2a図において、制御点10,15,25は、
点15,25の間に円錐アークを描く。この場合には制御点1
0はアーク(弧)またはカーブの半径を示す。IKARUSフ
ォーマット,DIフォーマット,VCフォーマット,VSフォー
マットのような多種の他のフォーマットがある。それら
のフォーマットもデジタル書体を形成するために用いら
れる。しかし、本発明の説明においては、上記のフォー
マットを用いることにする。
《輪郭カラー規約》 ここではプロセスの記述の全体にわたって、キャラク
タを、1つの規約に従って表わし記述する。しかし、本
発明のプロセスは、特定の1つの規約の使用に限定され
るものではなく、他の規約にも適用できる。以下の規約
においては、キャラクタは1つまたは複数の輪郭で構成
される。各輪郭は「黒」と「白」との間の境界を定める
ものである。各輪郭は、始点とそれに続く一連のアーク
からなる。各アークは、カーブ・タイプと2以上の制御
点で定義される。輪郭の連続性のために、各アークの最
初の点は前のアークの最後の点であることが暗黙の内に
了解される。最後のアークの最後の点は、始点に一致し
なければならない。輪郭は、次のような座標系において
定義される。(1)キャラクタを通常の読取り位置で見
た場合に、X軸は、キャラクタの連続して並ぶ方向(た
とえばローマ字では右の方向、縦書きの漢字では下の方
向)を指し、(2)Y軸は、X軸から逆時計回りに90度
だけ回転し、(3)輪郭の向きは、囲まれている領域が
黒であれば時計回りであるとし、そうでなければ逆時計
回りであるとする。アークには、その端点を除いて変局
点または最端部がない。アークに、もし、端点に該当し
ない変局点または最端部があるとすると、当該アーク
は、その変局点または最端部において2つのアークにさ
らに分割でき、分割された2つのアークの端点に変局点
または最端部が位置するようにできる。
この規約のよりよい理解のために、文字「e」を示
す。第2b図を参照して、外側の輪郭は時計回りの向きで
あり、その外側の輪郭が黒の領域を囲んでいることを反
映している。内側の輪郭は、白の領域を囲み、したがっ
て逆時計回りの向きである。
カーブ・タイプの記述(直線セグメント,円錐アー
ク,ベジェアーク)は、キャラクタの調整プロセスにお
いて不変であり、制御点だけが変化する。調整されたキ
ャラクタは、調整をされた制御点によって制御を受け
る、同じカーブ・タイプの記述によって定められるもの
である。
以下の説明においては、解像度と、フォント・サイズ
と、ディスプレイのスケールについて参照する。ディス
プレイ装置の解像度は、コンピュータ・グラフィック表
示量として知られている画素で記述される。解像度はデ
ィスプレイ装置の水平方向と垂直方向の画素の総数(た
とえば1024画素×1024画素)として、または単に単位長
さ当たりの画素数として表すことができる。フォント・
サイズは、活字の分野で周知のポイントと呼ばれる単位
で表される。フォント・サイズが10ポイントであれば、
最も高いキャラクタ(たとえば「A」)の基準線から最
上部までの距離(アセンダ高さと称される)と、最も下
方へ延びているキャラクタ(たとえば「g」)の基準線
から最下部までの距離(ディセンダ高さと称される)と
の合計が10ポイントである。1ポイントは約0.35mm(7
2.3分の1インチ)に等しい。スケールは、解像度とフ
ォント・サイズの積に等しい。たとえば、もしフォント
・サイズが6ポイントで、解像度が1インチ当たり144
画素であるとすると、スケールは、 である。
次に第3図を参照して本発明のプロセスを簡単に説明
する。ブロック50において、書体の各キャラクタの制御
点より成る入力データが装置へ入力される。ブロック55
において、装置はこの情報を分析し、制御点入力からキ
ャラクタのフレームを決定する。ブロック60において、
書体の各キャラクタの重要な視覚的成分を決定し、書体
の視覚的劣化の最小化のためにそれらの成分を調整する
優先度すなわち重要度を決定するために、フレームを定
める座標がさらに分析される。ブロック65において、キ
ャラクタのフレームと、重要な視覚的成分の分析とを用
いて、書体のキャラクタが新規なインテリジェント・ス
ケーリング法を用いて調整され、希望のスケールに従っ
て調整されたフレームを生じる。このプロセスでは、書
体の重要な視覚的特徴、とくに、ストローク厚さの一貫
性、キャラクタの水平整列(すなわちキャラクタのY座
標整列)、キャラクタ内の白スペースのプロポーショ
ン、およびキャラクタの全幅が保存される。ブロック70
において、次に、各キャラクタの元の制御点が、調整さ
れたフレームに一致するように調整される。調整された
制御点を用いてカーブ・タイプの記述の制御を行い、書
体の視覚的劣化を最小限にしたキャラクタが発生され
る。
《書体のキャラクタの分析》 このプロセスの最初の過程は、各キャラクタのフレー
ムを決定することである。フレームを決定する目的は、
キャラクタを調整するために分析および修正できる一連
の個々の点へと各キャラクタを簡単にすることである。
フレームというのは多角形の集まりである。1つの多角
形がキャラクタの各輪郭に対応する。それらの多角形は
元のキャラクタより簡単であり、しかもキャラクタの基
本的な視覚的特性を保存している。フレームは、キャラ
クタの形に従う一連の線分(水平正接、垂直正接、直線
セグメント、変局点での正接、および、傾斜の不連続部
における正接の全てに対して存在する線分)を有する。
第4a図に示されているキャラクタを用いると、水平正接
71と、垂直正接72と、変局点の正接73と、キャラクタの
直線セグメント74と、傾斜の不連続部における正接75と
を連結することによりフレームが形成される。
第4b図に示すプロセスを用いてキャラクタのフレーム
を構成することが好ましい。ブロック76において、(フ
レームの向きに従って)キャラクタの制御点を並べられ
ている順序で連結することにより多角形が構成される。
次にブロック80において、各制御点に対して、保持する
特性(「r」)を有しているか、または保持しない特性
(「n」)を有しているかが割り当てられる。最初に、
アークの端点に対応する制御点が保持され、それ以外の
制御点が保持しない制御点として識別される。保持する
制御点は、フレーム点として後で識別される点である。
次に、キャラクタの基本的な視覚特性を維持するため
に必要でない制御点をなくすことにより、多角形は下位
の多角形に簡単化される。一連の多角形の辺〈r−n−
n−r〉(典型的にはベジェアークを表す)において
は、中央の辺がなくされる。すなわち、保持しない2つ
の制御点の間の辺がなくされ、挟んでいる2つの辺が互
いに交差するまで延ばされる。2つの辺の交点に生じる
新しい点は保持しない点すなわち「否保持点」と名付け
る。ブロック87においては、整列した一連の点におい
て、両端の点を除く全ての点がなくされる。一連の点に
保持する点が2つ以上含まれているとすると、すなわ
ち、それらの点の1つが変局点であるとすると、残りの
点、すなわち両端の点が保持する点すなわち「保持点」
と名付けられる。ブロック90においては、一連の点〈r
−n−n‥‥n−r〉に対して、〈n〉点が連続する部
分にある辺の全てが除去され、一連の点の端にあって、
点〈r−n〉により定まる辺と、点〈n−r〉により定
まる辺とは、交差するまで互いに相手方へ向って伸ばさ
れる。交差点は保持点と名づけられる。
上記のプロセスが終った後で残っている点はキャラク
タのフレームを形成するフレーム点である。第5図は制
御点により識別されている文字「e」を示す。第6図は
そのキャラクタのためのフレームを示す。図示の例にお
いては、第5図に示されている制御点のうちから、第6
図では2,3,13,14,15,21,22がフレーム点として残ったこ
とが示されている。第6図から次のことが理解できよ
う。キャラクタは多少簡略化されているが、たとえば縁
部が角形にされ、かつキャラクタが直線部分として描か
れているが、重要な視覚的特徴は維持されている。とく
に、キャラクタのある点について見た場合におけるキャ
ラクタの他の部分に対してのその点の相対的な厚さと、
キャラクタの高さと幅、およびキャラクタの種々の部分
の相対的な角度は、重要な視覚的特徴であり、保存され
ている。
フレームは、以後の分析動作と調整動作を行うために
キャラクタの簡略化した表現を提供する。フレームがひ
とたび調整されると、キャラクタの(フレームの形成時
に除去された)制御点の調整された値を、フレームの元
の値と制御点との間の既知の幾何学的関係から計算でき
る。
たとえば、第7図は、制御点が除去されているフレー
ムを形成するための上記のプロセス中の3つの状況を示
す。第7a図はベジェアークの多角形表現を示す。3セグ
メントのアークが点U−M−N−Vにより識別される。
制御点Uと制御点Vがアークの端点である。フレームを
形成するプロセス中に制御点MとNは除去され、制御点
U−MとV−Nにより表わされる線分がO点で互いに交
差するまでのぱされることにより、多角形を2つの線分
U−OとO−Vに簡単にする。一次変換を用いて、制御
点Mの調節された値を次式を用いて計算できる。
ここに、′はの調整された値、′はOの調整さ
れた値、′はの調整された値である。Nは次式を用
いて同様に調節される。
ここに、′はの調節された値、′はの調節さ
れた値、′はの調節された値である。
同様に、第7b図は一連の整列させられた制御点U−M
−Vを示す。フレームの形成中に制御点Mは除去され
た。Mの調整された値は次式に従って計算できる。
ここに、′はの調整された点、′はの調整さ
れた点、′はの調整された点である。
第7c図は一連の点〈r−n−n‥‥n−r〉を示す。
ここに、端点UとVの間の制御点M,N,P,Qは除去され、
その代りに1つの制御点Oが用いられている。その制御
点Oは線分U−MとV−Qを延長させることにより形成
されている。除去された制御点の調整された値を一次変
換を用いて計算できる。たとえば、制御点Mの調整され
た値を次式に従って計算できる。
ここに、MuとMvは制御点UとVに対する制御点の場所
を識別し、 V′x,V′yはそれぞれVの調節されたX座標値と調節
されたY座標値であり、 U′x,U′yはそれぞれUの調節されたX座標値と調節
されたY座標値であり, O′x,O′yはそれぞれOの調節されたX座標値と調節
されたY座標値である。
上の式におけるMの値を制御点座標値で置換すること
により制御点N,P,Qを同様に計算できる。
本発明の新規な調整法が次にフレーム点に適用されて
キャラクタを調整し、キャラクタの相対的な高さと幅お
よび利用者が知覚する視覚的関係が、与えられた任意の
スケールに対して維持されるようにする。
各フレームに対して分析が行われ、保存する重要な視
覚的特徴を決定することによりキャラクタを更に簡単に
すべく、フレームを、優先順位を付けられる複数の視覚
的成分に分解する。続いて、決定された視覚的成分が優
先順位に従って調整されて書体の視覚的な劣化を最少に
する。
次に、各キャラクタの重要な視覚的特徴を決定する方
法を第8図の流れ図で簡単に説明する。キャラクタのフ
レームが水平方向と垂直方向に別々に分析されて、次の
調整プロセスにおいて重要な視覚的成分と重要さの優先
順位とを決定する。
ブロック100において、Xマスタ座標を決定するため
にフレーム点がまず調べられる。フレーム点のX座標の
うち、キャラクタの視覚的呈示のために重要であるX座
標としてXマスタ座標が定められる。
Xマスタ座標が定められると、ブロック105におい
て、Xマスタ・セグメントが形成される。それらのセグ
メントは、Xマスタ座標を用いて垂直方向に形成され
る。ブロック110において、Xマスタ・セグメントを対
にすることによりXストロークが形成される。ブロック
115において、X主ストリートが決定される。これはX
座標に関するキャラクタの最も重要な視覚的要素を含
む。
Y座標が同様に分析される。ブロック120において、
Yマスタ座標が決定される。ブロック125において、Y
マスタ座標を用いてYマスタ・セグメントが形成され、
ブロック130においてYストロークが形成され、ブロッ
ク135においてはY主ストリートが決定される。この分
析が終ると、キャラクタの重要な視覚的成分(マスタ
点,マスタ部分,ストロークおよび主ストリート)が決
定される。成分の優先度は成分が決定された順序に対応
し、主ストリートは最高優先度を有し、スレイブ点、す
なわち、マスタ点でないフレーム点は最低優先度を有す
る。
《フレーム点のX座標の分析》 次に、重要な視覚的成分を決定するためのフレームの
分析について説明する。前記のように、Xマスタ座標が
最初に決定される。第9a図を参照して、ブロック300に
おいて、Xマスタ座標として、X最端点またはXローカ
ル最端点にあるフレーム点の各X座標が指定される。た
とえば、キャラクタ「F」においては、X最端部は、最
上の横線の右端と左端に存在し、Xローカル最端部は
(最上横線の)下側の横線の右端に存在する。下側の横
線は、最上横線ほどは右へはのびず、キャラクタのその
ローカル領域においては最も右へのびるから、下側横線
の右端はローカル最端部である。それらの最端部は、キ
ャラクタの限界すなわち縁部であって、重要な視覚的特
徴をなす。というのは、それがキャラクタまたはその一
部の高さまたは幅を記述するものだからである。
ブロック310において、あるフレーム点がフレームの
垂直線またはほぼ垂直な線の端点であれば、そのフレー
ム点のX座標も、Xマスタ座標として指定される。ほぼ
垂直な線というのは、垂直であると視覚的に知覚される
線である。ほぼ垂直な線は1対5から1対20の範囲とす
ることが好ましい。
Xマスタ座標でない座標をXスレイブ座標と名づけ
る。Xスレイブ座標はキャラクタの最低優先度の視覚的
成分である。
次に、ブロック315において、Xマスタ座標を用いて
Xマスタ・セグメントが形成される。Xマスタ・セグメ
ントは、各Xマスタ座標から始って形成され、上方と下
方へ垂直に延長する。セグメントの各端部は、X座標に
対応するフレーム点から延び、上方へ延びる場合にはマ
スタ座標点から離れて上方へ延長するフレームの辺か
ら、下方へ延びる場合にはマスタ座標点から離れて下方
へ延長するフレームの辺から、所定の水平距離だけ離れ
ている。この所定の水平距離は、書体の発生に用いられ
る最大の画素寸法の約半分である。実際には、書体のア
センダ高さとデセンダ高さの和により定められる単位の
最少画素数は約10である。したがって、所定の距離は、
アセンダ高さとデセンダ高さの和により定められる距離
の0.01〜0.02の範囲である。それらのセグメントはキャ
ラクタの重要な視覚的特徴の一層の簡単化を示す。
ブロック320において述べたように、Xマスタ・セグ
メントはある規則に従って対にされてストロークを形成
する。タイポグラフィーにおいては、ストロークは、ま
っすぐな軌跡または僅かに曲った軌跡に沿って動かされ
るペンまたはブラシにより発生される一種の形である。
本発明の装置においては、ストロークはキャラクタの主
たる視覚的要素を表し、それらの要素は調整において最
も重要なものである。Xストロークは、2つのXセグメ
ントがストロークとして視認するのに十分な距離だけ互
いに垂直方向に重なり合う場合に見出される。
セグメントの色特性を記述するためにセグメントの向
きが用いられ、その向きは使用する規約に対応する。キ
ャラクタの曲線の一部分を表すセグメントが、その曲線
の性質を引きつぐ。したがって、曲線の一部分を表すセ
グメントは、曲線のその一部分の「イン/アウト」色特
性を引きつぐ。先に述べた輪郭規約に従うと、Xセグメ
ントが正の向きすなわち上昇向きを有するとそのXセグ
メントは「イン」色特性を有し(Xストロークの左側の
境界となり得ることが示され)、Xセグメントが負の向
きすなわち下降向きを有するとそのXセグメントは「ア
ウト」色特性を有する(Xストロークの右側の境界とな
り得ることが示される)。また、Xマスタ・セグメント
は座標の昇順で調べられる、すなわち、低い座標値であ
る左から、高い座標値である右へと順に調べられる。し
たがって、最初に調べられたセグメントが「イン」色特
性を有し、次に調べられたセグメントが「アウト」色特
性を有するものとすると、2つの部分は対向し対をなし
ている。
《ストローク比》 2つのセグメントの組合わせが視認可能なストローク
を形成するには、「イン」色特性のセグメントと「アウ
ト」色特性のセグメントは、ある距離だけ互いに垂直方
向において重なり合っていなければならない。セグメン
ト相互が垂直方向で重なり合う距離と、セグメント相互
間の距離との比に従って、ストロークの存在を決定する
ことが好ましい。このストローク比が、1対1より高い
か或いは等しいとすると、それらの2つのセグメントは
ストロークであると考えられ、ストローク比が1対1よ
り低いと2つのセグメントはストロークを形成しない。
各セグメントのY最小座標値が対向するセグメントのY
最大座標値より小さいとすると、セグメントは互いに垂
直方向に重なり合う。重なり合いの量は、2つのセグメ
ントの最小のY最大値から最大のY最大値を引いたもの
に等しい。
Xマスタ・ストロークを形成するためにXマスタ・セ
グメントを対にする操作は、図示により最もよく説明で
きる。第10a図には、X座標X1〜X6に配置の6つのセグ
メントが示されている。どのXマスタ・セグメントがス
トロークを形成するかを決定するために、向き合う部分
を対にしようと試みてXマスタ・セグメントが左から右
へ調べられる。したがって、マスタ・セグメントX1は、
マスタ・セグメントX2に対して調べられる。座標X1にお
けるマスタ・セグメントは「イン」色特性を有し、座標
X2におけるマスタ・セグメントは「アウト」色特性を有
する。(第10a図において「イン」色特性・「アウト」
色特性は、セグメントの上下に付された斜線によって示
されている。)したがってそれらのセグメントX1,X2
向き合っている。セグメントは、互いに垂直方向におい
て重なり合っているかどうかを判定するために、更に調
べられる。座標X1のセグメント(X1セグメント)の最小
Y座標値Y3が、向き合っている座標X2のセグメント(X2
セグメント)の最大Y座標値Y6より小さく、かつ、X2
グメントの最小Y座標値Y3が、対向するX1セグメントの
最大Y座標値Y7より小さいから、これらのセグメントは
垂直方向に互いに重なり合う。垂直方向の重なり合いの
量は MIN(Y7,Y6)−MAX(Y3,Y3)=(Y6−Y3) ここに、MAXとMINは、値の最大と最小をそれぞれ決定す
る関数である。視覚的には、垂直方向の重なり合いの量
とセグメント間の距離の比が1対1より大きいことがわ
かる。したがってX1とX2におけるセグメントは、ストロ
ークを形成している。
X3セグメントとX4セグメントは、初に調べられる左側
のセグメント分が「アウト」色特性を有し、2番目に調
べられる右側のセグメントが「イン」色特性を有してお
り、対向するセグメントの要件を満たさないから、スト
ロークを形成しない。同様に、X4セグメントとX5セグメ
ントとは、色特性が不適切であり、したがって対向しな
いから、ストロークを形成しない。最後に分析されるX5
セグメントとX6セグメントは、それらの垂直方向での重
なり合いの量が非常に小さくてストローク比が1対1よ
り小さいから、ストロークを形成しない。
ブロック330(第9a図)において、X主ストリートが
構成される。X主ストリートは、水平方向で重ならな
い、強いXストロークを有する。各ストロークは、強い
ストロークまたは弱いストロークとして分類される。強
いストロークは、観察者に大きな視覚的なインパクトを
与え、かつ観察者がよりはっきりと認識できるから、強
いストロークであることを調整プロセスの前に評価し、
調整プロセスにおいて弱いストロークより高い優先度を
与えられる。ストローク比が1.5対1より高いか、それ
に等しければストロークが強いストロークであるとする
ことが好ましい。
ストロークは長さの順に評価され、2つのストローク
が水平方向に沿って存在していると、長い方のストロー
クがX主ストリート上にある。X主ストリートは、X座
標に関してのキャラクタの最も重要な視覚的要素を反映
する。したがって、主ストリート上のストロークが、書
体の視覚的劣化を最少限に抑えるために水平方向におい
て最初に調整される。第10a図に示されている例を参照
して、座標X1とX2におけるセグメントにより形成された
ストロークは、強いストロークであって、より長くて強
いストロークに水平方向において競合しないから、X主
ストリートの部分である。
《フレーム点のY座標の分析》 フレーム点のX座標の分析に類似するやり方で、フレ
ーム点のY座標が分析される。第9b図を参照して、ブロ
ック340においては、Yマスタ座標が、Y最端部または
Yローカル最端部であるフレーム点のY座標に指定され
る。ブロック345において、Yマスタ座標が、Y最端点
またはYローカル最端点にあるフレーム点のY座標に指
定される。ほぼ水平な線は5対1から20対1の範囲であ
ることが好ましい。
ブロック350において、Yマスタ・セグメントが、Y
マスタ座標から、そのフレーム点の左方または右方へ水
平方向に延ばすことにより、形成される。セグメントの
端点は、右方へ延びる場合にはマスタ座標から右向きに
延びるフレームの辺から、左方へ延びる場合にはYマス
タ座標から左向きに延びるフレームの辺から、所定の垂
直距離になるまで延びる。
ブロック355において、ストロークを視覚的に示すた
めに十分な距離だけ水平方向において相互に重なり合っ
ている2つの対向するYマスタ・セグメントから、Yス
トロークが形成される。Y座標の昇順で(すなわち下か
ら上へ)セグメントが調べられ、前記輪郭規約に従っ
て、Yセグメントの向きが左であればそのYセグメント
は「イン」色特性を有し、Yセグメントの向きが右であ
ればそのYセグメントは「アウト」色特性を有する。下
のセグメントが「イン」色特性を有し、上のセグメント
が「アウト」色特性を有するならば、2つのセグメント
は向き合っている。各セグメントのX最小座標値が、対
向するセグメントX最大座標値より小さければ、それら
のセグメントは水平方向において互いに重なり合う。重
なり合いの量は、2つのセグメントの最小のX最大値か
ら2つのセグメントの最大のX最小値を引いたものに等
しい。
第10b図はYストロークを形成するプロセスを示す。
5つのYマスタ・セグメントがY座標Y1〜Y5に設けられ
る。どのYマスタ・セグメントがストロークを形成する
かを決定するために、下のYマスタ・セグメントY1から
上のYマスタ・セグメントY5までセグメントが調べられ
る。座標Y1とY2におけるセグメントをまず調べて、それ
らのセグメントが対向する否かを判定する。座標Y1にお
ける最初のセグメントは「イン」色特性のセグメントで
あるが、座標Y2におけるセグメントも「イン」色特性の
セグメントであって、向き合うセグメントを形成するた
めに必要な「アウト」色特性のセグメントではない。し
たがって、座標Y2,Y3におけるYマスタ・セグメントの
対の可能性が調べられる。それらのセグメントは向き合
っている。その理由は、座標Y2におけるYマスタ・セグ
メントが「イン」色特性のセグメントであり、座標Y3
おけるYマスタ・セグメントが「アウト」色特性のセグ
メントだからである。セグメント相互が水平方向におい
て重なり合うかどうか、および水平方向に重なり合うも
のとするとその重なり合いの大きさを判定するために、
それらのセグメントを分析する。座標Y2におけるYマス
タ・セグメントのX最小であるX3が、座標Y3におけるY
マスタ・セグメントのX最大であるX7より小さく、座標
Y3におけるセグメントのX最小であるX1が、X最大であ
るX9より小さいから、それらのセグメントは水平方向に
重なり合う。水平方向の重なり合いは MIN(X9,X7)−MAX(X3,X1)=(X7−X3) に等しい。距離(X7−X3)は、セグメント(Y3−Y2)の
間のY距離よりは十分に大きいから、ストローク比は1
対1より高く、場所Y2とY3におけるYマスタ・セグメン
トはストロークを形成する。
次に、座標Y4とY5におけるYマスタ・セグメントが、
ストロークを形成するかどうかを判定するために調べら
れる。Y4のセグメントは「イン」色特性を有し、Y5のセ
グメントは「アウト」色特性を有するから、それらのセ
グメントはストロークを形成し、互いに水平方向に重な
り合う。重なり合いの量(X4−X2)は、セグメント相互
間の距離(Y5−Y4)より大きく、ストローク比は1対1
より高い。
第9b図のブロック360において、Yストロークが決定
された後で、どのストロークがY主ストリートを構成す
るかを判定するためにYストロークが調べられる。Y主
ストリートは、垂直方向に重なり合わない強いYストロ
ークを有する。各Yストロークは強いストロークまたは
弱いストロークとして分類され、強いストロークは見る
人により強い視覚的インパクトを与える。長さが長くな
る順にストロークは評価され、2つの強いストロークが
垂直方向に重なり合ったとすると、長い方のストローク
がY主ストリートの一部となる。Y主ストリートは、Y
座標に関する最も重要な視覚要素を反映するものであっ
て、最初に調整される要素である。第10b図に示されて
いる例を参照して、座標Y4のセグメントとY5のセグメン
トにより形成されたストロークは強いストロークである
が、座標Y4のセグメントとY6のセグメントにより形成さ
れた強いストロークに重なり合う。したがって、Y4セグ
メントとY5セグメントより形成されたストロークである
より長いストロークだけがY主ストリートの部分であ
る。
《書体調整法》 キャラクタを形成する視覚的成分と、その視覚的成分
の重要性の優先度とを決定するために、書体のキャラク
タがひとたび分析されると、書体の視覚的劣化を最少限
に抑えるために書体が調整される。フレーム座標は、キ
ャラクタの分析処理中に決定された視覚的成分の優先度
により指令されて重要度の順に調整され、水平調整法、
垂直調整法および斜め調整法と呼ばれる3つの調整法に
より調整される。水平調整法は各キャラクタを記述する
フレーム点のX座標を調整し、垂直調整法はフレーム点
のY座標を調整する。斜め調整法はキャラクタ内の斜め
ストロークを形成するフレーム点を調整する。
以下の説明から明らかなように、書体のキャラクタの
調整は、同じフレームセツトに対して上記の3つの調整
法が一緒に用いられた時に最適にされるが、それらの調
整方法は単独で、または他の調整法とともに実行でき、
書体のキャラクタの視覚的特性を依然として改善する。
《水平「X」調整/整列プロセス》 まず水平調整法について説明する。この水平調整法に
おいては、キャラクタの全幅と、キャラクタ内のストロ
ークの厚さと、書体の他のキャラクタのストローク厚さ
に対してのストロークの厚さとが、保持することが望ま
しい重要な視覚的特徴である。
調整中に、オフ格子座標(格子からずれている座標)
を、最も近い(画素位置である)格子に調整する必要が
しばしば起る。これは、座標値を最も近い格子位置へ丸
めるだけで行うことができる。この簡単な丸めにより発
散の問題と収束の問題が起る。2つの座標値が、どれだ
け距離が近くても、あるスケールに対して種々の格子位
置へ丸められる時に発散の問題が起る。2つの異なる座
標値が、与えられたスケールにおいて同じ格子位置に丸
められ、より小さいスケールに対して異なる格子位置に
丸められる時に矛盾した収束が起る。このことは視覚的
には望ましくない。その理由は、スケールが小さくなる
につれて視覚的な違いも小さくなるべきだからである。
《限定発散法》 それらの問題を避けるために、限られた発散法(限定
発散法)と呼ぶ新規な方法を用いてオフ格子座標値とオ
フ格子距離が調整される。限定発散法は、より高い優先
度値の調整がより低い優先度値の調整に影響を及ぼすよ
うに、優先度が低くなる順に値を調整する。
次に、第11a図と第11b図を参照して限定発散法につい
て説明する。ブロック500において、n個の要素のアレ
イが形成される。そのアレイは調整すべき値を含む。ア
レイ中の要素の数nは調整すべき値の数に等しい。それ
らの値は大きくなる値の順にアレイ中に構成される。ブ
ロック505において、第2のアレイPが形成される。そ
のアレイPはアレイVに対応し、P〔i〕がV〔i〕中
の値の優先順位を含むように、アレイVに格納されてい
る値の優先順位を含む。値の優先順位は、値のグループ
中で値が生ずる回数に依存する。かくして、値のグルー
プ中において、頻繁に生じる値ほど高い優先順位が割り
当てられる。ブロック515において、n個の要素を含む
第3のアレイBが形成される。最初に、第3のアレイB
中のビット値はゼロにセットする。値V〔i〕が一度調
整されると、対応するアレイ要素B〔i〕が1にセット
される。ブロック520において、n個の要素の第4のア
レイAが形成される。その第4のアレイAはアレイVに
対応し、調整された値を含む。
ブロック525において、第1のアレイVに対応し、か
つ、現在調整されている値の優先順位のすぐ下の優先順
位を有する値のインデックスを含む第5のアレイIが形
成される。最低の優先順位を有する値に対応するアレイ
I中の要素は−1に等しい値を含んで、それより低い優
先順位の値はないことを示す。
この方法が確実に行われるようにするために、最小の
値を最初に調整せねばならない。したがって、ブロック
530において、最小の値の優先順位が最高の優先順位に
セツトされる。ブロック535において、次の式に従って
最小の値が調整される。
A[0]=R(V[0]*S) ここに、Rは値を最も近い格子位置に単に丸める丸め
関数、Sは書体のスケールである。アレイV中の全ての
値のうちの最小の値である第1の要素が調整されたこと
を指示するためにB[0]が1にセツトされる。アレイ
IのためのインデックスkがI[0]にセツトされる。
I[0]は、優先順位が最小から2番目の値(V
[k])を指すインデックスを含む。
V[k]の調整された値が次に計算される。ブロック
545において、mがk−1に等しくセットされる。次
に、アレイ要素B[m]から始まる探索が開始され、そ
の探索は、アレイBのインデックスmを減少させること
により要素B[m]が1に等しくなるまで続けられる。
したがって、アレイ値V[m]は、V[k]より小さい
最大の調整された値である。ブロック550において、r
はk+1に等しくセツトされる。アレイ要素B[r]に
始まる探索が開始され、アレイBのインデックスを増大
することによりB=1またはr=nになるまで続けられ
る。もしr≠nである(すなわち、値B[r]=1が見
出された)とすると、V[r]は、V[k]より大きい
最小の調整された値である。もしr=nであれば、kよ
り大きいインデックス値を有するアレイBの全ての要素
が既に探索されており、V[k]より大きいアレイV内
の値はまだ調整されていない。
r=nであれば、値r[k]の調整された値は、 A[k]=A[m]+R((V[k]−V[m])*
S) である。ここに、Rは括弧内の値((V[k]−V
[m])*S)を、最も近い格子位置に丸める関数、S
はスケールである。r≠nであれば、B[r]=1であ
り、V[k]の調整された値は、 A[k]=A[m]+R((A[r]−A[m])*
(V[k]−V[m])/(V[r]−V[m])) に等しい。調整された値A[k]がブロック565におい
て計算されると、値が調整されたことを示す対応するビ
ツト値B[k]が1にセツトされ、ブロック570におい
て、kが値I[k]に等しくセツトされ、それが、最低
優先順位から2番目のV中の値のインデックスにインデ
ックスkをセットする。I[k]が−1に等しいとする
と、V中には優先度が低い値がないから、調整法は終
る。I[k]が−1に等しくないとすると、この調整法
はブロック545から始って再び続けられ、I[k]=1
になるまでブロック545からブロック575までのループ内
を進む。限定発散法が終る時点に、アレイAはアレイV
に格納されている値の調整された値を含む。
次に、第12図の流れ図を参照して水平調整について説
明する。水平調整法においては、Xストロークの厚さが
重要な視覚要素である。したがって、ブロック400にお
いて、書体中の全てのXストロークの厚さが全体的に調
整されて(書体中の全てのXストロークに対して調整さ
れて)、ストローク厚さの間の寸法の関係が維持される
ことによりストロークを調整するようにする。好ましく
は、ストロークの厚さは、書体のXストロークおよびY
ストロークの両者の厚さに対応して調整される。Xスト
ローク厚さを全体的に調整するためにローカル発散法が
用いられる。ストローク厚さは、その大きさの増大する
順序でアレイVへ入力され、書体中に各ストローク厚さ
が生じる頻度に従って優先度がセットされる。
Xストローク厚さが全体的に調整されると、最高優先
度の視覚成分(すなわち、X主ストリート)が調整され
る。X主ストリート上のストロークの厚さは調整されて
いるから、ブロック420において、X主ストリート・ス
トロークの間のX白スペースが調整される。その白スペ
ースは各キャラクタ内のX主ストリート・ストロークの
相対的な配置を決定する。
白の距離がキャラクタの全幅に関して局部的に調整さ
れる。X主ストリート・ストローク厚さの全体的な調整
を行うと、キャラクタの全体の幅が増加または減少する
ことがある。キャラクタの幅は重要な視覚的な特徴であ
るから、キャラクタの元の幅を維持することが望まし
い。キャラクタの幅には、ストロークの厚さとX白スペ
ースとが含まれる。したがって、キャラクタの元の幅を
維持するためには、ストローク厚さの調整により引き起
こされる全幅の歪みは、X白スペースの調整により吸収
されることになる。たとえば、ストローク厚さの調整に
より、キャラクタの全体の幅が広がったとすると、キャ
ラクタ幅の増大を補償するためにX白スペースの全体が
減少させられる。X白スペースは、白スペース。スケー
ル係数により最初にスケールされる。白スペース・スケ
ール係数は次式に従って計算される。
ここに「幅」は元のキャラクタ全幅、「ストローク」
はX主ストリート上の調整された全ストローク厚さ、
「白」は元の全白スペースである。
次に、スケールされたX白スペースは、各キャラクタ
内のX白スペースの寸法の対称性を保持するために、前
記限定発散法を用いて調整される。
ストロークの厚さが全体的に決定されても、キャラク
タ内のそれらのストロークの場所の調整が局部的に決定
される。ブロック415において、各キャラクタ内のスト
ロークの配置(すなわちストロークのフレーム点)が、
調整されたX白スペースに従って単に決定される。たと
えば、3つのX主ストリート・ストロークX1−X2,X3
X4,X5−X6で構成され、ストロークX1−X2,X3−X4がX
白スペースW1により分離され、ストロークX3−X4,X5
X6がX白スペースW2により分離されたとすると、ストロ
ークX1−X2の相対的な場所がキャラクタよりかなり左と
なり、ストロークX3−X4の相対的な場所がストロークX2
の調整された厚さと調整されたX白スペースW1との和に
等しくなる。同様に、ストロークX5−X6の相対的な場所
は、ストロークX1−X2の調整された厚さと、調整された
X白スペースW1と、ストロークX3−X4の調整された厚さ
と、調整されたX白スペースW2との和に等しい。
《相対的調整法》 X白スペースが計算され、X主ストリート・ストロー
クのフレーム点の調整が終ってから、第12図のブロック
425に示されるように、X主ストリート上にないストロ
ークを形成するフレーム点が調整される。弱いストロー
クと、それを主ストリート上にしなかった重なり合うス
トローク(非X主ストリート・ストローク)とが、最も
近い主ストリート側に整列させられ、他の側は計算され
てストロークの全体的に調整された厚さを与えられる。
ストロークは、以後「相対的調整法」と呼ぶ下記の方法
に従って調整される。第13a図を参照して、場所X0
X2,X4−X5,X9−X10がX主ストリート上のストローク
を識別し、場所X1−X3,X7−X8がそれをX主ストリート
上にしかなかったストロークを識別し、場所X6がXスト
ロークの形成に用いられなかった座標の場所を識別す
る。相対的調整法をたとえばストロークX7−X8を用いて
説明することにする。まず、ストロークX7−X8を形成す
る辺すなわちセグメントのうち何れの側が、X主ストリ
ート上のストロークの辺すなわちセグメントに最も近い
かが判定される。したがって、この例においては、場所
X7のセグメントと場所X5のセグメント相互間の距離と、
場所X8のセグメントと場所X9のセグメント相互間の距離
とが比較される。第13a図からわかるように、X8とX9
セグメント相互間の距離は、X5とX7のセグメント相互間
の距離よりはるかに短い。したがって、セグメントX8
最も近い主ストリート側に最も近い部分であり、主スト
リート・ストロークX9−X10の場所X9のセグメントに対
して調整される。X8のセグメントは次式を用いて調整さ
れる。
X8′=X9′−R((|X9−X8|)*S59) ここに、Rは値を最も近い格子点に丸める機能を表
し、X′9はX9の調整された値、S59は場所X5のセグメン
トと場所X9のセグメントの間のスケール係数である。ス
ケール係数は、調整された主ストリート・ストローク相
互間の距離を比例的に調整することにより、主ストリー
ト・ストロークと非主ストリート・ストロークの間の相
対的な距離と、マスタ座標と主ストリート・ストローク
の間の相対的な距離を維持するように機能する。したが
って、この調整の計算のためのスケール係数は、 に等しい。ここに、X5およびX′5は、調整すべきセグ
メントの一方の側で最も近いX主ストリート・ストロー
クの辺の場所の値およびそれの調整された値をそれぞれ
表し、X9およびX′9は、調整すべきセグメントの他方
の側で最も近いX主ストリート・ストロークの辺の場所
の値およびそれの調整された値をそれぞれ表し、Sは書
体のスケールである。
ストロークの最初のセグメントの座標(この例では
X8)が調整されると、ストロークの他のセグメントの座
標(この例ではX7)が、全体的に調整されたストローク
の厚さに従って単に調整される。したがって、この例に
おいては、X7は、X8の調整された値からストロークの調
整された値を差し引いたものに等しい。
再び第12図を参照して、ブロック430において、非X
主ストリート・ストロークが調整された後で、ストロー
クを形成しなかったマスタ・セグメントのマスタ座標
と、マスタ・セグメントを形成しなかったマスタ座標と
が調整される。各Xマスタ座標は、X主ストリート・ス
トロークの最も近いセグメントに整列させられ、距離が
最も近い格子位置に丸められる。マスタ座標に最も近い
X主ストリート・ストロークのセグメントがまず決定さ
れる。再び第13a図を参照して、マスタ座標X6は、主ス
トリート・ストロークX4−X5の場所X5のセグメントに最
も近い。したがって、X6の調整された値は、 X6′=X5′+R((X6−X5)S59) に等しい。ここに、X5′はX5の調整された値である。ス
ケール係数S59が再び用いられる。その理由は、X6が、
ストロークX4−X5とストロークX9−X10の場所X5のセグ
メントと場所X9のセグメントの間に配置されているから
である。
第12図のブロック435において、全てのマスタ座標が
調整された後で、スレイブ座標(すなわち、Xマスタ座
標でないフレーム座標)が調整される。スレイブ座標
は、フレームに関して隣接する2つのマスタ座標に対し
て比例的に調整される。たとえば、第13b図を参照し
て、スレイブ座標X1は、フレームに沿ってそれぞれ逆時
計回りおよび時計回りにそのスレイブ座標X1に最も近い
(すなわち隣接する)マスタ座標X0とX2に対して、調整
される。スレイブ座標X1の調整された値は に等しい。ここに、X′0,X′2はマスタ座標X0,X2の調
整された値である。
《垂直「Y」調整・整列プロセス》 垂直調整法は、フレーム点のY座標値を調整するため
にキャラクタのフレームに対して行われる。垂直調整法
においては、各キャラクタの上方の垂直最端部および下
方の垂直最端部(すなわち、キャラクタの上端部と下端
部)が、重要な視覚的特徴であると考えられる。したが
って、各キャラクタの高さと、書体中のキャラクタ間の
関係とを維持することが望ましい。一般に、キャラクタ
の上端部と下端部は、書体中の他のキャラクタの上端部
と下端部に視覚的に整列させられていることが見出され
ている。たとえば、ほとんどの大文字キャラクタの上端
部が同じ領域に配置される。同様に、ほとんどの小文字
キャラクタの上端部が同じ領域内に配置される。また、
多くの場合に、キャラクタのローカル最端部も、書体中
の他のキャラクタのローカル最端部に整列する。これが
第14a,14b図に示されている。小文字「b」の円形部分6
00の上端は、キャラクタのその部分(円形部分600)に
おけるローカル最端部である。キャラクタ「b」の上端
は長い垂直部分605の1番上である。また、キャラクタ
「b」の上述したローカル最端部は、小文字キャラクタ
「o」615の上方の垂直最端部におおよそ垂直方向で整
列させられていることもわかる。
本発明の垂直調整法は、書体におけるキャラクタの垂
直整列に関しての上記の観察を利用するものである。キ
ャラクタの上方の垂直最端部と下方の垂直最端部とは別
々に評価される。したがって、すべての調整は、「類
似」のデータについて実行される。たとえば、キャラク
タ上端のセグメントは、書体中の他のキャラクタの上方
の垂直最端部に対してのみ調整され、キャラクタの下端
のセグメントは、書体中の他のキャラクタの下方の垂直
最端部に対してのみ調整される。可能であれば、Yセグ
メントは下記のY整列法を用いて調整される。Y整列法
は、書体のキャラクタの最端部により定められるY領域
に、セグメントを整列させる 次に第15図を参照して、ブロック650において、書体
のキャラクタが調べられ、書体中の全てのキャラクタの
上方の垂直最端部が含まれるY座標領域すなわち上部
「クラスタ」を決定する。キャラクタの上方の垂直最端
部のY座標値を調べ、Y座標値の相互間の距離を計算す
ることにより、上部クラスタを決定できる。クラスタと
いうのは、1組の連続するY座標値であって、連続する
2つのY座標値が所定の距離以上は離れていないよう
な、連続するY座標値のセットである。したがって、も
し、上方の垂直最端部のY座標値が、他の任意の上方の
垂直最端部から所定距離以上離れているとすると、1つ
の上方の垂直最端部を含んでいるクラスタがそのY座標
値において形成される。クラスタを示す所定距離は、あ
る領域内(たとえば、大文字キャラクタの上方の垂直最
端部に対応する)の大多数の上方の垂直最端部が単一の
クラスタに属するようにするために、十分に大きくなけ
ればならない。その所定の距離は、書体のアセンダ高さ
とデセンダ高さの和の0.005〜0.01の範囲内の値の範囲
とすることが好ましい。キャラクタの上方の垂直最端部
を表すぼとんどの座標は、少い量のクラスタ内に含まれ
る。
ブロック652において、いくつかの上部クラスタが重
要な上部クラスタとして識別される。次にそれらの重要
な上部クラスタは、キャラクタの垂直座標を調整するた
めの基準点として利用される。上部クラスタは、次の
(1)または(2)の場合に重要な上部クラスタであ
る。(1)当該上部クラスタが、全てのクラスタの上方
の最端部の上部クラスタであるか、(2)当該上部クラ
スタを構成する上方の最端部の数が、(キャラクタの上
端を識別し且つ最大または最も重要な上部クラスタ中に
見られる上方の最端部の数の所定の最小100分率部分を
含む)上方の最端部の総数の所定の百分率より高いか、
等しいものとすると、重要な上部クラスタである。重要
なクラスタは、上方の最端部の総数の10〜20%、およ
び、最大の上部クラスタ中の上方の最端部の少くとも20
〜30%を含むことが好ましい。
ブロック655と657において、書体の下方の垂直最端部
を調べて下部クラスタおよび重要な下部クラスタを決定
する。それらのクラスタは、上部クラスタの決定に用い
たのと同じ方法を用いて決定される。下部クラスタは、
所定の距離以上離れている連続する2つの連続したY座
標値が存在しないような、下方の垂直最端部の連続する
Y座標のセットである。2つの下方最端部が同じクラス
タに属するかどうかを判定するために用いられる所定の
距離は、アセンダ高さとデセンダ高さの和の0.005〜0.0
1の範囲内の値とすることが好ましい。クラスタを形成
するための上記のガイドラインに従って、キャラクタの
下方の最端部に対応するほとんどのY座標値は、少数の
クラスタ内に含まれる。
ブロック657において、重要な下部クラスタが決定さ
れる。下部クラスタは、次の(1)または(2)の場合
に重要な下部クラスタである。(1)下部クラスタが全
てのクラスタの最端部の下部クラスタであるか、(2)
当該クラスタを含む下方の最端部の数が、下方の最端部
の総数の所定の百分率より高いか、それに等しく、か
つ、当該クラスタが、最大の下部クラスタないし最も重
要な下部クラスタ中に見られる下方の最端部の数の所定
の最小百分率を含んでいるならば、重要な下部クラスタ
である。重要なクラスタは、下方の最端部の総数の10〜
20%、および、最大の下部クラスタ中の下方の最端部の
数の少くとも20〜30%を含むことが好ましい。
重要な上部クラスタと重要な下部クラスタが形成され
ると、マスタ・セグメントのY座標をY整列調整法を用
いて調整できるかどうかを判定するために、Yマスタ・
セグメントを分析できる。Y整列法を用いてYマスタ・
セグメントを調整するために、そのセグメントは、
(1)黒い凸(中高)で、同じ種類の重要なクラスタ内
になければならず、または、(2)キャラクタの上方の
最端部セグメントまたは下方の最端部セグメントでなけ
ればならない。
セグメントは次の場合に黒い凸(中高)である。すな
わち、セグメントが上方の最端部または上方のローカル
最端部であって「アウト」色特性方向を有する場合、ま
たは、セグメントが下方の最端部またはローカル最端部
であって「イン」色特性を有する場合には、黒い凸(中
高)である。黒い凸である部分の例がキャラクタ「O」
の上方の最端部である。黒い凸の部分の整列は、保持す
ることが望ましいキャラクタの独特の視覚的特徴であ
る。
黒い凸部分は同じ種類のクラスタ内にもなけれぱなら
ない。したがって、下方のセグメントは重要な下部クラ
スタ内になければならず、上方のセグメントは重要な上
部クラスタ内になければならない。あるセグメントが
「アウト」色特性を有するならば、そのセグメントは、
上方のセグメントである。同様に、「イン」色特性を有
するセグメントは、下方のセグメントである。
書体中のキャラクタの間の水平配列における(たとえ
ばのキャラクタ高さの)視覚的な差を表示装置の利用可
能な解像度を用いて正確に表現できる場合に、その視覚
的な差異を保持するため、および解像度が低くなった時
にその視覚的な差異をなくすために、Y整列調整法によ
ってY座標の相対的な調整を行う。この方法は、同じ種
類のほとんどの最端部とほとんどのローカル最端部と
が、同じ領域内に垂直位置において整列すると言う事実
を考慮に入れる。
次に第16図を参照してY整列法について説明する。ブ
ロック700において、セグメントが内部に含まれている
クラスタの重要なY座標値YIMPTが決定される。YIMPT
は、クラスタが上部クラスタであれば上方の最端部の座
標値に等しく、クラスタが下部クラスタであれば下方の
最端部の座標値に等しい。ブロック705において、YIMPT
は最も近い格子位置へ丸められてYIMPT′を生ずる。ブ
ロック710において、重要なクラスタ内のセグメントとY
IMPTの間の距離「d」が決定される。ブロック715にお
いて、その距離dを調整するために限定発散法が用いら
れる。Y整列をさせるべきセグメントと対応するYIMP
T′値の間の全ての距離「d」の値が限定発散法に入力
されて、Yセグメントの間の視覚的関係が調整後も維持
されるようにする。ブロック720においてはセグメント
の調整されたY座標値が計算される。セグメントが上側
セグメントであれば、調整されたY座標値はYIMPT′−
d′に等しい。セグメントが下側セグメントであれば、
調整されたY座標値はYIMPT′+d′に等しい。
次に、垂直調整法を説明するために第18図と、第17図
の流れ図を参照する。クラスタY0−Y1とY3−Y5は重要な
下部クラスタであり、クラスタY8−Y9,Y12−Y14とY17
−Y18は重要な上部クラスタである。説明のために、各
ストロークの上側セグメントが「アウト」色特性を有
し、各ストロークの下側セグメントが「イン」色特性を
有するものと仮定する。ストロークY2−Y4,Y6−Y7,Y
11−Y13,Y15−Y16は黒い凸であるセグメントを含み、
ストロークY2−Y4,Y6−Y7,Y11−Y13,Y15−Y16はY主
ストリート上のストロークである。
ブロック665において、Yストロークの厚さが限定発
散法を用いて全体的に調整される。好ましくは、Yスト
ロークは、書体のXとYストロークに対して全体的に調
整される。ブロック667において、Y整列法を用いて調
整すべきセグメントと、セグメントが含まれているクラ
スタのYIMPT′との距離である「d」の値が、限定発散
法を用いて全体的に調整される。上方と下方の最端部
は、各キャラクタの重要な視覚的要素であるから、ブロ
ック669において、キャラクタの上方の最端部および下
方の最端部がY整列法を用いて調整される。Yセグメン
トがストロークの一方のセグメントであるとすると、ス
トロークの他方のセグメントは、ストロークの調整され
た厚さに従って調整される。たとえば、第18図を参照し
て、下方の最端部のセグメントY2が、クラスタY0−Y1
対してY整列法を用いて調整される。ストロークの他の
セグメントY4が、ストロークの調整された厚さに従って
調整される。同様に、ストロークY15−Y16の上方の最端
部のセグメントY16がY整列法を用いてクラスタY17−Y
18に対して調整される、セグメントY15がストロークの
調整された厚さに従って調整される。上方の最端部と下
方の最端部のY座標が調整されると、Y主ストリートが
調整される。
ブロック670において、黒い凸であって同じ種類の重
要なクラスタ内に含まれる、Y主ストリートストローク
のセグメントが、Y整列法を用いて調整される。
ブロック675において、ストロークの一方のセグメン
トがY整列法により調整されたとすると、そのストロー
クを形成する他方のセグメントが、ストロークの調整さ
れた厚さに従って調整される。したがって、調整された
辺が、ストロークの他の辺の下であるとすると、ストロ
ークの調整された厚さを、Y整列させられたストローク
の調整されたY座標値へ加えることにより、ストローク
の他の辺が調整される。同様に、調整された辺がストロ
ークの他の辺の上方であるとすると、整列させられたス
トロークの調整された座標値からストロークの調整され
た厚さを差し引くことによりそのストロークが調整され
る。
第18図に示す例においては、Y主ストリート・ストロ
ークY11−Y13のセグメントY13が黒い凸であり、かつ同
じ種類の重要なクラスタY12−Y14の中に含まれる。した
がって、セグメントY13のYフレーム座標がY整列調整
法を用いて調整される。ストロークY11−Y13を形成する
他のセグメントY11が、ストロークの調整された厚さに
従って調整される。
残りのY主ストリート・ストロークが、Y白スペース
を用いて調整される。したがって、Y白スペースは調整
をする必要がある。ブロック680において、調整された
Y主ストリート・ストロークと調整されないY主ストリ
ート・ストロークの間のそれらの白スペースが調整され
る。次式 (ここに、Ydistは元来のキャラクタの下端から上端ま
での全Y距離であり、Stroke′は調整されたストローク
の全厚さであり、whiteは元の全Y白スペースであ
る。) に等しい白スケール係数を、Y白スペースに乗ずること
によって、白スペースがまずスケールされる。
次に、スケールされたY白スペースは、先に述べた限
定発散法を用いて局部的に調整される。しかし、ストロ
ークを調整するためには、Y白スペースだけを用いてス
ケールすることが必要である。もしN個のストロークが
2つの固定した位置間に存在すれば、N+1個の白スペ
ースがストロークの辺を囲み、ストロークを位置づける
ためにN白スペースだけが必要である。最大のY白スペ
ース以外の全てのY白スペースを調整することが好まし
い。その理由は、最大のYスペースは、寸法が変化した
場合に視覚的に最も目立たないからである。そうする
と、設定省略時(default)においては、最大のY白ス
ペースは、全Y距離と、調整されたストローク厚さおよ
びY白スペースの和との差に等しい。
ブロック685において、Y整列により調整できなかっ
たY主ストリート上のストロークが、先に述べた相対的
な調整法を用いて、調整されたストロークおよびY白ス
ペースに対して調整される。したがって、第18図に示す
例においては、Y主ストリート・ストロークY6−Y7が調
整される。まず、ストロークを形成するY6またはY7のセ
グメントが、調整された主ストリート・ストロークに最
も近いと判定される。この例においては、Y11とY7の間
の距離がY6とY4の間の距離と比較される。Y6とY4の間の
距離はY7とY11の間の距離より短いから、ストロークの
辺Y6が、次の式を用いてストロークの辺Y4に対して整列
させられる。
Y6′=Y4′+R((Y6−Y4)*S411) ここに、Y′4はセグメントの値Y4の調整された値で
あり、S411は主ストリート・セグメントY4とY11相互間
のスケールである。ストロークY7の他の辺は、ストロー
クの調整された厚さをY6の調整された値に加えることに
より調整される。
Y主ストリート上の全てのストロークが調整される
と、Y主ストリート上にできなかったなストローク・セ
グメントが調整される。再び第17b図を参照して、ブロ
ック690において、Y主ストリートの上になく、かつ黒
い凸であって、同じ種類の重要なクラスタの中にあるス
トロークのセグメントが、Y整列調整法を用いて調整さ
れる。同様に、ブロック691において、ストロークの他
の辺を形成するセグメントが、各ストロークの調整され
た厚さに従って調整される。
ブロック693において、残っている非Y主ストリート
・ストロークが、相対的な調整法を用いて、調整されて
いるY主ストリート・ストロークに対して調整される。
ブロック695において、全てのストロークが調整され
ると、ストロークを形成しなかったYマスタ・セグメン
トのYマスタ座標が調整される。Yマスタ・セグメント
が黒い凸で、同じ種類の重要なクラスタの中にあるとす
ると、Y整列調整法を用いてそのセグメントが調整され
る。他の場合には、そのセグメントのYマスタ座標が、
相対的な調整法を用いて、調整されているY主ストリー
ト・ストロークに対して調整される。たとえば、第18図
のマスタ座標Y10は、最も近いY主ストリートの辺であ
るY11に対して、次式を用いて調整される。
Y10′=Y11′−R((Y11−Y10)*S711) ここに、Y11′は、Y11の調整された値、Rは値を最も
近い格子位置に対して丸める丸め関数、S711は、Y11
最も近い2つのセグメントであるY主ストリート・スト
ロークの辺Y7とY11の間のスケールである。
ブロック697において、残っている任意のYマスタ座
標が、調整されているY主ストリート・ストロークに対
して、相対的な調整法を用いて調整される。
ブロック699において、Yスレイブ座標が調整され
る。フレームに関してスレイブ座標に隣接する2つのマ
スタ座標に対してそのYスレイブ座標が調整される。ス
レイブ座標は、第13b図を参照して説明した方法を用い
て、Xスレイブ座標と同様にして調整される。
《斜め調整法》 水平方向と垂直方向におけるフレーム座標の調整につ
いて説明してきた。しかし、垂直方向または水平方向に
は向いていない重要な視覚的特徴もある。キャラクタの
劣化を最少限に抑えるために、それらの特徴も保持せね
ばならない。たとえば、文字「N」または「W」中の斜
めストロークのような斜めストロークの相対的な厚さを
維持することが望ましい。それらの重要な視覚的特徴を
確実に保持するために、斜めストロークを形成するキャ
ラクタのフレーム座標も調整される。
次に第19図を参照して、ブロック750において、斜め
線すなわち対角線に勾配に従って順位がつけられる。斜
め線というのは、水平線またはほとんど水平な線、ある
いは垂直線またはほとんど垂直な線以外の任意の線を指
す。ブロック755において、比較的接近した角度を持つ
斜め線の群を形成する。その群の範囲の大きさは、多数
の斜めセグメント分を含むほど大きすぎてはならない
が、平行なセグメントだけを含むほど小さくてはならな
い。斜め線は10〜20度の範囲で群にまとめることが好ま
しい。最も好重しくは、斜め線は10度の範囲で一緒にま
とめる。
ブロック760において、斜め線を、垂直線として現わ
れるように回転させる。線を回転させるためには、各群
中の角度の平均が求められ、群中の各斜め線は、群の平
均角度の補角分だけ回転させられる。斜めセグメントを
回転させると垂直またはほとんど垂直のセグメントとな
る。それらのセグメントから斜めストロークを簡単に決
定できる。
ブロック775において、回転させられた斜めセグメン
トが斜めストロークを形成するかどうかを判定するため
に、それらの回転させられた斜めセグメントを分析す
る。それらの斜めストロークを形成するための諸要件
は、上述したXストローク形成のための諸要件と同じで
ある。したがって、「イン」色特性を有する第1のセグ
メントと、「アウト」色特性を有し、第1のセグメント
に向き合う第2のセグメントとからなる2つの向き合う
セグメントが、ストロークを視認するために十分な距離
だけ垂直方向において重なり合う場合に、斜めストロー
クが見出される。
斜めストロークが決定されると、ブロック780におい
て、斜めストロークの厚さを調整する。これは、ここで
「強調調整」と呼ぶ方法を用いて行われる。この強調調
整法においては、斜めストロークの厚さを、Xストロー
クの厚さおよびYストロークの厚さと比較して、斜めス
トロークの厚さに近いか等しい、垂直ストローク厚さま
たは水平ストローク厚さを見付け出す。垂直ストローク
厚さまたは水平ストローク厚さが、斜めストローク厚さ
に等しければ、斜めストロークの調整された厚さは、垂
直ストローク厚さまたは水平ストローク厚さの調整され
た厚さに等しいとされる。斜めストロークの厚さが、垂
直ストローク厚さまたは水平ストローク厚さに等しくな
ければ、最も近い2つの厚さ値、すなわち、斜めストロ
ークの厚さ値より大きい最も近い厚さ値と、斜めストロ
ーク厚さより小さい最も近い厚さ値とを用いて、次式に
従って斜めストロークの調整された厚さ値を計算する。
ここに、TDは斜めストロークの厚さ、TLはTDより薄い
最も近いストローク厚さ、TRはTDより厚い最も近いスト
ローク厚さ、TD′,TL′,TR′はそれぞれTD,TL,TRの調整
された厚さである。
ストローク調整量の半分すなわち(TD′−TD)/2だけ
斜めストロークの各セグメントを移動させることにより
フレーム点が調整される。しかし、セグメントを(TD′
−TD)/2だけ単に移動しただけでは斜めストロークを変
えることはできない。調整された隣接するストロークの
厚さが維持されるようにして斜めストロークの端点を調
整せねばならない。これが第20図に示されている。説明
のために、文字NをXストローク810,812と、斜めスト
ローク814の3つのストロークに分けることにする。強
調調整法を用いて、斜めストローク814の厚さを量Wた
け増す。したがって、各セグメント816,818がW/2たけ82
0,822として示されている場所へ移動させられる。Xス
トローク810の厚さを維持するために、フレーム点824が
点826へ調整され、フレーム点830が点832へ調整され
る。同様に、Xストローク812の厚さを保持するため
に、フレーム点834と838が点836,840へそれぞれ調整さ
れる。
各フレーム点は個々に調整される。実行されるフレー
ム点調整の種類は4つのケースに分けることができる。
ケース1は、調整すべきセグメントが先行し、その後に
調整しないセグメントが続くようなフレーム点の調整で
ある。いいかえると、フレーム点が、調整すべき第1の
部分を調整しない第2の部分へ連結するケースである。
ケース2は、調整すべきでないセグメントが先行し、そ
の後に調整すべきセグメントが続くような点の調整であ
る。ケース3は、異なる量だけ調整するセグメント相互
間の点の調整である。ケース4は、同じ量だけ調整する
セグメント相互間の点の調整である。
第1のケースの様子が第21a図に示されている。線850
が、調整すべき斜めストロークのセグメントを表わす。
線セグメント855は、調整しない隣接するセグメントで
ある。調整を要するフレーム点が860で示されている。
この例では、斜めストロークを調整するために線850は
距離dだけ動かす。したがって、フレーム点860をセグ
メント855に沿って点870まで動かさねばならない。フレ
ーム点860を点870へ調整することにより、線セグメント
855により形成されるストロークの厚さと向きは保持さ
れている。
調整された制御点870は次の方法で決定される。フレ
ーム点から角度α1とα2を決定できる。既知の角度α
1,α2と距離dを用いて、三角関数により新しい点870
を計算できる。フレーム点860と、新しいフレーム点870
と、点880により形成された三角形の斜辺875の長さは、
次式から計算できる。
斜辺875の長さΔHが計算されると、調整された座標8
70を決定するためにフレーム点860に加えねぱならない
ΔXとΔYが次式から計算される。
ΔX=ΔH*cos(α2) ΔY=ΔH*sin(α2) 第21b図に示されているケース2は、調整しないセグ
メントが先行し、その後に調整すべきセグメントが続く
点の調整である。セグメント900は距離dだけ調整すべ
き斜めセグメントを示す。隣接するセグメント905は調
整しない。この例でも、フレーム点から角度α1とα2
を知る。この情報を用いて三角形の斜辺の長さΔHを次
式から計算できる。
調整された点915を得るために座標点910へ加えらるΔ
X,ΔYは次式から計算される。
ΔX=−ΔH*cos(α1) ΔY=−ΔH*sin(α1) 第21c図は、異なる量だけ調整すべき2つのセグメン
トの間にはさまれた点の調整を行うケース3を示す。セ
グメント935と940を距離d0とd1だけそれぞれ調整するた
めに、フレーム点925を点930へ調整する。調整された座
標930を計算するために、2組の計算が行われる。理論
的に調整される点945を決定するためにΔX1とΔY1がま
ず計算される。この場合に、フレーム点925はケース1
のセグメントである、すなわち、距離d1だけ調整すべき
セグメント940により先行され、調整すべきでないセグ
メント部分935が後続する。理論的に調整される第2の
点950を決定するためにΔX2とΔY2が計算される。この
場合にフレーム点925はケース2の計算である。すなわ
ち、そのフレーム点は調整すべきでないセグメント940
により先行され、距離d0だけ調整すべきセグメント935
により後続される。点925,950,945,930は平行四辺形を
構成するから、調整される点930の座標は次式で計算さ
れる。
X′=X+ΔX1+ΔX2 Y′=Y+ΔY1+ΔY2 ケース4は、同じ量だけ調整する2つの線で挾まれた
点の調整である。第21d図を参照して、制御点970は、線
975により先行され、線980により後続される。それらの
線975,980は距離dだけ移動させられる。したがって、
調整された点985になるためには制御点970を量ΔX,ΔY
だけ調整せねばならない。これは次式を用いて行われ
る。
ここに、TDは斜めストロークの厚さ、TD′斜めストロ
ークの調整された厚さであり、α1とα2はキャラクタ
のフレームから計算される。
ΔYは次式によって同様に計算される。
この斜め調整が終ると、各キャラクタを表わすフレー
ム点が調整され、各キャラクタのための制御点が、先に
述べた一次変換を用いて、調整されたフレーム点に従っ
て調整される。
以上、好適な実施例に関して本発明を説明した。以上
の説明から、その実施例を種々変更し、かつ種々の用途
に用いることができることが当業者には明らかであろ
う。たとえば、水平調整法と、垂直調整法と、斜め調整
法を独立に、互いに関連して、または他の調整法ととも
に用いることができる。同様に、キャラクタを分析し、
重要な視覚的成分を決定する方法を、ここでは説明しな
かった他の調整方法とともに使用できる。また、スケー
ルの入力を要しない手法を、スケールの入力を要する他
の方法とは独立に行うことができる。たとえば、重要な
視覚的成分を決定するために書体のキャラクタを分析す
る方法を、任意の書体に対して実行される別の方法とす
ることができる。発生された出力データは中間データの
フォーマットで格納でき、書体を発生するために必要な
時には常に検索できる。この分析法の出力を水平調整
法、垂直調整法および斜め調整法とともに用いて、与え
られたスケールに対して調整された書体を発生できる。
書体を別のスケールへ調整するものとすれば、分析法か
らの同じ出力を検索し、水平、垂直および斜めの各調整
法とともに再び用いて、そのスケールに対する調整され
た書体を発生できる。
【図面の簡単な説明】
第1図は、本発明を含むコンピュータの略図、 第2a図は、キャラクタをデジタル的に記述するために用
いられる制御点を示す図、 第2b図は、本発明の説明に用いられる輪郭規約を示す略
図、 第3図は、本発明の方法を全体的に示す流れ図、 第4a図は、キャラクタおよび対応するフレームの略図、 第4b図は、キャラクタのフレームを決定する方法を示す
流れ図、 第5図は、文字とそれの制御点を示す略図、 第6図は、第5図に示されている文字から形成されたフ
レームを示す図、 第7a図、第7b図、第7c図は、制御点とフレーム点の間の
幾何学的関係を示す図、 第8図、は本発明の分析法を簡単に示す流れ図、 第9a図は、最高優先度の視覚的成分であるX主ストリー
トまでのX座標に関する視覚成分を決定する方法の流れ
図、 第9b図は、最高優先度の視覚的成分であるY主ストリー
トまでのY座標に関する視覚成分を決定する方法の流れ
図、 第10a図は、Xマスタ・セグメントとXストロークを示
す略図、 第10b図は、Yマスタ・セグメントとYストロークを示
す略図、 第11a図と第11b図は、本発明の限定発散法を説明する流
れ図、 第12図は、本発明の水平調整法を説明する流れ図、 第13a図は、本発明の相対的な調整法を示す略図、 第13b図は、スレイブ座標を調整する方法を示す略図、 第14図は、局部的な最端部を示す略図、 第15図は、Y座標のY整列調整法に関レてクラスタを決
定する方法を示す流れ図 第16図は、本発明のY調整法を説明する流れ図、 第17a図および第17b図は、本発明の重直調整法を示す流
れ図、 第18図は、本発明の重直調整法を説明するために用いら
れるクラスタとストロークの配置を示す図、 第19図は、本発明の斜め調整法を説明する流れ図、 第20図は、キャラクタ「N」における斜めストロークの
調整を示す図、 第21a図〜第21d図は、本発明に従って斜めストロークの
フレーム点の調整を行う様子を示す図である。 1……コンピュータ、2……入力/出力回路、3……CP
U、4,6……メモリ、5……入力装置、7……表示装置。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G09G 5/24

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】デジタル書体のキャラクタを表示する表示
    装置を有し、書体が特定のスケールで発生され、特定の
    スケールで発生される書体の各キャラクタがX−Y座標
    対を含む制御点を用いたフォーマットで記述されてい
    る、コンピュータ装置において、書体のキャラクタ群の
    視覚的劣化を最少にする方法であって: 前記制御点から各キャラクタについてのフレームを形成
    する過程を備え、前記フレームはX−Y座標対からなる
    複数のフレーム点によって表現されており; 各キャラクタを構成する垂直ストロークを決定する過程
    を備え、前記垂直ストロークは、複数のフレーム点によ
    って形成されてXストロークとして識別されており; 各キャラクタを構成する水平ストロークを決定する過程
    を備え、前記水平ストロークは、複数のフレーム点によ
    って形成されてYストロークとして識別されており; 書体の各キャラクタ用のXストロークを表わすフレーム
    点のX座標を調整する過程を備え、垂直方向に向いてい
    る前記Xストロークには、構成するキャラクタにおける
    視覚的な重要度の順序で優先度が付つけられ、下位優先
    度のXストロークの調整量が上位優先度のXストローク
    の厚さに依存させられてXストロークは優先度に従って
    調整され、かつ、Xストロークの厚さを規則正しくし且
    つキャラクタの幅を保持した状態に調整され; ストロークを形成しないフレーム点のX座標を、キャラ
    クタの幅と調整されたXストロークの厚さを保持しなが
    ら、調整する過程を備え; 書体の各キャラクタ用のYストロークを表わすフレーム
    点のY座標を調整する過程を備え、水平方向に向いてい
    る前記Yストロークには、構成するキャラクタにおける
    視覚的な重要度の順序で優先度が付つけられ、下位優先
    度のYストロークの調整量が上位優先度のYストローク
    の厚さに依存させられてYストロークは優先度に従って
    調整され、かつ、キャラクタの高さと各Yストロークの
    水平配列とを保持した状態に調整され; ストロークを形成しないフレーム点のY座標を、キャラ
    クタの高さと調整されたYストロークの厚さ並びに水平
    配列を保持しながら、調整する過程を備え; もって、書体のキャラクタの重要な視覚的特徴を維持
    し、これによって書体の視覚的劣化を最少にする方法。
  2. 【請求項2】請求項1記載の方法において、 各キャラクタを構成する斜めストロークを決定する過程
    を備え、前記斜めストロークは、複数のフレーム点によ
    って形成されて斜めストロークとして識別されており; 書体の各キャラクタ用の斜めストロークを表わすフレー
    ム点を、調整したXストロークおよび調節したYストロ
    ークの調整した厚さと位置とが保持されるようにして、
    調整する過程を備える、 ことを特徴とする方法。
  3. 【請求項3】デジタル書体のキャラクタを表示する表示
    装置を有し、書体が特定のスケールで発生され、書体の
    各キャラクタがX−Y座標対を含む制御点を用いたフォ
    ーマットで記述されている、コンピュータ装置におい
    て、書体のキャラクタ群の視覚的劣化を最少にするため
    に: 前記制御点から各キャラクタについてのフレームを形成
    するプログラムルーチンを実行する手段を備え、前記フ
    レームはX−Y座標対からなる複数のフレーム点によっ
    て表現されており、前記複数のフレーム点は、上記座標
    を基礎として前記制御点から決定可能な幾何学的形状の
    多角形を形成するものであり; 各キャラクタを構成する垂直ストロークを決定するプロ
    グラムルーチンを実行する手段を備え、前記垂直ストロ
    ークは、複数のフレーム点によって形成されてXストロ
    ークとして識別されており; 各キャラクタを構成する水平ストロークを決定するプロ
    グラムルーチンを実行する手段を備え、前記水平ストロ
    ークは、複数のフレーム点によって形成されてYストロ
    ークとして識別されており; 書体の各キャラクタ用のXストロークを表わすフレーム
    点のX座標を調整するプログラムルーチンを実行する手
    段を備え、垂直方向に向いている前記Xストロークに
    は、構成するキャラクタにおける視覚的な重要度の順序
    で優先度が付つけられ、下位優先度のXストロークの調
    整量が上位優先度のXストロークの厚さに依存させられ
    てXストロークは優先度に従って調整され、かつ、Xス
    トロークの厚さを規則正しくし且つキャラクタの幅を保
    持した状態に調整され; ストロークを形成しないフレーム点のX座標を、キャラ
    クタの幅と調整されたXストロークの厚さを保持しなが
    ら、調整するプログラムルーチンを実行する手段を備
    え; 書体の各キャラクタ用のYストロークを表わすフレーム
    点のY座標を調整するプログラムルーチンを実行する手
    段を備え、水平方向に向いている前記Yストロークに
    は、構成するキャラクタにおける視覚的な重要度の順序
    で優先度が付つけられ、下位優先度のYストロークの調
    整量が上位優先度のYストロークの厚さに依存させられ
    てYストロークは優先度に従って調整され、かつ、キャ
    ラクタの高さと各Yストロークの水平配列とを保持した
    状態に調整され; ストロークを形成しないフレーム点のY座標を、キャラ
    クタの高さと調整されたYストロークの厚さ並びに水平
    配列を保持しながら、調整するプログラムルーチンを実
    行する手段を備え; もって、書体のキャラクタの重要な視覚的特徴を維持
    し、これによって書体の視覚的劣化を最少にする装置。
  4. 【請求項4】請求項3記載の装置において、 各キャラクタを構成する斜めストロークを決定するプロ
    グラムルーチンを実行する手段を備え、前記斜めストロ
    ークは、複数のフレーム点によって形成されて斜めスト
    ロークとして識別されており; 書体の各キャラクタ用の斜めストロークを表わすフレー
    ム点を、調整したXストロークおよび調節したYストロ
    ークの調整した厚さと位置とが保持されるようにして、
    調整するプログラムルーチンを実行する手段を備える、 ことを特徴とする装置。
JP1187596A 1988-10-26 1989-07-21 デジタル書体の視覚的劣化を最少にする方法および装置 Expired - Fee Related JP2920387B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26304388A 1988-10-26 1988-10-26
US263.043 1988-10-26

Publications (2)

Publication Number Publication Date
JPH02127689A JPH02127689A (ja) 1990-05-16
JP2920387B2 true JP2920387B2 (ja) 1999-07-19

Family

ID=23000139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1187596A Expired - Fee Related JP2920387B2 (ja) 1988-10-26 1989-07-21 デジタル書体の視覚的劣化を最少にする方法および装置

Country Status (9)

Country Link
US (4) US5281959A (ja)
JP (1) JP2920387B2 (ja)
KR (1) KR0159498B1 (ja)
AU (1) AU629210B2 (ja)
CA (1) CA1336107C (ja)
DE (1) DE3935574C2 (ja)
FR (1) FR2638264B1 (ja)
GB (1) GB2224420B (ja)
HK (1) HK53194A (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0396996A (ja) * 1989-09-08 1991-04-22 Tokyo Electric Co Ltd 文字出力装置
US5068803A (en) * 1989-09-15 1991-11-26 Sun Microsystems, Inc. Method and apparatus for filling contours in digital typefaces
JP2809314B2 (ja) * 1989-10-23 1998-10-08 キヤノン株式会社 印刷装置
JP2918632B2 (ja) * 1990-06-11 1999-07-12 キヤノン株式会社 文字処理方法及び装置
JP2755789B2 (ja) * 1990-06-11 1998-05-25 キヤノン株式会社 文字フオントメモリと、該文字フオントメモリを用いた文字パターン発生装置
JPH0493894A (ja) * 1990-08-03 1992-03-26 Canon Inc 文字処理方法および装置
JPH0723997B2 (ja) * 1990-08-24 1995-03-15 富士ゼロックス株式会社 文字・図形描画装置
US5280576A (en) * 1991-12-24 1994-01-18 Xerox Corporation Method of adjusting the weight of a character of an outline font
US5526476A (en) * 1992-12-07 1996-06-11 Fujitsu Limited Method and apparatus for generating character patterns expressed by coordinates of a coordinate system
CA2125608A1 (en) 1993-06-30 1994-12-31 George M. Moore Method and system for providing substitute computer fonts
JP2964841B2 (ja) * 1993-07-15 1999-10-18 ブラザー工業株式会社 データ変換装置
JPH07230451A (ja) * 1994-02-18 1995-08-29 Casio Comput Co Ltd 文字入力装置
JP3641283B2 (ja) * 1994-04-08 2005-04-20 富士通株式会社 グラフィックデータ生成装置
EP0701242A3 (en) * 1994-08-16 1996-12-27 Adobe Systems Inc Improved method for generating multi-master typographic data
US5598520A (en) * 1994-09-26 1997-01-28 Microsoft Corporation Methods and apparatus for hinting a font for controlling stem width as font size and resolution of output device vary
JPH08194459A (ja) * 1995-01-19 1996-07-30 Fujitsu Ltd アウトライン文字描画装置
KR0172581B1 (ko) * 1996-04-02 1999-03-30 이진기 단계적 표현 가능형 폰트 그 변환 방법 및 렌더링 방법
US5937420A (en) 1996-07-23 1999-08-10 Adobe Systems Incorporated Pointsize-variable character spacing
US6952210B1 (en) 1997-12-05 2005-10-04 Adobe Systems Incorporated Method of generating multiple master typefaces containing kanji characters
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
US7624277B1 (en) * 2003-02-25 2009-11-24 Microsoft Corporation Content alteration for prevention of unauthorized scripts
US7136067B2 (en) 2004-01-26 2006-11-14 Microsoft Corporation Using externally parameterizeable constraints in a font-hinting language to synthesize font variants
US7292247B2 (en) * 2004-01-26 2007-11-06 Microsoft Corporation Dynamically determining directions of freedom for control points used to represent graphical objects
US7187382B2 (en) * 2004-01-26 2007-03-06 Microsoft Corporation Iteratively solving constraints in a font-hinting language
US7236174B2 (en) * 2004-01-26 2007-06-26 Microsoft Corporation Adaptively filtering outlines of typographic characters to simplify representative control data
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7580039B2 (en) * 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7256786B2 (en) * 2004-05-28 2007-08-14 Microsoft Corporation Appropriately rendering a graphical object when a corresponding outline has exact or inexact control points
US8253742B2 (en) 2004-05-28 2012-08-28 Microsoft Corporation Rendering stroke pairs for graphical objects
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
US8316310B2 (en) * 2008-08-05 2012-11-20 International Business Machines Corporation System and method for human identification proof for use in virtual environments
US8243077B2 (en) * 2008-08-29 2012-08-14 Dynacomware Taiwan Inc. Method for generating stroke-based font characters for a low-resolution display
US8102397B2 (en) 2009-01-26 2012-01-24 Mitsubishi Electric Research Laboratories Inc. Method for improving uniform width character strokes using multiple alignment zones
WO2014205632A1 (en) * 2013-06-24 2014-12-31 Adobe Systems Incorporated Gravity point drawing method
WO2022212652A1 (en) * 2021-03-31 2022-10-06 Cerini Arielle Nicole Digital penmanship
US20230315216A1 (en) * 2022-03-31 2023-10-05 Rensselaer Polytechnic Institute Digital penmanship

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298945A (en) * 1978-05-12 1981-11-03 Eltra Corporation Character generating method and apparatus
US4231096A (en) * 1978-10-10 1980-10-28 Eltra Corporation Digital typesetter
US4338673A (en) * 1978-12-05 1982-07-06 Compugraphic Corporation Phototypesetting system and method
US4345245A (en) * 1979-11-26 1982-08-17 Eltra Corporation Method and apparatus for arranging segmented character groups in a digital typesetter
JPS5949655A (ja) * 1982-09-14 1984-03-22 Dainippon Screen Mfg Co Ltd 2値図形パターンの輪郭データ作成方法
US4620287A (en) * 1983-01-20 1986-10-28 Dicomed Corporation Method and apparatus for representation of a curve of uniform width
DE3317842A1 (de) * 1983-05-17 1984-12-06 Mergenthaler Linotype Gmbh, 6236 Eschborn Graphisches reproduktions- und seztverfahren von schriftzeichen
EP0131676B1 (de) * 1983-07-04 1989-08-02 URW Software & Type GmbH Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
US4675830A (en) * 1984-07-06 1987-06-23 Compugraphic Corporation Method for producing a scaleable typeface data
JPS6165290A (ja) * 1984-09-07 1986-04-03 株式会社日立製作所 ベクトル文字フオントの作成装置
US4674059A (en) * 1984-09-10 1987-06-16 Allied Corporation Method and apparatus for generating a set of signals representing a curve
JPS61246877A (ja) * 1985-04-25 1986-11-04 Canon Inc 図形変換装置
US4785391A (en) * 1986-02-07 1988-11-15 Bitstream Inc. Automated bitmap character generation from outlines
US4833627A (en) * 1986-08-29 1989-05-23 The Toles Group Computerized typesetting correction system
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness

Also Published As

Publication number Publication date
US5281959A (en) 1994-01-25
GB8911702D0 (en) 1989-07-05
AU629210B2 (en) 1992-10-01
US5304989A (en) 1994-04-19
GB2224420A (en) 1990-05-02
KR900006886A (ko) 1990-05-09
DE3935574A1 (de) 1990-05-03
US5319358A (en) 1994-06-07
KR0159498B1 (ko) 1998-12-15
JPH02127689A (ja) 1990-05-16
DE3935574C2 (de) 1999-06-17
HK53194A (en) 1994-06-03
FR2638264A1 (fr) 1990-04-27
US5291186A (en) 1994-03-01
GB2224420B (en) 1993-08-18
AU3458489A (en) 1990-07-05
CA1336107C (en) 1995-06-27
FR2638264B1 (fr) 1994-07-01

Similar Documents

Publication Publication Date Title
JP2920387B2 (ja) デジタル書体の視覚的劣化を最少にする方法および装置
US5636297A (en) Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment
US5159668A (en) Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
US5155805A (en) Method and apparatus for moving control points in displaying digital typeface on raster output devices
EP1963990B1 (en) Automating font control value determination
US5042075A (en) Document composition apparatus which changes an outline font in accordance with letter magnification
EP0632396A2 (en) Method and system for providing substitute computer fonts
US20020064308A1 (en) System and methods for spacing, storing and recognizing electronic representations of handwriting printing and drawings
JP3375638B2 (ja) アンチ−アライアジング装置及び目的グリッドへの水平・垂直エッジの自動高速合わせの方法
US7009612B2 (en) Apparatus and method for font generation, and computer-readable storage medium recording program for the same
WO1995034047A1 (en) System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
JPH11272876A (ja) 複数のグラフィック・オブジェクトの動的グループ化方法及びシステム
US6151032A (en) Stroke-based glyph-outline font generation in low/high resolution space
US5489920A (en) Method for determining the optimum angle for displaying a line on raster output devices
KR970008546B1 (ko) 문자 또는 도형의 처리방법
US20040263537A1 (en) Flexibly resizeable vector graphics
US5274365A (en) Method and apparatus for minimizing the visual degradation of digital typefaces-character analysis
CA2023832C (en) Method and apparatus for filing contours in digital typefaces
US7714861B1 (en) Method of producing electronically readable documents with updatable pie charts
EP1210708B1 (en) Rendering sub-pixel precision characters having widths compatible with pixel precision characters
US5579406A (en) Apparatus and method for outline data processing
JPH06274303A (ja) マルチウィンドウ表示方法
JP5492911B2 (ja) 文字作成方法、および文字作成装置
JPH06175639A (ja) 文字生成方法及びその装置
JPH09330377A (ja) 手書き文字認識装置および手書き文字認識方法

Legal Events

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