Files
unicode-tools/README.md
T
zemion 424605e61f
Verify / verify (push) Canceled after 0s
Release Unicode Tools 0.2.0
2026-09-02 07:50:37 +02:00

3.0 KiB
Raw Permalink Blame History

Unicode Tools

Explore Unicode characters, scripts, emoji and text locally.

Unicode Tools is a standalone local-first application in the add·ideas Toolbox. Inputs are processed in the browser and are not uploaded.

Version 0.2.0 scope

  • Search 159,866 assigned Unicode scalar records by official name, alias, literal character, or code point, with script, block and category filters.
  • Traverse any block or hexadecimal range in a 16-column virtualized code chart with roving keyboard navigation and property cards. Only visible rows are materialized, including when the entire U+0000U+10FFFF space is open.
  • Browse and copy 3,952 fully-qualified emoji and components, inspect named sequences, open practical symbol collections, and construct bounded presentation-selector, skin-tone and ZWJ variants without claiming RGI validity or font support.
  • Inspect text as Unicode scalar values, UTF-16 positions, UTF-8 bytes, JavaScript and HTML escapes, and browser-segmented grapheme clusters with emoji/ZWJ/variation/modifier/flag/keycap/tag evidence.
  • Decode lists of hexadecimal scalar values and compare NFC, NFD, NFKC and NFKD normalization without losing sight of the original value.
  • Compute UTS #39 confusable skeletons, compare skeleton collisions, display pinned Identifier_Status/Identifier_Type evidence, and flag mixed scripts, controls, default ignorables, combining repetition and non-NFC text as review signals rather than security verdicts.
  • Inspect character properties and optionally load selected Unihan readings, definitions and radical/stroke fields for Han ideographs.
  • Download an auditable source-identity report for every pinned data input.

The catalog is generated from checksum-pinned Unicode Consortium 17.0 data. It does not scrape or redistribute descriptions, artwork, or annotations from Symbl or another symbol website. Unassigned scalars, private-use scalars, permanently reserved noncharacters and UTF-16 surrogate code units are labelled as distinct chart states; none is presented as an assigned character. Lone surrogate copy is disabled because a surrogate is not a Unicode scalar value.

The application treats every input as untrusted, applies explicit resource limits, and never interprets text as active content. The checked-in catalog can be regenerated only after each upstream file matches its recorded SHA-256. See docs/ARCHITECTURE.md and docs/PRIVACY-SECURITY.md.

Development

Requires Node.js 22 and npm 11.

npm ci
npm run data:generate # optional, requires the pinned upstream files or network
npm run check
npm run test:browser

Release

npm run release:artifact creates a deterministic release/unicode-tools-0.2.0.zip and checksum sidecar.

Licence

Application code is GPL-3.0-or-later. Unicode data and documentation are used under Unicode-3.0; runtime dependencies retain their own licences. See THIRD_PARTY_NOTICES.md and LICENSES/.