GNU Info

Info Node: (elisp)Splitting Characters

(elisp)Splitting Characters


Next: Scanning Charsets Prev: Chars and Bytes Up: Non-ASCII Characters
Enter node , (file) or (file)node

Splitting Characters
====================

   The functions in this section convert between characters and the byte
values used to represent them.  For most purposes, there is no need to
be concerned with the sequence of bytes used to represent a character,
because Emacs translates automatically when necessary.

 - Function: split-char character
     Return a list containing the name of the character set of
     CHARACTER, followed by one or two byte values (integers) which
     identify CHARACTER within that character set.  The number of byte
     values is the character set's dimension.

          (split-char 2248)
               => (latin-iso8859-1 72)
          (split-char 65)
               => (ascii 65)
          (split-char 128)
               => (eight-bit-control 128)

 - Function: make-char charset &optional code1 code2
     This function returns the character in character set CHARSET whose
     position codes are CODE1 and CODE2.  This is roughly the inverse
     of `split-char'.  Normally, you should specify either one or both
     of CODE1 and CODE2 according to the dimension of CHARSET.  For
     example,

          (make-char 'latin-iso8859-1 72)
               => 2248

   If you call `make-char' with no BYTE-VALUES, the result is a
"generic character" which stands for CHARSET.  A generic character is
an integer, but it is _not_ valid for insertion in the buffer as a
character.  It can be used in `char-table-range' to refer to the whole
character set (Note: Char-Tables).  `char-valid-p' returns `nil' for
generic characters.  For example:

     (make-char 'latin-iso8859-1)
          => 2176
     (char-valid-p 2176)
          => nil
     (char-valid-p 2176 t)
          => t
     (split-char 2176)
          => (latin-iso8859-1 0)

   The character sets ASCII, EIGHT-BIT-CONTROL, and EIGHT-BIT-GRAPHIC
don't have corresponding generic characters.  If CHARSET is one of them
and you don't supply CODE1, `make-char' returns the character code
corresponding to the smallest code in CHARSET.


automatically generated by info2www version 1.2.2.9