Live data from Hacker News

I Created 175 Fonts Using Rust

chevyray.dev

1–10 of 117 posts

Re: I Created 175 Fonts Using Rust

#4
post #3

Interesting 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.

Re: I Created 175 Fonts Using Rust

#6
This is neat! And cool to hear this made a financial difference for them. Gah, I remember the name Chevy Ray from indie games, but I cannot put my finger on what this person made… would have been like 2010 to 2012?

In the same vein as VVVVVV or nidhogg or canabalt as I recall

Re: I Created 175 Fonts Using Rust

#8
Impressive indeed. Making a complete font set can easily take as long as a year. The tasks include to go from 'A' to 'Z', upper and lower case, plus all the glyphs (brackets, ampersand, exclamation marks etc). Optionally the variations (bold, italic etc) without which a font is of limited use. The thing that separates the men from the boys is the kerning (spacing between the characters) which can absorb as much obsessive compulsion as you can throw at it. From TFA:

> 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

#9
post #3

Interesting 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.

> 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.

Re: I Created 175 Fonts Using Rust

#10

Earlier 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.

I think they are referring to this section: https://chevyray.dev/blog/creating-175-fonts/#automatic-kern...

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.

Post reply on HN