Files

Paint font fixtures

moli-text-stroke.ttf is original project test data licensed under MIT OR Apache-2.0. Regenerate it with uv run scripts/generate-text-stroke-test-font.py. Its triangle glyphs have miter ratios below and above 4, distinguishing miter joins from round joins and checking the bevel fallback at the miter limit. Glyph C has a negative left side bearing that differs from its raw glyf bounds, checking that allocation uses the rendered glyph's origin. Glyphs D and E are closed vertical/horizontal lines with zero fill area but visible stroke ink; the space glyph has no path at all. Glyph R is a rectangle for checking synthetic weight and both sides of its stroke. moli-text-stroke-250.ttf has the same shapes at UPEM 250, compared against the UPEM 1000 font to test the local CSS pixel contract. moli-text-stroke-svg.ttf preserves those outlines and adds an OpenType SVG record only for R. It checks PDF fallback to the rectangle when the SVG renderer is unavailable, both alone and next to ordinary outline glyphs. moli-text-stroke-colr.ttf adds a COLR v0 rectangle for A with a 50% red palette entry, retaining its base outline. moli-text-stroke-colr-svg.ttf adds the independent SVG record for R to the same font. Actual PDF reader regressions check that neither semantic text, fill/stroke fallback nor an unused SVG record composites A's translucent artwork more than once.

moli-pdf.ttf is derived from the project's generated Ahem font by uv run scripts/generate-pdf-test-font.py, under the same license. Its COLR stars have a blue layer above the base outline; the hollow star's base outline is empty while its color layers remain visible. moli-colr.ttf is the static variant, exercising empty base-outline metrics. moli-colr-v1.ttf translates those layers beyond two em and provides a COLRv1 clip box, testing paint-graph bounds independently of the empty base outline. moli-bitmap.ttf adds an original 32×48 PNG sbix strike with nonzero bearings to Ahem. Both are generated by the same script and use the same license.