[ID CC2024] Проблемы с обработкой кириллицы в regex в EasyCatalog в Индизайне на Маке

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Всем привет. Проблема такая. Неожиданно обнаружил, что в песледних версиях EasyCatalog/InDesign/Mac OS в разделе REGEXV2 перестали работать некоторые универсальные коды, когда дело касается кириллицы. Например, \l(любой символ lowercase), \u(любой символ uppercase), \w(любая буква или цифра), (?i)(не учитывать регистр), \U(сделать знак uppercase), \L(сделать знак lowercase), возможно что-то еще, что пока не обнаружено.

Примеры:
Код:
раньше работало «6 марта - 12 марта» => «REGEXV2:(\d{2})\s(\l{3,8})\s*-\s*(\d{2}\s)(\2)=$1^==$3$4;» => «6–12 марта», теперь для того же результата требуется «REGEXV2:(\d{2})\s([а-я]{3,8})\s*-\s*(\d{2}\s)(\2)=$1-$3$4;»

раньше по «REGEXV2:(?1)выгодно» находились все «Выгодно|ВЫГОДНО|выгодно|вЫГОДНО», сейчас только «выгодно»

раньше «REGEXV2:.+=\U$0;» превращало любую букву в заглавную, сейчас на кириллицу не действует.

На латинице все работает, как надо. А вот на кириллицу действует только прямое указание на символ и «.», как на любой символ, вообще. Такое впечатление, что он кириллицу не воспринимает, как буквенно-цифровой символ (А какой, интересно?).
Проблемы именно в EasyCatalog, в теле, так сказать самого InDesign, все в порядке. Сейчас EasyCatalog и InDesign версии 2024(19), Mac OS — 14.2.1. Когда началось точно сказать сложно, заметил я это не сразу, но чуть больше года назад работало, это точно. Есть старые конфиги (создавались еще для версий 2023), в которых прописаны коды, сейчас не работающие. На Винде по этим же конфигам все работает.
Screenshot-2024-02-29-at-23.52.01.jpg


Screenshot-2024-02-29-at-23.54.50.jpg
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
интересно, сколько установок этого плагина есть в россии...
там дальше в advanced есть настройки языка.
попробуйте язык в системе primary русским сделать.
хз, что еще может быть, в стилях посмотрите чтоб тоже русский был.
 

plumbum

Участник
Сообщения
52
Реакции
13
не знаю как это работает там, попробуйте выставить после "REGEXV2: " - "/" ("REGEXV2: /..") и до "»" - "/i" или "/gi"
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
не знаю как это работает там, попробуйте выставить после "REGEXV2: " - "/" ("REGEXV2: /..") и до "»" - "/i" или "/gi"
да не, это не JS )
REGEXV2: намекает что далее идет regexp, а через равно — что на что менять
 
  • Спасибо
Реакции: plumbum

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
значит имеет смысл "/i" или "/gi" до "="
Попробовал, не помогает. И перед «=», и перед «;»
Варианты от azz тоже не помогают. В advanced язык русский, в стилях тоже, но стили и влиять не могут, это все происходит в самой панели EasyCatalog, в свойствах Fields (это столбец), до любого применения стилей. Оно работает независимо от Индизайновского файла, даже при отсутствии открытых файлов. Вот только в системе еще не попробовал русский приоритетным, пока комп перезагружать не с руки. Вечером сделаю, наверное. Но, на Винде приоритетный язык тоже английский, так что на это мало надежды.
 

plumbum

Участник
Сообщения
52
Реакции
13
Если этот EasyCatalog использует XML файлы конфигурации имеет смысл поиграться с атрибутом xml:lang="ru"
Также можно сделать поиск по его файлам, строк "encoding", "encode", "encod", "locale", "local", "loc"
Если вы за это дело платите, имеет смысл написать, пусть расскажут как выставить русскую локаль или добавят это туда.
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Кодировка всего хмл файла — Unicode-8, отдельно для каждого Fields кодировки нет. А для языка, наоборот, для каждого столба выставляется, и в проблемных указано, что язык русский. Но не помогает. Так что, видимо, придется писать вендору, да. Просто только вчера распознал проблему, решил сначала попробовать разобраться.
ПС. Выложил хмл, если есть желание посмотреть, поразбираться — вот.
 
Последнее редактирование:

plumbum

Участник
Сообщения
52
Реакции
13
ПС. Выложил хмл, если есть желание посмотреть, поразбираться
Ну вот сейчас например там <fielddefinitions><field name = "период" language = ""> - пустой. Вот с этим полем были проблемы в частности? И почти везде language пустой. <fielddefinitions><field name = "Концепт" language = "Russian"> тут есть.
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Нет, проблемы с «field name = "периодБольшой"», и в нем «language = "Russian"». Это строка 156.
А почти везде пустой этот тег, потому что никогда ни на что не влиял. Ну, по крайней мере, я ни разу такого не заметил.
 
Последнее редактирование:

plumbum

Участник
Сообщения
52
Реакции
13
Ну если не добьетесь успеха последнее останется пройтись по регуляркам, заменить везде "\s" на "[a-zA-Zа-яА-Я]"
 

big bear

Топикстартер
15 лет на форуме
Сообщения
56
Реакции
14
Сами по себе буквы, меньшая проблема, их обойти не так сложно. Главная засада — регистр. Нет выключения/включения чувствительности к регистру, и нет команд смены регистра. Это уже так просто не обойти. Ну, буду писать вендору, судя по всему. Сегодня уточнил, сказали все норм, возможность обращаться в поддержку есть.