I've just moved to OS X 10.8.2 from Ubuntu. I have TeX installed as I guess from tug.org, but I'm not sure since it wasn't me who installed it. All my files created in Ubuntu compiles exept one problem: the diacritic mark \b{h} is not found by XeLaTeX (while it works in LaTeX), in log file there is a warning:

Missing character: There is no ẖ in font [lmroman10-regular]:mapping=tex-text !


Here is part of the document:



\setromanfont[Mapping=tex-text]{Latin Modern Mono}


\b{h}ur\=u\v g


All other diacritics are found.

I've changed font I was using under Ubuntu (Linux Libertine O) to Latin Modern, but it didn't help the diacritics.


  • 1
    First of all you should remove the call to srcltx which is obsolete. Then you should present a minimal document that shows the problem. – egreg Dec 1 '12 at 10:45
  • @egreg hello:) I've removed line with scrltx and added a bit of text with diacritics. Under UPDATE. – maria Dec 1 '12 at 10:58
  • 2
    If the Linux Libertine (and Biolinum) fonts haven't already been installed on your system, you should fire up the "TeX Live Utility" program (installed in /Applications/TeX) and search for the "Libertine" keyword. Alternatively, you could obtain the files from ctan.org/tex-archive/fonts/libertine and install "by hand". Well worth the effort. A quick comment about another aspect of your sample code: There's really no point in loading the indentfirst package if you also provide the instruction \setlength\parindent{0pt}. – Mico Dec 1 '12 at 11:38

The Latin Modern fonts don't have the U+1E96 character ('LATIN SMALL LETTER H WITH LINE BELOW'), which is the meaning of the warning you get. Other fonts, such as Linux Libertine, have it.

If you are stuck with a font that hasn't that character, a way out can be adapting an answer of mine to the problem at hand.



     \vbox to.2ex{\hbox{\char"AF}\vss}\hidewidth}\egroup}



\b{h}ur\=u\v g



This shows also how you can use direct input for the characters with diacritics (provided you save your file as UTF-8).

enter image description here

Note. Stating \setromanfont[Mapping=tex-text]{Latin Modern Mono} is not good under three respects

  1. \setromanfont is deprecated and \setmainfont should be used
  2. Mapping=tex-text is now better expressed as Ligatures=TeX
  3. Latin Modern Mono is a monospaced font, which is not good for the main text
  • Thanks. Is the code you've given a small document that should compile? Or should I add something to the preamble? I'm not able to compile it. BTW I don't care about font, I've changed form Linux Libertine since I don't find it in Mac fonts. If I comment all the line with \setromanfont (so as I understand I use some defauld font?) it changes nothing. When I try to change Mapping to Ligatures=TeX, XeLaTeX doesn't understand it. – maria Dec 1 '12 at 11:47
  • @maria You may have an older TeX distribution. You should be able to see what's installed with the "TeX Distribution" panel in "System Preferences". – egreg Dec 1 '12 at 11:50
  • Thanks, it's working now. I was trying to remove previous comment since I managed finally. Probably there is some problem with TeX installation but I hope I'm on OS X just for a while, so I won't fix it since I'm finally able to have underlined h. Thanks a lot – maria Dec 1 '12 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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