У мене є обличчя, створене таким чином:
(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
для виділення синтаксису коду, тому він замінює властивість обличчя. Я впевнений, що існує певний спосіб відключити блокування шрифту для певного тексту, але мені доведеться трохи вивчити код (зараз немає часу). Можливо, читанняfont-lock.el
коду дасть якусь підказку