Has anything been done about this, or is Alexander still sleeping :) Either way
I just did a grep for max_bounds through all the sources and there may also be
an issue with Screen.c. I think we should at least be trying to use
XGetFontProperties, when trying to find an average width. I'll try to find
Volume 1 to read up on font descriptions.......
On 01-May-00 at 18:00, Alexander Mai ([EMAIL PROTECTED]) wrote:
> On Mon, 01 May 2000 16:36:06 -0400 (EDT), Alexander N. Kabaev wrote:
>
> >Here is the answer to my question from Juliusz Chroboczek:
> >
> >ANK> I recently discovered that using your font server and/or
> >ANK> xfsft-based TrueType rasteriser with Lesstif causes Lesstif to
> >ANK> dump core. As it has turned aout, the problem is caused by the
> >ANK> fact, that TrueType fonts have min_bounds.width =
> >ANK> -max_bounds.width in XFontStruct.
> >
> >This is correct.
> >
> >ANK> Lesstif calculates average character width in font using formula
> >ANK> (min_width+max_width)/2 which obviously produces 0 in result.
> >
> >This is not.
> >
> >ANK> Is it legal to have characters with negative width in
> >ANK> left-to-right fonts?
> >
> >Yes, unfortunately. I believe that this is an error in the X11
> >specifications, and most clients do not know how to deal with
> >negative-width glyphs (this is the case at least of Emacs/Mule and the
> >``Arabox'' Arabic version of Motif). I am thinking of making all
> >advance widths positive in a future version of XFree86.
> >
> >ANK> If that is legal, what is the better way to calculate avarage
> >ANK> character width for font?
> >
> >The safe way is to use the average width font property if present (but
> >even this might be zero for mixed-direction fonts), and to use the
> >width of `x' if not available; if the font contains no `x', use half
> >the maximum width. Please read the XLFD document, which you should
> >find in the directory `xc/doc/hardcopy' of your X11 distribution (make
> >sure you have the X11R6 version).
> >
> >Note, however, that there is no good language-independent way of
> >determining the average width. Any method you use is an
> >approximation, and therefore the use of average widths should be
> >avoided whenever possible.
>
> Hmm, one should address crashs as early as possible. Having
> no perfect solution at my hands and a new release upcoming
> we might just address the "average_width==0 case" by adding
> one of the given fallbacks?
> (the "wrong" formula seems to appear more than once - just
> in case someone will fix it tonight while I'm sleeping :-)
>
>
> ------------------------------------------------------------------
> Alexander Mai
> [EMAIL PROTECTED]
> ------------------------------------------------------------------
>
>
>
>