|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||||||
2008年03月26日(水) 旧暦 [n年日記] [更新:"2008/03/26 11:02:42"]#1 [Emacs] tcode
最近
列 + 台 = 殆が合成されないとか、いくつか合成されない文字があって 何故かなと思っている。 bushu.rev には次の行はある 殆歹台これもある。 列歹リ @ 22.0.50:
22.0.50 ( = 22.1) でも合成しないが、
~/T-Code2 を消して、mkdir ~/T-Code2 してから
だと合成してくれる。(消さなくても大丈夫のような気がする)。
@ 23.0.60:
/usr/local/share/tc/bushu.index2 も見えなくしてあったので
ファイル /usr/local/share/tc/bushu.index2 が存在しません。 と言われる 2007/12/24 の日記 を見て入直し。 105 9:17 tar zxf /e/tera/j/distfiles/tc-2.3.1.tar.gz 106 9:17 cd tc-2.3.1/ 107 9:18 patch -s -p1 < ~/Mail/ml/tcode/1545 108 9:18 patch -s -p1 < ~/Mail/ml/tcode/1528 109 9:18 cd etc 110 9:18 mv bushu.rev bushu.rev-orig 111 9:18 cat bushu.rev-orig symbol.rev | sort > bushu.rev 112 9:18 cd .. 113 9:18 ./configure --with-lispdir=/usr/share/emacs/site-lisp/tc-2.3.1 114 9:19 make 115 9:20 sudo make install 116 9:20 emacs . 117 9:21 mkdir ~/T-Code2まだだめだな ..... こんな字が出ているが: config.status: WARNING: etc/Makefile.in seems to ignore the --datarootdir settingこれは多分関係ないとして、文字を指す処理に何か変更があったと思われる。 列 + 列 = 歹となるか、ならないのか、が違う。今回はならない。でも、考えたら 誠 + 誠 = 言となるのだから、データ依存で、単純な論理の問題ではない。でも一応 見るのは、その辺からかな tc-bushu.el: (defun tcode-bushu-convert-preceding-chars (&optional arg) "ポイントの前の2文字を合成する。" ... (tcode-bushu-compose-two-chars prev-prev-char prev-char))) @ tcode-bushu-compose-two-chars:;;; ;;; 部首合成変換用インタフェース ;;; ;;;###autoload (defun tcode-bushu-compose-two-chars (char1 char2) "CHAR1とCHAR2を合成する。" (tcode-bushu-load-dictionary) (let* ((str (concat (char-to-string char1) (char-to-string char2))) (cache (get (intern-soft str tcode-stroke-table) 'compose))) (or (and tcode-bushu-use-cache cache) (let ((selected-char (tcode-bushu-compose (list char1 char2)))) (when selected-char (put (intern str tcode-stroke-table) 'compose selected-char) selected-char))))) (defun tcode-bushu-compose (char-list) "Compose a character from characters in CHAR-LIST. See also `tcode-bushu-functions'." (catch 'found (mapcar (lambda (function) (let ((r (funcall function char-list))) (if r (throw 'found (car r))))) tcode-bushu-functions) nil))これはちょっと分り難い :-) が、多分 tcode-bushu-functions にある関数を 順に試して行く、ということらしい: (defvar tcode-bushu-functions '(tcode-bushu-compose-explicitly tcode-bushu-complete-compose-set tcode-bushu-complete-diff-set tcode-bushu-strong-compose-set tcode-bushu-strong-diff-set tcode-bushu-weak-diff-set tcode-bushu-weak-compose-set) "* A list of functions to apply to characters for a character composition.")データ依存なのだから、○と×を挙げていく、というのも一つの方法か。 @ 22.0.50 では○で、23.0.60 ではだめなもの:階 + ア = 皆 屋 + 由 = 届 広 + 車 = 庫 列 + 台 = 殆 列 + 列 = 歹どちらも○なもの 比 + 白 = 皆 局 + 由 = 届 応 + 車 = 庫 残 + 台 = 殆結果の違うもの 22.0.50 23.0.60 残 + 残 = 戔 歹 ( つっこみ )
|
最近の日記 2025年02月13日 ・dvipdfmx ICC profile format spec. version 4.3.0 2025年01月29日 ・ham/wsjtx 2025年01月27日 ・wip/wsjtx 5.4.2 2025年01月25日 ・ham/wsjtx 2025年01月15日 ・今更 advent calendar | ||