我正在尝试让emacs在字体锁定模式下正确呈现数学组合字符,例如分音符,条形码等。目标是能够编写像x_dot这样的数学内容并将其显示为“ẋ”,或将x_bar显示为“x̄”。
这是我到目前为止所做的,它主要起作用。
(font-lock-add-keywords
nil
`(("\\<\\(\\w\\)\\(_dot\\)\\>"
(0 (progn (compose-region (match-beginning 1) (match-end 2)
(concatenate 'string (match-string 1) " ̇" )) nil)))))
但是:我在组合角色之前看到了一个视觉神器角色。在执行上述操作后,通过在* scratch *缓冲区中写入“x_dot”或类似内容来测试它。
这个神器像幽灵一样出现。在编写像“o”和“ - ”这样的普通字符时不会发生这种情况,如下例所示。
(font-lock-add-keywords
nil
`(("\\<\\(\\w\\)\\(_dash\\)\\>"
(0 (progn (compose-region (match-beginning 1) (match-end 2)
(concatenate 'string (match-string 1) "-" )) nil)))))
然后在某处输入“x_dash”。
发生了什么事?
答案 0 :(得分:2)
对于它的价值,你的第一个例子在OS X上我最前沿的Emacs中没有工件的情况下工作得很好。你可能会看到一个特定于你的平台的emacs UI和/或字体库的渲染怪癖。如果您发布有关您正在运行的Emacs的更多信息,那么比我更专业的人可能能够确认问题。