[ID CC-CC2021] Можно ли идентифицировать язык?

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Надо узнать, англотекст или рустекст под курсором. Можно ли это сделать скриптом?
Код:
mText = app.selection[0].texts[0].appliedLanguage;
определяет словарь, присвоенный тексту, но не сам язык.
Хочу на русский текст задавать один стиль, а на англо - другой.
 

К.Т.

Участник
Сообщения
323
Реакции
337
Для двуязычного текста без хитрых моментов:
есть кириллица — русский.
нет кириллицы — английский.

Соответственно, стиль можно присваивать через grep.
 

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
А как узнавать, кириллица это или нет?
 

К.Т.

Участник
Сообщения
323
Реакции
337
Grep:
^[^\rА-Яа-я]+\r
(абзац без кириллицы).
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 468
Реакции
1 528
Буквы русского алфавита лучше искать не выражением [А-Яа-я], а выражением [ЁёА-я].
 
  • Спасибо
Реакции: К.Т. и hulk1776

hulk1776

Топикстартер
15 лет на форуме
Сообщения
725
Реакции
21
Grep:
^[^\rА-Яа-я]+\r
(абзац без кириллицы).
За греп спасибо. Правда у меня несколько иная задачка: выделяю список литературы и по первым буквам автора ставлю или стиль с грепленными на курсив авторами или без курсива, если список литературы относится к англоавторам. Самого поиска не происходит.
p.s. задачка возникла после того, как редактор дала команду всегда курсивить только русских авторов, а англоавторов оставлять без изменений (так, как прислали в ворде). Поэтому пришлось сделать два стиля (один с курсивом, другой без и одним скриптом обработать и тех и других. Теперь jsx сам поймет, какой кому стиль задать. Всем спасибо!
 

Petruccio

15 лет на форуме
Сообщения
923
Реакции
213
Можно ещё так искать кириллицу: [\x{0400}-\x{04FF}]
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 468
Реакции
1 528
Можно ещё так искать кириллицу: [\x{0400}-\x{04FF}]
Этот диапазон чуток пошире современного русского алфавита :)
116370
Так что если задача состоит в поиске именно нынешних русских букв, то поиск надо сузить:)
 
  • Спасибо
Реакции: Petruccio