带有纯 TeX 的非拉丁字符

带有纯 TeX 的非拉丁字符

如何使用纯 TeX(即不使用“第三方”宏包,如 LaTeX)将非拉丁字母(例如西里尔字母)输出到文档中?

答案1

不推荐的方式:这是古代历史

这是我使用过的最古老的方法,借助拉丁音译和 AMS 字体,请参阅第 15 页及以上http://mirrors.rit.edu/CTAN/fonts/amsfonts/doc/amsfndoc.pdf。我附上了 PDF 文件的片段pdftex和预览。

我使用 Wadalab 项目的字体来排版几个 CJK 字符。现在我会使用xetexluatexUTF context-8 编码输入。

% run: tex or pdftex mal-non-latin.tex
\nopagenumbers
\input cyracc.def
\font\tencyr=wncyr10
\def\cyr{\tencyr\cyracc}
\cyr 
Nezna\u\i ka --- literaturny\u\i\  personazh, opisyvayemy\u\i\  kak predstavitel\cprime\ plemeni malen\cprime kikh chelovechkov --- korotyshek, gero\u\i\ posvyashch\"enno\u\i\ ego priklyucheniyam trilogii Nikolaya Nosova i e\"e mnogochislennykh prodolzheni\u\i. Chlen Kluba ves\"elykh chelovechkov.
\par
\font\mjap=dmjhira \mjap
\char"15\char"48\char"06\char"2A\char"49
\bye

姆韦

更新:这是在引擎中加载 OTF 文件的一次快速测试luatex

\nopagenumbers
\input{luaotfload.sty}
\def\mytest{This is a test. Това е тест.\par}
\font\myfont=FreeSerif.otf % a font from the GNU FreeFont family
\myfont\mytest
\font\myfont=LinLibertine_R.otf % a font from the Linux Libertine family
\myfont\mytest
\font\myfont=cmunrm.otf % a font from the Computer Modern family
\myfont\mytest
\bye

mwe, luatex

答案2

cyrchars.tex您可以从 csplain 包中的文件中获得启发。

\input cyrchars

Normal text and текст на русском языке.

{\it Normal text in italics and текст на русском языке}.

{\bf Normal text in bold and текст на русском языке}.

\end

赛尔查斯

cyrchars.tex宏使用 encTeX 根据编码自动选择字体。 pdfTeX 是应该的,csplainpdfcsplain是推荐的格式。 您可以尝试命令pdfcsplain document

答案3

对于 Plain TeX,有一系列字体映射到不同的西里尔字母 8 位编码方案,cmcyr 字体。只需确保使用相同的输入和输出 8 位编码(koi8、cp1251、cp866 和 iso8859-5 均可)。通过类似的程序(以正确的编码设置字体),可以轻松排版现代希腊文。一组合适的字体编码为 UNITYPE WINLANGUAGE,已在cm-lgc 字体;使它们适应现代希腊语(iso 8859-7 编码)并不困难,只需使用 afm2tfm 重新编码字体即可。

相关内容