JPH06110440A - アウトラインフォントファイル構成法 - Google Patents

アウトラインフォントファイル構成法

Info

Publication number
JPH06110440A
JPH06110440A JP4095008A JP9500892A JPH06110440A JP H06110440 A JPH06110440 A JP H06110440A JP 4095008 A JP4095008 A JP 4095008A JP 9500892 A JP9500892 A JP 9500892A JP H06110440 A JPH06110440 A JP H06110440A
Authority
JP
Japan
Prior art keywords
subroutine
outline
information
data
hint information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4095008A
Other languages
English (en)
Other versions
JP3442089B2 (ja
Inventor
Minoru Sakai
稔 境井
Taku Okazaki
卓 岡崎
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP09500892A priority Critical patent/JP3442089B2/ja
Publication of JPH06110440A publication Critical patent/JPH06110440A/ja
Application granted granted Critical
Publication of JP3442089B2 publication Critical patent/JP3442089B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 フォントファイル中のヒント情報量を少なく
し、ファイルサイズを圧縮する。 【構成】 アウトラインフォントファイルは、n個のグ
リフデータ1と輪郭点を制御するためのサブルーチンを
含む共有データ2によって構成され、グリフデータは、
アウトライン情報とヒント情報からなる。アウトライン
情報は、連続的に番号を付けられた輪郭点とその座標デ
ータからなり、ヒント情報は、アウトライン情報を制御
する命令列(呼び出すべきサブルーチン番号と、サブル
ーチンに渡される輪郭点番号)から構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ヒンティング情報を有
するアウトラインフォントファイルの構成法に関する。
【0002】
【従来の技術】デスクトップパブリッシング、パーソナ
ルコンピュータ、ワードプロセッサ、ディジタルファッ
クス等においては、その装置内に文字フォントデータが
用意されている。斯るフォントデータは、通常、ドット
パターン方式、アウトライン方式、あるいはそれらの併
用方式の何れかの方式によって保持されている。そし
て、アウトラインフォントを表示、印刷するために、そ
のフォント表現はドットパターンに変換される。
【0003】従来、アウトラインフォントをドットイメ
ージに変換するラスタライズにおいては、フォントファ
イルによって輪郭点の座標データと各輪郭点のヒンティ
ングに関する属性データが与えられ、実際のヒンティン
グ処理は、これら座標データと属性データを用いてラス
タライザが行っていた。
【0004】ここで、ヒンティング処理とは、アウトラ
インを美しく整形するための処理をいい、例えば、特開
昭62−182884号公報に記載の文字発生方式など
種々の方法が提案されている。
【0005】
【発明が解決しようとする課題】ところで、最近Tru
e Typeなどの新しいフォーマットが提案された。
これは、フォントファイルの中にプログラムとしてのヒ
ント情報が含まれていて、ラスタライザはそれを実行す
ることによってヒンティング処理を行うものである。こ
のように、従来ラスタライザが行っていたヒンティング
処理を、フォントファイル中にプログラムとして組み込
む必要があり、このためフォントファイルのサイズが非
常に大きくなるという問題があった。
【0006】本発明の目的は、ヒント情報のサイズを小
さくすることにより、ファイルサイズを圧縮したアウト
ラインフォントファイルの構成法を提供することにあ
る。
【0007】
【課題を解決するための手段】前記目的を達成するため
に、請求項1記載の発明では、複数のグリフデータと該
データを規定する共有データとを有し、前記各グリフデ
ータは、輪郭点の集合であるアウトライン情報と該アウ
トライン情報を制御する命令列であるヒント情報からな
り、前記共有データは、前記命令列から呼び出されるサ
ブルーチン群を含み、該各サブルーチンはアウトライン
情報を制御する命令列によって構成されていることを特
徴としている。
【0008】請求項2記載の発明では、前記各サブルー
チンは、輪郭点の番号を受取り、ヒンティング処理を行
う命令列から構成され、前記ヒント情報は、前記輪郭点
番号を所定のサブルーチンに渡すための命令列から構成
されていることを特徴としている。
【0009】請求項3記載の発明では、前記ヒント情報
は、前記各輪郭点を制御するためのサブルーチン番号列
と終了条件を第1のサブルーチンに渡すための命令列か
ら構成され、前記サブルーチン番号と前記輪郭点番号と
が所定の対応関係にあり、該呼び出された第1のサブル
ーチンは、前記受け取った番号のサブルーチンを順次呼
び出すことを特徴としている。
【0010】請求項4記載の発明では、前記サブルーチ
ン番号は、複数のサブルーチン番号の組み合わせからな
ることを特徴としている。
【0011】
【作用】アウトラインフォントファイルは、n個のグリ
フデータと輪郭点を制御するためのサブルーチンを含む
共有データによって構成される。グリフデータは、アウ
トライン情報とヒント情報からなる。アウトライン情報
は、連続的に番号を付けられた輪郭点とその座標データ
からなり、ヒント情報は、アウトライン情報を制御する
命令列から構成される。これにより、フォントファイル
中にヒント情報を含めることが可能となると共に、該ヒ
ント情報のサイズを小さくすることができる。
【0012】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。 〈実施例1〉図1は、本実施例のアウトラインフォント
ファイルの構成を示す図で、n個のグリフデータ1(グ
リフ1,グリフ2,・・・グリフn)と共有データ2に
よってファイルが構成されている。
【0013】図2は、グリフデータ1の構成を示す図
で、グリフデータは、アウトライン情報11とヒント情
報12からなっている。そして、アウトライン情報11
は、連続的に番号を付けられた輪郭点とその座標データ
からなり、ヒント情報12は、アウトライン情報11を
制御する命令列(例えば、点1を右に1ドットシフトす
るという命令など)から構成されている。
【0014】図3は、共有データ2の中に輪郭点を制御
するためのサブルーチン群が含まれている図を示し、例
えばサブルーチン1は、輪郭点を上に1ビットシフト制
御する命令、サブルーチン2は、輪郭点を下に1ビット
シフト制御する命令、サブルーチンmは、幅を制御する
命令である。
【0015】図4は、グリフデータに含まれる輪郭点1
を制御するためにサブルーチンf1(1≦f1≦m)を
呼び出し、輪郭点2を制御するためにサブルーチンf2
(1≦f2≦m)を呼び出し、・・・、輪郭点nを制御
するためにサブルーチンfn(1≦fn≦m)を呼び出
す様子を示す図である。ここに示したf1,f2,・・
・fnは、サブルーチンをn個用意することを意味する
ものではなく、f1は、点1を渡すべきサブルーチンで
あることを表している。輪郭点1からnが同一のサブル
ーチンfiによって制御されたり、あるいは各点が異な
るサブルーチンによって制御されたりする。
【0016】すなわち、例えば、 call 5(1) call 7(2) call 4(3) call 3(4) call 1(5) のとき、まず、サブルーチン5が呼び出され、サブルー
チン5には点1が渡され、サブルーチン5は、点1(x
1,y1)に対して例えば1ビットの右シフト処理を行
い、次いでサブルーチン7が呼び出され、サブルーチン
7には点2が渡され、点2(x2,y2)に対して所定
のヒンティング処理が行われ、以下同様にして全ての点
に対して所定のヒンティング処理が行われる。
【0017】この実施例のヒンティング情報では、各点
番号を適切なサブルーチンに渡す命令構成となっている
ので、その処理順序を入れ替えてもよい。
【0018】〈実施例2〉実施例2では、処理順番を点
番号の順に限定する。点番号は1からnまで順番に並ん
でいるので、実施例1の点番号に関する情報が不要にな
る。つまり、図5に示すように、点番号の順に、それぞ
れに適用されるべきサブルーチン番号を並べればよい。
【0019】本実施例のヒント情報は、基本的にはサブ
ルーチン呼び出しが一つあるだけである。すなわち、図
6に示すようにn個の点それぞれに適用されるべきサブ
ルーチン番号f1,f2,f3,・・・fnを並べてサ
ブルーチンfpを呼び出すものである。ただし、ここで
は終了条件として点の個数(サブルーチンの個数)を与
えている。
【0020】前述した例を実施例2のヒント情報で書き
直すと、 call 10(5,5,7,4,3,1) となる。
【0021】図7は、サブルーチンfpの動作を示すフ
ローチャートであり、受け取った点の個数だけ、順次与
えられたサブルーチンを呼び出していく。上記した例で
は、 サブルーチン 10 call 5(1) call 7(2) call 4(3) call 3(4) call 1(5) となる。その際、点iにはi番目のサブルーチンを適用
していく。なお、終了条件として点の個数の他に、例え
ばサブルーチン番号列の最後にあり得ない番号を置くな
ど種々の方法を用いることができる。
【0022】〈実施例3〉実際にヒンティング処理を行
う場合、点を制御するためのサブルーチンの種類は、そ
れほど多くはない。そこで、実施例3では、一つのサブ
ルーチン番号を渡すのに用いたデータ長に、複数のサブ
ルーチン番号を挿入することが可能である場合、さらに
ファイルサイズを圧縮することできる。
【0023】本実施例のヒント情報は、基本的にはサブ
ルーチン呼び出しが一つあるだけである。すなわち、図
8に示すように、例えば8ビットのデータとして渡すべ
きサブルーチン番号を4ビット(1ニブル)ずつ、計2
つ組み合わせてサブルーチンfqに渡すものである。終
了条件は、実施例2と同様に点の個数を与える例を示
す。
【0024】図9は、サブルーチンfqの動作を示すフ
ローチャートであり、受け取った点の個数だけ、サブル
ーチン番号列を解析し、最初の点には上位ニブルに収め
られたサブルーチン番号をまず適用し、次の点には下位
ニブルのサブルーチン番号を適用することを繰り返す。
この例では、8ビットのサブルーチン番号フィールドに
2ニブルのデータを詰める例を示したが、本実施例はこ
れに限定されるものではなく、例えば16ビットに4ニ
ブル、16ビットに5ビットずつ3データを詰めるなど
他の方法を用いることができる。
【0025】また、上記した実施例では、全てのサブル
ーチンを平等に扱う例を示したが、実際には各サブルー
チンの使用頻度に差があるので、使用頻度の低いサブル
ーチンは長いデータ幅で表現し、使用頻度の高いサブル
ーチンは短いデータ幅で表現するなどの方法を採ること
によって、さらにフォントファイルサイズを圧縮するこ
とも可能である。
【0026】
【発明の効果】以上、説明したように、本発明によれ
ば、以下に記載の効果を奏する。すなわち、グリフ数が
8000個、各グリフに含まれる輪郭点数の平均が20
0個の日本語フォントファイルを考える。また、ラスタ
ライザはスタックマシンとして実現されていて、ヒント
データなどは全てバイト列として表現されるものとす
る。また、輪郭点iに施されるサブルーチンの番号をf
iで表現する。請求項1記載の発明によれば、従来ラス
タライザによって行われたヒンティング処理を、フォン
トファイル中に含めることが可能になり、従ってフォン
トファイルの可用性を高めることができる。請求項2記
載の発明によれば、従来行ってきたヒンティング処理を
容易に本方式に置き換えることが可能になる。その際に
ヒント情報は、各点毎に のように、4バイトを要するものとすると、フォントフ
ァイル中のヒント情報の量は、4×200×8,000
=6,400,000となり、約6メガバイトとなり、
ヒント情報のサイズを小さくすることが可能となる。請
求項3記載の発明によれば、可用性を変えることなく、
請求項2記載の発明よりも更にヒント情報のサイズを小
さくすることが可能となる。すなわち、ヒント情報は、
各グリフ毎に、 PUSH fn,fn−1,・・・,f1,n,サブルーチン番号fp CALL のように、n+4バイトつまり204バイトを要する。
従って、フォントファイル中のヒント情報の量は、20
4×8,000=1,632,000となり、約1.6
メガバイトとなり、ヒント情報のサイズを更に小さくす
ることが可能となる。請求項4記載の発明によれば、可
用性を変えることなく、請求項3記載の発明よりもより
一層ヒント情報のサイズを小さくすることが可能とな
る。すなわち、輪郭点の個数nが偶数(n=2m)であ
り、サブルーチン番号を4ビットずつで表現し、これら
を2つずつ8ビットに収めたものをf(1,2)と表す
ことにすれば、ヒント情報は、各グリフ毎に、 PUSH f(n,n−1),・・・,f(2,1),n,サブルーチン番号 fp CALL のように、(n/2)+4つまり104バイトを要す
る。従って、フォントファイル中のヒント情報の量は、
104×8,000=832,000となり、約0.8
メガバイトとなり、ヒント情報のサイズをより一層小さ
くすることが可能となる。
【図面の簡単な説明】
【図1】本発明のアウトラインフォントファイルの構成
を示す図である。
【図2】グリフデータの構成を示す図である。
【図3】共有データの中に輪郭点を制御するためのサブ
ルーチンが含まれている図である。
【図4】輪郭点を制御するためにサブルーチンを呼び出
す様子を示す図である。
【図5】点番号とサブルーチン番号の対応を示す図であ
る。
【図6】輪郭点を制御するためにサブルーチンを呼び出
す他の実施例の図である。
【図7】他の実施例におけるサブルーチンの動作を示す
フローチャートである。
【図8】輪郭点を制御するためにサブルーチンを呼び出
す、さらに他の実施例の図である。
【図9】さらに他の実施例におけるサブルーチンの動作
を示すフローチャートである。
【符号の説明】
1 グリフデータ 2 共有データ 11 アウトライン情報 12 ヒント情報

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のグリフデータと該データを規定す
    る共有データとを有し、前記各グリフデータは、輪郭点
    の集合であるアウトライン情報と該アウトライン情報を
    制御する命令列であるヒント情報からなり、前記共有デ
    ータは、前記命令列から呼び出されるサブルーチン群を
    含み、該各サブルーチンはアウトライン情報を制御する
    命令列によって構成されていることを特徴とするアウト
    ラインフォントファイルの構成法。
  2. 【請求項2】 前記各サブルーチンは、輪郭点の番号を
    受取り、ヒンティング処理を行う命令列から構成され、
    前記ヒント情報は、前記輪郭点番号を所定のサブルーチ
    ンに渡すための命令列から構成されていることを特徴と
    する請求項1記載のアウトラインフォントファイルの構
    成法。
  3. 【請求項3】 前記ヒント情報は、前記各輪郭点を制御
    するためのサブルーチン番号列と終了条件を第1のサブ
    ルーチンに渡すための命令列から構成され、前記サブル
    ーチン番号と前記輪郭点番号とが所定の対応関係にあ
    り、該呼び出された第1のサブルーチンは、前記受け取
    った番号のサブルーチンを順次呼び出すことを特徴とす
    る請求項1記載のアウトラインフォントファイルの構成
    法。
  4. 【請求項4】 前記サブルーチン番号は、複数のサブル
    ーチン番号の組み合わせからなることを特徴とする請求
    項3記載のアウトラインフォントファイルの構成法。
JP09500892A 1992-04-15 1992-04-15 アウトラインフォントファイルを使用したアウトラインフォントの形成方法 Expired - Lifetime JP3442089B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09500892A JP3442089B2 (ja) 1992-04-15 1992-04-15 アウトラインフォントファイルを使用したアウトラインフォントの形成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09500892A JP3442089B2 (ja) 1992-04-15 1992-04-15 アウトラインフォントファイルを使用したアウトラインフォントの形成方法

Publications (2)

Publication Number Publication Date
JPH06110440A true JPH06110440A (ja) 1994-04-22
JP3442089B2 JP3442089B2 (ja) 2003-09-02

Family

ID=14125918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09500892A Expired - Lifetime JP3442089B2 (ja) 1992-04-15 1992-04-15 アウトラインフォントファイルを使用したアウトラインフォントの形成方法

Country Status (1)

Country Link
JP (1) JP3442089B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0735496A1 (en) * 1995-03-30 1996-10-02 Eastern Graphics Technology Co. Ltd. A storage compression process for structural character & graphics
JP2014527644A (ja) * 2011-08-01 2014-10-16 マイクロソフト コーポレーション フォント命令の低減

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0735496A1 (en) * 1995-03-30 1996-10-02 Eastern Graphics Technology Co. Ltd. A storage compression process for structural character & graphics
JP2014527644A (ja) * 2011-08-01 2014-10-16 マイクロソフト コーポレーション フォント命令の低減

Also Published As

Publication number Publication date
JP3442089B2 (ja) 2003-09-02

Similar Documents

Publication Publication Date Title
US5129013A (en) Graphics image editor
US5910805A (en) Method for displaying bitmap derived text at a display having limited pixel-to-pixel spacing resolution
US20030197703A1 (en) Method of processing animation by interpolation between key frames with small data quantity
US5524198A (en) Character or graphic processing method and apparatus
JP4969515B2 (ja) 画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体
JPH03273368A (ja) 図形処理装置
JP3442089B2 (ja) アウトラインフォントファイルを使用したアウトラインフォントの形成方法
JP2833092B2 (ja) 輪郭線データの圧縮装置および復元装置
EP0312235A2 (en) Graphics image editor
JP3391822B2 (ja) アウトラインフォントファイル圧縮方法
JPH03169655A (ja) カラー画像出力・表示方式
KR960013368B1 (ko) 아우트라인(outline) 폰트의 형성방법
JP3778068B2 (ja) 画像データの展開方法及び画像表示制御装置
JP2004012751A (ja) 文字データ生成装置及びその方法並びにプログラム
JPH0728444A (ja) 画像データの色調変更方法
JPH02287394A (ja) 文書処理システム及び字体生成方法
JPH1063253A (ja) 高品位文字表示装置及び階調表示方法
JP2000259845A (ja) 多角形描画方法、および多角形描画装置
JP2001209640A (ja) 画像情報変換装置、画像処理装置、方法及び記録媒体
JPS60149083A (ja) 表示装置
JPH10275245A (ja) アニメーション情報の圧縮方法、及びアニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001111805A (ja) 描画処理装置
JPH02132492A (ja) 文字パターン作成方式
JPH0264598A (ja) 図形文字の展開方法
Thomas Print preview using finite state machine emulation of an IBM 3812 page printer

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

EXPY Cancellation because of completion of term