Saya punya wajah, dibuat dengan cara ini:
(defface test-face
'((t . (:height 2.0)))
"A face for testing.")
Saya ingin memasukkan beberapa teks dengan wajah itu. Tetapi cara-cara ini menyisipkan teks tanpa wajah:
(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))
Dan bahkan memasukkan teks terlebih dahulu, lalu kembali untuk meletakkan wajah di atasnya tidak berfungsi:
(progn
(insert "text to insert")
(add-text-properties
(save-excursion
(backward-word 3)
(point))
(point)
'(face test-face)))
Masalahnya bukan definisi wajah, karena jika saya pergi untuk menyesuaikannya, itu sudah muncul dengan tinggi dua kali lebih besar. Meski begitu, meratakan wajah juga tidak bekerja:
(insert (propertize "to insert" 'face '(:height 2.0)))
Jadi bagaimana saya bisa memasukkan beberapa teks dengan wajah tertentu? Saya tahu saya bisa menggunakan overlay, tapi itu kelihatannya berlebihan karena lebih bertele-tele, membutuhkan teks yang akan disisipkan terlebih dahulu (jadi kita harus mencari tahu ukuran dan posisi teks yang akan dilapis) dan mengharuskan membuat lebih banyak sampah menjadi dikumpulkan.
face
untuk kode penyorotan sintaks, jadi itu mengganti properti wajah Anda. Saya yakin pasti ada beberapa cara untuk menonaktifkan font-lock untuk teks yang diberikan tetapi saya harus meneliti sedikit kode (tidak ada waktu sekarang). Mungkin membacafont-lock.el
kode akan memberikan petunjuk