[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: text-propertiy
の重複
ども、長です。
まだ、あまり進展はないのですが、時間がとりにくいので報告を上げておきます。
このメールは----------------------------------------------
山岡 克美 <yamaoka@jpl.org> さん( 山岡 と引用)の
MsgID : [emacs-w3m : No.08413]
Subject : [emacs-w3m:08413] Re: text-propertiy の重複
Date : [Tue, 11 Oct 2005 12:10:22 +0900]
-------------------------------------------への返信です-〆
《件名・引用文は改行・削除・変更してあるかもしれません》
山岡> (add-text-properties START END 'bold-p t 'underline-p t)
山岡> こんなことができるなら苦労は無いんですけれどね。
FACEに関してはそれに近いことができるようです。
** Emacs の Info より。
SECTION Special Properties
| `face'
| テキストのフォントと表示色を制御するために属性`face'を使う。その
| 値はフェイス名かフェイス名のリストである。詳しくは、*Note Faces::。
|
| 属性値がリストであると、その要素は、`(foreground-color
| . COLOR-NAME)'や`(background-color . COLOR-NAME)'の形でもよい。こ
| れらの要素は、前景色だけや背景色だけを指定する。したがって、使用
| する各色を表すフェイスを作成する必要はない。
|
| テキストの内容に基づいて属性`face'を自動的に更新する方法に関して
| は、*Note Font Lock Mode::。
となっていて、(face (list a b c ...))も許容するようです。
# 実際テストコードで確認できました。
なので、text-propertiyの内、FACEだけは下記のようなラッパー関数を使用するようにし
て、交ぜるようにしてみようとしています。
# まだ試していませんが
(defun w3m-add-text-face-property (start end name &optional object)
"FACE property add wrapper.
FACE is only list type in emacs-w3m."
(let ((pos start)
next prop)
(while (< pos end)
(setq prop (get-text-property pos 'face object))
(setq next (next-property-change pos object end))
(if prop
(w3m-add-text-properties pos next
'(face (append prop '(name))) object)
(w3m-add-text-properties pos next
'(face '(name)) object))
(setq pos next))))
CHO> 今晩にでもソースを追跡したいと思います。
山岡> 遅くしないようにお気を付け下さい。;-)
はい、じっくり確認したいと思います。
# パフォーマンスの確認も色々やってみていて
# bookmark-menuの呼び出し回数の多さに愕然としたりしました(w
以上です。
--
Tsuyoshi CHO
mailto:tsuyoshi_cho@ybb.ne.jp