Investigating why Steam started picking a random font
Out of the blue my Steam started picking a random font I had in my user fonts dir: Virgil , the Excalidraw font.
Visit blog.pkh.me → RSS feedOn Hacker News Jun 2012 – Dec 2025
Software Engineering 8Games & Graphics 7Math & Algorithms 5Tools & Productivity 1Systems & Performance 1Open Source 1
Out of the blue my Steam started picking a random font I had in my user fonts dir: Virgil , the Excalidraw font.
About two years ago, I tried to improve the support of the GIF encoding in FFmpeg to make it at least decent. This notably led to the addition of the transparency mechanism in the GIF encoder. While this is not always optimal depending on your source, it is in the most common cases. Still, this was merely an attempt…
In the past two months or so, I spent some time making tiny GLSL demos. I wrote an article about the first one, Red Alp . There, I went into details about the whole process, so I recommend to check it out first if you're not familiar with the field.
Bézier curves are a core building block of text and 2D shapes rendering. There are several approaches to rendering them, but one especially challenging problem, both mathematically and technically, is computing the distance to a Bézier curve. For quadratic curves (one control point), this is fairly accessible, but for…
Happy with my recent breakthrough in understanding C integer divisions after weeks of struggle, I was minding my own business having fun writing integer arithmetic code. Life was good, when suddenly… zsh: segmentation fault (core dumped) .
One year and a half ago, an important part of FFmpeg developers decided to change the way the project was managed. This led to some kind of takeover , mainly to get rid of the old maintainer dictatorship, but also to change development methods, redefine objectives, etc. Then, for various reasons I will quickly…
You've most likely heard about gradient noise through the name Perlin noise , which refers to one particular implementation with various CPU optimizations. Because it's an incredible tool for creative work, it's used virtually everywhere: visual effects, video games, procedural mathematical art, etc. While getting it…
As I'm exploring the fantastic world of indie game development lately, I end up watching a large number of video tutorials on the subject. Even though the quality of the content is pretty variable, I'm very grateful to the creators for it. That being said, I couldn't help noticing this particular bit times and times…
The HQX filters , namely hq2x, hq3x and hq4x, are well-known pixel art scalers. They are mainly used by old console (such as NES) emulators to provide a smooth rendering of the games. It was developed around 2003 by Maxim Stepin.
Doing anti-aliasing on SDF is not as straightforward as it seems. Most of the time, we see people use a smoothstep with hardcoded constants, sometimes with screen space information, sometimes cryptic or convoluted formulas. Even if SDFs have the perfect mathematical properties needed for a clean anti-aliasing, the…
The number of characters was 464 characters at first, but thanks to the community it got reduced further, and the article updated accordingly.
Graphists, animators, game programmers, font designers, and other graphics professionals and enthusiasts are often working with Bézier curves. They're popular, extensively documented, and used pretty much everywhere. That being said, I find them being explained almost exclusively in 2 or 3 dimensions, which can be a…