@@ -13395,6 +13395,12 @@
contains multiple display devices, but only one keyboard and
mouse. Most of the time, a console will contain exactly one device.
+@strong{This model may no longer suffice.} The X Window System (at
+least) now supports a variety of input devices, including
touchscreens
+and tablets, as well as the traditional keyboard and mouse, and may
+even be able to support multiple instances of a single type of input
+device (especially pointing devices) on a single console.
+
Consoles are the top of a lisp object inclusion hierarchy.
Consoles contain devices, which contain frames, which
contain windows.
I now really consider the exposure of consoles to be a mistake.
I'm interested in seeing if we can "de-expose" them and use devices in all
cases instead. What do you think?
@@ -13420,6 +13426,57 @@
menubar, scrollbar, toolbar, and other displayable-object
subsystems. The reason for this is that all of these
subsystems have the same subtypes (X, TTY, NeXTstep,
Microsoft Windows, etc.) as devices do.
+
+@strong{This abstraction is probably broken} (as of late 2004), at
+least for X consoles, with the advent of the @strong{Xft}
library. Xft
+is a complete break from the traditional approach to text
rendering in
+the X11 environment, since fonts are composed of glyphs rendered by
+@emph{client-side} code. These glyphs are then transmitted to the
+server as sets of trapezoids, and displayed by the @strong{XRender}
+extension (where available; the X11 core protocol can also
be used, but
+this is slow). The XRender extension is especially
attractive because
+it allows modern image composition techniques to be used to render
+antialiased fonts.
+
Note also another issue under Windows, if we want to support glyph shaping,
as required for Arabic, Devanagari, etc. Windows has built-in routines to
take care of this but you need to pass the whole string of text and do
text-width calculations similarly on the whole string rather than
char-by-char.