AdventCalendar
t-code
漢直

tc2.0.4からtc2.3に2013年12月移行成功

More than 5 years have passed since last update.

2013 漢直 Advent Calendar 2日目のエントリーです。

tc2.3.1 に移行できないと数ヶ月ぐらいもんもんとしていたのがタダのポカだと分かったのでここにさらします。

結論: INSTALL と tc.info 読んで素直に手順に従おう。

問題:

いままで tc2.0.4 を使っていたが、 emacs24 にして tc2.3 の lisp とかテキトーにコピーして動かそうとしたら次のようになり困った。
反省して INSTALL 見て configure && make install して bushu.rev 自分のに置換しても同じようになった。

  1. 部首合成で次のように出て合成できない。 Wrong type argument: sequencep, 21336
  2. 3日77が晶にならず蠢になる。
    • 西道77が合成できない。
    • 西之77が合成できない。
    • 西え77は合成できる。
  3. 右矢77が知になり→にならない。
  4. 減火77が滅にならない。

ちょうどアドベントカレンダーにでも書いてtc2.0.4からtc2.3.1に移行がうまく行かなくて助けてと書こうとしたら、解決してしまいました。
アドベントカレンダー駆動問題取り組みはスゴイね。

解決手順: 1と2の場合

INSTALLを見て素直にインストールし直したら部首合成変換も動いた。

MacでEmacs for Mac OSX http://emacsformacosx.com/ を使っているので環境変数のEMACSを設定しておいて以下のよう実行した。

cd /var/tmp
git clone https://github.com/kanchoku/tc
cd tc
export EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs
export DESTINATION=~/tc
./configure --prefix=$DESTINATION --with-emacs=$EMACS && make install 

init.el に
load-path に ~/tc/share/emacs/site-lisp/tc/を加え

~/.tc に
(setq tcode-data-directory "~/tc/share/tc/")
を加えたらたら全部普通に合成できるし44,55も効く。

これから漢直始める人は素直にINSTALLファイル見てその通り始めましょう。

解決手順: 3の場合

「え之」をbushu.rev に加える。そのあとファイルをソートする。 C-x h M-x sort-line

「え之N」じゃないのね…。
「え之」を入れると気付くまでにソース読んだりbushu.revの合成部分の之を全てえにしたりして悩んでたらこれだけでよかった。

解決手順: 4の場合

右矢→ をbushu.revに加えてソートする。

こっちの symbol.rev 見てて気付いた…。 https://github.com/naota/tc/
これで「なわ77縄」とかも復活だ!

解決手順: 5の場合

というか、tc2.0.4で使っていたbushu.rev持ってきて置きかえてソートし直して動くよ…。今迄ダメだったのなんで?
減火で淡にならない!シ成に今から慣れるのもいいけど。

そんなわけで、いままで使えていた人には役に立たず、これからの人にもあんま薬にもならない記事でした。

その他

あと困ってたのはここ数年Sumerin,Akkadian,Hittieとか学習していて
部首合成辞書に
šsv
īi-
とか入れて
šumma awīlum を入力するのに sv77umma awi-77lumとかとか入力するのができないんで移行に2の足を踏んでいたのが解決!
これらの文字を入れる時はutf-8にしてからsortしましょう。

けど中近東文化センター一般公開中止しちゃって古代語講座が…。


会社の方はWindowsなんだけど多分移行できるだろう。いま同じように3日77蠢になるんでtc2.0.4のままだけど。

以上tcの新しいものが出てから10年?ぐらい経ってから移行した記録でした。

追記

  • え之 が bushu.revにないのは、そういう思想かも知れない。合成して出てくる漢字を見て思った。
  • 3日77蠢 は正しい。 3日晶が欲しいなら、3日晶を symbol.rev に入れておくべきのようだ。
  • 部首合成で思った通りにならなかったのの理由の一つは symbol.rev を bushu.rev と同じディレクトリに放り込んでなかったからみたい。

追記2

  • 古いtcを使っている場合、特にtc2.0やそれ以前の場合は .tc を rename しておき、.emacs か init.el から tcode の lisp の path と関連表記をつぶしておいてから入れて、必要な記述を元に戻す。旧辞書の方を見ていたり lisp の path が入っている方を見ていたりしてハマッた。
  • tcode-modeはtc2.3.1になくて toggle-input-method
  • もし bushu.index2 なくてエラーになったら bushu.index2 のダミーファイルを作っておく。 touch bushu.index2