Back to browse
Mojibake – a low-level Unicode library written in C

Mojibake – a low-level Unicode library written in C

by program·Jul 16, 2026·20 points·0 comments

AI Analysis

●●SolidNiche GemShip It

Two-file amalgamation beats ICU's massive dependency tree for C projects.

Strengths
  • Amalgamated single-header design makes integration trivial for C projects.
  • Covers niche algorithms like confusable detection and Hangul composition.
  • WASM playground allows immediate API testing without local compilation.
Weaknesses
  • C ecosystem already has robust options like ICU and utf8proc.
  • Lacks the massive community testing and edge-case coverage of ICU.
Target Audience

C/C++ systems programmers, engine developers

Similar To

ICU · utf8proc · unilib

Post Description

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.

Similar Projects