JPH06266529A - Pattern compression system - Google Patents

Pattern compression system

Info

Publication number
JPH06266529A
JPH06266529A JP5053895A JP5389593A JPH06266529A JP H06266529 A JPH06266529 A JP H06266529A JP 5053895 A JP5053895 A JP 5053895A JP 5389593 A JP5389593 A JP 5389593A JP H06266529 A JPH06266529 A JP H06266529A
Authority
JP
Japan
Prior art keywords
sub
slice
index
indicator
matrix
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
JP5053895A
Other languages
Japanese (ja)
Inventor
Masaki Nishiyama
政希 西山
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP5053895A priority Critical patent/JPH06266529A/en
Priority to US08/209,888 priority patent/US5644684A/en
Publication of JPH06266529A publication Critical patent/JPH06266529A/en
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE:To provide the high compression rate for any front pattern by providing a code-numbered sub matrix group arranged in the order of code number and code number indicators. CONSTITUTION:A pointer section storing the address of the fixed length (for example, 3 bytes) against characters, font table section including printing data to be referred by a pointer and code number (index numbers), code number indicator showing the index number position in the font table, and code umber sub matrix to be referred to by the index number are in a CGROM. In this case, the slice to be referred to by the index in the font table appears more than two times in the entire font. In general, the one which appears more than N times can be referred to by index. The 1 bit is allocated for each slice to the code number indicator and the logic '1' is stored for the slice to be referred to by index and the logic '0' is stored in the slice referring to the real data.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、表示装置や印字装置で
出力する文字フォントパターンの圧縮方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compression system for character font patterns output by a display device or a printing device.

【0002】[0002]

【従来の技術】従来いわゆる辞書(符番化)方式の圧縮
方法では、1文字がM行×N列のビットパターンで構成
される文字群を各文字毎にM1行×N1列のサブマトリ
ックスに分割し、前記サブマトリックス全てに符番(イ
ンデックス付加)を実行(同じドットパターンのサブマ
トリックスには同一の番号を割り振る)して、前記M1
行×N1列に分割された文字を、各サブマトリックスに
対応するインデックス番号で表現することにより、サブ
マトリックスのM1×N1ビットをインデックス番号で
用いられるビット数(通常は8の倍数)に圧縮してい
た。
2. Description of the Related Art In the conventional so-called dictionary (coded) compression method, a character group in which one character is a bit pattern of M rows × N columns is converted into a sub matrix of M1 rows × N1 columns for each character. The sub-matrix is divided and a code number (index addition) is executed for all the sub-matrices (the same number is assigned to the sub-matrices having the same dot pattern), and
By expressing the characters divided into rows × N1 columns by the index numbers corresponding to each sub-matrix, the M1 × N1 bits of the sub-matrix are compressed to the number of bits used in the index number (usually a multiple of 8). Was there.

【0003】但し実際の圧縮データとしては、インデッ
クス番号で表現された圧縮データの他に、インデックス
順に並べられたドットパターンテーブル(辞書)が必要
となる。
However, as actual compressed data, a dot pattern table (dictionary) arranged in index order is required in addition to the compressed data represented by index numbers.

【0004】[0004]

【発明が解決しようとする課題】従来技術では、全サブ
マトリックス中1回しか出現しないサブマトリックスに
も符番を実行して圧縮を行っていたため、このようなサ
ブマトリックスに対してはインデックス番号で用いられ
るビット数(インデックスビット)だけ元のデータより
多くの格納場所を必要としていた(ドットパターンテー
ブルに格納されたM1×1Nビットのサブマトリックス
の大きさは参照回数に関わりなく一定であるから)。
In the prior art, since the sub-matrix that appears only once in all the sub-matrices is also compressed by executing the code number, such sub-matrix is assigned an index number. The number of used bits (index bits) required more storage locations than the original data (because the size of the M1 × 1N-bit sub-matrix stored in the dot pattern table is constant regardless of the number of reference times). .

【0005】更に一回しか参照されないサブマトリック
スにも1個の番号が割り振られるため符番に必要な番号
が多く必要となりインデックスビットが大きくなってし
まっていた。このためこのようなサブマトリックスを多
く含むパターンの圧縮に対しては圧縮効率が非常に悪か
った。
Further, since one number is assigned to the sub-matrix that is referred to only once, a large number of numbers are required for the code numbers, and the index bit becomes large. For this reason, the compression efficiency was very poor for the compression of patterns containing many such sub-matrices.

【0006】また伸長の際一回しか参照されないサブマ
トリックスに対しても、2回以上参照されるサブマトリ
ックス同様インデックス番号から実際のサブマトリック
スパターンを参照しなければならず無駄が多く存在し
た。
Further, even for a sub-matrix which is referred to only once at the time of decompression, it is necessary to refer to an actual sub-matrix pattern from the index number like the sub-matrix which is referred to twice or more.

【0007】[0007]

【課題を解決するための手段】この問題を解決するため
に、本発明は全サブマトリックス中N回以上(N>=
2)出現するものに符番を実行し符番順に並べた不番化
サブマトリックス群と、M1×N1のドットパターンサ
ブマトリックスと不番化サブマトリックスを識別するた
めの符番インジケータを備える。
In order to solve this problem, the present invention uses N times or more (N> =) in all sub-matrices.
2) An unnumbered sub-matrix group in which the numbers appearing are executed and arranged in numerical order, and a number indicator for identifying the M1 × N1 dot pattern sub-matrix and the unnumbered sub-matrix.

【0008】[0008]

【作用】上述の構成により、より圧縮効率の高いパター
ン圧縮が可能となる。
With the above structure, it is possible to perform pattern compression with higher compression efficiency.

【0009】[0009]

【実施例】【Example】

(実施例1)以下に図面を参照しながら本発明について
詳細に述べる。図1は、第一実施例の構成図である。図
において、1は数々の処理を司る中央処理装置(CP
U)で、図4に示される制御手順を実行する。2はラン
ダムアクセスメモリ(RAM)でエリアFADDR、I
NDFLG、SCOUNTER、INO、IADDRを
含む、3は図4に示す制御手順が含まれるリードオンリ
ーメモリ(ROM)、4は印刷装置で、5は印刷装置4
の印刷データを保持するためのプリントバッファ、6は
本発明の圧縮フォントおよび符番インジケータを格納し
ているキャラクタジェネレータ用リードオンリーメモリ
(CGROM)、最後に7はCPUと他の周辺装置との
間でデータの授受を行うための共通バス(SB)であ
る。
(Embodiment 1) The present invention will be described in detail below with reference to the drawings. FIG. 1 is a block diagram of the first embodiment. In the figure, 1 is a central processing unit (CP) that controls a number of processes.
In U), the control procedure shown in FIG. 4 is executed. Reference numeral 2 is a random access memory (RAM), which is an area FADDR, I
Including NDFLG, SCOUNTER, INO, IADDR, 3 is a read only memory (ROM) including the control procedure shown in FIG. 4, 4 is a printing device, 5 is a printing device 4
A print buffer for holding print data of the character generator, 6 is a character generator read only memory (CGROM) for storing the compressed font and the number indicator of the present invention, and finally 7 is between the CPU and other peripheral devices. It is a common bus (SB) for exchanging data with.

【0010】次にCGROM6内の構成について図2を
参照しながら説明する。CGROM内には、文字に対し
て固定長(本実施例では3バイト)のアドレスを格納す
るポインタ部、ポインタにより参照される印字データお
よび符番(インデックス番号)を含むフォントテーブル
部、フォントテーブル中のインデックス番号位置を示す
符番インジケータ、最後にインデックス番号によって参
照される符番サブマトリックスが存在する。
Next, the structure of the CGROM 6 will be described with reference to FIG. In the CGROM, a pointer portion for storing a fixed-length (3 bytes in this embodiment) address for a character, a font table portion including print data and a reference number (index number) referred to by the pointer, and a font table There is a number indicator that indicates the index number position of, and finally, a number submatrix referenced by the index number.

【0011】またフォントは図3の如く、48×48の
ドットパターンよりなり印刷されるべきドットに論理
‘1’、空白ドットに論理‘0’を割り当てている。更
に本実施例では、原図を縦48ドット×横1ドットのサ
ブマトリックス(以降スライスと呼ぶ)に分割して圧縮
しているが本実施例の適用範囲はこの限りではなく、任
意の大きさのフォントパターンに対して、また任意の大
きさのサブマトリックスに対しても同様に処理できるこ
とは同業者であれば容易に理解できるであろう。
As shown in FIG. 3, the font is composed of a 48 × 48 dot pattern, and the dots to be printed are assigned a logic “1” and the blank dots are assigned a logic “0”. Further, in the present embodiment, the original image is divided into sub-matrices of 48 dots in the vertical direction × 1 dot in the horizontal direction (hereinafter referred to as slices) and compressed, but the applicable range of the present embodiment is not limited to this and any size may be used. Those skilled in the art will easily understand that the font pattern and the sub-matrix of any size can be similarly processed.

【0012】ここで本実施例ではフォントテーブル中で
インデックス参照となるスライスは、全フォント中で2
回以上出現するものであるが、本発明の適応範囲は2回
に限定されたものではなく一般にN回以上出現するもの
をインデックス参照可能であることは言うまでもない。
また府番インジケータは各スライス毎に1ビットが割り
当てられ、インデックス参照となるスライスに対して論
理‘1’がまた実データ参照のスライスには論理‘0’
が格納される。従って各文字毎に48ビット(6バイ
ト)で符番インジケータは構成されている(図3符番イ
ンジケータ参照)。
Here, in this embodiment, the slice which is the index reference in the font table is 2 in all fonts.
Although it may appear more than once, it is needless to say that the applicable range of the present invention is not limited to two times, and in general, it is possible to refer to what appears N times or more.
Further, a 1-bit number is allocated to each slice of the department number indicator, and a logical "1" is assigned to a slice which is an index reference and a logical "0" is assigned to a slice which is an actual data reference.
Is stored. Therefore, the code number indicator is composed of 48 bits (6 bytes) for each character (see FIG. 3 number indicator).

【0013】なお数字の最後に‘h’が付加されたもの
は16進数を表し、‘b’が付加されているものは2進
数を表す。10進数については特に断りがない限りなに
も付加しない。
The numbers with "h" added to the end of the numbers represent hexadecimal numbers, and the numbers with "b" added represent binary numbers. No decimal numbers are added unless otherwise specified.

【0014】以上のような構成で、最初にROM3に含
まれる図4で示される制御手順を実行するCPU1の全
体の制御を説明する。
First, the overall control of the CPU 1 having the above-mentioned configuration and executing the control procedure shown in FIG.

【0015】まずS100でCPU1は、出力すべきフ
ォントの文字コード×3+ポインタ先頭アドレスを計算
し、そのアドレスに格納されている3バイトの実フォン
トデータのアドレスをFADDRに格納する。(フロー
チャート中の括弧で囲まれたものは格納内容を示す。)
次にS101で文字コード×6バイト+符番インジケー
タ先頭アドレスを計算し、そのアドレスに格納されてい
る内容を6バイト分INDFLGにコピーする。更にS
102では48スライス分処理すべくSCOUNTER
の初期値として48を代入する。次にS103でIND
FLGから該当スライスの符番インジケータが論理
‘1’か否か判断する。判断が真の場合にはS104で
FADDRで示されるアドレスの内容を2バイト分IN
Oにコピーする。次にS105はINOX6+符番サブ
マトリックス先頭アドレスを計算しIADDRに格納す
る。次のS106では、IADDRから6バイト分のデ
ータを印字データとしてプリントバッファ5に展開す
る。更にS107でFADDRの値を2だけ増す。次に
S108でSCOUNTの値を1だけ減じる。次のS1
09でSCOUNTが‘0’になったか否か判断して判
断が偽の場合にはS103に戻り、真の場合処理を終了
する。
First, in step S100, the CPU 1 calculates the character code of the font to be output.times.3 + the pointer start address, and stores the address of the 3-byte actual font data stored at that address in FADDR. (Items enclosed in parentheses in the flowchart indicate stored contents.)
Next, in step S101, the character code × 6 bytes + code number indicator start address is calculated, and the content stored at that address is copied to INDFLG for 6 bytes. Furthermore S
In 102, SCOUNTER should be processed for 48 slices.
Substitute 48 as the initial value of Next, in step S103, IND
It is determined from the FLG whether or not the code number indicator of the corresponding slice is logical "1". If the determination is true, the contents of the address indicated by FADDR in 2 bytes are IN
Copy to O. Next, S105 calculates the INOX6 + code sub-matrix start address and stores it in IADDR. In the next S106, 6 bytes of data from the IADDR are expanded in the print buffer 5 as print data. Further, the value of FADDR is increased by 2 in S107. Next, in S108, the value of SCOUNT is decremented by 1. Next S1
In S09, it is determined whether or not SCOUNT has become “0”. If the determination is false, the process returns to S103, and if true, the process ends.

【0016】一方S103の判断が偽の場合には、S1
10でFADDRから6バイト分のデータを直接印字デ
ータとしてプリントバッファ5に展開し、S111にて
FADDRを6だけ増してS108へ進む。
On the other hand, if the determination in S103 is false, S1
In 10 the data of 6 bytes from FADDR is directly expanded into the print buffer 5 as print data, in S111 FADDR is increased by 6 and the process proceeds to S108.

【0017】次に実例を挙げて説明する。Next, an actual example will be described.

【0018】文字「亜」に対する内部文字コードは14
10でありポインタ及びフォントテーブルは図5のよう
になっている。まずS100で1410×3を計算しポ
インタの内容は「亜」の最初のデータを示す。便宜上ポ
インタの内容は10000hであるとする。(FADD
R=10000hとなる。)次にs101で1410×
6を計算してこれに符番インジケータの先頭アドレスを
加え、該当文字の符番インジケータをINDFLGに代
入する。次にSCOUNTERに48をs102で代入
する。次にs103で該当スライスの符番インジケータ
が1か否か判断するが、今の場合先頭スライスに対する
符番インジケータは‘1’であるので判断は「真」とな
る。s104でFADDRで示されるアドレスから2バ
イトデータを取り込みインデックス番号としてINO代
入する(INO=0となる)。s105の計算はINO
=0であるからIADDRには符番サブマトリックスの
先頭番地が入る。次に、s106でIADDRで示され
るアドレスからデータを6バイト印字データとして取り
込む(今の場合には符番サブマトリックスの先頭の00
h,00h,00h,00h,00h,0chが印字デ
ータとして取り込まれる。)。
The internal character code for the character "A" is 14
10 and the pointer and font table are as shown in FIG. First, 1410 × 3 is calculated in S100, and the content of the pointer indicates the first data of “A”. For convenience, the content of the pointer is assumed to be 10000h. (FADD
R = 10000h. ) Then in s101 1410 ×
6 is calculated, the start address of the code number indicator is added to this, and the code number indicator of the corresponding character is substituted into INDFLG. Next, 48 is substituted into SCOUNTER in s102. Next, in s103, it is determined whether or not the code number indicator of the corresponding slice is 1, but in this case, since the code number indicator for the first slice is "1", the determination is "true". In s104, 2-byte data is fetched from the address indicated by FADDR and INO is substituted as an index number (INO = 0). Calculation of s105 is INO
Since = 0, the leading address of the code number sub-matrix is stored in IADDR. Next, in s106, the data is fetched as 6-byte print data from the address indicated by IADDR (in this case, 00 at the beginning of the code number sub-matrix).
h, 00h, 00h, 00h, 00h, 0ch are fetched as print data. ).

【0019】次にs107でFADDRが2だけ増され
て10002hとなる。s108でscountは47
となるが、0でないのでs109の判断は「偽」となり
s103へ戻る。
Next, in s107, FADDR is increased by 2 to 10002h. Scount is 47 in s108
However, since it is not 0, the determination in s109 becomes “false” and the process returns to s103.

【0020】同様にして2、3、4スライスに対してイ
ンデックス番号が0001h(図5のフォントテーブル
中では、インテル社のCPUの仕様で1ワードがLo
w、Highの順で入っている)なので符番00h,の
アドレス6番地から18h,00h,00h,00h,
00h,0chが伸長される。このようにして「亜」の
原図がscount==4となるまで再生される。
Similarly, the index number is 0001h for 2, 3, and 4 slices (in the font table of FIG. 5, 1 word is Lo according to the specifications of the CPU of Intel Corporation).
Since it is entered in the order of w and High), 18h, 00h, 00h, 00h, from address 6 of code number 00h,
00h and 0ch are extended. In this way, the original image of "A" is reproduced until count == 4.

【0021】scount==4になるとこのスライス
に対する符番インジケータが‘0’となるのでs103
の判断が「偽」となりs110でFADDRから6バイ
ト分のデータを印字データとして処理する(今度はフォ
ントテーブルから78h,01h,80h,00h,0
0h,7chというデータが印字データとして伸長され
る。)。
When scount == 4, the code number indicator for this slice becomes "0", so s103
Is "false" and the data of 6 bytes from FADDR is processed as print data in s110 (78h, 01h, 80h, 00h, 0h from the font table this time).
The data of 0h and 7ch is expanded as print data. ).

【0022】同様にして「亜」が最後まで伸長される。Similarly, "A" is extended to the end.

【0023】このように本発明によれば、全フォント中
1回しか出現しないスライスは、フォントテーブル中に
存在するので無駄なインデックス化が省け、少ないバイ
ト数でインデックス参照が可能となる。
As described above, according to the present invention, since a slice that appears only once in all fonts exists in the font table, unnecessary indexing can be omitted and index reference can be performed with a small number of bytes.

【0024】実際、本実施例の明朝体8120文字分の
データを実際に圧縮した場合について説明すると、全文
字のスライスは8120×48=約39万である。この
内異なるパターンは約16万パターンあり、更にその内
約13万パターンが1回しか出現しない。
Actually, a case of actually compressing data for 8120 characters of Mincho typeface in this embodiment will be described. The slice of all characters is 8120 × 48 = about 390,000. Among them, there are about 160,000 different patterns, and about 130,000 of these patterns appear only once.

【0025】これを従来のように単純にインデックス化
するにはインデックスとして3バイト必要なので、3×
13万=39万バイト格納領域がこの1回しか出現しな
いパターンのインデックスとして必要となる。
Since 3 bytes are required as an index to simply index this as in the conventional case, 3 ×
A storage area of 130,000 = 390,000 bytes is required as an index for this pattern that appears only once.

【0026】一方本発明によればインデックスとして必
要な数は、16万−13万=約3万パターンで、2バイ
トでインデック参照可能であることは容易に理解でき
る。
On the other hand, according to the present invention, the number required as an index is 160,000-130,000 = about 30,000 patterns, and it can be easily understood that the index can be referenced with 2 bytes.

【0027】従って本発明によれば上記39万バイトと
インデックスの差(3−2)にインデックスの数(39
万−13万)を乗じた(3−2)×(39万−13万)
バイトが不必要となる。(39万+(3−2)×(39
万−13万)=65万)。ここで符番インジケータは6
×8120=約48万バイト必要であるから結果的には
65−48=17(万)バイト少ない容量で実現可能と
いう優れた効果が期待できる。
Therefore, according to the present invention, the difference (3-2) between the index of 390,000 bytes and the number of indexes (39
(3-1) x (390,000-130,000)
No need for bytes. (390,000 + (3-2) x (39
10,000-130,000) = 650,000). Where the number indicator is 6
Since x8120 = about 480,000 bytes is required, an excellent effect that it can be realized with a capacity of 65−48 = 17 (10,000) bytes less can be expected.

【0028】更に従来技術ではインデックスとして3バ
イト必要であったが、本実施例の場合には2バイトであ
ることから格段に処理しやすく、また1回しか参照され
ないスライスはインデックス計算も省略可能といった優
れた効果が期待できる。
Furthermore, in the prior art, an index of 3 bytes was required, but in the case of this embodiment, it is significantly easier to process because it is 2 bytes, and index calculation can be omitted for slices that are referenced only once. Excellent effect can be expected.

【0029】(実施例2)図6は実施例2のCGROM
6の構成図である。実施例2では、更に高速化のために
符番インジケータ自身もフォントテーブル内に持つ。本
実施例ではフォントデータの直前に6バイト分の符番イ
ンジケータを設け実施例1のs101を不要としている
が詳細は実施例1と同様なので省略する。
(Second Embodiment) FIG. 6 shows a CGROM of the second embodiment.
It is a block diagram of FIG. In the second embodiment, the code number indicator itself is also provided in the font table for further speeding up. In this embodiment, a code number indicator for 6 bytes is provided immediately before the font data, and s101 of the first embodiment is not necessary, but the details are the same as in the first embodiment and will be omitted.

【0030】(実施例3)図7は、実施例3のCGRO
M6の構成図である。実施例3では、更に圧縮率を高め
るため符番サブマトリックスが最初に参照されるフォン
トテーブル内に文字データを格納し符番サブマトリック
スはそのアドレスを保持するようになっている。フォン
トテーブル内に格納された符番サブマトリックスの該当
符番インジケータは論理‘0’とし、2回目以降の参照
に対して符番インジケータは論理‘1’となるようCG
ROMは構成されている。
(Third Embodiment) FIG. 7 shows a CGRO of the third embodiment.
It is a block diagram of M6. In the third embodiment, in order to further increase the compression rate, the character number data is stored in the font table to which the code number sub-matrix is first referenced, and the code number sub-matrix holds the address. The corresponding code number indicator of the code number sub-matrix stored in the font table is set to logical "0", and the reference number indicator is set to logical "1" for the second and subsequent references.
The ROM is configured.

【0031】本実施例の場合には実施例1のs106の
代わりにIADDRから3バイトをポインタとして取り
込みそのポインタが示すアドレスから6バイト印字デー
タとして処理を実行する他は実施例1と全く同様である
ので詳細は省略する。
The present embodiment is exactly the same as the first embodiment except that instead of s106 in the first embodiment, 3 bytes are taken from the IADDR as a pointer and the process is executed as 6-byte print data from the address indicated by the pointer. Since it is available, details are omitted.

【0032】なお、本実施例の場合には更に(6−3)
×符番サブマトリックス数だけメモリをセーブ可能であ
る。
In the case of this embodiment, (6-3) is further added.
× It is possible to save the memory by the number of sub-matrices.

【0033】(実施例4)実施例4では、圧縮率を更に
高めるためスライスが印刷ドットを全く含まない空白ス
ライスを示す空白インジケータ、またスライス全体が直
前のスライスと同一であることを示す同左インジケータ
を設ける。図8は符番インジケータ、空白インジケー
タ、同左インジケータを2ビットで実現したスライス属
性インジケータを示す図である。すなわち各スライスに
対して属性を図8のように2ビットずつ割り振り1文字
に対して2×48ビット(12バイト)の属性インジケ
ータを設ける。
(Embodiment 4) In Embodiment 4, a blank indicator showing a blank slice in which the slice does not include any printing dots in order to further increase the compression rate, and an indicator on the left side showing that the whole slice is the same as the immediately preceding slice. To provide. FIG. 8 is a diagram showing a slice attribute indicator in which a code number indicator, a blank indicator and a left indicator are realized by 2 bits. That is, as shown in FIG. 8, attributes are assigned to each slice by 2 bits, and an attribute indicator of 2 × 48 bits (12 bytes) is provided for one character.

【0034】次に図9を参照しながらCPUが実行する
制御手順について詳しく述べる。s200は実施例1の
s100と同様である。s201ではポインタFADD
Rから12バイトデータをATTRFLGにコピーす
る。さらにポインタFADDRを12ましてフォントデ
ータの先頭を指すようにする。次にS202では48ス
ライス分処理すべくSCOUNTERの初期値として4
8を代入する。次にS203でATTRFLGから該当
スライスの属性インジケータ(該当スライスの2ビッ
ト)が論理‘00’か否か判断する。判断が真の場合に
はS204で6バイト分の00hを印字データとして処
理しS214に進む。
Next, the control procedure executed by the CPU will be described in detail with reference to FIG. s200 is the same as s100 of the first embodiment. Pointer FADD in s201
Copy 12-byte data from R to ATTRFG. Further, the pointer FADDR is set to 12 so as to point to the beginning of the font data. Next, in S202, 4 is set as the initial value of SCOUNTER in order to process 48 slices.
Substitute 8 Next, in S203, it is determined from ATTRFLG whether or not the attribute indicator of the relevant slice (2 bits of the relevant slice) is logical '00'. When the determination is true, 6 bytes of 00h are processed as print data in S204, and the process proceeds to S214.

【0035】一方判断が「偽」の場合にはS205でA
TTRFLGから該当スライスの属性インジケータ(該
当スライスの2ビット)が論理‘11’か否か判断す
る。判断が「真」の場合にはS206で6バイト分の直
前のデータを印字データとして処理しS214に進む。
S205の判断が「偽」の場合には、S207でATT
RFLGから該当スライスの属性インジケータ(該当ス
ライスの2ビット)が論理‘01’か否か判断する。判
断が「真」の場合にはS208でFADDRで示される
アドレスの内容を2バイト分INOにコピーする。次に
S209でINO×6+符番サブマトリックス先頭アド
レスを計算しIADDRに格納する。次にS210で
は、IADDRから6バイト分のデータを印字データと
してプリントバッファ5に展開する。更にS211でF
ADDRの値を2だけ増す。次にS214でSCOUN
Tの値を1だけ減じる。次にS215でSCOUNTが
‘0’になかったか否か判断して判断が偽の場合にはS
203に戻り、真の場合処理を終了する。
On the other hand, if the determination is "false", then in S205, A
From TTRFLG, it is determined whether the attribute indicator of the corresponding slice (2 bits of the corresponding slice) is logical “11”. If the determination is "true", the data immediately before 6 bytes is processed as print data in S206, and the process proceeds to S214.
If the determination in S205 is "false", the ATT is determined in S207.
It is determined from the RFLG whether the attribute indicator of the corresponding slice (2 bits of the corresponding slice) is logical "01". If the determination is “true”, the contents of the address indicated by FADDR are copied into INO for 2 bytes in S208. Next, in step S209, the INO × 6 + code number sub-matrix start address is calculated and stored in IADDR. Next, in S210, 6 bytes of data from the IADDR are expanded in the print buffer 5 as print data. Furthermore, in S211, F
Increase the value of ADDR by 2. Next, in S214, SCOUN
Decrement the value of T by 1. Next, in S215, it is determined whether or not SCOUNT is not "0", and if the determination is false, S is determined.
Returning to step 203, if true, the processing ends.

【0036】一方S203の判断が偽の場合には、S2
12でFADDRから6バイト分のデータを直接印字デ
ータとしてプリントバッファ5に展開し、S213にて
FADDRを6だけ増してS214へ進む。
On the other hand, if the determination in S203 is false, S2
In 12 the data of 6 bytes from FADDR is directly expanded into the print buffer 5 as print data, and in S213 FADDR is increased by 6 and the process proceeds to S214.

【0037】次に実例を挙げて説明する。Next, an actual example will be described.

【0038】文字「亜」に対する処理を説明するが、実
施例1と異なる部分のみ説明する。
The processing for the character "A" will be described, but only the portions different from the first embodiment will be described.

【0039】第1、第2スライスに対しては実施例1と
同様である。第3及び第4スライスに対しては第2スラ
イスと同一データなので属性インジケータには、同左を
示す‘11’が格納されている。従って、s205の判
断が「真」となりs206で第2スライスからデータを
取り込み第3、第4スライスとして処理される。以下同
様にして文字「亜」が伸長される。
The first and second slices are the same as in the first embodiment. Since the same data as the second slice is used for the third and fourth slices, the attribute indicator stores "11" indicating the same left side. Therefore, the judgment at s205 becomes "true", and at s206, the data is taken in from the second slice and processed as the third and fourth slices. In the same manner, the character "A" is expanded.

【0040】ここで第3、第4スライスなどの同左スラ
イスに対するフォントデータは不必要なのでフォントテ
ーブルに含まれないので圧縮率は更に高まる。
Here, since the font data for the same left slice such as the third and fourth slices is unnecessary and is not included in the font table, the compression rate is further increased.

【0041】同様に空白のスライスに対してもフォント
データは不必要なのでフォントテーブルに含まれないの
で圧縮率は更に高まる。
Similarly, since the font data is unnecessary for the blank slice and is not included in the font table, the compression rate is further increased.

【0042】(実施例5)実施例5では、圧縮率を更に
高めるため原図に排他的論理和(XOR)処理を施す。
(Fifth Embodiment) In the fifth embodiment, the original diagram is subjected to an exclusive OR (XOR) process in order to further increase the compression rate.

【0043】図11は排他的論理和処理を示す図で、第
2スライスは第1スライスと排他的論理和をとる。以下
同様に第Nスライスは第N−1スライスと排他的論理和
をとる(N>=2)。このように差分化された輪郭図形
を新たに原図とみなして実施例5と同様の処理をする。
この処理により全文字スライス中異なるパターンの総数
を減らしかつ空白スライスを増すことができることは容
易に理解できる。
FIG. 11 is a diagram showing an exclusive OR process, in which the second slice takes an exclusive OR with the first slice. Similarly, the Nth slice and the N-1th slice are exclusive-ORed (N> = 2). The contour figure thus differentiated is newly regarded as an original figure, and the same processing as that of the fifth embodiment is performed.
It is easy to see that this process can reduce the total number of different patterns in all character slices and increase the blank slices.

【0044】本実施例の場合には図12の如く同左スラ
イスインジケータの代わりにスライス全体が印刷ドット
であることを示す全黒図スライスインジケータを備え
る。これは直前のスライスと同一のスライスとは既にX
OR処理により空白スライスとなっているため同左スラ
イスインジケータが無駄になるためである。
In the case of the present embodiment, as shown in FIG. 12, instead of the left slice indicator, an all-black diagram slice indicator showing that the entire slice is a print dot is provided. This means that the same slice as the previous slice is already X
This is because the left slice indicator is wasted because it is a blank slice due to the OR processing.

【0045】従ってさらに圧縮率を高めるため全てのド
ットが印字データであるような全黒インジケータを代わ
りに採用している。
Therefore, in order to further increase the compression rate, an all-black indicator in which all dots are print data is employed instead.

【0046】図12は本実施例のフローチャートである
が、実施例5との差異はs206で直前のスライスデー
タを印字データとして処理する代わりに6バイト分のf
fhを印字データとして処理する。
FIG. 12 is a flow chart of the present embodiment. The difference from the fifth embodiment is that instead of processing the immediately preceding slice data as print data in s206, f for 6 bytes is used.
fh is processed as print data.

【0047】また、原図を再生するためのXORは、一
旦図11の輪郭フォントを伸長後に各スライスでXOR
をとり原図を再生しても良いし、各スライス毎に直前の
再生されたスライスとのXORをとりながら伸長しても
良い。
Further, the XOR for reproducing the original image is performed by expanding the outline font shown in FIG.
May be used to reproduce the original image, or each slice may be expanded while taking the XOR with the immediately preceding reproduced slice.

【0048】(実施例6)図13は、実施例1の印字装
置の代わりにドットリフレッシュ型表示装置を採用した
実施例6の構成図であるがフォントの出力先がプリント
バッファからVRAMになっただけで実施例1と同様な
ので詳細は省略する。
(Sixth Embodiment) FIG. 13 is a block diagram of a sixth embodiment in which a dot refresh type display device is adopted instead of the printing device of the first embodiment, but the font output destination is changed from the print buffer to the VRAM. Since it is the same as the first embodiment, the details will be omitted.

【0049】[0049]

【発明の効果】以上述べてきたように本発明の効果は多
大で、本発明によればいかなるフォントパターンに対し
ても高い圧縮率が可能となる。
As described above, the effect of the present invention is great, and the present invention enables a high compression rate for any font pattern.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例1の構成図。FIG. 1 is a configuration diagram of a first embodiment of the present invention.

【図2】実施例1のCGROMの構成図。FIG. 2 is a configuration diagram of a CGROM according to the first embodiment.

【図3】文字「亜」のビット構成と符番インジケータを
示す図。
FIG. 3 is a diagram showing a bit configuration of a character “A” and a reference number indicator.

【図4】実施例1の制御のフローチャート。FIG. 4 is a flowchart of control according to the first embodiment.

【図5】文字「亜」のCGROM内でのデータ構造を示
す図。
FIG. 5 is a diagram showing a data structure of a character “A” in CGROM.

【図6】実施例2のCGROM構成図。FIG. 6 is a CGROM configuration diagram of the second embodiment.

【図7】実施例4のスライス属性インジケータの例を示
す図。
FIG. 7 is a diagram showing an example of a slice attribute indicator according to the fourth embodiment.

【図8】実施例4のスライス属性インジケータの例を示
す図。
FIG. 8 is a diagram showing an example of a slice attribute indicator according to the fourth embodiment.

【図9】実施例4の制御のフローチャート。FIG. 9 is a flowchart of control according to the fourth embodiment.

【図10】実施例4の文字「亜」のビット構成と属性イ
ンジケータを示す図。
FIG. 10 is a diagram showing a bit configuration and an attribute indicator of the character “A” according to the fourth embodiment.

【図11】実施例5のXOR処理及び属性インジケータ
を示す図。
FIG. 11 is a diagram showing an XOR process and an attribute indicator of the fifth embodiment.

【図12】実施例5のスライス属性インジケータの例を
示す図。
FIG. 12 is a diagram showing an example of a slice attribute indicator according to the fifth embodiment.

【図13】実施例5の制御のフローチャート。FIG. 13 is a flowchart of control according to the fifth embodiment.

【図14】実施例6の構成図。FIG. 14 is a configuration diagram of a sixth embodiment.

【符号の説明】[Explanation of symbols]

1,11 CPU 2,12 RAM 3,13 ROM 4 印字装置 5 印字バッファ 6,16 CGROM 7 システムバス 14 表示装置 15 VRAM 1, 11 CPU 2, 12 RAM 3, 13 ROM 4 Printing device 5 Printing buffer 6, 16 CGROM 7 System bus 14 Display device 15 VRAM

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/22 8121−5G ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 5 Identification code Internal reference number FI technical display location G09G 5/22 8121-5G

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 1文字がM行×N列のビットパターンで
構成される文字群を各文字毎にM1行×N1列のサブマ
トリックスに分割し、前記サブマトリックス中N回(N
は2以上)以上出現するものに符番した符番化サブマト
リックス群と、前記M1行×N1列に分割されたM行×
N列のビットマップ中に符番化サブマトリックスを示す
符番インジケータを持つことを特徴としたパターン圧縮
方式。
1. A character group in which one character is composed of a bit pattern of M rows × N columns is divided into submatrices of M1 rows × N1 columns for each character, and N times (N
Is a number of 2 or more), and a number of coded sub-matrixes that number the ones that appear more than once, and M rows divided into M1 rows × N1 columns ×
A pattern compression method characterized by having a code number indicator showing a coded sub-matrix in a bitmap of N columns.
【請求項2】 前記符番インジケータは、サブマトリッ
クスが符番化されている場合2値符号の一方を、されて
いない場合には他方を格納することを特徴とした請求項
1のパターン圧縮方式。
2. The pattern compression method according to claim 1, wherein the code number indicator stores one of binary codes when the sub-matrix is coded and the other when the sub-matrix is not coded. .
【請求項3】 前記サブマトリックスが、印刷ドットを
全く含まないことを示す空白インジケータを備えたこと
を特徴とする請求項1のパターン圧縮方式。
3. The pattern compression scheme of claim 1, wherein the sub-matrix comprises a blank indicator that indicates that it contains no printed dots.
【請求項4】 前記サブマトリックスが、全てのドット
が印刷ドットであることを示す全黒インジケータを備え
たことを特徴とする請求項1のパターン圧縮方式。
4. The pattern compression method according to claim 1, wherein the sub-matrix includes an all-black indicator indicating that all dots are print dots.
【請求項5】 前記サブマトリックスが、直前のサブマ
トリックスと同一パターンであることを示す同左インジ
ケータを備えたことを特徴とする請求項1のパターン圧
縮方式。
5. The pattern compression method according to claim 1, wherein the sub-matrix includes an indicator on the left side that indicates the same pattern as the immediately preceding sub-matrix.
【請求項6】 前記サブマトリックス化に先立ち、前記
M1行×N1列のサブマトリックスは隣のサブマトリッ
クスと排他的論理和を実行し差分化したことを特徴とす
る請求項1のパターン圧縮方式。
6. The pattern compression method according to claim 1, wherein, prior to the submatrix formation, the M1 row × N1 column submatrix is subjected to an exclusive OR operation with an adjacent submatrix and differentiated.
【請求項7】 前記パターン圧縮方式にて圧縮・伸長さ
れたフォントパターンを印刷するための印刷装置を具備
することを特徴とした請求項1のパターン圧縮方式。
7. The pattern compression system according to claim 1, further comprising a printing device for printing the font pattern compressed and expanded by the pattern compression system.
【請求項8】 前記パターン圧縮方式にて圧縮・伸長さ
れたフォントパターンを印刷するための表示装置を具備
することを特徴とした請求項1のパターン圧縮方式。
8. The pattern compression system according to claim 1, further comprising a display device for printing the font pattern compressed and expanded by the pattern compression system.
JP5053895A 1993-03-15 1993-03-15 Pattern compression system Pending JPH06266529A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5053895A JPH06266529A (en) 1993-03-15 1993-03-15 Pattern compression system
US08/209,888 US5644684A (en) 1993-03-15 1994-03-14 High-efficiency compression suitable for use in character generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5053895A JPH06266529A (en) 1993-03-15 1993-03-15 Pattern compression system

Publications (1)

Publication Number Publication Date
JPH06266529A true JPH06266529A (en) 1994-09-22

Family

ID=12955463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5053895A Pending JPH06266529A (en) 1993-03-15 1993-03-15 Pattern compression system

Country Status (1)

Country Link
JP (1) JPH06266529A (en)

Similar Documents

Publication Publication Date Title
CA1162318A (en) Character set expansion
JPS6322310B2 (en)
JPS60245083A (en) Electronic dictionary
JPH06266529A (en) Pattern compression system
US5471676A (en) Character data compressing method and character modifying method
JPH0337697A (en) Character generator
US4402058A (en) Keyboard mismatch correction
JP2887928B2 (en) Image data output device
JPH06266530A (en) Pattern compression system
JP2744250B2 (en) Character processing apparatus and method
US5644684A (en) High-efficiency compression suitable for use in character generation
JPH01229666A (en) Printer
JP2886912B2 (en) Character processing apparatus and method
JPH0740596A (en) Character pattern output device
JPH01210995A (en) Font data processor
JPH02287739A (en) Memory access method
JPH06183093A (en) Printing equipment
KR940006121B1 (en) Korean character image implementation method in printer
JPH05281948A (en) Font pattern compressing and storing method
JP2622121B2 (en) Character processing apparatus and method
JPS61275789A (en) Character pattern generator
JPH02304596A (en) Character data generator
JPS581782B2 (en) Moji pattern hatsuseiki
JPH01140192A (en) Character generator
JPH0683820A (en) Document data output device

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000829