Saltar al contenido

¿Cuándo se debe utilizar el paquete fontenc con pdflatex?

Solución:

No hay una respuesta sencilla para esto. O, mejor dicho, ya conoce la respuesta simple. En general, recomendaría

usepackage[T1]{fontenc}

a menos que sepa que necesita algo diferente. En general, esto dará buenos resultados que serán mejores que las alternativas en la mayoría de los casos.

Esto se debe a que la codificación T1 le proporcionará todo lo que le ofrece la codificación OT1 predeterminada, además de una amplia gama de caracteres acentuados previamente compuestos y algunos caracteres adicionales necesarios en varios idiomas de Europa occidental. Mientras tanto, el inglés será al menos tan bueno, posiblemente mejor, que con OT1.

Sin embargo, es posible alterar una codificación al crear un paquete de soporte de fuentes para que la codificación T1 o la codificación OT1 o lo que sea no sea exactamente igual a la oficial. Esto solo funciona de manera sencilla para ciertos tipos de personajes. En particular, funciona para ligaduras.

Esto significa que es posible agregar ligaduras adicionales en puntos en la codificación que de otra manera estarían vacíos o sustituirlos en puntos que de otra manera se usarían para otros caracteres (quizás para caracteres que la fuente no incluye de todos modos).

El resultado de esto es que

usepackage[<encoding>]{fontenc}

puede que no te entienda exactamente <encoding>. Puede obtener una versión pirateada de <encoding>.

Los archivos de soporte de fuentes para libertine el paquete se produce utilizando el autoinst script que se puede configurar para utilizar ranuras vacías en una codificación para ligaduras adicionales. Cuando las fuentes se preparan de esta manera, las ranuras no se reasignarán a las ligaduras, pero si una codificación tiene ranuras vacías, estas pueden usarse para ligaduras más allá de las que normalmente admite la codificación.

Aquí hay una línea de mapeo del .map fragmento de archivo para el paquete

LinLibertineT-tlf-ot1--base LinLibertineT "AutoEnc_c7kyj5lv7lwhdgytk3lalexyxf ReEncodeFont" <[lbtn_c7kyj5.enc <LinLibertineT.pfb

lbtn_c7kyj5.enc es el archivo de codificación que está usando la línea. Cuando examinamos, en este archivo, encontramos

%00
  /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon
  /Phi /Psi /Omega /.notdef /.notdef /.notdef /.notdef /.notdef

y

%80
  /f_i /f_f_i /f_f /f_l /f_f_l /f_b /f_h /f_j
  /f_k /f_t /t_t /Q_u /T_h /f_f_h /f_f_j /f_f_k
%90
  /f_f_t /exclamdbl /question_question /question_exclam /exclam_question /ellipsis /.notdef /.notdef
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef

En contraste, aquí están las partes correspondientes de 7t.enc que corresponde a la codificación estándar OT1:

%00
  /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon
  /Phi /Psi /Omega /ff /fi /fl /ffi /ffl

y

%80
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%90
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef

Obviamente, esta no es la codificación OT1 estándar.

Aquí, autoinst ha utilizado ranuras en la codificación más allá de 128. Es decir, esencialmente trata la codificación como 8 bits (256 ranuras) en lugar de 7 bits (128 ranuras), mientras que las codificaciones TeX originales eran todas de 7 bits (128 ranuras), incluido OT1 .

Sin embargo, la codificación T1 ya es una codificación de 8 bits (256 ranuras). Además, no tiene una sola ranura de repuesto. Por eso, autoinst no se pueden asignar ligaduras adicionales a las ranuras de repuesto porque no hay ninguna.

Por el contrario, la codificación LY1 es una codificación de 8 bits con algunas ranuras de repuesto. En este caso, autoinst asigna ligaduras adicionales a las ranuras de repuesto hasta que se agota el suministro de ranuras. Esto significa que utiliza algunas de las ligaduras adicionales, pero no todas. En particular, el fj ligadura trabaja con esta codificación, mientras que la Th y Qu las ligaduras no.

LY1

La única respuesta real aquí es que debe elegir la codificación que mejor se adapte a sus necesidades. Lo que depende del contenido de su documento y, en algunos casos inusuales, los detalles de las codificaciones pirateadas utilizadas por las fuentes que carga.

A sugerencia de David, convertiré mi comentario en una respuesta.

Primero: Las respuestas anteriores, con respecto a la codificación y modificación de fuentes, funcionan. Hace unos años modifiqué manualmente la codificación LY1 para que se adaptara a la ligadura “Th”, y también introduje una forma alternativa del em-dash, utilizando la fuente Adobe Garamond Pro. Funcionó muy bien, pero es tedioso.

El método más moderno es olvidarse fontenc y OT1. Cambie a LuaTeX. La mayoría de los paquetes que funcionan con pdfLaTeX ordinario también funcionan con LuaTeX, de inmediato, sin ningún esfuerzo especial.

Con LuaTeX, y con todo el texto en utf-8, el fontspec El paquete maneja las fuentes TrueType y Open Type directamente. Si las ligaduras deseadas son parte del conjunto de características “liga” (ligaduras estándar) de una fuente, entonces se habilitarán automáticamente. Si en cambio son ligaduras “discrecionales” (función dlig) entonces es fácil solicitarlas.

No necesitas saber nada sobre LuaTeX o el lenguaje Lua. El trabajo pesado se realiza en segundo plano. Eche un vistazo al fontspec documentación del paquete, para ver qué puede hacer. Si realiza una prueba de funcionamiento, asegúrese de especificar que desea las ligaduras TeX (descritas en fontspec) para que su entrada de texto anterior sea compatible.

Una vez que descubra esto, nunca volveré a usar los métodos anteriores a LuaTeX.

También funciona con XeTeX (pero resulta que necesito algo que XeTeX no puede hacer).

EDITAR: MWE agregado

% !TeX program = LuaLaTeX
% !TeX encoding = UTF-8
documentclass{article}
RequirePackage{fontspec}
title{MWE}
setmainfont{Adobe Garamond Pro}
begin{document}
“This is a baffling fjord,” said Sven.
end{document}

Resultado: observe que las ligaduras Th ffl y fj están allí. También tenga en cuenta que las comillas rizadas ordinarias se escribieron en el documento, ya que comprende utf-8. Si intenta esto con libertine, asegúrese de solicitar “Linux Libertine O” (vea esa O mayúscula) como fuente.

resultado del código

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *