OpenType: single glyph ligatures vs. ligatures built of multiple glyphs

ebensorkin's picture

Thinking about Notan, Ligatures, and the kind of behavior we get from InDesign I was wondering if (for text) it isn't a better idea to make fi ff & ffl ligatures ( etc etc ) out of two or three glyphs kerned into a ligature rather than to use the assigned Opentype 'spaces' because at least in some cases they could be designed to ‘degrade’ from the original design more elegantly when automatically spaced in various ways than a single fixed ligature glyph can. What do you think? Is there any precedent for this? What are the problems with this idea?

ebensorkin's picture

If this doesn't make sense I can make some supporting graphics to show what I mean.

charles ellertson's picture

I don't understand -- unless you mean fonts that really shouldn't have f-ligatures to start with. In that case, I rename the ligature "f_i.orig" and take it out of the liga routine. If someone wants the ligature for some special reason, it is available from the glyph pallet in InDesign, Otherwise, the f-(whatever) pairs are kerned like any other pairs.

ebensorkin's picture

Let me clarify. I am not being anti-ligature here. Not at all. I think they are great at least when they are done well.

Instead of suggesting that we get of them I am thinking about how the flexibility of Opentype could help make a modest improvement in how ligatures are handeled. A while ago we had a thread on ligatures in which it was brought up that one problem with ligatures is that the letterspacing in them stays constant ( they are just one glyph ) so that if you have a justified line of text ( or just a letterspaced one ) they can start to look out of place by degrees as the letterspacing is increased or decreased.

The solution I have outlined above would let you have a ligature ( visually ) by 'fusing' or overlapping an f&i or an f&l ( or whatever ) out of two glyphs made for the purpose. BTW : I have been told Gutenburg had ligatures like this.

The only change is technical. Ideally it would look the same except that it would cope with letterspacing a bit better.

Nick Shinn's picture

InDesign breaks ligatures at >25 units of tracking.
So if you track your text at +20, the ligatures will still hold, but they will look too tight.
At +10, not really an issue.
So it's up to the foundry to make the non-ligated f and i look OK at +20, so that discerning typographers can switch off "ligature" at that amount of tracking.

ebensorkin's picture

It's good to hear that InDesign has thought of what to do with tracking a bit...

So you do agree that at +15 tracking a ligature can start to look iffy. Correct?

What about negative tracking or does that not get used too much? I imagine that negative tracking would look odd with a ligature much more quickly. I will have to give it a try to see what I think...

k.l.'s picture

This one of the interesting issues where OT feature and layout application's behavior interact, and it is not sure if other applications will behave the same way as InDesign.

Though not for '(f)fl' and '(f)fi' which I consider unnecessary in sanserifs, I am trying ligatures which are in fact overlapping ligature elements. Consider 'f' and 't' with a longer bar to the right. This implies that they will be spaced too and don't stand out as too narrow if spacing is increased.

ebensorkin's picture

That's exactly the kind of thing I mean.

:-)

John Hudson's picture

I've given this some thought. The problem is that in order to make a convincingly good 'ligature' out of individual glyphs, one would generally need to modify the design from the default forms of those letters. For example, in an ffi sequence, one might make the initial f slightly shorter than the second f, one would typically modify the curvature of the tops of the f's in order for them to connect nicely with the following letter or to overhang the stem of the dotless i, one would likely adjust the weight of the terminal of the first f where it meets the shoulder of the second, and one might extend the crossbar of the f so that it connects to the i. All these things are typical features of an ffi ligature glyph.

Now, all these things could be done to individual f f and i glyphs, which could then be contextually substituted to form an apparent ligature. But when letterspacing is applied what you end up with are forms of these letters that differ from their default forms but which have lost their ideal relationships by being spaced out.

John Hudson's picture

Anyway, don't people who letterspace lowercase letters do unspeakable things to sheep? :)

hrant's picture

Indeed. Eben, as I opined during your recent SoCal trip, if you believe in the value of notan (as I know you do) you should realize that once you track a (good) text font, you have already killed it. Any attempt to implement a graceful degradation is a desperately romantic act. One does not polish the portholes of a sinking ship.

hhp

hrant's picture

Practically speaking however, it would be nice if a font could have a
field -ideally for each ligature- that tells InDesign when to break it.

hhp

ebensorkin's picture

do unspeakable things to sheep? :)
polish the portholes of a sinking ship.

I think you both know that in my heart I agree with you. Utterly. I am absurdly idealist too.

But at the same time I know that beautifully made watches get scratched, rugs get walked on, cars are driven and bugs smear their windshields, and letters are spaced. For the same reason that the wings of aircraft bend- to avoid a catastrophic snap or failure; isn't it better to design with built in flexibility?

already killed it

Isn't it a death by %? What I am saying is that at 5% or 10% The idea I have may be better. And 5-10% seems like like a reasonable real world scenario. I don't really know but that's my gut at the moment.

Anyway, thanks for weighing in!

Practically speaking however, it would be nice if a font could have a
field -ideally for each ligature- that tells InDesign when to break it.

Nice point.

And even if there is some meat on this arguement I am presenting - I do realize like all idealistic type ideas it has to be attempted to see if it is practical. Still, until I do; any other takers or rejectors?

hrant's picture

> Isn’t it a death by %?

The thing is, by the time a ligature looks too loose/tight in
tracked text, the tracking is too much to maintain readability.

This is not a scratch on a watch, this is an elephant stomping on a watch.

hhp

k.l.'s picture

J.H. -- The problem is that in order to make a convincingly good ‘ligature’ out of individual glyphs, one would generally need to modify the design from the default forms of those letters. For example, in an ffi sequence, one might make the initial f slightly shorter than the second f [...]
Now, all these things could be done to individual f f and i glyphs, which could then be contextually substituted to form an apparent ligature.

Exactly so! This is the reason why I excluded '-i' and '-l' ligatures from my list. (Not to mention the other constraint: the bar's width must not alter.)

H.P. -- Practically speaking however, it would be nice if a font could have a field -ideally for each ligature- that tells InDesign when to break it.

You mean, theoretically speaking. Practically speaking, this would be one more setting which would trouble type designers.  :))

The InDesign default bothered me in version 1.5 or 2 already, but I came to like the idea: in loose spacing there is no chance for collisions, so, no ligatures required. Another question would be: does this need automation, or isn't it the typographer's job to switch ligatures off?

[Added:]
This method makes other kinds ligatures possible. In a first version of Litteratra, I tested this with uppercase ligatures -- e.g. the ones with a small 'I' 'O' below a bar of the 'T' or above the bar of the 'L'. (Especially uppercase ligatures require to be spaceable to avoid that they stand out in spaced caps-only text.)

kentlew's picture

Hrant: Practically speaking however, it would be nice if a font could have a
field - ideally for each ligature - that tells InDesign when to break it.

I believe Quark does this (not for each ligature, of course). At least, they did back in version 4.x. The setting is the "Break above" field, and it was set in tracking units (those 1/200th em units so idiosyncratic to Quark). I believe it was in the Preferences dialog > Character tab, or wherever it was that you turn on the fi/fl ligatures. Not sure if they carried this over to current versions.

InDesign does break ligs both above and below certain thresholds when tracking positive or negative. The threshold, however, is not user-definable and seems to be variable -- not consistently the 25 quoted above.

I just tried it with a few different fonts. Whitman-Roman broke at +18 and -52. But WhitmanDisplay-Regular broke at +16 and -47. MillerText-Roman breaks at +20 and -56.

Interesting. I don't know what InDesign is using to calculate its threshold. Perhaps its based on widths of base characters.

Regarding using OT alt forms and substitution to create "natural" ligatures: It seems to me that any form of f that you design to merge gracefully with a following ascender will also stop working so nicely beyond a certain threshold range, and in the end may not be any better solution to this perceived problem than the "break above" software solution.

(Although, I agree, an expert function that allowed user re-definition of thresholds would be a nice feature.)

-- K.

hrant's picture

> The threshold, however, is not user-definable and seems to be variable

Interesting, and encouraging.

> I don’t know what InDesign is using to calculate its threshold.

Some component of its optical spacing module, most likely.

hhp

William Berkson's picture

There was an earlier discussion of Trinité bearing on this issue. IIRC, according to those familiar with it, it is designed without kerning or ligatures. I gather that the hook on the f 'swallows' the dot on the i and combine with other characters smoothly. However, apparently the big overhang on the f presents a problem at the end of words, as it closes up the word space too much. Of course this could be taken care of, in principle, by an alternate f or kerning with the space.

charles ellertson's picture

Re: Trinité: I gather that the hook on the f ‘swallows’ the dot on the i and combine with other characters smoothly

Almost, but not quite. I wouldn't call it smooth. It needs both f-ligatures and a terminal "f". As I remember, even the designer later felt the font needed ligatures and kerning.

ebensorkin's picture

Hrant I still don't buy the notion of the elephant completely. I do agree that things go wrong quickly. Very. But I can't believe that it's a all or nothing kind of thing. There must be a curve even if it's a small one. And I think it's likely that the design of the font itself will be a factor as well. In other words some fonts will look worse faster than others. So the devil will be in the details - the combnation & the design.

One reason I had been thinking about this model for ligatures has to do with the ideas I had about making special pro-notan pairs & triples etc. If you go to that much trouble then it seemed like having a modular ligature structure might be more efficient/practical and might help to mitigate in some real-world usage issues as well. In the system I am thinking about it may be that doing this is still a good idea, it just won't perform 'better' than the old model in some cases. And in fact it might be worse in extreme cases because the InDesign Code won't let the ligatures turn off. Still, using the Logic of John & Hrant the text is 'busted' by then anyway. Maybe making that more obvious is good.

Thomas Phinney's picture

> the InDesign Code won’t let the ligatures turn off.

? Please explain. I'm not understanding what you mean.

T

ebensorkin's picture

Thanks very much for asking. What I was saying was very speculative - but here is my reasoning. ( all untested & under-researched )

a. When you make a ligature in the normal way you are making a single glyph to replace two or three. So I don't think the Lig tag supports multiple glyphs making a ligature. Is this right?

b. Indesign is looking for a Lig tag to invoke turning off Ligatures after tracking gets above a certain point. That's right isn't it? If I am using tags other than Lig to make my 'visual' ligatures made from multiple glyphs as oposed to 'code' ligatures of one glyph I can't expect InDesign to somehow understand this non-standard way of making a ligature.

What do you think?

And actually - what do you think of the original idea from a type point of view?

hrant's picture

> I can’t believe that it’s a all or nothing kind of thing.

Me neither. But, to repeat, by the time a ligature in tracked text starts
looking unpleasant you're already way past the point of ravaged notan.

hhp

ebensorkin's picture

I don't disagree with you there at all. At the risk of just being repetitive: Assuming that the break occurs after a narrow range of perhaps 5-7% letterspacing* ( the negative would be narrower still ) maybe the Notan is better preserved with micro-movements than with no movement at all. If so, the sweet spot itself isn't enlarged exactly - but it is blurred outwards. The point being 3% might be quite a bit better with the model I have in mind.

*Were do you think the break is?

The thing is, I actually like a ragged right better than justfied setting, but I don't imagine I can dictate that sort of thing to the buyer of my fonts.

I have related question too - maybe Gerald Lange can aswer this one: with letterpress the spacing in justified texts would be just between words - correct? At least in a long running text. Or would a letter setter put space between the letters themselves like InDesign does? Obviously you could do either thing. But what was typical?

If it was typical to set space just between words then my next question is - can you somehow make an H&J in InDesign do that for you as well?

kentlew's picture

Eben --

Gerald can weigh in with more direct experience, but I believe that adding space between letters was pretty impractical for justifying when setting by hand. Sure you could do it, but what comp would spend his time doing so? (Especially when the practice was so frowned upon -- cue Goudy quote).

The justification mechanism in Linotype operated solely on the word spaces. I pretty certain this was the case with Monotype also, but I am not as well acquainted with that technology.

can you somehow make an H&J in InDesign do that for you as well?

Sure, just set the Justification > Letter Spacing to 0% Minimum | 0% Desired | 0% Maximum. That should direct the algorithm to operate only on word spaces (assuming you also leave Glyph Scaling alone at 100%, of course).

-- K.

ebensorkin's picture

Thanks Kent!

Would you ever consider using such a scheme like the one you described?

kentlew's picture

Scheme -- Do you mean the H&J setting I described? Of course. I frequently use justification settings that leave character spacing alone. Naturally, it depends upon the work at hand and the typeface being used, but 0% char spacing is a typical starting point.

Isn't this the InDesign default starting point? I'm sure I've tweaked all my default prefs, so I can't be sure what was there to begin with. But I thought Adobe's default was decent.

I do recall vividly that the Quark default is (or used to be) totally whacked, something along the lines of Char Space: -4% Min / 0% Opt / 4% Max. I always advised designers to immediately change that default. (And I could always tell when they hadn't.)

-- K.

hrant's picture

Yes, by default Quark assumes a font is badly made.

hhp

Thomas Phinney's picture

Eben:

a) Certainly the OpenType spec suggests that the 'liga' feature would consist of many-to-one substitutions, and applications might be forgiven if they expect this. But it's certainly possible to stick something like this in the 'liga' feature, at least as an experiment to see what happens.

b) That's right, you can't expect InDesign to turn off arbitrary other features because you happen to use them to do 'liga'-like things. However, InDesign already treats 'calt' in a similar way, and it would be a logical place for the functionality you describe, I think.

Regards,

T

ebensorkin's picture

Thanks T!

I have InDesign CS3 & CS2 and I plan on attempting this to see what I think of the results. When I do I will see what I can get from both Liga & Calt. When I have; I will post my visual & technical results here.

John Hudson's picture

Eben, as an example of a (very widely distributed) font that uses something other than a many-to-one ligation lookup in the 'liga' feature, take a look at Jelle Bosma's Cambria type, one of the MS ClearType Collection families. It uses a contextual substitution in the 'liga' feature that changes the f to one with a smaller terminal; this substitution happens before any (left side) ascender or narrow letter with dot or accent above.

ebensorkin's picture

John, Thank you very much!

cuttlefish's picture

H.P.—This is not a scratch on a watch, this is an elephant stomping on a watch.

I think that scenario was used as a demonstration in a Timex commercial back in the ’70s.

Syndicate content Syndicate content