def fit_text(self, font_family='Calibri', max_size=18, bold=False,
                 italic=False, font_file=None):
        """Fit text-frame text entirely within bounds of its shape.

        Make the text in this text frame fit entirely within the bounds of
        its shape by setting word wrap on and applying the "best-fit" font
        size to all the text it contains. :attr:`TextFrame.auto_size` is set
        to :attr:`MSO_AUTO_SIZE.NONE`. The font size will not be set larger
        than *max_size* points. If the path to a matching TrueType font is
        provided as *font_file*, that font file will be used for the font
        metrics. If *font_file* is |None|, best efforts are made to locate
        a font file with matchhing *font_family*, *bold*, and *italic*
        installed on the current system (usually succeeds if the font is
        installed).
        """
        # ---no-op when empty as fit behavior not defined for that case---
        if self.text == '':
            return

        font_size = self._best_fit_font_size(
            font_family, max_size, bold, italic, font_file
        )
        self._apply_fit(font_family, font_size, bold, italic)
Fit text-frame text entirely within bounds of its shape.

        Make the text in this text frame fit entirely within the bounds of
        its shape by setting word wrap on and applying the "best-fit" font
        size to all the text it contains. :attr:`TextFrame.auto_size` is set
        to :attr:`MSO_AUTO_SIZE.NONE`. The font size will not be set larger
        than *max_size* points. If the path to a matching TrueType font is
        provided as *font_file*, that font file will be used for the font
        metrics. If *font_file* is |None|, best efforts are made to locate
        a font file with matchhing *font_family*, *bold*, and *italic*
        installed on the current system (usually succeeds if the font is
        installed).