Commit Graph

434 Commits

Author SHA1 Message Date
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
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 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
David Turner 8ff18d7f74 * include/freetype/internal/fthash.h, src/base/fthash.c:
adding a generic implementation of dynamic hash tables using
          linear algorithm (to get rid of 'stalls' during resizes). This
          will be used in the future in at least three parts of the
          library: the cache sub-system, the object sub-system and
          the memory debugger.

        * include/freetype/internal/ftcore.h: added this header file to
          group all new definitions related to exception handling and
          memory management. It's very likely that this file will disappear
          or be renamed in the future..

        * include/freetype/internal/ftobject.h, include/freetype/ftsysmem.h:
          adding comments to better explain the object sub-system as well
          as the new memory manager interface.
2002-05-01 08:46:56 +00:00
David Turner 277e62fba6 * src/sfnt/sfobjs.c (tt_face_get_name): fixing a bug that
caused FreeType to crash when certain broken fonts (e.g.
          "hya6gb.ttf") were opened.

        * src/sfnt/ttload.c (TT_Load_Names): applied a small work-around to
          manage fonts containing a broken name table (e.g. "hya6gb.ttf")

        * src/sfnt/ttcmap0.c (tt_cmap4_validate):
          fixed over-restrictive validation test. the charmap validator
          now accepts overlapping ranges in format 4 charmaps.

        * src/sfnt/ttcmap0.c (tt_cmap4_char_index):
          switched to a binary search algorithm. Certain fonts contain
          more than 170 distinct segments !!
2002-05-01 08:40:53 +00:00
Werner Lemberg 26d737a8a5 * src/base/ftmac.c (p2c_str): Removed.
(file_spec_from_path) [TARGET_API_MAC_CARBON]: Added support for
OS X.
(is_dfont) [TARGET_API_MAC_CARBON]: Define only for OS X.
Handle `nameLen' <= 6 also.
(parse_fond): Remove unused variable `name_table'.
Use functionality of old p2c_str directly.
Add safety checks.
(read_lwfn): Initialize `size_p'.
Check for size_p == NULL.
(new_memory_stream, open_face_from_buffer): Updated to FreeType 2.1.
(FT_New_Face_From_LWFN): Remove unused variable `memory'.
Remove some dead code.
(FT_New_Face_From_SFNT): Remove unused variable `stream'.
(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Define only for
OS X.
(FT_New_Face_From_FOND): Remove unused variable `error'.
(ResourceForkSize): New function.
(FT_New_Face): Use it.
Handle empty resource forks.
Conditionalize some code for OS X.
Add code to call normal loader as a fallback.

Some more variable renames to avoid troubles on the Mac.

* src/raster/ftraster.c:
s/Unknown|Ascending|Descending|Flat/\1_State/.
* src/smooth/ftgrays.c: s/TScan/TCoord/.

Other changes for the Mac.

* include/freetype/config/ftconfig.h: Define FT_MACINTOSH for
Mac platforms.
* src/base/ftobjs.c: s/macintosh/FT_MACINTOSH/.

* src/raster/ftrend1.c (ft_raster1_render): Make `pitch' always
an even number.
2002-04-30 14:26:49 +00:00
Werner Lemberg b5127306ad `interface' is reserved on the Mac.
* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
src/base/ftoutln.c: s/interface/func_interface/.
* src/base/ftbbox.c (FT_Outline_Get_BBox):
s/interface/bbox_interface/.
* src/cff/cffdrivr.c: s/interface/module_interface/.
* src/cff/cffload.c, src/cff/cffload.h:
s/interface/psnames_interface/.
* src/cid/cidriver.c: s/interface/cid_interface/.
* src/sfnt/sfdriver.c: s/interface/module_interface/.
* src/smooth/ftgrays.c: s/interface/func_interface/.
* src/truetype/ttdriver.c: s/interface/tt_interface/.
* src/type1/t1driver.c: s/interface/t1_interface/.
2002-04-30 06:37:52 +00:00
Werner Lemberg c2c5cfe024 * descrip.mms (all): Add pfr driver. 2002-04-29 12:59:32 +00:00
Werner Lemberg c5d0f4051e * src/pcf/pcfdriver.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_CMAPS]:
`root' -> `face->root'.
* src/sfnt/ttcmap0.c (TT_Build_CMaps) [!FT_CONFIG_OPTION_USE_CMAPS]:
Removed.
* src/sfnt/ttcmap0.c: Declare TT_Build_CMaps only for
FT_CONFIG_OPTION_USE_CMAPS.
2002-04-28 12:25:31 +00:00
Werner Lemberg 8a050caa68 * src/pfr/pfrerror.h: New file.
* include/freetype/ftmoderr.h: Add PFR error codes.
* src/pfr/pfrgload.c: Include pfrerror.h.
Use PCF error codes.
(pfr_extra_item_load_stem_snaps): Fix debug message.
* src/pfr/pfrgload.c: Include pfrerror.h.
Use PCF error codes.
(pfr_extra_item_load_bitmap_info, pfr_glyph_load_simple,
pfr_glyph_load_compound): Fix debug message.
* src/pfr/pfrobjs.c: Include pfrerror.h.
Use PCF error codes.
(pfr_face_init): Return PFR_Err_Unknown_File_Format.
* src/pfr/rules.mk (PFR_DRV_H): Include pfrerror.h.
2002-04-28 10:25:55 +00:00
Werner Lemberg 3a037af810 * src/cache/ftccache.c (ftc_cache_lookup),
src/cache/ftccmap.c (ftc_cmap_family_init),
src/cache/ftcmanag.c (ftc_family_table_alloc),
src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
2002-04-28 02:48:20 +00:00
Werner Lemberg 2001b14e5a * builds/unix/configure.ac: Set `version_info' to 9:1:3 (FT2
version 2.0.9 has 9:0:3).
* builds/unix/configure: Regenerated (using autoconf 2.53).
2002-04-22 16:50:27 +00:00
Werner Lemberg 8cc1319c54 * src/pfr/pfrload.c (pfr_extra_items_farse): Fix debug message.
(pfr_phy_font_load): s/size/Size/ for local variable to avoid
compiler warning.
* src/pfr/pfrobjs.c (pfr_face_init): Fix debug message.
(pfr_slot_load): Remove redundant local variable.

adding copyrights, formatting
2002-04-20 05:38:33 +00:00
David Turner 596ba53283 * src/type1/t1gload.h, src/type1/t1gload.c: fixed incorrect
parameter sign-ness in callback function

        * include/freetype/config/ftmodule.h,
          include/freetype/internal/fttrace.h,
          src/Jamfile, src/pfr/*:

          adding a PFR font driver to the FreeType sources. Not that it
          doesn't support embedded bitmaps or kerning tables for now..


        * include/freetype/internal/ftmemory.h: adding the FT_MEM_ZERO
          and FT_ZERO macros

        * include/freetype/internal/ftstream.h: adding the FT_NEXT_OFF3,
          FT_NEXT_UOFF3, FT_NEXT_OFF3_LE and FT_NEXT_UOFF3_LE to parse
          in-memory 24-bit integers.
2002-04-19 15:13:47 +00:00
Werner Lemberg b97e32c7ad *** empty log message *** 2002-04-18 14:27:21 +00:00
Werner Lemberg bbf539d46e formatting 2002-04-18 14:26:29 +00:00
David Turner 38748e42fe * src/base/ftobjs.c, builds/win32/ftdebug.c,
builds/amiga/src/base/ftdebug.c :

            2.1.0 couldn't be linked against applications in Win32 and
            Amiga builds due to changes to "src/base/ftdebug.c" that
            were not properly propagated to "builds/win32" and
            "builds/amiga"..

            this has been fixed. We'll probably make 2.1.1 real
            soon now..


        * include/freetype/internal/ftobject.h,
          include/freetype/internal/ftexcept.h,
          include/freetype/ftsysmem.h,
          include/freetype/ftsysio.h,
          src/base/ftsysmem.c,
          src/base/ftsysio.c:

            adding new experimental files for 2.1.1 (or 2.1.2)
2002-04-18 10:07:26 +00:00
Werner Lemberg 0b12544efd formatting 2002-04-17 22:42:13 +00:00
David Turner de23a2670c fixed max advance width computation within T1 driver 2002-04-17 09:37:59 +00:00
Werner Lemberg 567caf08f3 * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
tables.
2002-04-16 13:39:17 +00:00
Werner Lemberg 058b50a6d7 formatting 2002-04-15 13:37:29 +00:00
David Turner 3144d1e818 preparing 2.1.0 release 2002-04-15 12:01:10 +00:00
Werner Lemberg be60044eb1 * src/cff/cffgload.c (CFF_Parse_CharStrings): s/rand/Rand/ to avoid
compiler warning.

formatting/fixing ChangeLog
2002-04-14 00:54:32 +00:00
David Turner 7bfce366c4 * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Oops, forgot to
update these files too
2002-04-12 10:19:15 +00:00
David Turner 4ef3ec7caa * README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..

        * include/freetype/config/ftstdlib.h,
          include/freetype/config/ftconfig.h,
          include/freetype/config/ftheader.h,
          include/freetype/internal/ftmemory.h,
          include/freetype/internal/ftobjs.h,

          src/autohint/ahoptim.c,

          src/base/ftdbgmem.c, src/base/ftdebug.c,
          src/base/ftmac.c,    src/base/ftobjs.c,
          src/base/ftsystem.c,

          src/cache/ftcimage.c, src/cache/ftcsbits.c,

          src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,

          src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,

          src/pcf/pcfdriver.c, src/pcf/pcfread.c,

          src/psaux/t1cmap.c, src/psaux/t1decode.c,

          src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
          src/pshinter/pshrec.c,

          src/psnames/psmodule.c,

          src/raster/ftraster.c,

          src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,

          src/smooth/ftgrays.c,

          src/type1/t1afm.c,  src/type1/t1driver.c, src/type1/t1gload.c,
          src/type1/t1load.c, src/type1/t1objs.c,   src/type1/t1parse.c:

            added the new configuration file "ftstdlib.h" used to define
            aliases for all ISO C library functions used by the engine
            (e.g. strlen, qsort, setjmp, etc...)

            this eases the porting of FreeType 2 to exotic environments like
            XFree86 modules/extensions..

            also removed many #include <string.h>, #include <stdlib.h>, etc...
            from the engine's sources where they're not needed..
2002-04-12 09:31:48 +00:00
Werner Lemberg cdec219228 minor fixes 2002-04-11 19:55:58 +00:00
David Turner 44be9acbe6 * README, docs/CHANGES, Jamfile.in: updating for the 2.1.0 release 2002-04-11 14:21:16 +00:00
David Turner 242c529fee * src/smooth/ftgrays.c (gray_hline): very minor optimization. :-) 2002-04-11 10:34:19 +00:00
Werner Lemberg de757dd175 Fixes from the stable branch:
* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_CALCS):
Removed.
[FT_CONFIG_OPTION_OLD_CALCS]: Removed.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
[FT_CONFIG_OPTION_OLD_CALCS]: Removed.

* src/base/fttrigon.c (FT_Vector_Length): Change algorithm to match
output of FreeType 1.

* src/pshinter/pshglob.c (psh_globals_scale_widths): Fixed a small
bug that created un-even stem widths when hinting Postscript fonts.

formatting, updating copyright
2002-04-02 14:50:31 +00:00
Werner Lemberg a1c0779c23 * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
formatting, copyright updates
2002-04-01 22:01:46 +00:00
Werner Lemberg 546305fd3c * src/truetype/ttgload.c: 16bit fixes.
(TT_Load_Simple_Glyph): Improve debug messages.
(load_truetype_glyph): Remove dead code.
* src/truetype/ttinterp.c: 16bit fixes.
* src/truetype/ttobjs.c: Ditto.

* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
src/sfnt/ttpost.h: s/index/idx/.

formatting, copyright updates.
2002-04-01 14:25:28 +00:00
Werner Lemberg 4cf900afa3 * src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
* src/sfnt/ttcmap0.c: 16bit fixes.
(TT_Build_CMaps): Simplify debug messages.
(tt_cmap12_char_next): Fix offset.
* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
messages.
(TT_Load_OS2): 16bit fix.
2002-03-31 18:48:24 +00:00
Werner Lemberg 259d88edbc * src/psaux/t1cmap.c: s/index/idx/.
* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix debug
messages.
2002-03-31 11:18:15 +00:00
Werner Lemberg 9bba0634a0 * src/truetype/ttobjs.c (TT_Size_Init): Fix typo.
* src/otlayout/otlcommn.c, src/otlayout/otlcommn.h: s/index/idx/.
2002-03-31 06:56:56 +00:00
Werner Lemberg f1c46e5e00 formatting, copyright 2002-03-30 17:08:04 +00:00
Werner Lemberg 540dff7648 fix entry 2002-03-30 16:47:55 +00:00
Werner Lemberg 05109ff794 formatting 2002-03-30 16:46:23 +00:00
Werner Lemberg f387e07c27 * src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
* src/cff/sfobjs.c (SFNT_Load_Face)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.

* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
src/truetype/ttobjs.h: Renaming driver functions to the
FT_<Subject>_<Action> scheme:

  TT_Init_Driver => TT_Driver_Init
  TT_Done_Driver => TT_Driver_Done
  TT_Init_Face   => TT_Face_Init
  TT_Done_Face   => TT_Face_Done
  TT_Init_Size   => TT_Size_Init
  TT_Done_Size   => TT_Size_Done
  TT_Reset_Size  => TT_Size_Reset
2002-03-30 16:41:09 +00:00
David Turner 61526ec55f fixing the function that computes an ASCII face name 2002-03-30 16:32:47 +00:00
David Turner 451e416d66 removing compiler warnings 2002-03-30 16:14:48 +00:00
David Turner 957565d4ee updating comments for some TT_FaceRec fields 2002-03-30 16:09:24 +00:00
Werner Lemberg f05e21a035 * include/freetype/t1tables.h (t1_blend_max): Fix typo.
* src/base/ftstream.c: Simplify FT_ERROR calls.

formatting, copyright update
2002-03-30 13:16:35 +00:00
Werner Lemberg 2b5f1a9b91 formatting 2002-03-29 23:23:28 +00:00