TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: I built an embeddable Unicode library with MISRA C conformance

117 pointsby hgs35 months ago
Hello, everyone. I built Unicorn: an embeddable MISRA C:2012 implementation of essential Unicode Algorithms.<p>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&#x27;s perfect for resource constrained devices like microcontrollers and IoT devices.<p>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.

10 comments

Someone5 months ago
On <a href="https:&#x2F;&#x2F;railgunlabs.com&#x2F;unicorn&#x2F;manual&#x2F;misra-compliance&#x2F;" rel="nofollow">https:&#x2F;&#x2F;railgunlabs.com&#x2F;unicorn&#x2F;manual&#x2F;misra-compliance&#x2F;</a>, I think you will want to fix a typo in<p><pre><code> 1.2 Required Compliant (verified by compiling with Clang&#x27;s -pdentic flag) ^^^^^^^^ </code></pre> Or am I too pedantic?
评论 #42424827 未加载
评论 #42425576 未加载
chris_wot5 months ago
I don’t get the whole MISRA requirement that functions should only have one exit point. Honestly, nobody has been able to explain why this is important, other than it’s a historical anomaly inherited from FORTRAN. (Which was actually for a good reason)
评论 #42424882 未加载
评论 #42424689 未加载
评论 #42429627 未加载
评论 #42425367 未加载
评论 #42425344 未加载
评论 #42430146 未加载
评论 #42424450 未加载
评论 #42424596 未加载
rubicks5 months ago
This is not a comment about open&#x2F;closed-source software and&#x2F;or licensing models.<p>Projects like this never fail to impress me vis-a-vis source obfuscation. The &#x27;generate.pyz&#x27; is an interesting twist on the usual practice.
评论 #42424582 未加载
__turbobrew__5 months ago
There is not much to show if I can’t read the source code.
评论 #42427800 未加载
kiritanpo5 months ago
This looks interesting. Most embedded project I know use ICU&#x2F;libicu for their unicode needs. As a potential customer I would like to know how does it compare against ICU for performance and code size. Why should I switch?
评论 #42424638 未加载
garganzol5 months ago
My comment is not directly related to the particular project which is impressive, but more to its presentation. If you go to the author&#x27;s website, you will find neat to-the-point manuals and other useful information. This is what I call the real Web 3.0. Simple and to the point. Also the main company page is humorous in a good way, about the mad scientist etc.
评论 #42427726 未加载
biosboiii5 months ago
Since MISRA is targetted at Automotive, as a software dev in the automotive space I would suggest adding the note that this is able to run on POSIX compliant OSes like QNX :)<p>If you would like to chat, hit me up.
tocariimaa5 months ago
It uses a privative license if you&#x27;re wondering.
rurban5 months ago
This is commercial only. Free and small is my safeclib, which does about half of it. ICU is not usable on small devices, and also pretty slow. It&#x27;s much faster to use precomputed tables per algorithm, such as here or in safeclib. libunistring is also extremely slow. This was tried for grep and failed.
评论 #43309260 未加载
评论 #42425521 未加载
评论 #42426890 未加载
sushidev5 months ago
Nice!
评论 #42424257 未加载
评论 #42424300 未加载
评论 #42424270 未加载