What other fonts are available to write in Cyrillic in LaTeX beside T2A, T2B, T2C?
[Tex/LaTex] What fonts can I use for writing in Cyrillic in LaTeX
cyrillicfonts
Related Solutions
You can use it directly. fontenc
works well with XeTeX/LuaTeX. For example,
\documentclass{article}
\usepackage[T2A]{fontenc}
\begin{document}
\symbol{"C1} % produce Б
\end{document}
However, you can't use it with fontspec
. A error will be produced:
! Corrupted NFSS tables.
Moreover, it is a problem to input Cyrillic text. inputenc
cannot be used in XeTeX and LuaTeX directly.
Anyway, if you want to use Cyrillic text in XeLaTeX and LuaTeX, just use CM Unicode fonts. For example,
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\begin{document}
Русский язык
\textsf{Русский язык}
\texttt{Русский язык}
\end{document}
Additional notes:
inputenc
is used for text of 8 bits encodings. Knuth's tradational TeX can use ASCII (0x00--0x7F) only. Later TeX implementations can process 8 bits extended ASCII (0x00--0xFF).
Most western encodings are some types of extended ASCII, e.g. Latin 1 (ISO 8859-1), KOI8-R, CP866. The ASCII part are identical, but higher codes (0x80--0xFF) are different.
Fonts has there own encodings. Basically, a font encoding corresponds with a input encoding. For example, T1
encoding is very similar to Latin 1 encoding, and T2A
is very similar to Code Page 1251 in Windows. That is to say, if you TeX a source file of CP1251, and use \usepackage[T2A]{fontenc}
, you will get proper Russian text without any other packages.
inputenc
makes us to input text with different encodings, but use fonts of only one font encoding. When you choose utf8x
option, and use T2A
font encoding, then the characters are mapped to T2A
(CP1251
) from UTF-8 inputs. That's what inputenc
do.
How inputenc
works? It makes the characters active (catcode 13), and do the mapping. For multibyte characters, things may be more complex.
Why inputenc
cannot be used in XeTeX and LuaTeX? XeTeX and LuaTeX use UTF-8 encoding for input. A multibyte Unicode character in XeTeX/LuaTeX is only one character, but in pdfTeX it's two or three. Thus the different TeX engines sees the input stream differently. inputenc
fails in XeTeX and LuaTeX.
I'm not very familar with LuaTeX. In XeTeX, there is a special mode for compatibility. You can use \XeTeXinputencoding
to change the input encoding temporarily, and the "bytes"
encoding makes XeTeX works like a 8 bit TeX engine. Thus, this works for XeTeX:
\XeTeXinputencoding "bytes"
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc}
\begin{document}
Русский язык
\textsf{Русский язык}
\texttt{Русский язык}
\end{document}
(This technique is used by obsolete xCJK
package.)
However, inputenc
may cause real Unicode fonts with fontspec
works unusually. It is still not a good idea to use it.
By Khaled Hosny
luainputenc
can be used here. I didn't know that.
\documentclass{article}
\usepackage[T2A]{fontenc}
\usepackage[lutf8x]{luainputenc}
\begin{document}
Русский язык
\textsf{Русский язык}
\texttt{Русский язык}
\end{document}
Doing
locate /t2a | grep 'texlive/2012/texmf-dist/tex/latex/.*\.fd$'
outputs, on my updated TeX Live
/usr/local/texlive/2012/texmf-dist/tex/latex/antt/t2aantt.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/antt/t2aanttc.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/antt/t2aanttl.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/antt/t2aanttlc.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cantarell/t2afca.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cm-lgc/t2afcm.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cm-lgc/t2afcs.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cm-lgc/t2afct.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/comfortaa/t2afco.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2accr.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmbr.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmdh.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmfib.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmfr.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmr.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmss.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmtl.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmtt.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2acmvtt.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2alcmss.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/cyrillic/t2alcmtt.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/droid/t2afdm.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/droid/t2afdr.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/droid/t2afds.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/iwona/t2aiwona.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/iwona/t2aiwonac.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/iwona/t2aiwonal.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/iwona/t2aiwonalc.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/kurier/t2akurier.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/kurier/t2akurierc.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/kurier/t2akurierl.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/kurier/t2akurierlc.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/opensans/t2afos.fd
/usr/local/texlive/2012/texmf-dist/tex/latex/opensans/t2afosj.fd
With /T2A
(which is an alternative), nothing is found.
antt
refers to Antikwa Toruńska (texdoc antt
)fca
refers to Cantarell (texdoc cantarell
)afc
refers to something I can't find information aboutfco
refers to Comfortaa (texdoc comfortaa
)- the
cyrillic
bundle consists of fonts based on the design of Computer Modern (the one used also if the main font family is Latin Modern) afd
refers to Droid (texdoc droid
)iwona
refers to Iwona (texdoc iwona
)kurier
refers to Kurier (texdoc kurier
)fos
refers to Open Sans (texdoc opensans
)
Update (October 2014)
Other fonts have appeared since the last listing:
- gentium-tug:
\usepackage{gentium}
- Heuristica:
\usepackage{Heuristica}
- Erewhon:
\usepackage{erewhon}
They have .fd
files for T2A, T2B and T2C. The coverage for the last two is not complete, while Gentium seems to fully cover the three encodings.
Update (June 2017)
There are new packages for Cyrillic:
- Tempora (based on Times New Roman):
\usepackage{tempora}
- XCharter:
\usepackage{XCharter}
Update February 2018
With a current TeX Live, the command locate '.fd' | grep '2017.*/[tT]2[aA]'
produces
/usr/local/texlive/2017/texmf-dist/tex/latex/antt/t2aantt.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/antt/t2aanttc.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/antt/t2aanttl.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/antt/t2aanttlc.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cantarell/t2afca.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cm-lgc/t2afcm.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cm-lgc/t2afcs.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cm-lgc/t2afct.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cmsrb/t2acmsrbr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cmsrb/t2acmsrbs.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cmsrb/t2acmsrbt.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cochineal/T2ACochineal-LF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cochineal/T2ACochineal-OsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cochineal/T2ACochineal-Sup.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cochineal/T2ACochineal-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cochineal/T2ACochineal-TOsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/comfortaa/t2afco.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2accr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmbr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmdh.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmfib.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmfr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmss.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmtl.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmtt.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2acmvtt.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2alcmss.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/cyrillic/t2alcmtt.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/dejavu/T2ADejaVuSans-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/dejavu/T2ADejaVuSansCondensed-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/dejavu/T2ADejaVuSansMono-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/dejavu/T2ADejaVuSerif-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/dejavu/T2ADejaVuSerifCondensed-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/droid/t2afdm.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/droid/t2afdr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/droid/t2afds.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-Dnom.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-Inf.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-LF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-Numr.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-OsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-Sup.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/erewhon/T2Aerewhon-TOsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/gentium-tug/t2agentium.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/heuristica/T2AHeuristica-Inf.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/heuristica/T2AHeuristica-Sup.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/heuristica/T2AHeuristica-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/heuristica/T2AHeuristica-TOsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/iwona/t2aiwona.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/iwona/t2aiwonac.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/iwona/t2aiwonal.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/iwona/t2aiwonalc.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/kurier/t2akurier.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/kurier/t2akurierc.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/kurier/t2akurierl.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/kurier/t2akurierlc.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/lato/T2Afla.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/lato/T2Alato-LF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/lato/T2Alato-OsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/lato/T2Alato-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/lato/T2Alato-TOsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/libertinegc/T2ALinuxLibertineT-LF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/libertinegc/T2ALinuxLibertineT-OsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/libertinegc/T2ALinuxLibertineT-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/libertinegc/T2ALinuxLibertineT-TOsF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/miama/t2afmm.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/nimbus15/T2ANimbusMono.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/nimbus15/T2ANimbusMonoN.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/nimbus15/T2ANimbusSans.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/nimbus15/T2ANimbusSerif.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/opensans/t2afos.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/opensans/t2afosj.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTMono-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTSans-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTSansCaption-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTSansNarrow-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTSerif-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/paratype/T2APTSerifCaption-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/tempora/t2atempora-tlf.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/tempora/t2atempora-tosf.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/xcharter/T2AXCharter-Sup.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/xcharter/T2AXCharter-TLF.fd
/usr/local/texlive/2017/texmf-dist/tex/latex/xcharter/T2AXCharter-TOsF.fd
Notable additions are PTSans, PTSerif, Linux Libertine, XCharter, Cochineal, DejaVu (Serif and Sans), Lato and Nimbus (Serif, Sans and Mono).
Best Answer
For multilingual typesetting it seems plausible to use modern TrueType or OpenType fonts, which often contain glyphs for many Unicode character ranges including Cyrillic. Some of the available fonts were made with TeX in mind or even using the original Knuth's Computer Modern as a basis. Some fonts are already included in TeX distributions.
To load a TTF/OTF font, one needs the XeTeX or LuaTeX engines. A LaTeX interface is provided by the
fontspec
package.Here's a list of some relevant fonts in no particular order: