Subject: bug#20499: C-x 8 shorthands for curved quotes, Euro, etc.

From: Drew Adams <[email-masked]>
Date: Fri, 8 May 2015 17:03:53 -0700 (PDT)

The discussion has gone in a few directions beyond `C-x 8 shorthands'.

I understand that Richard would like a help buffer that groups
multiple glyphs together in blocks or in categories of various kinds.

I don't have that to offer, but maybe this would help in a different
way: library `apu.el' provides apropos help for Unicode chars.

Command `apropos-unicode' shows you the Unicode chars that match
an apropos pattern you specify: a regexp or a space-separated list
of words.  The chars whose names match are shown in a help buffer,
along with the names and code points (decimal and hex).

You can keep several such buffers open, for use with different
subsets of chars you are interested in.

In the help buffer, you can use these keys to act on the char
described on the current line:

* `RET' or `mouse-2' - see info about it (`C-u C-x =' output).
* `i' - google for more information about it.
* `^' - insert it at point in the buffer where you invoked
        `apropos-unicode'.
* `c' - define a command to insert it that has the same name.
        E.g. `greek-small-letter-phi'. (You need library
        `ucs-cmds.el' for this.)
* `k' - globally bind a key to insert it.
* `l' - locally bind a key to insert it.
* `M-w' - copy it to the `kill-ring'.
* `M-y' - copy it to the secondary selection.

The library is here: http://www.emacswiki.org/emacs/download/apu.el.

TODO maybe:

* Pop-up a glyph enlargement (e.g., by mouseover or key).
* Be able to match code points too in the pattern.
* Be able to choose chars of a given syntax class or other group.
* Add a header line and use it to sort by different columns.
* Add an option of patterns to exclude from matches, to exclude
  things like `TAG' and `VARIATION SELECTOR'.
* Be able to easily match a base char.  You can do this OK now
  using a regexp such as ` \(BASE-CHAR \|$\)', but maybe there
  is a better way.

Is there a good way to exclude chars whose glyphs are essentially
(apparently) whitespace, e.g., `MUSICAL SYMBOL END TIE'?

Is there a way to exclude chars that cannot be shown in the current
font?  (Asked previously.)