알파벳을 줄이자.

4748 단어 유니코드파이썬
현실 도피로 만들었습니다

방법


import unicodedata

def make_smaller(string):
  new_string = ''

  for char in string:
    if not char.isalpha():
      new_string += char
      continue

    if char == 'i' or char == 'n':
      new_string += unicodedata.lookup(f'SUPERSCRIPT LATIN SMALL LETTER {char}')
      continue

    small_or_capital = 'CAPITAL' if char.isupper() else 'SMALL'

    try:
      new_string += unicodedata.lookup(f'MODIFIER LETTER {small_or_capital} {char}')
      continue
    except KeyError:
      pass

    try:
      new_string += unicodedata.lookup(f'MODIFIER LETTER SMALL {char}')
      continue
    except KeyError:
      pass

    new_string += char  # q と Q は残念ながら対応する文字がない。

  return new_string
>>> make_smaller('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
'ᴬᴮᶜᴰᴱᶠᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾQᴿˢᵀᵁⱽᵂˣʸᶻᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖqʳˢᵗᵘᵛʷˣʸᶻ'

>>> make_smaller('Puella Magi Madoka Magica')
'ᴾᵘᵉˡˡᵃ ᴹᵃᵍⁱ ᴹᵃᵈᵒᵏᵃ ᴹᵃᵍⁱᶜᵃ'

Android 등 일부 환경에서는 표시할 수 없으므로 이미지도 올려 둡니다.



참고


  • Unicode Block “Spacing Modifier Letters”
  • 유니코드 블록 “Superscripts And Subscripts”
  • 좋은 웹페이지 즐겨찾기