Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
 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