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

问题描述 投票:0回答:3

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 中):

|   |
|❌︎✅︎❓︎|
| ️ ️ ️|
|❌✅❓|
unicode emoji
3个回答
11
投票

此刻的答案似乎是“不”。解决方法可以是使用另一个表情符号,其含义最接近“无”,具体取决于您的上下文。例如。这就是我在 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

0
投票

这基本上是字体问题。您需要带有 U+2705 WHITE HEAVY CHECK MARK 和其他字符字形的等宽字体,并确保使用变体选择器禁用表情符号。 Web 浏览器通常会使用后备字体替换缺失的字符,但随后您将失去对字符间距的控制。最好的选择是使用更有可能受支持的字符。不幸的是,甚至 U+2713 CHECK MARK 似乎也受支持仅在少数等宽字体中


0
投票

基本上,您需要使用等宽字体,其行高(EM)等于相同字体大小的表情符号字体的行高。

对于 Apple 的系统表情符号字体,显而易见的选择是系统等宽字体 SF Mono。

所以,给你:

© www.soinside.com 2019 - 2024. All rights reserved.