tag | c9f8f19794f88be1af2b22e14e27eb9db3325b6c | |
---|---|---|
tagger | Khaled Hosny <khaled@aliftype.com> | Thu Sep 15 13:24:56 2022 |
object | 35643038c4904538aa74c2c691f8d792efdbd6c0 |
Version 9.0.0 * Support for sanitizing `COLR` and `CPAL` tables, both version 0 and version 1 of the tables.
commit | 35643038c4904538aa74c2c691f8d792efdbd6c0 | [log] [tgz] |
---|---|---|
author | Khaled Hosny <khaled@aliftype.com> | Thu Sep 15 13:24:32 2022 |
committer | Khaled Hosny <khaled@aliftype.com> | Thu Sep 15 13:24:32 2022 |
tree | 09f2adcf592eb1ca8267f523a71ad8dbd24eee9a | |
parent | 45e2de2dd93d736299916156950c1e1e33547e00 [diff] |
9.0.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.