Font Tech‎ > ‎

GPOS Stylistic Sets

I developed two test fonts, “Fallen English Roman” and “Fallen Random Roman”, both based on the IM FELL English Roman (© 2007 Igino Marini (www.iginomarini.com), licensed under the SIL Open Font License, Version 1.1). 

Fallen English Roman (GPOS-based stylistic sets)

The Fallen English Roman font uses pseudorandomized GPOS adjustments in the OpenType Layout features ss01–ss20. When they are used in a mutually exclusive manner, the the characters in a given text appear to have shifted around slightly. When the features are used additively, the effect of shifting around increases. 

Below is a screenshot of a sample document created using that font — each block uses a different combination of the Stylistic Set features. 
An excerpt of the OpenType Layout code used in the font is shown below: 

feature ss01 {
  pos A <-5 4 10 0>;
  pos B <-9 -33 -1 0>;
  pos C <9 14 2 0>;
  pos D <8 -12 -1 0>;
  # ...
} ss01;

feature ss02 {
  pos A <-10 -14 -1 0>;
  pos B <-6 -2 -7 0>;
  pos C <-9 4 1 0>;
  pos D <8 -33 -7 0>;
  # ...
} ss02;

feature ss03 {
  pos A <1 23 6 0>;
  pos B <5 -36 1 0>;
  pos C <2 15 -1 0>;
  pos D <-1 11 2 0>;
  # ...
} ss03;

# ...

feature ss20 {
  pos A <0 -26 2 0>;
  pos B <2 23 9 0>;
  pos C <-1 19 -3 0>;
  pos D <-6 11 2 0>;
  # ...
} ss20;

The sample document in PDF format, the OpenType TT (.ttf) font and the AFDKO-syntax feature definition file can be downloaded below. 
The font (including the feature definition code) is licensed under the SIL Open Font License, Version 1.1. 

The sample has been produced in Adobe InDesign CS5, where GPOS-based ssXX features work. I tested Apple Pages 09 and Microsoft Word 2011 on Mac OS X 10.6, but there, the GPOS-based ssXX features don't seem to have any effect (though GSUB-based ssXX features work). 

While this is a quick-and-dirty sample font which I produced quickly (as a proof of concept), it’s a valid use case. A type designer could easily want to achieve such effect, perhaps combined with contextual positioning to achieve more pseudorandomness. I think it’s a convincing example for why lookup types should not be hardwired to certain features.

Fallen Random Roman (GSUB “rand” feature)

The Fallen Random Roman font includes a larger glyph set: for each glyph from the [0-9A-Za-z] range, it includes 20 alternate forms which differ in placement, advance width and also in their point positions. 
Those glyphs can be accessed using the GSUB-based ss01–ss20 features which substitute one set of glyphs by another. 
The font also contains a GSUB-based rand feature which uses the GSUB LookupType 3 (alternate substitution). 

An excerpt of the OpenType Layout feature definition is shown below: 

feature rand {
  sub A from [A.ss01 A.ss02 A.ss03 ... A.ss20];
  sub B from [B.ss01 B.ss02 B.ss03 ... B.ss20];
  sub C from [C.ss01 C.ss02 C.ss03 ... C.ss20];
  sub D from [D.ss01 D.ss02 D.ss03 ... D.ss20];
} rand; 

feature ss01 {
  sub A by A.ss01;
  sub B by B.ss01;
  sub C by C.ss01;
  sub D by D.ss01;
  # ...
} ss01;

feature ss02 {
  sub A by A.ss02;
  sub B by B.ss02;
  sub C by C.ss02;
  sub D by D.ss02;
  # ...
} ss02;

# ...

feature ss20 {
  sub A by A.ss20;
  sub B by B.ss20;
  sub C by C.ss20;
  sub D by D.ss20;
  # ...
} ss20;

The OpenType TT (.ttf) font and the AFDKO-syntax feature definition file can be downloaded below. 
The font (including the feature definition code) is licensed under the SIL Open Font License, Version 1.1. 

Adam Twardoch, March 13, 2012
ċ
FallenEnglish.fea
(249k)
Adam Twardoch,
Sep 27, 2011, 11:50 AM
Ċ
Adam Twardoch,
Sep 27, 2011, 11:50 AM
ċ
Adam Twardoch,
Sep 27, 2011, 11:50 AM
ċ
FallenRandom.fea
(36k)
Adam Twardoch,
Mar 13, 2012, 12:14 PM
ċ
Adam Twardoch,
Mar 13, 2012, 12:14 PM
Comments