From c0b40a8370ea22efd4bc023ebd2fc934b00c9bce Mon Sep 17 00:00:00 2001 From: Jason Riendeau Date: Mon, 17 May 2021 15:57:03 -0400 Subject: [PATCH] Updating to v2.10.4 Pulled updated source from freetype.org --- .clang-format | 16 + .gitignore | 2 - .mailmap | 7 - CMakeLists.txt | 487 +- ChangeLog | 8364 +++----- ChangeLog.20 | 36 +- ChangeLog.21 | 147 +- ChangeLog.22 | 50 +- ChangeLog.23 | 238 +- ChangeLog.24 | 158 +- ChangeLog.25 | 5161 +++++ ChangeLog.26 | 5711 +++++ ChangeLog.27 | 2106 ++ ChangeLog.28 | 3136 +++ ChangeLog.29 | 2352 +++ Jamfile | 209 - Jamrules | 71 - Makefile | 2 +- README | 43 +- README.git | 2 +- autogen.sh | 3 +- builds/amiga/README | 4 +- builds/amiga/include/config/ftconfig.h | 2 +- builds/amiga/include/config/ftmodule.h | 4 +- builds/amiga/makefile | 12 +- builds/amiga/makefile.os4 | 12 +- builds/amiga/smakefile | 10 +- builds/amiga/src/base/ftdebug.c | 213 +- builds/amiga/src/base/ftsystem.c | 12 +- builds/ansi/ansi-def.mk | 5 +- builds/ansi/ansi.mk | 2 +- builds/atari/ATARI.H | 2 +- builds/atari/README.TXT | 8 +- builds/beos/beos-def.mk | 5 +- builds/beos/beos.mk | 2 +- builds/beos/detect.mk | 2 +- builds/cmake/FindBrotliDec.cmake | 51 + builds/{ => cmake}/FindHarfBuzz.cmake | 72 +- builds/cmake/iOS.cmake | 7 +- builds/cmake/testbuild.sh | 157 + builds/compiler/ansi-cc.mk | 2 +- builds/compiler/bcc-dev.mk | 2 +- builds/compiler/bcc.mk | 2 +- builds/compiler/emx.mk | 2 +- builds/compiler/gcc-dev.mk | 2 +- builds/compiler/gcc.mk | 2 +- builds/compiler/intelc.mk | 2 +- builds/compiler/unix-lcc.mk | 2 +- builds/compiler/visualage.mk | 2 +- builds/compiler/visualc.mk | 2 +- builds/compiler/watcom.mk | 2 +- builds/compiler/win-lcc.mk | 2 +- builds/detect.mk | 66 +- builds/dos/detect.mk | 24 +- builds/dos/dos-def.mk | 5 +- builds/dos/dos-emx.mk | 2 +- builds/dos/dos-gcc.mk | 2 +- builds/dos/dos-wat.mk | 2 +- builds/exports.mk | 8 +- builds/freetype.mk | 117 +- builds/link_dos.mk | 2 +- builds/link_std.mk | 2 +- builds/mac/FreeType.m68k_cfm.make.txt | 3 - builds/mac/FreeType.m68k_far.make.txt | 3 - builds/mac/FreeType.ppc_carbon.make.txt | 3 - builds/mac/FreeType.ppc_classic.make.txt | 3 - builds/mac/README | 8 +- builds/mac/freetype-Info.plist | 2 +- builds/mac/ftmac.c | 36 +- builds/meson/extract_freetype_version.py | 107 + builds/meson/extract_libtool_version.py | 105 + builds/meson/generate_reference_docs.py | 79 + builds/meson/parse_modules_cfg.py | 160 + builds/meson/process_ftoption_h.py | 105 + builds/modules.mk | 6 +- builds/newline | 1 - builds/os2/detect.mk | 20 +- builds/os2/os2-def.mk | 6 +- builds/os2/os2-dev.mk | 2 +- builds/os2/os2-gcc.mk | 2 +- builds/symbian/bld.inf | 12 +- builds/symbian/freetype.mmp | 14 +- builds/toplevel.mk | 30 +- builds/unix/.gitignore | 17 - builds/unix/aclocal.m4 | 9160 ++++++++ builds/unix/ax_compare_version.m4 | 177 + builds/unix/ax_prog_python_version.m4 | 66 + builds/unix/config.guess | 1685 ++ builds/unix/config.sub | 1853 ++ builds/unix/configure | 17530 ++++++++++++++++ builds/unix/configure.ac | 1192 ++ builds/unix/configure.raw | 262 +- builds/unix/detect.mk | 21 +- builds/unix/freetype-config.in | 106 +- builds/unix/freetype2.in | 2 +- builds/unix/freetype2.m4 | 6 +- builds/unix/ft-munmap.m4 | 2 +- builds/unix/ftconfig.h.in | 62 + builds/unix/ftconfig.in | 497 - builds/unix/ftsystem.c | 18 +- builds/unix/install-sh | 501 + builds/unix/install.mk | 40 +- builds/unix/ltmain.sh | 11147 ++++++++++ builds/unix/mkinstalldirs | 161 - builds/unix/pkg.m4 | 2 +- builds/unix/unix-cc.in | 30 +- builds/unix/unix-def.in | 19 +- builds/unix/unix-dev.mk | 2 +- builds/unix/unix-lcc.mk | 2 +- builds/unix/unix.mk | 2 +- builds/unix/unixddef.mk | 6 +- builds/vms/LIBS.OPT_IA64 | Bin 0 -> 82 bytes builds/vms/_LINK.OPT_IA64 | Bin 0 -> 14464 bytes builds/vms/ftconfig.h | 462 +- builds/vms/ftsystem.c | 14 +- builds/vms/vmslib.dat | 28 + builds/wince/ftdebug.c | 254 +- builds/wince/vc2005-ce/freetype.sln | 1 - builds/wince/vc2005-ce/freetype.vcproj | 3051 +-- builds/wince/vc2005-ce/index.html | 14 +- builds/wince/vc2008-ce/freetype.sln | 1 - builds/wince/vc2008-ce/freetype.vcproj | 10168 +-------- builds/wince/vc2008-ce/index.html | 14 +- builds/windows/.gitignore | 5 - builds/windows/detect.mk | 64 +- builds/windows/ftdebug.c | 241 +- builds/windows/vc2005/freetype.sln | 31 - builds/windows/vc2005/freetype.vcproj | 646 - builds/windows/vc2005/index.html | 37 - builds/windows/vc2008/freetype.sln | 31 - builds/windows/vc2008/freetype.vcproj | 2180 -- builds/windows/vc2008/index.html | 37 - builds/windows/vc2010/freetype.sln | 37 +- builds/windows/vc2010/freetype.vcxproj | 1551 +- .../windows/vc2010/freetype.vcxproj.filters | 113 +- builds/windows/vc2010/index.html | 44 +- builds/windows/visualc/freetype.dsp | 206 +- builds/windows/visualc/freetype.sln | 22 +- builds/windows/visualc/freetype.vcproj | 1794 +- builds/windows/visualc/index.html | 25 +- builds/windows/visualce/freetype.dsp | 55 +- builds/windows/visualce/freetype.vcproj | 10387 +-------- builds/windows/visualce/index.html | 14 +- builds/windows/w32-bcc.mk | 2 +- builds/windows/w32-bccd.mk | 2 +- builds/windows/w32-dev.mk | 2 +- builds/windows/w32-gcc.mk | 2 +- builds/windows/w32-icc.mk | 2 +- builds/windows/w32-intl.mk | 2 +- builds/windows/w32-lcc.mk | 2 +- builds/windows/w32-mingw32.mk | 2 +- builds/windows/w32-vcc.mk | 2 +- builds/windows/w32-wat.mk | 2 +- builds/windows/win32-def.mk | 6 +- configure | 14 +- devel/ft2build.h | 51 +- devel/ftoption.h | 1396 +- docs/CHANGES | 1064 +- docs/CUSTOMIZE | 8 +- docs/DEBUG | 144 +- docs/DOCGUIDE | 298 + docs/FTL.TXT | 4 +- docs/INSTALL | 10 +- docs/INSTALL.ANY | 14 +- docs/INSTALL.CROSS | 4 +- docs/INSTALL.GNU | 10 +- docs/INSTALL.MAC | 42 +- docs/INSTALL.UNIX | 7 +- docs/INSTALL.VMS | 14 +- docs/LICENSE.TXT | 6 +- docs/MAKEPP | 4 +- docs/README | 35 + docs/TODO | 2 +- docs/VERSION.DLL | 129 - docs/VERSIONS.TXT | 130 + docs/formats.txt | 320 +- docs/freetype-config.1 | 50 +- docs/raster.txt | 2 +- docs/reference/.gitignore | 1 - docs/reference/404.html | 1036 + docs/reference/README | 5 - docs/reference/assets/fonts/font-awesome.css | 4 + .../reference/assets/fonts/material-icons.css | 13 + .../assets/fonts/specimen/FontAwesome.ttf | Bin 0 -> 165548 bytes .../assets/fonts/specimen/FontAwesome.woff | Bin 0 -> 98024 bytes .../assets/fonts/specimen/FontAwesome.woff2 | Bin 0 -> 77160 bytes .../fonts/specimen/MaterialIcons-Regular.ttf | Bin 0 -> 128180 bytes .../fonts/specimen/MaterialIcons-Regular.woff | Bin 0 -> 57620 bytes .../specimen/MaterialIcons-Regular.woff2 | Bin 0 -> 44300 bytes docs/reference/assets/images/favicon.png | Bin 0 -> 521 bytes .../images/icons/bitbucket.1b09e088.svg | 1 + .../assets/images/icons/github.f0b8504a.svg | 1 + .../assets/images/icons/gitlab.6dd19c00.svg | 1 + .../javascripts/application.c33a9706.js | 60 + .../assets/javascripts/lunr/lunr.ar.js | 20 + .../assets/javascripts/lunr/lunr.da.js | 17 + .../assets/javascripts/lunr/lunr.de.js | 17 + .../assets/javascripts/lunr/lunr.du.js | 17 + .../assets/javascripts/lunr/lunr.es.js | 17 + .../assets/javascripts/lunr/lunr.fi.js | 17 + .../assets/javascripts/lunr/lunr.fr.js | 17 + .../assets/javascripts/lunr/lunr.hu.js | 17 + .../assets/javascripts/lunr/lunr.it.js | 17 + .../assets/javascripts/lunr/lunr.ja.js | 17 + .../assets/javascripts/lunr/lunr.jp.js | 1 + .../assets/javascripts/lunr/lunr.multi.js | 1 + .../assets/javascripts/lunr/lunr.nl.js | 17 + .../assets/javascripts/lunr/lunr.no.js | 17 + .../assets/javascripts/lunr/lunr.pt.js | 17 + .../assets/javascripts/lunr/lunr.ro.js | 17 + .../assets/javascripts/lunr/lunr.ru.js | 17 + .../javascripts/lunr/lunr.stemmer.support.js | 9 + .../assets/javascripts/lunr/lunr.sv.js | 17 + .../assets/javascripts/lunr/lunr.th.js | 17 + .../assets/javascripts/lunr/lunr.tr.js | 17 + .../assets/javascripts/lunr/lunr.vi.js | 17 + .../assets/javascripts/lunr/tinyseg.js | 1 + .../assets/javascripts/lunr/wordcut.js | 1 + .../assets/javascripts/modernizr.86422ebf.js | 1 + .../application-palette.a8b3c06d.css | 1 + .../stylesheets/application.adb8469c.css | 1 + docs/reference/ft2-auto_hinter.html | 1158 + docs/reference/ft2-base_interface.html | 5109 +++++ docs/reference/ft2-basic_types.html | 2299 ++ docs/reference/ft2-bdf_fonts.html | 1375 ++ docs/reference/ft2-bitmap_handling.html | 1504 ++ docs/reference/ft2-bzip2.html | 1200 ++ docs/reference/ft2-cache_subsystem.html | 2344 +++ docs/reference/ft2-cff_driver.html | 1166 + docs/reference/ft2-cid_fonts.html | 1314 ++ docs/reference/ft2-color_management.html | 1457 ++ docs/reference/ft2-computations.html | 2005 ++ docs/reference/ft2-error_code_values.html | 1395 ++ docs/reference/ft2-error_enumerations.html | 1244 ++ docs/reference/ft2-font_formats.html | 1197 ++ docs/reference/ft2-gasp_table.html | 1252 ++ docs/reference/ft2-glyph_management.html | 1821 ++ docs/reference/ft2-glyph_stroker.html | 2092 ++ docs/reference/ft2-glyph_variants.html | 1387 ++ docs/reference/ft2-gx_validation.html | 1478 ++ docs/reference/ft2-gzip.html | 1266 ++ docs/reference/ft2-header_file_macros.html | 2215 ++ docs/reference/ft2-header_inclusion.html | 1161 + docs/reference/ft2-incremental.html | 1507 ++ docs/reference/ft2-index.html | 2145 ++ docs/reference/ft2-layer_management.html | 1310 ++ docs/reference/ft2-lcd_rendering.html | 1408 ++ docs/reference/ft2-list_processing.html | 1624 ++ docs/reference/ft2-lzw.html | 1200 ++ docs/reference/ft2-mac_specific.html | 1486 ++ docs/reference/ft2-module_management.html | 2159 ++ docs/reference/ft2-multiple_masters.html | 2069 ++ docs/reference/ft2-ot_validation.html | 1306 ++ docs/reference/ft2-outline_processing.html | 2250 ++ docs/reference/ft2-parameter_tags.html | 1334 ++ docs/reference/ft2-pcf_driver.html | 1157 + docs/reference/ft2-pfr_fonts.html | 1318 ++ docs/reference/ft2-properties.html | 1906 ++ docs/reference/ft2-quick_advance.html | 1297 ++ docs/reference/ft2-raster.html | 1706 ++ docs/reference/ft2-sfnt_names.html | 1405 ++ docs/reference/ft2-sizes_management.html | 1276 ++ docs/reference/ft2-system_interface.html | 1549 ++ docs/reference/ft2-t1_cid_driver.html | 1160 + docs/reference/ft2-truetype_engine.html | 1237 ++ docs/reference/ft2-truetype_tables.html | 3158 +++ docs/reference/ft2-tt_driver.html | 1173 ++ docs/reference/ft2-type1_tables.html | 2101 ++ docs/reference/ft2-user_allocation.html | 1156 + docs/reference/ft2-version.html | 1332 ++ docs/reference/ft2-winfnt_fonts.html | 1392 ++ docs/reference/images/favico.ico | Bin 0 -> 1150 bytes docs/reference/index.html | 1276 ++ docs/reference/javascripts/extra.js | 54 + docs/reference/search/search_index.json | 1 + docs/reference/sitemap.xml | 207 + docs/reference/sitemap.xml.gz | Bin 0 -> 219 bytes docs/reference/stylesheets/extra.css | 183 + docs/release | 16 +- include/freetype/config/ftconfig.h | 500 +- include/freetype/config/ftheader.h | 520 +- include/freetype/config/ftmodule.h | 14 +- include/freetype/config/ftoption.h | 1384 +- include/freetype/config/ftstdlib.h | 175 +- include/freetype/config/integer-types.h | 245 + include/freetype/config/mac-support.h | 49 + include/freetype/config/public-macros.h | 120 + include/freetype/freetype.h | 6835 +++--- include/freetype/ftadvanc.h | 257 +- include/freetype/ftautoh.h | 450 - include/freetype/ftbbox.h | 146 +- include/freetype/ftbdf.h | 256 +- include/freetype/ftbitmap.h | 461 +- include/freetype/ftbzip2.h | 150 +- include/freetype/ftcache.h | 1214 +- include/freetype/ftcffdrv.h | 262 - include/freetype/ftchapters.h | 280 +- include/freetype/ftcid.h | 119 +- include/freetype/ftcolor.h | 313 + include/freetype/ftdriver.h | 1227 ++ include/freetype/fterrdef.h | 107 +- include/freetype/fterrors.h | 284 +- include/freetype/ftfntfmt.h | 135 +- include/freetype/ftgasp.h | 102 +- include/freetype/ftglyph.h | 1007 +- include/freetype/ftgxval.h | 517 +- include/freetype/ftgzip.h | 239 +- include/freetype/ftimage.h | 1815 +- include/freetype/ftincrem.h | 167 +- include/freetype/ftlcdfil.h | 331 +- include/freetype/ftlist.h | 438 +- include/freetype/ftlzw.h | 147 +- include/freetype/ftmac.h | 415 +- include/freetype/ftmm.h | 929 +- include/freetype/ftmodapi.h | 947 +- include/freetype/ftmoderr.h | 201 +- include/freetype/ftotval.h | 332 +- include/freetype/ftoutln.h | 944 +- include/freetype/ftparams.h | 203 + include/freetype/ftpfr.h | 273 +- include/freetype/ftrender.h | 228 +- include/freetype/ftsizes.h | 256 +- include/freetype/ftsnames.h | 364 +- include/freetype/ftstroke.h | 454 +- include/freetype/ftsynth.h | 47 +- include/freetype/ftsystem.h | 143 +- include/freetype/fttrigon.h | 98 +- include/freetype/ftttdrv.h | 233 - include/freetype/fttypes.h | 871 +- include/freetype/ftwinfnt.h | 173 +- include/freetype/internal/autohint.h | 348 +- include/freetype/internal/cffotypes.h | 107 + include/freetype/internal/cfftypes.h | 416 + include/freetype/internal/compiler-macros.h | 307 + include/freetype/internal/ftcalc.h | 295 +- include/freetype/internal/ftdebug.h | 264 +- include/freetype/internal/ftdriver.h | 409 - include/freetype/internal/ftdrv.h | 288 + include/freetype/internal/ftgloadr.h | 86 +- include/freetype/internal/fthash.h | 135 + include/freetype/internal/ftmemory.h | 121 +- include/freetype/internal/ftobjs.h | 1418 +- include/freetype/internal/ftpic.h | 71 - include/freetype/internal/ftpsprop.h | 47 + include/freetype/internal/ftrfork.h | 317 +- include/freetype/internal/ftserv.h | 598 +- include/freetype/internal/ftstream.h | 126 +- include/freetype/internal/fttrace.h | 88 +- include/freetype/internal/ftvalid.h | 95 +- include/freetype/internal/internal.h | 63 - include/freetype/internal/psaux.h | 933 +- include/freetype/internal/pshints.h | 189 +- include/freetype/internal/services/svbdf.h | 64 +- include/freetype/internal/services/svcfftl.h | 90 + include/freetype/internal/services/svcid.h | 67 +- include/freetype/internal/services/svfntfmt.h | 52 +- include/freetype/internal/services/svgldict.h | 78 +- include/freetype/internal/services/svgxval.h | 66 +- include/freetype/internal/services/svkern.h | 48 +- include/freetype/internal/services/svmetric.h | 125 + include/freetype/internal/services/svmm.h | 165 +- include/freetype/internal/services/svotval.h | 48 +- include/freetype/internal/services/svpfr.h | 49 +- include/freetype/internal/services/svpostnm.h | 72 +- include/freetype/internal/services/svprop.h | 61 +- include/freetype/internal/services/svpscmap.h | 94 +- include/freetype/internal/services/svpsinfo.h | 73 +- include/freetype/internal/services/svsfnt.h | 65 +- include/freetype/internal/services/svttcmap.h | 103 +- include/freetype/internal/services/svtteng.h | 50 +- include/freetype/internal/services/svttglyf.h | 59 +- include/freetype/internal/services/svwinfnt.h | 48 +- include/freetype/internal/sfnt.h | 1087 +- include/freetype/internal/t1types.h | 110 +- include/freetype/internal/tttypes.h | 2038 +- include/freetype/internal/wofftypes.h | 312 + include/freetype/t1tables.h | 634 +- include/freetype/ttnameid.h | 742 +- include/freetype/tttables.h | 1152 +- include/freetype/tttags.h | 62 +- include/freetype/ttunpat.h | 60 - include/ft2build.h | 72 +- meson.build | 368 + meson_options.txt | 47 + modules.cfg | 32 +- objs/.gitignore | 15 - src/Jamfile | 19 - src/autofit/Jamfile | 53 - src/autofit/afangles.c | 52 +- src/autofit/afangles.h | 6 +- src/autofit/afblue.c | 737 +- src/autofit/afblue.cin | 32 +- src/autofit/afblue.dat | 909 +- src/autofit/afblue.h | 408 +- src/autofit/afblue.hin | 104 +- src/autofit/afcjk.c | 436 +- src/autofit/afcjk.h | 51 +- src/autofit/afcover.h | 32 +- src/autofit/afdummy.c | 54 +- src/autofit/afdummy.h | 44 +- src/autofit/aferrors.h | 67 +- src/autofit/afglobal.c | 212 +- src/autofit/afglobal.h | 93 +- src/autofit/afhints.c | 425 +- src/autofit/afhints.h | 255 +- src/autofit/afindic.c | 77 +- src/autofit/afindic.h | 44 +- src/autofit/aflatin.c | 1862 +- src/autofit/aflatin.h | 64 +- src/autofit/aflatin2.c | 222 +- src/autofit/aflatin2.h | 49 +- src/autofit/afloader.c | 623 +- src/autofit/afloader.h | 57 +- src/autofit/afmodule.c | 309 +- src/autofit/afmodule.h | 56 +- src/autofit/afpic.c | 152 - src/autofit/afpic.h | 105 - src/autofit/afranges.c | 1113 +- src/autofit/afranges.h | 50 +- src/autofit/afscript.h | 399 +- src/autofit/{hbshim.c => afshaper.c} | 369 +- src/autofit/afshaper.h | 71 + src/autofit/afstyles.h | 381 +- src/autofit/aftypes.h | 315 +- src/autofit/afwarp.c | 57 +- src/autofit/afwarp.h | 46 +- src/autofit/afwrtsys.h | 42 +- src/autofit/autofit.c | 55 +- src/autofit/hbshim.h | 56 - src/autofit/module.mk | 2 +- src/autofit/rules.mk | 7 +- src/base/Jamfile | 87 - src/base/basepic.c | 108 - src/base/basepic.h | 91 - src/base/ftadvanc.c | 70 +- src/base/ftapi.c | 121 - src/base/ftbase.c | 46 +- src/base/ftbase.h | 54 +- src/base/ftbbox.c | 413 +- src/base/ftbdf.c | 45 +- src/base/ftbitmap.c | 475 +- src/base/ftcalc.c | 402 +- src/base/ftcid.c | 43 +- src/base/ftcolor.c | 156 + src/base/ftdbgmem.c | 117 +- src/base/ftdebug.c | 192 +- src/base/fterrors.c | 45 + src/base/ftfntfmt.c | 43 +- src/base/ftfstype.c | 43 +- src/base/ftgasp.c | 41 +- src/base/ftgloadr.c | 168 +- src/base/ftglyph.c | 230 +- src/base/ftgxval.c | 63 +- src/base/fthash.c | 338 + src/base/ftinit.c | 315 +- src/base/ftlcdfil.c | 421 +- src/base/ftmac.c | 166 +- src/base/ftmm.c | 416 +- src/base/ftobjs.c | 1462 +- src/base/ftotval.c | 45 +- src/base/ftoutln.c | 336 +- src/base/ftpatent.c | 291 +- src/base/ftpfr.c | 43 +- src/base/ftpic.c | 55 - src/base/ftpsprop.c | 284 + src/base/ftrfork.c | 216 +- src/base/ftsnames.c | 147 +- src/base/ftstream.c | 75 +- src/base/ftstroke.c | 362 +- src/base/ftsynth.c | 69 +- src/base/ftsystem.c | 295 +- src/base/fttrigon.c | 88 +- src/base/fttype1.c | 45 +- src/base/ftutil.c | 87 +- src/base/ftver.rc | 61 + src/base/ftwinfnt.c | 45 +- src/base/md5.c | 57 +- src/base/rules.mk | 15 +- src/bdf/Jamfile | 31 - src/bdf/README | 2 +- src/bdf/bdf.c | 2 +- src/bdf/bdf.h | 114 +- src/bdf/bdfdrivr.c | 294 +- src/bdf/bdfdrivr.h | 18 +- src/bdf/bdferror.h | 22 +- src/bdf/bdflib.c | 1031 +- src/bzip2/Jamfile | 18 - src/bzip2/ftbzip2.c | 94 +- src/bzip2/rules.mk | 2 +- src/cache/Jamfile | 37 - src/cache/ftcache.c | 40 +- src/cache/ftcbasic.c | 144 +- src/cache/ftccache.c | 69 +- src/cache/ftccache.h | 110 +- src/cache/ftccback.h | 48 +- src/cache/ftccmap.c | 92 +- src/cache/ftcerror.h | 67 +- src/cache/ftcglyph.c | 45 +- src/cache/ftcglyph.h | 179 +- src/cache/ftcimage.c | 45 +- src/cache/ftcimage.h | 63 +- src/cache/ftcmanag.c | 88 +- src/cache/ftcmanag.h | 154 +- src/cache/ftcmru.c | 53 +- src/cache/ftcmru.h | 106 +- src/cache/ftcsbits.c | 111 +- src/cache/ftcsbits.h | 53 +- src/cache/rules.mk | 4 +- src/cff/Jamfile | 45 - src/cff/cf2arrst.h | 100 - src/cff/cf2error.c | 52 - src/cff/cf2error.h | 119 - src/cff/cf2fixed.h | 95 - src/cff/cf2ft.h | 147 - src/cff/cf2glue.h | 144 - src/cff/cf2intrp.c | 1571 -- src/cff/cf2intrp.h | 83 - src/cff/cf2read.c | 112 - src/cff/cf2read.h | 68 - src/cff/cf2stack.c | 205 - src/cff/cf2stack.h | 106 - src/cff/cf2types.h | 78 - src/cff/cff.c | 49 +- src/cff/cffcmap.c | 79 +- src/cff/cffcmap.h | 50 +- src/cff/cffdrivr.c | 819 +- src/cff/cffdrivr.h | 43 +- src/cff/cfferrs.h | 64 +- src/cff/cffgload.c | 2712 +-- src/cff/cffgload.h | 225 +- src/cff/cffload.c | 1172 +- src/cff/cffload.h | 93 +- src/cff/cffobjs.c | 446 +- src/cff/cffobjs.h | 161 +- src/cff/cffparse.c | 986 +- src/cff/cffparse.h | 110 +- src/cff/cffpic.c | 138 - src/cff/cffpic.h | 108 - src/cff/cfftoken.h | 91 +- src/cff/cfftypes.h | 284 - src/cff/module.mk | 2 +- src/cff/rules.mk | 20 +- src/cid/Jamfile | 34 - src/cid/ciderrs.h | 64 +- src/cid/cidgload.c | 215 +- src/cid/cidgload.h | 47 +- src/cid/cidload.c | 348 +- src/cid/cidload.h | 49 +- src/cid/cidobjs.c | 274 +- src/cid/cidobjs.h | 130 +- src/cid/cidparse.c | 148 +- src/cid/cidparse.h | 129 +- src/cid/cidriver.c | 149 +- src/cid/cidriver.h | 47 +- src/cid/cidtoken.h | 57 +- src/cid/module.mk | 2 +- src/cid/rules.mk | 2 +- src/cid/type1cid.c | 37 +- src/gxvalid/Jamfile | 52 - src/gxvalid/README | 16 +- src/gxvalid/gxvalid.c | 49 +- src/gxvalid/gxvalid.h | 75 +- src/gxvalid/gxvbsln.c | 64 +- src/gxvalid/gxvcommn.c | 95 +- src/gxvalid/gxvcommn.h | 77 +- src/gxvalid/gxverror.h | 84 +- src/gxvalid/gxvfeat.c | 64 +- src/gxvalid/gxvfeat.h | 60 +- src/gxvalid/gxvfgen.c | 114 +- src/gxvalid/gxvjust.c | 70 +- src/gxvalid/gxvkern.c | 72 +- src/gxvalid/gxvlcar.c | 66 +- src/gxvalid/gxvmod.c | 91 +- src/gxvalid/gxvmod.h | 71 +- src/gxvalid/gxvmort.c | 67 +- src/gxvalid/gxvmort.h | 67 +- src/gxvalid/gxvmort0.c | 66 +- src/gxvalid/gxvmort1.c | 68 +- src/gxvalid/gxvmort2.c | 66 +- src/gxvalid/gxvmort4.c | 66 +- src/gxvalid/gxvmort5.c | 66 +- src/gxvalid/gxvmorx.c | 66 +- src/gxvalid/gxvmorx.h | 67 +- src/gxvalid/gxvmorx0.c | 66 +- src/gxvalid/gxvmorx1.c | 66 +- src/gxvalid/gxvmorx2.c | 66 +- src/gxvalid/gxvmorx4.c | 66 +- src/gxvalid/gxvmorx5.c | 66 +- src/gxvalid/gxvopbd.c | 64 +- src/gxvalid/gxvprop.c | 64 +- src/gxvalid/gxvtrak.c | 68 +- src/gxvalid/module.mk | 2 +- src/gxvalid/rules.mk | 2 +- src/gzip/Jamfile | 16 - src/gzip/ftgzip.c | 153 +- src/gzip/{zconf.h => ftzconf.h} | 0 src/gzip/infblock.c | 5 + src/gzip/infcodes.c | 4 + src/gzip/inflate.c | 10 + src/gzip/infutil.h | 2 +- src/gzip/rules.mk | 8 +- src/gzip/zlib.h | 4 +- src/lzw/Jamfile | 16 - src/lzw/ftlzw.c | 85 +- src/lzw/ftzopen.c | 68 +- src/lzw/ftzopen.h | 134 +- src/lzw/rules.mk | 2 +- src/otvalid/Jamfile | 37 - src/otvalid/module.mk | 2 +- src/otvalid/otvalid.c | 36 +- src/otvalid/otvalid.h | 47 +- src/otvalid/otvbase.c | 79 +- src/otvalid/otvcommn.c | 79 +- src/otvalid/otvcommn.h | 101 +- src/otvalid/otverror.h | 66 +- src/otvalid/otvgdef.c | 157 +- src/otvalid/otvgpos.c | 100 +- src/otvalid/otvgpos.h | 42 +- src/otvalid/otvgsub.c | 80 +- src/otvalid/otvjstf.c | 46 +- src/otvalid/otvmath.c | 72 +- src/otvalid/otvmod.c | 71 +- src/otvalid/otvmod.h | 47 +- src/otvalid/rules.mk | 2 +- src/pcf/Jamfile | 32 - src/pcf/README | 4 +- src/pcf/pcf.c | 7 +- src/pcf/pcf.h | 80 +- src/pcf/pcfdrivr.c | 443 +- src/pcf/pcfdrivr.h | 14 +- src/pcf/pcferror.h | 64 +- src/pcf/pcfread.c | 856 +- src/pcf/pcfread.h | 7 +- src/pcf/pcfutil.c | 7 +- src/pcf/pcfutil.h | 8 +- src/pfr/Jamfile | 35 - src/pfr/module.mk | 2 +- src/pfr/pfr.c | 42 +- src/pfr/pfrcmap.c | 55 +- src/pfr/pfrcmap.h | 47 +- src/pfr/pfrdrivr.c | 100 +- src/pfr/pfrdrivr.h | 47 +- src/pfr/pfrerror.h | 64 +- src/pfr/pfrgload.c | 123 +- src/pfr/pfrgload.h | 42 +- src/pfr/pfrload.c | 226 +- src/pfr/pfrload.h | 59 +- src/pfr/pfrobjs.c | 93 +- src/pfr/pfrobjs.h | 42 +- src/pfr/pfrsbit.c | 259 +- src/pfr/pfrsbit.h | 45 +- src/pfr/pfrtypes.h | 161 +- src/pfr/rules.mk | 2 +- src/psaux/Jamfile | 35 - src/psaux/afmparse.c | 77 +- src/psaux/afmparse.h | 41 +- src/psaux/cffdecode.c | 2422 +++ src/psaux/cffdecode.h | 63 + src/psaux/module.mk | 2 +- src/{cff/cf2arrst.c => psaux/psarrst.c} | 110 +- src/psaux/psarrst.h | 100 + src/psaux/psaux.c | 54 +- src/psaux/psauxerr.h | 66 +- src/psaux/psauxmod.c | 165 +- src/psaux/psauxmod.h | 64 +- src/{cff/cf2blues.c => psaux/psblues.c} | 167 +- src/{cff/cf2blues.h => psaux/psblues.h} | 82 +- src/psaux/psconv.c | 63 +- src/psaux/psconv.h | 49 +- src/psaux/pserror.c | 52 + src/psaux/pserror.h | 120 + src/psaux/psfixed.h | 94 + src/{cff/cf2font.c => psaux/psfont.c} | 162 +- src/{cff/cf2font.h => psaux/psfont.h} | 105 +- src/{cff/cf2ft.c => psaux/psft.c} | 513 +- src/psaux/psft.h | 167 + src/psaux/psglue.h | 144 + src/{cff/cf2hints.c => psaux/pshints.c} | 461 +- src/{cff/cf2hints.h => psaux/pshints.h} | 85 +- src/psaux/psintrp.c | 3054 +++ src/psaux/psintrp.h | 83 + src/psaux/psobjs.c | 1141 +- src/psaux/psobjs.h | 150 +- src/psaux/psread.c | 112 + src/psaux/psread.h | 68 + src/psaux/psstack.c | 331 + src/psaux/psstack.h | 122 + src/psaux/pstypes.h | 77 + src/psaux/rules.mk | 19 +- src/psaux/t1cmap.c | 99 +- src/psaux/t1cmap.h | 49 +- src/psaux/t1decode.c | 946 +- src/psaux/t1decode.h | 53 +- src/pshinter/Jamfile | 34 - src/pshinter/module.mk | 2 +- src/pshinter/pshalgo.c | 75 +- src/pshinter/pshalgo.h | 42 +- src/pshinter/pshglob.c | 56 +- src/pshinter/pshglob.h | 78 +- src/pshinter/pshinter.c | 38 +- src/pshinter/pshmod.c | 55 +- src/pshinter/pshmod.h | 41 +- src/pshinter/pshnterr.h | 64 +- src/pshinter/pshpic.c | 76 - src/pshinter/pshpic.h | 63 - src/pshinter/pshrec.c | 59 +- src/pshinter/pshrec.h | 73 +- src/pshinter/rules.mk | 3 +- src/psnames/Jamfile | 31 - src/psnames/module.mk | 2 +- src/psnames/psmodule.c | 127 +- src/psnames/psmodule.h | 41 +- src/psnames/psnamerr.h | 66 +- src/psnames/psnames.c | 34 +- src/psnames/pspic.c | 97 - src/psnames/pspic.h | 68 - src/psnames/pstables.h | 136 +- src/psnames/rules.mk | 21 +- src/raster/Jamfile | 32 - src/raster/ftmisc.h | 58 +- src/raster/ftraster.c | 1481 +- src/raster/ftraster.h | 57 +- src/raster/ftrend1.c | 188 +- src/raster/ftrend1.h | 47 +- src/raster/module.mk | 2 +- src/raster/raster.c | 34 +- src/raster/rasterrs.h | 66 +- src/raster/rastpic.c | 103 - src/raster/rastpic.h | 69 - src/raster/rules.mk | 5 +- src/sfnt/Jamfile | 40 - src/sfnt/module.mk | 2 +- src/sfnt/pngshim.c | 179 +- src/sfnt/pngshim.h | 52 +- src/sfnt/rules.mk | 28 +- src/sfnt/sfdriver.c | 1153 +- src/sfnt/sfdriver.h | 43 +- src/sfnt/sferrors.h | 65 +- src/sfnt/sfnt.c | 62 +- src/sfnt/sfntpic.c | 143 - src/sfnt/sfntpic.h | 112 - src/sfnt/sfobjs.c | 1114 +- src/sfnt/sfobjs.h | 47 +- src/sfnt/sfwoff.c | 437 + src/sfnt/sfwoff.h | 40 + src/sfnt/sfwoff2.c | 2337 ++ src/sfnt/sfwoff2.h | 75 + src/sfnt/ttbdf.c | 78 +- src/sfnt/ttbdf.h | 53 +- src/sfnt/ttcmap.c | 1507 +- src/sfnt/ttcmap.h | 96 +- src/sfnt/ttcmapc.h | 32 +- src/sfnt/ttcolr.c | 450 + src/sfnt/ttcolr.h | 57 + src/sfnt/ttcpal.c | 310 + src/sfnt/ttcpal.h | 48 + src/sfnt/ttkern.c | 82 +- src/sfnt/ttkern.h | 53 +- src/sfnt/ttload.c | 867 +- src/sfnt/ttload.h | 53 +- src/sfnt/ttmtx.c | 244 +- src/sfnt/ttmtx.h | 43 +- src/sfnt/ttpost.c | 154 +- src/sfnt/ttpost.h | 46 +- src/sfnt/ttsbit.c | 477 +- src/sfnt/ttsbit.h | 47 +- src/sfnt/woff2tags.c | 109 + src/sfnt/woff2tags.h | 39 + src/smooth/Jamfile | 32 - src/smooth/ftgrays.c | 1762 +- src/smooth/ftgrays.h | 63 +- src/smooth/ftsmerrs.h | 66 +- src/smooth/ftsmooth.c | 744 +- src/smooth/ftsmooth.h | 52 +- src/smooth/ftspic.c | 118 - src/smooth/ftspic.h | 75 - src/smooth/module.mk | 6 +- src/smooth/rules.mk | 5 +- src/smooth/smooth.c | 34 +- src/tools/Jamfile | 5 - src/tools/afblue.pl | 17 +- src/tools/apinames.c | 442 +- src/tools/docmaker/.gitignore | 1 - src/tools/docmaker/content.py | 638 - src/tools/docmaker/docbeauty.py | 113 - src/tools/docmaker/docmaker.py | 115 - src/tools/docmaker/formatter.py | 223 - src/tools/docmaker/sources.py | 397 - src/tools/docmaker/tohtml.py | 675 - src/tools/docmaker/utils.py | 127 - src/tools/ftrandom/Makefile | 26 +- src/tools/ftrandom/README | 79 +- src/tools/ftrandom/ftrandom.c | 165 +- src/tools/glnames.py | 133 +- src/tools/make_distribution_archives.py | 208 + src/tools/no-copyright | 4 + src/tools/test_afm.c | 7 +- src/tools/test_bbox.c | 5 +- src/tools/test_trig.c | 5 +- src/tools/update-copyright-year | 19 +- src/truetype/Jamfile | 37 - src/truetype/module.mk | 2 +- src/truetype/rules.mk | 3 +- src/truetype/truetype.c | 46 +- src/truetype/ttdriver.c | 420 +- src/truetype/ttdriver.h | 43 +- src/truetype/tterrors.h | 67 +- src/truetype/ttgload.c | 1405 +- src/truetype/ttgload.h | 47 +- src/truetype/ttgxvar.c | 3807 +++- src/truetype/ttgxvar.h | 437 +- src/truetype/ttinterp.c | 5262 ++--- src/truetype/ttinterp.h | 344 +- src/truetype/ttobjs.c | 882 +- src/truetype/ttobjs.h | 335 +- src/truetype/ttpic.c | 101 - src/truetype/ttpic.h | 83 - src/truetype/ttpload.c | 354 +- src/truetype/ttpload.h | 41 +- src/truetype/ttsubpix.c | 144 +- src/truetype/ttsubpix.h | 70 +- src/type1/Jamfile | 35 - src/type1/module.mk | 2 +- src/type1/rules.mk | 2 +- src/type1/t1afm.c | 90 +- src/type1/t1afm.h | 47 +- src/type1/t1driver.c | 338 +- src/type1/t1driver.h | 47 +- src/type1/t1errors.h | 64 +- src/type1/t1gload.c | 239 +- src/type1/t1gload.h | 47 +- src/type1/t1load.c | 821 +- src/type1/t1load.h | 82 +- src/type1/t1objs.c | 299 +- src/type1/t1objs.h | 152 +- src/type1/t1parse.c | 150 +- src/type1/t1parse.h | 112 +- src/type1/t1tokens.h | 32 +- src/type1/type1.c | 44 +- src/type42/Jamfile | 32 - src/type42/module.mk | 2 +- src/type42/rules.mk | 2 +- src/type42/t42drivr.c | 148 +- src/type42/t42drivr.h | 47 +- src/type42/t42error.h | 64 +- src/type42/t42objs.c | 111 +- src/type42/t42objs.h | 59 +- src/type42/t42parse.c | 202 +- src/type42/t42parse.h | 44 +- src/type42/t42types.h | 55 +- src/type42/type42.c | 37 +- src/winfonts/Jamfile | 16 - src/winfonts/fnterrs.h | 66 +- src/winfonts/module.mk | 2 +- src/winfonts/rules.mk | 2 +- src/winfonts/winfnt.c | 219 +- src/winfonts/winfnt.h | 59 +- vms_make.com | 228 +- 858 files changed, 234386 insertions(+), 94348 deletions(-) create mode 100644 .clang-format delete mode 100644 .gitignore delete mode 100644 .mailmap create mode 100644 ChangeLog.25 create mode 100644 ChangeLog.26 create mode 100644 ChangeLog.27 create mode 100644 ChangeLog.28 create mode 100644 ChangeLog.29 delete mode 100644 Jamfile delete mode 100644 Jamrules create mode 100644 builds/cmake/FindBrotliDec.cmake rename builds/{ => cmake}/FindHarfBuzz.cmake (50%) create mode 100644 builds/cmake/testbuild.sh create mode 100644 builds/meson/extract_freetype_version.py create mode 100644 builds/meson/extract_libtool_version.py create mode 100644 builds/meson/generate_reference_docs.py create mode 100644 builds/meson/parse_modules_cfg.py create mode 100644 builds/meson/process_ftoption_h.py delete mode 100644 builds/newline delete mode 100644 builds/unix/.gitignore create mode 100644 builds/unix/aclocal.m4 create mode 100644 builds/unix/ax_compare_version.m4 create mode 100644 builds/unix/ax_prog_python_version.m4 create mode 100644 builds/unix/config.guess create mode 100644 builds/unix/config.sub create mode 100644 builds/unix/configure create mode 100644 builds/unix/configure.ac create mode 100644 builds/unix/ftconfig.h.in delete mode 100644 builds/unix/ftconfig.in create mode 100644 builds/unix/install-sh create mode 100644 builds/unix/ltmain.sh delete mode 100755 builds/unix/mkinstalldirs create mode 100644 builds/vms/LIBS.OPT_IA64 create mode 100644 builds/vms/_LINK.OPT_IA64 create mode 100644 builds/vms/vmslib.dat delete mode 100644 builds/windows/.gitignore delete mode 100644 builds/windows/vc2005/freetype.sln delete mode 100644 builds/windows/vc2005/freetype.vcproj delete mode 100644 builds/windows/vc2005/index.html delete mode 100644 builds/windows/vc2008/freetype.sln delete mode 100644 builds/windows/vc2008/freetype.vcproj delete mode 100644 builds/windows/vc2008/index.html create mode 100644 docs/DOCGUIDE create mode 100644 docs/README delete mode 100644 docs/VERSION.DLL create mode 100644 docs/VERSIONS.TXT delete mode 100644 docs/reference/.gitignore create mode 100644 docs/reference/404.html delete mode 100644 docs/reference/README create mode 100644 docs/reference/assets/fonts/font-awesome.css create mode 100644 docs/reference/assets/fonts/material-icons.css create mode 100644 docs/reference/assets/fonts/specimen/FontAwesome.ttf create mode 100644 docs/reference/assets/fonts/specimen/FontAwesome.woff create mode 100644 docs/reference/assets/fonts/specimen/FontAwesome.woff2 create mode 100644 docs/reference/assets/fonts/specimen/MaterialIcons-Regular.ttf create mode 100644 docs/reference/assets/fonts/specimen/MaterialIcons-Regular.woff create mode 100644 docs/reference/assets/fonts/specimen/MaterialIcons-Regular.woff2 create mode 100644 docs/reference/assets/images/favicon.png create mode 100644 docs/reference/assets/images/icons/bitbucket.1b09e088.svg create mode 100644 docs/reference/assets/images/icons/github.f0b8504a.svg create mode 100644 docs/reference/assets/images/icons/gitlab.6dd19c00.svg create mode 100644 docs/reference/assets/javascripts/application.c33a9706.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.ar.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.da.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.de.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.du.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.es.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.fi.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.fr.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.hu.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.it.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.ja.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.jp.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.multi.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.nl.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.no.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.pt.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.ro.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.ru.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.stemmer.support.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.sv.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.th.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.tr.js create mode 100644 docs/reference/assets/javascripts/lunr/lunr.vi.js create mode 100644 docs/reference/assets/javascripts/lunr/tinyseg.js create mode 100644 docs/reference/assets/javascripts/lunr/wordcut.js create mode 100644 docs/reference/assets/javascripts/modernizr.86422ebf.js create mode 100644 docs/reference/assets/stylesheets/application-palette.a8b3c06d.css create mode 100644 docs/reference/assets/stylesheets/application.adb8469c.css create mode 100644 docs/reference/ft2-auto_hinter.html create mode 100644 docs/reference/ft2-base_interface.html create mode 100644 docs/reference/ft2-basic_types.html create mode 100644 docs/reference/ft2-bdf_fonts.html create mode 100644 docs/reference/ft2-bitmap_handling.html create mode 100644 docs/reference/ft2-bzip2.html create mode 100644 docs/reference/ft2-cache_subsystem.html create mode 100644 docs/reference/ft2-cff_driver.html create mode 100644 docs/reference/ft2-cid_fonts.html create mode 100644 docs/reference/ft2-color_management.html create mode 100644 docs/reference/ft2-computations.html create mode 100644 docs/reference/ft2-error_code_values.html create mode 100644 docs/reference/ft2-error_enumerations.html create mode 100644 docs/reference/ft2-font_formats.html create mode 100644 docs/reference/ft2-gasp_table.html create mode 100644 docs/reference/ft2-glyph_management.html create mode 100644 docs/reference/ft2-glyph_stroker.html create mode 100644 docs/reference/ft2-glyph_variants.html create mode 100644 docs/reference/ft2-gx_validation.html create mode 100644 docs/reference/ft2-gzip.html create mode 100644 docs/reference/ft2-header_file_macros.html create mode 100644 docs/reference/ft2-header_inclusion.html create mode 100644 docs/reference/ft2-incremental.html create mode 100644 docs/reference/ft2-index.html create mode 100644 docs/reference/ft2-layer_management.html create mode 100644 docs/reference/ft2-lcd_rendering.html create mode 100644 docs/reference/ft2-list_processing.html create mode 100644 docs/reference/ft2-lzw.html create mode 100644 docs/reference/ft2-mac_specific.html create mode 100644 docs/reference/ft2-module_management.html create mode 100644 docs/reference/ft2-multiple_masters.html create mode 100644 docs/reference/ft2-ot_validation.html create mode 100644 docs/reference/ft2-outline_processing.html create mode 100644 docs/reference/ft2-parameter_tags.html create mode 100644 docs/reference/ft2-pcf_driver.html create mode 100644 docs/reference/ft2-pfr_fonts.html create mode 100644 docs/reference/ft2-properties.html create mode 100644 docs/reference/ft2-quick_advance.html create mode 100644 docs/reference/ft2-raster.html create mode 100644 docs/reference/ft2-sfnt_names.html create mode 100644 docs/reference/ft2-sizes_management.html create mode 100644 docs/reference/ft2-system_interface.html create mode 100644 docs/reference/ft2-t1_cid_driver.html create mode 100644 docs/reference/ft2-truetype_engine.html create mode 100644 docs/reference/ft2-truetype_tables.html create mode 100644 docs/reference/ft2-tt_driver.html create mode 100644 docs/reference/ft2-type1_tables.html create mode 100644 docs/reference/ft2-user_allocation.html create mode 100644 docs/reference/ft2-version.html create mode 100644 docs/reference/ft2-winfnt_fonts.html create mode 100644 docs/reference/images/favico.ico create mode 100644 docs/reference/index.html create mode 100644 docs/reference/javascripts/extra.js create mode 100644 docs/reference/search/search_index.json create mode 100644 docs/reference/sitemap.xml create mode 100644 docs/reference/sitemap.xml.gz create mode 100644 docs/reference/stylesheets/extra.css create mode 100644 include/freetype/config/integer-types.h create mode 100644 include/freetype/config/mac-support.h create mode 100644 include/freetype/config/public-macros.h delete mode 100644 include/freetype/ftautoh.h delete mode 100644 include/freetype/ftcffdrv.h create mode 100644 include/freetype/ftcolor.h create mode 100644 include/freetype/ftdriver.h create mode 100644 include/freetype/ftparams.h delete mode 100644 include/freetype/ftttdrv.h create mode 100644 include/freetype/internal/cffotypes.h create mode 100644 include/freetype/internal/cfftypes.h create mode 100644 include/freetype/internal/compiler-macros.h delete mode 100644 include/freetype/internal/ftdriver.h create mode 100644 include/freetype/internal/ftdrv.h create mode 100644 include/freetype/internal/fthash.h delete mode 100644 include/freetype/internal/ftpic.h create mode 100644 include/freetype/internal/ftpsprop.h delete mode 100644 include/freetype/internal/internal.h create mode 100644 include/freetype/internal/services/svcfftl.h create mode 100644 include/freetype/internal/services/svmetric.h create mode 100644 include/freetype/internal/wofftypes.h delete mode 100644 include/freetype/ttunpat.h create mode 100644 meson.build create mode 100644 meson_options.txt delete mode 100644 objs/.gitignore delete mode 100644 src/Jamfile delete mode 100644 src/autofit/Jamfile delete mode 100644 src/autofit/afpic.c delete mode 100644 src/autofit/afpic.h rename src/autofit/{hbshim.c => afshaper.c} (63%) create mode 100644 src/autofit/afshaper.h delete mode 100644 src/autofit/hbshim.h delete mode 100644 src/base/Jamfile delete mode 100644 src/base/basepic.c delete mode 100644 src/base/basepic.h delete mode 100644 src/base/ftapi.c create mode 100644 src/base/ftcolor.c create mode 100644 src/base/fterrors.c create mode 100644 src/base/fthash.c delete mode 100644 src/base/ftpic.c create mode 100644 src/base/ftpsprop.c create mode 100644 src/base/ftver.rc delete mode 100644 src/bdf/Jamfile delete mode 100644 src/bzip2/Jamfile delete mode 100644 src/cache/Jamfile delete mode 100644 src/cff/Jamfile delete mode 100644 src/cff/cf2arrst.h delete mode 100644 src/cff/cf2error.c delete mode 100644 src/cff/cf2error.h delete mode 100644 src/cff/cf2fixed.h delete mode 100644 src/cff/cf2ft.h delete mode 100644 src/cff/cf2glue.h delete mode 100644 src/cff/cf2intrp.c delete mode 100644 src/cff/cf2intrp.h delete mode 100644 src/cff/cf2read.c delete mode 100644 src/cff/cf2read.h delete mode 100644 src/cff/cf2stack.c delete mode 100644 src/cff/cf2stack.h delete mode 100644 src/cff/cf2types.h delete mode 100644 src/cff/cffpic.c delete mode 100644 src/cff/cffpic.h delete mode 100644 src/cff/cfftypes.h delete mode 100644 src/cid/Jamfile delete mode 100644 src/gxvalid/Jamfile delete mode 100644 src/gzip/Jamfile rename src/gzip/{zconf.h => ftzconf.h} (100%) delete mode 100644 src/lzw/Jamfile delete mode 100644 src/otvalid/Jamfile delete mode 100644 src/pcf/Jamfile delete mode 100644 src/pfr/Jamfile delete mode 100644 src/psaux/Jamfile create mode 100644 src/psaux/cffdecode.c create mode 100644 src/psaux/cffdecode.h rename src/{cff/cf2arrst.c => psaux/psarrst.c} (57%) create mode 100644 src/psaux/psarrst.h rename src/{cff/cf2blues.c => psaux/psblues.c} (75%) rename src/{cff/cf2blues.h => psaux/psblues.h} (58%) create mode 100644 src/psaux/pserror.c create mode 100644 src/psaux/pserror.h create mode 100644 src/psaux/psfixed.h rename src/{cff/cf2font.c => psaux/psfont.c} (79%) rename src/{cff/cf2font.h => psaux/psfont.h} (50%) rename src/{cff/cf2ft.c => psaux/psft.c} (50%) create mode 100644 src/psaux/psft.h create mode 100644 src/psaux/psglue.h rename src/{cff/cf2hints.c => psaux/pshints.c} (81%) rename src/{cff/cf2hints.h => psaux/pshints.h} (73%) create mode 100644 src/psaux/psintrp.c create mode 100644 src/psaux/psintrp.h create mode 100644 src/psaux/psread.c create mode 100644 src/psaux/psread.h create mode 100644 src/psaux/psstack.c create mode 100644 src/psaux/psstack.h create mode 100644 src/psaux/pstypes.h delete mode 100644 src/pshinter/Jamfile delete mode 100644 src/pshinter/pshpic.c delete mode 100644 src/pshinter/pshpic.h delete mode 100644 src/psnames/Jamfile delete mode 100644 src/psnames/pspic.c delete mode 100644 src/psnames/pspic.h delete mode 100644 src/raster/Jamfile delete mode 100644 src/raster/rastpic.c delete mode 100644 src/raster/rastpic.h delete mode 100644 src/sfnt/Jamfile delete mode 100644 src/sfnt/sfntpic.c delete mode 100644 src/sfnt/sfntpic.h create mode 100644 src/sfnt/sfwoff.c create mode 100644 src/sfnt/sfwoff.h create mode 100644 src/sfnt/sfwoff2.c create mode 100644 src/sfnt/sfwoff2.h create mode 100644 src/sfnt/ttcolr.c create mode 100644 src/sfnt/ttcolr.h create mode 100644 src/sfnt/ttcpal.c create mode 100644 src/sfnt/ttcpal.h create mode 100644 src/sfnt/woff2tags.c create mode 100644 src/sfnt/woff2tags.h delete mode 100644 src/smooth/Jamfile delete mode 100644 src/smooth/ftspic.c delete mode 100644 src/smooth/ftspic.h delete mode 100644 src/tools/Jamfile delete mode 100644 src/tools/docmaker/.gitignore delete mode 100644 src/tools/docmaker/content.py delete mode 100644 src/tools/docmaker/docbeauty.py delete mode 100644 src/tools/docmaker/docmaker.py delete mode 100644 src/tools/docmaker/formatter.py delete mode 100644 src/tools/docmaker/sources.py delete mode 100644 src/tools/docmaker/tohtml.py delete mode 100644 src/tools/docmaker/utils.py create mode 100644 src/tools/make_distribution_archives.py delete mode 100644 src/truetype/Jamfile delete mode 100644 src/truetype/ttpic.c delete mode 100644 src/truetype/ttpic.h delete mode 100644 src/type1/Jamfile delete mode 100644 src/type42/Jamfile delete mode 100644 src/winfonts/Jamfile diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..fbd04c11c --- /dev/null +++ b/.clang-format @@ -0,0 +1,16 @@ +BasedOnStyle: Chromium +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: true +AlignConsecutiveMacros: true +AlignEscapedNewlines: true +# AlignOperands: Align +AlignTrailingComments: true +AlwaysBreakAfterReturnType: AllDefinitions +BreakBeforeBraces: Allman +ColumnLimit: 80 +DerivePointerAlignment: false +IndentCaseLabels: false +PointerAlignment: Left +SpaceBeforeParens: ControlStatements +SpacesInParentheses: true diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b5db9d874..000000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -config.mk -objs/vc2010/ diff --git a/.mailmap b/.mailmap deleted file mode 100644 index a3c5f9451..000000000 --- a/.mailmap +++ /dev/null @@ -1,7 +0,0 @@ -Alexei Podtelezhnikov (Алексей Подтележников) -Behdad Esfahbod -Bram Tassyns bram tassyns -Bram Tassyns -Suzuki, Toshiya (鈴木俊哉) -Suzuki, Toshiya (鈴木俊哉) sssa -Suzuki, Toshiya (鈴木俊哉) suzuki toshiya diff --git a/CMakeLists.txt b/CMakeLists.txt index edcb64e87..3ed55aad7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # CMakeLists.txt # -# Copyright 2013-2015 by +# Copyright (C) 2013-2020 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # Written originally by John Cary @@ -12,35 +12,44 @@ # fully. # # -# As a preliminary, create a compilation directory and change into it, for -# example +# The following will 1. create a build directory and 2. change into it and +# call cmake to configure the build with default parameters as a static +# library. See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html +# for information about Debug, Release, etc. builds. # -# mkdir ~/freetype2.compiled -# cd ~/freetype2.compiled -# -# Now you can say -# -# cmake -# -# to create a Makefile that builds a static version of the library. +# cmake -B build -D CMAKE_BUILD_TYPE=Release # # For a dynamic library, use # -# cmake -D BUILD_SHARED_LIBS:BOOL=true +# cmake -B build -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release # # For a framework on OS X, use # -# cmake -D BUILD_FRAMEWORK:BOOL=true -G Xcode -# -# instead. +# cmake -E chdir build cmake -G Xcode -D BUILD_FRAMEWORK:BOOL=true .. # # For an iOS static library, use # -# cmake -D IOS_PLATFORM=OS -G Xcode +# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=OS .. +# +# or +# +# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR .. # # or # -# cmake -D IOS_PLATFORM=SIMULATOR -G Xcode +# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR64 .. +# +# Finally, build the project with: +# +# cmake --build build +# +# Install it with +# +# (sudo) cmake --build build --target install +# +# A binary distribution can be made with +# +# cmake --build build --config Release --target package # # Please refer to the cmake manual for further options, in particular, how # to modify compilation and linking parameters. @@ -58,22 +67,55 @@ # # . `CMakeLists.txt' is provided as-is since it is normally not used by the # developer team. - - -cmake_minimum_required(VERSION 2.6) - +# +# . Set the `FT_WITH_ZLIB', `FT_WITH_BZIP2', `FT_WITH_PNG', +# `FT_WITH_HARFBUZZ', and `FT_WITH_BROTLI' CMake variables to `ON' to +# force using a dependency. Leave a variable undefined (which is the +# default) to use the dependency only if it is available. Example: +# +# cmake -B build -D FT_WITH_ZLIB=ON \ +# -D FT_WITH_BZIP2=ON \ +# -D FT_WITH_PNG=ON \ +# -D FT_WITH_HARFBUZZ=ON \ +# -D FT_WITH_BROTLI=ON [...] +# +# Set `CMAKE_DISABLE_FIND_PACKAGE_XXX=TRUE' to disable a dependency completely +# (where `XXX' is a CMake package name like `BZip2'). Example for disabling all +# dependencies: +# +# cmake -B build -D CMAKE_DISABLE_FIND_PACKAGE_ZLIB=TRUE \ +# -D CMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE \ +# -D CMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE \ +# -D CMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE \ +# -D CMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE [...] +# +# . Installation of FreeType can be controlled with the CMake variables +# `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' +# (this is compatible with the same CMake variables in zlib's CMake +# support). + +# FreeType explicitly marks the API to be exported and relies on the compiler +# to hide all other symbols. CMake supports a C_VISBILITY_PRESET property +# starting with 2.8.12. +cmake_minimum_required(VERSION 2.8.12) + +if (NOT CMAKE_VERSION VERSION_LESS 3.3) + # Allow symbol visibility settings also on static libraries. CMake < 3.3 + # only sets the property on a shared library build. + cmake_policy(SET CMP0063 NEW) +endif () include(CheckIncludeFile) - # CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which # configures the base build environment and references the toolchain file if (APPLE) if (DEFINED IOS_PLATFORM) if (NOT "${IOS_PLATFORM}" STREQUAL "OS" - AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR") + AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR" + AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR64") message(FATAL_ERROR - "IOS_PLATFORM must be set to either OS or SIMULATOR") + "IOS_PLATFORM must be set to either OS, SIMULATOR, or SIMULATOR64") endif () if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") message(AUTHOR_WARNING @@ -92,7 +134,7 @@ if (APPLE) set(BUILD_SHARED_LIBS OFF) set(CMAKE_TOOLCHAIN_FILE - ${PROJECT_SOURCE_DIR}/builds/cmake/iOS.cmake) + ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) endif () else () if (DEFINED IOS_PLATFORM) @@ -100,31 +142,56 @@ else () endif () endif () -if (WIN32 AND BUILD_SHARED_LIBS) - message(FATAL_ERROR "Shared libraries not supported on Windows.") -endif () +project(freetype C) -project(freetype) +set(VERSION_MAJOR "2") +set(VERSION_MINOR "10") +set(VERSION_PATCH "4") + +# Generate LIBRARY_VERSION and LIBRARY_SOVERSION. +set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'") +file(STRINGS "${PROJECT_SOURCE_DIR}/builds/unix/configure.raw" + VERSION_INFO + REGEX ${LIBTOOL_REGEX}) +string(REGEX REPLACE + ${LIBTOOL_REGEX} "\\1" + LIBTOOL_CURRENT "${VERSION_INFO}") +string(REGEX REPLACE + ${LIBTOOL_REGEX} "\\2" + LIBTOOL_REVISION "${VERSION_INFO}") +string(REGEX REPLACE + ${LIBTOOL_REGEX} "\\3" + LIBTOOL_AGE "${VERSION_INFO}") + +# This is what libtool does internally on Unix platforms. +math(EXPR LIBRARY_SOVERSION "${LIBTOOL_CURRENT} - ${LIBTOOL_AGE}") +set(LIBRARY_VERSION "${LIBRARY_SOVERSION}.${LIBTOOL_AGE}.${LIBTOOL_REVISION}") + +# External dependency library detection is automatic. See the notes at the top +# of this file, for how to force or disable dependencies completely. +option(FT_WITH_ZLIB "Use system zlib instead of internal library." OFF) +option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF) +option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF) +option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF) +option(FT_WITH_BROTLI "Support compressed WOFF2 fonts." OFF) # Disallow in-source builds -if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}") +if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") message(FATAL_ERROR - " -In-source builds are not permitted! Make a separate folder for" - " building, e.g.," - " - mkdir build; cd build; cmake .." - " -Before that, remove the files created by this failed run with" - " - rm -rf CMakeCache.txt CMakeFiles") + "In-source builds are not permitted! Make a separate folder for" + " building, e.g.,\n" + " cmake -E make_directory build\n" + " cmake -E chdir build cmake ..\n" + "Before that, remove the files created by this failed run with\n" + " cmake -E remove CMakeCache.txt\n" + " cmake -E remove_directory CMakeFiles") endif () # Add local cmake modules -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/builds) +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/builds/cmake) if (BUILD_FRAMEWORK) @@ -137,72 +204,72 @@ if (BUILD_FRAMEWORK) endif () -set(VERSION_MAJOR "2") -set(VERSION_MINOR "6") -set(VERSION_PATCH "0") - -set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) -set(SHARED_LIBRARY_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) - - -# Compiler definitions for building the library -add_definitions(-DFT2_BUILD_LIBRARY) - - # Find dependencies -find_package(ZLIB) -find_package(BZip2) -find_package(PNG) -find_package(HarfBuzz) +set(HARFBUZZ_MIN_VERSION "1.8.0") +if (FT_WITH_HARFBUZZ) + find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION} REQUIRED) +else () + find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION}) +endif () +if (FT_WITH_PNG) + find_package(PNG REQUIRED) +else () + find_package(PNG) +endif () -message(STATUS - "Creating directory ${PROJECT_BINARY_DIR}/include/freetype/config") -file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/include/freetype/config") +if (FT_WITH_ZLIB) + find_package(ZLIB REQUIRED) +else () + find_package(ZLIB) +endif () +if (FT_WITH_BZIP2) + find_package(BZip2 REQUIRED) +else () + find_package(BZip2) +endif () -# Create the configuration file -message(STATUS - "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h") +if (FT_WITH_BROTLI) + find_package(BrotliDec REQUIRED) +else () + find_package(BrotliDec) +endif () +# Create the configuration file if (UNIX) check_include_file("unistd.h" HAVE_UNISTD_H) check_include_file("fcntl.h" HAVE_FCNTL_H) - check_include_file("stdint.h" HAVE_STDINT_H) - file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in" + file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.h.in" FTCONFIG_H) if (HAVE_UNISTD_H) string(REGEX REPLACE - "#undef +(HAVE_UNISTD_H)" "#define \\1" + "#undef +(HAVE_UNISTD_H)" "#define \\1 1" FTCONFIG_H "${FTCONFIG_H}") endif () if (HAVE_FCNTL_H) string(REGEX REPLACE - "#undef +(HAVE_FCNTL_H)" "#define \\1" - FTCONFIG_H "${FTCONFIG_H}") - endif () - if (HAVE_STDINT_H) - string(REGEX REPLACE - "#undef +(HAVE_STDINT_H)" "#define \\1" + "#undef +(HAVE_FCNTL_H)" "#define \\1 1" FTCONFIG_H "${FTCONFIG_H}") endif () - string(REPLACE "/undef " "#undef " - FTCONFIG_H "${FTCONFIG_H}") - file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h" - "${FTCONFIG_H}") else () file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h" FTCONFIG_H) - file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h" - "${FTCONFIG_H}") endif () +set(FTCONFIG_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h") +if (EXISTS "${FTCONFIG_H_NAME}") + file(READ "${FTCONFIG_H_NAME}" ORIGINAL_FTCONFIG_H) +else () + set(ORIGINAL_FTCONFIG_H "") +endif () +if (NOT (ORIGINAL_FTCONFIG_H STREQUAL FTCONFIG_H)) + file(WRITE "${FTCONFIG_H_NAME}" "${FTCONFIG_H}") +endif () -# Create the options file -message(STATUS - "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h") +# Create the options file file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h" FTOPTION_H) if (ZLIB_FOUND) @@ -225,13 +292,21 @@ if (HARFBUZZ_FOUND) "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1" FTOPTION_H "${FTOPTION_H}") endif () -file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h" - "${FTOPTION_H}") - +if (BROTLIDEC_FOUND) + string(REGEX REPLACE + "/\\* +(#define +FT_CONFIG_OPTION_USE_BROTLI) +\\*/" "\\1" + FTOPTION_H "${FTOPTION_H}") +endif () -# Specify library include directories -include_directories("${PROJECT_SOURCE_DIR}/include") -include_directories(BEFORE "${PROJECT_BINARY_DIR}/include") +set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h") +if (EXISTS "${FTOPTION_H_NAME}") + file(READ "${FTOPTION_H_NAME}" ORIGINAL_FTOPTION_H) +else () + set(ORIGINAL_FTOPTION_H "") +endif () +if (NOT (ORIGINAL_FTOPTION_H STREQUAL FTOPTION_H)) + file(WRITE "${FTOPTION_H_NAME}" "${FTOPTION_H}") +endif () file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h") @@ -246,20 +321,17 @@ set(BASE_SRCS src/base/ftbdf.c src/base/ftbitmap.c src/base/ftcid.c - src/base/ftfntfmt.c src/base/ftfstype.c src/base/ftgasp.c src/base/ftglyph.c src/base/ftgxval.c src/base/ftinit.c - src/base/ftlcdfil.c src/base/ftmm.c src/base/ftotval.c src/base/ftpatent.c src/base/ftpfr.c src/base/ftstroke.c src/base/ftsynth.c - src/base/ftsystem.c src/base/fttype1.c src/base/ftwinfnt.c src/bdf/bdf.c @@ -283,20 +355,29 @@ set(BASE_SRCS src/winfonts/winfnt.c ) +if (UNIX) + list(APPEND BASE_SRCS "builds/unix/ftsystem.c") +else () + list(APPEND BASE_SRCS "src/base/ftsystem.c") +endif () + if (WIN32) - set(BASE_SRCS ${BASE_SRCS} builds/windows/ftdebug.c) + enable_language(RC) + list(APPEND BASE_SRCS builds/windows/ftdebug.c + src/base/ftver.rc) elseif (WINCE) - set(BASE_SRCS ${BASE_SRCS} builds/wince/ftdebug.c) + list(APPEND BASE_SRCS builds/wince/ftdebug.c) else () - set(BASE_SRCS ${BASE_SRCS} src/base/ftdebug.c) + list(APPEND BASE_SRCS src/base/ftdebug.c) endif () - if (BUILD_FRAMEWORK) - set(BASE_SRCS - ${BASE_SRCS} - builds/mac/freetype-Info.plist - ) + list(APPEND BASE_SRCS builds/mac/freetype-Info.plist) +endif () + + +if (NOT DISABLE_FORCE_DEBUG_POSTFIX) + set(CMAKE_DEBUG_POSTFIX d) endif () @@ -307,15 +388,43 @@ add_library(freetype ${BASE_SRCS} ) +set_target_properties( + freetype PROPERTIES + C_VISIBILITY_PRESET hidden) + +target_compile_definitions( + freetype PRIVATE FT2_BUILD_LIBRARY) + +if (WIN32) + target_compile_definitions( + freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS) + if (BUILD_SHARED_LIBS) + target_compile_definitions( + freetype PRIVATE DLL_EXPORT) + endif () +endif () if (BUILD_SHARED_LIBS) set_target_properties(freetype PROPERTIES - VERSION ${PROJECT_VERSION} - SOVERSION ${SHARED_LIBRARY_VERSION} - COMPILE_DEFINITIONS freetype_EXPORTS - ) + VERSION ${LIBRARY_VERSION} + SOVERSION ${LIBRARY_SOVERSION}) endif () +# Pick up ftconfig.h and ftoption.h generated above, first. +target_include_directories( + freetype + PUBLIC + $ + $ + $ + PRIVATE + ${CMAKE_CURRENT_BINARY_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include + + # Make available for builds/unix/ftsystem.c. + ${CMAKE_CURRENT_BINARY_DIR}/include/freetype/config +) + if (BUILD_FRAMEWORK) set_property(SOURCE ${PUBLIC_CONFIG_HEADERS} @@ -330,75 +439,145 @@ if (BUILD_FRAMEWORK) endif () -if (MSVC) - set_target_properties(freetype PROPERTIES - COMPILE_FLAGS /Fd"$(IntDir)$(TargetName).pdb") -endif () - +set(PKG_CONFIG_REQUIRED_PRIVATE "") if (ZLIB_FOUND) - target_link_libraries(freetype ${ZLIB_LIBRARIES}) - include_directories(${ZLIB_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) + target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) + list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "zlib") endif () if (BZIP2_FOUND) - target_link_libraries(freetype ${BZIP2_LIBRARIES}) - include_directories(${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS + target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES}) + target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS + list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "bzip2") endif () if (PNG_FOUND) - add_definitions(${PNG_DEFINITIONS}) - target_link_libraries(freetype ${PNG_LIBRARIES}) - include_directories(${PNG_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES}) + target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS}) + target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS}) + list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "libpng") endif () if (HARFBUZZ_FOUND) - target_link_libraries(freetype ${HARFBUZZ_LIBRARIES}) - include_directories(${HARFBUZZ_INCLUDE_DIRS}) + target_link_libraries(freetype PRIVATE ${HARFBUZZ_LIBRARIES}) + target_include_directories(freetype PRIVATE ${HARFBUZZ_INCLUDE_DIRS}) + list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "harfbuzz >= ${HARFBUZZ_MIN_VERSION}") +endif () +if (BROTLIDEC_FOUND) + target_link_libraries(freetype PRIVATE ${BROTLIDEC_LIBRARIES}) + target_compile_definitions(freetype PRIVATE ${BROTLIDEC_DEFINITIONS}) + target_include_directories(freetype PRIVATE ${BROTLIDEC_INCLUDE_DIRS}) + list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "libbrotlidec") endif () -# Installations -# Note the trailing slash in the argument to the `DIRECTORY' directive -install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ - DESTINATION include/freetype2 - PATTERN "internal" EXCLUDE - PATTERN "ftconfig.h" EXCLUDE - PATTERN "ftoption.h" EXCLUDE -) -install(FILES - ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h - ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h - DESTINATION include/freetype2/freetype/config -) -install(TARGETS freetype - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - FRAMEWORK DESTINATION Library/Frameworks -) +# Installation +include(GNUInstallDirs) + +if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) + install( + # Note the trailing slash in the argument to `DIRECTORY'! + DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2 + COMPONENT headers + PATTERN "internal" EXCLUDE + PATTERN "ftconfig.h" EXCLUDE + PATTERN "ftoption.h" EXCLUDE) + install( + FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h + ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config + COMPONENT headers) +endif () + +if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + # Generate the pkg-config file + if (UNIX) + file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN) + + string(REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}") + + string(REPLACE "%prefix%" ${CMAKE_INSTALL_PREFIX} + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%exec_prefix%" "\${prefix}" + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%libdir%" "\${prefix}/${CMAKE_INSTALL_LIBDIR}" + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}" + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%ft_version%" "${LIBTOOL_CURRENT}.${LIBTOOL_REVISION}.${LIBTOOL_AGE}" + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%REQUIRES_PRIVATE%" "${PKG_CONFIG_REQUIRED_PRIVATE}" + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + string(REPLACE "%LIBS_PRIVATE%" "" # All libs support pkg-config + FREETYPE2_PC_IN ${FREETYPE2_PC_IN}) + + set(FREETYPE2_PC_IN_NAME "${PROJECT_BINARY_DIR}/freetype2.pc") + if (EXISTS "${FREETYPE2_PC_IN_NAME}") + file(READ "${FREETYPE2_PC_IN_NAME}" ORIGINAL_FREETYPE2_PC_IN) + else () + set(ORIGINAL_FREETYPE2_PC_IN "") + endif () + if (NOT (ORIGINAL_FREETYPE2_PC_IN STREQUAL FREETYPE2_PC_IN)) + file(WRITE "${FREETYPE2_PC_IN_NAME}" ${FREETYPE2_PC_IN}) + endif () + + install( + FILES ${PROJECT_BINARY_DIR}/freetype2.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig + COMPONENT pkgconfig) + endif () + + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + ${PROJECT_BINARY_DIR}/freetype-config-version.cmake + VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH} + COMPATIBILITY SameMajorVersion) + + install( + TARGETS freetype + EXPORT freetype-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + FRAMEWORK DESTINATION Library/Frameworks + COMPONENT libraries) + install( + EXPORT freetype-targets + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype + FILE freetype-config.cmake + COMPONENT headers) + install( + FILES ${PROJECT_BINARY_DIR}/freetype-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype + COMPONENT headers) +endif () # Packaging -# CPack version numbers for release tarball name. +set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The FreeType font rendering library.") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/docs/LICENSE.TXT") + set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) -set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}}) -if (NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY) - set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_NAME}") -endif () -if (NOT DEFINED CPACK_SOURCE_PACKAGE_FILE_NAME) - set(CPACK_SOURCE_PACKAGE_FILE_NAME - "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-r${PROJECT_REV}" - CACHE INTERNAL "tarball basename" - ) -endif () -set(CPACK_SOURCE_GENERATOR TGZ) -set(CPACK_SOURCE_IGNORE_FILES - "/CVS/;/.svn/;.swp$;.#;/#;/build/;/serial/;/ser/;/parallel/;/par/;~;/preconfig.out;/autom4te.cache/;/.config") -set(CPACK_GENERATOR TGZ) -include(CPack) - +set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) +set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") -# add make dist target -add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) +if (WIN32) + set(CPACK_GENERATOR ZIP) +else () + set(CPACK_GENERATOR TGZ) +endif () +set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") +set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") +set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION + "Library used to build programs which use FreeType") +set(CPACK_COMPONENT_HEADERS_DESCRIPTION + "C/C++ header files for use with FreeType") +set(CPACK_COMPONENT_HEADERS_DEPENDS libraries) +set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") +set(CPACK_COMPONENT_HEADERS_GROUP "Development") -# eof +include(CPack) diff --git a/ChangeLog b/ChangeLog index 42216762d..42f7c34ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2093 +1,1960 @@ -2015-08-11 Werner Lemberg +2020-10-20 Werner Lemberg - [builds/unix] Minor. + * Version 2.10.4 released. + ========================== - * builds/unix/configure.raw: - s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with - similarly named uppercase variables. -2015-08-10 Alexei Podtelezhnikov + Tag sources with `VER-2-10-4'. - [type1,cid,type42] Minor improvements. - - * src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only - when necessary. Refresh comments. - * src/cid/cidload.c (cid_parse_font_matrix): Ditto. - * src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments. - -2015-08-08 Werner Lemberg - - [type42] Fix glyph access. - - This is a severe bug: We've missed one level of indirection, as - described in the Type 42 specification. As a result, ftview - sometimes showed incorrect glyphs for given glyph names, and even - displayed `error 0x0006' (invalid argument!) in case the number of - glyph indices differed between the Type 42 font and the embedded - TTF. - - Apparently, noone ever noticed it; this shows how much Type 42 fonts - are in use... - - * src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index - to embedded TTF's glyph index. - -2015-08-08 Werner Lemberg - - [type42] Minor clean-up. - - * src/type42/t42parse.c (t42_parse_font_matrix): Remove unused - variable. - -2015-08-06 Alexei Podtelezhnikov - - [type42] Parse FontMatrix according to specifications. - - * src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix - does not need scaling by 1000. Units_per_EM are taken from the - embedded TrueType. - -2015-08-06 Werner Lemberg - - [autofit] Improve Arabic hinting. - - Problem reported by Titus Nemeth (by using - ttfautohint). - - * src/autofit/afblue.dat: Add neutral blue zone for the tatweel - character. - - * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + * docs/VERSION.TXT: Add entry for version 2.10.4. + * docs/CHANGES: Updated. -2015-08-05 Alexei Podtelezhnikov + * README, src/base/ftver.rc, builds/windows/vc2010/index.html, + builds/windows/visualc/index.html, + builds/windows/visualce/index.html, + builds/wince/vc2005-ce/index.html, + builds/wince/vc2008-ce/index.html, docs/freetype-config.1: + s/2.10.3/2.10.4/, s/2103/2104/. - [truetype] Clean up types. + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. - * src/truetype/ttobjs.c (TT_Size): Move declaration from here. - * include/freetype/internal/tttypes.h (TT_Size): ... to here. - (TT_LoaderRec): Switch to appropriate types for `face' and `size'. - * src/truetype/ttgload.c: Remove corresponding type casts. - * src/truetype/ttsubpix.c: Ditto. + * builds/unix/configure.raw (version_info): Set to 23:4:17. + * CMakeLists.txt (VERSION_PATCH): Set to 4. -2015-08-05 Werner Lemberg +2020-10-19 Werner Lemberg - [autofit] Improve recognition of flat vs. rounded segments. + [sfnt] Fix heap buffer overflow (#59308). - Lower the flatness threshold from upem/8 to upem/14, making the - auto-hinter accept shorter elements. + This is CVE-2020-15999. - Synchronize flat/round stem selection algorithm with blue zone code. + * src/sfnt/pngshim.c (Load_SBit_Png): Test bitmap size earlier. - * src/autofit/aflatin.c (FLAT_THRESHOLD): New macro. - (af_latin_metrics_init_blues): Use it. - (af_latin_hints_compute_segments): Collect information on maximum - and minimum coordinates of `on' points; use this to add a constraint - for the flat/round decision similar to - `af_latin_metrics_init_blues'. +2020-10-17 Alexei Podtelezhnikov -2015-08-04 Werner Lemberg + * src/sfnt/tt{colr,cpal}.c: Fix signedness warnings from VC++. - Another left-shift bug (#45681). +2020-10-17 Alexei Podtelezhnikov - * src/base/ftobjs.c (IsMacBinary): Only accept positive values for - `dlen'. + * src/sfnt/sfwoff2.c (Read255UShort): Tweak types to please VC++. -2015-08-03 Alexei Podtelezhnikov +2020-10-10 Werner Lemberg - [base] Fix `ft_corner_orientation'. + * Version 2.10.3 released. + ========================== - Remove casting from `FT_Long' to `FT_Int' that might change the sign - of the return value and make it faster too. - * src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay - with 32-bit arithmetic when safe. Use plain math on 64-bit systems. - * src/pshinter/pshalgo.c: Remove old unused code. + Tag sources with `VER-2-10-3'. -2015-08-03 Werner Lemberg + * docs/VERSION.TXT: Add entry for version 2.10.3. - * src/truetype/ttgload.c (load_truetype_glyph) - [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs - having a depth greater than 1. + * README, src/base/ftver.rc, builds/windows/vc2010/index.html, + builds/windows/visualc/index.html, + builds/windows/visualce/index.html, + builds/wince/vc2005-ce/index.html, + builds/wince/vc2008-ce/index.html, docs/freetype-config.1: + s/2.10.2/2.10.3/, s/2102/2103/. -2015-08-03 Werner Lemberg + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. - Fix typo in clang bug from 2015-07-31 (#45678). + * builds/unix/configure.raw (version_info): Set to 23:3:17. + * CMakeLists.txt (VERSION_PATCH): Set to 3. - * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality. +2020-09-25 Werner Lemberg -2015-08-02 Werner Lemberg + [autofit] Synchronize with ttfautohint. - * CMakeLists.txt: Improve shared library support. + This corresponds to the following commits in the ttfautohint git + repository: - Based on a patch from John Cary . + bb6842bd3bd437b7b4a7921b0376c860f5e73d18 Typo, formatting. + d5c91ddb1cb310257a3dfe9a8e20e1fc51335faa Add Medefaidrin script. -2015-08-02 Werner Lemberg + * src/autofit/afblue.dat: Add blue zone data for Medefaidrin. + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. - * builds/unix/freetype-config.in (enable_shared): Remove. Unused. + * src/autofit/afscript.h: Add Medefaidrin standard characters. -2015-08-02 Werner Lemberg + * src/autofit/afranges.c, src/autofit/afstyles.h: Add Medefaidrin + data. - Fix more invalid left-shifts. +2020-09-25 Werner Lemberg - * src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication, - not left-shift. + Move `scripts/make_distribution_archives.py` to `src/tools`. - * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar, - tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication, - not left-shift. + * scr/tools/scripts/make_distribution_archives.py: (_TOP_DIR, + _SCRIPT_DIR): Updated to new location. + (main): s/shutils.copyfile/shutils.copy/ to preserve file + permissions. + (main): Prefix source file paths with `git_dir` while copying files + to allow calls of the script from other places than the top-level + directory. -2015-07-31 Werner Lemberg +2020-09-24 Werner Lemberg - Fix some bugs found by clang's `-fsanitize=undefined' (#45661). + * src/cff/cffgload.c (cff_slot_load): Scale `vertBearingY`. - * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept - positive values from header. - Check overflow. + Towards the end of the the function there is a call to + `FT_Outline_Get_CBox` that retrieves the glyph bbox in scaled units. + That sets `horiBearing{X,Y}` and `vertBearingX` but `vertBearingY` + is left alone, and is not scaled. - * src/base/ftoutln.c (SCALED): Correctly handle left-shift of - negative values. + Patch from Eric Muller . - * src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified, - _bdf_clear_glyph_modified): Use unsigned long constant. +2020-09-24 Werner Lemberg - * src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't - left-shift values that can be negative. + * src/base/ftobjs.c (FT_Load_Glyph): Trace glyph metrics. - * src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't - left-shift values that can be negative. +2020-09-22 Werner Lemberg - * src/raster/ftraster.c (SCALED): Correctly handle left-shift of - negative values. + [meson] Move auxiliary scripts to `builds/meson`. - * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift - values that can be negative. + Suggested by Alexei. - * src/truetype/ttgload.c (TT_Load_Composite_Glyph, - compute_glyph_metrics, load_sbit_image): Don't left-shift values - that can be negative. + * scripts/*.py: Move meson scripts to... + * builds/meson/*.py: ... this new location. -2015-07-31 Werner Lemberg + * meson.build: Updated. - Define FT_LONG_MAX. +2020-09-21 David Turner - * include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro. - * src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it. + Add python script for building tarballs. -2015-07-28 Alexei Podtelezhnikov + * scripts/make_distribution_archives.py: New file. - * src/base/ftcalc.c (FT_Vector_NormLen): Clarify. + This standalone Python script should be equivalent to running `make + dist` with the Make-based build system, with the following minor + differences: -2015-07-27 Alexei Podtelezhnikov + - Since `make distclean` doesn't always clean up `objs/` properly, + `make dist` archives may contain some stale binaries like + `objs/.libs/libfreetype.so.6` or others. - * src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions. + - `config.guess` and `config.sub` are not updated unless option + `--gnu-config-dir=DIR` is used to specify the location of these + files. -2015-07-26 Matthias Clasen + - Some bits of the auto-generated reference documentation may + appear in slightly different order, probably due to issues related + to mkdocs and docwriter. - [cff] Don't use `hmtx' table for LSB (#45520). + As an example, the call - * src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance - width only. Bug introduced 2015-04-10. + scripts/make_distribution_archives.py /tmp/freetype2-dist -2015-07-09 Werner Lemberg + creates the following files under `/tmp/freetype2-dist`: - Better support of user-supplied C++ namespaces. + freetype-.tar.gz + freetype-.tar.xz + ft.zip - See +2020-09-21 Werner Lemberg - http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html + * scripts/extract_freetype_version.py: Fix regex typos. - for a rationale. +2020-09-21 David Turner - * src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h, - src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h, - src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h - (FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose - header files that contain FT_{BEGIN,END}_HEADER macros by - themselves. + Add Meson build project file. - * src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include - FT_CONFIG_STANDARD_LIBRARY_H earlier. + Example usage: - * src/truetype/ttpic.h: Include FT_INTERNL_PIC_H. + # Configure Meson build in directory `build-meson` to generate + # release binaries comparable to to the ones from the + # autotools/make build system. + meson setup build-meson \ + --prefix=/usr/local \ + --buildtype=debugoptimized \ + --strip \ + -Db_ndebug=true -2015-07-07 Werner Lemberg + # After configuring the Meson build with the above command, + # compile and install to `/usr/local/`; this includes a pkg-config + # file. + ninja -C build-meson install - [sfnt] Make `tt_face_get_name' member of the SFNT interface. + # Alternatively, compile and install to `/tmp/aa/usr/local/...` + # for packaging. + DESTDIR=/tmp/aa ninja -C build-meson install - * include/freetype/internal/sfnt.h (TT_Get_Name_Func): New - prototype. - (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'. + # Generate documentation under `build-meson/docs`. + ninja -C build-meson docs - * src/sfnt/sfdriver.c (sfnt_interface): Updated. + Library size comparison for stripped `libfreetype.so` generated by + all three build systems: - * src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'. - * src/sfnt/sfobjs.h: Add prototype for it. + - Default build (autotools + libtool): 712 KiB + - CMake build (RelWithDebInfo): 712 KiB + - Meson build: 712 KiB -2015-06-30 Werner Lemberg - Fix some clang compiler warnings. + * meson.build: New top-level Meson build file for the library. - * src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c - (cf2_interpT2CharString), src/truetype/ttgload.c - (load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas), - src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues. + * meson_options.txt: New file. It holds user-selectable options for + the build, which can be printed with `meson configure`, and selected + at `meson setup` or `meson --reconfigure` time with + `-D