未来荧黑字体参数化设计实战指南:3个问题读懂这款开源中文字体
【免费下载链接】glow-sansSHSans-derived CJK font family with a more concise & modern look. 未来荧黑·未來熒黑·ヒカリ角ゴ:基于思源黑体改造,拥有粗度和宽度系列,更加简明现代的超大字体家族。项目地址: https://gitcode.com/gh_mirrors/gl/glow-sans
做中文设计的人大概都有过这样的瞬间:终于找到一款设计感拉满的黑体,一看授权协议只能悻悻关掉;或者对比了好几个"现代简约"字体,放大后笔画细节却经不起推敲。未来荧黑(Glow Sans)正是为了打破这种妥协而生的——它是基于思源黑体改造的开源中文字体,用一套参数化设计系统把 7 个字重扩展成 9 个字重 × 5 种宽度共 44 款字体,并且完全免费可商用。下面我用 3 个最核心的问题,带你把这款开源中文字体从原理到上手一次性弄明白。
问题一:为什么有了思源黑体,还需要"未来荧黑"?
先看一个数据:思源黑体全家族只有 7 个字重、单一宽度。而真实排版场景里,海报标题需要压缩、正文需要常规、杂志需要加宽——宽度差异恰恰是思源黑体的空白。
未来荧黑用算法补上了这块缺口。它保留了思源黑体的简体中文、繁体中文、日文三语覆盖,同时做三件大事:
- 字重翻倍:从 100 到 990 共 9 级字重,细到轻若无物,重到铿锵有力;
- 宽度五档:压缩、窄、正常、宽、扩展(Compressed / Condensed / Normal / Wide / Extended),海报大字与正文阅读各取所需;
- 造型现代化:中宫与字面更加收敛,重心随字重重新配置,笔画末端平直化处理,整体气质干净利落。
未来荧黑整体设计风格展示,右侧"東"字网格能直观看出家族的一致性
如果你关心它和思源黑体的具体差异,项目文档里用一张对比图把改动点标得明明白白——宽度不靠机械拉伸、衬脚被移除、笔画切角平直化,每一处调整都有据可查。
与思源黑体的逐项对比:不是"改个粗细",而是结构级的重构
问题二:不打开字体设计软件,怎么"造"出一款新字体?
这是未来荧黑最反直觉的地方:它做字体,靠的不是 FontLab 这类专业工具,而是一套图像处理算法 + 一堆滑块。
整个项目的参数体系集中在parameters/glow/目录下,每个字重对应一个 JSON 文件。随便打开400.json就能看到核心参数:
{"fontsize":100,"width":1,"weight":0.88,"contrast":1, "counter":0.965,"gravity":1.03,"softness":0.9, "feetremoval":true,"endsremoval":true, "flattenends":0.75,"hooktension":0.475}这些参数大致分三组,理解后你就能读懂任意一个配置文件:
| 参数组 | 代表参数 | 控制什么 |
|---|---|---|
| 结构 | width、counter、gravity | 字符宽度、中宫松紧、视觉重心高低 |
| 笔画 | weight、contrast、softness、dotsoftness | 字重、横竖对比度、笔画与点画的柔软度 |
| 细节 | flattenends、hooktension、feetremoval、endsremoval | 末端平直化、钩画张力、是否移除衬脚与笔画末端 |
算法实现写在src/glyph-manipulate/下:ModelFilters.js负责横向缩放、重心调整这类整体形变,PostFilters.js负责钩画张力、笔画末端这些细节打磨。模型滤镜先改骨架,轮廓滤镜再修细节,这就是未来荧黑"参数化 + 轮廓滤镜"的双层设计思路。
更妙的是,你不用手写 JSON——项目的 Web 可视化 demo(demo/目录)把 16 个参数全部做成了滑块,边拖边看字形实时变化,最终导出配置即可用于构建。
问题三:零基础用户最快怎么用上?进阶用户怎么自己造?
普通用户:两条最省事的路径
- macOS 用户:直接通过 Homebrew 安装,一条命令装齐简体中文全部 5 个宽度:
brew tap homebrew/cask-fonts brew install --cask font-glow-sans-sc-compressed font-glow-sans-sc-condensed font-glow-sans-sc-extended font-glow-sans-sc-normal font-glow-sans-sc-wide- 其他系统用户:从项目 Release 页面下载预编译的 OTF 字体,解压后放入系统字体目录(Windows 的
C:\Windows\Fonts,Linux 的~/.local/share/fonts)即可。
进阶用户:本地部署完整构建链
想亲眼看看 44 款字体是怎么"算"出来的,推荐走一遍完整构建。克隆仓库后依次执行:
git clone https://gitcode.com/gh_mirrors/gl/glow-sans cd glow-sans npm install pip install -r requirements.txt npm run init-fonts # 下载并初始化思源黑体、Fira Sans、Raleway 资源 npm run build-family -- --subset sc # 构建简体中文全家族构建完成后,用项目自带的静态服务器预览:
npm run serve浏览器访问http://localhost:8080,就能打开可视化调参界面,拖动滑块实时预览字形变化。
实战闭环:3 步调出你的专属字重
把前面所有知识串起来,现在做一件具体的事:把 400 号常规字重调得更紧凑、更适合手机端阅读。
第 1 步,改参数:编辑parameters/glow/400.json,做三处调整:
{"width":0.95,"counter":0.98,"gravity":1.02}宽度收紧 5% 提升屏幕信息密度,中宫略微收紧增强小字号可读性,重心轻微上移适配手持阅读。
第 2 步,构建:如果想试出最顺眼的组合,先在 demo 界面拖动滑块实时确认效果,再写回 JSON;确认后重新构建:
NODE_OPTIONS=--max-old-space-size=8192 npm run build-family -- --subset sc第 3 步,验证:检查tests/family-specimen.pdf样张,逐字核对调整后的观感,不满意就回到第 1 步微调。整个流程循环往复,就是一次完整的"参数化字体设计"体验。
避坑提醒:新手最容易踩的 4 个坑
- 构建内存溢出:字库构建很吃内存,务必带上
NODE_OPTIONS=--max-old-space-size=8192,否则 990 号重字重很容易直接把 Node 打挂; - 个别字符缺失:思源黑体里部分字符(如 Enclosed CJK 区间)在宽度系列处理上有难度,被暂时剔除了,属正常现象,别误以为安装失败;
- 它不是可变字体:未来荧黑通过静态家族形变实现多字重,不支持
font-variation-settings实时无级调节; - 输出曲线并非完美:项目文档坦诚说明,形变算法的轮廓质量是"够用而非极致",这恰恰是它开源可迭代的原因。
至于字体授权,可以放心——字体文件遵循 SIL Open Font License 1.1,个人与商业项目都能免费使用,这也是它被大量开源项目选中的关键原因。
下一步:动手做你的第一套字体
未来荧黑把"设计一套字体"这件事的门槛,从专业软件 + 数年训练,降到了克隆 → 拖滑块 → 构建三步。现在就可以开始:
git clone https://gitcode.com/gh_mirrors/gl/glow-sans cd glow-sans npm install && npm run init-fonts && npm run serve打开http://localhost:8080,先随便拖几个滑块看看字形变化,再试着导出你自己的参数配置——三分钟后,你会拥有第一套"亲手调出来"的中文字体。
如果你更关心它和日文版思源黑体(源ノ角ゴシック)的差异,项目仓库里的日文对比图同样值得一看:结构、笔画、西文搭配逻辑完全一致,只是针对日文排版习惯做了对应调整。
日文版对比图,说明同一套参数体系在不同语言下的通用性
【免费下载链接】glow-sansSHSans-derived CJK font family with a more concise & modern look. 未来荧黑·未來熒黑·ヒカリ角ゴ:基于思源黑体改造,拥有粗度和宽度系列,更加简明现代的超大字体家族。项目地址: https://gitcode.com/gh_mirrors/gl/glow-sans
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考