unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: gamegrid.el and some games
Date: Sat, 14 Sep 2002 13:35:15 -0400	[thread overview]
Message-ID: <E17qGp9-0006by-00@fencepost.gnu.org> (raw)
In-Reply-To: <E17pqC5-0000W0-00@pot.cnuce.cnr.it> (message from Francesco Potorti` on Fri, 13 Sep 2002 15:09:09 +0200)

    |      The value of this variable is the current glyph table.  It should
    |      be a vector; the Gth element defines glyph code G.  If the value
    |      is `nil' instead of a vector, then all glyphs are simple (see
    |      below).  The glyph table is not used on windowed displays.

    What is a `windowed display'?  I know about `character terminal' and
    `window system', and in fact this wording is used below, but I do not
    know what a windowed display is.  

Looking at the code, I think it means anything but a character-only
terminal.  The glyph table is used only on character-only terminals.

    | INTEGER
    |      Define this glyph code as an alias for glyph code INTEGER.  You
    |      can use an alias to specify a face code for the glyph; see below.
    | 

This works on all terminals, since you can put this kind of glyph code
into the display table.

I rewrote the node as follows.  Is this clearer?


@node Glyphs
@subsection Glyphs

@cindex glyph
  A @dfn{glyph} is a generalization of a character; it stands for an
image that takes up a single character position on the screen.  Glyphs
are represented in Lisp as integers, just as characters are.  Normally
Emacs finds glyphs in the display table (@pxref{Display Tables}).

  A glyph can be @dfn{simple} or it can be defined by the @dfn{glyph
table}.  A simple glyph is just a way of specifying a character and a
face to output it in.  The glyph code for a simple glyph, mod 524288,
is the character to 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}.

  On character terminals, you can set up a @dfn{glyph table} to define
the meaning of glyph codes.  The glyph codes is the value of the
variable @code{glyph-table}.

@defvar glyph-table
The value of this variable is the current glyph table.  It should be a
vector; the @var{g}th element defines glyph code @var{g}.  

If a glyph code is greater than or equal to the length of the glyph
table, that code is automatically simple.  If the value of
@code{glyph-table} is @code{nil} instead of a vector, then all glyphs
are simple.  The glyph table is not used on graphical displays, only
on character terminals.  On graphical displays, all glyphs are simple.
@end defvar

  Here are the possible types of elements in the glyph table:

@table @asis
@item @var{string}
Send the characters in @var{string} to the terminal to output
this glyph.  This alternative is available on character terminals,
but not under a window system.

@item @var{integer}
Define this glyph code as an alias for glyph code @var{integer}.  You
can use an alias to specify a face code for the glyph and use a small
number as its code.

@item @code{nil}
This glyph is simple.
@end table

@defun create-glyph string
@tindex create-glyph
This function returns a newly-allocated glyph code which is set up to
display by sending @var{string} to the terminal.
@end defun

  reply	other threads:[~2002-09-14 17:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-13 10:55 gamegrid.el and some games Francesco Potorti`
     [not found] ` <87sn0eglkp.fsf@bundalo.shootybangbang.com>
2002-09-13 13:09   ` Francesco Potorti`
2002-09-14 17:35     ` Richard Stallman [this message]
2002-09-13 14:16 ` Oliver Scholz
2002-09-13 17:32   ` Francesco Potorti`
2002-09-13 23:11     ` Oliver Scholz
2002-09-14  1:03       ` Alex Schroeder
2002-09-15  1:50         ` Richard Stallman
2002-09-16 12:11           ` Oliver Scholz
2002-09-19 15:22             ` Luke A. Olbrish
2002-09-20  3:44               ` Richard Stallman
2002-09-15  1:51       ` Richard Stallman
2002-09-16 11:58         ` Oliver Scholz
2002-09-16 19:27           ` Richard Stallman
2002-09-16 12:01         ` Oliver Scholz
2002-09-16 19:27           ` Richard Stallman
2002-09-16 23:13             ` alkibiades
2002-09-17 15:53               ` Richard Stallman
2002-09-17 16:12                 ` Gerd Moellmann
2002-09-18 15:04                 ` Oliver Scholz
2002-09-18 16:03                   ` Oliver Scholz
2002-09-19 11:45                   ` Eli Zaretskii
2002-09-19 15:17                   ` Richard Stallman
2002-09-20  0:26                     ` Oliver Scholz
2002-09-20  9:40                       ` Miles Bader
2002-09-20 12:01                         ` Oliver Scholz
2002-09-20 10:12                       ` Francesco Potorti`
2002-09-20  1:18                     ` Miles Bader
2002-09-20  9:20                       ` rms
2002-09-20 11:41                         ` Oliver Scholz
2002-09-20  6:54                     ` Gerd Moellmann
2002-09-14 17:35 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E17qGp9-0006by-00@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).