2K/DENMARK – TYPOGRAPHIC DESIGN

Mobile Text Layout Engine

The Mobile Text Layout Engine

 

Our Mobile Text Layout Engine (MTLE) makes it is possible to treat digital typography and text with the same control and attention to detail we have come to expect from modern DTP software for print production.

MTLE is a cross-platform library, optimised for speed and typographic control. It is written in C/C++ and wrappable in Obj-C, Swift, Java, C# and more.

MTLE could be described as a cross-platform alternative to Core Text in iOS.

 
 
 
 
 

Why a MTLE

In the last decades, the digitalisation of the typesetting craft has been improved, almost bringing us back to the quality of the actual hot metal typesetting. now that digital typesetting is almost as good as hot metal typesetting, we are migrating to digital reading — loosing quality in the process. We are offering mobility, reach and volume, but not an aesthetically pleasing reading experience comparable to a well crafted print book.

Basing text presentation on web technology is the easiest and fastest way to get to market. Browser engines can display text, and layout can be controlled through CSS and HTML. But  this convenience comes with major challenges – especially in the form of loss of typographic control and possibilities in general.

When you have a background in typographic design and typesetting for print, stepping into the digital publishing business, this is shocking. Typography is important for communication and the reading experience!

If this crucial aspect of publishing is not given careful consideration, the content will appear irrelevant, the reading experience will be disappointing and most importantly the impact of the content will be lessened.

Text is not “just text”. Typography is an art, and a necessity for engaging the reader. This is why we see the need for advanced text layout and high typographic quality in digital publishing. It is the primary reason we have developed MTLE.

 
 
 
 

What MTLE does

Typography

  1. OpenType support
    • The MTLE is built for the 21st century, completely compatible with OpenType and prepared for future revisions of OpenType.
    • Language support (e.g. speciality requirements of scripts such as Arabic, Hebrew and Chinese).
    • Character substitution, e.g. small caps, lining and old style figures, ligatures and stylistic sets.
  2. Paragraph and character styles
    • Similar to implementations in Word, InDesign and Quark, base styling is made through styles.
    • Styles control paragraph and character level attributes such as leading, hyphenation, spacing, indentation, tab stops, alignment, drop caps, baseline shifting, font, size and color.
  3. Grids
    • Support for a global baseline grid, making sure that everything aligns.
  4. Sizes
    • Real typographic points – 12pt on screen is identical to 12pt on print, no matter the device.

Hyphenation

  1. Built-in compatibility with many languages and extensible for more.
  2. Automatic switching of hyphenation language library based on language attributes of the text.
  3. Support for turning of hyphenation for substrings in the text.
  4. Various hyphenation controls such as spacing threshold.

Styles

  1. Paragraph and character styles can be defined through JSON stylesheets.
  2. Styles can also be created or manipulated programmatically.

Text wrapping

Possibility of leaving holes in the text, based on key/value information in the attributed string, that will leave “holes” to be programmatically filled with e.g. images, videos or interactive elements.

Performance

  1. Rendering using best device possibilities for typographic hinting and anti-aliasing.

  2. Low memory footprint.
    • Optimised for mobile operating system and hardware (even of older date).
  3. Speed.
    • “Line creation”.
    • Rendering.
    • Fluent, lag-less scrolling.
    • Queries in attributed strings.
 
 
 
 
 

How does MTLE do all this?

Feel free to contact us to learn much more about the inner workings of our MTLE and its possible use cases. Send an email by clicking the button below or call us on +45 8740 8000.