アルファベットを小さくしてみよう
現実逃避に作りました
方法
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')
'ᴾᵘᵉˡˡᵃ ᴹᵃᵍⁱ ᴹᵃᵈᵒᵏᵃ ᴹᵃᵍⁱᶜᵃ'
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 など一部の環境では表示できないので画像も上げておきます。
参考
Author And Source
この問題について(アルファベットを小さくしてみよう), 我々は、より多くの情報をここで見つけました https://qiita.com/QUANON/items/0aa370430fb8d4afe21b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .