gpt4 book ai didi

java - Unicode 组合字符单独打印(不与前一个字符组合)

转载 作者:行者123 更新时间:2023-12-01 18:48:04 27 4
gpt4 key购买 nike

给定资源

<string name="squareRoot">&#x221A;x&#x0305;</string>

以及java代码

System.out.println("unicode: " + getString(R.string.squareRoot));

输出为

enter image description here

上划线(x0305)不应该在“x”之上吗?当我尝试使用与 textView 的文本相同的字符串资源时,上划线根本不显示(它占用空间,我知道这一点,因为我尝试交换“x”和上划线,并在“x”之前得到一个空格')

最佳答案

是的,U+0305 COMBINING OVERLINE 应该会导致在前一个字符上方放置一个上划线。然而,有几个原因可能会或多或少地导致失败。首先,组合字符的放置需要良好的渲染引擎(例如,如果前面的字符是大写 X,则上划线必须放置得更高)。其次,所使用的字体可能缺少U+0305。这可能会也可能不会导致使用后备字体,可能是一种在风格上与基本字体不相似的字体。第三,U+0305 并不是真正设计用于与平方根符号结合使用的 vinculum,因此根据字体的不同,它可能看起来错位。

在纯文本中,通常最好避免尝试使用 vinculum 生成“智能”平方根表达式。仅使用 √x 或(x 是带运算符的表达式)√(x) 更安全,并且完全符合数学标准 ISO 80000-2。

关于java - Unicode 组合字符单独打印(不与前一个字符组合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859932/

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