Я написал небольшое тестовое приложение, чтобы помочь мне определить, какой из этих символов вызывает разделение. Это все еще ручной процесс, но, по крайней мере, теперь на него легче смотреть. Сценарий начался с кода ASCII 1, а я поднялся до 3000.
Это вызывает разделение после символа:
Private arrSplitAfter() As Char = {CChar(" "), CChar("-"), ChrW(9), CChar("!"), CChar("?"), CChar("%"), CChar(")"), CChar("/"), CChar("]"), CChar("|"), CChar("}"), ChrW(133), ChrW(162), ChrW(176), ChrW(1418), ChrW(1478), ChrW(1547), ChrW(1548), ChrW(1563), ChrW(1566), ChrW(1567), ChrW(1642), ChrW(1748), ChrW(2404), ChrW(2405)}
И это вызывает разделение перед символом:
Private arrSplitBefore() As Char = {CChar("$"), CChar("("), CChar("+"), CChar("["), CChar("\"), CChar("{"), ChrW(163), ChrW(164), ChrW(165), ChrW(177), ChrW(180), ChrW(712), ChrW(716), ChrW(2546), ChrW(2547), ChrW(2801)}
Очевидно, что осталось еще много персонажей. К сожалению, я столкнулся с ошибкой. Я пытался написать какой-то очень эффективный код подсветки, который бы работал на тексте, завернутом в слова Пока я не смогу найти решение для своих проблем с освещением, я не буду продолжать.