# 数据说明

本目录的韵书/词谱数据由 `tools/prepare_data.py` 生成，源仓库为：

- <https://github.com/charlesix59/chinese_word_rhyme>
- 固定提交：`ff0e9c13fb037c43e0eaa5dc929c0fe4fa2ffb18`
- 许可证：MIT，Copyright (c) 2023 Charles 闵
- 上游原始文件：`Pingshui_Rhyme.json`、`Cilin_Rhyme.json`、`Ci_Tunes.json`

上游 19 MB 的 `Ci_Tunes.json` 不随仓库分发；脚本会下载到 `.cache/`（已在 `.gitignore` 中忽略），只提交精简后的表。

## 文件

| 文件 | 内容 |
| --- | --- |
| `pingshui.tsv` | `韵部<TAB>字串`，106 行；平水韵 |
| `cilin.tsv` | `部<TAB>声调组<TAB>字串`，33 行；词林正韵 |
| `citunes.tsv` | `词牌<TAB>说明<TAB>例词作者<TAB>平仄串<TAB>韵脚下标`，78 行 |
| `manifest.json` | 源提交、文件哈希、计数、补录记录 |

`data_generated.mbt`（仓库根目录）是同一批表的 MoonBit 常量，供库直接编译进去，避免运行时读文件。

## 计数

- 平水韵：106 部，10,386 条字-韵记录，8,239 个不同汉字。
- 词林正韵：19 部，33 个声调分组，5,037 个不同汉字。
- 词谱：27 个词牌，78 种格式。

## 补录

上游表有少量缺口。所有补录都写入 `manifest.json` 的 `supplement` 字段，并在脚本中附原因：

| 位置 | 字 | 原因 |
| --- | --- | --- |
| 上声三讲 | 讲、港、棒、蚌、项 | 上游平水韵表整部缺失“上声三讲” |
| 上平八齐 | 啼 | 上游表缺该常用字 |
| 下平十二侵 | 沉 | 上游表缺该常用字 |
| 下平一先 | 先 | 该韵部漏收自己的韵目字 |
| 词林正韵 第十三部/平声 | 沉 | 上游表只有“沈”，无“沉” |

补录依据为通行平水韵/词林正韵表的常用字归属；如发现错误，欢迎提 issue 并附出处。除上述字外，未对上游数据做增删。

## 重新生成

```bash
python tools/prepare_data.py
```

脚本会校验源文件、去重、生成 TSV 与 MoonBit 常量、写入哈希和计数。若上游内容变化，`manifest.json` 的哈希会变化，便于审计。需要网络；生成结果已提交，日常构建不需要联网。

## 许可与署名

数据以 MIT 许可使用，完整署名见仓库根目录 `NOTICE`。古诗词原文（例词、测试用诗）均为公有领域。
