diff options
Diffstat (limited to 'freetype/builds/windows')
-rw-r--r-- | freetype/builds/windows/detect.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/ftdebug.c | 8 | ||||
-rw-r--r-- | freetype/builds/windows/ftsystem.c | 91 | ||||
-rw-r--r-- | freetype/builds/windows/vc2010/freetype.vcxproj | 1 | ||||
-rw-r--r-- | freetype/builds/windows/vc2010/freetype.vcxproj.filters | 5 | ||||
-rw-r--r-- | freetype/builds/windows/vc2010/index.html | 2 | ||||
-rw-r--r-- | freetype/builds/windows/visualc/freetype.vcproj | 8 | ||||
-rw-r--r-- | freetype/builds/windows/visualc/index.html | 2 | ||||
-rw-r--r-- | freetype/builds/windows/visualce/index.html | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-bcc.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-bccd.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-dev.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-gcc.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-icc.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-intl.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-lcc.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-mingw32.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-vcc.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/w32-wat.mk | 2 | ||||
-rw-r--r-- | freetype/builds/windows/win32-def.mk | 2 |
20 files changed, 112 insertions, 31 deletions
diff --git a/freetype/builds/windows/detect.mk b/freetype/builds/windows/detect.mk index 3eef47aa..759a2e64 100644 --- a/freetype/builds/windows/detect.mk +++ b/freetype/builds/windows/detect.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/ftdebug.c b/freetype/builds/windows/ftdebug.c index 94c22da7..a65f5446 100644 --- a/freetype/builds/windows/ftdebug.c +++ b/freetype/builds/windows/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component for Win32 (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2022 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -136,6 +136,8 @@ va_start( ap, fmt ); vfprintf( stderr, fmt, ap ); +#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \ + ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 ) if ( IsDebuggerPresent() ) { static char buf[1024]; @@ -144,6 +146,7 @@ vsnprintf( buf, sizeof buf, fmt, ap ); OutputDebugStringA( buf ); } +#endif va_end( ap ); } @@ -159,6 +162,8 @@ va_start( ap, fmt ); vfprintf( stderr, fmt, ap ); +#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \ + ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 ) if ( IsDebuggerPresent() ) { static char buf[1024]; @@ -167,6 +172,7 @@ vsnprintf( buf, sizeof buf, fmt, ap ); OutputDebugStringA( buf ); } +#endif va_end( ap ); exit( EXIT_FAILURE ); diff --git a/freetype/builds/windows/ftsystem.c b/freetype/builds/windows/ftsystem.c index 1ebadd49..6557cea1 100644 --- a/freetype/builds/windows/ftsystem.c +++ b/freetype/builds/windows/ftsystem.c @@ -4,7 +4,7 @@ * * Windows-specific FreeType low-level system interface (body). * - * Copyright (C) 2021 by + * Copyright (C) 2021-2022 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -196,19 +196,77 @@ } -#ifdef _WIN32_WCE + /* non-desktop Universal Windows Platform */ +#if defined( WINAPI_FAMILY ) && WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP + +#define PACK_DWORD64( hi, lo ) ( ( (DWORD64)(hi) << 32 ) | (DWORD)(lo) ) + +#define CreateFileMapping( a, b, c, d, e, f ) \ + CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f ) +#define MapViewOfFile( a, b, c, d, e ) \ + MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e ) FT_LOCAL_DEF( HANDLE ) - CreateFileA( LPCSTR lpFileName, - DWORD dwDesiredAccess, - DWORD dwShareMode, - LPSECURITY_ATTRIBUTES lpSecurityAttributes, - DWORD dwCreationDisposition, - DWORD dwFlagsAndAttributes, - HANDLE hTemplateFile ) + CreateFileA( LPCSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile ) { - int len; - LPWSTR lpFileNameW; + int len; + LPWSTR lpFileNameW; + + CREATEFILE2_EXTENDED_PARAMETERS createExParams = { + sizeof ( CREATEFILE2_EXTENDED_PARAMETERS ), + dwFlagsAndAttributes & 0x0000FFFF, + dwFlagsAndAttributes & 0xFFF00000, + dwFlagsAndAttributes & 0x000F0000, + lpSecurityAttributes, + hTemplateFile }; + + + /* allocate memory space for converted path name */ + len = MultiByteToWideChar( CP_ACP, MB_ERR_INVALID_CHARS, + lpFileName, -1, NULL, 0 ); + + lpFileNameW = (LPWSTR)_alloca( len * sizeof ( WCHAR ) ); + + if ( !len || !lpFileNameW ) + { + FT_ERROR(( "FT_Stream_Open: cannot convert file name to LPWSTR\n" )); + return INVALID_HANDLE_VALUE; + } + + /* now it is safe to do the translation */ + MultiByteToWideChar( CP_ACP, MB_ERR_INVALID_CHARS, + lpFileName, -1, lpFileNameW, len ); + + /* open the file */ + return CreateFile2( lpFileNameW, dwDesiredAccess, dwShareMode, + dwCreationDisposition, &createExParams ); + } + +#endif + + +#if defined( _WIN32_WCE ) + + /* malloc.h provides implementation of alloca()/_alloca() */ + #include <malloc.h> + + FT_LOCAL_DEF( HANDLE ) + CreateFileA( LPCSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile ) + { + int len; + LPWSTR lpFileNameW; /* allocate memory space for converted path name */ @@ -233,10 +291,15 @@ dwFlagsAndAttributes, hTemplateFile ); } +#endif + + +#if defined( _WIN32_WCE ) || defined ( _WIN32_WINDOWS ) || \ + !defined( _WIN32_WINNT ) || _WIN32_WINNT <= 0x0400 FT_LOCAL_DEF( BOOL ) - GetFileSizeEx( HANDLE hFile, - PLARGE_INTEGER lpFileSize ) + GetFileSizeEx( HANDLE hFile, + PLARGE_INTEGER lpFileSize ) { lpFileSize->u.LowPart = GetFileSize( hFile, (DWORD *)&lpFileSize->u.HighPart ); @@ -248,7 +311,7 @@ return TRUE; } -#endif /* _WIN32_WCE */ +#endif /* documentation is in ftobjs.h */ diff --git a/freetype/builds/windows/vc2010/freetype.vcxproj b/freetype/builds/windows/vc2010/freetype.vcxproj index 28411061..53eef596 100644 --- a/freetype/builds/windows/vc2010/freetype.vcxproj +++ b/freetype/builds/windows/vc2010/freetype.vcxproj @@ -485,6 +485,7 @@ <ClCompile Include="..\..\..\src\sfnt\sfnt.c" /> <ClCompile Include="..\..\..\src\smooth\smooth.c" /> <ClCompile Include="..\..\..\src\sdf\sdf.c" /> + <ClCompile Include="..\..\..\src\svg\svg.c" /> <ClCompile Include="..\..\..\src\truetype\truetype.c" /> <ClCompile Include="..\..\..\src\type1\type1.c" /> <ClCompile Include="..\..\..\src\type42\type42.c" /> diff --git a/freetype/builds/windows/vc2010/freetype.vcxproj.filters b/freetype/builds/windows/vc2010/freetype.vcxproj.filters index f0a075c6..08e4cdeb 100644 --- a/freetype/builds/windows/vc2010/freetype.vcxproj.filters +++ b/freetype/builds/windows/vc2010/freetype.vcxproj.filters @@ -68,6 +68,9 @@ <ClCompile Include="..\..\..\src\smooth\smooth.c"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\svg\svg.c"> + <Filter>Source Files</Filter> + </ClCompile> <ClCompile Include="..\..\..\src\truetype\truetype.c"> <Filter>Source Files</Filter> </ClCompile> @@ -143,4 +146,4 @@ <Filter>Source Files</Filter> </ResourceCompile> </ItemGroup> -</Project>
\ No newline at end of file +</Project> diff --git a/freetype/builds/windows/vc2010/index.html b/freetype/builds/windows/vc2010/index.html index dcb1944b..904d5e9b 100644 --- a/freetype/builds/windows/vc2010/index.html +++ b/freetype/builds/windows/vc2010/index.html @@ -12,7 +12,7 @@ <p>This directory contains solution and project files for Visual C++ 2010 or newer, named <tt>freetype.sln</tt>, and <tt>freetype.vcxproj</tt>. It compiles the following libraries -from the FreeType 2.11.1 sources:</p> +from the FreeType 2.12.1 sources:</p> <ul> <li>freetype.dll using 'Release' or 'Debug' configurations</li> diff --git a/freetype/builds/windows/visualc/freetype.vcproj b/freetype/builds/windows/visualc/freetype.vcproj index f69bc421..85c5f1ca 100644 --- a/freetype/builds/windows/visualc/freetype.vcproj +++ b/freetype/builds/windows/visualc/freetype.vcproj @@ -435,9 +435,17 @@ </FileConfiguration> </File> <File + RelativePath="..\..\..\src\sdf\sdf.c" + > + </File> + <File RelativePath="..\..\..\src\smooth\smooth.c" > </File> + <File + RelativePath="..\..\..\src\svg\svg.c" + > + </File> <Filter Name="FT_MODULES" > diff --git a/freetype/builds/windows/visualc/index.html b/freetype/builds/windows/visualc/index.html index d0c8f2f9..fdced23d 100644 --- a/freetype/builds/windows/visualc/index.html +++ b/freetype/builds/windows/visualc/index.html @@ -12,7 +12,7 @@ <p>This directory contains project files <tt>freetype.dsp</tt> for Visual C++ 6.0, and <tt>freetype.vcproj</tt> for Visual C++ 2002 through 2008, which you might need to upgrade automatically. -It compiles the following libraries from the FreeType 2.11.1 sources:</p> +It compiles the following libraries from the FreeType 2.12.1 sources:</p> <ul> <li>freetype.dll using 'Release' or 'Debug' configurations</li> diff --git a/freetype/builds/windows/visualce/index.html b/freetype/builds/windows/visualce/index.html index b50ef79b..579edb56 100644 --- a/freetype/builds/windows/visualce/index.html +++ b/freetype/builds/windows/visualce/index.html @@ -21,7 +21,7 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.11.1 sources:</p> +It compiles the following libraries from the FreeType 2.12.1 sources:</p> <ul> <pre> diff --git a/freetype/builds/windows/w32-bcc.mk b/freetype/builds/windows/w32-bcc.mk index d497dd15..b88dbac6 100644 --- a/freetype/builds/windows/w32-bcc.mk +++ b/freetype/builds/windows/w32-bcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-bccd.mk b/freetype/builds/windows/w32-bccd.mk index 701b83d2..2be492ce 100644 --- a/freetype/builds/windows/w32-bccd.mk +++ b/freetype/builds/windows/w32-bccd.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-dev.mk b/freetype/builds/windows/w32-dev.mk index a2f46447..a58f8247 100644 --- a/freetype/builds/windows/w32-dev.mk +++ b/freetype/builds/windows/w32-dev.mk @@ -5,7 +5,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-gcc.mk b/freetype/builds/windows/w32-gcc.mk index 4117453e..52b89333 100644 --- a/freetype/builds/windows/w32-gcc.mk +++ b/freetype/builds/windows/w32-gcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-icc.mk b/freetype/builds/windows/w32-icc.mk index ebab45ef..a05a3a78 100644 --- a/freetype/builds/windows/w32-icc.mk +++ b/freetype/builds/windows/w32-icc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-intl.mk b/freetype/builds/windows/w32-intl.mk index 0fef8d72..fb5c9609 100644 --- a/freetype/builds/windows/w32-intl.mk +++ b/freetype/builds/windows/w32-intl.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-lcc.mk b/freetype/builds/windows/w32-lcc.mk index 7aed5b51..66de0aa5 100644 --- a/freetype/builds/windows/w32-lcc.mk +++ b/freetype/builds/windows/w32-lcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-mingw32.mk b/freetype/builds/windows/w32-mingw32.mk index 67317788..e3b89697 100644 --- a/freetype/builds/windows/w32-mingw32.mk +++ b/freetype/builds/windows/w32-mingw32.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-vcc.mk b/freetype/builds/windows/w32-vcc.mk index 278624f3..4a48407a 100644 --- a/freetype/builds/windows/w32-vcc.mk +++ b/freetype/builds/windows/w32-vcc.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/w32-wat.mk b/freetype/builds/windows/w32-wat.mk index df2ece36..4458b234 100644 --- a/freetype/builds/windows/w32-wat.mk +++ b/freetype/builds/windows/w32-wat.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, diff --git a/freetype/builds/windows/win32-def.mk b/freetype/builds/windows/win32-def.mk index 15bfd0cf..eb96181d 100644 --- a/freetype/builds/windows/win32-def.mk +++ b/freetype/builds/windows/win32-def.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2022 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, |