(root)/
harfbuzz-8.3.0/
test/
subset/
repack_test.py
       1  #!/usr/bin/env python3
       2  
       3  import os
       4  
       5  # Parses a single repacking test file. The first line of the file is
       6  # the name of the font to use and the remaining lines define the set of
       7  # codepoints in the subset.
       8  class ESC[4;38;5;81mRepackTest:
       9  
      10  	def __init__(self, test_path, definition):
      11  		self.test_path = test_path
      12  		self.font_name = None
      13  		self.codepoints = set ()
      14  		self._parse(definition)
      15  
      16  	def font_path(self):
      17  		return os.path.join (self._base_path (), "fonts", self.font_name)
      18  
      19  	def codepoints_string (self):
      20  		return ",".join (self.codepoints)
      21  
      22  	def _base_path(self):
      23  	        return os.path.join(
      24  		    os.path.dirname(self.test_path),
      25  		    "../")
      26  
      27  
      28  	def _parse(self, definition):
      29  		lines = definition.splitlines ()
      30  		self.font_name = lines.pop (0)
      31  		for line in lines:
      32  			line = line.strip()
      33  			if not line:
      34  				continue
      35  
      36  			self.codepoints.add (line)