¿Cuál es la diferencia entre los caracteres tipo guión #45 y #127 de la codificación T1?

¿Cuál es la diferencia entre los caracteres tipo guión #45 y #127 de la codificación T1?

¿Cuál es la diferencia entre los símbolos con índices decimales #45 y #127 de la codificación T1? El carácter 45 parece ser el guión normal, pero ¿qué pasa con el 127? El en-dash y el em-dash están en las posiciones 21 y 22, respectivamente.

Esta excelente respuesta a mi pregunta sobre qué ligaduras están contenidas en una fuente.me llamó la atención sobre este asunto. Según esto, TeX construirá una "ligadura" que parece un guión (presumiblemente #45 o #127) a partir de la secuencia de caracteres #45-#127. (¿Porque hace eso?)

Respuesta1

El carácter 127 (hexadecimal "7F) es un "guión saliente", como se demuestra fácilmente en el siguiente documento de prueba.

\documentclass{article}
\usepackage[T1]{fontenc}

\showboxbreadth=\maxdimen % show completely the box contents
\showboxdepth=\maxdimen   % at every inner level

\begin{document}
\setlength{\parindent}{0pt} % just for the example

\sbox0{\char"2D}\the\wd0

\sbox0{\char"7F}\the\wd0

a\char"2D b

a\char"7F b

\begingroup
\setlength{\fboxsep}{-\fboxrule}
\fbox{\char"2D}\quad\fbox{\char"7F}
\endgroup

\sbox0{\char"2D \char"7F }\showbox0

\end{document}

Aquí está la salida

ingrese la descripción de la imagen aquí

Es evidente que el guión normal es ligeramente asimétrico con respecto a su cuadro delimitador y que el "guión que sobresale" tiene la mayor parte del mismo.afuerasu cuadro delimitador.

Al configurar \hyphenchar\font="7F(cuando la fuente actual está codificada en T1) se obtienen estas consecuencias

  1. Los guiones explícitos (el carácter normal "2D) no insertarán discrecionales, ni tampoco las ligaduras que comiencen con él.

  2. El algoritmo de separación de palabras, cuando se aplica, utilizaría el "guión saliente".

  3. Si el lenguaje establece reglas de separación de palabras en las que el guión normal se puede utilizar como punto de interrupción, no habría dos caracteres: los -seguidos del "guión saliente" agregado por el procedimiento de separación de palabras se fusionarían en un único guión saliente.

El último punto se realiza mediante la segunda ligadura.

(LABEL O 55)
(LIG O 55 O 25)
(LIG O 177 O 177)
(STOP)

perteneciente al carácter "octal 55" (es decir, decimal 45 y hexadecimal "2D), que se muestra en el último bit del ejemplo. El archivo de registro informa

> \box0=
\hbox(4.3045+0.0)x1.66626
.\T1/cmr/m/n/10 ^^? (ligature -^^?)

Este carácter fue incluido en la codificación T1 cuando ni siquiera se soñaba con rasgos microtipográficos (1990); Hasta donde yo sé, nunca ha sido realmente explotado. VerArtículo de M. Ferguson sobre el remolcadorpara más información.

información relacionada