- 前端
- CLI
- 开发工具
【免费下载链接】fontsource
Self-host Open Source fonts in neatly bundled NPM packages.
GungsuhChe(궁서체)是 Fontsource 开源字体仓库中收录的一款韩文“明体(毛笔)风格”字体,最早随 Windows 95 系统首发,脱胎于手写书法,更适合标题、海报等短文本与展示(display)场景而非长文排版。本文以 GungsuhChe 官方描述文档 为主线,结合仓库中的注册表元数据、字符分布与子集定义,系统讲解这款字体的历史、设计定位、字符覆盖、技术规格、许可信息,并给出通过 Fontsource NPM 包在 Web 项目中自托管安装的完整实操方案。
字体概览:一款“毛笔明体”风格的韩文字体
GungsuhChe 是一款广为人知的myeongjo(brush)风格韩文字体,名称中的 “Che”(체)在韩文中表示等宽(monospace)变体。根据官方描述,它具备三个核心特征:
- 历史渊源:最早随 Windows 95 系统一起首发,是许多韩语用户最早接触的系统内置字体之一;
- 书写来源:字形脱胎于手写书法(handwritten calligraphy),笔画带有毛笔的粗细变化与书写动势;
- 用途定位:更适合短文本串(shorter text strings)或展示类应用(display applications),而非长文正文(long-form text)排版。
注册表元数据(family.json)补充确认了以下身份信息:
| 字段 | 值 |
|---|---|
| family | GungsuhChe |
| classifications | serif(衬线) |
| designer | HanYang I&C Co.(韩阳 I&C) |
| primaryScript | Kore(韩文) |
| dateAdded | 2024-05-15 |
| sourceModified | 2026-09-03 |
| status | active(活跃收录) |
从源码结构看,该字体的classifications由 Google Fonts 的SERIF分类映射而来(见 google.ts 中的GOOGLE_CLASSIFICATION_MAP),因此它在 Fontsource 的检索目录中会被归类为衬线字体。
设计定位:展示型字体与“等宽拉丁”变体的差异
GungsuhChe 与同门字体Gungsuh构成一组对照关系,官方描述明确指出了二者的关键区别:
This version includes monospace, half-width Latin characters. For a version with proportional Latin characters, see Gungsuh.
翻译过来即:GungsuhChe 的拉丁字符是等宽(monospace)、半宽(half-width)的;需要比例(proportional)拉丁字符版本的用户应选择 Gungsuh。
这组对比对实际选型非常重要:
- GungsuhChe(本文主角):韩文部分为毛笔明体风格,拉丁字符为等宽半宽形态,适合需要字符对齐(如代码、表格、终端风格界面)或强调书法展示效果的场景;
- Gungsuh:字形主体一致,但拉丁字符为比例宽度,阅读连贯性更好,适合拉丁与韩文混排时更自然的文字流。
两者共享相同的韩文主体设计,选择时主要依据项目对拉丁字符宽度的排版需求。
字符覆盖:约 2.06 万码点、2.19 万字形
通过 Fontsource 对字体文件的实际检测(inspection),family.json 记录了 GungsuhChe 的精确字符能力:
- codepoints:20,579 个 Unicode 码点;
- glyphs:21,896 个字形;
- outline:
glyf(TrueType 轮廓); - fontVersion:Version 2.21;
- layout features:GSUB 含
vert(竖排字形替换),无 GPOS 特性。
从unicodeRange可以清晰看出其覆盖版图:
- 韩文:谚文音节 U+AC00–D7A3、谚文字母 U+3131–318E、兼容字母 U+3200–321C、U+3260–327B,以及韩文字母扩展 U+1100–11F9;
- 汉字与日文假名:常用汉字(如 U+4E00 起的大量 CJK 统一表意文字)、平假名 U+3041–3093、片假名 U+30A1–30F6;
- 拉丁与扩展:基本拉丁 U+0020–007F、拉丁补充 U+00A0–017F、拉丁扩展等;
- 西里尔与希腊:U+0401–045F、U+037E、U+0384–03CE;
- 标点符号、数字符号、箭头、几何图形等大量符号区段。
因此该字体不仅覆盖韩文,还具备相当完整的拉丁、西里尔、希腊字符能力,适合多语言文字混排场景。
发布子集与韩文切片
根据 distribution.json,Fontsource 为 GungsuhChe 发布了 5 个字符子集(subset):
| subset id | 说明 |
|---|---|
| cyrillic | 西里尔 |
| greek | 希腊 |
| korean | 韩文(默认子集) |
| latin | 拉丁 |
| latin-ext | 拉丁扩展 |
其中defaultSubset为korean,并配置了slicing策略:definition: korean-web、subset: korean。这意味着韩文部分会采用 korean-web.json 定义的“网络切片”方案——该文件包含3,472 段码点范围并划分为120 个切片(slice),让浏览器按需加载韩文字形,避免一次性下载数 MB 的完整韩文字库。这一机制对应 google.ts 中的SLICING_BY_SUBSET映射(korean → korean-web),是 Fontsource 针对完整 CJK 字库采用的专项优化。
技术规格与文件信息
family.json 的sources记录了这一版本的实际文件:
| 项目 | 值 |
|---|---|
| 源文件 | ofl/gungsuhche/GungsuhChe-Regular.ttf |
| 变体 | weight 400、style normal(单一静态字重) |
| 大小 | 6,578,224 字节(约 6.3 MB) |
| SHA-256 | ad7744ead7cb467fa12ffc565d1ba864a1a2f972c1bea1e3208062c369982c64 |
| 可变轴(axes) | 无(非可变字体) |
GungsuhChe 目前只提供Regular(400,normal)一个静态字重,没有可变字体(variable)版本,这与许多 CJK 字体仅以单字重发布的惯例一致。注册表(registry/README.md)指出,distribution.json记录的是 Fontsource 实际发布的精确静态变体与字符分布,是“注册表状态”而非从旧目录派生的数据。
许可证与来源
GungsuhChe 采用SIL Open Font License 1.1(OFL-1.1),版权归属为:
Copyright 2024 The Batang and Gungsuh Project Authors
完整许可证文本保存在 license.txt。OFL 允许字体被自由使用、研究、修改与再分发(不能单独售卖),也可以捆绑进商业软件,非常适合 Web 自托管场景。其上游来源(provenance)记录如下:
- 上游仓库:
google/fonts的ofl/gungsuhche目录; - 项目仓库:
github.com/googlefonts/batang(Batang 与 Gungsuh 系列开源项目),当前记录 revision6c1e09f9…。
在 Fontsource 中安装与使用
由于 GungsuhChe 是静态字体,应使用其静态 NPM 包@fontsource/gungsuhche。安装流程参考 官网安装指南:
第 1 步:安装包
npm install @fontsource/gungsuhche # 或 pnpm add @fontsource/gungsuhche第 2 步:在应用入口导入
// 默认导入 weight 400(该字体唯一的字重) import "@fontsource/gungsuhche";第 3 步:在 CSS 中使用
body { font-family: "GungsuhChe", sans-serif; }按子集加载(可选)
由于默认 CSS 使用unicode-range,浏览器只会下载页面实际用到的字符集,一般无需手动挑选子集(见 子集文档)。若确有特殊需求,也可以显式导入某个子集:
import "@fontsource/gungsuhche/korean.css"; import "@fontsource/gungsuhche/latin.css";注意:手动子集导入不适用于可变字体包,且官方不推荐默认使用此方式。
关于 TypeScript
如果项目启用了 TypeScript 的noUncheckedSideEffects检查,导入 CSS 可能报错,可在src/globals.d.ts中添加环境声明:
declare module "*.css"; declare module "@fontsource/*" {}与 Gungsuh 的选型建议
| 对比项 | GungsuhChe | Gungsuh |
|---|---|---|
| 韩文风格 | 毛笔明体(myeongjo brush) | 毛笔明体(myeongjo brush) |
| 拉丁字符 | 等宽、半宽 | 比例宽度 |
| 适合场景 | 展示排版、需要字符对齐的界面 | 拉丁/韩文混排的连续文本 |
两者共享相同的韩文主体设计,选型时只需根据项目对拉丁字符宽度的排版需求决定。若项目以韩文展示性排版为主、对拉丁字符的对齐性有要求,GungsuhChe 是合适选择;若追求拉丁混排的阅读连贯性,则选择 Gungsuh。
数据来源说明
本文中所有字符覆盖、子集、规格与许可信息均来自 Fontsource 仓库的注册表数据:
- 官方描述:description.en-US.md
- 家族与检测元数据:family.json
- 发布分布:distribution.json
- 许可证:license.txt
- 韩文网络切片定义:korean-web.json
- 生成逻辑:google.ts 与 registry/README.md
这些记录由注册表同步流程生成:Google 家族的描述文档由DESCRIPTION.en_us.html转换而来(见 google.ts),字符能力则由字体文件实际检测得到,确保了数据的准确性与可追溯性。
- 前端
- CLI
- 开发工具
【免费下载链接】fontsource
Self-host Open Source fonts in neatly bundled NPM packages.
相关推荐
Ryujinx Switch 模拟器实战指南:从克隆仓库到跑起第一款游戏
Ryujinx Switch 模拟器实战指南:从克隆仓库到跑起第一款游戏 Ryujinx 是一款用 C 编写的开源 Nintendo Switch 模拟器,让
前端CLI开发工具Fontsource 中的 Gulim 字体:从 Windows 95 走来的韩文 UI 黑体
Fontsource 中的 Gulim 字体:从 Windows 95 走来的韩文 UI 黑体 Gulim 是一套随 Windows 95 首次面世的韩文黑体(
前端CLI开发工具《Build Web Application with Golang》第 11 章精读:Go Web 应用的错误处理、GDB 调试与单元测试实战
《Build Web Application with Golang》第 11 章精读:Go Web 应用的错误处理、GDB 调试与单元测试实战 本篇基于开源
前端CLI开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考