Back to News
Advertisement
pprogram about 3 hours ago 6 commentsRead Article on mojibake.zaerl.com

FR version is available. Content is displayed in original English for accuracy.

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.

Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 94 words in the discussion.

Trending Topics

#mojibake#lightweight#unicode#support#compare#aware#bit#more#seems#marginal

Discussion (6 Comments)Read Original on HackerNews

lifthrasiirabout 1 hour ago
How does it compare with utf8proc [1]? I'm aware that Mojibake does a bit more than utf8proc (e.g. bi-di) but that seems marginal to me.

[1] https://juliastrings.github.io/utf8proc/

CharlesW36 minutes ago
Not to bikeshed, but isn't the word "mojibake" synonymous with "when character encoding breaks"?
digg99about 2 hours ago
Love the amalgamation approach—the C/C++ ecosystem desperately needs cleaner, lightweight Unicode support without pulling in massive dependencies... thanks for sharing
tjwebbnorfolkabout 1 hour ago
what's performance like compared to python ftfy module?
avadodinabout 1 hour ago
I have come to the conclusion that the only Unicode support needed in C is supporting pointers to char and arrays but lightweight C libraries are always welcome.
adrianN41 minutes ago
I guess you never have to deal with text if you think that’s enough? What kind of software do you write in C?