tree: 72fbe2192bfe7dd71f1bd4d0c065657cc06842f3
  1. colrv1_json/
  2. extracted/
  3. fea/
  4. ttc/
  5. ttf/
  6. ttx/
  7. compile_fea.py
  8. extract_glyphs.py
  9. README.md
  10. rebuild.sh
  11. requirements.txt
font-test-data/test_data/README.md

test files

This directory contains files used for testing.

ttc

The ttc directory contains ttc files, see it's readme for provenance.

ttx

The ttx directory contains ttx files describing test cases. These are compiled and stored in the ttf directory; the ttf files are the actual test inputs.

fea

The fea directory contains fea files describing test cases, as this is a very good format for describing layout tables. Similarly to ttx, these are compiled to ttf and stored in the ttf directory. Each test case is comprised of a FEA file and a corresponding glyph list.

extracted data

The extracted directory contains text files holding data computed by FreeType for each font. This data is used for comparisons with the results of our metadata reading and outline loading implementations.

glyphs

Extracted glyph outlines are generated by extract_glyphs.py and stored in extracted\<font-file-name>-glyphs.txt. Each glyph is represented by the pattern:

glyph <glyph-id> <font-size> <hint-mode>
points <points>
contours <contours>
tags <tags>
m <points>
l <points>
q <points>
c <points>
-

With the following values:

  • glyph-id: the glyph identifier
  • font-size: size in pixels per em. A size of 0 means unscaled
  • hint-mode: one of none, full, light, or light-subpixel
  • points: space separated list of points in x, y format
  • contours and tags: space separated list of integers representing contour end point indices and tag bits, respectively
  • m, l, q, c: path commands for move to, line to, quad to and cubic to, respectively

The pattern ends with a single -.

test font sources

Describes the provenance, usage and generation procedures for font data used for testing.

rebuilding

To update the binaries and extracted data, run script located at resources/test_fonts/rebuild.sh This script will install the correct version of fonttools and FreeType, and then regenerate all of the inputs.

# from the repo root
somewhere/fontations $ ./font-test-data/test_data/rebuild.sh