硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3191|回复: 7
收起左侧

[emWin] 中文矢量字体显示

[复制链接]

1

主题

3

回帖

1

积分

新手上路

积分
1
发表于 2016-5-13 10:13:47 | 显示全部楼层 |阅读模式
英文矢量字体能够正常显示,现在就是中文矢量字体显示不出来,显示出来是一个框框,请大家指点下!
矢量字体使用的是方正简体。
是不是编码格式出现了问题,请大神指教!


void VectorChar_Display(void)
{

    unsigned int numberToRead;
    unsigned int readbackNumber;
    FRESULT err;

    GUI_TTF_CS cs0,cs1,cs2,cs3;
    GUI_TTF_DATA data;

    FIL MyFile;

    GUI_SetBkColor(GUI_BLACK);
    GUI_SetColor(GUI_RED);

    osThreadSuspendAll();

    if(f_open(&MyFile, "fzjt.ttf",FA_OPEN_EXISTING|FA_READ)==FR_OK)
    {

        if(MyFile.fsize > FILE_BUFFER)
            while(1);
                   err = f_read(&MyFile,acBuffer+numberToRead,65535,&readbackNumber);
         
        }

    }
    osThreadResumeAll();

    data.pData = acBuffer;
    data.NumBytes = MyFile.fsize;

    cs0.pTTF = &data;
    cs0.PixelHeight = 72;
    cs0.FaceIndex = 0;

    cs1.pTTF = &data;
    cs1.PixelHeight = 48;
    cs1.FaceIndex = 0;

    cs2.pTTF = &data;
    cs2.PixelHeight = 36;
    cs2.FaceIndex = 0;

    cs3.pTTF = &data;
    cs3.PixelHeight = 24;
    cs3.FaceIndex = 0;

        GUI_TTF_CreateFont(&font0, &cs0);
    GUI_TTF_CreateFont(&font1, &cs1);
    GUI_TTF_CreateFont(&font2, &cs2);
    GUI_TTF_CreateFont(&font3, &cs3);
    //GUI_SetFont(&font3);


    //GUI_SetTextMode(GUI_TM_TRANS);


    //GUI_DispStringAt("This is a new start, English TTF font I can show here, but chinses charater will be overcome.\0",0,0);
    //GUI_SetFont(&font2);
    //GUI_SetTextMode(GUI_TM_TRANS);
    //GUI_DispStringAt("This is a new start ,start from here TTF&!I think I will success\0",0,80);
    //GUI_SetTextMode(GUI_TM_TRANS);
    //GUI_SetFont(&font1);
    //GUI_DispStringAt("This is a new start, TTF font start here\0",0,300);
    GUI_SetFont(&font0);
    GUI_SetTextMode(GUI_TM_TRANS);
    GUI_UC_SetEncodeUTF8();
    GUI_DispStringAt("\xe8\xa5\xbf\xe5\xa5\xa5\xe7\xa7\x91\xe6\x8a\x80", 70, 150);
    GUI_DispStringAt("This is a new start, can you help me",0,400);
}
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-5-13 10:28:32 | 显示全部楼层
其中英文是矢量字体显示的效果,但是中文就是显示不出来!
143877344501593356.jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2016-5-13 13:52:47 | 显示全部楼层
看函数没问题啊。
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-5-13 15:01:14 | 显示全部楼层
就是中文搞不定,大家有没有成功显示过矢量汉字啊?
回复

使用道具 举报

1

主题

3

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2016-5-14 09:17:04 | 显示全部楼层
字库问题,搞定了,谢谢!
回复

使用道具 举报

2

主题

134

回帖

140

积分

初级会员

积分
140
发表于 2018-5-30 16:12:30 | 显示全部楼层
愤怒的小鸡 发表于 2016-5-14 09:17
字库问题,搞定了,谢谢!

亲  你是否使用ttf矢量字体用于实际项目了?  你有没有遇到过显示矢量字体需要很长时间的问题啊  比如一个界面  从打开到完全显示需要1s左右的时间   这个时间好像在计算矢量字体    你有没有遇到过?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-5-31 10:52:28 | 显示全部楼层
hanzixiangel 发表于 2018-5-30 16:12
亲  你是否使用ttf矢量字体用于实际项目了?  你有没有遇到过显示矢量字体需要很长时间的问题啊  比如一 ...

已经帮你测试了,使用的是我们V6板子的矢量字库例子,速度很快的。

即这个帖子里面的例子:
https://forum.anfulai.cn/forum.p ... &extra=page%3D1
回复

使用道具 举报

2

主题

134

回帖

140

积分

初级会员

积分
140
发表于 2018-5-31 14:58:57 | 显示全部楼层
eric2013 发表于 2018-5-31 10:52
已经帮你测试了,使用的是我们V6板子的矢量字库例子,速度很快的。

即这个帖子里面的例子:

多谢多谢硬汉大哥  已经看到了  非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-20 00:03 , Processed in 0.051389 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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