Try evaluating the following elisp in a graphical session: (defface special-char '((t :box t)) "Face for special chars") (defconst RLO #("\u200bRLO\u200b" 1 4 (face special-char))) (defun set-disp-entry (table idx str) (let* ((len (length str)) (result (make-vector len nil))) (dotimes (c len) (let ((face (get-text-property c 'face str)) (char (aref str c))) (aset result c (make-glyph-code char face)))) (set-char-table-range table idx result))) (set-disp-entry standard-display-table #x202e RLO) (ucs-insert #x202e) Afterward, I get a character that looks like a double-boxed RLO. Image included: