置換とルビ

[7801]置換とルビ 投稿者:oni 投稿日:2005/12/01(Thu) 14:36
はじめまして。
IndesignCSを使っています。(Winです。)

IndesignCSで作った原稿を編集する際に、ある漢字を(例えば「弐」を「二」に)全置換すると、漢字のルビが消えてしまいます。

漢字は置き換えて、ルビはそのままにしたいのですが、何か良い方法はないでしょうか?


» 1
[7801へのレス]Re: 置換とルビ 投稿者:いき 投稿日:2005/12/01(Thu) 14:45
こちらのリンク先、Liさんの運営する「いんでざいんnoすくりぷと」
http://www2s.biglobe.ne.jp/~jxli/script/index.html
に、「ルビ入力支援」というスクリプトがあります。
» 2
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/01(Thu) 16:04
ありがとうございます。
参考にさせて頂きます。

漢字を置き換えてもルビは残るようにIndesignCSで設定できないのでしょうか?
» 3
[7801へのレス]Re: 置換とルビ 投稿者:いき 投稿日:2005/12/01(Thu) 16:20
> 漢字を置き換えてもルビは残るようにIndesignCSで設定できないのでしょうか?

Win版CSで、それを実現するスクリプトが「ルビ入力支援」です。
同スクリプトは、ルビを振るだけでなく、親文字だけを差し替える機能も実装しています。

#残念ながら標準機能の検索/置換ではルビ文字が消えてしまうことは避けられません。(16:25追記)
» 4
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/01(Thu) 16:25
なるほど。
丁寧に質問に答えて頂きまして誠にありがとうございました。
» 5
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/02(Fri) 13:28
たびたびすいません。
「ルビ入力支援」を使ってみました。
一つ一つのルビ(漢字)を編集するのには適しているのですが、例えば100箇所の同じ漢字(例:「文応(ぶん/おう)」)を(例:「文應(ぶん/おう)」に)変換してルビは残したい、という場合はあまり使えないですよね?

上記の作業を実現するために良い方法はないですか?
» 6
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/02(Fri) 13:32
追記
実現させたい作業は 「100箇所の同じ漢字「文応」を「文應」に一括変換して、ルビは残す。」です。

» 7
[7801へのレス]Re: 置換とルビ 投稿者:YUJI 投稿日:2005/12/02(Fri) 13:34
私はMacなので、「ルビ入力支援」は使用したことがありせんが、
一度、タグ付きテキストに書き出した後、テキストエディタ上で置換して
再度、InDesignに取り込んではいかがでしょうか。
» 8
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/02(Fri) 14:24
たしかに。これしか方法はなさそうですね。
ありがとうございました。
» 9
[7801へのレス]Re: 置換とルビ 投稿者:nor 投稿日:2005/12/03(Sat) 09:08
LCSさんのRuby Managerで、ルビ解除すると、ルビが付いている箇所が#親文字#ルビ文字#という形式に変換されます。修正後、ルビ変換すると、#親文字#ルビ文字#という形式の箇所がルビ付き文字に変換されます。ルビ文字の修正に使うようですが、親文字の修正にも使えると思います。
» 10
[7801へのレス]Re: 置換とルビ 投稿者:WinCS 投稿日:2005/12/03(Sat) 15:47
Winということなので、VBSで。それも、きわめて簡単に。
足りないところは、自分で補って。

------------------------------------------------
'ReplaceSetRuby.vbs
Set myInDesign = CreateObject("InDesign.Application.3.0J")
Set myDocument = myInDesign.ActiveDocument

myFindString = "文応"
myChangeString = "文應"
myRubyString = "ぶんおう"
'myRubyType = idGroupRuby 'グループルビ(必要ならコメントを外す)

myInDesign.FindPreferences = idNothingEnum.idNothing
myInDesign.ChangePreferences = idNothingEnum.idNothing

Set myFindString = myDocument.Search(myFindString, False, False, False, False)
For i = 1 To myFindString.Count
myFindString.Item(i).Contents = myChangeString
If myFindString.Item(i).RubyString <> myRubyString Or myFindString.Item(i).RubyString = "" Then
myFindString.Item(i).RubyFlag = True
myFindString.Item(i).RubyString = myRubyString
'myFindString.Item(i).RubyType = myRubyType '必要ならコメントを外す
End If
Next
------------------------------------------------
» 11
[7801へのレス]Re: 置換とルビ 投稿者:oni 投稿日:2005/12/04(Sun) 19:22
norさん、WinCSさん、感謝、感謝です。
アドバイスを生かしてやってみます。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア