मेरे पास एक चेहरा है, इस तरह से बनाया गया है:
(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
कोड कुछ सुराग दे सकता है