2023年1月13日

注合印を組んでいく

MS-Word(.docx)からプレーンテキストで書き出すと、注の合印(注番号)が本文の行中にはだかで挿入される。縦組みにするので、この注合印(注番号)をパーレンで囲み、対象文字列の右側行間に置く。この作業をInDesign上で半自動化するスクリプト。


合印は括弧類には付けないので、選択箇所の1文字目にルビとして合印を組む。なお、合印の体裁は親文字の文字スタイル(「注合印」という名前)で付けている。

このスクリプトにキーボードショートカットを付けて(私はCtrl+Cmd+iにしている)て、「.[」』)]?\d+」を検索(私は正規表現検索の「次を検索」のショートカットをCtrl+nにしている)すれば、「Ctrl+n Ctrl+Cmd+i」の繰り返しで次々と合印を組んでいける。

コード;
var cSty = app.activeDocument.characterStyles.item("注合印");
var sel = app.activeDocument.selection;
//注番号の前に区切り「_」を入れて、番号をパーレンで囲む。
var selStr = sel[0].contents.replace(/(\d+)/, "_($1)"); 
//区切りの前後で文字列を分ける。
var selAry = selStr.split("_"); 
//前半部分を対象にする。
var selCha = sel[0].characters;
//後半部分(注番号)を前半部分の1文字目にルビとして付ける。
selCha.itemByRange(0,0).rubyString = selAry[1];
selCha.itemByRange(0,0).rubyFlag = true;
//1文字目に文字スタイル「注合印」を適用する。
selCha.itemByRange(0,0).applyCharacterStyle(cSty);
//後半部分(注番号)を消去する。
selCha.itemByRange(selAry[0].length,-1).contents= "";

0 件のコメント:

コメントを投稿