| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python3
- import os
- # Parses a single repacking test file. The first line of the file is
- # the name of the font to use and the remaining lines define the set of
- # codepoints in the subset.
- class RepackTest:
- def __init__(self, test_path, definition):
- self.test_path = test_path
- self.font_name = None
- self.codepoints = set ()
- self._parse(definition)
- def font_path(self):
- return os.path.join (self._base_path (), "fonts", self.font_name)
- def codepoints_string (self):
- return ",".join (self.codepoints)
- def _base_path(self):
- return os.path.join(
- os.path.dirname(self.test_path),
- "../")
- def _parse(self, definition):
- lines = definition.splitlines ()
- self.font_name = lines.pop (0)
- for line in lines:
- line = line.strip()
- if not line:
- continue
- self.codepoints.add (line)
|