var myProblemColorSample = [0, 100, 100, 0];
var myRightName = (function()
{
var name={};
name['р.б.']='';
name['р.Б.']='';
name['Августин']='Августина';
name['Августина']='Августины';
name['Августа']='Августы';
name['Агапия']='Агапии';
name['Александр']='Александра';
name['Александра']='Александры';
name['Алевтина']='Алевтины';
name['Анастасий']='Анастасия';
name['Анастасия']='Анастасии';
name['Настя']='Анастасии';
name['Анатолий']='Анатолия';
name['Анфиса']='Анфисы';
name['Аполлинария']='Аполлинарии';
name['Аполинария']='Аполлинарии';
name['Аристарх']='Аристарха';
return(name);
})();
function main () {
try {
var doc = app.activeDocument;
} catch (error) {
return false;
}
try {
var text = app.selection[0];
var story = text.parentStory;
} catch (error) {
return false;
}
try {
var color = doc.colors.itemByName('myProblemColor').getElements()[0];
} catch (error) {
var color = doc.colors.add({
name:"myProblemColor",
model:ColorModel.process,
space:ColorSpace.CMYK,
colorValue:myProblemColorSample
});
}
app.findGrepPreferences = NothingEnum.NOTHING;
app.findGrepPreferences.findWhat = '[рР]\\.[бБ]\\.[\\l\\u]{1,}';
try {
var words = text.findGrep(true);
} catch (error) {
return false;
}
app.findGrepPreferences = NothingEnum.NOTHING;
var names = myRightName;
for (var i = 0; i < words.length; i++) {
var item = words[i];
var content = item.contents.toString();
var name = content.replace(/^р\.б\./gim, '');
var find = names[name];
if (find) {
item.contents = find;
} else {
item.fillColor = color;
};
};
return true;
}
main();