OpenType Layout Feature Support Differences - (Complex) Shaping Engine

Discussions about the development of TrueType and OpenType fonts.
Post Reply
Erwin Denissen
Posts: 9337
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands

OpenType Layout Feature Support Differences - (Complex) Shaping Engine

Post by Erwin Denissen »

It is sometimes good to know OpenType Layout Engines may not always produce the same output. This is mainly due to the fact the OpenType specification is not always clear about how things need to be implemented. Fortunately most features will work the same, but there are some exceptions that might not be that obvious:

For example:
  1. Oct 27, 2016: Windows will not process substitutions, or single adjustments if found in the kern feature, while Word and Firefox do.
  2. Sep 06, 2016: Version 1.8 of the OpenType specification was released in September 2016 and has significantly revised the following features: Initial Forms {init}, Isolated Forms {isol}, Medial Forms {medi}, and Terminal Forms {fina}. They should no longer be used with Latin script. Most OpenType layout engines haven't been updated yet, and don't work as expected.
  3. Nov 21, 2016: InDesign will ignore a stylistic set's name if it is too long (it refused a text with 480 characters). That is expected, but still good to know.
  4. Dec 02, 2016: If a specific Script is not included in the OpenType features, Windows will use another Script. Firefox will only use Latin as fallback script, while windows doesn't come with such fallback mechanism. See: Kerning for Greek
  5. Dec 17, 2016: When you export a Word document to PDF the kerning between quoteleft and another character is lost.
  6. Mar 30, 2017: If a font only contains a DFLT script, then both Windows 10 and Word (version 1701) won't use the kern feature. However Word will use it if you also enable another OpenType feature (e.g. Ligatures or Stylistic Sets)! Firefox will always use it.
  7. Aug 30, 2017: Lookup flags not always obeyed by Firefox. E.g. in cursive attachment Ignore Ligatures is ignored.
  8. Nov 29, 2018: If a font contains both a Default and a Latin script, Chrome and Edge will use DFLT in case it can't determine what script to use for a piece of text (e.g. digits). In such case Firefox uses Latin. Note that even Chrome and Edge behave slightly different as Edge will reset if it detects two spaces next to each other.
  9. Jan 29, 2019: Adobe InDesign & Adobe Illustrator seems to have trouble with the space character if used in (contextual) OpenType layout features.

There are probably a ton of other minor details, so better test your fonts in type design software, popular word processing applications and in common web browsers.

* 2016 and 2017 tests performed with Windows 10, Word 2016, and Firefox 49.0.2.
* 2018 tests performed with Windows 10, Word 2016, Firefox 63.0.1, Chrome 70.0, and Edge 41.16299.

No longer an issue, but we still like to mention this for historical reasons:
With previous tests, Windows and Word do process kerning between space character and Latin characters, while Firefox didn't process any pairs that include a space character. With a test done in December 2016 Firefox also supports it.
Erwin Denissen
Proven Font Technology
Post Reply