La biblioteca ucs-cmds.el
puede ayudar.
Proporciona una macro ucsc-make-commands
para crear rápidamente un conjunto de comandos que insertan caracteres Unicode. Le proporciona una expresión regular, que se compara con todos los nombres de caracteres Unicode (en ucs-names
). Se crea un comando de inserción para cada uno de los caracteres cuyo nombre coincide. (Los nombres de los comandos son esencialmente los mismos que los nombres de caracteres; consulte a continuación).
Ejemplos de creaciones de comandos:
(ucsc-make-commands "^math") ; Math symbols
(ucsc-make-commands "latin") ; Latin alphabet characters
(ucsc-make-commands "arabic")
(ucsc-make-commands "^cjk") ; Chinese, Japanese, Korean characters
(ucsc-make-commands "^box drawings ")
(ucsc-make-commands "^greek [a-z]+ letter") ; Greek characters
(ucsc-make-commands "\\(^hangul\\|^circled hangul\\|^parenthesized hangul\\)")
Esta es la cadena de documentación:
ucsc-make-commands is a Lisp macro in `ucs-cmds.el'.
(ucsc-make-commands REGEXP)
Create commands to insert Unicode characters whose names match REGEXP.
Letter case is ignored for matching.
The set of char names used is taken from `ucs-names'. There are
*many* such chars, so consider using a tighter regexp to limit the
number of commands created.
The commands created have the same names as the chars they insert,
except that `SPC' chars in the character names are replaced by
hyphens (`-'), and the command names are lowercase.
Si desea vincular los comandos que crea a las teclas de manera sistemática, puede crear fácilmente una macro basada en el código ucsc-make-commands
que crea los comandos que desea y los vincula. Macro ucsc-make-commands
simplemente itera sobre todos los autos Unicode y crea comandos para aquellos cuyos nombres coinciden con el REGEXP
argumento.
Durante una iteración, tiene acceso al nombre del personaje y su punto de código. Calcule un mapeo regular conveniente de puntos de código o nombres de caracteres a las teclas, y su macro puede agregar los correos define-key
electrónicos apropiados además de los comandos defun
.
La biblioteca también proporciona un comando ucsc-insert
, que puede reemplazar el comando vanilla
insert-char
. El comportamiento y el código de ucsc-insert
son idénticos a los de
insert-char
excepto lo que sucede cuando usa un argumento de prefijo negativo:
Actúa como si el valor del prefijo-arg fuera positivo. Entonces, un valor de -3 inserta tres copias del personaje, al igual que 3.
Además de insertar el carácter, define un comando que puede usar posteriormente para insertar ese carácter. Puede usar un argumento de prefijo con ese comando para insertar varias copias del carácter dado.
Esto le da un comando hecho a medida para insertar un carácter Unicode dado. Luego puede vincular el comando a una secuencia de teclas, agregando efectivamente caracteres Unicode a su teclado.
Siempre que insert-char
hace algo (no hace nada por un prefijo negativo arg), ucsc-insert
hace lo mismo. Debido a esto, se puede obligar ucsc-insert
a C-x 8 RET
como un reemplazo para insert-char
:
(define-key global-map [remap insert-char] 'ucsc-insert)
Si solo necesita unos pocos de estos comandos para insertar caracteres Unicode particulares, utilizarlos ucsc-insert
para definirlos es lo suficientemente conveniente. Si necesita muchos de estos comandos, entonces macro ucsc-make-commands
es su amigo.