- New API for char->font mapping; supersedes charset-registry and CCL;
  supports all windows systems; powerful enough for Unicode; etc.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(charset-font-mapping charset)

font-mapping-specifier  string

char-font-mapping-table

char-table, specifier; elements of char table are either strings
(which specify a registry or comparable font property, or vectors of
a string (same) followed by keyword-value pairs (optional).  The only
allowable keyword currently is :ccl-program, which specifies a CCL
program to map the characters into font indices.  Other keywords may
be added e.g. allowing Elisp fragments instead of CCL programs, also
allowed is [inherit], which inherits from the next less-specific
char-table in the specifier.

The preferred interface onto this mapping (which should be portable
across Emacsen) is

(set-char-font-mapping key value &optional locale tag-set how-to-add)

where key is a char, range or charset (as for put-char-table), value
is as above, and the other arguments are standard for specifiers.
This automatically creates a char table in the locale, as necessary
(all elements default to [inherit]).  On GNU Emacs, some specifiers
arguments may be unimplemented.

(char-font-mapping key value &optional locale)
works vaguely like get-specifier?   But does inheritance processing.
locale should clearly default here to current-buffer

#### should get-specifier as well?  Would make it work most like
#### buffer-local variables.

NB.  set-charset-registry and set-charset-ccl-program are obsoleted.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>