mirror of
https://github.com/love2d/megasource.git
synced 2026-08-20 04:30:45 +02:00
update harfbuzz to 10.1.0
This commit is contained in:
@@ -0,0 +1,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.
|
||||
Reference in New Issue
Block a user