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: Eli Zaretskii
Subject: Re: Ligatures (was: Unify the Platforms: Cairo+FreeType+Harfbuzz Everywhere (except TTY))
Date: Sat, 23 May 2020 12:28:46 +0300

> From: Pip Cet <address@hidden>
> Date: Sat, 23 May 2020 08:44:22 +0000
> Cc: address@hidden, address@hidden, address@hidden
> 
> You write: "(b) is not really feasible without redesigning the entire
> Emacs display engine". I don't see how that's true at all. All we need
> is some limited look-ahead.

We already have look-ahead: that's what the regexp part of the
composition rules are about.  That is not the crucial problem.

The crucial problem is that we currently perform layout decisions one
grapheme cluster at a time, whereas what HarfBuzz people say is that
we should basically do that one screen line at a time.

A secondary (but important) problem is that character composition
involves calls to Lisp, which is relatively slow.  This precludes
calling the shaper for too many characters at once, too many times for
each redisplay cycle of a window.

> I think at the heart of it, it's about whether we treat fonts like
> pieces of software, to be given a specific task and fixed if they fail
> to perform it, or as bitmaps for simulating a TTY. Fonts are software:
> they're written in a weird limited language, but essentially they're
> programs to measure and display characters as glyphs.

I don't think there's any disagreements on this high and abstract
level.  The problem is how to support that within the limits of the
current design of the display engine.



reply via email to

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