# Unicode table data sources

`assets/js/unicode-symbols-data-17.js` and
`assets/js/unicode-emoji-data-17.js` are compact, browser-ready derivatives
generated by `scripts/update-unicode-tables.mjs`. They are deliberately kept
separate so each tool downloads only the data it needs.

The generator is pinned to these upstream releases:

- Unicode Character Database 17.0.0:
  - <https://www.unicode.org/Public/17.0.0/ucd/UnicodeData.txt>
  - <https://www.unicode.org/Public/17.0.0/ucd/Blocks.txt>
- Unicode Emoji 17.0 test data:
  - <https://www.unicode.org/Public/17.0.0/emoji/emoji-test.txt>
- CLDR JSON 48.2.0 annotations and derived annotations:
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-full/annotations/en/annotations.json>
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-full/annotations/zh/annotations.json>
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-full/annotations/zh-Hant/annotations.json>
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-derived-full/annotationsDerived/en/annotations.json>
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-derived-full/annotationsDerived/zh/annotations.json>
  - <https://raw.githubusercontent.com/unicode-org/cldr-json/48.2.0/cldr-json/cldr-annotations-derived-full/annotationsDerived/zh-Hant/annotations.json>

The generated manifest records the exact source URLs and SHA-256 hashes used
for the committed data. The generator also pins those hashes in source code:
an upstream URL or version tag being rewritten fails closed during refresh
until the version and its reviewed hash are intentionally updated. The
generator never accesses the network unless it is run with `--refresh`:

```sh
node scripts/update-unicode-tables.mjs --check
node scripts/update-unicode-tables.mjs --refresh
```

Unicode data and CLDR JSON are distributed under the Unicode License V3. Its
full text is retained in [LICENSE.txt](LICENSE.txt).
