JPH07199894A - 文字フォント圧縮方法 - Google Patents

文字フォント圧縮方法

Info

Publication number
JPH07199894A
JPH07199894A JP5354261A JP35426193A JPH07199894A JP H07199894 A JPH07199894 A JP H07199894A JP 5354261 A JP5354261 A JP 5354261A JP 35426193 A JP35426193 A JP 35426193A JP H07199894 A JPH07199894 A JP H07199894A
Authority
JP
Japan
Prior art keywords
font
character font
character
data
compression
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.)
Pending
Application number
JP5354261A
Other languages
English (en)
Inventor
Shin Mikuni
伸 三国
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP5354261A priority Critical patent/JPH07199894A/ja
Publication of JPH07199894A publication Critical patent/JPH07199894A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 文書作成機に複数の書体の文字フォントを効
率良く内蔵させることができるように文字フォントを圧
縮する。 【構成】 差分演算器103は基準文字フォントと圧縮
対象文字フォントとの座標差分値を算出する。データ出
現回数計数部104はこの差分値の出現頻度を計数する
ことによりデータの出現頻度を偏らせる。圧縮符号表発
生部106はこのデータの出現頻度に応じて冗長部分を
抑制した圧縮符号表を発生させる。圧縮符号化部108
はこの圧縮符号表を用いて圧縮対象文字フォントの座標
データを圧縮符号別で置き換えることにより圧縮フォン
トを生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ワードプロセッサ等
の文書作成機に組み込まれるアウトライン方式の文字フ
ォントを圧縮する文字フォント圧縮方法に関する。
【0002】
【従来の技術】従来、ワードプロセッサ等の文書作成機
には、予め明朝体、ゴシック体、楷書体等の各種書体に
対応する文字フォント(アウトラインフォント)がRO
M(リードオンリメモリ)に書体毎に格納されており、
入力した文字列データを出力する際に、その文字列を予
めどのような書体で出力するかを指定しておくと、それ
に応じて書体の切り換えが行われ、その書体に対応する
文字フォントをメモリから読み出し、それを文字パター
ンに変換して出力するようにしている。
【0003】
【発明が解決しようとする課題】ところで、ある書体の
文字フォント数は例えばJIS第1水準、第2水準の漢
字に仮名、記号を含めると全体では7,000文字以上
となり、1書体当たりのメモリ容量は2Mバイト以上と
大変巨大なものとなってしまう。この為、書体の異なる
複数の文字フォントを予めROMに標準装備しておくこ
とは、メモリが膨大化し、コスト高となり、また、フロ
ッピーディスク等の外部記憶装置から文字フォントを供
給するものにおいても書体毎に複数の外部記憶装置が必
要となり、コスト高となるという欠点があった。そこで
従来においては文字フォントデータを圧縮して記憶して
おき、文書印刷時にこの圧縮フォントを通常の文字フォ
ントに復元再生するようにしたものもあるが、従来の方
法では圧縮率が低く余り実効が上らないのが実情であっ
た。この発明の課題は、同一のアウトライン構造を持
ち、座標データのみが異なる複数の書体の文字フォント
のうち、その何れかを基準文字フォント、その他を圧縮
対象の文字フォントとし、基準文字フォントに対する圧
縮対象文字フォントの座標の“ずれ”を検出してデータ
の出現頻度を偏らせ、それを冗長性をカットする特性を
持った圧縮技法を用いて圧縮することにより、高い圧縮
率を得、この圧縮文字フォントを基準文字フォントと共
に文書作成機に組み込むことで、容量の少ないメモリに
複数の書体の文字フォントを効率良く内蔵させることが
できるようにしたものである。
【0004】
【課題を解決するための手段およびその作用】この発明
の手段およびその作用は次の通りである。 (1)、同一のアウトラインフォント構造を持ち、座標
データの座標値のみが異なる第1の書体(例えば標準の
太さを持った明朝体)の基準文字フォントと第2の書体
(例えば、太めの明朝体)の圧縮対象文字フォントとを
比較して対応する座標データ同士の差分値(座標の“ず
れ”)を検出する。 (2)、この座標差分値の出現頻度を差分値別に計数す
る。 (3)、この出現頻度に応じて例えばハフマン符号化法
の様に冗長部分を抑制した圧縮符号列を発生させる。 (4)、この圧縮符号列で前記圧縮対象文字フォントの
座標データを置き換えることで圧縮文字フォントを生成
する。 (5)、この圧縮文字フォントを前記基準文字フォント
と共に文書作成機に組み込む。なお、前記基準文字フォ
ントと圧縮対象文字フォントとを比較する際に、いずれ
かの文字フォントから読み出されたデータが以降に続く
座標データの種類を示す識別子であれば、この識別子を
読み飛ばすことによって前記圧縮符号列のみから成る圧
縮文字フォントを生成するようにしてもよい。したがっ
て、基準文字フォントとそれと同一構造の圧縮対象文字
フォントとの座標の“ずれ”を検出してデータの出現頻
度を偏らせ、それを冗長性をカットする特性を持った圧
縮技法を用いて圧縮することにより、高い圧縮率を得、
この圧縮文字フォントを基準文字フォントと共に文書作
成機に組み込むことで、容量の少ないメモリに複数の書
体の文字フォントを効率良く内蔵させることができる。
【0005】
【実施例】以下、図1〜図11を参照して一実施例を説
明する。図1は文字フォントデータの圧縮/再生過程を
概略的に示したものである。文字フォント圧縮装置10
0は文書作成機200の製品完成時において、例えば1
3,000文字の文字フォント(アウトラインフォン
ト)を本実施例特有の規則にしたがってデータ圧縮し、
これによって得られた各種のデータ(後述する圧縮文字
フォントデータ、インデックステーブル、逆変換テーブ
ル)を文書作成機200に組み込む。つまり、文字フォ
ント圧縮装置100と文書作成機200とは別個独立し
た装置であり、文字フォント圧縮装置100は文書作成
機200に圧縮文字フォントを格納させる為の装置で、
文書作成機200の製品完成時に圧縮文字フォントの書
き込みが行われる。
【0006】文字フォント圧縮装置100の動作原理に
ついては後で詳細に説明する為、ここでは簡単に説明し
ておくものとする。文字フォント圧縮装置100は同一
構造を持ち、座標データの座標値のみが異なるある書体
の文字フォントを基準文字フォントとすると共に、他の
書体の文字フォントを圧縮対象の文字フォントとし、こ
の基準文字フォントと圧縮対象文字フォントとを比較し
て対応する座標データ同士の差分値(座標の“ずれ”)
を検出すると共に、この差分値の出現頻度を差分値別に
計数し、この出現頻度に応じて冗長部分を抑制した圧縮
符号列を発生させ、この圧縮符号列で圧縮対象文字フォ
ントの座標値を置き換えることで圧縮文字フォントデー
タを生成する。このように文字フォント圧縮装置100
は基準文字フォントから圧縮対象の文字フォントを圧縮
して圧縮文字フォントデータを全文字分生成する他、
「インデックステーブル」、「逆変換テーブル」を生成
し、基準文字フォントと共に文書作成機200に転送す
る。なお、「インデックステーブル」はどの文字が「圧
縮文字フォントデータ」の中の何バイト目から入ってい
るかを示すテーブルであり、また「逆変換テーブル」は
圧縮フォントデータを通常の文字フォント(無圧縮文字
フォント)に復元再生させる為のテーブルである。
【0007】文書作成機200は本実施例特有の文字フ
ォント再生装置201と、通常備えられている文書作成
機主装置202とを有する構成で、文字フォント再生装
置201には圧縮文字フォントメモリ203、基準文字
フォントメモリ204が設けられている。この圧縮文字
フォントメモリ203は圧縮フォント格納部205、イ
ンデックス格納部206、逆変換格納部207を有する
構成で、文字フォント圧縮装置100から発生出力され
た圧縮文字フォントデータ、インデックステーブル、逆
変換テーブルが圧縮文字フォントメモリ203内の対応
する格納部205〜207に組み込まれる。また、基準
文字フォントメモリ204は文字フォント圧縮装置10
0から転送されて来た基準文字フォントデータが組み込
まれる。
【0008】このように構成された文書作成機200は
文書印刷時において、圧縮文字フォントデータを本実施
例特有の規則にしたがって逆変換し、通常と同様の無圧
縮文字フォントに復元再生して文書作成機主装置202
に与え、これによって通常と同様の印字結果を得るよう
にしている。この場合、文字フォント再生装置201は
インデックス格納部206を参照して印象対象文字が圧
縮フォント格納部205内のどこに格納されているかを
サーチすると共に、該当文字が基準文字フォントメモリ
204内のどこに格納されているかをサーチし、この基
準文字フォントを参照しながら逆変換格納部207内の
逆変換テーブルを用いて圧縮文字フォントデータを逆変
換し、無圧縮文字フォントを得るようにしている。つま
り、文字フォント再生装置201は基準文字フォントメ
モリ204内のデータについては通常と同様にそのまま
文書作成機主装置202に渡すが、圧縮文字フォントメ
モリ203内のデータについては元の無圧縮文字フォン
トデータに復元再生してから文書作成機主装置202に
渡すようにしている。
【0009】次に、文字フォント圧縮装置100の構成
およびその動作原理を図2〜図5を参照して説明する。
ここで、図2は文字フォント圧縮装置100のブロック
構成図であり、また、図3〜図5は文字フォントのデー
タ構造を説明する為の図である。文字フォント圧縮装置
100には圧縮対象文字フォント格納部101、基準文
字フォント格納部102が設けられており、この圧縮対
象文字フォント格納部101、基準文字フォント格納部
102には書体の異なる文字フォント(アウトラインフ
ォント)が全文字(例えば13,000文字)分それぞ
れ格納されている。そして両フォントデータは上述した
如く同一構造を持ち、座標データの座標値のみが異なる
構成となっている。
【0010】図3は圧縮対象文字フォント格納部10
1、基準文字フォント格納部102に格納されている文
字フォントのデータ構造例を示した図で、文字フォント
はアウトラインフォントであり、文字を構成する輪郭線
によって表現され、識別子+座標データ列の形で格納さ
れている。即ち、識別子の種類とそれに続くデータは図
3の(A)に示す如く定義されており、図中は開始点
の識別子とそれに続く座標データを示し、また、は直
線、はベジェール曲線、は1輪郭線終了、は1文
字終了の識別子とそれに続く座標データを示している。
例えば、ベジェール曲線は識別子「02」と第1制御点
座標(X1、Y1)、第2制御点座標(X2、Y2)、
終了点座標(Xt、Yt)によって定義されている。ま
た図3の(B)はこの識別子とそれに続くデータがどの
ような状態でメモリに格納されているかのメモリ格納状
態を示したものである。なお、文字フォントバッファ1
3にもこれと同一形式でデータが格納される。
【0011】図4は同じ書体で太さが異なる文字フォン
トのデータ例を示した図で、(A)は基準文字フォント
格納部102に格納されている標準の太さを持った文字
「あ」の明朝体フォント、(B)は圧縮対象文字フォン
ト格納部101に格納されている標準よりも太めの太さ
を持った文字「あ」の明朝体フォントを示している。こ
こで、図中、□は輪郭線の開始座標、○はベジェール曲
線の第1制御点、●はベジェール曲線の第2制御点、×
はベジェール曲線の終点または直線の終点である。この
文字「あ」の両フォントは同一データ構造で座標値のみ
が異なるもので、再フォントを構成する各座標点の数や
順番は同一であるが、両者は座標点の位置のみが相違し
ている。ここで、図中、標準の太さの明朝体の座標点を
A1、A2、A3……、太めの明朝体の座標点をB1、
B2、B3……とすると、ベジェール曲線の終点×のA
1とB1、A2とB2、またベジェール曲線の第2制御
点●のA3とB3が対応関係があり、これ以外の全ての
座標点も1:1に対応付けられている。このように各フ
ォントが同一のデータ構造であることを前提としてフォ
ントの圧縮/再生が可能となる。このような構成の両フ
ォントデータを重ね合せると図5(A)に示す如くとな
る。なお、図5(B)はその一部拡大図である。この場
合、両フォントの各座標点は全て1:1に対応してお
り、対応する座標データ同士を1座標ずつ比較すること
によりその座標の“ずれ”のみを取り出し、それを圧縮
することで高い圧縮率を得るようにしている。
【0012】ここで、圧縮の原理は次の2点を考慮して
行われる。先ず、両フォントは座標値のみが相違する同
一構造であり、識別子+座標データ列の形で格納されて
おり、以降に続く座標データ列の種類を示す識別子は基
準文字フォントデータを参照することによって再生可能
となる為、圧縮文字フォント生成時に全ての識別子を削
除するようにしている。次に、文字フォントを構成する
各座標点はその文字が収まる枠全体に散乱しているが、
両フォントの座標の“ずれ”で考えると、文字枠全体か
ら見て座標の“ずれ”はある範囲内で極端に大きくな
り、データに偏りが発生する。つまり、例えば、240
×240メッシュの文字フォントに対してプラス/マイ
ナス240付近の“ずれ”に比べてある値の“ずれ”が
極端に大きくなる。このようにデータに大きな偏りが発
生する為、効果的なデータ圧縮を実現することが可能と
なる。
【0013】差分演算器103は圧縮対象文字フォント
格納部101、基準文字フォント格納部102内から同
一文字のフォントデータを1文字ずつ読み出して両フォ
ントを構成する対応する座標データ同士を1座標毎に比
較し、その差分値(座標の“ずれ”)を求める演算処理
を全文字分繰り返し実行し、その差分値をデータ出現回
数計数部104に与える。データ出現回数計数部104
は差分演算器103から送られて来た差分値にしたがっ
て回数カウンタアレイ105の内容をプラス「1」ずつ
カウントアップするもので、回数カウンタアレイ105
は座標の“ずれ”に相当する個数分の回数カウンタを持
つもので、例えば200×240メッシュの文字フォン
トの場合には「240×2−1」1個の回数カウンタを
有し、差分演算器103から差分値が送られて来る毎
に、対応する回数カウンタの値をプラス「1」ずつカウ
ントアップさせる。このようなカウントアップ動作は全
ての文字について行われる。
【0014】圧縮符号表発生部106はデータ出現回数
計数部104が全文字についての処理を終了した時点で
回数カウンタアレイ105のカウント値を用いて圧縮符
号を発生する。この場合、例えばハフマン符号の発生ア
ルゴリズムなどの冗長性をカットする特性の符号であれ
ば、その内容は問わない。なお、ハフマン符号化法など
は広く知られた技術であるので、ここではその説明を省
略するものとする。この圧縮符号表発生部106によっ
て発生された符号表は圧縮符号表格納部107に書き込
まれる。図6は圧縮符号表格納部107に書き込まれる
圧縮符号表の構成を示し、圧縮符号表は各差分値に対応
して圧縮符号列とそのビット数とから成り、この圧縮符
号列は可変長データであり、ハフマン符号化法にしたが
って差分値の出現頻度の大きいものは、少ないビット数
の圧縮符号列で表わされている。この圧縮符号表は2つ
の使われ方をする。その1つは圧縮対象文字フォントを
圧縮符号列に変換するときであり、他の1つは圧縮符号
列を伸長するときに使われる逆変換テーブルの作成時で
ある。
【0015】圧縮符号化部108は差分演算器103か
ら送られて来る差分値にしたがって圧縮符号表格納部1
07をアクセスし、この差分値に対応するビット列(圧
縮符号列)を圧縮符号表格納部107から読み出し、デ
ータ書き込み部109を介して圧縮フォント格納部11
0に吐き出す動作を全文字分繰り返して行う。ここで、
1文字分の圧縮符号列が圧縮フォント格納部110に書
き込まれると、データ書き込み部109はその文字が圧
縮フォント格納部110の何バイト目から書き始められ
ているかを示す為のアドレスがインデックス格納部11
1にセットされる。逆変換テーブル発生部112は圧縮
符号表格納部107の内容を参照して逆変換テーブルを
生成し、逆変換格納部113に書き込む。図7は逆変換
テーブルの構成を示し、各圧縮符号列に対応してそのビ
ット数と差分値を記憶する構成となっている。
【0016】図8は文書作成機200の構成を概略的に
示したブロック図である。主制御部211は各種プログ
ラムにしたがってこのワードプロセッサの全体動作を制
御するもので、キー操作部212から文書データが入力
されると、主制御部211はこれを取り込んで表示制御
部213に与え、表示装置214から表示出力させた
り、文書メモリ215に文字コードとして格納する文書
作成処理を行う。なお、主制御部211はこの文書メモ
リ215の内容をキー操作部212からの保存指令に応
答して読み出して外部記憶制御装置216に与え、フロ
ッピーディスク等の外部記憶装置217に登録させる。
また、主制御部211は文字フォント再生装置201か
らのアウトラインフォントを印刷用のドットパターン
(文字パターン)に変換して印刷制御部219に与え、
印刷装置220から印刷出力させる。文字フォント再生
装置201は圧縮文字フォントメモリ203、基準文字
フォントメモリ204の他、展開制御部221、出力文
字フォントバッファ222を有する構成で、展開制御部
221は基準文字フォントメモリ204内のデータを1
文字ずつそのまま出力文字フォントバッファ222に展
開し、また圧縮文字フォントメモリ203内のデータを
元のデータ構造に復元再生して出力文字フォントバッフ
ァ222に展開する。
【0017】図9は文字フォント再生装置201の構成
を詳細に示したブロック図である。展開制御部221は
文字コードレジスタ223、基準フォントアクセス部2
24、基準フォントバッファ225、インデックステー
ブルアクセス部226、圧縮フォントアクセス部22
7、圧縮フォントバッファ228、圧縮データ伸長部2
29、フォントデータ再生部230を有する構成となっ
ている。文字コードレジスタ223は文書作成機主装置
202から印刷対象の文字コードが1文字ずつセットさ
れるもので、基準フォントアクセス部224はその文字
コードに対応する基準文字フォントを基準文字フォント
メモリ204から検索して基準フォントバッファ225
にセットする。また、インデックステーブルアクセス部
226は文字コードレジスタ223にセットされている
文字コードに基づいてその文字が圧縮フォント格納部2
05のどこに格納されているかをアクセスする為に、イ
ンデックス格納部206を検索する。この場合、インデ
ックス格納部206の内容はJISの並び順にしたがっ
ている為、インデックステーブルアクセス部226は文
字コードレジスタ223の内容に基づいてインデックス
格納部206から該当アドレスを検索することができ
る。このようにして検索されたアドレスは、圧縮フォン
トアクセス部227に送られる。圧縮フォントアクセス
部227はこのアドレスにしたがって圧縮フォント格納
部205をアクセスし、1文字分の圧縮文字フォントを
読み出して圧縮フォントバッファ228にセットする。
【0018】圧縮データ伸長部229は圧縮フォントバ
ッファ228から読み出された圧縮符号列を逆変換格納
部207内の逆変換テーブルを参照してそれに対応する
差分値に変換してフォントデータ再生部230に与える
動作を1文字分繰り返す。フォントデータ再生部230
は基準フォントバッファ225から読み出されたデータ
が識別子であれば、この識別子を出力文字フォントバッ
ファ222に書き込み、また、基準フォントバッファ2
25から読み出されたデータが座標値であれば、この座
標値に圧縮データ伸長部229からの差分値を加算して
その値を出力文字フォントバッファ222に書き込む動
作を1文字分繰り返す。
【0019】次に、本実施例の動作を図10、図11を
参照して説明する。なお、図10は文字フォント圧縮装
置100の動作を示したフローチャート、図11は文書
作成機200の文字フォント再生装置200の動作を示
したフローチャートである。最初に、文字フォント圧縮
装置100の動作を図10に示すフローチャートにした
がって説明する。先ず、文字フォント圧縮装置100は
回数カウンタアレイ105をクリアしてその値を初期化
しておく(ステップA1)。次に基準文字フォント格納
部102の先頭から1文字分の文字フォントデータを読
み出すと共に(ステップA2)、これに対応して圧縮対
象文字フォント格納部101の先頭から1文字分の文字
フォントデータを読み出す(ステップA3)。そして、
この圧縮対象文字フォントを構成する各データを順次ア
ドレス指定する為のデータポインタ(図示せず)をクリ
アしてその内容を初期化しておく(ステップA4)。こ
のようにして初期設定が終ると、文字フォント圧縮装置
100はデータポインタによってアドレス指定される文
字フォントのデータが識別子か、つまり、図3に示す様
に、開始点識別子「00」、直線終了点識別子「0
1」、ベジェール識別子「02」、1輪郭線の終了識別
子「03」、1文字終了識別子「04」かを判別する。
ここで、最初のデータは識別子、つまり開始点識別子
「00」が指定されるので、そのデータを読み飛ばす為
に、ステップA8に進み、データポインタの値を更新す
る。そして、次のステップA9ではこの識別子が1文字
終了識別子「04」かを判別するが、この場合、1文字
終了識別子ではないので、ステップA5に戻る。
【0020】次に、圧縮対象文字フォントにおいて、開
始点識別子に続いて読み出されるデータは、開始点座標
である為、ステップA5でそのことが検出されてステッ
プA6に進み、差分演算器103を起動させる。ここ
で、差分演算器103はデータポインタによって指定さ
れる基準文字フォントの座標データと圧縮対象文字フォ
ントの座標データ同士を比較してその差分値を計算し、
データ出現回数計数部104に与える。すると、データ
出現回数計数部104は回数カウンタアレイ105を構
成する各カウンタのうちこの差分値に対応するカウンタ
に「1」を加算してその回数を更新する(ステップA
7)。ここで、基準文字フォントに対する圧縮対象文字
フォントの“ずれ”がプラス方向であれば差分値はプラ
スの値、マイナス方向であればマイナスの値を持ち、そ
れに対応して回数カウンタ値の更新が行われる。このよ
うにデータポインタによって指定されたデータが識別子
であれば、それを読み飛ばすが、座標データであれば、
その差分値を求めて対応する回数カウンタの値を更新す
る。
【0021】次に、データポインタを更新し(ステップ
A8)、このポインタによって指定されるデータが1文
字終了識別子でなければ、再びステップA5に戻る。こ
のようにして文字フォント圧縮装置100はデータポイ
ンタを更新しながら1文字分のデータを全て指定し終る
まで上述の動作を繰り返す。ここで、1文字分の処理が
終ると、ステップA10に進み、全文字(例えば13,
000文字)分の処理が終ったかを調べ、終っていなけ
ればステップA2に戻り、基準文字フォント格納部10
2から次の文字フォントを読み出すと共に、これに対応
して圧縮対象文字フォント格納部101から次の文字フ
ォントを読み出して以下、上述の動作を繰り返す。
【0022】このようにしてデータ出現回数計数部10
4が全文字文の処理を終えると、圧縮符号表発生部10
6が起動される(ステップA11)。圧縮符号表発生部
106は回数カウンタアレイ105の内容に基づいて、
図6に示す様な構成の圧縮符号表をハフマン符号化法な
どの発生アルゴリズムにしたがって発生し、圧縮符号表
格納部107に書き込む。この場合、回数カウンタアレ
イ105のカウンタ値が大きい値、つまり、データ出現
頻度の高いものについては少ないビット数の圧縮符号が
発生される。次に、逆変換テーブル発生部112が起動
され、圧縮符号表格納部107の内容に基づいて図7に
示す様な構成の逆変換テーブを発生し、これを逆変換格
納部113に書き込む(ステップA12)。このように
して逆変換テーブルが完成すると、文字フォント圧縮装
置100は次のステップA13でデータ書き込み部10
9の出力ポインタ(図示せず)の値を「0」に初期化し
たのち、圧縮対象文字フォントに対する圧縮動作を開始
する。なお、上記出力ポインタはデータ書き込み部10
9が圧縮フォント格納部110に対してデータを出力す
る際、そのビット位置を記憶するもので、1ビット分の
データを出力すると、その値はプラス「1」されるポイ
ンタである。
【0023】いま、圧縮対象文字フォントに対する圧縮
動作を開始すると、文字フォント圧縮装置100は、先
ず、インデックス格納部111に出力ポインタの値を書
き込む(ステップA14)。最初は出力ポインタの値は
「0」、したがってインデックス格納部111に「0」
が書き込まれるが、これは先頭文字が圧縮フォント格納
部110の0ビット目から始まっていることを示してい
る。次に文字フォント圧縮装置100は、上述したステ
ップA2〜A6に対応する同様の処理(ステップA15
〜A19)を実行する。即ち、基準文字フォント格納部
102、圧縮対象文字フォント格納部101の先頭から
1文字分の文字フォントを読み込み(ステップA15、
A16)、また、圧縮対象文字フォントを構成する各デ
ータを順次指定するデータポインタに初期値をセットす
る(ステップA17)。そして、このデータポインタに
よって指定されたデータが識別子か否かをチェックし
(ステップA18)、識別子であればそれを読み飛ばす
為にステップA22に進むが、識別子ではなく座標デー
タであれば、ステップA19に進み、差分演算器103
は両フォントの座標データ同士を比較してその差分値を
求め、これを圧縮符号化部108に与える。すると、圧
縮符号化部108が起動される(ステップA20)。圧
縮符号化部108は差分演算器103から差分値が送ら
れて来る毎に圧縮符号表格納部107をアクセスし、こ
の差分値を対応する圧縮符号列に変換して吐き出す動作
を行う。すると、データ書き込み部109は圧縮符号化
部108からの圧縮符号列を出力ポインタの値に対応す
る圧縮フォント格納部110のビット位置から書き込
む。
【0024】次に、圧縮符号列の書き込みが終ると、デ
ータ書き込み部109は出力ポインタの値を更新する
(ステップA21)。そして、データポインタの値が更
新され(ステップA22)、その値で指定されるデータ
が1文字終了識別子か否かがチェックされる(ステップ
A23)。ここで、1文字終了か検出されるまでステッ
プA18に戻り、上述の動作が繰り返される。いま、1
文字分の処理が終り、次の文字を読み込んで同様の処理
を実行する際には、ステップA24からステップA14
に戻り、データ書き込み部109は再びインデックス格
納部111に出力ポインタの値を書き込む。この様な処
理を全文字分繰り返すことで、圧縮フォント格納部11
0には座標差分値に応じた圧縮符号列が全文字分格納さ
れ、また、インデックス格納部111には各文字毎に文
字の先頭データが格納されているビット位置のアドレス
が格納されていることになる。以上で「圧縮文字フォン
トデータ」、「インデックステーブル」、「逆変換テー
ブルが揃い、全文字分の圧縮が終了したことになる。す
ると、文字フォント圧縮装置100は圧縮フォント格納
部110、インデックス格納部111、逆変換格納部1
13の内容を出力し、文書作成機200内において、圧
縮文字フォントメモリ203を構成する格納部205〜
207に組み込むと共に、基準文字フォント格納部10
2の内容を出力し、文書作成機200の基準文字フォン
トメモリ204に組み込む。
【0025】このようにして圧縮フォントデータ、イン
デックステーブル、逆変換テーブルが組み込まれた状態
において、文書作成機200は図11のフローチャート
に従って動作する。いま、文書印刷時において、印刷対
象の文字コードが文書メモリ215から読み出され、主
制御部211を介して文字フォント再生装置201に与
えられると、この文字コードは展開制御部221内の文
字コードレジスタ223にセットされる。すると、基準
フォントアクセス部224はこの文字コードに基づいて
基準文字フォントメモリ204を検索し、該当する基準
文字フォントを基準フォントバッファ225に書き込ん
でおく(ステップB1)。次に、インデックステーブル
アクセス部226は文字コードレジスタ223の内容に
基づいてインデックス格納部206から該当するアドレ
スを検索し、圧縮フォントアクセス部227はこのアド
レスに対応する1文字分の圧縮文字データ(圧縮符号
列)を読み込んで圧縮フォントバッファ228に転送し
ておく(ステップB2)。次に、文字フォント再生装置
201は基準フォントバッファ225内に格納した基準
文字フォントのうち、先ずその先頭データをアドレス指
定する為に基準文字ポインタ(図示せず)にその先頭ア
ドレスをセットしておく(ステップB3)。また、文字
フォント再生装置201は圧縮フォントバッファ228
内に格納した圧縮文字フォントのうち、先ずその先頭の
データをアドレス指定する為に圧縮文字ポインタ(図示
せず)にその先頭アドレスをセットしておく(ステップ
B4)。更に、文字フォント再生装置201は出力文字
フォントバッファ222の先頭アドレスを指定する為の
値を出力文字ポインタ(図示せず)にセットしておく
(ステップB5)。
【0026】このような初期設定処理が終ると、基準文
字ポインタの指定によって読み出された基準文字フォン
トのデータが識別子か否かを判別し(ステップB6)、
識別子であれば、出力文字ポインタで指定される出力文
字フォントバッファ222のアドレス位置に基準文字フ
ォントの識別子をそのまま書き込む(ステップB7)。
そして、次のステップB8ではこの識別子が1文字終了
識別「04」であるか否かを判別するが、最初は開始点
識別子が読み出されるので、ステップB13に進み、基
準文字ポインタの値を更新すると共に、出力文字ポイン
タの値を更新し(ステップB14)その後、ステップB
6に戻る。
【0027】いま、基準文字フォントの次のデータが識
別子に続く座標データであれば、ステップB6でそのこ
とが検出されてステップB9に進み、圧縮データ伸長部
229を起動させる。ここで、圧縮データ伸長部229
は圧縮文字ポインタの値で指定される圧縮フォントバッ
ファ228から圧縮符号列を読み出し、この圧縮符号列
に基づいて逆変換格納部207を検索し、対応する差分
値(座標の“ずれ”)を読み出してフォントデータ再生
部230に与える(ステップB9)。すると、フォント
データ再生部230は圧縮データ伸長部229から送ら
れて来た差分値を、基準文字ポインタの値によって基準
フォントバッファ225から読み出された基準文字フォ
ントの座標データに加算し(ステップB10)、この加
算結果を出力文字ポインタの値で指定される圧縮フォン
トバッファ228から圧縮符号列を読み出し、この圧縮
符号列に基づいて逆変換格納部207を検索し、対応す
る差分値(座標の“ずれ”)を読み出してフォントデー
タ再生部230に与える(ステップB9)。すると、フ
ォントデータ再生部230は圧縮データ伸長部229か
ら送られて来た差分値を、基準文字ポインタの値によっ
て基準フォントバッファ225から読み出された基準文
字フォントの座標データに加算し(ステップB10)、
この加算結果を出力文字ポインタの値でアドレス指定さ
れる出力文字フォントバッファ222に書き込む(ステ
ップB11)。その後、圧縮文字ポインタ(ステップB
12)、基準文字ポインタ(ステップB13)、出力文
字ポインタ(ステップB14)の値をそれぞれ更新した
のち、ステップB6に戻る。
【0028】このような動作を1文字終了識別子が基準
文字フォントから読み出されるまで繰り返される。これ
によって出力文字フォントバッファ222には1文字分
のデータが復元再生される。ここで、文書作成機主装置
202はこの出力文字フォントバッファ222内の文字
フォントを読み出してそれをドットパターンに変換して
印字出力させる。以下、同様に印刷対象の文字コードが
文字フォント再生装置201に転送される毎に1文字づ
つ圧縮文字フォントは通常の無圧縮文字フォントに再生
させて印字出力される。
【0029】以上のように本実施例においては、同一構
造を持ち、座標データの座標値のみが異なる標準の太さ
を持つ明朝体フォントを基準文字フォントとし、標準よ
りも太めの明朝体フォントを圧縮対象文字フォントとす
る。そして、文字フォント圧縮時に、基準文字フォント
から読み出したデータが識別子であれば、それを読み飛
ばして圧縮文字フォント組み込まないようにし、識別子
ではなく座標データであれば、それを圧縮して圧縮文字
フォントとする。即ち、両フォントを比較して対応する
座標データ同士の差分値を算出し、この差分値の出現頻
度をカウントする動作を全文字分繰り返すことによって
データの出現頻度を偏らせ、この出現頻度に応じて冗長
部分を抑制した圧縮符号列を発生させ、この圧縮符号列
で圧縮対象文字フォントの座標データを置き換える。こ
のようにして圧縮文字フォントを生成するようにしたか
ら高い圧縮率を得ることが可能となる。この場合、標準
よりも太めの明朝体フォントにおいては、圧縮前のデー
タ容量に対し、40%を切る容量に圧縮することができ
る。
【0030】このように同じ系列の書体で太さが異なる
文字フォントの場合には圧縮率40%を得ることが可能
であるか、異なる書体系列の文字フォントの場合にも多
少圧縮率が低下するものの実用的には十分効果のある圧
縮率を得ることができる。即ち、図12は同じ太さで書
体が異なる文字フォント例を示し、(A)は標準の太さ
を持った明朝体フォント、(B)は標準の太さを持った
ゴシック体フォントを示している。ここで、両フォント
の「あ」の文字は同一データ構造で座標値のみが異なる
もので、図12の(B)に示すゴシック体フォントにお
いて、「あ」の文字を構成する横線は直線であり、本
来、ベジェール曲線の第1制御点〇や第2制御点●は不
要であるが、明朝体フォントとデータ構造を同一とする
為にあえて設けてある。つまり、両フォントを構成する
各座標点の数や順番は同一であるが、両者は座標点の位
置のみが相違している。図13(A)は図12で示した
両フォントを重ね合わせた状態を示し、(B)はその一
部拡大図である。ここで、図中、明朝体フォントの座標
点をA1、A2、A3……、ゴシック体の座標点をB
1、B2、B3……とすると、ベジェール曲線の終点×
のA1とB1、A2とB2、またベジェール曲線の第2
制御点●のA3とB3とが対応関係にあり、これ以外の
全ての座標点も1:1に対応付けられている。このよう
に書体系列が異なる両フォントであっても同一のデータ
構造とすることによりフォントの圧縮/再生が可能とな
る。この場合、データを1:1に対応付ける為、本来の
文字フォントデータよりも約20%程度データ量が増え
るが、本実施例におけるデータ圧縮を行なうと圧縮率は
60%程度となり、それでも十分高い圧縮率を得ること
が可能である。
【0031】このようにして文字フォントデータを圧縮
したとしても文書作成機200には圧縮文字フォントデ
ータと共にインデックステーブル、逆変換テーブルおよ
び基準文字フォントデータが組み込まれるので、文書作
成機200はこれらを使用して圧縮文字フォントを通常
の無圧縮文字フォントに容易に復元再生することができ
る。したがって、文書作成機200においては少ないメ
モリ容量で多くの書体の文字フォントを組み込むことが
可能となる。
【0032】なお、上記実施例は基準文字フォントに対
して1つの文字フォントを圧縮対象フォントとしたが、
基準文字フォントに対して2以上の文字フォントを圧縮
対象文字フォントとしても良い。また、上記実施例にお
いては座標の“ずれ”をプラス/マイナスの差分値とし
て算出するようにしたが、差分値を絶対値として算出
し、それにプラス/マイナス符号を付するようにすれ
ば、更に高い圧縮率を得ることが可能となる。
【0033】
【発明の効果】この発明によれば、同一のアウトライン
構造を持ち、座標データのみが異なる複数の書体の文字
フォントのうち、その何れかを基準文字フォント、その
他を圧縮対象の文字フォントとし、基準文字フォントに
対する圧縮対象文字フォントの座標の“ずれ”を検出し
てデータの出現頻度を偏らせ、それを冗長性をカットす
る特性を持った圧縮技法を用いて圧縮することにより、
高い圧縮率を得、この圧縮文字フォントを基準文字フォ
ントと共に文書作成機に組み込むことで、容量の少ない
メモリに複数の書体の文字フォントを効率良く内蔵させ
ることができる。なお、基準文字フォントと圧縮対象文
字フォントとを比較する際に、所定の文字フォントから
読み出されたデータが以降に続く座標データの種類を示
す識別子であれば、この識別子を読み飛ばすことによっ
て圧縮符号列のみから成る圧縮文字フォントを生成する
ようにすれば、更に高い圧縮率を得ることが可能であ
る。
【図面の簡単な説明】
【図1】実施例に係る文字フォントの圧縮/再生過程を
概略的に説明するための図。
【図2】文字フォント圧縮装置100のブック構成図。
【図3】基準文字フォントおよび圧縮対象文字フォント
のデータ構造を説明するための図。
【図4】同一書体で太さが異なる文字フォント例を示
し、(A)は標準の太さを持つ明朝体を基準文字フォン
トとした場合、(B)は標準よりも太い明朝体を圧縮対
象文字フォントとした場合のフォント例を示した図。
【図5】図4で示した両方の文字フォントを重ね合わせ
ることにより座標の対応関係を説明する為の図で(B)
はその一部拡大図。
【図6】圧縮符号表の構成を概略的に示した図。
【図7】逆変換テーブルの構成を概略的に示した図。
【図8】文書作成機200のブロック構成図。
【図9】文書作成機200内の文字フォント再生装置2
01のブロック構成図。
【図10】文字フォント圧縮装置100の動作を示した
フローチャート。
【図11】文字フォント再生装置201の動作を示した
フローチャート。
【図12】同じ書体で太さが異なる文字フォント例を示
し、(A)は明朝体の文字フォント、(B)はゴシック
体の文字フォントを示した図。
【図13】図12で示した両フォントを重ね合わせるこ
とにより座標の対応関係を説明する為の図で、(B)は
その一部拡大図。
【符号の説明】
100 文字フォント圧縮装置 101 圧縮対象文字フォント格納部 102 基準文字フォント格納部 103 差分演算器 104 データ出現回数計数部 105 回数カウンタアレイ 106 圧縮符号表発生部 107 圧縮符号表格納部 108 圧縮符号化部 109 データ書き込み部 110 圧縮フォント格納部 112 逆変換テーブル発生部 113 逆変換格納部 200 文書作成機

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】同一のアウトラインフォント構造を持ち、
    座標データの座標値のみが異なる第1の書体の基準文字
    フォントと第2の書体の圧縮対象文字フォントとを比較
    して対応する座標データ同士の差分値を検出し、 この座標差分値の出現頻度を差分値別に計数し、 この出現頻度に応じて冗長部分を抑制した圧縮符号列を
    発生させ、 この圧縮符号列で前記圧縮対象文字フォントの座標デー
    タを置き換えることで圧縮文字フォントを生成し、 この圧縮文字フォントを前記基準文字フォントと共に文
    書作成機に組み込むようにしたことを特徴とする文字フ
    ォント圧縮方法。
  2. 【請求項2】前記基準文字フォントと圧縮対象文字フォ
    ントとを比較する際に、いずれかの文字フォントから読
    み出されたデータが以降に続く座標データの種類を示す
    識別子であれば、この識別子を読み飛ばすことによって
    前記圧縮符号列のみから成る圧縮文字フォントを生成す
    るようにしたことを特徴とする請求項(1)記載の文字
    フォント圧縮方法。
JP5354261A 1993-12-30 1993-12-30 文字フォント圧縮方法 Pending JPH07199894A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5354261A JPH07199894A (ja) 1993-12-30 1993-12-30 文字フォント圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5354261A JPH07199894A (ja) 1993-12-30 1993-12-30 文字フォント圧縮方法

Publications (1)

Publication Number Publication Date
JPH07199894A true JPH07199894A (ja) 1995-08-04

Family

ID=18436357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5354261A Pending JPH07199894A (ja) 1993-12-30 1993-12-30 文字フォント圧縮方法

Country Status (1)

Country Link
JP (1) JPH07199894A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212679B2 (en) 2001-02-27 2007-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Font compression and retrieval

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212679B2 (en) 2001-02-27 2007-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Font compression and retrieval

Similar Documents

Publication Publication Date Title
EP0293161B1 (en) Character processing system with spelling check function
JP3225638B2 (ja) データを圧縮するための装置及び方法並びにデータ処理システム
JPH0218514B2 (ja)
US5815096A (en) Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure
US9391636B2 (en) Method and system
JP2968112B2 (ja) 符号変換方法
JPH07199894A (ja) 文字フォント圧縮方法
US6226411B1 (en) Method for data compression and restoration
JPH07199895A (ja) 文字フォント再生方法
JPWO2014030180A1 (ja) 符号化情報生成プログラム、符号化情報生成方法、符号化情報生成装置、復号化情報生成プログラム、復号化情報生成方法及び復号化情報生成装置
JPH0546357A (ja) テキストデータの圧縮方法および復元方法
JPH0554077A (ja) 単語辞書検索装置
JPH06195058A (ja) 文字パターンデータ圧縮装置
JP3360334B2 (ja) 圧縮文字パターン再生装置
JPH06195063A (ja) 文字パターンデータ圧縮装置
JPH0964753A (ja) データ圧縮装置、及びデータ伸長装置
JPH07282242A (ja) 文字フォント圧縮装置及び圧縮方法
JPH02190080A (ja) 画像符号化装置
JPH06195059A (ja) 文字パターンデータ圧縮装置
JP3115066B2 (ja) 辞書検索方法
JPH06195061A (ja) 文字パターンデータ圧縮装置
KR970006033B1 (ko) 이미지데이타와 텍스트데이타의 합성에 의한 문서작성 방법
JPH06195060A (ja) 圧縮文字パターン再生装置
JPH05281948A (ja) フォントパターン圧縮記憶方法
JPH09114854A (ja) 文書検索システム