Posted May 23, 2012 14:18 UTC (Wed) by micka (subscriber, #38720)
Parent article: LGM: Unusual typography
I find the ligature idea problematic. In french, there is a case where the decision to make a ligature is not based on the pair of letters but on the whole word.
Cœur will be written with a ligature (actually, I cheated, I used only one character) while moelleux will be written without a ligature.
I don't see how this could be correctly computed except with a dictionary.
Posted May 23, 2012 15:43 UTC (Wed) by n8willis (editor, #43041)
[Link]
As I understand it from Behdad's talk, HarfBuzz does -- intentionally -- leave this decision up to the application -- the app decides which bundle of codes to send to HarfBuzz as a unit, and that decision is both script- and language-dependent. So, yes, the word processor (or whatever) would need to know when an o-e sequence needed to be rendered as one ligature and when it didn't. HarfBuzz only needs to know how to form the ligature *when* it is asked to do so.
Whether or not any particular application does a good job of making that call is an issue for the application project's team; it's out of scope for HarfBuzz.
Nate
Ligature database
Posted May 23, 2012 16:31 UTC (Wed) by gioele (subscriber, #61675)
[Link]
Whether or not any particular application does a good job of making that call is an issue for the application project's team; it's out of scope for HarfBuzz.
Yet I suppose that applications would love to have some kind of application-independent ligature database a la ICU instead of having to create and distribute a db of that kind for each application, something that you can query with ligatures_for("coeur", "fra-Latn") = {["œ", 1..2]}.
Ligature database
Posted May 24, 2012 0:12 UTC (Thu) by nix (subscriber, #2304)
[Link]
It should be doable with suitable per-language general rules plus a list of exceptions. You know, like TeX has been doing for hyphenation for decades now.
LGM: Unusual typography
Posted May 24, 2012 22:14 UTC (Thu) by behdad (subscriber, #18708)
[Link]
In these cases, from a Unicode and OpenType (and hence HarfBuzz) point of view, those are not really ligatures. Ie. fonts will not tell HarfBuzz to automatically convert 'oe' into 'œ'. To Unicode, 'œ' is a standalone character. Now, fonts *can* tell HarfBuzz to substitute such a ligaure, they can even say do it under French only. But if it's not mechanically decidable, then it shouldn't be in the font.
That said, the substitution mechanism in OpenType allows for contextual matches. So, if, say, a ligature should be formed only if followed by a certain string of characters, that can be expressed in the font.
LGM: Unusual typography
Posted May 25, 2012 7:18 UTC (Fri) by micka (subscriber, #38720)
[Link]
Well, a bit curious about it, I read on the subject, I found that there seems to be a distinction between different kinds of ligatures : typographic ligatures and linguistic ligatures.
If I understand correctly, Harfbuzz does the first kind, and I was talking about the second kind (thus my confusion).
I even read a bit about how TeX does ligatures, and I wish I didn't :) But maybe that's to be expected from a system usable in so many languages and writing systems.
LGM: Unusual typography
Posted May 27, 2012 1:58 UTC (Sun) by behdad (subscriber, #18708)
[Link]
Thanks for the note. Yes, you are spot on. I've worked on the typographic side so much that I have had forgotten that the term 'ligature' is used in other contexts too.