• Home
  • History
  • Annotate
  • only in /external/harfbuzz_ng/test/shaping/
NameDateSize

..29-Aug-20174 KiB

fonts/29-Aug-20174 KiB

hb-diff29-Aug-2017227

hb-diff-colorize29-Aug-2017253

hb-diff-filter-failures29-Aug-2017166

hb-diff-ngrams29-Aug-2017110

hb-diff-stat29-Aug-2017108

hb-manifest-read29-Aug-2017156

hb-manifest-update29-Aug-2017128

hb-unicode-decode29-Aug-2017130

hb-unicode-encode29-Aug-2017134

hb-unicode-prettyname29-Aug-2017175

hb_test_tools.py29-Aug-201713.8 KiB

Makefile.am29-Aug-20171.9 KiB

README.md29-Aug-20171.8 KiB

record-test.sh29-Aug-20172.4 KiB

run-tests.sh29-Aug-20171.1 KiB

tests/29-Aug-20174 KiB

texts/29-Aug-20174 KiB

README.md

1Adding tests
2============
3
4You can test shaping of a unicode sequence against a font like this:
5```sh
6$ ./hb-unicode-encode 41 42 43 627 | ../../util/hb-shape font.ttf
7```
8assuming an in-tree build.  The 41 42 43 627 here is a sequence of
9Unicode codepoints: U+0041,0042,0043,0627.  When you are happy with
10the shape results, you can use the `record-test.sh` script to add
11this to the test suite.  `record-test.sh` requires `pyftsubset` to
12be installed.  You can get `pyftsubset` by installing
13FontTools from <https://github.com/behdad/fonttools>.
14
15To use `record-test.sh`, just put it right before the `hb-shape` invocation:
16```sh
17$ ./hb-unicode-encode 41 42 43 627 | ./record-it.sh ../../util/hb-shape font.ttf
18```
19what this does is:
20  * Subset the font for the sequence of Unicode characters requested,
21  * Compare the `hb-shape` output of the original font versus the subset
22    font for the input sequence,
23  * If the outputs differ, perhaps it is because the font does not have
24    glyph names; it then compares the output of `hb-view` for both fonts.
25  * If the outputs differ, recording fails.  Otherwise, it will move the
26    subset font file into `fonts/sha1sum` and name it after its hash,
27    and prints out the test case input, which you can then redirect to
28    an existing or new test file in `tests`, eg.:
29```sh
30$ ./hb-unicode-encode 41 42 43 627 | ./record-it.sh ../../util/hb-shape font.ttf >> tests/test-name.test
31```
32
33If you created a new test file, add it to `Makefile.am` so it is run.
34Check that `make test` does indeed run it, and that the test passes.
35When everything looks good, `git add` the new font as well as new
36test file if you created any.  You can see what new files are there
37by running `git status tests fonts/sha1sum`.  And commit!
38
39*Note!*  Please only add tests using Open Source fonts, preferably under
40OFL or similar license.
41