2005-10-05 (水) [長年日記]
■ [MindMap] FreeMind 0.8.0
今月中にMindManagerからFreeMindに移行する予定。 FreeMind側にMindManagerファイルのインポート機能が付いてるので、ギザベンリス!!
FreeMindで気に入らないのは、まあいくつかあるんだけど、日本語が実体参照になるのでgrepできないところ。ファイルを直に書き換えればいいみたいなんだけど、またFreeMindでセーブすると実体参照に戻っちゃうお。
とりあえず変換部分だけ 間違え → なかださんのツッコミ参照
text = "ꂂꊂꒂꚂꢂ" text.scan(/&#x([0-9a-fA-F]+);/).each do |el| ch = el.to_s print ch[2..3].hex.chr + ch[0..1].hex.chr #=> あいうえお end
ダサー。カコイイ方法ください。

スクリプトでも作って、製作&保存後に、ないし検索時に実体参照を日本語に戻しちゃえばいい気がしないでもない。
なんで移行しちゃうの!?ポイントはなんざんすか?<br>もうFreeMindはハックしてないけど参考までに。
特に機能的な問題じゃないんですよ。<br>ヒント:今月中。
あ、なんとなく了解。
text.gsub(/&#x([[:xdigit:]]+);/){[$1.hex].pack("v")}<br><br>というかそれは実体参照じゃなくて、shift_jisをlittle endianで「実体参照風」にエンコードしてる、というべきでは。
うわ、間違えていました。FreeMindでは、ちゃんと「あ」が「あ」になってるようでした。
$ ruby -Ku -rnkf -rcgi -e 'puts NKF.nkf("-Ws", CGI.unescapeHTML("あいうえお"))'<br>あいうえお
ありがとうございます!! KCODE指定したら、unescapeHTMLでイケるんですね。
(defun unescape-mm-region (s e)<br> (interactive "*r")<br> (if (< e s) (rotatef s e))<br> (save-excursion<br> (save-restriction<br> (narrow-to-region s e)<br> (goto-char (point-min))<br> (while (scan-buffer "&#x\\([0-9a-fA-F]+\\);" :tail t :regexp t)<br> (insert (unicode-char (parse-integer (match-string 1) :radix 16)))<br> (delete-region (match-beginning 0) (match-end 0))))))<br><br>(defun unescape-mm-buffer ()<br> (interactive)<br> (unescape-mm-region (point-min) (point-max)))<br><br>(defun unescape-mm-hook ()<br> (when (and (get-buffer-file-name)<br> (string-matchp "\\.mm" (get-buffer-file-name)))<br> (unescape-mm-buffer)))<br><br>(add-hook '*find-file-hooks* 'unescape-mm-hook)
そりゃmajor-modeにしたほうがいいのでは。
Female wrestling ! Perfect! http://blogs.ya.com/espozito/files/wrestling.html female wrestling
http://blog.azpoint.net/blog/paxa buy paxil