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

hulk1776

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

К.Т.

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

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

hulk1776

Топикстартер
12 лет на форуме
Сообщения
448
Оценка реакций
12
А как узнавать, кириллица это или нет?
 

К.Т.

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

LeonidB

В режиме Read Only (и то изредка)
Сообщения
2 043
Оценка реакций
1 261
Буквы русского алфавита лучше искать не выражением [А-Яа-я], а выражением [ЁёА-я].
 

hulk1776

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

Petruccio

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

LeonidB

В режиме Read Only (и то изредка)
Сообщения
2 043
Оценка реакций
1 261
Можно ещё так искать кириллицу: [\x{0400}-\x{04FF}]
Этот диапазон чуток пошире современного русского алфавита :)
116370
Так что если задача состоит в поиске именно нынешних русских букв, то поиск надо сузить:)