나는 이런 식으로 만든 얼굴을 가지고있다 :
(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코드하는 것은 몇 가지 단서 줄 것