Release Unicode Tools 0.1.0

This commit is contained in:
2026-09-01 02:38:25 +02:00
commit dca0cb0e79
75 changed files with 23916 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# Architecture
Unicode Tools is a relocatable static React application. Pure text operations
live in `src/unicode/model.ts`, while catalog loading, search, character detail,
Unihan lookup, and confusable analysis run through a dedicated module worker.
Reusable encoding, scalar, grapheme, normalization and download primitives come
from `@add-ideas/toolbox-helpers`.
The build contains compressed-by-HTTP JSON shards rather than a runtime
database. A small manifest and dictionaries load first. The first catalog query
loads assigned character shards, emoji and named sequences once in the worker;
the roughly 5 MiB Unihan selection is fetched only after an explicit request.
Results and displayed mapping lists are capped. The UI retains no database or
persistent search history.
`scripts/generate-unicode-data.mjs` converts checksum-pinned Unicode 17.0
archives and text files into deterministic checked-in source data. It derives
names, aliases, general categories, scripts, blocks, ages, bidi and case
properties, emoji, named sequences, selected Unihan fields, and UTS #39
confusable mappings. Private-use and surrogate ranges are not expanded into
synthetic catalog records.
Rendering, normalization and grapheme segmentation use the current browser and
operating-system Unicode implementation, which can differ from the pinned
catalog version. The interface discloses that boundary.