[ID CS4-CS6] Поиск стиля, созданного при помощи GREP style

xamburger

Топикстартер
12 лет на форуме
Сообщения
44
Реакции
47
В Индизайне обнаружился неприятный глюк. Поиск символов по стилю, созданному при помощи GREP style работает совершенно неадекватно и безо всякой логики. Проблему, в принципе, можно решить при помощи скрипта TurnGrepStyles2CharStyles, но может есть еще какие-то варианты?
 

MT

15 лет на форуме
Сообщения
246
Реакции
93
Логика совершенно четкая. GrepStyle не делает присвоения стиля, поэтому и не ищет.
Можно стиль покрасить и искать по цвету.
 
  • Спасибо
Реакции: NNN5

xamburger

Топикстартер
12 лет на форуме
Сообщения
44
Реакции
47
Пытаюсь разобраться. А что в таком случае делает GREPstyle? И не то чтобы совсем не находит, а, например , все находит в первом абзаце, а дальше как повезет. Или все находит в выделенном фрагменте, но не дальше? И ищу я не определенный стиль символа, а его параметр, например Bold. При этом выборочно могут найтись символы, в которых болдом и не пахнет. И где тут логика? С цветом, кстати, та же история, легко проверить
 
Последнее редактирование:

kstati

иɯɐɯɔʞ
10 лет на форуме
Сообщения
1 138
Реакции
512
С цветом, кстати, та же история, легко проверить
Явно ошибка в параметрах поиска. Работает и по цвету, и по жирности, и по прочим явно заданным атрибутам.
Что ищете-то и как именно?
 

xamburger

Топикстартер
12 лет на форуме
Сообщения
44
Реакции
47
Ну к примеру: текст из нескольких абзацев. Греп-стилем красим какую нибудь букву в красный цвет. Потом пытаемся в этом тексте найти (ctrl+f) все красные символы (по атрибуту). На первом абзаце все ок, дальше - до свиданья. Выделяем 3-й абзац - находит, потом находит в 1-м и до свиданья. И все в том же духе. Может это только с CS6? Проверял на нескольких.
 

Oleg Butrin

20 лет на форуме
Сообщения
1 990
Реакции
1 213
Ну к примеру: текст из нескольких абзацев. Греп-стилем красим какую нибудь букву в красный цвет. Потом пытаемся в этом тексте найти (ctrl+f) все красные символы (по атрибуту). На первом абзаце все ок, дальше - до свиданья. Выделяем 3-й абзац - находит, потом находит в 1-м и до свиданья. И все в том же духе. Может это только с CS6? Проверял на нескольких.
Это не бага, это фича.
Так организован внутренний мир текста ID. Если подряд идут несколько абзацев, помеченных стилем абзаца с GREP-настройками, то они вместе образуют так называемый textRange, разбиваемый на абзацы посредством символов конца строки. И включение GREP в нем ищется ровно один раз. Если выделять по одному абзацу и искать в выбранном -- ищет все.
А вот если абзацы с GREP перебиваются обычными абзацами, то искать будет в каждом отдельном.

upload_2017-9-4_20-31-49.png


Это что касается поиска по отдельным параметрам. А вот если искать включения стиля знака, который используется в GREP, то все работает штатно:

upload_2017-9-4_20-35-14.png
 
  • Спасибо
Реакции: Linxy, kstati и LeonidB

xamburger

Топикстартер
12 лет на форуме
Сообщения
44
Реакции
47
В лабораторных условиях ищет так: если задан поиск по параметру, то находит от курсора до конца абзаца + первый абзац
Скриншот 2017-09-04 18.46.39.png
Если задан поиск по стилю, то находит последнее вхождение в каждом абзаце
Скриншот 2017-09-04 18.23.17.png
В жизни все еще веселее.
Фича, конечно, интересная :)
 

xamburger

Топикстартер
12 лет на форуме
Сообщения
44
Реакции
47
Скриншот 2017-09-04 19.19.46.png
А с таким раскладом вообще не находит:
Скриншот 2017-09-04 19.23.40.png