У меня есть лицо, созданное таким образом:
(defface test-face
'((t . (:height 2.0)))
"A face for testing.")
Я хотел бы вставить текст с этим лицом. Но эти способы вставки текста без лица:
(insert (propertize "text to insert" 'face 'test-face))
(let ((current-string "text to insert"))
(put-text-property 1 (length current-string) 'face 'test-face)
(insert current-string))
И даже сначала вставить текст, а затем вернуться, чтобы нанести на него лицо, не получается:
(progn
(insert "text to insert")
(add-text-properties
(save-excursion
(backward-word 3)
(point))
(point)
'(face test-face)))
Проблема не в определении лица, потому что, если я настрою его, оно уже высотой в два раза больше. Несмотря на это, вставка лица также не работает:
(insert (propertize "to insert" 'face '(:height 2.0)))
Итак, как я могу вставить текст с определенным лицом? Я знаю, что могу использовать наложение, но это выглядит как излишнее, потому что оно более многословно, требует, чтобы текст был вставлен первым (поэтому мы должны выяснить размер и положение текста, который должен быть наложен) и требует, чтобы было больше мусора, чтобы быть собраны.
face
код подсветки синтаксиса, поэтому он заменяет ваше свойство face. Я уверен, что должен быть какой-то способ отключить блокировку шрифта для данного текста, но мне придется немного изучить код (сейчас нет времени). Возможно, чтениеfont-lock.el
кода даст некоторую подсказку