TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

I Created 175 Fonts Using Rust

487 pointsby azhenley9 months ago

24 comments

networked9 months ago
Cool fonts, and an interesting post. I kind of want the top-right fake game in <a href="https:&#x2F;&#x2F;chevyray.dev&#x2F;blog&#x2F;creating-175-fonts&#x2F;old_previews.png" rel="nofollow">https:&#x2F;&#x2F;chevyray.dev&#x2F;blog&#x2F;creating-175-fonts&#x2F;old_previews.pn...</a> to be real. It has a &quot;<i>Wonder Boy in Monster World</i> on the GBA&quot; vibe I think is nice.<p>I have noticed that the license doesn&#x27;t allow you to use the TTFs in open-source software, which is something to keep in mind.<p>&gt; Licensed Content may not be distributed to third parties as standalone files or in a way that unreasonably permits the recipient to extract the Licensed Content for use separately and apart from the Work for Distribution.<p>&gt; Licensee may not distribute the Licensed Content in any library or reusable template, including but not limited to game templates, website templates intended to allow reproduction by third parties on electronic or printed products.<p>&gt; Licensee may not distribute Licensed Content in a manner meant to enable third parties to create derivative works incorporating Licensed Content.<p>To me, a non-lawyer, the last clause reads like it unambiguously forbids it.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;ChevyRay&#x2F;pixel_font_megapack_license&#x2F;blob&#x2F;cb99b037f60c5885158d68046bd61a1bc22fdc52&#x2F;LICENSE.txt">https:&#x2F;&#x2F;github.com&#x2F;ChevyRay&#x2F;pixel_font_megapack_license&#x2F;blob...</a>
评论 #41217505 未加载
评论 #41217687 未加载
评论 #41226844 未加载
Daub9 months ago
Impressive indeed. Making a complete font set can easily take as long as a year. The tasks include to go from &#x27;A&#x27; to &#x27;Z&#x27;, 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:<p>&gt; 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&#x27;t suffice.
评论 #41214641 未加载
评论 #41214063 未加载
评论 #41218860 未加载
czarit9 months ago
Very nice! One question: I was curious why you chose this subset of Scandinavian special characters.<p>There are three extended chars in Swedish (äöå) and Norwegian&#x2F;Danish (æøå), but your fonts have æ, but not ø, which means you could drop the æ and still support Swedish, or add an ø to also support Norwegian and Danish. Was this an oversight or is there some locale that has just æ and not ø? (and before anyone asks I did not confuse æ with the oe-ligature œ, which is a different glyph used in French, and which the fonts also do support)
评论 #41215214 未加载
评论 #41217018 未加载
nitinreddy889 months ago
I actually liked some of the fonts and simple styling used in the site. Luckily it&#x27;s available as another post: <a href="https:&#x2F;&#x2F;chevyray.dev&#x2F;blog&#x2F;how-this-site-is-made&#x2F;#catppuccin-color-theme" rel="nofollow">https:&#x2F;&#x2F;chevyray.dev&#x2F;blog&#x2F;how-this-site-is-made&#x2F;#catppuccin-...</a>
swiftcoder9 months ago
Fascinating, I didn&#x27;t previously realise you were converting pixel fonts to vectors when encoding them to TTF. I guess that gives some ability to seamlessly scale them for folks who load them into a competent text renderer as well (i.e. not a game engine that mostly just uses pixel fonts 1:1)
评论 #41214843 未加载
waldothedog9 months ago
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?<p>In the same vein as VVVVVV or nidhogg or canabalt as I recall
评论 #41215587 未加载
评论 #41214335 未加载
评论 #41213614 未加载
评论 #41216159 未加载
评论 #41214070 未加载
评论 #41214512 未加载
musha68k9 months ago
Fantastic!<p>Da Vinci types like the author here always remind me that there was a time when being an artist and an engineer were one and the same, with no clear distinction between the two.
评论 #41226265 未加载
Vecr9 months ago
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.
评论 #41213428 未加载
评论 #41213658 未加载
claytonwramsey9 months ago
This is really excellent work, and a great write-up. I think it would definitely be possible to speed up a lot of the algorithms with some tricks. Replacing hashmaps with bitmaps and byte-index arrays for character painting and ascii-to-variants seems like a lead, based on what I&#x27;ve read. Of course, that doesn&#x27;t really matter for this code since it&#x27;s already fast enough.
评论 #41214352 未加载
theahura9 months ago
Btw anyone who&#x27;s into fonts should check out <a href="https:&#x2F;&#x2F;tomorrow.type.today&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tomorrow.type.today&#x2F;</a> they&#x27;re a typography studio that does fantastic original and experimental fonts. One of our team is super into typography and has been building a collection of their work at <a href="https:&#x2F;&#x2F;play.soot.com&#x2F;tomorrowtypetoday" rel="nofollow">https:&#x2F;&#x2F;play.soot.com&#x2F;tomorrowtypetoday</a>
评论 #41214734 未加载
peteforde9 months ago
What an amazing accomplishment! Bravo.<p>I find typography resists my attempts to wrap my head around it, because even though I can do basic analysis like serif vs sans serif, I get a sort of brain fog when it comes to telling fonts apart or intuiting which fonts to use in different situations.<p>It&#x27;s really hard to wrap my head around the idea that one person could make 175 fonts and that they would each be meaningfully different from each other. Like, how does one not accidentally recreate the same font?
评论 #41214338 未加载
评论 #41214359 未加载
RatParadise9 months ago
Awesome read! I&#x27;ve never designed a font but often daydreamed about it, and this was a great primer to the process.<p>Question: Did you find that your automated kerning generator was always satisfactory? Or did you ever catch letter pairings that technically satisfied the criteria but that tripped your subjective kerning radar? I&#x27;m wondering if you had to hard-code kerning exceptions, or if your system even allowed for that.
评论 #41220168 未加载
patal9 months ago
Impressive work!<p>In the &quot;mixed-case kerning pairs&quot; quality testing image, I notice that the letter &quot;j&quot; sometimes reaches under the previous letter, like in &quot;Fdj&quot;. Sometimes it creates a lot of space, like in &quot;Fjo&quot;. Is there a stylistic reason for this? The Fjo spacing is the only thing that stood out to me.<p>Kudos
评论 #41214561 未加载
bravura9 months ago
Curious: Once the fonts are made, how are they marketed and sold?<p>Where do the people who use them become of aware of them and how?
评论 #41214913 未加载
jcynix9 months ago
Impressive and a nice site. Regarding font generation, let&#x27;s not forget Donald Knuth and his <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Metafont" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Metafont</a> software which generates raster fonts.
euroderf9 months ago
About kerning. Uppercase Finnish is a nightmare. Odd pairs like LJ and KY and TY . How about an option to let some letter pairs touch ?<p>It also creates a tendency to use quite light font weights for all-uppercase text, so that whitespace is not so prominent.
评论 #41216951 未加载
worik9 months ago
Nice work<p>I would like microns on the vowles, as we type a lot of Māori words....
评论 #41213934 未加载
评论 #41214345 未加载
meindnoch9 months ago
&gt;The final character set I settled on.<p>Sigh. No <i>ő</i> and <i>ű</i>.
评论 #41219182 未加载
kmacdough9 months ago
Awesome work! It&#x27;s a wonder how much hasn&#x27;t been done in a world of 8 billion people. A single skilled individual with some free time filling in a gap can be HUGE. Gets me looking for gaps.<p>8 Billion people seems like a lot, but it cuts down fast. When 1&#x2F;10 people have the freedom and, 1&#x2F;100 the resources and time, 1&#x2F;100 the training and experience, and 1&#x2F;100 have the drive, and with hundreds of domains each with hubdreds of major unfilled niches...<p>That&#x27;s 800 people split among tens of thousands of gaps<i>. It pretty quickly gets down to you, the reader, to pick up that keyboard and start tapping away!<p></i> These are obviously wild-a* numbers. Constraints may be overstated or understated &amp; they&#x27;re not fully independent. I&#x27;m missing others. The point stands: you need only to cut 8 billion by 100 a few times to get &lt;1.
zeta01349 months ago
These look absolutely delightful! A quick question: I&#x27;m working on retro consoles, and so I need fonts where each glyph is a multiple of 8px wide for easy display on tile-based backgrounds. Are the sizes (in pixels) of your font packs listed anywhere?
评论 #41218421 未加载
评论 #41220142 未加载
评论 #41214226 未加载
评论 #41213748 未加载
评论 #41213823 未加载
评论 #41213687 未加载
jezzamon9 months ago
Nice! I&#x27;m a user of your last batch of fonts, I&#x27;ll have to check these new ones out :)
bentinata9 months ago
Even though the methods is simple, the way the author visualizing it is really neat.
laserDinosaur9 months ago
somepx on itch.io also makes some really nice fonts: <a href="https:&#x2F;&#x2F;somepx.itch.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;somepx.itch.io&#x2F;</a>
评论 #41218779 未加载
Tohhou9 months ago
What&#x27;s the point in this article if pifo isn&#x27;t open source?<p>Here&#x27;s a tutorial on my software... you can&#x27;t use it!!!
评论 #41218761 未加载