'Pad all double-width characters in self by appending `pad_char` to each.
For East Asian language support.'

def pad_double_width(self, pad_char):

    if hasattr(unicodedata, 'east_asian_width'):
        east_asian_width = unicodedata.east_asian_width
    else:
        return
    for i in range(len(self.data)):
        line = self.data[i]
        if isinstance(line, types.UnicodeType):
            new = []
            for char in line:
                new.append(char)
                if (east_asian_width(char) in 'WF'):
                    new.append(pad_char)
            self.data[i] = ''.join(new)
