Re: Missing FcValueSave() in FcConfigEvaluate() (KDE bug #119108)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 03 January 2006 00:44, Behdad Esfahbod wrote:
> On Mon, 2 Jan 2006, Lubos Lunak wrote:
> >  Hello,
> >
> >  please review the attached patch. It should fix a fontconfig crash
> > triggered by a Qt patch that should improve font loading performance
> > (FcFontSort->FcFontMatch, but that should be actually irrelevant). A
> > Valgrind log for the crash is attached, it's a double free.
>
> I'm curious about the original patch, since fontconfig
> (FcFontSort) is taking around 30% of time in Firefox, and quite a
> lot in other scenarios too...

 The patch is at 
http://websvn.kde.org/*checkout*/branches/qt/3.3/qt-copy/patches/0066-fcsort2fcmatch.patch . 
Because of whitespace changes it looks more complicated than it really is, as 
it is just trying FcFontMatch() before going the noticeably more expensive 
FcFontSort() way.

 Basically, in that function Qt creates FcPattern that describes the font it 
wants, then does FcFontSort() and starts checking the results until it finds 
one that fully satisfies its additional requirements (as I'm not fonts expert 
I have actually no clue what that code really does). And since I noticed that 
with a reasonable fonts installation the very first match is already enough, 
it should be sufficient to just get that very first match using FcFontMatch() 
instead of finding all suitable fonts with the more expensive FcFontSort(), 
which should be only used as a fallback.

 I'm not sure if the same could be done in Firefox though - this is Qt3 and in 
Qt4 it won't be possible to do this, as Qt4 seems to try to combine more 
fonts into one when just one doesn't provide all the required characters. 
There FcFontSort() will be still needed :-/. I'm not yet sure what to do with 
that.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak@xxxxxxx , l.lunak@xxxxxxx
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/fontconfig

[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux