XeLaTeX의 글꼴 사양에 작은 대문자가 있습니다.

XeLaTeX의 글꼴 사양에 작은 대문자가 있습니다.

Times with XeLaTeX를 사용하여 문서를 조판하려고 합니다. Times에는 작은 대문자가 포함되어 있지 않기 때문에 작은 대문자에만 TeX Gyre Termes를 사용하고 싶습니다. 나는 노력했다이 방법, 그러나 작동하지 않았습니다. 경고가 발행되고 생산량이 작은 대문자가 아닙니다.

질문:

  • 뭐가 잘못 되었 니?
  • 어떻게 해야 하나요?

MWE는 다음과 같습니다.

\documentclass{article}
\usepackage{fontspec}
\setmainfont[
  SmallCapsFont={TeX Gyre Termes},
  SmallCapsFeatures={Letters=SmallCaps},
]{Times}
\begin{document}
Hello!
\textsc{Hello!}
\end{document}

그리고 경고:

*************************************************
* fontspec warning: "aat-feature-not-exist-in-font"
* 
* AAT feature 'Letters=SmallCaps' (3,3) not available in font 'TeX Gyre
* Termes'.
*************************************************

내가 시도한 것:

  • LuaLaTeX로 조판을 시도했는데 경고 없이 결과가 괜찮았습니다.
  • 교체했는데 Times아무 Times New Roman문제 없었습니다.
  • 추가했더니 Renderer=ICU경고가 icu-feature-not-exist-in-font. Fontspec을 .dfontICU와 함께 사용할 수 있는 것 같나요 ?
  • Times다른 .dfont폰트 로 교체했더니 Helvetica Neue문제가 사라졌습니다. 따라서 모든 .dfont글꼴이 문제를 일으키는 것은 아닙니다....

저는 OS X Mountain Lion에서 MacTeX 2013을 사용하고 있습니다.

업데이트

@KhaledHosny의 제안에 따라 \the\XeTeXfonttype\fontbefore와 after 를 추가하려고 시도했는데 \textsc{둘 다 반환되었습니다 1(AAT 글꼴). (OpenType 글꼴) Render=ICU이 반환되었지만 작은 2대문자가 없습니다. XeTeX는 Times를 OpenType으로 처리할 수 있는 것 같지만 그래도 SmallCapsFeatures작동하지 않습니다.

답변1

나는 이것이 NFSS를 통해 달성될 수 있다는 것을 발견했습니다.

첫째, Times와 TeX Gyre Termes가 별도로 로드됩니다. 그런 다음 NFSS의 작은 대문자 정의를 덮어쓰므로 TeX Gyre Termes의 작은 대문자로 리디렉션됩니다.

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Times}

\newfontfamily\tgtermes{TeX Gyre Termes}
\makeatletter
  \begingroup
    \tgtermes
    \DeclareFontShape{\f@encoding}{\rmdefault}{m}{sc}{%
      <-> ssub * \f@family/m/sc}{}
    \DeclareFontShape{\f@encoding}{\rmdefault}{bx}{sc}{%
      <-> ssub * \f@family/bx/sc}{}
  \endgroup
\makeatother

\begin{document}

Hello!
\textsc{Hello!}

\end{document}

답변2

아마도 가장 쉬운 방법은 다음과 같습니다.

예제에서는크림슨 텍스트소문자는 없지만진홍하다. (여기서 사용된 척도는 이 경우 더 보기 좋은 출력과 관련이 있습니다.)

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Crimson Text}

\newfontinstance\scshape[Letters=SmallCaps,Scale=1.15]{Crimson}

\begin{document}
Text \textsc{Text}
\end{document}

언급된 대로 업데이트여기\newfontinstance더 이상 작동하지 않으며 로 대체되었습니다 \newfontfamily.

관련 정보