Unicode 有 "combining characters"。如何使用它们?

Unicode has "combining characters". How to use them?

通过组合字符,可以在单个位置使用 2 个 Unicode 字符,从而创建两个图形的组合。我正在考虑简单的 ascii 艺术,我需要首先使用,如维基百科所说 "SQUARE WITH HORIZONTAL FILL" ▤,然后最重要的是字母 "A"。如何实现?

您描述的方法可能是一种滥用变音符号。可以使用以下 demo ( http://demo.danielmclaren.com/2015/diacriticism/ )自由地尝试一下。

下面是我从上面的演示中获得的 Unicode 代码的一些屏幕截图:

Claudio.txt 内容复制到终端

Claudio.txt 显示在 gedit

Claudio.txt 显示在 SciTE

抱歉,我目前不知道为什么相同的底层 Unicode 文本的表示在 SciTE 中看起来完全不同。

这里是 Claudio.txt 文件的十六进制代码:

Claudio.txt 在 GHex 中显示为十六进制代码

这里是 Unicode copied/pasted 到 Whosebug 答案编辑框:

C̱̙̳̲͇͉̄̄̚l̝̩̩̝̺̠͞ā̝͉̩̟͆u̻͈̘̞̪̅̿d̝̄̅͆̚i͇̙͈̎̚o̘̟̎̄̎

由于您必须能够在终端中显示 ASCII 艺术,我假设没有办法为此目的覆盖两个任意 Unicode 字符。

根据应用程序或浏览器的不同,有两种使用 Unicode Combining Diacritical Marks 的方法:

  • 以ā(长音符)为例,您可以尝试先输入'a' 后接十进制码 ̄

  • ALT+(必须是数字键盘上的+)后跟 十六进制代码 0304(即 U+0304).

在某些情况下,您可以先输入组合变音符,然后输入 'a' 或任何其他前导字母。

水平填充方形 U+25A4。

组合拉丁文小写字母 A U+0363。

获取顶部为'a' ▤ͣ 的水平填充正方形 在 Ubuntu 文本编辑中,输入

变速控制 U 25A4 换档控制 U 363 SPACE

组合拉丁大写字母 A 不存在。