IDS の SOAP API を使用して、TextFrame 内の文字のカーニングを確認しようとしています。簡単にするために、私は現在、特殊文字 (大文字の T) ではない最初の文字のみを調べようとしています。私はそれを調べるためにこのスクリプトを使用しています:
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。
このプロパティが利用できない原因は何ですか?どうすればそれを読み取ることができますか?