Commit Graph

717 Commits

Author SHA1 Message Date
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