summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/freetype/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/freetype/include')
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftconfig.h (renamed from src/3rdparty/freetype/include/config/ftconfig.h)19
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftheader.h (renamed from src/3rdparty/freetype/include/config/ftheader.h)126
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftmodule.h (renamed from src/3rdparty/freetype/include/config/ftmodule.h)0
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftoption.h (renamed from src/3rdparty/freetype/include/config/ftoption.h)41
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftstdlib.h (renamed from src/3rdparty/freetype/include/config/ftstdlib.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/freetype.h (renamed from src/3rdparty/freetype/include/freetype.h)264
-rw-r--r--src/3rdparty/freetype/include/freetype/ftadvanc.h (renamed from src/3rdparty/freetype/include/ftadvanc.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/ftautoh.h (renamed from src/3rdparty/freetype/include/ftautoh.h)56
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbbox.h (renamed from src/3rdparty/freetype/include/ftbbox.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbdf.h (renamed from src/3rdparty/freetype/include/ftbdf.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbitmap.h (renamed from src/3rdparty/freetype/include/ftbitmap.h)14
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbzip2.h (renamed from src/3rdparty/freetype/include/ftbzip2.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcache.h (renamed from src/3rdparty/freetype/include/ftcache.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcffdrv.h (renamed from src/3rdparty/freetype/include/ftcffdrv.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftchapters.h (renamed from src/3rdparty/freetype/include/ftchapters.h)14
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcid.h (renamed from src/3rdparty/freetype/include/ftcid.h)3
-rw-r--r--src/3rdparty/freetype/include/freetype/fterrdef.h (renamed from src/3rdparty/freetype/include/fterrdef.h)49
-rw-r--r--src/3rdparty/freetype/include/freetype/fterrors.h (renamed from src/3rdparty/freetype/include/fterrors.h)104
-rw-r--r--src/3rdparty/freetype/include/freetype/ftfntfmt.h (renamed from src/3rdparty/freetype/include/ftxf86.h)36
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgasp.h (renamed from src/3rdparty/freetype/include/ftgasp.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftglyph.h (renamed from src/3rdparty/freetype/include/ftglyph.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgxval.h (renamed from src/3rdparty/freetype/include/ftgxval.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgzip.h (renamed from src/3rdparty/freetype/include/ftgzip.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftimage.h (renamed from src/3rdparty/freetype/include/ftimage.h)20
-rw-r--r--src/3rdparty/freetype/include/freetype/ftincrem.h (renamed from src/3rdparty/freetype/include/ftincrem.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlcdfil.h (renamed from src/3rdparty/freetype/include/ftlcdfil.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlist.h (renamed from src/3rdparty/freetype/include/ftlist.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlzw.h (renamed from src/3rdparty/freetype/include/ftlzw.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmac.h (renamed from src/3rdparty/freetype/include/ftmac.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmm.h (renamed from src/3rdparty/freetype/include/ftmm.h)28
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmodapi.h (renamed from src/3rdparty/freetype/include/ftmodapi.h)8
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmoderr.h (renamed from src/3rdparty/freetype/include/ftmoderr.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftotval.h (renamed from src/3rdparty/freetype/include/ftotval.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftoutln.h (renamed from src/3rdparty/freetype/include/ftoutln.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftpfr.h (renamed from src/3rdparty/freetype/include/ftpfr.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftrender.h (renamed from src/3rdparty/freetype/include/ftrender.h)11
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsizes.h (renamed from src/3rdparty/freetype/include/ftsizes.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsnames.h (renamed from src/3rdparty/freetype/include/ftsnames.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftstroke.h (renamed from src/3rdparty/freetype/include/ftstroke.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsynth.h (renamed from src/3rdparty/freetype/include/ftsynth.h)8
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsystem.h (renamed from src/3rdparty/freetype/include/ftsystem.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/fttrigon.h (renamed from src/3rdparty/freetype/include/fttrigon.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftttdrv.h310
-rw-r--r--src/3rdparty/freetype/include/freetype/fttypes.h (renamed from src/3rdparty/freetype/include/fttypes.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftwinfnt.h (renamed from src/3rdparty/freetype/include/ftwinfnt.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/autohint.h (renamed from src/3rdparty/freetype/include/internal/autohint.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftcalc.h (renamed from src/3rdparty/freetype/include/internal/ftcalc.h)14
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdebug.h (renamed from src/3rdparty/freetype/include/internal/ftdebug.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdriver.h (renamed from src/3rdparty/freetype/include/internal/ftdriver.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftgloadr.h (renamed from src/3rdparty/freetype/include/internal/ftgloadr.h)38
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftmemory.h (renamed from src/3rdparty/freetype/include/internal/ftmemory.h)28
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftobjs.h (renamed from src/3rdparty/freetype/include/internal/ftobjs.h)18
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftpic.h (renamed from src/3rdparty/freetype/include/internal/ftpic.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftrfork.h (renamed from src/3rdparty/freetype/include/internal/ftrfork.h)6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftserv.h (renamed from src/3rdparty/freetype/include/internal/ftserv.h)38
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftstream.h (renamed from src/3rdparty/freetype/include/internal/ftstream.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/fttrace.h (renamed from src/3rdparty/freetype/include/internal/fttrace.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftvalid.h (renamed from src/3rdparty/freetype/include/internal/ftvalid.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/internal.h (renamed from src/3rdparty/freetype/include/internal/internal.h)46
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/psaux.h (renamed from src/3rdparty/freetype/include/internal/psaux.h)20
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/pshints.h (renamed from src/3rdparty/freetype/include/internal/pshints.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svbdf.h (renamed from src/3rdparty/freetype/include/internal/services/svbdf.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svcid.h (renamed from src/3rdparty/freetype/include/internal/services/svcid.h)3
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svfntfmt.h (renamed from src/3rdparty/freetype/include/internal/services/svxf86nm.h)32
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svgldict.h (renamed from src/3rdparty/freetype/include/internal/services/svgldict.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svgxval.h (renamed from src/3rdparty/freetype/include/internal/services/svgxval.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svkern.h (renamed from src/3rdparty/freetype/include/internal/services/svkern.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svmm.h (renamed from src/3rdparty/freetype/include/internal/services/svmm.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svotval.h (renamed from src/3rdparty/freetype/include/internal/services/svotval.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpfr.h (renamed from src/3rdparty/freetype/include/internal/services/svpfr.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpostnm.h (renamed from src/3rdparty/freetype/include/internal/services/svpostnm.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svprop.h (renamed from src/3rdparty/freetype/include/internal/services/svprop.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpscmap.h (renamed from src/3rdparty/freetype/include/internal/services/svpscmap.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h (renamed from src/3rdparty/freetype/include/internal/services/svpsinfo.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svsfnt.h (renamed from src/3rdparty/freetype/include/internal/services/svsfnt.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h (renamed from src/3rdparty/freetype/include/internal/services/svttcmap.h)11
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svtteng.h (renamed from src/3rdparty/freetype/include/internal/services/svtteng.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svttglyf.h (renamed from src/3rdparty/freetype/include/internal/services/svttglyf.h)3
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svwinfnt.h (renamed from src/3rdparty/freetype/include/internal/services/svwinfnt.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/sfnt.h (renamed from src/3rdparty/freetype/include/internal/sfnt.h)47
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/t1types.h (renamed from src/3rdparty/freetype/include/internal/t1types.h)20
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/tttypes.h (renamed from src/3rdparty/freetype/include/internal/tttypes.h)28
-rw-r--r--src/3rdparty/freetype/include/freetype/t1tables.h (renamed from src/3rdparty/freetype/include/t1tables.h)7
-rw-r--r--src/3rdparty/freetype/include/freetype/ttnameid.h (renamed from src/3rdparty/freetype/include/ttnameid.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/tttables.h (renamed from src/3rdparty/freetype/include/tttables.h)4
-rw-r--r--src/3rdparty/freetype/include/freetype/tttags.h (renamed from src/3rdparty/freetype/include/tttags.h)2
-rw-r--r--src/3rdparty/freetype/include/freetype/ttunpat.h (renamed from src/3rdparty/freetype/include/ttunpat.h)2
-rw-r--r--src/3rdparty/freetype/include/ft2build.h4
-rw-r--r--src/3rdparty/freetype/include/ftttdrv.h170
89 files changed, 1139 insertions, 643 deletions
diff --git a/src/3rdparty/freetype/include/config/ftconfig.h b/src/3rdparty/freetype/include/freetype/config/ftconfig.h
index 22d70fd35b..d4d79936df 100644
--- a/src/3rdparty/freetype/include/config/ftconfig.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* ANSI-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2004, 2006-2008, 2010-2011, 2013, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -319,11 +319,28 @@ FT_BEGIN_HEADER
#endif
+ /*************************************************************************/
+ /* */
+ /* miscellaneous */
+ /* */
+ /*************************************************************************/
+
+
#define FT_BEGIN_STMNT do {
#define FT_END_STMNT } while ( 0 )
#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
+ /* typeof condition taken from gnulib's `intprops.h' header file */
+#if ( __GNUC__ >= 2 || \
+ defined( __IBM__TYPEOF__ ) || \
+ ( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
+#define FT_TYPEOF( type ) (__typeof__ (type))
+#else
+#define FT_TYPEOF( type ) /* empty */
+#endif
+
+
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x
diff --git a/src/3rdparty/freetype/include/config/ftheader.h b/src/3rdparty/freetype/include/freetype/config/ftheader.h
index b623629921..55f833db0f 100644
--- a/src/3rdparty/freetype/include/config/ftheader.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftheader.h
@@ -4,7 +4,7 @@
/* */
/* Build macros of the FreeType 2 library. */
/* */
-/* Copyright 1996-2008, 2010, 2012, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -107,7 +107,7 @@
*
*/
#ifndef FT_CONFIG_CONFIG_H
-#define FT_CONFIG_CONFIG_H <config/ftconfig.h>
+#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif
@@ -122,7 +122,7 @@
*
*/
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
-#define FT_CONFIG_STANDARD_LIBRARY_H <config/ftstdlib.h>
+#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#endif
@@ -137,7 +137,7 @@
*
*/
#ifndef FT_CONFIG_OPTIONS_H
-#define FT_CONFIG_OPTIONS_H <config/ftoption.h>
+#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif
@@ -153,7 +153,7 @@
*
*/
#ifndef FT_CONFIG_MODULES_H
-#define FT_CONFIG_MODULES_H <config/ftmodule.h>
+#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif
/* */
@@ -170,7 +170,7 @@
* base FreeType~2 API.
*
*/
-#define FT_FREETYPE_H <freetype.h>
+#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************
@@ -185,7 +185,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_ERRORS_H <fterrors.h>
+#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
@@ -198,7 +198,7 @@
* list of FreeType~2 module error offsets (and messages).
*
*/
-#define FT_MODULE_ERRORS_H <ftmoderr.h>
+#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
/*************************************************************************
@@ -214,7 +214,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_SYSTEM_H <ftsystem.h>
+#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
@@ -230,7 +230,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_IMAGE_H <ftimage.h>
+#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
@@ -245,7 +245,7 @@
* It is included by @FT_FREETYPE_H.
*
*/
-#define FT_TYPES_H <fttypes.h>
+#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
@@ -260,7 +260,7 @@
* (Most applications will never need to include this file.)
*
*/
-#define FT_LIST_H <ftlist.h>
+#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
@@ -273,7 +273,7 @@
* scalable outline management API of FreeType~2.
*
*/
-#define FT_OUTLINE_H <ftoutln.h>
+#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
@@ -286,7 +286,7 @@
* API which manages multiple @FT_Size objects per face.
*
*/
-#define FT_SIZES_H <ftsizes.h>
+#define FT_SIZES_H <freetype/ftsizes.h>
/*************************************************************************
@@ -299,7 +299,7 @@
* module management API of FreeType~2.
*
*/
-#define FT_MODULE_H <ftmodapi.h>
+#define FT_MODULE_H <freetype/ftmodapi.h>
/*************************************************************************
@@ -312,7 +312,7 @@
* renderer module management API of FreeType~2.
*
*/
-#define FT_RENDER_H <ftrender.h>
+#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
@@ -325,7 +325,7 @@
* structures and macros related to the auto-hinting module.
*
*/
-#define FT_AUTOHINTER_H <ftautoh.h>
+#define FT_AUTOHINTER_H <freetype/ftautoh.h>
/*************************************************************************
@@ -338,7 +338,7 @@
* structures and macros related to the CFF driver module.
*
*/
-#define FT_CFF_DRIVER_H <ftcffdrv.h>
+#define FT_CFF_DRIVER_H <freetype/ftcffdrv.h>
/*************************************************************************
@@ -351,7 +351,7 @@
* structures and macros related to the TrueType driver module.
*
*/
-#define FT_TRUETYPE_DRIVER_H <ftttdrv.h>
+#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
/*************************************************************************
@@ -364,7 +364,7 @@
* types and API specific to the Type~1 format.
*
*/
-#define FT_TYPE1_TABLES_H <t1tables.h>
+#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************
@@ -379,7 +379,7 @@
* definitions, taken from the TrueType and OpenType specifications.
*
*/
-#define FT_TRUETYPE_IDS_H <ttnameid.h>
+#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************
@@ -392,7 +392,7 @@
* types and API specific to the TrueType (as well as OpenType) format.
*
*/
-#define FT_TRUETYPE_TABLES_H <tttables.h>
+#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************
@@ -406,7 +406,7 @@
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
-#define FT_TRUETYPE_TAGS_H <tttags.h>
+#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************
@@ -420,7 +420,7 @@
* face.
*
*/
-#define FT_BDF_H <ftbdf.h>
+#define FT_BDF_H <freetype/ftbdf.h>
/*************************************************************************
@@ -434,7 +434,7 @@
* face.
*
*/
-#define FT_CID_H <ftcid.h>
+#define FT_CID_H <freetype/ftcid.h>
/*************************************************************************
@@ -447,7 +447,7 @@
* definitions of an API which supports gzip-compressed files.
*
*/
-#define FT_GZIP_H <ftgzip.h>
+#define FT_GZIP_H <freetype/ftgzip.h>
/*************************************************************************
@@ -460,7 +460,7 @@
* definitions of an API which supports LZW-compressed files.
*
*/
-#define FT_LZW_H <ftlzw.h>
+#define FT_LZW_H <freetype/ftlzw.h>
/*************************************************************************
@@ -473,7 +473,7 @@
* definitions of an API which supports bzip2-compressed files.
*
*/
-#define FT_BZIP2_H <ftbzip2.h>
+#define FT_BZIP2_H <freetype/ftbzip2.h>
/*************************************************************************
@@ -486,7 +486,7 @@
* definitions of an API which supports Windows FNT files.
*
*/
-#define FT_WINFONTS_H <ftwinfnt.h>
+#define FT_WINFONTS_H <freetype/ftwinfnt.h>
/*************************************************************************
@@ -499,7 +499,7 @@
* API of the optional glyph management component.
*
*/
-#define FT_GLYPH_H <ftglyph.h>
+#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************
@@ -512,7 +512,7 @@
* API of the optional bitmap conversion component.
*
*/
-#define FT_BITMAP_H <ftbitmap.h>
+#define FT_BITMAP_H <freetype/ftbitmap.h>
/*************************************************************************
@@ -525,7 +525,7 @@
* API of the optional exact bounding box computation routines.
*
*/
-#define FT_BBOX_H <ftbbox.h>
+#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************
@@ -538,7 +538,7 @@
* API of the optional FreeType~2 cache sub-system.
*
*/
-#define FT_CACHE_H <ftcache.h>
+#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************
@@ -612,7 +612,7 @@
* compiled on the Mac (note that the base API still works though).
*
*/
-#define FT_MAC_H <ftmac.h>
+#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************
@@ -625,7 +625,7 @@
* optional multiple-masters management API of FreeType~2.
*
*/
-#define FT_MULTIPLE_MASTERS_H <ftmm.h>
+#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
@@ -639,7 +639,7 @@
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
-#define FT_SFNT_NAMES_H <ftsnames.h>
+#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/*************************************************************************
@@ -653,7 +653,7 @@
* GPOS, GSUB, JSTF).
*
*/
-#define FT_OPENTYPE_VALIDATE_H <ftotval.h>
+#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
/*************************************************************************
@@ -667,7 +667,7 @@
* mort, morx, bsln, just, kern, opbd, trak, prop).
*
*/
-#define FT_GX_VALIDATE_H <ftgxval.h>
+#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
/*************************************************************************
@@ -680,7 +680,7 @@
* FreeType~2 API which accesses PFR-specific data.
*
*/
-#define FT_PFR_H <ftpfr.h>
+#define FT_PFR_H <freetype/ftpfr.h>
/*************************************************************************
@@ -692,7 +692,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which provides functions to stroke outline paths.
*/
-#define FT_STROKER_H <ftstroke.h>
+#define FT_STROKER_H <freetype/ftstroke.h>
/*************************************************************************
@@ -704,20 +704,22 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs artificial obliquing and emboldening.
*/
-#define FT_SYNTHESIS_H <ftsynth.h>
+#define FT_SYNTHESIS_H <freetype/ftsynth.h>
/*************************************************************************
*
* @macro:
- * FT_XFREE86_H
+ * FT_FONT_FORMATS_H
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType~2 API which provides functions specific to the XFree86 and
- * X.Org X11 servers.
+ * FreeType~2 API which provides functions specific to font formats.
*/
-#define FT_XFREE86_H <ftxf86.h>
+#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
+
+ /* deprecated */
+#define FT_XFREE86_H FT_FONT_FORMATS_H
/*************************************************************************
@@ -730,7 +732,7 @@
* FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents).
*/
-#define FT_TRIGONOMETRY_H <fttrigon.h>
+#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
/*************************************************************************
@@ -742,7 +744,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
-#define FT_LCD_FILTER_H <ftlcdfil.h>
+#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
/*************************************************************************
@@ -754,7 +756,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
-#define FT_UNPATENTED_HINTING_H <ttunpat.h>
+#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
/*************************************************************************
@@ -766,7 +768,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which performs color filtering for subpixel rendering.
*/
-#define FT_INCREMENTAL_H <ftincrem.h>
+#define FT_INCREMENTAL_H <freetype/ftincrem.h>
/*************************************************************************
@@ -778,7 +780,7 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns entries from the TrueType GASP table.
*/
-#define FT_GASP_H <ftgasp.h>
+#define FT_GASP_H <freetype/ftgasp.h>
/*************************************************************************
@@ -790,30 +792,30 @@
* A macro used in #include statements to name the file containing the
* FreeType~2 API which returns individual and ranged glyph advances.
*/
-#define FT_ADVANCES_H <ftadvanc.h>
+#define FT_ADVANCES_H <freetype/ftadvanc.h>
/* */
-#define FT_ERROR_DEFINITIONS_H <fterrdef.h>
+#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
/* The internals of the cache sub-system are no longer exposed. We */
/* default to FT_CACHE_H at the moment just in case, but we know of */
/* no rogue client that uses them. */
/* */
-#define FT_CACHE_MANAGER_H <ftcache.h>
-#define FT_CACHE_INTERNAL_MRU_H <ftcache.h>
-#define FT_CACHE_INTERNAL_MANAGER_H <ftcache.h>
-#define FT_CACHE_INTERNAL_CACHE_H <ftcache.h>
-#define FT_CACHE_INTERNAL_GLYPH_H <ftcache.h>
-#define FT_CACHE_INTERNAL_IMAGE_H <ftcache.h>
-#define FT_CACHE_INTERNAL_SBITS_H <ftcache.h>
+#define FT_CACHE_MANAGER_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
+#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
-#define FT_INCREMENTAL_H <ftincrem.h>
+#define FT_INCREMENTAL_H <freetype/ftincrem.h>
-#define FT_TRUETYPE_UNPATENTED_H <ttunpat.h>
+#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
/*
@@ -821,7 +823,7 @@
* only when building the library.
*/
#ifdef FT2_BUILD_LIBRARY
-#define FT_INTERNAL_INTERNAL_H <internal/internal.h>
+#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H
#endif /* FT2_BUILD_LIBRARY */
diff --git a/src/3rdparty/freetype/include/config/ftmodule.h b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
index 76d271a74b..76d271a74b 100644
--- a/src/3rdparty/freetype/include/config/ftmodule.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
diff --git a/src/3rdparty/freetype/include/config/ftoption.h b/src/3rdparty/freetype/include/freetype/config/ftoption.h
index 2b0b67e7af..4970945d15 100644
--- a/src/3rdparty/freetype/include/config/ftoption.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftoption.h
@@ -4,7 +4,7 @@
/* */
/* User-selectable configuration macros (specification only). */
/* */
-/* Copyright 1996-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -38,9 +38,9 @@ FT_BEGIN_HEADER
/* library from a single source directory. */
/* */
/* - You can put a copy of this file in your build directory, more */
- /* precisely in `$BUILD/config/ftoption.h', where `$BUILD' is the */
- /* name of a directory that is included _before_ the FreeType include */
- /* path during compilation. */
+ /* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */
+ /* is the name of a directory that is included _before_ the FreeType */
+ /* include path during compilation. */
/* */
/* The default FreeType Makefiles and Jamfiles use the build */
/* directory `builds/<system>' by default, but you can easily change */
@@ -51,7 +51,7 @@ FT_BEGIN_HEADER
/* locate this file during the build. For example, */
/* */
/* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
- /* #include <config/ftheader.h> */
+ /* #include <freetype/config/ftheader.h> */
/* */
/* will use `$BUILD/myftoptions.h' instead of this file for macro */
/* definitions. */
@@ -59,7 +59,7 @@ FT_BEGIN_HEADER
/* Note also that you can similarly pre-define the macro */
/* FT_CONFIG_MODULES_H used to locate the file listing of the modules */
/* that are statically linked to the library at compile time. By */
- /* default, this file is <config/ftmodule.h>. */
+ /* default, this file is <freetype/config/ftmodule.h>. */
/* */
/* We highly recommend using the third method whenever possible. */
/* */
@@ -378,10 +378,6 @@ FT_BEGIN_HEADER
/* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */
/* */
- /* This must be greater than 4KByte if you use FreeType to rasterize */
- /* glyphs; otherwise, you may set it to zero to avoid unnecessary */
- /* allocation of the render pool. */
- /* */
#define FT_RENDER_POOL_SIZE 16384L
@@ -435,6 +431,8 @@ FT_BEGIN_HEADER
/* af_glyph_hints_dump_points */
/* af_glyph_hints_dump_segments */
/* af_glyph_hints_dump_edges */
+ /* af_glyph_hints_get_num_segments */
+ /* af_glyph_hints_get_segment_offset */
/* */
/* As an argument, they use another global variable: */
/* */
@@ -659,19 +657,6 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
- /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */
- /* bytecode interpreter with a huge switch statement, rather than a call */
- /* table. This results in smaller and faster code for a number of */
- /* architectures. */
- /* */
- /* Note however that on some compiler/processor combinations, undefining */
- /* this macro will generate faster, though larger, code. */
- /* */
-#define TT_CONFIG_OPTION_INTERPRETER_SWITCH
-
-
- /*************************************************************************/
- /* */
/* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */
/* TrueType glyph loader to use Apple's definition of how to handle */
/* component offsets in composite glyphs. */
@@ -684,7 +669,7 @@ FT_BEGIN_HEADER
/* fonts will not have them. */
/* */
/* http://www.microsoft.com/typography/otspec/glyf.htm */
- /* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */
+ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html */
/* */
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
@@ -835,10 +820,12 @@ FT_BEGIN_HEADER
/* grid. To find out the optimal scaling and shifting value, various */
/* parameter combinations are tried and scored. */
/* */
- /* This experimental option is only active if the render mode is */
- /* FT_RENDER_MODE_LIGHT. */
+ /* This experimental option is active only if the rendering mode is */
+ /* FT_RENDER_MODE_LIGHT; you can switch warping on and off with the */
+ /* `warping' property of the auto-hinter (see file `ftautoh.h' for more */
+ /* information; by default it is switched off). */
/* */
-/* #define AF_CONFIG_OPTION_USE_WARPER */
+#define AF_CONFIG_OPTION_USE_WARPER
/* */
diff --git a/src/3rdparty/freetype/include/config/ftstdlib.h b/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
index b940efc427..4b471d4d15 100644
--- a/src/3rdparty/freetype/include/config/ftstdlib.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
@@ -5,7 +5,7 @@
/* ANSI-specific library and header configuration file (specification */
/* only). */
/* */
-/* Copyright 2002-2007, 2009, 2011-2012 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -64,6 +64,7 @@
#define FT_INT_MAX INT_MAX
#define FT_INT_MIN INT_MIN
#define FT_UINT_MAX UINT_MAX
+#define FT_LONG_MAX LONG_MAX
#define FT_ULONG_MAX ULONG_MAX
@@ -141,8 +142,7 @@
/**********************************************************************/
-#define ft_atol atol
-#define ft_labs labs
+#define ft_atol atol
/**********************************************************************/
diff --git a/src/3rdparty/freetype/include/freetype.h b/src/3rdparty/freetype/include/freetype/freetype.h
index 27fd44bfc2..b6247f510f 100644
--- a/src/3rdparty/freetype/include/freetype.h
+++ b/src/3rdparty/freetype/include/freetype/freetype.h
@@ -4,7 +4,7 @@
/* */
/* FreeType high-level API and common types (specification only). */
/* */
-/* Copyright 1996-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -394,8 +394,11 @@ FT_BEGIN_HEADER
/* It also embeds a memory manager (see @FT_Memory), as well as a */
/* scan-line converter object (see @FT_Raster). */
/* */
- /* In multi-threaded applications, make sure that the same FT_Library */
- /* object or any of its children doesn't get accessed in parallel. */
+ /* In multi-threaded applications it is easiest to use one */
+ /* `FT_Library' object per thread. In case this is too cumbersome, */
+ /* a single `FT_Library' object across threads is possible also */
+ /* (since FreeType version 2.5.6), as long as a mutex lock is used */
+ /* around @FT_New_Face and @FT_Done_Face. */
/* */
/* <Note> */
/* Library objects are normally created by @FT_Init_FreeType, and */
@@ -477,6 +480,14 @@ FT_BEGIN_HEADER
/* */
/* Use @FT_Done_Face to destroy it (along with its slot and sizes). */
/* */
+ /* An `FT_Face' object can only be safely used from one thread at a */
+ /* time. Similarly, creation and destruction of `FT_Face' with the */
+ /* same @FT_Library object can only be done from one thread at a */
+ /* time. On the other hand, functions like @FT_Load_Glyph and its */
+ /* siblings are thread-safe and do not need the lock to be held as */
+ /* long as the same `FT_Face' object is not used from multiple */
+ /* threads at the same time. */
+ /* */
/* <Also> */
/* See @FT_FaceRec for the publicly accessible fields of a given face */
/* object. */
@@ -631,9 +642,13 @@ FT_BEGIN_HEADER
/* */
/* FT_ENCODING_MS_SYMBOL :: */
/* Corresponds to the Microsoft Symbol encoding, used to encode */
- /* mathematical symbols in the 32..255 character code range. For */
- /* more information, see */
- /* `http://www.kostis.net/charsets/symbol.htm'. */
+ /* mathematical symbols and wingdings. For more information, see */
+ /* `http://www.microsoft.com/typography/otspec/recom.htm', */
+ /* `http://www.kostis.net/charsets/symbol.htm', and */
+ /* `http://www.kostis.net/charsets/wingding.htm'. */
+ /* */
+ /* This encoding uses character codes from the PUA (Private Unicode */
+ /* Area) in the range U+F020-U+F0FF. */
/* */
/* FT_ENCODING_SJIS :: */
/* Corresponds to Japanese SJIS encoding. More info at */
@@ -651,7 +666,7 @@ FT_BEGIN_HEADER
/* FT_ENCODING_WANSUNG :: */
/* Corresponds to the Korean encoding system known as Wansung. */
/* For more information see */
- /* `http://msdn.microsoft.com/en-US/goglobal/cc305154'. */
+ /* `https://msdn.microsoft.com/en-US/goglobal/cc305154'. */
/* */
/* FT_ENCODING_JOHAB :: */
/* The Korean standard character set (KS~C 5601-1992), which */
@@ -861,17 +876,36 @@ FT_BEGIN_HEADER
/* font formats can have multiple faces in */
/* a font file. */
/* */
- /* face_index :: The index of the face in the font file. It */
- /* is set to~0 if there is only one face in */
+ /* face_index :: This field holds two different values. */
+ /* Bits 0-15 are the index of the face in the */
+ /* font file (starting with value~0). They */
+ /* are set to~0 if there is only one face in */
/* the font file. */
/* */
+ /* Bits 16-30 are relevant to GX variation */
+ /* fonts only, holding the named instance */
+ /* index for the current face index (starting */
+ /* with value~1; value~0 indicates font access */
+ /* without GX variation data). For non-GX */
+ /* fonts, bits 16-30 are ignored. If we have */
+ /* the third named instance of face~4, say, */
+ /* `face_index' is set to 0x00030004. */
+ /* */
+ /* Bit 31 is always zero (this is, */
+ /* `face_index' is always a positive value). */
+ /* */
/* face_flags :: A set of bit flags that give important */
/* information about the face; see */
/* @FT_FACE_FLAG_XXX for the details. */
/* */
- /* style_flags :: A set of bit flags indicating the style of */
- /* the face; see @FT_STYLE_FLAG_XXX for the */
- /* details. */
+ /* style_flags :: The lower 16~bits contain a set of bit */
+ /* flags indicating the style of the face; see */
+ /* @FT_STYLE_FLAG_XXX for the details. Bits */
+ /* 16-30 hold the number of named instances */
+ /* available for the current face if we have a */
+ /* GX variation (sub)font. Bit 31 is always */
+ /* zero (this is, `style_flags' is always a */
+ /* positive value). */
/* */
/* num_glyphs :: The number of glyphs in the face. If the */
/* face is scalable and has sbits (see */
@@ -893,6 +927,11 @@ FT_BEGIN_HEADER
/* Can be NULL (e.g., in fonts embedded in a */
/* PDF file). */
/* */
+ /* In case the font doesn't provide a specific */
+ /* family name entry, FreeType tries to */
+ /* synthesize one, deriving it from other name */
+ /* entries. */
+ /* */
/* style_name :: The face's style name. This is an ASCII */
/* string, usually in English, that describes */
/* the typeface's style (like `Italic', */
@@ -1140,7 +1179,7 @@ FT_BEGIN_HEADER
/* TrueType bytecode instructions to move and scale all of its */
/* subglyphs. */
/* */
- /* It is not possible to autohint such fonts using */
+ /* It is not possible to auto-hint such fonts using */
/* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
/* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */
/* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
@@ -1372,7 +1411,7 @@ FT_BEGIN_HEADER
/* FT_STYLE_FLAG_XXX */
/* */
/* <Description> */
- /* A list of bit-flags used to indicate the style of a given face. */
+ /* A list of bit flags used to indicate the style of a given face. */
/* These are used in the `style_flags' field of @FT_FaceRec. */
/* */
/* <Values> */
@@ -1649,11 +1688,11 @@ FT_BEGIN_HEADER
/* needs to know about the image format. */
/* */
/* lsb_delta :: The difference between hinted and unhinted */
- /* left side bearing while autohinting is */
+ /* left side bearing while auto-hinting is */
/* active. Zero otherwise. */
/* */
/* rsb_delta :: The difference between hinted and unhinted */
- /* right side bearing while autohinting is */
+ /* right side bearing while auto-hinting is */
/* active. Zero otherwise. */
/* */
/* <Note> */
@@ -1676,7 +1715,7 @@ FT_BEGIN_HEADER
/* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */
/* */
/* <Note> */
- /* Here a small pseudo code fragment that shows how to use */
+ /* Here is a small pseudo code fragment that shows how to use */
/* `lsb_delta' and `rsb_delta': */
/* */
/* { */
@@ -1769,8 +1808,8 @@ FT_BEGIN_HEADER
/* use @FT_New_Library instead, followed by a call to */
/* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */
/* */
- /* For multi-threading applications each thread should have its own */
- /* FT_Library object. */
+ /* See the documentation of @FT_Library and @FT_Face for */
+ /* multi-threading issues. */
/* */
/* If you need reference-counting (cf. @FT_Reference_Library), use */
/* @FT_New_Library and @FT_Done_Library. */
@@ -1804,7 +1843,7 @@ FT_BEGIN_HEADER
/* FT_OPEN_XXX */
/* */
/* <Description> */
- /* A list of bit-field constants used within the `flags' field of the */
+ /* A list of bit field constants used within the `flags' field of the */
/* @FT_Open_Args structure. */
/* */
/* <Values> */
@@ -1951,13 +1990,12 @@ FT_BEGIN_HEADER
/* <Input> */
/* pathname :: A path to the font file. */
/* */
- /* face_index :: The index of the face within the font. The first */
- /* face has index~0. */
+ /* face_index :: See @FT_Open_Face for a detailed description of this */
+ /* parameter. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
/* greater than or equal to zero, it must be non-NULL. */
- /* See @FT_Open_Face for more details. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -1990,13 +2028,12 @@ FT_BEGIN_HEADER
/* */
/* file_size :: The size of the memory chunk used by the font data. */
/* */
- /* face_index :: The index of the face within the font. The first */
- /* face has index~0. */
+ /* face_index :: See @FT_Open_Face for a detailed description of this */
+ /* parameter. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
/* greater than or equal to zero, it must be non-NULL. */
- /* See @FT_Open_Face for more details. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -2028,13 +2065,43 @@ FT_BEGIN_HEADER
/* args :: A pointer to an `FT_Open_Args' structure that must */
/* be filled by the caller. */
/* */
- /* face_index :: The index of the face within the font. The first */
- /* face has index~0. */
+ /* face_index :: This field holds two different values. Bits 0-15 */
+ /* are the index of the face in the font file (starting */
+ /* with value~0). Set it to~0 if there is only one */
+ /* face in the font file. */
+ /* */
+ /* Bits 16-30 are relevant to GX variation fonts only, */
+ /* specifying the named instance index for the current */
+ /* face index (starting with value~1; value~0 makes */
+ /* FreeType ignore named instances). For non-GX fonts, */
+ /* bits 16-30 are ignored. Assuming that you want to */
+ /* access the third named instance in face~4, */
+ /* `face_index' should be set to 0x00030004. If you */
+ /* want to access face~4 without GX variation handling, */
+ /* simply set `face_index' to value~4. */
+ /* */
+ /* FT_Open_Face and its siblings can be used to quickly */
+ /* check whether the font format of a given font */
+ /* resource is supported by FreeType. In general, if */
+ /* the `face_index' argument is negative, the */
+ /* function's return value is~0 if the font format is */
+ /* recognized, or non-zero otherwise. The function */
+ /* allocates a more or less empty face handle in */
+ /* `*aface' (if `aface' isn't NULL); the only two */
+ /* useful fields in this special case are */
+ /* `face->num_faces' and `face->style_flags'. For any */
+ /* negative value of `face_index', `face->num_faces' */
+ /* gives the number of faces within the font file. For */
+ /* the negative value `-(N+1)' (with `N' a 16-bit */
+ /* value), bits 16-30 in `face->style_flags' give the */
+ /* number of named instances in face `N' if we have a */
+ /* GX variation font (or zero otherwise). After */
+ /* examination, the returned @FT_Face structure should */
+ /* be deallocated with a call to @FT_Done_Face. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
/* greater than or equal to zero, it must be non-NULL. */
- /* See note below. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -2044,16 +2111,6 @@ FT_BEGIN_HEADER
/* slot for the face object that can be accessed directly through */
/* `face->glyph'. */
/* */
- /* FT_Open_Face can be used to quickly check whether the font */
- /* format of a given font resource is supported by FreeType. If the */
- /* `face_index' field is negative, the function's return value is~0 */
- /* if the font format is recognized, or non-zero otherwise; */
- /* the function returns a more or less empty face handle in `*aface' */
- /* (if `aface' isn't NULL). The only useful field in this special */
- /* case is `face->num_faces' that gives the number of faces within */
- /* the font file. After examination, the returned @FT_Face structure */
- /* should be deallocated with a call to @FT_Done_Face. */
- /* */
/* Each new face object created with this function also owns a */
/* default @FT_Size object, accessible as `face->size'. */
/* */
@@ -2064,6 +2121,74 @@ FT_BEGIN_HEADER
/* See the discussion of reference counters in the description of */
/* @FT_Reference_Face. */
/* */
+ /* To loop over all faces, use code similar to the following snippet */
+ /* (omitting the error handling). */
+ /* */
+ /* { */
+ /* ... */
+ /* FT_Face face; */
+ /* FT_Long i, num_faces; */
+ /* */
+ /* */
+ /* error = FT_Open_Face( library, args, -1, &face ); */
+ /* if ( error ) { ... } */
+ /* */
+ /* num_faces = face->num_faces; */
+ /* FT_Done_Face( face ); */
+ /* */
+ /* for ( i = 0; i < num_faces; i++ ) */
+ /* { */
+ /* ... */
+ /* error = FT_Open_Face( library, args, i, &face ); */
+ /* ... */
+ /* FT_Done_Face( face ); */
+ /* ... */
+ /* } */
+ /* } */
+ /* */
+ /* To loop over all valid values for `face_index', use something */
+ /* similar to the following snippet, again without error handling. */
+ /* The code accesses all faces immediately (thus only a single call */
+ /* of `FT_Open_Face' within the do-loop), with and without named */
+ /* instances. */
+ /* */
+ /* { */
+ /* ... */
+ /* FT_Face face; */
+ /* */
+ /* FT_Long num_faces = 0; */
+ /* FT_Long num_instances = 0; */
+ /* */
+ /* FT_Long face_idx = 0; */
+ /* FT_Long instance_idx = 0; */
+ /* */
+ /* */
+ /* do */
+ /* { */
+ /* FT_Long id = ( instance_idx << 16 ) + face_idx; */
+ /* */
+ /* */
+ /* error = FT_Open_Face( library, args, id, &face ); */
+ /* if ( error ) { ... } */
+ /* */
+ /* num_faces = face->num_faces; */
+ /* num_instances = face->style_flags >> 16; */
+ /* */
+ /* ... */
+ /* */
+ /* FT_Done_Face( face ); */
+ /* */
+ /* if ( instance_idx < num_instances ) */
+ /* instance_idx++; */
+ /* else */
+ /* { */
+ /* face_idx++; */
+ /* instance_idx = 0; */
+ /* } */
+ /* */
+ /* } while ( face_idx < num_faces ) */
+ /* } */
+ /* */
FT_EXPORT( FT_Error )
FT_Open_Face( FT_Library library,
const FT_Open_Args* args,
@@ -2501,7 +2626,7 @@ FT_BEGIN_HEADER
* FT_LOAD_XXX
*
* @description:
- * A list of bit-field constants used with @FT_Load_Glyph to indicate
+ * A list of bit field constants used with @FT_Load_Glyph to indicate
* what kind of operations to perform during glyph loading.
*
* @values:
@@ -2618,6 +2743,16 @@ FT_BEGIN_HEADER
* bitmaps transparently. Those bitmaps will be in the
* @FT_PIXEL_MODE_GRAY format.
*
+ * FT_LOAD_COMPUTE_METRICS ::
+ * This flag sets computing glyph metrics without the use of bundled
+ * metrics tables (for example, the `hdmx' table in TrueType fonts).
+ * Well-behaving fonts have optimized bundled metrics and these should
+ * be used. This flag is mainly used by font validating or font
+ * editing applications, which need to ignore, verify, or edit those
+ * tables.
+ *
+ * Currently, this flag is only implemented for TrueType fonts.
+ *
* FT_LOAD_CROP_BITMAP ::
* Ignored. Deprecated.
*
@@ -2663,6 +2798,7 @@ FT_BEGIN_HEADER
#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
/* Bits 16..19 are used by `FT_LOAD_TARGET_' */
#define FT_LOAD_COLOR ( 1L << 20 )
+#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
/* */
@@ -2907,15 +3043,22 @@ FT_BEGIN_HEADER
/* @FT_Get_Kerning. */
/* */
/* <Values> */
- /* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */
- /* distances (value is~0). */
+ /* FT_KERNING_DEFAULT :: Return grid-fitted kerning distances in */
+ /* pixels (value is~0). Whether they are */
+ /* scaled depends on @FT_LOAD_NO_SCALE. */
/* */
- /* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */
- /* distances. */
+ /* FT_KERNING_UNFITTED :: Return un-grid-fitted kerning distances in */
+ /* 26.6 fractional pixels. Whether they are */
+ /* scaled depends on @FT_LOAD_NO_SCALE. */
/* */
/* FT_KERNING_UNSCALED :: Return the kerning vector in original font */
/* units. */
/* */
+ /* <Note> */
+ /* FT_KERNING_DEFAULT returns full pixel values; it also makes */
+ /* FreeType heuristically scale down kerning distances at small ppem */
+ /* values so that they don't become too big. */
+ /* */
typedef enum FT_Kerning_Mode_
{
FT_KERNING_DEFAULT = 0,
@@ -2952,9 +3095,10 @@ FT_BEGIN_HEADER
/* kerning vector. */
/* */
/* <Output> */
- /* akerning :: The kerning vector. This is either in font units */
- /* or in pixels (26.6 format) for scalable formats, */
- /* and in pixels for fixed-sizes formats. */
+ /* akerning :: The kerning vector. This is either in font units, */
+ /* fractional pixels (26.6 format), or pixels for */
+ /* scalable formats, and in pixels for fixed-sizes */
+ /* formats. */
/* */
/* <Return> */
/* FreeType error code. 0~means success. */
@@ -3239,6 +3383,13 @@ FT_BEGIN_HEADER
/* } */
/* } */
/* */
+ /* Be aware that character codes can have values up to 0xFFFFFFFF; */
+ /* this might happen for non-Unicode or malformed cmaps. However, */
+ /* even with regular Unicode encoding, so-called `last resort fonts' */
+ /* (using SFNT cmap format 13, see function @FT_Get_CMap_Format) */
+ /* normally have entries for all Unicode characters up to 0x1FFFFF, */
+ /* which can cause *a lot* of iterations. */
+ /* */
/* Note that `*agindex' is set to~0 if the charmap is empty. The */
/* result itself can be~0 in two cases: if the charmap is empty or */
/* if the value~0 is the first valid character code. */
@@ -3398,8 +3549,9 @@ FT_BEGIN_HEADER
/* @FT_Get_FSType_Flags; they inform client applications of embedding */
/* and subsetting restrictions associated with a font. */
/* */
- /* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */
- /* more details. */
+ /* See */
+ /* http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FontPolicies.pdf */
+ /* for more details. */
/* */
/* <Values> */
/* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */
@@ -3433,6 +3585,9 @@ FT_BEGIN_HEADER
/* bitmaps available in the font, then the font is unembeddable. */
/* */
/* <Note> */
+ /* The flags are ORed together, thus more than a single value can be */
+ /* returned. */
+ /* */
/* While the fsType flags can indicate that a font may be embedded, a */
/* license with the font vendor may be separately required to use the */
/* font in this way. */
@@ -3818,7 +3973,8 @@ FT_BEGIN_HEADER
/* a :: The number to be rounded. */
/* */
/* <Return> */
- /* The result of `(a + 0x8000) & -0x10000'. */
+ /* `a' rounded to nearest 16.16 fixed integer, halfway cases away */
+ /* from zero. */
/* */
FT_EXPORT( FT_Fixed )
FT_RoundFix( FT_Fixed a );
@@ -3837,7 +3993,7 @@ FT_BEGIN_HEADER
/* a :: The number for which the ceiling function is to be computed. */
/* */
/* <Return> */
- /* The result of `(a + 0x10000 - 1) & -0x10000'. */
+ /* `a' rounded towards plus infinity. */
/* */
FT_EXPORT( FT_Fixed )
FT_CeilFix( FT_Fixed a );
@@ -3856,7 +4012,7 @@ FT_BEGIN_HEADER
/* a :: The number for which the floor function is to be computed. */
/* */
/* <Return> */
- /* The result of `a & -0x10000'. */
+ /* `a' rounded towards minus infinity. */
/* */
FT_EXPORT( FT_Fixed )
FT_FloorFix( FT_Fixed a );
@@ -3936,8 +4092,8 @@ FT_BEGIN_HEADER
*
*/
#define FREETYPE_MAJOR 2
-#define FREETYPE_MINOR 5
-#define FREETYPE_PATCH 5
+#define FREETYPE_MINOR 6
+#define FREETYPE_PATCH 1
/*************************************************************************/
diff --git a/src/3rdparty/freetype/include/ftadvanc.h b/src/3rdparty/freetype/include/freetype/ftadvanc.h
index 955f93fa16..b4d2aed567 100644
--- a/src/3rdparty/freetype/include/ftadvanc.h
+++ b/src/3rdparty/freetype/include/freetype/ftadvanc.h
@@ -4,7 +4,7 @@
/* */
/* Quick computation of advance widths (specification only). */
/* */
-/* Copyright 2008, 2013, 2014 by */
+/* Copyright 2008-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -77,7 +77,7 @@ FT_BEGIN_HEADER
/* and hinting of the glyph outline, are extremely slow by */
/* comparison. */
/* */
-#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
+#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000L
/*************************************************************************/
diff --git a/src/3rdparty/freetype/include/ftautoh.h b/src/3rdparty/freetype/include/freetype/ftautoh.h
index 59191abbfe..ab39c21995 100644
--- a/src/3rdparty/freetype/include/ftautoh.h
+++ b/src/3rdparty/freetype/include/freetype/ftautoh.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for controlling the auto-hinter (specification only). */
/* */
-/* Copyright 2012, 2013 by */
+/* Copyright 2012-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -247,8 +247,8 @@ FT_BEGIN_HEADER
*/
typedef struct FT_Prop_GlyphToScriptMap_
{
- FT_Face face;
- FT_Byte* map;
+ FT_Face face;
+ FT_UShort* map;
} FT_Prop_GlyphToScriptMap;
@@ -300,7 +300,7 @@ FT_BEGIN_HEADER
* @description:
* *Experimental* *only*
*
- * If Freetype gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
+ * If FreeType gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
* the HarfBuzz library access OpenType features for getting better
* glyph coverages, this property sets the (auto-fitter) script to be
* used for the default (OpenType) script data of a font's GSUB table.
@@ -391,6 +391,54 @@ FT_BEGIN_HEADER
} FT_Prop_IncreaseXHeight;
+
+ /**************************************************************************
+ *
+ * @property:
+ * warping
+ *
+ * @description:
+ * *Experimental* *only*
+ *
+ * If FreeType gets compiled with option AF_CONFIG_OPTION_USE_WARPER to
+ * activate the warp hinting code in the auto-hinter, this property
+ * switches warping on and off.
+ *
+ * Warping only works in `light' auto-hinting mode. The idea of the
+ * code is to slightly scale and shift a glyph along the non-hinted
+ * dimension (which is usually the horizontal axis) so that as much of
+ * its segments are aligned (more or less) to the grid. To find out a
+ * glyph's optimal scaling and shifting value, various parameter
+ * combinations are tried and scored.
+ *
+ * By default, warping is off. The example below shows how to switch on
+ * warping (omitting the error handling).
+ *
+ * {
+ * FT_Library library;
+ * FT_Bool warping = 1;
+ *
+ *
+ * FT_Init_FreeType( &library );
+ *
+ * FT_Property_Set( library, "autofitter",
+ * "warping", &warping );
+ * }
+ *
+ * @note:
+ * This property can be used with @FT_Property_Get also.
+ *
+ * The warping code can also change advance widths. Have a look at the
+ * `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
+ * for details on improving inter-glyph distances while rendering.
+ *
+ * Since warping is a global property of the auto-hinter it is best to
+ * change its value before rendering any face. Otherwise, you should
+ * reload all faces that get auto-hinted in `light' hinting mode.
+ *
+ */
+
+
/* */
diff --git a/src/3rdparty/freetype/include/ftbbox.h b/src/3rdparty/freetype/include/freetype/ftbbox.h
index d6800e240f..9d9d040767 100644
--- a/src/3rdparty/freetype/include/ftbbox.h
+++ b/src/3rdparty/freetype/include/freetype/ftbbox.h
@@ -4,7 +4,7 @@
/* */
/* FreeType exact bbox computation (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2007, 2011, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftbdf.h b/src/3rdparty/freetype/include/freetype/ftbdf.h
index 6d262e4141..0bdabf481c 100644
--- a/src/3rdparty/freetype/include/ftbdf.h
+++ b/src/3rdparty/freetype/include/freetype/ftbdf.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing BDF-specific strings (specification). */
/* */
-/* Copyright 2002-2004, 2006, 2009, 2014 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftbitmap.h b/src/3rdparty/freetype/include/freetype/ftbitmap.h
index eae716904b..46cc47b7d1 100644
--- a/src/3rdparty/freetype/include/ftbitmap.h
+++ b/src/3rdparty/freetype/include/freetype/ftbitmap.h
@@ -4,7 +4,7 @@
/* */
/* FreeType utility functions for bitmaps (specification). */
/* */
-/* Copyright 2004-2006, 2008, 2013, 2014 by */
+/* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -55,7 +55,7 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Function> */
- /* FT_Bitmap_New */
+ /* FT_Bitmap_Init */
/* */
/* <Description> */
/* Initialize a pointer to an @FT_Bitmap structure. */
@@ -63,6 +63,14 @@ FT_BEGIN_HEADER
/* <InOut> */
/* abitmap :: A pointer to the bitmap structure. */
/* */
+ /* <Note> */
+ /* A deprecated name for the same function is `FT_Bitmap_New'. */
+ /* */
+ FT_EXPORT( void )
+ FT_Bitmap_Init( FT_Bitmap *abitmap );
+
+
+ /* deprecated */
FT_EXPORT( void )
FT_Bitmap_New( FT_Bitmap *abitmap );
@@ -202,7 +210,7 @@ FT_BEGIN_HEADER
/* FT_Bitmap_Done */
/* */
/* <Description> */
- /* Destroy a bitmap object created with @FT_Bitmap_New. */
+ /* Destroy a bitmap object initialized with @FT_Bitmap_Init. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
diff --git a/src/3rdparty/freetype/include/ftbzip2.h b/src/3rdparty/freetype/include/freetype/ftbzip2.h
index 4dce161fd6..c25f9469df 100644
--- a/src/3rdparty/freetype/include/ftbzip2.h
+++ b/src/3rdparty/freetype/include/freetype/ftbzip2.h
@@ -4,7 +4,7 @@
/* */
/* Bzip2-compressed stream support. */
/* */
-/* Copyright 2010 by */
+/* Copyright 2010-2015 by */
/* Joel Klinghed. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftcache.h b/src/3rdparty/freetype/include/freetype/ftcache.h
index a30e925cc5..68525bb829 100644
--- a/src/3rdparty/freetype/include/ftcache.h
+++ b/src/3rdparty/freetype/include/freetype/ftcache.h
@@ -4,7 +4,7 @@
/* */
/* FreeType Cache subsystem (specification). */
/* */
-/* Copyright 1996-2008, 2010, 2013, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -667,8 +667,8 @@ FT_BEGIN_HEADER
typedef struct FTC_ImageTypeRec_
{
FTC_FaceID face_id;
- FT_Int width;
- FT_Int height;
+ FT_UInt width;
+ FT_UInt height;
FT_Int32 flags;
} FTC_ImageTypeRec;
diff --git a/src/3rdparty/freetype/include/ftcffdrv.h b/src/3rdparty/freetype/include/freetype/ftcffdrv.h
index f7031bc883..6c8e416cee 100644
--- a/src/3rdparty/freetype/include/ftcffdrv.h
+++ b/src/3rdparty/freetype/include/freetype/ftcffdrv.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for controlling the CFF driver (specification only). */
/* */
-/* Copyright 2013, 2014 by */
+/* Copyright 2013-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftchapters.h b/src/3rdparty/freetype/include/freetype/ftchapters.h
index d333761c81..ab4389530e 100644
--- a/src/3rdparty/freetype/include/ftchapters.h
+++ b/src/3rdparty/freetype/include/freetype/ftchapters.h
@@ -119,3 +119,17 @@
/* lcd_filtering */
/* */
/***************************************************************************/
+
+/***************************************************************************/
+/* */
+/* <Chapter> */
+/* error_codes */
+/* */
+/* <Title> */
+/* Error Codes */
+/* */
+/* <Sections> */
+/* error_enumerations */
+/* error_code_values */
+/* */
+/***************************************************************************/
diff --git a/src/3rdparty/freetype/include/ftcid.h b/src/3rdparty/freetype/include/freetype/ftcid.h
index 17550d87b5..05741c85b7 100644
--- a/src/3rdparty/freetype/include/ftcid.h
+++ b/src/3rdparty/freetype/include/freetype/ftcid.h
@@ -4,7 +4,8 @@
/* */
/* FreeType API for accessing CID font information (specification). */
/* */
-/* Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal. */
+/* Copyright 2007-2015 by */
+/* Dereg Clegg and Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
diff --git a/src/3rdparty/freetype/include/fterrdef.h b/src/3rdparty/freetype/include/freetype/fterrdef.h
index 99b2fadec6..d865da7127 100644
--- a/src/3rdparty/freetype/include/fterrdef.h
+++ b/src/3rdparty/freetype/include/freetype/fterrdef.h
@@ -4,7 +4,7 @@
/* */
/* FreeType error codes (specification). */
/* */
-/* Copyright 2002, 2004, 2006, 2007, 2010-2013 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -16,18 +16,43 @@
/***************************************************************************/
- /*******************************************************************/
- /*******************************************************************/
- /***** *****/
- /***** LIST OF ERROR CODES/MESSAGES *****/
- /***** *****/
- /*******************************************************************/
- /*******************************************************************/
+ /*************************************************************************/
+ /* */
+ /* <Section> */
+ /* error_code_values */
+ /* */
+ /* <Title> */
+ /* Error Code Values */
+ /* */
+ /* <Abstract> */
+ /* All possible error codes returned by FreeType functions. */
+ /* */
+ /* <Description> */
+ /* The list below is taken verbatim from the file `fterrdef.h' */
+ /* (loaded automatically by including `FT_FREETYPE_H'). The first */
+ /* argument of the `FT_ERROR_DEF_' macro is the error label; by */
+ /* default, the prefix `FT_Err_' gets added so that you get error */
+ /* names like `FT_Err_Cannot_Open_Resource'. The second argument is */
+ /* the error code, and the last argument an error string, which is not */
+ /* used by FreeType. */
+ /* */
+ /* Within your application you should *only* use error names and */
+ /* *never* its numeric values! The latter might (and actually do) */
+ /* change in forthcoming FreeType versions. */
+ /* */
+ /* Macro `FT_NOERRORDEF_' defines `FT_Err_Ok', which is always zero. */
+ /* See the `Error Enumerations' subsection how to automatically */
+ /* generate a list of error strings. */
+ /* */
+ /*************************************************************************/
- /* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */
- /* including this file. */
-
+ /*************************************************************************/
+ /* */
+ /* <Enum> */
+ /* FT_Err_XXX */
+ /* */
+ /*************************************************************************/
/* generic errors */
@@ -245,5 +270,7 @@
FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA,
"Font glyphs corrupted or missing fields" )
+ /* */
+
/* END */
diff --git a/src/3rdparty/freetype/include/fterrors.h b/src/3rdparty/freetype/include/freetype/fterrors.h
index 0fa3e4dce1..0507b9ad7d 100644
--- a/src/3rdparty/freetype/include/fterrors.h
+++ b/src/3rdparty/freetype/include/freetype/fterrors.h
@@ -4,7 +4,7 @@
/* */
/* FreeType error code handling (specification). */
/* */
-/* Copyright 1996-2002, 2004, 2007, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -18,68 +18,86 @@
/*************************************************************************/
/* */
- /* This special header file is used to define the handling of FT2 */
- /* enumeration constants. It can also be used to generate error message */
- /* strings with a small macro trick explained below. */
+ /* <Section> */
+ /* error_enumerations */
/* */
- /* I - Error Formats */
- /* ----------------- */
+ /* <Title> */
+ /* Error Enumerations */
+ /* */
+ /* <Abstract> */
+ /* How to handle errors and error strings. */
+ /* */
+ /* <Description> */
+ /* The header file `fterrors.h' (which is automatically included by */
+ /* `freetype.h' defines the handling of FreeType's enumeration */
+ /* constants. It can also be used to generate error message strings */
+ /* with a small macro trick explained below. */
+ /* */
+ /* *Error* *Formats* */
/* */
/* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be */
- /* defined in ftoption.h in order to make the higher byte indicate */
+ /* defined in `ftoption.h' in order to make the higher byte indicate */
/* the module where the error has happened (this is not compatible */
- /* with standard builds of FreeType 2). See the file `ftmoderr.h' for */
- /* more details. */
+ /* with standard builds of FreeType&nbsp;2, however). See the file */
+ /* `ftmoderr.h' for more details. */
/* */
+ /* *Error* *Message* *Strings* */
/* */
- /* II - Error Message strings */
- /* -------------------------- */
- /* */
- /* The error definitions below are made through special macros that */
- /* allow client applications to build a table of error message strings */
- /* if they need it. The strings are not included in a normal build of */
- /* FreeType 2 to save space (most client applications do not use */
- /* them). */
+ /* Error definitions are set up with special macros that allow client */
+ /* applications to build a table of error message strings. The */
+ /* strings are not included in a normal build of FreeType&nbsp;2 to */
+ /* save space (most client applications do not use them). */
/* */
/* To do so, you have to define the following macros before including */
- /* this file: */
+ /* this file. */
/* */
- /* FT_ERROR_START_LIST :: */
- /* This macro is called before anything else to define the start of */
- /* the error list. It is followed by several FT_ERROR_DEF calls */
- /* (see below). */
+ /* { */
+ /* FT_ERROR_START_LIST */
+ /* } */
/* */
- /* FT_ERROR_DEF( e, v, s ) :: */
- /* This macro is called to define one single error. */
- /* `e' is the error code identifier (e.g. FT_Err_Invalid_Argument). */
- /* `v' is the error numerical value. */
- /* `s' is the corresponding error string. */
+ /* This macro is called before anything else to define the start of */
+ /* the error list. It is followed by several FT_ERROR_DEF calls. */
/* */
- /* FT_ERROR_END_LIST :: */
- /* This macro ends the list. */
+ /* { */
+ /* FT_ERROR_DEF( e, v, s ) */
+ /* } */
/* */
- /* Additionally, you have to undefine __FTERRORS_H__ before #including */
- /* this file. */
+ /* This macro is called to define one single error. `e' is the error */
+ /* code identifier (e.g., `Invalid_Argument'), `v' is the error's */
+ /* numerical value, and `s' is the corresponding error string. */
+ /* */
+ /* { */
+ /* FT_ERROR_END_LIST */
+ /* } */
+ /* */
+ /* This macro ends the list. */
+ /* */
+ /* Additionally, you have to undefine `__FTERRORS_H__' before */
+ /* #including this file. */
+ /* */
+ /* Here is a simple example. */
/* */
- /* Here is a simple example: */
+ /* { */
+ /* #undef __FTERRORS_H__ */
+ /* #define FT_ERRORDEF( e, v, s ) { e, s }, */
+ /* #define FT_ERROR_START_LIST { */
+ /* #define FT_ERROR_END_LIST { 0, NULL } }; */
/* */
+ /* const struct */
/* { */
- /* #undef __FTERRORS_H__ */
- /* #define FT_ERRORDEF( e, v, s ) { e, s }, */
- /* #define FT_ERROR_START_LIST { */
- /* #define FT_ERROR_END_LIST { 0, 0 } }; */
+ /* int err_code; */
+ /* const char* err_msg; */
+ /* } ft_errors[] = */
/* */
- /* const struct */
- /* { */
- /* int err_code; */
- /* const char* err_msg; */
- /* } ft_errors[] = */
+ /* #include FT_ERRORS_H */
+ /* } */
/* */
- /* #include FT_ERRORS_H */
- /* } */
+ /* Note that `FT_Err_Ok' is _not_ defined with `FT_ERRORDEF' but with */
+ /* `FT_NOERRORDEF'; it is always zero. */
/* */
/*************************************************************************/
+ /* */
#ifndef __FTERRORS_H__
#define __FTERRORS_H__
diff --git a/src/3rdparty/freetype/include/ftxf86.h b/src/3rdparty/freetype/include/freetype/ftfntfmt.h
index 89d1993e1e..1f8ff28f10 100644
--- a/src/3rdparty/freetype/include/ftxf86.h
+++ b/src/3rdparty/freetype/include/freetype/ftfntfmt.h
@@ -1,10 +1,10 @@
/***************************************************************************/
/* */
-/* ftxf86.h */
+/* ftfntfmt.h */
/* */
-/* Support functions for X11. */
+/* Support functions for font formats. */
/* */
-/* Copyright 2002-2004, 2006, 2007, 2013 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef __FTXF86_H__
-#define __FTXF86_H__
+#ifndef __FTFNTFMT_H__
+#define __FTFNTFMT_H__
#include <ft2build.h>
#include FT_FREETYPE_H
@@ -49,22 +49,20 @@ FT_BEGIN_HEADER
/* however, there are special cases (like in PDF devices) where it is */
/* important to differentiate, in spite of FreeType's uniform API. */
/* */
- /* This function is in the X11/xf86 namespace for historical reasons */
- /* and in no way depends on that windowing system. */
- /* */
/*************************************************************************/
/*************************************************************************/
/* */
/* <Function> */
- /* FT_Get_X11_Font_Format */
+ /* FT_Get_Font_Format */
/* */
/* <Description> */
- /* Return a string describing the format of a given face, using values */
- /* that can be used as an X11 FONT_PROPERTY. Possible values are */
- /* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */
- /* `PFR', and `Windows~FNT'. */
+ /* Return a string describing the format of a given face. Possible */
+ /* values are `TrueType', `Type~1', `BDF', `PCF', `Type~42', */
+ /* `CID~Type~1', `CFF', `PFR', and `Windows~FNT'. */
+ /* */
+ /* The return value is suitable to be used as an X11 FONT_PROPERTY. */
/* */
/* <Input> */
/* face :: */
@@ -73,12 +71,22 @@ FT_BEGIN_HEADER
/* <Return> */
/* Font format string. NULL in case of error. */
/* */
+ /* <Note> */
+ /* A deprecated name for the same function is */
+ /* `FT_Get_X11_Font_Format'. */
+ /* */
+ FT_EXPORT( const char* )
+ FT_Get_Font_Format( FT_Face face );
+
+
+ /* deprecated */
FT_EXPORT( const char* )
FT_Get_X11_Font_Format( FT_Face face );
+
/* */
FT_END_HEADER
-#endif /* __FTXF86_H__ */
+#endif /* __FTFNTFMT_H__ */
diff --git a/src/3rdparty/freetype/include/ftgasp.h b/src/3rdparty/freetype/include/freetype/ftgasp.h
index 3f3d765467..9a9b6321b3 100644
--- a/src/3rdparty/freetype/include/ftgasp.h
+++ b/src/3rdparty/freetype/include/freetype/ftgasp.h
@@ -4,7 +4,7 @@
/* */
/* Access of TrueType's `gasp' table (specification). */
/* */
-/* Copyright 2007, 2008, 2011 by */
+/* Copyright 2007-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftglyph.h b/src/3rdparty/freetype/include/freetype/ftglyph.h
index 15fa6a9950..803ad39621 100644
--- a/src/3rdparty/freetype/include/ftglyph.h
+++ b/src/3rdparty/freetype/include/freetype/ftglyph.h
@@ -4,7 +4,7 @@
/* */
/* FreeType convenience functions to handle glyphs (specification). */
/* */
-/* Copyright 1996-2003, 2006, 2008, 2009, 2011, 2013, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftgxval.h b/src/3rdparty/freetype/include/freetype/ftgxval.h
index 88c3d93750..0e9ac1dad3 100644
--- a/src/3rdparty/freetype/include/ftgxval.h
+++ b/src/3rdparty/freetype/include/freetype/ftgxval.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
/* */
-/* Copyright 2004-2006, 2013 by */
+/* Copyright 2004-2015 by */
/* Masatake YAMATO, Redhat K.K, */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
diff --git a/src/3rdparty/freetype/include/ftgzip.h b/src/3rdparty/freetype/include/freetype/ftgzip.h
index eb346c6dc7..b3a532d5e1 100644
--- a/src/3rdparty/freetype/include/ftgzip.h
+++ b/src/3rdparty/freetype/include/freetype/ftgzip.h
@@ -4,7 +4,7 @@
/* */
/* Gzip-compressed stream support. */
/* */
-/* Copyright 2002-2004, 2006, 2013 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftimage.h b/src/3rdparty/freetype/include/freetype/ftimage.h
index 2f7ca2aaf5..82f284c4f9 100644
--- a/src/3rdparty/freetype/include/ftimage.h
+++ b/src/3rdparty/freetype/include/freetype/ftimage.h
@@ -5,7 +5,7 @@
/* FreeType glyph image formats and default raster interface */
/* (specification). */
/* */
-/* Copyright 1996-2010, 2013, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -258,11 +258,6 @@ FT_BEGIN_HEADER
/* field is intended for paletted pixel modes. Not */
/* used currently. */
/* */
- /* <Note> */
- /* For now, the only pixel modes supported by FreeType are mono and */
- /* grays. However, drivers might be added in the future to support */
- /* more `colorful' options. */
- /* */
typedef struct FT_Bitmap_
{
unsigned int rows;
@@ -1078,10 +1073,10 @@ FT_BEGIN_HEADER
/* FT_Raster_ResetFunc */
/* */
/* <Description> */
- /* FreeType provides an area of memory called the `render pool', */
- /* available to all registered rasters. This pool can be freely used */
- /* during a given scan-conversion but is shared by all rasters. Its */
- /* content is thus transient. */
+ /* FreeType used to provide an area of memory called the `render */
+ /* pool' available to all registered rasters. This was not thread */
+ /* safe however and now FreeType never allocates this pool. NULL */
+ /* is always passed in as pool_base. */
/* */
/* This function is called each time the render pool changes, or just */
/* after a new raster object is created. */
@@ -1094,10 +1089,9 @@ FT_BEGIN_HEADER
/* pool_size :: The size in bytes of the render pool. */
/* */
/* <Note> */
- /* Rasters can ignore the render pool and rely on dynamic memory */
+ /* Rasters should ignore the render pool and rely on dynamic or stack */
/* allocation if they want to (a handle to the memory allocator is */
- /* passed to the raster constructor). However, this is not */
- /* recommended for efficiency purposes. */
+ /* passed to the raster constructor). */
/* */
typedef void
(*FT_Raster_ResetFunc)( FT_Raster raster,
diff --git a/src/3rdparty/freetype/include/ftincrem.h b/src/3rdparty/freetype/include/freetype/ftincrem.h
index 4c0246c5df..840af25b05 100644
--- a/src/3rdparty/freetype/include/ftincrem.h
+++ b/src/3rdparty/freetype/include/freetype/ftincrem.h
@@ -4,7 +4,7 @@
/* */
/* FreeType incremental loading (specification). */
/* */
-/* Copyright 2002, 2003, 2006-2008, 2010, 2014 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftlcdfil.h b/src/3rdparty/freetype/include/freetype/ftlcdfil.h
index e8679c1a3f..4cd999a4b3 100644
--- a/src/3rdparty/freetype/include/ftlcdfil.h
+++ b/src/3rdparty/freetype/include/freetype/ftlcdfil.h
@@ -5,7 +5,7 @@
/* FreeType API for color filtering of subpixel bitmap glyphs */
/* (specification). */
/* */
-/* Copyright 2006-2008, 2010, 2013, 2014 by */
+/* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftlist.h b/src/3rdparty/freetype/include/freetype/ftlist.h
index 9950a27997..12b48c78f7 100644
--- a/src/3rdparty/freetype/include/ftlist.h
+++ b/src/3rdparty/freetype/include/freetype/ftlist.h
@@ -4,7 +4,7 @@
/* */
/* Generic list support for FreeType (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2007, 2010, 2013, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftlzw.h b/src/3rdparty/freetype/include/freetype/ftlzw.h
index 857c0c52bb..d3ec28e554 100644
--- a/src/3rdparty/freetype/include/ftlzw.h
+++ b/src/3rdparty/freetype/include/freetype/ftlzw.h
@@ -4,7 +4,7 @@
/* */
/* LZW-compressed stream support. */
/* */
-/* Copyright 2004, 2006 by */
+/* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftmac.h b/src/3rdparty/freetype/include/freetype/ftmac.h
index 42874fe6fc..14c55cfe2b 100644
--- a/src/3rdparty/freetype/include/ftmac.h
+++ b/src/3rdparty/freetype/include/freetype/ftmac.h
@@ -4,7 +4,7 @@
/* */
/* Additional Mac-specific API. */
/* */
-/* Copyright 1996-2001, 2004, 2006, 2007, 2013 by */
+/* Copyright 1996-2015 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftmm.h b/src/3rdparty/freetype/include/freetype/ftmm.h
index 2dcfd678df..6ef47987e6 100644
--- a/src/3rdparty/freetype/include/ftmm.h
+++ b/src/3rdparty/freetype/include/freetype/ftmm.h
@@ -4,7 +4,7 @@
/* */
/* FreeType Multiple Master font interface (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2004, 2006, 2009, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -95,8 +95,8 @@ FT_BEGIN_HEADER
/* */
/* num_designs :: Number of designs; should be normally 2^num_axis */
/* even though the Type~1 specification strangely */
- /* allows for intermediate designs to be present. This */
- /* number cannot exceed~16. */
+ /* allows for intermediate designs to be present. */
+ /* This number cannot exceed~16. */
/* */
/* axis :: A table of axis descriptors. */
/* */
@@ -201,10 +201,10 @@ FT_BEGIN_HEADER
/* associated with them. The font can tell the */
/* user that, for example, Weight=1.5 is `Bold'. */
/* */
- /* axis :: A table of axis descriptors. */
+ /* axis :: An axis descriptor table. */
/* GX fonts contain slightly more data than MM. */
/* */
- /* namedstyles :: A table of named styles. */
+ /* namedstyle :: A named style table. */
/* Only meaningful with GX. */
/* */
typedef struct FT_MM_Var_
@@ -280,8 +280,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */
/* */
/* <Input> */
- /* num_coords :: The number of design coordinates (must be equal to */
- /* the number of axes in the font). */
+ /* num_coords :: The number of available design coordinates. If it */
+ /* is larger than the number of axes, ignore the excess */
+ /* values. If it is smaller than the number of axes, */
+ /* use default values for the remaining axes. */
/* */
/* coords :: An array of design coordinates. */
/* */
@@ -307,8 +309,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */
/* */
/* <Input> */
- /* num_coords :: The number of design coordinates (must be equal to */
- /* the number of axes in the font). */
+ /* num_coords :: The number of available design coordinates. If it */
+ /* is larger than the number of axes, ignore the excess */
+ /* values. If it is smaller than the number of axes, */
+ /* use default values for the remaining axes. */
/* */
/* coords :: An array of design coordinates. */
/* */
@@ -334,8 +338,10 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face. */
/* */
/* <Input> */
- /* num_coords :: The number of design coordinates (must be equal to */
- /* the number of axes in the font). */
+ /* num_coords :: The number of available design coordinates. If it */
+ /* is larger than the number of axes, ignore the excess */
+ /* values. If it is smaller than the number of axes, */
+ /* use default values for the remaining axes. */
/* */
/* coords :: The design coordinates array (each element must be */
/* between 0 and 1.0). */
diff --git a/src/3rdparty/freetype/include/ftmodapi.h b/src/3rdparty/freetype/include/freetype/ftmodapi.h
index 980f15d3de..544279a68a 100644
--- a/src/3rdparty/freetype/include/ftmodapi.h
+++ b/src/3rdparty/freetype/include/freetype/ftmodapi.h
@@ -4,7 +4,7 @@
/* */
/* FreeType modules public interface (specification). */
/* */
-/* Copyright 1996-2003, 2006, 2008-2010, 2012, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -63,7 +63,7 @@ FT_BEGIN_HEADER
/* psaux */
/* pshinter */
/* psnames */
- /* raster1, raster5 */
+ /* raster1 */
/* sfnt */
/* smooth, smooth-lcd, smooth-lcdv */
/* truetype */
@@ -469,7 +469,9 @@ FT_BEGIN_HEADER
/* <Description> */
/* This function is used to create a new FreeType library instance */
/* from a given memory object. It is thus possible to use libraries */
- /* with distinct memory allocators within the same program. */
+ /* with distinct memory allocators within the same program. Note, */
+ /* however, that the used @FT_Memory structure is expected to remain */
+ /* valid for the life of the @FT_Library object. */
/* */
/* Normally, you would call this function (followed by a call to */
/* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */
diff --git a/src/3rdparty/freetype/include/ftmoderr.h b/src/3rdparty/freetype/include/freetype/ftmoderr.h
index 5a27db151a..9d7f981409 100644
--- a/src/3rdparty/freetype/include/ftmoderr.h
+++ b/src/3rdparty/freetype/include/freetype/ftmoderr.h
@@ -4,7 +4,7 @@
/* */
/* FreeType module error offsets (specification). */
/* */
-/* Copyright 2001-2005, 2010, 2013 by */
+/* Copyright 2001-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftotval.h b/src/3rdparty/freetype/include/freetype/ftotval.h
index 75ba03ee8e..e744b713fb 100644
--- a/src/3rdparty/freetype/include/ftotval.h
+++ b/src/3rdparty/freetype/include/freetype/ftotval.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for validating OpenType tables (specification). */
/* */
-/* Copyright 2004-2007, 2013, 2014 by */
+/* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftoutln.h b/src/3rdparty/freetype/include/freetype/ftoutln.h
index d3b8fbd265..b6ec70de8c 100644
--- a/src/3rdparty/freetype/include/ftoutln.h
+++ b/src/3rdparty/freetype/include/freetype/ftoutln.h
@@ -5,7 +5,7 @@
/* Support for the FT_Outline type used to store glyph shapes of */
/* most scalable font formats (specification). */
/* */
-/* Copyright 1996-2003, 2005-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -354,8 +354,8 @@ FT_BEGIN_HEADER
/* */
/* { */
/* FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); */
- /* if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) */
- /* FT_Outline_Embolden( &face->slot->outline, strength ); */
+ /* if ( face->glyph->format == FT_GLYPH_FORMAT_OUTLINE ) */
+ /* FT_Outline_Embolden( &face->glyph->outline, strength ); */
/* } */
/* */
/* To get meaningful results, font scaling values must be set with */
diff --git a/src/3rdparty/freetype/include/ftpfr.h b/src/3rdparty/freetype/include/freetype/ftpfr.h
index 7d5035396b..a1c02a2f5e 100644
--- a/src/3rdparty/freetype/include/ftpfr.h
+++ b/src/3rdparty/freetype/include/freetype/ftpfr.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing PFR-specific data (specification only). */
/* */
-/* Copyright 2002, 2003, 2004, 2006, 2008, 2009 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftrender.h b/src/3rdparty/freetype/include/freetype/ftrender.h
index e8d36363ca..ec8da700b1 100644
--- a/src/3rdparty/freetype/include/ftrender.h
+++ b/src/3rdparty/freetype/include/freetype/ftrender.h
@@ -4,7 +4,7 @@
/* */
/* FreeType renderer modules public interface (specification). */
/* */
-/* Copyright 1996-2001, 2005, 2006, 2010 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -212,13 +212,8 @@ FT_BEGIN_HEADER
/* */
/* This doesn't change the current renderer for other formats. */
/* */
- /* Currently, only the B/W renderer, if compiled with */
- /* FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels */
- /* anti-aliasing mode; this option must be set directly in */
- /* `ftraster.c' and is undefined by default) accepts a single tag */
- /* `pal5' to set its gray palette as a character string with */
- /* 5~elements. Consequently, the third and fourth argument are zero */
- /* normally. */
+ /* Currently, no FreeType renderer module uses `parameters'; you */
+ /* should thus always pass NULL as the value. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Renderer( FT_Library library,
diff --git a/src/3rdparty/freetype/include/ftsizes.h b/src/3rdparty/freetype/include/freetype/ftsizes.h
index 4167045701..bef8424715 100644
--- a/src/3rdparty/freetype/include/ftsizes.h
+++ b/src/3rdparty/freetype/include/freetype/ftsizes.h
@@ -4,7 +4,7 @@
/* */
/* FreeType size objects management (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2004, 2006, 2009, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftsnames.h b/src/3rdparty/freetype/include/freetype/ftsnames.h
index 88af440356..0f7fbe1744 100644
--- a/src/3rdparty/freetype/include/ftsnames.h
+++ b/src/3rdparty/freetype/include/freetype/ftsnames.h
@@ -7,7 +7,7 @@
/* */
/* This is _not_ used to retrieve glyph names! */
/* */
-/* Copyright 1996-2003, 2006, 2009, 2010, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftstroke.h b/src/3rdparty/freetype/include/freetype/ftstroke.h
index bd311709f3..7ebb1e7404 100644
--- a/src/3rdparty/freetype/include/ftstroke.h
+++ b/src/3rdparty/freetype/include/freetype/ftstroke.h
@@ -4,7 +4,7 @@
/* */
/* FreeType path stroker (specification). */
/* */
-/* Copyright 2002-2006, 2008, 2009, 2011-2012, 2014 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftsynth.h b/src/3rdparty/freetype/include/freetype/ftsynth.h
index d0ea730874..fbcbad871a 100644
--- a/src/3rdparty/freetype/include/ftsynth.h
+++ b/src/3rdparty/freetype/include/freetype/ftsynth.h
@@ -5,7 +5,7 @@
/* FreeType synthesizing code for emboldening and slanting */
/* (specification). */
/* */
-/* Copyright 2000-2001, 2003, 2006, 2008, 2012, 2013 by */
+/* Copyright 2000-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -62,8 +62,10 @@ FT_BEGIN_HEADER
/* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
/* */
/* For emboldened outlines the height, width, and advance metrics are */
- /* increased by the strength of the emboldening. You can also call */
- /* @FT_Outline_Get_CBox to get precise values. */
+ /* increased by the strength of the emboldening -- this even affects */
+ /* mono-width fonts! */
+ /* */
+ /* You can also call @FT_Outline_Get_CBox to get precise values. */
FT_EXPORT( void )
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
diff --git a/src/3rdparty/freetype/include/ftsystem.h b/src/3rdparty/freetype/include/freetype/ftsystem.h
index 7436ed2678..2bc999910b 100644
--- a/src/3rdparty/freetype/include/ftsystem.h
+++ b/src/3rdparty/freetype/include/freetype/ftsystem.h
@@ -4,7 +4,7 @@
/* */
/* FreeType low-level system interface definition (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2005, 2010, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/fttrigon.h b/src/3rdparty/freetype/include/freetype/fttrigon.h
index 9c7b54324e..485ec51587 100644
--- a/src/3rdparty/freetype/include/fttrigon.h
+++ b/src/3rdparty/freetype/include/freetype/fttrigon.h
@@ -4,7 +4,7 @@
/* */
/* FreeType trigonometric functions (specification). */
/* */
-/* Copyright 2001, 2003, 2005, 2007, 2013 by */
+/* Copyright 2001-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -225,8 +225,8 @@ FT_BEGIN_HEADER
*
* @description:
* Return the unit vector corresponding to a given angle. After the
- * call, the value of `vec.x' will be `sin(angle)', and the value of
- * `vec.y' will be `cos(angle)'.
+ * call, the value of `vec.x' will be `cos(angle)', and the value of
+ * `vec.y' will be `sin(angle)'.
*
* This function is useful to retrieve both the sinus and cosinus of a
* given angle quickly.
diff --git a/src/3rdparty/freetype/include/freetype/ftttdrv.h b/src/3rdparty/freetype/include/freetype/ftttdrv.h
new file mode 100644
index 0000000000..dc0081a0b9
--- /dev/null
+++ b/src/3rdparty/freetype/include/freetype/ftttdrv.h
@@ -0,0 +1,310 @@
+/***************************************************************************/
+/* */
+/* ftttdrv.h */
+/* */
+/* FreeType API for controlling the TrueType driver */
+/* (specification only). */
+/* */
+/* Copyright 2013-2015 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#ifndef __FTTTDRV_H__
+#define __FTTTDRV_H__
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+ /**************************************************************************
+ *
+ * @section:
+ * tt_driver
+ *
+ * @title:
+ * The TrueType driver
+ *
+ * @abstract:
+ * Controlling the TrueType driver module.
+ *
+ * @description:
+ * While FreeType's TrueType driver doesn't expose API functions by
+ * itself, it is possible to control its behaviour with @FT_Property_Set
+ * and @FT_Property_Get. The following lists the available properties
+ * together with the necessary macros and structures.
+ *
+ * The TrueType driver's module name is `truetype'.
+ *
+ * We start with a list of definitions, kindly provided by Greg
+ * Hitchcock.
+ *
+ * _Bi-Level_ _Rendering_
+ *
+ * Monochromatic rendering, exclusively used in the early days of
+ * TrueType by both Apple and Microsoft. Microsoft's GDI interface
+ * supported hinting of the right-side bearing point, such that the
+ * advance width could be non-linear. Most often this was done to
+ * achieve some level of glyph symmetry. To enable reasonable
+ * performance (e.g., not having to run hinting on all glyphs just to
+ * get the widths) there was a bit in the head table indicating if the
+ * side bearing was hinted, and additional tables, `hdmx' and `LTSH', to
+ * cache hinting widths across multiple sizes and device aspect ratios.
+ *
+ * _Font_ _Smoothing_
+ *
+ * Microsoft's GDI implementation of anti-aliasing. Not traditional
+ * anti-aliasing as the outlines were hinted before the sampling. The
+ * widths matched the bi-level rendering.
+ *
+ * _ClearType_ _Rendering_
+ *
+ * Technique that uses physical subpixels to improve rendering on LCD
+ * (and other) displays. Because of the higher resolution, many methods
+ * of improving symmetry in glyphs through hinting the right-side
+ * bearing were no longer necessary. This lead to what GDI calls
+ * `natural widths' ClearType, see
+ * http://www.beatstamm.com/typography/RTRCh4.htm#Sec21. Since hinting
+ * has extra resolution, most non-linearity went away, but it is still
+ * possible for hints to change the advance widths in this mode.
+ *
+ * _ClearType_ _Compatible_ _Widths_
+ *
+ * One of the earliest challenges with ClearType was allowing the
+ * implementation in GDI to be selected without requiring all UI and
+ * documents to reflow. To address this, a compatible method of
+ * rendering ClearType was added where the font hints are executed once
+ * to determine the width in bi-level rendering, and then re-run in
+ * ClearType, with the difference in widths being absorbed in the font
+ * hints for ClearType (mostly in the white space of hints); see
+ * http://www.beatstamm.com/typography/RTRCh4.htm#Sec20. Somewhat by
+ * definition, compatible width ClearType allows for non-linear widths,
+ * but only when the bi-level version has non-linear widths.
+ *
+ * _ClearType_ _Subpixel_ _Positioning_
+ *
+ * One of the nice benefits of ClearType is the ability to more crisply
+ * display fractional widths; unfortunately, the GDI model of integer
+ * bitmaps did not support this. However, the WPF and Direct Write
+ * frameworks do support fractional widths. DWrite calls this `natural
+ * mode', not to be confused with GDI's `natural widths'. Subpixel
+ * positioning, in the current implementation of Direct Write,
+ * unfortunately does not support hinted advance widths, see
+ * http://www.beatstamm.com/typography/RTRCh4.htm#Sec22. Note that the
+ * TrueType interpreter fully allows the advance width to be adjusted in
+ * this mode, just the DWrite client will ignore those changes.
+ *
+ * _ClearType_ _Backwards_ _Compatibility_
+ *
+ * This is a set of exceptions made in the TrueType interpreter to
+ * minimize hinting techniques that were problematic with the extra
+ * resolution of ClearType; see
+ * http://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and
+ * http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
+ * This technique is not to be confused with ClearType compatible
+ * widths. ClearType backwards compatibility has no direct impact on
+ * changing advance widths, but there might be an indirect impact on
+ * disabling some deltas. This could be worked around in backwards
+ * compatibility mode.
+ *
+ * _Native_ _ClearType_ _Mode_
+ *
+ * (Not to be confused with `natural widths'.) This mode removes all
+ * the exceptions in the TrueType interpreter when running with
+ * ClearType. Any issues on widths would still apply, though.
+ *
+ */
+
+
+ /**************************************************************************
+ *
+ * @property:
+ * interpreter-version
+ *
+ * @description:
+ * Currently, two versions are available, representing the bytecode
+ * interpreter with and without subpixel hinting support,
+ * respectively. The default is subpixel support if
+ * TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel
+ * support otherwise (since it isn't available then).
+ *
+ * If subpixel hinting is on, many TrueType bytecode instructions behave
+ * differently compared to B/W or grayscale rendering (except if `native
+ * ClearType' is selected by the font). The main idea is to render at a
+ * much increased horizontal resolution, then sampling down the created
+ * output to subpixel precision. However, many older fonts are not
+ * suited to this and must be specially taken care of by applying
+ * (hardcoded) font-specific tweaks.
+ *
+ * Details on subpixel hinting and some of the necessary tweaks can be
+ * found in Greg Hitchcock's whitepaper at
+ * `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
+ *
+ * The following example code demonstrates how to activate subpixel
+ * hinting (omitting the error handling).
+ *
+ * {
+ * FT_Library library;
+ * FT_Face face;
+ * FT_UInt interpreter_version = TT_INTERPRETER_VERSION_38;
+ *
+ *
+ * FT_Init_FreeType( &library );
+ *
+ * FT_Property_Set( library, "truetype",
+ * "interpreter-version",
+ * &interpreter_version );
+ * }
+ *
+ * @note:
+ * This property can be used with @FT_Property_Get also.
+ *
+ */
+
+
+ /**************************************************************************
+ *
+ * @enum:
+ * TT_INTERPRETER_VERSION_XXX
+ *
+ * @description:
+ * A list of constants used for the @interpreter-version property to
+ * select the hinting engine for Truetype fonts.
+ *
+ * The numeric value in the constant names represents the version
+ * number as returned by the `GETINFO' bytecode instruction.
+ *
+ * @values:
+ * TT_INTERPRETER_VERSION_35 ::
+ * Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in
+ * Windows~98; only grayscale and B/W rasterizing is supported.
+ *
+ * TT_INTERPRETER_VERSION_38 ::
+ * Version~38 corresponds to MS rasterizer v.1.9; it is roughly
+ * equivalent to the hinting provided by DirectWrite ClearType (as
+ * can be found, for example, in the Internet Explorer~9 running on
+ * Windows~7).
+ *
+ * @note:
+ * This property controls the behaviour of the bytecode interpreter
+ * and thus how outlines get hinted. It does *not* control how glyph
+ * get rasterized! In particular, it does not control subpixel color
+ * filtering.
+ *
+ * If FreeType has not been compiled with configuration option
+ * FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes an
+ * `FT_Err_Unimplemented_Feature' error.
+ *
+ * Depending on the graphics framework, Microsoft uses different
+ * bytecode and rendering engines. As a consequence, the version
+ * numbers returned by a call to the `GETINFO' bytecode instruction are
+ * more convoluted than desired.
+ *
+ * Here are two tables that try to shed some light on the possible
+ * values for the MS rasterizer engine, together with the additional
+ * features introduced by it.
+ *
+ * {
+ * GETINFO framework version feature
+ * -------------------------------------------------------------------
+ * 3 GDI (Win 3.1), v1.0 16-bit, first version
+ * TrueImage
+ * 33 GDI (Win NT 3.1), v1.5 32-bit
+ * HP Laserjet
+ * 34 GDI (Win 95) v1.6 font smoothing,
+ * new SCANTYPE opcode
+ * 35 GDI (Win 98/2000) v1.7 (UN)SCALED_COMPONENT_OFFSET
+ * bits in composite glyphs
+ * 36 MGDI (Win CE 2) v1.6+ classic ClearType
+ * 37 GDI (XP and later), v1.8 ClearType
+ * GDI+ old (before Vista)
+ * 38 GDI+ old (Vista, Win 7), v1.9 subpixel ClearType,
+ * WPF Y-direction ClearType,
+ * additional error checking
+ * 39 DWrite (before Win 8) v2.0 subpixel ClearType flags
+ * in GETINFO opcode,
+ * bug fixes
+ * 40 GDI+ (after Win 7), v2.1 Y-direction ClearType flag
+ * DWrite (Win 8) in GETINFO opcode,
+ * Gray ClearType
+ * }
+ *
+ * The `version' field gives a rough orientation only, since some
+ * applications provided certain features much earlier (as an example,
+ * Microsoft Reader used subpixel and Y-direction ClearType already in
+ * Windows 2000). Similarly, updates to a given framework might include
+ * improved hinting support.
+ *
+ * {
+ * version sampling rendering comment
+ * x y x y
+ * --------------------------------------------------------------
+ * v1.0 normal normal B/W B/W bi-level
+ * v1.6 high high gray gray grayscale
+ * v1.8 high normal color-filter B/W (GDI) ClearType
+ * v1.9 high high color-filter gray Color ClearType
+ * v2.1 high normal gray B/W Gray ClearType
+ * v2.1 high high gray gray Gray ClearType
+ * }
+ *
+ * Color and Gray ClearType are the two available variants of
+ * `Y-direction ClearType', meaning grayscale rasterization along the
+ * Y-direction; the name used in the TrueType specification for this
+ * feature is `symmetric smoothing'. `Classic ClearType' is the
+ * original algorithm used before introducing a modified version in
+ * Win~XP. Another name for v1.6's grayscale rendering is `font
+ * smoothing', and `Color ClearType' is sometimes also called `DWrite
+ * ClearType'. To differentiate between today's Color ClearType and the
+ * earlier ClearType variant with B/W rendering along the vertical axis,
+ * the latter is sometimes called `GDI ClearType'.
+ *
+ * `Normal' and `high' sampling describe the (virtual) resolution to
+ * access the rasterized outline after the hinting process. `Normal'
+ * means 1 sample per grid line (i.e., B/W). In the current Microsoft
+ * implementation, `high' means an extra virtual resolution of 16x16 (or
+ * 16x1) grid lines per pixel for bytecode instructions like `MIRP'.
+ * After hinting, these 16 grid lines are mapped to 6x5 (or 6x1) grid
+ * lines for color filtering if Color ClearType is activated.
+ *
+ * Note that `Gray ClearType' is essentially the same as v1.6's
+ * grayscale rendering. However, the GETINFO instruction handles it
+ * differently: v1.6 returns bit~12 (hinting for grayscale), while v2.1
+ * returns bits~13 (hinting for ClearType), 18 (symmetrical smoothing),
+ * and~19 (Gray ClearType). Also, this mode respects bits 2 and~3 for
+ * the version~1 gasp table exclusively (like Color ClearType), while
+ * v1.6 only respects the values of version~0 (bits 0 and~1).
+ *
+ * FreeType doesn't provide all capabilities of the most recent
+ * ClearType incarnation, thus we identify our subpixel support as
+ * version~38.
+ *
+ */
+#define TT_INTERPRETER_VERSION_35 35
+#define TT_INTERPRETER_VERSION_38 38
+
+ /* */
+
+
+FT_END_HEADER
+
+
+#endif /* __FTTTDRV_H__ */
+
+
+/* END */
diff --git a/src/3rdparty/freetype/include/fttypes.h b/src/3rdparty/freetype/include/freetype/fttypes.h
index 2c01e8737c..706a1be4ef 100644
--- a/src/3rdparty/freetype/include/fttypes.h
+++ b/src/3rdparty/freetype/include/freetype/fttypes.h
@@ -4,7 +4,7 @@
/* */
/* FreeType simple types definitions (specification only). */
/* */
-/* Copyright 1996-2002, 2004, 2006-2009, 2012-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ftwinfnt.h b/src/3rdparty/freetype/include/freetype/ftwinfnt.h
index 50261581a2..caedaa1cc7 100644
--- a/src/3rdparty/freetype/include/ftwinfnt.h
+++ b/src/3rdparty/freetype/include/freetype/ftwinfnt.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing Windows fnt-specific data. */
/* */
-/* Copyright 2003, 2004, 2008 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -59,7 +59,7 @@ FT_BEGIN_HEADER
* A list of valid values for the `charset' byte in
* @FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX
* encodings (except for cp1361) can be found at
- * ftp://ftp.unicode.org/public in the MAPPINGS/VENDORS/MICSFT/WINDOWS
+ * ftp://ftp.unicode.org/Public in the MAPPINGS/VENDORS/MICSFT/WINDOWS
* subdirectory. cp1361 is roughly a superset of
* MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.
*
@@ -95,7 +95,7 @@ FT_BEGIN_HEADER
* second default codepage that most international versions of
* Windows have. It is one of the OEM codepages from
*
- * http://www.microsoft.com/globaldev/reference/cphome.mspx,
+ * https://msdn.microsoft.com/en-us/goglobal/bb964655,
*
* and is used for the `DOS boxes', to support legacy applications.
* A German Windows version for example usually uses ANSI codepage
diff --git a/src/3rdparty/freetype/include/internal/autohint.h b/src/3rdparty/freetype/include/freetype/internal/autohint.h
index 545de938c2..8d5a9773cb 100644
--- a/src/3rdparty/freetype/include/internal/autohint.h
+++ b/src/3rdparty/freetype/include/freetype/internal/autohint.h
@@ -4,7 +4,7 @@
/* */
/* High-level `autohint' module-specific interface (specification). */
/* */
-/* Copyright 1996-2002, 2007, 2009, 2012 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/ftcalc.h b/src/3rdparty/freetype/include/freetype/internal/ftcalc.h
index 14ec37b9cd..67ade7e5f9 100644
--- a/src/3rdparty/freetype/include/internal/ftcalc.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftcalc.h
@@ -4,7 +4,7 @@
/* */
/* Arithmetic computations (specification). */
/* */
-/* Copyright 1996-2006, 2008, 2009, 2012-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -300,6 +300,18 @@ FT_BEGIN_HEADER
/*
+ * This function normalizes a vector and returns its original length.
+ * The normalized vector is a 16.16 fixed-point unit vector with length
+ * close to 0x10000. The accuracy of the returned length is limited to
+ * 16 bits also. The function utilizes quick inverse square root
+ * approximation without divisions and square roots relying on Newton's
+ * iterations instead.
+ */
+ FT_BASE( FT_UInt32 )
+ FT_Vector_NormLen( FT_Vector* vector );
+
+
+ /*
* Return -1, 0, or +1, depending on the orientation of a given corner.
* We use the Cartesian coordinate system, with positive vertical values
* going upwards. The function returns +1 if the corner turns to the
diff --git a/src/3rdparty/freetype/include/internal/ftdebug.h b/src/3rdparty/freetype/include/freetype/internal/ftdebug.h
index 58a3916d7e..216c73031e 100644
--- a/src/3rdparty/freetype/include/internal/ftdebug.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftdebug.h
@@ -4,7 +4,7 @@
/* */
/* Debugging and logging component (specification). */
/* */
-/* Copyright 1996-2002, 2004, 2006-2009, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -140,7 +140,7 @@ FT_BEGIN_HEADER
/* This function may be useful if you want to control FreeType 2's */
/* debug level in your application. */
/* */
- FT_BASE( const char * )
+ FT_BASE( const char* )
FT_Trace_Get_Name( FT_Int idx );
diff --git a/src/3rdparty/freetype/include/internal/ftdriver.h b/src/3rdparty/freetype/include/freetype/internal/ftdriver.h
index 940218e62d..16856d3df8 100644
--- a/src/3rdparty/freetype/include/internal/ftdriver.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftdriver.h
@@ -4,7 +4,7 @@
/* */
/* FreeType font driver interface (specification). */
/* */
-/* Copyright 1996-2003, 2006, 2008, 2011-2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/ftgloadr.h b/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h
index f70774f74e..970dd70cc3 100644
--- a/src/3rdparty/freetype/include/internal/ftgloadr.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType glyph loader (specification). */
/* */
-/* Copyright 2002, 2003, 2005, 2006 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -121,23 +121,25 @@ FT_BEGIN_HEADER
FT_UInt n_contours );
-#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
- ( (_count) == 0 || \
- ( (_loader)->base.outline.n_points + \
- (_loader)->current.outline.n_points + \
- (unsigned long)(_count) ) <= (_loader)->max_points )
-
-#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
- ( (_count) == 0 || \
- ( (_loader)->base.outline.n_contours + \
- (_loader)->current.outline.n_contours + \
- (unsigned long)(_count)) <= (_loader)->max_contours )
-
-#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
- ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
- FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
- ? 0 \
- : FT_GlyphLoader_CheckPoints( (_loader), (_points), (_contours) ) )
+#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
+ ( (_count) == 0 || \
+ ( (FT_UInt)(_loader)->base.outline.n_points + \
+ (FT_UInt)(_loader)->current.outline.n_points + \
+ (FT_UInt)(_count) ) <= (_loader)->max_points )
+
+#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
+ ( (_count) == 0 || \
+ ( (FT_UInt)(_loader)->base.outline.n_contours + \
+ (FT_UInt)(_loader)->current.outline.n_contours + \
+ (FT_UInt)(_count) ) <= (_loader)->max_contours )
+
+#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \
+ ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
+ FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
+ ? 0 \
+ : FT_GlyphLoader_CheckPoints( (_loader), \
+ (FT_UInt)(_points), \
+ (FT_UInt)(_contours) ) )
/* check that there is enough space to add `n_subs' sub-glyphs to */
diff --git a/src/3rdparty/freetype/include/internal/ftmemory.h b/src/3rdparty/freetype/include/freetype/internal/ftmemory.h
index 3d51aeec69..c0c553b4fc 100644
--- a/src/3rdparty/freetype/include/internal/ftmemory.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftmemory.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType memory management macros (specification). */
/* */
-/* Copyright 1996-2002, 2004-2007, 2010, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -215,11 +215,14 @@ FT_BEGIN_HEADER
#define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 )
-#define FT_MEM_SET( dest, byte, count ) ft_memset( dest, byte, count )
+#define FT_MEM_SET( dest, byte, count ) \
+ ft_memset( dest, byte, (FT_Offset)(count) )
-#define FT_MEM_COPY( dest, source, count ) ft_memcpy( dest, source, count )
+#define FT_MEM_COPY( dest, source, count ) \
+ ft_memcpy( dest, source, (FT_Offset)(count) )
-#define FT_MEM_MOVE( dest, source, count ) ft_memmove( dest, source, count )
+#define FT_MEM_MOVE( dest, source, count ) \
+ ft_memmove( dest, source, (FT_Offset)(count) )
#define FT_MEM_ZERO( dest, count ) FT_MEM_SET( dest, 0, count )
@@ -227,14 +230,19 @@ FT_BEGIN_HEADER
#define FT_ZERO( p ) FT_MEM_ZERO( p, sizeof ( *(p) ) )
-#define FT_ARRAY_ZERO( dest, count ) \
- FT_MEM_ZERO( dest, (count) * sizeof ( *(dest) ) )
+#define FT_ARRAY_ZERO( dest, count ) \
+ FT_MEM_ZERO( dest, \
+ (FT_Offset)(count) * sizeof ( *(dest) ) )
-#define FT_ARRAY_COPY( dest, source, count ) \
- FT_MEM_COPY( dest, source, (count) * sizeof ( *(dest) ) )
+#define FT_ARRAY_COPY( dest, source, count ) \
+ FT_MEM_COPY( dest, \
+ source, \
+ (FT_Offset)(count) * sizeof ( *(dest) ) )
-#define FT_ARRAY_MOVE( dest, source, count ) \
- FT_MEM_MOVE( dest, source, (count) * sizeof ( *(dest) ) )
+#define FT_ARRAY_MOVE( dest, source, count ) \
+ FT_MEM_MOVE( dest, \
+ source, \
+ (FT_Offset)(count) * sizeof ( *(dest) ) )
/*
diff --git a/src/3rdparty/freetype/include/internal/ftobjs.h b/src/3rdparty/freetype/include/freetype/internal/ftobjs.h
index b45a5ed814..da5582dc3f 100644
--- a/src/3rdparty/freetype/include/internal/ftobjs.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftobjs.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType private base classes (specification). */
/* */
-/* Copyright 1996-2006, 2008, 2010, 2012-2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -83,11 +83,12 @@ FT_BEGIN_HEADER
x > y ? x + ( 3 * y >> 3 ) \
: y + ( 3 * x >> 3 ) )
-#define FT_PAD_FLOOR( x, n ) ( (x) & ~((n)-1) )
+ /* we use FT_TYPEOF to suppress signedness compilation warnings */
+#define FT_PAD_FLOOR( x, n ) ( (x) & ~FT_TYPEOF( x )( (n)-1 ) )
#define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n )
#define FT_PAD_CEIL( x, n ) FT_PAD_FLOOR( (x) + ((n)-1), n )
-#define FT_PIX_FLOOR( x ) ( (x) & ~63 )
+#define FT_PIX_FLOOR( x ) ( (x) & ~FT_TYPEOF( x )63 )
#define FT_PIX_ROUND( x ) FT_PIX_FLOOR( (x) + 32 )
#define FT_PIX_CEIL( x ) FT_PIX_FLOOR( (x) + 63 )
@@ -404,7 +405,7 @@ FT_BEGIN_HEADER
/* glyph_hints :: Format-specific glyph hints management. */
/* */
-#define FT_GLYPH_OWN_BITMAP 0x1
+#define FT_GLYPH_OWN_BITMAP 0x1U
typedef struct FT_Slot_InternalRec_
{
@@ -613,12 +614,12 @@ FT_BEGIN_HEADER
#define FT_REQUEST_WIDTH( req ) \
( (req)->horiResolution \
- ? (FT_Pos)( (req)->width * (req)->horiResolution + 36 ) / 72 \
+ ? ( (req)->width * (FT_Pos)(req)->horiResolution + 36 ) / 72 \
: (req)->width )
#define FT_REQUEST_HEIGHT( req ) \
( (req)->vertResolution \
- ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \
+ ? ( (req)->height * (FT_Pos)(req)->vertResolution + 36 ) / 72 \
: (req)->height )
@@ -740,9 +741,8 @@ FT_BEGIN_HEADER
/* faces_list :: The list of faces currently opened by this */
/* driver. */
/* */
- /* glyph_loader :: The glyph loader for all faces managed by this */
- /* driver. This object isn't defined for unscalable */
- /* formats. */
+ /* glyph_loader :: Unused. Used to be glyph loader for all faces */
+ /* managed by this driver. */
/* */
typedef struct FT_DriverRec_
{
diff --git a/src/3rdparty/freetype/include/internal/ftpic.h b/src/3rdparty/freetype/include/freetype/internal/ftpic.h
index 485ce7a24e..7f9154f419 100644
--- a/src/3rdparty/freetype/include/internal/ftpic.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftpic.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType position independent code services (declaration). */
/* */
-/* Copyright 2009, 2012 by */
+/* Copyright 2009-2015 by */
/* Oran Agra and Mickey Gabel. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/ftrfork.h b/src/3rdparty/freetype/include/freetype/internal/ftrfork.h
index d750cbefd8..da61ca75b5 100644
--- a/src/3rdparty/freetype/include/internal/ftrfork.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftrfork.h
@@ -4,7 +4,7 @@
/* */
/* Embedded resource forks accessor (specification). */
/* */
-/* Copyright 2004, 2006, 2007, 2012, 2013 by */
+/* Copyright 2004-2015 by */
/* Masatake YAMATO and Redhat K.K. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -44,7 +44,7 @@ FT_BEGIN_HEADER
typedef struct FT_RFork_Ref_
{
FT_UShort res_id;
- FT_ULong offset;
+ FT_Long offset;
} FT_RFork_Ref;
@@ -83,7 +83,7 @@ FT_BEGIN_HEADER
/* this array is a storage in non-PIC mode, so ; is needed in END */
#define CONST_FT_RFORK_RULE_ARRAY_BEGIN( name, type ) \
- const type name[] = {
+ static const type name[] = {
#define CONST_FT_RFORK_RULE_ARRAY_ENTRY( func_suffix, type_suffix ) \
{ raccess_guess_ ## func_suffix, \
FT_RFork_Rule_ ## type_suffix },
diff --git a/src/3rdparty/freetype/include/internal/ftserv.h b/src/3rdparty/freetype/include/freetype/internal/ftserv.h
index 1203ec8121..11a0c7f3de 100644
--- a/src/3rdparty/freetype/include/internal/ftserv.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftserv.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType services (specification only). */
/* */
-/* Copyright 2003-2007, 2009, 2012, 2013 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -734,24 +734,24 @@ FT_BEGIN_HEADER
* The header files containing the services.
*/
-#define FT_SERVICE_BDF_H <internal/services/svbdf.h>
-#define FT_SERVICE_CID_H <internal/services/svcid.h>
-#define FT_SERVICE_GLYPH_DICT_H <internal/services/svgldict.h>
-#define FT_SERVICE_GX_VALIDATE_H <internal/services/svgxval.h>
-#define FT_SERVICE_KERNING_H <internal/services/svkern.h>
-#define FT_SERVICE_MULTIPLE_MASTERS_H <internal/services/svmm.h>
-#define FT_SERVICE_OPENTYPE_VALIDATE_H <internal/services/svotval.h>
-#define FT_SERVICE_PFR_H <internal/services/svpfr.h>
-#define FT_SERVICE_POSTSCRIPT_CMAPS_H <internal/services/svpscmap.h>
-#define FT_SERVICE_POSTSCRIPT_INFO_H <internal/services/svpsinfo.h>
-#define FT_SERVICE_POSTSCRIPT_NAME_H <internal/services/svpostnm.h>
-#define FT_SERVICE_PROPERTIES_H <internal/services/svprop.h>
-#define FT_SERVICE_SFNT_H <internal/services/svsfnt.h>
-#define FT_SERVICE_TRUETYPE_ENGINE_H <internal/services/svtteng.h>
-#define FT_SERVICE_TT_CMAP_H <internal/services/svttcmap.h>
-#define FT_SERVICE_WINFNT_H <internal/services/svwinfnt.h>
-#define FT_SERVICE_XFREE86_NAME_H <internal/services/svxf86nm.h>
-#define FT_SERVICE_TRUETYPE_GLYF_H <internal/services/svttglyf.h>
+#define FT_SERVICE_BDF_H <freetype/internal/services/svbdf.h>
+#define FT_SERVICE_CID_H <freetype/internal/services/svcid.h>
+#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
+#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
+#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
+#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
+#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
+#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
+#define FT_SERVICE_POSTSCRIPT_CMAPS_H <freetype/internal/services/svpscmap.h>
+#define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
+#define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
+#define FT_SERVICE_PROPERTIES_H <freetype/internal/services/svprop.h>
+#define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
+#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
+#define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
+#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
+#define FT_SERVICE_FONT_FORMAT_H <freetype/internal/services/svfntfmt.h>
+#define FT_SERVICE_TRUETYPE_GLYF_H <freetype/internal/services/svttglyf.h>
/* */
diff --git a/src/3rdparty/freetype/include/internal/ftstream.h b/src/3rdparty/freetype/include/freetype/internal/ftstream.h
index 2661858320..384e5df305 100644
--- a/src/3rdparty/freetype/include/internal/ftstream.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftstream.h
@@ -4,7 +4,7 @@
/* */
/* Stream handling (specification). */
/* */
-/* Copyright 1996-2002, 2004-2006, 2011, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -361,7 +361,7 @@ FT_BEGIN_HEADER
FT_Long distance );
/* return current stream position */
- FT_BASE( FT_Long )
+ FT_BASE( FT_ULong )
FT_Stream_Pos( FT_Stream stream );
/* read bytes from a stream into a user-allocated buffer, returns an */
diff --git a/src/3rdparty/freetype/include/internal/fttrace.h b/src/3rdparty/freetype/include/freetype/internal/fttrace.h
index d5253db78a..9d28d214d6 100644
--- a/src/3rdparty/freetype/include/internal/fttrace.h
+++ b/src/3rdparty/freetype/include/freetype/internal/fttrace.h
@@ -4,7 +4,7 @@
/* */
/* Tracing handling (specification only). */
/* */
-/* Copyright 2002, 2004-2007, 2009, 2011-2014 by */
+/* Copyright 2002-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/ftvalid.h b/src/3rdparty/freetype/include/freetype/internal/ftvalid.h
index c281b1424a..9cda6eef5f 100644
--- a/src/3rdparty/freetype/include/internal/ftvalid.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftvalid.h
@@ -4,7 +4,7 @@
/* */
/* FreeType validation support (specification). */
/* */
-/* Copyright 2004, 2013, 2014 by */
+/* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/internal.h b/src/3rdparty/freetype/include/freetype/internal/internal.h
index e0ddb06b70..809ce59c92 100644
--- a/src/3rdparty/freetype/include/internal/internal.h
+++ b/src/3rdparty/freetype/include/freetype/internal/internal.h
@@ -4,7 +4,7 @@
/* */
/* Internal header files (specification only). */
/* */
-/* Copyright 1996-2004, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -24,28 +24,28 @@
/*************************************************************************/
-#define FT_INTERNAL_OBJECTS_H <internal/ftobjs.h>
-#define FT_INTERNAL_PIC_H <internal/ftpic.h>
-#define FT_INTERNAL_STREAM_H <internal/ftstream.h>
-#define FT_INTERNAL_MEMORY_H <internal/ftmemory.h>
-#define FT_INTERNAL_DEBUG_H <internal/ftdebug.h>
-#define FT_INTERNAL_CALC_H <internal/ftcalc.h>
-#define FT_INTERNAL_DRIVER_H <internal/ftdriver.h>
-#define FT_INTERNAL_TRACE_H <internal/fttrace.h>
-#define FT_INTERNAL_GLYPH_LOADER_H <internal/ftgloadr.h>
-#define FT_INTERNAL_SFNT_H <internal/sfnt.h>
-#define FT_INTERNAL_SERVICE_H <internal/ftserv.h>
-#define FT_INTERNAL_RFORK_H <internal/ftrfork.h>
-#define FT_INTERNAL_VALIDATE_H <internal/ftvalid.h>
-
-#define FT_INTERNAL_TRUETYPE_TYPES_H <internal/tttypes.h>
-#define FT_INTERNAL_TYPE1_TYPES_H <internal/t1types.h>
-
-#define FT_INTERNAL_POSTSCRIPT_AUX_H <internal/psaux.h>
-#define FT_INTERNAL_POSTSCRIPT_HINTS_H <internal/pshints.h>
-#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <internal/psglobal.h>
-
-#define FT_INTERNAL_AUTOHINT_H <internal/autohint.h>
+#define FT_INTERNAL_OBJECTS_H <freetype/internal/ftobjs.h>
+#define FT_INTERNAL_PIC_H <freetype/internal/ftpic.h>
+#define FT_INTERNAL_STREAM_H <freetype/internal/ftstream.h>
+#define FT_INTERNAL_MEMORY_H <freetype/internal/ftmemory.h>
+#define FT_INTERNAL_DEBUG_H <freetype/internal/ftdebug.h>
+#define FT_INTERNAL_CALC_H <freetype/internal/ftcalc.h>
+#define FT_INTERNAL_DRIVER_H <freetype/internal/ftdriver.h>
+#define FT_INTERNAL_TRACE_H <freetype/internal/fttrace.h>
+#define FT_INTERNAL_GLYPH_LOADER_H <freetype/internal/ftgloadr.h>
+#define FT_INTERNAL_SFNT_H <freetype/internal/sfnt.h>
+#define FT_INTERNAL_SERVICE_H <freetype/internal/ftserv.h>
+#define FT_INTERNAL_RFORK_H <freetype/internal/ftrfork.h>
+#define FT_INTERNAL_VALIDATE_H <freetype/internal/ftvalid.h>
+
+#define FT_INTERNAL_TRUETYPE_TYPES_H <freetype/internal/tttypes.h>
+#define FT_INTERNAL_TYPE1_TYPES_H <freetype/internal/t1types.h>
+
+#define FT_INTERNAL_POSTSCRIPT_AUX_H <freetype/internal/psaux.h>
+#define FT_INTERNAL_POSTSCRIPT_HINTS_H <freetype/internal/pshints.h>
+#define FT_INTERNAL_POSTSCRIPT_GLOBALS_H <freetype/internal/psglobal.h>
+
+#define FT_INTERNAL_AUTOHINT_H <freetype/internal/autohint.h>
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
diff --git a/src/3rdparty/freetype/include/internal/psaux.h b/src/3rdparty/freetype/include/freetype/internal/psaux.h
index e903114f84..1c5f784f52 100644
--- a/src/3rdparty/freetype/include/internal/psaux.h
+++ b/src/3rdparty/freetype/include/freetype/internal/psaux.h
@@ -5,7 +5,7 @@
/* Auxiliary functions and data structures related to PostScript fonts */
/* (specification). */
/* */
-/* Copyright 1996-2004, 2006, 2008, 2009, 2012 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -71,10 +71,10 @@ FT_BEGIN_HEADER
(*done)( PS_Table table );
FT_Error
- (*add)( PS_Table table,
- FT_Int idx,
- void* object,
- FT_PtrDist length );
+ (*add)( PS_Table table,
+ FT_Int idx,
+ void* object,
+ FT_UInt length );
void
(*release)( PS_Table table );
@@ -122,12 +122,12 @@ FT_BEGIN_HEADER
FT_Byte* block; /* current memory block */
FT_Offset cursor; /* current cursor in memory block */
FT_Offset capacity; /* current size of memory block */
- FT_Long init;
+ FT_ULong init;
FT_Int max_elems;
FT_Int num_elems;
FT_Byte** elements; /* addresses of table elements */
- FT_PtrDist* lengths; /* lengths of table elements */
+ FT_UInt* lengths; /* lengths of table elements */
FT_Memory memory;
PS_Table_FuncsRec funcs;
@@ -365,7 +365,7 @@ FT_BEGIN_HEADER
(*to_bytes)( PS_Parser parser,
FT_Byte* bytes,
FT_Offset max_bytes,
- FT_Long* pnum_bytes,
+ FT_ULong* pnum_bytes,
FT_Bool delimiters );
FT_Int
@@ -675,9 +675,9 @@ FT_BEGIN_HEADER
FT_Byte** glyph_names;
FT_Int lenIV; /* internal for sub routine calls */
- FT_UInt num_subrs;
+ FT_Int num_subrs;
FT_Byte** subrs;
- FT_PtrDist* subrs_len; /* array of subrs length (optional) */
+ FT_UInt* subrs_len; /* array of subrs length (optional) */
FT_Matrix font_matrix;
FT_Vector font_offset;
diff --git a/src/3rdparty/freetype/include/internal/pshints.h b/src/3rdparty/freetype/include/freetype/internal/pshints.h
index f05ea6863a..12aaabacd4 100644
--- a/src/3rdparty/freetype/include/internal/pshints.h
+++ b/src/3rdparty/freetype/include/freetype/internal/pshints.h
@@ -6,7 +6,7 @@
/* recorders (specification only). These are used to support native */
/* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */
/* */
-/* Copyright 2001-2003, 2005-2007, 2009, 2012, 2014 by */
+/* Copyright 2001-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -465,7 +465,7 @@ FT_BEGIN_HEADER
typedef void
(*T2_Hints_StemsFunc)( T2_Hints hints,
FT_UInt dimension,
- FT_UInt count,
+ FT_Int count,
FT_Fixed* coordinates );
diff --git a/src/3rdparty/freetype/include/internal/services/svbdf.h b/src/3rdparty/freetype/include/freetype/internal/services/svbdf.h
index 0974752a79..865b53687d 100644
--- a/src/3rdparty/freetype/include/internal/services/svbdf.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svbdf.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType BDF services (specification). */
/* */
-/* Copyright 2003, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svcid.h b/src/3rdparty/freetype/include/freetype/internal/services/svcid.h
index 6be3f9374d..4a535a6f42 100644
--- a/src/3rdparty/freetype/include/internal/services/svcid.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svcid.h
@@ -4,7 +4,8 @@
/* */
/* The FreeType CID font services (specification). */
/* */
-/* Copyright 2007, 2009, 2012 by Derek Clegg, Michael Toftdal. */
+/* Copyright 2007-2015 by */
+/* Derek Clegg and Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
diff --git a/src/3rdparty/freetype/include/internal/services/svxf86nm.h b/src/3rdparty/freetype/include/freetype/internal/services/svfntfmt.h
index ca5d884a83..f8b3617364 100644
--- a/src/3rdparty/freetype/include/internal/services/svxf86nm.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svfntfmt.h
@@ -1,10 +1,10 @@
/***************************************************************************/
/* */
-/* svxf86nm.h */
+/* svfntfmt.h */
/* */
-/* The FreeType XFree86 services (specification only). */
+/* The FreeType font format service (specification only). */
/* */
-/* Copyright 2003 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -16,8 +16,8 @@
/***************************************************************************/
-#ifndef __SVXF86NM_H__
-#define __SVXF86NM_H__
+#ifndef __SVFNTFMT_H__
+#define __SVFNTFMT_H__
#include FT_INTERNAL_SERVICE_H
@@ -31,17 +31,17 @@ FT_BEGIN_HEADER
* is a simple constant string pointer.
*/
-#define FT_SERVICE_ID_XF86_NAME "xf86-driver-name"
+#define FT_SERVICE_ID_FONT_FORMAT "font-format"
-#define FT_XF86_FORMAT_TRUETYPE "TrueType"
-#define FT_XF86_FORMAT_TYPE_1 "Type 1"
-#define FT_XF86_FORMAT_BDF "BDF"
-#define FT_XF86_FORMAT_PCF "PCF"
-#define FT_XF86_FORMAT_TYPE_42 "Type 42"
-#define FT_XF86_FORMAT_CID "CID Type 1"
-#define FT_XF86_FORMAT_CFF "CFF"
-#define FT_XF86_FORMAT_PFR "PFR"
-#define FT_XF86_FORMAT_WINFNT "Windows FNT"
+#define FT_FONT_FORMAT_TRUETYPE "TrueType"
+#define FT_FONT_FORMAT_TYPE_1 "Type 1"
+#define FT_FONT_FORMAT_BDF "BDF"
+#define FT_FONT_FORMAT_PCF "PCF"
+#define FT_FONT_FORMAT_TYPE_42 "Type 42"
+#define FT_FONT_FORMAT_CID "CID Type 1"
+#define FT_FONT_FORMAT_CFF "CFF"
+#define FT_FONT_FORMAT_PFR "PFR"
+#define FT_FONT_FORMAT_WINFNT "Windows FNT"
/* */
@@ -49,7 +49,7 @@ FT_BEGIN_HEADER
FT_END_HEADER
-#endif /* __SVXF86NM_H__ */
+#endif /* __SVFNTFMT_H__ */
/* END */
diff --git a/src/3rdparty/freetype/include/internal/services/svgldict.h b/src/3rdparty/freetype/include/freetype/internal/services/svgldict.h
index 1d12534725..f78bca5d77 100644
--- a/src/3rdparty/freetype/include/internal/services/svgldict.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svgldict.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType glyph dictionary services (specification). */
/* */
-/* Copyright 2003, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svgxval.h b/src/3rdparty/freetype/include/freetype/internal/services/svgxval.h
index 2cdab50655..59cc3b7048 100644
--- a/src/3rdparty/freetype/include/internal/services/svgxval.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svgxval.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for validating TrueTypeGX/AAT tables (specification). */
/* */
-/* Copyright 2004, 2005 by */
+/* Copyright 2004-2015 by */
/* Masatake YAMATO, Red Hat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
diff --git a/src/3rdparty/freetype/include/internal/services/svkern.h b/src/3rdparty/freetype/include/freetype/internal/services/svkern.h
index 1488adf493..bc26f15941 100644
--- a/src/3rdparty/freetype/include/internal/services/svkern.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svkern.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType Kerning service (specification). */
/* */
-/* Copyright 2006 by */
+/* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svmm.h b/src/3rdparty/freetype/include/freetype/internal/services/svmm.h
index b08a663d66..f2cecfbb3b 100644
--- a/src/3rdparty/freetype/include/internal/services/svmm.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svmm.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType Multiple Masters and GX var services (specification). */
/* */
-/* Copyright 2003, 2004, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svotval.h b/src/3rdparty/freetype/include/freetype/internal/services/svotval.h
index 970bbd5759..a82a6420fd 100644
--- a/src/3rdparty/freetype/include/internal/services/svotval.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svotval.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType OpenType validation service (specification). */
/* */
-/* Copyright 2004, 2006 by */
+/* Copyright 2004-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svpfr.h b/src/3rdparty/freetype/include/freetype/internal/services/svpfr.h
index 462786f9ce..d4eb1693d0 100644
--- a/src/3rdparty/freetype/include/internal/services/svpfr.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svpfr.h
@@ -4,7 +4,7 @@
/* */
/* Internal PFR service functions (specification). */
/* */
-/* Copyright 2003, 2006 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svpostnm.h b/src/3rdparty/freetype/include/freetype/internal/services/svpostnm.h
index a76b4fe057..a89f79e479 100644
--- a/src/3rdparty/freetype/include/internal/services/svpostnm.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svpostnm.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType PostScript name services (specification). */
/* */
-/* Copyright 2003, 2007, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svprop.h b/src/3rdparty/freetype/include/freetype/internal/services/svprop.h
index 22da0bbc69..c9f07ce33a 100644
--- a/src/3rdparty/freetype/include/internal/services/svprop.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svprop.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType property service (specification). */
/* */
-/* Copyright 2012 by */
+/* Copyright 2012-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svpscmap.h b/src/3rdparty/freetype/include/freetype/internal/services/svpscmap.h
index 030948ea64..66da6e1043 100644
--- a/src/3rdparty/freetype/include/internal/services/svpscmap.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svpscmap.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType PostScript charmap service (specification). */
/* */
-/* Copyright 2003, 2006, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svpsinfo.h b/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h
index 4bfb506711..752a266025 100644
--- a/src/3rdparty/freetype/include/internal/services/svpsinfo.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType PostScript info service (specification). */
/* */
-/* Copyright 2003, 2004, 2009, 2011, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svsfnt.h b/src/3rdparty/freetype/include/freetype/internal/services/svsfnt.h
index d3835aa1c2..252ae1cf5e 100644
--- a/src/3rdparty/freetype/include/internal/services/svsfnt.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svsfnt.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType SFNT table loading service (specification). */
/* */
-/* Copyright 2003, 2004, 2009, 2012 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svttcmap.h b/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h
index 4370f4c2d8..cd95b9ab81 100644
--- a/src/3rdparty/freetype/include/internal/services/svttcmap.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h
@@ -4,10 +4,8 @@
/* */
/* The FreeType TrueType/sfnt cmap extra information service. */
/* */
-/* Copyright 2003 by */
-/* Masatake YAMATO, Redhat K.K. */
-/* */
-/* Copyright 2003, 2008, 2009, 2012, 2013 by */
+/* Copyright 2003-2015 by */
+/* Masatake YAMATO, Redhat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -50,11 +48,12 @@ FT_BEGIN_HEADER
/* `ttnameid.h'. */
/* */
/* format :: */
- /* The cmap format. OpenType 1.5 defines the formats 0 (byte */
+ /* The cmap format. OpenType 1.6 defines the formats 0 (byte */
/* encoding table), 2~(high-byte mapping through table), 4~(segment */
/* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */
/* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */
- /* coverage), and 14 (Unicode Variation Sequences). */
+ /* coverage), 13~(last resort font), and 14 (Unicode Variation */
+ /* Sequences). */
/* */
typedef struct TT_CMapInfo_
{
diff --git a/src/3rdparty/freetype/include/internal/services/svtteng.h b/src/3rdparty/freetype/include/freetype/internal/services/svtteng.h
index 58e02a6f9d..272ee8c055 100644
--- a/src/3rdparty/freetype/include/internal/services/svtteng.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svtteng.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType TrueType engine query service (specification). */
/* */
-/* Copyright 2006 by */
+/* Copyright 2006-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/services/svttglyf.h b/src/3rdparty/freetype/include/freetype/internal/services/svttglyf.h
index 369eb8421b..f5cb76a9f8 100644
--- a/src/3rdparty/freetype/include/internal/services/svttglyf.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svttglyf.h
@@ -4,7 +4,8 @@
/* */
/* The FreeType TrueType glyph service. */
/* */
-/* Copyright 2007, 2009, 2012 by David Turner. */
+/* Copyright 2007-2015 by */
+/* David Turner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
diff --git a/src/3rdparty/freetype/include/internal/services/svwinfnt.h b/src/3rdparty/freetype/include/freetype/internal/services/svwinfnt.h
index 57f7765d92..0036929b2f 100644
--- a/src/3rdparty/freetype/include/internal/services/svwinfnt.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svwinfnt.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType Windows FNT/FONT service (specification). */
/* */
-/* Copyright 2003 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/internal/sfnt.h b/src/3rdparty/freetype/include/freetype/internal/sfnt.h
index d558e869bd..30f53bf09c 100644
--- a/src/3rdparty/freetype/include/internal/sfnt.h
+++ b/src/3rdparty/freetype/include/freetype/internal/sfnt.h
@@ -4,7 +4,7 @@
/* */
/* High-level `sfnt' driver interface (specification). */
/* */
-/* Copyright 1996-2006, 2009, 2012-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -44,7 +44,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the target face object. */
/* */
/* face_index :: The index of the TrueType font, if we are opening a */
- /* collection. */
+ /* collection, in bits 0-15. The numbered instance */
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
+ /* 16-30. */
/* */
/* num_params :: The number of additional parameters. */
/* */
@@ -87,7 +89,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the target face object. */
/* */
/* face_index :: The index of the TrueType font, if we are opening a */
- /* collection. */
+ /* collection, in bits 0-15. The numbered instance */
+ /* index~+~1 of a GX (sub)font, if applicable, in bits */
+ /* 16-30. */
/* */
/* num_params :: The number of additional parameters. */
/* */
@@ -427,6 +431,33 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <FuncType> */
+ /* TT_Get_Name_Func */
+ /* */
+ /* <Description> */
+ /* From the `name' table, return a given ENGLISH name record in */
+ /* ASCII. */
+ /* */
+ /* <Input> */
+ /* face :: A handle to the source face object. */
+ /* */
+ /* nameid :: The name id of the name record to return. */
+ /* */
+ /* <InOut> */
+ /* name :: The address of an allocated string pointer. NULL if */
+ /* no name is present. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
+ typedef FT_Error
+ (*TT_Get_Name_Func)( TT_Face face,
+ FT_UShort nameid,
+ FT_String** name );
+
+
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
/* TT_Load_Table_Func */
/* */
/* <Description> */
@@ -556,6 +587,8 @@ FT_BEGIN_HEADER
TT_Get_Metrics_Func get_metrics;
+ TT_Get_Name_Func get_name;
+
} SFNT_Interface;
@@ -594,7 +627,8 @@ FT_BEGIN_HEADER
free_eblc_, \
set_sbit_strike_, \
load_strike_metrics_, \
- get_metrics_ ) \
+ get_metrics_, \
+ get_name_ ) \
static const SFNT_Interface class_ = \
{ \
goto_table_, \
@@ -626,6 +660,7 @@ FT_BEGIN_HEADER
set_sbit_strike_, \
load_strike_metrics_, \
get_metrics_, \
+ get_name_, \
};
#else /* FT_CONFIG_OPTION_PIC */
@@ -663,7 +698,8 @@ FT_BEGIN_HEADER
free_eblc_, \
set_sbit_strike_, \
load_strike_metrics_, \
- get_metrics_ ) \
+ get_metrics_, \
+ get_name_ ) \
void \
FT_Init_Class_ ## class_( FT_Library library, \
SFNT_Interface* clazz ) \
@@ -699,6 +735,7 @@ FT_BEGIN_HEADER
clazz->set_sbit_strike = set_sbit_strike_; \
clazz->load_strike_metrics = load_strike_metrics_; \
clazz->get_metrics = get_metrics_; \
+ clazz->get_name = get_name_; \
}
#endif /* FT_CONFIG_OPTION_PIC */
diff --git a/src/3rdparty/freetype/include/internal/t1types.h b/src/3rdparty/freetype/include/freetype/internal/t1types.h
index e20237c14d..029acc4009 100644
--- a/src/3rdparty/freetype/include/internal/t1types.h
+++ b/src/3rdparty/freetype/include/freetype/internal/t1types.h
@@ -5,7 +5,7 @@
/* Basic Type1/Type2 type definitions and interface (specification */
/* only). */
/* */
-/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -106,12 +106,12 @@ FT_BEGIN_HEADER
FT_Int num_subrs;
FT_Byte** subrs;
- FT_PtrDist* subrs_len;
+ FT_UInt* subrs_len;
FT_Int num_glyphs;
FT_String** glyph_names; /* array of glyph names */
FT_Byte** charstrings; /* array of glyph charstrings */
- FT_PtrDist* charstrings_len;
+ FT_UInt* charstrings_len;
FT_Byte paint_type;
FT_Byte font_type;
@@ -127,7 +127,7 @@ FT_BEGIN_HEADER
typedef struct CID_SubrsRec_
{
- FT_UInt num_subrs;
+ FT_Int num_subrs;
FT_Byte** code;
} CID_SubrsRec, *CID_Subrs;
@@ -157,10 +157,10 @@ FT_BEGIN_HEADER
typedef struct AFM_KernPairRec_
{
- FT_Int index1;
- FT_Int index2;
- FT_Int x;
- FT_Int y;
+ FT_UInt index1;
+ FT_UInt index2;
+ FT_Int x;
+ FT_Int y;
} AFM_KernPairRec, *AFM_KernPair;
@@ -171,9 +171,9 @@ FT_BEGIN_HEADER
FT_Fixed Ascender;
FT_Fixed Descender;
AFM_TrackKern TrackKerns; /* free if non-NULL */
- FT_Int NumTrackKern;
+ FT_UInt NumTrackKern;
AFM_KernPair KernPairs; /* free if non-NULL */
- FT_Int NumKernPair;
+ FT_UInt NumKernPair;
} AFM_FontInfoRec, *AFM_FontInfo;
diff --git a/src/3rdparty/freetype/include/internal/tttypes.h b/src/3rdparty/freetype/include/freetype/internal/tttypes.h
index ad302b87c8..1507a7c57a 100644
--- a/src/3rdparty/freetype/include/internal/tttypes.h
+++ b/src/3rdparty/freetype/include/freetype/internal/tttypes.h
@@ -5,7 +5,7 @@
/* Basic SFNT/TrueType type definitions and interface (specification */
/* only). */
/* */
-/* Copyright 1996-2002, 2004-2008, 2012-2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -614,8 +614,7 @@ FT_BEGIN_HEADER
/* in use by other platforms (e.g. Newton). */
/* For details, please see */
/* */
- /* http://fonts.apple.com/ */
- /* TTRefMan/RM06/Chap6bloc.html */
+ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
/* */
/* hori :: The line metrics for horizontal layouts. */
/* */
@@ -635,8 +634,7 @@ FT_BEGIN_HEADER
/* flags :: Is this a vertical or horizontal strike? For */
/* details, please see */
/* */
- /* http://fonts.apple.com/ */
- /* TTRefMan/RM06/Chap6bloc.html */
+ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6bloc.html */
/* */
typedef struct TT_SBit_StrikeRec_
{
@@ -1113,7 +1111,7 @@ FT_BEGIN_HEADER
/* This field also contains the associated */
/* vertical metrics table (`vmtx'), if found. */
/* IMPORTANT: The contents of this field is */
- /* undefined if the `verticalInfo' field is */
+ /* undefined if the `vertical_info' field is */
/* unset. */
/* */
/* num_names :: The number of name records within this */
@@ -1440,7 +1438,7 @@ FT_BEGIN_HEADER
{
FT_Memory memory;
FT_UShort max_points;
- FT_UShort max_contours;
+ FT_Short max_contours;
FT_UShort n_points; /* number of points in zone */
FT_Short n_contours; /* number of contours */
@@ -1459,11 +1457,23 @@ FT_BEGIN_HEADER
/* handle to execution context */
typedef struct TT_ExecContextRec_* TT_ExecContext;
+
+ /*************************************************************************/
+ /* */
+ /* <Type> */
+ /* TT_Size */
+ /* */
+ /* <Description> */
+ /* A handle to a TrueType size object. */
+ /* */
+ typedef struct TT_SizeRec_* TT_Size;
+
+
/* glyph loader structure */
typedef struct TT_LoaderRec_
{
- FT_Face face;
- FT_Size size;
+ TT_Face face;
+ TT_Size size;
FT_GlyphSlot glyph;
FT_GlyphLoader gloader;
diff --git a/src/3rdparty/freetype/include/t1tables.h b/src/3rdparty/freetype/include/freetype/t1tables.h
index 61aefdd541..a6ea415af5 100644
--- a/src/3rdparty/freetype/include/t1tables.h
+++ b/src/3rdparty/freetype/include/freetype/t1tables.h
@@ -5,7 +5,7 @@
/* Basic Type 1/Type 2 tables definitions and interface (specification */
/* only). */
/* */
-/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -492,8 +492,9 @@ FT_BEGIN_HEADER
* FreeType error code. 0~means success.
*
* @note:
- * The string pointers within the font info structure are owned by
- * the face and don't need to be freed by the caller.
+ * String pointers within the @PS_FontInfoRec structure are owned by
+ * the face and don't need to be freed by the caller. Missing entries
+ * in the font's FontInfo dictionary are represented by NULL pointers.
*
* If the font's format is not PostScript-based, this function will
* return the `FT_Err_Invalid_Argument' error code.
diff --git a/src/3rdparty/freetype/include/ttnameid.h b/src/3rdparty/freetype/include/freetype/ttnameid.h
index e65b558127..c9585f2413 100644
--- a/src/3rdparty/freetype/include/ttnameid.h
+++ b/src/3rdparty/freetype/include/freetype/ttnameid.h
@@ -4,7 +4,7 @@
/* */
/* TrueType name ID definitions (specification only). */
/* */
-/* Copyright 1996-2004, 2006-2008, 2012-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -321,7 +321,7 @@ FT_BEGIN_HEADER
/* */
/* The canonical source for the Apple assigned Language ID's is at */
/* */
- /* https://developer.apple.com/fonts/TTRefMan/RM06/Chap6name.html */
+ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html */
/* */
#define TT_MAC_LANGID_ENGLISH 0
#define TT_MAC_LANGID_FRENCH 1
diff --git a/src/3rdparty/freetype/include/tttables.h b/src/3rdparty/freetype/include/freetype/tttables.h
index e1d8b05e79..1568f40364 100644
--- a/src/3rdparty/freetype/include/tttables.h
+++ b/src/3rdparty/freetype/include/freetype/tttables.h
@@ -5,7 +5,7 @@
/* Basic SFNT/TrueType tables definitions and interface */
/* (specification only). */
/* */
-/* Copyright 1996-2005, 2008-2014 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -371,7 +371,7 @@ FT_BEGIN_HEADER
FT_Short xAvgCharWidth;
FT_UShort usWeightClass;
FT_UShort usWidthClass;
- FT_Short fsType;
+ FT_UShort fsType;
FT_Short ySubscriptXSize;
FT_Short ySubscriptYSize;
FT_Short ySubscriptXOffset;
diff --git a/src/3rdparty/freetype/include/tttags.h b/src/3rdparty/freetype/include/freetype/tttags.h
index d59aa19a33..3836c7bbfd 100644
--- a/src/3rdparty/freetype/include/tttags.h
+++ b/src/3rdparty/freetype/include/freetype/tttags.h
@@ -4,7 +4,7 @@
/* */
/* Tags for TrueType and OpenType tables (specification only). */
/* */
-/* Copyright 1996-2001, 2004, 2005, 2007, 2008, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
diff --git a/src/3rdparty/freetype/include/ttunpat.h b/src/3rdparty/freetype/include/freetype/ttunpat.h
index bf53ddd528..8ea556895c 100644
--- a/src/3rdparty/freetype/include/ttunpat.h
+++ b/src/3rdparty/freetype/include/freetype/ttunpat.h
@@ -4,7 +4,7 @@
/* */
/* Definitions for the unpatented TrueType hinting system */
/* */
-/* Copyright 2003, 2006 by */
+/* Copyright 2003-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* Written by Graham Asher <graham.asher@btinternet.com> */
diff --git a/src/3rdparty/freetype/include/ft2build.h b/src/3rdparty/freetype/include/ft2build.h
index 6f8eb7f373..419b80ae44 100644
--- a/src/3rdparty/freetype/include/ft2build.h
+++ b/src/3rdparty/freetype/include/ft2build.h
@@ -4,7 +4,7 @@
/* */
/* FreeType 2 build and setup macros. */
/* */
-/* Copyright 1996-2001, 2006, 2013 by */
+/* Copyright 1996-2015 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -34,7 +34,7 @@
#ifndef __FT2BUILD_H__
#define __FT2BUILD_H__
-#include <config/ftheader.h>
+#include <freetype/config/ftheader.h>
#endif /* __FT2BUILD_H__ */
diff --git a/src/3rdparty/freetype/include/ftttdrv.h b/src/3rdparty/freetype/include/ftttdrv.h
deleted file mode 100644
index 358841397c..0000000000
--- a/src/3rdparty/freetype/include/ftttdrv.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/***************************************************************************/
-/* */
-/* ftttdrv.h */
-/* */
-/* FreeType API for controlling the TrueType driver */
-/* (specification only). */
-/* */
-/* Copyright 2013 by */
-/* David Turner, Robert Wilhelm, and Werner Lemberg. */
-/* */
-/* This file is part of the FreeType project, and may only be used, */
-/* modified, and distributed under the terms of the FreeType project */
-/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
-/* this file you indicate that you have read the license and */
-/* understand and accept it fully. */
-/* */
-/***************************************************************************/
-
-
-#ifndef __FTTTDRV_H__
-#define __FTTTDRV_H__
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-#ifdef FREETYPE_H
-#error "freetype.h of FreeType 1 has been loaded!"
-#error "Please fix the directory search order for header files"
-#error "so that freetype.h of FreeType 2 is found first."
-#endif
-
-
-FT_BEGIN_HEADER
-
-
- /**************************************************************************
- *
- * @section:
- * tt_driver
- *
- * @title:
- * The TrueType driver
- *
- * @abstract:
- * Controlling the TrueType driver module.
- *
- * @description:
- * While FreeType's TrueType driver doesn't expose API functions by
- * itself, it is possible to control its behaviour with @FT_Property_Set
- * and @FT_Property_Get. The following lists the available properties
- * together with the necessary macros and structures.
- *
- * The TrueType driver's module name is `truetype'.
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * interpreter-version
- *
- * @description:
- * Currently, two versions are available, representing the bytecode
- * interpreter with and without subpixel hinting support,
- * respectively. The default is subpixel support if
- * TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel
- * support otherwise (since it isn't available then).
- *
- * If subpixel hinting is on, many TrueType bytecode instructions
- * behave differently compared to B/W or grayscale rendering. The
- * main idea is to render at a much increased horizontal resolution,
- * then sampling down the created output to subpixel precision.
- * However, many older fonts are not suited to this and must be
- * specially taken care of by applying (hardcoded) font-specific
- * tweaks.
- *
- * Details on subpixel hinting and some of the necessary tweaks can be
- * found in Greg Hitchcock's whitepaper at
- * `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
- *
- * The following example code demonstrates how to activate subpixel
- * hinting (omitting the error handling).
- *
- * {
- * FT_Library library;
- * FT_Face face;
- * FT_UInt interpreter_version = TT_INTERPRETER_VERSION_38;
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "truetype",
- * "interpreter-version",
- * &interpreter_version );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- */
-
-
- /**************************************************************************
- *
- * @enum:
- * TT_INTERPRETER_VERSION_XXX
- *
- * @description:
- * A list of constants used for the @interpreter-version property to
- * select the hinting engine for Truetype fonts.
- *
- * The numeric value in the constant names represents the version
- * number as returned by the `GETINFO' bytecode instruction.
- *
- * @values:
- * TT_INTERPRETER_VERSION_35 ::
- * Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in
- * Windows~98; only grayscale and B/W rasterizing is supported.
- *
- * TT_INTERPRETER_VERSION_38 ::
- * Version~38 corresponds to MS rasterizer v.1.9; it is roughly
- * equivalent to the hinting provided by DirectWrite ClearType (as
- * can be found, for example, in the Internet Explorer~9 running on
- * Windows~7).
- *
- * @note:
- * This property controls the behaviour of the bytecode interpreter
- * and thus how outlines get hinted. It does *not* control how glyph
- * get rasterized! In particular, it does not control subpixel color
- * filtering.
- *
- * If FreeType has not been compiled with configuration option
- * FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes an
- * `FT_Err_Unimplemented_Feature' error.
- *
- * Depending on the graphics framework, Microsoft uses different
- * bytecode engines. As a consequence, the version numbers returned by
- * a call to the `GETINFO[1]' bytecode instruction are more convoluted
- * than desired.
- *
- * {
- * framework Windows version result of GETINFO[1]
- * ----------------------------------------------------
- * GDI before XP 35
- * GDI XP and later 37
- * GDI+ old before Vista 37
- * GDI+ old Vista, 7 38
- * GDI+ after 7 40
- * DWrite before 8 39
- * DWrite 8 and later 40
- * }
- *
- * Since FreeType doesn't provide all capabilities of DWrite ClearType,
- * using version~38 seems justified.
- *
- */
-#define TT_INTERPRETER_VERSION_35 35
-#define TT_INTERPRETER_VERSION_38 38
-
- /* */
-
-
-FT_END_HEADER
-
-
-#endif /* __FTTTDRV_H__ */
-
-
-/* END */