forked from minhngoc25a/freetype2
Document changes to last release.
This commit is contained in:
parent
40479fad93
commit
c9f588be56
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
"""Extract the FreeType version numbers from `<freetype/freetype.h>`.
|
"""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`,
|
By default, the full dotted version number is printed, but `--major`,
|
||||||
`--minor` or `--patch` can be used to only print one of these values
|
`--minor` or `--patch` can be used to only print one of these values
|
||||||
instead.
|
instead.
|
||||||
|
|
53
docs/CHANGES
53
docs/CHANGES
|
@ -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
|
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'
|
`docwriter' (Python >= 3.5 is required for targets `make refdoc'
|
||||||
and `make refdoc-venv').
|
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.
|
- 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.
|
use the `pkg-config' interface.
|
||||||
|
|
||||||
The `configure' script no longer installs `freetype-config' by
|
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
|
`--enable-freetype-config' is provided that reverts this
|
||||||
decision.
|
decision.
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ I. Standard procedure
|
||||||
|
|
||||||
* If you use macro names for FreeType header files (while mandatory
|
* If you use macro names for FreeType header files (while mandatory
|
||||||
in earlier versions, this is now optional since FreeType version
|
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
|
very important for Visual C++, because lines like
|
||||||
|
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
|
|
|
@ -403,7 +403,7 @@ FT_BEGIN_HEADER
|
||||||
* FT_OUTLINE_OVERLAP ::
|
* FT_OUTLINE_OVERLAP ::
|
||||||
* This flag indicates that this outline contains overlapping contrours
|
* This flag indicates that this outline contains overlapping contrours
|
||||||
* and the anti-aliased renderer should perform oversampling to
|
* 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
|
* well designed glyphs without overlaps because it quadruples the
|
||||||
* rendering time.
|
* rendering time.
|
||||||
*
|
*
|
||||||
|
@ -1017,11 +1017,11 @@ FT_BEGIN_HEADER
|
||||||
* @note:
|
* @note:
|
||||||
* The @FT_RASTER_FLAG_AA bit flag must be set in the `flags` to
|
* The @FT_RASTER_FLAG_AA bit flag must be set in the `flags` to
|
||||||
* generate an anti-aliased glyph bitmap, otherwise a monochrome bitmap
|
* 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.
|
* dimensions define the clipping region.
|
||||||
*
|
*
|
||||||
* If both `( @FT_RASTER_FLAG_AA | @FT_RASTER_FLAG_DIRECT )` bit flags
|
* 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
|
* `gray_spans` with `user` data as an argument ignoring `target`. This
|
||||||
* allows direct composition over a pre-existing user surface to perform
|
* allows direct composition over a pre-existing user surface to perform
|
||||||
* the span drawing and composition. To optionally clip the spans, set
|
* the span drawing and composition. To optionally clip the spans, set
|
||||||
|
|
|
@ -195,7 +195,7 @@ FT_BEGIN_HEADER
|
||||||
* FreeType error code. 0~means success.
|
* FreeType error code. 0~means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @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
|
* It is no longer necessary to call this function explicitly except
|
||||||
* to choose a different filter or disable filtering altogether with
|
* to choose a different filter or disable filtering altogether with
|
||||||
* @FT_LCD_FILTER_NONE.
|
* @FT_LCD_FILTER_NONE.
|
||||||
|
|
|
@ -459,8 +459,9 @@
|
||||||
#define IS_TOP_OVERSHOOT( x ) \
|
#define IS_TOP_OVERSHOOT( x ) \
|
||||||
(Bool)( x - FLOOR( x ) >= ras.precision_half )
|
(Bool)( x - FLOOR( x ) >= ras.precision_half )
|
||||||
|
|
||||||
/* smart dropout rounding to find which pixel is closer to span ends; */
|
/* Smart dropout rounding to find which pixel is closer to span ends. */
|
||||||
/* to mimick Windows, symmetric cases break down indepenent of precision */
|
/* To mimick Windows, symmetric cases break down indepenently of the */
|
||||||
|
/* precision. */
|
||||||
#define SMART( p, q ) FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )
|
#define SMART( p, q ) FLOOR( ( (p) + (q) + ras.precision * 63 / 64 ) >> 1 )
|
||||||
|
|
||||||
#if FT_RENDER_POOL_SIZE > 2048
|
#if FT_RENDER_POOL_SIZE > 2048
|
||||||
|
@ -2507,7 +2508,7 @@
|
||||||
x2 / (double)ras.precision ));
|
x2 / (double)ras.precision ));
|
||||||
|
|
||||||
/* We should not need this procedure but the vertical sweep */
|
/* 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. */
|
/* have to check perfectly aligned span edges here. */
|
||||||
/* */
|
/* */
|
||||||
/* XXX: Can we handle horizontal lines better and drop this? */
|
/* XXX: Can we handle horizontal lines better and drop this? */
|
||||||
|
|
Loading…
Reference in New Issue