로만 치보라(Roman Czyborra)[1]가 디자인한 GNU 유니폰트(GNU Unifont)는 중간 비트맵 글꼴 형식을 사용하여 전체 유니코드 BMP ( Basic Multilingual Plane)을 다루는 무료 비트맵 글꼴이다.

리눅스, XFree86 또는 X.org Server 와 같은 대부분의 공개 무료 운영 체제 및 윈도우 시스템 및 RockBox 와 같은 일부 내장 펌웨어에 있다. 글꼴은 GNU GPL(General Public License) 버전 2+에서 글꼴 포함 예외 (문서에 글꼴 포함시 동일한 라이센스하에 문서를 배치할 필요가 없음)와 함께 릴리스된다.

2013년 10월에 GNU 패키지가 되었다.

.hex 글꼴 형식 편집

GNU 유니폰트(GNU Unifont) .hex 형식은 폭이 8 또는 16 픽셀, 높이가 16 픽셀인 글리프를 정의한다. 대부분의 서구권 스크립트 글리프는 8 픽셀 너비로 정의 할 수 있지만 다른 글리프 (특히 중국어 - 일본어 - 한국어 또는 CJK 세트라고 잘 알려진)는 일반적으로 16 픽셀 너비로 정의된다.

GNU 유니폰트 파일(unifont.hex)에는 각 글리프에 대해 한 줄씩 표시된다. 각 행은 4 자리의 유니 코드 16 진수 코드 포인트, 콜론 및 비트맵 문자열로 구성된다. 비트 문자열은 8 픽셀 폭 글리프의 32 자리 16 진수 또는 16 픽셀 폭 글리프의 64 자리 16 진수이다.

비트 열의 '1'비트는 'on'픽셀에 해당한다. 픽셀 비트는 왼쪽에서 오른쪽으로 위에서 아래로 저장된다.

글꼴은 X11에서 사용하기 위해 BDF 파일로 변환된다.


편집

ASCII 대문자 'A'에 대해 하나의 글리프가 포함된 예제 글꼴

0041:0000000018242442427E424242420000

첫 번째 숫자는 0000에서 FFFF 범위의 16 진수 유니코드 코드포인트이다. 16진수(Hexadecimal) 0041은 문자 'A'의 코드 포인트인 10진수 65이다. 콜론은 코드 포인트와 비트맵을 구분하는 역할을 한다. 이 예에서 글리프는 8 픽셀 너비이므로 비트 문자열은 32 자리의 16 진수이다.

비트 문자열은 8 개의 0으로 시작하므로 상위 4 개 행은 비어 있다 (8 비트, 바이트 당 2 개의 16 진수, 8 픽셀 전체 글리프의 경우 행 당 8 비트). 비트 문자열도 4 개의 0으로 끝나기 때문에 하단 2 개의 행은 비어있게된다. 기본 글꼴 디센더가 기준선보다 2 줄 아래에 있고 높이가 기준선보다 10 행 높다는 것은 암묵적인 사실이다. 이것은 라틴 글리프가있는 GNU 유니폰트의 경우이다.

hexdraw Perl 스크립트는 위의 한 줄 문자 모양 정의에서 다음 출력을 생성한다 (더 나은 시각화를 위해 같은 출력으로 오른쪽에 배치)

텍스트 편집기에서 편집 한 다음 동일한 유틸리티를 사용하여 16 진수 문자열로 다시 변환 할 수 있다. 목표는 새로운 글립 문자를 쉽게 추가할 수 있는 중간 형식을 만드는 것이었다.

역사 편집

로만 치보라(Roman Czyborra)는 1994년에 초기의 노력 끝에 1998년에 유니폰트(Unifont) 포맷을 만들었다.[2]

2008년 Luis Alejandro González Miranda는 이 글꼴을 TrueType 글꼴로 변환하는 프로그램을 작성했다. Paul Hardy는 나중에 트루타입(TrueType) 버전의 문자 조합을 지원하도록 수정했다.

마지막으로 리차드 스톨만(Richard Stallman)은 2013년 10월 유니폰트(Unifont)라는 GNU 패키지를 폴 하디(Paul Hardy)의 메인 테이너로 지칭했다.

벡터화 프로젝트 편집

루이스 알레한드로 곤살레스 미란다(Luis Alejandro González Miranda)는 폰트포지(FontForge)를 사용하여 글리프 비트 맵 분포 형식의 유니폰트(unifont.bdf)글꼴을 벡터화하고 트루 타입 형식으로 변환하는 스크립트를 작성했다.[3] 폴 하디 (Paul Hardy)는 최신 트루 타입 버전의 문자 조합 (악센트 등)을 처리하기 위해 이 스크립트를 조정했다.[4]

같이 보기 편집

각주 편집

외부 링크 편집