xpinyin 글꼴 변경

xpinyin 글꼴 변경

xpinyin한자 위에 중국어 발음 문자인 병음을 표시하기 위해 패키지를 사용하고 있습니다 . 잘 되는 것 같은데, 발음 기호의 글꼴을 변경하고 싶습니다. 에서 일부 코드를 찾았습니다.패키지 문서, 그 중 하나는 중국어로만 제공됩니다.

\xpinyinsetup{ratio=0.5, vsep=1em, multiple={\color{red}}, font=Liberation Sans}

문서에 있는 중국어는 여전히 나에게 너무 높은 수준이므로 다음과 같은 역할을 한다고 추측할 수 있습니다.

  1. 병음 할을 기본 글꼴 크기로 만듭니다.
  2. 1em의 수직 분리, 병음은 아래 한자와 1em로 분리됩니다.
  3. 한 문자에 여러 병음이 있는 경우(多字) 병음이 가장 가능성이 높은 병음이 되며 빨간색으로 표시됩니다.
  4. 글꼴을 사용하다Liberation Sans

Liberation그런데 단순히 와 사이에 공백을 남겨도 되는지 모르겠습니다 Sans. 주요 문제는 다음과 같은 결과입니다.

보컬이 없어

(이 사진에서는 가독성이 좋을 만큼 짧은 이름이라 사용했습니다 Arial.) 그래서 '이건 폰트 문제인가'라고 생각했습니다. Liberation Sans누락된 보컬을 톤과 함께 표시할 수 있는지 확인하기 위해 Libre Office에서 해당 글꼴을 사용해 보았습니다 . 글꼴 변경을 표시하지 않고 표시할 수 있었지만 이 정보를 숨기는지는 알 수 없으며 글꼴이 실제로 해당 보컬을 표시할 수 없는 것일 수도 있습니다.

또한 글꼴 이름이 음성 문자에 어떻게 추가되었는지 확인하세요. 이는 의도적인 것일 수도 있지만 오히려 버그처럼 보입니다. 그래도 문서를 이해하지 못합니다.

첫 번째 문자의 음성 스크립트에 글꼴 이름이 없어도 xpinyin이 올바르게 표시되도록 하려면 어떻게 해야 합니까?

다음은 몇 가지 예제 코드입니다.

\documentclass[10pt, a4paper, parskip=full]{article} % twoside can be added if two sided margin layout is desired
\usepackage[a4paper,vmargin={30mm, 20mm},hmargin={30mm, 25mm},includeheadfoot]{geometry}
\usepackage{amsmath}

\usepackage[UTF8]{ctex}
\usepackage{xpinyin}
\xpinyinsetup{ratio=0.5, vsep=1em, multiple={\color{red}}, font=Liberation Sans}

\usepackage{fontspec,xunicode}
\setCJKmainfont[]{WenQuanYi Micro Hei}

\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase} % what does this do? -- influences how quotes are rendered
\setmainfont[Scale=1]{Open Sans}
\setmonofont{Liberation Mono}
\DeclareMathSizes{10}{10}{8}{7}

\usepackage[english, ngerman]{babel}
\selectlanguage{ngerman}

\begin{document}

\begin{pinyinscope}
我有一个送给你的礼物.
\end{pinyinscope}

\end{document}

답변1

해결 방법을 찾았으며 아마도 이것이 해결책으로 보일 수 있습니다.

\usepackage{xpinyin}
\xpinyinsetup{ratio={.7}, hsep={.5em plus .1em}, vsep={1.1em}, multiple={\color{red}}}

% redefine the pinyinscope environment, so that it uses a font which can display all pinyin syllables and vocals with diacritics
\newenvironment{pinyinscopeboxed}%
{\setmainfont{DejaVu Sans}\begin{pinyinscope}}%
{\end{pinyinscope}\setmainfont{Open Sans}}

이렇게 하면 환경이 pinyinscopeboxed시작될 때마다 병음의 모든 발음 구별 부호를 표시할 수 있고 환경이 끝날 때마다 다른 글꼴로 다시 변경될 수 있는 글꼴로 변경됩니다. 특정 글꼴은 원하는 대로 구성해야 하며 변경하기 전에 기본 글꼴을 포함하는 변수를 사용한 다음 해당 변수를 사용하여 다시 전환하면 개선될 수 있지만 아직 어떻게 해야 할지 모르겠습니다. 이를 수행하는 방법이나 일반적인 솔루션을 개선하는 방법에 대한 제안에 감사드립니다.

font이는 또한 옵션을 사용하지 않기 때문에 글꼴 이름이 루비에 표시되는 버그 동작을 방지합니다 xpinyin.

편집#1

Qing Lee는 이를 수행하는 올바른 방법에 대해 나에게 말했습니다.

환경을 갱신하지 말고 대신 패키지를 사용하는 경우 다음을 수행할 수 있습니다 fontspec.

\usepackage{fontspec}
\newfontfamily{\DVS}{DejaVu Sans}
\usepackage{xpinyin}
\xpinyinsetup{ratio={.7}, hsep={.5em plus .1em}, vsep={1.1em}, multiple={\color{red}}, pysep={.2em}, font=\DVS}

( 이외의 다른 값은 font=단지 예를 제공하기 위한 것입니다.)

관련 정보