canvas
rustybuzz
Our great sponsors
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.
canvas
-
Canvas vector graphics update: rich text and path boolean operation support
I wanted to share a recent large update to https://github.com/tdewolff/canvas, which is a vector graphics library written in Go to create images, PDFs, SVGs, OpenGL, etc. using vector drawing operations. Especially I wanted to show two new exciting features:
-
Client-side scripting for in-browser graphics.
It appears that there's a port of Cairo to Go which also targets webassembly. https://github.com/tdewolff/canvas
- Pixie – A full-featured 2D graphics library for Nim
-
Processing equivalent in GoLang
https://github.com/tdewolff/canvas/blob/master/examples/opengl/main.go can draw primitves but i think it would be a bit hard to do event based animation
-
tdewolff/canvas: vector graphics in Go (mayor update)
Yes! See https://github.com/tdewolff/canvas/tree/master/examples/gonum-plot for an example using gonum-plot. You should be able to plug-and-play to use the canvas library!
- Cairo in Go: Vector to SVG, PDF, EPS, Raster, HTML Canvas, etc.
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?
svgo - Go Language Library for SVG generation
fontdue - The fastest font renderer in the world, written in pure rust.
gg - Go Graphics - 2D rendering in Go with a simple API.
Speedy2D - Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API.
tiny-skia - A tiny Skia subset ported to Rust
swash - Font introspection, complex text shaping and glyph rendering.
generative-art-in-go - A companion source code repository to the book "Generative Art in Go"
allsorts - Font parser, shaping engine, and subsetter implemented in Rust
go-cairo - Go binding for the cairo graphics library
ab-glyph - Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
bgracontrols - 🆗 BGRA Controls is a set of graphical UI elements that you can use with Lazarus LCL applications.
raqote - Rust 2D graphics library