ComingUp ComingUp
Mojibake

Mojibake

Jul 17, 2026 Developer Tools
c++ library character-encoding normalization text_processing unicode

Gallery

Mojibake

About

I've written Mojibake because I don't like the other Unicode libraries for Unicode support.It consists of only two amalgamation files: mojibake.h and mojibake.c. I've added all the most important Unicode algorithms, such as normalization, case conversion, segmentation, bidirectional text, collation, confusable, and others.I regularly test it in these OSes: Linux, macOS, FreeBSD, OpenBSD, NetBSD, and Windows 11.You can find a WASM demo on that site of all the public API functions and the documentation. If you want to participate, feel free to do it. Any kind of help is welcome. Check the CONTRIBUTING.md and API.md files in the GitHub repository for instructions on how to do it.

Comments (5)

Thurman Reinger Thurman Reinger 1 week ago

mojibake literally means garbled text so thats reassuring

Dina Kris Dina Kris 1 week ago

which unicode version does it target?

Vito Towne Vito Towne 1 week ago

Naming it mojibake is wonderfully ironic.

Nina Graham Nina Graham 1 week ago

two files only? hows it handle grapheme clusters

Sherman Cormier Sherman Cormier 1 week ago

two-file amalgamation is clean, what unicode version does it target?