#include AccentsTest.jsx /*Это словарь, типа:
var myAccent = (function()
{
var accent={};
accent['аарон']='аар=он';
return(accent);
})();
*/
if(app.documents.length != 0) {
var myDocument = app.documents[0];
var mySelection = app.selection[0];
myProblemColorSample = [0, 100, 100, 0];
myAbsentColorSample = [100, 0, 100, 0];
try{
myColor = myDocument.colors.item("myAbsentColor");
myName = myColor.name;
}
catch (myError) {
myColor = myDocument.colors.add ({name:"myAbsentColor", model:ColorModel.process, space:ColorSpace.CMYK, colorValue:myAbsentColorSample});
}
try{
myColor = myDocument.colors.item("myProblemColor");
myName = myColor.name;
}
catch (myError) {
myColor = myDocument.colors.add ({name:"myProblemColor", model:ColorModel.process, space:ColorSpace.CMYK, colorValue:myProblemColorSample});
}
var mySampleForSearchWord = "((?i)[аеиоуыюя]+[\\l\\u]*|[\\l\\u]*[аеиоуыюя][\\l\\u]*){2,}";/*Выбираем слова только из двух и более слогов*/
app.changeGrepPreferences = app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = mySampleForSearchWord;
myFoundedWords = mySelection.findGrep();
if (myFoundedWords.length != 0) { // != 0
// цикл по числу элементов коллекции. Движение сверху вниз.
for (j=0; j <= myFoundedWords.length-1; j++) { // j >= 0
myLine = myFoundedWords[j];
var myWord = myAccent[myLine.contents.toLowerCase()]; // найденное слово передается в ассоциативный массив
if (myWord == undefined) {// такого слова в ассоциативном масиве нет
myLine.fillColor = "myAbsentColor";
continue;
}
if (myWord[0] == "*") { // возможны варианты написания этого слова
myLine.fillColor = "myProblemColor";
continue;
}
// проверка на заглавные буквы
if (myLine.contents[0] == myLine.contents[0].toUpperCase() ) {
if (myWord[0] == "="){continue;} // если слово начинается с заглавной ударной гласной, его не меняем
myWord = myWord[0].toUpperCase() +myWord.slice(1); // если с заглавной не ударной - меняем, но переводим в замене первую букву в верхний регистр
}
// замена слова
myLine.contents = myWord;
} // j >= 0
} // != 0
app.changeGrepPreferences = app.findGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences.findWhat = "\\=(.)";
app.changeGrepPreferences.appliedFont = "New\tPlain";// New\tPlain - это шрифт, в котором все гласные с ударением
app.changeGrepPreferences.changeTo = "$1";
app.activeDocument.changeGrep();
}
else {
alert ("Нет открытых документов");
}
exit();