Commit Graph

96 Commits

Author SHA1 Message Date
David Turner
818336fdf4 Added the function FT_Read_Fields, it acts as a
finite-state automata to load large TrueType tables
in object structures.

This is experimental, don't mess too much with it,
thanks :-)
2000-02-13 13:36:53 +00:00
David Turner
1d1c7eb807 small update in FT_Open_Args (more could follow though..) 2000-02-13 13:35:21 +00:00
David Turner
3188a3a112 Sorry, forgot some changes needed to get rid of
t1encode.[hc]. Here they come..
2000-02-13 13:34:18 +00:00
David Turner
3983d95f3e fixed a small typo ( "height" in place of "eight" !!) 2000-02-10 19:19:51 +00:00
David Turner
5ae1259c03 removed the "t1encode" files which are now
obsolete with the "psnames" module
2000-02-10 19:17:24 +00:00
David Turner
7433655cbd Some changes. The SFNT driver is able to return
Postscript glyph names even when the "psnames"
module is not used..
2000-02-10 19:14:48 +00:00
David Turner
c3122c98ce added some comments 2000-02-10 19:11:30 +00:00
David Turner
1ab77fdfff some updates to make everything compile clean 2000-02-10 18:08:17 +00:00
David Turner
1a3e3d6a0d introduced the FT_Attach_File function to support additional metrics
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..
2000-02-10 17:03:11 +00:00
David Turner
5dc8aba72b some modifications used to introduce the Type 1 AFM parser
and psnames module
2000-02-10 17:01:24 +00:00
David Turner
1a26888da3 some changes to ensure that the code compiles
cleanly when TT_CONFIG_OPTION_POSTSCRIPT_NAMES
is undefined..
2000-02-10 16:17:23 +00:00
David Turner
a8635cc626 Very simple AFM Parser 2000-02-10 16:15:11 +00:00
David Turner
cda32b71ba added the FT_Attach_File function to enable AFM
parsing.

Also, changed the API for FT_Open_Face to allow
broader stream descriptions..
2000-02-10 16:14:35 +00:00
David Turner
71ec10efe5 support for the IGNORE_GLOBAL_ADVANCE_WIDTH
loading flag
2000-02-10 16:09:35 +00:00
David Turner
dba4b3243a small update to the kerning code 2000-02-10 16:08:59 +00:00
David Turner
afdc4c4c2b Updates to the Type 1 driver
Now with a simple AFM parser in order
to read the kerning table..
2000-02-10 16:08:36 +00:00
David Turner
51d4e28daf New version of the Type 1 driver.
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 !!
2000-02-10 13:11:43 +00:00
David Turner
5c9a571a5a new psnames module 2000-02-10 13:10:32 +00:00
David Turner
a9369f2dc9 some updates to allow the selective compilation
of the adobe glyph list (this thing is huge !!)
2000-02-07 18:58:42 +00:00
David Turner
b5a0487cfd added a python script used to generate some tables
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).
2000-02-07 18:04:27 +00:00
David Turner
9e416a875f small fix in rules 2000-02-02 12:49:14 +00:00
David Turner
5194f8bf8a fixed a small bug that prevented the modules list to
be properly erased on Win32 when invoking
"make modules" from the top directory..
2000-02-02 12:48:20 +00:00
David Turner
5eaadfcda6 added a new glyph image format:
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)
2000-02-02 12:47:44 +00:00
David Turner
86fbfb5059 re-adding fterrors.h to the repository.. 2000-02-02 12:28:57 +00:00
David Turner
f45ae1cf55 sorry, a small mistake made me "remove" fterrors.h with WinCVS
I need to manually clear the repository through CVS...
2000-02-02 12:28:27 +00:00
David Turner
200e097c6b updated the "FT_SubGlyph" structure 2000-02-02 12:21:35 +00:00
David Turner
0dd3434801 The Type 1 experimental driver was updated
- 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
2000-02-02 12:20:53 +00:00
David Turner
8f43c714a5 A major refresh of the TrueType driver :
- 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
2000-02-02 12:16:19 +00:00
David Turner
0360168a4d moved the files in "docs/internals" to "docs/design". The image files
were also all added to the repository in binary format !!
2000-01-31 18:20:32 +00:00
David Turner
17d6bdec92 removed obsolete documentation files 2000-01-31 18:18:56 +00:00
David Turner
442005b736 removed the old "glyph_conventions" directory, now replaced by
"glyphs"
2000-01-31 18:17:02 +00:00
David Turner
f948758609 weel, the previous operation didn't work well, as the images were
still stored as text on the server !!

I have created the "docs/glyphs" directory to hold a copy of the
files, and add them with the correct tags..
2000-01-31 18:15:12 +00:00
David Turner
f0a46def9d added the image files in binary form in the repository 2000-01-31 18:11:31 +00:00
David Turner
dda05ee1da removed the PNG images as they were incorrectly stored as text files
in the repository
2000-01-31 18:11:00 +00:00
David Turner
633da99a23 updated changes log 2000-01-27 14:07:33 +00:00
David Turner
f300d695f4 some updates/corrections 2000-01-27 14:03:39 +00:00
David Turner
2dfb5aca28 added a new experimental Type 1 driver. This version sports several
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).
2000-01-27 14:02:04 +00:00
David Turner
d42c68e855 many new small, but important, changes there:
- 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..
2000-01-27 13:56:02 +00:00
David Turner
76bbd5793f the T1_Face definition changed slightly to clearly separate the
Type 1 font content from the rest. This implied some changes to
the following files.
2000-01-27 13:35:16 +00:00
Werner Lemberg
b3a85b00c4 FreeType licence. 2000-01-25 08:16:54 +00:00
David Turner
d00a8ce6f2 some updates. The yesterday modifications prevented the demo
programs from compiling under Unix. fixed..
2000-01-18 09:52:08 +00:00
Werner Lemberg
9d61e46855 Fixed rule with wildcard. 2000-01-18 02:07:04 +00:00
David Turner
a5ab5ce791 adding correct versions of the PNG images 2000-01-17 20:51:18 +00:00
David Turner
438f8cd27b removing invalid PNG images 2000-01-17 20:50:18 +00:00
Eric Olson
702b8d52cf Removed obsolete file in uppercase. FTOPTION.H has fallen behind the
ftoption.h file. Its continued presence causes some problems with case
insensitive systems.
--Eric
2000-01-17 19:44:07 +00:00
David Turner
6afe00774a colored the example source code and corrected some
typos
2000-01-17 19:25:18 +00:00
David Turner
b94713e9c5 Added a FreeType 2 Tutorial !! 2000-01-17 18:56:49 +00:00
David Turner
3ba47068a6 some updates to the "rules.mk" files. Basically, we now
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).
2000-01-17 11:25:57 +00:00
David Turner
3b925ef744 fixed a minor bug in the computation of the vertical
metrics top-side bearing
2000-01-17 11:22:59 +00:00
David Turner
fdc225b153 fixed another small bug in the FT_Read_xxxx functions
(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)
2000-01-17 11:21:49 +00:00