Nice, I've subscribed to the RSS feed. A little weird to see such old software versions being used in an article with 'modern' in its title, but I suppose you have to pick a point that's 'modern enough' to have something the majority of people can follow along with when they're all running old software too.<p>I wish it covered error handling a bit more than just 'exit(EXIT_FAILURE)'. FreeType must have some sort of error code or error message function.<p>But that's all just minor nitpicking. I like the simple and direct walkthrough of the FreeType API (and promising to include friends from the ecosystem in the future). I hope the blog series will continue!
It seems that with high resolution displays, font rendering techniques are becoming less important. I remember spending days tweaking font rendering. Now with a 300 dpi display, everything looks great.
What makes this approach "modern"? What is this approach the alternative to?<p>As someone broadly unfamiliar with text rendering it's not clear to me. An introduction to these points would be very helpful
I recently needed that, too: <a href="https://github.com/Const-me/nanovg/" rel="nofollow">https://github.com/Const-me/nanovg/</a><p>Also using FreeType, but unlike that article rendering on GPU, with ClearType.<p>No advanced typography features are supported, though.
If you are following along with gcc on Linux and continuing to get linker errors even after adding -lfreetype, try passing it as the very last argument, e.g.<p><pre><code> gcc `pkg-config --cflags freetype2` -Wall -Werror -o main main.c -lfreetype</code></pre>
While we have almost photo realistic live 3d, some text based app's are very laggy. To their defence, even though it's probably not the reason for the lag, rendering fonts are very slow and complicated.
Small nitpick: Freetype works on Windows too. So the same code can be used to render fonts there. Though it is perhaps easier to use the native DirectWrite api.