TTF — Variable Font Missing the STAT Table (intentionally incomplete)
A variable font that is intentionally incomplete: the STAT table OpenType requires of every variable font has been removed, while fvar, gvar and the named instances remain. It still renders, which is exactly the problem — style linking, family grouping and instance naming quietly degrade instead of failing loudly.
The quick brown fox jumps over the lazy dog
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789 & ! ? @ # % ( ) — “ ”
12pxThe quick brown fox jumps over the lazy dog
16pxThe quick brown fox jumps over the lazy dog
20pxThe quick brown fox jumps over the lazy dog
28pxThe quick brown fox jumps over the lazy dog
40pxThe quick brown fox jumps over the lazy dog
Specifications
- Family
- Novus Grotesk VF
- Units Per Em
- 1000
- Cap Height
- 700
- X Height
- 500
- Wave
- p7
- Seed
- 20260807
- Built With
- fontTools 4.x
- Determinism
- head.created/head.modified pinned to 2026-01-01T00:00:00Z, recalcTimestamp off; outlines are parametric, colour material is seeded
- Usage Rights
- original artwork, free for any use
- Axes
- wght 300..400..900
- Missing Table
- STAT
- Intentionally Incomplete
- true
- Spec Rule
- OpenType requires STAT in every variable font
- Still Present
- fvar, gvar, HVAR, name
Testing contract
Expected to fail- Scenario
- Run it through a font validator and load it in a style-linking UI.
- Expected result
- The validator reports the missing required STAT table; the loader still renders glyphs and still lists fvar instances, but has no axis-value records to build family or style names from.
What is a .ttf file?
TTF (TrueType Font) is a scalable outline font format developed by Apple and Microsoft that uses quadratic Bezier curves and includes hinting for sharp rendering at small sizes. It stores glyph outlines, metrics, and character mappings in a single file. It is one of the most widely supported desktop and web font formats.
How to use this file
Use an example TTF to test font parsers, glyph and metric extraction, text-rendering pipelines, and converters that produce web font formats like WOFF.
How to use this file for testing
“TTF — Variable Font Missing the STAT Table (intentionally incomplete)” is a deterministic Novus Examples fixture for Conversion testing, Error handling, Metadata testing. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.
Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Font fixtures carry a small documented glyph set across the common wrappers. Test font loaders, subsetting, and @font-face; the specimen preview renders the glyphs the face actually maps.
Code examples
@font-face {
font-family: "Sample";
src: url("NovusGroteskVF-no-stat.ttf");
}
body { font-family: "Sample", sans-serif; }Related files
- ttfTTF — Correct Checksums (integrity reference)The clean control for the checksum pair: a small, valid font whose head.checkSumAdjustment and every table-directory checksum are correct. Diff it against its damaged twin to see exactly which four bytes a validator is complaining about. Original typeface, free to use.

- ttfTTF — Intentionally Corrupt: Wrong glyf Table-Directory ChecksumAn intentionally corrupt font whose glyf table data is perfectly fine but whose recorded checksum in the table directory is wrong. The complement to the head fixture: this one catches tools that verify per-table checksums, and its glyphs still draw, so the damage is invisible without a real integrity check.

- ttfTTF — Intentionally Corrupt: Wrong head.checkSumAdjustmentAn intentionally corrupt font: four bytes of head.checkSumAdjustment overwritten with 0xDEADBEEF and nothing else touched. It still renders, because browsers and operating systems do not verify the field — which is precisely why this is a useful fixture for validators, signing tools, and font-integrity checks that claim they do.

- ttfTTF — Overlapping Contours with OVERLAP_SIMPLE and OVERLAP_COMPOUNDThis whole family is drawn as overlapping strokes rather than merged outlines, and this cut sets the two flags that tell a rasteriser so: OVERLAP_SIMPLE on simple glyphs and OVERLAP_COMPOUND on composites. For testing rasterisers that need the hint to avoid seams, and tools that must preserve the flags through a round trip. Original typeface, free to use.

- ttfTTF — unitsPerEm 128 (coarse em grid)The same design squeezed onto a 128-unit em, the coarse end of what the specification allows. Coordinates quantise hard, so this is the fixture for testing scaling maths, rounding, and any code that assumes a font has enough resolution to hint. Original typeface, free to use.

- ttfTTF — usWinAscent/Descent Smaller Than the Glyph Bounding BoxusWinAscent and usWinDescent are deliberately set below the real glyph bounding box, which is the classic cause of clipped accents and cut-off descenders on Windows. The head table still reports the true extents, so a validator can catch the contradiction and a renderer can be measured against it. Original typeface, free to use.

Generated by generation/fonts_p7.py. Free for any use, no attribution required — license.