Home | History | Annotate | only in /external/harfbuzz_ng/test/shaping
Up to higher level directory
NameDateSize
fonts/21-Aug-2018
hb-diff21-Aug-2018227
hb-diff-colorize21-Aug-2018253
hb-diff-filter-failures21-Aug-2018166
hb-diff-ngrams21-Aug-2018110
hb-diff-stat21-Aug-2018108
hb-manifest-read21-Aug-2018156
hb-manifest-update21-Aug-2018128
hb-unicode-decode21-Aug-2018130
hb-unicode-encode21-Aug-2018134
hb-unicode-prettyname21-Aug-2018175
hb_test_tools.py21-Aug-201814.5K
Makefile.am21-Aug-20182.4K
README.md21-Aug-20181.8K
record-test.sh21-Aug-20182.5K
run-tests.py21-Aug-20182.6K
tests/21-Aug-2018
texts/21-Aug-2018

README.md

      1 Adding tests
      2 ============
      3 
      4 You 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 ```
      8 assuming an in-tree build.  The 41 42 43 627 here is a sequence of
      9 Unicode codepoints: U+0041,0042,0043,0627.  When you are happy with
     10 the shape results, you can use the `record-test.sh` script to add
     11 this to the test suite.  `record-test.sh` requires `pyftsubset` to
     12 be installed.  You can get `pyftsubset` by installing
     13 FontTools from <https://github.com/behdad/fonttools>.
     14 
     15 To use `record-test.sh`, just put it right before the `hb-shape` invocation:
     16 ```sh
     17 $ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-shape font.ttf
     18 ```
     19 what 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-test.sh ../../util/hb-shape font.ttf >> tests/test-name.test
     31 ```
     32 
     33 If you created a new test file, add it to `Makefile.am` so it is run.
     34 Check that `make check` does indeed run it, and that the test passes.
     35 When everything looks good, `git add` the new font as well as new
     36 test file if you created any.  You can see what new files are there
     37 by running `git status tests fonts/sha1sum`.  And commit!
     38 
     39 *Note!*  Please only add tests using Open Source fonts, preferably under
     40 OFL or similar license.
     41