是否有与表情符号宽度匹配的空白 Unicode 字符?

spb*_*ick 6 unicode emoji

Unicode 是否定义了与任何/某些表情符号(例如“表情符号空间”)具有相同宽度的空白字符(例如“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                                                                      
Run Code Online (Sandbox Code Playgroud)

将 VS16 应用于空格/字母,或将 VS15 应用于表情符号,在很大程度上不起作用(在 Firefox、Chrome 和 Thunderbird 中):

|   |
|??????|
| ? ? ?|
|???|
Run Code Online (Sandbox Code Playgroud)

spb*_*ick 11

此刻的答案似乎是否定的。解决方法可以是使用另一个表情符号,其含义最接近“无”,具体取决于您的上下文。例如,这就是我在 CI 电子邮件中要处理的内容:

\n
BUILDS\n\n    Status\n                 \xe2\x9d\x8c 4  \xe2\x9c\x85 712\n    Architectures\n         x86_64  \xe2\x9e\x96    \xe2\x9c\x85  82\n        aarch64  \xe2\x9e\x96    \xe2\x9c\x85   6\n        ppc64le  \xe2\x9e\x96    \xe2\x9c\x85   5\n          s390x  \xe2\x9e\x96    \xe2\x9c\x85   5\n           mips  \xe2\x9e\x96    \xe2\x9c\x85  77\n          arm64  \xe2\x9e\x96    \xe2\x9c\x85  73\n            arm  \xe2\x9d\x8c 4  \xe2\x9c\x85 282\n           i386  \xe2\x9e\x96    \xe2\x9c\x85  30\n          sparc  \xe2\x9e\x96    \xe2\x9c\x85   9\n          riscv  \xe2\x9e\x96    \xe2\x9c\x85  33\n            arc  \xe2\x9e\x96    \xe2\x9c\x85  10\n           s390  \xe2\x9e\x96    \xe2\x9c\x85  21\n        powerpc  \xe2\x9e\x96    \xe2\x9c\x85  52\n             sh  \xe2\x9e\x96    \xe2\x9c\x85  18\n         parisc  \xe2\x9e\x96    \xe2\x9c\x85   9\n
Run Code Online (Sandbox Code Playgroud)\n

  • Unicode 又丢了一个球。我这么说只是因为我喜欢 Unicode。我们需要 Unicode 团队中更多的核心开发人员,因为在版本 15 中,由于整个 Unicode 代码空间中不存在具有相同宽度的空白字符,因此无法在网格中对齐 unicode 表情符号,这是一个很好的解决方案。大疏忽!对我们来说可悲的是,问题是空格字符已经存在(多个!),因此似乎很难在不破坏内容或引入更多“空白”字符的情况下添加一个空格字符...... (2认同)