I found that XeLaTeX cannot map letters with more than two diacritics correctly. For example, \v{\"{u}} or \v{ü} cannot produce the expected ǚ correctly. I've tried many fonts, so I think it may not depend on fonts. Any tricky way to fix this? Thanks!


1 Answer 1


It certainly does depend on the font. Here's a selection from my machine (a Mac).

% !TEX TS-program = XeLaTeX

\newfontfamily\libertine{Linux Libertine O}
\newfontfamily\times{Times New Roman}
\newfontfamily\charis{Charis SIL}
\newfontfamily\minion{Minion Pro}
\newfontfamily\luxiserif{Luxi Serif}
\newfontfamily\biolinum{Linux Biolinum O}
\newfontfamily\lmr{Latin Modern Roman}
\newfontfamily\arialmt{Arial Unicode MS}
\newfontfamily\doulos{Doulos SIL}
\newcommand{\testchar}{\v{\"{u}} or \v{ü}}
Linux Libertine O &{\libertine\testchar}\\
Junicode & {\junicode\testchar}\\
Charis SIL &{\charis\testchar}\\
Doulos SIL & {\doulos\testchar}\\
Latin Modern &{\lmr\testchar}\\
Times New Roman &{\times\testchar}\\
Minion Pro &{\minion\testchar}\\
Luxi Serif & {\luxiserif\testchar}\\
Linux Biolinum O & {\biolinum\testchar}\\
Cambria & {\cambria\testchar}\\
Arial Unicode MS & {\arialmt\testchar}

output of code

  • Linux Libertine does not work for me on Linux. Might be OS dependent.
    – Caramdir
    Commented Apr 16, 2011 at 3:38
  • @Caramdir Linux Libertine or Linux Libertine O? Or maybe you have duplicate fonts in your system?
    – Alan Munn
    Commented Apr 16, 2011 at 3:43
  • Linux Libertine O (I just copied your example and removed all other fonts (as I don't have most of them).
    – Caramdir
    Commented Apr 16, 2011 at 3:46
  • 1
    Charis SIL works. Maybe I have an outdated version of Linux Libertine O.
    – Caramdir
    Commented Apr 16, 2011 at 3:48
  • 3
    Yes. Version 4.7.5 (from the website) works, while 4.4.1 (from Ubuntu packages) doesn't.
    – Caramdir
    Commented Apr 16, 2011 at 3:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .