|
pfox
银牌会员
积分 1451
发帖 446
注册 2002-10-20
状态 离线
|
『第
16 楼』:
Quote: | 以下是引用QB45在2003-10-14 19:13:07的发言:
pfox, 你发的字库文件我已经分析过了,源程序如下所示,实际上这不是一个16*15 的点阵字库,而是14*14的点阵字库。由于你的误导,让我走了不少弯路!不知你从那里弄来的这个字库文件!他的顺序是按偏旁部首排列的! |
|
谢谢你。在是台湾国乔的一个字库。
|
我的下载空间 |
|
2003-10-14 00:00 |
|
|
QB45
高级用户
积分 677
发帖 194
注册 2003-9-13
状态 离线
|
『第
17 楼』:
你发的et3中文系統的16*15(還是14*14呢?...)的点阵字库文件
我已经分析过了,源程序如下所示,实际上这不是一个16*15 的点阵字库,而是15*15的点阵字库。不知你从那里弄来的这个字库文件!字库的顺序与Pfox发的点阵字库文件一样是按偏旁部首排列的,不过Pfox发的点阵字库文件里面包含拼音、数学等特殊符号而你的这个没有!源程序与上面一个差不多,你的另外的两个字库我没有分析,估计也是差不多的,你自己把我的这个源程序改写一下分析分析试试看吧!
下面是源程序
input "请输入16*15点阵字库的完整的路径与文件名_ ",file$
OPEN file$ FOR BINARY AS #1
SCREEN 12
FOR i1 = 0 TO 30
x0 = 0
FOR i = 1 TO 42
SEEK #1, (i - 1 + i1 * 42) * 30 + 1
zimo$ = INPUT$(30, 1)
num = 1
y0 = i1 * 15
FOR y = 0 TO 14
chr1$ = MID$(zimo$, num, 1)
num = num + 1
chr2$ = MID$(zimo$, num, 1)
num = num + 1
chr3$ = chr2$ + chr1$
LINE (x0, y0 + y)-STEP(14, 0), 7, , CVI(chr3$)
NEXT y
x0 = x0 + 15
NEXT i
NEXT i1
end
|
我(QB45)的照片与简历
http://www.programfan.com/club/showbbs.asp?id=197280
|
|
2003-10-14 00:00 |
|
|
Roy
管理员
專業島民
积分 4869
发帖 1633
注册 2002-12-10
状态 离线
|
『第
18 楼』:
Quote: | 以下是引用QB45在2003-10-14 21:38:15的发言:
你发的et3中文系統的16*15(還是14*14呢?...)的点阵字库文件
我已经分析过了,源程序如下所示,实际上这不是一个16*15 的点阵字库,而是15*15的点阵字库。不知你从那里弄来的这个字库文件!字库的顺序与Pfox发的点阵字库文件一样是按偏旁部首排列的,不过Pfox发的点阵字库文件里面包含拼音、数学等特殊符号而你的这个没有!源程序与上面一个差不多,你的另外的两个字库我没有分析,估计也是差不多的,你自己把我的这个源程序改写一下分析分析试试看吧!
下面是源程序
input "请输入16*15点阵字库的完整的路径与文件名_ ",file$
OPEN file$ FOR BINARY AS #1
SCREEN 12
FOR i1 = 0 TO 30
x0 = 0
FOR i = 1 TO 42
SEEK #1, (i - 1 + i1 * 42) * 30 + 1
zimo$ = INPUT$(30, 1)
num = 1
y0 = i1 * 15
FOR y = 0 TO 14
chr1$ = MID$(zimo$, num, 1)
num = num + 1
chr2$ = MID$(zimo$, num, 1)
num = num + 1
chr3$ = chr2$ + chr1$
LINE (x0, y0 + y)-STEP(14, 0), 7, , CVI(chr3$)
NEXT y
x0 = x0 + 15
NEXT i
NEXT i1
end |
|
這個是震漢的字型...好像真的是16*15呢...
這個是錄進的16*16字型...可以用16*16.bas再顯示字形.....可是不對字...
|
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
|
|
2003-10-15 00:00 |
|
|
QB45
高级用户
积分 677
发帖 194
注册 2003-9-13
状态 离线
|
『第
19 楼』:
你说的:“這個是震漢的字型...好像真的是16*15呢...”
如果你用的是我上面的那个程序没作改动的话,应该是15*15的点阵而不是16*15的点阵字库,因为16*15无需单独做一个字库,除非是游戏字库!在读取16*16的点阵字库的BAS程序中改一下算法少划一条线,不就是16*15的汉字了吗?当然说说容易!但是关键是要判断那条线对汉字的影响不大,从而去掉它!可以用判断大小的方式!你试试看阿!
请问,你怎么对这个东西有兴趣阿?
|
我(QB45)的照片与简历
http://www.programfan.com/club/showbbs.asp?id=197280
|
|
2003-10-15 00:00 |
|
|
sunny1979
初级用户
忍者
积分 376
发帖 86
注册 2003-10-16
状态 离线
|
『第
20 楼』:
支持你!写的不错。只是好象这些汉字显示复杂了点,可以直接调用字库中的字象HZK16、HZK24打印模式,好象比这简单一些!我这样认为,也许各有所见吧!
|
以C语言软件开发为主:http://sunny1979.icpcn.com |
|
2003-10-16 00:00 |
|
|
QB45
高级用户
积分 677
发帖 194
注册 2003-9-13
状态 离线
|
『第
21 楼』:
一般在屏幕上显示汉字的时候需要汉字系统的支持,但需要自己显示汉字的时候,就需要自己读汉字字库文件,把字符点阵读出来,再用绘图的办法显示到屏幕.
在 UCDOS 的点阵字库 HZK16 中,字符点阵是按照汉字内码排列的,汉字的内码从一些图形字符开始,起始编码为 A1A1H,汉字内码第一位为区码,每区为 94 个汉字,第二位为每区内的编码,每个汉字的点阵为 16点*16点 共32字节,数据按第一行 1-8点,9-16点,第二行 1-8点,9-16点...排列,每位数据 1 为要显示点,0 为不显示点。所谓16*16,是每一个汉字在纵、横各16点的区域内显示的。不过后来又有了HZK12、HZK24,HZK32和HZK48字库及黑体、楷体和隶书字库。虽然汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。因此,汉字在汉字库中的具体位置计算公式为:94*(区号-1)+位号-1。减1是因为数组是以0为开始而区号位号是以1为开始的。这仅为以汉字为单位该汉字在汉字库中的位置,那么,如何得到以字节为单位得到该汉字在汉字库中的位置呢?只需乘上一个汉字字模占用的字节数即可,即:(94*(区号-1)+位号-1)*一个汉字字模占用字节数,而按每种汉字库的汉字大小不同又会得到不同的结果。以16*16点阵字库为例,计算公式则为:(94*(区号-1)+(位号-1))*32。汉字库文该从该位置起的32字节信息即记录了该字的字模信息。
了解点阵汉字及汉字库的构成原理后,显示汉字就变得简单。以16*16点阵字库为例,通常的方法是:将文件工作指针移到需要的汉字字模处、将汉字库文件读入一2*16数组再用for循环一位位地显示.
而Roy和Pfox两位网友提供的字库是不能用这个计算公式来计算的,所以显示与你期望的结果不相符,要解决这个问题,就要知道它是怎么得到要显示汉字在字库中的位置的,我想应该有一份字库索引表这样的一个文件,你们找找看!如果没有就应该找找看台湾的汉字库结构是不是有自己的排列方式!
|
我(QB45)的照片与简历
http://www.programfan.com/club/showbbs.asp?id=197280
|
|
2003-10-16 00:00 |
|
|
凌晨一点
初级用户
积分 255
发帖 54
注册 2003-10-24
状态 离线
|
『第
22 楼』:
呵呵,早在70年代BASIC可风光呢,当时的一些小机器(非PC机,长的挺象90年代的小霸的那种)的操作系统就有用BASIC写的。许多应用程序譬如Lotus报表处理程序的“草稿”就是用它实现的。大名鼎鼎的暴雪创始人在那时就是靠BASIC给一些电脑公司写小游戏赚大学生活费的。直到现在,BASIC都是使用者最多的语言之一,没别的,就因为它简单,好上手,且功能不弱。
当然,我也不是叫你抱住它不放,我也是从QB走向C的啊,现在我有时都会用它做些小程序回味回味^_^ 我也觉得你应该去学C,玩编程的就是得拿的起放的下,说实话,当初我从B走向C都踌躇了许久呢^_^ 但现在觉得没白干。
加油吧!!
|
|
2003-10-25 00:00 |
|
|
warm
初级用户
积分 175
发帖 25
注册 2003-10-23
状态 离线
|
『第
23 楼』:
请问你当时为什么要从basic到c呢?是因为速度的问题吗?
|
|
2003-10-25 00:00 |
|
|
凌晨一点
初级用户
积分 255
发帖 54
注册 2003-10-24
状态 离线
|
『第
24 楼』:
原因比较多吧,速度是一方面,另外还有功能,灵活性等方面啦,当然,功能强是较大的咯^_^
|
|
2003-10-27 00:00 |
|
|
spirit
初级用户
积分 111
发帖 5
注册 2003-12-1
状态 离线
|
|
2004-1-8 00:00 |
|
|
qb45
高级用户
积分 677
发帖 194
注册 2003-9-13
状态 离线
|
|
2004-1-8 00:00 |
|
|
iceboy
银牌会员
积分 1681
发帖 512
注册 2003-8-2
状态 离线
|
『第
27 楼』:
希望你做一个 800*600@75Hz 显示汉字 & 图片的 LIB
刷新率低, 看着实在难受。(除非是黑底白字)
|
Somehow somewhere I've got to choose.
No matter if it is win or lose. |
|
2004-1-11 00:00 |
|
|
qb45
高级用户
积分 677
发帖 194
注册 2003-9-13
状态 离线
|
|
2004-1-12 00:00 |
|
|
pizigao
银牌会员
三生缘里笑红尘
积分 1063
发帖 292
注册 2003-3-9
状态 离线
|
『第
29 楼』:
顶啊!我也想学C语言啊
|
|
|
2004-1-13 00:00 |
|