我正在将 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 上分发非免费的修改字体 ;-)