⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 国标字库.txt

📁 c51经典子程序代码全集
💻 TXT
字号:
用【 小 | 中 | 大 】字体浏览 
硬件:请教有关国标字库 [流星雨] [48次] 01-10-11 下午 02:23:41
我现在用到字库,需要用字量很大,所以选用国标字库,但是不了解国标字库的组成,也不知那
本书上介绍,有那位帮帮忙,指教一二,thanks. 

参考意见 [逍遥派开派掌门人] [48次] 01-10-11 下午 02:48:20 
     找以前DOS版汉字操作系统的书查查,很老了,要耐心找。
    每个汉字是由区码和位码作为索引的;
    划分为87区(区码),每区有94个字(即位码)
    1--15区是基本的ASCII符号和制表符、特殊符号;
    16--87区是国标汉字。
    按拼音字母的顺序排列,
    16点阵的,32byte/汉字;
    24点阵的,72byte/汉字;
    国标字库还分为1级字库、2级字库。
    其它的详细情况查书吧。 

汉字GB码-->地址转换的编程参考: [鹊桥老仙] [47次] 01-10-11 下午 03:35:50 
#define LCD_X 8
#define LCD_Y 4                    /*LCD大小:LCD_X*16,LCD_Y*16 像素*/
#define   Hzk_SIZE 1024*8
#define LCD_Dis_RAM_Head 0x8000       /*显存起始位置*/
data uchar chCursorSiteNow_X=0,chCursorSiteNow_Y=0;        /*当前显示位置*/
xdata uchar Lcd_RAM[32][32] _at_ LCD_Dis_RAM_Head;    /*LCD映射显存*/
xdata uchar HzkModel[1024][32] _at_ 0x0000;     /*汉字起始位置*/

//*****************************************************
//汉字显示子函数
//内部函数调用
//*****************************************************
void putHZ(unsigned char *str)
{
    int iHZ_GB2312;
    unsigned char j,rom_page;
    uint i;

    iHZ_GB2312=*str;
    iHZ_GB2312=(iHZ_GB2312-0xa1)*94;
    str++;
    iHZ_GB2312+=(*str-0xa1);    /*将汉字GB码转换为汉字相对地址(int)*/

        rom_page=iHZ_GB2312/0x400;         /*得到页地址*/
        rompage=rom_page;                  /*设置ROM页*/

        i=iHZ_GB2312-rom_page*0x400;       /*得到字库相对表指针*/


    for(j=0;j<32;j++)
    {
    Lcd_RAM[8*chCursorSiteNow_Y][32*chCursorSiteNow_X+j]=HzkModel[i][j];
    }

    chCursorSiteNow_X++;

    if(chCursorSiteNow_X>=LCD_X)
    {
        chCursorSiteNow_X=0;
        chCursorSiteNow_Y++;
    }
}


一点补充修正 [Oldkey] [27次] 01-10-11 下午 04:03:28 
GB2312标准,共6763个汉字,其中一级字库3755个,二级字库3008个。
机内码为区位码+80H+20H,对应的汉字区码从B0H、位码从A1H开始,到F7FEH止,每区94个
汉字。
GBK编码为20902个汉字,其中GB部分兼容。

 

 
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2002 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -