Werner Lemberg pushed to branch master at FreeType / FreeType
Commits:
-
97cdbb24
by Werner Lemberg at 2022-03-30T20:50:28+02:00
-
87989a14
by Werner Lemberg at 2022-03-31T07:49:35+02:00
-
e50798b7
by Werner Lemberg at 2022-03-31T13:55:50+02:00
25 changed files:
- CMakeLists.txt
- README
- builds/toplevel.mk
- builds/unix/configure.raw
- builds/wince/vc2005-ce/index.html
- builds/wince/vc2008-ce/index.html
- builds/windows/ftsystem.c
- builds/windows/vc2010/index.html
- builds/windows/visualc/index.html
- builds/windows/visualce/index.html
- docs/CHANGES
- docs/VERSIONS.TXT
- docs/freetype-config.1
- docs/release
- include/freetype/freetype.h
- src/base/ftglyph.c
- src/base/ftobjs.c
- src/base/ftver.rc
- src/cache/ftccmap.c
- src/cache/ftcimage.c
- src/lzw/ftlzw.c
- src/psaux/psobjs.c
- src/pshinter/pshglob.c
- src/sdf/ftsdf.c
- src/sfnt/ttsvg.c
Changes:
... | ... | @@ -162,8 +162,8 @@ endif () |
162 | 162 | project(freetype C)
|
163 | 163 | |
164 | 164 | set(VERSION_MAJOR "2")
|
165 | -set(VERSION_MINOR "11")
|
|
166 | -set(VERSION_PATCH "1")
|
|
165 | +set(VERSION_MINOR "12")
|
|
166 | +set(VERSION_PATCH "0")
|
|
167 | 167 | |
168 | 168 | # Generate LIBRARY_VERSION and LIBRARY_SOVERSION.
|
169 | 169 | set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'")
|
1 | -FreeType 2.11.1
|
|
1 | +FreeType 2.12.0
|
|
2 | 2 | ===============
|
3 | 3 | |
4 | 4 | Homepage: https://www.freetype.org
|
... | ... | @@ -30,9 +30,9 @@ sites. Go to |
30 | 30 | |
31 | 31 | and download one of the following files.
|
32 | 32 | |
33 | - freetype-doc-2.11.1.tar.xz
|
|
34 | - freetype-doc-2.11.1.tar.gz
|
|
35 | - ftdoc2111.zip
|
|
33 | + freetype-doc-2.12.0.tar.xz
|
|
34 | + freetype-doc-2.12.0.tar.gz
|
|
35 | + ftdoc2120.zip
|
|
36 | 36 | |
37 | 37 | To view the documentation online, go to
|
38 | 38 |
... | ... | @@ -304,13 +304,12 @@ do-dist: distclean refdoc |
304 | 304 | cp $(CONFIG_GUESS) builds/unix
|
305 | 305 | cp $(CONFIG_SUB) builds/unix
|
306 | 306 | |
307 | - @# Generate `ChangeLog' file with commits since previous release.
|
|
307 | + @# Generate `ChangeLog' file with commits since release 2.11.0
|
|
308 | + @# (when we stopped creating this file manually).
|
|
308 | 309 | $(CHANGELOG_SCRIPT) \
|
309 | 310 | --format='%B%n' \
|
310 | 311 | --no-cluster \
|
311 | - -- `git describe --tags \
|
|
312 | - --abbrev=0 \
|
|
313 | - $(version_tag)^`..$(version_tag) \
|
|
312 | + -- VER-2-11-0..$(version_tag) \
|
|
314 | 313 | > ChangeLog
|
315 | 314 | |
316 | 315 | @# Remove intermediate files created by the `refdoc' target.
|
... | ... | @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.h.in]) |
17 | 17 | |
18 | 18 | # Don't forget to update `docs/VERSIONS.TXT'!
|
19 | 19 | |
20 | -version_info='24:1:18'
|
|
20 | +version_info='24:2:18'
|
|
21 | 21 | AC_SUBST([version_info])
|
22 | 22 | ft_version=`echo $version_info | tr : .`
|
23 | 23 | AC_SUBST([ft_version])
|
... | ... | @@ -21,7 +21,7 @@ the following targets: |
21 | 21 | <li>PPC/SP WM6 (Windows Mobile 6)</li>
|
22 | 22 | </ul>
|
23 | 23 | |
24 | -It compiles the following libraries from the FreeType 2.11.1 sources:</p>
|
|
24 | +It compiles the following libraries from the FreeType 2.12.0 sources:</p>
|
|
25 | 25 | |
26 | 26 | <ul>
|
27 | 27 | <pre>
|
... | ... | @@ -21,7 +21,7 @@ the following targets: |
21 | 21 | <li>PPC/SP WM6 (Windows Mobile 6)</li>
|
22 | 22 | </ul>
|
23 | 23 | |
24 | -It compiles the following libraries from the FreeType 2.11.1 sources:</p>
|
|
24 | +It compiles the following libraries from the FreeType 2.12.0 sources:</p>
|
|
25 | 25 | |
26 | 26 | <ul>
|
27 | 27 | <pre>
|
... | ... | @@ -197,35 +197,35 @@ |
197 | 197 | |
198 | 198 | |
199 | 199 | /* non-desktop Universal Windows Platform */
|
200 | -#if defined( WINAPI_FAMILY_PARTITION ) && \
|
|
200 | +#if defined( WINAPI_FAMILY_PARTITION ) && \
|
|
201 | 201 | !WINAPI_FAMILY_PARTITION( WINAPI_PARTITION_DESKTOP )
|
202 | 202 | |
203 | 203 | #define PACK_DWORD64( hi, lo ) ( ( (DWORD64)(hi) << 32 ) | (DWORD)(lo) )
|
204 | 204 | |
205 | -#define CreateFileMapping( a, b, c, d, e, f ) \
|
|
206 | - CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f )
|
|
207 | -#define MapViewOfFile( a, b, c, d, e ) \
|
|
208 | - MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e )
|
|
205 | +#define CreateFileMapping( a, b, c, d, e, f ) \
|
|
206 | + CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f )
|
|
207 | +#define MapViewOfFile( a, b, c, d, e ) \
|
|
208 | + MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e )
|
|
209 | 209 | |
210 | 210 | FT_LOCAL_DEF( HANDLE )
|
211 | - CreateFileA( LPCSTR lpFileName,
|
|
212 | - DWORD dwDesiredAccess,
|
|
213 | - DWORD dwShareMode,
|
|
214 | - LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
|
215 | - DWORD dwCreationDisposition,
|
|
216 | - DWORD dwFlagsAndAttributes,
|
|
217 | - HANDLE hTemplateFile )
|
|
211 | + CreateFileA( LPCSTR lpFileName,
|
|
212 | + DWORD dwDesiredAccess,
|
|
213 | + DWORD dwShareMode,
|
|
214 | + LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
|
215 | + DWORD dwCreationDisposition,
|
|
216 | + DWORD dwFlagsAndAttributes,
|
|
217 | + HANDLE hTemplateFile )
|
|
218 | 218 | {
|
219 | - int len;
|
|
220 | - LPWSTR lpFileNameW;
|
|
219 | + int len;
|
|
220 | + LPWSTR lpFileNameW;
|
|
221 | 221 | |
222 | 222 | CREATEFILE2_EXTENDED_PARAMETERS createExParams = {
|
223 | - sizeof ( CREATEFILE2_EXTENDED_PARAMETERS ),
|
|
224 | - dwFlagsAndAttributes & 0x0000FFFF,
|
|
225 | - dwFlagsAndAttributes & 0xFFF00000,
|
|
226 | - dwFlagsAndAttributes & 0x000F0000,
|
|
227 | - lpSecurityAttributes,
|
|
228 | - hTemplateFile };
|
|
223 | + sizeof ( CREATEFILE2_EXTENDED_PARAMETERS ),
|
|
224 | + dwFlagsAndAttributes & 0x0000FFFF,
|
|
225 | + dwFlagsAndAttributes & 0xFFF00000,
|
|
226 | + dwFlagsAndAttributes & 0x000F0000,
|
|
227 | + lpSecurityAttributes,
|
|
228 | + hTemplateFile };
|
|
229 | 229 | |
230 | 230 | |
231 | 231 | /* allocate memory space for converted path name */
|
... | ... | @@ -253,20 +253,21 @@ |
253 | 253 | |
254 | 254 | |
255 | 255 | #if defined( _WIN32_WCE )
|
256 | + |
|
256 | 257 | /* malloc.h provides implementation of alloca()/_alloca() */
|
257 | 258 | #include <malloc.h>
|
258 | 259 | |
259 | 260 | FT_LOCAL_DEF( HANDLE )
|
260 | - CreateFileA( LPCSTR lpFileName,
|
|
261 | - DWORD dwDesiredAccess,
|
|
262 | - DWORD dwShareMode,
|
|
263 | - LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
|
264 | - DWORD dwCreationDisposition,
|
|
265 | - DWORD dwFlagsAndAttributes,
|
|
266 | - HANDLE hTemplateFile )
|
|
261 | + CreateFileA( LPCSTR lpFileName,
|
|
262 | + DWORD dwDesiredAccess,
|
|
263 | + DWORD dwShareMode,
|
|
264 | + LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
|
265 | + DWORD dwCreationDisposition,
|
|
266 | + DWORD dwFlagsAndAttributes,
|
|
267 | + HANDLE hTemplateFile )
|
|
267 | 268 | {
|
268 | - int len;
|
|
269 | - LPWSTR lpFileNameW;
|
|
269 | + int len;
|
|
270 | + LPWSTR lpFileNameW;
|
|
270 | 271 | |
271 | 272 | |
272 | 273 | /* allocate memory space for converted path name */
|
... | ... | @@ -293,12 +294,13 @@ |
293 | 294 | |
294 | 295 | #endif
|
295 | 296 | |
297 | + |
|
296 | 298 | #if defined( _WIN32_WCE ) || defined ( _WIN32_WINDOWS ) || \
|
297 | 299 | !defined( _WIN32_WINNT ) || _WIN32_WINNT <= 0x0400
|
298 | 300 | |
299 | 301 | FT_LOCAL_DEF( BOOL )
|
300 | - GetFileSizeEx( HANDLE hFile,
|
|
301 | - PLARGE_INTEGER lpFileSize )
|
|
302 | + GetFileSizeEx( HANDLE hFile,
|
|
303 | + PLARGE_INTEGER lpFileSize )
|
|
302 | 304 | {
|
303 | 305 | lpFileSize->u.LowPart = GetFileSize( hFile,
|
304 | 306 | (DWORD *)&lpFileSize->u.HighPart );
|
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | <p>This directory contains solution and project files for
|
13 | 13 | Visual C++ 2010 or newer, named <tt>freetype.sln</tt>,
|
14 | 14 | and <tt>freetype.vcxproj</tt>. It compiles the following libraries
|
15 | -from the FreeType 2.11.1 sources:</p>
|
|
15 | +from the FreeType 2.12.0 sources:</p>
|
|
16 | 16 | |
17 | 17 | <ul>
|
18 | 18 | <li>freetype.dll using 'Release' or 'Debug' configurations</li>
|
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | <p>This directory contains project files <tt>freetype.dsp</tt> for
|
13 | 13 | Visual C++ 6.0, and <tt>freetype.vcproj</tt> for Visual C++ 2002
|
14 | 14 | through 2008, which you might need to upgrade automatically.
|
15 | -It compiles the following libraries from the FreeType 2.11.1 sources:</p>
|
|
15 | +It compiles the following libraries from the FreeType 2.12.0 sources:</p>
|
|
16 | 16 | |
17 | 17 | <ul>
|
18 | 18 | <li>freetype.dll using 'Release' or 'Debug' configurations</li>
|
... | ... | @@ -21,7 +21,7 @@ the following targets: |
21 | 21 | <li>PPC/SP WM6 (Windows Mobile 6)</li>
|
22 | 22 | </ul>
|
23 | 23 | |
24 | -It compiles the following libraries from the FreeType 2.11.1 sources:</p>
|
|
24 | +It compiles the following libraries from the FreeType 2.12.0 sources:</p>
|
|
25 | 25 | |
26 | 26 | <ul>
|
27 | 27 | <pre>
|
... | ... | @@ -10,18 +10,42 @@ CHANGES BETWEEN 2.11.1 and 2.12.0 |
10 | 10 | programs have been set up to use 'librsvg' as the rendering
|
11 | 11 | library.
|
12 | 12 | |
13 | - This work was Moazin Kathri's GSoC 2019 project.
|
|
13 | + This work was Moazin Khatti's GSoC 2019 project.
|
|
14 | + |
|
14 | 15 | |
15 | 16 | II. MISCELLANEOUS
|
16 | 17 | |
18 | + - The handling of fonts with an 'sbix' table has been improved.
|
|
19 | + |
|
20 | + - Corrected bitmap offsets.
|
|
21 | + |
|
22 | + - A new tag `FT_PARAM_TAG_IGNORE_SBIX` for `FT_Open_Face` makes
|
|
23 | + FreeType ignore an 'sbix' table in a font, allowing applications
|
|
24 | + to access the font's outline glyphs.
|
|
25 | + |
|
26 | + - `FT_FACE_FLAG_SBIX` and `FT_FACE_FLAG_SBIX_OVERLAY` together
|
|
27 | + with their corresponding preprocessor macros `FT_HAS_SBIX` and
|
|
28 | + `FT_HAS_SBIX_OVERLAY` enable applications to treat 'sbix' tables
|
|
29 | + as described in the OpenType specification.
|
|
30 | + |
|
17 | 31 | - The internal 'zlib' code has been updated to be in sync with the
|
18 | 32 | current 'zlib' version (1.2.11).
|
19 | 33 | |
34 | + - The previously internal load flag `FT_LOAD_SBITS_ONLY` is now
|
|
35 | + public.
|
|
36 | + |
|
20 | 37 | - Some minor improvements of the building systems, in particular
|
21 | 38 | handling of the 'zlib' library (internal vs. external).
|
22 | 39 | |
40 | + - Support for non-desktop Universal Windows Platform.
|
|
41 | + |
|
23 | 42 | - Various other minor bug and documentation fixes.
|
24 | 43 | |
44 | + - The `ftdump` demo program shows more information for Type1 fonts
|
|
45 | + if option `-n` is given.
|
|
46 | + |
|
47 | + - `ftgrid` can now display embedded bitmap strikes.
|
|
48 | + |
|
25 | 49 | |
26 | 50 | ======================================================================
|
27 | 51 |
... | ... | @@ -60,6 +60,7 @@ found on _most_ systems, but not all of them: |
60 | 60 | |
61 | 61 | release libtool so
|
62 | 62 | -------------------------------
|
63 | + 2.12.0 24.2.18 6.18.2
|
|
63 | 64 | 2.11.1 24.1.18 6.18.1
|
64 | 65 | 2.11.0 24.0.18 6.18.0
|
65 | 66 | 2.10.4 23.4.17 6.17.4
|
1 | -.TH FREETYPE-CONFIG 1 "December 2021" "FreeType 2.11.1"
|
|
1 | +.TH FREETYPE-CONFIG 1 "March 2022" "FreeType 2.12.0"
|
|
2 | 2 | .
|
3 | 3 | .
|
4 | 4 | .SH NAME
|
... | ... | @@ -77,13 +77,14 @@ How to prepare a new release |
77 | 77 | |
78 | 78 | #!/bin/sh
|
79 | 79 | |
80 | - VERSION=2.10.4
|
|
80 | + VERSION=2.12.0
|
|
81 | 81 | SAVANNAH_USER=wl
|
82 | 82 | SOURCEFORGE_USER=wlemb
|
83 | + GPG_KEY_ID=BE6C3AAC63AD8E3F
|
|
83 | 84 | |
84 | 85 | #####################################################################
|
85 | 86 | |
86 | - GPG='/usr/bin/gpg --batch --no-tty'
|
|
87 | + GPG="/usr/bin/gpg --batch --no-tty --local-user $GPG_KEY_ID"
|
|
87 | 88 | |
88 | 89 | version=`echo $VERSION | sed "s/\\.//g"`
|
89 | 90 |
... | ... | @@ -1541,9 +1541,10 @@ FT_BEGIN_HEADER |
1541 | 1541 | *
|
1542 | 1542 | * @note:
|
1543 | 1543 | * For backward compatibility, a font with an 'sbix' table is treated as
|
1544 | - * a bitmap-only face. Using @FT_Open_Face with @FT_PARAM_TAG_NO_SBIX,
|
|
1545 | - * an application can switch off 'sbix' handling so that the face is
|
|
1546 | - * treated as an ordinary outline font with scalable outlines.
|
|
1544 | + * a bitmap-only face. Using @FT_Open_Face with
|
|
1545 | + * @FT_PARAM_TAG_IGNORE_SBIX, an application can switch off 'sbix'
|
|
1546 | + * handling so that the face is treated as an ordinary outline font with
|
|
1547 | + * scalable outlines.
|
|
1547 | 1548 | *
|
1548 | 1549 | * Here is some pseudo code that roughly illustrates how to implement
|
1549 | 1550 | * 'sbix' handling according to the OpenType specification.
|
... | ... | @@ -4940,8 +4941,8 @@ FT_BEGIN_HEADER |
4940 | 4941 | *
|
4941 | 4942 | */
|
4942 | 4943 | #define FREETYPE_MAJOR 2
|
4943 | -#define FREETYPE_MINOR 11
|
|
4944 | -#define FREETYPE_PATCH 1
|
|
4944 | +#define FREETYPE_MINOR 12
|
|
4945 | +#define FREETYPE_PATCH 0
|
|
4945 | 4946 | |
4946 | 4947 | |
4947 | 4948 | /**************************************************************************
|
... | ... | @@ -469,7 +469,7 @@ |
469 | 469 | FT_Error error = FT_Err_Ok;
|
470 | 470 | FT_Memory memory = svg_glyph->library->memory;
|
471 | 471 | |
472 | - FT_SVG_Document document;
|
|
472 | + FT_SVG_Document document = NULL;
|
|
473 | 473 | |
474 | 474 | |
475 | 475 | if ( FT_NEW( document ) )
|
... | ... | @@ -334,7 +334,7 @@ |
334 | 334 | /* if SVG table exists, allocate the space in `slot->other` */
|
335 | 335 | if ( slot->face->face_flags & FT_FACE_FLAG_SVG )
|
336 | 336 | {
|
337 | - FT_SVG_Document document;
|
|
337 | + FT_SVG_Document document = NULL;
|
|
338 | 338 | |
339 | 339 | |
340 | 340 | if ( FT_NEW( document ) )
|
... | ... | @@ -18,8 +18,8 @@ |
18 | 18 | |
19 | 19 | #include<windows.h>
|
20 | 20 | |
21 | -#define FT_VERSION 2,11,1,0
|
|
22 | -#define FT_VERSION_STR "2.11.1"
|
|
21 | +#define FT_VERSION 2,12,0,0
|
|
22 | +#define FT_VERSION_STR "2.12.0"
|
|
23 | 23 | |
24 | 24 | VS_VERSION_INFO VERSIONINFO
|
25 | 25 | FILEVERSION FT_VERSION
|
... | ... | @@ -45,7 +45,7 @@ BEGIN |
45 | 45 | VALUE "FileVersion", FT_VERSION_STR
|
46 | 46 | VALUE "ProductName", "FreeType"
|
47 | 47 | VALUE "ProductVersion", FT_VERSION_STR
|
48 | - VALUE "LegalCopyright", "\251 2000-2021 The FreeType Project www.freetype.org. All rights reserved."
|
|
48 | + VALUE "LegalCopyright", "\251 2000-2022 The FreeType Project www.freetype.org. All rights reserved."
|
|
49 | 49 | VALUE "InternalName", "freetype"
|
50 | 50 | VALUE "OriginalFilename", FT_FILENAME
|
51 | 51 | END
|
... | ... | @@ -112,7 +112,7 @@ |
112 | 112 | FTC_CMapQuery query = (FTC_CMapQuery)ftcquery;
|
113 | 113 | FT_Error error;
|
114 | 114 | FT_Memory memory = cache->memory;
|
115 | - FTC_CMapNode node;
|
|
115 | + FTC_CMapNode node = NULL;
|
|
116 | 116 | FT_UInt nn;
|
117 | 117 | |
118 | 118 |
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | {
|
62 | 62 | FT_Memory memory = cache->memory;
|
63 | 63 | FT_Error error;
|
64 | - FTC_INode inode;
|
|
64 | + FTC_INode inode = NULL;
|
|
65 | 65 | |
66 | 66 | |
67 | 67 | if ( !FT_QNEW( inode ) )
|
... | ... | @@ -344,7 +344,7 @@ |
344 | 344 | {
|
345 | 345 | FT_Error error;
|
346 | 346 | FT_Memory memory;
|
347 | - FT_LZWFile zip;
|
|
347 | + FT_LZWFile zip = NULL;
|
|
348 | 348 | |
349 | 349 | |
350 | 350 | if ( !stream || !source )
|
... | ... | @@ -1115,7 +1115,7 @@ |
1115 | 1115 | {
|
1116 | 1116 | FT_Memory memory = parser->memory;
|
1117 | 1117 | FT_UInt len = (FT_UInt)( limit - cur );
|
1118 | - FT_String* string;
|
|
1118 | + FT_String* string = NULL;
|
|
1119 | 1119 | |
1120 | 1120 | |
1121 | 1121 | if ( cur >= limit )
|
... | ... | @@ -646,7 +646,7 @@ |
646 | 646 | T1_Private* priv,
|
647 | 647 | PSH_Globals *aglobals )
|
648 | 648 | {
|
649 | - PSH_Globals globals;
|
|
649 | + PSH_Globals globals = NULL;
|
|
650 | 650 | FT_Error error;
|
651 | 651 | |
652 | 652 |
... | ... | @@ -1077,7 +1077,7 @@ |
1077 | 1077 | static FT_Error
|
1078 | 1078 | split_sdf_conic( FT_Memory memory,
|
1079 | 1079 | FT_26D6_Vec* control_points,
|
1080 | - FT_Int max_splits,
|
|
1080 | + FT_UInt max_splits,
|
|
1081 | 1081 | SDF_Edge** out )
|
1082 | 1082 | {
|
1083 | 1083 | FT_Error error = FT_Err_Ok;
|
... | ... | @@ -1146,7 +1146,7 @@ |
1146 | 1146 | static FT_Error
|
1147 | 1147 | split_sdf_cubic( FT_Memory memory,
|
1148 | 1148 | FT_26D6_Vec* control_points,
|
1149 | - FT_Int max_splits,
|
|
1149 | + FT_UInt max_splits,
|
|
1150 | 1150 | SDF_Edge** out )
|
1151 | 1151 | {
|
1152 | 1152 | FT_Error error = FT_Err_Ok;
|
... | ... | @@ -3288,7 +3288,7 @@ |
3288 | 3288 | buffer = (FT_SDFFormat*)bitmap->buffer;
|
3289 | 3289 | |
3290 | 3290 | if ( USE_SQUARED_DISTANCES )
|
3291 | - sp_sq = FT_INT_16D16( spread * spread );
|
|
3291 | + sp_sq = FT_INT_16D16( (FT_Int)( spread * spread ) );
|
|
3292 | 3292 | else
|
3293 | 3293 | sp_sq = fixed_spread;
|
3294 | 3294 |
... | ... | @@ -319,7 +319,7 @@ |
319 | 319 | #ifdef FT_CONFIG_OPTION_USE_ZLIB
|
320 | 320 | |
321 | 321 | FT_ULong uncomp_size;
|
322 | - FT_Byte* uncomp_buffer;
|
|
322 | + FT_Byte* uncomp_buffer = NULL;
|
|
323 | 323 | |
324 | 324 | |
325 | 325 | /*
|