def make_formatter(self, width, padding, alignment, overflow=None):
        """ Create formatter function that factors the width and alignment
        settings. """
        if overflow is None:
            overflow = self.overflow_default
        if overflow == 'clip':
            overflower = lambda x: [x.clip(width, self.table.cliptext)]
        elif overflow == 'wrap':
            overflower = lambda x: x.wrap(width)
        elif overflow == 'preformatted':
            overflower = lambda x: x.split('\n')
        else:
            raise RuntimeError("Unexpected overflow mode: %r" % overflow)
        align = self.get_aligner(alignment, width)
        pad = self.get_aligner('center', width + padding)
        return lambda value: [pad(align(x)) for x in overflower(value)]
Create formatter function that factors the width and alignment
        settings.