Commit Graph

6741 Commits

Author SHA1 Message Date
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
David Turner 8cd9575c27 fixed small bug 2000-01-17 11:21:00 +00:00
David Turner 281f9f6a13 Important changes were performed to clean up the makefiles,
these will be detailed later in a document (the work is not
completely finished).
2000-01-17 11:20:26 +00:00
David Turner 5ce5884d59 some small updates that are useful to debug
graphics drivers and the library..
2000-01-17 11:08:11 +00:00
David Turner 1631d04827 moved the graphics drivers to "demos/graph/*" 2000-01-17 11:06:27 +00:00
David Turner cb58dbb4fb Some important changes were performed :
- 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...
2000-01-17 11:04:55 +00:00