Word文書の原稿をInDesignに直接配置するとインデントやルビなどが反映されるので便利といえば便利なのだけど、注のアンカーは不可視文字になり、しかも余分な範囲まで親文字列になっていることがある。そんなアンカーを付け直すスクリプトを書いてみた。
var tyuidxStyle = app.activeDocument.characterStyles.item("注合印");
//var noStyle = app.activeDocument.characterStyles[0];
var selString = app.activeDocument.selection[0];
var paraDefaults = selString.paragraphs[0].appliedParagraphStyle.properties;
var oyamozi = selString.characters;
var ruby = selString.rubyString;
var newoyamozi = oyamozi.itemByRange(0,0);
var indexStr = prompt(newoyamozi.contents + "\n 注は何番?", "");
if (indexStr) {
newoyamozi.rubyFlag = true;
newoyamozi.rubyString = "(" + indexStr + ")";
newoyamozi.applyCharacterStyle(tyuidxStyle);
}
var nonoyamozi = oyamozi.itemByRange(1,oyamozi.length-1);
nonoyamozi.rubyString = "";
nonoyamozi.applyCharacterStyle(tyuidxStyle);
//nonoyamozi.properties = paraDefaults;
nonoyamozi.rubyFlag = false;
これを手作業でやると、いったんルビを「なし」にしないと新しいアンカーが付けられない。その手間を解消するために作った。これでも文字スタイル「注合印」が余分に付くけど、それは検索・置換であとで一括クリアできる。
でも、余分なところまで親文字にしているのはこの著者の癖かもしれないので、このスクリプトにあまり汎用性はないかな。