How to render text with rust?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/rust

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • learn-wgpu

    Guide for using gfx-rs's wgpu library.

    For the first part, there's too much surface area to cover but it sounds like one good starting point would be to learn a bit more about how low(ish) level graphics programming works in the context of rust. I think learning-wgpu will get you to the "I have a window and I can draw things to it, and I actually understand how my data turns into pixels" stage, which is super cool and performant if you've never dived lower than ui frameworks before.

  • neovide

    No Nonsense Neovim Client in Rust

    Maybe you can look at Neovide's code?

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • ab-glyph

    Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs

    ab_glyph is at the same level to DirectWrite/uniscribe where you hand it a character, and it hands you back a rasterized glyph - it's on you on how to draw it.

  • windows-rs

    Rust for Windows

    windows-rs and x11-rs provide access on windows and x11 Linux desktops respectively to create a window and handle input.

  • x11-rs

    Rust bindings for X11 libraries

    windows-rs and x11-rs provide access on windows and x11 Linux desktops respectively to create a window and handle input.

  • glium

    Safe OpenGL wrapper for the Rust language.

    Glium and ash provide low level access to different common graphics api's. I'm sure there's a good directx-11/12 bindings as well but I'm unfamiliar with what people use.

  • ash

    Vulkan bindings for Rust

    Glium and ash provide low level access to different common graphics api's. I'm sure there's a good directx-11/12 bindings as well but I'm unfamiliar with what people use.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • fltk-rs

    Rust bindings for the FLTK GUI library.

    try https://github.com/fltk-rs/fltk-rs, support everything you need. highly composable, fits with GL based randering and WGPU as well.

  • flamegraph

    Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3 (by flamegraph-rs)

    Besides just feeling out latency, flamegraph is a great tool for simple profiling, if you weren't already familiar. They have a great overview in the readme of how to use it: https://github.com/flamegraph-rs/flamegraph

  • egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

    For documentation/guidance on what implementing a text editor might look like. Egui recently release syntax highlighting support. You could either start using egui and see how it performs for you, or just use its source code as a reference. It and other UI libraries get very abstracted very quickly though. https://github.com/emilk/egui

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts