Hi Uwe,
thanks for solving my problem with unicode ranges - I used just the wrong notation. Too much programming in different languages recently. You're right with handling punctuation and brackets differently. For the brackets I'd consider a separate grep and third character style with reduced tracking.
Btw, I hope Jay is aware that the info palette (F8) displays unicode values if the selection is a single character, so he can adjust the greps according to his document. If the grep expression gets too large, you can even split mine into two conditions:
([A-z](?=[^A-z]))|([^A-z](?=[A-z]))
=>
[A-z](?=[^A-z])
[^A-z](?=[A-z])
Dirk