/src/freetype/ChangeLog
https://bitbucket.org/cabalistic/ogredeps/ · #! · 4076 lines · 2728 code · 1348 blank · 0 comment · 0 complexity · 832c811345055c094e0e0cab5134e60b MD5 · raw file
Large files are truncated click here to view the full file
- 2012-03-08 Werner Lemberg <wl@gnu.org>
- * Version 2.4.9 released.
- =========================
- Tag sources with `VER-2-4-9'.
- * docs/CHANGES: Updated.
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.4.9.
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
- * builds/unix/configure.raw (version_info): Set to 14:1:8.
- 2012-03-08 Werner Lemberg <wl@gnu.org>
- [bdf] Add missing overflow check.
- * src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
- `glyph->bpr'.
- 2012-03-07 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation.
- * src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c,
- src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h,
- src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c,
- src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h,
- src\psaux\psauxerr.h, src\pshinter\pshnterr.h,
- src\psnames\psnamerr.h, src\raster\rasterrs.h, src\sfnt\sferrors.h,
- src\smooth\ftsmerrs.h, src\truetype\tterrors.h,
- src\type1\t1errors.h, src\type42\t42error.h, src\winfonts\fnterrs.h:
- Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
- 2012-03-03 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #35660.
- For some divisions, we use casts to 32bit entities. Always guard
- against division by zero with these casts also.
- * src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
- (FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
- (FT_DivFix): Add 32bit cast (this omission triggered the bug).
- 2012-03-03 Werner Lemberg <wl@gnu.org>
- [psaux] Fix handling of track kerning.
- * src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
- for `min_kern'. It is indeed quite common that track kerning
- *increases* spacing for very small sizes.
- 2012-03-02 Werner Lemberg <wl@gnu.org>
- [truetype] Fix Savannah bug #35689.
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
- point.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #35656.
- * src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
- of nibble characters instead of accessing `a2i' array.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [winfonts] Fix Savannah bug #35659.
- * src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #35658.
- * src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
- properly.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [psaux] Fix Savannah bug #35657.
- If in function `skip_spaces' the routine `skip_comment' comes to the
- end of buffer, `cur' is still increased by one, so we need to check
- for `p >= limit' and not `p == limit'.
- * src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
- PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [truetype] Fix Savannah bug #35646.
- * src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages. The
- code is now in sync with the other operators (e.g. MSIRP) which
- modify twilight points.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #35643.
- * src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
- comment before `_bdf_list_split', this is, really allocate at least
- five `field' elements.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #35641.
- * src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
- _BDF_ENCODING isn't set. We need this because access to the `glyph'
- variable might be undefined otherwise.
- 2012-03-01 Werner Lemberg <wl@gnu.org>
- [truetype] Fix Savannah bug #35640.
- * src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
- for NPUSHB and NPUSHW instructions.
- 2012-02-29 Werner Lemberg <wl@gnu.org>
- [truetype] Fix Savannah bug #35601.
- * src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
- last point for loop.
- Also remove redundant boundary check.
- 2012-02-29 Werner Lemberg <wl@gnu.org>
- [truetype] Remove redundant check.
- * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
- second check for ordered contour start points.
- 2012-02-29 Werner Lemberg <wl@gnu.org>
- [truetype] Make SHC instruction behave similar to MS rasterizer.
- * src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
- twilight zone.
- 2012-02-29 Alexei Podtelezhnikov <apodtele@gmail.com>
- Avoid modulo operators against a power-of-two denominator.
- * src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
- (ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
- <cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
- src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
- src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
- `&' operator.
- 2012-02-29 Werner Lemberg <wl@gnu.org>
- [autofit] Don't synchronize digit widths for light rendering mode.
- We don't hint horizontally in this mode.
- * src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
- Implement it.
- 2012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com>
- [type42] Minor code optimization (again).
- * src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
- 2012-02-26 Mateusz Jurczyk <mjurczyk@google.com>
- Werner Lemberg <wl@gnu.org>
- [smooth] Fix Savannah bug #35604.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
- instead of `FT_UInt' for some variables and update comparisons
- accordingly. A detailed analysis can be found in the bug report.
- 2012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com>
- [type42] Minor code optimization.
- * src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
- modulo operator.
- 2012-02-26 Werner Lemberg <wl@gnu.org>
- * docs/CHANGES: Updated.
- 2012-02-26 Werner Lemberg <wl@gnu.org>
- [type1] Fix Savannah bug #35608.
- * src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
- dictionaries.
- 2012-02-26 Werner Lemberg <wl@gnu.org>
- [bdf] Support `ENCODING -1 <n>' format.
- * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
- 2012-02-26 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #35607.
- * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
- negative encoding values.
- 2012-02-26 Werner Lemberg <wl@gnu.org>
- [type1] Fix Savannah bug #35606.
- * src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
- * src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
- only if cur < limit.
- 2012-02-25 Werner Lemberg <wl@gnu.org>
- [pcf] Fix Savannah bug #35603.
- * src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
- `strings' array.
- 2012-02-25 Werner Lemberg <wl@gnu.org>
- [type42] Fix Savannah bug #35602.
- * src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
- thoroughly.
- 2012-02-25 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bugs #35599 and #35600.
- * src/bdf/bdflib.c (ACMSG16): New warning message.
- (_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
- 2012-02-24 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bugs #35597 and #35598.
- * src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
- 2012-02-24 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (6/6).
- * src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
- * src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
- s/t1_init_loader/cid_init_loader/.
- s/t1_done_loader/cid_done_loader/.
- * src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
- * src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
- * src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
- 2012-02-24 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (5/6).
- * include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
- using it.
- 2012-02-22 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (4/6).
- * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
- RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
- * src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
- s/PRaster/black_PRaster/.
- * src/raster/ftraster.c: s/TRaster/gray_TRaster/,
- s/PRaster/gray_PRaster/.
- 2012-02-20 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (3/6).
- * src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
- s/PWorker/black_PWorker/.
- * src/raster/ftraster.c: s/TWorker/gray_TWorker/,
- s/PWorker/gray_PWorker/.
- 2012-02-20 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (2/6).
- * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
- CEILING, TRUNC, and SCALED before defining it.
- 2012-02-20 Vinnie Falco <vinnie.falco@gmail.com>
- Prepare source code for amalgamation (1/6).
- See discussion starting at
- http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
- * src/smooth/ftgrays.c: s/TBand/gray_TBand/.
- * src/raster/ftraster.c: s/TBand/black_TBand/.
- 2012-02-17 Alexei Podtelezhnikov <apodtele@gmail.com>
- [autofit] Fix outline flags.
- * src/autofit/afloader.c (af_loader_load_g): Don't reassign
- `outline.flags' so that this information is preserved. See
- discussion starting at
- http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
- 2012-02-11 Werner Lemberg <wl@gnu.org>
- [truetype] Fix Savannah bug #35466.
- Jump instructions are now bound to the current function. The MS
- Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
- * src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
- * src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
- * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
- bound of jump address.
- (Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
- 2012-02-11 Werner Lemberg <wl@gnu.org>
- We don't use `extensions'.
- * include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
- `extensions' field.
- 2012-02-11 Werner Lemberg <wl@gnu.org>
- Clean up `generic' fields.
- * include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
- Remove `generic' field since users can't access it.
- * src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
- advertised in the documentation of FT_Generic.
- (Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
- 2012-02-07 Werner Lemberg <wl@gnu.org>
- [autofit] Harmonize function arguments.
- * src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
- `load_flags'.
- 2012-02-07 Werner Lemberg <wl@gnu.org>
- * src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
- 2012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Fix Savannah bug #35286.
- Patch submitted by anonymous reporter.
- * src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
- gxv_set_length_by_ulong_offset() must be called with 3, not 4,
- the number of the subtables in the state tables; classTable,
- stateArray, entryTable.
- 2012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [raccess] Modify for PIC build.
- Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
- http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
- Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
- are renamed with `ft_' suffixes.
- * src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
- to `ft_raccess_rule_by_darwin_vfs()'.
- * src/base/ftobjs.c: Ditto.
- * src/base/ftrfork.c: Declarations of FT_RFork_Rule,
- raccess_guess_rec, are moved to...
- * include/freetype/internal/ftrfork.h: Here.
- * include/freetype/internal/ftrfork.h:
- FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
- to replace raccess_guess_table[] in both of PIC and non-PIC
- modes.
- * src/base/ftrfork.c: raccess_guess_table[] array is rewritten
- by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
- * src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
- storage. (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
- the function pointer from `ft_raccess_guess_table' storage in
- `BasePIC' structure.
- * src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
- FT_RACCESS_GUESS_TABLE_GET.
- (raccess_get_rule_type_from_rule_index): Add `library' as the
- first argument to the function, to retrieve the storage of
- `ft_raccess_guess_table' from it. Also `raccess_guess_table'
- is replaced by FT_RACCESS_GUESS_TABLE_GET.
- (ft_raccess_rule_by_darwin_vfs): Ditto.
- 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Remove trailing spaces.
- 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Formatting PIC related sources.
- * src/autofit/afpic.c: Harmonize to FT2 coding conventions.
- * src/base/basepic.c: Ditto.
- * src/base/ftpic.c: Ditto.
- * src/cff/cffpic.c: Ditto.
- * src/pshinter/pshpic.c: Ditto.
- * src/psnames/pspic.c: Ditto.
- * src/raster/rastpic.c: Ditto.
- * src/sfnt/sfntpic.c: Ditto.
- * src/smooth/ftspic.c: Ditto.
- * src/truetype/ttpic.c: Ditto.
- 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [autofit] Fix the inclusion of `aflatin2.h' in PIC file.
- * src/autofit/afpic.c: Include `aflatin2.h' when
- FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
- Unconditionally inclusion causes declared but unimplemented
- warning by GCC 4.6.
- 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
- * src/cff/cffpic.c: The declarations of
- FT_Init_Class_cff_cmap_encoding_class_rec() and
- FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
- They can be obtained by the inclusion of cffcmap.h.
- cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
- FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
- 2012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Fix redundant declaration warning in PIC mode.
- Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
- designed to declare xxx_pic_{free,init} by themselves.
- Because these macros are used at the end of the module
- interface (e.g. ttdriver.c) and the wrapper source to build
- a module as a single object (e.g. truetype.c) includes
- the PIC file (e.g. ttpic.c) before the module interface,
- these macros are expanded AFTER xxx_pic_{free,init} body
- when the modules are built as single object.
- The declaration after the implementation causes the redundant
- declaration warnings, so the declarations are moved to module
- PIC headers (e.g. ttpic.h). Separating to other header files
- are needed for multi build.
- * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
- Remove class_##_pic_free and class_##_pic_init declarations.
- * include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
- FT_DEFINE_MODULE): Ditto.
- * src/base/basepic.h: Insert a comment and fix coding style.
- * src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
- init}.
- * src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
- * src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
- init}.
- * src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
- init}.
- * src/raster/rastpic.h: Declare
- ft_raster{1,5}_renderer_class_pic_{free,init}
- * src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
- * src/smooth/ftspic.h: Declare
- ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
- * src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
- 2012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Make pspic.c to include module error header to fix multi build.
- * src/psnames/pspic.c: Include `psnamerr.h'.
- 2012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [base] Fix a dereference of uninitialized variable in PIC mode.
- * src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
- set before derefering to obtain `library'. The initialization
- of `clazz', `glyph', `library' and NULL pointer check are
- reordered to minimize PIC conditonals.
- 2012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [base] Insert explicit cast for GCC 4.6 in PIC mode.
- * src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
- configuration, FT_DEFAULT_MODULES_GET returns
- FT_Module_Class** pointer, GCC 4.6 warns that
- const FT_Module_Class* const* variable is warned as
- inappropriate to store it. To calm it, explicit cast is
- inserted. Also `library' is checked to prevent the NULL
- pointer dereference in FT_DEFAULT_MODULES_GET.
- 2012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
- Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
- take no arguments but derefer the variable named `library'
- internally.
- * src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
- set it if non-NULL driver is passed.
- * src/truetype/ttdriver.c (tt_get_interface): Ditto.
- * src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
- under PIC configuration, and set it if non-NULL module is given.
- * src/psnames/psmodule.c (psnames_get_interface): Ditto.
- 2012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Make PIC files include module error headers, to use the error codes
- with per-module prefix.
- * src/autofit/afpic.c: Include `aferrors.h'.
- * src/cff/cffpic.c: Include `cfferrs.h'.
- * src/pshinter/pshpic.c: Include `pshnterr.h'.
- * src/raster/rastpic.c: Include `rasterrs.h'.
- * src/sfnt/sfntpic.c: Include `sferrors.h'.
- * src/smooth/ftspic.c: Include `ftsmerrs.h'.
- * src/truetype/ttpic.c: Include `tterrors.h'.
- 2012-01-04 Tobias Ringström <tobias@ringis.se>
- [truetype] Fix IP instruction if x_ppem != y_ppem.
- * src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
- properly.
- 2012-01-02 Werner Lemberg <wl@gnu.org>
- Fix tracing message for `loca' table.
- * src/truetype/ttpload.c (tt_face_get_location): Don't emit a
- warning message if the last `loca' entry references an empty glyph.
- 2011-12-10 Werner Lemberg <wl@gnu.org>
- Add some variable initializations.
- Reported by Richard COOK <rscook@unicode.org>.
- * src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
- * src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
- earlier.
- 2011-12-08 Werner Lemberg <wl@gnu.org>
- Fix serious scaling bug in `FT_Get_Advances'.
- * src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
- `FT_Load_Glyph' must be simply multiplied by 1024.
- 2011-12-08 Werner Lemberg <wl@gnu.org>
- * src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
- 2011-12-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
- Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
- was a configurable macro to disable Carbon-dependent code. Because
- now configure script sets DARWIN_NO_CARBON by default and disables
- Darwin & Carbon-dependent codes, these macros can be unified.
- FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
- (defined by default) is removed, because DARWIN_NO_CARBON violates
- FT_XXX naming convention of public macros, and a macro configured by
- default is not portable for the building without configure (e.g.
- make devel).
- * builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
- old Mac font support is requested and Carbon is available.
- * builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
- for Mac OS X without Carbon (e.g. Mac OS X 10.4 for ppc64) is
- requested.
- * include/freetype/config/ftconfig.in: Ditto.
- * builds/vms/ftconfig.h: Ditto.
- * src/base/ftbase.h: Remove DARWIN_NO_CARBON.
- * src/base/ftbase.c: Ditto.
- * src/base/ftobjs.c: Ditto.
- * src/base/ftrfork.c: Ditto.
- * src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
- (same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
- * builds/mac/ftmac.c: Ditto.
- * builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
- * builds/mac/FreeType.m68k_far.make.txt: Ditto.
- * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
- * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
- 2011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Fix Savannah bug #34728 (`make devel' on Mac OS X).
- * builds/toplevel.mk: Check `/dev/null' to identify the Unix-
- like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
- * builds/unix/detect.mk: Ditto.
- 2011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [apinames] Fix the overflow of signed integer hash.
- * src/tools/apinames.c (names_add): Change the type of `h' from
- int to unsigned int, to prevent undefined behaviour in the
- overflow of signed integers (overflow of unsigned int is defined
- to be wrap around). Found by clang test suggested by Sean
- McBride.
- 2011-11-30 Werner Lemberg <wl@gnu.org>
- [winfonts] Remove casts.
- * src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
- update affected functions.
- (FNT_Size_Select): Fix number of arguments.
- 2011-11-30 Werner Lemberg <wl@gnu.org>
- [type42] Remove casts.
- * src/type42/t42driver.c (t42_driver_class): Remove all casts and
- update affected functions.
- * src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver
- changes.
- 2011-11-30 Werner Lemberg <wl@gnu.org>
- [type1] Remove casts.
- * src/type1/t1driver.c (t1_driver_class): Remove all casts and
- update affected functions.
- * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
- Updated for t1driver changes.
- src/type1/t1objs.h (T1_Driver): Remove unused typedef.
- Updated for t1driver changes.
- 2011-11-27 Werner Lemberg <wl@gnu.org>
- [bdf] Fix Savannah bug #34896.
- ENCODING now covers the whole Unicode range.
- Note, however, that this change is quite expensive since it
- increases the size of three arrays by almost 400kByte in total. The
- right fix is to replace the logic with something smarter.
- Additionally, there exist very old BDFs for three-byte CCCII
- encoding which exceeds the range of Unicode (another reason to have
- a smarter logic).
- * src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
- arrays.
- * src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
- 2011-11-27 Werner Lemberg <wl@gnu.org>
- [bdf] Improve tracing.
- * src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
- (_bdf_parse_glyphs): Use them.
- 2011-11-26 Werner Lemberg <wl@gnu.org>
- Improve tracing.
- * src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
- (PCF_Face_Done): Remove tracing message.
- * src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
- (cff_face_init), src/cid/cidobjs.c (cid_face_init),
- src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
- (sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
- src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
- (T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
- `greeting' message.
- * src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
- (T42_Open_Face): Improve tracing.
- 2011-11-26 Werner Lemberg <wl@gnu.org>
- [cid] Fix error code.
- * src/cid/cidparse.c (cid_parser_new): Do it.
- 2011-11-26 Werner Lemberg <wl@gnu.org>
- [cff] Fix error code.
- * src/cff/cffload.c (cff_font_load): Do it.
- 2011-11-26 Werner Lemberg <wl@gnu.org>
- Add new error code FT_Err_Missing_Module.
- Previously, FreeType misleadingly returned
- FT_Err_Unknown_File_Format if a module was missing (or a test was
- missing completely).
- * include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
- * src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
- (cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
- src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
- (tt_face_init), src/type1/t1objs.c (T1_Face_Init),
- src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
- * src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
- (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
- redundant test for `psaux'.
- 2011-11-25 Werner Lemberg <wl@gnu.org>
- [bdf] Add more error messages.
- * src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
- Add line number argument.
- Update all callers.
- (ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
- (_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
- _bdf_parse_glyphs, _bdf_parse_start): Add error messages.
- 2011-11-24 Werner Lemberg <wl@gnu.org>
- * include/freetype/fterrors.h: Remove dead code.
- 2011-11-15 Werner Lemberg <wl@gnu.org>
- * docs/releases: Updated.
- 2011-11-15 Werner Lemberg <wl@gnu.org>
- * Version 2.4.8 released.
- =========================
- Tag sources with `VER-2-4-8'.
- * docs/CHANGES: Updated.
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.4.8.
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
- * builds/unix/configure.raw (version_info): Set to 14:0:8.
- 2011-11-13 Chris Liddell <chris.liddell@artifex.com>
- Add FT_Get_PS_Font_Value() API.
- This allows a Type 1 font face to be interrogated to retrieve most
- of the dictionary keys (keys not relevant to FreeType's Type 1
- interpreter are not available).
- * include/freetype/internal/services/svpsinfo.h
- (PS_GetFontValueFunc): New typedef.
- (PSInfo): Add `ps_get_font_value'.
- (FT_DEFINE_SERVICE_PSINFOREC): Updated.
- * include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
- * include/freetype/t1tables.h: Here.
- (PS_Dict_Keys): New enumeration.
- (FT_Get_PS_Font_Value): New declaration.
- * src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
- * src/type1/t1driver.c (t1_ps_get_font_value): This new function
- does the real job.
- (t1_service_ps_info): Add it.
- * src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
- (cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
- Updated.
- 2011-11-08 Braden Thomas <bthomas@apple.com>
- [cid] Various loading fixes.
- * src/cid/cidload.c (cid_load_keyword) <default>,
- (parse_font_matrix, parse_expansion_factor): Correctly check number
- of dictionaries.
- (cid_read_subrs): Protect against invalid values of `num_subrs'.
- Assure that the elements of the `offsets' array are ascending.
- 2011-11-05 Werner Lemberg <wl@gnu.org>
- * README: We use copyright ranges also.
- According to
- http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
- this should be mentioned explicitly.
- 2011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [raccess] Supplement for previous fix.
- * src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
- it on native Mac OS X.
- * src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
- Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
- too.
- 2011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
- * src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
- compile on native Mac OS X because it is not used.
- 2011-10-25 Werner Lemberg <wl@gnu.org>
- [truetype] Fix MD instruction for twilight zone.
- * src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
- instruction applied to original coordinates of twilight points
- always returns zero.
- 2011-10-18 Werner Lemberg <wl@gnu.org>
- * Version 2.4.7 released.
- =========================
- Tag sources with `VER-2-4-7'.
- * docs/CHANGES: Updated.
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.4.7.
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
- * builds/unix/configure.raw (version_info): Set to 13:2:7.
- 2011-10-15 Kal Conley <kcconley@gmail.com>
- Fix handling of transformations if no renderer is present.
- * src/base/ftobjs.c (FT_Load_Glyph): Thinko.
- 2011-10-15 Kal Conley <kcconley@gmail.com>
- Fix conditions for autohinting.
- * src/base/ftobjs.c (FT_Load_Glyph): Handle
- FT_LOAD_IGNORE_TRANSFORM.
- 2011-10-07 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Fix a bug to detect too large offset in morx table.
- * src/gxvalid/gxvmorx2.c
- (gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
- that too large positive offset cannot be detected.
- 2011-10-01 Braden Thomas <bthomas@apple.com>
- Handle some border cases.
- * include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
- * src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
- value of `target->rows'.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
- flex start.
- * src/raster/ftrend1.c (ft_raster1_render): Check `width' and
- `height'.
- * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
- invalid values in `localpoints' array.
- 2011-10-01 Werner Lemberg <wl@gnu.org>
- [psnames] Handle zapfdingbats.
- Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>.
- * src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
- `zapfdingbats.txt' file.
- * src/psnames/pstables.h: Regenerated.
- 2011-09-27 Simon Bünzli <zeniko@gmail.com>
- Fix Savannah bug #34189.
- * src/type1/t1load.c (T1_Open_Face): Initialize
- `face->len_buildchar'.
- 2011-09-26 Werner Lemberg <wl@gnu.org>
- [cff] Dump SIDs while tracing.
- * src/cff/cffobjs.c (cff_face_init): Do it.
- * src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
- <cff_kind_string>: Identify as SID.
- 2011-09-17 Werner Lemberg <wl@gnu.org>
- Remove unused FT_ALIGNMENT macro.
- * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
- include/freetype/config/ftconfig.h: Do it.
- 2011-09-17 Alexei Podtelezhnikov <apodtele@gmail.com>
- [smooth] Slightly optimize conic and cubic flatterners.
- * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
- out some code from the main loop to speed it up.
- 2011-09-11 Tomas Hoger <thoger@redhat.com>
- Slightly improve LZW_CLEAR handling.
- * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
- Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
- handled as clear codes. This also re-sets old_code and old_char to
- predictable values, which is a little better than using `random'
- ones if the code following LZW_CLEAR is invalid.
- 2011-09-11 Tomas Hoger <thoger@redhat.com>
- Add explicit LZW decompression stack size limit.
- Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
- constructed correctly. It's even less than that, see e.g.
- libarchive code comment for a better size upper bound:
- http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
- This patch adds explicit stack size limit, enforced when stack is
- realloced.
- An alternative is to ensure that code < state->prefix[code - 256]
- when traversing prefix table. Such check is less efficient and
- should not be required if prefix table is constructed correctly in
- the first place.
- * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
- 2011-09-11 Tomas Hoger <thoger@redhat.com>
- Protect against loops in the prefix table.
- LZW decompressor did not sufficiently check codes read from the
- input LZW stream. A specially-crafted or corrupted input could
- create a loop in the prefix table, which leads to memory usage
- spikes, as there's no decompression stack size limit.
- * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
- code in valid LZW stream must be 0..255.
- <FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
- code > free_ent is invalid.
- 2011-09-09 Werner Lemberg <wl@gnu.org>
- Better tracing of metrics.
- * src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
- FT_TRACE.
- 2011-09-07 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #33816.
- * src/cff/cfftypes.h (CFF_FontRecDictRec): New member
- `has_font_matrix'.
- * src/cff/cffparse.c (cff_parse_font_matrix): Set it.
- Update tracing output.
- * src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
- can be removed.
- 2011-08-30 Werner Lemberg <wl@gnu.org>
- Better tracing of metrics.
- * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
- Decorate with FT_TRACE.
- 2011-08-25 Werner Lemberg <wl@gnu.org>
- [cff] Better tracing of the parsing process.
- * src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
- FT_TRACE.
- * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
- cff_parse_private_dict, cff_parse_cid_ros): Updated.
- (CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
- CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
- CFF_FIELD_DELTA): Add argument for ID.
- (cff_parser_run): Decorate with FT_TRACE.
- * src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
- `id' member.
- * src/cff/cfftoken.h: Add IDs to all fields.
- 2011-08-16 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #34022.
- * README, docs/INSTALL: Remove references to UPGRADE.UNIX.
- 2011-08-15 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #34018.
- * docs/UPGRADE.UNIX: Removed. Obsolete.
- 2011-08-15 David Bevan <david.bevan@pb.com>
- Fix Savannah bug #33992.
- * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
- 2011-08-12 Werner Lemberg <wl@gnu.org
- [truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
- * src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
- (Ins_SDPVTL): Handle v1 == v2 specially.
- 2011-08-09 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #33975.
- * src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
- 2011-07-29 Werner Lemberg <wl@gnu.org>
- * Version 2.4.6 released.
- =========================
- Tag sources with `VER-2-4-6'.
- * docs/CHANGES: Updated.
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.4.6.
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
- * builds/unix/configure.raw (version_info): Set to 13:1:7.
- 2011-07-29 Werner Lemberg <wl@gnu.org>
- [cff] Add some more tracing infos.
- * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
- cff_parse_cid_ros): Add tracing.
- 2011-07-22 Dirk Müller <dmueller@suse.de>
- [psaux, type1] Fix null pointer dereferences.
- Found with font fuzzying.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
- `decoder->buildchar'.
- * src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
- 2011-07-20 Chris Morgan <cmorgan@cybexintl.com>
- Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
- Useful for embedded systems which don't need file stream support.
- * src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
- it.
- 2011-07-20 Elton Chung <elton328@gmail.com>
- * src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
- 2011-07-16 Steven Chu <steven.f.chu@gmail.com>
- [truetype] Fix metrics on size request for scalable fonts.
- * src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
- from TT_Size to FT_Size if scalable font.
- See
- http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
- for some comparison images.
- 2011-07-14 Matthias Drochner <M.Drochner@fz-juelich.de>.
- [psaux] Fix potential sign extension problems.
- When shifting right a signed value, it is not defined by the
- C standard whether one gets a sign extension or not. Use a macro to
- do an explicit cast from a signed short (assuming that this is
- 16bit) to an int.
- * src/psaux/t1decode.c (Fix2Int): New macro.
- Use it where appropriate.
- 2011-07-14 Werner Lemberg <wl@gnu.org>
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_callothersubr>: Better handling of subroutine index 0.
- From Matthias Drochner <M.Drochner@fz-juelich.de>.
- 2011-07-10 Алексей Подтележников <apodtele@gmail.com>
- [psaux] Optimize previous commit.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_callothersubr>: Move error check down to avoid testing twice for
- good cases.
- 2011-07-08 Werner Lemberg <wl@gnu.org>
- [psaux] Add better argument check for `callothersubr'.
- * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
- <op_callothersubr>: Reject negative arguments.
- 2011-07-07 Werner Lemberg <wl@gnu.org>
- [sfnt] Try harder to find non-zero values for ascender and descender.
- * src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
- the `hhea' table's values are zero.
- 2011-07-03 Werner Lemberg <wl@gnu.org>
- Fix previous commit.
- We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
- strikes in the font.
- * src/truetype/ttobjs.c (tt_face_init): Implement it.
- * docs/CHANGES: Updated.
- 2011-07-02 Just Fill Bugs <mozbugbox@yahoo.com.au>
- Fix Savannah bug #33246.
- * src/truetype/ttobjs.c (tt_check_single_notdef): New function.
- (tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
- 2011-07-02 Werner Lemberg <wl@gnu.org>
- * docs/CHANGES: Updated.
- 2011-07-02 David Bevan <david.bevan@pb.com>
- [ftstroke] Major revision.
- The main problems
- -----------------
- o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
- joins (not bevel joins) were generated. Indeed, the meanings of
- `miter' and `bevel' were incorrectly reversed (consistently) in
- both the code and comments.
- o The way bevel joins were constructed (whether specified
- explicitly, or created as a result of exceeding the miter limit)
- did not match what is required for stroked text in PostScript or
- PDF.
- The main fixes
- --------------
- o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
- o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
- introduced to support PostScript and PDF miter joins.
- o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
- alias for FT_STROKER_LINEJOIN_MITER.
- Additionally, a variety of stroking errors have been fixed. These
- would cause various artifacts (including points `at infinity'),
- especially when stroking poor quality fonts.
- See
- http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
- for example documents. The FreeType stroker now produces results
- very similar to that produced by GhostScript and Distiller for these
- fonts.
- Other problems
- --------------
- The following problems have been resolved:
- o Inside corners could be generated incorrectly. Intersecting the
- inside corner could cause a missing triangular area and other
- effects.
- The intersection point can only be used if the join is between
- two lines and both lines are long enough. The `optimization'
- condition in `ft_stroker_inside' has been corrected; this
- requires the line length to be passed into various functions and
- stored in `FT_StrokerRec'.
- o Incorrect cubic curves could be generated. The angle
- calculations in `FT_Stroker_CubicTo' have been corrected to
- handle the case of the curve crossing the +/-PI direction.
- o If the border radius was greater than the radius of curvature of
- a curve, then the negative sector would end up outside (not
- inside) the border. This situation is now recognized and the
- negative sector is circumnavigated in the opposite direction.
- (If round line joins are being used, this code is disabled
- because the line join will always cover the negative sector.)
- o When a curve is split, the arcs may not join smoothly (especially
- if the curve turns sharply back on itself). Changes in
- direction between adjacent arcs were not handled. A round
- corner is now added if the deviation from one arc to the next is
- greater than a suitable threshold.
- o The current direction wasn't retained if a the outline contained
- a zero length lineto or a curve that was determined to be
- `basically a point'. This could cause a spurious join to be
- added.
- o Cubics with close control points could be mishandled. All eight
- cases are now distinguished correctly.
- Other improvements
- ------------------
- o Borders for cubic curves could be too `flat'.
- FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
- this.
- o The handling and use of movable points has been simplified a
- little.
- o Various values are now computed only if the results are actually
- needed.
- o The directions of the outer and inner borders have been swapped,
- as recommended by Graham Asher.
- * src/base/ftstroke.c: Revised.
- * include/freetype/ftstroke.h: Updated.
- 2011-06-30 İsmail Dönmez <ismail@namtrac.org>
- * builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
- 2011-06-29 Werner Lemberg <wl@gnu.org>
- Fix Savannah bug #33663.
- * src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
- ENCODING correctly.
- * docs/CHANGES: Document it.
- 2011-06-24 Werner Lemberg <wl@gnu.org>
- * Version 2.4.5 released.
- =========================
- Tag sources with `VER-2-4-5'.
- * docs/CHANGES: Updated.
- * docs/VERSION.DLL: Update documentation and bump version number to
- 2.4.5
- * README, Jamfile (RefDoc),
- builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
- builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
- builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
- builds/win32/visualc/freetype.dsp,
- builds/win32/visualc/freetype.vcproj,
- builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
- builds/win32/visualce/freetype.vcproj,
- builds/win32/visualce/index.html,
- builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2005-ce/index.html,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
- * builds/unix/configure.raw (version_info): Set to 13:0:7.
- 2011-06-20 Werner Lemberg <wl@gnu.org>
- * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
- from 2011-05-04.
- 2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] make the `prop' validation tracing verbose.
- * src/gxvalid/gxvprop.c: Add tracing messages for errors.
- 2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [autogen.sh] Reflect environment variable LIBTOOLIZE.
- 2011-06-18 Werner Lemberg <wl@gnu.org>
- Update license documentation.
- * docs/GPL.TXT: Renamed to...
- * docs/GPLv2.TXT: This.
- * docs/LICENSE.TXT: Updated.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- Fix g++4.6 compiler warnings in module drivers.
- The background is same with previous commit.
- * src/truetype/ttgxvar.c (ft_var_readpackedpoints):
- Init `points'. (TT_Vary_Get_Glyph_Deltas): Init
- `delta_xy'. (TT_Get_MM_Var): Init `mmvar'.
- * src/type1/t1load.c (T1_Get_MM_Var): Ditto.
- * src/cff/cffdrivr.c (cff_ps_get_font_info): Init
- `font_info'.
- * src/cff/cffload.c (cff_index_get_pointers): Init `t'.
- (cff_font_load): Init `sub'.
- * src/cff/cffobjs.c (cff_size_init): Init `internal'.
- (cff_face_init): Init `cff'.
- * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
- Init `snaps'.
- * src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
- (pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings):
- Init `tmpEncoding'.
- * src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
- * src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
- * src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
- * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
- `zip_buff'.
- * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
- * src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [base] Fix g++4.6 compiler warnings in src/base/*.c.
- Passing uninitialized pointer to FT_NEW() families is
- not problematic theoretically (as far as the returned
- pointer is checked before writing), but g++4.6 dislikes
- it and warns by -Wuninitialized. Initialize them by NULL.
- * src/base/ftobjs.c (FT_Stream_New): Init `stream'.
- (new_memory_stream): Ditto.
- (FT_New_GlyphSlot): Init `slot'.
- (FT_CMap_New): Init `cmap'.
- (open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
- (Mac_Read_POST_Resource): Init `pfb_data'.
- (Mac_Read_sfnt_Resource): Init `sfnt_data'.
- * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
- Init `offsets_internal' and `ref'.
- (raccess_guess_darwin_hfsplus): Init `newpath'.
- (raccess_guess_darwin_newvfs): Ditto.
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer):
- Init `buffer'.
- * src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Cleanup.
- Some invalid, overrunning, unrecommended non-zero values
- are cared in paranoid validation mode only. There are
- many lines looking like:
- if ( valid->root->level >= FT_VALIDATE_PARANOID )
- FT_INVALID_xxx;
- To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
- introduced for more paranoid validation in future.
- * src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
- New macro to assure valid->root->level is more or
- equal to FT_VALIDATE_PARANOID. (GXV_SET_ERR_IF_PARANOID):
- New macro to raise an error if in paranoid validation.
- * src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
- * src/gxvalid/gxvfeat.c: Ditto.
- * src/gxvalid/gxvjust.c: Ditto.
- * src/gxvalid/gxvkern.c: Ditto.
- * src/gxvalid/gxvmort.c: Ditto.
- * src/gxvalid/gxvmort0.c: Ditto.
- * src/gxvalid/gxvmort1.c: Ditto.
- * src/gxvalid/gxvmort2.c: Ditto.
- * src/gxvalid/gxvmorx1.c: Ditto.
- * src/gxvalid/gxvmorx2.c: Ditto.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
- * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
- Check different entries pointing same traking value.
- (gxv_trak_validate): Remove unused variable `table_size'.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
- * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
- Conditionalize unvalidated variable `subFeatureFlags'.
- (gxv_morx_chain_validate): Conditionalize unvalidated
- variable `defaultFlags'.
- * src/gxvalid/gxmorx0.c
- (gxv_morx_subtable_type0_entry_validate):
- Conditionalize unvalidated variables; `markFirst',
- `dontAdvance', `markLast', `verb'.
- * src/gxvalid/gxmorx1.c
- (gxv_morx_subtable_type1_entry_validate): Conditionalize
- unvalidated variables; `setMark', `dontAdvance'.
- * src/gxvalid/gxvmorx2.c
- (gxv_morx_subtable_type2_ligActionOffset_validate):
- Conditionalize unvalidated variables; `last', `store'.
- Checking for overrunning offset is added.
- (gxv_morx_subtable_type2_entry_validate):
- Conditionalize unvalidated variables; `setComponent',
- `dontAdvance', `performAction'.
- (gxv_morx_subtable_type2_ligatureTable_validate):
- Check if the GID for ligature does not exceed the
- max GID in `maxp' table.
- * src/gxvalid/gxvmort5.c
- (gxv_morx_subtable_type5_InsertList_validate):
- Conditionalize unvalidated loading of `insert_glyphID'
- array. (gxv_morx_subtable_type5_entry_validate):
- Conditionalize unvalidated variables; `setMark',
- `dontAdvance', `currentIsKashidaLike',
- `markedIsKashidaLike', `currentInsertBefore',
- `markedInsertBefore'.
- 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
- [gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
- * src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
- Conditionalize unvalidated variable `subFeatureFlags'.
- (gxv_mort_chain_validate): Conditionalize unvalidated
- variable `defaultFlags'.
- * src/gxvalid/gxmort0.c
- (gxv_mort_subtable_type0_entry_validate): Check the
- conflict of the marks for the glyphs.
- * src/gxvalid/gxmort1.c
- (gxv_mort_subtable_type1_offset_to_subst_validate):
- Local variables `min_gid', `max_gid' are replaced by
- variables in the validator.
- (gxv_mort_subtable_type1_entry_validate): Conditionalize
- unvalidated variables; `setMark', `dontAdvance'.
- (gxv_mort_subtable_type1_substTable_validate):
- Validate the GID by the min/max GIDs in the validator.
- * src/gxvalid/gxvmort2.c
- (gxv_mort_subtable_type2_ligActionOffset_validate):
- Conditionalize unvalidated variables; `last', `store'.
- Checking for overrunning offset is added.
- (gxv_mort_subtable_type2_ent…