tag | 7a8afb3040ab34a7b664148d66c512a70ca1ba6d | |
---|---|---|
tagger | Khaled Hosny <khaled@aliftype.com> | Mon May 29 21:44:32 2023 |
object | 75933e1bdc98bdb095f6274b284e1c365f2c510e |
Version 9.1.0 * Synthesize an empty `gvar` table if missing and there is an `fvar` table, to help with CoreText that expects `gvar` to be present in this case. (#249) * Correct VDMX.numRecs field if necessary. (#250) * Improve warning message about glyf instructions maximum size. (#252) * Support version 2 of `avar` table. (#257) * If both FreeType and Win32 are enable, prefer Win32 in ots-idempotent. (#254)
commit | 75933e1bdc98bdb095f6274b284e1c365f2c510e | [log] [tgz] |
---|---|---|
author | Khaled Hosny <khaled@aliftype.com> | Mon May 29 21:44:20 2023 |
committer | Khaled Hosny <khaled@aliftype.com> | Mon May 29 21:44:20 2023 |
tree | 3c1e35e3837da6c2e14c4afe92e1c3332b979eeb | |
parent | 604f3e02c3a8a419a3972b7cdf2d5bbbe4587b56 [diff] |
9.1.0
The OpenType Sanitizer (OTS) parses and serializes OpenType files (OTF, TTF) and WOFF and WOFF2 font files, validating them and sanitizing them as it goes.
The C library is integrated into Chromium and Firefox, and also simple command line tools to check files offline in a Terminal.
The CSS font-face property is great for web typography. Having to use images in order to get the correct typeface is a great sadness; one should be able to use vectors.
However, on many platforms the system-level TrueType font renderers have never been part of the attack surface before, and putting them on the front line is a scary proposition... Especially on platforms like Windows, where it's a closed-source blob running with high privilege.
Instructions below are for building standalone OTS utilities, if you want to use OTS as a library then the recommended way is to copy the source code and integrate it into your existing build system. Our build system does not build a shared library intentionally.
Build OTS:
$ meson build $ ninja -C build
Run the tests (if you wish):
$ ninja -C build test
See docs
Thanks to Alex Russell for the original idea.