unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: rms@gnu.org
Cc: psainty@orcon.net.nz, luangruo@yahoo.com,
	kevin.legouguec@gmail.com, emacs-devel@gnu.org
Subject: Re: Can watermarking Unicode text using invisible differences sneak through Emacs, or can Emacs detect it?
Date: Sun, 30 Jan 2022 09:36:48 +0200	[thread overview]
Message-ID: <8335l5brov.fsf@gnu.org> (raw)
In-Reply-To: <E1nE1eT-0006oH-WB@fencepost.gnu.org> (message from Richard Stallman on Sat, 29 Jan 2022 23:17:21 -0500)

> From: Richard Stallman <rms@gnu.org>
> Cc: psainty@orcon.net.nz, luangruo@yahoo.com, emacs-devel@gnu.org,
> 	kevin.legouguec@gmail.com
> Date: Sat, 29 Jan 2022 23:17:21 -0500
> 
>   > IIUC what you mean by "this feature", we already have that in
>   > latin1-disp.el.
> 
> It is the same general idea, but (according to the comments at the
> start) it handles only the characters in the ISO 8859 character sets.

That comment is obsolete; I've updated it now.  There are facilities
in that package that display much more than ISO 8859 characters, see
latin1-display-ucs-per-lynx.

> It should handle all the Unicode characters that could sensibly be
> represented as characters to be composed, including ligatures and all
> Latin and Greek characters with diacritics.  Maybe some others can be
> handled too.

Ligatures are currently not there, and I think it would make sense to
have that as a separate command, as I suggested in another email
(which you still didn't respond to).  I'm waiting for your response
before I decide whether to install such a feature.  The question I
asked was:

  Would it be good enough to have a command that will arrange for these
  ligatures to be displayed as their ASCII equivalents, using the
  facilities in latin1-disp.el?  Such a command could be invoked either
  manually or from your init file.  latin1-disp.el also provides a
  special face to display such equivalents, so you could have them stand
  out on display if you want.

> I customized the variable to enable that mode but I don't know how to make it actually do
> anything.  Maybe it needs something else to truly enable it.

If you customized latin1-display, then it only affects characters that
your terminal doesn't support.  The code dynamically discovers which
characters are those when you activate the feature.  See this fragment
from the setup function:

  (defun latin1-display-setup (set &optional _force)
    "Set up Latin-1 display for characters in the given SET.
  SET must be a member of `latin1-display-sets'.  Normally, check
  whether a font for SET is available and don't set the display if it is."
    (cond
     ((eq set 'latin-2)
      (latin1-display-identities set)
      (mapc
       (lambda (l)
	 (or (char-displayable-p (car l))  <<<<<<<<<<<<<<<<<<<<<<<<<<
	     (apply 'latin1-display-char l)))

> I inserted ẵ (latin small letter a with breve and tilde); it does not
> do anything special to that.

ẵ is not supported by latin1-display, as it is not an ISO 8859
character.  You need to turn on a more thorough feature.  Try this:

  M-x latin1-display-ucs-per-lynx RET

>   > Given the enormously large number of such sequences, I doubt that
>   > terminfo is the right means for determining which sequences are
>   > supported.  We have a solution for the Linux console,
> 
> We do?  What is it?

The same code I pointed to in response to your other message (about
displaying ligatures as diamonds): terminal_glyph_code and its
subroutine calculate_glyph_code_table (in terminal.c).

> I don't think auto-composition does anything in my Emacs.  If I insert
> an f and an i in the buffer, they display as two characters, f followed by i.
> Not as a ligature.

We haven't yet installed composition rules for ASCII ligatures,
because we need first to resolve some basic problems with them (see
etc/TODO for the details).  I could show you how to install such a
composition rule, but I don't think it will do anything on your
console, since it doesn't support ligatures.



  reply	other threads:[~2022-01-30  7:36 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19  4:15 Can watermarking Unicode text using invisible differences sneak through Emacs, or can Emacs detect it? Richard Stallman
2022-01-19  4:47 ` Po Lu
2022-01-19 10:05   ` Phil Sainty
2022-01-19 11:43     ` Eli Zaretskii
2022-01-21  4:13       ` Richard Stallman
2022-01-21  7:49         ` Eli Zaretskii
2022-01-22  4:37           ` Richard Stallman
2022-01-22  6:58             ` Eli Zaretskii
2022-01-24  4:33               ` Richard Stallman
2022-01-24  5:06                 ` Po Lu
2022-01-25  4:17                   ` Richard Stallman
2022-01-25  4:58                     ` Po Lu
2022-01-24 12:14                 ` Eli Zaretskii
2022-01-25  4:16                   ` Richard Stallman
2022-01-25  6:35                     ` Eli Zaretskii
2022-01-25 12:12                       ` Eli Zaretskii
2022-01-25  4:16                   ` New feature: displaying ligature characters in the buffer Richard Stallman
2022-01-25  6:31                     ` Eli Zaretskii
2022-01-27  4:12                       ` Richard Stallman
2022-01-27  7:58                         ` Eli Zaretskii
2022-01-25 11:08                   ` Can watermarking Unicode text using invisible differences sneak through Emacs, or can Emacs detect it? Kévin Le Gouguec
2022-01-25 12:38                     ` Eli Zaretskii
2022-01-26  3:39                       ` Richard Stallman
2022-01-26  5:38                         ` Eli Zaretskii
2022-01-28 13:04                           ` Richard Stallman
2022-01-28 13:31                             ` Eli Zaretskii
2022-01-30  4:17                               ` Richard Stallman
2022-01-30  7:36                                 ` Eli Zaretskii [this message]
2022-01-31  4:02                                   ` Richard Stallman
2022-01-31 13:05                                     ` Eli Zaretskii
2022-02-01  5:06                                       ` Richard Stallman
2022-02-01 14:57                                         ` Eli Zaretskii
2022-02-02  3:58                                           ` Richard Stallman
2022-02-02 12:28                                             ` Eli Zaretskii
2022-02-03  4:23                                               ` Richard Stallman
2022-02-03  7:53                                                 ` Eli Zaretskii
2022-02-03  8:16                                                   ` Yuri Khan
2022-02-03  9:26                                                     ` Eli Zaretskii
2022-02-04  3:52                                                   ` Richard Stallman
2022-02-04  4:56                                                     ` Yuri Khan
2022-02-06  4:13                                                       ` Richard Stallman
2022-02-04  8:10                                                     ` Eli Zaretskii
2022-02-06  4:13                                                       ` Richard Stallman
2022-02-03 20:28                                                 ` Tomas Hlavaty
2022-02-04  7:07                                                   ` Eli Zaretskii
2022-02-05  4:20                                                   ` Richard Stallman
2022-02-05 13:55                                                     ` Tomas Hlavaty
2022-02-05 14:06                                                       ` Eli Zaretskii
2022-02-05 14:12                                                         ` Eli Zaretskii
2022-02-06  1:29                                                           ` Tomas Hlavaty
2022-02-06  8:30                                                             ` Eli Zaretskii
2022-02-06 10:38                                                               ` Tomas Hlavaty
2022-02-06 10:44                                                                 ` Eli Zaretskii
2022-02-06 10:54                                                                 ` Andreas Schwab
2022-02-06  1:10                                                         ` Tomas Hlavaty
2022-02-06  4:16                                                         ` Richard Stallman
2022-02-06  4:16                                                       ` Richard Stallman
2022-02-06 11:29                                                         ` Tomas Hlavaty
2022-02-04  3:52                                                 ` Richard Stallman
2022-02-04  8:03                                                   ` Eli Zaretskii
2022-02-06  4:13                                                     ` Richard Stallman
2022-02-06  8:56                                                       ` Eli Zaretskii
2022-02-07  5:11                                                         ` Richard Stallman
2022-02-07 13:16                                                           ` Eli Zaretskii
2022-02-08  3:55                                                             ` Richard Stallman
2022-02-08 12:20                                                               ` Eli Zaretskii
2022-02-09  4:06                                                                 ` Richard Stallman
2022-02-09 13:50                                                                   ` Eli Zaretskii
2022-02-10  3:57                                                                     ` Richard Stallman
2022-02-10  6:26                                                                       ` Eli Zaretskii
2022-02-12  3:57                                                                         ` Richard Stallman
2022-02-12  7:36                                                                           ` Eli Zaretskii
2022-02-14  4:13                                                                             ` Richard Stallman
2022-02-14 12:07                                                                               ` Eli Zaretskii
2022-02-15  4:33                                                                                 ` Richard Stallman
2022-02-15 13:32                                                                                   ` Eli Zaretskii
2022-02-16  4:14                                                                                     ` Richard Stallman
2022-02-16 12:10                                                                                       ` Eli Zaretskii
2022-02-19  4:54                                                                                         ` Richard Stallman
2022-02-12 20:10                                                                           ` Tomas Hlavaty
2022-02-14  4:14                                                                             ` Richard Stallman
2022-01-26  8:20                         ` Andreas Schwab
2022-01-27  4:13                           ` Richard Stallman
2022-01-27  6:39                             ` Eli Zaretskii
2022-01-27  8:13                               ` Kévin Le Gouguec
2022-01-27  9:55                                 ` Eli Zaretskii
2022-01-27 10:29                                   ` Eli Zaretskii
2022-01-27 17:36                                     ` Kévin Le Gouguec
2022-01-27 18:38                                       ` Eli Zaretskii
2022-01-20  3:17     ` Richard Stallman
2022-01-20  4:54       ` Phil Sainty
2022-01-20  6:39         ` tomas
2022-01-20 17:58           ` [External] : " Drew Adams
2022-01-22  4:37           ` Richard Stallman
2022-01-22  5:16             ` Po Lu
2022-01-20  7:57         ` Eli Zaretskii
2022-01-20  6:35       ` Tim Cross
2022-01-20  7:39         ` tomas
2022-01-20  8:20         ` Eli Zaretskii
2022-01-20  7:48       ` Eli Zaretskii
2022-01-20  8:17         ` Lars Ingebrigtsen
2022-01-21  4:14         ` Richard Stallman
2022-01-19  8:20 ` Eli Zaretskii
2022-01-19 17:36 ` T.V Raman

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=8335l5brov.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kevin.legouguec@gmail.com \
    --cc=luangruo@yahoo.com \
    --cc=psainty@orcon.net.nz \
    --cc=rms@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.
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).