アルファベットを小さくしてみよう

More than 1 year has passed since last update.

現実逃避に作りました :innocent:


方法

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')
'ᴾᵘᵉˡˡᵃ ᴹᵃᵍⁱ ᴹᵃᵈᵒᵏᵃ ᴹᵃᵍⁱᶜᵃ'

:point_down_tone2: Android など一部の環境では表示できないので画像も上げておきます。

image.png


参考