처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.05.21 63

도널드 크누스가 "S"라는 글자 하나에 18페이지를 바친 이유

Hacker News 원문 보기

타이포그래피, 그러니까 글자 디자인 이야기를 하다 보면 절대 빼놓을 수 없는 인물이 바로 도널드 크누스(Donald Knuth)예요. 컴퓨터 과학을 공부해본 분들은 "The Art of Computer Programming"이라는 전설적인 책의 저자로 익숙하실 텐데요, 사실 크누스가 이 책을 쓰다가 너무 답답해서 "내가 직접 활자 시스템을 만들겠다"며 만든 게 그 유명한 TeX과 METAFONT거든요. 1980년에 쓴 그의 짧은 논문 "The Letter S"가 최근 다시 회자되고 있어요.

METAFONT라는 미친 프로젝트

이게 뭐냐면, METAFONT는 글자를 그림 파일이나 벡터 데이터로 저장하는 게 아니라 수학 공식으로 정의하는 시스템이에요. 예를 들어 우리가 보통 폰트라고 하면 어도비 일러스트레이터에서 베지에 곡선으로 그린 형태를 떠올리잖아요? 크누스는 그걸 거부했어요. "S라는 글자는 두 개의 원호가 만나는 형태인데, 그 원호의 곡률과 두께를 매개변수로 정의하면 어떨까?" 이런 식이었던 거죠.

그렇게 하면 좋은 점이 있어요. 같은 정의에서 출발해서 매개변수만 바꾸면 굵은 폰트, 가는 폰트, 기울어진 폰트가 자동으로 나와요. 폰트 패밀리를 사람이 일일이 그릴 필요가 없는 거예요. 게다가 인쇄기 해상도에 맞춰서 그때그때 최적의 픽셀 표현을 계산할 수 있어요. 지금 보면 OpenType의 가변 폰트(variable font)와 비슷한 아이디어인데, 이걸 1980년에 이미 구현한 거예요.

"S"라는 글자가 왜 어려운가

그런데 왜 하필 "S"였을까요? 크누스의 논문을 읽어보면 그가 얼마나 이 글자 때문에 골치 아팠는지가 느껴져요. 알파벳 중에서 S는 정말 까다로워요. 직선이 하나도 없고, 위쪽 곡선과 아래쪽 곡선의 크기가 미묘하게 달라야 자연스럽게 보이거든요. 위 곡선이 아래 곡선보다 살짝 작아야 하는데, 그 비율이 너무 크면 어색하고 너무 작으면 또 어색해요. 게다가 시각적 무게중심도 정확히 가운데가 아니에요. 인간의 눈이 그렇게 받아들이도록 진화했기 때문이에요.

크누스는 이 문제를 풀려고 다양한 수학적 곡선을 시도해요. 처음에는 원호 두 개를 붙이는 단순한 방법으로 시작했는데, 결과물이 너무 기계적이고 못생겼대요. 그래서 점점 복잡한 곡선으로 발전시키는데, 이 과정에서 그가 새로 정의한 곡선이 등장해요. 단순한 베지에 곡선이 아니라, 곡률 변화가 부드럽게 연속되는 특수한 형태죠. 사람의 눈이 "자연스럽다"고 느끼는 곡선이 사실은 굉장히 정교한 수학적 조건을 만족해야 한다는 걸 보여줘요.

지금 다시 이 글이 회자되는 이유

40년이 넘은 이 논문이 다시 주목받는 건 흥미로운 시기적 의미가 있어요. 요즘 폰트 디자인은 다시 한 번 큰 변화의 시점에 있거든요. 가변 폰트가 웹과 모바일에서 표준이 되어가고 있고, AI로 폰트를 생성하는 시도도 활발해요. 어도비의 Variable Fonts, 구글의 Roboto Flex 같은 게 다 이 흐름이에요. 그런데 이런 현대 기술의 뿌리가 결국 크누스의 METAFONT까지 거슬러 올라가는 거예요.

또 한 가지 인상적인 건 크누스가 보여준 "한 문제를 정말 끝까지 파는 태도"예요. S라는 글자 하나에 18페이지 분량의 수학적 분석을 쏟아붓는다는 게 지금 시대의 효율주의와는 완전히 반대잖아요. 챗GPT한테 "예쁜 S 만들어줘"라고 하면 1초만에 나오는 시대에, 한 사람이 한 글자에 몇 년을 쏟는다는 거. 그게 진짜 장인 정신이 뭔지를 보여줘요.

한국 개발자에게는?

한국에서 폰트 개발이라는 분야는 사실 굉장히 좁아요. 산돌, 윤디자인, 우아한형제들의 배민체 정도가 유명한 케이스죠. 그런데 한글은 알파벳보다 훨씬 복잡한 시스템이에요. 초성, 중성, 종성의 조합만 11,172자고, 각 조합마다 형태가 미묘하게 달라져야 자연스러워요. 그래서 한글 폰트 한 벌을 만드는 데 보통 1~2년이 걸려요.

만약 크누스 스타일의 매개변수 기반 폰트 시스템을 한글에 적용한다면 어떨까요? 실제로 비슷한 시도들이 있어요. KoPub 같은 무료 폰트들이 가변 폰트 형태로 나오고 있고, AI를 활용한 한글 폰트 생성 도구도 실험되고 있죠. 폰트 개발에 관심 있는 분이라면 크누스의 이 논문은 정말 좋은 출발점이에요. 수학과 미학이 어떻게 만나는지를 직관적으로 보여주거든요.

마무리

S라는 글자 하나에 인생의 한 챕터를 바친 사람의 글을 읽다 보면, "내가 짜는 코드 한 줄에도 이런 정성을 들이고 있나?" 하는 질문을 던지게 돼요. 한 줄로 정리하면 "디테일에 진심인 사람만이 시대를 넘는 작품을 남긴다" 정도일까요.

여러분이 한 번이라도 이렇게까지 파고든 주제가 있나요? 그게 뭐였는지, 그리고 그 경험이 지금의 여러분에게 어떻게 남아있는지 댓글로 들려주세요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.