☰
Codeface 编程等宽字体画廊:一站式检索、下载与定制开源开发字体
2026/10/8 2:02:21 网站建设 项目流程
  • 数据集

【免费下载链接】codeface

Typefaces for source code beautification

项目地址:https://gitcode.com/gh_mirrors/co/codeface
点击查看免费下载

Codeface 是一个面向开发者的等宽(monospaced)编程字体画廊与字体仓库,核心使命是"Typefaces for Source Code Beautification"(源码美化字体)。它既是一份可浏览、可对比的字体索引,也是可直接下载二进制文件与许可证的字体分发中心,主画廊(README)、位图字体画廊(BITMAP.md)与中日韩字体画廊(CJK.md)中的字体都通过该仓库分发。读完本文,你将掌握 Codeface 的完整目录结构、字体归档的下载与校验方法、主画廊的全部字体清单与连字能力标注,以及如何借助仓库内置的vertical_metrics.txt参考表与font-line工具,把任意一款字体调整到自己习惯的行距。

项目定位与仓库结构

Codeface 仓库以"字体系列 → 字体二进制 + 许可证 + 垂直度量表"为基本单元组织内容,核心目录如下:

  • fonts/:主画廊(Main Gallery)字体,按字体系列分目录存放,每个目录包含.ttf/.otf字体文件、license.txt与vertical_metrics.txt;
  • cjk-fonts/:中日韩字体画廊(CJK.md)字体,覆盖简繁中文、日文与韩文字符集;
  • images/gallery/:各类体的展示 specimen 图片(含-STP、-STPC、-dark、-light四种形态);
  • samplecode/:用于渲染 specimen 的示例代码与样本文本(见 samplecode.c);
  • scripts/:自动生成 specimen 图片的渲染脚本(见 render.py)。

仓库在 About 页面(ABOUT.md)明确说明:字体名链接会打开对应字体目录,你可以在其中下载字体文件,目录中还附带该字体的许可证文本。三个画廊的归档各自独立打包,并随画廊内字体更新同步刷新。

快速下载:字体归档、SHA1 校验与 curl 命令

README 提供了"一键下载全部字体"的归档方案。点击归档链接即可下载 Codeface 主画廊与位图画廊集合中的全部字体二进制,归档信息如下:

归档文件SHA1大小
codeface-fonts.zip4709e7b6f63d1e2c31f7af0d56b7e1f75a84647631.4 MB
codeface-fonts.tar.xze4416c72e331d71e55fd56f2fba38cfda7672f8516.5 MB

也可以直接用curl命令行拉取归档:

$ curl -OL https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip
$ curl -OL https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.tar.xz

建议下载后立即校验完整性,例如 Linux/macOS 下使用sha1sum:

$ sha1sum codeface-fonts.zip 4709e7b6f63d1e2c31f7af0d56b7e1f75a846476 codeface-fonts.zip

与表内 SHA1 一致即可确认归档未被破坏。若仅需要中日韩字体的归档(体积明显更大,见 CJK.md 的下载章节),应前往 CJK 画廊单独获取codeface-cjk-fonts.zip/codeface-cjk-fonts.tar.xz,避免下载与所需字符集无关的字体。

主画廊字体全览

主画廊(The Gallery)是 README 的主体,收录了数十款开源等宽字体。每种字体均附带许可证链接,以及 4 张 specimen 展示图。以下按 README 原始顺序完整列出(带连字能力标注的为 Fira Code、Hasklig、Monoid 三款):

字体目录特点
agave许可证
Anonymous Pro许可证
Aurulent Sans Mono许可证
AverageMono许可证
Bitstream Vera Sans Mono许可证
BPmono许可证
Bront许可证
CamingoCode许可证
CMU Typewriter Text许可证
Courier Prime Code许可证
Cousine许可证
CPMono_v07许可证
Cutive Mono许可证
Droid Sans Mono许可证
Edlo许可证
Fantasque Sans Mono许可证
Fira Code许可证支持连字(Ligatures)
Fira Mono许可证
FreeMono许可证
Generic Mono II许可证
Hack许可证
Hasklig许可证支持连字(Ligatures)
Hermit许可证
Inconsolata许可证
Iosevka许可证
Iosevka Slab许可证
Kawkab Mono许可证
Lekton许可证
Liberation Mono许可证
Linux Libertine Mono许可证
Luculent许可证
Luxi Mono许可证
Mensch许可证
Meslo LG M DZ许可证
Metrickal许可证
monoOne许可证
MonoSpatial许可证
monofur许可证
Monoid许可证支持连字(Ligatures)
Monospace许可证
MonospaceTypewriter许可证
M+ 1m许可证
M+ 1mn许可证
M+ 2m许可证
Nimbus Mono许可证
NotCourierSans许可证
Office Code Pro许可证
Oxygen Mono许可证
Panic Sans许可证
Pointfree许可证
ProFontWindows许可证
PT Mono许可证
Roboto Mono许可证
saxMono许可证
Share-TechMonoTrue许可证
SmallTypeWriting许可证
Source Code Pro许可证
Sudo许可证
Terminus许可证
TeX Gyre Cursor许可证
Ubuntu Mono许可证
Verily Serif Mono许可证
Whois许可证

每种字体的 4 张 specimen 图片采用统一命名约定,分别展示不同渲染形态:

  • -STP:带语法高亮的纯文本(Syntax-highlighted Text Plain)示例;
  • -STPC:带语法高亮的紧凑纯文本(compact)示例;
  • -dark:深色语法主题下的代码渲染效果;
  • -light:浅色语法主题下的代码渲染效果。

以 Hack 为例,其四张图分别为 hack-STP.png、hack-STPC.png、hack-dark.png、hack-light.png。这种"同一样本、四种视图"的呈现方式,让你能直观对比同一字体在不同主题与紧凑度下的可读性表现。

新增特性:vertical_metrics.txt 与行距定制工作流

README 的 "New!" 栏目介绍了仓库的一项重要新增:每个字体系列目录都附带一份垂直度量参考表vertical_metrics.txt。将表内数据与font-line工具配合使用,即可把任意一款字体修改为你习惯的行距——既可以收紧行距让一屏看到更多代码,也可以放宽行距提升长时间阅读的舒适度。

垂直度量表记录的是字体在head、OS/2、hhea三张 OpenType 表内的关键值,以及由此推导出的高度计算与比例关系。以 Hack 的度量表 为例,核心字段如下:

字段数值含义
Units per Em2048字体设计单位(UPM),Hack 为 2048 级网格
[OS/2] TypoAscender1556排版上升部
[OS/2] TypoDescender-492排版下降部
[OS/2] TypoLineGap410排版行间隙
[OS/2] WinAscent1901Windows 平台上升部
[OS/2] WinDescent483Windows 平台下降部
[hhea] Ascent / Descent1901 / -483hhea 表上升/下降部
[hhea] LineGap0hhea 行间隙
(Typo Asc + Desc + Linegap) / UPM1.2基于 Typo 表的总行高比值
(winAsc + winDesc) / UPM1.16基于 Windows 表的总行高比值

不同字体因设计目标不同,度量差异明显。例如 Iosevka 的度量表 采用 1000 UPM,TypoAscender为 977、TypoDescender为 -272,(Typo Asc + Desc + Linegap) / UPM达到 1.25,行高明显比 Hack 更宽松。这正是"收紧或放宽行距"的决策依据:比值越大,默认行距越松。调整时,只需将font-line工具读取对应vertical_metrics.txt中的度量值,按目标比值重写字体表数据即可,实现真正贴合个人偏好的行距定制。

specimen 图片的生成管线(从源码看实现)

主画廊与不可再分发画廊(NONDISTRIB.md)的 specimen 图片均由仓库内的脚本自动生成。ABOUT.md 说明:生成流程基于Pygments 词法分析器 + Pango/Cairo 渲染,字体按 14px 渲染,并采用定制开发的深色与浅色语法高亮主题。

render.py 是渲染管线的核心,其注释示例与参数定义共同勾勒出完整用法:

# 纯文本 specimen:指定样本、输出图片、字体与背景 $ python render.py -t specimens/test-pattern.txt -l text -x 2175 -b "#fcfdffff" -i ../images/hack-STP.png -f "Hack 14" -p 20 # 紧凑纯文本 specimen $ python render.py -t specimens/test-pattern-compact.txt -l text -x 2175 -b "#fcfdffff" -i ../images/hack-STPC.png -f "Hack 14" -p 20 # CJK 样例渲染(配合 CJK 画廊使用) $ python render.py -t specimens/cjk-specimen.txt -l text -x 2175 -b "#fcfdffff" -i cjktest.png -f "Source Han Code JP 14" -p 20

脚本的关键参数(源码可见于 render.py):

参数默认值说明
-t / --textsample.txt要渲染的样本文本文件
-l / --langtextPygments 语言,决定高亮规则
-s / --styleborlandPygments 配色样式
-r / --regularFalse仅用常规字重,忽略样式中的粗体/斜体
-i / --imagesample.png输出图片文件名
-f / --fontmonospace 15Pango 字体规格(如"Hack 14")
-m / --modesubpixel抗锯齿模式,可选grey/bilevel/subpixel
-b / --background#ffffffff背景颜色与透明度
-p / --pad4图片四周内边距(像素)
-x / --width、-y / --height0图片最小宽/高

样本文本取自真实开源代码——samplecode/samplecode.c 使用的是 Git 仓库commit.c中的函数实现,这保证了所有字体 specimen 展示的是真实编程场景而非装饰性文本,具备较强的可读性对比价值。此外,仓库还提供了针对性的样本:samplecode/test-pattern.txt(测试图形样本)以及samplecode/fontnames.txt等,供不同渲染场景选用。

许可证与分发合规

仓库对字体许可证的处理非常严谨(ABOUT.md):每个分发字体的目录中都包含license.txt,画廊页面在字体名下方直接给出许可证链接。部分字体(如 Inziu Iosevka J)涉及多重许可证,会在目录中并列放置多份许可文件(如M+ Fonts License.txt与 OFL 许可)。项目维护者会直接联系字体开发者澄清可能阻碍再分发的许可问题,因此仓库内字体均可合法下载使用。

需要特别注意的是 NONDISTRIB.md 列出的不可再分发画廊(如 Envy Code R、Input Mono、Klartext Mono Light 等):这些字体可免费用于桌面环境,但许可证不允许通过 Codeface 仓库再分发,因此仓库中不提供其二进制文件,只能通过字体名链接跳转到原站点下载。在主画廊、位图画廊与 CJK 画廊之外,这是第四类需要区分的字体来源。

进一步探索:位图、CJK 与其他文档入口

  • BITMAP.md:位图字体画廊,收录 Coding Font Tobi、Crisp、Dina、Fixedsys Excelsior、Gohufont、Monte Carlo、Proggy Clean/Small/Square/Tiny 等位图字体,图片由 Sublime Text 截图手工制备;
  • CJK.md:中日韩字体画廊,收录 D2 Coding、Inziu Iosevka CL/J/SC/TC、migmix、migu、M+、Nanum Gothic Coding、Ricty Diminished、Source Han Code JP 等,覆盖ja-JP、ko-KR、zh-CN、zh-TW四类字符集;
  • NONDISTRIB.md:不可再分发字体列表;
  • CONTRIBUTING.md:贡献指南;
  • CONTRIBUTORS.md:贡献者名单;
  • LICENSE.md:项目整体许可说明。

结语

Codeface 的价值在于"一处索引、全部可用":主画廊把数十款开源等宽字体及其许可证、渲染样例集中呈现,归档下载与 SHA1 校验保证获取安全可靠,而vertical_metrics.txt+font-line的组合则把"行距定制"从凭感觉调字号升级为基于字体真实度量数据的精确工程。无论你是在为编辑器、终端挑选下一款编程字体,还是想系统比较 Fira Code、Hasklig 等连字字体与经典 Inconsolata、Source Code Pro 的差异,这个仓库都能提供一手、可验证的资料。

  • 数据集

【免费下载链接】codeface

Typefaces for source code beautification

项目地址:https://gitcode.com/gh_mirrors/co/codeface
点击查看免费下载
上一篇:Telegraf 外部插件(External Plugins)开发指南:借助 execd 与 Execd Go Shim 扩展插件生态
下一篇:ADK-Python 工件服务(BaseArtifactService)完全指南:从工具内保存二进制工件到版本化存储与按需加载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询