Index > MIFから段落スタイル名を抽出する (FrameMakerの話)
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

結果はコンソールに出力される。

 Twitter
follow me on Twitter
 Categories