encoding_rs
fontdue
Our great sponsors
encoding_rs | fontdue | |
---|---|---|
8 | 8 | |
357 | 1,347 | |
- | - | |
6.3 | 5.6 | |
8 days ago | 14 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
encoding_rs
-
This Program is Illegally Packaged in 14 Distributions
Author of ripgrep here.
Maybe, umm, don't depend on auto-detection tools as the ultimeate source of whether something is appropriately licensed or not? encoding_rs is clearly licensed, otherwise I wouldn't have used it in ripgrep: https://github.com/hsivonen/encoding_rs
Take it up with the auto-detection tools. Or at least do your due diligence before claiming ripgrep is using "unlicensed" code.
- Learning to Parse Text Files: BOM!
-
Yore - library for decoding/encoding character sets according to OEM code pages
You might also want to include tests, https://github.com/hsivonen/encoding_rs/tree/master/src/test_data could be used as a reference.
-
Show HN: High-speed UTF-8 validation in Rust
That's not the only use of SIMD in the crate (e.g. see https://github.com/hsivonen/encoding_rs/blob/e98a2096ab09c92...), but I haven't looked into exactly where/how it's used further.
fontdue
- A Programmable Markup Language for Typesetting [pdf]
-
Does a wgpu text renderer exist for Android?
The other alternative is to go a level lower and use something like fontdue and then roll my own font rendering pipe, but that seems overkill for what seems like a simple problem.
-
Rust, Wright's Law, and the Future of Low-Latency Systems
I agree that no_std is incredible. I really want to see more crates embrace it and encapsulate their no_std logic away from their standard logic. I very often see crates that are like 95% of the way to no_std but then choose to bundle some standard only features without flagging them.
I wrote fontdue [0] (which is very incomplete spec wise) because there just wasn't another font library that was no_std at that time. It felt like the existing libraries were in an arms race for gpu caches and bundling file loading. Like if I wanted to commit to a running on a platform I'd do the sane thing and use harfbuzz or the platform APIs.
[0] https://github.com/mooman219/fontdue
- Fontdue: A fast font renderer written in Rust
- Text Rendering w/ HarfBuzz, FreeType and OpenGL
-
swash: Complex text shaping and glyph rasterization in pure Rust
Like tiny-skia? As for font-specific one there are ab-glyph and fontdue.
-
Show HN: High-speed UTF-8 validation in Rust
I work on a SIMD optimized font library [0] and have stumbled into the same situation of hand writing SIMD intrinsics. Some things are just kinda hard to make sure they get optimized correctly, and there is enough difference between the platforms where that matters when fiddling with bits. I also kinda have fun writing SIMD code like this too.
[0]: https://github.com/mooman219/fontdue/blob/master/src/platfor...
-
The `rusttype` crate is looking for a new maintainer
The other library that does a similar thing to ab_glyph/rusttype I remember hearing about is fontdue (https://github.com/mooman219/fontdue)
What are some alternatives?
serde - Serialization framework for Rust
ab-glyph - Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
rustybuzz - A complete harfbuzz's shaping algorithm port to Rust
icu4x - Solving i18n for client-side and resource-constrained environments.
tiny-skia - A tiny Skia subset ported to Rust
simdutf8 - SIMD-accelerated UTF-8 validation for Rust.
rusttype - Mirror of https://gitlab.redox-os.org/redox-os/rusttype
sqloxide - Python bindings for sqlparser-rs
swash - Font introspection, complex text shaping and glyph rendering.
plover - Open source stenotype engine
wgpu-text - 📜A simple 2D text renderer for wgpu📜 > is a wrapper over glyph-brush for easier text rendering in wgpu > inspired by similar to wgpu_glyph