Unicode 是否定义与任何/某些表情符号(例如“Emoji Space”)具有相同宽度的空白字符(例如“Em Space”或“En Space”)?如果是的话,是哪一个?
我希望能够格式化包含表情符号的固定宽度字体纯文本表格(CI 报告电子邮件)。它们似乎不可能与我尝试过的常规空间或任何其他空间对齐(比较“x86_64”、“arm”和“mips”行):
Status
❌ 13 / 733 builds FAILED
Architectures
x86_64 ✅ 82 ❓ 4
aarch64 ✅ 6
ppc64le ✅ 5
s390x ✅ 5
mips ❌ 9 ✅ 77
arm64 ✅ 73
arm ❌ 4 ✅ 282 ❓ 4
i386 ✅ 30
sparc ✅ 9
riscv ✅ 33
arc ✅ 10
s390 ✅ 21
powerpc ✅ 52
sh ✅ 18
parisc ✅ 9
将 VS16 应用于空格/字母,或将 VS15 应用于表情符号,基本上不起作用(在 Firefox、Chrome 和 Thunderbird 中):
| |
|❌︎✅︎❓︎|
| ️ ️ ️|
|❌✅❓|
此刻的答案似乎是“不”。解决方法可以是使用另一个表情符号,其含义最接近“无”,具体取决于您的上下文。例如。这就是我在 CI 电子邮件中要表达的内容:
BUILDS
Status
❌ 4 ✅ 712
Architectures
x86_64 ➖ ✅ 82
aarch64 ➖ ✅ 6
ppc64le ➖ ✅ 5
s390x ➖ ✅ 5
mips ➖ ✅ 77
arm64 ➖ ✅ 73
arm ❌ 4 ✅ 282
i386 ➖ ✅ 30
sparc ➖ ✅ 9
riscv ➖ ✅ 33
arc ➖ ✅ 10
s390 ➖ ✅ 21
powerpc ➖ ✅ 52
sh ➖ ✅ 18
parisc ➖ ✅ 9
这基本上是字体问题。您需要带有 U+2705 WHITE HEAVY CHECK MARK 和其他字符字形的等宽字体,并确保使用变体选择器禁用表情符号。 Web 浏览器通常会使用后备字体替换缺失的字符,但随后您将失去对字符间距的控制。最好的选择是使用更有可能受支持的字符。不幸的是,甚至 U+2713 CHECK MARK 似乎也受支持仅在少数等宽字体中。