Often the best way to interact with a product is using a screen. Computers and mobile phones have long used screens as their primary means of communicating information to the user. As Internet of Things (IoT) products move from the early adopter phase to the mainstream, many of them will incorporate displays to ease configuration by customers, provide additional features, and reduce support costs. To render a modern user interface, scalable fonts are invaluable. They provide users with crisp, readable text at the optimal size, and product designers with the ability to imbue the product with brand character through typography.
While rendering text well is still challenging, particularly on inexpensive hardware, Monotype and Moddable are now offering technology that makes it easier to deliver high-quality scalable fonts to embedded devices without the need for time-consuming integration efforts. By joining forces, we provide designers with the flexibility to use text creatively without burdening embedded software engineers with a myriad of new text challenges including rendering, measuring, internationalization, layout, performance, caching and memory use.
Monotype provides users with an unparalleled library of distinctive fonts, and Monotype Spark™, a remarkably efficient and high-quality rendering engine for embedded devices. Moddable integrates the Monotype Spark engine into its modern Moddable SDK for building rich, animated user interfaces for low-cost embedded devices that incorporate a display. Unlike most embedded GUI solutions, the Moddable SDK uses standard JavaScript for UI development—the same language used to bring web pages to life—with all source code openly available.
The integration of Monotype Spark into the Moddable SDK provides designers of IoT products with unmatched flexibility and breadth of text rendering options. Benefits include:
These demonstration videos show the Monotype Spark engine running on an ESP32 microcontroller powered by the Moddable SDK. The display is QVGA (320 x 240) operating at 16-bits per pixel.
Logo Tween - The characters of the Moddable logo animate into place, smoothly scaling as they enter and exit.
Text Styles - The text layout capabilities of the Piu user interface framework are exercised using the Open Sans TrueType font. All glyphs are rendered on-demand on the embedded microcontroller.
Bouncing Glyphs - Four glyph outlines from the Burlingame Pro font animate in real time by independently modifying their horizontal and vertical scales.
Word Clock - A text based clock that allows the user to select their preferred font weight and size.
Moddable has integrated the Monotype Spark engine with the Moddable SDK, so IoT application developers can immediately start building their user interface. Because the Moddable SDK uses JavaScript as its primary programming language, developers implement user interfaces more quickly than in traditional embedded development tools in C or C++.
High quality anti-aliased text at all sizes
Additional features include:
When evaluating software for embedded devices, numbers are essential to understand whether a technology can be used in your project. Of course, each deployment is unique so the numbers will vary. These numbers should only be used as approximate guidelines.
Note: These numbers are for an ESP32 MCU. Similar results are seen on ARM MCUs and x86 processors.
Supports all screen orientations with no impact on memory use or performance
A common challenge in embedded software development is adapting standard technologies from computer and mobile for use on microcontrollers that have at least an order of magnitude less power. The benefits of using standard technologies include the re-use of proven designs, access to powerful tools, and lower total cost of development. Unfortunately, many standards used on computers and mobile are not designed for products powered by embedded processors. JavaScript was created for computers and has continued to evolve with the expectation it will be used only on computers and powerful mobile devices. Moddable has done considerable work to allow the modern JavaScript language to be used on embedded microcontrollers. Similarly, Monotype has invested heavily to render TrueType/OpenType fonts efficiently on embedded microcontrollers, even optimizing the fonts for embedded systems.
Monotype extended TrueType fonts to optimize their use in embedded products:
Monotype created the Spark font rendering engine to meet the needs of embedded product designers:
The Moddable SDK with support for the Monotype Spark engine is available now.
An evaluation kit for the Monotype Spark integration with the Moddable SDK is available. To request an evaluation kit, contact Moddable Licensing. Monotype Spark integration is available only to commercial licensees of the Moddable SDK.
Both Monotype and Moddable offer development support for customers building products using their respective technologies.

As part of this partnership, Monotype offers:

As part of this partnership, Moddable offers: