def to_ufos(<EOL>font,<EOL>include_instances=False,<EOL>family_name=None,<EOL>propagate_anchors=True,<EOL>ufo_module=defcon,<EOL>minimize_glyphs_diffs=False,<EOL>generate_GDEF=True,<EOL>store_editor_state=True,<EOL>):
builder = UFOBuilder(<EOL>font,<EOL>ufo_module=ufo_module,<EOL>family_name=family_name,<EOL>propagate_anchors=propagate_anchors,<EOL>minimize_glyphs_diffs=minimize_glyphs_diffs,<EOL>generate_GDEF=generate_GDEF,<EOL>store_editor_state=store_editor_state,<EOL>)<EOL>result = list(builder.masters)<EOL>if include_instances:<EOL><INDENT>return result, builder.instance_data<EOL><DEDENT>return result<EOL>
Take a GSFont object and convert it into one UFO per master.

    Takes in data as Glyphs.app-compatible classes, as documented at
    https://docu.glyphsapp.com/

    If include_instances is True, also returns the parsed instance data.

    If family_name is provided, the master UFOs will be given this name and
    only instances with this name will be returned.

    If generate_GDEF is True, write a `table GDEF {...}` statement in the
    UFO's features.fea, containing GlyphClassDef and LigatureCaretByPos.