きのう、漢文の返り点はunicodeのKanbun(漢文用記号)ブロック(U+3190〜U+319F)に登録されているものを使ってくれたら組版が楽になるのに、という話をしたけど、きょう驚愕の事実に気がついた。
一太郎である。一太郎には漢文入力用のパネルがあるが、そこで返り点として入力されるのが、上記の漢文用記号ではなく、普通の文字(たとえば㆑点は片仮名のレ、㆗点は漢字の中)なのだ。歴史のあるワードプロセッサーなのでunicodeのなかった古代からの遺制なのだろうか。
一太郎である。一太郎には漢文入力用のパネルがあるが、そこで返り点として入力されるのが、上記の漢文用記号ではなく、普通の文字(たとえば㆑点は片仮名のレ、㆗点は漢字の中)なのだ。歴史のあるワードプロセッサーなのでunicodeのなかった古代からの遺制なのだろうか。
漢文用記号は変換候補には出てこないだろうから、「ごうふ:㆐」「れてん:㆑」「かえりいち:㆒」……というぐあいに変換辞書へ登録しておくといいかも。
Shift_JISの時代は文字数が限られていて、代用したり、外字を作ったり、いろいろ苦労したけど、そんな苦労を反映してunicodeは便利になっている。しかし、それがあまり知られておらず、組版の効率を下げてしまっているのが残念。
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= "";