I Created 175 Fonts Using Rust
chevyray.dev
I Created 175 Fonts Using Rust
1–10 of 117 posts
Re: I Created 175 Fonts Using Rust
#2Re: I Created 175 Fonts Using Rust
#3Re: I Created 175 Fonts Using Rust
#4Interesting how easy it is to make an operation like this run on multiple cores in Rust. Inserting a single call into a chain of functions can be enough.
Amdahl’s Law still gets a vote, but at least your app won’t blow up in your face.
Re: I Created 175 Fonts Using Rust
#5Re: I Created 175 Fonts Using Rust
#6In the same vein as VVVVVV or nidhogg or canabalt as I recall
Re: I Created 175 Fonts Using Rust
#7Re: I Created 175 Fonts Using Rust
#8> My new fonts were going to support 176 characters, meaning I might have to enter as many as 176² = 37,976 kerning pairs... yeah not going to happen. So this time, since I was (spoiler alert) writing my own tool to generate the fonts, I decided to semi-automate this process to take care of a huge majority of the kerning, and do manual entry when algorithm didn't suffice.
Re: I Created 175 Fonts Using Rust
#9Interesting how easy it is to make an operation like this run on multiple cores in Rust. Inserting a single call into a chain of functions can be enough.
Rust is built to be memory- and thread-safe by default. Assuming you follow the prescribed rules of the language, multithreading is “free”. Amdahl’s Law still gets a vote, but at least your app won’t blow up in your face.
I'm wondering if you're referring to the async await addition from a few years back, to use of Tokio's crate(s), or something else.
Re: I Created 175 Fonts Using Rust
#10Earlier quoted context omitted.
Rust is built to be memory- and thread-safe by default. Assuming you follow the prescribed rules of the language, multithreading is “free”. Amdahl’s Law still gets a vote, but at least your app won’t blow up in your face.
> Assuming you follow the prescribed rules of the language, multithreading is “free”. I'm wondering if you're referring to the async await addition from a few years back, to use of Tokio's crate(s), or something else.
In this case they are not using async but Rayon which provides some easy primitives for splitting tasks into smaller parts that can run in parallel. In this case the par_iter and par_extend calls.