freetype-devel
[Top][All Lists]
Advanced

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

Re: type1z vs. type1 charstrings processing.


From: David Turner
Subject: Re: type1z vs. type1 charstrings processing.
Date: Sat, 01 Jul 2000 19:32:48 +0200

Hi all,

> 
> > Anyway, while doing a preliminary investigation, I noticed that the
> > charstrings parsing is different in z1load/z1gload than it is in
> > t1load/t1gload.  Any particular reason?  Is one going to be phased
> > out in favor of the other?
> 
> According to David, z1 will be the future since its parser is faster
> and smaller.
> 
Actually, the "type1" glyph loader uses additional magic because two
passes are needed to render one glyph:

  - the first pass is used to accumulate hints, without loading
    any points

  - the second pass is used to load the points (and immediately
    grid-fit them according to the adjusted hints)

which is why it's basically a two-stage function:

  - T1_Parse_Charstrings really parses the charstrings, manages
    the stack then calls a a function for each T1 opcode.

  - the functions can be used to record the hints (first pass),
    or add the points (second pass).

The "type1z" hinter simply loads the glyphs, and it's _definitely_
faster with all the benchmarks I've tried.. Further, the "type1"
hinter is really crummy compared to the auto-hinter..

"type1z" also deals correctly with all the Type 1 fonts I have on
my disk (except maybe one or two), while "type1" has some problems
with about 5% of them (about 50 faces)..

finally, "type1z" is much smaller if you take out the code used to
support multiple masters ("type1" doesn't support them, and it would
be very costly to add that, unfortunately..)

Hope this clarifies things..

Best Regards,

- David

>     Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]