Using custom fonts on Android is not the most straightforward task. The Android layout XMLs does not offer any way to add custom fonts by default. So, we need to either create custom TextViews or set the font in code. Both methods have significant drawbacks. Subclassing is restrictive, and if you already have a reasonable project size, then subclassing becomes prohibitive. Setting the font from code is error prone and slow; editing the font means Android needs to remeasure the view, at worst this may mean that Android will remeasure every other view on the screen. It's a bag sadness, this is unless you use Calligraphy.