【问题标题】:Using superscripts in C++Builder在 C++Builder 中使用上标
【发布时间】:2021-05-16 17:11:35
【问题描述】:

C++Builder 10.4.2

将文本放入带有 Tahoma 字体的标签中,根据 Tahoma 字符表,我使用 "lbf/in" + AnsiString((wchar_t)178) 添加 '2' 上标。

"inch of H" + AnsiString((wchar_t)8322) + "O" 应该给出一个上标 2,但它只是给出一个正常的 2。

在 Word 中,如果我键入 ALT+ 8+3+2+2,我得到了一个上标 2,正如预期的那样。

我是否在 C++Builder 中遗漏了什么?

【问题讨论】:

    标签: text c++builder


    【解决方案1】:

    通过将 wchar_t 转换为 AnsiString,您将获得一个 ANSI(8 位)值,因此会丢失所有 Unicode 信息。

    您只需要改用String 类型,它映射到UnicodeString

    String Text = _D("lbf/in") + String((wchar_t)178);
    

    【讨论】:

    • @RemyLebeau 也可以,L"inch of H\x2082O" 应该可以工作(尽管我无法评论这个编译器是否接受它)
    • @M.M 是的,确实如此
    • 这行得通——谢谢!回复:_D() 宏,无法在 c++builder 帮助系统中找到它(尽管这并不奇怪 :-()。另外,我错误地将 '8322' 称为 2 上标。它是下标。
    • @kevinm 文档:接近docwiki.embarcadero.com/RADStudio/Sydney/en/…的底部
    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多