Mercurial > hg > xemacs-beta
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 |