| Index: third_party/freetype/src/cff/cffobjs.c
|
| diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cffobjs.c b/third_party/freetype/src/cff/cffobjs.c
|
| similarity index 95%
|
| rename from core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cffobjs.c
|
| rename to third_party/freetype/src/cff/cffobjs.c
|
| index b0ec7423b85d28ba94dca5ee731f981364cd6872..da3d0190fe49890e90ad1564d5e65501c319aa0d 100644
|
| --- a/core/src/fxge/fx_freetype/fxft2.5.01/src/cff/cffobjs.c
|
| +++ b/third_party/freetype/src/cff/cffobjs.c
|
| @@ -4,7 +4,7 @@
|
| /* */
|
| /* OpenType objects manager (body). */
|
| /* */
|
| -/* Copyright 1996-2013 by */
|
| +/* Copyright 1996-2014 by */
|
| /* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
| /* */
|
| /* This file is part of the FreeType project, and may only be used, */
|
| @@ -16,16 +16,16 @@
|
| /***************************************************************************/
|
|
|
|
|
| -#include "../../include/ft2build.h"
|
| +#include <ft2build.h>
|
|
|
| -#include "../../include/freetype/internal/ftdebug.h"
|
| -#include "../../include/freetype/internal/ftcalc.h"
|
| -#include "../../include/freetype/internal/ftstream.h"
|
| -#include "../../include/freetype/fterrors.h"
|
| -#include "../../include/freetype/ttnameid.h"
|
| -#include "../../include/freetype/tttags.h"
|
| -#include "../../include/freetype/internal/sfnt.h"
|
| -#include "../../include/freetype/ftcffdrv.h"
|
| +#include FT_INTERNAL_DEBUG_H
|
| +#include FT_INTERNAL_CALC_H
|
| +#include FT_INTERNAL_STREAM_H
|
| +#include FT_ERRORS_H
|
| +#include FT_TRUETYPE_IDS_H
|
| +#include FT_TRUETYPE_TAGS_H
|
| +#include FT_INTERNAL_SFNT_H
|
| +#include FT_CFF_DRIVER_H
|
|
|
| #include "cffobjs.h"
|
| #include "cffload.h"
|
| @@ -519,8 +519,7 @@
|
| error = sfnt->init_face( stream, face, face_index, num_params, params );
|
| if ( !error )
|
| {
|
| - if ( face->format_tag != TTAG_OTTO &&
|
| - face->format_tag != 0x00010000UL ) /* `OTTO'; OpenType/CFF font */
|
| + if ( face->format_tag != TTAG_OTTO ) /* `OTTO'; OpenType/CFF font */
|
| {
|
| FT_TRACE2(( " not an OpenType/CFF font\n" ));
|
| error = FT_THROW( Unknown_File_Format );
|
| @@ -867,7 +866,7 @@
|
| flags |= FT_FACE_FLAG_KERNING;
|
| #endif
|
|
|
| - cffface->face_flags = flags;
|
| + cffface->face_flags |= flags;
|
|
|
| /*******************************************************************/
|
| /* */
|
| @@ -895,10 +894,6 @@
|
| !ft_strncmp( cffface->style_name, "Black", 5 ) )
|
| flags |= FT_STYLE_FLAG_BOLD;
|
|
|
| - if ( !(flags & FT_STYLE_FLAG_ITALIC) && cffface->style_name )
|
| - if ( !ft_strncmp( cffface->style_name, "Italic", 6 ) )
|
| - flags |= FT_STYLE_FLAG_ITALIC;
|
| -
|
| cffface->style_flags = flags;
|
| }
|
|
|
| @@ -948,16 +943,6 @@
|
| if ( pure_cff && cff->top_font.font_dict.cid_registry != 0xFFFFU )
|
| goto Exit;
|
|
|
| -#ifdef FT_MAX_CHARMAP_CACHEABLE
|
| - if ( nn + 1 > FT_MAX_CHARMAP_CACHEABLE )
|
| - {
|
| - FT_ERROR(( "cff_face_init: no Unicode cmap is found, "
|
| - "and too many subtables (%d) to add synthesized cmap\n",
|
| - nn ));
|
| - goto Exit;
|
| - }
|
| -#endif
|
| -
|
| /* we didn't find a Unicode charmap -- synthesize one */
|
| cmaprec.face = cffface;
|
| cmaprec.platform_id = TT_PLATFORM_MICROSOFT;
|
| @@ -978,15 +963,6 @@
|
| cffface->charmap = cffface->charmaps[nn];
|
|
|
| Skip_Unicode:
|
| -#ifdef FT_MAX_CHARMAP_CACHEABLE
|
| - if ( nn > FT_MAX_CHARMAP_CACHEABLE )
|
| - {
|
| - FT_ERROR(( "cff_face_init: Unicode cmap is found, "
|
| - "but too many preceding subtables (%d) to access\n",
|
| - nn - 1 ));
|
| - goto Exit;
|
| - }
|
| -#endif
|
| if ( encoding->count > 0 )
|
| {
|
| FT_CMap_Class clazz;
|
| @@ -1060,14 +1036,24 @@
|
| CFF_Driver driver = (CFF_Driver)module;
|
|
|
|
|
| - /* set default property values */
|
| + /* set default property values, cf. `ftcffdrv.h' */
|
| #ifdef CFF_CONFIG_OPTION_OLD_ENGINE
|
| - driver->hinting_engine = FT_CFF_HINTING_FREETYPE;
|
| + driver->hinting_engine = FT_CFF_HINTING_FREETYPE;
|
| #else
|
| - driver->hinting_engine = FT_CFF_HINTING_ADOBE;
|
| + driver->hinting_engine = FT_CFF_HINTING_ADOBE;
|
| #endif
|
| +
|
| driver->no_stem_darkening = FALSE;
|
|
|
| + driver->darken_params[0] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1;
|
| + driver->darken_params[1] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1;
|
| + driver->darken_params[2] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2;
|
| + driver->darken_params[3] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2;
|
| + driver->darken_params[4] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3;
|
| + driver->darken_params[5] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3;
|
| + driver->darken_params[6] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4;
|
| + driver->darken_params[7] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4;
|
| +
|
| return FT_Err_Ok;
|
| }
|
|
|
|
|