JPH06242765A - フォントキャッシュシステム装置 - Google Patents

フォントキャッシュシステム装置

Info

Publication number
JPH06242765A
JPH06242765A JP5055180A JP5518093A JPH06242765A JP H06242765 A JPH06242765 A JP H06242765A JP 5055180 A JP5055180 A JP 5055180A JP 5518093 A JP5518093 A JP 5518093A JP H06242765 A JPH06242765 A JP H06242765A
Authority
JP
Japan
Prior art keywords
font
character
area
cache
record
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
JP5055180A
Other languages
English (en)
Inventor
Hiroshi Ota
寛 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP5055180A priority Critical patent/JPH06242765A/ja
Publication of JPH06242765A publication Critical patent/JPH06242765A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 フォントキャッシュシステム装置において、
キャッシュできるフォント数を多くすること。 【構成】 フォントキャッシュシステム装置では、フォ
ントキャッシュメモリ内に、ビットマップデータを格納
するキャッシュエリア8−2と、その格納位置を示すフ
ォント検索テーブル8−1とが形成される。フォント検
索テーブル8−1を構成するに際し、第1水準文字のよ
うに使用頻度が大の文字C1 の文字コードに対しては、
従来と同様、個別に専用のテーブル区画欄を設ける。し
かし、第2水準文字のように使用頻度が小の文字C2
文字コードに対しては個別に設けず、幾つかの文字コー
ドに対して1つのテーブル区画欄を設ける。そして、そ
れを共用させる。これにより、フォント検索テーブル
を、従来より少ないメモリ量で構成でき、それだけキャ
ッシュエリアを広くすることが出来る。すると、キャッ
シュできるフォント数が多くなり、フォントデータをよ
り一層高速に提供することが出来る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プリンタ等へ高速にフ
ォントを提供するためのフォントキャッシュシステム装
置に関するものである。
【0002】
【従来の技術】プリンタ等へ高速にフォントを提供する
ため、全てのフォントのアウトラインデータ(ベクトル
データ)を格納している大容量の記憶装置の他に、小容
量だが高速に読み出すことの出来るキャッシュメモリを
設け、使用頻度の高いフォントのビットマップデータを
一時的にそこへ格納し、そこから提供するようにしたフ
ォントキャッシュシステム装置が知られている。
【0003】図7は、そのようなフォントキャッシュシ
ステム装置の構成を示す図である。図7において、1は
フォントキャッシュシステム装置、2はCPU(中央演
算処理装置)、3はアドレスバス、4はデータバス、5
はROM(リードオンリメモリ)、6はワークRAM
(RAM…ランダムアクセスメモリ)、7はインタフェ
ース、8はフォントキャッシュRAM、9はページメモ
リ、10はDMAコントローラ(DMA…Direct Memor
y Access)、11はSCSIコントローラ(SCSI…
スカジ。ハードディスク用のインタフェース)、12は
ハードディスク、13はホストコンピュータ、14はプ
リンタエンジン、17はインタフェースである。
【0004】ROM5は、CPU2で実行する種々のプ
ログラムを格納するためのものであり、ワークRAM6
は、プログラムを実行する際の作業用メモリエリアを提
供する。全てのフォントは、ベクトルデータの形でハー
ドディスク12に格納されている。プリンタエンジン1
4で印刷する文字等の印字情報(例、文字コード)は、
ホストコンピュータ13よりインタフェース7を介して
与えられる。
【0005】その文字コードに対応したフォントは、ま
ずフォントキャッシュRAM8の中を探され、有ればそ
こから読み出し、ページメモリ9に展開する。もし無け
れば、ハードディスク12より読み出し、ベクトルデー
タを基にして所望のサイズのビットマップデータを生成
し、それをページメモリ9に展開すると共に、フォント
キャッシュRAM8に蓄える。ページメモリ9に1ペー
ジ分のフォントが展開されると、プリンタエンジン14
のインタフェース17を通してプリント開始コマンドを
送出し、DMAコントローラ10を経て、プリントデー
タ(ビットマップデータ)がプリンタエンジン14へシ
リアルに送出され、印刷が実行される。
【0006】なお、当初、フォントキャッシュRAM8
には何も格納されていない。ハードディスク12から読
み出される毎に、フォントキャッシュRAM8にそのフ
ォントに関するレコード(レコードの構成は、後で図9
で説明する)が記録されてゆく。
【0007】〔フォントキャッシュRAMの構成〕ま
ず、フォントキャッシュRAM8の構成について説明す
る。図8は、フォントキャッシュRAM8の全体構成を
説明する図である。図8において、8−1はフォント検
索テーブル、8−2はキャッシュエリア、80はテーブ
ル区画欄、81は使用レコード、82は空きレコード、
CPは新規登録ポインタである。
【0008】フォントキャッシュRAM8には、フォン
ト検索テーブル8−1とキャッシュエリア8−2が含ま
れている。キャッシュエリア8−2には、ビットマップ
データ等のフォントに関するレコードが登録され、フォ
ント検索テーブル8−1には、そのレコードが登録され
ている場所を示す情報が記録される。
【0009】フォント検索テーブル8−1は、フォント
のコード数と同じ数の区画に分けられており、或る1つ
のフォントコードに対して特定の1つの区画が対応付け
られている。例えば、Aという文字を表すフォントコー
ドに対しては、テーブル区画欄80という区画が割り当
てられている。
【0010】そして、もしAのフォントがキャッシュエ
リア8−2に登録されていれば、テーブル区画欄80の
中には、その登録場所(番地)を示す情報が書き込まれ
ている。同じフォントコードのフォントが複数個登録さ
れている場合には、その内の1つの登録場所が書き込ま
れる。登録されていなければ、書き込まれていない(Nu
llとされている)。
【0011】キャッシュエリア8−2の中で、ドットを
付してある部分は、ハードディスク12から読み出され
たフォントに関するレコードを登録するのに使用してい
るレコード領域、つまり使用レコードの部分である。ド
ットを付してない部分は、そのようには使用されていな
いレコード領域、つまり空きレコードの部分である。横
に引いた直線は、レコードの区切りを示している。
【0012】新規登録ポインタCPは、フォントに関す
るレコードを新規に登録する場合の位置を示すポインタ
であり、キャッシュエリア8−2内を一定の方向にリン
グ的に進められる。その一定の方向を、図8では上から
下へという方向にすると、最下端の次には最上端へと進
められる。
【0013】〔レコードの構成〕図9は、使用レコード
および空きレコードの構成を説明する図である。図9
(ロ)は、空きレコード82の構成を示している。これ
には、空いていることを表す「空きフラグ」が記され、
空きレコードのエリアのサイズを表す「空きサイズ」が
記されている。
【0014】図9(イ)は、使用レコード81の構成を
示している。使用レコード81は、フォントの属性に関
する情報を記録するエリアとビットマップデータを記録
するエリアとから成っている。フォントの属性に関する
情報としては、例えば、フォント種(例、明朝体,ゴシ
ック体)、フォントコード(文字コード等)、フォント
サイズ(縦,横の長さ)、ヒット回数、同一コードNE
XTポインタ、同一コードBEFOREポインタ等があ
る。図9(イ)では、ビットマップデータの例として、
「A」が示してある。
【0015】ヒット回数は、キャッシュエリア8−2内
を一定の方向に向かって循環しているポインタが一周し
て来る間に、何回このフォントが使用されたかを示す回
数である。
【0016】「同一コードNEXTポインタ」、「同一
コードBEFOREポインタ」は、フォントキャッシュ
RAM8内に同一コードのフォントが複数個登録されて
いる場合、それらの内で、この使用レコード81が使用
される前および後に使用されたレコードの所在場所を示
すポインタである。即ち、同一コードBEFOREポイ
ンタは、使用レコード81がヒットする前に、それと同
一コードでヒットしたフォントの所在場所を示す。同一
コードNEXTポインタは、使用レコード81がヒット
した後に、それと同一コードでヒットしたフォントの所
在場所を示す。
【0017】同一コードNEXTポインタ、同一コード
BEFOREポインタを辿って行くと、フォントキャッ
シュRAM8に登録されている同一コードのフォントを
次々と探し出すことが出来ると共に、ヒットの順番が分
かる。同一コードのフォントは、これらのポインタを介
して鎖状につながれていると見ることが出来るから、言
わば「検索チェーン」が形成される。最新にヒットした
ものが、その検索チェーンの先頭に位置することにな
る。
【0018】〔検索チェーン〕図10は、検索チェーン
を説明する図である。符号は図8のものに対応し、R4
〜R7 は、同じフォントコード(Aという文字のフォン
トコードと仮定する)ではあるが、フォント種の違うレ
コードを表している(図中の「A1 」,「A2」,「A
3 」,「A4 」は、フォント種が違うことを表してい
る)。〜は、ヒットの新しさの順位(ヒット最新性
順位)を示している。のレコードR4 が、最新にヒッ
トしたレコードである。
【0019】順位のレコードR5 に注目した場合、こ
れの同一コードNEXTポインタには、この後にヒット
したレコードR4 の所在場所が書き込まれ、同一コード
BEFOREポインタには、その前にヒットしたレコー
ドR6 の所在場所が書き込まれている。
【0020】〔動作〕次に、以上のように構成したフォ
ントキャッシュシステム装置の制御動作を、図11のフ
ローチャートによって説明する。 ステップ1…ホストコンピュータ13から印字すべき文
字コード(フォントコード)を受け取ると、フォント検
索テーブル8−1内の該文字コードに対応して定められ
ているテーブル区画欄を調べることにより、その文字コ
ードのフォントがキャッシュエリア8−2に登録されて
いるか否か調べる。もし、登録されていなければ、ステ
ップ4に進み、ハードディスク12からアウトラインデ
ータを読み出し、その後ビットマップに変換してフォン
トキャッシュRAM8に新規登録する。
【0021】ステップ2…登録されていた場合、そのレ
コード(使用レコード)にアクセスする。今仮に、求め
ているのは図10(イ)のレコードR6 であるとする。
また、その文字コードを「A」とする。フォント検索テ
ーブル8−1内の、文字コードAに対応して定められて
いるテーブル区画欄80には、文字コードAのレコード
群の内、検索チェーンの先頭()に位置するレコード
4 の所在場所が書いてあるので、まずそこにアクセス
する。
【0022】そして、アクセスしたレコードR4 の図9
(イ)に示した事項(特に、属性情報)を見ることによ
り、今求めている文字のフォントのフォント種,サイズ
等と一致しているかどうか調べる。求めているものと一
致した場合、そのレコードを検索チェーンの先頭に位置
せしめる。検索チェーンの先頭に位置せしめるというこ
との意味を、図10を参照しながら説明する。
【0023】まず、検索チェーンの先頭(ヒット最新性
順位)とは、検索チェーンで結ばれている複数個のレ
コードの内で、次回にフォント検索テーブル8−1から
アクセスされるレコードの位置のことである。図10の
点線矢印は、フォント検索テーブル8−1からアクセス
するレコードを指し示している。図10(イ)では、テ
ーブル区画欄80にはレコードR4 の所在場所が書かれ
ている。
【0024】図11のステップ2でヒットしたレコード
が、レコードR4 でなくレコードR6 であるとすると、
図10(ロ)に示すように、検索チェーンのヒット最新
性順位の位置に、レコードR6 を位置せしめる。具体
的には、テーブル区画欄80の内容を、レコードR6
所在場所を示すように書き換える。テーブル区画欄80
の内容は、例えば4バイト程度で表されるから、この書
き換えに要する時間は極めて短い。
【0025】また、他のレコードのヒット最新性順位
も、レコードR4 をに、レコードR5 をにという具
合に変更する。そして、ヒット最新性順位の変更に伴
い、各レコード内の同一コードNEXTポインタや同一
コードBEFOREポインタを、必要に応じて書き換え
る。因みに、のレコードR6 の同一コードBEFOR
Eポインタは、のレコードR4 の所在場所を表すよう
に書き換えられる。レコードR4 ,R5 のNEXTポイ
ンタ,BEFOREポインタも、互いにレコードR4
5 を接続するように書き換えられる。
【0026】ステップ3…ヒットしたレコードに記して
あるヒット回数の値を、今回ヒットしたから1増加す
る。 ステップ4…求めているフォントがキャッシュエリア8
−2に存在しなかった場合(ヒットしなかった場合)、
ハードディスク12からワークRAM6にアウトライン
データを読み出す。 ステップ5…読み出したアウトラインデータを、ビット
マップデータに変換する。
【0027】ステップ6…変換したビットマップデータ
のデータサイズが、所定値以下か(例、2キロバイト以
下か)をチェックする。このチェックは、フォントキャ
ッシュRAM8に登録しておくかどうかを決めるための
ものである。あまりにもデータサイズが大であるもの
は、フォントキャッシュRAM8の領域を多く占めてし
まうので、登録することはしない。
【0028】ステップ7…データサイズが所定値以下で
あれば、フォントキャッシュRAM8に登録する。 ステップ8…ヒットしたレコードのビットマップデータ
あるいは新たに展開したビットマップデータを、ページ
メモリ9に転送する。このビットマップデータが、プリ
ンタエンジン14での印字に使用される。
【0029】なお、このようなフォントキャッシュシス
テム装置に関する従来の文献としては、例えば、特開昭
61-63884号公報,特開昭64-88660号公報がある。
【0030】
【発明が解決しようとする課題】
(問題点)前記した従来のフォントキャッシュシステム
装置では、フォント検索テーブル8−1に、使用頻度の
少ない第2水準文字についても第1水準文字と同様、1
つの文字コードに対して1つづつテーブル区画欄を設け
ている。しかし、フォントの高速提供のために用意され
た貴重なフォントキャッシュRAM8の一部領域が、あ
まり活用されないまま、使用頻度の少ない文字のために
占有されているのは、メモリの有効活用の観点から見て
好ましくないという問題点があった。
【0031】(問題点の説明)図2は、従来のフォント
キャッシュシステム装置におけるフォントキャッシュR
AMの構成を示す図(図8のフォント検索テーブル8−
1を詳細に描いたもの)であり、符号は図8のものに対
応している。0000H,0001H等は、16進法で
表した文字コードであり、フォント検索テーブル8−1
には、それら文字コードに対して1つづつテーブル区画
欄が設けてある。テーブル区画欄は、例えば4バイトか
ら成っている。そこには、その文字コードのフォントデ
ータが格納されているところのキャッシュエリア8−2
内の領域(つまり、使用レコード)の先頭アドレス(ポ
インタ)が書き込まれる。
【0032】図2では、文字コード0110Hのテーブ
ル区画欄には「P」と書き込まれているが、このPは、
文字コード0110Hのフォントデータが格納されてい
る使用レコード81のポインタPを表している。もし、
文字コード0001Hの文字が使用されなかった場合に
は、キャッシュエリア8−2にその文字のフォントデー
タが格納されることはないから、文字コード0001H
のテーブル区画欄には、キャッシュエリア8−2内のど
こかの領域を指すポインタは書き込まれない。
【0033】図2で、C1 は第1水準文字を表し、C2
は第2水準文字を表している。従来は、両方の水準の文
字全てについてテーブル区画欄を設けているが、第2水
準文字の使用頻度は少ないので(尤も、頻度の少ない文
字を第2水準文字と決めてあるわけであるが)、それら
に対応するテーブル区画欄には、殆どポインタが書き込
まれない。従って、第2水準文字のテーブル区画欄は、
あまり活用されないままキャッシュエリア8−2内の貴
重なメモリを占有し続けており、メモリの効率的な使用
を妨げている。本発明は、このような問題点を解決する
ことを課題とするものである。
【0034】
【課題を解決するための手段】前記課題を解決するた
め、本発明では、フォントのアウトラインデータより作
成したビットマップデータを登録するフォントキャッシ
ュメモリを有し、要求されたフォントがフォントキャッ
シュメモリにある場合はそれを取り出して使用し、無い
場合はアウトラインデータを読み出して作成したビット
マップデータを使用するフォントキャッシュシステム装
置において、フォントキャッシュメモリのフォント検索
テーブルに、使用頻度大の文字の文字コードに対しては
個別に専用のテーブル区画欄を設けるが、使用頻度小の
文字の文字コードに対しては、複数個の文字コードから
成る文字コード群の1つにつき1つのテーブル区画欄し
か設けず、これを共用することとした。
【0035】また、上記のようにすると共に、文字コー
ド群に属する文字のフォントデータがキャッシュエリア
に登録された場合には、キャッシュエリア内に該文字コ
ード群の検索テーブル用領域を確保し、該検索テーブル
用領域に該文字コード群の各文字コードに対して個別に
専用のテーブル区画欄を設けることとしてもよい。
【0036】
【作 用】ビットマップデータを格納するフォントキ
ャッシュメモリを利用したフォントキャッシュシステム
装置では、フォントキャッシュメモリ内に、ビットマッ
プデータを格納するキャッシュエリアと、その格納位置
を示すフォント検索テーブルとが形成されているが、本
発明では、フォント検索テーブルに使用するメモリ量を
少なくして、キャッシュエリアとして使えるメモリ量を
広くする。
【0037】即ち、フォント検索テーブルを構成するに
際し、第1水準文字のように使用頻度が大の文字の文字
コードに対しては、従来と同様、個別に専用のテーブル
区画欄を設ける。しかし、第2水準文字のように使用頻
度が小の文字の文字コードに対しては個別に設けず、幾
つかの文字コードに対して1つのテーブル区画欄を設け
る。そして、それを共用させる。これにより、フォント
検索テーブルを、従来より少ないメモリ量で構成でき
る。
【0038】ビットマップデータを格納する領域である
キャッシュエリアを広くすれば、キャッシュできるフォ
ント数が多くなり、フォントデータをより一層高速に提
供することが可能となる。
【0039】
【実施例】
(第1の実施例)以下、本発明の実施例を図面に基づい
て詳細に説明する。図1は、本発明の第1の実施例にお
けるフォントキャッシュRAMの構成を示す図である。
符号は、図2のものに対応している。本発明では、使用
頻度の少ない文字の文字コードに対しては、フォント検
索テーブル8−1に1つづつテーブル区画欄を設けるこ
とはせず、幾つかの文字コードを1つのグループとし、
そのグループに対して1つのテーブル区画欄を設ける。
【0040】図1の例では、第2水準文字C2 において
は、5000H〜50FFHの範囲の文字コードに対し
て1つ、5100H〜51FFHの範囲の文字コードに
対して1つというように、256個の文字コードに対し
て1つのテーブル区画欄を設けている。即ち、第2水準
文字に対しては、フォント検索テーブル8−1に使うメ
モリ量を256分の1にする。
【0041】文字コード5000H〜50FFHの範囲
の文字のフォントが使用され、そのフォントデータがキ
ャッシュエリア8−2に格納された時には、その格納領
域81の先頭アドレス(ポインタ)Qが、5000H〜
50FFHのテーブル区画欄に書き込まれる。この格納
されたフォントデータを後に使用する時の検索動作は、
従来と同様である。即ち、まず、フォント検索テーブル
8−1における自己の文字コードに対応するテーブル区
画欄であるところの、5000H〜50FFHのテーブ
ル区画欄を見る。そこに書かれているポインタQを見
て、キャッシュエリア8−2の領域の内、アドレスQか
ら始まる領域にアクセスして、探し求めていたフォント
データを得る。
【0042】第1の実施例によると、使用頻度の少ない
文字の文字コードに対しては、個別にテーブル区画欄を
設けることはせず、幾つかの文字コードに対して1つと
いうことにしたので、フォントキャッシュRAM8内で
テーブル区画欄に費やすメモリ領域が少なくなる。因み
に、図1に示したように、第2水準文字については25
6個の文字コードに対して1個のテーブル区画欄を設け
ることとした場合、175.3Kバイト削減することが
出来る。
【0043】フォント検索テーブル8−1に費やすメモ
リ領域が少なくなった分だけ、キャッシュエリア8−2
の領域を増やすことが出来るが、そうすると、キャッシ
ュできるフォントデータの数が多くなるので、フォント
データの高速提供が、より一層促進される。なお、上例
では、第2水準文字全体を全てグループ分けしている
が、第2水準文字の中でも比較的使用頻度の大な文字コ
ードに対しては1つのテーブル区画欄を設け、残りの文
字コードをグループ分けするという具合にしてもよい。
【0044】(第2の実施例)図3は、本発明の第2の
実施例におけるフォントキャッシュRAMの構成を示す
図である。符号は図1のものに対応し、83は検索テー
ブル用領域、84はテーブル区画欄、85,86はレコ
ード領域、M,Rはポインタである。第1の実施例と相
違する点は、フォント検索テーブル8−1の1つのテー
ブル区画欄に対応させられた文字コード群の文字がキャ
ッシュエリア8−2に格納された時には、該テーブル区
画欄に対応させてキャッシュエリア8−2内に検索テー
ブル用領域83を設け、そこに前記格納された文字のテ
ーブル区画欄84を設けた点である。
【0045】例えば、文字コード5000H〜50FF
Hの範囲の文字が初めて使用され、そのフォントデータ
がキャッシュエリア8−2のレコード領域85に格納さ
れたとする。この時には、5000H〜50FFHの範
囲の文字コードに対する検索テーブル用領域83を、キ
ャッシュエリア8−2内に確保する。確保した検索テー
ブル用領域83のポインタをRとすれば、このRが、図
3に示すように、フォント検索テーブル8−1の500
0H〜50FFHに対応するテーブル区画欄に書き込ま
れる。確保した検索テーブル用領域83には、1つの文
字コードにつき1つのテーブル区画欄84を設け、そこ
にフォントデータを格納したレコード領域85のポイン
タSを書き込む。
【0046】図4に、検索テーブル用領域の構成を示
す。符号は、図3のものに対応している。ここでは、文
字コードが5000H〜50FFHの範囲のものに対す
る検索テーブル用領域83を示している。検索テーブル
用領域83は、検索テーブルフラグ,検索テーブルサイ
ズ,使用テーブル数およびテーブル区画欄84から成っ
ている。
【0047】検索テーブルフラグは、検索テーブル用領
域83が、フォントデータを格納するのに用いられてい
る領域ではないことを示している。そのフラグ値として
は、例えば0FFFFFFFFHを用いる。これは、キ
ャッシュエリア8−2内にフォントデータを次々と登録
する場合、暫く使用されていないフォントデータは削除
してしまうことが行われているが、その場合に、検索テ
ーブル用領域83が、それらと同様の領域として扱われ
て、削除されてしまうのを防止するためである。
【0048】検索テーブルサイズは、この検索テーブル
用領域83のサイズを示し、使用テーブル数は、ポイン
タが書き入れられているテーブル区画欄84の数(空で
ない数)を示している。テーブル区画欄84は、フォン
ト検索テーブル8−1のテーブル区画欄と同じく、フォ
ントデータが格納されているメモリ領域のポインタが書
き込まれる。図4で文字コード5001Hのテーブル区
画欄84に記されている「S」は、その文字のフォント
データが格納されているレコード領域85(図3参照)
のポインタである。
【0049】ところで、一度使用されたものの、暫く使
用されないフォントデータはキャッシュエリア8−2か
ら削除されるが、その時、対応するテーブル区画欄84
に書かれているポインタ(S)も削除される。検索テー
ブル用領域83内の、どのテーブル区画欄にもポインタ
が記載されていないという状態になった時には、この検
索テーブル用領域83自体が削除される。そして、その
領域は、フォントデータの格納用等、任意に使用され
る。
【0050】図5は、第2の実施例のフォントキャッシ
ュシステム装置における動作を説明するフローチャート
である。 ステップ1…ホストコンピュータ(図7参照)から印字
するよう要求された文字が第1水準文字か否か調べる。 ステップ2…第2水準文字であると、フォント検索テー
ブル8−1内の該文字コードに対応するテーブル区画欄
を探す。テーブル区画欄は、5000H〜50FFHに
対して1個というように、256個の文字コードからな
るグループに対して1つしか設けられていないから、文
字コードの上位2バイト(例えば、5000H〜50F
FHに属するものの場合には、「50」)を手掛かり
に、対応するテーブル区画欄を探す。そして、そこに書
かれている値(図3の「R」)を読みだす。
【0051】ステップ3…読みだした値が、キャッシュ
エリア8−2の領域を指す値かどうか調べる。フォント
データが格納されていない場合には、キャッシュエリア
8−2の領域を指さない所定値(例、FFFFFFFF
H)を書き込んでおくと、決めてある場合があるからで
ある。 ステップ4…キャッシュエリア8−2の領域を指す値
(R)であれば、その値を先頭アドレスとする検索テー
ブル用領域83にアクセスする。
【0052】ステップ5…検索テーブル用領域83内の
テーブル区画欄の内、要求している文字コード(例、5
001H)のテーブル区画欄84にポインタ値が書かれ
ているか調べる。書かれていればステップ7に進み、そ
のポインタ値(S)で指示されるレコード領域85にア
クセスする。書かれていなければ、フォントデータはキ
ャッシュされていないということであるから、ステップ
9に進み、ハードディスク12(図7参照)よりアウト
ラインデータを読みだす。
【0053】ステップ6…ステップ1で、要求されてい
る文字が第1水準文字である時には、フォント検索テー
ブル8−1の該当するテーブル区画欄に、ポインタ値が
記されているか調べる。 ステップ7…第1水準文字の場合でも第2水準文字の場
合でも、ポインタ値が記されている時には、それで指示
されるキャッシュエリア8−2のレコード領域にアクセ
スする。そこには、探していた文字の文字コードのフォ
ントデータが格納されている。しかし、同じ文字コード
であっても、フォントの種類(ゴシック体,明朝体等)
とか、文字のサイズとかが、今要求されているものとは
異なることがある。その場合には、図10で説明したチ
ェーンにつながれている仲間のフォントデータに当たっ
てみて、有るかどうか探す。
【0054】ステップ8…求めているフォントデータが
有った場合には、探し当てたレコード(図9(イ)参
照)の「ヒット回数」を+1する。 ステップ9…求めているフォントデータが無かった場合
には、ハードディスク12よりアウトラインデータを読
みだす。 ステップ10…アウトラインデータを、ビットマップデ
ータに変換する。 ステップ11…ビットマップデータのサイズが所定値以
下かチェックする。このチェックは、フォントキャッシ
ュRAM8に格納すべきか否かを決めるために行う。フ
ォントキャッシュRAM8に、出来るだけ多数の文字を
キャッシュするために、何文字分かの領域を使用するよ
うな大きなサイズの文字は、キャッシュしないようにす
るためである。
【0055】ステップ12…サイズが所定値以下の時に
は、フォントキャッシュRAM8に格納(登録)する。
その登録処理ルーチンについては、図6で説明する。 ステップ13…ビットマップデータをぺージメモリ9に
転送する。その後、プリンタエンジン14に送り、印字
を実行する。
【0056】図6は、第2の実施例におけるビットマッ
プデータのキャッシュへの登録処理ルーチン(図5のフ
ローチャートのステップ12)を示すフローチャートで
ある。 ステップ1…キャッシュエリア8−2内にレコード領域
(図3では85)を確保し、そこにビットマップデータ
を格納する。 ステップ2…格納したビットマップデータの文字は、第
2水準文字なのかどうかを調べる。それは、文字コード
の値によって調べることが出来る(例、5000H以上
か否か)。
【0057】ステップ3…第1水準文字であったら、フ
ォント検索テーブル8−1内の該当するテーブル区画欄
に、既にポインタ値が書かれているか調べる。 ステップ4…書かれている時は、同じ文字コードの別の
フォントが、既にキャッシュエリア8−2のどこかに格
納されているということに他ならない。この時には、そ
の文字コードのフォント仲間に加える。即ち、図10で
説明したチェーンに組み込む処置をする。具体的には、
図9(イ)で示した「同一コードNEXTポインタ」,
「同一コードBIFOREポインタ」の書き換えを行
う。 ステップ5…フォント検索テーブル8−1の該当するテ
ーブル区画欄にポインタ値が書かれていない時には、前
記レコード領域(86)のポインタ値(M)を書き込
む。
【0058】ステップ6…ステップ2で判断した結果、
第2水準文字であった場合には、その文字の文字コード
が属する文字コード群に対応する検索テーブル用領域8
3(図3参照)が、キャッシュエリア8−2内に設けら
れているか調べる。それは、該文字コード群に割り当て
られたフォント検索テーブル8−1におけるテーブル区
画欄に、ポインタ値が書いてあるか否かによって調べる
ことが出来る。 ステップ7…検索テーブル用領域83が設けられていれ
ば、探している文字のテーブル区画欄84に、既にポイ
ンタ値が書かれているか調べる。
【0059】ステップ8…既に書かれていれば、同じ文
字コードのフォントデータが既にキャッシュされている
ということであるから、ステップ4と同様の要領で、そ
のフォント仲間に加える。 ステップ9…もし、該当する文字コードを含む文字コー
ド群に対応する検索テーブル用領域83が設けられてい
ない場合には、それを新たに設ける。 ステップ10…検索テーブル用領域83内の、今回ビッ
トマップデータを格納した文字の文字コードに対応する
テーブル区画欄84に、格納したレコード領域のポイン
タ(先頭アドレス)を書き込む。
【0060】
【発明の効果】以上述べた如く、本発明のフォントキャ
ッシュシステム装置によれば、フォントキャッシュメモ
リ内にフォント検索テーブルを構成するに際し、第1水
準文字のように使用頻度が大の文字の文字コードに対し
ては、従来と同様、個別に専用のテーブル区画欄を設け
るが、第2水準文字のように使用頻度が小の文字の文字
コードに対しては個別に設けず、幾つかの文字コードを
1つのグループとし、そのグループに対して1つのテー
ブル区画欄を設け、それを共用させるようにした。
【0061】これにより、フォント検索テーブルを、従
来より少ないメモリ量で構成できる。その分だけ、ビッ
トマップデータを格納する領域であるキャッシュエリア
を広く取ることが出来るので、キャッシュできるフォン
ト数が多くなり、フォントデータをより一層高速に提供
することが出来る。
【図面の簡単な説明】
【図1】 本発明の第1の実施例におけるフォントキャ
ッシュRAMの構成を示す図
【図2】 従来のフォントキャッシュシステム装置にお
けるフォントキャッシュRAMの構成を示す図
【図3】 本発明の第2の実施例におけるフォントキャ
ッシュRAMの構成を示す図
【図4】 検索テーブル用領域の構成を示す図
【図5】 第2の実施例のフォントキャッシュシステム
装置における動作を説明するフローチャート
【図6】 第2の実施例におけるビットマップデータの
キャッシュへの登録処理ルーチンを示すフローチャート
【図7】 フォントキャッシュシステム装置の構成を示
す図
【図8】 フォントキャッシュRAMの全体構成を説明
する図
【図9】 使用レコードおよび空きレコードの構成を説
明する図
【図10】 検索チェーンを説明する図
【図11】 従来のフォントキャッシュシステム装置に
おける動作を説明するフローチャート
【符号の説明】
1…フォントキャッシュシステム装置、2…CPU、3
…アドレスバス、4…データバス、5…ROM、6…ワ
ークRAM、7…インタフェース、8…フォントキャッ
シュRAM、8−1…フォント検索テーブル、8−2…
キャッシュエリア、9…ページメモリ、10…DMAコ
ントローラ、11…SCSIコントローラ、12…ハー
ドディスク、13…ホストコンピュータ、14…プリン
タエンジン、17…インタフェース、80…テーブル区
画欄、81…使用レコード、82…空きレコード、83
…検索テーブル用領域、84…テーブル区画欄、85,
86…レコード領域、CP…新規登録ポインタ、R1
6 …レコード

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 フォントのアウトラインデータより作成
    したビットマップデータを登録するフォントキャッシュ
    メモリを有し、要求されたフォントがフォントキャッシ
    ュメモリにある場合はそれを取り出して使用し、無い場
    合はアウトラインデータを読み出して作成したビットマ
    ップデータを使用するフォントキャッシュシステム装置
    において、フォントキャッシュメモリのフォント検索テ
    ーブルに、使用頻度大の文字の文字コードに対しては個
    別に専用のテーブル区画欄を設けるが、使用頻度小の文
    字の文字コードに対しては、複数個の文字コードから成
    る文字コード群の1つにつき1つのテーブル区画欄しか
    設けず、これを共用するようにしたことを特徴とするフ
    ォントキャッシュシステム装置。
  2. 【請求項2】 フォントのアウトラインデータより作成
    したビットマップデータを登録するフォントキャッシュ
    メモリを有し、要求されたフォントがフォントキャッシ
    ュメモリにある場合はそれを取り出して使用し、無い場
    合はアウトラインデータを読み出して作成したビットマ
    ップデータを使用するフォントキャッシュシステム装置
    において、フォントキャッシュメモリのフォント検索テ
    ーブルに、使用頻度大の文字の文字コードに対しては個
    別に専用のテーブル区画欄を設けるが、使用頻度小の文
    字の文字コードに対しては、複数個の文字コードから成
    る文字コード群の1つにつき1つのテーブル区画欄しか
    設けず、これを共用すると共に、文字コード群に属する
    文字のフォントデータがキャッシュエリアに登録された
    場合には、キャッシュエリア内に該文字コード群の検索
    テーブル用領域を確保し、該検索テーブル用領域に該文
    字コード群の各文字コードに対して個別に専用のテーブ
    ル区画欄を設けたことを特徴とするフォントキャッシュ
    システム装置。
JP5055180A 1993-02-19 1993-02-19 フォントキャッシュシステム装置 Pending JPH06242765A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5055180A JPH06242765A (ja) 1993-02-19 1993-02-19 フォントキャッシュシステム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5055180A JPH06242765A (ja) 1993-02-19 1993-02-19 フォントキャッシュシステム装置

Publications (1)

Publication Number Publication Date
JPH06242765A true JPH06242765A (ja) 1994-09-02

Family

ID=12991525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5055180A Pending JPH06242765A (ja) 1993-02-19 1993-02-19 フォントキャッシュシステム装置

Country Status (1)

Country Link
JP (1) JPH06242765A (ja)

Similar Documents

Publication Publication Date Title
EP0042895B1 (en) Text processing terminal with editing of stored document at each keystroke
EP0119395B1 (en) A system and method for text processing
US4429372A (en) Method for integrating structured data and string data on a text processing system
JPS59116787A (ja) デイスプレイ表示方式
JPS633500B2 (ja)
JPH04220764A (ja) 文字フォント圧縮方法および装置
JPH08164641A (ja) キャッシュ・メモリ付きプリンタおよびその管理方法
JPH06242765A (ja) フォントキャッシュシステム装置
JPH06242769A (ja) フォントキャッシュ制御方法および装置
JP3082504B2 (ja) フォントキャッシュシステム装置
JPH06214887A (ja) フォントキャッシュ制御方式
JPH06210901A (ja) フォントキャッシュ制御方式
JPS61262785A (ja) メモリ・コントロ−ラ
JPH0462592B2 (ja)
JP2892819B2 (ja) フォントキャッシュ管理方式
JPH06227061A (ja) フォントキャッシュ制御方法
JP2783557B2 (ja) フォント・メモリ
JP3369419B2 (ja) 文字出力展開方法および装置
JPH0267587A (ja) 文字パターンアクセス方式
JPS6347795A (ja) 文字パタ−ンアクセス方式
JPH04220765A (ja) フォント文字を定めるデータの圧縮方法
JPH05281948A (ja) フォントパターン圧縮記憶方法
JPS6217850A (ja) 情報処理装置
JPH07108578B2 (ja) 出力装置
JPS6136832A (ja) プリント情報制御装置