Document changes to last release.

This commit is contained in:
Werner Lemberg 2020-10-10 12:48:18 +02:00
parent 40479fad93
commit c9f588be56
6 changed files with 61 additions and 11 deletions

View File

@ -1,3 +1,52 @@
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
@ -19,7 +68,7 @@ CHANGES BETWEEN 2.10.1 and 2.10.2
`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 @@ CHANGES BETWEEN 2.9 and 2.9.1
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.

View File

@ -10,7 +10,7 @@ I. Standard procedure
* 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

View File

@ -403,7 +403,7 @@ FT_BEGIN_HEADER
* 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 @@ FT_BEGIN_HEADER
* @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

View File

@ -195,7 +195,7 @@ FT_BEGIN_HEADER
* 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.

View File

@ -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? */