Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
docs/ | H | 07-Mar-2021 | - | 521 | 424 | |
include/ | H | 07-Mar-2021 | - | 313 | 230 | |
src/ | H | 07-Mar-2021 | - | 17,720 | 13,927 | |
subprojects/ | H | 07-Mar-2021 | - | 308 | 253 | |
tests/ | H | 03-May-2022 | - | 2,566 | 2,236 | |
util/ | H | 07-Mar-2021 | - | 959 | 740 | |
.appveyor.yml | H A D | 07-Mar-2021 | 1,011 | 49 | 36 | |
.travis.yml | H A D | 07-Mar-2021 | 1.7 KiB | 68 | 58 | |
LICENSE | H A D | 07-Mar-2021 | 1.5 KiB | 28 | 24 | |
README.md | H A D | 07-Mar-2021 | 1.7 KiB | 50 | 33 | |
meson.build | H A D | 03-May-2022 | 5.9 KiB | 287 | 245 |
README.md
1[![Build Status](https://travis-ci.com/khaledhosny/ots.svg?branch=main)](https://travis-ci.com/khaledhosny/ots) 2[![Build status](https://ci.appveyor.com/api/projects/status/0l9ms6g47corescm/branch/main?svg=true)](https://ci.appveyor.com/project/khaledhosny/ots/branch/main) 3[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/ots.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:ots) 4 5OpenType Sanitizer 6================== 7 8The OpenType Sanitizer (OTS) parses and serializes OpenType files (OTF, TTF) 9and WOFF and WOFF2 font files, validating them and sanitizing them as it goes. 10 11The C library is integrated into Chromium and Firefox, and also simple 12command line tools to check files offline in a Terminal. 13 14The CSS [font-face property][1] is great for web typography. Having to use images 15in order to get the correct typeface is a great sadness; one should be able to 16use vectors. 17 18However, on many platforms the system-level TrueType font renderers have never 19been part of the attack surface before, and putting them on the front line is 20a scary proposition... Especially on platforms like Windows, where it's a 21closed-source blob running with high privilege. 22 23Building from source 24-------------------- 25 26Instructions below are for building standalone OTS utilities, if you want to 27use OTS as a library then the recommended way is to copy the source code and 28integrate it into your existing build system. Our build system does not build a 29shared library intentionally. 30 31Build OTS: 32 33 $ meson build 34 $ ninja -C build 35 36Run the tests (if you wish): 37 38 $ ninja -C build test 39 40Usage 41----- 42 43See [docs](docs) 44 45* * * 46 47Thanks to Alex Russell for the original idea. 48 49[1]: http://www.w3.org/TR/CSS2/fonts.html#font-descriptions 50