gpt4 book ai didi

qt4 - QTextEdit 中不间断空格未正确显示

转载 作者:行者123 更新时间:2023-12-02 10:34:11 27 4
gpt4 key购买 nike

QTextEdit t; t.setHtml(" ");显示带有锐音符的小“a”而不是不间断空格。这种情况仅发生在 Windows 上,而不是 Linux 或 FreeBSD 上。可能是什么原因造成的? Windows/Qt 中的错误?我该如何解决这个问题?

(Windows Vista x64 pro 上的 Qt 4.5。我的区域设置是默认的“C”。)

更新:我感觉这是 Qt/Windows 中的错误(已经提交了错误报告)。我已经创建了一个解决方法,但它很丑陋,并且涉及更改我的格式算法并使用 <pre> </pre>使用 CSS 来产生所需的输出。

有没有更简单的解决方法?

更新:&8194;和 &8195;两者都按照“wcm”的建议工作。可以肯定地说这也适用于其他用户吗? &nbsp;不工作可能仍然是一个错误,但是 &8194;似乎是一个可以接受的解决方法(?)。

更新:原来我错过了一些重要的事情:&nbsp;在 Qt/Windows 中,仅使用我使用的称为“终端”的特定单型字体才能正确渲染。当我切换到“Lucida Console”(或任何其他字体)时&nbsp;正确渲染!伙计,我希望我早点注意到这一点!该死。很明显某处存在错误(最有可能在 Qt 中)。但没关系,至少对我来说使用不同的字体已经解决了问题。

更新:这并不是我之前认为的 Qt 中的错误。要知道原因&nbsp;渲染不正确,请参阅 Tewha 的回答。

[已解决]

最佳答案

我发现您已经基本弄清楚了这一点,但我想我应该添加其中的“原因”。终端字体基于代码页 437,又名 DOS-US。 á 位于位置 160。

代码页 437 的字体并不多。事实上,我认为 Terminal 是唯一的 TrueType 字体!无论如何,如果您没有明确尝试显示老式 DOS 图形,则不应该使用终端。

代码页 437 到底是什么意思?它是“高 ASCII”,大约 1981 年。除了通常的 32-127 个字符之外,它还包括一些重音字母、用于在事物周围绘制边框的方框图形字符、一些数学符号,甚至是四组纸牌的符号!但世界以不同的方式变化,因此除了 32-127 之外,即使是其他字体中通常可用的字形也不是您所期望的。如果您在窗口中运行旧的文本模式 MSDOS 程序,它将使用代码页 437 字体。

有关详细信息,请参阅“code page 437 ”(维基百科)。

关于qt4 - QTextEdit 中不间断空格未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com