Commit Graph

1382 Commits

Author SHA1 Message Date
Werner Lemberg d4af90b265 * src/pshinter/pshglob.c (psh_globals_new): Fix value of
`dim->stdw.count'.
Don't assign default values to blue scale and blue shift.
2004-02-27 20:32:39 +00:00
Werner Lemberg e2455bad12 * docs/CHANGES: Updated.
Improve MacOS fond support.  Provide a new API
`FT_New_Face_From_FSSpec' similar to `FT_New_Face'.

* src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h.
STREAM_FILE [__MWERKS__]: New macro.
(ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions.
(file_spec_from_path) [__MWERKS__]: Updated #if statement.
(get_file_type, make_lwfn_spec): Use `const' for argument.
(is_dfont) [TARGET_API_MAC_CARBON]: Removed.
(count_face_sfnt, count_faces): New functions.
(parse_fond): Do some range checking.
(read_lwfn): Change type of second argument.
No longer call FSpOpenResFile.
(OpenFileAsResource): New function.
(FT_New_Face_From_LWFN): Use `const' for second argument.
Use OpenFileAsResource.
(FT_New_Face_From_Suitcase): Change type of second argument.
No longer call FSpOpenResFile.
Loop over all resource indices.
(FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed.
(FT_GetFile_From_Mac_Name): Use `const' for first argument.
(ResourceForkSize): Removed.
(FT_New_Face): Updated to use new functions.
(FT_New_Face_From_FSSpec): New function.

* include/freetype/ftmac.h: Updated.
2004-02-26 21:56:27 +00:00
Werner Lemberg 50aedae2be * src/autohint/ahhint.c (ah_hinter_load) <FT_GLYPH_FORMAT_OUTLINE>:
Handle case where outline->num_vedges is zero while computing hinted
metrics.

* src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value
for `count'.
2004-02-26 09:08:51 +00:00
Werner Lemberg 675431bec1 * include/freetype/t1tables.h (PS_PrivateRec): Add
`expansion_factor'.

* src/pshinter/pshglob (psh_blues_scale_zones): Fix computation
of blues->no_overshoots -- `blues_scale' is stored with a
magnification of 1000, and `scale' returns fractional pixels.

* src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift',
`blue_fuzz', `expansion_factor', and `blue_scale' according to the
Type 1 specification.

* src/type1/t1tokens.h: Handle `ExpansionFactor'.

* docs/CHANGES: Updated.
2004-02-25 21:17:49 +00:00
Werner Lemberg 754353343e Provide generic access to MacOS resource forks.
* src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New
files.

* src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H.
(Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments
`resource_listoffset' and `resource_data' and adapt code
accordingly.  These values are calculated outside of the function
now.
Add new argument `offsets'.
(IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and
`FT_Raccess_Get_DataOffsets'.
(load_face_in_embedded_rfork): New function.
(load_mac_face): Use load_face_in_embedded_rfork.
(ft_input_stream_new): Renamed to...
(FT_Stream_New): This.  Use FT_BASE_DEF.  Updated all callers.
(ft_input_stream_free): Renamed to...
(FT_Stream_Free): This.  Use FT_BASE_DEF.  Updated all callers.

* src/base/ftbase.c: Include ftrfork.c.

* src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated.

* include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H):
New macro.

* include/freetype/internal/fttrace.h: Added `rfork' as a new
trace definition.

* include/freetype/internal/ftstream.h: Declare FT_Stream_New and
FT_Stream_Free.

* include/freetype/config/ftoption.h, devel/ftoption.h
(FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option.

* include/freetype/config/ftstdlib.h (ft_strrchr): New macro.
2004-02-25 12:58:54 +00:00
Werner Lemberg 460355a5ea * docs/CHANGES: Updated.
* include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H.


Provide a simple API to control FreeType's tracing levels.

* include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
FT_Trace_Get_Name): New declarations.

* src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New
functions.
2004-02-24 07:52:45 +00:00
David Turner 9bfbf79c9f adding support for dummy script, i.e. no-hinting for non latin glyphs 2004-02-23 21:08:37 +00:00
Werner Lemberg 4cb09724a3 * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold
the accepted shift for strong points in fractional pixels (which
is a heuristic value).
(psh_glyph_find_strong_points): Compute threshold for
psh_hint_table_find_strong_points.
(psh_hint_table_find_strong_point): Add parameter to pass threshold.
2004-02-23 18:22:32 +00:00
Werner Lemberg a5724ef813 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call
ps_mask_table_alloc but ps_mask_table_last.
(ps_hints_t2mask): Use correct position and number for vertical
and horizontal hinter mask bits.

* docs/CHANGES: Updated.
2004-02-21 16:47:20 +00:00
Werner Lemberg 8f1edf742e * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling.
* src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning.
2004-02-20 01:39:05 +00:00
Werner Lemberg c846eac112 * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly.
* src/base/ftglyph.c (ft_bitmap_glyph_class,
ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF.

* src/smooth/ftsmooth.c (ft_smooth_render): Handle
FT_RENDER_MODE_LIGHT.
2004-02-19 21:39:58 +00:00
Werner Lemberg 09370c8ce0 Fix callback functions in cache module.
* src/cache/ftccback.h: New file for callback declarations.

* src/cache/ftcbasic.c (ftc_basic_family_compare,
ftc_basic_family_init, ftc_basic_family_get_count,
ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph,
ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF.
(ftc_basic_image_family_class, ftc_basic_image_cache_class,
ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class):
Use FT_CALLBACK_TABLE_DEF and local wrapper functions.

* src/cache/ftccache.c: Include ftccback.h.
(ftc_cache_init, ftc_cache_done): New wrapper functions which use
FT_LOCAL_DEF.

* src/cache/ftccmap.c: Include ftccback.h.
(ftc_cmap_cache_class): Use local wrapper functions.

* src/cache/ftcglyph.c: Include ftccback.h.
(ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper
functions which use FT_LOCAL_DEF.

* src/cache/ftcimage.c: Include ftccback.h.
(ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper
functions which use FT_LOCAL_DEF.

* src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class):
Use FT_CALLBACK_TABLE_DEF.

* src/cache;/ftcsbits.c: Include ftccback.h.
(ftc_snode_free, ftc_snode_new, ftc_snode_weight,
ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF.

* src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h.
2004-02-17 18:41:58 +00:00
Werner Lemberg bb75417ad5 * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo
(FT_EXPORT_DEF -> FT_EXPORT).

* include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto.
2004-02-17 13:46:17 +00:00
Werner Lemberg 32eb5ce978 * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo. 2004-02-16 12:53:59 +00:00
Werner Lemberg d1d2b458e9 * builds/unix/ftsystem.c: Include errno.h.
(ft_close_stream): Renamed to...
(ft_close_stream_by_munmap): This.
(ft_close_stream_by_free): New function.
(FT_Stream_Open): Use fallback method if mmap fails.
Use proper function for closing the stream.

* src/type1/t1load.c (parse_dict): Initialize `start_binary'.
2004-02-16 09:38:05 +00:00
Werner Lemberg 9472e23a6a * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c
(T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation
of underline_position and underline_thickness.
2004-02-14 19:21:37 +00:00
Werner Lemberg d233482ef5 * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if
ppem values don't change.  Suggested by Graham Asher.
2004-02-13 23:48:39 +00:00
Werner Lemberg 95867077e8 * src/cid/cidload.c (cid_face_open): Always allocate
face->cid_stream so that we can deallocate it safely.


Make the PS parser more tolerant w.r.t. non-standard font data.  In
general, an error is only reported in case of a syntax error; a
wrong type is now simply ignored (if possible).  To be independent
of the order of various MM-specific keywords, the parse_shared_dict
routine has been removed -- the PS parser is now capable to skip
this data.  It no longer fails on parsing e.g.

  dup /WeightVector exch def

Since the token following /WeightVector isn't `[' (starting an
array) it is simply ignored.

* include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a
new internal error value.

* src/type1/t1load.c (parse_blend_axis_types,
parse_blend_design_positions, parse_blend_design_map): Return
T1_Err_Ignore if no proper array is following the keyword.
(parse_weight_vector): Use T1_ToTokenArray, initializing `blend'
structure, if necessary.
Return T1_Err_Ignore if no proper array is following the keyword.
(parse_shared_dict): Removed.
(parse_encoding): Set parser->root.error to return T1_Err_Ignore
if no result can be obtained.
Check for errors before accessing `elements' array.
(t1_keywords): Remove /shareddict.
(parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore.
Set keyword_flag only in case of success.
Check error code if skipping an unrecognized token.
(T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend
if blend commands haven't set up a proper MM font.

* src/psaux/psobjs.c (ps_parser_load_field_table): Remove special
code for synthetic fonts.
Return PSaux_Err_Ignore if no proper value has been found.
2004-02-12 08:33:20 +00:00
Werner Lemberg 916838ca68 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
<cff_op_endchar>: Preserve glyph width before calling
cff_operator_seac.

* src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special
first argument for `hintmask' and `cntrmask' operators also.
2004-02-10 16:02:20 +00:00
Werner Lemberg 53a1edd42b * builds/unix/configure.in: Call AC_SUBST for `enable_shared',
`hardcode_libdir_flag_spec', and `wl'.
* builds/unix/configure: Regenerated.

* builds/unix/freetype-config.in: Make --prefix and --exec-prefix
actually work.
Report a proper --rpath (or -R) value for --libs argument if a
shared library has been built.

* docs/CHANGES: Updated.
2004-02-08 22:45:48 +00:00
Werner Lemberg e0c5044fb8 * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix
computation of various vertical and horizontal metric values.

* src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font):
Ditto.
2004-02-08 16:30:37 +00:00
Werner Lemberg 9cef479d3b * builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated.

* builds/win32/visualc/freetype.sln,
builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003.
2004-02-08 09:07:08 +00:00
Werner Lemberg 0a84eba8a6 * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP):
Initialize `node'.
* src/type1/t1load.c (parse_dict): Initialize `have_integer'.
2004-02-05 14:36:43 +00:00
Werner Lemberg 6b3d00e1a0 * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
outside of /Subrs or /CharStrings.  This can happen if there is
additional code manipulating those two arrays so that FreeType
doesn't recognize them properly.
(T1_Open_Face): Improve an error message.

Remove CR/LF on many files.
2004-02-03 21:34:29 +00:00
Werner Lemberg cf7d908c48 * src/type1/t1load.c (parse_charstrings): Exit immediately if
there are no elements in /CharStrings.  This is needed for fonts
like Optima-Oblique which not only define /CharStrings but access it
also.
2004-02-02 19:41:09 +00:00
David Turner f546bacdcf * src/sfnt/Jamfile: removing "ttcmap" from the list of sources
* src/cache/*, include/freetype/cache/*: fixing a bug after heavy
        testing. The current sources are now "release candidates" for the
        final version of the cache sub-system

        * Jamfile: updating "refdoc" target, and adding "autohint" to the
        list of modules to build. Both the autohinter and autofitter will be
        built by default. But which one will be used is determined by
        the content of "ftmodule.h"

        * src/autofit/*: much updates, but the code is still buggy as hell.
        Aargh..
2004-02-01 16:59:06 +00:00
Werner Lemberg 5972e9abf8 * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of
accent offset.
Update code similarly to the seac support for Type 1 fonts.
(cff_decoder_parse_charstrings) <cff_op_endchar>: Fix magnitude
of accent offset.
Don't hint glyphs twice if seac is emulated.
<cff_op_flex>: Assign correct point tags.
* docs/CHANGES: Updated.

* src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not
FT_MEM_COPY, for copying the private dict.

* src/type1/t1load.c (parse_subrs): Assign number of subrs only
in first run.
(parse_charstrings): Parse /CharStrings in second run without
assigning values.
(parse_dict): Skip all /CharStrings arrays but the first.  We need
this for non-standard fonts like `Optima' which have different
outlines depending on the resolution.  Note that there is no
guarantee that we get fitting /Subrs and /CharStrings arrays; this
can only be done by a real PS interpreter.
2004-02-01 00:49:56 +00:00
Antoine Leca 4187e61bfe * builds/win32/visualc/index.html: detailled explanations
about forcing CR+LF line endings for the VC++ project files.
2004-01-29 11:25:47 +00:00
Werner Lemberg 658f263949 * src/cff/cffload.c (cff_subfont_load): Initialize `dict'. 2004-01-24 15:06:57 +00:00
Werner Lemberg ef512e3ec6 Add support for the hexadicimal representation of binary data
started with `StartData' in CID-keyed Type 1 fonts.

* include/freetype/internal/t1types.h (CID_FaceRec): Add new
members `binary_data' and `cid_stream'.

* src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'.
(cid_hex_to_binary): New auxiliary function.
(cid_face_open): Add new argument `face_index' to return quickly
if less than zero.  Updated all callers.
Call `cid_hex_to_binary', then open and assign memory stream to
`face->cid_stream' if `parser->binary_length' is non-zero.
* src/cid/cidload.h: Updated.

* src/cid/cidobjs.c (cid_face_done): Free `binary_data' and
`cid_stream'.

* src/cid/cidparse.c (cid_parser_new): Check arguments to
`StartData' and set parser->binary_length accordingly.
* src/cid/cidparse.h (CID_Parser): New member `binary_length'.

* src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'.

* docs/CHANGES: Updated.


include/freetype/config/ftstdlib.h (ft_atoi): Replaced with...
(ft_atol): This.
* src/base/ftdbgmem.c: s/atol/ft_atol/.
* src/type42/t42drivr.c: s/ft_atoi/ft_atol/.
2004-01-23 19:52:40 +00:00
Werner Lemberg 6cda9c489d * include/freetype/ftcache.h: Delete duplicated definition of
FTC_FaceID.

* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
Info service function if the cmap comes from sfnt.  Return 0 if the
cmap is sythesized in cff module.

Formatting; updating copyright.
2004-01-22 09:07:12 +00:00
Werner Lemberg 271b1e1633 * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one
CR, LF, or CR/LF after `eexec'.
2004-01-19 23:31:56 +00:00
David Turner 6654763f83 * src/sfnt/ttsbit.c: removed compiler warning
* src/tools/docmaker/*: updating beautifier tool
2004-01-18 14:10:21 +00:00
David Turner 4632fccb1b * include/freetype/internal/ftmemory.h,
src/autohint/ahhint.c, src/base/ftgloadr.c,
        src/base/ftglyph.c, src/base/ftoutln.c,
        src/base/ftstroke.c, src/cff/cffload.c, src/truetype/ttgload.c,
        src/truetype/ttinterp.c:

          introducing the new FT_ARRAY_COPY and FT_ARRAY_MOVE macros
          to make copying arrays easier
2004-01-15 19:07:44 +00:00
Werner Lemberg edeed6b391 * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier.
Use number of charstrings as argument to CFF_Load_FD_Select (as
documented in the CFF specs).
2004-01-15 16:12:36 +00:00
Werner Lemberg f9831a6675 * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of
`glyph->memory' up to free arrays properly in case of failure.
2004-01-15 11:02:07 +00:00
Werner Lemberg 3d780173fe Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by
Steve Hartwell <shspamsink@comcast.net>.

* src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H.
(cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP.
(cff_get_cmap_info): New function.
(cff_service_get_cmap_info) New entry for cff_services.

* src/sfnt/ttcmap0.c: Exit loop after a format match has been found.
Suggested by Steve Hartwell <shspamsink@comcast.net>.
2004-01-11 10:01:08 +00:00
Werner Lemberg 4338dab2f8 * src/base/ftobjs.c (destroy_charmaps): New function.
(destroy_face, open_face): Use `destroy_charmaps'.
2004-01-05 14:41:59 +00:00
Werner Lemberg 9914b97af2 * docs/CHANGES: Updated.
* src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of
size->metrics.descender.
2004-01-02 16:33:04 +00:00
Werner Lemberg 84c60bba18 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
[FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4.
<cff_op_flex1>: Change type of dx and dy to FT_Pos and remove
cast for accessing arguments.
2004-01-01 08:21:30 +00:00
Werner Lemberg f946fc609b * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
change.  It's not necessary.
2003-12-31 08:48:21 +00:00
Werner Lemberg 6fd9512aff * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
flags set' correctly.

* src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
`full' and `weight' properly.
* src/cff/cffgload.c (cff_decoder_parse_charstrings)
<cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
tracing output.
2003-12-31 07:51:30 +00:00
Werner Lemberg cb8ede4dca * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
Use FT_UInt for ppem values.
* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
ppem values.
* src/sfnt/ttsbit.h: Updated.

* src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
larger than -0FFFF.
2003-12-27 21:44:18 +00:00
Werner Lemberg 80cfbd7073 * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude
FT_INTERNAL_OBJECTS_H.

* src/base/ftstroke.c (FT_Outline_GetInsideBorder,
FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with
C++ compilers.

* src/cache/ftcmru.c, include/freetype/cache/ftcmru.h:
s/select/selection/ to avoid compiler warning.
* src/cff/cffload.h: s/select/ftselect/ to avoid potential
compiler warning.

Formatting.
2003-12-26 07:26:08 +00:00
Werner Lemberg a40b1b64a0 * src/cache/ftcsbits.c (FTC_SNode_Weight):
s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/.
2003-12-25 20:15:51 +00:00
David Turner cf2c49c80c * fixed compilation problems in the cache sub-system
* partial updates to src/autofit
2003-12-24 18:42:04 +00:00
Werner Lemberg 328abf3094 * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle
CID-keyed fonts.

Remove MS-DOS line endings.

Minor formatting issues.
2003-12-24 13:37:58 +00:00
David Turner 87c0d30fc5 * include/freetype/fttypes.h
src/autofit/afangles.c
        src/autofit/aflatin.c
        src/autohint/ahglyph.c
        src/autohint/ahhint.c
        src/base/ftcalc.c
        src/base/ftgloadr.c
        src/base/ftglyph.c
        src/base/ftobjs.c
        src/base/ftsynth.c
        src/base/fttrigon.c
        src/cff/cffgload.c
        src/cid/cidgload.c
        src/cid/cidload.c
        src/pfr/pfrgload.c
        src/pfr/pfrload.c
        src/pfr/pfrsbit.c
        src/psaux/psobjs.c
        src/pshinter/pshalgo.c
        src/pshinter/pshglob.c
        src/pshinter/pshrec.c
        src/raster/ftrend1.c
        src/sfnt/ttcmap0.c
        src/smooth/ftsmooth.c
        src/truetype/ttdriver.c
        src/truetype/ttgload.c
        src/truetype/ttinterp.c
        src/truetype/ttobjs.c
        src/type1/t1gload.c
        src/winfonts/winfnt.c:

          use of the FT_PAD_XXX and FT_PIX_XXX macros to avoid compiler
          warnings with very pedantic compilers. Hints:  (x) & -64 will
          warn if (x) is not signed.. use (x) & ~63 instead !
2003-12-24 01:10:46 +00:00
Werner Lemberg 48b6ddb8a8 * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions
to describe the `charset' field in FT_WinFNT_HeaderRec.
* src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to
FT_ENCODING_NONE except for FT_WinFNT_ID_MAC.

* include/freetype/freetype.h (FT_Encoding): Improve comment,
based on work by Detlef Wrkner <TetiSoft@apg.lahn.de>.

* docs/CHANGES: Updated.
2003-12-22 23:01:20 +00:00
David Turner 581ec91c27 * include/freetype/ftcache.h,
include/freetype/cache/ftcmanag.h,
        include/freetype/cache/ftccache.h,
        include/freetype/cache/ftcmanag.h,
        include/freetype/cache/ftcmru.h (added),
        include/freetype/cache/ftlru.h (removed),
        include/freetype/cache/ftcsbits.h,
        include/freetype/cache/ftcimage.h,
        include/freetype/cache/ftcglyph.h,
        src/cache/ftcmru.c,
        src/cache/ftcmanag.c,
        src/cache/ftccache.c,
        src/cache/ftcglyph.c,
        src/cache/ftcimage.c,
        src/cache/ftcsbits.c,
        src/cache/ftccmap.c,
        src/cache/ftcbasic.c (added),
        src/cache/ftclru.c (removed):

          *Complete* rewrite of the cache sub-system to "solve" the
          following points:

            - all public APIs have been moved to FT_CACHE_H, everything
              under "include/freetype/cache" is only needed by client
              applications that want to implement their own caches

            - a new function named FTC_Manager_RemoveFaceID to deal
              with the uninstallation of FaceIDs

            - the image and sbit cache are now abstract classes, that
              can be extended much more easily by client applications

            - better performance in certain areas. Further optimizations
              to come shortly anyway...

            - the FTC_CMapCache_Lookup function has changed its signature,
              charmaps can now only be retrieved by index

            - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
              FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
              private header for the moment)
2003-12-22 21:53:37 +00:00
Werner Lemberg 63abb4bc63 * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword
is encountered.
2003-12-22 11:35:36 +00:00
Werner Lemberg 32174ffba2 * devel/ftoption.h: Define FT_DEBUG_MEMORY.
Reverted DEBUG changes in include/freetype/config/ftoption.h.
2003-12-20 07:43:45 +00:00
Werner Lemberg 83da52b4cd * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For
example, the Japanese Hiragino font already contains 15 subfonts.

* src/cff/cffload.c (cff_font_load): Deallocate `sids' array for
CID-keyed fonts.
2003-12-20 07:30:05 +00:00
Werner Lemberg 8f963be41c * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro.
* src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values.
2003-12-18 15:29:20 +00:00
Werner Lemberg a9cd856ee2 * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of
`cid_count' to `FT_ULong'.

* src/cff/cffgload.c (cff_slot_load): Take care of empty `cids'
array.

* src/cff/cffload.c (cff_charset_done): Free `cids' array.
(cff_font_load): Create cids array only for CID-keyed fonts which
are subsetted.

* src/cff/cffobjs.c (cff_face_init): Check the availability of
the PSNames modules for non-pure CFFs also.
Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't
CID-keyed.

* src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h.
2003-12-18 08:18:37 +00:00
Werner Lemberg 7f1458aaa3 * src/sfnt/sfobjs.c (sfnt_init_face): Don't set
FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post'
table.

* docs/CHANGES: Updated.
2003-12-17 21:57:56 +00:00
Werner Lemberg 91a67478ec Add new function FT_Get_CMap_Language_ID to extract the language ID
for TrueType/sfnt fonts.

* include/freetype/internal/services/svttcmap.h: New file.
* include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add
svttcmap.h.

* src/sfnt/sfdriver.c: Include ttcmap0.h.
(tt_service_get_cmap_info): New service.
(sfnt_services): Updated.

* src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions.
(tt_cmap*_class_rec): Add tt_cmap*_get_info members.
(tt_get_cmap_info): New function.
* src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H.
(TT_CMap_ClassRec): New field `get_cmap_info'.
(tt_get_cmap_info): New declaration.

* src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H.
(FT_Get_CMap_Language_ID): New function implementation.
* include/freetype/tttables.h (FT_Get_CMap_Language_ID): New
function declaration.
2003-12-17 14:28:22 +00:00
Werner Lemberg efe527520a * include/freetype/internal/tttypes.h (TT_TableDirRec,
TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec,
TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6,
TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func,
TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed.
Obsolete.
* src/cff/cffobjs.h (CFF_CharMapRec): Removed.  Obsolete.
2003-12-16 07:12:40 +00:00
Werner Lemberg b066c1530d * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete.
* include/freetype/internal/sfnt.h (SFNT_Interface): Remove
obsolete fields `load_charmap' and `free_charmap'.
(TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed.
* src/sfnt/sfnt.c: Don't include ttcmap.c.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c.
* src/sfnt/ttload.c: Don't include ttcmap.h.
* src/sfnt/sfdriver.c: Don't include ttcmap.h.
(sfnt_interface): Updated.
2003-12-16 06:42:11 +00:00
Werner Lemberg e107514301 * docs/CHANGES: Updated. 2003-12-16 06:04:44 +00:00
Werner Lemberg fb4bfddb1a * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add
cast.
* src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return
value is either 0 or 1.
2003-12-13 18:42:31 +00:00
Werner Lemberg b36d4a53e9 * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message.
(cff_get_name_index): Return if no PSNames service is available.
(cff_ps_has_glyph_names): Handle CID-keyed fonts correctly.
* src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for
CID-keyed fonts.  This is the inverse mapping of `sids'.
* src/cff/cffload.c (cff_charset_load): New argument `invert'.
Initialize charset->cids if `invert' is set.
(cff_font_load): In call to cff_charset_load, set `invert' to true
for CID-keyed fonts.
* src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID
and map it to the real glyph index.

* docs/CHANGES: Updated.
2003-12-12 15:38:39 +00:00
Werner Lemberg 6c98cc3e7c * src/cff/cffobjs.c (cff_face_init): Don't set
FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts.
Don't construct a cmap for CID-keyed fonts.
2003-12-12 07:59:16 +00:00
Werner Lemberg 9b067facf1 Use implementation specific SID value 0xFFFF to indicate that
a dictionary element is missing.

* src/cff/cffload.c (cff_subfont_load): Initialize all fields
which hold SIDs to 0xFFFF.
(cff_index_get_sid_string): Handle SID value 0xFFFF.
Handle case where `psnames' is zero.
(cff_font_load): Updated.
Don't load encoding for CID-keyed CFFs.

* src/cff/cffobjs.c (cff_face_init): Updated.
Don't check for PSNames module if font is CID-keyed.
Compute style name properly (using the same algorithm as in the
CID driver).
Fix computation of style flags.

* src/cff/cfftoken.h: Comment out handling of base_font_name.
Rename `postscript' field to `embedded_postscript'
* src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name'
and `postscript'.
2003-12-11 17:55:58 +00:00
Werner Lemberg cb3fd79b66 * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone
of the similar BDF function).
(pcf_service_bdf): Use it.
2003-12-11 06:55:59 +00:00
Werner Lemberg 25ab491d55 * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES
only if a `post' table is present.
2003-12-10 20:04:50 +00:00
Werner Lemberg dc8ad54f10 * include/freetype/internal/psaux.h (PS_TableRec): Change type
of `lengths' to FT_PtrDist.
(T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
* include/freetype/internal/t1types.h (T1_FontRec): Change type
of `subrs_len' and `charstrings_len' to FT_PtrDist.

* src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
variable with better solution.
(IsMacResource): Remove unused variable `map_len'.
Replace `junk' variable with better solution.
(FT_Open_Face) [!FT_MACINTOSH]: Add conditional
FT_CONFIG_OPTION_MAC_FONTS.

* src/autohint/ahhint.c (ah_hinter_hint_edges,
ah_hinter_align_strong_points): Add some casts.

* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
of `pos' to FT_Long.

* src/base/ftobjs.c (Mac_Read_POST_Resource,
Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.

* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
2003-12-09 02:12:14 +00:00
Werner Lemberg 60217b7acd * docs/raster.txt: New file, taken from FreeType 1 and completely
revised.
2003-12-08 21:11:31 +00:00
Werner Lemberg f0b752072d * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for
t1_interface.  t1_interface is used.
2003-12-05 10:24:59 +00:00
Werner Lemberg 4e1f5a663c Fix ChangeLog. 2003-12-03 15:04:50 +00:00
Werner Lemberg b8bae640cd Fix ChangeLog. Formatting. 2003-11-28 22:01:02 +00:00
David Turner a77f713db5 * src/pfr/pfrdrivr.c (pfr_get_metrics): reverting to previous
behaviour. Werner's "fix" was incorrect !!
2003-11-27 21:01:24 +00:00
Werner Lemberg 6f20dd505f * src/base/ftcalc.c, include/freetype/internal/ftcalc.h
(FT_MulDiv_No_Round): Surround code with `#ifdef
TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'.
2003-11-26 08:24:08 +00:00
Werner Lemberg 9f051a7fa4 * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
64 bit version).
* include/freetype/internal/ftcalc.h: Updated.

* src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
(TT_INT64): Removed.
(DO_DIV): Use TT_MULDIV_NO_ROUND.

* src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
metrics->x_scale and metrics->y_scale.
2003-11-25 18:15:56 +00:00
Werner Lemberg 4ff243d90a Fix ChangeLog. Update `CHANGES' file. 2003-11-25 09:30:57 +00:00
Werner Lemberg be67c4ef33 * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
(Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
functions.  Similar to Direct_Move, Direct_Move_X, and
Direct_Move_Y but without touching.
(Compute_Funcs): Use new functions.

(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
Round_Super_45): Fix rounding of value zero.

(DO_DIV): Don't use TT_MULDIV.

(Ins_SHC): This instruction actually touches the points.
(Ins_MSIRP): Fix undocumented behaviour.

* src/truetype/ttinterp.h (TT_ExecContextRec): Updated.

* docs/VERSION.DLL: Updated.

* src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
metrics->y_scale really precise.

(FT_Load_Glyph): Update computation of linearHoriAdvance and
linearVertAdvance.

* src/true/type/ttinterp.c (Update_Max): Use FT_REALLOC.
2003-11-24 22:54:58 +00:00
David Turner ff9d2415a7 * src/autofit/*: more updates 2003-11-23 21:39:51 +00:00
Werner Lemberg 03f06f0f08 * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c
(pcf_interpret_style): Replace spaces with dashes in properties
SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing.
2003-11-15 17:44:13 +00:00
Werner Lemberg 51ecb69a88 * docs/CHANGES: Updated.
Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF
fonts.

* src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function.
(BDF_Face_Init): Don't handle style properties but call
bdf_interpret_style.

* src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function.
(pcf_load_font): Don't handle style properties but call
pcf_interpret_style.
2003-11-13 10:19:27 +00:00
Werner Lemberg 56b886620f * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. 2003-11-09 08:38:13 +00:00
Werner Lemberg e42dbcec21 * Version 2.1.7 released.
=========================


* builds/unix/ft2unix.h: Fix comments.

* builds/unix/ftconfig.in: Synchronized with ANSI version.
Use `#undef' in templates as recommended in the autoconf
documentation.
Since real `#undef' lines don't survive during configuration, use
`/undef' instead; the postprocessing facility of the
AC_CONFIG_HEADERS autoconf macro converts them to `#undef'.

* builds/unix/install.mk (install): Install Unix version of
`ftconfig.h'.

* builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro
to include the correct `ftconfig.h' file.

* builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed.
(FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59.

* builds/unix/freetype2.m4: Updated syntax to autoconf 2.59.

* builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of
AC_CONFIG_HEADER to create ftconfig.h, and use second argument
to replace `/undef' with `#undef'.
Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap.
Use AS_HELP_STRING in AC_ARG_WITH.
Update syntax to autoconf 2.59.

* builds/unix/ltmain.sh: Regenerated with `libtoolize --force
--copy' from libtool 1.5.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.7.8.
* builds/unix/configure: Regenerated with autoconf 2.59.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`texinfo' CVS module at subversions.gnu.org.

* builds/vms/ftconfig.h: Synchronized with ANSI version.

* docs/CUSTOMIZE: Fix documentation error.
* docs/CHANGES, docs/VERSION.DLL, docs/release: Updated.

* builds/freetype.mk (refdoc): Updated --title.
2003-11-09 08:37:14 +00:00
David Turner 5671e6eef9 * Version 2.1.5 released.
=========================


        * updating README and docs/VERSION.DLL, re-tagging VER-2-1-6
2003-11-08 10:15:51 +00:00
David Turner 700a32ee1c removing "install"
tagging VER-2-1-6
2003-11-06 20:31:27 +00:00
Werner Lemberg 82906bfb1a * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H.
(sfnt_service_sfnt_table): New service.
(sfnt_services): Updated.

* docs/license.txt: Reworded.
2003-11-04 18:24:20 +00:00
Werner Lemberg ab3e914000 * include/freetype/*: Add a guard to all public header files which
load FT_FREETYPE_H to reject freetype.h from FreeType 1.
2003-11-04 07:44:19 +00:00
Werner Lemberg 9669c52a30 * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect
first argument of AC_DEFUN with brackets to avoid possible
expansion.
2003-11-04 01:31:26 +00:00
Werner Lemberg adffc13e8a * include/freetype/cache/ftcglyph.h: Don't include stddef.h.
* include/freetype/freetype.h: Fix check for ft2build.h.
2003-11-03 20:12:39 +00:00
Werner Lemberg 55ca408288 * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied
patch.
2003-11-02 09:07:21 +00:00
Werner Lemberg 3f7ff6afbe * include/freetype/freetype.h: Check that ft2build.h has been
loaded first.
2003-11-02 08:58:53 +00:00
Werner Lemberg 40bb0964f2 * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names):
Fix parameter order in calls to FT_FACE_FIND_SERVICE.

* include/freetype/internal/ftserv.h
(FT_SERVICE_POSTSCRIPT_NAMES_H): Removed.  Unused.

* src/type42/t42drivr.c (t42_services): Updated.
2003-11-01 14:36:20 +00:00
David Turner 7760595f84 * include/freetype/internal/bdftypes.h: removed obsolete header
* include/freetype/internal/cfftypes.h, src/cff/cfftypes.h,
        src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h,
        include/freetype/internal/services/svbdf.h: moving "cfftypes.h" from
        'include/freetype/internal' to 'src/cff' since no other modules needs
        to known about these types

        * include/freetype/internal/t42types.h,
        include/freetype/internal/internal.h, src/type42/t42objs.h,
        src/type42/t42drivr.c, src/type42/t42types.h: moving "t42types.h" from
        'include/freetype/internal' to 'src/type42' since no other modules needs
        to known about these types

        * src/gzip/infblock.c: removing compiler warning

        * include/freetype/internal/services/svpsinfo.h,
        include/freetype/internal/ftserv.h, src/cff/cffdrivr.c,
        src/cid/ciddrivr.c, src/type1/t1driver.c, src/type42/t42drivr.c,
        src/base/fttype1.c: migrating to FT_SERVICE_ID_POSTSCRIPT_INFO defined
        in "svpsinfo.h", removing some sad hacks.
2003-10-29 21:43:52 +00:00
Werner Lemberg 4795b36cf9 * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'.
* src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec'
is real.

* src/type42/t42parse.c (t42_parse_encoding): Improve boundary
checking while parsing.

* docs/CHANGES: Updated.
2003-10-23 16:24:10 +00:00
Werner Lemberg 3061e893ce * include/freetype/internal/t1types.h (T1_FontRec): `paint_type'
and `stroke_width' aren't pointers.

* src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c
(T1_Face_Done): Don't free `paint_type' and `stroke_width'.
2003-10-22 20:24:47 +00:00
Werner Lemberg 80fff78dc6 * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'. 2003-10-21 06:53:19 +00:00
Werner Lemberg 17d7581918 * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from
2003-08-18 introduced a severe bug (FT_Render_Glyph was called
twice under some circumstances, causing strange results).  This
is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'.

* src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'.
* src/psaux/psobjs.c (ps_tobytes): Initialize `n'.
* src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'.
2003-10-20 08:29:46 +00:00
Werner Lemberg e3f41982a2 Completely revised Type 42 parser. It now handles both fonts
produced with ttftot42 (tested version 0.3.1) and
TrueTypeToType42.ps (tested version May 2001; it is necessary to
fix the broken header comment to be `%!PS-TrueTypeFont...').

* src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth
parameter to `FT_UInt'.
* src/type42/t42objs.h: Updated.

* src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory'
to FT_Bool.
(T42_Loader): Change type of `num_chars' and `num_glyphs' to
FT_UInt.
Add `swap_table' element.
* src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed,
T1_ToCoordArray, T1_ToTokenArray): Removed.
(T1_ToBytes): New macro.
(t42_is_alpha, t42_hexval): Removed.
(t42_is_space): Handle `\0'.
(t42_parse_encoding): Updated to use new PostScript parser routines
from psaux.
Handle `/Encoding [ ... ]' also.
(T42_Load_Status): New enumeration.
(t42_parse_sfnts): Updated to use new PostScript parser routines
from psaux.
(t42_parse_charstrings): Updated to use new PostScript parser
routines from psaux.
Handle `/CharStrings << ... >>' also.
Don't expect that /.notdef is the first element in dictionary.  Copy
code from type1 module to handle this.
(t42_parse_dict): Updated to use new PostScript parser routines
from psaux.
Remove code for synthetic fonts (which can't occur in Type 42
fonts).
(t42_loader_done): Release `swap_table'.

* src/psaux/psobjs.c (skip_string): Increase `cur' properly.

* src/type1/t1load.c (parse_charstrings): Make test for `.notdef'
faster.
2003-10-16 15:48:39 +00:00
Werner Lemberg 15ee9b5542 * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c
(fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty,
_num_bdf_properties), src/gzip/infutil.c (inflate_mask),
src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td),
src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c
(inflate_trees_fixed): Decorate with more `const' to avoid
writable global variables which are disallowed on ARM.
2003-10-15 22:20:56 +00:00
Werner Lemberg 5131692505 Formatting. 2003-10-13 06:08:13 +00:00
Werner Lemberg 38c4647427 * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove
code specially for synthetic fonts; this is handled elsewhere.
(parse_encoding): Remove code specially for synthetic fonts; this is
handled elsewhere.
Improve boundary checking while parsing.
(parse_dict): Improve boundary checking while parsing.
Use ft_memcmp to simplify code.
2003-10-13 05:58:54 +00:00
Werner Lemberg ed3a7d7b0f * src/type1/t1load.c (parse_dict): Handle synthetic
fonts properly.
(parse_charstrings): Copy correct number of characters into
`name_table'.
2003-10-07 20:06:35 +00:00
Werner Lemberg 34808199ce * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic
fonts properly.
2003-10-07 11:54:03 +00:00
Werner Lemberg 52f911a12d Heavy modification of the PS parser to handle comments and strings
correctly.  This doesn't slow down the loading of PS fonts
significantly since charstrings aren't affected.

* include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to...
(ft_isxdigit): This.  Updated all callers.
(ft_isdigit): New alias to `isdigit'.

* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed
`skip_alpha' to `skip_PS_token'.
Add parameter to `to_bytes' and change some argument types.

* src/psaux/psauxmod.c (ps_parser_funcs): Updated.
* src/psaux/psobjs.c (ft_char_table): New array to map character
codes (ASCII and EBCDIC) of digits to numbers.
(OP): New auxiliary macro holding either `>=' or `<' depending on
the character encoding.
(skip_comment): New function.
(skip_spaces): Use it.
(skip_alpha): Removed.
(skip_literal_string, skip_string): New functions.
(ps_parser_skip_PS_token): New function.  This is a better
replacement of...
(ps_parser_skip_alpha): Removed.
(ps_parser_to_token, ps+parser_to_token_array): Updated.
(T1Radix): Rewritten, using `ft_char_table'.
(t1_toint): Renamed to...
(ps_toint): This.  Update all callers.
Use `ft_char_table'.
(ps_tobytes): Add parameter to handle delimiters and change some
argument types.
Use `ft_char_table'.
(t1_tofixed): Renamed to...
(ps_tofixed): This.  Update all callers.
Use `ft_char_table'.
(t1_tocoordarray): Renamed and updated to...
(ps_tocoordarray): This.  Update all callers.
(t1_tofixedarray): Renamed and updated to...
(ps_tofixedarray): This.  Update all callers.
(t1_tobool): Renamed to...
(ps_tobool): This.  Update all callers.
(ps_parser_load_field): Updated.
(ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS'
everywhere.
(ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array,
ps_parser_to_fixed_array): Skip spaces.  Updated.
(ps_parser_to_bytes): Add parameter to handle delimiters and change
some argument types.  Updated.
* src/psaux/psobjs.h: Updated.

* src/cid/cidload.c (cid_parse_dict): Updated.
* src/cid/cidparse.c (cid_parser_new): Check whether the `StartData'
token was really found.
* src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed
to...
(cid_parser_skip_PS_token): This.

* src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean
fields.
(T1_Skip_Alpha): Replaced with...
(T1_Skip_PS_Token): This new macro.
* src/type1/t1parse.c (hexa_value): Removed.
(T1_Get_Private_Dict): Use `ft_isxdigit' and
`psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal
encoding.
After decrypting, replace the four random bytes at the beginning
with whitespace.
* src/type1/t1load.c (t1_allocate_blend): Use proper error values.
(parser_blend_design_positions, parse_blend_design_map,
parse_weight_vector): Updated.
(is_space): Handle `\f' also.
(is_name_char): Removed.
(read_binary_data): Updated.
(parse_encoding): Use `ft_isdigit'.
Updated.
(parse_subrs): Updated.
(TABLE_EXTEND): New macro.
(parse_charstrings): Updated.
Provide a workaround for buggy fonts which have more entries in the
/CharStrings dictionary then expected; the function now adds some
slots and skips entries which still exceed the new limit.
(parse_dict): Updated.
Terminate on the token `closefile'.

* src/type42/t42parse.c (T1_Skip_Alpha): Replaced with...
(T1_Skip_PS_Token): This new macro.  Updated all callers.
(t42_parse_encoding): Use `ft_isdigit'.


* src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if
success.
2003-10-07 05:49:41 +00:00
Werner Lemberg ac3622048f * include/freetype/ftmodule.h: Renamed to...
* include/freetype/ftmodapi.h: This to avoid duplicate file names.
* include/freetype/config/ftheader.h (FT_MODULE_H): Updated.
2003-10-05 09:55:58 +00:00
Werner Lemberg 2ea0d9fb64 * src/base/ftoutln.c (FT_OrientationExtremumRec,
FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
2003-10-05 07:54:00 +00:00
Werner Lemberg 13472b38d3 * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset'
has four bytes, not two.
Fix all users.
(fnt_font_load, FNT_Load_Glyph): Add more font validity tests.
2003-10-02 21:36:18 +00:00
David Turner d25ad56d78 * src/autofit/*: adding first sources of the new multi-script
"auto-fitter"

        * include/freetype/ftoutln.h, src/base/ftoutln.c: adding the
        definition of FT_Outline_Get_Orientation, used to compute the
        fill orientation of a given glyph outline.

        * include/freetype/internal/ftserv.h: fixed trivial bug which
        could crashed the font engine when a cached service pointer was
        retrieved with FT_FACE_LOOKUP_SERVICE
2003-10-02 21:07:10 +00:00
Werner Lemberg c67f55599b Version 2.1.5 is released. 2003-09-30 06:52:24 +00:00
Werner Lemberg 3864f4eae9 * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is
found.

* src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE,
IS_T1_SPACE): Removed.
(PFB_Tag): Removed.
(read_pfb_tag): Don't use PFB_Tag.

* src/type42/t42parse.c (t42_is_space): Handle `\f' also.
(t42_parse_encoding): Handle synthetic fonts.
2003-09-30 06:43:54 +00:00
Werner Lemberg f4c0b921a1 * include/freetype/internal/t1types.h: Don't include
FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H.
* src/truetype/ttobjs.c: Don't include
FT_SERVICE_POSTSCRIPT_NAMES_H.
2003-09-30 05:39:35 +00:00
David Turner c4ec973160 * src/base/ftglyph.c (FT_Get_Glyph): fixing small bug, thanks
to Henry Maddocks for spotting this
2003-09-29 20:35:34 +00:00
David Turner b72d8a8521 * include/freetype/internal/services/svpsname.h (added),
include/freetype/internal/psnames.h (removed),
        include/freetype/internal/internal.h (FT_SERVICE_POSTSCRIPT_NAMES):

          added new service to handle glyph name dictionaries, replacing
          the old internal header named "psnames.h" by "services/svpsname.h"
          note that this is different from "services/svpostnm.h" which only
          handles the retrieval of Postscript font name for a given face.
          (should we merge these two services into a single header ??)


        * include/freetype/internal/ftserv.h: adding
        FT_FACE_FIND_GLOBAL_SERVICE (used to lookup a service globally,
        instead of only within the current module)

        * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: adding
        the new base function ft_module_get_service
2003-09-29 20:33:37 +00:00
Werner Lemberg a259b6dddb * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE):
Fix compilation warning (s/pptr/Pptr/).

* include/freetype/internal/internal.h (FT_INTERNAL_PFR_H,
FT_INTERNAL_FNT_TYPES_H): Removed.
2003-09-22 09:53:56 +00:00
David Turner e2d12842e1 * include/freetype/internal/fnttypes.h,
include/freetype/internal/ftserv.h, src/base/ftbdf.c, src/base/ftmm.c,
        src/base/ftobjs.c, src/base/ftpfr.c, src/base/ftwinfnt.c,
        src/base/ftxf86.c, src/pfr/pfrdrivr.c, src/winfonts/winfnt.c,
        src/winfonts/winfnt.h, include/freetype/internal/service/svwinfnt.h,:

          simplification of service lookup macros, updating the PFR and
          WINFNT font drivers to new services
2003-09-21 17:15:55 +00:00
David Turner 17dd0634f2 * include/freetype/internal/ftserv.h,
include/freetype/internal/service/svpfr.h,
        include/freetype/internal/pfr.h,
        src/base/ftpfr.c:

          migrating the functions of "ftpfr.h" to the new
          service-base internal API

        * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c,
        src/psaux/psobjs.c, src/sfnt/sfdriver.c, src/sfnt/sfobjs.c,
        src/truetype/ttobjs.c, src/type1/t1driver.c, src/type1/t1objs.c,
        src/type42/t42objs.c, src/winfonts/winfnt.c:

          removing various compiler warnings
2003-09-21 16:04:05 +00:00
Werner Lemberg 99ee499ef8 * docs/CHANGES: Updated. 2003-09-20 17:23:36 +00:00
Werner Lemberg a126d4c2ef * src/type1/t1parse.c (pfb_tag_fields): Removed.
(read_pfb_tag): Fix code so that it doesn't fail on end-of-file
indicated (0x8003).
2003-09-20 14:25:10 +00:00
Werner Lemberg 46333a118f * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE,
FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type.
Ugly, I know, but this is needed for compilation with C++ --
maybe someone knows a better solution?
Updated all callers.

* src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove
C++ compiler warnings.

* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property):
Fix order of arguments passed to FT_FACE_FIND_SERVICE.
2003-09-17 19:20:02 +00:00
Werner Lemberg 104dd41d96 * include/freetype/internal/services/bdf.h: Renamed to...
* include/freetype/internal/services/svbdf.h: This.
Add copyright notice.
* include/freetype/internal/services/glyfdict.h: Renamed to...
* include/freetype/internal/services/svgldict.h: This.
Add copyright notice.
* include/freetype/internal/services/multmast.h: Renamed to...
* include/freetype/internal/services/svmm.h: This.
Add copyright notice.
Add FT_BEGIN_HEADER and FT_END_HEADER.
* include/freetype/internal/services/sfnt.h: Renamed to...
* include/freetype/internal/services/svsfnt.h: This.
Add copyright notice.
* include/freetype/internal/services/postname.h: Renamed to...
* include/freetype/internal/services/svpostnm.h: This.
Add copyright notice.
* include/freetype/internal/services/xf86name.h: Renamed to...
* include/freetype/internal/services/svxf86nm.h: This.
Add copyright notice.

* include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and
FT_END_HEADER.
Add copyright notice.
Update macro names of services header files.

* builds/freetype.mk (SERVICES_DIR): New variable.
(BASE_H): Add services header files.
2003-09-16 07:57:25 +00:00
Werner Lemberg 754d558893 * src/cff/cffcmap.c: Include `cfferrs.h'.
* src/pfr/pfrdrivr.c: Include `pfrerror.h'.
* src/sfnt/sfdriver.c: Include `sferrors.h'.
* src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'.
2003-09-12 20:32:51 +00:00
Werner Lemberg 5e3614f584 * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'.
* src/cff/cffdrivr.c: Don't load headers twice.

* include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro.
* src/base/ftobjs.c: Include FT_SERVICE_SFNT_H.
2003-09-12 19:38:13 +00:00
David Turner db3faffbcf * README, builds/unix/configure, builds/unix/configure.ac,
docs/CHANGES, include/freetype/freetype.h:

          updating version numbers for 2.1.6, and removing obsolete
          warnings in the documentation

        * include/freetype/internal/ftcore.h,
        include/freetype/internal/ftexcept.h,
        include/freetype/internal/fthash.h,
        include/freetype/internal/ftobject.h:

          removing obsolete files
2003-09-11 19:58:19 +00:00
David Turner c313c50208 * include/freetype/ftmm.h, include/freetype/ftmodule.h,
include/freetype/tttables.h, include/freetype/config/ftconfig.h,
          include/freetype/internal/ftobjs.h,
          include/freetype/internal/ftserv.h,
          include/freetype/internal/internal.h,
          include/freetype/internal/sfnt.h,
          include/freetype/internal/tttypes.h,
          include/freetype/internal/services/bdf.h,
          include/freetype/internal/services/glyfdict.h,
          include/freetype/internal/services/multmast.h,
          include/freetype/internal/services/postname.h,
          include/freetype/internal/services/sfnt.h,
          include/freetype/internal/services/xf86name.h,
          src/base/ftbdf.c, src/base/ftmm.c, src/base/ftobjs.c,
          src/base/ftxf86.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c,
          src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/sfnt/sfdriver.c,
          src/truetype/ttdriver.c, src/type1/t1driver.c, src/type42/t42drivr.c:

          heavy internal modifications to introduce the concept of
          "module services". This is the first step towards a massive
          simplification of the engine's internals, in order to
          get rid of various numbers of hacks.

          Note that this changes will break source & binary compatibility
          for authors of external font drivers.

          Maybe 2.1.6 will be called 2.2.0 after all :-)
2003-09-11 19:51:54 +00:00
David Turner 7d90a4f05c * src/base/ftpfr.c, src/pfr/pfrtypes.h, src/pfr/pfrload.c,
src/pfr/pfrobjs.c: fixing PFR kerning support. The tables within
        the font file contain (charcode,charcode) kerning pairs, we need
        to convert them to (gindex,gindex) !

        * include/freetype/ftoption.h: commenting out the macro
        TT_CONFIG_OPTION_BYTECODE_INTERPRETER
2003-09-09 20:11:56 +00:00
Werner Lemberg ed2a8df000 * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but
FT_MEM_MOVE.

* include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312,
FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New
enumerations of FT_Encoding.  The FT_ENCODING_MS_* variants except
FT_ENCODING_MS_SYMBOL are now deprecated.
Updated all users.
* docs/CHANGES: Document it.
2003-09-01 07:06:06 +00:00
Werner Lemberg cc823200c1 * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters
for spacing.

* src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c
(BDF_Face_Init): Accept lowercase characters for slant and weight.
2003-08-28 10:57:05 +00:00
Werner Lemberg 2bb6ee32c2 Some clean-up. 2003-08-18 08:23:40 +00:00
David Turner fc3da857a9 * include/freetype/config/ftoption.h: disabling TrueType bytecode
interpreter, until the UNPATENTED_HINTING works as advertised
2003-08-17 23:03:36 +00:00
David Turner 5cb5b4c9c3 * src/autohint/ahhint.c (ah_hinter_load_glyph): fixed bug 2003-08-17 23:00:59 +00:00
David Turner 3c40d73d2c * Jamfile: adding the "refdoc" target to the Jamfile in order to
build the API Reference in "docs/reference" automatically

        * include/freetype/t1tables.h, src/cid/cidtoken.h, src/type1/t1tokens.h,
        src/type42/t42parse.c:

        re-setting the types of "italic_angle", "underline_position" and
        "underline_thickness" to their previous values (i.e. long, short and
        ushort), in order to avoid breaking binary compatibility

        * include/freetype/ttunpath.h: fixing documentation comment
2003-08-17 22:31:23 +00:00
David Turner 8b6db86b05 * include/freetype/config/ftoption.h, devel/ftoption.h,
include/freetype/internal/ftobjs.h, include/freetype/internal/tttypes.h,
        src/truetype/ttinterp.c, src/truetype/ttobjs.c, src/truetype/ttobjs.h:

        changed the name of TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING to
        the simpler TT_CONFIG_OPTION_UNPATENTED_HINTING

        removed the macro TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING. Instead,
        the same effect can be used by setting a debug-hook with
        FT_DEBUG_HOOK_UNPATENTED_HINTING globally with FT_Set_Debug_Hook()
2003-08-17 22:09:14 +00:00
Werner Lemberg 0f4eb3d03d Fix ChangeLog. 2003-08-16 13:17:00 +00:00
Werner Lemberg e52c4ba178 * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix
previous change.
2003-08-06 17:27:14 +00:00
Werner Lemberg e8ff769c7f * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c
(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply
font matrix to advance also.
* docs/CHANGES: Updated.
2003-08-06 04:40:48 +00:00
Werner Lemberg 42284f98f2 * builds/unix/configure.ac (version_info): Set to 9:4:3.
* builds/unix/configure: Updated.
* docs/CHANGES, docs/VERSION.DLL: Updated.

* include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16
also breaks binary compatibility.  Reintroduce an unsigned integer
at the old position of `flags' called `reserved'.
2003-07-26 06:08:14 +00:00
Werner Lemberg f1c7814718 * src/tools/docmaker/tohtml.py
(chapter_inter, chapter_footer): Add <li> and use special <ul>
class.
(toc_exit): Don't emit </table>.
2003-07-25 22:55:59 +00:00
Werner Lemberg d18e01352c (code_header, code_footer): Don't change font colour directly but
use a special <pre> class.
2003-07-25 22:21:57 +00:00
Werner Lemberg 64f1ba9064 Make reference valid HTML 4.01 transitional.
* src/tools/docmaker/tohtml.py (html_header_1): Add doctype
and charset.
(html_header_2): Fix style elements and add some more.
Fix syntax.
(block_header, block_footer, description_header, description_footer,
marker_header, marker_footer, source_header, source_footer,
chapter_header, chapter_footer): Don't use <center>...</center> but
`align=center' table attribute.
Use double quotes around table widths given in percent.
(keyword_prefix, keyword_suffix): Don't change font colour directly
but use a new <span> class.
(section_synopsis_header, section_synopsis_footer): Don't change
colour.
(print_html_field): <tr> gets the `valign' attribute, not <table>.
(print_html_field_list): Ditto.
(index_exit): Don't use <center>...</center> but `align=center'
table attribute.
(toc_exit, section_enter): Ditto.
(block_enter): Use <h4><a>, not <a><h4>.


This change reimplements fix from 2003-05-30 without breaking
binary compatibility.

* include/freetype/t1tables.h (PS_FontInfoRec): `italic_angle',
`is_fixed_pitch', `underline_position', `underline_thickness' are
reverted to be normal values.

* include/freetype/internal/psaux.h (T1_FieldType): Remove
`T1_FIELD_TYPE_BOOL_P', `T1_FIELD_TYPE_INTEGER_P',
`T1_FIELD_TYPE_FIXED_P', `T1_FIELD_TYPE_FIXED_1000_P'.
(T1_FIELD_TYPE_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P,
T1_FIELD_FIXED_1000_P): Removed.
(T1_FIELD_TYPE_BOOL): Renamed to...
(T1_FIELD_BOOL): New macro.  Updated all callers.

* src/type42/t42parse.c: `italic_angle', `is_fixed_pitch',
`underline_position', `underline_thickness', `paint_type',
`stroke_width' are reverted to be normal values.
(T42_KEYWORD_COUNT): New macro.
(t42_parse_dict): New array `keyword_flags' to mark that a value has
already been assigned to a dictionary entry.
* src/type42/t42objs.c (T42_Face_Init, T42_Face_Done): Updated.

* src/cid/cidtoken.h: `italic_angle', `is_fixed_pitch',
`underline_position', `underline_thickness' are reverted to be
normal values.
* src/cid/cidobjs.c (cid_face_done, cid_face_init): Updated.

* src/psaux/psobjs.c (ps_parser_load_field): Updated.

* src/type1/t1tokens.h: `italic_angle', `is_fixed_pitch',
`underline_position', `underline_thickness', `paint_type',
`stroke_width' are reverted to be normal values.
* src/type1/t1objs.c (T1_Face_Done, T1_Face_Init): Updated.
* src/type1/t1load.c (T1_FIELD_COUNT): New macro.
(parse_dict): Add parameter for keyword flags.
Record only first instance of a field.
(T1_Open_Face): New array `keyword_flags'.
2003-07-25 22:09:53 +00:00
Werner Lemberg f9d864a916 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
* builds/unix/configure.ac (version_info): Set to 10:0:3.
* builds/unix/configure: Updated.
* builds/freetype.mk (refdoc): Fix --title.

* docs/CHANGES, docs/VERSION.DLL, README: Updated.

* src/tools/docmaker/sources.py (re_crossref): Fix regular
expression to handle trailing punctuation characters.
* src/tools/docmaker/tohtml.py (make_html_word): Updated.

* docs/release: New file.
2003-07-25 05:57:21 +00:00
Werner Lemberg 850fee2ccb * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
member function `to_bytes'.

* src/psaux/psauxmod.c (ps_parser_funcs): New member
`ps_parser_to_bytes'.
(psaux_module_class): Increase version to 0x20000L.

* src/psaux/psobjs.c (IS_T1_LINESPACE): Add \f.
(IS_T1_NULLSPACE): New macro.
(IS_T1_SPACE): Add it.
(skip_spaces, skip_alpha): New functions.
(ps_parser_skip_spaces, ps_parser_skip_alpha): Use them.
(ps_tobytes, ps_parser_to_bytes): New functions.
2003-07-24 06:16:21 +00:00
Werner Lemberg 6aa35cd5e8 * builds/freetype.mk (DOC_DIR): New variable.
(refdoc): Use *_DIR variables.
(distclean): Remove documentation files.

* builds/detect.mk (std_setup, dos_setup): Mention `make refdoc'.

* configure: Set DOC_DIR variable.

* builds/freetype.mk (refdoc): New target to build the
documentation.
(.PHONY): Updated.

* include/freetype/freetype.h: Improve documentation of FT_CharMap.
* include/freetype/ftimage,h: Fix documentation of FT_OUTLINE_FLAGS.
* include/freetype/tttables.h: Document FT_Sfnt_Tag.
2003-07-09 15:20:32 +00:00
Werner Lemberg 8292815bb9 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfread.c
(pcf_load_font): Fix computation of height if PIXEL_SIZE property is
missing.
2003-07-07 07:35:15 +00:00
Werner Lemberg 4ee9b7bab1 * src/cache/ftcsbits.c (ftc_sbit_node_compare): Only add `size' if
there is no error.  Reported by Knut St. Osmundsen
<bird-freetype@anduin.net>.
2003-07-02 15:03:36 +00:00
Werner Lemberg 6d79899362 A new try to synchronize bitmap font access.
include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
defined to return the baseline-to-baseline distance.  This was
already the value returned by the BDF and PCF drivers.

The `width' field now gives the average width.  I wasn't able to
find something better.  It should be taken as informative only.

New fields `size', `x_ppem', and `y_ppem'.

* src/pcf/pcfread.c (pcf_load_font): Updated to properly fill
FT_Bitmap_Size.
Do proper rounding and conversion from 72.27 to 72 points.

* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated to properly fill
FT_Bitmap_Size.
Do proper rounding and conversion from 72.27 to 72 points.

* src/sfnt/sfobjs.c (sfnt_load_face): Updated to properly fill
FT_Bitmap_Size.

* src/winfonts/winfnt.c (FNT_Face_Init): Updated to properly fill
FT_Bitmap_Size.

Redesigning the FNT driver to return multiple faces, not multiple
strikes.  At least one font (app850.fon from WinME) contains
different FNT charmaps for its subfonts.  Consequently, the previous
design of having multiple bitmap strikes in a single font face fails
since we have only one charmap per face.

* include/freetype/internal/fnttypes.h (FNT_Size_Rec): Removed.
(FNT_FaceRec): Remove `num_fonts' field and replace `fonts' with
`font'.

* src/base/ftwinfnt.c (FT_Get_WinFNT_Header): Updated.

* src/winfonts/winfnt.c (fnt_font_load): Don't set pixel_width equal
to pixel_height.
(fnt_face_done_fonts): Removed.
(fnt_face_get_dll_fonts): Renamed to...
(fnt_face_get_dll_font): This.  Add second function argument to
select face index.
Updated to load just one subfont.
(fnt_font_done, FNT_Face_Done): Updated.
(FNT_Face_Init): Handle `face_index'.
Updated.
(FNT_Size_Set_Pixels): Simplified; similar to BDF and PCF, the
bitmap width is now ignored.
(FNT_Load_Glyph): Updated.
Fix glyph index computation.
(winfnt_driver_class): Updated.
2003-07-01 07:28:55 +00:00
Owen Taylor 2c8530bd3d 2003-06-25 Owen Taylor <otaylor@redhat.com>
* src/sfnt/ttload.c (tt_face_load_hdmx): Don't assign
        num_records until we actually decide to load the table,
        otherwise, we'll segfault in tt_face_free_hdmx.
2003-06-30 13:08:58 +00:00
Werner Lemberg 3c41447eef * src/cff/cffdrivr.c (cff_get_glyph_name): Protect agains zero
glyph name pointer.  Reported by Mikey Anbary <manbary@vizrt.com>.
2003-06-25 06:13:36 +00:00
Werner Lemberg 43ba0842af * src/tools/glnames.py: Updated to AGL 2.0.
* src/psnames/pstables.h: Regenerated.


* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
Decorate constants with `U' and `L' if appropriate.

* include/freetype/ftmoderr.h: Updated to include recent module
additions.

* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
`FT_Mod_Err_PShinter'.
* src/type42/t42error.h (FT_ERR_BASE): Define as
`FT_Mod_Err_Type42'.

* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed.  Not used.


* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
and FT_INT64.
2003-06-23 19:26:53 +00:00
Werner Lemberg 779afe4b91 * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
computation of glyph_index.
(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
only, then try to find a better hit by comparing pixel_width also.
Without this fix it isn't possible to access all strikes.
Also compute metrics.max_advance to be in sync with other bitmap
drivers.

* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
(FT_Set_Pixel_Size): Assign value to `metrics' after validation of
arguments.


Synchronize computation of height and width for bitmap strikes.  The
`width' field in the FT_Bitmap_Size structure is now only useful to
enumerate different strikes.  The `max_advance' field of the
FT_Size_Metrics structure should be used to get the (maximum) width
of a strike.

* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
computing `available_sizes->width' but make it always equal to
`available_sizes->height'.

* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
computing `available_sizes->width' but make it always equal to
`available_sizes->height'.

* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
argument to function.

* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
`uniXXXX' and `uXXXX[X[X]]'.


* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
s/FT_Err_/FTC_Err_/.
* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
* src/psaux/t1cmap.c: Include psauxerr.h.
s/FT_Err_/PSaux_Err_/.
* src/pshinter/pshnterr.h: New file.
* src/pshinter/rules.mk: Updated.
* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
s/FT_Err_/PSH_Err_/.
* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
s/FT_Err_/PFR_Err_/.
* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
FT_ERR_PREFIX and FT_ERR_BASE.
s/FT_Err_/Gzip_Err_/.
2003-06-22 15:33:53 +00:00
Werner Lemberg deb5510a54 * src/cff/cffload (cff_encoding_load): `nleft' must be FT_UInt,
otherwise adding 1 might wrap the result.
2003-06-20 07:50:13 +00:00
Werner Lemberg eb17a92a78 * src/psnames/psmodule.c (ps_unicode_value): Add support to
recognize `uXXXX[X[X]]' glyph names.
Don't handle glyph names starting with `uni' which have more than
four digits.
2003-06-20 07:33:20 +00:00
Werner Lemberg 7a0241049a * include/freetype/freetype.h (FT_Open_Flags): Replaced with
#defines for the constants.
(FT_Open_Args): Change type of `flags' to FT_UInt.
(FT_GlyphSlot): Move `flags' to FT_Slot_Internal.

* include/freetype/ftimage.h (FT_Outline_Flags, FT_Raster_Flag):
Replaced with #defines for the constants.

* include/freetype/internal/ftobjs.h (FT_Slot_Internal): New
field `flags' (from FT_GlyphSlot).
Updated all affected source files.
(FT_GLYPH_OWN_BITMAP): New macro (from ftgloadr.h).

* include/freetype/internal/ftgloadr.h (FT_GLYPH_OWN_BITMAP): Moved
to ftobjs.h.

* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Use dummy
FT_GlyphSlot_Internal object.
2003-06-18 06:59:57 +00:00
Werner Lemberg d726e41c33 * builds/compiler/gcc.mk, builds/compiler/gcc-dev.mk (CFLAGS):
Add -fno-strict-aliasing to get rid of zillion warnings from gcc
version 3.3.
2003-06-17 22:50:09 +00:00
Werner Lemberg 052904e3a0 * include/freetype/ftglyph.h (ft_glyph_bbox_unscaled,
ft_glyph_bbox_subpixels, ft_glyph_bbox_gridfit,
ft_glyph_bbox_truncate, ft_glyph_bbox_pixels): Replaced with
FT_GLYPH_BBOX_UNSCALED, FT_GLYPH_BBOX_SUBPIXELS,
FT_GLYPH_BBIX_GRIDFIT, FT_GLYPH_BBOX_TRUNCATE, FT_GLYPH_BBOX_PIXELS.
The lowercase variants are now (deprecated aliases) to the uppercase
versions.
Updated all other files.

* include/freetype/ftmodule.h (ft_module_font_driver,
ft_module_renderer, ft_module_hinter, ft_module_styler,
ft_module_driver_scalable, ft_module_driver_no_outlines,
ft_module_driver_has_hinter): Replaced with FT_MODULE_FONT_DRIVER,
FT_MODULE_RENDERER, FT_MODULE_HINTER, FT_MODULE_STYLER,
FT_MODULE_DRIVER_SCALABLE, FT_MODULE_DRIVER_NO_OUTLINES,
FT_MODULE_DRIVER_HAS_HINTER.
The lowercase variants are now (deprecated aliases) to the uppercase
versions.
Updated all other files.

* src/base/ftglyph.c (FT_Glyph_Get_CBox): Handle bbox_mode better
as enumeration.

* src/pcf/pcfdrivr.c (pcf_driver_class), src/winfonts/winfnt.c
(winfnt_driver_class), src/bdf/bdfdrivr.c (bdf_driver_class): Add
the FT_MODULE_DRIVER_NO_OUTLINES flag.
2003-06-17 10:42:27 +00:00
Werner Lemberg a959c3c960 * src/pfr/pfrobjs.c (pfr_slot_load): Apply font matrix.
* src/cid/cidload.c: Remove parse_font_bbox code (already enclosed
with #if 0 ... #endif).

* src/type1/t1tokens.h: Handle /FontName.
* src/type1/t1load.c (parse_font_name): Removed.
Remove parse_font_bbox code (already enclosed with #if 0 ...
#endif).

* src/type42/t42parse.c (t42_parse_font_name): Removed.
Remove t42_parse_font_bbox code (already enclosed with #if 0 ...
#endif).
(t42_keywords): Handle /FontName with T1_FIELD_KEY.
2003-06-14 07:40:09 +00:00
Werner Lemberg d5553d35f3 * builds/dos/detect.mk: Test not only for `Dos' but for `DOS' also.
* builds/dos/dos-emx.mk, builds/compiler/emx.mk: New files for
EMX gcc compiler.
* builds/dos/detect.mk: Add target `emx'.

* builds/compiler/watcom.mk (LINK_LIBRARY): GNU Make for DOS doesn't
like a trailing semicolon; add a dummy command.
2003-06-13 07:38:22 +00:00
Werner Lemberg 88c0478dce * include/freetype/internal/psaux.h (T1_FieldType): Add
T1_FIELD_TYPE_KEY.
(T1_FIELD_KEY): New macro.
* src/psaux/psobjs.c (ps_parser_load_field): Handle
T1_FIELD_TYPE_KEY.

* src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.


* src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
number of nodes.
(FT_LruList_Lookup): Fix assertion for out-of-memory case.
2003-06-12 13:14:15 +00:00
Werner Lemberg 75aae7db17 * src/cid/cidload.c (cid_decrypt): Removed.
(cid_read_subrs): Use t1_decrypt from psaux module.
* src/cid/cidload.h: Updated.
* src/cid/cidgload.c (cid_load_glyph): Use t1_decrypt from psaux
module.
2003-06-12 07:11:05 +00:00
Werner Lemberg fdc042b8a9 * src/cid/cidobjs.c: Apply change 2003-05-31 from <Ron.Dev@gmx.de>.
Compute style flags.
Fix computation of root->height.
* src/cid/cidtoken.h: Handle FontBBox.
* src/cid/cidload.c (cid_load_keyword): Handle
T1_FIELD_LOCATION_BBOX.
(parse_font_bbox): Commented out.
(cid_field_record): Comment out element for parsing FontBBox.

* src/type42/t42parse.c (t42_parse_font_bbox): Commented out.
(t42_keywords): Handle FontBBox with T1_FIELD_BBOX, not with
T1_FIELD_CALLBACK.
(t42_parse_font_bbox): Commented out.
(t42_load_keyword): Handle T1_FIELD_LOCATION_BBOX.
* src/type42/t42objs.c (T42_Face_Init): Apply change 2003-05-31
from <Ron.Dev@gmx.de>.
2003-06-12 04:59:07 +00:00
Werner Lemberg 6e9b3186b0 * src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
TrueType specification.
(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
2003-06-10 10:54:33 +00:00
Werner Lemberg a7d6b4dad9 * src/gzip/ftgzip.c: (inflate_mask): Replaced with...
(NO_INFLATE_MASK): This.
* src/gzip/infutil.h: Declare `inflate_mask' conditionally by
NO_INFLATE_MASK.
2003-06-09 20:55:04 +00:00
Werner Lemberg 0240d29cac * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
correctly.

* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
dim->stdw.count to avoid compiler problem.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
variables to the beginning of the function to avoid compiler
problems.
Add casts necessary for 16bit compilers.

* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
(PFR_DRV_H): Add pfrtypes.h.

* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.

* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
argument to FT_Bool.
(pfr_lookup_bitmap_data): Change type of third and fourth argument
to FT_UInt.  Updated caller.
(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
2003-06-09 15:54:18 +00:00
Werner Lemberg 858f310b80 Completely revised FreeType's make management.
. In all makefiles `/' is used as the path separator.  The
  conversion to the real path separators is done as late as
  possible using $(subst ...).

. $(HOSTSEP) no longer exists.  Now, $(SEP) gives the path separator
  for the operating system, and the new $(COMPILER_SEP) the path
  separator for the compiler tools.

. $(BUILD) has been renamed to $(BUILD_DIR).  In general, all
  directory variables end with `_DIR'.  The variants ending in `_'
  (like `BASE_' have been removed).

The following ChangeLog entries only describe changes which are
not related to the redesign.

* builds/beos/beos-def.mk (BUILD_DIR): Fix typo.
* builds/compiler/watcom.mk (LINK_LIBRARY): Fix linker call to avoid
overlong arguments as suggested by J. Ali Harlow
<ali@avrc.city.ac.uk>.
* builds/dos/dos-wat.mk: New file.
* builds/freetype.mk (FREETYPE_H): Include header files from the
`devel' subdirectory.

* builds/os2/os2-dev.mk, builds/unix/unixddef.mk,
builds/unix/unixddef.mk, builds/win32/w32-bccd.mk,
builds/win32/w32-dev.mk (BUILD_DIR): Fix path.

* builds/unix/configure.ac, builds/unic/configure: Updated.
* builds/unix/unix-def.in (DISTCLEAN): Add `freetype2.pc'.


* devel/ftoption.h: Updated.
2003-06-09 04:46:30 +00:00
Werner Lemberg e0805659bb Fix ChangeLog. 2003-06-08 03:53:39 +00:00
Werner Lemberg 756655bdf8 * src/base/ftmac.c (FT_New_Face_From_SFNT): s/rlen/sfnt_size/ to
make it compile.

* include/freetype/internal/psaux.h, src/truetype/ttgload.h:
s/index/idx/ to fix compiler warnings.

* src/sfnt/ttcmap0.c (tt_face_build_cmaps): Use more `volatile' to
fix compiler warning.

* src/gzip/ftgzip.c (BUILDFIXED): Removed.
* src/gzip/inftrees.c (inflate_trees_fixed) [!BUILDFIXED]: Use
FT_UNUSED to remove compiler warning.
2003-06-07 05:13:22 +00:00
Werner Lemberg 499053c1c5 * include/freetype/ftstroker.h: Renamed to...
* include/freetype/ftstroke.h: This.

* src/base/ftstroker.c: Renamed to...
* src/base/ftstroke.c: This.

* include/freetype/config/ftheader.h (FT_STROKER_H): Updated.

* src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
Updated.

* src/pcf/pcfdriver.c: Renamed to...
* src/pcf/pcfdrivr.c: This.
* src/pcf/pcfdriver.h: Renamed to...
* src/pcf/pcfdrivr.h: This.

* src/pcf/Jamfile, src/pcf/rules.mk: Updated.
2003-06-07 04:02:21 +00:00
Werner Lemberg 1ffb911d50 * src/base/ftmac.c (file_spec_from_path) [TARGET_API_MAC_CARBON]:
Add `#if !defined(__MWERKS__)'.
2003-06-06 12:47:59 +00:00
Werner Lemberg bf7c8321f2 * include/freetype/internal/psaux.h (T1_FieldType): Add
T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.
(T1_FIELD_FIXED_1000, T1_FIELD_FIXED_1000_P): New macros.
* src/psaux/psobjs.c (ps_parser_load_field): Handle
T1_FIELD_TYPE_FIXED_1000 and T1_FIELD_TYPE_FIXED_1000_P.

* src/cff/cffparse.c (cff_kind_fixed_thousand): New enumeration.
(CFF_FIELD_FIXED_1000): New macro.
(cff_parser_run): Handle cff_kind_fixed_thousand.
* src/cff/cfftoken.h: Use CFF_FIELD_FIXED_1000 for blue_scale.
* src/cff/cffload (cff_subfont_load): Fix default values of
expansion_factor and blue_scale.

* src/cif/cidtoken.h, src/type1/t1tokens.h: Use T1_FIELD_FIXED_1000
for blue_scale.

* src/pshinter/pshglob.c (psh_globals_new): Fix default value of
blue_scale.
2003-06-06 05:07:53 +00:00
Werner Lemberg 7386197677 * include/freetype/internal/ftdriver.h,
include/freetype/internal/ftobjs.h,
include/freetype/internal/psaux.h, src/cid/cidgload.c,
src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
Many casts and slight argument type changes to make it work with
a 16bit compiler.
2003-06-05 04:31:05 +00:00
Werner Lemberg 6ab5624330 * src/truetype/ttgload.c (load_truetype_glyph)
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
FT_GlyphLoader_CheckPoints before adding phantom points.  This fixes
a segfault bug with fonts (e.g. htst3.ttf) which have nested
subglyphs more than one level deep.  Reported by Anthony Fok.

* include/freetype/config/ftoption.h: Define
TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
default.
2003-06-04 07:59:58 +00:00
Werner Lemberg 9a8e321129 * src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
Removed.  Unused.
Updated all callers.
2003-06-03 15:03:16 +00:00
Werner Lemberg 8b88466061 * src/autohint/ahhint.c (ah_hinter_hint_edges): Removed. Just a
wrapper for ah_hint_edges.
(ah_hint_edges): Renamed to...
(ah_hinter_hint_edges): This.

* src/base/ftobjs.c (FT_Set_Hint_Flags): Removed.  Unused.

* include/freetype/internal/ftobjs.h (FT_Face_InternalRec),
include/freetype/internal/psaux.h (T1_DecoderRec),
src/cff/cffgload.h (CFF_Builder): Remove `hint_flags' field.
Unused.

* src/cff/cffgload.c (cff_builder_init): Updated.
(cff_decoder_parse_charstrings) <cff_op_endchar>: Call hinter->apply
with decoder->hint_mode instead of builder->hint_flags.
* src/psaux/t1decode.c (t1_decoder_init): Updated.

* src/base/ftstroker.c (ft_stroke_border_export): s/index/idx/.

* src/sfnt/sfobjs.c (sfnt_load_face): Commented out code which
increased root->height by 15% if the line gap was zero.  There exist
fonts (containing e.g. form drawing characters) which intentionally
have a zero line gap value.
2003-06-03 11:51:43 +00:00
Werner Lemberg f35ff80132 * src/cff/cffobjs.c (cff_face_init): Use symbolic names for
Adobe specific encoding IDs (there was a wrong EID value for custom
encoding).

* src/cff/cffcmap.h (CFF_CMapStdRec): Remove `count'.
* src/cff/cffcmap.c (cff_cmap_encoding_init,
cff_cmap_encoding_done): Updated.
(cff_cmap_encoding_char_index, cff_cmap_encoding_char_next): Use
256 as limit for character code.
2003-06-02 21:58:05 +00:00
Werner Lemberg e20ab691c3 * src/winfonts/winfnt.c (FNT_Load_Glyph): Revert change from
2003-03-20.
2003-06-02 07:24:33 +00:00
Werner Lemberg 64591b7657 * include/freetype/fttrigon.h (FT_Vector_Normalize): Removed.
* src/type1/t1objs.c (T1_Face_Init): Improve algorithm for guessing
the font style by ignoring spaces and hyphens.

* builds/unix/freetype2.in: Fix `Version' field.
2003-06-01 21:30:04 +00:00
Werner Lemberg 65ba724b66 Avoid overwriting of numeric font dictionary entries for synthetic
fonts. Additionally, some entries were handled as `integer' instead
of `number'.

* include/freetype/internal/psaux.h (T1_FieldType): Add
T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and
T1_FIELD_TYPE_FIXED_P.
(T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros.
* src/psaux/psobjs.c (ps_parser_load_field): Handle new field types.

* include/freetype/internal/cfftypes.h (CFF_FontRecDict),
src/cff/cfftoken.h: Change type of underline_position and
underline_thickness to FT_Fixed.
* src/cff/cffload.c (cff_subfont_load): Fix default values of
underline_position and underline_thickness.
* src/cff/cffobjs.c (cff_face_init): Set underline_position
and underline_thickness in `root'.

* include/freetype/internal/t1types.h (T1_Font): Change point_type
and stroke_width to pointers.
* include/freetype/t1tables.h (PS_FontInfo): Change italic_angle,
is_fixed_pitch, underline_position, and underline_thickness to
pointers.
* src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch,
underline_position, and underline_thickness to pointers.  Change
the type of the latter two to `fixed'.
Change type of stroke_width to `fixed' and make it a pointer.
Change paint_type to pointer.
* src/type1/t1objs.c (T1_Face_Done): Updated.
(T1_Face_Init): Updated.
Fix assignment of underline_position and underline_thickness.

* src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch,
underline_position, and underline_thickness to pointers.  Change
the type of the latter two to `fixed'.
Change type of stroke_width to `fixed'.
* src/cid/cidobjs.c (cid_face_done): Updated.
(cid_face_init): Updated.
Fix assignment of underline_position and underline_thickness.

* src/type42/t42parse.c: Change italic_angle, is_fixed_pitch,
underline_position, and underline_thickness to pointers.  Change the
type of the latter two to `fixed'.
Change type of stroke_width to `fixed' and make it a pointer.
Change paint_type to pointer.
* src/type42/t42objs.c (T42_Face_Init): Updated.
Fix assignment of underline_position and underline_thickness.
(T42_Face_Done): Updated.

* src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning.
* src/pshinter/pshglob.c, src/pshinter/pshglob.h
(psh_globals_set_scale): Make it a local function.

* test/gview.c: Fix remaming ps3->ps typo.
Formatting.
2003-05-30 09:12:50 +00:00
Werner Lemberg 0bdf608f3d * src/pshinter/pshalgo1.[ch], src/pshinter/pshalgo2.[ch]: Removed.
* src/pshinter/pshalgo.h: Removed.

* src/pshinter/pshalgo3.[ch]: Renamed to...
* src/pshinter/pshalgo.[ch]: New files.
s/PSH3/PSH/.
s/psh3/psh/.
s/ps3/ps/.

* src/pshinter/pshrec.c, src/pshinter/pshinter.c: Updated.
* src/pshinter/rules.mk, src/pshinter/Jamfile: Updated

* src/pshinter/pshglob.[ch] (psh_dimension_snap_width): Commented
out.

* tests/gview.c: Remove code for pshalgo1 and pshalgo2.
Updated.
2003-05-28 22:42:41 +00:00
Werner Lemberg 26fb1bcd05 * vms_make.com: Reworked support for shareable images on VMS. The
first version was kind of a hack; the current implementation of the
procedure to extract the required symbols is much cleaner.

Reworked creation of MMS files, avoiding a number of temporary files
which were created in the previous version.

Further work on creating descrip.mms files on the fly.

* builds/vms/descrip.mms, src/autohint/descrip.mms,
src/type1/descrip.mms: Removed.
2003-05-28 06:27:26 +00:00
Werner Lemberg 75ad4b8365 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Activate code for
handling `origin'.
2003-05-28 06:10:57 +00:00
Werner Lemberg 4919dc7cf8 * src/pshinter/pshalgo3.c (psh3_glyph_compute_extrema): Skip
contours with only a single point to avoid segfault.

* src/autohint/ahtypes.h (AH_OPTION_NO_STRONG_INTERPOLATION):
Removed since unused.
2003-05-28 05:52:05 +00:00
Werner Lemberg f79a7ae0b0 * src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
it has already been fixed differently.

* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
if-clause.
2003-05-21 21:47:25 +00:00
Werner Lemberg 282637f6a5 * include/freetype/config/ftstdlib.h (ft_strcat): New wrapper macro
for strcat.

* src/base/ftmac.c (create_lwfn_name): s/isupper/ft_isupper/.
(parse_font): s/memcpy/ft_memcpy/.
(is_dfont) [TARGET_API_MAC_CARBON]: s/memcmp/ft_memcmp/.
* src/base/ftobjs.c (load_mac_face) [FT_MACINTOSH]:
s/strlen/ft_strlen/.
s/strcat/ft_strcat/.
s/strcpy/ft_strcpy/.
* src/gzip/zutil.h: s/memset/ft_memset/.
s/memcmp/ft_memcmp/.

* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
(PCF_Face_Init): Test for charset registry case-insensitively.

* t1load.c (parse_blend_axis_types): Fix compiler warning.

* descrip.mms: Removed.  Now created by...

* vms_make.com: New file.
2003-05-21 07:39:42 +00:00
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 6bd1c6d293 * src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
y_scale so that the top of non-capital letters is aligned on a pixel
boundary whenever possible.

* src/autohint/ahhint.c (ah_hint_edges): Make sure that lowercase
m's maintain their symmetry.
2003-05-20 05:01:49 +00:00
Werner Lemberg 98ceccab51 * src/autohint/ahhint.c (ah_hinter_load_glyph): Oops! David's
patch from yesterday has been resolved already in a different
way.  Reverted.
2003-05-20 04:32:54 +00:00
Werner Lemberg 11367bcce7 * src/autohint/ahhint.c (ah_hinter_load_glyph): Don't scale
y_scale locally but face->size->metrics.y_scale.
2003-05-19 21:42:08 +00:00
Werner Lemberg f379f43403 * src/sfnt/ttcmap0.c (tt_cmap4_char_next): Select proper start
value for `hi' to avoid infinite loop.
2003-05-19 12:45:28 +00:00
Werner Lemberg 51daa4feb1 * src/raster/ftraster.c (Insert_Y_Turn): Fix overflow test.
* include/freetype/config/ftoption.h [FT_CONFIG_OPTION_MAC_FONTS]:
New macro.
* src/base/ftobjs.c: Use it to control mac font support on non-mac
platforms.

Implement partial support of Mac fonts on non-Mac platforms.

* src/base/ftobjs.c (memory_stream_close, new_memory_stream,
open_face_from_buffer, Mac_Read_POST_Resource,
Mac_Read_sfnt_Resource, IsMacResource, IsMacBinary, load_mac_face)
[!FT_MACINTOSH]: New functions.
(FT_Open_Face) [!FT_MACINTOSH]: Use load_mac_face.

* src/base/ftobjs.c (FT_Load_Glyph): Scale linear advance width only
if FT_FACE_FLAG_SCALABLE is set (otherwise we have a division by
zero since FNT and friends don't define `face->units_per_EM').
2003-05-18 22:40:11 +00:00
Werner Lemberg 4f107450e2 * src/base/fttrigon.c (FT_Vector_Rotate): Avoid rounding errors
for small values.

* src/autohint/ahtypes.h (AH_PointRec): Remove unused `in_angle'
and `out_angle' fields.
2003-05-17 12:07:45 +00:00
Werner Lemberg c70818a862 * src/base/ftmac.c (FT_New_Face_From_SFNT): Handle CFF files also.
* include/freetype/freetype.h: Fix typo in comment
(FT_HAS_FIXED_SIZES).
2003-05-15 06:44:09 +00:00
Werner Lemberg 6eb116ef8a * builds/unix/aclocal.m4: Comment out definition of
`allow_undefined_flag' for Darwin 1.3.
* builds/unix/configure.ac: Add option --with-old-mac-fonts.
* builds/unix/ltmain.sh: Fix version numbering for Darwin 1.3.
* builds/unix/configure: Regenerated.

* include/freetype/config/ftconfig.h: Fix conditions for defining
`FT_MACINTOSH'.
* src/base/ftbase.c: Include `ftmac.c' conditionally.
* src/base/ftmac.c: Handle __GNUC__.
2003-05-11 07:12:26 +00:00
Werner Lemberg 1f8f46758e * src/cid/cidload.c (is_alpha): Removed.
(cid_parse_dict): Use `cid_parser_skip_alpha' instead of `is_alpha'.

* src/autohint/ahoptim.c, src/autohint/ahoptim.h: Obsolete, removed.
2003-05-07 10:39:45 +00:00
Werner Lemberg bf40e92dea * src/autohint/ahglyph.c (ah_setup_uv): Exchange `for' loop and
`switch' statement to make it run faster.
(ah_outline_compute_segments): Reset `segment->score' and
`segment->link'.
(ah_outline_link_segments): Provide alternative code which does
the same but runs much faster.
Handle major direction also.
(ah_outline_compute_edges): Scale `edge_distance_threshold' down
after rounding instead of scaling comparison value in loop.

* src/autohint/ahhint.c (ah_hinter_align_stong_points): Provide
alternative code which runs faster.
Handle `before->scale == 0'.

* src/autohint/ahtypes.h (AH_SegmentRec): Move some fields down.
(AH_EdgeRec): Move some fields in structure.
New field `scale'.

* src/sfnt/ttcmap0.c (tt_cmap4_char_next): Use binary search.
2003-05-07 10:21:13 +00:00
Werner Lemberg 110fc56bea * src/autohint/ahoptim.c (LOG): Renamed to...
(AH_OPTIM_LOG): This.
(AH_Dump_Springs): Fix log message format.

* src/autohint/ahhint.c (ah_hint_edges_3): Renamed to...
(ah_hint_edges): This.
2003-05-03 20:13:48 +00:00
Werner Lemberg 0fdb9cc5e2 * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Initialize `max_advance'. 2003-05-02 18:52:17 +00:00
Werner Lemberg a547a532a1 * src/autohint/ahglyph.c (ah_test_extrema): Renamed to...
(ah_test_extremum): This.
2003-05-02 15:16:13 +00:00
Werner Lemberg a3f4da8e99 Minor cleanups. 2003-04-29 13:23:47 +00:00
Werner Lemberg 3a317c69d6 * builds/unix/configure.ac: Generate `freetype.pc' from
`freetype.in'.
* builds/unix/configure: Regenerated.
* builds/unix/install.mk (install, uninstall): Handle `freetype.pc'.

* builds/unix/freetype2.in: New file.  Contains building information
for the `pkg-config' package.
2003-04-28 09:43:32 +00:00
Werner Lemberg 2cba64d30d * src/base/ftobjs.c (FT_Load_Glyph): Fix boundary check for
`glyph_index'.
2003-04-28 08:51:07 +00:00
Graham Asher 9f36499fa7 Added comment for checkin of unpatented hinting system. 2003-04-25 11:43:07 +00:00
Werner Lemberg 428c2e4f62 * src/bdf/bdflib.c (hash_bucket, hash_lookup): Use `const' for first
argument.
(bdf_get_font_property): Use `const' for third argument.
Updated all callers.
* src/bdf/bdfdrivr.c (BDF_Face_Init): Set pixel width and height
similar to the PCF driver.
* src/bdf/bdf.h (_hashnode): Use `const' for `key'.
Updated.

* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
is declared twice.  It is perhaps better to modify the zlip source
files directly instead of this hack.
(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
to make build with g++ successful.
2003-04-25 05:35:04 +00:00
David Turner 2dd1e657ba * src/pcf/pcfread.c (pcf_load_font): fixed the computation of
face->num_glyphs, this required increase the value by 1 to respect
        the convention that gindex 0 always corresponds to the "missing
        glyph".
2003-04-24 21:12:18 +00:00
Werner Lemberg 3704aa4525 * builds/unix/unix-cc.in (CFLAGS): Add @CPPFLAGS@. 2003-04-24 06:07:20 +00:00
Werner Lemberg 60f52ce6d6 * builds/unix/freetype-config.in (cflags): Emit FreeType 2's include
files first.  Otherwise there are conflicts with FreeType 1
installed simultaneously.
2003-04-24 05:45:59 +00:00
Werner Lemberg 319c00d7d6 Fixing bugs reported by Nelson Beebe.
* src/base/ftstroker.c (FT_Stroker_ParseOutline): Remove unused
variable `in_path'.

* src/base/ftobjs (ft_glyphslot_set_bitmap): Change type of
second argument to `FT_Byte*'.
* include/freetype/internal/ftobjs.h: Updated.

* src/bdf/bdflib.c (_bdf_readstream): Remove unused variable `res'.
(_bdf_parse_glyphs): Remove unused variable `next'.
Mark `call_data' as unused.

* src/cache/ftlru.c (FT_LruList_Lookup): Remove unused variable
`plast'.

* src/pcf/pcfread.c (pcf_seek_to_table_type): Slight recoding to
actually use `error'.
(pcf_load_font): Remove unused variable `avgw'.

* src/pfr/pfrobjs.c (pfr_face_get_kerning): Change return type
to `void'.
Mark `error' as unused.
* src/pfr/pfrobjs.h: Updated.
* src/pfr/pfrdrivr.c (pfr_get_kerning): Updated.

* src/sfnt/ttload.c (sfnt_dir_check): Remove unused variable
`format_tag'.

* src/sfnt/ttcmap0.c (tt_cmap6_validate, tt_cmap10_validate): Remove
unused variable `start'.
(tt_cmap10_char_next): Remove unused variable `result'

* src/sfnt/sfobjs.c (tt_face_get_name): Mark `error' as unused.

* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Mark `error' as
unused.

* src/type1/t1objs.c (T1_Face_Init): Remove unused variable
`pshinter'.

* src/type1/t1gload.c (T1_Load_Glyph): Use `glyph_data_loaded'
only for FT_CONFIG_OPTION_INCREMENTAL.
2003-04-23 19:48:24 +00:00
Werner Lemberg 13c4a4f171 * src/sfnt/ttcmap0.c (tt_cmap4_validate): Provide a weak variant
of the glyph ID bounding check if FT_VALIDATE_TIGHT is not active.
Without this change, many CJK fonts from Dynalab are rejected.
2003-04-23 18:21:48 +00:00
Werner Lemberg 8b61525b9a * src/base/ftbdf.c (FT_Get_BDF_Property): Check for valid
`get_interface'.
2003-04-23 18:14:51 +00:00
Werner Lemberg fcc5c9115f * src/base/ftmac.c (parse_fond): Fix handling of style names. 2003-04-23 18:10:19 +00:00
Werner Lemberg b442ca1713 Cleanups. 2003-04-23 15:50:27 +00:00
Werner Lemberg 5e6b9edc89 Cleanups. 2003-04-23 15:34:52 +00:00
Werner Lemberg bb3105e256 Cleanups. 2003-04-23 15:17:43 +00:00
Werner Lemberg 9ed254f6b9 Cleanups. 2003-04-23 14:32:58 +00:00
Werner Lemberg 2e57343f90 * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Use FT_PtrDist
instead of FT_Uint for `len'.

Cleanups.
2003-04-23 14:14:06 +00:00
Werner Lemberg 004615e3d0 Cleanups. 2003-04-23 13:17:40 +00:00
Werner Lemberg 917a593780 * src/gzip/ftgzip.c (zcalloc) [!FT_CONFIG_OPTION_SYSTEM_ZLIB]:
Convert K&R format to modern C usage.
(FT_Stream_OpenGzip): Use long constant.

Cleanups.
2003-04-23 07:13:54 +00:00
Werner Lemberg 2acb963baf Cleanups. 2003-04-23 06:47:12 +00:00
Werner Lemberg 9a8898810d * src/cache/ftccache.c (ftc_cache_lookup): Remove shadow declaration
of `manager'.
2003-04-23 06:36:46 +00:00
Werner Lemberg 2d117ea531 Cleanups. 2003-04-23 06:32:41 +00:00
Werner Lemberg 7dc281c88d Cleanups. 2003-04-23 06:07:27 +00:00
Werner Lemberg c8c6bf5c63 Cleanups; adding some copyrights; formatting. 2003-04-23 05:38:13 +00:00
Werner Lemberg 3ae7cc997a Cleanups. 2003-04-22 07:49:24 +00:00
Werner Lemberg 90e979e7be Cleanups. 2003-04-22 06:53:24 +00:00
Werner Lemberg 2d1601930d Cleanups. 2003-04-22 05:51:31 +00:00
Werner Lemberg a854699b41 Small documentation improvements. 2003-04-21 20:39:42 +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 692bbe59da * src/base/ftmac.c (open_face_from_buffer): removed a double-free bug that
had nasty consequences when trying to open an "invalid" font on a Mac.
2003-04-09 07:03:38 +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 e0ec6b3d53 * src/type1/t1load.c (T1_Open_Face): fixed the code to make it handle
special cases where a font only contains a ".notdef" glyph (happens in
   PDF-embedded fonts !!). Otherwise, FT_Panic was called !
2003-04-03 15:52:59 +00:00
David Turner 5158fbc03d * README: udpated
* README.UNX: removed (now replaced by docs/INSTALL.UNX)

   * src/pshinter/pshalgo3.c: the hinter now performs as in 2.1.3 and
   will ignore stem quantization only when FT_LOAD_TARGET_SMOOTH is used

   * src/base/ftobjs.c: changed the default computations to include rounding
   in all cases, this is required to provide accurate kerning data when
   native TrueType hinting is enabled.

   * src/type1/t1load.c: the Type 1 loader now accepts more general names
   according to the Postscript spec (the previous one was too restrictive)
2003-03-27 21:35:44 +00:00
David Turner d6ec6eee78 * src/autohint/ahglyph.h, src/autohint/ahglyph.c, src/autohint/ahglobal.c,
src/autohint/ahhint.c: fixed blue-scale problem

    * src/cache/ftccache.c: fixed small bug that could crash the cache
    in rare circumstances (mostly with broken fonts)
2003-03-20 20:58: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 1c044d7d29 * src/truetyoe/ttdriver.c (Set_Char_Sizes): fixed a small rounding bug.
Actually, it seems that previous versions of FreeType didn't perform
    TrueType rounding exactly as appropriate.
2003-03-15 13:29:49 +00:00
David Turner 562731d487 trying to fix TrueType rendering glitches 2003-03-14 07:31:35 +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 a3c378024b * src/gzip/ftgzip.c (ft_gzip_file_done): fixed memory leak, the ZLib
stream was not properly finalized
2003-02-28 08:32:46 +00:00
David Turner ae26c684db * src/cache/ftccmap.c: the cmap cache now supports UCS-4 charmaps
when available in Asian fonts

    * src/sfnt/ttload.c, src/base/ftobjs.c: changed "asian" to "Asian" in
    comments

    * src/truetype/ttdriver.c (Set_Char_Sizes): fixed a rounding bug when
    computing the scale factors for a given character size in points with
    resolution.
2003-02-25 20:37:50 +00:00
David Turner 229d122e92 * src/gzip/ftgzip.c: fixed a bug that caused FreeType to loop endlessly
when trying to read certain compressed gzip files. The following test
    could be used to reveal the bug:

       touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz


    * src/pfr/pfrobjs.c, src/pfr/pfrload.c, src/pfr/pfrtypes.h: several
    fixes to the PFR font driver:

      - the list of available embedded bitmaps was not correctly set
        in the root FT_FaceRec structure describing the face

      - the glyph loader always tried to load the outlines when
        FT_LOAD_SBITS_ONLY was specified

      - the table loaded now scans for *undocumented* elements of a
        physical font's auxiliary data record, this is necessary to
        retrieve the "real" family and style names.

        NOTE THAT THIS CHANGES THE FAMILY NAME OF MANY PFR FONTS !!
2003-02-25 19:20:12 +00:00
David Turner a41d3f056a * src/autohint/ahhint.c: disabled the advance width "correction" which
seemed to provide more trouble than benefits..
2003-02-18 22:36:04 +00:00
David Turner ba4511b807 * src/truetype/ttdriver.c, src/truetype/ttobjs.h, src/truetype/ttobjs.c,
src/truetype/ttinterp.c, src/base/ftobjs.c: fixing the slight distortion
    problem that occured due to the latest auto-hinter changes
2003-02-18 22:25:22 +00:00
Graham Asher d4c48e06c0 Updated changelog: change to incremental interface. 2003-02-13 17:56:45 +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 4bdf4350f2 various improvements for 2.1.4. see ChangeLog, I've got problems with
copy & paste on my desktop !!
2003-01-30 23:24:18 +00:00
David Turner 9acb09e060 updated documentation for 2.1.4 2003-01-24 08:30:36 +00:00
David Turner 79c23ae28a * src/sfnt/ttload.c (sfnt_dir_check): relaxed the "head" table size
verification to accept a few broken fonts who pad the size incorrectly
    (the table should be padded, but its "size" field shouldn't per se
     the spec)
2003-01-22 22:53:55 +00:00
David Turner 146ff279b4 * src/autohint/ahhint.c: small fix to the stem width optimisation 2003-01-22 22:47:04 +00:00
David Turner 2f70965f9f * include/freetype/ftbdf.h, include/freetype/internal/bdftypes.h,
src/base/ftbdf.c, src/bdf/bdfdrivr.c, src/pcf/pcfdrivr.c,
    src/pcf/pcfread.h:

      adding a new API, named FT_Get_BDF_Property to retrieve the BDF
      properties of a given PCF or BDF font
2003-01-22 22:45:28 +00:00
Werner Lemberg 0d52639603 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
--copy' from libtool 1.4.3.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.7.1.
* builds/unix/configure: Regenerated with autoconf 2.54.
* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org.
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`automake' CVS module at subversions.gnu.org.
2003-01-18 16:39:18 +00:00
David Turner feb3d8703f * include/freetype/freetype.h: fixed documentation for FT_Size_Metrics 2003-01-15 23:43:17 +00:00
David Turner 619d62d933 * src/gzip/ftgzip.c: bugfix: couldn't read certain gzip-ed font files 2003-01-15 23:01:02 +00:00
David Turner 12d09050f5 * include/freetype/config/ftheader.h, include/freetype/internal/fnttypes.h,
include/freetype/ftwinfnt.h, src/base/winfnt.c, src/winfonts/winfnt.c,
    src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:

      added a Windows .FNT specific API (mostly for Wine). Also fixed a nasty
      bug in the header loader which would cause invalid memory overwrites
2003-01-15 22:48:27 +00:00
Graham Asher cad11476fe Noted addition of 'const' to the first argument to FT_Matrix_Multiply. 2003-01-14 16:00:32 +00:00
Graham Asher 2c425de9ea noted latest change to ttload.c 2003-01-13 10:27:35 +00:00
David Turner 14018b4af9 2003-01-11 David Chester <davidchester@qmx.net>
* include/freetype/config/ftoption.h, src/autohint/ahglobal.h,
        src/autohint/ahglobal.c, src/autohint/ahglyph.c,
        src/autohint/ahtypes.h:

          included David Chester's patches to the auto-hinter in order to
          slightly improve the output. Note that everything is controlled
          through the new FT_CONFIG_OPTION_CHESTER_HINTS defined at the
          end of "ftoption.h", there are also individual FT_CONFIG_CHESTER_XXX
          macros to control individual "features".

          Note that all improvements are enabled by default, but can be
          tweaked for optimization and testing purpose. The configuration
          macros will most likely disappear in the short future.

2003-01-11  David Turner  <david@freetype.org>

        * include/freetype/internal/fnttypes.h: fixed a structure field
        definition to avoid memory overwrites
2003-01-12 18:26:10 +00:00
David Turner 57ce0bee44 * src/winfonts/winfnt.c: read 16 bytes into "reserved2", not "reserved" 2003-01-08 10:06:19 +00:00
David Turner 77b68b8e73 * src/truetype/ttgload.c: fixing the TrueType loader to handle invalid
composites correctly by limiting the recursion depth
2003-01-08 09:59:17 +00:00
David Turner 265799a933 * src/autohint/ahtypes.h, src/autohint/ahhint.c, src/pshinter/pshalgo3.h,
src/pshinter/pshalgo3.c: implemented the FT_RENDER_MODE_LIGHT hinting
        mode in the auto and postscript hinters
2003-01-08 09:52:32 +00:00
David Turner 6453a819e8 * src/base/ftobjs.c (find_unicode_charmap): fixed the error code
returned when the font doesn't contain a Unicode charmap. This
        allows FT2 to load "symbol.ttf" and a few others correctly since
        the last release
2003-01-08 09:28:34 +00:00
David Turner cce3c80c1f * Jamrules, Jamfile, Jamfile.in, src/*/Jamfile: small changes to
support the compilation of FreeType 2 as part of larger projects with
        their own configuration options (only with Jam)
2003-01-08 09:10:53 +00:00
David Turner 20e33158da * src/base/ftstroker.c: probably the last bug-fixes to the stroker,
the API is likely to change however.

        * src/base/fttrigon.c (FT_Angle_Diff): fixing function, it returned
        invalid values for large negative angle differences (resulting in
        incorrect stroker computations, among other things)

        * src/cache/ftccache.c (ftc_node_unlink): removing incorrect
        assertion, and changing code to avoid hash table size contraction

        * src/base/Jamfile, src/base/rules.mk, src/base/descrip.mms:
        adding "ftstroker.obj" to default build, as optional component
2003-01-07 22:54:02 +00:00
David Turner 91f905885f updated builds/unix/configure by running autoconf 2002-12-26 21:49:40 +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 6bb601eaf0 * 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:50:39 +00:00
David Turner 19b6b99967 * builds/unix/configure.ac, builds/unix/unix-cc.in,
builds/unix/unix-def.in: small fix to configure sub-system on Unix
        to allow other programs to correctly link with zlib when needed
2002-12-23 22:40:21 +00:00
David Turner caf4be3cd1 * src/winfonts/winfnt.c: included George Williams' fix to support
version 2 fonts correctly
2002-12-18 22:53:12 +00:00
David Turner c528f6fa41 * src/base/ftobjs.c (find_unicode_charmap): added some comments to
better explain what's happening there

        * src/base/ftobjs.c (open_face): included Graham Asher's fix to
        prevent faces without Unicode charmaps from loading
2002-12-18 22:43:07 +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
Antoine Leca c96f69dfaa * src/base/ftobjs.c: modified the logic to get Unicode charmaps.
Now it loads UCS-4 charmaps when there is one.
* src/base/ftobjs.c (find_unicode_charmap): new function.
* src/base/ftobjs.c (open_face): refer to the above one.
* src/base/ftobjs.c (FT_Select_Charmap): idem.
2002-12-03 00:39:16 +00:00
Antoine Leca fc2f3c3ede Correct the name of the controlling macro (was __FTXF86_H__ ...) 2002-11-29 12:56:49 +00:00
David Turner 9967dce2b2 * src/cff/cffload.c (cff_charser_load): modified charset loader to
accept pre-defined charsets, even when the font contains fewer glyphs.
        also enforced more checks to ensure that we never overflow the
        character codes array in the encoding.
2002-11-23 16:41:23 +00:00
David Turner c2278680e7 * src/cff/cffload.c (cff_charser_load): modified charset loader to
accept pre-defined charsets, even when the font contains fewer glyphs
2002-11-23 15:53:57 +00:00
David Turner 6048e3d008 updating documentation & changes 2002-11-13 23:28:08 +00:00
David Turner 5237993a92 fixed a small bug in the sbit cache that caused problems with embedded bitmaps 2002-11-07 09:46:43 +00:00
David Turner e57ca7dec6 * src/otlayout/otlayout.h, src/otlyaout/otlconf.h,
src/otlayout/otlgsub.c, src/otlayout/otlgsub.h, src/otlayout/otlparse.c,
        src/otlayout/otlparse.h, src/otlayout/otlutils.h:

          updating the OpenType Layout code, adding support fot the first
          GSUB lookups. Nothing that really compiles for now though

        * src/autohint/ahhint.c: disabled serif stem width quantization. It
        produces slightly better shapes though this is not distinguishable
        with many fonts.
2002-11-07 01:36:29 +00:00
David Turner 60b32e16e7 2002-11-05 David Turner <david@freetype.org>
* include/freetype/config/ftoption.h, src/gzip/ftgzip.c: added
        support for the FT_CONFIG_OPTION_SYSTEM_ZLIB option, used to specify
        the use of system-wide zlib.

        Note that this macro, as well as FT_CONFIG_OPTION_BYTECODE_INTERPRETER,
        is not #undef-ed anymore. This allows the build system to define them
        depending on the configuration (typically by adding -D flags at
        compile time).

        * src/sfnt/ttcmap0.c (tt_face_build_cmaps): removed compiler warnings
        in optimized mode relative to the "volatile" local variables. This was
        not a compiler bug after all, but the fact that a pointer to a volatile
        variable is not the same than a volatile pointer to a variable :-)

        the fix was to change  "volatile FT_Byte*  p"
        into                   "FT_Byte* volatile  p"

        * src/pfr/pfrload.c, src/pfr/pfrdrivr.c, src/gzip/inftrees.c: removed
        compiler warnings in optimized modes

        * src/gzip/*.[hc]: modified our ZLib copy in order to prevent exporting
        any zlib function names outside of the component. This prevents linking
        problems on some platforms, when applications want to link FreeType
        _and_ ZLib together.


2002-11-05  Juliusz  <jch@pps.jussieu.fr>

        * src/psaux/psobjs.c (ps_table_add): modified increment loop in
        order to implement exponential behaviour
2002-11-06 22:32:54 +00:00
David Turner 54b0bca50c * include/freetype/ftgzip.h, src/gzip/ftgzip.c:
adding support for gzip compressed streams !!

        * src/pcf/pcfdriver.c: adding automatic support for gzip-compressed
        PCF files
2002-10-31 22:19:27 +00:00
Werner Lemberg 2d62446da9 * include/freetype/ftcache.h (FT_POINTER_TO_ULONG): New macro.
(FTC_FACE_ID_HASH): Rewritten, using FT_POINTER_TO_ULONG.
2002-10-25 12:22:31 +00:00
Werner Lemberg cb544d3ac1 * include/freetype/freetype.h (FT_Encoding): Fix entry for latin-2. 2002-10-23 09:24:23 +00:00
Werner Lemberg eacb9306c0 Formatting; adding file headers. 2002-10-07 10:12:43 +00:00
Werner Lemberg c4c373cee5 * include/freetype/freetype.h (FT_Open_Face): Use `const' for `args'
(suggested by Graham).
* src/base/ftobjs.c (FT_Open_Face): Updated.
(ft_input_stream_new): Ditto.
2002-10-07 09:15:20 +00:00
David Turner 072f7f89d3 * docs/CHANGES: updating 2002-10-05 15:00:36 +00:00
David Turner 80171e06dd * src/pfr/pfrsbit.h, src/pfr/pfrsbit.c, src/pfr/pfrload.c,
src/pfr/pfrgload.c, src/pfr/pfrobjs.c, src/pfr/pfrtypes.h,
        Jamfile, src/base/ftobjs.c: adding support for embedded bitmaps to
        the PFR driver, and rewriting its kerning loader / handler to use all
        kerning pairs in a physical font (and not just the first item).

        * src/tools/docmaker/content.py, src/tools/docmaker/sources.py,
        src/tools/docmaker/tohtml.py: fixing a few nasty bugs

        * src/sfnt/ttcmap0.c: the validator for format 4 sub-tables is
        now capable of dealing with invalid "length" fields at the start
        of the sub-table. This allows fonts like "mg______.ttf" (i.e.
        Marriage) to return accurate charmaps.
2002-10-05 14:57:03 +00:00
Werner Lemberg 4c09ae8002 * src/smooth/ftgrays.c (SUBPIXELS): Add cast to `TPos'.
Update all callers.
(TRUNC): Add cast to `TCoord'.
Update all callers.
(TRaster): Use `TPos' for min_ex, max_ex, min_ey, max_ey, and
last_ey.
Update all casts.
(gray_render_line): Fix casts for `p' and `first'.
2002-10-05 06:57:53 +00:00
Werner Lemberg 90e3dd6e86 * src/bdf/bdflib.c (bdf_load_font): Allocate the _bdf_parse_t
structure with FT_ALLOC instead of using the stack.
2002-10-02 17:04:58 +00:00
Werner Lemberg c219a5e8c4 * src/include/freetype/internal/tttypes.h (num_sbit_strikes,
num_sbit_scales): Use `FT_ULong'.
* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
(find_sbit_image): Remove cast.
* src/raster/ftrend1.c (ft_raster1_render): Fix cast.

* src/sfnt/ttload.c (tt_face_load_names): Use cast.
* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
(code_to_index4): Use cast.
(code_to_index8_12): Fix cast.
* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
tt_cmap12_char_index): Use cast for `result'.
(tt_face_build_cmaps): Use cast.
* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
`code'.
(sfnt_load_face): Use FT_Int32 for `flags'.

* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
to `TCoord' and `int'.
More 16bit fixes.
s/FT_Pos/TPos/.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
2002-09-28 16:40:57 +00:00
Werner Lemberg cfd5dec319 formatting 2002-09-27 18:17:17 +00:00
Werner Lemberg 68e9f92710 * src/sfnt/ttpost.c (load_post_names, tt_face_free_ps_names,
tt_face_get_ps_name): Replace switch statement with if clauses to
make it more portable.

* src/cff/cffobjs.c (cff_face_init): Ditto.

* include/freetype/ftmodule.h (FT_Module_Class): Use `FT_Long' for
`module_size'.
* include/freetype/ftrender.h (FT_Glyph_Class_): Use `FT_Long' for
`glyph_size'.

* src/base/ftobjs.c (FT_Render_Glyph): Change second parameter to
`FT_Render_Mode'.
(FT_Render_Glyph_Internal): Change third parameter to
`FT_Render_Mode'.
* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Change second parameter
to `FT_Render_Mode'.

* src/raster/ftrend1.c (ft_raster1_render): Change third parameter
to `FT_Render_Mode'.
* src/smooth/ftsmooth.c (ft_smooth_render, ft_smooth_render_lcd,
ft_smooth_render_lcd_v): Ditto.
(ft_smooth_render_generic): Change third and fifth parameter to
`FT_Render_Mode'.

* include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
include/freetype/ftglyph.h: Updated.

* src/cff/cffdrivr.c (Load_Glyph), src/pcf/pcfdriver.c
(PCF_Glyph_Load), src/pfr/pfrobjs.c (pfr_slot_load),
src/winfonts/winfnt.c (FNT_Load_Glyph), src/t42/t42objs.c
(T42_GlyphSlot_Load), src/bdf/bdfdrivr.c (BDF_Glyph_Load): Change
fourth parameter to `FT_Int32'.

* src/pfr/pfrobjs.c (pfr_face_init): Add two missing parameters
and declare them as unused.

* src/cid/cidparse.h (CID_Parser): Use FT_Long for `postscript_len'.

* src/psnames/psnames.h (PS_Unicode_Value_Func): Change return
value to FT_UInt32.
* src/psnames/psmodule.c (ps_unicode_value, ps_build_unicode_table):
Updated accordingly.

* src/cff/cffdrivr.c (Get_Kerning): Use FT_Long for `middle'.
(cff_get_glyph_name): Use cast for result of ft_strlen.
* src/cff/cffparse.c (cff_parse_real): User cast for assigning
`exp'.
* src/cff/cffload.c (cff_index_get_pointers): Use FT_ULong for
some local variables.
(cff_charset_load, cff_encoding_load): Use casts to FT_UInt for some
switch statements.
(cff_font_load): Use cast in call to CFF_Load_FD_Select.
* src/cff/cffobjs.c (cff_size_init): Use more casts.
(cff_face_init): Use FT_Int32 for `flags'.
* src/cff/cffgload.c (cff_operator_seac): Use cast for assigning
`adx' and `ady'.
(cff_decoder_parse_charstrings): Use FT_ULong for third parameter.
Use more casts.
* src/cff/cffcmap.c (cff_cmap_unicode_init): Use cast for `count'.

* src/cid/cidload.c (cid_read_subrs): Use FT_ULong for `len'.
* src/cid/cidgload.c (cid_load_glyph): Add missing cast for
`cid_get_offset'.

* src/psaux/t1decode.c (t1_decoder_parse_charstrings) <18>: Use
cast for `num_points'.
(t1_decoder_init): Use cast for assigning `decoder->num_glyphs'.

* src/base/ftdebug.c (ft_debug_init): Use FT_Int.
* include/freetype/internal/ftdriver.h (FT_Slot_LoadFunc): Use
`FT_Int32' for fourth parameter.
* src/base/ftobjs.c (open_face): Use cast for calling
clazz->init_face.

* src/raster/ftraster.c (Set_High_Precision): Use `1' instead of
`1L'.
(Finalize_Profile_Table, Line_Up, ft_black_init): Use casts.
* src/raster/ftrend1.c (ft_raster1_render): Ditto.

* src/sfnt/sfnt_dir_check: Compare `magic' with unsigned long
constant.

* builds/amiga/include/freetype/config/ftmodule.h: Updated.
2002-09-27 11:09:23 +00:00
David Turner b0b8df68d6 updating documentation 2002-09-25 00:10:27 +00:00
David Turner 31654e1bed 2002-09-25 David Turner <david@freetype.org>
* src/autohint/ahtypes.h: disabling metrics hinting in the auto-hinter.
        this produces much better anti-aliased text

2002-09-25  Anthony Fok  <anthony@thizlinux.com>

        * src/sfnt/ttcmap0.c: added support for opens___.ttf (it contains
        a charmap that uses offset=0xFFFFU instead of 0x0000 to indicate a
        missing glyph)
2002-09-24 23:39:58 +00:00
Werner Lemberg e59dc91ff4 * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
FT_Int32.
* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
Ditto.
2002-09-21 18:43:10 +00:00
Werner Lemberg c5e566590d More 16bit fixes.
* src/autohint/ahglobal.c (sort_values): Use FT_Pos for `swap'.
(ah_hinter_compute_widths): Use FT_Pos for `dist'.
Use AH_MAX_WIDTHS.
* src/autohint/ahglyph.c (ah_outline_scale_blue_edges): Use FT_Pos
for `delta'.
(ah_outline_compute_edges): Replace some ints with FT_Int and
FT_Pos.
(ah_test_extrema): Clean up code.
(ah_get_orientation): Use 4 FT_Int variables instead of FT_BBox to
hold indices.
* src/autohint/ahtypes.h (AH_SegmentRec): Change type of `score'
to FT_Pos.
2002-09-21 08:33:27 +00:00
Werner Lemberg 2a922e87fa * builds/unix/config.guess, builds/unix/config.sub: Updated to
recent versions.
2002-09-20 15:45:43 +00:00
David Turner d48575ee3a * src/base/ftobjs.c (FT_Library_Version): bugfix 2002-09-18 23:18:36 +00:00
Werner Lemberg 98add9e68c Formatting, minor doc fixes. 2002-09-18 11:32:12 +00:00
David Turner 56106fb97d * include/freetype/freetype.h, include/freetype/ftimage.h,
include/freetype/ftstroker.h, include/freetype/ftsysio.h,
        include/freetype/ftsysmem.h, include/freetype/ttnameid.h:
        updating the in-source documentation

        * src/tools/docmaker/tohtml.py: updating the HTML formatter in the
        DocMaker tool

        * src/tools/docmaker.py: removing obsolete file
2002-09-17 22:57:29 +00:00
Werner Lemberg 55e80ec200 More 16bit fixes.
* src/psaux/psobjs.c (reallocate_t1_table): Use FT_Long for
second parameter.
2002-09-17 13:56:44 +00:00
Werner Lemberg bc1837a19b 16bit fixes from Wolfgang Domrse.
* src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
and `private_len' to FT_Long.
* src/type1/t1parse.c (T1_Get_Private_Dict): Remove cast for
`private_len'.
* src/type1/t1load.c: Use FT_Int cast for most calls of T1_ToInt.
Use FT_PtrDist where appropriate.
(parse_encoding): Use FT_Long for `count' and `n'.
(read_binary_data): Use FT_Long* for second parameter.
* src/type1/t1afm.c (afm_atoindex): Use FT_PtrDist.

* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
2002-09-17 12:39:19 +00:00
Werner Lemberg 7a99b507ce * src/type1/t1parse.h (T1_ParserRec): Change type of `base_len'
and `private_len' to FT_Long.

* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused label.
* src/pshinter/pshalgo3.c (psh3_hint_align): Remove unused variable.
2002-09-17 07:31:17 +00:00
Werner Lemberg 5dfbdf7659 Making ftgrays.c compile stand-alone again.
* include/freetype/ftimage.h: Include ft2build.h only if _STANDALONE_
isn't defined.
* src/smooth/ftgrays.c [_STANDALONE_]: Define ft_memset,
FT_BEGIN_HEADER, FT_END_HEADER.
(FT_MEM_ZERO): Define.
(TRaster) [GRAYS_USE_GAMMA]: Use `unsigned char' instead of FT_Byte.
(gray_render_span, gray_init_gamma): Don't use `FT_UInt'.
Don't cast with `FT_Byte'.
(grays_init_gamma): Don't use `FT_UInt'.

* src/base/ftinit.c (FT_Add_Default_Modules): Improve error message.
* src/pcf/pcfdriver.c (PCF_Face_Done): Improve tracing message.
* include/freetype/config/ftoption.h (FT_MAX_MODULES): Increased
to 32.
2002-09-16 06:15:31 +00:00
David Turner bb076bd0fb cosmetic + typo fixes 2002-09-11 06:13:09 +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
David Turner 25f845aa64 * src/cache/ftccache.i: fixed a bug that prevented compilation in
debug mode of template instantiation

        * src/cff/cffparse.c: fixed the CFF table loader. It didn't accept
        empty arrays, and this prevented the loading of certain fonts.

        * src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.c: adding fix to
        prevent seg fault when hints are provided in an empty glyph !!

        * include/freetype/ftimage.h: removed incorrect "zft_" definitions
        and updated constants documentation comments

        * include/freetype/freetype.h (FT_FaceRec): updating documentation
        comment. The "descender" value is always *negative*, not positive !
2002-09-09 23:45:29 +00:00
David Turner 00d9f40cf7 * src/smooth/ftsmooth.c, src/base/ftobjs.c,
include/freetype/config/ftmodule.h: updated to correctly support
        sub-pixel rendering

        * include/freetype/cache/ftcimage.h, include/freetype/cache/ftcsbits.h,
        src/cache/ftcimage.c, src/cache/ftcsbit.c: updated to support sub-pixel
        rendering correctly. Definition of FTC_ImageTypeRec that replaces the
        obsolete FTC_ImageDesc, and has slightly different fields. The
        image type is now determined directly by "load_flags" values.

        * src/autohint/ahtypes.h, src/autohint/ahhint.c,
        src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: various enhancements
        to the automatic and Postscript hinters !! and sub-pixel hinting now
        works correctly (see demo programs)
2002-09-08 21:29:11 +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 08840150b7 * include/freetype/freetype.h: corrected the definition of
ft_encoding_symbol to be FT_ENCODING_MS_SYMBOL (instead of
    the erroneous FT_ENCODING_SYMBOL)

    * builds/unix/unix-def.in: added "datadir" definition
    (thanks to Anthony Fok)
2002-09-04 19:58:47 +00:00
David Turner 86e6a71f53 * README, docs/CHANGES: updating for the 2.1.3 release 2002-08-29 23:18:56 +00:00
David Turner d53bfeb810 * src/pshinter/pshalgo.c: slight modification to the Postscript hinter
to slightly increase the contrast of smooth hinting. This is very similar
    to what the auto-hinter does when it comes to stem width computations.
    However, it produces better results with well-hinted fonts..
2002-08-29 22:50:17 +00:00
David Turner b08fe2dc7a * massive re-formatting changes to many, many source files. I don't
want to list them all here. The operations performed were all logical
    transformations of the sources:

      - trying to convert all enums and constants to CAPITALIZED_STYLE, with
        #define definitions like

          #define  my_old_constants   MY_NEW_CONSTANT

      - big, big update of the documentation comments

    * include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c,
    include/freetype/ftimage.h: adding support for LCD-optimized rendering
    though the new constants/enums:

      FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
      FT_PIXEL_MODE_LCD,  FT_PIXEL_MODE_LCD_V

    this is still work in progress, don't expect everything to work correctly
    though most of the features have been implemented.

    * adding new FT_LOAD_XXX flags, used to specify both hinting and rendering
    targets:

      FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
      FT_LOAD_TARGET_MONO   :: monochrome bitmaps
      FT_LOAD_TARGET_LCD    :: horizontal RGB/BGR decimated hinting & rendering
      FT_LOAD_TARGET_LCD_V  :: vertical RGB/BGR decimated hinting & rendering

    note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
    behaviour of the font engine is _unchanged_.
2002-08-27 20:20:29 +00:00
Werner Lemberg 51b6699a35 * docs/VERSION.DLL: New file. 2002-08-27 16:51:02 +00:00
Graham Asher 33d60e2ea0 Noted latest changes to CFF sources. 2002-08-23 10:24:19 +00:00
David Turner 5c0d3a4dca * src/base/ftobject.c, src/base/ftsynth.c, src/base/ftstroker.c,
src/bdf/bdfdrivr.c: removed compiler warnings
2002-08-22 20:35:36 +00:00
Werner Lemberg edbcbde703 Formatting. 2002-08-22 08:49:42 +00:00
Werner Lemberg ec810f8c6a * src/pshinter/pshalgo3.c (psh3_glyph_compute_inflections,
psh3_glyph_compute_extrema, psh3_hint_table_find_strong_point): Fix
compiler warnings and resolve shadowing of local variables.
2002-08-22 06:04:32 +00:00
David Turner 21f433cec9 * src/pshinter/pshalgo3.c, src/base/ftobjs.c, src/base/ftobject.c,
src/autohint/ahglyph.c, include/freetype/freetype.h: fixing typos
        and removing compiler warnings
2002-08-21 22:06:41 +00:00
David Turner f467e6a93f * include/freetype/freetype.h, src/base/ftobjs.c: changing the type
of the "load_flags" parameter of FT_Load_Glyph and FT_Load_Char from
        "FT_Int" to "FT_Int32", this in order to support more options.

        this should only break binary and/or source compatibility on
        16-bit platforms (Atari?)
2002-08-21 21:39:28 +00:00
David Turner a8199d608f * src/tools/docmaker/docmaker.py, src/tools/docmaker/utils.py,
src/tools/docmaker/tohtml.py: updating the DocMaker tool
2002-08-21 21:36:26 +00:00
Werner Lemberg 215bf44438 * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0. 2002-08-21 17:36:20 +00:00
David Turner fd5770b359 - removal of compiler warnings
- slight improvements to the Postscript hinter
2002-08-19 06:06:44 +00:00
Werner Lemberg 9723e7e7ae * builds/unix/install.mk (install, uninstall): Add $(DESTDIR) to
make life easier for package maintainers.
2002-08-19 02:25:43 +00:00
Werner Lemberg d580f9d6c3 * src/pcf/pcfdriver.c (PCF_Glyph_Load): Fix computation of
horiBearingX.
* src/bdf/bdfdrivr.c (BDF_GlyphLoad): Fix computation of
horiBearingY.
2002-08-18 22:02:03 +00:00
Werner Lemberg eed446d0d5 Add support for Apple composite glyphs.
* include/freetype/config/ftoption.h
(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.

* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
glyph loading flags.
(load_truetype_glyph): Implement it.
2002-08-16 12:46:52 +00:00
Werner Lemberg f25ce9d0b3 * src/cff/cffgload.c (cff_free_glyph_data),
src/cff/cffload.c (cff_font_load): Use FT_UNUSED.

* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Initialize `error'.
* src/sfnt/sfobjs.c (SFNT_Load_Face): Fix compiler warning.
2002-08-15 23:07:18 +00:00
Graham Asher 917589d4bd Noted latest changes to incremental font lolading system. 2002-08-15 12:24:21 +00:00
Werner Lemberg 3c403e4c17 Some formatting.
* src/cff/cffcmap.c: Remove compiler warnings.
* src/cache/ftccache.c, src/cache/ftccache.i,
src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
* src/cff/cffload.c: s/select/fdselect/.
* src/raster/ftraster.c: s/wait/waiting/.
2002-08-06 21:47:40 +00:00
Graham Asher a170607556 Commented latest change to t1load.c. 2002-08-01 16:20:06 +00:00
Graham Asher f9b34b5807 Added note about latest changes to incremental interface. 2002-08-01 15:36:50 +00:00
David Turner f52165cc06 * src/tools/docmaker/*: adding new (more advanced) version of
the DocMaker tool. Python with regular expressions rocks..
2002-07-30 18:49:52 +00:00
David Turner 76effc302f * include/freetype/ftincrem.h: adding new experimental header file
to demonstrate a "cleaner" API to support incremental font loading.
        comments appreciated...
2002-07-30 18:42:29 +00:00
Werner Lemberg b3d5e9cf03 s/ft_memset/FT_MEM_SET/.
s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
2002-07-28 05:05:24 +00:00
Werner Lemberg bdb10748a7 * src/sfnt/ttload.c (sfnt_dir_check): Make it work with TTCs. 2002-07-27 22:51:28 +00:00
Werner Lemberg b94f3d3ea2 * src/pshinter/pshalgo3.c (psh3_hint_table_record,
psh3_hint_table_init, psh3_hint_table_activate_mask): Fix error
message.

Formatting.
2002-07-26 14:52:29 +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
Graham Asher 0327329db5 Changed some tabs to spaces in changelog. 2002-07-25 09:21:54 +00:00
Graham Asher 94e4b5bc0f Fixed silly date error in change log. 2002-07-25 09:20:19 +00:00
Graham Asher fac34ae1a7 Added missing log entry for incremental font loading changes made
on 18th July 2002.
2002-07-25 09:17:46 +00:00
Graham Asher 6ebd6fd51a logged latest change to ttobjs.c 2002-07-24 18:38:45 +00:00
David Turner fed59b7cc2 * src/sfnt/ttload.c (TT_Load_SFNT_Header): fixed a recent bug that prevented
OpenType fonts to be recognized by FreeType
2002-07-17 22:51:06 +00:00
David Turner 3e19d85dd4 * include/freetype/config/ftoption.h, include/freetype/internal/tttypes.h,
src/base/ftobjs.c, src/bdf/bdfdrivr.c, src/cff/cffobjs.c,
    src/pcf/pcfdrivr.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
    src/sfnt/ttcmap0.h, src/sfnt/ttload.c, src/type1/t1objs.c,
    src/type42/t42objs.c, src/winfonts/winfnt.c: code cleanup,
    FT_CONFIG_OPTION_USE_CMAPS is now the default
2002-07-17 21:52:20 +00:00
David Turner 075c35de55 * include/freetype/cache/ftccache.h, src/cache/ftccache.i,
src/cache/ftccache.c: cleaning up the cache sub-system code, linear
    hashing is now the default
2002-07-17 20:56:48 +00:00
David Turner 7acd73fd6a * src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttdriver.c: changing
the SFNT loader to check for SFNT-based font files differently. We now
    ignore the range "helper" fields and check the "head" table's magic
    number instead.
2002-07-11 23:41:14 +00:00
David Turner 8db6a07021 * include/freetype/t1tables.h, include/freetype/internal/psaux.h,
src/psaux/psobjs.c, src/type1/t1load.c, src/type1/t1tokens.h:
    fixing a bug in the Type 1 loader that prevented valid font bounding
    boxes to be loaded from multiple master fonts.
2002-07-11 11:26:21 +00:00
David Turner d473204c00 * src/cff/cffobjs.c: small fix to select the Unicode charmap by default
when needed
2002-07-10 17:10:21 +00:00
David Turner a87bb79235 * src/cff/cffobjs.c: small fix to allow OpenType fonts to support Adobe
charmaps when needed.
2002-07-10 16:58:10 +00:00
David Turner b9b2cac634 * src/cff/cffcmap.c, src/cff/cffcmap.h, Jamfile, rules.mk: new files added
to support charmaps for CFF fonts

    * src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
    src/cff/cffobjs.h, src/cff/cffparse.c, src/cffparse.h, src/cff/cffgload.c,
    src/cff/cffgload.h: adding support for CFF charmaps, reformatting the
    sources, and removing some bugs in the Encoding and Charset loaders
2002-07-10 16:52:06 +00:00
David Turner ee06410b0a * src/pshinter/pshglob.c: fixed a bug that prevented the hinter from using
correct standard width and height values. resulting in hinting bugs with
    certain fonts (e.g. Utopia)
2002-07-09 16:49:12 +00:00
David Turner 971517ac8e * src/pshinter/pshglob.h, src/pshinter/pshglob.c: adding support for
blue fuzz
2002-07-08 23:13:25 +00:00
David Turner f0f1b6ae15 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): added code to return succesfully
when the function is called with a bitmap glyph (the previous code simply
    returned with an error)
2002-07-08 23:05:14 +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
David Turner 27c322e983 * include/freetype/freetype.h, src/base/ftobjs.h,
freetype/internal/ftobjs.h, freetype/internal/psaux.h,
    freetype/internal/pshints.h, src/psaux/t1decode.c, src/cff/cffgload.h,
    src/cff/cffgload.c, src/pshinter/pshalgo1.h, src/pshinter/pshalgo1.c,
    src/pshinter/pshalgo2.h, src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.h,
    src/pshinter/pshalgo3.c: Adding support for hinter-specific bit flags,
    and the new FT_Set_Hint_Flags high-level API
2002-07-08 22:26:11 +00:00
David Turner dcb61e4785 * src/pfr/pfrobjs.c (pfr_slot_load): fixed a small bug that returned
incorrect advances when the outline resolution was different from the
    metrics resolution

    * src/autohint/ahhint.c: removing compiler warnings

    * src/autohint/ahglyph.c: slight improvements to the serif detection
    code. More work is needed though..
2002-07-05 15:54:26 +00:00
David Turner 699053ca75 2002-07-03 David Turner <david@freetype.org>
* src/autohint/ahglobal.c, src/autohint/ahtypes.h, src/autohint/ahhint.c:
    small improvements to the automatic hinter. un-even stem-widths have now
    disappeared and everything looks much better, even if there are still
    issues with serifed fonts.
2002-07-04 22:48:12 +00:00
David Turner 26438805c7 where, if a glyph has more than hint mask, the second mask
gets applied to points that should have been covered by the
first mask.
2002-07-01 21:57:36 +00:00
David Turner 49b1a9d00a adding path stroker 2002-07-01 21:54:30 +00:00
David Turner 0d73b0c49a * include/freetype/internal/ftobject.h: updating the object sub-system
definitions (still experimental)

    * src/base/fthash.c (ft_hash_remove): fixing a small reallocation bug

    * include/freetype/fttrigon.h, src/base/fttrigon.c: adding
    FT_Vector_From_Polar and FT_Angle_Diff to the trigonometric functions

    * include/freetype/ftstroker.h, src/base/ftstroker.c: adding path stroker
    component (work in progress)
2002-06-26 23:45:21 +00:00
David Turner 318f3befc6 * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
src/base/ftoutln.c (FT_Vector_Transform): fixed Werner's latest
        fix. FT_Vector_Transform wasn't buggy, the TrueType composite loader
        was...
2002-06-26 20:30:37 +00:00
Werner Lemberg ba7148d80c Added release info. 2002-06-26 11:26:59 +00:00
Werner Lemberg aa89ddb9fc * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. 2002-06-25 21:37:30 +00:00
Werner Lemberg 9cbb166d6b Minor fixes. Formatting. 2002-06-22 13:35:41 +00:00
David Turner 0460c1d97e * include/freetype/internal/t42types.h, src/base/fttype1.c,
src/type42/t42objs.h: removed duplicate definition of T42_FaceRec
2002-06-22 10:07:24 +00:00
David Turner 37b263e93a * src/pfr/pfrgload.c (pfr_glyph_load_compound): fixing a small composite
glyph loader bug that caused accents to be misplaced in a number of
    glyphs..
2002-06-22 09:36:53 +00:00
David Turner e583a022fb * README, docs/CHANGES: preparing for the 2.1.2 release 2002-06-21 07:42:02 +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 7e3df82efd * src/base/fttype1.c: Include FT_INTERNAL_TYPE42_TYPES_H.
(t1_face_check_cast): Removed.
(FT_Get_PS_Font_Info): Make it work with CID and Type 42 drivers
also.

* src/type42/t42parse.c (t42_parse_sfnts): Fix compiler warning.
2002-06-20 21:03:48 +00:00
Werner Lemberg 87a2bc7b69 * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
(xy <-> yx).
* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
`||' to make code easier to read.
2002-06-20 10:57:04 +00:00
Werner Lemberg 0657a8ac94 * src/type42/t42objs.c (t42_check_size_change): Removed.
(T42_Size_SetChars, T42_Size_SetPixels): Use FT_Activate_Size
instead.
(T42_GlyphSlot_Load): Remove call to t42_check_size_change.
2002-06-19 19:43:15 +00:00
Werner Lemberg 0bb4a0f93a * src/psaux/t1cmap.c (t1_cmap_custom_char_index,
t1_cmap_custom_char_next): Fix index computation -- indices start
with 0 and not with cmap->first.

Provide default charmaps.

* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdriver.c
(PCF_Face_Init), src/pfr/pfrobjs.c (pfr_face_init),
src/type1/t1objs (T1_Face_Init), src/winfonts/winfnt.c
(FNT_Face_Init): Implement it.
2002-06-19 15:57:55 +00:00
Werner Lemberg 3afd706dc6 * src/pfr/pfrobjs.c (pfr_face_init): Fix typo. 2002-06-18 20:30:13 +00:00
Leonard Rosenthol d372ee4e1b Added note about VC++ project update 2002-06-18 16:53:39 +00:00
Werner Lemberg 0270c36c38 Install freetype2.m4.
* builds/unix/install.mk (install, uninstall): Handle it.

Fix glyph indices for PFR driver.

* src/pfr/pfrcmap.c (pfr_cmap_char_index, pfr_cmap_char_next):
Increase return value by 1.
* src/pfr/pfrobjs.c (pfr_slot_load): Decrease index by 1.
2002-06-17 08:01:32 +00:00
Werner Lemberg fd97d137e0 Fix glyph indices to make index zero always the undefined glyph.
* src/bdf/bdfdrivr.c (bdf_cmap_init): Don't decrease
cmap->num_encodings.
(bdf_cmap_char_index, bdf_cmap_char_next, BDF_Get_Char_Index):
Increase result by 1 for normal cases.
(BDF_Glyph_Load): Decrease index by 1.

* src/pcf/pcfdriver.c (pcf_cmap_char_index, pcf_cmap_char_next,
PCF_Char_Get_Index): Increase result by 1 for normal cases.
(PCF_Glyph_Load): Decrease index by 1.
* src/pcf/pcfread.c (pcf_get_encodings): Don't decrease j for
allocating `encoding'.

* src/base/ftobjs.c (FT_Load_Glyph, FT_Get_Glyph_Name): Fix
bounding tests.
2002-06-16 01:14:16 +00:00
Werner Lemberg d2e3d4ff8c Add new cmap support to BDF driver
* src/bdf/bdfdrivr.c (BDF_CMapRec) [FT_CONFIG_OPTION_USE_CMAPS]:
New structure.
(bdf_cmap_init, bdf_cmap_done, bdf_cmap_char_index,
bdf_cmap_char_next) [FT_CONFIG_OPTION_USE_CMAPS]: New functions.
(BDF_Get_Char_Index) [!FT_CONFIG_OPTION_USE_CMAPS]: Use only
conditionally.
(BDF_Face_Init): Handle `AVERAGE_WIDTH' and `POINT_SIZE' keywords.
Implement new cmap handling.
(bdf_driver_class): Updated.
2002-06-14 08:54:02 +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 bd8e324af9 * src/bdf/bdflib.c: s/FT_Short/short/ for consistency. 2002-06-12 08:43:58 +00:00
David Turner a1e45652be * 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 5f4e102a42 Minor fixes. 2002-06-11 06:53:15 +00:00
David Turner 25a6e3a167 * 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 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
David Turner 47a09ca371 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
Werner Lemberg 995d1165b9 * 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 ad9ce8c682 * builds/amiga/smakefile, builds/amiga/makefile: Updated. 2002-06-08 12:33:57 +00:00
Werner Lemberg 8c90c22dbe * 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 08b7ad4418 * 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 7504e48eaa * 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 9f95babf3e * 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 5a1fae15a9 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 5be28b0d8c * src/pfr/pfrload.c (pfr_phy_font_done): Free `blue_values' array. 2002-06-02 12:11:48 +00:00
Werner Lemberg 7925edcef4 * 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 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
David Turner 2a4fa1340e * 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 69e7ee0391 * 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 665f30d3aa * 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 877ff67887 * 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 791d83a612 * 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 62c2096a33 * 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 233302a83f * 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 b1859049e2 * 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 b1b476215e * 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 18914a4f50 * src/type42/t32drivr.c: removing compiler warnings 2002-05-21 20:57:36 +00:00
David Turner 9e883cf668 * 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 8ab3260239 * 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 7cf4d377f4 * 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 b89a42c6c5 * src/type42/Jamfile: New file. 2002-05-17 12:10:04 +00:00
Werner Lemberg 963778153e 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 bd889e5de9 * 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 95fcaf8df7 * README: Add a note regarding libttf vs. libfreetype. 2002-05-05 22:24:44 +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 26aca0244d formatting 2002-05-05 07:40:16 +00:00
David Turner 8cd8907311 * 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 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
David Turner 1093730447 * 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 4f108391d8 * 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 9ca7a15727 * 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 5f0ee94c06 `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 558ac99de1 * descrip.mms (all): Add pfr driver. 2002-04-29 12:59:32 +00:00
Werner Lemberg 1573adf971 * 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 b658ac9e63 * 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 7b3dc7bb61 * 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 3680fd7c5b * 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 fadb6be7e3 * 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 609e28c3be * 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 f123ab6e5f Fix ChangeLog. 2002-04-18 14:27:21 +00:00
Werner Lemberg 67ffd8cd19 formatting 2002-04-18 14:26:29 +00:00
David Turner f574960899 * 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 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 9928df86f2 * src/pcf/pcfread (pcf_get_accell): Fix parsing of accelerator
tables.
2002-04-16 13:39:17 +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 94ffae5239 * 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 737fa9acf7 * 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 d15bc0d13a * 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 0cc456aa1a minor fixes 2002-04-11 19:55:58 +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
David Turner c495c1ac91 * src/smooth/ftgrays.c (gray_hline): very minor optimization. :-) 2002-04-11 10:34:19 +00:00
Werner Lemberg 04728a8bbe 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 efa996155e * src/type1/t1driver.c, src/type1/t1parse.c: 16bit fixes.
formatting, copyright updates
2002-04-01 22:01:46 +00:00
Werner Lemberg 91db04cb9c * 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 b7b163cb07 * 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 545a75fdd7 * 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 1987fb2f72 * 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 44be4d56fc formatting, copyright 2002-03-30 17:08:04 +00:00
Werner Lemberg afe5351e80 fix entry 2002-03-30 16:47:55 +00:00
Werner Lemberg 8e2339ac7e formatting 2002-03-30 16:46:23 +00:00
Werner Lemberg 48c984b5bb * 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 56054f310b fixing the function that computes an ASCII face name 2002-03-30 16:32:47 +00:00
David Turner d76050abd7 removing compiler warnings 2002-03-30 16:14:48 +00:00
David Turner 8a9d58133b updating comments for some TT_FaceRec fields 2002-03-30 16:09:24 +00:00
Werner Lemberg f8ba2005ab * 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 78e004e843 formatting 2002-03-29 23:23:28 +00:00
Werner Lemberg b1e6e59782 * builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
files.
* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
FT_LOCAL_DEF.
* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
* builds/unix/configure.ac: Temporarily deactivate creation of
../../Jamfile.
* builds/unix/configure: Updated.
2002-03-29 07:43:04 +00:00
Werner Lemberg 2282f341d6 * src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fix serious typos. 2002-03-28 14:21:15 +00:00
Werner Lemberg 1305f2616d * include/freetype/internal/psaux.h (PSAux_ServiceRec): Fix
compiler warnings.
* include/freetype/internal/t1types.h (T1_FaceRec): Use `const' for
some members.
* src/base/ftapi.c (FT_New_Memory_Stream): Fix typos.
* src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Add
cast.
(t1_cmap_{standard,expert,custom,unicode}_class_rec): Use
`FT_CALLBACK_TABLE_DEF'.
* src/psaux/t1cmap.h: Updated.
* src/sfnt/ttcmap0.c (TT_Build_CMaps): Use `ft_encoding_none'
instead of zero.
* src/type1/t1objs.c (T1_Face_Init): Use casts.
2002-03-28 08:07:16 +00:00
David Turner 94dbf7f022 fixed a small bug in FT_CMaps support 2002-03-26 02:38:39 +00:00
David Turner 2ded2c1d30 * src/base/ftobjs.c, src/sfnt/ttcmap0.c, src/type1/t1objs.c:
various fixes to make the FT_CMaps support work correctly
          (more tests are still needed)
2002-03-22 22:37:40 +00:00
David Turner fd88e7c7c8 * include/freetype/internal/ftobjs.h,
src/sfnt/Jamfile, src/sfnt/rules.mk,
          src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
          src/sfnt/ttload.c, src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h:

            updated the SFNT charmap support to use FT_CMaps
2002-03-22 15:02:38 +00:00
David Turner 7eedf08747 * include/freetype/config/ftheader.h, include/freetype/fterrors.h:
modified "fterrors.h" to include the error definitions list found
        in "fterrdef.h"
2002-03-22 15:00:19 +00:00
David Turner e459d742e6 * include/freetype/internal/ftmemory.h, and a lot of other files !!:
changed the names of memory macros. Examples:

              MEM_Set   => FT_MEM_SET
              MEM_Copy  => FT_MEM_COPY
              MEM_Move  => FT_MEM_MOVE

              ALLOC     => FT_ALLOC
              FREE      => FT_FREE
              REALLOC   = >FT_REALLOC

            FT_NEW was introduced to allocate a new object from a _typed_
            pointer..

            note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced
            by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
            arguments.

            This results in _lots_ of sources being changed, but makes the
            code more generic and less error-prone..
2002-03-22 13:52:37 +00:00
David Turner a890c29cb0 * include/freetype/internal/ftstream.h,
src/base/ftstream.c, src/cff/cffload.c, src/pcf/pcfread.c,
          src/sfnt/ttcmap.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c,
          src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
          src/truetype/ttgload.c, src/truetype/ttpload.c,
          src/winfonts/winfnt.c:

            changed the definitions of stream macros. Examples:

              NEXT_Byte     => FT_NEXT_BYTE
              NEXT_Short    => FT_NEXT_SHORT
              NEXT_UShortLE => FT_NEXT_USHORT_LE
              READ_Short    => FT_READ_SHORT
              GET_Long      => FT_GET_LONG
              etc..

            also introduced the FT_PEEK_XXXX functions..
2002-03-22 12:55:23 +00:00
David Turner 42372fd4d8 * src/psaux/t1cmap.h, src/psaux/t1cmap.c, src/type1/t1cmap.h,
src/type1/t1cmap.c: updating and moving the Type 1 FT_CMap support
        from "src/type1" to "src/psaux" since it's going to be shared
        by the Type 1 and CID font drivers..

        * src/psaux/Jamfile, src/psaux/psaux.c, src/psaux/psauxmod.c,
        src/psaux/rules.mk, include/freetype/internal/psaux.h: added support
        for Type 1 FT_CMaps.
2002-03-21 15:02:54 +00:00
David Turner a02976d232 * src/base/ftdbgmem.c (ft_mem_table_destroy): fixed a small bug that
caused the library to crash with Electric Fence when memory debugging
        is used..
2002-03-20 15:37:12 +00:00
David Turner 095a4cc1f3 * src/base/ftgloadr.c (FT_GlyphLoader_CheckSubGlyphs): fixed a memory
allocation bug that was due to un-careful renaming of the FT_SubGlyph
        type..
2002-03-20 15:35:53 +00:00
David Turner 7d3a26425b * renaming stream macros. Examples:
FILE_Skip    => FT_STREAM_SKIP
           FILE_Read    => FT_STREAM_READ
           ACCESS_Frame => FT_FRAME_ENTER
           FORGET_Frame => FT_FRAME_EXIT
           etc...
2002-03-20 10:49:31 +00:00
David Turner 2bf2b9cc21 * include/freetype/internal/ftobjs.h: changing the definition of
FT_CMap_CharNextFunc slightly

        * src/cff/*.c: updating CFF type definitions.
2002-03-20 09:44:20 +00:00
David Turner eba5ad4b37 no message 2002-03-14 12:56:35 +00:00
David Turner b5713c54c3 * include/freetype/internal/psglobals.h (removed),
include/freetype/internal/pshints.h,
          src/pshinter/pshglob.h: removing obsolete file

        * include/freetype/internal/tttypes.h,
          include/freetype/internal/sfnt.h,
          src/base/ftnames.c, src/cff/cffdrivr.c,
          src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type
          definitions
2002-03-14 11:26:29 +00:00
David Turner 429978bdca * include/freetype/internal/psaux.h,
src/cid/cidload.c, src/cidtoken.h,
          src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c,
          stc/type1/t1load.c, src/type1/t1tokens.h: updated common Postscript
          type definitions
2002-03-14 10:09:35 +00:00
David Turner b93b0f5f7d * include/freetype/internal/ftobjs.h,
src/base/ftapi.c, src/base/ftobjs.c: updated a few face method
          definitions:

            FT_PSName_Requester     => FT_Face_GetPostscriptNameFunc
            FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
            FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
2002-03-14 09:28:51 +00:00
David Turner ef3c12650e * include/freetype/internal/ftdriver.h,
include/freetype/internal/ftobjs.h,
          src/base/ftapi.c, src/base/ftobjs.c,
          src/cff/cffdrivr.c, src/cff/cffdrivr.h,
          src/cid/cidriver.c, src/cid/cidriver.h,
          src/pcf/pcfdriver.c, src/pcf/pcfdriver.h,
          src/truetype/ttdriver.c, src/truetype/ttdriver.h,
          src/type1/t1driver.c, src/type1/t1driver.h,
          src/winfonts/winfnt.c, src/winfonts/winfnt.h:
          updating the type definitions for font font drivers
2002-03-14 09:22:48 +00:00
David Turner becd3c5cb2 * include/freetype/internal/fnttypes.h, src/winfnt/*.c: updating
the type definitions of the Windows FNT font driver
2002-03-14 09:01:32 +00:00
David Turner ab4fc4da58 * include/freetype/internal/cfftypes.h, src/cff/*.c: updating the
type definitions of the CFF font driver

        (i.e. CFF_Font  => CFF_FontRec
              CFF_Font* => CFF_Font, etc...)
2002-03-14 08:57:10 +00:00
David Turner 9657ef0598 * include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
src/base/ftapi.c, src/base/ftobjs.c: updating the type definitions for
        the auto-hinter module.

        (i.e. FT_AutoHinter_Interface  => FT_AutoHinter_ServiceRec,
              FT_AutoHinter_Interface* => FT_AutoHinter_Service, etc..)
2002-03-14 08:49:59 +00:00
David Turner 329b3ce324 * include/freetype/config/ftoption.h: changed the automatic detection
of Microsoft C compilers to automatically support 64-bit integers only
        since revision 9.00 (i.e. >= Visual C++ 2.0)
2002-03-13 09:37:50 +00:00
Werner Lemberg 4ef4bdf066 * src/base/ftutil.c (FT_Realloc): Use MEM_Set instead of memset. 2002-03-07 23:22:28 +00:00
Werner Lemberg 0d9165e1d6 * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
* src/base/ftcalc.c (FT_MulFix): Ditto.
* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
* src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
CFF_GlyphSlot_Init): Ditto.
* src/cid/cidobjs.c (CID_GlyphSlot_Init,
CID_Size_Get_Globals_Funcs): Ditto.
* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
Ditto.
* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
variables.

* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
to...
(T1_Builder_FuncsRec): This.
(T1_Builder_Funcs): New typedef.
(PSAux_Interface): Remove compiler warnings.
* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
(t1_builder_funcs): Updated.

* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
(PSH_AlignmentRec): Updated.

* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
typo.
* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
* src/base/ftstream (FT_Get_Char): Rename to...
(FT_Stream_Get_Char): This.

* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
a built-in function in gcc, causing warning messages with gcc 3.0.
* src/autohint/ahglyph.c (ah_outline_load): Ditto.
* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
Ditto.
* src/cff/cffload.c (cff_new_index, cff_done_index,
cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
CFF_Done_Font): Ditto.
* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
* src/pshinter/pshalgo1.c (psh1_hint_table_record,
psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_table_record,
psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
TT_Get_PS_Name): Ditto.
* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
load_truetype_glyph): Ditto.
* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
2002-03-07 21:59:59 +00:00
David Turner 83b4a4b515 * include/freetype/freetype.h, include/freetype/internal/ftobjs.h,
src/base/ftobjs.c, src/base/ftinit.c: adding the new FT_Library_Version
        API to return the library's current version in dynamic links.
2002-03-06 12:42:34 +00:00
David Turner 4997097752 * src/pshinter/pshalgo2.c: changed 'print_zone' to 'psh2_print_zone'
* src/pshinter/pshalgo1.c: changed 'print_zone' to 'psh1_print_zone'
2002-03-06 12:39:12 +00:00
David Turner acfea4ddd9 * src/type1/t1objs.c (T1_Face_Init), src/cid/cidobjs.c (CID_Face_Init):
fixed another bug related to the ascender/descender/text height of
        Postscript fonts. Damn, this should have been fixed on 2002-03-04 !
2002-03-06 12:38:15 +00:00
Werner Lemberg 49bcf78d25 * src/pshinter/pshglob.h (PSH_DimensionRec): s/std/stdw/.
* src/pshinter/pshglob.c (psh_global_scale_widths,
psh_dimension_snap_width, psh_globals_destroy, psh_globals_new):
Ditto.
2002-03-06 06:05:56 +00:00
David Turner 28ea6f67c3 * src/sfnt/ttload.c (TT_Load_Names), src/sfnt/sfobjs.c (Get_Name),
src/sfnt/sfdriver.c (get_sfnt_postscript_name): Fixed the loader so
	that it accepts broken fonts like "foxjump.ttf", which made FreeType
	crash when trying to load them.

	Also improved the name table parser to be able to load
	Windows-encoded entries before Macintosh or Unicode ones, since it
	seems some fonts don't have reliable values here anyway.
2002-03-05 16:12:57 +00:00
David Turner fa0c8a70f6 * src/cid/cidriver.c (cid_get_postscript_name): fixed a bug that
caused the CID driver to return Postscript font names with a leading
        slash ("/") as in "/MOEKai-Regular"
2002-03-05 15:57:45 +00:00
David Turner 7d0f0bafab * src/type1/t1objs.c (T1_Face_Init),
src/cff/cffobjs.c (CFF_Face_Init),
          src/cid/cidobjs.c (CID_Face_Init):

            removing the bug that returned global BBox values in
            16.16 fixed format (instead of integer font units).
2002-03-05 15:55:28 +00:00
Werner Lemberg 8a9c0213d9 * builds/unix/aclocal.m4, builds/unix/ltmain.sh: Update to libtool
1.4.2.
Apply a small patch for AIX to make shared libraries work (this
patch is already in the CVS version of libtool).

* builds/unix/config.sub, builds/unix/config.guess: Updated to
recent versions.

* builds/unix/configure.ac: Fix typo
(AC_CONFIG_FILE->AC_CONFIG_FILES).

* builds/unix/configure: Regenerated.
2002-03-05 15:09:59 +00:00
David Turner bc82f1bbef * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
        into FT_LOCAL_DEF( xxxxx )
2002-03-01 02:26:22 +00:00
David Turner 041889e763 * include/freetype/freetype.h: changing version to 2.1.0 to indicate
an unstable branch. Added the declarations of FT_Get_First_Char and
        FT_Get_Next_Char

        * src/base/ftobjs.c: implemented FT_Get_First_Char and FT_Get_Next_Char
2002-02-28 19:28:26 +00:00
David Turner 1c9a3d335f changing patch level to 9 (FT_FREETYPE_PATCH)
adding FT_Get_First_Char and FT_Get_Next_Char
2002-02-28 19:25:50 +00:00
David Turner 29644179cc still more logical transformations. This time, some public API headers have
been touched, while keeping everything backwards-compatible..

        * include/freetype/t1tables.h: re-naming structure types. This done
        basically:

          typedef T1_Struct_
          {
          } T1_Struct;

        becomes:

          typedef PS_StructRec_
          {
          } PS_StructRec, *PS_Struct;

          typedef PS_StructRec  T1_Struct;  /* backwards-compatibility */


        hence, we increase the coherency of the source code by effectuively
        using the 'Rec' prefix for structure types..
2002-02-28 18:59:37 +00:00
David Turner c03d9cf5cd * src/sfnt/ttload.c (TT_Load_Names): simplifying and securing the
names table loader. Invalid individual name entries are now handled
        correctly. This allows the loading of very buggy fonts like
        "foxjump.ttf" without allocating tons of memory and causing crashes..
2002-02-27 23:10:19 +00:00
David Turner 53b3fa1da5 * renaming stream functions to the FT_Subject_Action scheme:
FT_Seek_Stream         => FT_Stream_Seek
          FT_Skip_Stream         => FT_Stream_Skip
          FT_Read_Stream         => FT_Stream_Read
          FT_Read_Stream_At      => FT_Stream_Read_At
          FT_Access_Frame        => FT_Stream_Enter_Frame
          FT_Forget_Frame        => FT_Stream_Exit_Frame
          FT_Extract_Frame       => FT_Stream_Extract_Frame
          FT_Release_Frame       => FT_Stream_Release_Frame
          FT_Get_XXXX            => FT_Stream_Get_XXXX
          FT_Read_XXXX           => FT_Stream_Read_XXXX

          note also that:

          FT_New_Stream( filename, stream ) =>
            FT_Stream_Open( stream, filename )

          (the function doesn't create the FT_Stream structure, it simply
           initializes it for reading)

          FT_New_Memory_Stream( library, FT_Byte*  base, size, stream ) =>
            FT_Stream_Open_Memory( stream, const FT_Byte* base, size )

          FT_Done_Stream => FT_Stream_Close

          note that the name of the stream methods, defined in
          "include/freetype/ftsystem.h" have also been changed without
          problems:

            FT_Stream_IO    => FT_Stream_IOFunc
            FT_Stream_Close => FT_Stream_CloseFunc
2002-02-24 05:26:57 +00:00
David Turner 4d57024d1c * moving all code related to glyph loaders to "internal/ftgloadr.h"
and "src/base/ftgloadr.c".

        Note also that the type "FT_GlyphLoader" is now a pointer to the
        structure "FT_GlyphLoaderRec"..
2002-02-24 02:59:24 +00:00
David Turner 4a23351091 renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP" 2002-02-24 02:39:08 +00:00
Werner Lemberg af8df8503f * include/freetype/internal/ftdebug.h (FT_Trace): Remove comma in
enum to avoid compiler warnings.
2002-02-22 00:58:04 +00:00
David Turner 222cec8c20 * include/freetype/internal/ftdebug.h, src/base/ftdebug.c: modified
the debug sub-system initialization. trace levels can now be specified
        within the "FT2_DEBUG" environment variable. See the comments within
        "ftdebug.c" for more details

        * include/freetype/internal/fttrace.h: new file to define the trace
        levels used for debugging. it is used both to define enums and
        toggle names for FT2_DEBUG

        * src/base/ftobjs.c, src/base/ftstream.c: FT_Assert renamed to
        FT_ASSERT

        * include/freetype/internal/ftextend.h, src/base/ftextend.c,
        src/base/Jamfile, src/base/rules.mk: removing "ftextend" from the
        library, since it is now completely obsolete..
2002-02-21 11:48:48 +00:00
Werner Lemberg 258951d7c5 * builds/unix/install.mk (check): New dummy target.
(.PHONY): Add it.
2002-02-20 00:55:59 +00:00
Werner Lemberg b5349a9b75 * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.
* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
to avoid compiler warning.
* src/cff/cffload.c (CFF_Get_String): Ditto.
* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
* src/psaux/psobjs.c (PS_Table_Done): Ditto.
* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
(pcf_get_bitmaps): The same for `sizebitmaps'.
* src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
`orig_y'.
(t1operator_seac): Comment out more dead code.
* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
conditional.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
conditional.
2002-02-19 16:30:15 +00:00
Werner Lemberg a7d2f5e1c0 * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
variables.
* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
of UNUSED.
* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
swapping code.
* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
* include/freetype/internal/ftobjs.h (UNUSED): Removed.
2002-02-19 01:12:23 +00:00
Werner Lemberg 66b3509bdd Add support for ISOLatin1 PS encoding.
* include/freetype/freetype.h (ft_encoding_latin_1): New tag
(`lat1').
* include/freetype/internal/t1types.h (T1_Encoding_Type): Add
`t1_encoding_isolatin1'.
* src/type1/t1driver.c (Get_Char_Index, Get_Next_Char): Handle
ft_encoding_latin_1.
* src/type1/t1load.c (parse_encoding): Handle `ISOLatin1Encoding'.
* src/type1/t1objs.c (T1_Face_Init): Handle `t1_encoding_isolatin1'.
2002-02-10 12:33:14 +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
David Turner 0a2c691030 setting PATH_LEVEL to 8
removing FT_Get_Next_Char from the API (for the 2.0.8 release)
2002-02-08 13:54:10 +00:00
Werner Lemberg 7d69560afb cleaning 2002-02-08 13:11:18 +00:00
David Turner 57b8fcacd3 adding comments to FT_Get_Next_Char 2002-02-08 10:50:12 +00:00
Werner Lemberg 60a1fab094 some cleaning 2002-02-08 06:23:50 +00:00
David Turner 5a902ec20f * src/pcf/pcfread.c (pcf_load_font): removed immature support of
the AVERAGE_WIDTH property..
2002-02-07 16:59:38 +00:00
David Turner 27f6a05ed5 support for embedded fonts in PDF documents. These
often do not have a 'cmap', 'post' and 'name' table and
were not loaded by FreeType previously..

(thanks to Derek B. Noonburgs from XPDF)
2002-02-06 13:59:25 +00:00
David Turner 0489328e97 fixing memory leak in the PCF driver, and managing the
"AVERAGE_WIDTH" property in PCF fonts to return correct
character pixel (width/height) pairs for embedded bitmaps..
2002-02-06 11:22:56 +00:00
Werner Lemberg 0f7c2f1aa5 Adding the function `FT_Get_Next_Char', doing the obvious thing
w.r.t. the selected charmap.

* include/freetype/freetype.h: Add prototype.
* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
typedef.
(FT_Driver_Class): Use it.
* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
typedef.
(PSNames_Interface): Use it.
* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
typedef.
(TT_CMapTable): Use it.

* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
high-level API.
* src/cff/cffdrivr.c (cff_get_next_char): New function.
(cff_driver_class): Add it.
* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
(t1cid_driver_class): Add it.
* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
(pcf_driver_class): Add it.
* src/psnames/psmodule.c (PS_Next_Unicode): New function.
(psnames_interface): Add it.
* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
functions.
(TT_CharMap_Load): Use them.
* src/truetype/ttdriver.c (Get_Next_Char): New function.
(tt_driver_class): Add it.
* src/type1/t1driver.c (Get_Next_Char): New function.
(t1_driver_class): Add it.
* src/winfnt/winfnt.c (FNT_Get_Next_Char): New function.
(winfnt_driver_class): Add it.

* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
Unicode and Latin 1 encodings.
2002-02-04 20:55:58 +00:00
Werner Lemberg 3604d5f558 * builds/unix/freetype-config.in: Add missing `fi'. 2002-02-02 15:05:38 +00:00
David Turner 4c40011140 increasing FREETYPE_PATCH to 7 2002-02-01 09:22:39 +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
Werner Lemberg b0e06e0b8b Fix ChangeLog. 2002-01-30 22:37:52 +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
David Turner 09c14ae7c8 fixed the "configure" script in the top-level directory..
It didn't work correctly when several arguments were passed
to it. For example, when typing:

  ./configure --disable-shared --prefix=/usr

the "--prefix=/usr" was incorrectly sent to the "make" program..
2002-01-29 18:13:54 +00:00
Werner Lemberg 12a8741e7b * README.UNX: Fix typo.
* builds/unix/install.mk (uninstall): Fix library name for libtool.
2002-01-29 01:11:23 +00:00
Werner Lemberg a9aa69c2c8 * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
the face object (face->toc.tables, face->root.family_name,
face->root.available_size, face->charset_encoding,
face->charset_registry are now freed).  Thanks to Niels Moseley.
2002-01-28 23:52:24 +00:00
Werner Lemberg 556ad08f03 * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
of `base' string for decrypting to not modify the original data.
2002-01-28 13:34:52 +00:00
Werner Lemberg e274290d71 * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
bad rendering of thin lines (less than one pixel thick).
2002-01-28 05:04:22 +00:00
Werner Lemberg 43071cb7f2 * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
actually.
2002-01-25 22:55:53 +00:00
Werner Lemberg 8880f2c14d * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
compilation warnings.
* src/base/descrip.mms (OBJS): Add `ftmm.obj'.
* src/cache/descrip.mms (ftcache.obj): Dependencies added.
2002-01-25 16:05:39 +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 9c8ee92050 * builds/win32/ftdebug.c: New file.
* builds/win32/visualc/freetype.dsp: Updated.

* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
* builds/amiga/README: Updated.
2002-01-19 02:20:45 +00:00
Werner Lemberg 5117ff0b73 * builds/win32/visualc/freetype.dsp: Updated. 2002-01-18 09:00:44 +00:00
Werner Lemberg 2f260409a4 * builds/unix/freetype2.a4: The script was still buggy.
* builds/unix/freetype-config.in: Make it really work for any install
prefix.
2002-01-13 06:36:02 +00:00
Werner Lemberg 51f245a615 * builds/unix/freetype2.a4: Fix some serious bugs. 2002-01-11 02:22:40 +00:00
Werner Lemberg 3975e2e1f5 Formatting. 2002-01-09 21:01:18 +00:00
David Turner db3ac3b360 small speed-up to the anti-aliased renderer 2002-01-09 10:48:25 +00:00
David Turner ce9a0441ad added 'configure' and 'install' wrapper scripts to make the
installation process more Unix-friendly :-)
2002-01-08 18:33:55 +00:00
David Turner 32ee45e09f fixed html quoting in DocMaker 2002-01-07 12:09:51 +00:00
David Turner 6096b5a11c updating documentation 2002-01-07 10:40:48 +00:00
David Turner 66f894e76c * include/freetype/config/ftoption.h: setting default options for
a release build (debugging off, bytecode interpreter off)
2002-01-07 10:05:34 +00:00
David Turner f86709a15b * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
        src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler
        warnings (in pedantic compilation modes)
2002-01-07 10:04:09 +00:00
Werner Lemberg ac812959bb formatting 2002-01-06 16:42:44 +00:00
David Turner f7f82d773b the TrueType glyph loader is now much more paranoid, this avoids
unpleasant overwrites in the case of invalid glyph data (found in
the output of buggy font converters)

the computation of auto-hinted stem widths has been modified to
avoid certain color fringes in LCD-decimation rendering (a.k.a.
"ClearType")
2002-01-06 10:13:40 +00:00
David Turner b1748d4044 added README.UNX for Unix users 2002-01-04 16:36:42 +00:00
David Turner 7fe38a5124 remove compiler warnings and a typo in builds/unix/ftsystem.c 2002-01-04 09:47:30 +00:00
Werner Lemberg 1a0a97938a * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
warning.
2002-01-03 22:06:13 +00:00
David Turner c48bf37bda * builds/unix/ftsystem.c (FT_New_Stream): added a fix to ensure that
all FreeType input streams are closed in child processes of a "fork"
        on Unix systems. This is important to avoid (potential) access
        control issues..
2002-01-03 17:08:20 +00:00
David Turner 662b344c23 * src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
library when dealing with certain weird fonts (like "Stalingrad",
        in "sadn.pfb". This font has no full font name entry.. )

        * src/base/ftoutln.c, include/freetype/ftoutln.h: added the
        FT_Outline_Check API to check the consistency of outline data

        * src/base/ftobjs.c (FT_Load_Glyph): added a call to the new
        FT_Outline_Check to ensure that loaded glyphs are valid. This
        allows certain fonts like "tt1095m_.ttf" to be loaded even though
        it appears they contain really funky glyphs..

        there still is a bug there though.. !!
2002-01-03 16:56:59 +00:00
Werner Lemberg d3a71dd4ac Formatting. 2001-12-31 16:04:26 +00:00
David Turner 1127b2bf3f improving the computation of the advance widths of auto-hinted glyphs,
in order to produce better letter spacing..
2001-12-30 01:30:11 +00:00
Antoine Leca fb009c7449 * builds/dos/detect.mk: Correcting the order for Borland compilers:
16-bit bcc was never selected, always overriden by 32-bit bcc32.
2001-12-25 20:54:33 +00:00
Werner Lemberg f891f91113 * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
and fix incorrect computation of `available_sizes'.
2001-12-23 01:38:53 +00:00
Werner Lemberg 3681e37db9 Formatting. 2001-12-23 00:56:36 +00:00
David Turner 9a9edc6624 fixing the autohinter: the advance of auto-hinted glyphs in mono-spaced fonts was incorrect 2001-12-22 16:07:52 +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
David Turner b5c7de5b37 * src/cff/cffgload.c: added a comment regarding "cntrmask" operator
* src/pshinter/pshrec.c: now ignores invalid "hintmask" and "cntrmask"
        operators (instead of returning an error). Glyph 2028 of the CFF font
        "MSung-Light-Acro" couldn't be rendered otherwise (it seems its
        charstring is buggy, though this requires more analysis)..
2001-12-21 21:21:13 +00:00
David Turner 7c0d20814a * src/cff/cffgload.c, src/psaux/t1decode.c, src/pshinter/pshrec.c,
src/pshinter/ahalgo2.c, src/pshinter/pshglob.h: fixed a bug where
        the X and Y axis where inversed in the postscript hinter. this
        caused problem when displaying on non-square surfaces..
2001-12-21 15:59:43 +00:00
David Turner 3a664fca14 * src/cid/cidobjs.c (CID_Face_Done): fixed a memory leak, the subrs
routines were never released when CID faces were destroyed
2001-12-21 15:26:19 +00:00
David Turner 79ea4cd40c * src/cid/cidobjs.c (CID_Face_Done): fixed a memory leak, the subrs
routines were never released when CID faces were destroyed
2001-12-21 15:20:48 +00:00
Werner Lemberg f05003dace Formatting. 2001-12-21 10:57:09 +00:00
David Turner 0515c09637 * src/pshinter/pshglob.c (psh_globals_new): replaced a floating point
constant with a fixed-float equivalent. For some reason, some compilers
        aren't capable of directly computing a floating pointer constant casted
        to FT_Fixed, and will link a math library instead !!
2001-12-21 04:16:42 +00:00
Werner Lemberg f41e71a199 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
Formatting.
2001-12-20 21:22:02 +00:00
Werner Lemberg 21e046e0c4 Formatting.
* src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
tracing strings.
* src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
ftc_family_table_free, FTC_Manager_Check): Ditto.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
2001-12-20 17:49:10 +00:00
David Turner 0f58446b3e disabling bytecode interpreter 2001-12-20 13:34:21 +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
David Turner 85eb669546 * src/type1/t1gload.c (T1_Load_Glyph): enable font matrix transform
on hinted glyphs..

        * src/cid/cidgload.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
        src/cid/cidriver.c, include/freetype/internal/t1types.h: added
        Postscript hinter support to the CID font driver !!
2001-12-20 09:36:21 +00:00
Werner Lemberg 0d535112fd Formatting.
CFF encoding tables moved back from cffload.c to cffload.h.
2001-12-19 22:26:12 +00:00
David Turner 4937a3ebd2 * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
(FT_Load_Glyph): "fixed" the bug that prevented embedded bitmaps from
        begin loaded when the auto-hinter is used.. This actually is a hack
        but will be enough until the internal re-design scheduled for
        FreeType 2.1
2001-12-19 21:09:16 +00:00
David Turner c40a7e2d50 * include/freetype/cache/ftcache.h: added comments to indicate that
some of the exported functions should only be used by applications
        that need to implement custom cache types

        * src/truetype/ttgload.c: fixed a nasty bug that prevent composites
        from loading correctly. Believe it or not, this was due to an invalid
        macro definition !!
2001-12-19 19:17:35 +00:00
David Turner 8772845cdb * src/sfnt/sfobjs.c (SFNT_Load_Face): make the "post" and "name"
tables optional to load PCL fonts properly
2001-12-19 14:59:23 +00:00
David Turner fc3a316441 * src/raster/ftrend1.c (ft_raster1_render): fixed a nasty outline
shifting bug in the monochrome renderer.

        * README: updated version numbers to 2.0.6
2001-12-19 14:47:28 +00:00
Werner Lemberg aef3fc816b * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
glyph header.
2001-12-17 16:21:22 +00:00
Werner Lemberg c2e97a3072 Updating/Formatting. 2001-12-16 23:53:39 +00:00
Werner Lemberg 5da9dd77f2 * src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning.
* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
already in ftcmanag.h.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
`gfam'.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
* ftc_family_table_free): Use FT_EXPORT_DEF.
* include/freetype/cache/ftcmanag.h: Updated.
* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
`cfam'.
Remove compiler warning.
(FTC_CMapCache_Lookup): Remove compiler warnings.
(ftc_cmap_family_init): Ditto.
(FTC_CMapCache_Lookup): Ditto.

* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
* builds/unix/configure: Regenerated.

* builds/mac/README: Updated.
2001-12-16 08:17:33 +00:00
David Turner 59c9fea654 * src/truetype/ttgload.c (load_truetype_glyph): fixing crash when dealing
with invalid fonts (i.e. glyph size < 10 bytes)..
2001-12-14 15:14:44 +00:00
David Turner 7a1e2c12bf * builds/mac/freetype.mac: a new Makefile to build with MPW on MacOS
classic..
2001-12-14 15:06:15 +00:00
David Turner bce2986d0d fixing hinted advance width bug in all font drivers 2001-12-14 14:52:58 +00:00
David Turner 2b30c17fd3 * src/pshint/pshglob.c: adding correct BlueScale/BlueShift support,
plus family blues processing

    * src/cff/cffgload.c: started adding support for the Postscript hinter
2001-12-12 16:07:29 +00:00
Werner Lemberg 2f5d1b76ca * builds/unix/freetype2.m4: Some portability fixes. 2001-12-12 15:15:44 +00:00
Werner Lemberg fa4ca88346 * src/base/descrip.mms (OBJS): Add ftdebug.obj. 2001-12-11 14:11:11 +00:00
Werner Lemberg 04bfe312a5 * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos. 2001-12-11 14:09:06 +00:00
David Turner 09feefee16 * src/base/fttrigon.c (FT_Cos): fixed a small bug that caused slightly
improper results for FT_Cos and FT_Sin (example: FT_Sin(0) == -1 !!)
2001-12-11 13:49:55 +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 7da4824dfb * include/freetype/internal/ftstream.h: fixed the definitions of
GET_LongLE and GET_ULongLE which where incorrect (creating problems
        in the pcf driver)..

        * INSTALL: updated the instructions to build shared libraries with
        Jam.. they were simply erroneous..
2001-12-11 13:14:41 +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 145f94cb26 added new charmap cache. see include/freetype/cache/ftccmap.h 2001-12-07 14:43:45 +00:00
Leonard Rosenthol 6b2e4d4e13 Noted my Mac OS changes from today 2001-12-07 01:51:48 +00:00
Werner Lemberg 69905a2f24 Fix ChangeLog. 2001-12-06 18:37:52 +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
David Turner 14183ea0f8 First of all, a big thanks to Werner and Antoine for their latest work !!
* src/pshinter/pshalgo2.c (psh2_hint_table_init),
      src/pshinter/pshalgo1.c (psh1_hint_table_init): removed compiler
      warnings

    * include/freetype/cache/*, src/cache/*: yet another massive rewrite of
    the caching sub-system, in order to both increase performance and allow
    simpler cache sub-classing. As an example, the code for the image and
    sbit caches is now much simpler

    I still need to update the documentation in www/freetype2/docs/cache.html
    to reflect the new design though..
2001-12-05 15:59:33 +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
Antoine Leca d0e6ad636f * include/freetype/ttnameid.h: Added some new Microsoft language
codes and LCIDs as found in MSDN (Passport SDK). Also added
comments about the meaning of bit 57 of OS/2 (TT_UCR_SURROGATES)
which with OpenType v.1.3 now means "there is a character beyond
FFFF in this font". Thanks to Detlef Wuerkner <TetiSoft@apg.lahn.de>
for noticing this.
2001-11-20 19:22:13 +00:00
David Turner f2c56515f5 * src/pshinter/{pshalgo2.c, pshalgo1.c}: fixed stupid bug in sorting
routine that created nasty alignment artefacts.

        * src/pshinter/pshrec.c, tests/gview.c: debugging updates..

        * src/smooth/ftgrays.c: de-activated experimental gamme support,
        apparently, "optimal" gamma tables depend on the monitor type,
        resolution and general karma, so it's better to compute them outside
        of the rasterizer itself..
2001-11-20 01:29:34 +00:00
David Turner adf07a930c * src/smooth/ftgrays.c: adding experimental "gamma" support. This
produces smoother glyphs at small sizes for very little cost

	* src/autohint/ahglyph.c, src/autohint/ahhint.c: various fixes to
	the auto-hinter. They merely improve the output of sans-serif fonts.
	Note that there are still problems with serifed fonts and composites
	(accented characters)

	* tests/gview.c: updated the debugging glyph viewer to show the
	hints generated by the "autohint" module
2001-10-30 23:51:24 +00:00
David Turner 75133bff1d fixed a small performance bug in the new cache sub-system implementation 2001-10-27 17:36:04 +00:00
Tom Kacvinsky 8d14d4729c Changed a minor typo. 2001-10-26 18:02:15 +00:00
Tom Kacvinsky 0805ec2589 Changed tjk@ams.org to tkacvins@freetype.org. 2001-10-26 18:01:32 +00:00
David Turner cd605b6302 _major_ re-design of the caching sub-system. Still using the same API
though :-)
2001-10-26 16:58:27 +00:00
Leonard Rosenthol 91ff42258e Added changes about MacOS stuff 2001-10-26 13:23:38 +00:00
Leonard Rosenthol 2f553a2c38 Added change about ftlib.prj 2001-10-25 16:04:24 +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
Tom Kacvinsky 40da4e401b * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `}'. 2001-10-24 14:45:15 +00:00
David Turner aa007cd2ed * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
improvements to the memory debugger to report more information in
	case of errors. Also, some allocations that occured through
	REALLOC couldn't be previously catched correctly..
2001-10-24 08:04:00 +00:00
David Turner 3a65746f1d replaced liberal uses of "memset" by the "MEM_Set" macro call
(some platforms don't provide this ANSI function !!)
2001-10-24 07:31:03 +00:00
David Turner 6e34ec93bc updating the debugging memory manager to run on Unix, VMS and
Amiga too (since they use a custom version of "ftsystem.c" !!)
2001-10-23 20:19:01 +00:00
David Turner 88cdbb34a2 removed bogus warnings 2001-10-22 15:24:32 +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
David Turner 869fc49017 Added a new debugging memory manager implementation. See the
FT_DEBUG_MEMORY macro definition in "ftoption.h", as well as the
file "src/base/ftdbgmem.c"
2001-10-22 08:32:21 +00:00
Tom Kacvinsky a006a0f5ec 2001-10-21 Tom Kacvinsky <tjk@ams.org>
* src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
        we are working with a CID keyed CFF font.  Otherwise, a variable
        that was never allocated memory might freed.  This is a correction
        to the previous patch for freeing subfonts.
2001-10-21 20:30:54 +00:00