Necesito crear un documento usando algunas fuentes. Se utilizarán dos o tres metafont
fuentes para la mayor parte del documento en un idioma latino, y luego necesito usar otra fuente para un idioma del sudeste asiático (probablemente una fuente TrueType o similar, ya que no puedo encontrar ninguna basada en TeX). fuentes que funcionan con idiomas del sudeste asiático). Según tengo entendido, puedo combinar fuentes con bastante facilidad para idiomas latinos:
\documentclass{book}
\usepackage[T1]{fontenc}
\begin{document}
Regular {\fontfamily{pzc}\selectfont and special} fonts.
\end{document}
me da el efecto deseado:
pero tan pronto como agrego fontspec
, que es requerido por polyglossia
, la fuente Zapf Chancery ( pzc
) ya no funciona:
\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}
produce:
¿Hay alguna manera de evitar este problema? Para ser claro, yopensarDebo utilizar polyglossia
los idiomas del sudeste asiático, ydebeUtilice metafont
también varias fuentes.
Respuesta
Como lo señalaUlrike Fischer, y aclarado aún más poregreg, \fontencoding
debe especificarse cuando se usan fuentes de metafuente fontspec
porque este último espera EU1
mientras que el primero necesita T1
(estoy resumiendo por lo que entiendo fontencoding
, que no es mucho).
\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}
produce la salida correcta:
Respuesta1
A menudo puedes encontrar sustitutos OpenType/TrueType para las fuentes que necesitas y este es el caso de Zapf Chancery: hay un clon disponible como TeX Gyre Chorus. Pero también se pueden utilizar fuentes nativas TeX/Metafont: a continuación se muestra un ejemplo con la fuente 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}
Lo que \textdurm{ABCDE}
hace es, esencialmente,
{\fontencoding{OT1}\fontfamily{durm}\selectfont ABCDE}
y \fontencoding{OT1}
(o \fontencoding{T1}
) es lo que te faltaba, porque la codificación predeterminada con XeLaTeX y fontspec
es EU1
.