\textsc 单个字形的问题

\textsc 单个字形的问题

有没有办法(简单或其他方式)从特定字符下的另一种字体导入单个字符,或以其他方式改变该字符?

我使用的是这里,但有一个小问题——当\ae{}与 一起使用时\textsc{},字体默认为小写。

可以通过从上述网站下载软件包然后使用以下代码来获得 MWE:

\documentclass[a4paper,10pt]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{garamond}
\renewcommand{\rmdefault}{ggm}\normalfont

\begin{document}

\garamond
Normal ligature: \ae{}

Capital ligature: \AE{}

Small Caps: \textsc{\AE{}, \ae{}, Isch\ae{}mia}
\end{document}

结果如下图所示(我也是在没有 Garamond 的情况下进行的,以确保这不仅仅是我的代码的问题)。

MWE 结果

使用提供的字体 sfd 文件、FontForge 和给出的大部分说明这里,我已经能够生成一种字体来纠正该问题,但它会丢失大多数悬挂字体等等,或者更确切地说,它会偶尔使用它们。

有人知道如何指向 LaTeX 使用不同的字形,无论是标准大写字母的修改版本还是自建版本字体的字形?

答案1

小型大写字体只有 26 个无重音字母被实现为小型大写字母。要获得所有字符需要做很多工作。如果您只需要 æ,请执行以下步骤。

  1. 跑步vftovp ggmrc8t.vf > ggmrc8t.vpl
  2. ggmrc8t.vpl使用文本编辑器打开生成的文件。
  3. 找到以 开头的条目CHARACTER O 346并将其更改为

    (CHARACTER O 346
       (CHARWD R 0.8552)
       (CHARHT R 0.5452)
       (CHARDP R 0.016)
       (COMMENT
          (KRN C v R 0.001)
          (KRN C y R 0.001)
          (KRN O 375 R 0.001)
          (KRN O 270 R 0.001)
          (KRN O 47 R -0.003)
          (KRN C t R 0.002)
          (KRN C w R -0.005)
          (KRN C x R -0.007)
          (KRN C V R -0.076)
          (KRN O 265 R 0.002)
          )
       (MAP
          (SELECTFONT D 1)
          (SETCHAR O 306)
          )
       )
    
  4. 运行 vftovpggmrc8t.vpl并用新的文件替换相应的tfm文件vf

我所做的是将字符映射到缩小尺寸的 Æ,并通过将 Æ 字符的尺寸缩放 80% 来计算新的高度和宽度。但是,尝试其他字符会失败,需要进行其他类似的调整。

在此处输入图片描述

相关内容