T1 글꼴 인코딩의 경우 일부 xunicode 매크로를 비활성화하시겠습니까?

T1 글꼴 인코딩의 경우 일부 xunicode 매크로를 비활성화하시겠습니까?

inputenc나는 / fontenc대 를 제외하고 에 인코딩된 fontspec오래된 파일을 , 또는 엔진 에서 아무것도 변경하지 않고 사용할 수 있기를 바랐습니다 ..texUTF-8pdftexxetexluatex

그러나 다음 MWE는 , , , 및 : xunicode등의 일부 공개 매크로 때문에 그렇지 않다는 점을 지적합니다 . 이렇게 짧고 대중적인 매크로 이름이 이 패키지에서 선택되었다는 점은 아쉽습니다 !\m\B\G\M\T\U

\documentclass{article}
\usepackage{expl3}
\ExplSyntaxOn
\pdftex_if_engine:TF
{
  \show\m
  \show\B
  \show\G
  \show\M
  \show\T
  \show\U
}
{
  \usepackage{fontspec}
  \show\m
  \show\B
  \show\G
  \show\M
  \show\T
  \show\U
}
\ExplSyntaxOff
\begin{document}
% \newcommand{\m}{}
% \newcommand{\B}{}
% \newcommand{\G}{}
% \newcommand{\M}{}
% \newcommand{\T}{}
% \newcommand{\U}{}
\end{document}

AFAIU, 이러한 매크로를 제외한 모든 매크로는 글꼴 인코딩 과 \T관련 이 있으며 .OT1\T\DeclareRobustCommand{\T}[1]{\~{\m{#1}}}

따라서 내 질문은 다음과 같습니다. 글꼴 인코딩의 경우 T1이러한 매크로를 안전하게 패치하여 비활성화할 수 있습니까( fontspec로드 직후)?

답변1

xunicode는 이러한 명령에 대해 일부 OT1 기본값도 설정하지만 주요 요점은 악센트 명령입니다. 예:

\DeclareEncodedCompositeCharacter{\UTFencname}{\M}{0322}{0322}  % (Combining retroflex hook below)

사용하지 않으면 자연스럽게 명령을 재정의할 수 있지만 악센트 명령에 "one-char-commands"를 사용하는 전통이 있으므로 명령에 그런 이름을 사용하지 않습니다.

관련 정보