def get_advances(self, text, font): """Get a list of horizontal advances for text rendered in a font.""" try: return self.advance_cache[(text, font)] except KeyError: hb_output = render.run_harfbuzz_on_text(text, font, '') hb_output = json.loads(hb_output) advances = [glyph['ax'] for glyph in hb_output] self.advance_cache[(text, font)] = advances return advances
def _run_harfbuzz(text, font, language, extra_parameters=None): """Run harfbuzz on some text and return the shaped list.""" try: # if extra_parameters is a string, split it into a list extra_parameters = extra_parameters.split(' ') except AttributeError: pass hb_output = render.run_harfbuzz_on_text( text, font, language, extra_parameters) return json.loads(hb_output)
def _run_harfbuzz(text, font, language, extra_parameters=None): """Run harfbuzz on some text and return the shaped list.""" try: # if extra_parameters is a string, split it into a list extra_parameters = extra_parameters.split(' ') except AttributeError: pass hb_output = render.run_harfbuzz_on_text(text, font, language, extra_parameters) return json.loads(hb_output)