Estoy escribiendo una función que devuelve información lingüística sobre el carácter en el punto. Esto es fácil para los personajes precompuestos. Sin embargo, deseo dar cuenta de diacríticos. Creo que estos se denominan "marcas" o "combinación de caracteres" en Unicode (consulte el plano U + 0300 - U + 036F).Encontrar la combinación de signos diacríticos para el carácter en el punto en emacs
Por ejemplo, para colocar el diacrítica centralización (U + 0306) en el carácter e:
e C-x 8 <RET> 0306 <RET>
Run C-u C-x =
en el carácter resultante y verá algo así como "Compuesto con el siguiente carácter (s) ̆ "
Por desgracia, funciones como following-char
solo devuelven el carácter base, es decir," e ", e ignoran cualquier combinación de signos diacríticos. ¿Hay alguna forma de obtener esto?
EDIT: slitvinov señaló que el glifo resultante consta de dos caracteres. Si coloca un punto antes del glifo creado por el código anterior y ejecuta (point)
antes y después de ejecutar forward-char
, verá que el punto aumenta en 2. Me imaginé que podría piratear una solución mediante este comportamiento, pero parece que dentro de una declaración progn
(o definición de función), forward-char
solo mueve el punto hacia adelante en uno ... pruébalo en un defun
o con (progn (forward-char) (point))
. ¿Por qué podría ser esto?
Buena captura. Si creo ĕ usando el signo diacrítico U + 0306, coloco el punto antes del carácter resultante y ejecuto 'forward-char', el punto aumenta en dos. Hay un problema con esto en una función, sin embargo, ver mi edición. – Dan