ASCII 아트는 문자와 특수 기호만으로 텍스트를 그래픽처럼 표현하는 기법으로, 터미널 애플리케이션의 배너나 CLI 도구의 타이틀 화면을 꾸밀 때 널리 활용됩니다. 파이썬에서는 pyfiglet 모듈 하나만 있으면 이미지 편집 없이도 다양한 스타일의 ASCII 아트 텍스트를 즉석에서 생성할 수 있습니다.
pyfiglet 설치 및 기본 사용법
pyfiglet은 외부 라이브러리이므로 먼저 pip로 설치해야 합니다.
pip install pyfiglet
설치가 끝나면 figlet_format() 함수에 원하는 문자열과 폰트 이름을 넘겨주기만 하면 됩니다. font 인자를 생략하면 기본(default) 폰트가 적용됩니다. 아래 예제에서는 같은 단어 "Point"를 서로 다른 폰트로 출력해 보겠습니다.
1. 기본 폰트(Default)
# pyfiglet 모듈 임포트
import pyfiglet
# 기본 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point")
print(out)
실행 결과

2. slant 폰트
# pyfiglet 모듈 임포트
import pyfiglet
# slant(비스듬한 기울기) 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="slant")
print(out)
실행 결과

3. 3-d 폰트
# pyfiglet 모듈 임포트
import pyfiglet
# 입체적인 3D 느낌의 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="3-d")
print(out)
실행 결과

4. 3x5 폰트
# pyfiglet 모듈 임포트
import pyfiglet
# 작은 픽셀 스타일의 3x5 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="3x5")
print(out)
실행 결과

5. alligator 폰트
import pyfiglet
# alligator 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="alligator")
print(out)
실행 결과

6. dotmatrix 폰트
import pyfiglet
# 도트 매트릭스(전광판) 스타일의 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="dotmatrix")
print(out)
실행 결과

7. bubble 폰트
import pyfiglet
# bubble(풍선) 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="bubble")
print(out)
실행 결과
_ _ _ _ _ / \ / \ / \ / \ / \ ( P | o | i | n | t ) \_/ \_/ \_/ \_/ \_/
8. digital 폰트
import pyfiglet
# 디지털 숫자판 스타일의 폰트로 텍스트 출력
out = pyfiglet.figlet_format("Point", font="digital")
print(out)
실행 결과
+-+-+-+-+-+ |P|o|i|n|t| +-+-+-+-+-+
마무리
이처럼 pyfiglet은 font 인자만 바꿔주면 같은 문자열도 완전히 다른 분위기의 ASCII 아트로 변환해 줍니다. 지원되는 전체 폰트 목록은 pyfiglet.FigletFont.getFonts()로 확인할 수 있으며, 콘솔 게임의 타이틀 화면, CLI 도구의 배너, 로그 메시지 강조 등 다양한 용도로 응용할 수 있습니다.