I'm currently thinking of designing a new font prototype, whose specificity is to adapt each glyph based on the previous and next character.
The idea is to split each glyph in two parts, "left" and "right"; with optionally various versions for each. Composition would then select the left part based on the previous character, and the right based on the next. The final glyph would be the union of both parts.
For example, for buiding the letter a on some font:
- Pan would use a left version having a slightly shortened top arm (this version to use with v, y...); and a right version with a straight final (downright) stroke (to use with letters i, n, h...)
- bao would use a left version having a normal top arm (this version to use with lots of letters); and a right version with a standard curvy final stroke (to use with o, d, e, p...)
In this example, the lowercase a would have 3 left versions (short / normal / long top arm), and 2 right versions (curvy / straight downright final stroke), so in total 6 glyph versions.
Standard ligatures (ff, fi, ffl...) would be implicitly built by selecting the appropriate right/left version pair.
I would call this concept "continuous ligaturing".
My question is thus two-fold:
- Does this concept already exists?
- Does some font format (OpenType?) allow for the selection of a specific glyph version based on previous and next character? I could eventually pre-process the font by creating for each glyph with N lefts and M rights a N×M matrix of all possible combinations (N and M are usually rather low, often 1 or 2, sometimes 3, 4 or 5).