├── vendor ├── .vendor-version ├── freetype │ ├── MSBuild.rsp │ ├── objs │ │ └── README │ ├── src │ │ ├── gzip │ │ │ ├── z_verbose.c │ │ │ ├── inffast.h │ │ │ └── README.freetype │ │ ├── tools │ │ │ ├── update-copyright │ │ │ ├── cordic.py │ │ │ └── ftrandom │ │ │ │ └── Makefile │ │ ├── psnames │ │ │ ├── psnames.c │ │ │ ├── module.mk │ │ │ ├── psmodule.h │ │ │ └── psnamerr.h │ │ ├── cff │ │ │ ├── module.mk │ │ │ ├── cff.c │ │ │ ├── cffdrivr.h │ │ │ └── cfferrs.h │ │ ├── svg │ │ │ ├── svg.c │ │ │ ├── module.mk │ │ │ ├── ftsvg.h │ │ │ └── svgtypes.h │ │ ├── otvalid │ │ │ ├── module.mk │ │ │ ├── otvalid.c │ │ │ ├── otvgpos.h │ │ │ ├── otvmod.h │ │ │ └── otverror.h │ │ ├── pfr │ │ │ ├── module.mk │ │ │ ├── pfr.c │ │ │ ├── pfrdrivr.h │ │ │ ├── pfrsbit.h │ │ │ ├── pfrcmap.h │ │ │ ├── pfrerror.h │ │ │ └── pfrgload.h │ │ ├── autofit │ │ │ ├── module.mk │ │ │ ├── autofit.c │ │ │ ├── afblue.cin │ │ │ ├── afws-decl.h │ │ │ ├── afindic.h │ │ │ ├── afdummy.h │ │ │ ├── afws-iter.h │ │ │ ├── aferrors.h │ │ │ ├── afranges.h │ │ │ └── afmodule.h │ │ ├── psaux │ │ │ ├── module.mk │ │ │ ├── psaux.c │ │ │ └── psauxerr.h │ │ ├── pshinter │ │ │ ├── module.mk │ │ │ ├── pshinter.c │ │ │ ├── pshmod.h │ │ │ └── pshnterr.h │ │ ├── raster │ │ │ ├── module.mk │ │ │ ├── raster.c │ │ │ ├── ftrend1.h │ │ │ ├── rasterrs.h │ │ │ └── ftraster.h │ │ ├── sfnt │ │ │ ├── module.mk │ │ │ ├── sfdriver.h │ │ │ ├── woff2tags.h │ │ │ ├── sfwoff.h │ │ │ ├── sfnt.c │ │ │ ├── sferrors.h │ │ │ ├── ttsvg.h │ │ │ ├── ttpost.h │ │ │ ├── ttbdf.h │ │ │ ├── ttcpal.h │ │ │ ├── pngshim.h │ │ │ ├── ttkern.h │ │ │ └── ttgpos.h │ │ ├── smooth │ │ │ ├── smooth.c │ │ │ ├── module.mk │ │ │ ├── ftsmooth.h │ │ │ └── ftsmerrs.h │ │ ├── type42 │ │ │ ├── type42.c │ │ │ ├── module.mk │ │ │ ├── t42drivr.h │ │ │ ├── t42error.h │ │ │ └── t42types.h │ │ ├── cid │ │ │ ├── module.mk │ │ │ ├── type1cid.c │ │ │ ├── cidriver.h │ │ │ ├── ciderrs.h │ │ │ └── cidload.h │ │ ├── type1 │ │ │ ├── module.mk │ │ │ ├── type1.c │ │ │ ├── t1driver.h │ │ │ ├── t1errors.h │ │ │ └── t1gload.h │ │ ├── truetype │ │ │ ├── module.mk │ │ │ ├── ttdriver.h │ │ │ ├── truetype.c │ │ │ └── tterrors.h │ │ ├── winfonts │ │ │ ├── module.mk │ │ │ └── fnterrs.h │ │ ├── gxvalid │ │ │ ├── module.mk │ │ │ ├── gxvmod.h │ │ │ └── gxvalid.c │ │ ├── sdf │ │ │ ├── sdf.c │ │ │ ├── ftsdferrs.h │ │ │ └── module.mk │ │ ├── dlg │ │ │ └── dlgwrap.c │ │ ├── cache │ │ │ ├── ftcache.c │ │ │ └── ftcerror.h │ │ ├── pcf │ │ │ ├── pcferror.h │ │ │ └── pcf.c │ │ ├── base │ │ │ ├── ftbase.c │ │ │ ├── ftfntfmt.c │ │ │ └── fterrors.c │ │ └── bdf │ │ │ └── bdf.c │ ├── tests │ │ ├── meson.build │ │ ├── README.md │ │ └── issue-1063 │ │ │ └── main.c │ ├── subprojects │ │ ├── harfbuzz.wrap │ │ ├── zlib.wrap │ │ └── libpng.wrap │ ├── Makefile │ ├── include │ │ ├── ft2build.h │ │ └── freetype │ │ │ └── internal │ │ │ ├── svginterface.h │ │ │ ├── services │ │ │ ├── svtteng.h │ │ │ ├── svwinfnt.h │ │ │ └── svkern.h │ │ │ └── ftpsprop.h │ └── devel │ │ └── ft2build.h ├── z_verbose.c └── package.json ├── .yarnrc.yml ├── .github ├── FUNDING.yml └── dependabot.yml ├── binding-options.js ├── .clangd ├── spec └── fonts │ └── OpenBaskerville-0.0.53 │ ├── AUTHORS.txt │ ├── tools │ ├── ufo2otf │ │ ├── __init__.py │ │ ├── __init__.pyc │ │ ├── compilers.pyc │ │ ├── diagnostics.pyc │ │ └── compilers.py │ └── ufo2otf.py │ ├── OpenBaskerville-0.0.53.eot │ ├── OpenBaskerville-0.0.53.otf │ ├── OpenBaskerville-0.0.53.svg │ ├── OpenBaskerville-0.0.53.ttf │ ├── OpenBaskerville-0.0.53.woff │ ├── specimens │ ├── 2576361151_1494f07cee_o.png │ ├── frys_baskervilleoldface.jpg │ └── stephenson-blake_original_scan.jpg │ └── OpenBaskerville.ufo │ ├── glyphs │ ├── C_R_.glif │ ├── _null.glif │ ├── _notdef.glif │ ├── space.glif │ ├── registered.glif │ ├── quoteright.glif │ ├── dotlessiacute.glif │ ├── dotlessigrave.glif │ ├── exclamdown.glif │ ├── asciicircum.glif │ ├── parenright.glif │ ├── periodcentered.glif │ ├── dotlessidieresis.glif │ ├── atilde.glif │ ├── dotlessicircumflex.glif │ ├── eacute.glif │ ├── egrave.glif │ ├── ntilde.glif │ ├── oacute.glif │ ├── ograve.glif │ ├── otilde.glif │ ├── scaron.glif │ ├── zcaron.glif │ ├── aring.glif │ ├── edieresis.glif │ ├── iacute.glif │ ├── igrave.glif │ ├── odieresis.glif │ ├── quoteleft.glif │ ├── A_acute.glif │ ├── A_grave.glif │ ├── A_ring.glif │ ├── A_tilde.glif │ ├── E_acute.glif │ ├── E_grave.glif │ ├── I_acute.glif │ ├── I_grave.glif │ ├── N_tilde.glif │ ├── O_tilde.glif │ ├── S_caron.glif │ ├── U_acute.glif │ ├── U_grave.glif │ ├── Z_caron.glif │ ├── aacute.glif │ ├── agrave.glif │ ├── ecircumflex.glif │ ├── ocircumflex.glif │ ├── uacute.glif │ ├── ugrave.glif │ ├── yacute.glif │ ├── bullet.glif │ ├── idieresis.glif │ ├── ydieresis.glif │ ├── A_dieresis.glif │ ├── E_dieresis.glif │ ├── I_dieresis.glif │ ├── U_dieresis.glif │ ├── Y_dieresis.glif │ ├── adieresis.glif │ ├── icircumflex.glif │ ├── quotedblleft.glif │ ├── udieresis.glif │ ├── A_circumflex.glif │ ├── E_circumflex.glif │ ├── I_circumflex.glif │ ├── O_acute.glif │ ├── O_grave.glif │ ├── U_circumflex.glif │ ├── Y_acute.glif │ ├── acircumflex.glif │ ├── colon.glif │ ├── ucircumflex.glif │ ├── O_dieresis.glif │ ├── O_circumflex.glif │ ├── O_slash.glif │ ├── oslash.glif │ ├── equal.glif │ ├── hyphen.glif │ ├── caron.glif │ ├── circumflex.glif │ ├── period.glif │ ├── plus.glif │ ├── multiply.glif │ ├── parenleft.glif │ ├── acute.glif │ ├── grave.glif │ ├── comma.glif │ ├── l.glif │ ├── asciitilde.glif │ ├── tilde.glif │ ├── z.glif │ ├── Z_.glif │ ├── dotlessi.glif │ ├── one.glif │ ├── exclam.glif │ ├── seven.glif │ ├── zero.glif │ ├── O_.glif │ ├── t.glif │ ├── ring.glif │ ├── I_.glif │ ├── o.glif │ ├── L_.glif │ ├── dieresis.glif │ └── T_.glif │ ├── metainfo.plist │ └── features.fea ├── src ├── enums.h ├── util.h └── util.cc ├── index.js ├── .gitattributes ├── .gitignore ├── binding.gyp ├── example ├── bitmap.js └── render.js ├── LICENSE └── README.md /vendor/.vendor-version: -------------------------------------------------------------------------------- 1 | freetype-2.13.3 -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [julusian, aminya] 2 | polar: aminya 3 | patreon: aminya 4 | -------------------------------------------------------------------------------- /binding-options.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | name: 'freetype2', 3 | napi_versions: [7], 4 | } -------------------------------------------------------------------------------- /.clangd: -------------------------------------------------------------------------------- 1 | CompileFlags: 2 | CompilationDatabase: build/Debug 3 | Remove: ["-arch arm64"] 4 | -------------------------------------------------------------------------------- /vendor/freetype/MSBuild.rsp: -------------------------------------------------------------------------------- 1 | #/p:WindowsTargetPlatformVersion=10.0.16299.0 2 | /p:Configuration="Release" 3 | -------------------------------------------------------------------------------- /vendor/freetype/objs/README: -------------------------------------------------------------------------------- 1 | This directory contains all the object files created when building the 2 | library. 3 | -------------------------------------------------------------------------------- /vendor/z_verbose.c: -------------------------------------------------------------------------------- 1 | /* Define z_verbose for debug builds */ 2 | #ifdef DEBUG 3 | int z_verbose = 0; 4 | #endif 5 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | James Puckett 2 | 3 | Rob Mientjes -------------------------------------------------------------------------------- /src/enums.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | void InitializeEnums(const Napi::Env& env, Napi::Object& exports); 6 | -------------------------------------------------------------------------------- /vendor/freetype/src/gzip/z_verbose.c: -------------------------------------------------------------------------------- 1 | /* Define z_verbose for debug builds */ 2 | #ifdef DEBUG 3 | int z_verbose = 0; 4 | #endif 5 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/__init__.py: -------------------------------------------------------------------------------- 1 | from compilers import Compiler 2 | from diagnostics import diagnostics, FontError -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.eot -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.otf -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.svg -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.ttf -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.woff -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/__init__.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/__init__.pyc -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/compilers.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/compilers.pyc -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/diagnostics.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/diagnostics.pyc -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/specimens/2576361151_1494f07cee_o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/specimens/2576361151_1494f07cee_o.png -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/specimens/frys_baskervilleoldface.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/specimens/frys_baskervilleoldface.jpg -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/specimens/stephenson-blake_original_scan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ericfreese/node-freetype2/HEAD/spec/fonts/OpenBaskerville-0.0.53/specimens/stephenson-blake_original_scan.jpg -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/C_R_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/_null.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/_notdef.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // Will load a compiled build if present or a prebuild. 2 | // If no build if found it will throw an exception 3 | module.exports = require("pkg-prebuilds/bindings")( 4 | __dirname, 5 | require("./binding-options") 6 | ); 7 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/space.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/registered.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # line endings 2 | * text=auto eol=lf 3 | *.{cmd,[cC][mM][dD]} text eol=crlf 4 | *.{bat,[bB][aA][tT]} text eol=crlf 5 | *.{vcxproj,vcxproj.filters} text eol=crlf 6 | 7 | # autogenerated files 8 | dist/ -diff 9 | package-lock.json -diff 10 | pnpm-lock.yaml -diff 11 | -------------------------------------------------------------------------------- /vendor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "vendor": "tsx ./download-vendor.mts" 4 | }, 5 | "devDependencies": { 6 | "@napi-rs/lzma": "^1.4.1", 7 | "node-downloader-helper": "^2.1.9", 8 | "tar": "^7.4.3", 9 | "tsx": "^4.19.3" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/quoteright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dotlessiacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dotlessigrave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/exclamdown.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/asciicircum.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/parenright.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/periodcentered.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dotlessidieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/atilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dotlessicircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/eacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/egrave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ntilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/oacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ograve.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/otilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/scaron.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/zcaron.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/aring.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/edieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/iacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/igrave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/odieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/quoteleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_ring.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_tilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/E_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/E_grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/I_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/I_grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/N_tilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_tilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/S_caron.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/U_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/U_grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/Z_caron.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/aacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/agrave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ecircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ocircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/uacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ugrave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/yacute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/bullet.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/idieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ydieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/E_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/I_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/U_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/Y_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/adieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/icircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/quotedblleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/udieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/A_circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/E_circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/I_circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/U_circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/Y_acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/acircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/colon.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ucircumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /*.node.gz 2 | /*.tgz 3 | /build/ 4 | node_modules/ 5 | /npm-* 6 | /temp/ 7 | /prebuilds 8 | /.vscode 9 | /example/*-output.png 10 | /spec/schema.json 11 | /*.log 12 | /vendor/freetype.tar 13 | /vendor/freetype/builds 14 | /vendor/freetype/docs 15 | /vendor/freetype/ChangeLog* 16 | /vendor/freetype/.clang-format 17 | 18 | package-lock.json 19 | .yarn 20 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /vendor/freetype/tests/meson.build: -------------------------------------------------------------------------------- 1 | test_issue_1063 = executable('issue-1063', 2 | files([ 'issue-1063/main.c' ]), 3 | dependencies: freetype_dep, 4 | ) 5 | 6 | test_env = ['FREETYPE_TESTS_DATA_DIR=' 7 | + join_paths(meson.current_source_dir(), 'data')] 8 | 9 | test('issue-1063', 10 | test_issue_1063, 11 | env: test_env, 12 | suite: 'regression') 13 | 14 | # EOF 15 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "github-actions" 4 | directory: "/" 5 | schedule: 6 | interval: "weekly" 7 | 8 | - package-ecosystem: "npm" 9 | directory: "/" 10 | schedule: 11 | interval: "daily" 12 | # Disable version updates for npm dependencies (we only want security updates) 13 | open-pull-requests-limit: 0 14 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/metainfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | creator 6 | org.robofab.ufoLib 7 | formatVersion 8 | 2 9 | 10 | 11 | -------------------------------------------------------------------------------- /vendor/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=`dirname $0` 8 | 9 | git ls-files --full-name $topdir \ 10 | | sed "s|^|$topdir/|" \ 11 | | grep -vFf $toolsdir/no-copyright \ 12 | | xargs $toolsdir/update-copyright-year 13 | 14 | # EOF 15 | -------------------------------------------------------------------------------- /vendor/freetype/src/gzip/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 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 | static void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start); 12 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_slash.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/oslash.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /vendor/freetype/subprojects/harfbuzz.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = harfbuzz-5.2.0 3 | source_url = https://github.com/harfbuzz/harfbuzz/releases/download/5.2.0/harfbuzz-5.2.0.tar.xz 4 | source_filename = harfbuzz-5.2.0.tar.xz 5 | source_hash = 735a94917b47936575acb4d4fa7e7986522f8a89527e4635721474dee2bc942c 6 | wrapdb_version = 5.2.0-1 7 | 8 | [provide] 9 | harfbuzz = libharfbuzz_dep 10 | harfbuzz-icu = libharfbuzz_icu_dep 11 | harfbuzz-subset = libharfbuzz_subset_dep 12 | harfbuzz-gobject = libharfbuzz_gobject_dep 13 | -------------------------------------------------------------------------------- /src/util.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | #include FT_FREETYPE_H 7 | 8 | void throwJsException(const Napi::Env& env, FT_Error errorCode); 9 | 10 | bool validateProp(const Napi::Env& env, bool isCorrect, const char* propName); 11 | 12 | bool validatePropsLength(const Napi::Env& env, const Napi::CallbackInfo &info, unsigned int minLength); 13 | 14 | bool checkProperty(const Napi::Object& obj, const char* name); 15 | 16 | struct InstanceData { 17 | FT_Library library; 18 | Napi::FunctionReference fontFace; 19 | }; 20 | 21 | -------------------------------------------------------------------------------- /vendor/freetype/tests/README.md: -------------------------------------------------------------------------------- 1 | # Unit and regression tests for the FreeType library 2 | 3 | ## Quick Start 4 | 5 | ### Download test fonts 6 | 7 | Run the `tests/scripts/download-fonts.py` script, which will 8 | download test fonts to the `tests/data/` directory first. 9 | 10 | ### Build the test programs 11 | 12 | The tests are only built with the Meson build system, and 13 | are disabled by default, enable the 'tests' option to compile 14 | them, as in: 15 | 16 | meson setup out -Dtests=enabled 17 | meson compile -C out 18 | 19 | ### Run the test programs 20 | 21 | meson test -C out 22 | 23 | -------------------------------------------------------------------------------- /vendor/freetype/subprojects/zlib.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = zlib-1.3.1 3 | source_url = http://zlib.net/fossils/zlib-1.3.1.tar.gz 4 | source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/zlib_1.3.1-1/zlib-1.3.1.tar.gz 5 | source_filename = zlib-1.3.1.tar.gz 6 | source_hash = 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 7 | patch_filename = zlib_1.3.1-1_patch.zip 8 | patch_url = https://wrapdb.mesonbuild.com/v2/zlib_1.3.1-1/get_patch 9 | patch_hash = e79b98eb24a75392009cec6f99ca5cdca9881ff20bfa174e8b8926d5c7a47095 10 | wrapdb_version = 1.3.1-1 11 | 12 | [provide] 13 | zlib = zlib_dep 14 | -------------------------------------------------------------------------------- /vendor/freetype/subprojects/libpng.wrap: -------------------------------------------------------------------------------- 1 | [wrap-file] 2 | directory = libpng-1.6.43 3 | source_url = https://github.com/glennrp/libpng/archive/v1.6.43.tar.gz 4 | source_filename = libpng-1.6.43.tar.gz 5 | source_hash = fecc95b46cf05e8e3fc8a414750e0ba5aad00d89e9fdf175e94ff041caf1a03a 6 | patch_filename = libpng_1.6.43-2_patch.zip 7 | patch_url = https://wrapdb.mesonbuild.com/v2/libpng_1.6.43-2/get_patch 8 | patch_hash = 49951297edf03e81d925ab03726555f09994ad1ed78fb539a269216430eef3da 9 | source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/libpng_1.6.43-2/libpng-1.6.43.tar.gz 10 | wrapdb_version = 1.6.43-2 11 | 12 | [provide] 13 | libpng = libpng_dep 14 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # Todo: use argparse. add option to print diagnostics. 4 | # Make ufo2otf a python package, provide this script as a command line utility 5 | # (I couldn’t figure out how, in distutils, one can specify for scripts to be 6 | # installed into bin?) 7 | 8 | """Calls the compiler. 9 | """ 10 | 11 | from sys import argv, exit 12 | import ufo2otf 13 | 14 | if 3 <= len(argv) <= 4: 15 | args = argv[1:] 16 | compiler = ufo2otf.Compiler(*args) 17 | compiler.compile() 18 | else: 19 | print """usage: ./ufo2otf.py infile.ufo outfile.otf [compiler] 20 | compiler: fontforge or afdko""" -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/equal.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/hyphen.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/caron.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/circumflex.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | 'targets': [ 3 | { 4 | 'target_name': 'freetype2', 5 | 'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ], 6 | 'dependencies': [ 7 | 'gyp/libfreetype.gyp:libfreetype' 8 | ], 9 | 'sources': [ 10 | 'src/util.cc', 11 | 'src/FreeType2.cc', 12 | 'src/FontFace.cc', 13 | 'src/enums.cc', 14 | ], 15 | 'include_dirs': [" 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /vendor/freetype/src/cid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 CID module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/psnames/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 PSnames module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/svg/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 SVG renderer module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2022-2024 by 7 | # David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 += SVG_MODULE 17 | 18 | define SVG_MODULE 19 | $(OPEN_DRIVER) FT_Renderer_Class, ft_svg_renderer_class $(CLOSE_DRIVER) 20 | $(ECHO_DRIVER)ot-svg $(ECHO_DRIVER_DESC)OT-SVG glyph renderer module$(ECHO_DRIVER_DONE) 21 | endef 22 | 23 | # EOF 24 | -------------------------------------------------------------------------------- /vendor/freetype/src/type1/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type1 module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type42/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Type42 module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/smooth/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 smooth renderer module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/truetype/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 TrueType module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/pshinter/pshinter.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshinter.c 4 | * 5 | * FreeType PostScript Hinting module 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/winfonts/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Windows FNT/FON module definition 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/gxvalid/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 gxvalid module definition 3 | # 4 | 5 | # Copyright (C) 2004-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/plus.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/multiply.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfr.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfr.c 4 | * 5 | * FreeType PFR driver component. 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/cid/type1cid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1cid.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/features.fea: -------------------------------------------------------------------------------- 1 | languagesystem DFLT dflt; 2 | 3 | # feature onum { 4 | # sub zero by zero.oldstyle ; 5 | # sub one by one.oldstyle ; 6 | # sub two by two.oldstyle ; 7 | # sub three by three.oldstyle ; 8 | # sub four by four.oldstyle ; 9 | # sub five by five.oldstyle ; 10 | # sub six by six.oldstyle ; 11 | # sub seven by seven.oldstyle ; 12 | # sub eight by eight.oldstyle ; 13 | # sub nine by nine.oldstyle ; 14 | # } onum; 15 | 16 | feature dlig { 17 | sub c t by c_t; 18 | sub s t by s_t; 19 | } dlig; 20 | 21 | feature liga { 22 | sub f f i by ffi; 23 | sub f i by fi; 24 | sub ffl by ffl; 25 | sub f l by fl; 26 | sub f f by ff; 27 | sub f j by f_j; 28 | sub f f j by f_f_j; 29 | } liga; 30 | 31 | feature swsh { 32 | sub g i by g_i ; 33 | } swsh; 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /vendor/freetype/src/cff/cff.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cff.c 4 | * 5 | * FreeType OpenType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type1/type1.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * type1.c 4 | * 5 | * FreeType Type 1 driver component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/parenleft.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/acute.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /vendor/freetype/src/gzip/README.freetype: -------------------------------------------------------------------------------- 1 | Name: zlib 2 | Short Name: zlib 3 | URL: http://zlib.net/ 4 | Version: 1.3 5 | License: see `zlib.h` 6 | 7 | Description: 8 | "A massively spiffy yet delicately unobtrusive compression library." 9 | 10 | 'zlib' is a free, general-purpose, legally unencumbered lossless 11 | data-compression library. 'zlib' implements the "deflate" compression 12 | algorithm described by RFC 1951, which combines the LZ77 (Lempel-Ziv) 13 | algorithm with Huffman coding. zlib also implements the zlib (RFC 1950) and 14 | gzip (RFC 1952) wrapper formats. 15 | 16 | Local Modifications: 17 | The files in this directory have been prepared as follows. 18 | 19 | - Take the unmodified source code files from the zlib distribution that are 20 | included by `ftgzip.c`. 21 | - Copy `zconf.h` to `ftzconf.h` (which stays unmodified otherwise). 22 | - Apply the diff file(s) in the `patches` folder. 23 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/grave.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/sfdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfdriver.h 4 | * 5 | * High-level SFNT driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type42/t42drivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42drivr.h 4 | * 5 | * High-level Type 42 driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/cache/ftcache.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcache.c 4 | * 5 | * The FreeType Caching sub-system (body only). 6 | * 7 | * Copyright (C) 2000-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/cff/cffdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cffdrivr.h 4 | * 5 | * High-level OpenType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/truetype/ttdriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttdriver.h 4 | * 5 | * High-level TrueType driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/otvalid/otvalid.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otvalid.c 4 | * 5 | * FreeType validator for OpenType tables (body only). 6 | * 7 | * Copyright (C) 2004-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/tools/cordic.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # compute arctangent table for CORDIC computations in fttrigon.c 4 | import math 5 | 6 | # units = 64*65536.0 # don't change !! 7 | units = 180 * 2 ** 16 8 | scale = units / math.pi 9 | shrink = 1.0 10 | angles2 = [] 11 | 12 | print("") 13 | print("table of arctan( 1/2^n ) for PI = " + repr(units / 65536.0) + " units") 14 | 15 | for n in range(1, 32): 16 | 17 | x = 0.5 ** n # tangent value 18 | 19 | angle = math.atan(x) # arctangent 20 | angle2 = round(angle * scale) # arctangent in FT_Angle units 21 | 22 | if angle2 <= 0: 23 | break 24 | 25 | angles2.append(repr(int(angle2))) 26 | shrink /= math.sqrt(1 + x * x) 27 | 28 | print(", ".join(angles2)) 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/pshinter/pshmod.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshmod.h 4 | * 5 | * PostScript hinter module interface (specification). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/psnames/psmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psmodule.h 4 | * 5 | * High-level psnames module interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/raster/ftrend1.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftrend1.h 4 | * 5 | * The FreeType glyph rasterizer interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/smooth/ftsmooth.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmooth.h 4 | * 5 | * Anti-aliasing renderer interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type1/t1driver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1driver.h 4 | * 5 | * High-level Type 1 driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/cid/cidriver.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidriver.h 4 | * 5 | * High-level CID driver interface (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfrdrivr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrdrivr.h 4 | * 5 | * High-level Type PFR driver interface (specification). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/otvalid/otvgpos.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otvgpos.h 4 | * 5 | * OpenType GPOS table validator (specification). 6 | * 7 | * Copyright (C) 2004-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/svg/ftsvg.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsvg.h 4 | * 5 | * The FreeType SVG renderer interface (specification). 6 | * 7 | * Copyright (C) 2022-2024 by 8 | * David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 FTSVG_H_ 19 | #define FTSVG_H_ 20 | 21 | #include 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | FT_DECLARE_RENDERER( ft_svg_renderer_class ) 29 | 30 | FT_END_HEADER 31 | 32 | #endif /* FTSVG_H_ */ 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /example/bitmap.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const freetype = require('..'); 3 | 4 | const face = freetype.NewMemoryFace(fs.readFileSync(__dirname + '/../spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.otf')); 5 | 6 | const charCodes = 'ABCD'.split('').map(c => c.charCodeAt(0)); 7 | 8 | // Give it some size 9 | face.setPixelSizes(0, 12); 10 | // Rotate 90CCW 11 | face.setTransform( 12 | [ 0, -1 << 16, 1 << 16, 0 ], 13 | undefined 14 | ); 15 | 16 | function renderBitmap(bitmap) { 17 | for (var i = 0; i < bitmap.buffer.length; i++) { 18 | if (i % bitmap.pitch === 0) console.log(''); 19 | process.stdout.write((' ' + bitmap.buffer.readUInt8(i).toString(2).replace(/0/g, ' ').replace(/1/g, '█')).substr(-8, 8)); 20 | } 21 | 22 | console.log(''); 23 | }; 24 | 25 | charCodes.forEach((ch) => { 26 | const glyph = face.loadChar(ch, { 27 | render: true, 28 | loadTarget: freetype.RenderMode.MONO 29 | }); 30 | 31 | renderBitmap(glyph.bitmap); 32 | }); 33 | -------------------------------------------------------------------------------- /vendor/freetype/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 build system -- top-level Makefile 3 | # 4 | 5 | 6 | # Copyright (C) 1996-2024 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 | # Project names 17 | # 18 | PROJECT := freetype 19 | PROJECT_TITLE := FreeType 20 | 21 | # The variable TOP_DIR holds the path to the topmost directory in the project 22 | # engine source hierarchy. If it is not defined, default it to `.'. 23 | # 24 | TOP_DIR ?= . 25 | 26 | # The variable OBJ_DIR gives the location where object files and the 27 | # FreeType library are built. 28 | # 29 | OBJ_DIR ?= $(TOP_DIR)/objs 30 | 31 | 32 | include $(TOP_DIR)/builds/toplevel.mk 33 | 34 | # EOF 35 | -------------------------------------------------------------------------------- /vendor/freetype/src/autofit/autofit.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * autofit.c 4 | * 5 | * Auto-fitter module (body). 6 | * 7 | * Copyright (C) 2003-2024 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 "ft-hb.c" 22 | #include "afblue.c" 23 | #include "afcjk.c" 24 | #include "afdummy.c" 25 | #include "afglobal.c" 26 | #include "afhints.c" 27 | #include "afindic.c" 28 | #include "aflatin.c" 29 | #include "afloader.c" 30 | #include "afmodule.c" 31 | #include "afranges.c" 32 | #include "afshaper.c" 33 | 34 | 35 | /* END */ 36 | -------------------------------------------------------------------------------- /vendor/freetype/src/truetype/truetype.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * truetype.c 4 | * 5 | * FreeType TrueType driver component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | 28 | 29 | /* END */ 30 | -------------------------------------------------------------------------------- /vendor/freetype/src/autofit/afblue.cin: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afblue.c 4 | * 5 | * Auto-fitter data for blue strings (body). 6 | * 7 | * Copyright (C) 2013-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sdf/ftsdferrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsdferrs.h 4 | * 5 | * Signed Distance Field error codes (specification only). 6 | * 7 | * Copyright (C) 2020-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/comma.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfrsbit.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrsbit.h 4 | * 5 | * FreeType PFR bitmap loader (specification). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sdf/module.mk: -------------------------------------------------------------------------------- 1 | # 2 | # FreeType 2 Signed Distance Field module definition 3 | # 4 | 5 | 6 | # Copyright (C) 2020-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/woff2tags.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * woff2tags.h 4 | * 5 | * WOFF2 Font table tags (specification). 6 | * 7 | * Copyright (C) 2019-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/l.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/sfwoff.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfwoff.h 4 | * 5 | * WOFFF format management (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/asciitilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/tilde.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/sfnt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sfnt.c 4 | * 5 | * Single object library component. 6 | * 7 | * Copyright (C) 1996-2024 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 | #include "ttsvg.c" 31 | 32 | #include "ttgpos.c" 33 | #include "ttkern.c" 34 | #include "ttload.c" 35 | #include "ttmtx.c" 36 | #include "ttpost.c" 37 | #include "ttsbit.c" 38 | #include "woff2tags.c" 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfrcmap.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrcmap.h 4 | * 5 | * FreeType PFR cmap handling (specification). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/psaux/psaux.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psaux.c 4 | * 5 | * FreeType auxiliary PostScript driver component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Julian Waller 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. -------------------------------------------------------------------------------- /vendor/freetype/src/cid/ciderrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ciderrs.h 4 | * 5 | * CID error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/cff/cfferrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cfferrs.h 4 | * 5 | * CFF error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/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 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfrerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrerror.h 4 | * 5 | * PFR error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/z.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/sferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * sferrors.h 4 | * 5 | * SFNT error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type1/t1errors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1errors.h 4 | * 5 | * Type 1 error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type42/t42error.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42error.h 4 | * 5 | * Type 42 error codes (specification only). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # node-freetype2 2 | 3 | ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/ericfreese/node-freetype2/Node%20CI) 4 | [![npm](https://img.shields.io/npm/v/freetype2.svg)](https://www.npmjs.com/package/freetype2) 5 | [![npm](https://img.shields.io/npm/dm/freetype2.svg)](https://www.npmjs.com/package/freetype2) 6 | [![npm](https://img.shields.io/npm/l/freetype2.svg)](LICENSE) 7 | 8 | FreeType bindings for Nodejs. This library is written to be as close to the original api as possible, but in a safer and more node-like manner. 9 | 10 | FreeType is a freely available software library to render fonts. http://www.freetype.org/ 11 | 12 | ## Install 13 | 14 | `npm install freetype2` 15 | 16 | 17 | ## Examples 18 | See the [example folder](https://github.com/ericfreese/node-freetype2/tree/master/example) to learn how to use node-freetype2. 19 | 20 | ## API 21 | See the [types](https://github.com/ericfreese/node-freetype2/blob/master/module.d.ts) to learn the API of node-freetype2 and how they relate to original FreeType. 22 | 23 | For more information, see the [original FreeType documentation](http://www.freetype.org/freetype2/docs/reference/ft2-index.html). 24 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/Z_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /vendor/freetype/src/base/ftbase.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftbase.c 4 | * 5 | * Single object library component (body only). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/pshinter/pshnterr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pshnterr.h 4 | * 5 | * PS Hinter error codes (specification only). 6 | * 7 | * Copyright (C) 2003-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dotlessi.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /vendor/freetype/src/autofit/aferrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * aferrors.h 4 | * 5 | * Autofitter error codes (specification only). 6 | * 7 | * Copyright (C) 2005-2024 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 | -------------------------------------------------------------------------------- /vendor/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 | -------------------------------------------------------------------------------- /vendor/freetype/src/truetype/tterrors.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * tterrors.h 4 | * 5 | * TrueType error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/include/ft2build.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ft2build.h 4 | * 5 | * FreeType 2 build and setup macros. 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/winfonts/fnterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fnterrs.h 4 | * 5 | * Win FNT/FON error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/one.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /vendor/freetype/src/cache/ftcerror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftcerror.h 4 | * 5 | * Caching sub-system error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/psnames/psnamerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psnamerr.h 4 | * 5 | * PS names module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/smooth/ftsmerrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftsmerrs.h 4 | * 5 | * smooth renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/psaux/psauxerr.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * psauxerr.h 4 | * 5 | * PS auxiliary module error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/raster/rasterrs.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * rasterrs.h 4 | * 5 | * monochrome renderer error codes (specification only). 6 | * 7 | * Copyright (C) 2001-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/ttsvg.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttsvg.h 4 | * 5 | * OpenType SVG Color (specification). 6 | * 7 | * Copyright (C) 2022-2024 by 8 | * David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 TTSVG_H_ 19 | #define TTSVG_H_ 20 | 21 | #include 22 | #include 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | FT_LOCAL( FT_Error ) 28 | tt_face_load_svg( TT_Face face, 29 | FT_Stream stream ); 30 | 31 | FT_LOCAL( void ) 32 | tt_face_free_svg( TT_Face face ); 33 | 34 | FT_LOCAL( FT_Error ) 35 | tt_face_load_svg_doc( FT_GlyphSlot glyph, 36 | FT_UInt glyph_index ); 37 | 38 | FT_END_HEADER 39 | 40 | #endif /* TTSVG_H_ */ 41 | 42 | 43 | /* END */ 44 | -------------------------------------------------------------------------------- /vendor/freetype/src/otvalid/otverror.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * otverror.h 4 | * 5 | * OpenType validation module error codes (specification only). 6 | * 7 | * Copyright (C) 2004-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/exclam.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/ttbdf.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttbdf.h 4 | * 5 | * TrueType and OpenType embedded BDF properties (specification). 6 | * 7 | * Copyright (C) 2005-2024 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( FT_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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/ttcpal.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttcpal.h 4 | * 5 | * TrueType and OpenType color palette support (specification). 6 | * 7 | * Copyright (C) 2018-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/seven.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/zero.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /vendor/freetype/include/freetype/internal/svginterface.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svginterface.h 4 | * 5 | * Interface of ot-svg module (specification only). 6 | * 7 | * Copyright (C) 2022-2024 by 8 | * David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 SVGINTERFACE_H_ 20 | #define SVGINTERFACE_H_ 21 | 22 | #include 23 | #include 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | typedef FT_Error 29 | (*Preset_Bitmap_Func)( FT_Module module, 30 | FT_GlyphSlot slot, 31 | FT_Bool cache ); 32 | 33 | typedef struct SVG_Interface_ 34 | { 35 | Preset_Bitmap_Func preset_slot; 36 | 37 | } SVG_Interface; 38 | 39 | typedef SVG_Interface* SVG_Service; 40 | 41 | FT_END_HEADER 42 | 43 | #endif /* SVGINTERFACE_H_ */ 44 | 45 | 46 | /* END */ 47 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/tools/ufo2otf/compilers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | from diagnostics import diagnostics, known_compilers, FontError 4 | 5 | diagnostics = diagnostics() 6 | 7 | class Compiler: 8 | def __init__(self,infile,outfile,compiler=None): 9 | self.infile = infile 10 | self.outfile = outfile 11 | if compiler: 12 | if compiler in known_compilers and diagnostics[compiler]: 13 | self.compile = getattr(self, compiler) 14 | else: 15 | raise FontError(compiler, diagnostics) 16 | else: 17 | if diagnostics['fontforge']: 18 | self.compile = self.fontforge 19 | elif diagnostics['afdko']: 20 | self.compile = self.afdko 21 | else: 22 | raise FontError(diagnostics=diagnostics) 23 | 24 | def fontforge(self): 25 | import fontforge 26 | font = fontforge.open(self.infile) 27 | font.generate(self.outfile,flags=("round")) 28 | 29 | def afdko(self): 30 | import ufo2fdk 31 | from robofab.objects.objectsRF import RFont 32 | compiler = ufo2fdk.OTFCompiler() 33 | font = RFont(self.infile) 34 | compiler.compile(font,self.outfile,releaseMode=True) 35 | 36 | -------------------------------------------------------------------------------- /vendor/freetype/src/pfr/pfrgload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pfrgload.h 4 | * 5 | * FreeType PFR glyph loader (specification). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/autofit/afranges.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afranges.h 4 | * 5 | * Auto-fitter Unicode script ranges (specification). 6 | * 7 | * Copyright (C) 2013-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/tests/issue-1063/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | 6 | 7 | int 8 | main( void ) 9 | { 10 | FT_Library library; 11 | FT_Face face = NULL; 12 | 13 | /* 14 | * We assume that `FREETYPE_TESTS_DATA_DIR` was set by `meson test`. 15 | * Otherwise we default to `../tests/data`. 16 | * 17 | * TODO (David): Rewrite this to pass the test directory through the 18 | * command-line. 19 | */ 20 | const char* testdata_dir = getenv( "FREETYPE_TESTS_DATA_DIR" ); 21 | char filepath[FILENAME_MAX]; 22 | 23 | 24 | snprintf( filepath, sizeof( filepath ), "%s/%s", 25 | testdata_dir ? testdata_dir : "../tests/data", 26 | "As.I.Lay.Dying.ttf" ); 27 | 28 | FT_Init_FreeType( &library ); 29 | if ( FT_New_Face( library, filepath, 0, &face ) != 0 ) 30 | { 31 | fprintf( stderr, "Could not open file: %s\n", filepath ); 32 | return 1; 33 | } 34 | 35 | for ( FT_ULong i = 59; i < 171; i++ ) 36 | { 37 | FT_UInt gid = FT_Get_Char_Index( face, i ); 38 | FT_Error code = FT_Load_Glyph( face, gid, FT_LOAD_DEFAULT ); 39 | 40 | 41 | if ( code ) 42 | printf( "unknown %d for char %lu, gid %u\n", code, i, gid ); 43 | } 44 | 45 | return 0; 46 | } 47 | 48 | /* EOF */ 49 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/raster/ftraster.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftraster.h 4 | * 5 | * The FreeType glyph rasterizer (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/O_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/util.cc: -------------------------------------------------------------------------------- 1 | #include "./util.h" 2 | 3 | void throwJsException(const Napi::Env& env, FT_Error errorCode) { 4 | const char *errString = FT_Error_String(errorCode); 5 | if (errString != nullptr) 6 | { 7 | Napi::TypeError::New(env, errString).ThrowAsJavaScriptException(); 8 | } else { 9 | Napi::TypeError::New(env, "An unknown error occurred").ThrowAsJavaScriptException(); 10 | } 11 | } 12 | 13 | bool validateProp(const Napi::Env& env, bool isCorrect, const char* propName) { 14 | if (!isCorrect) { 15 | char str[255]; 16 | snprintf(str, sizeof(str), "%s is not valid", propName); 17 | 18 | Napi::TypeError::New(env, str).ThrowAsJavaScriptException(); 19 | } 20 | 21 | return isCorrect; 22 | } 23 | 24 | bool validatePropsLength(const Napi::Env& env, const Napi::CallbackInfo &info, unsigned int minLength) { 25 | if (info.Length() < minLength) { 26 | Napi::TypeError::New(env, "Not enough arguments").ThrowAsJavaScriptException(); 27 | return false; 28 | } 29 | return true; 30 | } 31 | 32 | bool checkProperty(const Napi::Object& obj, const char* name) { 33 | Napi::Value val = obj.Get(name); 34 | if (val.IsBoolean()) { 35 | return val.As().Value(); 36 | } else if (val.IsNumber()) { 37 | return val.As().Int32Value() != 0; 38 | } 39 | 40 | return false; 41 | } 42 | -------------------------------------------------------------------------------- /vendor/freetype/include/freetype/internal/services/svkern.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svkern.h 4 | * 5 | * The FreeType Kerning service (specification). 6 | * 7 | * Copyright (C) 2006-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/t.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/ring.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /vendor/freetype/src/cid/cidload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * cidload.h 4 | * 5 | * CID-keyed Type1 font loader (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/devel/ft2build.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ft2build.h 4 | * 5 | * FreeType 2 build and setup macros (development version). 6 | * 7 | * Copyright (C) 1996-2024 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 | * This is a development version of to build the library in 21 | * debug mode. Its only difference to the default version is that it 22 | * includes a local `ftoption.h' header file with different settings for 23 | * many configuration macros. 24 | * 25 | * To use it, simply ensure that the directory containing this file is 26 | * scanned by the compiler before the default FreeType header directory. 27 | * 28 | */ 29 | 30 | #ifndef FT2BUILD_H_ 31 | #define FT2BUILD_H_ 32 | 33 | #define FT_CONFIG_MODULES_H 34 | #define FT_CONFIG_OPTIONS_H 35 | 36 | #include 37 | 38 | #endif /* FT2BUILD_H_ */ 39 | 40 | 41 | /* END */ 42 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/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 | -------------------------------------------------------------------------------- /vendor/freetype/src/svg/svgtypes.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * svgtypes.h 4 | * 5 | * The FreeType SVG renderer internal types (specification). 6 | * 7 | * Copyright (C) 2022-2024 by 8 | * David Turner, Robert Wilhelm, Werner Lemberg, and Moazin Khatti. 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 SVGTYPES_H_ 19 | #define SVGTYPES_H_ 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | 27 | typedef struct SVG_RendererRec_ 28 | { 29 | FT_RendererRec root; /* this inherits FT_RendererRec */ 30 | FT_Bool loaded; 31 | FT_Bool hooks_set; 32 | SVG_RendererHooks hooks; /* this holds hooks for SVG rendering */ 33 | FT_Pointer state; /* a place for hooks to store state, if needed */ 34 | 35 | } SVG_RendererRec; 36 | 37 | typedef struct SVG_RendererRec_* SVG_Renderer; 38 | 39 | #endif /* SVGTYPES_H_ */ 40 | 41 | 42 | /* EOF */ 43 | -------------------------------------------------------------------------------- /vendor/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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/pngshim.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * pngshim.h 4 | * 5 | * PNG Bitmap glyph support. 6 | * 7 | * Copyright (C) 2013-2024 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 | -------------------------------------------------------------------------------- /example/render.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const sharp = require('sharp'); 3 | const freetype = require('..'); 4 | 5 | const face = freetype.NewMemoryFace(fs.readFileSync(__dirname + '/../spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville-0.0.53.otf')); 6 | face.setPixelSizes(40, 0); 7 | 8 | (async function(){ 9 | let img = sharp({ 10 | create: { 11 | width: 500, 12 | height: 200, 13 | channels: 4, 14 | background: { r: 0, g: 120, b: 0, alpha: 1 } 15 | } 16 | }) 17 | 18 | const layers = [] 19 | 20 | let left = 50 21 | let top = 50 22 | 23 | const inputStr = 'Hello world' 24 | for (let i = 0; i < inputStr.length; i++) { 25 | const ch = face.loadChar(inputStr.charCodeAt(i), { 26 | render: true 27 | }) 28 | 29 | if (ch.bitmap) { 30 | layers.push({ 31 | input: ch.bitmap.buffer, 32 | top: top - (ch.metrics.horiBearingY / 64), 33 | left: left, 34 | blend: 'lighten', 35 | raw: { 36 | width: ch.bitmap.width, 37 | height: ch.bitmap.height, 38 | channels: 1 39 | } 40 | }) 41 | } 42 | left += ch.metrics.horiAdvance / 64 43 | } 44 | 45 | img = img.composite(layers) 46 | 47 | await img.toFile(__dirname + '/render-output.png') 48 | 49 | })() -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/I_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/o.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /vendor/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-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type1/t1gload.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t1gload.h 4 | * 5 | * Type 1 Glyph Loader (specification). 6 | * 7 | * Copyright (C) 1996-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/autofit/afmodule.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * afmodule.h 4 | * 5 | * Auto-fitter module implementation (specification). 6 | * 7 | * Copyright (C) 2003-2024 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 | AF_Script 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/type42/t42types.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * t42types.h 4 | * 5 | * Type 42 font data types (specification only). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/L_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/dieresis.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /spec/fonts/OpenBaskerville-0.0.53/OpenBaskerville.ufo/glyphs/T_.glif: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /vendor/freetype/src/base/ftfntfmt.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ftfntfmt.c 4 | * 5 | * FreeType utility file for font formats (body). 6 | * 7 | * Copyright (C) 2002-2024 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 | -------------------------------------------------------------------------------- /vendor/freetype/src/sfnt/ttgpos.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * ttgpos.c 4 | * 5 | * Load the TrueType GPOS table. The only GPOS layout feature this 6 | * currently supports is kerning, from x advances in the pair adjustment 7 | * layout feature. 8 | * 9 | * Copyright (C) 2024 by 10 | * David Saltzman 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 | #ifndef TTGPOS_H_ 21 | #define TTGPOS_H_ 22 | 23 | 24 | #include 25 | #include 26 | 27 | 28 | FT_BEGIN_HEADER 29 | 30 | 31 | #ifdef TT_CONFIG_OPTION_GPOS_KERNING 32 | 33 | FT_LOCAL( FT_Error ) 34 | tt_face_load_gpos( TT_Face face, 35 | FT_Stream stream ); 36 | 37 | FT_LOCAL( void ) 38 | tt_face_done_gpos( TT_Face face ); 39 | 40 | FT_LOCAL( FT_Int ) 41 | tt_face_get_gpos_kerning( TT_Face face, 42 | FT_UInt left_glyph, 43 | FT_UInt right_glyph ); 44 | 45 | #endif /* TT_CONFIG_OPTION_GPOS_KERNING */ 46 | 47 | 48 | FT_END_HEADER 49 | 50 | #endif /* TTGPOS_H_ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /vendor/freetype/src/base/fterrors.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * 3 | * fterrors.c 4 | * 5 | * FreeType API for error code handling. 6 | * 7 | * Copyright (C) 2018-2024 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 | --------------------------------------------------------------------------------