8 things to consider when implementing scalable fonts

If you want to successfully implement scalable text on your product, the first step is to consider all of the “big picture” issues that come into play. Here are some of the key factors you’ll want to consider and the corresponding characteristics to look for in a viable scalable text solution.

  1. 1.

    CPU bandwidth and run-time memory constraints

    Most low-cost and small-footprint devices are constrained by limited run-time memory and lower CPU bandwidth. For example, automotive clusters and wearable devices are typically built around very lean processors, such as an ARM Cortex-M3 running at 50-120 MHz with limited run-time memory.

  2. 2.

    Small run-time code size

    To successfully serve this small-footprint and low end market, the entire font engine must have very efficient code, typically with an ARM code size of less than 100 Kbytes and an ultra-compact run-time RAM footprint as low as 20 Kbytes.

  3. 3.

    Efficient multi-font and multi-language rendering flexibility

    Even though low-cost devices have limited resources, the display requirements are still pretty sophisticated. If the product is to ship globally, it has to include multi-lingual capabilities. Supporting only Latin languages is no longer sufficient and today’s product families typically need to include 4 to 6 sizes of every font in at least two styles.

  4. 4.

    Font shaping and grayscale rendering

    Smooth and accurate font shaping is critical for accurately displaying global languages. Your font software needs to be able to integrate into existing text layout systems, provide dynamic Unicode® shaping of complex scripts like as Arabic and Thai, and handle the processing needed for bidirectional scripts, such as Arabic and Hebrew, including text reordering. Support for both black-and-white and grayscale is also becoming important.

  5. 5.

    Compact and efficient font files

    Since the lower-end screens often require each font to be accurately rendered in as few as 12 pixels (as compared to 28 pixels or more for higher end devices). Modern text rendering software needs to meet stringent size requirements for all applications and devices, including support for East Asian languages with thousands of characters. Font engines should dynamically scale TrueType outlines to yield high quality single-bit or 8-bit raster characters at any text size for any device.

  6. 6.

    Variety of displays and resolution

    When supporting a family of products from low to high end, designers must take into account the unique characteristics of every display. For example, a product family could span display sizes from 1.5 to 13 inches, with resolutions ranging from 70 to 300 dpi, with different media (LCD, OLED, etc.), anti-glare overlays, ambient light variations and other factors that make it impractical to use bitmap fonts. Rendering engines must be able to address individual pixels on each screen in order to properly scale and shape fonts for legibility, while also living within the tight processing constraints.

  7. 7.

    Optimizing for quick-glance readability

    Unlike e-reader screens that are tuned for comfortable immersive reading, screens on car dashes, wearables, medical and other consumer devices need displays that are optimized for “quick-glance recognition”. Even low-to-mid level devices must be able to meet this requirement and the scalable text software should include the ability to shape and scale text for immediate recognition and fast comprehension.

  8. 8.

    Standards-based development environment

    As previously pointed out, one of the key advantages of scalable text over bitmaps is the ability to develop the user interface on standard platforms and then port to the target hardware. Scalable font rendering systems should include industry standard TrueType® fonts with standards-based ANSI C code packaging of pre-compiled libraries for broad, flexible integration.