'Required:
nothing
Returns:
a dictionary indicating with values for special fonts
Logic:
Read one line in at a time. Determine what action to take based on
the state. If the state is font_table, looke for individual fonts
and add the number and font name to a dictionary. Also create a
tag for each individual font in the font table.
If the state is after the font table, look for lines with font
info. Substitute a font name for a font number.'

def convert_fonts(self):

    self.__initiate_values()
    with open(self.__file, 'r') as read_obj:
        with open(self.__write_to, 'w') as self.__write_obj:
            for line in read_obj:
                self.__token_info = line[:16]
                action = self.__state_dict.get(self.__state)
                if (action is None):
                    sys.stderr.write((('no    matching    state    in    module    fonts.py\n' + self.__state) + '\n'))
                action(line)
    default_font_name = self.__font_table.get(self.__default_font_num)
    if (not default_font_name):
        default_font_name = 'Not    Defined'
    self.__special_font_dict['default-font'] = default_font_name
    copy_obj = copy.Copy(bug_handler=self.__bug_handler)
    if self.__copy:
        copy_obj.copy_file(self.__write_to, 'fonts.data')
    copy_obj.rename(self.__write_to, self.__file)
    os.remove(self.__write_to)
    return self.__special_font_dict
