unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: schwab@linux-m68k.org, bugs@gnu.support, 44664@debbugs.gnu.org
Subject: bug#44664: 28.0.50; troubles with some chars in term
Date: Wed, 25 Nov 2020 17:35:39 +0200	[thread overview]
Message-ID: <83mtz5sb3o.fsf@gnu.org> (raw)
In-Reply-To: <87tute0vu6.fsf@gnus.org> (message from Lars Ingebrigtsen on Wed,  25 Nov 2020 07:55:13 +0100)

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: schwab@linux-m68k.org,  bugs@gnu.support,  44664@debbugs.gnu.org
> Date: Wed, 25 Nov 2020 07:55:13 +0100
> 
> But I was just experimenting a bit, and I wondered how you can force
> Emacs into using a specific font for some text.  The following does not
> work:
> 
> (insert (propertize "fooѾx" 'face '(:family "Futura")))
> 
> Now, that font doesn't have the Ѿ glyph, so I'd expect Emacs to tofu
> that character, but instead it renders it using DejaVu Sans?

This is a subtlety of the Emacs handling of faces: the font part of
the face spec only specifies the font for ASCII characters.  When
Emacs needs to display non-ASCII characters, it internally creates a
new face, which is based on the ASCII face, but uses a different font
if necessary.  Those internally-created faces aren't visible from
Lisp, but you can see them in the frame's face cache and in the glyph
matrices.

> But as you can see, this isn't really monospaced, either -- the tofu
> glyphs here are narrower than the other glyphs.  And...  hang on --
> there's still some glitches, but they are much smaller than before.
> 
> I've tried a couple more monospaced fonts, but none seem to have full
> coverage.
> 
> I'm starting to wonder whether gnome-terminal is just faking the
> monospaceness?  That is -- if the glyph is too wide, it's just narrowing
> it?

Maybe.  We can do that as well, btw.  We already do something like
that with fonts that declare too large height for its character
glyphs: we override that with a reasonable value.  We could do
something similar for the width, conditioned on some buffer-local
variable.  The relative complexity of this wrt what terminal emulators
do is that terminal emulators can do that always, whereas Emacs cannot
do that by default, it must be an opt-in feature requested by the
likes of term.el.





  parent reply	other threads:[~2020-11-25 15:35 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-15 19:45 bug#44664: 28.0.50; troubles with some chars in term Jean Louis
2020-11-16 22:30 ` Lars Ingebrigtsen
2020-11-17  4:15   ` Jean Louis
2020-11-17  9:00 ` Andreas Schwab
2020-11-17  9:43   ` Jean Louis
2020-11-17  9:55     ` Andreas Schwab
2020-11-17 10:00       ` Jean Louis
2020-11-17 15:12         ` Eli Zaretskii
2020-11-17 17:15           ` Jean Louis
2020-11-17 21:05             ` Eli Zaretskii
2020-11-17 21:54               ` Jean Louis
2020-11-17 22:02               ` Andreas Schwab
2020-11-18  3:30                 ` Eli Zaretskii
2020-11-18  6:05                   ` Jean Louis
2020-11-18  8:25                   ` Andreas Schwab
2020-11-18  8:39                     ` Lars Ingebrigtsen
2020-11-18  8:45                     ` Lars Ingebrigtsen
2020-11-18 15:11                       ` Eli Zaretskii
     [not found]                         ` <X7U/qT7sSLW4wcTg@protected.rcdrun.com>
2020-11-18 18:14                           ` Eli Zaretskii
2020-11-18 20:06                             ` Jean Louis
2020-11-19 14:26                               ` Eli Zaretskii
     [not found]                                 ` <X7aLF3tMx3yfkb9k@protected.rcdrun.com>
2020-11-19 16:15                                   ` Eli Zaretskii
2020-11-19 16:38                                     ` Jean Louis
2020-11-19 17:27                                       ` Eli Zaretskii
2020-11-19 16:53                                     ` Jean Louis
2020-11-19 17:28                                       ` Eli Zaretskii
2020-11-19 17:41                                         ` Jean Louis
2020-11-19 17:56                                           ` Eli Zaretskii
2020-11-18 21:04                         ` Lars Ingebrigtsen
2020-11-19  3:29                           ` Eli Zaretskii
2020-11-19 21:07                             ` Lars Ingebrigtsen
2020-11-20  7:39                               ` Eli Zaretskii
2020-11-24  5:58                                 ` Lars Ingebrigtsen
2020-11-24 15:32                                   ` Eli Zaretskii
2020-11-25  6:55                                     ` Lars Ingebrigtsen
2020-11-25  8:30                                       ` Andreas Schwab
2020-11-25  9:08                                         ` Lars Ingebrigtsen
2020-11-25  9:23                                           ` Basil L. Contovounesios
2020-11-26  9:46                                             ` Lars Ingebrigtsen
2020-11-26 10:13                                               ` Andreas Schwab
2020-11-26 10:16                                                 ` Lars Ingebrigtsen
2020-11-26 11:15                                                   ` Robert Pluim
2020-11-26 11:21                                                     ` Lars Ingebrigtsen
2020-11-26 21:14                                               ` Basil L. Contovounesios
2020-11-27  7:53                                                 ` Lars Ingebrigtsen
2020-11-25  9:27                                           ` Andreas Schwab
2020-11-25 15:35                                       ` Eli Zaretskii [this message]
2020-11-26  9:50                                         ` Lars Ingebrigtsen
2020-11-26 14:17                                           ` Eli Zaretskii
2020-11-27  7:51                                             ` Lars Ingebrigtsen
2020-11-27  8:14                                               ` Eli Zaretskii
2020-11-29  9:58                                                 ` Lars Ingebrigtsen
2020-11-29 15:46                                                   ` Eli Zaretskii
2020-11-30 10:05                                                     ` Lars Ingebrigtsen
2020-11-30 16:12                                                       ` Eli Zaretskii
2020-12-02  9:39                                                         ` Lars Ingebrigtsen
2020-12-02 15:02                                                           ` Eli Zaretskii
2020-12-02 16:33                                                             ` Jean Louis
2020-12-03  8:44                                                               ` Lars Ingebrigtsen
2020-12-03  8:52                                                                 ` Jean Louis
2020-12-03  9:02                                                                   ` Lars Ingebrigtsen
2020-12-03 15:19                                                                     ` Eli Zaretskii
2020-12-03 15:14                                                                 ` Eli Zaretskii
2020-12-03 16:59                                                                   ` Lars Ingebrigtsen
2020-12-03 17:04                                                                     ` Eli Zaretskii
2020-11-19  8:20                           ` Andreas Schwab
2020-11-19 21:06                             ` Lars Ingebrigtsen

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=83mtz5sb3o.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=44664@debbugs.gnu.org \
    --cc=bugs@gnu.support \
    --cc=larsi@gnus.org \
    --cc=schwab@linux-m68k.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.
Code repositories for project(s) associated with this public inbox

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

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).