Check the count of the families in a default collection.
After I9e01d237c9adcb05e200932401cb1a4780049f86, Minikin can
accept up to 254 font families. To make sure we don't exeed this limit,
introduce an assertion to fontchain_lint.py
Bug: 33562608
Test: m fontchain_lint
Change-Id: I35fc104fd4763f77145bef0e7c5facf30fa99644
diff --git a/tools/fonts/fontchain_lint.py b/tools/fonts/fontchain_lint.py
index 219fa2d..f193ea4 100755
--- a/tools/fonts/fontchain_lint.py
+++ b/tools/fonts/fontchain_lint.py
@@ -204,7 +204,13 @@
_script_to_font_map = collections.defaultdict(set)
_fallback_chain = []
tree = ElementTree.parse(fonts_xml_path)
- for family in tree.findall('family'):
+ families = tree.findall('family')
+ # Minikin supports up to 254 but users can place their own font at the first
+ # place. Thus, 253 is the maximum allowed number of font families in the
+ # default collection.
+ assert len(families) < 254, (
+ 'System font collection can contains up to 253 font families.')
+ for family in families:
name = family.get('name')
variant = family.get('variant')
langs = family.get('lang')