def METHOD_NAME(self):
    # we ignore everything but the first path/text
    text, path = self.get_selection()
    self.load_settings(text)
    glyphs = [glyph for glyph in text.iterdescendants(SVG_GROUP_TAG) if len(glyph.label) == 1]
    if not glyphs:
        errormsg(_("The text doesn't contain any glyphs."))
        sys.exit(1)
    path = Stroke(path).as_multi_line_string().geoms[0]
    path_length = path.length
    # overall bounding box - get from direct glyph parent
    text_bbox = glyphs[0].getparent().bounding_box()
    text_y = text_bbox.bottom
    if self.options.stretch_spaces:
        text_content = self.settings["text"]
        space_indices = [i for i, t in enumerate(text_content) if t == " "]
        text_bbox = text.bounding_box()
        text_width = convert_unit(text_bbox.width, 'px', self.svg.unit)
        if len(text_content) - 1 != 0:
            stretch_space = (path_length - text_width) / (len(text_content) - 1)
        else:
            stretch_space = 0
    else:
        stretch_space = 0
        space_indices = []
    self.transform_glyphs(glyphs, path, stretch_space, space_indices, text_y)