Eigene kontextsensitive Alternativen definieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Eigene kontextsensitive Alternativen definieren

Re: Eigene kontextsensitive Alternativen definieren

von gyps_ruepelli » Sa 20. Jul 2024, 15:29

Hallo in die Runde,

Ich habe nochmal ein bisschen rumgefrickelt und habe jetzt eine Lösung für mein Problem gefunden. Das erfordert allerdings den Umstieg auf LuaLaTeX. Hier das entsprechende Minimalbeispiel.
\documentclass{article}
\usepackage{fontspec}
\directlua{
  fonts.handlers.otf.addfeature{
    name = "trix",
    type = "chainsubstitution",
    lookups = {
      {
        type = "substitution",
        data = {
          ["f.DEU"] = "f.short",
        },
      },
    },
    data = {
      rules = {
        {
          after  = { { "f.short" , "k", "e" , "o" , "D" , "h", "i" } },
          current = { { "f.DEU" } },
          lookups = { 1 },
        },
      },
    },
  }
}
\setmainfont{EB_Garamond_Regular.otf}[
      RawFeature=+trix,
      Language=German]


\begin{document}

AfD

\end{document}

Eigene kontextsensitive Alternativen definieren

von gyps_ruepelli » Sa 13. Jul 2024, 23:20

Hallo in die Runde,

Ich grüble gerade über folgendem Problem. Ich layoute gerade ein Manuskript in EB Garamond, in dem die Abkürzung "AfD" vorkommt. Und nun ist es so, dass das kleine "f", das in EB Garamond relativ breit ist, auf unschöne Weise mit dem folgenden "D" verschmilzt und sozusagen eine Pseudoligatur bildet. Das möchte ich gerne verhindern. Dafür hat EB Garamond eine schmalere Glyphe für das kleine "f", die auch in bestimmten, kontextsensitiven Fällen benutzt wird, beispielsweise in der Kombination "fä" (Stichwort "kontextsensitive Alternativen" - Obtion "calt" in otf- und ttf-Fonts). Ich würde LaTeX bzw. XeLaTeX gerne beibiegen, dass es im Falle der Buchstabenkombination "fD" das kürzere "f" benutzen soll. Ich habe auch schon herausbekommen, wie der Code aussehen müsste, der zum gewünschten Ergebnis führt (siehe Minimalbeispiel). Was mir nur fehlt ist ein Befehl, der XeLaTeX ganz zu Anfang oder in der Präambel sagt "wenn Du 'fD' findest, nimm' das schmalere kleine 'f'".

Hier mein Minimalbeispiel: Die erste Zeile enthält die Abkürzung "AfD" mit der unerwünschten "Pseudoligatur". Die zweite Zeile die Version mit dem schmaleren kleinen "f."

Die letzte Zeile zeigt, dass XeLaTeX bei der Verwendung von "fä" automatisch das schmalere kleine "f" nutzt.
\documentclass{article}
\usepackage{fontspec}
\setmainfont{EBGaramond}

\begin{document}

AfD

A\XeTeXglyph\the\XeTeXglyphindex "f.short" D

gefährlich fahren

\end{document}
Kann mir jemand erklären, wie ich meinen gewünschten Satz bekomme?

Nach oben