【问题标题】:Is there a font to support "made up" Unicode combining characters?是否有支持“组成”Unicode 组合字符的字体?
【发布时间】:2019-12-20 12:14:39
【问题描述】:

我正在尝试创建一种语言作为我项目的世界构建方面,并且我打算在其上方添加一个 m 和一个 caron 作为该语言的字符之一。我正在使用 WPF。我尝试了 Segoe UI、Calibri、Cambria Math、Global Serif、Times New Roman……它们都不起作用。有没有这样的?

按照这个答案Best way to add accent to letter?给出的建议,我尝试了这个:

string result = 'm'.ToString()
result += "\u02C7";
result.Normalize();

charon 不会显示在m 上方,而是显示在其右侧,如下所示:

【问题讨论】:

  • 您是在问是否存在一个看起来像您所说的那样的现有 unicode 字符?如果是这样,请查看:rapidtables.com/code/text/unicode-characters.html 或者您是在问是否可以构造一些任意字符?如果是这样,没有; unicode 是一个标准。根据您的显示方式,您可以通过将 2 个字符相互叠加打印来使其按您的预期工作
  • 02c7 不是组合字符。改用u30c
  • 我在询问 Unicode 用于创建任意字符的组合字符,但将这些字符相互叠加显示将解决我的问题。我没有想到。谢谢@Jonathan
  • @stuartd 完美运行!非常感谢!

标签: c# unicode fonts


【解决方案1】:

你需要使用U+030C COMBINING CARON,而不是U+02C7 CARON

string result = 'm'.ToString()
result += "\u030C";

或:

string result = "m" + "\u030C";

或者简单地说:

string result = "m\u030C";

或直接:

string result = "m̌"; // "\u006D\u030C"

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 2020-08-17
    • 2011-08-15
    • 2017-12-13
    • 2021-12-07
    • 2014-06-01
    相关资源
    最近更新 更多