Mercurial > emacs
comparison lispref/display.texi @ 75875:bdb0a4edf3b9
(Glyphs): Add make-glyph-code, glyph-char, glyph-face.
Rewrite glyph code description to refer to these functions.
Remove details of encoding face number and char into integer code.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Wed, 14 Feb 2007 11:31:28 +0000 |
parents | 2b38ddd3fe74 |
children | fec7d780a786 dd7c098af727 |
comparison
equal
deleted
inserted
replaced
75874:b9243e7cca8d | 75875:bdb0a4edf3b9 |
---|---|
5264 @node Glyphs | 5264 @node Glyphs |
5265 @subsection Glyphs | 5265 @subsection Glyphs |
5266 | 5266 |
5267 @cindex glyph | 5267 @cindex glyph |
5268 A @dfn{glyph} is a generalization of a character; it stands for an | 5268 A @dfn{glyph} is a generalization of a character; it stands for an |
5269 image that takes up a single character position on the screen. Glyphs | 5269 image that takes up a single character position on the screen. Normally |
5270 are represented in Lisp as integers, just as characters are. Normally | |
5271 glyphs come from vectors in the display table (@pxref{Display Tables}). | 5270 glyphs come from vectors in the display table (@pxref{Display Tables}). |
5272 | 5271 |
5273 A glyph code can be @dfn{simple} or it can be defined by the | 5272 A glyph is represented in Lisp as a @dfn{glyph code}. A glyph code |
5274 @dfn{glyph table}. A simple glyph code is just a way of specifying a | 5273 can be @dfn{simple} or it can be defined by the @dfn{glyph table}. A |
5275 character and a face to output it in. When a glyph code is simple, | 5274 simple glyph code is just a way of specifying a character and a face |
5276 the code, mod 524288, is the character to output, and the code divided | 5275 to output it in. @xref{Faces}. |
5277 by 524288 specifies the face number (@pxref{Face Functions}) to use | 5276 |
5278 while outputting it. (524288 is | 5277 The following functions are used to manipulate simple glyph codes: |
5279 @ifnottex | 5278 |
5280 2**19.) | 5279 @defun make-glyph-code char &optional face |
5281 @end ifnottex | 5280 This function returns a simple glyph code representing char @var{char} |
5282 @tex | 5281 with face @var{face}. |
5283 $2^{19}$.) | 5282 @end defun |
5284 @end tex | 5283 |
5285 @xref{Faces}. | 5284 @defun glyph-char glyph |
5285 This function returns the character of simple glyph code @var{glyph}. | |
5286 @end defun | |
5287 | |
5288 @defun glyph-face glyph | |
5289 This function returns face of simple glyph code @var{glyph}, or | |
5290 @code{nil} if @var{glyph} has the default face (face-id 0). | |
5291 @end defun | |
5286 | 5292 |
5287 On character terminals, you can set up a @dfn{glyph table} to define | 5293 On character terminals, you can set up a @dfn{glyph table} to define |
5288 the meaning of glyph codes. | 5294 the meaning of glyph codes (represented as small integers). |
5289 | 5295 |
5290 @defvar glyph-table | 5296 @defvar glyph-table |
5291 The value of this variable is the current glyph table. It should be | 5297 The value of this variable is the current glyph table. It should be |
5292 @code{nil} or a vector whose @var{g}th element defines glyph code | 5298 @code{nil} or a vector whose @var{g}th element defines glyph code |
5293 @var{g}. | 5299 @var{g}. |
5305 @table @asis | 5311 @table @asis |
5306 @item @var{string} | 5312 @item @var{string} |
5307 Send the characters in @var{string} to the terminal to output | 5313 Send the characters in @var{string} to the terminal to output |
5308 this glyph code. | 5314 this glyph code. |
5309 | 5315 |
5310 @item @var{integer} | 5316 @item @var{code} |
5311 Define this glyph code as an alias for glyph code @var{integer}. You | 5317 Define this glyph code as an alias for glyph code @var{code} created |
5312 can use such an alias to define a small-numbered glyph code which | 5318 by @code{make-glyph-code}. You can use such an alias to define a |
5313 specifies a face. | 5319 small-numbered glyph code which specifies a character with a face. |
5314 | 5320 |
5315 @item @code{nil} | 5321 @item @code{nil} |
5316 This glyph code is simple. | 5322 This glyph code is simple. |
5317 @end table | 5323 @end table |
5318 | 5324 |