I do not know how to make lualatex output Type 1C fonts. However, you may be able to use ps2pdf to convert a PDF containing Type 1 fonts to another PDF containing Type1C fonts. You should carefully choose parameters to ps2pdf. For example:
newell:~/latex/help $ du -h plain.pdf
60K plain.pdf
newell:~/latex/help $ pdffonts plain.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BZAAVM+NimbusSanL-Bold Type 1 yes yes no 17 0
YCENSD+LMMathItalic12-Regular Type 1 yes yes no 18 0
KDKAQG+CMSS12 Type 1 yes yes no 19 0
IDSSCN+NimbusSanL-Regu Type 1 yes yes no 20 0
ZIJBJP+NimbusSanL-ReguItal Type 1 yes yes no 21 0
SEAJVD+NimbusSanL-BoldItal Type 1 yes yes no 22 0
SQTJQN+LMMathSymbols10-Regular Type 1 yes yes no 23 0
newell:~/latex/help $ ps2pdf -dPDFSETTINGS=/prepress -dAutoRotatePages=/None -dEmbedAllFonts=true -dMaxSubsetPct=100 -dSubsetFonts=true -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -dDownsampleColorImages=false -dDownsampleGrayImages=false -dDownsampleMonoImages=false plain.pdf new.pdf
newell:~/latex/help $ du -h new.pdf
36K new.pdf
newell:~/latex/help $ pdffonts new.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
OJEPRS+NimbusSanL-BoldItal Type 1C yes yes no 23 0
OJIXHX+LMMathSymbols10-Regular Type 1C yes yes no 25 0
CYORGJ+NimbusSanL-Bold Type 1C yes yes no 13 0
MZVUTG+LMMathItalic12-Regular Type 1C yes yes yes 15 0
PWIYDZ+CMSS12 Type 1C yes yes no 17 0
QBTHSF+NimbusSanL-Regu Type 1C yes yes no 19 0
XMYGAL+NimbusSanL-ReguItal Type 1C yes yes no 21 0
Another approach for short verbatim text is to use the \Verb
command from the fancyvrb
package; I added the obeytabs
option and used tabsize
to recover the alignment inside the \matrix
(the characters are spaced using tabs):
Apparently, when I copy the code from my editor to this site the tabs get lost. You need to use A(tab)B(tab)C(tab)D
and Ac(tab)Ad(tab)Be(tab)Cf
in the code below, where (tab)
stands for a tab in your editor:
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{tikz}
\usetikzlibrary{matrix}
\fvset{obeytabs}
\begin{document}
\begin{tikzpicture}%
\matrix (m) [matrix of nodes, every node/.style={font=\ttfamily},%
row 1/.style={text width=7em, align=left},
row 2/.style={text width=7em, align=left}]
{
\Verb[tabsize=2]+A B C D+\\
\Verb[tabsize=1]+Ac Ad Be Cf+\\
};
\end{tikzpicture}
\end{document}
Using the \lstinline
command from the listings
package, there's no need to use tabs; simple spaces will behave as expected:
\documentclass{article}
\usepackage{listings}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}%
\matrix (m) [matrix of nodes, every node/.style={font=\ttfamily},%
row 1/.style={text width=7em, align=left},
row 2/.style={text width=7em, align=left}]
{
\lstinline+A B C D+\\
\lstinline+Ac Ad Be Cf+\\
};
\end{tikzpicture}
\end{document}
Best Answer
Well pdflatex can handle true type fonts to a certain extent. E.g. the winfonts package allows to use arial.ttf and other truetype fonts in windows. The main difference between pdftex and the new engines xetex and luatex is not the font format but
the existence of the tfm-file with the metric informations: When using pdftex the tfm-file must exist before the compilation but xetex and luatex can create the information on the fly from the actual font.
The number of glyphs in a font. pdftex can handle only 256 glyphs per tfm. So if the font has more glyphs you must create more than one tfm (and perhaps virtual fonts and .enc-files).
Setting up a font for pdftex needs some time. With xetex and luatex you can normally use it within minutes.