unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: Emacs 28: Specific TTF font gets loaded with font-backend x instead of ftcrhb
Date: Thu, 06 Feb 2020 20:15:18 +0200	[thread overview]
Message-ID: <83pnerfuq1.fsf@gnu.org> (raw)
In-Reply-To: <87v9okyyt5.fsf@gnu.org> (message from Tassilo Horn on Thu, 06 Feb 2020 08:12:06 +0100)

> From: Tassilo Horn <tsdh@gnu.org>
> Cc: help-gnu-emacs@gnu.org
> Date: Thu, 06 Feb 2020 08:12:06 +0100
> 
> After evaling that, -> becomes an arrow and ~> becomes an arrow with
> curvy stroke.  So either there's some issue with PragmataPro or my
> computer at home.

Well, it would be interesting to hear what happens with that other
machine and/or the font.  Be sure to try that in an Emacs built with
the HarfBuzz library, as it should have the most advanced ligature
support there is.

> Do I understand it correctly that "overshooting" with the above rules
> has no bad effect, i.e., if there is a composition rule for -> but the
> font has no ligature glyph for that, then it just stays the way it is?

Not exactly.  In Emacs built with HarfBuzz, you will see the original
ASCII characters displayed, but handled as a single grapheme cluster,
i.e. the cursor will be "widened" to include all of them, and a single
C-f will move across all of them.  However, I believe this is what
users should expect when the font doesn't include some of the
ligatures, no?

> So there could be some ligature-minor-mode which just adds all possible
> composition rules?  (Just speaking naively, I guess there are several
> distinct categories of ligatures which you would want to enable/disable
> on a per-mode basis.)

The part in parentheses is exactly the non-trivial part: we should
figure out which ligatures should be in effect in what major modes,
and probably also as function of some user preferences (such as the
language used in the buffer).  IOW, we need to design the UI for
specifying what classes of ligatures to activate.

Burt if you only care about ligatures in programming languages, the
job becomes much simpler, I think.  Although I'd still expect the
ligatures in effect to depend on the programming language of the
current buffer.  Which means composition-function-table needs to be
buffer-local, and we should make sure making it buffer-local does TRT.



  reply	other threads:[~2020-02-06 18:15 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-04 11:12 Emacs 28: Specific TTF font gets loaded with font-backend x instead of ftcrhb Tassilo Horn
2020-02-04 12:15 ` Robert Pluim
2020-02-04 12:25   ` Robert Pluim
2020-02-04 12:58     ` Tassilo Horn
2020-02-04 13:54       ` Robert Pluim
2020-02-04 14:21         ` Tassilo Horn
2020-02-04 16:26           ` Robert Pluim
2020-02-04 18:32             ` Tassilo Horn
2020-02-04 20:11               ` Robert Pluim
2020-02-05 16:51                 ` Tassilo Horn
2020-02-04 15:31     ` Eli Zaretskii
2020-02-04 18:43       ` Tassilo Horn
2020-02-04 19:08         ` Eli Zaretskii
2020-02-05 16:44           ` Tassilo Horn
2020-02-05 17:04             ` Eli Zaretskii
2020-02-06  7:12               ` Tassilo Horn
2020-02-06 18:15                 ` Eli Zaretskii [this message]
2020-02-07  9:21                   ` Tassilo Horn
     [not found]                   ` <b271f1084b17a53ee1583d1f8cd92e9ed21cf360.camel@gnu.org>
2020-02-07  9:48                     ` Eli Zaretskii
2020-02-07 10:41                       ` Tassilo Horn
2020-02-07 13:28                         ` Eli Zaretskii
2020-02-08  9:39                           ` Tassilo Horn
2020-02-08  9:52                             ` Tassilo Horn
2020-02-08 10:16                               ` Eli Zaretskii
2020-02-08 10:36                                 ` Eli Zaretskii
2020-02-08 12:29                                   ` Tassilo Horn
2020-02-08 13:50                                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83pnerfuq1.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).