This is the repository for a test suite for clients which claim to conform to the W3C Incremental Font Transfer specification, developed by the W3C Web Fonts working group.
This repository pulls in a copy of the specification to check test coverage via git submodules, so you will need to run:
git submodule init
git submodule update
To initialize the repository.
Run
make all
To generate test and test plan coverage reports (test-coverage-report.txt and test-plan-coverage-report.txt) that specify which specification client conformance statements are not covered.
The test cases here are generated by the Python scripts in the generators directory.
ClientTestCaseGenerator.py
The scripts are dependent on the following package:
- FontTools https://github.com/behdad/fonttools
To compile a particular test suite, simply run the relevant script:
>>> python ClientTestCaseGenerator.py
To generate the subsetted fonts files needed for these tests, you can run the following command:
For the fallback font:
>>>python makeSubsettedFont.py fallback
(this will generate a font file that substitutes the p glyph with fail and the f glyph with pass)
For the font that will be used as the source for the IFT:
>>>python makeSubsettedFont.py IFT
(this will generate a font file that substitutes the f glyph with fail and the p glyph with pass)
The fallback font can be used as-is and the IFT source font can be used with the IFT encoder (https://github.com/w3c/ift-encoder) to create an IFT font that is then modified by the conformance test generator scripts.