@property<EOL><INDENT>def font(self):<DEDENT>
if self._font is not None:<EOL><INDENT>return self._font<EOL><DEDENT>sorted_sources = self.to_glyphs_ordered_masters()<EOL>self._font = self.glyphs_module.GSFont()<EOL>self._sources = OrderedDict()  <EOL>for index, source in enumerate(s for s in sorted_sources if not s.layerName):<EOL><INDENT>master = self.glyphs_module.GSFontMaster()<EOL>if GLYPH_ORDER_KEY in source.font.lib:<EOL><INDENT>source.font.lib[GLYPH_ORDER_KEY] = [<EOL>glyph_name<EOL>for glyph_name in source.font.lib[GLYPH_ORDER_KEY]<EOL>if "<STR_LIT>" not in glyph_name<EOL>]<EOL><DEDENT>self.to_glyphs_font_attributes(source, master, is_initial=(index == <NUM_LIT:0>))<EOL>self.to_glyphs_master_attributes(source, master)<EOL>self._font.masters.insert(len(self._font.masters), master)<EOL>self._sources[master.id] = source<EOL>for bracket_glyph in [g for g in source.font if "<STR_LIT>" in g.name]:<EOL><INDENT>base_glyph, threshold = bracket_glyph.name.split("<STR_LIT>")<EOL>try:<EOL><INDENT>int(threshold)<EOL><DEDENT>except ValueError:<EOL><INDENT>raise ValueError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>".format(bracket_glyph)<EOL>)<EOL><DEDENT>layer_name = bracket_glyph.lib.get(<EOL>GLYPHLIB_PREFIX + "<STR_LIT>", "<STR_LIT>".format(threshold)<EOL>)<EOL>if layer_name not in source.font.layers:<EOL><INDENT>ufo_layer = source.font.newLayer(layer_name)<EOL><DEDENT>else:<EOL><INDENT>ufo_layer = source.font.layers[layer_name]<EOL><DEDENT>bracket_glyph_new = ufo_layer.newGlyph(base_glyph)<EOL>bracket_glyph_new.copyDataFromGlyph(bracket_glyph)<EOL>for layer in source.font.layers:<EOL><INDENT>if bracket_glyph.name in layer:<EOL><INDENT>del layer[bracket_glyph.name]<EOL><DEDENT><DEDENT><DEDENT>for layer in _sorted_backgrounds_last(source.font.layers):<EOL><INDENT>self.to_glyphs_layer_lib(layer)<EOL>for glyph in layer:<EOL><INDENT>self.to_glyphs_glyph(glyph, layer, master)<EOL><DEDENT><DEDENT><DEDENT>self.to_glyphs_features()<EOL>self.to_glyphs_groups()<EOL>self.to_glyphs_kerning()<EOL>if self.designspace.sources:<EOL><INDENT>first_ufo = self.designspace.sources[<NUM_LIT:0>].font<EOL>if GLYPH_ORDER_KEY in first_ufo.lib:<EOL><INDENT>glyph_order = first_ufo.lib[GLYPH_ORDER_KEY]<EOL>lookup = {name: i for i, name in enumerate(glyph_order)}<EOL>self.font.glyphs = sorted(<EOL>self.font.glyphs, key=lambda glyph: lookup.get(glyph.name, <NUM_LIT:1> << <NUM_LIT>)<EOL>)<EOL><DEDENT>for glyph in self._font.glyphs:<EOL><INDENT>self.to_glyphs_layer_order(glyph)<EOL><DEDENT><DEDENT>self.to_glyphs_family_user_data_from_designspace()<EOL>self.to_glyphs_axes()<EOL>self.to_glyphs_sources()<EOL>self.to_glyphs_instances()<EOL>return self._font<EOL>
Get the GSFont built from the UFOs + designspace.