최근 수정 시각 : 2025-04-21 01:21:57

GNU Unifont

유니폰트에서 넘어옴

GNU Project
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -10px;"
<colbgcolor=#a32d2a><colcolor=#fff,#fff> 관련 문서 GNU · 자유 소프트웨어 재단 · 리처드 스톨먼
소프트웨어 Bash · GNOME · GNU Emacs · GNU IceCat · GNU/Linux · GNU Octave · GNU Screen · groff · GRUB · Midnight Commander · nano · R · Texinfo
<bgcolor=#a32d2a><color#fff> 유틸리티 coreutils(fileutils · textutils · shellutils) · GNU Grep · GnuPG · GNU Tar
<bgcolor=#a32d2a><color#fff> 개발자 도구 Autotools(autoconf · automake) · binutils(BFD · as · ld · gold · gdb) · GCC · glibc · GNU Make
라이선스 GNU 일반 공중 사용 허가서 · GNU 약소 일반 공중 사용 허가서 · GNU Affero 일반 공중 사용 허가서
기타 GNU Unifont
취소선: 독립한 프로젝트
}}}}}}}}} ||
파일:unifont 15.1.02.png
15.1.02 버전의 Unifont
1. 개요2. 특징3. 여담4. 관련 링크

1. 개요

공식 사이트
Unifont는 1998년 Roman Czyborra가 발표한 폰트로, 개발 당시 유니코드가 나온지 7년이나 지난 시점이었음에도 유니코드를 제대로 지원하는 폰트가 거의 없었던 까닭에 몇몇 글자가 ?나 네모 박스로 표기되어 종종 불편함을 겪는 일이 많았고, 그를 최대한 막기 위해 만들었다. 폰트 개발 취지를 보면, 깨진 문자를 없애겠다는 점에서 구글의 Noto 폰트와도 비슷하다 볼 수 있다.

2. 특징

벡터 방식을 기반으로 깔끔함이 돋보이는 여타 다른 폰트들과는 다르게 도트 느낌이 도드라지는 비트맵으로 제작되었는데, 이는 5만 자가 넘는 글자들을 벡터 방식으로 제작하기보다 비트맵 방식으로 도트만 찍는 게 훨씬 쉽고, 저해상도 환경에서 글자를 깔끔하게 표시하기 위해선 힌팅이라는 작업이 동반되는데 비트맵 방식은 기본 글자 자체가 작게 만들어져있어 따로 힌팅 작업을 할 필요도 없고, 1998년 당시 여러 플랫폼에서 호환성이 갈렸던 벡터 방식보다 비트맵 방식이 훨씬 호환성에서도 좋았기 때문이다.

또한 GNU Unifont라는 이름에서 알 수 있듯이 GNU 일반 공중 사용 허가서 버전 2 (GNU GPLv2) 라이센스로 배포되는 GNU 패키지다보니[1] 수정/배포 등이 자유로우며 일반인이 Unifont 자체에 기여도 가능하기 때문에 25년동안 지속적으로 업데이트되고 있어 특정 언어의 글자 생김새가 초기에 비해 상당히 달라지거나, 이모티콘같이 유니코드에서 새로 추가된 글자들도 바로 바로 반영된다.

또 배포 초기엔 .hex 파일로만 배포되어 OS나 여러 프로그램 등에서 사용하려면 변환 툴 등을 이용해 변환해야 했고, 벡터화도 되어있지 않아 트루타입 방식의 폰트도 지원되지 않았다. 그러나 현재는 트루타입 폰트[2], 오픈타입 폰트 같은 다른 파일 방식으로 변환하는 스크립트가 작성되어 해당 스크립트를 이용해 변환한 파일도 같이 배포되고 있어 OS나 프로그램 등에서 사용하기도 편해졌다. 물론 여전히 .hex 파일로도 배포중이다.

지금까지 사용된 한글 글리프에는 총 6가지가 있었는데, 맨 처음엔 이야기에 내장된 굵은체와 비슷한 글리프(iyagi16)를 10년동안 사용하였다. 공식 홈페이지의 기록에 따르면 당시 Roman은 굵은 한글 글리프를 가는 획으로 바꾸고 싶다고 언급한 것으로 추정되며, 이에 2008년 5월 10일 릴리즈에서 이야기에 들어있는 다른 글꼴이었던 johabg16(도스고딕)의 글리프로 변경되었다. 그러나 당시 Unifont 개발진은 한텀이란 한글 UNIX 터미널 프로그램에서 사용했던 글꼴을 가져왔던 것이었는데[3], 이는 이야기(소프트웨어)에 들어 있던 한글 비트맵 폰트를 제한적으로 허락받고 사용하던 것이라 Unifont의 라이선스인 GPL로 배포할 수 없었다는 사실이 뒤늦게 확인되었던 것이다.

이후 5.1.20080820 버전에서 BSD 라이선스인 백묵 굴림(14pt)의 글리프로 변경되었으며[4], 5년 뒤 6.2.20130831 버전부터 완전히 자체 제작한[5] 글리프가 완성되어 온전한 GPL 라이선스를 적용할 수 있게 되었고, 이 글리프를 햇수로 10년간 사용했다. 그런데 Unifont에서 한글 폰트를 제작할 땐 글자 11,172자를 모두 직접 만들지 않고 각 음절을 미리 만들어 놓고 프로그램으로 합쳐 만들었는데, 하필 이때 한글 글리프에 기여했던 기여자가 외국인이었다보니 한글 글자에 대한 미적 감각이 없어 글자가 마치 유치원생이 쓴것마냥 울퉁불퉁하고 중구난방이게 되는 결과를 초래했으나 폰트 자체의 한국인들의 관심이 거의 없던 까닭에 햇수로 10년간 계속 유지되게 된다.

그러다 2023년, 마인크래프트 스냅샷 23w17a에서 내부 구조를 변경하는 과정[6]에서 당시 가장 최신버전이었던 15.0.01 버전으로 폰트를 업데이트 하였다. 원래는 BMP 영역을 넘어서 이모지와 같은 다른 문자도 사용할 수 있게되는 좋은 취지였으나, 6.2버전에서 변경된 한글 글리프가 그대로 따라오는 문제가 생기면서 본의아니게 한국인에게 Unifont가 알려지는 계기가 되어버렸다. 이에 한국 시간으로 2023년 6월 4일 릴리즈된 15.0.05 버전에서 Minseo Lee[7]가 Unifont에 기여를 하면서 한글 글리프가 전체적으로 Unifont 글꼴의 특색은 유지하면서도 Galmuri와의 유사성이 돋보이는 느낌으로 변경되었다. 이후 또다른 기여자 OrUUr[8]이 15.1.01에서 6x3x1 조합으로 새로 제작된 글리프를 기여하면서 5.1.20080820 버전과 조금 비슷한 형태의 글리프로 돌아오게 되었다. # 당시에는 완성된 한글 음절자(가, 각, 갂,...)만 변경되고 한글 낱자(ㄱ, ㄴ, ㄷ,...)는 15.0.05 버전의 글리프가 유지되어서 디자인 통일성이 깨졌으나, 이후 15.1.05 버전에서 낱자 글리프도 변경되었다.[9]

3. 여담

  • 버전 체계는 2008년 5월 10일 릴리즈까진 따로 버전 체계가 없었는지 버전을 릴리즈 날짜로 구분했고 5.1.20080706 버전부터 6.3.20140214 버전까진 1,2번째 자리가 유니코드 버전, 3번째 자리가 업데이트 일자였으며 GNU 패키지가 되었을 쯤인 7.0.01 버전부터 3번째 자리 표시 방식이 바뀌어 해당 유니코드 버전 내에서의 업데이트 횟수에 따라 숫자가 올라가는 방식으로 변경되었다.

4. 관련 링크


[1] 다만 GNU 패키지가 된 것은 2013년부터이다.[2] 15.1 이후부터는 기본 빌드에서 지원하지 않으며, 직접 사용자가 빌드하면 트루타입으로도 사용할 수 있다.[3] 참고로 이 한텀은 넥슨 공동 창립자이자 리니지 개발자로 유명한 송재경이 개발한 것이다.[4] 이 글리프는 마인크래프트 1.20 이전 버전까지 사용된 글리프로 유명하며, 모니위키의 개발자인 wkpark도 개발자 중 한 명이다.[5] 당시 사이트의 업데이트 기록을 보면 정미라는 인물에게 도움을 받아 직접 만들었다고 나온다.[6] 이전까지 마인크래프트에서는 글리프를 256*256 사이즈의 png 파일로 저장(00~ff 범위)하고 이를 불러오는 형식으로 Unifont를 사용하였으나, 해당 버전부터 unifont.hex 파일을 직접 읽어들이는 구조로 변경하였다.[7] 닌텐도 DS의 폰트를 본따 만든 Galmuri의 제작자 quiple로 추정. quiple의 Github 페이지로 가면 Minseo Lee라고 뜬다.[8] Unifont 업데이트 기록에서 나온 본명은 이호석(Ho-Seok Ee)으로, 7월경 마인크래프트 한글 글꼴 리소스팩을 제작했다. Unifont에 반영된 글꼴도 여기서 가져온 것이다.[9] 이 과정에서 기존에는 한글 완성자 영역이 가로 0번 픽셀부터 14번 픽셀까지의 영역을 사용했으나 새로 바뀐 글리프는 1번 픽셀부터 15번 픽셀까지 영역을 사용하게 되었다. 폰트 파일에서는 16px 너비를 전부 사용하지만 당시 마인크래프트에서는 0번부터 15번 픽셀까지만 잘라서 불러왔기에 ㅏ가 포함된 글리프가 의도치 않게 잘려버리는 이슈가 있었다. 현재는 한글 음절 영역에 한해 불러오는 픽셀 영역을 조절하여 해결되었다.