T1 フォント エンコーディングの場合、一部の xunicode マクロを無効にしますか?

T1 フォント エンコーディングの場合、一部の xunicode マクロを無効にしますか?

inputenc/fontencと を除いてfontspec、 でエンコードされた古い.texファイルは、 、、 のUTF-8いずれのエンジンでも何も変更せずに使用できることを期待していました。pdftexxetexluatex

しかし、次の 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}

私の知る限り、 を除くすべてのマクロはフォント エンコーディング\Tに関係し、として定義されます。OT1\T\DeclareRobustCommand{\T}[1]{\~{\m{#1}}}

そこで私の質問は、フォント エンコーディングの場合T1、これらのマクロを安全にパッチして無効にすることは可能でしょうか (ロード直後fontspec)?

答え1

xunicode はこれらのコマンドに対して OT1 のデフォルトも設定しますが、主なポイントはアクセントコマンドです。例:

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

使用しない場合は当然コマンドを再定義できますが、アクセント コマンドには「1 文字のコマンド」を使用する慣習があるため、コマンドにそのような名前を使用することはありません。

関連情報