JP3082504B2 - Font cache system device - Google Patents
Font cache system deviceInfo
- Publication number
- JP3082504B2 JP3082504B2 JP05064686A JP6468693A JP3082504B2 JP 3082504 B2 JP3082504 B2 JP 3082504B2 JP 05064686 A JP05064686 A JP 05064686A JP 6468693 A JP6468693 A JP 6468693A JP 3082504 B2 JP3082504 B2 JP 3082504B2
- Authority
- JP
- Japan
- Prior art keywords
- font
- registered
- value
- record
- registration
- 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
Links
Description
【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION
【0001】[0001]
【産業上の利用分野】本発明は、プリンタ等へ高速にフ
ォントを提供するためのフォントキャッシュシステム装
置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a font cache system for providing fonts to a printer or the like at a high speed.
【0002】[0002]
【従来の技術】プリンタ等へ高速にフォントを提供する
ため、全てのフォントを格納している大容量の記憶装置
の他に、小容量だが高速に読み出すことの出来るキャッ
シュメモリを設け、使用頻度の高いフォントのビットマ
ップデータを一時的にそこへ格納し、そこから提供する
ようにしたフォントキャッシュシステム装置が知られて
いる。2. Description of the Related Art In order to provide fonts to printers and the like at high speed, a small-capacity but high-speed cache memory is provided in addition to a large-capacity storage device for storing all fonts. Font cache system devices are known that temporarily store high font bitmap data therein and provide it therefrom.
【0003】図6は、そのようなフォントキャッシュシ
ステム装置の構成を示す図である。図6において、1は
フォントキャッシュシステム装置の中核をなすプリンタ
・コントローラ、2はCPU(中央演算処理装置)、3
はアドレスバス、4はデータバス、5はROM(リード
オンリメモリ)、6はワークRAM(RAM…ランダム
アクセスメモリ)、7はホストインタフェース、8はフ
ォントキャッシュRAM、9はページメモリ、10はD
MAコントローラ(DMA…Direct Memory Access)、
11はSCSIコントローラ(SCSI…スカジ。ハー
ドディスク用のインタフェース)、12はハードディス
ク、13はホストコンピュータ、14はプリンタエンジ
ン、17はエンジンインタフェースである。FIG. 6 is a diagram showing a configuration of such a font cache system device. In FIG. 6, reference numeral 1 denotes a printer controller which is a core of a font cache system device, 2 denotes a CPU (central processing unit),
Is an address bus, 4 is a data bus, 5 is a ROM (read only memory), 6 is a work RAM (RAM ... random access memory), 7 is a host interface, 8 is a font cache RAM, 9 is a page memory, 10 is a D memory.
MA controller (DMA: Direct Memory Access),
Numeral 11 denotes a SCSI controller (SCSI ... Skudge; interface for hard disk), numeral 12 denotes a hard disk, numeral 13 denotes a host computer, numeral 14 denotes a printer engine, and numeral 17 denotes an engine interface.
【0004】ROM5は、CPU2で実行する種々のプ
ログラムを格納するためのものであり、ワークRAM6
は、プログラムを実行する際の作業用メモリエリアを提
供する。全てのフォントは、ベクトルデータの形で、外
部記憶装置であるハードディスク12に格納されてい
る。プリンタエンジン14で印刷する文字等の印字情報
(例、文字コード)は、ホストコンピュータ13よりホ
ストインタフェース7を介して与えられる。[0004] The ROM 5 is for storing various programs to be executed by the CPU 2.
Provides a working memory area when executing a program. All fonts are stored in the form of vector data on a hard disk 12 which is an external storage device. Printing information (eg, character codes) such as characters to be printed by the printer engine 14 is provided from the host computer 13 via the host interface 7.
【0005】その文字コードに対応したフォントは、ま
ずフォントキャッシュRAM8の中を探され、有ればそ
こから読み出され、ページメモリ9に展開される。もし
無ければ、ハードディスク12よりそのベクトルデータ
を読み出し、それを基にして所望のサイズのビットマッ
プデータを生成し、ページメモリ9に展開する。同時
に、フォントキャッシュRAM8に蓄える。A font corresponding to the character code is first searched in the font cache RAM 8, and if there is, read out therefrom and expanded in the page memory 9. If not, the vector data is read from the hard disk 12, bitmap data of a desired size is generated based on the vector data, and is expanded in the page memory 9. At the same time, it is stored in the font cache RAM 8.
【0006】ページメモリ9に1ページ分のフォントが
展開されると、プリンタエンジン14のエンジンインタ
フェース17を通してプリント開始コマンドを送出し、
DMAコントローラ10を経て、プリントデータ(ビッ
トマップデータ)がプリンタエンジン14へシリアルに
送出され、印刷が実行される。When the font for one page is developed in the page memory 9, a print start command is transmitted through the engine interface 17 of the printer engine 14, and
The print data (bitmap data) is serially transmitted to the printer engine 14 via the DMA controller 10, and the printing is executed.
【0007】なお、当初、フォントキャッシュRAM8
には何も格納されていない。ホストコンピュータ13か
らの印字要求に応じ、ハードディスク12からフォント
のベクトルデータが読み出されてビットマップデータが
生成される毎に、フォントキャッシュRAM8にそのフ
ォントに関するレコードが記録されてゆく。At first, the font cache RAM 8
Does not contain anything. In response to a print request from the host computer 13, every time font vector data is read from the hard disk 12 and bitmap data is generated, a record related to the font is recorded in the font cache RAM 8.
【0008】〔フォントキャッシュRAMの構成〕ま
ず、フォントキャッシュRAM8の構成について説明す
る。図7は、フォントキャッシュRAM8の全体構成を
説明する図である。図7において、8−1はフォント検
索テーブル、8−2はキャッシュエリア、80はテーブ
ル区画欄、81は使用レコード、82は空きレコード、
CPは新規登録ポインタである。[Structure of Font Cache RAM] First, the structure of the font cache RAM 8 will be described. FIG. 7 is a diagram illustrating the overall configuration of the font cache RAM 8. 7, 8-1 is a font search table, 8-2 is a cache area, 80 is a table section column, 81 is a used record, 82 is an empty record,
CP is a newly registered pointer.
【0009】フォントキャッシュRAM8には、フォン
ト検索テーブル8−1とキャッシュエリア8−2が含ま
れている。キャッシュエリア8−2には、ビットマップ
データ等のフォントに関するレコードが登録され、フォ
ント検索テーブル8−1には、そのレコードが登録され
ている場所を示す情報が記録される。The font cache RAM 8 includes a font search table 8-1 and a cache area 8-2. Records related to fonts such as bitmap data are registered in the cache area 8-2, and information indicating the location where the records are registered is recorded in the font search table 8-1.
【0010】フォント検索テーブル8−1は、フォント
のコード数と同じ数の区画に分けられており、或る1つ
のフォントコードに対して特定の1つの区画が対応付け
られている。例えば、Aという文字を表すフォントコー
ドに対しては、テーブル区画欄80という区画が割り当
てられている。The font search table 8-1 is divided into the same number of sections as the number of font codes, and one specific section is associated with one font code. For example, a section called a table section column 80 is assigned to a font code representing the character A.
【0011】そして、もしAのフォントがキャッシュエ
リア8−2に登録されていれば、テーブル区画欄80の
中には、その登録場所(番地)を示す情報が書き込まれ
ている。同じフォントコードのフォントが複数個登録さ
れている場合には、その内の1つの登録場所が書き込ま
れる。登録されていなければ、書き込まれていない(Nu
llとされている)。If the font A is registered in the cache area 8-2, information indicating the registered location (address) is written in the table section column 80. When a plurality of fonts having the same font code are registered, one of the registered locations is written. If not registered, it is not written (Nu
ll)
【0012】キャッシュエリア8−2の中で、ドットが
付してある部分は、ハードディスク12から読み出され
たフォントに関するレコードを登録するのに使用してい
るレコード領域、つまり使用レコードの部分である。ド
ットを付してない部分は、そのようには使用されていな
いレコード領域、つまり空きレコードの部分である。横
に引いた直線は、レコードの区切りを示している。In the cache area 8-2, a portion with a dot is a record area used for registering a record related to a font read from the hard disk 12, that is, a used record portion. . The portion without dots is a record area that is not so used, that is, a portion of an empty record. A straight line drawn horizontally indicates a record break.
【0013】新規登録ポインタCPは、フォントに関す
るレコードを新規に登録する場合の位置を示すポインタ
であり、キャッシュエリア8−2内を一定の方向にリン
グ的に進められる。その一定の方向を、図7では上から
下へという方向にすると、最下端の次には最上端へと進
められる。The new registration pointer CP is a pointer indicating a position when a record relating to a font is newly registered, and is advanced in a fixed direction in the cache area 8-2 in a ring shape. If the certain direction is a direction from top to bottom in FIG. 7, the lowermost end is advanced to the uppermost end.
【0014】(レコードの構成)図8は、使用レコード
および空きレコードの構成を説明する図である。これら
は、ビットマップデータエリアとヘッダ情報を記録する
エリアとから成っている。(Structure of Record) FIG. 8 is a diagram for explaining the structure of a used record and an empty record. These are composed of a bitmap data area and an area for recording header information.
【0015】図8(イ)は使用レコード81の構成を示
し、そのヘッダ情報としては、フォント種(例、明朝
体,ゴシック体)、フォントコード(文字コード等)、
フォントサイズ(縦,横の長さ)、ヒット回数、データ
サイズ等がある。図8(イ)では、ビットマップデータ
の例として、「A」が示してある。ヒット回数は、キャ
ッシュエリア8−2内を一定の方向に向かって循環して
いる新規登録ポインタCP1 が一周して来る間に、何回
このフォントが使用されたかを示す回数である。FIG. 8A shows the structure of the usage record 81. The header information includes font type (eg, Mincho, Gothic), font code (character code, etc.)
There are font size (vertical and horizontal length), number of hits, data size, and the like. FIG. 8A shows “A” as an example of the bitmap data. The hit count is a count indicating how many times this font has been used while the newly registered pointer CP1 circulating in the cache area 8-2 in a certain direction makes one round.
【0016】図8(ロ)は、空きレコード82の構成を
示している。そのヘッダ情報としては、空いていること
を表す「空きフラグ」,空きレコードのビットマップデ
ータエリアのデータサイズを表す「空きサイズ」等があ
る。FIG. 8B shows the structure of the empty record 82. The header information includes an “empty flag” indicating that it is empty, an “empty size” indicating the data size of the bitmap data area of an empty record, and the like.
【0017】〔動作〕次に、以上のように構成したフォ
ントキャッシュシステム装置の制御動作を、図9のフロ
ーチャートによって説明する。 ステップ1…ホストコンピュータ13から印字すべき文
字コード(フォントコード)を受け取ると、フォント検
索テーブル8−1内の該文字コードに対応して定められ
ているテーブル区画欄を調べることにより、その文字コ
ードのフォントがキャッシュエリア8−2に登録されて
いるか否か調べる。[Operation] Next, the control operation of the font cache system configured as described above will be described with reference to the flowchart of FIG. Step 1: When a character code (font code) to be printed is received from the host computer 13, the character code is checked by examining a table section column defined corresponding to the character code in the font search table 8-1. It is determined whether or not the font is registered in the cache area 8-2.
【0018】ステップ2…登録されていた場合、そのレ
コード(使用レコード)にアクセスする。そして、ヒッ
トしたレコードに記してあるヒット回数の値を、1増加
する。今回ヒットしたからである。 ステップ3…求めているフォントがキャッシュエリア8
−2に存在しなかった場合(ヒットしなかった場合)、
ハードディスク12からワークRAM6にアウトライン
データを読み出す。 ステップ4…読み出したアウトラインデータを、ビット
マップデータに変換する。Step 2: If registered, access the record (use record). Then, the value of the number of hits described in the hit record is increased by one. Because it was hit this time. Step 3: The font being sought is cache area 8
-2 if not present (if not hit),
The outline data is read from the hard disk 12 to the work RAM 6. Step 4: Convert the read outline data into bitmap data.
【0019】ステップ5…変換したビットマップデータ
のデータサイズが、所定値以下か(例、2キロバイト以
下か)をチェックする。このチェックは、フォントキャ
ッシュRAM8に登録しておくかどうかを決めるための
ものである。あまりにもデータサイズが大であるもの
は、フォントキャッシュRAM8の領域を多く占めてし
まうので、登録しない。Step 5: It is checked whether the data size of the converted bitmap data is smaller than a predetermined value (for example, smaller than 2 kilobytes). This check is for determining whether or not to register in the font cache RAM 8. If the data size is too large, it is not registered because it occupies a large area of the font cache RAM 8.
【0020】ステップ6…データサイズが所定値以下で
あれば、フォントキャッシュRAM8に登録する。 ステップ7…ヒットしたレコードのビットマップデータ
あるいは新たに展開したビットマップデータを、ページ
メモリ9に転送する。このビットマップデータが、プリ
ンタエンジン14での印字に使用される。Step 6: If the data size is equal to or smaller than the predetermined value, the data size is registered in the font cache RAM 8. Step 7: The bitmap data of the hit record or the newly developed bitmap data is transferred to the page memory 9. This bitmap data is used for printing by the printer engine 14.
【0021】(フォントの再登録)ところで、キャッシ
ュエリア8−2に登録されるフォントのレコードが増え
て満杯になると、登録した時点が古いものから順に削除
して新しいものを登録するという、いわゆる「FIFO
アルゴリズム」を採用しているものが多かった。しか
し、これでは、使用頻度の高いフォントでも、古くなれ
ば自動的に削除されてしまうことになるので、フォント
の提供速度が遅くなる。(Re-registration of Fonts) By the way, when the number of fonts registered in the cache area 8-2 increases and becomes full, so-called "registering" is performed by deleting oldest ones and registering new ones. FIFO
Algorithms "were often used. However, in this case, even a frequently used font is automatically deleted when it becomes old, so that the font providing speed is reduced.
【0022】そこで、フォントキャッシュRAM8より
近々削除される順番になっているレコード(それは、新
規登録ポインタCPが、所定の範囲の近さまで近づいて
来たことによって知ることが出来る)をヒットした場
合、それを前記新規登録ポインタの位置に再登録するこ
とが行われている。次にそれを説明する。Therefore, when a record which is in the order of being deleted from the font cache RAM 8 in the near future (which can be known by the fact that the newly registered pointer CP has come close to a predetermined range) is hit, It is being re-registered at the position of the new registration pointer. Next, it will be described.
【0023】図10は、キャッシュエリアにおけるフォ
ントの再登録を説明する図である。CPは新規登録ポイ
ンタ、Hは登録される方向を示す矢印、Kは所定範囲、
RD,RH はレコードである。今、新規登録ポインタC
PはレコードRD の位置に来ており、矢印Hの方向に順
次進行してゆくものとする。所定範囲Kは、新規登録ポ
インタCPが近々やって来る範囲であり、この範囲のレ
コードは近々削除される運命にある。FIG. 10 is a diagram for explaining re-registration of fonts in the cache area. CP is a newly registered pointer, H is an arrow indicating the direction of registration, K is a predetermined range,
RD and RH are records. Now, newly registered pointer C
It is assumed that P has come to the position of the record RD and proceeds sequentially in the direction of the arrow H. The predetermined range K is a range in which the newly registered pointer CP is coming soon, and records in this range are destined to be deleted soon.
【0024】しかし、新規登録ポインタCPの前方の所
定範囲Kの中にあるレコードRH が使用(ヒット)され
た時には、図6のページメモリ9にフォントデータを提
供すると共に、レコードRD の位置に再登録する。その
後、新規登録ポインタCPは次のレコードへと進められ
る。その結果、少なくとも次に新規登録ポインタCPが
巡って来るまで、レコードRH はキャッシュエリア8−
2内に残されることになる。[0024] However, when the record R H, which is in the front of the predetermined range K of the new registration pointer CP is used (hit) is configured to provide the font data in the page memory 9 in FIG. 6, the position of the record R D Register again. Thereafter, the newly registered pointer CP is advanced to the next record. As a result, the record RH is stored in the cache area 8-at least until the next newly registered pointer CP comes around.
2 will be left.
【0025】ところで、新規登録ポインタCPで指示さ
れるレコードのエリアに、新しいフォントを登録しよう
とする場合には、そのレコードのヒット回数が所定値以
上であれば、削除せずにこれも再登録することが行われ
ている。再登録するか削除するかを決める閾値を、ここ
では再登録ヒット回数閾値ということにする。When a new font is to be registered in the area of the record indicated by the new registration pointer CP, if the number of hits of the record is equal to or more than a predetermined value, this is also re-registered without being deleted. That is being done. Here, the threshold for determining whether to re-register or delete is referred to as a re-registration hit count threshold.
【0026】従来、再登録ヒット回数閾値は、固定値と
して定められている。その適正な値は、キャッシュエリ
ア8−2のサイズにも関係しているから、該サイズ等を
考慮して、適宜定められている。例えば、キャッシュエ
リア8−2のサイズが大きいと、新規登録ポインタCP
が1巡して来るまでの時間が長くなるから、再登録ヒッ
ト回数閾値も大に定めている。Conventionally, the re-registration hit count threshold value is determined as a fixed value. Since the appropriate value is related to the size of the cache area 8-2, it is appropriately determined in consideration of the size and the like. For example, if the size of the cache area 8-2 is large, the newly registered pointer CP
Since the time required for one round to be made becomes longer, the threshold value of the number of re-registration hits is also set to a large value.
【0027】なぜなら、時間が長ければ同じフォントが
ヒットする回数も多くなるから、もし再登録ヒット回数
閾値を小さく設定しておくと、どれもこれも再登録され
ることになる。これでは、使用する可能性の低いフォン
トに対しても、貴重なエリアを提供し、再登録するため
に作業時間を費やすことになり、効率的でない。The reason is that if the time is long, the number of hits of the same font increases, and if the re-registration hit frequency threshold value is set small, all of them will be re-registered. This provides valuable areas for fonts that are unlikely to be used, and wastes time working on re-registration, which is inefficient.
【0028】逆に、キャッシュエリア8−2のサイズか
らみて適正と思われる値より大きな値に設定したとする
と、再登録されるフォントが少なくなる。そのため、次
に印字要求された時には、再びアウトラインデータを読
み出してビットマップデータに展開するという労を取ら
ねばならないというフォントが多くなる。これでは、そ
の展開に時間がかかり、これまた高速でフォントを提供
することは出来ない。Conversely, if the value is set to a value larger than the value considered appropriate in view of the size of the cache area 8-2, the number of fonts to be re-registered decreases. For this reason, there are many fonts that require an effort to read the outline data again and develop it into bitmap data when the next print request is made. In this case, it takes time to develop the font, and it is not possible to provide fonts at high speed.
【0029】なお、このようなフォントキャッシュ制御
方式に関する従来の文献としては、例えば、特開昭64-8
8660号公報がある。As a conventional document relating to such a font cache control system, for example, Japanese Unexamined Patent Publication No.
There is 8660 publication.
【0030】[0030]
(問題点)しかしながら、前記した従来のフォントキャ
ッシュシステム装置では、フォントレコードの再登録ヒ
ット回数閾値は固定的に定められているので、使用する
フォントの種類数が多い原稿になればなるほど、1つ1
つのフォントのヒット回数が少なくなり、再登録される
ものが少なくなる。そのため、フォントの提供速度が遅
くなるという問題点があった。(Problem) However, in the conventional font cache system described above, the threshold value of the number of re-registration hits of the font record is fixedly set. 1
The number of hits for one font decreases, and the number of re-registers decreases. Therefore, there was a problem that the provision speed of the font became slow.
【0031】(問題点の説明)使用するフォントの種類
数が多くなると、新規登録ポインタCPがキャッシュエ
リア8−2を1巡する時間内でのヒット回数は、小とな
る。そのため、再登録ヒット回数閾値が固定的に定めら
れていると、ヒット回数がその値を上まわっているフォ
ントは少なくなる。それらのフォントはキャッシュエリ
ア8−2から削除されてしまうので、次に同じフォント
が要求された時には、いちいちハードディスク12から
アウトラインデータを読み出して、ビットマップデータ
に展開しなければならない。従って、フォントの提供速
度が遅くなる。本発明は、このような問題点を解決する
ことを課題とするものである。(Explanation of Problems) As the number of types of fonts used increases, the number of hits within the time that the newly registered pointer CP makes a round in the cache area 8-2 becomes smaller. Therefore, if the re-registration hit count threshold is fixedly set, the number of fonts whose hit count exceeds the value decreases. Since those fonts are deleted from the cache area 8-2, the next time the same font is requested, the outline data must be read from the hard disk 12 and developed into bitmap data. Therefore, the font providing speed is reduced. An object of the present invention is to solve such a problem.
【0032】[0032]
【課題を解決するための手段】前記課題を解決するた
め、本発明では、アウトラインデータを記憶する記憶装
置と、印字に使用するフォントのアウトラインデータを
該記憶装置より読み出して生成したビットマップデータ
を一時的に記憶するフォントキャッシュメモリとを具え
たフォントキャッシュシステム装置において、フォント
キャッシュメモリに記憶されているビットマップデータ
のフォント数を記録する登録フォント数記録部と、登録
されているフォントの総ヒット回数を記録する総ヒット
回数記録部とを具え、登録されているフォントを再登録
するか削除するかを決めるための再登録ヒット回数閾値
を、総ヒット回数を登録フォント数で除した値に所定値
を乗じた値とすることとした。According to the present invention, a storage device for storing outline data and bitmap data generated by reading outline data of a font used for printing from the storage device are provided. In a font cache system device having a font cache memory for temporarily storing, a registered font number recording unit for recording the number of fonts of bitmap data stored in the font cache memory, and a total hit of registered fonts It has a total hit count recording unit that records the number of times, and the threshold value for re-registering hit count for determining whether to re-register or delete registered fonts is set to a value obtained by dividing the total hit count by the number of registered fonts. The value was multiplied.
【0033】[0033]
【作 用】フォントキャッシュシステム装置に、フォ
ントキャッシュRAMに記憶されているフォント数を記
録する登録フォント数記録部と、登録されているフォン
トの総ヒット回数を記録する総ヒット回数記録部とを具
え、総ヒット回数を登録フォント数で除した値に所定値
を乗じた値を、再登録ヒット回数閾値として使用する
と、再登録ヒット回数閾値は、フォントキャッシュRA
Mに登録されるフォント数が変わったり、総ヒット回数
が変わったりする毎に、計算しなおされる。これにより
印字回数の所定の割合の印字回数を占める文字が、フォ
ントキャッシュRAMから供給されるように保たれるの
で、フォントの供給を全体として短時間で行うことが可
能となる。[Operation] A font cache system device includes a registered font number recording unit for recording the number of fonts stored in a font cache RAM, and a total hit number recording unit for recording the total hit number of registered fonts. When a value obtained by multiplying a value obtained by dividing the total number of hits by the number of registered fonts by a predetermined value is used as the re-registered hit number threshold, the re-registered hit number threshold becomes the font cache RA.
Each time the number of fonts registered in M changes or the total number of hits changes, the calculation is performed again. As a result, characters that occupy a predetermined number of times of printing the number of times of printing are maintained so as to be supplied from the font cache RAM, so that it is possible to supply the font as a whole in a short time.
【0034】[0034]
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1は、本発明のフォントキャッシュシス
テム装置の構成を示す図である。符号は図6のものに対
応し、18は総ヒット回数記録部、19は登録フォント
数記録部である。図6のフォントキャッシュシステム装
置と同じ構成の部分は同様に動作するので、その説明は
省略する。Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a diagram showing a configuration of a font cache system device of the present invention. The reference numerals correspond to those in FIG. 6, reference numeral 18 denotes a total hit count recording unit, and reference numeral 19 denotes a registered font number recording unit. Parts having the same configuration as the font cache system device of FIG. 6 operate in the same manner, and a description thereof will be omitted.
【0035】図6の従来のフォントキャッシュシステム
装置と比べて、構成上異なる点は、総ヒット回数記録部
18,登録フォント数記録部19を設けた点である。こ
れらは、RAM等の記憶装置で構成する。総ヒット回数
記録部18は、キャッシュエリア8−2に登録されてい
るフォントのヒット回数の合計を記録するために設けら
れている。登録フォント数記録部19は、キャッシュエ
リア8−2に登録されているフォント数を記録するため
に設けられている。The configuration differs from the conventional font cache system shown in FIG. 6 in that a total hit count recording unit 18 and a registered font number recording unit 19 are provided. These are configured by a storage device such as a RAM. The total hit count recording unit 18 is provided to record the total hit count of the font registered in the cache area 8-2. The registered font number recording unit 19 is provided for recording the number of fonts registered in the cache area 8-2.
【0036】本発明では、再登録ヒット回数閾値を固定
値とするのでなく、フォントの使用状況に応じた浮動的
な値とする。具体的には、次式で算出される値NA とす
る。 ここに、Tは定数である。In the present invention, the re-registration hit count threshold is not a fixed value, but a floating value according to the font usage. Specifically, the value N A is calculated by the following equation. Here, T is a constant.
【0037】総ヒット回数やレコード総登録数は、印字
が進むにつれて刻々と変化するが、その変化する値を
(1)式に代入して、その時その時で最も適正である値
Nを算出し、これを再登録ヒット回数閾値として用い
る。次に、上式で算出されたNを、再登録ヒット回数閾
値として用いれば、なぜ適正なのかについて説明する。Although the total number of hits and the total number of registered records change every moment as printing progresses, the values that change are substituted into equation (1), and the most appropriate value N at that time is calculated. This is used as the re-registration hit count threshold. Next, the reason why the N calculated by the above equation is appropriate when used as the re-registration hit count threshold will be described.
【0038】図11は、文字種数と印字回数との関係の
1例を示す図である。曲線Cは、文書に出て来る文字種
を、印字回数の多い順に横軸方向に並べ、プロットした
点をつないだものである。従って、曲線Cと縦軸と横軸
とで囲まれる面積は、総印字回数を示している。文書の
種類によって曲線Cのカーブの仕方は多少異なるが、横
軸に長い裾野を持つ曲線となるのが一般的である。FIG. 11 is a diagram showing an example of the relationship between the number of character types and the number of times of printing. The curve C is obtained by arranging the character types appearing in the document in the horizontal axis direction in descending order of the number of times of printing, and connecting the plotted points. Therefore, the area enclosed by the curve C, the vertical axis, and the horizontal axis indicates the total number of times of printing. Although the manner of curve C is slightly different depending on the type of document, the curve C is generally a curve having a long tail on the horizontal axis.
【0039】フォントキャッシュRAM8に再登録する
文字は、使用頻度があまり小さくはない文字でなければ
ならない。なぜなら、使用頻度の少ない文字まで全て再
登録していると、再登録自体に費やす時間が多くなって
しまい、却って印字速度が落ちてしまうからである。そ
こで、どの程度の印字回数までの文字を再登録すれば、
時間的に最も効率的かを検討してみたところ、95%程
度の印字回数を占める文字を再登録するのがよいことが
判明した。The characters to be reregistered in the font cache RAM 8 must be characters whose use frequency is not very small. This is because if all the characters that are used less frequently are re-registered, the time required for the re-registration itself increases, and the printing speed is rather lowered. Therefore, if you re-register characters up to how many times
Investigation into the most efficient in terms of time revealed that it would be better to re-register characters that account for about 95% of the number of times of printing.
【0040】図11で縦軸に並行に引かれた直線Lは、
それより右の印字回数を合計すれば、総印字回数の95
%の割合を占めるというような位置に引かれた直線であ
る。従って、直線Lと曲線Cとの交点Pの縦軸の高さN
95は、総印字回数の95%を占める文字群の内、最も印
字回数の少ない文字の印字回数を示すことになる。A straight line L drawn in parallel with the vertical axis in FIG.
The total number of prints to the right is 95
It is a straight line drawn at a position that occupies the percentage of%. Therefore, the height N of the vertical axis of the intersection P between the straight line L and the curve C
95 indicates the number of times of printing of a character having the least number of times of printing in a character group occupying 95% of the total number of times of printing.
【0041】従って、総印字回数の95%を占める文字
を再登録するには、再登録ヒット回数閾値としてN95を
採用すれば良いわけであるが、文書を印字している途中
ではN95の値が分かるわけではない。なぜなら、図11
は、文書全体の印字が終わったあとで分かるデータを基
にして、描いたものだからである。[0041] Therefore, in order to re-register the character, which accounts for 95% of the total printing number of times, but not may be employed N 95 as the re-registration hit threshold of the number of times, in the middle of printing a document of N 95 I don't know the value. Because, FIG.
This is because the drawing is based on the data that is known after the printing of the entire document is completed.
【0042】ところが、使用した文字種数で総印字回数
を除した平均印字回数NA (図11参照)と上記のN95
との比は、たいていの文書の場合、ほぼ一定(T)であ
ることが判明した。また、印字の途中において、その時
までの印字回数を、その時までの使用文字種数で除した
平均ヒット回数NH と、それまでの総印字回数の95%
の印字回数を占める文字群の内の文字の最小ヒット回数
NM (図11のN95に相当)との関係を調べてみると、
新規登録ポインタCPがキャッシュエリア8−2を1巡
して来る頃、両者の間には、ほぼNM =TNH (T…定
数)の関係が成立することも判明した。Tの値は、0.
2程度である。However, the average number of prints N A (see FIG. 11) obtained by dividing the total number of prints by the number of character types used and the above N 95
Was found to be nearly constant (T) for most documents. In the middle of printing, the average number of hits N H obtained by dividing the number of printings up to that time by the number of character types used up to that time is 95% of the total number of printings up to that point.
When examining the relationship with the minimum number of hits N M (corresponding to N 95 in FIG. 11) of the characters in the character group occupying the number of times of printing,
When the newly registered pointer CP makes one round of the cache area 8-2, it has been found that a relationship of approximately N M = TN H (T... Constant) is established between the two. The value of T is 0.
About 2.
【0043】従って、このNM の値を再登録ヒット回数
閾値Nとして採用しつづければ、いつも全体として高速
のフォント提供が出来る。なお、NH は、フォントキャ
ッシュRAM8に登録されている全てのフォントのヒッ
ト回数の合計を、登録フォント数で除すことによって、
得ることが出来る。NH は絶えず変化するから、NMも
絶えず変化することになる。従って、再登録ヒット回数
閾値Nも絶えず更新することが必要とされる。本発明
は、上記のような関係に着目してなされたものである。Therefore, if this value of N M is continuously adopted as the re-registration hit count threshold value N, fonts can always be provided at high speed as a whole. N H is calculated by dividing the total number of hits of all fonts registered in the font cache RAM 8 by the number of registered fonts.
Can be obtained. Since N H changes constantly, N M will also change constantly. Therefore, it is necessary to constantly update the re-registration hit count threshold value N. The present invention has been made by focusing on the above-described relationship.
【0044】次に、図2のフローチャートによって 本
発明のフォントキャッシュシステム装置の動作を説明す
る。図9と同様の動作は、説明を簡略にする。 ステップ1…ホストコンピュータ13から印字すべき文
字コード(フォントコード)を受け取ると、フォント検
索テーブル8−1内の該文字コードに対応して定められ
ているテーブル区画欄を調べることにより、その文字コ
ードのフォントがキャッシュエリア8−2に登録されて
いるか否か調べる。Next, the operation of the font cache system of the present invention will be described with reference to the flowchart of FIG. Operations similar to those in FIG. 9 simplify the description. Step 1: When a character code (font code) to be printed is received from the host computer 13, the character code is checked by examining a table section column defined corresponding to the character code in the font search table 8-1. It is determined whether or not the font is registered in the cache area 8-2.
【0045】ステップ2…登録されていた場合、そのフ
ォントのレコードにアクセスする。そして、ヒットした
フォントのレコードに記してあるヒット回数の値を、1
増加する。 ステップ3…総ヒット回数記録部18の値を+1する。 ステップ4…総ヒット回数の値が変わったから、再登録
ヒット回数閾値Nの値を計算し直し、更新する。その詳
細は、後で図5によって説明する。Step 2: If registered, access the record of the font. Then, the value of the number of hits described in the record of the hit font is set to 1
To increase. Step 3: The value of the total hit count recording unit 18 is incremented by one. Step 4: Since the value of the total number of hits has changed, the value of the re-registration hit number threshold N is recalculated and updated. The details will be described later with reference to FIG.
【0046】ステップ5…求めているフォントがキャッ
シュエリア8−2に存在しなかった場合(ヒットしなか
った場合)、ハードディスク12からワークRAM6に
アウトラインデータを読み出す。 ステップ6…読み出したアウトラインデータを、ビット
マップデータに変換する。Step 5: If the desired font does not exist in the cache area 8-2 (if no hit is found), the outline data is read from the hard disk 12 to the work RAM 6. Step 6: The read outline data is converted into bitmap data.
【0047】ステップ7…変換したビットマップデータ
のデータサイズが、所定値以下か(例、2キロバイト以
下か)をチェックする。このチェックは、フォントキャ
ッシュRAM8に登録しておくかどうかを決めるための
ものである。あまりにもデータサイズが大であるもの
は、フォントキャッシュRAM8の領域を多く占めてし
まうので、登録しない。Step 7: It is checked whether the data size of the converted bitmap data is smaller than a predetermined value (for example, whether it is smaller than 2 kilobytes). This check is for determining whether or not to register in the font cache RAM 8. If the data size is too large, it is not registered because it occupies a large area of the font cache RAM 8.
【0048】ステップ8…データサイズが所定値以下で
あれば、フォントキャッシュRAM8に登録する。な
お、フォントを登録する場合に付随的に生ずる処理につ
いては、後で図3,図4によって説明する。 ステップ9…ヒットしたフォントのビットマップデータ
あるいは新たに展開したビットマップデータを、ページ
メモリ9に転送する。このビットマップデータが、プリ
ンタエンジン14での印字に使用される。。Step 8: If the data size is equal to or smaller than the predetermined value, the data size is registered in the font cache RAM 8. The processing that accompanies the registration of the font will be described later with reference to FIGS. Step 9: The bitmap data of the hit font or the newly developed bitmap data is transferred to the page memory 9. This bitmap data is used for printing by the printer engine 14. .
【0049】図5は、再登録ヒット回数閾値Nの更新処
理を説明するフローチャートである。再登録ヒット回数
閾値Nを、平均ヒット回数と一定の関係に保てば、高速
のフォント提供ができることは既に述べたが、平均ヒッ
ト回数を近似的に算出するための総ヒット回数記録部1
8の値や登録フォント数記録部19の値は、絶えず変化
する。従って、再登録ヒット回数閾値Nも絶えず更新す
る必要がある。FIG. 5 is a flowchart for explaining the process of updating the re-registration hit count threshold value N. It has already been described that if the re-registration hit number threshold N is maintained in a fixed relationship with the average number of hits, a high-speed font can be provided. However, the total hit number recording unit 1 for approximately calculating the average number of hits
The value of 8 and the value of the registered font number recording unit 19 constantly change. Therefore, it is necessary to constantly update the re-registration hit count threshold value N.
【0050】ステップ1…登録フォント数記録部19の
値が0でないか否かを調べる。 ステップ2…0ならば、再登録ヒット回数閾値Nの値
を、適宜決定できる初期値(例えば「10」という値)
に設定する。 ステップ3…0でないなら、再登録ヒット回数閾値N
を、下記の式で算出した値に設定する。 総ヒット回数は総ヒット回数記録部18に記録されてい
る値を使用し、登録フォント数は、登録フォント数記録
部19に記録されている値を使用する。Step 1: Check whether the value of the registered font number recording unit 19 is not 0 or not. If step 2... 0, an initial value (for example, a value of “10”) from which the value of the re-registration hit count threshold N can be determined as appropriate
Set to. Step 3: If not 0, re-registration hit count threshold N
Is set to the value calculated by the following equation. The total number of hits uses the value recorded in the total number of hits recording unit 18, and the number of registered fonts uses the value recorded in the number of registered fonts recording unit 19.
【0051】ステップ4,5…もし、上式で算出したN
の値が2より小であれば、それは無視してN=2と設定
する。これは、再登録ヒット回数閾値Nの最低値を定め
たものであり、1回しか用いられなかったものは、新規
登録ポインタCPが次に巡って来た時には、少なくとも
削除されるようにするためである。Steps 4, 5... N
Is smaller than 2, it is ignored and N = 2 is set. This is to determine the minimum value of the re-registration hit count threshold value N, and the one that has been used only once is to be deleted at least when the newly registered pointer CP comes next. It is.
【0052】図3は、フォント登録時のヒット回数等の
処理を説明するフローチャートである。 ステップ1…あるフォントが印字に使用される(つま
り、ヒット)ということで、フォントキャッシュRAM
8にそのレコードを登録するわけであるから、総ヒット
回数記録部18の値を+1する。FIG. 3 is a flowchart for explaining processing such as the number of hits at the time of font registration. Step 1: A font is used for printing (that is, a hit), and the font cache RAM is used.
8, the value of the total hit count recording unit 18 is incremented by one.
【0053】ステップ2…登録フォントの数が増えるわ
けであるから、登録フォント数記録部19の値も+1す
る。 ステップ3…総ヒット回数記録部18の値および登録フ
ォント数記録部19の値が変わるから、それらによって
算出される再登録ヒット回数閾値Nも、新しい値に更新
する(図5)。Step 2: Since the number of registered fonts increases, the value of the registered font number recording unit 19 is also incremented by one. Step 3: Since the value of the total hit count recording unit 18 and the value of the registered font count recording unit 19 change, the re-registration hit count threshold N calculated thereby is also updated to a new value (FIG. 5).
【0054】図4は、空きレコード化する時およびフォ
ントを再登録する時のヒット回数等の処理を説明するフ
ローチャートである。最初に図4(イ)により、空きレ
コード化の時のヒット回数の処理を説明する。FIG. 4 is a flow chart for explaining processing such as the number of hits when making a free record and when reregistering a font. First, the processing of the number of hits at the time of empty record conversion will be described with reference to FIG.
【0055】ステップ1…或るレコードを空きレコード
化するとなると、そのレコードが持っているヒット回数
は消滅するから、その分だけ総ヒット回数記録部18の
値より差し引く。 ステップ2…また、空きレコード化により使用レコード
が1つ消滅するわけであるから、登録フォント数記録部
19の値より1を差し引く。 ステップ3…総ヒット回数記録部18の値,登録フォン
ト数記録部19の値が変化したから、図5に従って再登
録ヒット回数閾値Nの値を更新する。Step 1... When a record becomes an empty record, the number of hits possessed by the record disappears. Step 2: Since one used record disappears due to the empty record conversion, 1 is subtracted from the value of the registered font number recording unit 19. Step 3: Since the value of the total hit count recording unit 18 and the value of the registered font count recording unit 19 have changed, the value of the re-registration hit count threshold N is updated according to FIG.
【0056】次に図4(ロ)により、フォントを再登録
する時のヒット回数の処理について説明する。 ステップ1…フォントを再登録するに際しては、そのフ
ォントのレコードが有していたヒット回数は、いったん
0に戻されるから、その分だけ総ヒット回数記録部18
より差し引く。ただし、フォントは再登録されるから、
登録フォント数記録部19の値は変わらない。 ステップ2…総ヒット回数記録部18の値が変化したか
ら、図5によって再登録ヒット回数閾値Nの値を更新す
る。Next, the processing of the number of hits when reregistering a font will be described with reference to FIG. Step 1: When the font is re-registered, the number of hits of the record of the font is once returned to 0, so that the total number of hits recording unit 18
Subtract more. However, fonts will be re-registered,
The value of the registered font number recording unit 19 does not change. Step 2: Since the value of the total hit count recording section 18 has changed, the value of the re-registration hit count threshold N is updated according to FIG.
【0057】以上のようにすれば、再登録ヒット回数閾
値Nは、常に平均ヒット回数NのT倍(T=0.2程
度)という、最もフォント提供速度が速くなる値に保た
れるので、印字を全体として高速で行うことが出来る。In this manner, the re-registration hit count threshold N is always kept at T times the average hit count N (T = about 0.2), which is the fastest font providing speed. Printing can be performed at high speed as a whole.
【0058】なお、95%という割合は1例を挙げたま
でであり、この割合は多少異なることもあり得る。要
は、この割合の印字回数を占める文字種がフォントキャ
ッシュRAM8にキャッシュされていれば、フォントの
提供が総合的にみて少ない時間で行えるという割合であ
ればよい。Note that the ratio of 95% is up to one example, and this ratio may be slightly different. In short, if the character type occupying this ratio of the number of times of printing is cached in the font cache RAM 8, it is sufficient if the font can be provided in a short time as a whole.
【0059】[0059]
【発明の効果】以上述べた如く、本発明のフォントキャ
ッシュシステム装置によれば、登録フォント数記録部
と、総ヒット回数記録部とを設け、総ヒット回数を登録
フォント数で除した値に所定値を乗じた値を、再登録ヒ
ット回数閾値として使用する。そのため、使用されてい
るフォント数や総ヒット回数に応じて絶えず変えられ、
常に印字回数の所定の割合の印字回数を占める文字が、
フォントキャッシュRAMから供給されるように保たれ
るので、フォントの供給を全体として短時間で行うこと
が出来る。As described above, according to the font cache system of the present invention, the registered font number recording unit and the total hit number recording unit are provided, and the total number of hits is divided by the registered font number. The value multiplied by the value is used as the re-registration hit count threshold. Therefore, it can be constantly changed according to the number of fonts used and the total number of hits,
Characters that always occupy a predetermined percentage of the number of prints
Since the font is kept supplied from the font cache RAM, the font can be supplied in a short time as a whole.
【図1】 本発明のフォントキャッシュシステム装置の
構成を示す図FIG. 1 is a diagram showing a configuration of a font cache system device of the present invention.
【図2】 本発明のフォントキャッシュシステム装置の
動作を説明するフローチャートFIG. 2 is a flowchart for explaining the operation of the font cache system device of the present invention.
【図3】 フォント登録時のヒット回数等の処理を説明
するフローチャートFIG. 3 is a flowchart illustrating processing such as the number of hits at the time of font registration.
【図4】 空きレコード化する時およびフォントを再登
録する時のヒット回数等の処理を説明するフローチャー
トFIG. 4 is a flowchart for explaining processing such as the number of hits when making an empty record and when reregistering a font.
【図5】 再登録ヒット回数閾値Nの更新処理を説明す
るフローチャートFIG. 5 is a flowchart illustrating an update process of a re-registration hit count threshold value N;
【図6】 従来のフォントキャッシュシステム装置の構
成を示す図FIG. 6 is a diagram showing a configuration of a conventional font cache system device.
【図7】 フォントキャッシュRAMの全体構成を説明
する図FIG. 7 is a view for explaining the overall configuration of a font cache RAM;
【図8】 使用レコードおよび空きレコードの構成を説
明する図FIG. 8 is a view for explaining the configuration of a used record and an empty record;
【図9】 従来のフォントキャッシュシステム装置の動
作を説明するフローチャートFIG. 9 is a flowchart illustrating the operation of a conventional font cache system device.
【図10】 フォントの再登録を説明する図FIG. 10 is a view for explaining re-registration of a font.
【図11】 文字種数と印字回数との関係の1例を示す
図FIG. 11 is a diagram illustrating an example of a relationship between the number of character types and the number of times of printing.
1…プリンタ・コントローラ、2…CPU、3…アドレ
スバス、4…データバス、5…ROM、6…ワークRA
M、7…ホストインタフェース、8…フォントキャッシ
ュRAM、8−1…フォント検索テーブル、8−2…キ
ャッシュエリア、9…ページメモリ、10…DMAコン
トローラ、11…SCSIコントローラ、12…ハード
ディスク、13…ホストコンピュータ、14…プリンタ
エンジン、17…エンジンインタフェース、18…総ヒ
ット回数記録部、19…登録フォント数記録部、80…
テーブル区画欄、81…使用レコード、82…空きレコ
ード、CP…新規登録ポインタDESCRIPTION OF SYMBOLS 1 ... Printer controller, 2 ... CPU, 3 ... Address bus, 4 ... Data bus, 5 ... ROM, 6 ... Work RA
M, 7 host interface, 8 font cache RAM, 8-1 font search table, 8-2 cache area, 9 page memory, 10 DMA controller, 11 SCSI controller, 12 hard disk, 13 host Computer, 14: Printer engine, 17: Engine interface, 18: Total hit count recording unit, 19: Registered font number recording unit, 80:
Table partition column, 81: used record, 82: empty record, CP: new registration pointer
Claims (1)
と、印字に使用するフォントのアウトラインデータを該
記憶装置より読み出して生成したビットマップデータを
一時的に記憶するフォントキャッシュメモリとを具えた
フォントキャッシュシステム装置において、フォントキ
ャッシュメモリに記憶されているビットマップデータの
フォント数を記録する登録フォント数記録部と、登録さ
れているフォントの総ヒット回数を記録する総ヒット回
数記録部とを具え、登録されているフォントを再登録す
るか削除するかを決めるための再登録ヒット回数閾値
を、総ヒット回数を登録フォント数で除した値に所定値
を乗じた値とすることを特徴とするフォントキャッシュ
システム装置。1. A font cache system comprising: a storage device for storing outline data; and a font cache memory for temporarily storing bitmap data generated by reading outline data of a font used for printing from the storage device. The apparatus includes a registered font number recording unit that records the number of fonts of the bitmap data stored in the font cache memory, and a total hit number recording unit that records the total number of hits of the registered font. A font cache system characterized in that a re-registration hit count threshold value for determining whether to re-register or delete a font is a value obtained by multiplying a value obtained by dividing the total hit count by the number of registered fonts by a predetermined value. apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05064686A JP3082504B2 (en) | 1993-03-01 | 1993-03-01 | Font cache system device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05064686A JP3082504B2 (en) | 1993-03-01 | 1993-03-01 | Font cache system device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06250806A JPH06250806A (en) | 1994-09-09 |
JP3082504B2 true JP3082504B2 (en) | 2000-08-28 |
Family
ID=13265290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05064686A Expired - Fee Related JP3082504B2 (en) | 1993-03-01 | 1993-03-01 | Font cache system device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3082504B2 (en) |
-
1993
- 1993-03-01 JP JP05064686A patent/JP3082504B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06250806A (en) | 1994-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0640257B2 (en) | Information output device | |
JPH07323619A (en) | Method and device for preventing overrun in printing | |
JP2500976B2 (en) | Printing method in data processing system | |
JP2993276B2 (en) | Printer | |
US5592594A (en) | Method and apparatus for allocating cache memory space for font data | |
JP3082504B2 (en) | Font cache system device | |
EP0458569B1 (en) | Method and apparatus for generating character patterns in an output memory | |
JP2974322B2 (en) | Character processing apparatus and method | |
JPH06214887A (en) | Font cache control system | |
JP4022014B2 (en) | Image data management method | |
JPH06242769A (en) | Method and device for font cache control | |
JP2000250518A (en) | Character processor and processing method for character data, and storage medium | |
JPH06227061A (en) | Font cache control method | |
JP2990625B2 (en) | Font cache control method | |
JPH06250807A (en) | Method for controlling font cache | |
JP2614306B2 (en) | Character processing apparatus and method | |
JP2951809B2 (en) | Handwritten font printing method | |
JPH06242765A (en) | Font cache system device | |
JPH08194460A (en) | Character processing device | |
JPH0465264A (en) | Printer and its cache control method | |
JP4581809B2 (en) | Character ruled line processing method, apparatus and program | |
JP3054157B2 (en) | Character processing device and character processing method | |
JP2002007096A (en) | Cache memory controller | |
JPH0379729B2 (en) | ||
JPH05314120A (en) | Cache memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |