Was ist der Unterschied zwischen den bindestrichähnlichen Zeichen #45 und #127 aus der T1-Kodierung?

Was ist der Unterschied zwischen den bindestrichähnlichen Zeichen #45 und #127 aus der T1-Kodierung?

Was ist der Unterschied zwischen den Symbolen mit den Dezimalindizes #45 und #127 aus der T1-Kodierung? Zeichen #45 scheint der normale Bindestrich zu sein, aber was ist mit #127? Der Halbgeviertstrich und der Geviertstrich stehen an den Positionen #21 bzw. #22.

Diese hervorragende Antwort auf meine Frage, welche Ligaturen in einer Schriftart enthalten sindhat mich auf diese Angelegenheit aufmerksam gemacht. Demnach wird TeX aus der Zeichenfolge #45-#127 eine „Ligatur“ bilden, die wie ein Bindestrich aussieht (vermutlich entweder #45 oder #127). (Warum macht es das?)

Antwort1

Bei dem Zeichen 127 (hexadezimal "7F) handelt es sich um einen „hervorstehenden Bindestrich“, wie das folgende Test-Dokument leicht beweist.

\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}

Hier ist die Ausgabe

Bildbeschreibung hier eingeben

Es ist offensichtlich, dass der normale Bindestrich in Bezug auf seinen Begrenzungsrahmen leicht asymmetrisch ist und dass der „hervorstehende Bindestrich“ den größten Teil davon hatdraußensein Begrenzungsrahmen.

Durch die Einstellung \hyphenchar\font="7F(wenn die aktuelle Schriftart T1-kodiert ist) erhält man diese Konsequenzen

  1. Explizite Bindestriche (das normale Zeichen "2D) fügen keine bedingten Zeichen ein, ebenso wenig wie die Ligaturen, die mit diesem Zeichen beginnen.

  2. Der Silbentrennungsalgorithmus würde, wenn er angewendet würde, den „hervorstehenden Bindestrich“ verwenden.

  3. Wenn die Sprache Trennregeln festlegt, bei denen der normale Bindestrich als Trennzeichen verwendet werden kann, gäbe es nicht zwei Zeichen: Das Zeichen -gefolgt vom „hervorstehenden Bindestrich“, der durch das Trennverfahren hinzugefügt wurde, würde zu einem einzigen hervorstehenden Bindestrich zusammengeführt.

Der letzte Punkt wird durch die zweite Ligatur realisiert

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

bezogen auf das Zeichen "octal 55" (also dezimal 45 und hexadezimal "2D), das im letzten Bit des Beispiels gezeigt wird. Die Protokolldatei meldet

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

Dieses Zeichen wurde in die T1-Kodierung aufgenommen, als man noch nicht einmal davon träumte, mikrotypografische Merkmale zu verwenden (1990); meines Wissens wurde es nie wirklich genutzt. SieheM. Fergusons Artikel über TUGboatfür mehr Informationen.

verwandte Informationen