marrylilili 发表于 2012-2-24 16:25:37

硬件没有SPI-FLASH,只想将需要显示的几个汉字通过取膜软件生成字膜,存储到.c文件中。

各位老大!
请教:硬件没有SPI-FLASH,只想将需要显示的几个汉字通过取膜软件生成字膜,存储到.c文件中。要如何做才能在RTGUI中显示汉字??比如label控件的标题是汉字?

tiancaigao7 发表于 2012-2-24 17:33:28

RTT自带字库,通过rtconfig.h中的#define RTGUI_USING_HZ_FILE这个宏关闭就可以直接调用GUI自带的汉字字库了,不过这样会相对占用资源多一些。

marrylilili 发表于 2012-2-25 09:45:54

回复【1楼】tiancaigao7 天才杨威利
rtt自带字库,通过rtconfig.h中的#define rtgui_using_hz_file这个宏关闭就可以直接调用gui自带的汉字字库了,不过这样会相对占用资源多一些。
-----------------------------------------------------------------------

谢谢tiancaigao7 天才杨威利的回复!!

将rtconfig.h中的#define rtgui_using_hz_file这个宏关闭,添加了#define RTGUI_USING_HZ_BMP这个宏定义,但是编译时出现:
.\Output\RT-Thread STM32.axf: Error: L6406E: No space in execution regions with .ANY selector matching hz16font.o(.constdata).
.\Output\RT-Thread STM32.axf: Error: L6407E: Sections of aggregate size 0x41574 bytes could not fit into .ANY selector(s).
以上两句错误。
通过将hz16font.c文件中的char hz16_font[] 的数组给注释,添加一个自己许要显示出的汉字的自膜的新char hz16_font[],是否可以呢??例如我想显示一个标题是“列表1”的lable,但是编译、下载后显示的“列表”两个字是个黑色的方框而“1”正确。希望老大解答一下。

tiancaigao7 发表于 2012-2-25 10:45:42

看提示应该是你的芯片资源不够吧。

marrylilili 发表于 2012-2-25 14:09:42

回复【3楼】tiancaigao7 天才杨威利
看提示应该是你的芯片资源不够吧。
-----------------------------------------------------------------------
是的老大。
现在既没有SD卡也没有SPI-flish,而且我要显示的汉字也就10多个,那要RTGUI要如何显示汉字?

marrylilili 发表于 2012-2-27 09:04:24

各位老大,有没有人出现过我这种没有SD卡和SPI-flash,但是又想显示汉字的情况的。
大家帮我想想办法吧!!!!

sunnydragon 发表于 2012-2-27 20:31:51

我记得在UCGUI中可以修改源码做到,使用什么汉字,就把字模利用链表的形式传送到UCGUI中。
不太清楚RTGUI汉字字模显示的流程,大虾们给分析啊~
页: [1]
查看完整版本: 硬件没有SPI-FLASH,只想将需要显示的几个汉字通过取膜软件生成字膜,存储到.c文件中。