Branch
Hash :
a38f853e
Author :
Date :
2024-06-27T15:35:01
Drop unused Makefile.sources files
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-subset ../../util/hb-shape font.ttf
what this does is:
hb-shape output of the original font versus the subset
font for the input sequence, hb-view for both fonts. data/in-house/fonts and name it after its
hash, and print out the test case input, which you can then redirect
to an existing or new test file in data/in-house/tests using -o,
e.g.: $ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh -o data/in-house/tests/test-name.tests ../../util/hb-subset ../../util/hb-shape font.ttf
If you created a new test file, add it to data/in-house/meson.build
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 the new test file if you created any. You can see what new files are
there by running git status data/in-house. And commit!
Note! Please only add tests using Open Source fonts, preferably under OFL or similar license.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
Adding tests
============
You can test shaping of a unicode sequence against a font like this:
```sh
$ ./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:
```sh
$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh ../../util/hb-subset ../../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 `data/in-house/fonts` and name it after its
hash, and print out the test case input, which you can then redirect
to an existing or new test file in `data/in-house/tests` using `-o`,
e.g.:
```sh
$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh -o data/in-house/tests/test-name.tests ../../util/hb-subset ../../util/hb-shape font.ttf
```
If you created a new test file, add it to `data/in-house/meson.build`
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 the new test file if you created any. You can see what new files are
there by running `git status data/in-house`. And commit!
*Note!* Please only add tests using Open Source fonts, preferably under
OFL or similar license.