Latino Elongated、XeTeX 和小写字母

Latino Elongated、XeTeX 和小写字母

我正在将 Latino Elongated LET 字体与 XeTeX 一起使用,但无法显示小写字母:

\documentclass{scrbook}

\usepackage{fontspec}
\newfontfamily\lelong{Latino Elongated LET}
\newfontfamily\lelongsc[SmallCapsFeatures={Letters=SmallCaps}]{Latino Elongated LET}

\begin{document}

\lelong \scshape Small capitals

\lelongsc \scshape Small capitals

\newfontinstance\scshape[Letters=SmallCaps]{Latino Elongated LET}

\lelong \scshape Small capitals

\end{document}

给我三行正常字符:

小写字母失败

我怎样才能获得小写字母?该字体可能缺少 sc 功能?

笔记:

第三次尝试(\newfontinstance)在日志中给出警告:

软件包 fontspec 警告:OpenType 功能“Letters=SmallCaps”(+smcp)不适用于 10.95pt 的字体“Latino Elongated LET Plain:1.0/ICU”,脚本为“Latin”,语言为“Default”。

答案1

该字体是 TrueType 字体,不具备“小型大写字母”功能。也就是说,该字体不具备任何小型大写字母。

答案2

你可以作弊:

\newcommand\fakesc[1]{\scalebox{0.7}{\MakeUppercase{#1}}}

需要注意的事项:

  • 这需要 graphicx 包
  • 范围内的大写字母fakesc会丢失。(尽管我确信某些 TeX-fu 可以修复这个问题……
  • 实际缩放量可能取决于所使用的具体字体......

答案3

我找到了一个更清洁的解决方案:

  • 在 fontforge 中打开 TTF;
  • 创建小型大写字母;
  • 将字体保存为 OTF;
  • 使用新字体;
  • 记住不要在 github 上分发非免费的修改字体 ;-)

相关内容