all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: chad <yandros@gmail.com>
Cc: juri@linkov.net, casouri@gmail.com, cpitclaudel@gmail.com,
	emacs-devel@gnu.org, yuri.v.khan@gmail.com
Subject: Re: High-res Customize icons
Date: Fri, 24 Apr 2020 10:18:53 +0300	[thread overview]
Message-ID: <83o8rhbbc2.fsf@gnu.org> (raw)
In-Reply-To: <CAO2hHWaY=ozkyG1c7UiJXz=7h_dCD0HhUcC1DNASq2ESzjL0SQ@mail.gmail.com> (message from chad on Thu, 23 Apr 2020 16:23:27 -0700)

> From: chad <yandros@gmail.com>
> Date: Thu, 23 Apr 2020 16:23:27 -0700
> Cc: Werner LEMBERG <wl@gnu.org>, Juri Linkov <juri@linkov.net>, Yuan Fu <casouri@gmail.com>, 
> 	Yuri Khan <yuri.v.khan@gmail.com>, Clément Pit-Claudel <cpitclaudel@gmail.com>, 
> 	EMACS development team <emacs-devel@gnu.org>
> 
> I know that you don't like the idea of using fonts for icons and emoji inside emacs. I would ask you to
> reconsider, for two (and a half) reasons:

Thanks.  I already did reconsider that, based on what was posted in
this thread, and my latest opinion is in the message I sent a few
minutes back, in response to Stefan's (and more about it below).

> 1.) This support us ubiquitous in the "modern" toolchains used by new developers, especially in ubiquitous
> real-time chat systems, internet fora, and the like. Anecdotally, I know emacs' lack of support for emoji (with
> the additional refinement of support being added to and then removed from emacs under macOS) has
> caused multiple smart coders to abandon emacs very quickly.
> 
> 2.) The all-the-icons package was created to consolidate multiple packages that were installing these fonts
> for their own uses, especially packages that update the mode line and the various file browsers (which is
> why all-the-icons uses those screenshots specifically), and also MUA code. Put another way, people are
> very likely to use some of these fonts inside emacs anyway. The difference is in how much effort it takes --
> whether they see it mostly in packages like Spacemacs, Doom, and mu4e, or in "plain emacs".
> 
> 2.5) These fonts are very popular amongst developers who use "fancy prompt" packages for their shell, so
> that their prompt includes things like git status, python/docker/ruby/etc env markers, battery indicators, and
> similar. These features are pretty young (compared to most of us, anyway), but are nigh-ubiquitous among
> newer developers I've seen; the features are both built into many new shells and have spawned a
> surprisingly large variety of "cool prompt" packages for a wide variety of shells (including several for bash). I
> mention this as evidence that installing fonts is not at all a high bar for most developers.

Those reasons are valid for third-party package developers.  As I
wrote, I understand very well why they are doing that.  Moreover, no
matter what I say, I cannot cause anyone to do things differently in
their own packages.  I won't even try.  People who like the results
are free to use those packages, they are free software.

But for core Emacs features we cannot be guided by convenience alone,
nor by the least-resistance pathways.  We must do it The Right Way,
the way that the technology dictates, the way that will not cause
clashes with other Emacs features and with future developments.

Take the example of the various ligature-using packages, which use the
prettify-symbols-mode.  Their popularity notwithstanding, this is the
wrong way of adding support for ligatures to Emacs.  It is wrong to
tell users to install a certain font or a bunch of fonts, and then
manually configure each ligature by peeking inside the font and
figuring out the glyph code for each ligature.  The right way of doing
that is to use a text-shaping engine which will work with the font to
produce the ligatures automatically.  Which is what we did when we
moved to HarfBuzz as our main text shaper.  Now ligatures are almost
free for having, we just need motivated individuals to figure out the
user-facing front-end and write some simple Lisp.

Yes, the prettify-symbols-mode way is "easier".  Yes, there are many
packages out there which use that.  No, it isn't TRT, because it
causes you to be married to a certain edition of a certain font.  To
say nothing of the fact that static compositions, which underly
prettify-symbols-mode, don't support bidirectional scripts, and so are
from the get-go obsolete technology that we shouldn't embrace for
novel features.

The bottom line is that IMO we should take technology and future
developments into consideration when we decide how to implement core
features in Emacs.  That something can be easily done today is not
necessarily the only or even the main reason for doing that in core
that very way.

It is possible that "by popular demand" we will eventually use
something like those fonts, regardless of what I think, but I don't
think we should.

> P.S. ...and now I notice that this is pretty much the only communication medium I regularly use that doesn't
> automatically convert that smiley into an emoji... ...because I choose to have it off for this mailing list. 

Not sure why, the Emacs email agents are perfectly capable of
displaying smileys, certainly with our use of HarfBuzz today.



  reply	other threads:[~2020-04-24  7:18 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-21 19:47 High-res Customize icons Yuan Fu
2020-04-22  2:23 ` Eli Zaretskii
2020-04-22  2:37   ` Clément Pit-Claudel
2020-04-22  5:47     ` chad
2020-04-22 12:24       ` Yuan Fu
2020-04-22 12:41         ` Yuri Khan
2020-04-22 13:54           ` Yuan Fu
2020-04-22 21:12             ` Juri Linkov
2020-04-22 22:20               ` Yuan Fu
2020-04-23  4:11               ` Werner LEMBERG
2020-04-23 14:52                 ` Eli Zaretskii
2020-04-23 15:07                   ` Clément Pit-Claudel
2020-04-23 17:49                   ` Werner LEMBERG
2020-04-23 19:27                     ` Eli Zaretskii
2020-04-23 19:35                       ` Yuan Fu
2020-04-23 19:40                         ` Eli Zaretskii
2020-04-23 19:59                           ` Yuan Fu
2020-04-23 23:02                             ` chad
2020-04-24  6:30                             ` Eli Zaretskii
2020-04-24 11:00                               ` Dmitry Gutov
2020-04-23 23:23                       ` chad
2020-04-24  7:18                         ` Eli Zaretskii [this message]
2020-04-25  3:30                       ` Richard Stallman
2020-04-25  7:02                         ` Eli Zaretskii
2020-04-25 12:37                           ` Clément Pit-Claudel
2020-04-25 13:56                             ` Eli Zaretskii
2020-04-22 13:35       ` Eli Zaretskii
2020-04-22 17:09         ` chad
2020-04-22 17:36           ` Eli Zaretskii
2020-04-22 18:28             ` chad
2020-04-22 18:38               ` Eli Zaretskii
2020-04-22 19:19                 ` Yuan Fu
2020-04-22 19:28                   ` Eli Zaretskii
2020-04-22 20:38                     ` Yuan Fu
2020-05-01 13:46                       ` Eli Zaretskii
2020-10-22 15:33                         ` Yuan Fu
2020-10-23 16:39                         ` Yuan Fu
2020-10-23 18:08                           ` Eli Zaretskii
2020-10-27 19:17                             ` Yuan Fu
2020-10-27 19:27                               ` Eli Zaretskii
2020-10-27 22:26                               ` Alan Third
2020-10-27 23:09                                 ` Yuan Fu
2020-10-28  0:05                                   ` Alan Third
2020-10-28  1:22                               ` YAMAMOTO Mitsuharu
2020-10-29  5:31                                 ` Yuan Fu
  -- strict thread matches above, loose matches on Subject: below --
2020-04-23  7:14 ndame
2020-04-23  7:25 ` ndame
2020-04-23 10:06 ` Stefan Kangas
2020-04-23 14:07   ` Stefan Kangas
2020-04-23 14:11     ` Stefan Kangas
2020-04-23 14:39       ` Clément Pit-Claudel
2020-04-23 14:46       ` Lars Ingebrigtsen
2020-04-23 15:00         ` Clément Pit-Claudel
2020-04-23 15:44           ` Stefan Monnier
2020-04-23 19:14             ` Eli Zaretskii
2020-04-23 20:33               ` Stefan Monnier
2020-04-24  6:51                 ` Eli Zaretskii
2020-04-24 13:06                   ` Stefan Monnier
2020-04-24 13:36                     ` Eli Zaretskii
2020-04-24 15:13                       ` Stefan Monnier
2020-04-24 15:46                         ` Eli Zaretskii
2020-04-23 15:15         ` Eli Zaretskii
2020-04-23 15:17           ` Lars Ingebrigtsen
2020-04-23 16:40             ` Yuan Fu
2020-04-23 15:09       ` Eli Zaretskii
2020-04-23 16:19         ` Stefan Kangas
2020-04-23 16:35           ` Stefan Kangas
2020-04-23 15:08     ` Eli Zaretskii
2020-04-23 15:49       ` Clément Pit-Claudel
2020-04-23 16:34         ` Stefan Kangas
2020-04-23 19:56           ` Clément Pit-Claudel
2020-04-23 19:12         ` Eli Zaretskii
2020-04-25  2:55           ` Clément Pit-Claudel
2020-04-25  7:03             ` Eli Zaretskii
2020-04-25 13:12               ` Clément Pit-Claudel
2020-04-25 13:18                 ` Stefan Kangas
2020-04-24 12:05 ` Eli Zaretskii
2020-04-24 15:11   ` ndame
2020-04-24 15:45     ` Eli Zaretskii
2020-04-24 16:07       ` Stefan Monnier
2020-04-24 16:29         ` Eli Zaretskii
2020-04-25  3:38       ` Richard Stallman
2020-04-28 13:55         ` Robert Pluim
2020-04-28 14:38           ` Eli Zaretskii
2020-04-29 12:30             ` Robert Pluim
2020-04-29 14:00               ` Eli Zaretskii
2020-04-25  3:34   ` Richard Stallman
2020-04-25  6:39     ` 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

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

  git send-email \
    --in-reply-to=83o8rhbbc2.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=casouri@gmail.com \
    --cc=cpitclaudel@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=juri@linkov.net \
    --cc=yandros@gmail.com \
    --cc=yuri.v.khan@gmail.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.