emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ligatures (was: Unify the Platforms: Cairo+FreeType+Harfbuzz Everywh


From: Pip Cet
Subject: Re: Ligatures (was: Unify the Platforms: Cairo+FreeType+Harfbuzz Everywhere (except TTY))
Date: Fri, 22 May 2020 13:56:29 +0000

On Fri, May 22, 2020 at 1:15 PM Eli Zaretskii <address@hidden> wrote:
> > From: Pip Cet <address@hidden>
> > Date: Fri, 22 May 2020 12:52:41 +0000
> > Cc: address@hidden, address@hidden, address@hidden
> >
> > > You can request all the ligatures that _can_ be supported;
> >
> > How do I do that? Opentype fonts can support arbitrary ligatures, such
> > as "Zapfino" being a seven-letter ligature.
>
> I thought the set of all the ligatures is known, and guided by
> typography experts.

No, that's not how Opentype handles things at all. I just added a "ta"
ligature to a font by converting it to ttx format, editing the XML,
and converting back to .otf. It works fine.

So ad-hoc ligatures certainly are a feature of Opentype.

> Do font designers really support ligatures from
> any arbitrary combination of characters?  If so, where can I read
> about this?

https://docs.microsoft.com/en-us/typography/opentype/spec/gsub#lookuptype-4-ligature-substitution-subtable

The font I'm looking at right now has these: Th, ch, ck, ffh, ffi,
ffj, ffk, ffl, ff, fh, fi, fj, fk, fl, ft, tt, tz

But I've also come across an example where "fä" was displayed
differently, though I'm not sure it used Opentype ligatures.

> > > For example, when displaying program source code
> > > you'd probably want the various symbols, like -> etc., to produce
> > > ligatures, but you most probably won't want "ffi" in a variable name
> > > to produce a ligature.
> >
> > Why not?
>
> It makes no sense to me.  Why ligate them in that use case?  Program
> source code isn't supposed to behave like typeset human-readable text.

Seems like an aesthetic decision. As far as I'm concerned, program
source code is typeset human-readable text, it just has different (and
possibly better) conventions for typesetting it. I wouldn't choose to
use a variable-pitch font for program source code ordinarily, but if I
did, I'd want ligatures.

> > "For the list of typographical ligatures, see
> >
> >   
> > https://en.wikipedia.org/wiki/Orthographic_ligature#Ligatures_in_Unicode_(Latin_alphabets)"
> >
> > That's very wrong: typographical ligatures generally aren't assigned
> > Unicode codepoints; those that have them usually do so for historical
> > reasons.
>
> Indeed, ligatures don't have to have Unicode codepoints, only some of
> them are precomposed.  Emacs doesn't need them to have codepoints when
> we use auto-composition-mode.  The reference is there only to show the
> list of ligatures, and I believe the list is full regardless of the
> codepoint issue.  Can you point me to a larger list of ligatures made
> out of ASCII letters?

"Th" is mentioned as an example in a few places, and it's not on the list.

> But I don't think we should continue with these details before we have
> a clear idea of whether the list of possible ligatures is really
> infinite, as you seem to imply.

I agree.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]