# KP-monospaced with LuaLaTeX

how do I set KP-monospaced font to be used as tt font with fontspec?

I tried this:

\documentclass{article}
\usepackage{fontspec}
\setmonofont{KP-monospaced}
\begin{document}
\texttt{120 test}
\end{document}


But it does not work

• Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. Do you have the fonts installed in opentype or truetype format? As far as I can tell, TeX Live includes type1 versions but nothing else, in which case you probably need to load them in the 'traditional' way rather than using fontspec i.e. \usepackage{} or specific commands for just the monospaced font, for example. – cfr Oct 4 '14 at 21:18
• @cfr I only have the version that comes with the CTAN package. don't know what that is. How do I load the package in the traditional way? If I add usepackage{kpfonts} nothing changes and the tt font is not in kp-monospaced. – Trak Oct 4 '14 at 21:20
• It works for me if I delete the fontspec and \set... lines. – cfr Oct 4 '14 at 21:22
• @cfr No, sorry, I was not clear. I need to load fontspec for other purposes in my document. So my question is: how to load the tt font in a traditional way while using fontspec? – Trak Oct 4 '14 at 21:24
• Ah. That's more complex as you need to enforce a non-unicode encoding against the will of fontspec. See my answer below. (Code doesn't work well in comments!) – cfr Oct 4 '14 at 21:32

I'm not certain this is the right way to do it but the following seems to work for me, with very minimal testing. Caveat emptor...

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\makeatletter
\DeclareRobustCommand\ttfamily{%
\not@math@alphabet\ttfamily\mathtt
\fontencoding{T1}\fontfamily\ttdefault\selectfont}
\makeatother
\renewcommand{\ttdefault}{jkptt}
\begin{document}
\texttt{120 test}
\end{document}

• Is the instruction \usepackage[T1]{fontenc} necessary? – Mico Oct 4 '14 at 21:38
• Ok, with a preliminary test it works. thank you (can't upvote) – Trak Oct 4 '14 at 21:39
• @Mico I'm not sure. This test worked without it but I was worried that it might be necessary for something more subtle I wasn't aware of. Would it be safe to remove it? – cfr Oct 4 '14 at 22:14
• One commonly-given pieces of advice when using LuaLaTeX is not to load the fontenc and inputenc packages. Your MWE definitely seems to work without the \usepackage[T1]{fontenc} instruction. – Mico Oct 4 '14 at 22:15
• @Mico That is the general rule, yes. However, my understanding is that fontenc is sometimes appropriate for use with Xe/LuaLaTeX, but that you have to be careful. Typically, it is a bad idea but typically, you are not using the T1 encoding because using the T1 encoding is a bad idea. In this case, though, you have to rely on the T1 encoding. So we are already outside the remit of standard recommendations. I can't find anything yet which omitting it breaks, but I'm not at all sure that there is no such thing! – cfr Oct 4 '14 at 22:35