打印

简单图文教程:怎样生成任意排列的字库

[复制链接]
2370|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xwj|  楼主 | 2008-12-3 17:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
王紫豪| | 2008-12-6 01:57 | 只看该作者

支持xwj

使用特权

评论回复
板凳
AV693| | 2008-12-6 10:31 | 只看该作者

如何在单片机编译器内码中区分中文和西文?

如何在单片机编译器内码中区分中文和西文?
如混合显示中西文函数:
myPrint("电子21IC网站");
自定义字库点阵中文和西文是分开的。所以中文(“电子网站”)和西本(“21IC”)是要分开处理的。
中文和西文在C编译器中的区别(非Unicode的,双字节字符集)主要有如下两点:
1.中文字符由2个字节组成,西文由一个字节组成。
2.中文的两个字节的最高位都为1,即二进制的1*******(*指可是高电平,也可是低电平)。
根据以上两点,设计程序:


//示意程序
void myPrint(unsigned char *str)//中西文混合显示
{
     while(*str
     {

        if(*str & 0x80)                          //高位为1说明是汉字
        {
            //调用显示中文字程序
          printDBCS(str);                            
            str++;     //汉字就跳过两个字节
            str++;
        }
        else /*不是汉字,而是西文*/
        {
            //调用显示西文字程序
          printASCII(str);
            str++;                                             //西文就跳过一个字节
        }
    }
}

//调用方法:
myPrint("电子21IC网站");

使用特权

评论回复
地板
gaohq| | 2008-12-6 16:45 | 只看该作者

xwj

你那一楼右下脚的那个图在哪里搞的?

使用特权

评论回复
5
luck851| | 2010-4-19 15:50 | 只看该作者
mark

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

xwj

288

主题

22797

帖子

35

粉丝