Возникает ошибка «Форма шрифта не определена» — объясните решение?

Возникает ошибка «Форма шрифта не определена» — объясните решение?

При компиляции документа возникает ошибка.

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

Не используйте пакеты textcompor gensymbдля устаревших кодировок tex с fontspec для шрифтов Unicode. –

Кодировка T1 содержит только 256 символов, поэтому была добавлена ​​кодировка TS1, чтобы разрешить дополнительный шрифт, позволяющий использовать еще 256 символов, но вы используете шрифты TeX Gyre в кодировке TU (Unicode), которые могут содержать несколько тысяч символов в шрифте, так что нет, они не только не нужны, но, как вы видите, вредны и нарушают настройку Unicode.

В последних выпусках Latex textcompон даже бесполезен в классических 8-битных Latex или pdflatex, поскольку по сути он предварительно загружен, а шрифты в кодировке TS1 доступны по умолчанию.

Связанный контент