tree: 79db6edb8cc60c1cb7afab199d6b907358d5160d [path history] [tgz]
  1. BUILD.gn
  2. README.md
  3. src/
  4. tests/
src/fonts/tools/manifest_generator/README.md

Font Manifest Generator

The font manifest generator creates a .font_manifest.json file for use by the font server.

To see usage instructions, run

./out/default/host_x64/font_manifest_generator --help

Inputs

1. *.font_catalog.json

Contains a human-written listing of font families, assets, and typefaces. See schema.

One .font_catalog.json file exists for each CIPD font repo.

These files are expected to reside in the Fuchsia source tree.

2. *.font_pkgs.json

Contains a listing of font asset names (e.g. "Roboto-Bold.ttf", safe package name suffixes (e.g. "roboto-bold-ttf"), and the relative path of the asset within the font directory.

One .font_pkgs.json file exists for each CIPD font repo. It is generated by a recipe and checked out as a prebuilt, along with font files.

3. *.font_sets.json

Contains a listing of base and universe font asset names, indicating which font packages are part of the OTA image and which are ephemeral packages.

This file determines which font assets from the catalogs actually end up in the generated manifest.

This file is generated by the GN font_set template. TODO(8892) There should be one .font_sets.json file per product target.

4. Font directory

This is usually a directory in //prebuilt/third_party, and it is where the CIPD checkout places all of the font asset files and the *.font_pkgs.json files.

The manifest generator must read the font files to collect the set of code points for each typeface.

Testing

  1. Make sure your fx set arguments include --with //bundles:tests.
  2. Execute fx build
  3. Execute:
fx run-host-tests font_manifest_generator_bin_test \
font_manifest_generator_integration_tests