这个是 BASIC,怎么能说和 C 很像呢 
字库在首帖 inc.zip 压缩包的 font1.bas,font2.bas 中,程序末尾 inc 了这两个文件,实际上就是一个巨大的数组,比如 font1.bas:
'///////////////////////////////////////////////////////////////////////////////////////////////////
'标准 ASCII 字符码表
'///////////////////////////////////////////////////////////////////////////////////////////////////
Ft1 = &h00,&h00,&h00,&h00,&h00,&h00,
&h00,&h5F,&h00,&h00,&h00,&h03,
&h00,&h03,&h00,&h14,&h7F,&h14,
&h7F,&h14,&h44,&h4A,&hFF,&h52,.......
对应写字符代码:
For is = 1 To iLs
bChr = Asc(Mid(Charat,is,1)) - 32 ' 根据每一个字符的 ASCII 马,在码表数组中找到对应的数据,一个字符是 5x8 点的 5 个 Byte 数据
For iFn = 0 To 4
iChn = Ft1(bChr * 5 + iFn)
DrawPage(x+xAdd,Page,iChn) ' 将每一个字符对应的这 5 个 Byte 写到显存
xAdd = xAdd + 1
Next iFn
xAdd = xAdd + 1
Next is
因为 ASCII 码的文字部分是从 32 开始的,所以软字体中没有 32 之前的部分,32 对应空格,就是 5 个 &h00;33 是 !,因此一个 5x7 点阵文字中,第一二、四五列都是 &h00,中间第三列就是 &h5f --- 就是,&b01011111 <--- 这就是一个 ! 号了嘛;然后是 34 的 ",第一列是空白 &h00,第二列有两个像素就是 &b00000011 = &h03,第三列还是空白 &h00,第四列和第二列一样 &h03,第五列还是空白 &h00,这样就构成一个 " 号,以此类推。
|