summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/freebsd/0001-Patch-the-FreeBSD-strto-u-ll-functions-to-work-insid.patch158
-rw-r--r--src/3rdparty/freebsd/LICENSE31
-rw-r--r--src/3rdparty/freebsd/qt_attribution.json18
-rw-r--r--src/3rdparty/freebsd/strtoll.c134
-rw-r--r--src/3rdparty/freebsd/strtoull.c112
-rw-r--r--src/3rdparty/freetype/README31
-rw-r--r--src/3rdparty/freetype/builds/unix/ftconfig.h504
-rw-r--r--src/3rdparty/freetype/builds/unix/ftsystem.c15
-rw-r--r--src/3rdparty/freetype/docs/CHANGES105
-rw-r--r--src/3rdparty/freetype/docs/CUSTOMIZE2
-rw-r--r--src/3rdparty/freetype/docs/DEBUG135
-rw-r--r--src/3rdparty/freetype/docs/TODO2
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftconfig.h532
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftheader.h64
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftmodule.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftoption.h32
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftstdlib.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/config/integer-types.h245
-rw-r--r--src/3rdparty/freetype/include/freetype/config/mac-support.h49
-rw-r--r--src/3rdparty/freetype/include/freetype/config/public-macros.h120
-rw-r--r--src/3rdparty/freetype/include/freetype/freetype.h82
-rw-r--r--src/3rdparty/freetype/include/freetype/ftadvanc.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftautoh.h450
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbbox.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbdf.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbitmap.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbzip2.h24
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcache.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcffdrv.h262
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcid.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcolor.h20
-rw-r--r--src/3rdparty/freetype/include/freetype/ftdriver.h11
-rw-r--r--src/3rdparty/freetype/include/freetype/fterrdef.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/fterrors.h23
-rw-r--r--src/3rdparty/freetype/include/freetype/ftfntfmt.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgasp.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftglyph.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgxval.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgzip.h24
-rw-r--r--src/3rdparty/freetype/include/freetype/ftimage.h41
-rw-r--r--src/3rdparty/freetype/include/freetype/ftincrem.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlcdfil.h34
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlist.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlzw.h24
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmac.h3
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmm.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmodapi.h9
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmoderr.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/ftotval.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftoutln.h21
-rw-r--r--src/3rdparty/freetype/include/freetype/ftparams.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftpfr.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftrender.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsizes.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsnames.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/ftstroke.h43
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsynth.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsystem.h3
-rw-r--r--src/3rdparty/freetype/include/freetype/fttrigon.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/ftttdrv.h310
-rw-r--r--src/3rdparty/freetype/include/freetype/fttypes.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftwinfnt.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/autohint.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/cffotypes.h13
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/cfftypes.h15
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/compiler-macros.h307
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftcalc.h9
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdebug.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdriver.h409
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdrv.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftgloadr.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/fthash.h3
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftmemory.h23
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftobjs.h33
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftpic.h71
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftpsprop.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftrfork.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftserv.h30
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftstream.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/fttrace.h3
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftvalid.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/internal.h67
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/psaux.h17
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/pshints.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svbdf.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svcfftl.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svcid.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svfntfmt.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svgldict.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svgxval.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svkern.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svmetric.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svmm.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svotval.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpfr.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpostnm.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svprop.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpscmap.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svsfnt.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svtteng.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svttglyf.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svwinfnt.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/sfnt.h9
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/t1types.h13
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/tttypes.h11
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/wofftypes.h208
-rw-r--r--src/3rdparty/freetype/include/freetype/t1tables.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/ttnameid.h3
-rw-r--r--src/3rdparty/freetype/include/freetype/tttables.h5
-rw-r--r--src/3rdparty/freetype/include/freetype/tttags.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/ttunpat.h60
-rw-r--r--src/3rdparty/freetype/include/ft2build.h10
-rw-r--r--src/3rdparty/freetype/qt_attribution.json4
-rw-r--r--src/3rdparty/freetype/src/Jamfile19
-rw-r--r--src/3rdparty/freetype/src/autofit/Jamfile53
-rw-r--r--src/3rdparty/freetype/src/autofit/afangles.c2
-rw-r--r--src/3rdparty/freetype/src/autofit/afblue.c65
-rw-r--r--src/3rdparty/freetype/src/autofit/afblue.cin2
-rw-r--r--src/3rdparty/freetype/src/autofit/afblue.dat79
-rw-r--r--src/3rdparty/freetype/src/autofit/afblue.h164
-rw-r--r--src/3rdparty/freetype/src/autofit/afblue.hin2
-rw-r--r--src/3rdparty/freetype/src/autofit/afcjk.c25
-rw-r--r--src/3rdparty/freetype/src/autofit/afcjk.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afcover.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afdummy.c2
-rw-r--r--src/3rdparty/freetype/src/autofit/afdummy.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/aferrors.h6
-rw-r--r--src/3rdparty/freetype/src/autofit/afglobal.c6
-rw-r--r--src/3rdparty/freetype/src/autofit/afglobal.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afhints.c6
-rw-r--r--src/3rdparty/freetype/src/autofit/afhints.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afindic.c2
-rw-r--r--src/3rdparty/freetype/src/autofit/afindic.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin.c61
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin2.c4
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin2.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afloader.c4
-rw-r--r--src/3rdparty/freetype/src/autofit/afloader.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afmodule.c16
-rw-r--r--src/3rdparty/freetype/src/autofit/afmodule.h8
-rw-r--r--src/3rdparty/freetype/src/autofit/afpic.c152
-rw-r--r--src/3rdparty/freetype/src/autofit/afpic.h105
-rw-r--r--src/3rdparty/freetype/src/autofit/afranges.c26
-rw-r--r--src/3rdparty/freetype/src/autofit/afranges.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afscript.h14
-rw-r--r--src/3rdparty/freetype/src/autofit/afshaper.c7
-rw-r--r--src/3rdparty/freetype/src/autofit/afshaper.h5
-rw-r--r--src/3rdparty/freetype/src/autofit/afstyles.h16
-rw-r--r--src/3rdparty/freetype/src/autofit/aftypes.h11
-rw-r--r--src/3rdparty/freetype/src/autofit/afwarp.c2
-rw-r--r--src/3rdparty/freetype/src/autofit/afwarp.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/afwrtsys.h2
-rw-r--r--src/3rdparty/freetype/src/autofit/autofit.c3
-rw-r--r--src/3rdparty/freetype/src/autofit/hbshim.c546
-rw-r--r--src/3rdparty/freetype/src/autofit/hbshim.h56
-rw-r--r--src/3rdparty/freetype/src/autofit/module.mk2
-rw-r--r--src/3rdparty/freetype/src/autofit/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/base/Jamfile90
-rw-r--r--src/3rdparty/freetype/src/base/basepic.c108
-rw-r--r--src/3rdparty/freetype/src/base/basepic.h91
-rw-r--r--src/3rdparty/freetype/src/base/ftadvanc.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftapi.c121
-rw-r--r--src/3rdparty/freetype/src/base/ftbase.c3
-rw-r--r--src/3rdparty/freetype/src/base/ftbase.h9
-rw-r--r--src/3rdparty/freetype/src/base/ftbbox.c23
-rw-r--r--src/3rdparty/freetype/src/base/ftbdf.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftbitmap.c17
-rw-r--r--src/3rdparty/freetype/src/base/ftcalc.c13
-rw-r--r--src/3rdparty/freetype/src/base/ftcid.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftcolor.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftdbgmem.c18
-rw-r--r--src/3rdparty/freetype/src/base/ftdebug.c9
-rw-r--r--src/3rdparty/freetype/src/base/fterrors.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftfntfmt.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftfstype.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftgasp.c7
-rw-r--r--src/3rdparty/freetype/src/base/ftgloadr.c32
-rw-r--r--src/3rdparty/freetype/src/base/ftglyph.c15
-rw-r--r--src/3rdparty/freetype/src/base/ftgxval.c9
-rw-r--r--src/3rdparty/freetype/src/base/fthash.c5
-rw-r--r--src/3rdparty/freetype/src/base/ftinit.c8
-rw-r--r--src/3rdparty/freetype/src/base/ftlcdfil.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftmac.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftmm.c13
-rw-r--r--src/3rdparty/freetype/src/base/ftobjs.c114
-rw-r--r--src/3rdparty/freetype/src/base/ftotval.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftoutln.c22
-rw-r--r--src/3rdparty/freetype/src/base/ftpatent.c15
-rw-r--r--src/3rdparty/freetype/src/base/ftpfr.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftpic.c55
-rw-r--r--src/3rdparty/freetype/src/base/ftpsprop.c17
-rw-r--r--src/3rdparty/freetype/src/base/ftrfork.c15
-rw-r--r--src/3rdparty/freetype/src/base/ftsnames.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftstream.c9
-rw-r--r--src/3rdparty/freetype/src/base/ftstroke.c228
-rw-r--r--src/3rdparty/freetype/src/base/ftsynth.c15
-rw-r--r--src/3rdparty/freetype/src/base/ftsystem.c12
-rw-r--r--src/3rdparty/freetype/src/base/fttrigon.c9
-rw-r--r--src/3rdparty/freetype/src/base/fttype1.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftutil.c11
-rw-r--r--src/3rdparty/freetype/src/base/ftver.rc8
-rw-r--r--src/3rdparty/freetype/src/base/ftwinfnt.c11
-rw-r--r--src/3rdparty/freetype/src/base/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/bdf/Jamfile31
-rw-r--r--src/3rdparty/freetype/src/bdf/bdf.c1
-rw-r--r--src/3rdparty/freetype/src/bdf/bdf.h7
-rw-r--r--src/3rdparty/freetype/src/bdf/bdfdrivr.c44
-rw-r--r--src/3rdparty/freetype/src/bdf/bdfdrivr.h3
-rw-r--r--src/3rdparty/freetype/src/bdf/bdferror.h4
-rw-r--r--src/3rdparty/freetype/src/bdf/bdflib.c9
-rw-r--r--src/3rdparty/freetype/src/bzip2/Jamfile18
-rw-r--r--src/3rdparty/freetype/src/bzip2/ftbzip2.c15
-rw-r--r--src/3rdparty/freetype/src/bzip2/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/cache/Jamfile37
-rw-r--r--src/3rdparty/freetype/src/cache/ftcache.c3
-rw-r--r--src/3rdparty/freetype/src/cache/ftcbasic.c17
-rw-r--r--src/3rdparty/freetype/src/cache/ftccache.c7
-rw-r--r--src/3rdparty/freetype/src/cache/ftccache.h4
-rw-r--r--src/3rdparty/freetype/src/cache/ftccback.h7
-rw-r--r--src/3rdparty/freetype/src/cache/ftccmap.c13
-rw-r--r--src/3rdparty/freetype/src/cache/ftcerror.h6
-rw-r--r--src/3rdparty/freetype/src/cache/ftcglyph.c9
-rw-r--r--src/3rdparty/freetype/src/cache/ftcglyph.h3
-rw-r--r--src/3rdparty/freetype/src/cache/ftcimage.c9
-rw-r--r--src/3rdparty/freetype/src/cache/ftcimage.h5
-rw-r--r--src/3rdparty/freetype/src/cache/ftcmanag.c11
-rw-r--r--src/3rdparty/freetype/src/cache/ftcmanag.h5
-rw-r--r--src/3rdparty/freetype/src/cache/ftcmru.c9
-rw-r--r--src/3rdparty/freetype/src/cache/ftcmru.h6
-rw-r--r--src/3rdparty/freetype/src/cache/ftcsbits.c11
-rw-r--r--src/3rdparty/freetype/src/cache/ftcsbits.h5
-rw-r--r--src/3rdparty/freetype/src/cache/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/cff/Jamfile36
-rw-r--r--src/3rdparty/freetype/src/cff/cf2arrst.c241
-rw-r--r--src/3rdparty/freetype/src/cff/cf2arrst.h100
-rw-r--r--src/3rdparty/freetype/src/cff/cf2blues.c579
-rw-r--r--src/3rdparty/freetype/src/cff/cf2blues.h185
-rw-r--r--src/3rdparty/freetype/src/cff/cf2error.c52
-rw-r--r--src/3rdparty/freetype/src/cff/cf2error.h119
-rw-r--r--src/3rdparty/freetype/src/cff/cf2fixed.h95
-rw-r--r--src/3rdparty/freetype/src/cff/cf2font.c512
-rw-r--r--src/3rdparty/freetype/src/cff/cf2font.h121
-rw-r--r--src/3rdparty/freetype/src/cff/cf2ft.c700
-rw-r--r--src/3rdparty/freetype/src/cff/cf2ft.h147
-rw-r--r--src/3rdparty/freetype/src/cff/cf2glue.h144
-rw-r--r--src/3rdparty/freetype/src/cff/cf2hints.c1847
-rw-r--r--src/3rdparty/freetype/src/cff/cf2hints.h289
-rw-r--r--src/3rdparty/freetype/src/cff/cf2intrp.c1571
-rw-r--r--src/3rdparty/freetype/src/cff/cf2intrp.h83
-rw-r--r--src/3rdparty/freetype/src/cff/cf2read.c112
-rw-r--r--src/3rdparty/freetype/src/cff/cf2read.h68
-rw-r--r--src/3rdparty/freetype/src/cff/cf2stack.c205
-rw-r--r--src/3rdparty/freetype/src/cff/cf2stack.h106
-rw-r--r--src/3rdparty/freetype/src/cff/cf2types.h78
-rw-r--r--src/3rdparty/freetype/src/cff/cff.c3
-rw-r--r--src/3rdparty/freetype/src/cff/cffcmap.c5
-rw-r--r--src/3rdparty/freetype/src/cff/cffcmap.h8
-rw-r--r--src/3rdparty/freetype/src/cff/cffdrivr.c39
-rw-r--r--src/3rdparty/freetype/src/cff/cffdrivr.h5
-rw-r--r--src/3rdparty/freetype/src/cff/cfferrs.h6
-rw-r--r--src/3rdparty/freetype/src/cff/cffgload.c27
-rw-r--r--src/3rdparty/freetype/src/cff/cffgload.h7
-rw-r--r--src/3rdparty/freetype/src/cff/cffload.c62
-rw-r--r--src/3rdparty/freetype/src/cff/cffload.h7
-rw-r--r--src/3rdparty/freetype/src/cff/cffobjs.c101
-rw-r--r--src/3rdparty/freetype/src/cff/cffobjs.h3
-rw-r--r--src/3rdparty/freetype/src/cff/cffparse.c31
-rw-r--r--src/3rdparty/freetype/src/cff/cffparse.h7
-rw-r--r--src/3rdparty/freetype/src/cff/cffpic.c138
-rw-r--r--src/3rdparty/freetype/src/cff/cffpic.h121
-rw-r--r--src/3rdparty/freetype/src/cff/cfftoken.h2
-rw-r--r--src/3rdparty/freetype/src/cff/cfftypes.h284
-rw-r--r--src/3rdparty/freetype/src/cff/module.mk2
-rw-r--r--src/3rdparty/freetype/src/cff/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/cid/Jamfile34
-rw-r--r--src/3rdparty/freetype/src/cid/ciderrs.h6
-rw-r--r--src/3rdparty/freetype/src/cid/cidgload.c19
-rw-r--r--src/3rdparty/freetype/src/cid/cidgload.h3
-rw-r--r--src/3rdparty/freetype/src/cid/cidload.c20
-rw-r--r--src/3rdparty/freetype/src/cid/cidload.h5
-rw-r--r--src/3rdparty/freetype/src/cid/cidobjs.c18
-rw-r--r--src/3rdparty/freetype/src/cid/cidobjs.h6
-rw-r--r--src/3rdparty/freetype/src/cid/cidparse.c9
-rw-r--r--src/3rdparty/freetype/src/cid/cidparse.h9
-rw-r--r--src/3rdparty/freetype/src/cid/cidriver.c21
-rw-r--r--src/3rdparty/freetype/src/cid/cidriver.h5
-rw-r--r--src/3rdparty/freetype/src/cid/cidtoken.h2
-rw-r--r--src/3rdparty/freetype/src/cid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/cid/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/cid/type1cid.c3
-rw-r--r--src/3rdparty/freetype/src/gxvalid/Jamfile52
-rw-r--r--src/3rdparty/freetype/src/gxvalid/README2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvalid.c3
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvalid.h11
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvbsln.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvcommn.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvcommn.h7
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxverror.h6
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvfeat.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvfeat.h2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvfgen.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvjust.c4
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvkern.c6
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvlcar.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmod.c13
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmod.h5
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort.h9
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort0.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort1.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort2.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort4.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort5.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx.h9
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx0.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx1.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx2.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx4.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx5.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvopbd.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvprop.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvtrak.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/gzip/Jamfile16
-rw-r--r--src/3rdparty/freetype/src/gzip/ftgzip.c25
-rw-r--r--src/3rdparty/freetype/src/gzip/infutil.h2
-rw-r--r--src/3rdparty/freetype/src/gzip/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/gzip/zconf.h284
-rw-r--r--src/3rdparty/freetype/src/lzw/Jamfile16
-rw-r--r--src/3rdparty/freetype/src/lzw/ftlzw.c15
-rw-r--r--src/3rdparty/freetype/src/lzw/ftzopen.c8
-rw-r--r--src/3rdparty/freetype/src/lzw/ftzopen.h8
-rw-r--r--src/3rdparty/freetype/src/lzw/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/otvalid/Jamfile37
-rw-r--r--src/3rdparty/freetype/src/otvalid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvalid.c3
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvalid.h11
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvbase.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvcommn.c5
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvcommn.h5
-rw-r--r--src/3rdparty/freetype/src/otvalid/otverror.h6
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgdef.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgpos.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgpos.h2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgsub.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvjstf.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvmath.c2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvmod.c13
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvmod.h5
-rw-r--r--src/3rdparty/freetype/src/otvalid/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/pcf/Jamfile32
-rw-r--r--src/3rdparty/freetype/src/pcf/pcf.c1
-rw-r--r--src/3rdparty/freetype/src/pcf/pcf.h5
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfdrivr.c36
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfdrivr.h3
-rw-r--r--src/3rdparty/freetype/src/pcf/pcferror.h4
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfread.c27
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfread.h1
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfutil.c1
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfutil.h2
-rw-r--r--src/3rdparty/freetype/src/pfr/Jamfile35
-rw-r--r--src/3rdparty/freetype/src/pfr/module.mk2
-rw-r--r--src/3rdparty/freetype/src/pfr/pfr.c3
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrcmap.c5
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrcmap.h5
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrdrivr.c11
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrdrivr.h5
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrerror.h6
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrgload.c8
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrgload.h2
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrload.c6
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrload.h4
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrobjs.c10
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrobjs.h2
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrsbit.c8
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrsbit.h2
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrtypes.h5
-rw-r--r--src/3rdparty/freetype/src/pfr/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/psaux/Jamfile45
-rw-r--r--src/3rdparty/freetype/src/psaux/afmparse.c9
-rw-r--r--src/3rdparty/freetype/src/psaux/afmparse.h5
-rw-r--r--src/3rdparty/freetype/src/psaux/cffdecode.c16
-rw-r--r--src/3rdparty/freetype/src/psaux/cffdecode.h5
-rw-r--r--src/3rdparty/freetype/src/psaux/module.mk2
-rw-r--r--src/3rdparty/freetype/src/psaux/psarrst.c2
-rw-r--r--src/3rdparty/freetype/src/psaux/psaux.c3
-rw-r--r--src/3rdparty/freetype/src/psaux/psauxerr.h6
-rw-r--r--src/3rdparty/freetype/src/psaux/psauxmod.c11
-rw-r--r--src/3rdparty/freetype/src/psaux/psauxmod.h21
-rw-r--r--src/3rdparty/freetype/src/psaux/psblues.c2
-rw-r--r--src/3rdparty/freetype/src/psaux/psconv.c7
-rw-r--r--src/3rdparty/freetype/src/psaux/psconv.h5
-rw-r--r--src/3rdparty/freetype/src/psaux/pserror.h5
-rw-r--r--src/3rdparty/freetype/src/psaux/psfont.c3
-rw-r--r--src/3rdparty/freetype/src/psaux/psfont.h2
-rw-r--r--src/3rdparty/freetype/src/psaux/psft.c16
-rw-r--r--src/3rdparty/freetype/src/psaux/psft.h6
-rw-r--r--src/3rdparty/freetype/src/psaux/pshints.c4
-rw-r--r--src/3rdparty/freetype/src/psaux/psintrp.c26
-rw-r--r--src/3rdparty/freetype/src/psaux/psobjs.c19
-rw-r--r--src/3rdparty/freetype/src/psaux/psobjs.h7
-rw-r--r--src/3rdparty/freetype/src/psaux/psread.c2
-rw-r--r--src/3rdparty/freetype/src/psaux/psstack.c14
-rw-r--r--src/3rdparty/freetype/src/psaux/psstack.h1
-rw-r--r--src/3rdparty/freetype/src/psaux/pstypes.h3
-rw-r--r--src/3rdparty/freetype/src/psaux/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/psaux/t1cmap.c4
-rw-r--r--src/3rdparty/freetype/src/psaux/t1cmap.h7
-rw-r--r--src/3rdparty/freetype/src/psaux/t1decode.c215
-rw-r--r--src/3rdparty/freetype/src/psaux/t1decode.h7
-rw-r--r--src/3rdparty/freetype/src/pshinter/Jamfile34
-rw-r--r--src/3rdparty/freetype/src/pshinter/module.mk2
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshalgo.c9
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshalgo.h2
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshglob.c9
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshglob.h6
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshinter.c3
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshmod.c6
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshmod.h5
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshnterr.h6
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshpic.c76
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshpic.h63
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshrec.c13
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshrec.h5
-rw-r--r--src/3rdparty/freetype/src/pshinter/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/psnames/Jamfile31
-rw-r--r--src/3rdparty/freetype/src/psnames/module.mk2
-rw-r--r--src/3rdparty/freetype/src/psnames/psmodule.c9
-rw-r--r--src/3rdparty/freetype/src/psnames/psmodule.h5
-rw-r--r--src/3rdparty/freetype/src/psnames/psnamerr.h6
-rw-r--r--src/3rdparty/freetype/src/psnames/psnames.c3
-rw-r--r--src/3rdparty/freetype/src/psnames/pspic.c97
-rw-r--r--src/3rdparty/freetype/src/psnames/pspic.h68
-rw-r--r--src/3rdparty/freetype/src/psnames/pstables.h2
-rw-r--r--src/3rdparty/freetype/src/psnames/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/raster/Jamfile32
-rw-r--r--src/3rdparty/freetype/src/raster/ftmisc.h2
-rw-r--r--src/3rdparty/freetype/src/raster/ftraster.c121
-rw-r--r--src/3rdparty/freetype/src/raster/ftraster.h5
-rw-r--r--src/3rdparty/freetype/src/raster/ftrend1.c9
-rw-r--r--src/3rdparty/freetype/src/raster/ftrend1.h5
-rw-r--r--src/3rdparty/freetype/src/raster/module.mk2
-rw-r--r--src/3rdparty/freetype/src/raster/raster.c3
-rw-r--r--src/3rdparty/freetype/src/raster/rasterrs.h6
-rw-r--r--src/3rdparty/freetype/src/raster/rastpic.c89
-rw-r--r--src/3rdparty/freetype/src/raster/rastpic.h63
-rw-r--r--src/3rdparty/freetype/src/raster/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/sfnt/Jamfile42
-rw-r--r--src/3rdparty/freetype/src/sfnt/module.mk2
-rw-r--r--src/3rdparty/freetype/src/sfnt/pngshim.c17
-rw-r--r--src/3rdparty/freetype/src/sfnt/pngshim.h3
-rw-r--r--src/3rdparty/freetype/src/sfnt/rules.mk30
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfdriver.c27
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfdriver.h5
-rw-r--r--src/3rdparty/freetype/src/sfnt/sferrors.h6
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfnt.c5
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfntpic.c143
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfntpic.h112
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfobjs.c61
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfobjs.h7
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfwoff.c21
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfwoff.h7
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfwoff2.c2337
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfwoff2.h75
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttbdf.c9
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttbdf.h5
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcmap.c42
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcmap.h14
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcmapc.h2
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcolr.c17
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcolr.h3
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcpal.c23
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcpal.h3
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttkern.c9
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttkern.h7
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttload.c27
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttload.h7
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttmtx.c11
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttmtx.h7
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttpost.c13
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttpost.h4
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttsbit.c13
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttsbit.h3
-rw-r--r--src/3rdparty/freetype/src/sfnt/woff2tags.c109
-rw-r--r--src/3rdparty/freetype/src/sfnt/woff2tags.h39
-rw-r--r--src/3rdparty/freetype/src/smooth/Jamfile32
-rw-r--r--src/3rdparty/freetype/src/smooth/ftgrays.c13
-rw-r--r--src/3rdparty/freetype/src/smooth/ftgrays.h4
-rw-r--r--src/3rdparty/freetype/src/smooth/ftsmerrs.h6
-rw-r--r--src/3rdparty/freetype/src/smooth/ftsmooth.c702
-rw-r--r--src/3rdparty/freetype/src/smooth/ftsmooth.h9
-rw-r--r--src/3rdparty/freetype/src/smooth/ftspic.c118
-rw-r--r--src/3rdparty/freetype/src/smooth/ftspic.h75
-rw-r--r--src/3rdparty/freetype/src/smooth/module.mk6
-rw-r--r--src/3rdparty/freetype/src/smooth/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/smooth/smooth.c3
-rw-r--r--src/3rdparty/freetype/src/tools/Jamfile5
-rw-r--r--src/3rdparty/freetype/src/tools/afblue.pl2
-rwxr-xr-x[-rw-r--r--]src/3rdparty/freetype/src/tools/chktrcmp.py0
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/content.py672
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/docbeauty.py111
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/docmaker.py115
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/formatter.py228
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/sources.py410
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/tohtml.py725
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/utils.py127
-rw-r--r--src/3rdparty/freetype/src/tools/ftfuzzer/README81
-rw-r--r--src/3rdparty/freetype/src/tools/ftfuzzer/ftfuzzer.cc428
-rw-r--r--src/3rdparty/freetype/src/tools/ftfuzzer/ftmutator.cc314
-rw-r--r--src/3rdparty/freetype/src/tools/ftfuzzer/rasterfuzzer.cc129
-rw-r--r--src/3rdparty/freetype/src/tools/ftfuzzer/runinput.cc58
-rw-r--r--src/3rdparty/freetype/src/tools/ftrandom/Makefile45
-rw-r--r--src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c4
-rw-r--r--src/3rdparty/freetype/src/tools/glnames.py2
-rwxr-xr-xsrc/3rdparty/freetype/src/tools/make_distribution_archives.py208
-rw-r--r--src/3rdparty/freetype/src/tools/test_afm.c7
-rw-r--r--src/3rdparty/freetype/src/tools/test_bbox.c5
-rw-r--r--src/3rdparty/freetype/src/tools/test_trig.c5
-rwxr-xr-x[-rw-r--r--]src/3rdparty/freetype/src/tools/update-copyright0
-rwxr-xr-x[-rw-r--r--]src/3rdparty/freetype/src/tools/update-copyright-year2
-rw-r--r--src/3rdparty/freetype/src/truetype/Jamfile37
-rw-r--r--src/3rdparty/freetype/src/truetype/module.mk2
-rw-r--r--src/3rdparty/freetype/src/truetype/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/truetype/truetype.c3
-rw-r--r--src/3rdparty/freetype/src/truetype/ttdriver.c25
-rw-r--r--src/3rdparty/freetype/src/truetype/ttdriver.h5
-rw-r--r--src/3rdparty/freetype/src/truetype/tterrors.h6
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgload.c83
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgload.h3
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgxvar.c149
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgxvar.h3
-rw-r--r--src/3rdparty/freetype/src/truetype/ttinterp.c519
-rw-r--r--src/3rdparty/freetype/src/truetype/ttinterp.h5
-rw-r--r--src/3rdparty/freetype/src/truetype/ttobjs.c21
-rw-r--r--src/3rdparty/freetype/src/truetype/ttobjs.h7
-rw-r--r--src/3rdparty/freetype/src/truetype/ttpic.c101
-rw-r--r--src/3rdparty/freetype/src/truetype/ttpic.h88
-rw-r--r--src/3rdparty/freetype/src/truetype/ttpload.c29
-rw-r--r--src/3rdparty/freetype/src/truetype/ttpload.h5
-rw-r--r--src/3rdparty/freetype/src/truetype/ttsubpix.c17
-rw-r--r--src/3rdparty/freetype/src/truetype/ttsubpix.h3
-rw-r--r--src/3rdparty/freetype/src/type1/Jamfile35
-rw-r--r--src/3rdparty/freetype/src/type1/module.mk2
-rw-r--r--src/3rdparty/freetype/src/type1/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/type1/t1afm.c9
-rw-r--r--src/3rdparty/freetype/src/type1/t1afm.h5
-rw-r--r--src/3rdparty/freetype/src/type1/t1driver.c31
-rw-r--r--src/3rdparty/freetype/src/type1/t1driver.h5
-rw-r--r--src/3rdparty/freetype/src/type1/t1errors.h6
-rw-r--r--src/3rdparty/freetype/src/type1/t1gload.c19
-rw-r--r--src/3rdparty/freetype/src/type1/t1gload.h3
-rw-r--r--src/3rdparty/freetype/src/type1/t1load.c60
-rw-r--r--src/3rdparty/freetype/src/type1/t1load.h9
-rw-r--r--src/3rdparty/freetype/src/type1/t1objs.c21
-rw-r--r--src/3rdparty/freetype/src/type1/t1objs.h6
-rw-r--r--src/3rdparty/freetype/src/type1/t1parse.c9
-rw-r--r--src/3rdparty/freetype/src/type1/t1parse.h7
-rw-r--r--src/3rdparty/freetype/src/type1/t1tokens.h2
-rw-r--r--src/3rdparty/freetype/src/type1/type1.c3
-rw-r--r--src/3rdparty/freetype/src/type42/Jamfile32
-rw-r--r--src/3rdparty/freetype/src/type42/module.mk2
-rw-r--r--src/3rdparty/freetype/src/type42/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/type42/t42drivr.c12
-rw-r--r--src/3rdparty/freetype/src/type42/t42drivr.h5
-rw-r--r--src/3rdparty/freetype/src/type42/t42error.h6
-rw-r--r--src/3rdparty/freetype/src/type42/t42objs.c8
-rw-r--r--src/3rdparty/freetype/src/type42/t42objs.h17
-rw-r--r--src/3rdparty/freetype/src/type42/t42parse.c10
-rw-r--r--src/3rdparty/freetype/src/type42/t42parse.h4
-rw-r--r--src/3rdparty/freetype/src/type42/t42types.h11
-rw-r--r--src/3rdparty/freetype/src/type42/type42.c3
-rw-r--r--src/3rdparty/freetype/src/winfonts/Jamfile16
-rw-r--r--src/3rdparty/freetype/src/winfonts/fnterrs.h6
-rw-r--r--src/3rdparty/freetype/src/winfonts/module.mk2
-rw-r--r--src/3rdparty/freetype/src/winfonts/rules.mk2
-rw-r--r--src/3rdparty/freetype/src/winfonts/winfnt.c23
-rw-r--r--src/3rdparty/freetype/src/winfonts/winfnt.h7
-rw-r--r--src/3rdparty/harfbuzz-ng/CMakeLists.txt10
-rw-r--r--src/3rdparty/harfbuzz-ng/COPYING4
-rw-r--r--src/3rdparty/harfbuzz-ng/NEWS45
-rw-r--r--src/3rdparty/harfbuzz-ng/README.md4
-rw-r--r--src/3rdparty/harfbuzz-ng/qt_attribution.json2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz.cc1
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-ankr-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-common.hh11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-feat-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-just-table.hh16
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-kerx-table.hh14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-morx-table.hh21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-opbd-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-trak-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout.cc13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-ltag-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-algs.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-array.hh51
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-bimap.hh5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.cc123
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.h10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.cc77
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.hh17
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cache.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff-interp-common.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff2-interp-cs.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.cc22
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-config.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-coretext.cc50
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-debug.hh6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-directwrite.cc264
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-draw.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-face.cc102
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-font.cc79
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ft.cc24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gdi.cc6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject-structs.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-graphite2.cc13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-iter.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-machinery.hh6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.hh24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-meta.hh31
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ms-feature-ranges.cc177
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ms-feature-ranges.hh96
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-mutex.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-null.hh20
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-object.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-open-file.hh68
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-open-type.hh146
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff-common.hh6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff1-table.hh7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cmap-table.hh186
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-cbdt-table.hh14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-colr-table.hh890
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-colrv1-closure.hh101
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-cpal-table.hh120
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-sbix-table.hh10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-svg-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-face-table-list.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-gasp-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-glyf-table.hh140
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-hdmx-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-hmtx-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-base-table.hh36
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-common.hh641
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh42
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh622
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh322
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gsubgpos.hh608
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-jstf-table.hh32
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc184
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-map.cc11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-math-table.hh44
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-maxp-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-meta-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name-table.hh17
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-os2-table.hh25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-post-table-v2subset.hh114
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-post-table.hh36
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer.cc7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-syllabic.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-syllabic.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-machine.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use.cc9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-fallback.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.cc71
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.hh1
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-stat-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-tag.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-avar-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-fvar-table.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-gvar-table.hh14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-hvar-table.hh42
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-mvar-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-vorg-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-pool.hh6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-priority-queue.hh151
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-repacker.hh769
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-sanitize.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-serialize.hh131
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set-digest.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.cc37
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.h3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.hh168
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape-plan.cc16
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape-plan.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shaper.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-static.cc1
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff-common.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff-common.hh13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff1.cc14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff2.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.cc453
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.hh10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-plan.cc349
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-plan.hh25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.cc235
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.h126
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode-emoji-table.hh64
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode.hh11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-uniscribe.cc237
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-vector.hh11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-version.h4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb.hh19
-rw-r--r--src/3rdparty/harfbuzz-ng/src/main.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-buffer-serialize.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-gpos-size-params.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-gsub-would-substitute.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-glyphname.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-meta.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-name.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-priority-queue.cc89
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-repacker.cc485
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test.cc5
-rw-r--r--src/3rdparty/libjpeg/qt_attribution.json2
-rw-r--r--src/3rdparty/libjpeg/src/ChangeLog.md38
-rw-r--r--src/3rdparty/libjpeg/src/jcmaster.c2
-rw-r--r--src/3rdparty/libjpeg/src/jconfig.h4
-rw-r--r--src/3rdparty/libjpeg/src/jconfigint.h4
-rw-r--r--src/3rdparty/libjpeg/src/jconfigint.h.in10
-rw-r--r--src/3rdparty/libjpeg/src/jcphuff.c5
-rw-r--r--src/3rdparty/libjpeg/src/jdapimin.c3
-rw-r--r--src/3rdparty/libjpeg/src/jdhuff.c11
-rw-r--r--src/3rdparty/libjpeg/src/jdmainct.c5
-rw-r--r--src/3rdparty/libjpeg/src/jmemmgr.c6
-rw-r--r--src/3rdparty/libjpeg/src/jpegint.h15
-rw-r--r--src/3rdparty/libpng/pngrutil.c6
-rw-r--r--src/3rdparty/libpng/qtpatches.diff17
-rw-r--r--src/3rdparty/sqlite/qt_attribution.json4
-rw-r--r--src/3rdparty/sqlite/sqlite3.c7180
-rw-r--r--src/3rdparty/sqlite/sqlite3.h133
-rw-r--r--src/3rdparty/tinycbor/qt_attribution.json6
-rw-r--r--src/3rdparty/tinycbor/src/cbor.h10
-rw-r--r--src/3rdparty/tinycbor/src/cborencoder.c28
-rw-r--r--src/3rdparty/tinycbor/src/cborerrorstrings.c2
-rw-r--r--src/3rdparty/tinycbor/src/cborinternal_p.h2
-rw-r--r--src/3rdparty/tinycbor/src/cborparser.c4
-rw-r--r--src/3rdparty/tinycbor/tests/.gitignore2
-rw-r--r--src/3rdparty/tinycbor/tests/encoder/data.cpp2
-rw-r--r--src/3rdparty/tinycbor/tests/encoder/tst_encoder.cpp2
-rw-r--r--src/3rdparty/tinycbor/tests/parser/data.cpp2
-rw-r--r--src/3rdparty/tinycbor/tests/parser/tst_parser.cpp2
-rw-r--r--src/3rdparty/xcb/README24
-rw-r--r--src/3rdparty/xcb/libxcb/xinput-device-class-sizeof.patch38
-rw-r--r--src/3rdparty/xcb/libxcb/xinput.c26
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/ExtractStyle.java2326
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java6
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtNative.java61
-rw-r--r--src/android/java/res/values-de/strings.xml2
-rw-r--r--src/android/java/res/values-el/strings.xml2
-rw-r--r--src/android/java/res/values-es/strings.xml2
-rw-r--r--src/android/java/res/values-et/strings.xml2
-rw-r--r--src/android/java/res/values-fa/strings.xml2
-rw-r--r--src/android/java/res/values-fr/strings.xml2
-rw-r--r--src/android/java/res/values-in/strings.xml2
-rw-r--r--src/android/java/res/values-it/strings.xml2
-rw-r--r--src/android/java/res/values-ja/strings.xml2
-rw-r--r--src/android/java/res/values-ms/strings.xml2
-rw-r--r--src/android/java/res/values-nb/strings.xml2
-rw-r--r--src/android/java/res/values-nl/strings.xml2
-rw-r--r--src/android/java/res/values-pl/strings.xml2
-rw-r--r--src/android/java/res/values-pt-rBR/strings.xml2
-rw-r--r--src/android/java/res/values-ro/strings.xml2
-rw-r--r--src/android/java/res/values-ru/strings.xml2
-rw-r--r--src/android/java/res/values-se/strings.xml2
-rw-r--r--src/android/java/res/values-zh-rCN/strings.xml2
-rw-r--r--src/android/java/res/values-zh-rTW/strings.xml2
-rw-r--r--src/android/java/res/values/strings.xml2
-rw-r--r--src/android/java/src/org/kde/necessitas/ministro/IMinistro.aidl60
-rw-r--r--src/android/java/src/org/kde/necessitas/ministro/IMinistroCallback.aidl65
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java20
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtActivityLoader.java26
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtLoader.java224
-rw-r--r--src/android/templates/AndroidManifest.xml106
-rw-r--r--src/android/templates/res/values/libs.xml10
-rw-r--r--src/concurrent/CMakeLists.txt1
-rw-r--r--src/concurrent/doc/qtconcurrent.qdocconf4
-rw-r--r--src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentfilter.cpp20
-rw-r--r--src/concurrent/doc/snippets/code/src_concurrent_qtconcurrentmap.cpp14
-rw-r--r--src/concurrent/qtconcurrent_global.h15
-rw-r--r--src/concurrent/qtconcurrentfilter.cpp13
-rw-r--r--src/concurrent/qtconcurrentfilter.h58
-rw-r--r--src/concurrent/qtconcurrentfunctionwrappers.h56
-rw-r--r--src/concurrent/qtconcurrentmap.cpp13
-rw-r--r--src/concurrent/qtconcurrentmap.h70
-rw-r--r--src/concurrent/qtconcurrentrunbase.h22
-rw-r--r--src/concurrent/qtconcurrentstoredfunctioncall.h15
-rw-r--r--src/corelib/CMakeLists.txt72
-rw-r--r--src/corelib/Qt6AndroidMacros.cmake368
-rw-r--r--src/corelib/Qt6CTestMacros.cmake156
-rw-r--r--src/corelib/Qt6CoreMacros.cmake664
-rw-r--r--src/corelib/Qt6WasmMacros.cmake13
-rw-r--r--src/corelib/animation/qpropertyanimation.h4
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.cpp2
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.h6
-rw-r--r--src/corelib/compat/removed_api.cpp95
-rw-r--r--src/corelib/configure.cmake3
-rw-r--r--src/corelib/debug_script.py12
-rw-r--r--src/corelib/doc/images/resources.pngbin49998 -> 0 bytes
-rw-r--r--src/corelib/doc/include/jni.h1
-rw-r--r--src/corelib/doc/qtcore.qdocconf3
-rw-r--r--src/corelib/doc/snippets/cmake-macros/examples.cmake46
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp4
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qdir.cpp13
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qfileinfo.cpp17
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qbytearrayview.cpp23
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qlocale.cpp20
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qregularexpression.cpp12
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qstring.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qstringconverter.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_thread_qfuture.cpp12
-rw-r--r--src/corelib/doc/snippets/permissions/permissions.cpp141
-rw-r--r--src/corelib/doc/snippets/resource-system/CMakeLists.txt31
-rw-r--r--src/corelib/doc/snippets/resource-system/application.pro25
-rw-r--r--src/corelib/doc/snippets/resource-system/application.qrc18
-rw-r--r--src/corelib/doc/snippets/resource-system/images/copy.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/images/cut.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/images/new.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/images/open.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/images/paste.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/images/save.pngbin0 -> 67 bytes
-rw-r--r--src/corelib/doc/snippets/resource-system/main.cpp75
-rw-r--r--src/corelib/doc/src/cmake-macros.qdoc651
-rw-r--r--src/corelib/doc/src/cmake/cmake-properties.qdoc (renamed from src/corelib/doc/src/cmake-properties.qdoc)0
-rw-r--r--src/corelib/doc/src/cmake/cmake-variables.qdoc (renamed from src/corelib/doc/src/cmake-variables.qdoc)0
-rw-r--r--src/corelib/doc/src/cmake/qt_add_big_resources.qdoc67
-rw-r--r--src/corelib/doc/src/cmake/qt_add_binary_resources.qdoc63
-rw-r--r--src/corelib/doc/src/cmake/qt_add_executable.qdoc117
-rw-r--r--src/corelib/doc/src/cmake/qt_add_resources.qdoc113
-rw-r--r--src/corelib/doc/src/cmake/qt_android_add_apk_target.qdoc72
-rw-r--r--src/corelib/doc/src/cmake/qt_android_apply_arch_suffix.qdoc56
-rw-r--r--src/corelib/doc/src/cmake/qt_android_generate_deployment_settings.qdoc103
-rw-r--r--src/corelib/doc/src/cmake/qt_finalize_target.qdoc65
-rw-r--r--src/corelib/doc/src/cmake/qt_generate_moc.qdoc65
-rw-r--r--src/corelib/doc/src/cmake/qt_import_plugins.qdoc99
-rw-r--r--src/corelib/doc/src/cmake/qt_wrap_cpp.qdoc75
-rw-r--r--src/corelib/doc/src/external-resources.qdoc5
-rw-r--r--src/corelib/doc/src/includes/qfile-copy.qdocinc11
-rw-r--r--src/corelib/doc/src/json.qdoc2
-rw-r--r--src/corelib/doc/src/resource-system.qdoc361
-rw-r--r--src/corelib/global/q20algorithm.h116
-rw-r--r--src/corelib/global/q20functional.h80
-rw-r--r--src/corelib/global/qcompare.h11
-rw-r--r--src/corelib/global/qcompare_impl.h69
-rw-r--r--src/corelib/global/qflags.h52
-rw-r--r--src/corelib/global/qglobal.cpp137
-rw-r--r--src/corelib/global/qglobal.h45
-rw-r--r--src/corelib/global/qglobalstatic.h4
-rw-r--r--src/corelib/global/qlibraryinfo.cpp7
-rw-r--r--src/corelib/global/qlogging.cpp14
-rw-r--r--src/corelib/global/qnamespace.h1
-rw-r--r--src/corelib/global/qnamespace.qdoc14
-rw-r--r--src/corelib/global/qnativeinterface.h156
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp7
-rw-r--r--src/corelib/global/qoperatingsystemversion_win.cpp16
-rw-r--r--src/corelib/global/qrandom.h2
-rw-r--r--src/corelib/global/qsimd_p.h9
-rw-r--r--src/corelib/global/qtypeinfo.h17
-rw-r--r--src/corelib/global/qvolatile_p.h89
-rw-r--r--src/corelib/io/qdebug.h16
-rw-r--r--src/corelib/io/qdir.cpp33
-rw-r--r--src/corelib/io/qdiriterator.cpp38
-rw-r--r--src/corelib/io/qdiriterator.h1
-rw-r--r--src/corelib/io/qfile.cpp54
-rw-r--r--src/corelib/io/qfile.h71
-rw-r--r--src/corelib/io/qfileinfo.cpp4
-rw-r--r--src/corelib/io/qfileselector.cpp5
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp4
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp110
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp6
-rw-r--r--src/corelib/io/qfsfileengine_p.h6
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp15
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp7
-rw-r--r--src/corelib/io/qiodevice.cpp173
-rw-r--r--src/corelib/io/qiodevice_p.h1
-rw-r--r--src/corelib/io/qipaddress.cpp7
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice.cpp27
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice_p.h25
-rw-r--r--src/corelib/io/qprocess.cpp1
-rw-r--r--src/corelib/io/qprocess_p.h1
-rw-r--r--src/corelib/io/qprocess_win.cpp12
-rw-r--r--src/corelib/io/qresource.cpp3
-rw-r--r--src/corelib/io/qsettings.cpp15
-rw-r--r--src/corelib/io/qsettings_mac.cpp25
-rw-r--r--src/corelib/io/qsettings_p.h4
-rw-r--r--src/corelib/io/qsettings_wasm.cpp8
-rw-r--r--src/corelib/io/qsettings_win.cpp49
-rw-r--r--src/corelib/io/qstandardpaths_unix.cpp4
-rw-r--r--src/corelib/io/qstandardpaths_win.cpp2
-rw-r--r--src/corelib/io/qstorageinfo_unix.cpp23
-rw-r--r--src/corelib/io/qurl.cpp91
-rw-r--r--src/corelib/io/qurl.h15
-rw-r--r--src/corelib/io/qurl_p.h5
-rw-r--r--src/corelib/io/qurlidna.cpp2863
-rw-r--r--src/corelib/io/qurlquery.cpp29
-rw-r--r--src/corelib/io/qurlrecode.cpp81
-rw-r--r--src/corelib/io/qwindowspipereader.cpp57
-rw-r--r--src/corelib/io/qwindowspipereader_p.h3
-rw-r--r--src/corelib/io/qwindowspipewriter.cpp148
-rw-r--r--src/corelib/io/qwindowspipewriter_p.h16
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.cpp7
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel_p.h3
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel.h4
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.cpp68
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.h15
-rw-r--r--src/corelib/itemmodels/qtransposeproxymodel.cpp30
-rw-r--r--src/corelib/kernel/qapplicationpermission.h (renamed from src/corelib/kernel/qpermission.h)33
-rw-r--r--src/corelib/kernel/qcfsocketnotifier.cpp14
-rw-r--r--src/corelib/kernel/qcore_foundation.mm4
-rw-r--r--src/corelib/kernel/qcore_mac.mm10
-rw-r--r--src/corelib/kernel/qcore_mac_p.h1
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp207
-rw-r--r--src/corelib/kernel/qcoreapplication.h25
-rw-r--r--src/corelib/kernel/qcoreapplication_android.cpp319
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h11
-rw-r--r--src/corelib/kernel/qcoreapplication_platform.h10
-rw-r--r--src/corelib/kernel/qcoreevent.cpp1
-rw-r--r--src/corelib/kernel/qcoreglobaldata_p.h3
-rw-r--r--src/corelib/kernel/qeventdispatcher_wasm.cpp581
-rw-r--r--src/corelib/kernel/qeventdispatcher_wasm_p.h127
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp14
-rw-r--r--src/corelib/kernel/qeventloop.cpp24
-rw-r--r--src/corelib/kernel/qjni.cpp2384
-rw-r--r--src/corelib/kernel/qjni_p.h292
-rw-r--r--src/corelib/kernel/qjnienvironment.cpp7
-rw-r--r--src/corelib/kernel/qjnienvironment.h2
-rw-r--r--src/corelib/kernel/qjnihelpers.cpp204
-rw-r--r--src/corelib/kernel/qjnihelpers_p.h23
-rw-r--r--src/corelib/kernel/qjniobject.h2
-rw-r--r--src/corelib/kernel/qmetacontainer.h2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp104
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder.cpp2
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder_p.h1
-rw-r--r--src/corelib/kernel/qmetatype.cpp6
-rw-r--r--src/corelib/kernel/qmetatype.h92
-rw-r--r--src/corelib/kernel/qobject.cpp115
-rw-r--r--src/corelib/kernel/qobject.h59
-rw-r--r--src/corelib/kernel/qobject_p.h35
-rw-r--r--src/corelib/kernel/qobjectdefs_impl.h5
-rw-r--r--src/corelib/kernel/qpermission.qdoc102
-rw-r--r--src/corelib/kernel/qproperty.cpp332
-rw-r--r--src/corelib/kernel/qproperty.h14
-rw-r--r--src/corelib/kernel/qproperty_p.h69
-rw-r--r--src/corelib/kernel/qpropertyprivate.h3
-rw-r--r--src/corelib/kernel/qsystemerror.cpp9
-rw-r--r--src/corelib/kernel/qtranslator.cpp11
-rw-r--r--src/corelib/kernel/qvariant.cpp28
-rw-r--r--src/corelib/kernel/qwineventnotifier.cpp4
-rw-r--r--src/corelib/platform/android/qandroidextras.cpp288
-rw-r--r--src/corelib/platform/android/qandroidextras_p.h40
-rw-r--r--src/corelib/platform/android/qandroidnativeinterface.cpp2
-rw-r--r--src/corelib/plugin/qelfparser_p.cpp35
-rw-r--r--src/corelib/plugin/qelfparser_p.h15
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp3
-rw-r--r--src/corelib/plugin/qlibrary.cpp61
-rw-r--r--src/corelib/plugin/qplugin.h19
-rw-r--r--src/corelib/plugin/quuid.cpp94
-rw-r--r--src/corelib/plugin/quuid.h47
-rw-r--r--src/corelib/serialization/qcborarray.cpp2
-rw-r--r--src/corelib/serialization/qcborarray.h1
-rw-r--r--src/corelib/serialization/qcborcommon.cpp14
-rw-r--r--src/corelib/serialization/qcbordiagnostic.cpp2
-rw-r--r--src/corelib/serialization/qcbormap.cpp2
-rw-r--r--src/corelib/serialization/qcbormap.h1
-rw-r--r--src/corelib/serialization/qcborstreamreader.cpp2
-rw-r--r--src/corelib/serialization/qcborstreamwriter.cpp9
-rw-r--r--src/corelib/serialization/qcborvalue.cpp10
-rw-r--r--src/corelib/serialization/qdatastream.cpp1
-rw-r--r--src/corelib/serialization/qdatastream.h38
-rw-r--r--src/corelib/serialization/qjsoncbor.cpp23
-rw-r--r--src/corelib/serialization/qjsonparser.cpp16
-rw-r--r--src/corelib/serialization/qjsonvalue.cpp20
-rw-r--r--src/corelib/serialization/qjsonvalue.h2
-rw-r--r--src/corelib/serialization/qjsonwriter.cpp6
-rw-r--r--src/corelib/serialization/qtextstream_p.h9
-rw-r--r--src/corelib/text/qanystringview.qdoc8
-rw-r--r--src/corelib/text/qbytearray.cpp294
-rw-r--r--src/corelib/text/qbytearray.h20
-rw-r--r--src/corelib/text/qbytearrayalgorithms.h14
-rw-r--r--src/corelib/text/qbytearrayview.h20
-rw-r--r--src/corelib/text/qbytearrayview.qdoc313
-rw-r--r--src/corelib/text/qbytedata_p.h2
-rw-r--r--src/corelib/text/qchar.cpp20
-rw-r--r--src/corelib/text/qcollator.cpp12
-rw-r--r--src/corelib/text/qcollator_p.h4
-rw-r--r--src/corelib/text/qcollator_win.cpp25
-rw-r--r--src/corelib/text/qlocale.cpp465
-rw-r--r--src/corelib/text/qlocale.h11
-rw-r--r--src/corelib/text/qlocale.qdoc26
-rw-r--r--src/corelib/text/qlocale_data_p.h40
-rw-r--r--src/corelib/text/qlocale_mac.mm93
-rw-r--r--src/corelib/text/qlocale_p.h183
-rw-r--r--src/corelib/text/qlocale_tools.cpp420
-rw-r--r--src/corelib/text/qlocale_tools_p.h39
-rw-r--r--src/corelib/text/qlocale_unix.cpp19
-rw-r--r--src/corelib/text/qlocale_win.cpp79
-rw-r--r--src/corelib/text/qregularexpression.cpp91
-rw-r--r--src/corelib/text/qregularexpression.h7
-rw-r--r--src/corelib/text/qstring.cpp596
-rw-r--r--src/corelib/text/qstring.h40
-rw-r--r--src/corelib/text/qstringbuilder.h2
-rw-r--r--src/corelib/text/qstringconverter.cpp74
-rw-r--r--src/corelib/text/qstringconverter_p.h54
-rw-r--r--src/corelib/text/qstringlist.cpp5
-rw-r--r--src/corelib/text/qstringliteral.h18
-rw-r--r--src/corelib/text/qstringview.cpp193
-rw-r--r--src/corelib/text/qstringview.h19
-rw-r--r--src/corelib/text/qtextboundaryfinder.cpp12
-rw-r--r--src/corelib/text/qunicodetables.cpp24773
-rw-r--r--src/corelib/text/qunicodetables_p.h19
-rw-r--r--src/corelib/text/qunicodetools.cpp42
-rw-r--r--src/corelib/text/qutf8stringview.h6
-rw-r--r--src/corelib/text/qutf8stringview.qdoc28
-rw-r--r--src/corelib/thread/qfutex_p.h5
-rw-r--r--src/corelib/thread/qfuture.h28
-rw-r--r--src/corelib/thread/qfuture.qdoc108
-rw-r--r--src/corelib/thread/qfutureinterface.h4
-rw-r--r--src/corelib/thread/qfuturewatcher.cpp28
-rw-r--r--src/corelib/thread/qfuturewatcher_p.h1
-rw-r--r--src/corelib/thread/qmutex.h7
-rw-r--r--src/corelib/thread/qresultstore.cpp1
-rw-r--r--src/corelib/thread/qresultstore.h7
-rw-r--r--src/corelib/thread/qsemaphore.cpp40
-rw-r--r--src/corelib/thread/qsemaphore.h16
-rw-r--r--src/corelib/thread/qthread.h3
-rw-r--r--src/corelib/thread/qthread_unix.cpp4
-rw-r--r--src/corelib/thread/qthreadpool.cpp5
-rw-r--r--src/corelib/time/qcalendar.cpp936
-rw-r--r--src/corelib/time/qcalendar.h26
-rw-r--r--src/corelib/time/qcalendarbackend_p.h33
-rw-r--r--src/corelib/time/qdatetime.cpp95
-rw-r--r--src/corelib/time/qdatetimeparser.cpp164
-rw-r--r--src/corelib/time/qdatetimeparser_p.h16
-rw-r--r--src/corelib/time/qgregoriancalendar.cpp17
-rw-r--r--src/corelib/time/qgregoriancalendar_p.h2
-rw-r--r--src/corelib/time/qhijricalendar_data_p.h6
-rw-r--r--src/corelib/time/qhijricalendar_p.h3
-rw-r--r--src/corelib/time/qislamiccivilcalendar.cpp23
-rw-r--r--src/corelib/time/qislamiccivilcalendar_p.h2
-rw-r--r--src/corelib/time/qjalalicalendar.cpp17
-rw-r--r--src/corelib/time/qjalalicalendar_data_p.h6
-rw-r--r--src/corelib/time/qjalalicalendar_p.h2
-rw-r--r--src/corelib/time/qjuliancalendar.cpp11
-rw-r--r--src/corelib/time/qjuliancalendar_p.h2
-rw-r--r--src/corelib/time/qmilankoviccalendar.cpp11
-rw-r--r--src/corelib/time/qmilankoviccalendar_p.h2
-rw-r--r--src/corelib/time/qromancalendar_data_p.h36
-rw-r--r--src/corelib/time/qromancalendar_p.h3
-rw-r--r--src/corelib/time/qtimezone.cpp14
-rw-r--r--src/corelib/time/qtimezoneprivate.cpp198
-rw-r--r--src/corelib/time/qtimezoneprivate_data_p.h98
-rw-r--r--src/corelib/time/qtimezoneprivate_p.h6
-rw-r--r--src/corelib/time/qtimezoneprivate_tz.cpp12
-rw-r--r--src/corelib/tools/qarraydataops.h6
-rw-r--r--src/corelib/tools/qcryptographichash.cpp506
-rw-r--r--src/corelib/tools/qcryptographichash.h13
-rw-r--r--src/corelib/tools/qduplicatetracker_p.h79
-rw-r--r--src/corelib/tools/qhash.cpp8
-rw-r--r--src/corelib/tools/qhash.h16
-rw-r--r--src/corelib/tools/qlist.h12
-rw-r--r--src/corelib/tools/qmap.h132
-rw-r--r--src/corelib/tools/qmap.qdoc38
-rw-r--r--src/corelib/tools/qmessageauthenticationcode.cpp13
-rw-r--r--src/corelib/tools/qmultimap.qdoc40
-rw-r--r--src/corelib/tools/qscopedpointer.cpp6
-rw-r--r--src/corelib/tools/qscopedpointer.h9
-rw-r--r--src/corelib/tools/qset.h4
-rw-r--r--src/corelib/tools/qset.qdoc15
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h6
-rw-r--r--src/corelib/tools/qtimeline.h4
-rw-r--r--src/corelib/tools/qvarlengtharray.h18
-rw-r--r--src/corelib/tools/qvarlengtharray.qdoc26
-rw-r--r--src/corelib/tools/qversionnumber.cpp4
-rw-r--r--src/corelib/tools/qversionnumber.h12
-rw-r--r--src/dbus/CMakeLists.txt1
-rw-r--r--src/dbus/Qt6DBusMacros.cmake52
-rw-r--r--src/dbus/doc/qtdbus.qdocconf4
-rw-r--r--src/dbus/doc/src/qtdbus-cmake.qdoc23
-rw-r--r--src/dbus/qdbusargument_p.h1
-rw-r--r--src/dbus/qdbusconnection.cpp9
-rw-r--r--src/dbus/qdbusintegrator.cpp6
-rw-r--r--src/dbus/qdbusmarshaller.cpp41
-rw-r--r--src/dbus/qdbusmetatype.cpp17
-rw-r--r--src/dbus/qdbusmetatype.h2
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp17
-rw-r--r--src/dbus/qtdbusglobal.h16
-rw-r--r--src/gui/CMakeLists.txt11
-rw-r--r--src/gui/configure.cmake30
-rw-r--r--src/gui/doc/qtgui.qdocconf4
-rw-r--r--src/gui/doc/snippets/code/src_gui_kernel_qkeysequence.cpp4
-rw-r--r--src/gui/doc/snippets/code/src_gui_painting_qtransform.cpp8
-rw-r--r--src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp26
-rw-r--r--src/gui/doc/snippets/code/src_gui_util_qvalidator.cpp19
-rw-r--r--src/gui/doc/snippets/textdocument-listitems/mainwindow.cpp8
-rw-r--r--src/gui/doc/snippets/textdocument-listitemstyles/mainwindow.cpp8
-rw-r--r--src/gui/doc/snippets/textdocument-printing/mainwindow.cpp8
-rw-r--r--src/gui/doc/snippets/textdocument-selections/mainwindow.cpp4
-rw-r--r--src/gui/doc/snippets/transform/main.cpp16
-rw-r--r--src/gui/image/qbitmap.cpp11
-rw-r--r--src/gui/image/qicon.cpp5
-rw-r--r--src/gui/image/qiconloader.cpp70
-rw-r--r--src/gui/image/qiconloader_p.h5
-rw-r--r--src/gui/image/qimage.cpp45
-rw-r--r--src/gui/image/qimage_conversions.cpp28
-rw-r--r--src/gui/image/qimage_p.h1
-rw-r--r--src/gui/image/qimagewriter.cpp10
-rw-r--r--src/gui/image/qpixmap.cpp18
-rw-r--r--src/gui/image/qpixmapcache.cpp5
-rw-r--r--src/gui/image/qpnghandler.cpp2
-rw-r--r--src/gui/image/qxpmhandler.cpp77
-rw-r--r--src/gui/itemmodels/qfileinfogatherer.cpp3
-rw-r--r--src/gui/itemmodels/qfilesystemmodel.cpp44
-rw-r--r--src/gui/itemmodels/qfilesystemmodel_p.h4
-rw-r--r--src/gui/kernel/qaction.h12
-rw-r--r--src/gui/kernel/qclipboard.cpp3
-rw-r--r--src/gui/kernel/qevent.cpp188
-rw-r--r--src/gui/kernel/qevent.h21
-rw-r--r--src/gui/kernel/qeventpoint.cpp15
-rw-r--r--src/gui/kernel/qguiapplication.cpp109
-rw-r--r--src/gui/kernel/qguiapplication.h13
-rw-r--r--src/gui/kernel/qguiapplication_p.h11
-rw-r--r--src/gui/kernel/qguiapplication_platform.h71
-rw-r--r--src/gui/kernel/qinputdevice.cpp5
-rw-r--r--src/gui/kernel/qinputdevice.h4
-rw-r--r--src/gui/kernel/qinputdevicemanager.cpp2
-rw-r--r--src/gui/kernel/qinputdevicemanager_p.h5
-rw-r--r--src/gui/kernel/qinputmethod.h3
-rw-r--r--src/gui/kernel/qkeymapper.cpp5
-rw-r--r--src/gui/kernel/qkeymapper_p.h2
-rw-r--r--src/gui/kernel/qoffscreensurface.cpp11
-rw-r--r--src/gui/kernel/qoffscreensurface.h2
-rw-r--r--src/gui/kernel/qopenglcontext.cpp7
-rw-r--r--src/gui/kernel/qopenglcontext.h3
-rw-r--r--src/gui/kernel/qopenglcontext_platform.h3
-rw-r--r--src/gui/kernel/qplatformdialoghelper.cpp2
-rw-r--r--src/gui/kernel/qplatformintegration.cpp3
-rw-r--r--src/gui/kernel/qplatformtheme.cpp5
-rw-r--r--src/gui/kernel/qplatformtheme.h8
-rw-r--r--src/gui/kernel/qplatformwindow.cpp2
-rw-r--r--src/gui/kernel/qplatformwindow.h1
-rw-r--r--src/gui/kernel/qpointingdevice.cpp6
-rw-r--r--src/gui/kernel/qscreen.cpp6
-rw-r--r--src/gui/kernel/qscreen.h14
-rw-r--r--src/gui/kernel/qshapedpixmapdndwindow.cpp4
-rw-r--r--src/gui/kernel/qstylehints.h25
-rw-r--r--src/gui/kernel/qt_gui_pch.h1
-rw-r--r--src/gui/kernel/qtguiglobal.h15
-rw-r--r--src/gui/kernel/qwindow.cpp89
-rw-r--r--src/gui/kernel/qwindow.h17
-rw-r--r--src/gui/kernel/qwindow_p.h7
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp26
-rw-r--r--src/gui/kernel/qwindowsysteminterface.h4
-rw-r--r--src/gui/kernel/qwindowsysteminterface_p.h2
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp8
-rw-r--r--src/gui/math3d/qmatrix4x4.h4
-rw-r--r--src/gui/opengl/platform/egl/qeglplatformcontext.cpp4
-rw-r--r--src/gui/opengl/platform/egl/qeglplatformcontext_p.h2
-rw-r--r--src/gui/opengl/qopenglfunctions.cpp4
-rw-r--r--src/gui/painting/qbrush.cpp7
-rw-r--r--src/gui/painting/qcolor.cpp21
-rw-r--r--src/gui/painting/qcolor.h2
-rw-r--r--src/gui/painting/qcolorspace.cpp14
-rw-r--r--src/gui/painting/qcolorspace_p.h8
-rw-r--r--src/gui/painting/qcolortransform.cpp10
-rw-r--r--src/gui/painting/qcolortrclut.cpp17
-rw-r--r--src/gui/painting/qcolortrclut_p.h14
-rw-r--r--src/gui/painting/qcompositionfunctions.cpp268
-rw-r--r--src/gui/painting/qcoregraphics.mm4
-rw-r--r--src/gui/painting/qdrawhelper.cpp174
-rw-r--r--src/gui/painting/qdrawhelper_avx2.cpp16
-rw-r--r--src/gui/painting/qdrawhelper_p.h30
-rw-r--r--src/gui/painting/qdrawhelper_sse4.cpp12
-rw-r--r--src/gui/painting/qimagescale.cpp56
-rw-r--r--src/gui/painting/qmemrotate.cpp8
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp10
-rw-r--r--src/gui/painting/qpaintengineex.cpp14
-rw-r--r--src/gui/painting/qpainter.cpp106
-rw-r--r--src/gui/painting/qpainter_p.h50
-rw-r--r--src/gui/painting/qpixellayout.cpp196
-rw-r--r--src/gui/painting/qpixellayout_p.h20
-rw-r--r--src/gui/painting/qrgbafloat.h (renamed from src/gui/painting/qrgbaf.h)63
-rw-r--r--src/gui/painting/qrgbafloat.qdoc (renamed from src/gui/painting/qrgbaf.qdoc)89
-rw-r--r--src/gui/painting/qstroker.cpp59
-rw-r--r--src/gui/painting/qstroker_p.h1
-rw-r--r--src/gui/painting/qtransform.cpp26
-rw-r--r--src/gui/platform/darwin/qapplekeymapper.mm61
-rw-r--r--src/gui/platform/darwin/qapplekeymapper_p.h1
-rw-r--r--src/gui/platform/unix/dbusmenu/qdbusmenuconnection.cpp7
-rw-r--r--src/gui/platform/unix/dbusmenu/qdbusmenuconnection_p.h2
-rw-r--r--src/gui/platform/unix/qgenericunixservices.cpp2
-rw-r--r--src/gui/platform/unix/qunixnativeinterface.cpp42
-rw-r--r--src/gui/rhi/qrhi.cpp179
-rw-r--r--src/gui/rhi/qrhi_p.h58
-rw-r--r--src/gui/rhi/qrhi_p_p.h3
-rw-r--r--src/gui/rhi/qrhid3d11.cpp95
-rw-r--r--src/gui/rhi/qrhid3d11_p_p.h2
-rw-r--r--src/gui/rhi/qrhigles2.cpp110
-rw-r--r--src/gui/rhi/qrhigles2_p.h1
-rw-r--r--src/gui/rhi/qrhigles2_p_p.h3
-rw-r--r--src/gui/rhi/qrhimetal.mm133
-rw-r--r--src/gui/rhi/qrhimetal_p_p.h6
-rw-r--r--src/gui/rhi/qrhinull.cpp89
-rw-r--r--src/gui/rhi/qrhinull_p_p.h6
-rw-r--r--src/gui/rhi/qrhivulkan.cpp180
-rw-r--r--src/gui/rhi/qrhivulkan_p_p.h5
-rw-r--r--src/gui/text/freetype/qfontengine_ft.cpp2
-rw-r--r--src/gui/text/qcssparser.cpp24
-rw-r--r--src/gui/text/qfont.cpp7
-rw-r--r--src/gui/text/qfont.h1
-rw-r--r--src/gui/text/qfontdatabase.cpp33
-rw-r--r--src/gui/text/qfontdatabase_p.h4
-rw-r--r--src/gui/text/qfontengine.cpp2
-rw-r--r--src/gui/text/qrawfont.cpp2
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp12
-rw-r--r--src/gui/text/qtextengine.cpp9
-rw-r--r--src/gui/text/qtextformat.cpp36
-rw-r--r--src/gui/text/qtextformat.h11
-rw-r--r--src/gui/text/qtextimagehandler.cpp16
-rw-r--r--src/gui/text/qtextlayout.cpp22
-rw-r--r--src/gui/text/qtextodfwriter.cpp4
-rw-r--r--src/gui/text/unix/qfontconfigdatabase.cpp8
-rw-r--r--src/gui/text/unix/qfontconfigdatabase_p.h1
-rw-r--r--src/gui/text/windows/qwindowsfontdatabase.cpp13
-rw-r--r--src/gui/text/windows/qwindowsfontdatabase_ft.cpp16
-rw-r--r--src/gui/text/windows/qwindowsfontenginedirectwrite.cpp16
-rw-r--r--src/gui/text/windows/qwindowsfontenginedirectwrite_p.h4
-rw-r--r--src/gui/util/qdesktopservices.cpp51
-rw-r--r--src/gui/util/qvalidator.cpp120
-rw-r--r--src/gui/util/qvalidator.h4
-rw-r--r--src/network/CMakeLists.txt5
-rw-r--r--src/network/access/qdecompresshelper.cpp104
-rw-r--r--src/network/access/qdecompresshelper_p.h10
-rw-r--r--src/network/access/qhttp2protocolhandler.cpp10
-rw-r--r--src/network/access/qhttpheaderparser.cpp235
-rw-r--r--src/network/access/qhttpheaderparser_p.h104
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp15
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h7
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp24
-rw-r--r--src/network/access/qhttpnetworkheader.cpp41
-rw-r--r--src/network/access/qhttpnetworkheader_p.h6
-rw-r--r--src/network/access/qhttpnetworkreply.cpp133
-rw-r--r--src/network/access/qhttpnetworkreply_p.h13
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp2
-rw-r--r--src/network/access/qhttpprotocolhandler.cpp6
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp5
-rw-r--r--src/network/access/qhttpthreaddelegate_p.h9
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp117
-rw-r--r--src/network/access/qnetworkaccesscache.cpp200
-rw-r--r--src/network/access/qnetworkaccesscache_p.h9
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp16
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h4
-rw-r--r--src/network/access/qnetworkcookie.cpp23
-rw-r--r--src/network/access/qnetworkdiskcache.cpp13
-rw-r--r--src/network/access/qnetworkreply.cpp21
-rw-r--r--src/network/access/qnetworkreply.h2
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp28
-rw-r--r--src/network/access/qnetworkreplyhttpimpl_p.h10
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp9
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h4
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp75
-rw-r--r--src/network/access/qnetworkreplywasmimpl_p.h8
-rw-r--r--src/network/access/qnetworkrequest.cpp24
-rw-r--r--src/network/access/qnetworkrequest.h5
-rw-r--r--src/network/configure.cmake2
-rw-r--r--src/network/doc/qtnetwork.qdocconf4
-rw-r--r--src/network/doc/snippets/code/src_network_ssl_qsslconfiguration.cpp2
-rw-r--r--src/network/doc/src/ssl.qdoc6
-rw-r--r--src/network/kernel/qauthenticator.cpp27
-rw-r--r--src/network/kernel/qhostaddress.cpp2
-rw-r--r--src/network/kernel/qhostinfo.cpp5
-rw-r--r--src/network/kernel/qnetworkinformation.cpp6
-rw-r--r--src/network/kernel/qnetworkinformation.h3
-rw-r--r--src/network/kernel/qnetworkinterface.cpp4
-rw-r--r--src/network/kernel/qtnetworkglobal.h15
-rw-r--r--src/network/kernel/qtnetworkglobal_p.h3
-rw-r--r--src/network/socket/qabstractsocket.h5
-rw-r--r--src/network/socket/qabstractsocketengine_p.h2
-rw-r--r--src/network/socket/qhttpsocketengine.cpp5
-rw-r--r--src/network/socket/qhttpsocketengine_p.h2
-rw-r--r--src/network/socket/qlocalserver.cpp30
-rw-r--r--src/network/socket/qlocalserver.h6
-rw-r--r--src/network/socket/qlocalserver_p.h1
-rw-r--r--src/network/socket/qlocalserver_tcp.cpp2
-rw-r--r--src/network/socket/qlocalserver_unix.cpp8
-rw-r--r--src/network/socket/qlocalserver_win.cpp5
-rw-r--r--src/network/socket/qlocalsocket.cpp20
-rw-r--r--src/network/socket/qlocalsocket.h4
-rw-r--r--src/network/socket/qlocalsocket_p.h2
-rw-r--r--src/network/socket/qlocalsocket_tcp.cpp12
-rw-r--r--src/network/socket/qlocalsocket_unix.cpp14
-rw-r--r--src/network/socket/qlocalsocket_win.cpp167
-rw-r--r--src/network/socket/qnativesocketengine.cpp8
-rw-r--r--src/network/socket/qnativesocketengine_p.h2
-rw-r--r--src/network/socket/qsctpsocket.cpp4
-rw-r--r--src/network/socket/qsocks5socketengine.cpp3
-rw-r--r--src/network/socket/qsocks5socketengine_p.h2
-rw-r--r--src/network/socket/qtcpserver.cpp30
-rw-r--r--src/network/socket/qtcpserver.h3
-rw-r--r--src/network/socket/qtcpserver_p.h1
-rw-r--r--src/network/ssl/qdtls.cpp8
-rw-r--r--src/network/ssl/qocspresponse.cpp2
-rw-r--r--src/network/ssl/qpassworddigestor.cpp4
-rw-r--r--src/network/ssl/qssl.cpp2
-rw-r--r--src/network/ssl/qssl.h12
-rw-r--r--src/network/ssl/qsslconfiguration.cpp2
-rw-r--r--src/network/ssl/qsslsocket.cpp31
-rw-r--r--src/network/ssl/qsslsocket_p.h4
-rw-r--r--src/network/ssl/qtlsbackend.cpp38
-rw-r--r--src/network/ssl/qtlsbackend_p.h6
-rw-r--r--src/opengl/CMakeLists.txt7
-rw-r--r--src/opengl/qopenglpaintdevice.cpp2
-rw-r--r--src/opengl/qtopenglglobal.h15
-rw-r--r--src/openglwidgets/CMakeLists.txt1
-rw-r--r--src/openglwidgets/qtopenglwidgetsglobal.h15
-rw-r--r--src/platformsupport/input/evdevmouse/qevdevmousehandler.cpp5
-rw-r--r--src/platformsupport/input/libinput/qlibinputhandler.cpp4
-rw-r--r--src/platformsupport/input/libinput/qlibinputpointer.cpp16
-rw-r--r--src/plugins/generic/evdevkeyboard/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevmouse/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevtablet/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevtouch/CMakeLists.txt2
-rw-r--r--src/plugins/generic/libinput/CMakeLists.txt2
-rw-r--r--src/plugins/generic/tslib/CMakeLists.txt2
-rw-r--r--src/plugins/generic/tuiotouch/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/gif/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/ico/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/jpeg/CMakeLists.txt4
-rw-r--r--src/plugins/networkinformation/android/CMakeLists.txt4
-rw-r--r--src/plugins/networkinformation/networklistmanager/CMakeLists.txt8
-rw-r--r--src/plugins/networkinformation/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp7
-rw-r--r--src/plugins/networkinformation/networkmanager/CMakeLists.txt6
-rw-r--r--src/plugins/networkinformation/scnetworkreachability/CMakeLists.txt6
-rw-r--r--src/plugins/platforminputcontexts/compose/CMakeLists.txt2
-rw-r--r--src/plugins/platforminputcontexts/ibus/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/android/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/android/extract-dummy.cpp8
-rw-r--r--src/plugins/platforms/android/extract.cpp21
-rw-r--r--src/plugins/platforms/android/qandroidplatformintegration.cpp13
-rw-r--r--src/plugins/platforms/android/qandroidplatformintegration.h1
-rw-r--r--src/plugins/platforms/android/qandroidplatformservices.cpp37
-rw-r--r--src/plugins/platforms/android/qandroidplatformservices.h14
-rw-r--r--src/plugins/platforms/android/qandroidplatformtheme.cpp10
-rw-r--r--src/plugins/platforms/android/qandroidsystemlocale.cpp12
-rw-r--r--src/plugins/platforms/cocoa/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoahelpers.h42
-rw-r--r--src/plugins/platforms/cocoa/qcocoahelpers.mm46
-rw-r--r--src/plugins/platforms/cocoa/qcocoainputcontext.h11
-rw-r--r--src/plugins/platforms/cocoa/qcocoainputcontext.mm68
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h8
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm39
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenu.mm23
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuloader.mm9
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.h5
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.mm115
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.mm8
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h5
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm106
-rw-r--r--src/plugins/platforms/cocoa/qmultitouch_mac.mm2
-rw-r--r--src/plugins/platforms/cocoa/qnsview.h1
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm42
-rw-r--r--src/plugins/platforms/cocoa/qnsview_complextext.mm666
-rw-r--r--src/plugins/platforms/cocoa/qnsview_keys.mm305
-rw-r--r--src/plugins/platforms/cocoa/qnsview_mouse.mm181
-rw-r--r--src/plugins/platforms/cocoa/qnswindow.mm50
-rw-r--r--src/plugins/platforms/direct2d/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/directfb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/eglfs/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_emu/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/CMakeLists.txt3
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/ios/CMakeLists.txt3
-rw-r--r--src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt7
-rw-r--r--src/plugins/platforms/ios/qiosservices.mm10
-rw-r--r--src/plugins/platforms/ios/quiaccessibilityelement.mm5
-rw-r--r--src/plugins/platforms/ios/quiview.mm7
-rw-r--r--src/plugins/platforms/ios/uistrings.cpp51
-rw-r--r--src/plugins/platforms/ios/uistrings_p.h (renamed from src/testlib/qtestcorelist_p.h)79
-rw-r--r--src/plugins/platforms/linuxfb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/minimal/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/minimalegl/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/offscreen/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/offscreen/qoffscreencommon.cpp38
-rw-r--r--src/plugins/platforms/offscreen/qoffscreencommon.h9
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration.cpp212
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration.h15
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp14
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration_x11.h2
-rw-r--r--src/plugins/platforms/qnx/CMakeLists.txt10
-rw-r--r--src/plugins/platforms/vkkhrdisplay/CMakeLists.txt6
-rw-r--r--src/plugins/platforms/vnc/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/wasm/CMakeLists.txt37
-rw-r--r--src/plugins/platforms/wasm/qtloader.js75
-rw-r--r--src/plugins/platforms/wasm/qwasmclipboard.cpp25
-rw-r--r--src/plugins/platforms/wasm/qwasmeventdispatcher.cpp10
-rw-r--r--src/plugins/platforms/wasm/qwasmeventtranslator.cpp22
-rw-r--r--src/plugins/platforms/wasm/qwasmeventtranslator.h2
-rw-r--r--src/plugins/platforms/wasm/qwasmintegration.cpp24
-rw-r--r--src/plugins/platforms/wasm/qwasmintegration.h1
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.cpp8
-rw-r--r--src/plugins/platforms/wasm/qwasmscreen.h4
-rw-r--r--src/plugins/platforms/wasm/qwasmstring.cpp4
-rw-r--r--src/plugins/platforms/wasm/qwasmwindow.cpp5
-rw-r--r--src/plugins/platforms/windows/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp108
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.h4
-rw-r--r--src/plugins/platforms/windows/qwindowstheme.cpp5
-rw-r--r--src/plugins/platforms/windows/qwindowstheme.h3
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp45
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h13
-rw-r--r--src/plugins/platforms/windows/uiautomation/qwindowsuiautils.cpp17
-rw-r--r--src/plugins/platforms/xcb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/qxcbclipboard.cpp8
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp42
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h11
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.cpp5
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.h5
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_screens.cpp392
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp1
-rw-r--r--src/plugins/platforms/xcb/qxcbcursor.cpp8
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.cpp6
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.cpp15
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.h11
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp137
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h19
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp115
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h16
-rw-r--r--src/plugins/platformthemes/gtk3/CMakeLists.txt2
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt2
-rw-r--r--src/plugins/printsupport/cups/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/.cmake.conf2
-rw-r--r--src/plugins/sqldrivers/db2/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/ibase/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/mysql/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/mysql/qsql_mysql.cpp132
-rw-r--r--src/plugins/sqldrivers/oci/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/oci/qsql_oci.cpp126
-rw-r--r--src/plugins/sqldrivers/odbc/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/psql/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/sqlite/CMakeLists.txt9
-rw-r--r--src/plugins/styles/android/CMakeLists.txt2
-rw-r--r--src/plugins/styles/mac/CMakeLists.txt2
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm130
-rw-r--r--src/plugins/styles/windowsvista/CMakeLists.txt2
-rw-r--r--src/plugins/styles/windowsvista/qwindowsvistastyle.cpp19
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp8
-rw-r--r--src/plugins/tls/certonly/CMakeLists.txt6
-rw-r--r--src/plugins/tls/certonly/qtlsbackend_cert.cpp2
-rw-r--r--src/plugins/tls/openssl/CMakeLists.txt9
-rw-r--r--src/plugins/tls/openssl/qdtls_openssl.cpp9
-rw-r--r--src/plugins/tls/openssl/qdtls_openssl_p.h2
-rw-r--r--src/plugins/tls/openssl/qsslcontext_openssl.cpp50
-rw-r--r--src/plugins/tls/openssl/qsslcontext_openssl_p.h7
-rw-r--r--src/plugins/tls/openssl/qssldiffiehellmanparameters_openssl.cpp51
-rw-r--r--src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp196
-rw-r--r--src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h126
-rw-r--r--src/plugins/tls/openssl/qtls_openssl.cpp29
-rw-r--r--src/plugins/tls/openssl/qtls_openssl_p.h6
-rw-r--r--src/plugins/tls/openssl/qtlsbackend_openssl.cpp67
-rw-r--r--src/plugins/tls/openssl/qtlsbackend_openssl_p.h2
-rw-r--r--src/plugins/tls/openssl/qtlskey_openssl.cpp144
-rw-r--r--src/plugins/tls/openssl/qtlskey_openssl_p.h9
-rw-r--r--src/plugins/tls/openssl/qx509_openssl.cpp65
-rw-r--r--src/plugins/tls/schannel/CMakeLists.txt9
-rw-r--r--src/plugins/tls/schannel/qtls_schannel.cpp117
-rw-r--r--src/plugins/tls/schannel/qtlsbackend_schannel_p.h2
-rw-r--r--src/plugins/tls/schannel/qtlskey_schannel.cpp11
-rw-r--r--src/plugins/tls/securetransport/CMakeLists.txt7
-rw-r--r--src/plugins/tls/securetransport/qtls_st.cpp97
-rw-r--r--src/plugins/tls/securetransport/qtlsbackend_st.cpp5
-rw-r--r--src/plugins/tls/securetransport/qtlsbackend_st_p.h2
-rw-r--r--src/plugins/tls/shared/qdtls_base.cpp3
-rw-r--r--src/plugins/tls/shared/qsslsocket_mac_shared.cpp10
-rw-r--r--src/plugins/tls/shared/qsslsocket_qt.cpp8
-rw-r--r--src/plugins/tls/shared/qtlskey_generic.cpp4
-rw-r--r--src/plugins/tls/shared/qx509_generic.cpp2
-rw-r--r--src/printsupport/CMakeLists.txt3
-rw-r--r--src/printsupport/doc/qtprintsupport.qdocconf4
-rw-r--r--src/printsupport/kernel/qtprintsupportglobal.h15
-rw-r--r--src/printsupport/platform/windows/qprintengine_win.cpp38
-rw-r--r--src/sql/CMakeLists.txt1
-rw-r--r--src/sql/doc/qtsql.qdocconf4
-rw-r--r--src/sql/kernel/qsqlfield.cpp36
-rw-r--r--src/sql/kernel/qtsqlglobal.h11
-rw-r--r--src/sql/models/qsqlquerymodel.cpp3
-rw-r--r--src/testlib/CMakeLists.txt6
-rw-r--r--src/testlib/doc/qttestlib.qdocconf4
-rw-r--r--src/testlib/doc/src/qttestlib-manual.qdoc10
-rw-r--r--src/testlib/qabstractitemmodeltester.cpp3
-rw-r--r--src/testlib/qabstracttestlogger.cpp2
-rw-r--r--src/testlib/qabstracttestlogger_p.h2
-rw-r--r--src/testlib/qappletestlogger.cpp4
-rw-r--r--src/testlib/qjunittestlogger.cpp362
-rw-r--r--src/testlib/qjunittestlogger_p.h22
-rw-r--r--src/testlib/qplaintestlogger.cpp4
-rw-r--r--src/testlib/qtaptestlogger.cpp6
-rw-r--r--src/testlib/qteamcitylogger.cpp4
-rw-r--r--src/testlib/qtest.h2
-rw-r--r--src/testlib/qtest_gui.h2
-rw-r--r--src/testlib/qtestcase.cpp79
-rw-r--r--src/testlib/qtestcase.h16
-rw-r--r--src/testlib/qtestcase.qdoc29
-rw-r--r--src/testlib/qtestcoreelement_p.h31
-rw-r--r--src/testlib/qtestelement.cpp9
-rw-r--r--src/testlib/qtestelement_p.h11
-rw-r--r--src/testlib/qtestelementattribute.cpp81
-rw-r--r--src/testlib/qtestelementattribute_p.h54
-rw-r--r--src/testlib/qtesteventloop.h10
-rw-r--r--src/testlib/qtestjunitstreamer.cpp111
-rw-r--r--src/testlib/qtestjunitstreamer_p.h5
-rw-r--r--src/testlib/qtestlog.cpp16
-rw-r--r--src/testlib/qtestresult.cpp54
-rw-r--r--src/testlib/qtestresult_p.h2
-rw-r--r--src/testlib/qttestglobal.h11
-rw-r--r--src/testlib/qxmltestlogger.cpp4
-rw-r--r--src/tools/androiddeployqt/CMakeLists.txt11
-rw-r--r--src/tools/androiddeployqt/main.cpp201
-rw-r--r--src/tools/androidtestrunner/CMakeLists.txt9
-rw-r--r--src/tools/androidtestrunner/main.cpp46
-rw-r--r--src/tools/bootstrap/CMakeLists.txt3
-rw-r--r--src/tools/moc/CMakeLists.txt1
-rw-r--r--src/tools/moc/generator.cpp9
-rw-r--r--src/tools/moc/main.cpp45
-rw-r--r--src/tools/moc/moc.cpp5
-rw-r--r--src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp74
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp18
-rw-r--r--src/tools/qtpaths/CMakeLists.txt1
-rw-r--r--src/tools/rcc/CMakeLists.txt1
-rw-r--r--src/tools/shared/depfile_shared.h80
-rw-r--r--src/tools/uic/qclass_lib_map.h1
-rw-r--r--src/widgets/CMakeLists.txt31
-rw-r--r--src/widgets/compat/removed_api.cpp114
-rw-r--r--src/widgets/dialogs/qdialog.cpp25
-rw-r--r--src/widgets/dialogs/qdialog_p.h2
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp12
-rw-r--r--src/widgets/dialogs/qfiledialog_p.h7
-rw-r--r--src/widgets/dialogs/qmessagebox.cpp28
-rw-r--r--src/widgets/dialogs/qmessagebox.h3
-rw-r--r--src/widgets/dialogs/qwizard.cpp2
-rw-r--r--src/widgets/dialogs/qwizard_win.cpp4
-rw-r--r--src/widgets/doc/qtwidgets.qdocconf4
-rw-r--r--src/widgets/doc/snippets/qstyleplugin/main.cpp2
-rw-r--r--src/widgets/doc/src/cmake-macros.qdoc5
-rw-r--r--src/widgets/doc/src/guibooks.qdoc13
-rw-r--r--src/widgets/doc/src/widgets-and-layouts/styles.qdoc2
-rw-r--r--src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc3
-rw-r--r--src/widgets/effects/qpixmapfilter.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.cpp4
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.h12
-rw-r--r--src/widgets/graphicsview/qgraphicsproxywidget.cpp43
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp6
-rw-r--r--src/widgets/graphicsview/qgraphicssceneevent.cpp91
-rw-r--r--src/widgets/graphicsview/qgraphicssceneevent.h12
-rw-r--r--src/widgets/graphicsview/qgraphicsview.cpp12
-rw-r--r--src/widgets/graphicsview/qgraphicsview.h12
-rw-r--r--src/widgets/graphicsview/qgraphicswidget.h3
-rw-r--r--src/widgets/graphicsview/qsimplex_p.cpp2
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp2
-rw-r--r--src/widgets/itemviews/qabstractitemview.h9
-rw-r--r--src/widgets/itemviews/qheaderview.h9
-rw-r--r--src/widgets/itemviews/qitemdelegate.cpp4
-rw-r--r--src/widgets/itemviews/qlistview.cpp50
-rw-r--r--src/widgets/itemviews/qlistwidget.cpp12
-rw-r--r--src/widgets/itemviews/qlistwidget.h3
-rw-r--r--src/widgets/itemviews/qstyleditemdelegate.cpp4
-rw-r--r--src/widgets/itemviews/qtableview.cpp6
-rw-r--r--src/widgets/itemviews/qtableview_p.h3
-rw-r--r--src/widgets/itemviews/qtreeview.cpp13
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp98
-rw-r--r--src/widgets/itemviews/qtreewidget.h9
-rw-r--r--src/widgets/itemviews/qtreewidget_p.h9
-rw-r--r--src/widgets/kernel/qapplication.cpp70
-rw-r--r--src/widgets/kernel/qapplication.h2
-rw-r--r--src/widgets/kernel/qapplication_p.h6
-rw-r--r--src/widgets/kernel/qformlayout.h12
-rw-r--r--src/widgets/kernel/qgesture.h3
-rw-r--r--src/widgets/kernel/qlayout.h3
-rw-r--r--src/widgets/kernel/qt_widgets_pch.h1
-rw-r--r--src/widgets/kernel/qtooltip.cpp7
-rw-r--r--src/widgets/kernel/qtwidgetsglobal.h15
-rw-r--r--src/widgets/kernel/qwidget.cpp232
-rw-r--r--src/widgets/kernel/qwidget.h85
-rw-r--r--src/widgets/kernel/qwidget_p.h16
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp60
-rw-r--r--src/widgets/kernel/qwindowcontainer.cpp2
-rw-r--r--src/widgets/styles/images/check_list_controller.svg21
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle-10.pngbin0 -> 195 bytes
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle-20.pngbin0 -> 344 bytes
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle-32.pngbin0 -> 474 bytes
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle-48.pngbin0 -> 721 bytes
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle-64.pngbin0 -> 920 bytes
-rw-r--r--src/widgets/styles/images/closedock-down-macstyle.svg15
-rw-r--r--src/widgets/styles/images/closedock-macstyle-10.pngbin0 -> 309 bytes
-rw-r--r--src/widgets/styles/images/closedock-macstyle-20.pngbin0 -> 579 bytes
-rw-r--r--src/widgets/styles/images/closedock-macstyle-32.pngbin0 -> 938 bytes
-rw-r--r--src/widgets/styles/images/closedock-macstyle-48.pngbin0 -> 1236 bytes
-rw-r--r--src/widgets/styles/images/closedock-macstyle-64.pngbin0 -> 1495 bytes
-rw-r--r--src/widgets/styles/images/closedock-macstyle.svg15
-rw-r--r--src/widgets/styles/images/closedock.svg18
-rw-r--r--src/widgets/styles/images/critical.svg14
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle-10.pngbin0 -> 246 bytes
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle-20.pngbin0 -> 363 bytes
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle-32.pngbin0 -> 416 bytes
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle-48.pngbin0 -> 622 bytes
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle-64.pngbin0 -> 771 bytes
-rw-r--r--src/widgets/styles/images/dockdock-down-macstyle.svg16
-rw-r--r--src/widgets/styles/images/dockdock-macstyle-10.pngbin0 -> 339 bytes
-rw-r--r--src/widgets/styles/images/dockdock-macstyle-20.pngbin0 -> 555 bytes
-rw-r--r--src/widgets/styles/images/dockdock-macstyle-32.pngbin0 -> 654 bytes
-rw-r--r--src/widgets/styles/images/dockdock-macstyle-48.pngbin0 -> 915 bytes
-rw-r--r--src/widgets/styles/images/dockdock-macstyle-64.pngbin0 -> 1212 bytes
-rw-r--r--src/widgets/styles/images/dockdock-macstyle.svg17
-rw-r--r--src/widgets/styles/images/file_open.svg19
-rw-r--r--src/widgets/styles/images/filedialog_end.svg27
-rw-r--r--src/widgets/styles/images/filedialog_start.svg27
-rw-r--r--src/widgets/styles/images/information.svg14
-rw-r--r--src/widgets/styles/images/qt_close.svg18
-rw-r--r--src/widgets/styles/images/qt_help.svg25
-rw-r--r--src/widgets/styles/images/qt_maximize.svg12
-rw-r--r--src/widgets/styles/images/qt_menu.svg22
-rw-r--r--src/widgets/styles/images/qt_minimize.svg15
-rw-r--r--src/widgets/styles/images/qt_normalizeup.svg20
-rw-r--r--src/widgets/styles/images/qt_shade.svg15
-rw-r--r--src/widgets/styles/images/qt_unshade.svg15
-rw-r--r--src/widgets/styles/images/question.svg21
-rw-r--r--src/widgets/styles/images/toolbar-ext-h.svg16
-rw-r--r--src/widgets/styles/images/toolbar-ext-v.svg16
-rw-r--r--src/widgets/styles/images/warning.svg16
-rw-r--r--src/widgets/styles/qcommonstyle.cpp61
-rw-r--r--src/widgets/styles/qcommonstylepixmaps_p.h2
-rw-r--r--src/widgets/styles/qdrawutil.cpp1
-rw-r--r--src/widgets/styles/qfusionstyle.cpp27
-rw-r--r--src/widgets/styles/qstyle.cpp10
-rw-r--r--src/widgets/styles/qstyle.h3
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp176
-rw-r--r--src/widgets/styles/qstylesheetstyle_p.h2
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp6
-rw-r--r--src/widgets/util/qscroller.h3
-rw-r--r--src/widgets/widgets/qabstractscrollarea.h6
-rw-r--r--src/widgets/widgets/qcalendarwidget.h6
-rw-r--r--src/widgets/widgets/qcombobox.h3
-rw-r--r--src/widgets/widgets/qdatetimeedit.cpp58
-rw-r--r--src/widgets/widgets/qdatetimeedit.h6
-rw-r--r--src/widgets/widgets/qdatetimeedit_p.h4
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp4
-rw-r--r--src/widgets/widgets/qdockwidget.cpp8
-rw-r--r--src/widgets/widgets/qkeysequenceedit.h3
-rw-r--r--src/widgets/widgets/qlabel.cpp4
-rw-r--r--src/widgets/widgets/qlabel.h3
-rw-r--r--src/widgets/widgets/qlcdnumber.cpp2
-rw-r--r--src/widgets/widgets/qlineedit.cpp22
-rw-r--r--src/widgets/widgets/qlineedit_p.cpp7
-rw-r--r--src/widgets/widgets/qlineedit_p.h9
-rw-r--r--src/widgets/widgets/qmainwindow.h3
-rw-r--r--src/widgets/widgets/qmainwindowlayout.cpp14
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp4
-rw-r--r--src/widgets/widgets/qmenu.cpp151
-rw-r--r--src/widgets/widgets/qmenu.h93
-rw-r--r--src/widgets/widgets/qmenubar.cpp68
-rw-r--r--src/widgets/widgets/qmenubar.h28
-rw-r--r--src/widgets/widgets/qplaintextedit.h3
-rw-r--r--src/widgets/widgets/qsplashscreen.cpp2
-rw-r--r--src/widgets/widgets/qstatusbar.cpp142
-rw-r--r--src/widgets/widgets/qtabbar.cpp2
-rw-r--r--src/widgets/widgets/qtabbar.h3
-rw-r--r--src/widgets/widgets/qtextedit.h3
-rw-r--r--src/widgets/widgets/qtoolbar.cpp111
-rw-r--r--src/widgets/widgets/qtoolbar.h55
-rw-r--r--src/widgets/widgets/qtoolbutton.cpp10
-rw-r--r--src/widgets/widgets/qtoolbutton.h1
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp1
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p.h6
-rw-r--r--src/xml/CMakeLists.txt1
-rw-r--r--src/xml/doc/qtxml.qdocconf4
-rw-r--r--src/xml/qtxmlglobal.h14
1698 files changed, 56154 insertions, 54097 deletions
diff --git a/src/3rdparty/freebsd/0001-Patch-the-FreeBSD-strto-u-ll-functions-to-work-insid.patch b/src/3rdparty/freebsd/0001-Patch-the-FreeBSD-strto-u-ll-functions-to-work-insid.patch
deleted file mode 100644
index 8fd012e4b1..0000000000
--- a/src/3rdparty/freebsd/0001-Patch-the-FreeBSD-strto-u-ll-functions-to-work-insid.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 81a2d1a38becdeed2cd8b963e190aedf197e39c6 Mon Sep 17 00:00:00 2001
-From: Thiago Macieira <thiago.macieira@intel.com>
-Date: Thu, 2 Oct 2014 22:03:19 -0700
-Subject: [PATCH 1/1] Patch the FreeBSD strto(u)ll functions to work inside
- QtCore
-
-Changes:
- - remove the #includes and the SCCSID
- - rename from strtoxx_l to qt_strtoxx (merging the two functions)
- - remove __restrict
- - remove the locale_t parameter and use ascii_isspace instead of isspace_l
- - fix compilation with -Wcast-qual (requires C++)
-
- src/3rdparty/freebsd/strtoll.c | 27 +++------------------------
- src/3rdparty/freebsd/strtoull.c | 27 +++------------------------
- 2 files changed, 6 insertions(+), 48 deletions(-)
-
-diff --git a/src/3rdparty/freebsd/strtoll.c b/src/3rdparty/freebsd/strtoll.c
-index c87aefb1cd..89da83425d 100644
---- a/src/3rdparty/freebsd/strtoll.c
-+++ b/src/3rdparty/freebsd/strtoll.c
-@@ -1,6 +1,4 @@
- /*-
-- * SPDX-License-Identifier: BSD-3-Clause
-- *
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
-@@ -34,18 +32,6 @@
- * SUCH DAMAGE.
- */
-
--#if defined(LIBC_SCCS) && !defined(lint)
--static char sccsid[] = "@(#)strtoq.c 8.1 (Berkeley) 6/4/93";
--#endif /* LIBC_SCCS and not lint */
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
--
--#include <limits.h>
--#include <errno.h>
--#include <ctype.h>
--#include <stdlib.h>
--#include "xlocale_private.h"
--
- /*
- * Convert a string to a long long integer.
- *
-@@ -53,15 +39,13 @@ __FBSDID("$FreeBSD$");
- * alphabets and digits are each contiguous.
- */
- long long
--strtoll_l(const char * __restrict nptr, char ** __restrict endptr, int base,
-- locale_t locale)
-+qt_strtoll(const char * nptr, char **endptr, int base)
- {
- const char *s;
- unsigned long long acc;
- char c;
- unsigned long long cutoff;
- int neg, any, cutlim;
-- FIX_LOCALE(locale);
-
- /*
- * Skip white space and pick up leading +/- sign if any.
-@@ -71,7 +55,7 @@ strtoll_l(const char * __restrict nptr, char ** __restrict endptr, int base,
- s = nptr;
- do {
- c = *s++;
-- } while (isspace_l((unsigned char)c, locale));
-+ } while (ascii_isspace(c));
- if (c == '-') {
- neg = 1;
- c = *s++;
-@@ -145,11 +129,6 @@ noconv:
- } else if (neg)
- acc = -acc;
- if (endptr != NULL)
-- *endptr = (char *)(any ? s - 1 : nptr);
-+ *endptr = const_cast<char *>(any ? s - 1 : nptr);
- return (acc);
- }
--long long
--strtoll(const char * __restrict nptr, char ** __restrict endptr, int base)
--{
-- return strtoll_l(nptr, endptr, base, __get_locale());
--}
-diff --git a/src/3rdparty/freebsd/strtoull.c b/src/3rdparty/freebsd/strtoull.c
-index 58a9b23b56..cf151691ad 100644
---- a/src/3rdparty/freebsd/strtoull.c
-+++ b/src/3rdparty/freebsd/strtoull.c
-@@ -1,6 +1,4 @@
- /*-
-- * SPDX-License-Identifier: BSD-3-Clause
-- *
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
-@@ -34,18 +32,6 @@
- * SUCH DAMAGE.
- */
-
--#if defined(LIBC_SCCS) && !defined(lint)
--static char sccsid[] = "@(#)strtouq.c 8.1 (Berkeley) 6/4/93";
--#endif /* LIBC_SCCS and not lint */
--#include <sys/cdefs.h>
--__FBSDID("$FreeBSD$");
--
--#include <limits.h>
--#include <errno.h>
--#include <ctype.h>
--#include <stdlib.h>
--#include "xlocale_private.h"
--
- /*
- * Convert a string to an unsigned long long integer.
- *
-@@ -53,15 +39,13 @@ __FBSDID("$FreeBSD$");
- * alphabets and digits are each contiguous.
- */
- unsigned long long
--strtoull_l(const char * __restrict nptr, char ** __restrict endptr, int base,
-- locale_t locale)
-+qt_strtoull(const char * nptr, char **endptr, int base)
- {
- const char *s;
- unsigned long long acc;
- char c;
- unsigned long long cutoff;
- int neg, any, cutlim;
-- FIX_LOCALE(locale);
-
- /*
- * See strtoq for comments as to the logic used.
-@@ -69,7 +53,7 @@ strtoull_l(const char * __restrict nptr, char ** __restrict endptr, int base,
- s = nptr;
- do {
- c = *s++;
-- } while (isspace_l((unsigned char)c, locale));
-+ } while (ascii_isspace(c));
- if (c == '-') {
- neg = 1;
- c = *s++;
-@@ -123,11 +107,6 @@ noconv:
- } else if (neg)
- acc = -acc;
- if (endptr != NULL)
-- *endptr = (char *)(any ? s - 1 : nptr);
-+ *endptr = const_cast<char *>(any ? s - 1 : nptr);
- return (acc);
- }
--unsigned long long
--strtoull(const char * __restrict nptr, char ** __restrict endptr, int base)
--{
-- return strtoull_l(nptr, endptr, base, __get_locale());
--}
---
-2.25.1
-
diff --git a/src/3rdparty/freebsd/LICENSE b/src/3rdparty/freebsd/LICENSE
deleted file mode 100644
index 5bb30318eb..0000000000
--- a/src/3rdparty/freebsd/LICENSE
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 1992, 1993
- The Regents of the University of California. All rights reserved.
-
-Copyright (c) 2011 The FreeBSD Foundation
-All rights reserved.
-Portions of this software were developed by David Chisnall
-under sponsorship from the FreeBSD Foundation.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
diff --git a/src/3rdparty/freebsd/qt_attribution.json b/src/3rdparty/freebsd/qt_attribution.json
deleted file mode 100644
index 644880a90d..0000000000
--- a/src/3rdparty/freebsd/qt_attribution.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "Id": "freebsd",
- "Name": "FreeBSD strtoll and strtoull",
- "QDocModule": "qtcore",
- "QtUsage": "Used in Qt Core.",
- "Files": "strtoll.c strtoull.c",
-
- "Description": "strtoll() and strtoull() are functions for converting a string to (unsigned) long long integer.",
- "Homepage": "https://github.com/freebsd/freebsd/",
- "DownloadLocation": "https://github.com/freebsd/freebsd/tree/master/lib/libc/stdlib",
- "Version": "upstream has complicated with std locales; do not update",
- "Version": "18b29f3fb8abee5d57ed8f4a44f806bec7e0eeff",
- "License": "BSD 3-clause \"New\" or \"Revised\" License",
- "LicenseId": "BSD-3-Clause",
- "LicenseFile": "LICENSE",
- "Copyright": "Copyright (c) 1992, 1993 The Regents of the University of California.
-Copyright (c) 2011 The FreeBSD Foundation"
-}
diff --git a/src/3rdparty/freebsd/strtoll.c b/src/3rdparty/freebsd/strtoll.c
deleted file mode 100644
index 89da83425d..0000000000
--- a/src/3rdparty/freebsd/strtoll.c
+++ /dev/null
@@ -1,134 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Copyright (c) 2011 The FreeBSD Foundation
- * All rights reserved.
- * Portions of this software were developed by David Chisnall
- * under sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Convert a string to a long long integer.
- *
- * Assumes that the upper and lower case
- * alphabets and digits are each contiguous.
- */
-long long
-qt_strtoll(const char * nptr, char **endptr, int base)
-{
- const char *s;
- unsigned long long acc;
- char c;
- unsigned long long cutoff;
- int neg, any, cutlim;
-
- /*
- * Skip white space and pick up leading +/- sign if any.
- * If base is 0, allow 0x for hex and 0 for octal, else
- * assume decimal; if base is already 16, allow 0x.
- */
- s = nptr;
- do {
- c = *s++;
- } while (ascii_isspace(c));
- if (c == '-') {
- neg = 1;
- c = *s++;
- } else {
- neg = 0;
- if (c == '+')
- c = *s++;
- }
- if ((base == 0 || base == 16) &&
- c == '0' && (*s == 'x' || *s == 'X') &&
- ((s[1] >= '0' && s[1] <= '9') ||
- (s[1] >= 'A' && s[1] <= 'F') ||
- (s[1] >= 'a' && s[1] <= 'f'))) {
- c = s[1];
- s += 2;
- base = 16;
- }
- if (base == 0)
- base = c == '0' ? 8 : 10;
- acc = any = 0;
- if (base < 2 || base > 36)
- goto noconv;
-
- /*
- * Compute the cutoff value between legal numbers and illegal
- * numbers. That is the largest legal value, divided by the
- * base. An input number that is greater than this value, if
- * followed by a legal input character, is too big. One that
- * is equal to this value may be valid or not; the limit
- * between valid and invalid numbers is then based on the last
- * digit. For instance, if the range for quads is
- * [-9223372036854775808..9223372036854775807] and the input base
- * is 10, cutoff will be set to 922337203685477580 and cutlim to
- * either 7 (neg==0) or 8 (neg==1), meaning that if we have
- * accumulated a value > 922337203685477580, or equal but the
- * next digit is > 7 (or 8), the number is too big, and we will
- * return a range error.
- *
- * Set 'any' if any `digits' consumed; make it negative to indicate
- * overflow.
- */
- cutoff = neg ? (unsigned long long)-(LLONG_MIN + LLONG_MAX) + LLONG_MAX
- : LLONG_MAX;
- cutlim = cutoff % base;
- cutoff /= base;
- for ( ; ; c = *s++) {
- if (c >= '0' && c <= '9')
- c -= '0';
- else if (c >= 'A' && c <= 'Z')
- c -= 'A' - 10;
- else if (c >= 'a' && c <= 'z')
- c -= 'a' - 10;
- else
- break;
- if (c >= base)
- break;
- if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim))
- any = -1;
- else {
- any = 1;
- acc *= base;
- acc += c;
- }
- }
- if (any < 0) {
- acc = neg ? LLONG_MIN : LLONG_MAX;
- errno = ERANGE;
- } else if (!any) {
-noconv:
- errno = EINVAL;
- } else if (neg)
- acc = -acc;
- if (endptr != NULL)
- *endptr = const_cast<char *>(any ? s - 1 : nptr);
- return (acc);
-}
diff --git a/src/3rdparty/freebsd/strtoull.c b/src/3rdparty/freebsd/strtoull.c
deleted file mode 100644
index cf151691ad..0000000000
--- a/src/3rdparty/freebsd/strtoull.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Copyright (c) 2011 The FreeBSD Foundation
- * All rights reserved.
- * Portions of this software were developed by David Chisnall
- * under sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Convert a string to an unsigned long long integer.
- *
- * Assumes that the upper and lower case
- * alphabets and digits are each contiguous.
- */
-unsigned long long
-qt_strtoull(const char * nptr, char **endptr, int base)
-{
- const char *s;
- unsigned long long acc;
- char c;
- unsigned long long cutoff;
- int neg, any, cutlim;
-
- /*
- * See strtoq for comments as to the logic used.
- */
- s = nptr;
- do {
- c = *s++;
- } while (ascii_isspace(c));
- if (c == '-') {
- neg = 1;
- c = *s++;
- } else {
- neg = 0;
- if (c == '+')
- c = *s++;
- }
- if ((base == 0 || base == 16) &&
- c == '0' && (*s == 'x' || *s == 'X') &&
- ((s[1] >= '0' && s[1] <= '9') ||
- (s[1] >= 'A' && s[1] <= 'F') ||
- (s[1] >= 'a' && s[1] <= 'f'))) {
- c = s[1];
- s += 2;
- base = 16;
- }
- if (base == 0)
- base = c == '0' ? 8 : 10;
- acc = any = 0;
- if (base < 2 || base > 36)
- goto noconv;
-
- cutoff = ULLONG_MAX / base;
- cutlim = ULLONG_MAX % base;
- for ( ; ; c = *s++) {
- if (c >= '0' && c <= '9')
- c -= '0';
- else if (c >= 'A' && c <= 'Z')
- c -= 'A' - 10;
- else if (c >= 'a' && c <= 'z')
- c -= 'a' - 10;
- else
- break;
- if (c >= base)
- break;
- if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim))
- any = -1;
- else {
- any = 1;
- acc *= base;
- acc += c;
- }
- }
- if (any < 0) {
- acc = ULLONG_MAX;
- errno = ERANGE;
- } else if (!any) {
-noconv:
- errno = EINVAL;
- } else if (neg)
- acc = -acc;
- if (endptr != NULL)
- *endptr = const_cast<char *>(any ? s - 1 : nptr);
- return (acc);
-}
diff --git a/src/3rdparty/freetype/README b/src/3rdparty/freetype/README
index 8f3e2bc03b..e4c8cf1c57 100644
--- a/src/3rdparty/freetype/README
+++ b/src/3rdparty/freetype/README
@@ -1,4 +1,4 @@
- FreeType 2.10.1
+ FreeType 2.10.4
===============
Homepage: https://www.freetype.org
@@ -16,17 +16,20 @@
the file `docs/LICENSE.TXT' for the available licenses.
The FreeType 2 API reference is located in `docs/reference/site';
- use the file `index.html' as the top entry point. Additional
- documentation is available as a separate package from our sites. Go
- to
+ use the file `index.html' as the top entry point. [Please note that
+ currently the search function for locally installed documentation
+ doesn't work due to cross-site scripting issues.]
+
+ Additional documentation is available as a separate package from our
+ sites. Go to
https://download.savannah.gnu.org/releases/freetype/
and download one of the following files.
- freetype-doc-2.10.1.tar.xz
- freetype-doc-2.10.1.tar.gz
- ftdoc2101.zip
+ freetype-doc-2.10.4.tar.xz
+ freetype-doc-2.10.4.tar.gz
+ ftdoc2104.zip
To view the documentation online, go to
@@ -64,6 +67,18 @@
a terse message that only says `it doesn't work'.
+ Patches
+ =======
+
+ Please submit patches to the `freetype-devel@nongnu.org' mailing
+ list -- and thank you in advance for your work on improving
+ FreeType!
+
+ Details on the process can be found here:
+
+ https://www.freetype.org/developer.html#patches
+
+
Enjoy!
@@ -71,7 +86,7 @@
----------------------------------------------------------------------
-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 --git a/src/3rdparty/freetype/builds/unix/ftconfig.h b/src/3rdparty/freetype/builds/unix/ftconfig.h
index 39bcaaea14..51cb796391 100644
--- a/src/3rdparty/freetype/builds/unix/ftconfig.h
+++ b/src/3rdparty/freetype/builds/unix/ftconfig.h
@@ -1,481 +1,63 @@
-/* ftconfig.h. Generated from ftconfig.in by configure. */
-/***************************************************************************/
-/* */
-/* ftconfig.in */
-/* */
-/* UNIX-specific configuration file (specification only). */
-/* */
-/* Copyright 1996-2004, 2006-2009, 2011, 2013, 2014 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. */
-/* */
-/***************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* This header file contains a number of macro definitions that are used */
- /* by the rest of the engine. Most of the macros here are automatically */
- /* determined at compile time, and you should not need to change it to */
- /* port FreeType, except to compile the library with a non-ANSI */
- /* compiler. */
- /* */
- /* Note however that if some specific modifications are needed, we */
- /* advise you to place a modified copy in your build directory. */
- /* */
- /* The build directory is usually `builds/<system>', and contains */
- /* system-specific files that are always included first when building */
- /* the library. */
- /* */
- /*************************************************************************/
-
-
-#ifndef __FTCONFIG_H__
-#define __FTCONFIG_H__
+/* ftconfig.h. Generated from ftconfig.h.in by configure. */
+/****************************************************************************
+ *
+ * ftconfig.h.in
+ *
+ * UNIX-specific configuration file (specification only).
+ *
+ * Copyright (C) 1996-2020 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, 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.
+ *
+ */
+
+
+ /**************************************************************************
+ *
+ * This header file contains a number of macro definitions that are used by
+ * the rest of the engine. Most of the macros here are automatically
+ * determined at compile time, and you should not need to change it to port
+ * FreeType, except to compile the library with a non-ANSI compiler.
+ *
+ * Note however that if some specific modifications are needed, we advise
+ * you to place a modified copy in your build directory.
+ *
+ * The build directory is usually `builds/<system>`, and contains
+ * system-specific files that are always included first when building the
+ * library.
+ *
+ */
+
+#ifndef FTCONFIG_H_
+#define FTCONFIG_H_
#include <ft2build.h>
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
-
-FT_BEGIN_HEADER
-
-
- /*************************************************************************/
- /* */
- /* PLATFORM-SPECIFIC CONFIGURATION MACROS */
- /* */
- /* These macros can be toggled to suit a specific system. The current */
- /* ones are defaults used to compile FreeType in an ANSI C environment */
- /* (16bit compilers are also supported). Copy this file to your own */
- /* `builds/<system>' directory, and edit it to port the engine. */
- /* */
- /*************************************************************************/
-
-
#define HAVE_UNISTD_H 1
#define HAVE_FCNTL_H 1
-#define HAVE_STDINT_H 1
-
-
- /* There are systems (like the Texas Instruments 'C54x) where a `char' */
- /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */
- /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */
- /* is probably unexpected. */
- /* */
- /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */
- /* `char' type. */
-
-#ifndef FT_CHAR_BIT
-#define FT_CHAR_BIT CHAR_BIT
-#endif
-
/* #undef FT_USE_AUTOCONF_SIZEOF_TYPES */
#ifdef FT_USE_AUTOCONF_SIZEOF_TYPES
#define SIZEOF_INT 4
-#define SIZEOF_LONG 4
+#define SIZEOF_LONG 8
#define FT_SIZEOF_INT SIZEOF_INT
#define FT_SIZEOF_LONG SIZEOF_LONG
-#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
-
- /* Following cpp computation of the bit length of int and long */
- /* is copied from default include/config/ftconfig.h. */
- /* If any improvement is required for this file, it should be */
- /* applied to the original header file for the builders that */
- /* does not use configure script. */
-
- /* The size of an `int' type. */
-#if FT_UINT_MAX == 0xFFFFUL
-#define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
-#elif FT_UINT_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
-#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
-#else
-#error "Unsupported size of `int' type!"
-#endif
-
- /* The size of a `long' type. A five-byte `long' (as used e.g. on the */
- /* DM642) is recognized but avoided. */
-#if FT_ULONG_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
-#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
-#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
-#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT)
-#else
-#error "Unsupported size of `long' type!"
-#endif
-
-#endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
-
-
- /* FT_UNUSED is a macro used to indicate that a given parameter is not */
- /* used -- this is only used to get rid of unpleasant compiler warnings */
-#ifndef FT_UNUSED
-#define FT_UNUSED( arg ) ( (arg) = (arg) )
-#endif
-
-
- /*************************************************************************/
- /* */
- /* AUTOMATIC CONFIGURATION MACROS */
- /* */
- /* These macros are computed from the ones defined above. Don't touch */
- /* their definition, unless you know precisely what you are doing. No */
- /* porter should need to mess with them. */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* Mac support */
- /* */
- /* This is the only necessary change, so it is defined here instead */
- /* providing a new configuration file. */
- /* */
-#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
- /* no Carbon frameworks for 64bit 10.4.x */
- /* AvailabilityMacros.h is available since Mac OS X 10.2, */
- /* so guess the system version by maximum errno before inclusion */
-#include <errno.h>
-#ifdef ECANCELED /* defined since 10.2 */
-#include "AvailabilityMacros.h"
-#endif
-#if defined( __LP64__ ) && \
- ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
-#undef FT_MACINTOSH
-#endif
-
-#elif defined( __SC__ ) || defined( __MRC__ )
- /* Classic MacOS compilers */
-#include "ConditionalMacros.h"
-#if TARGET_OS_MAC
-#define FT_MACINTOSH 1
-#endif
-
-#endif
-
-
- /* Fix compiler warning with sgi compiler */
-#if defined( __sgi ) && !defined( __GNUC__ )
-#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
-#pragma set woff 3505
-#endif
-#endif
-
-
- /*************************************************************************/
- /* */
- /* <Section> */
- /* basic_types */
- /* */
- /*************************************************************************/
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Int16 */
- /* */
- /* <Description> */
- /* A typedef for a 16bit signed integer type. */
- /* */
- typedef signed short FT_Int16;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UInt16 */
- /* */
- /* <Description> */
- /* A typedef for a 16bit unsigned integer type. */
- /* */
- typedef unsigned short FT_UInt16;
-
- /* */
-
-
- /* this #if 0 ... #endif clause is for documentation purposes */
-#if 0
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Int32 */
- /* */
- /* <Description> */
- /* A typedef for a 32bit signed integer type. The size depends on */
- /* the configuration. */
- /* */
- typedef signed XXX FT_Int32;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UInt32 */
- /* */
- /* A typedef for a 32bit unsigned integer type. The size depends on */
- /* the configuration. */
- /* */
- typedef unsigned XXX FT_UInt32;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_Int64 */
- /* */
- /* A typedef for a 64bit signed integer type. The size depends on */
- /* the configuration. Only defined if there is real 64bit support; */
- /* otherwise, it gets emulated with a structure (if necessary). */
- /* */
- typedef signed XXX FT_Int64;
-
-
- /*************************************************************************/
- /* */
- /* <Type> */
- /* FT_UInt64 */
- /* */
- /* A typedef for a 64bit unsigned integer type. The size depends on */
- /* the configuration. Only defined if there is real 64bit support; */
- /* otherwise, it gets emulated with a structure (if necessary). */
- /* */
- typedef unsigned XXX FT_UInt64;
-
- /* */
-
-#endif
-
-#if FT_SIZEOF_INT == 4
-
- typedef signed int FT_Int32;
- typedef unsigned int FT_UInt32;
-
-#elif FT_SIZEOF_LONG == 4
-
- typedef signed long FT_Int32;
- typedef unsigned long FT_UInt32;
-
-#else
-#error "no 32bit type found -- please check your configuration files"
-#endif
-
-
- /* look up an integer type that is at least 32 bits */
-#if FT_SIZEOF_INT >= 4
-
- typedef int FT_Fast;
- typedef unsigned int FT_UFast;
-
-#elif FT_SIZEOF_LONG >= 4
-
- typedef long FT_Fast;
- typedef unsigned long FT_UFast;
-
-#endif
-
-
- /* determine whether we have a 64-bit int type for platforms without */
- /* Autoconf */
-#if FT_SIZEOF_LONG == 8
-
- /* FT_LONG64 must be defined if a 64-bit type is available */
-#define FT_LONG64
-#define FT_INT64 long
-#define FT_UINT64 unsigned long
-
- /*************************************************************************/
- /* */
- /* A 64-bit data type may create compilation problems if you compile */
- /* in strict ANSI mode. To avoid them, we disable other 64-bit data */
- /* types if __STDC__ is defined. You can however ignore this rule */
- /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
- /* */
-#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
-
-#if defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
-
- /* this compiler provides the __int64 type */
-#define FT_LONG64
-#define FT_INT64 __int64
-#define FT_UINT64 unsigned __int64
-
-#elif defined( __BORLANDC__ ) /* Borland C++ */
-
- /* XXXX: We should probably check the value of __BORLANDC__ in order */
- /* to test the compiler version. */
-
- /* this compiler provides the __int64 type */
-#define FT_LONG64
-#define FT_INT64 __int64
-#define FT_UINT64 unsigned __int64
-
-#elif defined( __WATCOMC__ ) /* Watcom C++ */
-
- /* Watcom doesn't provide 64-bit data types */
-
-#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
-
-#define FT_LONG64
-#define FT_INT64 long long int
-#define FT_UINT64 unsigned long long int
-
-#elif defined( __GNUC__ )
-
- /* GCC provides the `long long' type */
-#define FT_LONG64
-#define FT_INT64 long long int
-#define FT_UINT64 unsigned long long int
-
-#endif /* _MSC_VER */
-
-#endif /* FT_SIZEOF_LONG == 8 */
-
-#ifdef FT_LONG64
- typedef FT_INT64 FT_Int64;
- typedef FT_UINT64 FT_UInt64;
-#endif
-
-
-#define FT_BEGIN_STMNT do {
-#define FT_END_STMNT } while ( 0 )
-#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
-
-
-#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
-
-#define FT_LOCAL( x ) static x
-#define FT_LOCAL_DEF( x ) static x
-
-#else
-
-#ifdef __cplusplus
-#define FT_LOCAL( x ) extern "C" x
-#define FT_LOCAL_DEF( x ) extern "C" x
-#else
-#define FT_LOCAL( x ) extern x
-#define FT_LOCAL_DEF( x ) x
-#endif
-
-#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
-
-#define FT_LOCAL_ARRAY( x ) extern const x
-#define FT_LOCAL_ARRAY_DEF( x ) const x
-
-
-#ifndef FT_BASE
-
-#ifdef __cplusplus
-#define FT_BASE( x ) extern "C" x
-#else
-#define FT_BASE( x ) extern x
-#endif
-
-#endif /* !FT_BASE */
-
-
-#ifndef FT_BASE_DEF
-
-#ifdef __cplusplus
-#define FT_BASE_DEF( x ) x
-#else
-#define FT_BASE_DEF( x ) x
-#endif
-
-#endif /* !FT_BASE_DEF */
-
-
-#ifndef FT_EXPORT
-
-#ifdef __cplusplus
-#define FT_EXPORT( x ) extern "C" x
-#else
-#define FT_EXPORT( x ) extern x
-#endif
-
-#endif /* !FT_EXPORT */
-
-
-#ifndef FT_EXPORT_DEF
-
-#ifdef __cplusplus
-#define FT_EXPORT_DEF( x ) extern "C" x
-#else
-#define FT_EXPORT_DEF( x ) extern x
-#endif
-
-#endif /* !FT_EXPORT_DEF */
-
-
-#ifndef FT_EXPORT_VAR
-
-#ifdef __cplusplus
-#define FT_EXPORT_VAR( x ) extern "C" x
-#else
-#define FT_EXPORT_VAR( x ) extern x
-#endif
-
-#endif /* !FT_EXPORT_VAR */
-
- /* The following macros are needed to compile the library with a */
- /* C++ compiler and with 16bit compilers. */
- /* */
-
- /* This is special. Within C++, you must specify `extern "C"' for */
- /* functions which are used via function pointers, and you also */
- /* must do that for structures which contain function pointers to */
- /* assure C linkage -- it's not possible to have (local) anonymous */
- /* functions which are accessed by (global) function pointers. */
- /* */
- /* */
- /* FT_CALLBACK_DEF is used to _define_ a callback function. */
- /* */
- /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
- /* contains pointers to callback functions. */
- /* */
- /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
- /* that contains pointers to callback functions. */
- /* */
- /* */
- /* Some 16bit compilers have to redefine these macros to insert */
- /* the infamous `_cdecl' or `__fastcall' declarations. */
- /* */
-#ifndef FT_CALLBACK_DEF
-#ifdef __cplusplus
-#define FT_CALLBACK_DEF( x ) extern "C" x
-#else
-#define FT_CALLBACK_DEF( x ) static x
-#endif
-#endif /* FT_CALLBACK_DEF */
-
-#ifndef FT_CALLBACK_TABLE
-#ifdef __cplusplus
-#define FT_CALLBACK_TABLE extern "C"
-#define FT_CALLBACK_TABLE_DEF extern "C"
-#else
-#define FT_CALLBACK_TABLE extern
-#define FT_CALLBACK_TABLE_DEF /* nothing */
-#endif
-#endif /* FT_CALLBACK_TABLE */
-
-
-FT_END_HEADER
+#endif /* FT_USE_AUTOCONF_SIZEOF_TYPES */
+#include <freetype/config/integer-types.h>
+#include <freetype/config/public-macros.h>
+#include <freetype/config/mac-support.h>
-#endif /* __FTCONFIG_H__ */
+#endif /* FTCONFIG_H_ */
/* END */
diff --git a/src/3rdparty/freetype/builds/unix/ftsystem.c b/src/3rdparty/freetype/builds/unix/ftsystem.c
index 826713f948..22bb4dab9b 100644
--- a/src/3rdparty/freetype/builds/unix/ftsystem.c
+++ b/src/3rdparty/freetype/builds/unix/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Unix-specific FreeType low-level system interface (body). */
/* */
-/* 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,11 +19,12 @@
#include <ft2build.h>
/* we use our special ftconfig.h file, not the standard one */
#include <ftconfig.h>
-#include FT_INTERNAL_DEBUG_H
-#include FT_SYSTEM_H
-#include FT_ERRORS_H
-#include FT_TYPES_H
-#include FT_INTERNAL_STREAM_H
+//#include FT_CONFIG_CONFIG_H
+#include <freetype/internal/ftdebug.h>
+#include <freetype/ftsystem.h>
+#include <freetype/fterrors.h>
+#include <freetype/fttypes.h>
+#include <freetype/internal/ftstream.h>
/* memory-mapping includes and definitions */
#ifdef HAVE_UNISTD_H
@@ -351,7 +352,7 @@
stream->read = 0;
FT_TRACE1(( "FT_Stream_Open:" ));
- FT_TRACE1(( " opened `%s' (%d bytes) successfully\n",
+ FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n",
filepathname, stream->size ));
return FT_Err_Ok;
diff --git a/src/3rdparty/freetype/docs/CHANGES b/src/3rdparty/freetype/docs/CHANGES
index f36cb19b7e..3bd5291ae1 100644
--- a/src/3rdparty/freetype/docs/CHANGES
+++ b/src/3rdparty/freetype/docs/CHANGES
@@ -1,3 +1,104 @@
+CHANGES BETWEEN 2.10.3 and 2.10.4
+
+ I. IMPORTANT BUG FIXES
+
+ - A heap buffer overflow has been found in the handling of embedded
+ PNG bitmaps, introduced in FreeType version 2.6.
+
+ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15999
+
+ If you use option FT_CONFIG_OPTION_USE_PNG you should upgrade
+ immediately.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.10.2 and 2.10.3
+
+ I. IMPORTANT CHANGES
+
+ - New flag `FT_OUTLINE_OVERLAP'. If set, make the smooth rasterizer
+ do 4x4 oversampling to mitigate artifacts in pixels partially
+ covered by overlapping contours. Note that this at least
+ quadruples the rendering time.
+
+ If a glyph in a TrueType font has the `OVERLAP_SIMPLE' or
+ `OVERLAP_COMPOUND' bit set, FreeType automatically selects this
+ rendering mode.
+
+
+ II. MISCELLANEOUS
+
+ - Using the arcane method of including FreeType header files with
+ macros like `FT_FREETYPE_H' is no longer mandatory (but retained
+ as an optional feature for backward compatibility).
+
+ - Support for building the library with Meson. Building the demo
+ programs with Meson will follow in a forthcoming release.
+
+ - Minor improvements to the B/W rasterizer.
+
+ - Auto-hinter support for Medefaidrin script.
+
+ - Fix various memory leaks (mainly for CFF) and other issues that
+ might cause crashes in rare circumstances.
+
+ - Jam support has been removed.
+
+ - In `ftview', custom LCD filter values are now normalized and
+ balanced. Unorthodox filters are still available through the `-L'
+ command line option.
+
+ - The GUI demo programs can now be resized.
+
+ - Demo programs that accept command line option `-k' can now handle
+ function keys, too. The corresponding character codes start with
+ 0xF1. As an example, the POSIX shell syntax (accepted by bash,
+ ksh, and zsh)
+
+ -k $'\xF3q'
+
+ emulates the pressing of function key `F3' followed by key `q'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.10.1 and 2.10.2
+
+ I. IMPORTANT CHANGES
+
+ - Support of WOFF2 fonts. This code contribution was Nikhil
+ Ramakrishnan's GSoC 2019 project.
+
+
+ II. MISCELLANEOUS
+
+ - Function `FT_Get_Var_Axis_Flags' returned random data for Type 1
+ MM fonts.
+
+ - Type 1 fonts with non-integer metrics are now supported by the new
+ (CFF) engine introduced in FreeType 2.9.
+
+ - Drop support for Python 2 in Freetype's API reference generator
+ `docwriter' (Python >= 3.5 is required for targets `make refdoc'
+ and `make refdoc-venv').
+
+ - Auto-hinter support for Hanifi Rohingya.
+
+ - Document the `FT2_KEEP_ALIVE' debugging environment variable.
+
+ - The Visual C++ (and Visual C) project files for Windows builds no
+ longer generate libraries that contain the FreeType version in its
+ filenames. Instead, a resource file gets used to make the
+ libraries contain the corresponding information.
+
+ - The next release will remove Jam build support.
+
+ - The `ftbench' demo program has a new test for testing the
+ `FT_Glyph_Stroke' functionality.
+
+
+======================================================================
CHANGES BETWEEN 2.10.0 and 2.10.1
@@ -209,7 +310,7 @@ CHANGES BETWEEN 2.9 and 2.9.1
use the `pkg-config' interface.
The `configure' script no longer installs `freetype-config' by
- default. For backwards compatibility, a new configure option
+ default. For backward compatibility, a new configure option
`--enable-freetype-config' is provided that reverts this
decision.
@@ -5198,7 +5299,7 @@ Extensions support:
------------------------------------------------------------------------
-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,
diff --git a/src/3rdparty/freetype/docs/CUSTOMIZE b/src/3rdparty/freetype/docs/CUSTOMIZE
index f3f9f8edc1..0f92e70046 100644
--- a/src/3rdparty/freetype/docs/CUSTOMIZE
+++ b/src/3rdparty/freetype/docs/CUSTOMIZE
@@ -139,7 +139,7 @@ IV. Overriding default configuration and module headers
----------------------------------------------------------------------
-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,
diff --git a/src/3rdparty/freetype/docs/DEBUG b/src/3rdparty/freetype/docs/DEBUG
index 828f29434d..a96b5e27b8 100644
--- a/src/3rdparty/freetype/docs/DEBUG
+++ b/src/3rdparty/freetype/docs/DEBUG
@@ -11,20 +11,20 @@ located in the file `ftoption.h'. The macros are:
FT_DEBUG_LEVEL_ERROR
- #define this macro if you want to compile the FT_ERROR macro calls
- to print error messages during program execution. This will not
- stop the program. Very useful to spot invalid fonts during
+ #define this macro if you want to compile the `FT_ERROR' macro
+ calls to print error messages during program execution. This does
+ not stop the program. Very useful to spot invalid fonts during
development and to code workarounds for them.
FT_DEBUG_LEVEL_TRACE
- #define this macro if you want to compile both macros FT_ERROR and
- FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
- FT_TRACE2, ..., FT_TRACE7.
+ #define this macro if you want to compile both macros `FT_ERROR'
+ and `FT_TRACE'. This also includes the variants `FT_TRACE0',
+ `FT_TRACE1', `FT_TRACE2', ..., `FT_TRACE7'.
The trace macros are used to send debugging messages when an
appropriate `debug level' is configured at runtime through the
- FT2_DEBUG environment variable (more on this later).
+ `FT2_DEBUG' environment variable (more on this later).
FT_DEBUG_MEMORY
@@ -32,16 +32,16 @@ located in the file `ftoption.h'. The macros are:
small but effective debugging memory manager that tracks all
allocations and frees that are performed within the font engine.
- When the FT2_DEBUG_MEMORY environment variable is defined at
- runtime, a call to FT_Done_FreeType will dump memory statistics,
- including the list of leaked memory blocks with the source
- locations where these were allocated. It is always a very good
- idea to define this in development builds. This works with _any_
- program linked to FreeType, but requires a big deal of memory (the
- debugging memory manager never frees the blocks to the heap in
- order to detect double frees).
+ When the `FT2_DEBUG_MEMORY' environment variable is defined at
+ runtime, a call to `FT_Done_FreeType' dumps memory statistics,
+ including the list of leaked memory blocks and optionally with the
+ source locations where these were allocated. It is always a very
+ good idea to define this in development builds. This works with
+ _any_ program linked to FreeType, but requires a big deal of
+ memory (the debugging memory manager never frees the blocks to the
+ heap in order to detect double frees).
- When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging
+ When `FT2_DEBUG_MEMORY' isn't defined at runtime, the debugging
memory manager is ignored, and performance is unaffected.
@@ -55,10 +55,10 @@ debugging its code:
1. FT_ERROR(( ... ))
This macro is used to send debug messages that indicate relatively
- serious errors (like broken font files), but will not stop the
+ serious errors (like broken font files) without stopping the
execution of the running program. Its code is compiled only when
- either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
- `ftoption.h'.
+ either `FT_DEBUG_LEVEL_ERROR' or `FT_DEBUG_LEVEL_TRACE' are
+ defined in `ftoption.h'.
Note that you have to use a printf-like signature, but with double
parentheses, like in
@@ -69,53 +69,53 @@ debugging its code:
2. FT_ASSERT( condition )
This macro is used to check strong assertions at runtime. If its
- condition isn't TRUE, the program will abort with a panic message.
- Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
- FT_DEBUG_LEVEL_TRACE are defined. You don't need double
- parentheses here. For example
+ condition isn't TRUE, the program aborts with a panic message.
+ Its code is compiled when either `FT_DEBUG_LEVEL_ERROR' or
+ `FT_DEBUG_LEVEL_TRACE' are defined. You don't need double
+ parentheses here. Example:
FT_ASSERT( ptr != NULL );
3. FT_TRACE( level, (message...) )
- The FT_TRACE macro is used to send general-purpose debugging
+ The `FT_TRACE' macro is used to send general-purpose debugging
messages during program execution. This macro uses an *implicit*
- macro named FT_COMPONENT used to name the current FreeType
+ macro named `FT_COMPONENT', which names the current FreeType
component being run.
- The developer should always define FT_COMPONENT as appropriate,
+ The developer should always define `FT_COMPONENT' as appropriate,
for example as in
#undef FT_COMPONENT
#define FT_COMPONENT io
- The value of the FT_COMPONENT macro is one of the component
- names defined in the internal file `internal/fttrace.h'. If you
- modify FreeType source and insert new FT_COMPONENT macro, you must
- register it in `fttrace.h'. If you insert or remove many trace
- macros, you can check the undefined or the unused trace macro by
- `src/tools/chktrcmp.py'.
+ The value of the `FT_COMPONENT' macro is one of the component
+ names defined in the internal file `internal/fttrace.h'. If you
+ modify the FreeType source code and insert a new `FT_COMPONENT'
+ macro, you must register it in `fttrace.h'. If you insert or
+ remove many trace macros, you can test for undefined or unused
+ trace macros with the script `src/tools/chktrcmp.py'.
- Each such component is assigned a `debug level', ranging from 0 to
- 7, through the use of the FT2_DEBUG environment variable
- (described below) when a program linked with FreeType starts.
+ Each such component is assigned a `debug level', ranging from
+ value 0 to 7, through the use of the `FT2_DEBUG' environment
+ variable (described below) when a program linked with FreeType
+ starts.
- When FT_TRACE is called, its level is compared to the one of the
+ When `FT_TRACE' is called, its level is compared to the one of the
corresponding component. Messages with trace levels *higher* than
- the corresponding component level are filtered and never printed.
+ the corresponding component level are filtered out and never
+ printed. This means that trace messages with level 0 are always
+ printed, those with level 2 are only printed when the component
+ level is *at least* 2, etc.
- This means that trace messages with level 0 are always printed,
- those with level 2 are only printed when the component level is
- *at least* 2.
-
- The second parameter to FT_TRACE must contain parentheses and
- correspond to a printf-like call, as in
+ The second parameter to `FT_TRACE' must contain parentheses and
+ corresponds to a printf-like call, as in
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
- The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ...,
- FT_TRACE7 can be used with constant level indices, and are much
+ The shortcut macros `FT_TRACE0', `FT_TRACE1', `FT_TRACE2', ...,
+ `FT_TRACE7' can be used with constant level indices, and are much
cleaner to use, as in
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
@@ -131,7 +131,7 @@ behaviour of FreeType at runtime.
FT2_DEBUG
This variable is only used when FreeType is built with
- FT_DEBUG_LEVEL_TRACE defined. It contains a list of component
+ `FT_DEBUG_LEVEL_TRACE' defined. It contains a list of component
level definitions, following this format:
component1:level1 component2:level2 component3:level3 ...
@@ -140,57 +140,70 @@ behaviour of FreeType at runtime.
in `fttrace.h'. `levelX' is the corresponding level to use at
runtime.
- `any' is a special component name that will be interpreted as
- `any/all components'. For example, the following definitions
+ `any' is a special component name that is interpreted as `any/all
+ components'. For example, the following definitions
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
both stipulate that all components should have level 2, except for
- the memory and io components which will be set to trace levels 5
+ the memory and io components, which are set to the trace levels 5
and 4, respectively.
FT2_DEBUG_MEMORY
This environment variable, when defined, tells FreeType to use a
- debugging memory manager that will track leaking memory blocks as
- well as other common errors like double frees. It is also capable
- of reporting _where_ the leaking blocks were allocated, which
+ debugging memory manager that tracks leaking memory blocks as well
+ as other common errors like double frees. It is also capable of
+ reporting _where_ the leaking blocks were allocated, which
considerably saves time when debugging new additions to the
library.
This code is only compiled when FreeType is built with the
- FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be
+ `FT_DEBUG_MEMORY' macro #defined in `ftoption.h' though, it is
ignored in other builds.
FT2_ALLOC_TOTAL_MAX
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined. It
allows you to specify a maximum heap size for all memory
allocations performed by FreeType. This is very useful to test
the robustness of the font engine and programs that use it in
tight memory conditions.
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
+ If it is undefined, or if its value is not strictly positive, no
+ allocation bounds are checked at runtime.
FT2_ALLOC_COUNT_MAX
- This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined. It
allows you to specify a maximum number of memory allocations
performed by FreeType before returning the error
- FT_Err_Out_Of_Memory. This is useful for debugging and testing
+ `FT_Err_Out_Of_Memory'. This is useful for debugging and testing
the engine's robustness.
- If it is undefined, or if its value is not strictly positive, then
- no allocation bounds are checked at runtime.
+ If it is undefined, or if its value is not strictly positive, no
+ allocation bounds are checked at runtime.
+
+
+ FT2_KEEP_ALIVE
+
+ This variable is ignored if `FT2_DEBUG_MEMORY' is not defined.
+ `Keep alive' means that freed blocks aren't released to the heap.
+ This is useful to detect double-frees or weird heap corruption,
+ reporting the source code location of the original allocation and
+ deallocation in case of a problem. It uses large amounts of
+ memory, however.
+
+ If it is undefined, or if its value is not strictly positive,
+ freed blocks are released at runtime.
------------------------------------------------------------------------
-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,
diff --git a/src/3rdparty/freetype/docs/TODO b/src/3rdparty/freetype/docs/TODO
index 1efccc68eb..8b27e269a3 100644
--- a/src/3rdparty/freetype/docs/TODO
+++ b/src/3rdparty/freetype/docs/TODO
@@ -27,7 +27,7 @@ Other bugs have been registered at the savannah bugzilla of FreeType.
------------------------------------------------------------------------
-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,
diff --git a/src/3rdparty/freetype/include/freetype/config/ftconfig.h b/src/3rdparty/freetype/include/freetype/config/ftconfig.h
index 9466603377..b464e0b789 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftconfig.h
+++ b/src/3rdparty/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,
@@ -41,533 +41,9 @@
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
-
-FT_BEGIN_HEADER
-
-
- /**************************************************************************
- *
- * PLATFORM-SPECIFIC CONFIGURATION MACROS
- *
- * These macros can be toggled to suit a specific system. The current ones
- * are defaults used to compile FreeType in an ANSI C environment (16bit
- * compilers are also supported). Copy this file to your own
- * `builds/<system>` directory, and edit it to port the engine.
- *
- */
-
-
- /* There are systems (like the Texas Instruments 'C54x) where a `char` */
- /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */
- /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */
- /* is probably unexpected. */
- /* */
- /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */
- /* `char` type. */
-
-#ifndef FT_CHAR_BIT
-#define FT_CHAR_BIT CHAR_BIT
-#endif
-
-
- /* The size of an `int` type. */
-#if FT_UINT_MAX == 0xFFFFUL
-#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
-#elif FT_UINT_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
-#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
-#else
-#error "Unsupported size of `int' type!"
-#endif
-
- /* The size of a `long` type. A five-byte `long` (as used e.g. on the */
- /* DM642) is recognized but avoided. */
-#if FT_ULONG_MAX == 0xFFFFFFFFUL
-#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
-#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
-#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
-#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
-#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
-#else
-#error "Unsupported size of `long' type!"
-#endif
-
-
- /* `FT_UNUSED` indicates that a given parameter is not used -- */
- /* this is only used to get rid of unpleasant compiler warnings. */
-#ifndef FT_UNUSED
-#define FT_UNUSED( arg ) ( (arg) = (arg) )
-#endif
-
-
- /**************************************************************************
- *
- * AUTOMATIC CONFIGURATION MACROS
- *
- * These macros are computed from the ones defined above. Don't touch
- * their definition, unless you know precisely what you are doing. No
- * porter should need to mess with them.
- *
- */
-
-
- /**************************************************************************
- *
- * Mac support
- *
- * This is the only necessary change, so it is defined here instead
- * providing a new configuration file.
- */
-#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
- /* No Carbon frameworks for 64bit 10.4.x. */
- /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */
- /* so guess the system version by maximum errno before inclusion. */
-#include <errno.h>
-#ifdef ECANCELED /* defined since 10.2 */
-#include "AvailabilityMacros.h"
-#endif
-#if defined( __LP64__ ) && \
- ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
-#undef FT_MACINTOSH
-#endif
-
-#elif defined( __SC__ ) || defined( __MRC__ )
- /* Classic MacOS compilers */
-#include "ConditionalMacros.h"
-#if TARGET_OS_MAC
-#define FT_MACINTOSH 1
-#endif
-
-#endif
-
-
- /* Fix compiler warning with sgi compiler. */
-#if defined( __sgi ) && !defined( __GNUC__ )
-#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
-#pragma set woff 3505
-#endif
-#endif
-
-
- /**************************************************************************
- *
- * @section:
- * basic_types
- *
- */
-
-
- /**************************************************************************
- *
- * @type:
- * FT_Int16
- *
- * @description:
- * A typedef for a 16bit signed integer type.
- */
- typedef signed short FT_Int16;
-
-
- /**************************************************************************
- *
- * @type:
- * FT_UInt16
- *
- * @description:
- * A typedef for a 16bit unsigned integer type.
- */
- typedef unsigned short FT_UInt16;
-
- /* */
-
-
- /* this #if 0 ... #endif clause is for documentation purposes */
-#if 0
-
- /**************************************************************************
- *
- * @type:
- * FT_Int32
- *
- * @description:
- * A typedef for a 32bit signed integer type. The size depends on the
- * configuration.
- */
- typedef signed XXX FT_Int32;
-
-
- /**************************************************************************
- *
- * @type:
- * FT_UInt32
- *
- * A typedef for a 32bit unsigned integer type. The size depends on the
- * configuration.
- */
- typedef unsigned XXX FT_UInt32;
-
-
- /**************************************************************************
- *
- * @type:
- * FT_Int64
- *
- * A typedef for a 64bit signed integer type. The size depends on the
- * configuration. Only defined if there is real 64bit support;
- * otherwise, it gets emulated with a structure (if necessary).
- */
- typedef signed XXX FT_Int64;
-
-
- /**************************************************************************
- *
- * @type:
- * FT_UInt64
- *
- * A typedef for a 64bit unsigned integer type. The size depends on the
- * configuration. Only defined if there is real 64bit support;
- * otherwise, it gets emulated with a structure (if necessary).
- */
- typedef unsigned XXX FT_UInt64;
-
- /* */
-
-#endif
-
-#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
-
- typedef signed int FT_Int32;
- typedef unsigned int FT_UInt32;
-
-#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
-
- typedef signed long FT_Int32;
- typedef unsigned long FT_UInt32;
-
-#else
-#error "no 32bit type found -- please check your configuration files"
-#endif
-
-
- /* look up an integer type that is at least 32~bits */
-#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
-
- typedef int FT_Fast;
- typedef unsigned int FT_UFast;
-
-#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
-
- typedef long FT_Fast;
- typedef unsigned long FT_UFast;
-
-#endif
-
-
- /* determine whether we have a 64-bit `int` type for platforms without */
- /* Autoconf */
-#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
-
- /* `FT_LONG64` must be defined if a 64-bit type is available */
-#define FT_LONG64
-#define FT_INT64 long
-#define FT_UINT64 unsigned long
-
- /**************************************************************************
- *
- * A 64-bit data type may create compilation problems if you compile in
- * strict ANSI mode. To avoid them, we disable other 64-bit data types if
- * `__STDC__` is defined. You can however ignore this rule by defining the
- * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
- */
-#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
-
-#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
-
-#define FT_LONG64
-#define FT_INT64 long long int
-#define FT_UINT64 unsigned long long int
-
-#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
-
- /* this compiler provides the `__int64` type */
-#define FT_LONG64
-#define FT_INT64 __int64
-#define FT_UINT64 unsigned __int64
-
-#elif defined( __BORLANDC__ ) /* Borland C++ */
-
- /* XXXX: We should probably check the value of `__BORLANDC__` in order */
- /* to test the compiler version. */
-
- /* this compiler provides the `__int64` type */
-#define FT_LONG64
-#define FT_INT64 __int64
-#define FT_UINT64 unsigned __int64
-
-#elif defined( __WATCOMC__ ) /* Watcom C++ */
-
- /* Watcom doesn't provide 64-bit data types */
-
-#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
-
-#define FT_LONG64
-#define FT_INT64 long long int
-#define FT_UINT64 unsigned long long int
-
-#elif defined( __GNUC__ )
-
- /* GCC provides the `long long` type */
-#define FT_LONG64
-#define FT_INT64 long long int
-#define FT_UINT64 unsigned long long int
-
-#endif /* __STDC_VERSION__ >= 199901L */
-
-#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
-
-#ifdef FT_LONG64
- typedef FT_INT64 FT_Int64;
- typedef FT_UINT64 FT_UInt64;
-#endif
-
-
-#ifdef _WIN64
- /* only 64bit Windows uses the LLP64 data model, i.e., */
- /* 32bit integers, 64bit pointers */
-#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
-#else
-#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
-#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 ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \
- ( defined( __IBMC__ ) && __IBMC__ >= 1210 && \
- defined( __IBM__TYPEOF__ ) ) || \
- ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) )
-#define FT_TYPEOF( type ) ( __typeof__ ( type ) )
-#else
-#define FT_TYPEOF( type ) /* empty */
-#endif
-
-
- /* Use `FT_LOCAL` and `FT_LOCAL_DEF` to declare and define, */
- /* respectively, a function that gets used only within the scope of a */
- /* module. Normally, both the header and source code files for such a */
- /* function are within a single module directory. */
- /* */
- /* Intra-module arrays should be tagged with `FT_LOCAL_ARRAY` and */
- /* `FT_LOCAL_ARRAY_DEF`. */
- /* */
-#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
-
-#define FT_LOCAL( x ) static x
-#define FT_LOCAL_DEF( x ) static x
-
-#else
-
-#ifdef __cplusplus
-#define FT_LOCAL( x ) extern "C" x
-#define FT_LOCAL_DEF( x ) extern "C" x
-#else
-#define FT_LOCAL( x ) extern x
-#define FT_LOCAL_DEF( x ) x
-#endif
-
-#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
-
-#define FT_LOCAL_ARRAY( x ) extern const x
-#define FT_LOCAL_ARRAY_DEF( x ) const x
-
-
- /* Use `FT_BASE` and `FT_BASE_DEF` to declare and define, respectively, */
- /* functions that are used in more than a single module. In the */
- /* current setup this implies that the declaration is in a header file */
- /* in the `include/freetype/internal` directory, and the function body */
- /* is in a file in `src/base`. */
- /* */
-#ifndef FT_BASE
-
-#ifdef __cplusplus
-#define FT_BASE( x ) extern "C" x
-#else
-#define FT_BASE( x ) extern x
-#endif
-
-#endif /* !FT_BASE */
-
-
-#ifndef FT_BASE_DEF
-
-#ifdef __cplusplus
-#define FT_BASE_DEF( x ) x
-#else
-#define FT_BASE_DEF( x ) x
-#endif
-
-#endif /* !FT_BASE_DEF */
-
-
- /* When compiling FreeType as a DLL or DSO with hidden visibility */
- /* some systems/compilers need a special attribute in front OR after */
- /* the return type of function declarations. */
- /* */
- /* Two macros are used within the FreeType source code to define */
- /* exported library functions: `FT_EXPORT` and `FT_EXPORT_DEF`. */
- /* */
- /* - `FT_EXPORT( return_type )` */
- /* */
- /* is used in a function declaration, as in */
- /* */
- /* ``` */
- /* FT_EXPORT( FT_Error ) */
- /* FT_Init_FreeType( FT_Library* alibrary ); */
- /* ``` */
- /* */
- /* - `FT_EXPORT_DEF( return_type )` */
- /* */
- /* is used in a function definition, as in */
- /* */
- /* ``` */
- /* FT_EXPORT_DEF( FT_Error ) */
- /* FT_Init_FreeType( FT_Library* alibrary ) */
- /* { */
- /* ... some code ... */
- /* return FT_Err_Ok; */
- /* } */
- /* ``` */
- /* */
- /* You can provide your own implementation of `FT_EXPORT` and */
- /* `FT_EXPORT_DEF` here if you want. */
- /* */
- /* To export a variable, use `FT_EXPORT_VAR`. */
- /* */
-#ifndef FT_EXPORT
-
-#ifdef FT2_BUILD_LIBRARY
-
-#if defined( _WIN32 ) && defined( DLL_EXPORT )
-#define FT_EXPORT( x ) __declspec( dllexport ) x
-#elif defined( __GNUC__ ) && __GNUC__ >= 4
-#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
-#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
-#define FT_EXPORT( x ) __global x
-#elif defined( __cplusplus )
-#define FT_EXPORT( x ) extern "C" x
-#else
-#define FT_EXPORT( x ) extern x
-#endif
-
-#else
-
-#if defined( _WIN32 ) && defined( DLL_IMPORT )
-#define FT_EXPORT( x ) __declspec( dllimport ) x
-#elif defined( __cplusplus )
-#define FT_EXPORT( x ) extern "C" x
-#else
-#define FT_EXPORT( x ) extern x
-#endif
-
-#endif
-
-#endif /* !FT_EXPORT */
-
-
-#ifndef FT_EXPORT_DEF
-
-#ifdef __cplusplus
-#define FT_EXPORT_DEF( x ) extern "C" x
-#else
-#define FT_EXPORT_DEF( x ) extern x
-#endif
-
-#endif /* !FT_EXPORT_DEF */
-
-
-#ifndef FT_EXPORT_VAR
-
-#ifdef __cplusplus
-#define FT_EXPORT_VAR( x ) extern "C" x
-#else
-#define FT_EXPORT_VAR( x ) extern x
-#endif
-
-#endif /* !FT_EXPORT_VAR */
-
-
- /* The following macros are needed to compile the library with a */
- /* C++ compiler and with 16bit compilers. */
- /* */
-
- /* This is special. Within C++, you must specify `extern "C"` for */
- /* functions which are used via function pointers, and you also */
- /* must do that for structures which contain function pointers to */
- /* assure C linkage -- it's not possible to have (local) anonymous */
- /* functions which are accessed by (global) function pointers. */
- /* */
- /* */
- /* FT_CALLBACK_DEF is used to _define_ a callback function, */
- /* located in the same source code file as the structure that uses */
- /* it. */
- /* */
- /* FT_BASE_CALLBACK and FT_BASE_CALLBACK_DEF are used to declare */
- /* and define a callback function, respectively, in a similar way */
- /* as FT_BASE and FT_BASE_DEF work. */
- /* */
- /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
- /* contains pointers to callback functions. */
- /* */
- /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
- /* that contains pointers to callback functions. */
- /* */
- /* */
- /* Some 16bit compilers have to redefine these macros to insert */
- /* the infamous `_cdecl` or `__fastcall` declarations. */
- /* */
-#ifndef FT_CALLBACK_DEF
-#ifdef __cplusplus
-#define FT_CALLBACK_DEF( x ) extern "C" x
-#else
-#define FT_CALLBACK_DEF( x ) static x
-#endif
-#endif /* FT_CALLBACK_DEF */
-
-#ifndef FT_BASE_CALLBACK
-#ifdef __cplusplus
-#define FT_BASE_CALLBACK( x ) extern "C" x
-#define FT_BASE_CALLBACK_DEF( x ) extern "C" x
-#else
-#define FT_BASE_CALLBACK( x ) extern x
-#define FT_BASE_CALLBACK_DEF( x ) x
-#endif
-#endif /* FT_BASE_CALLBACK */
-
-#ifndef FT_CALLBACK_TABLE
-#ifdef __cplusplus
-#define FT_CALLBACK_TABLE extern "C"
-#define FT_CALLBACK_TABLE_DEF extern "C"
-#else
-#define FT_CALLBACK_TABLE extern
-#define FT_CALLBACK_TABLE_DEF /* nothing */
-#endif
-#endif /* FT_CALLBACK_TABLE */
-
-
-FT_END_HEADER
-
+#include <freetype/config/integer-types.h>
+#include <freetype/config/public-macros.h>
+#include <freetype/config/mac-support.h>
#endif /* FTCONFIG_H_ */
diff --git a/src/3rdparty/freetype/include/freetype/config/ftheader.h b/src/3rdparty/freetype/include/freetype/config/ftheader.h
index 696d6ba906..28b5cc60cf 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftheader.h
+++ b/src/3rdparty/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,
@@ -30,10 +30,12 @@
/* encapsulated in an `extern "C" { .. }` block when included from a */
/* C++ compiler. */
/* */
-#ifdef __cplusplus
-#define FT_BEGIN_HEADER extern "C" {
-#else
-#define FT_BEGIN_HEADER /* nothing */
+#ifndef FT_BEGIN_HEADER
+# ifdef __cplusplus
+# define FT_BEGIN_HEADER extern "C" {
+# else
+# define FT_BEGIN_HEADER /* nothing */
+# endif
#endif
@@ -48,10 +50,12 @@
/* encapsulated in an `extern "C" { .. }` block when included from a */
/* C++ compiler. */
/* */
-#ifdef __cplusplus
-#define FT_END_HEADER }
-#else
-#define FT_END_HEADER /* nothing */
+#ifndef FT_END_HEADER
+# ifdef __cplusplus
+# define FT_END_HEADER }
+# else
+# define FT_END_HEADER /* nothing */
+# endif
#endif
@@ -73,9 +77,16 @@
* Macro definitions used to `#include` specific header files.
*
* @description:
- * The following macros are defined to the name of specific FreeType~2
- * header files. They can be used directly in `#include` statements as
- * in:
+ * In addition to the normal scheme of including header files like
+ *
+ * ```
+ * #include <freetype/freetype.h>
+ * #include <freetype/ftmm.h>
+ * #include <freetype/ftglyph.h>
+ * ```
+ *
+ * it is possible to used named macros instead. They can be used
+ * directly in `#include` statements as in
*
* ```
* #include FT_FREETYPE_H
@@ -83,13 +94,9 @@
* #include FT_GLYPH_H
* ```
*
- * There are several reasons why we are now using macros to name public
- * header files. The first one is that such macros are not limited to
- * the infamous 8.3~naming rule required by DOS (and
- * `FT_MULTIPLE_MASTERS_H` is a lot more meaningful than `ftmm.h`).
- *
- * The second reason is that it allows for more flexibility in the way
- * FreeType~2 is installed on a given system.
+ * These macros were introduced to overcome the infamous 8.3~naming rule
+ * required by DOS (and `FT_MULTIPLE_MASTERS_H` is a lot more meaningful
+ * than `ftmm.h`).
*
*/
@@ -797,16 +804,19 @@
#define FT_CACHE_INTERNAL_IMAGE_H FT_CACHE_H
#define FT_CACHE_INTERNAL_SBITS_H FT_CACHE_H
-
- /*
- * Include internal headers definitions from `<internal/...>` only when
- * building the library.
- */
+/* TODO(david): Move this section below to a different header */
#ifdef FT2_BUILD_LIBRARY
-#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
-#include FT_INTERNAL_INTERNAL_H
-#endif /* FT2_BUILD_LIBRARY */
+#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
+ /* We disable the warning `conditional expression is constant' here */
+ /* in order to compile cleanly with the maximum level of warnings. */
+ /* In particular, the warning complains about stuff like `while(0)' */
+ /* which is very useful in macro definitions. There is no benefit */
+ /* in having it enabled. */
+#pragma warning( disable : 4127 )
+
+#endif /* _MSC_VER */
+#endif /* FT2_BUILD_LIBRARY */
#endif /* FTHEADER_H_ */
diff --git a/src/3rdparty/freetype/include/freetype/config/ftmodule.h b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
index 7c603e5327..b5c4b1ee58 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftmodule.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
@@ -25,8 +25,6 @@ FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
-FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
-FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
/* EOF */
diff --git a/src/3rdparty/freetype/include/freetype/config/ftoption.h b/src/3rdparty/freetype/include/freetype/config/ftoption.h
index 12f47a82e8..097f19b8a5 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftoption.h
+++ b/src/3rdparty/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,
@@ -42,7 +42,7 @@ FT_BEGIN_HEADER
* 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
+ * The default FreeType Makefiles use the build directory
* `builds/<system>` by default, but you can easily change that for your
* own projects.
*
@@ -121,10 +121,8 @@ FT_BEGIN_HEADER
* mitigate color fringes inherent to this technology, you also need to
* explicitly set up LCD filtering.
*
- * Note that this feature is covered by several Microsoft patents and
- * should not be activated in any default build of the library. When this
- * macro is not defined, FreeType offers alternative LCD rendering
- * technology that produces excellent output without LCD filtering.
+ * When this macro is not defined, FreeType offers alternative LCD
+ * rendering technology that produces excellent output.
*/
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
@@ -294,6 +292,22 @@ FT_BEGIN_HEADER
/**************************************************************************
*
+ * 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
*
* By default, FreeType 2 is compiled with the 'psnames' module. This
@@ -526,7 +540,7 @@ FT_BEGIN_HEADER
/**************************************************************************
*
- * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support coloured
+ * Define `TT_CONFIG_OPTION_COLOR_LAYERS` if you want to support colored
* outlines (from the 'COLR'/'CPAL' tables) in all formats using the 'sfnt'
* module (namely TrueType~& OpenType).
*/
@@ -871,9 +885,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
/**************************************************************************
diff --git a/src/3rdparty/freetype/include/freetype/config/ftstdlib.h b/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
index 438b6145d5..d6091f8b3d 100644
--- a/src/3rdparty/freetype/include/freetype/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 (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,
diff --git a/src/3rdparty/freetype/include/freetype/config/integer-types.h b/src/3rdparty/freetype/include/freetype/config/integer-types.h
new file mode 100644
index 0000000000..a0ca0c95e2
--- /dev/null
+++ b/src/3rdparty/freetype/include/freetype/config/integer-types.h
@@ -0,0 +1,245 @@
+/****************************************************************************
+ *
+ * config/integer-types.h
+ *
+ * FreeType integer types definitions.
+ *
+ * Copyright (C) 1996-2020 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, 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 FREETYPE_CONFIG_INTEGER_TYPES_H_
+#define FREETYPE_CONFIG_INTEGER_TYPES_H_
+
+ /* There are systems (like the Texas Instruments 'C54x) where a `char` */
+ /* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */
+ /* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */
+ /* is probably unexpected. */
+ /* */
+ /* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */
+ /* `char` type. */
+
+#ifndef FT_CHAR_BIT
+#define FT_CHAR_BIT CHAR_BIT
+#endif
+
+#ifndef FT_SIZEOF_INT
+
+ /* The size of an `int` type. */
+#if FT_UINT_MAX == 0xFFFFUL
+#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
+#elif FT_UINT_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
+#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
+#else
+#error "Unsupported size of `int' type!"
+#endif
+
+#endif /* !defined(FT_SIZEOF_INT) */
+
+#ifndef FT_SIZEOF_LONG
+
+ /* The size of a `long` type. A five-byte `long` (as used e.g. on the */
+ /* DM642) is recognized but avoided. */
+#if FT_ULONG_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
+#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
+#else
+#error "Unsupported size of `long' type!"
+#endif
+
+#endif /* !defined(FT_SIZEOF_LONG) */
+
+ /**************************************************************************
+ *
+ * @section:
+ * basic_types
+ *
+ */
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_Int16
+ *
+ * @description:
+ * A typedef for a 16bit signed integer type.
+ */
+ typedef signed short FT_Int16;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_UInt16
+ *
+ * @description:
+ * A typedef for a 16bit unsigned integer type.
+ */
+ typedef unsigned short FT_UInt16;
+
+ /* */
+
+
+ /* this #if 0 ... #endif clause is for documentation purposes */
+#if 0
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_Int32
+ *
+ * @description:
+ * A typedef for a 32bit signed integer type. The size depends on the
+ * configuration.
+ */
+ typedef signed XXX FT_Int32;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_UInt32
+ *
+ * A typedef for a 32bit unsigned integer type. The size depends on the
+ * configuration.
+ */
+ typedef unsigned XXX FT_UInt32;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_Int64
+ *
+ * A typedef for a 64bit signed integer type. The size depends on the
+ * configuration. Only defined if there is real 64bit support;
+ * otherwise, it gets emulated with a structure (if necessary).
+ */
+ typedef signed XXX FT_Int64;
+
+
+ /**************************************************************************
+ *
+ * @type:
+ * FT_UInt64
+ *
+ * A typedef for a 64bit unsigned integer type. The size depends on the
+ * configuration. Only defined if there is real 64bit support;
+ * otherwise, it gets emulated with a structure (if necessary).
+ */
+ typedef unsigned XXX FT_UInt64;
+
+ /* */
+
+#endif
+
+#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
+
+ typedef signed int FT_Int32;
+ typedef unsigned int FT_UInt32;
+
+#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
+
+ typedef signed long FT_Int32;
+ typedef unsigned long FT_UInt32;
+
+#else
+#error "no 32bit type found -- please check your configuration files"
+#endif
+
+
+ /* look up an integer type that is at least 32~bits */
+#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
+
+ typedef int FT_Fast;
+ typedef unsigned int FT_UFast;
+
+#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
+
+ typedef long FT_Fast;
+ typedef unsigned long FT_UFast;
+
+#endif
+
+
+ /* determine whether we have a 64-bit `int` type for platforms without */
+ /* Autoconf */
+#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
+
+ /* `FT_LONG64` must be defined if a 64-bit type is available */
+#define FT_LONG64
+#define FT_INT64 long
+#define FT_UINT64 unsigned long
+
+ /**************************************************************************
+ *
+ * A 64-bit data type may create compilation problems if you compile in
+ * strict ANSI mode. To avoid them, we disable other 64-bit data types if
+ * `__STDC__` is defined. You can however ignore this rule by defining the
+ * `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
+ */
+#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
+
+#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
+
+#define FT_LONG64
+#define FT_INT64 long long int
+#define FT_UINT64 unsigned long long int
+
+#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
+
+ /* this compiler provides the `__int64` type */
+#define FT_LONG64
+#define FT_INT64 __int64
+#define FT_UINT64 unsigned __int64
+
+#elif defined( __BORLANDC__ ) /* Borland C++ */
+
+ /* XXXX: We should probably check the value of `__BORLANDC__` in order */
+ /* to test the compiler version. */
+
+ /* this compiler provides the `__int64` type */
+#define FT_LONG64
+#define FT_INT64 __int64
+#define FT_UINT64 unsigned __int64
+
+#elif defined( __WATCOMC__ ) /* Watcom C++ */
+
+ /* Watcom doesn't provide 64-bit data types */
+
+#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
+
+#define FT_LONG64
+#define FT_INT64 long long int
+#define FT_UINT64 unsigned long long int
+
+#elif defined( __GNUC__ )
+
+ /* GCC provides the `long long` type */
+#define FT_LONG64
+#define FT_INT64 long long int
+#define FT_UINT64 unsigned long long int
+
+#endif /* __STDC_VERSION__ >= 199901L */
+
+#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
+
+#ifdef FT_LONG64
+ typedef FT_INT64 FT_Int64;
+ typedef FT_UINT64 FT_UInt64;
+#endif
+
+
+#endif /* FREETYPE_CONFIG_INTEGER_TYPES_H_ */
diff --git a/src/3rdparty/freetype/include/freetype/config/mac-support.h b/src/3rdparty/freetype/include/freetype/config/mac-support.h
new file mode 100644
index 0000000000..94867088e9
--- /dev/null
+++ b/src/3rdparty/freetype/include/freetype/config/mac-support.h
@@ -0,0 +1,49 @@
+/****************************************************************************
+ *
+ * config/mac-support.h
+ *
+ * Mac/OS X support configuration header.
+ *
+ * Copyright (C) 1996-2020 by
+ * David Turner, Robert Wilhelm, and Werner Lemberg.
+ *
+ * This file is part of the FreeType project, and may only be used,
+ * modified, 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 FREETYPE_CONFIG_MAC_SUPPORT_H_
+#define FREETYPE_CONFIG_MAC_SUPPORT_H_
+
+ /**************************************************************************
+ *
+ * Mac support
+ *
+ * This is the only necessary change, so it is defined here instead
+ * providing a new configuration file.
+ */
+#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
+ /* No Carbon frameworks for 64bit 10.4.x. */
+ /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */
+ /* so guess the system version by maximum errno before inclusion. */
+#include <errno.h>
+#ifdef ECANCELED /* defined since 10.2 */
+#include "AvailabilityMacros.h"
+#endif
+#if defined( __LP64__ ) && \
+ ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
+#undef FT_MACINTOSH
+#endif
+
+#elif defined( __SC__ ) || defined( __MRC__ )
+ /* Classic MacOS compilers */
+#include "ConditionalMacros.h"
+#if TARGET_OS_MAC
+#define FT_MACINTOSH 1
+#endif
+
+#endif /* Mac support */
+
+#endif /* FREETYPE_CONFIG_MAC_SUPPORT_H_ */
diff --git a/src/3rdparty/freetype/include/freetype/config/public-macros.h b/src/3rdparty/freetype/include/freetype/config/public-macros.h
new file mode 100644
index 0000000000..6aa673e807
--- /dev/null
+++ b/src/3rdparty/freetype/include/freetype/config/public-macros.h
@@ -0,0 +1,120 @@
+/****************************************************************************
+ *
+ * config/public-macros.h
+ *
+ * Define a set of compiler macros used in public FreeType headers.
+ *
+ * Copyright (C) 2020 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.
+ *
+ */
+
+ /*
+ * The definitions in this file are used by the public FreeType headers
+ * and thus should be considered part of the public API.
+ *
+ * Other compiler-specific macro definitions that are not exposed by the
+ * FreeType API should go into
+ * `include/freetype/internal/compiler-macros.h` instead.
+ */
+#ifndef FREETYPE_CONFIG_PUBLIC_MACROS_H_
+#define FREETYPE_CONFIG_PUBLIC_MACROS_H_
+
+ /*
+ * `FT_BEGIN_HEADER` and `FT_END_HEADER` might have already been defined
+ * by `freetype/config/ftheader.h`, but we don't want to include this
+ * header here, so redefine the macros here only when needed. Their
+ * definition is very stable, so keeping them in sync with the ones in the
+ * header should not be a maintenance issue.
+ */
+#ifndef FT_BEGIN_HEADER
+#ifdef __cplusplus
+#define FT_BEGIN_HEADER extern "C" {
+#else
+#define FT_BEGIN_HEADER /* empty */
+#endif
+#endif /* FT_BEGIN_HEADER */
+
+#ifndef FT_END_HEADER
+#ifdef __cplusplus
+#define FT_END_HEADER }
+#else
+#define FT_END_HEADER /* empty */
+#endif
+#endif /* FT_END_HEADER */
+
+
+FT_BEGIN_HEADER
+
+ /*
+ * Mark a function declaration as public. This ensures it will be
+ * properly exported to client code. Place this before a function
+ * declaration.
+ *
+ * NOTE: This macro should be considered an internal implementation
+ * detail, and not part of the FreeType API. It is only defined here
+ * because it is needed by `FT_EXPORT`.
+ */
+
+ /* Visual C, mingw */
+#if defined( _WIN32 )
+
+#if defined( FT2_BUILD_LIBRARY ) && defined( DLL_EXPORT )
+#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllexport )
+#elif defined( DLL_IMPORT )
+#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllimport )
+#endif
+
+ /* gcc, clang */
+#elif ( defined( __GNUC__ ) && __GNUC__ >= 4 ) || defined( __clang__ )
+#define FT_PUBLIC_FUNCTION_ATTRIBUTE \
+ __attribute__(( visibility( "default" ) ))
+
+ /* Sun */
+#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
+#define FT_PUBLIC_FUNCTION_ATTRIBUTE __global
+#endif
+
+
+#ifndef FT_PUBLIC_FUNCTION_ATTRIBUTE
+#define FT_PUBLIC_FUNCTION_ATTRIBUTE /* empty */
+#endif
+
+
+ /*
+ * Define a public FreeType API function. This ensures it is properly
+ * exported or imported at build time. The macro parameter is the
+ * function's return type as in:
+ *
+ * FT_EXPORT( FT_Bool )
+ * FT_Object_Method( FT_Object obj,
+ * ... );
+ *
+ * NOTE: This requires that all `FT_EXPORT` uses are inside
+ * `FT_BEGIN_HEADER ... FT_END_HEADER` blocks. This guarantees that the
+ * functions are exported with C linkage, even when the header is included
+ * by a C++ source file.
+ */
+#define FT_EXPORT( x ) FT_PUBLIC_FUNCTION_ATTRIBUTE extern x
+
+ /*
+ * `FT_UNUSED` indicates that a given parameter is not used -- this is
+ * only used to get rid of unpleasant compiler warnings.
+ *
+ * Technically, this was not meant to be part of the public API, but some
+ * third-party code depends on it.
+ */
+#ifndef FT_UNUSED
+#define FT_UNUSED( arg ) ( (arg) = (arg) )
+#endif
+
+
+FT_END_HEADER
+
+#endif /* FREETYPE_CONFIG_PUBLIC_MACROS_H_ */
diff --git a/src/3rdparty/freetype/include/freetype/freetype.h b/src/3rdparty/freetype/include/freetype/freetype.h
index a6bb667e3a..be191f5aa0 100644
--- a/src/3rdparty/freetype/include/freetype/freetype.h
+++ b/src/3rdparty/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,
@@ -20,19 +20,10 @@
#define FREETYPE_H_
-#ifndef FT_FREETYPE_H
-#error "`ft2build.h' hasn't been included yet!"
-#error "Please always use macros to include FreeType header files."
-#error "Example:"
-#error " #include <ft2build.h>"
-#error " #include FT_FREETYPE_H"
-#endif
-
-
#include <ft2build.h>
#include FT_CONFIG_CONFIG_H
-#include FT_TYPES_H
-#include FT_ERRORS_H
+#include <freetype/fttypes.h>
+#include <freetype/fterrors.h>
FT_BEGIN_HEADER
@@ -51,22 +42,15 @@ FT_BEGIN_HEADER
* How client applications should include FreeType header files.
*
* @description:
- * To be as flexible as possible (and for historical reasons), FreeType
- * uses a very special inclusion scheme to load header files, for example
+ * To be as flexible as possible (and for historical reasons), you must
+ * load file `ft2build.h` first before other header files, for example
*
* ```
* #include <ft2build.h>
*
- * #include FT_FREETYPE_H
- * #include FT_OUTLINE_H
+ * #include <freetype/freetype.h>
+ * #include <freetype/ftoutln.h>
* ```
- *
- * A compiler and its preprocessor only needs an include path to find the
- * file `ft2build.h`; the exact locations and names of the other FreeType
- * header files are hidden by @header_file_macros, loaded by
- * `ft2build.h`. The API documentation always gives the header macro
- * name needed for a particular function.
- *
*/
@@ -974,6 +958,9 @@ FT_BEGIN_HEADER
* Note that the bounding box might be off by (at least) one pixel for
* hinted fonts. See @FT_Size_Metrics for further discussion.
*
+ * Note that the bounding box does not vary in OpenType variable fonts
+ * and should only be used in relation to the default instance.
+ *
* units_per_EM ::
* The number of font units per EM square for this face. This is
* typically 2048 for TrueType fonts, and 1000 for Type~1 fonts. Only
@@ -1239,7 +1226,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 +1240,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 +1254,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 +1269,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 +1288,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 +1303,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 +1318,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 +1344,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 +1359,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 +1381,7 @@ FT_BEGIN_HEADER
*
*/
#define FT_IS_NAMED_INSTANCE( face ) \
- ( (face)->face_index & 0x7FFF0000L )
+ ( !!( (face)->face_index & 0x7FFF0000L ) )
/**************************************************************************
@@ -1412,7 +1399,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 +1416,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 +1430,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 +1447,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 +2065,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.
@@ -3187,6 +3175,12 @@ FT_BEGIN_HEADER
* A pointer to the translation vector. Use `NULL` for the null vector.
*
* @note:
+ * This function is provided as a convenience, but keep in mind that
+ * @FT_Matrix coefficients are only 16.16 fixed point values, which can
+ * limit the accuracy of the results. Using floating-point computations
+ * to perform the transform directly in client code instead will always
+ * yield better numbers.
+ *
* The transformation is only applied to scalable image formats after the
* glyph has been loaded. It means that hinting is unaltered by the
* transformation and is performed on the character size given in the
@@ -3245,14 +3239,6 @@ FT_BEGIN_HEADER
* pixels and use the @FT_PIXEL_MODE_LCD_V mode.
*
* @note:
- * Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your
- * `ftoption.h`, which enables patented ClearType-style rendering, the
- * LCD-optimized glyph bitmaps should be filtered to reduce color fringes
- * inherent to this technology. You can either set up LCD filtering with
- * @FT_Library_SetLcdFilter or @FT_Face_Properties, or do the filtering
- * yourself. The default FreeType LCD rendering technology does not
- * require filtering.
- *
* The selected render mode only affects vector glyphs of a font.
* Embedded bitmaps often have a different pixel mode like
* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform them
@@ -4088,7 +4074,7 @@ FT_BEGIN_HEADER
* https://docs.microsoft.com/en-us/typography/opentype/spec/colr
*
* The glyph layer data for a given glyph index, if present, provides an
- * alternative, multi-colour glyph representation: Instead of rendering
+ * alternative, multi-color glyph representation: Instead of rendering
* the outline or bitmap with the given glyph index, glyphs with the
* indices and colors returned by this function are rendered layer by
* layer.
@@ -4781,7 +4767,7 @@ FT_BEGIN_HEADER
*/
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 10
-#define FREETYPE_PATCH 1
+#define FREETYPE_PATCH 4
/**************************************************************************
diff --git a/src/3rdparty/freetype/include/freetype/ftadvanc.h b/src/3rdparty/freetype/include/freetype/ftadvanc.h
index 95c38f92bd..f166bc6f99 100644
--- a/src/3rdparty/freetype/include/freetype/ftadvanc.h
+++ b/src/3rdparty/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,
@@ -20,8 +20,7 @@
#define FTADVANC_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -96,6 +95,7 @@ FT_BEGIN_HEADER
* load_flags ::
* A set of bit flags similar to those used when calling
* @FT_Load_Glyph, used to determine what kind of advances you need.
+ *
* @output:
* padvance ::
* The advance value. If scaling is performed (based on the value of
diff --git a/src/3rdparty/freetype/include/freetype/ftautoh.h b/src/3rdparty/freetype/include/freetype/ftautoh.h
deleted file mode 100644
index ab39c21995..0000000000
--- a/src/3rdparty/freetype/include/freetype/ftautoh.h
+++ /dev/null
@@ -1,450 +0,0 @@
-/***************************************************************************/
-/* */
-/* ftautoh.h */
-/* */
-/* FreeType API for controlling the auto-hinter (specification only). */
-/* */
-/* Copyright 2012-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 __FTAUTOH_H__
-#define __FTAUTOH_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:
- * auto_hinter
- *
- * @title:
- * The auto-hinter
- *
- * @abstract:
- * Controlling the auto-hinting module.
- *
- * @description:
- * While FreeType's auto-hinter 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.
- *
- * Note that the auto-hinter's module name is `autofitter' for
- * historical reasons.
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * glyph-to-script-map
- *
- * @description:
- * *Experimental* *only*
- *
- * The auto-hinter provides various script modules to hint glyphs.
- * Examples of supported scripts are Latin or CJK. Before a glyph is
- * auto-hinted, the Unicode character map of the font gets examined, and
- * the script is then determined based on Unicode character ranges, see
- * below.
- *
- * OpenType fonts, however, often provide much more glyphs than
- * character codes (small caps, superscripts, ligatures, swashes, etc.),
- * to be controlled by so-called `features'. Handling OpenType features
- * can be quite complicated and thus needs a separate library on top of
- * FreeType.
- *
- * The mapping between glyph indices and scripts (in the auto-hinter
- * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an
- * array with `num_glyphs' elements, as found in the font's @FT_Face
- * structure. The `glyph-to-script-map' property returns a pointer to
- * this array, which can be modified as needed. Note that the
- * modification should happen before the first glyph gets processed by
- * the auto-hinter so that the global analysis of the font shapes
- * actually uses the modified mapping.
- *
- * The following example code demonstrates how to access it (omitting
- * the error handling).
- *
- * {
- * FT_Library library;
- * FT_Face face;
- * FT_Prop_GlyphToScriptMap prop;
- *
- *
- * FT_Init_FreeType( &library );
- * FT_New_Face( library, "foo.ttf", 0, &face );
- *
- * prop.face = face;
- *
- * FT_Property_Get( library, "autofitter",
- * "glyph-to-script-map", &prop );
- *
- * // adjust `prop.map' as needed right here
- *
- * FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
- * }
- *
- */
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_AUTOHINTER_SCRIPT_XXX
- *
- * @description:
- * *Experimental* *only*
- *
- * A list of constants used for the @glyph-to-script-map property to
- * specify the script submodule the auto-hinter should use for hinting a
- * particular glyph.
- *
- * @values:
- * FT_AUTOHINTER_SCRIPT_NONE ::
- * Don't auto-hint this glyph.
- *
- * FT_AUTOHINTER_SCRIPT_LATIN ::
- * Apply the latin auto-hinter. For the auto-hinter, `latin' is a
- * very broad term, including Cyrillic and Greek also since characters
- * from those scripts share the same design constraints.
- *
- * By default, characters from the following Unicode ranges are
- * assigned to this submodule.
- *
- * {
- * U+0020 - U+007F // Basic Latin (no control characters)
- * U+00A0 - U+00FF // Latin-1 Supplement (no control characters)
- * U+0100 - U+017F // Latin Extended-A
- * U+0180 - U+024F // Latin Extended-B
- * U+0250 - U+02AF // IPA Extensions
- * U+02B0 - U+02FF // Spacing Modifier Letters
- * U+0300 - U+036F // Combining Diacritical Marks
- * U+0370 - U+03FF // Greek and Coptic
- * U+0400 - U+04FF // Cyrillic
- * U+0500 - U+052F // Cyrillic Supplement
- * U+1D00 - U+1D7F // Phonetic Extensions
- * U+1D80 - U+1DBF // Phonetic Extensions Supplement
- * U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement
- * U+1E00 - U+1EFF // Latin Extended Additional
- * U+1F00 - U+1FFF // Greek Extended
- * U+2000 - U+206F // General Punctuation
- * U+2070 - U+209F // Superscripts and Subscripts
- * U+20A0 - U+20CF // Currency Symbols
- * U+2150 - U+218F // Number Forms
- * U+2460 - U+24FF // Enclosed Alphanumerics
- * U+2C60 - U+2C7F // Latin Extended-C
- * U+2DE0 - U+2DFF // Cyrillic Extended-A
- * U+2E00 - U+2E7F // Supplemental Punctuation
- * U+A640 - U+A69F // Cyrillic Extended-B
- * U+A720 - U+A7FF // Latin Extended-D
- * U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures)
- * U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
- * U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
- * }
- *
- * FT_AUTOHINTER_SCRIPT_CJK ::
- * Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old
- * Vietnamese, and some other scripts.
- *
- * By default, characters from the following Unicode ranges are
- * assigned to this submodule.
- *
- * {
- * U+1100 - U+11FF // Hangul Jamo
- * U+2E80 - U+2EFF // CJK Radicals Supplement
- * U+2F00 - U+2FDF // Kangxi Radicals
- * U+2FF0 - U+2FFF // Ideographic Description Characters
- * U+3000 - U+303F // CJK Symbols and Punctuation
- * U+3040 - U+309F // Hiragana
- * U+30A0 - U+30FF // Katakana
- * U+3100 - U+312F // Bopomofo
- * U+3130 - U+318F // Hangul Compatibility Jamo
- * U+3190 - U+319F // Kanbun
- * U+31A0 - U+31BF // Bopomofo Extended
- * U+31C0 - U+31EF // CJK Strokes
- * U+31F0 - U+31FF // Katakana Phonetic Extensions
- * U+3200 - U+32FF // Enclosed CJK Letters and Months
- * U+3300 - U+33FF // CJK Compatibility
- * U+3400 - U+4DBF // CJK Unified Ideographs Extension A
- * U+4DC0 - U+4DFF // Yijing Hexagram Symbols
- * U+4E00 - U+9FFF // CJK Unified Ideographs
- * U+A960 - U+A97F // Hangul Jamo Extended-A
- * U+AC00 - U+D7AF // Hangul Syllables
- * U+D7B0 - U+D7FF // Hangul Jamo Extended-B
- * U+F900 - U+FAFF // CJK Compatibility Ideographs
- * U+FE10 - U+FE1F // Vertical forms
- * U+FE30 - U+FE4F // CJK Compatibility Forms
- * U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms
- * U+1B000 - U+1B0FF // Kana Supplement
- * U+1D300 - U+1D35F // Tai Xuan Hing Symbols
- * U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
- * U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
- * U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
- * U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
- * U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
- * }
- *
- * FT_AUTOHINTER_SCRIPT_INDIC ::
- * Apply the indic auto-hinter, covering all major scripts from the
- * Indian sub-continent and some other related scripts like Thai, Lao,
- * or Tibetan.
- *
- * By default, characters from the following Unicode ranges are
- * assigned to this submodule.
- *
- * {
- * U+0900 - U+0DFF // Indic Range
- * U+0F00 - U+0FFF // Tibetan
- * U+1900 - U+194F // Limbu
- * U+1B80 - U+1BBF // Sundanese
- * U+1C80 - U+1CDF // Meetei Mayak
- * U+A800 - U+A82F // Syloti Nagri
- * U+11800 - U+118DF // Sharada
- * }
- *
- * Note that currently Indic support is rudimentary only, missing blue
- * zone support.
- *
- */
-#define FT_AUTOHINTER_SCRIPT_NONE 0
-#define FT_AUTOHINTER_SCRIPT_LATIN 1
-#define FT_AUTOHINTER_SCRIPT_CJK 2
-#define FT_AUTOHINTER_SCRIPT_INDIC 3
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_Prop_GlyphToScriptMap
- *
- * @description:
- * *Experimental* *only*
- *
- * The data exchange structure for the @glyph-to-script-map property.
- *
- */
- typedef struct FT_Prop_GlyphToScriptMap_
- {
- FT_Face face;
- FT_UShort* map;
-
- } FT_Prop_GlyphToScriptMap;
-
-
- /**************************************************************************
- *
- * @property:
- * fallback-script
- *
- * @description:
- * *Experimental* *only*
- *
- * If no auto-hinter script module can be assigned to a glyph, a
- * fallback script gets assigned to it (see also the
- * @glyph-to-script-map property). By default, this is
- * @FT_AUTOHINTER_SCRIPT_CJK. Using the `fallback-script' property,
- * this fallback value can be changed.
- *
- * {
- * FT_Library library;
- * FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "autofitter",
- * "fallback-script", &fallback_script );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- * It's important to use the right timing for changing this value: The
- * creation of the glyph-to-script map that eventually uses the
- * fallback script value gets triggered either by setting or reading a
- * face-specific property like @glyph-to-script-map, or by auto-hinting
- * any glyph from that face. In particular, if you have already created
- * an @FT_Face structure but not loaded any glyph (using the
- * auto-hinter), a change of the fallback script will affect this face.
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * default-script
- *
- * @description:
- * *Experimental* *only*
- *
- * 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.
- * Features for the default script are intended for all scripts not
- * explicitly handled in GSUB; an example is a `dlig' feature,
- * containing the combination of the characters `T', `E', and `L' to
- * form a `TEL' ligature.
- *
- * By default, this is @FT_AUTOHINTER_SCRIPT_LATIN. Using the
- * `default-script' property, this default value can be changed.
- *
- * {
- * FT_Library library;
- * FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE;
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "autofitter",
- * "default-script", &default_script );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- * It's important to use the right timing for changing this value: The
- * creation of the glyph-to-script map that eventually uses the
- * default script value gets triggered either by setting or reading a
- * face-specific property like @glyph-to-script-map, or by auto-hinting
- * any glyph from that face. In particular, if you have already created
- * an @FT_Face structure but not loaded any glyph (using the
- * auto-hinter), a change of the default script will affect this face.
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * increase-x-height
- *
- * @description:
- * For ppem values in the range 6~<= ppem <= `increase-x-height', round
- * up the font's x~height much more often than normally. If the value
- * is set to~0, which is the default, this feature is switched off. Use
- * this property to improve the legibility of small font sizes if
- * necessary.
- *
- * {
- * FT_Library library;
- * FT_Face face;
- * FT_Prop_IncreaseXHeight prop;
- *
- *
- * FT_Init_FreeType( &library );
- * FT_New_Face( library, "foo.ttf", 0, &face );
- * FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
- *
- * prop.face = face;
- * prop.limit = 14;
- *
- * FT_Property_Set( library, "autofitter",
- * "increase-x-height", &prop );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- * Set this value right after calling @FT_Set_Char_Size, but before
- * loading any glyph (using the auto-hinter).
- *
- */
-
-
- /**************************************************************************
- *
- * @struct:
- * FT_Prop_IncreaseXHeight
- *
- * @description:
- * The data exchange structure for the @increase-x-height property.
- *
- */
- typedef struct FT_Prop_IncreaseXHeight_
- {
- FT_Face face;
- FT_UInt limit;
-
- } 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.
- *
- */
-
-
- /* */
-
-
-FT_END_HEADER
-
-#endif /* __FTAUTOH_H__ */
-
-
-/* END */
diff --git a/src/3rdparty/freetype/include/freetype/ftbbox.h b/src/3rdparty/freetype/include/freetype/ftbbox.h
index 22da70c0dc..fda1ad94a5 100644
--- a/src/3rdparty/freetype/include/freetype/ftbbox.h
+++ b/src/3rdparty/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,
@@ -31,8 +31,7 @@
#define FTBBOX_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftbdf.h b/src/3rdparty/freetype/include/freetype/ftbdf.h
index 1c46da5985..2e1daeeaaf 100644
--- a/src/3rdparty/freetype/include/freetype/ftbdf.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTBDF_H_
#define FTBDF_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftbitmap.h b/src/3rdparty/freetype/include/freetype/ftbitmap.h
index a6acdb9690..282c22e1cf 100644
--- a/src/3rdparty/freetype/include/freetype/ftbitmap.h
+++ b/src/3rdparty/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,
@@ -20,9 +20,8 @@
#define FTBITMAP_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_COLOR_H
+#include <freetype/freetype.h>
+#include <freetype/ftcolor.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftbzip2.h b/src/3rdparty/freetype/include/freetype/ftbzip2.h
index ae88cfdbdb..eb6a5a55d1 100644
--- a/src/3rdparty/freetype/include/freetype/ftbzip2.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTBZIP2_H_
#define FTBZIP2_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -43,6 +42,16 @@ FT_BEGIN_HEADER
* Using bzip2-compressed font files.
*
* @description:
+ * In certain builds of the library, bzip2 compression recognition is
+ * automatically handled when calling @FT_New_Face or @FT_Open_Face.
+ * This means that if no font driver is capable of handling the raw
+ * compressed file, the library will try to open a bzip2 compressed
+ * stream from it and re-open the face with it.
+ *
+ * The stream implementation is very basic and resets the decompression
+ * process each time seeking backwards is needed within the stream,
+ * which significantly undermines the performance.
+ *
* This section contains the declaration of Bzip2-specific functions.
*
*/
@@ -75,15 +84,6 @@ FT_BEGIN_HEADER
* **not** call `FT_Stream_Close` on the source stream. None of the
* stream objects will be released to the heap.
*
- * The stream implementation is very basic and resets the decompression
- * process each time seeking backwards is needed within the stream.
- *
- * In certain builds of the library, bzip2 compression recognition is
- * automatically handled when calling @FT_New_Face or @FT_Open_Face.
- * This means that if no font driver is capable of handling the raw
- * compressed file, the library will try to open a bzip2 compressed
- * stream from it and re-open the face with it.
- *
* This function may return `FT_Err_Unimplemented_Feature` if your build
* of FreeType was not compiled with bzip2 support.
*/
diff --git a/src/3rdparty/freetype/include/freetype/ftcache.h b/src/3rdparty/freetype/include/freetype/ftcache.h
index 0d589d0b34..6047275205 100644
--- a/src/3rdparty/freetype/include/freetype/ftcache.h
+++ b/src/3rdparty/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,
@@ -20,8 +20,7 @@
#define FTCACHE_H_
-#include <ft2build.h>
-#include FT_GLYPH_H
+#include <freetype/ftglyph.h>
FT_BEGIN_HEADER
diff --git a/src/3rdparty/freetype/include/freetype/ftcffdrv.h b/src/3rdparty/freetype/include/freetype/ftcffdrv.h
deleted file mode 100644
index 6c8e416cee..0000000000
--- a/src/3rdparty/freetype/include/freetype/ftcffdrv.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/***************************************************************************/
-/* */
-/* ftcffdrv.h */
-/* */
-/* FreeType API for controlling the CFF 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 __FTCFFDRV_H__
-#define __FTCFFDRV_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:
- * cff_driver
- *
- * @title:
- * The CFF driver
- *
- * @abstract:
- * Controlling the CFF driver module.
- *
- * @description:
- * While FreeType's CFF driver doesn't expose API functions by itself,
- * it is possible to control its behaviour with @FT_Property_Set and
- * @FT_Property_Get. The list below gives the available properties
- * together with the necessary macros and structures.
- *
- * The CFF driver's module name is `cff'.
- *
- * *Hinting* *and* *antialiasing* *principles* *of* *the* *new* *engine*
- *
- * The rasterizer is positioning horizontal features (e.g., ascender
- * height & x-height, or crossbars) on the pixel grid and minimizing the
- * amount of antialiasing applied to them, while placing vertical
- * features (vertical stems) on the pixel grid without hinting, thus
- * representing the stem position and weight accurately. Sometimes the
- * vertical stems may be only partially black. In this context,
- * `antialiasing' means that stems are not positioned exactly on pixel
- * borders, causing a fuzzy appearance.
- *
- * There are two principles behind this approach.
- *
- * 1) No hinting in the horizontal direction: Unlike `superhinted'
- * TrueType, which changes glyph widths to accommodate regular
- * inter-glyph spacing, Adobe's approach is `faithful to the design' in
- * representing both the glyph width and the inter-glyph spacing
- * designed for the font. This makes the screen display as close as it
- * can be to the result one would get with infinite resolution, while
- * preserving what is considered the key characteristics of each glyph.
- * Note that the distances between unhinted and grid-fitted positions at
- * small sizes are comparable to kerning values and thus would be
- * noticeable (and distracting) while reading if hinting were applied.
- *
- * One of the reasons to not hint horizontally is antialiasing for LCD
- * screens: The pixel geometry of modern displays supplies three
- * vertical sub-pixels as the eye moves horizontally across each visible
- * pixel. On devices where we can be certain this characteristic is
- * present a rasterizer can take advantage of the sub-pixels to add
- * increments of weight. In Western writing systems this turns out to
- * be the more critical direction anyway; the weights and spacing of
- * vertical stems (see above) are central to Armenian, Cyrillic, Greek,
- * and Latin type designs. Even when the rasterizer uses greyscale
- * antialiasing instead of color (a necessary compromise when one
- * doesn't know the screen characteristics), the unhinted vertical
- * features preserve the design's weight and spacing much better than
- * aliased type would.
- *
- * 2) Aligment in the vertical direction: Weights and spacing along the
- * y~axis are less critical; what is much more important is the visual
- * alignment of related features (like cap-height and x-height). The
- * sense of alignment for these is enhanced by the sharpness of grid-fit
- * edges, while the cruder vertical resolution (full pixels instead of
- * 1/3 pixels) is less of a problem.
- *
- * On the technical side, horizontal alignment zones for ascender,
- * x-height, and other important height values (traditionally called
- * `blue zones') as defined in the font are positioned independently,
- * each being rounded to the nearest pixel edge, taking care of
- * overshoot suppression at small sizes, stem darkening, and scaling.
- *
- * Hstems (this is, hint values defined in the font to help align
- * horizontal features) that fall within a blue zone are said to be
- * `captured' and are aligned to that zone. Uncaptured stems are moved
- * in one of four ways, top edge up or down, bottom edge up or down.
- * Unless there are conflicting hstems, the smallest movement is taken
- * to minimize distortion.
- *
- * @order:
- * hinting-engine
- * no-stem-darkening
- * darkening-parameters
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * hinting-engine
- *
- * @description:
- * Thanks to Adobe, which contributed a new hinting (and parsing)
- * engine, an application can select between `freetype' and `adobe' if
- * compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration
- * macro isn't defined, `hinting-engine' does nothing.
- *
- * The default engine is `freetype' if CFF_CONFIG_OPTION_OLD_ENGINE is
- * defined, and `adobe' otherwise.
- *
- * The following example code demonstrates how to select Adobe's hinting
- * engine (omitting the error handling).
- *
- * {
- * FT_Library library;
- * FT_UInt hinting_engine = FT_CFF_HINTING_ADOBE;
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "cff",
- * "hinting-engine", &hinting_engine );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- */
-
-
- /**************************************************************************
- *
- * @enum:
- * FT_CFF_HINTING_XXX
- *
- * @description:
- * A list of constants used for the @hinting-engine property to select
- * the hinting engine for CFF fonts.
- *
- * @values:
- * FT_CFF_HINTING_FREETYPE ::
- * Use the old FreeType hinting engine.
- *
- * FT_CFF_HINTING_ADOBE ::
- * Use the hinting engine contributed by Adobe.
- *
- */
-#define FT_CFF_HINTING_FREETYPE 0
-#define FT_CFF_HINTING_ADOBE 1
-
-
- /**************************************************************************
- *
- * @property:
- * no-stem-darkening
- *
- * @description:
- * By default, the Adobe CFF engine darkens stems at smaller sizes,
- * regardless of hinting, to enhance contrast. This feature requires
- * a rendering system with proper gamma correction. Setting this
- * property, stem darkening gets switched off.
- *
- * Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set.
- *
- * {
- * FT_Library library;
- * FT_Bool no_stem_darkening = TRUE;
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "cff",
- * "no-stem-darkening", &no_stem_darkening );
- * }
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- */
-
-
- /**************************************************************************
- *
- * @property:
- * darkening-parameters
- *
- * @description:
- * By default, the Adobe CFF engine darkens stems as follows (if the
- * `no-stem-darkening' property isn't set):
- *
- * {
- * stem width <= 0.5px: darkening amount = 0.4px
- * stem width = 1px: darkening amount = 0.275px
- * stem width = 1.667px: darkening amount = 0.275px
- * stem width >= 2.333px: darkening amount = 0px
- * }
- *
- * and piecewise linear in-between. At configuration time, these four
- * control points can be set with the macro
- * `CFF_CONFIG_OPTION_DARKENING_PARAMETERS'. At runtime, the control
- * points can be changed using the `darkening-parameters' property, as
- * the following example demonstrates.
- *
- * {
- * FT_Library library;
- * FT_Int darken_params[8] = { 500, 300, // x1, y1
- * 1000, 200, // x2, y2
- * 1500, 100, // x3, y3
- * 2000, 0 }; // x4, y4
- *
- *
- * FT_Init_FreeType( &library );
- *
- * FT_Property_Set( library, "cff",
- * "darkening-parameters", darken_params );
- * }
- *
- * The x~values give the stem width, and the y~values the darkening
- * amount. The unit is 1000th of pixels. All coordinate values must be
- * positive; the x~values must be monotonically increasing; the
- * y~values must be monotonically decreasing and smaller than or
- * equal to 500 (corresponding to half a pixel); the slope of each
- * linear piece must be shallower than -1 (e.g., -.4).
- *
- * @note:
- * This property can be used with @FT_Property_Get also.
- *
- */
-
- /* */
-
-
-FT_END_HEADER
-
-
-#endif /* __FTCFFDRV_H__ */
-
-
-/* END */
diff --git a/src/3rdparty/freetype/include/freetype/ftcid.h b/src/3rdparty/freetype/include/freetype/ftcid.h
index 8eafc1c78f..a29fb33306 100644
--- a/src/3rdparty/freetype/include/freetype/ftcid.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTCID_H_
#define FTCID_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftcolor.h b/src/3rdparty/freetype/include/freetype/ftcolor.h
index cf18021953..ecc6485e5a 100644
--- a/src/3rdparty/freetype/include/freetype/ftcolor.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTCOLOR_H_
#define FTCOLOR_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -125,9 +124,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 +134,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 +146,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 +162,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
*/
diff --git a/src/3rdparty/freetype/include/freetype/ftdriver.h b/src/3rdparty/freetype/include/freetype/ftdriver.h
index 497bde9f6e..804ec34a39 100644
--- a/src/3rdparty/freetype/include/freetype/ftdriver.h
+++ b/src/3rdparty/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,
@@ -19,9 +19,8 @@
#ifndef FTDRIVER_H_
#define FTDRIVER_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_PARAMETER_TAGS_H
+#include <freetype/freetype.h>
+#include <freetype/ftparams.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -427,10 +426,6 @@ FT_BEGIN_HEADER
* counteracts the 'thinning out' of glyphs, making text remain readable
* at smaller sizes.
*
- * By default, the Adobe engines for CFF, Type~1, and CID fonts darken
- * stems at smaller sizes, regardless of hinting, to enhance contrast.
- * Setting this property, stem darkening gets switched off.
- *
* For the auto-hinter, stem-darkening is experimental currently and thus
* switched off by default (this is, `no-stem-darkening` is set to TRUE
* by default). Total consistency with the CFF driver is not achieved
diff --git a/src/3rdparty/freetype/include/freetype/fterrdef.h b/src/3rdparty/freetype/include/freetype/fterrdef.h
index 9bc7dc65e3..895d2d4dc8 100644
--- a/src/3rdparty/freetype/include/freetype/fterrdef.h
+++ b/src/3rdparty/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,
diff --git a/src/3rdparty/freetype/include/freetype/fterrors.h b/src/3rdparty/freetype/include/freetype/fterrors.h
index 2b47eb2096..60a637c77c 100644
--- a/src/3rdparty/freetype/include/freetype/fterrors.h
+++ b/src/3rdparty/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,
@@ -89,7 +89,7 @@
* const char* err_msg;
* } ft_errors[] =
*
- * #include FT_ERRORS_H
+ * #include <freetype/fterrors.h>
* ```
*
* An alternative to using an array is a switch statement.
@@ -124,7 +124,7 @@
/* include module base error codes */
-#include FT_MODULE_ERRORS_H
+#include <freetype/ftmoderr.h>
/*******************************************************************/
@@ -197,7 +197,7 @@
/* now include the error codes */
-#include FT_ERROR_DEFINITIONS_H
+#include <freetype/fterrdef.h>
#ifdef FT_ERROR_END_LIST
@@ -232,11 +232,16 @@
#undef FT_ERR_PREFIX
#endif
- /* FT_INCLUDE_ERR_PROTOS: Control if function prototypes should be */
- /* included with `#include FT_ERRORS_H'. This is */
- /* only true where `FT_ERRORDEF` is undefined. */
- /* FT_ERR_PROTOS_DEFINED: Actual multiple-inclusion protection of */
- /* `fterrors.h`. */
+ /* FT_INCLUDE_ERR_PROTOS: Control whether function prototypes should be */
+ /* included with */
+ /* */
+ /* #include <freetype/fterrors.h> */
+ /* */
+ /* This is only true where `FT_ERRORDEF` is */
+ /* undefined. */
+ /* */
+ /* FT_ERR_PROTOS_DEFINED: Actual multiple-inclusion protection of */
+ /* `fterrors.h`. */
#ifdef FT_INCLUDE_ERR_PROTOS
#undef FT_INCLUDE_ERR_PROTOS
diff --git a/src/3rdparty/freetype/include/freetype/ftfntfmt.h b/src/3rdparty/freetype/include/freetype/ftfntfmt.h
index aae0b13264..f803349cd7 100644
--- a/src/3rdparty/freetype/include/freetype/ftfntfmt.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTFNTFMT_H_
#define FTFNTFMT_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftgasp.h b/src/3rdparty/freetype/include/freetype/ftgasp.h
index 24673d8ce1..6b76882c74 100644
--- a/src/3rdparty/freetype/include/freetype/ftgasp.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTGASP_H_
#define FTGASP_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftglyph.h b/src/3rdparty/freetype/include/freetype/ftglyph.h
index fedab8491e..704619e3d0 100644
--- a/src/3rdparty/freetype/include/freetype/ftglyph.h
+++ b/src/3rdparty/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,
@@ -33,8 +33,7 @@
#define FTGLYPH_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftgxval.h b/src/3rdparty/freetype/include/freetype/ftgxval.h
index b14f637c56..354460a9a7 100644
--- a/src/3rdparty/freetype/include/freetype/ftgxval.h
+++ b/src/3rdparty/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.
*
@@ -28,8 +28,7 @@
#ifndef FTGXVAL_H_
#define FTGXVAL_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftgzip.h b/src/3rdparty/freetype/include/freetype/ftgzip.h
index 418c61228e..ec5939a191 100644
--- a/src/3rdparty/freetype/include/freetype/ftgzip.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTGZIP_H_
#define FTGZIP_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -43,6 +42,16 @@ FT_BEGIN_HEADER
* Using gzip-compressed font files.
*
* @description:
+ * In certain builds of the library, gzip compression recognition is
+ * automatically handled when calling @FT_New_Face or @FT_Open_Face.
+ * This means that if no font driver is capable of handling the raw
+ * compressed file, the library will try to open a gzipped stream from it
+ * and re-open the face with it.
+ *
+ * The stream implementation is very basic and resets the decompression
+ * process each time seeking backwards is needed within the stream,
+ * which significantly undermines the performance.
+ *
* This section contains the declaration of Gzip-specific functions.
*
*/
@@ -75,15 +84,6 @@ FT_BEGIN_HEADER
* **not** call `FT_Stream_Close` on the source stream. None of the
* stream objects will be released to the heap.
*
- * The stream implementation is very basic and resets the decompression
- * process each time seeking backwards is needed within the stream.
- *
- * In certain builds of the library, gzip compression recognition is
- * automatically handled when calling @FT_New_Face or @FT_Open_Face.
- * This means that if no font driver is capable of handling the raw
- * compressed file, the library will try to open a gzipped stream from it
- * and re-open the face with it.
- *
* This function may return `FT_Err_Unimplemented_Feature` if your build
* of FreeType was not compiled with zlib support.
*/
diff --git a/src/3rdparty/freetype/include/freetype/ftimage.h b/src/3rdparty/freetype/include/freetype/ftimage.h
index face34fe49..74911620d2 100644
--- a/src/3rdparty/freetype/include/freetype/ftimage.h
+++ b/src/3rdparty/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,
@@ -30,7 +30,6 @@
/* STANDALONE_ is from ftgrays.c */
#ifndef STANDALONE_
-#include <ft2build.h>
#endif
@@ -401,6 +400,13 @@ FT_BEGIN_HEADER
* if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more
* information.
*
+ * FT_OUTLINE_OVERLAP ::
+ * This flag indicates that this outline contains overlapping contrours
+ * and the anti-aliased renderer should perform oversampling to
+ * mitigate possible artifacts. This flag should _not_ be set for
+ * well designed glyphs without overlaps because it quadruples the
+ * rendering time.
+ *
* FT_OUTLINE_HIGH_PRECISION ::
* This flag indicates that the scan-line converter should try to
* convert this outline to bitmaps with the highest possible quality.
@@ -432,6 +438,7 @@ FT_BEGIN_HEADER
#define FT_OUTLINE_IGNORE_DROPOUTS 0x8
#define FT_OUTLINE_SMART_DROPOUTS 0x10
#define FT_OUTLINE_INCLUDE_STUBS 0x20
+#define FT_OUTLINE_OVERLAP 0x40
#define FT_OUTLINE_HIGH_PRECISION 0x100
#define FT_OUTLINE_SINGLE_PASS 0x200
@@ -1004,20 +1011,26 @@ FT_BEGIN_HEADER
* User-supplied data that is passed to each drawing callback.
*
* clip_box ::
- * An optional clipping box. It is only used in direct rendering mode.
- * Note that coordinates here should be expressed in _integer_ pixels
- * (and not in 26.6 fixed-point units).
+ * An optional span clipping box expressed in _integer_ pixels
+ * (not in 26.6 fixed-point units).
*
* @note:
- * An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA bit
- * flag is set in the `flags` field, otherwise a monochrome bitmap is
- * generated.
- *
- * If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags`, the raster
- * will call the `gray_spans` callback to draw gray pixel spans. This
- * allows direct composition over a pre-existing bitmap through
- * user-provided callbacks to perform the span drawing and composition.
- * Not supported by the monochrome rasterizer.
+ * The @FT_RASTER_FLAG_AA bit flag must be set in the `flags` to
+ * generate an anti-aliased glyph bitmap, otherwise a monochrome bitmap
+ * is generated. The `target` should have appropriate pixel mode and its
+ * dimensions define the clipping region.
+ *
+ * If both @FT_RASTER_FLAG_AA and @FT_RASTER_FLAG_DIRECT bit flags
+ * are set in `flags`, the raster calls an @FT_SpanFunc callback
+ * `gray_spans` with `user` data as an argument ignoring `target`. This
+ * allows direct composition over a pre-existing user surface to perform
+ * the span drawing and composition. To optionally clip the spans, set
+ * the @FT_RASTER_FLAG_CLIP flag and `clip_box`. The monochrome raster
+ * does not support the direct mode.
+ *
+ * The gray-level rasterizer always uses 256 gray levels. If you want
+ * fewer gray levels, you have to use @FT_RASTER_FLAG_DIRECT and reduce
+ * the levels in the callback function.
*/
typedef struct FT_Raster_Params_
{
diff --git a/src/3rdparty/freetype/include/freetype/ftincrem.h b/src/3rdparty/freetype/include/freetype/ftincrem.h
index a4db02b585..f67655eda0 100644
--- a/src/3rdparty/freetype/include/freetype/ftincrem.h
+++ b/src/3rdparty/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,
@@ -19,9 +19,8 @@
#ifndef FTINCREM_H_
#define FTINCREM_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_PARAMETER_TAGS_H
+#include <freetype/freetype.h>
+#include <freetype/ftparams.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftlcdfil.h b/src/3rdparty/freetype/include/freetype/ftlcdfil.h
index 3a19d043bb..c6995f2ff7 100644
--- a/src/3rdparty/freetype/include/freetype/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 (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,
@@ -20,9 +20,8 @@
#ifndef FTLCDFIL_H_
#define FTLCDFIL_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_PARAMETER_TAGS_H
+#include <freetype/freetype.h>
+#include <freetype/ftparams.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -47,7 +46,7 @@ FT_BEGIN_HEADER
* @description:
* FreeType provides two alternative subpixel rendering technologies.
* Should you define `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` in your
- * `ftoption.h` file, this enables patented ClearType-style rendering.
+ * `ftoption.h` file, this enables ClearType-style rendering.
* Otherwise, Harmony LCD rendering is enabled. These technologies are
* controlled differently and API described below, although always
* available, performs its function when appropriate method is enabled
@@ -177,7 +176,7 @@ FT_BEGIN_HEADER
* FT_Library_SetLcdFilter
*
* @description:
- * This function is used to apply color filtering to LCD decimated
+ * This function is used to change filter applied to LCD decimated
* bitmaps, like the ones used when calling @FT_Render_Glyph with
* @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V.
*
@@ -196,15 +195,14 @@ FT_BEGIN_HEADER
* FreeType error code. 0~means success.
*
* @note:
- * This feature is always disabled by default. Clients must make an
- * explicit call to this function with a `filter` value other than
- * @FT_LCD_FILTER_NONE in order to enable it.
+ * Since 2.10.3 the LCD filtering is enabled with @FT_LCD_FILTER_DEFAULT.
+ * It is no longer necessary to call this function explicitly except
+ * to choose a different filter or disable filtering altogether with
+ * @FT_LCD_FILTER_NONE.
*
- * Due to **PATENTS** covering subpixel rendering, this function doesn't
- * do anything except returning `FT_Err_Unimplemented_Feature` if the
- * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not
- * defined in your build of the library, which should correspond to all
- * default builds of FreeType.
+ * This function does nothing but returns `FT_Err_Unimplemented_Feature`
+ * if the configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is
+ * not defined in your build of the library.
*
* @since:
* 2.3.0
@@ -235,11 +233,9 @@ FT_BEGIN_HEADER
* FreeType error code. 0~means success.
*
* @note:
- * Due to **PATENTS** covering subpixel rendering, this function doesn't
- * do anything except returning `FT_Err_Unimplemented_Feature` if the
- * configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is not
- * defined in your build of the library, which should correspond to all
- * default builds of FreeType.
+ * This function does nothing but returns `FT_Err_Unimplemented_Feature`
+ * if the configuration macro `FT_CONFIG_OPTION_SUBPIXEL_RENDERING` is
+ * not defined in your build of the library.
*
* LCD filter weights can also be set per face using @FT_Face_Properties
* with @FT_PARAM_TAG_LCD_FILTER_WEIGHTS.
diff --git a/src/3rdparty/freetype/include/freetype/ftlist.h b/src/3rdparty/freetype/include/freetype/ftlist.h
index 4782892d1a..4588922706 100644
--- a/src/3rdparty/freetype/include/freetype/ftlist.h
+++ b/src/3rdparty/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,
@@ -28,8 +28,7 @@
#define FTLIST_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
diff --git a/src/3rdparty/freetype/include/freetype/ftlzw.h b/src/3rdparty/freetype/include/freetype/ftlzw.h
index fd22968f5a..ae46ad6021 100644
--- a/src/3rdparty/freetype/include/freetype/ftlzw.h
+++ b/src/3rdparty/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,
@@ -19,8 +19,7 @@
#ifndef FTLZW_H_
#define FTLZW_H_
-#include <ft2build.h>
-#include FT_FREETYPE_H
+#include <freetype/freetype.h>
#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
@@ -43,6 +42,16 @@ FT_BEGIN_HEADER
* Using LZW-compressed font files.
*
* @description:
+ * In certain builds of the library, LZW compression recognition is
+ * automatically handled when calling @FT_New_Face or @FT_Open_Face.
+ * This means that if no font driver is capable of handling the raw
+ * compressed file, the library will try to open a LZW stream from it and
+ * re-open the face with it.
+ *
+ * The stream implementation is very basic and resets the decompression
+ * process each time seeking backwards is needed within the stream,
+ * which significantly undermines the performance.