emacs-devel
[Top][All Lists]
Advanced

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

Re: Ligatures


From: Eli Zaretskii
Subject: Re: Ligatures
Date: Mon, 18 May 2020 20:18:35 +0300

> From: Stefan Monnier <address@hidden>
> Cc: address@hidden,  address@hidden
> Date: Mon, 18 May 2020 13:05:53 -0400
> 
> So, maybe we don't need very much info: all we need is a boolean which
> tells us whether the glyph should be treated atomically or not.
> When not treating it atomically, we would (somewhat arbitrarily) divide
> the glyph horizontally into N equal sized "subglyphs" and draw the
> cursor on the corresponding subglyph.

That strikes me as not a very user-friendly UX.  Especially if you
keep in mind that glyphs can be composed into a grapheme cluster using
2D offsets, not just left-right one-dimensional offsets.

An alternative which might be nicer is to "split" the composition:
display it as if a ZWNJ character was inserted at point.  Thus, moving
forward one buffer position into the ffi would show f followed by a thin bar
cursor followed by the fi; moving forward one more buffer position
would show ff followed by a thin bar cursor followed by i.  Etc.

> If Harfbuzz could tell us more precisely how to divide the glyph into
> subglyphs, we could do a better job, of course.

I don't think it's possible because AFAIK fonts don't store this
information.  It should be possible, of course, to have a private
database of such offsets, but I don't really see how it could work in
general.

Maybe I'm missing something, though.  If someone wants to have a
definitive answer, I suggest to ask on the HarfBuzz mailing list.



reply via email to

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