ST意法半导体
直播中

吴湛

9年用户 744经验值
擅长:可编程逻辑
私信 关注
[问答]

空格字符显示为后备字符是什么原因?如何解决?

你好!
在我的项目中,我添加了一个带有通配符的文本区域。我选中了“使用通配符缓冲区”选项,但将“初始值”留空。然后在 setupScreen() 函数中,我使用 Unicode::strncpy() 将一些文本写入通配符缓冲区。在模拟器中启动我的项目后,令我惊讶的是,文本显示为后备字符 (?)。我在通配符空间中也添加了一些字符。我尝试了一切,最后我为一些带有空格的文本设置了文本区域的初始值。然后使用空格正确呈现通配符文本。
我做错了什么还是某种错误?



回帖(1)

李泽坚

2022-12-6 09:53:14
TouchGFX 只生成它需要的字形,因为内存大小很重要。这意味着,如果您的应用程序中还没有其他文本在此特定版式上使用空格字符,则它不会在我之前提到的字体文件中生成空格符号,您将在 TextArea 中获得一个后备字符。
因此,您可以选择强制将空格字符包含在您的字体中:


  • 我建议在排版的“通配符范围”参数中添加空格字符(0x20)的 ASCII 符号。




  • 在排版的“通配符”参数中的其他符号(例如“a b” )之间添加一个空格字符。您必须将它包含在 2 个符号之间,否则 TouchGFX 将跳过空格并仅包含其他字符字形。




  • 使用相同的排版添加另一个 TextArea 并显示内部带有空格的文本,以强制 TouchGFX 包含此字体的符号。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分