首页 相关文章 C语言嵌入式系统编程之屏幕操作

C语言嵌入式系统编程之屏幕操作


  汉字处理
  
  现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提供汉字显示功能的空调的LCD上不需要显示一条"短消息",诸如此类。但是一部手机、小灵通则通常需要包括较完整的汉字库。
  
  假如包括的汉字库较完整,那么,由内码计算出汉字字模在库中的偏移是十分简单的:汉字库是按照区位的顺序排列的,前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。因此,汉字在汉字库中的具体位置计算公式为:94*(区号-1)+位号-1。减1是因为数组是以0为开始而区号位号是以1为开始的。只需乘上一个汉字字模占用的字节数即可,即:(94*(区号-1)+位号-1)*一个汉字字模占用字节数,以16*16点阵字库为例,计算公式则为:(94*(区号-1)+(位号-1))*32。汉字库中从该位置起的32字节信息记录了该字的字模信息。
  
  对于包含较完整汉字库的系统而言,我们可以以上述规则计算字模的位置。但是假如仅仅是提供少量汉字呢?譬如几十至几百个?最好的做法是: [ 查看全文 ]

2016-02-19 标签:

C语言嵌入式系统编程之屏幕操作的相关文章

手机页面
收藏网站 回到头部