Commit Graph

1329 Commits

Author SHA1 Message Date
Werner Lemberg 96be66c86f Typo. 2002-06-12 18:40:30 +00:00
Werner Lemberg 5e8f5b4068 * src/bdf/bdflib.c: s/FT_Short/short/ for consistency. 2002-06-12 08:43:58 +00:00
David Turner 78a6c64069 * builds/win32/ftdebug.c: added a missing #endif
* src/sfnt/ttload.c, src/bdf/bdflib.c: removing compiler warnings

        * src/type42/t42objs.c: removed the bug that prevented un-hinted
        outlines to be loaded
2002-06-11 20:35:58 +00:00
Werner Lemberg fb571201e7 Minor fixes. 2002-06-11 06:53:15 +00:00
David Turner 6e09a971b5 * include/freetype/internal/ftobjs.h, src/autohint/ahglyph.c,
src/base/ftobjs.c, src/objs/fttype1.c, src/sfnt/ttcmap0.c,
    src/smooth/ftgrays.c: changed uses of "setjmp" and "longjmp"
    to "ft_setjmp" and "ft_lonjmp". Removed direct references to
    <stdio.h> and <setjmp.h> when appropriate, to eventually replace
    them with a FT_CONFIG_STANDARD_LIBRARY_H. Useful for the XFree86
    Font Server backend based on FT2.
2002-06-10 23:03:35 +00:00
David Turner dd7573e087 * 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 97a91951c3 New file. 2002-06-08 14:23:50 +00:00
David Turner 361c4dc153 fixed a typo in "src/cache/ftccache.i"
fixed a nasty bug in "src/cache/ftccache.c" (ftc_node_hash_unlink)
2002-06-08 13:51:18 +00:00
David Turner 426b4aa8ba - removing a typo in ftccache.i that prevented it from compiling correctly
- fixed the infamous bug that caused the cache to crash with large fonts.
  the hash table buckets array wasn't shrinked correctly during cache
  flushes..
2002-06-08 13:48:41 +00:00
Werner Lemberg 57127f73b9 * src/cache/ftccache.i (GEN_CACHE_LOOKUP): Move declaration of
`family' and `hash' up to make it compilable with g++.
2002-06-08 12:50:18 +00:00
Werner Lemberg 6bd6cbead3 * builds/amiga/smakefile, builds/amiga/makefile: Updated. 2002-06-08 12:33:57 +00:00
Werner Lemberg c5fcfdf651 * src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
Fix debugging messages.

* src/type42/t42error.h: New file.
* src/type42/t42drivr.c, src/type42/t42objs.c,
src/type42/t42parse.c: Use t42 error codes.
* src/type42/rules.mk: Updated.

* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.

Formatting, adding copyright messages.
2002-06-08 06:47:18 +00:00
David Turner f7eaf21d8d adding template cache lookup routine 2002-06-08 01:06:31 +00:00
David Turner 441dba8fe9 commit last fixes and optimisations to the cache manager.
The performance of cache hits has increased between 20 and 50% !!
2002-06-08 01:05:56 +00:00
David Turner 59c5aa5e7d debugging new cache hash table implementation 2002-06-07 22:09:20 +00:00
David Turner 7b53ba57a4 * include/freetype/cache/ftccache.h, src/cache/ftccache.c,
src/cache/ftccache.i, src/cache/ftcsbits.c: adding various
          experimental optimisations to the cache manager

        * src/type42/t42parse.c: removing duplicate function
2002-06-07 20:07:44 +00:00
David Turner cf67f6f707 * src/base/ftobjs.c (FT_Render_Glyph_Internal): changed definition
from FT_EXPORT_DEF to FT_BASE_DEF
2002-06-07 07:24:55 +00:00
David Turner 2ef2d507c2 * src/type42/t42drivr.c, src/type42/t42drivr.h, src/type42/t42parse.c,
src/type42/t42parse.h, src/type42/t42objs.h, src/type42/t42objs.c,
          src/type42/type42.c:

            updated the Type42 driver by splitting it into several files since
            it makes the code easier to read and maintain. Also fixed the bug
            that prevented the correct display of fonts with "ftview"
2002-06-07 07:23:06 +00:00
Werner Lemberg 48426ab477 Add 8bpp support.
* src/bdf/bdflib.c (_bdf_parse_start): Handle 8bpp.
* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Ditto.
* src/bdf/README: Updated.
2002-06-03 20:01:23 +00:00
Werner Lemberg 153ba3f903 * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array. 2002-06-02 12:11:48 +00:00
Werner Lemberg e4decd8385 * src/bdf/bdflib.c (_bdf_readstream): Allocate `buf' dynamically.
(_bdf_parse_glyphs): Use correct size for allocating
`font->unencoded'.
(bdf_load_font): Free array conditionally.
Return proper error code in case of failure.
* src/bdf/bdfdrivr.c (BDF_Face_Init): Make it more robust against
unusual fonts.
2002-05-30 19:29:41 +00:00
Werner Lemberg 226e85462e * 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 a2490050cc * 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 b4d3441b44 * 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
David Turner 2359a38374 * include/freetype/ftxf86.h, src/base/ftxf86.c: added a new API named
FT_Get_X11_Font_Format to return an X11-compatible string describing the
    font format of a given face. This was put in a new optional base source
    file, corresponding to a new public header (named FT_XFREE86_H since
    this function should only be used within the XFree86 font server IMO).

    * include/freetype/config/ftheader.h: adding FT_XFREE86_H, though it's
    not documented yet.

    * include/freetype/t1tables.h, src/base/fttype1.c: adding two new APIs
    named "FT_Get_PS_Font_Info" and "FT_Has_PS_Glyph_Names". This required
    a new optional source in 'src/base' named "fttype1.c"

    * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms: updating
    build control files for the new files "ftxf86.c" and "fttype1.c" in
    src/base
2002-05-28 22:07:49 +00:00
David Turner 0cb062ae96 formatting 2002-05-28 21:41:29 +00:00
David Turner 8a489ece90 * src/pshinter/pshglob.c (psh_blues_scale_zones): fixed a bug that
prevented family blue zones substitution from hapenning correctly
2002-05-28 20:29:12 +00:00
David Turner 44c8f9b6c4 * include/freetype/ftbdf.h: adding documentation comments for the
API reference describing the new function FT_Get_BDF_Charset_ID.
2002-05-28 20:14:28 +00:00
Werner Lemberg aa9b8506c4 * src/base/ftnames.c (FT_Get_Sfnt_Name): Don't use FT_STREAM_READ_AT
but FT_STREAM_READ.
Declare `stream' variable.
2002-05-28 06:03:10 +00:00
David Turner c9d2024e0e * include/freetype/internal/tttypes.h, src/sfnt/ttload.c,
src/sfnt/sfobjs.c, src/sfnt/sfdriver.c, src/base/ftnames.c:
        fixing the SFNT name table loader to support various buggy fonts.
        it now ignores empty name entries, entries with invalid pointer
        offsets and certain fonts containing tables with broken "storageOffset"
        fields.

        name strings are now loaded on demand, which reduces the memory
        requirements for a given FT_Face tremendously (for example, the
        name table of Arial.ttf is about 10Kb and contains 70 names !!)

        finally, this is a _quick_ fix. The whole name table loader and
        interface will be rewritten in a much more cleanly way shortly,
        once CSEH have been introduced in the sources.
2002-05-27 23:52:01 +00:00
Werner Lemberg 76a047f544 Fix comment. 2002-05-27 13:02:37 +00:00
Werner Lemberg 2523267c59 * builds/unix/ft-munmap.m4: New file, extracted FT_MUNMAP_DECL and
FT_MUNMAP_PARAM from aclocal.m4 into here, so aclocal.m4 can be
rebuilt from sources.  Set macro serial to 1, and use third argument
to AC_DEFINE for our two custom symbols, so ftconfig.in could one day
be rebuilt with autoheader (not recommended now, ftconfig.in is a
custom source file)
2002-05-24 22:05:43 +00:00
Werner Lemberg 7cd606a68d * include/freetype/config/ftheader.h (FT_BEZIER_H): Removed.
(FT_BDF_H): New macro for accessing `ftbdf.h'.

* src/type42/t42drivr.c (hexval): Fix typo.
2002-05-22 05:41:06 +00:00
Werner Lemberg 4ea7621019 * src/psaux/psobjs.c (T1Radix): New function.
(t1_toint): Use it to handle numbers in radix format.

* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Add dummy
for undocumented, obsolete opcode 15.
2002-05-22 04:53:25 +00:00
David Turner b3971ae105 * src/bdf/bdflic.c: removed compiler warning, and changed all tables
to the "static const" storage specifier (instead of simply 'static')

        * src/type42/t32drivr.c, src/bdf/bdfdrivr.c:
          removing compiler warnings
2002-05-21 21:17:43 +00:00
David Turner 33ea194266 * src/type42/t32drivr.c: removing compiler warnings 2002-05-21 20:57:36 +00:00
David Turner 75aafb5021 * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:

          Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve
          BDF-specific strings from a face. This is much cleaner
          than accessing the internal types "BDF_Public_Face" defined in
          FT_INTERNAL_BDF_TYPES_H
2002-05-21 20:50:53 +00:00
Werner Lemberg 1b547d80d6 * src/bdf/README: Mention Microsoft's SBIT tool.
* src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdriver.c,
src/truetype/ttdriver.c, src/type1/t1driver.c,
src/winfonts/winfnt.c, src/type42/t42drivr.c, src/bdf/bdfdrivr.c
[FT_CONFIG_OPTION_DYNAMIC_DRIVERS]: Completely removed.  It has
been never used.
2002-05-21 20:22:59 +00:00
Werner Lemberg a4540bb98a * src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/.
(parse_font_matrix): Remove unnecessary code.
(parse_sfnts): Initialize some variables.
(t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use
ft_module_driver_has_hinter conditionally.
Moved some type 42 specific structure definitions to...
* include/freetype/internal/t42types.h: New file.
* include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H):
New macro.

* include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field
`num_grays' for specifying the number of used gray levels.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it.

Adding a driver for BDF fonts written by Francesco Zappa Nardelli
<Francesco.Zappa.Nardelli@ens.fr>.  Heavily modified by me to
better adapt it to FreeType, removing unneeded stuff.  Additionally,
it now supports Mark Leisher's BDF extension for anti-aliased
bitmap glyphs with 2 and 4 bpp.

* src/bdf/*: New driver.
* include/freetype/internal/bdftypes.h: New file.
* include/freetype/internal/fttrace.h: Added BDF driver components.
* include/freetype/fterrdef.h: Added error codes for BDF driver.
* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
* include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H):
New macro.

* include/freetype/config/ftstdlib.h (ft_sprintf): New alias for
sprintf.

* include/freetype/internal/fttrace.h: Added Type 42 driver
component.
* src/type42/t42drivr.c: Use it.

* include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H):
New macro.
2002-05-21 14:13:01 +00:00
David Turner 6795f1e2b3 adding BDF driver 2002-05-18 12:03:43 +00:00
Werner Lemberg 35164d7036 * src/type42/Jamfile: New file. 2002-05-17 12:10:04 +00:00
Werner Lemberg daeb2bc82d Adding a driver for Type42 fonts written by Roberto Alameda
<ojancano@geekmail.de>.

* src/type42/*: New driver.
* include/freetype/config/ftmodule.h, src/Jamfile: Updated.
* include/freetype/config/ftstdlib.h (ft_xdigit, ft_memcmp,
ft_atoi): New aliases for xdigit, memcmp, and atoi, respectively.
2002-05-15 06:18:24 +00:00
Werner Lemberg 2569232f40 Import of type42 driver 2002-05-15 06:16:57 +00:00
Werner Lemberg dc6751296e Initial revision 2002-05-15 06:16:57 +00:00
Werner Lemberg 056ecd0e5d * src/sfnt/ttload.c (TT_LookUp_Table): Protect against tables
with a zero length value.

* builds/beos/beos.mk: Include `link-std.mk'.

* src/type1/t1load.h (T1_Loader): Renamed to...
(T1_LoaderRec): This.
(T1_Loader): Now pointer to T1_LoaderRec.
* src/type1/t1load.c: Updated.

* include/freetype/internal/t1types.h, src/type1/t1load.c,
src/type1/t1objs.c:
s/T1_ENCODING_TYPE_EXPORT/T1_ENCODING_TYPE_EXPERT/.
2002-05-12 19:59:17 +00:00
Werner Lemberg 829b16ecb2 * README: Add a note regarding libttf vs. libfreetype. 2002-05-05 22:24:44 +00:00
Werner Lemberg e3ab2e383a 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 43284a0697 formatting 2002-05-05 07:40:16 +00:00
David Turner c9484caf7a * src/truetype/ttgload.c (TT_Load_Glyph): finally fixing the last
bug that prevented FreeType 2.x and FreeType 1.x to produce
          bit-by-bit identical monochrome glyph bitmaps with native TrueType
          hinting. The culprit was a single-bit flag that wasn't set
          correctly by the TrueType glyph loader !!

        * src/otlayout/otlayout.h,
          src/otlayout/otlbase.c,
          src/otlayout/otlbase.h,
          src/otlayout/otlconf.h,
          src/otlayout/otlgdef.c,
          src/otlayout/otlgdef.h,
          src/otlayout/otlgpos.c,
          src/otlayout/otlgpos.h,
          src/otlayout/otlgsub.c,
          src/otlayout/otlgsub.h,
          src/otlayout/otljstf.c,
          src/otlayout/otljstf.h,
          src/otlayout/otltable.c,
          src/otlayout/otltable.h,
          src/otlayout/otltags.h:

            adding OpenType Layout source files. Module is still incomplete
2002-05-04 18:02:59 +00:00
Werner Lemberg 75e6d1ce91 * 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