J'ai un visage, créé de cette façon:
(defface test-face
'((t . (:height 2.0)))
"A face for testing.")
Je voudrais insérer du texte avec ce visage. Mais ces façons insèrent le texte sans le visage:
(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))
Et même insérer le texte en premier, puis revenir en arrière pour mettre le visage dessus ne fonctionne pas:
(progn
(insert "text to insert")
(add-text-properties
(save-excursion
(backward-word 3)
(point))
(point)
'(face test-face)))
Le problème n'est pas la définition du visage, car si je vais le personnaliser, il apparaît déjà avec une hauteur deux fois plus grande. Même ainsi, l'incrustation du visage ne fonctionne pas non plus:
(insert (propertize "to insert" 'face '(:height 2.0)))
Alors, comment puis-je mettre du texte avec le visage spécifique? Je sais que je peux utiliser une superposition, mais cela semble exagéré car il est plus verbeux, nécessite que le texte soit inséré en premier (nous devons donc trouver la taille et la position du texte à superposer) et nécessite de faire plus de déchets pour être collectés.
face
code de mise en évidence de la syntaxe, il remplace donc votre propriété face. Je suis sûr qu'il doit y avoir un moyen de désactiver le verrouillage de la police pour un texte donné, mais je devrai rechercher un peu le code (pas de temps pour le moment). La lecture dufont-lock.el
code pourrait peut-être donner un indiceRéponses:
Il y a un problème avec le code:
put-text-property
est appliqué à un objet. Dans ce cas, votre chaîne. Vous devez le passer comme dernier paramètre.put-text-property
commence à compter à zéro.font-lock-mode
est activé, il supprimera tout texte de laface
propriété.Le morceau de code suivant fonctionne, si le mode de verrouillage des polices est désactivé:
Si vous souhaitez l'utiliser avec le verrouillage de police activé, vous pouvez définir la propriété à la
font-lock-face
place. Il a le même effet mais n'est pas affecté parfont-lock
.la source