Caron Accent \v{a}는 \usepackage{xeCJK} 없이 렌더링되지 않습니다.

Caron Accent \v{a}는 \usepackage{xeCJK} 없이 렌더링되지 않습니다.

이상한 문제가 발생했습니다. 다음과 같은 합성 캐릭터를 만들고 싶습니다.?패키지를 사용합니다 newunicodechar. 그러나 패키지와 결합해야만 결과를 얻을 수 있습니다 xeCJK.

이 코드는 누락된 문자를 생성합니다.

\documentclass[a4paper,12pt,article,oneside]{memoir}
\usepackage{fontspec}
\usepackage{xunicode}

\usepackage[british]{babel}

\setmainfont[Ligatures=TeX]{Minion Pro}

\usepackage{newunicodechar}
\newunicodechar{ǚ}{\v{ü}}
\newunicodechar{Ǚ}{\v{Ü}}
\newunicodechar{ǎ}{\v{a}}
\newunicodechar{Ǎ}{\v{A}}
\newunicodechar{ǒ}{\v{o}}
\newunicodechar{Ǒ}{\v{O}}


\begin{document}

ǚ Ǚ ǎ


\end{document}

패키지 를 로드하면 xeCJK문자가 제대로 렌더링됩니다. 왜 그런 겁니까? 명명된 패키지 없이 복합 문자를 생성하는 방법은 무엇입니까?

메모:

  • 이는 유니코드 문자를 포함하지 않는 다른 글꼴(예: Adobe Garamond Pro)로 재현 가능합니다.
  • 미니언 프로포함되어 있습니다카론 문자(유니코드 02C7, 인덱스 136)

답변1

기본 설정에서는 유니코드 U+02C7을 사용하지 않지만 글꼴에 없는 결합 악센트 U+030C를 사용합니다. xecjk에는 U+02C7을 대신 사용하는 일부 코드가 포함되어 있지만 xunicode도 로드된 경우에만 이 코드를 사용하는 것 같습니다. 일반적으로 더 이상 사용하면 안 되기 때문에 약간 고통스럽습니다.

를 사용하여 xeCJK 코드를 복제할 수 있습니다 \add@accent. 결합 악센트가 있는 글꼴이 더 많이 포함된 경우 문자 모양 존재 여부를 추가로 확인해야 할 수도 있습니다.

\documentclass[a4paper,12pt,article,oneside]{memoir}

\usepackage{fontspec}
\usepackage[british]{babel}

\setmainfont[Ligatures=TeX]{MinionPro-Regular.otf}

\usepackage{newunicodechar}
\makeatletter

\newunicodechar{ǚ}{\add@accent{`^^^^02c7}{ü}}
\newunicodechar{Ǚ}{\add@accent{`^^^^02c7}{Ü}}
\newunicodechar{ǎ}{\add@accent{`^^^^02c7}{a}}
\makeatother
%\newunicodechar{Ǎ}{\v{A}}
%\newunicodechar{ǒ}{\v{o}}
%\newunicodechar{Ǒ}{\v{O}}
%
\begin{document}
abc 

ǚ Ǚ ǎ

\end{document}

여기에 이미지 설명을 입력하세요

답변2

기반Egreg의 속임수, 이것은 \accent프리미티브를 사용합니다. 나는 단순히 재정의하기로 결정했습니다 \v.

\documentclass{standalone}
\usepackage{fontspec, newunicodechar}

\usepackage[british]{babel}

\setmainfont[Ligatures=TeX]{Cardo}

\renewcommand\v[1]{\accent\string"02C7 #1}

\newunicodechar{ǚ}{\v{ü}}
\newunicodechar{Ǚ}{\v{Ü}}
\newunicodechar{ǎ}{\v{a}}
\newunicodechar{Ǎ}{\v{A}}
\newunicodechar{ǒ}{\v{o}}
\newunicodechar{Ǒ}{\v{O}}

\begin{document}

ǚ Ǚ ǎ Ǎ ǒ Ǒ

\end{document}

│ │ │ │ │ │ │ │

저는 카론 악센트가 포함된 일반적인 글꼴로 Cardo를 선택했지만 미리 구성된 ē는 포함하지 않았습니다.

관련 정보