Preciso criar um documento usando algumas fontes. Duas ou três serão metafont
fontes usadas para a maior parte do documento em um idioma baseado em latim, e então eu preciso usar outra fonte para um idioma do sudeste asiático (provavelmente uma fonte TrueType ou similar, pois não consigo encontrar nenhuma fonte baseada em TeX fontes que funcionam com idiomas do Sudeste Asiático). Pelo que entendi, posso combinar fontes facilmente para idiomas baseados em latim:
\documentclass{book}
\usepackage[T1]{fontenc}
\begin{document}
Regular {\fontfamily{pzc}\selectfont and special} fonts.
\end{document}
me dá o efeito desejado:
mas assim que adiciono o fontspec
, que é exigido pelo polyglossia
, a fonte Zapf Chancery( pzc
) não funciona mais:
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\thaifont{Norasi}
\setdefaultlanguage{english}
\setotherlanguage{thai}
\begin{document}
English regular {\fontfamily{pzc}\selectfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}
\end{document}
produz:
Existe alguma maneira de evitar esse problema? Para ser claro, eupensarDevo usar polyglossia
os idiomas do sudeste asiático edeveuse várias metafont
fontes também.
Responder
Como apontado porUlrike Fischer, e ainda elucidado poregrégia, \fontencoding
precisa ser especificado ao usar fontes metafont em fontspec
porque o último espera EU1
enquanto o primeiro precisa T1
(estou resumindo pelo que entendi sobre fontencoding
, o que não é muito).
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\thaifont{Norasi}
\setdefaultlanguage{english}
\setotherlanguage{thai}
\begin{document}
English regular {\fontencoding{T1}\fontfamily{pzc}\selectfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}
\end{document}
produz a saída correta:
Responder1
Muitas vezes você consegue encontrar substitutos OpenType/TrueType para as fontes que você precisa e este é o caso do Zapf Chancery: um clone está disponível como TeX Gyre Chorus. Mas também fontes TeX/Metafont nativas podem ser usadas: segue um exemplo com a fonte Dürer.
\documentclass{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\newfontfamily\thaifont{Sathu} % I don't have Norasi
\newfontfamily\specialfont{TeX Gyre Chorus}
\setmainlanguage{english}
\setotherlanguage{thai}
\usepackage{duerer} % for a MF font
\begin{document}
English regular {\specialfont and special} fonts.\\
\begin{thai}ตัวพิมพ์ภาษาไทย\end{thai}
\textdurm{ABCDE} % duerer has only uppercase
\end{document}
O que \textdurm{ABCDE}
significa é, essencialmente,
{\fontencoding{OT1}\fontfamily{durm}\selectfont ABCDE}
and \fontencoding{OT1}
(ou \fontencoding{T1}
) é o que estava faltando, porque a codificação padrão com XeLaTeX and fontspec
é EU1
.