(OpenType programming) Dynamic ligatures
Alexander Orn
Posts: 18
Hi there everybody!
I'm working on a typeface where I imagine some sort of dynamic ligatures playing a big role. The struggle is that I'm not very good at advanced OpenType features, so I'll try to get some help here from someone who's better than me at that subject. Or maybe someone knows of another resource where I can learn this. I've done some googling, but I have not found anything similar to this.
A good start would be to see if what I imagine is even possible, so here is an explanation of my idéa:
I'd like to create special ligatures for a single letter that has a starting-glyph, a middle-glyph, and an end-glyph.
For example the hyphen:
This concept can then be applied to other glyphs to create some crazy ligatures.
I've attatched a sketch of my concept for some visual reference!
If someone is willing to help me with this I'd also be willing to pay for the trouble
I'm working on a typeface where I imagine some sort of dynamic ligatures playing a big role. The struggle is that I'm not very good at advanced OpenType features, so I'll try to get some help here from someone who's better than me at that subject. Or maybe someone knows of another resource where I can learn this. I've done some googling, but I have not found anything similar to this.
A good start would be to see if what I imagine is even possible, so here is an explanation of my idéa:
I'd like to create special ligatures for a single letter that has a starting-glyph, a middle-glyph, and an end-glyph.
For example the hyphen:
- If i type a single hyphen, a regular hyphen appears.
- If i type two hyphens in a row, the hyphen_start glyph appears, followed by the hyphen_end.
- If i type three or more hyphens, the hyphen_start appears, followed by one (or more) hyphen_mid, and ends with the hyphen_end.
This concept can then be applied to other glyphs to create some crazy ligatures.
I've attatched a sketch of my concept for some visual reference!
If someone is willing to help me with this I'd also be willing to pay for the trouble
0
Comments
-
This is probably most easily with contextual alternates, as long as the string wouldn’t get broken by justification. Otherwise you would need a separate ligature for every length of hyphen sequence.4
-
This kind of contextual substitution has been exploited by many cursive script fonts since the introduction of OpenType, originally by Caflisch Script, 20 years ago. I would imagine there are primers on it at FontLab or Glyphs web sites.1
-
Yes, you can do this with contextual lookups. But be aware that although you can create the appearance of connected glyphs, you cannot control character level behaviours. So using hyphens or other line-breaking characters as the underlying input might not be a good idea.3
-
Indeed, hyphens are a bad idea. I was once using hyphens as input to a transliteration font for a web page, only to find that the hyphens were rendered separately by one browser.
0 -
1) Agree that hyphens are a potentially problematic choice. They are handled specially/oddly in layout in some environments. Indeed, some apps like Word already do automatic substitution of a double hyphen with an en dash or em dash.
2) The code is simple enough that somebody could do it for you in a matter of 5-10 minutes. Use hyphen as an example but swap it to some other glyph name later.0 -
Thanks everyone for the input, especially about the hypens!
Cheers!0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 803 Font Technology
- 1K Technique and Theory
- 622 Type Business
- 444 Type Design Critiques
- 542 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 485 Typography
- 303 History of Typography
- 114 Education
- 68 Resources
- 499 Announcements
- 80 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 270 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports