
Al insertar símbolos Unicode matemáticos poco comunes (normalmente a través de font-lock-add-keywords), experimento el problema de que cuando mi fuente predeterminada no tiene un carácter en particular, se utiliza otra fuente que incluye ese carácter.
De alguna manera, la altura del símbolo en la segunda fuente a veces es diferente de la altura de todos los caracteres normales en la primera fuente, quizás con un píxel de diferencia. Esto cambia la altura de la línea actual y "mueve" gran parte del texto de la pantalla hacia arriba o hacia abajo en un píxel cuando escribo un símbolo, lo cual es bastante irritante. (La fuente sustituta predeterminada que causa este problema es Arial).
Actualmente resuelvo esto usando algo como esto, cuando "Source Code Pro" es la fuente predeterminada:
(set-default-fontset "fontset-default" '(#x???? . #x????) "DejaVu Serif")
El rango es algo así como 2100..23ff, 27c0..27ff, 2900..2bff. A veces esto no funciona cuando descubro que DejaVu Serif tampoco tiene el carácter y necesito encontrar otra fuente con la misma altura que sí lo tenga. Esto está en emacs 24.3, en OS X 10.9.3.
Un problema relacionado es que para algunos caracteres se utiliza una fuente diferente (altura diferente) dependiendo de si el carácter está resaltado dentro de la región seleccionada.
¿Por qué sucede esto y qué puedo hacer al respecto? No me importa especialmente qué fuente se use, siempre y cuando las alturas de las líneas no salten. ¿Alguna sugerencia? ¿Hay alguna manera de ajustar la altura de la segunda fuente alternativa para que sea exactamente igual?