def METHOD_NAME(self, index, role=Qt.DisplayRole):
    if index.isValid() and not self.mapToSource(index).isValid():
        row = index.row()
        if role == Qt.DisplayRole:
            return self._map[row].text()
        elif role == Qt.ForegroundRole:
            return QBrush(QColor(S.highlightedTextDark))
        elif role == Qt.BackgroundRole:
            return QBrush(QColor(S.highlightLight))
        elif role == Qt.TextAlignmentRole:
            return Qt.AlignCenter
        elif role == Qt.FontRole:
            f = QFont()
            # f.setPointSize(f.pointSize() + 1)
            f.setWeight(QFont.Bold)
            return f
    else:
        # FIXME: sometimes, the name of the character is not displayed
        return self.sourceModel().METHOD_NAME(self.mapToSource(index), role)