genny
rustybuzz
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
genny
-
Generate Python extensions using Nim language
Also of interest for people might be Genny. It’s a Nim library to automate creating language bindings for other languages. Currently it supports Python, Node, and C.
https://github.com/treeform/genny
-
Nim -- a modern "glue" language like Python
c2nim is a tool to translate ANSI C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand after the translation process. If you are tired of wrapping C library, you can try futhark which supports "simply import C header files directly into Nim". Similar to futhark, cinterop allows one to interop with C/C++ code without having to create wrappers. nimLUA is a glue code generator to bind Nim and Lua together using Nim's powerful macro. nimpy and nimporter is a bridge between Nim and Python. rnim is a bridge between R and Nim. nimjl is a bridge between Nim and Julia! Last but not least, genny generates a shared library and bindings for many languages such as Python, Node.js, C.
- Genny – Generate Nim library bindings for many languages
-
Pixie – A full-featured 2D graphics library for Nim
For those using Python, we just got our Python bindings for Pixie up onto pip. Repo here https://github.com/treeform/pixie-python
It's extremely fresh but our tests are working so consider giving it a try.
For those interested in Nim's meta-programming, we're generating those Python bindings for Pixie from our Nim code using https://github.com/treeform/genny here https://github.com/treeform/pixie/blob/master/bindings/bindi...
- Transmission torrent client ported to C++
rustybuzz
-
Cosmic: The Road to Alpha
Bit of a side note, but COSMIC depends on the rustybuzz text shaper which is deprecated: https://github.com/RazrFalcon/rustybuzz/issues/74. There was some work underway to bring it up to sync with the latest harfbuzz and then handing over ownership to the harfbuzz team, but this seems to have fizzled out.
- Cosmic Text: Pure Rust multi-line text handling
-
Is coding in Rust as bad as in C++? A practical comparison
I understand that this may sound harsh, but I also ported two (far bigger) codebases from C++ to Rust: rustybuzz and tiny-skia. Both of which are production -ready and not just prototypes. And mine not only do not use pointers, but also barely use unsafe in general.
-
Looking for good sources on incremental rewrites to Rust of portions of a C++ codebase. Is this a feasible approach?
You could also take a look at the history of this repository: https://github.com/RazrFalcon/rustybuzz
-
Is There An Algorithm To How Computer Cursors Highlight Text?
harfbuzz is a popular library for text rendering. You may also want to check out rustybuzz, a small subset of harfbuzz ported to Rust with pretty great documentation.
- Pixie – A full-featured 2D graphics library for Nim
-
Question: Expected webrender impact, or influence, on emacs redisplay
Use allsorts or rustbuzz for text shaping
- Text Rendering w/ HarfBuzz, FreeType and OpenGL
-
Speedy2D: Easy-to-use library for graphics, text, and input events
Yeah Allsorts looks interesting, and rustybuzz is another option. I haven’t tried either yet, though.
What are some alternatives?
rnim - A bridge between R and Nim
fontdue - The fastest font renderer in the world, written in pure rust.
c2nim - c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.
Speedy2D - Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API.
ClangSharp - Clang bindings for .NET written in C#
swash - Font introspection, complex text shaping and glyph rendering.
nimjl - A bridge between Nim-lang and Julia !
allsorts - Font parser, shaping engine, and subsetter implemented in Rust
c2rust - Migrate C code to Rust
ab-glyph - Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
nimLUA - glue code generator to bind Nim and Lua together using Nim's powerful macro
raqote - Rust 2D graphics library