فهرست منبع

freetype: Update to upstream version 2.10.2

(cherry picked from commit 9c1b20eab67db699b8831afeb23fdddfcf2c6c2d)
Rémi Verschelde 5 سال پیش
والد
کامیت
938a9c95d0
100فایلهای تغییر یافته به همراه447 افزوده شده و 185 حذف شده
  1. 1 1
      COPYRIGHT.txt
  2. 1 1
      thirdparty/README.md
  3. 1 1
      thirdparty/freetype/include/freetype/config/ftconfig.h
  4. 1 1
      thirdparty/freetype/include/freetype/config/ftheader.h
  5. 20 2
      thirdparty/freetype/include/freetype/config/ftoption.h
  6. 1 1
      thirdparty/freetype/include/freetype/config/ftstdlib.h
  7. 18 17
      thirdparty/freetype/include/freetype/freetype.h
  8. 1 1
      thirdparty/freetype/include/freetype/ftadvanc.h
  9. 1 1
      thirdparty/freetype/include/freetype/ftbbox.h
  10. 1 1
      thirdparty/freetype/include/freetype/ftbdf.h
  11. 1 1
      thirdparty/freetype/include/freetype/ftbitmap.h
  12. 1 1
      thirdparty/freetype/include/freetype/ftbzip2.h
  13. 1 1
      thirdparty/freetype/include/freetype/ftcache.h
  14. 1 1
      thirdparty/freetype/include/freetype/ftcid.h
  15. 10 7
      thirdparty/freetype/include/freetype/ftcolor.h
  16. 1 1
      thirdparty/freetype/include/freetype/ftdriver.h
  17. 1 1
      thirdparty/freetype/include/freetype/fterrdef.h
  18. 1 1
      thirdparty/freetype/include/freetype/fterrors.h
  19. 1 1
      thirdparty/freetype/include/freetype/ftfntfmt.h
  20. 1 1
      thirdparty/freetype/include/freetype/ftgasp.h
  21. 1 1
      thirdparty/freetype/include/freetype/ftglyph.h
  22. 1 1
      thirdparty/freetype/include/freetype/ftgxval.h
  23. 1 1
      thirdparty/freetype/include/freetype/ftgzip.h
  24. 1 1
      thirdparty/freetype/include/freetype/ftimage.h
  25. 1 1
      thirdparty/freetype/include/freetype/ftincrem.h
  26. 1 1
      thirdparty/freetype/include/freetype/ftlcdfil.h
  27. 1 1
      thirdparty/freetype/include/freetype/ftlist.h
  28. 1 1
      thirdparty/freetype/include/freetype/ftlzw.h
  29. 1 1
      thirdparty/freetype/include/freetype/ftmac.h
  30. 1 1
      thirdparty/freetype/include/freetype/ftmm.h
  31. 1 1
      thirdparty/freetype/include/freetype/ftmodapi.h
  32. 1 1
      thirdparty/freetype/include/freetype/ftmoderr.h
  33. 1 1
      thirdparty/freetype/include/freetype/ftotval.h
  34. 1 1
      thirdparty/freetype/include/freetype/ftoutln.h
  35. 1 1
      thirdparty/freetype/include/freetype/ftparams.h
  36. 1 1
      thirdparty/freetype/include/freetype/ftpfr.h
  37. 1 1
      thirdparty/freetype/include/freetype/ftrender.h
  38. 1 1
      thirdparty/freetype/include/freetype/ftsizes.h
  39. 1 1
      thirdparty/freetype/include/freetype/ftsnames.h
  40. 19 17
      thirdparty/freetype/include/freetype/ftstroke.h
  41. 1 1
      thirdparty/freetype/include/freetype/ftsynth.h
  42. 1 1
      thirdparty/freetype/include/freetype/ftsystem.h
  43. 1 1
      thirdparty/freetype/include/freetype/fttrigon.h
  44. 1 1
      thirdparty/freetype/include/freetype/fttypes.h
  45. 1 1
      thirdparty/freetype/include/freetype/ftwinfnt.h
  46. 1 1
      thirdparty/freetype/include/freetype/internal/autohint.h
  47. 1 1
      thirdparty/freetype/include/freetype/internal/cffotypes.h
  48. 1 1
      thirdparty/freetype/include/freetype/internal/cfftypes.h
  49. 1 1
      thirdparty/freetype/include/freetype/internal/ftcalc.h
  50. 1 1
      thirdparty/freetype/include/freetype/internal/ftdebug.h
  51. 1 1
      thirdparty/freetype/include/freetype/internal/ftdrv.h
  52. 1 1
      thirdparty/freetype/include/freetype/internal/ftgloadr.h
  53. 13 5
      thirdparty/freetype/include/freetype/internal/ftmemory.h
  54. 1 1
      thirdparty/freetype/include/freetype/internal/ftobjs.h
  55. 1 1
      thirdparty/freetype/include/freetype/internal/ftpsprop.h
  56. 1 1
      thirdparty/freetype/include/freetype/internal/ftrfork.h
  57. 1 1
      thirdparty/freetype/include/freetype/internal/ftserv.h
  58. 1 1
      thirdparty/freetype/include/freetype/internal/ftstream.h
  59. 2 1
      thirdparty/freetype/include/freetype/internal/fttrace.h
  60. 1 1
      thirdparty/freetype/include/freetype/internal/ftvalid.h
  61. 1 1
      thirdparty/freetype/include/freetype/internal/internal.h
  62. 1 1
      thirdparty/freetype/include/freetype/internal/psaux.h
  63. 1 1
      thirdparty/freetype/include/freetype/internal/pshints.h
  64. 1 1
      thirdparty/freetype/include/freetype/internal/services/svbdf.h
  65. 1 1
      thirdparty/freetype/include/freetype/internal/services/svcfftl.h
  66. 1 1
      thirdparty/freetype/include/freetype/internal/services/svcid.h
  67. 1 1
      thirdparty/freetype/include/freetype/internal/services/svfntfmt.h
  68. 1 1
      thirdparty/freetype/include/freetype/internal/services/svgldict.h
  69. 1 1
      thirdparty/freetype/include/freetype/internal/services/svgxval.h
  70. 1 1
      thirdparty/freetype/include/freetype/internal/services/svkern.h
  71. 1 1
      thirdparty/freetype/include/freetype/internal/services/svmetric.h
  72. 1 1
      thirdparty/freetype/include/freetype/internal/services/svmm.h
  73. 1 1
      thirdparty/freetype/include/freetype/internal/services/svotval.h
  74. 1 1
      thirdparty/freetype/include/freetype/internal/services/svpfr.h
  75. 1 1
      thirdparty/freetype/include/freetype/internal/services/svpostnm.h
  76. 1 1
      thirdparty/freetype/include/freetype/internal/services/svprop.h
  77. 1 1
      thirdparty/freetype/include/freetype/internal/services/svpscmap.h
  78. 1 1
      thirdparty/freetype/include/freetype/internal/services/svpsinfo.h
  79. 1 1
      thirdparty/freetype/include/freetype/internal/services/svsfnt.h
  80. 1 1
      thirdparty/freetype/include/freetype/internal/services/svttcmap.h
  81. 1 1
      thirdparty/freetype/include/freetype/internal/services/svtteng.h
  82. 1 1
      thirdparty/freetype/include/freetype/internal/services/svttglyf.h
  83. 1 1
      thirdparty/freetype/include/freetype/internal/services/svwinfnt.h
  84. 1 1
      thirdparty/freetype/include/freetype/internal/sfnt.h
  85. 1 1
      thirdparty/freetype/include/freetype/internal/t1types.h
  86. 1 1
      thirdparty/freetype/include/freetype/internal/tttypes.h
  87. 202 1
      thirdparty/freetype/include/freetype/internal/wofftypes.h
  88. 1 1
      thirdparty/freetype/include/freetype/t1tables.h
  89. 1 1
      thirdparty/freetype/include/freetype/ttnameid.h
  90. 1 1
      thirdparty/freetype/include/freetype/tttables.h
  91. 2 1
      thirdparty/freetype/include/freetype/tttags.h
  92. 1 1
      thirdparty/freetype/include/ft2build.h
  93. 1 1
      thirdparty/freetype/src/autofit/afangles.c
  94. 11 1
      thirdparty/freetype/src/autofit/afblue.c
  95. 1 1
      thirdparty/freetype/src/autofit/afblue.cin
  96. 14 1
      thirdparty/freetype/src/autofit/afblue.dat
  97. 46 42
      thirdparty/freetype/src/autofit/afblue.h
  98. 1 1
      thirdparty/freetype/src/autofit/afblue.hin
  99. 2 2
      thirdparty/freetype/src/autofit/afcjk.c
  100. 1 1
      thirdparty/freetype/src/autofit/afcjk.h

+ 1 - 1
COPYRIGHT.txt

@@ -159,7 +159,7 @@ License: Expat and Bitstream Vera Fonts Copyright
 
 Files: ./thirdparty/freetype/
 Comment: The FreeType Project
-Copyright: 1996-2019, David Turner, Robert Wilhelm, and Werner Lemberg.
+Copyright: 1996-2020, David Turner, Robert Wilhelm, and Werner Lemberg.
 License: FTL
 
 Files: ./thirdparty/glad/

+ 1 - 1
thirdparty/README.md

@@ -120,7 +120,7 @@ Use UI font variant if available, because it has tight vertical metrics and good
 ## freetype
 
 - Upstream: https://www.freetype.org
-- Version: 2.10.1
+- Version: 2.10.2 (2020)
 - License: FreeType License (BSD-like)
 
 Files extracted from upstream source:

+ 1 - 1
thirdparty/freetype/include/freetype/config/ftconfig.h

@@ -4,7 +4,7 @@
  *
  *   ANSI-specific configuration file (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/config/ftheader.h

@@ -4,7 +4,7 @@
  *
  *   Build macros of the FreeType 2 library.
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 20 - 2
thirdparty/freetype/include/freetype/config/ftoption.h

@@ -4,7 +4,7 @@
  *
  *   User-selectable configuration macros (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -292,6 +292,22 @@ FT_BEGIN_HEADER
 /* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
 
 
+  /**************************************************************************
+   *
+   * Brotli support.
+   *
+   *   FreeType uses the Brotli library to provide support for decompressing
+   *   WOFF2 streams.
+   *
+   *   Define this macro if you want to enable this 'feature'.
+   *
+   *   If you use a build system like cmake or the `configure` script,
+   *   options set by those programs have precedence, overwriting the value
+   *   here with the configured one.
+   */
+/* #define FT_CONFIG_OPTION_USE_BROTLI */
+
+
   /**************************************************************************
    *
    * Glyph Postscript Names handling
@@ -871,9 +887,11 @@ FT_BEGIN_HEADER
    *
    * Compile 'autofit' module with fallback Indic script support, covering
    * some scripts that the 'latin' submodule of the 'autofit' module doesn't
-   * (yet) handle.
+   * (yet) handle.  Currently, this needs option `AF_CONFIG_OPTION_CJK`.
    */
+#ifdef AF_CONFIG_OPTION_CJK
 #define AF_CONFIG_OPTION_INDIC
+#endif
 
 
   /**************************************************************************

+ 1 - 1
thirdparty/freetype/include/freetype/config/ftstdlib.h

@@ -5,7 +5,7 @@
  *   ANSI-specific library and header configuration file (specification
  *   only).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 18 - 17
thirdparty/freetype/include/freetype/freetype.h

@@ -4,7 +4,7 @@
  *
  *   FreeType high-level API and common types (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -1239,7 +1239,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_HORIZONTAL( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_HORIZONTAL ) )
 
 
   /**************************************************************************
@@ -1253,7 +1253,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_VERTICAL( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_VERTICAL )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_VERTICAL ) )
 
 
   /**************************************************************************
@@ -1267,7 +1267,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_KERNING( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_KERNING )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_KERNING ) )
 
 
   /**************************************************************************
@@ -1282,7 +1282,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_SCALABLE( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_SCALABLE )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_SCALABLE ) )
 
 
   /**************************************************************************
@@ -1301,7 +1301,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_SFNT( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_SFNT )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_SFNT ) )
 
 
   /**************************************************************************
@@ -1316,7 +1316,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_FIXED_WIDTH( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) )
 
 
   /**************************************************************************
@@ -1331,7 +1331,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_FIXED_SIZES( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_FIXED_SIZES ) )
 
 
   /**************************************************************************
@@ -1357,7 +1357,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_GLYPH_NAMES( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) )
 
 
   /**************************************************************************
@@ -1372,7 +1372,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_MULTIPLE_MASTERS( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) )
 
 
   /**************************************************************************
@@ -1394,7 +1394,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_NAMED_INSTANCE( face ) \
-          ( (face)->face_index & 0x7FFF0000L )
+          ( !!( (face)->face_index & 0x7FFF0000L ) )
 
 
   /**************************************************************************
@@ -1412,7 +1412,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_VARIATION( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_VARIATION )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_VARIATION ) )
 
 
   /**************************************************************************
@@ -1429,7 +1429,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_CID_KEYED( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_CID_KEYED )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_CID_KEYED ) )
 
 
   /**************************************************************************
@@ -1443,7 +1443,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_IS_TRICKY( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_TRICKY )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_TRICKY ) )
 
 
   /**************************************************************************
@@ -1460,7 +1460,7 @@ FT_BEGIN_HEADER
    *
    */
 #define FT_HAS_COLOR( face ) \
-          ( (face)->face_flags & FT_FACE_FLAG_COLOR )
+          ( !!( (face)->face_flags & FT_FACE_FLAG_COLOR ) )
 
 
   /**************************************************************************
@@ -2078,7 +2078,8 @@ FT_BEGIN_HEADER
    *     The size in bytes of the file in memory.
    *
    *   pathname ::
-   *     A pointer to an 8-bit file pathname.
+   *     A pointer to an 8-bit file pathname.  The pointer is not owned by
+   *     FreeType.
    *
    *   stream ::
    *     A handle to a source stream object.
@@ -4781,7 +4782,7 @@ FT_BEGIN_HEADER
    */
 #define FREETYPE_MAJOR  2
 #define FREETYPE_MINOR  10
-#define FREETYPE_PATCH  1
+#define FREETYPE_PATCH  2
 
 
   /**************************************************************************

+ 1 - 1
thirdparty/freetype/include/freetype/ftadvanc.h

@@ -4,7 +4,7 @@
  *
  *   Quick computation of advance widths (specification only).
  *
- * Copyright (C) 2008-2019 by
+ * Copyright (C) 2008-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftbbox.h

@@ -4,7 +4,7 @@
  *
  *   FreeType exact bbox computation (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftbdf.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for accessing BDF-specific strings (specification).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftbitmap.h

@@ -4,7 +4,7 @@
  *
  *   FreeType utility functions for bitmaps (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftbzip2.h

@@ -4,7 +4,7 @@
  *
  *   Bzip2-compressed stream support.
  *
- * Copyright (C) 2010-2019 by
+ * Copyright (C) 2010-2020 by
  * Joel Klinghed.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftcache.h

@@ -4,7 +4,7 @@
  *
  *   FreeType Cache subsystem (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftcid.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for accessing CID font information (specification).
  *
- * Copyright (C) 2007-2019 by
+ * Copyright (C) 2007-2020 by
  * Dereg Clegg and Michael Toftdal.
  *
  * This file is part of the FreeType project, and may only be used,

+ 10 - 7
thirdparty/freetype/include/freetype/ftcolor.h

@@ -4,7 +4,7 @@
  *
  *   FreeType's glyph color management (specification).
  *
- * Copyright (C) 2018-2019 by
+ * Copyright (C) 2018-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -125,9 +125,9 @@ FT_BEGIN_HEADER
    *     The number of palettes.
    *
    *   palette_name_ids ::
-   *     A read-only array of palette name IDs with `num_palettes` elements,
-   *     corresponding to entries like 'dark' or 'light' in the font's 'name'
-   *     table.
+   *     An optional read-only array of palette name IDs with `num_palettes`
+   *     elements, corresponding to entries like 'dark' or 'light' in the
+   *     font's 'name' table.
    *
    *     An empty name ID in the 'CPAL' table gets represented as value
    *     0xFFFF.
@@ -135,8 +135,8 @@ FT_BEGIN_HEADER
    *     `NULL` if the font's 'CPAL' table doesn't contain appropriate data.
    *
    *   palette_flags ::
-   *     A read-only array of palette flags with `num_palettes` elements.
-   *     Possible values are an ORed combination of
+   *     An optional read-only array of palette flags with `num_palettes`
+   *     elements.  Possible values are an ORed combination of
    *     @FT_PALETTE_FOR_LIGHT_BACKGROUND and
    *     @FT_PALETTE_FOR_DARK_BACKGROUND.
    *
@@ -147,7 +147,7 @@ FT_BEGIN_HEADER
    *     same size.
    *
    *   palette_entry_name_ids ::
-   *     A read-only array of palette entry name IDs with
+   *     An optional read-only array of palette entry name IDs with
    *     `num_palette_entries`.  In each palette, entries with the same index
    *     have the same function.  For example, index~0 might correspond to
    *     string 'outline' in the font's 'name' table to indicate that this
@@ -163,6 +163,9 @@ FT_BEGIN_HEADER
    *   Use function @FT_Get_Sfnt_Name to map name IDs and entry name IDs to
    *   name strings.
    *
+   *   Use function @FT_Palette_Select to get the colors associated with a
+   *   palette entry.
+   *
    * @since:
    *   2.10
    */

+ 1 - 1
thirdparty/freetype/include/freetype/ftdriver.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for controlling driver modules (specification only).
  *
- * Copyright (C) 2017-2019 by
+ * Copyright (C) 2017-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/fterrdef.h

@@ -4,7 +4,7 @@
  *
  *   FreeType error codes (specification).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/fterrors.h

@@ -4,7 +4,7 @@
  *
  *   FreeType error code handling (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftfntfmt.h

@@ -4,7 +4,7 @@
  *
  *   Support functions for font formats.
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftgasp.h

@@ -4,7 +4,7 @@
  *
  *   Access of TrueType's 'gasp' table (specification).
  *
- * Copyright (C) 2007-2019 by
+ * Copyright (C) 2007-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftglyph.h

@@ -4,7 +4,7 @@
  *
  *   FreeType convenience functions to handle glyphs (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftgxval.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for validating TrueTypeGX/AAT tables (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * Masatake YAMATO, Redhat K.K,
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *

+ 1 - 1
thirdparty/freetype/include/freetype/ftgzip.h

@@ -4,7 +4,7 @@
  *
  *   Gzip-compressed stream support.
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftimage.h

@@ -5,7 +5,7 @@
  *   FreeType glyph image formats and default raster interface
  *   (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftincrem.h

@@ -4,7 +4,7 @@
  *
  *   FreeType incremental loading (specification).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftlcdfil.h

@@ -5,7 +5,7 @@
  *   FreeType API for color filtering of subpixel bitmap glyphs
  *   (specification).
  *
- * Copyright (C) 2006-2019 by
+ * Copyright (C) 2006-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftlist.h

@@ -4,7 +4,7 @@
  *
  *   Generic list support for FreeType (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftlzw.h

@@ -4,7 +4,7 @@
  *
  *   LZW-compressed stream support.
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftmac.h

@@ -4,7 +4,7 @@
  *
  *   Additional Mac-specific API.
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftmm.h

@@ -4,7 +4,7 @@
  *
  *   FreeType Multiple Master font interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftmodapi.h

@@ -4,7 +4,7 @@
  *
  *   FreeType modules public interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftmoderr.h

@@ -4,7 +4,7 @@
  *
  *   FreeType module error offsets (specification).
  *
- * Copyright (C) 2001-2019 by
+ * Copyright (C) 2001-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftotval.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for validating OpenType tables (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/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 (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftparams.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for possible FT_Parameter tags (specification only).
  *
- * Copyright (C) 2017-2019 by
+ * Copyright (C) 2017-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftpfr.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for accessing PFR-specific data (specification only).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftrender.h

@@ -4,7 +4,7 @@
  *
  *   FreeType renderer modules public interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftsizes.h

@@ -4,7 +4,7 @@
  *
  *   FreeType size objects management (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftsnames.h

@@ -7,7 +7,7 @@
  *
  *   This is _not_ used to retrieve glyph names!
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 19 - 17
thirdparty/freetype/include/freetype/ftstroke.h

@@ -4,7 +4,7 @@
  *
  *   FreeType path stroker (specification).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -114,22 +114,19 @@ FT_BEGIN_HEADER
    *   FT_STROKER_LINEJOIN_MITER_FIXED ::
    *     Used to render mitered line joins, with fixed bevels if the miter
    *     limit is exceeded.  The outer edges of the strokes for the two
-   *     segments are extended until they meet at an angle.  If the segments
-   *     meet at too sharp an angle (such that the miter would extend from
-   *     the intersection of the segments a distance greater than the product
-   *     of the miter limit value and the border radius), then a bevel join
-   *     (see above) is used instead.  This prevents long spikes being
-   *     created.  `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line
-   *     join as used in PostScript and PDF.
+   *     segments are extended until they meet at an angle.  A bevel join
+   *     (see above) is used if the segments meet at too sharp an angle and
+   *     the outer edges meet beyond a distance corresponding to the meter
+   *     limit.  This prevents long spikes being created.
+   *     `FT_STROKER_LINEJOIN_MITER_FIXED` generates a miter line join as
+   *     used in PostScript and PDF.
    *
    *   FT_STROKER_LINEJOIN_MITER_VARIABLE ::
    *   FT_STROKER_LINEJOIN_MITER ::
    *     Used to render mitered line joins, with variable bevels if the miter
-   *     limit is exceeded.  The intersection of the strokes is clipped at a
-   *     line perpendicular to the bisector of the angle between the strokes,
-   *     at the distance from the intersection of the segments equal to the
-   *     product of the miter limit value and the border radius.  This
-   *     prevents long spikes being created. 
+   *     limit is exceeded.  The intersection of the strokes is clipped
+   *     perpendicularly to the bisector, at a distance corresponding to
+   *     the miter limit. This prevents long spikes being created.
    *     `FT_STROKER_LINEJOIN_MITER_VARIABLE` generates a mitered line join
    *     as used in XPS.  `FT_STROKER_LINEJOIN_MITER` is an alias for
    *     `FT_STROKER_LINEJOIN_MITER_VARIABLE`, retained for backward
@@ -296,12 +293,17 @@ FT_BEGIN_HEADER
    *     The line join style.
    *
    *   miter_limit ::
-   *     The miter limit for the `FT_STROKER_LINEJOIN_MITER_FIXED` and
-   *     `FT_STROKER_LINEJOIN_MITER_VARIABLE` line join styles, expressed as
-   *     16.16 fixed-point value.
+   *     The maximum reciprocal sine of half-angle at the miter join,
+   *     expressed as 16.16 fixed point value.
    *
    * @note:
-   *   The radius is expressed in the same units as the outline coordinates.
+   *   The `radius` is expressed in the same units as the outline
+   *   coordinates.
+   *
+   *   The `miter_limit` multiplied by the `radius` gives the maximum size
+   *   of a miter spike, at which it is clipped for
+   *   @FT_STROKER_LINEJOIN_MITER_VARIABLE or replaced with a bevel join for
+   *   @FT_STROKER_LINEJOIN_MITER_FIXED.
    *
    *   This function calls @FT_Stroker_Rewind automatically.
    */

+ 1 - 1
thirdparty/freetype/include/freetype/ftsynth.h

@@ -5,7 +5,7 @@
  *   FreeType synthesizing code for emboldening and slanting
  *   (specification).
  *
- * Copyright (C) 2000-2019 by
+ * Copyright (C) 2000-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftsystem.h

@@ -4,7 +4,7 @@
  *
  *   FreeType low-level system interface definition (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/fttrigon.h

@@ -4,7 +4,7 @@
  *
  *   FreeType trigonometric functions (specification).
  *
- * Copyright (C) 2001-2019 by
+ * Copyright (C) 2001-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/fttypes.h

@@ -4,7 +4,7 @@
  *
  *   FreeType simple types definitions (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ftwinfnt.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for accessing Windows fnt-specific data.
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/autohint.h

@@ -4,7 +4,7 @@
  *
  *   High-level 'autohint' module-specific interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/cffotypes.h

@@ -4,7 +4,7 @@
  *
  *   Basic OpenType/CFF object type definitions (specification).
  *
- * Copyright (C) 2017-2019 by
+ * Copyright (C) 2017-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/cfftypes.h

@@ -5,7 +5,7 @@
  *   Basic OpenType/CFF type definitions and interface (specification
  *   only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftcalc.h

@@ -4,7 +4,7 @@
  *
  *   Arithmetic computations (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftdebug.h

@@ -4,7 +4,7 @@
  *
  *   Debugging and logging component (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftdrv.h

@@ -4,7 +4,7 @@
  *
  *   FreeType internal font driver interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftgloadr.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType glyph loader (specification).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg
  *
  * This file is part of the FreeType project, and may only be used,

+ 13 - 5
thirdparty/freetype/include/freetype/internal/ftmemory.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType memory management macros (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg
  *
  * This file is part of the FreeType project, and may only be used,
@@ -57,6 +57,14 @@ FT_BEGIN_HEADER
   /*************************************************************************/
 
 
+  /* The calculation `NULL + n' is undefined in C.  Even if the resulting */
+  /* pointer doesn't get dereferenced, this causes warnings with          */
+  /* sanitizers.                                                          */
+  /*                                                                      */
+  /* We thus provide a macro that should be used if `base' can be NULL.   */
+#define FT_OFFSET( base, count )  ( (base) ? (base) + (count) : NULL )
+
+
   /*
    * C++ refuses to handle statements like p = (void*)anything, with `p' a
    * typed pointer.  Since we don't have a `typeof' operator in standard C++,
@@ -153,10 +161,10 @@ extern "C++"
                                                (FT_Long)(size), \
                                                &error ) )
 
-#define FT_MEM_FREE( ptr )                \
-          FT_BEGIN_STMNT                  \
-            ft_mem_free( memory, (ptr) ); \
-            (ptr) = NULL;                 \
+#define FT_MEM_FREE( ptr )                                  \
+          FT_BEGIN_STMNT                                    \
+            FT_DEBUG_INNER( ft_mem_free( memory, (ptr) ) ); \
+            (ptr) = NULL;                                   \
           FT_END_STMNT
 
 #define FT_MEM_NEW( ptr )                        \

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftobjs.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType private base classes (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftpsprop.h

@@ -4,7 +4,7 @@
  *
  *   Get and set properties of PostScript drivers (specification).
  *
- * Copyright (C) 2017-2019 by
+ * Copyright (C) 2017-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftrfork.h

@@ -4,7 +4,7 @@
  *
  *   Embedded resource forks accessor (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * Masatake YAMATO and Redhat K.K.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftserv.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType services (specification only).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftstream.h

@@ -4,7 +4,7 @@
  *
  *   Stream handling (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 2 - 1
thirdparty/freetype/include/freetype/internal/fttrace.h

@@ -4,7 +4,7 @@
  *
  *   Tracing handling (specification only).
  *
- * Copyright (C) 2002-2019 by
+ * Copyright (C) 2002-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -49,6 +49,7 @@ FT_TRACE_DEF( cache )     /* cache sub-system        (ftcache.c, etc.) */
 FT_TRACE_DEF( sfdriver )  /* SFNT font driver        (sfdriver.c) */
 FT_TRACE_DEF( sfobjs )    /* SFNT object handler     (sfobjs.c)   */
 FT_TRACE_DEF( sfwoff )    /* WOFF format handler     (sfwoff.c)   */
+FT_TRACE_DEF( sfwoff2 )   /* WOFF2 format handler    (sfwoff2.c)  */
 FT_TRACE_DEF( ttbdf )     /* TrueType embedded BDF   (ttbdf.c)    */
 FT_TRACE_DEF( ttcmap )    /* charmap handler         (ttcmap.c)   */
 FT_TRACE_DEF( ttcolr )    /* glyph layer table       (ttcolr.c)   */

+ 1 - 1
thirdparty/freetype/include/freetype/internal/ftvalid.h

@@ -4,7 +4,7 @@
  *
  *   FreeType validation support (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/internal.h

@@ -4,7 +4,7 @@
  *
  *   Internal header files (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/psaux.h

@@ -5,7 +5,7 @@
  *   Auxiliary functions and data structures related to PostScript fonts
  *   (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/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 (C) 2001-2019 by
+ * Copyright (C) 2001-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svbdf.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType BDF services (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svcfftl.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType CFF tables loader service (specification).
  *
- * Copyright (C) 2017-2019 by
+ * Copyright (C) 2017-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svcid.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType CID font services (specification).
  *
- * Copyright (C) 2007-2019 by
+ * Copyright (C) 2007-2020 by
  * Derek Clegg and Michael Toftdal.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svfntfmt.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType font format service (specification only).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svgldict.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType glyph dictionary services (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svgxval.h

@@ -4,7 +4,7 @@
  *
  *   FreeType API for validating TrueTypeGX/AAT tables (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * Masatake YAMATO, Red Hat K.K.,
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svkern.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType Kerning service (specification).
  *
- * Copyright (C) 2006-2019 by
+ * Copyright (C) 2006-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svmetric.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType services for metrics variations (specification).
  *
- * Copyright (C) 2016-2019 by
+ * Copyright (C) 2016-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svmm.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType Multiple Masters and GX var services (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svotval.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType OpenType validation service (specification).
  *
- * Copyright (C) 2004-2019 by
+ * Copyright (C) 2004-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svpfr.h

@@ -4,7 +4,7 @@
  *
  *   Internal PFR service functions (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svpostnm.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType PostScript name services (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svprop.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType property service (specification).
  *
- * Copyright (C) 2012-2019 by
+ * Copyright (C) 2012-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svpscmap.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType PostScript charmap service (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svpsinfo.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType PostScript info service (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svsfnt.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType SFNT table loading service (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svttcmap.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType TrueType/sfnt cmap extra information service.
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * Masatake YAMATO, Redhat K.K.,
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svtteng.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType TrueType engine query service (specification).
  *
- * Copyright (C) 2006-2019 by
+ * Copyright (C) 2006-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svttglyf.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType TrueType glyph service.
  *
- * Copyright (C) 2007-2019 by
+ * Copyright (C) 2007-2020 by
  * David Turner.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/services/svwinfnt.h

@@ -4,7 +4,7 @@
  *
  *   The FreeType Windows FNT/FONT service (specification).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/sfnt.h

@@ -4,7 +4,7 @@
  *
  *   High-level 'sfnt' driver interface (specification).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/t1types.h

@@ -5,7 +5,7 @@
  *   Basic Type1/Type2 type definitions and interface (specification
  *   only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/internal/tttypes.h

@@ -5,7 +5,7 @@
  *   Basic SFNT/TrueType type definitions and interface (specification
  *   only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 202 - 1
thirdparty/freetype/include/freetype/internal/wofftypes.h

@@ -5,7 +5,7 @@
  *   Basic WOFF/WOFF2 type definitions and interface (specification
  *   only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -104,6 +104,207 @@ FT_BEGIN_HEADER
   } WOFF_TableRec, *WOFF_Table;
 
 
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_TtcFontRec
+   *
+   * @description:
+   *   Metadata for a TTC font entry in WOFF2.
+   *
+   * @fields:
+   *   flavor ::
+   *     TTC font flavor.
+   *
+   *   num_tables ::
+   *     Number of tables in TTC, indicating number of elements in
+   *     `table_indices`.
+   *
+   *   table_indices ::
+   *     Array of table indices for each TTC font.
+   */
+  typedef struct  WOFF2_TtcFontRec_
+  {
+    FT_ULong    flavor;
+    FT_UShort   num_tables;
+    FT_UShort*  table_indices;
+
+  } WOFF2_TtcFontRec, *WOFF2_TtcFont;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_HeaderRec
+   *
+   * @description:
+   *   WOFF2 file format header.
+   *
+   * @fields:
+   *   See
+   *
+   *     https://www.w3.org/TR/WOFF2/#woff20Header
+   *
+   * @note:
+   *   We don't care about the fields `reserved`, `majorVersion` and
+   *   `minorVersion`, so they are not included.  The `totalSfntSize` field
+   *   does not necessarily represent the actual size of the uncompressed
+   *   SFNT font stream, so that is used as a reference value instead.
+   */
+  typedef struct  WOFF2_HeaderRec_
+  {
+    FT_ULong   signature;
+    FT_ULong   flavor;
+    FT_ULong   length;
+    FT_UShort  num_tables;
+    FT_ULong   totalSfntSize;
+    FT_ULong   totalCompressedSize;
+    FT_ULong   metaOffset;
+    FT_ULong   metaLength;
+    FT_ULong   metaOrigLength;
+    FT_ULong   privOffset;
+    FT_ULong   privLength;
+
+    FT_ULong   uncompressed_size;    /* uncompressed brotli stream size */
+    FT_ULong   compressed_offset;    /* compressed stream offset        */
+    FT_ULong   header_version;       /* version of original TTC Header  */
+    FT_UShort  num_fonts;            /* number of fonts in TTC          */
+    FT_ULong   actual_sfnt_size;     /* actual size of sfnt stream      */
+
+    WOFF2_TtcFont  ttc_fonts;        /* metadata for fonts in a TTC     */
+
+  } WOFF2_HeaderRec, *WOFF2_Header;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_TableRec
+   *
+   * @description:
+   *   This structure describes a given table of a WOFF2 font.
+   *
+   * @fields:
+   *   See
+   *
+   *     https://www.w3.org/TR/WOFF2/#table_dir_format
+   */
+  typedef struct  WOFF2_TableRec_
+  {
+    FT_Byte   FlagByte;           /* table type and flags      */
+    FT_ULong  Tag;                /* table file offset         */
+    FT_ULong  dst_length;         /* uncompressed table length */
+    FT_ULong  TransformLength;    /* transformed length        */
+
+    FT_ULong  flags;              /* calculated flags          */
+    FT_ULong  src_offset;         /* compressed table offset   */
+    FT_ULong  src_length;         /* compressed table length   */
+    FT_ULong  dst_offset;         /* uncompressed table offset */
+
+  } WOFF2_TableRec, *WOFF2_Table;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_InfoRec
+   *
+   * @description:
+   *   Metadata for WOFF2 font that may be required for reconstruction of
+   *   sfnt tables.
+   *
+   * @fields:
+   *   header_checksum ::
+   *     Checksum of SFNT offset table.
+   *
+   *   num_glyphs ::
+   *     Number of glyphs in the font.
+   *
+   *   num_hmetrics ::
+   *     `numberOfHMetrics` field in the 'hhea' table.
+   *
+   *   x_mins ::
+   *     `xMin` values of glyph bounding box.
+   *
+   *   glyf_table ::
+   *     A pointer to the `glyf' table record.
+   *
+   *   loca_table ::
+   *     A pointer to the `loca' table record.
+   *
+   *   head_table ::
+   *     A pointer to the `head' table record.
+   */
+  typedef struct  WOFF2_InfoRec_
+  {
+    FT_ULong   header_checksum;
+    FT_UShort  num_glyphs;
+    FT_UShort  num_hmetrics;
+    FT_Short*  x_mins;
+
+    WOFF2_Table  glyf_table;
+    WOFF2_Table  loca_table;
+    WOFF2_Table  head_table;
+
+  } WOFF2_InfoRec, *WOFF2_Info;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_SubstreamRec
+   *
+   * @description:
+   *   This structure stores information about a substream in the transformed
+   *   'glyf' table in a WOFF2 stream.
+   *
+   * @fields:
+   *   start ::
+   *     Beginning of the substream relative to uncompressed table stream.
+   *
+   *   offset ::
+   *     Offset of the substream relative to uncompressed table stream.
+   *
+   *   size ::
+   *     Size of the substream.
+   */
+  typedef struct  WOFF2_SubstreamRec_
+  {
+    FT_ULong  start;
+    FT_ULong  offset;
+    FT_ULong  size;
+
+  } WOFF2_SubstreamRec, *WOFF2_Substream;
+
+
+  /**************************************************************************
+   *
+   * @struct:
+   *   WOFF2_PointRec
+   *
+   * @description:
+   *   This structure stores information about a point in the transformed
+   *   'glyf' table in a WOFF2 stream.
+   *
+   * @fields:
+   *   x ::
+   *     x-coordinate of point.
+   *
+   *   y ::
+   *     y-coordinate of point.
+   *
+   *   on_curve ::
+   *     Set if point is on-curve.
+   */
+  typedef struct  WOFF2_PointRec_
+  {
+    FT_Int   x;
+    FT_Int   y;
+    FT_Bool  on_curve;
+
+  } WOFF2_PointRec, *WOFF2_Point;
+
+
 FT_END_HEADER
 
 #endif /* WOFFTYPES_H_ */

+ 1 - 1
thirdparty/freetype/include/freetype/t1tables.h

@@ -5,7 +5,7 @@
  *   Basic Type 1/Type 2 tables definitions and interface (specification
  *   only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/ttnameid.h

@@ -4,7 +4,7 @@
  *
  *   TrueType name ID definitions (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/include/freetype/tttables.h

@@ -5,7 +5,7 @@
  *   Basic SFNT/TrueType tables definitions and interface
  *   (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 2 - 1
thirdparty/freetype/include/freetype/tttags.h

@@ -4,7 +4,7 @@
  *
  *   Tags for TrueType and OpenType tables (specification only).
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -107,6 +107,7 @@ FT_BEGIN_HEADER
 #define TTAG_vmtx  FT_MAKE_TAG( 'v', 'm', 't', 'x' )
 #define TTAG_VVAR  FT_MAKE_TAG( 'V', 'V', 'A', 'R' )
 #define TTAG_wOFF  FT_MAKE_TAG( 'w', 'O', 'F', 'F' )
+#define TTAG_wOF2  FT_MAKE_TAG( 'w', 'O', 'F', '2' )
 
 /* used by "Keyboard.dfont" on legacy Mac OS X */
 #define TTAG_0xA5kbd  FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' )

+ 1 - 1
thirdparty/freetype/include/ft2build.h

@@ -4,7 +4,7 @@
  *
  *   FreeType 2 build and setup macros.
  *
- * Copyright (C) 1996-2019 by
+ * Copyright (C) 1996-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 1 - 1
thirdparty/freetype/src/autofit/afangles.c

@@ -5,7 +5,7 @@
  *   Routines used to compute vector angles with limited accuracy
  *   and very high speed.  It also contains sorting routines (body).
  *
- * Copyright (C) 2003-2019 by
+ * Copyright (C) 2003-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 11 - 1
thirdparty/freetype/src/autofit/afblue.c

@@ -7,7 +7,7 @@
  *
  *   Auto-fitter data for blue strings (body).
  *
- * Copyright (C) 2013-2019 by
+ * Copyright (C) 2013-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -340,6 +340,12 @@
     '\0',
     '\xF0', '\x90', '\x92', '\x80', ' ', '\xF0', '\x90', '\x92', '\x82', ' ', '\xF0', '\x90', '\x92', '\x86', ' ', '\xF0', '\x90', '\x92', '\x88', ' ', '\xF0', '\x90', '\x92', '\x8A', ' ', '\xF0', '\x90', '\x92', '\x92', ' ', '\xF0', '\x90', '\x92', '\xA0', ' ', '\xF0', '\x90', '\x92', '\xA9',  /* 𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩 */
     '\0',
+    '\xF0', '\x90', '\xB4', '\x83', ' ', '\xF0', '\x90', '\xB4', '\x80', ' ', '\xF0', '\x90', '\xB4', '\x86', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95',  /* 𐴃 𐴀 𐴆 𐴖 𐴕 */
+    '\0',
+    '\xF0', '\x90', '\xB4', '\x94', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95', ' ', '\xF0', '\x90', '\xB4', '\x91', ' ', '\xF0', '\x90', '\xB4', '\x90',  /* 𐴔 𐴖 𐴕 𐴑 𐴐 */
+    '\0',
+    '\xD9', '\x80',  /* ـ */
+    '\0',
     '\xEA', '\xA2', '\x9C', ' ', '\xEA', '\xA2', '\x9E', ' ', '\xEA', '\xA2', '\xB3', ' ', '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\x96', ' ', '\xEA', '\xA2', '\x92', ' ', '\xEA', '\xA2', '\x9D', ' ', '\xEA', '\xA2', '\x9B',  /* ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ */
     '\0',
     '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\xA8', ' ', '\xEA', '\xA2', '\xBA', ' ', '\xEA', '\xA2', '\xA4', ' ', '\xEA', '\xA2', '\x8E',  /* ꢂ ꢨ ꢺ ꢤ ꢎ */
@@ -687,6 +693,10 @@
     { AF_BLUE_STRING_OSMANYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_OSMANYA_BOTTOM, 0                          },
     { AF_BLUE_STRING_MAX,            0                          },
+    { AF_BLUE_STRING_ROHINGYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP     },
+    { AF_BLUE_STRING_ROHINGYA_BOTTOM, 0                              },
+    { AF_BLUE_STRING_ROHINGYA_JOIN,   AF_BLUE_PROPERTY_LATIN_NEUTRAL },
+    { AF_BLUE_STRING_MAX,             0                              },
     { AF_BLUE_STRING_SAURASHTRA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0                          },
     { AF_BLUE_STRING_MAX,               0                          },

+ 1 - 1
thirdparty/freetype/src/autofit/afblue.cin

@@ -4,7 +4,7 @@
  *
  *   Auto-fitter data for blue strings (body).
  *
- * Copyright (C) 2013-2019 by
+ * Copyright (C) 2013-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 14 - 1
thirdparty/freetype/src/autofit/afblue.dat

@@ -2,7 +2,7 @@
 //
 //   Auto-fitter data for blue strings.
 //
-// Copyright (C) 2013-2019 by
+// Copyright (C) 2013-2020 by
 // David Turner, Robert Wilhelm, and Werner Lemberg.
 //
 // This file is part of the FreeType project, and may only be used,
@@ -443,6 +443,13 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
   AF_BLUE_STRING_OSMANYA_BOTTOM
     "𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩"
 
+  AF_BLUE_STRING_ROHINGYA_TOP
+    "𐴃 𐴀 𐴆 𐴖 𐴕"
+  AF_BLUE_STRING_ROHINGYA_BOTTOM
+    "𐴔 𐴖 𐴕 𐴑 𐴐"
+  AF_BLUE_STRING_ROHINGYA_JOIN
+    "ـ"
+
   AF_BLUE_STRING_SAURASHTRA_TOP
     "ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ"
   AF_BLUE_STRING_SAURASHTRA_BOTTOM
@@ -1002,6 +1009,12 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
     { AF_BLUE_STRING_OSMANYA_BOTTOM, 0                          }
     { AF_BLUE_STRING_MAX,            0                          }
 
+  AF_BLUE_STRINGSET_ROHG
+    { AF_BLUE_STRING_ROHINGYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP     }
+    { AF_BLUE_STRING_ROHINGYA_BOTTOM, 0                              }
+    { AF_BLUE_STRING_ROHINGYA_JOIN,   AF_BLUE_PROPERTY_LATIN_NEUTRAL }
+    { AF_BLUE_STRING_MAX,             0                              }
+
   AF_BLUE_STRINGSET_SAUR
     { AF_BLUE_STRING_SAURASHTRA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
     { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0                          }

+ 46 - 42
thirdparty/freetype/src/autofit/afblue.h

@@ -7,7 +7,7 @@
  *
  *   Auto-fitter data for blue strings (specification).
  *
- * Copyright (C) 2013-2019 by
+ * Copyright (C) 2013-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -234,36 +234,39 @@ FT_BEGIN_HEADER
     AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4095,
     AF_BLUE_STRING_OSMANYA_TOP = 4110,
     AF_BLUE_STRING_OSMANYA_BOTTOM = 4150,
-    AF_BLUE_STRING_SAURASHTRA_TOP = 4190,
-    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4222,
-    AF_BLUE_STRING_SHAVIAN_TOP = 4242,
-    AF_BLUE_STRING_SHAVIAN_BOTTOM = 4252,
-    AF_BLUE_STRING_SHAVIAN_DESCENDER = 4277,
-    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4287,
-    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4322,
-    AF_BLUE_STRING_SINHALA_TOP = 4337,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 4369,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 4401,
-    AF_BLUE_STRING_SUNDANESE_TOP = 4445,
-    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4469,
-    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4501,
-    AF_BLUE_STRING_TAI_VIET_TOP = 4509,
-    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4529,
-    AF_BLUE_STRING_TAMIL_TOP = 4541,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 4573,
-    AF_BLUE_STRING_TELUGU_TOP = 4605,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 4633,
-    AF_BLUE_STRING_THAI_TOP = 4661,
-    AF_BLUE_STRING_THAI_BOTTOM = 4685,
-    AF_BLUE_STRING_THAI_ASCENDER = 4713,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4725,
-    AF_BLUE_STRING_THAI_DESCENDER = 4737,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4753,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 4761,
-    AF_BLUE_STRING_TIFINAGH = 4773,
-    AF_BLUE_STRING_VAI_TOP = 4805,
-    AF_BLUE_STRING_VAI_BOTTOM = 4837,
-    af_blue_1_1 = 4868,
+    AF_BLUE_STRING_ROHINGYA_TOP = 4190,
+    AF_BLUE_STRING_ROHINGYA_BOTTOM = 4215,
+    AF_BLUE_STRING_ROHINGYA_JOIN = 4240,
+    AF_BLUE_STRING_SAURASHTRA_TOP = 4243,
+    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4275,
+    AF_BLUE_STRING_SHAVIAN_TOP = 4295,
+    AF_BLUE_STRING_SHAVIAN_BOTTOM = 4305,
+    AF_BLUE_STRING_SHAVIAN_DESCENDER = 4330,
+    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4340,
+    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4375,
+    AF_BLUE_STRING_SINHALA_TOP = 4390,
+    AF_BLUE_STRING_SINHALA_BOTTOM = 4422,
+    AF_BLUE_STRING_SINHALA_DESCENDER = 4454,
+    AF_BLUE_STRING_SUNDANESE_TOP = 4498,
+    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4522,
+    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4554,
+    AF_BLUE_STRING_TAI_VIET_TOP = 4562,
+    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4582,
+    AF_BLUE_STRING_TAMIL_TOP = 4594,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 4626,
+    AF_BLUE_STRING_TELUGU_TOP = 4658,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 4686,
+    AF_BLUE_STRING_THAI_TOP = 4714,
+    AF_BLUE_STRING_THAI_BOTTOM = 4738,
+    AF_BLUE_STRING_THAI_ASCENDER = 4766,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4778,
+    AF_BLUE_STRING_THAI_DESCENDER = 4790,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4806,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 4814,
+    AF_BLUE_STRING_TIFINAGH = 4826,
+    AF_BLUE_STRING_VAI_TOP = 4858,
+    AF_BLUE_STRING_VAI_BOTTOM = 4890,
+    af_blue_1_1 = 4921,
 #ifdef AF_CONFIG_OPTION_CJK
     AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
     AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,
@@ -365,17 +368,18 @@ FT_BEGIN_HEADER
     AF_BLUE_STRINGSET_ORKH = 196,
     AF_BLUE_STRINGSET_OSGE = 199,
     AF_BLUE_STRINGSET_OSMA = 207,
-    AF_BLUE_STRINGSET_SAUR = 210,
-    AF_BLUE_STRINGSET_SHAW = 213,
-    AF_BLUE_STRINGSET_SINH = 219,
-    AF_BLUE_STRINGSET_SUND = 223,
-    AF_BLUE_STRINGSET_TAML = 227,
-    AF_BLUE_STRINGSET_TAVT = 230,
-    AF_BLUE_STRINGSET_TELU = 233,
-    AF_BLUE_STRINGSET_TFNG = 236,
-    AF_BLUE_STRINGSET_THAI = 239,
-    AF_BLUE_STRINGSET_VAII = 247,
-    af_blue_2_1 = 250,
+    AF_BLUE_STRINGSET_ROHG = 210,
+    AF_BLUE_STRINGSET_SAUR = 214,
+    AF_BLUE_STRINGSET_SHAW = 217,
+    AF_BLUE_STRINGSET_SINH = 223,
+    AF_BLUE_STRINGSET_SUND = 227,
+    AF_BLUE_STRINGSET_TAML = 231,
+    AF_BLUE_STRINGSET_TAVT = 234,
+    AF_BLUE_STRINGSET_TELU = 237,
+    AF_BLUE_STRINGSET_TFNG = 240,
+    AF_BLUE_STRINGSET_THAI = 243,
+    AF_BLUE_STRINGSET_VAII = 251,
+    af_blue_2_1 = 254,
 #ifdef AF_CONFIG_OPTION_CJK
     AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
     af_blue_2_1_1 = af_blue_2_1 + 2,

+ 1 - 1
thirdparty/freetype/src/autofit/afblue.hin

@@ -4,7 +4,7 @@
  *
  *   Auto-fitter data for blue strings (specification).
  *
- * Copyright (C) 2013-2019 by
+ * Copyright (C) 2013-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

+ 2 - 2
thirdparty/freetype/src/autofit/afcjk.c

@@ -4,7 +4,7 @@
  *
  *   Auto-fitter hinting routines for CJK writing system (body).
  *
- * Copyright (C) 2006-2019 by
+ * Copyright (C) 2006-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,
@@ -806,7 +806,7 @@
   {
     AF_AxisHints  axis          = &hints->axis[dim];
     AF_Segment    segments      = axis->segments;
-    AF_Segment    segment_limit = segments + axis->num_segments;
+    AF_Segment    segment_limit = FT_OFFSET( segments, axis->num_segments );
     FT_Error      error;
     AF_Segment    seg;
 

+ 1 - 1
thirdparty/freetype/src/autofit/afcjk.h

@@ -4,7 +4,7 @@
  *
  *   Auto-fitter hinting routines for CJK writing system (specification).
  *
- * Copyright (C) 2006-2019 by
+ * Copyright (C) 2006-2020 by
  * David Turner, Robert Wilhelm, and Werner Lemberg.
  *
  * This file is part of the FreeType project, and may only be used,

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است