summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/ChangeLog')
-rw-r--r--Build/source/libs/freetype2/freetype-src/ChangeLog2913
1 files changed, 577 insertions, 2336 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/ChangeLog b/Build/source/libs/freetype2/freetype-src/ChangeLog
index 670e8480550..6450a60bea2 100644
--- a/Build/source/libs/freetype2/freetype-src/ChangeLog
+++ b/Build/source/libs/freetype2/freetype-src/ChangeLog
@@ -1,3 +1,579 @@
+2019-07-01 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.10.1 released.
+ ==========================
+
+
+ Tag sources with `VER-2-10-1'.
+
+ * docs/VERSION.TXT: Add entry for version 2.10.1.
+
+ * README, Jamfile (RefDoc), src/base/ftver.rc,
+ builds/windows/vc2010/freetype.vcxproj,
+ builds/windows/vc2010/index.html,
+ builds/windows/visualc/freetype.dsp,
+ builds/windows/visualc/freetype.vcproj,
+ builds/windows/visualc/index.html,
+ builds/windows/visualce/freetype.dsp,
+ builds/windows/visualce/freetype.vcproj,
+ builds/windows/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.10.0/2.10.1/, s/2100/2101/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+
+ * builds/unix/configure.raw (version_info): Set to 23:1:17.
+ * CMakeLists.txt (VERSION_PATCH): Set to 1.
+
+ * include/freetype/fterrors.h (FT_Error_String): Fix C++ compilation.
+
+2019-06-26 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Fix inequality.
+
+ Reported by Armin Hasitzka.
+
+2019-06-16 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/apinames.c: Formatting, minor edits.
+
+2019-06-16 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Disable hinting if no blue zones are available (#56450).
+
+ * src/autofit/afglobal.c (af_face_global_get_metrics): Start again
+ (with dummy hinter module) if no blue zones are present.
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_blues): Change
+ signature to return error code.
+ If no blue zones are found, update `glyph_styles' array to hold
+ AF_STYLE_NONE_DFLT instead of the current style.
+ (af_latin_metrics_init): Return internal error code if no blue zones
+ are found.
+
+2019-06-16 Werner Lemberg <wl@gnu.org>
+
+ Towards better VMS support.
+
+ More to come.
+
+ * builds/vms/LIBS.OPT_IA64, builds/vms/_LINK.OPT_IA64,
+ builds/vms/vmslib.dat: New files provided by Jouk Jansen
+ <joukj@hrem.nano.tudelft.nl>.
+
+ * builds/vms/ftconfig.h: Update, also from Jouk.
+
+2019-06-13 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/aflatin.c (af_latin_metrics_init_widths): Minor.
+
+2019-06-13 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Restore the span buffering for direct mode only.
+
+ The buffer size FT_MAX_GRAY_SPANS is set to 10 spans, which should be
+ enough to cover the entire scanline for simple glyphs in most cases:
+ each slightly slanted edge needs up to two spans, plus a filling span
+ in-between. This is not new, we used to do it before cb4388783cecc.
+
+ * src/smooth/ftgrays.c (gray_TWorker): Add `spans' and `num_spans'.
+ (gray_hline, gray_sweep): Implement the span buffering.
+ (gray_raster_render): Use negative `num_spans' to avoid the direct
+ mode.
+
+2019-06-12 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * include/freetype/ftmodapi.h (FT_DebugHook_Func): Return error.
+
+ Fix a warning by adding a return value as in `TT_RunIns',
+ which should not be a compatibility issue.
+
+2019-06-11 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/truetype/ttobjs.c (tt_check_trickyness_family): Add `const'.
+
+2019-06-11 Moazin Khatti <moazinkhatri@gmail.com>
+
+ [gzip] Add support for `gzip' encoded header.
+
+ * src/gzip/ftgzip.c (FT_Gzip_Uncompress): Modify the the call to
+ `inflateInit2' to enable support for `gzip' encoded headers.
+
+2019-06-10 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [type1,type42] Use `const' for string literals.
+
+ * include/freetype/internal/psaux.h (PS_Table_FuncsRec): Updated.
+ * include/freetype/internal/t1types.h (T1_EncodingRec): Updated.
+ * src/psaux/psobjs.[ch] (ps_table_add): Updated.
+ * src/type1/t1load.c (T1_Open_Face, parse_encoding): Updated.
+ * src/type42/t42objs.c (T42_Open_Face): Updated.
+ * src/type42/t42parse.c (t42_parse_encoding): Updated.
+
+ * src/cff/cffobjs.c (cff_face_init): Minor.
+
+2019-06-10 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [bdf,pcf] Use `const' for string literals.
+
+ * src/bdf/bdf.h (bdf_property_t): Updated `name'.
+ * src/bdf/bdflib.c (_bdf_list_split,bdf_create_property,
+ _bdf_add_property,_bdf_ato*): Updated.
+ * src/bdf/bdfdrivr.c (bdf_interpret_style): Updated.
+ * src/pcf/pcfread.c (pcf_intrpret_style): Ditto.
+
+2019-06-07 Philip Race <philip.race@oracle.com>
+
+ * src/base/ftinit.c (FT_Set_Default_Properties): Fix crash.
+
+ Terminate loop at end of environment.
+
+2019-05-31 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ Solidify VC2005 builds.
+
+ * include/freetype/internal/ftcalc.h (FT_MSB) [_MSC_VER]: Explicitly
+ declare `_BitScanReverse' intrinsic.
+ * builds/windows/visualc/freetype.vcproj [Debug]: Disable intrinsics.
+
+2019-05-30 Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>
+
+ [sfnt] Separate WOFF sources and headers.
+
+ Move WOFF sources and headers to separate files.
+
+ * include/freetype/internal/wofftypes.h, src/sfnt/sfwoff.c,
+ src/sfnt/sfwoff.h: New files.
+
+ * include/freetype/internal/fttrace.h: Register `sfwoff.c'.
+
+ * include/freetype/internal/internal.h: Define
+ FT_INTERNAL_WOFF_TYPES_H.
+
+ * include/freetype/internal/sfnt.h: Include FT_INTERNAL_WOFF_TYPES_H.
+
+ * include/freetype/internal/tttypes.h: Move out WOFF structures.
+
+ * src/sfnt/rules.mk: Add `sfwoff.c'.
+
+ * src/sfnt/sfnt.c: Include `sfwoff.c'.
+
+ * src/sfnt/sfobjs.c: Include `sfwoff.h', move out WOFF sources.
+
+2019-05-30 Werner Lemberg <wl@gnu.org>
+
+ [base] Fix `make multi'.
+
+ Reported by Nikhil.
+
+ * src/base/fterrors.c: Include FT_INTERNAL_DEBUG_H.
+
+2019-05-29 Ben Wagner <bungeman@google.com>
+
+ [truetype] Fix copy-and-paste error (#56409).
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Use correct indices
+ into `unrounded' array for phantom points.
+
+2019-05-29 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Fix 32bit builds (#56404).
+
+ Patch suggested by Ben Wagner <bungeman@google.com>.
+
+ * src/truetype/ttgxvar.c (FT_fixedToInt, FT_fixedToFdot6): Remove
+ harmful cast to unsigned type.
+
+2019-05-26 Ben Wagner <bungeman@google.com>
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Improve accuracy.
+
+2019-05-23 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Draw glyphs without deltas in variation font (#56374).
+
+ * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Always fill
+ `unrounded' array.
+
+2019-05-21 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (opcode_name): Improve mnemonics.
+
+2019-05-16 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Actually scale varied CVT values.
+
+ Up to now, only the unscaled CVT values were varied; in other words,
+ the `CVAR' data was never used for bytecode hinting.
+
+ * src/truetype/ttgxvar.c (tt_cvt_ready_iterator): New auxiliary
+ function.
+ (tt_face_vary_cvt): Use it to trigger rescaling of CVT values.
+
+2019-05-16 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Use 26.6 format for storing unscaled CVT values.
+
+ If `CVAR' data is applied to variation fonts, fractional values are
+ possible.
+
+ * include/freetype/internal/tttypes.h (TT_FaceRec): Change type of
+ `cvt' from `FT_Short' to `FT_Int32'.
+
+ * src/truetype/ttgxvar.c (FT_fdot6ToFixed): New macro.
+ (tt_face_vary_cvt): Use it to update code to 26.6 format.
+
+ * src/truetype/ttobjs.c (tt_size_run_prep): Update code to 26.6
+ format.
+
+ * src/truetype/ttpload.c (tt_face_load_cvt): Stora data in 26.6
+ format.
+
+2019-05-16 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Init `unrounded'.
+
+ This fixes linear advance width values for spacing glyphs. Bug
+ introduced 2019-05-09.
+
+2019-05-16 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Avoid code duplication.
+
+ * src/truetype/ttobjs.c (tt_size_run_prep): Scale CVT values in this
+ function.
+ (tt_size_ready_bytecode): Updated.
+ * src/truetype/ttgload.c (tt_loader_init): Updated.
+
+2019-05-13 Jouk Jansen <joukj@hrem.nano.tudelft.nl>
+
+ * vms_make.com: Updated. Handle `bzip2' directory, too.
+
+2019-05-13 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psfont.c (cf2_font_setup): Fix compiler warning.
+
+2019-05-12 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Doh. Fix last commit to make it work.
+
+ Very embarassing :-)
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14701
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14705
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14710
+
+ * src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): Move up and add
+ argument; update all callers.
+ (TT_Process_Simple_Glyph): Use it. The `unrounded' array is active
+ for variation fonts only, thus also enclose related code with
+ `#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT ... #endif' where
+ necessary.
+ Revert commit a113e5d from 2019-05-09, and don't use `extra_points2'
+ but allocate a temporary array.
+ Speed up the scaling of the `unrounded' array.
+
+ * src/truetype/ttgxvar.c (FT_fixedToInt, FT_FixedToFdot6): Fix type
+ conversions and rounding. The unsigned type must have more or equal
+ bits to the signed type.
+
+2019-05-09 Werner Lemberg <wl@gnu.org>
+
+ [truetype] Increase precision of font variation (#54371).
+
+ This patch makes FreeType use font units in 26.6 format internally
+ instead of integers.
+
+ * src/truetype/ttgxvar.c (FT_fixedToFdot6): New macro.
+ (TT_Vary_Apply_Glyph_Deltas): Add argument to output unrounded font
+ coordinates.
+ * src/truetype/ttgxvar.h: Updated.
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Use
+ `extra_points2' array to temporarily hold unrounded point
+ coordinates; use them to compute scaled coordinates and linear
+ advance width and height.
+ (load_truetype_code): Adjust similarly.
+
+2019-05-09 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Minor.
+
+2019-05-08 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Faster fractions.
+
+ * src/smooth/ftgrays.c (SUBPIXELS): Replace with...
+ (FRACT): A fractional coordinate macro to use in...
+ (gray_render_line, gray_render_scanline): ... here.
+
+2019-05-07 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/raster/ftraster.c (Draw_Sweep): Unbreak.
+
+2019-05-05 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/raster/ftraster.c: Clean-ups.
+
+2019-05-05 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgxvar.c: More use of `FT_fdot14ToFixed'.
+
+2019-05-04 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (gray_render_line): Small shortcut.
+
+2019-05-04 Werner Lemberg <wl@gnu.org>
+
+ Various clang 8.0 static analyzer fixes.
+
+ Reported by Sender Ghost <lightside@gmx.com>.
+
+ * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Catch a corner
+ case where `edge->first' could be NULL.
+
+ * src/pfr/pfrobjs.c (pfr_slot_load): Remove unnecessary test of
+ `size'.
+
+ * src/raster/ftraster.c (Draw_Sweep): Catch a corner case where
+ `draw_right' might be NULL.
+
+ * src/sfnt/ttmtx.c (tt_face_get_metrics): Fix limit test for
+ `aadvance'.
+ Ensure `abearing' always hold a meaningful result.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Ensure `subglyph' is
+ not NULL before accessing it.
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Remove unnecessary
+ test of `namedstyle'.
+
+ * src/type42/t42parse.c (t42_parser_done): Ensure
+ `parser->root.funcs.done' is not NULL before accessing it.
+
+2019-05-03 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ Miscellaneous macro updates.
+
+ * src/base/ftoutln.c (SCALED): Updated.
+ * src/smooth/ftgrays.c (SCALED): Ditto.
+ (FLOOR, ROUND, CEILING): Removed.
+ * src/psaux/psfixed.h (cf2_fracToFixed): Updated.
+
+2019-05-02 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ Tweak LCD filtering.
+
+ * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
+ Choose direction from bitmap's pixel_mode.
+ * include/freetype/internal/ftobjs.c (FT_Bitmap_LcdFilterFunc):
+ Updated.
+ * src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated.
+
+2019-05-02 Werner Lemberg <wl@gnu.org>
+
+ * vms_make.com: Updated (#56253).
+
+ Remove no longer existing directories (`autohint', `otlayout').
+ Update used base extensions.
+ Activate `autofit' module.
+ Add `gxvalid' module.
+ Update copyright notices.
+
+2019-04-29 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Simplify cubic Bézier flattening.
+
+ The previous implementation is correct but it is too complex.
+ The revised algorithm is based on the fact that each split moves
+ the control points closer to the trisection points on the chord.
+ The corresponding distances are good surrogates for the curve
+ deviation from the straight line.
+
+ This cubic flattening algorithm is somewhat similar to the conic
+ algorithm based the distance from the control point to the middle of
+ the chord. The cubic distances, however, decrease less predictably
+ but are easy enough to calculate on each step.
+
+ The new algorithm produces slightly larger number of splits, which is
+ compensated by its simplicity. The overall rendering performance is
+ improved by 1-2%. The larger number of splits does not necessarily
+ result in higher quality, which stays comparable.
+
+ * src/smooth/ftgrays.c (gray_render_cubic): Replace the split
+ condition.
+
+2019-04-26 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Bithacks and cosmetics.
+
+ * src/smooth/ftgrays.c (gray_record_cell, gray_set_cell, gray_hline,
+ gray_render_conic, gray_convert_glyph_inner): Updated.
+
+2019-04-25 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ Optimize Bézier bisections.
+
+ This change makes bisections faster by 20-30%. When inlined into
+ `gray_render_cubic', this makes the function faster by 10% and is
+ noticeable in the overall rendering performance.
+
+ * src/raster/ftraster.c (Split_Conic, Split_Cubic): Use shifts and
+ refactor.
+ * src/smooth/ftgrays.c (gray_split_conic, gray_split_cubic): Ditto.
+ * src/base/ftstroke.c (ft_conic_split, ft_cubic_split): Ditto.
+ * src/base/ftbbox.c (cubic_peak): Use shifts.
+
+2019-04-23 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap.c (tt_cmap12_next): Remove dead code.
+
+ Found by clang 8.0's static analyzer and reported by Sender Ghost
+ <lightside@gmx.com>.
+
+2019-04-23 Werner Lemberg <wl@gnu.org>
+
+ [base] Fix thinko in previous commit.
+
+ * src/base/ftbitmap.c (FT_Bitmap_Blend): Check final width, not
+ target pitch.
+
+ Problem reported by Sender Ghost <lightside@gmx.com>.
+
+2019-04-22 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Blend): Check target pitch.
+
+ Problem reported by Sender Ghost <lightside@gmx.com>.
+
+2019-04-22 Werner Lemberg <wl@gnu.org>
+
+ Fix return value of `FT_Set_Named_Instance' (#56186).
+
+ * src/truetype/ttgxvar.c (TT_Set_Named_Instance): Correctly handle
+ internal return value -1 of `TT_Set_Var_Design'.
+
+2019-04-18 Werner Lemberg <wl@gnu.org>
+
+ [pcf] Fix handling of undefined glyph (#56067).
+
+ This commit fixes the changes from 2018-07-21, which broke charmap
+ iteration. We now add the default character as a new glyph with
+ index 0, thus increasing the number of glyphs by one (as before).
+
+ * src/pcf/pcfread.c (pcf_get_metrics): Adjust to new artificial
+ glyph with index 0.
+ Limit number of elements to 65534.
+ (pcf_get_bitmaps): Ditto.
+ Unify two loops into one; this avoids allocation of an intermediate
+ array.
+ (pcf_get_encodings): Don't flip indices but copy glyph metrics of
+ default character to index 0.
+ Also handle invalid default character.
+
+ * docs/CHANGES: Updated.
+
+2019-04-15 Minmin Gong <gongminmin@msn.com>
+
+ * CMakeLists.txt: Avoid rewriting of unchanged configuration files.
+
+ Reported as
+
+ https://savannah.nongnu.org/patch/index.php?9755
+
+2019-04-15 JDG <JonathanG@iQmetrix.com>
+
+ * src/tools/apinames.c (main): Fix error message.
+
+ Reported as
+
+ https://savannah.nongnu.org/patch/?9796
+
+2019-04-11 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [smooth] Fix segfault in direct mode (#56092).
+
+ * src/base/ftoutln.c (FT_Outline_Render): Set missing clip_box for
+ direct mode.
+ * src/smooth/ftgrays.c (gray_raster_render): Use it.
+
+2019-04-06 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/ttcmap.c (tt_get_glyph_name): Pacify compiler (#56061).
+
+ This is for Visual Studio 2019 on ARM.
+
+2019-04-06 Werner Lemberg <wl@gnu.org>
+
+ For distribution, replace `.tar.bz2' with `.tar.xz' bundles.
+
+ * builds/toplevel.mk (build): Do it.
+
+ * README, docs/CHANGES, docs/release: Updated.
+
+2019-04-06 Antony Lee <anntzer.lee@gmail.com>
+
+ Make `glyph_name' parameter to `FT_Get_Name_Index' a `const'.
+
+ * include/freetype/freetype.h (FT_Get_Name_Index),
+ include/freetype/internal/ftobjs.h (FT_Face_GetGlyphNameIndexFunc),
+ include/freetype/internal/services/svgldict.h
+ (FT_GlyphDict_NameIndexFunc), src/base/ftobjs.c (FT_Get_Name_Index),
+ src/cff/cffdrivr.c (cff_get_name_index), src/sfnt/sfdriver.c
+ (sfnt_get_name_index), src/type1/t1driver.c (t1_get_name_index),
+ src/type42/t42drivr.c (t42_get_name_index): Add `const' to second
+ argument.
+
+2019-03-31 Armin Hasitzka <prince.cherusker@gmail.com>
+
+ [cff] Fix boundary checks.
+
+ 642bc7590c701c8cd35a9f60fa899cfa518b17ff introduced dynamically
+ allocated memory when parsing CFF files with the "old" engine. Bounds
+ checks have never been updated, however, leading to pointless
+ comparisons of pointers in some cases. This commit presents a
+ solution for bounds checks in the CFF module with an extended logic
+ for the "old" engine while staying as concise as possible for the
+ "new" one.
+
+ * src/cff/cffparse.h: Introduce the struct `CFF_T2_StringRec' and
+ the additional field `t2_strings' within `CFF_ParserRec'.
+
+ * src/cff/cffparse.c (cff_parser_within_limits): Move all boundary
+ checks into this new function and update the rest of `cffparse.c' to
+ use it.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12137
+
+2019-03-20 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Fix Mongolian blue zone characters.
+
+ * src/autofit/afblue.dat: Use U+200D (ZERO-WIDTH JOINER) characters
+ to get medial forms for some Mongolian characters.
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+2019-03-19 Werner Lemberg <wl@gnu.org>
+
+ [autofit] Add support for Mongolian script.
+
+ As a de-facto standard, layouts using this script are constructed
+ horizontally line by line, then the lines are rotated clockwise for
+ vertical display.
+
+ * src/autofit/afblue.dat: Add blue zone data for Mongolian.
+ * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+ * src/autofit/afscript.h: Add Mongolian standard characters.
+
+ * src/autofit/afranges.c, src/autofit/afstyles.h: Add Mongolian
+ data.
+
2019-03-15 Werner Lemberg <wl@gnu.org>
* Version 2.10.0 released.
@@ -2525,2345 +3101,10 @@
src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h:
Removed.
-2018-05-01 Werner Lemberg <wl@gnu.org>
-
- * Version 2.9.1 released.
- =========================
-
-
- Tag sources with `VER-2-9-1'.
-
- * docs/VERSION.TXT: Add entry for version 2.9.1.
- * docs/CHANGES: Updated.
-
- * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
- src/base/ftver.rc, builds/windows/vc2005/index.html,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2008/index.html,
- builds/windows/vc2010/freetype.vcxproj,
- builds/windows/vc2010/index.html,
- builds/windows/visualc/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualc/index.html,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualce/freetype.vcproj,
- builds/windows/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.9/2.9.1/, s/29/291/.
-
- * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
-
- * builds/unix/configure.raw (version_info): Set to 22:1:16.
- * CMakeLists.txt (VERSION_PATCH): Set to 1.
-
- * include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
-
-2018-04-26 Werner Lemberg <wl@gnu.org>
-
- Another fix for handling invalid format 2 cmaps.
-
- Sigh.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
- an endless loop.
-
-2018-04-24 Ben Wagner <bungeman@google.com>
-
- [base] Avoid undefined behaviour in lcd filtering code (#53727).
-
- * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
- Ensure `height > 0'.
-
-2018-04-22 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
-
-2018-04-22 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [base] Fix bitmap emboldening.
-
- Bug introduced after release 2.8.
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
- `FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the
- bitmap copying code to take care of this fact.
-
-2018-04-22 Werner Lemberg <wl@gnu.org>
-
- Another fix for handling invalid format 2 cmaps.
-
- The previous commit was incomplete.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
- an endless loop.
-
-2018-04-19 Werner Lemberg <wl@gnu.org
-
- [autofit] Add support for Georgian Mtavruli characters.
-
- This will be part of the forthcoming Unicode 11.0.
-
- * src/autofit/afblue.dat: Add blue zone data for Mtavruli.
- * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
-
- * src/autofit/afscript.h: Add Mtavruli standard character.
-
-2018-04-18 Werner Lemberg <wl@gnu.org>
-
- Fix handling of invalid format 2 cmaps.
-
- The problem was introduced after the last release.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
-
-2018-04-17 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow issues.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
-
- * src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
-
-2018-04-16 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow issues.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
-
- * src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
-
-2018-04-15 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Use `info' function of make 3.81.
-
- * configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
- docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
-
- * builds/detect.mk (std_setup): Replace `echo' with `info'.
- (dos_setup): Removed.
- * builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
- builds/windows/detect.mk, builds/os2/detect.mk: Updated.
- * builds/newline: No longer needed.
-
-2018-04-15 Werner Lemberg <wl@gnu.org>
-
- [truetype]: Limit `SLOOP' bytecode argument to 16 bits.
-
- This fixes
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
-
- * src/truetype/ttinterp.c (Ins_SLOOP): Do it.
-
-2018-04-14 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow issues.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
-
- * src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
-
-2018-04-14 Werner Lemberg <wl@gnu.org>
-
- [autofit] Update to Unicode 11.0.0.
-
- But no support new scripts (volunteers welcomed).
-
- * src/autofit/afranges.c (af_arab_nonbase_uniranges,
- af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
- af_deva_nonbase_uniranges, af_geor_uniranges,
- af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
- af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
- af_hani_uniranges): Add new data.
-
-2018-04-10 Nikolaus Waxweiler <madigens@gmail.com>
-
- * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
- modernization measures.
-
- This brings up the minimum required CMake version to 2.8.12.
-
- The installation paths follow the GNU defaults now, e.g. installing on a
- 64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
-
- Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
-
- CMake will no longer look for a C++ compiler.
-
- Library and .so version now match the Autotools build.
-
- Comments in the build file and informational messages now use platform
- agnostic example commands.
-
- ftoption.h and ftconfig.h are written directly without a redundant `-new'
- copy.
-
- External dependencies are expressed as option()s and will turn up as such
- in cmake-gui.
-
- Internal: Properties such as dependencies and include directories are now
- privately set on the freetype library instead of globally.
-
- The CPack definitions have been cleaned up, the `make dist' has been
- removed. Source packages generated with CPack don't contain Autotools
- files and aren't used by the maintainers anyway.
-
- On Windows, src/base/ftver.rc is compiled to decorate the library with
- version and copyright information.
-
- A pkg-config file is now generated and installed.
-
-2018-04-09 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow issues.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
-
- * src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
- ADD_LONG and SUB_LONG.
-
-2018-04-06 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [windows, wince] Clean up legacy project files.
-
- * builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/visualce/freetype.vcproj,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
-
-2018-04-04 Werner Lemberg <wl@gnu.org>
-
- [cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
-
- * src/cff/cffload.c (cff_load_private_dict): Sanitize
- `priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
- on.
-
- * src/type1/t1load.c (T1_Open_Face): Ditto.
-
-2018-04-04 Ben Wagner <bungeman@google.com>
-
- * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
- `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
- (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
- in above.
-
-2018-04-01 Werner Lemberg <wl@gnu.org>
-
- * builds/toplevel.mk (work): Use $(SEP).
-
- This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
- platform, and this program only understands backslashes in paths.
-
- Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
-
-2018-03-30 Werner Lemberg <wl@gnu.org>
-
- [truetype] Fix memory leak (only if tracing is on).
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
- it.
-
-2018-03-23 Ben Wagner <bungeman@google.com>
-
- [sfnt] Correctly handle missing bitmaps in sbix format (#53404).
-
- * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
-
-2018-03-23 Ben Wagner <bungeman@google.com>
-
- [truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
-
- * src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
- for empty bitmaps.
-
-2018-03-22 Werner Lemberg <wl@gnu.org>
-
- Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
-
- builds/amiga/makefile, builds/amiga/makefile.os4,
- builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
- builds/mac/FreeType.m68k_far.make.txt,
- builds/mac/FreeType.ppc_carbon.make.txt,
- builds/mac/FreeType.ppc_classic.make.txt,
- builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
- builds/wince/vc2008-ce/freetype.vcproj,
- builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2010/freetype.vcxproj,
- builds/windows/vc2010/freetype.vcxproj.filters,
- builds/windows/visualc/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
-
-2018-03-13 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
- overflow.
-
-2018-03-13 Werner Lemberg <wl@gnu.org>
-
- Fix cmap format 2 handling (#53320).
-
- The patch introduced for #52646 was not correct.
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
-
-2018-03-10 Nikolaus Waxweiler <madigens@gmail.com>
-
- * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
-
-2018-03-09 Chun-wei Fan <fanc999@yahoo.com.tw>
-
- * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
-
- Do not limit DLL builds to MinGW, since we already have
- `__declspec(dllexport)' directives in `ftconfig.h'.
- Also suppress more warnings for POSIX functions.
-
-2018-03-08 Hugh McMaster <hugh.mcmaster@outlook.com>
-
- Make installation of `freetype-config' optional (#53093).
-
- * builds/unix/configure.raw: Add option `--enable-freetype-config'
- and set `INSTALL_FT2_CONFIG'.
- * builds/unix/unix-def.in (INSTALL_FT2_CONFIG): Define.
- * builds/unix/install.mk (install): Handle it.
-
-2018-03-05 Werner Lemberg <wl@gnu.org>
-
- Make `ftlcdfil.c' part of the `base' module.
-
- `ftobjs.c' needs `ft_lcd_padding'.
-
- Problem reported by duhuanpeng <548708880@qq.com>.
-
- * modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
-
- * src/base/ftbase.c: Include `ftlcdfil.c'.
- * src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
- * src/base/Jamfile (_sources): Adjusted.
-
- * docs/INSTALL.ANY: Updated.
-
-2018-03-05 Werner Lemberg <wl@gnu.org>
-
- Make `ftfntfmt.c' part of the `base' module.
-
- `ftobjs.c' needs `FT_Get_Font_Format'.
-
- Problem reported by duhuanpeng <548708880@qq.com>.
-
- * modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
-
- * src/base/ftbase.c: Include `ftfntfmt.c'.
- * src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
- * src/base/Jamfile (_sources): Adjusted.
-
- * docs/INSTALL.ANY: Updated.
-
-2018-03-01 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
-
-2018-02-23 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
-
- Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
-
-2018-02-17 Werner Lemberg <wl@gnu.org>
-
- [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
-
-2018-02-06 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow issues.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
-
- * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
- SUB_LONG; avoid FT_ABS.
-
-2018-02-04 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [unix] Use -fvisibility=hidden.
-
- It is now widely recommended that ELF shared libraries hide symbols
- except those with explicit __attribute__((visibility("default"))).
- This is supported by all major compilers and should rather be an
- option in libtool.
-
- * builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
- * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
- include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
- attribute.
-
-2018-01-27 Werner Lemberg <wl@gnu.org>
-
- [truetype] Better protection against invalid VF data.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
-
- Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
-
- * src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
- `normalizedcoords'.
-
-2018-01-27 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
-
-2018-01-27 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
-
-2018-01-27 Werner Lemberg <wl@gnu.org>
-
- [truetype] Better trace VF instances.
-
- * src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
- of coordinates.
- (TT_Get_MM_Var): Trace instance indices names.
- (TT_Set_Var_Design): Updated.
-
-2018-01-27 Werner Lemberg <wl@gnu.org>
-
- [truetype] Beautify tracing of VF axis records.
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
- table-like manner.
-
-2018-01-26 Ben Wagner <bungeman@google.com>
-
- [truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
- `face->blend->num_axis' in case we have to initialize the
- `face->blend'.
-
-2018-01-23 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [apinames] Anonymous version map for GNU linker.
-
- * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
- (OutputFormat): Add `OUTPUT_GNU_VERMAP'.
- (names_dump): Handle it.
- (usage): Updated.
- (main): Handle new command line flag `-wL'.
-
-2018-01-21 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [unix] Call libtool to clean up.
-
- * builds/unix/install.mk (clean_project_unix, distclean_project_unix):
- Use libtool.
- * builds/freetype.mk: Minor.
-
-2018-01-18 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * src/base/ftver.rc: Fix mingw-w64 compilation.
-
-2018-01-18 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Enable VERSIONINFO resource for Cygwin/MinGW.
-
- * builds/unix/configure.raw: Check for resource compiler.
- * builds/unix/unix-cc.in: Conditionally set up resource compiler.
- * builds/freetype.mk: Add conditional rule for `ftver.rc'.
- * src/base/ftver.rc: Copyright notice and year update.
-
-2018-01-18 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Move VERSIONINFO resource.
-
- * builds/windows/vc2010/freetype.vcxproj: Updated.
- * builds/windows/ftver.rc: Move file from here...
- * src/base/ftver.rc: ... to here.
-
-2018-01-12 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Expand dllexport/dllimport to Cygwin/MinGW.
-
- * include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
- s/_MSC_VER/_WIN32/.
- * builds/unix/ftconfig.in: Replicate here.
- * builds/vms/ftconfig.h: Replicate here.
-
-2018-01-12 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Improve and document MSVC build.
-
- * include/freetype/config/ftconfig.h: Guard dllexport/dllimport
- attributes with _DLL and FT2_DLLIMPORT.
- * builds/windows/vc2010/index.html: Update documentation.
-
-2018-01-10 Steve Robinson <ssrobins@gmail.com>
-
- * CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
-
-2018-01-10 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Correctly handle Flex features (#52846).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
- cf2_cmdHMOVETO>: Do not move if doing Flex.
-
-2018-01-09 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * builds/windows/vc2010/freetype.sln: Synchronize with the project.
-
-2018-01-08 Werner Lemberg <wl@gnu.org>
-
- * Version 2.9 released.
- =======================
-
-
- Tag sources with `VER-2-9'.
-
- * docs/VERSION.TXT: Add entry for version 2.9.
-
- * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
- builds/windows/vc2005/index.html,
- builds/windows/vc2008/freetype.vcproj,
- builds/windows/vc2008/index.html,
- builds/windows/vc2010/freetype.vcxproj,
- builds/windows/vc2010/index.html,
- builds/windows/visualc/freetype.dsp,
- builds/windows/visualc/freetype.vcproj,
- builds/windows/visualc/index.html,
- builds/windows/visualce/freetype.dsp,
- builds/windows/visualce/freetype.vcproj,
- builds/windows/visualce/index.html,
- builds/windows/ftver.rc,
- 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.8.1/2.9/, s/281/29/.
-
- * include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
- (FREETYPE_PATCH): Set to 0.
-
- * builds/unix/configure.raw (version_info): Set to 22:0:16.
- * CMakeLists.txt (VERSION_PATCH): Set to 0.
-
-2018-01-07 Werner Lemberg <wl@gnu.org>
-
- Add check for librt, needed for `ftbench' (#52824).
-
- * builds/unix/configure.raw (LIB_CLOCK_GETTIME): Define; this will
- hold `-lrt' if necessary.
-
- * builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
-
-2018-01-07 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Fix Type 1 glyphs with too many stem hints.
-
- According to the CFF specification, charstrings can have up to 96 stem
- hints. Due to hint replacement routines in Type 1 charstrings, some
- glyphs are rejected by the Adobe engine, which implements the above
- limit. This fix turns off hinting for such glyphs.
-
- * src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
- `cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
- hinting.
-
-2018-01-06 Werner Lemberg <wl@gnu.org>
-
- Add `FT_Done_MM_Var'.
-
- This is necessary in case the application's memory routines differ
- from FreeType. A typical example is a Python application on Windows
- that calls FreeType compiled as a DLL via the `ctypes' interface.
-
- * include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
- and define.
-
- * docs/CHANGES: Updated.
-
-2018-01-03 Werner Lemberg <wl@gnu.org>
-
- [truetype] Round offsets of glyph components only if hinting is on.
-
- * src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
- it.
-
-2018-01-03 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
-
- This is a better fix than the previous commit, which is now
- reverted.
-
-2018-01-03 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- Move internal LCD-related declarations.
-
- * include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
- Move from here...
- * include/freetype/internal/ftobjs.h: ... to here.
-
-2018-01-03 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
- [_MSC_VER]: Limit Visual C++ attributes.
-
-2018-01-03 Werner Lemberg <wl@gnu.org>
-
- [truetype] Make blend/design coordinate round-tripping work.
-
- Behdad reported that setting blend coordinates, then getting design
- coordinates did incorrectly return the default instance's
- coordinates.
-
- * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
-
-2017-12-31 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
-
-2017-12-31 Werner Lemberg <wl@gnu.org>
-
- Synchronize other Windows project files.
-
- * builds/windows/*: Add missing files.
-
-2017-12-31 Werner Lemberg <wl@gnu.org>
-
- Update Visual C 2010 project files.
-
- Problem reported by Hin-Tak.
-
- * builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
- `ftcid.c'.
- Sort entries.
- * builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
- Fix members of `FT_MODULE' group.
-
-2017-12-30 Werner Lemberg <wl@gnu.org>
-
- * builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
-
-2017-12-28 Werner Lemberg <wl@gnu.org>
-
- * builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
-
- Reported by Nikolaus.
-
-2017-12-27 Werner Lemberg <wl@gnu.org>
-
- Fix compiler warnings.
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
- `new_pitch' unsigned.
-
- * src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
-
-2017-12-27 Werner Lemberg <wl@gnu.org>
-
- Fixes for `make multi'.
-
- * include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
- (ps_property_get): Harmonize declaration with corresponding
- function typedef.
-
- * include/freety[e/internal/fttrace.h: Add `trace_psprops'.
-
- * src/base/ftpsprop.c: Include necessary header files.
- (FT_COMPONENT): Define.
- (ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
- (ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
- Harmonize declaration with corresponding function typedef.
-
-2017-12-27 Werner Lemberg <wl@gnu.org>
-
- Provide support for intra-module callback functions.
-
- This is needed especially for `make multi' with C++.
-
- * include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
- FT_BASE_CALLBACK_DEF): New macros.
-
-2017-12-25 Ewald Hew <ewaldhew@gmail.com>
-
- Move PostScript drivers' property handlers to `base'.
-
- This reduces the amount of duplicated code across PostScript
- drivers.
-
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
- ({cff,cid,t1}_property_{get,set}): Moved to...
- * include/freetype/internal/ftpsprop.h: ...this new file.
- (ps_property_{get,set}): New functions to replace moved ones.
-
- * src/base/ftpsprop.c: New file that implements above functions.
-
- * include/freetype/internal/internal.h
- (FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro.
-
- * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c:
- Updated.
-
- * src/base/Jamfile, src/base/rules.mk (BASE_SRC), src/base/ftbase.c:
- Updated.
-
-2017-12-20 Werner Lemberg <wl@gnu.org>
-
- Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
-
- We exit early if the current design or blend coordinates are
- identical to the new ones.
-
- * src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
- Implement it, returning internal error code -1 if there will be no
- variation change.
-
- * src/type1/t1load.c (t1_set_mm_blend): Ditto.
-
- * src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
- FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
-
-2017-12-18 Werner Lemberg <wl@gnu.org>
-
- [sfnt] Fix charmap type 2 iterator (#52646).
-
- The subsetted demo font of the report that exhibits the bug has a
- very unusual type 2 cmap for Unicode(!): It contains only two
- sub-headers, one for one-byte characters (covering the range 0x20 to
- 0xFA), and a second one for higher byte 0x01 (just for character
- code U+0131).
-
- Before this commit, the iterator wasn't able to correctly handle a
- sub-header for higher byte 0x01.
-
- * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
- for outer loop.
-
-2017-12-18 Matthias Clasen <matthias.clasen@gmail.com>
-
- [truetype] Fix clamping, minor tracing code beautification.
-
- * src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
- design coordinates.
- Use clamped value.
-
-2017-12-18 Werner Lemberg <wl@gnu.org>
-
- * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
-
-2017-12-18 Werner Lemberg <wl@gnu.org>
-
- * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
-
-2017-12-18 Werner Lemberg <wl@gnu.org>
-
- [truetype] Fix previous commit.
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
- unhinted phantom points, which must be properly scaled.
-
-2017-12-18 Werner Lemberg <wl@gnu.org>
-
- [truetype] Don't apply HVAR and VVAR deltas twice (#52683).
-
- * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
- `pp1' to `pp4', except if we have an HVAR and/or VVAR table.
-
- * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
- alternative code branch identically w.r.t. presence of an HVAR
- and/or VVAR table.
-
-2017-12-17 Jonathan Kew <jfkthame@gmail.com>
-
- [truetype] Correctly handle variation font phantom points (#52683).
-
- * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
- point indices.
-
-2017-12-17 Jonathan Kew <jfkthame@gmail.com>
-
- Fix incorrect advance width scaling (#52683).
-
- * src/base/ftadvance.c (FT_Get_Advances): Always respect the
- FT_LOAD_NO_SCALE flag if present.
-
-2017-12-16 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
- * objs/.gitignore: Ignore almost everything.
-
-2017-12-11 Werner Lemberg <wl@gnu.org>
-
- Fix compiler warning (#52640).
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
- variable.
-
-2017-12-08 Azzuro <azzuro@team-mediaportal.com>
-
- * builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
-
- This allows builds with different configurations in parallel.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- Fix `make setup dos', second try (#52622).
-
- * builds/detect.mk (dos_setup): Don't use literal `>' character at
- all. Mixing the different escaping rules from make, dos, and
- windows is too fragile.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- [docmaker] Fix code section parsing.
-
- Stuff like
-
- {
- <bla>
- }
-
- confused the parser, which incorrectly treated `<bla>' as a markup
- tag.
-
- * src/tools/docmaker/content.py (ContentProcessor::process_content):
- Apply `re_markup_tags' only outside of code sections.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- New `ftdriver.h' file, covering all driver modules.
-
- This reduces redundancy and increases synergy; it also reduces the
- number of header files.
-
- * include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
- (FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
- FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
- FT_DRIVER_H.
-
- * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
- include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
- include/freetype/ftttdrv.h: Replaced with...
- * include/freetype/ftdriver.h: ...this new file.
- (FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
- (FT_HINTING_ADOBE): ... this new macro.
- (FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
- (FT_HINTING_FREETYPE): ... this new macro.
-
- * src/*/*: Updated accordingly.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- Move `ftdriver.h' to `ftdrv.h'.
-
- * include/freetype/internal/ftdriver.h: Renamed to...
- * include/freetype/internal/ftdrv.h: ... this name.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
- Updated.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- Fix access to uninitalized memory (#52613).
-
- Also reported as
-
- https://bugs.chromium.org/p/chromium/issues/detail?id=791317
-
- * src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
- bitmap size needs a larger bitmap buffer, assure that the new memory
- areas are initialized also.
-
-2017-12-08 Werner Lemberg <wl@gnu.org>
-
- Fix `make setup dos' (#52622).
-
- * builds/detect.mk (dos_setup): Properly escape literal `>'
- character.
-
-2017-12-07 Werner Lemberg <wl@gnu.org>
-
- Fix C++ compilation.
-
- * src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
-
-2017-12-07 Werner Lemberg <wl@gnu.org>
-
- Fix `make multi'.
-
- * include/freetype/internal/fttrace.h: Remove unused tracing macros.
- s/pshalgo2/pshalgo/.
- Add `trace_cffdecode'.
- * src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
-
- * src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- * src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
- FT_SERVICE_CFF_TABLE_LOAD_H.
-
- * src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
-
- * src/psaux/cffdecode.c: Include FT_FREETYPE_H and
- FT_INTERNAL_DEBUG_H.
- (FT_COMPONENT): Define.
- * src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- * src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
- Declare `cff_builder_funcs' and `ps_builder_funcs'.
- * src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
- * src/psaux/psobjs.c : Include `psauxmod.h'.
-
-2017-12-07 Werner Lemberg <wl@gnu.org>
-
- * include/freetype/config/ftheader.h: Some clean-up.
-
- This commit removes documentation of deprecated macros and does some
- minor streamlining.
-
-2017-12-06 Werner Lemberg <wl@gnu.org>
-
- * builds/symbian/bld.inf: Updated.
-
-2017-12-06 Werner Lemberg <wl@gnu.org>
-
- New header file `ftparams.h' that collects all parameter tags.
-
- * include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
- macro.
- (FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
- `ftparams.h'.
-
- * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
- include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
- include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
- FT_PARAMETER_TAGS_H.
- Move FT_PARAM_TAG_XXX definitions to...
- * include/freetype/ftparams.h: ...this new file.
-
- * include/freetype/ttunpat.h: Remove. No longer needed.
-
-2017-12-05 Werner Lemberg <wl@gnu.org>
-
- Improve tracing messages by using singular and plural forms.
-
- * src/*/*.c: Implement it.
-
-2017-12-04 Werner Lemberg <wl@gnu.org>
-
- [truetype] Allow shared points in `cvar' table (#52532).
-
- * src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
- and adjusting the corresponding code from
- `TT_Vary_Apply_Glyph_Deltas'.
-
-2017-11-28 Werner Lemberg <wl@gnu.org>
-
- [truetype] Improving tracing of composite glyphs.
-
- * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
- [FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
-
-2017-11-27 Werner Lemberg <wl@gnu.org>
-
- [type1] Allow (again) `/Encoding' with >256 elements (#52464).
-
- In version 2.6.1, this has been disallowed to better reject
- malformed fonts; however, this restriction was too strong. This
- time, we only take the first 256 elements into account, since
- encoding arrays are always accessed with a 8bit integer, according
- to the PostScript Language Reference.
-
- * src/type1/t1load.c (parse_encoding): Implement it.
-
-2017-11-27 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-
- Fix last commit (#52522).
-
- * builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
- properly if we have `ftoption.h' in `BUILD_DIR'.
-
-2017-11-24 Werner Lemberg <wl@gnu.org>
-
- [unix] Install a massaged `ftoption.h' file (#51780).
-
- * builds/unix/configure.raw (ftoption_set, ftoption_unset): New
- auxiliary functions to construct...
- (FTOPTION_H_SED): ... this new variable.
- Apply it as a sed argument while copying `ftoption.h' to the
- `builds/unix' directory (using `AC_CONFIG_FILES').
- Simplify code of test that checks cpp's computation of bit length
- (the test previously created an empty `ftoption.h' file and deleted
- it immediately afterwards); without this change, it can happen on my
- GNU/Linux box that `configure's execution of `config.status' doesn't
- create `ftoption.h' (no idea why this happens).
-
- * builds/unix/install.mk (install): Install
- `builds/unix/ftoption.h'.
-
- * builds/unix/unix-def.in (DISTCLEAN): Updated.
-
- * builds/unix/.gitignore: Updated.
-
-2017-11-23 Tor Andersson <tor.andersson@artifex.com>
-
- Silence unused function warnings (#52465).
-
- Some static function declarations cause unused function warnings if
- certain config options are turned off via `ftoption.h'.
-
- * src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
- src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
-
-2017-11-22 Ewald Hew <ewaldhew@gmail.com>
-
- * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
-
-2017-11-22 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Fix CFF advance widths. (#52466)
-
- Glyph advance widths were being written to the new `PS_Decoder' but not
- saved to the underlying format specific decoder. This caused pure CFF
- fonts to have bad advance width.
-
- * include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
- field to pointer.
- Remove unused fields.
- * src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
- to reference.
- Remove unused.
- * src/psaux/psft.c (cf2_setGlyphWidth): Update code.
-
-2017-11-15 Vlad Tsyrklevich <vtsyrklevich@google.com>
-
- * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
-
-2017-11-14 Nikolaus Waxweiler <madigens@gmail.com>
-
- Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
-
- Since Ewald Hew factored the Adobe hinting engine out of the CFF
- driver code, we can now use it on Type 1 (and CID) font formats, as
- both have the same hinting philosophy.
-
- This change activates the Adobe hinter when in LIGHT mode, and
- therefore always unless explicitly asking for the auto-hinter. This
- makes LIGHT behavior consistent with CFF fonts. As of this commit,
- the hinting engine table looks as follows.
-
- LIGHT NORMAL
- -------------------------
- TrueType Auto v40
- CFF Adobe Adobe
- Type 1 Adobe Adobe
-
-2017-11-10 Yuri Levchenko <yuri_levchenko@boolat.com>
-
- * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
-
-2017-11-06 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
-
-2017-11-06 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
-
-2017-11-03 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
-
- The interpreter in Type 1 mode rewinds the charstring after collecting
- all hints for building the initial hintmap (commit d52dd7f). However,
- some charstrings use `endchar' in a final subroutine call, rewinding to
- the start of that subroutine, and only a small section of the actual
- glyph is drawn.
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
- Ensure we are on the top level charstring before rewinding.
-
-2017-11-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
-
- [truetype] Add more tricky fonts.
-
- See the report by Yang Yinsen.
- https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
-
- * src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
- `DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
- (tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
- DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7. Also
- add checksums for DLCLiShu and DLCHayBold which their family names
- were already listed but their checksums were previously unknown.
-
-2017-11-01 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [smooth] Fix complex rendering at high ppem.
-
- We used to split large glyphs into horizontal bands and continue
- bisecting them still horizontally if that was not enough. This is
- guaranteed to fail when a single scanline cannot fit into the
- rendering memory pool. Now we bisect the bands vertically so that
- the smallest unit is a column of the band height, which is guranteed
- to fit into memory.
-
- * src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
-
-2017-10-20 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [smooth] Improve complex rendering at high ppem.
-
- At large sizes almost but not exactly horizontal segments can quickly
- drain the rendering pool. This patch at least avoids filling the pool
- with trivial cells. Beyond this, we can only increase the pool size.
-
- Reported, analyzed, and tested by Colin Fahey.
-
- * src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
-
-2017-10-20 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [base] Improve tracing in FT_Load_Glyph, FT_*_Size.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
- function name, glyph index, and load flags.
- (FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
- (FT_Select_Size, FT_Request_Size): Improve tracing.
-
-2017-10-18 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [base] Improve tracing in FT_Render_Glyph.
-
- * src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
- calculations and downgrade Netpbm dump to bitmap:7.
-
-2017-10-15 Ewald Hew <ewaldhew@gmail.com>
-
- [cff] Fix segfault on missing `psaux' (#52218)
-
- * src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
-
- * modules.cfg: Update dependency list.
-
-2017-10-15 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [base, cff] Fix MSVC warnings.
-
- * src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
- (ft_glyphslot_preset_bitmap): C4244: possible loss of data.
- * src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
- Turn `sum' into unsigned.
-
-2017-10-14 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [base] Netpbm image tracing.
-
- * src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
- (FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
-
- * src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
-
-2017-10-14 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- * builds/windows/ftdebug.c (FT_Message): Print to stderr.
- * builds/wince/ftdebug.c (FT_Message): Ditto.
-
-2017-10-14 Behdad Esfahbod <behdad@behdad.org>
-
- [afshaper] Delay creating `hb_set' objects until needed.
-
- In runs on Noto Naskh Arabic, this results in 89 sets created
- instead of 340 before. Makes auto-hinter setup with HarfBuzz
- enabled 20% to 30% faster.
-
- * src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
-
-2017-10-12 Ewald Hew <ewaldhew@gmail.com>
-
- [type1, cid] Add hinting engine switch.
-
- Implement property service in `type1' and `cid' drivers to allow
- switching between FreeType or Adobe hinting engine when both are
- available.
-
- * src/cid/cidriver.c (cid_property_{set,get}, cid_services),
- src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
- Properties service.
-
- * src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
- (T1_Driver_Init): Add default property values.
-
-2017-10-12 Ewald Hew <ewaldhew@gmail.com>
-
- Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
-
- This controls whether the old Type 1 engine gets compiled into FreeType.
- It is disabled by default.
-
- * devel/ftoption.h, include/freetype/config/ftoption.h
- (T1_CONFIG_OPTION_OLD_ENGINE): New macro.
-
- * include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
- * include/freetype/internal/psaux.h, src/cid/cidgload.c
- (cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
- (ps_builder_add_point), src/psaux/t1decode.c
- (t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
- t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
- src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
- relevant code with macro.
- Minor code changes.
-
-2017-10-12 Ewald Hew <ewaldhew@gmail.com>
-
- Extract width parsing from Type 1 parser.
-
- Duplicate the fast advance width calculations from the old parser.
- This is to facilitate adding options for compiling out the old parser.
-
- * src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
- * include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
- `parse_metrics'.
- * src/psaux/psauxmod.c: Set the new entry.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
- src/cid/cidgload.c (cid_load_glyph): Separate
- conditional for selecting engine.
-
-2017-10-09 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
-
- Reported as
-
- https://bugs.chromium.org/p/chromium/issues/detail?id=772775
-
-2017-10-08 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- [sfnt] Adjust behaviour of PS font names for variation fonts.
-
- * src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
- PS name only if no variation is applied.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- [cff, truetype] Adjust behaviour of named instances.
-
- This commit completely separates the interaction between named
- instances and variation functions. In particular, resetting the
- variation returns to the current named instance (if set) and not to
- the base font.
-
- As a side effect, variation functions no longer change the named
- instance index.
-
- * src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
- function.
- Also apply `MVAR' table to named instances.
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
- (tt_set_mm_blend): No longer check whether requested variation
- coincides with a named instance.
- (TT_Set_Var_Design): Use current named instance for default
- coordinates.
- * src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- Make `FT_Set_Named_Instance' work.
-
- * src/cff/cffdrivr.c (cff_set_instance): New function.
- (cff_service_multi_masters): Register it.
-
- * src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
- * src/truetype/ttgxvar.h: Updated.
- * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
- it.
-
- * src/type1/t1load.c (T1_Reset_MM_Blend): New function.
- * src/type1/t1load.h: Updated.
- * src/type1/t1driver.c (t1_service_multi_masters): Register it.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- Make `FT_FACE_FLAG_VARIATION' work.
-
- * include/freetype/internal/tttypes.h (TT_Face): Remove
- `is_default_instance'; this can be replaced with a combination of
- `FT_IS_VARIATION' and `FT_IS_INSTANCE'.
-
- * src/cff/cffdrivr.c (cff_get_advances): Updated.
-
- * src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
- (sfnt_init_face): Updated.
-
- * src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
- (TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
- src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
- * src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
- Handle `FT_FACE_FLAG_VARIATION'.
-
- * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
- `FT_FACE_FLAG_VARIATION'.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- New function `FT_Set_Named_Instance'.
-
- No effect yet.
-
- * src/base/ftmm.c (FT_Set_Named_Instance): New function.
-
- * include/freetype/ftmm.h: Updated.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- Add macros for checking whether a font variation is active.
-
- * include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
- FT_IS_VARIATION): New macros.
- No effect yet.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- Add framework for setting named instance in MM service.
-
- * include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
- New function typedef.
- (MultiMasters): Add `set_instance' member.
- (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
-
- * src/cff/cffdrivr.c (cff_service_multi_masters),
- src/truetype/ttdriver (tt_service_gx_multi_masters),
- src/type1/t1driver.c (t1_service_multi_masters): Updated.
-
-2017-10-07 Werner Lemberg <wl@gnu.org>
-
- [type1] Minor code shuffling.
-
- * src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
- (t1_set_mm_blend): ...this new function.
- (T1_Set_MM_Design): Use `t1_set_mm_blend'.
-
-2017-10-05 Werner Lemberg <wl@gnu.org>
-
- * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
- overflow.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
-
-2017-10-05 Werner Lemberg <wl@gnu.org>
-
- Fix compiler warnings.
-
- * src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
- on numeric overflow.
- Add cast.
-
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
- types, add cast.
-
-2017-10-04 John Tytgat <John.Tytgat@esko.com>
-
- [cff] Add support for `FSType'.
-
- * include/freetype/internal/cfftypes.h (CFF_FontRec): Add
- `font_extra' entry.
-
- * src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
- retrieve FSType info from the embedded PostScript data.
- (cff_service_ps_info): Register function.
-
- * src/cff/cffload.c (cff_font_done): Free `font_extra'.
-
-2017-09-30 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- Signedness fixes in bitmap presetting.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
-
- * src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
- * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
- subtraction.
-
-2017-09-29 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- Bitmap metrics presetting [2/2].
-
- * src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
- appropriate but `FT_Render_Glyph' is not called.
- * include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
-
-2017-09-28 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [smooth, raster] Miscellaneous cleanups.
-
- * src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
- translations and clean up the exit.
- (ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'.
-
-2017-09-28 Ben Wagner <bungeman@google.com>
-
- [truetype] Really, really fix #52082.
-
- * src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-28 Werner Lemberg <wl@gnu.org>
-
- * src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
-
-2017-09-28 Ewald Hew <ewaldhew@gmail.com>
-
- * src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
-
- Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
-
-2017-09-28 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- Bitmap metrics presetting [1/2].
-
- This mainly just extracts the code for presetting the bitmap metrics
- from the monochrome, grayscale, and LCD renderers into a separate
- function.
-
- * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
- calculates prospective bitmap metrics for the given rendering mode.
- * include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
- Declare it.
-
- * src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
- padding to CBox taking into account pecularities of LCD rendering.
- * include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
-
- * src/raster/ftrend1.c (ft_raster1_render): Reworked to use
- `ft_glyphslot_preset_bitmap'.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
- (ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
- is moved to `ft_glyphslot_preset_bitmap'.
-
-2017-09-28 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Fix compiler warning.
-
- * src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing
- code.
-
-2017-09-27 Werner Lemberg <wl@gnu.org>
-
- * src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
-
-2017-09-25 Werner Lemberg <wl@gnu.org>
-
- [psaux] Fix compiler warnings.
-
- * src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
- test.
-
- * src/psaux/psintrp.c (cf2_interpT2CharString)
- <cf2_escCALLOTHERSUBR>: Add casts.
-
- * src/psaux/psobjs.c (ps_decoder_init): Add cast.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Minor fixes.
-
- * include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
- Rearrange `ps_builder_init' arguments to conventional order.
-
- * src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
- notice for `SubFont' in Type 1 mode.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Move `psdecode' into `psobjs'.
-
- As the former only contains a single procedure, move it into
- `psobjs' for simplicity. Also change the parameter order to the
- conventional one.
-
- * src/psaux/psdecode.c (ps_decoder_init): Moved to...
- * src/psaux/psobjs.c: ...Here.
- * src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
-
- * include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
- `ps_decoder_init' function signature.
-
- * src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
- Update calls.
-
- * src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
-
- * src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
- Update file references.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Fix Type 1 hinting.
-
- Type 1 hinting breaks sometimes when mid-charstring hints should
- have been in the initial hintmap. This fix adds a preprocessing
- pass that reads all hints and builds the correct initial hintmap
- first, before proceeding to build the glyph outline.
-
- * src/psaux/psintrp.c (cf2_interpT2CharString): New
- `initial_map_ready' boolean flag.
- Ignore outline commands and hint changes on first pass.
- <cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Add tracing for hints.
-
- * src/psaux/pshints.c (cf2_hintmap_dump): New function.
- (cf2_hintmap_insertHint): Trace incoming and inserted hints.
- (cf2_hintmap_build): Dump hintmap before and after hint adjustment.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Minor fixes.
-
- * src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
- results.
- s/font->decoder/decoder/ where necessary.
- <cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
- offset parameter in `cf2_doStems' instead of doing correction for
- left-sidebearing.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [cid] Use the new engine.
-
- * src/cid/cidgload.c: Update includes.
- (cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
- loading code as with `type1' module.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [cid] Add Adobe engine configuration.
-
- This is similar to what was done in the `type1' module.
-
- * src/cid/cidriver.c (t1cid_driver_class): Update declaration.
- * src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
- (cid_driver_init): Update code.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Change subfont synthesis for CID fonts.
-
- Change `t1_make_subfont' to take in the Private dict record as an
- argument. This is because Type 1 and CID font records in FreeType
- have this in different places.
-
- * src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
- `FT_Face' so that CID is also accepted.
- Take `PS_Private' as an argument and let caller figure out where the
- Private dict actually is.
- Update references.
-
- * include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
- declaration.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
- call.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [type1] Switch to Adobe engine.
-
- * src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (seac).
-
- This concludes the changes needed to add Type 1 support.
-
- * src/psaux/psintrp.c: Update includes.
- (cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
- implied seac for CFF.
-
- * src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
- function to look up the glyph index.
-
- * src/psaux/psft.c (cf2_getT1SeacComponent,
- cf2_freeT1SeacComponent): New functions to get the charstrings for
- seac components.
-
- * src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (flex in callothersubr).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString)
- <cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
- 2).
- <cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
- flex. This is to avoid closing the current contour.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (callothersubr).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString)
- <cf2_escCALLOTHERSUBR>: Copy code from
- `t1_decoder_parse_charstrings' (in `t1decode.c').
- OtherSubr 3 (change hints) should reset the hintmask, so that the
- new hints are applied.
- Fix function calls and stack access.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (pop).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
- OtherSubr results are stored. Implement the PostScript stack using
- an array.
- <cf2_escPOP>: Ensure that the stack is not cleared after getting
- `OtherSubr' results.
- Fix stack access.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (callsubr).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
- Type 1 mode.
-
- * src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (div, four-byte numbers).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
- Type 1 mode. Type 1 requires large integers to be followed by
- `div'; cf. `Adobe Type 1 Font Format', section 6.2.
- <op == 255>: Push Type 1 four-byte numbers as `Int' always. This is
- to ensure `div' and `callsubr' get values they can use.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (hints).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
- cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
- Allow adding hints mid-charstring.
- <cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
- for three normal stem hints. This requires some recalculation of
- stem positions.
- Correction for left sidebearing.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (hsbw, sbw).
-
- * src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
- first operation in a Type 1 charstring.
- (cf2_interpT2CharString): Remove unused variables.
- <cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
- must be the first operation in a Type 1 charstring.
- <cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
- left sidebearing.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (setcurrentpoint).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString)
- <cf2_escSETCURRENTPT>: Fix stack access.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Extend Adobe interpreter (closepath).
-
- * src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
- Use the right builder function. We can use the `haveWidth' boolean
- already present, instead of implementing `parse_state'.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Add Type 1 operations to Adobe CFF interpreter.
-
- The following Type 1 specific ops have been added (copied from
- `t1decode'):
-
- closepath
- vstem3
- hstem3
- seac
- sbw
- callothersubr
- pop
- setcurrentpoint
- hsbw
-
- The following require a Type 1 mode, because of differences in
- specification:
-
- hstem
- vstem
- vmoveto
- callsubr
- div
- rmoveto
- hmoveto
- Numbers
-
- The subsequent commits will implement these changes and adapt
- accesses of data and objects to the new interpreter.
-
- NOTE: Will not compile in the meantime!
-
- * src/psaux/psintrp.c: Add opcodes to enum.
- (cf2_interpT2CharString): Copy relevant code over from
- `t1_decoder_parse_charstrings' (in `t1decode.c').
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [type1] Fixes for rendering.
-
- The Type 1 advance width calculation passes null for glyph slot,
- etc, which can cause null pointer access in the new interpreter.
- Fall back to the old one for now.
-
- Fix the large glyph retry code and ensure hinting and scaling flags
- are set properly.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
- check for metrics_only.
- Set the `force_scaling' flag.
- (T1_Parse_Glyph): Updated.
- (T1_Load_Glyph): Add `hinting' and `scaled' flags.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Add missing objects (2/2).
-
- Synthesize a `SubFont' object for Type 1 fonts. This is used in the
- interpreter to access Private dict data, which are stored in
- different places for Type 1 and CFF. This allows the same data to
- be used in either mode.
-
- * src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
- required values to a dummy `CFF_SubFont' object. This is similar to
- `cff_make_private_dict'.
- * src/psaux/psobjs.h: Add the new declaration.
-
- * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
- Add this to the PSAux Service for future use with CID fonts.
-
- * src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
- (T1_Parse_Glyph_And_Get_Char_String): Add the call.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Add missing objects for Type 1 (1/2).
-
- Move `CF2_Font' instance to `PS_Decoder'. This is the context for
- the interpreter and since it is currently stored in `CFF_Font', is
- unavailable in Type 1 mode.
-
- * include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
- `cf2_instance' field.
-
- * src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
- `PS_Decoder'.
-
- * src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
-
- * src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- Allow `type1' module to use the Adobe engine.
-
- Add the callback and some conditionals to switch between the two
- engines.
-
- * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
- function declarations.
- * src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
- callbacks.
-
- * src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
- number conversion.
-
- * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
- to choose which renderer to use.
-
- * src/cid/cidgload.c (cid_load_glyph): Update call.
- * src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
- includes.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [type1] Add Adobe engine configuration.
-
- Use the previously changed PS_Driver in type1 module to store
- hinting engine configuration.
-
- * include/freetype/ftt1drv.h: New file.
- Duplicate and rename config options from CFF.
- * include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
-
- * src/type1/t1driver.c (t1_driver_class): Update declaration.
- * src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
- (T1_Driver_Init): Update code.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [cff] Move and rename `CFF_Driver'.
-
- This is so that we can use the same hinting engine parameters for
- Type 1.
-
- * include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
- move to...
- * include/freetype/internal/psaux.h (PS_Driver): ...here.
-
- * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
- src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
- src/psaux/psobjs.c: Update references.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, type1] Reorganize object fields.
-
- Make some fields more generic, so that we can access them the same
- way regardless of Type 1 or CFF.
-
- * include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
- to `FT_Face'.
- Remove unused fields.
-
- * src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
- Add some asserts to guard against casting `T1_Face' as `TT_Face'.
-
- * src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
- `CFF_GlyphSlot', so that we can pretend they are the same in the
- interpreter.
-
- * src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
- Updated with above changes.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Prepare for Type 1 mode.
-
- Add some checks for Type 1 data passing through.
-
- * src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
- * src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
- code which is not applicable for Type 1.
-
- * src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
- `decoder->cff' in Type 1 mode.
- Copy `is_t1' flag to `CF2_Font'.
-
-2017-09-25 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Use the new objects.
-
- * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
- switching between new and old engines.
-
- * src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
-
- * src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
- src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
- to use new objects.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Objects for new interpreter (part 2).
-
- Make the new objects copy over values. They are essentially wrapper
- types for the different decoders/builders.
-
- * include/freetype/internal/psaux.h: Update declarations.
- (PS_Builder): Add `is_t1' flag.
- (PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
- (CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
- (PS_Decoder): Updated.
- Add `t1_parse_callback' member.
- (PSAux_ServiceRec): Add `ps_decoder_init' member.
-
- * src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
-
- * src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
- modes.
-
- * src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
- service.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Add objects for new interpreter.
-
- Introduce `PS_Decoder' and `PS_Builder' which include all fields
- from either Type 1 or CFF decoders/builders.
-
- * include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
- structs.
-
- * src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
- functions.
-
- * src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
- `PS_Decoder' initialization functions.
-
- * src/psaux/psaux.c, src/psaux/Jamfile (_sources),
- src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Rename files.
-
- Replace the `cf2' file name prefix with `ps' as the Adobe engine
- will be used for both PostScript Types 1 and 2 (CFF) instead of just
- CFF.
-
- s/cf2/ps/ for all following.
-
- * src/psaux/cf2*: Rename files.
- * src/psaux/*: Update includes.
-
- * src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
- PSAUX_DRV_H): Update file references.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux] Minor fix.
-
- Use `MultiMasters' service in `psaux' instead of a call to `cff'.
- The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
-
- * src/psaux/cf2ft.c: Update includes.
- (cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
- `cff_get_var_blend'.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Move `cff_random' into `psaux' service.
-
- NOTE: Does not compile!
-
- Minor fix to allow both `cff' and `psaux' to use `cff_random'.
-
- * src/cff/cffload.c (cff_random): Move to...
- * src/psaux/psobjs.c: Here.
- * src/cff/cffload.h: Move corresponding declaration to
- `src/psaux/psobjs.h'.
-
- * include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
- function here...
- * src/psaux/psauxmod.c: And here.
-
- * src/cff/cffload.c, src/psaux/cf2intrp.c: Update code.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [cff] Move struct declarations to `freetype/internal'.
-
- NOTE: Does not compile!
-
- This is so that the CFF functions moved to `psaux' can access the
- same structs that they need.
-
- * src/cff/cfftypes.h: Moved to...
- * include/freetype/internal/cfftypes.h: ...Here.
-
- * src/cff/cffobjs.h: Moved the struct declarations to...
- * include/freetype/internal/cffotypes.h: ... this new file.
-
- * include/freetype/internal/internal.h (FT_INTERNAL_CFF_TYPES_H,
- FT_INTERNAL_CFF_OBJECT_TYPES_H): New macros.
-
- * src/cff/cffcmap.h, src/cff/cffdrivr.c, src/cff/cffgload.c,
- src/cff/cffgload.h, src/cff/cffload.h, src/cff/cffobjs.c,
- src/cff/cffobjs.h, src/cff/cffparse.h, src/psaux/psobjs.h,
- include/freetype/internal/psaux.h,
- include/freetype/internal/services/svcfftl.h: Update includes.
-
- * src/cff/rules.mk (CFF_DRV_H): Updated.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Add new service for inter-module calls.
-
- NOTE: Does not compile!
-
- This is to allow CFF functions moved to `psaux' to call functions
- declared in `src/cff/cffload.h'.
-
- * include/freetype/internal/services/svcfftl.h: New file, setting up
- a `CFFLoad' service.
-
- * include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC10,
- FT_DEFINE_SERVICEDESCREC): New macros.
- (FT_SERVICE_CFF_TABLE_LOAD_H): New macro.
-
- * src/cff/cffdrivr.c, src/cff/cffpic.h: Register the new service.
-
- * src/cff/cfftypes.h (CFF_FontRec), src/psaux/cf2font.h
- (CF2_FontRec): Add service interface.
-
- * src/cff/cffobjs.c, src/psaux/cf2font.c, src/psaux/cf2ft.c,
- src/psaux/cf2intrp.c, src/psaux/cffdecode.c: Use the new service.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Add callbacks for inter-module calls.
-
- NOTE: Does not compile!
-
- * include/freetype/internal/psaux.h: Add function pointer
- declarations.
-
- * src/psaux/cffdecode.c (cff_decoder_init): Update to take in
- callbacks.
- * src/psaux/cffdecode.h: Ditto.
-
- * src/cff/cffgload.c (cff_compute_max_advance, cff_slot_load):
- Update calls to pass in callbacks.
- * src/psaux/cf2ft.c, src/psaux/cffdecode.c: Use them.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Create new `PSAux' service interface entries.
-
- NOTE: Does not compile!
-
- * include/freetype/internal/psaux.h: Include
- FT_INTERNAL_TRUETYPE_TYPES_H.
- (CFF_Builder_FuncsRec, CFF_Decocer_FuncsRec): New function tables.
- (CFF_Builder): Updated.
- Fix for forward declaration.
- (PSAux_ServiceRec): New field `cff_decoder_funcs'.
-
- * src/psaux/psauxmod.c (cff_builder_funcs, cff_decoder_funcs): New
- function tables.
- (PSAux_Interface): Updated.
-
- * include/freetype/internal/tttypes.h (TT_FaceRec): Add `psaux'
- service interface.
-
- * src/cff/cffgload.c, src/cff/cffobjs.c, src/cff/cffparse.c: Update
- function calls to use psaux service.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Move CFF builder components into `psaux' module.
-
- NOTE: Does not compile!
-
- * src/cff/cffgload.c
- (cff_builder_{init,done,add_point,add_point1,add_contour,start_point,close_contour},
- cff_check_points): Move to...
- * src/psaux/psobjs.c: Here.
-
- * src/cff/cffgload.h: Move corresponding declarations to
- `src/psaux/psobjs.h'.
-
- * src/cff/cffgload.h (CFF_Builder): Move struct declaration to...
- * include/freetype/internal/psaux.h: Here.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Move CFF decoder components into `psaux' module.
-
- NOTE: Does not compile!
-
- * src/cff/cffgload.c (CFF_Operator,
- CFF_COUNT_{CHECK_WIDTH,EXACT,CLEAR_STACK}, cff_argument_counts,
- cff_operator_seac, cff_compute_bias,
- cff_lookup_glyph_by_stdcharcode,
- cff_decoder_{parse_charstrings,init,prepare}): Move to...
- * src/psaux/cffdecode.c: This new file.
-
- * src/cff/cffgload.h: Move corresponding declarations to...
- * src/psaux/cffdecode.h: This new file.
-
- * src/cff/cffgload.h (CFF_MAX_{OPERANDS,SUBRS_CALLS,TRANS_ELEMENTS},
- CFF_Decoder_Zone, CFF_Decoder): Move declarations to...
- * include/freetype/internal/psaux.h: Here.
-
- * src/psaux/cf2ft.h: Update include.
-
- * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Update with
- the new file.
-
-2017-09-24 Ewald Hew <ewaldhew@gmail.com>
-
- [psaux, cff] Move Adobe's engine components into `psaux' module.
-
- This is the first patch of a sequence to move the Type 2 charstring
- processing capability from the `cff' module to the `psaux' module.
-
- NOTE: Does not compile!
-
- * src/cff/cf2*: Move these files to...
- * src/psaux/cf2*: Here.
-
- * src/cff/Jamfile (_sources), src/cff/rules.mk (CFF_DRV_SRC,
- CFF_DRV_H), src/cff/cff.c, src/cff/cffgload.c: Remove file
- references.
-
- * src/psaux/Jamfile (_sources), src/psaux/rules.mk, src/psaux/psaux.c
- (PSAUX_DRV_SRC, PSAUX_DRV_H): Add file references.
-
-2017-09-24 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- Tweak per-face LCD filtering controls.
-
- Thing are simpler with a NULL-function pointer.
-
- * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
- pointer to the filter function.
- (FT_LibraryRec): Remove unused `lcd_filter'.
- (FT_Bitmap_LcdFilterFunc, ft_lcd_filter_fir): Move from here...
- * include/freetype/ftlcdfil.h (FT_Bitmap_LcdFilterFunc,
- ft_lcd_filter_fir): ... to here.
-
- * src/base/ftobjs.c (ft_open_face_internal): NULL-initialize the
- per-face filter.
- (FT_Face_Properties): Set it.
- * src/smooth/ftsmooth.c (ft_smooth_render_generic): Simplify.
-
- * src/base/ftlcdfil.c (ft_lcd_filter_fir, FT_Libary_SetLcdFilter):
- Minor.
-
-2017-09-24 Jonathan Kew <jfkthame@gmail.com>
-
- [sfnt] Fix `premultiply_data' (#52092).
-
- * src/sfnt/pngshim.c (premultiply_data): Don't use vector extension
- if we have less than 16 bytes of data.
-
-2017-09-24 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Fix handling of ValueRecords.
-
- For GPOS pair positioning format 1 the description of ValueRecords
- in the OpenType specification (1.8.2, from today) is wrong – the
- offset has to be taken from the parent structure; in this case the
- `PairSet' table.
-
- * src/otvalid/otvgpos.c (otv_PairSet_validate): Set `extra3'.
- (otv_PairPos_validate): Adjust.
-
-2017-09-23 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Handle `GSUB' and `GPOS' v1.1 tables.
-
- * src/otvalid/otvgsub.c (otv_GSUB_validate), src/otvalid/otvgpos.c
- (otv_GPOS_validate): Implement it.
-
-2017-09-23 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Update common table handling to OpenType 1.8.2.
-
- * src/otvalid/otvcommn.c (otv_Device_validate): Handle
- VariationIndex subtable.
- (otv_Lookup_validate): Handle MarkFilteringSet.
-
-2017-09-23 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Windows-style DLL versioning.
-
- * build/windows/ftver.rc: New VERSIONINFO resource.
- * build/windows/vc2010/freetype.vcxproj: Further improvements.
-
-2017-09-23 Ben Wagner <bungeman@google.com>
-
- [truetype] Really fix #52082.
-
- * src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
-
-2017-09-23 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Handle `GDEF' v1.2 and v1.3 tables.
-
- No validation of variation stuff yet.
-
- * src/otvalid/otvgdef.c (otv_MarkGlyphSets_validate): New function.
- (otv_GDEF_validate): Implement it.
-
-2017-09-22 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Handle `BASE' v1.1 table.
-
- No validation of variation stuff yet.
-
- * src/otvalid/otvbase.c (otv_BASE_validate): Implement it.
-
-2017-09-22 Werner Lemberg <wl@gnu.org>
-
- [otvalid] Macros for 32bit offset support.
-
- * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE32,
- OTV_OPTIONAL_OFFSET32, OTV_SIZE_CHECK32): New macros.
-
-2017-09-21 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Simplify Visual C++ 2010 project.
-
- * build/windows/vc2010/freetype.vcxproj: Remove fake singlethreaded
- configurations and tweak.
-
-2017-09-21 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflow (#52082).
-
- * src/truetype/ttinterp.c (Ins_MDRP): Avoid FT_ABS.
-
-2017-09-21 Werner Lemberg <wl@gnu.org>
-
- [sfnt] Fix postscript name for default instance of variation fonts.
-
- Problem reported by Behdad.
-
- * src/sfnt/sfdriver.c (sfnt_get_ps_name): Test
- `is_default_instance'.
-
-2017-09-21 Werner Lemberg <wl@gnu.org>
-
- [truetype] Fix `mmvar' array pointers, part 2.
-
- The previous commit was incomplete.
-
- * src/truetype/ttgxvar.c: Properly initialize sub-array offsets for
- `master' also.
-
-2017-09-21 Werner Lemberg <wl@gnu.org>
-
- [truetype] Fix `mmvar' array pointers.
-
- Without this change, clang's AddressSanitizer reports many runtime
- errors due to misaligned addresses.
-
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Use multiples of pointer
- size for sub-array offsets into `mmvar'.
-
-2017-09-20 Werner Lemberg <wl@gnu.org>
-
- [truetype] Integer overflows.
-
- Changes triggered by
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3429
-
- * src/truetype/ttinterp.c (Ins_SHPIX, Ins_DELTAP): Use NEG_LONG.
- (Ins_MIAP): Use SUB_LONG.
-
-2017-09-19 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Fix DLL builds in Visual C++ project.
-
- * build/windows/vc2010/freetype.vcxproj: Use DynamicLibrary in Debug
- and Release configurations.
- * include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
- [_DLL]: Use Visual C++ extensions.
-
-2017-09-19 John Tytgat <John.Tytgat@esko.com>
-
- [cff] Fix family name logic of pure CFF fontdata (#52056).
-
- 1. If `FamilyName' is present in the CFF font, use this for
- FT_Face's `family_name'.
- 2. Otherwise, use the face name and chop off any subset prefix.
- 3. If at this point FT_Face's `family_name' is set, use this
- together with the full name to determine the style.
- 4. Otherwise, use `CIDFontName' as FT_Face's `family_name'.
- 5. If we don't have a valid style, use "Regular".
-
- Previously, FT_Face's `family_name' entry for pure CFF fontdata
- nearly always was the fontname itself, instead of the `FamilyName'
- entry in the CFF font (assuming there is one).
-
- * src/cff/cffobjs.c (cff_face_init) [pure_cff]: Implement it.
-
-2017-09-18 Alexei Podtelezhnikov <apodtele@gmail.com>
-
- [build] Declutter Visual C++ 2010-2017 project.
-
- * build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
- optimization for Release configuration throughout the project.
-
----------------------------------------------------------------------------
-Copyright (C) 2017-2019 by
+Copyright (C) 2018-2019 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,