Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 나만의 글꼴로 텍스트 출력하기 – pyfiglet ASCII 아트 완벽 가이드

이번 글에서는 Python을 활용해 텍스트를 독특하고 개성 있는 방식으로 화면에 출력하는 다양한 방법을 살펴보겠습니다.

예를 들어 "Hello, Python"이라는 문자열을 출력한다고 가정해 봅시다. 평범한 print 문 대신, 아래와 같이 여러 가지 ASCII 아트 글꼴 스타일로 표현할 수 있습니다.

입력

"Hello, Python"

출력 예시 1

___ ___ .__ .__
/ | \ ____ | | | | ____
/ ~ \_/ __ \| | | | / _ \
\ Y /\ ___/| |_| |_( <_> )
\___|_ / \___ >____/____/\____/ /\
\/ \/ )/
__________ __ .__
\______ \___.__._/ |_| |__ ____ ____
| ___< | |\ __\ | \ / _ \ / \
| | \___ | | | | Y ( <_> ) | \
|____| / ____| |__| |___| /\____/|___| /
\/ \/ \/

출력 예시 2

_ _ _____ _ _ ___ ______ _______ _ _ ___ _ _
| | | | ____| | | | / _ \ | _ \ \ / /_ _| | | |/ _ \| \ | |
| |_| | _| | | | | | | | | | |_) \ V / | | | |_| | | | | \| |
| _ | |___| |___| |__| |_| | | __/ | | | | | _ | |_| | |\ |
|_| |_|_____|_____|_____\___( ) |_| |_| |_| |_| |_|\___/|_| \_|
|/

출력 예시 3

## ## # # #
## ## # # # ##
## ### # # # # # ###
####### # # ##### # ####
### ### # # # ##### #####
## ## # # # # # ######
## ### ## # # # # #######
# ## ## # # # # ########
###### ######## ### # # # # ### # # ##### #
####### # # # ## # ## ## # ### # # # # #######
## ## # # # ## # ### # #### # # # # # #####
## ## ## # ## # ## #### ##### # # # # #
#### # ## ## # ### # ##### # # # #
## # ## ## ## #
## ### ###
# ## ###

위 예시는 극히 일부일 뿐입니다. 이 외에도 수십 가지의 다양한 글꼴 스타일로 텍스트를 표현할 수 있습니다.

여기서는 Python의 pyfiglet 모듈을 사용하겠습니다. pyfiglet은 일반 문자열을 ASCII 아트 글꼴로 손쉽게 변환해 주는 라이브러리입니다. 설치는 터미널 창에서 아래 명령어 한 줄이면 끝납니다.

$pip install pyfiglet

예제 1 – 기본 사용법

>>> import pyfiglet
>>> ascii_banner = pyfiglet.figlet_format("HELLO, PYTHON")
>>> print(ascii_banner)
_ _ _____ _ _ ___ ______ _______ _ _ ___ _ _
| | | | ____| | | | / _ \ | _ \ \ / /_ _| | | |/ _ \| \ | |
| |_| | _| | | | | | | | | | |_) \ V / | | | |_| | | | | \| |
| _ | |___| |___| |__| |_| | | __/ | | | | | _ | |_| | |\ |
|_| |_|_____|_____|_____\___( ) |_| |_| |_| |_| |_|\___/|_| \_|
|/

pyfiglet.figlet_format() 함수에 원하는 문자열을 전달하기만 하면 기본 글꼴로 변환된 ASCII 아트가 반환됩니다.

예제 2 – graffiti 글꼴 적용

>>> from pyfiglet import Figlet
>>> custom_fig = Figlet(font='graffiti')
>>> print(custom_fig.renderText('HELLO, PYTHON'))
___ ______________.____ .____ ________
/ | \_ _____/| | | | \_____ \
/ ~ \ __)_ | | | | / | \
\ Y / \| |___| |___/ | \
\___|_ /_______ /|_______ \_______ \_______ / /\
\/ \/ \/ \/ \/ )/
_______________.​___.______________ ___ ________ _______
\______ \__ | |\__ ___/ | \\_____ \ \ \
| ___// | | | | / ~ \/ | \ / | \
| | \____ | | | \ Y / | \/ | \
|____| / ______| |____| \___|_ /\_______ /\____|__ /
\/ \/ \/ \/

Figlet 클래스의 font 매개변수에 글꼴 이름을 지정하면 원하는 스타일을 선택할 수 있습니다. 위 예제는 'graffiti' 글꼴을 적용한 결과입니다.

예제 3 – bubble 글꼴 적용

>>> from pyfiglet import Figlet
>>> custom_fig = Figlet(font='bubble')
>>> print(custom_fig.renderText('Hello, Python'))
_ _ _ _ _ _ _ _ _ _ _ _
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
( H | e | l | l | o | , ) ( P | y | t | h | o | n )
\_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/

'bubble' 글꼴은 각 문자를 박스 형태로 감싸는 재미있는 스타일입니다.

예제 4 – speed 글꼴 적용

>>> custom_fig = Figlet(font='speed')
>>> print(custom_fig.renderText('Hello, Python'))

______ __ ___________
___ / / /_______ /__ /_____
__ /_/ /_ _ \_ /__ /_ __ \
_ __ / / __/ / _ / / /_/ /__
/_/ /_/ \___//_/ /_/ \____/_( )
_|/
________ ___________
___ __ \____ ___ /___ /______________
__ /_/ /_ / / / __/_ __ \ __ \_ __ \
_ ____/_ /_/ // /_ _ / / / /_/ / / / /
/_/ _\__, / \__/ /_/ /_/\____//_/ /_/
/____/

'speed' 글꼴은 빠르고 역동적인 느낌의 스타일로, CLI 배너나 로딩 화면에 잘 어울립니다.

사용 가능한 글꼴 목록 확인하기

pyfiglet에서 지원하는 전체 글꼴 목록이 궁금하다면 아래 코드로 간단히 확인할 수 있습니다.

>>> import pyfiglet
>>> print(pyfiglet.FigletFont.getFonts())

이제 좋아하는 글꼴을 골라 pyfiglet으로 ASCII 아트 배너를 만들고, 여러분의 애플리케이션에 개성을 더해 보세요!