1633513996
New Indic numbers are:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
Before
|
||
---|---|---|
.. | ||
fonts/sha1sum | ||
tests | ||
texts/in-tree | ||
Makefile.am | ||
README.md | ||
hb-diff | ||
hb-diff-colorize | ||
hb-diff-filter-failures | ||
hb-diff-ngrams | ||
hb-diff-stat | ||
hb-manifest-read | ||
hb-manifest-update | ||
hb-unicode-decode | ||
hb-unicode-encode | ||
hb-unicode-prettyname | ||
hb_test_tools.py | ||
record-test.sh | ||
run-tests.sh |
README.md
Adding tests
You can test shaping of a unicode sequence against a font like this:
$ ./hb-unicode-encode 41 42 43 627 | ../../util/hb-shape font.ttf
assuming an in-tree build. The 41 42 43 627 here is a sequence of
Unicode codepoints: U+0041,0042,0043,0627. When you are happy with
the shape results, you can use the record-test.sh
script to add
this to the test suite. record-test.sh
requires pyftsubset
to
be installed. You can get pyftsubset
by installing
FontTools from https://github.com/behdad/fonttools.
To use record-test.sh
, just put it right before the hb-shape
invocation:
$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-shape font.ttf
what this does is:
- Subset the font for the sequence of Unicode characters requested,
- Compare the
hb-shape
output of the original font versus the subset font for the input sequence, - If the outputs differ, perhaps it is because the font does not have
glyph names; it then compares the output of
hb-view
for both fonts. - If the outputs differ, recording fails. Otherwise, it will move the
subset font file into
fonts/sha1sum
and name it after its hash, and prints out the test case input, which you can then redirect to an existing or new test file intests
, eg.:
$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-shape font.ttf >> tests/test-name.test
If you created a new test file, add it to Makefile.am
so it is run.
Check that make check
does indeed run it, and that the test passes.
When everything looks good, git add
the new font as well as new
test file if you created any. You can see what new files are there
by running git status tests fonts/sha1sum
. And commit!
Note! Please only add tests using Open Source fonts, preferably under OFL or similar license.