4

I was using the following preamble with lualatex. I have many sanskrit words using unconventional Roman script, such as ahaḿtattva, rúpa, tanmá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 , 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.

  • 2
    Calluna has á and ú, and I have no trouble using them directly rather than with \'{}. But Calluna (even the version you have to pay for) has no ḿ; 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
  • 1
    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
  • 1
    @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
6

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}

enter image description here

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

  • thanks again. Do you know what's the \accent command for ṋ? 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

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.