I built an embeddable Unicode library with MISRA C conformance
Hello, everyone. I built Unicorn: an embeddable MISRA C:2012 implementation of essential Unicode Algorithms. Unicorn is designed to be fully customizable: you can select which Unicode algorithms and character properties are included or excluded from compilation. You can also exclude Unicode character blocks wholesale for scripts your application does not support. It's perfect for resource constrained devices like microcontrollers and IoT devices. About me: I quit my Big Corp job a few years back to pursue my passion for software development and this is one of my first commercial releases.
I built an embeddable Unicode library with MISRA C conformance launched on December 15, 2024 with 117 votes, #366 of 5,365 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 1 year on.
In plain words
Unicorn is an embeddable Unicode library written in MISRA C:2012 for resource-constrained devices like microcontrollers and IoT applications. Developers can customize which Unicode algorithms, character properties, and script blocks to include during compilation, reducing memory footprint. The library implements essential Unicode algorithms while maintaining strict safety and reliability standards required for embedded systems.
written from the facts on this page · September 2026
From the sources
Unicorn is an embeddable implementation of common Unicode® algorithms. It is highly customizable and MISRA C:2012 compliant.
Unicorn is fully customizable. You can choose which Unicode algorithms and character properties to include or exclude. Learn more here . Unicorn does not require an FPU or 64-bit integers. It is written in C99 and only requires a few features from libc which are listed in the following table. Unicorn honors all Mandatory, most Required, and most Advisory rules defined by MISRA C:2012. Deviations are documented here . You are encouraged to audit Unicorn and verify its level of conformance is acceptable. All operations in Unicorn are atomic. That means either an operation occurs or nothing occurs at all. This guarantees errors, such as out-of-memory errors, never corrupt internal state. This…from railgunlabs.com
Does a similar job
all alternatives →
Percy – A Rust and WebAssembly isomorphic virtual DOM implementation2018 · github.com · ▲234Build frontend browser apps with Rust + WebAssembly. Supports server side rendering. - chinedufn/percy
Mojibake – A low-level Unicode library written in CJul 2026 · mojibake.zaerl.com · ▲78I'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…
Prometeo – a Python-to-C transpiler for high-performance computing2021 · github.com · ▲166An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing - zanellia/prometeo
- MPMy platforming game written in C 892023 · zamfofex.neocities.org · ▲127
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
Fe – A tiny, embeddable language implemented in ANSI C2020 · github.com · ▲143A tiny, embeddable language implemented in ANSI C. Contribute to rxi/fe development by creating an account on GitHub.
More work this month
the category →
Endless lofi beats composed live in your browser, over pixel-art nights in Paris, Tokyo, New York, Hong Kong, Sydney, San Francisco and more. Free, no sign-up.
Work · 24d ago · loficities.com
Smooth Recorder▲257Mac screen recordings that look edited when you hit stop
Work · 18d ago · smoothrecorder.com


Work · 12d ago · readrare.com
Source: Show HN post ↗