Commit Graph

382 Commits

Author SHA1 Message Date
Werner Lemberg 77c34b8264 * t1load.c (parse_blend_axis_types): Fix compiler warning.
* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
to prevent infinite loop.

* docs/VERSION.DLL: Provide better autoconf snippet to check
FreeType version.

* src/base/ftobjs.c (open_face): Free `internal' not
`face->internal' in case of error to avoid possible segfault.

* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
actually have an outline.
2003-05-20 22:06:38 +00:00
Werner Lemberg a16c4a7129 * doc/INSTALL.UNX: Cleaned up.
Other minor fixes/beautifying/formatting.
2003-04-21 13:30:27 +00:00
David Turner b6b6337539 * src/bdf/bdfdrivr.h, src/pcf/pcf.h: changed FT_Short to FT_UShort in
order to be able to access more than 32768 glyphs in fonts
2003-04-09 06:55:57 +00:00
David Turner 66cbc20978 * docs/*: serious rewriting of the documentation
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c,
    src/pcf/pcfdriver.c, src/pfr/pfrsbit.c, src/sfnt/ttsbit.c,
    src/type42/t42objs.c, src/winfonts/winfnt.c: introduced three new functions
    to deal with glyph bitmaps within FT_GlyphSlot objects. these are:

      ft_glyphslot_free_bitmap
      ft_glyphslot_alloc_bitmap
      ft_glyphslot_set_bitmap

    these are much more convenient to use than managing the FT_GLYPH_OWN_BITMAP
    flag manually. the font drivers have been modified to use them as well.

    * src/cache/ftlru.c: fixed an invalid assertion check
2003-03-20 07:04:40 +00:00
David Turner b280537b6d * src/base/ftdbgmem.c, docs/DEBUG.TXT: added new environment variables
to control memory debugging with FreeType. See the description of
    "FT2_DEBUG_MEMORY", "FT2_ALLOC_TOTAL_MAX" and "FT2_ALLOC_COUNT_MAX"
    in DEBUG.TXT

    * src/cache/ftccache.c, src/cache/ftccmap.c, src/cache/ftcsbits.c,
    ftlru.c: fixed the cache sub-system to correctly deal with out-of-memory
    conditions.

    * src/pfr/pfrobjs.c, src/pfr/pfrsbits.c: fixing compiler warnings and a
    small memory leak

    * src/psaux/psobjs.c (t1_reallocate_table): fixed a bug (memory leak) that
    only happened when trying to resize an array would end in an OOM.

    * src/smooth/ftgrays.c: removed compiler warnings / volatile bug

    * src/truetype/ttobjs.c: removed segmentation fault that happened in
    tight memory environments.
2003-03-13 21:07:51 +00:00
David Turner b848b68274 reduce compiler warnings 2003-02-25 21:44:11 +00:00
David Turner 3c3b2be67c * docs/CHANGES, docs/VERSION.DLL, docs/TODO: updating documentation for
the 2.1.4 release

    * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
    updating the project file for 2.1.4
2003-01-31 10:12:40 +00:00
David Turner 9acb09e060 updated documentation for 2.1.4 2003-01-24 08:30:36 +00:00
David Turner 8291d253b6 * src/gzip/adler32.c, src/gzip/infblock.c, src/gzip/inflate.c,
src/gzip/inftrees.c, src/gzip/zconf.h, src/gzip/zlib.h,
        src/gzip/zutil.h: updates to allow compilation without compiler
        warnings with LCC-Win32

        * include/freetype/freetype.h, docs/VERSION.DLL,
        builds/unix/configure.ac: updates for the upcoming 2.1.4 release
2002-12-26 20:51:04 +00:00
David Turner 621e488622 2002-12-16 David Turner <david@freetype.org>
* docs/VERSION.DLL: updating document to better explain the differences between
        the three version numbers being used on Unix, as well as provide the AutoConf
        fragment provided by Lars Clausen

        * src/smooth/ftgrays.c (gray_render_conic): fixed small bug that
        prevented bezier arcs with negative vertical coordinates to be rendered
        appropriately


2002-11-27  Vincent Caron <v.caron@zerodeux.net>

        * builds/unix/unix-def.in, builds/unix/freetype-config.in,
        builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c:
        adding support for system zlib installations when available on the
        target platform (Unix only)
2002-12-16 21:51:24 +00:00
David Turner 6048e3d008 updating documentation & changes 2002-11-13 23:28:08 +00:00
Werner Lemberg eacb9306c0 Formatting; adding file headers. 2002-10-07 10:12:43 +00:00
David Turner 072f7f89d3 * docs/CHANGES: updating 2002-10-05 15:00:36 +00:00
Werner Lemberg cfd5dec319 formatting 2002-09-27 18:17:17 +00:00
David Turner b0b8df68d6 updating documentation 2002-09-25 00:10:27 +00:00
Werner Lemberg 98add9e68c Formatting, minor doc fixes. 2002-09-18 11:32:12 +00:00
David Turner db3d5c1ad9 updating docs/CHANGES 2002-09-18 07:53:22 +00:00
Werner Lemberg 73c10ae9f7 * builds/unix/configure.ac (version_info): Set to 9:2:3.
* builds/unix/configure: Regenerated.
* docs/VERSION.DLL: Updated.
2002-09-10 15:17:32 +00:00
Werner Lemberg 6b5c669b7b * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
(cid_size_init): This.
* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
(t1_builder_add_point1): This.

Updated all affected code.

* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.

Formatting, minor doc fixes.
2002-09-05 15:10:54 +00:00
David Turner 86e6a71f53 * README, docs/CHANGES: updating for the 2.1.3 release 2002-08-29 23:18:56 +00:00
Werner Lemberg 51b6699a35 * docs/VERSION.DLL: New file. 2002-08-27 16:51:02 +00:00
Werner Lemberg 7f74a52a21 Fixing ChangeLog entries.
Some formatting.

* src/truetype/ttgload.c (load_truetype_glyph)
[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.

* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
without effect.
* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
2002-07-26 09:09:10 +00:00
David Turner 02c3aede1b * docs/DEBUG.TXT: adding debugging support documentation
* src/base/ftdebug.c (ft_debug_init), builds/win32/ftdebug.c
    (ft_debug_init), builds/amiga/src/ftdebug.c (ft_debug_init): changed the
    syntax of the FT2_DEBUG environment variable  used to control debugging
    output (i.e. logging and error messages). It must now look like:

       any:6 memory:4 io:3   or
       any:6,memory:4,io:3   or
       any:6;memory:4;io:3
2002-07-08 23:02:32 +00:00
Werner Lemberg 9cbb166d6b Minor fixes. Formatting. 2002-06-22 13:35:41 +00:00
David Turner a0d8abf98d preparing for the 2.1.2 release 2002-06-21 07:42:50 +00:00
David Turner 38f8e894a5 * src/pfr/pfrobjs.h, src/pfr/pfrobjs.c, src/pfr/pfrload.c,
src/pfr/pfrtypes.h: adding Kerning support to the PFR driver
2002-06-21 07:33:23 +00:00
Werner Lemberg 89df58f8e6 * Makefile, configure, */*.mk, builds/unix/unix-def.in,
docs/CHANGES, docs/INSTALL: s/TOP/TOP_DIR/.
2002-06-14 08:09:25 +00:00
Werner Lemberg 2bf2376ced Typo. 2002-06-12 18:40:30 +00:00
Werner Lemberg 5f4e102a42 Minor fixes. 2002-06-11 06:53:15 +00:00
David Turner b1d8f73df6 * src/pcf/pcfdriver.c (pcf_cmap_char_next): fixed a bug that caused
the function to return invalid values.
2002-06-10 22:41:57 +00:00
Werner Lemberg 5bbb494008 * src/bdf/descrip.mms, src/type42/descrip.mms: New files.
* descrip.mms (all): Updated.

* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
compilation.
* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
2002-05-30 19:22:14 +00:00
David Turner d490e3734d * docs/CHANGES: updating file for upcoming release (2.1.1)
* src/bdf/bdflib.c: removing compiler warnings
2002-05-28 23:40:37 +00:00
Werner Lemberg 02d4d59ac0 * builds/amiga/makefile, builds/amiga/smakefile,
amiga/include/freetype/config/ftmodule.h: Updated to include
support for BDF and Type42 drivers.

* docs/modules.txt: Updated.

* src/bdf/bdflib.c (_bdf_parse_glyphs): Replace floating point math
with calls to `FT_MulDiv'.
2002-05-28 22:38:05 +00:00
Werner Lemberg f83ded0174 FreeType 2 can now be built in an external directory with the
configure script also.

* builds/freetype.mk (INCLUDES): Add `OBJ_DIR'.

* builds/unix/detect.mk (have_mk): New variable to test for
external build.
(unix-def.mk): Defined according to value of `have_mk'.
* builds/unix/unix.mk (have_mk): New variable to test for
external build.
Select include paths for unix-def.mk and unix-cc.mk according
to value of `have_mk'.
* builds/unix/unix-def.in (OBJ_BUILD): New variable.
(DISTCLEAN): Use it.
* builds/unix/unix-cc.in (LIBTOOL): Define default value only
if not yet defined.
* builds/unix/install.mk (install): Use `OBJ_BUILD' for installing
freetype-config.

* configure: Don't depend on bash features.
(ft2_dir, abs_curr_dir, abs_ft2_dir): New variables (code
partially taken from Autoconf).
Build a dummy Makefile if not building in source tree.

* docs/INSTALL: Document it.
2002-05-05 10:57:06 +00:00
Werner Lemberg 948ee807e1 * src/sfnt/ttcmap0.c (tt_cmap4_char_index): Fix serious typo
(0xFFFU -> 0xFFFFU).

* docs/INSTALL: Fix URL of makepp.

formatting
2002-05-02 06:50:58 +00:00
Werner Lemberg 6e188b419d formatting 2002-04-17 22:42:13 +00:00
David Turner 11cfdd04a2 fixed max advance width computation within T1 driver 2002-04-17 09:37:59 +00:00
Werner Lemberg 4639c4bddb formatting 2002-04-15 13:37:29 +00:00
David Turner 498eed268e preparing 2.1.0 release 2002-04-15 12:01:10 +00:00
Werner Lemberg 0cc456aa1a minor fixes 2002-04-11 19:55:58 +00:00
David Turner 35f8480b5a * docs/FTL.txt: updated license text to provide a preffered disclaimer
and adjust copyright dates/extents
2002-04-11 15:17:16 +00:00
David Turner 2c7558ce40 * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release 2002-04-11 14:21:16 +00:00
Werner Lemberg 7c89d18d9f * README: Fix typo.
* docs/CHANGES: Minor fixes.
2002-02-09 17:59:12 +00:00
David Turner 1c6af4855a updating docs for 2.0.8 2002-02-08 14:00:20 +00:00
Werner Lemberg 32b534612d Formatting. 2002-02-01 01:20:11 +00:00
David Turner 944b72986f updating documentation for 2.0.7 2002-01-31 17:42:05 +00:00
David Turner a40fb43d7e moved INSTALL to docs/INSTALL to get rid of conflicts with the "install"
script on Windows (where the file system doesn't preserve CASE)
2002-01-30 12:56:16 +00:00
Antoine Leca 84712cc3fb * docs/PATENTS: Typo fixed (Thanks to Detlef "Hawkeye" Wuerkner) in the URL for the on-line resource. 2002-01-21 21:57:38 +00:00
Werner Lemberg 3975e2e1f5 Formatting. 2002-01-09 21:01:18 +00:00
David Turner 6096b5a11c updating documentation 2002-01-07 10:40:48 +00:00
Werner Lemberg af594e606a * builds/amiga/*: Adaptations to latest changes.
Support added for MorphOS.

* src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
(ps_mask_table_merge, ps_hints_open, ps_hints_stem,
ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
FT_ERROR messages.
* src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
`trace_pshalgo1'.
* src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
`trace_pshalgo2'.
* include/freetype/internal/ftdebug.h (FT_Trace): Updated.

* docs/modules.txt: New file.
2001-12-22 14:38:40 +00:00
Werner Lemberg f41e71a199 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
Formatting.
2001-12-20 21:22:02 +00:00
David Turner 0fcb412ffc * docs/CHANGES: updated for 2.0.6 release
* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: updated
        to mode the definition of encoding tables within "cffload.c" instead
        of making them part of a shared header (causing problems in "multi"
        builds)
2001-12-20 13:33:03 +00:00
David Turner c8087481df * docs/TODO: added "stem3 and counter hints support" to the TODO list
for the Postscript hinter

        * docs/BUGS: closed the AUTOHINT-NO-SBITS bug.

        * src/pshinter/pshrec.c (t2_hint_stems), src/cff/cffobjs.h,
        src/cff/cffobjs.c, src/cff/cffload.c, src/cff/cffload.h,
        src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffdriver.c,
        include/freetype/internal/cfftypes.h: added Postscript hinter support
        to the CFF driver

        * src/base/ftobjs.c (FT_Done_Library): fixed a stupid bug that crashed
        the library on exit
2001-12-20 13:14:18 +00:00
Werner Lemberg 2f5d1b76ca * builds/unix/freetype2.m4: Some portability fixes. 2001-12-12 15:15:44 +00:00
David Turner dd27182038 * builds/unix/freetype-config.in: modified the script to prevent
passing "-L/usr/lib" to gcc

        * docs/FTL.TXT: simple fix (change "LICENSE.TXT" to "FTL.TXT")

        * builds/unix/freetype2.m4: added autoconf macro, we need to install
        it in $(prefix)/share/aclocal/freetype2.m4 but I didn't modified
        builds/unix/install.mk yet..
2001-12-11 13:38:52 +00:00
David Turner 640078d425 * src/pcf/pcfdriver.c (PCF_Init_Face): allow Xft to use PCF fonts
by setting the "face->metrics.max_advance" correctly..
2001-12-10 10:47:47 +00:00
Werner Lemberg e9e130c071 Formatting. 2001-12-07 21:56:32 +00:00
David Turner c8ad30a7a0 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): re-ordered code for debugging
purposes..


    * src/smooth/ftsmooth.c (ft_smooth_render): fixed a nasty hidden bug where
    outline shifting wasn't correctly undone after bitmap rasterization. this
    created problems with certain glyphs (like '"' of certain fonts..) and
    the cache system..
2001-12-05 17:24:34 +00:00
Werner Lemberg c3b2160869 Formatting.
Cleaning up of ChangeLog.

* docs/license.txt: s/X Windows/X Window System/.

* src/raster/ftraster.c: Fix definition condition of MEM_Set().
* src/smooth/ftgrays.c (M_Y): Change value to 192.
* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
Remove unused variable.
* src/cache/ftcimage.c (ftc_image_node_init,
ftc_image_node_compare): Remove unused variables.
* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
variable.
* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
compiler warning.
* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
avoid compiler warnings.
* src/pcf/pcfread.c (tableNames): Use `const'.
(pcf_read_TOC): Change counter name to avoid compiler warning.
Use `const'.
* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
declaration.
* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
to avoid shadowing.
* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
and `T1_Size_Done()'.
2001-12-05 01:22:05 +00:00
David Turner dcb2b27ea8 updated comment explaining how to use project-specific
option (and module) files
2001-10-24 23:33:31 +00:00
David Turner 950c669060 * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: modified
the debugging memory manager to report the location (source file name
        + line number) where leaked memory blocks are allocated in the source
        file..  funny, isn't it ??
2001-10-22 14:50:41 +00:00
Werner Lemberg 620ec14955 renaming todo -> TODO 2001-10-20 01:29:38 +00:00
David Turner afa3854202 documentation update 2001-10-18 13:22:01 +00:00
David Turner 034a19326b documentation update for 2.0.5 2001-10-17 13:57:02 +00:00
Werner Lemberg 80b8d77024 Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables.  This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).

* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.

* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems).  <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.


Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.

* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 19:56:42 +00:00
David Turner 1cd4f85e14 updating CHANGES
preparing for the 2.0.5 release
2001-10-09 07:32:50 +00:00
David Turner b3ba40ddfd * include/freetype/ftsizes.h, src/base/ftobjs.c, src/cache/ftcmanag.c:
added a new header, named "ftsizes.h" (FT_SIZES_H) to provide a public
	API to manage multiple size objects for a given FT_Face.
2001-10-07 13:30:26 +00:00
David Turner 21939455dc Adding a new file named docs/BUGS contained a table of known bugs
of the library

Updated the docs/CHANGES and docs/TODO documents slightly
2001-10-05 14:23:03 +00:00
Werner Lemberg f814d0fafe First round in converting
type foo ( ... )

to

  type
  foo ( ... )

Other minor formatting issues.
2001-06-27 16:18:10 +00:00
David Turner c40f386727 doc update 2001-06-27 12:42:10 +00:00
Werner Lemberg 0bf6e0647a Formatting. 2001-06-22 17:17:47 +00:00
David Turner 995ff2046b updated documentation for the 2.0.4 release 2001-06-22 08:45:31 +00:00
David Turner 1c46854ae3 small doc update 2001-05-29 10:52:34 +00:00
David Turner 4312f42796 moving documents to the "docs" directory 2001-05-24 15:00:19 +00:00
David Turner ebe85f59c9 * include/freetype/fttrigon.h, src/base/fttrigon.c, src/base/ftbase.c,
src/base/Jamfile, src/base/rules.mk: adding trigonometric functions
    to the core API (using Cordic algorithms).

    * builds/top_level.mk, builds/newline, builds/detect.mk: fixed problems
    with Make on Windows 2000, as well as problems when "make distclean" is
    invoked on a non-Unix platform when there is no "config.mk" in the
    current directory..

    * builds/freetype.mk: fixed a problem with object deletions under
    Dos/Windows/OS/2 systems

    * src/tools: added new directory to hold tools and test programs
    moved docmaker.py, glnames.py to it..

    * src/tools/docmaker.py: improved the script to add the current date
    at the footer of each web page (useful to distinguish between versions)

    * Jamfile: fixed incorrect HDRMACRO argument.

    * TODO: removed the cubic arc bbox computation note, since it has been
    fixed recently..

    * include/freetype/t1tables.h, include/freetype/config/ftoption.h:
    formatting
2001-05-11 14:25:57 +00:00
Werner Lemberg fc26ecd9d3 formatting 2001-05-08 13:52:13 +00:00
David Turner bc891834b8 * docs/docmaker.py: updated the DocMaker script in order to add
command line options (--output,--prefix,--title), fix the erroneous
    line numbers reported during errors and warnings, and other formatting
    issues..
2001-05-08 07:48:33 +00:00
Werner Lemberg 3780273e3e * builds/unix/config.guess, builds/unix/config.sub: Updated to
latest versions from gnu.org.

* builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag.

* include/freetype/internal/ftcalc.h: Define FT_SqrtFixed()
uncoditionally.
* src/base/ftbbox.c: Include FT_INTERNAL_CALC_H.
Fix compiler warnings.
* src/base/ftcalc.c: Fix (potential) compiler warnings.

* src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit
fixed-point square root computation.  It is now used even with
64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-)
* src/base/ftbbox.c: Removed invalid "#include FT_BEZIER_H" line.
* 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).
* ftconfig.h, ftoption.h: Updated "ftconfig.h" to detect 64-bit int
types on platforms where Autoconf is not available).  Also removed
FTCALC_USE_LONG_LONG and replaced it with
FT_CONFIG_OPTION_FORCE_INT64.
* builds/win32/freetype.dsp: Updated the Visual C++ project file.
Doesn't create a DLL yet.
* cffgload.c: Removed a compilation warning.
2001-04-26 13:34:36 +00:00
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