Thu, February 25, 2010
MIFから段落スタイル名を抽出する (FrameMakerの話)
RoboHelpでFrameMakerデータをリンクさせると、 RoboHelp側でFrameMakerに存在している段落タグの一覧が確認できる。 便利だなと思ったが、その一覧をテキストデータ化する方法は RoboHelp上では提供されていないようなので、自分でMIFから抽出するコードを書いた。(groovyで)
コード
別に難しくはなかった。
PgfTag というタグが出現する場所から段落タグ名を出力すれば
listupPgfTag.groovy
import java.util.regex.*
def c = { line ->
line =~ /\s*<PgfTag \`.*'>/
}
reader = new File('test.mif').newReader('UTF-8')
reader.eachLine{ line->
if( c(line) ){
def pat = Pattern.compile('\\`(.*)\'')
def m = pat.matcher(line)
if( m.find() ){
println m.group(1)
}
else{
println line
}
}
}
このコードでは、重複して段落タグ名を出力してしまうため、 以下のようにして、重複をなくす。
$ groovy listupPgfTag > r.txt
$ cat r.txt | sort | uniq
結果はコンソールに出力される。