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:
# From the repository root
git submodule init
git submodule updateTo initialize the repository.
Run
# From the repository root
make allTo 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.
Client tests have the following dependencies:
- FontTools https://github.com/behdad/fonttools
- Bazel https://bazel.build/install
- C++ compiler (gcc/clang)
The test cases are generated as follows:
Create the fallback font:
# From the repository root
ift-client-tests$ cd generators
ift-client-tests/generators$ python makeSubsettedFont.py fallback(this will generate font files that substitute the letter P with the glyph sequence FAIL and the letter F with the glyph sequence PASS)
Create the source font for the IFT:
# From the repository root
ift-client-tests$ cd generators
ift-client-tests/generators$ python makeSubsettedFont.py ift(this will generate font files that substitute the letter P with the glyph sequence PASS and the letter F with the glyph sequence FAIL)
To encode the subsetted IFT from the IFT source font:
# From the repository root
ift-client-tests$ cd encoder
ift-client-tests/encoder$ makeCompile the client test suite:
# From the repository root
ift-client-tests$ cd generators
ift-client-tests/generators$ python ClientTestCaseGenerator.py