comparison man/internals/internals.texi @ 2431:8f3d34b5fc05

[xemacs-hg @ 2004-12-10 06:35:54 by stephent] document Xft issues <87k6rqwtjf.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Fri, 10 Dec 2004 06:36:00 +0000
parents ab71ad6ff3dd
children 6c7488f5350a
comparison
equal deleted inserted replaced
2430:368bf91f2190 2431:8f3d34b5fc05
23135 to @samp{RENDERER_HAS_METHOD} and @samp{MAYBE_RENDMETH}, refactoring 23135 to @samp{RENDERER_HAS_METHOD} and @samp{MAYBE_RENDMETH}, refactoring
23136 these modules around the notion of interfacing a ``generic rendering 23136 these modules around the notion of interfacing a ``generic rendering
23137 engine interface'' to ``text'' seems like a plausible way to focus this 23137 engine interface'' to ``text'' seems like a plausible way to focus this
23138 work. 23138 work.
23139 23139
23140 Further evidence for this kind of approach is a bug recently fixed in
23141 the @samp{xft-sjt} branch. XEmacs was crashing because the Athena Label
23142 widget tried to access a nonexistent font in its initialization
23143 routine. The font didn't exist because although no core X11 font
23144 corresponding to the spec existed, an Xft font was found. So the XEmacs
23145 font instance existed but it did not specify an X11 core font, only the
23146 Xft font. When this object was used to initialize the font for the
23147 Label widget, None (0) was passed to XtSetArgs, then XtCreateWidget was
23148 called, and the internal initialization routine attempted to access that
23149 (nonexistent) font while computing an X11 graphics context (GC).
23150
23151 A similar issue applies to colors, but there Xft colors keep the pixel
23152 data internally, so (serendipitously) the X11 color (@emph{i.e.}, pixel)
23153 member does get updated.
23154
23140 @item Colors, fonts, and faces 23155 @item Colors, fonts, and faces
23141 Besides the rendering engine itself, the XEmacs implementations of these 23156 Besides the rendering engine itself, the XEmacs implementations of these
23142 objects are poorly supported by current widget implementations, 23157 objects are poorly supported by current widget implementations,
23143 including the traditional menubar and toolbar, as well as the more 23158 including the traditional menubar and toolbar, as well as the more
23144 recent button, tab control, and progress bar widgets. The refactoring 23159 recent button, tab control, and progress bar widgets. The refactoring