ref: c9f588be56a6c89c210284711417130ea53bd72e
parent: 40479fad93fd939450f1c0efb54a99074cb1b5d3
author: Werner Lemberg <wl@gnu.org>
date: Sat Oct 10 08:48:18 EDT 2020
Document changes to last release.
--- a/builds/meson/extract_freetype_version.py
+++ b/builds/meson/extract_freetype_version.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
"""Extract the FreeType version numbers from `<freetype/freetype.h>`.
-This script parses the header to extract the version number defined there.
+This script parses the header to extract the version number defined there.
By default, the full dotted version number is printed, but `--major`,
`--minor` or `--patch` can be used to only print one of these values
instead.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,4 +1,53 @@
+CHANGES BETWEEN 2.10.2 and 2.10.3
+ I. IMPORTANT CHANGES
+
+ - New flag `FT_OUTLINE_OVERLAP'. If set, make the smooth rasterizer
+ do 4x4 oversampling to mitigate artifacts in pixels partially
+ covered by overlapping contours. Note that this at least
+ quadruples the rendering time.
+
+ If a glyph in a TrueType font has the `OVERLAP_SIMPLE' or
+ `OVERLAP_COMPOUND' bit set, FreeType automatically selects this
+ rendering mode.
+
+
+ II. MISCELLANEOUS
+
+ - Using the arcane method of including FreeType header files with
+ macros like `FT_FREETYPE_H' is no longer mandatory (but retained
+ as an optional feature for backward compatibility).
+
+ - Support for building the library with Meson. Building the demo
+ programs with Meson will follow in a forthcoming release.
+
+ - Minor improvements to the B/W rasterizer.
+
+ - Auto-hinter support for Medefaidrin script.
+
+ - Fix various memory leaks (mainly for CFF) and other issues that
+ might cause crashes in rare circumstances.
+
+ - Jam support has been removed.
+
+ - In `ftview', custom LCD filter values are now normalized and
+ balanced. Unorthodox filters are still available through the `-L'
+ command line option.
+
+ - The GUI demo programs can now be resized.
+
+ - Demo programs that accept command line option `-k' can now handle
+ function keys, too. The corresponding character codes start with
+ 0xF1. As an example, the POSIX shell syntax (accepted by bash,
+ ksh, and zsh)
+
+ -k $'\xF3q'
+
+ emulates the pressing of function key `F3' followed by key `q'.
+
+
+======================================================================
+
CHANGES BETWEEN 2.10.1 and 2.10.2
I. IMPORTANT CHANGES
@@ -19,7 +68,7 @@
`docwriter' (Python >= 3.5 is required for targets `make refdoc'
and `make refdoc-venv').
- - Auto-hinter support for Hanifi Rohingya and Medefaidrin.
+ - Auto-hinter support for Hanifi Rohingya.
- Document the `FT2_KEEP_ALIVE' debugging environment variable.
@@ -246,7 +295,7 @@
use the `pkg-config' interface.
The `configure' script no longer installs `freetype-config' by
- default. For backwards compatibility, a new configure option
+ default. For backward compatibility, a new configure option
`--enable-freetype-config' is provided that reverts this
decision.
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -10,7 +10,7 @@
* If you use macro names for FreeType header files (while mandatory
in earlier versions, this is now optional since FreeType version
- 2.11) it is necessary to disable pre-compiled headers. This is
+ 2.10.3) it is necessary to disable pre-compiled headers. This is
very important for Visual C++, because lines like
#include FT_FREETYPE_H
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -403,7 +403,7 @@
* FT_OUTLINE_OVERLAP ::
* This flag indicates that this outline contains overlapping contrours
* and the anti-aliased renderer should perform oversampling to
- * metigate possible artifacts. This flag should _not_ be set for
+ * mitigate possible artifacts. This flag should _not_ be set for
* well designed glyphs without overlaps because it quadruples the
* rendering time.
*
@@ -1017,11 +1017,11 @@
* @note:
* The @FT_RASTER_FLAG_AA bit flag must be set in the `flags` to
* generate an anti-aliased glyph bitmap, otherwise a monochrome bitmap
- * is generated. The `target` should have appropriate pixel mode and its
+ * is generated. The `target` should have appropriate pixel mode and its
* dimensions define the clipping region.
*
* If both `( @FT_RASTER_FLAG_AA | @FT_RASTER_FLAG_DIRECT )` bit flags
- * are set in `flags`, the raster will call an @FT_SpanFunc callback
+ * are set in `flags`, the raster calls an @FT_SpanFunc callback
* `gray_spans` with `user` data as an argument ignoring `target`. This
* allows direct composition over a pre-existing user surface to perform
* the span drawing and composition. To optionally clip the spans, set
--- a/include/freetype/ftlcdfil.h
+++ b/include/freetype/ftlcdfil.h
@@ -195,7 +195,7 @@
* FreeType error code. 0~means success.
*
* @note:
- * Since 2.11 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
+ * Since 2.10.3 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
* It is no longer necessary to call this function explicitly except
* to choose a different filter or disable filtering altogether with
* @FT_LCD_FILTER_NONE.
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -459,8 +459,9 @@
#define IS_TOP_OVERSHOOT( x ) \
(Bool)( x - FLOOR( x ) >= ras.precision_half )
- /* smart dropout rounding to find which pixel is closer to span ends; */
- /* to mimick Windows, symmetric cases break down indepenent of precision */
+ /* Smart dropout rounding to find which pixel is closer to span ends. */
+ /* To mimick Windows, symmetric cases break down indepenently of the */
+ /* precision. */
#define SMART( p, q ) FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )
#if FT_RENDER_POOL_SIZE > 2048
@@ -2507,7 +2508,7 @@
x2 / (double)ras.precision ));
/* We should not need this procedure but the vertical sweep */
- /* mishandles horizontal lines through pixel centers. So we */
+ /* mishandles horizontal lines through pixel centers. So we */
/* have to check perfectly aligned span edges here. */
/* */
/* XXX: Can we handle horizontal lines better and drop this? */