Roll FreeType to 2.10.4 (#23666) (#23887)

* Roll FreeType to 2.10.4 (#23666)

* Fix license signature.

Co-authored-by: Jason Simmons <jason-simmons@users.noreply.github.com>
diff --git a/DEPS b/DEPS
index 405498f..c80db39 100644
--- a/DEPS
+++ b/DEPS
@@ -21,6 +21,7 @@
   'chromium_git': 'https://chromium.googlesource.com',
   'swiftshader_git': 'https://swiftshader.googlesource.com',
   'dart_git': 'https://dart.googlesource.com',
+  'flutter_git': 'https://flutter.googlesource.com',
   'fuchsia_git': 'https://fuchsia.googlesource.com',
   'github_git': 'https://github.com',
   'skia_git': 'https://skia.googlesource.com',
@@ -92,6 +93,7 @@
 # If you need to add a new host, contact chrome infrastructure team.
 allowed_hosts = [
   'chromium.googlesource.com',
+  'flutter.googlesource.com',
   'fuchsia.googlesource.com',
   'github.com',
   'skia.googlesource.com',
@@ -350,7 +352,7 @@
    Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
 
   'src/third_party/freetype2':
-   Var('fuchsia_git') + '/third_party/freetype2' + '@' + 'edab12c07ac05d1185616688f338b1ad15936796',
+   Var('flutter_git') + '/third_party/freetype2' + '@' + '1f03c1b2d7f2ae832a4fbe9d12bd96c3c15bbece',
 
   'src/third_party/root_certificates':
    Var('dart_git') + '/root_certificates.git' + '@' + Var('dart_root_certificates_rev'),
diff --git a/ci/licenses_golden/licenses_third_party b/ci/licenses_golden/licenses_third_party
index ab6e28e..e12492b 100644
--- a/ci/licenses_golden/licenses_third_party
+++ b/ci/licenses_golden/licenses_third_party
@@ -1,4 +1,4 @@
-Signature: d2cc8ac6da5f2f9979588619a3b2064c
+Signature: 44cb07f3e9c61503e48c04c0dbaad6b4
 
 UNUSED LICENSES:
 
@@ -12298,17 +12298,18 @@
 ORIGIN: ../../../third_party/freetype2/docs/FTL.TXT
 TYPE: LicenseType.freetype
 FILE: ../../../third_party/freetype2/.mailmap
-FILE: ../../../third_party/freetype2/Jamfile
-FILE: ../../../third_party/freetype2/Jamrules
 FILE: ../../../third_party/freetype2/devel/ft2build.h
 FILE: ../../../third_party/freetype2/devel/ftoption.h
-FILE: ../../../third_party/freetype2/include/freetype-fuchsia-config/ftmodule.h
-FILE: ../../../third_party/freetype2/include/freetype-fuchsia-config/ftoption.h
+FILE: ../../../third_party/freetype2/include/freetype-flutter-config/ftmodule.h
+FILE: ../../../third_party/freetype2/include/freetype-flutter-config/ftoption.h
 FILE: ../../../third_party/freetype2/include/freetype/config/ftconfig.h
 FILE: ../../../third_party/freetype2/include/freetype/config/ftheader.h
 FILE: ../../../third_party/freetype2/include/freetype/config/ftmodule.h
 FILE: ../../../third_party/freetype2/include/freetype/config/ftoption.h
 FILE: ../../../third_party/freetype2/include/freetype/config/ftstdlib.h
+FILE: ../../../third_party/freetype2/include/freetype/config/integer-types.h
+FILE: ../../../third_party/freetype2/include/freetype/config/mac-support.h
+FILE: ../../../third_party/freetype2/include/freetype/config/public-macros.h
 FILE: ../../../third_party/freetype2/include/freetype/freetype.h
 FILE: ../../../third_party/freetype2/include/freetype/ftadvanc.h
 FILE: ../../../third_party/freetype2/include/freetype/ftbbox.h
@@ -12318,6 +12319,7 @@
 FILE: ../../../third_party/freetype2/include/freetype/ftcache.h
 FILE: ../../../third_party/freetype2/include/freetype/ftchapters.h
 FILE: ../../../third_party/freetype2/include/freetype/ftcid.h
+FILE: ../../../third_party/freetype2/include/freetype/ftcolor.h
 FILE: ../../../third_party/freetype2/include/freetype/ftdriver.h
 FILE: ../../../third_party/freetype2/include/freetype/fterrdef.h
 FILE: ../../../third_party/freetype2/include/freetype/fterrors.h
@@ -12351,20 +12353,19 @@
 FILE: ../../../third_party/freetype2/include/freetype/internal/autohint.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/cffotypes.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/cfftypes.h
+FILE: ../../../third_party/freetype2/include/freetype/internal/compiler-macros.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftcalc.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftdebug.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftdrv.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftgloadr.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftmemory.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftobjs.h
-FILE: ../../../third_party/freetype2/include/freetype/internal/ftpic.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftpsprop.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftrfork.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftserv.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftstream.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/fttrace.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/ftvalid.h
-FILE: ../../../third_party/freetype2/include/freetype/internal/internal.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/psaux.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/pshints.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/services/svbdf.h
@@ -12390,14 +12391,14 @@
 FILE: ../../../third_party/freetype2/include/freetype/internal/sfnt.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/t1types.h
 FILE: ../../../third_party/freetype2/include/freetype/internal/tttypes.h
+FILE: ../../../third_party/freetype2/include/freetype/internal/wofftypes.h
 FILE: ../../../third_party/freetype2/include/freetype/t1tables.h
 FILE: ../../../third_party/freetype2/include/freetype/ttnameid.h
 FILE: ../../../third_party/freetype2/include/freetype/tttables.h
 FILE: ../../../third_party/freetype2/include/freetype/tttags.h
 FILE: ../../../third_party/freetype2/include/ft2build.h
+FILE: ../../../third_party/freetype2/meson.build
 FILE: ../../../third_party/freetype2/modules.cfg
-FILE: ../../../third_party/freetype2/src/Jamfile
-FILE: ../../../third_party/freetype2/src/autofit/Jamfile
 FILE: ../../../third_party/freetype2/src/autofit/afangles.c
 FILE: ../../../third_party/freetype2/src/autofit/afangles.h
 FILE: ../../../third_party/freetype2/src/autofit/afblue.c
@@ -12425,8 +12426,6 @@
 FILE: ../../../third_party/freetype2/src/autofit/afloader.h
 FILE: ../../../third_party/freetype2/src/autofit/afmodule.c
 FILE: ../../../third_party/freetype2/src/autofit/afmodule.h
-FILE: ../../../third_party/freetype2/src/autofit/afpic.c
-FILE: ../../../third_party/freetype2/src/autofit/afpic.h
 FILE: ../../../third_party/freetype2/src/autofit/afranges.c
 FILE: ../../../third_party/freetype2/src/autofit/afranges.h
 FILE: ../../../third_party/freetype2/src/autofit/afscript.h
@@ -12438,11 +12437,7 @@
 FILE: ../../../third_party/freetype2/src/autofit/afwarp.h
 FILE: ../../../third_party/freetype2/src/autofit/afwrtsys.h
 FILE: ../../../third_party/freetype2/src/autofit/autofit.c
-FILE: ../../../third_party/freetype2/src/base/Jamfile
-FILE: ../../../third_party/freetype2/src/base/basepic.c
-FILE: ../../../third_party/freetype2/src/base/basepic.h
 FILE: ../../../third_party/freetype2/src/base/ftadvanc.c
-FILE: ../../../third_party/freetype2/src/base/ftapi.c
 FILE: ../../../third_party/freetype2/src/base/ftbase.c
 FILE: ../../../third_party/freetype2/src/base/ftbase.h
 FILE: ../../../third_party/freetype2/src/base/ftbbox.c
@@ -12450,8 +12445,10 @@
 FILE: ../../../third_party/freetype2/src/base/ftbitmap.c
 FILE: ../../../third_party/freetype2/src/base/ftcalc.c
 FILE: ../../../third_party/freetype2/src/base/ftcid.c
+FILE: ../../../third_party/freetype2/src/base/ftcolor.c
 FILE: ../../../third_party/freetype2/src/base/ftdbgmem.c
 FILE: ../../../third_party/freetype2/src/base/ftdebug.c
+FILE: ../../../third_party/freetype2/src/base/fterrors.c
 FILE: ../../../third_party/freetype2/src/base/ftfntfmt.c
 FILE: ../../../third_party/freetype2/src/base/ftfstype.c
 FILE: ../../../third_party/freetype2/src/base/ftgasp.c
@@ -12467,7 +12464,6 @@
 FILE: ../../../third_party/freetype2/src/base/ftoutln.c
 FILE: ../../../third_party/freetype2/src/base/ftpatent.c
 FILE: ../../../third_party/freetype2/src/base/ftpfr.c
-FILE: ../../../third_party/freetype2/src/base/ftpic.c
 FILE: ../../../third_party/freetype2/src/base/ftpsprop.c
 FILE: ../../../third_party/freetype2/src/base/ftrfork.c
 FILE: ../../../third_party/freetype2/src/base/ftsnames.c
@@ -12482,10 +12478,7 @@
 FILE: ../../../third_party/freetype2/src/base/ftwinfnt.c
 FILE: ../../../third_party/freetype2/src/base/md5.c
 FILE: ../../../third_party/freetype2/src/base/md5.h
-FILE: ../../../third_party/freetype2/src/bdf/Jamfile
-FILE: ../../../third_party/freetype2/src/bzip2/Jamfile
 FILE: ../../../third_party/freetype2/src/bzip2/ftbzip2.c
-FILE: ../../../third_party/freetype2/src/cache/Jamfile
 FILE: ../../../third_party/freetype2/src/cache/ftcache.c
 FILE: ../../../third_party/freetype2/src/cache/ftcbasic.c
 FILE: ../../../third_party/freetype2/src/cache/ftccache.c
@@ -12503,7 +12496,6 @@
 FILE: ../../../third_party/freetype2/src/cache/ftcmru.h
 FILE: ../../../third_party/freetype2/src/cache/ftcsbits.c
 FILE: ../../../third_party/freetype2/src/cache/ftcsbits.h
-FILE: ../../../third_party/freetype2/src/cff/Jamfile
 FILE: ../../../third_party/freetype2/src/cff/cff.c
 FILE: ../../../third_party/freetype2/src/cff/cffcmap.c
 FILE: ../../../third_party/freetype2/src/cff/cffcmap.h
@@ -12518,10 +12510,7 @@
 FILE: ../../../third_party/freetype2/src/cff/cffobjs.h
 FILE: ../../../third_party/freetype2/src/cff/cffparse.c
 FILE: ../../../third_party/freetype2/src/cff/cffparse.h
-FILE: ../../../third_party/freetype2/src/cff/cffpic.c
-FILE: ../../../third_party/freetype2/src/cff/cffpic.h
 FILE: ../../../third_party/freetype2/src/cff/cfftoken.h
-FILE: ../../../third_party/freetype2/src/cid/Jamfile
 FILE: ../../../third_party/freetype2/src/cid/ciderrs.h
 FILE: ../../../third_party/freetype2/src/cid/cidgload.c
 FILE: ../../../third_party/freetype2/src/cid/cidgload.h
@@ -12535,7 +12524,6 @@
 FILE: ../../../third_party/freetype2/src/cid/cidriver.h
 FILE: ../../../third_party/freetype2/src/cid/cidtoken.h
 FILE: ../../../third_party/freetype2/src/cid/type1cid.c
-FILE: ../../../third_party/freetype2/src/gxvalid/Jamfile
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvalid.c
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvalid.h
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvbsln.c
@@ -12567,13 +12555,10 @@
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvopbd.c
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvprop.c
 FILE: ../../../third_party/freetype2/src/gxvalid/gxvtrak.c
-FILE: ../../../third_party/freetype2/src/gzip/Jamfile
 FILE: ../../../third_party/freetype2/src/gzip/ftgzip.c
-FILE: ../../../third_party/freetype2/src/lzw/Jamfile
 FILE: ../../../third_party/freetype2/src/lzw/ftlzw.c
 FILE: ../../../third_party/freetype2/src/lzw/ftzopen.c
 FILE: ../../../third_party/freetype2/src/lzw/ftzopen.h
-FILE: ../../../third_party/freetype2/src/otvalid/Jamfile
 FILE: ../../../third_party/freetype2/src/otvalid/otvalid.c
 FILE: ../../../third_party/freetype2/src/otvalid/otvalid.h
 FILE: ../../../third_party/freetype2/src/otvalid/otvbase.c
@@ -12588,9 +12573,7 @@
 FILE: ../../../third_party/freetype2/src/otvalid/otvmath.c
 FILE: ../../../third_party/freetype2/src/otvalid/otvmod.c
 FILE: ../../../third_party/freetype2/src/otvalid/otvmod.h
-FILE: ../../../third_party/freetype2/src/pcf/Jamfile
 FILE: ../../../third_party/freetype2/src/pcf/pcferror.h
-FILE: ../../../third_party/freetype2/src/pfr/Jamfile
 FILE: ../../../third_party/freetype2/src/pfr/pfr.c
 FILE: ../../../third_party/freetype2/src/pfr/pfrcmap.c
 FILE: ../../../third_party/freetype2/src/pfr/pfrcmap.h
@@ -12606,7 +12589,6 @@
 FILE: ../../../third_party/freetype2/src/pfr/pfrsbit.c
 FILE: ../../../third_party/freetype2/src/pfr/pfrsbit.h
 FILE: ../../../third_party/freetype2/src/pfr/pfrtypes.h
-FILE: ../../../third_party/freetype2/src/psaux/Jamfile
 FILE: ../../../third_party/freetype2/src/psaux/afmparse.c
 FILE: ../../../third_party/freetype2/src/psaux/afmparse.h
 FILE: ../../../third_party/freetype2/src/psaux/cffdecode.c
@@ -12644,7 +12626,6 @@
 FILE: ../../../third_party/freetype2/src/psaux/t1cmap.h
 FILE: ../../../third_party/freetype2/src/psaux/t1decode.c
 FILE: ../../../third_party/freetype2/src/psaux/t1decode.h
-FILE: ../../../third_party/freetype2/src/pshinter/Jamfile
 FILE: ../../../third_party/freetype2/src/pshinter/pshalgo.c
 FILE: ../../../third_party/freetype2/src/pshinter/pshalgo.h
 FILE: ../../../third_party/freetype2/src/pshinter/pshglob.c
@@ -12653,19 +12634,13 @@
 FILE: ../../../third_party/freetype2/src/pshinter/pshmod.c
 FILE: ../../../third_party/freetype2/src/pshinter/pshmod.h
 FILE: ../../../third_party/freetype2/src/pshinter/pshnterr.h
-FILE: ../../../third_party/freetype2/src/pshinter/pshpic.c
-FILE: ../../../third_party/freetype2/src/pshinter/pshpic.h
 FILE: ../../../third_party/freetype2/src/pshinter/pshrec.c
 FILE: ../../../third_party/freetype2/src/pshinter/pshrec.h
-FILE: ../../../third_party/freetype2/src/psnames/Jamfile
 FILE: ../../../third_party/freetype2/src/psnames/psmodule.c
 FILE: ../../../third_party/freetype2/src/psnames/psmodule.h
 FILE: ../../../third_party/freetype2/src/psnames/psnamerr.h
 FILE: ../../../third_party/freetype2/src/psnames/psnames.c
-FILE: ../../../third_party/freetype2/src/psnames/pspic.c
-FILE: ../../../third_party/freetype2/src/psnames/pspic.h
 FILE: ../../../third_party/freetype2/src/psnames/pstables.h
-FILE: ../../../third_party/freetype2/src/raster/Jamfile
 FILE: ../../../third_party/freetype2/src/raster/ftmisc.h
 FILE: ../../../third_party/freetype2/src/raster/ftraster.c
 FILE: ../../../third_party/freetype2/src/raster/ftraster.h
@@ -12673,24 +12648,27 @@
 FILE: ../../../third_party/freetype2/src/raster/ftrend1.h
 FILE: ../../../third_party/freetype2/src/raster/raster.c
 FILE: ../../../third_party/freetype2/src/raster/rasterrs.h
-FILE: ../../../third_party/freetype2/src/raster/rastpic.c
-FILE: ../../../third_party/freetype2/src/raster/rastpic.h
-FILE: ../../../third_party/freetype2/src/sfnt/Jamfile
 FILE: ../../../third_party/freetype2/src/sfnt/pngshim.c
 FILE: ../../../third_party/freetype2/src/sfnt/pngshim.h
 FILE: ../../../third_party/freetype2/src/sfnt/sfdriver.c
 FILE: ../../../third_party/freetype2/src/sfnt/sfdriver.h
 FILE: ../../../third_party/freetype2/src/sfnt/sferrors.h
 FILE: ../../../third_party/freetype2/src/sfnt/sfnt.c
-FILE: ../../../third_party/freetype2/src/sfnt/sfntpic.c
-FILE: ../../../third_party/freetype2/src/sfnt/sfntpic.h
 FILE: ../../../third_party/freetype2/src/sfnt/sfobjs.c
 FILE: ../../../third_party/freetype2/src/sfnt/sfobjs.h
+FILE: ../../../third_party/freetype2/src/sfnt/sfwoff.c
+FILE: ../../../third_party/freetype2/src/sfnt/sfwoff.h
+FILE: ../../../third_party/freetype2/src/sfnt/sfwoff2.c
+FILE: ../../../third_party/freetype2/src/sfnt/sfwoff2.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttbdf.c
 FILE: ../../../third_party/freetype2/src/sfnt/ttbdf.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttcmap.c
 FILE: ../../../third_party/freetype2/src/sfnt/ttcmap.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttcmapc.h
+FILE: ../../../third_party/freetype2/src/sfnt/ttcolr.c
+FILE: ../../../third_party/freetype2/src/sfnt/ttcolr.h
+FILE: ../../../third_party/freetype2/src/sfnt/ttcpal.c
+FILE: ../../../third_party/freetype2/src/sfnt/ttcpal.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttkern.c
 FILE: ../../../third_party/freetype2/src/sfnt/ttkern.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttload.c
@@ -12701,16 +12679,14 @@
 FILE: ../../../third_party/freetype2/src/sfnt/ttpost.h
 FILE: ../../../third_party/freetype2/src/sfnt/ttsbit.c
 FILE: ../../../third_party/freetype2/src/sfnt/ttsbit.h
-FILE: ../../../third_party/freetype2/src/smooth/Jamfile
+FILE: ../../../third_party/freetype2/src/sfnt/woff2tags.c
+FILE: ../../../third_party/freetype2/src/sfnt/woff2tags.h
 FILE: ../../../third_party/freetype2/src/smooth/ftgrays.c
 FILE: ../../../third_party/freetype2/src/smooth/ftgrays.h
 FILE: ../../../third_party/freetype2/src/smooth/ftsmerrs.h
 FILE: ../../../third_party/freetype2/src/smooth/ftsmooth.c
 FILE: ../../../third_party/freetype2/src/smooth/ftsmooth.h
-FILE: ../../../third_party/freetype2/src/smooth/ftspic.c
-FILE: ../../../third_party/freetype2/src/smooth/ftspic.h
 FILE: ../../../third_party/freetype2/src/smooth/smooth.c
-FILE: ../../../third_party/freetype2/src/truetype/Jamfile
 FILE: ../../../third_party/freetype2/src/truetype/truetype.c
 FILE: ../../../third_party/freetype2/src/truetype/ttdriver.c
 FILE: ../../../third_party/freetype2/src/truetype/ttdriver.h
@@ -12723,13 +12699,10 @@
 FILE: ../../../third_party/freetype2/src/truetype/ttinterp.h
 FILE: ../../../third_party/freetype2/src/truetype/ttobjs.c
 FILE: ../../../third_party/freetype2/src/truetype/ttobjs.h
-FILE: ../../../third_party/freetype2/src/truetype/ttpic.c
-FILE: ../../../third_party/freetype2/src/truetype/ttpic.h
 FILE: ../../../third_party/freetype2/src/truetype/ttpload.c
 FILE: ../../../third_party/freetype2/src/truetype/ttpload.h
 FILE: ../../../third_party/freetype2/src/truetype/ttsubpix.c
 FILE: ../../../third_party/freetype2/src/truetype/ttsubpix.h
-FILE: ../../../third_party/freetype2/src/type1/Jamfile
 FILE: ../../../third_party/freetype2/src/type1/t1afm.c
 FILE: ../../../third_party/freetype2/src/type1/t1afm.h
 FILE: ../../../third_party/freetype2/src/type1/t1driver.c
@@ -12745,7 +12718,6 @@
 FILE: ../../../third_party/freetype2/src/type1/t1parse.h
 FILE: ../../../third_party/freetype2/src/type1/t1tokens.h
 FILE: ../../../third_party/freetype2/src/type1/type1.c
-FILE: ../../../third_party/freetype2/src/type42/Jamfile
 FILE: ../../../third_party/freetype2/src/type42/t42drivr.c
 FILE: ../../../third_party/freetype2/src/type42/t42drivr.h
 FILE: ../../../third_party/freetype2/src/type42/t42error.h
@@ -12755,7 +12727,6 @@
 FILE: ../../../third_party/freetype2/src/type42/t42parse.h
 FILE: ../../../third_party/freetype2/src/type42/t42types.h
 FILE: ../../../third_party/freetype2/src/type42/type42.c
-FILE: ../../../third_party/freetype2/src/winfonts/Jamfile
 FILE: ../../../third_party/freetype2/src/winfonts/fnterrs.h
 FILE: ../../../third_party/freetype2/src/winfonts/winfnt.c
 FILE: ../../../third_party/freetype2/src/winfonts/winfnt.h
diff --git a/ci/licenses_golden/tool_signature b/ci/licenses_golden/tool_signature
index 3b3f9ee..35e8a87 100644
--- a/ci/licenses_golden/tool_signature
+++ b/ci/licenses_golden/tool_signature
@@ -1,2 +1,2 @@
-Signature: 164585dad7317491c0f98b96519f87c7
+Signature: b8646e680ea27ee6e0e97676ebbe5975
 
diff --git a/tools/licenses/lib/patterns.dart b/tools/licenses/lib/patterns.dart
index aa1d48a..b09bbd9 100644
--- a/tools/licenses/lib/patterns.dart
+++ b/tools/licenses/lib/patterns.dart
@@ -85,6 +85,7 @@
   RegExp(r'^ *For more info read ([^ ]+)$', caseSensitive: false),
   RegExp(r'^(?:Google )?Author\(?s?\)?: .+', caseSensitive: false),
   RegExp(r'^Written by .+', caseSensitive: false),
+  RegExp(r'^Originally written by .+', caseSensitive: false),
   RegExp(r'^Based on$', caseSensitive: false),
   RegExp(r"^based on (?:code in )?['`][^'`]+['`]$", caseSensitive: false),
   RegExp(r'^Based on .+, written by .+, [0-9]+\.$', caseSensitive: false),