Hello,
I'm evaluating the GRX library (a very good work, by the way) and I believe I've found two bugs.
The function _GrBuildFont (file buildfnt.c) test the bit GR_FONTCVT_FIXIFY that way: if((cvt & GR_FONTCVT_FIXIFY) & fprop) and I believe it should look if((cvt & GR_FONTCVT_FIXIFY) && fprop) ----
Then the function cvtbitmap (same file) allocates a buffer (called 'work') but before the code reaches the FREE(work) sentence, the pointer 'work' is modified, and FREE crashes. I've solved this way:
savework = work = ALLOC((size_t)i); .... .... // FREE(work); FREE(savework);
End of bug report. I hope this information will be useful to you.
Now a question: I'm trying to convert a proportional font into a fixed one: pFont = GrLoadFont("tms38"); pFontFix = GrBuildConvertedFont(pFont,GR_FONTCVT_FIXIFY,38,38,0,0); With the corrections above now it works, at least it doesn't crash, but the resulting font, when printed, looks very strange. Am I doing something wrong?
Thanks. Josu
On Wed, 08 Sep 1999, Josu Onandia wrote:
Then the function cvtbitmap (same file) allocates a buffer (called 'work') but before the code reaches the FREE(work) sentence, the pointer 'work' is modified, and FREE crashes. I've solved this way:
savework = work = ALLOC((size_t)i); .... .... // FREE(work); FREE(savework);
End of bug report. I hope this information will be useful to you.
Well, looks like I screwed this up when implementing the alloca/malloc alternative
Now a question: I'm trying to convert a proportional font into a fixed one: pFont = GrLoadFont("tms38"); pFontFix = GrBuildConvertedFont(pFont,GR_FONTCVT_FIXIFY,38,38,0,0); With the corrections above now it works, at least it doesn't crash, but the resulting font, when printed, looks very strange. Am I doing something wrong?
This ist the usual result. Converting bitmap font wonŽt give you the results like Type1 or TrueType vector fonts do. Try using the courier (yes, its really an ugly font --- but still better than scaled bitmap fonts ... )
Hartmut