wgpu_glyph uses glyph-brush, which in turn uses rusttype. While the current implementation is able to layout text quite nicely, it does not perform any text shaping.
Text shaping with font fallback is a necessary feature for any serious GUI toolkit. It unlocks support to truly localize your application, supporting many different scripts.
The only available library that does a great job at shaping is HarfBuzz, which is implemented in C++. skribo seems to be a nice HarfBuzz wrapper for Rust.
This feature will probably imply rewriting wgpu_glyph entirely, as caching will be more complicated and the API will probably need to ask for more data.
wgpu_glyphusesglyph-brush, which in turn usesrusttype. While the current implementation is able to layout text quite nicely, it does not perform any text shaping.Text shaping with font fallback is a necessary feature for any serious GUI toolkit. It unlocks support to truly localize your application, supporting many different scripts.
The only available library that does a great job at shaping is HarfBuzz, which is implemented in C++.
skriboseems to be a nice HarfBuzz wrapper for Rust.This feature will probably imply rewriting
wgpu_glyphentirely, as caching will be more complicated and the API will probably need to ask for more data.