# 文件布局：网页字体包、许可原文和原件

> 适合谁看：要用程序读取文风公开文件的开发者。

所有公开文件都在 `https://cn.windfonts.com/fonts-packages/{目录名}/` 下面，目录名一律小写。

## 一款字的目录

```
{目录名}/
├── {字重}/
│   ├── full/result.css        完整子集（每款字都有）
│   ├── zh/result.css          中文子集（有的字没有）
│   ├── zh-common/result.css   常用中文子集（有的字没有）
│   └── en/result.css          西文子集（有的字没有）
├── license/
│   ├── index.json             许可原文清单
│   └── original.txt           许可原文（有才放）
└── source/
    ├── index.json             原件清单
    └── …                      字体原件（许可允许再分发、并由文风托管的才有）
```

目录本身不能列出文件，请按清单里的文件名去取。

## 网页字体包

`result.css` 里是一组 `@font-face`，每条用 `unicode-range` 指向同目录下的一个 woff2 分片。用法见[《网页字体地址规则》](https://docs.cocobook.com/link/648)。

## license/index.json

```json
{
  "norm": "Xwwk",
  "kind": "license",
  "updated": "2026-10-04T21:07:15+08:00",
  "items": [
    {
      "role": "original",
      "primary": true,
      "file": "original.txt",
      "media": "text/plain; charset=utf-8",
      "bytes": 5171,
      "sha256": "…",
      "sourceUrl": "https://raw.githubusercontent.com/lxgw/LxgwWenKai/main/OFL.txt",
      "sourceName": "OFL.txt"
    }
  ]
}
```

| 字段 | 说明 |
|---|---|
| `items[].file` | 文件名，拼在 `license/` 后面就是地址 |
| `items[].primary` | 是否主文件 |
| `items[].sha256` | 文件的 SHA-256 |
| `items[].sourceUrl` | 这份原文从哪里取的 |

## source/index.json

```json
{
  "norm": "xwwk",
  "kind": "source",
  "items": [
    {
      "file": "LXGWWenKai-Regular.ttf",
      "url": "https://cn.windfonts.com/fonts-packages/xwwk/source/LXGWWenKai-Regular.ttf",
      "bytes": 25575676,
      "sha256": "…",
      "status": "本站下载"
    }
  ]
}
```

`status` 的用词和 wenfeng.org 的下载状态一致，见[《下载原件和切片：什么能下、怎么用》](https://docs.cocobook.com/link/645)。

## 注意

- 清单里的 `norm` 大小写可能和网址不一样，拼地址时一律用小写目录名。
- 任何一个文件都可能 404（没有这个子集、还没归档原文、不允许再分发），程序要处理。
- 下载原件后用 `sha256` 核对，见[《下载字体怎么避开山寨包和钓鱼站》](https://docs.cocobook.com/link/621)。
- 批量下载前请先确认许可允许再分发；只想用网页字体就不用下原件。