UAX #9
Bidirectional layout
Visual ordering and cursor mapping for mixed LTR and RTL runs.
Open source
One implementation of the Unicode text algorithms your users already depend on: bidirectional layout, line breaking, grapheme boundaries, normalization, display width, and safe truncation. Ship the same behavior in Rust, Python, JavaScript, C, Go, and in the editor or shell through first-party tools.
The short domain uniworld.world is routed to this page so PyPI, README files, and talks can point at a stable human URL. What you see here is the map of the ecosystem: where install commands live, where long-form documentation is maintained, and how the pieces fit together. Deep prose (architecture, test counts, script tables) stays on the registries and in the GitHub tree so it stays versioned next to the code.
Together these links satisfy the full documentation story: install, architecture, scripts covered, build instructions, and the Unicode stress showcase.
The published
Python package page carries the
long project description: problem statement, feature list, quick start, build and
test, scripts covered, and repository layout pointers. Start here when you install
with pip.
github.com/uniworld
hosts the root README, docs/, issue tracker, and CI. Clone here for
C FFI, Go wrappers, WASM builds, and extension sources.
Each registry mirrors README material for that ecosystem: crates.io, npm, the VS Code Marketplace, and the PowerShell Gallery.
The stress document rendered through the pipeline is published as UniWorld_Unicode_Showcase_TEST_OUTPUT.md in the repo. It demonstrates breadth across scripts and emoji sequences.
Release announcements and related writing use the mailing list on the A Guy With AI home page.
Text bugs are not edge cases. Emoji split in half, combining marks orphaned by backspace, look-alike strings that fail equality checks, broken RTL mixed with numbers, Thai and Khmer without dictionary breaks, and terminals that miscount CJK columns all come from the same gap: incomplete Unicode pipeline support.
The Consortium publishes the algorithms; UniWorld implements them in one audited core and ships the same rules to every binding so your stack agrees on boundaries and widths end to end.
Detailed tables and conformance notes appear in the PyPI readme and GitHub docs; this is the fast scan.
UAX #9
Visual ordering and cursor mapping for mixed LTR and RTL runs.
UAX #14
Rule-based breaks plus dictionary support where scripts need it.
UAX #29
Grapheme, word, and sentence boundaries for editing and truncation.
UAX #15
NFC, NFD, NFKC, NFKD for canonical and compatibility forms.
East Asian width
Terminal-safe column counts, including wide emoji and CJK.
Tools
VS Code extension and PowerShell module expose inspect and transform commands.
Commands below are the usual entry points; see each link for version pins and platform notes.
cargo add uniworld
pip install uniworld
npm install uniworld
Build from GitHub: C header via cbindgen, Go under bindings/go/.
Repository
ext install aguywithai.uniworld
Install-Module UniWorld
UniWorld was conceived and executed on an aggressive timeline using HAIMU, the development methodology behind A Guy With AI. For a narrative version of the build story, follow the links from the GitHub readme and podcast episodes linked on aguywithai.world.
More open-source projects: Open source hub GrandBeta: grandbeta.world