Hi,
I've switched from X-TT to libfreetype-xtt2. Then I investigated
the performance of libfreetype-xtt2.
The following is simple code(bench.c) for testing:
#include <X11/Xlib.h>
#include <X11/Xutil.h>
Display* dis=NULL;
int main( int argc, char *argv[] )
{
dis=XOpenDisplay(NULL);
XLoadQueryFont( dis, argv[1] );
return 0;
}
============================================================
COMMAND:
% time ./bench "-bitstream-cyberbit-medium-r-normal--0-0-0-0-p-0-iso10646-1"
============================================================
RESULTS:
[X-TT 1.4.2]
No TTCap options:
0.01s user 0.00s system 0% cpu 3.024 total
With "vl=y" option
0.00s user 0.00s system 0% cpu 2.531 total
With "vl=y:fc=0x3400-0xe7ff:fm=0x5a00" option
0.00s user 0.00s system 0% cpu 0.155 total
[libfreetype-xtt2 version 1.0b]
No TTCap options:
0.00s user 0.00s system 0% cpu 3.491 total
With "vl=y" option
0.00s user 0.00s system 0% cpu 0.045 total
With "vl=y:fc=0x3400-0xe7ff:fm=0x5a00" option
0.00s user 0.00s system 0% cpu 0.017 total
============================================================
STANDARD:
"-b&h-luxi serif-medium-r-normal--0-0-0-0-p-0-iso8859-1"
without TTCap option
[X-TT 1.4.2]
0.00s user 0.00s system 0% cpu 0.013 total
[libfreetype-xtt2 version 1.0b]
0.00s user 0.00s system 0% cpu 0.016 total
============================================================
The xtt2's "vl=y" is super-fast. It seems that libfreetype's
simple cache mechanism works fine.
If you want the very lazy method(vl=y) as default when handling
large charset, define DEFAULT_VERY_LAZY at top of ftfuncs.c as
follows:
#define DEFAULT_VERY_LAZY 2 /* Multi-byte only */
This macro can be used in version 1.0b.
1.0b patch -> http://x-tt.sourceforge.jp/
EE> > > Two further issues:
EE> > > 1. would it be possible to convert xtt to use freetype2 instead
EE> > > of freetype1? This would allow us to remove the freetype1 sources
EE> > > from the tree.
EE>
EE> Would it be possible to do that?
EE>
EE> > Why do we persist in X-TT? The reason is that "libfreetype.a"
EE> > does not useful at all in CJK. Especially the following two points are fatal.
EE> >
EE> > - Handling a proportional multi-bytes fonts is too slow.
EE> > (The loading speed of libfreetype.a is 20 times slower than
EE> > that of X-TT 1.4; I show a benchmark in next email.)
EE> >
EE> > - The modification of a font(such as auto italic and double striking, etc.)
EE> > cannot be used at all.
EE> >
EE> > That is, "libfreetype.a" should also have all options of "TTCap".
EE>
EE> I would agree that these are valid issues.
EE>
EE> Has anybody looked at merging these XTT functionalities into the
EE> freetype module?
As you said, I've worked for merging X-TT functionalities
and various fixes. And I've released libfreetype-xtt2 patch
version 1.0b.
Would you accept our libfreetype-xtt2 patch? If our patch
is accepted before XFree86-4.4 release, I think that you will
be able to remove freetype1 sources from XFree86's tree at
XFree86-4.5 release.
By the way, did anybody fix the problem of the omega-serif
fonts? Mike FABIAN said that
-altsys-omegaserif88591-medium-r-normal--0-0-0-0-p-0-iso10646-1
-altsys-omegaserif88592-medium-r-normal--0-0-0-0-p-0-iso8859-2
didn't work. But they can be loaded on libfreetype-xtt2.
Is this our fix? or not?
------------------------------------------------------------
Chisato Yamauchi
After X-TT Project
_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts