Disclaimer: GREP is not my strong suit, but I think this can be accomplished via script. The following will find all bracketed content, and compare the brackets to the first and last characters within the brackets to compare their applied fonts. Not sure if my app.findGrepPreferences.findWhat line will match exactly all the time — if you already have a good GREP you’re using, feel free to sub it in (add an additional escape backslash for the script purposes. I haven’t fully tested, but you can give it a shot.
var doc = app.activeDocument;
app.findGrepPreferences = NothingEnum.NOTHING;
app.changeGrepPreferences = NothingEnum.NOTHING;
app.findGrepPreferences.findWhat = “[(w*| *){1,}]”;
var finds = doc.findGrep();
for (var i = 0; i < finds.length; i++) {
var firstBrack = finds[i].characters[0];
var lastBrack = finds[i].characters[-1];
var firstChar = finds[i].characters[1];
var lastChar = finds[i].characters[-2];
if (firstChar.appliedFont.fullName.toLowerCase().indexOf(“italic”) >= 0 && lastChar.appliedFont.fullName.toLowerCase().indexOf(“italic”) >= 0)
{
firstBrack.appliedFont = firstChar.appliedFont;
lastBrack.appliedFont = firstChar.appliedFont;
}
else if (firstChar.appliedFont.fullName.toLowerCase().indexOf(“italic”) == -1 && lastChar.appliedFont.fullName.toLowerCase().indexOf(“italic”) == -1) {
firstBrack.appliedFont = firstChar.appliedFont;
lastBrack.appliedFont = firstChar.appliedFont;
}
}
app.findGrepPreferences = NothingEnum.NOTHING;
app.changeGrepPreferences = NothingEnum.NOTHING;