Wednesday 8 June 2016

Hieroglyphic Fonts and the Universal Shaping Engine

An Egyptian hieroglyphic writing system such as that proposed for Unicode plain text needs to cope with writings such as
where two or more hieroglyphs can be arranged in groups such as one hieroglyph above another as in this example. In digital media, hieroglyphic is therefore an example of a writing system that needs Complex Text Layout (CTL) [Wikipedia] to display text. Much of the worlds text doesn't need CTL but Arabic is a popular writing system that does and there are many others including Indic scripts such as Bengali and Devanagari.

From an end user point of view the technical underpinnings of a writing system should be as invisible as possible, ideally everything should just work naturally. That is a goal of the Hieroglyphs Everywhere Project (HEP). However, for that to happen it is necessary for various pieces of the puzzle to fit together. In this note I'll try to explain where the Universal Shaping Engine (USE) fits into the picture.

Traditionally a writing system that requires CTL needs specialist fonts and customized software. The software elements may be part of the Operating System (Android, iOS, Linux, Windows etc.) or part of an application (Microsoft Office, LibreOffice, Web Browser etc.). To include a new writing system or evolve a supported system in this traditional way is a complicated process which can take years to feed through to the user base.

USE reduces the complexity of this situation by providing software features to enable an OpenType font to implement CTL for its chosen writing systems. In practical terms this means once Unicode is released with plain text hieroglyphic functionality, compatible fonts can be made available and they will be usable with applications such as web browsers and systems that support USE. For instance, there is no need in principle to expect a long wait for web browsers to be adapted to support fonts for hieroglyphic writing so long as browser and font support USE.

The first implementations of USE were released in 2015. Windows 10 integrated the engine on initial release. HarfBuzz (an open source component used in Linux, Firefox, Chrome/Chromium and LibreOffice among others) introduced USE support at version 1.0. The USE specification is available from Creating and supporting OpenType fonts for the Universal Shaping Engine [Microsoft Typography].

I've no information on the current status of USE for Android or Apple iOS/Mac systems. All I can say is it would be surprising if USE support were not widely available by around this time next year (the earliest we can expect plain text hieroglyphic to be released in the Unicode standard). I'd also guess that it is unlikely legacy operating systems such as pre-OS X El Capitan or Windows 7/8 will see USE integration (although it is quite possible that applications such as some web browsers may support USE on these legacy systems).

For Hieroglyphs Everywhere Project I'm working on the assumption USE is the future for hieroglyphic fonts. However, alternate methods are used in the short to medium term while Unicode plain text is not available. This alternate mechanism then remains available for situations where for some reason users are unable to work with up to date operating systems and software.

The recent article making fonts for the Universal Shaping Engine [pdf] by John Hudson makes a good read for font developers or those curious to learn more. The post Windows shapes the world’s languages [Windows Experience Blog] gives some interesting background.

Bob Richmond

No comments:

Post a Comment