web-dev-qa-db-ja.com

下付き文字のユニコードを見つける方法は?

いくつかの文字を見つけましたが、「c」、「m」、「p」などの他の文字を見つける必要があります。これは可能ですか?

37

ウィキペディアの記事 nicodeの下付き文字と上付き文字 をご覧ください。これらは異なる範囲に広がっているように見えますが、すべてのキャラクターが利用できるわけではありません。

カットアンドペーストのために統合されたUnicode標準は、数字と一般的な数学記号の完全なサブスクリプトとスーパースクリプトを定義しています(¹¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾₀₁₂₂₄₅₆₇ ₈₉₊₋₌₍₎)、q(ᵃᵇᶜᵈᵉᶠᵍʰⁱᵏˡᵐᵐᵒᵖʳᵗᵗᵘᵛʷˣʸᶻ))を除く完全な上付きラテン小文字アルファベット(ᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴼᴾᴿᵀᵁⱽᵂ)、いくつかの添え字付き小文字(ₐₑₕⱼₖₗₘₙₒₚₛₜᵤᵥₓₓ)、およびいくつかのギリシャ語文字(ᵅᵝᵞᵟᵋᶿᶥᶲᵠᵡᵦᵧᵨᵩᵩᵪ)。これらのグリフは異なる範囲に由来するため、書体によってはサイズと位置が同じでない場合があります。

45
Kevin Hakanson

他の回答に記載されているウィキペディアのページからcharactersをコピーできます。その後、Pythonで

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

⁰= 0x2070¹= 0xb9²= 0xb2³= 0xb3⁴= 0x2074⁵= 0x2075⁶= 0x2076⁷= 0x2077⁸= 0x2078⁹= 0x2079⁺= 0x207a⁻= 0x207b⁼= 0x207c⁽= 0x207d⁾= 0x207e

₀= 0x2080₁= 0x2081₂= 0x2082₃= 0x2083₄= 0x2084₅= 0x2085₆= 0x2086₇= 0x2087₈= 0x2088₉= 0x2089₊= 0x208a₋= 0x208b₌= 0x208c₍= 0x208d₎= 0x208e

ᵃ= 0x1d43ᵇ= 0x1d47ᶜ= 0x1d9cᵈ= 0x1d48ᵉ= 0x1d49ᶠ= 0x1da0ᵍ= 0x1d4dʰ= 1 0x2b3ˢ= 0x2e2ᵗ= 0x1d57ᵘ= 0x1d58ᵛ= 0x1d5bʷ= 0x2b7ˣ= 0x2e3ʸ= 0x2b8ᶻ= 0x1dbb

ᴬ= 0x1d2cᴮ= 0x1d2eᴰ= 0x1d30ᴱ= 0x1d31ᴳ= 0x1d33ᴴ= 0x1d34ᴵ= 0x1d35ᴶ= 0x1d36ᴷ= 0x1d37ᴸ= 0x1d38ᴹ= 1 0x1d41ⱽ= 0x2c7dᵂ= 0x1d42

ₐ= 0x2090ₑ= 0x2091ₕ= 0x2095ᵢ= 0x1d62ⱼ= 0x2c7cₖ= 0x2096ₗ= 0x2097ₘ= 0x2098ₙ= 0x2099ₒ= 0x2092ₚ= 0x209aᵣ= 0x1d63ₛ= 0x209dₜ= 0x1d64ᵥ= xx 0x2093

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

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

27
winerd
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()
15
Bill Moore