К сожалению, похоже, что в моем тексте (например) \ u00B8 (cedilla) вместо \ u0327 (cedilla) используется комбинация.
Эх, мерзко! Вы все еще можете сделать это автоматически, хотя процесс не будет полностью без потерь, так как включает декомпозицию совместимости (NFKD).
Нормализуйте U + 00B8 в NFKD, и вы получите пробел, за которым следует U + 0327. Затем вы можете сканировать строку в поисках любого символа пробела с последующим объединением символов и удалить пробел. Наконец, рекомендуйте NFC вместо этого комбинировать символы с предыдущим.
s= unicodedata.normalize('NFKD', s)
s= ''.join(c for i, c in enumerate(s) if c!=' ' or unicodedata.combining(s[i+1])==0)
s= unicodedata.normalize('NFC', s)