This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Starterware/TM4C129XNCZAD:Tiva 字体字符混合

Guru**** 2416410 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626725/starterware-tm4c129xnczad-tiva-font-character-mix-up

器件型号:TM4C129XNCZAD

工具/软件:Starterware

Tiva 图形库附带的一些字体不能正确显示字符。 一个示例是">"被"¿"替换。 这仅在使用 CMSS 和 cm 字体时发生。 g_psFontCmt46正确显示了此字符。 调试显示'<'被正确表示为 ASCII 代码62。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    <>\_{|}也是 CMSS 和 cm 中的其他内容(但在 Cmtt 字体中正确)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:

    ¿的 ASCII 代码为168。 对于相同的">>"、您是否看到 CM 和 CMSS 字体中显示了不同的字符、或两者都显示为"¿"? 是否仅在某些字体点大小或所有大小下出现问题?

    我想除非您必须使用 sans serif 和计算机现代字体、否则我建议您使用 cmtt (打字机)字体、或者其他类似 CMSC 的字体、如果您可以接受、则不会出现问题。 同时,我会再作研究。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    46点字体用于发现此问题。 我在 g_psFontCmt46、g_psFontCm46和 g_psFontCms46之间交替。 固件的其余部分是单独保留的、因此根据字体、相同的字符会生成>或¿。 我还遇到了一个断点、并将其视为字符串数组。 确认字符为 ASCII 代码62。

    为了进一步证明、我用手从 C 数组中抽出了字符、并得到了¿。  

    作为变通办法、我编辑了字体 C 数组 g_sFontCms46。 我必须用替换元件1570到1622
    52、17、
    0、29、0x62、0xF4、0xD6、0xD6、0xD6、0xD6、0xD6、0xD4、0xB6、0x96、
    0x96、0x96、0x96、0xB4、0xD2、0xF0、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、
    0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、
    0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、0x10、
    0x10、0x10、

    此变通办法需要花费几个小时来绘制和计算、如果更改字体大小、我必须再次执行所有操作。 您的字体将自动生成。 您能否了解一下为什么>被¿替换并为我重新生成这些其他字体大小?

    我觉得 cmtt 字体在视觉上没有吸引力。

    此字体数组只有95个字符。 我认为它不会扩展到 ASCII 代码168

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    感谢您分享权变措施。 我认为您在解决方案方面领先于我们。 对于相同大小的 cmss46b 和 cmss46i、您是否会看到相同的问题? cmss44或 cmss48等不同大小的情况如何? 您是否只能在这些特殊字符上使用您提到的正在使用的 cmtt46、其余字符继续使用 cmss46。 我建议解决方法(如果您可以接受)的原因是、目前我们没有任何重新发布图形库的计划。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否共享用于生成字体的脚本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    请在 C:\ti\TivaWare_C_Series-2.1.4.178\tools\bin\ftrasterize.exe 下查找以生成字体。 源代码和自述文件位于\C:\ti\TivaWare_C_Series-2.1.4.178\tools\ftrasterize 下。