搜索
bottom↓
回复: 6

emWin中文显示问题请教!!!

[复制链接]

出0入0汤圆

发表于 2012-10-13 12:15:59 | 显示全部楼层 |阅读模式
我使用 FontCvt V5.16 来取中文字模,取得内容如下:

#include "GUI.h"

#ifndef GUI_CONST_STORAGE
  #define GUI_CONST_STORAGE const
#endif

/* The following line needs to be included in any file selecting the
   font.
*/
extern GUI_CONST_STORAGE GUI_FONT GUI_Fontfont_song_20;

/* Start of unicode area <Basic Latin> */
GUI_CONST_STORAGE unsigned char acGUI_Fontfont_song_20_0030[ 11] = { /* code 0030, DIGIT ZERO */
  __XX____,
  _X__X___,
  X____X__,
  X____X__,
  X____X__,
  X____X__,
  X____X__,
  X____X__,
  X____X__,
  _X__X___,
  __XX____};

/* Start of unicode area <CJK Unified Ideographs> */
GUI_CONST_STORAGE unsigned char acGUI_Fontfont_song_20_5386[ 28] = { /* code 5386 */
  __XXXXXX,XXXXXXX_,
  __X_____,________,
  __X_____,X_______,
  __X_____,X_______,
  __X_XXXX,XXXXX___,
  __X_____,X___X___,
  __X_____,X___X___,
  __X_____,X___X___,
  __X____X,____X___,
  __X____X,____X___,
  __X___X_,____X___,
  _X____X_,____X___,
  _X___X__,__XXX___,
  X___X___,___X____};

GUI_CONST_STORAGE GUI_CHARINFO_EXT GUI_Fontfont_song_20_CharInfo[2] = {
   {   6,  11,   1,   3,   8, acGUI_Fontfont_song_20_0030 } /* code 0030, DIGIT ZERO */
  ,{  15,  14,   0,   1,  16, acGUI_Fontfont_song_20_5386 } /* code 5386 */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Fontfont_song_20_Prop2 = {
   0x5386 /* first character */
  ,0x5386 /* last character  */
  ,&GUI_Fontfont_song_20_CharInfo[  1] /* address of first character */
  ,(GUI_CONST_STORAGE GUI_FONT_PROP_EXT *)0 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT_PROP_EXT GUI_Fontfont_song_20_Prop1 = {
   0x0030 /* first character */
  ,0x0030 /* last character  */
  ,&GUI_Fontfont_song_20_CharInfo[  0] /* address of first character */
  ,&GUI_Fontfont_song_20_Prop2 /* pointer to next GUI_FONT_PROP_EXT */
};

GUI_CONST_STORAGE GUI_FONT GUI_Fontfont_song_20 = {
   GUI_FONTTYPE_PROP_EXT /* type of font    */
  ,16 /* height of font  */
  ,16 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Fontfont_song_20_Prop1}
  ,14 /* Baseline */
  ,7 /* Height of lowercase characters */
  ,11 /* Height of capital characters */
};

显示程序是对一个按键里面的文字进行显示

static void _initDialog( WM_MESSAGE *pMsg )
{
        char text[20] = "      ";
       
        WM_HWIN hWin = pMsg->hWin;
        BUTTON_Handle hObj;
       
        hObj = WM_GetDialogItem( hWin, GUI_ID_BUTTON0 );
       
        text[0] = 0x30;
        text[1] = 0x30;
       
        text[2] = 0x53;
        text[3] = 0x86;
       
        BUTTON_SetFont( hObj, &GUI_Fontfont_song_20 );
        BUTTON_SetText( hObj, text );
       
}

理论上显示“00历”,但是只能显示“00”,中文的“历”不管怎么取模都显示不出来。
有人知道为什么吗?

出0入17汤圆

发表于 2013-7-2 00:57:27 | 显示全部楼层
FontCvt V5.16 上传一个呗

出0入34汤圆

发表于 2013-7-2 10:17:55 | 显示全部楼层
本帖最后由 xyz543 于 2013-7-2 10:23 编辑

我估计楼主您用得是 Font Converter Demo Version 的版本,这 Demo 版有限制取字而会产生不正确的 Font 的字型,如下图:



而正式版就没有这个问题了,我估计楼主可能是遇到这个原因吧?!



编辑原因: 修正错别字!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-7-2 12:30:31 | 显示全部楼层
两种可能 一种是字库问题 二是用的代码编辑器问题,如果用的是其他代码编辑器,需要注意。

出0入0汤圆

发表于 2013-7-9 18:00:24 | 显示全部楼层
如3楼所描述,可能是由于你使用的Font Converter 是Demo Version 的版本,我用的Demo Version 的版本直接就不能产生汉字字库。

出0入34汤圆

发表于 2013-7-10 12:09:14 | 显示全部楼层
zhoujunming27 发表于 2013-7-9 18:00
如3楼所描述,可能是由于你使用的Font Converter 是Demo Version 的版本,我用的Demo Version 的版本直接就 ...

您可以到这-> ~~求emWin的FontConvert全功能版软件~~ 的 4 楼下载附件...

出0入0汤圆

发表于 2013-7-10 14:23:23 | 显示全部楼层
xyz543 发表于 2013-7-10 12:09
您可以到这-> ~~求emWin的FontConvert全功能版软件~~ 的 4 楼下载附件...

谢谢,已经下载了,可以使用。非常感谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 09:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表