如何更改字母的字体?

如何更改字母的字体?

这是对我的问题的部分复述我可以永久改变字母的字体和颜色吗?那里的答案集中在颜色我想要的方面。我还希望能够更改字符所使用的实际字体。

将字符重新分配给特定字体中的特定字形的正确方法是什么?

举一个可能的例子(虽然有点疯狂),假设我想(在数学模式下)C只使用一组复数。因此输入C应该会产生ℂ。我还希望能够移动字形,因此也许输入d应该会产生δ。

Will 对我最初的问题的回答是这样的:

在普通乳胶中,你可以为不同的符号选择不同的字体

但没有告诉我具体该怎么做!

答案1

\DeclareMathSymbol{C}{\mathord}{AMSb}{`C}

第一个参数是您正在定义的标记(控制序列在这里有效)。第二个是类,,,,,,,,,和7\mathord表示变量(可能有一些变量,但我不知道它是什么)。第三个是字体系列。第四个是该系列中的位置。\mathbin\mathop\mathrel\mathopen\mathclose\mathpunct\mathfoo

正如所料,这个特殊情况最终会扩展为\mathcode `C="0.43。我真的不知道缺失的十六进制数字(家庭)是什么。\mathcode是那些神秘的(对我而言)原语之一。

我相信基本格式是:\mathcode `x="cfpp其中x是任何文字字符,c是类(0 = 普通到 7 = 变量),f是家族,pp是该家族中的位置。cfpp当然是一个十六进制值。

我突然想到,您可能想使用7而不是来\mathord获取变量类中的字母。我不确定。希望其他人可以就此事发表意见。

答案2

这只是帮助您入门的一个例子;请参阅texdoc fntguide完整文档。

\documentclass{文章}
\usepackage{amsfonts}
\DeclareSymbolFont{eulerfrak}{U}{euf}{m}{n}
\DeclareMathSymbol{C}{\mathalpha}{eulerfrak}{`C}
\开始{文档}
\[A B C D\]
\结束{文档}

由于这个功能还不太为人所知,因此在 unicode-math 中还没有合适的用户界面。但我在进行下一轮更新时一定会记住这一点。

答案3

尽管已经有了一个可接受的答案,我还是想插一句。我想到的唯一“移位”需要 XeTeX,这是一种包含所有内容(拉丁文、希腊文等)的字体,并且知道要“移位”多少。即。

\count0=0 \advance\count0 by \XeTeXcharglyph`A
\advance\count0 by 500% Or how much it is to shift until the wanted version
\XeTeXglyph\count0% Out comes the shifted glyph

当然,所有这些都需要以某种方式进行宏操作。很抱歉,我对宏操作了解不够多,无法在这里提供帮助,但希望基本想法可以提供一些思考。

相关内容