'Reinitializes self if relevant rcParams on have changed.'

def get_font_config(self):

    if (self._rc_cache is None):
        self._rc_cache = dict.fromkeys(self._rc_cache_keys)
    changed = [par for par in self._rc_cache_keys if (rcParams[par] != self._rc_cache[par])]
    if changed:
        if DEBUG:
            print(u'DEBUG    following    keys    changed:', changed)
        for k in changed:
            if DEBUG:
                print((u'DEBUG    %-20s:    %-10s    ->    %-10s' % (k, self._rc_cache[k], rcParams[k])))
            self._rc_cache[k] = copy.deepcopy(rcParams[k])
        if DEBUG:
            print(u'DEBUG    RE-INIT\nold    fontconfig:', self._fontconfig)
        self.__init__()
    if DEBUG:
        print(u'DEBUG    fontconfig:', self._fontconfig)
    return self._fontconfig
