소개

Tom Chen의 ‘FontPixel.com 오픈 소스 픽셀 글꼴 박물관’은 인터넷 곳곳에 흩어진, 찾을 수 있는 모든 자유 저작권 비트맵(픽셀) 글꼴을 하나의 박물관에 모읍니다. 글꼴을 해체해 글리프를 하나하나 살피고, 같은 잣대로 거듭 재며, 문자 집합별 수록 범위를 자세히 헤아립니다. 또한 직접 입력할 수 있는 미리보기로 그 글꼴의 여러 문자가 옛 아케이드 게임이나 구문 강조 편집기에서 어떻게 보이는지 확인할 수 있습니다. 마지막으로 BDF, PCF, 비트맵 TTF, 그리고 각 픽셀을 정사각형이나 원으로 바꾼 벡터화 TTF 형식의 내려받기를 제공합니다.

수록 기준

자유 라이선스 글꼴만 수록하며 기준은 엄격합니다. 라이선스는 누구나 사용·복제·수정·재배포할 수 있고 상업적 이용까지 허용함을 명시해야 하며, 본 사이트에 수록된 바로 그 파일에 적용되고 출처를 확인할 수 있어야 합니다. '무료', '상업적 무료', '프리웨어', 복제만 허용, '나중에 오픈 소스로 전환' 같은 경우는 해당되지 않습니다. 따라서 이 사이트의 모든 글꼴은 안심하고 상업적으로 쓸 수 있습니다.

'작성자 안내'나 '개인 사용 약관' 같은 자체 규정을 내건 글꼴은 대부분 수록하지 못합니다. 기준은 규정의 이름이 아니라 자유 소프트웨어와 자유 글꼴의 통용 정의를 충족하는지입니다. 누구나 어떤 목적으로든 사용·연구·수정·재배포할 수 있고, 용도나 이용자에 따른 제한이 없으며, 허락이 나중에 철회되지 않고, 파생물에도 이어져야 합니다. 하나라도 빠지면 수록 보고서에 기록만 하고 싣지 않습니다.

수록 대상은 특정 문자 체계에 한정하지 않으며 CJK와 라틴 문자 글꼴을 모두 수록합니다. 비트맵 형식끼리는(BDF, PCF, OTB, kbitx 등) 무손실로 변환되므로 형식을 가리지 않습니다. 갈림길은 글꼴 자체가 비트맵인가입니다. 벡터화된 픽셀 윤곽선 글꼴(TTF/OTF)만 공개된 경우에는 원래 픽셀 격자에 맞춰 다시 래스터화하고 페이지에 ‘변환됨’이라고 표시하며 변환 방법도 설명합니다.

각 글꼴의 상세 페이지에 수록 출처를 기록합니다. 잘못 수록된 글꼴을 발견했거나 글꼴 삭제를 원한다면 저장소에 이슈를 등록해 주세요.

오픈 소스로 오해하기 쉽지만 검토 후 수록하지 않은 글꼴의 예:

  • HZK / mplus_hzk_12: 사용된 HZK 글리프에 적용되는 자유 라이선스를 확인하지 못했습니다. 오래되었다고 퍼블릭 도메인이 되는 것은 아니며, 파생 저장소의 Unlicense도 원본 글리프의 이용 허락을 대신할 수 없습니다.
  • Zpix (最像素): 개인·교육 프로젝트에는 무료지만 상업적 이용에는 유료 라이선스가 필요하고 수정·형식 변환 등도 금지됩니다. 본 사이트의 자유 라이선스 기준을 충족하지 않습니다.
  • Guanzhi 8px (观致, FontChinese7x7): 중국어 글리프를 보충한 사람이 불명확합니다. 이슈 #6에는 샤샤(夏夏, lietxia)가 자신은 보충하지 않았다고 말했다는 보고가 있습니다. 저장소의 MIT 라이선스는 도구 코드에만 적용되며 글꼴에는 적용되지 않습니다. 논의 #6
  • tewi: 작성자는 Monaco에서 상당수 글리프를 가져온 데 따른 라이선스 불확실성 때문에 글꼴을 철회하고 배포자에게도 삭제를 검토해 달라고 요청했습니다. 이전 사본의 GPL 표기만으로 원본의 라이선스 문제를 해소할 수는 없습니다.
  • 봉황 도트 글꼴 (Vonwaon Bitmap): CC0 1.0으로 배포되지만 https://github.com/aguegu/BitmapFont에 수집된 저작권 미상의 HZK 글꼴을 사용하고 Windows 3.2 글꼴과도 매우 유사하여 글리프의 저작권 출처를 확인할 수 없습니다. BitmapFont

측정값 산출 방법

명목 크기는 글꼴 자체의 선언(PIXEL_SIZE, SIZE 또는 FONTBOUNDINGBOX)에서 가져오며 디자인 픽셀 격자의 높이를 뜻합니다.

한자 자형 영역은 실제로 켜진 픽셀을 측정합니다. 빌드 과정에서 글꼴이 수록한 통용규범한자표 1급 한자를 사용하고, 100자보다 적으면 모든 통합 한자를 대신 사용합니다. 각 글리프에서 켜진 픽셀의 경계 상자를 계산한 뒤 너비와 높이의 중앙값을 표시합니다. ‘16px’ 글꼴도 한자는 보통 15×15나 14×15로 그려지므로 이 값이 명목 크기보다 서체의 시각적 크기를 더 잘 보여 줍니다. 한자 글리프가 없는 글꼴은 대신 대문자 높이와 x 높이를 표시합니다.

최대 자형 영역은 모든 글리프에서 찾은 가장 큰 점등 영역입니다. 결합 문자나 매우 넓은 사용자 정의 영역 글리프가 명목 영역을 벗어날 수 있으며 이는 정상입니다.

수록 범위 계산 방법

수록 범위는 코드 포인트 단위로 계산합니다. 글꼴 인코딩 표의 각 코드 포인트를 한 번씩 세며, 분모는 저장소에서 버전별로 관리하는 문자 집합 데이터 파일에서 가져옵니다. 각 파일 머리말에 출처와 버전이 적혀 있고 문자 집합 이름 위에 포인터를 올리면 확인할 수 있습니다.

Unicode 블록의 분모에는 Unicode 17.0에서 할당된 코드 포인트를 사용합니다. 서로게이트는 제외하고 사용자 정의 영역은 포함하므로 이전 Unicode 버전을 기준으로 세는 도구와 수치가 조금 다를 수 있습니다.

호환 한자는 따로 집계합니다. 그중 12개 코드 포인트는 유니코드 공식 주석에 따르면 실제로는 통합 한자이며, 개요에 각주로 표시했습니다.

GB 18030-2022의 세 구현 수준은 표준 제9장의 한자와 부수 정의를 바탕으로 구성하며 각각 27,584 / 27,780 / 88,115자입니다. 근거와 인용문은 저장소의 docs/research/에 있습니다.

미리보기 렌더링 방법

모든 미리보기는 브라우저 canvas에 픽셀 단위로 그립니다. 각 점은 언제나 또렷한 사각형이며 운영체제의 글꼴 래스터라이저를 거치지 않습니다. 따라서 어느 플랫폼에서나 글꼴의 실제 모습이 똑같이 보입니다.

글리프를 왼쪽에서 오른쪽으로 단순하게 늘어놓으며 셰이핑, 커닝, 세로쓰기는 지원하지 않습니다. 누락 문자는 붉은 바탕의 점선 자리표시자 상자로 표시합니다.

글꼴 추가하기

BDF 또는 PCF 파일(.gz 압축도 가능)을 fonts/ 아래 새 디렉터리에 넣고 빌드를 실행하세요. 그 디렉터리의 family.toml에 수동 입력 정보를 추가할 수 있습니다. 없어도 빌드되며 사이트에는 ‘미정리’라고 표시됩니다.

fonts/my-font/
  my-font-16.bdf
  OFL.txt
  family.toml    # 선택 사항. 예:

name = "My Font"
name_zh = "我的字体"
authors = ["제작자 이름"]
homepage = "https://example.com"
description = "한 줄 설명"
forms = ["gothic", "sans"]          # 자형 분류: gothic|song|rounded|kai|fangsong|…
vibes = ["retro-game"]   # 분위기 태그. 자유롭게 입력
aliases = ["옛 이름"]    # 선택: 옛 이름·별칭. 검색에만 쓰입니다

면책 조항

라이선스 정보는 빌더가 자동으로 감지하거나 수동으로 입력한 것으로 참고용입니다. 글꼴에 실제로 적용되는 조건은 제작자가 원 배포처에 게시한 라이선스 원문을 따릅니다. 상업적으로 이용하기 전에 직접 확인하세요.

이 사이트의 수록 판단은 저작권 라이선스만을 대상으로 합니다. 글꼴 이름에 제3자의 등록 상표가 들어 있는 경우(IBM VGA, Adobe Helvetica 등)가 있는데, 이는 글자 모양의 출처를 밝히는 지시적 사용입니다. 원래 이름 그대로 수록하며, 상표권자의 보증이나 제휴를 뜻하지 않습니다.

문자 집합 데이터의 제3자 출처와 라이선스는 저장소의 THIRD_PARTY_NOTICES.md에 정리되어 있습니다.

문자 집합 데이터 출처

아래 문자 집합을 수록 범위 계산에 사용하며 각각의 데이터 출처를 표시합니다. 전체 인용과 라이선스는 저장소에서 확인할 수 있습니다.

Character set Code points 출처
International Ideographs Core (IICore) 9,810 CJK-character-count project data, migrated 2026-08-21
Unihan Core 2020 20,720 https://www.unicode.org/Public/17.0.0/ucd/Unihan.zip kUnihanCore2020; generated 2026-08-21
Windows Glyph List 4 650 Adobe WGL4 table; retrieved 2026-08-21
Basic Latin 95 Unicode block ranges; generated 2026-08-21
Latin-1 Supplement 96 Unicode block ranges; generated 2026-08-21
Latin Extended-A 128 Unicode block ranges; generated 2026-08-21
Latin Extended-B 208 Unicode block ranges; generated 2026-08-21
Cyrillic Everyday Characters 97 ISO/IEC 8859-5 Cyrillic repertoire minus U+2116, plus Ghe-with-upturn (U+0490/0491, restored in Ukrainian orthography in 1990); generated 2026-08-21
Greek Everyday Characters 72 Modern monotonic Greek orthography; matches the ISO/IEC 8859-7 repertoire minus generic punctuation and currency signs; generated 2026-08-21
Arabic Everyday Characters 92 Unicode 17.0 core Arabic/Persian/Urdu letters, marks, digits and punctuation (deliberately not Windows-1256, which omits both digit sets); selection generated 2026-08-31
Thai Everyday Characters 87 TIS-620 (Thai national standard; ISO/IEC 8859-11 is the same table plus NBSP at 0xA0). Derived from Python's tis_620 codec over 0xA1-0xFB and cross-checked against the Unicode 17.0 Thai block's assigned characters; generated 2026-09-03
Vietnamese Latin 186 按 Unicode 越南语用字构成定义;generated 2026-08-21
IBM Code Page 437 255 Python cp437 codec + IBM graphic set; generated 2026-08-21
Box Drawing 128 Unicode block ranges; generated 2026-08-21
Block Elements 32 Unicode block ranges; generated 2026-08-21
Powerline Symbols 41 powerline/fontpatcher 约定;generated 2026-08-21
Braille Patterns 256 Unicode block ranges; generated 2026-08-21
GB/T 2312 Hanzi 6,763 Python codecs; generated 2026-08-21
GB/T 2312 Level 1 Hanzi 3,755 Python codecs; generated 2026-08-21
GB/T 2312 Level 2 Hanzi 3,008 Python codecs; generated 2026-08-21
GBK Hanzi 20,923 Python codecs; generated 2026-08-21
GB/T 12345 Traditional Hanzi 6,866 CJK-character-count project data, migrated 2026-08-21
GB 18030-2022 Implementation Level 1 27,584 GB 18030-2022 第9章实现级别;构造依据 docs/research/gb18030-2022-levels.md; generated 2026-08-21
GB 18030-2022 Implementation Level 2 27,780 GB 18030-2022 第9章实现级别;构造依据 docs/research/gb18030-2022-levels.md; generated 2026-08-21
GB 18030-2022 Implementation Level 3 88,115 GB 18030-2022 第9章实现级别;构造依据 docs/research/gb18030-2022-levels.md; generated 2026-08-21
Table of General Standard Chinese Characters 8,105 CJK-character-count project data, migrated 2026-08-21
General Standard Chinese Characters Level 1 3,500 公开数据集快照(两独立来源交叉核对,并集与 CJK-character-count 8105 整表完全一致); generated 2026-08-21
General Standard Chinese Characters Level 2 3,000 公开数据集快照(两独立来源交叉核对,并集与 CJK-character-count 8105 整表完全一致); generated 2026-08-21
General Standard Chinese Characters Level 3 1,605 公开数据集快照(两独立来源交叉核对,并集与 CJK-character-count 8105 整表完全一致); generated 2026-08-21
List of Frequently Used Characters in Modern Chinese 3,500 CJK-character-count project data, migrated 2026-08-21
Frequently Used Characters in Modern Chinese (2500) 2,500 公开数据集快照(计数与官方口径一致); generated 2026-08-21
Less Frequently Used Characters in Modern Chinese (1000) 1,000 公开数据集快照(计数与官方口径一致); generated 2026-08-21
List of Commonly Used Characters in Modern Chinese 7,000 CJK-character-count project data, migrated 2026-08-21
Compulsory Education Chinese Character List 3,500 CJK-character-count project data, migrated 2026-08-21
Standard Glyph Forms for Ancient Book Printing 14,250 CJK-character-count project data, migrated 2026-08-21
Kangxi Radicals 214 Unicode block ranges; generated 2026-08-21
CJK Radicals Supplement 115 Unicode block ranges; generated 2026-08-21
Hanyi Simplified & Traditional Set 9,169 CJK-character-count project data, migrated 2026-08-21
FounderType Simplified & Traditional Set 9,664 CJK-character-count project data, migrated 2026-08-21
Standard Forms of Common National Characters 4,808 CJK-character-count project data, migrated 2026-08-21
Standard Forms of Less-Common National Characters 6,343 CJK-character-count project data, migrated 2026-08-21
Big5 Frequently Used Hanzi 5,401 Python codecs; generated 2026-08-21
Big5 Less Frequently Used Hanzi 7,652 Python codecs; generated 2026-08-21
Big5 All Hanzi 13,053 Python codecs; generated 2026-08-21
Bopomofo 75 Unicode block ranges; generated 2026-08-21
List of Graphemes of Commonly-Used Chinese Characters 4,762 CJK-character-count project data, migrated 2026-08-21
Hong Kong Supplementary Character Set Hanzi 4,603 CJK-character-count project data, migrated 2026-08-21
Hong Kong Supplementary Characters in Common Use 1,102 CJK-character-count project data, migrated 2026-08-21
JIS X 0208 Non-Kanji 524 Python codecs; generated 2026-08-21
JIS X 0208 Level 1 Kanji 2,965 Python codecs; generated 2026-08-21
JIS X 0208 Level 2 Kanji 3,390 Python codecs; generated 2026-08-21
JIS X 0213 Level 3 Kanji 1,260 Python codecs; generated 2026-08-21
JIS X 0213 Level 4 Kanji 2,397 Python codecs; generated 2026-08-21
Joyo Kanji 2,136 https://raw.githubusercontent.com/vaiorabbit/everyday_use_kanji/master/regular_use_utf8.csv; retrieved 2026-08-21
Kyoiku Kanji 1,026 https://raw.githubusercontent.com/fnshr/kyo-kan/master/kyoiku-kanji-2017.csv; retrieved 2026-08-21
Jinmeiyo Kanji 864 https://ja.wikipedia.org/wiki/人名用漢字一覧;retrieved 2026-08-21
Hiragana 86 Unicode block ranges; generated 2026-08-21
Katakana 90 Unicode block ranges; generated 2026-08-21
Halfwidth Katakana 63 Unicode block ranges; generated 2026-08-21
JIS X 0201 158 Unicode block ranges; generated 2026-08-21
KS X 1001 Hangul Syllables 2,350 Python codecs; generated 2026-08-21
KS X 1001 Hanja 4,888 Python codecs; generated 2026-08-21
KS X 1001 Symbols 987 Python codecs; generated 2026-08-21
Hangul Syllables (All Modern) 11,172 Unicode block ranges; generated 2026-08-21
Hangul Compatibility Jamo 94 Unicode block ranges; generated 2026-08-21
Hangul Jamo 256 Unicode block ranges; generated 2026-08-21