diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/base')
40 files changed, 160 insertions, 622 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftadvanc.c b/Build/source/libs/freetype2/freetype-src/src/base/ftadvanc.c index f20b9928aa1..c689e6a15ba 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftadvanc.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftadvanc.c @@ -4,7 +4,7 @@ * * Quick computation of advance widths (body). * - * Copyright (C) 2008-2021 by + * Copyright (C) 2008-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftbase.c b/Build/source/libs/freetype2/freetype-src/src/base/ftbase.c index 7366bc46db1..bfbaffd64e9 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftbase.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftbase.c @@ -4,7 +4,7 @@ * * Single object library component (body only). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftbase.h b/Build/source/libs/freetype2/freetype-src/src/base/ftbase.h index 963ff93d681..25afa9bc314 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftbase.h +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftbase.h @@ -4,7 +4,7 @@ * * Private functions used in the `base' module (specification). * - * Copyright (C) 2008-2021 by + * Copyright (C) 2008-2020 by * David Turner, Robert Wilhelm, Werner Lemberg, and suzuki toshiya. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftbbox.c b/Build/source/libs/freetype2/freetype-src/src/base/ftbbox.c index 4db29cbf83c..30a4eba0b3b 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftbbox.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftbbox.c @@ -4,7 +4,7 @@ * * FreeType bbox computation (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftbdf.c b/Build/source/libs/freetype2/freetype-src/src/base/ftbdf.c index f93ca8eb755..fc374c66751 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftbdf.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftbdf.c @@ -4,7 +4,7 @@ * * FreeType API for accessing BDF-specific strings (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftbitmap.c b/Build/source/libs/freetype2/freetype-src/src/base/ftbitmap.c index e504db17210..584213ddcff 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftbitmap.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftbitmap.c @@ -4,7 +4,7 @@ * * FreeType utility functions for bitmaps (body). * - * Copyright (C) 2004-2021 by + * Copyright (C) 2004-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -907,8 +907,8 @@ final_rows = ( final_ury - final_lly ) >> 6; #ifdef FT_DEBUG_LEVEL_TRACE - FT_TRACE5(( "FT_Bitmap_Blend:\n" )); - FT_TRACE5(( " source bitmap: (%ld, %ld) -- (%ld, %ld); %d x %d\n", + FT_TRACE5(( "FT_Bitmap_Blend:\n" + " source bitmap: (%ld, %ld) -- (%ld, %ld); %d x %d\n", source_llx / 64, source_lly / 64, source_urx / 64, source_ury / 64, source_->width, source_->rows )); diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftcalc.c b/Build/source/libs/freetype2/freetype-src/src/base/ftcalc.c index e60303afc8d..b5258c85a1b 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftcalc.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftcalc.c @@ -4,7 +4,7 @@ * * Arithmetic computations (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -109,7 +109,7 @@ #ifndef FT_MSB - FT_BASE_DEF( FT_Int ) + FT_BASE_DEF ( FT_Int ) FT_MSB( FT_UInt32 z ) { FT_Int shift = 0; diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftcid.c b/Build/source/libs/freetype2/freetype-src/src/base/ftcid.c index 216ee2b3e49..ce8a876adc6 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftcid.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftcid.c @@ -4,7 +4,7 @@ * * FreeType API for accessing CID font information. * - * Copyright (C) 2007-2021 by + * Copyright (C) 2007-2020 by * Derek Clegg and Michael Toftdal. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftcolor.c b/Build/source/libs/freetype2/freetype-src/src/base/ftcolor.c index 3ef3256b202..a50d6800967 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftcolor.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftcolor.c @@ -4,7 +4,7 @@ * * FreeType's glyph color management (body). * - * Copyright (C) 2018-2021 by + * Copyright (C) 2018-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c b/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c index 8425ca70280..eb0d6516070 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftdbgmem.c @@ -4,7 +4,7 @@ * * Memory debugger (body). * - * Copyright (C) 2001-2021 by + * Copyright (C) 2001-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftdebug.c b/Build/source/libs/freetype2/freetype-src/src/base/ftdebug.c index bf4018652c8..62cf680b015 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftdebug.c @@ -4,7 +4,7 @@ * * Debugging and logging component (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -42,53 +42,7 @@ #include <freetype/freetype.h> -#include <freetype/ftlogging.h> #include <freetype/internal/ftdebug.h> -#include <freetype/internal/ftobjs.h> - - -#ifdef FT_DEBUG_LOGGING - - /************************************************************************** - * - * Variables used to control logging. - * - * 1. `ft_default_trace_level` stores the value of trace levels, which are - * provided to FreeType using the `FT2_DEBUG` environment variable. - * - * 2. `ft_fileptr` stores the `FILE*` handle. - * - * 3. `ft_component` is a string that holds the name of `FT_COMPONENT`. - * - * 4. The flag `ft_component_flag` prints the name of `FT_COMPONENT` along - * with the actual log message if set to true. - * - * 5. The flag `ft_timestamp_flag` prints time along with the actual log - * message if set to ture. - * - * 6. `ft_have_newline_char` is used to differentiate between a log - * message with and without a trailing newline character. - * - * 7. `ft_custom_trace_level` stores the custom trace level value, which - * is provided by the user at run-time. - * - * We use `static` to avoid 'unused variable' warnings. - * - */ - static const char* ft_default_trace_level = NULL; - static FILE* ft_fileptr = NULL; - static const char* ft_component = NULL; - static FT_Bool ft_component_flag = FALSE; - static FT_Bool ft_timestamp_flag = FALSE; - static FT_Bool ft_have_newline_char = TRUE; - static const char* ft_custom_trace_level = NULL; - - /* declared in ftdebug.h */ - - dlg_handler ft_default_log_handler = NULL; - FT_Custom_Log_Handler custom_output_handler = NULL; - -#endif /* FT_DEBUG_LOGGING*/ #ifdef FT_DEBUG_LEVEL_ERROR @@ -152,6 +106,7 @@ #endif /* FT_DEBUG_LEVEL_ERROR */ + #ifdef FT_DEBUG_LEVEL_TRACE /* array of trace levels, initialized to 0; */ @@ -240,17 +195,8 @@ FT_BASE_DEF( void ) ft_debug_init( void ) { - const char* ft2_debug = NULL; - + const char* ft2_debug = ft_getenv( "FT2_DEBUG" ); -#ifdef FT_DEBUG_LOGGING - if ( ft_custom_trace_level != NULL ) - ft2_debug = ft_custom_trace_level; - else - ft2_debug = ft_default_trace_level; -#else - ft2_debug = ft_getenv( "FT2_DEBUG" ); -#endif if ( ft2_debug ) { @@ -264,49 +210,6 @@ if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' ) continue; -#ifdef FT_DEBUG_LOGGING - - /* check extra arguments for logging */ - if ( *p == '-' ) - { - const char* r = ++p; - - - if ( *r == 'v' ) - { - const char* s = ++r; - - - ft_component_flag = TRUE; - - if ( *s == 't' ) - { - ft_timestamp_flag = TRUE; - p++; - } - - p++; - } - - else if ( *r == 't' ) - { - const char* s = ++r; - - - ft_timestamp_flag = TRUE; - - if ( *s == 'v' ) - { - ft_component_flag = TRUE; - p++; - } - - p++; - } - } - -#endif /* FT_DEBUG_LOGGING */ - /* read toggle name, followed by ':' */ q = p; while ( *p && *p != ':' ) @@ -408,237 +311,8 @@ /* nothing */ } -#endif /* !FT_DEBUG_LEVEL_TRACE */ - - -#ifdef FT_DEBUG_LOGGING - - /************************************************************************** - * - * Initialize and de-initialize 'dlg' library. - * - */ - - FT_BASE_DEF( void ) - ft_logging_init( void ) - { - ft_default_log_handler = ft_log_handler; - ft_default_trace_level = ft_getenv( "FT2_DEBUG" ); - - if ( ft_getenv( "FT_LOGGING_FILE" ) ) - ft_fileptr = ft_fopen( ft_getenv( "FT_LOGGING_FILE" ), "w" ); - else - ft_fileptr = stderr; - - ft_debug_init(); - - /* Set the default output handler for 'dlg'. */ - dlg_set_handler( ft_default_log_handler, NULL ); - } - - FT_BASE_DEF( void ) - ft_logging_deinit( void ) - { - if ( ft_fileptr != stderr ) - ft_fclose( ft_fileptr ); - } - - - /************************************************************************** - * - * An output log handler for FreeType. - * - */ - FT_BASE_DEF( void ) - ft_log_handler( const struct dlg_origin* origin, - const char* string, - void* data ) - { - char features_buf[128]; - char* bufp = features_buf; - - FT_UNUSED( data ); - - - if ( ft_have_newline_char ) - { - const char* features = NULL; - size_t features_length = 0; - - -#define FEATURES_TIMESTAMP "[%h:%m] " -#define FEATURES_COMPONENT "[%t] " -#define FEATURES_TIMESTAMP_COMPONENT "[%h:%m %t] " - - if ( ft_timestamp_flag && ft_component_flag ) - { - features = FEATURES_TIMESTAMP_COMPONENT; - features_length = sizeof ( FEATURES_TIMESTAMP_COMPONENT ); - } - else if ( ft_timestamp_flag ) - { - features = FEATURES_TIMESTAMP; - features_length = sizeof ( FEATURES_TIMESTAMP ); - } - else if ( ft_component_flag ) - { - features = FEATURES_COMPONENT; - features_length = sizeof ( FEATURES_COMPONENT ); - } - - if ( ft_component_flag || ft_timestamp_flag ) - { - ft_strncpy( features_buf, features, features_length ); - bufp += features_length - 1; - } - - if ( ft_component_flag ) - { - size_t tag_length = ft_strlen( *origin->tags ); - size_t i; - - - /* To vertically align tracing messages we compensate the */ - /* different FT_COMPONENT string lengths by inserting an */ - /* appropriate amount of space characters. */ - for ( i = 0; - i < FT_MAX_TRACE_LEVEL_LENGTH - tag_length; - i++ ) - *bufp++ = ' '; - } - } - - /* Finally add the format string for the tracing message. */ - *bufp++ = '%'; - *bufp++ = 'c'; - *bufp = '\0'; - - dlg_generic_outputf_stream( ft_fileptr, - (const char*)features_buf, - origin, - string, - dlg_default_output_styles, - true ); - - if ( ft_strrchr( string, '\n' ) ) - ft_have_newline_char = TRUE; - else - ft_have_newline_char = FALSE; - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - ft_add_tag( const char* tag ) - { - ft_component = tag; - - dlg_add_tag( tag, NULL ); - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - ft_remove_tag( const char* tag ) - { - dlg_remove_tag( tag, NULL ); - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Level( const char* level ) - { - ft_component_flag = FALSE; - ft_timestamp_flag = FALSE; - ft_custom_trace_level = level; - - ft_debug_init(); - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Default_Level( void ) - { - ft_component_flag = FALSE; - ft_timestamp_flag = FALSE; - ft_custom_trace_level = NULL; - - ft_debug_init(); - } - - - /************************************************************************** - * - * Functions to handle a custom log handler. - * - */ - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) - { - custom_output_handler = handler; - } - - - /* documentation is in ftlogging.h */ - - FT_EXPORT_DEF( void ) - FT_Set_Default_Log_Handler( void ) - { - custom_output_handler = NULL; - } - - - /* documentation is in ftdebug.h */ - FT_BASE_DEF( void ) - FT_Logging_Callback( const char* fmt, - ... ) - { - va_list ap; - - - va_start( ap, fmt ); - custom_output_handler( ft_component, fmt, ap ); - va_end( ap ); - } - -#else /* !FT_DEBUG_LOGGING */ - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Level( const char* level ) - { - FT_UNUSED( level ); - } - - - FT_EXPORT_DEF( void ) - FT_Trace_Set_Default_Level( void ) - { - /* nothing */ - } - - - FT_EXPORT_DEF( void ) - FT_Set_Log_Handler( FT_Custom_Log_Handler handler ) - { - FT_UNUSED( handler ); - } - - - FT_EXPORT_DEF( void ) - FT_Set_Default_Log_Handler( void ) - { - /* nothing */ - } - -#endif /* !FT_DEBUG_LOGGING */ +#endif /* !FT_DEBUG_LEVEL_TRACE */ /* END */ diff --git a/Build/source/libs/freetype2/freetype-src/src/base/fterrors.c b/Build/source/libs/freetype2/freetype-src/src/base/fterrors.c index 14649268f85..eba9e76563f 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/fterrors.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/fterrors.c @@ -4,7 +4,7 @@ * * FreeType API for error code handling. * - * Copyright (C) 2018-2021 by + * Copyright (C) 2018-2020 by * Armin Hasitzka, David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftfntfmt.c b/Build/source/libs/freetype2/freetype-src/src/base/ftfntfmt.c index 4e1b830190d..a45317e7973 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftfntfmt.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftfntfmt.c @@ -4,7 +4,7 @@ * * FreeType utility file for font formats (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftfstype.c b/Build/source/libs/freetype2/freetype-src/src/base/ftfstype.c index 57e904d6f41..bca548fc568 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftfstype.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftfstype.c @@ -4,7 +4,7 @@ * * FreeType utility file to access FSType data (body). * - * Copyright (C) 2008-2021 by + * Copyright (C) 2008-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftgasp.c b/Build/source/libs/freetype2/freetype-src/src/base/ftgasp.c index b744f0a4652..eed05a3265c 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftgasp.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftgasp.c @@ -4,7 +4,7 @@ * * Access of TrueType's `gasp' table (body). * - * Copyright (C) 2007-2021 by + * Copyright (C) 2007-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftgloadr.c b/Build/source/libs/freetype2/freetype-src/src/base/ftgloadr.c index 83ce0660aeb..05fc7692bb6 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftgloadr.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftgloadr.c @@ -4,7 +4,7 @@ * * The FreeType glyph loader (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftglyph.c b/Build/source/libs/freetype2/freetype-src/src/base/ftglyph.c index 9e3c3cd35cf..825eba2c4d4 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftglyph.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftglyph.c @@ -4,7 +4,7 @@ * * FreeType convenience functions to handle glyphs (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftgxval.c b/Build/source/libs/freetype2/freetype-src/src/base/ftgxval.c index e9567f77f34..f04df145261 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftgxval.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftgxval.c @@ -4,7 +4,7 @@ * * FreeType API for validating TrueTypeGX/AAT tables (body). * - * Copyright (C) 2004-2021 by + * Copyright (C) 2004-2020 by * Masatake YAMATO, Redhat K.K, * David Turner, Robert Wilhelm, and Werner Lemberg. * diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c b/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c index a2d2b933c09..0acc75e4607 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftinit.c @@ -4,7 +4,7 @@ * * FreeType initialization layer (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -202,10 +202,6 @@ FT_Memory memory; -#ifdef FT_DEBUG_LOGGING - ft_logging_init(); -#endif - /* check of `alibrary' delayed to `FT_New_Library' */ /* First of all, allocate a new system object -- this function is part */ @@ -252,10 +248,6 @@ /* discard memory manager */ FT_Done_Memory( memory ); -#ifdef FT_DEBUG_LOGGING - ft_logging_deinit(); -#endif - return FT_Err_Ok; } diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftlcdfil.c b/Build/source/libs/freetype2/freetype-src/src/base/ftlcdfil.c index 488b913e636..1e84dbc894a 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftlcdfil.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftlcdfil.c @@ -4,7 +4,7 @@ * * FreeType API for color filtering of subpixel bitmap glyphs (body). * - * Copyright (C) 2006-2021 by + * Copyright (C) 2006-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -32,7 +32,7 @@ /* add padding according to filter weights */ - FT_BASE_DEF( void ) + FT_BASE_DEF (void) ft_lcd_padding( FT_BBox* cbox, FT_GlyphSlot slot, FT_Render_Mode mode ) @@ -357,7 +357,7 @@ FT_EXPORT_DEF( FT_Error ) FT_Library_SetLcdGeometry( FT_Library library, - FT_Vector sub[3] ) + FT_Vector* sub ) { FT_UNUSED( library ); FT_UNUSED( sub ); @@ -368,7 +368,7 @@ #else /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ /* add padding to accommodate outline shifts */ - FT_BASE_DEF( void ) + FT_BASE_DEF (void) ft_lcd_padding( FT_BBox* cbox, FT_GlyphSlot slot, FT_Render_Mode mode ) @@ -428,7 +428,7 @@ ft_memcpy( library->lcd_geometry, sub, 3 * sizeof( FT_Vector ) ); - return FT_Err_Ok; + return FT_THROW( Unimplemented_Feature ); } #endif /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftmac.c b/Build/source/libs/freetype2/freetype-src/src/base/ftmac.c index f41c5eeab1c..55a631fd748 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftmac.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftmac.c @@ -8,7 +8,7 @@ * This file is for Mac OS X only; see builds/mac/ftoldmac.c for * classic platforms built by MPW. * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -631,7 +631,7 @@ old_total_size = total_size; } - if ( FT_QALLOC( buffer, (FT_Long)total_size ) ) + if ( FT_ALLOC( buffer, (FT_Long)total_size ) ) goto Error; /* Second pass: append all POST data to the buffer, add PFB fields. */ @@ -752,7 +752,7 @@ if ( FT_MAC_RFORK_MAX_LEN < sfnt_size ) return FT_THROW( Array_Too_Large ); - if ( FT_QALLOC( sfnt_data, (FT_Long)sfnt_size ) ) + if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) ) { ReleaseResource( sfnt ); return error; diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftmm.c b/Build/source/libs/freetype2/freetype-src/src/base/ftmm.c index fc5d4ecc8d0..9a702b99335 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftmm.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftmm.c @@ -4,7 +4,7 @@ * * Multiple Master font support (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c b/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c index 0ded2440fca..c060bbbc879 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftobjs.c @@ -4,7 +4,7 @@ * * The FreeType private base classes (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -78,9 +78,6 @@ #pragma warning( pop ) #endif - /* This array must stay in sync with the @FT_Pixel_Mode enumeration */ - /* (in file `ftimage.h`). */ - static const char* const pixel_modes[] = { "none", @@ -90,8 +87,7 @@ "gray 4-bit bitmap", "LCD 8-bit bitmap", "vertical LCD 8-bit bitmap", - "BGRA 32-bit color image bitmap", - "SDF 8-bit bitmap" + "BGRA 32-bit color image bitmap" }; #endif /* FT_DEBUG_LEVEL_TRACE */ @@ -197,7 +193,6 @@ FT_Error error; FT_Memory memory; FT_Stream stream = NULL; - FT_UInt mode; *astream = NULL; @@ -209,15 +204,15 @@ return FT_THROW( Invalid_Argument ); memory = library->memory; - mode = args->flags & - ( FT_OPEN_MEMORY | FT_OPEN_STREAM | FT_OPEN_PATHNAME ); - if ( mode == FT_OPEN_MEMORY ) + if ( FT_NEW( stream ) ) + goto Exit; + + stream->memory = memory; + + if ( args->flags & FT_OPEN_MEMORY ) { /* create a memory-based stream */ - if ( FT_NEW( stream ) ) - goto Exit; - FT_Stream_OpenMemory( stream, (const FT_Byte*)args->memory_base, (FT_ULong)args->memory_size ); @@ -225,40 +220,33 @@ #ifndef FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT - else if ( mode == FT_OPEN_PATHNAME ) + else if ( args->flags & FT_OPEN_PATHNAME ) { /* create a normal system stream */ - if ( FT_NEW( stream ) ) - goto Exit; - error = FT_Stream_Open( stream, args->pathname ); - if ( error ) - FT_FREE( stream ); + stream->pathname.pointer = args->pathname; } - else if ( ( mode == FT_OPEN_STREAM ) && args->stream ) + else if ( ( args->flags & FT_OPEN_STREAM ) && args->stream ) { /* use an existing, user-provided stream */ /* in this case, we do not need to allocate a new stream object */ /* since the caller is responsible for closing it himself */ + FT_FREE( stream ); stream = args->stream; - error = FT_Err_Ok; } #endif else - { error = FT_THROW( Invalid_Argument ); - if ( ( args->flags & FT_OPEN_STREAM ) && args->stream ) - FT_Stream_Close( args->stream ); - } - if ( !error ) - { - stream->memory = memory; - *astream = stream; - } + if ( error ) + FT_FREE( stream ); + else + stream->memory = memory; /* just to be certain */ + + *astream = stream; Exit: return error; @@ -547,8 +535,6 @@ ft_glyphslot_free_bitmap( slot ); /* clear all public fields in the glyph slot */ - slot->glyph_index = 0; - FT_ZERO( &slot->metrics ); FT_ZERO( &slot->outline ); @@ -569,8 +555,6 @@ slot->linearHoriAdvance = 0; slot->linearVertAdvance = 0; - slot->advance.x = 0; - slot->advance.y = 0; slot->lsb_delta = 0; slot->rsb_delta = 0; } @@ -750,29 +734,6 @@ } - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( void ) - FT_Get_Transform( FT_Face face, - FT_Matrix* matrix, - FT_Vector* delta ) - { - FT_Face_Internal internal; - - - if ( !face ) - return; - - internal = face->internal; - - if ( matrix ) - *matrix = internal->transform_matrix; - - if ( delta ) - *delta = internal->transform_delta; - } - - static FT_Renderer ft_lookup_glyph_renderer( FT_GlyphSlot slot ); @@ -1095,24 +1056,19 @@ #ifdef FT_DEBUG_LEVEL_TRACE FT_TRACE5(( "FT_Load_Glyph: index %d, flags 0x%x\n", glyph_index, load_flags )); - FT_TRACE5(( " bitmap %dx%d %s, %s (mode %d)\n", - slot->bitmap.width, - slot->bitmap.rows, - slot->outline.points ? - slot->bitmap.buffer ? "rendered" - : "preset" - : - slot->internal->flags & FT_GLYPH_OWN_BITMAP ? "owned" - : "unowned", - pixel_modes[slot->bitmap.pixel_mode], - slot->bitmap.pixel_mode )); - FT_TRACE5(( "\n" )); FT_TRACE5(( " x advance: %f\n", slot->advance.x / 64.0 )); FT_TRACE5(( " y advance: %f\n", slot->advance.y / 64.0 )); FT_TRACE5(( " linear x advance: %f\n", slot->linearHoriAdvance / 65536.0 )); FT_TRACE5(( " linear y advance: %f\n", slot->linearVertAdvance / 65536.0 )); + FT_TRACE5(( "\n" )); + FT_TRACE5(( " bitmap %dx%d, %s (mode %d)\n", + slot->bitmap.width, + slot->bitmap.rows, + pixel_modes[slot->bitmap.pixel_mode], + slot->bitmap.pixel_mode )); + FT_TRACE5(( "\n" )); { FT_Glyph_Metrics* metrics = &slot->metrics; @@ -1826,7 +1782,7 @@ if ( error ) goto Exit; - if ( FT_QALLOC( sfnt_ps, (FT_Long)length ) ) + if ( FT_ALLOC( sfnt_ps, (FT_Long)length ) ) goto Exit; error = FT_Stream_Read( stream, (FT_Byte *)sfnt_ps, length ); @@ -1936,7 +1892,7 @@ goto Exit; } - if ( FT_QALLOC( pfb_data, (FT_Long)pfb_len + 2 ) ) + if ( FT_ALLOC( pfb_data, (FT_Long)pfb_len + 2 ) ) goto Exit; pfb_data[0] = 0x80; @@ -2000,7 +1956,7 @@ { FT_TRACE3(( " Write POST fragment #%d header (4-byte) to buffer" " %p + 0x%08lx\n", - i, (void*)pfb_data, pfb_lenpos )); + i, pfb_data, pfb_lenpos )); if ( pfb_lenpos + 3 > pfb_len + 2 ) goto Exit2; @@ -2015,7 +1971,7 @@ FT_TRACE3(( " Write POST fragment #%d header (6-byte) to buffer" " %p + 0x%08lx\n", - i, (void*)pfb_data, pfb_pos )); + i, pfb_data, pfb_pos )); if ( pfb_pos + 6 > pfb_len + 2 ) goto Exit2; @@ -2038,7 +1994,7 @@ FT_TRACE3(( " Load POST fragment #%d (%ld byte) to buffer" " %p + 0x%08lx\n", - i, rlen, (void*)pfb_data, pfb_pos )); + i, rlen, pfb_data, pfb_pos )); error = FT_Stream_Read( stream, (FT_Byte *)pfb_data + pfb_pos, rlen ); if ( error ) @@ -2136,7 +2092,7 @@ if ( error ) goto Exit; - if ( FT_QALLOC( sfnt_data, rlen ) ) + if ( FT_ALLOC( sfnt_data, rlen ) ) return error; error = FT_Stream_Read( stream, (FT_Byte *)sfnt_data, (FT_ULong)rlen ); if ( error ) { @@ -2725,10 +2681,10 @@ #ifdef FT_DEBUG_LEVEL_TRACE if ( !error && face_index < 0 ) { - FT_TRACE3(( "FT_Open_Face: The font has %ld face%s\n", + FT_TRACE3(( "FT_Open_Face: The font has %ld face%s\n" + " and %ld named instance%s for face %ld\n", face->num_faces, - face->num_faces == 1 ? "" : "s" )); - FT_TRACE3(( " and %ld named instance%s for face %ld\n", + face->num_faces == 1 ? "" : "s", face->style_flags >> 16, ( face->style_flags >> 16 ) == 1 ? "" : "s", -face_index - 1 )); @@ -4456,7 +4412,8 @@ render->glyph_format = clazz->glyph_format; /* allocate raster object if needed */ - if ( clazz->raster_class->raster_new ) + if ( clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE && + clazz->raster_class->raster_new ) { error = clazz->raster_class->raster_new( memory, &render->raster ); if ( error ) @@ -4503,7 +4460,8 @@ /* release raster object, if any */ - if ( render->raster ) + if ( render->clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE && + render->raster ) render->clazz->raster_class->raster_done( render->raster ); /* remove from list */ @@ -4598,6 +4556,9 @@ switch ( slot->format ) { + case FT_GLYPH_FORMAT_BITMAP: /* already a bitmap, don't do anything */ + break; + default: if ( slot->internal->load_flags & FT_LOAD_COLOR ) { @@ -4773,11 +4734,11 @@ /* we use FT_TRACE7 in this block */ if ( !error && - ft_trace_levels[trace_checksum] >= 7 && - slot->bitmap.buffer ) + ft_trace_levels[trace_checksum] >= 7 ) { if ( slot->bitmap.rows < 128U && - slot->bitmap.width < 128U ) + slot->bitmap.width < 128U && + slot->bitmap.buffer ) { int rows = (int)slot->bitmap.rows; int width = (int)slot->bitmap.width; @@ -5188,16 +5149,16 @@ if ( cur == limit ) { - FT_TRACE2(( "%s: can't find module `%s'\n", - func_name, module_name )); + FT_ERROR(( "%s: can't find module `%s'\n", + func_name, module_name )); return FT_THROW( Missing_Module ); } /* check whether we have a service interface */ if ( !cur[0]->clazz->get_interface ) { - FT_TRACE2(( "%s: module `%s' doesn't support properties\n", - func_name, module_name )); + FT_ERROR(( "%s: module `%s' doesn't support properties\n", + func_name, module_name )); return FT_THROW( Unimplemented_Feature ); } @@ -5206,8 +5167,8 @@ FT_SERVICE_ID_PROPERTIES ); if ( !interface ) { - FT_TRACE2(( "%s: module `%s' doesn't support properties\n", - func_name, module_name )); + FT_ERROR(( "%s: module `%s' doesn't support properties\n", + func_name, module_name )); return FT_THROW( Unimplemented_Feature ); } @@ -5220,8 +5181,8 @@ if ( missing_func ) { - FT_TRACE2(( "%s: property service of module `%s' is broken\n", - func_name, module_name )); + FT_ERROR(( "%s: property service of module `%s' is broken\n", + func_name, module_name )); return FT_THROW( Unimplemented_Feature ); } @@ -5331,12 +5292,10 @@ if ( !memory || !alibrary ) return FT_THROW( Invalid_Argument ); -#ifndef FT_DEBUG_LOGGING #ifdef FT_DEBUG_LEVEL_ERROR /* init debugging support */ ft_debug_init(); -#endif /* FT_DEBUG_LEVEL_ERROR */ -#endif /* !FT_DEBUG_LOGGING */ +#endif /* first of all, allocate the library object */ if ( FT_NEW( library ) ) @@ -5608,116 +5567,4 @@ } - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Bool ) - FT_Get_Color_Glyph_Paint( FT_Face face, - FT_UInt base_glyph, - FT_Color_Root_Transform root_transform, - FT_OpaquePaint* paint ) - { - TT_Face ttface; - SFNT_Service sfnt; - - - if ( !face || !paint ) - return 0; - - if ( !FT_IS_SFNT( face ) ) - return 0; - - ttface = (TT_Face)face; - sfnt = (SFNT_Service)ttface->sfnt; - - if ( sfnt->get_colr_layer ) - return sfnt->get_colr_glyph_paint( ttface, - base_glyph, - root_transform, - paint ); - else - return 0; - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Bool ) - FT_Get_Paint_Layers( FT_Face face, - FT_LayerIterator* layer_iterator, - FT_OpaquePaint* paint ) - { - TT_Face ttface; - SFNT_Service sfnt; - - - if ( !face || !paint || !layer_iterator ) - return 0; - - if ( !FT_IS_SFNT( face ) ) - return 0; - - ttface = (TT_Face)face; - sfnt = (SFNT_Service)ttface->sfnt; - - if ( sfnt->get_paint_layers ) - return sfnt->get_paint_layers( ttface, layer_iterator, paint ); - else - return 0; - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Bool ) - FT_Get_Paint( FT_Face face, - FT_OpaquePaint opaque_paint, - FT_COLR_Paint* paint ) - { - TT_Face ttface; - SFNT_Service sfnt; - - - if ( !face || !paint || !paint ) - return 0; - - if ( !FT_IS_SFNT( face ) ) - return 0; - - ttface = (TT_Face)face; - sfnt = (SFNT_Service)ttface->sfnt; - - if ( sfnt->get_paint ) - return sfnt->get_paint( ttface, opaque_paint, paint ); - else - return 0; - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Bool ) - FT_Get_Colorline_Stops ( FT_Face face, - FT_ColorStop * color_stop, - FT_ColorStopIterator *iterator ) - { - TT_Face ttface; - SFNT_Service sfnt; - - - if ( !face || !color_stop || !iterator ) - return 0; - - if ( !FT_IS_SFNT( face ) ) - return 0; - - ttface = (TT_Face)face; - sfnt = (SFNT_Service)ttface->sfnt; - - if ( sfnt->get_colorline_stops ) - return sfnt->get_colorline_stops ( ttface, color_stop, iterator ); - else - return 0; - } - - /* END */ diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftotval.c b/Build/source/libs/freetype2/freetype-src/src/base/ftotval.c index 0f748d006c8..90a5dd617cd 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftotval.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftotval.c @@ -4,7 +4,7 @@ * * FreeType API for validating OpenType tables (body). * - * Copyright (C) 2004-2021 by + * Copyright (C) 2004-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftoutln.c b/Build/source/libs/freetype2/freetype-src/src/base/ftoutln.c index 98c6ca16e65..311f098e3a8 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftoutln.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftoutln.c @@ -4,7 +4,7 @@ * * FreeType outline management (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftpatent.c b/Build/source/libs/freetype2/freetype-src/src/base/ftpatent.c index cd192d33bd4..a02c636a65f 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftpatent.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftpatent.c @@ -5,7 +5,7 @@ * FreeType API for checking patented TrueType bytecode instructions * (body). Obsolete, retained for backward compatibility. * - * Copyright (C) 2007-2021 by + * Copyright (C) 2007-2020 by * David Turner. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftpfr.c b/Build/source/libs/freetype2/freetype-src/src/base/ftpfr.c index 5afd5a183f8..c656fcd9b9a 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftpfr.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftpfr.c @@ -4,7 +4,7 @@ * * FreeType API for accessing PFR-specific data (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftpsprop.c b/Build/source/libs/freetype2/freetype-src/src/base/ftpsprop.c index 3655ae97eca..8c29f50f6b6 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftpsprop.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftpsprop.c @@ -5,7 +5,7 @@ * Get and set properties of PostScript drivers (body). * See `ftdriver.h' for available properties. * - * Copyright (C) 2017-2021 by + * Copyright (C) 2017-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -220,7 +220,7 @@ return error; } - FT_TRACE2(( "ps_property_set: missing property `%s'\n", + FT_TRACE0(( "ps_property_set: missing property `%s'\n", property_name )); return FT_THROW( Missing_Property ); } @@ -275,7 +275,7 @@ return error; } - FT_TRACE2(( "ps_property_get: missing property `%s'\n", + FT_TRACE0(( "ps_property_get: missing property `%s'\n", property_name )); return FT_THROW( Missing_Property ); } diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftrfork.c b/Build/source/libs/freetype2/freetype-src/src/base/ftrfork.c index cb7e94ddb08..f989be47f47 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftrfork.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftrfork.c @@ -4,7 +4,7 @@ * * Embedded resource forks accessor (body). * - * Copyright (C) 2004-2021 by + * Copyright (C) 2004-2020 by * Masatake YAMATO and Redhat K.K. * * FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are @@ -167,11 +167,16 @@ } - FT_COMPARE_DEF( int ) - ft_raccess_sort_ref_by_id( const void* a, - const void* b ) + static int + ft_raccess_sort_ref_by_id( FT_RFork_Ref* a, + FT_RFork_Ref* b ) { - return ( (FT_RFork_Ref*)a )->res_id - ( (FT_RFork_Ref*)b )->res_id; + if ( a->res_id < b->res_id ) + return -1; + else if ( a->res_id > b->res_id ) + return 1; + else + return 0; } @@ -251,7 +256,7 @@ if ( error ) return error; - if ( FT_QNEW_ARRAY( ref, *count ) ) + if ( FT_NEW_ARRAY( ref, *count ) ) return error; for ( j = 0; j < *count; j++ ) @@ -289,7 +294,8 @@ ft_qsort( ref, (size_t)*count, sizeof ( FT_RFork_Ref ), - ft_raccess_sort_ref_by_id ); + ( int(*)(const void*, + const void*) )ft_raccess_sort_ref_by_id ); FT_TRACE3(( " -- sort resources by their ids --\n" )); @@ -299,7 +305,7 @@ j, ref[j].res_id, ref[j].offset )); } - if ( FT_QNEW_ARRAY( offsets_internal, *count ) ) + if ( FT_NEW_ARRAY( offsets_internal, *count ) ) goto Exit; /* XXX: duplicated reference ID, @@ -602,7 +608,7 @@ if ( base_file_len + 6 > FT_INT_MAX ) return FT_THROW( Array_Too_Large ); - if ( FT_QALLOC( newpath, base_file_len + 6 ) ) + if ( FT_ALLOC( newpath, base_file_len + 6 ) ) return error; FT_MEM_COPY( newpath, base_file_name, base_file_len ); @@ -638,7 +644,7 @@ if ( base_file_len + 18 > FT_INT_MAX ) return FT_THROW( Array_Too_Large ); - if ( FT_QALLOC( newpath, base_file_len + 18 ) ) + if ( FT_ALLOC( newpath, base_file_len + 18 ) ) return error; FT_MEM_COPY( newpath, base_file_name, base_file_len ); @@ -874,7 +880,7 @@ new_length = ft_strlen( original_name ) + ft_strlen( insertion ); - if ( FT_QALLOC( new_name, new_length + 1 ) ) + if ( FT_ALLOC( new_name, new_length + 1 ) ) return NULL; tmp = ft_strrchr( original_name, '/' ); diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftsnames.c b/Build/source/libs/freetype2/freetype-src/src/base/ftsnames.c index 44dba66638e..8507f28d367 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftsnames.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftsnames.c @@ -7,7 +7,7 @@ * * This is _not_ used to retrieve glyph names! * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -65,7 +65,7 @@ FT_Stream stream = face->stream; - if ( FT_QNEW_ARRAY ( entry->string, entry->stringLength ) || + if ( FT_NEW_ARRAY ( entry->string, entry->stringLength ) || FT_STREAM_SEEK( entry->stringOffset ) || FT_STREAM_READ( entry->string, entry->stringLength ) ) { @@ -121,7 +121,7 @@ FT_Stream stream = face->stream; - if ( FT_QNEW_ARRAY ( entry->string, entry->stringLength ) || + if ( FT_NEW_ARRAY ( entry->string, entry->stringLength ) || FT_STREAM_SEEK( entry->stringOffset ) || FT_STREAM_READ( entry->string, entry->stringLength ) ) { diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftstream.c b/Build/source/libs/freetype2/freetype-src/src/base/ftstream.c index f14c7012cf1..d940254d8bb 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftstream.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftstream.c @@ -4,7 +4,7 @@ * * I/O stream support (body). * - * Copyright (C) 2000-2021 by + * Copyright (C) 2000-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftstroke.c b/Build/source/libs/freetype2/freetype-src/src/base/ftstroke.c index 37e9649411f..56f98e1d928 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftstroke.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftstroke.c @@ -4,7 +4,7 @@ * * FreeType path stroker (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -974,8 +974,7 @@ FT_StrokeBorder border = stroker->borders + side; FT_Angle phi, theta, rotate; FT_Fixed length; - FT_Vector sigma = { 0, 0 }; - FT_Vector delta; + FT_Vector sigma, delta; FT_Error error = FT_Err_Ok; FT_Bool intersect; /* use intersection of lines? */ @@ -1049,7 +1048,7 @@ { /* this is a mitered (pointed) or beveled (truncated) corner */ FT_Fixed radius = stroker->radius; - FT_Vector sigma = { 0, 0 }; + FT_Vector sigma; FT_Angle theta = 0, phi = 0; FT_Bool bevel, fixed_bevel; @@ -1529,8 +1528,7 @@ stroker->angle_in = angle_out; } - stroker->center = *to; - stroker->line_length = 0; + stroker->center = *to; Exit: return error; @@ -1746,8 +1744,7 @@ stroker->angle_in = angle_out; } - stroker->center = *to; - stroker->line_length = 0; + stroker->center = *to; Exit: return error; @@ -1900,9 +1897,13 @@ } else { + FT_Angle turn; + FT_Int inside_side; + + /* close the path if needed */ - if ( !FT_IS_SMALL( stroker->center.x - stroker->subpath_start.x ) || - !FT_IS_SMALL( stroker->center.y - stroker->subpath_start.y ) ) + if ( stroker->center.x != stroker->subpath_start.x || + stroker->center.y != stroker->subpath_start.y ) { error = FT_Stroker_LineTo( stroker, &stroker->subpath_start ); if ( error ) @@ -1911,11 +1912,29 @@ /* process the corner */ stroker->angle_out = stroker->subpath_angle; + turn = FT_Angle_Diff( stroker->angle_in, + stroker->angle_out ); - error = ft_stroker_process_corner( stroker, - stroker->subpath_line_length ); - if ( error ) - goto Exit; + /* no specific corner processing is required if the turn is 0 */ + if ( turn != 0 ) + { + /* when we turn to the right, the inside side is 0 */ + /* otherwise, the inside side is 1 */ + inside_side = ( turn < 0 ); + + error = ft_stroker_inside( stroker, + inside_side, + stroker->subpath_line_length ); + if ( error ) + goto Exit; + + /* process the outside side */ + error = ft_stroker_outside( stroker, + !inside_side, + stroker->subpath_line_length ); + if ( error ) + goto Exit; + } /* then end our two subpaths */ ft_stroke_border_close( stroker->borders + 0, FALSE ); diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftsynth.c b/Build/source/libs/freetype2/freetype-src/src/base/ftsynth.c index 73565b13077..a9119e2b245 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftsynth.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftsynth.c @@ -4,7 +4,7 @@ * * FreeType synthesizing code for emboldening and slanting (body). * - * Copyright (C) 2000-2021 by + * Copyright (C) 2000-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftsystem.c b/Build/source/libs/freetype2/freetype-src/src/base/ftsystem.c index 9beb7e245d2..3013cbda9d6 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftsystem.c @@ -4,7 +4,7 @@ * * ANSI-specific FreeType low-level system interface (body). * - * Copyright (C) 1996-2021 by + * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, @@ -275,7 +275,7 @@ stream->close = ft_ansi_stream_close; FT_TRACE1(( "FT_Stream_Open:" )); - FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n", + FT_TRACE1(( " opened `%s' (%d bytes) successfully\n", filepathname, stream->size )); return FT_Err_Ok; diff --git a/Build/source/libs/freetype2/freetype-src/src/base/fttrigon.c b/Build/source/libs/freetype2/freetype-src/src/base/fttrigon.c index 990c46d9939..c6f027cf615 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/fttrigon.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/fttrigon.c @@ -4,7 +4,7 @@ * * FreeType trigonometric functions (body). * - * Copyright (C) 2001-2021 by + * Copyright (C) 2001-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/fttype1.c b/Build/source/libs/freetype2/freetype-src/src/base/fttype1.c index 0d0afbcef06..be60ed6ec57 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/fttype1.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/fttype1.c @@ -4,7 +4,7 @@ * * FreeType utility file for PS names support (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftutil.c b/Build/source/libs/freetype2/freetype-src/src/base/ftutil.c index 3142faee987..d90cfbcd263 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftutil.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftutil.c @@ -4,7 +4,7 @@ * * FreeType utility file for memory and list management (body). * - * Copyright (C) 2002-2021 by + * Copyright (C) 2002-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftver.rc b/Build/source/libs/freetype2/freetype-src/src/base/ftver.rc index 5fe433cbd7f..0b92e9b8992 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftver.rc +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftver.rc @@ -4,7 +4,7 @@ /* */ /* FreeType VERSIONINFO resource for Windows DLLs. */ /* */ -/* Copyright (C) 2018-2021 by */ +/* Copyright (C) 2018-2020 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -18,8 +18,8 @@ #include<windows.h> -#define FT_VERSION 2,11,0,0 -#define FT_VERSION_STR "2.11.0" +#define FT_VERSION 2,10,4,0 +#define FT_VERSION_STR "2.10.4" VS_VERSION_INFO VERSIONINFO FILEVERSION FT_VERSION @@ -45,7 +45,7 @@ BEGIN VALUE "FileVersion", FT_VERSION_STR VALUE "ProductName", "FreeType" VALUE "ProductVersion", FT_VERSION_STR - VALUE "LegalCopyright", "\251 2000-2021 The FreeType Project www.freetype.org. All rights reserved." + VALUE "LegalCopyright", "\251 2000-2020 The FreeType Project www.freetype.org. All rights reserved." VALUE "InternalName", "freetype" VALUE "OriginalFilename", FT_FILENAME END diff --git a/Build/source/libs/freetype2/freetype-src/src/base/ftwinfnt.c b/Build/source/libs/freetype2/freetype-src/src/base/ftwinfnt.c index 98f197afdc4..699dc3d700c 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/ftwinfnt.c +++ b/Build/source/libs/freetype2/freetype-src/src/base/ftwinfnt.c @@ -4,7 +4,7 @@ * * FreeType API for accessing Windows FNT specific info (body). * - * Copyright (C) 2003-2021 by + * Copyright (C) 2003-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, diff --git a/Build/source/libs/freetype2/freetype-src/src/base/rules.mk b/Build/source/libs/freetype2/freetype-src/src/base/rules.mk index 53289aee6d4..411c4c821fe 100644 --- a/Build/source/libs/freetype2/freetype-src/src/base/rules.mk +++ b/Build/source/libs/freetype2/freetype-src/src/base/rules.mk @@ -3,7 +3,7 @@ # -# Copyright (C) 1996-2021 by +# Copyright (C) 1996-2020 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, |