trycode.scm用のtrycode-ruleを、Web上のオリジナルの定義から生成するための シェルスクリプトを参考までに送ります。
オリジナルの定義はときどき更新されるので、 trycode.scmとの比較作業を楽にするためにざくっと書いてみたものです。 # 先日、trycode.scmをオリジナルの定義に合わせて修整してcommitしたときに、 # 手作業が少し面倒だったので。 エラー処理もしてないし、ad hocなスクリプトです。 gentrycoderule.sh trycode.scm用のtrycode-ruleを生成するためのスクリプト add3st.awk gentrycoderule.shから使用するAWKスクリプト difftrycode.sh trycode.scmと生成したtrycode-ruleを比較するためのスクリプト 一時ファイルを作ったままにするので、 作業用ディレクトリを作って、そこで動かした方がよいです。 スクリプトファイルはEUC-JPにしてください。 ------gentrycoderule.sh------ #!/bin/sh # trycode.scm用のtrycode-ruleを、オリジナルの定義をWebから取得して生成する。 # 使い方: sh gentrycoderule.sh >trycode-rule # 注意: このファイルはEUC-JPである必要あり。 wget -N http://www.m17n.org/ntakahas/npx/aggressive/tcode-qwerty.html wget -N http://www.m17n.org/ntakahas/npx/aggressive/tcode-ex-qwerty.html wget -N http://www.m17n.org/ntakahas/npx/aggressive/3st.html nkf -e tcode-qwerty.html | sed -e '1,/^<pre>/d' -e '/^<\/pre>/,$d' >tc nkf -e tcode-ex-qwerty.html | sed -e '1,/^<pre>/d' -e '/^<\/pre>/,$d' >ex # 3st.html中の全角文字をtcode-qwerty.htmlとのマッチングのため半角に変換する。 # 日本語対応sedが必要(あるいは日本語対応trでもOK)。 # nkf -Zは漢字部分の,.が,.に変換されてしまうので、単純には使えない。 nkf -e 3st.html | sed -e '1,/^----------/d' -e '/^<\/pre>/,$d' \ | sed -e 'y/?!()%012345689/?!()%012345689/' >3st cat tc ex >tcex awk -f add3st.awk tcex ------gentrycoderule.sh------ ------add3st.awk------ #!/bin/awk -f # T-Codeのコード表にTry-Codeの3ストローク定義を追加して、 # trycode.scm用の形式で出力する。 BEGIN { while (getline < "3st" > 0) { threestroke[$1] = $2; } } { st2 = $1; gsub(/./, " \"&\"", st2); st2 = substr(st2, 2); # 余分なスペースを削除 tc = $2; st3 = "\" \" " st2; tc3 = threestroke[tc]; if (tc3 == "") { tc3 = "■"; # 空定義。3ストローク用定義自体も無しでいいかも。 } printf(" (((%s))(\"%s\")) (((%s))(\"%s\"))\n", st2, tc, st3, tc3); } ------add3st.awk------ ------difftrycode.sh------ #!/bin/sh # diff trycode.scm and trycode-rule generated by gentrycoderule.sh # Usage: sh difftrycode.sh /usr/local/share/uim/trycode.scm trycode-rule pickuprule () { sed -e "1,/^ '(/d" -e '/))))$/,$d' } f1=`basename "$1"`.tmp1 f2=`basename "$2"`.tmp2 cat "$1" | pickuprule | sort >"$f1" cat "$2" | sort >"$f2" diff "$f1" "$f2" ------difftrycode.sh------ -- 木原 英人 / KIHARA, Hideto / [メールアドレス保護] http://www1.interq.or.jp/~deton/ --~--~---------~--~----~------------~-------~--~----~ Google Groups "uim-ja" group uim-ja@googlegroups.com http://groups.google.com/group/uim-ja/about -~----------~----~----~----~------~----~------~--~---