Вот немного веселья с улыбающимися лицами Unicode. Ан-дэш визуально становится черным смайликом. Эм-Дэш визуально становится белым смайликом. Обратите внимание, что некоторые версии Emacs могут не поддерживать символы Unicode на смайликах - это только демонстрация - конечно, можно выбирать другие символы Unicode. Можно использовать другие лица, и пользователь может создавать свои собственные лица.
(let ((glyph-en-dash (make-glyph-code ?\u263A 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u263B 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash]))
Вот обновленный пример , который эффективно присоединяет дефис-минус и добавляет цвета - то есть, то 8211
визуально становится --
с , font-lock-keyword-face
как окрашивание; причем, 8212
визуально становится ---
с font-lock-function-name-face
как окраской.
(let ((glyph-en-dash (make-glyph-code ?\u002D 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u002D 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash ,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash ,glyph-em-dash ,glyph-em-dash]))
--
и---
.