Ein möglicher Ansatz per Skript:
GREP-Suche nach '\<[\u\l]|[\u\l]\>'
Formatiert mit Schriftschnitt Italic
(= erstes Zeichen am Wortbeginn oder letztes Zeichen am Wortende ist kursiv)
Weise allen vom Ergebnis betroffenen Wörtern, also allen Wörtern, die mit Schriftschnitt 'Italic' beginnen oder Schriftschnitt 'Italic' enden komplett den Schriftschnitt 'Italic' zu (auch wenn sich bereits komplett kursiv sind).
Es hängt eben davon ab, was InDesign unter einem Wort versteht. Leider ordnet InDesign auch Satzzeichen (nicht nur Wortzeichen) einem Wort zu.
Also ist dieser Ansatz noch nicht befriedigend. Man müsste für eine befriedigende Lösung nur die aufeinanderfolgenden Wortzeichen eines einem Zeichen übergeordneten Worts adressieren.
Dafür habe ich noch keine Lösung.
---
edit:
Man könnte über ein match([\u\l]+) des contents eines Worts die tatsächliche Anfangs- und Endeposition des Worts (nur Wortzeichen) bestimmten und über die Indices des Anfangs und des Endes des word-Objekts den zu formatierenden Zeichenbereich (characters.itemByRange(x,y)) berechnen und diesem dann die Formatierung zuweisen.
Oder das Gegenteil: ein match(^[^\u\l]+|[^\u\l]$) des contents und entsprechende Abzüge vornehmen.
Eine mögliche Kontrolle des Ergebnisses des Skripts:
Vor der Ausführung des Skripts alle Kursiv-Auszeichnungen mit einem entsprechenden Zeichenformat versehen.
Nach dem Skript kann man dann nach Kursiv ohne Zeichenformat suchen und damit einen Großteil des umformatierten Texts finden (eben Text mit nur Kursiv ohne irgendein Zeichenformat).