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

Reply via email to