'Create a copy of this FreeTypeFont object,
using any specified arguments to override the settings.
Parameters are identical to the parameters used to initialize this
object.
:return: A FreeTypeFont object.'

def font_variant(self, font=None, size=None, index=None, encoding=None, layout_engine=None):

    return FreeTypeFont(font=(self.path if (font is None) else font), size=(self.size if (size is None) else size), index=(self.index if (index is None) else index), encoding=(self.encoding if (encoding is None) else encoding), layout_engine=(self.layout_engine if (layout_engine is None) else layout_engine))
