Commit Graph

303 Commits

Author SHA1 Message Date
David Turner caf72cd6e5 * src/base/ftbbox.c (BBox_Cubic_Check): rewrote function to use
direct computations with 16.16 values instead of sub-divisions.
        It is now slower, but proves a point :-)

        * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c :
        fixed the bezier stack depths..

        * src/base/ftcalc.c (FT_MulFix): minor rounding fix

        * builds/beos : added BeOS-specific files to the old build system
        (no changes were necessary to support BeOS in the Jamfile though)
2001-04-25 18:11:16 +00:00
David Turner 1e536983f6 removed obsolete documentation files
they are now moved to the "www" module, under "www/freetype2/docs"
2001-03-23 11:20:35 +00:00
Werner Lemberg 521a2d7a13 * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
FT_SFNT_NAMES_H.
* docs/docmaker.py: Added generation of INDEX link in table of
contents.
* INSTALL, docs/BUILD: Updated documentation to indicate that the
compilation process has changed slightly (no more `src' required in
* builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>.  Added comments to
be included in a new API Reference section.

* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
component needs to add its own directory to the include path at
compile time.  Modified all "rules.mk" and "descrip.mms"
accordingly.

* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: The file
top-level <ft2build.h>.

* include/config/ftheader.h: Added new section describing the #include
macros.


the Type 2 glyph charstring (used by conversion programs).
* docs/docmaker.py: Added cross-references generation as well as


seac emulation provided by the Type 2 endchar operator.


* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
Added support for clipped direct rendering in the smooth renderer.


* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2001-03-20 22:58:56 +00:00
David Turner 6ce03efb12 * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H

	* docs/docmaker.py: added generation of INDEX link in table of contents
2001-03-20 14:50:04 +00:00
Werner Lemberg 9a8b536fb9 * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error
messages.

* INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer.
2001-03-12 22:33:52 +00:00
Werner Lemberg 7124a8e59c * INSTALL, docs/BUILD: We need GNU make 3.78 or newer.
* src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait
Submitted by Sander van der Wal <svdwal@xs4all.nl>.
2001-03-07 21:20:48 +00:00
Werner Lemberg e274cfd3ef * src/autohint/ahtypes.h (AH_Hinter): Add elements
`disable_horz_edges', `disable_vert_edges'.
* src/autohint/ahhint.c	(ah_hint_edges_3, ah_hinter_hint_edges): Use
them (and remove static variables with the same names).
* src/pcf/pcfutil.c (BitOrderInvert): Add `const'.
* docs/glnames.py: Updated to latest pstables.h changes.
* src/psnames/pstables.h: Add more `const'.
* src/pcf/pcfutil.c: Ditto.
* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo
(FT_Glyph_Done -> FT_Done_Glyph).
* include/freetype/ttnameid.h: Added some new Microsoft language
codes and LCIDs as found in Office Xp.

* builds/hurd/detect.mk: New file.  Added support to detect the GNU
Hurd operating system as Unix-like.  Fix submitted by Anthony Fok
<foka@debian.org>.

* src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the
the Type 1 glyph charstring (used by conversion programs).
Submitted by Ha Shao <hashao@chinese.com>.


* src/base/ftgrays.c (grays_sweep): The function didn't exit
immediately if `num_cells' was 0 as it should.  Thanks to Boris for
finding this out.

* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when
bitmap rendering fails (thanks to Graham Asher).

* docs/docmaker.py, include/freetype/*.h: Updated the DocMaker
script to support chapters and section block ordering.  Updated the
public header files accordingly.
* src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format
were not correctly copied.
2001-03-04 21:53:08 +00:00
Werner Lemberg 0b2137e5ca * docs/docmaker.py (DocSection::add_element): Use
`self.print_error()'.


to support chapters and section block ordering.  Updated the public
2001-02-14 04:59:57 +00:00
David Turner e231a65882 update docmaker.py to support chapters and section block ordering
updated public header files, as well as "ftchapters.h" which only
contains comment that hold the list of section chapters..
2001-02-13 17:42:49 +00:00
Werner Lemberg 65d328ead7 formatting, ChangeLog entry 2001-02-03 03:00:06 +00:00
David Turner 1ae67a2e0c improved docmaker slightly (better indexing, support for "<order>" marker
in section blocks, see "fttypes.h")
2001-02-02 05:24:11 +00:00
Werner Lemberg 3708bdb35a grammatical fixes 2001-01-19 03:33:30 +00:00
Werner Lemberg 9e708eb5fb formatting 2001-01-15 23:11:55 +00:00
David Turner b6c1bf861a added cross-reference generation 2001-01-12 00:33:30 +00:00
Werner Lemberg 38208a6e6b * docs/docmaker.py: Minor improvements to reduce unwanted spaces
and empty lines in output.
* docs/docmaker.py: Improved script to generate table of contents
and index pages.  It also supports wildcards on non Unix systems.

* include/freetype/*.h, include/freetype/cache/*.h: Updated comments
to include section definitions/delimitations for the API Reference
generator.

* include/freetype/freetype.h: Moved declaration of
`FT_Generic_Finalizer' and the `FT_Generic' structure to...
* include/freetype/fttypes.h: here.
2001-01-11 09:27:49 +00:00
David Turner 0f5616a801 updated documentation in public header files 2001-01-10 11:15:48 +00:00
David Turner 18b55f7bbc improved the docmaker script 2001-01-10 06:53:49 +00:00
Werner Lemberg d85623c241 Minor doc fix. 2000-12-23 16:55:29 +00:00
Werner Lemberg 33d023680f * builds/module.mk: Replaced `xxx #' with `xxx$(space).
* builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to
avoid trailing spaces in variable.
* builds/freetype.mk: Use $(D) instead of $D to make statement more
readable.

* docs/docmaker.py: Formatting.

* src/psaux/psauxmod.c: Fixed a broken inclusion of component
header files (an FT_FLAT_COMPILE test was missing).
* src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused
an occasional crash when the function was called (due to a dangling
pointer).
* src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug:
The ANSI "free()" function was called instead of "memory->free()".
* docs/docmaker.py: Added section filtering, multi-page generation
(index page generation is still missing though).
* builds/unix/install.mk, builds/unix/ft2unix.h: The file "ft2unix.h"
is now installed as <ft2build.h> for Unix systems.  Note that we
still use the "freetype2/freetype" installation path for now.

* many files: Now using <ft2build.h> as the default build and setup
configuration file in all public headers.  Internal source files
still need some changes though.
* builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new
Win32 developer builds.
builds/win32/w32-dev.mk: Changed the developer build targets to
"devel-gcc" and "devel-bcc" in order to be able to develop with the
Borland C++ compiler.
2000-12-06 16:31:30 +00:00
David Turner b404d06a6b updated DocMaker to generate section-specific pages 2000-12-05 14:49:39 +00:00
David Turner 0fc54d0078 adding cache manager documentation (draft) 2000-11-23 03:01:07 +00:00
Werner Lemberg a8df54a3ec Revising, formatting. 2000-11-10 22:39:21 +00:00
Werner Lemberg 15d3dcd900 Revised. 2000-11-10 17:10:14 +00:00
Werner Lemberg 6f36900589 Revised. 2000-11-10 05:45:07 +00:00
Werner Lemberg 361d9b8a7c Revised. 2000-11-09 22:15:34 +00:00
David Turner 85924a8884 fixed typos in the license 2000-11-09 19:14:11 +00:00
Werner Lemberg fed760b1bf Revised. 2000-11-09 16:23:23 +00:00
Werner Lemberg 0901f653db Revised. 2000-11-09 08:01:18 +00:00
Werner Lemberg 5330dd6e81 Revised. 2000-11-09 06:26:30 +00:00
David Turner 0c426d1ecb updating the "Design of FreeType 2" document 2000-11-09 01:14:31 +00:00
David Turner cd1afc4ef1 fixed a bug in "docs/glnames.py" which caused he generation of an
invalid Mac names table in the file "src/psnames/pstables.h".

This caused FT_Get_Glyph_Name to return invalid glyph names
for certain TrueType fonts..
2000-11-09 00:47:05 +00:00
David Turner 3574643bc0 major reformatting of the "Glyph Conventions" document.
It is now made of 7 different pages and has been updated
2000-11-09 00:01:38 +00:00
Werner Lemberg f42e6595e6 Minor fixes. 2000-11-08 20:21:38 +00:00
David Turner 23a0670b98 removed the file <freetype/internal/ftlist.h> and corrected
files that depended on it.

the ftlist.c function definitions are now FT_EXPORT_DEF
instead of FT_BASE_DEF
2000-11-08 00:20:25 +00:00
Werner Lemberg 4b68007b4f Complementing David's changes with formatting, adding documentation, etc.
More `*'-convention formatting, adding the `a' resp. `an' prefix to
variables.
2000-11-07 06:30:29 +00:00
David Turner d18440f14d added simple objects relationships model to the design documentation 2000-11-06 20:37:47 +00:00
David Turner b8849e71c2 adding library model graphics 2000-11-06 20:21:31 +00:00
Werner Lemberg 3a40847c60 Added/restored the `*' convention for output parameters.
Some documentation fixes.
2000-11-06 04:33:56 +00:00
David Turner 76a5f62323 major reformatting of the sources:
FT_EXPORT_DEF    => FT_EXPORT
  FT_EXPORT_FUNC => FT_EXPORT_DEF
  BASE_DEF               => FT_BASE
  BASE_FUNC            => FT_BASE_DEF
  LOCAL_DEF             => FT_LOCAL
  LOCAL_FUNC          => FT_LOCAL_DEF
  LOCAL_FUNC_X     => FT_CALLBACK_DEF
  LOCAL_DEF_X       => FT_CALLBACK_TABLE
  FT_CPLUSPLUS     => FT_CALLBACK_TABLE_DEF
2000-11-04 01:55:49 +00:00
Werner Lemberg 098ab26c72 Moving FreeType license to doc dir.
Adding GPL.

Explaining double license in LICENSE.TXT

Minor improvements to make system.
2000-11-02 07:53:08 +00:00
Werner Lemberg e4b32a5dc5 Removing trailing whitespace. 2000-10-31 20:42:18 +00:00
Werner Lemberg d1896124dd Revised/formatted/corrected. 2000-10-31 07:36:53 +00:00
Werner Lemberg 60784a2200 Formatting/correcting the first three parts of the design docs. 2000-10-30 20:46:41 +00:00
David Turner 31fa0bdcd8 added page 5 of design documentation 2000-10-30 18:55:47 +00:00
Werner Lemberg b5084e11f7 Renamed z1* files back to t1*; the same transition for Z1_* structures
Removed obsolete raster1/* files.
2000-10-28 17:10:06 +00:00
Werner Lemberg 1ea9378ad3 Revised. 2000-10-28 16:59:44 +00:00
David Turner 205fc3faf2 updates to the API reference generators
the basic parsing routines seem to work ok
we now generate a list of DocBlock objects from
a list of input file, we now need to sort them
by "kind" (i.e. type/macro/functions) to generate
several web pages, as well as a global index
2000-10-26 07:52:40 +00:00
David Turner 54169b35f8 - reviving the "ftbbox" component, used to compute exact bounding
box computations

- minor update to docmaker.py, more is coming
2000-10-26 00:06:35 +00:00
David Turner 4cd68a09c5 updating the FT2 design documentation
- note that the "modules.html" will soon disappear, it is now replaced
  by a more general and more detailed series of pages named "design-??.html"

- the images have been seriously reworked, more will come tomorrow
2000-10-25 23:42:02 +00:00
David Turner 6fbb95beb1 - added first draft of "Modules in FreeType 2"
- minor formatting / testing in docmaker.py
2000-10-23 18:32:55 +00:00
Werner Lemberg 05f0ad098f Converting tabs to spaces in z1load.
Edited FT1's convntns.txt and added it to FT2.
2000-10-19 05:12:00 +00:00
Werner Lemberg 6db35342df updated, formatted 2000-10-14 15:24:39 +00:00
Werner Lemberg e67e349a0b More fixes to the tutorial.
Added artificial Type 1 pid/eid paors to ttnameid.h.
2000-10-13 21:00:36 +00:00
Werner Lemberg 0b7b23edfd complete revision 2000-10-13 07:08:44 +00:00
Werner Lemberg afc01e8845 Completely revised. 2000-10-12 16:09:49 +00:00
Werner Lemberg 6fbe4db6b7 minor formatting issues 2000-10-05 04:53:31 +00:00
David Turner 896b604ca8 updated the build system:
- new files for the "cygwin" platform
 - new workspace files for Visual C++ in "builds/win32/visualc"
 - updated "docs/BUILD" slightly
2000-10-03 17:51:29 +00:00
David Turner 9e62d694be adding missing image files 2000-10-03 17:08:42 +00:00
David Turner b59bf7e5cc removing obsolete files:
the design of FT2 has evolved considerably since
these documents were written, and it's better not to
include them in order to avoid confusion among
users of the library..
2000-10-03 17:07:28 +00:00
Werner Lemberg dc7f9c8dd0 Formatting.
docmaker.py will now run with older Python versions also.  Small fix.
2000-08-27 07:12:40 +00:00
David Turner 5ef3c95377 updating documentation to explain the use of CFG to
pass parameters to the configure script
2000-08-22 23:15:23 +00:00
David Turner 48721c11b5 significant updates. The generated HTML is now much
more pleasant..
2000-08-21 23:01:32 +00:00
David Turner b190572be5 updated documentation 2000-07-26 19:07:15 +00:00
David Turner a90663f591 vast clean-up of the sources in order to allow flat
directory compilation (by defining the FT_FLAT_COMPILE
macro at compile time..)

moved "freetype2/BUILD" to "freetype2/docs/BUILD"
2000-07-08 00:41:13 +00:00
Werner Lemberg fbeb41d93d Formatting.
Adding copyright notices.

Removing an unnecessary file (smooth.h).
2000-07-02 00:27:53 +00:00
David Turner e0bba32291 fixed the PSNames -> Unicode translation table
the Python script "glnames.py" was buggy and
lacked quite a few values in the "names_to_unicode"
table !!
2000-07-01 19:33:40 +00:00
David Turner 5ae831c101 changes used to implement the auto-hinting support 2000-06-30 01:31:22 +00:00
David Turner 203bb47cfe first updates to the tutorial. This is step 1 (fairly basic stuff) 2000-06-29 22:34:50 +00:00
David Turner 63e3c3b529 some real updates to the tutorial, more to come soon 2000-06-29 00:39:30 +00:00
Werner Lemberg a929ba9b20 applying formatting again 2000-06-25 06:47:11 +00:00
David Turner 90f68b7272 still more updates to the TrueType driver to make it more
"extensible"..
2000-06-23 12:26:14 +00:00
Werner Lemberg 100d6d47d8 Fixing glyph name typos in glnames.py; more formatting. 2000-06-17 20:15:06 +00:00
Werner Lemberg e35cac66c6 A complete revision of FreeType 2's GNU makefiles (of the library):
Tons of unnecessary stuff have been removed; only the essential rules
  have been retained.

  The source files now depend on all header files in include/freetype,
  include/freetype/config, and include/freetype/internal.  This is not
  optimal, I know, and I'll try to improve this, but it is better than
  before (namely no dependencies on `internal').

  FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know
  exactly whether this is really useful, but it doesn't harm.

  There is now more documentation in the makefiles itself.

io-frames.html: Use of <th>, <code>, and <var> for better tagging.

Reactivating of FT_DEBUG_LEVEL_xxx macros.

Added a lot of #include directives to make `multi' builds possible -- note
that currently the modules cid, t1, and t1z have clashing structures and
functions which means that you can only use one of these three modules for a
multi build.

Added some missing function declarations to (local) header files.

Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot
of other functions should be renamed also...

Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished
yet...

Fixed FT_Free() to allow a NULL pointer without an assertion (this has
always been a valid assumption in FreeType, at least in FT 1.x).

A lot of other, minor fixes (mostly documentation).
2000-06-11 03:46:57 +00:00
David Turner b916b1e53f updated the DocMaker tool to produce HTML pages
There is still some work on it to allow the following:

  - multiple input files
  - block classification according to block's first markers
    (e.g. types, functions, constants, etc..)
  - indexing and cross-linking
  - better layout ;-)
2000-05-31 07:54:45 +00:00
Werner Lemberg 883df43fec Completely checked and fully formatted. 2000-05-29 07:30:17 +00:00
David Turner e49ab25c08 formatting - removed trailing spaces 2000-05-16 23:44:38 +00:00
David Turner 7ce42f4443 another rather large update 2000-05-16 23:18:37 +00:00
David Turner 4f2c5544bb additional changes, this time in order to pass extra parameters
to font drivers when creating a new face object.

The FT_Open_Args structure has been changed to simplify
its use and allow generic parameters too..
2000-05-12 10:19:41 +00:00
David Turner 8c62a12062 another fix for the build system (the module list wasn't
taken from the correct location)

plus a small update in the tutorial to reflect the fact that
we know use the "freetype" directory prefix for header
inclusion
2000-05-11 19:06:03 +00:00
David Turner 3983d95f3e fixed a small typo ( "height" in place of "eight" !!) 2000-02-10 19:19:51 +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 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 f300d695f4 some updates/corrections 2000-01-27 14:03:39 +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
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 3aeb4c05f2 Added a new document to docs/internals that describes
the Build System clearly. I hope this will help other
developers in adding platform-detection makefiles for
additional systems..
2000-01-11 20:00:05 +00:00
David Turner 426b20af02 Added the new "io-frames.html" document, that describes the frame interface
as well as the new READ_xxxx and FT_Read_xxxx functions/macros..
2000-01-11 04:59:55 +00:00
David Turner 186d231081 Added a new documentation file that explains how memory management and
basic i/o access are performed with FreeType 2.

Note that unlike FT 1.x, you don't need to recompile the library if
you want to provide your own memory manager or your own i/o streams.
2000-01-11 04:09:35 +00:00
David Turner a14fa3ace8 damned.. 2000-01-11 02:26:38 +00:00
David Turner 98408d8937 renamed "internals.html" to "index.html"
also, changed all image references to the new PNGs

Note that this document is really out-of-date
(there are no more resources, the stream manager has disappeared,
 the build systel was seriously modified, etc..)
2000-01-11 02:22:16 +00:00
David Turner 41a8fa57b1 Renamed "glyph_conventions.html" to "index.html"
Updated all image references to the new PNGs

Note that this document is slightly out-of-date though..
(FT_Raster_Map was changed for FT_Bitmap, and the anti-alias renderer
 now supports 128 levels by default).
2000-01-11 02:20:22 +00:00
David Turner ee71c6b715 added PNG files 2000-01-11 01:40:25 +00:00
David Turner 4b7ffcfa19 removed GIF files 2000-01-11 01:40:06 +00:00
David Turner ecbfb5fa9a added the DocMaker python script that will be used to generate the HTML documentation from the C source files 2000-01-10 15:49:01 +00:00
David Turner d2b1f35704 Initial revision 1999-12-16 23:11:37 +00:00