Ich war heute erstaunt über fehlendes Kerning in der Standardschrift zwischen Großbuchstaben und einem nachfolgenden Punkt oder Komma. Beispielsweise bei V, W, und T sollte der Punkt herangezogen werden, statt wegen wegen der "oberen Breite" so weit rechts vom unteren Ende entfernt zu stehen. Hier mein Testbeispiel:

\documentclass{article}
\begin{document}
DANTE e.V.
\end{document}

In der Ausgabe sieht man den Punkt sehr weit rechts stehen:

alt text

Mit Latin Modern Schrift sieht es auch so aus. In der "TeXnischen Komödie", der Mitgliedszeitschrift von DANTE e.V. ist das natürlich besser gemacht, selbst im Fließtext, wenn nicht das originale Logo verwendet wird. Wenn man eine Schrift wählt, welche dieses Kerning berücksichtigt, sieht das sofort besser aus, hier beispielsweise nach Einfügen von

\usepackage[bitstream-charter]{mathdesign}

In der Ausgabe steht der Punkt nun näher - auch wenn ich das schon wieder zu dicht finde:

alt text

Ganz ähnlich bei T. und W, und anderem, wie man sich schon vorstellen kann, wenn man den Beitrag hier im Webbrowser liest.

Nun lässt sich das wie gesagt durch Suche einer geeigneten Schriftart und Wechsel beheben. Das kommt nur nicht in Frage, wenn man sich auf eine Schrift festgelegt hat. Änderungen überall im Text auch nicht, ebensowenig Definieren von Makros für alle in Frage kommenden Worte mit folgendem Punkt oder Komma.

Kann man durch Befehle in der Präambel das Kerning von Zeichenpaaren ändern? Evtl. mit microtype oder durch Features von XeTeX oder LuaTeX? Selbst wenn es dann evtl. noch nicht mit Standardschriften geht, sondern OpenType?

gefragt 22 Jun '13, 21:32

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%

Mit microtype kann man für einzelne Glyphen mit \SetExtraKerning das Kerning verändern. Allerdings gilt das dann anders als bei einer professionellen Schrift, die das Kerning für Paare von Glyphen festlegt, überall für dieses Zeichen. Will heißen, egal ob Vl oder V., das extra-Kerning für V wäre beides mal dasselbe.

(22 Jun '13, 21:45) cgnieder

Manuell kernen kannst du immer: DANTE e.V\kern-1pt.

(22 Jun '13, 21:49) Johannes

@Clemens Danke, das microtype-Feature kommt dann wohl nicht in Frage, wenn es nicht auf Paare zuzuordnen ist.

(22 Jun '13, 21:56) Felix

@Johannes Manuell krieg ich auch hin, und würde das dann gleich durch ein Makro \DANTE tun, nur muss man das natürlich für weitere Zeichenkombinationen tun: T., T, W., W, \Gamma., ... falls weitere Kerningprobleme der Art auffallen, daher interessiert mich eine Lösung durch Schrift-Feature-Anpassung. Hab gehört, mit XeTeX oder LuaTeX wäre viel möglich.

(22 Jun '13, 22:04) Felix

Eigentlich weiß ich nicht, was ich hier tue, da ich das Beispiel mehr oder weniger von einem ähnlichen Fall kopiert habe: fontspec erlaubt das Laden von Feature-Dateien. Das folgende Beispiel definiert eine Feature-Datei mykern.fea, die ein zusätzliches Kerning zwischen „V“ und „.“ (und nur zu Demo-Zwecken auch zwischen „D“ und „A“) festlegt. Wofür die ersten beiden Zeilen in dieser Datei da sind, weiß ich nicht, die habe ich einfach übernommen. Wer es weiß, fühle sich frei, diese Antwort zu editieren und die Information zu ergänzen.

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{mykern.fea}
languagesystem DFLT dflt;
languagesystem latn dflt;
feature kern {
pos \V \. -200;
pos \D \A -150;
} kern;
\end{filecontents*}

\usepackage{fontspec}
\setmainfont[FeatureFile=mykern.fea]{Latin Modern Roman}

\begin{document}
DANTE e.V.
\end{document}

Kompiliert mit LuaLaTeX ergibt das

Ergebnis

Permanenter link

beantwortet 22 Jun '13, 22:09

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 22 Jun '13, 22:10

Ich gehe davon aus, dass die Zahlenwerte Tausendstel eines em sind.

(22 Jun '13, 22:13) cgnieder

Genau die frage wollte ich gerade stellen, im Manual steht es entweder nicht, oder ich habs überlesen. Falls es jemand findet, bitte melden.

(22 Jun '13, 22:16) Johannes

Die Spezifikation könnt ihr in http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html nachlesen. Und die Zahlenangabe bezieht sich in der Tat auf 1000stel em

(22 Jun '13, 22:21) Herbert

@Herbert Danke! Ich hatte die Seite gerade gefunden und angefangen zu schmökern :)

(22 Jun '13, 22:22) cgnieder

Vergleiche hiermit:

\documentclass{article}
\usepackage{libertine}
\usepackage{dtklogos}

\begin{document}
DANTE e.V.\par
\dante
\end{document}

alt text

Für pdflatex kannst du dir einen virtuellen Font erstellen und darin das spezielle Kerning vorsehen, was im Prinzip einer feature-Datei bei OpenType-Schriften entspricht. Siehe Clemens' Antwort.

Permanenter link

beantwortet 22 Jun '13, 21:55

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

bearbeitet 22 Jun '13, 22:17

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×78
×5

gestellte Frage: 22 Jun '13, 21:32

Frage wurde gesehen: 15,201 Mal

zuletzt geändert: 22 Jun '13, 22:22