Next: Unicode, Previous: Characters, Up: Characters [Contents][Index]
An MIT/GNU Scheme character consists of a code part and a bucky bits part. The code part is a Unicode code point, while the bucky bits are an additional set of bits representing shift keys available on some keyboards.
There are 4 bucky bits, named control, meta, super, and hyper. On GNU/Linux systems running a graphical desktop, the control bit corresponds to the CTRL key; the meta bit corresponds to the ALT key; and the super bit corresponds to the “windows” key. On macOS, these are the CONTROL, OPTION, and COMMAND keys respectively.
Characters with bucky bits are not used much outside of graphical user interfaces (e.g. Edwin). They cannot be stored in strings or character sets, and aren’t read or written by textual I/O ports.
Builds a character from code and bucky-bits. The value of
code must be a Unicode code point; the value of bucky-bits
must be an exact non-negative integer strictly less than 16
.
If 0
is specified for bucky-bits, make-char
produces an ordinary character; otherwise, the appropriate bits are
set as follows:
1 meta 2 control 4 super 8 hyper
For example,
(make-char 97 0) ⇒ #\a (make-char 97 1) ⇒ #\M-a (make-char 97 2) ⇒ #\C-a (make-char 97 3) ⇒ #\C-M-a
Returns the Unicode code point of char. Note that if char
has no bucky bits set, then this is the same value returned by
char->integer
.
For example,
(char-code #\a) ⇒ 97 (char-code #\c-a) ⇒ 97
Returns the exact integer representation of char’s bucky bits. For example,
(char-bits #\a) ⇒ 0 (char-bits #\m-a) ⇒ 1 (char-bits #\c-a) ⇒ 2 (char-bits #\c-m-a) ⇒ 3
This constant is the strict upper limit on a character’s code
value. It is #x110000
unless some future version of Unicode
increases the range of code points.
This constant is the strict upper limit on a character’s
bucky-bits value. It is currently #x10
and unlikely to
change in the future.
Returns #t
if object is a character with no bucky bits
set, otherwise it returns #f
.
Returns char with any bucky bits removed. The result is
guaranteed to satisfy bitless-char?
.
Returns a procedure of one argument that returns #t
if its
argument is a character char=?
to char, otherwise it
returns #f
.
Returns a procedure of one argument that returns #t
if its
argument is a character char-ci=?
to char, otherwise it
returns #f
.
Next: Unicode, Previous: Characters, Up: Characters [Contents][Index]