7

The first two characters in the left buffer are LATIN SMALL LETTER A and COMBINING CIRCUMFLEX ACCENT. Together they should display as , just like LATIN SMALL LETTER A WITH CIRCUMFLEX, â.

However, as you can see, the circumflex is appearing next to the a, not above it.

The screenshot is from GNU Emacs 26.1, emacs -Q on Ubuntu 18.04. The characters display correctly in other applications. What's going wrong and how can I fix it?

enter image description here

7
  • Do those other applications just change the visual appearance, or do they also compose the two characters into the single character â?
    – rpluim
    Jul 24, 2018 at 18:18
  • @RobertPluim I'm not sure how to diagnose between the two options you're suggesting. If I paste into gedit, the hat is on top. If I copy it from gedit and paste it back into emacs, the hat moves to the right.
    – Hatshepsut
    Jul 24, 2018 at 18:47
  • Thanks, that answers the question: gedit is visually composing the characters, but not combining them into the single character LATIN SMALL LETTER A WITH CIRCUMFLEX.
    – rpluim
    Jul 24, 2018 at 21:03
  • 4
    I asked emacs-devel about this, and Eli Zaretskii helpfully pointed out that emacs will only do this combining if you're using a font that supports both 'a' and COMBINING CIRCUMFLEX ACCENT. In your case the two fonts are different. Would you know which font gedit is using? (I just tried gedit here with "Droid Sans Mono", and it display the two characters separately).
    – rpluim
    Jul 24, 2018 at 21:11
  • @RobertPluim Ah, looks like gedit was using DejaVu. So I tried (set-frame-font "-PfEd-DejaVu Sans Mono for Powerline-normal-normal-normal-*-42-*-*-*-m-0-iso10646-1") and it worked. Thanks!
    – Hatshepsut
    Jul 24, 2018 at 21:26

1 Answer 1

6

For emacs to be able to combine successive characters, you need to be using a font that has support for both of the characters. As per the comments, in your case that was 'DejaVu Sans Mono'.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.