# special characters cannot show after changing font with lualatex

I was using the following preamble with lualatex. I have many sanskrit words using unconventional Roman script, such as ahaḿtattva, rúpa, tanmátra.

\documentclass[12pt, b5paper]{book}
\usepackage{fontspec}


It worked well with the default font, until I changed to a new font:

\setmainfont{Calluna-Regular}


All the special characters previously worked out fine now all disappeared. Instead, I get warnings such as:

LaTeX Font Warning: Font shape EU2/Calluna-Regular(0)/m/sl' undefined using EU2/Calluna-Regular(0)/m/n' instead on input line 11.


If I typeset each character manually, such as \'{a}, \'{u}, then I can get the special characters back. But doesn't work in \'{m}, nothing shows. With \'{t}, only normal t will show.

When compiling with XeLaTeX, some special characters, such as á, can show correctly. I'd prefer to use LuaLaTeX for its better microtype support.

Is that because the font I've chosen does not support these special characters? But it does support \'{a}, \'{u}, etc. Why doesn't it print these characters by itself as in default font?

Can I redirect the font table to correct font instead? If so, how to do that?

I cannot use the Sanskrit support in polyglossia, because I'm using a different Roman script.

I would like to stick to the new font, compile with LuaLaTeX, and show all the special characters correctly.

• Calluna has á and ú, and I have no trouble using them directly rather than with \'{}. But Calluna (even the version you have to pay for) has no ḿ; unless you want to play with combining accents, you should choose a font with the characters you need. – Thérèse Sep 3 '15 at 18:27
• By the way, a better way to invoke Calluna is \setmainfont{Calluna}[Contextuals=Alternate]. – Thérèse Sep 3 '15 at 18:29
• I’ve just been examining the characters in Emacs, as copied and pasted from your question, and as typed directly by me. Yours are composed, so, for the characters Calluna does have, you’re probably running into the difficulty discussed at tex.stackexchange.com/q/229044 – Thérèse Sep 3 '15 at 19:09
• The font misses both U+0301 (the combining acute accent), which explains why you don't get accents; if I type directly á and ú, I get the characters. However, the font also misses ḿ (U+1E3F). My advice is to use a different font. You may consider Erewhon, for instance, that's distributed with TeX Live and MiKTeX. – egreg Sep 3 '15 at 19:43
• @Thérèse You can try \accent"00B4 m, but it's vastly preferable to either have the combining accent or the precomposed glyph. – egreg Sep 3 '15 at 20:18

The Calluna font misses U+0301 (COMBINING ACUTE ACCENT), so your input that uses it will not produce the accent. On the other hand the precomposed glyphs for á and ú exist, but not ḿ (U+1E3F LATIN SMALL LETTER M WITH ACUTE). There's no “t with acute” in Unicode, so you can't get it either.

However, you can use lower level TeX features, in this case \accent:

\documentclass[12pt, b5paper]{book}
\usepackage{fontspec}

\setmainfont{Calluna}

\newcommand{\ppacute}[1]{\accent"00B4 #1}

\begin{document}

aha\ppacute{m}tattva, rúpa, tanmátra

\ppacute{t}

\end{document}


I strongly suggest to use a font that has the characters you need.

• thanks again. Do you know what's the \accent command for ṋ? Its unicode is U+1E4B. – Roshnii Sep 4 '15 at 17:42
• @Roshnii I'm afraid you can't realize ṋ as an accented character. – egreg Sep 4 '15 at 17:43