- there is now a "convenience" API to manage glyphs in
"include/ftglyph.h". See the demo program "ftstring" for
an example..
- the raster interface has been changed in order to allow
direct composition through user-provided callbacks. This
has been tested but isn't demonstrated for now in "demos"
- the FT_LOAD_NO_RECURSE flag is supported, as this is
required by some new code in the auto-hinting engine
- some bug fixed in FT_MulFix which made FT_xxx_Transform
return incorrect results..
- ft_done_stream: remove the FREE(pathname) call, which wasn't
kosher
- FT_Open_Face: after calling open_face, don't assume driver is
the same as face->driver, use face->driver instead
fixed:
. Removing unused variables.
. detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE).
. ansi.mk will now be really used as a fallback if the detect mechanism
fails.
. ANSIFLAGS will now be really used (fixing a typo).
. `make clean' now works (again two typos).
. Detection of gcc on Unix has been fixed (using the `-v' option instead of
`--version').
. `make devel' now works (on Unix).
. Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use
of `-L' compiler options.
. $(BASE_H) now contains a few more header files.
As usual, a lot of formatting (not finished yet).
sources. This is not a port of the OTL extension
of FT 1.x, as it uses a very different design.
These sources are placed here for comments
and peer-review
Generates a Unicode charmap on the fly
through the "psnames" module..
Now, we only need to support afm/pfm
files (and maybe multiple masters) to call
this driver finished !!
- small reduction of the code size of "t1encode.c"
- removed the hinter (not useful with the upcoming
auto-hinter..)
- updated "t1load.c" to reduce warnings with Visual C++
- considerably changed the glyph loader (it is simpler)
Beware, this code is still experimental, and is _not_
debugged. I don't even guarantee that it works for
now
- David
- some #ifdefs were included in order to _not_
compile support for the bytecode interpreter
when FT_CONFIG_OPTION_BYTECODE_INTERPRETER
is not defined in "ttconfig.h"
- the glyph loader has been seriously re-designed. It is now
smaller, simpler and should load composites a bit faster
- works with the TrueType debugger
improvements compared to "src/type1". Briefly :
- the postscript-like interpreter is now gone. We now perform
pattern-matching to load our font content. The resultant code
is much faster, smaller, and easier to maintain.
For a more detailed description, see the comments at the start
of "src/type1z/t1objs.c"
- the glyph loader will be greatly simplified really soon, and the
clumsy hinter will be ditched in favor of a more general auto-hinting
module (when we get one).
The goal is to strip down the Type1 driver to about 15-20 Kb.
This is still an experimental version. It is added to the repository
for archiving. You should not try to use it for now (it won't work
because some crucial parts are _knowingly_ ignored for now !).
Note that the "old" type1 driver will probably move to the "demos/src"
directory, in order to show how one can replace one given font driver
at runtime (and to provide the functionality of the "t1dump" program).
- modified the interface of the "sfnt" module. There is now a function
called "load_format_tag", and another called "load_directory".
The first one is in charge of returning the 4-byte tag located at
the beginning of a given font file. It understand TrueType collections
and parses them automatically
The second loads the table directory that is located just after
the format tag.
This is useful, because the "SFNT" storage scheme can be used by
several distinct formats, each with its own format tag.
The TrueType driver now checks the format tag in "src/truetype/ttobjs.c"
- made some changes to "src/shared/t1types.h" to clearly separate the
Type 1 font content from the rest of the T1_Face structure. This
will be useful when adding the CFF/Type2 driver that will be able
to reuse the "T1_Font" structure within a "TT_Font" one (which
really describes a SFNT-based font file).
Some changes in "src/type1" were thus performed to reflect this.
Note that the current type1 driver will be discontinued in a
distant future. More on this later..
use "$(FT_COMPILE)" instead of "$(FT_CC)" in order to
compile the library.
$(FT_COMPILE) uses the $(ANSI_FLAGS) variable used to
define ANSI-compliance flags for the current compiler. It is used
to compile the library exclusively (some demo programs will _not_
compile properly with these flags set).
(they didn't updated the stream position in the case of
disk-based streams. This went un-noticed under Linux
which uses memory-mapped files by default)
introduced to use a constant precision and dynamic bezier decomposition
thresholding, leading some performance improvements.
Note that by now, the "high_precision" field of a FT_Outline
is ignored by the raster..
support for multiple X11R6 entries in $(PATH) added.
ftxbbox.c, ftcalc.c, ftdebug.c, ftdriver.h:
doc fixes.
ftdebug.c:
formatting.
ftdebug.h:
making makros `;'-safe (i.e., they can now be used within if-else clauses
without side effects resp. don't produce a single `;').
reflect the new modules/drivers list management performed through the
file `freetype2/config/modules.mk'
Changed the driver header files to reflect the new modules/drivers
list management. We get rid, at last, of the infamous pre-processor
tricks used to build the list at compile time.
`src/base/ftinit.c' is also modified to reflect the changes..
large glyph images are generated (e.g. ` fttimer -g' runs 20% faster).
For small pixel sizes (i.e. typically less than 64 pixels), rendering
speed is unaffected.