Test Roboto's vertical font metrics
Test that yMin, yMax, Ascent, and Descent values of Roboto are not
changed.
Bug: 26187231
Change-Id: Ia41f5a118e292b8eda8dae5124be112dc0cdbc8d
diff --git a/tools/fonts/fontchain_lint.py b/tools/fonts/fontchain_lint.py
index 336fce9..b6f46a2 100755
--- a/tools/fonts/fontchain_lint.py
+++ b/tools/fonts/fontchain_lint.py
@@ -554,6 +554,15 @@
return all_emoji, default_emoji, equivalent_emoji
+def check_vertical_metrics():
+ for record in _fallback_chain:
+ if record.name in ['sans-serif', 'sans-serif-condensed']:
+ font = open_font(record.font)
+ assert (font['head'].yMax == 2163 and font['head'].yMin == -555 and
+ font['hhea'].ascent == 1900 and font['hhea'].descent == -500), (
+ 'Vertical metrics of %s do not match expected Roboto metrics.' % (record.font,))
+
+
def main():
global _fonts_dir
target_out = sys.argv[1]
@@ -562,6 +571,8 @@
fonts_xml_path = path.join(target_out, 'etc', 'fonts.xml')
parse_fonts_xml(fonts_xml_path)
+ check_vertical_metrics()
+
hyphens_dir = path.join(target_out, 'usr', 'hyphen-data')
check_hyphens(hyphens_dir)