ASCII 아트란? 키보드 문자로 그리는 그림의 역사와 종류
키보드 문자만으로 그림을 만드는 방식과 그 역사를 짧게 정리했어요.
ASCII 아트는 키보드로 칠 수 있는 문자만으로 그린 그림이에요. 색도 선도 없이 /, \, _, | 같은 문자를 줄 맞춰 늘어놓아서 글자나 그림 모양을 만듭니다.
/\_/\
( o.o )
> ^ <
세 줄짜리 고양이도, 터미널 프로그램을 켜면 나오는 큰 로고도 모두 ASCII 아트예요.
ASCII는 무엇인가요?
ASCII(아스키)는 1963년에 미국에서 처음 표준으로 정한 문자 코드예요. 컴퓨터마다 달랐던 문자 번호를 하나로 맞춘 것으로, 모두 128개의 번호 가운데 화면에 찍히는 문자는 95개입니다. 영문 대소문자, 숫자, 그리고 ! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : ' " , . < > / ? \ | ~ 같은 기호와 공백이 전부예요.
이 95개는 거의 모든 컴퓨터와 글꼴에 들어 있어서, ASCII 문자만 쓴 그림은 어디에 붙여넣어도 글자가 깨지지 않아요. ASCII 아트가 오래 살아남은 이유입니다.
짧은 역사
- 타자기 그림 — 문자로 그림을 그리는 일은 컴퓨터보다 먼저 시작됐어요. 타자기가 널리 쓰이던 19세기 말부터 글자와 기호를 겹쳐 찍어 그림을 만드는 사람들이 있었습니다.
- 프린터와 연구소 — 1960년대에는 그림을 찍을 수 있는 프린터가 드물어서, 문자만 찍는 프린터로 그림을 표현했어요. 1966년 벨 연구소의 켄 놀턴과 리언 하먼이 사진을 작은 기호들로 바꿔 만든 작품이 널리 알려져 있습니다.
- 이모티콘 — 1982년 카네기멜런 대학교의 스콧 팔먼이 게시판에서 농담을 표시하는 기호로
:-)를 제안했어요. - BBS와 ANSI 아트 — 1980~90년대 전화선으로 접속하던 게시판(BBS)에서는 접속 화면과 서명을 문자 그림으로 꾸몄어요. IBM PC의 블록 문자(
█ ▓ ▒ ░)와 색을 쓴 그림은 따로 ANSI 아트라고 부릅니다. - FIGlet — 1991년 글렌 채플과 이언 차이가 글자를 큰 문자 배너로 바꿔 주는 프로그램 FIGlet을 만들었어요. 지금도 터미널 프로그램의 시작 화면이나 README 배너에 가장 많이 쓰이는 방식입니다.
- 카오모지 — 일본에서는 옆으로 눕히지 않고 읽는
(^_^)같은 얼굴 표현이 발전했고, 유니코드가 퍼지면서ʕ•ᴥ•ʔ,¯\_(ツ)_/¯처럼 여러 나라 문자를 섞은 표현이 나왔어요.
ASCII 아트의 종류
| 종류 | 설명 | 예 |
|---|---|---|
| 텍스트 배너 | 글자를 여러 줄짜리 큰 글자로 바꾼 것. FIGlet 글꼴을 써요 | 프로그램 시작 화면, README 제목 |
| 선 그림 | / \ _ | 같은 문자로 윤곽을 그린 것 |
고양이, 케이크 |
| 명암 그림 | 밝기에 따라 .:-=+*#%@ 처럼 획이 다른 문자를 채운 것 |
사진을 변환한 그림 |
| 블록·ANSI 아트 | █ ▓ ▒ ░ 같은 블록 문자를 쓴 것 |
게임 로고, 픽셀 그림 |
| 카오모지·한 줄 아트 | 한 줄로 된 얼굴이나 동작 | (╯°□°)╯︵ ┻━┻ |
엄밀하게는 ASCII 95자만 쓴 것이 ASCII 아트이고, █ 나 ツ 처럼 ASCII 밖의 문자를 쓴 것은 유니코드 아트 또는 텍스트 아트라고 해요. 보통은 구분 없이 모두 ASCII 아트라고 부릅니다.
왜 고정폭 글꼴이 필요한가요?
ASCII 아트는 모든 문자의 폭이 같다고 가정하고 만들어요. 코드 편집기나 터미널에서 쓰는 고정폭 글꼴에서는 i 와 W 가 같은 폭을 차지해서 줄이 맞습니다.
메신저나 SNS의 글꼴은 대부분 글자마다 폭이 달라요. 이런 곳에 붙여넣으면 공백과 i 는 좁게, W 와 @ 는 넓게 표시되어 그림이 옆으로 밀립니다.
해결 방법은 세 가지예요.
- 코드 블록을 쓴다 — 디스코드, 슬랙, GitHub처럼 코드 블록을 지원하는 곳에서는 ``` 로 감싸면 고정폭 글꼴로 표시돼요. 자세한 방법은 디스코드에서 깨지지 않게 붙여넣는 법에 있어요.
- 폭이 좁은 그림을 쓴다 — 한 줄짜리 카오모지나 폭이 좁은 글꼴은 밀려도 티가 덜 나요. 카카오톡에서 줄이 밀릴 때를 참고하세요.
- 이미지로 보낸다 — PNG로 저장해서 보내면 어떤 앱에서도 그대로 보여요.
어디에 쓰나요?
- 터미널 프로그램과 서버 접속 화면의 로고
- GitHub README의 제목 배너와 코드 주석의 구역 표시
- 디스코드 서버 공지, 게임 채팅
- 생일·기념일 메시지, SNS 프로필 소개
lab.ascii에서 글자를 입력하면 12가지 글꼴의 텍스트 배너가 바로 만들어져요. 사진은 이미지 → ASCII 변환기로 바꿀 수 있어요.