[Fontations] Test path equivalence for a set of test fonts and strings

Using the test data added to the googlefonts_tests CIPD repo [1] in
Chromium change [2], iterate over a limited set of the testdata-provided
JSON metadata to find test font name and path, as well as language
specific test strings. Declare the subset of fonts we use for testing,
and the language to test the font with in the statically declare
DEF_TEST stanzas.

Shape test string with the HarfBuzz shaper module, then iterate over
selected glyphs and compare their path equivalence. Reuse the
Path::dump() method for that, as it canonicalizes the output.

These tests require the developer to run bin/fetch-fonts-testdata, for
details, see [3].

Tests to be enabled when infra is able to pass location of
extracted CIPD to DM.

[1] https://chrome-infra-packages.appspot.com/p/chromium/third_party/googlefonts_testdata/+/
[2] https://chromium-review.googlesource.com/c/chromium/src/+/4838814
[3] https://skia-review.googlesource.com/c/skia/+/752837

Cq-Include-Trybots: luci.skia.skia.primary:Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Fontations,Test-Mac12-Clang-MacBookPro16.2-CPU-AppleIntel-x86_64-Debug-All-Fontations,Build-Mac-Clang-x86_64-Debug-Fontations,Build-Debian10-Clang-x86_64-Debug-Fontations
Bug: skia:295807418
Change-Id: I3fa7e1b7d54e7641bea69fcdd3efebd77c0eac6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/757076
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
9 files changed