
Ao inserir símbolos Unicode matemáticos incomuns (normalmente por meio de font-lock-add-keywords), enfrento esse problema: quando minha fonte padrão não tem um caractere específico, outra fonte que inclui esse caractere é usada.
De alguma forma, a altura do símbolo na segunda fonte às vezes é diferente da altura de todos os caracteres regulares na primeira fonte, talvez em um pixel. Isso altera a altura da linha atual e "move" muito texto da tela para cima/para baixo em um pixel quando digito um símbolo, o que é bastante irritante. (A fonte substituta padrão que causa esse problema é Arial.)
Atualmente resolvo isso usando algo assim, quando "Source Code Pro" é a fonte padrão:
(set-default-fontset "fontset-default" '(#x???? . #x????) "DejaVu Serif")
O intervalo é algo como 2100..23ff, 27c0..27ff, 2900..2bff. Às vezes, isso não funciona quando descubro que DejaVu Serif também não possui o caractere e preciso encontrar outra fonte com a mesma altura. Isso está no emacs 24.3, no OS X 10.9.3.
Um problema relacionado é que, para alguns caracteres, uma fonte diferente (altura diferente) é usada dependendo se o caractere está destacado dentro da região selecionada.
Por que isso acontece e o que posso fazer a respeito? Eu não me importo especialmente com qual fonte é usada, desde que a altura das linhas não salte. Alguma sugestão? Existe alguma maneira de ajustar a altura da segunda fonte alternativa para ser exatamente a mesma?