c# - 在 C# 中组合我自己的 unicode 字符?

标签 c# .net unicode

é 是一个重音字母。 é也可以用́表示+ e = é

但是,我想知道我是否可以组合任何 unicode 字符?

例如:

我一直在为圆圈内的问号寻找一个 unicode 代码点,就像这里(图片):

enter image description here

但是我没找到。 (我看了 here )

所以我想知道我是否可以将这两者结合起来:

?(即 ——当然是更大的尺寸)。

其中 ? 是常规问号字符 (?),而 大圆 - 几何形状。

是否可以在 C# 中这样做?

在这里编辑

enter image description here

哪里:

enter image description here

enter image description here

最佳答案

如果您愿意,您可以在任何其他字符上使用组合字符,但是需要注意的是字体在其显示方式中起着重要作用。虽然像锐音符这样的常见变音符号应该适用于大多数字体中的几乎所有拉丁字符,但更晦涩的字符,如 U+20DD 组合封闭圆圈,则有点不可靠。但是 ?⃝ 将是您需要的序列,它只需要字体支持。

话虽如此,字体支持非常糟糕。我在这里拥有的所有具有该字符字形的字体(Arial Unicode MS、Calibri、Consolas)都不尊重它的组合性,只是在问号旁边呈现一个大圆圈。唯一能正确渲染它的是 Cambria 和 Cambria Math,它们至少与前一个字形重叠:

enter image description here

当有 space, question mark, circle 序列时看起来会好一些:

enter image description here

但还是不太对。

关于浏览器中的常规渲染支持:


您的浏览器:

?⃝

enter image description here


不过,要准确回答您的问题:您可以在代码中叠加两个字形,方法是将两个标签直接放在彼此的顶部或自己绘制。在这种情况下,字体和渲染支持很差,这真的是我要通过图像解决的问题。所以理论上这是可能的(从 Unicode 的角度来看,这肯定是因为你可以表示一个带圆圈的问号——但 Unicode 不关心字体和渲染)但在大多数情况下它不是很实用。

关于c# - 在 C# 中组合我自己的 unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413962/

相关文章:

c# - 遍历目录中的子目录

c# - XML 命名空间别名不可知的 .NET XML 读取器/解析

c# - 是否可以在 if 条件下使用 Task<bool> ?

.net - Visual Studio : Simultaneously develop WCF client and server

c# - 如何更新状态栏标签上显示的文本

Python:从字符串中删除特定字符 (u"\u2610")

windows - 在 ini 文件中存储 unicode 字符串时会不会出现与编码相关的问题?

java - 获取Java语言的unicode字符

c# - 将聊天机器人连接到 cosmos db 后出现错误 500

.net - 线程开销