OpenType Layout Features - Supported Substitutions and Positionings

The OpenType Layout Feature specification describes 8 types of substitution. The following table shows which ones are currently supported by FontCreator:

#

Type

Script supported

Designer supported

Description

Comment

1

Single

Yes

No

Substitute a single glyph by another single glyph (a -> b)


2

Multiple

Yes

No

Substitute a single glyph by other multiple glyphs (a -> xyz)


3

Alternate

Yes

No

Substitute a single glyph by one of multiple alternates (a -> x or y or z)


4

Ligature

Yes

No

Substitute multiple glyphs by a single ligature (f f i -> ffi)


5

Context

No

No

Substitute one or more glyphs in context

Use the more powerful Chaining Context format instead

6

Chaining Context

Partially

No

Substitute context specific glyphs (3rd -> 3rd)

Only group based

7

Extension Substitution

No*

No



8

Reverse chaining context single

No

No

Applied in reverse order, replace single glyph in chaining context


The OpenType Layout Feature specification describes 8 types of positioning. The following table shows which ones are currently supported by FontCreator:

#

Type

Script supported

Designer supported

Description

Comment

1

Single adjustment

Yes

Yes

Change the position of a single glyph (sub/superscript)

Groups are also supported

2

Pair adjustment

Yes

Yes

Substitute a single glyph by other multiple glyphs (a -> xyz)

Groups are also supported

3

Cursive attachment

No

No

 


4

Mark to base attachment

Yes

Yes

Attach a combining mark such as a diacritic to a base glyph


5

Mark to ligature attachment

No

No

Attach a combining mark to a ligature


6

Mark to mark attachment

Yes

Yes

Attach a combining mark to another mark


7

Context Positioning

No

No

Position one or more glyphs in context


8

Chained Context Positioning

Partially

Yes

Position one or more glyphs in chained context

Script only group based, the designer will create groups from single glyphs where needed.

9

Extension Substitution

No*

No*



* Extension substitution is a special kind of lookup that is only used for fonts with a lot of features. FontCreator fully supports them, but they are created automatically when needed and cannot be manually created in scripts.