Document changes to last release.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
diff --git a/builds/meson/extract_freetype_version.py b/builds/meson/extract_freetype_version.py
index 50e5a54..15e87db 100644
--- 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.
diff --git a/docs/CHANGES b/docs/CHANGES
index bca560b..a2f6d87 100644
--- a/docs/CHANGES
+++ b/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
@@ -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.
diff --git a/docs/INSTALL.ANY b/docs/INSTALL.ANY
index 31d63b3..879dddb 100644
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -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
diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h
index 58b674f..b125ce9 100644
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -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
diff --git a/include/freetype/ftlcdfil.h b/include/freetype/ftlcdfil.h
index b8c5c00..c6995f2 100644
--- a/include/freetype/ftlcdfil.h
+++ b/include/freetype/ftlcdfil.h
@@ -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.
diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c
index 1408e51..9f0a797 100644
--- 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? */