CN1005435B - 一种能生成多种字体的汉字字模发生器 - Google Patents
一种能生成多种字体的汉字字模发生器 Download PDFInfo
- Publication number
- CN1005435B CN1005435B CN87102545.0A CN87102545A CN1005435B CN 1005435 B CN1005435 B CN 1005435B CN 87102545 A CN87102545 A CN 87102545A CN 1005435 B CN1005435 B CN 1005435B
- Authority
- CN
- China
- Prior art keywords
- word
- compression
- chinese character
- frequency
- chinese
- 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
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种能生成多种字体的汉字字模发生器本发明是一种汉字字模发生器,属于计算机汉字信息处理领域。其特征是:通过对多种字体汉字点阵信息较大幅度压缩的方法,解决目前通用中高档汉字信息处理装置输出多种字体汉字问题。具体方法是:以字节为单位,对汉字点阵信息中出现频率较高的编码用较少位的信息来表示,同时对相邻相同的编码,用一位信息来表示。采用这种方法,能使汉字点阵信息压缩50%以上,可用于各种计算机汉字信息处理系统的字模发生。
Description
本发明是一种能生成多种字体的汉字字模发生器,用于汉字信息处理系统中的字模发生。特别是用于实时中高档中文信息处理系统,如中文电子打字机,中文信息处理机,中档轻印刷系统或专用汉字适配器等。
在具有中文信息处理能力的计算机系统中,汉字字模发生器是一个重要组成部分。其构成是储存汉字字形信息的存储器及一些配套硬、软件设备。
根据字模生成方式的不同,汉字字模发生器可分为二大类:
1.建立在“光栅扫描图片”基础上的点阵法字模发生器。
2.建立在“线条图”或“轮廓图”基础上的向量法或称图形学方法字模发生器。
由于汉字数量众多,因此汉字字模发生器所占的存储量是很大的。采用上述第2种字模生成方式(即向量法),能够有效地压缩存储量,可以直接用计算机中ROM构成字模发生器。但这种字模发生器只能生成直线条形汉字,很难生成多种字体汉字,如楷体、黑体、仿宋体等。点阵法原则上可以生成任何字体和形状的汉字,但由于汉字数量庞大,用点阵法构成汉字字模发生器所需的存储量非常庞大,例如:一个24×24点阵的8000汉字,约占0.5M字节(每字节8位)的存储空间,48×48点阵8000汉字需占2.3M字节存储空间。当需要输出较高级多种字体,如40×40点阵楷体、黑体、仿宋体及48×48点阵宋体时(每个字库6764个汉字),存储量将超过6.1M字节,即近50M位。因此,不能不用硬磁盘或ROM、RAM和硬磁盘共同组成的多级存储系统,构成汉字字模发生器。因此,目前无硬磁盘的中文信息处理系统(如中文电子打字机),只能输出低级的单一的汉字字符,16×16点阵的汉字或24×24点阵汉字等。而同时输出多种字体,如楷体、宋体、黑体、仿宋体是构成一个通用中高档中文编辑系统或信息处理系统所必须的。
本方法的目的,是通过对汉字字模点阵信息较大幅度的压缩的方法,实现对原来用硬盘或实行多极存储器构成的能生成多种字体的汉字字模发生器,仅用计算机内部存储器ROM构成的目的,从而解决目前通用中高档汉字信息处理装置输出多种字体的问题。
本发明通过对图形或汉字点阵数据中二种冗余编码-1是部分编码在全部据中大量重复出现,2是相邻字编码完全一样,采取下述针对性的压缩步骤,实现上述目的:
一、将全部编码按n位为字长进行统计(n为计算机中字节位数的整倍数),列出相同字出现的频度表(此频度表也是数据还原时的编码表)。
二、对出现频率最高的两个字各用一位来代表,即“0”和“1”,这样一个字(n位)在局部可压缩为一位;对出现频率次之的四个字各用二位“00”、“01”、“10”、“11”来代表,这样一个字(n位)可在局部压缩为2位……余类推。由于压缩后信息位数是不固定的,所以另用log2n位数来表示压缩后的信息位数。(当log2n是小数时,取它的整数部分再加1)。
三、用一位表示相邻字相同或相邻字不同,“0”代表与上一字相贤,“1”代表与上一字不同(或相反表示也行)。当相邻字相同时,可用一位来代表一个字(n位)。连续相同时,可连续用“0”(或“1”)来表示。
四、数据还原是数据压缩的逆过程。
下面以40×40点阵楷体汉字“啊”字为例,具体说明上述压缩过程。
1.40×40点阵汉字,每个汉字由200个字节组成,楷体“啊”字的全部代码。(见附表1)
2.在此例中n取8,即以8位(一个字节)为字长。
3.log28=3,即用3位表示每个字压缩后的信息长度。
000 代表长度为1
001 代表长度为2
010 代表长度为3
011 代表长度为4
100 代表长度为5
101 代表长度为6
110 代表长度为7
111 代表长度为8
4.统计结果(见附表2),频度及压缩编码表,此表也是数据还原时的编码表。
在此例中,编码总数:200个;
相邻字不相同的编码:64个(使用步骤二压缩);
相邻字相同的编码:136个(使用步骤三压缩)。
5.原编码与压缩后编码对照表。(见附表3)
单数行是压缩前的原编码(十六进制);
双数行是压缩后编码(二进制)。
注:压缩后的编码有三部分组成:前三位表示局部压缩码的长度,接着是相应长度的局部压缩码。最后是一位的表示下一字节是否与上字节相同的缩码。若连续相同,则连续用一位表示。
6.压缩后编码表(十六进制)。(见附表4)
压缩后用73个字节代替了原有200个字节,压缩比达到了63.5%。
[压缩比=(原编码个数-压缩后编码个数)/原编码个数]
7.字模发生过程中,编码信息还原过程逻辑框图(见附图1)。
图中:JS为计数单元,同时是还原后字节指针,一个40×40点阵汉字共200个字节,当JS=200时,一个汉字还原结束。
对整个字库也是采取上述方法进行压缩,所不同的是对整个字库的全部编码进行统计,例出频度表进行压缩。即频度及压缩编码表,是基于对整个字库全部编码进行统计的结果。
本发明的汉字字模发生器硬件实现的原理框图(见附图2)。
应用本发明后,可以使汉字字模发生器所用ROM芯片减少50%以上,使得用高容量ROM芯片构成实用的能生成多种字体的汉字字模发生器,在体积和成本上成为可能。例如:用本发明的压缩技术,可将前述四个字库6.1M字节数据在不失真的前提下,压缩为2.7M字节,用最新的2M位ROM芯片只需11片即可。对于原来没有硬盘、不能输出多种高级字体从而在应用范围上受到限制的中文信息处理系统,如中文打印机,中文终端,中档轻印刷系统,应用本发明的技术后,能够输出多种字体的高级汉字。
另外,应用本发明还可以使原来只能用硬盘或多级存储系统作字模发生器的汉字信息处理系统,硬件结构发生相应改变,即可以省去构成字模发生器的硬盘,同时在输出速度上使得实时输出多种汉字字体成为可能,并在系统的体积和成本上都带来突出效益。
附表一:40×40点阵楷体“啊”字编码。
00 00 00 00 00 00 00 00 00 00 00
3B 1F 1C 1C 1C 0C 0C 0D 0F 0E 0C
04 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 07 06 06 E6 F6 FE 76 67
66 66 E6 E6 C7 07 07 07 07 07 07
07 07 07 07 07 07 07 02 00 00 00
00 00 00 00 00 00 00 30 7C FC B8
30 20 47 5F 60 60 F0 70 23 3F 38
10 08 0F 0F 04 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 03 3F FF CE
0F 07 07 C6 E6 E6 C6 C6 C6 C6 06
06 06 06 07 07 07 07 07 47 3F 3F
1F 0F 06 00 00 00 00 00 00 00 00
00 00 30 F8 FC 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00
附表二:频度及压缩编码表。
在表中,压缩后编码的前三位是表示长度的,在表中用空格加以分隔是为了阅读清楚。
原编码(16进制) 出现频度(10进制) 相邻字不相同 压缩后编码
(共200个) 编码出现频度 (2进制)
(共64个)
00 109 6 000 0
0F 5 4 000 1
07 21 4 001 00
30 3 3 001 01
E6 5 3 001 10
06 7 3 001 11
3F 4 3 010 000
C6 5 2 010 001
1F 2 2 010 010
04 2 2 010 011
FC 2 2 010 100
OC 3 2 010 110
FF 1 1 010 111
FE 1 1 011 0000
CE 1 1 011 0001
B8 1 1 011 0010
60 2 1 011 0011
5F 1 1 011 0100
F8 1 1 011 0101
3B 1 1 011 0110
(附表二:续)
原编码(16进制) 出现频度(10进制) 相邻字不相同 压缩后编码
(共200个) 编码出现频度 (2进制)
(共64个)
F6 1 1 011 0111
1C 3 1 011 1000
03 1 1 011 1001
C7 1 1 011 1010
7C 1 1 011 1011
38 1 1 011 1100
F0 1 1 011 1101
OE 1 1 011 1110
23 1 1 011 1111
67 1 1 100 00000
66 2 1 100 00001
76 1 1 100 00010
0D 1 1 100 00011
18 1 1 100 00100
20 1 1 100 00101
08 1 1 100 00110
02 1 1 100 00111
70 1 1 100 01000
其余的编码出现频度是0,在此表中没有列出。
附表三:原编码与压缩后编码对照表。
00 00 00 00 00 00 00 00
0000 0 0 0 0 0 0 0
00 00 00 3B 1F 1C 1C 1C
0 0 0 10110110 1010010 10111000 0 0
0C 0C 0D 0F 0E 0C 04 00
1010110 0 110000011 10001 10111110 1010110 1010011 10000
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 07
0 0 0 0 0 0 0 100100
06 06 E6 F6 FE 76 67 66
100111 0 100110 10110111 10110000 110000010 110000000 1100000
66 E6 E6 C7 07 07 07 07
0 100110 0 10111010 100100 0 0 0
07 07 07 07 07 07 07 07
0 0 0 0 0 0 0 0
07 02 00 00 00 00 00 00
0 110000110 10000 0 0 0 0 0
附表三:(续)
00 00 00 00 30 7C FC B8
0 0 0 0 100101 10111011 1010100 10110010
30 20 47 5F 60 60 F0 70
100101 110000101 1010101 10110100 10110011 0 10111101 11000100
23 3F 38 18 08 0F 0F 04
1011111 1010000 10111100 110000100 110000110 10001 0 1010011
00 00 00 00 00 00 00 00
10000 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
03 3F FF CE 0F 07 07 C6
10111001 1010000 1010111 10110001 10001 100100 0 1010001
E6 E6 C6 C6 C6 C6 06 06
100110 0 1010001 0 0 0 100111 0
06 06 07 07 07 07 07 47
0 0 100100 0 0 0 0 1010101
3F 3F 1F 0F 06 00 00 00
1010000 0 1010010 10001 100111 10000 0 0
附表三:(续)
00 00 00 00 00 00 00 30
0 0 0 0 0 0 0 100101
F3 FC 00 00 00 00 00 00
10110101 1010100 10000 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00
0 0 0 0 0 0 0 0
附表四:压缩后编码(十六进制)。
00 02 DA 95 C1 59 83 8D F5 6A
70 00 00 01 24 E9 AD EC 30 58
0C 0A 65 D4 80 01 86 80 02 5B
BA 96 52 E1 6A DA 59 AF 71 17
F4 2F 30 98 68 A9 C0 00 00 05
CD 0A F6 31 91 46 65 11 38 90
2A D0 52 8C F0 00 4B 6B 52 00
00 00 00
Claims (7)
1、一种能生成多种字体的汉字字模发生器,字库中某种字体的某一个字符图形点阵编码的压缩,其特征在于:
a、将编码(二进制)按n位为字长进行统计(n为计算机中字节位数的整倍数,由于一个字节为8位,故n也是8的整倍数),列出相同字(n位构成一个字)出现的频率表。
b、对每个字按出现频率的高低顺序排列,对出现频率最高的两个字各用一位,即“0”、“1”来代表,对出现频率次之的四个字各用二位,即“00”、“01”、“10”、“11”来代表,对出现频率再次之的八个字各用三位来代表……余类推,另用log2n位二进制数来表示压缩后的信息位数,得到一个压缩编码表;据此编码表对全部编码按n位为字长,逐字进行压缩,即用压缩后的编码逐一代替原编码,得到第一步压缩结果。
C、在第一步压缩的基础上,对相邻相同的字再进一步压缩,即用一位表示相邻字相同或不同,“0”表示与上一字相同,“1”表示与上一字不同(反之也行),若下一字与上一字相同,则直接用一位“0”来表示。
2、根据权利要求1所述的压缩,其特征在于可以对字库中一种字体的全部字符图形点阵编码进行压缩。
3、根据权利要求1所述的压缩,其特征在于可以对字库中多种字体的全部字符图形点阵编码进行压缩。
4、根据权利要求1、2、3所述的压缩,其特征在于这些压缩方法的数据还原过程是数据压缩的逆过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN87102545.0A CN1005435B (zh) | 1987-04-10 | 1987-04-10 | 一种能生成多种字体的汉字字模发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN87102545.0A CN1005435B (zh) | 1987-04-10 | 1987-04-10 | 一种能生成多种字体的汉字字模发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1031140A CN1031140A (zh) | 1989-02-15 |
CN1005435B true CN1005435B (zh) | 1989-10-11 |
Family
ID=4814015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN87102545.0A Expired CN1005435B (zh) | 1987-04-10 | 1987-04-10 | 一种能生成多种字体的汉字字模发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1005435B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100410852C (zh) * | 2002-12-27 | 2008-08-13 | 佳能株式会社 | 字处理方法和装置 |
CN104932846B (zh) * | 2015-06-08 | 2018-03-09 | 中国人民解放军91872部队 | 一种测试设备的俄文字符打印输出方法 |
CN110164399B (zh) * | 2019-07-01 | 2020-11-24 | 深圳市卡迪智能科技有限公司 | 8位深度字模存储优化方法 |
-
1987
- 1987-04-10 CN CN87102545.0A patent/CN1005435B/zh not_active Expired
Also Published As
Publication number | Publication date |
---|---|
CN1031140A (zh) | 1989-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1004330B (zh) | 液-液萃取分离稀土元素的过程 | |
Valverde et al. | Scale-free networks from optimal design | |
CN1003890B (zh) | 安子介式汉字笔形电脑编码法及其键盘 | |
CN1005803B (zh) | 从衬底上去除薄膜的气态方法和设备 | |
CN1005435B (zh) | 一种能生成多种字体的汉字字模发生器 | |
CN1005017B (zh) | 分离回收—氧化碳的吸附剂及其制法和用途 | |
CN1003032B (zh) | 用户线接口电路 | |
CN1004310B (zh) | 厚膜电阻组合物 | |
CN85108388B (zh) | 一种祛痰剂的制备过程 | |
CN1005416B (zh) | 亲有机复合料 | |
CN85102764B (zh) | 磷—稀土改性的zsm-5沸石催化剂及其制法和用途 | |
CN1003192B (zh) | 前端系统 | |
CN85100868B (zh) | 多文种电脑 | |
CN1005549B (zh) | 笔尖的结构 | |
CN1005437B (zh) | 实现光栅工作法的变换电路 | |
CN1003196B (zh) | 高分辨率字形高速旋转的方法 | |
CN1006016B (zh) | 汉字小键盘整字输入方案 | |
CN85100275B (zh) | 照排机和印字机共享的字形发生器和控制器 | |
CN1005059B (zh) | 采用新型羟丙基甲基纤维素醚作为悬浮剂聚合氯乙烯的方法 | |
CN1004109B (zh) | 光栅图象存储器 | |
CN85108511B (zh) | 汉字国标码“压缩密码型”通讯编码方法 | |
CN1005433B (zh) | 用计算机及图形输入板制作高分辨率汉字字形的方法 | |
CN85107222B (zh) | 环氧树脂混合物 | |
Stone et al. | Structures of the affine families of switching functions | |
CN1005672B (zh) | 交流三相单绕组电机的变极方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
GR02 | Examined patent application | ||
GR01 | Patent grant | ||
C13 | Decision | ||
C14 | Grant of patent or utility model | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
C19 | Lapse of patent right due to non-payment of the annual fee |