unicode – Separar un guión (-), un guión (-) y un emdash (-)

Pregunta:

Un guión (-), un en-guión (-) y un emdash (-) son diferentes pero difíciles de distinguir. Esto causa problemas, por ejemplo, al escribir programas. ¿Hay alguna forma de diferenciarlos más fácilmente en emacs? Gracias.

Respuesta:

Aquí hay un poco de diversión con caras sonrientes Unicode. El en-dash se convierte visualmente en una cara sonriente negra. El em-dash se convierte visualmente en una carita sonriente blanca. Tenga en cuenta que es posible que algunas versiones de Emacs no admitan los caracteres Unicode de caritas sonrientes; solo está destinado a ser una demostración; por supuesto, se pueden elegir otros caracteres Unicode. Se pueden usar otros rostros y el usuario es libre de componer sus propios rostros.

(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]))

Aquí hay un ejemplo actualizado que concatena efectivamente el guión-menos y agrega color – es decir, el 8211 convierte visualmente -- con la font-lock-keyword-face como coloración; y, el 8212 visualmente se convierte en --- con la font-lock-function-name-face como coloración.

(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]))

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım