「フォントの形状が未定義です」というエラーが発生します - 解決策を教えてください。

「フォントの形状が未定義です」というエラーが発生します - 解決策を教えてください。

ドキュメントをコンパイルするときにエラーが発生します。

Font shape `TS1/TeXGyreTermes(0)/m/n' undefined
(Font)  using `TS1/cmr/m/n' instead.

ドキュメントが正しくコンパイルされるのを妨げているわけではありませんが、この警告が表示されるのは本当に迷惑です。
私はすでに、以下のコマンドで修正できることを発見しました。上記の\DeclareFontFamilySubstitution{TS1}{\rmdefault}{udidot}古いパッケージのドキュメントを参照してください。substitutefontここ

この MWE を使用すると、エラーを再現できます。

\documentclass{scrreprt}

\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}

\usepackage{gensymb}
\usepackage{textcomp}
\usepackage{scrlayer-scrpage}


\begin{document}

asdf

\end{document}


ご覧のとおり、これはツリー パッケージの組み合わせから発生しており\usepackage{gensymb} \usepackage{textcomp}\usepackage{scrlayer-scrpage}
のみを使用するとgensymb警告が表示されます。

Not defining \perthousand.
Not defining \micro.

これはパッケージの使用で修正できますtextcompが、これにより初期エラーが発生します。
なぜこれが発生するのか、コマンドは\DeclareFontFamilySubstitution{TS1}{\rmdefault}{udidot}実際に何を実行しているのかを誰か説明してもらえますか?

答え1

Unicode フォントの fontspec を使用したレガシー TEX エンコーディングには、textcompまたはパッケージを使用しないでください。 –gensymb

T1 エンコーディングには 256 文字しかないため、追加のフォントを許可してさらに 256 文字を許可する TS1 エンコーディングが追加されましたが、フォントに数千文字を含めることができる TU (Unicode) エンコードされた TeX Gyre フォントを使用しているため、それらは必要ないだけでなく、おわかりのように有害であり、Unicode 設定を破壊します。

最近の LaTeX リリースでは、textcomp基本的にプリロードされており、TS1 エンコードされたフォントがデフォルトで使用できるため、従来の 8 ビット LaTeX または pdflatex でも役に立ちません。

関連情報