Speaker Deck

Hinting Around: Android text demystified

by Sebastiano Poggi

Published November 11, 2015 in Programming

What is text? The answer of those who know, and like 90s music, is most likely "baby don't hurt me, don't hurt me, no more". It is often said that text is the most difficult part of a graphics toolkit, and that is for good reasons. In this talk we’re going to give you the tools you need to understand text, and bend this mysterious creature to your will.

From the typography theory behind the fonts system, to the intricacies of supporting Unicode bidirectional text runs, to the typesetting itself, that would be enough to drive someone crazy. And there's still nothing being drawn on screen, with that alone!

Next you'll need to have a text rendering engine that takes care of loading the fonts, laying out the glyphs, taking care of hinting too, and then actually draw them somewhere (let alone doing all this in a performant way).

Still here? Good, then prepare for a journey that will take you through the history, implementation and pain of dealing with text. Behold the amazing powers you’ll acquire, enabling you to tame all kinds of text you’ll see on Android.


Did you like the slides? You can also find the Keynote source file here, to learn all the tricks and hacks we used: https://goo.gl/7X9KWo

Note: this deck uses non-system fonts that you will need to properly see the deck, and requires Keynote 6.6 to be opened.