VIA平台上显示中文

 在英文的VIA平台上显示中文(关于中文字库的开启与选择)

1.USE_SW_CHN=TRUE 中文字库的开关
    在Makefile里的定义:
ifeq "$(USE_SW_TYPHOON)" "TRUE"
ifeq "$(USE_SW_CHN)"
"TRUE"
             OBJS_LOCAL
+= valdispfont_chn.o valdispfontdata_chn.o
 //中文相关
            else
          OBJS_LOCAL += valdispfont_typhoon.o
valdispfontdata_typhoon.o  //没有中文
endif
else
    OBJS_LOCAL += valdispfont.o
valdispfontdata.o
endif
valdispfont_chn.c中
 void FontGetCharBitmap( DispFontT
Font,uint16 CharCode, DispBitmapT *BitmapP,bool OnlyWidth)
 {
           
//
实现了由资源编辑器产生的对应字符编码到从字库中取出对应字符的bitmap的过程。
   /* char is a ASCII or UNICODE
*/
   if (CharCode > 0xFF)
   {
     pFontData =
DispFontDataUnicode[Font];
   //中文编码是用Unicode
   }
   else
   {
     pFontData =
DispFontDataAscii[Font];
   }
   }
 static DispFontInfoT*
DispFontDataUnicode[DISP_FONT_TOTAL] =
 {
  
(DispFontInfoT*)&FontInfoHZ12x12,           /* DISP_FONT_SMALL_PLAIN  
*/
  
(DispFontInfoT*)&FontInfoHZ12x12,           /* DISP_FONT_SMALL_BOLD   
*/
  
(DispFontInfoT*)&FontInfoHZ12x12,          
/* DISP_FONT_NORMAL_PLAIN */
  
(DispFontInfoT*)&FontInfoHZ12x12,           /* DISP_FONT_NORMAL_BOLD  
*/
  
(DispFontInfoT*)&FontInfoHZ12x12,           /* DISP_FONT_LARGE_PLAIN  
*/
  
(DispFontInfoT*)&FontInfoHZ12x12            /* DISP_FONT_LARGE_BOLD   
*/
 };
FontInfoHZ12x12在    valdispfontdata_chn.c中定义,对应着相关字库
2. valdisppainter.c中的
DispTextOut()     与    DispMeasureText()
显示调用      
FontGetCharBitmap(dc->Font,CharCode,&Bitmap,TRUE);
来取得字编码相应的bitmap
3.在uieditcontrol.cpp中
EziFreeNumVector(),EziLoad(),EziUnLoad(),EziHandleKeypress(),EziCopyBufferToScreen(),
EziDrawElement()
是有关于Ezi输入法的,由#defined USER_EZI控制
4.由于中文字库比较大,所以删除了图片,游戏等辅助程序,腾出更多的Flash空间。

 

App_code与独立类库

  在做Withmobile相关的代码的时候,由于要有不少的相关类,开始的时
候都在Web项目的App_code文件夹里(在这里的好处就不用多说了)后来看到一 些比较大的项目如CHSNS(半开源),分了好几个大的类库项目,计划着也更改
Withmobile的相关类,但实现起来确感觉不很是方便,更改类库要重新编译 与更新,而在App_code中就不用,于是想一秒招,在App_code中建立相应的
字目录,待项目稳定下来再移到单独的类库当中:>

  Withmobile更换了数据库,由Access换成了Sql Server,一个很重要的
原因Access不支持存储过程,由于开始的时候没有做成独立的数据库工厂, 导致更换要费很多功夫。

 

好久没更新

好久没更新了,看来最近是够忙的,一方面要完成越来越多的工作,一方面工作之外的时间要做Withmobile相关的事,还有与家人一起相处的时间。工作上最近接手了好几个项目,不算大但反馈的问题的处理也会令人郁闷了。Withmobile相关的代码都要自己写了,本想找一个健壮的作基础,但一直没找到合适的。