3380 |
@cindex glyph |
@cindex glyph |
3381 |
A @dfn{glyph} is a generalization of a character; it stands for an |
A @dfn{glyph} is a generalization of a character; it stands for an |
3382 |
image that takes up a single character position on the screen. Glyphs |
image that takes up a single character position on the screen. Glyphs |
3383 |
are represented in Lisp as integers, just as characters are. |
are represented in Lisp as integers, just as characters are. Normally |
3384 |
|
Emacs finds glyphs in the display table (@pxref{Display Tables}). |
3385 |
|
|
3386 |
@cindex glyph table |
A glyph can be @dfn{simple} or it can be defined by the @dfn{glyph |
3387 |
The meaning of each integer, as a glyph, is defined by the glyph |
table}. A simple glyph is just a way of specifying a character and a |
3388 |
table, which is the value of the variable @code{glyph-table}. |
face to output it in. The glyph code for a simple glyph, mod 524288, |
3389 |
|
is the character to output, and the glyph code divided by 524288 |
3390 |
|
specifies the face number (@pxref{Face Functions}) to use while |
3391 |
|
outputting it. (524288 is |
3392 |
|
@ifnottex |
3393 |
|
2**19.) |
3394 |
|
@end ifnottex |
3395 |
|
@tex |
3396 |
|
$2^{19}$.) |
3397 |
|
@end tex |
3398 |
|
@xref{Faces}. |
3399 |
|
|
3400 |
|
On character terminals, you can set up a @dfn{glyph table} to define |
3401 |
|
the meaning of glyph codes. The glyph codes is the value of the |
3402 |
|
variable @code{glyph-table}. |
3403 |
|
|
3404 |
@defvar glyph-table |
@defvar glyph-table |
3405 |
The value of this variable is the current glyph table. It should be a |
The value of this variable is the current glyph table. It should be a |
3406 |
vector; the @var{g}th element defines glyph code @var{g}. If the value |
vector; the @var{g}th element defines glyph code @var{g}. |
3407 |
is @code{nil} instead of a vector, then all glyphs are simple (see |
|
3408 |
below). The glyph table is not used on windowed displays. |
If a glyph code is greater than or equal to the length of the glyph |
3409 |
|
table, that code is automatically simple. If the value of |
3410 |
|
@code{glyph-table} is @code{nil} instead of a vector, then all glyphs |
3411 |
|
are simple. The glyph table is not used on graphical displays, only |
3412 |
|
on character terminals. On graphical displays, all glyphs are simple. |
3413 |
@end defvar |
@end defvar |
3414 |
|
|
3415 |
Here are the possible types of elements in the glyph table: |
Here are the possible types of elements in the glyph table: |
3422 |
|
|
3423 |
@item @var{integer} |
@item @var{integer} |
3424 |
Define this glyph code as an alias for glyph code @var{integer}. You |
Define this glyph code as an alias for glyph code @var{integer}. You |
3425 |
can use an alias to specify a face code for the glyph; see below. |
can use an alias to specify a face code for the glyph and use a small |
3426 |
|
number as its code. |
3427 |
|
|
3428 |
@item @code{nil} |
@item @code{nil} |
3429 |
This glyph is simple. The glyph code mod 524288 is the character to |
This glyph is simple. |
|
output, and the glyph code divided by 524288 specifies the face number |
|
|
(@pxref{Face Functions}) to use while outputting it. (524288 is |
|
|
@ifnottex |
|
|
2**19.) |
|
|
@end ifnottex |
|
|
@tex |
|
|
$2^{19}$.) |
|
|
@end tex |
|
|
@xref{Faces}. |
|
3430 |
@end table |
@end table |
3431 |
|
|
|
If a glyph code is greater than or equal to the length of the glyph |
|
|
table, that code is automatically simple. |
|
|
|
|
3432 |
@defun create-glyph string |
@defun create-glyph string |
3433 |
@tindex create-glyph |
@tindex create-glyph |
3434 |
This function returns a newly-allocated glyph code which is set up to |
This function returns a newly-allocated glyph code which is set up to |