coming from external files (e.g. Type 1 AFM files to add kerning data
to the face).
Also changed the API of FT_Open_Face in order to describe the
input stream more broadly..
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 !!
for the upcoming new "psnames" pseudo-driver
("psnames" is a module in charge of converting a
glyph name into a unicode value, or a Mac index
into a glyph name. It contains a copy of the Adobe
Glyph List + some logic to understand the "uniXXX"
named characters).
ft_glyph_format_plotter
for plotter-like vectorial images made of
opened paths.. (seen in Windows font files
as well as some Type 1 fonts with unusual
PaintType)
- 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)
- the graphics drivers were moved from "demos/config/*" to
"demos/graph/*"
- a Win32 graphics driver was added. (note that keyboard
management is a bit buggy, but it's really usable).
- the "demos/Makefile" and "demos/graph/rules.mk" were
seriously modified
- the demo programs now compile AND run with gcc,
Visual C++ and LCC-Win32 !! The other ones should be
really easy to add now, as LCC was the really smart ass
in this list...
- compile the demonstration programs in any directory, by
using the "TOP" and "CONFIG_MK" environment variables
- the graphics drivers have moved from "demos/config/*" to
"demos/graph/*"
- brain-dead compilers like LCC-Win32 required some
changes in the way executables are linked