[subset] apply subset profiles (flags) to the subset integration tests.
This commit is contained in:
parent
a4aca190a9
commit
5241d7f4b9
|
@ -15,16 +15,17 @@ def usage():
|
|||
print "Usage: generate-expected-outputs.py <test suite file> ..."
|
||||
|
||||
|
||||
def generate_expected_output(input_file, unicodes, output_path):
|
||||
check_call(["fonttools", "subset",
|
||||
input_file,
|
||||
"--notdef-outline",
|
||||
def generate_expected_output(input_file, unicodes, profile_flags, output_path):
|
||||
args = ["fonttools", "subset", input_file]
|
||||
args.extend(profile_flags)
|
||||
args.extend(["--notdef-outline",
|
||||
"--name-IDs=*",
|
||||
"--name-languages=*",
|
||||
"--name-legacy",
|
||||
"--drop-tables+=DSIG,GPOS,GSUB,GDEF",
|
||||
"--unicodes=%s" % unicodes,
|
||||
"--output-file=%s" % output_path])
|
||||
check_call(args)
|
||||
|
||||
|
||||
args = sys.argv[1:]
|
||||
|
@ -41,6 +42,6 @@ for path in args:
|
|||
unicodes = test.unicodes()
|
||||
font_name = test.get_font_name()
|
||||
print "Creating subset %s/%s" % (output_directory, font_name)
|
||||
generate_expected_output(test.font_path, unicodes,
|
||||
generate_expected_output(test.font_path, unicodes, test.get_profile_flags(),
|
||||
os.path.join(output_directory,
|
||||
font_name))
|
||||
|
|
|
@ -44,6 +44,7 @@ def run_test(test):
|
|||
"--font-file=" + test.font_path,
|
||||
"--output-file=" + out_file,
|
||||
"--unicodes=%s" % test.unicodes()]
|
||||
cli_args.extend (test.get_profile_flags())
|
||||
print (' '.join(cli_args))
|
||||
_, return_code = cmd(cli_args)
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import io
|
||||
import os
|
||||
|
||||
# A single test in a subset test suite. Identifies a font
|
||||
|
@ -13,6 +14,10 @@ class Test:
|
|||
def unicodes(self):
|
||||
return ",".join("%X" % ord(c) for (i, c) in enumerate(self.subset))
|
||||
|
||||
def get_profile_flags(self):
|
||||
with io.open(self.profile_path, mode="r", encoding="utf-8") as f:
|
||||
return f.read().splitlines();
|
||||
|
||||
def get_font_name(self):
|
||||
font_base_name = os.path.basename(self.font_path)
|
||||
font_base_name_parts = os.path.splitext(font_base_name)
|
||||
|
|
Loading…
Reference in New Issue