
키보드 위의 글자에도 폰트가 있다
코모도어 64(Commodore 64), 줄여서 C64라고 부르는 컴퓨터 들어보셨나요? 1982년에 나온 8비트 가정용 컴퓨터인데, 역사상 가장 많이 팔린 단일 컴퓨터 모델로 꼽힐 만큼 인기가 대단했어요. 지금도 전 세계에 레트로 컴퓨팅 팬이 많은, 말하자면 ‘전설의 기계’예요.
이번에 GitHub에 올라온 프로젝트는 이 C64의 키캡에 인쇄된 글자를 폰트로 되살린 거예요. 그것도 실제 키캡을 찍은 사진을 바탕으로요. “C64 폰트는 이미 있지 않아요?” 싶으실 수도 있는데, 여기에 재미있는 차이가 있어요.
화면 글꼴과 키캡 글꼴은 다르다
C64 하면 보통 파란 화면 위의 네모난 글자를 떠올리실 거예요. 이건 컴퓨터 안의 ROM(읽기 전용 메모리)에 들어 있는 8×8 픽셀짜리 화면용 비트맵 글꼴이에요. 이 화면 글꼴은 이미 여러 사람이 공들여 TrueType 폰트로 재현해뒀어요.
그런데 키캡에 찍힌 글자는 아예 다른 물건이에요. 픽셀이 아니라 인쇄용 서체라서 곡선이 매끈하고, 크기와 굵기도 다르죠. 게다가 C64 키보드는 키캡 윗면뿐 아니라 앞면에도 그래픽 기호가 인쇄돼 있었어요. 이게 PETSCII라고 부르는 코모도어만의 문자 집합인데요, ASCII를 넓혀서 선, 블록, 카드 무늬(♠♥♣♦) 같은 그래픽 문자를 잔뜩 넣은 거예요. 당시 사용자들은 이 기호를 조합해서 화면에 표나 그림을 그렸어요. 키캡 앞면은 “이 키를 누르면 이 그림이 나와요”라고 알려주는 안내판이었던 셈이죠.
화면 글꼴은 그동안 잘 보존돼왔지만, 키캡에 찍힌 인쇄 서체는 상대적으로 관심을 덜 받았어요. 이 프로젝트가 바로 그 빈자리를 채운 거예요.
사진에서 폰트를 뽑아내는 과정
사진 몇 장으로 폰트를 만든다는 게 말처럼 쉽지는 않아요. 이 프로젝트가 구체적으로 어떻게 작업했는지는 저장소에서 직접 확인해보시길 추천하고, 여기서는 이런 ‘폰트 복원(revival)’ 작업이 보통 어떤 단계를 거치는지 설명해볼게요.
1. 사진 보정: 키캡을 비스듬히 찍으면 글자가 찌그러져 보여요. 그래서 원근 보정으로 정면에서 본 것처럼 펴주고, 렌즈 왜곡도 같이 잡아요.
2. 이진화: 사진에서 흑과 백 두 가지 색만 남겨요. 글자와 배경을 깔끔하게 떼어내는 단계예요.
3. 벡터화: 픽셀로 된 글자 윤곽을 따라 베지어 곡선(점과 핸들로 표현하는 매끈한 곡선)으로 다시 그려요. 자동 트레이싱 도구를 써도 결국 사람이 손으로 다듬어야 해요.
4. 폰트 편집기에서 정리: FontForge 같은 무료 편집기나 상용 도구에서 글자 폭, 좌우 여백, 글자 사이 간격(커닝)을 맞춰요.
5. 내보내기: 데스크톱용 OTF/TTF, 웹용 WOFF2 같은 포맷으로 출력해요.
이 중에서 제일 어려운 건 “어디까지가 원래 디자인이고 어디부터가 세월의 흔적인지”를 가려내는 거예요. 40년 넘은 키캡은 손때에 닳고, 인쇄 잉크가 번지고, 표면도 살짝 오목하게 휘어 있거든요. 조명 반사까지 더해지면 같은 글자도 사진마다 조금씩 달라 보여요. 그래서 여러 장을 비교하면서 원래 의도한 모양을 추정해야 해요. 기술이라기보다는 거의 고고학에 가까운 일이죠.
레트로 폰트 복원이라는 흐름
이런 작업은 이제 하나의 장르가 됐어요. IBM PC 시절의 BIOS, VGA 글꼴 수백 종을 정밀하게 재현한 VileR의 “Ultimate Oldschool PC Font Pack”이 대표적이에요. 유니코드도 이 흐름에 힘을 보탰는데요, 2020년 유니코드 13.0에 ‘레거시 컴퓨팅 기호(Symbols for Legacy Computing)’ 블록이 추가되면서 PETSCII를 비롯한 옛 컴퓨터의 그래픽 문자 상당수가 표준 문자가 됐어요. 덕분에 이런 폰트를 그림으로만이 아니라 실제 텍스트로도 쓸 수 있는 바탕이 생겼죠.
화면 글꼴 재현이 “그 시절 모니터에서 보던 느낌”을 살리는 거라면, 이번 프로젝트는 “그 시절 손끝에 닿던 물건의 느낌”을 살렸다는 점에서 결이 조금 달라요.
한국 개발자에게 주는 시사점
우리에게도 비슷한 사례가 있어요. DOS 시절 한글 화면을 책임지던 비트맵 글꼴 ‘둥근모꼴’을 요즘 환경에 맞게 되살린 Neo둥근모, 그리고 픽셀 스타일 한글 폰트 갈무리 같은 오픈소스 프로젝트들이요. 다만 한글은 현대 한글 음절만 해도 11,172자나 돼서 영문 폰트와는 작업량이 비교가 안 돼요. 그래서 초성, 중성, 종성을 조합하는 방식으로 설계하는 경우가 많아요.
실무에서 써먹을 만한 포인트도 있어요.
- 웹 폰트로 쓸 때: 레트로 콘셉트의 사이드 프로젝트라면
@font-face로 불러오되, 필요한 글자만 남기는 서브셋팅으로 용량을 줄이세요. - 라이선스 확인: GitHub에 공개돼 있다고 마음대로 써도 되는 건 아니에요. 저장소의 라이선스 파일을 꼭 확인하세요. 원본 디자인과 관련된 상표나 권리 문제가 있을 수도 있고요.
- 직접 해보기: Python의
fontTools라이브러리를 쓰면 폰트 파일을 코드로 열어보고 고칠 수 있어요. 폰트 파일 구조를 알아두면 웹 폰트를 최적화하거나 아이콘 폰트 문제를 디버깅할 때 의외로 큰 도움이 돼요.
마무리
한 줄로 정리하면, 사진 몇 장과 집요함으로 40년 전 키보드 위의 글자가 지금 쓸 수 있는 폰트로 다시 태어났어요.
여러분도 되살리고 싶은 옛날 기계의 글꼴이 있나요? 어릴 때 쓰던 PC의 부팅 화면 글꼴이나 오락실 게임 글자 같은 것들이요. 떠오르는 게 있으면 댓글로 공유해주세요!
🔗 출처: Hacker News