:note

テキストの挿入点の不可思議

とあるInDesignの豆スクリプトで、挿入点のふくまれる段落を取得したくて、(4回クリックで段落選択が面倒だったので)調べていたら挿入点について誤解していることに気付いた。てっきり挿入点の親はふくまれる段落とか行とかワードかと思ったら、逆で挿入点の方が親で、「子の○○」だったんだ。

//選択中の段落または挿入点がある段落を一行にする豆スクリプト
var sel=app.selection[0];
if(sel.constructor.name == "InsertionPoint"){
app.selection=sel.paragraphs[0];//挿入点のふくまれる段落
sel=app.selection[0];
}
while(sel.lines.length>1){
sel.texts[0].horizontalScale--;
}

同様に、挿入点のふくまれる行やワードも

sel.lines[0];//挿入点のふくまれる行
sel.words[0];//挿入点のふくまれるワード

という具合に取得できそうですが、なぜかワードは日本語(漢字かな)だとエラーになってしまいます。確かに挿入点のwords.length=0になってます(欧文だとちゃんとwords.length=1に)。その該当する漢字かな部分をダブルクリックで選択するとconstructor.name=“Word”になるのに不思議。バグ?またまた、お米の国のソフトだなと実感してしまいました。

 
comments powered by Disqus
back to top