【问题标题】:How to find the unicode of the subscript alphabet?如何找到下标字母的unicode?
【发布时间】:2013-07-28 07:57:12
【问题描述】:

我找到了一些字母,但我需要找到其他字母,例如“c”、“m”、“p”,这可能吗?

【问题讨论】:

    标签: javascript unicode three.js subscript


    【解决方案1】:

    查看维基百科文章Unicode subscripts and superscripts。看起来这些分布在不同的范围内,并非所有字符都可用。

    统一用于剪切和粘贴的 Unicode 标准 为数字和公共定义完整的下标和上标 数学符号 ( ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ),一个完整的上标拉丁小写字母,除了 q ( ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ ), 有限 大写拉丁字母( ᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ⱽ ᵂ ),a 几个下标小写字母(ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓ )和一些希腊字母( ᵅ ᵝ ᵞ ᵟ ᵋ ᶿ ᶥ ᶲ ᵠ ᵡ ᵦ ᵧ ᵨ ᵩ ᵪ )。注意 由于这些字形来自不同的范围,它们可能不属于 大小和位置相同,具体取决于字体。

    【讨论】:

    • 想知道为什么没有大写字母 C。还有一些其他的也不见了。
    • 他们失踪只是为了惹恼你。
    • @TylerM:因为 Unicode 不打算涵盖通常使用标记完成的事情。存在的那些是因为它们在某些上下文中被用作与它们看起来像的字符实际上不同的东西(例如,IPA 使用了很多这样的东西)。 Unicode 联盟对此的立场是,如果您需要任意上标或下标,则使用标记或其他更高级别的机制。
    • Kevin:Unicode 范围与字符是否相同大小和位置无关。许多脚本分散在整个代码点范围内,如果您有一种涵盖所有这些的字体,我希望它们看起来一致(如果不是,这是一个字体错误)。不过,您最有可能看到的是,您想要的字体只有少数几个作为字形,并且字体替换为其他字体,因此它们看起来不合适(不足为奇)。
    • 您可以添加看起来像下标的小写字母:aᴀʙᴄᴅᴇғɢʜɪᴊᴋʟᴍɴɪᴘǫʀsᴛᴜᴠᴡxʏᴢ,也有一些其他小字母看起来像下标(b,o和q除外):ₐ??ₑ??ₕᵢⱼₖₗₘₙₚᵣₛₜᵤᵥ?ₓᵧ? span>
    【解决方案2】:

    您可以从另一个答案中提到的维基百科页面复制characters。然后在python中

    characters = '⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ ᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ⱽ ᵂ ₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ ᵅ ᵝ ᵞ ᵟ ᵋ ᶿ ᶥ ᶲ ᵠ ᵡ ᵦ ᵧ ᵨ ᵩ ᵪ'
    for c in characters.split():
        print(c + '=' + hex(ord(c)))
    

    ⁰= 0x2070¹=0xb9²= 0xb2 = 0xb3⁴= 0x2074⁵= 0x2075 = 0x2076 = 0x2077 = 0x2078 = 0x2079 = 0x207a = 0x207a = 0x207b =0x207c⁽=0x207d⁾= 0x2070

    ₀= 0x2080 = 0x20812 = 0x2082 = 0x2083 = 0x2084 = 0x2085 = 0x2087 = 0x2087 = 0x2088 = 0x2089 = 0x2087 = 0x208b = 0x208b = 0x208b = 0x208b =0x208c₍= 0x208c = 0x208c = 0x2080

    ᵃ= 0x1d43ᵇ= 0x1d47ᶜ= 0x1d9cᵈ= 0x1d48ᵉ= 0x1d49ᶠ= 0x1da0ᵍ= 0x1d4dʰ= 0x2b0ⁱ= 0x2071ʲ= 0x2b2ᵏ= 0x1d4fˡ= 0x2e1ᵐ= 0x1d50ⁿ= 0x207fᵒ= 0x1d52ᵖ= 0x1d56 ʳ=0x2b3 ˢ=0x2e2 ᵗ=0x1d57 ᵘ=0x1d58 ᵛ=0x1d5b ʷ=0x2b7 ˣ=0x2e3 ʸ=0x2b8 ᶻ=0x1dbb

    ᴬ= 0x1d2cᴮ= 0x1d2eᴰ= 0x1d30ᴱ= 0x1d31ᴳ= 0x1d33ᴴ= 0x1d34ᴵ= 0x1d35ᴶ= 0x1d36ᴷ= 0x1d37ᴸ= 0x1d38ᴹ= 0x1d39ᴺ= 0x1d3aᴼ= 0x1d3cᴾ= 0x1d3eᴿ= 0x1d3fᵀ= 0x1d40 ᵁ=0x1d41 ⱽ=0x2c7d ᵂ=0x1d42

    ₐ= 0x2090ₑ= 0x2091ₕ= 0x2095ᵢ= 0x1d62 = 0x2c7c = 0x2c7cₖ= 0x2096 = 0x2092 = 0x2098 = 0x2099ₒ=0x2092ₚ=0x209aᵣ= 0x1d63 = 0x209b = 0x209c = 0x1d64ᵥ= 0x1d65 ₓ=0x2093

    ᵅ=0x1d45 ᵝ=0x1d5d ᵞ=0x1d5e ᵟ=0x1d5f ᵋ=0x1d4b ᶿ=0x1dbf ᶥ=0x1da5 ᶲ=0x1db2 ᵠ=0x1d60 ᵡ=0x1d61

    ᵦ=0x1d66 ᵧ=0x1d67 ᵨ=0x1d68 ᵩ=0x1d69 ᵪ=0x1d6a

    【讨论】:

    • 仅供参考 - 对于 JavaScript,字符串转义序列是 \uXXXX(其中 XXXX 是四位十六进制数)
    • JavaScript 等效项:characters.split(' ').map(c => c.charAt(0)+'=U+'+c.charCodeAt(0).toString(16)).join ('')
    【解决方案3】:
    import sys
    # on windows run from QtConsole for unicode
    #  (Cmd console only support codepage characters)
    #  At present (6/10/2017), superscripts/subscript chars
    #  are best viewed with terminal/text-editor set to monospace font
    #       "DejaVu Sans Mono"
    #  "Consolas" works also, but is missing a few characters...
    #  and, "Courier" has the worst support at present...
    
    if int(sys.version[0]) != 3:
        print('Aborted: Python 3.x required')
        sys.exit(1)
    
    def table():
        unicode_map = {
             #           superscript     subscript
            '0'        : ('\u2070',   '\u2080'      ),
            '1'        : ('\u00B9',   '\u2081'      ),
            '2'        : ('\u00B2',   '\u2082'      ),
            '3'        : ('\u00B3',   '\u2083'      ),
            '4'        : ('\u2074',   '\u2084'      ),
            '5'        : ('\u2075',   '\u2085'      ),
            '6'        : ('\u2076',   '\u2086'      ),
            '7'        : ('\u2077',   '\u2087'      ),
            '8'        : ('\u2078',   '\u2088'      ),
            '9'        : ('\u2079',   '\u2089'      ),
            'a'        : ('\u1d43',   '\u2090'      ),
            'b'        : ('\u1d47',   '?'           ),
            'c'        : ('\u1d9c',   '?'           ),
            'd'        : ('\u1d48',   '?'           ),
            'e'        : ('\u1d49',   '\u2091'      ),
            'f'        : ('\u1da0',   '?'           ),
            'g'        : ('\u1d4d',   '?'           ),
            'h'        : ('\u02b0',   '\u2095'      ),
            'i'        : ('\u2071',   '\u1d62'      ),
            'j'        : ('\u02b2',   '\u2c7c'      ),
            'k'        : ('\u1d4f',   '\u2096'      ),
            'l'        : ('\u02e1',   '\u2097'      ),
            'm'        : ('\u1d50',   '\u2098'      ),
            'n'        : ('\u207f',   '\u2099'      ),
            'o'        : ('\u1d52',   '\u2092'      ),
            'p'        : ('\u1d56',   '\u209a'      ),
            'q'        : ('?',        '?'           ),
            'r'        : ('\u02b3',   '\u1d63'      ),
            's'        : ('\u02e2',   '\u209b'      ),
            't'        : ('\u1d57',   '\u209c'      ),
            'u'        : ('\u1d58',   '\u1d64'      ),
            'v'        : ('\u1d5b',   '\u1d65'      ),
            'w'        : ('\u02b7',   '?'           ),
            'x'        : ('\u02e3',   '\u2093'      ),
            'y'        : ('\u02b8',   '?'           ),
            'z'        : ('?',        '?'           ),
            'A'        : ('\u1d2c',   '?'           ),
            'B'        : ('\u1d2e',   '?'           ),
            'C'        : ('?',        '?'           ),
            'D'        : ('\u1d30',   '?'           ),
            'E'        : ('\u1d31',   '?'           ),
            'F'        : ('?',        '?'           ),
            'G'        : ('\u1d33',   '?'           ),
            'H'        : ('\u1d34',   '?'           ),
            'I'        : ('\u1d35',   '?'           ),
            'J'        : ('\u1d36',   '?'           ),
            'K'        : ('\u1d37',   '?'           ),
            'L'        : ('\u1d38',   '?'           ),
            'M'        : ('\u1d39',   '?'           ),
            'N'        : ('\u1d3a',   '?'           ),
            'O'        : ('\u1d3c',   '?'           ),
            'P'        : ('\u1d3e',   '?'           ),
            'Q'        : ('?',        '?'           ),
            'R'        : ('\u1d3f',   '?'           ),
            'S'        : ('?',        '?'           ),
            'T'        : ('\u1d40',   '?'           ),
            'U'        : ('\u1d41',   '?'           ),
            'V'        : ('\u2c7d',   '?'           ),
            'W'        : ('\u1d42',   '?'           ),
            'X'        : ('?',        '?'           ),
            'Y'        : ('?',        '?'           ),
            'Z'        : ('?',        '?'           ),         
            '+'        : ('\u207A',   '\u208A'      ),
            '-'        : ('\u207B',   '\u208B'      ),
            '='        : ('\u207C',   '\u208C'      ),
            '('        : ('\u207D',   '\u208D'      ),
            ')'        : ('\u207E',   '\u208E'      ),        
            ':alpha'   : ('\u1d45',   '?'           ), 
            ':beta'    : ('\u1d5d',   '\u1d66'      ), 
            ':gamma'   : ('\u1d5e',   '\u1d67'      ), 
            ':delta'   : ('\u1d5f',   '?'           ), 
            ':epsilon' : ('\u1d4b',   '?'           ), 
            ':theta'   : ('\u1dbf',   '?'           ),
            ':iota'    : ('\u1da5',   '?'           ),
            ':pho'     : ('?',        '\u1d68'      ),
            ':phi'     : ('\u1db2',   '?'           ),
            ':psi'     : ('\u1d60',   '\u1d69'      ),
            ':chi'     : ('\u1d61',   '\u1d6a'      ),
            ':coffee'  : ('\u2615',   '\u2615'      )
        }
    
        keys = sorted(unicode_map.keys())
    
        for key in keys:
            spr = "X" + unicode_map[key][0] 
            sub = "X" + unicode_map[key][1]        
            if (spr == "X?"): spr = ""
            if (sub == "X?"): sub = ""
            print('%-15s %s %s' % (key, spr, sub))
    
    table()
    

    【讨论】:

    • 为什么大部分字母都没有下标?
    • 它们用于语音,不需要整个字母表
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2015-05-22
    • 2012-08-26
    • 2011-09-12
    • 1970-01-01
    相关资源
    最近更新 更多