我如何知道当前的字体编码?

我如何知道当前的字体编码?

我如何知道当前的字体编码?我知道字体编码列表保存在 \cdp@list宏中。最后一个元素\cdp@list通常是有效编码,但这并不总是正确的;例如,\setlanguage可能会切换当前编码。

实际上,我想区分 EU1 或 EU2 字体编码与非 Unicode 编码有效的情况。

答案1

该宏\f@encoding总是扩展为当前编码:

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\makeatletter
\newcommand{\printenc}{the current encoding is~\texttt{\f@encoding}}
\makeatother

\begin{document}
Text in English: \printenc

\foreignlanguage{russian}{Какой-то осмысленный текст: \printenc}

English again: \printenc

\begin{otherlanguage}{russian}
Какой-то осмысленный текст: \printenc
\end{otherlanguage}
\end{document}

在此处输入图片描述

就 XeLaTeX 和 LuaLaTeX 而言,编码应始终分别为EU1EU2,除非您混合使用字体,但这并不推荐。

相关内容