このサイトについて
Tom Chenの「FontPixel.com オープンソースドットフォント館」は、ネット各所に散らばる自由な著作権のドット(ピクセル)フォントを、見つけられるかぎり一つの博物館に収めたサイトです。フォントを分解してグリフを一つずつ調べ、同じ物差しで繰り返し測り、文字集合ごとの収録範囲を細かく数え上げます。さらに自由に入力できる試し書きで、そのフォントのさまざまな文字が昔のアーケードゲームやシンタックスハイライトのエディタでどう見えるかを確かめられます。最後にBDF、PCF、ビットマップTTF、そして各ピクセルを正方形や円に変えたベクター化TTFの各形式でダウンロードを提供します。
収録基準
収録するのは自由なライセンスのフォントのみで、判定は厳格です。ライセンスは、誰でも使用・複製・改変・再配布でき商用利用も可能であることを明示し、本サイトが収録するまさにそのファイルに適用され、出所をたどれる必要があります。「無料」「商用無料」「フリーウェア」、複製のみ許可、「いずれオープンソースにする」といったものは対象外です。したがって本サイトのフォントはすべて安心して商用利用できます。
「作者による利用条件」や「個人利用規約」のような独自の規定を掲げるフォントは、ほとんど収録できません。判断基準は規定の呼び名ではなく、自由ソフトウェアと自由なフォントの一般的な定義を満たすかどうかです。誰でもあらゆる目的で使用・研究・改変・再配布でき、用途や利用者による制限がなく、許諾が後から撤回されず、派生物にも引き継がれること。ひとつでも欠ければ収録報告に記録するのみで、掲載はしません。
収録する文字体系に制限はなく、CJKもラテン文字も収録します。ビットマップ形式どうし(BDF、PCF、OTB、kbitxなど)は可逆変換できるため、形式による区別はしません。分かれ目は、そのフォント自体がビットマップかどうかです。ベクター化されたピクセル輪郭フォント(TTF/OTF)だけが公開されている場合は、元のピクセルグリッドに沿って再びラスタライズし、ページ上に「変換済み」と表示して変換方法も記載します。
各フォントの詳細ページには収録元を記載しています。誤って収録されているものを見つけた場合や、フォントの削除を希望する場合は、リポジトリでissueを作成してください。
オープンソースと誤解されやすいものの、調査の結果、収録を見送った例:
- HZK / mplus_hzk_12: 使用されている HZK 字形の自由な利用許諾を確認できませんでした。古いというだけでパブリックドメインにはならず、派生リポジトリの Unlicense では元の字形の許諾を補えません。
- Zpix(最像素): 個人・教育用途は無料ですが、商用利用には有償ライセンスが必要で、改変や形式変換なども禁止されています。本サイトの自由ライセンスの基準を満たしません。
- 観致 8px(FontChinese7x7): 中国語字形の追加者が不明です。issue #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)から取得します。これはデザインに使われるピクセルグリッドの高さです。
漢字の描画枠は、実際に点灯しているピクセルから測定します。ビルド時に、そのフォントが収録する通用規範漢字表の一級字を使い、100字未満なら全統合漢字を代わりに使います。各グリフについて点灯ピクセルの境界枠を求め、幅と高さの中央値を報告します。「16px」のフォントでも、漢字は通常15×15や14×15で描かれます。この値は公称サイズよりも書体の視覚的な大きさをよく表します。漢字グリフのないフォントでは、代わりにキャップハイトとxハイトを示します。
最大描画範囲は、全グリフの中で最も大きい点灯領域です。結合文字や極端に幅広い私用領域のグリフが公称枠をはみ出すことがありますが、これは正常です。
収録率の数え方
収録率はコードポイント単位で数えます。フォントの符号化テーブルにある各コードポイントを一度ずつ数え、分母にはリポジトリ内で版管理された文字集合データを使います。各ファイルのヘッダーに出典と版を記載しており、文字集合名にポインターを合わせると確認できます。
Unicodeブロックの分母には、Unicode 17.0で割り当て済みのコードポイントを使います。サロゲートは除外し、私用領域は含めます。そのため、古いUnicode版を分母に使うツールとは数値がわずかに異なる場合があります。
互換漢字は別枠で集計します。うち12のコードポイントはUnicodeの注記によれば実際には統合漢字であり、概要に脚注を付けています。
GB 18030-2022の三つの実装水準は、規格第9章にある漢字と部首の定義から構成し、それぞれ27,584 / 27,780 / 88,115文字です。根拠と引用箇所はリポジトリのdocs/research/ にあります。
プレビューの描画方法
すべてのプレビューは、ブラウザーのcanvas上でピクセルごとに描画します。各ドットは常にくっきりした正方形で、OSのフォントラスタライザーを通しません。そのため、どのプラットフォームでも同じ、フォント本来の姿が表示されます。
レイアウトはグリフを左から右へ単純に並べるだけで、シェーピング、カーニング、縦書きには対応しません。未収録文字は赤みがかった点線のプレースホルダー枠で示します。
フォントを追加する
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 = "1行の説明" forms = ["gothic", "sans"] # 書体分類:gothic|song|rounded|kai|fangsong|… vibes = ["retro-game"] # 雰囲気タグ。自由入力 aliases = ["旧名"] # 任意:旧名・別名。検索にのみ使われます
免責事項
ライセンス情報はビルダーが自動検出するか、手作業で登録したもので、参考用として提供しています。実際にフォントを規定するのは、作者が上流で公開しているライセンス原文です。商用利用の前に、ご自身で確認してください。
本サイトの収録判断は著作権のライセンスのみを対象としています。フォント名に第三者の登録商標を含むもの(IBM VGAやAdobe Helveticaなど)がありますが、これは字形の出所を示す指示的使用です。元の名称のまま収録しており、商標権者による推奨や関係を意味しません。
文字集合データの第三者による出典とライセンスは、リポジトリの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 |