如何用与 XeTeX 兼容的字体(在 amsppt.sty 中)替换 CM 字体?

如何用与 XeTeX 兼容的字体(在 amsppt.sty 中)替换 CM 字体?

我想尝试修补AMSTeX 样式文件,amsppt.sty使其可用于 XeTeX 和非拉丁语言(西里尔文)。 看来我需要将以下CM字体或字体系列替换为支持Unicode的字体或字体系列:cmcsc10,,,,,,,,,,,,,,,,,,,,,,,,,,,。cmti7cmr8cmr6cmmi8cmmi6cmsy8cmsy6cmbx8cmbx6cmti8cmsl8cmtt8cmcsc10cmex10cmex10cmmibfamcmmibcmbsyfamcmbsycmcsc8cmex8cmex7

我可以用哪些来代替?在哪里可以得到它们?

这个问题的另一部分是如何在 中使用新字体amsppt.sty。选择字体的行如下所示:

\font@\sevenit=cmti7 \relax

答案1

amspptfont.tex我准备了一个包含以下内容的文件

\chardef\atfontcatcode=\catcode`\@
\catcode`@=11

% the plain fonts
\font@\tenrm="[cmunrm]" at 10pt
\font@\sevenrm="[cmunrm]" at 7pt
\font@\fiverm="[cmunrm]" at 5pt

\font@\tenbf="[cmunbx]" at 10pt
\font@\sevenbf="[cmunbx]" at 7pt
\font@\fivebf="[cmunbx]" at 5pt

\font@\tentt="[cmuntt]" at 10pt

\font@\tensl="[cmunsl]" at 10pt

\font@\tenit="[cmunti]" at 10pt

% the amsppt fonts
\font@\tensmc="[cmunrm]:+smcp" at 10pt \relax
\font@\sevenit="[cmunti]" \relax
\font@\eightrm="[cmunrm]" at 8pt \relax
\font@\sixrm="[cmunrm]" at 6pt \relax
\font@\eightbf="[cmunbx]" at 8pt \relax
\font@\sixbf="[cmunbx]" at 6pt \relax
\font@\eightit="[cmunti]" at 8pt \relax
\font@\eightsl="[cmunsl]" at 8pt \relax
\font@\eighttt="[cmuntt]" at 8pt \relax
\font@\eightsmc="[cmunrm]:+smcp" at 8pt \relax

\catcode`@=\atfontcatcode

然后是以下测试文件

\input amstex
\documentstyle{amsppt}
\input amspptfont

\document

Добро пожаловать в русский Викисловарь — многофункциональный многоязычный словарь и тезаурус, 
в обсуждении и пополнении которого может участвовать каждый.

\proclaim{Proposition 2.5} Let $S_1,\dots,S_m$ be the components
of a $J$-holomorphic cusp-curve $S$ and suppose that each
component $S_i$ is \rom(a multiple covering of\rom) a regular
curve and that Assumption \rom{(1.4a)} is satisfied. \dots
\endproclaim

\define\test#1{%
  {\tt\string#1}{#1 Test of the font}\par
}

\test\tenrm
\test\sevenrm
\test\fiverm

\test\tenbf
\test\sevenbf
\test\fivebf

\test\tentt

\test\tensl

\test\tenit

\test\tensmc
\test\sevenit
\test\eightrm
\test\sixrm
\test\eightbf
\test\sixbf
\test\eightit
\test\eightsl
\test\eighttt
\test\eightsmc

\enddocument

产生以下输出

在此处输入图片描述

我甚至没有尝试数学符号字体​​,这需要对拉丁现代数学进行大量的工作。

相关内容