# 喵咛狗爬黑

[简体中文](README.md) | [English](README.en.md)

**v1.1.0 · 粗手写展示字体 · SIL Open Font License 1.1**

用于封面、标题、海报和署名。保留“狗爬字”的拙劲：横竖不齐、重心松动、懒得端正；外表散漫，表达清楚。v1.1 延续本项目 v1.0 的字形轮廓，并从项目的笔画、部件和坐标源码扩充字库与多语言排版。

## 下载和试字

- [在线演示](https://miorning.github.io/miorning-goupahei/)：先看效果、输入自己的文字。
- [v1.1.0 Release](https://github.com/miorning/miorning-goupahei/releases/tag/v1.1.0)：常规安装选 `MiorningGoupaHei-v1.1.0-install.zip`；需要源码、离线 HTML 和来源记录选 `MiorningGoupaHei-v1.1.0.zip`。下载后可用 Release 的 `SHA256SUMS.txt` 校验。
- [v1.0.0 历史版](https://github.com/miorning/miorning-goupahei/releases/tag/v1.0.0)：旧版仍可单独下载使用。

解压后安装 **`MiorningGoupaHei-Complete.ttc`**。完整包中它位于 `fonts/`；根目录 `index.html` 可离线试字、调整大小和颜色、导出文字 PNG。

若浏览器限制直接读取本地字体，可使用上方在线演示，或在本目录运行 `python -m http.server 9021 --bind 127.0.0.1` 后访问 `http://127.0.0.1:9021/`。本地 HTTP 演示无需互联网；安装字体不需要 Python。

## 一个安装文件，两个字体面

TTC 内保留“喵咛狗爬黑 / Miorning Goupa Hei”和“喵咛狗爬黑 生僻补充 / Miorning Goupa Hei Extra”两个字体面。两者属于同一款设计。某些软件仍需为罕见字手动选择补充库；一个文件不等于一个字体菜单，也不保证应用会自动跨面补字。

OpenType 每个字体面的字形数有上限，因此使用 TTC 集合容纳完整发行字库。[maxp 规范](https://learn.microsoft.com/en-us/typography/opentype/spec/maxp)与[字体集合规范](https://learn.microsoft.com/en-us/typography/opentype/spec/otff#font-collections)说明了这一结构。`webfonts/` 的 WOFF2 只供网页加载，无需安装，也不替代 TTC；保持完整包目录结构即可。

## 覆盖范围看实测报告

**[coverage/report.json](coverage/report.json) 是本版实际字符数、各字表命中数和缺字数的统计入口。** 每项列出 `target`、`covered`、`missing` 和缺字文件，不把覆盖目标写成已经完成的数量。

| 范围 | 本版目标与边界 |
| --- | --- |
| 汉字 | Unicode 17.0.0 的统一及兼容汉字目标共 **102,998** 字，基本区及扩展 A–J；另按通用规范汉字表 8,105、GBK、Big5/Big5-HKSCS、JIS 常用和罕用映射字表逐项核对 |
| 拉丁语言 | 英语，以及西班牙语、意大利语、法语、德语、越南语的明确语言字母集合；核心集与辅助集分开统计，不宣称收录全部 Unicode 拉丁字符 |
| 希腊文、注音 | 本版列出的希腊字母及附标、完整注音目标字表；具体命中与缺字按报告查看 |
| 蒙古语 | 现代蒙古语使用的西里尔字母，包括所需扩展字母；不等同于传统纵排蒙古文 |
| 日文、韩文 | 保留假名、现代韩文音节，并单独检查假名附标和现代谚文字母组合；不宣称历史假名或旧韩文全部支持 |

字表来自固定版本的官方 Unicode 数据和明确的编码映射，口径见 [reference/repertoires/README.txt](reference/repertoires/README.txt)。覆盖命中只说明码位存在，**不等于字形逐字画对、语言变体齐全或排版已正确**。藏文、泰文和传统纵排蒙古文尚未实现所需排版，本版不宣传支持。

NFC 预组字、NFD 基字加附标、`mark`/`mkmk` 定位和现代 Hangul `GSUB` 组合分别验收。[最终 TTC 排版实测](evidence/v1.1-language-shaping-validation.json)已通过 906 个语言字母项、全部 11,172 个现代韩文音节、组合附标及 JIS 多字符序列；[实际字体检查](evidence/v1.1-actual-font-validation.json)核验收录和旧轮廓保留。开发字体预检单独保留。不要用“没有缺字”替代组合排版测试。

## 来源、构建和创作记录

新字形由本项目的坐标与部件规则生成；旧轮廓的基线仅使用**本项目自己的 v1.0 TTC**，原样延续其轮廓。分库、附标进位、布局表和版本元数据可随 v1.1 更新。这不是读取或改造第三方字体轮廓。

构建命令：

```text
python -m pip install -r requirements-build.txt
python src/build_complete.py --baseline path/to/v1.0/MiorningGoupaHei-Complete.ttc --reuse-cache
```

请在独立目录构建，避免覆盖下载的发行字体。`--baseline` 只能指向本项目 v1.0；`--reuse-cache` 复用本机构建缓存中源签名一致的新字形，不把缓存当作另一套轮廓来源。首次构建没有缓存也可运行。构建与核验细节见 [BUILD.md](BUILD.md) 和 [v1.1 设计记录](docs/v1.1-design.md)。

IDS 数据只提供构成关系，不提供可复制的字体轮廓。来源包括 cjk-decomp、Yi Bai IDS、Henry Chan IDS，以及构建实际采用时保留原声明的 BabelStone IDS；Yi Bai 与 Henry Chan 数据采用 MIT，Unicode 数据采用 Unicode License V3，BabelStone 的原始版权放弃声明单独保留。它们的许可不被改写成字体 OFL。完整归属见 [THIRD_PARTY_NOTICES.txt](THIRD_PARTY_NOTICES.txt) 与 [SOURCE.md](SOURCE.md)。

设计和代码采用 AI 辅助、程序化构造及选样修订，不声称全字库均为人工逐笔绘制或完成专业逐字审校。旧工程缺少完整早期 Git 历史；现在的提交记录实际发生的修改，不回填旧历史。早期系统字体位图正字校样事实与证据缺口见 [PROVENANCE.txt](PROVENANCE.txt)、[RISK-REVIEW.txt](RISK-REVIEW.txt)。

## 授权和 IP 展示图

字体可以依 **SIL OFL 1.1** 免费商用。用字体制作的图片、视频和文档无需改用 OFL；修改、嵌入和再分发字体软件须遵守 [OFL.txt](OFL.txt)，保留版权和许可，不得单独出售字体软件。本版没有声明保留字名。OFL 不是第三方权利的清权认证。

本项目字体及专用源码、演示页面、文档按所列 OFL 提供；第三方数据保留各自许可。`branding/ip-preview.png` 仅为作者许可随包展示的单张 IP 气质图，**不采用 OFL**，MIORNING 商标与角色权利保留。原始详细设定图不在包内。删除展示图不会影响字体安装、构建或文字 PNG 导出，详见 [图片权利说明](branding/RIGHTS.txt)。

![经作者许可的品牌气质展示图，非字形样张](branding/ip-preview.png)

[变更记录](CHANGELOG.md) · [双语发行说明](RELEASE-NOTES.md) · [隐私说明](PRIVACY.md)

Copyright (c) 2026, MIORNING (喵咛).
