├── .gitignore ├── .gitmodules ├── .vscode ├── c_cpp_properties.json ├── launch.json ├── settings.json └── tasks.json ├── LICENSE ├── README.md ├── ReadmeImage.png ├── ReadmeImage2.png ├── assets_source ├── swamp │ └── swamp.gltf └── tank_demo │ ├── NewNewTexture.png │ ├── Palette.png │ ├── Shed.png │ ├── blob.png │ ├── tank.glb │ ├── tank.gltf │ ├── tank_seperate.bin │ └── tank_seperate.gltf ├── build.bat ├── run.bat ├── run_importer.bat ├── shaders ├── compositor.shader └── core3d.shader ├── source ├── asset_importer.cpp ├── asset_importer.h ├── bind_graphics.cpp ├── bind_graphics.h ├── bind_input.cpp ├── bind_input.h ├── cpu.cpp ├── cpu.h ├── generated │ ├── compositor.h │ └── core3d.h ├── graphics.cpp ├── graphics.h ├── graphics_platform.h ├── graphics_platform_d3d11.cpp ├── input.cpp ├── input.h ├── main.cpp ├── rect_packing.cpp ├── rect_packing.h ├── serialization.cpp ├── serialization.h ├── shapes.cpp ├── shapes.h ├── third_party │ ├── FreeType │ │ ├── FTL.TXT │ │ ├── LICENSE.TXT │ │ ├── freetype_all.c │ │ ├── include │ │ │ ├── dlg │ │ │ │ ├── dlg.h │ │ │ │ └── output.h │ │ │ ├── freetype │ │ │ │ ├── config │ │ │ │ │ ├── ftconfig.h │ │ │ │ │ ├── ftheader.h │ │ │ │ │ ├── ftmodule.h │ │ │ │ │ ├── ftoption.h │ │ │ │ │ ├── ftstdlib.h │ │ │ │ │ ├── integer-types.h │ │ │ │ │ ├── mac-support.h │ │ │ │ │ └── public-macros.h │ │ │ │ ├── freetype.h │ │ │ │ ├── ftadvanc.h │ │ │ │ ├── ftbbox.h │ │ │ │ ├── ftbdf.h │ │ │ │ ├── ftbitmap.h │ │ │ │ ├── ftbzip2.h │ │ │ │ ├── ftcache.h │ │ │ │ ├── ftchapters.h │ │ │ │ ├── ftcid.h │ │ │ │ ├── ftcolor.h │ │ │ │ ├── ftdriver.h │ │ │ │ ├── fterrdef.h │ │ │ │ ├── fterrors.h │ │ │ │ ├── ftfntfmt.h │ │ │ │ ├── ftgasp.h │ │ │ │ ├── ftglyph.h │ │ │ │ ├── ftgxval.h │ │ │ │ ├── ftgzip.h │ │ │ │ ├── ftimage.h │ │ │ │ ├── ftincrem.h │ │ │ │ ├── ftlcdfil.h │ │ │ │ ├── ftlist.h │ │ │ │ ├── ftlogging.h │ │ │ │ ├── ftlzw.h │ │ │ │ ├── ftmac.h │ │ │ │ ├── ftmm.h │ │ │ │ ├── ftmodapi.h │ │ │ │ ├── ftmoderr.h │ │ │ │ ├── ftotval.h │ │ │ │ ├── ftoutln.h │ │ │ │ ├── ftparams.h │ │ │ │ ├── ftpfr.h │ │ │ │ ├── ftrender.h │ │ │ │ ├── ftsizes.h │ │ │ │ ├── ftsnames.h │ │ │ │ ├── ftstroke.h │ │ │ │ ├── ftsynth.h │ │ │ │ ├── ftsystem.h │ │ │ │ ├── fttrigon.h │ │ │ │ ├── fttypes.h │ │ │ │ ├── ftwinfnt.h │ │ │ │ ├── internal │ │ │ │ │ ├── autohint.h │ │ │ │ │ ├── cffotypes.h │ │ │ │ │ ├── cfftypes.h │ │ │ │ │ ├── compiler-macros.h │ │ │ │ │ ├── ftcalc.h │ │ │ │ │ ├── ftdebug.h │ │ │ │ │ ├── ftdrv.h │ │ │ │ │ ├── ftgloadr.h │ │ │ │ │ ├── fthash.h │ │ │ │ │ ├── ftmemory.h │ │ │ │ │ ├── ftobjs.h │ │ │ │ │ ├── ftpsprop.h │ │ │ │ │ ├── ftrfork.h │ │ │ │ │ ├── ftserv.h │ │ │ │ │ ├── ftstream.h │ │ │ │ │ ├── fttrace.h │ │ │ │ │ ├── ftvalid.h │ │ │ │ │ ├── psaux.h │ │ │ │ │ ├── pshints.h │ │ │ │ │ ├── services │ │ │ │ │ │ ├── svbdf.h │ │ │ │ │ │ ├── svcfftl.h │ │ │ │ │ │ ├── svcid.h │ │ │ │ │ │ ├── svfntfmt.h │ │ │ │ │ │ ├── svgldict.h │ │ │ │ │ │ ├── svgxval.h │ │ │ │ │ │ ├── svkern.h │ │ │ │ │ │ ├── svmetric.h │ │ │ │ │ │ ├── svmm.h │ │ │ │ │ │ ├── svotval.h │ │ │ │ │ │ ├── svpfr.h │ │ │ │ │ │ ├── svpostnm.h │ │ │ │ │ │ ├── svprop.h │ │ │ │ │ │ ├── svpscmap.h │ │ │ │ │ │ ├── svpsinfo.h │ │ │ │ │ │ ├── svsfnt.h │ │ │ │ │ │ ├── svttcmap.h │ │ │ │ │ │ ├── svtteng.h │ │ │ │ │ │ ├── svttglyf.h │ │ │ │ │ │ └── svwinfnt.h │ │ │ │ │ ├── sfnt.h │ │ │ │ │ ├── t1types.h │ │ │ │ │ ├── tttypes.h │ │ │ │ │ └── wofftypes.h │ │ │ │ ├── t1tables.h │ │ │ │ ├── ttnameid.h │ │ │ │ ├── tttables.h │ │ │ │ └── tttags.h │ │ │ └── ft2build.h │ │ └── src │ │ │ ├── autofit │ │ │ ├── afblue.c │ │ │ ├── afblue.cin │ │ │ ├── afblue.dat │ │ │ ├── afblue.h │ │ │ ├── afblue.hin │ │ │ ├── afcjk.c │ │ │ ├── afcjk.h │ │ │ ├── afcover.h │ │ │ ├── afdummy.c │ │ │ ├── afdummy.h │ │ │ ├── aferrors.h │ │ │ ├── afglobal.c │ │ │ ├── afglobal.h │ │ │ ├── afhints.c │ │ │ ├── afhints.h │ │ │ ├── afindic.c │ │ │ ├── afindic.h │ │ │ ├── aflatin.c │ │ │ ├── aflatin.h │ │ │ ├── afloader.c │ │ │ ├── afloader.h │ │ │ ├── afmodule.c │ │ │ ├── afmodule.h │ │ │ ├── afranges.c │ │ │ ├── afranges.h │ │ │ ├── afscript.h │ │ │ ├── afshaper.c │ │ │ ├── afshaper.h │ │ │ ├── afstyles.h │ │ │ ├── aftypes.h │ │ │ ├── afws-decl.h │ │ │ ├── afws-iter.h │ │ │ ├── autofit.c │ │ │ ├── module.mk │ │ │ └── rules.mk │ │ │ ├── base │ │ │ ├── ftadvanc.c │ │ │ ├── ftbase.c │ │ │ ├── ftbase.h │ │ │ ├── ftbbox.c │ │ │ ├── ftbdf.c │ │ │ ├── ftbitmap.c │ │ │ ├── ftcalc.c │ │ │ ├── ftcid.c │ │ │ ├── ftcolor.c │ │ │ ├── ftdbgmem.c │ │ │ ├── ftdebug.c │ │ │ ├── fterrors.c │ │ │ ├── ftfntfmt.c │ │ │ ├── ftfstype.c │ │ │ ├── ftgasp.c │ │ │ ├── ftgloadr.c │ │ │ ├── ftglyph.c │ │ │ ├── ftgxval.c │ │ │ ├── fthash.c │ │ │ ├── ftinit.c │ │ │ ├── ftlcdfil.c │ │ │ ├── ftmac.c │ │ │ ├── ftmm.c │ │ │ ├── ftobjs.c │ │ │ ├── ftotval.c │ │ │ ├── ftoutln.c │ │ │ ├── ftpatent.c │ │ │ ├── ftpfr.c │ │ │ ├── ftpsprop.c │ │ │ ├── ftrfork.c │ │ │ ├── ftsnames.c │ │ │ ├── ftstream.c │ │ │ ├── ftstroke.c │ │ │ ├── ftsynth.c │ │ │ ├── ftsystem.c │ │ │ ├── fttrigon.c │ │ │ ├── fttype1.c │ │ │ ├── ftutil.c │ │ │ ├── ftver.rc │ │ │ ├── ftwinfnt.c │ │ │ ├── md5.c │ │ │ ├── md5.h │ │ │ └── rules.mk │ │ │ ├── bdf │ │ │ ├── README │ │ │ ├── bdf.c │ │ │ ├── bdf.h │ │ │ ├── bdfdrivr.c │ │ │ ├── bdfdrivr.h │ │ │ ├── bdferror.h │ │ │ ├── bdflib.c │ │ │ ├── module.mk │ │ │ └── rules.mk │ │ │ ├── bzip2 │ │ │ ├── ftbzip2.c │ │ │ └── rules.mk │ │ │ ├── cache │ │ │ ├── ftcache.c │ │ │ ├── ftcbasic.c │ │ │ ├── ftccache.c │ │ │ ├── ftccache.h │ │ │ ├── ftccback.h │ │ │ ├── ftccmap.c │ │ │ ├── ftcerror.h │ │ │ ├── ftcglyph.c │ │ │ ├── ftcglyph.h │ │ │ ├── ftcimage.c │ │ │ ├── ftcimage.h │ │ │ ├── ftcmanag.c │ │ │ ├── ftcmanag.h │ │ │ ├── ftcmru.c │ │ │ ├── ftcmru.h │ │ │ ├── ftcsbits.c │ │ │ ├── ftcsbits.h │ │ │ └── rules.mk │ │ │ ├── cff │ │ │ ├── cff.c │ │ │ ├── cffcmap.c │ │ │ ├── cffcmap.h │ │ │ ├── cffdrivr.c │ │ │ ├── cffdrivr.h │ │ │ ├── cfferrs.h │ │ │ ├── cffgload.c │ │ │ ├── cffgload.h │ │ │ ├── cffload.c │ │ │ ├── cffload.h │ │ │ ├── cffobjs.c │ │ │ ├── cffobjs.h │ │ │ ├── cffparse.c │ │ │ ├── cffparse.h │ │ │ ├── cfftoken.h │ │ │ ├── module.mk │ │ │ └── rules.mk │ │ │ ├── cid │ │ │ ├── ciderrs.h │ │ │ ├── cidgload.c │ │ │ ├── cidgload.h │ │ │ ├── cidload.c │ │ │ ├── cidload.h │ │ │ ├── cidobjs.c │ │ │ ├── cidobjs.h │ │ │ ├── cidparse.c │ │ │ ├── cidparse.h │ │ │ ├── cidriver.c │ │ │ ├── cidriver.h │ │ │ ├── cidtoken.h │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ └── type1cid.c │ │ │ ├── dlg │ │ │ ├── dlg.c │ │ │ ├── dlgwrap.c │ │ │ └── rules.mk │ │ │ ├── gxvalid │ │ │ ├── README │ │ │ ├── gxvalid.c │ │ │ ├── gxvalid.h │ │ │ ├── gxvbsln.c │ │ │ ├── gxvcommn.c │ │ │ ├── gxvcommn.h │ │ │ ├── gxverror.h │ │ │ ├── gxvfeat.c │ │ │ ├── gxvfeat.h │ │ │ ├── gxvfgen.c │ │ │ ├── gxvjust.c │ │ │ ├── gxvkern.c │ │ │ ├── gxvlcar.c │ │ │ ├── gxvmod.c │ │ │ ├── gxvmod.h │ │ │ ├── gxvmort.c │ │ │ ├── gxvmort.h │ │ │ ├── gxvmort0.c │ │ │ ├── gxvmort1.c │ │ │ ├── gxvmort2.c │ │ │ ├── gxvmort4.c │ │ │ ├── gxvmort5.c │ │ │ ├── gxvmorx.c │ │ │ ├── gxvmorx.h │ │ │ ├── gxvmorx0.c │ │ │ ├── gxvmorx1.c │ │ │ ├── gxvmorx2.c │ │ │ ├── gxvmorx4.c │ │ │ ├── gxvmorx5.c │ │ │ ├── gxvopbd.c │ │ │ ├── gxvprop.c │ │ │ ├── gxvtrak.c │ │ │ ├── module.mk │ │ │ └── rules.mk │ │ │ ├── gzip │ │ │ ├── adler32.c │ │ │ ├── ftgzip.c │ │ │ ├── ftzconf.h │ │ │ ├── infblock.c │ │ │ ├── infblock.h │ │ │ ├── infcodes.c │ │ │ ├── infcodes.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── infutil.c │ │ │ ├── infutil.h │ │ │ ├── rules.mk │ │ │ ├── zlib.h │ │ │ ├── zutil.c │ │ │ └── zutil.h │ │ │ ├── lzw │ │ │ ├── ftlzw.c │ │ │ ├── ftzopen.c │ │ │ ├── ftzopen.h │ │ │ └── rules.mk │ │ │ ├── otvalid │ │ │ ├── module.mk │ │ │ ├── otvalid.c │ │ │ ├── otvalid.h │ │ │ ├── otvbase.c │ │ │ ├── otvcommn.c │ │ │ ├── otvcommn.h │ │ │ ├── otverror.h │ │ │ ├── otvgdef.c │ │ │ ├── otvgpos.c │ │ │ ├── otvgpos.h │ │ │ ├── otvgsub.c │ │ │ ├── otvjstf.c │ │ │ ├── otvmath.c │ │ │ ├── otvmod.c │ │ │ ├── otvmod.h │ │ │ └── rules.mk │ │ │ ├── pcf │ │ │ ├── README │ │ │ ├── module.mk │ │ │ ├── pcf.c │ │ │ ├── pcf.h │ │ │ ├── pcfdrivr.c │ │ │ ├── pcfdrivr.h │ │ │ ├── pcferror.h │ │ │ ├── pcfread.c │ │ │ ├── pcfread.h │ │ │ ├── pcfutil.c │ │ │ ├── pcfutil.h │ │ │ └── rules.mk │ │ │ ├── pfr │ │ │ ├── module.mk │ │ │ ├── pfr.c │ │ │ ├── pfrcmap.c │ │ │ ├── pfrcmap.h │ │ │ ├── pfrdrivr.c │ │ │ ├── pfrdrivr.h │ │ │ ├── pfrerror.h │ │ │ ├── pfrgload.c │ │ │ ├── pfrgload.h │ │ │ ├── pfrload.c │ │ │ ├── pfrload.h │ │ │ ├── pfrobjs.c │ │ │ ├── pfrobjs.h │ │ │ ├── pfrsbit.c │ │ │ ├── pfrsbit.h │ │ │ ├── pfrtypes.h │ │ │ └── rules.mk │ │ │ ├── psaux │ │ │ ├── afmparse.c │ │ │ ├── afmparse.h │ │ │ ├── cffdecode.c │ │ │ ├── cffdecode.h │ │ │ ├── module.mk │ │ │ ├── psarrst.c │ │ │ ├── psarrst.h │ │ │ ├── psaux.c │ │ │ ├── psauxerr.h │ │ │ ├── psauxmod.c │ │ │ ├── psauxmod.h │ │ │ ├── psblues.c │ │ │ ├── psblues.h │ │ │ ├── psconv.c │ │ │ ├── psconv.h │ │ │ ├── pserror.c │ │ │ ├── pserror.h │ │ │ ├── psfixed.h │ │ │ ├── psfont.c │ │ │ ├── psfont.h │ │ │ ├── psft.c │ │ │ ├── psft.h │ │ │ ├── psglue.h │ │ │ ├── pshints.c │ │ │ ├── pshints.h │ │ │ ├── psintrp.c │ │ │ ├── psintrp.h │ │ │ ├── psobjs.c │ │ │ ├── psobjs.h │ │ │ ├── psread.c │ │ │ ├── psread.h │ │ │ ├── psstack.c │ │ │ ├── psstack.h │ │ │ ├── pstypes.h │ │ │ ├── rules.mk │ │ │ ├── t1cmap.c │ │ │ ├── t1cmap.h │ │ │ ├── t1decode.c │ │ │ └── t1decode.h │ │ │ ├── pshinter │ │ │ ├── module.mk │ │ │ ├── pshalgo.c │ │ │ ├── pshalgo.h │ │ │ ├── pshglob.c │ │ │ ├── pshglob.h │ │ │ ├── pshinter.c │ │ │ ├── pshmod.c │ │ │ ├── pshmod.h │ │ │ ├── pshnterr.h │ │ │ ├── pshrec.c │ │ │ ├── pshrec.h │ │ │ └── rules.mk │ │ │ ├── psnames │ │ │ ├── module.mk │ │ │ ├── psmodule.c │ │ │ ├── psmodule.h │ │ │ ├── psnamerr.h │ │ │ ├── psnames.c │ │ │ ├── pstables.h │ │ │ └── rules.mk │ │ │ ├── raster │ │ │ ├── ftmisc.h │ │ │ ├── ftraster.c │ │ │ ├── ftraster.h │ │ │ ├── ftrend1.c │ │ │ ├── ftrend1.h │ │ │ ├── module.mk │ │ │ ├── raster.c │ │ │ ├── rasterrs.h │ │ │ └── rules.mk │ │ │ ├── sdf │ │ │ ├── ftbsdf.c │ │ │ ├── ftsdf.c │ │ │ ├── ftsdf.h │ │ │ ├── ftsdfcommon.c │ │ │ ├── ftsdfcommon.h │ │ │ ├── ftsdferrs.h │ │ │ ├── ftsdfrend.c │ │ │ ├── ftsdfrend.h │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ └── sdf.c │ │ │ ├── sfnt │ │ │ ├── module.mk │ │ │ ├── pngshim.c │ │ │ ├── pngshim.h │ │ │ ├── rules.mk │ │ │ ├── sfdriver.c │ │ │ ├── sfdriver.h │ │ │ ├── sferrors.h │ │ │ ├── sfnt.c │ │ │ ├── sfobjs.c │ │ │ ├── sfobjs.h │ │ │ ├── sfwoff.c │ │ │ ├── sfwoff.h │ │ │ ├── sfwoff2.c │ │ │ ├── sfwoff2.h │ │ │ ├── ttbdf.c │ │ │ ├── ttbdf.h │ │ │ ├── ttcmap.c │ │ │ ├── ttcmap.h │ │ │ ├── ttcmapc.h │ │ │ ├── ttcolr.c │ │ │ ├── ttcolr.h │ │ │ ├── ttcpal.c │ │ │ ├── ttcpal.h │ │ │ ├── ttkern.c │ │ │ ├── ttkern.h │ │ │ ├── ttload.c │ │ │ ├── ttload.h │ │ │ ├── ttmtx.c │ │ │ ├── ttmtx.h │ │ │ ├── ttpost.c │ │ │ ├── ttpost.h │ │ │ ├── ttsbit.c │ │ │ ├── ttsbit.h │ │ │ ├── woff2tags.c │ │ │ └── woff2tags.h │ │ │ ├── smooth │ │ │ ├── ftgrays.c │ │ │ ├── ftgrays.h │ │ │ ├── ftsmerrs.h │ │ │ ├── ftsmooth.c │ │ │ ├── ftsmooth.h │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ └── smooth.c │ │ │ ├── tools │ │ │ ├── afblue.pl │ │ │ ├── apinames.c │ │ │ ├── chktrcmp.py │ │ │ ├── cordic.py │ │ │ ├── ftrandom │ │ │ │ ├── Makefile │ │ │ │ ├── README │ │ │ │ └── ftrandom.c │ │ │ ├── glnames.py │ │ │ ├── make_distribution_archives.py │ │ │ ├── no-copyright │ │ │ ├── test_afm.c │ │ │ ├── test_bbox.c │ │ │ ├── test_trig.c │ │ │ ├── update-copyright │ │ │ └── update-copyright-year │ │ │ ├── truetype │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ ├── truetype.c │ │ │ ├── ttdriver.c │ │ │ ├── ttdriver.h │ │ │ ├── tterrors.h │ │ │ ├── ttgload.c │ │ │ ├── ttgload.h │ │ │ ├── ttgxvar.c │ │ │ ├── ttgxvar.h │ │ │ ├── ttinterp.c │ │ │ ├── ttinterp.h │ │ │ ├── ttobjs.c │ │ │ ├── ttobjs.h │ │ │ ├── ttpload.c │ │ │ ├── ttpload.h │ │ │ ├── ttsubpix.c │ │ │ └── ttsubpix.h │ │ │ ├── type1 │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ ├── t1afm.c │ │ │ ├── t1afm.h │ │ │ ├── t1driver.c │ │ │ ├── t1driver.h │ │ │ ├── t1errors.h │ │ │ ├── t1gload.c │ │ │ ├── t1gload.h │ │ │ ├── t1load.c │ │ │ ├── t1load.h │ │ │ ├── t1objs.c │ │ │ ├── t1objs.h │ │ │ ├── t1parse.c │ │ │ ├── t1parse.h │ │ │ ├── t1tokens.h │ │ │ └── type1.c │ │ │ ├── type42 │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ ├── t42drivr.c │ │ │ ├── t42drivr.h │ │ │ ├── t42error.h │ │ │ ├── t42objs.c │ │ │ ├── t42objs.h │ │ │ ├── t42parse.c │ │ │ ├── t42parse.h │ │ │ ├── t42types.h │ │ │ └── type42.c │ │ │ └── winfonts │ │ │ ├── fnterrs.h │ │ │ ├── module.mk │ │ │ ├── rules.mk │ │ │ ├── winfnt.c │ │ │ └── winfnt.h │ ├── README.md │ ├── SDL2 │ │ ├── BUGS.txt │ │ ├── COPYING.txt │ │ ├── README-SDL.txt │ │ ├── README.txt │ │ ├── WhatsNew.txt │ │ ├── include │ │ │ ├── SDL.h │ │ │ ├── SDL_assert.h │ │ │ ├── SDL_atomic.h │ │ │ ├── SDL_audio.h │ │ │ ├── SDL_bits.h │ │ │ ├── SDL_blendmode.h │ │ │ ├── SDL_clipboard.h │ │ │ ├── SDL_config.h │ │ │ ├── SDL_config.h.cmake │ │ │ ├── SDL_config.h.in │ │ │ ├── SDL_config_android.h │ │ │ ├── SDL_config_iphoneos.h │ │ │ ├── SDL_config_macosx.h │ │ │ ├── SDL_config_macosx.h.orig │ │ │ ├── SDL_config_minimal.h │ │ │ ├── SDL_config_pandora.h │ │ │ ├── SDL_config_psp.h │ │ │ ├── SDL_config_windows.h │ │ │ ├── SDL_config_winrt.h │ │ │ ├── SDL_config_wiz.h │ │ │ ├── SDL_copying.h │ │ │ ├── SDL_cpuinfo.h │ │ │ ├── SDL_egl.h │ │ │ ├── SDL_endian.h │ │ │ ├── SDL_error.h │ │ │ ├── SDL_events.h │ │ │ ├── SDL_filesystem.h │ │ │ ├── SDL_gamecontroller.h │ │ │ ├── SDL_gesture.h │ │ │ ├── SDL_haptic.h │ │ │ ├── SDL_hints.h │ │ │ ├── SDL_joystick.h │ │ │ ├── SDL_keyboard.h │ │ │ ├── SDL_keycode.h │ │ │ ├── SDL_loadso.h │ │ │ ├── SDL_log.h │ │ │ ├── SDL_main.h │ │ │ ├── SDL_messagebox.h │ │ │ ├── SDL_mouse.h │ │ │ ├── SDL_mutex.h │ │ │ ├── SDL_name.h │ │ │ ├── SDL_opengl.h │ │ │ ├── SDL_opengl_glext.h │ │ │ ├── SDL_opengles.h │ │ │ ├── SDL_opengles2.h │ │ │ ├── SDL_opengles2_gl2.h │ │ │ ├── SDL_opengles2_gl2ext.h │ │ │ ├── SDL_opengles2_gl2platform.h │ │ │ ├── SDL_opengles2_khrplatform.h │ │ │ ├── SDL_pixels.h │ │ │ ├── SDL_platform.h │ │ │ ├── SDL_power.h │ │ │ ├── SDL_quit.h │ │ │ ├── SDL_rect.h │ │ │ ├── SDL_render.h │ │ │ ├── SDL_revision.h │ │ │ ├── SDL_rwops.h │ │ │ ├── SDL_scancode.h │ │ │ ├── SDL_shape.h │ │ │ ├── SDL_stdinc.h │ │ │ ├── SDL_surface.h │ │ │ ├── SDL_system.h │ │ │ ├── SDL_syswm.h │ │ │ ├── SDL_test.h │ │ │ ├── SDL_test_assert.h │ │ │ ├── SDL_test_common.h │ │ │ ├── SDL_test_compare.h │ │ │ ├── SDL_test_crc32.h │ │ │ ├── SDL_test_font.h │ │ │ ├── SDL_test_fuzzer.h │ │ │ ├── SDL_test_harness.h │ │ │ ├── SDL_test_images.h │ │ │ ├── SDL_test_log.h │ │ │ ├── SDL_test_md5.h │ │ │ ├── SDL_test_memory.h │ │ │ ├── SDL_test_random.h │ │ │ ├── SDL_thread.h │ │ │ ├── SDL_timer.h │ │ │ ├── SDL_touch.h │ │ │ ├── SDL_types.h │ │ │ ├── SDL_version.h │ │ │ ├── SDL_video.h │ │ │ ├── SDL_vulkan.h │ │ │ ├── begin_code.h │ │ │ └── close_code.h │ │ └── lib │ │ │ ├── x64 │ │ │ ├── SDL2.dll │ │ │ ├── SDL2.lib │ │ │ ├── SDL2main.lib │ │ │ └── SDL2test.lib │ │ │ └── x86 │ │ │ ├── SDL2.dll │ │ │ ├── SDL2.lib │ │ │ ├── SDL2main.lib │ │ │ └── SDL2test.lib │ ├── lz4 │ │ ├── LICENSE │ │ ├── lz4.c │ │ ├── lz4.h │ │ ├── lz4hc.c │ │ └── lz4hc.h │ ├── sokol-tools │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ └── bin │ │ │ ├── linux │ │ │ └── sokol-shdc │ │ │ ├── osx │ │ │ └── sokol-shdc │ │ │ ├── osx_arm64 │ │ │ └── sokol-shdc │ │ │ └── win32 │ │ │ └── sokol-shdc.exe │ ├── sokol │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── sokol-shdc.md │ │ └── sokol_gfx.h │ └── stb │ │ └── stb_image.h ├── userdata.cpp ├── userdata.h ├── virtual_filesystem.cpp └── virtual_filesystem.h └── system ├── shared ├── Roboto-Bold.ttf ├── base_controller_mapping.json └── flycam.luau ├── swamp ├── import_table.txt ├── main.luau └── swamp.scene └── tank_demo ├── import_table.txt ├── main.luau ├── tank.scene └── testModule.luau /.gitignore: -------------------------------------------------------------------------------- 1 | # Specify filepatterns you want git to ignore. 2 | 3 | build/ 4 | *.log 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "source/common_lib"] 2 | path = source/common_lib 3 | url = https://github.com/DavidColson/common_lib.git 4 | [submodule "source/third_party/luau"] 5 | path = source/third_party/luau 6 | url = https://github.com/DavidColson/luau.git 7 | -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "Win32", 5 | "includePath": [ 6 | "${workspaceFolder}/**" 7 | ], 8 | "defines": [ 9 | "_DEBUG", 10 | "UNICODE", 11 | "_UNICODE" 12 | ], 13 | "windowsSdkVersion": "10.0.17763.0", 14 | "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe", 15 | "cStandard": "c11", 16 | "cppStandard": "c++17", 17 | "intelliSenseMode": "msvc-x64" 18 | } 19 | ], 20 | "version": 4 21 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "(Windows) Launch Polybox", 9 | "type": "cppvsdbg", 10 | "request": "launch", 11 | "program": "${workspaceFolder}/Build/vs2022/bin/x86_64/Debug/Polybox.exe", 12 | "args": [], 13 | "stopAtEntry": false, 14 | "cwd": "${workspaceFolder}", 15 | "environment": [], 16 | "externalConsole": false, 17 | }, 18 | { 19 | "name": "(Windows) Launch Polyscript Test", 20 | "type": "cppvsdbg", 21 | "request": "launch", 22 | "program": "${workspaceFolder}/Build/vs2022/bin/x86_64/Debug/polyscript_tests.exe", 23 | "args": [], 24 | "stopAtEntry": false, 25 | "cwd": "${workspaceFolder}/source/polyscript/test", 26 | "environment": [], 27 | "externalConsole": false, 28 | }, 29 | ] 30 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cmake.configureSettings": { 3 | "SDL2MAIN_LIBRARY" : "D:/Dev/SDL2-2.0.8/lib/x64/SDL2main.lib", 4 | "SDL2_INCLUDE_DIR" : "D:/Dev/SDL2-2.0.8/include", 5 | "SDL2_LIBRARY" : "D:/Dev/SDL2-2.0.8/lib/x64/SDL2.lib" 6 | }, 7 | "cmake.configureOnOpen": false 8 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "Build Debug", 8 | "type": "shell", 9 | "command": "msbuild Build/vs2022/Polybox.sln -p:Configuration=Debug", 10 | "group": { 11 | "kind": "build", 12 | "isDefault": true 13 | }, 14 | "problemMatcher": [ 15 | "$msCompile" 16 | ] 17 | }, 18 | { 19 | "label": "Open VS", 20 | "type": "shell", 21 | "command": "devenv Build/vs2022/Polybox.sln", 22 | "problemMatcher": [] 23 | }, 24 | { 25 | "label": "RemDB Polybox", 26 | "type": "shell", 27 | "command": "remedybg -g -q polybox.rdbg", 28 | "problemMatcher": [] 29 | }, 30 | { 31 | "label": "RemDB Polyscript", 32 | "type": "shell", 33 | "command": "remedybg -g -q polyscript.rdbg", 34 | "problemMatcher": [] 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 David Colson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ReadmeImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/ReadmeImage.png -------------------------------------------------------------------------------- /ReadmeImage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/ReadmeImage2.png -------------------------------------------------------------------------------- /assets_source/tank_demo/NewNewTexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/NewNewTexture.png -------------------------------------------------------------------------------- /assets_source/tank_demo/Palette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/Palette.png -------------------------------------------------------------------------------- /assets_source/tank_demo/Shed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/Shed.png -------------------------------------------------------------------------------- /assets_source/tank_demo/blob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/blob.png -------------------------------------------------------------------------------- /assets_source/tank_demo/tank.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/tank.glb -------------------------------------------------------------------------------- /assets_source/tank_demo/tank_seperate.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/assets_source/tank_demo/tank_seperate.bin -------------------------------------------------------------------------------- /run.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | build\polybox.exe -start tank_demo 5 | 6 | -------------------------------------------------------------------------------- /run_importer.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | build\polybox.exe -import -c assets_source\tank_demo\tank.gltf tank_demo\tank.scene 5 | 6 | -------------------------------------------------------------------------------- /source/asset_importer.h: -------------------------------------------------------------------------------- 1 | 2 | struct String; 3 | struct Arena; 4 | 5 | namespace AssetImporter { 6 | 7 | struct ImportTableAsset { 8 | String outputPath; 9 | bool enableAutoImport; 10 | u64 lastImportTime; 11 | u8 importFormat; 12 | }; 13 | 14 | struct AssetImportTable { 15 | Arena* pArena; 16 | HashMap table; 17 | }; 18 | 19 | AssetImportTable* LoadImportTable(String project); 20 | 21 | bool ImportGltf(Arena* pArena, lua_State* L, u8 format, String source); 22 | 23 | int ImportFile(Arena* pScratchArena, u8 format, String source, String output); 24 | 25 | }; 26 | -------------------------------------------------------------------------------- /source/bind_graphics.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020-2022 David Colson. All rights reserved. 2 | 3 | #pragma once 4 | 5 | struct lua_State; 6 | class GraphicsChip; 7 | 8 | namespace Bind { 9 | int BindGraphics(lua_State* pLua); 10 | } 11 | -------------------------------------------------------------------------------- /source/bind_input.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020-2022 David Colson. All rights reserved. 2 | 3 | #pragma once 4 | 5 | struct lua_State; 6 | class GameChip; 7 | 8 | namespace Bind { 9 | int BindInput(lua_State* pLua); 10 | } 11 | -------------------------------------------------------------------------------- /source/cpu.h: -------------------------------------------------------------------------------- 1 | // Copyright David Colson. All rights reserved. 2 | 3 | struct String; 4 | 5 | namespace Cpu { 6 | 7 | void Init(); 8 | void LoadApp(String appName); 9 | void Start(); 10 | void Tick(f32 deltaTime); 11 | void Close(); 12 | String GetAppName(); 13 | void EnableHotReloadForFile(String file); 14 | 15 | }; 16 | -------------------------------------------------------------------------------- /source/graphics_platform.h: -------------------------------------------------------------------------------- 1 | 2 | struct SDL_Window; 3 | struct sg_desc; 4 | struct sg_environment; 5 | struct sg_swapchain; 6 | struct sg_image; 7 | 8 | // Backend platform 9 | bool GraphicsBackendInit(SDL_Window* pWindow, int width, int height); 10 | sg_environment SokolGetEnvironment(); 11 | sg_swapchain SokolGetSwapchain(); 12 | void SokolFlush(); 13 | void SokolPresent(); 14 | 15 | // Platform specific implementations of things 16 | void ReadbackImagePixels(sg_image img_id, void* pixels); 17 | void ReadbackPixels(int x, int y, int w, int h, void *pixels); 18 | -------------------------------------------------------------------------------- /source/rect_packing.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020-2022 David Colson. All rights reserved. 2 | 3 | #pragma once 4 | 5 | namespace Packing { 6 | struct Rect { 7 | i32 x { 0 }; 8 | i32 y { 0 }; 9 | 10 | i32 w { 0 }; 11 | i32 h { 0 }; 12 | 13 | bool wasPacked { false }; 14 | 15 | i32 ordering { -1 }; 16 | }; 17 | 18 | void RowPackRects(ResizableArray& rects, i32 width, i32 height); 19 | void SkylinePackRects(Arena* pScratchMem, ResizableArray& rects, i32 width, i32 height); 20 | } 21 | -------------------------------------------------------------------------------- /source/serialization.h: -------------------------------------------------------------------------------- 1 | // Copyright David Colson. All rights reserved. 2 | 3 | struct lua_State; 4 | 5 | i32 Serialize(lua_State* L); 6 | int Deserialize(lua_State* L); 7 | void BindSerialization(lua_State* L); 8 | -------------------------------------------------------------------------------- /source/shapes.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020-2022 David Colson. All rights reserved. 2 | 3 | #pragma once 4 | 5 | void DrawBox(f32 x, f32 y, f32 z, f32 width, f32 height, f32 depth); 6 | 7 | void DrawIcosahedron(i32 maxDepth); 8 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/config/ftconfig.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftconfig.h 4 | * 5 | * ANSI-specific configuration file (specification only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This header file contains a number of macro definitions that are used by 22 | * the rest of the engine. Most of the macros here are automatically 23 | * determined at compile time, and you should not need to change it to port 24 | * FreeType, except to compile the library with a non-ANSI compiler. 25 | * 26 | * Note however that if some specific modifications are needed, we advise 27 | * you to place a modified copy in your build directory. 28 | * 29 | * The build directory is usually `builds/`, and contains 30 | * system-specific files that are always included first when building the 31 | * library. 32 | * 33 | * This ANSI version should stay in `include/config/`. 34 | * 35 | */ 36 | 37 | #ifndef FTCONFIG_H_ 38 | #define FTCONFIG_H_ 39 | 40 | #include 41 | #include FT_CONFIG_OPTIONS_H 42 | #include FT_CONFIG_STANDARD_LIBRARY_H 43 | 44 | #include 45 | #include 46 | #include 47 | 48 | #endif /* FTCONFIG_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/config/ftmodule.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file registers the FreeType modules compiled into the library. 3 | * 4 | * If you use GNU make, this file IS NOT USED! Instead, it is created in 5 | * the objects directory (normally `/objs/`) based on information 6 | * from `/modules.cfg`. 7 | * 8 | * Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile 9 | * FreeType without GNU make. 10 | * 11 | */ 12 | 13 | FT_USE_MODULE( FT_Module_Class, autofit_module_class ) 14 | FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) 15 | FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) 16 | FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) 17 | FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) 18 | FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) 19 | FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) 20 | FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) 21 | FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) 22 | FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) 23 | FT_USE_MODULE( FT_Module_Class, psaux_module_class ) 24 | FT_USE_MODULE( FT_Module_Class, psnames_module_class ) 25 | FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) 26 | FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) 27 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) 28 | FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) 29 | FT_USE_MODULE( FT_Renderer_Class, ft_sdf_renderer_class ) 30 | FT_USE_MODULE( FT_Renderer_Class, ft_bitmap_sdf_renderer_class ) 31 | 32 | /* EOF */ 33 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/config/mac-support.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * config/mac-support.h 4 | * 5 | * Mac/OS X support configuration header. 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | #ifndef FREETYPE_CONFIG_MAC_SUPPORT_H_ 18 | #define FREETYPE_CONFIG_MAC_SUPPORT_H_ 19 | 20 | /************************************************************************** 21 | * 22 | * Mac support 23 | * 24 | * This is the only necessary change, so it is defined here instead 25 | * providing a new configuration file. 26 | */ 27 | #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) ) 28 | /* No Carbon frameworks for 64bit 10.4.x. */ 29 | /* `AvailabilityMacros.h` is available since Mac OS X 10.2, */ 30 | /* so guess the system version by maximum errno before inclusion. */ 31 | #include 32 | #ifdef ECANCELED /* defined since 10.2 */ 33 | #include "AvailabilityMacros.h" 34 | #endif 35 | #if defined( __LP64__ ) && \ 36 | ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 ) 37 | #undef FT_MACINTOSH 38 | #endif 39 | 40 | #elif defined( __SC__ ) || defined( __MRC__ ) 41 | /* Classic MacOS compilers */ 42 | #include "ConditionalMacros.h" 43 | #if TARGET_OS_MAC 44 | #define FT_MACINTOSH 1 45 | #endif 46 | 47 | #endif /* Mac support */ 48 | 49 | #endif /* FREETYPE_CONFIG_MAC_SUPPORT_H_ */ 50 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/ftpsprop.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftpsprop.h 4 | * 5 | * Get and set properties of PostScript drivers (specification). 6 | * 7 | * Copyright (C) 2017-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTPSPROP_H_ 20 | #define FTPSPROP_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_BASE_CALLBACK( FT_Error ) 30 | ps_property_set( FT_Module module, /* PS_Driver */ 31 | const char* property_name, 32 | const void* value, 33 | FT_Bool value_is_string ); 34 | 35 | FT_BASE_CALLBACK( FT_Error ) 36 | ps_property_get( FT_Module module, /* PS_Driver */ 37 | const char* property_name, 38 | void* value ); 39 | 40 | 41 | FT_END_HEADER 42 | 43 | 44 | #endif /* FTPSPROP_H_ */ 45 | 46 | 47 | /* END */ 48 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svfntfmt.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svfntfmt.h 4 | * 5 | * The FreeType font format service (specification only). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVFNTFMT_H_ 20 | #define SVFNTFMT_H_ 21 | 22 | #include 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | /* 29 | * A trivial service used to return the name of a face's font driver, 30 | * according to the XFree86 nomenclature. Note that the service data is a 31 | * simple constant string pointer. 32 | */ 33 | 34 | #define FT_SERVICE_ID_FONT_FORMAT "font-format" 35 | 36 | #define FT_FONT_FORMAT_TRUETYPE "TrueType" 37 | #define FT_FONT_FORMAT_TYPE_1 "Type 1" 38 | #define FT_FONT_FORMAT_BDF "BDF" 39 | #define FT_FONT_FORMAT_PCF "PCF" 40 | #define FT_FONT_FORMAT_TYPE_42 "Type 42" 41 | #define FT_FONT_FORMAT_CID "CID Type 1" 42 | #define FT_FONT_FORMAT_CFF "CFF" 43 | #define FT_FONT_FORMAT_PFR "PFR" 44 | #define FT_FONT_FORMAT_WINFNT "Windows FNT" 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* SVFNTFMT_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svkern.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svkern.h 4 | * 5 | * The FreeType Kerning service (specification). 6 | * 7 | * Copyright (C) 2006-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVKERN_H_ 20 | #define SVKERN_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | #define FT_SERVICE_ID_KERNING "kerning" 29 | 30 | 31 | typedef FT_Error 32 | (*FT_Kerning_TrackGetFunc)( FT_Face face, 33 | FT_Fixed point_size, 34 | FT_Int degree, 35 | FT_Fixed* akerning ); 36 | 37 | FT_DEFINE_SERVICE( Kerning ) 38 | { 39 | FT_Kerning_TrackGetFunc get_track; 40 | }; 41 | 42 | /* */ 43 | 44 | 45 | FT_END_HEADER 46 | 47 | 48 | #endif /* SVKERN_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svotval.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svotval.h 4 | * 5 | * The FreeType OpenType validation service (specification). 6 | * 7 | * Copyright (C) 2004-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVOTVAL_H_ 20 | #define SVOTVAL_H_ 21 | 22 | #include 23 | #include 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | #define FT_SERVICE_ID_OPENTYPE_VALIDATE "opentype-validate" 29 | 30 | 31 | typedef FT_Error 32 | (*otv_validate_func)( FT_Face volatile face, 33 | FT_UInt ot_flags, 34 | FT_Bytes *base, 35 | FT_Bytes *gdef, 36 | FT_Bytes *gpos, 37 | FT_Bytes *gsub, 38 | FT_Bytes *jstf ); 39 | 40 | 41 | FT_DEFINE_SERVICE( OTvalidate ) 42 | { 43 | otv_validate_func validate; 44 | }; 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* SVOTVAL_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svpfr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svpfr.h 4 | * 5 | * Internal PFR service functions (specification). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVPFR_H_ 20 | #define SVPFR_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_PFR_METRICS "pfr-metrics" 30 | 31 | 32 | typedef FT_Error 33 | (*FT_PFR_GetMetricsFunc)( FT_Face face, 34 | FT_UInt *aoutline, 35 | FT_UInt *ametrics, 36 | FT_Fixed *ax_scale, 37 | FT_Fixed *ay_scale ); 38 | 39 | typedef FT_Error 40 | (*FT_PFR_GetKerningFunc)( FT_Face face, 41 | FT_UInt left, 42 | FT_UInt right, 43 | FT_Vector *avector ); 44 | 45 | typedef FT_Error 46 | (*FT_PFR_GetAdvanceFunc)( FT_Face face, 47 | FT_UInt gindex, 48 | FT_Pos *aadvance ); 49 | 50 | 51 | FT_DEFINE_SERVICE( PfrMetrics ) 52 | { 53 | FT_PFR_GetMetricsFunc get_metrics; 54 | FT_PFR_GetKerningFunc get_kerning; 55 | FT_PFR_GetAdvanceFunc get_advance; 56 | 57 | }; 58 | 59 | 60 | FT_END_HEADER 61 | 62 | #endif /* SVPFR_H_ */ 63 | 64 | 65 | /* END */ 66 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svpostnm.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svpostnm.h 4 | * 5 | * The FreeType PostScript name services (specification). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVPOSTNM_H_ 20 | #define SVPOSTNM_H_ 21 | 22 | #include 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | /* 28 | * A trivial service used to retrieve the PostScript name of a given font 29 | * when available. The `get_name' field should never be `NULL`. 30 | * 31 | * The corresponding function can return `NULL` to indicate that the 32 | * PostScript name is not available. 33 | * 34 | * The name is owned by the face and will be destroyed with it. 35 | */ 36 | 37 | #define FT_SERVICE_ID_POSTSCRIPT_FONT_NAME "postscript-font-name" 38 | 39 | 40 | typedef const char* 41 | (*FT_PsName_GetFunc)( FT_Face face ); 42 | 43 | 44 | FT_DEFINE_SERVICE( PsFontName ) 45 | { 46 | FT_PsName_GetFunc get_ps_font_name; 47 | }; 48 | 49 | 50 | #define FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ ) \ 51 | static const FT_Service_PsFontNameRec class_ = \ 52 | { \ 53 | get_ps_font_name_ \ 54 | }; 55 | 56 | /* */ 57 | 58 | 59 | FT_END_HEADER 60 | 61 | 62 | #endif /* SVPOSTNM_H_ */ 63 | 64 | 65 | /* END */ 66 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svtteng.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svtteng.h 4 | * 5 | * The FreeType TrueType engine query service (specification). 6 | * 7 | * Copyright (C) 2006-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVTTENG_H_ 20 | #define SVTTENG_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* 30 | * SFNT table loading service. 31 | */ 32 | 33 | #define FT_SERVICE_ID_TRUETYPE_ENGINE "truetype-engine" 34 | 35 | /* 36 | * Used to implement FT_Get_TrueType_Engine_Type 37 | */ 38 | 39 | FT_DEFINE_SERVICE( TrueTypeEngine ) 40 | { 41 | FT_TrueTypeEngineType engine_type; 42 | }; 43 | 44 | /* */ 45 | 46 | 47 | FT_END_HEADER 48 | 49 | 50 | #endif /* SVTTENG_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svttglyf.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svttglyf.h 4 | * 5 | * The FreeType TrueType glyph service. 6 | * 7 | * Copyright (C) 2007-2021 by 8 | * David Turner. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | #ifndef SVTTGLYF_H_ 19 | #define SVTTGLYF_H_ 20 | 21 | #include 22 | #include 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | #define FT_SERVICE_ID_TT_GLYF "tt-glyf" 29 | 30 | 31 | typedef FT_ULong 32 | (*TT_Glyf_GetLocationFunc)( FT_Face face, 33 | FT_UInt gindex, 34 | FT_ULong *psize ); 35 | 36 | FT_DEFINE_SERVICE( TTGlyf ) 37 | { 38 | TT_Glyf_GetLocationFunc get_location; 39 | }; 40 | 41 | 42 | #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 43 | static const FT_Service_TTGlyfRec class_ = \ 44 | { \ 45 | get_location_ \ 46 | }; 47 | 48 | /* */ 49 | 50 | 51 | FT_END_HEADER 52 | 53 | #endif /* SVTTGLYF_H_ */ 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/freetype/internal/services/svwinfnt.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svwinfnt.h 4 | * 5 | * The FreeType Windows FNT/FONT service (specification). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SVWINFNT_H_ 20 | #define SVWINFNT_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_WINFNT "winfonts" 30 | 31 | typedef FT_Error 32 | (*FT_WinFnt_GetHeaderFunc)( FT_Face face, 33 | FT_WinFNT_HeaderRec *aheader ); 34 | 35 | 36 | FT_DEFINE_SERVICE( WinFnt ) 37 | { 38 | FT_WinFnt_GetHeaderFunc get_header; 39 | }; 40 | 41 | /* */ 42 | 43 | 44 | FT_END_HEADER 45 | 46 | 47 | #endif /* SVWINFNT_H_ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /source/third_party/FreeType/include/ft2build.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ft2build.h 4 | * 5 | * FreeType 2 build and setup macros. 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This is the 'entry point' for FreeType header file inclusions, to be 22 | * loaded before all other header files. 23 | * 24 | * A typical example is 25 | * 26 | * ``` 27 | * #include 28 | * #include 29 | * ``` 30 | * 31 | */ 32 | 33 | 34 | #ifndef FT2BUILD_H_ 35 | #define FT2BUILD_H_ 36 | 37 | #include 38 | 39 | #endif /* FT2BUILD_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afblue.cin: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afblue.c 4 | * 5 | * Auto-fitter data for blue strings (body). 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include "aftypes.h" 20 | 21 | 22 | FT_LOCAL_ARRAY_DEF( char ) 23 | af_blue_strings[] = 24 | { 25 | /* */ 26 | @AF_BLUE_STRINGS_ARRAY@ 27 | }; 28 | 29 | 30 | /* stringsets are specific to styles */ 31 | FT_LOCAL_ARRAY_DEF( AF_Blue_StringRec ) 32 | af_blue_stringsets[] = 33 | { 34 | /* */ 35 | @AF_BLUE_STRINGSETS_ARRAY@ 36 | }; 37 | 38 | 39 | /* END */ 40 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afdummy.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afdummy.h 4 | * 5 | * Auto-fitter dummy routines to be used if no hinting should be 6 | * performed (specification). 7 | * 8 | * Copyright (C) 2003-2021 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef AFDUMMY_H_ 21 | #define AFDUMMY_H_ 22 | 23 | #include "aftypes.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | /* A dummy writing system used when no hinting should be performed. */ 29 | 30 | AF_DECLARE_WRITING_SYSTEM_CLASS( af_dummy_writing_system_class ) 31 | 32 | /* */ 33 | 34 | FT_END_HEADER 35 | 36 | 37 | #endif /* AFDUMMY_H_ */ 38 | 39 | 40 | /* END */ 41 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/aferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * aferrors.h 4 | * 5 | * Autofitter error codes (specification only). 6 | * 7 | * Copyright (C) 2005-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Autofitter error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef AFERRORS_H_ 27 | #define AFERRORS_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX AF_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Autofit 36 | 37 | #include 38 | 39 | #endif /* AFERRORS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afindic.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afindic.h 4 | * 5 | * Auto-fitter hinting routines for Indic writing system 6 | * (specification). 7 | * 8 | * Copyright (C) 2007-2021 by 9 | * Rahul Bhalerao , . 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef AFINDIC_H_ 21 | #define AFINDIC_H_ 22 | 23 | #include "afhints.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* the `indic' writing system */ 30 | 31 | AF_DECLARE_WRITING_SYSTEM_CLASS( af_indic_writing_system_class ) 32 | 33 | 34 | /* */ 35 | 36 | FT_END_HEADER 37 | 38 | #endif /* AFINDIC_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afmodule.h 4 | * 5 | * Auto-fitter module implementation (specification). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFMODULE_H_ 20 | #define AFMODULE_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* 30 | * This is the `extended' FT_Module structure that holds the 31 | * autofitter's global data. 32 | */ 33 | 34 | typedef struct AF_ModuleRec_ 35 | { 36 | FT_ModuleRec root; 37 | 38 | FT_UInt fallback_style; 39 | FT_UInt default_script; 40 | FT_Bool no_stem_darkening; 41 | FT_Int darken_params[8]; 42 | 43 | } AF_ModuleRec, *AF_Module; 44 | 45 | 46 | FT_DECLARE_AUTOHINTER_INTERFACE( af_autofitter_interface ) 47 | FT_DECLARE_MODULE( autofit_module_class ) 48 | 49 | 50 | FT_END_HEADER 51 | 52 | #endif /* AFMODULE_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afranges.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afranges.h 4 | * 5 | * Auto-fitter Unicode script ranges (specification). 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFRANGES_H_ 20 | #define AFRANGES_H_ 21 | 22 | 23 | #include "aftypes.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | #undef SCRIPT 29 | #define SCRIPT( s, S, d, h, H, ss ) \ 30 | extern const AF_Script_UniRangeRec af_ ## s ## _uniranges[]; 31 | 32 | #include "afscript.h" 33 | 34 | #undef SCRIPT 35 | #define SCRIPT( s, S, d, h, H, ss ) \ 36 | extern const AF_Script_UniRangeRec af_ ## s ## _nonbase_uniranges[]; 37 | 38 | #include "afscript.h" 39 | 40 | /* */ 41 | 42 | FT_END_HEADER 43 | 44 | #endif /* AFRANGES_H_ */ 45 | 46 | 47 | /* END */ 48 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afshaper.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afshaper.h 4 | * 5 | * HarfBuzz interface for accessing OpenType features (specification). 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFSHAPER_H_ 20 | #define AFSHAPER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | #ifdef FT_CONFIG_OPTION_USE_HARFBUZZ 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | #endif 33 | 34 | 35 | FT_BEGIN_HEADER 36 | 37 | FT_Error 38 | af_shaper_get_coverage( AF_FaceGlobals globals, 39 | AF_StyleClass style_class, 40 | FT_UShort* gstyles, 41 | FT_Bool default_script ); 42 | 43 | 44 | void* 45 | af_shaper_buf_create( FT_Face face ); 46 | 47 | void 48 | af_shaper_buf_destroy( FT_Face face, 49 | void* buf ); 50 | 51 | const char* 52 | af_shaper_get_cluster( const char* p, 53 | AF_StyleMetrics metrics, 54 | void* buf_, 55 | unsigned int* count ); 56 | 57 | FT_ULong 58 | af_shaper_get_elem( AF_StyleMetrics metrics, 59 | void* buf_, 60 | unsigned int idx, 61 | FT_Long* x_advance, 62 | FT_Long* y_offset ); 63 | 64 | /* */ 65 | 66 | FT_END_HEADER 67 | 68 | #endif /* AFSHAPER_H_ */ 69 | 70 | 71 | /* END */ 72 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afws-decl.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afws-decl.h 4 | * 5 | * Auto-fitter writing system declarations (specification only). 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef AFWS_DECL_H_ 20 | #define AFWS_DECL_H_ 21 | 22 | /* Since preprocessor directives can't create other preprocessor */ 23 | /* directives, we have to include the header files manually. */ 24 | 25 | #include "afdummy.h" 26 | #include "aflatin.h" 27 | #include "afcjk.h" 28 | #include "afindic.h" 29 | 30 | #endif /* AFWS_DECL_H_ */ 31 | 32 | 33 | /* END */ 34 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/afws-iter.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afws-iter.h 4 | * 5 | * Auto-fitter writing systems iterator (specification only). 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | /* This header may be included multiple times. */ 19 | /* Define `WRITING_SYSTEM' as needed. */ 20 | 21 | 22 | /* Add new writing systems here. The arguments are the writing system */ 23 | /* name in lowercase and uppercase, respectively. */ 24 | 25 | WRITING_SYSTEM( dummy, DUMMY ) 26 | WRITING_SYSTEM( latin, LATIN ) 27 | WRITING_SYSTEM( cjk, CJK ) 28 | WRITING_SYSTEM( indic, INDIC ) 29 | 30 | 31 | /* END */ 32 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/autofit.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * autofit.c 4 | * 5 | * Auto-fitter module (body). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "afblue.c" 22 | #include "afcjk.c" 23 | #include "afdummy.c" 24 | #include "afglobal.c" 25 | #include "afhints.c" 26 | #include "afindic.c" 27 | #include "aflatin.c" 28 | #include "afloader.c" 29 | #include "afmodule.c" 30 | #include "afranges.c" 31 | #include "afshaper.c" 32 | 33 | 34 | /* END */ 35 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/autofit/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 auto-fitter module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2003-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += AUTOFIT_MODULE 17 | 18 | define AUTOFIT_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, autofit_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftbase.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftbase.c 4 | * 5 | * Single object library component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "ftadvanc.c" 22 | #include "ftcalc.c" 23 | #include "ftcolor.c" 24 | #include "ftdbgmem.c" 25 | #include "fterrors.c" 26 | #include "ftfntfmt.c" 27 | #include "ftgloadr.c" 28 | #include "fthash.c" 29 | #include "ftlcdfil.c" 30 | #include "ftmac.c" 31 | #include "ftobjs.c" 32 | #include "ftoutln.c" 33 | #include "ftpsprop.c" 34 | #include "ftrfork.c" 35 | #include "ftsnames.c" 36 | #include "ftstream.c" 37 | #include "fttrigon.c" 38 | #include "ftutil.c" 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/fterrors.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fterrors.c 4 | * 5 | * FreeType API for error code handling. 6 | * 7 | * Copyright (C) 2018-2021 by 8 | * Armin Hasitzka, David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include 21 | 22 | 23 | /* documentation is in fterrors.h */ 24 | 25 | FT_EXPORT_DEF( const char* ) 26 | FT_Error_String( FT_Error error_code ) 27 | { 28 | if ( error_code < 0 || 29 | error_code >= FT_ERR_CAT( FT_ERR_PREFIX, Max ) ) 30 | return NULL; 31 | 32 | #if defined( FT_CONFIG_OPTION_ERROR_STRINGS ) || \ 33 | defined( FT_DEBUG_LEVEL_ERROR ) 34 | 35 | #undef FTERRORS_H_ 36 | #define FT_ERROR_START_LIST switch ( FT_ERROR_BASE( error_code ) ) { 37 | #define FT_ERRORDEF( e, v, s ) case v: return s; 38 | #define FT_ERROR_END_LIST } 39 | 40 | #include 41 | 42 | #endif /* defined( FT_CONFIG_OPTION_ERROR_STRINGS ) || ... */ 43 | 44 | return NULL; 45 | } 46 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftfntfmt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftfntfmt.c 4 | * 5 | * FreeType utility file for font formats (body). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | /* documentation is in ftfntfmt.h */ 25 | 26 | FT_EXPORT_DEF( const char* ) 27 | FT_Get_Font_Format( FT_Face face ) 28 | { 29 | const char* result = NULL; 30 | 31 | 32 | if ( face ) 33 | FT_FACE_FIND_SERVICE( face, result, FONT_FORMAT ); 34 | 35 | return result; 36 | } 37 | 38 | 39 | /* deprecated function name; retained for ABI compatibility */ 40 | 41 | FT_EXPORT_DEF( const char* ) 42 | FT_Get_X11_Font_Format( FT_Face face ) 43 | { 44 | const char* result = NULL; 45 | 46 | 47 | if ( face ) 48 | FT_FACE_FIND_SERVICE( face, result, FONT_FORMAT ); 49 | 50 | return result; 51 | } 52 | 53 | 54 | /* END */ 55 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftfstype.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftfstype.c 4 | * 5 | * FreeType utility file to access FSType data (body). 6 | * 7 | * Copyright (C) 2008-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | /* documentation is in freetype.h */ 25 | 26 | FT_EXPORT_DEF( FT_UShort ) 27 | FT_Get_FSType_Flags( FT_Face face ) 28 | { 29 | TT_OS2* os2; 30 | 31 | 32 | /* first, try to get the fs_type directly from the font */ 33 | if ( face ) 34 | { 35 | FT_Service_PsInfo service = NULL; 36 | 37 | 38 | FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); 39 | 40 | if ( service && service->ps_get_font_extra ) 41 | { 42 | PS_FontExtraRec extra; 43 | 44 | 45 | if ( !service->ps_get_font_extra( face, &extra ) && 46 | extra.fs_type != 0 ) 47 | return extra.fs_type; 48 | } 49 | } 50 | 51 | /* look at FSType before fsType for Type42 */ 52 | 53 | if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, FT_SFNT_OS2 ) ) != NULL && 54 | os2->version != 0xFFFFU ) 55 | return os2->fsType; 56 | 57 | return 0; 58 | } 59 | 60 | 61 | /* END */ 62 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftgasp.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftgasp.c 4 | * 5 | * Access of TrueType's `gasp' table (body). 6 | * 7 | * Copyright (C) 2007-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include 21 | 22 | 23 | FT_EXPORT_DEF( FT_Int ) 24 | FT_Get_Gasp( FT_Face face, 25 | FT_UInt ppem ) 26 | { 27 | FT_Int result = FT_GASP_NO_TABLE; 28 | 29 | 30 | if ( face && FT_IS_SFNT( face ) ) 31 | { 32 | TT_Face ttface = (TT_Face)face; 33 | 34 | 35 | if ( ttface->gasp.numRanges > 0 ) 36 | { 37 | TT_GaspRange range = ttface->gasp.gaspRanges; 38 | TT_GaspRange range_end = range + ttface->gasp.numRanges; 39 | 40 | 41 | while ( ppem > range->maxPPEM ) 42 | { 43 | range++; 44 | if ( range >= range_end ) 45 | goto Exit; 46 | } 47 | 48 | result = range->gaspFlag; 49 | 50 | /* ensure that we don't have spurious bits */ 51 | if ( ttface->gasp.version == 0 ) 52 | result &= 3; 53 | } 54 | } 55 | Exit: 56 | return result; 57 | } 58 | 59 | 60 | /* END */ 61 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftpatent.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftpatent.c 4 | * 5 | * FreeType API for checking patented TrueType bytecode instructions 6 | * (body). Obsolete, retained for backward compatibility. 7 | * 8 | * Copyright (C) 2007-2021 by 9 | * David Turner. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | 27 | /* documentation is in freetype.h */ 28 | 29 | FT_EXPORT_DEF( FT_Bool ) 30 | FT_Face_CheckTrueTypePatents( FT_Face face ) 31 | { 32 | FT_UNUSED( face ); 33 | 34 | return FALSE; 35 | } 36 | 37 | 38 | /* documentation is in freetype.h */ 39 | 40 | FT_EXPORT_DEF( FT_Bool ) 41 | FT_Face_SetUnpatentedHinting( FT_Face face, 42 | FT_Bool value ) 43 | { 44 | FT_UNUSED( face ); 45 | FT_UNUSED( value ); 46 | 47 | return FALSE; 48 | } 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/ftwinfnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftwinfnt.c 4 | * 5 | * FreeType API for accessing Windows FNT specific info (body). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | 25 | /* documentation is in ftwinfnt.h */ 26 | 27 | FT_EXPORT_DEF( FT_Error ) 28 | FT_Get_WinFNT_Header( FT_Face face, 29 | FT_WinFNT_HeaderRec *header ) 30 | { 31 | FT_Service_WinFnt service; 32 | FT_Error error; 33 | 34 | 35 | if ( !face ) 36 | return FT_THROW( Invalid_Face_Handle ); 37 | 38 | if ( !header ) 39 | return FT_THROW( Invalid_Argument ); 40 | 41 | FT_FACE_LOOKUP_SERVICE( face, service, WINFNT ); 42 | 43 | if ( service ) 44 | error = service->get_header( face, header ); 45 | else 46 | error = FT_THROW( Invalid_Argument ); 47 | 48 | return error; 49 | } 50 | 51 | 52 | /* END */ 53 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/base/md5.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. 3 | * MD5 Message-Digest Algorithm (RFC 1321). 4 | * 5 | * Homepage: 6 | * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 7 | * 8 | * Author: 9 | * Alexander Peslyak, better known as Solar Designer 10 | * 11 | * This software was written by Alexander Peslyak in 2001. No copyright is 12 | * claimed, and the software is hereby placed in the public domain. 13 | * In case this attempt to disclaim copyright and place the software in the 14 | * public domain is deemed null and void, then the software is 15 | * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the 16 | * general public under the following terms: 17 | * 18 | * Redistribution and use in source and binary forms, with or without 19 | * modification, are permitted. 20 | * 21 | * There's ABSOLUTELY NO WARRANTY, express or implied. 22 | * 23 | * See md5.c for more information. 24 | */ 25 | 26 | #ifdef HAVE_OPENSSL 27 | #include 28 | #elif !defined(_MD5_H) 29 | #define _MD5_H 30 | 31 | /* Any 32-bit or wider unsigned integer data type will do */ 32 | typedef unsigned int MD5_u32plus; 33 | 34 | typedef struct { 35 | MD5_u32plus lo, hi; 36 | MD5_u32plus a, b, c, d; 37 | unsigned char buffer[64]; 38 | MD5_u32plus block[16]; 39 | } MD5_CTX; 40 | 41 | extern void MD5_Init(MD5_CTX *ctx); 42 | extern void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size); 43 | extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/bdf/bdf.c: -------------------------------------------------------------------------------- 1 | /* bdf.c 2 | 3 | FreeType font driver for bdf files 4 | 5 | Copyright (C) 2001, 2002 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #define FT_MAKE_OPTION_SINGLE_OBJECT 29 | 30 | #include "bdflib.c" 31 | #include "bdfdrivr.c" 32 | 33 | 34 | /* END */ 35 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/bdf/bdferror.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2001, 2002, 2012 Francesco Zappa Nardelli 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a 5 | * copy of this software and associated documentation files (the "Software"), 6 | * to deal in the Software without restriction, including without limitation 7 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | * and/or sell copies of the Software, and to permit persons to whom the 9 | * Software is furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 | * THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY 18 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 19 | * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 20 | * THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | /************************************************************************** 24 | * 25 | * This file is used to define the BDF error enumeration constants. 26 | * 27 | */ 28 | 29 | #ifndef BDFERROR_H_ 30 | #define BDFERROR_H_ 31 | 32 | #include 33 | 34 | #undef FTERRORS_H_ 35 | 36 | #undef FT_ERR_PREFIX 37 | #define FT_ERR_PREFIX BDF_Err_ 38 | #define FT_ERR_BASE FT_Mod_Err_BDF 39 | 40 | #include 41 | 42 | #endif /* BDFERROR_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/bdf/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 BDF module definition 3 | # 4 | 5 | # Copyright 2001, 2002, 2006 by 6 | # Francesco Zappa Nardelli 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | 27 | FTMODULE_H_COMMANDS += BDF_DRIVER 28 | 29 | define BDF_DRIVER 30 | $(OPEN_DRIVER) FT_Driver_ClassRec, bdf_driver_class $(CLOSE_DRIVER) 31 | $(ECHO_DRIVER)bdf $(ECHO_DRIVER_DESC)bdf bitmap fonts$(ECHO_DRIVER_DONE) 32 | endef 33 | 34 | # EOF 35 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/bzip2/rules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 BZIP2 support configuration rules 3 | # 4 | 5 | # Copyright (C) 2010-2021 by 6 | # Joel Klinghed. 7 | # 8 | # based on `src/lzw/rules.mk' 9 | # 10 | # This file is part of the FreeType project, and may only be used, modified, 11 | # and distributed under the terms of the FreeType project license, 12 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 13 | # indicate that you have read the license and understand and accept it 14 | # fully. 15 | 16 | 17 | # BZIP2 driver directory 18 | # 19 | BZIP2_DIR := $(SRC_DIR)/bzip2 20 | 21 | 22 | # compilation flags for the driver 23 | # 24 | BZIP2_COMPILE := $(CC) $(ANSIFLAGS) \ 25 | $(INCLUDE_FLAGS) \ 26 | $(FT_CFLAGS) 27 | 28 | 29 | # BZIP2 support sources (i.e., C files) 30 | # 31 | BZIP2_DRV_SRC := $(BZIP2_DIR)/ftbzip2.c 32 | 33 | # BZIP2 driver object(s) 34 | # 35 | # BZIP2_DRV_OBJ_M is used during `multi' builds 36 | # BZIP2_DRV_OBJ_S is used during `single' builds 37 | # 38 | BZIP2_DRV_OBJ_M := $(OBJ_DIR)/ftbzip2.$O 39 | BZIP2_DRV_OBJ_S := $(OBJ_DIR)/ftbzip2.$O 40 | 41 | # BZIP2 support source file for single build 42 | # 43 | BZIP2_DRV_SRC_S := $(BZIP2_DIR)/ftbzip2.c 44 | 45 | 46 | # BZIP2 support - single object 47 | # 48 | $(BZIP2_DRV_OBJ_S): $(BZIP2_DRV_SRC_S) $(BZIP2_DRV_SRC) $(FREETYPE_H) $(BZIP2_DRV_H) 49 | $(BZIP2_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BZIP2_DRV_SRC_S)) 50 | 51 | 52 | # BZIP2 support - multiple objects 53 | # 54 | $(OBJ_DIR)/%.$O: $(BZIP2_DIR)/%.c $(FREETYPE_H) $(BZIP2_DRV_H) 55 | $(BZIP2_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) 56 | 57 | 58 | # update main driver object lists 59 | # 60 | DRV_OBJS_S += $(BZIP2_DRV_OBJ_S) 61 | DRV_OBJS_M += $(BZIP2_DRV_OBJ_M) 62 | 63 | 64 | # EOF 65 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cache/ftcache.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcache.c 4 | * 5 | * The FreeType Caching sub-system (body only). 6 | * 7 | * Copyright (C) 2000-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "ftcbasic.c" 22 | #include "ftccache.c" 23 | #include "ftccmap.c" 24 | #include "ftcglyph.c" 25 | #include "ftcimage.c" 26 | #include "ftcmanag.c" 27 | #include "ftcmru.c" 28 | #include "ftcsbits.c" 29 | 30 | 31 | /* END */ 32 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cache/ftcerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcerror.h 4 | * 5 | * Caching sub-system error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the caching sub-system error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FTCERROR_H_ 27 | #define FTCERROR_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX FTC_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Cache 36 | 37 | #include 38 | 39 | #endif /* FTCERROR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cff/cff.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cff.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "cffcmap.c" 22 | #include "cffdrivr.c" 23 | #include "cffgload.c" 24 | #include "cffparse.c" 25 | #include "cffload.c" 26 | #include "cffobjs.c" 27 | 28 | /* END */ 29 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cff/cffdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cffdrivr.h 4 | * 5 | * High-level OpenType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CFFDRIVER_H_ 20 | #define CFFDRIVER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_DECLARE_DRIVER( cff_driver_class ) 29 | 30 | FT_END_HEADER 31 | 32 | #endif /* CFFDRIVER_H_ */ 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cff/cfferrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cfferrs.h 4 | * 5 | * CFF error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the CFF error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef CFFERRS_H_ 26 | #define CFFERRS_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX CFF_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_CFF 35 | 36 | 37 | #include 38 | 39 | #endif /* CFFERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cff/cffgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cffgload.h 4 | * 5 | * OpenType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CFFGLOAD_H_ 20 | #define CFFGLOAD_H_ 21 | 22 | 23 | #include 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | FT_LOCAL( FT_Error ) 30 | cff_get_glyph_data( TT_Face face, 31 | FT_UInt glyph_index, 32 | FT_Byte** pointer, 33 | FT_ULong* length ); 34 | FT_LOCAL( void ) 35 | cff_free_glyph_data( TT_Face face, 36 | FT_Byte** pointer, 37 | FT_ULong length ); 38 | 39 | 40 | #if 0 /* unused until we support pure CFF fonts */ 41 | 42 | /* Compute the maximum advance width of a font through quick parsing */ 43 | FT_LOCAL( FT_Error ) 44 | cff_compute_max_advance( TT_Face face, 45 | FT_Int* max_advance ); 46 | 47 | #endif /* 0 */ 48 | 49 | 50 | FT_LOCAL( FT_Error ) 51 | cff_slot_load( CFF_GlyphSlot glyph, 52 | CFF_Size size, 53 | FT_UInt glyph_index, 54 | FT_Int32 load_flags ); 55 | 56 | 57 | FT_END_HEADER 58 | 59 | #endif /* CFFGLOAD_H_ */ 60 | 61 | 62 | /* END */ 63 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cff/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 CFF module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += CFF_DRIVER 17 | 18 | define CFF_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, cff_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/ciderrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ciderrs.h 4 | * 5 | * CID error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the CID error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef CIDERRS_H_ 26 | #define CIDERRS_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX CID_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_CID 35 | 36 | #include 37 | 38 | #endif /* CIDERRS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/cidgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidgload.h 4 | * 5 | * OpenType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDGLOAD_H_ 20 | #define CIDGLOAD_H_ 21 | 22 | 23 | #include "cidobjs.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #if 0 30 | 31 | /* Compute the maximum advance width of a font through quick parsing */ 32 | FT_LOCAL( FT_Error ) 33 | cid_face_compute_max_advance( CID_Face face, 34 | FT_Int* max_advance ); 35 | 36 | #endif /* 0 */ 37 | 38 | FT_LOCAL( FT_Error ) 39 | cid_slot_load_glyph( FT_GlyphSlot glyph, /* CID_Glyph_Slot */ 40 | FT_Size size, /* CID_Size */ 41 | FT_UInt glyph_index, 42 | FT_Int32 load_flags ); 43 | 44 | 45 | FT_END_HEADER 46 | 47 | #endif /* CIDGLOAD_H_ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/cidload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidload.h 4 | * 5 | * CID-keyed Type1 font loader (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDLOAD_H_ 20 | #define CIDLOAD_H_ 21 | 22 | 23 | #include 24 | #include "cidparse.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | typedef struct CID_Loader_ 31 | { 32 | CID_Parser parser; /* parser used to read the stream */ 33 | FT_Int num_chars; /* number of characters in encoding */ 34 | 35 | } CID_Loader; 36 | 37 | 38 | FT_LOCAL( FT_ULong ) 39 | cid_get_offset( FT_Byte** start, 40 | FT_UInt offsize ); 41 | 42 | FT_LOCAL( FT_Error ) 43 | cid_face_open( CID_Face face, 44 | FT_Int face_index ); 45 | 46 | 47 | FT_END_HEADER 48 | 49 | #endif /* CIDLOAD_H_ */ 50 | 51 | 52 | /* END */ 53 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/cidriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidriver.h 4 | * 5 | * High-level CID driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef CIDRIVER_H_ 20 | #define CIDRIVER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_CALLBACK_TABLE 29 | const FT_Driver_ClassRec t1cid_driver_class; 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* CIDRIVER_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 CID module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE1CID_DRIVER 17 | 18 | define TYPE1CID_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t1cid_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/cid/type1cid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1cid.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "cidgload.c" 22 | #include "cidload.c" 23 | #include "cidobjs.c" 24 | #include "cidparse.c" 25 | #include "cidriver.c" 26 | 27 | 28 | /* END */ 29 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/dlg/dlgwrap.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * dlgwrap.c 4 | * 5 | * Wrapper file for the 'dlg' library (body only) 6 | * 7 | * Copyright (C) 2020-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #include 20 | #include FT_CONFIG_OPTIONS_H 21 | 22 | 23 | #ifdef FT_DEBUG_LOGGING 24 | #define DLG_STATIC 25 | #include "dlg.c" 26 | #else 27 | /* ANSI C doesn't like empty source files */ 28 | typedef int _dlg_dummy; 29 | #endif 30 | 31 | 32 | /* END */ 33 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gxvalid/gxvalid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * gxvalid.c 4 | * 5 | * FreeType validator for TrueTypeGX/AAT tables (body only). 6 | * 7 | * Copyright (C) 2005-2021 by 8 | * suzuki toshiya, Masatake YAMATO, Red Hat K.K., 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #define FT_MAKE_OPTION_SINGLE_OBJECT 21 | 22 | #include "gxvbsln.c" 23 | #include "gxvcommn.c" 24 | #include "gxvfeat.c" 25 | #include "gxvjust.c" 26 | #include "gxvkern.c" 27 | #include "gxvlcar.c" 28 | #include "gxvmod.c" 29 | #include "gxvmort.c" 30 | #include "gxvmort0.c" 31 | #include "gxvmort1.c" 32 | #include "gxvmort2.c" 33 | #include "gxvmort4.c" 34 | #include "gxvmort5.c" 35 | #include "gxvmorx.c" 36 | #include "gxvmorx0.c" 37 | #include "gxvmorx1.c" 38 | #include "gxvmorx2.c" 39 | #include "gxvmorx4.c" 40 | #include "gxvmorx5.c" 41 | #include "gxvopbd.c" 42 | #include "gxvprop.c" 43 | #include "gxvtrak.c" 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gxvalid/gxverror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * gxverror.h 4 | * 5 | * TrueTypeGX/AAT validation module error codes (specification only). 6 | * 7 | * Copyright (C) 2004-2021 by 8 | * suzuki toshiya, Masatake YAMATO, Red Hat K.K., 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | /**************************************************************************** 20 | * 21 | * gxvalid is derived from both gxlayout module and otvalid module. 22 | * Development of gxlayout is supported by the Information-technology 23 | * Promotion Agency(IPA), Japan. 24 | * 25 | */ 26 | 27 | 28 | /************************************************************************** 29 | * 30 | * This file is used to define the OpenType validation module error 31 | * enumeration constants. 32 | * 33 | */ 34 | 35 | #ifndef GXVERROR_H_ 36 | #define GXVERROR_H_ 37 | 38 | #include 39 | 40 | #undef FTERRORS_H_ 41 | 42 | #undef FT_ERR_PREFIX 43 | #define FT_ERR_PREFIX GXV_Err_ 44 | #define FT_ERR_BASE FT_Mod_Err_GXvalid 45 | 46 | #include 47 | 48 | #endif /* GXVERROR_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gxvalid/gxvmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * gxvmod.h 4 | * 5 | * FreeType's TrueTypeGX/AAT validation module implementation 6 | * (specification). 7 | * 8 | * Copyright (C) 2004-2021 by 9 | * suzuki toshiya, Masatake YAMATO, Red Hat K.K., 10 | * David Turner, Robert Wilhelm, and Werner Lemberg. 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | /**************************************************************************** 21 | * 22 | * gxvalid is derived from both gxlayout module and otvalid module. 23 | * Development of gxlayout is supported by the Information-technology 24 | * Promotion Agency(IPA), Japan. 25 | * 26 | */ 27 | 28 | 29 | #ifndef GXVMOD_H_ 30 | #define GXVMOD_H_ 31 | 32 | #include 33 | 34 | 35 | FT_BEGIN_HEADER 36 | 37 | 38 | FT_EXPORT_VAR( const FT_Module_Class ) gxv_module_class; 39 | 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* GXVMOD_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gxvalid/gxvmorx4.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * gxvmorx4.c 4 | * 5 | * TrueTypeGX/AAT morx table validation 6 | * body for "morx" type4 (Non-Contextual Glyph Substitution) subtable. 7 | * 8 | * Copyright (C) 2005-2021 by 9 | * suzuki toshiya, Masatake YAMATO, Red Hat K.K., 10 | * David Turner, Robert Wilhelm, and Werner Lemberg. 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | /**************************************************************************** 21 | * 22 | * gxvalid is derived from both gxlayout module and otvalid module. 23 | * Development of gxlayout is supported by the Information-technology 24 | * Promotion Agency(IPA), Japan. 25 | * 26 | */ 27 | 28 | 29 | #include "gxvmorx.h" 30 | 31 | 32 | /************************************************************************** 33 | * 34 | * The macro FT_COMPONENT is used in trace mode. It is an implicit 35 | * parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log 36 | * messages during execution. 37 | */ 38 | #undef FT_COMPONENT 39 | #define FT_COMPONENT gxvmorx 40 | 41 | 42 | FT_LOCAL_DEF( void ) 43 | gxv_morx_subtable_type4_validate( FT_Bytes table, 44 | FT_Bytes limit, 45 | GXV_Validator gxvalid ) 46 | { 47 | GXV_NAME_ENTER( "morx chain subtable type4 " 48 | "(Non-Contextual Glyph Substitution)" ); 49 | 50 | gxv_mort_subtable_type4_validate( table, limit, gxvalid ); 51 | 52 | GXV_EXIT; 53 | } 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gxvalid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 gxvalid module definition 3 | # 4 | 5 | # Copyright (C) 2004-2021 by 6 | # suzuki toshiya, Masatake YAMATO, Red Hat K.K., 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += GXVALID_MODULE 17 | 18 | define GXVALID_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, gxv_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)gxvalid $(ECHO_DRIVER_DESC)TrueTypeGX/AAT validation module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gzip/adler32.c: -------------------------------------------------------------------------------- 1 | /* adler32.c -- compute the Adler-32 checksum of a data stream 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id$ */ 7 | 8 | #include "zlib.h" 9 | 10 | #define BASE 65521L /* largest prime smaller than 65536 */ 11 | #define NMAX 5552 12 | /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ 13 | 14 | #define DO1(buf,i) {s1 += buf[i]; s2 += s1;} 15 | #define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); 16 | #define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); 17 | #define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); 18 | #define DO16(buf) DO8(buf,0); DO8(buf,8); 19 | 20 | /* ========================================================================= */ 21 | ZEXPORT(uLong) adler32( /* adler, buf, len) */ 22 | uLong adler, 23 | const Bytef *buf, 24 | uInt len ) 25 | { 26 | unsigned long s1 = adler & 0xffff; 27 | unsigned long s2 = (adler >> 16) & 0xffff; 28 | int k; 29 | 30 | if (buf == Z_NULL) return 1L; 31 | 32 | while (len > 0) { 33 | k = len < NMAX ? len : NMAX; 34 | len -= k; 35 | while (k >= 16) { 36 | DO16(buf); 37 | buf += 16; 38 | k -= 16; 39 | } 40 | if (k != 0) do { 41 | s1 += *buf++; 42 | s2 += s1; 43 | } while (--k); 44 | s1 %= BASE; 45 | s2 %= BASE; 46 | } 47 | return (s2 << 16) | s1; 48 | } 49 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gzip/infblock.h: -------------------------------------------------------------------------------- 1 | /* infblock.h -- header to use infblock.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | #ifndef _INFBLOCK_H 12 | #define _INFBLOCK_H 13 | 14 | struct inflate_blocks_state; 15 | typedef struct inflate_blocks_state FAR inflate_blocks_statef; 16 | 17 | local inflate_blocks_statef * inflate_blocks_new OF(( 18 | z_streamp z, 19 | check_func c, /* check function */ 20 | uInt w)); /* window size */ 21 | 22 | local int inflate_blocks OF(( 23 | inflate_blocks_statef *, 24 | z_streamp , 25 | int)); /* initial return code */ 26 | 27 | local void inflate_blocks_reset OF(( 28 | inflate_blocks_statef *, 29 | z_streamp , 30 | uLongf *)); /* check value on output */ 31 | 32 | local int inflate_blocks_free OF(( 33 | inflate_blocks_statef *, 34 | z_streamp)); 35 | 36 | #endif /* _INFBLOCK_H */ 37 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/gzip/infcodes.h: -------------------------------------------------------------------------------- 1 | /* infcodes.h -- header to use infcodes.c 2 | * Copyright (C) 1995-2002 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | #ifndef _INFCODES_H 12 | #define _INFCODES_H 13 | 14 | struct inflate_codes_state; 15 | typedef struct inflate_codes_state FAR inflate_codes_statef; 16 | 17 | local inflate_codes_statef *inflate_codes_new OF(( 18 | uInt, uInt, 19 | inflate_huft *, inflate_huft *, 20 | z_streamp )); 21 | 22 | local int inflate_codes OF(( 23 | inflate_blocks_statef *, 24 | z_streamp , 25 | int)); 26 | 27 | local void inflate_codes_free OF(( 28 | inflate_codes_statef *, 29 | z_streamp )); 30 | 31 | #endif /* _INFCODES_H */ 32 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/lzw/rules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 LZW support configuration rules 3 | # 4 | 5 | 6 | # Copyright (C) 2004-2021 by 7 | # Albert Chin-A-Young. 8 | # 9 | # based on `src/lzw/rules.mk' 10 | # 11 | # This file is part of the FreeType project, and may only be used, modified, 12 | # and distributed under the terms of the FreeType project license, 13 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 14 | # indicate that you have read the license and understand and accept it 15 | # fully. 16 | 17 | 18 | # LZW driver directory 19 | # 20 | LZW_DIR := $(SRC_DIR)/lzw 21 | 22 | 23 | # compilation flags for the driver 24 | # 25 | LZW_COMPILE := $(CC) $(ANSIFLAGS) \ 26 | $I$(subst /,$(COMPILER_SEP),$(LZW_DIR)) \ 27 | $(INCLUDE_FLAGS) \ 28 | $(FT_CFLAGS) 29 | 30 | 31 | # LZW support sources (i.e., C files) 32 | # 33 | LZW_DRV_SRC := $(LZW_DIR)/ftlzw.c 34 | 35 | # LZW support headers 36 | # 37 | LZW_DRV_H := $(LZW_DIR)/ftzopen.h \ 38 | $(LZW_DIR)/ftzopen.c 39 | 40 | 41 | # LZW driver object(s) 42 | # 43 | # LZW_DRV_OBJ_M is used during `multi' builds 44 | # LZW_DRV_OBJ_S is used during `single' builds 45 | # 46 | LZW_DRV_OBJ_M := $(OBJ_DIR)/ftlzw.$O 47 | LZW_DRV_OBJ_S := $(OBJ_DIR)/ftlzw.$O 48 | 49 | # LZW support source file for single build 50 | # 51 | LZW_DRV_SRC_S := $(LZW_DIR)/ftlzw.c 52 | 53 | 54 | # LZW support - single object 55 | # 56 | $(LZW_DRV_OBJ_S): $(LZW_DRV_SRC_S) $(LZW_DRV_SRC) $(FREETYPE_H) $(LZW_DRV_H) 57 | $(LZW_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(LZW_DRV_SRC_S)) 58 | 59 | 60 | # LZW support - multiple objects 61 | # 62 | $(OBJ_DIR)/%.$O: $(LZW_DIR)/%.c $(FREETYPE_H) $(LZW_DRV_H) 63 | $(LZW_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) 64 | 65 | 66 | # update main driver object lists 67 | # 68 | DRV_OBJS_S += $(LZW_DRV_OBJ_S) 69 | DRV_OBJS_M += $(LZW_DRV_OBJ_M) 70 | 71 | 72 | # EOF 73 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/otvalid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 otvalid module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2004-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += OTVALID_MODULE 17 | 18 | define OTVALID_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, otv_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)otvalid $(ECHO_DRIVER_DESC)OpenType validation module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/otvalid/otvalid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otvalid.c 4 | * 5 | * FreeType validator for OpenType tables (body only). 6 | * 7 | * Copyright (C) 2004-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "otvbase.c" 22 | #include "otvcommn.c" 23 | #include "otvgdef.c" 24 | #include "otvgpos.c" 25 | #include "otvgsub.c" 26 | #include "otvjstf.c" 27 | #include "otvmath.c" 28 | #include "otvmod.c" 29 | 30 | 31 | /* END */ 32 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/otvalid/otverror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otverror.h 4 | * 5 | * OpenType validation module error codes (specification only). 6 | * 7 | * Copyright (C) 2004-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the OpenType validation module error 22 | * enumeration constants. 23 | * 24 | */ 25 | 26 | #ifndef OTVERROR_H_ 27 | #define OTVERROR_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX OTV_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_OTvalid 36 | 37 | #include 38 | 39 | #endif /* OTVERROR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/otvalid/otvgpos.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otvgpos.h 4 | * 5 | * OpenType GPOS table validator (specification). 6 | * 7 | * Copyright (C) 2004-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef OTVGPOS_H_ 20 | #define OTVGPOS_H_ 21 | 22 | 23 | FT_BEGIN_HEADER 24 | 25 | 26 | FT_LOCAL( void ) 27 | otv_GPOS_subtable_validate( FT_Bytes table, 28 | OTV_Validator valid ); 29 | 30 | 31 | FT_END_HEADER 32 | 33 | #endif /* OTVGPOS_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/otvalid/otvmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otvmod.h 4 | * 5 | * FreeType's OpenType validation module implementation 6 | * (specification). 7 | * 8 | * Copyright (C) 2004-2021 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef OTVMOD_H_ 21 | #define OTVMOD_H_ 22 | 23 | 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_EXPORT_VAR( const FT_Module_Class ) otv_module_class; 31 | 32 | 33 | FT_END_HEADER 34 | 35 | #endif /* OTVMOD_H_ */ 36 | 37 | 38 | /* END */ 39 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PCF module definition 3 | # 4 | 5 | # Copyright 2000, 2006 by 6 | # Francesco Zappa Nardelli 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | 27 | FTMODULE_H_COMMANDS += PCF_DRIVER 28 | 29 | define PCF_DRIVER 30 | $(OPEN_DRIVER) FT_Driver_ClassRec, pcf_driver_class $(CLOSE_DRIVER) 31 | $(ECHO_DRIVER)pcf $(ECHO_DRIVER_DESC)pcf bitmap fonts$(ECHO_DRIVER_DONE) 32 | endef 33 | 34 | # EOF 35 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/pcf.c: -------------------------------------------------------------------------------- 1 | /* pcf.c 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000-2001, 2003 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #define FT_MAKE_OPTION_SINGLE_OBJECT 29 | 30 | #include "pcfdrivr.c" 31 | #include "pcfread.c" 32 | #include "pcfutil.c" 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/pcfdrivr.h: -------------------------------------------------------------------------------- 1 | /* pcfdrivr.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000-2001, 2002 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFDRIVR_H_ 29 | #define PCFDRIVR_H_ 30 | 31 | #include 32 | 33 | 34 | FT_BEGIN_HEADER 35 | 36 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) pcf_driver_class; 37 | 38 | FT_END_HEADER 39 | 40 | 41 | #endif /* PCFDRIVR_H_ */ 42 | 43 | 44 | /* END */ 45 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/pcferror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pcferror.h 4 | * 5 | * PCF error codes (specification only). 6 | * 7 | * Copyright 2001, 2012 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PCF error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PCFERROR_H_ 26 | #define PCFERROR_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PCF_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PCF 35 | 36 | #include 37 | 38 | #endif /* PCFERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/pcfread.h: -------------------------------------------------------------------------------- 1 | /* pcfread.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2003 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFREAD_H_ 29 | #define PCFREAD_H_ 30 | 31 | 32 | 33 | FT_BEGIN_HEADER 34 | 35 | FT_LOCAL( PCF_Property ) 36 | pcf_find_property( PCF_Face face, 37 | const FT_String* prop ); 38 | 39 | FT_END_HEADER 40 | 41 | #endif /* PCFREAD_H_ */ 42 | 43 | 44 | /* END */ 45 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pcf/pcfutil.h: -------------------------------------------------------------------------------- 1 | /* pcfutil.h 2 | 3 | FreeType font driver for pcf fonts 4 | 5 | Copyright 2000, 2001, 2004 by 6 | Francesco Zappa Nardelli 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | */ 26 | 27 | 28 | #ifndef PCFUTIL_H_ 29 | #define PCFUTIL_H_ 30 | 31 | 32 | #include 33 | #include FT_CONFIG_CONFIG_H 34 | #include 35 | 36 | FT_BEGIN_HEADER 37 | 38 | FT_LOCAL( void ) 39 | BitOrderInvert( unsigned char* buf, 40 | size_t nbytes ); 41 | 42 | FT_LOCAL( void ) 43 | TwoByteSwap( unsigned char* buf, 44 | size_t nbytes ); 45 | 46 | FT_LOCAL( void ) 47 | FourByteSwap( unsigned char* buf, 48 | size_t nbytes ); 49 | 50 | FT_END_HEADER 51 | 52 | #endif /* PCFUTIL_H_ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PFR module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2002-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PFR_DRIVER 17 | 18 | define PFR_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, pfr_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfr.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfr.c 4 | * 5 | * FreeType PFR driver component. 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "pfrcmap.c" 22 | #include "pfrdrivr.c" 23 | #include "pfrgload.c" 24 | #include "pfrload.c" 25 | #include "pfrobjs.c" 26 | #include "pfrsbit.c" 27 | 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfrcmap.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrcmap.h 4 | * 5 | * FreeType PFR cmap handling (specification). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRCMAP_H_ 20 | #define PFRCMAP_H_ 21 | 22 | #include 23 | #include "pfrtypes.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | typedef struct PFR_CMapRec_ 29 | { 30 | FT_CMapRec cmap; 31 | FT_UInt num_chars; 32 | PFR_Char chars; 33 | 34 | } PFR_CMapRec, *PFR_CMap; 35 | 36 | 37 | FT_CALLBACK_TABLE const FT_CMap_ClassRec pfr_cmap_class_rec; 38 | 39 | FT_END_HEADER 40 | 41 | 42 | #endif /* PFRCMAP_H_ */ 43 | 44 | 45 | /* END */ 46 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfrdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrdrivr.h 4 | * 5 | * High-level Type PFR driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRDRIVR_H_ 20 | #define PFRDRIVR_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) pfr_driver_class; 29 | 30 | FT_END_HEADER 31 | 32 | 33 | #endif /* PFRDRIVR_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfrerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrerror.h 4 | * 5 | * PFR error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PFR error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PFRERROR_H_ 26 | #define PFRERROR_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PFR_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PFR 35 | 36 | #include 37 | 38 | #endif /* PFRERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfrgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrgload.h 4 | * 5 | * FreeType PFR glyph loader (specification). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRGLOAD_H_ 20 | #define PFRGLOAD_H_ 21 | 22 | #include "pfrtypes.h" 23 | 24 | FT_BEGIN_HEADER 25 | 26 | 27 | FT_LOCAL( void ) 28 | pfr_glyph_init( PFR_Glyph glyph, 29 | FT_GlyphLoader loader ); 30 | 31 | FT_LOCAL( void ) 32 | pfr_glyph_done( PFR_Glyph glyph ); 33 | 34 | 35 | FT_LOCAL( FT_Error ) 36 | pfr_glyph_load( PFR_Glyph glyph, 37 | FT_Stream stream, 38 | FT_ULong gps_offset, 39 | FT_ULong offset, 40 | FT_ULong size ); 41 | 42 | 43 | FT_END_HEADER 44 | 45 | 46 | #endif /* PFRGLOAD_H_ */ 47 | 48 | 49 | /* END */ 50 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pfr/pfrsbit.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrsbit.h 4 | * 5 | * FreeType PFR bitmap loader (specification). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PFRSBIT_H_ 20 | #define PFRSBIT_H_ 21 | 22 | #include "pfrobjs.h" 23 | 24 | FT_BEGIN_HEADER 25 | 26 | FT_LOCAL( FT_Error ) 27 | pfr_slot_load_bitmap( PFR_Slot glyph, 28 | PFR_Size size, 29 | FT_UInt glyph_index, 30 | FT_Bool metrics_only ); 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* PFRSBIT_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psaux/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSaux module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSAUX_MODULE 17 | 18 | define PSAUX_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, psaux_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)psaux $(ECHO_DRIVER_DESC)Postscript Type 1 & Type 2 helper module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psaux/psaux.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psaux.c 4 | * 5 | * FreeType auxiliary PostScript driver component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "afmparse.c" 22 | #include "psauxmod.c" 23 | #include "psconv.c" 24 | #include "psobjs.c" 25 | #include "t1cmap.c" 26 | #include "t1decode.c" 27 | #include "cffdecode.c" 28 | 29 | #include "psarrst.c" 30 | #include "psblues.c" 31 | #include "pserror.c" 32 | #include "psfont.c" 33 | #include "psft.c" 34 | #include "pshints.c" 35 | #include "psintrp.c" 36 | #include "psread.c" 37 | #include "psstack.c" 38 | 39 | 40 | /* END */ 41 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psaux/psauxerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psauxerr.h 4 | * 5 | * PS auxiliary module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PS auxiliary module error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef PSAUXERR_H_ 27 | #define PSAUXERR_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX PSaux_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_PSaux 36 | 37 | #include 38 | 39 | #endif /* PSAUXERR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psaux/psauxmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psauxmod.h 4 | * 5 | * FreeType auxiliary PostScript module implementation (specification). 6 | * 7 | * Copyright (C) 2000-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSAUXMOD_H_ 20 | #define PSAUXMOD_H_ 21 | 22 | 23 | #include 24 | 25 | #include 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_CALLBACK_TABLE 32 | const CFF_Builder_FuncsRec cff_builder_funcs; 33 | 34 | FT_CALLBACK_TABLE 35 | const PS_Builder_FuncsRec ps_builder_funcs; 36 | 37 | #ifndef T1_CONFIG_OPTION_NO_AFM 38 | FT_CALLBACK_TABLE 39 | const AFM_Parser_FuncsRec afm_parser_funcs; 40 | #endif 41 | 42 | FT_CALLBACK_TABLE 43 | const T1_CMap_ClassesRec t1_cmap_classes; 44 | 45 | FT_CALLBACK_TABLE 46 | const CFF_Decoder_FuncsRec cff_decoder_funcs; 47 | 48 | 49 | FT_EXPORT_VAR( const FT_Module_Class ) psaux_driver_class; 50 | 51 | 52 | FT_DECLARE_MODULE( psaux_module_class ) 53 | 54 | 55 | FT_END_HEADER 56 | 57 | #endif /* PSAUXMOD_H_ */ 58 | 59 | 60 | /* END */ 61 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pshinter/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSHinter module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSHINTER_MODULE 17 | 18 | define PSHINTER_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, pshinter_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)pshinter $(ECHO_DRIVER_DESC)Postscript hinter module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pshinter/pshinter.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshinter.c 4 | * 5 | * FreeType PostScript Hinting module 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "pshalgo.c" 22 | #include "pshglob.c" 23 | #include "pshmod.c" 24 | #include "pshrec.c" 25 | 26 | 27 | /* END */ 28 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pshinter/pshmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshmod.h 4 | * 5 | * PostScript hinter module interface (specification). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSHMOD_H_ 20 | #define PSHMOD_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_DECLARE_MODULE( pshinter_module_class ) 30 | 31 | 32 | FT_END_HEADER 33 | 34 | 35 | #endif /* PSHMOD_H_ */ 36 | 37 | 38 | /* END */ 39 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/pshinter/pshnterr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshnterr.h 4 | * 5 | * PS Hinter error codes (specification only). 6 | * 7 | * Copyright (C) 2003-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PSHinter error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef PSHNTERR_H_ 26 | #define PSHNTERR_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX PSH_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_PShinter 35 | 36 | #include 37 | 38 | #endif /* PSHNTERR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psnames/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSnames module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += PSNAMES_MODULE 17 | 18 | define PSNAMES_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, psnames_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psnames/psmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psmodule.h 4 | * 5 | * High-level psnames module interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef PSMODULE_H_ 20 | #define PSMODULE_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_DECLARE_MODULE( psnames_module_class ) 30 | 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* PSMODULE_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psnames/psnamerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psnamerr.h 4 | * 5 | * PS names module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the PS names module error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef PSNAMERR_H_ 27 | #define PSNAMERR_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX PSnames_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_PSnames 36 | 37 | #include 38 | 39 | #endif /* PSNAMERR_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/psnames/psnames.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psnames.c 4 | * 5 | * FreeType psnames module component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "psmodule.c" 22 | 23 | 24 | /* END */ 25 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/raster/ftraster.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftraster.h 4 | * 5 | * The FreeType glyph rasterizer (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used 11 | * modified and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTRASTER_H_ 20 | #define FTRASTER_H_ 21 | 22 | 23 | #include 24 | #include FT_CONFIG_CONFIG_H 25 | #include 26 | 27 | #include 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | /************************************************************************** 33 | * 34 | * Uncomment the following line if you are using ftraster.c as a 35 | * standalone module, fully independent of FreeType. 36 | */ 37 | /* #define STANDALONE_ */ 38 | 39 | FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_standard_raster; 40 | 41 | 42 | FT_END_HEADER 43 | 44 | #endif /* FTRASTER_H_ */ 45 | 46 | 47 | /* END */ 48 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/raster/ftrend1.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftrend1.h 4 | * 5 | * The FreeType glyph rasterizer interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTREND1_H_ 20 | #define FTREND1_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_DECLARE_RENDERER( ft_raster1_renderer_class ) 30 | 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* FTREND1_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/raster/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 renderer module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += RASTER_MODULE 17 | 18 | define RASTER_MODULE 19 | $(OPEN_DRIVER) FT_Renderer_Class, ft_raster1_renderer_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/raster/raster.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * raster.c 4 | * 5 | * FreeType monochrome rasterer module component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "ftraster.c" 22 | #include "ftrend1.c" 23 | 24 | 25 | /* END */ 26 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/raster/rasterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * rasterrs.h 4 | * 5 | * monochrome renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the monochrome renderer error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef RASTERRS_H_ 27 | #define RASTERRS_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX Raster_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Raster 36 | 37 | #include 38 | 39 | #endif /* RASTERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sdf/ftsdferrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsdferrs.h 4 | * 5 | * Signed Distance Field error codes (specification only). 6 | * 7 | * Copyright (C) 2020-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * Written by Anuj Verma. 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | 21 | #ifndef FTSDFERRS_H_ 22 | #define FTSDFERRS_H_ 23 | 24 | #include 25 | 26 | #undef FTERRORS_H_ 27 | 28 | #undef FT_ERR_PREFIX 29 | #define FT_ERR_PREFIX Sdf_Err_ 30 | #define FT_ERR_BASE FT_Mod_Err_Sdf 31 | 32 | #include 33 | 34 | #endif /* FTSDFERRS_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sdf/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Signed Distance Field module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2020-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += SDF_RENDERER 17 | FTMODULE_H_COMMANDS += BSDF_RENDERER 18 | 19 | define SDF_RENDERER 20 | $(OPEN_DRIVER) FT_Renderer_Class, ft_sdf_renderer_class $(CLOSE_DRIVER) 21 | $(ECHO_DRIVER)sdf $(ECHO_DRIVER_DESC)signed distance field renderer$(ECHO_DRIVER_DONE) 22 | endef 23 | 24 | define BSDF_RENDERER 25 | $(OPEN_DRIVER) FT_Renderer_Class, ft_bitmap_sdf_renderer_class $(CLOSE_DRIVER) 26 | $(ECHO_DRIVER)bsdf $(ECHO_DRIVER_DESC)bitmap to signed distance field converter$(ECHO_DRIVER_DONE) 27 | endef 28 | 29 | #EOF 30 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sdf/sdf.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sdf.c 4 | * 5 | * FreeType Signed Distance Field renderer module component (body only). 6 | * 7 | * Copyright (C) 2020-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * Written by Anuj Verma. 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | 21 | #define FT_MAKE_OPTION_SINGLE_OBJECT 22 | 23 | #include "ftsdfrend.c" 24 | #include "ftsdfcommon.c" 25 | #include "ftbsdf.c" 26 | #include "ftsdf.c" 27 | 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 SFNT module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += SFNT_MODULE 17 | 18 | define SFNT_MODULE 19 | $(OPEN_DRIVER) FT_Module_Class, sfnt_module_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)helper module for TrueType & OpenType formats$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/pngshim.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pngshim.h 4 | * 5 | * PNG Bitmap glyph support. 6 | * 7 | * Copyright (C) 2013-2021 by 8 | * Google, Inc. 9 | * Written by Stuart Gill and Behdad Esfahbod. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef PNGSHIM_H_ 21 | #define PNGSHIM_H_ 22 | 23 | 24 | #include "ttload.h" 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | #ifdef FT_CONFIG_OPTION_USE_PNG 30 | 31 | FT_LOCAL( FT_Error ) 32 | Load_SBit_Png( FT_GlyphSlot slot, 33 | FT_Int x_offset, 34 | FT_Int y_offset, 35 | FT_Int pix_bits, 36 | TT_SBit_Metrics metrics, 37 | FT_Memory memory, 38 | FT_Byte* data, 39 | FT_UInt png_len, 40 | FT_Bool populate_map_and_metrics, 41 | FT_Bool metrics_only ); 42 | 43 | #endif 44 | 45 | FT_END_HEADER 46 | 47 | #endif /* PNGSHIM_H_ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/sfdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfdriver.h 4 | * 5 | * High-level SFNT driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFDRIVER_H_ 20 | #define SFDRIVER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_DECLARE_MODULE( sfnt_module_class ) 29 | 30 | FT_END_HEADER 31 | 32 | #endif /* SFDRIVER_H_ */ 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/sferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sferrors.h 4 | * 5 | * SFNT error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the SFNT error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef SFERRORS_H_ 26 | #define SFERRORS_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX SFNT_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_SFNT 35 | 36 | #include 37 | 38 | #endif /* SFERRORS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/sfnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfnt.c 4 | * 5 | * Single object library component. 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "pngshim.c" 22 | #include "sfdriver.c" 23 | #include "sfobjs.c" 24 | #include "sfwoff.c" 25 | #include "sfwoff2.c" 26 | #include "ttbdf.c" 27 | #include "ttcmap.c" 28 | #include "ttcolr.c" 29 | #include "ttcpal.c" 30 | 31 | #include "ttkern.c" 32 | #include "ttload.c" 33 | #include "ttmtx.c" 34 | #include "ttpost.c" 35 | #include "ttsbit.c" 36 | #include "woff2tags.c" 37 | 38 | 39 | /* END */ 40 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/sfobjs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfobjs.h 4 | * 5 | * SFNT object management (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFOBJS_H_ 20 | #define SFOBJS_H_ 21 | 22 | 23 | #include 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_LOCAL( FT_Error ) 31 | sfnt_init_face( FT_Stream stream, 32 | TT_Face face, 33 | FT_Int face_instance_index, 34 | FT_Int num_params, 35 | FT_Parameter* params ); 36 | 37 | FT_LOCAL( FT_Error ) 38 | sfnt_load_face( FT_Stream stream, 39 | TT_Face face, 40 | FT_Int face_instance_index, 41 | FT_Int num_params, 42 | FT_Parameter* params ); 43 | 44 | FT_LOCAL( void ) 45 | sfnt_done_face( TT_Face face ); 46 | 47 | FT_LOCAL( FT_Error ) 48 | tt_face_get_name( TT_Face face, 49 | FT_UShort nameid, 50 | FT_String** name ); 51 | 52 | 53 | FT_END_HEADER 54 | 55 | #endif /* SFOBJS_H_ */ 56 | 57 | 58 | /* END */ 59 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/sfwoff.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfwoff.h 4 | * 5 | * WOFFF format management (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef SFWOFF_H_ 20 | #define SFWOFF_H_ 21 | 22 | 23 | #include 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | #ifdef FT_CONFIG_OPTION_USE_ZLIB 30 | 31 | FT_LOCAL( FT_Error ) 32 | woff_open_font( FT_Stream stream, 33 | TT_Face face ); 34 | 35 | 36 | #endif 37 | 38 | FT_END_HEADER 39 | 40 | #endif /* SFWOFF_H_ */ 41 | 42 | 43 | /* END */ 44 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttbdf.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttbdf.h 4 | * 5 | * TrueType and OpenType embedded BDF properties (specification). 6 | * 7 | * Copyright (C) 2005-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTBDF_H_ 20 | #define TTBDF_H_ 21 | 22 | 23 | #include "ttload.h" 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | #ifdef TT_CONFIG_OPTION_BDF 31 | 32 | FT_LOCAL( void ) 33 | tt_face_free_bdf_props( TT_Face face ); 34 | 35 | 36 | FT_LOCAL( FT_Error ) 37 | tt_face_find_bdf_prop( TT_Face face, 38 | const char* property_name, 39 | BDF_PropertyRec *aprop ); 40 | 41 | #endif /* TT_CONFIG_OPTION_BDF */ 42 | 43 | 44 | FT_END_HEADER 45 | 46 | #endif /* TTBDF_H_ */ 47 | 48 | 49 | /* END */ 50 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttcmapc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcmapc.h 4 | * 5 | * TT CMAP classes definitions (specification only). 6 | * 7 | * Copyright (C) 2009-2021 by 8 | * Oran Agra and Mickey Gabel. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifdef TT_CONFIG_CMAP_FORMAT_0 20 | TTCMAPCITEM( tt_cmap0_class_rec ) 21 | #endif 22 | 23 | #ifdef TT_CONFIG_CMAP_FORMAT_2 24 | TTCMAPCITEM( tt_cmap2_class_rec ) 25 | #endif 26 | 27 | #ifdef TT_CONFIG_CMAP_FORMAT_4 28 | TTCMAPCITEM( tt_cmap4_class_rec ) 29 | #endif 30 | 31 | #ifdef TT_CONFIG_CMAP_FORMAT_6 32 | TTCMAPCITEM( tt_cmap6_class_rec ) 33 | #endif 34 | 35 | #ifdef TT_CONFIG_CMAP_FORMAT_8 36 | TTCMAPCITEM( tt_cmap8_class_rec ) 37 | #endif 38 | 39 | #ifdef TT_CONFIG_CMAP_FORMAT_10 40 | TTCMAPCITEM( tt_cmap10_class_rec ) 41 | #endif 42 | 43 | #ifdef TT_CONFIG_CMAP_FORMAT_12 44 | TTCMAPCITEM( tt_cmap12_class_rec ) 45 | #endif 46 | 47 | #ifdef TT_CONFIG_CMAP_FORMAT_13 48 | TTCMAPCITEM( tt_cmap13_class_rec ) 49 | #endif 50 | 51 | #ifdef TT_CONFIG_CMAP_FORMAT_14 52 | TTCMAPCITEM( tt_cmap14_class_rec ) 53 | #endif 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttcpal.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcpal.h 4 | * 5 | * TrueType and OpenType color palette support (specification). 6 | * 7 | * Copyright (C) 2018-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * Originally written by Shao Yu Zhang . 11 | * 12 | * This file is part of the FreeType project, and may only be used, 13 | * modified, and distributed under the terms of the FreeType project 14 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 15 | * this file you indicate that you have read the license and 16 | * understand and accept it fully. 17 | * 18 | */ 19 | 20 | 21 | #ifndef __TTCPAL_H__ 22 | #define __TTCPAL_H__ 23 | 24 | 25 | #include "ttload.h" 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_LOCAL( FT_Error ) 32 | tt_face_load_cpal( TT_Face face, 33 | FT_Stream stream ); 34 | 35 | FT_LOCAL( void ) 36 | tt_face_free_cpal( TT_Face face ); 37 | 38 | FT_LOCAL( FT_Error ) 39 | tt_face_palette_set( TT_Face face, 40 | FT_UInt palette_index ); 41 | 42 | 43 | FT_END_HEADER 44 | 45 | 46 | #endif /* __TTCPAL_H__ */ 47 | 48 | /* END */ 49 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttkern.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttkern.h 4 | * 5 | * Load the basic TrueType kerning table. This doesn't handle 6 | * kerning data within the GPOS table at the moment. 7 | * 8 | * Copyright (C) 1996-2021 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef TTKERN_H_ 21 | #define TTKERN_H_ 22 | 23 | 24 | #include 25 | #include 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | FT_LOCAL( FT_Error ) 32 | tt_face_load_kern( TT_Face face, 33 | FT_Stream stream ); 34 | 35 | FT_LOCAL( void ) 36 | tt_face_done_kern( TT_Face face ); 37 | 38 | FT_LOCAL( FT_Int ) 39 | tt_face_get_kerning( TT_Face face, 40 | FT_UInt left_glyph, 41 | FT_UInt right_glyph ); 42 | 43 | #define TT_FACE_HAS_KERNING( face ) ( (face)->kern_avail_bits != 0 ) 44 | 45 | 46 | FT_END_HEADER 47 | 48 | #endif /* TTKERN_H_ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttmtx.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttmtx.h 4 | * 5 | * Load the metrics tables common to TTF and OTF fonts (specification). 6 | * 7 | * Copyright (C) 2006-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTMTX_H_ 20 | #define TTMTX_H_ 21 | 22 | 23 | #include 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | 30 | FT_LOCAL( FT_Error ) 31 | tt_face_load_hhea( TT_Face face, 32 | FT_Stream stream, 33 | FT_Bool vertical ); 34 | 35 | 36 | FT_LOCAL( FT_Error ) 37 | tt_face_load_hmtx( TT_Face face, 38 | FT_Stream stream, 39 | FT_Bool vertical ); 40 | 41 | 42 | FT_LOCAL( void ) 43 | tt_face_get_metrics( TT_Face face, 44 | FT_Bool vertical, 45 | FT_UInt gindex, 46 | FT_Short* abearing, 47 | FT_UShort* aadvance ); 48 | 49 | FT_END_HEADER 50 | 51 | #endif /* TTMTX_H_ */ 52 | 53 | 54 | /* END */ 55 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttpost.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttpost.h 4 | * 5 | * PostScript name table processing for TrueType and OpenType fonts 6 | * (specification). 7 | * 8 | * Copyright (C) 1996-2021 by 9 | * David Turner, Robert Wilhelm, and Werner Lemberg. 10 | * 11 | * This file is part of the FreeType project, and may only be used, 12 | * modified, and distributed under the terms of the FreeType project 13 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 14 | * this file you indicate that you have read the license and 15 | * understand and accept it fully. 16 | * 17 | */ 18 | 19 | 20 | #ifndef TTPOST_H_ 21 | #define TTPOST_H_ 22 | 23 | 24 | #include 25 | #include FT_CONFIG_CONFIG_H 26 | #include 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | FT_LOCAL( FT_Error ) 33 | tt_face_get_ps_name( TT_Face face, 34 | FT_UInt idx, 35 | FT_String** PSname ); 36 | 37 | FT_LOCAL( void ) 38 | tt_face_free_ps_names( TT_Face face ); 39 | 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* TTPOST_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/ttsbit.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttsbit.h 4 | * 5 | * TrueType and OpenType embedded bitmap support (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTSBIT_H_ 20 | #define TTSBIT_H_ 21 | 22 | 23 | #include "ttload.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_LOCAL( FT_Error ) 30 | tt_face_load_sbit( TT_Face face, 31 | FT_Stream stream ); 32 | 33 | FT_LOCAL( void ) 34 | tt_face_free_sbit( TT_Face face ); 35 | 36 | 37 | FT_LOCAL( FT_Error ) 38 | tt_face_set_sbit_strike( TT_Face face, 39 | FT_Size_Request req, 40 | FT_ULong* astrike_index ); 41 | 42 | FT_LOCAL( FT_Error ) 43 | tt_face_load_strike_metrics( TT_Face face, 44 | FT_ULong strike_index, 45 | FT_Size_Metrics* metrics ); 46 | 47 | FT_LOCAL( FT_Error ) 48 | tt_face_load_sbit_image( TT_Face face, 49 | FT_ULong strike_index, 50 | FT_UInt glyph_index, 51 | FT_UInt load_flags, 52 | FT_Stream stream, 53 | FT_Bitmap *map, 54 | TT_SBit_MetricsRec *metrics ); 55 | 56 | 57 | FT_END_HEADER 58 | 59 | #endif /* TTSBIT_H_ */ 60 | 61 | 62 | /* END */ 63 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/sfnt/woff2tags.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * woff2tags.h 4 | * 5 | * WOFF2 Font table tags (specification). 6 | * 7 | * Copyright (C) 2019-2021 by 8 | * Nikhil Ramakrishnan, David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef WOFF2TAGS_H 20 | #define WOFF2TAGS_H 21 | 22 | 23 | #include 24 | #include 25 | 26 | 27 | FT_BEGIN_HEADER 28 | 29 | #ifdef FT_CONFIG_OPTION_USE_BROTLI 30 | 31 | FT_LOCAL( FT_Tag ) 32 | woff2_known_tags( FT_Byte index ); 33 | 34 | #endif 35 | 36 | FT_END_HEADER 37 | 38 | #endif /* WOFF2TAGS_H */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/smooth/ftgrays.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftgrays.h 4 | * 5 | * FreeType smooth renderer declaration 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTGRAYS_H_ 20 | #define FTGRAYS_H_ 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | 27 | #ifdef STANDALONE_ 28 | #include "ftimage.h" 29 | #else 30 | #include 31 | #include 32 | #endif 33 | 34 | 35 | /************************************************************************** 36 | * 37 | * To make ftgrays.h independent from configuration files we check 38 | * whether FT_EXPORT_VAR has been defined already. 39 | * 40 | * On some systems and compilers (Win32 mostly), an extra keyword is 41 | * necessary to compile the library as a DLL. 42 | */ 43 | #ifndef FT_EXPORT_VAR 44 | #define FT_EXPORT_VAR( x ) extern x 45 | #endif 46 | 47 | FT_EXPORT_VAR( const FT_Raster_Funcs ) ft_grays_raster; 48 | 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif /* FTGRAYS_H_ */ 55 | 56 | 57 | /* END */ 58 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/smooth/ftsmerrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmerrs.h 4 | * 5 | * smooth renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the smooth renderer error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FTSMERRS_H_ 27 | #define FTSMERRS_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX Smooth_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Smooth 36 | 37 | #include 38 | 39 | #endif /* FTSMERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/smooth/ftsmooth.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmooth.h 4 | * 5 | * Anti-aliasing renderer interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef FTSMOOTH_H_ 20 | #define FTSMOOTH_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_DECLARE_RENDERER( ft_smooth_renderer_class ) 30 | 31 | 32 | FT_END_HEADER 33 | 34 | #endif /* FTSMOOTH_H_ */ 35 | 36 | 37 | /* END */ 38 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/smooth/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 smooth renderer module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += SMOOTH_RENDERER 17 | 18 | define SMOOTH_RENDERER 19 | $(OPEN_DRIVER) FT_Renderer_Class, ft_smooth_renderer_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/smooth/smooth.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * smooth.c 4 | * 5 | * FreeType anti-aliasing rasterer module component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "ftgrays.c" 22 | #include "ftsmooth.c" 23 | 24 | 25 | /* END */ 26 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/tools/cordic.py: -------------------------------------------------------------------------------- 1 | # compute arctangent table for CORDIC computations in fttrigon.c 2 | import sys, math 3 | 4 | #units = 64*65536.0 # don't change !! 5 | units = 180 * 2**16 6 | scale = units/math.pi 7 | shrink = 1.0 8 | comma = "" 9 | 10 | print "" 11 | print "table of arctan( 1/2^n ) for PI = " + repr(units/65536.0) + " units" 12 | 13 | for n in range(1,32): 14 | 15 | x = 0.5**n # tangent value 16 | 17 | angle = math.atan(x) # arctangent 18 | angle2 = round(angle*scale) # arctangent in FT_Angle units 19 | 20 | if angle2 <= 0: 21 | break 22 | 23 | sys.stdout.write( comma + repr( int(angle2) ) ) 24 | comma = ", " 25 | 26 | shrink /= math.sqrt( 1 + x*x ) 27 | 28 | print 29 | print "shrink factor = " + repr( shrink ) 30 | print "shrink factor 2 = " + repr( int( shrink * (2**32) ) ) 31 | print "expansion factor = " + repr( 1/shrink ) 32 | print "" 33 | 34 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/tools/ftrandom/Makefile: -------------------------------------------------------------------------------- 1 | # TOP_DIR and OBJ_DIR should be set by the user to the right directories, 2 | # if necessary. 3 | 4 | TOP_DIR ?= ../../.. 5 | OBJ_DIR ?= $(TOP_DIR)/objs 6 | 7 | 8 | # The setup below is for gcc on a Unix-like platform, 9 | # where FreeType has been set up to create a static library 10 | # (which is the default). 11 | 12 | VPATH = $(OBJ_DIR) \ 13 | $(OBJ_DIR)/.libs 14 | 15 | SRC_DIR = $(TOP_DIR)/src/tools/ftrandom 16 | 17 | CC = gcc 18 | WFLAGS = -Wmissing-prototypes \ 19 | -Wunused \ 20 | -Wimplicit \ 21 | -Wreturn-type \ 22 | -Wparentheses \ 23 | -pedantic \ 24 | -Wformat \ 25 | -Wchar-subscripts \ 26 | -Wsequence-point 27 | CFLAGS = $(WFLAGS) \ 28 | -g 29 | INCLUDES = -I $(TOP_DIR)/include 30 | LDFLAGS = 31 | LIBS = -lm \ 32 | -lz \ 33 | -lpng \ 34 | -lbz2 \ 35 | -lharfbuzz 36 | 37 | all: $(OBJ_DIR)/ftrandom 38 | 39 | $(OBJ_DIR)/ftrandom.o: $(SRC_DIR)/ftrandom.c 40 | $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< 41 | 42 | $(OBJ_DIR)/ftrandom: $(OBJ_DIR)/ftrandom.o libfreetype.a 43 | $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) 44 | 45 | # EOF 46 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/tools/no-copyright: -------------------------------------------------------------------------------- 1 | # Files that don't get a copyright, or which are taken from elsewhere. 2 | # 3 | # All lines in this file are patterns, including the comment lines; this 4 | # means that e.g. `FTL.TXT' matches all files that have this string in 5 | # the file name (including the path relative to the current directory, 6 | # always starting with `./'). 7 | # 8 | # Don't put empty lines into this file! 9 | # 10 | builds/unix/pkg.m4 11 | # 12 | docs/FTL.TXT 13 | docs/GPLv2.TXT 14 | # 15 | include/freetype/internal/fthash.h 16 | # 17 | src/base/fthash.c 18 | src/base/md5.c 19 | src/base/md5.h 20 | # 21 | src/bdf/bdf.c 22 | src/bdf/bdf.h 23 | src/bdf/bdfdrivr.c 24 | src/bdf/bdfdrivr.h 25 | src/bdf/bdferror.h 26 | src/bdf/bdflib.c 27 | src/bdf/module.mk 28 | src/bdf/README 29 | src/bdf/rules.mk 30 | # 31 | src/pcf/module.mk 32 | src/pcf/pcf.c 33 | src/pcf/pcf.h 34 | src/pcf/pcfdrivr.c 35 | src/pcf/pcfdrivr.h 36 | src/pcf/pcferror.h 37 | src/pcf/pcfread.c 38 | src/pcf/pcfread.h 39 | src/pcf/pcfutil.c 40 | src/pcf/pcfutil.h 41 | src/pcf/README 42 | src/pcf/rules.mk 43 | # 44 | src/gzip/adler32.c 45 | src/gzip/infblock.c 46 | src/gzip/infblock.h 47 | src/gzip/infcodes.c 48 | src/gzip/infcodes.h 49 | src/gzip/inffixed.h 50 | src/gzip/inflate.c 51 | src/gzip/inftrees.c 52 | src/gzip/inftrees.h 53 | src/gzip/infutil.c 54 | src/gzip/infutil.h 55 | src/gzip/zconf.h 56 | src/gzip/zlib.h 57 | src/gzip/zutil.c 58 | src/gzip/zutil.h 59 | # 60 | src/tools/apinames.c 61 | src/tools/ftrandom/ftrandom.c 62 | # 63 | subprojects/dlg 64 | # 65 | # EOF 66 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/tools/update-copyright: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Run the `update-copyright-year' script on all files in the git repository, 4 | # taking care of exceptions stored in file `no-copyright'. 5 | 6 | topdir=`git rev-parse --show-toplevel` 7 | toolsdir=$topdir/src/tools 8 | 9 | git ls-files --full-name $topdir \ 10 | | sed 's|^|../../|' \ 11 | | grep -vFf $toolsdir/no-copyright \ 12 | | xargs $toolsdir/update-copyright-year 13 | 14 | # EOF 15 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/truetype/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 TrueType module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TRUETYPE_DRIVER 17 | 18 | define TRUETYPE_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, tt_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/truetype/truetype.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * truetype.c 4 | * 5 | * FreeType TrueType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "ttdriver.c" /* driver interface */ 22 | #include "ttgload.c" /* glyph loader */ 23 | #include "ttgxvar.c" /* gx distortable font */ 24 | #include "ttinterp.c" 25 | #include "ttobjs.c" /* object manager */ 26 | #include "ttpload.c" /* tables loader */ 27 | #include "ttsubpix.c" 28 | 29 | 30 | /* END */ 31 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/truetype/ttdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttdriver.h 4 | * 5 | * High-level TrueType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTDRIVER_H_ 20 | #define TTDRIVER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_DECLARE_DRIVER( tt_driver_class ) 29 | 30 | FT_END_HEADER 31 | 32 | #endif /* TTDRIVER_H_ */ 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/truetype/tterrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * tterrors.h 4 | * 5 | * TrueType error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the TrueType error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef TTERRORS_H_ 27 | #define TTERRORS_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX TT_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_TrueType 36 | 37 | #include 38 | 39 | #endif /* TTERRORS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/truetype/ttgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttgload.h 4 | * 5 | * TrueType Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef TTGLOAD_H_ 20 | #define TTGLOAD_H_ 21 | 22 | 23 | #include "ttobjs.h" 24 | 25 | #ifdef TT_USE_BYTECODE_INTERPRETER 26 | #include "ttinterp.h" 27 | #endif 28 | 29 | 30 | FT_BEGIN_HEADER 31 | 32 | 33 | FT_LOCAL( void ) 34 | TT_Init_Glyph_Loading( TT_Face face ); 35 | 36 | FT_LOCAL( void ) 37 | TT_Get_HMetrics( TT_Face face, 38 | FT_UInt idx, 39 | FT_Short* lsb, 40 | FT_UShort* aw ); 41 | 42 | FT_LOCAL( void ) 43 | TT_Get_VMetrics( TT_Face face, 44 | FT_UInt idx, 45 | FT_Pos yMax, 46 | FT_Short* tsb, 47 | FT_UShort* ah ); 48 | 49 | FT_LOCAL( FT_Error ) 50 | TT_Load_Glyph( TT_Size size, 51 | TT_GlyphSlot glyph, 52 | FT_UInt glyph_index, 53 | FT_Int32 load_flags ); 54 | 55 | 56 | FT_END_HEADER 57 | 58 | #endif /* TTGLOAD_H_ */ 59 | 60 | 61 | /* END */ 62 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type1 module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE1_DRIVER 17 | 18 | define TYPE1_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t1_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/t1afm.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1afm.h 4 | * 5 | * AFM support for Type 1 fonts (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1AFM_H_ 20 | #define T1AFM_H_ 21 | 22 | #include "t1objs.h" 23 | #include 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | FT_LOCAL( FT_Error ) 29 | T1_Read_Metrics( FT_Face face, 30 | FT_Stream stream ); 31 | 32 | FT_LOCAL( void ) 33 | T1_Done_Metrics( FT_Memory memory, 34 | AFM_FontInfo fi ); 35 | 36 | FT_LOCAL( void ) 37 | T1_Get_Kerning( AFM_FontInfo fi, 38 | FT_UInt glyph1, 39 | FT_UInt glyph2, 40 | FT_Vector* kerning ); 41 | 42 | FT_LOCAL( FT_Error ) 43 | T1_Get_Track_Kerning( FT_Face face, 44 | FT_Fixed ptsize, 45 | FT_Int degree, 46 | FT_Fixed* kerning ); 47 | 48 | FT_END_HEADER 49 | 50 | #endif /* T1AFM_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/t1driver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1driver.h 4 | * 5 | * High-level Type 1 driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1DRIVER_H_ 20 | #define T1DRIVER_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) t1_driver_class; 29 | 30 | FT_END_HEADER 31 | 32 | #endif /* T1DRIVER_H_ */ 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/t1errors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1errors.h 4 | * 5 | * Type 1 error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Type 1 error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef T1ERRORS_H_ 26 | #define T1ERRORS_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX T1_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_Type1 35 | 36 | #include 37 | 38 | #endif /* T1ERRORS_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/t1gload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1gload.h 4 | * 5 | * Type 1 Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T1GLOAD_H_ 20 | #define T1GLOAD_H_ 21 | 22 | 23 | #include "t1objs.h" 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | FT_LOCAL( FT_Error ) 30 | T1_Compute_Max_Advance( T1_Face face, 31 | FT_Pos* max_advance ); 32 | 33 | FT_LOCAL( FT_Error ) 34 | T1_Get_Advances( FT_Face face, 35 | FT_UInt first, 36 | FT_UInt count, 37 | FT_Int32 load_flags, 38 | FT_Fixed* advances ); 39 | 40 | FT_LOCAL( FT_Error ) 41 | T1_Load_Glyph( FT_GlyphSlot glyph, 42 | FT_Size size, 43 | FT_UInt glyph_index, 44 | FT_Int32 load_flags ); 45 | 46 | 47 | FT_END_HEADER 48 | 49 | #endif /* T1GLOAD_H_ */ 50 | 51 | 52 | /* END */ 53 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type1/type1.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1.c 4 | * 5 | * FreeType Type 1 driver component (body only). 6 | * 7 | * Copyright (C) 1996-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "t1afm.c" 22 | #include "t1driver.c" 23 | #include "t1gload.c" 24 | #include "t1load.c" 25 | #include "t1objs.c" 26 | #include "t1parse.c" 27 | 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type42/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type42 module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2002-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += TYPE42_DRIVER 17 | 18 | define TYPE42_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, t42_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type42/t42drivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42drivr.h 4 | * 5 | * High-level Type 42 driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * Roberto Alameda. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T42DRIVR_H_ 20 | #define T42DRIVR_H_ 21 | 22 | 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_EXPORT_VAR( const FT_Driver_ClassRec ) t42_driver_class; 29 | 30 | FT_END_HEADER 31 | 32 | 33 | #endif /* T42DRIVR_H_ */ 34 | 35 | 36 | /* END */ 37 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type42/t42error.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42error.h 4 | * 5 | * Type 42 error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Type 42 error enumeration constants. 22 | * 23 | */ 24 | 25 | #ifndef T42ERROR_H_ 26 | #define T42ERROR_H_ 27 | 28 | #include 29 | 30 | #undef FTERRORS_H_ 31 | 32 | #undef FT_ERR_PREFIX 33 | #define FT_ERR_PREFIX T42_Err_ 34 | #define FT_ERR_BASE FT_Mod_Err_Type42 35 | 36 | #include 37 | 38 | #endif /* T42ERROR_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type42/t42types.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42types.h 4 | * 5 | * Type 42 font data types (specification only). 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * Roberto Alameda. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #ifndef T42TYPES_H_ 20 | #define T42TYPES_H_ 21 | 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | 29 | FT_BEGIN_HEADER 30 | 31 | 32 | typedef struct T42_FaceRec_ 33 | { 34 | FT_FaceRec root; 35 | T1_FontRec type1; 36 | const void* psnames; 37 | const void* psaux; 38 | #if 0 39 | const void* afm_data; 40 | #endif 41 | FT_Byte* ttf_data; 42 | FT_Long ttf_size; 43 | FT_Face ttf_face; 44 | FT_CharMapRec charmaprecs[2]; 45 | FT_CharMap charmaps[2]; 46 | PS_UnicodesRec unicode_map; 47 | 48 | } T42_FaceRec, *T42_Face; 49 | 50 | 51 | FT_END_HEADER 52 | 53 | #endif /* T42TYPES_H_ */ 54 | 55 | 56 | /* END */ 57 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/type42/type42.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type42.c 4 | * 5 | * FreeType Type 42 driver component. 6 | * 7 | * Copyright (C) 2002-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | #define FT_MAKE_OPTION_SINGLE_OBJECT 20 | 21 | #include "t42drivr.c" 22 | #include "t42objs.c" 23 | #include "t42parse.c" 24 | 25 | 26 | /* END */ 27 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/winfonts/fnterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fnterrs.h 4 | * 5 | * Win FNT/FON error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2021 by 8 | * David Turner, Robert Wilhelm, and Werner Lemberg. 9 | * 10 | * This file is part of the FreeType project, and may only be used, 11 | * modified, and distributed under the terms of the FreeType project 12 | * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 | * this file you indicate that you have read the license and 14 | * understand and accept it fully. 15 | * 16 | */ 17 | 18 | 19 | /************************************************************************** 20 | * 21 | * This file is used to define the Windows FNT/FON error enumeration 22 | * constants. 23 | * 24 | */ 25 | 26 | #ifndef FNTERRS_H_ 27 | #define FNTERRS_H_ 28 | 29 | #include 30 | 31 | #undef FTERRORS_H_ 32 | 33 | #undef FT_ERR_PREFIX 34 | #define FT_ERR_PREFIX FNT_Err_ 35 | #define FT_ERR_BASE FT_Mod_Err_Winfonts 36 | 37 | #include 38 | 39 | #endif /* FNTERRS_H_ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/winfonts/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Windows FNT/FON module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | FTMODULE_H_COMMANDS += WINDOWS_DRIVER 17 | 18 | define WINDOWS_DRIVER 19 | $(OPEN_DRIVER) FT_Driver_ClassRec, winfnt_driver_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /source/third_party/FreeType/src/winfonts/rules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Windows FNT/FON driver configuration rules 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2021 by 7 | # David Turner, Robert Wilhelm, and Werner Lemberg. 8 | # 9 | # This file is part of the FreeType project, and may only be used, modified, 10 | # and distributed under the terms of the FreeType project license, 11 | # LICENSE.TXT. By continuing to use, modify, or distribute this file you 12 | # indicate that you have read the license and understand and accept it 13 | # fully. 14 | 15 | 16 | # Windows driver directory 17 | # 18 | FNT_DIR := $(SRC_DIR)/winfonts 19 | 20 | 21 | FNT_COMPILE := $(CC) $(ANSIFLAGS) \ 22 | $I$(subst /,$(COMPILER_SEP),$(FNT_DIR)) \ 23 | $(INCLUDE_FLAGS) \ 24 | $(FT_CFLAGS) 25 | 26 | 27 | # Windows driver sources (i.e., C files) 28 | # 29 | FNT_DRV_SRC := $(FNT_DIR)/winfnt.c 30 | 31 | # Windows driver headers 32 | # 33 | FNT_DRV_H := $(FNT_DRV_SRC:%.c=%.h) \ 34 | $(FNT_DIR)/fnterrs.h 35 | 36 | 37 | # Windows driver object(s) 38 | # 39 | # FNT_DRV_OBJ_M is used during `multi' builds 40 | # FNT_DRV_OBJ_S is used during `single' builds 41 | # 42 | FNT_DRV_OBJ_M := $(FNT_DRV_SRC:$(FNT_DIR)/%.c=$(OBJ_DIR)/%.$O) 43 | FNT_DRV_OBJ_S := $(OBJ_DIR)/winfnt.$O 44 | 45 | # Windows driver source file for single build 46 | # 47 | FNT_DRV_SRC_S := $(FNT_DIR)/winfnt.c 48 | 49 | 50 | # Windows driver - single object 51 | # 52 | $(FNT_DRV_OBJ_S): $(FNT_DRV_SRC_S) $(FNT_DRV_SRC) $(FREETYPE_H) $(FNT_DRV_H) 53 | $(FNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(FNT_DRV_SRC_S)) 54 | 55 | 56 | # Windows driver - multiple objects 57 | # 58 | $(OBJ_DIR)/%.$O: $(FNT_DIR)/%.c $(FREETYPE_H) $(FNT_DRV_H) 59 | $(FNT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) 60 | 61 | 62 | # update main driver object lists 63 | # 64 | DRV_OBJS_S += $(FNT_DRV_OBJ_S) 65 | DRV_OBJS_M += $(FNT_DRV_OBJ_M) 66 | 67 | 68 | # EOF 69 | -------------------------------------------------------------------------------- /source/third_party/README.md: -------------------------------------------------------------------------------- 1 | # Third Party Libraries 2 | 3 | ## FreeType 4 | 5 | - Source: https://www.freetype.org 6 | - Version: 2.11.1 7 | 8 | Files stripped down to just `include/`, `src/` except Jamfiles and tools subfolder, and license files. Have chosen FreeType License for this project. Provided freetype_all.c as a unity build to include or compile easily 9 | 10 | ## SDL2 11 | 12 | - Source: https://github.com/libsdl-org/SDL 13 | - Version: 2.0.8 14 | 15 | Just includes and binaries 16 | 17 | ## Luau 18 | 19 | - Source: https://github.com/luau-lang/luau 20 | - Version: 0.636 21 | 22 | Changed luau VM to use abort rather than exception handling 23 | 24 | ## Sokol 25 | 26 | - Source: https://github.com/floooh/sokol 27 | - Version: Pulled at change b1221d1 28 | 29 | Removed everything except sokol_gfx 30 | 31 | ## Sokol Tools 32 | 33 | - Source: https://github.com/floooh/sokol-tools-bin 34 | - Version: Pulled at change 1528521 35 | 36 | Removed the fips files and some extraneous text files 37 | 38 | ## stb 39 | 40 | - Source: https://github.com/nothings/stb 41 | - Version: Pulled at change f75e8d1 42 | 43 | Just stb_image used here, everything else removed 44 | 45 | ## lz4 46 | 47 | - Source: https://github.com/lz4/lz4/ 48 | - Version: v1.10.0 49 | 50 | Just the base lz4 files here, everything else removed and a custom cmakelists for it 51 | -------------------------------------------------------------------------------- /source/third_party/SDL2/BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL bug tracker, here: 3 | 4 | https://bugzilla.libsdl.org/ 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help at the SDL forums/mailing list: 11 | 12 | https://discourse.libsdl.org/ 13 | 14 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as 15 | bugs discussed on the mailing list may be forgotten or missed. 16 | 17 | -------------------------------------------------------------------------------- /source/third_party/SDL2/COPYING.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | -------------------------------------------------------------------------------- /source/third_party/SDL2/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games 6 | and emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | https://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /source/third_party/SDL2/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | 4 | (SDL) 5 | 6 | Version 2.0 7 | 8 | --- 9 | https://www.libsdl.org/ 10 | 11 | Simple DirectMedia Layer is a cross-platform development library designed 12 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 13 | hardware via OpenGL and Direct3D. It is used by video playback software, 14 | emulators, and popular games including Valve's award winning catalog 15 | and many Humble Bundle games. 16 | 17 | More extensive documentation is available in the docs directory, starting 18 | with README.md 19 | 20 | Enjoy! 21 | Sam Lantinga (slouken@libsdl.org) 22 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2017 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef SDLname_h_ 23 | #define SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #ifdef __IPHONEOS__ 30 | #include 31 | #include 32 | #else 33 | #include 34 | #include 35 | #endif 36 | 37 | #ifndef APIENTRY 38 | #define APIENTRY 39 | #endif 40 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_opengles2.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #ifndef _MSC_VER 30 | 31 | #ifdef __IPHONEOS__ 32 | #include 33 | #include 34 | #else 35 | #include 36 | #include 37 | #include 38 | #endif 39 | 40 | #else /* _MSC_VER */ 41 | 42 | /* OpenGL ES2 headers for Visual Studio */ 43 | #include "SDL_opengles2_khrplatform.h" 44 | #include "SDL_opengles2_gl2platform.h" 45 | #include "SDL_opengles2_gl2.h" 46 | #include "SDL_opengles2_gl2ext.h" 47 | 48 | #endif /* _MSC_VER */ 49 | 50 | #ifndef APIENTRY 51 | #define APIENTRY GL_APIENTRY 52 | #endif 53 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | /*#include */ 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl2platform_h_ */ 31 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-11914:f1084c419f33" 2 | #define SDL_REVISION_NUMBER 11914 3 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file SDL_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /source/third_party/SDL2/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2018 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #undef _begin_code_h 30 | 31 | /* Reset structure packing at previous byte alignment */ 32 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) 33 | #ifdef __BORLANDC__ 34 | #pragma nopackwarning 35 | #endif 36 | #pragma pack(pop) 37 | #endif /* Compiler needs structure packing set */ 38 | -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x64/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x64/SDL2.dll -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x64/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x64/SDL2.lib -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x64/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x64/SDL2main.lib -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x64/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x64/SDL2test.lib -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x86/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x86/SDL2.dll -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x86/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x86/SDL2.lib -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x86/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x86/SDL2main.lib -------------------------------------------------------------------------------- /source/third_party/SDL2/lib/x86/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/SDL2/lib/x86/SDL2test.lib -------------------------------------------------------------------------------- /source/third_party/lz4/LICENSE: -------------------------------------------------------------------------------- 1 | LZ4 Library 2 | Copyright (c) 2011-2020, Yann Collet 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without modification, 6 | are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, this 12 | list of conditions and the following disclaimer in the documentation and/or 13 | other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 19 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 22 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /source/third_party/sokol-tools/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | *.pyc 3 | -------------------------------------------------------------------------------- /source/third_party/sokol-tools/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Andre Weissflog 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /source/third_party/sokol-tools/README.md: -------------------------------------------------------------------------------- 1 | # sokol-tools-bin 2 | Binaries and fips integration for https://github.com/floooh/sokol-tools 3 | -------------------------------------------------------------------------------- /source/third_party/sokol-tools/bin/linux/sokol-shdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/sokol-tools/bin/linux/sokol-shdc -------------------------------------------------------------------------------- /source/third_party/sokol-tools/bin/osx/sokol-shdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/sokol-tools/bin/osx/sokol-shdc -------------------------------------------------------------------------------- /source/third_party/sokol-tools/bin/osx_arm64/sokol-shdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/sokol-tools/bin/osx_arm64/sokol-shdc -------------------------------------------------------------------------------- /source/third_party/sokol-tools/bin/win32/sokol-shdc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/source/third_party/sokol-tools/bin/win32/sokol-shdc.exe -------------------------------------------------------------------------------- /source/third_party/sokol/LICENSE: -------------------------------------------------------------------------------- 1 | zlib/libpng license 2 | 3 | Copyright (c) 2018 Andre Weissflog 4 | 5 | This software is provided 'as-is', without any express or implied warranty. 6 | In no event will the authors be held liable for any damages arising from the 7 | use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software in a 15 | product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. 23 | -------------------------------------------------------------------------------- /source/userdata.h: -------------------------------------------------------------------------------- 1 | // Copyright David Colson. All rights reserved. 2 | #pragma once 3 | 4 | struct lua_State; 5 | struct String; 6 | 7 | enum class Type:u8 { 8 | Float32, 9 | Int32, 10 | Int16, 11 | Uint8 12 | }; 13 | 14 | struct UserData { 15 | i32 width; 16 | i32 height; 17 | Type type; 18 | u8* pData; 19 | 20 | // used when the userdata contains an image 21 | sg_image img; 22 | bool dirty; 23 | bool dynamic; 24 | }; 25 | 26 | UserData* AllocUserData(lua_State* L, Type type, i32 width, i32 height); 27 | i64 GetUserDataSize(UserData* pUserData); 28 | void UpdateUserDataImage(UserData* pUserData); 29 | void ParseUserDataString(lua_State* L, String dataString, UserData* pUserData); 30 | void BindUserData(lua_State* L); 31 | -------------------------------------------------------------------------------- /source/virtual_filesystem.h: -------------------------------------------------------------------------------- 1 | // Copyright David Colson. All rights reserved. 2 | 3 | struct lua_State; 4 | 5 | bool VFSPathToRealPath(String vfsPath, String& outRealPath, Arena* pArena); 6 | void BindFileSystem(lua_State* L); 7 | -------------------------------------------------------------------------------- /system/shared/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/system/shared/Roboto-Bold.ttf -------------------------------------------------------------------------------- /system/shared/flycam.luau: -------------------------------------------------------------------------------- 1 | local module = {} 2 | 3 | module.camPitch = 0 4 | module.camYaw = 0 5 | module.camX = 0 6 | module.camY = 0 7 | module.camZ = 0 8 | 9 | function module.updateCamera(deltaTime: number) 10 | module.camPitch = module.camPitch + deltaTime * get_axis(Axis.right_y) 11 | module.camYaw = module.camYaw + deltaTime * get_axis(Axis.right_x) 12 | 13 | -- note this is maybe better generalized as us taking the basis vectors directly out of the 14 | -- rotation matrix, multiplying those by the input scalars and adding them all together 15 | 16 | -- forward back camera movement 17 | local speed = 5 18 | 19 | local forward = get_axis(Axis.left_y) * speed 20 | module.camZ = module.camZ - forward * math.cos(module.camYaw) * deltaTime 21 | module.camX = module.camX + forward * math.sin(module.camYaw) * deltaTime 22 | 23 | -- right left camera movement 24 | local right = get_axis(Axis.left_x) * speed 25 | module.camZ = module.camZ - right * math.sin(module.camYaw) * deltaTime 26 | module.camX = module.camX - right * math.cos(module.camYaw) * deltaTime 27 | 28 | -- up down camera movement 29 | local up = get_axis(Axis.trigger_right) * speed 30 | local down = get_axis(Axis.trigger_left) * speed 31 | module.camY = module.camY - deltaTime * up 32 | module.camY = module.camY + deltaTime * down 33 | end 34 | 35 | return module 36 | -------------------------------------------------------------------------------- /system/swamp/import_table.txt: -------------------------------------------------------------------------------- 1 | "assets_source/swamp/swamp.gltf" "swamp/swamp.scene" 3 1 133872005112065693 2 | -------------------------------------------------------------------------------- /system/swamp/main.luau: -------------------------------------------------------------------------------- 1 | local flyCam = include("flycam.luau") 2 | 3 | function start() 4 | state = {} 5 | 6 | state.mouseRelativeMode = true 7 | state.scene = load("swamp.scene") 8 | 9 | enable_mouse_relative_mode(state.mouseRelativeMode) 10 | end 11 | 12 | function update(deltaTime: number) 13 | set_clear_color(0.25, 0.25, 0.25, 1.0) 14 | set_cull_mode(2); 15 | 16 | if get_key_down(Key.escape) then 17 | state.mouseRelativeMode = not state.mouseRelativeMode 18 | enable_mouse_relative_mode(state.mouseRelativeMode) 19 | end 20 | 21 | if state.mouseRelativeMode then 22 | flyCam.updateCamera(deltaTime) 23 | end 24 | 25 | matrix_mode("Projection") 26 | perspective(320, 180, 0.001, 20, 60) 27 | 28 | matrix_mode("View") 29 | rotate(flyCam.camPitch, 1, 0, 0) 30 | rotate(flyCam.camYaw, 0, 1, 0) 31 | translate(flyCam.camX, flyCam.camY, flyCam.camZ) 32 | 33 | normals_mode("Custom") 34 | enable_lighting(true) 35 | ambient(0.4, 0.4, 0.4) 36 | light(0, -1, 1, 0, 1, 1, 1) 37 | 38 | enable_fog(true) 39 | set_fog_start(3.0) 40 | set_fog_end(40.0) 41 | set_fog_color(0.25, 0.25, 0.25) 42 | 43 | local texture = state.scene.textures.image0 44 | local mesh = state.scene.meshes.mesh0 45 | 46 | local floatsPerVertex = 12 47 | bind_texture(texture.data) 48 | 49 | begin_object_3d("Triangles") 50 | local vertices = mesh.vertices 51 | for i = 0, vertices:size()-1, floatsPerVertex do 52 | -- 0-2 is position 53 | -- 3-6 is color 54 | -- 7-8 is texcoord 55 | -- 9-11 is normal 56 | normal(vertices:get(i+9, 3)) 57 | color(vertices:get(i+3, 4)) 58 | texcoord(vertices:get(i+7, 2)) 59 | vertex(vertices:get(i, 3)) 60 | end 61 | end_object_3d() 62 | end 63 | 64 | function close() 65 | end 66 | -------------------------------------------------------------------------------- /system/swamp/swamp.scene: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/system/swamp/swamp.scene -------------------------------------------------------------------------------- /system/tank_demo/import_table.txt: -------------------------------------------------------------------------------- 1 | "assets_source/tank_demo/tank.gltf" "tank_demo/tank.scene" 3 1 133859216642764104 2 | -------------------------------------------------------------------------------- /system/tank_demo/tank.scene: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidColson/Polybox/76d2c60aa50efe1a410e60ae06e4bb9f11f850fe/system/tank_demo/tank.scene -------------------------------------------------------------------------------- /system/tank_demo/testModule.luau: -------------------------------------------------------------------------------- 1 | local module = {} 2 | 3 | function module.message() 4 | -- print("hello from module") 5 | set_clear_color(4.25, 0.25, 1.25, 1.0) 6 | end 7 | 8 | return module 9 | --------------------------------------------------------------------------------