Я пытаюсь установить кернинг символов в TextFrame с использованием SOAP API IDS. Для простоты я в настоящее время все еще пытаюсь изучить только первый символ, который не является особым символом (это прописная буква T). Я использую этот скрипт для изучения его:Невозможно получить доступ к свойству кернингаValue символа или абзацу
var get_all_textframes = function(document, callback) {
var looper = function(collection) {
for(var i = 0; i < collection.textFrames.count(); i++) {
var textframe = collection.textFrames.item(i);
callback(textframe);
}
};
var recurse = function(group) {
for(var i = 0; i < group.groups.length; ++i) {
looper(group.groups[i]);
recurse(group.groups[i]);
}
};
looper(document);
recurse(document);
};
var document = app.open(File("c:\\path\\to\\idsdoc.indd"));
var output = "\n";
get_all_textframes(document, function(textframe) {
if(textframe.id == 357) {
output += ("Kerning: " + textframe.parentStory.characters[0].kerningValue+ " \n");
}
});
document.close();
result.output = output;
Однако, когда я бегу сценарий, я получаю сообщение об ошибке 30615: The property is not applicable in the current state
.
Он отлично работает, если я попытаюсь получить любое другое свойство от персонажа, а не kerningValue
. Например, kerningMethod
возвращает Metrics
.
Какое обстоятельство заставляет это имущество быть недоступным и как его читать?